protomol/0040755027616700000500000000000010237151532012014 5ustar pbrenne1dipprotomol/applications/0040755027616700000500000000000010237151524014503 5ustar pbrenne1dipprotomol/applications/coulomb-app/0040755027616700000500000000000010237151523016720 5ustar pbrenne1dipprotomol/applications/coulomb-app/.cvsignore0100644027616700000500000000005710237151523020717 0ustar pbrenne1dip*.o *.il Makefile.in Makefile coulomb ti_files protomol/applications/coulomb-app/Makefile.am0100644027616700000500000000301410237151523020747 0ustar pbrenne1dip# -*- makefile -*- # # See the LICENSE file in the top level directory for license # information AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies bin_PROGRAMS = coulomb P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_COULOMB_SRC = \ coulomb.cpp\ registerForceExemplars.cpp\ registerIntegratorExemplars.cpp\ registerOutputExemplars.cpp\ registerTopologyExemplars.cpp P_COULOMB_H =\ registerForceExemplars.h\ registerIntegratorExemplars.h\ registerOutputExemplars.h\ registerTopologyExemplars.h ## Coulomb coulomb_SOURCES = $(P_COULOMB_SRC) $(P_COULOMB_H) coulomb_DEPENDENCIES = $(P_BASE)/libbase.a $(P_IO)/libio.a $(P_PARALLEL)/libparallel.a $(P_TOPOLOGY)/libtopology.a $(P_FORCES)/libforces.a $(P_INTEGRATORS)/libintegrators.a $(P_FRONTEND)/libfrontend.a INCLUDES =-I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_INTEGRATORS) -I$(P_FRONTEND) coulomb_LDADD =-L$(P_BASE) -L$(P_IO) -L$(P_PARALLEL) -L$(P_TOPOLOGY) -L$(P_FORCES) -L$(P_INTEGRATORS) -L$(P_FRONTEND) -lfrontend -lintegrators -lforces -ltopology -lparallel -lio -lbase @SOCKET_LIBS@ @FFT_LIBS@ SOURCEFILES = $(coulomb_SOURCES) #include $(top_srcdir)/Makefile.depend protomol/applications/coulomb-app/Makefile.in0100644027616700000500000002525410237151523020772 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # -*- makefile -*- # # See the LICENSE file in the top level directory for license # information SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies bin_PROGRAMS = coulomb P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_COULOMB_SRC = \ coulomb.cpp\ registerForceExemplars.cpp\ registerIntegratorExemplars.cpp\ registerOutputExemplars.cpp\ registerTopologyExemplars.cpp P_COULOMB_H = \ registerForceExemplars.h\ registerIntegratorExemplars.h\ registerOutputExemplars.h\ registerTopologyExemplars.h coulomb_SOURCES = $(P_COULOMB_SRC) $(P_COULOMB_H) coulomb_DEPENDENCIES = $(P_BASE)/libbase.a $(P_IO)/libio.a $(P_PARALLEL)/libparallel.a $(P_TOPOLOGY)/libtopology.a $(P_FORCES)/libforces.a $(P_INTEGRATORS)/libintegrators.a $(P_FRONTEND)/libfrontend.a INCLUDES = -I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_INTEGRATORS) -I$(P_FRONTEND) coulomb_LDADD = -L$(P_BASE) -L$(P_IO) -L$(P_PARALLEL) -L$(P_TOPOLOGY) -L$(P_FORCES) -L$(P_INTEGRATORS) -L$(P_FRONTEND) -lfrontend -lintegrators -lforces -ltopology -lparallel -lio -lbase @SOCKET_LIBS@ @FFT_LIBS@ SOURCEFILES = $(coulomb_SOURCES) subdir = applications/coulomb-app mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = bin_PROGRAMS = coulomb$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) am__objects_1 = coulomb.$(OBJEXT) registerForceExemplars.$(OBJEXT) \ registerIntegratorExemplars.$(OBJEXT) \ registerOutputExemplars.$(OBJEXT) \ registerTopologyExemplars.$(OBJEXT) am__objects_2 = am_coulomb_OBJECTS = $(am__objects_1) $(am__objects_2) coulomb_OBJECTS = $(am_coulomb_OBJECTS) coulomb_LDFLAGS = DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(coulomb_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(coulomb_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign applications/coulomb-app/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ rm -f $(DESTDIR)$(bindir)/$$f; \ done clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) coulomb$(EXEEXT): $(coulomb_OBJECTS) $(coulomb_DEPENDENCIES) @rm -f coulomb$(EXEEXT) $(CXXLINK) $(coulomb_LDFLAGS) $(coulomb_OBJECTS) $(coulomb_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: $(mkinstalldirs) $(DESTDIR)$(bindir) install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-binPROGRAMS install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-binPROGRAMS uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic distclean distclean-compile distclean-generic \ distclean-tags distdir dvi dvi-am info info-am install \ install-am install-binPROGRAMS install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/applications/coulomb-app/coulomb.cpp0100644027616700000500000004221410237151523021064 0ustar pbrenne1dip#include "ConfigurationReader.h" #include "InputPosVel.h" #include "PARReader.h" #include "PSFReader.h" #include "TimerStatistic.h" #include "TopologyFactory.h" #include "ForceFactory.h" #include "IntegratorFactory.h" #include "OutputFactory.h" #include "registerForceExemplars.h" #include "registerIntegratorExemplars.h" #include "registerTopologyExemplars.h" #include "registerOutputExemplars.h" #include "OutputCollection.h" #include "Parameter.h" #include "ScalarStructure.h" #include "Parallel.h" #include "ModifierRemoveLinearMomentum.h" #include "ModifierRemoveAngularMomentum.h" #include "buildTopology.h" #include "pmconstants.h" #include "inputValueDefinitions.h" #include "mathutilities.h" #include "parseCommandLine.h" #include "protomol.h" #include "stringutilities.h" #include "systemutilities.h" #include "topologyutilities.h" using namespace ProtoMol; using namespace ProtoMol::Report; using namespace ProtoMol::Constant; using std::endl; using std::string; using std::vector; //_____________________________________________________________________ protomol int main(int argc, char **argv) { // Redirect all output to a file //std::ofstream out("out.txt"); //report.setStream(&(out)); // Redirect all output to std::cout //report.setStream(&(std::cout)); Parallel::init(argc,argv); TimerStatistic::timer[TimerStatistic::WALL].start(); report << plain < > args = parseCommandLine(argc,argv,&config,registerForceExemplars); if(config.set(InputConfig::keyword,args)){ // Read config file ConfigurationReader configReader; if(!configReader.open(config[InputConfig::keyword])) report << error << "Can't open configuration file \'"<> config)) report << error << "Could not read configuration file \'"< pdbAtoms; if(reader.tryFormat(InputPosVelType::PDB)){ PDB pdb; if(!(reader >> pdb)) report << error << "Could not parse PDB position file \'"<> positions)) report << error << "Could not parse position file \'"<> velocities)) report << error << "Could not parse velocity file \'"<> psf)) report << error << "Could not parse PSF file \'"<> par)) report << error << "Could not parse PAR file \'"< parameters = prototype->getDefaults(positions); for(unsigned int i=0;i= 0){ report << plain << "Removed linear momentum: " <= 0){ report << plain << "Removed angular momentum : " < 0){ integrator->bottom()->adoptPreDriftOrNextModifier(new ModifierRemoveLinearMomentum(config[InputRemoveLinearMomentum::keyword])); report << plain << "Removing linear momentum with STS frequency "< 0){ integrator->bottom()->adoptPreDriftOrNextModifier(new ModifierRemoveAngularMomentum(config[InputRemoveAngularMomentum::keyword])); report << plain << "Removing angular momentum with STS frequency "<time = (Real)config[InputFirststep::keyword]*integrator->getTimestep(); integrator->initialize(topo,&positions,&velocities,&scalar); outputs->initialize(&config,integrator,topo,&positions,&velocities,&scalar); outputs->addToCache(pdbAtoms); outputs->addToCache(psf); outputs->addToCache(par); // Print // Parallel if(Parallel::isMPI) report << plain << PROTOMOL_HR << "\n" << "Using MPI with "<(outputs)->begin();itr!=const_cast(outputs)->end();itr++){ report << plain << "Output "<<(*itr)->getId(); vector parameters = (*itr)->getParameters(); for(unsigned int i=0;i inter = integrator->getIntegratorDefinitionAll(); report << plain << InputIntegrator::keyword << " {"<=0;i--){ report << Constant::PRINTINDENT<<"Level "<print(&positions) <run(step); int inc = outputs->getNext()-step; inc = std::min(last,step+inc)-step; step += inc; TimerStatistic::timer[TimerStatistic::INTEGRATOR].start(); integrator->run(inc); TimerStatistic::timer[TimerStatistic::INTEGRATOR].stop(); } outputs->finalize(last); TimerStatistic::timer[TimerStatistic::RUN].stop(); // Clean up delete topo; delete integrator; delete outputs; TimerStatistic::timer[TimerStatistic::WALL].stop(); report << allnodesserial << plain <<"Timing" << (Parallel::isParallel()? string(" ("+toString(Parallel::getId())+")"): string("")) <<" : "<* >(topo) != NULL){ ForceFactory::registerExemplar(new PaulTrapExtendedForce()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); } } } protomol/applications/coulomb-app/registerForceExemplars.h0100644027616700000500000000035310237151523023553 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERFORCEEXEMPLARS_H #define REGISTERFORCEEXEMPLARS_H namespace ProtoMol { class GenericTopology; void registerForceExemplars(const GenericTopology* topo); } #endif /* REGISTERFORCEEXEMPLARS_H */ protomol/applications/coulomb-app/registerIntegratorExemplars.cpp0100644027616700000500000000045110237151523025165 0ustar pbrenne1dip#include "registerIntegratorExemplars.h" #include "IntegratorFactory.h" #include "PaulTrapIntegrator.h" #include "Vector.h" namespace ProtoMol { void registerIntegratorExemplars(){ IntegratorFactory::registerExemplar(new PaulTrapIntegrator(),Vector("NoseNVTLeapfrog")); } } protomol/applications/coulomb-app/registerIntegratorExemplars.h0100644027616700000500000000031110237151523024625 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERINTEGRATOREXEMPLARS_H #define REGISTERINTEGRATOREXEMPLARS_H namespace ProtoMol { void registerIntegratorExemplars(); } #endif /* REGISTERINTEGRATOREXEMPLARS_H */ protomol/applications/coulomb-app/registerOutputExemplars.cpp0100644027616700000500000000144610237151523024354 0ustar pbrenne1dip#include "registerOutputExemplars.h" #include "OutputDCDTrajectory.h" #include "OutputFactory.h" //#include "OutputFinalXYZBinPos.h" //#include "OutputFinalXYZBinVel.h" #include "OutputFinalXYZPos.h" #include "OutputFinalXYZVel.h" #include "OutputPaulTrap.h" #include "OutputXYZTrajectoryPos.h" namespace ProtoMol { void registerOutputExemplars(){ OutputFactory::registerExemplar(new OutputDCDTrajectory()); // OutputFactory::registerExemplar(new OutputFinalXYZBinPos()); // OutputFactory::registerExemplar(new OutputFinalXYZBinVel()); OutputFactory::registerExemplar(new OutputFinalXYZPos()); OutputFactory::registerExemplar(new OutputFinalXYZVel()); OutputFactory::registerExemplar(new OutputPaulTrap()); OutputFactory::registerExemplar(new OutputXYZTrajectoryPos()); } } protomol/applications/coulomb-app/registerOutputExemplars.h0100644027616700000500000000027110237151523024014 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTEROUTPUTEXEMPLARS_H #define REGISTEROUTPUTEXEMPLARS_H namespace ProtoMol { void registerOutputExemplars(); } #endif /* REGISTEROUTPUTEXEMPLARS_H */ protomol/applications/coulomb-app/registerTopologyExemplars.cpp0100644027616700000500000000057010237151523024665 0ustar pbrenne1dip#include "registerTopologyExemplars.h" #include "Topology.h" #include "TopologyFactory.h" #include "VacuumBoundaryConditions.h" #include "CubicCellManager.h" #include "Vector.h" namespace ProtoMol { void registerTopologyExemplars(){ TopologyFactory::registerExemplar(new Topology(),Vector("NormalCubic")); } } protomol/applications/coulomb-app/registerTopologyExemplars.h0100644027616700000500000000030110237151523024322 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERTOPOLOGYEXEMPLARS_H #define REGISTERTOPOLOGYEXEMPLARS_H namespace ProtoMol { void registerTopologyExemplars(); } #endif /* REGISTERTOPOLOGYEXEMPLARS_H */ protomol/applications/.cvsignore0100644027616700000500000000002510237151523016474 0ustar pbrenne1dipMakefile.in Makefile protomol/applications/Makefile.am0100644027616700000500000000043410237151523016534 0ustar pbrenne1dip# -*- makefile -*- # # See the LICENSE file in the top level directory for license # information AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies SUBDIRS = protomol-app coulomb-app dcd2dcd-app coords2coords-app xyzviz-app iSGProtomol-app #include $(top_srcdir)/Makefile.depend protomol/applications/Makefile.in0100644027616700000500000002451510237151523016553 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # -*- makefile -*- # # See the LICENSE file in the top level directory for license # information SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies SUBDIRS = protomol-app coulomb-app dcd2dcd-app coords2coords-app xyzviz-app iSGProtomol-app subdir = applications mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = depcomp = am__depfiles_maybe = DIST_SOURCES = RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ uninstall-info-recursive all-recursive install-data-recursive \ install-exec-recursive installdirs-recursive install-recursive \ uninstall-recursive check-recursive installcheck-recursive DIST_COMMON = Makefile.am Makefile.in DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign applications/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" \ distdir=../$(distdir)/$$subdir \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: info: info-recursive info-am: install-data-am: install-exec-am: install-info: install-info-recursive install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ clean-generic clean-recursive distclean distclean-generic \ distclean-recursive distclean-tags distdir dvi dvi-am \ dvi-recursive info info-am info-recursive install install-am \ install-data install-data-am install-data-recursive \ install-exec install-exec-am install-exec-recursive \ install-info install-info-am install-info-recursive install-man \ install-recursive install-strip installcheck installcheck-am \ installdirs installdirs-am installdirs-recursive \ maintainer-clean maintainer-clean-generic \ maintainer-clean-recursive mostlyclean mostlyclean-generic \ mostlyclean-recursive tags tags-recursive uninstall \ uninstall-am uninstall-info-am uninstall-info-recursive \ uninstall-recursive #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/applications/coords2coords-app/0040755027616700000500000000000010237151523020045 5ustar pbrenne1dipprotomol/applications/coords2coords-app/.cvsignore0100644027616700000500000000006510237151523022043 0ustar pbrenne1dip*.o *.il Makefile.in Makefile coords2coords ti_files protomol/applications/coords2coords-app/Makefile.am0100644027616700000500000000177410237151523022107 0ustar pbrenne1dip# -*- makefile -*- # # See the LICENSE file in the top level directory for license # information AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies bin_PROGRAMS = coords2coords P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_COORDS2COORDS_SRC = \ coords2coords.cpp P_COORDS2COORDS_H = ## coords2coords coords2coords_SOURCES = $(P_COORDS2COORDS_SRC) $(P_COORDS2COORDS_H) coords2coords_DEPENDENCIES = $(P_BASE)/libbase.a $(P_IO)/libio.a INCLUDES =-I$(P_BASE) -I$(P_IO) coords2coords_LDADD =-L$(P_BASE) -L$(P_IO) -lio -lbase @SOCKET_LIBS@ @FFT_LIBS@ SOURCEFILES = $(coords2coords_SOURCES) #include $(top_srcdir)/Makefile.depend protomol/applications/coords2coords-app/Makefile.in0100644027616700000500000002364610237151523022122 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # -*- makefile -*- # # See the LICENSE file in the top level directory for license # information SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies bin_PROGRAMS = coords2coords P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_COORDS2COORDS_SRC = \ coords2coords.cpp P_COORDS2COORDS_H = coords2coords_SOURCES = $(P_COORDS2COORDS_SRC) $(P_COORDS2COORDS_H) coords2coords_DEPENDENCIES = $(P_BASE)/libbase.a $(P_IO)/libio.a INCLUDES = -I$(P_BASE) -I$(P_IO) coords2coords_LDADD = -L$(P_BASE) -L$(P_IO) -lio -lbase @SOCKET_LIBS@ @FFT_LIBS@ SOURCEFILES = $(coords2coords_SOURCES) subdir = applications/coords2coords-app mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = bin_PROGRAMS = coords2coords$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) am__objects_1 = coords2coords.$(OBJEXT) am__objects_2 = am_coords2coords_OBJECTS = $(am__objects_1) $(am__objects_2) coords2coords_OBJECTS = $(am_coords2coords_OBJECTS) coords2coords_LDFLAGS = DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ DIST_SOURCES = $(coords2coords_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(coords2coords_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign applications/coords2coords-app/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ rm -f $(DESTDIR)$(bindir)/$$f; \ done clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) coords2coords$(EXEEXT): $(coords2coords_OBJECTS) $(coords2coords_DEPENDENCIES) @rm -f coords2coords$(EXEEXT) $(CXXLINK) $(coords2coords_LDFLAGS) $(coords2coords_OBJECTS) $(coords2coords_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: $(mkinstalldirs) $(DESTDIR)$(bindir) install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-binPROGRAMS install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-binPROGRAMS uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic distclean distclean-compile distclean-generic \ distclean-tags distdir dvi dvi-am info info-am install \ install-am install-binPROGRAMS install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/applications/coords2coords-app/coords2coords.cpp0100644027616700000500000002334610237151523023343 0ustar pbrenne1dip#include "DCDTrajectoryReader.h" #include "DCDTrajectoryWriter.h" #include "PDBReader.h" #include "PDBWriter.h" #include "XYZBinReader.h" #include "XYZBinWriter.h" #include "XYZReader.h" #include "XYZTrajectoryReader.h" #include "XYZTrajectoryWriter.h" #include "XYZWriter.h" #include "XFigWriter.h" #include "stringutilities.h" using namespace ProtoMol; using namespace ProtoMol::Report; using std::vector; using std::string; static bool cmpSpherical (const Vector3D& v1, const Vector3D& v2); //_____________________________________________________________________ cmpSpherical bool cmpSpherical (const Vector3D& v1, const Vector3D& v2){ return (v1.normSquared() < v2.normSquared()); } //_____________________________________________________________________ dcd2dcd struct Format{ enum Type {UNDEF, XFIG, XYZ, PDB, DCD, XYZBIN, XYZTRA}; }; int main(int argc, char **argv) { // Parse if(argc < 3) report << quit << "usage: " << argv[0] << " [-xyz] [-xfig] [-xyzbin] [-pdb] [-dcd] [-xyztra] [-real4] [-real8] [-bigEndian] [-littleEndian] [-range ] [-scale ] [-translate ] ... "<< endr; vector in; string out(argv[argc-1]); Format::Type format = Format::UNDEF; bool real8 = false; bool real4 = false; bool opt = true; bool high = false; bool low = false; bool check = false; Real scale = 1.0; Vector3D delta(0.0,0.0,0.0); int from = 0; int to = Constant::MAX_INT; for(int i=1;i trajectory; XYZ xyz; PDB pdb; vector names; int count=0; for(unsigned int i=0;i> tmp){ xyz.clear(); xyz.coords = tmp.coords; for(unsigned int j=0;j= from && count < to){ trajectory.push_back(xyz); } } count++; } else if(XYZReader(in[i]).tryFormat()){ XYZReader reader(in[i]); if(reader >> xyz){ names = xyz.names; if(count >= from && count < to){ trajectory.push_back(xyz); } } count++; } else if(XYZBinReader(in[i]).tryFormat()){ if(count >= from && count < to){ XYZBinReader reader(in[i]); if(reader >> xyz){ trajectory.push_back(xyz); } } count++; } else if(DCDTrajectoryReader(in[i]).tryFormat()){ DCDTrajectoryReader reader(in[i]); while((reader >> xyz)){ if(count >= from && count < to){ trajectory.push_back(xyz); } count++; } } else if(XYZTrajectoryReader(in[i]).tryFormat()){ XYZTrajectoryReader reader(in[i]); while((reader >> xyz)){ if(count >= from && count < to){ trajectory.push_back(xyz); names = xyz.names; } count++; } } else if(!isAccessible(in[i])){ report << "Can not open \'"< 0){ for(unsigned int i=0;i 0 && names.size() == 0){ names = vector(trajectory[0].names.size(),"X"); } // Overwrite names with the last one read for(unsigned int i=0;i 1; // Write switch (format){ case Format::XYZ: { if(multiple){ for(unsigned int i=0;i "<< endr; // Open DCDTrajectoryReader in(argv[1]); if(!in) report << error << "Could not open '" << argv[1] << "'." << endr; // Read std::vector trajectory; Vector3DBlock xyz; while((in >> xyz)) trajectory.push_back(xyz); //Process if(trajectory.size() < 1) report << error << "Did not find any frames." << endr; Vector3D a0,b0; trajectory[0].boundingbox(a0,b0); for(unsigned int i=1;i #include #include "Real.h" #include "Report.h" #include "Array.h" namespace ProtoMol { //_________________________________________________________________TRANS class TRANS{ public: // // Container class for the detailed transformation path for each type of // molecular identity change. This object contains the list of atomic charges // for each stage of a particular identity transformation, the alphaLJ parameters // for each atomtype and transformation, the atomic masses and stage numbers of each // atom type's identity, and also the ideal gas stage chemical potential differences // for each stage of a particular transformation. //______________________________________________________________________AtomType struct AtomType{ // This structure holds data for an atom type. It consists of a vector containing // all possible masses, and a vector containing all possible charges, and a vector // containing the alphaLJ parameters for a particular transformation type. AtomType(int I, int S, std::string name){ mass.resize(I); charge.resize(I); old_charge.resize(ArraySizes(I)(I)(S)); new_charge.resize(ArraySizes(I)(I)(S)); alphaLJ.resize(ArraySizes(I)(I)); for (int o=0; o mass; std::vector charge; Array old_charge; Array new_charge; Array alphaLJ; std::vector stage; std::string type_name; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class TRANS //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void clear(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // TRANS container std::vector atomTypes; // AtomType container Array DeltaMuIG; // ideal gas chemical potential differences. Units: (kcal/mol) unsigned int NumberOfStages; }; //____________________________________________________________________________INLINES } #endif /* MQF_H */ protomol/applications/iSGProtomol-app/base/XSC.cpp0100644027616700000500000000047110237151523021550 0ustar pbrenne1dip#include "XSC.h" namespace ProtoMol { //_____________________________________________________________________ XSC void XSC::clear(){ Lambda = 0.; Lambda_vel = 0.; myMolecule = 0; old_type = 0; new_type = 0; Eta = EtaVol = Eta_vel = EtaVol_vel = 0.; Vol = Epsilon_vel = 0.; } } protomol/applications/iSGProtomol-app/base/XSC.h0100644027616700000500000000164210237151523021216 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef XSC_H #define XSC_H #include "Real.h" #include namespace ProtoMol { //_________________________________________________________________XSC struct XSC{ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class XSC //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void clear(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // XSC container std::string simType; // for chemostat Real Lambda, Lambda_vel; unsigned int myMolecule, old_type, new_type; // for thermostat Real Eta, EtaVol, Eta_vel, EtaVol_vel; // for barostat Real Vol, Epsilon_vel; }; //____________________________________________________________________________INLINES } #endif /* XSC_H */ protomol/applications/iSGProtomol-app/base/iSGGrid.h0100644027616700000500000007317010237151523022056 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGGRID_H #define ISGGRID_H #include "Array.h" #include "Vector3D.h" #include "mathutilities.h" #include "FFTComplex.h" #include "Report.h" #include "ScalarStructure.h" namespace ProtoMol { //_________________________________________________________________ iSGGrid // A simple Grid class using T as interpolation scheme, assuming periodic // boundary conditions. This modification is for iSGMD simulations -- TIM template class iSGGrid { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef & const //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: struct Int3D {int x; int y; int z;}; struct Interpolation3D { TInterpolation x; TInterpolation y; TInterpolation z; Interpolation3D(){}; Interpolation3D(unsigned int order):x(order),y(order),z(order){} }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGGrid(); ~iSGGrid(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Grid //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: // interpolate the charge and deltaQ onto separate FFT grids void anterpolateCharge(Real q, Real Delta_q, const Vector3D& coord, unsigned int index); // forward and backward FFTs void fftBack(){ myFFT.backward(); myDMU_FFT.backward(); } void fftForward(){myFFT.forward();} // calculation of energy and chemical potential difference void scalarSum(ScalarStructure* energies, Real& energy, Real& deltaMu); void scalarSum(ScalarStructure* energies, Real& energy, Real& deltaMu, unsigned int block, unsigned int nBlocks); // calculation of the force and pressure void interpolateForce(Real q, unsigned int index, Vector3D& force); // function that initializes the grids and precomputes certain terms void initialize(Real width, Real length, Real height, Real alpha, unsigned int nx, unsigned int ny, unsigned int nz, unsigned int interOrder, unsigned int atomCount); // The order of arguments seems not nice, but g++ 2.95.2 on SUN 5.7 does // segfault otherwise ... do not ask why! // function that clears the charge distribution grids void clear(); // for parallel operations void getQ(Real*& begin, Real*& end) {begin=&(myQ.begin()->re);end=&(myQ.end()->re);} void print(); private: // computes the array B(m1,m2,m3) void dftmod(unsigned int order, unsigned int n, Real* interpolation, Real* interpolationMod); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Array myQ; // the atomic charge distribution on a grid Array myQTmp; // the atomic charge distribution on a grid Array myDMU_Q; // the atomic charge difference (Qnew - Qold) distribution on a grid Array myDMU_QTmp; // the atomic charge difference (Qnew - Qold) distribution on a grid unsigned int myNX; // the number of grid points in the x-direction unsigned int myNY; // the number of grid points in the y-direction unsigned int myNZ; // the number of grid points in the z-direction int myNXOffset; int myNYOffset; int myNZOffset; Real myWidth; // cell basis vector Real myLength; // cell basis vector Real myHeight; // cell basis vector Real myWidthr; // reciprocal cell basis vector Real myLengthr; // reciprocal cell basis vector Real myHeightr; // reciprocal cell basis vector Real myV; // cell volume Real myHX; // grid point spacing in x-direction Real myHY; // grid point spacing in y-direction Real myHZ; // grid point spacing in z-direction Real myHXr; // reciprocal grid point spacing in x-direction Real myHYr; // reciprocal grid point spacing in y-direction Real myHZr; // reciprocal grid point spacing in z-direction Real myAlpha; std::vector myScaledParticleIntPositions; std::vector myInterpolations; Real* myInerpolationModX; // bx(mx) Real* myInerpolationModY; // by(my) Real* myInerpolationModZ; // bz(mz) Real* myExpX; // Cx(mx) Real* myExpY; // Cy(my) Real* myExpZ; // Cz(mz) unsigned int myInterOrder; FFTComplex myFFT; // object used to perform the FFT operations on the charge (Q) grid FFTComplex myDMU_FFT; // object used to perform the FFT operations on the deltaQ (DMU_Q) grid unsigned int myAtomCount; // # of atoms in the system Real myFac; // (pi^2 / alpha^2) }; //______________________________________________________________________ INLINES //______________________________________________________________________ anterpolateCharge template inline void iSGGrid::anterpolateCharge(Real q, Real Delta_q, const Vector3D& coord, unsigned int index) { // scale the coordinates Real x = coord.x*myHXr; Real y = coord.y*myHYr; Real z = coord.z*myHZr; // compute the scaled fractional coordinates while(x < 0.0) x += myNX; while(x >= myNX) x -= myNX; while(y < 0.0) y += myNY; while(y >= myNY) y -= myNY; while(z < 0.0) z += myNZ; while(z >= myNZ) z -= myNZ; // get the integer part of the scaled fractional coordinates int intX = (int)x; int intY = (int)y; int intZ = (int)z; int i0 = intX+myNXOffset; int j0 = intY+myNYOffset; int k0 = intZ+myNZOffset; myScaledParticleIntPositions[index].x = i0; myScaledParticleIntPositions[index].y = j0; myScaledParticleIntPositions[index].z = k0; // decimal (or non-integer) part of the scaled fractional coordinates // this is the quantity (u - [u]) of eq. (3.2) of Essmann et. al., // "A Smooth Particle Mesh Ewald Method", J. Chem. Phys. 103(19), 1995, p.8577-8593. myInterpolations[index].x.set(x-intX); myInterpolations[index].y.set(y-intY); myInterpolations[index].z.set(z-intZ); // theta[1] = (u - [u]) // theta[0] = 1 - (u - [u]) Real* thetaX = myInterpolations[index].x.theta; Real* thetaY = myInterpolations[index].y.theta; Real* thetaZ = myInterpolations[index].z.theta; // loop over the interpolation order in x for(unsigned int i=0;i::RefArray<2> rQX = myQ[i1]; Array::RefArray<2> rDMU_QX = myDMU_Q[i1]; #else RefArray rQX = myQ[i1]; RefArray rDMU_QX = myDMU_Q[i1]; #endif // loop over the interpolation order in y for(unsigned int j=0;j::RefArray<1> rQXY = rQX[j1]; Array::RefArray<1> rDMU_QXY = rDMU_QX[j1]; #else RefArray rQXY = rQX[j1]; RefArray rDMU_QXY = rDMU_QX[j1]; #endif // loop over the interpolation order in z for(unsigned int k=0;k inline void iSGGrid::interpolateForce(Real q, unsigned int index, Vector3D& force){ int i0 = myScaledParticleIntPositions[index].x; int j0 = myScaledParticleIntPositions[index].y; int k0 = myScaledParticleIntPositions[index].z; Real fx = 0.0; Real fy = 0.0; Real fz = 0.0; Real* thetaX = myInterpolations[index].x.theta; Real* thetaY = myInterpolations[index].y.theta; Real* thetaZ = myInterpolations[index].z.theta; Real* dThetaX = myInterpolations[index].x.dTheta; Real* dThetaY = myInterpolations[index].y.dTheta; Real* dThetaZ = myInterpolations[index].z.dTheta; for(unsigned int i=0;i iSGGrid::iSGGrid(): myNX(0), myNY(0), myNZ(0), myNXOffset(0), myNYOffset(0), myNZOffset(0), myWidth(0.0), myLength(0.0), myHeight(0.0), myWidthr(0.0), myLengthr(0.0), myHeightr(0.0), myV(0.0), myHX(0.0), myHY(0.0), myHZ(0.0), myHXr(0.0), myHYr(0.0), myHZr(0.0), myAlpha(0.0), myInerpolationModX(NULL), myInerpolationModY(NULL), myInerpolationModZ(NULL), myExpX(NULL), myExpY(NULL), myExpZ(NULL), myInterOrder(0), myAtomCount(0), myFac(0.0){ } //______________________________________________________________________ destructor template iSGGrid::~iSGGrid(){ if(myInerpolationModX != NULL) delete [] myInerpolationModX; if(myInerpolationModY != NULL) delete [] myInerpolationModY; if(myInerpolationModZ != NULL) delete [] myInerpolationModZ; if(myExpX != NULL) delete [] myExpX; if(myExpY != NULL) delete [] myExpY; if(myExpZ != NULL) delete [] myExpZ; } //______________________________________________________________________ scalarSum function template void iSGGrid::scalarSum(ScalarStructure* energies, Real& energy, Real& deltaMu){ // initialize the energy, deltaMu, and pressure energy = deltaMu = 0.0; Real virialxx = 0.0; Real virialxy = 0.0; Real virialxz = 0.0; Real virialyy = 0.0; Real virialyz = 0.0; Real virialzz = 0.0; // find out if we need to calculate the virial bool doVirial = energies->virial(); bool doMolVirial = energies->molecularVirial(); // 1 / (pi * Volume) Real piVr = 1.0/(M_PI*myV); int count = 0; // loop over all grid points in the x-direction for (unsigned int i = 0; i < myNX; i++){ // determine the grid x-index int i0 = i <= myNX/2 ? i : i-myNX; // compute the x-component of the m vector Real mi = i0*myWidthr; // compute 1/(pi*V) * exp(-pi^2 * mx^2 / alpha^2) Real ex = myExpX[i]*piVr; // create references to the inverse FFT'd charge and deltaQ grids #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<2> rQX = myQ[i]; Array::RefArray<2> rDMU_QX = myDMU_Q[i]; #else RefArray rQX = myQ[i]; RefArray rDMU_QX = myDMU_Q[i]; #endif // loop over all grid points in the y-direction for (unsigned int j = 0 ; j < myNY; j++){ // determine the grid y-index int j0 = j <= myNY/2 ? j : j-myNY; // compute |bx(mx)|^2 * |by(my)|^2 Real interpolationModXY = myInerpolationModX[i]*myInerpolationModY[j]; // compute the y-component of the m vector Real mj = j0*myLengthr; // compute mx^2 + my^2 Real mij = mi*mi + mj*mj; // compute 1/(pi*V) * exp[-pi^2 * (mx^2 + my^2) / alpha^2] Real exy = ex*myExpY[j]; // create references to the inverse FFT'd charge and deltaQ grids #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<1> rQXY = rQX[j]; Array::RefArray<1> rDMU_QXY = rDMU_QX[j]; #else RefArray rQXY = rQX[j]; RefArray rDMU_QXY = rDMU_QX[j]; #endif // loop over all grid points in the z-direction for (unsigned int k = (i!=0 || j!=0 ? 0:1); k <= myNZ/2; k++){ count++; // determine the grid z-index int k0 = k <= myNZ/2 ? k : k-myNZ; // compute the z-component of the m vector Real mk = k0*myHeightr; // compute (mx^2 + my^2 + mz^2) = m^2 Real mHatSquared = mij+mk*mk; // compute the inverse fourier transform of theta // this is equal to the product of arrays B and C, B*C(mx,my,mz) of // Essmann et. al., "A Smooth Particle Mesh Ewald Method", // J. Chem. Phys. 103(19), 1995, p.8577-8593. {see eq. (4.7)} Real theta = interpolationModXY*myInerpolationModZ[k]*exy*myExpZ[k]/mHatSquared; // Energy and chemical potential difference // q = power<2>(myQ[i][j][k].re)+power<2>(myQ[i][j][k].im); Real q = power<2>(rQXY[k].re)+power<2>(rQXY[k].im); Real q_Dq = (rQXY[k].re * rDMU_QXY[k].re) + (rQXY[k].im * rDMU_QXY[k].im); // the energy is equal to B*C * F(Q)[mx,my,mz] * F(Q)[-mx,-my-mz] // which is q * theta. See eq. (4.7) of Essmann et. al. // the chemical potential difference is equal to // B*C * {F(DeltaQ)[mx,my,mz] * F(Q)[-mx,-my-mz] + F(Q)[mx,my,mz] * F(DeltaQ)[-mx,-my-mz]} Real e = q*theta; Real dmu = 2.0*q_Dq*theta; // this is part of the Kroenecker delta term of the virial, // see eq. (2.7) of Essmann et al. Real v = 2.0*(1.0/mHatSquared + myFac); // Symmetric if(k > 0 && ((k != myNZ/2) || (myNZ & 1))){ e *= 2.0; dmu *= 2.0; // overwrite the charge grid Q with the convolution (theta * Q) zomplex& w = myQ[(myNX-i)%myNX][(myNY-j)%myNY][(myNZ-k)%myNZ]; w.re *= theta; w.im *= theta; } // sum over all the grid points to get the total energy and // chemical potential difference energy += e; deltaMu += dmu; // Virial if(doVirial){ virialxx += e *(1.0 - v * mi*mi); virialxy -= e *(v * mi*mj); virialxz -= e *(v * mi*mk); virialyy += e *(1.0 - v * mj*mj); virialyz -= e *(v * mj*mk); virialzz += e *(1.0 - v * mk*mk); } // convolute theta and Q rQXY[k].re *= theta; rQXY[k].im *= theta; //myQ[i][j][k].re *= theta; //myQ[i][j][k].im *= theta; } // end loop over z grid points } // end loop over y grid points } // end loop over x grid points // Just clear (0,0,0) since we did this not the nested loop. myQ[0][0][0].re = 0.0; myQ[0][0][0].im = 0.0; // add to the atomic and molecular virials if(doVirial){ (*energies)[ScalarStructure::VIRIALXX] += virialxx*0.5; (*energies)[ScalarStructure::VIRIALXY] += virialxy*0.5; (*energies)[ScalarStructure::VIRIALXZ] += virialxz*0.5; (*energies)[ScalarStructure::VIRIALYX] += virialxy*0.5; (*energies)[ScalarStructure::VIRIALYY] += virialyy*0.5; (*energies)[ScalarStructure::VIRIALYZ] += virialyz*0.5; (*energies)[ScalarStructure::VIRIALZX] += virialxz*0.5; (*energies)[ScalarStructure::VIRIALZY] += virialyz*0.5; (*energies)[ScalarStructure::VIRIALZZ] += virialzz*0.5; } if(doMolVirial) { (*energies)[ScalarStructure::MOLVIRIALXX] += virialxx*0.5; (*energies)[ScalarStructure::MOLVIRIALXY] += virialxy*0.5; (*energies)[ScalarStructure::MOLVIRIALXZ] += virialxz*0.5; (*energies)[ScalarStructure::MOLVIRIALYX] += virialxy*0.5; (*energies)[ScalarStructure::MOLVIRIALYY] += virialyy*0.5; (*energies)[ScalarStructure::MOLVIRIALYZ] += virialyz*0.5; (*energies)[ScalarStructure::MOLVIRIALZX] += virialxz*0.5; (*energies)[ScalarStructure::MOLVIRIALZY] += virialyz*0.5; (*energies)[ScalarStructure::MOLVIRIALZZ] += virialzz*0.5; } // finally, multiply in the factor of 1/2 to the // energy and chemical potential energy *= 0.5; deltaMu *= 0.5; } //______________________________________________________________________ scalarSum function for parallel simulations template void iSGGrid::scalarSum(ScalarStructure* energies, Real& energy, Real& deltaMu, unsigned int block, unsigned int nBlocks){ // initialize the energy, deltaMu, and pressure energy = deltaMu = 0.0; Real virialxx = 0.0; Real virialxy = 0.0; Real virialxz = 0.0; Real virialyy = 0.0; Real virialyz = 0.0; Real virialzz = 0.0; // find out if we need to calculate the virial bool doVirial = energies->virial(); bool doMolVirial = energies->molecularVirial(); // 1 / (pi*Volume) Real piVr = 1.0/(M_PI*myV); // allocate memory for the charge distribution arrays myQTmp.resize(ArraySizes(myNX)(myNY)(myNZ)); myDMU_QTmp.resize(ArraySizes(myNX)(myNY)(myNZ)); int m = myQ.size(); zomplex *q = myQ.begin(); zomplex *t = myQTmp.begin(); for(int i=0;i(myNX/2) ? i : i-myNX; // compute the x-component of the m vector Real mi = i0*myWidthr; // compute 1/(pi*V) * exp(-pi^2 * mx^2 / alpha^2) Real ex = myExpX[i]*piVr; // create references to the inverse FFT'd charge and deltaQ grids #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<2> rQX = myQ[i]; Array::RefArray<2> rTQX = myQTmp[i]; //Array::RefArray<2> rDMU_QX = myDMU_Q[i]; Array::RefArray<2> rDMU_TQX = myDMU_QTmp[i]; #else RefArray rQX = myQ[i]; RefArray rTQX = myQTmp[i]; //RefArray rDMU_QX = myDMU_Q[i]; RefArray rDMU_TQX = myDMU_QTmp[i]; #endif // loop over all grid points in the y-direction for (; j < ey; j++,k=0){ // determine the grid y-index int j0 = j <= static_cast(myNY/2) ? j : j-myNY; // compute |bx(mx)|^2 * |by(my)|^2 Real interpolationModXY = myInerpolationModX[i]*myInerpolationModY[j]; // compute the y-component of the m vector Real mj = j0*myLengthr; // compute mx^2 + my^2 Real mij = mi*mi + mj*mj; // compute 1/(pi*V) * exp[-pi^2 * (mx^2 + my^2) / alpha^2] Real exy = ex*myExpY[j]; // create references to the inverse FFT'd charge and deltaQ grids #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<1> rQXY = rQX[j]; Array::RefArray<1> rTQXY = rTQX[j]; //Array::RefArray<1> rDMU_QXY = rDMU_QX[j]; Array::RefArray<1> rDMU_TQXY = rDMU_TQX[j]; #else RefArray rQXY = rQX[j]; RefArray rTQXY = rTQX[j]; //RefArray rDMU_QXY = rDMU_QX[j]; RefArray rDMU_TQXY = rDMU_TQX[j]; #endif // loop over all grid points in the z-direction for (; k < ez; k++){ // determine the grid z-index int k0 = k <= static_cast(myNZ/2) ? k : k-myNZ; // compute the z-component of the m vector Real mk = k0*myHeightr; // compute (mx^2 + my^2 + mz^2) = m^2 Real mHatSquared = mij+mk*mk; // compute the inverse fourier transform of theta // this is equal to the product of arrays B and C, B*C(mx,my,mz) of // Essmann et. al., "A Smooth Particle Mesh Ewald Method", // J. Chem. Phys. 103(19), 1995, p.8577-8593. {see eq. (4.7)} Real theta = interpolationModXY*myInerpolationModZ[k]*exy*myExpZ[k]/mHatSquared; // Energy and chemical potential difference //Real q = power<2>(myQ[i][j][k].re)+power<2>(myQ[i][j][k].im); Real q = power<2>(rTQXY[k].re)+power<2>(rTQXY[k].im); Real q_Dq = (rDMU_TQXY[k].re * rTQXY[k].re) + (rDMU_TQXY[k].im * rTQXY[k].im); // the energy is equal to B*C * F(Q)[mx,my,mz] * F(Q)[-mx,-my-mz] // which is q * theta. See eq. (4.7) of Essmann et. al. // the chemical potential difference is equal to // B*C * {F(DeltaQ)[mx,my,mz] * F(Q)[-mx,-my-mz] + F(Q)[mx,my,mz] * F(DeltaQ)[-mx,-my-mz]} Real e = q*theta; Real dmu = 2.0*q_Dq*theta; // this is part of the Kroenecker delta term of the virial // see eq. (2.7) of Essmann et. al. Real v = 2.0*(1.0/mHatSquared + myFac); // Symmetric if(k > 0 && ((k != static_cast(myNZ/2)) || (myNZ & 1))){ e *= 2.0; dmu *= 2.0; myQ[(myNX-i)%myNX][(myNY-j)%myNY][(myNZ-k)%myNZ].re = myQTmp[(myNX-i)%myNX][(myNY-j)%myNY][(myNZ-k)%myNZ].re * theta; myQ[(myNX-i)%myNX][(myNY-j)%myNY][(myNZ-k)%myNZ].im = myQTmp[(myNX-i)%myNX][(myNY-j)%myNY][(myNZ-k)%myNZ].im * theta; } // sum over all grid points to get the total energy and chemical potential difference energy += e; deltaMu += dmu; // Virial if(doVirial){ virialxx += e *(1.0 - v * mi*mi); virialxy -= e *(v * mi*mj); virialxz -= e *(v * mi*mk); virialyy += e *(1.0 - v * mj*mj); virialyz -= e *(v * mj*mk); virialzz += e *(1.0 - v * mk*mk); } // convolute theta and Q rQXY[k].re = rTQXY[k].re * theta; rQXY[k].im = rTQXY[k].im * theta; //myQ[i][j][k].re *= theta; //myQ[i][j][k].im *= theta; count++; if(count >= size){ i = myNX; j = myNY; k = myNZ; } // end loop over z grid points } // end loop over y grid points } // end loop over x grid points } // Just clear (0,0,0) since we did this not the nested loop. myQ[0][0][0].re = 0.0; myQ[0][0][0].im = 0.0; // add to the atomic and molecular virials if(doVirial){ (*energies)[ScalarStructure::VIRIALXX] += virialxx*0.5; (*energies)[ScalarStructure::VIRIALXY] += virialxy*0.5; (*energies)[ScalarStructure::VIRIALXZ] += virialxz*0.5; (*energies)[ScalarStructure::VIRIALYX] += virialxy*0.5; (*energies)[ScalarStructure::VIRIALYY] += virialyy*0.5; (*energies)[ScalarStructure::VIRIALYZ] += virialyz*0.5; (*energies)[ScalarStructure::VIRIALZX] += virialxz*0.5; (*energies)[ScalarStructure::VIRIALZY] += virialyz*0.5; (*energies)[ScalarStructure::VIRIALZZ] += virialzz*0.5; } if(doMolVirial) { (*energies)[ScalarStructure::MOLVIRIALXX] += virialxx*0.5; (*energies)[ScalarStructure::MOLVIRIALXY] += virialxy*0.5; (*energies)[ScalarStructure::MOLVIRIALXZ] += virialxz*0.5; (*energies)[ScalarStructure::MOLVIRIALYX] += virialxy*0.5; (*energies)[ScalarStructure::MOLVIRIALYY] += virialyy*0.5; (*energies)[ScalarStructure::MOLVIRIALYZ] += virialyz*0.5; (*energies)[ScalarStructure::MOLVIRIALZX] += virialxz*0.5; (*energies)[ScalarStructure::MOLVIRIALZY] += virialyz*0.5; (*energies)[ScalarStructure::MOLVIRIALZZ] += virialzz*0.5; } // finally, multiply in the factor of 1/2 to the energy and chemical potential difference energy *= 0.5; deltaMu *= 0.5; } //______________________________________________________________________ initialize function template void iSGGrid::initialize(Real width, Real length, Real height, Real alpha, unsigned int nx, unsigned int ny, unsigned int nz, unsigned int interOrder, unsigned int atomCount){ // allocate memory for the charge distribution arrays if(!myQ.resize(ArraySizes(nx)(ny)(nz))) report << error <<"[Grid<>::initialize] Could not allocate memory for Q[" <::initialize] Could not allocate memory for deltaQ[" <(i0*myWidthr)); } for (unsigned int j = 0 ; j < myNY; j++){ int j0 = j <= myNY/2 ? j : j-myNY; myExpY[j] = exp(-myFac*power<2>(j0*myLengthr)); } //for (unsigned int k = 0; k < myNZ; k++){ for (unsigned int k = 0; k<= myNZ/2 ; k++){ int k0 = k <= myNZ/2 ? k : k-myNZ; myExpZ[k] = exp(-myFac*power<2>(k0*myHeightr)); } // Precompute the mod TInterpolation, this is the // array B(mx,my,mz) n Essmann, et. al. if(myInerpolationModX != NULL) delete [] myInerpolationModX; myInerpolationModX = new Real[nx]; if(myInerpolationModY != NULL) delete [] myInerpolationModY; myInerpolationModY = new Real[ny]; if(myInerpolationModZ != NULL) delete [] myInerpolationModZ; myInerpolationModZ = new Real[nz]; TInterpolation interpolation = TInterpolation(myInterOrder,0.0); dftmod(myInterOrder,nx,interpolation.theta,myInerpolationModX); dftmod(myInterOrder,ny,interpolation.theta,myInerpolationModY); dftmod(myInterOrder,nz,interpolation.theta,myInerpolationModZ); //for(unsigned int i=0;i void iSGGrid::dftmod(unsigned int order, unsigned int n, Real* interpolation, Real* interpolationMod){ // compute the denominator of the bi(m)^2 coefficients, // see eq. (4.4) of Essmann, et. al. for(unsigned int i=0;i void iSGGrid::clear(){ // clear off the charge grid Q int n = myQ.size(); zomplex *q = myQ.begin(); for(int i=0;i void iSGGrid::print(){ Real q = 0.0; report << plain; for (unsigned int i = 0; i < myNX; i++){ for (unsigned int j = 0 ; j < myNY; j++){ report << "Q["< > args = parseCommandLine(argc,argv,&config,iSGregisterForceExemplars); if(config.set(InputConfig::keyword,args)){ // Read config file ConfigurationReader configReader; if(!configReader.open(config[InputConfig::keyword])) report << error << "Can't open configuration file \'"<> config)) report << error << "Could not read configuration file \'"< pdbAtoms; // read in the positions file information if(reader.tryFormat(InputPosVelType::PDB)){ PDB pdb; if(!(reader >> pdb)) report << error << "Could not parse PDB position file \'"<> positions)) report << error << "Could not parse position file \'"<> velocities)) report << error << "Could not parse velocity file \'"<> psf)) report << error << "Could not parse PSF file \'"<> trans)) report << error << "Could not parse TRANS file \'"<> par)) report << error << "Could not parse PAR file \'"< parameters = prototype->getDefaults(positions); for(unsigned int i=0;i= 0){ report << plain << "Removed linear momentum: " <= 0){ report << plain << "Removed angular momentum : " < 0){ integrator->bottom()->adoptPreDriftOrNextModifier(new ModifierRemoveLinearMomentum(config[InputRemoveLinearMomentum::keyword])); report << plain << "Removing linear momentum with STS frequency "< 0){ integrator->bottom()->adoptPreDriftOrNextModifier(new ModifierRemoveAngularMomentum(config[InputRemoveAngularMomentum::keyword])); report << plain << "Removing angular momentum with STS frequency "< 0.0 && (int)config[InputShakeMaxIter::keyword] > 0) { // initialize the SHAKE modifier integrator->bottom()->adoptPostDriftOrNextModifier(integrator->bottom()->createShakeModifier((Real)config[InputShakeEpsilon::keyword], (int)config[InputShakeMaxIter::keyword])); report << plain << "Shake with epsilon "<< config[InputShakeEpsilon::keyword] <<", max "<<(int)config[InputShakeMaxIter::keyword]<<" iteration(s)."< 0.0 && (int)config[InputRattleMaxIter::keyword] > 0) { // initialize the RATTLE modifier integrator->bottom()->adoptPostStepModifier(integrator->bottom()->createRattleModifier((Real)config[InputRattleEpsilon::keyword], (int)config[InputRattleMaxIter::keyword])); report << plain << "Rattle with epsilon "<< config[InputRattleEpsilon::keyword] <<", max "<<(int)config[InputRattleMaxIter::keyword]<<" iteration(s)."<( integrator->bottom() ); ModifierISG* isgMod = new ModifierISG( isgIntegrator, psf, par); isgMod->indexBonds(topo, trans); integrator->bottom()->adoptPreForceModifier( isgMod ); // XSC (eXtended System Coordinates) // read this only if an XSC file is specified in the config file. if(config[InputXSC::keyword].valid()) isgMod->readXSCs(config[InputXSC::keyword],topo); integrator->initialize(topo,&positions,&velocities,&scalar); // initialize the output cache report << plain << PROTOMOL_HR << endr; topo->time = (Real)config[InputFirststep::keyword]*integrator->getTimestep(); outputs->initialize(&config,integrator,topo,&positions,&velocities,&scalar); outputs->addToCache(pdbAtoms); outputs->addToCache(psf); outputs->addToCache(par); // Print // Parallel if(Parallel::isMPI) report << plain << PROTOMOL_HR << "\n" << "Using MPI with "<(outputs)->begin();itr!=const_cast(outputs)->end();++itr){ report << plain << "Output "<<(*itr)->getId(); vector parameters = (*itr)->getParameters(); for(unsigned int i=0;i inter = integrator->getIntegratorDefinitionAll(); report << plain << InputIntegrator::keyword << " {"<=0;i--){ report << Constant::PRINTINDENT<<"Level "<print(&positions) <run(step); // Get the next step to do output and substract to get the increment int inc = outputs->getNext()-step; // Adjust the such that inc+step <= last inc = std::min(last,step+inc)-step; step += inc; // randomly pick a molecule to be transformed isgMod->pickNewMolecule(topo,&scalar); TimerStatistic::timer[TimerStatistic::INTEGRATOR].start(); integrator->run(inc); TimerStatistic::timer[TimerStatistic::INTEGRATOR].stop(); isgMod->checkForStageCompletion(); isgMod->setForcesAfterTransformation(topo); } outputs->finalize(last); // if we are doing a TI calculation (lambda is constant at a nonzero value) // output the average chemical potential difference ( d(deltaMu) / d(lambda) ) if((bool)config[InputTICalc::keyword]) { report.precision(8); report << plain << "d(E) / d(lambda) = " << isgIntegrator->getAveDeltaMu(last) << endr; } TimerStatistic::timer[TimerStatistic::RUN].stop(); // Clean up delete topo; delete integrator; delete outputs; TimerStatistic::timer[TimerStatistic::WALL].stop(); report << allnodesserial << plain <<"Timing" << (Parallel::isParallel()? string(" ("+toString(Parallel::getId())+")"): string("")) <<" : "< inline void iSGregisterForceExemplarsDispatch(const Topology* topo){ if(topo == NULL) return; const BC* bc=NULL; const CM* cm=NULL; iSGregisterForceExemplarsCutoff(bc,cm); iSGregisterForceExemplarsFull(bc); iSGregisterForceExemplarsSimpleFull(bc); iSGregisterForceExemplarsBonded(bc); iSGregisterForceExemplarsFastElectrostatic(bc,cm); iSGregisterForceExemplarsIdealGas(bc,cm); } void iSGregisterForceExemplars(const GenericTopology* topo){ iSGregisterForceExemplarsDispatch(dynamic_cast*>(topo)); iSGregisterForceExemplarsDispatch(dynamic_cast*>(topo)); } } protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplars.h0100644027616700000500000000036710237151523026720 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGREGISTERFORCEEXEMPLARS_H #define ISGREGISTERFORCEEXEMPLARS_H namespace ProtoMol { class GenericTopology; void iSGregisterForceExemplars(const GenericTopology* topo); } #endif /* ISGREGISTERFORCEEXEMPLARS_H */ protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsBonded.cpp0100644027616700000500000000230210237151523030356 0ustar pbrenne1dip#include "iSGregisterForceExemplarsBonded.h" #include "ForceFactory.h" #include "Topology.h" #include "VacuumBoundaryConditions.h" #include "PeriodicBoundaryConditions.h" #include "iSGBondSystemForce.h" #include "iSGAngleSystemForce.h" #include "iSGImproperSystemForce.h" #include "iSGDihedralSystemForce.h" namespace ProtoMol { void iSGregisterForceExemplarsBonded(const PeriodicBoundaryConditions*){ ForceFactory::registerExemplar(new iSGBondSystemForce()); ForceFactory::registerExemplar(new iSGAngleSystemForce()); ForceFactory::registerExemplar(new iSGImproperSystemForce()); ForceFactory::registerExemplar(new iSGDihedralSystemForce()); } void iSGregisterForceExemplarsBonded(const VacuumBoundaryConditions*){ ForceFactory::registerExemplar(new iSGBondSystemForce()); ForceFactory::registerExemplar(new iSGAngleSystemForce()); ForceFactory::registerExemplar(new iSGImproperSystemForce()); ForceFactory::registerExemplar(new iSGDihedralSystemForce()); } } protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsBonded.h0100644027616700000500000000060210237151523030024 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGREGISTERFORCEEXEMPLARSBONDED_H #define ISGREGISTERFORCEEXEMPLARSBONDED_H namespace ProtoMol { class PeriodicBoundaryConditions; class VacuumBoundaryConditions; void iSGregisterForceExemplarsBonded(const PeriodicBoundaryConditions*); void iSGregisterForceExemplarsBonded(const VacuumBoundaryConditions*); } #endif /* REGISTERFORCEEXEMPLARS_H */ protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsCutoff.cpp0100644027616700000500000002256210237151523030423 0ustar pbrenne1dip#include "iSGregisterForceExemplarsCutoff.h" #include "C1SwitchingFunction.h" #include "C2SwitchingFunction.h" #include "CellListEnumerator_periodicBoundaries.h" #include "CellListEnumerator_standard.h" #include "iSGCoulombForce.h" #include "iSGCoulombEwaldRealForce.h" #include "iSGCoulombEwaldRealTableForce.h" #include "CubicCellManager.h" #include "CutoffSwitchingFunction.h" #include "ForceFactory.h" #include "iSGLennardJonesForce.h" #include "iSGLennardJonesTableForce.h" #include "NonbondedCutoffSystemForce.h" #include "iSGOneAtomPair.h" #include "iSGOneAtomPairTwo.h" #include "PeriodicBoundaryConditions.h" #include "ShiftSwitchingFunction.h" #include "Topology.h" #include "VacuumBoundaryConditions.h" namespace ProtoMol { void iSGregisterForceExemplarsCutoff(const PeriodicBoundaryConditions*, const CubicCellManager*){ // NonbondedCutoffSystemForce iSGCoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // NonbondedCutoffSystemForce iSGLennardJonesForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // NonbondedCutoffSystemForce iSGLennardJonesForce iSGCoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); } void iSGregisterForceExemplarsCutoff(const VacuumBoundaryConditions*, const CubicCellManager*){ // NonbondedCutoffSystemForce iSGCoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // NonbondedCutoffSystemForce iSGLennardJonesForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // NonbondedCutoffSystemForce LennardJonesForce CoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // NonbondedCutoffSystemForce LennardJonesForce CoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); } } protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsCutoff.h0100644027616700000500000000071610237151523030065 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGREGISTERFORCEEXEMPLARSCUTOFF_H #define ISGREGISTERFORCEEXEMPLARSCUTOFF_H namespace ProtoMol { class CubicCellManager; class PeriodicBoundaryConditions; class VacuumBoundaryConditions; void iSGregisterForceExemplarsCutoff(const PeriodicBoundaryConditions*, const CubicCellManager*); void iSGregisterForceExemplarsCutoff(const VacuumBoundaryConditions*, const CubicCellManager*); } #endif /* REGISTERFORCEEXEMPLARS_H */ protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFastElectrostatic.cpp0100644027616700000500000004461110237151523032617 0ustar pbrenne1dip#include "iSGregisterForceExemplarsFastElectrostatic.h" #include "ForceFactory.h" #include "iSGNonbondedFullEwaldSystemForce.h" #include "iSGNonbondedPMEwaldSystemForce.h" //#include "iSGNonbondedMultiGridSystemForce.h" #include "CellListEnumerator_periodicBoundaries.h" #include "CellListEnumerator_standard.h" #include "CubicCellManager.h" #include "iSGCoulombForce.h" #include "CutoffSwitchingFunction.h" #include "ShiftSwitchingFunction.h" #include "C1SwitchingFunction.h" #include "VacuumBoundaryConditions.h" #include "PeriodicBoundaryConditions.h" #include "CubicCellManager.h" #include "BSpline.h" #include "Lagrange.h" #include "Hermite.h" #include "Vector.h" namespace ProtoMol { void iSGregisterForceExemplarsFastElectrostatic(const PeriodicBoundaryConditions*, const CubicCellManager*) { // iSGFullEwald ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce(),Vector("iSGCoulombEwald")); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); #endif // iSGPME ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce(),Vector("iSGCoulombPME")); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); #endif /* // MultiGrid ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); #endif */ } void iSGregisterForceExemplarsFastElectrostatic(const VacuumBoundaryConditions*, const CubicCellManager*) { ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce(),Vector("iSGCoulombEwald")); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedFullEwaldSystemForce()); #endif // PME ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce(),Vector("iSGCoulombPME")); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new iSGNonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new vNonbondedPMEwaldSystemForce()); #endif /* // MultiGrid ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); #endif */ } } protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFastElectrostatic.h0100644027616700000500000000101410237151523032252 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGREGISTERFORCEEXEMPLARSFASTELECTROSTATIC_H #define ISGREGISTERFORCEEXEMPLARSFASTELECTROSTATIC_H namespace ProtoMol { class CubicCellManager; class PeriodicBoundaryConditions; class VacuumBoundaryConditions; void iSGregisterForceExemplarsFastElectrostatic(const PeriodicBoundaryConditions*, const CubicCellManager*); void iSGregisterForceExemplarsFastElectrostatic(const VacuumBoundaryConditions*, const CubicCellManager*); } #endif /* REGISTERFORCEEXEMPLARSFASTELECTROSTATIC_H */ protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFull.cpp0100644027616700000500000000503010237151523030066 0ustar pbrenne1dip#include "iSGregisterForceExemplarsFull.h" #include "C1SwitchingFunction.h" #include "C2SwitchingFunction.h" #include "CubicCellManager.h" #include "CellListEnumerator_periodicBoundaries.h" #include "CellListEnumerator_standard.h" #include "iSGCoulombForce.h" #include "CutoffSwitchingFunction.h" #include "ForceFactory.h" #include "iSGLennardJonesForce.h" #include "NonbondedFullSystemForce.h" #include "iSGOneAtomPairFull.h" #include "iSGOneAtomPairTwoFull.h" #include "Parameter.h" #include "PeriodicBoundaryConditions.h" #include "ShiftSwitchingFunction.h" #include "Topology.h" #include "UniversalSwitchingFunction.h" #include "VacuumBoundaryConditions.h" namespace ProtoMol { void iSGregisterForceExemplarsFull(const PeriodicBoundaryConditions*){ ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); } void iSGregisterForceExemplarsFull(const VacuumBoundaryConditions*){ // Huh, are you really sure you'll like to add such forces for Vacumm? } } protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFull.h0100644027616700000500000000057410237151524027544 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGREGISTERFORCEEXEMPLARSFULL_H #define ISGREGISTERFORCEEXEMPLARSFULL_H namespace ProtoMol { class PeriodicBoundaryConditions; class VacuumBoundaryConditions; void iSGregisterForceExemplarsFull(const PeriodicBoundaryConditions*); void iSGregisterForceExemplarsFull(const VacuumBoundaryConditions*); } #endif /* iSGREGISTERFORCEEXEMPLARS_H */ protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsIdealGas.cpp0100644027616700000500000001010710237151524030637 0ustar pbrenne1dip#include "iSGregisterForceExemplarsIdealGas.h" #include "C1SwitchingFunction.h" #include "C2SwitchingFunction.h" #include "CellListEnumerator_periodicBoundaries.h" #include "CellListEnumerator_standard.h" #include "iSGIdealGasCoulombForce.h" #include "CubicCellManager.h" #include "CutoffSwitchingFunction.h" #include "ForceFactory.h" #include "iSGIdealGasLennardJonesForce.h" #include "NonbondedCutoffSystemForce.h" #include "iSGOneAtomPair.h" #include "PeriodicBoundaryConditions.h" #include "ShiftSwitchingFunction.h" #include "Topology.h" #include "VacuumBoundaryConditions.h" namespace ProtoMol { void iSGregisterForceExemplarsIdealGas(const PeriodicBoundaryConditions*, const CubicCellManager*){ // NonbondedCutoffSystemForce iSGIdealGasCoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // NonbondedCutoffSystemForce ISGLennardJonesForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); } void iSGregisterForceExemplarsIdealGas(const VacuumBoundaryConditions*, const CubicCellManager*){ // NonbondedCutoffSystemForce iSGCoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // NonbondedCutoffSystemForce iSGLennardJonesForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); } } protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsIdealGas.h0100644027616700000500000000074110237151524030307 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGREGISTERFORCEEXEMPLARSIDEALGAS_H #define ISGREGISTERFORCEEXEMPLARSIDEALGAS_H namespace ProtoMol { class CubicCellManager; class PeriodicBoundaryConditions; class VacuumBoundaryConditions; void iSGregisterForceExemplarsIdealGas(const PeriodicBoundaryConditions*, const CubicCellManager*); void iSGregisterForceExemplarsIdealGas(const VacuumBoundaryConditions*, const CubicCellManager*); } #endif /* ISGREGISTERFORCEEXEMPLARSIDEALGAS_H */ protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsSimpleFull.cpp0100644027616700000500000001517310237151524031252 0ustar pbrenne1dip#include "iSGregisterForceExemplarsSimpleFull.h" #include "ScalarStructure.h" #include "Topology.h" #include "iSGOneAtomPair.h" #include "iSGOneAtomPairTwo.h" #include "iSGCoulombForce.h" #include "ForceFactory.h" #include "iSGLennardJonesForce.h" #include "NonbondedSimpleFullSystemForce.h" #include "PeriodicBoundaryConditions.h" #include "UniversalSwitchingFunction.h" #include "ComplementSwitchingFunction.h" #include "C1SwitchingFunction.h" #include "C2SwitchingFunction.h" #include "CutoffSwitchingFunction.h" #include "ShiftSwitchingFunction.h" #include "VacuumBoundaryConditions.h" namespace ProtoMol { void iSGregisterForceExemplarsSimpleFull(const PeriodicBoundaryConditions*){ // NonbondedSimpleFullSystemForce ISGCoulombForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGCoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGCoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGCoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGCoulombForce> >()); // NonbondedSimpleFullSystemForce ISGLennardJonesForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGLennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGLennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGLennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGLennardJonesForce> >()); // NonbondedSimpleFullSystemForce iSGLennardJonesForce iSGCoulombForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPairTwo >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPairTwo,iSGLennardJonesForce,ComplementSwitchingFunction,iSGCoulombForce> >()); } void iSGregisterForceExemplarsSimpleFull(const VacuumBoundaryConditions*){ // NonbondedSimpleFullSystemForce ISGCoulombForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGCoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGCoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGCoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGCoulombForce> >()); // NonbondedSimpleFullSystemForce ISGLennardJonesForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGLennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGLennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGLennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPair,iSGLennardJonesForce> >()); // NonbondedSimpleFullSystemForce iSGLennardJonesForce iSGCoulombForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPairTwo >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< iSGOneAtomPairTwo,iSGLennardJonesForce,ComplementSwitchingFunction,iSGCoulombForce> >()); } } protomol/applications/iSGProtomol-app/factories/iSGregisterForceExemplarsSimpleFull.h0100644027616700000500000000061310237151524030710 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERFORCEEXEMPLARSSIMPLEFULL_H #define REGISTERFORCEEXEMPLARSSIMPLEFULL_H namespace ProtoMol { class PeriodicBoundaryConditions; class VacuumBoundaryConditions; void iSGregisterForceExemplarsSimpleFull(const PeriodicBoundaryConditions*); void iSGregisterForceExemplarsSimpleFull(const VacuumBoundaryConditions*); } #endif /* REGISTERFORCEEXEMPLARS_H */ protomol/applications/iSGProtomol-app/factories/iSGregisterIntegratorExemplars.cpp0100644027616700000500000000040010237151524030320 0ustar pbrenne1dip#include "iSGregisterIntegratorExemplars.h" #include "IntegratorFactory.h" #include "iSGIntegrator.h" #include "Vector.h" namespace ProtoMol { void registerIntegratorExemplars() { IntegratorFactory::registerExemplar(new iSGIntegrator()); } } protomol/applications/iSGProtomol-app/factories/iSGregisterIntegratorExemplars.h0100644027616700000500000000032210237151524027770 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGREGISTERINTEGRATOREXEMPLARS_H #define ISGREGISTERINTEGRATOREXEMPLARS_H namespace ProtoMol { void registerIntegratorExemplars(); } #endif /* ISGREGISTERINTEGRATOREXEMPLARS_H */ protomol/applications/iSGProtomol-app/factories/iSGregisterOutputExemplars.cpp0100644027616700000500000000301610237151524027510 0ustar pbrenne1dip#include "iSGregisterOutputExemplars.h" #include "OutputDCDTrajectory.h" #include "OutputEnergies.h" #include "OutputISGProperties.h" #include "OutputFactory.h" #include "OutputFinalXYZBinPos.h" #include "OutputFinalXYZBinVel.h" #include "OutputFinalXYZPos.h" #include "OutputFinalXYZVel.h" #include "OutputMomentum.h" #include "OutputPDBFramePos.h" #include "OutputScreen.h" #include "OutputXYZTrajectoryForce.h" #include "OutputXYZTrajectoryPos.h" #include "OutputXYZTrajectoryVel.h" #include "OutputFinalXSC.h" #include "OutputFinalPSF.h" namespace ProtoMol { void iSGregisterOutputExemplars(){ OutputFactory::registerExemplar(new OutputDCDTrajectory()); OutputFactory::registerExemplar(new OutputEnergies()); OutputFactory::registerExemplar(new OutputFinalXYZBinPos()); OutputFactory::registerExemplar(new OutputFinalXYZBinVel()); OutputFactory::registerExemplar(new OutputFinalXYZPos()); OutputFactory::registerExemplar(new OutputFinalXYZVel()); OutputFactory::registerExemplar(new OutputMomentum()); OutputFactory::registerExemplar(new OutputPDBFramePos()); OutputFactory::registerExemplar(new OutputScreen()); OutputFactory::registerExemplar(new OutputXYZTrajectoryForce()); OutputFactory::registerExemplar(new OutputXYZTrajectoryPos()); OutputFactory::registerExemplar(new OutputXYZTrajectoryVel()); OutputFactory::registerExemplar(new OutputISGProperties()); OutputFactory::registerExemplar(new OutputFinalXSC()); OutputFactory::registerExemplar(new OutputFinalPSF()); } } protomol/applications/iSGProtomol-app/factories/iSGregisterOutputExemplars.h0100644027616700000500000000030510237151524027153 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGREGISTEROUTPUTEXEMPLARS_H #define ISGREGISTEROUTPUTEXEMPLARS_H namespace ProtoMol { void iSGregisterOutputExemplars(); } #endif /* ISGREGISTEROUTPUTEXEMPLARS_H */ protomol/applications/iSGProtomol-app/forces/0040755027616700000500000000000010237151524020760 5ustar pbrenne1dipprotomol/applications/iSGProtomol-app/forces/.cvsignore0100644027616700000500000000006310237151524022754 0ustar pbrenne1dip*.o *.il Makefile.in Makefile iSGProtomol ti_files protomol/applications/iSGProtomol-app/forces/Makefile.am0100644027616700000500000000453110237151524023014 0ustar pbrenne1dip# base AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libISGforces_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_ISGBASE = $(top_srcdir)/applications/iSGProtomol-app/base P_ISGIO = $(top_srcdir)/applications/iSGProtomol-app/io P_ISGFORCES = $(top_srcdir)/applications/iSGProtomol-app/forces P_ISGFRONTEND = $(top_srcdir)/applications/iSGProtomol-app/frontend P_ISGTOPOLOGY = $(top_srcdir)/applications/iSGProtomol-app/topology # base Sources P_ISGFORCES_SRC =\ iSGAngleSystemForceBase.cpp\ iSGBondSystemForceBase.cpp\ iSGDihedralSystemForceBase.cpp\ iSGImproperSystemForceBase.cpp\ iSGLennardJonesForce.cpp\ iSGCoulombForce.cpp\ iSGNonbondedFullEwaldSystemForceBase.cpp\ iSGNonbondedPMEwaldSystemForceBase.cpp\ iSGIdealGasCoulombForce.cpp\ iSGIdealGasLennardJonesForce.cpp\ iSGLennardJonesTableForce.cpp\ iSGCoulombEwaldRealForce.cpp\ iSGCoulombEwaldRealTableForce.cpp # base Includes P_ISGFORCES_H =\ iSGAngleSystemForceBase.h\ iSGAngleSystemForce.h\ iSGBondSystemForceBase.h\ iSGBondSystemForce.h\ iSGDihedralSystemForceBase.h\ iSGDihedralSystemForce.h\ iSGImproperSystemForceBase.h\ iSGImproperSystemForce.h\ iSGMTorsionSystemForce.h\ iSGLennardJonesForce.h\ iSGOneAtomPairFull.h\ iSGOneAtomPair.h\ iSGCoulombForce.h\ iSGNonbondedFullEwaldSystemForceBase.h\ iSGNonbondedFullEwaldSystemForce.h\ iSGNonbondedPMEwaldSystemForceBase.h\ iSGNonbondedPMEwaldSystemForce.h\ iSGIdealGasCoulombForce.h\ iSGIdealGasLennardJonesForce.h\ iSGOneAtomPairFullTwo.h\ iSGOneAtomPairTwo.h\ iSGLennardJonesTableForce.h\ iSGCoulombEwaldRealForce.h\ iSGCoulombEwaldRealTableForce.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libISGforces.a libISGforces_a_SOURCES = $(P_ISGFORCES_SRC) $(P_ISGFORCES_H) INCLUDES = @FFT_CFLAGS@ -I$(P_ISGFORCES) -I$(P_BASE) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_ISGTOPOLOGY) -I$(P_ISGBASE) -I$(P_PARALLEL) -I$(P_FORCES) SOURCEFILES = $(P_ISGFORCES_SRC) #include $(top_srcdir)/Makefile.depend protomol/applications/iSGProtomol-app/forces/Makefile.in0100644027616700000500000002606210237151524023030 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # base SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libISGforces_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_ISGBASE = $(top_srcdir)/applications/iSGProtomol-app/base P_ISGIO = $(top_srcdir)/applications/iSGProtomol-app/io P_ISGFORCES = $(top_srcdir)/applications/iSGProtomol-app/forces P_ISGFRONTEND = $(top_srcdir)/applications/iSGProtomol-app/frontend P_ISGTOPOLOGY = $(top_srcdir)/applications/iSGProtomol-app/topology # base Sources P_ISGFORCES_SRC = \ iSGAngleSystemForceBase.cpp\ iSGBondSystemForceBase.cpp\ iSGDihedralSystemForceBase.cpp\ iSGImproperSystemForceBase.cpp\ iSGLennardJonesForce.cpp\ iSGCoulombForce.cpp\ iSGNonbondedFullEwaldSystemForceBase.cpp\ iSGNonbondedPMEwaldSystemForceBase.cpp\ iSGIdealGasCoulombForce.cpp\ iSGIdealGasLennardJonesForce.cpp\ iSGLennardJonesTableForce.cpp\ iSGCoulombEwaldRealForce.cpp\ iSGCoulombEwaldRealTableForce.cpp # base Includes P_ISGFORCES_H = \ iSGAngleSystemForceBase.h\ iSGAngleSystemForce.h\ iSGBondSystemForceBase.h\ iSGBondSystemForce.h\ iSGDihedralSystemForceBase.h\ iSGDihedralSystemForce.h\ iSGImproperSystemForceBase.h\ iSGImproperSystemForce.h\ iSGMTorsionSystemForce.h\ iSGLennardJonesForce.h\ iSGOneAtomPairFull.h\ iSGOneAtomPair.h\ iSGCoulombForce.h\ iSGNonbondedFullEwaldSystemForceBase.h\ iSGNonbondedFullEwaldSystemForce.h\ iSGNonbondedPMEwaldSystemForceBase.h\ iSGNonbondedPMEwaldSystemForce.h\ iSGIdealGasCoulombForce.h\ iSGIdealGasLennardJonesForce.h\ iSGOneAtomPairFullTwo.h\ iSGOneAtomPairTwo.h\ iSGLennardJonesTableForce.h\ iSGCoulombEwaldRealForce.h\ iSGCoulombEwaldRealTableForce.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libISGforces.a libISGforces_a_SOURCES = $(P_ISGFORCES_SRC) $(P_ISGFORCES_H) INCLUDES = @FFT_CFLAGS@ -I$(P_ISGFORCES) -I$(P_BASE) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_ISGTOPOLOGY) -I$(P_ISGBASE) -I$(P_PARALLEL) -I$(P_FORCES) SOURCEFILES = $(P_ISGFORCES_SRC) subdir = applications/iSGProtomol-app/forces mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) libISGforces_a_LIBADD = am__objects_1 = iSGAngleSystemForceBase.$(OBJEXT) \ iSGBondSystemForceBase.$(OBJEXT) \ iSGDihedralSystemForceBase.$(OBJEXT) \ iSGImproperSystemForceBase.$(OBJEXT) \ iSGLennardJonesForce.$(OBJEXT) iSGCoulombForce.$(OBJEXT) \ iSGNonbondedFullEwaldSystemForceBase.$(OBJEXT) \ iSGNonbondedPMEwaldSystemForceBase.$(OBJEXT) \ iSGIdealGasCoulombForce.$(OBJEXT) \ iSGIdealGasLennardJonesForce.$(OBJEXT) \ iSGLennardJonesTableForce.$(OBJEXT) \ iSGCoulombEwaldRealForce.$(OBJEXT) \ iSGCoulombEwaldRealTableForce.$(OBJEXT) am__objects_2 = am_libISGforces_a_OBJECTS = $(am__objects_1) $(am__objects_2) libISGforces_a_OBJECTS = $(am_libISGforces_a_OBJECTS) DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(libISGforces_a_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(libISGforces_a_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign applications/iSGProtomol-app/forces/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libISGforces.a: $(libISGforces_a_OBJECTS) $(libISGforces_a_DEPENDENCIES) -rm -f libISGforces.a $(libISGforces_a_AR) libISGforces.a $(libISGforces_a_OBJECTS) $(libISGforces_a_LIBADD) $(RANLIB) libISGforces.a mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/applications/iSGProtomol-app/forces/iSGAngleSystemForce.h0100644027616700000500000002637210237151524024755 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGANGLESYSTEMFORCE_H #define ISGANGLESYSTEMFORCE_H #include "SystemForce.h" #include "iSGAngleSystemForceBase.h" #include "ScalarStructure.h" #include "Parallel.h" namespace ProtoMol { //_________________________________________________________________ iSGAngleSystemForce template class iSGAngleSystemForce : public SystemForce, private iSGAngleSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class iSGAngleSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void calcAngle(const TBoundaryConditions &boundary, const Angle& currentAngle, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); Real calcAngleEnergy(const TBoundaryConditions &boundary, const Angle& currentAngle, const Vector3DBlock* positions); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector) const { return (new iSGAngleSystemForce()); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 0;} virtual void getParameters(std::vector&) const {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //______________________________________________________________________ INLINES template inline void iSGAngleSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; for (unsigned int i = 0; i < topo->angles.size(); i++) calcAngle(boundary, topo->angles[i], positions, forces, energies); } template inline void iSGAngleSystemForce::calcAngle(const TBoundaryConditions &boundary, const Angle& currentAngle, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ int a1 = currentAngle.atom1; int a2 = currentAngle.atom2; int a3 = currentAngle.atom3; Real restAngle = currentAngle.restAngle; Real forceConstant = currentAngle.forceConstant; Real ureyBradleyConstant = currentAngle.ureyBradleyConstant; Real ureyBradleyRestLength = currentAngle.ureyBradleyRestLength; // Variables for computation of the chemical potential difference Real DeltaK = currentAngle.DeltaK; Real DeltaTheta0 = currentAngle.DeltaTheta0; Real Delta_ubK = currentAngle.Delta_ubK; Real Delta_ubR0 = currentAngle.Delta_ubR0; Vector3D atom1((*positions)[a1]); Vector3D atom2((*positions)[a2]); Vector3D atom3((*positions)[a3]); //Vector3D r12 = atom1 - atom2; // Vector from atom 1 to atom 2. Vector3D r12(boundary.minimalDifference(atom2,atom1)); //Vector3D r32 = atom3 - atom2; // Vector from atom 3 to atom 2. Vector3D r32(boundary.minimalDifference(atom2,atom3)); //Vector3D r13 = atom1 - atom3; // Vector from atom 1 to atom 3. Vector3D r13(boundary.minimalDifference(atom3,atom1)); Real d12 = r12.norm(); // Distance between atom 1 and 2. Real d32 = r32.norm(); // Distance between atom 3 and 2. Real d13 = r13.norm(); // Distance between atom 1 and 3. // Calculate theta. Real theta = atan2((r12.cross(r32)).norm(),r12.dot(r32)); Real sinTheta = sin(theta); Real cosTheta = cos(theta); // Calculate dpot/dtheta Real dpotdtheta = 2.0 * forceConstant * (theta - restAngle); // Calculate dr/dx, dr/dy, dr/dz. Vector3D dr12(r12/d12); Vector3D dr32(r32/d32); Vector3D dr13(r13/d13); // Calulate dtheta/dx, dtheta/dy, dtheta/dz. Vector3D dtheta1((dr12 * cosTheta - dr32)/(sinTheta*d12)); // atom1 Vector3D dtheta3((dr32 * cosTheta - dr12)/(sinTheta*d32)); // atom3 // Calculate Urey Bradley force. Vector3D ureyBradleyforce1(dr13 * (2.0 * ureyBradleyConstant * (d13 - ureyBradleyRestLength))); Vector3D ureyBradleyforce3(-ureyBradleyforce1); // Calculate force on atom1 due to atom 2 and 3. Vector3D force1(-dtheta1 * dpotdtheta - ureyBradleyforce1); // Calculate force on atom3 due to atom 1 and 2. Vector3D force3(-dtheta3 * dpotdtheta - ureyBradleyforce3); // Calculate force on atom2 due to atom 1 and 3. Vector3D force2(-force1 - force3); // Add to the total force. (*forces)[a1] += force1; (*forces)[a2] += force2; (*forces)[a3] += force3; // Calculate Energy. Real eHarmonic = forceConstant * (theta - restAngle)*(theta - restAngle); Real eUreyBradley = ureyBradleyConstant * (d13 - ureyBradleyRestLength)*(d13 - ureyBradleyRestLength); // Calculate Chemical potential difference if (DeltaK != 0.0 && DeltaTheta0 != 0.0) { Real DeltaMuHarmonic = eHarmonic * DeltaK / forceConstant - dpotdtheta * DeltaTheta0; Real DeltaMuUreyBradley = 0.0; if (ureyBradleyConstant != 0) DeltaMuUreyBradley = eUreyBradley * Delta_ubK / ureyBradleyConstant - 2.0 * ureyBradleyConstant * (d13 - ureyBradleyRestLength) * Delta_ubR0; // add the chemical potential difference from this angle to the total (*energies)[ScalarStructure::ANGLE_DELTAMU] += DeltaMuHarmonic + DeltaMuUreyBradley; } // Add Energy (*energies)[ScalarStructure::ANGLE] += eHarmonic + eUreyBradley; //#define ISG_DEBUG_ANGLE #ifdef ISG_DEBUG_ANGLE Report::report.precision(8); Report::report << "Angle atoms: " << a1 << ", " << a2 << ", " << a3 << Report::endr; Report::report << "k = " << forceConstant << ", theta0 = " << restAngle << Report::endr; Report::report << "DeltaK = " << DeltaK << ", DeltaTheta0 = " << DeltaTheta0 << Report::endr; Report::report << "theta = " << theta << Report::endr; Report::report << "current DeltaMu (angle) = " << (*energies)[ScalarStructure::ANGLE_DELTAMU] << Report::endr; Report::report << "current energy (angle) = " << (*energies)[ScalarStructure::ANGLE] << Report::endr; #endif // Add virial if(energies->virial()) { Real xy = force1.x * r12.y + force3.x * r32.y; Real xz = force1.x * r12.z + force3.x * r32.z; Real yz = force1.y * r12.z + force3.y * r32.z; (*energies)[ScalarStructure::VIRIALXX] += force1.x * r12.x + force3.x * r32.x; (*energies)[ScalarStructure::VIRIALXY] += xy; (*energies)[ScalarStructure::VIRIALXZ] += xz; (*energies)[ScalarStructure::VIRIALYX] += xy; (*energies)[ScalarStructure::VIRIALYY] += force1.y * r12.y + force3.y * r32.y; (*energies)[ScalarStructure::VIRIALYZ] += yz; (*energies)[ScalarStructure::VIRIALZX] += xz; (*energies)[ScalarStructure::VIRIALZY] += yz; (*energies)[ScalarStructure::VIRIALZZ] += force1.z * r12.z + force3.z * r32.z; } } template inline Real iSGAngleSystemForce::calcAngleEnergy(const TBoundaryConditions &boundary, const Angle& currentAngle, const Vector3DBlock* positions) { int a1, a2, a3; Real restAngle, forceConstant, ureyBradleyConstant, ureyBradleyRestLength; Vector3D atom1, atom2, atom3, r12, r32, r13; Real d13, theta, eHarmonic, eUreyBradley; a1 = currentAngle.atom1; a2 = currentAngle.atom2; a3 = currentAngle.atom3; restAngle = currentAngle.restAngle; forceConstant = currentAngle.forceConstant; ureyBradleyConstant = currentAngle.ureyBradleyConstant; ureyBradleyRestLength = currentAngle.ureyBradleyRestLength; atom1 = (*positions)[a1]; atom2 = (*positions)[a2]; atom3 = (*positions)[a3]; //r12 = atom1 - atom2; // Vector from atom 1 to atom 2. r12 = boundary.minimalDifference(atom2,atom1); //r32 = atom3 - atom2; // Vector from atom 3 to atom 2. r32 = boundary.minimalDifference(atom2,atom3); //r13 = atom1 - atom3; // Vector from atom 1 to atom 3. r13 = boundary.minimalDifference(atom3,atom1); d13 = r13.norm(); // Distance between atom 1 and 3. // Calculate theta. theta = atan2((r12.cross(r32)).norm(),r12.dot(r32)); // Calculate Energy. eHarmonic = forceConstant * (theta - restAngle)*(theta - restAngle); eUreyBradley = ureyBradleyConstant * (d13 - ureyBradleyRestLength) *(d13 - ureyBradleyRestLength); return (eHarmonic + eUreyBradley); } template inline void iSGAngleSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; unsigned int n = topo->angles.size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i static_cast(n)) to = n; int from = (n*i)/count; for (int j = from; j < to; j++) calcAngle(boundary, topo->angles[j], positions, forces, energies); } } } template inline unsigned int iSGAngleSystemForce::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock*){ return std::min(Parallel::getAvailableNum(),static_cast(topo->angles.size())); } } #endif /* ISGANGLESYSTEMFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGAngleSystemForceBase.cpp0100644027616700000500000000035310237151524026072 0ustar pbrenne1dip#include "iSGAngleSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ iSGAngleSystemForceBase const string iSGAngleSystemForceBase::keyword("iSGAngle"); } protomol/applications/iSGProtomol-app/forces/iSGAngleSystemForceBase.h0100644027616700000500000000061210237151524025535 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGANGLESYSTEMFORCEBASE_H #define ISGANGLESYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ iSGAngleSystemForceBase class iSGAngleSystemForceBase { public: virtual ~iSGAngleSystemForceBase(){} static const std::string keyword; }; } #endif /* ISGANGLESYSTEMFORCEBASE_H */ protomol/applications/iSGProtomol-app/forces/iSGBondSystemForce.h0100644027616700000500000001652110237151524024604 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGBONDSYSTEMFORCE_H #define ISGBONDSYSTEMFORCE_H #include "SystemForce.h" #include "iSGBondSystemForceBase.h" #include "ScalarStructure.h" #include "Parallel.h" namespace ProtoMol { //_________________________________________________________________ iSGBondSystemForce template class iSGBondSystemForce : public SystemForce, private iSGBondSystemForceBase{ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class iSGBondSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void calcBond(const TBoundaryConditions &boundary, const Bond& currentBond, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); Real calcBondEnergy(const TBoundaryConditions &boundary, const Bond& currentBond, const Vector3DBlock* positions); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector) const { return (new iSGBondSystemForce()); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 0;} virtual void getParameters(std::vector&) const {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //______________________________________________________________________ INLINES template inline void iSGBondSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; for (unsigned int i = 0; i < topo->bonds.size(); i++) calcBond(boundary, topo->bonds[i], positions, forces, energies); } template inline void iSGBondSystemForce::calcBond(const TBoundaryConditions &boundary, const Bond& currentBond, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { int a1 = currentBond.atom1; int a2 = currentBond.atom2; Real restLength = currentBond.restLength; Real springConstant = currentBond.springConstant; Real DeltaK = currentBond.DeltaK; Real DeltaR0 = currentBond.DeltaR0; Vector3D atom1 = (*positions)[a1]; Vector3D atom2 = (*positions)[a2]; //Vector3D r12 = atom1 - atom2; // Vector from atom 1 to atom 2. Vector3D r12 = boundary.minimalDifference(atom2,atom1); // Vector from atom 1 to atom 2. Real r = r12.norm(); // Distance between atom 1 and 2. Real dpotdr = 2.0 * springConstant * (r - restLength); // Calculate dpot/dr // Calculate force on atom1 due to atom2. Vector3D force1(r12 * (-dpotdr/r)); // Add to the total force. (*forces)[a1] += force1; (*forces)[a2] -= force1; // Add energy Real Vbond = springConstant * (r - restLength)*(r - restLength); (*energies)[ScalarStructure::BOND] += Vbond; // Add chemical potential difference if (DeltaK != 0.0 && DeltaR0 != 0.0) (*energies)[ScalarStructure::BOND_DELTAMU] += DeltaK / springConstant * Vbond - DeltaR0 * dpotdr; //#define ISG_DEBUG_BOND #ifdef ISG_DEBUG_BOND Report::report.precision(8); Report::report << "bond atoms: " << a1+1 << ", " << a2+1 << Report::endr; Report::report << "k = " << springConstant << ", r0 = " << restLength << Report::endr; Report::report << "DeltaK = " << DeltaK << ", DeltaR0 = " << DeltaR0 << Report::endr; Report::report << "bond length = " << r << Report::endr; Report::report << "current energy (bond) = "<< (*energies)::[ScalarStructure::BOND] << Report::endr; Report::report << "current DeltaMu (bond) = "<< (*energies)::[ScalarStructure::BOND_DELTAMU] << Report::endr; #endif // Add virial energies->addVirial(force1,r12); } template inline Real iSGBondSystemForce::calcBondEnergy(const TBoundaryConditions &boundary, const Bond& currentBond, const Vector3DBlock* positions) { int a1 = currentBond.atom1; int a2 = currentBond.atom2; Real restLength = currentBond.restLength; Real springConstant = currentBond.springConstant; Vector3D atom1 = (*positions)[a1]; Vector3D atom2 = (*positions)[a2]; //Vector3D r12 = atom1 - atom2; // Vector from atom 1 to atom 2. Vector3D r12 = boundary.minimalDifference(atom2,atom1); // Vector from atom 1 to atom 2. Real r = r12.norm(); // Distance between atom 1 and 2. //Calculate energy. return (springConstant * ( r - restLength)*(r - restLength)); } template inline void iSGBondSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; unsigned int n = topo->bonds.size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i static_cast(n)) to = n; int from = (n*i)/count; for (int j = from; j < to; j++) calcBond(boundary, topo->bonds[j], positions, forces, energies); } } } template inline unsigned int iSGBondSystemForce::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock*){ return std::min(Parallel::getAvailableNum(),static_cast(topo->bonds.size())); } } #endif /* ISGBONDSYSTEMFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGBondSystemForceBase.cpp0100644027616700000500000000035010237151524025723 0ustar pbrenne1dip#include "iSGBondSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ iSGBondSystemForceBase const string iSGBondSystemForceBase::keyword("iSGBond"); } protomol/applications/iSGProtomol-app/forces/iSGBondSystemForceBase.h0100644027616700000500000000060210237151524025370 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGBONDSYSTEMFORCEBASE_H #define ISGBONDSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ iSGBondSystemForceBase class iSGBondSystemForceBase { public: virtual ~iSGBondSystemForceBase(){} static const std::string keyword; }; } #endif /* ISGBONDSYSTEMFORCEBASE_H */ protomol/applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.cpp0100644027616700000500000000155310237151524026230 0ustar pbrenne1dip#include "iSGCoulombEwaldRealForce.h" using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ iSGCoulombEwaldRealForce const string iSGCoulombEwaldRealForce::keyword("iSGCoulombEwaldReal"); iSGCoulombEwaldRealForce::iSGCoulombEwaldRealForce():myAlpha(-1.0){} iSGCoulombEwaldRealForce::iSGCoulombEwaldRealForce(Real a):myAlpha(a), myAlphaSquared(a*a), my2AlphaPI(2.0*a/sqrt(M_PI)){} void iSGCoulombEwaldRealForce::getParameters(std::vector& parameters) const{ parameters.push_back(Parameter("-alpha",Value(myAlpha,ConstraintValueType::Positive()),Text("Ewald splitting"))); } iSGCoulombEwaldRealForce iSGCoulombEwaldRealForce::make(std::string& , const std::vector& values) { return iSGCoulombEwaldRealForce(values[0]); } } protomol/applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h0100644027616700000500000002273210237151524025677 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGCOULOMBEWALDREALFORCE_H #define ISGCOULOMBEWALDREALFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include "mathutilities.h" #include //#define USE_COULOMBEWALDREAL_EXACT_ERF namespace ProtoMol { //_________________________________________________________________ iSGCoulombEwaldRealForce class iSGCoulombEwaldRealForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Replacement potential of the real part for iSGEwald or iSGPME. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGCoulombEwaldRealForce(); iSGCoulombEwaldRealForce(Real a); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class CoulombEwaldRealForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real &deltaMu, Real distSquared, Real #ifdef USE_COULOMBEWALDREAL_EXACT_ERF rDistSquared #endif , const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { // needed variables bool atom1_scaled, atom2_scaled; atom1_scaled = atom2_scaled = false; int myStage, OldStage /*, atom_stage*/; myStage = OldStage /*= atom_stage*/ = 0; // Use the molecule types to determine if the atoms // are being transformed or not int M1 = topo->atoms[atom1].molecule; int M2 = topo->atoms[atom2].molecule; if (topo->molecules[M1].lambda != 0.0) {atom1_scaled = true;} if (topo->molecules[M2].lambda != 0.0) {atom2_scaled = true;} // integer used to select which interaction type to compute int Choice; // determine the value of Choice // neither atom is being transformed if ( !(atom1_scaled) && !(atom2_scaled) ) {Choice = 0;} // intramolecular interaction on a transforming molecule else if ( (atom1_scaled) && (atom2_scaled) ) Choice = 2; // one of the atoms is being transformed else Choice = 1; // the scaled charges on each atom Real q1 = topo->atoms[atom1].scaledCharge; Real q2 = topo->atoms[atom2].scaledCharge; // Compute the appropriate electrostatic interaction Real qq, rr, ar, e, q_Dq, dmu, myLambda; Real qq_correction_add, qq_correction_minus, q_Dq_correction_add, q_Dq_correction_minus; Real e_correction, myCorrection, myDMUcorrection; qq = rr = ar = e = q_Dq = dmu = myLambda = 0.0; qq_correction_add = qq_correction_minus = q_Dq_correction_add = q_Dq_correction_minus = 0.0; e_correction = myCorrection = myDMUcorrection = 0.0; #ifdef USE_COULOMBEWALDREAL_EXACT_ERF Real a = 0.0; #endif // compute the separation distance Real r = sqrt(distSquared); switch (Choice) { //---------------------------------------------------------- case 0: // interaction between two non-transforming atoms // compute the raw interaction energy and force // skip if either of the charges is zero if (q1 == 0.0 || q2 == 0.0) break; // product of charges qq = q1*q2; // scale any 1-4 interactions if desired if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) qq *= topo->coulombScalingFactor; // multiply qq by the complementary error function // Approximation Abramowitz & Stegun p299. // Energy and force #ifndef USE_COULOMBEWALDREAL_EXACT_ERF rr = 1.0/r; ar = myAlpha*r; e = qq*exp(-ar*ar); energy = poly5(ar)*e*rr; force = ((energy+my2AlphaPI*e)*rr*rr); #else a = erfc(myAlpha*r)/r; energy = qq*a; force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*rSquared))/rSquared; #endif break; //---------------------------------------------------------- case 1: // interaction between non-transforming atom and a transforming atom // compute the raw interaction energy, force, and chemical potential difference // skip if either of the charges is zero if (q1 == 0.0 || q2 == 0.0) break; // product of charges qq = q1*q2; // derivative of qq with respect to lambda q_Dq = (q1 * topo->atoms[atom2].deltaQ + q2 * topo->atoms[atom1].deltaQ); // multiply qq and q_Dq by the complementary error function // Approximation Abramowitz & Stegun p299. // Energy #ifndef USE_COULOMBEWALDREAL_EXACT_ERF rr = 1.0/r; ar = myAlpha*r; e = qq*exp(-ar*ar); dmu = q_Dq*exp(-ar*ar); energy = poly5(ar)*e*rr; deltaMu = poly5(ar)*dmu*rr; force = ((energy+my2AlphaPI*e)*rr*rr); #else a = erfc(myAlpha*r)/r; energy = qq*a; deltaMu = q_Dq*a; force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*rSquared))/rSquared; #endif break; //---------------------------------------------------------- case 2: // intramolecular interaction on a transforming molecule // get the value of lambda for this molecule myLambda = topo->molecules[M1].lambda; // determine the current transformation stage of the molecule OldStage = myStage - 1; // Energy // The interaction energy is the sum of the interaction in the // old state scaled by (myStage - lambda) plus the interaction in the new state // scaled by lambda // product of charges for each identity qq = (myStage - myLambda) * topo->atoms[atom1].Qold * topo->atoms[atom2].Qold + (myLambda - OldStage) * topo->atoms[atom1].Qnew * topo->atoms[atom2].Qnew; // The chemical potential difference is the derivative of the // energy above (qq) with respect to lambda q_Dq = topo->atoms[atom1].Qnew * topo->atoms[atom2].Qnew - topo->atoms[atom1].Qold * topo->atoms[atom2].Qold; // correction terms for intramolecular self energy and chemical potential difference // these correction terms are needed because the reciprocal space term contains an // intramolecular self term that is proportional to atoms[i].scaledCharge * atoms[j].scaledCharge, // which is NOT the correct intramolecular self interaction (see qq and q_Dq terms above). // Correcting the reciprocal intramolecular interaction amounts to the addition of a factor // of qq to the energy and q_Dq to the chemical potential difference, and subtraction of a // factor of atoms[i].scaledCharge * atoms[j].scaledCharge from the energy and // subtraction of (atoms[i].scaledCharge * atoms[j].deltaQ + atoms[j].scaledCharge * atoms[i].deltaQ) // from the chemical potential difference qq_correction_add = qq; q_Dq_correction_add = q_Dq; qq_correction_minus = 0.0; q_Dq_correction_minus = 0.0; // scale any 1-4 interactions if desired if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) { qq *= topo->coulombScalingFactor; q_Dq *= topo->coulombScalingFactor; qq_correction_add *= topo->coulombScalingFactor; q_Dq_correction_add *= topo->coulombScalingFactor; } else { // this is an unmodified intramolecular interaction, so subtract the total // reciprocal space energy and chemical potential difference qq_correction_minus = q1 * topo->atoms[atom2].scaledCharge; q_Dq_correction_minus = q1 * topo->atoms[atom2].deltaQ + q2 * topo->atoms[atom1].deltaQ; } // multiply qq and q_Dq by the complementary error function // Approximation Abramowitz & Stegun p299. // Energy #ifndef USE_COULOMBEWALDREAL_EXACT_ERF rr = 1.0/r; ar = myAlpha*r; e = qq*exp(-ar*ar); dmu = q_Dq*exp(-ar*ar); energy = poly5(ar)*e*rr; deltaMu = poly5(ar)*dmu*rr; force = ((energy+my2AlphaPI*e)*rr*rr); // Reciprocal space correction term gets // multiplied by the error function e_correction = erf(myAlpha*r)*rr; #else a = erfc(myAlpha*r)/r; energy = qq*a; deltaMu = q_Dq*a; force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*rSquared))/rSquared; // Reciprocal space correction term gets // multiplied by the error function e_correction = erf(myAlpha*r)/r; #endif // add in the reciprocal space correction terms myCorrection = e_correction * (qq_correction_add - qq_correction_minus); myDMUcorrection = e_correction * (q_Dq_correction_add - q_Dq_correction_minus); energy += myCorrection; deltaMu += myDMUcorrection; break; //---------------------------------------------------------- } // end switch structure } static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) { (*energies)[ScalarStructure::COULOMB] += energy; (*energies)[ScalarStructure::COULOMB_DELTAMU] += deltaMu; } static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 1;} void getParameters(std::vector&) const; static iSGCoulombEwaldRealForce make(std::string&, const std::vector&); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real myAlpha; Real myAlphaSquared; Real my2AlphaPI; }; //______________________________________________________________________ INLINES } #endif /* ISGCOULOMBEWALDREALFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.cpp0100644027616700000500000001052710237151524027201 0ustar pbrenne1dip#include "iSGCoulombEwaldRealTableForce.h" using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ iSGCoulombEwaldRealTableForce const string iSGCoulombEwaldRealTableForce::keyword("iSGCoulombEwaldRealTable"); //_________________________________________________________________ empty constructor iSGCoulombEwaldRealTableForce::iSGCoulombEwaldRealTableForce():myTable(NULL),myERFTable(NULL),myAlpha(-1.0),myRc(-1.0),myN(0){} //_________________________________________________________________ constructor iSGCoulombEwaldRealTableForce::iSGCoulombEwaldRealTableForce(Real a, Real rc, unsigned int n):myTable(new Real[2*n]), myERFTable(new Real[n]), myAlpha(a), myRc(rc), myAlphaSquared(a*a), my2AlphaPI(2.0*a/sqrt(M_PI)), myFac(((Real)n-2.0)/sqrt(rc)), myN(n){ // precompute values of the complementary error function for various r values for(unsigned int i=0;i((i+(i==0?0.01:0.0))/myFac); // complementary error function Real b = erfc(myAlpha*r)/r; myTable[i*2 ] = b; myTable[i*2+1] = (b+my2AlphaPI*exp(-myAlphaSquared*r*r))/(r*r); //Coulomb force contribution // error function, needed for the intramolecular correction terms Real c = erf(myAlpha*r)/r; myERFTable[i] = c; } report <(1.0/myFac)<<","<((Real)n/myFac)<<"[, table[0,1,"<& parameters) const{ parameters.push_back(Parameter("-alpha",Value(myAlpha,ConstraintValueType::Positive()),Text("splitting"))); parameters.push_back(Parameter("-tableCutoff",Value(myRc,ConstraintValueType::Positive()),Text("cutoff for table look up"))); parameters.push_back(Parameter("-tableSize",Value(myN,ConstraintValueType::Positive()),static_cast(DEFAULT_TABLE_SIZE),Text("size of table look up"))); } //_________________________________________________________________ make iSGCoulombEwaldRealTableForce iSGCoulombEwaldRealTableForce::make(std::string& , const std::vector& values) { return iSGCoulombEwaldRealTableForce(values[0],values[1],values[2]); } } protomol/applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h0100644027616700000500000002526110237151524026647 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGCOULOMBEWALDREALTABLEFORCE_H #define ISGCOULOMBEWALDREALTABLEFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include "mathutilities.h" #include namespace ProtoMol { //_________________________________________________________________ CoulombEwaldRealTableForce class iSGCoulombEwaldRealTableForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Replacement potential of the real part for Ewald or PME. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {DEFAULT_TABLE_SIZE=20000}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGCoulombEwaldRealTableForce(); iSGCoulombEwaldRealTableForce(Real a, Real rc, unsigned int n); iSGCoulombEwaldRealTableForce(iSGCoulombEwaldRealTableForce const& other); iSGCoulombEwaldRealTableForce& operator=(iSGCoulombEwaldRealTableForce const& other); ~iSGCoulombEwaldRealTableForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class CoulombEwaldRealTableForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real &deltaMu, Real distSquared, Real /*rDistSquared*/, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { // needed variables bool atom1_scaled, atom2_scaled; atom1_scaled = atom2_scaled = false; int myStage, OldStage, atom_stage; myStage = OldStage = atom_stage = 0; // Use the molecule types to determine if the atoms // are being transformed or not int M1 = topo->atoms[atom1].molecule; int M2 = topo->atoms[atom2].molecule; if (topo->molecules[M1].lambda != 0.0) {atom1_scaled = true;} if (topo->molecules[M2].lambda != 0.0) {atom2_scaled = true;} // integer used to select which interaction type to compute int Choice; // determine the value of Choice // neither atom is being transformed if ( !(atom1_scaled) && !(atom2_scaled) ) {Choice = 0;} // intramolecular interaction on a transforming molecule else if ( (atom1_scaled) && (atom2_scaled) ) { // determine the current transformation stage of the molecule myStage = static_cast(floor(topo->molecules[M1].lambda)) + 1; // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[atom1].stageNumber; int atom2_stage = topo->atoms[atom2].stageNumber; // if the current stage is not the same as either atom1_stage or atom2_stage // the neither atom is currently being transformed if (myStage != atom1_stage && myStage != atom2_stage) Choice = 0; else Choice = 2; } // one of the atoms is being transformed else { // determine the current transformation stage of the molecule // and get the transformation stage # for this atoms if (atom1_scaled) { myStage = static_cast(floor(topo->molecules[M1].lambda)) + 1; atom_stage = topo->atoms[atom1].stageNumber;} else { myStage = static_cast(floor(topo->molecules[M2].lambda)) + 1; atom_stage = topo->atoms[atom2].stageNumber;} // if the current stage is not the same as atom_stage // then neither atom is currently being transformed if (myStage != atom_stage) Choice = 0; else Choice = 1; } // the scaled charges on each atom Real q1 = topo->atoms[atom1].scaledCharge; Real q2 = topo->atoms[atom2].scaledCharge; // Compute the appropriate electrostatic interaction Real qq, q_Dq, myLambda; Real qq_correction_add, qq_correction_minus, q_Dq_correction_add, q_Dq_correction_minus; Real e_correction, myCorrection, myDMUcorrection; qq = q_Dq = myLambda = 0.0; qq_correction_add = qq_correction_minus = q_Dq_correction_add = q_Dq_correction_minus = 0.0; e_correction = myCorrection = myDMUcorrection = 0.0; // determine the ERFC table bin # for this interatomic distance Real n = sqrt(sqrt(distSquared))*myFac; int index = (int)n; Real b = n-index; //Report::report << index <<","<coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) qq *= topo->coulombScalingFactor; // compute the energy and force energy = myErfc * qq; force = myErfcForce * qq; break; //---------------------------------------------------------- case 1: // interaction between non-transforming atom and a transforming atom // compute the raw interaction energy, force, and chemical potential difference // skip if either of the charges is zero if (q1 == 0.0 || q2 == 0.0) break; // product of charges qq = q1*q2; // derivative of qq with respect to lambda q_Dq = (q1 * topo->atoms[atom2].deltaQ + q2 * topo->atoms[atom1].deltaQ); // compute the energy, force, and deltaMu energy = myErfc * qq; force = myErfcForce * qq; deltaMu = myErfc * q_Dq; break; //---------------------------------------------------------- case 2: // intramolecular interaction on a transforming molecule // get the value of lambda for this molecule myLambda = topo->molecules[M1].lambda; // determine the current transformation stage of the molecule OldStage = myStage - 1; //if (myLambda > myStage) myLambda = myStage; //else if (myLambda < OldStage) myLambda = OldStage; // Energy // The interaction energy is the sum of the interaction in the // old state scaled by (1 - lambda) plus the interaction in the new state // scaled by lambda // product of charges for each identity qq = (myStage - myLambda) * topo->atoms[atom1].Qold * topo->atoms[atom2].Qold + (myLambda - OldStage) * topo->atoms[atom1].Qnew * topo->atoms[atom2].Qnew; // The chemical potential difference is the derivative of the // energy above (qq) with respect to lambda q_Dq = topo->atoms[atom1].Qnew * topo->atoms[atom2].Qnew - topo->atoms[atom1].Qold * topo->atoms[atom2].Qold; // correction terms for intramolecular self energy and chemical potential difference // these correction terms are needed because the reciprocal space term contains an // intramolecular self term that is proportional to atoms[i].scaledCharge * atoms[j].scaledCharge, // which is NOT the correct intramolecular self interaction (see qq and q_Dq terms above). // Correcting the reciprocal intramolecular interaction amounts to the addition of a factor // of qq to the energy and q_Dq to the chemical potential difference, and subtraction of a // factor of atoms[i].scaledCharge * atoms[j].scaledCharge from the energy and // subtraction of (atoms[i].scaledCharge * atoms[j].deltaQ + atoms[j].scaledCharge * atoms[i].deltaQ) // from the chemical potential difference qq_correction_add = qq; q_Dq_correction_add = q_Dq; qq_correction_minus = 0.0; q_Dq_correction_minus = 0.0; // scale any 1-4 interactions if desired if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) { qq *= topo->coulombScalingFactor; q_Dq *= topo->coulombScalingFactor; qq_correction_add *= topo->coulombScalingFactor; q_Dq_correction_add *= topo->coulombScalingFactor; } else { // this is an unmodified intramolecular interaction, so subtract the total // reciprocal space energy and chemical potential difference qq_correction_minus = q1 * topo->atoms[atom2].scaledCharge; q_Dq_correction_minus = q1 * topo->atoms[atom2].deltaQ + q2 * topo->atoms[atom1].deltaQ; } // determine the ERF table bin # for this interatomic distance int ERFindex = index/2; // compute the energy, force, and deltaMu energy = myErfc * qq; force = myErfcForce * qq; deltaMu = myErfc * q_Dq; // look up the precomputed values of ERF to get the energy correction term e_correction = myERFTable[ERFindex]*a + myERFTable[ERFindex+1]*b; // add in the reciprocal space correction terms myCorrection = e_correction * (qq_correction_add - qq_correction_minus); myDMUcorrection = e_correction * (q_Dq_correction_add - q_Dq_correction_minus); energy += myCorrection; deltaMu += myDMUcorrection; break; //---------------------------------------------------------- } // end switch structure } // end operator() //_________________________________________________________________ accumulateEnergy static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) { (*energies)[ScalarStructure::COULOMB] += energy; (*energies)[ScalarStructure::COULOMB_DELTAMU] += deltaMu; } //_________________________________________________________________ getEnergy static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 3;} void getParameters(std::vector&) const; static iSGCoulombEwaldRealTableForce make(std::string&, const std::vector&); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real* myTable; Real* myERFTable; Real myAlpha; Real myRc; Real myAlphaSquared; Real my2AlphaPI; Real myFac; unsigned int myN; }; //______________________________________________________________________ INLINES } #endif /* ISGCOULOMBEWALDREALTABLEFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGCoulombForce.cpp0100644027616700000500000000064110237151524024444 0ustar pbrenne1dip#include "iSGCoulombForce.h" using std::string; namespace ProtoMol { //_________________________________________________________________ ISGCoulombForce const string iSGCoulombForce::keyword("iSGCoulomb"); const string iSGCoulombForce::C1::keyword("C1"); const string iSGCoulombForce::C2::keyword("C2"); const string iSGCoulombForce::C3::keyword("C3"); const string iSGCoulombForce::C4::keyword("C4"); } protomol/applications/iSGProtomol-app/forces/iSGCoulombForce.h0100644027616700000500000002661610237151524024123 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGCOULOMBFORCE_H #define ISGCOULOMBFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include namespace ProtoMol { //_________________________________________________________________ ISGCoulombForce class iSGCoulombForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // This uses the weighted charges on each atom, so the Coulomb // constant here is one. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ISGCoulombForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real &DeltaMu, Real /*distSquared*/, Real rDistSquared, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { // needed variables bool atom1_scaled, atom2_scaled; atom1_scaled = atom2_scaled = false; int myStage, OldStage, atom_stage; myStage = OldStage = atom_stage = 0; // Use the molecule types to determine if the atoms // are being transformed or not int M1 = topo->atoms[atom1].molecule; int M2 = topo->atoms[atom2].molecule; if (topo->molecules[M1].lambda != 0.0) {atom1_scaled = true;} if (topo->molecules[M2].lambda != 0.0) {atom2_scaled = true;} // integer used to select which interaction type to compute int Choice; // determine the value of Choice // neither atom is being transformed if ( !(atom1_scaled) && !(atom2_scaled) ) {Choice = 0;} // intramolecular interaction on a transforming molecule else if ( (atom1_scaled) && (atom2_scaled) ) { // determine the current transformation stage of the molecule myStage = static_cast(floor(topo->molecules[M1].lambda)) + 1; // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[atom1].stageNumber; int atom2_stage = topo->atoms[atom2].stageNumber; // if the current stage is not the same as either atom1_stage or atom2_stage // the neither atom is currently being transformed if (myStage != atom1_stage && myStage != atom2_stage) Choice = 0; else Choice = 2; } // one of the atoms is being transformed else { // determine the current transformation stage of the molecule // and get the transformation stage # for this atoms if (atom1_scaled) { myStage = static_cast(floor(topo->molecules[M1].lambda)) + 1; atom_stage = topo->atoms[atom1].stageNumber;} else { myStage = static_cast(floor(topo->molecules[M2].lambda)) + 1; atom_stage = topo->atoms[atom2].stageNumber;} // if the current stage is not the same as atom_stage // then neither atom is currently being transformed if (myStage != atom_stage) Choice = 0; else Choice = 1; } // the scaled charges on each atom Real q1 = topo->atoms[atom1].scaledCharge; Real q2 = topo->atoms[atom2].scaledCharge; //************************************************************************ // Compute the appropriate electrostatic interaction switch (Choice) { //---------------------------------------------------------- case 0: // interaction between two non-transforming atoms //compute the interaction energy energy = q1 * q2 * sqrt(rDistSquared); // scale the energy and chemical potential difference if necessary if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) energy *= topo->coulombScalingFactor; // compute the interaction force magnitude force = energy * rDistSquared; break; //---------------------------------------------------------- case 1: // interaction between non-transforming atom and a transforming atom // compute the interaction energy energy = q1 * q2 * sqrt(rDistSquared); // compute the chemical potential difference DeltaMu = (q1 * topo->atoms[atom2].deltaQ + q2 * topo->atoms[atom1].deltaQ) * sqrt(rDistSquared); // compute the interaction force magnitude force = energy * rDistSquared; break; //---------------------------------------------------------- case 2: // intramolecular interaction on a transforming molecule // get the value of lambda for this molecule Real myLambda = topo->molecules[M1].lambda; // determine the current transformation stage of the molecule OldStage = myStage - 1; // compute the interaction energy, which is the sum of the interaction in the // old state scaled by (1 - lambda) plus the interaction in the new state // scaled by lambda energy = ((myStage - myLambda) * topo->atoms[atom1].Qold * topo->atoms[atom2].Qold + (myLambda - OldStage) * topo->atoms[atom1].Qnew * topo->atoms[atom2].Qnew) * sqrt(rDistSquared); // compute the chemical potential difference, which is the derivative of the // energy above with respect to lambda DeltaMu = (topo->atoms[atom1].Qnew * topo->atoms[atom2].Qnew - topo->atoms[atom1].Qold * topo->atoms[atom2].Qold) * sqrt(rDistSquared); // scale the energy and chemical potential difference if necessary if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) { energy *= topo->coulombScalingFactor; DeltaMu *= topo->coulombScalingFactor;} // compute the interaction force magnitude force = energy * rDistSquared; break; //---------------------------------------------------------- } // end switch structure } // end operator() static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) { (*energies)[ScalarStructure::COULOMB] += energy; (*energies)[ScalarStructure::COULOMB_DELTAMU] += deltaMu; //Report::report.precision(8); //Report::report << "current DeltaMu (Coulomb) = " << energies->DeltaMu << Report::endr; //Report::report << "current energy (Coulomb) = " << energies->coulombEnergy << Report::endr; } static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 0;} void getParameters(std::vector&) const{} static iSGCoulombForce make(std::string&, std::vector) { return iSGCoulombForce(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Sub Classes //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: class C1 { public: static Real kernel(Real r) {return (1.0/r);} static Real dKernel(Real r) {r=1.0/r;return (-r*r);} static Real kernelR(Real rr) {return (rr);} static Real dKernelR(Real rr) {return (-rr*rr);} static Real smooth(Real r,Real /*c*/,Real cr) {return (cr*(1.5-0.5*r*r*cr*cr));} static Real smooth0(Real /*c*/,Real cr) {return (1.5*cr);} static Real dSmooth(Real r,Real /*c*/,Real cr) {return (-r*cr*cr*cr);} static Real smoothKernel(Real r,Real c,Real cr) {return (r class iSGDihedralSystemForce: public iSGMTorsionSystemForce, private iSGDihedralSystemForceBase{ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector) const { return (new iSGDihedralSystemForce());} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 0;} virtual void getParameters(std::vector&) const {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //______________________________________________________________________ INLINES template inline void iSGDihedralSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; for (unsigned int i = 0; i < topo->dihedrals.size(); i++) calcTorsion(boundary,topo->dihedrals[i], positions, forces, (*energies)[ScalarStructure::DIHEDRAL], (*energies)[ScalarStructure::DIHEDRAL_DELTAMU], energies); } template inline void iSGDihedralSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; unsigned int n = topo->dihedrals.size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i static_cast(n)) to = n; int from = (n*i)/count; for (int j = from; j < to; j++) calcTorsion(boundary, topo->dihedrals[j], positions, forces, (*energies)[ScalarStructure::DIHEDRAL], (*energies)[ScalarStructure::DIHEDRAL_DELTAMU], energies); } } } template inline unsigned int iSGDihedralSystemForce::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock*){ return std::min(Parallel::getAvailableNum(),static_cast(topo->dihedrals.size())); } } #endif /* ISGDIHEDRALSYSTEMFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGDihedralSystemForceBase.cpp0100644027616700000500000000037010237151524026557 0ustar pbrenne1dip#include "iSGDihedralSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ iSGDihedralSystemForceBase const string iSGDihedralSystemForceBase::keyword("iSGDihedral"); } protomol/applications/iSGProtomol-app/forces/iSGDihedralSystemForceBase.h0100644027616700000500000000063310237151524026226 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGDIHEDRALSYSTEMFORCEBASE_H #define ISGDIHEDRALSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ iSGDihedralSystemForceBase class iSGDihedralSystemForceBase { public: virtual ~iSGDihedralSystemForceBase(){} static const std::string keyword; }; } #endif /* ISGDIHEDRALSYSTEMFORCEBASE_H */ protomol/applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.cpp0100644027616700000500000000074110237151524026037 0ustar pbrenne1dip#include "iSGIdealGasCoulombForce.h" using std::string; namespace ProtoMol { //_________________________________________________________________ iSGCIdealGasoulombForce const string iSGIdealGasCoulombForce::keyword("iSGIdealGasCoulomb"); const string iSGIdealGasCoulombForce::C1::keyword("C1"); const string iSGIdealGasCoulombForce::C2::keyword("C2"); const string iSGIdealGasCoulombForce::C3::keyword("C3"); const string iSGIdealGasCoulombForce::C4::keyword("C4"); } protomol/applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h0100644027616700000500000002444110237151524025507 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGIDEALGASCOULOMBFORCE_H #define ISGIDEALGASCOULOMBFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include namespace ProtoMol { //_________________________________________________________________ iSGIdealGasCoulombForce class iSGIdealGasCoulombForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // This uses the weighted charges on each atom, so the Coulomb // constant here is one. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ISGCoulombForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real &DeltaMu, Real /*distSquared*/, Real rDistSquared, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { // needed variables bool atom1_scaled, atom2_scaled; atom1_scaled = atom2_scaled = false; int myStage, OldStage; myStage = OldStage = 0; // Use the molecule types to determine if the atoms // are being transformed or not int M1 = topo->atoms[atom1].molecule; int M2 = topo->atoms[atom2].molecule; if (topo->molecules[M1].lambda != 0.0) {atom1_scaled = true;} if (topo->molecules[M2].lambda != 0.0) {atom2_scaled = true;} // integer used to select which interaction type to compute int Choice = 0; // determine the value of Choice // neither atom is being transformed if ( !(atom1_scaled) && !(atom2_scaled) ) {Choice = 0;} // intramolecular interaction on a transforming molecule else if ( (atom1_scaled) && (atom2_scaled) ) { // determine the current transformation stage of the molecule myStage = static_cast(floor(topo->molecules[M1].lambda)) + 1; // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[atom1].stageNumber; int atom2_stage = topo->atoms[atom2].stageNumber; // if the current stage is not the same as either atom1_stage or atom2_stage // the neither atom is currently being transformed if (myStage != atom1_stage && myStage != atom2_stage) Choice = 0; else Choice = 2; } // the scaled charges on each atom Real q1 = topo->atoms[atom1].scaledCharge; Real q2 = topo->atoms[atom2].scaledCharge; //************************************************************************ // Compute the appropriate electrostatic interaction switch (Choice) { //---------------------------------------------------------- case 0: // interaction between two non-transforming atoms // do not compute if these are two different molecules if (M1 != M2) break; //compute the interaction energy energy = q1 * q2 * sqrt(rDistSquared); // scale the energy and chemical potential difference if necessary if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) energy *= topo->coulombScalingFactor; // compute the interaction force magnitude force = energy * rDistSquared; break; //---------------------------------------------------------- case 2: // intramolecular interaction on a transforming molecule // get the value of lambda for this molecule Real myLambda = topo->molecules[M1].lambda; // determine the current transformation stage of the molecule OldStage = myStage - 1; //if (myLambda > myStage) myLambda = myStage; //else if (myLambda < OldStage) myLambda = OldStage; // compute the interaction energy, which is the sum of the interaction in the // old state scaled by (1 - lambda) plus the interaction in the new state // scaled by lambda energy = ((myStage - myLambda) * topo->atoms[atom1].Qold * topo->atoms[atom2].Qold + (myLambda - OldStage) * topo->atoms[atom1].Qnew * topo->atoms[atom2].Qnew) * sqrt(rDistSquared); // compute the chemical potential difference, which is the derivative of the // energy above with respect to lambda DeltaMu = (topo->atoms[atom1].Qnew * topo->atoms[atom2].Qnew - topo->atoms[atom1].Qold * topo->atoms[atom2].Qold) * sqrt(rDistSquared); // scale the energy and chemical potential difference if necessary if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) { energy *= topo->coulombScalingFactor; DeltaMu *= topo->coulombScalingFactor;} // compute the interaction force magnitude force = energy * rDistSquared; break; //---------------------------------------------------------- } // end switch structure } // end operator() static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) { (*energies)[ScalarStructure::COULOMB] += energy; (*energies)[ScalarStructure::COULOMB_DELTAMU] += deltaMu; } static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 0;} void getParameters(std::vector&) const{} static iSGIdealGasCoulombForce make(std::string&, std::vector) { return iSGIdealGasCoulombForce(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Sub Classes //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: class C1 { public: static Real kernel(Real r) {return (1.0/r);} static Real dKernel(Real r) {r=1.0/r;return (-r*r);} static Real kernelR(Real rr) {return (rr);} static Real dKernelR(Real rr) {return (-rr*rr);} static Real smooth(Real r,Real /*c*/,Real cr) {return (cr*(1.5-0.5*r*r*cr*cr));} static Real smooth0(Real /*c*/,Real cr) {return (1.5*cr);} static Real dSmooth(Real r,Real /*c*/,Real cr) {return (-r*cr*cr*cr);} static Real smoothKernel(Real r,Real c,Real cr) {return (r namespace ProtoMol { //_________________________________________________________________ iSGIdealGasLennardJonesForce class iSGIdealGasLennardJonesForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGIdealGasLennardJonesForce() {}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ISGLennardJonesForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real &DeltaMu, Real DistSquared, Real rDistSquared, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { // Use the molecule types to determine if the atoms // are being transformed or not int M1 = topo->atoms[atom1].molecule; int M2 = topo->atoms[atom2].molecule; // transforming atom indicators bool atom1_scaled, atom2_scaled; atom1_scaled = atom2_scaled = false; int myStage, OldStage, atom_stage; myStage = OldStage = atom_stage = 0; // if lambda for either molecule is nonzero then the molecule is being transformed if (topo->molecules[M1].lambda != 0.0) {atom1_scaled = true;} if (topo->molecules[M2].lambda != 0.0) {atom2_scaled = true;} // skip if the molecules are different (intermolecular case) if (M1 != M2) return; // Fast LJ computations Real r2 = rDistSquared; Real r6 = r2*r2*r2; Real r12, rij_6; // soft-core interaction variables Real Vr6_old, Vr6_new, Vr12_old, Vr12_new; Real Lambda, alpha; // energy and size parameter variables LennardJonesParameters params, params_old, params_new; Real A_old, A_new, B_old, B_new; // LJ parameter bank indices unsigned int i, j; // integer used to select which interaction type to compute int Choice; // determine the value of Choice // neither atom is being transformed if ( !(atom1_scaled) && !(atom2_scaled) ) {Choice = 0;} // intramolecular interaction on a transforming molecule else if ( (atom1_scaled) && (atom2_scaled) ) { // determine the current transformation stage of the molecule myStage = static_cast(floor(topo->molecules[M1].lambda)) + 1; // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[atom1].stageNumber; int atom2_stage = topo->atoms[atom2].stageNumber; // if the current stage is not the same as either atom1_stage or atom2_stage // then neither atom is currently being transformed if (myStage != atom1_stage && myStage != atom2_stage) Choice = 0; else Choice = 2; } // one of the atoms is being transformed else { // determine the current transformation stage of the molecule // and get the transformation stage # for this atoms if (atom1_scaled) { myStage = static_cast(floor(topo->molecules[M1].lambda)) + 1; atom_stage = topo->atoms[atom1].stageNumber;} else { myStage = static_cast(floor(topo->molecules[M2].lambda)) + 1; atom_stage = topo->atoms[atom2].stageNumber;} // if the current stage is not the same as atom_stage // then neither atom is currently being transformed if (myStage != atom_stage) Choice = 0; else return; } //************************************************************************ // Compute the appropriate LJ interaction DeltaMu = 0.0; switch (Choice) { //---------------------------------------------------------- case 0: // interaction between two non-transforming atoms // get the identities of the two atoms // i, j and are used to retrieve the correct set of // parameters from the LJ parameter bank // to access the proper LJ bank, atomI must always be the // atom with the LOWER atom_type number -- TIM if (topo->atoms[atom1].type <= topo->atoms[atom2].type) { i = topo->molecules[M1].type; j = topo->molecules[M2].type;} else { i = topo->molecules[M2].type; j = topo->molecules[M1].type;} // get the LJ parameters for this pair params = topo->isgLJParms(i,j,topo->atoms[atom1].type,topo->atoms[atom2].type); A_old = (excl != EXCLUSION_MODIFIED ? params.A : params.A14); B_old = (excl != EXCLUSION_MODIFIED ? params.B : params.B14); // if any of these atoms are dummy atoms (epsilon = 0), then skip if (A_old == 0.0) break; // attractive LJ term Vr6_old = B_old * r6; // repulsive LJ term r12 = r6 * r6; Vr12_old = A_old * r12; // energy and force energy = Vr12_old - Vr6_old; force = 12.0*Vr12_old*r2 - 6.0*r2*Vr6_old; break; //---------------------------------------------------------- case 2: // intramolecular interaction on a transforming molecule // Get the lambda factor for each atom Lambda = topo->molecules[M1].lambda; // Get the alphaLJ parameter for this interaction Real tempAlpha1 = topo->atoms[atom1].alphaLJ; Real tempAlpha2 = topo->atoms[atom2].alphaLJ; if (tempAlpha1 > tempAlpha2) alpha = tempAlpha1; else alpha = tempAlpha2; // retrieve the A-A and B-B energy and size parameters // j is used to retrieve the correct set of // parameters from the LJ parameter bank j = topo->molecules[M1].type; // get the LJ parameters for this pair when the atoms are in the old state params_old = topo->isgLJParms(j,j,topo->atoms[atom1].type,topo->atoms[atom2].type); // determine the proper index # into to the bank when the atoms are in the new state j = topo->molecules[M1].newtype; // get the LJ parameters for this pair when the atoms are in the new state params_new = topo->isgLJParms(j,j,topo->atoms[atom1].type,topo->atoms[atom2].type); A_old = (excl != EXCLUSION_MODIFIED ? params_old.A : params_old.A14); B_old = (excl != EXCLUSION_MODIFIED ? params_old.B : params_old.B14); A_new = (excl != EXCLUSION_MODIFIED ? params_new.A : params_new.A14); B_new = (excl != EXCLUSION_MODIFIED ? params_new.B : params_new.B14); // if both of these atoms are dummy atoms (epsilon = 0), then skip if (A_old == 0.0 && A_new == 0.0) break; // determine the current transformation stage of the molecule OldStage = myStage - 1; // LJ soft-core energy scaling factors Real LambdaMu = 2.0 * alpha * (Lambda - OldStage) * (myStage - Lambda); Real Scale_old = alpha * (Lambda - OldStage) * (Lambda - OldStage); Real Scale_new = alpha * (myStage - Lambda) * (myStage - Lambda); // soft-core interaction distances // if the transforming atom is a dummy atom in one of its identities then // we must make sure not to divide by zero Real SoftDist_old, SoftDist_new; rij_6 = DistSquared * DistSquared * DistSquared; if (A_old != 0.0) SoftDist_old = rij_6 + (A_old / B_old) * Scale_old; else SoftDist_old = 1.0; if (A_new != 0.0) SoftDist_new = rij_6 + (A_new / B_new) * Scale_new; else SoftDist_new = 1.0; // attractive LJ terms Vr6_old = B_old / SoftDist_old; Vr6_new = B_new / SoftDist_new; // repulsive LJ terms Vr12_old = A_old / (SoftDist_old * SoftDist_old); Vr12_new = A_new / (SoftDist_new * SoftDist_new); // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[atom1].stageNumber; int atom2_stage = topo->atoms[atom2].stageNumber; int max_stage = max(atom1_stage,atom2_stage); // if the transforming atom is a dummy atom in one of its identities then // we must make sure not to divide by zer if (A_old == 0.0) { A_old = 1.0; B_old = 1.0;} if (A_new == 0.0) { A_new = 1.0; B_new = 1.0;} // if the current stage is not the same as the largest atom stage number then // we do not compute any deltaMu, and if the current stage is less than the largest // atom stage number then we only compute interactions in the old identity, if the // current stage is larger than both atom stage numbers then we use only the new identity if (myStage == max_stage) { // energy, force, and chemical potential difference energy = (myStage - Lambda) * (Vr12_old - Vr6_old) + (Lambda - OldStage) * (Vr12_new - Vr6_new); force = 6.0 * r2 * rij_6 * ((myStage - Lambda) * Vr12_old * (2.0 * Vr6_old/B_old - B_old/A_old) + (Lambda - OldStage) * Vr12_new * (2.0 * Vr6_new/B_new - B_new/A_new)); DeltaMu = (Vr12_new - Vr6_new) - (Vr12_old - Vr6_old) + LambdaMu * (Vr12_new * (2.0 * Vr6_new*(A_new/(B_new*B_new)) - 1.0) - Vr12_old * (2.0 * Vr6_old*(A_old/(B_old*B_old)) - 1.0)); } else if (myStage > max_stage) { // energy, force, and chemical potential difference (new identity) energy = (Lambda - OldStage) * (Vr12_new - Vr6_new); force = 6.0 * r2 * rij_6 * (Lambda - OldStage) * Vr12_new * (2.0 * Vr6_new/B_new - B_new/A_new); } else { // energy, force, and chemical potential difference (old identity) energy = (myStage - Lambda) * (Vr12_old - Vr6_old); force = 6.0 * r2 * rij_6 * (myStage - Lambda) * Vr12_old * (2.0 * Vr6_old/B_old - B_old/A_old); } break; //************************************************************************ } // end switch structure } static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) { (*energies)[ScalarStructure::LENNARDJONES] += energy; (*energies)[ScalarStructure::LENNARDJONES_DELTAMU] += deltaMu; } static Real getEnergy(const ScalarStructure* energies) { return (*energies)[ScalarStructure::LENNARDJONES];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 0;} void getParameters(std::vector&) const{} static iSGIdealGasLennardJonesForce make(std::string& , std::vector) { return iSGIdealGasLennardJonesForce(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: }; //______________________________________________________________________ INLINES } #endif /* ISGIDEALGASLENNARDJONESFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGImproperSystemForce.h0100644027616700000500000001040410237151524025511 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGIMPROPERSYSTEMFORCE_H #define ISGIMPROPERSYSTEMFORCE_H #include "iSGMTorsionSystemForce.h" #include "iSGImproperSystemForceBase.h" #include "ScalarStructure.h" #include "Parallel.h" namespace ProtoMol { //_________________________________________________________________ iSGImproperSystemForce template class iSGImproperSystemForce: public iSGMTorsionSystemForce, private iSGImproperSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector) const { return (new iSGImproperSystemForce()); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 0;} virtual void getParameters(std::vector&) const {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //______________________________________________________________________ INLINES template inline void iSGImproperSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; for (unsigned int i = 0; i < topo->impropers.size(); i++) calcTorsion(boundary,topo->impropers[i], positions, forces, (*energies)[ScalarStructure::IMPROPER], (*energies)[ScalarStructure::IMPROPER_DELTAMU], energies); } template inline void iSGImproperSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; unsigned int n = topo->impropers.size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i static_cast(n)) to = n; int from = (n*i)/count; for (int j = from; j < to; j++) calcTorsion(boundary, topo->impropers[j], positions, forces, (*energies)[ScalarStructure::IMPROPER], (*energies)[ScalarStructure::IMPROPER_DELTAMU], energies); } } } template inline unsigned int iSGImproperSystemForce::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock*){ return std::min(Parallel::getAvailableNum(),static_cast(topo->impropers.size())); } } #endif /* ISGIMPROPERSYSTEMFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGImproperSystemForceBase.cpp0100644027616700000500000000037010237151524026640 0ustar pbrenne1dip#include "iSGImproperSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ iSGImproperSystemForceBase const string iSGImproperSystemForceBase::keyword("iSGImproper"); } protomol/applications/iSGProtomol-app/forces/iSGImproperSystemForceBase.h0100644027616700000500000000063610237151524026312 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGIMPROPERSYSTEMFORCEBASE_H #define ISGIMPROPERSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ iSGImproperSystemForceBase class iSGImproperSystemForceBase { public: virtual ~iSGImproperSystemForceBase(){} static const std::string keyword; }; } #endif /* ISGIMPROPERSYSTEMFORCEBASE_H */ protomol/applications/iSGProtomol-app/forces/iSGLennardJonesForce.cpp0100644027616700000500000000035010237151524025423 0ustar pbrenne1dip#include "iSGLennardJonesForce.h" using std::string; //_________________________________________________________________ ISGLennardJonesForce namespace ProtoMol { const string iSGLennardJonesForce::keyword("iSGLennardJones"); } protomol/applications/iSGProtomol-app/forces/iSGLennardJonesForce.h0100755027616700000500000004444210237151524025105 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGLENNARDJONESFORCE_H #define ISGLENNARDJONESFORCE_H #include "GenericTopology.h" #include "LennardJonesParameters.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include // uncomment for debugging purposes //#define DEBUG_NORMAL_LJ //#define DEBUG_SOFTCORE //#define DEBUG_LJ_DISTANCE_CHECK namespace ProtoMol { //_________________________________________________________________ ISGLennardJonesForce class iSGLennardJonesForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGLennardJonesForce() {}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class iSGLennardJonesForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real &DeltaMu, Real DistSquared, Real rDistSquared, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { #ifdef DEBUG_LJ_DISTANCE_CHECK if(rDistSquared > 1.0/0.25) Report::report << Report::warning << "iSGLennardJonesForce::operator(): atom "<atoms[atom1].molecule; int M2 = topo->atoms[atom2].molecule; // if lambda for either molecule is nonzero then the molecule is being transformed if (topo->molecules[M1].lambda != 0.0) {atom1_scaled = true;} if (topo->molecules[M2].lambda != 0.0) {atom2_scaled = true;} // integer used to select which interaction type to compute int Choice; // determine the value of Choice // neither atom is being transformed if ( !(atom1_scaled) && !(atom2_scaled) ) {Choice = 0;} // intramolecular interaction on a transforming molecule else if ( (atom1_scaled) && (atom2_scaled) ) { // determine the current transformation stage of the molecule myStage = static_cast(floor(topo->molecules[M1].lambda)) + 1; // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[atom1].stageNumber; int atom2_stage = topo->atoms[atom2].stageNumber; // if the current stage is not the same as either atom1_stage or atom2_stage // then neither atom is currently being transformed if (myStage != atom1_stage && myStage != atom2_stage) Choice = 0; else Choice = 2; } // one of the atoms is being transformed else { // determine the current transformation stage of the molecule // and get the transformation stage # for this atoms if (atom1_scaled) { myStage = static_cast(floor(topo->molecules[M1].lambda)) + 1; atom_stage = topo->atoms[atom1].stageNumber;} else { myStage = static_cast(floor(topo->molecules[M2].lambda)) + 1; atom_stage = topo->atoms[atom2].stageNumber;} // if the current stage is not the same as atom_stage // then neither atom is currently being transformed if (myStage != atom_stage) Choice = 0; else Choice = 1; } //************************************************************************ // Compute the appropriate LJ interaction DeltaMu = 0.0; switch (Choice) { //---------------------------------------------------------- case 0: // interaction between two non-transforming atoms // get the identities of the two atoms // i, j and are used to retrieve the correct set of // parameters from the LJ parameter bank // to access the proper LJ bank, atomI must always be the // atom with the LOWER atom_type number since that is how // the bank was constructed in the buildISGTopology function if (topo->atoms[atom1].type <= topo->atoms[atom2].type) { i = topo->molecules[M1].type; j = topo->molecules[M2].type;} else { i = topo->molecules[M2].type; j = topo->molecules[M1].type;} // check to see if atom1 may have already been successfully transformed in a previous stage if (atom1_scaled) { // this atom has already been transformed if myStage > atom_stage if (myStage > atom_stage) { if (topo->atoms[atom1].type <= topo->atoms[atom2].type) i = topo->molecules[M1].newtype; else j = topo->molecules[M1].newtype; } } // end if statement // check to see if atom2 may have already been successfully transformed in a previous stage if (atom2_scaled) { // this atom has already been transformed if myStage > atom_stage if (myStage > atom_stage) { if (topo->atoms[atom1].type <= topo->atoms[atom2].type) j = topo->molecules[M2].newtype; else i = topo->molecules[M2].newtype; } } // end if statement // get the LJ parameters for this pair params = topo->isgLJParms(i,j,topo->atoms[atom1].type,topo->atoms[atom2].type); A_old = (excl != EXCLUSION_MODIFIED ? params.A : params.A14); B_old = (excl != EXCLUSION_MODIFIED ? params.B : params.B14); // if any of these atoms are dummy atoms (epsilon = 0), then skip if (A_old == 0.0) break; // attractive LJ term Vr6_old = B_old * r6; // repulsive LJ term r12 = r6 * r6; Vr12_old = A_old * r12; // energy and force energy = Vr12_old - Vr6_old; force = 12.0*Vr12_old*r2 - 6.0*r2*Vr6_old; #ifdef DEBUG_NORMAL_LJ Report::report.precision(6); Report::report << "i = " << atom1+1 << ", j = " << atom2+1 << ", " << i << ", " << j << ", eps = " << B_old*B_old / (4.0*A_old) << ", energy = " << energy << Report::endr; #endif break; //---------------------------------------------------------- case 1: // interaction between non-transforming atom and a transforming atom // 'old' indicates OldType, 'new' indicates NewType if (atom1_scaled) { // get the lambda factor Lambda = topo->molecules[M1].lambda; // get the identities of the two atoms type1_old = topo->molecules[M1].type; type1_new = topo->molecules[M1].newtype; type2 = topo->molecules[M2].type; // get the alphaLJ parameter for this atom alpha = topo->atoms[atom1].alphaLJ; } else { // get the lambda factor Lambda = topo->molecules[M2].lambda; // get the identities of the two atoms type1_old = topo->molecules[M2].type; type1_new = topo->molecules[M2].newtype; type2 = topo->molecules[M1].type; // get the alphaLJ parameter for this atom alpha = topo->atoms[atom2].alphaLJ; } // i, j and are used to retrieve the correct set of // parameters from the LJ parameter bank // if atom 1 is the transforming atom... if (atom1_scaled) { // to access the proper LJ bank, atomI must always be the // atom with the LOWER atom_type number -- TIM if (topo->atoms[atom1].type <= topo->atoms[atom2].type) { i = type1_old; j = type2;} else { i = type2; j = type1_old; } } // if atom2 is the transforming atom then the procedure // below is the opposite of the procedure above. AtomI must still // be the atom with the LOWER atom_type number, but remember that // if atom2 is the transforming atom then the variable type2 is equal // to the molecule_type of atom 1!!! else { // if atom1 has a lower atom_type, then i = type2 since now type2 // is equal to the molecule_type of atom1 if (topo->atoms[atom1].type <= topo->atoms[atom2].type) { i = type2; j = type1_old;} // if atom2 has the lower atom_type, then i = type1A else { i = type1_old; j = type2; } } // compute the A-B and B-B epsilon and sigmas // retrieve the A & B parameters for these interaction types // get the LJ parameters for this pair when the transforming atom is in the old state params_old = topo->isgLJParms(i,j,topo->atoms[atom1].type,topo->atoms[atom2].type); // determine the new i and j when the transforming atom is in the new state if (atom1_scaled) { if (topo->atoms[atom1].type <= topo->atoms[atom2].type) i = type1_new; else j = type1_new;} else { if (topo->atoms[atom1].type <= topo->atoms[atom2].type) j = type1_new; else i = type1_new; } // get the LJ parameters for this pair when the transforming atom is in the new state params_new = topo->isgLJParms(i,j,topo->atoms[atom1].type,topo->atoms[atom2].type); A_old = (params_old.A); B_old = (params_old.B); A_new = (params_new.A); B_new = (params_new.B); // if the type2 atom is a dummy atom then skip (epsilon = 0) if (A_old == 0.0 && A_new == 0.0) break; // determine the current transformation stage of the molecule OldStage = myStage - 1; // LJ soft-core energy scaling factors LambdaMu = 2.0 * alpha * (Lambda - OldStage) * (myStage - Lambda); Scale_old = alpha * (Lambda - OldStage) * (Lambda - OldStage); Scale_new = alpha * (myStage - Lambda) * (myStage - Lambda); // soft-core interaction distances // if the transforming atom is a dummy atom in one of its identities then // we must make sure not to divide by zero rij_6 = DistSquared * DistSquared * DistSquared; if (A_old != 0.0) SoftDist_old = rij_6 + (A_old / B_old) * Scale_old; else SoftDist_old = 1.0; if (A_new != 0.0) SoftDist_new = rij_6 + (A_new / B_new) * Scale_new; else SoftDist_new = 1.0; // attractive LJ terms Vr6_old = B_old / SoftDist_old; Vr6_new = B_new / SoftDist_new; // repulsive LJ terms Vr12_old = A_old / (SoftDist_old * SoftDist_old); Vr12_new = A_new / (SoftDist_new * SoftDist_new); // energy, force, and chemical potential difference // if the transforming atom is a dummy atom in one of its identities then // we must make sure not to divide by zero if (A_old == 0.0) { A_old = 1.0; B_old = 1.0;} if (A_new == 0.0) { A_new = 1.0; B_new = 1.0;} energy = (myStage - Lambda) * (Vr12_old - Vr6_old) + (Lambda - OldStage) * (Vr12_new - Vr6_new); force = 6.0 * r2 / r6 * ((myStage - Lambda) * Vr12_old * (2.0 * Vr6_old/B_old - B_old/A_old) + (Lambda - OldStage) * Vr12_new * (2.0 * Vr6_new/B_new - B_new/A_new)); DeltaMu = (Vr12_new - Vr6_new) - (Vr12_old - Vr6_old) + LambdaMu * (Vr12_new * (2.0 * Vr6_new*(A_new/(B_new*B_new)) - 1.0) - Vr12_old * (2.0 * Vr6_old*(A_old/(B_old*B_old)) - 1.0)); #ifdef DEBUG_SOFTCORE Report::report.precision(6); Report::report << Report::warning << "i = " << atom1+1 << ", j = " << atom2+1 << ", " << type1_old << "->" << type1_new << ", " << type2 << ", rij = " << 1.0/sqrt(r2) << ", Energy = " << energy << ", force = " << force << ", DeltaMu = " << DeltaMu << Report::endr; #endif //DEBUG_SOFTCORE break; //---------------------------------------------------------- case 2: // intramolecular interaction on a transforming molecule // Get the lambda factor for each atom Lambda = topo->molecules[M1].lambda; // Get the alphaLJ parameter for this interaction Real tempAlpha1 = topo->atoms[atom1].alphaLJ; Real tempAlpha2 = topo->atoms[atom2].alphaLJ; if (tempAlpha1 > tempAlpha2) alpha = tempAlpha1; else alpha = tempAlpha2; // retrieve the A-A and B-B energy and size parameters // j is used to retrieve the correct set of // parameters from the LJ parameter bank j = topo->molecules[M1].type; // get the LJ parameters for this pair when the atoms are in the old state params_old = topo->isgLJParms(j,j,topo->atoms[atom1].type,topo->atoms[atom2].type); // determine the proper index # into to the bank when the atoms are in the new state j = topo->molecules[M1].newtype; // get the LJ parameters for this pair when the atoms are in the new state params_new = topo->isgLJParms(j,j,topo->atoms[atom1].type,topo->atoms[atom2].type); A_old = (excl != EXCLUSION_MODIFIED ? params_old.A : params_old.A14); B_old = (excl != EXCLUSION_MODIFIED ? params_old.B : params_old.B14); A_new = (excl != EXCLUSION_MODIFIED ? params_new.A : params_new.A14); B_new = (excl != EXCLUSION_MODIFIED ? params_new.B : params_new.B14); // if both of these atoms are dummy atoms (epsilon = 0), then skip if (A_old == 0.0 && A_new == 0.0) break; // determine the current transformation stage of the molecule OldStage = myStage - 1; // LJ soft-core energy scaling factors LambdaMu = 2.0 * alpha * (Lambda - OldStage) * (myStage - Lambda); Scale_old = alpha * (Lambda - OldStage) * (Lambda - OldStage); Scale_new = alpha * (myStage - Lambda) * (myStage - Lambda); // soft-core interaction distances // if the transforming atom is a dummy atom in one of its identities then // we must make sure not to divide by zero rij_6 = DistSquared * DistSquared * DistSquared; if (A_old != 0.0) SoftDist_old = rij_6 + (A_old / B_old) * Scale_old; else SoftDist_old = 1.0; if (A_new != 0.0) SoftDist_new = rij_6 + (A_new / B_new) * Scale_new; else SoftDist_new = 1.0; // attractive LJ terms Vr6_old = B_old / SoftDist_old; Vr6_new = B_new / SoftDist_new; // repulsive LJ terms Vr12_old = A_old / (SoftDist_old * SoftDist_old); Vr12_new = A_new / (SoftDist_new * SoftDist_new); // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[atom1].stageNumber; int atom2_stage = topo->atoms[atom2].stageNumber; int max_stage = max(atom1_stage,atom2_stage); // if the transforming atom is a dummy atom in one of its identities then // we must make sure not to divide by zer if (A_old == 0.0) { A_old = 1.0; B_old = 1.0;} if (A_new == 0.0) { A_new = 1.0; B_new = 1.0;} // if the current stage is not the same as the largest atom stage number then // we do not compute any deltaMu, and if the current stage is less than the largest // atom stage number then we only compute interactions in the old identity, if the // current stage is larger than both atom stage numbers then we use only the new identity if (myStage == max_stage) { // energy, force, and chemical potential difference energy = (myStage - Lambda) * (Vr12_old - Vr6_old) + (Lambda - OldStage) * (Vr12_new - Vr6_new); force = 6.0 * r2 * rij_6 * ((myStage - Lambda) * Vr12_old * (2.0 * Vr6_old/B_old - B_old/A_old) + (Lambda - OldStage) * Vr12_new * (2.0 * Vr6_new/B_new - B_new/A_new)); DeltaMu = (Vr12_new - Vr6_new) - (Vr12_old - Vr6_old) + LambdaMu * (Vr12_new * (2.0 * Vr6_new*(A_new/(B_new*B_new)) - 1.0) - Vr12_old * (2.0 * Vr6_old*(A_old/(B_old*B_old)) - 1.0)); } else if (myStage > max_stage) { // energy, force, and chemical potential difference (new identity) energy = (Lambda - OldStage) * (Vr12_new - Vr6_new); force = 6.0 * r2 * rij_6 * (Lambda - OldStage) * Vr12_new * (2.0 * Vr6_new/B_new - B_new/A_new); } else { // energy, force, and chemical potential difference (old identity) energy = (myStage - Lambda) * (Vr12_old - Vr6_old); force = 6.0 * r2 * rij_6 * (myStage - Lambda) * Vr12_old * (2.0 * Vr6_old/B_old - B_old/A_old); } break; //************************************************************************ } // end switch structure } // end operator() static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) { (*energies)[ScalarStructure::LENNARDJONES] += energy; (*energies)[ScalarStructure::LENNARDJONES_DELTAMU] += deltaMu; } static Real getEnergy(const ScalarStructure* energies) { return (*energies)[ScalarStructure::LENNARDJONES];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 0;} void getParameters(std::vector&) const{} static iSGLennardJonesForce make(std::string& , const std::vector&) { return iSGLennardJonesForce(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: }; //______________________________________________________________________ INLINES } #endif /* ISGLENNARDJONESFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.cpp0100644027616700000500000000715310237151524026403 0ustar pbrenne1dip#include "iSGLennardJonesTableForce.h" using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ iSGLennardJonesTableForce const string iSGLennardJonesTableForce::keyword("iSGLennardJonesTable"); //_________________________________________________________________ empty constructor iSGLennardJonesTableForce::iSGLennardJonesTableForce():myTable(NULL),myRc(-1.0),myN(0),alpha(0.0) {} //_________________________________________________________________ constructor iSGLennardJonesTableForce::iSGLennardJonesTableForce(Real rc, unsigned int n, Real myAlpha):myTable(new Real[4*n]), myRc(rc), myFac(((Real)n-2.0)/rc), myN(n), alpha(myAlpha) { for(unsigned int i=0;i& parameters) const{ parameters.push_back(Parameter("-tableCutoff",Value(myRc,ConstraintValueType::Positive()),Text("cutoff for table look up"))); parameters.push_back(Parameter("-tableSize",Value(myN,ConstraintValueType::Positive()),static_cast(DEFAULT_TABLE_SIZE),Text("size of table look up"))); parameters.push_back(Parameter("-alpha", Value(alpha))); } //_________________________________________________________________ make()) iSGLennardJonesTableForce iSGLennardJonesTableForce::make(std::string& , const std::vector& values) { return iSGLennardJonesTableForce(values[0],values[1],values[2]); } } protomol/applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h0100644027616700000500000004472710237151524026060 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGLENNARDJONESTABLEFORCE_H #define ISGLENNARDJONESTABLEFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include "mathutilities.h" #include namespace ProtoMol { //_________________________________________________________________ iSGLennardJonesTableForce class iSGLennardJonesTableForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Replacement potential of the real part for or PME. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {DEFAULT_TABLE_SIZE=20000}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGLennardJonesTableForce(); iSGLennardJonesTableForce(Real rc, unsigned int n, Real myAlpha); iSGLennardJonesTableForce(iSGLennardJonesTableForce const& other); iSGLennardJonesTableForce& operator=(iSGLennardJonesTableForce const& other); ~iSGLennardJonesTableForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class iSGLennardJonesTableForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real &deltaMu, Real distSquared, Real /*rDistSquared*/, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { // soft-core interaction variables Real Vr6A, Vr6B, Vr12A, Vr12B; Real ScaleA, ScaleB, Lambda; // energy and size parameter variables LennardJonesParameters params, params0, params1; Real A0, A1, B0, B1; // variables that are not needed for an ideal gas simulation // soft-core interaction variables Real SoftDistA, SoftDistB, sr6A, sr6B; Real LambdaMu; // energy and size parameter variables Real epsilonA, epsilonB, epsilon0, epsilon1; Real sig60, sig61; unsigned int type1A, type1B; // LJ parameter bank indices unsigned int type2, i, j; // transforming atom indicators bool atom1_scaled, atom2_scaled; atom1_scaled = atom2_scaled = false; int myStage, OldStage, atom_stage; myStage = OldStage = atom_stage = 0; // LJTable look-up variables Real n, a, b; int index; // Use the molecule types to determine if the atoms // are being transformed or not int M1 = topo->atoms[atom1].molecule; int M2 = topo->atoms[atom2].molecule; // if lambda for either molecule is nonzero then the molecule is being transformed if (topo->molecules[M1].lambda != 0.0) {atom1_scaled = true;} if (topo->molecules[M2].lambda != 0.0) {atom2_scaled = true;} // integer used to select which interaction type to compute int Choice; // determine the value of Choice // neither atom is being transformed if ( !(atom1_scaled) && !(atom2_scaled) ) {Choice = 0;} // intramolecular interaction on a transforming molecule else if ( (atom1_scaled) && (atom2_scaled) ) { // determine the current transformation stage of the molecule myStage = static_cast(floor(topo->molecules[M1].lambda)) + 1; // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[atom1].stageNumber; int atom2_stage = topo->atoms[atom2].stageNumber; // if the current stage is not the same as either atom1_stage or atom2_stage // then neither atom is currently being transformed if (myStage != atom1_stage && myStage != atom2_stage) Choice = 0; else Choice = 2; } // one of the atoms is being transformed else { // determine the current transformation stage of the molecule // and get the transformation stage # for this atoms if (atom1_scaled) { myStage = static_cast(floor(topo->molecules[M1].lambda)) + 1; atom_stage = topo->atoms[atom1].stageNumber;} else { myStage = static_cast(floor(topo->molecules[M2].lambda)) + 1; atom_stage = topo->atoms[atom2].stageNumber;} // if the current stage is not the same as atom_stage // then neither atom is currently being transformed if (myStage != atom_stage) Choice = 0; else Choice = 1; } //************************************************************************ // Compute the appropriate LJ interaction Real r2, r6; switch (Choice) { //---------------------------------------------------------- case 0: // interaction between two non-transforming atoms // get the identities of the two atoms // i, j and are used to retrieve the correct set of // parameters from the LJ parameter bank // to access the proper LJ bank, atomI must always be the // atom with the LOWER atom_type number since that is how // the bank was constructed in the buildISGTopology function if (topo->atoms[atom1].type <= topo->atoms[atom2].type) { i = topo->molecules[M1].type; j = topo->molecules[M2].type;} else { i = topo->molecules[M2].type; j = topo->molecules[M1].type;} // check to see if atom1 may have already been successfully transformed in a previous stage if (atom1_scaled) { // this atom has already been transformed if myStage > atom_stage if (myStage > atom_stage) { if (topo->atoms[atom1].type <= topo->atoms[atom2].type) i = topo->molecules[M1].newtype; else j = topo->molecules[M1].newtype; } } // end if statement // check to see if atom2 may have already been successfully transformed in a previous stage if (atom2_scaled) { // this atom has already been transformed if myStage > atom_stage if (myStage > atom_stage) { if (topo->atoms[atom1].type <= topo->atoms[atom2].type) j = topo->molecules[M2].newtype; else i = topo->molecules[M2].newtype; } } // end if statement // get the LJ parameters for this pair params = topo->isgLJParms(i,j,topo->atoms[atom1].type,topo->atoms[atom2].type); A0 = (excl != EXCLUSION_MODIFIED ? params.A : params.A14); B0 = (excl != EXCLUSION_MODIFIED ? params.B : params.B14); // if any of these atoms are dummy atoms (epsilon = 0), then skip if (A0 == 0.0) break; // determine the DeltaR bin to use n = sqrt(distSquared)*myFac; index = (int)n; b = n-index; //Report::report << index <<","<molecules[M1].lambda; // get the identities of the two atoms type1A = topo->molecules[M1].type; type1B = topo->molecules[M1].newtype; type2 = topo->molecules[M2].type; } else { // get the lambda factor Lambda = topo->molecules[M2].lambda; // get the identities of the two atoms type1A = topo->molecules[M2].type; type1B = topo->molecules[M2].newtype; type2 = topo->molecules[M1].type; } // i, j and are used to retrieve the correct set of // parameters from the LJ parameter bank // if atom 1 is the transforming atom... if (atom1_scaled) { // to access the proper LJ bank, atomI must always be the // atom with the LOWER atom_type number -- TIM if (topo->atoms[atom1].type <= topo->atoms[atom2].type) { i = type1A; j = type2;} else { i = type2; j = type1A; } } // if atom2 is the transforming atom then the procedure // below is the opposite of the procedure above. AtomI must still // be the atom with the LOWER atom_type number, but remember that // if atom2 is the transforming atom then the variable type2 is equal // to the molecule_type of atom 1!!! else { // if atom1 has a lower atom_type, then i = type2 since now type2 // is equal to the molecule_type of atom1 if (topo->atoms[atom1].type <= topo->atoms[atom2].type) { i = type2; j = type1A;} // if atom2 has the lower atom_type, then i = type1A else { i = type1A; j = type2; } } // determine the current transformation stage of the molecule OldStage = myStage - 1; //if (Lambda > myStage) Lambda = myStage; //else if (Lambda < OldStage) Lambda = OldStage; // LJ soft-core energy scaling factors LambdaMu = alpha * (Lambda - OldStage) * (myStage - Lambda); ScaleA = alpha * (Lambda - OldStage) * (Lambda - OldStage); ScaleB = alpha * (myStage - Lambda) * (myStage - Lambda); // compute the A-B and B-B epsilon and sigmas // retrieve the A & B parameters for these interaction types // get the LJ parameters for this pair when the transforming atom is in the '0', or old state params0 = topo->isgLJParms(i,j,topo->atoms[atom1].type,topo->atoms[atom2].type); // determine the new i and j when the transforming atom is in the '1', or new state if (topo->atoms[atom1].type <= topo->atoms[atom2].type) { if (atom1_scaled) i = type1B; else j = type1B; } else { if (atom1_scaled) j = type1B; else i = type1B; } // get the LJ parameters for this pair when the transforming atom is in the '1', or new state params1 = topo->isgLJParms(i,j,topo->atoms[atom1].type,topo->atoms[atom2].type); A0 = (params0.A); B0 = (params0.B); A1 = (params1.A); B1 = (params1.B); // if the type2 atom is a dummy atom then skip (epsilon = 0) if (A0 == 0.0 && A1 == 0.0) break; // Use A & B to compute epsilon and sigma // for the "0" state if (A0 != 0.0) { sig60 = A0 / B0; epsilon0 = B0 / (4.0 * sig60);} else { sig60 = 1.0; epsilon0 = 0.0;} // for the "1" state if (A1 != 0.0) { sig61 = A1 / B1; epsilon1 = B1 / (4.0 * sig61);} else { sig61 = 1.0; epsilon1 = 0.0;} // scale epsilon by the appropriate factor of lambda epsilonA = (myStage - Lambda) * epsilon0; epsilonB = (Lambda - OldStage) * epsilon1; // Fast LJ computations r2 = 1./distSquared; r6 = r2*r2*r2; // soft-core interaction distances sr6A = sig60 * r6; sr6B = sig61 * r6; SoftDistA = ScaleA + 1.0 / sr6A; SoftDistB = ScaleB + 1.0 / sr6B; // attractive LJ terms Vr6A = 1.0 / SoftDistA; Vr6B = 1.0 / SoftDistB; // repulsive LJ terms Vr12A = Vr6A * Vr6A; Vr12B = Vr6B * Vr6B; // energy, force, and chemical potential difference energy = 4.0 * (epsilonA * (Vr12A - Vr6A) + epsilonB * (Vr12B - Vr6B)); force = 24.0 * r2 * (epsilonA * Vr12A / sr6A * (2.0 * Vr6A - 1.0) + epsilonB * Vr12B / sr6B * (2.0 * Vr6B - 1.0)); deltaMu = 4.0 * (epsilon1 * (Vr12B - Vr6B) - epsilon0 * (Vr12A - Vr6A)) + 8.0 * LambdaMu * (epsilon1 * Vr12B * (2.0 * Vr6B - 1.0) - epsilon0 * Vr12A * (2.0 * Vr6A - 1.0)); #ifdef DEBUG_SOFTCORE Report::report.precision(6); Report::report << "i = " << atom1+1 << ", j = " << atom2+1 << ", " << type1A << "->" << type1B << ", " << type2 << ", rij = " << 1.0/sqrt(r2) << ", eps0 = " << epsilon0 << ", eps1 = " << epsilon1 << ", Energy = " << energy << ", force = " << force << ", DeltaMu = " << deltaMu << Report::endr; #endif //DEBUG_SOFTCORE break; //---------------------------------------------------------- case 2: // intramolecular interaction on a transforming molecule // Get the lambda factor for each atom Lambda = topo->molecules[M1].lambda; // determine the current transformation stage of the molecule OldStage = myStage - 1; //if (Lambda > myStage) Lambda = myStage; //else if (Lambda < OldStage) Lambda = OldStage; // LJ soft-core energy scaling factors Real LambdaMu = alpha * (Lambda - OldStage) * (myStage - Lambda); Real ScaleA = alpha * (Lambda - OldStage) * (Lambda - OldStage); Real ScaleB = alpha * (myStage - Lambda) * (myStage - Lambda); // retrieve the A-A and B-B energy and size parameters // j is used to retrieve the correct set of // parameters from the LJ parameter bank j = topo->molecules[M1].type; // get the LJ parameters for this pair when the atoms are in the '0' state params0 = topo->isgLJParms(j,j,topo->atoms[atom1].type,topo->atoms[atom2].type); // determine the proper index # into to the bank when the atoms are in the '1' state j = topo->molecules[M1].newtype; // get the LJ parameters for this pair when the atoms are in the '1' state params1 = topo->isgLJParms(j,j,topo->atoms[atom1].type,topo->atoms[atom2].type); A0 = (excl != EXCLUSION_MODIFIED ? params0.A : params0.A14); B0 = (excl != EXCLUSION_MODIFIED ? params0.B : params0.B14); A1 = (excl != EXCLUSION_MODIFIED ? params1.A : params1.A14); B1 = (excl != EXCLUSION_MODIFIED ? params1.B : params1.B14); // if both of these atoms are dummy atoms (epsilon = 0), then skip if (A0 == 0.0 && A1 == 0.0) break; // Use A & B to compute epsilon and sigma // for the "0" state if (A0 != 0.0) { sig60 = A0 / B0; epsilon0 = B0 / (4.0 * sig60);} else { sig60 = 1.0; epsilon0 = 0.0;} // for the "1" state if (A1 != 0.0) { sig61 = A1 / B1; epsilon1 = B1 / (4.0 * sig61);} else { sig61 = 1.0; epsilon1 = 0.0;} // scale epsilon by the appropriate factor of lambda epsilonA = (myStage - Lambda) * epsilon0; epsilonB = (Lambda - OldStage) * epsilon1; // soft-core interaction distances sr6A = sig60 * r6; sr6B = sig61 * r6; SoftDistA = ScaleA + 1.0 / sr6A; SoftDistB = ScaleB + 1.0 / sr6B; // attractive LJ terms Vr6A = 1.0 / SoftDistA; Vr6B = 1.0 / SoftDistB; // repulsive LJ terms Vr12A = Vr6A * Vr6A; Vr12B = Vr6B * Vr6B; // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[atom1].stageNumber; int atom2_stage = topo->atoms[atom2].stageNumber; int max_stage = max(atom1_stage,atom2_stage); // if the current stage is not the same as the largest atom stage number then // we do not compute any deltaMu, and if the current stage is less than the largest // atom stage number then we only compute interactions in the old identity, if the // current stage is larger than both atom stage numbers then we use only the new identity if (myStage == max_stage) { // energy, force, and chemical potential difference energy = 4.0 * (epsilonA * (Vr12A - Vr6A) + epsilonB * (Vr12B - Vr6B)); force = 24.0 * r2 * (epsilonA * Vr12A / sr6A * (2.0 * Vr6A - 1.0) + epsilonB * Vr12B / sr6B * (2.0 * Vr6B - 1.0)); deltaMu = 4.0 * (epsilon1 * (Vr12B - Vr6B) - epsilon0 * (Vr12A - Vr6A)) + 8.0 * LambdaMu * (epsilon1 * Vr12B * (2.0 * Vr6B - 1.0) - epsilon0 * Vr12A * (2.0 * Vr6A - 1.0)); } else if (myStage > max_stage) { // energy, force, and chemical potential difference (new identity) energy = 4.0 * epsilonB * (Vr12B - Vr6B); force = 24.0 * r2 * epsilonB * Vr12B / sr6B * (2.0 * Vr6B - 1.0); } else { // energy, force, and chemical potential difference (old identity) energy = 4.0 * epsilonA * (Vr12A - Vr6A); force = 24.0 * r2 * epsilonA * Vr12A / sr6A * (2.0 * Vr6A - 1.0); } break; //************************************************************************ } // end switch structure } // end operator() static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) { (*energies)[ScalarStructure::LENNARDJONES] += energy; (*energies)[ScalarStructure::LENNARDJONES_DELTAMU] += deltaMu; } static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::LENNARDJONES];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 3;} void getParameters(std::vector&) const; static iSGLennardJonesTableForce make(std::string&, const std::vector&); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real* myTable; Real myRc; Real myFac; unsigned int myN; // constant parameter that affects the soft-core interaction // if alpha is set to zero then you get the original Lennard-Jones potential Real alpha; }; //______________________________________________________________________ INLINES } #endif /* ISGLENNARDJONESTABLEFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGMTorsionSystemForce.h0100644027616700000500000002611710237151524025476 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGMTORSIONSYSTEMFORCE_H #define ISGMTORSIONSYSTEMFORCE_H #include "SystemForce.h" #include "ScalarStructure.h" namespace ProtoMol { //_________________________________________________________________ iSGMTorsionSystemForce template class iSGMTorsionSystemForce: public SystemForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class MTorsionSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void calcTorsion(const TBoundaryConditions &boundary, const Torsion& currentTorsion, const Vector3DBlock* positions, Vector3DBlock* forces, Real &energy, Real &deltaMu, ScalarStructure* energies); Real calcTorsionEnergy(const TBoundaryConditions &boundary, const Torsion& currentTorsion, const Vector3DBlock* positions); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //______________________________________________________________________ INLINES template inline void iSGMTorsionSystemForce::calcTorsion(const TBoundaryConditions &boundary, const Torsion& currTorsion, const Vector3DBlock* positions, Vector3DBlock* forces, Real &energy, Real &deltaMu, ScalarStructure* energies){ int a1 = currTorsion.atom1; int a2 = currTorsion.atom2; int a3 = currTorsion.atom3; int a4 = currTorsion.atom4; //Vector3D r12((*positions)[a1] - (*positions)[a2]); // Vector from atom 1 to atom 2 Vector3D r12(boundary.minimalDifference((*positions)[a2],(*positions)[a1])); //Vector3D r23((*positions)[a2] - (*positions)[a3]); // Vector from atom 2 to atom 3 Vector3D r23(boundary.minimalDifference((*positions)[a3],(*positions)[a2])); //Vector3D r34((*positions)[a3] - (*positions)[a4]); // Vector from atom 3 to atom 4 Vector3D r34(boundary.minimalDifference((*positions)[a4],(*positions)[a3])); // Cross product of r12 and r23, represents the plane shared by these two vectors Vector3D a(r12.cross(r23)); // Cross product of r23 and r34, represents the plane shared by these two vectors Vector3D b(r23.cross(r34)); // Cross product of r23 and A, represents the plane shared by these two vectors Vector3D c(r23.cross(a)); // 1/length of Vector A, B and C Real ra = 1.0/a.norm(); Real rb = 1.0/b.norm(); Real rc = 1.0/c.norm(); // Normalize A,B and C a *= ra; b *= rb; c *= rc; // Calculate phi Real cosPhi = a.dot(b); Real sinPhi = c.dot(b); Real phi = -atan2(sinPhi,cosPhi); Real dpotdphi = 0.; //Vector3D f1, f2, f3; for( int i = 0; i < currTorsion.multiplicity; i++ ) { if( currTorsion.periodicity[i] > 0 ) { Real ftorsion = currTorsion.periodicity[i] * currTorsion.forceConstant[i] * sin( currTorsion.periodicity[i] * phi + currTorsion.phaseShift[i] ); dpotdphi -= ftorsion; // Add energy Real Vtorsion = currTorsion.forceConstant[i] * ( 1.0 + cos( currTorsion.periodicity[i] * phi + currTorsion.phaseShift[i] ) ); energy += Vtorsion; // Add chemical potential difference if (currTorsion.DeltaK[i] != 0.0 && currTorsion.DeltaPhase[i] != 0.0) { Real DMUtorsion = currTorsion.DeltaK[i] * ( 1.0 + cos(currTorsion.periodicity[i] * phi + currTorsion.phaseShift[i]) ) + ftorsion * currTorsion.DeltaPhase[i] / currTorsion.periodicity[i]; deltaMu += DMUtorsion; } //#define ISG_DEBUG_TORSION #ifdef ISG_DEBUG_TORSION Report::report.precision(8); Report::report << "Torsion atoms: " << a1 << ", " << a2 << ", " << a3 << ", " << a4 << Report::endr; Report::report << "k = " << currTorsion.forceConstant[i] << ", psi0 = " << currTorsion.phaseShift[i] << ", n = " << currTorsion.periodicity[i] << Report::endr; Report::report << "DeltaK = " << currTorsion.DeltaK[i] << ", DeltaPsi0 = " << currTorsion.DeltaPhase[i] << Report::endr; Report::report << "Torsion angle = " << phi << Report::endr; Report::report << "current energy (torsion) = " << energy << Report::endr; Report::report << "current DeltaMu (torsion) = " << deltaMu << Report::endr; #endif } else { // improper torsion Real diff = phi - currTorsion.phaseShift[i]; if( diff < -M_PI ) diff += 2 * M_PI; else if( diff > M_PI ) diff -= 2 * M_PI; Real ftorsion = 2.0 * currTorsion.forceConstant[i] * diff; dpotdphi += ftorsion; // Add energy Real Vtorsion = currTorsion.forceConstant[i] * diff * diff; energy += Vtorsion; // Add chemical potential difference if (currTorsion.DeltaK[i] != 0.0 && currTorsion.DeltaPhase[i] != 0.0) { Real DMUtorsion = currTorsion.DeltaK[i] * diff * diff + ftorsion * currTorsion.DeltaPhase[i]; deltaMu += DMUtorsion; } #ifdef ISG_DEBUG_TORSION Report::report.precision(8); Report::report << "Improper atoms: " << a1 << ", " << a2 << ", " << a3 << ", " << a4 << Report::endr; Report::report << "k = " << currTorsion.forceConstant[i] << ", psi0 = " << currTorsion.phaseShift[i] << Report::endr; Report::report << "DeltaK = " << currTorsion.DeltaK[i] << ", DeltaPsi0 = " << currTorsion.DeltaPhase[i] << Report::endr; Report::report << "Improper angle = " << phi << Report::endr; Report::report << "current energy (improper) = " << energy << Report::endr; Report::report << "current DeltaMu (improper) = " << deltaMu << Report::endr; #endif } } // To prevent potential singularities, if abs(sinPhi) <= 0.1, then // use another method of calculating the gradient. Vector3D f1, f2, f3; if( fabs( sinPhi ) > 0.1 ) { // use the sin version to avoid 1/cos terms Vector3D dcosdA(( a * cosPhi - b ) * ra); Vector3D dcosdB(( b * cosPhi - a ) * rb); Real k1 = dpotdphi / sinPhi; f1.x = k1 * (r23.y * dcosdA.z - r23.z * dcosdA.y); f1.y = k1 * (r23.z * dcosdA.x - r23.x * dcosdA.z); f1.z = k1 * (r23.x * dcosdA.y - r23.y * dcosdA.x); f3.x = k1 * (r23.z * dcosdB.y - r23.y * dcosdB.z); f3.y = k1 * (r23.x * dcosdB.z - r23.z * dcosdB.x); f3.z = k1 * (r23.y * dcosdB.x - r23.x * dcosdB.y); f2.x = k1 * (r12.z * dcosdA.y - r12.y * dcosdA.z + r34.y * dcosdB.z - r34.z * dcosdB.y); f2.y = k1 * (r12.x * dcosdA.z - r12.z * dcosdA.x + r34.z * dcosdB.x - r34.x * dcosdB.z); f2.z = k1 * (r12.y * dcosdA.x - r12.x * dcosdA.y + r34.x * dcosdB.y - r34.y * dcosdB.x); } else { // This angle is closer to 0 or 180 than it is to // 90, so use the cos version to avoid 1/sin terms Vector3D dsindC((c * sinPhi-b) * rc); Vector3D dsindB((b * sinPhi-c) * rb); Real k1 = -dpotdphi/cosPhi; f1.x = k1 * ((r23.y * r23.y + r23.z * r23.z) * dsindC.x - r23.x * r23.y * dsindC.y - r23.x * r23.z * dsindC.z); f1.y = k1 * ((r23.z * r23.z + r23.x * r23.x) * dsindC.y - r23.y * r23.z * dsindC.z - r23.y * r23.x * dsindC.x); f1.z = k1 * ((r23.x * r23.x + r23.y * r23.y) * dsindC.z - r23.z * r23.x * dsindC.x - r23.z * r23.y * dsindC.y); f3 = dsindB.cross(r23) * k1; f2.x = k1 * (-(r23.y * r12.y + r23.z * r12.z) * dsindC.x +(2.0 * r23.x * r12.y - r12.x * r23.y) * dsindC.y +(2.0 * r23.x * r12.z - r12.x * r23.z) * dsindC.z +dsindB.z * r34.y - dsindB.y * r34.z); f2.y = k1 * (-(r23.z * r12.z + r23.x * r12.x) * dsindC.y +(2.0 * r23.y * r12.z - r12.y * r23.z) * dsindC.z +(2.0 * r23.y * r12.x - r12.y * r23.x) * dsindC.x +dsindB.x * r34.z - dsindB.z * r34.x); f2.z = k1 * (-(r23.x * r12.x + r23.y * r12.y) * dsindC.z +(2.0 * r23.z * r12.x - r12.z * r23.x) * dsindC.x +(2.0 * r23.z * r12.y - r12.z * r23.y) * dsindC.y +dsindB.y * r34.x - dsindB.x * r34.y); } (*forces)[a1] += f1; (*forces)[a2] += f2 - f1; (*forces)[a3] += f3 - f2; (*forces)[a4] -= f3; // Add virial if(energies->virial()){ Real xy = f1.x * r12.y + f2.x * r23.y + f3.x * r34.y; Real xz = f1.x * r12.z + f2.x * r23.z + f3.x * r34.z; Real yz = f1.y * r12.z + f2.y * r23.z + f3.y * r34.z; (*energies)[ScalarStructure::VIRIALXX] += f1.x * r12.x + f2.x * r23.x + f3.x * r34.x; (*energies)[ScalarStructure::VIRIALXY] += xy; (*energies)[ScalarStructure::VIRIALXZ] += xz; (*energies)[ScalarStructure::VIRIALYX] += xy; (*energies)[ScalarStructure::VIRIALYY] += f1.y * r12.y + f2.y * r23.y + f3.y * r34.y; (*energies)[ScalarStructure::VIRIALYZ] += yz; (*energies)[ScalarStructure::VIRIALZX] += xz; (*energies)[ScalarStructure::VIRIALZY] += yz; (*energies)[ScalarStructure::VIRIALZZ] += f1.z * r12.z + f2.z * r23.z + f3.z * r34.z; } } template inline Real iSGMTorsionSystemForce::calcTorsionEnergy(const TBoundaryConditions &boundary, const Torsion& currTorsion, const Vector3DBlock* positions){ int a1 = currTorsion.atom1; int a2 = currTorsion.atom2; int a3 = currTorsion.atom3; int a4 = currTorsion.atom4; //Vector3D r12 = (*positions)[a1] - (*positions)[a2]; // Vector from atom 1 to atom 2 Vector3D r12 = boundary.minimalDifference((*positions)[a2],(*positions)[a1]); //Vector3D r23 = (*positions)[a2] - (*positions)[a3]; // Vector from atom 2 to atom 3 Vector3D r23 = boundary.minimalDifference((*positions)[a3],(*positions)[a2]); //Vector3D r34 = (*positions)[a3] - (*positions)[a4]; // Vector from atom 3 to atom 4 Vector3D r34 = boundary.minimalDifference((*positions)[a4],(*positions)[a3]); // Cross product of r12 and r23, represents the plane shared by these two vectors Vector3D a = r12.cross(r23); // Cross product of r12 and r23, represents the plane shared by these two vectors Vector3D b = r23.cross(r34); Vector3D c = r23.cross(a); // Calculate phi. Real cosPhi = a.dot(b)/(a.norm()*b.norm()); Real sinPhi = c.dot(b)/(c.norm()*b.norm()); Real phi = -atan2(sinPhi,cosPhi); // Calculate energy. Real energy = 0.0; for( int i = 0; i < currTorsion.multiplicity; i++ ) { if( currTorsion.periodicity[i] > 0 ) { // Add energy energy += currTorsion.forceConstant[i] * ( 1.0 + cos( currTorsion.periodicity[i] * phi + currTorsion.phaseShift[i] ) ); } else { Real diff = phi - currTorsion.phaseShift[i]; if( diff < -M_PI ) diff += 2 * M_PI; else if( diff > M_PI ) diff -= 2 * M_PI; // Add energy energy += currTorsion.forceConstant[i] * diff * diff; } } return( energy ); } } #endif /* ISGMTORSIONSYSTEMFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h0100644027616700000500000015765410237151524027445 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGNONBONDEDFULLEWALDSYSTEMFORCE_H #define ISGNONBONDEDFULLEWALDSYSTEMFORCE_H #include "SystemForce.h" #include "Parallel.h" #include "iSGNonbondedFullEwaldSystemForceBase.h" #include "iSGCoulombForce.h" #include "Topology.h" #include "ScalarStructure.h" #include "PeriodicBoundaryConditions.h" #include "Timer.h" #include "mathutilities.h" #include "simpleTypes.h" #include "pmconstants.h" #include "CutoffSwitchingFunction.h" using namespace ProtoMol::Report; //#define DEBUG_EWALD_TIMING //#define DEBUG_EWALD_ENERGIES //#define USE_EWALD_EXACT_ERF //#define USE_EWALD_NO_SINCOS_TABLE namespace ProtoMol { //_________________________________________________________________ iSGNonbondedFullEwaldSystemForce template class iSGNonbondedFullEwaldSystemForce: public SystemForce, private iSGNonbondedFullEwaldSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef Topology RealTopologyType; typedef typename RealTopologyType::Enumerator EnumeratorType; typedef typename RealTopologyType::Enumerator::CellPair CellPairType; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGNonbondedFullEwaldSystemForce(); iSGNonbondedFullEwaldSystemForce(Real alpha, Real accuracy, Real expansionFactor); virtual ~iSGNonbondedFullEwaldSystemForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class iSGNonbondedFullEwaldSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: private: void initialize(const RealTopologyType* realTopo, const Vector3DBlock* positions); void realTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& realEnergy, Real& realDeltaMu, unsigned int n); void reciprocalTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy, Real& reciprocalDeltaMu, unsigned int from, unsigned int to); void correctionTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& intraMolecularEnergy, Real& intraMolecularDeltaMu, unsigned int from, unsigned int to); void surfaceDipoleTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& surfaceDipoleEnergy); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*); virtual void parallelEvaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual unsigned int numberOfBlocks(const GenericTopology*,const Vector3DBlock*); virtual std::string getKeyword() const{return keyword;} virtual void uncache(){myCached=false;}; private: virtual Force* doMake(std::string& errMsg, std::vector) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const; virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return (TBoundaryConditions::PERIODIC ? 2:3);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: bool myCached; std::vector myK; // Reciprocal lattice vector (h*2PI/Lx,k*2PI/Ly,l*2PI/Lz) std::vector myKSquared; // Squared norm of the reciprocal lattice vector #ifndef USE_EWALD_NO_SINCOS_TABLE std::vector myKInt; // Reciprocal lattice vector (h,k,l) #endif Real myExpansionFactor; Real myTRate; // Real myAccuracy; Real myAlpha; // bool myAlphaDefault; Real myAlphaSquared; Real myAlphaSquaredr; Real my2AlphaPI; Real myFac; Real myRc; // Cutoff real term Real myRcSquared; // Cutoff squared real term Real myKc; // Cutoff reciprocal term int myHmax; int myKmax; int myLmax; int myHKLmax; Real* mySinCosA; // Look up tables Real* myLastSinCos; Vector3D* mySinCos; Real* myDMU_SinCosA; Real* myDMU_LastSinCos; Vector3D* myDMU_SinCos; Real myLX, myLY, myLZ; Real myLXr,myLYr,myLZr; Real myV,myVr; Vector3D myOrigin; Real myPointSelfEnergy; // Precomputed energy terms Real myPointSelfDeltaMu; Real myChargedSystemEnergy; Real myChargedSystemDeltaMu; PeriodicBoundaryConditions boundaryConditions; TSwitchingFunction switchingFunction; EnumeratorType enumerator; std::vector myLattice; unsigned int myOldAtomCount; // Keep track of old values and hope int myOldHKLmax; // we do not need to reallocate memory ... #if defined(DEBUG_EWALD_TIMING) Timer myReal; Timer myReciprocal; Timer myIntra; Timer mySurface; #endif }; //______________________________________________________________________ INLINES template iSGNonbondedFullEwaldSystemForce::iSGNonbondedFullEwaldSystemForce() : SystemForce(), myCached(false), myExpansionFactor(0.0), myTRate(0.0), myAccuracy(0.0), myAlpha(-1.0), myAlphaDefault(true), myRc(0.0), myKc(0.0), mySinCosA(NULL), myLastSinCos(NULL), mySinCos(NULL), myDMU_SinCosA(NULL), myDMU_LastSinCos(NULL), myDMU_SinCos(NULL), myV(-1.0), myOldAtomCount(0), myOldHKLmax(0){ #if defined(DEBUG_EWALD_TIMING) myReal.reset(); myReciprocal.reset(); myIntra.reset(); mySurface.reset(); #endif } //________________________________________________________________constructor template iSGNonbondedFullEwaldSystemForce::iSGNonbondedFullEwaldSystemForce(Real alpha, Real accuracy, Real expansionFactor) : SystemForce(), myCached(false), myExpansionFactor(expansionFactor), myTRate(0.0), myAccuracy(accuracy), myAlpha(alpha), myAlphaDefault(alpha<= 0.0), myRc(0.0), myKc(0.0), mySinCosA(NULL), myLastSinCos(NULL), mySinCos(NULL), myDMU_SinCosA(NULL), myDMU_LastSinCos(NULL), myDMU_SinCos(NULL), myV(-1.0), myOldAtomCount(0), myOldHKLmax(0) { #if defined(DEBUG_EWALD_TIMING) myReal.reset(); myReciprocal.reset(); myIntra.reset(); mySurface.reset(); #endif } //________________________________________________________________destructor template iSGNonbondedFullEwaldSystemForce::~iSGNonbondedFullEwaldSystemForce(){ if(reciprocal){ delete [] mySinCosA; delete [] mySinCos; delete [] myLastSinCos; delete [] myDMU_SinCosA; delete [] myDMU_SinCos; delete [] myDMU_LastSinCos; } #if defined(DEBUG_EWALD_TIMING) if(boundaryConditions.getVolume() > EPSILON){ report.setf(std::ios::showpoint|std::ios::fixed); report << allnodes << plain <<"Timing (" < void iSGNonbondedFullEwaldSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const RealTopologyType* realTopo = dynamic_cast(topo); // Initialize data members and precompute tables & short cuts if(!myCached) initialize(realTopo,positions); // Intra-molecular and surface diplol term Real intraMolecularEnergy = 0.0; Real surfaceDipoleEnergy = 0.0; Real pointSelfEnergy = 0.0; Real chargedSystemEnergy = 0.0; Real intraMolecularDeltaMu = 0.0; Real pointSelfDeltaMu = 0.0; Real chargedSystemDeltaMu = 0.0; if(correction){ correctionTerm(realTopo,positions,forces,energies, intraMolecularEnergy,intraMolecularDeltaMu, 0,realTopo->exclusions.getTable().size()); pointSelfEnergy = myPointSelfEnergy; chargedSystemEnergy = myChargedSystemEnergy; pointSelfDeltaMu = myPointSelfDeltaMu; chargedSystemDeltaMu = myChargedSystemDeltaMu; (*energies)[ScalarStructure::VIRIALXX] += myChargedSystemEnergy; (*energies)[ScalarStructure::VIRIALYY] += myChargedSystemEnergy; (*energies)[ScalarStructure::VIRIALZZ] += myChargedSystemEnergy; if(false) surfaceDipoleTerm(realTopo,positions,forces,energies,surfaceDipoleEnergy); } // Real-space term Real realEnergy = 0.0; Real realDeltaMu = 0.0; if(real) { realTopo->updateCellLists(positions); enumerator.initialize(realTopo, myRc); realTerm(realTopo,positions,forces,energies,realEnergy,realDeltaMu,realTopo->cellLists.size()); } // Reciprocal-space term Real reciprocalEnergy = 0.0; Real reciprocalDeltaMu = 0.0; if(reciprocal) reciprocalTerm(realTopo,positions,forces,energies,reciprocalEnergy,reciprocalDeltaMu, 0,myK.size()); // Sum of all energy terms // Sum of all energy terms Real e = realEnergy+ reciprocalEnergy+ intraMolecularEnergy+ surfaceDipoleEnergy+ pointSelfEnergy+ chargedSystemEnergy; Real d_mu = realDeltaMu+ reciprocalDeltaMu+ intraMolecularDeltaMu+ pointSelfDeltaMu+ chargedSystemDeltaMu; (*energies)[ScalarStructure::COULOMB] += e; (*energies)[ScalarStructure::COULOMB_DELTAMU] += d_mu; #if defined(DEBUG_EWALD_ENERGIES) report.setf(std::ios::showpoint|std::ios::fixed); report << plain <<"Ewald: point="<boundaryConditions.e1(), realTopo->boundaryConditions.e2(), realTopo->boundaryConditions.e3(), realTopo->boundaryConditions.origin()); } if(!boundaryConditions.isOrthogonal()) report << error << "[NonbondedFullEwaldSystemForce::initialize] Not orthogonal, aborting."<atoms.size(); myTRate = 5.5; // From Moldy, rate between real and reciprocal //myAccuracy = 0.00001; // From Moldy, accuracy //myAccuracy = 1.e-6; // From NAMD, accuracy // Dimension of the simulation box myLX = boundaryConditions.e1().x; myLY = boundaryConditions.e2().y; myLZ = boundaryConditions.e3().z; myV = boundaryConditions.getVolume(); myLXr = boundaryConditions.e1r().x; myLYr = boundaryConditions.e2r().y; myLZr = boundaryConditions.e3r().z; myVr = 1.0/myV; myOrigin = boundaryConditions.origin(); // Short cuts if(myAlphaDefault) myAlpha = sqrt(M_PI)*pow(myTRate*atomCount/(power<2>(myV)),1.0/6.0); myAlphaSquared = myAlpha*myAlpha; myAlphaSquaredr = 1.0/myAlphaSquared; my2AlphaPI = 2.0*myAlpha/sqrt(M_PI); Real p = -log(myAccuracy); myRc = sqrt(p)/myAlpha; myRcSquared = myRc*myRc; myKc = 2.0*myAlpha*sqrt(p); myFac = 1.0/(4.0*myAlpha*myAlpha); switchingFunction=TSwitchingFunction(myRc); // Reciprocal part // Build the lattice k-vectors 2*PI(n0/Lx,n1/Ly,n2/Lz) // Maximum values of h, k, l s.t. |k| < myKc myHmax = (int)floor(myKc/(2.0*M_PI)*myLX); myKmax = (int)floor(myKc/(2.0*M_PI)*myLY); myLmax = (int)floor(myKc/(2.0*M_PI)*myLZ); myHKLmax = std::max(2,std::max(myHmax,std::max(myKmax,myLmax))+1); myK.clear(); myKSquared.clear(); #ifndef USE_EWALD_NO_SINCOS_TABLE myKInt.clear(); #endif int lastH = Constant::MAX_INT; int lastK = Constant::MAX_INT; int misses = 0; Real kcSquared = myKc*myKc; if(reciprocal){ for(int h = 0; h <= myHmax; h++){ Real kx = 2.0*M_PI*h*myLXr; for(int k = (h==0 ? 0 : -myKmax); k <= myKmax; k++){ Real ky = 2.0*M_PI*k*myLYr; for(int l = (h==0 && k==0 ? 1 : -myLmax); l <= myLmax; l++) { Real kz = 2.0*M_PI*l*myLZr; if(kx*kx + ky*ky + kz*kz < kcSquared) { myK.push_back(Vector3D(kx,ky,kz)); myKSquared.push_back(kx*kx + ky*ky + kz*kz); #ifndef USE_EWALD_NO_SINCOS_TABLE TripleInt tmp(h,k,l); myKInt.push_back(tmp); if(lastH != h || lastK != k) misses++; lastH = h; lastK = k; #endif } } } } // Allocate memory for our tables if(mySinCosA != NULL && (atomCount != myOldAtomCount)){ delete [] mySinCosA; mySinCosA = NULL; } if(myDMU_SinCosA != NULL && (atomCount != myOldAtomCount)){ delete [] myDMU_SinCosA; myDMU_SinCosA = NULL; } if(mySinCos != NULL && (atomCount != myOldAtomCount || myHKLmax != myOldHKLmax)){ delete [] mySinCos; mySinCos = NULL; } if(myDMU_SinCos != NULL && (atomCount != myOldAtomCount || myHKLmax != myOldHKLmax)){ delete [] myDMU_SinCos; myDMU_SinCos = NULL; } if(myLastSinCos != NULL && (atomCount != myOldAtomCount)){ delete [] myLastSinCos; myLastSinCos = NULL; } if(myDMU_LastSinCos != NULL && (atomCount != myOldAtomCount)){ delete [] myDMU_LastSinCos; myDMU_LastSinCos = NULL; } if(mySinCosA == NULL) mySinCosA = new Real[2*atomCount]; if(mySinCosA == NULL) report << error << "[ISGNonbondedFullEwaldSystemForce::evaluate] Not enough memory, requesting "<<2*atomCount*sizeof(Real)<<" bytes."<atoms[i].scaledCharge*realTopo->atoms[i].scaledCharge; DeltaMu_q += realTopo->atoms[i].scaledCharge * realTopo->atoms[i].deltaQ; } // end for loop myPointSelfEnergy = -q*myAlpha/sqrt(M_PI); myPointSelfDeltaMu = -2 * DeltaMu_q*myAlpha/sqrt(M_PI); } // // Charged system energy // myChargedSystemEnergy = 0.0; myChargedSystemDeltaMu = 0.0; if(correction) { Real q = 0.0; Real DeltaMu_q = 0.0; for(unsigned int i=0;iatoms[i].scaledCharge; DeltaMu_q += realTopo->atoms[i].deltaQ; } if(fabs(q * 0.00268283) > 1.0e-5) { myChargedSystemEnergy = -M_PI/(2.0*myV*myAlphaSquared)*q*q; myChargedSystemDeltaMu = -M_PI/(myV*myAlphaSquared)*q*DeltaMu_q; } } myLattice = boundaryConditions.buildLatticeVectors(myRc); myLattice.insert(myLattice.begin(),Vector3D(0,0,0)); report << hint <<"Ewald"; #if defined(USE_EWALD_EXACT_ERF) && defined(USE_EWALD_NO_SINCOS_TABLE) report << "(Exact)"; #else #ifdef USE_EWALD_EXACT_ERF report << "(Exact erf)"; #endif #ifdef USE_EWALD_NO_SINCOS_TABLE report << "(No sincos table)"; #endif #endif report <<": alpha="< void iSGNonbondedFullEwaldSystemForce::realTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& realEnergy, Real& realDeltaMu, unsigned int n) { #if defined(DEBUG_EWALD_TIMING) myReal.start(); #endif // Real-space term CellPairType thisPair; bool doVirial = energies->virial(); bool doMolVirial = energies->molecularVirial(); unsigned int count = 0; for (; !enumerator.done(); enumerator.next()) { enumerator.get(thisPair); bool notSameCell = enumerator.notSameCell(); if(!notSameCell){ count++; if(count > n) break; } for(int i=thisPair.first; i!=-1; i=realTopo->atoms[i].cellListNext){ Real qi = realTopo->atoms[i].scaledCharge; Vector3D ri((*positions)[i]), fi; int mi = realTopo->atoms[i].molecule; for(int j=(notSameCell ? thisPair.second:i); j!=-1; j=realTopo->atoms[j].cellListNext){ Vector3D rijMinimal(boundaryConditions.minimalDifference(ri,(*positions)[j])); int mj = realTopo->atoms[j].molecule; bool same = (mi==mj); ExclusionClass excl = (same?realTopo->exclusions.check(i,j):EXCLUSION_NONE); if(i == j) excl = EXCLUSION_FULL; for(unsigned int k=0;kmolecules[mi].lambda != 0.0) {atom1_scaled = true;} if (realTopo->molecules[mj].lambda != 0.0) {atom2_scaled = true;} // integer used to select which interaction type to compute int Choice; // determine the value of Choice // neither atom is being transformed if ( !(atom1_scaled) && !(atom2_scaled) ) {Choice = 0;} // intramolecular interaction on a transforming molecule else if ( (atom1_scaled) && (atom2_scaled) ) { // determine the current transformation stage of the molecule myStage = static_cast(floor(realTopo->molecules[mi].lambda)) + 1; // get the transformation stage #'s for these atoms int atom1_stage = realTopo->atoms[i].stageNumber; int atom2_stage = realTopo->atoms[j].stageNumber; // if the current stage is not the same as either atom1_stage or atom2_stage // the neither atom is currently being transformed if (myStage != atom1_stage && myStage != atom2_stage) Choice = 0; else Choice = 2; } // one of the atoms is being transformed else { // determine the current transformation stage of the molecule // and get the transformation stage # for this atoms if (atom1_scaled) { myStage = static_cast(floor(realTopo->molecules[mi].lambda)) + 1; atom_stage = realTopo->atoms[i].stageNumber;} else { myStage = static_cast(floor(realTopo->molecules[mj].lambda)) + 1; atom_stage = realTopo->atoms[j].stageNumber;} // if the current stage is not the same as atom_stage // then neither atom is currently being transformed if (myStage != atom_stage) Choice = 0; else Choice = 1; } // Compute the appropriate electrostatic interaction Real deltaMu = 0.0; Real energy = 0.0; Real force = 0.0; Real qq, rr, ar, e, q_Dq, dmu, myLambda; Real qq_correction_add, qq_correction_minus, q_Dq_correction_add, q_Dq_correction_minus; Real e_correction, myCorrection, myDMUcorrection; qq = rr = ar = e = q_Dq = dmu = myLambda = 0.0; qq_correction_add = qq_correction_minus = q_Dq_correction_add = q_Dq_correction_minus = 0.0; e_correction = myCorrection = myDMUcorrection = 0.0; #ifdef USE_EWALD_EXACT_ERF Real a = 0.0; #endif // get the charge on atom j Real qj = realTopo->atoms[j].scaledCharge; // compute the separation distance Real r = sqrt(rSquared); switch (Choice) { //---------------------------------------------------------- case 0: // interaction between two non-transforming atoms // compute the raw interaction energy and force // skip if either of the charges is zero if (qi == 0.0 || qj == 0.0) break; qq = qi*qj; if (excl == EXCLUSION_MODIFIED) qq *= realTopo->coulombScalingFactor; // Approximation Abramowitz & Stegun p299. // Energy #ifndef USE_EWALD_EXACT_ERF rr = 1.0/r; ar = myAlpha*r; e = qq*exp(-ar*ar); energy = poly5(ar)*e*rr; force = ((energy+my2AlphaPI*e)*rr*rr); #else a = erfc(myAlpha*r)/r; energy = qq*a; force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*rSquared))/rSquared; #endif break; //---------------------------------------------------------- case 1: // interaction between non-transforming atom and a transforming atom // compute the raw interaction energy, force, and chemical potential difference // skip if either of the charges is zero if (qi == 0.0 || qj == 0.0) break; qq = qi*qj; q_Dq = (qi * realTopo->atoms[j].deltaQ + qj * realTopo->atoms[i].deltaQ); // Approximation Abramowitz & Stegun p299. // Energy #ifndef USE_EWALD_EXACT_ERF rr = 1.0/r; ar = myAlpha*r; e = qq*exp(-ar*ar); dmu = q_Dq*exp(-ar*ar); energy = poly5(ar)*e*rr; deltaMu = poly5(ar)*dmu*rr; force = ((energy+my2AlphaPI*e)*rr*rr); #else a = erfc(myAlpha*r)/r; energy = qq*a; deltaMu = q_Dq*a; force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*rSquared))/rSquared; #endif break; //---------------------------------------------------------- case 2: // intramolecular interaction on a transforming molecule // get the value of lambda for this molecule myLambda = realTopo->molecules[mi].lambda; // determine the current transformation stage of the molecule int OldStage = myStage - 1; //if (myLambda > myStage) myLambda = myStage; //else if (myLambda < OldStage) myLambda = OldStage; // Energy and chemical potential difference // The interaction energy is the sum of the interaction in the // old state scaled by (1 - lambda) plus the interaction in the new state // scaled by lambda r = sqrt(rSquared); qj = realTopo->atoms[j].scaledCharge; qq = (myStage - myLambda) * realTopo->atoms[i].Qold * realTopo->atoms[j].Qold + (myLambda - OldStage) * realTopo->atoms[i].Qnew * realTopo->atoms[j].Qnew; // The chemical potential difference is the derivative of the // energy above (qq) with respect to lambda q_Dq = realTopo->atoms[i].Qnew * realTopo->atoms[j].Qnew - realTopo->atoms[i].Qold * realTopo->atoms[j].Qold; // correction terms for intramolecular self energy and chemical potential difference // these correction terms are needed because the reciprocal space term contains an // intramolecular self term that is proportional to atoms[i].scaledCharge * atoms[j].scaledCharge, // which is NOT the correct intramolecular self interaction (see qq and q_Dq terms above). // Correcting the reciprocal intramolecular interaction amounts to the addition of a factor // of qq to the energy and q_Dq to the chemical potential difference, and subtraction of a // factor of atoms[i].scaledCharge * atoms[j].scaledCharge from the energy and // subtraction of (atoms[i].scaledCharge * atoms[j].deltaQ + atoms[j].scaledCharge * atoms[i].deltaQ) // from the chemical potential difference qq_correction_add = qq; q_Dq_correction_add = q_Dq; qq_correction_minus = 0.0; q_Dq_correction_minus = 0.0; if (excl == EXCLUSION_MODIFIED) { qq *= realTopo->coulombScalingFactor; q_Dq *= realTopo->coulombScalingFactor; qq_correction_add *= realTopo->coulombScalingFactor; q_Dq_correction_add *= realTopo->coulombScalingFactor; } else { // this is an unmodified intramolecular interaction, so subtract the reciprocal space // energy and chemical potential difference qq_correction_minus = qi * realTopo->atoms[j].scaledCharge; q_Dq_correction_minus = qi * realTopo->atoms[j].deltaQ + qj * realTopo->atoms[i].deltaQ; } // Approximation Abramowitz & Stegun p299. // Energy #ifndef USE_EWALD_EXACT_ERF rr = 1.0/r; ar = myAlpha*r; e = qq*exp(-ar*ar); e_correction = erf(myAlpha*r)*rr; dmu = q_Dq*exp(-ar*ar); energy = poly5(ar)*e*rr; deltaMu = poly5(ar)*dmu*rr; force = ((energy+my2AlphaPI*e)*rr*rr); #else a = erfc(myAlpha*r)/r; e_correction = erf(myAlpha*r)/r; energy = qq*a; deltaMu = q_Dq*a; force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*rSquared))/rSquared; #endif // add in the reciprocal space correction terms myCorrection = e_correction * (qq_correction_add - qq_correction_minus); myDMUcorrection = e_correction * (q_Dq_correction_add - q_Dq_correction_minus); energy += myCorrection; deltaMu += myDMUcorrection; break; //---------------------------------------------------------- } // end switch structure // Calculate the switched force, energy, and delta_mu. Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, rSquared); energy = energy * switchingValue; deltaMu = deltaMu * switchingValue; // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force = force * switchingValue - energy * switchingDeriv; // Force, F_ij realEnergy += energy; realDeltaMu += deltaMu; Vector3D fij(rij*force); fi -= fij; (*forces)[j] += fij; // compute the vector between molecular centers of mass if(!same && doMolVirial){ // Add to the atomic and molecular virials energies->addVirial(fij,rij,realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position)); } else if(doVirial) { energies->addVirial(fij,rij); } excl = EXCLUSION_NONE; } } (*forces)[i] += fi; } } #if defined(DEBUG_EWALD_TIMING) myReal.stop(); #endif } //________________________________________________________________reciprocalTerm function template void iSGNonbondedFullEwaldSystemForce::reciprocalTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy, Real& reciprocalDeltaMu, unsigned int from, unsigned int to) { #if defined(DEBUG_EWALD_TIMING) myReciprocal.start(); #endif const unsigned int atomCount = realTopo->atoms.size(); Real energy = 0.0; Real deltaMu = 0.0; #ifndef USE_EWALD_NO_SINCOS_TABLE // Precompute/ cache cos/ sin (r*N*2*PI/L) for the lattice vectors in each dimension for(unsigned int j=0;jatoms[j].scaledCharge; Real Dqi = realTopo->atoms[j].deltaQ; Real x = r.x*2.0*M_PI*myLXr; Real y = r.y*2.0*M_PI*myLYr; Real z = r.z*2.0*M_PI*myLZr; Real xsin = sin(x); Real ysin = sin(y); Real zsin = sin(z); Real xcos = cos(x); Real ycos = cos(y); Real zcos = cos(z); // The first two cos/ sin values // sin(r*0*2*PI/L) mySinCos[l ].x = 0.0; mySinCos[l ].y = 0.0; mySinCos[l ].z = 0.0; myDMU_SinCos[l ].x = 0.0; myDMU_SinCos[l ].y = 0.0; myDMU_SinCos[l ].z = 0.0; // cos(r*0*2*PI/L) mySinCos[l+1].x = qi*1.0; mySinCos[l+1].y = 1.0; mySinCos[l+1].z = 1.0; myDMU_SinCos[l+1].x = Dqi*1.0; myDMU_SinCos[l+1].y = 1.0; myDMU_SinCos[l+1].z = 1.0; // sin(r*1*2*PI/L) mySinCos[l+2].x = qi*xsin; mySinCos[l+2].y = ysin; mySinCos[l+2].z = zsin; myDMU_SinCos[l+2].x = Dqi*xsin; myDMU_SinCos[l+2].y = ysin; myDMU_SinCos[l+2].z = zsin; // cos(r*1*2*PI/L) mySinCos[l+3].x = qi*xcos; mySinCos[l+3].y = ycos; mySinCos[l+3].z = zcos; myDMU_SinCos[l+3].x = Dqi*xcos; myDMU_SinCos[l+3].y = ycos; myDMU_SinCos[l+3].z = zcos; // Using add theorem to compute sin(r*2*2*PI/L to r*myHKLmax*2*PI/L) // and cos(r*2*2*PI/L to r*myHKLmax*2*PI/L) for(int i=4;i<2*myHKLmax;i+=2){ mySinCos[l+i ].x = xsin*mySinCos[l+i-1].x+xcos*mySinCos[l+i-2].x; mySinCos[l+i ].y = ysin*mySinCos[l+i-1].y+ycos*mySinCos[l+i-2].y; mySinCos[l+i ].z = zsin*mySinCos[l+i-1].z+zcos*mySinCos[l+i-2].z; mySinCos[l+i+1].x = xcos*mySinCos[l+i-1].x-xsin*mySinCos[l+i-2].x; mySinCos[l+i+1].y = ycos*mySinCos[l+i-1].y-ysin*mySinCos[l+i-2].y; mySinCos[l+i+1].z = zcos*mySinCos[l+i-1].z-zsin*mySinCos[l+i-2].z; myDMU_SinCos[l+i ].x = xsin*myDMU_SinCos[l+i-1].x+xcos*myDMU_SinCos[l+i-2].x; myDMU_SinCos[l+i ].y = ysin*myDMU_SinCos[l+i-1].y+ycos*myDMU_SinCos[l+i-2].y; myDMU_SinCos[l+i ].z = zsin*myDMU_SinCos[l+i-1].z+zcos*myDMU_SinCos[l+i-2].z; myDMU_SinCos[l+i+1].x = xcos*myDMU_SinCos[l+i-1].x-xsin*myDMU_SinCos[l+i-2].x; myDMU_SinCos[l+i+1].y = ycos*myDMU_SinCos[l+i-1].y-ysin*myDMU_SinCos[l+i-2].y; myDMU_SinCos[l+i+1].z = zcos*myDMU_SinCos[l+i-1].z-zsin*myDMU_SinCos[l+i-2].z; } } //int nk = myK.size(); int lastH = Constant::MAX_INT; int lastK = Constant::MAX_INT; #endif // atomic virial Real virialxx = 0.0; Real virialxy = 0.0; Real virialxz = 0.0; Real virialyy = 0.0; Real virialyz = 0.0; Real virialzz = 0.0; // molecular virial bool doMolVirial = energies->molecularVirial(); bool doVirial = energies->virial(); for(unsigned int l=from;latoms[i].scaledCharge; Real Dqi = realTopo->atoms[i].deltaQ; // It does not matter if coordinates are not in the minimal image since // they are multiplied by 2PI/l, which is a shift of 2PI of a. Real a = k.dot(boundaryConditions.minimalPosition((*positions)[i])); //Real a = k.dot((*positions)[i]); Real sinA = qi*sin(a); Real cosA = qi*cos(a); Real DMU_sinA = Dqi*sin(a); Real DMU_cosA = Dqi*cos(a); #else Real xysin = myLastSinCos[i*2 ]; Real xycos = myLastSinCos[i*2+1]; Real zsin = indexLsign*mySinCos[i*myHKLmax*2+indexLabs*2 ].z; Real zcos = mySinCos[i*myHKLmax*2+indexLabs*2+1].z; Real sinA = xysin*zcos + xycos*zsin; Real cosA = xycos*zcos - xysin*zsin; Real DMU_xysin = myDMU_LastSinCos[i*2 ]; Real DMU_xycos = myDMU_LastSinCos[i*2+1]; Real DMU_zsin = indexLsign*myDMU_SinCos[i*myHKLmax*2+indexLabs*2 ].z; Real DMU_zcos = myDMU_SinCos[i*myHKLmax*2+indexLabs*2+1].z; Real DMU_sinA = DMU_xysin*DMU_zcos + DMU_xycos*DMU_zsin; Real DMU_cosA = DMU_xycos*DMU_zcos - DMU_xysin*DMU_zsin; #endif mySinCosA[i*2 ] = sinA; mySinCosA[i*2+1] = cosA; sumSin += sinA; sumCos += cosA; myDMU_SinCosA[i*2 ] = DMU_sinA; myDMU_SinCosA[i*2+1] = DMU_cosA; DMU_sumSin += DMU_sinA; DMU_sumCos += DMU_cosA; } // Energy Real b = 1.0/kSquared*exp(-kSquared*myAlphaSquaredr/4.0); Real e = b*(sumSin*sumSin+sumCos*sumCos); energy += e; // Chemical potential difference Real dMu = 2*b*( DMU_sumSin*sumSin + DMU_sumCos*sumCos ); deltaMu += dMu; // Virial if(doVirial){ Real c = 2.0*(1.0/kSquared+myFac); virialxx += e * (1.0-c*k.x * k.x); virialxy -= e * c * k.x * k.y; virialxz -= e * c * k.x * k.z; virialyy += e * (1.0-c*k.y * k.y); virialyz -= e * c * k.y * k.z; virialzz += e * (1.0-c*k.z * k.z); } // Force, F_i Real a = 8.0*M_PI*myVr*b; for(unsigned int i=0;iatoms[i].molecule; // compute the vector from atom i to the center of mass of the molecule Vector3D ria(boundaryConditions.minimalPosition((*positions)[i])); Vector3D mri(realTopo->boundaryConditions.minimalDifference(ria,realTopo->molecules[Mi].position)); energies->addMolVirial(fi,mri); } } } Real c = 4.0*M_PI*myVr; reciprocalEnergy += c*energy; reciprocalDeltaMu += c*deltaMu; // atomic virial (*energies)[ScalarStructure::VIRIALXX] += c*virialxx; (*energies)[ScalarStructure::VIRIALXY] += c*virialxy; (*energies)[ScalarStructure::VIRIALXZ] += c*virialxz; (*energies)[ScalarStructure::VIRIALYX] += c*virialxy; (*energies)[ScalarStructure::VIRIALYY] += c*virialyy; (*energies)[ScalarStructure::VIRIALYZ] += c*virialyz; (*energies)[ScalarStructure::VIRIALZX] += c*virialxz; (*energies)[ScalarStructure::VIRIALZY] += c*virialyz; (*energies)[ScalarStructure::VIRIALZZ] += c*virialzz; // molecular virial (*energies)[ScalarStructure::MOLVIRIALXX] += c*virialxx; (*energies)[ScalarStructure::MOLVIRIALXY] += c*virialxy; (*energies)[ScalarStructure::MOLVIRIALXZ] += c*virialxz; (*energies)[ScalarStructure::MOLVIRIALYX] += c*virialxy; (*energies)[ScalarStructure::MOLVIRIALYY] += c*virialyy; (*energies)[ScalarStructure::MOLVIRIALYZ] += c*virialyz; (*energies)[ScalarStructure::MOLVIRIALZX] += c*virialxz; (*energies)[ScalarStructure::MOLVIRIALZY] += c*virialyz; (*energies)[ScalarStructure::MOLVIRIALZZ] += c*virialzz; #if defined(DEBUG_EWALD_TIMING) myReciprocal.stop(); #endif } //________________________________________________________________correctionTerm function template void iSGNonbondedFullEwaldSystemForce::correctionTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& intraMolecularEnergy, Real& intraMolecularDeltaMu, unsigned int from, unsigned int to){ #if defined(DEBUG_EWALD_TIMING) myIntra.start(); #endif // Intra-molecular term bool doVirial = energies->virial(); const std::vector& exclusions = realTopo->exclusions.getTable(); for(unsigned int i=from;iboundaryConditions.minimalDifference((*positions)[excl.a1],(*positions)[excl.a2],rSquared)); // get the value of lambda for this molecule int M1 = realTopo->atoms[excl.a1].molecule; Real myLambda = realTopo->molecules[M1].lambda; // intramolecular self energy and chemical potential difference contributions // If this is a transforming molecule (lambda /= 0) then we must completely subtract the // excluded interaction. If this is not a transforming molecule, then we apply the // 1-4 scaling factor (assuming one has been specified) as normal. Real qq = realTopo->atoms[excl.a1].scaledCharge*realTopo->atoms[excl.a2].scaledCharge; Real q_Dq = realTopo->atoms[excl.a1].deltaQ * realTopo->atoms[excl.a2].scaledCharge + realTopo->atoms[excl.a1].scaledCharge * realTopo->atoms[excl.a2].deltaQ; // check to see if this is not a transforming molecule // determine the current transformation stage of the molecule int myStage = static_cast(floor(myLambda)) + 1; // get the transformation stage #'s for these atoms int atom1_stage = realTopo->atoms[excl.a1].stageNumber; int atom2_stage = realTopo->atoms[excl.a2].stageNumber; // if the current stage is not the same as either atom1_stage or atom2_stage, or lambda = 0, // then neither atom is currently being transformed if ( (myLambda == 0.0 || (myStage != atom1_stage && myStage != atom2_stage)) && excl.excl == EXCLUSION_MODIFIED) { qq *= 1-realTopo->coulombScalingFactor; q_Dq *= 1-realTopo->coulombScalingFactor; } Real r = sqrt(rSquared); Real rr = 1/r; Real e = erf(myAlpha*r)*rr; // Intra-molecular selv energy intraMolecularEnergy -= qq*e; intraMolecularDeltaMu -= q_Dq*e; // Intra-molecular selv force Vector3D fij(rij*(qq*(my2AlphaPI*exp(-myAlphaSquared*rSquared)-e)*rr*rr)); (*forces)[excl.a1] -= fij; (*forces)[excl.a2] += fij; if(doVirial) energies->addVirial(fij,rij); } #if defined(DEBUG_EWALD_TIMING) myIntra.stop(); #endif } // Surface diplole term template void iSGNonbondedFullEwaldSystemForce::surfaceDipoleTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& surfaceDipoleEnergy){ #if defined(DEBUG_EWALD_TIMING) mySurface.start(); #endif const unsigned int atomCount = realTopo->atoms.size(); Vector3D sum(0,0,0); for(unsigned int i=0;iatoms[i].scaledCharge; // Energy surfaceDipoleEnergy = 2.0/3.0*M_PI*myVr*sum.normSquared(); Real virialxx = 0.0; Real virialxy = 0.0; Real virialxz = 0.0; Real virialyy = 0.0; Real virialyz = 0.0; Real virialzz = 0.0; // Force, F_i and virial_i (not confirmed) sum *= 2.0/3.0*M_PI*myVr; for(unsigned int i=0;iatoms[i].scaledCharge); Vector3D ri(boundaryConditions.minimalPosition((*positions)[i])); (*forces)[i] += force; virialxx += force.x*ri.x; virialxy += force.x*ri.y; virialxz += force.x*ri.z; virialyy += force.y*ri.y; virialyz += force.y*ri.z; virialzz += force.z*ri.z; } (*energies)[ScalarStructure::VIRIALXX] += virialxx; (*energies)[ScalarStructure::VIRIALXY] += virialxy; (*energies)[ScalarStructure::VIRIALXZ] += virialxz; (*energies)[ScalarStructure::VIRIALYX] += virialxy; (*energies)[ScalarStructure::VIRIALYY] += virialyy; (*energies)[ScalarStructure::VIRIALYZ] += virialyz; (*energies)[ScalarStructure::VIRIALZX] += virialxz; (*energies)[ScalarStructure::VIRIALZY] += virialyz; (*energies)[ScalarStructure::VIRIALZZ] += virialzz; #if defined(DEBUG_EWALD_TIMING) mySurface.stop(); #endif } template std::string iSGNonbondedFullEwaldSystemForce::getIdNoAlias() const{ return (iSGCoulombForce::keyword + " -algorithm "+ keyword + std::string((real) ? std::string(" -real") : std::string("")) + std::string((reciprocal) ? std::string(" -reciprocal") : std::string("")) + std::string((correction) ? std::string(" -correction") : std::string("")) + std::string((TSwitchingFunction::getId() != CutoffSwitchingFunction::getId()) ? std::string(std::string(" -switchingFunction " + TSwitchingFunction::getId())) : std::string(""))); } template void iSGNonbondedFullEwaldSystemForce::getParameters(std::vector& parameters) const{ parameters.push_back(Parameter("-alpha",Value(myAlpha),-1.0)); parameters.push_back(Parameter("-accuracy",Value(myAccuracy,ConstraintValueType::Positive()),0.00001)); if(TBoundaryConditions::VACUUM) parameters.push_back(Parameter("-j",Value(myExpansionFactor,ConstraintValueType::Positive()),3.0)); } template Force* iSGNonbondedFullEwaldSystemForce::doMake(std::string& errMsg, std::vector values) const{ Real alpha = values[0]; Real accuracy = values[1]; Real expansionFactor = (TBoundaryConditions::VACUUM?(Real)values[2]:3.0); std::string err = ""; if(!values[0].valid()) err +=" alpha \'"+values[0].getString()+"\' not valid."; if(!values[1].valid()) err +=" accuracy \'"+values[1].getString()+"\' not valid."; if(TBoundaryConditions::VACUUM && !values[2].valid()) err +=" expansionFactor \'"+values[2].getString()+"\' not valid."; else if(expansionFactor <= 1.0) err += keyword + " simulation box expansion factor (="+toString(expansionFactor)+") > 1.0."; if(!err.empty()){ errMsg += " force "+keyword+" :"+err; return NULL; } return (new iSGNonbondedFullEwaldSystemForce(alpha, accuracy,expansionFactor)); } } #endif /* ISGNONBONDEDFULLEWALDSYSTEMFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForceBase.cpp0100644027616700000500000000042410237151524030551 0ustar pbrenne1dip#include "iSGNonbondedFullEwaldSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ ISGNonbondedFullEwaldSystemForceBase const string iSGNonbondedFullEwaldSystemForceBase::keyword("FullEwald"); } protomol/applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForceBase.h0100644027616700000500000000064310237151524030221 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGNONBONDEDFULLEWALDSYSTEMFORCEBASE_H #define ISGNONBONDEDFULLEWALDSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ iSGNonbondedFullEwaldSystemForceBase class iSGNonbondedFullEwaldSystemForceBase { public: static const std::string keyword; }; } #endif /* ISGNONBONDEDFULLEWALDSYSTEMFORCEBASE_H */ protomol/applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h0100644027616700000500000014463210237151524027047 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGNONBONDEDPMEWALDSYSTEMFORCE_H #define ISGNONBONDEDPMEWALDSYSTEMFORCE_H #include "SystemForce.h" #include "iSGCoulombForce.h" #include "CutoffSwitchingFunction.h" #include "CellListEnumerator_periodicBoundaries.h" #include "CellListEnumerator_standard.h" #include "PeriodicBoundaryConditions.h" #include "iSGCoulombForce.h" #include "mathutilities.h" #include "iSGNonbondedPMEwaldSystemForceBase.h" #include "iSGGrid.h" #include "Timer.h" #include "CutoffSwitchingFunction.h" using namespace ProtoMol::Report; //#define DEBUG_PME_TIMING //#define DEBUG_PME_ENERGIES //#define USE_PME_EXACT_ERF namespace ProtoMol { //_________________________________________________________________ ISGNonbondedPMEwaldSystemForce template class iSGNonbondedPMEwaldSystemForce: public SystemForce, private iSGNonbondedPMEwaldSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef Topology RealTopologyType; typedef typename RealTopologyType::Enumerator EnumeratorType; typedef typename RealTopologyType::Enumerator::CellPair CellPairType; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGNonbondedPMEwaldSystemForce(); iSGNonbondedPMEwaldSystemForce(unsigned int nx, unsigned int ny, unsigned int nz, unsigned int order, Real cutoff, Real accuracy, Real alpha, Real expansionFactor); virtual ~iSGNonbondedPMEwaldSystemForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ISGNonbondedPMEwaldSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: private: void initialize(const RealTopologyType* realTopo, const Vector3DBlock* positions); void realTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& realEnergy, Real& realDeltaMu, unsigned int n); void reciprocalTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy, Real& reciprocalDeltaMu); void reciprocalTermParallel(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy, Real& reciprocalDeltaMu); void correctionTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& intraMolecularEnergy, Real& intraMolecularDeltaMu, unsigned int from, unsigned int to); void surfaceDipoleTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& surfaceDipoleEnergy); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*); virtual void parallelEvaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual unsigned int numberOfBlocks(const GenericTopology*,const Vector3DBlock*); virtual std::string getKeyword() const{return keyword;} virtual void uncache(){myCached=false;}; private: virtual Force* doMake(std::string& errMsg, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const; virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return (TBoundaryConditions::PERIODIC ? 7:8);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: bool myCached; Real myExpansionFactor; Real myTRate; // Real myAccuracy; Real myAlpha; // bool myAlphaDefault; Real myAlphaSquared; Real myAlphaSquaredr; Real my2AlphaPI; Real myRc; // Cutoff real term Real myRcSquared; // Cutoff squared real term Real myKc; // Cutoff reciprocal term Real myLX, myLY, myLZ; // cell basis vectors Real myLXr,myLYr,myLZr; // reciprocal cell basis vectors Real myV,myVr; // Volume and inverse volume Vector3D myOrigin; // xyz coordinates of the origin unsigned int myNX; // # of grid points in x-direction unsigned int myNY; // # of grid points in y-direction unsigned int myNZ; // # of grid points in z-direction iSGGrid myISGGrid; // object which computes the FFT's unsigned int myInterOrder; // order of the B-spline interpolation Real myPointSelfEnergy; // Precomputed energy terms Real myPointSelfDeltaMu; Real myChargedSystemEnergy; Real myChargedSystemDeltaMu; PeriodicBoundaryConditions boundaryConditions; TSwitchingFunction switchingFunction; EnumeratorType enumerator; std::vector myLattice; #if defined(DEBUG_PME_TIMING) Timer myReal; Timer myReciprocal; Timer myIntra; Timer mySurface; #endif }; //______________________________________________________________________ INLINES //_______________________________________________________________________ empty constructor template iSGNonbondedPMEwaldSystemForce::iSGNonbondedPMEwaldSystemForce() : SystemForce(),myCached(false),myExpansionFactor(3.0),myTRate(0.0),myAccuracy(0.0),myAlpha(-1.0),myAlphaDefault(true),myRc(0.0),myKc(0.0),myV(-1.0),myNX(0),myNY(0),myNZ(0),myInterOrder(0) { #if defined(DEBUG_PME_TIMING) myReal.reset(); myReciprocal.reset(); myIntra.reset(); mySurface.reset(); #endif } //_______________________________________________________________________ constructor template iSGNonbondedPMEwaldSystemForce::iSGNonbondedPMEwaldSystemForce(unsigned int nx, unsigned int ny, unsigned int nz, unsigned int order, Real cutoff, Real accuracy, Real alpha, Real expansionFactor) : SystemForce(),myCached(false),myExpansionFactor(expansionFactor),myTRate(0.0),myAccuracy(accuracy),myAlpha(alpha),myAlphaDefault(alpha<= 0.0),myRc(cutoff),myKc(0.0),myV(-1.0),myNX(nx),myNY(ny),myNZ(nz),myInterOrder(order){ switchingFunction=TSwitchingFunction(myRc); #if defined(DEBUG_PME_TIMING) myReal.reset(); myReciprocal.reset(); myIntra.reset(); mySurface.reset(); #endif } //_______________________________________________________________________ destructor template iSGNonbondedPMEwaldSystemForce::~iSGNonbondedPMEwaldSystemForce(){ #if defined(DEBUG_PME_TIMING) if(boundaryConditions.getVolume() > EPSILON){ report.setf(std::ios::showpoint|std::ios::fixed); report << allnodes << plain <<"Timing (" < void iSGNonbondedPMEwaldSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const RealTopologyType* realTopo = (const RealTopologyType *)topo; // Initialize data members and precompute tables & short cuts if(!myCached) initialize(realTopo,positions); // Intra-molecular and surface dipole term Real intraMolecularEnergy = 0.0; Real surfaceDipoleEnergy = 0.0; Real pointSelfEnergy = 0.0; Real chargedSystemEnergy = 0.0; Real intraMolecularDeltaMu = 0.0; Real pointSelfDeltaMu = 0.0; Real chargedSystemDeltaMu = 0.0; if(correction){ correctionTerm(realTopo,positions,forces,energies, intraMolecularEnergy,intraMolecularDeltaMu, 0,realTopo->exclusions.getTable().size()); pointSelfEnergy = myPointSelfEnergy; chargedSystemEnergy = myChargedSystemEnergy; pointSelfDeltaMu = myPointSelfDeltaMu; chargedSystemDeltaMu = myChargedSystemDeltaMu; (*energies)[ScalarStructure::VIRIALXX] += myChargedSystemEnergy; (*energies)[ScalarStructure::VIRIALYY] += myChargedSystemEnergy; (*energies)[ScalarStructure::VIRIALZZ] += myChargedSystemEnergy; if(false) surfaceDipoleTerm(realTopo,positions,forces,energies,surfaceDipoleEnergy); } // Real-space term Real realEnergy = 0.0; Real realDeltaMu = 0.0; if(real) { realTopo->updateCellLists(positions); enumerator.initialize(realTopo, myRc); realTerm(realTopo,positions,forces,energies,realEnergy,realDeltaMu,realTopo->cellLists.size()); } // Reciprocal-space term Real reciprocalEnergy = 0.0; Real reciprocalDeltaMu = 0.0; if(reciprocal) reciprocalTerm(realTopo,positions,forces,energies,reciprocalEnergy,reciprocalDeltaMu); // Sum of all energy terms // Sum of all energy terms Real e = realEnergy+ reciprocalEnergy+ intraMolecularEnergy+ surfaceDipoleEnergy+ pointSelfEnergy+ chargedSystemEnergy; Real d_mu = realDeltaMu+ reciprocalDeltaMu+ intraMolecularDeltaMu+ pointSelfDeltaMu+ chargedSystemDeltaMu; (*energies)[ScalarStructure::COULOMB] += e; (*energies)[ScalarStructure::COULOMB_DELTAMU] += d_mu; #if defined(DEBUG_PME_ENERGIES) report.setf(std::ios::showpoint|std::ios::fixed); report << plain <<"PME: point="<boundaryConditions.e1(), realTopo->boundaryConditions.e2(), realTopo->boundaryConditions.e3(), realTopo->boundaryConditions.origin()); } // end if PERIODIC boundary conditions case if(!boundaryConditions.isOrthogonal()) report << error << "[NonbondedFullEwaldSystemForce::initialize] Not orthogonal, aborting."<atoms.size(); myTRate = 5.5; // From Moldy, rate between real and reciprocal //myAccuracy = 0.00001; // From Moldy, accuracy //myAccuracy = 1.e-6; // From NAMD, accuracy // Dimension of the simulation box and box volume myLX = boundaryConditions.e1().x; myLY = boundaryConditions.e2().y; myLZ = boundaryConditions.e3().z; myV = boundaryConditions.getVolume(); // reciprocal cell basis vectors and reciprocal box volume myLXr = boundaryConditions.e1r().x; myLYr = boundaryConditions.e2r().y; myLZr = boundaryConditions.e3r().z; myVr = 1.0/myV; // origin for the FFT grid myOrigin = boundaryConditions.origin(); // Short cuts if(myAlphaDefault){ myAlpha = 1.0; //myRc = 6.5; while ( erfc(myAlpha*myRc)/myRc >= myAccuracy ) myAlpha *= 2.0; Real low = 0.; Real high = myAlpha; for(unsigned int i=0; i<100; ++i){ myAlpha = 0.5 * (low + high); if ( erfc(myAlpha*myRc)/myRc >= myAccuracy ) {low = myAlpha;} else {high = myAlpha;} } //myAlpha = sqrt(M_PI)*pow(myTRate*atomCount/(power<2>(myV)),1.0/6.0); } Real p = -log(myAccuracy); myKc = 2.0*myAlpha*sqrt(p); //myRc = sqrt(p)/myAlpha; myRcSquared = myRc*myRc; // compute powers of alpha myAlphaSquared = myAlpha*myAlpha; myAlphaSquaredr = 1.0/myAlphaSquared; my2AlphaPI = 2.0*myAlpha/sqrt(M_PI); // Initialize the charge distribution grids if(reciprocal) { myISGGrid.initialize(myLX,myLY,myLZ,myAlpha,myNX,myNY,myNZ,myInterOrder,atomCount); } // ___________________________________________________ // Point self-energy and chemical potential difference // myPointSelfEnergy = 0.0; myPointSelfDeltaMu = 0.0; if(correction) { Real q = 0.0; Real DeltaMu_q = 0.0; for(unsigned int i=0;iatoms[i].scaledCharge*realTopo->atoms[i].scaledCharge; DeltaMu_q += realTopo->atoms[i].scaledCharge * realTopo->atoms[i].deltaQ; } // end for loop myPointSelfEnergy = -q*myAlpha/sqrt(M_PI); myPointSelfDeltaMu = -2 * DeltaMu_q*myAlpha/sqrt(M_PI); } // ___________________________________________________ // Charged system energy // myChargedSystemEnergy = 0.0; myChargedSystemDeltaMu = 0.0; if(correction){ Real q = 0.0; Real DeltaMu_q = 0.0; for(unsigned int i=0;iatoms[i].scaledCharge; DeltaMu_q += realTopo->atoms[i].deltaQ; } if(fabs(q * 0.00268283) > 1.0e-5) { myChargedSystemEnergy = -M_PI/(2.0*myV*myAlphaSquared)*q*q; myChargedSystemDeltaMu = -M_PI/(myV*myAlphaSquared)*q*DeltaMu_q; } } myLattice = boundaryConditions.buildLatticeVectors(myRc); myLattice.insert(myLattice.begin(),Vector3D(0,0,0)); report << hint <<"PME"; #ifdef USE_PME_EXACT_ERF report << "(Exact)"; #endif report <<": alpha="< void iSGNonbondedPMEwaldSystemForce::realTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& realEnergy, Real& realDeltaMu, unsigned int n) { #if defined(DEBUG_PME_TIMING) myReal.start(); #endif // Real-space term CellPairType thisPair; bool doVirial = energies->virial(); bool doMolVirial = energies->molecularVirial(); unsigned int count = 0; for (; !enumerator.done(); enumerator.next()) { enumerator.get(thisPair); bool notSameCell = enumerator.notSameCell(); if(!notSameCell){ count++; if(count > n) break; } // loop over all pairs in the cell list // outer loop over atom i for(int i=thisPair.first; i!=-1; i=realTopo->atoms[i].cellListNext){ // the charge on atom i Real qi = realTopo->atoms[i].scaledCharge; // the xyz coordinates of atom i, force on atom i, and its molecule ID # Vector3D ri((*positions)[i]), fi; int mi = realTopo->atoms[i].molecule; // inner loop over atom j for(int j=(notSameCell ? thisPair.second:i); j!=-1; j=realTopo->atoms[j].cellListNext){ // molecule ID# for atom j int mj = realTopo->atoms[j].molecule; // check to see if this pair should be excluded bool same = (mi==mj); ExclusionClass excl = (same?realTopo->exclusions.check(i,j):EXCLUSION_NONE); // exclude any self interactions (i.e. atom interacting with it's own periodic image) if(i == j) excl = EXCLUSION_FULL; for(unsigned int k=0;kmyRcSquared) continue; // we must determine which type of pair interaction this is: // type 0 = untransformed-untransformed // type 1 = untransformed-transformed // type 2 = transformed-transformed (intramolecular) bool atom1_scaled, atom2_scaled; atom1_scaled = atom2_scaled = false; int myStage, OldStage /*, atom_stage*/; myStage = OldStage = /*atom_stage =*/ 0; // Use the molecule types to determine if the atoms are being transformed or not // if lambda for a molecule is exactly zero then it is not a scaled/transforming molecule if (realTopo->molecules[mi].lambda != 0.0) {atom1_scaled = true;} if (realTopo->molecules[mj].lambda != 0.0) {atom2_scaled = true;} // integer used to select which interaction type to compute int Choice; // determine the value of Choice // neither atom is being transformed if ( !(atom1_scaled) && !(atom2_scaled) ) {Choice = 0;} // intramolecular interaction on a transforming molecule else if ( (atom1_scaled) && (atom2_scaled) ) Choice = 2; // one of the atoms is being transformed else Choice = 1; // Compute the appropriate electrostatic interaction Real deltaMu = 0.0; Real energy = 0.0; Real force = 0.0; Real qq, rr, ar, e, q_Dq, dmu, myLambda; Real qq_correction_add, qq_correction_minus, q_Dq_correction_add, q_Dq_correction_minus; Real e_correction, myCorrection, myDMUcorrection; qq = rr = ar = e = q_Dq = dmu = myLambda = 0.0; qq_correction_add = qq_correction_minus = q_Dq_correction_add = q_Dq_correction_minus = 0.0; e_correction = myCorrection = myDMUcorrection = 0.0; #ifdef USE_PME_EXACT_ERF Real a = 0.0; #endif // get the charge on atom j Real qj = realTopo->atoms[j].scaledCharge; // compute the separation distance Real r = sqrt(rSquared); switch (Choice) { //---------------------------------------------------------- case 0: // interaction between two non-transforming atoms // compute the raw interaction energy and force // skip if either of the charges is zero if (qi == 0.0 || qj == 0.0) break; // product of charges qq = qi*qj; // scale any 1-4 interactions if desired if (excl == EXCLUSION_MODIFIED) qq *= realTopo->coulombScalingFactor; // multiply qq by the complementary error function // Approximation Abramowitz & Stegun p299. // Energy and force #ifndef USE_PME_EXACT_ERF rr = 1.0/r; ar = myAlpha*r; e = qq*exp(-ar*ar); energy = poly5(ar)*e*rr; force = ((energy+my2AlphaPI*e)*rr*rr); #else a = erfc(myAlpha*r)/r; energy = qq*a; force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*rSquared))/rSquared; #endif break; //---------------------------------------------------------- case 1: // interaction between non-transforming atom and a transforming atom // compute the raw interaction energy, force, and chemical potential difference // skip if either of the charges is zero if (qi == 0.0 || qj == 0.0) break; // product of charges qq = qi*qj; // derivative of qq with respect to lambda q_Dq = (qi * realTopo->atoms[j].deltaQ + qj * realTopo->atoms[i].deltaQ); // multiply qq and q_Dq by the complementary error function // Approximation Abramowitz & Stegun p299. // Energy #ifndef USE_PME_EXACT_ERF rr = 1.0/r; ar = myAlpha*r; e = qq*exp(-ar*ar); dmu = q_Dq*exp(-ar*ar); energy = poly5(ar)*e*rr; deltaMu = poly5(ar)*dmu*rr; force = ((energy+my2AlphaPI*e)*rr*rr); #else a = erfc(myAlpha*r)/r; energy = qq*a; deltaMu = q_Dq*a; force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*rSquared))/rSquared; #endif break; //---------------------------------------------------------- case 2: // intramolecular interaction on a transforming molecule // get the value of lambda for this molecule myLambda = realTopo->molecules[mi].lambda; // determine the current transformation stage of the molecule OldStage = myStage - 1; // Energy // The interaction energy is the sum of the interaction in the // old state scaled by (1 - lambda) plus the interaction in the new state // scaled by lambda // product of charges for each identity qq = (myStage - myLambda) * realTopo->atoms[i].Qold * realTopo->atoms[j].Qold + (myLambda - OldStage) * realTopo->atoms[i].Qnew * realTopo->atoms[j].Qnew; // The chemical potential difference is the derivative of the // energy above (qq) with respect to lambda q_Dq = realTopo->atoms[i].Qnew * realTopo->atoms[j].Qnew - realTopo->atoms[i].Qold * realTopo->atoms[j].Qold; // correction terms for intramolecular self energy and chemical potential difference // these correction terms are needed because the reciprocal space term contains an // intramolecular self term that is proportional to atoms[i].scaledCharge * atoms[j].scaledCharge, // which is NOT the correct intramolecular self interaction (see qq and q_Dq terms above). // Correcting the reciprocal intramolecular interaction amounts to the addition of a factor // of qq to the energy and q_Dq to the chemical potential difference, and subtraction of a // factor of atoms[i].scaledCharge * atoms[j].scaledCharge from the energy and // subtraction of (atoms[i].scaledCharge * atoms[j].deltaQ + atoms[j].scaledCharge * atoms[i].deltaQ) // from the chemical potential difference qq_correction_add = qq; q_Dq_correction_add = q_Dq; qq_correction_minus = 0.0; q_Dq_correction_minus = 0.0; // scale any 1-4 interactions if desired if (excl == EXCLUSION_MODIFIED) { qq *= realTopo->coulombScalingFactor; q_Dq *= realTopo->coulombScalingFactor; qq_correction_add *= realTopo->coulombScalingFactor; q_Dq_correction_add *= realTopo->coulombScalingFactor; } else { // this is an unmodified intramolecular interaction, so subtract the total // reciprocal space energy and chemical potential difference qq_correction_minus = qi * realTopo->atoms[j].scaledCharge; q_Dq_correction_minus = qi * realTopo->atoms[j].deltaQ + qj * realTopo->atoms[i].deltaQ; } // multiply qq and q_Dq by the complementary error function // Approximation Abramowitz & Stegun p299. // Energy #ifndef USE_PME_EXACT_ERF rr = 1.0/r; ar = myAlpha*r; e = qq*exp(-ar*ar); dmu = q_Dq*exp(-ar*ar); energy = poly5(ar)*e*rr; deltaMu = poly5(ar)*dmu*rr; force = ((energy+my2AlphaPI*e)*rr*rr); // Reciprocal space correction term gets // multiplied by the error function e_correction = erf(myAlpha*r)*rr; #else a = erfc(myAlpha*r)/r; energy = qq*a; deltaMu = q_Dq*a; force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*rSquared))/rSquared; // Reciprocal space correction term gets // multiplied by the error function e_correction = erf(myAlpha*r)/r; #endif // add in the reciprocal space correction terms myCorrection = e_correction * (qq_correction_add - qq_correction_minus); myDMUcorrection = e_correction * (q_Dq_correction_add - q_Dq_correction_minus); energy += myCorrection; deltaMu += myDMUcorrection; break; //---------------------------------------------------------- } // end switch structure // Calculate the switched force, energy, and deltaMu. Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, rSquared); energy = energy * switchingValue; deltaMu = deltaMu * switchingValue; // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force = force * switchingValue - energy * switchingDeriv; // Force, F_ij realEnergy += energy; realDeltaMu += deltaMu; Vector3D fij(rij*force); fi -= fij; (*forces)[j] += fij; // compute the vector between molecular centers of mass if(!same && doMolVirial){ // Add to the atomic and molecular virials energies->addVirial(fij,rij,realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position)); } else if(doVirial) energies->addVirial(fij,rij); excl = EXCLUSION_NONE; } } (*forces)[i] += fi; } } #if defined(DEBUG_PME_TIMING) myReal.stop(); #endif } //_______________________________________________________________________ reciprocalTermParallel function template void iSGNonbondedPMEwaldSystemForce::reciprocalTermParallel(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy, Real& reciprocalDeltaMu) { #if defined(DEBUG_PME_TIMING) myReciprocal.start(); #endif const unsigned int atomCount = realTopo->atoms.size(); const unsigned int nBlocks = Parallel::getAvailableNum(); const unsigned int block = Parallel::getAvailableId(); const unsigned int i0 = (atomCount*block)/nBlocks; const unsigned int i1 = (atomCount*(block+1))/nBlocks; Real* begin = NULL; Real* end = NULL; // clear the charge distribution grids myISGGrid.clear(); // loop over all atoms for(unsigned int i=i0;iatoms[i].scaledCharge,realTopo->atoms[i].deltaQ,(*positions)[i],i); } myISGGrid.getQ(begin,end); Parallel::reduceSlaves(begin,end); // perform the inverse FFT operation on the two grids if(FFTComplex::isParallel()) {myISGGrid.fftBack();} else { if(block == 0) {myISGGrid.fftBack();} myISGGrid.getQ(begin,end); Parallel::bcastSlaves(begin,end); } // sum over the transformed charge grids to compute the energy // and chemical potential difference Real energy, deltaMu; myISGGrid.scalarSum(energies,energy,deltaMu,block,nBlocks); myISGGrid.getQ(begin,end); Parallel::reduceSlaves(begin,end); // take the product of the transformed Q grid with the arrays B and C (see Essmann et. al.) // and perform the forward FFT operation to get the convolution (Theta * Q)[m1,m2,m3] if(FFTComplex::isParallel()) {myISGGrid.fftForward();} else{ if(block == 0) {myISGGrid.fftForward();} myISGGrid.getQ(begin,end); Parallel::bcastSlaves(begin,end); } // loop over all atoms bool doMolVirial = energies->molecularVirial(); for(unsigned int i=i0;iatoms[i].scaledCharge,i,fi); (*forces)[i] += fi; if(doMolVirial){ // compute the vector from atom i to the center of mass of the molecule Vector3D ria = boundaryConditions.minimalPosition((*positions)[i]); Vector3D mri = realTopo->boundaryConditions.minimalDifference(ria,realTopo->molecules[realTopo->atoms[i].molecule].position); // compute the reciprocal space contribution to the molecular virial // this expression is taken from Darden, et al. J. Chem. Phys. 103 (19), 8577. energies->addMolVirial(fi,mri); } } // end loop over atoms (i) reciprocalEnergy += energy; reciprocalDeltaMu += deltaMu; #if defined(DEBUG_PME_TIMING) myReciprocal.stop(); #endif } //_______________________________________________________________________ reciprocalTerm function template void iSGNonbondedPMEwaldSystemForce::reciprocalTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy, Real& reciprocalDeltaMu) { #if defined(DEBUG_PME_TIMING) myReciprocal.start(); #endif // get the number of atoms in the system const unsigned int atomCount = realTopo->atoms.size(); // clear the charge distribution grids myISGGrid.clear(); // loop over all atoms for(unsigned int i=0;iatoms[i].scaledCharge, realTopo->atoms[i].deltaQ,(*positions)[i],i); } // perform the inverse FFT operation on the charge distribution grids myISGGrid.fftBack(); // sum over the transformed charge grids to compute the energy // and chemical potential difference Real energy, deltaMu; myISGGrid.scalarSum(energies,energy,deltaMu); // take the product of the transformed Q grid with the arrays B and C (see Essmann et. al.) // and perform the forward FFT operation to get the convolution (Theta * Q)[m1,m2,m3] myISGGrid.fftForward(); // loop over all atoms bool doMolVirial = energies->molecularVirial(); for(unsigned int i=0;iatoms[i].scaledCharge,i,fi); (*forces)[i] += fi; if(doMolVirial){ // get the ID# of the molecule to which this atom belongs int Mi = realTopo->atoms[i].molecule; // compute the vector from atom i to the center of mass of the molecule Vector3D ria(boundaryConditions.minimalPosition((*positions)[i])); Vector3D mri(realTopo->boundaryConditions.minimalDifference(ria,realTopo->molecules[Mi].position)); // compute the reciprocal space contribution to the molecular virial // this expression is taken from Darden, et al. J. Chem. Phys. 103 (19), 8577. energies->addMolVirial(fi,mri); } } // end loop over atoms reciprocalEnergy += energy; reciprocalDeltaMu += deltaMu; #if defined(DEBUG_PME_TIMING) myReciprocal.stop(); #endif } //_______________________________________________________________________ correctionTerm function template void iSGNonbondedPMEwaldSystemForce::correctionTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& intraMolecularEnergy, Real& intraMolecularDeltaMu, unsigned int from, unsigned int to){ #if defined(DEBUG_PME_TIMING) myIntra.start(); #endif // Intra-molecular term bool doVirial = energies->virial(); const std::vector& exclusions = realTopo->exclusions.getTable(); // loop over all excluded pairs for(unsigned int i=from;iboundaryConditions.minimalDifference((*positions)[excl.a1],(*positions)[excl.a2],rSquared)); // get the value of lambda for this molecule int M1 = realTopo->atoms[excl.a1].molecule; Real myLambda = realTopo->molecules[M1].lambda; // intramolecular self energy and chemical potential difference contributions // If this is a transforming molecule (lambda /= 0) then we must completely subtract the // excluded interaction. If this is not a transforming molecule, then we apply the // 1-4 scaling factor (assuming one has been specified) as normal. Real qq = realTopo->atoms[excl.a1].scaledCharge*realTopo->atoms[excl.a2].scaledCharge; Real q_Dq = realTopo->atoms[excl.a1].deltaQ * realTopo->atoms[excl.a2].scaledCharge + realTopo->atoms[excl.a1].scaledCharge * realTopo->atoms[excl.a2].deltaQ; // check to see if this is not a transforming molecule // determine the current transformation stage of the molecule int myStage = static_cast(floor(myLambda)) + 1; // get the transformation stage #'s for these atoms int atom1_stage = realTopo->atoms[excl.a1].stageNumber; int atom2_stage = realTopo->atoms[excl.a2].stageNumber; // if the current stage is not the same as either atom1_stage or atom2_stage, or lambda = 0, // then neither atom is currently being transformed if ( (myLambda == 0.0 || (myStage != atom1_stage && myStage != atom2_stage)) && excl.excl == EXCLUSION_MODIFIED) { qq *= 1-realTopo->coulombScalingFactor; q_Dq *= 1-realTopo->coulombScalingFactor; } // separation distances Real r = sqrt(rSquared); Real rr = 1/r; // error function Real e = erf(myAlpha*r)*rr; // Intra-molecular self energy and chemical potential difference intraMolecularEnergy -= qq*e; intraMolecularDeltaMu -= q_Dq*e; // Intra-molecular self force Vector3D fij(rij*(qq*(my2AlphaPI*exp(-myAlphaSquared*rSquared)-e)*rr*rr)); (*forces)[excl.a1] -= fij; (*forces)[excl.a2] += fij; if (doVirial) energies->addVirial(fij,rij); } #if defined(DEBUG_PME_TIMING) myIntra.stop(); #endif } //_______________________________________________________________________ surfaceDipoleTerm function template void iSGNonbondedPMEwaldSystemForce::surfaceDipoleTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& surfaceDipoleEnergy){ #if defined(DEBUG_PME_TIMING) mySurface.start(); #endif const unsigned int atomCount = realTopo->atoms.size(); Vector3D sum(0,0,0); for(unsigned int i=0;iatoms[i].scaledCharge; // Energy surfaceDipoleEnergy = 2.0/3.0*M_PI*myVr*sum.normSquared(); Real virialxx = 0.0; Real virialxy = 0.0; Real virialxz = 0.0; Real virialyy = 0.0; Real virialyz = 0.0; Real virialzz = 0.0; // Force, F_i and virial_i (not confirmed) sum *= 2.0/3.0*M_PI*myVr; for(unsigned int i=0;iatoms[i].scaledCharge); Vector3D ri(boundaryConditions.minimalPosition((*positions)[i])); (*forces)[i] += force; virialxx += force.x*ri.x; virialxy += force.x*ri.y; virialxz += force.x*ri.z; virialyy += force.y*ri.y; virialyz += force.y*ri.z; virialzz += force.z*ri.z; } (*energies)[ScalarStructure::VIRIALXX] += virialxx; (*energies)[ScalarStructure::VIRIALXY] += virialxy; (*energies)[ScalarStructure::VIRIALXZ] += virialxz; (*energies)[ScalarStructure::VIRIALYX] += virialxy; (*energies)[ScalarStructure::VIRIALYY] += virialyy; (*energies)[ScalarStructure::VIRIALYZ] += virialyz; (*energies)[ScalarStructure::VIRIALZX] += virialxz; (*energies)[ScalarStructure::VIRIALZY] += virialyz; (*energies)[ScalarStructure::VIRIALZZ] += virialzz; #if defined(DEBUG_PME_TIMING) mySurface.stop(); #endif } //_______________________________________________________________________ getIdNoAlias function template std::string iSGNonbondedPMEwaldSystemForce::getIdNoAlias() const{ return (iSGCoulombForce::keyword + " -algorithm "+ keyword + std::string((real) ? std::string(" -real") : std::string("")) + std::string((reciprocal) ? std::string(" -reciprocal") : std::string("")) + std::string((correction) ? std::string(" -correction") : std::string("")) + " -interpolation "+TInterpolation::getKeyword()+ std::string((TSwitchingFunction::getId() != CutoffSwitchingFunction::getId()) ? std::string(std::string(" -switchingFunction " + TSwitchingFunction::getId())) : std::string(""))); } //_______________________________________________________________________ getParameters function template void iSGNonbondedPMEwaldSystemForce::getParameters(std::vector& parameters) const{ parameters.push_back(Parameter("-gridsize",Value(myNX,ConstraintValueType::Positive()))); parameters.push_back(Parameter("",Value(myNY,ConstraintValueType::Positive()))); parameters.push_back(Parameter("",Value(myNZ,ConstraintValueType::Positive()))); parameters.push_back(Parameter("-cutoff",Value(myRc,ConstraintValueType::Positive()))); parameters.push_back(Parameter("-order",Value(myInterOrder,ConstraintValueType::Positive()),4)); parameters.push_back(Parameter("-accuracy",Value(myAccuracy,ConstraintValueType::Positive()),1.e-6)); parameters.push_back(Parameter("-alpha",Value(myAlpha),-1.0)); if(TBoundaryConditions::VACUUM) parameters.push_back(Parameter("-j",Value(myExpansionFactor),3.0)); } //_______________________________________________________________________ doMake function template Force* iSGNonbondedPMEwaldSystemForce::doMake(std::string& errMsg,std::vector values) const{ int nx = values[0]; int ny = values[1]; int nz = values[2]; Real cutoff = values[3]; int order = values[4]; Real accuracy = values[5]; Real alpha = values[6]; Real expansionFactor = (TBoundaryConditions::VACUUM?(Real)values[7]:3.0); std::string err = ""; if(TBoundaryConditions::VACUUM && !values[7].valid()) err +=" expansionFactor \'"+values[2].getString()+"\' for "+getId()+" not valid."; if(expansionFactor <= 1.0) err += keyword + " simulation box expansion factor (="+toString(expansionFactor)+") > 1.0."; if(order < 2 || (order % 2) != 0 || !values[4].valid()) err += keyword + " order (="+values[4].getString()+") > 1 and even."; if(!values[0].valid() || !values[1].valid() || !values[2].valid() || nx < order || ny < order || nz < order) err += keyword + " force: "+values[4].getString()+" <= nx (="+values[0].getString()+"), "+values[4].getString()+" <= ny (="+values[1].getString()+"), "+values[4].getString()+" <= nz (="+values[2].getString()+")."; if(cutoff <= 0.0 || !values[3].valid()) err += keyword + " cutoff (="+values[3].getString()+") > 0."; if(accuracy <= 0.0 || !values[5].valid()) err += keyword + " accuracy (="+values[5].getString()+") > 0."; if(!values[6].valid()) err +=" alpha \'"+values[6].getString()+"\' not valid."; if(!err.empty()){ errMsg += " force "+keyword+" :"+err; return NULL; } return (new iSGNonbondedPMEwaldSystemForce((unsigned int)nx,(unsigned int)ny,(unsigned int)nz,(unsigned int)order,cutoff,accuracy,alpha,expansionFactor)); } } #endif /* ISGNONBONDEDPMEWALDSYSTEMFORCE_H */ protomol/applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForceBase.cpp0100644027616700000500000000041410237151524030162 0ustar pbrenne1dip#include "iSGNonbondedPMEwaldSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ iSGNonbondedPMEwaldSystemForceBase const string iSGNonbondedPMEwaldSystemForceBase::keyword("PMEwald"); } protomol/applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForceBase.h0100644027616700000500000000063010237151524027627 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGNONBONDEDPMEWALDSYSTEMFORCEBASE_H #define ISGNONBONDEDPMEWALDSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ iSGNonbondedPMEwaldSystemForceBase class iSGNonbondedPMEwaldSystemForceBase { public: static const std::string keyword; }; } #endif /* ISGNONBONDEDPMEWALDSYSTEMFORCEBASE_H */ protomol/applications/iSGProtomol-app/forces/iSGOneAtomPair.h0100755027616700000500000001337410237151524023722 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGONEATOMPAIR_H #define ISGONEATOMPAIR_H #include "Topology.h" #include "Parameter.h" #include "oneAtomContraints.h" namespace ProtoMol { //_________________________________________________________________ ISGOneAtomPair template class iSGOneAtomPair { // Computes the interaction for a given force between two atoms. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: typedef TBoundaryConditions BoundaryConditions; // Make the boundary conditions visible //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGOneAtomPair(): switchingFunction(), nonbondedForceFunction(){}; iSGOneAtomPair(TNonbondedForce nF, TSwitchingFunction sF): switchingFunction(sF), nonbondedForceFunction(nF),mySquaredCutoff(sF.cutoffSquared()){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ISGOneAtomPair //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const SemiGenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e){ realTopo = topo; positions = pos; forces = f; energies = e; } void doOneAtomPair(const int i, const int j); // Computes the force, energy, and chemical potential difference for atom i and j. void getParameters(std::vector& parameters) const{ nonbondedForceFunction.getParameters(parameters); switchingFunction.getParameters(parameters); } static unsigned int getParameterSize() { return TNonbondedForce::getParameterSize()+TSwitchingFunction::getParameterSize(); } static iSGOneAtomPair make(std::string& errMsg, std::vector values) { unsigned int n = TNonbondedForce::getParameterSize(); return iSGOneAtomPair(TNonbondedForce::make(errMsg,std::vector(values.begin(),values.begin()+n)), TSwitchingFunction::make(errMsg,std::vector(values.begin()+n,values.end()))); } static std::string getId() { return TConstraint::getPrefixId() + TNonbondedForce::getId() + TConstraint::getPostfixId() + std::string((!TSwitchingFunction::USE) ? std::string("") : std::string(" -switchingFunction " + TSwitchingFunction::getId())); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const SemiGenericTopology* realTopo; const Vector3DBlock* positions; Vector3DBlock* forces; ScalarStructure* energies; TSwitchingFunction switchingFunction; TNonbondedForce nonbondedForceFunction; Real mySquaredCutoff; }; //______________________________________________________________________ INLINES template inline void iSGOneAtomPair::doOneAtomPair(const int i, const int j) { if(TConstraint::PRE_CHECK) if(!TConstraint::check(realTopo,i,j)) return; // Get atom distance. Vector3D diff = realTopo->boundaryConditions.minimalDifference((*positions)[i], (*positions)[j]); Real distSquared = diff.normSquared(); // Do switching function rough test, if necessary. if (TSwitchingFunction::USE && distSquared > mySquaredCutoff) return; // Check for an exclusion. int mi = realTopo->atoms[i].molecule; int mj = realTopo->atoms[j].molecule; bool same = (mi==mj); ExclusionClass excl = (same?realTopo->exclusions.check(i,j):EXCLUSION_NONE); if (excl == EXCLUSION_FULL) return; // Calculate the force, energy, and chemical potential difference. Real energy, force, deltaMu; energy = force = deltaMu = 0.0; Real rDistSquared = 1.0/distSquared; nonbondedForceFunction(energy, force, deltaMu, distSquared, rDistSquared, diff, realTopo, i, j, excl); // Calculate the switched force, energy, and chemical potential difference. if (TSwitchingFunction::USE) { Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, distSquared); // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force = force * switchingValue - energy * switchingDeriv; energy = energy * switchingValue; deltaMu = deltaMu * switchingValue; } // Add this energy into the total system energy. nonbondedForceFunction.accumulateEnergy(energies, energy, deltaMu); // Add this force into the atom forces. Vector3D fij(diff*force); (*forces)[i] -= fij; (*forces)[j] += fij; if(!same && energies->molecularVirial()){ // Add to the atomic and molecular virials energies->addVirial(fij,diff, realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position)); } else if(energies->virial()) { energies->addVirial(fij,diff); } // End of force computation. if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diff,energy,fij); } } #endif /* ISGONEATOMPAIR_H */ protomol/applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h0100644027616700000500000002031210237151524024530 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGONEATOMPAIRFULL_H #define ISGONEATOMPAIRFULL_H #include "Topology.h" #include "Parameter.h" #include "oneAtomContraints.h" namespace ProtoMol { //_________________________________________________________________ ISGOneAtomPairFull template class iSGOneAtomPairFull { // Computes the interaction for a given force between two atoms. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: typedef TBoundaryConditions BoundaryConditions; // Make the boundary conditions visible //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGOneAtomPairFull(): switchingFunction(), nonbondedForceFunction(){}; iSGOneAtomPairFull(TNonbondedForce nF, TSwitchingFunction sF): switchingFunction(sF), nonbondedForceFunction(nF){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ISGOneAtomPairFull //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const SemiGenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e, const std::vector* l){ realTopo = topo; positions = pos; forces = f; energies = e; lattice = l; } void doOneAtomPair(const int i, const int j); // Computes the force and energy for atom i and j. void getParameters(std::vector& parameters) const{ nonbondedForceFunction.getParameters(parameters); switchingFunction.getParameters(parameters); } static unsigned int getParameterSize() { return TNonbondedForce::getParameterSize()+TSwitchingFunction::getParameterSize(); } static iSGOneAtomPairFull make(std::string& errMsg, std::vector values) { unsigned int n = TNonbondedForce::getParameterSize(); return iSGOneAtomPairFull(TNonbondedForce::make(errMsg,std::vector(values.begin(),values.begin()+n)), TSwitchingFunction::make(errMsg,std::vector(values.begin()+n,values.end()))); } static std::string getId() { return TConstraint::getPrefixId() + TNonbondedForce::getId() + TConstraint::getPostfixId() + std::string((!TSwitchingFunction::USE) ? std::string("") : std::string(" -switchingFunction " + TSwitchingFunction::getId())); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const SemiGenericTopology* realTopo; const Vector3DBlock* positions; Vector3DBlock* forces; ScalarStructure* energies; TSwitchingFunction switchingFunction; TNonbondedForce nonbondedForceFunction; const std::vector* lattice; }; //______________________________________________________________________ INLINES template inline void iSGOneAtomPairFull::doOneAtomPair(const int i, const int j) { if(TConstraint::PRE_CHECK) if(!TConstraint::check(realTopo,i,j)) return; // Do we have something to do? bool same = (i==j); if(same && lattice->empty()) return; Vector3D diffMinimal(realTopo->boundaryConditions.minimalDifference((*positions)[i], (*positions)[j])); if(!same){ // Get atom distance. Real distSquared = diffMinimal.normSquared(); // Do switching function rough test, if necessary. if (TSwitchingFunction::USE && !switchingFunction.roughTest(distSquared)) return; // Check for an exclusion. ExclusionClass excl = realTopo->exclusions.check(i,j); if (excl != EXCLUSION_FULL){ // Calculate the force, energy, and chemical potential difference. Real rawEnergy, rawForce, rawDeltaMu; rawEnergy = rawForce = rawDeltaMu = 0.0; Real rDistSquared = 1.0/distSquared; nonbondedForceFunction(rawEnergy, rawForce, rawDeltaMu, distSquared, rDistSquared, diffMinimal, realTopo, i, j, excl); // Calculate the switched force, energy, and chemical potential. Real energy, force, deltaMu; if (TSwitchingFunction::USE) { Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, distSquared); energy = rawEnergy * switchingValue; deltaMu = rawDeltaMu * switchingValue; // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force = rawForce * switchingValue - rawEnergy * switchingDeriv; } else { energy = rawEnergy; deltaMu = rawDeltaMu; force = rawForce; } // Add this energy into the total system energy. nonbondedForceFunction.accumulateEnergy(energies, energy, deltaMu); // Add this force into the atom forces. Vector3D fij = -diffMinimal*force; (*forces)[i] += fij; (*forces)[j] -= fij; // compute the vector between molecular centers of mass int mi = realTopo->atoms[i].molecule; int mj = realTopo->atoms[j].molecule; if(mi != mj){ Vector3D molDiff = realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position); // Add to the atomic and molecular virials energies->addVirial(fij,-diffMinimal,-molDiff); } else { energies->addVirial(fij,-diffMinimal); } if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diffMinimal,energy,fij); } } for(unsigned int k=0;ksize();k++){ Vector3D diff(diffMinimal+(*lattice)[k]); // Get atom distance. Real distSquared = diff.normSquared(); // Do switching function rough test, if necessary. if (TSwitchingFunction::USE && !switchingFunction.roughTest(distSquared)) continue; // Calculate the force, energy, and chemical potential difference. Real rawEnergy, rawForce, rawDeltaMu; rawEnergy = rawForce = rawDeltaMu = 0.0; Real rDistSquared = 1.0/distSquared; nonbondedForceFunction(rawEnergy, rawForce, rawDeltaMu, distSquared, rDistSquared, diff, realTopo, i, j, EXCLUSION_NONE); // Calculate the switched force, energy, and chemical potential difference. Real energy, force, deltaMu; if (TSwitchingFunction::USE) { Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, distSquared); energy = rawEnergy * switchingValue; deltaMu = rawDeltaMu * switchingValue; // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force = rawForce * switchingValue - rawEnergy * switchingDeriv; } else { energy = rawEnergy; deltaMu = rawDeltaMu; force = rawForce; } // Correct the energy by factor 1/2 when same atom since // there is only one pair (i,j) with i==j, where // there are two pairs with same contribution with i !=j if(same){ energy /= 2; deltaMu /= 2; } else { // Add this force into the atom forces. Vector3D fij = -diff*force; (*forces)[i] += fij; (*forces)[j] -= fij; // compute the vector between molecular centers of mass int mi = realTopo->atoms[i].molecule; int mj = realTopo->atoms[j].molecule; if(mi != mj){ Vector3D molDiff = realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position); // Add to the atomic and molecular virials energies->addVirial(fij,-diff,-molDiff); } else { energies->addVirial(fij,-diff); } } // Add this energy into the total system energy. nonbondedForceFunction.accumulateEnergy(energies, energy, deltaMu); if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diff,energy,-diff*force); } } } #endif /* ONEATOMPAIR_H */ protomol/applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h0100644027616700000500000001706410237151524024411 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGONEATOMPAIRTWO_H #define ISGONEATOMPAIRTWO_H #include "Topology.h" #include "Parameter.h" #include "oneAtomContraints.h" //#define DEBUG_ONEATOMPAIRTWO_TIMING #ifdef DEBUG_ONEATOMPAIRTWO_TIMING #include "Cycles.h" #endif namespace ProtoMol { //_____________________________________________________________ iSGOneAtomPairTwo template class iSGOneAtomPairTwo { // Computes the interaction for a given force between to atoms. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: typedef TBoundaryConditions BoundaryConditions; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGOneAtomPairTwo(){} iSGOneAtomPairTwo(TNonbondedForceFirst f1, TSwitchingFunctionFirst sF1, TNonbondedForceSecond f2, TSwitchingFunctionSecond sF2): switchingFunctionFirst(sF1), nonbondedForceFunctionFirst(f1), switchingFunctionSecond(sF2), nonbondedForceFunctionSecond(f2),mySquaredCutoff(std::max(sF1.cutoffSquared(),sF2.cutoffSquared())){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class iSGOneAtomPairTwo //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const SemiGenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e){ realTopo = topo; positions = pos; forces = f; energies = e; } void doOneAtomPair(const int i, const int j); // Computes the force and energy for atom i and j. void getParameters(std::vector& parameters) const{ nonbondedForceFunctionFirst.getParameters(parameters); switchingFunctionFirst.getParameters(parameters); nonbondedForceFunctionSecond.getParameters(parameters); switchingFunctionSecond.getParameters(parameters); } static unsigned int getParameterSize(){ return TNonbondedForceFirst::getParameterSize()+ TSwitchingFunctionFirst::getParameterSize()+ TNonbondedForceSecond::getParameterSize()+ TSwitchingFunctionSecond::getParameterSize(); } static iSGOneAtomPairTwo make(std::string& errMsg, std::vector values) { unsigned int l1 = TNonbondedForceFirst::getParameterSize(); unsigned int l2 = TSwitchingFunctionFirst::getParameterSize()+l1; unsigned int l3 = TNonbondedForceSecond::getParameterSize()+l2; return iSGOneAtomPairTwo(TNonbondedForceFirst::make(errMsg,std::vector(values.begin(),values.begin()+l1)), TSwitchingFunctionFirst::make(errMsg,std::vector(values.begin()+l1,values.begin()+l2)), TNonbondedForceSecond::make(errMsg,std::vector(values.begin()+l2,values.begin()+l3)), TSwitchingFunctionSecond::make(errMsg,std::vector(values.begin()+l3,values.end()))); } static std::string getId() { return TConstraint::getPrefixId() + TNonbondedForceFirst::getId() + TConstraint::getPostfixId() + " " + TConstraint::getPrefixId() + TNonbondedForceSecond::getId() + TConstraint::getPostfixId() + std::string((!(TSwitchingFunctionFirst::USE || TSwitchingFunctionSecond::USE)) ? std::string("") : std::string(" -switchingFunction " + TSwitchingFunctionFirst::getId() + " -switchingFunction " +TSwitchingFunctionSecond::getId())); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const SemiGenericTopology* realTopo; const Vector3DBlock* positions; Vector3DBlock* forces; ScalarStructure* energies; TSwitchingFunctionFirst switchingFunctionFirst; TNonbondedForceFirst nonbondedForceFunctionFirst; TSwitchingFunctionSecond switchingFunctionSecond; TNonbondedForceSecond nonbondedForceFunctionSecond; Real mySquaredCutoff; }; //______________________________________________________________________ INLINES template inline void iSGOneAtomPairTwo::doOneAtomPair(const int i, const int j) { if(TConstraint::PRE_CHECK) if(!TConstraint::check(realTopo,i,j)) return; // Get atom distance. Real distSquared; Vector3D diff(realTopo->boundaryConditions.minimalDifference((*positions)[i], (*positions)[j],distSquared)); // Do switching function rough test, if necessary. if (TSwitchingFunctionFirst::USE || TSwitchingFunctionSecond::USE) if (distSquared > mySquaredCutoff) return; // Check for an exclusion. int mi = realTopo->atoms[i].molecule; int mj = realTopo->atoms[j].molecule; bool same = (mi==mj); ExclusionClass excl = (same?realTopo->exclusions.check(i,j):EXCLUSION_NONE); if (excl == EXCLUSION_FULL) return; // Calculate the force, energy, and chemical potential difference. Real rDistSquared = 1.0/distSquared; Real energy1, force1, energy2, force2, deltaMu1, deltaMu2; energy1 = energy2 = force1 = force2 = deltaMu1 = deltaMu2 = 0.0; nonbondedForceFunctionFirst(energy1, force1, deltaMu1, distSquared, rDistSquared, diff, realTopo, i, j, excl); nonbondedForceFunctionSecond(energy2, force2, deltaMu2, distSquared, rDistSquared, diff, realTopo, i, j, excl); //Report::report << "\t"<molecularVirial()){ // Add to the atomic and molecular virials energies->addVirial(fij,diff,realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position)); } else if(energies->virial()) { energies->addVirial(fij,diff); } // End of force computation. if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diff,energy1+energy2,fij); } } #endif /* ISGONEATOMPAIRTWO_H */ protomol/applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h0100644027616700000500000002575010237151524025235 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGONEATOMPAIRTWOFULL_H #define ISGONEATOMPAIRTWOFULL_H #include "Topology.h" #include "Parameter.h" #include "oneAtomContraints.h" namespace ProtoMol { //_____________________________________________________________ iSGOneAtomPairTwoFull template class iSGOneAtomPairTwoFull { // Computes the interaction for a given force between to atoms. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: typedef TBoundaryConditions BoundaryConditions; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGOneAtomPairTwoFull(){} iSGOneAtomPairTwoFull(TNonbondedForceFirst f1, TNonbondedForceSecond f2, TSwitchingFunctionFirst sF1, TSwitchingFunctionSecond sF2): switchingFunctionFirst(sF1), nonbondedForceFunctionFirst(f1), switchingFunctionSecond(sF2), nonbondedForceFunctionSecond(f2){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class OneAtomPairTwoFull //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const SemiGenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e, const std::vector* l){ realTopo = topo; positions = pos; forces = f; energies = e; lattice = l; } void doOneAtomPair(const int i, const int j); // Computes the force and energy for atom i and j. void getParameters(std::vector& parameters) const{ nonbondedForceFunctionFirst.getParameters(parameters); nonbondedForceFunctionSecond.getParameters(parameters); switchingFunctionFirst.getParameters(parameters); switchingFunctionSecond.getParameters(parameters); } static unsigned int getParameterSize(){ return TNonbondedForceFirst::getParameterSize()+ TNonbondedForceSecond::getParameterSize()+ TSwitchingFunctionFirst::getParameterSize()+ TSwitchingFunctionSecond::getParameterSize(); } static iSGOneAtomPairTwoFull make(std::string& errMsg, std::vector values) { unsigned int l1 = TNonbondedForceFirst::getParameterSize(); unsigned int l2 = TNonbondedForceSecond::getParameterSize()+l1; unsigned int l3 = TSwitchingFunctionFirst::getParameterSize()+l2; return iSGOneAtomPairTwoFull(TNonbondedForceFirst::make(errMsg,std::vector(values.begin(),values.begin()+l1)), TNonbondedForceSecond::make(errMsg,std::vector(values.begin()+l1,values.begin()+l2)), TSwitchingFunctionFirst::make(errMsg,std::vector(values.begin()+l2,values.begin()+l3)), TSwitchingFunctionSecond::make(errMsg,std::vector(values.begin()+l3,values.end()))); } static std::string getId() { return TConstraint::getPrefixId() + TNonbondedForceFirst::getId() + TConstraint::getPostfixId() + " " + TConstraint::getPrefixId() + TNonbondedForceSecond::getId() + TConstraint::getPostfixId() + std::string((!(TSwitchingFunctionFirst::USE || TSwitchingFunctionSecond::USE)) ? std::string("") : std::string(" -switchingFunction " + TSwitchingFunctionFirst::getId() + " -switchingFunction " +TSwitchingFunctionSecond::getId())); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const SemiGenericTopology* realTopo; const Vector3DBlock* positions; Vector3DBlock* forces; ScalarStructure* energies; TSwitchingFunctionFirst switchingFunctionFirst; TNonbondedForceFirst nonbondedForceFunctionFirst; TSwitchingFunctionSecond switchingFunctionSecond; TNonbondedForceSecond nonbondedForceFunctionSecond; const std::vector* lattice; }; //______________________________________________________________________ INLINES template inline void iSGOneAtomPairTwoFull::doOneAtomPair(const int i, const int j) { if(TConstraint::PRE_CHECK) if(!TConstraint::check(realTopo,i,j)) return; // Do we have something to do? bool same = (i==j); if(same && lattice->empty()) return; Vector3D diffMinimal(realTopo->boundaryConditions.minimalDifference((*positions)[i], (*positions)[j])); if(!same){ Real distSquared = diffMinimal.normSquared(); // Do switching function rough test, if necessary. if ((TSwitchingFunctionFirst::USE || TSwitchingFunctionSecond::USE) && !switchingFunctionFirst.roughTest(distSquared) && !switchingFunctionSecond.roughTest(distSquared)) return; // Check for an exclusion. ExclusionClass excl = realTopo->exclusions.check(i,j); if (excl != EXCLUSION_FULL){ // Calculate the force and energy. Real rawEnergy1, rawForce1, rawDeltaMu1, rawEnergy2, rawForce2, rawDeltaMu2; rawEnergy1 = rawEnergy2 = rawForce1 = rawForce2 = rawDeltaMu1 = rawDeltaMu2 = 0.0; Real rDistSquared = 1.0/distSquared; nonbondedForceFunctionFirst(rawEnergy1, rawForce1, rawDeltaMu1, distSquared, rDistSquared, diffMinimal, realTopo, i, j, excl); nonbondedForceFunctionSecond(rawEnergy2, rawForce2, rawDeltaMu2, distSquared, rDistSquared, diffMinimal, realTopo, i, j, excl); // Calculate the switched force and energy. Real energy1, force1, deltaMu1, energy2, force2, deltaMu2; if (TSwitchingFunctionFirst::USE || TSwitchingFunctionSecond::USE) { Real switchingValue1, switchingDeriv1; Real switchingValue2, switchingDeriv2; switchingFunctionFirst(switchingValue1, switchingDeriv1, distSquared); switchingFunctionSecond(switchingValue2, switchingDeriv2, distSquared); energy1 = rawEnergy1 * switchingValue1; energy2 = rawEnergy2 * switchingValue2; deltaMu1 = rawDeltaMu1 * switchingValue1; deltaMu2 = rawDeltaMu2 * switchingValue2; // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force1 = rawForce1 * switchingValue1 - rawEnergy1 * switchingDeriv1; force2 = rawForce2 * switchingValue2 - rawEnergy2 * switchingDeriv2; } else { energy1 = rawEnergy1; energy2 = rawEnergy2; deltaMu1 = rawDeltaMu1; deltaMu2 = rawDeltaMu2; force1 = rawForce1; force2 = rawForce2; } // Add this energy into the total system energy. nonbondedForceFunctionFirst.accumulateEnergy(energies, energy1, deltaMu1); nonbondedForceFunctionSecond.accumulateEnergy(energies, energy2, deltaMu2); // Add this force into the atom forces. Vector3D fij = -diffMinimal*(force1+force2); (*forces)[i] += fij; (*forces)[j] -= fij; // compute the vector between molecular centers of mass Vector3D molDiff = realTopo->boundaryConditions.minimalDifference(realTopo->molecules[realTopo->atoms[i].molecule].position, realTopo->molecules[realTopo->atoms[j].molecule].position); // Add to the atomic and molecular virials energies->addVirial(fij,-diffMinimal,-molDiff); if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diffMinimal,energy1+energy2,fij); } } for(unsigned int k=0;ksize();k++){ Vector3D diff(diffMinimal+(*lattice)[k]); // Get atom distance. Real distSquared = diff.normSquared(); // Do switching function rough test, if necessary. if ((TSwitchingFunctionFirst::USE || TSwitchingFunctionSecond::USE) && !switchingFunctionFirst.roughTest(distSquared) && !switchingFunctionSecond.roughTest(distSquared)) continue; // Calculate the force and energy and chemical potential difference. Real rawEnergy1, rawForce1, rawDeltaMu1, rawEnergy2, rawForce2, rawDeltaMu2; rawEnergy1 = rawEnergy2 = rawForce1 = rawForce2 = rawDeltaMu1 = rawDeltaMu2 = 0.0; Real rDistSquared = 1.0/distSquared; nonbondedForceFunctionFirst(rawEnergy1, rawForce1, rawDeltaMu1, distSquared, rDistSquared, diff, realTopo, i, j, EXCLUSION_NONE); nonbondedForceFunctionSecond(rawEnergy2, rawForce2, rawDeltaMu2, distSquared, rDistSquared, diff, realTopo, i, j, EXCLUSION_NONE); // Calculate the switched force and energy. Real energy1, force1, deltaMu1, energy2, force2, deltaMu2; if (TSwitchingFunctionFirst::USE || TSwitchingFunctionSecond::USE) { Real switchingValue1, switchingDeriv1; Real switchingValue2, switchingDeriv2; switchingFunctionFirst(switchingValue1, switchingDeriv1, distSquared); switchingFunctionSecond(switchingValue2, switchingDeriv2, distSquared); energy1 = rawEnergy1 * switchingValue1; energy2 = rawEnergy2 * switchingValue2; deltaMu1 = rawDeltaMu1 * switchingValue1; deltaMu2 = rawDeltaMu2 * switchingValue2; // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force1 = rawForce1 * switchingValue1 - rawEnergy1 * switchingDeriv1; force2 = rawForce2 * switchingValue2 - rawEnergy2 * switchingDeriv2; } else { energy1 = rawEnergy1; energy2 = rawEnergy2; force1 = rawForce1; force2 = rawForce2; deltaMu1 = rawDeltaMu1; deltaMu2 = rawDeltaMu2; } // Correct the energy by factor 1/2 when same atom since // there is only one pair (i,j) with i==j, where // there are two pairs with same contribution with i !=j if(same){ energy1 /= 2; energy2 /= 2; deltaMu1 /= 2; deltaMu2 /= 2; } else { // Add this force into the atom forces. Vector3D fij = -diff*(force1+force2); (*forces)[i] += fij; (*forces)[j] -= fij; // compute the vector between molecular centers of mass Vector3D molDiff = realTopo->boundaryConditions.minimalDifference(realTopo->molecules[realTopo->atoms[i].molecule].position, realTopo->molecules[realTopo->atoms[j].molecule].position)+ (*lattice)[k]; // Add to the atomic and molecular virials energies->addVirial(fij,-diff,-molDiff); } // Add this energy into the total system energy. nonbondedForceFunctionFirst.accumulateEnergy(energies, energy1, deltaMu1); nonbondedForceFunctionSecond.accumulateEnergy(energies, energy2, deltaMu2); if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diff,energy1+energy2,-diff*(force1+force2)); } // End of force computation. } } #endif /* ISGONEATOMPAIRTWOFULL_H */ protomol/applications/iSGProtomol-app/frontend/0040755027616700000500000000000010237151524021316 5ustar pbrenne1dipprotomol/applications/iSGProtomol-app/frontend/.cvsignore0100644027616700000500000000006310237151524023312 0ustar pbrenne1dip*.o *.il Makefile.in Makefile iSGProtomol ti_files protomol/applications/iSGProtomol-app/frontend/Makefile.am0100644027616700000500000000321110237151524023344 0ustar pbrenne1dip# base AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libISGfrontend_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_ISGBASE = $(top_srcdir)/applications/iSGProtomol-app/base P_ISGIO = $(top_srcdir)/applications/iSGProtomol-app/io P_ISGFORCES = $(top_srcdir)/applications/iSGProtomol-app/forces P_ISGFRONTEND = $(top_srcdir)/applications/iSGProtomol-app/frontend P_ISGTOPOLOGY = $(top_srcdir)/applications/iSGProtomol-app/topology P_ISGINTEGRATORS = $(top_srcdir)/applications/iSGProtomol-app/integrators # base Sources P_ISGFRONTEND_SRC =\ OutputFinalXSC.cpp\ OutputISGProperties.cpp\ OutputFinalPSF.cpp\ buildISGTopology.cpp # base Includes P_ISGFRONTEND_H =\ OutputFinalXSC.h\ OutputISGProperties.h\ OutputFinalPSF.h\ buildISGTopology.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libISGfrontend.a libISGfrontend_a_SOURCES = $(P_ISGFRONTEND_SRC) $(P_ISGFRONTEND_H) INCLUDES = @FFT_CFLAGS@ -I$(P_ISGFRONTEND) -I$(P_ISGTOPOLOGY) -I$(P_ISGBASE) -I$(P_ISGIO) -I$(P_ISGINTEGRATORS) -I$(P_BASE) -I$(P_IO) -I$(P_FRONTEND) -I$(P_TOPOLOGY) -I$(P_INTEGRATORS) -I$(P_FORCES) SOURCEFILES = $(P_ISGFRONTEND_SRC) #include $(top_srcdir)/Makefile.depend protomol/applications/iSGProtomol-app/frontend/Makefile.in0100644027616700000500000002371510237151524023370 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # base SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libISGfrontend_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_ISGBASE = $(top_srcdir)/applications/iSGProtomol-app/base P_ISGIO = $(top_srcdir)/applications/iSGProtomol-app/io P_ISGFORCES = $(top_srcdir)/applications/iSGProtomol-app/forces P_ISGFRONTEND = $(top_srcdir)/applications/iSGProtomol-app/frontend P_ISGTOPOLOGY = $(top_srcdir)/applications/iSGProtomol-app/topology P_ISGINTEGRATORS = $(top_srcdir)/applications/iSGProtomol-app/integrators # base Sources P_ISGFRONTEND_SRC = \ OutputFinalXSC.cpp\ OutputISGProperties.cpp\ OutputFinalPSF.cpp\ buildISGTopology.cpp # base Includes P_ISGFRONTEND_H = \ OutputFinalXSC.h\ OutputISGProperties.h\ OutputFinalPSF.h\ buildISGTopology.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libISGfrontend.a libISGfrontend_a_SOURCES = $(P_ISGFRONTEND_SRC) $(P_ISGFRONTEND_H) INCLUDES = @FFT_CFLAGS@ -I$(P_ISGFRONTEND) -I$(P_ISGTOPOLOGY) -I$(P_ISGBASE) -I$(P_ISGIO) -I$(P_ISGINTEGRATORS) -I$(P_BASE) -I$(P_IO) -I$(P_FRONTEND) -I$(P_TOPOLOGY) -I$(P_INTEGRATORS) -I$(P_FORCES) SOURCEFILES = $(P_ISGFRONTEND_SRC) subdir = applications/iSGProtomol-app/frontend mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) libISGfrontend_a_LIBADD = am__objects_1 = OutputFinalXSC.$(OBJEXT) OutputISGProperties.$(OBJEXT) \ OutputFinalPSF.$(OBJEXT) buildISGTopology.$(OBJEXT) am__objects_2 = am_libISGfrontend_a_OBJECTS = $(am__objects_1) $(am__objects_2) libISGfrontend_a_OBJECTS = $(am_libISGfrontend_a_OBJECTS) DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(libISGfrontend_a_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(libISGfrontend_a_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign applications/iSGProtomol-app/frontend/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libISGfrontend.a: $(libISGfrontend_a_OBJECTS) $(libISGfrontend_a_DEPENDENCIES) -rm -f libISGfrontend.a $(libISGfrontend_a_AR) libISGfrontend.a $(libISGfrontend_a_OBJECTS) $(libISGfrontend_a_LIBADD) $(RANLIB) libISGfrontend.a mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/applications/iSGProtomol-app/frontend/OutputFinalPSF.cpp0100644027616700000500000000320410237151524024641 0ustar pbrenne1dip#include "OutputFinalPSF.h" #include "Configuration.h" #include "OutputCache.h" //change #include "stringutilities.h" #include "GenericTopology.h" #include "PSFWriter.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputFinalPSF const string OutputFinalPSF::keyword("finPSFFile"); OutputFinalPSF::OutputFinalPSF():Output(1),myFilename(""){} OutputFinalPSF::OutputFinalPSF(const string& filename):Output(1),myFilename(filename){} void OutputFinalPSF::doFinalize(int step){ PSFWriter writer; if(!writer.open(myFilename)) report << error << "Can't open "<time())+", step : "+toString(step)+"."); PSF tempPSF = myCache->psf(); for (unsigned int i=0; imolecules[ myTopology->atoms[i].molecule ].type; tempPSF.atoms[i].mass = myTopology->atoms[i].scaledMass; tempPSF.atoms[i].charge = myTopology->atoms[i].scaledCharge / Constant::SQRTCOULOMBCONSTANT; } const PSF MyiSGPSF = tempPSF; if(!writer.write(MyiSGPSF)) report << error << "Could not write "<& values) const{ return (new OutputFinalPSF(values[0])); } void OutputFinalPSF::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); } } protomol/applications/iSGProtomol-app/frontend/OutputFinalPSF.h0100644027616700000500000000341710237151524024314 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTFINALPSF_H #define OUTPUTFINALPSF_H #include "Output.h" namespace ProtoMol { class Configuration; //________________________________________________________ OutputFinalPSF class OutputFinalPSF : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputFinalPSF(); OutputFinalPSF(const std::string& filename); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(){}; virtual void doRun(int){}; virtual void doFinalize(int); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 1;} virtual void getParameters(std::vector ¶meter) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: std::string myFilename; }; } #endif protomol/applications/iSGProtomol-app/frontend/OutputFinalXSC.cpp0100644027616700000500000000277310237151524024660 0ustar pbrenne1dip#include "OutputFinalXSC.h" #include "Configuration.h" #include "OutputCache.h" // #include "stringutilities.h" #include "iSGIntegrator.h" #include "Topology.h" // #include "XSCWriter.h" #include "XSC.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputFinalXSC const string OutputFinalXSC::keyword("finXSCFile"); OutputFinalXSC::OutputFinalXSC():Output(1),myFilename(""){} OutputFinalXSC::OutputFinalXSC(const string& filename):Output(1),myFilename(filename){} void OutputFinalXSC::doFinalize(int step){ XSCWriter writer; if(!writer.open(myFilename)) report << error << "Can't open "<time())+", step : "+toString(step)+"."); const iSGIntegrator* isg = dynamic_cast(myIntegrator->bottom()); if(isg == NULL){ report << error << keyword << " : Level 0 integrator is not an iSGIntegrator!"<< endr; } else { if(!writer.write(isg->getXSC())) report << error << "Could not write "<& values) const{ return (new OutputFinalXSC(values[0])); } void OutputFinalXSC::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); } } protomol/applications/iSGProtomol-app/frontend/OutputFinalXSC.h0100644027616700000500000000341710237151524024321 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTFINALXSC_H #define OUTPUTFINALXSC_H #include "Output.h" namespace ProtoMol { class Configuration; //________________________________________________________ OutputFinalXSC class OutputFinalXSC : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputFinalXSC(); OutputFinalXSC(const std::string& filename); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(){}; virtual void doRun(int){}; virtual void doFinalize(int); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 1;} virtual void getParameters(std::vector ¶meter) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: std::string myFilename; }; } #endif protomol/applications/iSGProtomol-app/frontend/OutputISGProperties.cpp0100644027616700000500000001041610237151524025741 0ustar pbrenne1dip#include "OutputISGProperties.h" #include "Configuration.h" #include "GenericTopology.h" #include "ScalarStructure.h" #include "topologyutilities.h" #include "OutputCache.h" #include "inputValueDefinitions.h" #include using namespace ProtoMol::Report; using std::string; using std::vector; using std::setw; using std::endl; using std::flush; using std::setprecision; using std::setiosflags; using std::resetiosflags; using std::ofstream; namespace ProtoMol { //________________________________________________________ Output const string OutputISGProperties::keyword("iSGPropertiesfile"); OutputISGProperties::OutputISGProperties():OutputFile(),myDoMolecularTemperature(true){} OutputISGProperties::OutputISGProperties(const string& filename, int freq, bool doMolTemp):OutputFile(filename,freq),myDoMolecularTemperature(doMolTemp){} void OutputISGProperties::doInitialize(){ ofstream iSGPropertiesHeaderFile(string(myFilename + ".header").c_str(), std::ios::out | std::ios::trunc); if(!iSGPropertiesHeaderFile) report << error <<" Can not open \'"<virial()) iSGPropertiesHeaderFile << setw(14) << "Pressure(bar)" << " "; if(myEnergies->molecularVirial()) iSGPropertiesHeaderFile << setw(14) << "Mol_Pres(bar)" << " "; iSGPropertiesHeaderFile << setw(12) << "Volume(A^3)"; for (unsigned int i=0; iiSGNumMols.size(); i++) { iSGPropertiesHeaderFile << setw(9) << "N[" << i << "]";} iSGPropertiesHeaderFile << setw(12) << "deltaCQ" << setw(14) << "Steps" << endl; iSGPropertiesHeaderFile.close(); open(); close(); } void OutputISGProperties::doRun(int){ if (myEnergies->output()) { if(!reopen()) report << error <<" Can not open \'"<time() << " " << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setiosflags(std::ios::floatfield) << setprecision(8) << setw(14) << myCache->kineticEnergy() << setw(14) << myCache->potentialEnergy() << setw(14) << myCache->temperature() << setw(14) << myCache->pressure() << setw(14) << myCache->molecularPressure() << setw(15) << myCache->volume() << " "; for (unsigned int i=0; iiSGNumMols.size(); i++) { myFile << setw(10) << myTopology->iSGNumMols[i];} myFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setiosflags(std::ios::floatfield) << setprecision(8) << setw(16) << (*myEnergies)[ScalarStructure::CQFLUCTUATION] << setw(10) << (*myEnergies)[ScalarStructure::DELTATIME] << endl; reclose(); } } void OutputISGProperties::doFinalize(int){ close(); } Output* OutputISGProperties::doMake(string&, const vector& values) const{ return (new OutputISGProperties(values[0],values[1],values[2])); } void OutputISGProperties::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("energiesOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); parameter.push_back(Parameter("molecularTemperature",Value(myDoMolecularTemperature),true)); } bool OutputISGProperties::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; return checkParameters(values); } } protomol/applications/iSGProtomol-app/frontend/OutputISGProperties.h0100644027616700000500000000366110237151524025412 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTISGPROPERTIES_H #define OUTPUTISGPROPERTIES_H #include "OutputFile.h" namespace ProtoMol { //________________________________________________________ OutputISGProperties class OutputISGProperties : public OutputFile { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputISGProperties(); OutputISGProperties(const std::string& filename, int freq, bool doMolTemp); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 3;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: bool myDoMolecularTemperature; }; } #endif protomol/applications/iSGProtomol-app/frontend/buildISGTopology.cpp0100644027616700000500000012450410237151524025224 0ustar pbrenne1dip#include "buildISGTopology.h" #include "ExclusionTable.h" #include "ExclusionType.h" #include "GenericTopology.h" #include "iSGPAR.h" #include "PSF.h" #include "Report.h" #include "pmconstants.h" #include "mathutilities.h" #include "stringutilities.h" #include "topologyutilities.h" #include #include #include #include #include #include using std::list; using std::map; using std::set; using std::pair; using std::string; using std::vector; using namespace ProtoMol::Report; //#define DEBUG_PRINT_MOLECULETABLE namespace ProtoMol { static void findNextNeighbor(int a, vector& v, vector& p, vector& unused, const vector >& graph, set& pairs); // bool cmpSize(const vector& m1, const vector& m2); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // buildISGTopology // //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void buildISGTopology(GenericTopology* topo,const PSF& psf, const iSGPAR& par) { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // First, generate the array of atomtypes // Each time a new atom comes up, we need to check if it is // already in the vector.... // NOTE: this may take a while for large systems; however, it will cut // down on the size of the atomTypes vector, and therefore, the amount // access time in the back end. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topo->atoms.clear(); topo->atomTypes.clear(); topo->bonds.clear(); topo->angles.clear(); topo->dihedrals.clear(); topo->impropers.clear(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Get the atoms //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ map atomLookUpTable; // loop over all atoms in the PSF object for (vector::const_iterator atom = psf.atoms.begin(); atom != psf.atoms.end(); ++atom) { // store the atom_type name for this atom AtomType tempatomtype; tempatomtype.name = atom->atom_type; tempatomtype.symbolName = atomTypeToSymbolName(atom->atom_type); // Now check if this already exists (same name) if (atomLookUpTable.find(tempatomtype.name) == atomLookUpTable.end()) { // this is a new atom type, add to the atomTypes list atomLookUpTable[tempatomtype.name] = topo->atomTypes.size(); topo->atomTypes.push_back(tempatomtype); } Atom tempatom; // First, we need to find the index. (an integer corresponding // to the type of the atom tempatom.type = atomLookUpTable[tempatomtype.name]; // Now, the mass and scaled charge. These are straightforward. tempatom.scaledCharge = (atom->charge)*Constant::SQRTCOULOMBCONSTANT; tempatom.scaledMass = atom->mass; // Now we need the size of the group for heavy atom ordering // We need to parse the name for any H's then any numbers following // First, if the atom is an H then this is 0 if (atom->atom_type == "H"){ tempatom.hvyAtom = 0; } else{ // Otherwise, we need to parse.. // Initialize to 1 tempatom.hvyAtom = 1; for (unsigned int pos = 0; pos < atom->atom_type.size(); ++pos){ if (atom->atom_type[pos] == 'H'){ string number = ""; while (isdigit(atom->atom_type[++pos])) { number += atom->atom_type[pos]; } if (number == "") // never entered loop, default is 1 number = "1"; tempatom.hvyAtom += atoi(number.c_str()); } } } // C/C++ starts at 0, where PSF/PDB at 1 tempatom.atomNum = atom->number-1; // Also the molecule - using residue sequence for now topo->atoms.push_back(tempatom); } // end loop over atoms // calculate the # of degrees of freedom, if there are any bond constraints // they will be subtracted later by ModifierShake topo->degreesOfFreedom = 3 * topo->atoms.size() - 3; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Get the bonds //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // First create look-up-table (into PAR object bonds) map::const_iterator> bondLookUpTable; // take the bonds from the PAR object and put then into the map/look-up-table for (vector::const_iterator bond = par.bonds.begin(); bond != par.bonds.end(); ++bond){ bondLookUpTable[bond->atom1+","+bond->atom2] = bond; //report << (*bond)<< ", " << bond->atom1 << ", " << bond->atom2 <::const_iterator bond = psf.bonds.begin(); bond != psf.bonds.end(); ++bond){ // store the ID numbers of the bonded atoms int atom1 = bond->atom1-1; int atom2 = bond->atom2-1; // store the type names of the bonded atoms string bond1(topo->atomTypes[topo->atoms[atom1].type].name); string bond2(topo->atomTypes[topo->atoms[atom2].type].name); // look into the bond table and see if this bond type was stored in the PAR file map::const_iterator>::const_iterator currentbond = bondLookUpTable.find(bond1+","+bond2); // if this bond type has not been found, try reversing the order of the atom types if(currentbond == bondLookUpTable.end()){ currentbond = bondLookUpTable.find(bond2+","+bond1);} // if we still have not found this bond type in the PAR object, report an error if(currentbond == bondLookUpTable.end()){ report << error << "Could not find bond \'"<::const_iterator>::const_iterator i = bondLookUpTable.begin(); i != bondLookUpTable.end(); ++i){ report << plain << i->first<second->forceConstant[bondIdentity]; tempbond.restLength = currentbond->second->distance[bondIdentity]; tempbond.atom1 = atom1; tempbond.atom2 = atom2; topo->bonds.push_back(tempbond); if(tempbond.springConstant == 0.0) ++ignoredBonds; } if(ignoredBonds > 0) report << hint << "Systems contains "<::const_iterator> angleLookUpTable; // take the angles from the PAR object and put them into the map for (vector::const_iterator angle = par.angles.begin(); angle != par.angles.end(); ++angle){ angleLookUpTable[angle->atom1+","+angle->atom2+","+angle->atom3] = angle; //report << (*angle)<::const_iterator angle = psf.angles.begin(); angle != psf.angles.end(); ++angle){ // store the ID numbers of the atoms in this angle int atom1 = angle->atom1-1; int atom2 = angle->atom2-1; int atom3 = angle->atom3-1; // store the type names of the atoms in this angle string angle1(topo->atomTypes[topo->atoms[atom1].type].name); string angle2(topo->atomTypes[topo->atoms[atom2].type].name); string angle3(topo->atomTypes[topo->atoms[atom3].type].name); // look into the angle table and see if this angle type was stored in the PAR file map::const_iterator>::const_iterator currentangle = angleLookUpTable.find(angle1+","+angle2+","+angle3); // if this angle type has not been found, try reversing the order of the atom types if(currentangle == angleLookUpTable.end()) currentangle = angleLookUpTable.find(angle3+","+angle2+","+angle1); // if we still have not found this angle type in the PAR object, report an error if(currentangle == angleLookUpTable.end()) report << error << "Could not find angle \'"<second->forceConstant[angleIdentity]; tempangle.restAngle = dtor(currentangle->second->angleval[angleIdentity]); // check to see if a Urey-Bradley term has been specified if (currentangle->second->ub_flag){ // do we want defaults for these tempangle.ureyBradleyConstant = currentangle->second->k_ub[angleIdentity]; tempangle.ureyBradleyRestLength = currentangle->second->r_ub[angleIdentity]; } // no Urey-Bradley term specified else{ tempangle.ureyBradleyConstant = 0.0; tempangle.ureyBradleyRestLength = 0.0; } topo->angles.push_back(tempangle); if(tempangle.forceConstant == 0.0) ++ignoredAngles; } if(ignoredAngles > 0) report << hint << "Systems contains "<::const_iterator> dihedralLookUpTable; // take the dihedrals from the PAR object and put them into the map for (vector::const_iterator dihedral = par.dihedrals.begin(); dihedral != par.dihedrals.end(); ++dihedral){ dihedralLookUpTable[dihedral->atom1+","+dihedral->atom2+","+dihedral->atom3+","+dihedral->atom4] = dihedral; //report << (*dihedral)<::const_iterator dihedral = psf.dihedrals.begin(); dihedral != psf.dihedrals.end(); ++dihedral) { // store the ID numbers of the atoms in this dihedral int atom1 = dihedral->atom1 - 1; int atom2 = dihedral->atom2 - 1; int atom3 = dihedral->atom3 - 1; int atom4 = dihedral->atom4 - 1; // store the type names of the atoms in this dihedral string dihedral1 = topo->atomTypes[topo->atoms[atom1].type].name; string dihedral2 = topo->atomTypes[topo->atoms[atom2].type].name; string dihedral3 = topo->atomTypes[topo->atoms[atom3].type].name; string dihedral4 = topo->atomTypes[topo->atoms[atom4].type].name; // look into the dihedral table and see if this dihedral type was stored in the PAR file map::const_iterator>::const_iterator currentdihedral = dihedralLookUpTable.find(dihedral1+","+dihedral2+","+dihedral3+","+dihedral4); // if this dihedral type has not been found, try reversing the order of the atom types if(currentdihedral == dihedralLookUpTable.end()) currentdihedral = dihedralLookUpTable.find(dihedral4+","+dihedral3+","+dihedral2+","+dihedral1); // Try wildcards if necessary if(currentdihedral == dihedralLookUpTable.end()){ currentdihedral = dihedralLookUpTable.find("X,"+dihedral2+","+dihedral3+",X"); if(currentdihedral == dihedralLookUpTable.end()) currentdihedral = dihedralLookUpTable.find("X,"+dihedral3+","+dihedral2+",X"); } // if we still have not found this dihedral type in the PAR object, report an error if(currentdihedral == dihedralLookUpTable.end()) report << error << "Could not find dihedral \'"<second->periodicity[torsionIdentity]; torsion.forceConstant = currentdihedral->second->forceConstant[torsionIdentity]; torsion.phaseShift = dtor(currentdihedral->second->phaseShift[torsionIdentity]); torsion.multiplicity = currentdihedral->second->multiplicity[torsionIdentity]; torsion.DeltaK.resize(torsion.multiplicity); torsion.DeltaPhase.resize(torsion.multiplicity); //report << plain // << dihedral1 <<"," // << dihedral2 <<"," // << dihedral3 <<"," // << dihedral4 <<"," // << torsion.atom1 <<"," // << torsion.atom2 <<"," // << torsion.atom3 <<"," // << torsion.atom4 <<"," // << torsion.periodicity.size() <<","; //for (unsigned int tors=0; torsdihedrals.size() == 0 || topo->dihedrals[topo->dihedrals.size()-1].atom1 != atom1 || topo->dihedrals[topo->dihedrals.size()-1].atom2 != atom2 || topo->dihedrals[topo->dihedrals.size()-1].atom3 != atom3 || topo->dihedrals[topo->dihedrals.size()-1].atom4 != atom4){ topo->dihedrals.push_back(torsion); //report << plain //<< (wildcard ? "#":"") // << dihedral1 <<"," // << dihedral2 <<"," // << dihedral3 <<"," // << dihedral4 <<"," // << torsion.atom1 <<"," // << torsion.atom2 <<"," // << torsion.atom3 <<"," // << torsion.atom4 <<"," // << torsion.periodicity[0] <<"," // << torsion.periodicity.size() <<"," // << torsion.forceConstant[0] <<"," // << torsion.phaseShift[0] <<"," // << torsion.multiplicity << endr; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Get the impropers //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // One change I made was to assume that a improper will only appear // once in the .psf file regardless of it's multiplicity. The // multiplicity should be handled in the .par file. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // No wildcard usage is allowed for bonds and angles. For dihedrals, // two types are allowed; A - B - C - D (all four atoms specified) and // X - A - B - X (only middle two atoms specified). Double dihedral // specifications may be specified for the four atom type by listing a // given set twice. When specifying this type in the topology file, specify // a dihedral twice (with nothing intervening) and both forms will be used. // // There are five choices for wildcard usage for improper dihedrals; // 1) A - B - C - D (all four atoms, double specification allowed) // 2) A - X - X - B // 3) X - A - B - C // 4) X - A - B - X // 5) X - X - A - B // When classifying an improper dihedral, the first acceptable match (from // the above order) is chosen. The match may be made in either direction // ( A - B - C - D = D - C - B - A). // // The periodicity value for dihedrals and improper dihedral terms // must be an integer. If it is positive, then a cosine functional form is used. // Only positive values of 1,2,3,4,5 and 6 are allowed for the vector, parallel // vector and cray routines. Slow and scalar routines can use any positive // integer and thus dihedral constrains can be of any periodicity. // Reference angle 0.0 and 180.0 degree correspond to minimum in staggered // and eclipsed respectively. Any reference angle is allowed. The value // 180 should be prefered over -180 since it is parsed faster and more // accuratly. When the periodicity is given as zero, for OTHER THAN THE // FIRST dihdral in a multiple dihedral set, then a the amplitude is a // constant added to the energy. This is needed to effect the // Ryckaert-Bellemans potential for hydrocarbons (see below). // First create look-up-table into PAR object map::const_iterator> improperLookUpTable; // take the impropers from the PAR object and put them into the map for (vector::const_iterator improper = par.impropers.begin(); improper != par.impropers.end(); ++improper){ improperLookUpTable[improper->atom1+","+improper->atom2+","+improper->atom3+","+improper->atom4] = improper; //report << (*improper)<::const_iterator improper = psf.impropers.begin(); improper != psf.impropers.end(); ++improper) { // store the ID numbers of the atoms in this improper int atom1 = improper->atom1 - 1; int atom2 = improper->atom2 - 1; int atom3 = improper->atom3 - 1; int atom4 = improper->atom4 - 1; // store the type names of the atoms in this improper string improper1 = topo->atomTypes[topo->atoms[atom1].type].name; string improper2 = topo->atomTypes[topo->atoms[atom2].type].name; string improper3 = topo->atomTypes[topo->atoms[atom3].type].name; string improper4 = topo->atomTypes[topo->atoms[atom4].type].name; // look into the improper table and see if this improper type was stored in the PAR file map::const_iterator>::const_iterator currentimproper = improperLookUpTable.find(improper1+","+improper2+","+improper3+","+improper4); // if this dihedral type has not been found, try reversing the order of the atom types if(currentimproper == improperLookUpTable.end()) currentimproper = improperLookUpTable.find(improper4+","+improper3+","+improper2+","+improper1); // Try wildcards if necessary // 2) A - X - X - B if(currentimproper == improperLookUpTable.end()){ currentimproper = improperLookUpTable.find(improper1+",X,X,"+improper4); if(currentimproper == improperLookUpTable.end()) currentimproper = improperLookUpTable.find(improper4+",X,X,"+improper1); } // 3) X - A - B - C if(currentimproper == improperLookUpTable.end()){ currentimproper = improperLookUpTable.find("X,"+improper2+","+improper3+","+improper4); if(currentimproper == improperLookUpTable.end()) currentimproper = improperLookUpTable.find(improper4+","+improper3+","+improper2+",X"); } // 4) X - A - B - X if(currentimproper == improperLookUpTable.end()){ currentimproper = improperLookUpTable.find("X,"+improper2+","+improper3+",X"); if(currentimproper == improperLookUpTable.end()) currentimproper = improperLookUpTable.find("X,"+improper3+","+improper2+",X"); } // 5) X - X - A - B if(currentimproper == improperLookUpTable.end()){ currentimproper = improperLookUpTable.find("X,X,"+improper3+","+improper4); if(currentimproper == improperLookUpTable.end()) currentimproper = improperLookUpTable.find(improper4+","+improper3+",X,X"); } // if we still have not found this improper type in the PAR object, report an error if(currentimproper == improperLookUpTable.end()) report << error << "Could not find improper."<second->periodicity[improperIdentity]); torsion.forceConstant.push_back(currentimproper->second->forceConstant[improperIdentity]); torsion.phaseShift.push_back(dtor(currentimproper->second->phaseShift[improperIdentity])); torsion.multiplicity = 1; topo->impropers.push_back(torsion); // report << plain<< (wildcard ? "#":"") // << improper1 <<"," // << improper2 <<"," // << improper3 <<"," // << improper4 <<"," // << torsion.atom1 <<"," // << torsion.atom2 <<"," // << torsion.atom3 <<"," // << torsion.atom4 <<"," // << torsion.periodicity[0] <<"," // << torsion.periodicity.size() <<"," // << torsion.forceConstant[0] <<"," // << torsion.phaseShift[0] <<"," // << torsion.multiplicity << endr; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // LennardJonesParameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // get some array sizes unsigned int sizeAtomTypes = topo->atomTypes.size(); unsigned int sizeNonbondeds = par.nonbondeds.size(); unsigned int sizeNbfixs = par.nbfixs.size(); unsigned int sizeLJbank = par.nonbondeds[0].epsilon.size(); // create the bank of Lennard-Jones parameter tables topo->isgLJParms.createTables(sizeLJbank,sizeAtomTypes); // loop over all atom types for(unsigned int i=0;iatomTypes[i].name); // if we have found the current atom type in the PAR object the record its index (k) if(ok > foundI){ AtomI = k; foundI = ok; } // if we have found the current atom type then exit the loop if(foundI > 1) break; } // end loop over k // report an error if we could not find atom type (i) in the PAR object if(foundI <= 0) report << error <<"Could not find matching parameter nonbonded of atom \'"<atomTypes[i].name<<"\'."<atomTypes[j].name); // if we have found the current atom type in the PAR object the record its index (k) if(ok > foundJ){ AtomJ = k; foundJ = ok; } // if we have found the current atom type then exit the loop if(foundJ > 1) break; } // report an error if we could not find atom type (j) in the PAR object if(foundJ<=0) report << error <<"Could not find matching parameter nonbonded of atom \'"<atomTypes[j].name<<"\'."<(r_ij) * e_ij; paramsij.B = 2 * power<6>(r_ij) * e_ij; paramsij.A14 = power<12>(r14_ij) * e14_ij; paramsij.B14 = 2 * power<6>(r14_ij) * e14_ij; topo->isgLJParms.set(identity_I,identity_J, i, j, paramsij); } // end loop over identity_J } // end loop over identity_I } // end loop over atom types (j) } // end loop over atom types (i) // NbFix // loop over all Nbfix types for(unsigned int k=0;katomTypes[i].name); if(ok > ti){ bi = i; ti = ok; } if(ti > 1) break; } if(ti <=0) // ??? continue; for(unsigned int j=0;jatomTypes[j].name); if(ok > tj){ bj = j; tj = ok; } if(tj > 1) break; } if(tj<=0) report << error <<"Could not find matching parameter nbfix of atoms \'"<lennardJonesParameters.set(bi, bj, paramsij); } // end loop over NbFix types // store the molecule information buildMoleculeTable(topo); // build the nonbonded exclusion table buildExclusionTable(topo,topo->exclude); // build the list of bonds, angles, etc. belonging to each molecule buildMoleculeBondingLists(topo); // determine the time-zero identity of each molecule for(unsigned int i=0; imolecules.size(); i++) { // the ID# of the first atom in this molecule int firstAtom = topo->molecules[i][0]; // get the identity number from the psf file topo->molecules[i].type = psf.atoms[firstAtom].identity; topo->molecules[i].newtype = psf.atoms[firstAtom].identity; } } // end build topology function //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // buildMoleculeTable // //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void buildMoleculeTable(GenericTopology *topo){ // *** First we clear all molecules *** topo->molecules.clear(); const unsigned int numAtoms = topo->atoms.size(); // *** Collecting all possible connections, building the graph *** vector > graph(numAtoms,vector()); set > pairs; // *** Bonds *** for(unsigned int i=0;ibonds.size();++i){ int a1 = topo->bonds[i].atom1; int a2 = topo->bonds[i].atom2; graph[a1].push_back(a2); graph[a2].push_back(a1); pairs.insert(pair(std::min(a1,a2),std::max(a1,a2))); } unsigned int count = pairs.size(); // *** Angles *** for(unsigned int i=0;iangles.size();++i){ int a1 = topo->angles[i].atom1; int a2 = topo->angles[i].atom2; int a3 = topo->angles[i].atom3; graph[a1].push_back(a2); graph[a1].push_back(a3); graph[a2].push_back(a1); graph[a2].push_back(a3); graph[a3].push_back(a1); graph[a3].push_back(a2); pairs.insert(pair(std::min(a1,a2),std::max(a1,a2))); pairs.insert(pair(std::min(a3,a2),std::max(a3,a2))); } if(count < pairs.size()) report << hint << "Angles added "<dihedrals.size();++i){ int a1 = topo->dihedrals[i].atom1; int a2 = topo->dihedrals[i].atom2; int a3 = topo->dihedrals[i].atom3; int a4 = topo->dihedrals[i].atom4; graph[a1].push_back(a2); graph[a1].push_back(a3); graph[a1].push_back(a4); graph[a2].push_back(a1); graph[a2].push_back(a3); graph[a2].push_back(a4); graph[a3].push_back(a1); graph[a3].push_back(a2); graph[a3].push_back(a4); graph[a4].push_back(a1); graph[a4].push_back(a2); graph[a4].push_back(a3); pairs.insert(pair(std::min(a1,a2),std::max(a1,a2))); pairs.insert(pair(std::min(a3,a2),std::max(a3,a2))); pairs.insert(pair(std::min(a3,a4),std::max(a3,a4))); } if(count < pairs.size()) report << hint << "Dihedrals added "< > pairsAddImpropers; // Impropers are defined over the bonds 1-2,1-3,1-4 or 4-1,4-3,4-2 // but MTorsionSystemForce computes distances betweeen 1-2,2-3,3-4 // we have to take care about these differences ... for(unsigned int i=0;iimpropers.size();++i){ int a1 = topo->impropers[i].atom1; int a2 = topo->impropers[i].atom2; int a3 = topo->impropers[i].atom3; int a4 = topo->impropers[i].atom4; graph[a1].push_back(a2); graph[a1].push_back(a3); graph[a1].push_back(a4); graph[a2].push_back(a1); graph[a2].push_back(a3); graph[a2].push_back(a4); graph[a3].push_back(a1); graph[a3].push_back(a2); graph[a3].push_back(a4); graph[a4].push_back(a1); graph[a4].push_back(a2); graph[a4].push_back(a3); pair p0(std::min(a1,a2),std::max(a1,a2)); pair p1(std::min(a1,a3),std::max(a1,a3)); pair p2(std::min(a1,a4),std::max(a1,a4)); pair p3(std::min(a2,a3),std::max(a2,a3)); pair p4(std::min(a2,a4),std::max(a2,a4)); pair p5(std::min(a3,a4),std::max(a3,a4)); int j0 = 0; int j1 = 0; int j2 = 0; int j3 = 0; int j4 = 0; int j5 = 0; if(pairs.find(p0) != pairs.end()) j0++; if(pairs.find(p1) != pairs.end()) j1++; if(pairs.find(p2) != pairs.end()) j2++; if(pairs.find(p3) != pairs.end()) j3++; if(pairs.find(p4) != pairs.end()) j4++; if(pairs.find(p5) != pairs.end()) j5++; if(j0+j1+j2+j3+j4+j5 < 3){ pairs.insert(p0); pairs.insert(p1); pairs.insert(p2); } pairsAddImpropers.insert(p0); pairsAddImpropers.insert(p3); pairsAddImpropers.insert(p5); } if(count < pairs.size()) report << hint << "Impropers added "< >::const_iterator i= pairsAddImpropers.begin();i != pairsAddImpropers.end();++i) pairs.insert(*i); count = pairs.size(); //report << hint << count << endr; // To keep track which atoms already have been added // to molecules. vector unused(numAtoms,true); // Recursively finding the atoms beloning to a molecule for(unsigned int i=0;i v; vector p; findNextNeighbor(i,v,p,unused,graph,pairs); if(v.size()>0){ // sort(v.begin(),v.end()); // add this atom list to the molecules array Molecule mol; mol.atoms = v; mol.pairs = p; topo->molecules.push_back(mol); } } // Uncomment to sort descending after size() // sort(topo->molecules.begin(),topo->molecules.end(),cmpSize); // Look up table for atoms const string h("H"); const string o("O"); for(unsigned int i=0;imolecules.size();++i){ Real mass = 0.0; const vector& mol = topo->molecules[i].atoms; for(unsigned int j=0;jatoms[k].molecule = i; mass += topo->atoms[k].scaledMass; } topo->molecules[i].mass = mass; topo->molecules[i].water = (mol.size() == 3 && ((topo->atomTypes[topo->atoms[mol[0]].type].symbolName == h && topo->atomTypes[topo->atoms[mol[1]].type].symbolName == h && topo->atomTypes[topo->atoms[mol[2]].type].symbolName == o) || (topo->atomTypes[topo->atoms[mol[0]].type].symbolName == h && topo->atomTypes[topo->atoms[mol[1]].type].symbolName == o && topo->atomTypes[topo->atoms[mol[2]].type].symbolName == h) || (topo->atomTypes[topo->atoms[mol[0]].type].symbolName == o && topo->atomTypes[topo->atoms[mol[1]].type].symbolName == h && topo->atomTypes[topo->atoms[mol[2]].type].symbolName == h))); } #if defined(DEBUG_PRINT_MOLECULETABLE) report<< plain << endl << "[buildMoleculeTable]: molecule table printout:" << endl; for(int i=0;imolecules.size();++i){ for(int j=0;jmolecules[i].size();++j){ report << topo->molecules[i][j]<<" "; } report << endl; } report << endr; #endif } //____________________________________________________________findNextNeighbor void findNextNeighbor(int a, vector& v, vector& p, vector& unused, const vector >& graph, set& pairs){ if(unused[a]){ v.push_back(a); unused[a] = false; for(unsigned int i=0;i::iterator itr = pairs.find(PairInt(std::min(a,graph[a][i]),std::max(a,graph[a][i]))); if(itr != pairs.end()){ p.push_back(PairInt(a,graph[a][i])); pairs.erase(itr); } findNextNeighbor(graph[a][i],v,p,unused,graph,pairs); } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // buildExclusionTable // //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void buildExclusionTable(GenericTopology* topo, const ExclusionType& exclusionType) { if(!exclusionType.valid()) report << error <<"[buildExclusionTable()] Exclusion type not defined/valid."<exclude = exclusionType; const int numBonds = topo->bonds.size(); const int numAtoms = topo->atoms.size(); int a1,a2,a3; // *** Reformatting bond list *** vector< set > bondsParsed(numAtoms); for (int i = 0; i < numBonds; ++i) { a1=topo->bonds[i].atom1; a2=topo->bonds[i].atom2; bondsParsed[a1].insert(a2); bondsParsed[a2].insert(a1); } // *** Building exclusion list *** topo->exclusions.resize(numAtoms); topo->exclusions.clear(); list one3s; int exclusionsInserted = 0; if(exclusionType!=ExclusionType::NONE) { for(a2 = 0; a2 < numAtoms; ++a2) { for(set::iterator i=bondsParsed[a2].begin();i!=bondsParsed[a2].end();++i) { a1=*i; if(a1exclusions.add(a1,a2,EXCLUSION_FULL); ++exclusionsInserted; } if(exclusionType==ExclusionType::ONE3||exclusionType==ExclusionType::ONE4||exclusionType==ExclusionType::ONE4MODIFIED) { for(set::iterator j=i; j!=bondsParsed[a2].end();++j) { a3=*j; topo->exclusions.add(a1,a3,EXCLUSION_FULL); ++exclusionsInserted; one3s.push_front(ExclusionPair(a1,a3)); one3s.push_front(ExclusionPair(a3,a1)); } } } } if(exclusionType==ExclusionType::ONE4||exclusionType==ExclusionType::ONE4MODIFIED) { ExclusionClass currentType = EXCLUSION_NONE; if(exclusionType==ExclusionType::ONE4) currentType=EXCLUSION_FULL; if(exclusionType==ExclusionType::ONE4MODIFIED) currentType=EXCLUSION_MODIFIED; int curSrc=0; for(list::iterator i=one3s.begin(); i!=one3s.end(); ++i,++curSrc) { a1=i->a1; a2=i->a2; for(set::iterator j=bondsParsed[a2].lower_bound(a1);j!=bondsParsed[a2].end();++j) { a3=*j; if(!topo->exclusions.check(a1,a3)) { topo->exclusions.add(a1,a3,currentType); ++exclusionsInserted; } } } } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // buildMoleculeBondingLists // //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void buildMoleculeBondingLists(GenericTopology* topo) { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // bond lists //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all bonds in the topology for (unsigned int i=0; ibonds.size(); i++) { // get the ID#s of the two atoms in this bond int atom1 = topo->bonds[i].atom1; int atom2 = topo->bonds[i].atom2; // loop sentinels bool found1 = false; bool found2 = false; unsigned int m; // loop over all molecules for (m=0; mmolecules.size(); m++) { // loop over all atoms in the atom list for this molecule for (unsigned int a=0; amolecules[m].atoms.size(); a++) { if (atom1 == topo->molecules[m].atoms[a]) {found1 = true;} else if (atom2 == topo->molecules[m].atoms[a]) {found2 = true;} if (found1 && found2) {break;} } // end atom list loop if (found1 && found2) {break;} } // end loop over molecules // store this bond index number in the molecule's bond list topo->molecules[m].bondList.push_back(i); } // end loop over bonds //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // angle lists //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all angles in the topology for (unsigned int i=0; iangles.size(); i++) { // get the ID#s of the three atoms in this angle int atom1 = topo->angles[i].atom1; int atom2 = topo->angles[i].atom2; int atom3 = topo->angles[i].atom3; // loop sentinels bool found1 = false; bool found2 = false; bool found3 = false; unsigned int m; // loop over all molecules for (m=0; mmolecules.size(); m++) { // loop over all atoms in the atom list for this molecule for (unsigned int a=0; amolecules[m].atoms.size(); a++) { if (atom1 == topo->molecules[m].atoms[a]) {found1 = true;} else if (atom2 == topo->molecules[m].atoms[a]) {found2 = true;} else if (atom3 == topo->molecules[m].atoms[a]) {found3 = true;} if (found1 && found2 && found3) {break;} } // end atom list loop if (found1 && found2 && found3) {break;} } // end loop over molecules // store this angle index number in the molecule's angle list topo->molecules[m].angleList.push_back(i); } // end loop over angles //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // dihedral lists //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all diherals in the topology for (unsigned int i=0; idihedrals.size(); i++) { // get the ID#s of the four atoms in this dihedral int atom1 = topo->dihedrals[i].atom1; int atom2 = topo->dihedrals[i].atom2; int atom3 = topo->dihedrals[i].atom3; int atom4 = topo->dihedrals[i].atom4; // loop sentinels bool found1 = false; bool found2 = false; bool found3 = false; bool found4 = false; unsigned int m; // loop over all molecules for (m=0; mmolecules.size(); m++) { // loop over all atoms in the atom list for this molecule for (unsigned int a=0; amolecules[m].atoms.size(); a++) { if (atom1 == topo->molecules[m].atoms[a]) {found1 = true;} else if (atom2 == topo->molecules[m].atoms[a]) {found2 = true;} else if (atom3 == topo->molecules[m].atoms[a]) {found3 = true;} else if (atom4 == topo->molecules[m].atoms[a]) {found4 = true;} if (found1 && found2 && found3 && found4) {break;} } // end atom list loop if (found1 && found2 && found3 && found4) {break;} } // end loop over molecules // store this dihedral index number in the molecule's dihderal list topo->molecules[m].dihedralList.push_back(i); } // end loop over dihedrals //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // improper lists //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all impropers in the topology for (unsigned int i=0; iimpropers.size(); i++) { // get the ID#s of the four atoms in this improper int atom1 = topo->impropers[i].atom1; int atom2 = topo->impropers[i].atom2; int atom3 = topo->impropers[i].atom3; int atom4 = topo->impropers[i].atom4; // loop sentinels bool found1 = false; bool found2 = false; bool found3 = false; bool found4 = false; unsigned int m; // loop over all molecules for (m=0; mmolecules.size(); m++) { // loop over all atoms in the atom list for this molecule for (unsigned int a=0; amolecules[m].atoms.size(); a++) { if (atom1 == topo->molecules[m].atoms[a]) {found1 = true;} else if (atom2 == topo->molecules[m].atoms[a]) {found2 = true;} else if (atom3 == topo->molecules[m].atoms[a]) {found3 = true;} else if (atom4 == topo->molecules[m].atoms[a]) {found4 = true;} if (found1 && found2 && found3 && found4) {break;} } // end atom list loop if (found1 && found2 && found4) {break;} } // end loop over molecules // store this bond index number in the molecule's improper list topo->molecules[m].improperList.push_back(i); } // end loop over impropers } // end function buildMoleculeBonding Lists } // end class protomol/applications/iSGProtomol-app/frontend/buildISGTopology.h0100644027616700000500000000073110237151524024664 0ustar pbrenne1dip#include "ExclusionType.h" namespace ProtoMol { class GenericTopology; class PSF; class iSGPAR; //_________________________________________________________________ buildISGTopology void buildISGTopology(GenericTopology* topo,const PSF& psf, const iSGPAR& par); void buildMoleculeTable(GenericTopology *topo); void buildExclusionTable(GenericTopology* topo, const ExclusionType& exclusionType); void buildMoleculeBondingLists(GenericTopology* topo); } protomol/applications/iSGProtomol-app/integrators/0040755027616700000500000000000010237151524022040 5ustar pbrenne1dipprotomol/applications/iSGProtomol-app/integrators/.cvsignore0100644027616700000500000000004710237151524024036 0ustar pbrenne1dip*.o *.il Makefile.in Makefile ti_files protomol/applications/iSGProtomol-app/integrators/Makefile.am0100644027616700000500000000310710237151524024072 0ustar pbrenne1dip# base AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libISGintegrators_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_ISGBASE = $(top_srcdir)/applications/iSGProtomol-app/base P_ISGIO = $(top_srcdir)/applications/iSGProtomol-app/io P_ISGFORCES = $(top_srcdir)/applications/iSGProtomol-app/forces P_ISGFRONTEND = $(top_srcdir)/applications/iSGProtomol-app/frontend P_ISGTOPOLOGY = $(top_srcdir)/applications/iSGProtomol-app/topology P_ISGFACTORIES = $(top_srcdir)/applications/iSGProtomol-app/factories # base Sources P_ISGINTEGRATORS_SRC =\ iSGIntegrator.cpp\ ModifierISG.cpp # base Includes P_ISGINTEGRATORS_H =\ iSGModifierPreForceChemostat.h\ iSGModifierPostForceChemostat.h\ iSGIntegrator.h\ ModifierISG.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libISGintegrators.a libISGintegrators_a_SOURCES = $(P_ISGINTEGRATORS_SRC) $(P_ISGINTEGRATORS_H) INCLUDES = @FFT_CFLAGS@ -I$(P_ISGFRONTEND) -I$(P_BASE) -I$(P_FRONTEND) -I$(P_ISGBASE) -I$(P_TOPOLOGY) -I$(P_FRONTEND) -I$(P_INTEGRATORS) -I$(P_FORCES) -I$(P_PARALLEL) -I$(P_ISGIO) -I$(P_IO) SOURCEFILES = $(P_ISGINTEGRATORS_SRC) #include $(top_srcdir)/Makefile.depend protomol/applications/iSGProtomol-app/integrators/Makefile.in0100644027616700000500000002365010237151524024110 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # base SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libISGintegrators_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_ISGBASE = $(top_srcdir)/applications/iSGProtomol-app/base P_ISGIO = $(top_srcdir)/applications/iSGProtomol-app/io P_ISGFORCES = $(top_srcdir)/applications/iSGProtomol-app/forces P_ISGFRONTEND = $(top_srcdir)/applications/iSGProtomol-app/frontend P_ISGTOPOLOGY = $(top_srcdir)/applications/iSGProtomol-app/topology P_ISGFACTORIES = $(top_srcdir)/applications/iSGProtomol-app/factories # base Sources P_ISGINTEGRATORS_SRC = \ iSGIntegrator.cpp\ ModifierISG.cpp # base Includes P_ISGINTEGRATORS_H = \ iSGModifierPreForceChemostat.h\ iSGModifierPostForceChemostat.h\ iSGIntegrator.h\ ModifierISG.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libISGintegrators.a libISGintegrators_a_SOURCES = $(P_ISGINTEGRATORS_SRC) $(P_ISGINTEGRATORS_H) INCLUDES = @FFT_CFLAGS@ -I$(P_ISGFRONTEND) -I$(P_BASE) -I$(P_FRONTEND) -I$(P_ISGBASE) -I$(P_TOPOLOGY) -I$(P_FRONTEND) -I$(P_INTEGRATORS) -I$(P_FORCES) -I$(P_PARALLEL) -I$(P_ISGIO) -I$(P_IO) SOURCEFILES = $(P_ISGINTEGRATORS_SRC) subdir = applications/iSGProtomol-app/integrators mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) libISGintegrators_a_LIBADD = am__objects_1 = iSGIntegrator.$(OBJEXT) ModifierISG.$(OBJEXT) am__objects_2 = am_libISGintegrators_a_OBJECTS = $(am__objects_1) $(am__objects_2) libISGintegrators_a_OBJECTS = $(am_libISGintegrators_a_OBJECTS) DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(libISGintegrators_a_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(libISGintegrators_a_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign applications/iSGProtomol-app/integrators/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libISGintegrators.a: $(libISGintegrators_a_OBJECTS) $(libISGintegrators_a_DEPENDENCIES) -rm -f libISGintegrators.a $(libISGintegrators_a_AR) libISGintegrators.a $(libISGintegrators_a_OBJECTS) $(libISGintegrators_a_LIBADD) $(RANLIB) libISGintegrators.a mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/applications/iSGProtomol-app/integrators/ModifierISG.cpp0100644027616700000500000012047510237151524024653 0ustar pbrenne1dip#include "ModifierISG.h" #include "mathutilities.h" #include "ScalarStructure.h" #include "GenericTopology.h" #include "Report.h" #include "Integrator.h" #include "iSGIntegrator.h" #include "XSCReader.h" #include #include using std::vector; using std::map; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ ModifierISG ModifierISG::ModifierISG(iSGIntegrator *integrator, const PSF &psf, const iSGPAR &par) : myTheIntegrator(integrator) { map< string, int > tempAtomList; // tempAtomList.insert( ); tempAtomList[psf.atoms[0].atom_type] = 0; for(unsigned int i=1;imodifyForces( bonds, angles, dihedrals, impropers, atomTypes, transformMaps ); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // doInitialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void ModifierISG::doInitialize() {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // indexBonds() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void ModifierISG::indexBonds(GenericTopology *topo, const TRANS &trans) { //~~~~~~~~~~~~~~~~~~~~~~~ // Bonds //~~~~~~~~~~~~~~~~~~~~~~~ // loop over all bonds in the topology for(unsigned int i=0; ibonds.size(); i++) { // the ID numbers of the bonded atoms int I = topo->bonds[i].atom1; int J = topo->bonds[i].atom2; // the atom type of the atoms in this bond string atom1(topo->atomTypes[topo->atoms[I].type].name); string atom2(topo->atomTypes[topo->atoms[J].type].name); // loop sentinels bool found1 = false; bool found2 = false; unsigned int j; // loop over all bonds in the modifier for (j=0; jbonds[i].iSGmodifierIndex = j; } // end loop over i //~~~~~~~~~~~~~~~~~~~~~~~ // Angles //~~~~~~~~~~~~~~~~~~~~~~~ // loop over all angles in the topology for(unsigned int i=0; iangles.size(); i++) { // the ID numbers of the atoms in the angle int I = topo->angles[i].atom1; int J = topo->angles[i].atom2; int K = topo->angles[i].atom3; // the atom type of the atoms in this angle string atom1 = topo->atomTypes[topo->atoms[I].type].name; string atom2 = topo->atomTypes[topo->atoms[J].type].name; string atom3 = topo->atomTypes[topo->atoms[K].type].name; // loop counter unsigned int j; // loop over all angles in the modifier for (j=0; jangles[i].iSGmodifierIndex = j; } // end loop over i //~~~~~~~~~~~~~~~~~~~~~~~ // Dihedrals //~~~~~~~~~~~~~~~~~~~~~~~ // loop over all dihedrals in the topology for(unsigned int i=0; idihedrals.size(); i++) { // the ID numbers of the atoms in the dihedral int I = topo->dihedrals[i].atom1; int J = topo->dihedrals[i].atom2; int K = topo->dihedrals[i].atom3; int L = topo->dihedrals[i].atom4; // the atom type of the atoms in this dihedral string atom1 = topo->atomTypes[topo->atoms[I].type].name; string atom2 = topo->atomTypes[topo->atoms[J].type].name; string atom3 = topo->atomTypes[topo->atoms[K].type].name; string atom4 = topo->atomTypes[topo->atoms[L].type].name; // loop counter unsigned int j; // loop over all dihedrals in the modifier for (j=0; jdihedrals[i].iSGmodifierIndex = j; } // end loop over dihedrals //~~~~~~~~~~~~~~~~~~~~~~~ // Impropers //~~~~~~~~~~~~~~~~~~~~~~~ // loop over all impropers in the topology for(unsigned int i=0; iimpropers.size(); i++) { // the ID numbers of the atoms in the improper int I = topo->impropers[i].atom1; int J = topo->impropers[i].atom2; int K = topo->impropers[i].atom3; int L = topo->impropers[i].atom4; // the atom type of the atoms in this improper string atom1 = topo->atomTypes[topo->atoms[I].type].name; string atom2 = topo->atomTypes[topo->atoms[J].type].name; string atom3 = topo->atomTypes[topo->atoms[K].type].name; string atom4 = topo->atomTypes[topo->atoms[L].type].name; // loop sentinels bool found1 = false; bool found2 = false; bool found3 = false; bool found4 = false; unsigned int j; // loop over all impropers in the modifier for (j=0; jimpropers[i].iSGmodifierIndex = j; } // end loop over dihedrals //~~~~~~~~~~~~~~~~~~~~~~~ // AtomTypes //~~~~~~~~~~~~~~~~~~~~~~~ // set the # of transformation stages in the integrator myTheIntegrator->myNumStages = trans.NumberOfStages; // loop over all atom types in the topology for(unsigned int i=0; iatomTypes.size(); i++) { // copy this atom type into the local atomType structure atomTypes.push_back(iSGPAR::AtomType(myTheIntegrator->myNumComp, topo->atomTypes[i].name, topo->atomTypes[i].symbolName)); // copy this atomtype's set of charges for each transformation stage into the ChargeMap structure transformMaps.push_back(TransformMap(myTheIntegrator->myNumComp, myTheIntegrator->myNumStages)); } // loop over all atom types in the local atomType structure for (unsigned int i=0; imyDeltaMuIG.resize(ArraySizes(myTheIntegrator->myNumComp) (myTheIntegrator->myNumComp)(myTheIntegrator->myNumStages)); for (unsigned int o=0; omyNumComp; o++) for (unsigned int n=0; nmyNumComp; n++) for (unsigned int s=0; smyNumStages; s++) myTheIntegrator->myDeltaMuIG[o][n][s] = trans.DeltaMuIG[o][n][s]; } // end function indexBonds //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // checkForTransformation(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void ModifierISG::checkForStageCompletion() { myTheIntegrator->checkForTransformation(bonds, angles, dihedrals, impropers, atomTypes, transformMaps);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // setForcesAfterTransformation(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void ModifierISG::setForcesAfterTransformation( GenericTopology *topo ){ if (myTheIntegrator->Transformed) { unsigned int myT = myTheIntegrator->T; unsigned int FinalType = myTheIntegrator->FinalType; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the BOND parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all bonds on molecule T for (std::vector::iterator iter = topo->molecules[myT].bondList.begin(); iter != topo->molecules[myT].bondList.end(); iter++) { // find the index # of the proper iSGBond element int myISGBond = topo->bonds[*iter].iSGmodifierIndex; // update the force constant, k topo->bonds[*iter].springConstant = bonds[myISGBond].forceConstant[FinalType]; // update the rest distance, r0 topo->bonds[*iter].restLength = bonds[myISGBond].distance[FinalType]; // update DeltaK and DeltaR0 topo->bonds[*iter].DeltaK = 0.0; topo->bonds[*iter].DeltaR0 = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the ANGLE parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all angles on molecule T for (std::vector::iterator iter = topo->molecules[myT].angleList.begin(); iter != topo->molecules[myT].angleList.end(); iter++) { // find the index # of the proper iSGAngle element int myISGAngle = topo->angles[*iter].iSGmodifierIndex; // update the force constant, k topo->angles[*iter].forceConstant = angles[myISGAngle].forceConstant[FinalType]; topo->angles[*iter].ureyBradleyConstant = angles[myISGAngle].k_ub[FinalType]; // update the rest distance, r0 topo->angles[*iter].restAngle = angles[myISGAngle].angleval[FinalType]; topo->angles[*iter].ureyBradleyRestLength = angles[myISGAngle].r_ub[FinalType]; // update DeltaK and DeltaTheta0 topo->angles[*iter].DeltaK = 0.0; topo->angles[*iter].DeltaTheta0 = 0.0; topo->angles[*iter].Delta_ubK = 0.0; topo->angles[*iter].Delta_ubR0 = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the DIHEDRAL parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all dihedrals on molecule T for (std::vector::iterator iter = topo->molecules[myT].dihedralList.begin(); iter != topo->molecules[myT].dihedralList.end(); iter++) { // find the index # of the proper iSGDihedral element int myISGDihedral = topo->dihedrals[*iter].iSGmodifierIndex; for (int i=0; idihedrals[*iter].multiplicity; i++) { // update the force constants topo->dihedrals[*iter].forceConstant[i] = dihedrals[myISGDihedral].forceConstant[FinalType][i]; // update the phase shift angles topo->dihedrals[*iter].phaseShift[i] = dihedrals[myISGDihedral].phaseShift[FinalType][i]; // update DeltaK and DeltaPhase topo->dihedrals[*iter].DeltaK[i] = 0.0; topo->dihedrals[*iter].DeltaPhase[i] = 0.0; } // end loop over i } // end loop over dihedrals //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the IMPROPER parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all impropers on molecule T for (std::vector::iterator iter = topo->molecules[myT].improperList.begin(); iter != topo->molecules[myT].improperList.end(); iter++) { // find the index # of the proper iSGImproper element int myISGImproper = topo->impropers[*iter].iSGmodifierIndex; // update the force constant topo->impropers[*iter].forceConstant[0] = impropers[myISGImproper].forceConstant[FinalType]; // update the phase shift angle topo->impropers[*iter].phaseShift[0] = impropers[myISGImproper].phaseShift[FinalType]; // update DeltaK and DeltaPhase topo->impropers[*iter].DeltaK[0] = 0.0; topo->impropers[*iter].DeltaPhase[0] = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the stomic charges and masses //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // the new mass of the molecule Real newMolMass = 0.0; // loop over all atoms on molecule T for (std::vector::iterator iter = topo->molecules[myT].atoms.begin(); iter != topo->molecules[myT].atoms.end(); iter++) { // the index # into the atomTypes array int I = topo->atoms[*iter].type; // the atom type name of this atom string myName(topo->atomTypes[I].name); // find the proper iSGAtomType element bool Found = false; unsigned int myISGAtomType = 0; while (!Found) { if (myName == atomTypes[myISGAtomType].name) Found = true; else myISGAtomType++; } // update the mass topo->atoms[*iter].scaledMass = atomTypes[myISGAtomType].mass[FinalType]; newMolMass += topo->atoms[*iter].scaledMass; // update the charge topo->atoms[*iter].scaledCharge = atomTypes[myISGAtomType].charge[FinalType]; topo->atoms[*iter].scaledCharge *= Constant::SQRTCOULOMBCONSTANT; // update deltaM, deltaQ, Qold, and Qnew topo->atoms[*iter].deltaM = 0.0; topo->atoms[*iter].deltaQ = 0.0; topo->atoms[*iter].Qold = 0.0; topo->atoms[*iter].Qnew = 0.0; } // end loop over atoms // update the mass of molecule T topo->molecules[myT].mass = newMolMass; } // end if statement } // end function setForcesAfterTransformation() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // pickNewMolecule(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void ModifierISG::pickNewMolecule( GenericTopology *topo, ScalarStructure *myEnergies ) { // skip if the molecule has not yet been transformed if (myTheIntegrator->Transformed) { Real kbT = myTheIntegrator->kbT; // randomly select a molecule type to be transformed bool Chosen = false; while (!Chosen) { myTheIntegrator->OldType = (static_cast(randomNumber()*myTheIntegrator->myNumComp)) % myTheIntegrator->myNumComp; // if the # of molecules of the chosen type is zero, then we cannot // choose to transform this type if (myTheIntegrator->N[myTheIntegrator->OldType] != 0) Chosen = true; } unsigned int Old = myTheIntegrator->OldType; // choose a random species OldType molecule. Chosen = false; while (!Chosen) { // random number myTheIntegrator->T = (static_cast(randomNumber()*myTheIntegrator->NumMols)) % myTheIntegrator->NumMols; // exit if this molecule type is the same as OldType if (topo->molecules[myTheIntegrator->T].type == Old) Chosen = true; } // end while loop unsigned int myT = myTheIntegrator->T; // reassign this molecule's Lambda since it is to be transformed myTheIntegrator->myLambda = 0.005; topo->molecules[myT].lambda = myTheIntegrator->myLambda; // chose a random species for this molecule to be transformed into // this species must not the be same species as myChoice Chosen = false; while (!Chosen) { myTheIntegrator->NewType = (static_cast(randomNumber()*myTheIntegrator->myNumComp)) % myTheIntegrator->myNumComp; if (myTheIntegrator->NewType != Old) {Chosen = true;} } unsigned int New = myTheIntegrator->NewType; // Update the type and newtype of this molecule topo->molecules[myT].type = Old; topo->molecules[myT].newtype = New; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the atomic mass and charge //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ myTheIntegrator->mylnMassRatio = 0.0; // loop over all atoms on molecule T for (std::vector::iterator iter = topo->molecules[myT].atoms.begin(); iter != topo->molecules[myT].atoms.end(); iter++) { // the index # into the atomTypes array int I = topo->atoms[*iter].type; // the atom type name of this atom string myName(topo->atomTypes[I].name); // find the proper iSGAtomType element bool Found = false; unsigned int myISGAtomType = 0; while (!Found) { if (myName == atomTypes[myISGAtomType].name) Found = true; else myISGAtomType++; } // update stageNumber, deltaM, deltaQ, Qold, and Qnew, and alphaLJ topo->atoms[*iter].stageNumber = atomTypes[myISGAtomType].stageNumber[Old]; topo->atoms[*iter].Qold = transformMaps[myISGAtomType].old_charge[Old][New][0]; topo->atoms[*iter].Qnew = transformMaps[myISGAtomType].new_charge[Old][New][0]; topo->atoms[*iter].deltaQ = transformMaps[myISGAtomType].new_charge[Old][New][0] - transformMaps[myISGAtomType].old_charge[Old][New][0]; topo->atoms[*iter].Qold *= Constant::SQRTCOULOMBCONSTANT; topo->atoms[*iter].Qnew *= Constant::SQRTCOULOMBCONSTANT; topo->atoms[*iter].deltaQ *= Constant::SQRTCOULOMBCONSTANT; topo->atoms[*iter].alphaLJ = transformMaps[myISGAtomType].alphaLJ[Old][New]; // update the following terms only for stage 1 atoms if (topo->atoms[*iter].stageNumber == 1) { topo->atoms[*iter].deltaM = atomTypes[myISGAtomType].mass[New] - atomTypes[myISGAtomType].mass[Old]; myTheIntegrator->mylnMassRatio += (3 * kbT * 0.5) * ( log(atomTypes[myISGAtomType].mass[Old]) - log(atomTypes[myISGAtomType].mass[New]) ); } // end if statement } // end loop over atoms //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the BOND parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all bonds on molecule T for (std::vector::iterator iter = topo->molecules[myT].bondList.begin(); iter != topo->molecules[myT].bondList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[topo->bonds[*iter].atom1].stageNumber; int atom2_stage = topo->atoms[topo->bonds[*iter].atom2].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGER of the two stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage); // update these parameters only if myStage = 1 if (myStage == 1) { // find the index # of the proper iSGBond element int myISGBond = topo->bonds[*iter].iSGmodifierIndex; // update DeltaK and DeltaR0 topo->bonds[*iter].DeltaK = bonds[myISGBond].forceConstant[New] - bonds[myISGBond].forceConstant[Old]; topo->bonds[*iter].DeltaR0 = bonds[myISGBond].distance[New] - bonds[myISGBond].distance[Old]; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the ANGLE parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all angles on molecule T for (std::vector::iterator iter = topo->molecules[myT].angleList.begin(); iter != topo->molecules[myT].angleList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[topo->angles[*iter].atom1].stageNumber; int atom2_stage = topo->atoms[topo->angles[*iter].atom2].stageNumber; int atom3_stage = topo->atoms[topo->angles[*iter].atom3].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage); // update these parameters only if myStage = 1 if (myStage == 1) { // find the index # of the proper iSGAngle element int myISGAngle = topo->angles[*iter].iSGmodifierIndex; // update DeltaK and DeltaTheta0 topo->angles[*iter].DeltaK = angles[myISGAngle].forceConstant[New] - angles[myISGAngle].forceConstant[Old]; topo->angles[*iter].DeltaTheta0 = angles[myISGAngle].angleval[New] - angles[myISGAngle].angleval[Old]; topo->angles[*iter].Delta_ubK = angles[myISGAngle].k_ub[New] - angles[myISGAngle].k_ub[Old]; topo->angles[*iter].Delta_ubR0 = angles[myISGAngle].r_ub[New] - angles[myISGAngle].r_ub[Old]; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the DIHEDRAL parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all dihedrals on molecule T for (std::vector::iterator iter = topo->molecules[myT].dihedralList.begin(); iter != topo->molecules[myT].dihedralList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[topo->dihedrals[*iter].atom1].stageNumber; int atom2_stage = topo->atoms[topo->dihedrals[*iter].atom2].stageNumber; int atom3_stage = topo->atoms[topo->dihedrals[*iter].atom3].stageNumber; int atom4_stage = topo->atoms[topo->dihedrals[*iter].atom4].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage,atom4_stage); // update these parameters only if myStage = 1 if (myStage == 1) { // find the index # of the proper iSGDihedral element int myISGDihedral = topo->dihedrals[*iter].iSGmodifierIndex; for (int i=0; idihedrals[*iter].multiplicity; i++) { // update DeltaK and DeltaPhase topo->dihedrals[*iter].DeltaK[i] = dihedrals[myISGDihedral].forceConstant[New][i] - dihedrals[myISGDihedral].forceConstant[Old][i]; topo->dihedrals[*iter].DeltaPhase[i] = dihedrals[myISGDihedral].phaseShift[New][i] - dihedrals[myISGDihedral].phaseShift[Old][i]; } // end loop over i } // end if statement } // end loop over dihedrals //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the IMPROPER parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all impropers on molecule T for (std::vector::iterator iter = topo->molecules[myT].improperList.begin(); iter != topo->molecules[myT].improperList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[topo->impropers[*iter].atom1].stageNumber; int atom2_stage = topo->atoms[topo->impropers[*iter].atom2].stageNumber; int atom3_stage = topo->atoms[topo->impropers[*iter].atom3].stageNumber; int atom4_stage = topo->atoms[topo->impropers[*iter].atom4].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage,atom4_stage); // update these parameters only if myStage = 1 if (myStage == 1) { // find the index # of the proper iSGImproper element int myISGImproper = topo->impropers[*iter].iSGmodifierIndex; // update DeltaK and DeltaPhase topo->impropers[*iter].DeltaK[0] = impropers[myISGImproper].forceConstant[New] - impropers[myISGImproper].forceConstant[Old]; topo->impropers[*iter].DeltaPhase[0] = impropers[myISGImproper].phaseShift[New] - impropers[myISGImproper].phaseShift[Old]; } } // Compute the residual and ideal gas chemical potential differences: // ideal gas chemical potential difference (using the precomputed chemical potentials) myTheIntegrator->myDMuIG = myTheIntegrator->myDeltaMuIG[Old][New][0]; // residual chemical potential difference // DeltaMu = kT*ln(f1/f0 * N0/(N1+1)) myTheIntegrator->myTargetDeltaMu = myTheIntegrator->myTargetMu[New] - myTheIntegrator->myTargetMu[Old] + kbT * log (static_cast(myTheIntegrator->N[Old]) / static_cast(myTheIntegrator->N[New]+1)); myTheIntegrator->myTargetDeltaMu /= static_cast(myTheIntegrator->myNumStages); // new Lambda velocity chosen from MB distribution // width of Maxwell-Boltzmann distribution (in units of [1/fs]) Real sigma = sqrt(kbT / myTheIntegrator->Qd); // assign a new positive lambda velocity Real width = randomGaussianNumber(0.0,sigma); width *= width; myTheIntegrator->myLambdaVel = sqrt(width); // reset the conserved quantity averages myTheIntegrator->AveCQ = 0.0; myTheIntegrator->AveCQSq = 0.0; myTheIntegrator->NumTransSteps = 0; // reset the transformation flag myTheIntegrator->Transformed = false; // reset AllEnergiesFile flag myEnergies->output(false); (*myEnergies).clear(); } // end if statement } // end function pickNewMolecule() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // readXSCs (eXstended System Coordinates) // read this only if an XSC file is specified in the config file. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void ModifierISG::readXSCs(const string myFile, GenericTopology *topo) { // create the XSC reader object XSCReader xscReader; if(!xscReader.open(myFile)) report << error << "Can't open XSC file \'"<< myFile <<"\'."<> xsc)) report << error << "Could not parse XSC file \'"<< myFile <<"\'."<T = xsc.myMolecule-1; myTheIntegrator->myLambda = xsc.Lambda; myTheIntegrator->myLambdaVel = xsc.Lambda_vel; myTheIntegrator->OldType = xsc.old_type; myTheIntegrator->NewType = xsc.new_type; myTheIntegrator->myEta = xsc.Eta; myTheIntegrator->myEtaV = xsc.EtaVol; myTheIntegrator->myEtaVel = xsc.Eta_vel; myTheIntegrator->myEtaVolVel = xsc.EtaVol_vel; myTheIntegrator->myVolume = xsc.Vol; myTheIntegrator->myEpsilonVel = xsc.Epsilon_vel; myTheIntegrator->Transformed = false; report << "Initial values of the extended system variables:" << endr; report << "Transforming molecule: " << myTheIntegrator->T+1 << endr; report << "OldType = " << myTheIntegrator->OldType << endr; report << "NewType = " << myTheIntegrator->NewType << endr; report.precision(10); report << "Lambda = " << myTheIntegrator->myLambda << endr; report << "Lambda velocity (1/fs) = " << myTheIntegrator->myLambdaVel << endr; report << "Eta = " << myTheIntegrator->myEta << endr; report << "Eta velocity (1/fs) = " << myTheIntegrator->myEtaVel << endr; report << "EtaVol = " << myTheIntegrator->myEtaV << endr; report << "EtaVol velocity (1/fs) = " << myTheIntegrator->myEtaVolVel << endr; report << "Volume = " << myTheIntegrator->myVolume << endr; report << "Epsilon velocity (1/fs) = " << myTheIntegrator->myEpsilonVel << endr; // compute the ideal gas chemical potential // difference from changing the molecule's mass myTheIntegrator->mylnMassRatio = 0.0; int myT = myTheIntegrator->T; int Old = myTheIntegrator->OldType; int New = myTheIntegrator->NewType; Real kbT = myTheIntegrator->kbT; // determine which transformation state the molecule is currently in myTheIntegrator->thisStage = static_cast(floor(xsc.Lambda)) + 1; // loop over all atoms on molecule T for (std::vector::iterator iter = topo->molecules[myT].atoms.begin(); iter != topo->molecules[myT].atoms.end(); iter++) { // the index # into the atomTypes array int I = topo->atoms[*iter].type; // the atom type name of this atom string myName(topo->atomTypes[I].name); // find the proper iSGAtomType element bool Found = false; unsigned int myISGAtomType = 0; while (!Found) { if (myName == atomTypes[myISGAtomType].name) Found = true; else myISGAtomType++; } // update stageNumber, deltaM, deltaQ, Qold, and Qnew, and alphaLJ topo->atoms[*iter].stageNumber = atomTypes[myISGAtomType].stageNumber[Old]; topo->atoms[*iter].Qold = transformMaps[myISGAtomType].old_charge[Old][New][myTheIntegrator->thisStage-1]; topo->atoms[*iter].Qnew = transformMaps[myISGAtomType].new_charge[Old][New][myTheIntegrator->thisStage-1]; topo->atoms[*iter].deltaQ = transformMaps[myISGAtomType].new_charge[Old][New][myTheIntegrator->thisStage-1] - transformMaps[myISGAtomType].old_charge[Old][New][myTheIntegrator->thisStage-1]; topo->atoms[*iter].Qold *= Constant::SQRTCOULOMBCONSTANT; topo->atoms[*iter].Qnew *= Constant::SQRTCOULOMBCONSTANT; topo->atoms[*iter].deltaQ *= Constant::SQRTCOULOMBCONSTANT; topo->atoms[*iter].alphaLJ = transformMaps[myISGAtomType].alphaLJ[Old][New]; // add the following terms only for the current transformation stage if (topo->atoms[*iter].stageNumber == myTheIntegrator->thisStage) { topo->atoms[*iter].deltaM = atomTypes[myISGAtomType].mass[New] - atomTypes[myISGAtomType].mass[Old]; // update mylnMassRatio for the current stage myTheIntegrator->mylnMassRatio += (3 * kbT * 0.5) * ( log(atomTypes[myISGAtomType].mass[Old]) - log(atomTypes[myISGAtomType].mass[New]) ); } // end if statement } // end loop over atoms //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the BOND parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all bonds on molecule T for (std::vector::iterator iter = topo->molecules[myT].bondList.begin(); iter != topo->molecules[myT].bondList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[topo->bonds[*iter].atom1].stageNumber; int atom2_stage = topo->atoms[topo->bonds[*iter].atom2].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGER of the two stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage); // update these parameters only if myStage = thisStage if (myStage == myTheIntegrator->thisStage) { // find the index # of the proper iSGBond element int myISGBond = topo->bonds[*iter].iSGmodifierIndex; // update DeltaK and DeltaR0 topo->bonds[*iter].DeltaK = bonds[myISGBond].forceConstant[New] - bonds[myISGBond].forceConstant[Old]; topo->bonds[*iter].DeltaR0 = bonds[myISGBond].distance[New] - bonds[myISGBond].distance[Old]; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the ANGLE parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all angles on molecule T for (std::vector::iterator iter = topo->molecules[myT].angleList.begin(); iter != topo->molecules[myT].angleList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[topo->angles[*iter].atom1].stageNumber; int atom2_stage = topo->atoms[topo->angles[*iter].atom2].stageNumber; int atom3_stage = topo->atoms[topo->angles[*iter].atom3].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage); // update these parameters only if myStage = thisStage if (myStage == myTheIntegrator->thisStage) { // find the index # of the proper iSGAngle element int myISGAngle = topo->angles[*iter].iSGmodifierIndex; // update DeltaK and DeltaTheta0 topo->angles[*iter].DeltaK = angles[myISGAngle].forceConstant[New] - angles[myISGAngle].forceConstant[Old]; topo->angles[*iter].DeltaTheta0 = angles[myISGAngle].angleval[New] - angles[myISGAngle].angleval[Old]; topo->angles[*iter].Delta_ubK = angles[myISGAngle].k_ub[New] - angles[myISGAngle].k_ub[Old]; topo->angles[*iter].Delta_ubR0 = angles[myISGAngle].r_ub[New] - angles[myISGAngle].r_ub[Old]; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the DIHEDRAL parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all dihedrals on molecule T for (std::vector::iterator iter = topo->molecules[myT].dihedralList.begin(); iter != topo->molecules[myT].dihedralList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[topo->dihedrals[*iter].atom1].stageNumber; int atom2_stage = topo->atoms[topo->dihedrals[*iter].atom2].stageNumber; int atom3_stage = topo->atoms[topo->dihedrals[*iter].atom3].stageNumber; int atom4_stage = topo->atoms[topo->dihedrals[*iter].atom4].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage,atom4_stage); // update these parameters only if myStage = thisStage if (myStage == myTheIntegrator->thisStage) { // find the index # of the proper iSGDihedral element int myISGDihedral = topo->dihedrals[*iter].iSGmodifierIndex; for (int i=0; idihedrals[*iter].multiplicity; i++) { // update DeltaK and DeltaPhase topo->dihedrals[*iter].DeltaK[i] = dihedrals[myISGDihedral].forceConstant[New][i] - dihedrals[myISGDihedral].forceConstant[Old][i]; topo->dihedrals[*iter].DeltaPhase[i] = dihedrals[myISGDihedral].phaseShift[New][i] - dihedrals[myISGDihedral].phaseShift[Old][i]; } // end loop over i } // end if statement } // end loop over dihedrals //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the IMPROPER parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all impropers on molecule T for (std::vector::iterator iter = topo->molecules[myT].improperList.begin(); iter != topo->molecules[myT].improperList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = topo->atoms[topo->impropers[*iter].atom1].stageNumber; int atom2_stage = topo->atoms[topo->impropers[*iter].atom2].stageNumber; int atom3_stage = topo->atoms[topo->impropers[*iter].atom3].stageNumber; int atom4_stage = topo->atoms[topo->impropers[*iter].atom4].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage,atom4_stage); // update these parameters only if myStage = thisStage if (myStage == myTheIntegrator->thisStage) { // find the index # of the proper iSGImproper element int myISGImproper = topo->impropers[*iter].iSGmodifierIndex; // update DeltaK and DeltaPhase topo->impropers[*iter].DeltaK[0] = impropers[myISGImproper].forceConstant[New] - impropers[myISGImproper].forceConstant[Old]; topo->impropers[*iter].DeltaPhase[0] = impropers[myISGImproper].phaseShift[New] - impropers[myISGImproper].phaseShift[Old]; } } // end loop over impropers } // end function readXSCs() } // end class ModifierISG protomol/applications/iSGProtomol-app/integrators/ModifierISG.h0100644027616700000500000000647110237151524024317 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERISG_H #define MODIFIERISG_H #include "Modifier.h" #include "iSGPAR.h" #include "PSF.h" #include "TRANS.h" #include "Array.h" #include namespace ProtoMol { class iSGIntegrator; class ScalarStructure; class GenericTopology; //_________________________________________________________________ ModifierISG /** Modifies the Topology by ISG */ class ModifierISG : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierISG(iSGIntegrator *integrator, const PSF &psf, const iSGPAR &par); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return false;} void checkForStageCompletion(); void setForcesAfterTransformation(GenericTopology *topo); void pickNewMolecule(GenericTopology *topo, ScalarStructure *myEnergies); // If an initial XSC file is specified, read in the values // of the extended system coordinates virtual void readXSCs(const std::string myFile, GenericTopology *topo); void indexBonds(GenericTopology *topo, const TRANS &trans); private: virtual void doExecute(); virtual void doInitialize(); virtual std::string doPrint()const{return std::string("ISG");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: iSGIntegrator* myTheIntegrator; public: //_________________________________________________________________ TransformMap struct TransformMap { // This class contains information common to one type of atom. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TransformMap(){} // Default constructor for one atom type's set of charges for each transformation stage. // constructor for iSGMD simulations that creates memory for all identities TransformMap(int i, int s) { old_charge.resize(ArraySizes(i)(i)(s)); new_charge.resize(ArraySizes(i)(i)(s)); alphaLJ.resize(ArraySizes(i)(i)); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Array old_charge; Array new_charge; // This atomtype's old_type and new_type charges for each transformation stage. Array alphaLJ; // This atomtype's alphaLJ parameter for a switch between two identities }; //_________________________________________________________________ local storage elements std::vector bonds; std::vector angles; std::vector dihedrals; std::vector impropers; std::vector atomTypes; std::vector transformMaps; }; } #endif /* MODIFIERISG_H */ protomol/applications/iSGProtomol-app/integrators/iSGIntegrator.cpp0100644027616700000500000015405610237151524025275 0ustar pbrenne1dip// ----------------------------------------------------------------------- // // explicit, time-reversible integrator for iSG dynamics // // // // Unless modified, this integrator uses the molecular virial to control // // the pressure. -- TIM // // ----------------------------------------------------------------------- // #include "iSGIntegrator.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "pmconstants.h" #include "topologyutilities.h" #include "ModifierPostForceBarostat.h" #include "iSGModifierPostForceChemostat.h" #include "ModifierPostForceThermostat.h" #include "ModifierPreForceBarostat.h" #include "iSGModifierPreForceChemostat.h" #include "ModifierPreForceThermostat.h" #include "ModifierNPTShake.h" #include "ModifierNPTRattle.h" //#define DEBUG_MODIFIER_BOND //#define DEBUG_MODIFIER_ANGLE //#define DEBUG_MODIFIER_TORSION //#define DEBUG_MODIFIER_ATOM //#define DEBUG_CHEMOSTAT using std::vector; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Keyword. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ const string iSGIntegrator::keyword("iSGVerlet"); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Default or empty constructor //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ iSGIntegrator::iSGIntegrator(): STSIntegrator(), myNumComp(0), myNumStages(0), myTargetTemp(0.0), myTargetPres(0.0), myTauT(0.0), myTauV(0.0), myTauP(0.0), myTauD(0.0), kbT(0.0), myLambda(0.0), NumAtoms(0), NumMols(0), myNumFree(0), T(-1), thisStage(0), NumTransSteps(0), OldType(0), NewType(0), Transformed(true), myTargetDeltaMu(0.0), mylnMassRatio(0.0), myDMuIG(0.0), myVolume(0.0), myEpsilonVel(0.0), Qo(0.0), Qv(0.0), W(0.0), Qd(0.0), myEta(0.0), myEtaV(0.0), myEtaVel(0.0), myEtaVolVel(0.0), myLambdaVel(0.0), AveCQ(0.0), AveCQSq(0.0), AveDeltaMu(0.0) {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructor //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ iSGIntegrator::iSGIntegrator(Real timestep, unsigned int numComp, Real temperature, Real pressure, const vector &fugacityFrac, Real tauT, Real tauV, Real tauP, Real tauD, ForceGroup *overloadedForces) : STSIntegrator(timestep, overloadedForces), myNumComp(numComp), myNumStages(0), myTargetTemp(temperature), myTargetPres(pressure), myTauT(tauT), myTauV(tauV), myTauP(tauP), myTauD(tauD), kbT(temperature * Constant::BOLTZMANN), myLambda(0.0), NumAtoms(0), NumMols(0), myNumFree(0), T(-1), thisStage(1), NumTransSteps(0), OldType(0), NewType(0), Transformed(true), myTargetDeltaMu(0.0), mylnMassRatio(0.0), myDMuIG(0.0), myVolume(0.0), myEpsilonVel(0.0), Qo(0.0), Qv(0.0), W(0.0), Qd(0.0), myEta(0.0), myEtaV(0.0), myEtaVel(0.0), myEtaVolVel(0.0), myLambdaVel(0.0), AveCQ(0.0), AveCQSq(0.0), AveDeltaMu(0.0) { if(numComp != fugacityFrac.size()) report << error << "[iSGIntegrator::iSGIntegrator] oh no, you tried to pass fugacityFrac("< kT * ln (fugacityFrac) myTargetMu.resize(myNumComp,0.0); myFugacityFrac = fugacityFrac; Real sum = 0.0; for (unsigned int i=0; irescaleVolume(fac); uncache(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Barostat -- after force calculations //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::PostForceBarostat() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // Get the new KE. const Real twiceKE = 2. * kineticEnergy(myTopo, myVelocities); const Real MolKE = molecularKineticEnergy(myTopo, myVelocities); // Calculate the current pressure. Units: (bar) Real currentPres = computeMolecularPressure(myEnergies, myVolume, MolKE); // Advance the box volume velocity. myEpsilonVel *= exp(-myEtaVolVel * halfDeltaT); myEpsilonVel += (3.0 * twiceKE / myNumFree) * halfDeltaT / W; // Advance the box volume velocity. Divide by PRESSUREFACTOR to get // correct (fs)^-1 units. myEpsilonVel += (3.0 * (myVolume) * (currentPres - myTargetPres)) * halfDeltaT / (Constant::PRESSUREFACTOR * W); // Advance the volume thermostat variable velocity. myEtaVolVel += (W * myEpsilonVel * myEpsilonVel - kbT) * halfDeltaT / Qv; // Advance the volume thermostat variable. myEtaV += myEtaVolVel * halfDeltaT; // New volume thermostat kinetic energy. Real pEtaV = (Qv * 0.5) * (myEtaVolVel * myEtaVolVel); // New volume thermostat potential energy Real VEtaV = myEtaV * kbT; // New box volume kinetic energy. Real pVol = (W * 0.5) * (myEpsilonVel * myEpsilonVel); // New box volume potential energy. Real VVol = (myVolume * myTargetPres) / Constant::PRESSUREFACTOR; // Add the energy from the extended system barostat. (*myEnergies)[ScalarStructure::INTEGRATOR] += pEtaV + VEtaV + pVol + VVol; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Chemostat -- prior to force calculations //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::PreForceChemostat() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // Advance the chemostat velocity Real deltaM_vsq = 0.0; for (unsigned int i=0; i < myTopo->molecules[T].size(); i++) { // Current atom # and mass int atom = myTopo->molecules[T][i]; deltaM_vsq += myTopo->atoms[atom].deltaM * ((*myVelocities)[atom]).normSquared(); } myLambdaVel += (myTargetDeltaMu + myDMuIG - (*myEnergies).deltaMu() + (deltaM_vsq * 0.5) + mylnMassRatio) * halfDeltaT / Qd; // Advance the chemostat myLambda += myLambdaVel * 2. * halfDeltaT; // If Lambda should become negative, reset it to be zero, // and if Lambda should become larger than myNumStages, reset it to be myNumStages. if (myLambda < 0) myLambda = 0.0; else if (myLambda > myNumStages) myLambda = static_cast(myNumStages); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Chemostat -- after force calculations //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::PostForceChemostat() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // Advance the chemostat velocity Real deltaM_vsq = 0.0; for (unsigned int i=0; i < myTopo->molecules[T].size(); i++) { // Current atom # and mass int atom = myTopo->molecules[T][i]; deltaM_vsq += myTopo->atoms[atom].deltaM * ((*myVelocities)[atom]).normSquared(); } myLambdaVel += (myTargetDeltaMu + myDMuIG - (*myEnergies).deltaMu() + (deltaM_vsq * 0.5) + mylnMassRatio ) * halfDeltaT / Qd; #ifdef DEBUG_CHEMOSTAT report.precision(6); report << hint << "*******************************************************" << endr; report << hint << "Molecule being transformed: " << T+1 << ", current step: " << NumTransSteps << endr; report << hint << "Current identity is: " << OldType << ", New identity is: " << NewType << endr; report << hint << "deltaM_vsq = " << deltaM_vsq << endr; report << hint << "TargetDeltaMu = " << myTargetDeltaMu << ", mass ratio term = " << mylnMassRatio << ", DeltaMuIG = " << myDMuIG << endr; report << hint << "Lambda = " << myLambda << endr; report << hint << "Drift Current DeltaMu = " << (*myEnergies).deltaMu() << endr; report << hint << "Bond DeltaMu = " << (*myEnergies)[ScalarStructure::BOND_DELTAMU] << endr; report << hint << "Angle DeltaMu = " << (*myEnergies)[ScalarStructure::ANGLE_DELTAMU] << endr; report << hint << "Dihedral DeltaMu = " << (*myEnergies)[ScalarStructure::DIHEDRAL_DELTAMU] << endr; report << hint << "Improper DeltaMu = " << (*myEnergies)[ScalarStructure::IMPROPER_DELTAMU] << endr; report << hint << "LennardJones DeltaMu = " << (*myEnergies)[ScalarStructure::LENNARDJONES_DELTAMU] << endr; report << hint << "Coulomb DeltaMu = " << (*myEnergies)[ScalarStructure::COULOMB_DELTAMU] << endr; report << hint << "LambdaVel = " << myLambdaVel << endr; report << hint << "*******************************************************" << endr; #endif // New chemostat kinetic energy Real pLambda = (Qd * 0.5) * (myLambdaVel * myLambdaVel); // New chemostat potential energy //Real VLambda = (thisStage - 1 - myLambda) * (myTargetDeltaMu + mylnMassRatio); Real VLambda = -myLambda * myTargetDeltaMu + (thisStage - 1 - myLambda) * (myDMuIG + mylnMassRatio); // Add the energy from the extended system chemostat. (*myEnergies)[ScalarStructure::INTEGRATOR] += pLambda + VLambda; // add to the average chemical potential difference AveDeltaMu += (*myEnergies).deltaMu(); // add to the number of timesteps used to transform this molecule NumTransSteps++; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // doHalfKick(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::doHalfKick() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // calculate the COM and momentum of each molecule buildMolecularCenterOfMass(myPositions,myTopo); buildMolecularMomentum(myVelocities,myTopo); // --------------------------------------------------------------------- // Do the first update of the atom velocities // Loop over all molecules for (unsigned int i=0; i < NumMols; i++) { // Temporary storage element for the updated molecular momentum Vector3D Momentum(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the velocities due to the thermostat and barostat forces. (*myVelocities)[atom] *= exp(-(mass / myTopo->molecules[i].mass * (1.0 + 3.0/myNumFree) * myEpsilonVel + myEtaVel ) * halfDeltaT); // Add to the new momentum of this molecule Momentum += (*myVelocities)[atom] * mass; } // end loop over atoms // Store the updated molecular momentum myTopo->molecules[i].momentum = Momentum; } // end loop over molecules // ------------------------------------------------------------------------- // Do the second and third updates of the atom velocities // Loop over all molecules for (unsigned int i=0; i < NumMols; i++) { // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the velocities due to barostat force. (*myVelocities)[atom] -= (myTopo->molecules[i].momentum - (*myVelocities)[atom] * mass) * (1.0 + 3.0/myNumFree) * (1.0 / myTopo->molecules[i].mass) * myEpsilonVel * halfDeltaT; // Advance the velocities due to atomic forces. (*myVelocities)[atom] += (*myForces)[atom] * halfDeltaT * Constant::INV_TIMEFACTOR / mass; } // end loop over atoms } // end loop over molecules } // End doHalfKick(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // doDrift(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::doDrift() { // Timestep. Units: (fs) const Real deltaT = getTimestep(); // ------------------------------------------------------------------------- // Do the first update of the atom positions // Loop over all molecules for (unsigned int i=0; i < NumMols; i++) { // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the positions due to change in box length. (*myPositions)[atom] *= exp((mass / myTopo->molecules[i].mass) * myEpsilonVel * deltaT); } // end loop over atoms } // end loop over molecules // ------------------------------------------------------------------------- // Do the second and final update of the positions // Loop over all molecules for (unsigned int i=0; i < NumMols; i++) { // Temporary storage element for the updated molecular COM Vector3D COM(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the positions due to box volume or barostat (similar to COM shifting). (*myPositions)[atom] += (myTopo->molecules[i].position - (*myPositions)[atom] * (mass / myTopo->molecules[i].mass)) * deltaT * myEpsilonVel; // Advance the positions due to velocity. (*myPositions)[atom] += (*myVelocities)[atom] * deltaT * Constant::INV_TIMEFACTOR; // Add to the new COM of this molecule COM += (*myPositions)[atom] * mass; } // end loop over atoms // Store the updated molecular COM myTopo->molecules[i].position = COM / (myTopo->molecules[i].mass); } // end loop over molecules // update the COM of each molecule buildMolecularCenterOfMass(myPositions,myTopo); } // end doDrift() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // do2ndHalfkick() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::do2ndHalfKick() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // ----------------------------------------------------------------------------- // Do the first update of the atomic velocities // Loop over all molecules for (unsigned int i=0; i < NumMols; i++) { // Temporary storage element for the updated molecular momentum Vector3D Momentum(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the velocities due to atomic forces. (*myVelocities)[atom] += (*myForces)[atom] * halfDeltaT * Constant::INV_TIMEFACTOR / mass; // Add to the new momentum of this molecule Momentum += (*myVelocities)[atom] * mass; } // end loop over atoms // Store the updated molecular momentum myTopo->molecules[i].momentum = Momentum; } // end loop over molecules // ------------------------------------------------------------------------------ // Do the second and third updates of the atomic velocities // Loop over all molecules for (unsigned int i=0; i < NumMols; i++) { // Temporary storage element for the updated molecular momentum Vector3D Momentum(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the velocities due to barostat force. (*myVelocities)[atom] -= (myTopo->molecules[i].momentum - (*myVelocities)[atom] * mass) * (1.0 + 3.0/myNumFree) * (1.0 / myTopo->molecules[i].mass) * myEpsilonVel * halfDeltaT; // Advance the velocities due to the thermostat and barostat forces. (*myVelocities)[atom] *= exp(-(mass / myTopo->molecules[i].mass * (1.0 + 3.0/myNumFree) * myEpsilonVel + myEtaVel ) * halfDeltaT); // Add to the new momentum of this molecule Momentum += (*myVelocities)[atom] * mass; } // end loop over atoms // Store the updated molecular momentum myTopo->molecules[i].momentum = Momentum; } // end loop over molecules } // end do2ndHalfKick //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // modifyForces(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::modifyForces(const vector< iSGPAR::Bond > &myBonds, const vector< iSGPAR::Angle > &myAngles, const vector< iSGPAR::Dihedral > &myDihedrals, const vector< iSGPAR::Improper > &myImpropers, const vector< iSGPAR::AtomType > &myAtomTypes, const vector< ModifierISG::TransformMap > &myTransformMaps ){ // exit if we have not chosen a transforming molecule yet if (T == -1) return; // if lambda should be larger than the current stage # or smaller than the previous stage # then // use a temporary lambda = newStage or lambda = oldStage so that we don't end up multiplying any force // parameters by a number that is larger than 1 or less than 0. int oldStage = thisStage - 1; Real PreModLambda = myLambda; // if myLambda is larger than thisStage then temporarily set myLambda to be just less than thisStage; // the original myLambda will be restored at the end of this function so that thisStage will be changed // by the function checkForTransformation() if (myLambda > thisStage) { myLambda = thisStage; myTopo->molecules[T].lambda = thisStage - 0.000001;} // if myLambda is less than oldStage then temporarily set myLambda to be just more than oldStage; // the original myLambda will be restored at the end of this function so that thisStage will be changed // by the function checkForTransformation() else if (myLambda < oldStage) { myLambda = oldStage; myTopo->molecules[T].lambda = oldStage + 0.000001;} // if myLambda is in between thisStage and oldStage then we don't need to adjust myLambda else myTopo->molecules[T].lambda = myLambda; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the atomic charges and masses //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // the new mass of the molecule Real newMolMass = 0.0; // loop over all atoms on molecule T for (vector::iterator iter = myTopo->molecules[T].atoms.begin(); iter != myTopo->molecules[T].atoms.end(); iter++) { // this is the correct stage for this atom // the index # into the atomTypes array int I = myTopo->atoms[*iter].type; // the atom type name of this atom string myName(myTopo->atomTypes[I].name); // find the proper iSGAtomType element bool Found = false; unsigned int myISGAtomType = 0; while (!Found) { if (myName == myAtomTypes[myISGAtomType].name) Found = true; else myISGAtomType++; } // The mass only needs to be updated if we are at the proper transformation stage for this atom if (myTopo->atoms[*iter].stageNumber == thisStage) myTopo->atoms[*iter].scaledMass = myAtomTypes[myISGAtomType].mass[NewType] * (myLambda - oldStage) + myAtomTypes[myISGAtomType].mass[OldType] * (thisStage - myLambda); // update the atom's charge and deltaQ int o = OldType; int n = NewType; int s = oldStage; myTopo->atoms[*iter].scaledCharge = myTransformMaps[myISGAtomType].new_charge[o][n][s] * (myLambda - oldStage) + myTransformMaps[myISGAtomType].old_charge[o][n][s] * (thisStage - myLambda); myTopo->atoms[*iter].scaledCharge *= Constant::SQRTCOULOMBCONSTANT; // update the molecular mass newMolMass += myTopo->atoms[*iter].scaledMass; #ifdef DEBUG_MODIFIER_ATOM report.precision(8); report << hint << "____________________________________________________________________" << endr; report << hint << "Looking at atom # " << (*iter) << ", type = " << myTopo->atomTypes[myTopo->atoms[*iter].type].name << endr; report << hint << "Atom's stage number: " << myTopo->atoms[*iter].stageNumber << ", thisStage = " << thisStage << ", Lambda = " << myLambda << endr; report << hint << "New m and q = " << myTopo->atoms[*iter].scaledMass << ", " << myTopo->atoms[*iter].scaledCharge / Constant::SQRTCOULOMBCONSTANT << endr; report << hint << "DeltaM = " << myTopo->atoms[*iter].deltaM << ", DeltaQ = " << myTopo->atoms[*iter].deltaQ / Constant::SQRTCOULOMBCONSTANT << endr; report << hint << "____________________________________________________________________" << endr; #endif } // end loop over atoms // update the mass of molecule T myTopo->molecules[T].mass = newMolMass; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the BOND parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all bonds on molecule T for (vector::iterator iter = myTopo->molecules[T].bondList.begin(); iter != myTopo->molecules[T].bondList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = myTopo->atoms[myTopo->bonds[*iter].atom1].stageNumber; int atom2_stage = myTopo->atoms[myTopo->bonds[*iter].atom2].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGER of the two stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage); // update these parameters only if myStage = thisStage if (myStage == thisStage) { // find the index # of the proper iSGBond element int myISGBond = myTopo->bonds[*iter].iSGmodifierIndex; // update the force constant, k, and rest distance, r0 myTopo->bonds[*iter].springConstant = myBonds[myISGBond].forceConstant[NewType] * (myLambda - oldStage) + myBonds[myISGBond].forceConstant[OldType] * (thisStage - myLambda); myTopo->bonds[*iter].restLength = myBonds[myISGBond].distance[NewType] * (myLambda - oldStage) + myBonds[myISGBond].distance[OldType] * (thisStage - myLambda); // if we are using rigid bonds then we must loop over the constraint list to find // the constraint corresponding to this bond if (myTopo->bondRattleShakeConstraints.size() != 0) { // get the atom ID#s of the atoms in this bond int myAtom1 = myTopo->bonds[*iter].atom1; int myAtom2 = myTopo->bonds[*iter].atom2; // loop over the constraint list for (unsigned int shakeIter = 0; shakeIter < myTopo->bondRattleShakeConstraints.size(); shakeIter++) { // get the atom ID#s of the atoms in this constraint int shakeAtom1 = myTopo->bondRattleShakeConstraints[shakeIter].atom1; int shakeAtom2 = myTopo->bondRattleShakeConstraints[shakeIter].atom2; // if this is the correct constraint the update the restLength if (myAtom1 == shakeAtom1 && myAtom2 == shakeAtom2) myTopo->bondRattleShakeConstraints[shakeIter].restLength = myTopo->bonds[*iter].restLength; } // end loop over constraints } // end if statement #ifdef DEBUG_MODIFIER_BOND report.precision(8); report << hint << "Looking at bond #" << (*iter) << endr; report << hint << "New k and r0 = " << myTopo->bonds[*iter].springConstant << ", " << myTopo->bonds[*iter].restLength << endr; #endif } // end if statement } // end loop over bonds //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the ANGLE parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all angles on molecule T for (vector::iterator iter = myTopo->molecules[T].angleList.begin(); iter != myTopo->molecules[T].angleList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = myTopo->atoms[myTopo->angles[*iter].atom1].stageNumber; int atom2_stage = myTopo->atoms[myTopo->angles[*iter].atom2].stageNumber; int atom3_stage = myTopo->atoms[myTopo->angles[*iter].atom3].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage); // update these parameters only if myStage = thisStage if (myStage == thisStage) { // find the index # of the proper iSGAngle element int myISGAngle = myTopo->angles[*iter].iSGmodifierIndex; // update the force constant, k, and the rest angle, theta0 myTopo->angles[*iter].forceConstant = myAngles[myISGAngle].forceConstant[NewType] * (myLambda - oldStage) + myAngles[myISGAngle].forceConstant[OldType] * (thisStage - myLambda); myTopo->angles[*iter].ureyBradleyConstant = myAngles[myISGAngle].k_ub[NewType] * (myLambda - oldStage) + myAngles[myISGAngle].k_ub[OldType] * (thisStage - myLambda); myTopo->angles[*iter].restAngle = myAngles[myISGAngle].angleval[NewType] * (myLambda - oldStage) + myAngles[myISGAngle].angleval[OldType] * (thisStage - myLambda); myTopo->angles[*iter].ureyBradleyRestLength = myAngles[myISGAngle].r_ub[NewType] * (myLambda - oldStage) + myAngles[myISGAngle].r_ub[OldType] * (thisStage - myLambda); #ifdef DEBUG_MODIFIER_ANGLE report.precision(8); report << hint << "Looking at angle # " << (*iter) << endr; report << hint << "Index # " << myISGAngle << endr; report << hint << "New k and theta0 = " << myTopo->angles[*iter].forceConstant << ", " << myTopo->angles[*iter].restAngle << endr; report << hint << "New k and theta0 for UB = " << myTopo->angles[*iter].ureyBradleyConstant << ", " << myTopo->angles[*iter].ureyBradleyRestLength << endr; #endif } // end if statement } // end loop over angles //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the DIHEDRAL parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all dihedrals on molecule T for (vector::iterator iter = myTopo->molecules[T].dihedralList.begin(); iter != myTopo->molecules[T].dihedralList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = myTopo->atoms[myTopo->dihedrals[*iter].atom1].stageNumber; int atom2_stage = myTopo->atoms[myTopo->dihedrals[*iter].atom2].stageNumber; int atom3_stage = myTopo->atoms[myTopo->dihedrals[*iter].atom3].stageNumber; int atom4_stage = myTopo->atoms[myTopo->dihedrals[*iter].atom4].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage,atom4_stage); // update these parameters only if myStage = thisStage if (myStage == thisStage) { // find the index # of the proper iSGDihedral element int myISGDihedral = myTopo->dihedrals[*iter].iSGmodifierIndex; for (int i=0; idihedrals[*iter].multiplicity; i++) { // update the force constants myTopo->dihedrals[*iter].forceConstant[i] = myDihedrals[myISGDihedral].forceConstant[NewType][i] * (myLambda - oldStage) + myDihedrals[myISGDihedral].forceConstant[OldType][i] * (thisStage - myLambda); // update the phase shift angles myTopo->dihedrals[*iter].phaseShift[i] = myDihedrals[myISGDihedral].phaseShift[NewType][i] * (myLambda - oldStage) + myDihedrals[myISGDihedral].phaseShift[OldType][i] * (thisStage - myLambda); #ifdef DEBUG_MODIFIER_TORSION report.precision(8); report << hint << "Looking at dihedral # " << (*iter) << endr; report << hint << "New k and P.S. = " << myTopo->dihedrals[*iter].forceConstant[i] << ", " << myTopo->dihedrals[*iter].phaseShift[i] << endr; report << hint << "DeltaK = " << myTopo->dihedrals[*iter].DeltaK[i] << endr; report << hint << "DeltaPhase = " << myTopo->dihedrals[*iter].DeltaPhase[i] << endr; #endif } // end loop over i } // end if statement } // end loop over dihedrals //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the IMPROPER parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all impropers on molecule T for (vector::iterator iter = myTopo->molecules[T].improperList.begin(); iter != myTopo->molecules[T].improperList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = myTopo->atoms[myTopo->impropers[*iter].atom1].stageNumber; int atom2_stage = myTopo->atoms[myTopo->impropers[*iter].atom2].stageNumber; int atom3_stage = myTopo->atoms[myTopo->impropers[*iter].atom3].stageNumber; int atom4_stage = myTopo->atoms[myTopo->impropers[*iter].atom4].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage,atom4_stage); // update these parameters only if myStage = thisStage if (myStage == thisStage) { // find the index # of the proper iSGImproper element int myISGImproper = myTopo->impropers[*iter].iSGmodifierIndex; // update the force constant myTopo->impropers[*iter].forceConstant[0] = myImpropers[myISGImproper].forceConstant[NewType] * (myLambda - oldStage) + myImpropers[myISGImproper].forceConstant[OldType] * (thisStage - myLambda); // update the phase shift angle myTopo->impropers[*iter].phaseShift[0] = myImpropers[myISGImproper].phaseShift[NewType] * (myLambda - oldStage) + myImpropers[myISGImproper].phaseShift[OldType] * (thisStage - myLambda); #ifdef DEBUG_MODIFIER_TORSION report.precision(8); report << hint << "Looking at improper # " << (*iter) << endr; report << hint << "New k and P.S. = " << myTopo->impropers[*iter].forceConstant[0] << ", " << myTopo->impropers[*iter].phaseShift[0] << endr; #endif } // end if statement } // end loop over impropers // restore the original myLambda myLambda = PreModLambda; } // end function modifyForces() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // checkForTransformation(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::checkForTransformation(const vector &myBonds, const vector &myAngles, const vector &myDihedrals, const vector &myImpropers, const vector &myAtomTypes, const vector &myTransformMaps) { Transformed = false; // determine which transformation state the molecule is currently in int newStage = static_cast(floor(myLambda)) + 1; // determine if the molecule has been completely transformed if (myLambda > (myNumStages - 0.002) ) { // add to the # of molecules of NewType and subtract from the // # of molecules of OldType N[NewType]++; myTopo->iSGNumMols[NewType]++; N[OldType]--; myTopo->iSGNumMols[OldType]--; // set Lambda for this molecule to be equal to 0 and update // the molecule's type myTopo->molecules[T].lambda = 0.0; myTopo->molecules[T].type = NewType; myTopo->molecules[T].newtype = NewType; FinalType = NewType; Transformed = true; } else if (myLambda < 0.002) { // set Lambda for this molecule to be equal to 0 and update // the molecule's type myTopo->molecules[T].lambda = 0.0; myTopo->molecules[T].type = OldType; myTopo->molecules[T].newtype = OldType; FinalType = OldType; Transformed = true; } else if (newStage != thisStage) { // the transformation attempt has not yet completed, // but it has reached a new stage so we need to update // the force constants which are used for DeltaMu calculations //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the stomic charges and masses //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mylnMassRatio = 0.0; // loop over all atoms on molecule T for (std::vector::iterator iter = myTopo->molecules[T].atoms.begin(); iter != myTopo->molecules[T].atoms.end(); iter++) { // the index # into the atomTypes array int I = myTopo->atoms[*iter].type; // the atom type name of this atom string myName(myTopo->atomTypes[I].name); // find the proper iSGAtomType element bool Found = false; unsigned int myISGAtomType = 0; while (!Found) { if (myName == myAtomTypes[myISGAtomType].name) Found = true; else myISGAtomType++; } // update deltaM, deltaQ, Qold, and Qnew if (myTopo->atoms[*iter].stageNumber == thisStage) myTopo->atoms[*iter].deltaM = 0.0; // to make sure we compute the intramolecular Coulomb force correctly, we must // assign the proper charge to Qold and Qnew myTopo->atoms[*iter].Qold = myTransformMaps[myISGAtomType].new_charge[OldType][NewType][newStage-1]; myTopo->atoms[*iter].Qnew = myTransformMaps[myISGAtomType].old_charge[OldType][NewType][newStage-1]; myTopo->atoms[*iter].deltaQ = myTransformMaps[myISGAtomType].new_charge[OldType][NewType][newStage-1] - myTransformMaps[myISGAtomType].old_charge[OldType][NewType][newStage-1]; myTopo->atoms[*iter].Qold *= Constant::SQRTCOULOMBCONSTANT; myTopo->atoms[*iter].Qnew *= Constant::SQRTCOULOMBCONSTANT; myTopo->atoms[*iter].deltaQ *= Constant::SQRTCOULOMBCONSTANT; if (myTopo->atoms[*iter].stageNumber == newStage) { myTopo->atoms[*iter].deltaM = myAtomTypes[myISGAtomType].mass[NewType] - myAtomTypes[myISGAtomType].mass[OldType]; mylnMassRatio += (3 * kbT * 0.5) * (log(myAtomTypes[myISGAtomType].mass[OldType]) - log(myAtomTypes[myISGAtomType].mass[NewType])); } // end if-else statements } // end loop over atoms //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the BOND parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all bonds on molecule T for (std::vector::iterator iter = myTopo->molecules[T].bondList.begin(); iter != myTopo->molecules[T].bondList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = myTopo->atoms[myTopo->bonds[*iter].atom1].stageNumber; int atom2_stage = myTopo->atoms[myTopo->bonds[*iter].atom2].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGER of the two stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage); // find the index # of the proper iSGBond element int myISGBond = myTopo->bonds[*iter].iSGmodifierIndex; // update DeltaK and DeltaR0 if (myStage == thisStage) { // this stage is complete, so we set the parameters to zero myTopo->bonds[*iter].DeltaK = 0.0; myTopo->bonds[*iter].DeltaR0 = 0.0; } else if (myStage == newStage) { // we are now starting this new stage, so these parameters must be updated myTopo->bonds[*iter].DeltaK = myBonds[myISGBond].forceConstant[NewType] - myBonds[myISGBond].forceConstant[OldType]; myTopo->bonds[*iter].DeltaR0 = myBonds[myISGBond].distance[NewType] - myBonds[myISGBond].distance[OldType]; } // end if-else statements } // end loop over bonds //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the ANGLE parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all angles on molecule T for (std::vector::iterator iter = myTopo->molecules[T].angleList.begin(); iter != myTopo->molecules[T].angleList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = myTopo->atoms[myTopo->angles[*iter].atom1].stageNumber; int atom2_stage = myTopo->atoms[myTopo->angles[*iter].atom2].stageNumber; int atom3_stage = myTopo->atoms[myTopo->angles[*iter].atom3].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage); // find the index # of the proper iSGAngle element int myISGAngle = myTopo->angles[*iter].iSGmodifierIndex; // update DeltaK and DeltaTheta0 if (myStage == thisStage) { // this stage is complete, so we set the parameters to zero myTopo->angles[*iter].DeltaK = 0.0; myTopo->angles[*iter].DeltaTheta0 = 0.0; myTopo->angles[*iter].Delta_ubK = 0.0; myTopo->angles[*iter].Delta_ubR0 = 0.0; } else if (myStage == newStage) { // we are now starting this new stage, so these parameters must be updated myTopo->angles[*iter].DeltaK = myAngles[myISGAngle].forceConstant[NewType] - myAngles[myISGAngle].forceConstant[OldType]; myTopo->angles[*iter].DeltaTheta0 = myAngles[myISGAngle].angleval[NewType] - myAngles[myISGAngle].angleval[OldType]; myTopo->angles[*iter].Delta_ubK = myAngles[myISGAngle].k_ub[NewType] - myAngles[myISGAngle].k_ub[OldType]; myTopo->angles[*iter].Delta_ubR0 = myAngles[myISGAngle].r_ub[NewType] - myAngles[myISGAngle].r_ub[OldType]; } // end if-else statements } // end loop over angles //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the DIHEDRAL parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all dihedrals on molecule T for (std::vector::iterator iter = myTopo->molecules[T].dihedralList.begin(); iter != myTopo->molecules[T].dihedralList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = myTopo->atoms[myTopo->dihedrals[*iter].atom1].stageNumber; int atom2_stage = myTopo->atoms[myTopo->dihedrals[*iter].atom2].stageNumber; int atom3_stage = myTopo->atoms[myTopo->dihedrals[*iter].atom3].stageNumber; int atom4_stage = myTopo->atoms[myTopo->dihedrals[*iter].atom4].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage,atom4_stage); // find the index # of the proper iSGDihedral element int myISGDihedral = myTopo->dihedrals[*iter].iSGmodifierIndex; for (int i=0; idihedrals[*iter].multiplicity; i++) { // update DeltaK and DeltaPhase if (myStage == thisStage) { // this stage is complete, so we set the parameters to zero myTopo->dihedrals[*iter].DeltaK[i] = 0.0; myTopo->dihedrals[*iter].DeltaPhase[i] = 0.0; } else if (myStage == newStage) { // we are now starting this new stage, so these parameters must be updated myTopo->dihedrals[*iter].DeltaK[i] = myDihedrals[myISGDihedral].forceConstant[NewType][i] - myDihedrals[myISGDihedral].forceConstant[OldType][i]; myTopo->dihedrals[*iter].DeltaPhase[i] = myDihedrals[myISGDihedral].phaseShift[NewType][i] - myDihedrals[myISGDihedral].phaseShift[OldType][i]; } // end if-else statements } // end loop over i } // end loop over dihedrals //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // update the IMPROPER parameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // loop over all impropers on molecule T for (std::vector::iterator iter = myTopo->molecules[T].improperList.begin(); iter != myTopo->molecules[T].improperList.end(); iter++) { // get the transformation stage #'s for these atoms int atom1_stage = myTopo->atoms[myTopo->impropers[*iter].atom1].stageNumber; int atom2_stage = myTopo->atoms[myTopo->impropers[*iter].atom2].stageNumber; int atom3_stage = myTopo->atoms[myTopo->impropers[*iter].atom3].stageNumber; int atom4_stage = myTopo->atoms[myTopo->impropers[*iter].atom4].stageNumber; // determine which stage this bond should be transformed in // (it should be the LARGEST of the stage #s, if they are different) int myStage = max(atom1_stage,atom2_stage,atom3_stage,atom4_stage); // find the index # of the proper iSGImproper element int myISGImproper = myTopo->impropers[*iter].iSGmodifierIndex; // update DeltaK and DeltaPhase if (myStage == thisStage) { // this stage is complete, so we set the parameters to zero myTopo->impropers[*iter].DeltaK[0] = 0.0; myTopo->impropers[*iter].DeltaPhase[0] = 0.0; } else if (myStage == newStage) { // we are now starting this new stage, so these parameters must be updated myTopo->impropers[*iter].DeltaK[0] = myImpropers[myISGImproper].forceConstant[NewType] - myImpropers[myISGImproper].forceConstant[OldType]; myTopo->impropers[*iter].DeltaPhase[0] = myImpropers[myISGImproper].phaseShift[NewType] - myImpropers[myISGImproper].phaseShift[OldType]; } // end if-else statements } // end loop over impropers // Lastly, update the transformation stage indicator and the ideal gas DeltaMu thisStage = newStage; myDMuIG = myDeltaMuIG[OldType][NewType][thisStage-1]; } // if the transformation attempt has completed then compute the // average deviation in the conserved quantity if (Transformed) { // compute the average of the conserved quantity AveCQ /= static_cast(NumTransSteps); AveCQSq /= static_cast(NumTransSteps); // compute the fluctuation in the CQ (*myEnergies)[ScalarStructure::CQFLUCTUATION] = AveCQSq - power(AveCQ,2); (*myEnergies)[ScalarStructure::DELTATIME] = NumTransSteps; // output the system properties to the AllEnergiesFile myEnergies->output(true); // reset the transformation stage indicator to stage 1 thisStage = 1; } // end if (Transformed) statement } // end function //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // run //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::run(int numTimesteps) { for (int i = 0; i < numTimesteps; i++) { // integrate the equations of motion preStepModify(); doHalfKick(); doDriftOrNextIntegrator(); calculateForces(); do2ndHalfKick(); postStepModify(); // add to the conserved quantity averages Real MyCQ = kineticEnergy(myTopo, myVelocities) + myEnergies->potentialEnergy() + (*myEnergies)[ScalarStructure::INTEGRATOR]; AveCQ += MyCQ; AveCQSq += power(MyCQ, 2); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // initialize(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies) { STSIntegrator::initialize(topo, positions, velocities, energies); // store the total number of atoms and molecules NumAtoms = myTopo->atoms.size(); NumMols = myTopo->molecules.size(); myNumFree = myTopo->degreesOfFreedom; // determine the # of molecules of each component in the mixture N.resize(myNumComp); myTopo->iSGNumMols.resize(myNumComp); for (unsigned int C=0; C < myNumComp; C++) { N[C] = 0; myTopo->iSGNumMols[C] = 0; } for (unsigned int M=0; M < NumMols; M++) { N[myTopo->molecules[M].type]++; myTopo->iSGNumMols[myTopo->molecules[M].type]++; } // Initialize integrator variables to something sane. if (T == -1) { myEpsilonVel = 0.; myEta = 0.; myEtaV = 0.; myEtaVel = 0.; myEtaVolVel = 0.; myLambdaVel = 0.; // Initialize myVolume myVolume = myTopo->getVolume(*positions); } else { // Initialize the volume Real fac = myVolume / myTopo->getVolume(); myTopo->rescaleVolume(fac); uncache(); // Initialize the transforming molecule identities myTopo->molecules[T].lambda = myLambda; myTopo->molecules[T].type = OldType; myTopo->molecules[T].newtype = NewType; // Compute the residual and ideal gas chemical potential differences: // ideal gas chemical potential difference (using the precomputed chemical potentials) myDMuIG = myDeltaMuIG[OldType][NewType][thisStage-1]; // residual chemical potential difference // DeltaMu = kT*ln(f1/f0 * N0/(N1+1)) myTargetDeltaMu = (myTargetMu[NewType] - myTargetMu[OldType]) + kbT * log (static_cast(N[OldType]) / static_cast(N[NewType]+1)); myTargetDeltaMu /= static_cast(myNumStages); } // Compute the fixed barostat mass and thermostat masses. Qo = myNumFree * kbT * (myTauT * myTauT); Qv = kbT * (myTauV * myTauV); W = (myNumFree + 3) * kbT * (myTauP * myTauP); Qd = kbT * (myTauD * myTauD); initializeForces(); myEnergies->output(false); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // NPT RATTLE modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Modifier* iSGIntegrator::createRattleModifier(Real eps, int maxIter){ return (new ModifierNPTRattle(eps, maxIter, this)); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // NPT SHAKE modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Modifier* iSGIntegrator::createShakeModifier(Real eps, int maxIter){ return (new ModifierNPTShake(eps, maxIter, this)); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Add the modifiers //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::addModifierAfterInitialize() { adoptPreStepModifier(new ModifierPreForceThermostat(this,1)); adoptPreStepModifier(new ModifierPreForceBarostat(this,2)); adoptPreStepModifier(new iSGModifierPreForceChemostat(this,3)); adoptPostStepModifier(new iSGModifierPostForceChemostat(this,1)); adoptPostStepModifier(new ModifierPostForceBarostat(this,2)); adoptPostStepModifier(new ModifierPostForceThermostat(this,3)); STSIntegrator::addModifierAfterInitialize(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // addModifierBeforeInitialize(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::addModifierBeforeInitialize(){ // adoptPreForceModifier(new ModifierISGforces(this)); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // getParameters(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void iSGIntegrator::getParameters(vector< Parameter >& parameters) const { STSIntegrator::getParameters(parameters); parameters.push_back(Parameter("components", Value(myNumComp))); parameters.push_back(Parameter("temperature", Value(myTargetTemp))); parameters.push_back(Parameter("pressure", Value(myTargetPres))); parameters.push_back(Parameter("fugacityfrac", Value(myFugacityFrac))); parameters.push_back(Parameter("tauT", Value(myTauT))); parameters.push_back(Parameter("tauV", Value(myTauV))); parameters.push_back(Parameter("tauP", Value(myTauP))); parameters.push_back(Parameter("tauD", Value(myTauD))); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // doMake(). //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ STSIntegrator* iSGIntegrator::doMake(string&, const vector& values,ForceGroup* fg)const{ return new iSGIntegrator(values[0], values[1], values[2], values[3], values[4], values[5], values[6], values[7], values[8], fg ); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // finalXSCs //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ XSC iSGIntegrator::getXSC() const { // create an XSC object to store the final xsc values XSC xsc; // set the integrator type xsc.simType = "iSGVerlet"; // for chemostat xsc.Lambda = myLambda; xsc.Lambda_vel = myLambdaVel; xsc.myMolecule = T+1; xsc.old_type = OldType; xsc.new_type = NewType; // for thermostat xsc.Eta = myEta; xsc.EtaVol = myEtaV; xsc.Eta_vel = myEtaVel; xsc.EtaVol_vel = myEtaVolVel; // for barostat xsc.Vol = myVolume; xsc.Epsilon_vel = myEpsilonVel; return xsc; } } protomol/applications/iSGProtomol-app/integrators/iSGIntegrator.h0100644027616700000500000002167710237151524024744 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGINTEGRATOR_H #define ISGINTEGRATOR_H #include "iSGPAR.h" #include "STSIntegrator.h" #include "XSC.h" #include "Array.h" #include "ModifierISG.h" namespace ProtoMol { //________________________________________________________ iSGIntegrator class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; class ModifierISGforces; class Modifier; template class ModifierPreForceThermostat; template class ModifierPostForceThermostat; template class ModifierPreForceBarostat; template class ModifierPostForceBarostat; class iSGModifierPreForceChemostat; class iSGModifierPostForceChemostat; class iSGIntegrator: public STSIntegrator { friend class ModifierISG; template friend class ModifierPreForceThermostat; template friend class ModifierPostForceThermostat; template friend class ModifierPreForceBarostat; template friend class ModifierPostForceBarostat; friend class iSGModifierPreForceChemostat; friend class iSGModifierPostForceChemostat; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGIntegrator(); iSGIntegrator(Real timestep, unsigned int numComp, Real temperature, Real pressure, const std::vector& fugacityFrac, Real tauT, Real tauV, Real tauP, Real tauD, ForceGroup *overloadedForces); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // new methods of class iSGIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: // Store the values of the extended system coordinates at // the end of a simulation into an XSC object XSC getXSC() const; Real getEpsilonVel() const {return myEpsilonVel;} Real getEtaVel() const {return myEtaVel;} Real getNumAtoms() const {return NumAtoms;} Real getAveDeltaMu(int NumSteps) {return (AveDeltaMu / NumSteps);} private: void do2ndHalfKick(); void PreForceThermostat(); void PostForceThermostat(); void PreForceBarostat(); void PostForceBarostat(); void PreForceChemostat(); void PostForceChemostat(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 9;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual void run(int numTimesteps); /// Create a Rattle modifier virtual Modifier* createRattleModifier(Real eps, int maxIter); /// Create a Shake modifier virtual Modifier* createShakeModifier(Real eps, int maxIter); protected: virtual void addModifierBeforeInitialize(); virtual void addModifierAfterInitialize(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class STSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual STSIntegrator* doMake(std::string&, const std::vector& values, ForceGroup* fg)const; protected: virtual void doDrift(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class StandardIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual void doHalfKick(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ModifierISG //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: void modifyForces(const std::vector< iSGPAR::Bond > &, const std::vector< iSGPAR::Angle > &, const std::vector< iSGPAR::Dihedral > &, const std::vector< iSGPAR::Improper > &, const std::vector< iSGPAR::AtomType > &, const std::vector< ModifierISG::TransformMap > &); void checkForTransformation(const std::vector &, const std::vector &, const std::vector &, const std::vector &, const std::vector &, const std::vector &); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: const unsigned int myNumComp; // Number of components in the mixture unsigned int myNumStages; // Number of stages that the transformation will be split into const Real myTargetTemp; // Target temperature. Units: (K) const Real myTargetPres; // Target pressure. Units: (bar) std::vector myTargetMu; // Logarithms of the target fugacity fractions. Units: (kcal/mol) const Real myTauT; // thermostat oscillation period. Units: (fs) const Real myTauV; // volume thermostat oscillation period. Units: (fs) const Real myTauP; // barostat oscillation period. Units: (fs) const Real myTauD; // chemostat oscillation period. Units: (fs) const Real kbT; // Target temperature * Boltzmann's constant. Units: (kcal/mol) Real myLambda; // the chemostat variable. Units: (dimensionless) unsigned int NumAtoms; // Total # of atoms in the system. unsigned int NumMols; // Total # of molecules in the system unsigned int myNumFree; // Total # of degrees of freedom = (3*Natoms - 3) - NumConstraints int T; // The ID# of the molecule currently being transformed int thisStage; // The current transformation stage unsigned int NumTransSteps; // The # of timesteps it took to complete the transformation unsigned int OldType; // The type of molecule being transformed unsigned int NewType; // The new identity we wish to give to the transformin molecule unsigned int FinalType; // The identity of the molecule at the end of the transformation attempt bool Transformed; // flag so we know when the molecule has been completely transformed Array myDeltaMuIG; // matrix of ideal gas chemical potential differences. Units: (kcal/mol) std::vector myFugacityFrac; // Target fugacity fraction or chemical potential. Units: (kcal/mol) Real myTargetDeltaMu; // residual chemical potential difference. Units (kcal/mol) Real mylnMassRatio; // Ideal gas delta mu that accounts for the transformation of atomic mass Real myDMuIG; // Ideal gas delta mu for the current stage. Units (kcal/mol) Real myVolume; // Current cubic volume. Units (AA^3) Real myEpsilonVel; // Barostat strain rate velocity. Units: (fs)^-1 Real Qo; // Particle thermostat mass. Units: (kcal fs^2 / mol) Real Qv; // Volume thermostat mass. Units: (kcal fs^2 / mol) Real W; // Barostat mass. Units: (kcal fs^2 / mol) Real Qd; // Chemostat mass. Units: (kcal fs^2 / mol) Real myEta; // Nose-Hoover particle thermostat variable. Units: (dimensionless) Real myEtaV; // Nose-Hoover volume thermostat variable. Units: (dimensionless) Real myEtaVel; // Velocity of the thermostat variable. Units: (fs)^-1 Real myEtaVolVel; // Velocity of the volume thermostat variable. Units: (fs)^-1 Real myLambdaVel; // Velocity of the chemostat variable. Units: (fs)^-1 std::vector N; // The number of molecules of each mixture component // ~~~ For tracking of the conserved quantity (CQ) ~~~ Real AveCQ, AveCQSq; // The instantaneous CQ, average CQ, and CQ-squared Real AveDeltaMu; // Quantity needed for TI calculations }; } #endif protomol/applications/iSGProtomol-app/integrators/iSGModifierPostForceChemostat.h0100644027616700000500000000265410237151524030053 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGMODIFIERPOSTFORCECHEMOSTAT_H #define ISGMODIFIERPOSTFORCECHEMOSTAT_H #include "Modifier.h" #include "iSGIntegrator.h" using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ ModifierPostForceChemostat class iSGModifierPostForceChemostat : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGModifierPostForceChemostat(iSGIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){} iSGModifierPostForceChemostat(iSGIntegrator* i, int order):Modifier(order),myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return true;} private: virtual void doExecute(){ myTheIntegrator->PostForceChemostat(); } virtual std::string doPrint()const{return std::string("PostForceChemostat");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: iSGIntegrator* myTheIntegrator; }; } #endif /* ISGMODIFIERPOSTFORCECHEMOSTAT_H */ protomol/applications/iSGProtomol-app/integrators/iSGModifierPreForceChemostat.h0100644027616700000500000000264310237151524027652 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef iSGMODIFIERPREFORCECHEMOSTAT_H #define iSGMODIFIERPREFORCECHEMOSTAT_H #include "Modifier.h" #include "iSGIntegrator.h" using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ iSGModifierPreForceChemostat class iSGModifierPreForceChemostat : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iSGModifierPreForceChemostat(iSGIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){} iSGModifierPreForceChemostat(iSGIntegrator* i, int order):Modifier(order),myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return true;} private: virtual void doExecute(){ myTheIntegrator->PreForceChemostat(); } virtual std::string doPrint()const{return std::string("PretForceChemostat");} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: iSGIntegrator* myTheIntegrator; }; } #endif /* ISGMODIFIERPREFORCHEMOSTAT_H */ protomol/applications/iSGProtomol-app/io/0040755027616700000500000000000010237151524020106 5ustar pbrenne1dipprotomol/applications/iSGProtomol-app/io/.cvsignore0100644027616700000500000000006310237151524022102 0ustar pbrenne1dip*.o *.il Makefile.in Makefile iSGProtomol ti_files protomol/applications/iSGProtomol-app/io/Makefile.am0100644027616700000500000000267310237151524022147 0ustar pbrenne1dip# base AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libISGio_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_ISGBASE = $(top_srcdir)/applications/iSGProtomol-app/base P_ISGIO = $(top_srcdir)/applications/iSGProtomol-app/io P_ISGFORCES = $(top_srcdir)/applications/iSGProtomol-app/forces P_ISGFRONTEND = $(top_srcdir)/applications/iSGProtomol-app/frontend P_ISGTOPOLOGY = $(top_srcdir)/applications/iSGProtomol-app/topology # base Sources P_ISGIO_SRC =\ iSGPARReader.cpp\ TRANSReader.cpp\ XSCReader.cpp\ XSCWriter.cpp # base Includes P_ISGIO_H =\ iSGPARReader.h\ TRANSReader.h\ XSCReader.h\ XSCWriter.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libISGio.a libISGio_a_SOURCES = $(P_ISGIO_SRC) $(P_ISGIO_H) INCLUDES = @FFT_CFLAGS@ -I$(P_ISGIO) -I$(P_ISGBASE) -I$(P_IO) -I$(P_BASE) -I$(P_ISGTOPOLOGY) #-I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(=_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_ISGIO_SRC) #include $(top_srcdir)/Makefile.depend protomol/applications/iSGProtomol-app/io/Makefile.in0100644027616700000500000002325510237151524022157 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # base SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libISGio_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories P_ISGBASE = $(top_srcdir)/applications/iSGProtomol-app/base P_ISGIO = $(top_srcdir)/applications/iSGProtomol-app/io P_ISGFORCES = $(top_srcdir)/applications/iSGProtomol-app/forces P_ISGFRONTEND = $(top_srcdir)/applications/iSGProtomol-app/frontend P_ISGTOPOLOGY = $(top_srcdir)/applications/iSGProtomol-app/topology # base Sources P_ISGIO_SRC = \ iSGPARReader.cpp\ TRANSReader.cpp\ XSCReader.cpp\ XSCWriter.cpp # base Includes P_ISGIO_H = \ iSGPARReader.h\ TRANSReader.h\ XSCReader.h\ XSCWriter.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libISGio.a libISGio_a_SOURCES = $(P_ISGIO_SRC) $(P_ISGIO_H) INCLUDES = @FFT_CFLAGS@ -I$(P_ISGIO) -I$(P_ISGBASE) -I$(P_IO) -I$(P_BASE) -I$(P_ISGTOPOLOGY) #-I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(=_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_ISGIO_SRC) subdir = applications/iSGProtomol-app/io mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) libISGio_a_LIBADD = am__objects_1 = iSGPARReader.$(OBJEXT) TRANSReader.$(OBJEXT) \ XSCReader.$(OBJEXT) XSCWriter.$(OBJEXT) am__objects_2 = am_libISGio_a_OBJECTS = $(am__objects_1) $(am__objects_2) libISGio_a_OBJECTS = $(am_libISGio_a_OBJECTS) DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(libISGio_a_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(libISGio_a_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign applications/iSGProtomol-app/io/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libISGio.a: $(libISGio_a_OBJECTS) $(libISGio_a_DEPENDENCIES) -rm -f libISGio.a $(libISGio_a_AR) libISGio.a $(libISGio_a_OBJECTS) $(libISGio_a_LIBADD) $(RANLIB) libISGio.a mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/applications/iSGProtomol-app/io/TRANSReader.cpp0100644027616700000500000002647710237151524022641 0ustar pbrenne1dip#include "TRANSReader.h" #include "stringutilities.h" #include "Report.h" #include using std::string; using std::vector; using std::endl; using std::find; using std::stringstream; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________TRANSReader TRANSReader::TRANSReader(): Reader(), myTRANS(NULL){} TRANSReader::TRANSReader(const std::string& filename): Reader(filename), myTRANS(NULL){} TRANSReader::TRANSReader(const char* filename): Reader(string(filename)), myTRANS(NULL){} TRANSReader::~TRANSReader(){ if(myTRANS != NULL) delete myTRANS; } TRANS* TRANSReader::orphanTRANS(){ TRANS* tmp = myTRANS; myTRANS = NULL; return tmp; } bool TRANSReader::tryFormat(){ if (!open()) return false; while(!myFile.eof()){ string str; // read in the first line str = getline(); stringstream ss(str); str.resize(find(str.begin(),str.end(),'!') - str.begin()); str.resize(find(str.begin(),str.end(),'*') - str.begin()); str.resize(find(str.begin(),str.end(),'{') - str.begin()); str.resize(find(str.begin(),str.end(),'}') - str.begin()); string i; ss >> i; if(i.size() > 0 && !equalStartNocase("END" ,i)){ close(); return true; } } myFile.setstate(std::ios::failbit); close(); return false; } bool TRANSReader::read() { if(myTRANS == NULL) myTRANS = new TRANS(); return read(*myTRANS); } bool TRANSReader::read(TRANS& trans) { // exit if the format is incorrect if(!tryFormat()) return false; // exit if the file could not be opened if(!open()) return false; // initialize the TRANS data object trans.clear(); vector > input; // Stripped TRANS file input vector signatures; // 'd' for Real or int, 'w' for a word vector lines; // line number in TRANS file int count = 0; // TRANS file line counter int comment = 0; // make sure we are not at the end of the file while(!myFile.eof()){ // create a data string vector data; string numbers = ""; // read in the next line string str(getline()); ++count; // Remove {} comments if(find(str.begin(),str.end(),'}') == str.end() && find(str.begin(),str.end(),'{') == str.end()){ if(comment > 0) continue; } else { string tmp = ""; for(unsigned int i=0;i 0){ stringstream ss(str.substr(i,str.size()-i)); string rest; ss >> rest; if(rest == "}" && ss.eof()){ comment = 0; report << warning << "The comments at line "<> i; // Skip * comments if(i[0] == '*') break; if(i.size() > 0){ data.push_back(i); numbers += (isReal(i)?"d":"w"); } } // Remove REMARK and SET if(data.size()>0 &&(equalStartNocase("REMARK",data[0]) || equalStartNocase("SET",data[0]))){ data.clear(); numbers = ""; } // Store line if(data.size()>0){ input.push_back(data); signatures.push_back(numbers); lines.push_back(count); } } // Parse TRANSRecordTypeEnum type = UNDEFINED; sized = got_alphaLJ = false; numTypes = 0; vector::const_iterator sig = signatures.begin(); vector::const_iterator line = lines.begin(); for(vector >::const_iterator i=input.begin();i != input.end();++i,++sig,++line){ vector::const_iterator j = i->begin(); string s(*sig); if(equalStartNocase("iden",(*j))){ type = IDENTITIES; continue; } else if(equalStartNocase("ideal",(*j))){ type = IDEAL_GAS_DELTAMU; continue; } else if(equalStartNocase("type",(*j))){ type = ATOMTYPE; continue; } else if(equalStartNocase("stag",(*j))){ type = STAGES; continue; } else if(equalStartNocase("charg",(*j))){ type = ATOMCHARGE; continue; } else if(equalStartNocase("end" ,(*j))){ if(type == IDENTITIES || type == ATOMTYPE || type == ATOMCHARGE || type == IDEAL_GAS_DELTAMU) continue; report << warning <<"Unknown parameter \'"<<(*j)<<"\' in TRANS file at line "<<(*line)<<"."<::const_iterator l=j;l != i->end();++l){ definition += (definition.size() > 0 ? " ":"") + (*l); } // Add the type to the corresponding container ... switch(type){ case IDENTITIES: { if(s == "d") numIdentities = toInt(j[0]); else report << warning <<"Unknown # of identities definition \'"<>(TRANSReader& transReader, TRANS& trans){ transReader.read(trans); return transReader; } } protomol/applications/iSGProtomol-app/io/TRANSReader.h0100644027616700000500000000552610237151524022276 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef TRANSREADER_H #define TRANSREADER_H #include "Reader.h" #include "TRANS.h" #include "Array.h" namespace ProtoMol { //_________________________________________________________________TRANSReader class TRANSReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: enum TRANSRecordTypeEnum { UNDEFINED, IDENTITIES, STAGES, IDEAL_GAS_DELTAMU, ATOMTYPE, ATOMCHARGE }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: explicit TRANSReader(); explicit TRANSReader(const std::string& filename); explicit TRANSReader(const char* filename); // Need this implementation, otherwise const char* will be converted to bool or int ... virtual ~TRANSReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();}; virtual bool open(const std::string& filename){return File::open(filename);}; virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class TRANS //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool read(TRANS& trans); TRANS* orphanTRANS(); // stream operator friend TRANSReader& operator>>(TRANSReader& transReader, TRANS& trans); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: TRANS* myTRANS; // the number of different identities for each atom type int numIdentities; // the number of stages to break the molecular transformation into int numStages; // the number of different atom types in the system int numTypes; // array containing the different atom type names std::vector myTypes; // flag so we know if the ideal gas chemical potential difference // matrix has been sized bool sized; // flag so we know if any alphaLJ parameters have been specified bool got_alphaLJ; }; //____________________________________________________________________________INLINES } #endif /* TRANSREADER_H */ protomol/applications/iSGProtomol-app/io/XSCReader.cpp0100644027616700000500000001433610237151524022376 0ustar pbrenne1dip#include "XSCReader.h" #include "Report.h" #include "stringutilities.h" using std::string; using std::vector; using std::stringstream; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________XSCReader XSCReader::XSCReader():Reader(),myXSCinfo(NULL){} XSCReader::XSCReader(const std::string& filename):Reader(filename),myXSCinfo(NULL){} XSCReader::~XSCReader(){ if(myXSCinfo != NULL) delete myXSCinfo; } bool XSCReader::tryFormat() { if (!open()) return false; return (myFile.good() ); } bool XSCReader::read() { if(myXSCinfo == NULL) myXSCinfo = new XSC(); return read(*myXSCinfo); } bool XSCReader::read(XSC& xsc) { if(!tryFormat()) return false; if (!open()) return false; // Remove comments and reformat stringstream all; while(!myFile.eof() && !myFile.fail()){ // Read a line of data and remove surrounding white space. Ignore line // if it begins with a '#'. string line(getline()); stringstream ss(string(line.begin(),std::find(line.begin(),line.end(),'#'))); string str; // Read line from stream and print a space if the string is not the empty // line. while(ss >> str){ all << ( all.str().empty() ? "" : " " ) << str; // ssh report << "XSC: " << str << endr; } } string str; XSCRecordTypeEnum type = UNDEFINED; // Read configuration file and store any keyword pairs. while( all >> str ) { if( equalNocase("integrator", str) ) { all >> str; if(equalNocase("isgverlet", str)){ type = ISG; } else if(equalNocase("nptleapfrog", str) || equalNocase("nptverlet", str)){ type = NPT; } else if(equalNocase("nvtleapfrog", str)){ type = NVTLEAPFROG; } //report << "integrator == " << str << endr; } else if( equalNocase( "molecule", str ) ) { all >> str; if( !toUInt( str, xsc.myMolecule ) ) report << warning << "XSCReader: Problem with myMolecule." << endr; //report << "molecule == " << xsc.myMolecule << endr; } else if( equalNocase( "oldType", str ) ) { all >> str; if( !toUInt( str, xsc.old_type ) ) report << warning << "XSCReader: Problem with oldType." << endr; //report << "oldType == " << xsc.old_type << endr; } else if( equalNocase( "newType", str ) ) { all >> str; if( !toUInt( str, xsc.new_type ) ) report << warning << "XSCReader: Problem with newType." << endr; //report << "newType == " << xsc.new_type << endr; } else if( equalNocase( "Lambda", str ) ) { all >> str; if( !toReal( str, xsc.Lambda ) ) report << warning << "XSCReader: Problem with Lambda." << endr; //report << "Lambda == " << xsc.Lambda << endr; } else if( equalNocase( "LambdaVel", str ) ) { all >> str; if( !toReal( str, xsc.Lambda_vel ) ) report << warning << "XSCReader: Problem with LambdaVel." << endr; //report << "LambdaVel == " << xsc.Lambda_vel << endr; } else if( equalNocase( "Eta", str ) ) { all >> str; if( !toReal( str, xsc.Eta ) ) report << warning << "XSCReader: Problem with Eta." << endr; //report << "Eta == " << xsc.Eta << endr; } else if( equalNocase( "EtaVel", str ) ) { all >> str; if( !toReal( str, xsc.Eta_vel ) ) report << warning << "XSCReader: Problem with EtaVel." << endr; //report << "EtaVel == " << xsc.Eta_vel << endr; } else if( equalNocase( "EtaVol", str ) ) { all >> str; if( !toReal( str, xsc.EtaVol ) ) report << warning << "XSCReader: Problem with EtaVol." << endr; //report << "EtaVol == " << xsc.EtaVol << endr; } else if( equalNocase( "EtaVolVel", str ) ) { all >> str; if( !toReal( str, xsc.EtaVol_vel ) ) report << warning << "XSCReader: Problem with EtaVolVel." << endr; //report << "EtaVolVel == " << xsc.EtaVol_vel << endr; } else if( equalNocase( "Volume", str ) ) { all >> str; if( !toReal( str, xsc.Vol ) ) report << warning << "XSCReader: Problem with Volume." << endr; //report << "Volume == " << xsc.Vol << endr; } else if( equalNocase( "EpsilonVel", str ) ) { all >> str; if( !toReal( str, xsc.Epsilon_vel ) ) report << warning << "XSCReader: Problem with EpsilonVel." << endr; //report << "EpsilonVel == " << xsc.Epsilon_vel << endr; } else { report << warning << "XSCReader - unknown keyword: " << str << endr; } } // Read in the appropriate XSC inputs for the particular integrator type... switch(type) { //------------------------------------------------------------------- case ISG: case NPT: case NVTLEAPFROG: break; default: report << error << "XSCReader - unknown integrator." << endr; //******************************************************************* } // end switch structure return !myFile.fail(); } XSC* XSCReader::orphanXSC(){ XSC* tmp = myXSCinfo; myXSCinfo = NULL; return tmp; } XSCReader& operator>>(XSCReader& xscReader, XSC& xsc){ xscReader.read(xsc); return xscReader; } } protomol/applications/iSGProtomol-app/io/XSCReader.h0100644027616700000500000000435610237151524022044 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef XSCREADER_H #define XSCREADER_H #include "Reader.h" #include "XSC.h" namespace ProtoMol { //_________________________________________________________________XSCReader class XSCReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: enum XSCRecordTypeEnum { UNDEFINED, ISG, NPT, NVTLEAPFROG }; // Supported and read extended-system integrator types //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: XSCReader(); explicit XSCReader(const std::string& filename); virtual ~XSCReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();} virtual bool open(const std::string& filename){return File::open(filename);} virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class XSC //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool read(XSC& xsc); XSC* orphanXSC(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend XSCReader& operator>>(XSCReader& xscReader, XSC& xsc); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: XSC* myXSCinfo; }; //____________________________________________________________________________INLINES } #endif /* XSCREADER_H */ protomol/applications/iSGProtomol-app/io/XSCWriter.cpp0100644027616700000500000000413210237151524022441 0ustar pbrenne1dip#include "XSCWriter.h" #include #include "Report.h" #include "stringutilities.h" #include "systemutilities.h" using std::string; using std::endl; using std::setprecision; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________XSCWriter //~~~ empty constructor ~~~ XSCWriter::XSCWriter():Writer(){} //~~~ constructor ~~~ XSCWriter::XSCWriter(const std::string& filename):Writer(filename){} //~~~ write function that writes the XSC values to a file ~~~ bool XSCWriter::write(const XSC& xsc){ if (!open()) return false; // integrator type myFile << "# Type of integrator used" << endl; myFile << "integrator " << xsc.simType << endl; // Comment myFile << "# ProtoMol (built on "<< __DATE__ << " at " << __TIME__<< ") generated this XSC file by "< using std::string; using std::vector; using std::endl; using std::find; using std::stringstream; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________PARReader iSGPARReader::iSGPARReader(iSGPAR::CharmmTypeEnum charmmType): Reader(), myPAR(NULL),myCharmmType(charmmType),myCharmmTypeDetected(iSGPAR::UNDEFINED){} iSGPARReader::iSGPARReader(const std::string& filename, iSGPAR::CharmmTypeEnum charmmType): Reader(filename), myPAR(NULL),myCharmmType(charmmType),myCharmmTypeDetected(iSGPAR::UNDEFINED){} iSGPARReader::iSGPARReader(const char* filename, iSGPAR::CharmmTypeEnum charmmType): Reader(string(filename)), myPAR(NULL),myCharmmType(charmmType),myCharmmTypeDetected(iSGPAR::UNDEFINED){} iSGPARReader::~iSGPARReader(){ if(myPAR != NULL) delete myPAR; } bool iSGPARReader::open(const std::string& filename, iSGPAR::CharmmTypeEnum charmmType){ myCharmmType = charmmType; myCharmmTypeDetected = iSGPAR::UNDEFINED; return open(filename); } bool iSGPARReader::open(iSGPAR::CharmmTypeEnum charmmType){ myCharmmType = charmmType; myCharmmTypeDetected = iSGPAR::UNDEFINED; return open(); } iSGPAR* iSGPARReader::orphanPAR(){ iSGPAR* tmp = myPAR; myPAR = NULL; return tmp; } bool iSGPARReader::tryFormat(){ if (!open()) return false; while(!myFile.eof()){ string str; str = getline(); stringstream ss(str); str.resize(find(str.begin(),str.end(),'!') - str.begin()); str.resize(find(str.begin(),str.end(),'*') - str.begin()); str.resize(find(str.begin(),str.end(),'{') - str.begin()); str.resize(find(str.begin(),str.end(),'}') - str.begin()); string i; ss >> i; if(!i.empty() && (isKeywordCharmm19(i) || isKeywordCharmm28(i)) && !equalStartNocase("END" ,i)){ close(); return true; } } myFile.setstate(std::ios::failbit); close(); return false; } bool iSGPARReader::read() { if(myPAR == NULL) myPAR = new iSGPAR(); return read(*myPAR); } bool iSGPARReader::read(iSGPAR& par) { if(!tryFormat()) return false; if(!open()) return false; par.clear(); vector > input; // Stripped PAR file input vector signatures; // 'd' for Real or int, 'w' for a word vector lines; // line number in PAR file int charmm19 = 0; int charmm28 = 0; int count = 0; // PAR file line counter int comment = 0; while(!myFile.eof()){ vector data; string numbers = ""; string str(removeBeginEndBlanks(getline())); ++count; // Remove {} comments if(!str.empty() && str[0] == '*') continue; if(find(str.begin(),str.end(),'}') == str.end() && find(str.begin(),str.end(),'{') == str.end()){ if(comment > 0) continue; } else { string tmp = ""; for(unsigned int i=0;i 0){ stringstream ss(str.substr(i,str.size()-i)); string rest; ss >> rest; if(rest == "}" && ss.eof()){ comment = 0; report << warning << "The comments at line "<> i; // Skip * comments if(i[0] == '*') break; if(!i.empty()){ data.push_back(i); numbers += (isReal(i)?"d":"w"); } } // Remove REMARK and SET if(!data.empty() &&(equalStartNocase("REMARK",data[0]) || equalStartNocase("SET",data[0]))){ data.clear(); numbers = ""; } // Store line if(!data.empty()){ input.push_back(data); signatures.push_back(numbers); lines.push_back(count); // Statistics for format selection if(numbers.size() == 1 && isKeywordCharmm28(data[0])){ ++charmm28; } else if(numbers.size() > 1 && isKeywordCharmm19(data[0]) || find(numbers.begin(),numbers.end(),'w') == numbers.end()){ ++charmm19; } else if(numbers.size() > 1 && !isKeywordCharmm19(data[0]) && !isKeywordCharmm28(data[0])){ ++charmm28; } } } // Selection of format myCharmmTypeDetected = (charmm19 > charmm28?iSGPAR::CHARMM19:iSGPAR::CHARMM28); bool isCharmm19 = (myCharmmType == iSGPAR::UNDEFINED ?charmm19 > charmm28:(myCharmmType == iSGPAR::CHARMM19)); // Parse PARRecordTypeEnum type = UNDEFINED; vector::const_iterator sig = signatures.begin(); vector::const_iterator line = lines.begin(); for(vector >::const_iterator i=input.begin();i != input.end();++i,++sig,++line){ vector::const_iterator j = i->begin(); string s(*sig); if(isCharmm19){ // Charmm19 if(equalStartNocase("AEXP" ,(*j)) || equalStartNocase("REXP" ,(*j))|| equalStartNocase("HAEX" ,(*j))|| equalStartNocase("AAEX" ,(*j))|| equalStartNocase("NBOND",(*j))|| equalStartNocase("CUTNB",(*j))|| equalStartNocase("END" ,(*j))|| equalStartNocase("CTONN",(*j))|| equalStartNocase("EPS" ,(*j))|| equalStartNocase("VSWI" ,(*j))|| equalStartNocase("NBXM" ,(*j))|| equalStartNocase("INHI" ,(*j))) continue; if(equalStartNocase("bond",(*j))){ type = BOND; } else if(equalStartNocase("angl",(*j))){ type = ANGLE; } else if(equalStartNocase("dihe",(*j))){ type = DIHEDRAL; } else if(equalStartNocase("impr",(*j))){ type = IMPROPER; } else if(equalStartNocase("nonb",(*j))){ type = NONBONDED; } else if(equalStartNocase("nbfi",(*j))){ type = NBFIX; } else if(equalStartNocase("hbon",(*j))){ type = HBOND; } else { report << warning <<"Unknown parameter \'"<<(*j)<<"\' in X-Plor parameter file at line "<<(*line)<<"."<::const_iterator l=j;l != i->end();++l){ definition += (definition.empty() ? "":" ") + (*l); } // Add the type to the corresponding container ... switch(type){ case BOND: { // if (s == "wwdd") // this is not a parameter for an iSG atom type, so ignore it if (s == "wwddd") { string atom1(j[0]); string atom2(j[1]); int l = par.bonds.size()-1; if ( (l < 0 || ((par.bonds[l].atom1 != atom1 || par.bonds[l].atom2 != atom2) && (par.bonds[l].atom1 != atom2 || par.bonds[l].atom2 != atom1)))) { // this is a bond type that we have not seen yet par.bonds.push_back(iSGPAR::Bond(numComp)); l = par.bonds.size() - 1; par.bonds[l].number = par.bonds.size(); par.bonds[l].atom1 = atom1; par.bonds[l].atom2 = atom2; } // end if NOT new bond type statement par.bonds[l].forceConstant[toInt(j[4])] = toReal(j[2]); par.bonds[l].distance[toInt(j[4])] = toReal(j[3]); } // end if (s == "wwddd") statement else if (s != "wwdd" ) { report << warning <<"Unknown bond definition \'"<= 1 string atom1(j[0]); string atom2(j[1]); string atom3(j[2]); string atom4(j[3]); int l = par.dihedrals.size()-1; int Identity = toInt(j[7]); if (l >= 0 && !isCharmm19 && ((par.dihedrals[l].atom1 == atom1 && par.dihedrals[l].atom2 == atom2 && par.dihedrals[l].atom3 == atom3 && par.dihedrals[l].atom4 == atom4) || (par.dihedrals[l].atom1 == atom4 && par.dihedrals[l].atom2 == atom3 && par.dihedrals[l].atom3 == atom2 && par.dihedrals[l].atom4 == atom1))) { // this is a dihedral type that we have already seen // Charmm28 and previous is the same, increase multiplicity par.dihedrals[l].multiplicity[Identity]++; par.dihedrals[l].forceConstant[Identity].push_back(toReal(j[4])); par.dihedrals[l].periodicity[Identity].push_back(toInt(j[5])); par.dihedrals[l].phaseShift[Identity].push_back(toReal(j[6]));} else { // this is a dihedral type that we have not seen yet par.dihedrals.push_back(iSGPAR::Dihedral(numComp)); l = par.dihedrals.size() - 1; par.dihedrals[l].number = par.dihedrals.size(); par.dihedrals[l].atom1 = atom1; par.dihedrals[l].atom2 = atom2; par.dihedrals[l].atom3 = atom3; par.dihedrals[l].atom4 = atom4; par.dihedrals[l].multiplicity[Identity] = 1; par.dihedrals[l].forceConstant[Identity].push_back(toReal(j[4])); par.dihedrals[l].periodicity[Identity].push_back(toInt(j[5])); par.dihedrals[l].phaseShift[Identity].push_back(toReal(j[6])); } // end inner if-else statement } else if (s == "wwwwwddddd") { /* // Charmm19 with multiplicity > 1 // Add the dihedral ... iSGPAR::Dihedral dihedral(par.dihedrals.size()+1,j[0],j[1],j[2],j[3],toReal(j[6]),toInt(j[7]),toReal(j[8])); par.dihedrals.push_back(dihedral); int multiplicity = toInt(j[5]); // ... and the multiplicity if(multiplicity > 1){ for(int m = 1;mbegin(); par.dihedrals[par.dihedrals.size()-1].multiplicity++; par.dihedrals[par.dihedrals.size()-1].forceConstant.push_back(toReal(j[0])); par.dihedrals[par.dihedrals.size()-1].periodicity.push_back(toInt(j[1])); par.dihedrals[par.dihedrals.size()-1].phaseShift.push_back(toReal(j[2])); } } */ report << warning << "Charm19 dihedrals not currently accepted. Ignoring the dihedral definition \'" << definition <<"\' ("<=8?toReal(j[4]):0.0); par.nonbondeds[l].epsilon14[Identity] = (s.size()>=6?toReal(j[3+(isCharmm19?0:2)]):0.0); par.nonbondeds[l].sigma14[Identity] = (s.size()>=6?toReal(j[4+(isCharmm19?0:2)]):0.0)*(isCharmm19?iSGPAR::Nonbonded::SIGMA_CHARMM19_TO_CHARMM28:1.0); par.nonbondeds[l].negative[Identity] = (par.nonbondeds[l].epsilon[Identity] < 0.0); par.nonbondeds[l].vdw[Identity] = (s.size()>=5); par.nonbondeds[l].negative2[Identity] = (par.nonbondeds[l].epsilon14[Identity] < 0.0); } // end else-if statement break; } case NBFIX: { if(s == "wwdddd") par.nbfixs.push_back(iSGPAR::Nbfix(par.nbfixs.size()+1,j[0],j[1],toReal(j[2]),toReal(j[3]),toReal(j[4]),toReal(j[5]))); else if(s == "wwdd") par.nbfixs.push_back(iSGPAR::Nbfix(par.nbfixs.size()+1,j[0],j[1],toReal(j[2]),toReal(j[3]),toReal(j[2]),toReal(j[3]))); else report << warning <<"Unknown nbfix definition \'"<>(iSGPARReader& parReader, iSGPAR& par){ parReader.read(par); return parReader; } } protomol/applications/iSGProtomol-app/io/iSGPARReader.h0100644027616700000500000000735210237151524022433 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ISGPARREADER_H #define ISGPARREADER_H #include "Reader.h" #include "iSGPAR.h" namespace ProtoMol { //_________________________________________________________________iSGPARReader class iSGPARReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: enum PARRecordTypeEnum { UNDEFINED, BOND, ANGLE, DIHEDRAL, IMPROPER, NONBONDED, NBFIX, HBOND }; // Supported and read Charmm/XPLOR types/records //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: explicit iSGPARReader(iSGPAR::CharmmTypeEnum charmmType=iSGPAR::UNDEFINED); explicit iSGPARReader(const std::string& filename, iSGPAR::CharmmTypeEnum charmmType=iSGPAR::UNDEFINED); explicit iSGPARReader(const char* filename, iSGPAR::CharmmTypeEnum charmmType=iSGPAR::UNDEFINED); // Need this implementation, otherwise const char* will be converted to bool or int ... virtual ~iSGPARReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();}; virtual bool open(const std::string& filename){return File::open(filename);}; virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class iSGPAR //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool open(const std::string& filename, iSGPAR::CharmmTypeEnum charmmType); bool open(const char* filename, iSGPAR::CharmmTypeEnum charmmType); bool open(iSGPAR::CharmmTypeEnum charmmType); void setCharmmType(iSGPAR::CharmmTypeEnum charmmType); iSGPAR::CharmmTypeEnum getCharmmTypeDetected() const; void setNumComps(const int C) {numComp = C;} bool read(iSGPAR& par); iSGPAR* orphanPAR(); private: static bool isKeywordCharmm28(const std::string& word); static bool isKeywordCharmm19(const std::string& word); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PAR //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: // operator that puts the info in the PAR file into the iSGPAR contained friend iSGPARReader& operator>>(iSGPARReader& parReader, iSGPAR& par); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: iSGPAR* myPAR; iSGPAR::CharmmTypeEnum myCharmmType; iSGPAR::CharmmTypeEnum myCharmmTypeDetected; int numComp; }; //____________________________________________________________________________INLINES inline void iSGPARReader::setCharmmType(iSGPAR::CharmmTypeEnum charmmType){ myCharmmType = charmmType; myCharmmTypeDetected = iSGPAR::UNDEFINED; } inline iSGPAR::CharmmTypeEnum iSGPARReader::getCharmmTypeDetected() const{ return myCharmmTypeDetected; } inline bool iSGPARReader::open(const char* filename, iSGPAR::CharmmTypeEnum charmmType){ return open(std::string(filename),charmmType); } } #endif /* ISGPARREADER_H */ protomol/applications/iSGProtomol-app/topology/0040755027616700000500000000000010237151524021353 5ustar pbrenne1dipprotomol/applications/iSGProtomol-app/topology/.cvsignore0100644027616700000500000000002610237151524023346 0ustar pbrenne1dipMakefile Makefile.in protomol/applications/protomol-app/0040755027616700000500000000000010237151524017134 5ustar pbrenne1dipprotomol/applications/protomol-app/.cvsignore0100644027616700000500000000006010237151524021125 0ustar pbrenne1dip*.o *.il Makefile.in Makefile protomol ti_files protomol/applications/protomol-app/Makefile.am0100644027616700000500000000255410237151524021173 0ustar pbrenne1dip# -*- makefile -*- # # See the LICENSE file in the top level directory for license # information AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies bin_PROGRAMS = protomol P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories ## ProtoMol protomol_SOURCES = protomol.cpp protomol_DEPENDENCIES = $(P_BASE)/libbase.a $(P_IO)/libio.a $(P_PARALLEL)/libparallel.a $(P_TOPOLOGY)/libtopology.a $(P_FORCES)/libforces.a $(P_IMD)/libimd.a $(P_INTEGRATORS)/libintegrators.a $(P_FRONTEND)/libfrontend.a $(P_FACTORIES)/libfactories.a INCLUDES =-I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) protomol_LDADD =-L$(P_BASE) -L$(P_IO) -L$(P_PARALLEL) -L$(P_TOPOLOGY) -L$(P_FORCES) -L$(P_IMD) -L$(P_INTEGRATORS) -L$(P_FRONTEND) -L$(P_FACTORIES) -lfactories -lfrontend -lintegrators -limd -lforces -ltopology -lparallel -lio -lbase @SOCKET_LIBS@ @FFT_LIBS@ @PNG_LIBS@ SOURCEFILES = $(protomol_SOURCES) #include $(top_srcdir)/Makefile.depend protomol/applications/protomol-app/Makefile.in0100644027616700000500000002420110237151524021175 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # -*- makefile -*- # # See the LICENSE file in the top level directory for license # information SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies bin_PROGRAMS = protomol P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories protomol_SOURCES = protomol.cpp protomol_DEPENDENCIES = $(P_BASE)/libbase.a $(P_IO)/libio.a $(P_PARALLEL)/libparallel.a $(P_TOPOLOGY)/libtopology.a $(P_FORCES)/libforces.a $(P_IMD)/libimd.a $(P_INTEGRATORS)/libintegrators.a $(P_FRONTEND)/libfrontend.a $(P_FACTORIES)/libfactories.a INCLUDES = -I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) protomol_LDADD = -L$(P_BASE) -L$(P_IO) -L$(P_PARALLEL) -L$(P_TOPOLOGY) -L$(P_FORCES) -L$(P_IMD) -L$(P_INTEGRATORS) -L$(P_FRONTEND) -L$(P_FACTORIES) -lfactories -lfrontend -lintegrators -limd -lforces -ltopology -lparallel -lio -lbase @SOCKET_LIBS@ @FFT_LIBS@ @PNG_LIBS@ SOURCEFILES = $(protomol_SOURCES) subdir = applications/protomol-app mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = bin_PROGRAMS = protomol$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) am_protomol_OBJECTS = protomol.$(OBJEXT) protomol_OBJECTS = $(am_protomol_OBJECTS) protomol_LDFLAGS = DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ DIST_SOURCES = $(protomol_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(protomol_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign applications/protomol-app/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ rm -f $(DESTDIR)$(bindir)/$$f; \ done clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) protomol$(EXEEXT): $(protomol_OBJECTS) $(protomol_DEPENDENCIES) @rm -f protomol$(EXEEXT) $(CXXLINK) $(protomol_LDFLAGS) $(protomol_OBJECTS) $(protomol_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: $(mkinstalldirs) $(DESTDIR)$(bindir) install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-binPROGRAMS install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-binPROGRAMS uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic distclean distclean-compile distclean-generic \ distclean-tags distdir dvi dvi-am info info-am install \ install-am install-binPROGRAMS install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/applications/protomol-app/protomol.cpp0100644027616700000500000004652410237151524021523 0ustar pbrenne1dip#include "ConfigurationReader.h" #include "InputPosVel.h" #include "PARReader.h" #include "PSFReader.h" #include "TimerStatistic.h" #include "TopologyFactory.h" #include "ForceFactory.h" #include "IntegratorFactory.h" #include "OutputFactory.h" #include "registerForceExemplars.h" #include "registerIntegratorExemplars.h" #include "registerTopologyExemplars.h" #include "registerOutputExemplars.h" #include "OutputCollection.h" #include "Parameter.h" #include "ScalarStructure.h" #include "Parallel.h" #include "ModifierRemoveLinearMomentum.h" #include "ModifierRemoveAngularMomentum.h" #include "ModifierShake.h" #include "ModifierRattle.h" #include "buildTopology.h" #include "pmconstants.h" #include "inputValueDefinitions.h" #include "mathutilities.h" #include "parseCommandLine.h" #include "protomol.h" #include "stringutilities.h" #include "systemutilities.h" #include "topologyutilities.h" using namespace ProtoMol; using namespace ProtoMol::Report; using namespace ProtoMol::Constant; using std::endl; using std::string; using std::vector; //_____________________________________________________________________ protomol int main(int argc, char **argv) { // Redirect all output to a file //std::ofstream out("out.txt"); //report.setStream(&(out)); // Redirect all output to std::cout //report.setStream(&(std::cout)); Parallel::init(argc,argv); TimerStatistic::timer[TimerStatistic::WALL].start(); report << plain < > args = parseCommandLine(argc,argv,&config,registerForceExemplars); if(config.set(InputConfig::keyword,args)){ // Read config file ConfigurationReader configReader; if(!configReader.open(config[InputConfig::keyword])) report << error << "Can't open configuration file \'"<> config)) report << error << "Could not read configuration file \'"< pdbAtoms; if(reader.tryFormat(InputPosVelType::PDB)){ PDB pdb; if(!(reader >> pdb)) report << error << "Could not parse PDB position file \'"<> positions)) report << error << "Could not parse position file \'"<> velocities)) report << error << "Could not parse velocity file \'"<> psf)) report << error << "Could not parse PSF file \'"<> par)) report << error << "Could not parse PAR file \'"< parameters = prototype->getDefaults(positions); for(unsigned int i=0;iminimalMolecularDistances = topo->checkMoleculePairDistances(positions); if((bool)config[InputReducedImage::keyword] && !topo->minimalMolecularDistances){ Vector3DBlock tmp(positions); topo->minimalImage(tmp); if(topo->checkMoleculePairDistances(tmp)){ positions = tmp; report << plain <<"Fixed minimal molecule distances."<minimalMolecularDistances = true; } else { report << plain <<"Could not fixed minimal molecule distances."<minimalMolecularDistances = false; } } // Fix velocities if(!config.valid(InputVelocities::keyword)){ randomVelocity(config[InputTemperature::keyword],topo,&velocities,config[InputSeed::keyword]); report << plain << "Random temperature : "<= 0){ report << plain << "Removed linear momentum: " <= 0){ report << plain << "Removed angular momentum : " < 0){ integrator->bottom()->adoptPreDriftOrNextModifier(new ModifierRemoveLinearMomentum(config[InputRemoveLinearMomentum::keyword])); report << plain << "Removing linear momentum with STS frequency "< 0){ integrator->bottom()->adoptPreDriftOrNextModifier(new ModifierRemoveAngularMomentum(config[InputRemoveAngularMomentum::keyword])); report << plain << "Removing angular momentum with STS frequency "< 0.0 && (int)config[InputShakeMaxIter::keyword] > 0) { // initialize the SHAKE modifier integrator->bottom()->adoptPostDriftOrNextModifier(integrator->bottom()->createShakeModifier((Real)config[InputShakeEpsilon::keyword], (int)config[InputShakeMaxIter::keyword])); report << plain << "Shake with epsilon "<< config[InputShakeEpsilon::keyword] <<", max "<<(int)config[InputShakeMaxIter::keyword]<<" iteration(s)."< 0.0 && (int)config[InputRattleMaxIter::keyword] > 0) { // initialize the RATTLE modifier integrator->bottom()->adoptPostStepModifier(integrator->bottom()->createRattleModifier((Real)config[InputRattleEpsilon::keyword], (int)config[InputRattleMaxIter::keyword])); report << plain << "Rattle with epsilon "<< config[InputRattleEpsilon::keyword] <<", max "<<(int)config[InputRattleMaxIter::keyword]<<" iteration(s)."<time = (Real)config[InputFirststep::keyword]*integrator->getTimestep(); integrator->initialize(topo,&positions,&velocities,&scalar); outputs->initialize(&config,integrator,topo,&positions,&velocities,&scalar); outputs->addToCache(pdbAtoms); outputs->addToCache(psf); outputs->addToCache(par); // Print // Parallel if(Parallel::isMPI) report << plain << PROTOMOL_HR << "\n" << "Using MPI with "<(outputs)->begin();itr!=const_cast(outputs)->end();itr++){ report << plain << "Output "<<(*itr)->getId(); vector parameters = (*itr)->getParameters(); for(unsigned int i=0;i inter = integrator->getIntegratorDefinitionAll(); report << plain << InputIntegrator::keyword << " {"<=0;i--){ report << Constant::PRINTINDENT<<"Level "<print(&positions) <run(step); int inc = outputs->getNext()-step; inc = std::min(last,step+inc)-step; step += inc; TimerStatistic::timer[TimerStatistic::INTEGRATOR].start(); integrator->run(inc); TimerStatistic::timer[TimerStatistic::INTEGRATOR].stop(); } outputs->finalize(last); TimerStatistic::timer[TimerStatistic::RUN].stop(); // Clean up delete topo; delete integrator; delete outputs; TimerStatistic::timer[TimerStatistic::WALL].stop(); report << allnodesserial << plain <<"Timing" << (Parallel::isParallel()? string(" ("+toString(Parallel::getId())+")"): string("")) <<" : "< #include #if defined(HAVE_OPENGL) || defined(HAVE_GLUT) #include #endif using std::ostream; using std::vector; using std::string; using std::sort; using namespace ProtoMol; using namespace ProtoMol::Report; namespace ProtoMol { #if defined(HAVE_OPENGL) || defined(HAVE_GLUT) static GLint bufferSize = 0; //_____________________________________________________________________ Feedback3Dcolor struct Feedback3Dcolor { GLfloat x; GLfloat y; GLfloat z; GLfloat red; GLfloat green; GLfloat blue; GLfloat alpha; }; //_____________________________________________________________________ DepthIndex struct DepthIndex { DepthIndex():ptr(NULL),depth(0.0){} DepthIndex(GLfloat *a, GLfloat b):ptr(a),depth(b){} GLfloat *ptr; GLfloat depth; bool operator<(const DepthIndex& a2) const{ return (a2.depth < depth); } }; //_____________________________________________________________________ print3DcolorVertex static string print3DcolorVertex(GLint size, GLint * count, GLfloat * buffer){ string res = " "; for (unsigned int i = 0; i < 7; i++) { res += " "+toString(buffer[size - (*count)],4,2); *count = *count - 1; } return res; } #endif //_____________________________________________________________________ openglToEPS unsigned int openglToPlain(ostream& output,void (*display)()){ #if defined(HAVE_OPENGL) || defined(HAVE_GLUT) vector feedbackBuffer(bufferSize); while(true){ glFeedbackBuffer(feedbackBuffer.size(), GL_3D_COLOR, &(feedbackBuffer[0])); glRenderMode(GL_FEEDBACK); display(); GLint returned = glRenderMode(GL_RENDER); if(returned > 0){ feedbackBuffer.resize(returned); break; } bufferSize += 100*1024; feedbackBuffer.resize(bufferSize); } GLint size = feedbackBuffer.size(); GLfloat* buffer = &(feedbackBuffer[0]); int token, nvertices; GLint count = size; while (count) { token = static_cast(buffer[size - count]); count--; switch (token) { case GL_PASS_THROUGH_TOKEN: output << "GL_PASS_THROUGH_TOKEN\n"; output << " "<(buffer[size - count]); count--; for (; nvertices > 0; nvertices--) { output << print3DcolorVertex(size, &count, buffer) <<"\n"; } default: break; } } count = size; #else unsigned int count = 0; #endif return count; } //_____________________________________________________________________ openglToEPS unsigned int openglToEPS(ostream& output,void (*display)()){ unsigned int count = 0; #if defined(HAVE_OPENGL) || defined(HAVE_GLUT) // vector feedbackBuffer(bufferSize); while(true){ glFeedbackBuffer(feedbackBuffer.size(), GL_3D_COLOR, &(feedbackBuffer[0])); glRenderMode(GL_FEEDBACK); (*display)(); GLint returned = glRenderMode(GL_RENDER); if(returned > 0){ feedbackBuffer.resize(returned); break; } bufferSize += 100*1024; feedbackBuffer.resize(bufferSize); } GLfloat clearColor[4], viewport[4]; GLfloat lineWidth; GLfloat pointSize; // Read back a bunch of OpenGL state to help make the EPS // consistent with the OpenGL clear color, line width, point // size, and viewport. glGetFloatv(GL_VIEWPORT, viewport); glGetFloatv(GL_COLOR_CLEAR_VALUE, clearColor); glGetFloatv(GL_LINE_WIDTH, &lineWidth); glGetFloatv(GL_POINT_SIZE, &pointSize); // Emit EPS header. output << "%!PS-Adobe-2.0 EPSF-2.0\n"; // Notice %% for a single % in the fprintf calls. output << "%%Creator: ProtoMol (using OpenGL feedback)\n"; output << "%%BoundingBox: " << viewport[0] << " " << viewport[1] << " " << viewport[2] << " " << viewport[3] << "\n"; output << "%%EndComments\n"; output << "\n"; output << "gsave\n"; output << "\n"; // Output Frederic Delhoume's "gouraudtriangle" PostScript fragment. output << "% the gouraudtriangle PostScript fragement below is free\n"; output << "% written by Frederic Delhoume (delhoume@ilog.fr)\n"; output << "/threshold " << Constant::EPS_GOURAUD_THRESHOLD << " def\n" << "/bd{bind def}bind def /triangle { aload pop setrgbcolor aload pop 5 3\n" << "roll 4 2 roll 3 2 roll exch moveto lineto lineto closepath fill } bd\n" << "/computediff1 { 2 copy sub abs threshold ge {pop pop pop true} { exch 2\n" << "index sub abs threshold ge { pop pop true} { sub abs threshold ge } ifelse\n" << "} ifelse } bd /computediff3 { 3 copy 0 get 3 1 roll 0 get 3 1 roll 0 get\n" << "computediff1 {true} { 3 copy 1 get 3 1 roll 1 get 3 1 roll 1 get\n" << "computediff1 {true} { 3 copy 2 get 3 1 roll 2 get 3 1 roll 2 get\n" << "computediff1 } ifelse } ifelse } bd /middlecolor { aload pop 4 -1 roll\n" << "aload pop 4 -1 roll add 2 div 5 1 roll 3 -1 roll add 2 div 3 1 roll add 2\n" << "div 3 1 roll exch 3 array astore } bd /gouraudtriangle { computediff3 { 4\n" << "-1 roll aload 7 1 roll 6 -1 roll pop 3 -1 roll pop add 2 div 3 1 roll add\n" << "2 div exch 3 -1 roll aload 7 1 roll exch pop 4 -1 roll pop add 2 div 3 1\n" << "roll add 2 div exch 3 -1 roll aload 7 1 roll pop 3 -1 roll pop add 2 div 3\n" << "1 roll add 2 div exch 7 3 roll 10 -3 roll dup 3 index middlecolor 4 1 roll\n" << "2 copy middlecolor 4 1 roll 3 copy pop middlecolor 4 1 roll 13 -1 roll\n" << "aload pop 17 index 6 index 15 index 19 index 6 index 17 index 6 array\n" << "astore 10 index 10 index 14 index gouraudtriangle 17 index 5 index 17\n" << "index 19 index 5 index 19 index 6 array astore 10 index 9 index 13 index\n" << "gouraudtriangle 13 index 16 index 5 index 15 index 18 index 5 index 6\n" << "array astore 12 index 12 index 9 index gouraudtriangle 17 index 16 index\n" << "15 index 19 index 18 index 17 index 6 array astore 10 index 12 index 14\n" << "index gouraudtriangle 18 {pop} repeat } { aload pop 5 3 roll aload pop 7 3\n" << "roll aload pop 9 3 roll 4 index 6 index 4 index add add 3 div 10 1 roll 7\n" << "index 5 index 3 index add add 3 div 10 1 roll 6 index 4 index 2 index add\n" << "add 3 div 10 1 roll 9 {pop} repeat 3 array astore triangle } ifelse } bd"; output << "\n" << lineWidth << " setlinewidth\n"; // Clear the background like OpenGL had it. output << clearColor[0] << " " << clearColor[1] << " " << clearColor[2] << " setrgbcolor\n"; output << viewport[0] << " " << viewport[1] << " " << viewport[2] << " " << viewport[3] << " rectfill\n\n"; // Collect all primitives Feedback3Dcolor *vertex; vector prims; GLfloat* loc = &(feedbackBuffer[0]); GLfloat* end = loc + feedbackBuffer.size(); while (loc < end) { DepthIndex item; double depthSum; int nvertices; double area; item.ptr = loc; // Save this primitive's location. int token = static_cast(*loc); loc++; count++; switch (token) { case GL_LINE_TOKEN: case GL_LINE_RESET_TOKEN: vertex = (Feedback3Dcolor*) loc; depthSum = vertex[0].z + vertex[1].z; item.depth = depthSum / 2.0; prims.push_back(item); loc += 14; break; case GL_POLYGON_TOKEN: nvertices = static_cast(*loc); loc++; vertex = (Feedback3Dcolor*) loc; depthSum = vertex[0].z; area = 0.0; for(int i = 1; i < nvertices; i++) { depthSum += vertex[i].z; area += (vertex[0].y- vertex[i-1].y)*(vertex[i].x-vertex[i-1].x)-(vertex[0].x- vertex[i-1].x)*(vertex[i].y-vertex[i-1].y); } item.depth = depthSum / nvertices; // Only add if triangle is visible and not degenerated if(area > 0.04) prims.push_back(item); loc += (7 * nvertices); break; case GL_POINT_TOKEN: vertex = (Feedback3Dcolor*) loc; item.depth = vertex[0].z; prims.push_back(item); loc += 7; break; default: report << recoverable << token << " - opps a GL token I do not understand."<(*loc); loc++; switch (token) { case GL_LINE_RESET_TOKEN: case GL_LINE_TOKEN: vertex = (Feedback3Dcolor*) loc; dr = vertex[1].red - vertex[0].red; dg = vertex[1].green - vertex[0].green; db = vertex[1].blue - vertex[0].blue; if (dr != 0 || dg != 0 || db != 0) { // Smooth shaded line. dx = vertex[1].x - vertex[0].x; dy = vertex[1].y - vertex[0].y; distance = sqrt(dx * dx + dy * dy); absR = fabs(dr); absG = fabs(dg); absB = fabs(db); colormax = std::max(absR, std::max(absG, absB)); steps = static_cast(std::max(1.0, static_cast(colormax * distance) * Constant::EPS_SMOOTH_LINE_FACTOR)); xstep = dx / steps; ystep = dy / steps; rstep = dr / steps; gstep = dg / steps; bstep = db / steps; xnext = vertex[0].x; ynext = vertex[0].y; rnext = vertex[0].red; gnext = vertex[0].green; bnext = vertex[0].blue; // Back up half a step; we want the end points to be // exactly the their endpoint colors. xnext -= xstep / 2.0; ynext -= ystep / 2.0; rnext -= rstep / 2.0; gnext -= gstep / 2.0; bnext -= bstep / 2.0; } else { // Single color line. steps = 0; } output << vertex[0].red << " " << vertex[0].green << " " << vertex[0].blue << " setrgbcolor\n"; output << vertex[0].x << " " << vertex[0].y << " moveto\n"; for(int i = 0; i < steps; i++) { xnext += xstep; ynext += ystep; rnext += rstep; gnext += gstep; bnext += bstep; output << xnext << " " << ynext << " lineto stroke\n"; output << rnext << " " << gnext << " " << bnext << " setrgbcolor\n"; output << xnext << " " << ynext << " moveto\n"; } output << vertex[1].x << " " << vertex[1].y << " lineto stroke\n"; loc += 14; // Each vertex element in the feedback // buffer is 7 GLfloats. break; case GL_POLYGON_TOKEN: nvertices = static_cast(*loc); loc++; vertex = (Feedback3Dcolor*) loc; if (nvertices > 0) { red = vertex[0].red; green = vertex[0].green; blue = vertex[0].blue; bool smooth = (vertex[0].alpha >= 1.0); for(int i = 1; i < nvertices; i++) { if (vertex[0].alpha < 1.0 || red != vertex[i].red || green != vertex[i].green || blue != vertex[i].blue) { smooth = true; break; } } if (smooth) { // Smooth shaded polygon; varying colors at vetices. //int triOffset; // Break polygon into "nvertices-2" triangle fans. for(int i = 0; i < nvertices - 2; i++) { //triOffset = i * 7; output << "[ " << vertex[0].x << " " << vertex[i + 1].x << " " << vertex[i + 2].x << " " << vertex[0].y << " " << vertex[i + 1].y << " " << vertex[i + 2].y << " ] "; output << "[ " << vertex[0].red << " " << vertex[0].green << " " << vertex[0].blue << " ] " << "[ " << vertex[i + 1].red << " " << vertex[i + 1].green << " " << vertex[i + 1].blue << " ] " << "[ " << vertex[i + 2].red << " " << vertex[i + 2].green << " " << vertex[i + 2].blue << " ] gouraudtriangle\n"; } } else { // Flat shaded polygon; all vertex colors the same. output << "newpath\n"; output << red << " " << green << " " << blue << " setrgbcolor\n"; // Draw a filled triangle. output << vertex[0].x << " " << vertex[0].y << " moveto\n"; for(int i = 1; i < nvertices; i++) { output << vertex[i].x << " " << vertex[i].y << " lineto\n"; } output << "closepath fill\n\n"; } } loc += nvertices * 7; // Each vertex element in the // feedback buffer is 7 GLfloats. break; case GL_POINT_TOKEN: vertex = (Feedback3Dcolor*) loc; output << vertex[0].red << " " << vertex[0].green << " " << vertex[0].blue << " setrgbcolor\n"; output << vertex[0].x << " " << vertex[0].y << " " << pointSize / 2.0 << " 0 360 arc fill\n\n"; loc += 7; // Each vertex element in the feedback // buffer is 7 GLfloats. break; default: report << recoverable << token << " - opps a GL token I do not understand"< x, y, width, height glGetIntegerv(GL_VIEWPORT, viewport); GLint width = viewport[2]-viewport[0]; GLint height = viewport[3]-viewport[1]; long size = width*height*3; GLfloat* pixels = new GLfloat[size]; GLint drawBuffer; glGetIntegerv(GL_DRAW_BUFFER, &drawBuffer); glReadBuffer((GLenum)drawBuffer); // read from correct buffer glReadPixels(viewport[0], viewport[1], width, height, GL_RGB, GL_FLOAT, pixels); ppm.resize(width,height); GLfloat* p = pixels; for(int j=0;j= 1.0){ c[k] = 255U; } else { c[k] = static_cast((*p)*255); } p++; } ppm.set(i,j,c[0],c[1],c[2]); } } delete [] pixels; #else ppm.resize(0,0); #endif } //_____________________________________________________________________ openglToPGM void openglToPGM(PGM& pgm){ #if defined(HAVE_OPENGL) || defined(HAVE_GLUT) GLint viewport[4]; // -> x, y, width, height glGetIntegerv(GL_VIEWPORT, viewport); GLint width = viewport[2]-viewport[0]; GLint height = viewport[3]-viewport[1]; long size = width*height*3; GLfloat* pixels = new GLfloat[size]; GLint drawBuffer; glGetIntegerv(GL_DRAW_BUFFER, &drawBuffer); glReadBuffer((GLenum)drawBuffer); // read from correct buffer glReadPixels(viewport[0], viewport[1], width, height, GL_RGB, GL_FLOAT, pixels); pgm.resize(width,height); GLfloat* p = pixels; for(int j=0;j= 1.0){ c += 255; } else if((*p) > 0.0){ c += (*p)*255; } p++; } pgm.set(i,j,static_cast(c/3)); } } delete [] pixels; #else pgm.resize(0,0); #endif } } protomol/applications/xyzviz-app/openglutilities.h0100644027616700000500000000054510237151524022236 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OPENGLUTILITIES_H #define OPENGLUTILITIES_H #include #include "PPM.h" #include "PGM.h" namespace ProtoMol { unsigned int openglToEPS(std::ostream& output,void (*display)()); unsigned int openglToPlain(std::ostream& output,void (*display)()); void openglToPPM(PPM& ppm); void openglToPGM(PGM& pgm); } #endif protomol/applications/xyzviz-app/xyzviz.cpp0100644027616700000500000011165410237151524020740 0ustar pbrenne1dip#ifndef HAVE_GLUT int main(int argc, char **argv) { return 0; } #else /* g++ g++ -I/usr/X11R6/include -L/usr/X11R6/lib -I/Home/romhegg/matthey/packages/glut-3.7/include -L/Home/romhegg/matthey/packages/glut-3.7/lib/glut -Wall xyzviz.cpp -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -lglut -lGLU -lGL -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi -lXext -lX11 -lm -o xyzviz g++ -Wall xyzviz.cpp -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -I$HOME/include/ -L$HOME/lib/ -L/usr/X11R6/lib -lglut -lGLU -lGL -lm -lXmu -lXi -lX11 -o xyzviz xlC xyzviz.cpp -O2 -I/usr/lpp/OpenGL/include/ -L/usr/lpp/OpenGL/lib/ -lglut -lGLU -lGL -lm -lXmu -lXi -lX11 -o xyzviz */ #include "DCDTrajectoryReader.h" #include "PPMWriter.h" #include "PGMWriter.h" #include "PDBReader.h" #include "XYZBinReader.h" #include "XYZReader.h" #include "XYZTrajectoryReader.h" #include "mathutilities.h" #include "systemutilities.h" #include "Report.h" #include "Timer.h" #include "openglutilities.h" #include "Matrix3by3.h" #include #include #include #include #include #include #include #include #include #include using namespace ProtoMol; using namespace ProtoMol::Report; using std::vector; using std::string; using std::map; //_____________________________________________________________________ Opaque struct Opaque { Opaque():i(0),x(0.0),y(0.0),z(0.0),o(0.0){} Opaque(int a, Vector3D b, double c):i(a),x(b.x),y(b.y),z(b.z),o(c){} int i; double x,y,z,o; }; //_____________________________________________________________________ Feedback3Dcolor struct Feedback3Dcolor { GLfloat x; GLfloat y; GLfloat z; GLfloat red; GLfloat green; GLfloat blue; GLfloat alpha; }; //_____________________________________________________________________ DepthIndex struct DepthIndex { DepthIndex():ptr(NULL),depth(0.0){} DepthIndex(GLfloat *a, GLfloat b):ptr(a),depth(b){} GLfloat *ptr; GLfloat depth; }; //_____________________________________________________________________ Enum enum MENU {ANIM_IDLE=-1, PRINT_BUFFER=0, SAVE_FRAMEBUFFER, SAVE_FRAMEBUFFER_EPS, QUIT, TOGGLE_VIEW_CUBE, TOGGLE_PLANE_ROTATION, POLYGON_MODE, TOGGLE_LIGHTING, ANIM_SAVE, ANIM_ON, ANIM_OFF}; enum POLYMODE {FILL=0, LINE, POINT, LAST}; // Just for modulo //_____________________________________________________________________ Forward declaration static bool cmpOpaque (const Opaque& a1, const Opaque& a2); static bool nextFrame(); static void animationCallback(int value); static void bmovieCallback(int); static void bmovieCallback(long value); static void display(void); static void doAnimation(bool flag); static void frameRateAnimationCallback(int value); static void getFrame(int i); static void keyboardCallback(unsigned char key, int x, int y); static void mainMenuCallback(int value); static void motion(int x, int y); static void mouse(int button, int state, int x, int y); static void parseCmdLine(int argc, char* argv[], string& inputname, string& outputname, double& scale, double& size, int& d, double& from, double& to, Vector3D& rot, int& tracer, int& startFieldOfView, double& fieldOfView, GLfloat& angp, GLfloat& angp2, bool& batch, double& dfr); static void readXYZ(const string& inputname, const Vector3D& rot, int tracer); static void reshape(int w, int h); static void saveFramebufferEPSToFile(); static void saveFramebufferToFile(); static void startAnimation(); static void stopAnimation(); static void timerCallback(int value); static void timerCallback(long value); static void timerIdleCallback(); static void updateLighting(); static void updatePolygonMode(); static void usage(char* name); static void verbose(); static void visibleParticlesCallback(int value); static double brightness(); static Timer timer; //_____________________________________________________________________ Statics static bool moving=false; static GLfloat angle = 0; // in degrees static GLfloat angle2 = 0; // in degrees static GLfloat anglePlane = 0; // in degrees static GLfloat anglePlane2 = 0; // in degrees static int startx=0; static int starty=0; static bool movingFieldOfView=false; static int startFieldOfView=0; static double fieldOfView = 80; static double xL=0; static double yL=0; static double zL=0; static double xT=0; static double yT=0; static double zT=0; static double maxL=0; static double scale = 1.0; static double opaque = 0.6; static bool viewCube = true; static bool planeRotation = false; static GLsizei winX = 600; static GLsizei winY = 600; static double radius = 0; static int currentFrame = 0; static POLYMODE polygonMode = FILL; static bool lighting = true; static GLint bufferSize = 0; static bool batch = false; static double dFocusRadius = 0.0; static int subdivisions = 10; static GLfloat lineWidth = 1.0; static GLfloat pointSize = 1.0; static bool saveAnimFrame = false; static int timeout = -1; static int frame = 0; static int frameRate = -1; static int frameStep = 1; static int totalFrames = 1; static bool movie = false; static int animation; static int mainMenu; static const int EPSILON_TIME = 5; // [ms] static int frameTimeN = 0; static double from = 0.0; static double to = 0.0; static string outputname = "Noname"; static vector r; static vector rTmp; static vector rAll; static vector name; static map colorMap; static map color2index; static vector index2color; static map colorVisible; static vector opaqueSort; //_____________________________________________________________________ brightness double brightness(){ GLint viewport[4]; // -> x, y, width, height glGetIntegerv(GL_VIEWPORT, viewport); GLint width = viewport[2]-viewport[0]; GLint height = viewport[3]-viewport[1]; long size = width*height*3; GLfloat* pixels = new GLfloat[size]; GLint drawBuffer; glGetIntegerv(GL_DRAW_BUFFER, &drawBuffer); glReadBuffer((GLenum)drawBuffer); // read from correct buffer glReadPixels(viewport[0], viewport[1], width, height, GL_RGB, GL_FLOAT, pixels); double count = 0.0; for(long i=0;i a2.o) return true; if(a1.o < a2.o) return false; if(a1.z < a2.z) return true; return false; } //_____________________________________________________________________ saveFramebufferEPSToFile void saveFramebufferEPSToFile(){ char postFix[20]; sprintf(postFix,".%06d.eps",currentFrame); string filename = outputname + string(postFix); std::ofstream output(filename.c_str(), std::ios::out); if (!output){ report << recoverable << "Attempt to open EPS file \'" << filename << "\' for output failed."< 0.0){ PGMWriter writer(filename); PGM pgm; openglToPGM(pgm); writer << pgm; } else { PPMWriter writer(filename); PPM ppm; openglToPPM(ppm); writer << ppm; } report << plain << "PPM \'" << filename << "\' created, frame "< trajectory; // PDB if(PDBReader(inputname).tryFormat()){ PDBReader reader(inputname); PDB tmp; if(!(reader >> tmp)) report << error << "Could not read PDB file \'"<> xyz)) report << error << "Could not read XYZ file \'"<> xyz)) report << error << "Could not read binary XYZ file \'"<> xyz)){ trajectory.push_back(xyz); } //const int n = (argc >1 ? atoi(argv[2]):0); } // Trajectory XYZ else if(XYZTrajectoryReader(inputname).tryFormat()){ XYZTrajectoryReader reader(inputname); while((reader >> xyz)){ trajectory.push_back(xyz); } } else if(!isAccessible(inputname)){ report << error<< "Can not open \'"< 1); totalFrames = trajectory.size(); vector colors; if(from < to || dFocusRadius > 0){ colors.push_back(Vector3D(0.0,0.0,0.0)); } else { colors.push_back(Vector3D(1.0,0.0,0.0)); colors.push_back(Vector3D(0.0,1.0,0.0)); colors.push_back(Vector3D(0.0,0.0,1.0)); colors.push_back(Vector3D(0.0,1.0,1.0)); colors.push_back(Vector3D(1.0,1.0,0.0)); colors.push_back(Vector3D(1.0,0.0,1.0)); colors.push_back(Vector3D(0.0,0.0,0.0)); colors.push_back(Vector3D(0.7,0.7,0.7)); } colorMap.clear(); color2index.clear(); index2color.clear(); colorVisible.clear(); r.clear(); rAll.clear(); Matrix3by3 mat; mat.rotate(rot,Vector3D(0.0,0.0,1.0)); Vector3D a,b; for(unsigned int i=0;ib.x)) b.x=x; if(i==0&&(j==0||y>b.y)) b.y=y; if(i==0&&(j==0||z>b.z)) b.z=z; if(tracer > 1 && (i + (trajectory[0].size()%tracer)) % tracer == 0) tempstr += "-Tracer"; name.push_back(tempstr); rAll.push_back(Vector3D(x,y,z)); if(colorMap.find(tempstr) == colorMap.end()){ int index = colorMap.size() % colors.size(); colorMap[tempstr]=colors[index]; color2index[tempstr]=index; index2color.push_back(tempstr); colorVisible[index]=true; } } } report << endr; xL = b.x-a.x; yL = b.y-a.y; zL = b.z-a.z; xT = a.x; yT = a.y; zT = a.z; maxL = std::max(xL,std::max(yL,zL)); for(unsigned int i = 0; i < rAll.size(); i++){ rAll[i].x += xT; rAll[i].y += yT; rAll[i].z += zT; } r.resize(trajectory[0].size()); radius = pow(maxL*maxL*maxL/r.size(),1.0/3.0)/10.0*scale; getFrame(0); } //_____________________________________________________________________ parseCmdLine void parseCmdLine(int argc, char* argv[], string& inputname, string& outputname, double& scale, double& size, int& d, double& f, double& t, Vector3D& rot, int& tracer, int& startview, double& fov, GLfloat& angp, GLfloat& angp2, bool& batch, double& dfr){ if (argc < 2 || (argc >= 2 && (string(argv[1]) =="-h" || string(argv[1]) =="--help" ))){ usage(argv[0]); exit(0); } int cur = 1; while (cur<(argc-1) && argv[cur][0]=='-') { string str(argv[cur]); if (str == "-scale") { scale = atof(argv[++cur]); cur++; continue; } if (str == "-plane" && cur<(argc-2)) { f = atof(argv[++cur]); t = atof(argv[++cur]); cur++; continue; } if (str == "-view" && cur<(argc-2)) { startview = atoi(argv[++cur]); fov = atof(argv[++cur]); cur++; continue; } if (str == "-angplane" && cur<(argc-2)) { angp = atof(argv[++cur]); angp2 = atof(argv[++cur]); cur++; continue; } if (str == "-dfradius" && cur<(argc-1)) { dfr = atof(argv[++cur]); cur++; continue; } if (str == "-batch") { batch = true; cur++; continue; } if (str == "-size") { size = atof(argv[++cur]); cur++; continue; } if (str == "-tracer") { tracer = atoi(argv[++cur]); cur++; continue; } if (str == "-subdivisions") { d = atoi(argv[++cur]); cur++; continue; } if (str == "-z" || str == "-001"){ rot = Vector3D(0,0,1); cur++; continue; } if (str == "-y" || str == "-010"){ rot = Vector3D(0,1,0); cur++; continue; } if (str == "-x" || str == "-100"){ rot = Vector3D(1,0,0); cur++; continue; } if (str == "-xy" || str == "-110"){ rot = Vector3D(1,1,0); cur++; continue; } if (str == "-xz" || str == "-101"){ rot = Vector3D(1,0,1); cur++; continue; } if (str == "-yz" || str == "-011"){ rot = Vector3D(0,1,1); cur++; continue; } if (str == "-xyz" || str == "-111"){ rot = Vector3D(1,1,1); cur++; continue; } if (str == "-rot") { rot.x = atof(argv[++cur]); rot.y = atof(argv[++cur]); rot.z = atof(argv[++cur]); cur++; continue; } break; } inputname = string(argv[cur++]); if (cur < argc){ outputname = string(argv[cur]); } } //_____________________________________________________________________ usage void usage(char* name){ report << plain << "Usage: " << name << " [-h][--help] [-scale ] [-plane [-movie] [-subdivisions ] [-size ] [-x][-y][-z][-xy][-xz][-yz][-xyz][-rot ][-tracer ] inputname [outputname]\n" << " where:\n" << " -h or --help : This help output\n" << " -scale : (optional) sphere scaling factor\n" << " -subdivisions : (optional) number of subdivisions around/anlong the Z axis for sphere\n" << " -size : (optional) point size and line width\n" << " -movie : (optional) for XYZ trajectory input\n" << " -plane : (optional) z-plane projection\n" << " -x : (optional) projection axis\n" << " -y : (optional) projection axis\n" << " -z : (optional) projection axis\n" << " -xy : (optional) projection axis\n" << " -xz : (optional) projection axis\n" << " -yz : (optional) projection axis\n" << " -xyz : (optional) projection axis\n" << " -rot : (optional) rotate to (0,0,1)\n" << " -tracer : (optional) color every n'th differently\n" << " inputname : filename of input\n" << " outputname : (optional) filename of EPS/PPM output"<= to && dFocusRadius <= 0.0){ glPushMatrix(); glTranslatef(r[n].x, r[n].y, r[n].z); glColor4f(colorMap[name[n]].x, colorMap[name[n]].y, colorMap[name[n]].z, opaque); glutSolidSphere(radius, subdivisions, subdivisions); glPopMatrix(); } else { double x = r[n].x-xT; double y = r[n].y-yT; double z = r[n].z-zT; double a1=cos(anglePlane/180.0*M_PI); double a2=sin(anglePlane/180.0*M_PI); double b1=cos(anglePlane2/180.0*M_PI); double b2=sin(anglePlane2/180.0*M_PI); double u = a1*x + a2*b1*y -a2*b2*z; double v = -a2*x + a1*b1*y -a1*b2*z; double w = -b2*y + b1*z; x = u+xT; y = v+yT; z = w+zT; if(dFocusRadius > 0.0){ double op = 1.0/(1.0+fact*z*z); glPushMatrix(); glTranslatef(x, y, z); glColor4f(colorMap[name[n]].x, colorMap[name[n]].y, colorMap[name[n]].z, opaque*op); glutSolidSphere(radius/sqrt(op), subdivisions, subdivisions); glPopMatrix(); } else if(z >= from && z <= to){ double op = z-from; op = 1.0-fabs(2.0*op/(to-from)-1.0); //std::cerr <= to && dFocusRadius <= 0.0){ opaqueSort[count]= Opaque(n,r[n],1.0); ++count; } else { // Edit here double x = r[n].x-xT; double y = r[n].y-yT; double z = r[n].z-zT; double u,v; u = y*cos(anglePlane2/180.0*M_PI) - z*sin(anglePlane2/180.0*M_PI); v = z*cos(anglePlane2/180.0*M_PI) + y*sin(anglePlane2/180.0*M_PI); y = u; z = v; u = x*cos(anglePlane/180.0*M_PI) - z*sin(anglePlane/180.0*M_PI); v = z*cos(anglePlane/180.0*M_PI) + x*sin(anglePlane/180.0*M_PI); x = u; z = v; // double a1=cos(anglePlane/180.0*M_PI); // double a2=sin(anglePlane/180.0*M_PI); // double b1=cos(anglePlane2/180.0*M_PI); // double b2=sin(anglePlane2/180.0*M_PI); // double u = b1*x + b2*y ; // double v = -a1*b2*x + a1*b1*y + a2*z; // double w = a2*b2*x - a2*b1*y + a1*z; // x = u; // y = v; // z = w; double z0 = z; x += xT; y += yT; z += zT; if(dFocusRadius > 0.0) { double op = 1.0/(1.0+fact*z0*z0); if(op > 1e-2){ opaqueSort[count]=Opaque(n,Vector3D(x,y,z),op); ++count; } } else if(z0 >= from && z0 <= to){ double op = z0-from; op = 1.0-fabs(2.0*op/(to-from)-1.0); opaqueSort[count]=Opaque(n,Vector3D(x,y,z),op); ++count; } } } } std::sort(opaqueSort.begin(),opaqueSort.begin()+count,cmpOpaque); for(unsigned int i = 0; i < count; i++) { int n = opaqueSort[i].i; double op = opaqueSort[i].o*opaque; double rad = radius; if(dFocusRadius > 0.0){ rad /= sqrt(opaqueSort[i].o); } glPushMatrix(); glTranslatef(opaqueSort[i].x,opaqueSort[i].y,opaqueSort[i].z); glColor4f(colorMap[name[n]].x, colorMap[name[n]].y, colorMap[name[n]].z, op); glutSolidSphere(rad, subdivisions, subdivisions); glPopMatrix(); } #endif glDisable(GL_BLEND); glPopMatrix(); glutSwapBuffers(); } //_____________________________________________________________________ reshape void reshape (int w, int h) { glViewport(0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(fieldOfView, w / static_cast(h), 0.1*maxL, 10*maxL); winX = w; winY = h; } //_____________________________________________________________________ mouse void mouse (int button, int state, int x, int y) { switch (button) { case GLUT_LEFT_BUTTON: if (state == GLUT_DOWN) { movingFieldOfView = true; startFieldOfView = y; } if (state == GLUT_UP) { movingFieldOfView = false; } break; case GLUT_MIDDLE_BUTTON: if (state == GLUT_DOWN) { moving = true; startx = x; starty = y; } if (state == GLUT_UP) { moving = false; } break; case GLUT_RIGHT_BUTTON: break; default: break; } } //_____________________________________________________________________ motion void motion(int x, int y) { if (moving) { if((from < to || dFocusRadius > 0) && planeRotation){ anglePlane = anglePlane + (x - startx); anglePlane2 = anglePlane2 + (y - starty); } else { angle = angle + (x - startx); angle2 = angle2 + (y - starty); } startx = x; starty = y; glutPostRedisplay(); } if (movingFieldOfView) { fieldOfView = fieldOfView + (y - startFieldOfView)/10.0; startFieldOfView = y; if(fieldOfView < 10){ fieldOfView = 10; } if(fieldOfView > 170){ fieldOfView = 170; } //std::cerr << fieldOfView << "\n"; reshape(winX,winY); glutPostRedisplay(); } } void mainMenuCallback(int value){ switch (value){ case TOGGLE_VIEW_CUBE: viewCube = !viewCube; glutPostRedisplay(); break; case TOGGLE_PLANE_ROTATION: planeRotation = !planeRotation; glutSetMenu(mainMenu); glutChangeToMenuEntry(2,const_cast((string("Toggle Plane Rotation : ")+(planeRotation?string("Yes"):string("No"))).c_str()),TOGGLE_PLANE_ROTATION); break; case QUIT: exit(0); break; case SAVE_FRAMEBUFFER: saveFramebufferToFile(); break; case PRINT_BUFFER: openglToPlain(std::cerr,display); break; case SAVE_FRAMEBUFFER_EPS: saveFramebufferEPSToFile(); break; case POLYGON_MODE: polygonMode = static_cast((static_cast(polygonMode) + 1) % static_cast(LAST)); updatePolygonMode(); glutPostRedisplay(); break; case TOGGLE_LIGHTING: lighting = !lighting; updateLighting(); glutPostRedisplay(); break; default: break; } } //_____________________________________________________________________ keyboardCallback void animationCallback(int value) { switch (value) { case ANIM_OFF: // Off stopAnimation(); break; case ANIM_SAVE: if (saveAnimFrame){ // no-save frames saveAnimFrame = false; glutSetMenu(animation); glutChangeToMenuEntry(5,"Save frames : No",ANIM_SAVE); } else { // save frames saveAnimFrame = true; glutSetMenu(animation); glutChangeToMenuEntry(5,"Save frames : Yes",ANIM_SAVE); glutPostRedisplay(); saveFramebufferToFile(); } break; case ANIM_ON: startAnimation(); break; default: break; } } //_____________________________________________________________________ stopAnimation void bmovieCallback(long value){ bmovieCallback(static_cast(value)); } void bmovieCallback(int v){ saveFramebufferToFile(); startAnimation(); } //_____________________________________________________________________ stopAnimation void stopAnimation(){ timer.stop(); if(timer.getTime().getRealTime() > 0 && frameTimeN > 0) report << plain <<"Frames/sec: "<(frameTimeN)/timer.getTime().getRealTime()<<"."< 0){ // Timeout timeout = (frameRate > EPSILON_TIME) ? frameRate - EPSILON_TIME : 1; glutIdleFunc(0); glutTimerFunc(timeout,&timerCallback,1); } else { // Idle, as fast as possible timeout = 0; glutIdleFunc(timerIdleCallback); } } //_____________________________________________________________________ frameRateAnimationCallback void frameRateAnimationCallback(int value){ frameRate = value; if(timeout >= 0) startAnimation(); } //_____________________________________________________________________ visibleParticlesCallback void visibleParticlesCallback(int value){ colorVisible[value] = !colorVisible[value]; display(); } //_____________________________________________________________________ timerCallback void timerCallback(long value){ timerCallback(static_cast(value)); } void timerCallback(int value){ Timer t; t.start(); doAnimation(false); t.stop(); int n = static_cast(floor(t.getTime().getRealTime()*1000.0)); if (timeout>0){ if(timeout-n > 0) glutTimerFunc(timeout-n,timerCallback,value + 1); else glutTimerFunc(1,timerCallback,value + 1); } } //_____________________________________________________________________ timerIdleCallback void timerIdleCallback(){ doAnimation(false); } //_____________________________________________________________________ doAnimation void doAnimation(bool flag){ if (timeout >= 0 || flag){ if(nextFrame()){ display(); if (saveAnimFrame) saveFramebufferToFile(); } else { if(timeout >= 0){ report << plain << "Last frame ("<= totalFrames){ i = totalFrames -1; } if(j < 0) j = 0; else if(j >= totalFrames){ j = totalFrames -1; } bool update = (i != j); if(update){ getFrame(i); frameTimeN++; } frame = i; return update; } //_____________________________________________________________________ getFrame void getFrame(int i){ std::copy(&(rAll[i*r.size()]), &(rAll[(i+1)*r.size()]), r.begin()); } //_____________________________________________________________________ frameStepAnimationCallback void frameStepAnimationCallback(int value){ frameStep = value; } //_____________________________________________________________________ verbose void verbose(){ report << plain <<"Particle(s) : " << r.size() << "\n"; report <<"Frame(s) : " << totalFrames << "\n"; report <<"Box : [" << xL << "," << yL << "," << zL << "]\n"; report <<"Types(s) : " << colorMap.size() << "\n"; report <<"Sphere radius : " << radius << "\n"; report <<"Sphere subdivisions : " << subdivisions << "\n"; report <<"Scaling : " << scale << "\n"; report <<"Opaque : " << opaque << "\n"; report <<"Point/line size : " << lineWidth << "\n"; report <<"View cube : " << (viewCube?string("on"):string("off")) << "\n"; report <<"Lighting : " << (lighting?string("on"):string("off")) << "\n"; report <<"Switch fill mode : " << (polygonMode==FILL?string("fill"):(polygonMode==LINE?string("line"):string("point"))) << "\n"; report <<"Window : " << winX<<"x"< 0) report <<1000.0/static_cast(frameRate); else report <<"max"; if(timer.getActualTime().getRealTime() > 0 && frameTimeN > 0) std::cerr <<" showing at frames/sec: "<(frameTimeN)/timer.getActualTime().getRealTime(); std::cerr <<".\n"; if(from < to) { report <<"Projection plane : " < 0) { report <<"Projection focus : " < b){ a1 = anglePlane; a2 = anglePlane2; b = a; } } } anglePlane = a1; anglePlane2 = a2; display(); } break; case 'w': // Save framebuffer PPM saveFramebufferToFile(); break; case 'p': // Save framebuffer EPS saveFramebufferEPSToFile(); break; case 27: // ESC and 'q' will quit. case 'q': exit(1); break; case '-': opaque -= 0.05; if(opaque < 0.0) opaque = 0.0; else glutPostRedisplay(); break; case '+': opaque += 0.05; if(opaque > 1.0) opaque = 1.0; else glutPostRedisplay(); break; case 'r': planeRotation = !planeRotation; glutPostRedisplay(); break; case ' ': viewCube = !viewCube; glutPostRedisplay(); break; case 'v': verbose(); break; case 'a': // Animation statistic if(movie){ report << plain <<"Frame: " << frame <<", frame step: " << frameStep <<", frames/sec:"; if(frameRate > 0) report <<1000.0/static_cast(frameRate); else report <<"max"; report <<"."< 0.0) report << " r : Toggle plane rotation." << std::endl; if(movie){ report << " s : Stop animation." << std::endl << " i : Start animation." << std::endl << " f : Stop animation and one step forward." << std::endl << " b : Stop animation and one step back." << std::endl << " a : Animation statistic." << std::endl << " TAB : Change sign of frameStep." << std::endl << " c : Set actual frame = 0 and frameStep = 1." << endr; } break; default: break; } } //_____________________________________________________________________ main int main (int argc, char** argv) { glutInit(&argc, argv); string inputname; double size = 0.0; int d = 0; Vector3D normal(1.0,0,0); int tracer = 0; parseCmdLine(argc,argv, inputname, outputname, scale, size, d, from, to, normal,tracer,startFieldOfView,fieldOfView,anglePlane,anglePlane2,batch,dFocusRadius); if(size > 0){ lineWidth = size; pointSize = size; } if(d > 2){ subdivisions = d; } if(batch || (from < to) || (dFocusRadius > 0.0)) viewCube = false; planeRotation = (from < to) || (dFocusRadius > 0.0); if(dFocusRadius > 0.0) opaque = 1.0; glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize(winX, winY); glutInitWindowPosition(100, 100); glutCreateWindow(argv[0]); GLfloat whiteLight[] = {1.0, 1.0, 1.0, 1.0}; GLfloat lightPosition1[] = {5, 5, 10.0, 0.0}; glClearColor(1.0, 1.0, 1.0, 0.0); glShadeModel(GL_SMOOTH); glLightfv(GL_LIGHT0, GL_DIFFUSE, whiteLight); glLightfv(GL_LIGHT0, GL_POSITION, lightPosition1); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_DEPTH_TEST); glEnable(GL_COLOR_MATERIAL); glEnable(GL_CULL_FACE); glLineWidth(lineWidth); glPointSize(pointSize); updateLighting(); updatePolygonMode(); glutMotionFunc(motion); glutDisplayFunc(display); glutReshapeFunc(reshape); glutMouseFunc(mouse); glutKeyboardFunc(keyboardCallback); readXYZ(inputname,normal,tracer); // Animation if(movie){ int frameStepAnimation = glutCreateMenu(frameStepAnimationCallback); glutAddMenuEntry("-100", -100); glutAddMenuEntry(" -50", -50); glutAddMenuEntry(" -20", -20); glutAddMenuEntry(" -10", -10); glutAddMenuEntry(" -5", -5); glutAddMenuEntry(" -2", -2); glutAddMenuEntry(" -1", -1); glutAddMenuEntry(" 1", 1); glutAddMenuEntry(" 2", 2); glutAddMenuEntry(" 5", 5); glutAddMenuEntry(" 10", 10); glutAddMenuEntry(" 20", 20); glutAddMenuEntry(" 50", 50); glutAddMenuEntry(" 100", 100); int frameRateAnimation = glutCreateMenu(frameRateAnimationCallback); glutAddMenuEntry("25", 40); glutAddMenuEntry("20", 50); glutAddMenuEntry("10", 100); glutAddMenuEntry(" 5", 200); glutAddMenuEntry(" 4", 250); glutAddMenuEntry(" 2", 500); glutAddMenuEntry(" 1", 1000); glutAddMenuEntry("as fast as possible",ANIM_IDLE); animation = glutCreateMenu(animationCallback); glutAddMenuEntry("Start animation", ANIM_ON); glutAddMenuEntry("Stop animation", ANIM_OFF); glutAddSubMenu ("Frames/sec", frameRateAnimation); glutAddSubMenu ("Framestep", frameStepAnimation); glutAddMenuEntry("Save frames : No", ANIM_SAVE); } int visibleParticles = glutCreateMenu(visibleParticlesCallback); for(unsigned int i=0;i(index2color[i].c_str()),i); mainMenu = glutCreateMenu(mainMenuCallback); glutAddMenuEntry("Toggle view cube",TOGGLE_VIEW_CUBE); if(from < to || dFocusRadius > 0.0) glutAddMenuEntry(const_cast((string("Toggle Plane Rotation : ")+(planeRotation?string("Yes"):string("No"))).c_str()),TOGGLE_PLANE_ROTATION); glutAddMenuEntry("Toggle lighting", TOGGLE_LIGHTING); glutAddMenuEntry("Save framebuffer PPM", SAVE_FRAMEBUFFER); glutAddMenuEntry("Save framebuffer EPS", SAVE_FRAMEBUFFER_EPS); if(movie){ glutAddSubMenu("Animation",animation); } glutAddSubMenu("Toggle particles",visibleParticles); glutAddMenuEntry("Print framebuffer", PRINT_BUFFER); glutAddMenuEntry("Switch fill mode (poly, line, point)", POLYGON_MODE); glutAddMenuEntry("Quit", QUIT); glutAttachMenu(GLUT_RIGHT_BUTTON); verbose(); if(batch){ saveAnimFrame = true; glutSetMenu(animation); glutChangeToMenuEntry(5,"Save frames : Yes",ANIM_SAVE); glutPostRedisplay(); glutTimerFunc(1000,&bmovieCallback,1); } glutMainLoop(); return 0; } #endif protomol/.cvsignore0100644027616700000500000000007610237151524014015 0ustar pbrenne1dipMakefile config.log config.status protomol_config.h stamp-h1 protomol/AUTHORS0100644027616700000500000000101610237151524013060 0ustar pbrenne1dipUniversity of Bergen, Norway Andreas Hellesoey Thierry Matthey University of Notre Dame Atul Bahel Branden Moore George Viamontes Hong Hu Jeffrey Stine Jeremiah Willcock Jesus A. Izaguirre Joseph Mohnke Matthew Nyerges Qun Ma Scott Hampton Scott Stender Thomas Slabach Thomas Steinbach Trevor M. Cickovski Troy Raeder Private Contractor NN nn@users.sourceforge.net There may be others. If you are a ProtoMol author and wish to be credited please add your info or email jcofflan@users.sourceforge.net. protomol/Coulomb.vcproj0100644027616700000500000012646110237151524014651 0ustar pbrenne1dip protomol/Dcd2dcd.vcproj0100644027616700000500000003360210237151524014472 0ustar pbrenne1dip protomol/FAQ.compiler0100644027616700000500000000252610237151524014162 0ustar pbrenne1dipWhy Does ProtoMol not Compile? 1) - 'cd protomol', then type 'make clean;make depend;make' For some reason, sometimes make does not see that some files have changed. 2) - 'cd protomol', then type 'cvs update;' and 'make clean;make depend;make' You may have an inconsistent version of ProtoMol 3) - 'mkdir tmp_pm;cd tmp_pm', then type 'cvs checkout biocomp/protomol'. - 'cd biocomp/protomol' and type 'autoheader; aclocal; autoconf; automake -a;' - Choose your configuration './configure --with-' - 'make depend;make' You may did some local changes ... or you have an inconsistent version of ProtoMol Why Does my Configuration not work (no Makefiles etc.)? 1) You have to choose the right configuration with the right flags. 2) If you do not find an appropriate configuration, choose the closest one and change the compiler flags (CFLAGS and CXXFLAGS), the compiler (CC and CXX) and the libraries (LIBS) in the file configure.in If your not sure just compile with your flags, libraries and your compiler the following program: 'int main (int argc, char* argv[]){return 0;}' Call it compilerTest.c for C and compilerTest.C for C++ Why Does ProtoMol core dump/abort? 1) Recompile the whole protomol 2) Use debug flags (-g3) 3) Use a debugger,(e.g., gdb) and run it, type where after the core dump. protomol/HOWTODO0100644027616700000500000000102510237151524013056 0ustar pbrenne1dipHOW TO DO How do I change the parameters of a force? vector forces = integrator->getForeGroup()->getForces(); // or Force* hf = new HarmDihedralSystemForce(2,0.3,true); report << hf->getId() <<":"<getParameters()[1].value << endr; string err; hf->setParameter(err,"-angle",0.5); report << hf->getId() <<":"<getParameters()[1].value << endr; hf->setParameter(err,1,0.7); report << hf->getId() <<":"<getParameters()[1].value << endr; delete hf; protomol/Makefile.am0100644027616700000500000000034110237151524014044 0ustar pbrenne1dip# -*- makefile -*- # # See the LICENSE file in the top level directory for license # information AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies SUBDIRS = framework applications #include $(top_srcdir)/Makefile.depend protomol/Makefile.depend0100644027616700000500000000264610237151524014720 0ustar pbrenne1dip# -*- makefile -*- # # $Id: Makefile.depend,v 1.1.1.1 2004/08/31 14:16:39 tmatthey Exp $ # # Contains the "depend" target so that we can generate dependencies # correctly. Subdirectory-spanning part stolen from an # automake-generated Makefile. # # Instructions: # - define SOURCEFILES macro in Makefile.am with all your .c/.cc sources. # - define DEPFLAGS with all necessary -I, -D, etc., flags. # - you may need to use something like LSC_CXX_CHECK_DEPDIRS in # configure.in to get the -I flags for the C++ compiler for the STL # and whatnot. # - Put this file in your top-level directory, named "Makefile.depend" # - put "include $(top_srcdir)/Makefile.depend" at the end of each # Makefile.am. *Every* Makefile.am in your tree must have a "depend" # target. # depend: $(SOURCEFILES) $(WRAP) @ if test "$(SOURCEFILES)" != ""; then \ echo "$(MAKEDEPEND) $(DEPFLAGS) $(INCLUDES) $(INILIB_CXX_DEPDIRS) -- --" $(SOURCEFILES); \ $(MAKEDEPEND) $(DEPFLAGS) $(INCLUDES) $(INILIB_CXX_DEPDIRS) -- -- $(SOURCEFILES); \ fi @set fnord $(MAKEFLAGS); amf=$$2; \ if test "$(DEPDIRS)" = ""; then \ foo_dirs="$(SUBDIRS)"; \ else \ foo_dirs="$(DEPDIRS)"; \ fi; \ target=`echo $@ | sed s/-recursive//`; \ list="$$foo_dirs"; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; protomol/Makefile.in0100644027616700000500000003365310237151524014071 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # -*- makefile -*- # # See the LICENSE file in the top level directory for license # information SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = . ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies SUBDIRS = framework applications subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = protomol_config.h CONFIG_CLEAN_FILES = depcomp = am__depfiles_maybe = DIST_SOURCES = RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ uninstall-info-recursive all-recursive install-data-recursive \ install-exec-recursive installdirs-recursive install-recursive \ uninstall-recursive check-recursive installcheck-recursive DIST_COMMON = README AUTHORS COPYING Makefile.am Makefile.in aclocal.m4 \ configure configure.in install-sh missing mkinstalldirs \ protomol_config.h.in DIST_SUBDIRS = $(SUBDIRS) all: protomol_config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): configure.in cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) protomol_config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/protomol_config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status protomol_config.h $(srcdir)/protomol_config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOHEADER) touch $(srcdir)/protomol_config.h.in distclean-hdr: -rm -f protomol_config.h stamp-h1 uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: tags-recursive $(HEADERS) $(SOURCES) protomol_config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) protomol_config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = . distdir = $(PACKAGE)-$(VERSION) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } GZIP_ENV = --best distcleancheck_listfiles = find . -type f -print distdir: $(DISTFILES) $(am__remove_distdir) mkdir $(distdir) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" \ distdir=../$(distdir)/$$subdir \ distdir) \ || exit 1; \ fi; \ done -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-tarZ: distdir $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist dist-all: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist $(am__remove_distdir) GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/=build mkdir $(distdir)/=inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \ && cd $(distdir)/=build \ && ../configure --srcdir=.. --prefix=$$dc_install_base \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ find $$dc_install_base -type f -print ; \ exit 1; } >&2 ) \ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ && rm -f $(distdir).tar.gz \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @echo "$(distdir).tar.gz is ready for distribution" | \ sed 'h;s/./=/g;p;x;p;x' distcleancheck: distclean if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile protomol_config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) distclean-am: clean-am distclean-generic distclean-hdr distclean-tags dvi: dvi-recursive dvi-am: info: info-recursive info-am: install-data-am: install-exec-am: install-info: install-info-recursive install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf autom4te.cache maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ clean-generic clean-recursive dist dist-all dist-gzip dist-tarZ \ distcheck distclean distclean-generic distclean-hdr \ distclean-recursive distclean-tags distcleancheck distdir dvi \ dvi-am dvi-recursive info info-am info-recursive install \ install-am install-data install-data-am install-data-recursive \ install-exec install-exec-am install-exec-recursive \ install-info install-info-am install-info-recursive install-man \ install-recursive install-strip installcheck installcheck-am \ installdirs installdirs-am installdirs-recursive \ maintainer-clean maintainer-clean-generic \ maintainer-clean-recursive mostlyclean mostlyclean-generic \ mostlyclean-recursive tags tags-recursive uninstall \ uninstall-am uninstall-info-am uninstall-info-recursive \ uninstall-recursive #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/Protomol.sln0100644027616700000500000000335310237151524014347 0ustar pbrenne1dipMicrosoft Visual Studio Solution File, Format Version 8.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protomol", "Protomol.vcproj", "{5EE4048D-4403-40F1-AB5E-3F3C7D260892}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "coulomb", "Coulomb.vcproj", "{5EE4048D-4403-40F1-AB5E-3F3C7D260892}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dcd2dcd", "dcd2dcd.vcproj", "{5EE4048D-4403-40F1-AB5E-3F3C7D260892}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Global GlobalSection(SolutionConfiguration) = preSolution Debug = Debug Release = Release EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {5EE4048D-4403-40F1-AB5E-3F3C7D260892}.Debug.ActiveCfg = Release|Win32 {5EE4048D-4403-40F1-AB5E-3F3C7D260892}.Debug.Build.0 = Release|Win32 {5EE4048D-4403-40F1-AB5E-3F3C7D260892}.Release.ActiveCfg = Release|Win32 {5EE4048D-4403-40F1-AB5E-3F3C7D260892}.Release.Build.0 = Release|Win32 {5EE4048D-4403-40F1-AB5E-3F3C7D260892}.Debug.ActiveCfg = Release|Win32 {5EE4048D-4403-40F1-AB5E-3F3C7D260892}.Release.ActiveCfg = Release|Win32 {5EE4048D-4403-40F1-AB5E-3F3C7D260892}.Release.Build.0 = Release|Win32 {5EE4048D-4403-40F1-AB5E-3F3C7D260892}.Debug.ActiveCfg = Release|Win32 {5EE4048D-4403-40F1-AB5E-3F3C7D260892}.Release.ActiveCfg = Release|Win32 {5EE4048D-4403-40F1-AB5E-3F3C7D260892}.Release.Build.0 = Release|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal protomol/Protomol.vcproj0100644027616700000500000013312010237151524015052 0ustar pbrenne1dip protomol/README0100644027616700000500000002145110237151524012675 0ustar pbrenne1dip HOWTO install ProtoMol ------------------------ USER INSTRUCTIONS ------------------- 0) If your autoconf version is less than 2.52 (autoconf --version) run first: aclocal; autoheader; automake -a 1) Run one configure script for your platform: ./configure # tries to find best preset ./configure --with-aix-xlc # xlC for AIX with optimization flags ./configure --with-aix-xlc-mpi # xlC for AIX with MPI and optimization flags ./configure --with-gcc # g++ for generic with optimization flags ./configure --with-gcc-debug # g++ for generic with debugging flags ./configure --with-gcc-mpich # g++ for generic with MPICH flags ./configure --with-hpux-cc # aCC for HPUX optimization flags ./configure --with-hpux-cc-mpi # aCC for HPUX with MPI and optimization flags ./configure --with-icc # icc for generic with optimization flags ./configure --with-icc-mpich # icc for generic with MPICH and optimization flags ./configure --with-icc-mpich-debug # icc for generic with MPICH and debugging flags ./configure --with-irix-mipspro # CC for IRIX with optimization flags ./configure --with-irix-mipspro-mpi # CC for IRIX with MPI and optimization flags ./configure --with-ppc-xlc # xlC for PPC with optimization flags ./configure --with-sun-gcc # g++ for SUN with optimization flags 2) Run depend target to generate dependencies and compile the framework: make depend; make DEVELOPER INSTRUCTIONS ------------------------ 0) If your autoconf version is less than 2.52 (autoconf --version) run first: aclocal; autoheader; automake -a 1) Run one configure script for your platform: ./configure --with-aix-xlc xlC for AIX with optimization flags ./configure --with-aix-xlc-debug xlC for AIX with debugging flags ./configure --with-aix-xlc-mpi xlC for AIX with MPI and optimization flags ./configure --with-aix-xlc-mpi-debug xlC for AIX with MPI and debugging flags ./configure --with-gcc g++ for generic with optimization flags ./configure --with-gcc-debug g++ for generic with debugging flags ./configure --with-gcc-debug-gdb g++ for generic with debugging and gdb flags ./configure --with-gcc-mpich g++ for generic with MPICH flags ./configure --with-gcc-mpich-debug g++ for generic with MPICH debug flags ./configure --with-gcc-mpich-xeon g++ for generic with MPICH xeon flags ./configure --with-hpux-cc aCC for HPUX optimization flags ./configure --with-hpux-cc-debug aCC for HPUX with debugging flags ./configure --with-hpux-cc-mpi aCC for HPUX with MPI and optimization flags ./configure --with-hpux-cc-mpi-debug aCC for HPUX with MPI and debugging flags ./configure --with-icc icc for generic with optimization flags ./configure --with-icc-debug icc for generic with debugging flags ./configure --with-icc-mpich icc for generic with MPICH and optimization flags ./configure --with-icc-mpich-xeon icc for generic with MPICH and optimization flags ./configure --with-icc-mpich-debug icc for generic with MPICH and debugging flags ./configure --with-irix-mipspro CC for IRIX with optimization flags ./configure --with-irix-mipspro-debug CC for IRIX with debugging flags ./configure --with-irix-mipspro-mpi CC for IRIX with MPI and optimization flags ./configure --with-irix-mipspro-mpi-debug CC for IRIX with MPI and debugging flags ./configure --with-ppc-xlc xlC for PPC with optimization flags ./configure --with-pcc-xlc-debug xlC for PPC with debugging flags ./configure --with-sun-gcc g++ for SUN with optimization flags We recommend for testing purpose to use debugging since it takes less time to compile. 2) Run depend target to generate dependencies and compile the framework: make clean; make depend; make We recommend to do a "make clean" since the dependencies are not always correctly encountered. Adding new files to the framework or the applications ------------------------------------------------------- 1) Add your new files to the Makefile.am in the same directory 2) Generate the new configure file: autoreconf -f -i --verbose or ./realmake # cleans up all and runs autoconf or aclocal; autoheader; autoconf; automake -a # if you do not have autoconf >= V2.53 Adding new Makefile directories ------------------------ 1) You have to add your new Makefile filename relative to the root of protomol into configure.ac (at the end of the file), and the directory name parent to it. 2) Generate the new configure file as under addinf files. HOWTO set compiler flags -------------------------- This can be done if you don't want to use the --with-platform-cxx configure options Set CXX environment variable to the compiler you want to use (e.g. setenv CXX g++) Set CXXFLAGS environment variable to the compiler flags you want to use (e.g. setenv CXXFLAGS "-O3") For more detailed informations: ./configure --help Compiler troubles ------------------- If the check of your compiler(s) fails try another configurations or you may change/remove some compiler flags or libraries in ./configure.ac. If you have still have troubles to compile or run automake/autoconf take look at FAQ.compiler. If you have troubles to link/compile with external libraries you may look at test programs in compilerTests to figure out the compiler/library flags. Autoconf troubles / older versions ------------------------------------ configure.ac expects autoconf version 2.53 or higher, in order generate makefiles with older autoconf versions edit configure.ac and comment out what is below Autoconf 2.53 and uncomment below Autoconf 2.13 and copy configure.ac to configure.in You may also use a symbolic link to configure.in and use: aclocal; autoheader; autoconf; automake -a 64-bit -------- ProtoMol supports compilation of 32-bit and 64-bit. On AIX you change to 64 with: setenv OBJECT_MODE 64 PNG ----- The io library supports a PNG writer, but also PPM. GLUT ------ GLUT is a tool library to simplify OpenGL usage. FFT ----- ProtoMol supports different FFT interfaces: FFTW (version 3 and 2), ESSL (AIX), complib.sgimath (IRIX). You can specify your FFT of choice by --with-fft=[sgi|essl|fftw2|fftw3|zfft]. Use '--with-fftw3=' to specify install path of FFTW, ESSL and complib.sgimath are assumed to be at default locations. If you do not have any of these FFT libraries, ZFFT is used by default, which is a subsitute for complib.sgimath. Note that ZFFT does not support all kind of numbers. Note that ESSL's FFT does not handle all kind of numbers. ESSL aborts with the error message "DCFT3 : 2538-2030 The transform length (ARG NO. 7, 8 or 9)", where 7 stands for the z-dim, 8 the y-dim and 9 the x-dim. http:://www.fftw.org Timing -------- wall : totale time, incl. initialization & IO run : running the simulation for n steps, incl. output integration : running the simulation for n steps, excl. output forces : evaluating the forces, excl. communication com : sending and recieving data idle : waiting for the master to send next work package and waiting for barrieres Parallel ---------- useBarrier : boolean =false : if MPI_Barrier should be called before global communication parallelMode : string : static, dynamic or masterSlave =static : static load balancing, no com. between master and slaves, only slaves =dynamic : master-slave, where the master does some work in-between, parallelPipe should be accordingly set masterSlave : pure master-slave, where the master serves the slaves maxPackages : int : max. number of work packages per node per force; increased packages, better load balance, but more communication parallelPipe : int : pipe size of packages send to each slave; increased pipe less idle slaves, but less load balancing NOTES ------- Don't worry if it's taking a long time to compile ... To clean the whole package: ./realclean Contact Information --------------------- protomol@cse.nd.edu. protomol/TODOLIST0100644027616700000500000000274010237151524013201 0ustar pbrenne1dip ProtoMol ToDoList / NiceToHaveList =================================== (+) SourceForge Home Page update (+) Fix Brent's Method: The method of finding minima of dihedral functions needs a lot of work. One possible solution would be to find an optimized library that does this. e.g. fftw. (+) Units: Unit conversion and possibility to assign units to values/struct/class. (+) Testunit: Test unit with a set of test which should never fail. (+) mailing-list: Mailing-list for users developers, admins, etc. (+) Validate random velocity function: We have shown that for small molecules ( <100 atoms) the temperature {and therefore kinetic energy} can very greatly at each MC step because the random sampling of velocities from the GAUSSIAN distribution is not sufficiently large to approximate the proper distribution. Thierry has introduced a simple rescaling random velocity function. We are awaiting input from Dr. McGinn as to the viability of such a rescaling... (+) Determine correct method for computing the temperature. Currently, the temperature is set to use (3N-3) DOF. This should probably be (3N) in general and possibly remove 3 DOF if linear and/or angular momentum are removed. There are numerous issues involved with implementing this as well as what to do for methods that do not conserve momentum. (e.g. MG). (+) Update README file to show correct compilation options. protomol/aclocal.m40100644027616700000500000007420710237151524013664 0ustar pbrenne1dip# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*- # Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # Do all the work for Automake. -*- Autoconf -*- # This macro actually does too much some checks are only needed if # your package does certain things. But this isn't really a big deal. # Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 8 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... AC_PREREQ([2.52]) # Autoconf 2.50 wants to disallow AM_ names. We explicitly allow # the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_MISSING_PROG(AMTAR, tar) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_][CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_][CC], defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_][CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_][CXX], defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl ]) ]) # Copyright 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"]) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.6.3])]) # Helper functions for option handling. -*- Autoconf -*- # Copyright 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # # Check to make sure that the build environment is sane. # # Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 3 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # -*- Autoconf -*- # Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 3 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # AM_AUX_DIR_EXPAND # Copyright 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. # Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50]) AC_DEFUN([AM_AUX_DIR_EXPAND], [ # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. # Copyright 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # AM_PROG_INSTALL_STRIP # Copyright 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # serial 4 -*- Autoconf -*- # Copyright 1999, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_$1_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [rm -f .deps 2>/dev/null mkdir .deps 2>/dev/null if test -d .deps; then DEPDIR=.deps else # MS-DOS does not allow filenames that begin with a dot. DEPDIR=_deps fi rmdir .deps 2>/dev/null AC_SUBST([DEPDIR]) ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking Speeds up one-time builds --enable-dependency-tracking Do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH]) ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. #serial 2 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # So let's grep whole file. if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` test -z "$DEPDIR" && continue # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n -e '/^U = / s///p' < "$mf"` test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # We invoke sed twice because it is the simplest approach to # changing $(DEPDIR) to its actual value in the expansion. for file in `sed -n -e ' /^DEP_FILES = .*\\\\$/ { s/^DEP_FILES = // :loop s/\\\\$// p n /\\\\$/ b loop p } /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*- # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' doit: @echo done END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST(am__include) AC_SUBST(am__quote) AC_MSG_RESULT($_am_result) rm -f confinc confmf ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright 1997, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 5 AC_PREREQ(2.52) # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE]) AC_SUBST([$1_FALSE]) if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([conditional \"$1\" was never defined. Usually this means the macro was only invoked conditionally.]) fi])]) # Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- # Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. AC_PREREQ([2.52]) # serial 6 # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. We must strip everything past the first ":", # and everything past the last "/". # _AM_DIRNAME(PATH) # ----------------- # Like AS_DIRNAME, only do it during macro expansion AC_DEFUN([_AM_DIRNAME], [m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, m4_if(regexp([$1], [^//\([^/]\|$\)]), -1, m4_if(regexp([$1], [^/.*]), -1, [.], patsubst([$1], [^\(/\).*], [\1])), patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl ])# _AM_DIRNAME # The stamp files are numbered to have different names. # We could number them on a directory basis, but that's additional # complications, let's have a unique counter. m4_define([_AM_STAMP_Count], [0]) # _AM_STAMP(HEADER) # ----------------- # The name of the stamp file for HEADER. AC_DEFUN([_AM_STAMP], [m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl AS_ESCAPE(_AM_DIRNAME(patsubst([$1], [:.*])))/stamp-h[]_AM_STAMP_Count]) # _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS) # ------------------------------------------------------------ # We used to try to get a real timestamp in stamp-h. But the fear is that # that will cause unnecessary cvs conflicts. AC_DEFUN([_AM_CONFIG_HEADER], [# Add the stamp file to the list of files AC keeps track of, # along with our hook. AC_CONFIG_HEADERS([$1], [# update the timestamp echo 'timestamp for $1' >"_AM_STAMP([$1])" $2], [$3]) ])# _AM_CONFIG_HEADER # AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS) # -------------------------------------------------------------- AC_DEFUN([AM_CONFIG_HEADER], [AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])]) ])# AM_CONFIG_HEADER protomol/compile_with_aix_xlc_debug.ll0100644027616700000500000000110710237151524017702 0ustar pbrenne1dip#!/bin/csh # # @ job_name = compile # @ total_tasks = 1 # @ job_type = parallel # @ account_no = parallab # # @ class = express # @ wall_clock_limit = 1:00:00 # # @ resources = ConsumableCpus(1) ConsumableMemory(250 mb) # # @ notification = complete # @ checkpoint = no # @ restart = no # # @ error = job.$(Host).$(jobid).err # @ output = job.$(Host).$(jobid).out # # @ queue ./realclean aclocal; autoheader; autoconf; automake -a; ./configure --with-aix-xlc-debug make depend make clean make protomol/compile_with_aix_xlc_mpi.ll0100644027616700000500000000112610237151524017402 0ustar pbrenne1dip#!/bin/csh # # @ job_name = compile # @ total_tasks = 1 # @ job_type = parallel # @ account_no = parallab # # @ class = express # @ wall_clock_limit = 1:00:00 # # @ resources = ConsumableCpus(1) ConsumableMemory(250 mb) # # @ notification = complete # @ checkpoint = no # @ restart = no # # @ error = job.$(Host).$(jobid).err # @ output = job.$(Host).$(jobid).out # # @ queue ./realclean aclocal; autoheader; autoconf; automake -a; ./configure --with-aix-xlc-mpi --with-fft=zfft make depend make clean make protomol/compilerVersion.pl0100644027616700000500000000075510237151524015536 0ustar pbrenne1dip# Simple grep to retrieve the compiler version use strict; my $a = ""; my $n = 0; while (<>) { next unless (/\S/ and not /\// and not /exit/ and not /error/ and not /Error/ and not /ERROR/ and not /invalid/ and not /missing/ and not /FOR NON-COMMERCIAL USE ONLY/ and not /WARNING/ and not /Warning/ and not /warning/ and not /option/ and not /\\/ and $n < 10); $n++; $_=~ s/\n/\\n/g; $a .= $_; } $a =~ s/\\n$//g; print $a; protomol/configure0100755027616700000500000207406410237151524013736 0ustar pbrenne1dip#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.57 for protomol 2.0.3. # # Report bugs to . # # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` exec 6>&1 # # Initializations. # ac_default_prefix=/usr/local ac_config_libobj_dir=. cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. # This variable seems obsolete. It should probably be removed, and # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME='protomol' PACKAGE_TARNAME='protomol' PACKAGE_VERSION='2.0.3' PACKAGE_STRING='protomol 2.0.3' PACKAGE_BUGREPORT='protomol@cse.nd.edu' # Factoring default headers for most tests. ac_includes_default="\ #include #if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_STAT_H # include #endif #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif #if HAVE_STRINGS_H # include #endif #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif #if HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE PROTOMOL_MAJOR_VERSION PROTOMOL_MINOR_VERSION PROTOMOL_PATCH_LEVEL LT_RELEASE LT_CURRENT LT_REVISION LT_AGE CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE CC CFLAGS ac_ct_CC CCDEPMODE DEPFLAGS CXXCPP RANLIB ac_ct_RANLIB X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS SOCKET_LIBS EGREP FFT_LIBS FFT_CFLAGS PNG_LIBS GLUT_LIBS GLUT_CFLAGS CLEANFILES AR1 AR2 LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/-/_/g'` eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute paths. for ac_var in exec_prefix prefix do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi (cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias ac_cv_env_build_alias_set=${build_alias+set} ac_cv_env_build_alias_value=$build_alias ac_env_host_alias_set=${host_alias+set} ac_env_host_alias_value=$host_alias ac_cv_env_host_alias_set=${host_alias+set} ac_cv_env_host_alias_value=$host_alias ac_env_target_alias_set=${target_alias+set} ac_env_target_alias_value=$target_alias ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias ac_env_CXX_set=${CXX+set} ac_env_CXX_value=$CXX ac_cv_env_CXX_set=${CXX+set} ac_cv_env_CXX_value=$CXX ac_env_CXXFLAGS_set=${CXXFLAGS+set} ac_env_CXXFLAGS_value=$CXXFLAGS ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} ac_cv_env_CXXFLAGS_value=$CXXFLAGS ac_env_LDFLAGS_set=${LDFLAGS+set} ac_env_LDFLAGS_value=$LDFLAGS ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ac_cv_env_LDFLAGS_value=$LDFLAGS ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS ac_env_CC_set=${CC+set} ac_env_CC_value=$CC ac_cv_env_CC_set=${CC+set} ac_cv_env_CC_value=$CC ac_env_CFLAGS_set=${CFLAGS+set} ac_env_CFLAGS_value=$CFLAGS ac_cv_env_CFLAGS_set=${CFLAGS+set} ac_cv_env_CFLAGS_value=$CFLAGS ac_env_CXXCPP_set=${CXXCPP+set} ac_env_CXXCPP_value=$CXXCPP ac_cv_env_CXXCPP_set=${CXXCPP+set} ac_cv_env_CXXCPP_value=$CXXCPP # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures protomol 2.0.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] _ACEOF cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names X features: --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of protomol 2.0.3:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking Speeds up one-time builds --enable-dependency-tracking Do not reject slow dependency extractors Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-fft=sgi|essl|fftw3|fftw2|fft2mpi|zfft Specify the FFT --with-fftw3=DIR Specify the FFTW3 install path and enable FFTW3 --with-fftw2=DIR Specify the FFTW2 install path and enable FFTW2 --with-fftw2mpi=DIR Specify the FFTW2 MPI install path and enable FFTW2 MPI --with-glut=DIR|no|yes Specify the GLUT install path and enable GLUT --with-aix-xlc Use xlC for AIX with optimization flags --with-aix-xlc-debug Use xlC for AIX with debugging flags --with-aix-xlc-mpi Use xlC for AIX with MPI and optimization flags --with-aix-xlc-mpi-debug Use xlC for AIX with MPI and debugging flags --with-gcc Use g++ for generic with optimization flags --with-gcc-debug Use g++ for generic with debugging flags --with-gcc-debug-gdb Use g++ for generic with debugging and gdb flags --with-gcc-mpich Use g++ for generic with MPICH flags --with-gcc-mpich-debug Use g++ for generic with MPICH debug flags --with-gcc-mpich-xeon Use g++ for generic with MPICH xeon flags (for Notre Dame's HPCC cluster) --with-hpux-cc Use aCC for HPUX optimization flags --with-hpux-cc-debug Use aCC for HPUX with debugging flags --with-hpux-cc-mpi Use aCC for HPUX with MPI and optimization flags --with-hpux-cc-mpi-debug Use aCC for HPUX with MPI and debugging flags --with-icc Use icc for generic with optimization flags --with-icc-debug Use icc for generic with debugging flags --with-icc-mpich Use icc for generic with MPICH and optimization flags --with-icc-mpich-xeon Use icc for generic with MPICH and optimization flags (for Notre Dame's HPCC cluster) --with-icc-mpich-debug Use icc for generic with MPICH and debugging flags --with-irix-mipspro Use CC for IRIX with optimization flags --with-irix-mipspro-debug Use CC for IRIX with debugging flags --with-irix-mipspro-mpi Use CC for IRIX with MPI and optimization flags --with-irix-mipspro-mpi-debug Use CC for IRIX with MPI and debugging flags --with-ppc-xlc Use xlC for PPC with optimization flags --with-pcc-xlc-debug Use xlC for PPC with debugging flags --with-sun-gcc Use g++ for SUN with optimization flags --with-x use the X Window System Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CC C compiler command CFLAGS C compiler flags CXXCPP C++ preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d $ac_dir || continue ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. if test -f $ac_srcdir/configure.gnu; then echo $SHELL $ac_srcdir/configure.gnu --help=recursive elif test -f $ac_srcdir/configure; then echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || test -f $ac_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd $ac_popdir done fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF protomol configure 2.0.3 generated by GNU Autoconf 2.57 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit 0 fi exec 5>config.log cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by protomol $as_me 2.0.3, which was generated by GNU Autoconf 2.57. Invocation command line was $ $0 $@ _ACEOF { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` hostinfo = `(hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. ac_sep=" " ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Be sure not to use single quotes in there, as some shells, # such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------- ## ## Output files. ## ## ------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo sed "/^$/d" confdefs.h | sort echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core core.* *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; *) . ./$cache_file;; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # 2.13 cp configure.ac configure.in #AC_INIT(README) #AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT,"protomol@cse.nd.edu",[Define to the address where bug reports for this package should be sent.]) #AC_DEFINE_UNQUOTED(PACKAGE_NAME,"protomol",[Define to the full name of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_STRING,"protomol 2.0.3",[Define to the full name and version of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_TARNAME,"protomol",[Define to the one symbol short name of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"2.0.3",[Define to the version of this package.]) #AC_CONFIG_AUX_DIR(./config) #AC_CANONICAL_TARGET # Avoid generating makefile rules to rebuild maintainer-only files by # default. Maintainers may override this default and generate these # makefile rules using the `--enable-maintainer-mode' configure option. #AM_MAINTAINER_MODE # Major Framework release number PROTOMOL_MAJOR_VERSION=2 # Minor Framework release number PROTOMOL_MINOR_VERSION=0 # Increment after every source code change PROTOMOL_PATCH_LEVEL=3 # Combined version number VERSION=$PROTOMOL_MAJOR_VERSION.$PROTOMOL_MINOR_VERSION.$PROTOMOL_PATCH_LEVEL am__api_version="1.6" ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f $ac_dir/shtool; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi ac_config_guess="$SHELL $ac_aux_dir/config.guess" ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 test "$program_prefix" != NONE && program_transform_name="s,^,$program_prefix,;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s,\$,$program_suffix,;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$AWK" && break done echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF all: @echo 'ac_maketemp="$(MAKE)"' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then eval ac_cv_prog_make_${ac_make}_set=yes else eval ac_cv_prog_make_${ac_make}_set=no fi rm -f conftest.make fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi # Define the identity of the package. PACKAGE=protomol VERSION=$VERSION cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} AMTAR=${AMTAR-"${am_missing_run}tar"} install_sh=${install_sh-"$am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi STRIP=$ac_ct_STRIP else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Add the stamp file to the list of files AC keeps track of, # along with our hook. ac_config_headers="$ac_config_headers protomol_config.h" # Report what was found echo "$as_me:$LINENO: checking major version" >&5 echo $ECHO_N "checking major version... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $PROTOMOL_MAJOR_VERSION" >&5 echo "${ECHO_T}$PROTOMOL_MAJOR_VERSION" >&6 echo "$as_me:$LINENO: checking minor version" >&5 echo $ECHO_N "checking minor version... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $PROTOMOL_MINOR_VERSION" >&5 echo "${ECHO_T}$PROTOMOL_MINOR_VERSION" >&6 echo "$as_me:$LINENO: checking patchlevel" >&5 echo $ECHO_N "checking patchlevel... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $PROTOMOL_PATCH_LEVEL" >&5 echo "${ECHO_T}$PROTOMOL_PATCH_LEVEL" >&6 # Calculate libtool versioning information LT_RELEASE=$PROTOMOL_MAJOR_VERSION.$PROTOMOL_MINOR_VERSION LT_CURRENT=$PROTOMOL_INTERFACE_VERSION LT_REVISION=0 #`expr $PROTOMOL_PATCH_LEVEL - $PROTOMOL_INTERFACE_VERSION` LT_AGE=0 #`expr $PROTOMOL_INTERFACE_VERSION - $PROTOMOL_BINARY_VERSION` # # Defines # cat >>confdefs.h <<_ACEOF #define PACKAGE_HOMEPAGE "http://protomol.sourceforge.net" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_CITE "Please cite T. Matthey, T. Cickovski, S. S. Hampton, A. Ko, Q. Ma, M. Nyerges, T. Raeder,\nT. Slabach, and J. A. Izaguirre. ProtoMol: An object-oriented framework for prototyping\nnovel algorithms for molecular dynamics. ACM Trans. Math. Softw., 30(3):237­265, 2004." _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_UNAME "`uname -a`" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_WHOAMI "`whoami`" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "protomol@cse.nd.edu" _ACEOF # # Compiler # use_preset=0 # Check whether --with-fft or --without-fft was given. if test "${with_fft+set}" = set; then withval="$with_fft" fi; # Check whether --with-fftw3 or --without-fftw3 was given. if test "${with_fftw3+set}" = set; then withval="$with_fftw3" fi; # Check whether --with-fftw2 or --without-fftw2 was given. if test "${with_fftw2+set}" = set; then withval="$with_fftw2" fi; # Check whether --with-fftw2mpi or --without-fftw2mpi was given. if test "${with_fftw2mpi+set}" = set; then withval="$with_fftw2mpi" fi; # Check whether --with-glut or --without-glut was given. if test "${with_glut+set}" = set; then withval="$with_glut" fi; # Check whether --with-aix_xlc or --without-aix_xlc was given. if test "${with_aix_xlc+set}" = set; then withval="$with_aix_xlc" use_preset=1 fi; # Check whether --with-aix_xlc_debug or --without-aix_xlc_debug was given. if test "${with_aix_xlc_debug+set}" = set; then withval="$with_aix_xlc_debug" use_preset=1 fi; # Check whether --with-aix_xlc_mpi or --without-aix_xlc_mpi was given. if test "${with_aix_xlc_mpi+set}" = set; then withval="$with_aix_xlc_mpi" use_preset=1 fi; # Check whether --with-aix_xlc_mpi_debug or --without-aix_xlc_mpi_debug was given. if test "${with_aix_xlc_mpi_debug+set}" = set; then withval="$with_aix_xlc_mpi_debug" use_preset=1 fi; # Check whether --with-gcc or --without-gcc was given. if test "${with_gcc+set}" = set; then withval="$with_gcc" use_preset=1 fi; # Check whether --with-gcc_debug or --without-gcc_debug was given. if test "${with_gcc_debug+set}" = set; then withval="$with_gcc_debug" use_preset=1 fi; # Check whether --with-gcc_debug_gdb or --without-gcc_debug_gdb was given. if test "${with_gcc_debug_gdb+set}" = set; then withval="$with_gcc_debug_gdb" use_preset=1 fi; # Check whether --with-gcc_mpich or --without-gcc_mpich was given. if test "${with_gcc_mpich+set}" = set; then withval="$with_gcc_mpich" use_preset=1 fi; # Check whether --with-gcc_mpich_debug or --without-gcc_mpich_debug was given. if test "${with_gcc_mpich_debug+set}" = set; then withval="$with_gcc_mpich_debug" use_preset=1 fi; # Check whether --with-gcc_mpich_xeon or --without-gcc_mpich_xeon was given. if test "${with_gcc_mpich_xeon+set}" = set; then withval="$with_gcc_mpich_xeon" fi; # Check whether --with-hpux_cc or --without-hpux_cc was given. if test "${with_hpux_cc+set}" = set; then withval="$with_hpux_cc" use_preset=1 fi; # Check whether --with-hpux_cc_debug or --without-hpux_cc_debug was given. if test "${with_hpux_cc_debug+set}" = set; then withval="$with_hpux_cc_debug" use_preset=1 fi; # Check whether --with-hpux_cc_mpi or --without-hpux_cc_mpi was given. if test "${with_hpux_cc_mpi+set}" = set; then withval="$with_hpux_cc_mpi" use_preset=1 fi; # Check whether --with-hpux_cc_mpi_debug or --without-hpux_cc_mpi_debug was given. if test "${with_hpux_cc_mpi_debug+set}" = set; then withval="$with_hpux_cc_mpi_debug" use_preset=1 fi; # Check whether --with-icc or --without-icc was given. if test "${with_icc+set}" = set; then withval="$with_icc" use_preset=1 fi; # Check whether --with-icc_debug or --without-icc_debug was given. if test "${with_icc_debug+set}" = set; then withval="$with_icc_debug" use_preset=1 fi; # Check whether --with-icc_mpich or --without-icc_mpich was given. if test "${with_icc_mpich+set}" = set; then withval="$with_icc_mpich" use_preset=1 fi; # Check whether --with-icc_mpich_xeon or --without-icc_mpich_xeon was given. if test "${with_icc_mpich_xeon+set}" = set; then withval="$with_icc_mpich_xeon" use_preset=1 fi; # Check whether --with-icc_mpich_debug or --without-icc_mpich_debug was given. if test "${with_icc_mpich_debug+set}" = set; then withval="$with_icc_mpich_debug" use_preset=1 fi; # Check whether --with-irix_mipspro or --without-irix_mipspro was given. if test "${with_irix_mipspro+set}" = set; then withval="$with_irix_mipspro" use_preset=1 fi; # Check whether --with-irix_mipspro_debug or --without-irix_mipspro_debug was given. if test "${with_irix_mipspro_debug+set}" = set; then withval="$with_irix_mipspro_debug" use_preset=1 fi; # Check whether --with-irix_mipspro_mpi or --without-irix_mipspro_mpi was given. if test "${with_irix_mipspro_mpi+set}" = set; then withval="$with_irix_mipspro_mpi" use_preset=1 fi; # Check whether --with-irix_mipspro_mpi_debug or --without-irix_mipspro_mpi_debug was given. if test "${with_irix_mipspro_mpi_debug+set}" = set; then withval="$with_irix_mipspro_mpi_debug" use_preset=1 fi; # Check whether --with-ppc_xlc or --without-ppc_xlc was given. if test "${with_ppc_xlc+set}" = set; then withval="$with_ppc_xlc" use_preset=1 fi; # Check whether --with-ppc_xlc_debug or --without-ppc_xlc_debug was given. if test "${with_ppc_xlc_debug+set}" = set; then withval="$with_ppc_xlc_debug" use_preset=1 fi; # Check whether --with-sun_gcc or --without-sun_gcc was given. if test "${with_sun_gcc+set}" = set; then withval="$with_sun_gcc" use_preset=1 fi; # 2.53 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC aCC mpCC_r xlC_r xlC xlc++ CC icpc icc g++ cxx mpic++ mpicxx mpiCC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC aCC mpCC_r xlC_r xlC xlc++ CC icpc icc g++ cxx mpic++ mpicxx mpiCC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. echo "$as_me:$LINENO: checking for C++ compiler default output" >&5 echo $ECHO_N "checking for C++ compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. # Be careful to initialize this variable, since it used to be cached. # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ac_cv_exeext= # b.out is created by i960 compilers. for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; conftest.$ac_ext ) # This is the source file. ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` # FIXME: I believe we export ac_cv_exeext for Libtool, # but it would be cool to find out if it's true. Does anybody # maintain Libtool? --akim. export ac_cv_exeext break;; * ) break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C++ compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C++ compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu rm -f .deps 2>/dev/null mkdir .deps 2>/dev/null if test -d .deps; then DEPDIR=.deps else # MS-DOS does not allow filenames that begin with a dot. DEPDIR=_deps fi rmdir .deps 2>/dev/null ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' doit: @echo done END # If we don't find an include directive, just comment out the code. echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6 rm -f confinc confmf # Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval="$enable_dependency_tracking" fi; if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type # if test $use_preset = 0; then echo "$as_me:$LINENO: result: Auto detection of compiler: $CXX" >&5 echo "${ECHO_T}Auto detection of compiler: $CXX" >&6 fi unset ac_cv_prog_ac_ct_CC unset ac_cv_prog_ac_ct_CXX echo "$as_me:$LINENO: checking preset g++ for SUN with optimization flags " >&5 echo $ECHO_N "checking preset g++ for SUN with optimization flags ... $ECHO_C" >&6 WANT_SUN_GCC_FLAGS=0 if test "$with_sun_gcc" = "yes"; then WANT_SUN_GCC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -mcpu=ultrasparc -m32 -U_LP64 -U__sparc_v9__ -U__sparcv9 -DNDEBUG" CXX="g++" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -mcpu=ultrasparc -m32 -U_LP64 -U__sparc_v9__ -U__sparcv9 -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_MPI_FLAGS=0 echo "$as_me:$LINENO: checking preset CC fro IRIX with MPI and optimization flags " >&5 echo $ECHO_N "checking preset CC fro IRIX with MPI and optimization flags ... $ECHO_C" >&6 if (test "$with_irix_mipspro_mpi" = "yes" || ((test $use_preset = 0) && test $CXX = "CC" )) then WANT_IRIX_MIPSPRO_MPI_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -Ofast=ip35 -64 -DNDEBUG -DHAVE_MPI -DMPI_NO_CPPBIND" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -Ofast=ip35 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DNDEBUG -DHAVE_MPI -DMPI_NO_CPPBIND" LIBS="-lmpi -lsma -lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset CC for IRIX with MPI and debugging flags " >&5 echo $ECHO_N "checking preset CC for IRIX with MPI and debugging flags ... $ECHO_C" >&6 if test "$with_irix_mipspro_mpi_debug" = "yes"; then WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -O2 -64 -DHAVE_MPI -DMPI_NO_CPPBIND" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -O2 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DHAVE_MPI -DMPI_NO_CPPBIND" LIBS="-lmpi -lsma -lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_FLAGS=0 echo "$as_me:$LINENO: checking preset CC for IRIX with optimization flags " >&5 echo $ECHO_N "checking preset CC for IRIX with optimization flags ... $ECHO_C" >&6 if test "$with_irix_mipspro" = "yes"; then WANT_IRIX_MIPSPRO_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -Ofast=ip35 -64 -DNDEBUG" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -Ofast=ip35 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DNDEBUG" LIBS="-lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset CC for IRIX with debugging flags " >&5 echo $ECHO_N "checking preset CC for IRIX with debugging flags ... $ECHO_C" >&6 if test "$with_irix_mipspro_debug" = "yes"; then WANT_IRIX_MIPSPRO_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -O2 -64" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -O2 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON" LIBS="-lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with optimization flags " >&5 echo $ECHO_N "checking preset icc for generic with optimization flags ... $ECHO_C" >&6 if (test "$with_icc" = "yes" || ((test $use_preset = 0) && (test $CXX = "icc" || test $CXX = "icpc"))) then unset CC unset CXX WANT_ICC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with debugging flags " >&5 echo $ECHO_N "checking preset icc for generic with debugging flags ... $ECHO_C" >&6 if test "$with_icc_debug" = "yes"; then unset CC unset CXX WANT_ICC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_MPICH_XEON_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with MPICH flags " >&5 echo $ECHO_N "checking preset icc for generic with MPICH flags ... $ECHO_C" >&6 if test "$with_icc_mpich_xeon" = "yes"; then unset CC unset CXX WANT_ICC_MPICH_XEON_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-intel80/bin/mpicc" CFLAGS="-Wall -wd810,383,981,279,444 -O3 -ip -static -DNDEBUG -DHAVE_MPI" CXX="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-intel80/bin/mpicxx" CXXFLAGS="-Wall -wd810,383,981,279,444 -O3 -ip -static -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_MPICH_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with MPICH and optimization flags " >&5 echo $ECHO_N "checking preset icc for generic with MPICH and optimization flags ... $ECHO_C" >&6 if (test "$with_icc_mpich" = "yes") then unset CC unset CXX WANT_ICC_MPICH_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in mpicc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in mpicc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG -DHAVE_MPI" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_MPICH_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with MPICH and debugging flags " >&5 echo $ECHO_N "checking preset icc for generic with MPICH and debugging flags ... $ECHO_C" >&6 if test "$with_icc_mpich_debug" = "yes"; then unset CC unset CXX WANT_ICC_MPICH_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in mpicc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in mpicc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict -DHAVE_MPI" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_MPICH_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with MPICH flags " >&5 echo $ECHO_N "checking preset g++ for generic with MPICH flags ... $ECHO_C" >&6 if test "$with_gcc_mpich" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CC="mpicc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi ANT_GCC_MPICH_XEON=0 echo "$as_me:$LINENO: checking preset g++ for generic with MPICH XEON flags " >&5 echo $ECHO_N "checking preset g++ for generic with MPICH XEON flags ... $ECHO_C" >&6 if test "$with_gcc_mpich_xeon" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_XEON=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-gcc-2/bin/mpicc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" CXX="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-gcc-2/bin/mpicxx" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_MPICH_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with MPICH debug flags " >&5 echo $ECHO_N "checking preset g++ for generic with MPICH debug flags ... $ECHO_C" >&6 if test "$with_gcc_mpich_debug" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpicc" CFLAGS="-Wall -DHAVE_MPI -I${MPI_HOME}/include" ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CXXFLAGS="-Wall -DHAVE_MPI -I${MPI_HOME}/include" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with optimization flags " >&5 echo $ECHO_N "checking preset g++ for generic with optimization flags ... $ECHO_C" >&6 if (test "$with_gcc" = "yes" || ((test $use_preset = 0) && ( test $CXX = "c++" || test $CXX = "g++"))) then WANT_GCC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG" CXX="g++" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with debugging flags " >&5 echo $ECHO_N "checking preset g++ for generic with debugging flags ... $ECHO_C" >&6 if test "$with_gcc_debug" = "yes"; then WANT_GCC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-Wall" CXX="g++" CXXFLAGS="-Wall" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_DEBUG_GDB_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with debugging and gdb flags " >&5 echo $ECHO_N "checking preset g++ for generic with debugging and gdb flags ... $ECHO_C" >&6 if test "$with_gcc_debug_gdb" = "yes"; then WANT_GCC_DEBUG_GDB_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-g -Wall" CXX="g++" CXXFLAGS="-g -Wall" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_PPC_XLC_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for PPC with optimization flags " >&5 echo $ECHO_N "checking preset xlC for PPC with optimization flags ... $ECHO_C" >&6 if test "$with_ppc_xlc" = "yes"; then WANT_PPC_XLC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="-O4 -qinlglue -qcache=auto -qarch=auto -qtune=auto -DNDEBUG" CXX="xlC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_PPC_XLC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for PPC with debugging flags " >&5 echo $ECHO_N "checking preset xlC for PPC with debugging flags ... $ECHO_C" >&6 if test "$with_ppc_xlc_debug" = "yes"; then WANT_PPC_XLC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="" CXX="xlC_r" CXXFLAGS="" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_AIX_XLC_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for AIX with optimization flags " >&5 echo $ECHO_N "checking preset xlC for AIX with optimization flags ... $ECHO_C" >&6 if test "$with_aix_xlc" = "yes"; then WANT_AIX_XLC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="-O4 -qinlglue -qcache=auto -qarch=auto -qtune=auto -DNDEBUG" CXX="xlC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_AIX_XLC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for AIX with debugging flags " >&5 echo $ECHO_N "checking preset xlC for AIX with debugging flags ... $ECHO_C" >&6 if test "$with_aix_xlc_debug" = "yes"; then WANT_AIX_XLC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="" CXX="xlC_r" CXXFLAGS="-qrtti=dyna" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset xlC for AIX with MPI and optimization flags " >&5 echo $ECHO_N "checking preset xlC for AIX with MPI and optimization flags ... $ECHO_C" >&6 WANT_AIX_XLC_MPI_FLAGS=0 if (test "$with_aix_xlc_mpi" = "yes" || ((test $use_preset = 0) && test $CXX = "mpCC_r")) then WANT_AIX_XLC_MPI_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpcc_r" CFLAGS="-O4 -qinlglue-qcache=auto -qarch=auto -qtune=auto -DNDEBUG -DHAVE_MPI" CXX="mpCC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_AIX_XLC_MPI_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for AIX with MPI and debugging flags " >&5 echo $ECHO_N "checking preset xlC for AIX with MPI and debugging flags ... $ECHO_C" >&6 if test "$with_aix_xlc_mpi_debug" = "yes"; then WANT_AIX_XLC_MPI_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpcc_r" CFLAGS="-g -DHAVE_MPI" CXX="mpCC_r" CXXFLAGS="-g -qrtti=dyna -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with optimization flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with optimization flags ... $ECHO_C" >&6 WANT_HPUX_CC_FLAGS=0 if (test "$with_hpux_cc" = "yes" || ((test $use_preset = 0) && test $CXX = "aCC")) then WANT_HPUX_CC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="+Z +DD64 -fast -DNDEBUG" CXX="aCC" CXXFLAGS="+Z +DD64 +O2 +Oaggressive +noeh -AA +W67,829,336 -DNDEBUG" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with debugging flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with debugging flags ... $ECHO_C" >&6 WANT_HPUX_CC_DEBUG_FLAGS=0 if test "$with_hpux_cc_debug" = "yes"; then WANT_HPUX_CC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="+DD64 +Z -g1" CXX="aCC" CXXFLAGS="+DD64 +Z -AA -g1 +W67,829,336" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with MPI and optimization flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with MPI and optimization flags ... $ECHO_C" >&6 WANT_HPUX_CC_MPI_FLAGS=0 if test "$with_hpux_cc_mpi" = "yes"; then unset CC unset CXX WANT_HPUX_CC_MPI_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpicc" CFLAGS="+Z +DD64 -fast -DNDEBUG -DHAVE_MPI" ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CXXFLAGS="+Z +DD64 +O2 +Oaggressive +noeh -AA +W67,829,336 -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with MPI and debugging flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with MPI and debugging flags ... $ECHO_C" >&6 WANT_HPUX_CC_MPI_DEBUG_FLAGS=0 if test "$with_hpux_cc_mpi_debug" = "yes"; then unset CC unset CXX WANT_HPUX_CC_MPI_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpicc" CFLAGS="+DD64 +Z -g1 -DHAVE_MPI" ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CXXFLAGS="+DD64 +Z -AA -g1 +W67,829,336 -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "" echo "CC : $CC" echo "CFLAGS : $CFLAGS" echo "CXXFLAGS : $CXXFLAGS" echo "CXX : $CXX" echo "CXXCPP : $CXXCPP" echo "LIBS : $LIBS" echo "CPP : $CPP" echo "CPPFLAGS : $CPPFLAGS" echo "" # # Tools # ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6 ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi RANLIB=$ac_ct_RANLIB else RANLIB="$ac_cv_prog_RANLIB" fi have_mpi=false case $CXXFLAGS in *-DHAVE_MPI*) have_mpi=true;; esac echo "$as_me:$LINENO: checking using MPI" >&5 echo $ECHO_N "checking using MPI... $ECHO_C" >&6 if test $have_mpi = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking for X" >&5 echo $ECHO_N "checking for X... $ECHO_C" >&6 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then withval="$with_x" fi; # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then # Both variables are already set. have_x=yes else if test "${ac_cv_have_x+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no rm -fr conftest.dir if mkdir conftest.dir; then cd conftest.dir # Make sure to not put "make" in the Imakefile rules, since we grep it out. cat >Imakefile <<'_ACEOF' acfindx: @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' _ACEOF if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl; do if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && test -f $ac_im_libdir/libX11.$ac_extension; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in /usr/include) ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in /usr/lib | /lib) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. rm -fr conftest.dir fi # Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 /usr/X386/include /usr/x386/include /usr/XFree86/include/X11 /usr/include /usr/local/include /usr/unsupported/include /usr/athena/include /usr/local/x11r5/include /usr/lpp/Xamples/include /usr/openwin/include /usr/openwin/share/include' if test "$ac_x_includes" = no; then # Guess where to find include files, by looking for Intrinsic.h. # First, try using that file with no special directory specified. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # We can compile using X headers with no special include directory. ac_x_includes= else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do if test -r "$ac_dir/X11/Intrinsic.h"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest.err conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then # Check for the libraries. # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS LIBS="-lXt $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { XtMalloc (0) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 LIBS=$ac_save_LIBS for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl; do if test -r $ac_dir/libXt.$ac_extension; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then # Didn't find X anywhere. Cache the known absence of X. ac_cv_have_x="have_x=no" else # Record where we found X for the cache. ac_cv_have_x="have_x=yes \ ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" fi fi fi eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then echo "$as_me:$LINENO: result: $have_x" >&5 echo "${ECHO_T}$have_x" >&6 no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes \ ac_x_includes=$x_includes ac_x_libraries=$x_libraries" echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 fi if test "$no_x" = yes; then # Not all programs may use this symbol, but it does not hurt to define it. cat >>confdefs.h <<\_ACEOF #define X_DISPLAY_MISSING 1 _ACEOF X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= else if test -n "$x_includes"; then X_CFLAGS="$X_CFLAGS -I$x_includes" fi # It would also be nice to do this for all -L options, not just this one. if test -n "$x_libraries"; then X_LIBS="$X_LIBS -L$x_libraries" # For Solaris; some versions of Sun CC require a space after -R and # others require no space. Words are not sufficient . . . . case `(uname -sr) 2>/dev/null` in "SunOS 5"*) echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6 ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_R_nospace=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_R_nospace=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test $ac_R_nospace = yes; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 X_LIBS="$X_LIBS -R$x_libraries" else LIBS="$ac_xsave_LIBS -R $x_libraries" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_R_space=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_R_space=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test $ac_R_space = yes; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 X_LIBS="$X_LIBS -R $x_libraries" else echo "$as_me:$LINENO: result: neither works" >&5 echo "${ECHO_T}neither works" >&6 fi fi LIBS=$ac_xsave_LIBS esac fi # Check for system-dependent libraries X programs must link with. # Do this before checking for the system-independent R6 libraries # (-lICE), since we may need -lsocket or whatever for X linking. if test "$ISC" = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" else # Martyn Johnson says this is needed for Ultrix, if the X # libraries were built with DECnet support. And Karl Berry says # the Alpha needs dnet_stub (dnet does not exist). ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XOpenDisplay (); int main () { XOpenDisplay (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6 if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dnet_ntoa (); int main () { dnet_ntoa (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dnet_dnet_ntoa=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dnet_dnet_ntoa=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6 if test $ac_cv_lib_dnet_dnet_ntoa = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6 if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet_stub $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dnet_ntoa (); int main () { dnet_ntoa (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dnet_stub_dnet_ntoa=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dnet_stub_dnet_ntoa=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6 if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" fi fi fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$ac_xsave_LIBS" # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, # to get the SysV transport functions. # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) # needs -lnsl. # The nsl library prevents programs from opening the X display # on Irix 5.2, according to T.E. Dickey. # The functions gethostbyname, getservbyname, and inet_addr are # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. echo "$as_me:$LINENO: checking for gethostbyname" >&5 echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 if test "${ac_cv_func_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) choke me #else char (*f) () = gethostbyname; #endif #ifdef __cplusplus } #endif int main () { return f != gethostbyname; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_gethostbyname=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 if test $ac_cv_func_gethostbyname = no; then echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); int main () { gethostbyname (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_nsl_gethostbyname=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_nsl_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 if test $ac_cv_lib_nsl_gethostbyname = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" fi if test $ac_cv_lib_nsl_gethostbyname = no; then echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6 if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); int main () { gethostbyname (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_bsd_gethostbyname=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_bsd_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6 if test $ac_cv_lib_bsd_gethostbyname = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" fi fi fi # lieder@skyler.mavd.honeywell.com says without -lsocket, # socket/setsockopt and other routines are undefined under SCO ODT # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary # on later versions), says Simon Leinen: it contains gethostby* # variants that don't use the name server (or something). -lsocket # must be given before -lnsl if both are needed. We assume that # if connect needs -lnsl, so does gethostbyname. echo "$as_me:$LINENO: checking for connect" >&5 echo $ECHO_N "checking for connect... $ECHO_C" >&6 if test "${ac_cv_func_connect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char connect (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_connect) || defined (__stub___connect) choke me #else char (*f) () = connect; #endif #ifdef __cplusplus } #endif int main () { return f != connect; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_connect=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_connect=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 echo "${ECHO_T}$ac_cv_func_connect" >&6 if test $ac_cv_func_connect = no; then echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 if test "${ac_cv_lib_socket_connect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char connect (); int main () { connect (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_socket_connect=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_socket_connect=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 if test $ac_cv_lib_socket_connect = yes; then X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" fi fi # Guillermo Gomez says -lposix is necessary on A/UX. echo "$as_me:$LINENO: checking for remove" >&5 echo $ECHO_N "checking for remove... $ECHO_C" >&6 if test "${ac_cv_func_remove+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char remove (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_remove) || defined (__stub___remove) choke me #else char (*f) () = remove; #endif #ifdef __cplusplus } #endif int main () { return f != remove; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_remove=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_remove=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 echo "${ECHO_T}$ac_cv_func_remove" >&6 if test $ac_cv_func_remove = no; then echo "$as_me:$LINENO: checking for remove in -lposix" >&5 echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6 if test "${ac_cv_lib_posix_remove+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lposix $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char remove (); int main () { remove (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_posix_remove=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_posix_remove=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6 if test $ac_cv_lib_posix_remove = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" fi fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo "$as_me:$LINENO: checking for shmat" >&5 echo $ECHO_N "checking for shmat... $ECHO_C" >&6 if test "${ac_cv_func_shmat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shmat (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_shmat) || defined (__stub___shmat) choke me #else char (*f) () = shmat; #endif #ifdef __cplusplus } #endif int main () { return f != shmat; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_shmat=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shmat=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 echo "${ECHO_T}$ac_cv_func_shmat" >&6 if test $ac_cv_func_shmat = no; then echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6 if test "${ac_cv_lib_ipc_shmat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lipc $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shmat (); int main () { shmat (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ipc_shmat=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_ipc_shmat=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6 if test $ac_cv_lib_ipc_shmat = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" fi fi fi # Check for libraries that X11R6 Xt/Xaw programs need. ac_save_LDFLAGS=$LDFLAGS test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to # check for ICE first), but we must link in the order -lSM -lICE or # we get undefined symbols. So assume we have SM if we have ICE. # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. # John Interrante, Karl Berry echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6 if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char IceConnectionNumber (); int main () { IceConnectionNumber (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ICE_IceConnectionNumber=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_ICE_IceConnectionNumber=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6 if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" fi LDFLAGS=$ac_save_LDFLAGS fi save_libs=$LIBS save_cflags=$CFLAGS save_cppflags=$CPPFLAGS save_ldflags=$LDFLAGS save_cxxflags=$CXXFLAGS #save_cxxflags="$save_cxxflags -DTEMPLATE_IN_HEADER" # # limits # have_no_limits=false echo "$as_me:$LINENO: checking for limits " >&5 echo $ECHO_N "checking for limits ... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then have_no_limits=true else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test $have_no_limits = false; then save_cxxflags="$save_cxxflags -DHAVE_NO_LIMITS" echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # # sstream # have_no_sstream=false echo "$as_me:$LINENO: checking for sstream " >&5 echo $ECHO_N "checking for sstream ... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then have_no_sstream=true else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test $have_no_sstream = false; then save_cxxflags="$save_cxxflags -DHAVE_NO_SSTREAM" echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # # partial_template_specialization # partial_template_specialization=false echo "$as_me:$LINENO: checking for partial template specialization" >&5 echo $ECHO_N "checking for partial template specialization... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include "framework/base/Array_Fastest.h" using namespace ProtoMol; int main () { Array a(ArraySizes(1)(1)(1)); RefArray rA = a[0]; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then partial_template_specialization=true else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test $partial_template_specialization = false; then save_cxxflags="$save_cxxflags -DNO_PARTIAL_TEMPLATE_SPECIALIZATION" echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # # Socket # have_socket=true echo "$as_me:$LINENO: checking for socket in -lsocket" >&5 echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6 if test "${ac_cv_lib_socket_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char socket (); int main () { socket (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_socket_socket=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_socket_socket=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5 echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6 if test $ac_cv_lib_socket_socket = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBSOCKET 1 _ACEOF LIBS="-lsocket $LIBS" else have_socket=false fi if test $have_socket = true; then SOCKET_LIBS="-lsocket" fi have_socket=true echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | (grep -E '(a|b)') >/dev/null 2>&1 then ac_cv_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "${ac_cv_header_sys_socket_h+set}" = set; then echo "$as_me:$LINENO: checking for sys/socket.h" >&5 echo $ECHO_N "checking for sys/socket.h... $ECHO_C" >&6 if test "${ac_cv_header_sys_socket_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_sys_socket_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_socket_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking sys/socket.h usability" >&5 echo $ECHO_N "checking sys/socket.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking sys/socket.h presence" >&5 echo $ECHO_N "checking sys/socket.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: sys/socket.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: sys/socket.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: sys/socket.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: sys/socket.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: sys/socket.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: sys/socket.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for sys/socket.h" >&5 echo $ECHO_N "checking for sys/socket.h... $ECHO_C" >&6 if test "${ac_cv_header_sys_socket_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_sys_socket_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_sys_socket_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_socket_h" >&6 fi if test $ac_cv_header_sys_socket_h = yes; then : else have_socket=false fi echo "$as_me:$LINENO: checking for socketlen type" >&5 echo $ECHO_N "checking for socketlen type... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { sockaddr_in addr; socklen_t len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE=socklen_t else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test "${SOCKLEN_TYPE}" = "" ; then cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { sockaddr_in addr; size_t len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE=size_t else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext fi if test "${SOCKLEN_TYPE}" = "" ; then cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { sockaddr_in addr; unsigned int len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE="unsigned int" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext fi if test "${SOCKLEN_TYPE}" = "" ; then cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { sockaddr_in addr; int len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE="int" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext fi if test "${SOCKLEN_TYPE}" != "" ; then echo "$as_me:$LINENO: result: $SOCKLEN_TYPE" >&5 echo "${ECHO_T}$SOCKLEN_TYPE" >&6 fi cat >>confdefs.h <<_ACEOF #define SOCKLEN_TYPE ${SOCKLEN_TYPE} _ACEOF # # Sizeof # echo "$as_me:$LINENO: checking for char" >&5 echo $ECHO_N "checking for char... $ECHO_C" >&6 if test "${ac_cv_type_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((char *) 0) return 0; if (sizeof (char)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_char=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_char=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5 echo "${ECHO_T}$ac_cv_type_char" >&6 echo "$as_me:$LINENO: checking size of char" >&5 echo $ECHO_N "checking size of char... $ECHO_C" >&6 if test "${ac_cv_sizeof_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_char" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (char))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (char))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (char))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_char=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (char), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (char)); } unsigned long ulongval () { return (long) (sizeof (char)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (char))) < 0) { long i = longval (); if (i != ((long) (sizeof (char)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (char)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_char=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (char), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_char=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5 echo "${ECHO_T}$ac_cv_sizeof_char" >&6 cat >>confdefs.h <<_ACEOF #define SIZEOF_CHAR $ac_cv_sizeof_char _ACEOF echo "$as_me:$LINENO: checking for short" >&5 echo $ECHO_N "checking for short... $ECHO_C" >&6 if test "${ac_cv_type_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((short *) 0) return 0; if (sizeof (short)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_short=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_short=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5 echo "${ECHO_T}$ac_cv_type_short" >&6 echo "$as_me:$LINENO: checking size of short" >&5 echo $ECHO_N "checking size of short... $ECHO_C" >&6 if test "${ac_cv_sizeof_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_short" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (short))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (short))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (short))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_short=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (short), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (short)); } unsigned long ulongval () { return (long) (sizeof (short)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (short))) < 0) { long i = longval (); if (i != ((long) (sizeof (short)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (short)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_short=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (short), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_short=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5 echo "${ECHO_T}$ac_cv_sizeof_short" >&6 cat >>confdefs.h <<_ACEOF #define SIZEOF_SHORT $ac_cv_sizeof_short _ACEOF echo "$as_me:$LINENO: checking for int" >&5 echo $ECHO_N "checking for int... $ECHO_C" >&6 if test "${ac_cv_type_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((int *) 0) return 0; if (sizeof (int)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_int=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_int=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5 echo "${ECHO_T}$ac_cv_type_int" >&6 echo "$as_me:$LINENO: checking size of int" >&5 echo $ECHO_N "checking size of int... $ECHO_C" >&6 if test "${ac_cv_sizeof_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_int" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (int))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (int))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (int))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_int=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (int), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (int)); } unsigned long ulongval () { return (long) (sizeof (int)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (int))) < 0) { long i = longval (); if (i != ((long) (sizeof (int)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (int)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_int=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (int), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_int=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5 echo "${ECHO_T}$ac_cv_sizeof_int" >&6 cat >>confdefs.h <<_ACEOF #define SIZEOF_INT $ac_cv_sizeof_int _ACEOF echo "$as_me:$LINENO: checking for long" >&5 echo $ECHO_N "checking for long... $ECHO_C" >&6 if test "${ac_cv_type_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((long *) 0) return 0; if (sizeof (long)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_long=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 echo "${ECHO_T}$ac_cv_type_long" >&6 echo "$as_me:$LINENO: checking size of long" >&5 echo $ECHO_N "checking size of long... $ECHO_C" >&6 if test "${ac_cv_sizeof_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_long" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_long=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (long), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (long)); } unsigned long ulongval () { return (long) (sizeof (long)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (long))) < 0) { long i = longval (); if (i != ((long) (sizeof (long)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (long)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_long=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (long), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_long=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 echo "${ECHO_T}$ac_cv_sizeof_long" >&6 cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG $ac_cv_sizeof_long _ACEOF echo "$as_me:$LINENO: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6 if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((size_t *) 0) return 0; if (sizeof (size_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_size_t=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6 echo "$as_me:$LINENO: checking size of size_t" >&5 echo $ECHO_N "checking size of size_t... $ECHO_C" >&6 if test "${ac_cv_sizeof_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_size_t" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (size_t))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (size_t))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (size_t))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (size_t))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (size_t))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_size_t=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (size_t), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (size_t)); } unsigned long ulongval () { return (long) (sizeof (size_t)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (size_t))) < 0) { long i = longval (); if (i != ((long) (sizeof (size_t)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (size_t)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_size_t=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (size_t), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_size_t=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5 echo "${ECHO_T}$ac_cv_sizeof_size_t" >&6 cat >>confdefs.h <<_ACEOF #define SIZEOF_SIZE_T $ac_cv_sizeof_size_t _ACEOF echo "$as_me:$LINENO: checking for void*" >&5 echo $ECHO_N "checking for void*... $ECHO_C" >&6 if test "${ac_cv_type_voidp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((void* *) 0) return 0; if (sizeof (void*)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_voidp=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_voidp=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_voidp" >&5 echo "${ECHO_T}$ac_cv_type_voidp" >&6 echo "$as_me:$LINENO: checking size of void*" >&5 echo $ECHO_N "checking size of void*... $ECHO_C" >&6 if test "${ac_cv_sizeof_voidp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_voidp" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (void*))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (void*))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (void*))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (void*))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (void*))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_voidp=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (void*), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (void*), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (void*)); } unsigned long ulongval () { return (long) (sizeof (void*)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (void*))) < 0) { long i = longval (); if (i != ((long) (sizeof (void*)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (void*)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_voidp=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (void*), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (void*), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_voidp=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_voidp" >&5 echo "${ECHO_T}$ac_cv_sizeof_voidp" >&6 cat >>confdefs.h <<_ACEOF #define SIZEOF_VOIDP $ac_cv_sizeof_voidp _ACEOF SIZEOF_INT=$ac_cv_sizeof_int SIZEOF_SHORT=$ac_cv_sizeof_int echo "$as_me:$LINENO: checking for 32-bit int" >&5 echo $ECHO_N "checking for 32-bit int... $ECHO_C" >&6 if test "${SIZEOF_INT}" = 4; then INT32_TYPE=int elif test "${SIZEOF_SHORT}" = 4; then INT32_TYPE=short else { { echo "$as_me:$LINENO: error: neither int (${SIZEOF_INT}) nor short (${SIZEOF_SHORT}) have sizeof 4!" >&5 echo "$as_me: error: neither int (${SIZEOF_INT}) nor short (${SIZEOF_SHORT}) have sizeof 4!" >&2;} { (exit 1); exit 1; }; } fi cat >>confdefs.h <<_ACEOF #define INT32_TYPE ${INT32_TYPE} _ACEOF echo "$as_me:$LINENO: result: $INT32_TYPE" >&5 echo "${ECHO_T}$INT32_TYPE" >&6 # # cycles # # comment out if autoconf less then 2.53 echo "$as_me:$LINENO: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6 if test "${ac_cv_c_inline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_inline=$ac_kw; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done fi echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6 case $ac_cv_c_inline in inline | yes) ;; no) cat >>confdefs.h <<\_ACEOF #define inline _ACEOF ;; *) cat >>confdefs.h <<_ACEOF #define inline $ac_cv_c_inline _ACEOF ;; esac echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_time=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_time=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6 if test $ac_cv_header_time = yes; then cat >>confdefs.h <<\_ACEOF #define TIME_WITH_SYS_TIME 1 _ACEOF fi for ac_header in sys/time.h c_asm.h intrinsics.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for hrtime_t" >&5 echo $ECHO_N "checking for hrtime_t... $ECHO_C" >&6 if test "${ac_cv_type_hrtime_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if HAVE_SYS_TIME_H #include #endif int main () { if ((hrtime_t *) 0) return 0; if (sizeof (hrtime_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_hrtime_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_hrtime_t=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_hrtime_t" >&5 echo "${ECHO_T}$ac_cv_type_hrtime_t" >&6 if test $ac_cv_type_hrtime_t = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_HRTIME_T 1 _ACEOF fi for ac_func in gethrtime clock_gettime do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for read_real_time" >&5 echo $ECHO_N "checking for read_real_time... $ECHO_C" >&6 read_real_time_ok=yes cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if TIME_WITH_SYS_TIME # include # include #else # if HAVE_SYS_TIME_H # include # else # include # endif #endif int main () { timebasestruct_t t; read_real_time(&t, TIMEBASE_SZ); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cat >>confdefs.h <<\_ACEOF #define HAVE_READ_REAL_TIME 1 _ACEOF else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 read_real_time_ok=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $read_real_time_ok" >&5 echo "${ECHO_T}$read_real_time_ok" >&6 echo "$as_me:$LINENO: checking for time_base_to_time" >&5 echo $ECHO_N "checking for time_base_to_time... $ECHO_C" >&6 time_base_to_time_ok=yes cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if TIME_WITH_SYS_TIME # include # include #else # if HAVE_SYS_TIME_H # include # else # include # endif #endif int main () { timebasestruct_t t; time_base_to_time(&t, TIMEBASE_SZ); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cat >>confdefs.h <<\_ACEOF #define HAVE_TIME_BASE_TO_TIME 1 _ACEOF else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 time_base_to_time_ok=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $time_base_to_time_ok" >&5 echo "${ECHO_T}$time_base_to_time_ok" >&6 #AC_MSG_CHECKING([for rtc]) #rtc_ok=yes #AC_TRY_COMPILE([], [], [AC_DEFINE(HAVE_RTC,1,[Define if you have the rtc().])], [rtc_ok=no]) #AC_MSG_RESULT($rtc_ok) echo "$as_me:$LINENO: checking for _rtc intrinsic" >&5 echo $ECHO_N "checking for _rtc intrinsic... $ECHO_C" >&6 rtc_ok=yes cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef HAVE_INTRINSICS_H #include #endif int main () { _rtc() ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cat >>confdefs.h <<\_ACEOF #define HAVE__RTC 1 _ACEOF else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 rtc_ok=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext echo "$as_me:$LINENO: result: $rtc_ok" >&5 echo "${ECHO_T}$rtc_ok" >&6 # # FFT # # # FFT ZFFT # have_fft_zfft=true FFT_ZFFT_LIBS="" FFT_ZFFT_CFLAGS="" # # FFT SGI # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_fft_sgi=true FFT_SGI_LIBS="-lcomplib.sgimath" FFT_SGI_CFLAGS="-DHAVE_FFT_SGI -DHAVE_FFT" echo "$as_me:$LINENO: checking for zfftm1di in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfftm1di in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfftm1di+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfftm1di (); int main () { zfftm1di (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfftm1di=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfftm1di=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfftm1di" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfftm1di" >&6 if test $ac_cv_lib_complib_sgimath_zfftm1di = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfftm1d in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfftm1d in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfftm1d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfftm1d (); int main () { zfftm1d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfftm1d=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfftm1d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfftm1d" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfftm1d" >&6 if test $ac_cv_lib_complib_sgimath_zfftm1d = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft2di in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft2di in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft2di+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft2di (); int main () { zfft2di (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft2di=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft2di=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft2di" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft2di" >&6 if test $ac_cv_lib_complib_sgimath_zfft2di = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft2d in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft2d in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft2d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft2d (); int main () { zfft2d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft2d=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft2d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft2d" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft2d" >&6 if test $ac_cv_lib_complib_sgimath_zfft2d = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft3di in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft3di in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft3di+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft3di (); int main () { zfft3di (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft3di=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft3di=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft3di" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft3di" >&6 if test $ac_cv_lib_complib_sgimath_zfft3di = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft3d in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft3d in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft3d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft3d (); int main () { zfft3d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft3d=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft3d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft3d" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft3d" >&6 if test $ac_cv_lib_complib_sgimath_zfft3d = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi if test "${ac_cv_header_fft_h+set}" = set; then echo "$as_me:$LINENO: checking for fft.h" >&5 echo $ECHO_N "checking for fft.h... $ECHO_C" >&6 if test "${ac_cv_header_fft_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fft_h" >&5 echo "${ECHO_T}$ac_cv_header_fft_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fft.h usability" >&5 echo $ECHO_N "checking fft.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fft.h presence" >&5 echo $ECHO_N "checking fft.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fft.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fft.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fft.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fft.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: fft.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fft.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fft.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fft.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fft.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fft.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for fft.h" >&5 echo $ECHO_N "checking for fft.h... $ECHO_C" >&6 if test "${ac_cv_header_fft_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fft_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fft_h" >&5 echo "${ECHO_T}$ac_cv_header_fft_h" >&6 fi if test $ac_cv_header_fft_h = yes; then : else have_fft_sgi=false fi # # FFT AIX/IBM # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_fft_essl=true FFT_ESSL_LIBS="-lessl" FFT_ESSL_CFLAGS="-DHAVE_FFT_ESSL -DHAVE_FFT" echo "$as_me:$LINENO: checking for dcft in -lessl" >&5 echo $ECHO_N "checking for dcft in -lessl... $ECHO_C" >&6 if test "${ac_cv_lib_essl_dcft+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lessl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dcft (); int main () { dcft (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_essl_dcft=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_essl_dcft=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_essl_dcft" >&5 echo "${ECHO_T}$ac_cv_lib_essl_dcft" >&6 if test $ac_cv_lib_essl_dcft = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBESSL 1 _ACEOF LIBS="-lessl $LIBS" else have_fft_essl=false fi if test "${ac_cv_header_essl_h+set}" = set; then echo "$as_me:$LINENO: checking for essl.h" >&5 echo $ECHO_N "checking for essl.h... $ECHO_C" >&6 if test "${ac_cv_header_essl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_essl_h" >&5 echo "${ECHO_T}$ac_cv_header_essl_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking essl.h usability" >&5 echo $ECHO_N "checking essl.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking essl.h presence" >&5 echo $ECHO_N "checking essl.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: essl.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: essl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: essl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: essl.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: essl.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: essl.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: essl.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: essl.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: essl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: essl.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for essl.h" >&5 echo $ECHO_N "checking for essl.h... $ECHO_C" >&6 if test "${ac_cv_header_essl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_essl_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_essl_h" >&5 echo "${ECHO_T}$ac_cv_header_essl_h" >&6 fi if test $ac_cv_header_essl_h = yes; then : else have_fft_essl=false fi # # FFTW2 MPI # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw2mpi=false if test x"$with_fftw2mpi" != x; then FFTW2_MPI_INCLUDE="$with_fftw2mpi/include" FFTW2_MPI_LIB="$with_fftw2mpi/lib" FFTW2_MPI_ROOT="$with_fftw2mpi" require_fftw2mpi=true fi FFT_FFTW2_MPI_LIBS="-L$FFTW2_MPI_LIB -lfftw_mpi -lfftw" FFT_FFTW2_MPI_CFLAGS="-DHAVE_FFT_FFTW2_MPI -DHAVE_FFT -I$FFTW2_MPI_INCLUDE" LIBS="$FFT_FFTW2_MPI_LIBS" CFLAGS="$CFLAGS $FFT_FFTW2_MPI_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW2_MPI_CFLAGS" have_fft_fftw2mpi=true unset ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan unset ac_cv_lib_fftw_fftw3d_create_plan unset ac_cv_header_fftw_mpi_h unset ac_cv_header_fftw_h echo "$as_me:$LINENO: checking for fftw3d_mpi_create_plan in -lfftw_mpi" >&5 echo $ECHO_N "checking for fftw3d_mpi_create_plan in -lfftw_mpi... $ECHO_C" >&6 if test "${ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw_mpi $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw3d_mpi_create_plan (); int main () { fftw3d_mpi_create_plan (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan" >&5 echo "${ECHO_T}$ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan" >&6 if test $ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBFFTW_MPI 1 _ACEOF LIBS="-lfftw_mpi $LIBS" else have_fft_fftw2mpi=false fi echo "$as_me:$LINENO: checking for fftw3d_create_plan in -lfftw" >&5 echo $ECHO_N "checking for fftw3d_create_plan in -lfftw... $ECHO_C" >&6 if test "${ac_cv_lib_fftw_fftw3d_create_plan+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw3d_create_plan (); int main () { fftw3d_create_plan (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw_fftw3d_create_plan=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_fftw_fftw3d_create_plan=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw_fftw3d_create_plan" >&5 echo "${ECHO_T}$ac_cv_lib_fftw_fftw3d_create_plan" >&6 if test $ac_cv_lib_fftw_fftw3d_create_plan = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBFFTW 1 _ACEOF LIBS="-lfftw $LIBS" else have_fft_fftw2mpi=false fi if test "${ac_cv_header_fftw_mpi_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw_mpi.h" >&5 echo $ECHO_N "checking for fftw_mpi.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_mpi_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_mpi_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_mpi_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw_mpi.h usability" >&5 echo $ECHO_N "checking fftw_mpi.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw_mpi.h presence" >&5 echo $ECHO_N "checking fftw_mpi.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw_mpi.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw_mpi.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw_mpi.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for fftw_mpi.h" >&5 echo $ECHO_N "checking for fftw_mpi.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_mpi_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw_mpi_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_mpi_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_mpi_h" >&6 fi if test $ac_cv_header_fftw_mpi_h = yes; then : else have_fft_fftw2mpi=false fi if test "${ac_cv_header_fftw_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw.h usability" >&5 echo $ECHO_N "checking fftw.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw.h presence" >&5 echo $ECHO_N "checking fftw.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 fi if test $ac_cv_header_fftw_h = yes; then : else have_fft_fftw2mpi=false fi # # FFTW3 # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw3=false if test x"$with_fftw3" != x; then FFTW3_INCLUDE="$with_fftw3/include" FFTW3_LIB="$with_fftw3/lib" FFTW3_ROOT="$with_fftw3" require_fftw3=true fi FFT_FFTW3_LIBS="-L$FFTW3_LIB -lfftw3" FFT_FFTW3_CFLAGS="-DHAVE_FFT_FFTW3 -DHAVE_FFT -I$FFTW3_INCLUDE" LIBS="$FFT_FFTW3_LIBS" CFLAGS="$CFLAGS $FFT_FFTW3_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW3_CFLAGS" have_fft_fftw3=true unset ac_cv_lib_fftw3_fftw_plan_dft_3d unset ac_cv_header_fftw3_h echo "$as_me:$LINENO: checking for fftw_plan_dft_3d in -lfftw3" >&5 echo $ECHO_N "checking for fftw_plan_dft_3d in -lfftw3... $ECHO_C" >&6 if test "${ac_cv_lib_fftw3_fftw_plan_dft_3d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw3 $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw_plan_dft_3d (); int main () { fftw_plan_dft_3d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw3_fftw_plan_dft_3d=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_fftw3_fftw_plan_dft_3d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw3_fftw_plan_dft_3d" >&5 echo "${ECHO_T}$ac_cv_lib_fftw3_fftw_plan_dft_3d" >&6 if test $ac_cv_lib_fftw3_fftw_plan_dft_3d = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBFFTW3 1 _ACEOF LIBS="-lfftw3 $LIBS" else have_fft_fftw3=false fi if test "${ac_cv_header_fftw3_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw3.h" >&5 echo $ECHO_N "checking for fftw3.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw3_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw3_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw3_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw3.h usability" >&5 echo $ECHO_N "checking fftw3.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw3.h presence" >&5 echo $ECHO_N "checking fftw3.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw3.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw3.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw3.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw3.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw3.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw3.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw3.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw3.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw3.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw3.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for fftw3.h" >&5 echo $ECHO_N "checking for fftw3.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw3_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw3_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw3_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw3_h" >&6 fi if test $ac_cv_header_fftw3_h = yes; then : else have_fft_fftw3=false fi # # FFTW2 # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw2=false if test x"$with_fftw2" != x; then FFTW2_INCLUDE="$with_fftw2/include" FFTW2_LIB="$with_fftw2/lib" FFTW2_ROOT="$with_fftw2" require_fftw2=true fi FFT_FFTW2_LIBS="-L$FFTW2_LIB -lfftw" FFT_FFTW2_CFLAGS="-DHAVE_FFT_FFTW2 -DHAVE_FFT -I$FFTW2_INCLUDE" LIBS="$FFT_FFTW2_LIBS" CFLAGS="$CFLAGS $FFT_FFTW2_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW2_CFLAGS" have_fft_fftw2=true unset ac_cv_lib_fftw_fftw3d_create_plan unset ac_cv_header_fftw_h echo "$as_me:$LINENO: checking for fftw3d_create_plan in -lfftw" >&5 echo $ECHO_N "checking for fftw3d_create_plan in -lfftw... $ECHO_C" >&6 if test "${ac_cv_lib_fftw_fftw3d_create_plan+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw3d_create_plan (); int main () { fftw3d_create_plan (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw_fftw3d_create_plan=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_fftw_fftw3d_create_plan=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw_fftw3d_create_plan" >&5 echo "${ECHO_T}$ac_cv_lib_fftw_fftw3d_create_plan" >&6 if test $ac_cv_lib_fftw_fftw3d_create_plan = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBFFTW 1 _ACEOF LIBS="-lfftw $LIBS" else have_fft_fftw2=false fi if test "${ac_cv_header_fftw_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw.h usability" >&5 echo $ECHO_N "checking fftw.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw.h presence" >&5 echo $ECHO_N "checking fftw.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 fi if test $ac_cv_header_fftw_h = yes; then : else have_fft_fftw2=false fi # echo "$as_me:$LINENO: checking FFT SGI complib.sgimath" >&5 echo $ECHO_N "checking FFT SGI complib.sgimath... $ECHO_C" >&6 if test $have_fft_sgi = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT ESSL" >&5 echo $ECHO_N "checking FFT ESSL... $ECHO_C" >&6 if test $have_fft_essl = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT FFTW3" >&5 echo $ECHO_N "checking FFT FFTW3... $ECHO_C" >&6 if test $have_fft_fftw3 = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT FFTW2" >&5 echo $ECHO_N "checking FFT FFTW2... $ECHO_C" >&6 if test $have_fft_fftw2 = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT FFTW2 MPI" >&5 echo $ECHO_N "checking FFT FFTW2 MPI... $ECHO_C" >&6 if test $have_fft_fftw2mpi = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # Now, pick the right one ... have_fft=false if (test x"$with_fft" = xsgi && test $have_fft_sgi = true) then echo "using SGI FFT complib.sgimath" FFT_LIBS=$FFT_SGI_LIBS FFT_CFLAGS=$FFT_SGI_CFLAGS have_fft=true elif (test x"$with_fft" = xessl && test $have_fft_essl = true) then echo "using FFT ESSL" FFT_LIBS=$FFT_ESSL_LIBS FFT_CFLAGS=$FFT_ESSL_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw2mpi && test $have_fft_fftw2mpi = true && $have_mpi = true) then echo "using FFTW2 MPI" FFT_LIBS=$FFT_FFTW2_MPI_LIBS FFT_CFLAGS=$FFT_FFTW2_MPI_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw3 && test $have_fft_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw2 && test $have_fft_fftw2 = true) then echo "using FFTW2" FFT_LIBS=$FFT_FFTW2_LIBS FFT_CFLAGS=$FFT_FFTW2_CFLAGS have_fft=true elif (test x"$with_fft" = xzfft) then echo "using FFT ZFFT" FFT_LIBS=$FFT_ZFFT_LIBS FFT_CFLAGS=$FFT_ZFFT_CFLAGS have_fft=true else if (test x"$with_fft" != x) then echo "Opps ... $with_fft not supported!" fi if (test $have_fft_fftw2mpi = true && test $require_fftw2mpi = true && $have_mpi = true) then echo "using FFTW2 MPI" FFT_LIBS=$FFT_FFTW2_MPI_LIBS FFT_CFLAGS=$FFT_FFTW2_MPI_CFLAGS elif (test $have_fft_fftw3 = true && test $require_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS elif (test $have_fft_sgi = true) then echo "using SGI FFT complib.sgimath" FFT_LIBS=$FFT_SGI_LIBS FFT_CFLAGS=$FFT_SGI_CFLAGS elif (test $have_fft_essl = true) then echo "using FFT ESSL" FFT_LIBS=$FFT_ESSL_LIBS FFT_CFLAGS=$FFT_ESSL_CFLAGS elif (test $have_fft_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS elif (test $have_fft_fftw2 = true) then echo "using FFTW2" FFT_LIBS=$FFT_FFTW2_LIBS FFT_CFLAGS=$FFT_FFTW2_CFLAGS else echo "using FFT ZFFT" FFT_LIBS=$FFT_ZFFT_LIBS FFT_CFLAGS=$FFT_ZFFT_CFLAGS fi fi # echo "FFT_ESSL_LIBS : $FFT_ESSL_LIBS" # echo "FFT_ESSL_CFLAGS : $FFT_ESSL_CFLAGS" # echo "FFT_FFTW3_LIBS : $FFT_FFTW3_LIBS" # echo "FFT_FFTW3_CFLAGS : $FFT_FFTW3_CFLAGS" # echo "FFT_FFTW2_LIBS : $FFT_FFTW2_LIBS" # echo "FFT_FFTW2_CFLAGS : $FFT_FFTW2_CFLAGS" # echo "FFT_LIBS : $FFT_LIBS" # echo "FFT_CFLAGS : $FFT_CFLAGS" # PNG LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_png=true PNG_LIBS="-lpng" echo "$as_me:$LINENO: checking for compress in -lz" >&5 echo $ECHO_N "checking for compress in -lz... $ECHO_C" >&6 if test "${ac_cv_lib_z_compress+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char compress (); int main () { compress (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_z_compress=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_compress=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress" >&5 echo "${ECHO_T}$ac_cv_lib_z_compress" >&6 if test $ac_cv_lib_z_compress = yes; then LIBS="$LIBS -lz" GLUT_LIBS="$GLUT_LIBS -lz" fi if test "${ac_cv_header_png_h+set}" = set; then echo "$as_me:$LINENO: checking for png.h" >&5 echo $ECHO_N "checking for png.h... $ECHO_C" >&6 if test "${ac_cv_header_png_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5 echo "${ECHO_T}$ac_cv_header_png_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking png.h usability" >&5 echo $ECHO_N "checking png.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking png.h presence" >&5 echo $ECHO_N "checking png.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: png.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: png.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: png.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: png.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: png.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: png.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for png.h" >&5 echo $ECHO_N "checking for png.h... $ECHO_C" >&6 if test "${ac_cv_header_png_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_png_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5 echo "${ECHO_T}$ac_cv_header_png_h" >&6 fi if test $ac_cv_header_png_h = yes; then : else have_png=false PNG_LIBS="" fi echo "$as_me:$LINENO: checking for png_create_write_struct in -lpng" >&5 echo $ECHO_N "checking for png_create_write_struct in -lpng... $ECHO_C" >&6 if test "${ac_cv_lib_png_png_create_write_struct+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpng $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char png_create_write_struct (); int main () { png_create_write_struct (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_png_png_create_write_struct=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_png_png_create_write_struct=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_png_png_create_write_struct" >&5 echo "${ECHO_T}$ac_cv_lib_png_png_create_write_struct" >&6 if test $ac_cv_lib_png_png_create_write_struct = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBPNG 1 _ACEOF LIBS="-lpng $LIBS" else have_png=false PNG_LIBS="" fi if (test "$PNG_LIBS" != "") then echo "using PNG... yes" else echo "using PNG... no" fi # X11 LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_x11=true #X_CFLAGS="-I/usr/X11R6/include" #X_LIBS="-L/usr/X11R6/lib -lXm -lXt -lXext -lX11" LIBS="$X_LIBS $LIBS -lGLU -lGL -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi -lXext -lX11" CFLAGS="$CFLAGS $X_CFLAGS" echo "$as_me:$LINENO: checking for pthread_cancel in -lpthread" >&5 echo $ECHO_N "checking for pthread_cancel in -lpthread... $ECHO_C" >&6 if test "${ac_cv_lib_pthread_pthread_cancel+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char pthread_cancel (); int main () { pthread_cancel (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_pthread_pthread_cancel=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_pthread_pthread_cancel=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_cancel" >&5 echo "${ECHO_T}$ac_cv_lib_pthread_pthread_cancel" >&6 if test $ac_cv_lib_pthread_pthread_cancel = yes; then LIBS="$LIBS -lpthread" fi echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then LIBS="$LIBS -ldl" fi #echo "$X_LIBS $X_CFLAGS" #echo "$LIBS $CFLAGS" #AC_CHECK_LIB(Xm, XmStringFree, ,[have_x11=false]) echo "$as_me:$LINENO: checking for XmuAllStandardColormaps in -lXmu" >&5 echo $ECHO_N "checking for XmuAllStandardColormaps in -lXmu... $ECHO_C" >&6 if test "${ac_cv_lib_Xmu_XmuAllStandardColormaps_+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXmu $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XmuAllStandardColormaps (); int main () { XmuAllStandardColormaps (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xmu_XmuAllStandardColormaps_=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_Xmu_XmuAllStandardColormaps_=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xmu_XmuAllStandardColormaps_" >&5 echo "${ECHO_T}$ac_cv_lib_Xmu_XmuAllStandardColormaps_" >&6 if test $ac_cv_lib_Xmu_XmuAllStandardColormaps_ = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBXMU 1 _ACEOF LIBS="-lXmu $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XtAppInitialize in -lXt" >&5 echo $ECHO_N "checking for XtAppInitialize in -lXt... $ECHO_C" >&6 if test "${ac_cv_lib_Xt_XtAppInitialize+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXt $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XtAppInitialize (); int main () { XtAppInitialize (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xt_XtAppInitialize=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_Xt_XtAppInitialize=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xt_XtAppInitialize" >&5 echo "${ECHO_T}$ac_cv_lib_Xt_XtAppInitialize" >&6 if test $ac_cv_lib_Xt_XtAppInitialize = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBXT 1 _ACEOF LIBS="-lXt $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for SmcOpenConnection in -lSM" >&5 echo $ECHO_N "checking for SmcOpenConnection in -lSM... $ECHO_C" >&6 if test "${ac_cv_lib_SM_SmcOpenConnection+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lSM $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char SmcOpenConnection (); int main () { SmcOpenConnection (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_SM_SmcOpenConnection=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_SM_SmcOpenConnection=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_SM_SmcOpenConnection" >&5 echo "${ECHO_T}$ac_cv_lib_SM_SmcOpenConnection" >&6 if test $ac_cv_lib_SM_SmcOpenConnection = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBSM 1 _ACEOF LIBS="-lSM $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for IceAcceptConnection in -lICE" >&5 echo $ECHO_N "checking for IceAcceptConnection in -lICE... $ECHO_C" >&6 if test "${ac_cv_lib_ICE_IceAcceptConnection+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char IceAcceptConnection (); int main () { IceAcceptConnection (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ICE_IceAcceptConnection=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_ICE_IceAcceptConnection=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceAcceptConnection" >&5 echo "${ECHO_T}$ac_cv_lib_ICE_IceAcceptConnection" >&6 if test $ac_cv_lib_ICE_IceAcceptConnection = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBICE 1 _ACEOF LIBS="-lICE $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XextCreateExtension in -lXext" >&5 echo $ECHO_N "checking for XextCreateExtension in -lXext... $ECHO_C" >&6 if test "${ac_cv_lib_Xext_XextCreateExtension+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXext $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XextCreateExtension (); int main () { XextCreateExtension (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xext_XextCreateExtension=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_Xext_XextCreateExtension=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XextCreateExtension" >&5 echo "${ECHO_T}$ac_cv_lib_Xext_XextCreateExtension" >&6 if test $ac_cv_lib_Xext_XextCreateExtension = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBXEXT 1 _ACEOF LIBS="-lXext $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XOpenDisplay in -lX11" >&5 echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6 if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lX11 $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XOpenDisplay (); int main () { XOpenDisplay (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_X11_XOpenDisplay=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_X11_XOpenDisplay=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XOpenDisplay" >&5 echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6 if test $ac_cv_lib_X11_XOpenDisplay = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBX11 1 _ACEOF LIBS="-lX11 $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XOpenDevice in -lXi" >&5 echo $ECHO_N "checking for XOpenDevice in -lXi... $ECHO_C" >&6 if test "${ac_cv_lib_Xi_XOpenDevice+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXi $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XOpenDevice (); int main () { XOpenDevice (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xi_XOpenDevice=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_Xi_XOpenDevice=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xi_XOpenDevice" >&5 echo "${ECHO_T}$ac_cv_lib_Xi_XOpenDevice" >&6 if test $ac_cv_lib_Xi_XOpenDevice = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBXI 1 _ACEOF LIBS="-lXi $LIBS" else have_x11=false fi # GLUT LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_glut=true require_glut=false if test "$with_glut" != ""; then if (test "$with_glut" != false && test "$with_glut" != no) then require_glut=true fi if (test "$with_glut" != yes && test "$with_glut" != true && test "$with_glut" != false && test "$with_glut" != no) then GLUT_ROOT="$with_glut" GLUT_LIBS="-L$GLUT_ROOT/lib -L$GLUT_ROOT/lib/glut" GLUT_CFLAGS="-I$GLUT_ROOT/include -I$GLUT_ROOT/include/GL" fi fi GLUT_LIBS="$GLUT_LIBS $X_LIBS -lglut -lGLU -lGL -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi -lXext -lX11" GLUT_CFLAGS="$GLUT_CFLAGS $X_CFLAGS" LIBS=$GLUT_LIBS CPPFLAGS="$CPPFLAGS $GLUT_CFLAGS" echo "$as_me:$LINENO: checking for pthread_cancel in -lpthread" >&5 echo $ECHO_N "checking for pthread_cancel in -lpthread... $ECHO_C" >&6 if test "${ac_cv_lib_pthread_pthread_cancel+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char pthread_cancel (); int main () { pthread_cancel (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_pthread_pthread_cancel=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_pthread_pthread_cancel=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_cancel" >&5 echo "${ECHO_T}$ac_cv_lib_pthread_pthread_cancel" >&6 if test $ac_cv_lib_pthread_pthread_cancel = yes; then GLUT_LIBS="$GLUT_LIBS -lpthread" LIBS="$LIBS -lpthread" fi echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then GLUT_LIBS="$GLUT_LIBS -ldl" LIBS="$LIBS -ldl" fi echo "$as_me:$LINENO: checking for glClear in -lGL" >&5 echo $ECHO_N "checking for glClear in -lGL... $ECHO_C" >&6 if test "${ac_cv_lib_GL_glClear+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGL $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char glClear (); int main () { glClear (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_GL_glClear=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_GL_glClear=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_GL_glClear" >&5 echo "${ECHO_T}$ac_cv_lib_GL_glClear" >&6 if test $ac_cv_lib_GL_glClear = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBGL 1 _ACEOF LIBS="-lGL $LIBS" else have_glut=false fi echo "$as_me:$LINENO: checking for gluLookAt in -lGLU" >&5 echo $ECHO_N "checking for gluLookAt in -lGLU... $ECHO_C" >&6 if test "${ac_cv_lib_GLU_gluLookAt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGLU $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gluLookAt (); int main () { gluLookAt (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_GLU_gluLookAt=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_GLU_gluLookAt=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_GLU_gluLookAt" >&5 echo "${ECHO_T}$ac_cv_lib_GLU_gluLookAt" >&6 if test $ac_cv_lib_GLU_gluLookAt = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBGLU 1 _ACEOF LIBS="-lGLU $LIBS" else have_glut=false fi echo "$as_me:$LINENO: checking for glutMainLoop in -lglut" >&5 echo $ECHO_N "checking for glutMainLoop in -lglut... $ECHO_C" >&6 if test "${ac_cv_lib_glut_glutMainLoop+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lglut $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char glutMainLoop (); int main () { glutMainLoop (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_glut_glutMainLoop=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_glut_glutMainLoop=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_glut_glutMainLoop" >&5 echo "${ECHO_T}$ac_cv_lib_glut_glutMainLoop" >&6 if test $ac_cv_lib_glut_glutMainLoop = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBGLUT 1 _ACEOF LIBS="-lglut $LIBS" else have_glut=false fi if test "${ac_cv_header_GL_glut_h+set}" = set; then echo "$as_me:$LINENO: checking for GL/glut.h" >&5 echo $ECHO_N "checking for GL/glut.h... $ECHO_C" >&6 if test "${ac_cv_header_GL_glut_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_GL_glut_h" >&5 echo "${ECHO_T}$ac_cv_header_GL_glut_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking GL/glut.h usability" >&5 echo $ECHO_N "checking GL/glut.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking GL/glut.h presence" >&5 echo $ECHO_N "checking GL/glut.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: GL/glut.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: GL/glut.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: GL/glut.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: GL/glut.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: GL/glut.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: GL/glut.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for GL/glut.h" >&5 echo $ECHO_N "checking for GL/glut.h... $ECHO_C" >&6 if test "${ac_cv_header_GL_glut_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_GL_glut_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_GL_glut_h" >&5 echo "${ECHO_T}$ac_cv_header_GL_glut_h" >&6 fi if test $ac_cv_header_GL_glut_h = yes; then : else have_glut=false fi echo "$as_me:$LINENO: checking for jpeg_CreateDecompress in -ljpeg" >&5 echo $ECHO_N "checking for jpeg_CreateDecompress in -ljpeg... $ECHO_C" >&6 if test "${ac_cv_lib_jpeg_jpeg_CreateDecompress+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ljpeg $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char jpeg_CreateDecompress (); int main () { jpeg_CreateDecompress (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_jpeg_jpeg_CreateDecompress=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_jpeg_jpeg_CreateDecompress=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_CreateDecompress" >&5 echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_CreateDecompress" >&6 if test $ac_cv_lib_jpeg_jpeg_CreateDecompress = yes; then GLUT_LIBS="$GLUT_LIBS -ljpeg" fi echo "$as_me:$LINENO: checking for TIFFSetErrorHandler in -ltiff" >&5 echo $ECHO_N "checking for TIFFSetErrorHandler in -ltiff... $ECHO_C" >&6 if test "${ac_cv_lib_tiff_TIFFSetErrorHandler+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ltiff $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char TIFFSetErrorHandler (); int main () { TIFFSetErrorHandler (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_tiff_TIFFSetErrorHandler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_tiff_TIFFSetErrorHandler=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_tiff_TIFFSetErrorHandler" >&5 echo "${ECHO_T}$ac_cv_lib_tiff_TIFFSetErrorHandler" >&6 if test $ac_cv_lib_tiff_TIFFSetErrorHandler = yes; then GLUT_LIBS="$GLUT_LIBS -ltiff" fi echo "$as_me:$LINENO: checking found GLUT" >&5 echo $ECHO_N "checking found GLUT... $ECHO_C" >&6 if test $have_glut = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi if (test $require_glut = true) then if (test $have_glut = false) then { { echo "$as_me:$LINENO: error: Required library GLUT not found!" >&5 echo "$as_me: error: Required library GLUT not found!" >&2;} { (exit 1); exit 1; }; } elif (test $have_png = false) then { { echo "$as_me:$LINENO: error: GLUT GUI cannot be built. Missing PNG library!!!" >&5 echo "$as_me: error: GLUT GUI cannot be built. Missing PNG library!!!" >&2;} { (exit 1); exit 1; }; } elif (test $have_x11 = false) then { { echo "$as_me:$LINENO: error: GLUT GUI cannot be built. Missing X11 library!!!" >&5 echo "$as_me: error: GLUT GUI cannot be built. Missing X11 library!!!" >&2;} { (exit 1); exit 1; }; } else GLUT_CFLAGS="-DHAVE_GLUT $GLUT_CFLAGS" fi else GLUT_CFLAGS="" GLUT_LIBS="" X_LIBS="" X_CFLAGS="" #PNG_LIBS="" fi if (test "$GLUT_LIBS" != "") then echo "using GLUT... yes" else echo "using GLUT... no" fi #echo "GLUT: $GLUT_CFLAGS $GLUT_LIBS" # # Check to see if the user wants our preset Sun g++ flags and the g++ compiler # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags CXXFLAGS=$save_cxxflags #AC_SUBST(CFLAGS) #AC_SUBST(LIBS) compiler_version=`($CXX -V;$CXX -v) 2>&1 | perl ./compilerVersion.pl` cat >>confdefs.h <<_ACEOF #define PACKAGE_COMPILER "$CXX $CXXFLAGS" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_COMPILER_VERSION "$compiler_version" _ACEOF #Default AR #Early versions of automake AR1="ar" #Late versions of automake AR2="ar cru" # #Change the AR flag to CC -ar -o if we are using MIPSpro #in debug or production mode. # if(test "$WANT_IRIX_MIPSPRO_MPI_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_DEBUG_FLAGS" = 1) then AR1="../mipscc_ar" AR2="$(CXX) -ar -o" fi CLEANFILES="-r *~" # # Check for "makedepend". Not everyone has this. # #AC_CHECK_PROGS(MAKEDEPEND, makedepend, no) # # Fix for ar # # ac_config_files="$ac_config_files Makefile framework/Makefile framework/base/Makefile framework/io/Makefile framework/parallel/Makefile framework/topology/Makefile framework/forces/Makefile framework/imd/Makefile framework/integrators/Makefile framework/frontend/Makefile framework/factories/Makefile applications/Makefile applications/protomol-app/Makefile applications/coulomb-app/Makefile applications/dcd2dcd-app/Makefile applications/iSGProtomol-app/Makefile applications/iSGProtomol-app/base/Makefile applications/iSGProtomol-app/io/Makefile applications/iSGProtomol-app/frontend/Makefile applications/iSGProtomol-app/forces/Makefile applications/iSGProtomol-app/factories/Makefile applications/iSGProtomol-app/integrators/Makefile applications/coords2coords-app/Makefile applications/xyzviz-app/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. { (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | sed ' t clear : clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; }' fi DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by protomol $as_me 2.0.3, which was generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 _ACEOF # Files that config.status was made for. if test -n "$ac_config_files"; then echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS fi if test -n "$ac_config_headers"; then echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS fi if test -n "$ac_config_links"; then echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS fi if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ protomol config.status 2.0.3 configured by $0, generated by GNU Autoconf 2.57, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir INSTALL="$INSTALL" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ac_shift=: ;; -*) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; *) # This is not an option, so the user has probably given explicit # arguments. ac_option=$1 ac_need_defaults=false;; esac case $ac_option in # Handling of the options. _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS section. # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "framework/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/Makefile" ;; "framework/base/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/base/Makefile" ;; "framework/io/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/io/Makefile" ;; "framework/parallel/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/parallel/Makefile" ;; "framework/topology/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/topology/Makefile" ;; "framework/forces/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/forces/Makefile" ;; "framework/imd/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/imd/Makefile" ;; "framework/integrators/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/integrators/Makefile" ;; "framework/frontend/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/frontend/Makefile" ;; "framework/factories/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/factories/Makefile" ;; "applications/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/Makefile" ;; "applications/protomol-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/protomol-app/Makefile" ;; "applications/coulomb-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/coulomb-app/Makefile" ;; "applications/dcd2dcd-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/dcd2dcd-app/Makefile" ;; "applications/iSGProtomol-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/Makefile" ;; "applications/iSGProtomol-app/base/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/base/Makefile" ;; "applications/iSGProtomol-app/io/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/io/Makefile" ;; "applications/iSGProtomol-app/frontend/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/frontend/Makefile" ;; "applications/iSGProtomol-app/forces/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/forces/Makefile" ;; "applications/iSGProtomol-app/factories/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/factories/Makefile" ;; "applications/iSGProtomol-app/integrators/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/integrators/Makefile" ;; "applications/coords2coords-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/coords2coords-app/Makefile" ;; "applications/xyzviz-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/xyzviz-app/Makefile" ;; "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "protomol_config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS protomol_config.h" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "\$CONFIG_FILES"; then # Protect against being on the right side of a sed subst in config.status. sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF s,@SHELL@,$SHELL,;t t s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t s,@bindir@,$bindir,;t t s,@sbindir@,$sbindir,;t t s,@libexecdir@,$libexecdir,;t t s,@datadir@,$datadir,;t t s,@sysconfdir@,$sysconfdir,;t t s,@sharedstatedir@,$sharedstatedir,;t t s,@localstatedir@,$localstatedir,;t t s,@libdir@,$libdir,;t t s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t s,@DEFS@,$DEFS,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@LIBS@,$LIBS,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t s,@PACKAGE@,$PACKAGE,;t t s,@VERSION@,$VERSION,;t t s,@ACLOCAL@,$ACLOCAL,;t t s,@AUTOCONF@,$AUTOCONF,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t s,@MAKEINFO@,$MAKEINFO,;t t s,@AMTAR@,$AMTAR,;t t s,@install_sh@,$install_sh,;t t s,@STRIP@,$STRIP,;t t s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t s,@PROTOMOL_MAJOR_VERSION@,$PROTOMOL_MAJOR_VERSION,;t t s,@PROTOMOL_MINOR_VERSION@,$PROTOMOL_MINOR_VERSION,;t t s,@PROTOMOL_PATCH_LEVEL@,$PROTOMOL_PATCH_LEVEL,;t t s,@LT_RELEASE@,$LT_RELEASE,;t t s,@LT_CURRENT@,$LT_CURRENT,;t t s,@LT_REVISION@,$LT_REVISION,;t t s,@LT_AGE@,$LT_AGE,;t t s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@EXEEXT@,$EXEEXT,;t t s,@OBJEXT@,$OBJEXT,;t t s,@DEPDIR@,$DEPDIR,;t t s,@am__include@,$am__include,;t t s,@am__quote@,$am__quote,;t t s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t s,@CXXDEPMODE@,$CXXDEPMODE,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t s,@CCDEPMODE@,$CCDEPMODE,;t t s,@DEPFLAGS@,$DEPFLAGS,;t t s,@CXXCPP@,$CXXCPP,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t s,@X_CFLAGS@,$X_CFLAGS,;t t s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t s,@X_LIBS@,$X_LIBS,;t t s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t s,@SOCKET_LIBS@,$SOCKET_LIBS,;t t s,@EGREP@,$EGREP,;t t s,@FFT_LIBS@,$FFT_LIBS,;t t s,@FFT_CFLAGS@,$FFT_CFLAGS,;t t s,@PNG_LIBS@,$PNG_LIBS,;t t s,@GLUT_LIBS@,$GLUT_LIBS,;t t s,@GLUT_CFLAGS@,$GLUT_CFLAGS,;t t s,@CLEANFILES@,$CLEANFILES,;t t s,@AR1@,$AR1,;t t s,@AR2@,$AR2,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac if test x"$ac_file" != x-; then { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then configure_input= else configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t s,@builddir@,$ac_builddir,;t t s,@abs_builddir@,$ac_abs_builddir,;t t s,@top_builddir@,$ac_top_builddir,;t t s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_HEADER section. # # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. sed 's/[ ]*$//' $ac_file_inputs >$tmp/in _ACEOF # Transform confdefs.h into two sed scripts, `conftest.defines' and # `conftest.undefs', that substitutes the proper values into # config.h.in to produce config.h. The first handles `#define' # templates, and the second `#undef' templates. # And first: Protect against being on the right side of a sed subst in # config.status. Protect against being in an unquoted here document # in config.status. rm -f conftest.defines conftest.undefs # Using a here document instead of a string reduces the quoting nightmare. # Putting comments in sed scripts is not portable. # # `end' is used to avoid that the second main sed command (meant for # 0-ary CPP macros) applies to n-ary macro definitions. # See the Autoconf documentation for `clear'. cat >confdef2sed.sed <<\_ACEOF s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end _ACEOF # If some macros were called several times there might be several times # the same #defines, which is useless. Nevertheless, we may not want to # sort them, since we want the *last* AC-DEFINE to be honored. uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs rm -f confdef2sed.sed # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >>conftest.undefs <<\_ACEOF s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, _ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.defines >/dev/null do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/defines.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines echo ' fi # grep' >>$CONFIG_STATUS echo >>$CONFIG_STATUS # Break up conftest.undefs because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #undef templates' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.undefs >/dev/null do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/undefs.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail rm -f conftest.undefs mv conftest.tail conftest.undefs done rm -f conftest.undefs cat >>$CONFIG_STATUS <<\_ACEOF # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then echo "/* Generated by configure. */" >$tmp/config.h else echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then if diff $ac_file $tmp/config.h >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } rm -f $ac_file mv $tmp/config.h $ac_file fi else cat $tmp/config.h rm -f $tmp/config.h fi # Run the commands associated with the file. case $ac_file in protomol_config.h ) # update the timestamp echo 'timestamp for protomol_config.h' >"./stamp-h1" ;; esac done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_COMMANDS section. # for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_dir=`(dirname "$ac_dest") 2>/dev/null || $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_dest" : 'X\(//\)[^/]' \| \ X"$ac_dest" : 'X\(//\)$' \| \ X"$ac_dest" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_dest" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # So let's grep whole file. if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`(dirname "$mf") 2>/dev/null || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` else continue fi grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` test -z "$DEPDIR" && continue # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n -e '/^U = / s///p' < "$mf"` test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # We invoke sed twice because it is the simplest approach to # changing $(DEPDIR) to its actual value in the expansion. for file in `sed -n -e ' /^DEP_FILES = .*\\\\$/ { s/^DEP_FILES = // :loop s/\\\\$// p n /\\\\$/ b loop p } /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`(dirname "$file") 2>/dev/null || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p $dirpart/$fdir else as_dir=$dirpart/$fdir as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi echo "" echo "CC : $CC" echo "CFLAGS : $CFLAGS" echo "CXXFLAGS : $CXXFLAGS" echo "CXX : $CXX" echo "CXXCPP : $CXXCPP" echo "LIBS : $LIBS" echo "CPP : $CPP" echo "CPPFLAGS : $CPPFLAGS" echo "" echo "make clean; make" protomol/configure.in0100644027616700000500000011354510237151524014334 0ustar pbrenne1dip# -*- shell-script -*- # # # # Init autoconf # # 2.53 #AC_PREREQ(2.52) AC_INIT(protomol,2.0.3,protomol@cse.nd.edu) # 2.13 cp configure.ac configure.in #AC_INIT(README) #AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT,"protomol@cse.nd.edu",[Define to the address where bug reports for this package should be sent.]) #AC_DEFINE_UNQUOTED(PACKAGE_NAME,"protomol",[Define to the full name of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_STRING,"protomol 2.0.3",[Define to the full name and version of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_TARNAME,"protomol",[Define to the one symbol short name of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"2.0.3",[Define to the version of this package.]) #AC_CONFIG_AUX_DIR(./config) #AC_CANONICAL_TARGET # Avoid generating makefile rules to rebuild maintainer-only files by # default. Maintainers may override this default and generate these # makefile rules using the `--enable-maintainer-mode' configure option. #AM_MAINTAINER_MODE # Major Framework release number PROTOMOL_MAJOR_VERSION=2 # Minor Framework release number PROTOMOL_MINOR_VERSION=0 # Increment after every source code change PROTOMOL_PATCH_LEVEL=3 # Combined version number VERSION=$PROTOMOL_MAJOR_VERSION.$PROTOMOL_MINOR_VERSION.$PROTOMOL_PATCH_LEVEL AM_INIT_AUTOMAKE(protomol,$VERSION) AM_CONFIG_HEADER(protomol_config.h) # Report what was found AC_MSG_CHECKING(major version) AC_MSG_RESULT($PROTOMOL_MAJOR_VERSION) AC_MSG_CHECKING(minor version) AC_MSG_RESULT($PROTOMOL_MINOR_VERSION) AC_MSG_CHECKING(patchlevel) AC_MSG_RESULT($PROTOMOL_PATCH_LEVEL) AC_SUBST(PROTOMOL_MAJOR_VERSION) AC_SUBST(PROTOMOL_MINOR_VERSION) AC_SUBST(PROTOMOL_PATCH_LEVEL) # Calculate libtool versioning information LT_RELEASE=$PROTOMOL_MAJOR_VERSION.$PROTOMOL_MINOR_VERSION LT_CURRENT=$PROTOMOL_INTERFACE_VERSION LT_REVISION=0 #`expr $PROTOMOL_PATCH_LEVEL - $PROTOMOL_INTERFACE_VERSION` LT_AGE=0 #`expr $PROTOMOL_INTERFACE_VERSION - $PROTOMOL_BINARY_VERSION` AC_SUBST(LT_RELEASE) AC_SUBST(LT_CURRENT) AC_SUBST(LT_REVISION) AC_SUBST(LT_AGE) # # Defines # AC_DEFINE_UNQUOTED(PACKAGE_HOMEPAGE,"http://protomol.sourceforge.net",[ProtoMol URL]) AC_DEFINE_UNQUOTED(PACKAGE_CITE,["Please cite T. Matthey, T. Cickovski, S. S. Hampton, A. Ko, Q. Ma, M. Nyerges, T. Raeder,\nT. Slabach, and J. A. Izaguirre. ProtoMol: An object-oriented framework for prototyping\nnovel algorithms for molecular dynamics. ACM Trans. Math. Softw., 30(3):237­265, 2004."],[ProtoMol cite]) AC_DEFINE_UNQUOTED(PACKAGE_UNAME,"`uname -a`",[System, platform]) AC_DEFINE_UNQUOTED(PACKAGE_WHOAMI,"`whoami`",[User]) AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT,"protomol@cse.nd.edu",[Define to the address where bug reports for this package should be sent.]) # # Compiler # use_preset=0 AC_ARG_WITH(fft, [ --with-fft=sgi|essl|fftw3|fftw2|fft2mpi|zfft Specify the FFT ]) AC_ARG_WITH(fftw3, [ --with-fftw3=DIR Specify the FFTW3 install path and enable FFTW3 ]) AC_ARG_WITH(fftw2, [ --with-fftw2=DIR Specify the FFTW2 install path and enable FFTW2 ]) AC_ARG_WITH(fftw2mpi, [ --with-fftw2mpi=DIR Specify the FFTW2 MPI install path and enable FFTW2 MPI ]) AC_ARG_WITH(glut, [ --with-glut=DIR|no|yes Specify the GLUT install path and enable GLUT ]) AC_ARG_WITH(aix_xlc, [ --with-aix-xlc Use xlC for AIX with optimization flags ],use_preset=1) AC_ARG_WITH(aix_xlc_debug, [ --with-aix-xlc-debug Use xlC for AIX with debugging flags ],use_preset=1) AC_ARG_WITH(aix_xlc_mpi, [ --with-aix-xlc-mpi Use xlC for AIX with MPI and optimization flags ],use_preset=1) AC_ARG_WITH(aix_xlc_mpi_debug, [ --with-aix-xlc-mpi-debug Use xlC for AIX with MPI and debugging flags ],use_preset=1) AC_ARG_WITH(gcc, [ --with-gcc Use g++ for generic with optimization flags ],use_preset=1) AC_ARG_WITH(gcc_debug, [ --with-gcc-debug Use g++ for generic with debugging flags ],use_preset=1) AC_ARG_WITH(gcc_debug_gdb, [ --with-gcc-debug-gdb Use g++ for generic with debugging and gdb flags ],use_preset=1) AC_ARG_WITH(gcc_mpich, [ --with-gcc-mpich Use g++ for generic with MPICH flags ],use_preset=1) AC_ARG_WITH(gcc_mpich_debug, [ --with-gcc-mpich-debug Use g++ for generic with MPICH debug flags ],use_preset=1) AC_ARG_WITH(gcc_mpich_xeon, [ --with-gcc-mpich-xeon Use g++ for generic with MPICH xeon flags (for Notre Dame's HPCC cluster) ]) AC_ARG_WITH(hpux_cc, [ --with-hpux-cc Use aCC for HPUX optimization flags ],use_preset=1) AC_ARG_WITH(hpux_cc_debug, [ --with-hpux-cc-debug Use aCC for HPUX with debugging flags ],use_preset=1) AC_ARG_WITH(hpux_cc_mpi, [ --with-hpux-cc-mpi Use aCC for HPUX with MPI and optimization flags ],use_preset=1) AC_ARG_WITH(hpux_cc_mpi_debug, [ --with-hpux-cc-mpi-debug Use aCC for HPUX with MPI and debugging flags ],use_preset=1) AC_ARG_WITH(icc, [ --with-icc Use icc for generic with optimization flags ],use_preset=1) AC_ARG_WITH(icc_debug, [ --with-icc-debug Use icc for generic with debugging flags ],use_preset=1) AC_ARG_WITH(icc_mpich, [ --with-icc-mpich Use icc for generic with MPICH and optimization flags ],use_preset=1) AC_ARG_WITH(icc_mpich_xeon, [ --with-icc-mpich-xeon Use icc for generic with MPICH and optimization flags (for Notre Dame's HPCC cluster) ],use_preset=1) AC_ARG_WITH(icc_mpich_debug, [ --with-icc-mpich-debug Use icc for generic with MPICH and debugging flags ],use_preset=1) AC_ARG_WITH(irix_mipspro, [ --with-irix-mipspro Use CC for IRIX with optimization flags ],use_preset=1) AC_ARG_WITH(irix_mipspro_debug, [ --with-irix-mipspro-debug Use CC for IRIX with debugging flags ],use_preset=1) AC_ARG_WITH(irix_mipspro_mpi, [ --with-irix-mipspro-mpi Use CC for IRIX with MPI and optimization flags ],use_preset=1) AC_ARG_WITH(irix_mipspro_mpi_debug, [ --with-irix-mipspro-mpi-debug Use CC for IRIX with MPI and debugging flags ],use_preset=1) AC_ARG_WITH(ppc_xlc, [ --with-ppc-xlc Use xlC for PPC with optimization flags ],use_preset=1) AC_ARG_WITH(ppc_xlc_debug, [ --with-pcc-xlc-debug Use xlC for PPC with debugging flags ],use_preset=1) AC_ARG_WITH(sun_gcc, [ --with-sun-gcc Use g++ for SUN with optimization flags ],use_preset=1) # 2.53 AC_LANG(C++) AC_PROG_CXX([aCC mpCC_r xlC_r xlC xlc++ CC icpc icc g++ cxx mpic++ mpicxx mpiCC]) # if test $use_preset = 0; then AC_MSG_RESULT([Auto detection of compiler: $CXX]) fi unset ac_cv_prog_ac_ct_CC unset ac_cv_prog_ac_ct_CXX AC_MSG_CHECKING([preset g++ for SUN with optimization flags ]) WANT_SUN_GCC_FLAGS=0 if test "$with_sun_gcc" = "yes"; then WANT_SUN_GCC_FLAGS=1 AC_MSG_RESULT([yes]) CC="gcc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -mcpu=ultrasparc -m32 -U_LP64 -U__sparc_v9__ -U__sparcv9 -DNDEBUG" CXX="g++" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -mcpu=ultrasparc -m32 -U_LP64 -U__sparc_v9__ -U__sparcv9 -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi WANT_IRIX_MIPSPRO_MPI_FLAGS=0 AC_MSG_CHECKING([preset CC fro IRIX with MPI and optimization flags ]) if (test "$with_irix_mipspro_mpi" = "yes" || ((test $use_preset = 0) && test $CXX = "CC" )) then WANT_IRIX_MIPSPRO_MPI_FLAGS=1 AC_MSG_RESULT([yes]) CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -Ofast=ip35 -64 -DNDEBUG -DHAVE_MPI -DMPI_NO_CPPBIND" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -Ofast=ip35 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DNDEBUG -DHAVE_MPI -DMPI_NO_CPPBIND" LIBS="-lmpi -lsma -lm" DEPFLAGS="-LANG:std" else AC_MSG_RESULT([no]) fi WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS=0 AC_MSG_CHECKING([preset CC for IRIX with MPI and debugging flags ]) if test "$with_irix_mipspro_mpi_debug" = "yes"; then WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS=1 AC_MSG_RESULT([yes]) CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -O2 -64 -DHAVE_MPI -DMPI_NO_CPPBIND" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -O2 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DHAVE_MPI -DMPI_NO_CPPBIND" LIBS="-lmpi -lsma -lm" DEPFLAGS="-LANG:std" else AC_MSG_RESULT([no]) fi WANT_IRIX_MIPSPRO_FLAGS=0 AC_MSG_CHECKING([preset CC for IRIX with optimization flags ]) if test "$with_irix_mipspro" = "yes"; then WANT_IRIX_MIPSPRO_FLAGS=1 AC_MSG_RESULT([yes]) CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -Ofast=ip35 -64 -DNDEBUG" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -Ofast=ip35 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DNDEBUG" LIBS="-lm" DEPFLAGS="-LANG:std" else AC_MSG_RESULT([no]) fi WANT_IRIX_MIPSPRO_DEBUG_FLAGS=0 AC_MSG_CHECKING([preset CC for IRIX with debugging flags ]) if test "$with_irix_mipspro_debug" = "yes"; then WANT_IRIX_MIPSPRO_DEBUG_FLAGS=1 AC_MSG_RESULT([yes]) CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -O2 -64" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -O2 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON" LIBS="-lm" DEPFLAGS="-LANG:std" else AC_MSG_RESULT([no]) fi WANT_ICC_FLAGS=0 AC_MSG_CHECKING([preset icc for generic with optimization flags ]) if (test "$with_icc" = "yes" || ((test $use_preset = 0) && (test $CXX = "icc" || test $CXX = "icpc"))) then unset CC unset CXX WANT_ICC_FLAGS=1 AC_MSG_RESULT([yes]) AC_LANG(C++) AC_PROG_CXX([icpc icc]) AC_LANG(C) AC_PROG_CC([icpc icc]) CFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG" LIBS="-lm -lnsl" else AC_MSG_RESULT([no]) fi WANT_ICC_DEBUG_FLAGS=0 AC_MSG_CHECKING([preset icc for generic with debugging flags ]) if test "$with_icc_debug" = "yes"; then unset CC unset CXX WANT_ICC_DEBUG_FLAGS=1 AC_MSG_RESULT([yes]) AC_LANG(C++) AC_PROG_CXX([icpc icc]) AC_LANG(C) AC_PROG_CC([icpc icc]) CFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict" LIBS="-lm -lnsl" else AC_MSG_RESULT([no]) fi WANT_ICC_MPICH_XEON_FLAGS=0 AC_MSG_CHECKING([preset icc for generic with MPICH flags ]) if test "$with_icc_mpich_xeon" = "yes"; then unset CC unset CXX WANT_ICC_MPICH_XEON_FLAGS=1 AC_MSG_RESULT([yes]) CC="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-intel80/bin/mpicc" CFLAGS="-Wall -wd810,383,981,279,444 -O3 -ip -static -DNDEBUG -DHAVE_MPI" CXX="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-intel80/bin/mpicxx" CXXFLAGS="-Wall -wd810,383,981,279,444 -O3 -ip -static -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else AC_MSG_RESULT([no]) fi WANT_ICC_MPICH_FLAGS=0 AC_MSG_CHECKING([preset icc for generic with MPICH and optimization flags ]) if (test "$with_icc_mpich" = "yes") then unset CC unset CXX WANT_ICC_MPICH_FLAGS=1 AC_MSG_RESULT([yes]) AC_LANG(C++) AC_PROG_CXX([mpiCC mpic++ mpicxx]) AC_LANG(C) AC_PROG_CC([mpicc]) CFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG -DHAVE_MPI" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else AC_MSG_RESULT([no]) fi WANT_ICC_MPICH_DEBUG_FLAGS=0 AC_MSG_CHECKING([preset icc for generic with MPICH and debugging flags ]) if test "$with_icc_mpich_debug" = "yes"; then unset CC unset CXX WANT_ICC_MPICH_DEBUG_FLAGS=1 AC_MSG_RESULT([yes]) AC_LANG(C++) AC_PROG_CXX([mpiCC mpic++ mpicxx]) AC_LANG(C) AC_PROG_CC([mpicc]) CFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict -DHAVE_MPI" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict -DHAVE_MPI" LIBS="-lm -lnsl" else AC_MSG_RESULT([no]) fi WANT_GCC_MPICH_FLAGS=0 AC_MSG_CHECKING([preset g++ for generic with MPICH flags ]) if test "$with_gcc_mpich" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_FLAGS=1 AC_MSG_RESULT([yes]) AC_LANG(C++) AC_PROG_CXX([mpiCC mpicxx mpic++]) CC="mpicc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi ANT_GCC_MPICH_XEON=0 AC_MSG_CHECKING([preset g++ for generic with MPICH XEON flags ]) if test "$with_gcc_mpich_xeon" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_XEON=1 AC_MSG_RESULT([yes]) CC="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-gcc-2/bin/mpicc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" CXX="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-gcc-2/bin/mpicxx" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi WANT_GCC_MPICH_DEBUG_FLAGS=0 AC_MSG_CHECKING([preset g++ for generic with MPICH debug flags ]) if test "$with_gcc_mpich_debug" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_DEBUG_FLAGS=1 AC_MSG_RESULT([yes]) CC="mpicc" CFLAGS="-Wall -DHAVE_MPI -I${MPI_HOME}/include" AC_LANG(C++) AC_PROG_CXX([mpiCC mpicxx mpic++]) CXXFLAGS="-Wall -DHAVE_MPI -I${MPI_HOME}/include" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi WANT_GCC_FLAGS=0 AC_MSG_CHECKING([preset g++ for generic with optimization flags ]) if (test "$with_gcc" = "yes" || ((test $use_preset = 0) && ( test $CXX = "c++" || test $CXX = "g++"))) then WANT_GCC_FLAGS=1 AC_MSG_RESULT([yes]) CC="gcc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG" CXX="g++" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi WANT_GCC_DEBUG_FLAGS=0 AC_MSG_CHECKING([preset g++ for generic with debugging flags ]) if test "$with_gcc_debug" = "yes"; then WANT_GCC_DEBUG_FLAGS=1 AC_MSG_RESULT([yes]) CC="gcc" CFLAGS="-Wall" CXX="g++" CXXFLAGS="-Wall" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi WANT_GCC_DEBUG_GDB_FLAGS=0 AC_MSG_CHECKING([preset g++ for generic with debugging and gdb flags ]) if test "$with_gcc_debug_gdb" = "yes"; then WANT_GCC_DEBUG_GDB_FLAGS=1 AC_MSG_RESULT([yes]) CC="gcc" CFLAGS="-g -Wall" CXX="g++" CXXFLAGS="-g -Wall" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi WANT_PPC_XLC_FLAGS=0 AC_MSG_CHECKING([preset xlC for PPC with optimization flags ]) if test "$with_ppc_xlc" = "yes"; then WANT_PPC_XLC_FLAGS=1 AC_MSG_RESULT([yes]) CC="xlc_r" CFLAGS="-O4 -qinlglue -qcache=auto -qarch=auto -qtune=auto -DNDEBUG" CXX="xlC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi WANT_PPC_XLC_DEBUG_FLAGS=0 AC_MSG_CHECKING([preset xlC for PPC with debugging flags ]) if test "$with_ppc_xlc_debug" = "yes"; then WANT_PPC_XLC_DEBUG_FLAGS=1 AC_MSG_RESULT([yes]) CC="xlc_r" CFLAGS="" CXX="xlC_r" CXXFLAGS="" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi WANT_AIX_XLC_FLAGS=0 AC_MSG_CHECKING([preset xlC for AIX with optimization flags ]) if test "$with_aix_xlc" = "yes"; then WANT_AIX_XLC_FLAGS=1 AC_MSG_RESULT([yes]) CC="xlc_r" CFLAGS="-O4 -qinlglue -qcache=auto -qarch=auto -qtune=auto -DNDEBUG" CXX="xlC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi WANT_AIX_XLC_DEBUG_FLAGS=0 AC_MSG_CHECKING([preset xlC for AIX with debugging flags ]) if test "$with_aix_xlc_debug" = "yes"; then WANT_AIX_XLC_DEBUG_FLAGS=1 AC_MSG_RESULT([yes]) CC="xlc_r" CFLAGS="" CXX="xlC_r" CXXFLAGS="-qrtti=dyna" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING([preset xlC for AIX with MPI and optimization flags ]) WANT_AIX_XLC_MPI_FLAGS=0 if (test "$with_aix_xlc_mpi" = "yes" || ((test $use_preset = 0) && test $CXX = "mpCC_r")) then WANT_AIX_XLC_MPI_FLAGS=1 AC_MSG_RESULT([yes]) CC="mpcc_r" CFLAGS="-O4 -qinlglue-qcache=auto -qarch=auto -qtune=auto -DNDEBUG -DHAVE_MPI" CXX="mpCC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi WANT_AIX_XLC_MPI_DEBUG_FLAGS=0 AC_MSG_CHECKING([preset xlC for AIX with MPI and debugging flags ]) if test "$with_aix_xlc_mpi_debug" = "yes"; then WANT_AIX_XLC_MPI_DEBUG_FLAGS=1 AC_MSG_RESULT([yes]) CC="mpcc_r" CFLAGS="-g -DHAVE_MPI" CXX="mpCC_r" CXXFLAGS="-g -qrtti=dyna -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING([preset aCC for HPUX with optimization flags ]) WANT_HPUX_CC_FLAGS=0 if (test "$with_hpux_cc" = "yes" || ((test $use_preset = 0) && test $CXX = "aCC")) then WANT_HPUX_CC_FLAGS=1 AC_MSG_RESULT([yes]) CC="cc" CFLAGS="+Z +DD64 -fast -DNDEBUG" CXX="aCC" CXXFLAGS="+Z +DD64 +O2 +Oaggressive +noeh -AA +W67,829,336 -DNDEBUG" LIBS="-lm -lnsl" else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING([preset aCC for HPUX with debugging flags ]) WANT_HPUX_CC_DEBUG_FLAGS=0 if test "$with_hpux_cc_debug" = "yes"; then WANT_HPUX_CC_DEBUG_FLAGS=1 AC_MSG_RESULT([yes]) CC="cc" CFLAGS="+DD64 +Z -g1" CXX="aCC" CXXFLAGS="+DD64 +Z -AA -g1 +W67,829,336" LIBS="-lm -lnsl" else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING([preset aCC for HPUX with MPI and optimization flags ]) WANT_HPUX_CC_MPI_FLAGS=0 if test "$with_hpux_cc_mpi" = "yes"; then unset CC unset CXX WANT_HPUX_CC_MPI_FLAGS=1 AC_MSG_RESULT([yes]) CC="mpicc" CFLAGS="+Z +DD64 -fast -DNDEBUG -DHAVE_MPI" AC_LANG(C++) AC_PROG_CXX([mpiCC mpicxx mpic++]) CXXFLAGS="+Z +DD64 +O2 +Oaggressive +noeh -AA +W67,829,336 -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING([preset aCC for HPUX with MPI and debugging flags ]) WANT_HPUX_CC_MPI_DEBUG_FLAGS=0 if test "$with_hpux_cc_mpi_debug" = "yes"; then unset CC unset CXX WANT_HPUX_CC_MPI_DEBUG_FLAGS=1 AC_MSG_RESULT([yes]) CC="mpicc" CFLAGS="+DD64 +Z -g1 -DHAVE_MPI" AC_LANG(C++) AC_PROG_CXX([mpiCC mpicxx mpic++]) CXXFLAGS="+DD64 +Z -AA -g1 +W67,829,336 -DHAVE_MPI" LIBS="-lm -lnsl" else AC_MSG_RESULT([no]) fi AC_SUBST(CC) AC_SUBST(CFLAGS) AC_SUBST(CXX) AC_SUBST(CXXFLAGS) AC_SUBST(LIBS) AC_SUBST(DEPFLAGS) echo "" echo "CC : $CC" echo "CFLAGS : $CFLAGS" echo "CXXFLAGS : $CXXFLAGS" echo "CXX : $CXX" echo "CXXCPP : $CXXCPP" echo "LIBS : $LIBS" echo "CPP : $CPP" echo "CPPFLAGS : $CPPFLAGS" echo "" # # Tools # AC_LANG_CPLUSPLUS AC_PROG_CXX AC_PROG_CXXCPP AC_PROG_CC AC_PROG_INSTALL AC_PROG_RANLIB have_mpi=false case $CXXFLAGS in *-DHAVE_MPI*) have_mpi=true;; esac AC_MSG_CHECKING([using MPI]) if test $have_mpi = false; then AC_MSG_RESULT([no]); else AC_MSG_RESULT([yes]); fi AC_PATH_X AC_PATH_XTRA save_libs=$LIBS save_cflags=$CFLAGS save_cppflags=$CPPFLAGS save_ldflags=$LDFLAGS save_cxxflags=$CXXFLAGS #save_cxxflags="$save_cxxflags -DTEMPLATE_IN_HEADER" # # limits # have_no_limits=false AC_MSG_CHECKING(for limits ) AC_TRY_COMPILE( [ #include ], [ ], have_no_limits=true) if test $have_no_limits = false; then save_cxxflags="$save_cxxflags -DHAVE_NO_LIMITS" AC_MSG_RESULT([no]); else AC_MSG_RESULT([yes]); fi # # sstream # have_no_sstream=false AC_MSG_CHECKING(for sstream ) AC_TRY_COMPILE( [ #include ], [ ], have_no_sstream=true) if test $have_no_sstream = false; then save_cxxflags="$save_cxxflags -DHAVE_NO_SSTREAM" AC_MSG_RESULT([no]); else AC_MSG_RESULT([yes]); fi # # partial_template_specialization # partial_template_specialization=false AC_MSG_CHECKING(for partial template specialization) AC_TRY_COMPILE( [ #include "framework/base/Array_Fastest.h" using namespace ProtoMol; ], [ Array a(ArraySizes(1)(1)(1)); RefArray rA = a[0]; ], partial_template_specialization=true) if test $partial_template_specialization = false; then save_cxxflags="$save_cxxflags -DNO_PARTIAL_TEMPLATE_SPECIALIZATION" AC_MSG_RESULT([no]); else AC_MSG_RESULT([yes]); fi # # Socket # have_socket=true AC_CHECK_LIB(socket,socket,,[have_socket=false]) if test $have_socket = true; then SOCKET_LIBS="-lsocket" fi AC_SUBST(SOCKET_LIBS) have_socket=true AC_CHECK_HEADER(sys/socket.h,,[have_socket=false]) AC_MSG_CHECKING(for socketlen type) AC_TRY_COMPILE( [ #include #include #include ], [ sockaddr_in addr; socklen_t len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ], SOCKLEN_TYPE=socklen_t) if test "${SOCKLEN_TYPE}" = "" ; then AC_TRY_COMPILE( [ #include #include #include ], [ sockaddr_in addr; size_t len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ], SOCKLEN_TYPE=size_t) fi if test "${SOCKLEN_TYPE}" = "" ; then AC_TRY_COMPILE( [ #include #include #include ], [ sockaddr_in addr; unsigned int len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ], SOCKLEN_TYPE="unsigned int") fi if test "${SOCKLEN_TYPE}" = "" ; then AC_TRY_COMPILE( [ #include #include #include ], [ sockaddr_in addr; int len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ], SOCKLEN_TYPE="int") fi if test "${SOCKLEN_TYPE}" != "" ; then AC_MSG_RESULT($SOCKLEN_TYPE) fi AC_DEFINE_UNQUOTED(SOCKLEN_TYPE, ${SOCKLEN_TYPE}, [Socket lenght.]) # # Sizeof # AC_CHECK_SIZEOF(char) AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(size_t) AC_CHECK_SIZEOF(void*) SIZEOF_INT=$ac_cv_sizeof_int SIZEOF_SHORT=$ac_cv_sizeof_int AC_MSG_CHECKING(for 32-bit int) if test "${SIZEOF_INT}" = 4; then INT32_TYPE=int elif test "${SIZEOF_SHORT}" = 4; then INT32_TYPE=short else AC_MSG_ERROR([neither int (${SIZEOF_INT}) nor short (${SIZEOF_SHORT}) have sizeof 4!]) fi AC_DEFINE_UNQUOTED(INT32_TYPE, ${INT32_TYPE}, [Define for int 32-bit.]) AC_MSG_RESULT($INT32_TYPE) # # cycles # # comment out if autoconf less then 2.53 AC_C_INLINE AC_HEADER_TIME AC_CHECK_HEADERS([sys/time.h c_asm.h intrinsics.h]) AC_CHECK_TYPE([hrtime_t],[AC_DEFINE(HAVE_HRTIME_T, 1, [Define to 1 if hrtime_t is defined in ])],,[#if HAVE_SYS_TIME_H #include #endif]) AC_CHECK_FUNCS([gethrtime clock_gettime]) AC_MSG_CHECKING([for read_real_time]) read_real_time_ok=yes AC_TRY_COMPILE([#if TIME_WITH_SYS_TIME # include # include #else # if HAVE_SYS_TIME_H # include # else # include # endif #endif ], [ timebasestruct_t t; read_real_time(&t, TIMEBASE_SZ); ], [AC_DEFINE(HAVE_READ_REAL_TIME,1,[Define if you have the read_real_time().])], [read_real_time_ok=no]) AC_MSG_RESULT($read_real_time_ok) AC_MSG_CHECKING([for time_base_to_time]) time_base_to_time_ok=yes AC_TRY_COMPILE([#if TIME_WITH_SYS_TIME # include # include #else # if HAVE_SYS_TIME_H # include # else # include # endif #endif ], [ timebasestruct_t t; time_base_to_time(&t, TIMEBASE_SZ); ], [AC_DEFINE(HAVE_TIME_BASE_TO_TIME,1,[Define if you have the time_base_to_time().])], [time_base_to_time_ok=no]) AC_MSG_RESULT($time_base_to_time_ok) #AC_MSG_CHECKING([for rtc]) #rtc_ok=yes #AC_TRY_COMPILE([], [], [AC_DEFINE(HAVE_RTC,1,[Define if you have the rtc().])], [rtc_ok=no]) #AC_MSG_RESULT($rtc_ok) dnl Cray UNICOS _rtc() (real-time clock) intrinsic AC_MSG_CHECKING([for _rtc intrinsic]) rtc_ok=yes AC_TRY_LINK([#ifdef HAVE_INTRINSICS_H #include #endif], [_rtc()], [AC_DEFINE(HAVE__RTC,1,[Define if you have the UNICOS _rtc() intrinsic.])], [rtc_ok=no]) AC_MSG_RESULT($rtc_ok) # # FFT # # # FFT ZFFT # have_fft_zfft=true FFT_ZFFT_LIBS="" FFT_ZFFT_CFLAGS="" # # FFT SGI # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_fft_sgi=true FFT_SGI_LIBS="-lcomplib.sgimath" FFT_SGI_CFLAGS="-DHAVE_FFT_SGI -DHAVE_FFT" AC_CHECK_LIB(complib.sgimath,zfftm1di,,[have_fft_sgi=false]) AC_CHECK_LIB(complib.sgimath,zfftm1d,,[have_fft_sgi=false]) AC_CHECK_LIB(complib.sgimath,zfft2di,,[have_fft_sgi=false]) AC_CHECK_LIB(complib.sgimath,zfft2d,,[have_fft_sgi=false]) AC_CHECK_LIB(complib.sgimath,zfft3di,,[have_fft_sgi=false]) AC_CHECK_LIB(complib.sgimath,zfft3d,,[have_fft_sgi=false]) AC_CHECK_HEADER(fft.h,,[have_fft_sgi=false]) # # FFT AIX/IBM # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_fft_essl=true FFT_ESSL_LIBS="-lessl" FFT_ESSL_CFLAGS="-DHAVE_FFT_ESSL -DHAVE_FFT" AC_CHECK_LIB(essl,dcft,,[have_fft_essl=false]) AC_CHECK_HEADER(essl.h,,[have_fft_essl=false]) # # FFTW2 MPI # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw2mpi=false if test x"$with_fftw2mpi" != x; then FFTW2_MPI_INCLUDE="$with_fftw2mpi/include" FFTW2_MPI_LIB="$with_fftw2mpi/lib" FFTW2_MPI_ROOT="$with_fftw2mpi" require_fftw2mpi=true fi FFT_FFTW2_MPI_LIBS="-L$FFTW2_MPI_LIB -lfftw_mpi -lfftw" FFT_FFTW2_MPI_CFLAGS="-DHAVE_FFT_FFTW2_MPI -DHAVE_FFT -I$FFTW2_MPI_INCLUDE" LIBS="$FFT_FFTW2_MPI_LIBS" CFLAGS="$CFLAGS $FFT_FFTW2_MPI_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW2_MPI_CFLAGS" have_fft_fftw2mpi=true unset ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan unset ac_cv_lib_fftw_fftw3d_create_plan unset ac_cv_header_fftw_mpi_h unset ac_cv_header_fftw_h AC_CHECK_LIB(fftw_mpi,fftw3d_mpi_create_plan,,[have_fft_fftw2mpi=false]) AC_CHECK_LIB(fftw,fftw3d_create_plan,,[have_fft_fftw2mpi=false]) AC_CHECK_HEADER(fftw_mpi.h,,[have_fft_fftw2mpi=false]) AC_CHECK_HEADER(fftw.h,,[have_fft_fftw2mpi=false]) # # FFTW3 # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw3=false if test x"$with_fftw3" != x; then FFTW3_INCLUDE="$with_fftw3/include" FFTW3_LIB="$with_fftw3/lib" FFTW3_ROOT="$with_fftw3" require_fftw3=true fi FFT_FFTW3_LIBS="-L$FFTW3_LIB -lfftw3" FFT_FFTW3_CFLAGS="-DHAVE_FFT_FFTW3 -DHAVE_FFT -I$FFTW3_INCLUDE" LIBS="$FFT_FFTW3_LIBS" CFLAGS="$CFLAGS $FFT_FFTW3_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW3_CFLAGS" have_fft_fftw3=true unset ac_cv_lib_fftw3_fftw_plan_dft_3d unset ac_cv_header_fftw3_h AC_CHECK_LIB(fftw3,fftw_plan_dft_3d,,[have_fft_fftw3=false]) AC_CHECK_HEADER(fftw3.h,,[have_fft_fftw3=false]) # # FFTW2 # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw2=false if test x"$with_fftw2" != x; then FFTW2_INCLUDE="$with_fftw2/include" FFTW2_LIB="$with_fftw2/lib" FFTW2_ROOT="$with_fftw2" require_fftw2=true fi FFT_FFTW2_LIBS="-L$FFTW2_LIB -lfftw" FFT_FFTW2_CFLAGS="-DHAVE_FFT_FFTW2 -DHAVE_FFT -I$FFTW2_INCLUDE" LIBS="$FFT_FFTW2_LIBS" CFLAGS="$CFLAGS $FFT_FFTW2_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW2_CFLAGS" have_fft_fftw2=true unset ac_cv_lib_fftw_fftw3d_create_plan unset ac_cv_header_fftw_h AC_CHECK_LIB(fftw,fftw3d_create_plan,,[have_fft_fftw2=false]) AC_CHECK_HEADER(fftw.h,,[have_fft_fftw2=false]) # AC_MSG_CHECKING([FFT SGI complib.sgimath]) if test $have_fft_sgi = false; then AC_MSG_RESULT([no]); else AC_MSG_RESULT([yes]); fi AC_MSG_CHECKING([FFT ESSL]) if test $have_fft_essl = false; then AC_MSG_RESULT([no]); else AC_MSG_RESULT([yes]); fi AC_MSG_CHECKING([FFT FFTW3]) if test $have_fft_fftw3 = false; then AC_MSG_RESULT([no]); else AC_MSG_RESULT([yes]); fi AC_MSG_CHECKING([FFT FFTW2]) if test $have_fft_fftw2 = false; then AC_MSG_RESULT([no]); else AC_MSG_RESULT([yes]); fi AC_MSG_CHECKING([FFT FFTW2 MPI]) if test $have_fft_fftw2mpi = false; then AC_MSG_RESULT([no]); else AC_MSG_RESULT([yes]); fi # Now, pick the right one ... have_fft=false if (test x"$with_fft" = xsgi && test $have_fft_sgi = true) then echo "using SGI FFT complib.sgimath" FFT_LIBS=$FFT_SGI_LIBS FFT_CFLAGS=$FFT_SGI_CFLAGS have_fft=true elif (test x"$with_fft" = xessl && test $have_fft_essl = true) then echo "using FFT ESSL" FFT_LIBS=$FFT_ESSL_LIBS FFT_CFLAGS=$FFT_ESSL_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw2mpi && test $have_fft_fftw2mpi = true && $have_mpi = true) then echo "using FFTW2 MPI" FFT_LIBS=$FFT_FFTW2_MPI_LIBS FFT_CFLAGS=$FFT_FFTW2_MPI_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw3 && test $have_fft_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw2 && test $have_fft_fftw2 = true) then echo "using FFTW2" FFT_LIBS=$FFT_FFTW2_LIBS FFT_CFLAGS=$FFT_FFTW2_CFLAGS have_fft=true elif (test x"$with_fft" = xzfft) then echo "using FFT ZFFT" FFT_LIBS=$FFT_ZFFT_LIBS FFT_CFLAGS=$FFT_ZFFT_CFLAGS have_fft=true else if (test x"$with_fft" != x) then echo "Opps ... $with_fft not supported!" fi if (test $have_fft_fftw2mpi = true && test $require_fftw2mpi = true && $have_mpi = true) then echo "using FFTW2 MPI" FFT_LIBS=$FFT_FFTW2_MPI_LIBS FFT_CFLAGS=$FFT_FFTW2_MPI_CFLAGS elif (test $have_fft_fftw3 = true && test $require_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS elif (test $have_fft_sgi = true) then echo "using SGI FFT complib.sgimath" FFT_LIBS=$FFT_SGI_LIBS FFT_CFLAGS=$FFT_SGI_CFLAGS elif (test $have_fft_essl = true) then echo "using FFT ESSL" FFT_LIBS=$FFT_ESSL_LIBS FFT_CFLAGS=$FFT_ESSL_CFLAGS elif (test $have_fft_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS elif (test $have_fft_fftw2 = true) then echo "using FFTW2" FFT_LIBS=$FFT_FFTW2_LIBS FFT_CFLAGS=$FFT_FFTW2_CFLAGS else echo "using FFT ZFFT" FFT_LIBS=$FFT_ZFFT_LIBS FFT_CFLAGS=$FFT_ZFFT_CFLAGS fi fi AC_SUBST(FFT_LIBS) AC_SUBST(FFT_CFLAGS) # echo "FFT_ESSL_LIBS : $FFT_ESSL_LIBS" # echo "FFT_ESSL_CFLAGS : $FFT_ESSL_CFLAGS" # echo "FFT_FFTW3_LIBS : $FFT_FFTW3_LIBS" # echo "FFT_FFTW3_CFLAGS : $FFT_FFTW3_CFLAGS" # echo "FFT_FFTW2_LIBS : $FFT_FFTW2_LIBS" # echo "FFT_FFTW2_CFLAGS : $FFT_FFTW2_CFLAGS" # echo "FFT_LIBS : $FFT_LIBS" # echo "FFT_CFLAGS : $FFT_CFLAGS" # PNG LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_png=true PNG_LIBS="-lpng" AC_CHECK_LIB(z,compress, [LIBS="$LIBS -lz" GLUT_LIBS="$GLUT_LIBS -lz"] , ) AC_CHECK_HEADER(png.h, , [have_png=false PNG_LIBS=""]) AC_CHECK_LIB(png,png_create_write_struct, , [have_png=false PNG_LIBS=""]) if (test "$PNG_LIBS" != "") then echo "using PNG... yes" else echo "using PNG... no" fi # X11 LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_x11=true #X_CFLAGS="-I/usr/X11R6/include" #X_LIBS="-L/usr/X11R6/lib -lXm -lXt -lXext -lX11" LIBS="$X_LIBS $LIBS -lGLU -lGL -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi -lXext -lX11" CFLAGS="$CFLAGS $X_CFLAGS" AC_CHECK_LIB(pthread,pthread_cancel, [LIBS="$LIBS -lpthread"] , ) AC_CHECK_LIB(dl,dlopen, [LIBS="$LIBS -ldl"] , ) #echo "$X_LIBS $X_CFLAGS" #echo "$LIBS $CFLAGS" #AC_CHECK_LIB(Xm, XmStringFree, ,[have_x11=false]) AC_CHECK_LIB(Xmu,XmuAllStandardColormaps , ,[have_x11=false]) AC_CHECK_LIB(Xt,XtAppInitialize, ,[have_x11=false]) AC_CHECK_LIB(SM,SmcOpenConnection, ,[have_x11=false]) AC_CHECK_LIB(ICE,IceAcceptConnection, ,[have_x11=false]) AC_CHECK_LIB(Xext,XextCreateExtension, ,[have_x11=false]) AC_CHECK_LIB(X11,XOpenDisplay, , [have_x11=false]) AC_CHECK_LIB(Xi,XOpenDevice, , [have_x11=false]) # GLUT LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_glut=true require_glut=false if test "$with_glut" != ""; then if (test "$with_glut" != false && test "$with_glut" != no) then require_glut=true fi if (test "$with_glut" != yes && test "$with_glut" != true && test "$with_glut" != false && test "$with_glut" != no) then GLUT_ROOT="$with_glut" GLUT_LIBS="-L$GLUT_ROOT/lib -L$GLUT_ROOT/lib/glut" GLUT_CFLAGS="-I$GLUT_ROOT/include -I$GLUT_ROOT/include/GL" fi fi GLUT_LIBS="$GLUT_LIBS $X_LIBS -lglut -lGLU -lGL -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi -lXext -lX11" GLUT_CFLAGS="$GLUT_CFLAGS $X_CFLAGS" LIBS=$GLUT_LIBS CPPFLAGS="$CPPFLAGS $GLUT_CFLAGS" AC_CHECK_LIB(pthread,pthread_cancel, [GLUT_LIBS="$GLUT_LIBS -lpthread" LIBS="$LIBS -lpthread"] , ) AC_CHECK_LIB(dl,dlopen, [GLUT_LIBS="$GLUT_LIBS -ldl" LIBS="$LIBS -ldl"] , ) AC_CHECK_LIB(GL,glClear, , [have_glut=false]) AC_CHECK_LIB(GLU,gluLookAt, , [have_glut=false]) AC_CHECK_LIB(glut,glutMainLoop, , [have_glut=false]) AC_CHECK_HEADER(GL/glut.h, , [have_glut=false]) AC_CHECK_LIB(jpeg,jpeg_CreateDecompress, [GLUT_LIBS="$GLUT_LIBS -ljpeg"], ) AC_CHECK_LIB(tiff,TIFFSetErrorHandler, [GLUT_LIBS="$GLUT_LIBS -ltiff"], ) AC_MSG_CHECKING([found GLUT]) if test $have_glut = false; then AC_MSG_RESULT([no]); else AC_MSG_RESULT([yes]); fi if (test $require_glut = true) then if (test $have_glut = false) then AC_MSG_ERROR([Required library GLUT not found!]) elif (test $have_png = false) then AC_MSG_ERROR([GLUT GUI cannot be built. Missing PNG library!!!]) elif (test $have_x11 = false) then AC_MSG_ERROR([GLUT GUI cannot be built. Missing X11 library!!!]) else GLUT_CFLAGS="-DHAVE_GLUT $GLUT_CFLAGS" fi else GLUT_CFLAGS="" GLUT_LIBS="" X_LIBS="" X_CFLAGS="" #PNG_LIBS="" fi if (test "$GLUT_LIBS" != "") then echo "using GLUT... yes" else echo "using GLUT... no" fi AC_SUBST(X_LIBS) AC_SUBST(X_CFLAGS) AC_SUBST(PNG_LIBS) AC_SUBST(GLUT_LIBS) AC_SUBST(GLUT_CFLAGS) #echo "GLUT: $GLUT_CFLAGS $GLUT_LIBS" # # Check to see if the user wants our preset Sun g++ flags and the g++ compiler # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags CXXFLAGS=$save_cxxflags AC_SUBST(CXXFLAGS) #AC_SUBST(CFLAGS) #AC_SUBST(LIBS) compiler_version=`($CXX -V;$CXX -v) 2>&1 | perl ./compilerVersion.pl` AC_DEFINE_UNQUOTED(PACKAGE_COMPILER,"$CXX $CXXFLAGS",[Compiler]) AC_DEFINE_UNQUOTED(PACKAGE_COMPILER_VERSION,"$compiler_version",[Compiler version]) #Default AR #Early versions of automake AR1="ar" #Late versions of automake AR2="ar cru" # #Change the AR flag to CC -ar -o if we are using MIPSpro #in debug or production mode. # if(test "$WANT_IRIX_MIPSPRO_MPI_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_DEBUG_FLAGS" = 1) then AR1="../mipscc_ar" AR2="$(CXX) -ar -o" fi CLEANFILES="-r *~" AC_SUBST(CLEANFILES) # # Check for "makedepend". Not everyone has this. # #AC_CHECK_PROGS(MAKEDEPEND, makedepend, no) # # Fix for ar # AC_SUBST(AR1) AC_SUBST(AR2) # AC_OUTPUT(Makefile framework/Makefile framework/base/Makefile framework/io/Makefile framework/parallel/Makefile framework/topology/Makefile framework/forces/Makefile framework/imd/Makefile framework/integrators/Makefile framework/frontend/Makefile framework/factories/Makefile applications/Makefile applications/protomol-app/Makefile applications/coulomb-app/Makefile applications/dcd2dcd-app/Makefile applications/iSGProtomol-app/Makefile applications/iSGProtomol-app/base/Makefile applications/iSGProtomol-app/io/Makefile applications/iSGProtomol-app/frontend/Makefile applications/iSGProtomol-app/forces/Makefile applications/iSGProtomol-app/factories/Makefile applications/iSGProtomol-app/integrators/Makefile applications/coords2coords-app/Makefile applications/xyzviz-app/Makefile) echo "" echo "CC : $CC" echo "CFLAGS : $CFLAGS" echo "CXXFLAGS : $CXXFLAGS" echo "CXX : $CXX" echo "CXXCPP : $CXXCPP" echo "LIBS : $LIBS" echo "CPP : $CPP" echo "CPPFLAGS : $CPPFLAGS" echo "" echo "make clean; make" protomol/install-sh0100755027616700000500000001270110237151524014017 0ustar pbrenne1dip#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else : fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: chmodcmd="" else instcmd=$mkdirprog fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f "$src" ] || [ -d "$src" ] then : else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else : fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else : fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else : fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else : fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 protomol/missing0100755027616700000500000002403610237151524013416 0ustar pbrenne1dip#! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi case "$1" in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case "$1" in -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing 0.4 - GNU automake" ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; aclocal*) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case "$f" in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. You can get \`$1Help2man' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` fi if [ -f "$file" ]; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then # We have makeinfo, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` fi touch $file ;; tar) shift if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 fi # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 protomol/mkinstalldirs0100755027616700000500000000341110237151524014617 0ustar pbrenne1dip#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain errstatus=0 dirmode="" usage="\ Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." # process command line arguments while test $# -gt 0 ; do case "${1}" in -h | --help | --h* ) # -h for help echo "${usage}" 1>&2; exit 0 ;; -m ) # -m PERM arg shift test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } dirmode="${1}" shift ;; -- ) shift; break ;; # stop option processing -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option * ) break ;; # first non-opt arg esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac case $dirmode in '') if mkdir -p -- . 2>/dev/null; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" fi ;; *) if mkdir -m "$dirmode" -p -- . 2>/dev/null; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" fi ;; esac for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr="" chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp="$pathcomp/" done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 3 # End: # mkinstalldirs ends here protomol/protomol_config.h.in0100644027616700000500000001075010237151524015773 0ustar pbrenne1dip/* protomol_config.h.in. Generated from configure.in by autoheader. */ /* Define to 1 if you have the `clock_gettime' function. */ #undef HAVE_CLOCK_GETTIME /* Define to 1 if you have the header file. */ #undef HAVE_C_ASM_H /* Define to 1 if you have the `gethrtime' function. */ #undef HAVE_GETHRTIME /* Define to 1 if hrtime_t is defined in */ #undef HAVE_HRTIME_T /* Define to 1 if you have the header file. */ #undef HAVE_INTRINSICS_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `complib.sgimath' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH /* Define to 1 if you have the `essl' library (-lessl). */ #undef HAVE_LIBESSL /* Define to 1 if you have the `fftw' library (-lfftw). */ #undef HAVE_LIBFFTW /* Define to 1 if you have the `fftw3' library (-lfftw3). */ #undef HAVE_LIBFFTW3 /* Define to 1 if you have the `fftw_mpi' library (-lfftw_mpi). */ #undef HAVE_LIBFFTW_MPI /* Define to 1 if you have the `GL' library (-lGL). */ #undef HAVE_LIBGL /* Define to 1 if you have the `GLU' library (-lGLU). */ #undef HAVE_LIBGLU /* Define to 1 if you have the `glut' library (-lglut). */ #undef HAVE_LIBGLUT /* Define to 1 if you have the `ICE' library (-lICE). */ #undef HAVE_LIBICE /* Define to 1 if you have the `png' library (-lpng). */ #undef HAVE_LIBPNG /* Define to 1 if you have the `SM' library (-lSM). */ #undef HAVE_LIBSM /* Define to 1 if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET /* Define to 1 if you have the `X11' library (-lX11). */ #undef HAVE_LIBX11 /* Define to 1 if you have the `Xext' library (-lXext). */ #undef HAVE_LIBXEXT /* Define to 1 if you have the `Xi' library (-lXi). */ #undef HAVE_LIBXI /* Define to 1 if you have the `Xmu' library (-lXmu). */ #undef HAVE_LIBXMU /* Define to 1 if you have the `Xt' library (-lXt). */ #undef HAVE_LIBXT /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define if you have the read_real_time(). */ #undef HAVE_READ_REAL_TIME /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define if you have the time_base_to_time(). */ #undef HAVE_TIME_BASE_TO_TIME /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define if you have the UNICOS _rtc() intrinsic. */ #undef HAVE__RTC /* Define for int 32-bit. */ #undef INT32_TYPE /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* ProtoMol cite */ #undef PACKAGE_CITE /* Compiler */ #undef PACKAGE_COMPILER /* Compiler version */ #undef PACKAGE_COMPILER_VERSION /* ProtoMol URL */ #undef PACKAGE_HOMEPAGE /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* System, platform */ #undef PACKAGE_UNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* User */ #undef PACKAGE_WHOAMI /* The size of a `char', as computed by sizeof. */ #undef SIZEOF_CHAR /* The size of a `int', as computed by sizeof. */ #undef SIZEOF_INT /* The size of a `long', as computed by sizeof. */ #undef SIZEOF_LONG /* The size of a `short', as computed by sizeof. */ #undef SIZEOF_SHORT /* The size of a `size_t', as computed by sizeof. */ #undef SIZEOF_SIZE_T /* The size of a `void*', as computed by sizeof. */ #undef SIZEOF_VOIDP /* Socket lenght. */ #undef SOCKLEN_TYPE /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Version number of package */ #undef VERSION /* Define to 1 if the X Window System is missing or not being used. */ #undef X_DISPLAY_MISSING /* Define as `__inline' if that's what the C compiler calls it, or to nothing if it is not supported. */ #undef inline protomol/protomol_config_windows.cpp0100644027616700000500000000012610237151524017467 0ustar pbrenne1dip/* Socket lenght. */ #if defined(_SOCKLEN_T) socklen_t len; #else int len; #endif protomol/protomol_config_windows.h0100644027616700000500000000242310237151524017136 0ustar pbrenne1dip/* Define for int 32-bit. */ #include #if ( INT_MAX == 2147483647 ) #define INT32_TYPE int #else #define INT32_TYPE short #endif /* Name of package */ #define PACKAGE "protomol" /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "protomol@cse.nd.edu" /* ProtoMol cite */ #define PACKAGE_CITE "Please cite T. Matthey, T. Cickovski, S. S. Hampton, A. Ko, Q. Ma, M. Nyerges, T. Raeder,\nT. Slabach, and J. A. Izaguirre. ProtoMol: An object-oriented framework for prototyping\nnovel algorithms for molecular dynamics. ACM Trans. Math. Softw., 30(3):237­265, 2004." /* Compiler */ #define PACKAGE_COMPILER "win32" /* Compiler version */ #define PACKAGE_COMPILER_VERSION "win32" /* ProtoMol URL */ #define PACKAGE_HOMEPAGE "http://protomol.sourceforge.net" /* Define to the full name of this package. */ #define PACKAGE_NAME "protomol" /* Define to the full name and version of this package. */ #define PACKAGE_STRING "protomol 2.0.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "protomol" /* System, platform */ #define PACKAGE_UNAME "win32" /* Define to the version of this package. */ #define PACKAGE_VERSION "2.0.3" /* User */ #define PACKAGE_WHOAMI "win32" #define SOCKLEN_TYPE int protomol/realclean0100755027616700000500000000174210237151524013672 0ustar pbrenne1dip#!/bin/sh make clean find . -name *.o -exec rm {} \; find framework -name lib*.a -exec rm {} \; find . -name core -exec rm {} \; find . -name ii_files -exec rm -rf {} \; find . -name *.il -exec rm -rf {} \; find framework applications -name Makefile -exec rm {} \; find framework applications -name Makefile.bak -exec rm {} \; rm -f protomol_config.h config.log config.status stamp-h protomol_config.h Makefile stamp-h1 rm -f examples/*/*.out.* rm -f config.cache confdefs.h # Modified (or removed) the following lines from this file. Will test this for # a while and if we determine that nothing is broken, then we can remove these # comments. --ssh 05/05/05. # # find framework applications -name Makefile.in -exec rm {} \; # rm -rf autom4te* # rm -f config.cache confdefs.h missing mkinstalldirs install-sh # rm -f aclocal.m4 protomol_config.h configure config.log config.status stamp-h stamp-h.in protomol_config.h protomol_config.h.in config.h.in Makefile Makefile.in stamp-h1 protomol/realmake0100755027616700000500000000023210237151524013516 0ustar pbrenne1dip#!/usr/bin/perl my $args = join(" ",@ARGV); system("make clean;./realclean;autoreconf -f -i --verbose;./configure $args;make depend;make clean;make"); protomol/tags0100644027616700000500000362610010237151524012703 0ustar pbrenne1dip!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ !_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/ !_TAG_PROGRAM_NAME Exuberant Ctags // !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ !_TAG_PROGRAM_VERSION 5.4 // A framework/topology/LennardJonesParameters.h /^ Real A,B;$/;" m struct:ProtoMol::LennardJonesParameters A14 framework/topology/LennardJonesParameters.h /^ Real A14,B14;$/;" m struct:ProtoMol::LennardJonesParameters ABSTRACTENUMTYPE_H framework/base/AbstractEnumType.h 3;" d ALL framework/topology/topologyutilities.h /^ enum waterOption {IGNORE_WATER, ONLY_WATER, ALL};$/;" e enum:ProtoMol::waterOption AMU framework/base/pmconstants.cpp /^ const Real AMU = 1.6605655e-27; \/\/ [kg]$/;" m namespace:ProtoMol::Constant::SI file: ANGLE applications/iSGProtomol-app/io/iSGPARReader.h /^ ANGLE,$/;" e enum:ProtoMol::iSGPARReader::PARRecordTypeEnum ANGLE framework/base/ScalarStructure.h /^ ANGLE,$/;" e enum:ProtoMol::ScalarStructure::Index ANGLE framework/io/PARReader.h /^ ANGLE,$/;" e enum:ProtoMol::PARReader::PARRecordTypeEnum ANGLEINFO_H framework/topology/AngleInfo.h 3;" d ANGLESYSTEMFORCEBASE_H framework/forces/AngleSystemForceBase.h 3;" d ANGLESYSTEMFORCE_H framework/forces/AngleSystemForce.h 3;" d ANGLE_DELTAMU framework/base/ScalarStructure.h /^ ANGLE_DELTAMU, \/\/\/< needed for iSG simulations$/;" e enum:ProtoMol::ScalarStructure::Index ANGLE_H framework/topology/Angle.h 3;" d ANGLE_NOTSET framework/topology/AngleInfo.h /^ ANGLE_NOTSET = 10003, $/;" e enum:ProtoMol::AngleInfo:: ANGLE_POINTER framework/topology/AngleInfo.h /^ ANGLE_POINTER = 10002,$/;" e enum:ProtoMol::AngleInfo:: ANGLE_VALUE framework/topology/AngleInfo.h /^ enum { ANGLE_VALUE = 10001,$/;" e enum:ProtoMol::AngleInfo:: ANIM_IDLE applications/xyzviz-app/xyzviz.cpp /^enum MENU {ANIM_IDLE=-1,$/;" e enum:MENU file: ANIM_OFF applications/xyzviz-app/xyzviz.cpp /^ ANIM_OFF};$/;" e enum:MENU file: ANIM_ON applications/xyzviz-app/xyzviz.cpp /^ ANIM_ON,$/;" e enum:MENU file: ANIM_SAVE applications/xyzviz-app/xyzviz.cpp /^ ANIM_SAVE,$/;" e enum:MENU file: ARRAYCELLSTRUCTURE_H framework/topology/ArrayCellListStructure.h 3;" d ARRAY_FASTEST_H framework/base/Array_Fastest.h 3;" d ARRAY_H framework/base/Array.h 3;" d ARRAY_NOPARTIALSPECIALIZATION_H framework/base/Array_NoPartialSpecialization.h 3;" d ATOMCHARGE applications/iSGProtomol-app/io/TRANSReader.h /^ ATOMCHARGE$/;" e enum:ProtoMol::TRANSReader::TRANSRecordTypeEnum ATOMTYPE applications/iSGProtomol-app/io/TRANSReader.h /^ ATOMTYPE,$/;" e enum:ProtoMol::TRANSReader::TRANSRecordTypeEnum ATOMTYPE_H framework/base/AtomType.h 3;" d ATOM_H framework/base/Atom.h 3;" d AVOGADRO framework/base/pmconstants.cpp /^ const Real AVOGADRO = 6.022045e+23; \/\/ [1\/mol]$/;" m namespace:ProtoMol::Constant::SI file: AbstractEnumType framework/base/AbstractEnumType.h /^ AbstractEnumType():myType(T::UNDEFINED){}$/;" f class:ProtoMol::AbstractEnumType AbstractEnumType framework/base/AbstractEnumType.h /^ AbstractEnumType(Enum n):myType(n){}$/;" f class:ProtoMol::AbstractEnumType AbstractEnumType framework/base/AbstractEnumType.h /^ AbstractEnumType(const char s[]):myType(getEnum(std::string(s))){}$/;" f class:ProtoMol::AbstractEnumType AbstractEnumType framework/base/AbstractEnumType.h /^ AbstractEnumType(const std::string& s):myType(getEnum(s)){}$/;" f class:ProtoMol::AbstractEnumType AbstractEnumType framework/base/AbstractEnumType.h /^ class AbstractEnumType : public T {$/;" c namespace:ProtoMol Acceptor framework/base/PSF.h /^ Acceptor():number(0),atom1(0),atom2(0){}$/;" f struct:ProtoMol::PSF::Acceptor Acceptor framework/base/PSF.h /^ Acceptor(int a, int b, int c):number(a),atom1(b),atom2(c){}$/;" f struct:ProtoMol::PSF::Acceptor Acceptor framework/base/PSF.h /^ struct Acceptor {$/;" s class:ProtoMol::PSF AliasMapType framework/base/Configuration.h /^ typedef std::map AliasMapType;$/;" t class:ProtoMol::Configuration Angle framework/base/PAR.h /^ Angle(){} $/;" f struct:ProtoMol::PAR::Angle Angle framework/base/PAR.h /^ Angle(int a, std::string b, std::string c, std::string d, Real e, Real f, bool g, Real h, Real i):$/;" f struct:ProtoMol::PAR::Angle Angle framework/base/PAR.h /^ struct Angle{$/;" s class:ProtoMol::PAR Angle framework/base/PSF.h /^ Angle():number(0),atom1(0),atom2(0),atom3(0){}$/;" f struct:ProtoMol::PSF::Angle Angle framework/base/PSF.h /^ Angle(int a, int b, int c, int d):number(a),atom1(b),atom2(c),atom3(d){}$/;" f struct:ProtoMol::PSF::Angle Angle framework/base/PSF.h /^ struct Angle {$/;" s class:ProtoMol::PSF Angle framework/base/iSGPAR.h /^ Angle(){}$/;" f struct:ProtoMol::iSGPAR::Angle Angle framework/base/iSGPAR.h /^ Angle(int a) {$/;" f struct:ProtoMol::iSGPAR::Angle Angle framework/base/iSGPAR.h /^ struct Angle{$/;" s class:ProtoMol::iSGPAR Angle framework/topology/Angle.h /^ Angle():atom1(-1),atom2(-1),atom3(-1),restAngle(0.0),forceConstant(0.0),$/;" f class:ProtoMol::Angle Angle framework/topology/Angle.h /^ class Angle {$/;" c namespace:ProtoMol AngleIndex framework/integrators/BSplineMOLLYIntegrator.h /^ AngleIndex(int a, int b, int c):angle(a),bond1(b),bond2(c){}$/;" f struct:ProtoMol::BSplineMOLLYIntegrator::AngleIndex AngleIndex framework/integrators/BSplineMOLLYIntegrator.h /^ struct AngleIndex {$/;" s class:ProtoMol::BSplineMOLLYIntegrator AngleInfo framework/topology/AngleInfo.cpp /^ AngleInfo::AngleInfo() {$/;" f class:ProtoMol::AngleInfo AngleInfo framework/topology/AngleInfo.h /^ class AngleInfo {$/;" c namespace:ProtoMol AngleSystemForce framework/forces/AngleSystemForce.h /^ class AngleSystemForce : public SystemForce, private AngleSystemForceBase {$/;" c namespace:ProtoMol AngleSystemForceBase framework/forces/AngleSystemForceBase.h /^ class AngleSystemForceBase {$/;" c namespace:ProtoMol Array framework/base/Array_Fastest.h /^ Array()$/;" f class:ProtoMol::Array Array framework/base/Array_Fastest.h /^ Array(const Array & A)$/;" f class:ProtoMol::Array Array framework/base/Array_Fastest.h /^ class Array$/;" c namespace:ProtoMol Array framework/base/Array_Fastest.h /^ class Array$/;" c namespace:ProtoMol Array framework/base/Array_Fastest.h /^ class Array$/;" c namespace:ProtoMol Array framework/base/Array_NoPartialSpecialization.h /^ Array()$/;" f class:ProtoMol::Array Array framework/base/Array_NoPartialSpecialization.h /^ Array(const Array & A)$/;" f class:ProtoMol::Array Array framework/base/Array_NoPartialSpecialization.h /^ explicit Array(const ArraySize & Dimensions, const T & Init=T())$/;" f class:ProtoMol::Array Array framework/base/Array_NoPartialSpecialization.h /^ explicit Array(const unsigned int * Dimensions, const T & Init=T())$/;" f class:ProtoMol::Array Array framework/base/Array_NoPartialSpecialization.h /^ class Array$/;" c namespace:ProtoMol ArrayCellListStructure framework/topology/ArrayCellListStructure.cpp /^ ArrayCellListStructure::ArrayCellListStructure():valid(false),$/;" f class:ProtoMol::ArrayCellListStructure ArrayCellListStructure framework/topology/ArrayCellListStructure.h /^ class ArrayCellListStructure {$/;" c namespace:ProtoMol ArraySize framework/base/Array_Fastest.h /^ class ArraySize$/;" c namespace:ProtoMol ArraySize framework/base/Array_NoPartialSpecialization.h /^ ArraySize(std::vector & v)$/;" f class:ProtoMol::ArraySize ArraySize framework/base/Array_NoPartialSpecialization.h /^ class ArraySize$/;" c namespace:ProtoMol ArraySizes framework/base/Array_Fastest.h /^ explicit ArraySizes(size_t dim) $/;" f class:ProtoMol::ArraySizes ArraySizes framework/base/Array_Fastest.h /^ class ArraySizes$/;" c namespace:ProtoMol ArraySizes framework/base/Array_NoPartialSpecialization.h /^ explicit ArraySizes(unsigned int dim) $/;" f class:ProtoMol::ArraySizes ArraySizes framework/base/Array_NoPartialSpecialization.h /^ class ArraySizes$/;" c namespace:ProtoMol Atom framework/base/Atom.h /^ Atom():type(-1),$/;" f struct:ProtoMol::Atom Atom framework/base/Atom.h /^ struct Atom {$/;" s namespace:ProtoMol Atom framework/base/PSF.h /^ Atom():number(0),seg_id(""),residue_sequence(0),residue_name(""),$/;" f struct:ProtoMol::PSF::Atom Atom framework/base/PSF.h /^ Atom(int a,std::string b, int c, std::string d, std::string e, std::string f, Real g, Real h, unsigned int i):$/;" f struct:ProtoMol::PSF::Atom Atom framework/base/PSF.h /^ struct Atom {$/;" s class:ProtoMol::PSF AtomType applications/iSGProtomol-app/base/TRANS.h /^ AtomType(Real M, Real Q, int S) {$/;" f struct:ProtoMol::TRANS::AtomType AtomType applications/iSGProtomol-app/base/TRANS.h /^ AtomType(int I, int S, std::string name){$/;" f struct:ProtoMol::TRANS::AtomType AtomType applications/iSGProtomol-app/base/TRANS.h /^ struct AtomType{$/;" s class:ProtoMol::TRANS AtomType framework/base/AtomType.h /^ AtomType():name(""),mass(0.0),charge(0.0),symbolName("") {}$/;" f struct:ProtoMol::AtomType AtomType framework/base/AtomType.h /^ struct AtomType {$/;" s namespace:ProtoMol AtomType framework/base/iSGPAR.h /^ AtomType(){}$/;" f struct:ProtoMol::iSGPAR::AtomType AtomType framework/base/iSGPAR.h /^ AtomType(int a, std::string b, std::string c): name(b), symbolName(c) {$/;" f struct:ProtoMol::iSGPAR::AtomType AtomType framework/base/iSGPAR.h /^ struct AtomType {$/;" s class:ProtoMol::iSGPAR AveCQ applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real AveCQ, AveCQSq; \/\/ The instantaneous CQ, average CQ, and CQ-squared$/;" m class:ProtoMol::iSGIntegrator AveCQSq applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real AveCQ, AveCQSq; \/\/ The instantaneous CQ, average CQ, and CQ-squared$/;" m class:ProtoMol::iSGIntegrator AveDeltaMu applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real AveDeltaMu; \/\/ Quantity needed for TI calculations$/;" m class:ProtoMol::iSGIntegrator B framework/topology/LennardJonesParameters.h /^ Real A,B;$/;" m struct:ProtoMol::LennardJonesParameters B14 framework/topology/LennardJonesParameters.h /^ Real A14,B14;$/;" m struct:ProtoMol::LennardJonesParameters BANKLENNARDJONESPARAMETERTABLE_H framework/topology/BankLennardJonesParameterTable.h 3;" d BBKINTEGRATOR_H framework/integrators/BBKIntegrator.h 3;" d BBKIntegrator framework/integrators/BBKIntegrator.cpp /^ BBKIntegrator::BBKIntegrator():$/;" f class:ProtoMol::BBKIntegrator BBKIntegrator framework/integrators/BBKIntegrator.cpp /^ BBKIntegrator::BBKIntegrator(Real timestep,$/;" f class:ProtoMol::BBKIntegrator BBKIntegrator framework/integrators/BBKIntegrator.h /^ class BBKIntegrator: public STSIntegrator {$/;" c namespace:ProtoMol BERENDSEN framework/integrators/PaulTrapIntegrator.h /^ BERENDSEN,$/;" e enum:ProtoMol::ThermostatEnum::Enum BERENDSEN_GLOBAL framework/integrators/PaulTrapIntegrator.h /^ BERENDSEN_GLOBAL,$/;" e enum:ProtoMol::ThermostatEnum::Enum BERENDSEN_IND framework/integrators/PaulTrapIntegrator.h /^ BERENDSEN_IND,$/;" e enum:ProtoMol::ThermostatEnum::Enum BERENDSEN_SHELL framework/integrators/PaulTrapIntegrator.h /^ BERENDSEN_SHELL,$/;" e enum:ProtoMol::ThermostatEnum::Enum BERENDSEN_ZERO framework/integrators/PaulTrapIntegrator.h /^ BERENDSEN_ZERO,$/;" e enum:ProtoMol::ThermostatEnum::Enum BITS framework/base/Real.h 16;" d BITSPERBYTE framework/base/Real.h 15;" d BOLTZMANN framework/base/pmconstants.cpp /^ const Real BOLTZMANN = 1.380662e-23; \/\/ [J\/K]$/;" m namespace:ProtoMol::Constant::SI file: BOLTZMANN framework/base/pmconstants.cpp /^ const Real BOLTZMANN = 0.001987191;$/;" m namespace:ProtoMol::Constant file: BOND applications/iSGProtomol-app/io/iSGPARReader.h /^ BOND,$/;" e enum:ProtoMol::iSGPARReader::PARRecordTypeEnum BOND framework/base/ScalarStructure.h /^ BOND,$/;" e enum:ProtoMol::ScalarStructure::Index BOND framework/io/PARReader.h /^ BOND,$/;" e enum:ProtoMol::PARReader::PARRecordTypeEnum BONDSYSTEMFORCEBASE_H framework/forces/BondSystemForceBase.h 3;" d BONDSYSTEMFORCE_H framework/forces/BondSystemForce.h 3;" d BOND_DELTAMU framework/base/ScalarStructure.h /^ BOND_DELTAMU, \/\/\/< needed for iSG simulations$/;" e enum:ProtoMol::ScalarStructure::Index BOND_H framework/topology/Bond.h 3;" d BOOL framework/base/ValueType.h /^ BOOL,$/;" e enum:ProtoMol::ValueEnum::Enum BORDER framework/base/MultiGrid.h /^ static const int BORDER = 2;$/;" m namespace:ProtoMol BORDER_TOLERANCE framework/base/MultiGrid.h /^ static const Real BORDER_TOLERANCE = 0.0001;$/;" m namespace:ProtoMol BSPLINEMOLLYINTEGRATOR_H framework/integrators/BSplineMOLLYIntegrator.h 3;" d BSPLINETYPE_H framework/base/BSplineType.h 3;" d BSPLINE_H framework/base/BSpline.h 3;" d BSpline framework/base/BSpline.cpp /^ BSpline::BSpline():myInterOrder(0),theta(NULL),dTheta(NULL){$/;" f class:ProtoMol::BSpline BSpline framework/base/BSpline.cpp /^ BSpline::BSpline(const BSpline& bspline){$/;" f class:ProtoMol::BSpline BSpline framework/base/BSpline.cpp /^ BSpline::BSpline(unsigned int order):myInterOrder(order),$/;" f class:ProtoMol::BSpline BSpline framework/base/BSpline.cpp /^ BSpline::BSpline(unsigned int order, Real w):myInterOrder(order),$/;" f class:ProtoMol::BSpline BSpline framework/base/BSpline.h /^ class BSpline {$/;" c namespace:ProtoMol BSplineEnum framework/base/BSplineType.h /^ class BSplineEnum {$/;" c namespace:ProtoMol BSplineMOLLYIntegrator framework/integrators/BSplineMOLLYIntegrator.cpp /^ BSplineMOLLYIntegrator::BSplineMOLLYIntegrator() : MOLLYIntegrator(),$/;" f class:ProtoMol::BSplineMOLLYIntegrator BSplineMOLLYIntegrator framework/integrators/BSplineMOLLYIntegrator.cpp /^ BSplineMOLLYIntegrator::BSplineMOLLYIntegrator(int cycles,$/;" f class:ProtoMol::BSplineMOLLYIntegrator BSplineMOLLYIntegrator framework/integrators/BSplineMOLLYIntegrator.h /^ class BSplineMOLLYIntegrator: public MOLLYIntegrator {$/;" c namespace:ProtoMol BSplineType framework/base/BSplineType.h /^ typedef AbstractEnumType BSplineType;$/;" t namespace:ProtoMol BUILDCELLLIST_H framework/topology/buildCellLists.h 3;" d BankLennardJonesParameterTable framework/topology/BankLennardJonesParameterTable.h /^ BankLennardJonesParameterTable(){};$/;" f struct:ProtoMol::BankLennardJonesParameterTable BankLennardJonesParameterTable framework/topology/BankLennardJonesParameterTable.h /^ struct BankLennardJonesParameterTable {$/;" s namespace:ProtoMol Bond framework/base/PAR.h /^ Bond(){}$/;" f struct:ProtoMol::PAR::Bond Bond framework/base/PAR.h /^ Bond(int a, std::string b, std::string c, Real d, Real e):number(a),atom1(b),atom2(c),forceConstant(d),distance(e){}$/;" f struct:ProtoMol::PAR::Bond Bond framework/base/PAR.h /^ struct Bond{$/;" s class:ProtoMol::PAR Bond framework/base/PSF.h /^ Bond():number(0),atom1(0),atom2(0){}$/;" f struct:ProtoMol::PSF::Bond Bond framework/base/PSF.h /^ Bond(int a, int b, int c):number(a),atom1(b),atom2(c){}$/;" f struct:ProtoMol::PSF::Bond Bond framework/base/PSF.h /^ struct Bond {$/;" s class:ProtoMol::PSF Bond framework/base/iSGPAR.h /^ Bond(){}$/;" f struct:ProtoMol::iSGPAR::Bond Bond framework/base/iSGPAR.h /^ Bond(int a) {$/;" f struct:ProtoMol::iSGPAR::Bond Bond framework/base/iSGPAR.h /^ struct Bond {$/;" s class:ProtoMol::iSGPAR Bond framework/topology/Bond.h /^ Bond():atom1(-1),atom2(-1),springConstant(0.0),restLength(0.0),$/;" f class:ProtoMol::Bond Bond framework/topology/Bond.h /^ Bond(int a, int b, Real c, Real d):atom1(a),atom2(b),springConstant(c),restLength(d){}$/;" f class:ProtoMol::Bond Bond framework/topology/Bond.h /^ class Bond {$/;" c namespace:ProtoMol BondIndex framework/integrators/BSplineMOLLYIntegrator.h /^ BondIndex(int a, int b):b1(std::min(a,b)),b2(std::max(a,b)){}$/;" f struct:ProtoMol::BSplineMOLLYIntegrator::BondIndex BondIndex framework/integrators/BSplineMOLLYIntegrator.h /^ struct BondIndex {$/;" s class:ProtoMol::BSplineMOLLYIntegrator BondSystemForce framework/forces/BondSystemForce.h /^ class BondSystemForce : public SystemForce, private BondSystemForceBase{$/;" c namespace:ProtoMol BondSystemForceBase framework/forces/BondSystemForceBase.h /^ class BondSystemForceBase {$/;" c namespace:ProtoMol BoundaryConditions applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ typedef TBoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::iSGOneAtomPair BoundaryConditions applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ typedef TBoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::iSGOneAtomPairFull BoundaryConditions applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ typedef TBoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::iSGOneAtomPairTwo BoundaryConditions applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ typedef TBoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::iSGOneAtomPairTwoFull BoundaryConditions framework/forces/NonbondedCutoffForce.h /^ typedef typename TOneAtomPair::BoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::NonbondedCutoffForce BoundaryConditions framework/forces/NonbondedCutoffMollyForce.h /^ typedef typename TOneAtomPair::BoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::NonbondedCutoffMollyForce BoundaryConditions framework/forces/NonbondedCutoffSystemForce.h /^ typedef typename TOneAtomPair::BoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::NonbondedCutoffSystemForce BoundaryConditions framework/forces/OneAtomPair.h /^ typedef TBoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::OneAtomPair BoundaryConditions framework/forces/OneAtomPairFull.h /^ typedef TBoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::OneAtomPairFull BoundaryConditions framework/forces/OneAtomPairTwo.h /^ typedef TBoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::OneAtomPairTwo BoundaryConditions framework/forces/OneAtomPairTwoFull.h /^ typedef TBoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::OneAtomPairTwoFull BoundaryConditions framework/forces/OneMollyPair.h /^ typedef TBoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::OneMollyPair BoundaryConditions framework/forces/OneMollyPairTwo.h /^ typedef TBoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::OneMollyPairTwo BoundaryConditions framework/topology/SemiGenericTopology.h /^ typedef TBoundaryConditions BoundaryConditions;$/;" t class:ProtoMol::SemiGenericTopology C framework/base/pmconstants.cpp /^ const Real C = 299792458.0; \/\/ [m\/s]$/;" m namespace:ProtoMol::Constant::SI file: C1 applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ class C1 {$/;" c class:ProtoMol::iSGCoulombForce C1 applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ class C1 {$/;" c class:ProtoMol::iSGIdealGasCoulombForce C1 framework/forces/CoulombForce.h /^ class C1 {$/;" c class:ProtoMol::CoulombForce C1SWITCHINGFUNCTIONBASE_H framework/topology/C1SwitchingFunctionBase.h 3;" d C1SWITCHINGFUNCTION_H framework/topology/C1SwitchingFunction.h 3;" d C1SwitchingFunction framework/topology/C1SwitchingFunction.cpp /^ C1SwitchingFunction::C1SwitchingFunction():myCutoff(0.0),$/;" f class:ProtoMol::C1SwitchingFunction C1SwitchingFunction framework/topology/C1SwitchingFunction.cpp /^ C1SwitchingFunction::C1SwitchingFunction(Real cutoff):myCutoff(cutoff),$/;" f class:ProtoMol::C1SwitchingFunction C1SwitchingFunction framework/topology/C1SwitchingFunction.h /^ class C1SwitchingFunction : private C1SwitchingFunctionBase {$/;" c namespace:ProtoMol C1SwitchingFunctionBase framework/topology/C1SwitchingFunctionBase.h /^ class C1SwitchingFunctionBase {$/;" c namespace:ProtoMol C2 applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ class C2 {$/;" c class:ProtoMol::iSGCoulombForce C2 applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ class C2 {$/;" c class:ProtoMol::iSGIdealGasCoulombForce C2 framework/forces/CoulombForce.h /^ class C2 {$/;" c class:ProtoMol::CoulombForce C2SWITCHINGFUNCTIONBASE_H framework/topology/C2SwitchingFunctionBase.h 3;" d C2SWITCHINGFUNCTION_H framework/topology/C2SwitchingFunction.h 3;" d C2SwitchingFunction framework/topology/C2SwitchingFunction.cpp /^ C2SwitchingFunction::C2SwitchingFunction():mySwitchon(-1.0),myCutoff(0.0){}$/;" f class:ProtoMol::C2SwitchingFunction C2SwitchingFunction framework/topology/C2SwitchingFunction.cpp /^ C2SwitchingFunction::C2SwitchingFunction(Real switchon,Real cutoff):mySwitchon(switchon),$/;" f class:ProtoMol::C2SwitchingFunction C2SwitchingFunction framework/topology/C2SwitchingFunction.h /^ class C2SwitchingFunction : private C2SwitchingFunctionBase {$/;" c namespace:ProtoMol C2SwitchingFunctionBase framework/topology/C2SwitchingFunctionBase.h /^ class C2SwitchingFunctionBase {$/;" c namespace:ProtoMol C3 applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ class C3 {$/;" c class:ProtoMol::iSGCoulombForce C3 applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ class C3 {$/;" c class:ProtoMol::iSGIdealGasCoulombForce C3 framework/forces/CoulombForce.h /^ class C3 {$/;" c class:ProtoMol::CoulombForce C4 applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ class C4 {$/;" c class:ProtoMol::iSGCoulombForce C4 applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ class C4 {$/;" c class:ProtoMol::iSGIdealGasCoulombForce C4 framework/forces/CoulombForce.h /^ class C4 {$/;" c class:ProtoMol::CoulombForce CELLLISTENUMERATOR_H framework/topology/CellListEnumerator.h 3;" d CELLLISTENUMERATOR_PERDIOCBOUNDARIES_H framework/topology/CellListEnumerator_periodicBoundaries.h 3;" d CELLLISTENUMERATOR_STANDARD_H framework/topology/CellListEnumerator_standard.h 3;" d CHARMM19 framework/base/PAR.h /^ CHARMM19$/;" e enum:ProtoMol::PAR::CharmmTypeEnum CHARMM19 framework/base/iSGPAR.h /^ CHARMM19$/;" e enum:ProtoMol::iSGPAR::CharmmTypeEnum CHARMM28 framework/base/PAR.h /^ CHARMM28,$/;" e enum:ProtoMol::PAR::CharmmTypeEnum CHARMM28 framework/base/iSGPAR.h /^ CHARMM28,$/;" e enum:ProtoMol::iSGPAR::CharmmTypeEnum CHDIR framework/base/systemutilities.cpp 22;" d file: CHDIR framework/base/systemutilities.cpp 9;" d file: COMMUNICATION framework/base/TimerStatistic.h /^ COMMUNICATION,$/;" e enum:ProtoMol::TimerStatistic::Enum COMPAREFORCE_H framework/forces/CompareForce.h 3;" d COMPLEMENTSWITCHINGFUNCTIONBASE_H framework/topology/ComplementSwitchingFunctionBase.h 3;" d COMPLEMENTSWITCHINGFUNCTION_H framework/topology/ComplementSwitchingFunction.h 3;" d CONFIGURATIONREADER_H framework/io/ConfigurationReader.h 3;" d CONFIGURATION_H framework/base/Configuration.h 3;" d CONSTANTS_H framework/base/pmconstants.h 3;" d CONSTRAINTVALUETYPE_H framework/base/ConstraintValueType.h 3;" d COULOMB framework/base/ScalarStructure.h /^ COULOMB = FIRST,$/;" e enum:ProtoMol::ScalarStructure::Index COULOMBEWALDREALFORCE_H framework/forces/CoulombEwaldRealForce.h 3;" d COULOMBEWALDREALTABLEFORCE_H framework/forces/CoulombEwaldRealTableForce.h 3;" d COULOMBFORCE_H framework/forces/CoulombForce.h 3;" d COULOMBMULTIGRIDDIRECTFORCEBASE_H framework/forces/CoulombMultiGridDirectForceBase.h 3;" d COULOMBMULTIGRIDDIRECTFORCE_H framework/forces/CoulombMultiGridDirectForce.h 3;" d COULOMBMULTIGRIDDIRECTTABLEFORCEBASE_H framework/forces/CoulombMultiGridDirectTableForceBase.h 3;" d COULOMBMULTIGRIDDIRECTTABLEFORCE_H framework/forces/CoulombMultiGridDirectTableForce.h 3;" d COULOMB_DELTAMU framework/base/ScalarStructure.h /^ COULOMB_DELTAMU, \/\/\/< needed for iSG simulations$/;" e enum:ProtoMol::ScalarStructure::Index COULOMB_FACTOR framework/base/pmconstants.cpp /^ const Real COULOMB_FACTOR = C*C*1e-7; \/\/ [Vm\/C]$/;" m namespace:ProtoMol::Constant::SI file: CQFLUCTUATION framework/base/ScalarStructure.h /^ CQFLUCTUATION, \/\/\/< needed for iSG simulations$/;" e enum:ProtoMol::ScalarStructure::Index CUBICCELLLOCATION_H framework/topology/CubicCellLocation.h 3;" d CUBICCELLMANAGER_H framework/topology/CubicCellManager.h 3;" d CUTOFFSWITCHINGFUNCTIONBASE_H framework/topology/CutoffSwitchingFunctionBase.h 3;" d CUTOFFSWITCHINGFUNCTION_H framework/topology/CutoffSwitchingFunction.h 3;" d CYCLES_H framework/base/Cycles.h 3;" d Cell framework/topology/CubicCellManager.h /^ typedef CubicCellLocation Cell;$/;" t class:ProtoMol::CubicCellManager CellListEnumerator framework/topology/CellListEnumerator.h /^ class CellListEnumerator {};$/;" c namespace:ProtoMol CellListEnumerator framework/topology/CellListEnumerator_periodicBoundaries.h /^ CellListEnumerator():myCutoff(-1.0),$/;" f class:ProtoMol::CellListEnumerator CellListEnumerator framework/topology/CellListEnumerator_periodicBoundaries.h /^ class CellListEnumerator {$/;" c namespace:ProtoMol CellListEnumerator framework/topology/CellListEnumerator_standard.h /^ CellListEnumerator():myCutoff(-1.0),$/;" f class:ProtoMol::CellListEnumerator CellListEnumerator framework/topology/CellListEnumerator_standard.h /^ class CellListEnumerator {$/;" c namespace:ProtoMol CellListStructure framework/topology/CubicCellManager.h /^ typedef ArrayCellListStructure CellListStructure;$/;" t class:ProtoMol::CubicCellManager CellManager framework/topology/Topology.h /^ typedef TCellManager CellManager;$/;" t class:ProtoMol::Topology CellPair framework/topology/CellListEnumerator_periodicBoundaries.h /^ struct CellPair {int first; int second;};$/;" s class:ProtoMol::CellListEnumerator CellPair framework/topology/CellListEnumerator_standard.h /^ struct CellPair {int first; int second;};$/;" s class:ProtoMol::CellListEnumerator CellPairType applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ typedef typename RealTopologyType::Enumerator::CellPair CellPairType;$/;" t class:ProtoMol::iSGNonbondedFullEwaldSystemForce CellPairType applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ typedef typename RealTopologyType::Enumerator::CellPair CellPairType;$/;" t class:ProtoMol::iSGNonbondedPMEwaldSystemForce CellPairType framework/forces/NonbondedCutoffForce.h /^ typedef typename RealTopologyType::Enumerator::CellPair CellPairType;$/;" t class:ProtoMol::NonbondedCutoffForce CellPairType framework/forces/NonbondedCutoffMollyForce.h /^ typedef typename RealTopologyType::Enumerator::CellPair CellPairType;$/;" t class:ProtoMol::NonbondedCutoffMollyForce CellPairType framework/forces/NonbondedCutoffSystemForce.h /^ typedef typename RealTopologyType::Enumerator::CellPair CellPairType;$/;" t class:ProtoMol::NonbondedCutoffSystemForce CellPairType framework/forces/NonbondedFullEwaldSystemForce.h /^ typedef typename RealTopologyType::Enumerator::CellPair CellPairType;$/;" t class:ProtoMol::NonbondedFullEwaldSystemForce CellPairType framework/forces/NonbondedMultiGridSystemForce.h /^ typedef typename RealTopologyType::Enumerator::CellPair CellPairType;$/;" t class:ProtoMol::NonbondedMultiGridSystemForce CellPairType framework/forces/NonbondedPMEwaldSystemForce.h /^ typedef typename RealTopologyType::Enumerator::CellPair CellPairType;$/;" t class:ProtoMol::NonbondedPMEwaldSystemForce CharmmTypeEnum framework/base/PAR.h /^ enum CharmmTypeEnum {$/;" g class:ProtoMol::PAR CharmmTypeEnum framework/base/iSGPAR.h /^ enum CharmmTypeEnum {$/;" g class:ProtoMol::iSGPAR CompareError framework/forces/CompareForce.h /^ CompareError():absF2(0.0),rFavg(0.0),rFmax(0.0),rPE(0.0){}$/;" f struct:ProtoMol::CompareForce::CompareError CompareError framework/forces/CompareForce.h /^ CompareError(Real a,Real b,Real c,Real d):absF2(a),rFavg(b),rFmax(c),rPE(d){}$/;" f struct:ProtoMol::CompareForce::CompareError CompareError framework/forces/CompareForce.h /^ struct CompareError {$/;" s class:ProtoMol::CompareForce CompareForce framework/forces/CompareForce.cpp /^ CompareForce::CompareForce(Force* actualForce, CompareForce* compareForce):myForces(new Vector3DBlock),$/;" f class:ProtoMol::CompareForce CompareForce framework/forces/CompareForce.h /^ class CompareForce : virtual public Force {$/;" c namespace:ProtoMol ComplementSwitchingFunction framework/topology/ComplementSwitchingFunction.h /^ ComplementSwitchingFunction(){}$/;" f class:ProtoMol::ComplementSwitchingFunction ComplementSwitchingFunction framework/topology/ComplementSwitchingFunction.h /^ ComplementSwitchingFunction(const TOriginalSwitchingFunction sw) : myOrigFunc(sw){};$/;" f class:ProtoMol::ComplementSwitchingFunction ComplementSwitchingFunction framework/topology/ComplementSwitchingFunction.h /^ class ComplementSwitchingFunction : private ComplementSwitchingFunctionBase {$/;" c namespace:ProtoMol ComplementSwitchingFunctionBase framework/topology/ComplementSwitchingFunctionBase.h /^ class ComplementSwitchingFunctionBase {$/;" c namespace:ProtoMol Configuration framework/base/Configuration.h /^ class Configuration {$/;" c namespace:ProtoMol ConfigurationReader framework/io/ConfigurationReader.cpp /^ ConfigurationReader::ConfigurationReader():Reader(),myConfig(NULL){}$/;" f class:ProtoMol::ConfigurationReader ConfigurationReader framework/io/ConfigurationReader.cpp /^ ConfigurationReader::ConfigurationReader(const std::string& filename):Reader(filename),myConfig(NULL){}$/;" f class:ProtoMol::ConfigurationReader ConfigurationReader framework/io/ConfigurationReader.h /^ class ConfigurationReader : public Reader {$/;" c namespace:ProtoMol Constant framework/base/pmconstants.cpp /^ namespace Constant {$/;" n file: Constant framework/base/pmconstants.h /^ namespace Constant {$/;" n Constraint framework/frontend/InputValue.h /^ typedef typename ConstraintValueEnum::Enum2Type Constraint;$/;" t class:ProtoMol::InputValue Constraint framework/topology/Bond.h /^ Constraint():atom1(-1),atom2(-1),restLength(0.0){}$/;" f struct:ProtoMol::Bond::Constraint Constraint framework/topology/Bond.h /^ Constraint(int a, int b, Real c):atom1(a),atom2(b),restLength(c){}$/;" f struct:ProtoMol::Bond::Constraint Constraint framework/topology/Bond.h /^ struct Constraint {$/;" s class:ProtoMol::Bond ConstraintValueEnum framework/base/ConstraintValueType.h /^ class ConstraintValueEnum {$/;" c namespace:ProtoMol ConstraintValueType framework/base/ConstraintValueType.h /^ typedef AbstractEnumType ConstraintValueType;$/;" t namespace:ProtoMol Container framework/frontend/OutputCollection.h /^ typedef std::list Container;$/;" t class:ProtoMol::OutputCollection CoulombEwaldRealForce framework/forces/CoulombEwaldRealForce.cpp /^ CoulombEwaldRealForce::CoulombEwaldRealForce():myAlpha(-1.0){}$/;" f class:ProtoMol::CoulombEwaldRealForce CoulombEwaldRealForce framework/forces/CoulombEwaldRealForce.cpp /^ CoulombEwaldRealForce::CoulombEwaldRealForce(Real a):myAlpha(a),$/;" f class:ProtoMol::CoulombEwaldRealForce CoulombEwaldRealForce framework/forces/CoulombEwaldRealForce.h /^ class CoulombEwaldRealForce {$/;" c namespace:ProtoMol CoulombEwaldRealTableForce framework/forces/CoulombEwaldRealTableForce.cpp /^ CoulombEwaldRealTableForce::CoulombEwaldRealTableForce():myTable(NULL),myAlpha(-1.0),myRc(-1.0),myN(0){}$/;" f class:ProtoMol::CoulombEwaldRealTableForce CoulombEwaldRealTableForce framework/forces/CoulombEwaldRealTableForce.cpp /^ CoulombEwaldRealTableForce::CoulombEwaldRealTableForce(CoulombEwaldRealTableForce const& other):myTable(new Real[2*other.myN]),$/;" f class:ProtoMol::CoulombEwaldRealTableForce CoulombEwaldRealTableForce framework/forces/CoulombEwaldRealTableForce.cpp /^ CoulombEwaldRealTableForce::CoulombEwaldRealTableForce(Real a, Real rc, unsigned int n):myTable(new Real[2*n]),$/;" f class:ProtoMol::CoulombEwaldRealTableForce CoulombEwaldRealTableForce framework/forces/CoulombEwaldRealTableForce.h /^ class CoulombEwaldRealTableForce {$/;" c namespace:ProtoMol CoulombForce framework/forces/CoulombForce.h /^ class CoulombForce {$/;" c namespace:ProtoMol CoulombMultiGridDirectForce framework/forces/CoulombMultiGridDirectForce.h /^ CoulombMultiGridDirectForce():myS(0.0){}$/;" f class:ProtoMol::CoulombMultiGridDirectForce CoulombMultiGridDirectForce framework/forces/CoulombMultiGridDirectForce.h /^ CoulombMultiGridDirectForce(Real s):myS(s),myRS(1.0\/s){}$/;" f class:ProtoMol::CoulombMultiGridDirectForce CoulombMultiGridDirectForce framework/forces/CoulombMultiGridDirectForce.h /^ class CoulombMultiGridDirectForce : private CoulombMultiGridDirectForceBase {$/;" c namespace:ProtoMol CoulombMultiGridDirectForceBase framework/forces/CoulombMultiGridDirectForceBase.h /^ class CoulombMultiGridDirectForceBase {$/;" c namespace:ProtoMol CoulombMultiGridDirectTableForce framework/forces/CoulombMultiGridDirectTableForce.h /^ CoulombMultiGridDirectTableForce():myTable(NULL),myS(0.0),myN(0){}$/;" f class:ProtoMol::CoulombMultiGridDirectTableForce CoulombMultiGridDirectTableForce framework/forces/CoulombMultiGridDirectTableForce.h /^ CoulombMultiGridDirectTableForce(CoulombMultiGridDirectTableForce const& other):myTable(new Real[2*other.myN]),$/;" f class:ProtoMol::CoulombMultiGridDirectTableForce CoulombMultiGridDirectTableForce framework/forces/CoulombMultiGridDirectTableForce.h /^ CoulombMultiGridDirectTableForce(Real s, unsigned int n):myTable(new Real[2*n]),myS(s),myRS(1.0\/s),myFac(((Real)n-2.0)\/s),myN(n){$/;" f class:ProtoMol::CoulombMultiGridDirectTableForce CoulombMultiGridDirectTableForce framework/forces/CoulombMultiGridDirectTableForce.h /^ class CoulombMultiGridDirectTableForce : private CoulombMultiGridDirectTableForceBase {$/;" c namespace:ProtoMol CoulombMultiGridDirectTableForceBase framework/forces/CoulombMultiGridDirectTableForceBase.h /^ class CoulombMultiGridDirectTableForceBase {$/;" c namespace:ProtoMol CubicCellLocation framework/topology/CubicCellLocation.h /^ CubicCellLocation(int a, int b, int c) : x(a),y(b),z(c){}$/;" f class:ProtoMol::CubicCellLocation CubicCellLocation framework/topology/CubicCellLocation.h /^ CubicCellLocation(void):x(0),y(0),z(0){}$/;" f class:ProtoMol::CubicCellLocation CubicCellLocation framework/topology/CubicCellLocation.h /^ class CubicCellLocation {$/;" c namespace:ProtoMol CubicCellManager framework/topology/CubicCellManager.cpp /^ CubicCellManager::CubicCellManager(Real r):myCellSize(r),$/;" f class:ProtoMol::CubicCellManager CubicCellManager framework/topology/CubicCellManager.h /^ CubicCellManager():myCellSize(0.0){}$/;" f class:ProtoMol::CubicCellManager CubicCellManager framework/topology/CubicCellManager.h /^ class CubicCellManager {$/;" c namespace:ProtoMol CutoffSwitchingFunction framework/topology/CutoffSwitchingFunction.cpp /^ CutoffSwitchingFunction::CutoffSwitchingFunction():myCutoff(0.0),myCutoff2(0.0){}$/;" f class:ProtoMol::CutoffSwitchingFunction CutoffSwitchingFunction framework/topology/CutoffSwitchingFunction.cpp /^ CutoffSwitchingFunction::CutoffSwitchingFunction(Real cutoff):myCutoff(cutoff),myCutoff2(cutoff*cutoff){}$/;" f class:ProtoMol::CutoffSwitchingFunction CutoffSwitchingFunction framework/topology/CutoffSwitchingFunction.h /^ class CutoffSwitchingFunction : private CutoffSwitchingFunctionBase {$/;" c namespace:ProtoMol CutoffSwitchingFunctionBase framework/topology/CutoffSwitchingFunctionBase.h /^ class CutoffSwitchingFunctionBase {$/;" c namespace:ProtoMol Cycles framework/base/Cycles.h /^ Cycles():myRunningFlag(false){}$/;" f class:ProtoMol::Cycles Cycles framework/base/Cycles.h /^ class Cycles {$/;" c namespace:ProtoMol DCD applications/coords2coords-app/coords2coords.cpp /^ DCD,$/;" e enum:Format::Type file: DCD tools/bccAnalyzer.cpp /^ DCD,$/;" e enum:Format::Type file: DCDTRAJECTORYREADER_H framework/io/DCDTrajectoryReader.h 3;" d DCDTRAJECTORYWRITER_H framework/io/DCDTrajectoryWriter.h 3;" d DCDTrajectoryReader framework/io/DCDTrajectoryReader.cpp /^ DCDTrajectoryReader::DCDTrajectoryReader():Reader(std::ios::binary),myCoords(NULL),mySwapEndian(false),myFirst(true){}$/;" f class:ProtoMol::DCDTrajectoryReader DCDTrajectoryReader framework/io/DCDTrajectoryReader.cpp /^ DCDTrajectoryReader::DCDTrajectoryReader(const std::string& filename):Reader(std::ios::binary,filename),myCoords(NULL),mySwapEndian(false),myFirst(true){}$/;" f class:ProtoMol::DCDTrajectoryReader DCDTrajectoryReader framework/io/DCDTrajectoryReader.h /^ class DCDTrajectoryReader : public Reader {$/;" c namespace:ProtoMol DCDTrajectoryWriter framework/io/DCDTrajectoryWriter.cpp /^ DCDTrajectoryWriter::DCDTrajectoryWriter(Real timestep, unsigned int firststep, bool isLittleEndian):$/;" f class:ProtoMol::DCDTrajectoryWriter DCDTrajectoryWriter framework/io/DCDTrajectoryWriter.cpp /^ DCDTrajectoryWriter::DCDTrajectoryWriter(const char* filename, Real timestep, unsigned int firststep, bool isLittleEndian):$/;" f class:ProtoMol::DCDTrajectoryWriter DCDTrajectoryWriter framework/io/DCDTrajectoryWriter.cpp /^ DCDTrajectoryWriter::DCDTrajectoryWriter(const string& filename, Real timestep, unsigned int firststep, bool isLittleEndian):$/;" f class:ProtoMol::DCDTrajectoryWriter DCDTrajectoryWriter framework/io/DCDTrajectoryWriter.h /^ class DCDTrajectoryWriter : public Writer {$/;" c namespace:ProtoMol DEBUG_OUTPUTDIHEDRALS framework/frontend/OutputDihedrals.cpp 26;" d file: DEFAULT_TABLE_SIZE applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ enum {DEFAULT_TABLE_SIZE=20000};$/;" e enum:ProtoMol::iSGCoulombEwaldRealTableForce:: DEFAULT_TABLE_SIZE applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ enum {DEFAULT_TABLE_SIZE=20000};$/;" e enum:ProtoMol::iSGLennardJonesTableForce:: DEFAULT_TABLE_SIZE framework/forces/CoulombEwaldRealTableForce.h /^ enum {DEFAULT_TABLE_SIZE=20000};$/;" e enum:ProtoMol::CoulombEwaldRealTableForce:: DEFAULT_TABLE_SIZE framework/forces/LennardJonesTableForce.h /^ enum {DEFAULT_TABLE_SIZE=20000};$/;" e enum:ProtoMol::LennardJonesTableForce:: DEFAULT__SIZE framework/forces/CoulombMultiGridDirectTableForce.h /^ enum {DEFAULT__SIZE=20000};$/;" e enum:ProtoMol::CoulombMultiGridDirectTableForce:: DELTATIME framework/base/ScalarStructure.h /^ DELTATIME, \/\/\/< needed for iSG simulations$/;" e enum:ProtoMol::ScalarStructure::Index DIHEDRAL applications/iSGProtomol-app/io/iSGPARReader.h /^ DIHEDRAL,$/;" e enum:ProtoMol::iSGPARReader::PARRecordTypeEnum DIHEDRAL framework/base/ScalarStructure.h /^ DIHEDRAL,$/;" e enum:ProtoMol::ScalarStructure::Index DIHEDRAL framework/io/PARReader.h /^ DIHEDRAL,$/;" e enum:ProtoMol::PARReader::PARRecordTypeEnum DIHEDRALHMCINTEGRATOR_H framework/integrators/DihedralHMCIntegrator.h 3;" d DIHEDRALSYSTEMFORCEBASE_H framework/forces/DihedralSystemForceBase.h 3;" d DIHEDRALSYSTEMFORCE_H framework/forces/DihedralSystemForce.h 3;" d DIHEDRAL_DELTAMU framework/base/ScalarStructure.h /^ DIHEDRAL_DELTAMU, \/\/\/< needed for iSG simulations$/;" e enum:ProtoMol::ScalarStructure::Index DLMCINTEGRATOR_H framework/integrators/DLMCIntegrator.h 3;" d DLMCIntegrator framework/integrators/DLMCIntegrator.cpp /^ DLMCIntegrator::DLMCIntegrator() $/;" f class:ProtoMol::DLMCIntegrator DLMCIntegrator framework/integrators/DLMCIntegrator.cpp /^ DLMCIntegrator::DLMCIntegrator(int cycles,$/;" f class:ProtoMol::DLMCIntegrator DLMCIntegrator framework/integrators/DLMCIntegrator.h /^ class DLMCIntegrator: public MCIntegrator {$/;" c namespace:ProtoMol DMDLEAPFROGINTEGRATOR_H framework/integrators/DMDLeapfrogIntegrator.h 3;" d DMDLeapfrogIntegrator framework/integrators/DMDLeapfrogIntegrator.cpp /^ DMDLeapfrogIntegrator::DMDLeapfrogIntegrator()$/;" f class:ProtoMol::DMDLeapfrogIntegrator DMDLeapfrogIntegrator framework/integrators/DMDLeapfrogIntegrator.cpp /^ DMDLeapfrogIntegrator::DMDLeapfrogIntegrator(Real timestep,$/;" f class:ProtoMol::DMDLeapfrogIntegrator DMDLeapfrogIntegrator framework/integrators/DMDLeapfrogIntegrator.h /^ class DMDLeapfrogIntegrator: public STSIntegrator {$/;" c namespace:ProtoMol DONE framework/parallel/Parallel.h /^ DONE, \/\/\/< next() always false, when slave has nothing more to compute$/;" e enum:ProtoMol::Parallel::WorkState DYNAMIC framework/parallel/ParallelType.h /^ DYNAMIC, \/\/\/< Dynamic load balancing, similar to master-slave but with working master$/;" e enum:ProtoMol::ParallelEnum::Enum DebugPostConstraint framework/forces/oneAtomContraints.h /^ struct DebugPostConstraint {$/;" s namespace:ProtoMol DebugPreConstraint framework/forces/oneAtomContraints.h /^ struct DebugPreConstraint {$/;" s namespace:ProtoMol DeltaK framework/topology/Angle.h /^ Real DeltaK, DeltaTheta0, Delta_ubK, Delta_ubR0;$/;" m class:ProtoMol::Angle DeltaK framework/topology/Bond.h /^ Real DeltaK, DeltaR0;$/;" m class:ProtoMol::Bond DeltaK framework/topology/Torsion.h /^ std::vector< Real > DeltaK, DeltaPhase;$/;" m class:ProtoMol::Torsion DeltaMuIG applications/iSGProtomol-app/base/TRANS.h /^ Array DeltaMuIG; \/\/ ideal gas chemical potential differences. Units: (kcal\/mol)$/;" m class:ProtoMol::TRANS DeltaPhase framework/topology/Torsion.h /^ std::vector< Real > DeltaK, DeltaPhase;$/;" m class:ProtoMol::Torsion DeltaR0 framework/topology/Bond.h /^ Real DeltaK, DeltaR0;$/;" m class:ProtoMol::Bond DeltaTheta0 framework/topology/Angle.h /^ Real DeltaK, DeltaTheta0, Delta_ubK, Delta_ubR0;$/;" m class:ProtoMol::Angle Delta_ubK framework/topology/Angle.h /^ Real DeltaK, DeltaTheta0, Delta_ubK, Delta_ubR0;$/;" m class:ProtoMol::Angle Delta_ubR0 framework/topology/Angle.h /^ Real DeltaK, DeltaTheta0, Delta_ubK, Delta_ubR0;$/;" m class:ProtoMol::Angle DepthIndex applications/xyzviz-app/openglutilities.cpp /^ DepthIndex():ptr(NULL),depth(0.0){}$/;" f struct:ProtoMol::DepthIndex DepthIndex applications/xyzviz-app/openglutilities.cpp /^ DepthIndex(GLfloat *a, GLfloat b):ptr(a),depth(b){}$/;" f struct:ProtoMol::DepthIndex DepthIndex applications/xyzviz-app/openglutilities.cpp /^ struct DepthIndex {$/;" s namespace:ProtoMol file: DepthIndex applications/xyzviz-app/xyzviz.cpp /^ DepthIndex():ptr(NULL),depth(0.0){}$/;" f struct:DepthIndex DepthIndex applications/xyzviz-app/xyzviz.cpp /^ DepthIndex(GLfloat *a, GLfloat b):ptr(a),depth(b){}$/;" f struct:DepthIndex DepthIndex applications/xyzviz-app/xyzviz.cpp /^struct DepthIndex {$/;" s file: Details framework/frontend/ForceFactoryDetails.h /^ typedef ForceFactoryDetails Details;$/;" t class:ProtoMol::FactoryTraits Details framework/frontend/IntegratorFactoryDetails.h /^ typedef IntegratorFactoryDetails Details;$/;" t class:ProtoMol::FactoryTraits Details framework/frontend/OutputFactoryDetails.h /^ typedef OutputFactoryDetails Details;$/;" t class:ProtoMol::FactoryTraits Details framework/frontend/TopologyFactoryDetails.h /^ typedef TopologyFactoryDetails Details;$/;" t class:ProtoMol::FactoryTraits Dihedral framework/base/PAR.h /^ Dihedral(){}$/;" f struct:ProtoMol::PAR::Dihedral Dihedral framework/base/PAR.h /^ Dihedral(int a, std::string b, std::string c, std::string d, std::string e, $/;" f struct:ProtoMol::PAR::Dihedral Dihedral framework/base/PAR.h /^ Dihedral(int a, std::string b, std::string c, std::string d, std::string e, Real f, int g, Real h):$/;" f struct:ProtoMol::PAR::Dihedral Dihedral framework/base/PAR.h /^ struct Dihedral{$/;" s class:ProtoMol::PAR Dihedral framework/base/PSF.h /^ Dihedral():number(0),atom1(0),atom2(0),atom3(0),atom4(0){}$/;" f struct:ProtoMol::PSF::Dihedral Dihedral framework/base/PSF.h /^ Dihedral(int a, int b, int c, int d, int e):number(a),atom1(b),atom2(c),atom3(d),atom4(e){}$/;" f struct:ProtoMol::PSF::Dihedral Dihedral framework/base/PSF.h /^ struct Dihedral {$/;" s class:ProtoMol::PSF Dihedral framework/base/iSGPAR.h /^ Dihedral(){}$/;" f struct:ProtoMol::iSGPAR::Dihedral Dihedral framework/base/iSGPAR.h /^ Dihedral(int a) {$/;" f struct:ProtoMol::iSGPAR::Dihedral Dihedral framework/base/iSGPAR.h /^ struct Dihedral{$/;" s class:ProtoMol::iSGPAR DihedralHMCIntegrator framework/integrators/DihedralHMCIntegrator.cpp /^ DihedralHMCIntegrator::DihedralHMCIntegrator() $/;" f class:ProtoMol::DihedralHMCIntegrator DihedralHMCIntegrator framework/integrators/DihedralHMCIntegrator.cpp /^ DihedralHMCIntegrator::DihedralHMCIntegrator(int cycles,$/;" f class:ProtoMol::DihedralHMCIntegrator DihedralHMCIntegrator framework/integrators/DihedralHMCIntegrator.h /^ class DihedralHMCIntegrator: public MTSIntegrator {$/;" c namespace:ProtoMol DihedralSystemForce framework/forces/DihedralSystemForce.h /^ class DihedralSystemForce: public MTorsionSystemForce, private DihedralSystemForceBase{$/;" c namespace:ProtoMol DihedralSystemForceBase framework/forces/DihedralSystemForceBase.h /^ class DihedralSystemForceBase {$/;" c namespace:ProtoMol Donor framework/base/PSF.h /^ Donor():number(0),atom1(0),atom2(0){}$/;" f struct:ProtoMol::PSF::Donor Donor framework/base/PSF.h /^ Donor(int a, int b, int c):number(a),atom1(b),atom2(c){}$/;" f struct:ProtoMol::PSF::Donor Donor framework/base/PSF.h /^ struct Donor {$/;" s class:ProtoMol::PSF E1 framework/base/mathutilities.cpp /^ const Real E1 = 0.254829592; \/\/ Polynomial Constants used in $/;" m namespace:ProtoMol file: E2 framework/base/mathutilities.cpp /^ const Real E2 =-0.284496736; \/\/ Evaluation of the complementary $/;" m namespace:ProtoMol file: E3 framework/base/mathutilities.cpp /^ const Real E3 = 1.421413741; \/\/ Error function. $/;" m namespace:ProtoMol file: E4 framework/base/mathutilities.cpp /^ const Real E4 =-1.453152027; \/\/ Approximation used is that of $/;" m namespace:ProtoMol file: E5 framework/base/mathutilities.cpp /^ const Real E5 = 1.061405429; \/\/ Abramowitz & Stegun p299. $/;" m namespace:ProtoMol file: ELECTRICFIELDFORCEBASE_H framework/forces/ElectricFieldSystemForceBase.h 3;" d ELECTRICFIELDFORCE_H framework/forces/ElectricFieldSystemForce.h 3;" d ELECTRON_CHARGE framework/base/pmconstants.cpp /^ const Real ELECTRON_CHARGE = 1.6021892e-19; \/\/ [C]$/;" m namespace:ProtoMol::Constant::SI file: EMPTY framework/base/ConstraintValueType.h /^ EMPTY,$/;" e enum:ProtoMol::ConstraintValueEnum::Enum ENERGYSTRUCTURE_H framework/base/ScalarStructure.h 3;" d EPOCHFILETIME framework/base/Timer.cpp 233;" d file: EPOCHFILETIME framework/base/Timer.cpp 235;" d file: EPSILON framework/base/pmconstants.cpp /^ const Real EPSILON = 1.0e-14;$/;" m namespace:ProtoMol::Constant file: EPSILON_TIME applications/xyzviz-app/xyzviz.cpp /^static const int EPSILON_TIME = 5; \/\/ [ms]$/;" v file: EPS_GOURAUD_THRESHOLD framework/base/pmconstants.cpp /^ const Real EPS_GOURAUD_THRESHOLD = 0.1;$/;" m namespace:ProtoMol::Constant file: EPS_SMOOTH_LINE_FACTOR framework/base/pmconstants.cpp /^ const Real EPS_SMOOTH_LINE_FACTOR = 0.06;$/;" m namespace:ProtoMol::Constant file: EQUILIBRIUMMOLLYINTEGRATOR_H framework/integrators/EquilibriumMOLLYIntegrator.h 3;" d EXCLUSIONTABLE_H framework/topology/ExclusionTable.h 3;" d EXCLUSIONTYPE_H framework/topology/ExclusionType.h 3;" d EXCLUSION_FULL framework/topology/ExclusionTable.h /^ EXCLUSION_FULL=2 \/\/\/< do exclude$/;" e enum:ProtoMol::ExclusionClass EXCLUSION_MODIFIED framework/topology/ExclusionTable.h /^ EXCLUSION_MODIFIED=1, \/\/\/< do not exlcude, but modify$/;" e enum:ProtoMol::ExclusionClass EXCLUSION_NONE framework/topology/ExclusionTable.h /^ EXCLUSION_NONE=0, \/\/\/< do not exclude$/;" e enum:ProtoMol::ExclusionClass EXTENDEDCOMPAREFORCE_H framework/forces/ExtendedCompareForce.h 3;" d EXTENDEDFORCE_H framework/forces/ExtendedForce.h 3;" d EXTENDEDTIMEFORCE_H framework/forces/ExtendedTimeForce.h 3;" d EXTERNALGRAVITATIONSYSTEMFORCE_H framework/forces/ExternalGravitationSystemForce.h 3;" d EXTERNALMAGNETICFIELDEXTENDEDFORCE_H framework/forces/ExternalMagneticFieldExtendedForce.h 3;" d Eangle framework/imd/imd.h /^ float Eangle;$/;" m struct:ProtoMol::IMD:: Ebond framework/imd/imd.h /^ float Ebond;$/;" m struct:ProtoMol::IMD:: Edihe framework/imd/imd.h /^ float Edihe;$/;" m struct:ProtoMol::IMD:: Eelec framework/imd/imd.h /^ float Eelec;$/;" m struct:ProtoMol::IMD:: Eimpr framework/imd/imd.h /^ float Eimpr;$/;" m struct:ProtoMol::IMD:: ElectricFieldSystemForce framework/forces/ElectricFieldSystemForce.h /^ ElectricFieldSystemForce::ElectricFieldSystemForce():SystemForce(),myOrigin(Vector3D(0.0,0.0,0.0)),myE(0.0),myA(0.0),myC(0.0){}$/;" f class:ProtoMol::ElectricFieldSystemForce ElectricFieldSystemForce framework/forces/ElectricFieldSystemForce.h /^ ElectricFieldSystemForce::ElectricFieldSystemForce(TSwitchingFunction sF, Vector3D origin, Real e, Real a):SystemForce(),switchingFunction(sF),myOrigin(origin),myE(e),myA(a),myC(Constant::SQRTCOULOMBCONSTANT*e),mySquaredCutoff(sF.cutoffSquared()){}$/;" f class:ProtoMol::ElectricFieldSystemForce ElectricFieldSystemForce framework/forces/ElectricFieldSystemForce.h /^ class ElectricFieldSystemForce : public SystemForce, private ElectricFieldSystemForceBase {$/;" c namespace:ProtoMol ElectricFieldSystemForceBase framework/forces/ElectricFieldSystemForceBase.h /^ class ElectricFieldSystemForceBase {$/;" c namespace:ProtoMol Empty framework/base/ConstraintValueType.h /^ typedef Enum2Type Empty;$/;" t class:ProtoMol::ConstraintValueEnum Endian framework/base/systemutilities.cpp /^ struct Endian {$/;" s namespace:ProtoMol file: Enum framework/base/AbstractEnumType.h /^ typedef typename T::Enum Enum;$/;" t class:ProtoMol::AbstractEnumType Enum framework/base/BSplineType.h /^ enum Enum {$/;" g class:ProtoMol::BSplineEnum Enum framework/base/ConstraintValueType.h /^ enum Enum {$/;" g class:ProtoMol::ConstraintValueEnum Enum framework/base/TimerStatistic.h /^ enum Enum {$/;" g class:ProtoMol::TimerStatistic Enum framework/base/ValueType.h /^ enum Enum {$/;" g class:ProtoMol::ValueEnum Enum framework/frontend/InputPosVelType.h /^ enum Enum {$/;" g class:ProtoMol::InputPosVelEnum Enum framework/integrators/PaulTrapIntegrator.h /^ enum Enum {$/;" g class:ProtoMol::ThermostatEnum Enum framework/parallel/ParallelType.h /^ enum Enum {$/;" g class:ProtoMol::ParallelEnum Enum framework/topology/ExclusionType.h /^ enum Enum {$/;" g class:ProtoMol::ExclusionEnum Enum2Type framework/base/ConstraintValueType.h /^ struct Enum2Type{$/;" s class:ProtoMol::ConstraintValueEnum Enum2ValueTraits framework/base/ValueType.h /^ struct Enum2ValueTraits{$/;" s namespace:ProtoMol Enum2ValueTraits framework/base/ValueType.h /^ struct Enum2ValueTraits{$/;" s namespace:ProtoMol Enum2ValueTraits framework/base/ValueType.h /^ struct Enum2ValueTraits{$/;" s namespace:ProtoMol Enum2ValueTraits framework/base/ValueType.h /^ struct Enum2ValueTraits{$/;" s namespace:ProtoMol Enum2ValueTraits framework/base/ValueType.h /^ struct Enum2ValueTraits{$/;" s namespace:ProtoMol Enum2ValueTraits framework/base/ValueType.h /^ struct Enum2ValueTraits{$/;" s namespace:ProtoMol Enum2ValueTraits framework/base/ValueType.h /^ struct Enum2ValueTraits{$/;" s namespace:ProtoMol Enum2ValueTraits framework/base/ValueType.h /^ struct Enum2ValueTraits{$/;" s namespace:ProtoMol Enum2ValueTraits framework/base/ValueType.h /^ struct Enum2ValueTraits{$/;" s namespace:ProtoMol Enum2ValueType framework/base/ValueType.h /^ explicit Enum2ValueType(char const* c):str(std::string(c)){} $/;" f struct:ProtoMol::ValueEnum::Enum2ValueType Enum2ValueType framework/base/ValueType.h /^ explicit Enum2ValueType(std::string s):str(s){}$/;" f struct:ProtoMol::ValueEnum::Enum2ValueType Enum2ValueType framework/base/ValueType.h /^ struct Enum2ValueType{$/;" s class:ProtoMol::ValueEnum Enumerator framework/topology/Topology.h /^ typedef CellListEnumerator Enumerator;$/;" t class:ProtoMol::Topology EnumeratorType applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ typedef typename RealTopologyType::Enumerator EnumeratorType;$/;" t class:ProtoMol::iSGNonbondedFullEwaldSystemForce EnumeratorType applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ typedef typename RealTopologyType::Enumerator EnumeratorType;$/;" t class:ProtoMol::iSGNonbondedPMEwaldSystemForce EnumeratorType framework/forces/NonbondedCutoffForce.h /^ typedef typename RealTopologyType::Enumerator EnumeratorType;$/;" t class:ProtoMol::NonbondedCutoffForce EnumeratorType framework/forces/NonbondedCutoffMollyForce.h /^ typedef typename RealTopologyType::Enumerator EnumeratorType;$/;" t class:ProtoMol::NonbondedCutoffMollyForce EnumeratorType framework/forces/NonbondedCutoffSystemForce.h /^ typedef typename RealTopologyType::Enumerator EnumeratorType;$/;" t class:ProtoMol::NonbondedCutoffSystemForce EnumeratorType framework/forces/NonbondedFullEwaldSystemForce.h /^ typedef typename RealTopologyType::Enumerator EnumeratorType;$/;" t class:ProtoMol::NonbondedFullEwaldSystemForce EnumeratorType framework/forces/NonbondedMultiGridSystemForce.h /^ typedef typename RealTopologyType::Enumerator EnumeratorType;$/;" t class:ProtoMol::NonbondedMultiGridSystemForce EnumeratorType framework/forces/NonbondedPMEwaldSystemForce.h /^ typedef typename RealTopologyType::Enumerator EnumeratorType;$/;" t class:ProtoMol::NonbondedPMEwaldSystemForce Epot framework/imd/imd.h /^ float Epot;$/;" m struct:ProtoMol::IMD:: Epsilon_vel applications/iSGProtomol-app/base/XSC.h /^ Real Vol, Epsilon_vel;$/;" m struct:ProtoMol::XSC EquilibriumMOLLYIntegrator framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ EquilibriumMOLLYIntegrator::EquilibriumMOLLYIntegrator (int cycles,$/;" f class:ProtoMol::EquilibriumMOLLYIntegrator EquilibriumMOLLYIntegrator framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ EquilibriumMOLLYIntegrator::EquilibriumMOLLYIntegrator():MOLLYIntegrator(),myAveragedPositions(NULL){}$/;" f class:ProtoMol::EquilibriumMOLLYIntegrator EquilibriumMOLLYIntegrator framework/integrators/EquilibriumMOLLYIntegrator.h /^ class EquilibriumMOLLYIntegrator: public MOLLYIntegrator {$/;" c namespace:ProtoMol Eta applications/iSGProtomol-app/base/XSC.h /^ Real Eta, EtaVol, Eta_vel, EtaVol_vel;$/;" m struct:ProtoMol::XSC EtaVol applications/iSGProtomol-app/base/XSC.h /^ Real Eta, EtaVol, Eta_vel, EtaVol_vel;$/;" m struct:ProtoMol::XSC EtaVol_vel applications/iSGProtomol-app/base/XSC.h /^ Real Eta, EtaVol, Eta_vel, EtaVol_vel;$/;" m struct:ProtoMol::XSC Eta_vel applications/iSGProtomol-app/base/XSC.h /^ Real Eta, EtaVol, Eta_vel, EtaVol_vel;$/;" m struct:ProtoMol::XSC Etot framework/imd/imd.h /^ float Etot;$/;" m struct:ProtoMol::IMD:: Evdw framework/imd/imd.h /^ float Evdw;$/;" m struct:ProtoMol::IMD:: ExclusionClass framework/topology/ExclusionTable.h /^ enum ExclusionClass {$/;" g namespace:ProtoMol ExclusionEnum framework/topology/ExclusionType.h /^ class ExclusionEnum {$/;" c namespace:ProtoMol ExclusionPair framework/topology/ExclusionTable.h /^ ExclusionPair():a1(-1),a2(-1),excl(EXCLUSION_NONE){}$/;" f struct:ProtoMol::ExclusionPair ExclusionPair framework/topology/ExclusionTable.h /^ ExclusionPair(int a,int b):a1(a),a2(b),excl(EXCLUSION_NONE){}$/;" f struct:ProtoMol::ExclusionPair ExclusionPair framework/topology/ExclusionTable.h /^ ExclusionPair(int a,int b, ExclusionClass c):a1(a),a2(b),excl(c){}$/;" f struct:ProtoMol::ExclusionPair ExclusionPair framework/topology/ExclusionTable.h /^ struct ExclusionPair {$/;" s namespace:ProtoMol ExclusionTable framework/topology/ExclusionTable.h /^ ExclusionTable() {}$/;" f class:ProtoMol::ExclusionTable ExclusionTable framework/topology/ExclusionTable.h /^ class ExclusionTable {$/;" c namespace:ProtoMol ExclusionType framework/topology/ExclusionType.h /^ typedef AbstractEnumType ExclusionType;$/;" t namespace:ProtoMol ExtendedCompareForce framework/forces/ExtendedCompareForce.cpp /^ ExtendedCompareForce::ExtendedCompareForce(Force* actualForce, CompareForce* compareForce):CompareForce(actualForce,compareForce){}$/;" f class:ProtoMol::ExtendedCompareForce ExtendedCompareForce framework/forces/ExtendedCompareForce.h /^ class ExtendedCompareForce : public CompareForce, public ExtendedForce {$/;" c namespace:ProtoMol ExtendedForce framework/forces/ExtendedForce.h /^ ExtendedForce():Force(){}$/;" f class:ProtoMol::ExtendedForce ExtendedForce framework/forces/ExtendedForce.h /^ class ExtendedForce : virtual public Force {$/;" c namespace:ProtoMol ExtendedTimeForce framework/forces/ExtendedTimeForce.cpp /^ ExtendedTimeForce::ExtendedTimeForce(Force* actualForce):TimeForce(actualForce){}$/;" f class:ProtoMol::ExtendedTimeForce ExtendedTimeForce framework/forces/ExtendedTimeForce.h /^ class ExtendedTimeForce : public TimeForce, public ExtendedForce {$/;" c namespace:ProtoMol ExternalGravitationSystemForce framework/forces/ExternalGravitationSystemForce.cpp /^ ExternalGravitationSystemForce::ExternalGravitationSystemForce():SystemForce(),myG(Vector3D(0.0,0.0,0.0)){}$/;" f class:ProtoMol::ExternalGravitationSystemForce ExternalGravitationSystemForce framework/forces/ExternalGravitationSystemForce.cpp /^ ExternalGravitationSystemForce::ExternalGravitationSystemForce(const Vector3D& g):SystemForce(),myG(g){}$/;" f class:ProtoMol::ExternalGravitationSystemForce ExternalGravitationSystemForce framework/forces/ExternalGravitationSystemForce.h /^ class ExternalGravitationSystemForce : public SystemForce {$/;" c namespace:ProtoMol ExternalMagneticFieldExtendedForce framework/forces/ExternalMagneticFieldExtendedForce.cpp /^ ExternalMagneticFieldExtendedForce::ExternalMagneticFieldExtendedForce():ExtendedForce(),myB(Vector3D(0.0,0.0,0.0)){}$/;" f class:ProtoMol::ExternalMagneticFieldExtendedForce ExternalMagneticFieldExtendedForce framework/forces/ExternalMagneticFieldExtendedForce.cpp /^ ExternalMagneticFieldExtendedForce::ExternalMagneticFieldExtendedForce(const Vector3D& b ):ExtendedForce(),myB(b){}$/;" f class:ProtoMol::ExternalMagneticFieldExtendedForce ExternalMagneticFieldExtendedForce framework/forces/ExternalMagneticFieldExtendedForce.h /^ class ExternalMagneticFieldExtendedForce : public ExtendedForce {$/;" c namespace:ProtoMol FACTORY_H framework/frontend/Factory.h 3;" d FASTDELTAMAX framework/base/pmconstants.cpp /^ const int FASTDELTAMAX=32;$/;" m namespace:ProtoMol::Constant file: FFTCOMPLEX_H framework/base/FFTComplex.h 3;" d FFTComplex framework/base/FFTComplex.cpp /^ FFTComplex::FFTComplex():myFFTInternal(NULL){$/;" f class:ProtoMol::FFTComplex FFTComplex framework/base/FFTComplex.h /^ class FFTComplex {$/;" c namespace:ProtoMol FFTComplexMPIFinalize framework/base/FFTComplex.cpp /^ void FFTComplex::FFTComplexMPIFinalize(){$/;" f class:ProtoMol::FFTComplex FFTComplexMPIFinalize framework/base/FFTComplex.cpp /^ void FFTComplex::FFTComplexMPIFinalize(){} $/;" f class:ProtoMol::FFTComplex FFTComplexMPIInit framework/base/FFTComplex.cpp /^ void FFTComplex::FFTComplexMPIInit(int master){$/;" f class:ProtoMol::FFTComplex FFTComplexMPIInit framework/base/FFTComplex.cpp /^ void FFTComplex::FFTComplexMPIInit(int){}$/;" f class:ProtoMol::FFTComplex FFTInternal framework/base/FFTComplex.cpp /^ FFTInternal():myNX(0),myNY(0),myNZ(0),myArray(NULL),myFFTCoeff(NULL){}$/;" f class:ProtoMol::FFTInternal FFTInternal framework/base/FFTComplex.cpp /^ class FFTInternal {$/;" c namespace:ProtoMol file: FILE_H framework/io/File.h 3;" d FILL applications/xyzviz-app/xyzviz.cpp /^enum POLYMODE {FILL=0,$/;" e enum:POLYMODE file: FIRST framework/base/BSplineType.h /^ FIRST = 0, \/\/ Only internal purpose$/;" e enum:ProtoMol::BSplineEnum::Enum FIRST framework/base/ConstraintValueType.h /^ FIRST = 0, \/\/ Used internally only$/;" e enum:ProtoMol::ConstraintValueEnum::Enum FIRST framework/base/ScalarStructure.h /^ FIRST = 0, \/\/ Only internal purpose$/;" e enum:ProtoMol::ScalarStructure::Index FIRST framework/base/TimerStatistic.h /^ FIRST = 0, \/\/ Only internal purpose$/;" e enum:ProtoMol::TimerStatistic::Enum FIRST framework/base/ValueType.h /^ FIRST = 0, \/\/ Used internally only$/;" e enum:ProtoMol::ValueEnum::Enum FIRST framework/frontend/InputPosVelType.h /^ FIRST = 0, \/\/ Used internally only$/;" e enum:ProtoMol::InputPosVelEnum::Enum FIRST framework/integrators/PaulTrapIntegrator.h /^ FIRST = 0, \/\/ Only internal purpose$/;" e enum:ProtoMol::ThermostatEnum::Enum FIRST framework/parallel/ParallelType.h /^ FIRST = 0, \/\/ Only internal purpose$/;" e enum:ProtoMol::ParallelEnum::Enum FIRST framework/topology/ExclusionType.h /^ FIRST = 0, \/\/ Used internally only$/;" e enum:ProtoMol::ExclusionEnum::Enum FORCE framework/base/ValueType.h /^ FORCE,$/;" e enum:ProtoMol::ValueEnum::Enum FORCEFACTORYDETAILS_H framework/frontend/ForceFactoryDetails.h 3;" d FORCEFACTORY_H framework/frontend/ForceFactory.h 3;" d FORCEGROUP_H framework/forces/ForceGroup.h 3;" d FORCES framework/base/TimerStatistic.h /^ FORCES,$/;" e enum:ProtoMol::TimerStatistic::Enum FORCE_H framework/forces/Force.h 3;" d FRICTIONEXTENDEDFORCE_H framework/forces/FrictionExtendedForce.h 3;" d FSTREAM_READ_1BY1 framework/io/File.cpp 7;" d file: F_OK framework/base/systemutilities.cpp 15;" d file: Factory framework/frontend/Factory.h /^ Factory():FactoryTraits::Details(){$/;" f class:ProtoMol::Factory Factory framework/frontend/Factory.h /^ Factory(const Factory&){}$/;" f class:ProtoMol::Factory Factory framework/frontend/Factory.h /^ class Factory : public FactoryTraits::Details{ $/;" c namespace:ProtoMol FactoryBase framework/frontend/Factory.h /^ FactoryBase():myCache(false){$/;" f class:ProtoMol::FactoryBase FactoryBase framework/frontend/Factory.h /^ FactoryBase(const FactoryBase&){}$/;" f class:ProtoMol::FactoryBase FactoryBase framework/frontend/Factory.h /^ class FactoryBase {$/;" c namespace:ProtoMol FactoryTraits framework/frontend/ForceFactoryDetails.h /^ class FactoryTraits {$/;" c namespace:ProtoMol FactoryTraits framework/frontend/IntegratorFactoryDetails.h /^ class FactoryTraits {$/;" c namespace:ProtoMol FactoryTraits framework/frontend/OutputFactoryDetails.h /^ class FactoryTraits {$/;" c namespace:ProtoMol FactoryTraits framework/frontend/TopologyFactoryDetails.h /^ class FactoryTraits {$/;" c namespace:ProtoMol Feedback3Dcolor applications/xyzviz-app/openglutilities.cpp /^ struct Feedback3Dcolor {$/;" s namespace:ProtoMol file: Feedback3Dcolor applications/xyzviz-app/xyzviz.cpp /^struct Feedback3Dcolor {$/;" s file: File framework/io/File.cpp /^ File::File(std::ios::openmode mode):myMode(mode),myFilename(""),myComment(""){}$/;" f class:ProtoMol::File File framework/io/File.cpp /^ File::File(std::ios::openmode mode,const string& filename):myMode(mode),myFilename(filename),myComment(""){}$/;" f class:ProtoMol::File File framework/io/File.h /^ File(){} \/\/ Force to use one of the constructors below$/;" f class:ProtoMol::File File framework/io/File.h /^ class File {$/;" c namespace:ProtoMol FinalType applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ unsigned int FinalType; \/\/ The identity of the molecule at the end of the transformation attempt$/;" m class:ProtoMol::iSGIntegrator Float framework/base/typeSelection.h /^ template struct Float {$/;" s namespace:ProtoMol::TypeSelection Force framework/base/ValueType.h /^ typedef Enum2ValueType Force;$/;" t class:ProtoMol::ValueEnum Force framework/forces/Force.h /^ Force(){}$/;" f class:ProtoMol::Force Force framework/forces/Force.h /^ class Force : public Makeable{$/;" c namespace:ProtoMol ForceFactory framework/frontend/ForceFactory.h /^ typedef Factory ForceFactory;$/;" t namespace:ProtoMol ForceFactoryDetails framework/frontend/ForceFactoryDetails.cpp /^ ForceFactoryDetails::ForceFactoryDetails():FactoryBase(),myLastCompareForce(NULL){$/;" f class:ProtoMol::ForceFactoryDetails ForceFactoryDetails framework/frontend/ForceFactoryDetails.cpp /^ ForceFactoryDetails::ForceFactoryDetails(const ForceFactoryDetails&){}$/;" f class:ProtoMol::ForceFactoryDetails ForceFactoryDetails framework/frontend/ForceFactoryDetails.h /^ class ForceFactoryDetails : public FactoryBase {$/;" c namespace:ProtoMol ForceGroup framework/forces/ForceGroup.cpp /^ ForceGroup::ForceGroup() {}$/;" f class:ProtoMol::ForceGroup ForceGroup framework/forces/ForceGroup.h /^ class ForceGroup {$/;" c namespace:ProtoMol ForceType framework/frontend/ForceFactoryDetails.h /^ struct ForceType {$/;" s class:ProtoMol::ForceFactoryDetails Format applications/coords2coords-app/coords2coords.cpp /^struct Format{$/;" s file: Format tools/bccAnalyzer.cpp /^struct Format{$/;" s file: FrictionExtendedForce framework/forces/FrictionExtendedForce.cpp /^ FrictionExtendedForce::FrictionExtendedForce():ExtendedForce(),myF(0.0), myRnd(Vector3D(0.0,0.0,0.0)){}$/;" f class:ProtoMol::FrictionExtendedForce FrictionExtendedForce framework/forces/FrictionExtendedForce.cpp /^ FrictionExtendedForce::FrictionExtendedForce(Real f, const Vector3D& random):ExtendedForce(),myF(f), myRnd(random){}$/;" f class:ProtoMol::FrictionExtendedForce FrictionExtendedForce framework/forces/FrictionExtendedForce.h /^ class FrictionExtendedForce : public ExtendedForce {$/;" c namespace:ProtoMol GENERICTOPOLOGY_H framework/topology/GenericTopology.h 3;" d GRAVITATIONFORCE_H framework/forces/GravitationForce.h 3;" d GRID_H framework/base/Grid.h 3;" d GenericTopology framework/topology/GenericTopology.cpp /^ GenericTopology::GenericTopology():Makeable(),$/;" f class:ProtoMol::GenericTopology GenericTopology framework/topology/GenericTopology.cpp /^ GenericTopology::GenericTopology(Real c, const ExclusionType& e):Makeable(),$/;" f class:ProtoMol::GenericTopology GenericTopology framework/topology/GenericTopology.h /^ class GenericTopology : public Makeable{$/;" c namespace:ProtoMol GetRefArray framework/base/Array_Fastest.h /^ RefArray GetRefArray() $/;" f class:ProtoMol::Array GetRefArray framework/base/Array_Fastest.h /^ const RefArray GetRefArray() const $/;" f class:ProtoMol::Array GetRefArray framework/base/Array_NoPartialSpecialization.h /^ RefArray GetRefArray() $/;" f class:ProtoMol::Array GetRefArray framework/base/Array_NoPartialSpecialization.h /^ const RefArray GetRefArray() const $/;" f class:ProtoMol::Array GravitationForce framework/forces/GravitationForce.h /^ GravitationForce():myG(0.0){}$/;" f class:ProtoMol::GravitationForce GravitationForce framework/forces/GravitationForce.h /^ GravitationForce(Real g):myG(g){}$/;" f class:ProtoMol::GravitationForce GravitationForce framework/forces/GravitationForce.h /^ class GravitationForce {$/;" c namespace:ProtoMol Grid framework/base/Grid.h /^ Grid::Grid(): $/;" f class:ProtoMol::Grid Grid framework/base/Grid.h /^ class Grid {$/;" c namespace:ProtoMol H framework/base/ReducedHessAngle.h /^ Matrix3by3 H[3][3];$/;" m class:ProtoMol::ReducedHessAngle HAPTICSYSTEMFORCEBASE_H framework/imd/HapticSystemForceBase.h 3;" d HAPTICSYSTEMFORCE_H framework/imd/HapticSystemForce.h 3;" d HARMDIHEDRALSYSTEMFORCEBASE_H framework/forces/HarmDihedralSystemForceBase.h 3;" d HARMDIHEDRALSYSTEMFORCE_H framework/forces/HarmDihedralSystemForce.h 3;" d HAVE_INTTYPES_H protomol_config.h 20;" d HAVE_LIBICE protomol_config.h 48;" d HAVE_LIBPNG protomol_config.h 51;" d HAVE_LIBSM protomol_config.h 54;" d HAVE_LIBX11 protomol_config.h 60;" d HAVE_LIBXEXT protomol_config.h 63;" d HAVE_LIBXI protomol_config.h 66;" d HAVE_LIBXMU protomol_config.h 69;" d HAVE_LIBXT protomol_config.h 72;" d HAVE_MEMORY_H protomol_config.h 75;" d HAVE_STDINT_H protomol_config.h 81;" d HAVE_STDLIB_H protomol_config.h 84;" d HAVE_STRINGS_H protomol_config.h 87;" d HAVE_STRING_H protomol_config.h 90;" d HAVE_SYS_STAT_H protomol_config.h 93;" d HAVE_SYS_TIME_H protomol_config.h 96;" d HAVE_SYS_TYPES_H protomol_config.h 99;" d HAVE_TICK_COUNTER framework/base/Cycles.h 118;" d HAVE_TICK_COUNTER framework/base/Cycles.h 140;" d HAVE_TICK_COUNTER framework/base/Cycles.h 165;" d HAVE_TICK_COUNTER framework/base/Cycles.h 185;" d HAVE_TICK_COUNTER framework/base/Cycles.h 211;" d HAVE_TICK_COUNTER framework/base/Cycles.h 230;" d HAVE_TICK_COUNTER framework/base/Cycles.h 241;" d HAVE_TICK_COUNTER framework/base/Cycles.h 261;" d HAVE_TICK_COUNTER framework/base/Cycles.h 279;" d HAVE_TICK_COUNTER framework/base/Cycles.h 294;" d HAVE_TICK_COUNTER framework/base/Cycles.h 325;" d HAVE_TICK_COUNTER framework/base/Cycles.h 342;" d HAVE_TICK_COUNTER framework/base/Cycles.h 361;" d HAVE_TICK_COUNTER framework/base/Cycles.h 377;" d HAVE_TICK_COUNTER framework/base/Cycles.h 394;" d HAVE_TICK_COUNTER framework/base/Cycles.h 413;" d HAVE_TICK_COUNTER framework/base/Cycles.h 429;" d HAVE_UNISTD_H protomol_config.h 105;" d HBOND applications/iSGProtomol-app/io/iSGPARReader.h /^ HBOND$/;" e enum:ProtoMol::iSGPARReader::PARRecordTypeEnum HBOND framework/io/PARReader.h /^ HBOND$/;" e enum:ProtoMol::PARReader::PARRecordTypeEnum HBondConstraint framework/forces/oneAtomContraints.h /^ struct HBondConstraint {$/;" s namespace:ProtoMol HEADERSIZE framework/imd/imd.cpp 15;" d file: HELPTEXTFACTORY_H framework/frontend/HelpTextFactory.h 3;" d HERMITE_H framework/forces/Hermite.h 3;" d HIBITI framework/base/Real.h 17;" d HMCINTEGRATOR_H framework/integrators/HMCIntegrator.h 3;" d HMCIntegrator framework/integrators/HMCIntegrator.cpp /^ HMCIntegrator::HMCIntegrator() $/;" f class:ProtoMol::HMCIntegrator HMCIntegrator framework/integrators/HMCIntegrator.cpp /^ HMCIntegrator::HMCIntegrator(int cycles,$/;" f class:ProtoMol::HMCIntegrator HMCIntegrator framework/integrators/HMCIntegrator.h /^ class HMCIntegrator: public MCIntegrator {$/;" c namespace:ProtoMol HapticSystemForce framework/imd/HapticSystemForce.cpp /^ HapticSystemForce::HapticSystemForce():SystemForce(),$/;" f class:ProtoMol::HapticSystemForce HapticSystemForce framework/imd/HapticSystemForce.cpp /^ HapticSystemForce::HapticSystemForce(int port, int trate, int timeout, $/;" f class:ProtoMol::HapticSystemForce HapticSystemForce framework/imd/HapticSystemForce.h /^ class HapticSystemForce : public SystemForce {$/;" c namespace:ProtoMol HapticSystemForceBase framework/imd/HapticSystemForceBase.h /^class HapticSystemForceBase {$/;" c HarmDihedralSystemForce framework/forces/HarmDihedralSystemForce.h /^ HarmDihedralSystemForce(): myDihedral(0), myDihedralReference(0.0),$/;" f class:ProtoMol::HarmDihedralSystemForce HarmDihedralSystemForce framework/forces/HarmDihedralSystemForce.h /^ HarmDihedralSystemForce(int dihedral, Real dihedralReference, bool other) : myDihedral(dihedral),$/;" f class:ProtoMol::HarmDihedralSystemForce HarmDihedralSystemForce framework/forces/HarmDihedralSystemForce.h /^ class HarmDihedralSystemForce: public MTorsionSystemForce, private HarmDihedralSystemForceBase {$/;" c namespace:ProtoMol HarmDihedralSystemForceBase framework/forces/HarmDihedralSystemForceBase.h /^ class HarmDihedralSystemForceBase {$/;" c namespace:ProtoMol Hbond framework/base/PAR.h /^ Hbond(){}$/;" f struct:ProtoMol::PAR::Hbond Hbond framework/base/PAR.h /^ Hbond(int a, std::string b, std::string c, Real d, Real e):number(a),atom1(b),atom2(c),emin(d),rmin(e){}$/;" f struct:ProtoMol::PAR::Hbond Hbond framework/base/PAR.h /^ struct Hbond{$/;" s class:ProtoMol::PAR Hbond framework/base/iSGPAR.h /^ typedef PAR::Hbond Hbond;$/;" t class:ProtoMol::iSGPAR HelpText framework/frontend/HelpTextFactory.h /^ struct HelpText {$/;" s namespace:ProtoMol HelpTextFactory framework/frontend/HelpTextFactory.cpp /^ HelpTextFactory::HelpTextFactory(){}$/;" f class:ProtoMol::HelpTextFactory HelpTextFactory framework/frontend/HelpTextFactory.cpp /^ HelpTextFactory::HelpTextFactory(const HelpTextFactory&){}$/;" f class:ProtoMol::HelpTextFactory HelpTextFactory framework/frontend/HelpTextFactory.h /^ class HelpTextFactory { $/;" c namespace:ProtoMol HelpTextMapType framework/frontend/HelpTextFactory.h /^ typedef std::map HelpTextMapType;$/;" t class:ProtoMol::HelpTextFactory Hermite framework/forces/Hermite.cpp /^ Hermite::Hermite():myInterOrder(0),$/;" f class:ProtoMol::Hermite Hermite framework/forces/Hermite.cpp /^ Hermite::Hermite(const Hermite& Hermite){$/;" f class:ProtoMol::Hermite Hermite framework/forces/Hermite.cpp /^ Hermite::Hermite(unsigned int order):myInterOrder(order),$/;" f class:ProtoMol::Hermite Hermite framework/forces/Hermite.cpp /^ Hermite::Hermite(unsigned int order, Real w):myInterOrder(order),$/;" f class:ProtoMol::Hermite Hermite framework/forces/Hermite.h /^ class Hermite {$/;" c namespace:ProtoMol Hessian framework/forces/ReducedHessTraits.h /^ typedef ReducedHessCoulomb Hessian;$/;" t struct:ProtoMol::ReducedHessTraits Hessian framework/forces/ReducedHessTraits.h /^ typedef ReducedHessLennardJones Hessian;$/;" t struct:ProtoMol::ReducedHessTraits Holder framework/base/Value.h /^ Holder(const Holder& rhs):holder(rhs.holder),ok(rhs.ok){}$/;" f class:ProtoMol::Value::Holder Holder framework/base/Value.h /^ Holder(const typename ValueTrait::RepType& v, bool def=true):holder(def?v:ValueTrait::init()),ok(ValueTrait::check(Constraint(),v) && def){}$/;" f class:ProtoMol::Value::Holder Holder framework/base/Value.h /^ class Holder : public PlaceHolder {$/;" c class:ProtoMol::Value HydrogenBond framework/integrators/EquilibriumMOLLYIntegrator.h /^ struct HydrogenBond {$/;" s class:ProtoMol::EquilibriumMOLLYIntegrator IDEAL_GAS_DELTAMU applications/iSGProtomol-app/io/TRANSReader.h /^ IDEAL_GAS_DELTAMU,$/;" e enum:ProtoMol::TRANSReader::TRANSRecordTypeEnum IDENTITIES applications/iSGProtomol-app/io/TRANSReader.h /^ IDENTITIES,$/;" e enum:ProtoMol::TRANSReader::TRANSRecordTypeEnum IDLE framework/base/TimerStatistic.h /^ IDLE,$/;" e enum:ProtoMol::TimerStatistic::Enum IGNORE_WATER framework/topology/topologyutilities.h /^ enum waterOption {IGNORE_WATER, ONLY_WATER, ALL};$/;" e enum:ProtoMol::waterOption IMD framework/imd/imd.cpp /^ namespace IMD {$/;" n file: IMD framework/imd/imd.h /^ namespace IMD {$/;" n IMD framework/imd/vmdsock.cpp /^ namespace IMD {$/;" n file: IMD framework/imd/vmdsock.h /^ namespace IMD {$/;" n IMDELF framework/imd/IMDElf.h 3;" d IMDElf framework/imd/IMDElf.cpp /^ IMDElf::IMDElf():trate(1),timeout(1000),wait_imd(0),sock(NULL),clientsock(NULL){}$/;" f class:ProtoMol::IMDElf IMDElf framework/imd/IMDElf.h /^ class IMDElf {$/;" c namespace:ProtoMol IMDEnergies framework/imd/imd.h /^ } IMDEnergies;$/;" t namespace:ProtoMol::IMD IMDType framework/imd/imd.h /^ enum IMDType {$/;" g namespace:ProtoMol::IMD IMDVERSION framework/imd/imd.cpp 16;" d file: IMD_DISCONNECT framework/imd/imd.h /^ IMD_DISCONNECT,$/;" e enum:ProtoMol::IMD::IMDType IMD_ENERGIES framework/imd/imd.h /^ IMD_ENERGIES, $/;" e enum:ProtoMol::IMD::IMDType IMD_FCOORDS framework/imd/imd.h /^ IMD_FCOORDS, $/;" e enum:ProtoMol::IMD::IMDType IMD_GO framework/imd/imd.h /^ IMD_GO,$/;" e enum:ProtoMol::IMD::IMDType IMD_H framework/imd/imd.h 3;" d IMD_HANDSHAKE framework/imd/imd.h /^ IMD_HANDSHAKE, $/;" e enum:ProtoMol::IMD::IMDType IMD_IOERROR framework/imd/imd.h /^ IMD_IOERROR$/;" e enum:ProtoMol::IMD::IMDType IMD_KILL framework/imd/imd.h /^ IMD_KILL, $/;" e enum:ProtoMol::IMD::IMDType IMD_MDCOMM framework/imd/imd.h /^ IMD_MDCOMM, $/;" e enum:ProtoMol::IMD::IMDType IMD_PAUSE framework/imd/imd.h /^ IMD_PAUSE,$/;" e enum:ProtoMol::IMD::IMDType IMD_TRATE framework/imd/imd.h /^ IMD_TRATE,$/;" e enum:ProtoMol::IMD::IMDType IMDheader framework/imd/imd.cpp /^ } IMDheader;$/;" t namespace:ProtoMol::IMD file: IMPROPER applications/iSGProtomol-app/io/iSGPARReader.h /^ IMPROPER,$/;" e enum:ProtoMol::iSGPARReader::PARRecordTypeEnum IMPROPER framework/base/ScalarStructure.h /^ IMPROPER,$/;" e enum:ProtoMol::ScalarStructure::Index IMPROPER framework/io/PARReader.h /^ IMPROPER,$/;" e enum:ProtoMol::PARReader::PARRecordTypeEnum IMPROPERSYSTEMFORCEBASE_H framework/forces/ImproperSystemForceBase.h 3;" d IMPROPERSYSTEMFORCE_H framework/forces/ImproperSystemForce.h 3;" d IMPROPER_DELTAMU framework/base/ScalarStructure.h /^ IMPROPER_DELTAMU, \/\/\/< needed for iSG simulations$/;" e enum:ProtoMol::ScalarStructure::Index IMPULSEINTEGRATOR_H framework/integrators/ImpulseIntegrator.h 3;" d INCR_SIZE framework/base/Stack.h /^ static const unsigned int INCR_SIZE=50;$/;" m class:ProtoMol::Stack INLINE_ELAPSED framework/base/Cycles.h 104;" d INPUTPOSVELTYPE_H framework/frontend/InputPosVelType.h 3;" d INPUTPOSVEL_H framework/frontend/InputPosVel.h 3;" d INPUTVALUEDEFINITIONS_H framework/frontend/inputValueDefinitions.h 3;" d INPUTVALUE_H framework/frontend/InputValue.h 3;" d INT framework/base/ValueType.h /^ INT,$/;" e enum:ProtoMol::ValueEnum::Enum INT32_TYPE protomol_config.h 111;" d INT32_TYPE protomol_config_windows.h 4;" d INT32_TYPE protomol_config_windows.h 6;" d INTEGRATOR framework/base/ScalarStructure.h /^ INTEGRATOR,$/;" e enum:ProtoMol::ScalarStructure::Index INTEGRATOR framework/base/TimerStatistic.h /^ INTEGRATOR,$/;" e enum:ProtoMol::TimerStatistic::Enum INTEGRATOR framework/base/ValueType.h /^ INTEGRATOR, \/\/ Extended types start here, which act like a STRING $/;" e enum:ProtoMol::ValueEnum::Enum INTEGRATORDEFINITION_H framework/integrators/IntegratorDefinition.h 3;" d INTEGRATORFACTORYDETAILS_H framework/frontend/IntegratorFactoryDetails.h 3;" d INTEGRATORFACTORY_H framework/frontend/IntegratorFactory.h 3;" d INTEGRATOR_H framework/integrators/Integrator.h 3;" d INV_TIMEFACTOR framework/base/pmconstants.cpp /^ const Real INV_TIMEFACTOR = 0.02045482828087295; \/\/ 1 \/ TIMEFACTOR$/;" m namespace:ProtoMol::Constant file: ISG applications/iSGProtomol-app/io/XSCReader.h /^ ISG,$/;" e enum:ProtoMol::XSCReader::XSCRecordTypeEnum ISGANGLESYSTEMFORCEBASE_H applications/iSGProtomol-app/forces/iSGAngleSystemForceBase.h 3;" d ISGANGLESYSTEMFORCE_H applications/iSGProtomol-app/forces/iSGAngleSystemForce.h 3;" d ISGBONDSYSTEMFORCEBASE_H applications/iSGProtomol-app/forces/iSGBondSystemForceBase.h 3;" d ISGBONDSYSTEMFORCE_H applications/iSGProtomol-app/forces/iSGBondSystemForce.h 3;" d ISGCOULOMBEWALDREALFORCE_H applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h 3;" d ISGCOULOMBEWALDREALTABLEFORCE_H applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h 3;" d ISGCOULOMBFORCE_H applications/iSGProtomol-app/forces/iSGCoulombForce.h 3;" d ISGDIHEDRALSYSTEMFORCEBASE_H applications/iSGProtomol-app/forces/iSGDihedralSystemForceBase.h 3;" d ISGDIHEDRALSYSTEMFORCE_H applications/iSGProtomol-app/forces/iSGDihedralSystemForce.h 3;" d ISGGRID_H applications/iSGProtomol-app/base/iSGGrid.h 3;" d ISGIDEALGASCOULOMBFORCE_H applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h 3;" d ISGIDEALGASLENNARDJONESFORCE_H applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h 3;" d ISGIMPROPERSYSTEMFORCEBASE_H applications/iSGProtomol-app/forces/iSGImproperSystemForceBase.h 3;" d ISGIMPROPERSYSTEMFORCE_H applications/iSGProtomol-app/forces/iSGImproperSystemForce.h 3;" d ISGINTEGRATOR_H applications/iSGProtomol-app/integrators/iSGIntegrator.h 3;" d ISGLENNARDJONESFORCE_H applications/iSGProtomol-app/forces/iSGLennardJonesForce.h 3;" d ISGLENNARDJONESTABLEFORCE_H applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h 3;" d ISGMODIFIERPOSTFORCECHEMOSTAT_H applications/iSGProtomol-app/integrators/iSGModifierPostForceChemostat.h 3;" d ISGMTORSIONSYSTEMFORCE_H applications/iSGProtomol-app/forces/iSGMTorsionSystemForce.h 3;" d ISGNONBONDEDFULLEWALDSYSTEMFORCEBASE_H applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForceBase.h 3;" d ISGNONBONDEDFULLEWALDSYSTEMFORCE_H applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h 3;" d ISGNONBONDEDPMEWALDSYSTEMFORCEBASE_H applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForceBase.h 3;" d ISGNONBONDEDPMEWALDSYSTEMFORCE_H applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h 3;" d ISGONEATOMPAIRFULL_H applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h 3;" d ISGONEATOMPAIRTWOFULL_H applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h 3;" d ISGONEATOMPAIRTWO_H applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h 3;" d ISGONEATOMPAIR_H applications/iSGProtomol-app/forces/iSGOneAtomPair.h 3;" d ISGPARREADER_H applications/iSGProtomol-app/io/iSGPARReader.h 3;" d ISGPAR_H framework/base/iSGPAR.h 3;" d ISGREGISTERFORCEEXEMPLARSBONDED_H applications/iSGProtomol-app/factories/iSGregisterForceExemplarsBonded.h 3;" d ISGREGISTERFORCEEXEMPLARSCUTOFF_H applications/iSGProtomol-app/factories/iSGregisterForceExemplarsCutoff.h 3;" d ISGREGISTERFORCEEXEMPLARSFASTELECTROSTATIC_H applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFastElectrostatic.h 3;" d ISGREGISTERFORCEEXEMPLARSFULL_H applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFull.h 3;" d ISGREGISTERFORCEEXEMPLARSIDEALGAS_H applications/iSGProtomol-app/factories/iSGregisterForceExemplarsIdealGas.h 3;" d ISGREGISTERFORCEEXEMPLARS_H applications/iSGProtomol-app/factories/iSGregisterForceExemplars.h 3;" d ISGREGISTERINTEGRATOREXEMPLARS_H applications/iSGProtomol-app/factories/iSGregisterIntegratorExemplars.h 3;" d ISGREGISTEROUTPUTEXEMPLARS_H applications/iSGProtomol-app/factories/iSGregisterOutputExemplars.h 3;" d ISLITTLEENDIAN framework/base/systemutilities.cpp /^ const bool ISLITTLEENDIAN = Endian::isLittleEndian();$/;" m namespace:ProtoMol file: IVMDSOCK_H framework/imd/vmdsock.h 3;" d Improper framework/base/PAR.h /^ Improper(){}$/;" f struct:ProtoMol::PAR::Improper Improper framework/base/PAR.h /^ Improper(int a, std::string b, std::string c, std::string d, std::string e, Real f, int g, Real h):$/;" f struct:ProtoMol::PAR::Improper Improper framework/base/PAR.h /^ struct Improper{$/;" s class:ProtoMol::PAR Improper framework/base/PSF.h /^ Improper():number(0),atom1(0),atom2(0),atom3(0),atom4(0){}$/;" f struct:ProtoMol::PSF::Improper Improper framework/base/PSF.h /^ Improper(int a, int b, int c, int d, int e):number(a),atom1(b),atom2(c),atom3(d),atom4(e){}$/;" f struct:ProtoMol::PSF::Improper Improper framework/base/PSF.h /^ struct Improper {$/;" s class:ProtoMol::PSF Improper framework/base/iSGPAR.h /^ Improper(){}$/;" f struct:ProtoMol::iSGPAR::Improper Improper framework/base/iSGPAR.h /^ Improper(int a){$/;" f struct:ProtoMol::iSGPAR::Improper Improper framework/base/iSGPAR.h /^ struct Improper{$/;" s class:ProtoMol::iSGPAR ImproperSystemForce framework/forces/ImproperSystemForce.h /^ class ImproperSystemForce: public MTorsionSystemForce, private ImproperSystemForceBase {$/;" c namespace:ProtoMol ImproperSystemForceBase framework/forces/ImproperSystemForceBase.h /^ class ImproperSystemForceBase {$/;" c namespace:ProtoMol ImpulseIntegrator framework/integrators/ImpulseIntegrator.cpp /^ ImpulseIntegrator::ImpulseIntegrator():MTSIntegrator(){}$/;" f class:ProtoMol::ImpulseIntegrator ImpulseIntegrator framework/integrators/ImpulseIntegrator.cpp /^ ImpulseIntegrator::ImpulseIntegrator(int cycles, $/;" f class:ProtoMol::ImpulseIntegrator ImpulseIntegrator framework/integrators/ImpulseIntegrator.h /^ class ImpulseIntegrator : public MTSIntegrator {$/;" c namespace:ProtoMol Index framework/base/ScalarStructure.h /^ enum Index {$/;" g class:ProtoMol::ScalarStructure Init framework/base/Array_Fastest.h /^ bool resize(const size_t (&Dimensions)[N], const T & Init=T(), bool PreserveElems=false)$/;" m class:ProtoMol::Array Init framework/base/Array_Fastest.h /^ explicit Array(const size_t (&Dimensions)[N], const T & Init=T())$/;" m class:ProtoMol::Array InputPosVel framework/frontend/InputPosVel.cpp /^ InputPosVel::InputPosVel():myFilename(""),myOk(true),myType(InputPosVelType::UNDEFINED){}$/;" f class:ProtoMol::InputPosVel InputPosVel framework/frontend/InputPosVel.cpp /^ InputPosVel::InputPosVel(const string& filename):myFilename(filename),myOk(isAccessible(filename)),myType(InputPosVelType::UNDEFINED){}$/;" f class:ProtoMol::InputPosVel InputPosVel framework/frontend/InputPosVel.h /^ class InputPosVel {$/;" c namespace:ProtoMol InputPosVelEnum framework/frontend/InputPosVelType.h /^ class InputPosVelEnum {$/;" c namespace:ProtoMol InputPosVelType framework/frontend/InputPosVelType.h /^ typedef AbstractEnumType InputPosVelType;$/;" t namespace:ProtoMol InputValue framework/frontend/InputValue.h /^ InputValue():myValue(typename Type::Type(),Constraint(),Value::undefined){}$/;" f class:ProtoMol::InputValue InputValue framework/frontend/InputValue.h /^ explicit InputValue(const T& v):myValue(Type(),Constraint(),v,true){}$/;" f class:ProtoMol::InputValue InputValue framework/frontend/InputValue.h /^ explicit InputValue(const char* v):myValue(Type(),Constraint(),std::string(v),true){}$/;" f class:ProtoMol::InputValue InputValue framework/frontend/InputValue.h /^ class InputValue : public TBase {$/;" c namespace:ProtoMol Int framework/base/typeSelection.h /^ template struct Int {$/;" s namespace:ProtoMol::TypeSelection Int3D applications/iSGProtomol-app/base/iSGGrid.h /^ struct Int3D {int x; int y; int z;};$/;" s class:ProtoMol::iSGGrid Int3D framework/base/Grid.h /^ struct Int3D {int x; int y; int z;};$/;" s class:ProtoMol::Grid Int3D framework/base/MultiGrid.h /^ struct Int3D {int x, y, z;};$/;" s class:ProtoMol::MultiGrid Integrator framework/base/ValueType.h /^ typedef Enum2ValueType Integrator;$/;" t class:ProtoMol::ValueEnum Integrator framework/integrators/Integrator.cpp /^ Integrator::Integrator():$/;" f class:ProtoMol::Integrator Integrator framework/integrators/Integrator.cpp /^ Integrator::Integrator(ForceGroup* forceGroup):$/;" f class:ProtoMol::Integrator Integrator framework/integrators/Integrator.h /^ class Integrator : public Makeable {$/;" c namespace:ProtoMol IntegratorDefinition framework/integrators/IntegratorDefinition.h /^ IntegratorDefinition(){}$/;" f struct:ProtoMol::IntegratorDefinition IntegratorDefinition framework/integrators/IntegratorDefinition.h /^ IntegratorDefinition(const MakeableDefinition& i,const std::vector& f):$/;" f struct:ProtoMol::IntegratorDefinition IntegratorDefinition framework/integrators/IntegratorDefinition.h /^ struct IntegratorDefinition {$/;" s namespace:ProtoMol IntegratorFactory framework/frontend/IntegratorFactory.h /^ typedef Factory IntegratorFactory;$/;" t namespace:ProtoMol IntegratorFactoryDetails framework/frontend/IntegratorFactoryDetails.cpp /^ IntegratorFactoryDetails::IntegratorFactoryDetails():FactoryBase(){$/;" f class:ProtoMol::IntegratorFactoryDetails IntegratorFactoryDetails framework/frontend/IntegratorFactoryDetails.cpp /^ IntegratorFactoryDetails::IntegratorFactoryDetails(const IntegratorFactoryDetails&){}$/;" f class:ProtoMol::IntegratorFactoryDetails IntegratorFactoryDetails framework/frontend/IntegratorFactoryDetails.h /^ class IntegratorFactoryDetails : public FactoryBase {$/;" c namespace:ProtoMol IntegratorInput framework/frontend/IntegratorFactoryDetails.h /^ IntegratorInput():prototype(NULL){}$/;" f struct:ProtoMol::IntegratorFactoryDetails::IntegratorInput IntegratorInput framework/frontend/IntegratorFactoryDetails.h /^ struct IntegratorInput {$/;" s class:ProtoMol::IntegratorFactoryDetails Interpolation3D applications/iSGProtomol-app/base/iSGGrid.h /^ Interpolation3D(){};$/;" f struct:ProtoMol::iSGGrid::Interpolation3D Interpolation3D applications/iSGProtomol-app/base/iSGGrid.h /^ Interpolation3D(unsigned int order):x(order),y(order),z(order){}$/;" f struct:ProtoMol::iSGGrid::Interpolation3D Interpolation3D applications/iSGProtomol-app/base/iSGGrid.h /^ struct Interpolation3D {$/;" s class:ProtoMol::iSGGrid Interpolation3D framework/base/Grid.h /^ Interpolation3D(){};$/;" f struct:ProtoMol::Grid::Interpolation3D Interpolation3D framework/base/Grid.h /^ Interpolation3D(unsigned int order):x(order),y(order),z(order){}$/;" f struct:ProtoMol::Grid::Interpolation3D Interpolation3D framework/base/Grid.h /^ struct Interpolation3D {$/;" s class:ProtoMol::Grid Interpolation3D framework/base/MultiGrid.h /^ Interpolation3D(){};$/;" f struct:ProtoMol::MultiGrid::Interpolation3D Interpolation3D framework/base/MultiGrid.h /^ Interpolation3D(unsigned int order):x(order),y(order),z(order){};$/;" f struct:ProtoMol::MultiGrid::Interpolation3D Interpolation3D framework/base/MultiGrid.h /^ struct Interpolation3D {$/;" s class:ProtoMol::MultiGrid KCAL framework/base/pmconstants.cpp /^ const Real KCAL = 1.0\/4184.0; \/\/ [J]$/;" m namespace:ProtoMol::Constant::SI file: LAGRANGE_H framework/base/Lagrange.h 3;" d LANGEVINIMPULSEINTEGRATOR_H framework/integrators/LangevinImpulseIntegrator.h 3;" d LAST applications/xyzviz-app/xyzviz.cpp /^ LAST}; \/\/ Just for modulo$/;" e enum:POLYMODE file: LAST framework/base/BSplineType.h /^ LAST \/\/ Only internal purpose$/;" e enum:ProtoMol::BSplineEnum::Enum LAST framework/base/ConstraintValueType.h /^ LAST \/\/ Used internally only$/;" e enum:ProtoMol::ConstraintValueEnum::Enum LAST framework/base/ScalarStructure.h /^ LAST \/\/ Only internal purpose $/;" e enum:ProtoMol::ScalarStructure::Index LAST framework/base/TimerStatistic.h /^ LAST \/\/ Only internal purpose$/;" e enum:ProtoMol::TimerStatistic::Enum LAST framework/base/ValueType.h /^ LAST \/\/ Used internally only$/;" e enum:ProtoMol::ValueEnum::Enum LAST framework/frontend/InputPosVelType.h /^ LAST \/\/ Used internally only$/;" e enum:ProtoMol::InputPosVelEnum::Enum LAST framework/integrators/PaulTrapIntegrator.h /^ LAST \/\/ Only internal purpose$/;" e enum:ProtoMol::ThermostatEnum::Enum LAST framework/parallel/ParallelType.h /^ LAST \/\/ Only internal purpose$/;" e enum:ProtoMol::ParallelEnum::Enum LAST framework/topology/ExclusionType.h /^ LAST \/\/ Used internally only$/;" e enum:ProtoMol::ExclusionEnum::Enum LASTREDUCE framework/base/ScalarStructure.h /^ LASTREDUCE, \/\/\/< Last value to be reduced in parallel environment, only internal purpose$/;" e enum:ProtoMol::ScalarStructure::Index LEAPFROGINTEGRATOR_H framework/integrators/LeapfrogIntegrator.h 3;" d LENGTH_AA framework/base/pmconstants.cpp /^ const Real LENGTH_AA = 1e+10; \/\/ [AA]$/;" m namespace:ProtoMol::Constant::SI file: LENNARDJONES framework/base/ScalarStructure.h /^ LENNARDJONES,$/;" e enum:ProtoMol::ScalarStructure::Index LENNARDJONESFORCE_H framework/forces/LennardJonesForce.h 3;" d LENNARDJONESPARAMETERS_H framework/topology/LennardJonesParameters.h 3;" d LENNARDJONESPARAMETERTABLE_H framework/topology/LennardJonesParameterTable.h 3;" d LENNARDJONESTABLEFORCE_H framework/forces/LennardJonesTableForce.h 3;" d LENNARDJONES_DELTAMU framework/base/ScalarStructure.h /^ LENNARDJONES_DELTAMU, \/\/\/< needed for iSG simulations$/;" e enum:ProtoMol::ScalarStructure::Index LIMIT framework/base/Vector3DBlock.h /^ enum {LIMIT = 30};$/;" e enum:ProtoMol::Vector3DBlock:: LINE applications/xyzviz-app/xyzviz.cpp /^ LINE,$/;" e enum:POLYMODE file: LONG framework/base/BSplineType.h /^ LONG,$/;" e enum:ProtoMol::BSplineEnum::Enum L_ALT_LOC framework/base/PDB.h /^ L_ALT_LOC = 1,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_ATOM_NAME framework/base/PDB.h /^ L_ATOM_NAME = 4,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_CHAIN_ID framework/base/PDB.h /^ L_CHAIN_ID = 1,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_CHARGE framework/base/PDB.h /^ L_CHARGE = 2$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_ELEMENT_SYMBOL framework/base/PDB.h /^ L_ELEMENT_SYMBOL = 2,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_FOOT_NOTE framework/base/PDB.h /^ L_FOOT_NOTE = 3,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_I_CODE framework/base/PDB.h /^ L_I_CODE = 1,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_OCCUP framework/base/PDB.h /^ L_OCCUP = 6,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_RECORD_NAME framework/base/PDB.h /^ L_RECORD_NAME = 6,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_RES_NAME framework/base/PDB.h /^ L_RES_NAME = 4,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_RES_SEQ framework/base/PDB.h /^ L_RES_SEQ = 4,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_SEG_ID framework/base/PDB.h /^ L_SEG_ID = 4,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_SERIAL framework/base/PDB.h /^ L_SERIAL = 5,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_TEMP framework/base/PDB.h /^ L_TEMP = 6,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_X framework/base/PDB.h /^ L_X = 8,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_Y framework/base/PDB.h /^ L_Y = 8,$/;" e enum:ProtoMol::PDB::PDBAtom::Length L_Z framework/base/PDB.h /^ L_Z = 8,$/;" e enum:ProtoMol::PDB::PDBAtom::Length Lagrange framework/base/Lagrange.cpp /^ Lagrange::Lagrange():myInterOrder(0),$/;" f class:ProtoMol::Lagrange Lagrange framework/base/Lagrange.cpp /^ Lagrange::Lagrange(const Lagrange& Lagrange){$/;" f class:ProtoMol::Lagrange Lagrange framework/base/Lagrange.cpp /^ Lagrange::Lagrange(unsigned int order):myInterOrder(order),$/;" f class:ProtoMol::Lagrange Lagrange framework/base/Lagrange.cpp /^ Lagrange::Lagrange(unsigned int order, Real w):myInterOrder(order),$/;" f class:ProtoMol::Lagrange Lagrange framework/base/Lagrange.h /^ class Lagrange {$/;" c namespace:ProtoMol Lambda applications/iSGProtomol-app/base/XSC.h /^ Real Lambda, Lambda_vel;$/;" m struct:ProtoMol::XSC Lambda_vel applications/iSGProtomol-app/base/XSC.h /^ Real Lambda, Lambda_vel;$/;" m struct:ProtoMol::XSC LangevinImpulseIntegrator framework/integrators/LangevinImpulseIntegrator.cpp /^ LangevinImpulseIntegrator::LangevinImpulseIntegrator():$/;" f class:ProtoMol::LangevinImpulseIntegrator LangevinImpulseIntegrator framework/integrators/LangevinImpulseIntegrator.cpp /^ LangevinImpulseIntegrator::LangevinImpulseIntegrator(Real timestep,$/;" f class:ProtoMol::LangevinImpulseIntegrator LangevinImpulseIntegrator framework/integrators/LangevinImpulseIntegrator.h /^ class LangevinImpulseIntegrator: public STSIntegrator {$/;" c namespace:ProtoMol LeapfrogIntegrator framework/integrators/LeapfrogIntegrator.cpp /^ LeapfrogIntegrator::LeapfrogIntegrator() : STSIntegrator() {}$/;" f class:ProtoMol::LeapfrogIntegrator LeapfrogIntegrator framework/integrators/LeapfrogIntegrator.cpp /^ LeapfrogIntegrator::LeapfrogIntegrator(Real timestep,$/;" f class:ProtoMol::LeapfrogIntegrator LeapfrogIntegrator framework/integrators/LeapfrogIntegrator.h /^ class LeapfrogIntegrator : public STSIntegrator {$/;" c namespace:ProtoMol Length framework/base/PDB.h /^ enum Length{$/;" g struct:ProtoMol::PDB::PDBAtom LennardJonesForce framework/forces/LennardJonesForce.h /^ class LennardJonesForce {$/;" c namespace:ProtoMol LennardJonesParameterTable framework/topology/LennardJonesParameterTable.cpp /^ LennardJonesParameterTable::LennardJonesParameterTable():myCurrentSize(0),myData(NULL){}$/;" f class:ProtoMol::LennardJonesParameterTable LennardJonesParameterTable framework/topology/LennardJonesParameterTable.h /^ class LennardJonesParameterTable {$/;" c namespace:ProtoMol LennardJonesParameters framework/topology/LennardJonesParameters.h /^ LennardJonesParameters():A(0.0),B(0.0),A14(0.0),B14(0.0){};$/;" f struct:ProtoMol::LennardJonesParameters LennardJonesParameters framework/topology/LennardJonesParameters.h /^ LennardJonesParameters(Real a, Real b):A(a),B(b),A14(0.0),B14(0.0){};$/;" f struct:ProtoMol::LennardJonesParameters LennardJonesParameters framework/topology/LennardJonesParameters.h /^ LennardJonesParameters(Real a, Real b, Real a14, Real b14):A(a),B(b),A14(a14),B14(b14){};$/;" f struct:ProtoMol::LennardJonesParameters LennardJonesParameters framework/topology/LennardJonesParameters.h /^ struct LennardJonesParameters {$/;" s namespace:ProtoMol LennardJonesTableForce framework/forces/LennardJonesTableForce.cpp /^ LennardJonesTableForce::LennardJonesTableForce():myTable(NULL),myRc(-1.0),myN(0){}$/;" f class:ProtoMol::LennardJonesTableForce LennardJonesTableForce framework/forces/LennardJonesTableForce.cpp /^ LennardJonesTableForce::LennardJonesTableForce(LennardJonesTableForce const& other):myTable(new Real[4*other.myN]),$/;" f class:ProtoMol::LennardJonesTableForce LennardJonesTableForce framework/forces/LennardJonesTableForce.cpp /^ LennardJonesTableForce::LennardJonesTableForce(Real rc, unsigned int n):myTable(new Real[4*n]),$/;" f class:ProtoMol::LennardJonesTableForce LennardJonesTableForce framework/forces/LennardJonesTableForce.h /^ class LennardJonesTableForce {$/;" c namespace:ProtoMol MAGNETICDIPOLEFORCE_H framework/forces/MagneticDipoleForce.h 3;" d MAKABLEDEFINITION_H framework/base/MakeableDefinition.h 3;" d MAKEABLE_H framework/base/Makeable.h 3;" d MASTER framework/parallel/Parallel.h /^ MASTER \/\/\/< master$/;" e enum:ProtoMol::Parallel::WorkState MASTERSLAVE framework/parallel/ParallelType.h /^ MASTERSLAVE, \/\/\/< Master-slave$/;" e enum:ProtoMol::ParallelEnum::Enum MATHUTILITIES_H framework/base/mathutilities.h 3;" d MATRIX3by3_H framework/base/Matrix3by3.h 3;" d MAXDOUBLE framework/base/Real.h 19;" d MAXINT framework/base/Real.h 18;" d MAXREAL framework/base/pmconstants.cpp /^ const Real MAXREAL = MAXDOUBLE; $/;" m namespace:ProtoMol::Constant file: MAXREAL framework/base/pmconstants.cpp /^ const Real MAXREAL = MAXFLOAT; $/;" m namespace:ProtoMol::Constant file: MAX_INT framework/base/pmconstants.cpp /^ const int MAX_INT = MAXINT;$/;" m namespace:ProtoMol::Constant file: MAX_INT_2 framework/base/pmconstants.cpp /^ const int MAX_INT_2 = MAXINT\/2;$/;" m namespace:ProtoMol::Constant file: MCINTEGRATOR_H framework/integrators/MCIntegrator.h 3;" d MCIntegrator framework/integrators/MCIntegrator.cpp /^ MCIntegrator::MCIntegrator() $/;" f class:ProtoMol::MCIntegrator MCIntegrator framework/integrators/MCIntegrator.cpp /^ MCIntegrator::MCIntegrator(int cycles,$/;" f class:ProtoMol::MCIntegrator MCIntegrator framework/integrators/MCIntegrator.h /^ class MCIntegrator: public MTSIntegrator {$/;" c namespace:ProtoMol MENU applications/xyzviz-app/xyzviz.cpp /^enum MENU {ANIM_IDLE=-1,$/;" g file: METAFORCE_H framework/forces/MetaForce.h 3;" d MINDOUBLE framework/base/Real.h 20;" d MINREAL framework/base/pmconstants.cpp /^ const Real MINREAL = MINDOUBLE;$/;" m namespace:ProtoMol::Constant file: MINREAL framework/base/pmconstants.cpp /^ const Real MINREAL = MINFLOAT;$/;" m namespace:ProtoMol::Constant file: MODIFIERAVERAGING_H framework/integrators/ModifierAveraging.h 3;" d MODIFIERFRICTION_H framework/integrators/ModifierFriction.h 3;" d MODIFIERINCREMENTTIMESTEP_H framework/integrators/ModifierIncrementTimestep.h 3;" d MODIFIERISG_H applications/iSGProtomol-app/integrators/ModifierISG.h 3;" d MODIFIERMETARATTLESHAKE_H framework/integrators/ModifierMetaRattleShake.h 3;" d MODIFIERMETARATTLE_H framework/integrators/ModifierMetaRattle.h 3;" d MODIFIERMETASHAKE_H framework/integrators/ModifierMetaShake.h 3;" d MODIFIERMOLLIFICATION_H framework/integrators/ModifierMollification.h 3;" d MODIFIERNPTRATTLE_H framework/integrators/ModifierNPTRattle.h 3;" d MODIFIERNPTSHAKE_H framework/integrators/ModifierNPTShake.h 3;" d MODIFIERNVTRATTLE_H framework/integrators/ModifierNVTRattle.h 3;" d MODIFIERNVTSHAKE_H framework/integrators/ModifierNVTShake.h 3;" d MODIFIERPOSTFORCEBAROSTAT_H framework/integrators/ModifierPostForceBarostat.h 3;" d MODIFIERPOSTFORCETHERMOSTAT_H framework/integrators/ModifierPostForceThermostat.h 3;" d MODIFIERPREFORCEBAROSTAT_H framework/integrators/ModifierPreForceBarostat.h 3;" d MODIFIERPREFORCETHERMOSTAT_H framework/integrators/ModifierPreForceThermostat.h 3;" d MODIFIERRATTLE_H framework/integrators/ModifierRattle.h 3;" d MODIFIERREMOVEANGULARMOMENTUM_H framework/integrators/ModifierRemoveAngularMomentum.h 3;" d MODIFIERREMOVELINEARMOMENTUM_H framework/integrators/ModifierRemoveLinearMomentum.h 3;" d MODIFIERSHAKE_H framework/integrators/ModifierShake.h 3;" d MODIFIERUPDATEBETAANDPUSH_H framework/integrators/ModifierUpdateBetaAndPush.h 3;" d MODIFIERUPDATEBETA_H framework/integrators/ModifierUpdateBeta.h 3;" d MODIFIER_H framework/integrators/Modifier.h 3;" d MOLECULE_H framework/base/Molecule.h 3;" d MOLLYFORCE_H framework/forces/MollyForce.h 3;" d MOLLYINTEGRATOR_H framework/integrators/MOLLYIntegrator.h 3;" d MOLLYIntegrator framework/integrators/MOLLYIntegrator.cpp /^ MOLLYIntegrator::MOLLYIntegrator (int cycles,$/;" f class:ProtoMol::MOLLYIntegrator MOLLYIntegrator framework/integrators/MOLLYIntegrator.cpp /^ MOLLYIntegrator::MOLLYIntegrator():MTSIntegrator(),mySwapPositions(NULL){}$/;" f class:ProtoMol::MOLLYIntegrator MOLLYIntegrator framework/integrators/MOLLYIntegrator.h /^ class MOLLYIntegrator : public MTSIntegrator {$/;" c namespace:ProtoMol MOLVIRIALXX framework/base/ScalarStructure.h /^ MOLVIRIALXX,$/;" e enum:ProtoMol::ScalarStructure::Index MOLVIRIALXY framework/base/ScalarStructure.h /^ MOLVIRIALXY,$/;" e enum:ProtoMol::ScalarStructure::Index MOLVIRIALXZ framework/base/ScalarStructure.h /^ MOLVIRIALXZ,$/;" e enum:ProtoMol::ScalarStructure::Index MOLVIRIALYX framework/base/ScalarStructure.h /^ MOLVIRIALYX,$/;" e enum:ProtoMol::ScalarStructure::Index MOLVIRIALYY framework/base/ScalarStructure.h /^ MOLVIRIALYY,$/;" e enum:ProtoMol::ScalarStructure::Index MOLVIRIALYZ framework/base/ScalarStructure.h /^ MOLVIRIALYZ,$/;" e enum:ProtoMol::ScalarStructure::Index MOLVIRIALZX framework/base/ScalarStructure.h /^ MOLVIRIALZX,$/;" e enum:ProtoMol::ScalarStructure::Index MOLVIRIALZY framework/base/ScalarStructure.h /^ MOLVIRIALZY,$/;" e enum:ProtoMol::ScalarStructure::Index MOLVIRIALZZ framework/base/ScalarStructure.h /^ MOLVIRIALZZ,$/;" e enum:ProtoMol::ScalarStructure::Index MPITypeTraits framework/parallel/Parallel.cpp /^ struct MPITypeTraits$/;" s namespace:ProtoMol file: MPITypeTraits framework/parallel/Parallel.cpp /^ struct MPITypeTraits$/;" s namespace:ProtoMol file: MTORSIONSYSTEMFORCE_H framework/forces/MTorsionSystemForce.h 3;" d MTSINTEGRATOR_H framework/integrators/MTSIntegrator.h 3;" d MTSIntegrator framework/integrators/MTSIntegrator.cpp /^ MTSIntegrator::MTSIntegrator (int cycles,$/;" f class:ProtoMol::MTSIntegrator MTSIntegrator framework/integrators/MTSIntegrator.cpp /^ MTSIntegrator::MTSIntegrator():StandardIntegrator(),myNextIntegrator(NULL),myCycleLength(0){}$/;" f class:ProtoMol::MTSIntegrator MTSIntegrator framework/integrators/MTSIntegrator.h /^ class MTSIntegrator: public StandardIntegrator {$/;" c namespace:ProtoMol MTorsionSystemForce framework/forces/MTorsionSystemForce.h /^ class MTorsionSystemForce: public SystemForce {$/;" c namespace:ProtoMol MULTIGRID_H framework/base/MultiGrid.h 3;" d MY_MPI_REAL framework/base/FFTComplex.cpp 285;" d file: MY_MPI_REAL framework/base/FFTComplex.cpp 289;" d file: MY_MPI_REAL framework/parallel/Parallel.cpp 25;" d file: MY_MPI_REAL framework/parallel/Parallel.cpp 29;" d file: M_2PI framework/base/Real.h 25;" d M_PI framework/base/Real.h 23;" d M_PI_2 framework/base/Real.h 24;" d MagneticDipoleForce framework/forces/MagneticDipoleForce.cpp /^ MagneticDipoleForce::MagneticDipoleForce():myChi(0.0),myR(0.0),myOmega(0.0),myPhi(0.0),myHx(0.0),myHy(0.0),myHz(0.0),myD(0.0){}$/;" f class:ProtoMol::MagneticDipoleForce MagneticDipoleForce framework/forces/MagneticDipoleForce.cpp /^ MagneticDipoleForce::MagneticDipoleForce(Real chi, Real radius, Real omega, Real phi, Real Hx,Real Hy, Real Hz, Real D):$/;" f class:ProtoMol::MagneticDipoleForce MagneticDipoleForce framework/forces/MagneticDipoleForce.h /^ class MagneticDipoleForce {$/;" c namespace:ProtoMol MagneticDipoleMirrorSystemForce framework/forces/MagneticDipoleMirrorSystemForce.h /^ MagneticDipoleMirrorSystemForce():myChi(0.0), myR(0.0), myD(0.0), myHx(0.0), myHy(0.0), myHz(0.0){}$/;" f class:ProtoMol::MagneticDipoleMirrorSystemForce MagneticDipoleMirrorSystemForce framework/forces/MagneticDipoleMirrorSystemForce.h /^ MagneticDipoleMirrorSystemForce(Real chi, Real r, Real Hx, Real Hy, Real Hz, Real d):$/;" f class:ProtoMol::MagneticDipoleMirrorSystemForce MagneticDipoleMirrorSystemForce framework/forces/MagneticDipoleMirrorSystemForce.h /^ class MagneticDipoleMirrorSystemForce : public SystemForce, private MagneticDipoleMirrorSystemForceBase {$/;" c namespace:ProtoMol MagneticDipoleMirrorSystemForceBASE_H framework/forces/MagneticDipoleMirrorSystemForceBase.h 3;" d MagneticDipoleMirrorSystemForceBase framework/forces/MagneticDipoleMirrorSystemForceBase.h /^ class MagneticDipoleMirrorSystemForceBase {$/;" c namespace:ProtoMol MagneticDipoleMirrorSystemForce_H framework/forces/MagneticDipoleMirrorSystemForce.h 3;" d Makeable framework/base/Makeable.h /^ class Makeable{$/;" c namespace:ProtoMol MakeableDefinition framework/base/MakeableDefinition.h /^ MakeableDefinition(){}$/;" f struct:ProtoMol::MakeableDefinition MakeableDefinition framework/base/MakeableDefinition.h /^ MakeableDefinition(const std::string& i,const std::vector& p):id(i),parameters(p){}$/;" f struct:ProtoMol::MakeableDefinition MakeableDefinition framework/base/MakeableDefinition.h /^ struct MakeableDefinition {$/;" s namespace:ProtoMol Matrix3by3 framework/base/Matrix3by3.cpp /^ Matrix3by3::Matrix3by3()$/;" f class:ProtoMol::Matrix3by3 Matrix3by3 framework/base/Matrix3by3.cpp /^ Matrix3by3::Matrix3by3(Real x00, Real x01, Real x02,$/;" f class:ProtoMol::Matrix3by3 Matrix3by3 framework/base/Matrix3by3.cpp /^ Matrix3by3::Matrix3by3(const Vector3D &a, const Vector3D &b)$/;" f class:ProtoMol::Matrix3by3 Matrix3by3 framework/base/Matrix3by3.cpp /^ Matrix3by3::Matrix3by3(const Vector3D& v1, const Vector3D& v2, $/;" f class:ProtoMol::Matrix3by3 Matrix3by3 framework/base/Matrix3by3.cpp /^ Matrix3by3::Matrix3by3(double mat[9])$/;" f class:ProtoMol::Matrix3by3 Matrix3by3 framework/base/Matrix3by3.cpp /^ Matrix3by3::Matrix3by3(float mat[9])$/;" f class:ProtoMol::Matrix3by3 Matrix3by3 framework/base/Matrix3by3.h /^ class Matrix3by3 {$/;" c namespace:ProtoMol MetaForce framework/forces/MetaForce.h /^ MetaForce():Force(){}$/;" f class:ProtoMol::MetaForce MetaForce framework/forces/MetaForce.h /^ class MetaForce : public Force {$/;" c namespace:ProtoMol Modifier framework/integrators/Modifier.h /^ Modifier(int order=0):myOrder(order),$/;" f class:ProtoMol::Modifier Modifier framework/integrators/Modifier.h /^ class Modifier {$/;" c namespace:ProtoMol ModifierAveraging framework/integrators/ModifierAveraging.h /^ ModifierAveraging(MOLLYIntegrator* i):Modifier(),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierAveraging ModifierAveraging framework/integrators/ModifierAveraging.h /^ class ModifierAveraging : public Modifier {$/;" c namespace:ProtoMol ModifierFriction framework/integrators/ModifierFriction.h /^ ModifierFriction(NoseNVTLeapfrogIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierFriction ModifierFriction framework/integrators/ModifierFriction.h /^ class ModifierFriction : public Modifier {$/;" c namespace:ProtoMol ModifierISG applications/iSGProtomol-app/integrators/ModifierISG.cpp /^ ModifierISG::ModifierISG(iSGIntegrator *integrator, const PSF &psf, const iSGPAR &par)$/;" f class:ProtoMol::ModifierISG ModifierISG applications/iSGProtomol-app/integrators/ModifierISG.h /^ class ModifierISG : public Modifier {$/;" c namespace:ProtoMol ModifierIncrementTimestep framework/integrators/ModifierIncrementTimestep.h /^ ModifierIncrementTimestep(STSIntegrator* i):Modifier(Constant::MAX_INT),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierIncrementTimestep ModifierIncrementTimestep framework/integrators/ModifierIncrementTimestep.h /^ class ModifierIncrementTimestep : public Modifier {$/;" c namespace:ProtoMol ModifierMetaRattle framework/integrators/ModifierMetaRattle.cpp /^ ModifierMetaRattle::ModifierMetaRattle(Real eps, int maxIter, int order):ModifierMetaRattleShake(eps,maxIter,order){}$/;" f class:ProtoMol::ModifierMetaRattle ModifierMetaRattle framework/integrators/ModifierMetaRattle.h /^ class ModifierMetaRattle : public ModifierMetaRattleShake {$/;" c namespace:ProtoMol ModifierMetaRattleShake framework/integrators/ModifierMetaRattleShake.cpp /^ ModifierMetaRattleShake::ModifierMetaRattleShake(Real eps, int maxIter,int order):Modifier(order),$/;" f class:ProtoMol::ModifierMetaRattleShake ModifierMetaRattleShake framework/integrators/ModifierMetaRattleShake.h /^ class ModifierMetaRattleShake : public Modifier {$/;" c namespace:ProtoMol ModifierMetaShake framework/integrators/ModifierMetaShake.cpp /^ ModifierMetaShake::ModifierMetaShake(Real eps, int maxIter, int order):ModifierMetaRattleShake(eps,maxIter,order){}$/;" f class:ProtoMol::ModifierMetaShake ModifierMetaShake framework/integrators/ModifierMetaShake.h /^ class ModifierMetaShake : public ModifierMetaRattleShake {$/;" c namespace:ProtoMol ModifierMollification framework/integrators/ModifierMollification.h /^ ModifierMollification(MOLLYIntegrator* i):Modifier(),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierMollification ModifierMollification framework/integrators/ModifierMollification.h /^ class ModifierMollification : public Modifier {$/;" c namespace:ProtoMol ModifierNPTRattle framework/integrators/ModifierNPTRattle.h /^ ModifierNPTRattle(Real eps, $/;" f class:ProtoMol::ModifierNPTRattle ModifierNPTRattle framework/integrators/ModifierNPTRattle.h /^ class ModifierNPTRattle : public ModifierNPTRattleDetails {$/;" c namespace:ProtoMol ModifierNPTRattleDetails framework/integrators/ModifierNPTRattle.cpp /^ ModifierNPTRattleDetails::ModifierNPTRattleDetails(Real eps, int maxIter, int order):ModifierMetaRattle(eps,maxIter,order){}$/;" f class:ProtoMol::ModifierNPTRattleDetails ModifierNPTRattleDetails framework/integrators/ModifierNPTRattle.h /^ class ModifierNPTRattleDetails : public ModifierMetaRattle {$/;" c namespace:ProtoMol ModifierNPTShake framework/integrators/ModifierNPTShake.h /^ ModifierNPTShake(Real eps, $/;" f class:ProtoMol::ModifierNPTShake ModifierNPTShake framework/integrators/ModifierNPTShake.h /^ class ModifierNPTShake : public ModifierNPTShakeDetails {$/;" c namespace:ProtoMol ModifierNPTShakeDetails framework/integrators/ModifierNPTShake.cpp /^ ModifierNPTShakeDetails::ModifierNPTShakeDetails(Real eps, int maxIter, int order):ModifierMetaShake(eps,maxIter,order){}$/;" f class:ProtoMol::ModifierNPTShakeDetails ModifierNPTShakeDetails framework/integrators/ModifierNPTShake.h /^ class ModifierNPTShakeDetails : public ModifierMetaShake {$/;" c namespace:ProtoMol ModifierNVTRattle framework/integrators/ModifierNVTRattle.h /^ ModifierNVTRattle(Real eps,$/;" f class:ProtoMol::ModifierNVTRattle ModifierNVTRattle framework/integrators/ModifierNVTRattle.h /^ class ModifierNVTRattle : public ModifierNVTRattleDetails {$/;" c namespace:ProtoMol ModifierNVTRattleDetails framework/integrators/ModifierNVTRattle.cpp /^ ModifierNVTRattleDetails::ModifierNVTRattleDetails(Real eps, int maxIter, int order):ModifierMetaRattle(eps,maxIter,order){}$/;" f class:ProtoMol::ModifierNVTRattleDetails ModifierNVTRattleDetails framework/integrators/ModifierNVTRattle.h /^ class ModifierNVTRattleDetails : public ModifierMetaRattle {$/;" c namespace:ProtoMol ModifierNVTShake framework/integrators/ModifierNVTShake.h /^ ModifierNVTShake(Real eps,$/;" f class:ProtoMol::ModifierNVTShake ModifierNVTShake framework/integrators/ModifierNVTShake.h /^ class ModifierNVTShake : public ModifierNVTShakeDetails {$/;" c namespace:ProtoMol ModifierNVTShakeDetails framework/integrators/ModifierNVTShake.cpp /^ ModifierNVTShakeDetails::ModifierNVTShakeDetails(Real eps, int maxIter, int order):ModifierMetaShake(eps,maxIter,order){}$/;" f class:ProtoMol::ModifierNVTShakeDetails ModifierNVTShakeDetails framework/integrators/ModifierNVTShake.h /^ class ModifierNVTShakeDetails : public ModifierMetaShake {$/;" c namespace:ProtoMol ModifierPostForceBarostat framework/integrators/ModifierPostForceBarostat.h /^ ModifierPostForceBarostat(TIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierPostForceBarostat ModifierPostForceBarostat framework/integrators/ModifierPostForceBarostat.h /^ ModifierPostForceBarostat(TIntegrator* i, int order):Modifier(order),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierPostForceBarostat ModifierPostForceBarostat framework/integrators/ModifierPostForceBarostat.h /^ class ModifierPostForceBarostat : public Modifier {$/;" c namespace:ProtoMol ModifierPostForceThermostat framework/integrators/ModifierPostForceThermostat.h /^ ModifierPostForceThermostat(TIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierPostForceThermostat ModifierPostForceThermostat framework/integrators/ModifierPostForceThermostat.h /^ ModifierPostForceThermostat(TIntegrator* i, int order):Modifier(order),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierPostForceThermostat ModifierPostForceThermostat framework/integrators/ModifierPostForceThermostat.h /^ class ModifierPostForceThermostat : public Modifier {$/;" c namespace:ProtoMol ModifierPreForceBarostat framework/integrators/ModifierPreForceBarostat.h /^ ModifierPreForceBarostat(TIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierPreForceBarostat ModifierPreForceBarostat framework/integrators/ModifierPreForceBarostat.h /^ ModifierPreForceBarostat(TIntegrator* i, int order):Modifier(order),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierPreForceBarostat ModifierPreForceBarostat framework/integrators/ModifierPreForceBarostat.h /^ class ModifierPreForceBarostat : public Modifier {$/;" c namespace:ProtoMol ModifierPreForceThermostat framework/integrators/ModifierPreForceThermostat.h /^ ModifierPreForceThermostat(TIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierPreForceThermostat ModifierPreForceThermostat framework/integrators/ModifierPreForceThermostat.h /^ ModifierPreForceThermostat(TIntegrator* i, int order):Modifier(order),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierPreForceThermostat ModifierPreForceThermostat framework/integrators/ModifierPreForceThermostat.h /^ class ModifierPreForceThermostat : public Modifier {$/;" c namespace:ProtoMol ModifierRattle framework/integrators/ModifierRattle.cpp /^ ModifierRattle::ModifierRattle(Real eps, int maxIter,const Integrator* i, int order):ModifierMetaRattle(eps,maxIter,order),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierRattle ModifierRattle framework/integrators/ModifierRattle.h /^ class ModifierRattle : public ModifierMetaRattle {$/;" c namespace:ProtoMol ModifierRemoveAngularMomentum framework/integrators/ModifierRemoveAngularMomentum.h /^ ModifierRemoveAngularMomentum(int freq):Modifier(Constant::MAX_INT-200),myStep(0),myFreq(freq){}$/;" f class:ProtoMol::ModifierRemoveAngularMomentum ModifierRemoveAngularMomentum framework/integrators/ModifierRemoveAngularMomentum.h /^ class ModifierRemoveAngularMomentum : public Modifier {$/;" c namespace:ProtoMol ModifierRemoveLinearMomentum framework/integrators/ModifierRemoveLinearMomentum.h /^ ModifierRemoveLinearMomentum(int freq):Modifier(Constant::MAX_INT-100),myStep(0),myFreq(freq){}$/;" f class:ProtoMol::ModifierRemoveLinearMomentum ModifierRemoveLinearMomentum framework/integrators/ModifierRemoveLinearMomentum.h /^ class ModifierRemoveLinearMomentum : public Modifier {$/;" c namespace:ProtoMol ModifierShake framework/integrators/ModifierShake.cpp /^ ModifierShake::ModifierShake(Real eps, int maxIter,const Integrator* i, int order):ModifierMetaShake(eps,maxIter,order),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierShake ModifierShake framework/integrators/ModifierShake.h /^ class ModifierShake : public ModifierMetaShake {$/;" c namespace:ProtoMol ModifierUmbrella framework/integrators/UmbrellaIntegrator.cpp /^ ModifierUmbrella():Modifier(Constant::MAX_INT-200){}$/;" f class:ProtoMol::ModifierUmbrella ModifierUmbrella framework/integrators/UmbrellaIntegrator.cpp /^ class ModifierUmbrella : public Modifier {$/;" c namespace:ProtoMol file: ModifierUpdateBeta framework/integrators/ModifierUpdateBeta.h /^ ModifierUpdateBeta(ShadowHMCIntegrator* i):Modifier(Constant::MAX_INT-100),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierUpdateBeta ModifierUpdateBeta framework/integrators/ModifierUpdateBeta.h /^ class ModifierUpdateBeta : public Modifier {$/;" c namespace:ProtoMol ModifierUpdateBetaAndPush framework/integrators/ModifierUpdateBetaAndPush.h /^ ModifierUpdateBetaAndPush(ShadowHMCIntegrator* i):Modifier(Constant::MAX_INT-100),myTheIntegrator(i){}$/;" f class:ProtoMol::ModifierUpdateBetaAndPush ModifierUpdateBetaAndPush framework/integrators/ModifierUpdateBetaAndPush.h /^ class ModifierUpdateBetaAndPush : public Modifier {$/;" c namespace:ProtoMol Molecule framework/base/Molecule.h /^ Molecule():mass(0.0),position(0.0,0.0,0.0),momentum(0.0,0.0,0.0),water(false),$/;" f struct:ProtoMol::Molecule Molecule framework/base/Molecule.h /^ struct Molecule {$/;" s namespace:ProtoMol MollyForce framework/forces/MollyForce.h /^ MollyForce():Force(){}$/;" f class:ProtoMol::MollyForce MollyForce framework/forces/MollyForce.h /^ class MollyForce : public Force {$/;" c namespace:ProtoMol MultiGrid framework/base/MultiGrid.h /^ MultiGrid::MultiGrid(): $/;" f class:ProtoMol::MultiGrid MultiGrid framework/base/MultiGrid.h /^ class MultiGrid {$/;" c namespace:ProtoMol MyStreamer framework/base/Report.cpp /^ MyStreamer::MyStreamer(ostream* a) {$/;" f class:ProtoMol::Report::MyStreamer MyStreamer framework/base/Report.h /^ class MyStreamer {$/;" c namespace:ProtoMol::Report N applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ std::vector N; \/\/ The number of molecules of each mixture component$/;" m class:ProtoMol::iSGIntegrator NBFIX applications/iSGProtomol-app/io/iSGPARReader.h /^ NBFIX,$/;" e enum:ProtoMol::iSGPARReader::PARRecordTypeEnum NBFIX framework/io/PARReader.h /^ NBFIX,$/;" e enum:ProtoMol::PARReader::PARRecordTypeEnum NEED_RANGE framework/parallel/Parallel.cpp /^ const int NEED_RANGE = 1;$/;" m namespace:ProtoMol file: NEGATIVE framework/base/ConstraintValueType.h /^ NEGATIVE,$/;" e enum:ProtoMol::ConstraintValueEnum::Enum NOCONSTRAINTS framework/base/ConstraintValueType.h /^ NOCONSTRAINTS,$/;" e enum:ProtoMol::ConstraintValueEnum::Enum NONBONDED applications/iSGProtomol-app/io/iSGPARReader.h /^ NONBONDED,$/;" e enum:ProtoMol::iSGPARReader::PARRecordTypeEnum NONBONDED framework/io/PARReader.h /^ NONBONDED,$/;" e enum:ProtoMol::PARReader::PARRecordTypeEnum NONBONDEDCUTOFFFORCEBASE_H framework/forces/NonbondedCutoffForceBase.h 3;" d NONBONDEDCUTOFFFORCE_H framework/forces/NonbondedCutoffForce.h 3;" d NONBONDEDCUTOFFMOLLYFORCE_H framework/forces/NonbondedCutoffMollyForce.h 3;" d NONBONDEDCUTOFFSYSTEMFORCE_H framework/forces/NonbondedCutoffSystemForce.h 3;" d NONBONDEDFULLEWALDSYSTEMFORCEBASE_H framework/forces/NonbondedFullEwaldSystemForceBase.h 3;" d NONBONDEDFULLEWALDSYSTEMFORCE_H framework/forces/NonbondedFullEwaldSystemForce.h 3;" d NONBONDEDFULLSYSTEMFORCEBASE_H framework/forces/NonbondedFullSystemForceBase.h 3;" d NONBONDEDFULLSYSTEMFORCE_H framework/forces/NonbondedFullSystemForce.h 3;" d NONBONDEDMULTIGRIDSYSTEMFORCEBASE_H framework/forces/NonbondedMultiGridSystemForceBase.h 3;" d NONBONDEDMULTIGRIDSYSTEMFORCE_H framework/forces/NonbondedMultiGridSystemForce.h 3;" d NONBONDEDPMEWALDSYSTEMFORCEBASE_H framework/forces/NonbondedPMEwaldSystemForceBase.h 3;" d NONBONDEDPMEWALDSYSTEMFORCE_H framework/forces/NonbondedPMEwaldSystemForce.h 3;" d NONBONDEDSIMPLEFULLSYSTEMFORCEBASE_H framework/forces/NonbondedSimpleFullSystemForceBase.h 3;" d NONBONDEDSIMPLEFULLSYSTEMFORCE_H framework/forces/NonbondedSimpleFullSystemForce.h 3;" d NONE framework/topology/ExclusionType.h /^ NONE, \/\/\/< no exclusions at all$/;" e enum:ProtoMol::ExclusionEnum::Enum NONSTANDARDINTEGRATOR_H framework/integrators/NonStandardIntegrator.h 3;" d NOSENVTLEAPFROGINTEGRATOR_H framework/integrators/NoseNVTLeapfrogIntegrator.h 3;" d NOTEMPTY framework/base/ConstraintValueType.h /^ NOTEMPTY,$/;" e enum:ProtoMol::ConstraintValueEnum::Enum NOTNEGATIVE framework/base/ConstraintValueType.h /^ NOTNEGATIVE,$/;" e enum:ProtoMol::ConstraintValueEnum::Enum NOTPOSITIVE framework/base/ConstraintValueType.h /^ NOTPOSITIVE,$/;" e enum:ProtoMol::ConstraintValueEnum::Enum NOTZERO framework/base/ConstraintValueType.h /^ NOTZERO,$/;" e enum:ProtoMol::ConstraintValueEnum::Enum NOT_VISITED framework/topology/AngleInfo.h /^ NOT_VISITED = 10002};$/;" e enum:ProtoMol::AngleInfo:: NPT applications/iSGProtomol-app/io/XSCReader.h /^ NPT,$/;" e enum:ProtoMol::XSCReader::XSCRecordTypeEnum NPTVERLETINTEGRATOR_H framework/integrators/NPTVerletIntegrator.h 3;" d NPTVerletIntegrator framework/integrators/NPTVerletIntegrator.cpp /^ NPTVerletIntegrator::NPTVerletIntegrator(): STSIntegrator(),$/;" f class:ProtoMol::NPTVerletIntegrator NPTVerletIntegrator framework/integrators/NPTVerletIntegrator.cpp /^ NPTVerletIntegrator::NPTVerletIntegrator(Real timestep,$/;" f class:ProtoMol::NPTVerletIntegrator NPTVerletIntegrator framework/integrators/NPTVerletIntegrator.h /^ class NPTVerletIntegrator: public STSIntegrator {$/;" c namespace:ProtoMol NVT framework/integrators/PaulTrapIntegrator.h /^ NVT,$/;" e enum:ProtoMol::ThermostatEnum::Enum NVTLEAPFROG applications/iSGProtomol-app/io/XSCReader.h /^ NVTLEAPFROG$/;" e enum:ProtoMol::XSCReader::XSCRecordTypeEnum NVTVERLETINTEGRATOR_H framework/integrators/NVTVerletIntegrator.h 3;" d NVTVerletIntegrator framework/integrators/NVTVerletIntegrator.cpp /^ NVTVerletIntegrator::NVTVerletIntegrator(): STSIntegrator(),$/;" f class:ProtoMol::NVTVerletIntegrator NVTVerletIntegrator framework/integrators/NVTVerletIntegrator.cpp /^ NVTVerletIntegrator::NVTVerletIntegrator(Real timestep,$/;" f class:ProtoMol::NVTVerletIntegrator NVTVerletIntegrator framework/integrators/NVTVerletIntegrator.h /^ class NVTVerletIntegrator: public STSIntegrator {$/;" c namespace:ProtoMol NVT_GLOBAL framework/integrators/PaulTrapIntegrator.h /^ NVT_GLOBAL,$/;" e enum:ProtoMol::ThermostatEnum::Enum NVT_IND framework/integrators/PaulTrapIntegrator.h /^ NVT_IND,$/;" e enum:ProtoMol::ThermostatEnum::Enum NVT_SHELL framework/integrators/PaulTrapIntegrator.h /^ NVT_SHELL,$/;" e enum:ProtoMol::ThermostatEnum::Enum NVT_ZERO framework/integrators/PaulTrapIntegrator.h /^ NVT_ZERO,$/;" e enum:ProtoMol::ThermostatEnum::Enum Nbfix framework/base/PAR.h /^ Nbfix(){}$/;" f struct:ProtoMol::PAR::Nbfix Nbfix framework/base/PAR.h /^ Nbfix(int a_, std::string b_, std::string c, Real d, Real e, Real f, Real g):number(a_),atom1(b_),atom2(c),a(d),b(e),a14(f),b14(g){}$/;" f struct:ProtoMol::PAR::Nbfix Nbfix framework/base/PAR.h /^ struct Nbfix{$/;" s class:ProtoMol::PAR Nbfix framework/base/iSGPAR.h /^ typedef PAR::Nbfix Nbfix;$/;" t class:ProtoMol::iSGPAR Negative framework/base/ConstraintValueType.h /^ typedef Enum2Type Negative;$/;" t class:ProtoMol::ConstraintValueEnum NewType applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ unsigned int NewType; \/\/ The new identity we wish to give to the transformin molecule$/;" m class:ProtoMol::iSGIntegrator Ngrp framework/base/PSF.h /^ Ngrp():number(0),atom1(0),atom2(0),atom3(0){}$/;" f struct:ProtoMol::PSF::Ngrp Ngrp framework/base/PSF.h /^ Ngrp(int a, int b, int c, int d):number(a),atom1(b),atom2(c),atom3(d){}$/;" f struct:ProtoMol::PSF::Ngrp Ngrp framework/base/PSF.h /^ struct Ngrp {$/;" s class:ProtoMol::PSF NoConstraint framework/forces/oneAtomContraints.h /^ struct NoConstraint {$/;" s namespace:ProtoMol NoConstraints framework/base/ConstraintValueType.h /^ typedef Enum2Type NoConstraints;$/;" t class:ProtoMol::ConstraintValueEnum NonStandardIntegrator framework/integrators/NonStandardIntegrator.h /^ NonStandardIntegrator(){};$/;" f class:ProtoMol::NonStandardIntegrator NonStandardIntegrator framework/integrators/NonStandardIntegrator.h /^ NonStandardIntegrator(ForceGroup* forceGroup):Integrator(forceGroup){};$/;" f class:ProtoMol::NonStandardIntegrator NonStandardIntegrator framework/integrators/NonStandardIntegrator.h /^ class NonStandardIntegrator: public Integrator {$/;" c namespace:ProtoMol Nonbonded framework/base/PAR.h /^ Nonbonded(){}$/;" f struct:ProtoMol::PAR::Nonbonded Nonbonded framework/base/PAR.h /^ Nonbonded(int a, std::string b, Real c, Real d, Real e, bool f, bool g, Real h, Real i, Real j, bool k):$/;" f struct:ProtoMol::PAR::Nonbonded Nonbonded framework/base/PAR.h /^ struct Nonbonded{$/;" s class:ProtoMol::PAR Nonbonded framework/base/PSF.h /^ Nonbonded():number(0),atom1(0){}$/;" f struct:ProtoMol::PSF::Nonbonded Nonbonded framework/base/PSF.h /^ Nonbonded(int a, int b):number(a),atom1(b){}$/;" f struct:ProtoMol::PSF::Nonbonded Nonbonded framework/base/PSF.h /^ struct Nonbonded {$/;" s class:ProtoMol::PSF Nonbonded framework/base/iSGPAR.h /^ Nonbonded(){}$/;" f struct:ProtoMol::iSGPAR::Nonbonded Nonbonded framework/base/iSGPAR.h /^ Nonbonded(int a) {$/;" f struct:ProtoMol::iSGPAR::Nonbonded Nonbonded framework/base/iSGPAR.h /^ struct Nonbonded{$/;" s class:ProtoMol::iSGPAR NonbondedCutoffForce framework/forces/NonbondedCutoffForce.h /^ NonbondedCutoffForce():myCutoff(0.0){}$/;" f class:ProtoMol::NonbondedCutoffForce NonbondedCutoffForce framework/forces/NonbondedCutoffForce.h /^ NonbondedCutoffForce(Real cutoff, TOneAtomPair oneAtomPair) : $/;" f class:ProtoMol::NonbondedCutoffForce NonbondedCutoffForce framework/forces/NonbondedCutoffForce.h /^ class NonbondedCutoffForce: public TForce, private NonbondedCutoffForceBase {$/;" c namespace:ProtoMol NonbondedCutoffForceBase framework/forces/NonbondedCutoffForceBase.h /^ class NonbondedCutoffForceBase {$/;" c namespace:ProtoMol NonbondedCutoffMollyForce framework/forces/NonbondedCutoffMollyForce.h /^ NonbondedCutoffMollyForce():NonbondedCutoffForce(){}$/;" f class:ProtoMol::NonbondedCutoffMollyForce NonbondedCutoffMollyForce framework/forces/NonbondedCutoffMollyForce.h /^ NonbondedCutoffMollyForce(Real cutoff, TOneAtomPair oneAtomPair) : NonbondedCutoffForce(cutoff,oneAtomPair) {}$/;" f class:ProtoMol::NonbondedCutoffMollyForce NonbondedCutoffMollyForce framework/forces/NonbondedCutoffMollyForce.h /^ class NonbondedCutoffMollyForce: public NonbondedCutoffForce > {$/;" c namespace:ProtoMol NonbondedCutoffSystemForce framework/forces/NonbondedCutoffSystemForce.h /^ NonbondedCutoffSystemForce() : $/;" f class:ProtoMol::NonbondedCutoffSystemForce NonbondedCutoffSystemForce framework/forces/NonbondedCutoffSystemForce.h /^ NonbondedCutoffSystemForce(Real cutoff, TOneAtomPair oneAtomPair) : $/;" f class:ProtoMol::NonbondedCutoffSystemForce NonbondedCutoffSystemForce framework/forces/NonbondedCutoffSystemForce.h /^ class NonbondedCutoffSystemForce: public NonbondedCutoffForce > {$/;" c namespace:ProtoMol NonbondedFullEwaldSystemForce framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::NonbondedFullEwaldSystemForce() $/;" f class:ProtoMol::NonbondedFullEwaldSystemForce NonbondedFullEwaldSystemForce framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::NonbondedFullEwaldSystemForce(Real alpha, Real accuracy, Real expansionFactor)$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce NonbondedFullEwaldSystemForce framework/forces/NonbondedFullEwaldSystemForce.h /^ class NonbondedFullEwaldSystemForce: public SystemForce, private NonbondedFullEwaldSystemForceBase {$/;" c namespace:ProtoMol NonbondedFullEwaldSystemForceBase framework/forces/NonbondedFullEwaldSystemForceBase.h /^ class NonbondedFullEwaldSystemForceBase {$/;" c namespace:ProtoMol NonbondedFullSystemForce framework/forces/NonbondedFullSystemForce.h /^ NonbondedFullSystemForce(): SystemForce(),myCutoff(0.0),myBlockSize(0){};$/;" f class:ProtoMol::NonbondedFullSystemForce NonbondedFullSystemForce framework/forces/NonbondedFullSystemForce.h /^ NonbondedFullSystemForce(Real cutoff, TOneAtomPair oneAtomPair, unsigned int blockSize = defaultBlockSize) :$/;" f class:ProtoMol::NonbondedFullSystemForce NonbondedFullSystemForce framework/forces/NonbondedFullSystemForce.h /^ class NonbondedFullSystemForce: public SystemForce, private NonbondedFullSystemForceBase {$/;" c namespace:ProtoMol NonbondedFullSystemForceBase framework/forces/NonbondedFullSystemForceBase.h /^ class NonbondedFullSystemForceBase {$/;" c namespace:ProtoMol NonbondedMultiGridSystemForce framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::NonbondedMultiGridSystemForce() : $/;" f class:ProtoMol::NonbondedMultiGridSystemForce NonbondedMultiGridSystemForce framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::NonbondedMultiGridSystemForce(unsigned int nx, $/;" f class:ProtoMol::NonbondedMultiGridSystemForce NonbondedMultiGridSystemForce framework/forces/NonbondedMultiGridSystemForce.h /^ class NonbondedMultiGridSystemForce: public SystemForce, private NonbondedMultiGridSystemForceBase {$/;" c namespace:ProtoMol NonbondedMultiGridSystemForceBase framework/forces/NonbondedMultiGridSystemForceBase.h /^ class NonbondedMultiGridSystemForceBase {$/;" c namespace:ProtoMol NonbondedPMEwaldSystemForce framework/forces/NonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::NonbondedPMEwaldSystemForce() : SystemForce(),myCached(false),myExpansionFactor(3.0),myTRate(0.0),myAccuracy(0.0),myAlpha(-1.0),myAlphaDefault(true),myRc(0.0),myKc(0.0),myV(-1.0),myNX(0),myNY(0),myNZ(0),myInterOrder(0) {$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce NonbondedPMEwaldSystemForce framework/forces/NonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::NonbondedPMEwaldSystemForce(unsigned int nx, unsigned int ny, unsigned int nz, unsigned int order, Real cutoff, Real accuracy, Real alpha, Real expansionFactor) : SystemForce(),myCached(false),myExpansionFactor(expansionFactor),myTRate(0.0),myAccuracy(accuracy),myAlpha(alpha),myAlphaDefault(alpha<= 0.0),myRc(cutoff),myKc(0.0),myV(-1.0),myNX(nx),myNY(ny),myNZ(nz),myInterOrder(order){$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce NonbondedPMEwaldSystemForce framework/forces/NonbondedPMEwaldSystemForce.h /^ class NonbondedPMEwaldSystemForce: public SystemForce, private NonbondedPMEwaldSystemForceBase {$/;" c namespace:ProtoMol NonbondedPMEwaldSystemForceBase framework/forces/NonbondedPMEwaldSystemForceBase.h /^ class NonbondedPMEwaldSystemForceBase {$/;" c namespace:ProtoMol NonbondedSimpleFullSystemForce framework/forces/NonbondedSimpleFullSystemForce.h /^ NonbondedSimpleFullSystemForce(): SystemForce(),myBlockSize(0),myCached(false){}; $/;" f class:ProtoMol::NonbondedSimpleFullSystemForce NonbondedSimpleFullSystemForce framework/forces/NonbondedSimpleFullSystemForce.h /^ NonbondedSimpleFullSystemForce(TOneAtomPair oneAtomPair, unsigned int blockSize = defaultBlockSize) : $/;" f class:ProtoMol::NonbondedSimpleFullSystemForce NonbondedSimpleFullSystemForce framework/forces/NonbondedSimpleFullSystemForce.h /^ class NonbondedSimpleFullSystemForce: public SystemForce, private NonbondedSimpleFullSystemForceBase {$/;" c namespace:ProtoMol NonbondedSimpleFullSystemForceBase framework/forces/NonbondedSimpleFullSystemForceBase.h /^ class NonbondedSimpleFullSystemForceBase {$/;" c namespace:ProtoMol NoseNVTLeapfrogIntegrator framework/integrators/NoseNVTLeapfrogIntegrator.cpp /^ NoseNVTLeapfrogIntegrator::NoseNVTLeapfrogIntegrator(): STSIntegrator(),$/;" f class:ProtoMol::NoseNVTLeapfrogIntegrator NoseNVTLeapfrogIntegrator framework/integrators/NoseNVTLeapfrogIntegrator.cpp /^ NoseNVTLeapfrogIntegrator::NoseNVTLeapfrogIntegrator(Real timestep,$/;" f class:ProtoMol::NoseNVTLeapfrogIntegrator NoseNVTLeapfrogIntegrator framework/integrators/NoseNVTLeapfrogIntegrator.h /^ class NoseNVTLeapfrogIntegrator : public STSIntegrator {$/;" c namespace:ProtoMol NotEmpty framework/base/ConstraintValueType.h /^ typedef Enum2Type NotEmpty;$/;" t class:ProtoMol::ConstraintValueEnum NotNegative framework/base/ConstraintValueType.h /^ typedef Enum2Type NotNegative;$/;" t class:ProtoMol::ConstraintValueEnum NotPositive framework/base/ConstraintValueType.h /^ typedef Enum2Type NotPositive;$/;" t class:ProtoMol::ConstraintValueEnum NotSameMoleculeConstraint framework/forces/oneAtomContraints.h /^ struct NotSameMoleculeConstraint {$/;" s namespace:ProtoMol NotZero framework/base/ConstraintValueType.h /^ typedef Enum2Type NotZero;$/;" t class:ProtoMol::ConstraintValueEnum NumAtoms applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ unsigned int NumAtoms; \/\/ Total # of atoms in the system.$/;" m class:ProtoMol::iSGIntegrator NumAtoms framework/integrators/NPTVerletIntegrator.h /^ unsigned int NumAtoms; \/\/ Total # of atoms in the system.$/;" m class:ProtoMol::NPTVerletIntegrator NumAtoms framework/integrators/NVTVerletIntegrator.h /^ unsigned int NumAtoms; \/\/ Total # of atoms in the system.$/;" m class:ProtoMol::NVTVerletIntegrator NumMols applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ unsigned int NumMols; \/\/ Total # of molecules in the system$/;" m class:ProtoMol::iSGIntegrator NumTransSteps applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ unsigned int NumTransSteps; \/\/ The # of timesteps it took to complete the transformation$/;" m class:ProtoMol::iSGIntegrator NumberOfStages applications/iSGProtomol-app/base/TRANS.h /^ unsigned int NumberOfStages;$/;" m class:ProtoMol::TRANS OBJECTDEFINITION_H framework/base/ObjectDefinition.h 3;" d ONE2 framework/topology/ExclusionType.h /^ ONE2, \/\/\/< exclude 1. neighbors$/;" e enum:ProtoMol::ExclusionEnum::Enum ONE3 framework/topology/ExclusionType.h /^ ONE3, \/\/\/< exclude 1. and 2. neighbors$/;" e enum:ProtoMol::ExclusionEnum::Enum ONE4 framework/topology/ExclusionType.h /^ ONE4, \/\/\/< exclude 1., 2. and 3. neighbors$/;" e enum:ProtoMol::ExclusionEnum::Enum ONE4MODIFIED framework/topology/ExclusionType.h /^ ONE4MODIFIED, \/\/\/< exclude 1. and 2. and modify 3. neighbors$/;" e enum:ProtoMol::ExclusionEnum::Enum ONEATOMCONSTRAINTS_H framework/forces/oneAtomContraints.h 3;" d ONEATOMPAIRFULL_H framework/forces/OneAtomPairFull.h 3;" d ONEATOMPAIRTWOFULL_H framework/forces/OneAtomPairTwoFull.h 3;" d ONEATOMPAIRTWO_H framework/forces/OneAtomPairTwo.h 3;" d ONEATOMPAIR_H framework/forces/OneAtomPair.h 3;" d ONEMOLLYPAIRTWO_H framework/forces/OneMollyPairTwo.h 3;" d ONEMOLLYPAIR_H framework/forces/OneMollyPair.h 3;" d ONLY_WATER framework/topology/topologyutilities.h /^ enum waterOption {IGNORE_WATER, ONLY_WATER, ALL};$/;" e enum:ProtoMol::waterOption OPENGLUTILITIES_H applications/xyzviz-app/openglutilities.h 3;" d OTHER framework/base/ScalarStructure.h /^ OTHER,$/;" e enum:ProtoMol::ScalarStructure::Index OUTPUTCACHE_H framework/frontend/OutputCache.h 3;" d OUTPUTCOLLECTION_H framework/frontend/OutputCollection.h 3;" d OUTPUTDCDTRAJECTORY_H framework/frontend/OutputDCDTrajectory.h 3;" d OUTPUTDIFFUSION_H framework/frontend/OutputDiffusion.h 3;" d OUTPUTDIHEDRALS_H framework/frontend/OutputDihedrals.h 3;" d OUTPUTENERGIES_H framework/frontend/OutputEnergies.h 3;" d OUTPUTFACTORYDETAILS_H framework/frontend/OutputFactoryDetails.h 3;" d OUTPUTFACTORY_H framework/frontend/OutputFactory.h 3;" d OUTPUTFILE_H framework/frontend/OutputFile.h 3;" d OUTPUTFINALPDBPOS_H framework/frontend/OutputFinalPDBPos.h 3;" d OUTPUTFINALPSF_H applications/iSGProtomol-app/frontend/OutputFinalPSF.h 3;" d OUTPUTFINALXSC_H applications/iSGProtomol-app/frontend/OutputFinalXSC.h 3;" d OUTPUTFINALXYZBINPOS_H framework/frontend/OutputFinalXYZBinPos.h 3;" d OUTPUTFINALXYZBINVEL_H framework/frontend/OutputFinalXYZBinVel.h 3;" d OUTPUTFINALXYZPOS_H framework/frontend/OutputFinalXYZPos.h 3;" d OUTPUTFINALXYZVEL_H framework/frontend/OutputFinalXYZVel.h 3;" d OUTPUTISGPROPERTIES_H applications/iSGProtomol-app/frontend/OutputISGProperties.h 3;" d OUTPUTMOMENTUM_H framework/frontend/OutputMomentum.h 3;" d OUTPUTPAULTRAP_H framework/frontend/OutputPaulTrap.h 3;" d OUTPUTPDBFRAMEPOS_H framework/frontend/OutputPDBFramePos.h 3;" d OUTPUTSCREEN_H framework/frontend/OutputScreen.h 3;" d OUTPUTTEMPERATURES_H framework/frontend/OutputTemperatures.h 3;" d OUTPUTXYZTRAJECTORYFORCE_H framework/frontend/OutputXYZTrajectoryForce.h 3;" d OUTPUTXYZTRAJECTORYPOS_H framework/frontend/OutputXYZTrajectoryPos.h 3;" d OUTPUTXYZTRAJECTORYVEL_H framework/frontend/OutputXYZTrajectoryVel.h 3;" d OUTPUT_H framework/frontend/Output.h 3;" d ObjectDefinition framework/base/ObjectDefinition.h /^ ObjectDefinition(){}$/;" f struct:ProtoMol::ObjectDefinition ObjectDefinition framework/base/ObjectDefinition.h /^ ObjectDefinition(const std::string& i,const std::vector& p):id(i),parameters(p){}$/;" f struct:ProtoMol::ObjectDefinition ObjectDefinition framework/base/ObjectDefinition.h /^ struct ObjectDefinition {$/;" s namespace:ProtoMol OldType applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ unsigned int OldType; \/\/ The type of molecule being transformed$/;" m class:ProtoMol::iSGIntegrator OneAtomPair framework/forces/OneAtomPair.h /^ OneAtomPair(): switchingFunction(), nonbondedForceFunction(){};$/;" f class:ProtoMol::OneAtomPair OneAtomPair framework/forces/OneAtomPair.h /^ OneAtomPair(TNonbondedForce nF,$/;" f class:ProtoMol::OneAtomPair OneAtomPair framework/forces/OneAtomPair.h /^ class OneAtomPair {$/;" c namespace:ProtoMol OneAtomPairFull framework/forces/OneAtomPairFull.h /^ OneAtomPairFull(): switchingFunction(), nonbondedForceFunction(){};$/;" f class:ProtoMol::OneAtomPairFull OneAtomPairFull framework/forces/OneAtomPairFull.h /^ OneAtomPairFull(TNonbondedForce nF,$/;" f class:ProtoMol::OneAtomPairFull OneAtomPairFull framework/forces/OneAtomPairFull.h /^ class OneAtomPairFull {$/;" c namespace:ProtoMol OneAtomPairTwo framework/forces/OneAtomPairTwo.h /^ OneAtomPairTwo(){}$/;" f class:ProtoMol::OneAtomPairTwo OneAtomPairTwo framework/forces/OneAtomPairTwo.h /^ OneAtomPairTwo(TNonbondedForceFirst f1, $/;" f class:ProtoMol::OneAtomPairTwo OneAtomPairTwo framework/forces/OneAtomPairTwo.h /^ class OneAtomPairTwo {$/;" c namespace:ProtoMol OneAtomPairTwoFull framework/forces/OneAtomPairTwoFull.h /^ OneAtomPairTwoFull(){}$/;" f class:ProtoMol::OneAtomPairTwoFull OneAtomPairTwoFull framework/forces/OneAtomPairTwoFull.h /^ OneAtomPairTwoFull(TNonbondedForceFirst f1, $/;" f class:ProtoMol::OneAtomPairTwoFull OneAtomPairTwoFull framework/forces/OneAtomPairTwoFull.h /^ class OneAtomPairTwoFull {$/;" c namespace:ProtoMol OneMollyPair framework/forces/OneMollyPair.h /^ OneMollyPair(): switchingFunction(), nonbondedForceFunction(){};$/;" f class:ProtoMol::OneMollyPair OneMollyPair framework/forces/OneMollyPair.h /^ OneMollyPair(TNonbondedForce nF,$/;" f class:ProtoMol::OneMollyPair OneMollyPair framework/forces/OneMollyPair.h /^ class OneMollyPair {$/;" c namespace:ProtoMol OneMollyPairTwo framework/forces/OneMollyPairTwo.h /^ OneMollyPairTwo(){}$/;" f class:ProtoMol::OneMollyPairTwo OneMollyPairTwo framework/forces/OneMollyPairTwo.h /^ OneMollyPairTwo(TNonbondedForceFirst f1, $/;" f class:ProtoMol::OneMollyPairTwo OneMollyPairTwo framework/forces/OneMollyPairTwo.h /^ class OneMollyPairTwo {$/;" c namespace:ProtoMol Opaque applications/xyzviz-app/xyzviz.cpp /^ Opaque():i(0),x(0.0),y(0.0),z(0.0),o(0.0){}$/;" f struct:Opaque Opaque applications/xyzviz-app/xyzviz.cpp /^ Opaque(int a, Vector3D b, double c):i(a),x(b.x),y(b.y),z(b.z),o(c){}$/;" f struct:Opaque Opaque applications/xyzviz-app/xyzviz.cpp /^struct Opaque {$/;" s file: Output framework/frontend/Output.cpp /^ Output::Output(int freq):Makeable(),$/;" f class:ProtoMol::Output Output framework/frontend/Output.cpp /^ Output::Output():Makeable(),$/;" f class:ProtoMol::Output Output framework/frontend/Output.h /^ class Output : public Makeable {$/;" c namespace:ProtoMol OutputCache framework/frontend/OutputCache.cpp /^ OutputCache::OutputCache():myConfig(NULL), $/;" f class:ProtoMol::OutputCache OutputCache framework/frontend/OutputCache.h /^ class OutputCache {$/;" c namespace:ProtoMol OutputCollection framework/frontend/OutputCollection.cpp /^ OutputCollection::OutputCollection():myCache(new OutputCache()),$/;" f class:ProtoMol::OutputCollection OutputCollection framework/frontend/OutputCollection.h /^ class OutputCollection {$/;" c namespace:ProtoMol OutputDCDTrajectory framework/frontend/OutputDCDTrajectory.cpp /^ OutputDCDTrajectory::OutputDCDTrajectory():Output(),myDCD(NULL){}$/;" f class:ProtoMol::OutputDCDTrajectory OutputDCDTrajectory framework/frontend/OutputDCDTrajectory.cpp /^ OutputDCDTrajectory::OutputDCDTrajectory(const string& filename, int freq):Output(freq),myDCD(new DCDTrajectoryWriter(filename)){}$/;" f class:ProtoMol::OutputDCDTrajectory OutputDCDTrajectory framework/frontend/OutputDCDTrajectory.h /^ class OutputDCDTrajectory : public Output {$/;" c namespace:ProtoMol OutputDiffusion framework/frontend/OutputDiffusion.cpp /^ OutputDiffusion::OutputDiffusion(): OutputFile(){}$/;" f class:ProtoMol::OutputDiffusion OutputDiffusion framework/frontend/OutputDiffusion.cpp /^ OutputDiffusion::OutputDiffusion(const string& filename, int freq): OutputFile(filename,freq){}$/;" f class:ProtoMol::OutputDiffusion OutputDiffusion framework/frontend/OutputDiffusion.h /^ class OutputDiffusion : public OutputFile {$/;" c namespace:ProtoMol OutputDihedrals framework/frontend/OutputDihedrals.cpp /^ OutputDihedrals::OutputDihedrals(): OutputFile(),$/;" f class:ProtoMol::OutputDihedrals OutputDihedrals framework/frontend/OutputDihedrals.cpp /^ OutputDihedrals::OutputDihedrals(const string& filename, int freq, int index, bool dihset, std::string dsetfile):$/;" f class:ProtoMol::OutputDihedrals OutputDihedrals framework/frontend/OutputDihedrals.h /^ class OutputDihedrals : public OutputFile {$/;" c namespace:ProtoMol OutputEnergies framework/frontend/OutputEnergies.cpp /^ OutputEnergies::OutputEnergies():OutputFile(),myDoMolecularTemperature(false),myDoShadow(false){}$/;" f class:ProtoMol::OutputEnergies OutputEnergies framework/frontend/OutputEnergies.cpp /^ OutputEnergies::OutputEnergies(const string& filename, int freq, bool doMolTemp, bool doShadow):OutputFile(filename,freq),myDoMolecularTemperature(doMolTemp),myDoShadow(doShadow){}$/;" f class:ProtoMol::OutputEnergies OutputEnergies framework/frontend/OutputEnergies.h /^ class OutputEnergies : public OutputFile {$/;" c namespace:ProtoMol OutputFactory framework/frontend/OutputFactory.h /^ typedef Factory OutputFactory;$/;" t namespace:ProtoMol OutputFactoryDetails framework/frontend/OutputFactoryDetails.cpp /^ OutputFactoryDetails::OutputFactoryDetails():FactoryBase(){$/;" f class:ProtoMol::OutputFactoryDetails OutputFactoryDetails framework/frontend/OutputFactoryDetails.cpp /^ OutputFactoryDetails::OutputFactoryDetails(const OutputFactoryDetails&){}$/;" f class:ProtoMol::OutputFactoryDetails OutputFactoryDetails framework/frontend/OutputFactoryDetails.h /^ class OutputFactoryDetails : public FactoryBase {$/;" c namespace:ProtoMol OutputFile framework/frontend/OutputFile.cpp /^ OutputFile::OutputFile():Output(),myFilename(""){}$/;" f class:ProtoMol::OutputFile OutputFile framework/frontend/OutputFile.cpp /^ OutputFile::OutputFile(const string& filename, int freq):Output(freq),myFilename(filename){}$/;" f class:ProtoMol::OutputFile OutputFile framework/frontend/OutputFile.h /^ class OutputFile : public Output {$/;" c namespace:ProtoMol OutputFinalPDBPos framework/frontend/OutputFinalPDBPos.cpp /^ OutputFinalPDBPos::OutputFinalPDBPos():Output(1),myFilename(""){}$/;" f class:ProtoMol::OutputFinalPDBPos OutputFinalPDBPos framework/frontend/OutputFinalPDBPos.cpp /^ OutputFinalPDBPos::OutputFinalPDBPos(const string& filename):Output(1),myFilename(filename){}$/;" f class:ProtoMol::OutputFinalPDBPos OutputFinalPDBPos framework/frontend/OutputFinalPDBPos.h /^ class OutputFinalPDBPos : public Output {$/;" c namespace:ProtoMol OutputFinalPSF applications/iSGProtomol-app/frontend/OutputFinalPSF.cpp /^ OutputFinalPSF::OutputFinalPSF():Output(1),myFilename(""){}$/;" f class:ProtoMol::OutputFinalPSF OutputFinalPSF applications/iSGProtomol-app/frontend/OutputFinalPSF.cpp /^ OutputFinalPSF::OutputFinalPSF(const string& filename):Output(1),myFilename(filename){}$/;" f class:ProtoMol::OutputFinalPSF OutputFinalPSF applications/iSGProtomol-app/frontend/OutputFinalPSF.h /^ class OutputFinalPSF : public Output {$/;" c namespace:ProtoMol OutputFinalXSC applications/iSGProtomol-app/frontend/OutputFinalXSC.cpp /^ OutputFinalXSC::OutputFinalXSC():Output(1),myFilename(""){}$/;" f class:ProtoMol::OutputFinalXSC OutputFinalXSC applications/iSGProtomol-app/frontend/OutputFinalXSC.cpp /^ OutputFinalXSC::OutputFinalXSC(const string& filename):Output(1),myFilename(filename){}$/;" f class:ProtoMol::OutputFinalXSC OutputFinalXSC applications/iSGProtomol-app/frontend/OutputFinalXSC.h /^ class OutputFinalXSC : public Output {$/;" c namespace:ProtoMol OutputFinalXYZBinPos framework/frontend/OutputFinalXYZBinPos.cpp /^ OutputFinalXYZBinPos::OutputFinalXYZBinPos():Output(1),myFilename(""){}$/;" f class:ProtoMol::OutputFinalXYZBinPos OutputFinalXYZBinPos framework/frontend/OutputFinalXYZBinPos.cpp /^ OutputFinalXYZBinPos::OutputFinalXYZBinPos(const string& filename):Output(1),myFilename(filename){}$/;" f class:ProtoMol::OutputFinalXYZBinPos OutputFinalXYZBinPos framework/frontend/OutputFinalXYZBinPos.h /^ class OutputFinalXYZBinPos : public Output {$/;" c namespace:ProtoMol OutputFinalXYZBinVel framework/frontend/OutputFinalXYZBinVel.cpp /^ OutputFinalXYZBinVel::OutputFinalXYZBinVel():Output(1),myFilename(""){}$/;" f class:ProtoMol::OutputFinalXYZBinVel OutputFinalXYZBinVel framework/frontend/OutputFinalXYZBinVel.cpp /^ OutputFinalXYZBinVel::OutputFinalXYZBinVel(const string& filename):Output(1),myFilename(filename){}$/;" f class:ProtoMol::OutputFinalXYZBinVel OutputFinalXYZBinVel framework/frontend/OutputFinalXYZBinVel.h /^ class OutputFinalXYZBinVel : public Output {$/;" c namespace:ProtoMol OutputFinalXYZPos framework/frontend/OutputFinalXYZPos.cpp /^ OutputFinalXYZPos::OutputFinalXYZPos():Output(1),myFilename(""){}$/;" f class:ProtoMol::OutputFinalXYZPos OutputFinalXYZPos framework/frontend/OutputFinalXYZPos.cpp /^ OutputFinalXYZPos::OutputFinalXYZPos(const string& filename):Output(1),myFilename(filename){}$/;" f class:ProtoMol::OutputFinalXYZPos OutputFinalXYZPos framework/frontend/OutputFinalXYZPos.h /^ class OutputFinalXYZPos : public Output {$/;" c namespace:ProtoMol OutputFinalXYZVel framework/frontend/OutputFinalXYZVel.cpp /^ OutputFinalXYZVel::OutputFinalXYZVel():Output(1),myFilename(""){}$/;" f class:ProtoMol::OutputFinalXYZVel OutputFinalXYZVel framework/frontend/OutputFinalXYZVel.cpp /^ OutputFinalXYZVel::OutputFinalXYZVel(const string& filename):Output(1),myFilename(filename){}$/;" f class:ProtoMol::OutputFinalXYZVel OutputFinalXYZVel framework/frontend/OutputFinalXYZVel.h /^ class OutputFinalXYZVel : public Output {$/;" c namespace:ProtoMol OutputISGProperties applications/iSGProtomol-app/frontend/OutputISGProperties.cpp /^ OutputISGProperties::OutputISGProperties():OutputFile(),myDoMolecularTemperature(true){}$/;" f class:ProtoMol::OutputISGProperties OutputISGProperties applications/iSGProtomol-app/frontend/OutputISGProperties.cpp /^ OutputISGProperties::OutputISGProperties(const string& filename, int freq, bool doMolTemp):OutputFile(filename,freq),myDoMolecularTemperature(doMolTemp){}$/;" f class:ProtoMol::OutputISGProperties OutputISGProperties applications/iSGProtomol-app/frontend/OutputISGProperties.h /^ class OutputISGProperties : public OutputFile {$/;" c namespace:ProtoMol OutputMomentum framework/frontend/OutputMomentum.cpp /^ OutputMomentum::OutputMomentum(): OutputFile(){}$/;" f class:ProtoMol::OutputMomentum OutputMomentum framework/frontend/OutputMomentum.cpp /^ OutputMomentum::OutputMomentum(const string& filename, int freq): OutputFile(filename,freq){}$/;" f class:ProtoMol::OutputMomentum OutputMomentum framework/frontend/OutputMomentum.h /^ class OutputMomentum : public OutputFile {$/;" c namespace:ProtoMol OutputPDBFramePos framework/frontend/OutputPDBFramePos.cpp /^ OutputPDBFramePos::OutputPDBFramePos():Output(),myFilename(""){}$/;" f class:ProtoMol::OutputPDBFramePos OutputPDBFramePos framework/frontend/OutputPDBFramePos.cpp /^ OutputPDBFramePos::OutputPDBFramePos(const string& filename, int freq):Output(freq),myFilename(filename){}$/;" f class:ProtoMol::OutputPDBFramePos OutputPDBFramePos framework/frontend/OutputPDBFramePos.h /^ class OutputPDBFramePos : public Output {$/;" c namespace:ProtoMol OutputPaulTrap framework/frontend/OutputPaulTrap.cpp /^ OutputPaulTrap::OutputPaulTrap()$/;" f class:ProtoMol::OutputPaulTrap OutputPaulTrap framework/frontend/OutputPaulTrap.cpp /^ OutputPaulTrap::OutputPaulTrap(const string& filename, int freq, Real omegar, Real omegaz, const string& filenameLow, bool doLow, unsigned int cacheCount, bool screen)$/;" f class:ProtoMol::OutputPaulTrap OutputPaulTrap framework/frontend/OutputPaulTrap.h /^ class OutputPaulTrap : public OutputFile {$/;" c namespace:ProtoMol OutputScreen framework/frontend/OutputScreen.cpp /^ OutputScreen::OutputScreen():Output(),myUnit("fs"),myFactor(1.0){}$/;" f class:ProtoMol::OutputScreen OutputScreen framework/frontend/OutputScreen.cpp /^ OutputScreen::OutputScreen(int freq):Output(freq),myUnit("fs"),myFactor(1.0){}$/;" f class:ProtoMol::OutputScreen OutputScreen framework/frontend/OutputScreen.h /^ class OutputScreen : public Output {$/;" c namespace:ProtoMol OutputTemperatures framework/frontend/OutputTemperatures.cpp /^ OutputTemperatures::OutputTemperatures():OutputFile(), mySeparateWater(true){}$/;" f class:ProtoMol::OutputTemperatures OutputTemperatures framework/frontend/OutputTemperatures.cpp /^ OutputTemperatures::OutputTemperatures(const string& filename, int freq, bool separateWater):OutputFile(filename,freq), mySeparateWater(separateWater){}$/;" f class:ProtoMol::OutputTemperatures OutputTemperatures framework/frontend/OutputTemperatures.h /^ class OutputTemperatures : public OutputFile {$/;" c namespace:ProtoMol OutputXYZTrajectoryForce framework/frontend/OutputXYZTrajectoryForce.cpp /^ OutputXYZTrajectoryForce::OutputXYZTrajectoryForce():Output(),myXYZ(){}$/;" f class:ProtoMol::OutputXYZTrajectoryForce OutputXYZTrajectoryForce framework/frontend/OutputXYZTrajectoryForce.cpp /^ OutputXYZTrajectoryForce::OutputXYZTrajectoryForce(const string& filename, int freq):Output(freq),myXYZ(new XYZTrajectoryWriter(filename)){}$/;" f class:ProtoMol::OutputXYZTrajectoryForce OutputXYZTrajectoryForce framework/frontend/OutputXYZTrajectoryForce.h /^ class OutputXYZTrajectoryForce : public Output {$/;" c namespace:ProtoMol OutputXYZTrajectoryPos framework/frontend/OutputXYZTrajectoryPos.cpp /^ OutputXYZTrajectoryPos::OutputXYZTrajectoryPos():Output(),myXYZ(){}$/;" f class:ProtoMol::OutputXYZTrajectoryPos OutputXYZTrajectoryPos framework/frontend/OutputXYZTrajectoryPos.cpp /^ OutputXYZTrajectoryPos::OutputXYZTrajectoryPos(const string& filename, int freq):Output(freq),myXYZ(new XYZTrajectoryWriter(filename)){}$/;" f class:ProtoMol::OutputXYZTrajectoryPos OutputXYZTrajectoryPos framework/frontend/OutputXYZTrajectoryPos.h /^ class OutputXYZTrajectoryPos : public Output {$/;" c namespace:ProtoMol OutputXYZTrajectoryVel framework/frontend/OutputXYZTrajectoryVel.cpp /^ OutputXYZTrajectoryVel::OutputXYZTrajectoryVel():Output(),myXYZ(){}$/;" f class:ProtoMol::OutputXYZTrajectoryVel OutputXYZTrajectoryVel framework/frontend/OutputXYZTrajectoryVel.cpp /^ OutputXYZTrajectoryVel::OutputXYZTrajectoryVel(const string& filename, int freq):Output(freq),myXYZ(new XYZTrajectoryWriter(filename)){}$/;" f class:ProtoMol::OutputXYZTrajectoryVel OutputXYZTrajectoryVel framework/frontend/OutputXYZTrajectoryVel.h /^ class OutputXYZTrajectoryVel : public Output {$/;" c namespace:ProtoMol PACKAGE protomol_config.h 114;" d PACKAGE protomol_config_windows.h 10;" d PACKAGE_BUGREPORT protomol_config.h 117;" d PACKAGE_BUGREPORT protomol_config_windows.h 13;" d PACKAGE_CITE protomol_config.h 120;" d PACKAGE_CITE protomol_config_windows.h 16;" d PACKAGE_COMPILER protomol_config.h 123;" d PACKAGE_COMPILER protomol_config_windows.h 19;" d PACKAGE_COMPILER_VERSION protomol_config.h 126;" d PACKAGE_COMPILER_VERSION protomol_config_windows.h 22;" d PACKAGE_HOMEPAGE protomol_config.h 129;" d PACKAGE_HOMEPAGE protomol_config_windows.h 25;" d PACKAGE_NAME protomol_config.h 132;" d PACKAGE_NAME protomol_config_windows.h 28;" d PACKAGE_STRING protomol_config.h 135;" d PACKAGE_STRING protomol_config_windows.h 31;" d PACKAGE_TARNAME protomol_config.h 138;" d PACKAGE_TARNAME protomol_config_windows.h 34;" d PACKAGE_UNAME protomol_config.h 141;" d PACKAGE_UNAME protomol_config_windows.h 37;" d PACKAGE_VERSION protomol_config.h 144;" d PACKAGE_VERSION protomol_config_windows.h 40;" d PACKAGE_WHOAMI protomol_config.h 147;" d PACKAGE_WHOAMI protomol_config_windows.h 43;" d PAR framework/base/PAR.h /^ class PAR{$/;" c namespace:ProtoMol PARALLELTYPE_H framework/parallel/ParallelType.h 3;" d PARALLEL_H framework/parallel/Parallel.h 3;" d PARAMETER_H framework/base/Parameter.h 3;" d PARREADER_H framework/io/PARReader.h 3;" d PARReader framework/io/PARReader.cpp /^ PARReader::PARReader(PAR::CharmmTypeEnum charmmType):$/;" f class:ProtoMol::PARReader PARReader framework/io/PARReader.cpp /^ PARReader::PARReader(const char* filename, PAR::CharmmTypeEnum charmmType):$/;" f class:ProtoMol::PARReader PARReader framework/io/PARReader.cpp /^ PARReader::PARReader(const std::string& filename, PAR::CharmmTypeEnum charmmType):$/;" f class:ProtoMol::PARReader PARReader framework/io/PARReader.h /^ class PARReader : public Reader {$/;" c namespace:ProtoMol PARRecordTypeEnum applications/iSGProtomol-app/io/iSGPARReader.h /^ enum PARRecordTypeEnum {$/;" g class:ProtoMol::iSGPARReader PARRecordTypeEnum framework/io/PARReader.h /^ enum PARRecordTypeEnum {$/;" g class:ProtoMol::PARReader PARSECOMMANDLINE_H framework/frontend/parseCommandLine.h 3;" d PARWRITER_H framework/io/PARWriter.h 3;" d PARWriter framework/io/PARWriter.cpp /^ PARWriter::PARWriter(PAR::CharmmTypeEnum charmmType):$/;" f class:ProtoMol::PARWriter PARWriter framework/io/PARWriter.cpp /^ PARWriter::PARWriter(const char* filename, PAR::CharmmTypeEnum charmmType):$/;" f class:ProtoMol::PARWriter PARWriter framework/io/PARWriter.cpp /^ PARWriter::PARWriter(const string& filename, PAR::CharmmTypeEnum charmmType):$/;" f class:ProtoMol::PARWriter PARWriter framework/io/PARWriter.h /^ class PARWriter : public Writer {$/;" c namespace:ProtoMol PAR_H framework/base/PAR.h 3;" d PATHSEP framework/base/systemutilities.cpp 10;" d file: PATHSEP framework/base/systemutilities.cpp 23;" d file: PATHSEPSTR framework/base/systemutilities.cpp 11;" d file: PATHSEPSTR framework/base/systemutilities.cpp 24;" d file: PAULTRAPEXTENDEDFORCEBASE_H framework/forces/PaulTrapExtendedForceBase.h 3;" d PAULTRAPEXTENDEDFORCE_H framework/forces/PaulTrapExtendedForce.h 3;" d PAULTRAPINTEGRATOR_H framework/integrators/PaulTrapIntegrator.h 3;" d PDB applications/coords2coords-app/coords2coords.cpp /^ PDB,$/;" e enum:Format::Type file: PDB framework/base/PDB.h /^ PDB(){};$/;" f struct:ProtoMol::PDB PDB framework/base/PDB.h /^ PDB(size_t n):coords(n,Vector3D(0.0,0.0,0.0)),atoms(n){}$/;" f struct:ProtoMol::PDB PDB framework/base/PDB.h /^ struct PDB {$/;" s namespace:ProtoMol PDB framework/frontend/InputPosVelType.h /^ PDB,$/;" e enum:ProtoMol::InputPosVelEnum::Enum PDB tools/bccAnalyzer.cpp /^ PDB,$/;" e enum:Format::Type file: PDBAtom framework/base/PDB.cpp /^ PDB::PDBAtom::PDBAtom():elementType(""), $/;" f class:ProtoMol::PDB::PDBAtom PDBAtom framework/base/PDB.cpp /^ PDB::PDBAtom::PDBAtom(std::string etype, $/;" f class:ProtoMol::PDB::PDBAtom PDBAtom framework/base/PDB.h /^ struct PDBAtom{$/;" s struct:ProtoMol::PDB PDBREADER_H framework/io/PDBReader.h 3;" d PDBReader framework/io/PDBReader.cpp /^ PDBReader::PDBReader():$/;" f class:ProtoMol::PDBReader PDBReader framework/io/PDBReader.cpp /^ PDBReader::PDBReader(const std::string& filename):$/;" f class:ProtoMol::PDBReader PDBReader framework/io/PDBReader.h /^ class PDBReader : public Reader {$/;" c namespace:ProtoMol PDBVELSCALINGFACTOR framework/base/pmconstants.cpp /^ const Real PDBVELSCALINGFACTOR = 20.45482706;$/;" m namespace:ProtoMol::Constant file: PDBWRITER_H framework/io/PDBWriter.h 3;" d PDBWriter framework/io/PDBWriter.cpp /^ PDBWriter::PDBWriter():Writer(){}$/;" f class:ProtoMol::PDBWriter PDBWriter framework/io/PDBWriter.cpp /^ PDBWriter::PDBWriter(const std::string& filename):Writer(filename){}$/;" f class:ProtoMol::PDBWriter PDBWriter framework/io/PDBWriter.h /^ class PDBWriter : public Writer {$/;" c namespace:ProtoMol PDB_H framework/base/PDB.h 3;" d PERIODIC framework/topology/PeriodicBoundaryConditions.h /^ enum {PERIODIC = 1, VACUUM = 0};$/;" e enum:ProtoMol::PeriodicBoundaryConditions:: PERIODIC framework/topology/VacuumBoundaryConditions.h /^ enum {PERIODIC = 0, VACUUM = 1};$/;" e enum:ProtoMol::VacuumBoundaryConditions:: PERIODIC_BOUNDARY_TOLERANCE framework/base/pmconstants.cpp /^ const Real PERIODIC_BOUNDARY_TOLERANCE = 3.0;$/;" m namespace:ProtoMol::Constant file: PERODICBOUNDARYCONDITIONS_H framework/topology/PeriodicBoundaryConditions.h 3;" d PGM framework/base/PGM.cpp /^ PGM::PGM():w(0),h(0),p(NULL){$/;" f class:ProtoMol::PGM PGM framework/base/PGM.cpp /^ PGM::PGM(int x, int y):w(x),h(y),p(new unsigned char[x*y]){$/;" f class:ProtoMol::PGM PGM framework/base/PGM.h /^ class PGM{$/;" c namespace:ProtoMol PGMREADER_H framework/io/PGMReader.h 3;" d PGMReader framework/io/PGMReader.cpp /^ PGMReader::PGMReader():Reader(),myPGM(NULL){}$/;" f class:ProtoMol::PGMReader PGMReader framework/io/PGMReader.cpp /^ PGMReader::PGMReader(const std::string& filename):Reader(filename),myPGM(NULL){}$/;" f class:ProtoMol::PGMReader PGMReader framework/io/PGMReader.h /^ class PGMReader : public Reader {$/;" c namespace:ProtoMol PGMWRITER_H framework/io/PGMWriter.h 3;" d PGMWriter framework/io/PGMWriter.cpp /^ PGMWriter::PGMWriter():Writer(){}$/;" f class:ProtoMol::PGMWriter PGMWriter framework/io/PGMWriter.cpp /^ PGMWriter::PGMWriter(const std::string& filename):Writer(filename){}$/;" f class:ProtoMol::PGMWriter PGMWriter framework/io/PGMWriter.h /^ class PGMWriter : public Writer {$/;" c namespace:ProtoMol PGM_H framework/base/PGM.h 3;" d PLEAPFROGINTEGRATOR_H framework/integrators/PLeapfrogIntegrator.h 3;" d PLeapfrogIntegrator framework/integrators/PLeapfrogIntegrator.cpp /^ PLeapfrogIntegrator::PLeapfrogIntegrator() : STSIntegrator(),myTempForces(NULL) {}$/;" f class:ProtoMol::PLeapfrogIntegrator PLeapfrogIntegrator framework/integrators/PLeapfrogIntegrator.cpp /^ PLeapfrogIntegrator::PLeapfrogIntegrator(Real timestep,$/;" f class:ProtoMol::PLeapfrogIntegrator PLeapfrogIntegrator framework/integrators/PLeapfrogIntegrator.h /^ class PLeapfrogIntegrator : public STSIntegrator {$/;" c namespace:ProtoMol PNGWRITER_H framework/io/PNGWriter.h 3;" d PNGWriter framework/io/PNGWriter.cpp /^ PNGWriter::PNGWriter():Writer(){$/;" f class:ProtoMol::PNGWriter PNGWriter framework/io/PNGWriter.cpp /^ PNGWriter::PNGWriter(const std::string& filename):Writer(filename){$/;" f class:ProtoMol::PNGWriter PNGWriter framework/io/PNGWriter.h /^ class PNGWriter : public Writer {$/;" c namespace:ProtoMol POINT applications/xyzviz-app/xyzviz.cpp /^ POINT,$/;" e enum:POLYMODE file: POLYGON_MODE applications/xyzviz-app/xyzviz.cpp /^ POLYGON_MODE,$/;" e enum:MENU file: POLYMODE applications/xyzviz-app/xyzviz.cpp /^enum POLYMODE {FILL=0,$/;" g file: POSITIVE framework/base/ConstraintValueType.h /^ POSITIVE,$/;" e enum:ProtoMol::ConstraintValueEnum::Enum POST_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=0, POST_CHECK=0};$/;" e enum:ProtoMol::NoConstraint:: POST_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=0, POST_CHECK=1};$/;" e enum:ProtoMol::DebugPostConstraint:: POST_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=1, POST_CHECK=0};$/;" e enum:ProtoMol::DebugPreConstraint:: POST_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=1, POST_CHECK=0};$/;" e enum:ProtoMol::HBondConstraint:: POST_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=1, POST_CHECK=0};$/;" e enum:ProtoMol::NotSameMoleculeConstraint:: POST_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=1, POST_CHECK=0};$/;" e enum:ProtoMol::SameMoleculeConstraint:: PP framework/base/mathutilities.cpp /^ const Real PP = 0.3275911;$/;" m namespace:ProtoMol file: PPM compilerTests/pngTest.cpp /^PPM::PPM():w(0),h(0),p(NULL){}$/;" f class:PPM PPM compilerTests/pngTest.cpp /^PPM::PPM(int a, int b):w(a),h(b),p(new unsigned char[3*a*b]){$/;" f class:PPM PPM compilerTests/pngTest.cpp /^class PPM{$/;" c file: PPM framework/base/PPM.cpp /^ PPM::PPM():w(0),h(0),p(NULL){$/;" f class:ProtoMol::PPM PPM framework/base/PPM.cpp /^ PPM::PPM(int x, int y):w(x),h(y),p(new unsigned char[3*x*y]){$/;" f class:ProtoMol::PPM PPM framework/base/PPM.h /^ class PPM{$/;" c namespace:ProtoMol PPMREADER_H framework/io/PPMReader.h 3;" d PPMReader framework/io/PPMReader.cpp /^ PPMReader::PPMReader():Reader(),myPPM(NULL){}$/;" f class:ProtoMol::PPMReader PPMReader framework/io/PPMReader.cpp /^ PPMReader::PPMReader(const std::string& filename):Reader(filename),myPPM(NULL){}$/;" f class:ProtoMol::PPMReader PPMReader framework/io/PPMReader.h /^ class PPMReader : public Reader {$/;" c namespace:ProtoMol PPMWRITER_H framework/io/PPMWriter.h 3;" d PPMWriter framework/io/PPMWriter.cpp /^ PPMWriter::PPMWriter():Writer(){}$/;" f class:ProtoMol::PPMWriter PPMWriter framework/io/PPMWriter.cpp /^ PPMWriter::PPMWriter(const std::string& filename):Writer(filename){}$/;" f class:ProtoMol::PPMWriter PPMWriter framework/io/PPMWriter.h /^ class PPMWriter : public Writer {$/;" c namespace:ProtoMol PPM_H framework/base/PPM.h 3;" d PRESSUREFACTOR framework/base/pmconstants.cpp /^ const Real PRESSUREFACTOR = 69478.0593635551;\/\/ ENERGY_TO_SI\/(LENGTH_TO_SI*LENGTH_TO_SI*LENGTH_TO_SI)*1e-5; \/\/ bar$/;" m namespace:ProtoMol::Constant file: PRE_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=0, POST_CHECK=0};$/;" e enum:ProtoMol::NoConstraint:: PRE_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=0, POST_CHECK=1};$/;" e enum:ProtoMol::DebugPostConstraint:: PRE_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=1, POST_CHECK=0};$/;" e enum:ProtoMol::DebugPreConstraint:: PRE_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=1, POST_CHECK=0};$/;" e enum:ProtoMol::HBondConstraint:: PRE_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=1, POST_CHECK=0};$/;" e enum:ProtoMol::NotSameMoleculeConstraint:: PRE_CHECK framework/forces/oneAtomContraints.h /^ enum {PRE_CHECK=1, POST_CHECK=0};$/;" e enum:ProtoMol::SameMoleculeConstraint:: PRINTMAXWIDTH framework/base/pmconstants.cpp /^ const unsigned int PRINTMAXWIDTH = 22;$/;" m namespace:ProtoMol::Constant file: PRINT_BUFFER applications/xyzviz-app/xyzviz.cpp /^ PRINT_BUFFER=0,$/;" e enum:MENU file: PROTOMOL_H framework/base/protomol.h 3;" d PROXY_H framework/base/Proxy.h 3;" d PSF framework/base/PSF.h /^ class PSF {$/;" c namespace:ProtoMol PSFREADER_H framework/io/PSFReader.h 3;" d PSFReader framework/io/PSFReader.cpp /^ PSFReader::PSFReader():$/;" f class:ProtoMol::PSFReader PSFReader framework/io/PSFReader.cpp /^ PSFReader::PSFReader(const std::string& filename):$/;" f class:ProtoMol::PSFReader PSFReader framework/io/PSFReader.h /^ class PSFReader : public Reader {$/;" c namespace:ProtoMol PSFWRITER_H framework/io/PSFWriter.h 3;" d PSFWriter framework/io/PSFWriter.cpp /^ PSFWriter::PSFWriter():Writer(){}$/;" f class:ProtoMol::PSFWriter PSFWriter framework/io/PSFWriter.cpp /^ PSFWriter::PSFWriter(const std::string& filename):Writer(filename){}$/;" f class:ProtoMol::PSFWriter PSFWriter framework/io/PSFWriter.h /^ class PSFWriter : public Writer {$/;" c namespace:ProtoMol PSF_H framework/base/PSF.h 3;" d PairInt framework/base/simpleTypes.h /^ typedef std::pair PairInt;$/;" t namespace:ProtoMol PairIntSorted framework/base/simpleTypes.h /^ PairIntSorted():first(0),second(0){}$/;" f struct:ProtoMol::PairIntSorted PairIntSorted framework/base/simpleTypes.h /^ PairIntSorted(unsigned int a, unsigned int b):first(std::min(a,b)),second(std::max(a,b)){}$/;" f struct:ProtoMol::PairIntSorted PairIntSorted framework/base/simpleTypes.h /^ struct PairIntSorted {$/;" s namespace:ProtoMol PairString framework/base/simpleTypes.h /^ typedef std::pair PairString;$/;" t namespace:ProtoMol PairUInt framework/base/simpleTypes.h /^ typedef std::pair PairUInt;$/;" t namespace:ProtoMol PairVector3D tools/bccAnalyzer.cpp /^ PairVector3D(){}$/;" f class:PairVector3D PairVector3D tools/bccAnalyzer.cpp /^ PairVector3D(const Vector3DIdx& a, const Vector3DIdx& b, const Vector3DIdx& c):v0(a),c(b),v1(c){}$/;" f class:PairVector3D PairVector3D tools/bccAnalyzer.cpp /^class PairVector3D {$/;" c file: Parallel framework/parallel/Parallel.cpp /^ Parallel::Parallel(){$/;" f class:ProtoMol::Parallel Parallel framework/parallel/Parallel.h /^ Parallel(const Parallel&){}$/;" f class:ProtoMol::Parallel Parallel framework/parallel/Parallel.h /^ class Parallel {$/;" c namespace:ProtoMol ParallelEnum framework/parallel/ParallelType.h /^ class ParallelEnum {$/;" c namespace:ProtoMol ParallelType framework/parallel/ParallelType.h /^ typedef AbstractEnumType ParallelType;$/;" t namespace:ProtoMol Parameter framework/base/Parameter.cpp /^ Parameter::Parameter():keyword(""),value(Value()),defaultValue(Value()) {}$/;" f class:ProtoMol::Parameter Parameter framework/base/Parameter.cpp /^ Parameter::Parameter(const char* k, const Value& val):keyword(string(k)),value(val),defaultValue(val,Value::undefined) {}$/;" f class:ProtoMol::Parameter Parameter framework/base/Parameter.cpp /^ Parameter::Parameter(const char* k, const Value& val, const Text& t):keyword(string(k)),value(val),defaultValue(val,Value::undefined),text(t.text) {}$/;" f class:ProtoMol::Parameter Parameter framework/base/Parameter.cpp /^ Parameter::Parameter(const char* k, const Value& val, const Value& def):keyword(string(k)),value(val),defaultValue(def) {}$/;" f class:ProtoMol::Parameter Parameter framework/base/Parameter.cpp /^ Parameter::Parameter(const char* k, const Value& val, const Value& def, const Text& t):keyword(string(k)),value(val),defaultValue(def),text(t.text) {} $/;" f class:ProtoMol::Parameter Parameter framework/base/Parameter.cpp /^ Parameter::Parameter(const string& k, const Value& val):keyword(k),value(val),defaultValue(val,Value::undefined) {}$/;" f class:ProtoMol::Parameter Parameter framework/base/Parameter.cpp /^ Parameter::Parameter(const string& k, const Value& val, const Text& t):keyword(k),value(val),defaultValue(val,Value::undefined),text(t.text) {}$/;" f class:ProtoMol::Parameter Parameter framework/base/Parameter.cpp /^ Parameter::Parameter(const string& k, const Value& val, const Value& def):keyword(k),value(val),defaultValue(def) {}$/;" f class:ProtoMol::Parameter Parameter framework/base/Parameter.cpp /^ Parameter::Parameter(const string& k, const Value& val, const Value& def, const Text& t):keyword(k),value(val),defaultValue(def),text(t.text) {}$/;" f class:ProtoMol::Parameter Parameter framework/base/Parameter.h /^ Parameter(const char* k, const Value& val, T def):keyword(std::string(k)),value(val),defaultValue(val) {defaultValue.set(def);}$/;" f struct:ProtoMol::Parameter Parameter framework/base/Parameter.h /^ Parameter(const char* k, const Value& val, T def, const Text& t):keyword(std::string(k)),value(val),defaultValue(val),text(t.text) {defaultValue.set(def);}$/;" f struct:ProtoMol::Parameter Parameter framework/base/Parameter.h /^ Parameter(const std::string& k, const Value& val, T def):keyword(k),value(val),defaultValue(val) {defaultValue.set(def);}$/;" f struct:ProtoMol::Parameter Parameter framework/base/Parameter.h /^ Parameter(const std::string& k, const Value& val, T def, const Text& t):keyword(k),value(val),defaultValue(val),text(t.text) {defaultValue.set(def);}$/;" f struct:ProtoMol::Parameter Parameter framework/base/Parameter.h /^ struct Parameter {$/;" s namespace:ProtoMol ParseCommandLine framework/base/pmconstants.cpp /^ namespace ParseCommandLine {$/;" n file: ParseCommandLine framework/base/pmconstants.h /^ namespace ParseCommandLine {$/;" n PaulTrapExtendedForce framework/forces/PaulTrapExtendedForce.h /^ PaulTrapExtendedForce::PaulTrapExtendedForce():ExtendedForce(),myOmegaR1(0.0),myOmegaZ1(0.0),myAlpha(0.0),myR0(0.0),myU0(0.0),myK(Vector3D(0.0,0.0,0.0)),myAlphaR04(0.0),myOmega(0.0),myA(0.0),myCached(false){$/;" f class:ProtoMol::PaulTrapExtendedForce PaulTrapExtendedForce framework/forces/PaulTrapExtendedForce.h /^ PaulTrapExtendedForce::PaulTrapExtendedForce(Real omegaR, Real omegaZ, Real alpha, Real r0, Real u0, Vector3D k):ExtendedForce(),myOmegaR1(omegaR),myOmegaZ1(omegaZ),myU0(u0),myK(k),myOmega(0.0),myA(0.0),myCached(false){$/;" f class:ProtoMol::PaulTrapExtendedForce PaulTrapExtendedForce framework/forces/PaulTrapExtendedForce.h /^ class PaulTrapExtendedForce : public ExtendedForce, private PaulTrapExtendedForceBase {$/;" c namespace:ProtoMol PaulTrapExtendedForceBase framework/forces/PaulTrapExtendedForceBase.h /^ class PaulTrapExtendedForceBase {$/;" c namespace:ProtoMol PaulTrapIntegrator framework/integrators/PaulTrapIntegrator.cpp /^ PaulTrapIntegrator::PaulTrapIntegrator(): STSIntegrator(),$/;" f class:ProtoMol::PaulTrapIntegrator PaulTrapIntegrator framework/integrators/PaulTrapIntegrator.cpp /^ PaulTrapIntegrator::PaulTrapIntegrator(Real timestep,$/;" f class:ProtoMol::PaulTrapIntegrator PaulTrapIntegrator framework/integrators/PaulTrapIntegrator.h /^ class PaulTrapIntegrator: public STSIntegrator {$/;" c namespace:ProtoMol PeriodicBoundaryConditions framework/topology/PeriodicBoundaryConditions.cpp /^ PeriodicBoundaryConditions::PeriodicBoundaryConditions():myE1(0,0,0),myE2(0,0,0),myE3(0,0,0),$/;" f class:ProtoMol::PeriodicBoundaryConditions PeriodicBoundaryConditions framework/topology/PeriodicBoundaryConditions.cpp /^ PeriodicBoundaryConditions::PeriodicBoundaryConditions(const Vector3D &e1 ,const Vector3D &e2 ,$/;" f class:ProtoMol::PeriodicBoundaryConditions PeriodicBoundaryConditions framework/topology/PeriodicBoundaryConditions.h /^ class PeriodicBoundaryConditions {$/;" c namespace:ProtoMol PlaceHolder framework/base/Value.h /^ class PlaceHolder {$/;" c class:ProtoMol::Value Positive framework/base/ConstraintValueType.h /^ typedef Enum2Type Positive;$/;" t class:ProtoMol::ConstraintValueEnum PostForceBarostat applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::PostForceBarostat() {$/;" f class:ProtoMol::iSGIntegrator PostForceBarostat framework/integrators/NPTVerletIntegrator.cpp /^ void NPTVerletIntegrator::PostForceBarostat() {$/;" f class:ProtoMol::NPTVerletIntegrator PostForceChemostat applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::PostForceChemostat() {$/;" f class:ProtoMol::iSGIntegrator PostForceThermostat applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::PostForceThermostat() {$/;" f class:ProtoMol::iSGIntegrator PostForceThermostat framework/integrators/NPTVerletIntegrator.cpp /^ void NPTVerletIntegrator::PostForceThermostat() {$/;" f class:ProtoMol::NPTVerletIntegrator PostForceThermostat framework/integrators/NVTVerletIntegrator.cpp /^ void NVTVerletIntegrator::PostForceThermostat() {$/;" f class:ProtoMol::NVTVerletIntegrator Power framework/base/mathutilities.h /^ struct Power {$/;" s namespace:ProtoMol Power framework/base/mathutilities.h /^ struct Power<-1> {$/;" s namespace:ProtoMol Power framework/base/mathutilities.h /^ struct Power<0> {$/;" s namespace:ProtoMol Power framework/base/mathutilities.h /^ struct Power<1> {$/;" s namespace:ProtoMol PreForceBarostat applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::PreForceBarostat() {$/;" f class:ProtoMol::iSGIntegrator PreForceBarostat framework/integrators/NPTVerletIntegrator.cpp /^ void NPTVerletIntegrator::PreForceBarostat() {$/;" f class:ProtoMol::NPTVerletIntegrator PreForceChemostat applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::PreForceChemostat() {$/;" f class:ProtoMol::iSGIntegrator PreForceThermostat applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::PreForceThermostat() {$/;" f class:ProtoMol::iSGIntegrator PreForceThermostat framework/integrators/NPTVerletIntegrator.cpp /^ void NPTVerletIntegrator::PreForceThermostat() {$/;" f class:ProtoMol::NPTVerletIntegrator PreForceThermostat framework/integrators/NVTVerletIntegrator.cpp /^ void NVTVerletIntegrator::PreForceThermostat() {$/;" f class:ProtoMol::NVTVerletIntegrator PreserveElems framework/base/Array_Fastest.h /^ bool resize(const size_t (&Dimensions)[N], const T & Init=T(), bool PreserveElems=false)$/;" m class:ProtoMol::Array Private framework/base/Cycles.h /^ namespace Private {$/;" n ProtoMol applications/coulomb-app/registerForceExemplars.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/coulomb-app/registerForceExemplars.h /^namespace ProtoMol {$/;" n ProtoMol applications/coulomb-app/registerIntegratorExemplars.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/coulomb-app/registerIntegratorExemplars.h /^namespace ProtoMol {$/;" n ProtoMol applications/coulomb-app/registerOutputExemplars.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/coulomb-app/registerOutputExemplars.h /^namespace ProtoMol {$/;" n ProtoMol applications/coulomb-app/registerTopologyExemplars.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/coulomb-app/registerTopologyExemplars.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/base/TRANS.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/base/TRANS.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/base/XSC.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/base/XSC.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/base/iSGGrid.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplars.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplars.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsBonded.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsBonded.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsCutoff.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsCutoff.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFastElectrostatic.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFastElectrostatic.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFull.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFull.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsIdealGas.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsIdealGas.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsSimpleFull.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/factories/iSGregisterForceExemplarsSimpleFull.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/factories/iSGregisterIntegratorExemplars.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/factories/iSGregisterIntegratorExemplars.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/factories/iSGregisterOutputExemplars.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/factories/iSGregisterOutputExemplars.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGAngleSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGAngleSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGBondSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGBondSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGCoulombForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGCoulombForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGDihedralSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGDihedralSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGDihedralSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGImproperSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGImproperSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGImproperSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGLennardJonesForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGLennardJonesForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGMTorsionSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/frontend/OutputFinalPSF.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/frontend/OutputFinalPSF.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/frontend/OutputFinalXSC.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/frontend/OutputFinalXSC.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/frontend/OutputISGProperties.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/frontend/OutputISGProperties.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/frontend/buildISGTopology.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/frontend/buildISGTopology.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/integrators/ModifierISG.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/integrators/ModifierISG.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/integrators/iSGIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/integrators/iSGModifierPostForceChemostat.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/integrators/iSGModifierPreForceChemostat.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/io/TRANSReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/io/TRANSReader.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/io/XSCReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/io/XSCReader.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/io/XSCWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/io/XSCWriter.h /^namespace ProtoMol {$/;" n ProtoMol applications/iSGProtomol-app/io/iSGPARReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/iSGProtomol-app/io/iSGPARReader.h /^namespace ProtoMol {$/;" n ProtoMol applications/xyzviz-app/openglutilities.cpp /^namespace ProtoMol {$/;" n file: ProtoMol applications/xyzviz-app/openglutilities.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/AbstractEnumType.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Array_Fastest.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Array_NoPartialSpecialization.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Atom.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/AtomType.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/BSpline.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/BSpline.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/BSplineType.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/BSplineType.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Configuration.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/Configuration.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/ConstraintValueType.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/ConstraintValueType.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Cycles.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/FFTComplex.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/FFTComplex.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Grid.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Lagrange.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/Lagrange.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Makeable.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/Makeable.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/MakeableDefinition.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Matrix3by3.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/Matrix3by3.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Molecule.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/MultiGrid.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/ObjectDefinition.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/PAR.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/PAR.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/PDB.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/PDB.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/PGM.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/PGM.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/PPM.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/PPM.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/PSF.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/PSF.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Parameter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/Parameter.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Proxy.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Real.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/ReducedHessAngle.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/ReducedHessAngle.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Report.cpp /^namespace ProtoMol { $/;" n file: ProtoMol framework/base/Report.h /^namespace ProtoMol { $/;" n ProtoMol framework/base/ScalarStructure.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/ScalarStructure.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Stack.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Timer.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/Timer.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/TimerStatistic.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/TimerStatistic.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Value.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/Value.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/ValueType.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/ValueType.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Vector.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Vector3D.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/Vector3DBlock.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/Vector3DBlock.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/XYZ.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/XYZ.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/iSGPAR.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/iSGPAR.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/mathutilities.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/mathutilities.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/pmconstants.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/pmconstants.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/reducedHessBond.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/reducedHessBond.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/simpleTypes.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/stringutilities.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/stringutilities.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/systemutilities.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/base/systemutilities.h /^namespace ProtoMol {$/;" n ProtoMol framework/base/typeSelection.h /^namespace ProtoMol {$/;" n ProtoMol framework/factories/registerForceExemplars.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/factories/registerForceExemplars.h /^namespace ProtoMol {$/;" n ProtoMol framework/factories/registerForceExemplarsBonded.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/factories/registerForceExemplarsBonded.h /^namespace ProtoMol {$/;" n ProtoMol framework/factories/registerForceExemplarsCutoff.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/factories/registerForceExemplarsCutoff.h /^namespace ProtoMol {$/;" n ProtoMol framework/factories/registerForceExemplarsFastElectrostatic.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/factories/registerForceExemplarsFastElectrostatic.h /^namespace ProtoMol {$/;" n ProtoMol framework/factories/registerForceExemplarsFull.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/factories/registerForceExemplarsFull.h /^namespace ProtoMol {$/;" n ProtoMol framework/factories/registerForceExemplarsOther.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/factories/registerForceExemplarsOther.h /^namespace ProtoMol {$/;" n ProtoMol framework/factories/registerForceExemplarsSimpleFull.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/factories/registerForceExemplarsSimpleFull.h /^namespace ProtoMol {$/;" n ProtoMol framework/factories/registerIntegratorExemplars.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/factories/registerIntegratorExemplars.h /^namespace ProtoMol {$/;" n ProtoMol framework/factories/registerOutputExemplars.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/factories/registerOutputExemplars.h /^namespace ProtoMol {$/;" n ProtoMol framework/factories/registerTopologyExemplars.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/factories/registerTopologyExemplars.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/AngleSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/AngleSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/AngleSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/BondSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/BondSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/BondSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/CompareForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/CompareForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/CoulombEwaldRealForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/CoulombEwaldRealForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/CoulombEwaldRealTableForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/CoulombEwaldRealTableForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/CoulombForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/CoulombForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/CoulombMultiGridDirectForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/CoulombMultiGridDirectForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/CoulombMultiGridDirectForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/CoulombMultiGridDirectTableForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/CoulombMultiGridDirectTableForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/CoulombMultiGridDirectTableForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/DihedralSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/DihedralSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/DihedralSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ElectricFieldSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ElectricFieldSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/ElectricFieldSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ExtendedCompareForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/ExtendedCompareForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ExtendedForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/ExtendedForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ExtendedTimeForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/ExtendedTimeForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ExternalGravitationSystemForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/ExternalGravitationSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ExternalMagneticFieldExtendedForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/ExternalMagneticFieldExtendedForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/Force.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/Force.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ForceGroup.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/ForceGroup.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/FrictionExtendedForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/FrictionExtendedForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/GravitationForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/GravitationForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/HarmDihedralSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/HarmDihedralSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/HarmDihedralSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/Hermite.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/Hermite.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ImproperSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ImproperSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/ImproperSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/LennardJonesForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/LennardJonesForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/LennardJonesTableForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/LennardJonesTableForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/MTorsionSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/MagneticDipoleForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/MagneticDipoleForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/MagneticDipoleMirrorSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/MagneticDipoleMirrorSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/MagneticDipoleMirrorSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/MetaForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/MetaForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/MollyForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/MollyForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedCutoffForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedCutoffForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/NonbondedCutoffForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedCutoffMollyForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedCutoffSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedFullEwaldSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedFullEwaldSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/NonbondedFullEwaldSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedFullSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedFullSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/NonbondedFullSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedMultiGridSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedMultiGridSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/NonbondedMultiGridSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedPMEwaldSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedPMEwaldSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/NonbondedPMEwaldSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedSimpleFullSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/NonbondedSimpleFullSystemForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/NonbondedSimpleFullSystemForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/OneAtomPair.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/OneAtomPairFull.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/OneAtomPairTwo.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/OneAtomPairTwoFull.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/OneMollyPair.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/OneMollyPairTwo.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/PaulTrapExtendedForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/PaulTrapExtendedForceBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/PaulTrapExtendedForceBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ReducedHessCoulomb.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/ReducedHessCoulomb.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ReducedHessLennardJones.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/ReducedHessLennardJones.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/ReducedHessTraits.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/SphericalSystemForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/SphericalSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/SystemCompareForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/SystemCompareForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/SystemForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/SystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/SystemTimeForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/SystemTimeForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/TimeForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/TimeForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/WrapperMetaForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/forces/WrapperMetaForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/forces/oneAtomContraints.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/Factory.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/ForceFactory.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/ForceFactoryDetails.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/ForceFactoryDetails.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/HelpTextFactory.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/HelpTextFactory.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/InputPosVel.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/InputPosVel.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/InputPosVelType.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/InputPosVelType.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/InputValue.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/IntegratorFactory.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/IntegratorFactoryDetails.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/IntegratorFactoryDetails.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/Output.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/Output.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputCache.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputCache.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputCollection.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputCollection.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputDCDTrajectory.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputDCDTrajectory.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputDiffusion.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputDiffusion.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputDihedrals.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputDihedrals.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputEnergies.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputEnergies.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputFactory.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputFactoryDetails.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputFactoryDetails.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputFile.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputFile.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputFinalPDBPos.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputFinalPDBPos.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputFinalXYZBinPos.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputFinalXYZBinPos.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputFinalXYZBinVel.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputFinalXYZBinVel.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputFinalXYZPos.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputFinalXYZPos.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputFinalXYZVel.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputFinalXYZVel.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputMomentum.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputMomentum.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputPDBFramePos.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputPDBFramePos.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputPaulTrap.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputPaulTrap.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputScreen.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputScreen.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputTemperatures.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputTemperatures.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputXYZTrajectoryForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputXYZTrajectoryForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputXYZTrajectoryPos.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputXYZTrajectoryPos.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/OutputXYZTrajectoryVel.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/OutputXYZTrajectoryVel.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/TopologyFactory.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/TopologyFactoryDetails.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/TopologyFactoryDetails.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/buildTopology.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/buildTopology.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/inputValueDefinitions.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/inputValueDefinitions.h /^namespace ProtoMol {$/;" n ProtoMol framework/frontend/parseCommandLine.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/frontend/parseCommandLine.h /^namespace ProtoMol {$/;" n ProtoMol framework/imd/HapticSystemForce.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/imd/HapticSystemForce.h /^namespace ProtoMol {$/;" n ProtoMol framework/imd/IMDElf.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/imd/IMDElf.h /^namespace ProtoMol {$/;" n ProtoMol framework/imd/imd.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/imd/imd.h /^namespace ProtoMol {$/;" n ProtoMol framework/imd/vmdsock.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/imd/vmdsock.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/BBKIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/BBKIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/BSplineMOLLYIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/BSplineMOLLYIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/DLMCIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/DLMCIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/DMDLeapfrogIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/DMDLeapfrogIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/DihedralHMCIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/DihedralHMCIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/EquilibriumMOLLYIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/EquilibriumMOLLYIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/HMCIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/HMCIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ImpulseIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/ImpulseIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/Integrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/Integrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/IntegratorDefinition.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/IntegratorDefinition.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/LangevinImpulseIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/LangevinImpulseIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/LeapfrogIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/LeapfrogIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/MCIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/MCIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/MOLLYIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/MOLLYIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/MTSIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/MTSIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/Modifier.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierAveraging.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierFriction.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierIncrementTimestep.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierMetaRattle.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/ModifierMetaRattle.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierMetaRattleShake.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/ModifierMetaRattleShake.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierMetaShake.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/ModifierMetaShake.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierMollification.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierNPTRattle.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/ModifierNPTRattle.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierNPTShake.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/ModifierNPTShake.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierNVTRattle.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/ModifierNVTRattle.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierNVTShake.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/ModifierNVTShake.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierPostForceBarostat.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierPostForceThermostat.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierPreForceBarostat.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierPreForceThermostat.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierRattle.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/ModifierRattle.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierRemoveAngularMomentum.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierRemoveLinearMomentum.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierShake.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/ModifierShake.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierUpdateBeta.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/ModifierUpdateBetaAndPush.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/NPTVerletIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/NPTVerletIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/NVTVerletIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/NVTVerletIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/NonStandardIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/NoseNVTLeapfrogIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/NoseNVTLeapfrogIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/PLeapfrogIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/PLeapfrogIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/PaulTrapIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/PaulTrapIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/STSIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/STSIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/StandardIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/StandardIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/integrators/UmbrellaIntegrator.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/integrators/UmbrellaIntegrator.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/ConfigurationReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/ConfigurationReader.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/DCDTrajectoryReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/DCDTrajectoryReader.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/DCDTrajectoryWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/DCDTrajectoryWriter.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/File.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/File.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/PARReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/PARReader.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/PARWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/PARWriter.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/PDBReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/PDBReader.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/PDBWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/PDBWriter.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/PGMReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/PGMReader.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/PGMWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/PGMWriter.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/PNGWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/PNGWriter.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/PPMReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/PPMReader.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/PPMWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/PPMWriter.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/PSFReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/PSFReader.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/PSFWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/PSFWriter.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/Reader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/Reader.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/Writer.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/Writer.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/XFigWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/XFigWriter.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/XYZBinReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/XYZBinReader.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/XYZBinWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/XYZBinWriter.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/XYZReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/XYZReader.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/XYZTrajectoryReader.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/XYZTrajectoryReader.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/XYZTrajectoryWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/XYZTrajectoryWriter.h /^namespace ProtoMol {$/;" n ProtoMol framework/io/XYZWriter.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/io/XYZWriter.h /^namespace ProtoMol {$/;" n ProtoMol framework/parallel/Parallel.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/parallel/Parallel.h /^namespace ProtoMol {$/;" n ProtoMol framework/parallel/ParallelType.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/parallel/ParallelType.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/Angle.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/AngleInfo.cpp /^namespace ProtoMol{$/;" n file: ProtoMol framework/topology/AngleInfo.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/ArrayCellListStructure.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/ArrayCellListStructure.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/BankLennardJonesParameterTable.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/Bond.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/C1SwitchingFunction.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/C1SwitchingFunction.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/C1SwitchingFunctionBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/C1SwitchingFunctionBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/C2SwitchingFunction.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/C2SwitchingFunction.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/C2SwitchingFunctionBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/C2SwitchingFunctionBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/CellListEnumerator.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/CellListEnumerator_periodicBoundaries.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/CellListEnumerator_standard.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/ComplementSwitchingFunction.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/ComplementSwitchingFunctionBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/ComplementSwitchingFunctionBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/CubicCellLocation.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/CubicCellManager.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/CubicCellManager.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/CutoffSwitchingFunction.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/CutoffSwitchingFunction.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/CutoffSwitchingFunctionBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/CutoffSwitchingFunctionBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/ExclusionTable.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/ExclusionTable.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/ExclusionType.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/ExclusionType.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/GenericTopology.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/GenericTopology.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/LennardJonesParameterTable.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/LennardJonesParameterTable.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/LennardJonesParameters.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/PeriodicBoundaryConditions.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/PeriodicBoundaryConditions.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/RangeSwitchingFunction.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/RangeSwitchingFunctionBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/RangeSwitchingFunctionBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/SemiGenericTopology.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/ShiftSwitchingFunction.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/ShiftSwitchingFunction.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/ShiftSwitchingFunctionBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/ShiftSwitchingFunctionBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/Topology.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/Torsion.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/UniversalSwitchingFunction.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/UniversalSwitchingFunctionBase.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/UniversalSwitchingFunctionBase.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/VacuumBoundaryConditions.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/VacuumBoundaryConditions.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/buildCellLists.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/buildCellLists.h /^namespace ProtoMol {$/;" n ProtoMol framework/topology/topologyutilities.cpp /^namespace ProtoMol {$/;" n file: ProtoMol framework/topology/topologyutilities.h /^namespace ProtoMol {$/;" n Proxy framework/base/Proxy.h /^ Proxy(): myCount(0){}$/;" f class:ProtoMol::Proxy Proxy framework/base/Proxy.h /^ class Proxy {$/;" c namespace:ProtoMol QUIT applications/xyzviz-app/xyzviz.cpp /^ QUIT,$/;" e enum:MENU file: Qd applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real Qd; \/\/ Chemostat mass. Units: (kcal fs^2 \/ mol)$/;" m class:ProtoMol::iSGIntegrator Qnew framework/base/Atom.h /^ Real Qold, Qnew;$/;" m struct:ProtoMol::Atom Qo applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real Qo; \/\/ Particle thermostat mass. Units: (kcal fs^2 \/ mol)$/;" m class:ProtoMol::iSGIntegrator Qo framework/integrators/NPTVerletIntegrator.h /^ Real Qo; \/\/ Particle thermostat mass. Units: (kcal fs^2 \/ mol)$/;" m class:ProtoMol::NPTVerletIntegrator Qo framework/integrators/NVTVerletIntegrator.h /^ Real Qo; \/\/ Particle thermostat mass. Units: (kcal fs^2 \/ mol)$/;" m class:ProtoMol::NVTVerletIntegrator Qold framework/base/Atom.h /^ Real Qold, Qnew;$/;" m struct:ProtoMol::Atom Qv applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real Qv; \/\/ Volume thermostat mass. Units: (kcal fs^2 \/ mol)$/;" m class:ProtoMol::iSGIntegrator Qv framework/integrators/NPTVerletIntegrator.h /^ Real Qv; \/\/ Volume thermostat mass. Units: (kcal fs^2 \/ mol)$/;" m class:ProtoMol::NPTVerletIntegrator RANGESWITCHINGFUNCTIONBASE_H framework/topology/RangeSwitchingFunctionBase.h 3;" d RANGESWITCHINGFUNCTION_H framework/topology/RangeSwitchingFunction.h 3;" d RDTSC framework/base/Cycles.h 192;" d READER_H framework/io/Reader.h 3;" d REAL framework/base/ValueType.h /^ REAL,$/;" e enum:ProtoMol::ValueEnum::Enum REAL_H framework/base/Real.h 3;" d REAL_INFINITY framework/base/pmconstants.cpp /^ const Real REAL_INFINITY = 2.0*MAXREAL;$/;" m namespace:ProtoMol::Constant file: REAL_NAN framework/base/pmconstants.cpp /^ const Real REAL_NAN = REAL_INFINITY;$/;" m namespace:ProtoMol::Constant file: REDUCEDHESSANGLE_H framework/base/ReducedHessAngle.h 3;" d REDUCEDHESSBOND_H framework/base/reducedHessBond.h 3;" d REDUCEDHESSCOULOMB_H framework/forces/ReducedHessCoulomb.h 3;" d REDUCEDHESSLENNARDJONES_H framework/forces/ReducedHessLennardJones.h 3;" d REDUCEDHESSTRAITS_H framework/forces/ReducedHessTraits.h 3;" d REGISTERFORCEEXEMPLARSBONDED_H framework/factories/registerForceExemplarsBonded.h 3;" d REGISTERFORCEEXEMPLARSCUTOFF_H framework/factories/registerForceExemplarsCutoff.h 3;" d REGISTERFORCEEXEMPLARSFASTELECTROSTATIC_H framework/factories/registerForceExemplarsFastElectrostatic.h 3;" d REGISTERFORCEEXEMPLARSFULL_H framework/factories/registerForceExemplarsFull.h 3;" d REGISTERFORCEEXEMPLARSOTHER_H framework/factories/registerForceExemplarsOther.h 3;" d REGISTERFORCEEXEMPLARSSIMPLEFULL_H applications/iSGProtomol-app/factories/iSGregisterForceExemplarsSimpleFull.h 3;" d REGISTERFORCEEXEMPLARSSIMPLEFULL_H framework/factories/registerForceExemplarsSimpleFull.h 3;" d REGISTERFORCEEXEMPLARS_H applications/coulomb-app/registerForceExemplars.h 3;" d REGISTERFORCEEXEMPLARS_H framework/factories/registerForceExemplars.h 3;" d REGISTERINTEGRATOREXEMPLARS_H applications/coulomb-app/registerIntegratorExemplars.h 3;" d REGISTERINTEGRATOREXEMPLARS_H framework/factories/registerIntegratorExemplars.h 3;" d REGISTEROUTPUTEXEMPLARS_H applications/coulomb-app/registerOutputExemplars.h 3;" d REGISTEROUTPUTEXEMPLARS_H framework/factories/registerOutputExemplars.h 3;" d REGISTERTOPOLOGYEXEMPLARS_H applications/coulomb-app/registerTopologyExemplars.h 3;" d REGISTERTOPOLOGYEXEMPLARS_H framework/factories/registerTopologyExemplars.h 3;" d REPORT_H framework/base/Report.h 3;" d RUN framework/base/TimerStatistic.h /^ RUN,$/;" e enum:ProtoMol::TimerStatistic::Enum R_OK framework/base/systemutilities.cpp 17;" d file: RangeSwitchingFunction framework/topology/RangeSwitchingFunction.h /^ RangeSwitchingFunction():myR0(0.0),myR1(0.0){}$/;" f class:ProtoMol::RangeSwitchingFunction RangeSwitchingFunction framework/topology/RangeSwitchingFunction.h /^ RangeSwitchingFunction(const TOriginalSwitchingFunction sw, Real r0, Real r1):myOrigFunc(sw),$/;" f class:ProtoMol::RangeSwitchingFunction RangeSwitchingFunction framework/topology/RangeSwitchingFunction.h /^ class RangeSwitchingFunction : private RangeSwitchingFunctionBase {$/;" c namespace:ProtoMol RangeSwitchingFunctionBase framework/topology/RangeSwitchingFunctionBase.h /^ class RangeSwitchingFunctionBase {$/;" c namespace:ProtoMol Reader framework/io/Reader.cpp /^ Reader::Reader():File(std::ios::in){}$/;" f class:ProtoMol::Reader Reader framework/io/Reader.cpp /^ Reader::Reader(const string& filename):File(std::ios::in,filename){$/;" f class:ProtoMol::Reader Reader framework/io/Reader.cpp /^ Reader::Reader(std::ios::openmode mode):File(std::ios::in|mode){}$/;" f class:ProtoMol::Reader Reader framework/io/Reader.cpp /^ Reader::Reader(std::ios::openmode mode,const string& filename):File(std::ios::in|mode,filename){$/;" f class:ProtoMol::Reader Reader framework/io/Reader.h /^ class Reader : public File {$/;" c namespace:ProtoMol Real framework/base/Real.h /^ typedef double Real;$/;" t namespace:ProtoMol Real framework/base/Real.h /^ typedef float Real;$/;" t namespace:ProtoMol Real framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ void EquilibriumMOLLYIntegrator::luBksb(Real (&m)[maxGDim][maxGDim], $/;" m class:ProtoMol::EquilibriumMOLLYIntegrator file: Real framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ void EquilibriumMOLLYIntegrator::luDcmp(Real (&m)[maxGDim][maxGDim], $/;" m class:ProtoMol::EquilibriumMOLLYIntegrator file: Real framework/integrators/EquilibriumMOLLYIntegrator.h /^ void luBksb(Real (&m)[maxGDim][maxGDim], int dim, const int (&index)[maxGDim], Real (&b)[maxGDim]) const;$/;" m class:ProtoMol::EquilibriumMOLLYIntegrator Real framework/integrators/EquilibriumMOLLYIntegrator.h /^ void luDcmp(Real (&m)[maxGDim][maxGDim], int dim, int (&index)[maxGDim], Real& d) const;$/;" m class:ProtoMol::EquilibriumMOLLYIntegrator RealTopologyType applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ typedef Topology RealTopologyType;$/;" t class:ProtoMol::iSGNonbondedFullEwaldSystemForce RealTopologyType applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ typedef Topology RealTopologyType;$/;" t class:ProtoMol::iSGNonbondedPMEwaldSystemForce RealTopologyType framework/forces/NonbondedCutoffForce.h /^ typedef Topology RealTopologyType;$/;" t class:ProtoMol::NonbondedCutoffForce RealTopologyType framework/forces/NonbondedCutoffMollyForce.h /^ typedef Topology RealTopologyType;$/;" t class:ProtoMol::NonbondedCutoffMollyForce RealTopologyType framework/forces/NonbondedCutoffSystemForce.h /^ typedef Topology RealTopologyType;$/;" t class:ProtoMol::NonbondedCutoffSystemForce RealTopologyType framework/forces/NonbondedFullEwaldSystemForce.h /^ typedef Topology RealTopologyType;$/;" t class:ProtoMol::NonbondedFullEwaldSystemForce RealTopologyType framework/forces/NonbondedFullSystemForce.h /^ typedef SemiGenericTopology RealTopologyType;$/;" t class:ProtoMol::NonbondedFullSystemForce RealTopologyType framework/forces/NonbondedMultiGridSystemForce.h /^ typedef Topology RealTopologyType;$/;" t class:ProtoMol::NonbondedMultiGridSystemForce RealTopologyType framework/forces/NonbondedPMEwaldSystemForce.h /^ typedef Topology RealTopologyType;$/;" t class:ProtoMol::NonbondedPMEwaldSystemForce RealTopologyType framework/forces/NonbondedSimpleFullSystemForce.h /^ typedef SemiGenericTopology RealTopologyType;$/;" t class:ProtoMol::NonbondedSimpleFullSystemForce ReducedHessAngle framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle::ReducedHessAngle(){$/;" f class:ProtoMol::ReducedHessAngle ReducedHessAngle framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle::ReducedHessAngle(const Vector3D& atom_i, \/\/position of atom i$/;" f class:ProtoMol::ReducedHessAngle ReducedHessAngle framework/base/ReducedHessAngle.h /^ class ReducedHessAngle{$/;" c namespace:ProtoMol ReducedHessCoulomb framework/forces/ReducedHessCoulomb.h /^ class ReducedHessCoulomb {$/;" c namespace:ProtoMol ReducedHessLennardJones framework/forces/ReducedHessLennardJones.h /^ class ReducedHessLennardJones {$/;" c namespace:ProtoMol ReducedHessTraits framework/forces/ReducedHessTraits.h /^ struct ReducedHessTraits{$/;" s namespace:ProtoMol ReducedHessTraits framework/forces/ReducedHessTraits.h /^ struct ReducedHessTraits{$/;" s namespace:ProtoMol RefArray framework/base/Array_Fastest.h /^ RefArray()$/;" f class:ProtoMol::RefArray RefArray framework/base/Array_Fastest.h /^ RefArray()$/;" f class:ProtoMol::RefArray RefArray framework/base/Array_Fastest.h /^ class RefArray : public RefArray$/;" c namespace:ProtoMol RefArray framework/base/Array_Fastest.h /^ class RefArray$/;" c namespace:ProtoMol RefArray framework/base/Array_NoPartialSpecialization.h /^ RefArray<1>(T * pElements, const size_type * pNDimensions, $/;" f class:ProtoMol::Array::RefArray RefArray framework/base/Array_NoPartialSpecialization.h /^ RefArray(T * pElements, const size_type * pNDimensions, $/;" f class:ProtoMol::Array::RefArray RefArray framework/base/Array_NoPartialSpecialization.h /^ class RefArray$/;" c class:ProtoMol::Array RefArray framework/base/Array_NoPartialSpecialization.h /^ class RefArray<1>$/;" c class:ProtoMol::Array RepType framework/base/ValueType.h /^ typedef Real RepType;$/;" t struct:ProtoMol::ValueTraits RepType framework/base/ValueType.h /^ typedef Vector3D RepType;$/;" t struct:ProtoMol::ValueTraits RepType framework/base/ValueType.h /^ typedef bool RepType;$/;" t struct:ProtoMol::ValueTraits RepType framework/base/ValueType.h /^ typedef int RepType;$/;" t struct:ProtoMol::ValueTraits RepType framework/base/ValueType.h /^ typedef std::string RepType; \/\/ Representation type of the value$/;" t struct:ProtoMol::ValueTraits RepType framework/base/ValueType.h /^ typedef std::string RepType;$/;" t struct:ProtoMol::ValueTraits RepType framework/base/ValueType.h /^ typedef std::vector RepType;$/;" t struct:ProtoMol::ValueTraits RepType framework/base/ValueType.h /^ typedef unsigned int RepType;$/;" t struct:ProtoMol::ValueTraits Report framework/base/Report.cpp /^ namespace Report { $/;" n file: Report framework/base/Report.h /^ namespace Report { $/;" n ResetDimensions framework/base/Array_Fastest.h /^ void ResetDimensions()$/;" f class:ProtoMol::RefArray SAVE_FRAMEBUFFER applications/xyzviz-app/xyzviz.cpp /^ SAVE_FRAMEBUFFER,$/;" e enum:MENU file: SAVE_FRAMEBUFFER_EPS applications/xyzviz-app/xyzviz.cpp /^ SAVE_FRAMEBUFFER_EPS,$/;" e enum:MENU file: SEMIGENERICTOPOLOGY_H framework/topology/SemiGenericTopology.h 3;" d SEND_RANGE framework/parallel/Parallel.cpp /^ const int SEND_RANGE = 2;$/;" m namespace:ProtoMol file: SEQUENTIAL framework/parallel/Parallel.h /^ SEQUENTIAL, \/\/\/< next() always true, traps calls of next() when running with 1 node (should not happen!)$/;" e enum:ProtoMol::Parallel::WorkState SHADOW framework/base/ScalarStructure.h /^ SHADOW=LASTREDUCE,$/;" e enum:ProtoMol::ScalarStructure::Index SHIFTSWITCHINGFUNCTIONBASE_H framework/topology/ShiftSwitchingFunctionBase.h 3;" d SHIFTSWITCHINGFUNCTION_H framework/topology/ShiftSwitchingFunction.h 3;" d SHORT framework/base/BSplineType.h /^ SHORT,$/;" e enum:ProtoMol::BSplineEnum::Enum SI framework/base/pmconstants.cpp /^ namespace SI {$/;" n file: SI framework/base/pmconstants.h /^ namespace SI {$/;" n SIGMA_CHARMM19_TO_CHARMM28 framework/base/PAR.h /^ static const Real SIGMA_CHARMM19_TO_CHARMM28;$/;" m struct:ProtoMol::PAR::Nonbonded SIGMA_CHARMM19_TO_CHARMM28 framework/base/iSGPAR.h /^ static const Real SIGMA_CHARMM19_TO_CHARMM28;$/;" m struct:ProtoMol::iSGPAR::Nonbonded SIGMA_CHARMM28_TO_CHARMM19 framework/base/PAR.h /^ static const Real SIGMA_CHARMM28_TO_CHARMM19;$/;" m struct:ProtoMol::PAR::Nonbonded SIGMA_CHARMM28_TO_CHARMM19 framework/base/iSGPAR.h /^ static const Real SIGMA_CHARMM28_TO_CHARMM19;$/;" m struct:ProtoMol::iSGPAR::Nonbonded SIMPLETYPES_H framework/base/simpleTypes.h 3;" d SIZEOF_CHAR protomol_config.h 150;" d SIZEOF_INT protomol_config.h 153;" d SIZEOF_LONG protomol_config.h 156;" d SIZEOF_SHORT protomol_config.h 159;" d SIZEOF_SIZE_T protomol_config.h 162;" d SIZEOF_VOIDP protomol_config.h 165;" d SI_FACTOR framework/forces/ExternalGravitationSystemForce.cpp /^ static const Real SI_FACTOR = 1e-3*Constant::SI::KCAL\/Constant::SI::LENGTH_AA;$/;" m namespace:ProtoMol file: SI_FORCE_FACTOR framework/forces/ExternalMagneticFieldExtendedForce.cpp /^ static const Real SI_FORCE_FACTOR = Constant::SI::ELECTRON_CHARGE*Constant::SI::AVOGADRO*Constant::SI::KCAL\/Constant::SI::LENGTH_AA*(1e8\/sqrt(4184.0));$/;" m namespace:ProtoMol file: SLAVE framework/parallel/Parallel.h /^ SLAVE, \/\/\/< slave$/;" e enum:ProtoMol::Parallel::WorkState SOCKLEN_TYPE protomol_config.h 168;" d SOCKLEN_TYPE protomol_config_windows.h 46;" d SPHERICALSYSTEMFORCE_H framework/forces/SphericalSystemForce.h 3;" d SQRTCOULOMBCONSTANT framework/base/pmconstants.cpp /^ const Real SQRTCOULOMBCONSTANT = 18.2226123264;$/;" m namespace:ProtoMol::Constant file: STACK_H framework/base/Stack.h 3;" d STAGES applications/iSGProtomol-app/io/TRANSReader.h /^ STAGES,$/;" e enum:ProtoMol::TRANSReader::TRANSRecordTypeEnum STANDARDINTEGRATOR_H framework/integrators/StandardIntegrator.h 3;" d STATIC framework/parallel/Parallel.h /^ STATIC, \/\/\/< next() based on modulo, simple load balancing$/;" e enum:ProtoMol::Parallel::WorkState STATIC framework/parallel/ParallelType.h /^ STATIC, \/\/\/< Static load balancing$/;" e enum:ProtoMol::ParallelEnum::Enum STDC_HEADERS protomol_config.h 171;" d STRING framework/base/ValueType.h /^ STRING,$/;" e enum:ProtoMol::ValueEnum::Enum STRINGUTILITIES_H framework/base/stringutilities.h 3;" d STSINTEGRATOR_H framework/integrators/STSIntegrator.h 3;" d STSIntegrator framework/integrators/STSIntegrator.cpp /^ STSIntegrator::STSIntegrator() : StandardIntegrator(),myTimestep(0.0){}$/;" f class:ProtoMol::STSIntegrator STSIntegrator framework/integrators/STSIntegrator.cpp /^ STSIntegrator::STSIntegrator(Real timestep, ForceGroup *overloadedForces) :$/;" f class:ProtoMol::STSIntegrator STSIntegrator framework/integrators/STSIntegrator.h /^ class STSIntegrator: public StandardIntegrator {$/;" c namespace:ProtoMol SYSTEMCOMPAREFORCE_H framework/forces/SystemCompareForce.h 3;" d SYSTEMFORCE_H framework/forces/SystemForce.h 3;" d SYSTEMTIMEFORCE_H framework/forces/SystemTimeForce.h 3;" d SYSTEMUTILITIES_H framework/base/systemutilities.h 3;" d S_ALT_LOC framework/base/PDB.h /^ S_ALT_LOC = 16,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_ATOM_NAME framework/base/PDB.h /^ S_ATOM_NAME = 12,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_CHAIN_ID framework/base/PDB.h /^ S_CHAIN_ID = 21,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_CHARGE framework/base/PDB.h /^ S_CHARGE = 78$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_ELEMENT_SYMBOL framework/base/PDB.h /^ S_ELEMENT_SYMBOL = 76,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_FOOT_NOTE framework/base/PDB.h /^ S_FOOT_NOTE = 67,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_I_CODE framework/base/PDB.h /^ S_I_CODE = 26,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_OCCUP framework/base/PDB.h /^ S_OCCUP = 54,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_RECORD_NAME framework/base/PDB.h /^ S_RECORD_NAME = 0,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_RES_NAME framework/base/PDB.h /^ S_RES_NAME = 17,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_RES_SEQ framework/base/PDB.h /^ S_RES_SEQ = 22,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_SEG_ID framework/base/PDB.h /^ S_SEG_ID = 72,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_SERIAL framework/base/PDB.h /^ S_SERIAL = 6,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_TEMP framework/base/PDB.h /^ S_TEMP = 60,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_X framework/base/PDB.h /^ S_X = 30,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_Y framework/base/PDB.h /^ S_Y = 38,$/;" e enum:ProtoMol::PDB::PDBAtom::Start S_Z framework/base/PDB.h /^ S_Z = 46,$/;" e enum:ProtoMol::PDB::PDBAtom::Start SameMoleculeConstraint framework/forces/oneAtomContraints.h /^ struct SameMoleculeConstraint {$/;" s namespace:ProtoMol ScalarStructure framework/base/ScalarStructure.cpp /^ ScalarStructure::ScalarStructure() : Proxy(),$/;" f class:ProtoMol::ScalarStructure ScalarStructure framework/base/ScalarStructure.h /^ class ScalarStructure : public Proxy {$/;" c namespace:ProtoMol SelectType framework/base/typeSelection.h /^ template struct SelectType {$/;" s namespace:ProtoMol::TypeSelection SelectTypeCheck framework/base/typeSelection.h /^ template struct SelectTypeCheck {$/;" s namespace:ProtoMol::TypeSelection SelectTypeCheckHelper framework/base/typeSelection.h /^ template struct SelectTypeCheckHelper {};$/;" s namespace:ProtoMol::TypeSelection SelectTypeCheckHelper framework/base/typeSelection.h /^ template struct SelectTypeCheckHelper {$/;" s namespace:ProtoMol::TypeSelection SelectTypeHelper framework/base/typeSelection.h /^ template struct SelectTypeHelper {$/;" s namespace:ProtoMol::TypeSelection SelectTypeHelper framework/base/typeSelection.h /^ template struct SelectTypeHelper {$/;" s namespace:ProtoMol::TypeSelection SemiGenericTopology framework/topology/SemiGenericTopology.h /^ SemiGenericTopology():GenericTopology(){}$/;" f class:ProtoMol::SemiGenericTopology SemiGenericTopology framework/topology/SemiGenericTopology.h /^ SemiGenericTopology(Real csf, $/;" f class:ProtoMol::SemiGenericTopology SemiGenericTopology framework/topology/SemiGenericTopology.h /^ class SemiGenericTopology: public GenericTopology {$/;" c namespace:ProtoMol SetupDimensions framework/base/Array_Fastest.h /^ void SetupDimensions(const size_type * pNDimensions, $/;" f class:ProtoMol::RefArray ShiftSwitchingFunction framework/topology/ShiftSwitchingFunction.cpp /^ ShiftSwitchingFunction::ShiftSwitchingFunction():myCutoff(0.0),$/;" f class:ProtoMol::ShiftSwitchingFunction ShiftSwitchingFunction framework/topology/ShiftSwitchingFunction.cpp /^ ShiftSwitchingFunction::ShiftSwitchingFunction(Real cutoff):myCutoff(cutoff),$/;" f class:ProtoMol::ShiftSwitchingFunction ShiftSwitchingFunction framework/topology/ShiftSwitchingFunction.h /^ class ShiftSwitchingFunction : private ShiftSwitchingFunctionBase {$/;" c namespace:ProtoMol ShiftSwitchingFunctionBase framework/topology/ShiftSwitchingFunctionBase.h /^ class ShiftSwitchingFunctionBase {$/;" c namespace:ProtoMol SphericalSystemForce framework/forces/SphericalSystemForce.cpp /^ SphericalSystemForce::SphericalSystemForce():SystemForce(),$/;" f class:ProtoMol::SphericalSystemForce SphericalSystemForce framework/forces/SphericalSystemForce.cpp /^ SphericalSystemForce::SphericalSystemForce(Vector3D center, Real radius, Real k, int j \/*, Real u*\/):SystemForce(),$/;" f class:ProtoMol::SphericalSystemForce SphericalSystemForce framework/forces/SphericalSystemForce.h /^ class SphericalSystemForce : public SystemForce {$/;" c namespace:ProtoMol Stack framework/base/Stack.h /^ Stack::Stack() {$/;" f class:ProtoMol::Stack Stack framework/base/Stack.h /^ class Stack {$/;" c namespace:ProtoMol StandardIntegrator framework/integrators/StandardIntegrator.cpp /^ StandardIntegrator::StandardIntegrator():Integrator(),myPreviousIntegrator(NULL){}$/;" f class:ProtoMol::StandardIntegrator StandardIntegrator framework/integrators/StandardIntegrator.cpp /^ StandardIntegrator::StandardIntegrator(ForceGroup* forceGroup):Integrator(forceGroup),myPreviousIntegrator(NULL){}$/;" f class:ProtoMol::StandardIntegrator StandardIntegrator framework/integrators/StandardIntegrator.h /^ class StandardIntegrator: public Integrator {$/;" c namespace:ProtoMol Start framework/base/PDB.h /^ enum Start{$/;" g struct:ProtoMol::PDB::PDBAtom SystemCompareForce framework/forces/SystemCompareForce.cpp /^ SystemCompareForce::SystemCompareForce(Force* actualForce, CompareForce* compareForce):CompareForce(actualForce,compareForce){}$/;" f class:ProtoMol::SystemCompareForce SystemCompareForce framework/forces/SystemCompareForce.h /^ class SystemCompareForce : public CompareForce, public SystemForce {$/;" c namespace:ProtoMol SystemForce framework/forces/SystemForce.h /^ SystemForce():Force(){}$/;" f class:ProtoMol::SystemForce SystemForce framework/forces/SystemForce.h /^ class SystemForce : virtual public Force {$/;" c namespace:ProtoMol SystemTimeForce framework/forces/SystemTimeForce.cpp /^ SystemTimeForce::SystemTimeForce(Force* actualForce):TimeForce(actualForce){}$/;" f class:ProtoMol::SystemTimeForce SystemTimeForce framework/forces/SystemTimeForce.h /^ class SystemTimeForce : public TimeForce, public SystemForce {$/;" c namespace:ProtoMol T applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ int T; \/\/ The ID# of the molecule currently being transformed$/;" m class:ProtoMol::iSGIntegrator T framework/imd/imd.h /^ float T;$/;" m struct:ProtoMol::IMD:: T framework/topology/ArrayCellListStructure.h /^ typedef std::pair T;$/;" t class:ProtoMol::ArrayCellListStructure T1 framework/topology/ArrayCellListStructure.h /^ typedef CubicCellLocation T1;$/;" t class:ProtoMol::ArrayCellListStructure T2 framework/topology/ArrayCellListStructure.h /^ typedef int T2;$/;" t class:ProtoMol::ArrayCellListStructure TContainer framework/topology/ArrayCellListStructure.h /^ typedef Array TContainer;$/;" t class:ProtoMol::ArrayCellListStructure TFactory framework/frontend/ForceFactoryDetails.h /^ typedef Factory TFactory;$/;" t class:ProtoMol::ForceFactoryDetails TFactory framework/frontend/IntegratorFactoryDetails.h /^ typedef Factory TFactory;$/;" t class:ProtoMol::IntegratorFactoryDetails TFactory framework/frontend/OutputFactoryDetails.h /^ typedef Factory TFactory;$/;" t class:ProtoMol::OutputFactoryDetails TFactory framework/frontend/TopologyFactoryDetails.h /^ typedef Factory TFactory;$/;" t class:ProtoMol::TopologyFactoryDetails TIMEFACTOR framework/base/pmconstants.cpp /^ const Real TIMEFACTOR = 48.88821290839616; \/\/ TIMEUNIT is 1 \/ sqrt(4.184e-4)$/;" m namespace:ProtoMol::Constant file: TIMEFORCE_H framework/forces/TimeForce.h 3;" d TIMERSTATISTIC_H framework/base/TimerStatistic.h 3;" d TIME_FS framework/base/pmconstants.cpp /^ const Real TIME_FS = 1e+15; \/\/ [fs]$/;" m namespace:ProtoMol::Constant::SI file: TIME_WITH_SYS_TIME protomol_config.h 174;" d TINY framework/base/pmconstants.cpp /^ const Real TINY = 1.0e-20;$/;" m namespace:ProtoMol::Constant file: TOGGLE_LIGHTING applications/xyzviz-app/xyzviz.cpp /^ TOGGLE_LIGHTING,$/;" e enum:MENU file: TOGGLE_PLANE_ROTATION applications/xyzviz-app/xyzviz.cpp /^ TOGGLE_PLANE_ROTATION,$/;" e enum:MENU file: TOGGLE_VIEW_CUBE applications/xyzviz-app/xyzviz.cpp /^ TOGGLE_VIEW_CUBE,$/;" e enum:MENU file: TOPOLOGYFACTORYDETAILS_H framework/frontend/TopologyFactoryDetails.h 3;" d TOPOLOGYFACTORY_H framework/frontend/TopologyFactory.h 3;" d TOPOLOGYUTILITIES_H framework/topology/topologyutilities.h 3;" d TOPOLOGY_H framework/topology/Topology.h 3;" d TORSION_H framework/topology/Torsion.h 3;" d TRANS applications/iSGProtomol-app/base/TRANS.h /^ class TRANS{$/;" c namespace:ProtoMol TRANSREADER_H applications/iSGProtomol-app/io/TRANSReader.h 3;" d TRANSReader applications/iSGProtomol-app/io/TRANSReader.cpp /^ TRANSReader::TRANSReader():$/;" f class:ProtoMol::TRANSReader TRANSReader applications/iSGProtomol-app/io/TRANSReader.cpp /^ TRANSReader::TRANSReader(const char* filename):$/;" f class:ProtoMol::TRANSReader TRANSReader applications/iSGProtomol-app/io/TRANSReader.cpp /^ TRANSReader::TRANSReader(const std::string& filename):$/;" f class:ProtoMol::TRANSReader TRANSReader applications/iSGProtomol-app/io/TRANSReader.h /^ class TRANSReader : public Reader {$/;" c namespace:ProtoMol TRANSRecordTypeEnum applications/iSGProtomol-app/io/TRANSReader.h /^ enum TRANSRecordTypeEnum {$/;" g class:ProtoMol::TRANSReader TRANS_H applications/iSGProtomol-app/base/TRANS.h 3;" d TYPESELECTION_H framework/base/typeSelection.h 3;" d Text framework/base/simpleTypes.h /^ Text():text(""){}$/;" f struct:ProtoMol::Text Text framework/base/simpleTypes.h /^ Text(const char* t):text(t){}$/;" f struct:ProtoMol::Text Text framework/base/simpleTypes.h /^ Text(const std::string& t):text(t){}$/;" f struct:ProtoMol::Text Text framework/base/simpleTypes.h /^ struct Text {$/;" s namespace:ProtoMol TextMapType framework/base/Configuration.h /^ typedef std::map TextMapType;$/;" t class:ProtoMol::Configuration ThermostatEnum framework/integrators/PaulTrapIntegrator.h /^ class ThermostatEnum {$/;" c namespace:ProtoMol ThermostatType framework/integrators/PaulTrapIntegrator.h /^ typedef AbstractEnumType ThermostatType;$/;" t namespace:ProtoMol TimeForce framework/forces/TimeForce.cpp /^ TimeForce::TimeForce(Force* actualForce){$/;" f class:ProtoMol::TimeForce TimeForce framework/forces/TimeForce.h /^ class TimeForce : virtual public Force {$/;" c namespace:ProtoMol TimeRep framework/base/Timer.cpp /^ TimeRep::TimeRep()$/;" f class:ProtoMol::TimeRep TimeRep framework/base/Timer.cpp /^ TimeRep::TimeRep(double realTime, double userTime, double sysTime)$/;" f class:ProtoMol::TimeRep TimeRep framework/base/Timer.h /^ class TimeRep {$/;" c namespace:ProtoMol Timer framework/base/Timer.cpp /^ Timer::Timer()$/;" f class:ProtoMol::Timer Timer framework/base/Timer.h /^ class Timer {$/;" c namespace:ProtoMol TimerStatistic framework/base/TimerStatistic.h /^ class TimerStatistic {$/;" c namespace:ProtoMol Topology framework/topology/Topology.h /^ Topology():SemiGenericTopology(){}$/;" f class:ProtoMol::Topology Topology framework/topology/Topology.h /^ Topology(Real csf, $/;" f class:ProtoMol::Topology Topology framework/topology/Topology.h /^ class Topology: public SemiGenericTopology {$/;" c namespace:ProtoMol TopologyFactory framework/frontend/TopologyFactory.h /^ typedef Factory TopologyFactory;$/;" t namespace:ProtoMol TopologyFactoryDetails framework/frontend/TopologyFactoryDetails.cpp /^ TopologyFactoryDetails::TopologyFactoryDetails():FactoryBase(){$/;" f class:ProtoMol::TopologyFactoryDetails TopologyFactoryDetails framework/frontend/TopologyFactoryDetails.cpp /^ TopologyFactoryDetails::TopologyFactoryDetails(const TopologyFactoryDetails&){}$/;" f class:ProtoMol::TopologyFactoryDetails TopologyFactoryDetails framework/frontend/TopologyFactoryDetails.h /^ class TopologyFactoryDetails : public FactoryBase {$/;" c namespace:ProtoMol Torsion framework/topology/Torsion.h /^ Torsion():atom1(-1), atom2(-1), atom3(-1), atom4(-1) {$/;" f class:ProtoMol::Torsion Torsion framework/topology/Torsion.h /^ class Torsion {$/;" c namespace:ProtoMol TransformMap applications/iSGProtomol-app/integrators/ModifierISG.h /^ TransformMap(){}$/;" f struct:ProtoMol::ModifierISG::TransformMap TransformMap applications/iSGProtomol-app/integrators/ModifierISG.h /^ TransformMap(int i, int s) {$/;" f struct:ProtoMol::ModifierISG::TransformMap TransformMap applications/iSGProtomol-app/integrators/ModifierISG.h /^ struct TransformMap {$/;" s class:ProtoMol::ModifierISG Transformed applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ bool Transformed; \/\/ flag so we know when the molecule has been completely transformed$/;" m class:ProtoMol::iSGIntegrator TripleInt framework/base/simpleTypes.h /^ TripleInt():h(0),k(0),l(0){}$/;" f struct:ProtoMol::TripleInt TripleInt framework/base/simpleTypes.h /^ TripleInt(int a, int b,int c):h(a),k(b),l(c){}$/;" f struct:ProtoMol::TripleInt TripleInt framework/base/simpleTypes.h /^ struct TripleInt {$/;" s namespace:ProtoMol Type applications/coords2coords-app/coords2coords.cpp /^ enum Type {UNDEF,$/;" g struct:Format file: Type framework/base/ValueType.h /^ typedef Real Type;$/;" t struct:ProtoMol::ValueTraits Type framework/base/ValueType.h /^ typedef ValueTraits Type;$/;" t struct:ProtoMol::Enum2ValueTraits Type framework/base/ValueType.h /^ typedef ValueTraits Type;$/;" t struct:ProtoMol::Enum2ValueTraits Type framework/base/ValueType.h /^ typedef ValueTraits Type;$/;" t struct:ProtoMol::Enum2ValueTraits Type framework/base/ValueType.h /^ typedef ValueTraits Type;$/;" t struct:ProtoMol::Enum2ValueTraits Type framework/base/ValueType.h /^ typedef ValueTraits Type;$/;" t struct:ProtoMol::Enum2ValueTraits Type framework/base/ValueType.h /^ typedef ValueTraits Type;$/;" t struct:ProtoMol::Enum2ValueTraits Type framework/base/ValueType.h /^ typedef ValueTraits Type;$/;" t struct:ProtoMol::Enum2ValueTraits Type framework/base/ValueType.h /^ typedef ValueTraits > Type;$/;" t struct:ProtoMol::Enum2ValueTraits Type framework/base/ValueType.h /^ typedef ValueTraits Type;$/;" t struct:ProtoMol::Enum2ValueTraits Type framework/base/ValueType.h /^ typedef ValueType::Force Type;$/;" t struct:ProtoMol::ValueTraits Type framework/base/ValueType.h /^ typedef ValueType::Integrator Type;$/;" t struct:ProtoMol::ValueTraits Type framework/base/ValueType.h /^ typedef Vector3D Type;$/;" t struct:ProtoMol::ValueTraits Type framework/base/ValueType.h /^ typedef bool Type;$/;" t struct:ProtoMol::ValueTraits Type framework/base/ValueType.h /^ typedef int Type;$/;" t struct:ProtoMol::ValueTraits Type framework/base/ValueType.h /^ typedef std::string Type; \/\/ Type, template parameter$/;" t struct:ProtoMol::ValueTraits Type framework/base/ValueType.h /^ typedef std::vector Type;$/;" t struct:ProtoMol::ValueTraits Type framework/base/ValueType.h /^ typedef unsigned int Type;$/;" t struct:ProtoMol::ValueTraits Type framework/frontend/InputValue.h /^ typedef typename Enum2ValueTraits::Type Type;$/;" t class:ProtoMol::InputValue Type tools/bccAnalyzer.cpp /^ enum Type {UNDEF,$/;" g struct:Format file: TypeSelection framework/base/typeSelection.h /^ namespace TypeSelection {$/;" n UINT framework/base/ValueType.h /^ UINT,$/;" e enum:ProtoMol::ValueEnum::Enum UIntArrayN framework/base/Array_Fastest.h /^ typedef const size_t (&UIntArrayN)[N];$/;" t class:ProtoMol::ArraySize UMBRELLAINTEGRATOR_H framework/integrators/UmbrellaIntegrator.h 3;" d UNDEF applications/coords2coords-app/coords2coords.cpp /^ enum Type {UNDEF,$/;" e enum:Format::Type file: UNDEF tools/bccAnalyzer.cpp /^ enum Type {UNDEF,$/;" e enum:Format::Type file: UNDEFINED applications/iSGProtomol-app/io/TRANSReader.h /^ UNDEFINED,$/;" e enum:ProtoMol::TRANSReader::TRANSRecordTypeEnum UNDEFINED applications/iSGProtomol-app/io/XSCReader.h /^ UNDEFINED,$/;" e enum:ProtoMol::XSCReader::XSCRecordTypeEnum UNDEFINED applications/iSGProtomol-app/io/iSGPARReader.h /^ UNDEFINED,$/;" e enum:ProtoMol::iSGPARReader::PARRecordTypeEnum UNDEFINED framework/base/BSplineType.h /^ UNDEFINED = 0, \/\/ Value returned when no string matches$/;" e enum:ProtoMol::BSplineEnum::Enum UNDEFINED framework/base/ConstraintValueType.h /^ UNDEFINED = 0, \/\/ ConstraintValue returned when no string matches$/;" e enum:ProtoMol::ConstraintValueEnum::Enum UNDEFINED framework/base/PAR.h /^ UNDEFINED,$/;" e enum:ProtoMol::PAR::CharmmTypeEnum UNDEFINED framework/base/ValueType.h /^ UNDEFINED = 0, \/\/ Value returned when no string matches$/;" e enum:ProtoMol::ValueEnum::Enum UNDEFINED framework/base/iSGPAR.h /^ UNDEFINED,$/;" e enum:ProtoMol::iSGPAR::CharmmTypeEnum UNDEFINED framework/frontend/InputPosVelType.h /^ UNDEFINED = 0, \/\/ InputPosVel returned when no string matches$/;" e enum:ProtoMol::InputPosVelEnum::Enum UNDEFINED framework/integrators/PaulTrapIntegrator.h /^ UNDEFINED = 0, \/\/ Value returned when no string matches$/;" e enum:ProtoMol::ThermostatEnum::Enum UNDEFINED framework/io/PARReader.h /^ UNDEFINED,$/;" e enum:ProtoMol::PARReader::PARRecordTypeEnum UNDEFINED framework/parallel/ParallelType.h /^ UNDEFINED = 0, \/\/ Value returned when no string matches$/;" e enum:ProtoMol::ParallelEnum::Enum UNDEFINED framework/topology/ExclusionType.h /^ UNDEFINED = 0, \/\/ Value returned when no string matches$/;" e enum:ProtoMol::ExclusionEnum::Enum UNIVERSALSWITCHINGFUNCTIONBASE_H framework/topology/UniversalSwitchingFunctionBase.h 3;" d UNIVERSALSWITCHINGFUNCTION_H framework/topology/UniversalSwitchingFunction.h 3;" d USE framework/topology/C1SwitchingFunction.h /^ enum {USE=1};$/;" e enum:ProtoMol::C1SwitchingFunction:: USE framework/topology/C2SwitchingFunction.h /^ enum {USE=1};$/;" e enum:ProtoMol::C2SwitchingFunction:: USE framework/topology/ComplementSwitchingFunction.h /^ enum {USE=1};$/;" e enum:ProtoMol::ComplementSwitchingFunction:: USE framework/topology/CutoffSwitchingFunction.h /^ enum {USE=1};$/;" e enum:ProtoMol::CutoffSwitchingFunction:: USE framework/topology/RangeSwitchingFunction.h /^ enum {USE=1};$/;" e enum:ProtoMol::RangeSwitchingFunction:: USE framework/topology/ShiftSwitchingFunction.h /^ enum {USE=1};$/;" e enum:ProtoMol::ShiftSwitchingFunction:: USE framework/topology/UniversalSwitchingFunction.h /^ enum {USE=0};$/;" e enum:ProtoMol::UniversalSwitchingFunction:: USE_REAL_IS_DOUBLE framework/base/Real.h 9;" d UmbrellaIntegrator framework/integrators/UmbrellaIntegrator.cpp /^ UmbrellaIntegrator::UmbrellaIntegrator (int cycles,$/;" f class:ProtoMol::UmbrellaIntegrator UmbrellaIntegrator framework/integrators/UmbrellaIntegrator.cpp /^ UmbrellaIntegrator::UmbrellaIntegrator():MTSIntegrator(){}$/;" f class:ProtoMol::UmbrellaIntegrator UmbrellaIntegrator framework/integrators/UmbrellaIntegrator.h /^ class UmbrellaIntegrator : public MTSIntegrator {$/;" c namespace:ProtoMol Undefined framework/base/Value.h /^ struct Undefined{};$/;" s class:ProtoMol::Value UniversalSwitchingFunction framework/topology/UniversalSwitchingFunction.h /^ class UniversalSwitchingFunction : private UniversalSwitchingFunctionBase {$/;" c namespace:ProtoMol UniversalSwitchingFunctionBase framework/topology/UniversalSwitchingFunctionBase.h /^ class UniversalSwitchingFunctionBase {$/;" c namespace:ProtoMol VACUUM framework/topology/PeriodicBoundaryConditions.h /^ enum {PERIODIC = 1, VACUUM = 0};$/;" e enum:ProtoMol::PeriodicBoundaryConditions:: VACUUM framework/topology/VacuumBoundaryConditions.h /^ enum {PERIODIC = 0, VACUUM = 1};$/;" e enum:ProtoMol::VacuumBoundaryConditions:: VACUUMBOUNDARYCONDITIONS_H framework/topology/VacuumBoundaryConditions.h 3;" d VALUETYPE_H framework/base/ValueType.h 3;" d VALUE_H framework/base/Value.h 3;" d VECTOR framework/base/ValueType.h /^ VECTOR,$/;" e enum:ProtoMol::ValueEnum::Enum VECTOR3D framework/base/ValueType.h /^ VECTOR3D,$/;" e enum:ProtoMol::ValueEnum::Enum VECTOR3DBLOCK_H framework/base/Vector3DBlock.h 3;" d VECTOR3D_H framework/base/Vector3D.h 3;" d VECTOR_H framework/base/Vector.h 3;" d VERSION protomol_config.h 177;" d VIRIALXX framework/base/ScalarStructure.h /^ VIRIALXX,$/;" e enum:ProtoMol::ScalarStructure::Index VIRIALXY framework/base/ScalarStructure.h /^ VIRIALXY,$/;" e enum:ProtoMol::ScalarStructure::Index VIRIALXZ framework/base/ScalarStructure.h /^ VIRIALXZ,$/;" e enum:ProtoMol::ScalarStructure::Index VIRIALYX framework/base/ScalarStructure.h /^ VIRIALYX,$/;" e enum:ProtoMol::ScalarStructure::Index VIRIALYY framework/base/ScalarStructure.h /^ VIRIALYY,$/;" e enum:ProtoMol::ScalarStructure::Index VIRIALYZ framework/base/ScalarStructure.h /^ VIRIALYZ,$/;" e enum:ProtoMol::ScalarStructure::Index VIRIALZX framework/base/ScalarStructure.h /^ VIRIALZX,$/;" e enum:ProtoMol::ScalarStructure::Index VIRIALZY framework/base/ScalarStructure.h /^ VIRIALZY,$/;" e enum:ProtoMol::ScalarStructure::Index VIRIALZZ framework/base/ScalarStructure.h /^ VIRIALZZ,$/;" e enum:ProtoMol::ScalarStructure::Index VISITED framework/topology/AngleInfo.h /^ VISITED = 10001,$/;" e enum:ProtoMol::AngleInfo:: VMDSOCKINTERNAL framework/imd/vmdsock.cpp 29;" d file: VacuumBoundaryConditions framework/topology/VacuumBoundaryConditions.h /^ class VacuumBoundaryConditions {$/;" c namespace:ProtoMol Value framework/base/Value.cpp /^ Value::Value():myValue(NULL){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(Real value ):myValue(new Holder > (value)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(Real value, const Undefined*):myValue(new Holder > (value,false)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(bool value ):myValue(new Holder > (value)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(bool value, const Undefined*):myValue(new Holder > (value,false)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const Value& other):myValue(other.myValue ? other.myValue->clone() : NULL){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const Value& value, const Undefined*):myValue(value.myValue ? value.myValue->clone() : NULL){clear();}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const ValueType::Force& value ):myValue(new Holder > (value)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const ValueType::Force& value, const Undefined*):myValue(new Holder > (value,false)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const ValueType::Integrator& value):myValue(new Holder >(value)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const ValueType::Integrator& value, const Undefined*):myValue(new Holder >(value,false)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const Vector3D& value ):myValue(new Holder > (value)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const Vector3D& value, const Undefined*):myValue(new Holder > (value,false)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const char* value ):myValue(new Holder > (value)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const char* value, const Undefined*):myValue(new Holder > (value,false)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const std::string& value ):myValue(new Holder > (value)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const std::string& value, const Undefined*):myValue(new Holder > (value,false)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const vector& value ):myValue(new Holder > > (value)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(const vector& value, const Undefined*):myValue(new Holder > > (value,false)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(int value ):myValue(new Holder > (value)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(int value, const Undefined*):myValue(new Holder > (value,false)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(unsigned int value ):myValue(new Holder > (value)){}$/;" f class:ProtoMol::Value Value framework/base/Value.cpp /^ Value::Value(unsigned int value, const Undefined*):myValue(new Holder > (value,false)){}$/;" f class:ProtoMol::Value Value framework/base/Value.h /^ Value(const T&, const C&, const Value& value):myValue(new Holder, C>(ValueTraits::init())){$/;" f class:ProtoMol::Value Value framework/base/Value.h /^ Value(const T& value, const C&):myValue(new Holder, C>(value)){}$/;" f class:ProtoMol::Value Value framework/base/Value.h /^ Value(const T& value, const C&, const Undefined*):myValue(new Holder, C>(value,false)){}$/;" f class:ProtoMol::Value Value framework/base/Value.h /^ class Value{$/;" c namespace:ProtoMol ValueEnum framework/base/ValueType.h /^ class ValueEnum {$/;" c namespace:ProtoMol ValueMapType framework/base/Configuration.h /^ typedef std::map ValueMapType;$/;" t class:ProtoMol::Configuration ValueTraits framework/base/ValueType.h /^ struct ValueTraits{$/;" s namespace:ProtoMol ValueTraits framework/base/ValueType.h /^ struct ValueTraits{$/;" s namespace:ProtoMol ValueTraits framework/base/ValueType.h /^ struct ValueTraits{$/;" s namespace:ProtoMol ValueTraits framework/base/ValueType.h /^ struct ValueTraits{$/;" s namespace:ProtoMol ValueTraits framework/base/ValueType.h /^ struct ValueTraits{$/;" s namespace:ProtoMol ValueTraits framework/base/ValueType.h /^ struct ValueTraits : public ValueTraits {}; $/;" s namespace:ProtoMol ValueTraits framework/base/ValueType.h /^ struct ValueTraits : public ValueTraits {}; $/;" s namespace:ProtoMol ValueTraits framework/base/ValueType.h /^ struct ValueTraits{$/;" s namespace:ProtoMol ValueTraits framework/base/ValueType.h /^ struct ValueTraits{$/;" s namespace:ProtoMol ValueTraits framework/base/ValueType.h /^ struct ValueTraits >{$/;" s namespace:ProtoMol ValueTraits framework/base/ValueType.h /^ struct ValueTraits{$/;" s namespace:ProtoMol ValueType framework/base/ValueType.h /^ typedef AbstractEnumType ValueType;$/;" t namespace:ProtoMol Vect framework/base/Array_NoPartialSpecialization.h /^ const std::vector & Vect() const $/;" f class:ProtoMol::ArraySize Vector framework/base/Array_NoPartialSpecialization.h /^ std::vector & Vector;$/;" m class:ProtoMol::ArraySize Vector framework/base/Array_NoPartialSpecialization.h /^ std::vector Vector;$/;" m class:ProtoMol::ArraySizes Vector framework/base/Vector.h /^ Vector(void){}$/;" f class:ProtoMol::Vector Vector framework/base/Vector.h /^ explicit Vector(T elm) { $/;" f class:ProtoMol::Vector Vector framework/base/Vector.h /^ class Vector {$/;" c namespace:ProtoMol Vector3D framework/base/Vector3D.h /^ Vector3D():x(0.0),y(0.0),z(0.0) {}$/;" f class:ProtoMol::Vector3D Vector3D framework/base/Vector3D.h /^ Vector3D(Real X, Real Y, Real Z):x(X),y(Y),z(Z) {}$/;" f class:ProtoMol::Vector3D Vector3D framework/base/Vector3D.h /^ Vector3D(const Vector3D &c) {$/;" f class:ProtoMol::Vector3D Vector3D framework/base/Vector3D.h /^ class Vector3D {$/;" c namespace:ProtoMol Vector3DBlock framework/base/Vector3DBlock.h /^ Vector3DBlock(): std::vector(),Proxy() {}$/;" f class:ProtoMol::Vector3DBlock Vector3DBlock framework/base/Vector3DBlock.h /^ Vector3DBlock(size_t size): std::vector(size),Proxy() {}$/;" f class:ProtoMol::Vector3DBlock Vector3DBlock framework/base/Vector3DBlock.h /^ Vector3DBlock(size_t size,const Vector3D& init): std::vector(size,init),Proxy() {}$/;" f class:ProtoMol::Vector3DBlock Vector3DBlock framework/base/Vector3DBlock.h /^ class Vector3DBlock: public std::vector, public Proxy{$/;" c namespace:ProtoMol Vector3DIdx tools/bccAnalyzer.cpp /^ Vector3DIdx():v(Vector3D(0.0,0.0,0.0)),i(-1){}$/;" f class:Vector3DIdx Vector3DIdx tools/bccAnalyzer.cpp /^ Vector3DIdx(const Vector3D& a):v(a),i(-1){}$/;" f class:Vector3DIdx Vector3DIdx tools/bccAnalyzer.cpp /^ Vector3DIdx(const Vector3D& a, int b):v(a),i(b){}$/;" f class:Vector3DIdx Vector3DIdx tools/bccAnalyzer.cpp /^class Vector3DIdx {$/;" c file: VectorPacker framework/base/Vector.h /^ VectorPacker(std::vector & v):myVector(v){}$/;" f class:ProtoMol::VectorPacker VectorPacker framework/base/Vector.h /^ class VectorPacker{$/;" c namespace:ProtoMol Vol applications/iSGProtomol-app/base/XSC.h /^ Real Vol, Epsilon_vel;$/;" m struct:ProtoMol::XSC W applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real W; \/\/ Barostat mass. Units: (kcal fs^2 \/ mol)$/;" m class:ProtoMol::iSGIntegrator W framework/integrators/NPTVerletIntegrator.h /^ Real W; \/\/ Barostat mass. Units: (kcal fs^2 \/ mol)$/;" m class:ProtoMol::NPTVerletIntegrator WALL framework/base/TimerStatistic.h /^ WALL = 0, $/;" e enum:ProtoMol::TimerStatistic::Enum WRAPPERMETAFORCE_H framework/forces/WrapperMetaForce.h 3;" d WRITER_H framework/io/Writer.h 3;" d W_OK framework/base/systemutilities.cpp 16;" d file: WorkState framework/parallel/Parallel.h /^ enum WorkState {$/;" g class:ProtoMol::Parallel WrapperMetaForce framework/forces/WrapperMetaForce.cpp /^ WrapperMetaForce::WrapperMetaForce(string id, bool minimal, Force* force, string forceAlias):MetaForce(),keyword(id),myMinimal(minimal){$/;" f class:ProtoMol::WrapperMetaForce WrapperMetaForce framework/forces/WrapperMetaForce.cpp /^ WrapperMetaForce::WrapperMetaForce(string id, bool minimal, Force* force1, string forceAlias1, Force* force2, string forceAlias2):MetaForce(),keyword(id),myMinimal(minimal){$/;" f class:ProtoMol::WrapperMetaForce WrapperMetaForce framework/forces/WrapperMetaForce.h /^ class WrapperMetaForce : public MetaForce {$/;" c namespace:ProtoMol Writer framework/io/Writer.cpp /^ Writer::Writer():File(std::ios::out|std::ios::trunc){}$/;" f class:ProtoMol::Writer Writer framework/io/Writer.cpp /^ Writer::Writer(const string& filename):File(std::ios::out|std::ios::trunc,filename){$/;" f class:ProtoMol::Writer Writer framework/io/Writer.cpp /^ Writer::Writer(std::ios::openmode mode):File(std::ios::out|mode){}$/;" f class:ProtoMol::Writer Writer framework/io/Writer.cpp /^ Writer::Writer(std::ios::openmode mode,const string& filename):File(std::ios::out|mode,filename){$/;" f class:ProtoMol::Writer Writer framework/io/Writer.h /^ class Writer : public File {$/;" c namespace:ProtoMol XFIG applications/coords2coords-app/coords2coords.cpp /^ XFIG,$/;" e enum:Format::Type file: XFIGWRITER_H framework/io/XFigWriter.h 3;" d XFigWriter framework/io/XFigWriter.cpp /^ XFigWriter::XFigWriter():Writer(),$/;" f class:ProtoMol::XFigWriter XFigWriter framework/io/XFigWriter.cpp /^ XFigWriter::XFigWriter(const std::string& filename):Writer(filename),$/;" f class:ProtoMol::XFigWriter XFigWriter framework/io/XFigWriter.h /^ class XFigWriter : public Writer {$/;" c namespace:ProtoMol XSC applications/iSGProtomol-app/base/XSC.h /^ struct XSC{$/;" s namespace:ProtoMol XSCREADER_H applications/iSGProtomol-app/io/XSCReader.h 3;" d XSCReader applications/iSGProtomol-app/io/XSCReader.cpp /^ XSCReader::XSCReader():Reader(),myXSCinfo(NULL){}$/;" f class:ProtoMol::XSCReader XSCReader applications/iSGProtomol-app/io/XSCReader.cpp /^ XSCReader::XSCReader(const std::string& filename):Reader(filename),myXSCinfo(NULL){}$/;" f class:ProtoMol::XSCReader XSCReader applications/iSGProtomol-app/io/XSCReader.h /^ class XSCReader : public Reader {$/;" c namespace:ProtoMol XSCRecordTypeEnum applications/iSGProtomol-app/io/XSCReader.h /^ enum XSCRecordTypeEnum {$/;" g class:ProtoMol::XSCReader XSCWRITER_H applications/iSGProtomol-app/io/XSCWriter.h 3;" d XSCWriter applications/iSGProtomol-app/io/XSCWriter.cpp /^ XSCWriter::XSCWriter():Writer(){}$/;" f class:ProtoMol::XSCWriter XSCWriter applications/iSGProtomol-app/io/XSCWriter.cpp /^ XSCWriter::XSCWriter(const std::string& filename):Writer(filename){}$/;" f class:ProtoMol::XSCWriter XSCWriter applications/iSGProtomol-app/io/XSCWriter.h /^ class XSCWriter : public Writer {$/;" c namespace:ProtoMol XSC_H applications/iSGProtomol-app/base/XSC.h 3;" d XYZ applications/coords2coords-app/coords2coords.cpp /^ XYZ,$/;" e enum:Format::Type file: XYZ framework/base/XYZ.h /^ XYZ(){};$/;" f struct:ProtoMol::XYZ XYZ framework/base/XYZ.h /^ XYZ(size_t n):coords(n,Vector3D(0.0,0.0,0.0)),names(n,std::string("")){}$/;" f struct:ProtoMol::XYZ XYZ framework/base/XYZ.h /^ struct XYZ{$/;" s namespace:ProtoMol XYZ framework/frontend/InputPosVelType.h /^ XYZ,$/;" e enum:ProtoMol::InputPosVelEnum::Enum XYZ tools/bccAnalyzer.cpp /^ XYZ,$/;" e enum:Format::Type file: XYZBIN applications/coords2coords-app/coords2coords.cpp /^ XYZBIN,$/;" e enum:Format::Type file: XYZBIN framework/frontend/InputPosVelType.h /^ XYZBIN,$/;" e enum:ProtoMol::InputPosVelEnum::Enum XYZBIN tools/bccAnalyzer.cpp /^ XYZBIN,$/;" e enum:Format::Type file: XYZBINREADER_H framework/io/XYZBinReader.h 3;" d XYZBINWRITER_H framework/io/XYZBinWriter.h 3;" d XYZBinReader framework/io/XYZBinReader.cpp /^ XYZBinReader::XYZBinReader():Reader(std::ios::binary),myCoords(NULL){}$/;" f class:ProtoMol::XYZBinReader XYZBinReader framework/io/XYZBinReader.cpp /^ XYZBinReader::XYZBinReader(const std::string& filename):Reader(std::ios::binary,filename),myCoords(NULL){}$/;" f class:ProtoMol::XYZBinReader XYZBinReader framework/io/XYZBinReader.h /^ class XYZBinReader : public Reader {$/;" c namespace:ProtoMol XYZBinWriter framework/io/XYZBinWriter.cpp /^ XYZBinWriter::XYZBinWriter(bool isLittleEndian, unsigned int size):$/;" f class:ProtoMol::XYZBinWriter XYZBinWriter framework/io/XYZBinWriter.cpp /^ XYZBinWriter::XYZBinWriter(const char* filename, bool isLittleEndian, unsigned int size):$/;" f class:ProtoMol::XYZBinWriter XYZBinWriter framework/io/XYZBinWriter.cpp /^ XYZBinWriter::XYZBinWriter(const std::string& filename, bool isLittleEndian, unsigned int size):$/;" f class:ProtoMol::XYZBinWriter XYZBinWriter framework/io/XYZBinWriter.h /^ class XYZBinWriter : public Writer {$/;" c namespace:ProtoMol XYZREADER_H framework/io/XYZReader.h 3;" d XYZReader framework/io/XYZReader.cpp /^ XYZReader::XYZReader():Reader(),myCoords(NULL),myNames(NULL){}$/;" f class:ProtoMol::XYZReader XYZReader framework/io/XYZReader.cpp /^ XYZReader::XYZReader(const std::string& filename):Reader(filename),myCoords(NULL),myNames(NULL){}$/;" f class:ProtoMol::XYZReader XYZReader framework/io/XYZReader.h /^ class XYZReader : public Reader {$/;" c namespace:ProtoMol XYZTRA applications/coords2coords-app/coords2coords.cpp /^ XYZTRA};$/;" e enum:Format::Type file: XYZTRA tools/bccAnalyzer.cpp /^ XYZTRA};$/;" e enum:Format::Type file: XYZTRAJECTORYREADER_H framework/io/XYZTrajectoryReader.h 3;" d XYZTRAJECTORYWRITER_H framework/io/XYZTrajectoryWriter.h 3;" d XYZTrajectoryReader framework/io/XYZTrajectoryReader.cpp /^ XYZTrajectoryReader::XYZTrajectoryReader():Reader(),myCoords(NULL),myNames(NULL),myFirst(true){}$/;" f class:ProtoMol::XYZTrajectoryReader XYZTrajectoryReader framework/io/XYZTrajectoryReader.cpp /^ XYZTrajectoryReader::XYZTrajectoryReader(const std::string& filename):Reader(filename),myCoords(NULL),myNames(NULL),myFirst(true){}$/;" f class:ProtoMol::XYZTrajectoryReader XYZTrajectoryReader framework/io/XYZTrajectoryReader.h /^ class XYZTrajectoryReader : public Reader {$/;" c namespace:ProtoMol XYZTrajectoryWriter framework/io/XYZTrajectoryWriter.cpp /^ XYZTrajectoryWriter::XYZTrajectoryWriter():$/;" f class:ProtoMol::XYZTrajectoryWriter XYZTrajectoryWriter framework/io/XYZTrajectoryWriter.cpp /^ XYZTrajectoryWriter::XYZTrajectoryWriter(const std::string& filename):$/;" f class:ProtoMol::XYZTrajectoryWriter XYZTrajectoryWriter framework/io/XYZTrajectoryWriter.h /^ class XYZTrajectoryWriter : public Writer {$/;" c namespace:ProtoMol XYZWRITER_H framework/io/XYZWriter.h 3;" d XYZWriter framework/io/XYZWriter.cpp /^ XYZWriter::XYZWriter():Writer(){}$/;" f class:ProtoMol::XYZWriter XYZWriter framework/io/XYZWriter.cpp /^ XYZWriter::XYZWriter(const std::string& filename):Writer(filename){}$/;" f class:ProtoMol::XYZWriter XYZWriter framework/io/XYZWriter.h /^ class XYZWriter : public Writer {$/;" c namespace:ProtoMol XYZ_H framework/base/XYZ.h 3;" d X_AXIS framework/topology/topologyutilities.h /^ enum {X_AXIS,Y_AXIS,Z_AXIS};$/;" e enum:ProtoMol:: Y_AXIS framework/topology/topologyutilities.h /^ enum {X_AXIS,Y_AXIS,Z_AXIS};$/;" e enum:ProtoMol:: ZERO framework/base/ConstraintValueType.h /^ ZERO,$/;" e enum:ProtoMol::ConstraintValueEnum::Enum Z_AXIS framework/topology/topologyutilities.h /^ enum {X_AXIS,Y_AXIS,Z_AXIS};$/;" e enum:ProtoMol:: Zero framework/base/ConstraintValueType.h /^ typedef Enum2Type Zero;$/;" t class:ProtoMol::ConstraintValueEnum _ESV_COMPLEX_ framework/base/FFTComplex.cpp 12;" d file: _TIMER_H framework/base/Timer.h 38;" d __SSTREAM__ framework/base/sstream_local.h 29;" d __my_sb framework/base/sstream_local.h /^ stringbuf __my_sb;$/;" m class:std::stringstreambase a framework/base/PAR.h /^ Real a; \/\/\/< epsilon$/;" m struct:ProtoMol::PAR::Nbfix a1 framework/integrators/EquilibriumMOLLYIntegrator.h /^ int a1; \/\/ Global index of atom 1, GenericTopology)$/;" m struct:ProtoMol::EquilibriumMOLLYIntegrator::HydrogenBond a1 framework/topology/ExclusionTable.h /^ int a1,a2;$/;" m struct:ProtoMol::ExclusionPair a14 framework/base/PAR.h /^ Real a14; \/\/\/< epsilon 14$/;" m struct:ProtoMol::PAR::Nbfix a2 framework/integrators/EquilibriumMOLLYIntegrator.h /^ int a2; \/\/ Global index of atom 1, GenericTopology)$/;" m struct:ProtoMol::EquilibriumMOLLYIntegrator::HydrogenBond a2 framework/topology/ExclusionTable.h /^ int a1,a2;$/;" m struct:ProtoMol::ExclusionPair aborting framework/base/Report.cpp /^ MyStreamer& aborting(MyStreamer& stream){$/;" f namespace:ProtoMol::Report absF2 framework/forces/CompareForce.h /^ Real absF2,rFavg,rFmax,rPE; $/;" m struct:ProtoMol::CompareForce::CompareError acceptors framework/base/PSF.h /^ std::vector acceptors;$/;" m class:ProtoMol::PSF access framework/base/systemutilities.cpp 12;" d file: accumulateEnergy applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) {$/;" f class:ProtoMol::iSGCoulombEwaldRealForce accumulateEnergy applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) {$/;" f class:ProtoMol::iSGCoulombEwaldRealTableForce accumulateEnergy applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) {$/;" f class:ProtoMol::iSGCoulombForce accumulateEnergy applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) {$/;" f class:ProtoMol::iSGIdealGasCoulombForce accumulateEnergy applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) {$/;" f class:ProtoMol::iSGIdealGasLennardJonesForce accumulateEnergy applications/iSGProtomol-app/forces/iSGLennardJonesForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) {$/;" f class:ProtoMol::iSGLennardJonesForce accumulateEnergy applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy, Real deltaMu) {$/;" f class:ProtoMol::iSGLennardJonesTableForce accumulateEnergy framework/forces/CoulombEwaldRealForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy) {$/;" f class:ProtoMol::CoulombEwaldRealForce accumulateEnergy framework/forces/CoulombEwaldRealTableForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy) {$/;" f class:ProtoMol::CoulombEwaldRealTableForce accumulateEnergy framework/forces/CoulombForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy) {$/;" f class:ProtoMol::CoulombForce accumulateEnergy framework/forces/CoulombMultiGridDirectForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy) {$/;" f class:ProtoMol::CoulombMultiGridDirectForce accumulateEnergy framework/forces/CoulombMultiGridDirectTableForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy) {$/;" f class:ProtoMol::CoulombMultiGridDirectTableForce accumulateEnergy framework/forces/GravitationForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy) {(*energies)[ScalarStructure::OTHER] += energy;}$/;" f class:ProtoMol::GravitationForce accumulateEnergy framework/forces/LennardJonesForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy) {$/;" f class:ProtoMol::LennardJonesForce accumulateEnergy framework/forces/LennardJonesTableForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy) {$/;" f class:ProtoMol::LennardJonesTableForce accumulateEnergy framework/forces/MagneticDipoleForce.h /^ static void accumulateEnergy(ScalarStructure* energies, Real energy) {$/;" f class:ProtoMol::MagneticDipoleForce accumulateNegTo framework/base/ReducedHessAngle.cpp /^ void ReducedHessAngle::accumulateNegTo(int i, int j, Matrix3by3 x)$/;" f class:ProtoMol::ReducedHessAngle accumulateTo framework/base/ReducedHessAngle.cpp /^ void ReducedHessAngle::accumulateTo(int i, int j, Matrix3by3 x)$/;" f class:ProtoMol::ReducedHessAngle add framework/base/Vector3D.h /^ Vector3D add(const Vector3D& b) const {return (*this)+b;}$/;" f class:ProtoMol::Vector3D add framework/frontend/OutputCache.h /^ void add(const PAR& par){myPAR = par;}$/;" f class:ProtoMol::OutputCache add framework/frontend/OutputCache.h /^ void add(const PSF& psf){myPSF = psf;}$/;" f class:ProtoMol::OutputCache add framework/frontend/OutputCache.h /^ void add(const iSGPAR& par){myiSGPAR = par;}$/;" f class:ProtoMol::OutputCache add framework/frontend/OutputCache.h /^ void add(const std::vector& pdbAtoms){myPDBAtoms = pdbAtoms;}$/;" f class:ProtoMol::OutputCache add framework/topology/ExclusionTable.cpp /^ void ExclusionTable::add(int atom1, int atom2, ExclusionClass type) {$/;" f class:ProtoMol::ExclusionTable addBond framework/topology/AngleInfo.cpp /^ void AngleInfo::addBond(int atom) {$/;" f class:ProtoMol::AngleInfo addDoKeyword framework/frontend/Output.h /^ virtual bool addDoKeyword() const{return true;}$/;" f class:ProtoMol::Output addDoKeyword framework/frontend/OutputScreen.h /^ virtual bool addDoKeyword() const {return false;}$/;" f class:ProtoMol::OutputScreen addElement framework/base/Stack.h /^ void Stack::addElement(T newElement) {$/;" f class:ProtoMol::Stack addExtendedForce framework/forces/ForceGroup.cpp /^ void ForceGroup::addExtendedForce(ExtendedForce *force) {$/;" f class:ProtoMol::ForceGroup addForce framework/forces/ForceGroup.cpp /^ void ForceGroup::addForce(Force *force){$/;" f class:ProtoMol::ForceGroup addForce framework/forces/WrapperMetaForce.cpp /^ void WrapperMetaForce::addForce(Force* force, string forceAlias){$/;" f class:ProtoMol::WrapperMetaForce addMetaForce framework/forces/ForceGroup.cpp /^ void ForceGroup::addMetaForce(MetaForce *force) {$/;" f class:ProtoMol::ForceGroup addModifier framework/integrators/Integrator.cpp /^ void Integrator::addModifier(Modifier* modifier){$/;" f class:ProtoMol::Integrator addModifierAfterInitialize applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::addModifierAfterInitialize() {$/;" f class:ProtoMol::iSGIntegrator addModifierAfterInitialize framework/integrators/Integrator.h /^ virtual void addModifierAfterInitialize(){}$/;" f class:ProtoMol::Integrator addModifierAfterInitialize framework/integrators/NPTVerletIntegrator.cpp /^ void NPTVerletIntegrator::addModifierAfterInitialize() {$/;" f class:ProtoMol::NPTVerletIntegrator addModifierAfterInitialize framework/integrators/NVTVerletIntegrator.cpp /^ void NVTVerletIntegrator::addModifierAfterInitialize() {$/;" f class:ProtoMol::NVTVerletIntegrator addModifierAfterInitialize framework/integrators/NoseNVTLeapfrogIntegrator.cpp /^ void NoseNVTLeapfrogIntegrator::addModifierAfterInitialize(){$/;" f class:ProtoMol::NoseNVTLeapfrogIntegrator addModifierAfterInitialize framework/integrators/STSIntegrator.cpp /^ void STSIntegrator::addModifierAfterInitialize(){$/;" f class:ProtoMol::STSIntegrator addModifierBeforeInitialize applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::addModifierBeforeInitialize(){$/;" f class:ProtoMol::iSGIntegrator addModifierBeforeInitialize framework/integrators/Integrator.h /^ virtual void addModifierBeforeInitialize(){}$/;" f class:ProtoMol::Integrator addModifierBeforeInitialize framework/integrators/MOLLYIntegrator.cpp /^ void MOLLYIntegrator::addModifierBeforeInitialize(){$/;" f class:ProtoMol::MOLLYIntegrator addMolVirial framework/base/ScalarStructure.cpp /^ void ScalarStructure::addMolVirial(const Vector3D &force12,$/;" f class:ProtoMol::ScalarStructure addMollyForce framework/forces/ForceGroup.cpp /^ void ForceGroup::addMollyForce(MollyForce *force) {$/;" f class:ProtoMol::ForceGroup addRandomForceToMyForce framework/integrators/BBKIntegrator.cpp /^ void BBKIntegrator::addRandomForceToMyForce() {$/;" f class:ProtoMol::BBKIntegrator addSystemForce framework/forces/ForceGroup.cpp /^ void ForceGroup::addSystemForce(SystemForce *force) {$/;" f class:ProtoMol::ForceGroup addToCache framework/frontend/OutputCollection.h /^ void addToCache(const T& obj){myCache->add(obj);}$/;" f class:ProtoMol::OutputCollection addToForceGroup framework/forces/ExtendedForce.cpp /^ void ExtendedForce::addToForceGroup(ForceGroup* forceGroup){$/;" f class:ProtoMol::ExtendedForce addToForceGroup framework/forces/MetaForce.cpp /^ void MetaForce::addToForceGroup(ForceGroup* forceGroup){$/;" f class:ProtoMol::MetaForce addToForceGroup framework/forces/MollyForce.cpp /^ void MollyForce::addToForceGroup(ForceGroup* forceGroup){$/;" f class:ProtoMol::MollyForce addToForceGroup framework/forces/SystemForce.cpp /^ void SystemForce::addToForceGroup(ForceGroup* forceGroup){$/;" f class:ProtoMol::SystemForce addVelocityVirial framework/topology/topologyutilities.cpp /^ void addVelocityVirial(ScalarStructure* energies, $/;" f namespace:ProtoMol addVirial framework/base/ScalarStructure.cpp /^ void ScalarStructure::addVirial(const Vector3D & force12, const Vector3D &diff){$/;" f class:ProtoMol::ScalarStructure addVirial framework/base/ScalarStructure.cpp /^ void ScalarStructure::addVirial(const Vector3D & force12, const Vector3D &diff,$/;" f class:ProtoMol::ScalarStructure addr framework/imd/vmdsock.h /^ struct sockaddr_in addr; \/\/< address of socket provided by bind() $/;" m struct:ProtoMol::IMD:: addrlen framework/imd/vmdsock.h /^ int addrlen; \/\/< size of the addr struct $/;" m struct:ProtoMol::IMD:: adjustAlias framework/base/Makeable.h /^ T* adjustAlias(T* obj) const{$/;" f class:ProtoMol::Makeable adjustWithDefaultParameters applications/iSGProtomol-app/frontend/OutputISGProperties.cpp /^ bool OutputISGProperties::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputISGProperties adjustWithDefaultParameters framework/base/Makeable.h /^ virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* \/*config*\/) const{ return checkParameterTypes(values);}$/;" f class:ProtoMol::Makeable adjustWithDefaultParameters framework/frontend/OutputDCDTrajectory.cpp /^ bool OutputDCDTrajectory::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputDCDTrajectory adjustWithDefaultParameters framework/frontend/OutputDiffusion.cpp /^ bool OutputDiffusion::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputDiffusion adjustWithDefaultParameters framework/frontend/OutputDihedrals.cpp /^ bool OutputDihedrals::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputDihedrals adjustWithDefaultParameters framework/frontend/OutputEnergies.cpp /^ bool OutputEnergies::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputEnergies adjustWithDefaultParameters framework/frontend/OutputMomentum.cpp /^ bool OutputMomentum::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputMomentum adjustWithDefaultParameters framework/frontend/OutputPDBFramePos.cpp /^ bool OutputPDBFramePos::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputPDBFramePos adjustWithDefaultParameters framework/frontend/OutputPaulTrap.cpp /^ bool OutputPaulTrap::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputPaulTrap adjustWithDefaultParameters framework/frontend/OutputScreen.cpp /^ bool OutputScreen::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputScreen adjustWithDefaultParameters framework/frontend/OutputTemperatures.cpp /^ bool OutputTemperatures::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputTemperatures adjustWithDefaultParameters framework/frontend/OutputXYZTrajectoryForce.cpp /^ bool OutputXYZTrajectoryForce::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputXYZTrajectoryForce adjustWithDefaultParameters framework/frontend/OutputXYZTrajectoryPos.cpp /^ bool OutputXYZTrajectoryPos::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputXYZTrajectoryPos adjustWithDefaultParameters framework/frontend/OutputXYZTrajectoryVel.cpp /^ bool OutputXYZTrajectoryVel::adjustWithDefaultParameters(vector& values, const Configuration* config) const{$/;" f class:ProtoMol::OutputXYZTrajectoryVel adoptMediForceModifier framework/integrators/Integrator.cpp /^ void Integrator::adoptMediForceModifier(Modifier* modifier){$/;" f class:ProtoMol::Integrator adoptOutput framework/frontend/OutputCollection.cpp /^ void OutputCollection::adoptOutput(Output* output){$/;" f class:ProtoMol::OutputCollection adoptPostDriftOrNextModifier framework/integrators/Integrator.cpp /^ void Integrator::adoptPostDriftOrNextModifier(Modifier* modifier){$/;" f class:ProtoMol::Integrator adoptPostForceModifier framework/integrators/Integrator.cpp /^ void Integrator::adoptPostForceModifier(Modifier* modifier){$/;" f class:ProtoMol::Integrator adoptPostStepModifier framework/integrators/Integrator.cpp /^ void Integrator::adoptPostStepModifier(Modifier* modifier){$/;" f class:ProtoMol::Integrator adoptPreDriftOrNextModifier framework/integrators/Integrator.cpp /^ void Integrator::adoptPreDriftOrNextModifier(Modifier* modifier){$/;" f class:ProtoMol::Integrator adoptPreForceModifier framework/integrators/Integrator.cpp /^ void Integrator::adoptPreForceModifier(Modifier* modifier){$/;" f class:ProtoMol::Integrator adoptPreStepModifier framework/integrators/Integrator.cpp /^ void Integrator::adoptPreStepModifier(Modifier* modifier){$/;" f class:ProtoMol::Integrator allReduce framework/parallel/Parallel.cpp /^ void allReduce(ScalarStructure* energies){$/;" f namespace:ProtoMol allReduce framework/parallel/Parallel.cpp /^ void allReduce(T* begin, T* end){$/;" f namespace:ProtoMol allReduce framework/parallel/Parallel.cpp /^ void allReduce(Vector3DBlock* coords){$/;" f namespace:ProtoMol allReduceScalar framework/parallel/Parallel.cpp /^ void allReduceScalar(T& begin){$/;" f namespace:ProtoMol allnodes framework/base/Report.cpp /^ MyStreamer& allnodes(MyStreamer& stream){$/;" f namespace:ProtoMol::Report allnodesserial framework/base/Report.cpp /^ MyStreamer& allnodesserial(MyStreamer& stream){$/;" f namespace:ProtoMol::Report allslavesserial framework/base/Report.cpp /^ MyStreamer& allslavesserial(MyStreamer& stream){$/;" f namespace:ProtoMol::Report alpha applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ Real alpha;$/;" m class:ProtoMol::iSGLennardJonesTableForce alpha applications/xyzviz-app/openglutilities.cpp /^ GLfloat alpha;$/;" m struct:ProtoMol::Feedback3Dcolor file: alpha applications/xyzviz-app/xyzviz.cpp /^ GLfloat alpha;$/;" m struct:Feedback3Dcolor file: alphaLJ applications/iSGProtomol-app/base/TRANS.h /^ Array alphaLJ;$/;" m struct:ProtoMol::TRANS::AtomType alphaLJ applications/iSGProtomol-app/integrators/ModifierISG.h /^ Array alphaLJ;$/;" m struct:ProtoMol::ModifierISG::TransformMap alphaLJ framework/base/Atom.h /^ Real alphaLJ;$/;" m struct:ProtoMol::Atom altLoc framework/base/PDB.h /^ std::string altLoc; \/\/\/< alternate_location $/;" m struct:ProtoMol::PDB::PDBAtom angle applications/xyzviz-app/xyzviz.cpp /^static GLfloat angle = 0; \/\/ in degrees $/;" v file: angle framework/integrators/BSplineMOLLYIntegrator.h /^ int angle,bond1,bond2;$/;" m struct:ProtoMol::BSplineMOLLYIntegrator::AngleIndex angle2 applications/xyzviz-app/xyzviz.cpp /^static GLfloat angle2 = 0; \/\/ in degrees $/;" v file: angleList framework/base/Molecule.h /^ std::vector angleList;$/;" m struct:ProtoMol::Molecule anglePlane applications/xyzviz-app/xyzviz.cpp /^static GLfloat anglePlane = 0; \/\/ in degrees $/;" v file: anglePlane2 applications/xyzviz-app/xyzviz.cpp /^static GLfloat anglePlane2 = 0; \/\/ in degrees $/;" v file: angles applications/iSGProtomol-app/integrators/ModifierISG.h /^ std::vector angles;$/;" m class:ProtoMol::ModifierISG angles framework/base/PAR.h /^ std::vector angles;$/;" m class:ProtoMol::PAR angles framework/base/PSF.h /^ std::vector angles;$/;" m class:ProtoMol::PSF angles framework/base/iSGPAR.h /^ std::vector angles;$/;" m class:ProtoMol::iSGPAR angles framework/topology/GenericTopology.h /^ std::vector angles;$/;" m class:ProtoMol::GenericTopology angleval framework/base/PAR.h /^ Real angleval; \/\/\/< angle value$/;" m struct:ProtoMol::PAR::Angle angleval framework/base/iSGPAR.h /^ std::vector angleval;$/;" m struct:ProtoMol::iSGPAR::Angle angularMomentum framework/frontend/OutputCache.cpp /^ Vector3D OutputCache::angularMomentum() const{$/;" f class:ProtoMol::OutputCache angularMomentum framework/topology/topologyutilities.cpp /^ Vector3D angularMomentum(const Vector3DBlock *positions, $/;" f namespace:ProtoMol animation applications/xyzviz-app/xyzviz.cpp /^static int animation;$/;" v file: animationCallback applications/xyzviz-app/xyzviz.cpp /^void animationCallback(int value) {$/;" f anterpolateCharge applications/iSGProtomol-app/base/iSGGrid.h /^ inline void iSGGrid::anterpolateCharge(Real q, Real Delta_q, const Vector3D& coord, unsigned int index) {$/;" f class:ProtoMol::iSGGrid anterpolateCharge framework/base/Grid.h /^ inline void Grid::anterpolateCharge(Real q, const Vector3D& coord, unsigned int index) {$/;" f class:ProtoMol::Grid anterpolateCharge framework/base/MultiGrid.h /^ inline void MultiGrid::anterpolateCharge(Real q, const Vector3D& coord, unsigned int index) {$/;" f class:ProtoMol::MultiGrid anyExclsForThisDelta framework/topology/ExclusionTable.h /^ std::vector anyExclsForThisDelta;$/;" m class:ProtoMol::ExclusionTable anyExtendedForces framework/forces/ForceGroup.h /^ inline bool ForceGroup::anyExtendedForces(void) const {$/;" f class:ProtoMol::ForceGroup anyForces framework/forces/ForceGroup.h /^ inline bool ForceGroup::anyForces(void) const {$/;" f class:ProtoMol::ForceGroup anyMediForceModify framework/integrators/Integrator.h /^ bool anyMediForceModify() const {return !myMediForceModifiers.empty();};$/;" f class:ProtoMol::Integrator anyMetaForces framework/forces/ForceGroup.h /^ inline bool ForceGroup::anyMetaForces(void) const {$/;" f class:ProtoMol::ForceGroup anyMollyForces framework/forces/ForceGroup.h /^ inline bool ForceGroup::anyMollyForces(void) const {$/;" f class:ProtoMol::ForceGroup anyPostDriftOrNextModify framework/integrators/Integrator.h /^ bool anyPostDriftOrNextModify() const {return !myPostDriftOrNextModifiers.empty();};$/;" f class:ProtoMol::Integrator anyPostForceModify framework/integrators/Integrator.h /^ bool anyPostForceModify() const {return !myPostForceModifiers.empty();};$/;" f class:ProtoMol::Integrator anyPostStepModify framework/integrators/Integrator.h /^ bool anyPostStepModify() const {return !myPostStepModifiers.empty();};$/;" f class:ProtoMol::Integrator anyPreDriftOrNextModify framework/integrators/Integrator.h /^ bool anyPreDriftOrNextModify() const {return !myPreDriftOrNextModifiers.empty();};$/;" f class:ProtoMol::Integrator anyPreForceModify framework/integrators/Integrator.h /^ bool anyPreForceModify() const {return !myPreForceModifiers.empty();};$/;" f class:ProtoMol::Integrator anyPreStepModify framework/integrators/Integrator.h /^ bool anyPreStepModify() const {return !myPreStepModifiers.empty();};$/;" f class:ProtoMol::Integrator anySystemForces framework/forces/ForceGroup.h /^ inline bool ForceGroup::anySystemForces(void) const {$/;" f class:ProtoMol::ForceGroup array_dims framework/base/Array_Fastest.h /^ enum { array_dims = 1 };$/;" e enum:ProtoMol::RefArray:: array_dims framework/base/Array_Fastest.h /^ enum { array_dims = N };$/;" e enum:ProtoMol::Array:: array_dims framework/base/Array_Fastest.h /^ enum { array_dims = N };$/;" e enum:ProtoMol::RefArray:: array_dims framework/base/Array_NoPartialSpecialization.h /^ enum { array_dims = 1 };$/;" e enum:ProtoMol::Array::RefArray:: array_dims framework/base/Array_NoPartialSpecialization.h /^ enum { array_dims = N };$/;" e enum:ProtoMol::Array::RefArray:: array_dims framework/base/Array_NoPartialSpecialization.h /^ enum { array_dims = N };$/;" e enum:ProtoMol::Array:: atom framework/base/PAR.h /^ std::string atom; \/\/\/< atom number$/;" m struct:ProtoMol::PAR::Nonbonded atom framework/base/iSGPAR.h /^ std::string atom;$/;" m struct:ProtoMol::iSGPAR::Nonbonded atom1 framework/base/PAR.h /^ std::string atom1; \/\/\/< atom 1 number$/;" m struct:ProtoMol::PAR::Angle atom1 framework/base/PAR.h /^ std::string atom1; \/\/\/< atom 1 number$/;" m struct:ProtoMol::PAR::Bond atom1 framework/base/PAR.h /^ std::string atom1; \/\/\/< atom 1 number$/;" m struct:ProtoMol::PAR::Dihedral atom1 framework/base/PAR.h /^ std::string atom1; \/\/\/< atom 1 number$/;" m struct:ProtoMol::PAR::Improper atom1 framework/base/PAR.h /^ std::string atom1; \/\/\/< atom 1 number$/;" m struct:ProtoMol::PAR::Nbfix atom1 framework/base/PAR.h /^ std::string atom1; \/\/\/< atom 1 number$/;" m struct:ProtoMol::PAR::Hbond atom1 framework/base/PSF.h /^ int atom1; \/\/\/< acceptor atom 1 number$/;" m struct:ProtoMol::PSF::Acceptor atom1 framework/base/PSF.h /^ int atom1; \/\/\/< angle atom 1 number$/;" m struct:ProtoMol::PSF::Angle atom1 framework/base/PSF.h /^ int atom1; \/\/\/< bonded atom 1 number$/;" m struct:ProtoMol::PSF::Bond atom1 framework/base/PSF.h /^ int atom1; \/\/\/< dihedral atom 1 number$/;" m struct:ProtoMol::PSF::Dihedral atom1 framework/base/PSF.h /^ int atom1; \/\/\/< donor atom 1 number$/;" m struct:ProtoMol::PSF::Donor atom1 framework/base/PSF.h /^ int atom1; \/\/\/< improper atom 1 number$/;" m struct:ProtoMol::PSF::Improper atom1 framework/base/PSF.h /^ int atom1; \/\/\/< ngrp atom 1 number$/;" m struct:ProtoMol::PSF::Ngrp atom1 framework/base/PSF.h /^ int atom1; \/\/\/< nonbonded atom number$/;" m struct:ProtoMol::PSF::Nonbonded atom1 framework/base/iSGPAR.h /^ std::string atom1;$/;" m struct:ProtoMol::iSGPAR::Angle atom1 framework/base/iSGPAR.h /^ std::string atom1;$/;" m struct:ProtoMol::iSGPAR::Bond atom1 framework/base/iSGPAR.h /^ std::string atom1;$/;" m struct:ProtoMol::iSGPAR::Dihedral atom1 framework/base/iSGPAR.h /^ std::string atom1;$/;" m struct:ProtoMol::iSGPAR::Improper atom1 framework/topology/Angle.h /^ int atom1;$/;" m class:ProtoMol::Angle atom1 framework/topology/Bond.h /^ int atom1;$/;" m struct:ProtoMol::Bond::Constraint atom1 framework/topology/Bond.h /^ int atom1;$/;" m class:ProtoMol::Bond atom1 framework/topology/Torsion.h /^ int atom1; \/\/\/< The first atom in this interaction. $/;" m class:ProtoMol::Torsion atom2 framework/base/PAR.h /^ std::string atom2; \/\/\/< atom 2 number$/;" m struct:ProtoMol::PAR::Angle atom2 framework/base/PAR.h /^ std::string atom2; \/\/\/< atom 2 number$/;" m struct:ProtoMol::PAR::Bond atom2 framework/base/PAR.h /^ std::string atom2; \/\/\/< atom 2 number$/;" m struct:ProtoMol::PAR::Dihedral atom2 framework/base/PAR.h /^ std::string atom2; \/\/\/< atom 2 number$/;" m struct:ProtoMol::PAR::Improper atom2 framework/base/PAR.h /^ std::string atom2; \/\/\/< atom 2 number$/;" m struct:ProtoMol::PAR::Nbfix atom2 framework/base/PAR.h /^ std::string atom2; \/\/\/< atom 2 number$/;" m struct:ProtoMol::PAR::Hbond atom2 framework/base/PSF.h /^ int atom2; \/\/\/< acceptor atom 2 number$/;" m struct:ProtoMol::PSF::Acceptor atom2 framework/base/PSF.h /^ int atom2; \/\/\/< angle atom 2 number$/;" m struct:ProtoMol::PSF::Angle atom2 framework/base/PSF.h /^ int atom2; \/\/\/< bonded atom 2 number$/;" m struct:ProtoMol::PSF::Bond atom2 framework/base/PSF.h /^ int atom2; \/\/\/< dihedral atom 2 number$/;" m struct:ProtoMol::PSF::Dihedral atom2 framework/base/PSF.h /^ int atom2; \/\/\/< donor atom 2 number$/;" m struct:ProtoMol::PSF::Donor atom2 framework/base/PSF.h /^ int atom2; \/\/\/< improper atom 2 number$/;" m struct:ProtoMol::PSF::Improper atom2 framework/base/PSF.h /^ int atom2; \/\/\/< ngrp atom 2 number$/;" m struct:ProtoMol::PSF::Ngrp atom2 framework/base/iSGPAR.h /^ std::string atom2;$/;" m struct:ProtoMol::iSGPAR::Angle atom2 framework/base/iSGPAR.h /^ std::string atom2;$/;" m struct:ProtoMol::iSGPAR::Bond atom2 framework/base/iSGPAR.h /^ std::string atom2;$/;" m struct:ProtoMol::iSGPAR::Dihedral atom2 framework/base/iSGPAR.h /^ std::string atom2;$/;" m struct:ProtoMol::iSGPAR::Improper atom2 framework/topology/Angle.h /^ int atom2;$/;" m class:ProtoMol::Angle atom2 framework/topology/Bond.h /^ int atom2;$/;" m struct:ProtoMol::Bond::Constraint atom2 framework/topology/Bond.h /^ int atom2;$/;" m class:ProtoMol::Bond atom2 framework/topology/Torsion.h /^ int atom2; \/\/\/< The second atom in this interaction. $/;" m class:ProtoMol::Torsion atom3 framework/base/PAR.h /^ std::string atom3; \/\/\/< atom 3 number$/;" m struct:ProtoMol::PAR::Angle atom3 framework/base/PAR.h /^ std::string atom3; \/\/\/< atom 3 number$/;" m struct:ProtoMol::PAR::Dihedral atom3 framework/base/PAR.h /^ std::string atom3; \/\/\/< atom 3 number$/;" m struct:ProtoMol::PAR::Improper atom3 framework/base/PSF.h /^ int atom3; \/\/\/< angle atom 3 number$/;" m struct:ProtoMol::PSF::Angle atom3 framework/base/PSF.h /^ int atom3; \/\/\/< dihedral atom 3 number$/;" m struct:ProtoMol::PSF::Dihedral atom3 framework/base/PSF.h /^ int atom3; \/\/\/< improper atom 3 number$/;" m struct:ProtoMol::PSF::Improper atom3 framework/base/PSF.h /^ int atom3; \/\/\/< ngrp atom 3 number$/;" m struct:ProtoMol::PSF::Ngrp atom3 framework/base/iSGPAR.h /^ std::string atom3;$/;" m struct:ProtoMol::iSGPAR::Angle atom3 framework/base/iSGPAR.h /^ std::string atom3;$/;" m struct:ProtoMol::iSGPAR::Dihedral atom3 framework/base/iSGPAR.h /^ std::string atom3;$/;" m struct:ProtoMol::iSGPAR::Improper atom3 framework/topology/Angle.h /^ int atom3;$/;" m class:ProtoMol::Angle atom3 framework/topology/Torsion.h /^ int atom3; \/\/\/< The third atom in this interaction. $/;" m class:ProtoMol::Torsion atom4 framework/base/PAR.h /^ std::string atom4; \/\/\/< atom 4 number$/;" m struct:ProtoMol::PAR::Dihedral atom4 framework/base/PAR.h /^ std::string atom4; \/\/\/< atom 4 number$/;" m struct:ProtoMol::PAR::Improper atom4 framework/base/PSF.h /^ int atom4; \/\/\/< dihedral atom 4 number$/;" m struct:ProtoMol::PSF::Dihedral atom4 framework/base/PSF.h /^ int atom4; \/\/\/< improper atom 4 number$/;" m struct:ProtoMol::PSF::Improper atom4 framework/base/iSGPAR.h /^ std::string atom4;$/;" m struct:ProtoMol::iSGPAR::Dihedral atom4 framework/base/iSGPAR.h /^ std::string atom4;$/;" m struct:ProtoMol::iSGPAR::Improper atom4 framework/topology/Torsion.h /^ int atom4; \/\/\/< The fourth atom in this interaction.$/;" m class:ProtoMol::Torsion atomNum framework/base/Atom.h /^ int atomNum;$/;" m struct:ProtoMol::Atom atomTypeToSymbolName framework/topology/topologyutilities.cpp /^ string atomTypeToSymbolName(const string& type) {$/;" f namespace:ProtoMol atomTypes applications/iSGProtomol-app/base/TRANS.h /^ std::vector atomTypes; \/\/ AtomType container$/;" m class:ProtoMol::TRANS atomTypes applications/iSGProtomol-app/integrators/ModifierISG.h /^ std::vector atomTypes;$/;" m class:ProtoMol::ModifierISG atomTypes framework/topology/GenericTopology.h /^ std::vector atomTypes; $/;" m class:ProtoMol::GenericTopology atom_name framework/base/PSF.h /^ std::string atom_name; \/\/\/< atom name$/;" m struct:ProtoMol::PSF::Atom atom_type framework/base/PSF.h /^ std::string atom_type; \/\/\/< atom type$/;" m struct:ProtoMol::PSF::Atom atoms framework/base/Molecule.h /^ std::vector atoms;$/;" m struct:ProtoMol::Molecule atoms framework/base/PDB.h /^ std::vector atoms;$/;" m struct:ProtoMol::PDB atoms framework/base/PSF.h /^ std::vector atoms;$/;" m class:ProtoMol::PSF atoms framework/topology/GenericTopology.h /^ std::vector atoms; $/;" m class:ProtoMol::GenericTopology averagingPositions framework/integrators/MOLLYIntegrator.cpp /^ void MOLLYIntegrator::averagingPositions(){$/;" f class:ProtoMol::MOLLYIntegrator b framework/base/PAR.h /^ Real b; \/\/\/< sigma$/;" m struct:ProtoMol::PAR::Nbfix b1 framework/integrators/BSplineMOLLYIntegrator.h /^ int b1,b2;$/;" m struct:ProtoMol::BSplineMOLLYIntegrator::BondIndex b14 framework/base/PAR.h /^ Real b14; \/\/\/< sigma 14$/;" m struct:ProtoMol::PAR::Nbfix b2 framework/integrators/BSplineMOLLYIntegrator.h /^ int b1,b2;$/;" m struct:ProtoMol::BSplineMOLLYIntegrator::BondIndex backward framework/base/FFTComplex.cpp /^ void backward(){zfft3d(-1,myNZ,myNY,myNX,myArray,myNZ,myNY,myFFTCoeff);}$/;" f class:ProtoMol::FFTInternal backward framework/base/FFTComplex.cpp /^ void FFTComplex::backward(){$/;" f class:ProtoMol::FFTComplex backward framework/integrators/Integrator.cpp /^ void Integrator::backward(){$/;" f class:ProtoMol::Integrator basisCell framework/topology/ArrayCellListStructure.h /^ T1 basisCell(const T1& t1) const{$/;" f class:ProtoMol::ArrayCellListStructure batch applications/xyzviz-app/xyzviz.cpp /^static bool batch = false;$/;" v file: bcast framework/parallel/Parallel.cpp /^ void Parallel::bcast(Vector3DBlock* coords) {$/;" f class:ProtoMol::Parallel bcast framework/parallel/Parallel.cpp /^ void Parallel::bcast(Vector3DBlock*) {}$/;" f class:ProtoMol::Parallel bcast framework/parallel/Parallel.cpp /^ void Parallel::bcast(int& n) {$/;" f class:ProtoMol::Parallel bcast framework/parallel/Parallel.cpp /^ void Parallel::bcast(int&) {}$/;" f class:ProtoMol::Parallel bcastSlaves framework/parallel/Parallel.cpp /^ void Parallel::bcastSlaves(Real* begin, Real* end) {$/;" f class:ProtoMol::Parallel bcastSlaves framework/parallel/Parallel.cpp /^ void Parallel::bcastSlaves(Real*, Real*){}$/;" f class:ProtoMol::Parallel begin compilerTests/pngTest.cpp /^ unsigned char* begin() const{return &p[0];}$/;" f class:PPM begin framework/base/Array_Fastest.h /^ const_iterator begin() const { return m_pArrayElements; }$/;" f class:ProtoMol::Array begin framework/base/Array_Fastest.h /^ const_iterator begin() const { return m_pElements; }$/;" f class:ProtoMol::RefArray begin framework/base/Array_Fastest.h /^ iterator begin() { return m_pArrayElements; }$/;" f class:ProtoMol::Array begin framework/base/Array_Fastest.h /^ iterator begin() { return m_pElements; }$/;" f class:ProtoMol::RefArray begin framework/base/Array_NoPartialSpecialization.h /^ const_iterator begin() const { return m_pElements; }$/;" f class:ProtoMol::Array::RefArray begin framework/base/Array_NoPartialSpecialization.h /^ iterator begin() { return m_pElements; }$/;" f class:ProtoMol::Array::RefArray begin framework/base/Array_NoPartialSpecialization.h /^ const_iterator begin() const { return m_pArrayElements; }$/;" f class:ProtoMol::Array begin framework/base/Array_NoPartialSpecialization.h /^ iterator begin() { return m_pArrayElements; }$/;" f class:ProtoMol::Array begin framework/base/Configuration.h /^ const_iterator begin() const {return myValues.begin();}$/;" f class:ProtoMol::Configuration begin framework/base/Configuration.h /^ iterator begin() {return myValues.begin();}$/;" f class:ProtoMol::Configuration begin framework/base/PGM.h /^ unsigned char* begin() const{return &p[0];}$/;" f class:ProtoMol::PGM begin framework/base/PPM.h /^ unsigned char* begin() const{return &p[0];}$/;" f class:ProtoMol::PPM begin framework/frontend/Factory.h /^ static const_iterator begin(){$/;" f class:ProtoMol::Factory begin framework/frontend/OutputCollection.h /^ const_iterator begin() const {return myOutputList.begin();}$/;" f class:ProtoMol::OutputCollection begin framework/frontend/OutputCollection.h /^ iterator begin() {return myOutputList.begin();}$/;" f class:ProtoMol::OutputCollection begin framework/topology/ArrayCellListStructure.h /^ const_iterator begin() const { return myBeginConst;}$/;" f class:ProtoMol::ArrayCellListStructure begin framework/topology/ArrayCellListStructure.h /^ iterator begin() { return myBegin;}$/;" f class:ProtoMol::ArrayCellListStructure blocksCorrection framework/base/MultiGrid.h /^ inline void MultiGrid::blocksCorrection(unsigned int nBlocks){$/;" f class:ProtoMol::MultiGrid blue applications/xyzviz-app/openglutilities.cpp /^ GLfloat blue;$/;" m struct:ProtoMol::Feedback3Dcolor file: blue applications/xyzviz-app/xyzviz.cpp /^ GLfloat blue;$/;" m struct:Feedback3Dcolor file: bmovieCallback applications/xyzviz-app/xyzviz.cpp /^void bmovieCallback(int v){$/;" f bmovieCallback applications/xyzviz-app/xyzviz.cpp /^void bmovieCallback(long value){$/;" f bond1 framework/integrators/BSplineMOLLYIntegrator.h /^ int angle,bond1,bond2;$/;" m struct:ProtoMol::BSplineMOLLYIntegrator::AngleIndex bond2 framework/integrators/BSplineMOLLYIntegrator.h /^ int angle,bond1,bond2;$/;" m struct:ProtoMol::BSplineMOLLYIntegrator::AngleIndex bondList framework/base/Molecule.h /^ std::vector bondList;$/;" m struct:ProtoMol::Molecule bondRattleShakeConstraints framework/topology/GenericTopology.h /^ std::vector bondRattleShakeConstraints; $/;" m class:ProtoMol::GenericTopology bonds applications/iSGProtomol-app/integrators/ModifierISG.h /^ std::vector bonds;$/;" m class:ProtoMol::ModifierISG bonds framework/base/PAR.h /^ std::vector bonds;$/;" m class:ProtoMol::PAR bonds framework/base/PSF.h /^ std::vector bonds;$/;" m class:ProtoMol::PSF bonds framework/base/iSGPAR.h /^ std::vector bonds;$/;" m class:ProtoMol::iSGPAR bonds framework/topology/GenericTopology.h /^ std::vector bonds; $/;" m class:ProtoMol::GenericTopology bottom framework/integrators/Integrator.cpp /^ Integrator* Integrator::bottom(){$/;" f class:ProtoMol::Integrator bottom framework/integrators/Integrator.cpp /^ const Integrator* Integrator::bottom() const{$/;" f class:ProtoMol::Integrator boundaryConditions applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ PeriodicBoundaryConditions boundaryConditions;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce boundaryConditions applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ PeriodicBoundaryConditions boundaryConditions;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce boundaryConditions framework/forces/NonbondedFullEwaldSystemForce.h /^ PeriodicBoundaryConditions boundaryConditions;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce boundaryConditions framework/forces/NonbondedPMEwaldSystemForce.h /^ PeriodicBoundaryConditions boundaryConditions;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce boundaryConditions framework/topology/SemiGenericTopology.h /^ BoundaryConditions boundaryConditions;$/;" m class:ProtoMol::SemiGenericTopology boundingbox framework/base/Vector3DBlock.cpp /^ void Vector3DBlock::boundingbox(Vector3D& minbb, Vector3D& maxbb) const{$/;" f class:ProtoMol::Vector3DBlock brent framework/frontend/OutputCache.cpp /^ Real OutputCache::brent(Real ax, Real bx, Real cx, Real tol, Real &xmin, int dihindex, bool max) const{$/;" f class:ProtoMol::OutputCache brentMaxima framework/frontend/OutputCache.cpp /^ vector< vector< Real > > OutputCache::brentMaxima(vector dihedralset, bool max) const{$/;" f class:ProtoMol::OutputCache brightness applications/xyzviz-app/xyzviz.cpp /^double brightness(){$/;" f broadcast framework/parallel/Parallel.cpp /^ void broadcast(ScalarStructure* energies){$/;" f namespace:ProtoMol broadcast framework/parallel/Parallel.cpp /^ void broadcast(T* begin, T* end){$/;" f namespace:ProtoMol broadcast framework/parallel/Parallel.cpp /^ void broadcast(Vector3DBlock* coords){$/;" f namespace:ProtoMol broadcastScalar framework/parallel/Parallel.cpp /^ void broadcastScalar(T& begin){$/;" f namespace:ProtoMol buf framework/base/sstream_local.h /^ std::string buf;$/;" m class:std::stringbuf bufferSize applications/xyzviz-app/openglutilities.cpp /^ static GLint bufferSize = 0;$/;" m namespace:ProtoMol file: bufferSize applications/xyzviz-app/xyzviz.cpp /^static GLint bufferSize = 0;$/;" v file: bufsize framework/base/sstream_local.h /^ streamsize bufsize;$/;" m class:std::stringbuf buildCellLists framework/topology/buildCellLists.cpp /^ void buildCellLists(const Topology* topo,$/;" f namespace:ProtoMol buildCellLists framework/topology/buildCellLists.cpp /^ void buildCellLists(const Topology* topo,$/;" f namespace:ProtoMol buildExclusionTable applications/iSGProtomol-app/frontend/buildISGTopology.cpp /^ void buildExclusionTable(GenericTopology* topo, const ExclusionType& exclusionType) {$/;" f namespace:ProtoMol buildExclusionTable framework/frontend/buildTopology.cpp /^ void buildExclusionTable(GenericTopology* topo, const ExclusionType& exclusionType) {$/;" f namespace:ProtoMol buildISGTopology applications/iSGProtomol-app/frontend/buildISGTopology.cpp /^ void buildISGTopology(GenericTopology* topo,const PSF& psf, const iSGPAR& par) {$/;" f namespace:ProtoMol buildLatticeVectors framework/topology/PeriodicBoundaryConditions.cpp /^ vector PeriodicBoundaryConditions::buildLatticeVectors(Real cutoff) const{$/;" f class:ProtoMol::PeriodicBoundaryConditions buildLatticeVectors framework/topology/VacuumBoundaryConditions.cpp /^ vector VacuumBoundaryConditions::buildLatticeVectors(Real) const{$/;" f class:ProtoMol::VacuumBoundaryConditions buildMolecularCenterOfMass framework/topology/topologyutilities.cpp /^ void buildMolecularCenterOfMass(const Vector3DBlock *positions, $/;" f namespace:ProtoMol buildMolecularMomentum framework/topology/topologyutilities.cpp /^ void buildMolecularMomentum(const Vector3DBlock *velocities, $/;" f namespace:ProtoMol buildMoleculeBondingLists applications/iSGProtomol-app/frontend/buildISGTopology.cpp /^ void buildMoleculeBondingLists(GenericTopology* topo) {$/;" f namespace:ProtoMol buildMoleculeTable applications/iSGProtomol-app/frontend/buildISGTopology.cpp /^ void buildMoleculeTable(GenericTopology *topo){$/;" f namespace:ProtoMol buildMoleculeTable framework/frontend/buildTopology.cpp /^ void buildMoleculeTable(GenericTopology *topo){$/;" f namespace:ProtoMol buildRattleShakeBondConstraintList framework/topology/topologyutilities.cpp /^ void buildRattleShakeBondConstraintList(GenericTopology * topology, vector& bondConstraints){$/;" f namespace:ProtoMol buildTopology framework/frontend/buildTopology.cpp /^ void buildTopology(GenericTopology* topo,const PSF& psf, const PAR& par, bool dihedralMultPSF){$/;" f namespace:ProtoMol build_angle_list framework/topology/topologyutilities.cpp /^ void build_angle_list (const GenericTopology *topo, const unsigned int atomID,const unsigned int inAtomID, const unsigned int outAtomID, const unsigned int exclAtomID, Real rotAngle, vector *angles) {$/;" f namespace:ProtoMol c tools/bccAnalyzer.cpp /^ Vector3DIdx v0,c,v1;$/;" m class:PairVector3D file: c tools/bccAnalyzer.cpp /^ const Vector3D c;$/;" m class:radialCmpVector3D file: calcAngle applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^ inline void iSGAngleSystemForce::calcAngle(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::iSGAngleSystemForce calcAngle framework/forces/AngleSystemForce.h /^ inline void AngleSystemForce::calcAngle(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::AngleSystemForce calcAngleEnergy applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^ inline Real iSGAngleSystemForce::calcAngleEnergy(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::iSGAngleSystemForce calcAngleEnergy framework/forces/AngleSystemForce.h /^ inline Real AngleSystemForce::calcAngleEnergy(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::AngleSystemForce calcBond applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^ inline void iSGBondSystemForce::calcBond(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::iSGBondSystemForce calcBond framework/forces/BondSystemForce.h /^ inline void BondSystemForce::calcBond(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::BondSystemForce calcBondEnergy applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^ inline Real iSGBondSystemForce::calcBondEnergy(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::iSGBondSystemForce calcBondEnergy framework/forces/BondSystemForce.h /^ inline Real BondSystemForce::calcBondEnergy(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::BondSystemForce calcError framework/integrators/ModifierMetaRattle.cpp /^ Real ModifierMetaRattle::calcError() const {$/;" f class:ProtoMol::ModifierMetaRattle calcError framework/integrators/ModifierMetaShake.cpp /^ Real ModifierMetaShake::calcError() const {$/;" f class:ProtoMol::ModifierMetaShake calcHessiansBondsAnglesHBonds framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::calcHessiansBondsAnglesHBonds() {$/;" f class:ProtoMol::BSplineMOLLYIntegrator calcMOLLYForcesHalfKickOneDrift framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::calcMOLLYForcesHalfKickOneDrift(){$/;" f class:ProtoMol::BSplineMOLLYIntegrator calcMOLLYForcesOneKickOneDrift framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::calcMOLLYForcesOneKickOneDrift(){$/;" f class:ProtoMol::BSplineMOLLYIntegrator calcTorsion applications/iSGProtomol-app/forces/iSGMTorsionSystemForce.h /^ inline void iSGMTorsionSystemForce::calcTorsion(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::iSGMTorsionSystemForce calcTorsion framework/forces/MTorsionSystemForce.h /^ inline void MTorsionSystemForce::calcTorsion(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::MTorsionSystemForce calcTorsionEnergy applications/iSGProtomol-app/forces/iSGMTorsionSystemForce.h /^ inline Real iSGMTorsionSystemForce::calcTorsionEnergy(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::iSGMTorsionSystemForce calcTorsionEnergy framework/forces/MTorsionSystemForce.h /^ inline Real MTorsionSystemForce::calcTorsionEnergy(const TBoundaryConditions &boundary,$/;" f class:ProtoMol::MTorsionSystemForce calculateDissipativeAndRandomForces framework/integrators/DMDLeapfrogIntegrator.cpp /^ void DMDLeapfrogIntegrator::calculateDissipativeAndRandomForces()$/;" f class:ProtoMol::DMDLeapfrogIntegrator calculateDissipativeForces framework/integrators/DMDLeapfrogIntegrator.cpp /^ void DMDLeapfrogIntegrator::calculateDissipativeForces()$/;" f class:ProtoMol::DMDLeapfrogIntegrator calculateForces framework/integrators/STSIntegrator.cpp /^ void STSIntegrator::calculateForces() {$/;" f class:ProtoMol::STSIntegrator calculateForces framework/integrators/StandardIntegrator.cpp /^ void StandardIntegrator::calculateForces(){$/;" f class:ProtoMol::StandardIntegrator calculateMOLLYForcesBonded framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::calculateMOLLYForcesBonded() {$/;" f class:ProtoMol::BSplineMOLLYIntegrator calculateMOLLYForcesHBonded framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::calculateMOLLYForcesHBonded() {$/;" f class:ProtoMol::BSplineMOLLYIntegrator cellListNext framework/base/Atom.h /^ mutable int cellListNext;$/;" m struct:ProtoMol::Atom cellLists framework/topology/Topology.h /^ mutable typename CellManager::CellListStructure cellLists;$/;" m class:ProtoMol::Topology cellManager framework/topology/Topology.h /^ CellManager cellManager;$/;" m class:ProtoMol::Topology centerOfMass framework/frontend/OutputCache.cpp /^ Vector3D OutputCache::centerOfMass() const{$/;" f class:ProtoMol::OutputCache centerOfMass framework/topology/topologyutilities.cpp /^ Vector3D centerOfMass(const Vector3DBlock *positions, $/;" f namespace:ProtoMol cerr framework/base/Report.cpp /^ MyStreamer report(&(std::cerr));$/;" m namespace:ProtoMol::Report file: chainID framework/base/PDB.h /^ std::string chainID; \/\/\/< chain_id $/;" m struct:ProtoMol::PDB::PDBAtom changeDirectory framework/base/systemutilities.cpp /^ bool changeDirectory(const string& fileName){$/;" f namespace:ProtoMol char_type framework/base/sstream_local.h /^ typedef char char_type;$/;" t class:std::stringbuf charge applications/iSGProtomol-app/base/TRANS.h /^ std::vector charge;$/;" m struct:ProtoMol::TRANS::AtomType charge framework/base/AtomType.h /^ Real charge; \/\/\/< The charge of this atom type.$/;" m struct:ProtoMol::AtomType charge framework/base/PDB.h /^ std::string charge; \/\/\/< charge $/;" m struct:ProtoMol::PDB::PDBAtom charge framework/base/PSF.h /^ Real charge; \/\/\/< charge [e]$/;" m struct:ProtoMol::PSF::Atom charge framework/base/iSGPAR.h /^ std::vector charge;$/;" m struct:ProtoMol::iSGPAR::AtomType check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::Empty&, const RepType& v){return (v.empty());} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::Negative&, RepType v){return (v < 0);} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::Negative&, RepType v){return (v < 0.0);} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::Negative&, const RepType& v){for(unsigned int i=0;i= 0.0) return false; return true;}$/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NoConstraints&, RepType ){return true;} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NoConstraints&, RepType){return true;} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NoConstraints&, const RepType& ){return true;} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NotEmpty&, const RepType& v){return (v != "");} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NotEmpty&, const RepType& v){return (v.size() > 0);} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NotNegative&, RepType v){return (v >= 0);} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NotNegative&, RepType v){return (v >= 0.0);} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NotNegative&, const RepType& v){for(unsigned int i=0;i 0.0) return false; return true;}$/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NotZero&, RepType v){return (0U != v);} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NotZero&, RepType v){return (v != 0);} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NotZero&, RepType v){return (v != 0.0);} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::NotZero&, const RepType& v){for(unsigned int i=0;i 0);} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::Positive&, RepType v){return (v > 0.0);} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::Positive&, RepType v){return (v > 0U);} $/;" f struct:ProtoMol::ValueTraits check framework/base/ValueType.h /^ static bool check(const ConstraintValueType::Positive&, const RepType& v){for(unsigned int i=0;iatoms[i].scaledMass,topo->atoms[j].scaledMass));}$/;" f struct:ProtoMol::HBondConstraint check framework/forces/oneAtomContraints.h /^ static bool check(const GenericTopology* topo, int i, int j){return (topo->atoms[i].molecule != topo->atoms[j].molecule);}$/;" f struct:ProtoMol::NotSameMoleculeConstraint check framework/forces/oneAtomContraints.h /^ static bool check(const GenericTopology* topo, int i, int j){return (topo->atoms[i].molecule == topo->atoms[j].molecule);}$/;" f struct:ProtoMol::SameMoleculeConstraint check framework/forces/oneAtomContraints.h /^ static bool check(const GenericTopology*, int i, int j){$/;" f struct:ProtoMol::DebugPreConstraint check framework/forces/oneAtomContraints.h /^ static bool check(const GenericTopology*, int){return true;}$/;" f struct:ProtoMol::DebugPostConstraint check framework/forces/oneAtomContraints.h /^ static bool check(const GenericTopology*, int){return true;}$/;" f struct:ProtoMol::DebugPreConstraint check framework/forces/oneAtomContraints.h /^ static bool check(const GenericTopology*, int){return true;}$/;" f struct:ProtoMol::NoConstraint check framework/forces/oneAtomContraints.h /^ static bool check(const GenericTopology*, int, int){return true;}$/;" f struct:ProtoMol::DebugPostConstraint check framework/forces/oneAtomContraints.h /^ static bool check(const GenericTopology*, int, int){return true;}$/;" f struct:ProtoMol::NoConstraint check framework/forces/oneAtomContraints.h /^ static void check(const GenericTopology*, int i, int j, const Vector3D& diff, Real energy, const Vector3D& force){$/;" f struct:ProtoMol::DebugPostConstraint check framework/forces/oneAtomContraints.h /^ static void check(const GenericTopology*, int, int, const Vector3D&, Real, const Vector3D&){}$/;" f struct:ProtoMol::DebugPreConstraint check framework/forces/oneAtomContraints.h /^ static void check(const GenericTopology*, int, int, const Vector3D&, Real, const Vector3D&){}$/;" f struct:ProtoMol::HBondConstraint check framework/forces/oneAtomContraints.h /^ static void check(const GenericTopology*, int, int, const Vector3D&, Real, const Vector3D&){}$/;" f struct:ProtoMol::NoConstraint check framework/forces/oneAtomContraints.h /^ static void check(const GenericTopology*, int, int, const Vector3D&, Real, const Vector3D&){}$/;" f struct:ProtoMol::NotSameMoleculeConstraint check framework/forces/oneAtomContraints.h /^ static void check(const GenericTopology*, int, int, const Vector3D&, Real, const Vector3D&){}$/;" f struct:ProtoMol::SameMoleculeConstraint check framework/topology/ExclusionTable.h /^ inline ExclusionClass ExclusionTable::check(int atom1, int atom2) const {$/;" f class:ProtoMol::ExclusionTable checkBoundaries framework/topology/ArrayCellListStructure.h /^ bool checkBoundaries(const T1& t1) const{$/;" f class:ProtoMol::ArrayCellListStructure checkForStageCompletion applications/iSGProtomol-app/integrators/ModifierISG.cpp /^ void ModifierISG::checkForStageCompletion() {$/;" f class:ProtoMol::ModifierISG checkForTransformation applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::checkForTransformation(const vector &myBonds,$/;" f class:ProtoMol::iSGIntegrator checkMoleculePairDistances framework/topology/SemiGenericTopology.h /^ virtual bool checkMoleculePairDistances(const Vector3DBlock& positions) const{$/;" f class:ProtoMol::SemiGenericTopology checkParameterTypes framework/base/Makeable.cpp /^ bool Makeable::checkParameterTypes(const vector& values) const{$/;" f class:ProtoMol::Makeable checkParameters framework/base/Makeable.cpp /^ bool Makeable::checkParameters(const vector& values) const{$/;" f class:ProtoMol::Makeable checkParameters framework/base/Makeable.cpp /^ bool Makeable::checkParameters(string& errMsg, const vector& values) const{$/;" f class:ProtoMol::Makeable checkReallyFast framework/topology/ExclusionTable.h /^ inline bool ExclusionTable::checkReallyFast(int atom1, int atom2) const {$/;" f class:ProtoMol::ExclusionTable cleaR framework/base/Vector3DBlock.h /^ void cleaR(){std::vector::clear();}$/;" f class:ProtoMol::Vector3DBlock cleanTemporaries framework/topology/ExclusionTable.cpp /^ void ExclusionTable::cleanTemporaries(){$/;" f class:ProtoMol::ExclusionTable clear applications/iSGProtomol-app/base/TRANS.cpp /^ void TRANS::clear(){$/;" f class:ProtoMol::TRANS clear applications/iSGProtomol-app/base/XSC.cpp /^ void XSC::clear(){$/;" f class:ProtoMol::XSC clear applications/iSGProtomol-app/base/iSGGrid.h /^ void iSGGrid::clear(){$/;" f class:ProtoMol::iSGGrid clear compilerTests/pngTest.cpp /^void PPM::clear(){$/;" f class:PPM clear framework/base/Array_NoPartialSpecialization.h /^ void clear()$/;" f class:ProtoMol::Array clear framework/base/Grid.h /^ void Grid::clear(){$/;" f class:ProtoMol::Grid clear framework/base/MultiGrid.h /^ inline void MultiGrid::clear(){$/;" f class:ProtoMol::MultiGrid clear framework/base/PAR.cpp /^ void PAR::clear(){$/;" f class:ProtoMol::PAR clear framework/base/PDB.cpp /^ void PDB::clear(){$/;" f class:ProtoMol::PDB clear framework/base/PGM.cpp /^ void PGM::clear(){$/;" f class:ProtoMol::PGM clear framework/base/PPM.cpp /^ void PPM::clear(){$/;" f class:ProtoMol::PPM clear framework/base/PSF.cpp /^ void PSF::clear(){$/;" f class:ProtoMol::PSF clear framework/base/ReducedHessAngle.cpp /^ void ReducedHessAngle::clear()$/;" f class:ProtoMol::ReducedHessAngle clear framework/base/ScalarStructure.cpp /^ void ScalarStructure::clear() {$/;" f class:ProtoMol::ScalarStructure clear framework/base/Value.h /^ virtual bool clear() { bool tmp = ok; ok = false; return tmp;}$/;" f class:ProtoMol::Value::Holder clear framework/base/Value.h /^ inline bool Value::clear() {$/;" f class:ProtoMol::Value clear framework/base/XYZ.cpp /^ void XYZ::clear(){$/;" f class:ProtoMol::XYZ clear framework/base/iSGPAR.cpp /^ void iSGPAR::clear() {$/;" f class:ProtoMol::iSGPAR clear framework/frontend/Factory.h /^ void clear(){$/;" f class:ProtoMol::FactoryBase clear framework/topology/ExclusionTable.cpp /^ void ExclusionTable::clear(void) {$/;" f class:ProtoMol::ExclusionTable client_alive framework/imd/IMDElf.cpp /^ bool IMDElf::client_alive() {$/;" f class:ProtoMol::IMDElf clientsock framework/imd/IMDElf.h /^ void *clientsock;$/;" m class:ProtoMol::IMDElf clone framework/base/Value.h /^ virtual PlaceHolder* clone() const { return new Holder(*this);}$/;" f class:ProtoMol::Value::Holder close framework/frontend/OutputFile.cpp /^ bool OutputFile::close(){$/;" f class:ProtoMol::OutputFile close framework/io/File.cpp /^ void File::close(){$/;" f class:ProtoMol::File cmpOpaque applications/xyzviz-app/xyzviz.cpp /^bool cmpOpaque (const Opaque& a1, const Opaque& a2){$/;" f cmpSpherical applications/coords2coords-app/coords2coords.cpp /^bool cmpSpherical (const Vector3D& v1, const Vector3D& v2){$/;" f coarseToFine framework/base/MultiGrid.h /^ void coarseToFine(int level){coarseToFine(level,0,1);}$/;" f class:ProtoMol::MultiGrid coarseToFine framework/base/MultiGrid.h /^ inline void MultiGrid::coarseToFine(int level, unsigned int block, unsigned int nBlocks){$/;" f class:ProtoMol::MultiGrid cohesive framework/forces/PaulTrapExtendedForce.h /^ Real cohesive(Real potentialEnergy){return (potentialEnergy-myPaulUHom)*myPaulF;}$/;" f class:ProtoMol::PaulTrapExtendedForce color2index applications/xyzviz-app/xyzviz.cpp /^static map color2index;$/;" v file: colorMap applications/xyzviz-app/xyzviz.cpp /^static map colorMap;$/;" v file: colorVisible applications/xyzviz-app/xyzviz.cpp /^static map colorVisible;$/;" v file: computeMolecularPressure framework/topology/topologyutilities.cpp /^ Real computeMolecularPressure(const ScalarStructure* energies, $/;" f namespace:ProtoMol computeOthers framework/forces/HarmDihedralSystemForce.h /^ bool computeOthers;$/;" m class:ProtoMol::HarmDihedralSystemForce computePhiDihedral framework/topology/topologyutilities.cpp /^ Real computePhiDihedral(const GenericTopology *topo, const Vector3DBlock *positions, int index){$/;" f namespace:ProtoMol computePhiDihedralEnergy framework/topology/topologyutilities.cpp /^ Real computePhiDihedralEnergy(const GenericTopology *topo, int index, Real phi){$/;" f namespace:ProtoMol computePressure framework/topology/topologyutilities.cpp /^ Real computePressure(const GenericTopology* topology,$/;" f namespace:ProtoMol computePressure framework/topology/topologyutilities.cpp /^ Real computePressure(const ScalarStructure* energies, $/;" f namespace:ProtoMol confstrings framework/frontend/OutputDihedrals.h /^ std::vector< std::string > confstrings;$/;" m class:ProtoMol::OutputDihedrals confstringsCounter framework/frontend/OutputDihedrals.h /^ std::vector< int > confstringsCounter;$/;" m class:ProtoMol::OutputDihedrals connect framework/imd/IMDElf.cpp /^ int IMDElf::connect(void *s) {$/;" f class:ProtoMol::IMDElf const0 framework/base/fft.c /^static int const0 = 0;$/;" v file: const1 framework/base/fft.c /^static int const1 = 1;$/;" v file: const16384 framework/base/fft.c /^static int const16384 = 16384;$/;" v file: constFalse framework/base/fft.c /^static int constFalse = 0;$/;" v file: constTrue framework/base/fft.c /^static int constTrue = 1;$/;" v file: const_iterator framework/base/Array_Fastest.h /^ typedef const T * const_iterator;$/;" t class:ProtoMol::Array const_iterator framework/base/Array_Fastest.h /^ typedef const T * const_iterator;$/;" t class:ProtoMol::RefArray const_iterator framework/base/Array_NoPartialSpecialization.h /^ typedef const T * const_iterator;$/;" t class:ProtoMol::Array::RefArray const_iterator framework/base/Array_NoPartialSpecialization.h /^ typedef const T * const_iterator;$/;" t class:ProtoMol::Array const_iterator framework/base/Configuration.h /^ typedef ValueMapType::const_iterator const_iterator;$/;" t class:ProtoMol::Configuration const_iterator framework/frontend/Factory.h /^ typedef typename std::set::const_iterator const_iterator;$/;" t class:ProtoMol::Factory const_iterator framework/frontend/HelpTextFactory.h /^ typedef HelpTextMapType::const_iterator const_iterator;$/;" t class:ProtoMol::HelpTextFactory const_iterator framework/frontend/OutputCollection.h /^ typedef std::list::const_iterator const_iterator;$/;" t class:ProtoMol::OutputCollection const_iterator framework/topology/ArrayCellListStructure.h /^ typedef TContainer::const_iterator const_iterator;$/;" t class:ProtoMol::ArrayCellListStructure const_pointer framework/base/Array_Fastest.h /^ typedef const T * const_pointer;$/;" t class:ProtoMol::Array const_pointer framework/base/Array_Fastest.h /^ typedef const T * const_pointer;$/;" t class:ProtoMol::RefArray const_pointer framework/base/Array_NoPartialSpecialization.h /^ typedef const T * const_pointer;$/;" t class:ProtoMol::Array::RefArray const_pointer framework/base/Array_NoPartialSpecialization.h /^ typedef const T * const_pointer;$/;" t class:ProtoMol::Array const_pointer framework/topology/ArrayCellListStructure.h /^ typedef TContainer::const_pointer const_pointer;$/;" t class:ProtoMol::ArrayCellListStructure const_reference framework/base/Array_Fastest.h /^ typedef const T & const_reference;$/;" t class:ProtoMol::Array const_reference framework/base/Array_Fastest.h /^ typedef const T & const_reference;$/;" t class:ProtoMol::RefArray const_reference framework/base/Array_NoPartialSpecialization.h /^ typedef const T & const_reference;$/;" t class:ProtoMol::Array::RefArray const_reference framework/base/Array_NoPartialSpecialization.h /^ typedef const T & const_reference;$/;" t class:ProtoMol::Array const_reference framework/topology/ArrayCellListStructure.h /^ typedef TContainer::const_reference const_reference;$/;" t class:ProtoMol::ArrayCellListStructure convert framework/base/Matrix3by3.cpp /^ void convert(const Matrix3by3& from, double to[16])$/;" f namespace:ProtoMol convert framework/base/Matrix3by3.cpp /^ void convert(const Matrix3by3& from, float to[9])$/;" f namespace:ProtoMol convert framework/base/ValueType.h /^ static bool convert(Real v, RepType& r) { r = (v != 0.0); return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(Real v, RepType& r){ $/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(RepType v, RepType& r){ r=v; return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(RepType v, RepType& r){ r=v; return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(RepType v, RepType& r) { r=v; return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(RepType v, RepType& r) {r=v; return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(RepType v, RepType& r) { r=v; return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(bool v, RepType& r) { r = (v?1:0); return true; }$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(bool v, RepType& r) {r = (v ? 1.0 : 0.0); return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(bool v, RepType& r) { r = (v?1:0); return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(int v, RepType& r) { r = (v != 0); return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(int v, RepType& r) {r = static_cast(v); return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(int v, RepType& r){ $/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(std::string v, RepType& r) { return toInt(v,r);}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(std::string v, RepType& r) {return toBool(v,r);}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(std::string v, RepType& r) {return toReal(v,r);}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(std::string v, RepType& r){ return toUInt(v,r);}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(std::string v, RepType& r){ return toVector(v,r);}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(std::string v, RepType& r){ return toVector3D(v,r);}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(unsigned int v, RepType& r) { r = (v != 0); return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(unsigned int v, RepType& r) {r = static_cast(v); return true;}$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ static bool convert(unsigned int v, RepType& r){ $/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ template static RepType convert(T v) {RepType tmp; convert(v,tmp);return tmp;} $/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ template static RepType convert(T v) {RepType tmp; convert(v,tmp);return tmp;} $/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ template static bool convert(T v, RepType& r){r = toString(v); return true;} \/\/ !NB everything is ok$/;" f struct:ProtoMol::ValueTraits convert framework/base/ValueType.h /^ template static bool convert(T, RepType&){return false;} $/;" f struct:ProtoMol::ValueTraits convertFromJacobian framework/base/ReducedHessAngle.cpp /^ void ReducedHessAngle::convertFromJacobian(Real **jac,int n)$/;" f class:ProtoMol::ReducedHessAngle convertTest framework/base/ValueType.h /^ template static bool convertTest(T v) {RepType tmp; return convert(v,tmp);} $/;" f struct:ProtoMol::ValueTraits convertTest framework/base/ValueType.h /^ template static bool convertTest(T v) {RepType tmp; return convert(v,tmp);} $/;" f struct:ProtoMol::ValueTraits coords framework/base/PDB.h /^ Vector3DBlock coords;$/;" m struct:ProtoMol::PDB coords framework/base/XYZ.h /^ Vector3DBlock coords;$/;" m struct:ProtoMol::XYZ copy framework/base/Array_Fastest.h /^ void copy(const Array & A, const T & Init=T())$/;" f class:ProtoMol::Array copy framework/base/Array_Fastest.h /^ void copy(const RefArray & SA, const T & Init=T())$/;" f class:ProtoMol::RefArray copy framework/base/Array_Fastest.h /^ void copy(const RefArray & SA, const T & Init=T())$/;" f class:ProtoMol::RefArray copy framework/base/Array_NoPartialSpecialization.h /^ void copy(const RefArray<1> & SA, const T & Init=T())$/;" f class:ProtoMol::Array::RefArray copy framework/base/Array_NoPartialSpecialization.h /^ void copy(const RefArray & SA, const T & Init=T())$/;" f class:ProtoMol::Array::RefArray copy framework/base/Array_NoPartialSpecialization.h /^ void copy(const Array & A, const T & Init=T())$/;" f class:ProtoMol::Array copy framework/base/Makeable.h /^ static T* copy(T* obj){$/;" f class:ProtoMol::Makeable correction framework/base/MultiGrid.h /^ void correction(int level){correction(level,0,1);};$/;" f class:ProtoMol::MultiGrid correction framework/base/MultiGrid.h /^ inline void MultiGrid::correction(int level, unsigned int block, unsigned int nBlocks){$/;" f class:ProtoMol::MultiGrid correctionTerm applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::correctionTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce correctionTerm applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::correctionTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce correctionTerm framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::correctionTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce correctionTerm framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::correctionTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::NonbondedMultiGridSystemForce correctionTerm framework/forces/NonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::correctionTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce coulombScalingFactor framework/topology/GenericTopology.h /^ Real coulombScalingFactor;$/;" m class:ProtoMol::GenericTopology createRattleModifier applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ Modifier* iSGIntegrator::createRattleModifier(Real eps, int maxIter){$/;" f class:ProtoMol::iSGIntegrator createRattleModifier framework/integrators/Integrator.cpp /^ Modifier* Integrator::createRattleModifier(Real eps, int maxIter){$/;" f class:ProtoMol::Integrator createRattleModifier framework/integrators/NPTVerletIntegrator.cpp /^ Modifier* NPTVerletIntegrator::createRattleModifier(Real eps, int maxIter){$/;" f class:ProtoMol::NPTVerletIntegrator createRattleModifier framework/integrators/NVTVerletIntegrator.cpp /^ Modifier* NVTVerletIntegrator::createRattleModifier(Real eps, int maxIter){$/;" f class:ProtoMol::NVTVerletIntegrator createShakeModifier applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ Modifier* iSGIntegrator::createShakeModifier(Real eps, int maxIter){$/;" f class:ProtoMol::iSGIntegrator createShakeModifier framework/integrators/Integrator.cpp /^ Modifier* Integrator::createShakeModifier(Real eps, int maxIter){$/;" f class:ProtoMol::Integrator createShakeModifier framework/integrators/NPTVerletIntegrator.cpp /^ Modifier* NPTVerletIntegrator::createShakeModifier(Real eps, int maxIter){$/;" f class:ProtoMol::NPTVerletIntegrator createShakeModifier framework/integrators/NVTVerletIntegrator.cpp /^ Modifier* NVTVerletIntegrator::createShakeModifier(Real eps, int maxIter){$/;" f class:ProtoMol::NVTVerletIntegrator createTables framework/topology/BankLennardJonesParameterTable.h /^ void createTables( unsigned int numComp, unsigned int tableSize ) {$/;" f struct:ProtoMol::BankLennardJonesParameterTable cross framework/base/Vector3D.h /^ Vector3D cross(const Vector3D& b) const {return (*this)^b;}$/;" f class:ProtoMol::Vector3D curAngle framework/integrators/UmbrellaIntegrator.h /^ Real curAngle;$/;" m class:ProtoMol::UmbrellaIntegrator currentFrame applications/xyzviz-app/xyzviz.cpp /^static int currentFrame = 0;$/;" v file: cutoffSquared framework/topology/C1SwitchingFunction.h /^ Real cutoffSquared() const{return myCutoff2;}$/;" f class:ProtoMol::C1SwitchingFunction cutoffSquared framework/topology/C2SwitchingFunction.h /^ Real cutoffSquared() const{return myCutoff2;}$/;" f class:ProtoMol::C2SwitchingFunction cutoffSquared framework/topology/ComplementSwitchingFunction.h /^ Real cutoffSquared() const{return Constant::MAXREAL;}$/;" f class:ProtoMol::ComplementSwitchingFunction cutoffSquared framework/topology/CutoffSwitchingFunction.h /^ Real cutoffSquared() const{return myCutoff2;}$/;" f class:ProtoMol::CutoffSwitchingFunction cutoffSquared framework/topology/RangeSwitchingFunction.h /^ Real cutoffSquared() const{return std::max(myR1Squared,myOrigFunc.cutoffSquared());}$/;" f class:ProtoMol::RangeSwitchingFunction cutoffSquared framework/topology/ShiftSwitchingFunction.h /^ Real cutoffSquared() const{return myCutoff2;}$/;" f class:ProtoMol::ShiftSwitchingFunction cutoffSquared framework/topology/UniversalSwitchingFunction.h /^ Real cutoffSquared() const{return Constant::MAXREAL;}$/;" f class:ProtoMol::UniversalSwitchingFunction dFocusRadius applications/xyzviz-app/xyzviz.cpp /^static double dFocusRadius = 0.0;$/;" v file: dKernel applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::iSGCoulombForce::C1 dKernel applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::iSGCoulombForce::C2 dKernel applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::iSGCoulombForce::C3 dKernel applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::iSGCoulombForce::C4 dKernel applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C1 dKernel applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C2 dKernel applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C3 dKernel applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C4 dKernel framework/forces/CoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::CoulombForce::C1 dKernel framework/forces/CoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::CoulombForce::C2 dKernel framework/forces/CoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::CoulombForce::C3 dKernel framework/forces/CoulombForce.h /^ static Real dKernel(Real r) {r=1.0\/r;return (-r*r);}$/;" f class:ProtoMol::CoulombForce::C4 dKernelR applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::iSGCoulombForce::C1 dKernelR applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::iSGCoulombForce::C2 dKernelR applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::iSGCoulombForce::C3 dKernelR applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::iSGCoulombForce::C4 dKernelR applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C1 dKernelR applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C2 dKernelR applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C3 dKernelR applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C4 dKernelR framework/forces/CoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::CoulombForce::C1 dKernelR framework/forces/CoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::CoulombForce::C2 dKernelR framework/forces/CoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::CoulombForce::C3 dKernelR framework/forces/CoulombForce.h /^ static Real dKernelR(Real rr) {return (-rr*rr);}$/;" f class:ProtoMol::CoulombForce::C4 dSmooth applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dSmooth(Real r,Real \/*c*\/,Real cr) {return (-r*cr*cr*cr);}$/;" f class:ProtoMol::iSGCoulombForce::C1 dSmooth applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dSmooth(Real r,Real c,Real cr) {c=r*cr*cr;return (cr*c*(1.5*r*c-2.5));}$/;" f class:ProtoMol::iSGCoulombForce::C2 dSmooth applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dSmooth(Real r,Real c,Real cr) {c=r*r*cr*cr;return (r*cr*cr*cr*(-4.375 + c * (5.25 - 1.875 * c)));}$/;" f class:ProtoMol::iSGCoulombForce::C3 dSmooth applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dSmooth(Real r,Real c,Real cr) {c=r*r*cr*cr;return(-r*cr*cr*cr*(6.5625-c*(11.8125-c*(8.4375-c*2.1875))));$/;" f class:ProtoMol::iSGCoulombForce::C4 dSmooth applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dSmooth(Real r,Real \/*c*\/,Real cr) {return (-r*cr*cr*cr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C1 dSmooth applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dSmooth(Real r,Real c,Real cr) {c=r*cr*cr;return (cr*c*(1.5*r*c-2.5));}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C2 dSmooth applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dSmooth(Real r,Real c,Real cr) {c=r*r*cr*cr;return (r*cr*cr*cr*(-4.375 + c * (5.25 - 1.875 * c)));}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C3 dSmooth applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real dSmooth(Real r,Real c,Real cr) {c=r*r*cr*cr;return(-r*cr*cr*cr*(6.5625-c*(11.8125-c*(8.4375-c*2.1875))));$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C4 dSmooth framework/forces/CoulombForce.h /^ static Real dSmooth(Real r,Real \/*c*\/,Real cr) {return (-r*cr*cr*cr);}$/;" f class:ProtoMol::CoulombForce::C1 dSmooth framework/forces/CoulombForce.h /^ static Real dSmooth(Real r,Real c,Real cr) {c=r*cr*cr;return (cr*c*(1.5*r*c-2.5));}$/;" f class:ProtoMol::CoulombForce::C2 dSmooth framework/forces/CoulombForce.h /^ static Real dSmooth(Real r,Real c,Real cr) {c=r*r*cr*cr;return (r*cr*cr*cr*(-4.375 + c * (5.25 - 1.875 * c)));}$/;" f class:ProtoMol::CoulombForce::C3 dSmooth framework/forces/CoulombForce.h /^ static Real dSmooth(Real r,Real c,Real cr) {c=r*r*cr*cr;return(-r*cr*cr*cr*(6.5625-c*(11.8125-c*(8.4375-c*2.1875))));$/;" f class:ProtoMol::CoulombForce::C4 dSmoothKernel applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real dSmoothKernel(Real r,Real c,Real cr){return (r::datatype = MY_MPI_REAL; $/;" m class:ProtoMol::MPITypeTraits file: datatype framework/parallel/Parallel.cpp /^ const MPI_Datatype MPITypeTraits::datatype = MPI_INT; $/;" m class:ProtoMol::MPITypeTraits file: debug framework/base/Report.h /^ debug() : myLevel(1) {}$/;" f class:ProtoMol::Report::debug debug framework/base/Report.h /^ debug(short l) : myLevel(l) {}$/;" f class:ProtoMol::Report::debug debug framework/base/Report.h /^ class debug{$/;" c namespace:ProtoMol::Report debug framework/base/Value.cpp /^ string Value::debug() const {$/;" f class:ProtoMol::Value declareInputValue framework/frontend/InputValue.h 150;" d defaultBlockSize framework/forces/NonbondedFullSystemForceBase.cpp /^ const unsigned int NonbondedFullSystemForceBase::defaultBlockSize = 64;$/;" m class:ProtoMol::NonbondedFullSystemForceBase file: defaultBlockSize framework/forces/NonbondedFullSystemForceBase.h /^ static const unsigned int defaultBlockSize;$/;" m class:ProtoMol::NonbondedFullSystemForceBase defaultBlockSize framework/forces/NonbondedSimpleFullSystemForceBase.cpp /^ const unsigned int NonbondedSimpleFullSystemForceBase::defaultBlockSize = 64;$/;" m class:ProtoMol::NonbondedSimpleFullSystemForceBase file: defaultBlockSize framework/forces/NonbondedSimpleFullSystemForceBase.h /^ static const unsigned int defaultBlockSize;$/;" m class:ProtoMol::NonbondedSimpleFullSystemForceBase defaultCharmmType framework/io/PARWriter.cpp /^ const PAR::CharmmTypeEnum PARWriter::defaultCharmmType=PAR::CHARMM28;$/;" m class:ProtoMol::PARWriter file: defaultCharmmType framework/io/PARWriter.h /^ static const PAR::CharmmTypeEnum defaultCharmmType;$/;" m class:ProtoMol::PARWriter defaultScale framework/io/XFigWriter.cpp /^ static const Real defaultScale = 1000.0;$/;" m namespace:ProtoMol file: defaultValue framework/base/Parameter.h /^ Value defaultValue;$/;" m struct:ProtoMol::Parameter defaultValue framework/frontend/HelpTextFactory.h /^ Value defaultValue;$/;" m struct:ProtoMol::HelpText defbuf framework/base/sstream_local.h /^ char defbuf;$/;" m class:std::stringbuf defineInputValue framework/frontend/InputValue.h 159;" d defineInputValueAndText framework/frontend/InputValue.h 169;" d defineInputValueWithAliases framework/frontend/InputValue.h 164;" d defineInputValueWithAliasesAndText framework/frontend/InputValue.h 174;" d defined framework/base/Configuration.cpp /^ bool Configuration::defined(const string& keyword) const{$/;" f class:ProtoMol::Configuration defined framework/base/Value.h /^ inline bool Value::defined() const {$/;" f class:ProtoMol::Value degreesOfFreedom framework/topology/GenericTopology.h /^ int degreesOfFreedom;$/;" m class:ProtoMol::GenericTopology deleteExternalModifiers framework/integrators/Integrator.cpp /^ void Integrator::deleteExternalModifiers(){$/;" f class:ProtoMol::Integrator deleteInternalModifiers framework/integrators/Integrator.cpp /^ void Integrator::deleteInternalModifiers(){$/;" f class:ProtoMol::Integrator deleteModifier framework/integrators/Integrator.cpp /^ void Integrator::deleteModifier(Modifier* modifier){$/;" f class:ProtoMol::Integrator deltaM framework/base/Atom.h /^ Real deltaM, deltaQ;$/;" m struct:ProtoMol::Atom deltaMu framework/base/ScalarStructure.h /^ inline Real ScalarStructure::deltaMu() const {$/;" f class:ProtoMol::ScalarStructure deltaQ framework/base/Atom.h /^ Real deltaM, deltaQ;$/;" m struct:ProtoMol::Atom density framework/frontend/OutputCache.cpp /^ Real OutputCache::density() const{$/;" f class:ProtoMol::OutputCache depth applications/xyzviz-app/openglutilities.cpp /^ GLfloat depth;$/;" m struct:ProtoMol::DepthIndex file: depth applications/xyzviz-app/xyzviz.cpp /^ GLfloat depth;$/;" m struct:DepthIndex file: det framework/base/Matrix3by3.cpp /^ Real Matrix3by3::det()$/;" f class:ProtoMol::Matrix3by3 dftmod applications/iSGProtomol-app/base/iSGGrid.h /^ void iSGGrid::dftmod(unsigned int order, unsigned int n, Real* interpolation, Real* interpolationMod){$/;" f class:ProtoMol::iSGGrid dftmod framework/base/Grid.h /^ void Grid::dftmod(unsigned int order, unsigned int n, Real* interpolation, Real* interpolationMod){$/;" f class:ProtoMol::Grid difference_type framework/base/Array_Fastest.h /^ typedef ptrdiff_t difference_type;$/;" t class:ProtoMol::Array difference_type framework/base/Array_Fastest.h /^ typedef ptrdiff_t difference_type;$/;" t class:ProtoMol::RefArray difference_type framework/base/Array_NoPartialSpecialization.h /^ typedef ptrdiff_t difference_type;$/;" t class:ProtoMol::Array::RefArray difference_type framework/base/Array_NoPartialSpecialization.h /^ typedef ptrdiff_t difference_type;$/;" t class:ProtoMol::Array difference_type framework/topology/ArrayCellListStructure.h /^ typedef TContainer::difference_type difference_type;$/;" t class:ProtoMol::ArrayCellListStructure diffusion framework/frontend/OutputCache.cpp /^ Real OutputCache::diffusion() const{$/;" f class:ProtoMol::OutputCache dihedralList framework/base/Molecule.h /^ std::vector dihedralList;$/;" m struct:ProtoMol::Molecule dihedralPhi framework/frontend/OutputCache.cpp /^ Real OutputCache::dihedralPhi(int index) const{$/;" f class:ProtoMol::OutputCache dihedralPhis framework/frontend/OutputCache.cpp /^ vector OutputCache::dihedralPhis(vector dihedralset) const{$/;" f class:ProtoMol::OutputCache dihedrals applications/iSGProtomol-app/integrators/ModifierISG.h /^ std::vector dihedrals;$/;" m class:ProtoMol::ModifierISG dihedrals framework/base/PAR.h /^ std::vector dihedrals;$/;" m class:ProtoMol::PAR dihedrals framework/base/PSF.h /^ std::vector dihedrals;$/;" m class:ProtoMol::PSF dihedrals framework/base/iSGPAR.h /^ std::vector dihedrals;$/;" m class:ProtoMol::iSGPAR dihedrals framework/topology/GenericTopology.h /^ std::vector dihedrals;$/;" m class:ProtoMol::GenericTopology dim framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ int dim, const int (&index)[maxGDim],$/;" m namespace:ProtoMol file: dim framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ int dim, int (&index)[maxGDim],$/;" m namespace:ProtoMol file: dim framework/integrators/EquilibriumMOLLYIntegrator.h /^ void luBksb(Real (&m)[maxGDim][maxGDim], int dim, const int (&index)[maxGDim], Real (&b)[maxGDim]) const;$/;" m class:ProtoMol::EquilibriumMOLLYIntegrator dim framework/integrators/EquilibriumMOLLYIntegrator.h /^ void luDcmp(Real (&m)[maxGDim][maxGDim], int dim, int (&index)[maxGDim], Real& d) const;$/;" m class:ProtoMol::EquilibriumMOLLYIntegrator dimensions framework/base/Array_Fastest.h /^ size_t dimensions() const { return 1; }$/;" f class:ProtoMol::RefArray dimensions framework/base/Array_Fastest.h /^ size_t dimensions() const { return N; } $/;" f class:ProtoMol::Array dimensions framework/base/Array_Fastest.h /^ size_t dimensions() const { return N; }$/;" f class:ProtoMol::RefArray dimensions framework/base/Array_NoPartialSpecialization.h /^ unsigned int dimensions() const { return 1; }$/;" f class:ProtoMol::Array::RefArray dimensions framework/base/Array_NoPartialSpecialization.h /^ unsigned int dimensions() const { return N; }$/;" f class:ProtoMol::Array::RefArray dimensions framework/base/Array_NoPartialSpecialization.h /^ unsigned int dimensions() const { return N; } $/;" f class:ProtoMol::Array direct framework/base/MultiGrid.h /^ void direct(){direct(0,1);};$/;" f class:ProtoMol::MultiGrid direct framework/base/MultiGrid.h /^ inline void MultiGrid::direct(unsigned int block, unsigned int nBlocks){$/;" f class:ProtoMol::MultiGrid disable framework/integrators/Modifier.h /^ void disable() const{myEnable=false;}$/;" f class:ProtoMol::Modifier display applications/xyzviz-app/xyzviz.cpp /^void display() {$/;" f display compilerTests/glutTest.cpp /^static void display(){$/;" f file: distCount framework/base/Proxy.h /^ int distCount() const {return myCount;}$/;" f class:ProtoMol::Proxy distance framework/base/PAR.h /^ Real distance; \/\/\/< distance$/;" m struct:ProtoMol::PAR::Bond distance framework/base/iSGPAR.h /^ std::vector distance;$/;" m struct:ProtoMol::iSGPAR::Bond distribute framework/base/Proxy.h /^ void distribute() const {myCount++;}$/;" f class:ProtoMol::Proxy distribute framework/parallel/Parallel.cpp /^ void Parallel::distribute(ScalarStructure* energies, Vector3DBlock* coords) {$/;" f class:ProtoMol::Parallel distribute framework/parallel/Parallel.cpp /^ void Parallel::distribute(ScalarStructure*, Vector3DBlock*){}$/;" f class:ProtoMol::Parallel distributed framework/base/Proxy.h /^ bool distributed() const {return (myCount > 0);}$/;" f class:ProtoMol::Proxy divide framework/base/Vector3D.h /^ Vector3D divide(Real w) const {return (*this)\/w;}$/;" f class:ProtoMol::Vector3D do2ndHalfKick applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::do2ndHalfKick() {$/;" f class:ProtoMol::iSGIntegrator do2ndHalfKick framework/integrators/NPTVerletIntegrator.cpp /^ void NPTVerletIntegrator::do2ndHalfKick() {$/;" f class:ProtoMol::NPTVerletIntegrator do2ndHalfKick framework/integrators/NVTVerletIntegrator.cpp /^ void NVTVerletIntegrator::do2ndHalfKick() {$/;" f class:ProtoMol::NVTVerletIntegrator doAnimation applications/xyzviz-app/xyzviz.cpp /^void doAnimation(bool flag){$/;" f doAveragingPositions framework/integrators/BSplineMOLLYIntegrator.cpp /^ Vector3DBlock* BSplineMOLLYIntegrator::doAveragingPositions() {$/;" f class:ProtoMol::BSplineMOLLYIntegrator doAveragingPositions framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ Vector3DBlock* EquilibriumMOLLYIntegrator::doAveragingPositions()$/;" f class:ProtoMol::EquilibriumMOLLYIntegrator doBarrier framework/parallel/Parallel.cpp /^ void doBarrier(){$/;" f namespace:ProtoMol doDrift applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::doDrift() {$/;" f class:ProtoMol::iSGIntegrator doDrift framework/integrators/LangevinImpulseIntegrator.cpp /^ void LangevinImpulseIntegrator::doDrift() {$/;" f class:ProtoMol::LangevinImpulseIntegrator doDrift framework/integrators/NPTVerletIntegrator.cpp /^ void NPTVerletIntegrator::doDrift() {$/;" f class:ProtoMol::NPTVerletIntegrator doDrift framework/integrators/NVTVerletIntegrator.cpp /^ void NVTVerletIntegrator::doDrift() {$/;" f class:ProtoMol::NVTVerletIntegrator doDrift framework/integrators/PaulTrapIntegrator.cpp /^ void PaulTrapIntegrator::doDrift(void) {$/;" f class:ProtoMol::PaulTrapIntegrator doDrift framework/integrators/STSIntegrator.cpp /^ void STSIntegrator::doDrift() {$/;" f class:ProtoMol::STSIntegrator doDriftOrNextIntegrator framework/integrators/MTSIntegrator.cpp /^ void MTSIntegrator::doDriftOrNextIntegrator() {$/;" f class:ProtoMol::MTSIntegrator doDriftOrNextIntegrator framework/integrators/STSIntegrator.cpp /^ void STSIntegrator::doDriftOrNextIntegrator() {$/;" f class:ProtoMol::STSIntegrator doEvaluate framework/forces/ElectricFieldSystemForce.h /^ inline void ElectricFieldSystemForce::doEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::ElectricFieldSystemForce doEvaluate framework/forces/ExternalGravitationSystemForce.cpp /^ void ExternalGravitationSystemForce::doEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::ExternalGravitationSystemForce doEvaluate framework/forces/ExternalMagneticFieldExtendedForce.cpp /^ void ExternalMagneticFieldExtendedForce::doEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::ExternalMagneticFieldExtendedForce doEvaluate framework/forces/FrictionExtendedForce.cpp /^ void FrictionExtendedForce::doEvaluate(const GenericTopology*,$/;" f class:ProtoMol::FrictionExtendedForce doEvaluate framework/forces/NonbondedCutoffForce.h /^ void NonbondedCutoffForce::doEvaluate(const GenericTopology* topo, unsigned int n){$/;" f class:ProtoMol::NonbondedCutoffForce doEvaluate framework/forces/NonbondedFullSystemForce.h /^ void NonbondedFullSystemForce::doEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedFullSystemForce doEvaluate framework/forces/NonbondedSimpleFullSystemForce.h /^ void NonbondedSimpleFullSystemForce::doEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedSimpleFullSystemForce doEvaluate framework/forces/PaulTrapExtendedForce.h /^ inline void PaulTrapExtendedForce::doEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::PaulTrapExtendedForce doEvaluate framework/forces/SphericalSystemForce.cpp /^ void SphericalSystemForce::doEvaluate(const GenericTopology* \/*topo*\/,$/;" f class:ProtoMol::SphericalSystemForce doExecute applications/iSGProtomol-app/integrators/ModifierISG.cpp /^ void ModifierISG::doExecute(){$/;" f class:ProtoMol::ModifierISG doExecute applications/iSGProtomol-app/integrators/iSGModifierPostForceChemostat.h /^ virtual void doExecute(){$/;" f class:ProtoMol::iSGModifierPostForceChemostat doExecute applications/iSGProtomol-app/integrators/iSGModifierPreForceChemostat.h /^ virtual void doExecute(){$/;" f class:ProtoMol::iSGModifierPreForceChemostat doExecute framework/integrators/ModifierAveraging.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierAveraging doExecute framework/integrators/ModifierFriction.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierFriction doExecute framework/integrators/ModifierIncrementTimestep.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierIncrementTimestep doExecute framework/integrators/ModifierMollification.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierMollification doExecute framework/integrators/ModifierNPTRattle.cpp /^ void ModifierNPTRattleDetails::doExecute(){$/;" f class:ProtoMol::ModifierNPTRattleDetails doExecute framework/integrators/ModifierNPTShake.cpp /^ void ModifierNPTShakeDetails::doExecute(){$/;" f class:ProtoMol::ModifierNPTShakeDetails doExecute framework/integrators/ModifierNVTRattle.cpp /^ void ModifierNVTRattleDetails::doExecute(){$/;" f class:ProtoMol::ModifierNVTRattleDetails doExecute framework/integrators/ModifierNVTShake.cpp /^ void ModifierNVTShakeDetails::doExecute(){$/;" f class:ProtoMol::ModifierNVTShakeDetails doExecute framework/integrators/ModifierPostForceBarostat.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierPostForceBarostat doExecute framework/integrators/ModifierPostForceThermostat.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierPostForceThermostat doExecute framework/integrators/ModifierPreForceBarostat.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierPreForceBarostat doExecute framework/integrators/ModifierPreForceThermostat.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierPreForceThermostat doExecute framework/integrators/ModifierRattle.cpp /^ void ModifierRattle::doExecute(){$/;" f class:ProtoMol::ModifierRattle doExecute framework/integrators/ModifierRemoveAngularMomentum.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierRemoveAngularMomentum doExecute framework/integrators/ModifierRemoveLinearMomentum.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierRemoveLinearMomentum doExecute framework/integrators/ModifierShake.cpp /^ void ModifierShake::doExecute(){$/;" f class:ProtoMol::ModifierShake doExecute framework/integrators/ModifierUpdateBeta.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierUpdateBeta doExecute framework/integrators/ModifierUpdateBetaAndPush.h /^ virtual void doExecute(){$/;" f class:ProtoMol::ModifierUpdateBetaAndPush doExecute framework/integrators/UmbrellaIntegrator.cpp /^ void ModifierUmbrella::doExecute(){$/;" f class:ProtoMol::ModifierUmbrella doFinalize applications/iSGProtomol-app/frontend/OutputFinalPSF.cpp /^ void OutputFinalPSF::doFinalize(int step){$/;" f class:ProtoMol::OutputFinalPSF doFinalize applications/iSGProtomol-app/frontend/OutputFinalXSC.cpp /^ void OutputFinalXSC::doFinalize(int step){$/;" f class:ProtoMol::OutputFinalXSC doFinalize applications/iSGProtomol-app/frontend/OutputISGProperties.cpp /^ void OutputISGProperties::doFinalize(int){$/;" f class:ProtoMol::OutputISGProperties doFinalize framework/frontend/OutputDCDTrajectory.cpp /^ void OutputDCDTrajectory::doFinalize(int){$/;" f class:ProtoMol::OutputDCDTrajectory doFinalize framework/frontend/OutputDiffusion.cpp /^ void OutputDiffusion::doFinalize(int){$/;" f class:ProtoMol::OutputDiffusion doFinalize framework/frontend/OutputDihedrals.cpp /^ void OutputDihedrals::doFinalize(int){$/;" f class:ProtoMol::OutputDihedrals doFinalize framework/frontend/OutputEnergies.cpp /^ void OutputEnergies::doFinalize(int){$/;" f class:ProtoMol::OutputEnergies doFinalize framework/frontend/OutputFinalPDBPos.cpp /^ void OutputFinalPDBPos::doFinalize(int step){$/;" f class:ProtoMol::OutputFinalPDBPos doFinalize framework/frontend/OutputFinalXYZBinPos.cpp /^ void OutputFinalXYZBinPos::doFinalize(int){$/;" f class:ProtoMol::OutputFinalXYZBinPos doFinalize framework/frontend/OutputFinalXYZBinVel.cpp /^ void OutputFinalXYZBinVel::doFinalize(int){$/;" f class:ProtoMol::OutputFinalXYZBinVel doFinalize framework/frontend/OutputFinalXYZPos.cpp /^ void OutputFinalXYZPos::doFinalize(int step){$/;" f class:ProtoMol::OutputFinalXYZPos doFinalize framework/frontend/OutputFinalXYZVel.cpp /^ void OutputFinalXYZVel::doFinalize(int step){$/;" f class:ProtoMol::OutputFinalXYZVel doFinalize framework/frontend/OutputMomentum.cpp /^ void OutputMomentum::doFinalize(int){$/;" f class:ProtoMol::OutputMomentum doFinalize framework/frontend/OutputPDBFramePos.h /^ virtual void doFinalize(int){};$/;" f class:ProtoMol::OutputPDBFramePos doFinalize framework/frontend/OutputPaulTrap.cpp /^ void OutputPaulTrap::doFinalize(int){$/;" f class:ProtoMol::OutputPaulTrap doFinalize framework/frontend/OutputScreen.h /^ virtual void doFinalize(int){}$/;" f class:ProtoMol::OutputScreen doFinalize framework/frontend/OutputTemperatures.cpp /^ void OutputTemperatures::doFinalize(int){$/;" f class:ProtoMol::OutputTemperatures doFinalize framework/frontend/OutputXYZTrajectoryForce.cpp /^ void OutputXYZTrajectoryForce::doFinalize(int){$/;" f class:ProtoMol::OutputXYZTrajectoryForce doFinalize framework/frontend/OutputXYZTrajectoryPos.cpp /^ void OutputXYZTrajectoryPos::doFinalize(int){$/;" f class:ProtoMol::OutputXYZTrajectoryPos doFinalize framework/frontend/OutputXYZTrajectoryVel.cpp /^ void OutputXYZTrajectoryVel::doFinalize(int){$/;" f class:ProtoMol::OutputXYZTrajectoryVel doFirstHalfKick framework/integrators/BBKIntegrator.cpp /^ void BBKIntegrator::doFirstHalfKick(){$/;" f class:ProtoMol::BBKIntegrator doHalfDrift framework/integrators/PLeapfrogIntegrator.cpp /^ void PLeapfrogIntegrator::doHalfDrift() {$/;" f class:ProtoMol::PLeapfrogIntegrator doHalfKick applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::doHalfKick() {$/;" f class:ProtoMol::iSGIntegrator doHalfKick framework/integrators/DMDLeapfrogIntegrator.cpp /^ void DMDLeapfrogIntegrator::doHalfKick() $/;" f class:ProtoMol::DMDLeapfrogIntegrator doHalfKick framework/integrators/NPTVerletIntegrator.cpp /^ void NPTVerletIntegrator::doHalfKick() {$/;" f class:ProtoMol::NPTVerletIntegrator doHalfKick framework/integrators/NVTVerletIntegrator.cpp /^ void NVTVerletIntegrator::doHalfKick() {$/;" f class:ProtoMol::NVTVerletIntegrator doHalfKick framework/integrators/StandardIntegrator.cpp /^ void StandardIntegrator::doHalfKick(){$/;" f class:ProtoMol::StandardIntegrator doHalfKickIterate framework/integrators/DMDLeapfrogIntegrator.cpp /^ void DMDLeapfrogIntegrator::doHalfKickIterate() {$/;" f class:ProtoMol::DMDLeapfrogIntegrator doHalfKickVhat framework/integrators/DMDLeapfrogIntegrator.cpp /^ void DMDLeapfrogIntegrator::doHalfKickVhat() $/;" f class:ProtoMol::DMDLeapfrogIntegrator doHalfKickdoDrift framework/integrators/LeapfrogIntegrator.cpp /^ void LeapfrogIntegrator::doHalfKickdoDrift() {$/;" f class:ProtoMol::LeapfrogIntegrator doInitialize applications/iSGProtomol-app/frontend/OutputFinalPSF.h /^ virtual void doInitialize(){};$/;" f class:ProtoMol::OutputFinalPSF doInitialize applications/iSGProtomol-app/frontend/OutputFinalXSC.h /^ virtual void doInitialize(){};$/;" f class:ProtoMol::OutputFinalXSC doInitialize applications/iSGProtomol-app/frontend/OutputISGProperties.cpp /^ void OutputISGProperties::doInitialize(){$/;" f class:ProtoMol::OutputISGProperties doInitialize applications/iSGProtomol-app/integrators/ModifierISG.cpp /^ void ModifierISG::doInitialize() {}$/;" f class:ProtoMol::ModifierISG doInitialize framework/frontend/OutputDCDTrajectory.cpp /^ void OutputDCDTrajectory::doInitialize(){$/;" f class:ProtoMol::OutputDCDTrajectory doInitialize framework/frontend/OutputDiffusion.cpp /^ void OutputDiffusion::doInitialize(){$/;" f class:ProtoMol::OutputDiffusion doInitialize framework/frontend/OutputDihedrals.cpp /^ void OutputDihedrals::doInitialize(){$/;" f class:ProtoMol::OutputDihedrals doInitialize framework/frontend/OutputEnergies.cpp /^ void OutputEnergies::doInitialize(){$/;" f class:ProtoMol::OutputEnergies doInitialize framework/frontend/OutputFinalPDBPos.h /^ virtual void doInitialize(){};$/;" f class:ProtoMol::OutputFinalPDBPos doInitialize framework/frontend/OutputFinalXYZBinPos.h /^ virtual void doInitialize(){};$/;" f class:ProtoMol::OutputFinalXYZBinPos doInitialize framework/frontend/OutputFinalXYZBinVel.h /^ virtual void doInitialize(){};$/;" f class:ProtoMol::OutputFinalXYZBinVel doInitialize framework/frontend/OutputFinalXYZPos.h /^ virtual void doInitialize(){};$/;" f class:ProtoMol::OutputFinalXYZPos doInitialize framework/frontend/OutputFinalXYZVel.h /^ virtual void doInitialize(){};$/;" f class:ProtoMol::OutputFinalXYZVel doInitialize framework/frontend/OutputMomentum.cpp /^ void OutputMomentum::doInitialize(){$/;" f class:ProtoMol::OutputMomentum doInitialize framework/frontend/OutputPDBFramePos.h /^ virtual void doInitialize(){};$/;" f class:ProtoMol::OutputPDBFramePos doInitialize framework/frontend/OutputPaulTrap.cpp /^ void OutputPaulTrap::doInitialize(){$/;" f class:ProtoMol::OutputPaulTrap doInitialize framework/frontend/OutputScreen.cpp /^ void OutputScreen::doInitialize(){$/;" f class:ProtoMol::OutputScreen doInitialize framework/frontend/OutputTemperatures.cpp /^ void OutputTemperatures::doInitialize(){$/;" f class:ProtoMol::OutputTemperatures doInitialize framework/frontend/OutputXYZTrajectoryForce.cpp /^ void OutputXYZTrajectoryForce::doInitialize(){$/;" f class:ProtoMol::OutputXYZTrajectoryForce doInitialize framework/frontend/OutputXYZTrajectoryPos.cpp /^ void OutputXYZTrajectoryPos::doInitialize(){$/;" f class:ProtoMol::OutputXYZTrajectoryPos doInitialize framework/frontend/OutputXYZTrajectoryVel.cpp /^ void OutputXYZTrajectoryVel::doInitialize(){$/;" f class:ProtoMol::OutputXYZTrajectoryVel doInitialize framework/integrators/Modifier.h /^ virtual void doInitialize(){}$/;" f class:ProtoMol::Modifier doInitialize framework/integrators/ModifierMetaRattleShake.cpp /^ void ModifierMetaRattleShake::doInitialize(){$/;" f class:ProtoMol::ModifierMetaRattleShake doInitialize framework/integrators/ModifierRemoveAngularMomentum.h /^ virtual void doInitialize(){myStep =0;}$/;" f class:ProtoMol::ModifierRemoveAngularMomentum doInitialize framework/integrators/ModifierRemoveLinearMomentum.h /^ virtual void doInitialize(){myStep =0;}$/;" f class:ProtoMol::ModifierRemoveLinearMomentum doKeywords framework/frontend/HelpTextFactory.cpp /^ string HelpTextFactory::doKeywords() const{$/;" f class:ProtoMol::HelpTextFactory doKick framework/integrators/StandardIntegrator.cpp /^ void StandardIntegrator::doKick(){$/;" f class:ProtoMol::StandardIntegrator doKickdoDrift framework/integrators/LeapfrogIntegrator.cpp /^ void LeapfrogIntegrator::doKickdoDrift() {$/;" f class:ProtoMol::LeapfrogIntegrator doKickdoDrift framework/integrators/PLeapfrogIntegrator.cpp /^ void PLeapfrogIntegrator::doKickdoDrift() {$/;" f class:ProtoMol::PLeapfrogIntegrator doKickdoHalfDrift framework/integrators/PLeapfrogIntegrator.cpp /^ void PLeapfrogIntegrator::doKickdoHalfDrift() {$/;" f class:ProtoMol::PLeapfrogIntegrator doMake applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^ virtual Force* doMake(std::string&, std::vector) const {$/;" f class:ProtoMol::iSGAngleSystemForce doMake applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^ virtual Force* doMake(std::string&, std::vector) const {$/;" f class:ProtoMol::iSGBondSystemForce doMake applications/iSGProtomol-app/forces/iSGDihedralSystemForce.h /^ virtual Force* doMake(std::string&, std::vector) const { return (new iSGDihedralSystemForce());}$/;" f class:ProtoMol::iSGDihedralSystemForce doMake applications/iSGProtomol-app/forces/iSGImproperSystemForce.h /^ virtual Force* doMake(std::string&, std::vector) const { return (new iSGImproperSystemForce()); }$/;" f class:ProtoMol::iSGImproperSystemForce doMake applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::doMake(std::string& errMsg, std::vector values) const{$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce doMake applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ real,reciprocal,correction,TInterpolation,TSwitchingFunction>::doMake(std::string& errMsg,std::vector values) const{$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce doMake applications/iSGProtomol-app/frontend/OutputFinalPSF.cpp /^ Output* OutputFinalPSF::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputFinalPSF doMake applications/iSGProtomol-app/frontend/OutputFinalXSC.cpp /^ Output* OutputFinalXSC::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputFinalXSC doMake applications/iSGProtomol-app/frontend/OutputISGProperties.cpp /^ Output* OutputISGProperties::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputISGProperties doMake applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ STSIntegrator* iSGIntegrator::doMake(string&, const vector& values,ForceGroup* fg)const{$/;" f class:ProtoMol::iSGIntegrator doMake framework/forces/AngleSystemForce.h /^ virtual Force* doMake(std::string&, std::vector) const {$/;" f class:ProtoMol::AngleSystemForce doMake framework/forces/BondSystemForce.h /^ virtual Force* doMake(std::string&, std::vector) const {$/;" f class:ProtoMol::BondSystemForce doMake framework/forces/CompareForce.cpp /^ Force* CompareForce::doMake(string& errMsg, vector values) const{$/;" f class:ProtoMol::CompareForce doMake framework/forces/DihedralSystemForce.h /^ virtual Force* doMake(std::string&, std::vector) const { return (new DihedralSystemForce());}$/;" f class:ProtoMol::DihedralSystemForce doMake framework/forces/ElectricFieldSystemForce.h /^ inline Force* ElectricFieldSystemForce::doMake(std::string& errMsg, std::vector values) const {$/;" f class:ProtoMol::ElectricFieldSystemForce doMake framework/forces/ExternalGravitationSystemForce.cpp /^ Force* ExternalGravitationSystemForce::doMake(string&, vector values) const {$/;" f class:ProtoMol::ExternalGravitationSystemForce doMake framework/forces/ExternalMagneticFieldExtendedForce.cpp /^ Force* ExternalMagneticFieldExtendedForce::doMake(string&, vector values) const {$/;" f class:ProtoMol::ExternalMagneticFieldExtendedForce doMake framework/forces/FrictionExtendedForce.cpp /^ Force* FrictionExtendedForce::doMake(string&, vector values) const {$/;" f class:ProtoMol::FrictionExtendedForce doMake framework/forces/HarmDihedralSystemForce.h /^ virtual Force* doMake(std::string&, std::vector values) const { $/;" f class:ProtoMol::HarmDihedralSystemForce doMake framework/forces/ImproperSystemForce.h /^ virtual Force* doMake(std::string&, std::vector) const { return (new ImproperSystemForce()); }$/;" f class:ProtoMol::ImproperSystemForce doMake framework/forces/MagneticDipoleMirrorSystemForce.h /^ inline Force* MagneticDipoleMirrorSystemForce::doMake(std::string&, std::vector values) const {$/;" f class:ProtoMol::MagneticDipoleMirrorSystemForce doMake framework/forces/NonbondedCutoffForce.h /^ Force* NonbondedCutoffForce::doMake(std::string& errMsg, std::vector values) const{$/;" f class:ProtoMol::NonbondedCutoffForce doMake framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::doMake(std::string& errMsg, std::vector values) const{$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce doMake framework/forces/NonbondedFullSystemForce.h /^ Force* NonbondedFullSystemForce::doMake(std::string& errMsg, std::vector values) const{$/;" f class:ProtoMol::NonbondedFullSystemForce doMake framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::doMake(std::string& errMsg, std::vector values) const{$/;" f class:ProtoMol::NonbondedMultiGridSystemForce doMake framework/forces/NonbondedPMEwaldSystemForce.h /^ real,reciprocal,correction,TInterpolation,TSwitchingFunction>::doMake(std::string& errMsg,std::vector values) const{$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce doMake framework/forces/NonbondedSimpleFullSystemForce.h /^ virtual Force* doMake(std::string& errMsg, std::vector values) const{$/;" f class:ProtoMol::NonbondedSimpleFullSystemForce doMake framework/forces/PaulTrapExtendedForce.h /^ inline Force* PaulTrapExtendedForce::doMake(std::string&, std::vector values) const {$/;" f class:ProtoMol::PaulTrapExtendedForce doMake framework/forces/SphericalSystemForce.cpp /^ Force* SphericalSystemForce::doMake(string& errMsg, vector values) const {$/;" f class:ProtoMol::SphericalSystemForce doMake framework/forces/TimeForce.cpp /^ Force* TimeForce::doMake(string& errMsg, vector values) const{$/;" f class:ProtoMol::TimeForce doMake framework/forces/WrapperMetaForce.cpp /^ Force* WrapperMetaForce::doMake(string& errMsg, vector val) const{$/;" f class:ProtoMol::WrapperMetaForce doMake framework/frontend/ForceFactoryDetails.cpp /^ Force* ForceFactoryDetails::doMake(string& errMsg, const string& idInput, vector values) const{$/;" f class:ProtoMol::ForceFactoryDetails doMake framework/frontend/IntegratorFactoryDetails.cpp /^ Integrator* IntegratorFactoryDetails::doMake(string& errMsg, const string& definition) const{$/;" f class:ProtoMol::IntegratorFactoryDetails doMake framework/frontend/OutputDCDTrajectory.cpp /^ Output* OutputDCDTrajectory::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputDCDTrajectory doMake framework/frontend/OutputDiffusion.cpp /^ Output* OutputDiffusion::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputDiffusion doMake framework/frontend/OutputDihedrals.cpp /^ Output* OutputDihedrals::doMake(std::string& , const std::vector& values) const{$/;" f class:ProtoMol::OutputDihedrals doMake framework/frontend/OutputEnergies.cpp /^ Output* OutputEnergies::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputEnergies doMake framework/frontend/OutputFactoryDetails.cpp /^ Output* OutputFactoryDetails::doMake(string& errMsg, const string& id, const vector& values) const{$/;" f class:ProtoMol::OutputFactoryDetails doMake framework/frontend/OutputFinalPDBPos.cpp /^ Output* OutputFinalPDBPos::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputFinalPDBPos doMake framework/frontend/OutputFinalXYZBinPos.cpp /^ Output* OutputFinalXYZBinPos::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputFinalXYZBinPos doMake framework/frontend/OutputFinalXYZBinVel.cpp /^ Output* OutputFinalXYZBinVel::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputFinalXYZBinVel doMake framework/frontend/OutputFinalXYZPos.cpp /^ Output* OutputFinalXYZPos::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputFinalXYZPos doMake framework/frontend/OutputFinalXYZVel.cpp /^ Output* OutputFinalXYZVel::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputFinalXYZVel doMake framework/frontend/OutputMomentum.cpp /^ Output* OutputMomentum::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputMomentum doMake framework/frontend/OutputPDBFramePos.cpp /^ Output* OutputPDBFramePos::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputPDBFramePos doMake framework/frontend/OutputPaulTrap.cpp /^ Output* OutputPaulTrap::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputPaulTrap doMake framework/frontend/OutputScreen.cpp /^ Output* OutputScreen::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputScreen doMake framework/frontend/OutputTemperatures.cpp /^ Output* OutputTemperatures::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputTemperatures doMake framework/frontend/OutputXYZTrajectoryForce.cpp /^ Output* OutputXYZTrajectoryForce::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputXYZTrajectoryForce doMake framework/frontend/OutputXYZTrajectoryPos.cpp /^ Output* OutputXYZTrajectoryPos::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputXYZTrajectoryPos doMake framework/frontend/OutputXYZTrajectoryVel.cpp /^ Output* OutputXYZTrajectoryVel::doMake(string&, const vector& values) const{$/;" f class:ProtoMol::OutputXYZTrajectoryVel doMake framework/frontend/TopologyFactoryDetails.cpp /^ GenericTopology* TopologyFactoryDetails::doMake(string& errMsg, const string& id, const vector& values) const{$/;" f class:ProtoMol::TopologyFactoryDetails doMake framework/imd/HapticSystemForce.cpp /^ Force* HapticSystemForce::doMake(string& , vector values) const {$/;" f class:ProtoMol::HapticSystemForce doMake framework/integrators/BBKIntegrator.cpp /^ STSIntegrator* BBKIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{$/;" f class:ProtoMol::BBKIntegrator doMake framework/integrators/BSplineMOLLYIntegrator.cpp /^ MTSIntegrator* BSplineMOLLYIntegrator::doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const{$/;" f class:ProtoMol::BSplineMOLLYIntegrator doMake framework/integrators/DLMCIntegrator.cpp /^ MTSIntegrator* DLMCIntegrator::doMake(string& , const vector& values, $/;" f class:ProtoMol::DLMCIntegrator doMake framework/integrators/DMDLeapfrogIntegrator.cpp /^ STSIntegrator* DMDLeapfrogIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{$/;" f class:ProtoMol::DMDLeapfrogIntegrator doMake framework/integrators/DihedralHMCIntegrator.cpp /^ MTSIntegrator* DihedralHMCIntegrator::doMake(string& , const vector& values, $/;" f class:ProtoMol::DihedralHMCIntegrator doMake framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ MTSIntegrator* EquilibriumMOLLYIntegrator::doMake(string& , const vector& values,ForceGroup* fg, StandardIntegrator *nextIntegrator)const{$/;" f class:ProtoMol::EquilibriumMOLLYIntegrator doMake framework/integrators/HMCIntegrator.cpp /^ MTSIntegrator* HMCIntegrator::doMake(string& , const vector& values, $/;" f class:ProtoMol::HMCIntegrator doMake framework/integrators/ImpulseIntegrator.cpp /^ MTSIntegrator* ImpulseIntegrator::doMake(string&, const vector& values,ForceGroup* fg, StandardIntegrator *nextIntegrator)const{$/;" f class:ProtoMol::ImpulseIntegrator doMake framework/integrators/LangevinImpulseIntegrator.cpp /^ STSIntegrator* LangevinImpulseIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{$/;" f class:ProtoMol::LangevinImpulseIntegrator doMake framework/integrators/LeapfrogIntegrator.cpp /^ STSIntegrator* LeapfrogIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{$/;" f class:ProtoMol::LeapfrogIntegrator doMake framework/integrators/NPTVerletIntegrator.cpp /^ STSIntegrator* NPTVerletIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{$/;" f class:ProtoMol::NPTVerletIntegrator doMake framework/integrators/NVTVerletIntegrator.cpp /^ STSIntegrator* NVTVerletIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{$/;" f class:ProtoMol::NVTVerletIntegrator doMake framework/integrators/NoseNVTLeapfrogIntegrator.cpp /^ STSIntegrator* NoseNVTLeapfrogIntegrator::doMake(string&, const vector& values,ForceGroup* fg)const{$/;" f class:ProtoMol::NoseNVTLeapfrogIntegrator doMake framework/integrators/PLeapfrogIntegrator.cpp /^ STSIntegrator* PLeapfrogIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{$/;" f class:ProtoMol::PLeapfrogIntegrator doMake framework/integrators/PaulTrapIntegrator.cpp /^ STSIntegrator* PaulTrapIntegrator::doMake(string& errMsg, const vector& values,ForceGroup* fg)const{$/;" f class:ProtoMol::PaulTrapIntegrator doMake framework/integrators/UmbrellaIntegrator.cpp /^ MTSIntegrator* UmbrellaIntegrator::doMake(string& ,$/;" f class:ProtoMol::UmbrellaIntegrator doMake framework/topology/Topology.h /^ virtual GenericTopology* doMake(std::string& errMsg, std::vector values)const{$/;" f class:ProtoMol::Topology doMakeCollection framework/frontend/OutputFactoryDetails.cpp /^ OutputCollection* OutputFactoryDetails::doMakeCollection(string& errMsg, const Configuration* config) const{$/;" f class:ProtoMol::OutputFactoryDetails doMollification framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::doMollification(Vector3DBlock*){$/;" f class:ProtoMol::BSplineMOLLYIntegrator doMollification framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ void EquilibriumMOLLYIntegrator::doMollification(Vector3DBlock*){$/;" f class:ProtoMol::EquilibriumMOLLYIntegrator doOneAtomPair applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ TConstraint>::doOneAtomPair(const int i, const int j) {$/;" f class:ProtoMol::iSGOneAtomPair doOneAtomPair applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ TConstraint>::doOneAtomPair(const int i, const int j) {$/;" f class:ProtoMol::iSGOneAtomPairFull doOneAtomPair applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ TConstraint>::doOneAtomPair(const int i, const int j) {$/;" f class:ProtoMol::iSGOneAtomPairTwo doOneAtomPair applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ TConstraint>::doOneAtomPair(const int i, const int j) {$/;" f class:ProtoMol::iSGOneAtomPairTwoFull doOneAtomPair framework/forces/OneAtomPair.h /^ TConstraint>::doOneAtomPair(const int i, const int j) {$/;" f class:ProtoMol::OneAtomPair doOneAtomPair framework/forces/OneAtomPairFull.h /^ TConstraint>::doOneAtomPair(const int i, const int j) {$/;" f class:ProtoMol::OneAtomPairFull doOneAtomPair framework/forces/OneAtomPairTwo.h /^ TConstraint>::doOneAtomPair(const int i, const int j) {$/;" f class:ProtoMol::OneAtomPairTwo doOneAtomPair framework/forces/OneAtomPairTwoFull.h /^ TConstraint>::doOneAtomPair(const int i, const int j) {$/;" f class:ProtoMol::OneAtomPairTwoFull doOneAtomPair framework/forces/OneMollyPair.h /^ TNonbondedForce>::doOneAtomPair(const int i, const int j) {$/;" f class:ProtoMol::OneMollyPair doOneAtomPair framework/forces/OneMollyPairTwo.h /^ TNonbondedForceSecond>::doOneAtomPair(const int i, const int j) {$/;" f class:ProtoMol::OneMollyPairTwo doPrint applications/iSGProtomol-app/integrators/ModifierISG.h /^ virtual std::string doPrint()const{return std::string("ISG");};$/;" f class:ProtoMol::ModifierISG doPrint applications/iSGProtomol-app/integrators/iSGModifierPostForceChemostat.h /^ virtual std::string doPrint()const{return std::string("PostForceChemostat");};$/;" f class:ProtoMol::iSGModifierPostForceChemostat doPrint applications/iSGProtomol-app/integrators/iSGModifierPreForceChemostat.h /^ virtual std::string doPrint()const{return std::string("PretForceChemostat");}$/;" f class:ProtoMol::iSGModifierPreForceChemostat doPrint framework/frontend/ForceFactoryDetails.cpp /^ string ForceFactoryDetails::doPrint()const{$/;" f class:ProtoMol::ForceFactoryDetails doPrint framework/frontend/IntegratorFactoryDetails.cpp /^ string IntegratorFactoryDetails::doPrint()const{$/;" f class:ProtoMol::IntegratorFactoryDetails doPrint framework/frontend/OutputFactoryDetails.cpp /^ string OutputFactoryDetails::doPrint()const{$/;" f class:ProtoMol::OutputFactoryDetails doPrint framework/frontend/TopologyFactoryDetails.cpp /^ string TopologyFactoryDetails::doPrint()const{$/;" f class:ProtoMol::TopologyFactoryDetails doPrint framework/integrators/ModifierAveraging.h /^ virtual std::string doPrint()const{return std::string("Averaging");};$/;" f class:ProtoMol::ModifierAveraging doPrint framework/integrators/ModifierFriction.h /^ virtual std::string doPrint()const{return std::string("Friction");};$/;" f class:ProtoMol::ModifierFriction doPrint framework/integrators/ModifierIncrementTimestep.h /^ virtual std::string doPrint()const{return std::string("IncrementTimestep");};$/;" f class:ProtoMol::ModifierIncrementTimestep doPrint framework/integrators/ModifierMollification.h /^ virtual std::string doPrint()const{return std::string("Mollification");};$/;" f class:ProtoMol::ModifierMollification doPrint framework/integrators/ModifierNPTRattle.h /^ virtual std::string doPrint()const{return std::string("NPTRattle");};$/;" f class:ProtoMol::ModifierNPTRattleDetails doPrint framework/integrators/ModifierNPTShake.h /^ virtual std::string doPrint()const{return std::string("NPTShake");};$/;" f class:ProtoMol::ModifierNPTShakeDetails doPrint framework/integrators/ModifierNVTRattle.h /^ virtual std::string doPrint()const{return std::string("NPTRattle");};$/;" f class:ProtoMol::ModifierNVTRattleDetails doPrint framework/integrators/ModifierNVTShake.h /^ virtual std::string doPrint()const{return std::string("NVTShake");};$/;" f class:ProtoMol::ModifierNVTShakeDetails doPrint framework/integrators/ModifierPostForceBarostat.h /^ virtual std::string doPrint()const{return std::string("PostForceBarostat");};$/;" f class:ProtoMol::ModifierPostForceBarostat doPrint framework/integrators/ModifierPostForceThermostat.h /^ virtual std::string doPrint()const{return std::string("PostForceThermostat");};$/;" f class:ProtoMol::ModifierPostForceThermostat doPrint framework/integrators/ModifierPreForceBarostat.h /^ virtual std::string doPrint()const{return std::string("PreForceBarostat");};$/;" f class:ProtoMol::ModifierPreForceBarostat doPrint framework/integrators/ModifierPreForceThermostat.h /^ virtual std::string doPrint()const{return std::string("PreForceThermostat");};$/;" f class:ProtoMol::ModifierPreForceThermostat doPrint framework/integrators/ModifierRattle.h /^ virtual std::string doPrint()const{return std::string("Rattle");};$/;" f class:ProtoMol::ModifierRattle doPrint framework/integrators/ModifierRemoveAngularMomentum.h /^ virtual std::string doPrint()const{return std::string("RemoveAngularMomentum");};$/;" f class:ProtoMol::ModifierRemoveAngularMomentum doPrint framework/integrators/ModifierRemoveLinearMomentum.h /^ virtual std::string doPrint()const{return std::string("RemoveLinearMomentum");};$/;" f class:ProtoMol::ModifierRemoveLinearMomentum doPrint framework/integrators/ModifierShake.h /^ virtual std::string doPrint()const{return std::string("Shake");};$/;" f class:ProtoMol::ModifierShake doPrint framework/integrators/ModifierUpdateBeta.h /^ virtual std::string doPrint()const{return std::string("UpdateBeta");};$/;" f class:ProtoMol::ModifierUpdateBeta doPrint framework/integrators/ModifierUpdateBetaAndPush.h /^ virtual std::string doPrint()const{return std::string("UpdateBetaAndPush");};$/;" f class:ProtoMol::ModifierUpdateBetaAndPush doPrint framework/integrators/UmbrellaIntegrator.cpp /^ virtual std::string doPrint()const{return std::string("Umbrella");}$/;" f class:ProtoMol::ModifierUmbrella file: doRegisterAllExemplarsConfiguration framework/frontend/OutputFactoryDetails.cpp /^ void OutputFactoryDetails::doRegisterAllExemplarsConfiguration(Configuration* config) const {$/;" f class:ProtoMol::OutputFactoryDetails doRegisterAllExemplarsConfiguration framework/frontend/TopologyFactoryDetails.cpp /^ void TopologyFactoryDetails::doRegisterAllExemplarsConfiguration(Configuration* config) const {$/;" f class:ProtoMol::TopologyFactoryDetails doRegisterExemplar framework/frontend/Factory.h /^ void doRegisterExemplar(const std::string& id, const Type* exemplar){$/;" f class:ProtoMol::Factory doRegisterExemplar framework/frontend/Factory.h /^ void doRegisterExemplar(const std::string& id, const Type* exemplar,const std::vector& aliases) {$/;" f class:ProtoMol::Factory doRegisterExemplar framework/frontend/HelpTextFactory.cpp /^ void HelpTextFactory::doRegisterExemplar(const string& id, const HelpText& helpText){$/;" f class:ProtoMol::HelpTextFactory doRegisterExemplars framework/frontend/HelpTextFactory.cpp /^ void HelpTextFactory::doRegisterExemplars(const Configuration* config){$/;" f class:ProtoMol::HelpTextFactory doRegisterHelpText framework/frontend/ForceFactoryDetails.cpp /^ void ForceFactoryDetails::doRegisterHelpText() const{$/;" f class:ProtoMol::ForceFactoryDetails doRegisterHelpText framework/frontend/IntegratorFactoryDetails.cpp /^ void IntegratorFactoryDetails::doRegisterHelpText() const{$/;" f class:ProtoMol::IntegratorFactoryDetails doRegisterHelpText framework/frontend/OutputFactoryDetails.cpp /^ void OutputFactoryDetails::doRegisterHelpText() const{$/;" f class:ProtoMol::OutputFactoryDetails doRegisterHelpText framework/frontend/TopologyFactoryDetails.cpp /^ void TopologyFactoryDetails::doRegisterHelpText() const{$/;" f class:ProtoMol::TopologyFactoryDetails doRun applications/iSGProtomol-app/frontend/OutputFinalPSF.h /^ virtual void doRun(int){};$/;" f class:ProtoMol::OutputFinalPSF doRun applications/iSGProtomol-app/frontend/OutputFinalXSC.h /^ virtual void doRun(int){};$/;" f class:ProtoMol::OutputFinalXSC doRun applications/iSGProtomol-app/frontend/OutputISGProperties.cpp /^ void OutputISGProperties::doRun(int){$/;" f class:ProtoMol::OutputISGProperties doRun framework/frontend/OutputDCDTrajectory.cpp /^ void OutputDCDTrajectory::doRun(int){$/;" f class:ProtoMol::OutputDCDTrajectory doRun framework/frontend/OutputDiffusion.cpp /^ void OutputDiffusion::doRun(int step){$/;" f class:ProtoMol::OutputDiffusion doRun framework/frontend/OutputDihedrals.cpp /^ void OutputDihedrals::doRun(int){$/;" f class:ProtoMol::OutputDihedrals doRun framework/frontend/OutputEnergies.cpp /^ void OutputEnergies::doRun(int){$/;" f class:ProtoMol::OutputEnergies doRun framework/frontend/OutputFinalPDBPos.h /^ virtual void doRun(int){};$/;" f class:ProtoMol::OutputFinalPDBPos doRun framework/frontend/OutputFinalXYZBinPos.h /^ virtual void doRun(int){};$/;" f class:ProtoMol::OutputFinalXYZBinPos doRun framework/frontend/OutputFinalXYZBinVel.h /^ virtual void doRun(int){};$/;" f class:ProtoMol::OutputFinalXYZBinVel doRun framework/frontend/OutputFinalXYZPos.h /^ virtual void doRun(int){};$/;" f class:ProtoMol::OutputFinalXYZPos doRun framework/frontend/OutputFinalXYZVel.h /^ virtual void doRun(int){};$/;" f class:ProtoMol::OutputFinalXYZVel doRun framework/frontend/OutputMomentum.cpp /^ void OutputMomentum::doRun(int){$/;" f class:ProtoMol::OutputMomentum doRun framework/frontend/OutputPDBFramePos.cpp /^ void OutputPDBFramePos::doRun(int step){$/;" f class:ProtoMol::OutputPDBFramePos doRun framework/frontend/OutputPaulTrap.cpp /^ void OutputPaulTrap::doRun(int step){$/;" f class:ProtoMol::OutputPaulTrap doRun framework/frontend/OutputScreen.cpp /^ void OutputScreen::doRun(int step){$/;" f class:ProtoMol::OutputScreen doRun framework/frontend/OutputTemperatures.cpp /^ void OutputTemperatures::doRun(int){$/;" f class:ProtoMol::OutputTemperatures doRun framework/frontend/OutputXYZTrajectoryForce.cpp /^ void OutputXYZTrajectoryForce::doRun(int){$/;" f class:ProtoMol::OutputXYZTrajectoryForce doRun framework/frontend/OutputXYZTrajectoryPos.cpp /^ void OutputXYZTrajectoryPos::doRun(int){$/;" f class:ProtoMol::OutputXYZTrajectoryPos doRun framework/frontend/OutputXYZTrajectoryVel.cpp /^ void OutputXYZTrajectoryVel::doRun(int){$/;" f class:ProtoMol::OutputXYZTrajectoryVel doSearch framework/frontend/HelpTextFactory.cpp /^ string HelpTextFactory::doSearch(const string& id) const{$/;" f class:ProtoMol::HelpTextFactory doSecondHalfKick framework/integrators/BBKIntegrator.cpp /^ void BBKIntegrator::doSecondHalfKick(){$/;" f class:ProtoMol::BBKIntegrator doSetParameters framework/forces/AngleSystemForce.h /^ virtual void doSetParameters(std::string&, std::vector){}$/;" f class:ProtoMol::AngleSystemForce doSetParameters framework/forces/BondSystemForce.h /^ virtual void doSetParameters(std::string&, std::vector){}$/;" f class:ProtoMol::BondSystemForce doSetParameters framework/forces/CompareForce.cpp /^ void CompareForce::doSetParameters(std::string& errMsg, std::vector values){$/;" f class:ProtoMol::CompareForce doSetParameters framework/forces/DihedralSystemForce.h /^ virtual void doSetParameters(std::string&, std::vector){}$/;" f class:ProtoMol::DihedralSystemForce doSetParameters framework/forces/Force.h /^ virtual void doSetParameters(std::string& , std::vector ){Report::report << Report::error << "setParameters not implemented for force "<getId()< values){$/;" f class:ProtoMol::HarmDihedralSystemForce doSetParameters framework/forces/ImproperSystemForce.h /^ virtual void doSetParameters(std::string&, std::vector){}$/;" f class:ProtoMol::ImproperSystemForce doSetParameters framework/forces/TimeForce.cpp /^ void TimeForce::doSetParameters(std::string& errMsg, std::vector values){$/;" f class:ProtoMol::TimeForce doUncache framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::doUncache(){$/;" f class:ProtoMol::BSplineMOLLYIntegrator doUncache framework/integrators/Integrator.h /^ virtual void doUncache(){}$/;" f class:ProtoMol::Integrator doUncache framework/integrators/PaulTrapIntegrator.cpp /^ void PaulTrapIntegrator::doUncache(){$/;" f class:ProtoMol::PaulTrapIntegrator doUnregisterExemplar framework/frontend/Factory.h /^ bool doUnregisterExemplar(const std::string& id) {$/;" f class:ProtoMol::Factory doUnregisterExemplar framework/frontend/HelpTextFactory.cpp /^ bool HelpTextFactory::doUnregisterExemplar(const string& id){$/;" f class:ProtoMol::HelpTextFactory doWrite framework/frontend/OutputPaulTrap.cpp /^ void OutputPaulTrap::doWrite(){$/;" f class:ProtoMol::OutputPaulTrap dohint framework/base/Report.cpp /^ MyStreamer& dohint(MyStreamer& stream){$/;" f namespace:ProtoMol::Report done framework/topology/CellListEnumerator_periodicBoundaries.h /^ bool done() {return (i==the_end);}$/;" f class:ProtoMol::CellListEnumerator done framework/topology/CellListEnumerator_standard.h /^ bool done() {return (i==the_end);}$/;" f class:ProtoMol::CellListEnumerator donors framework/base/PSF.h /^ std::vector donors;$/;" m class:ProtoMol::PSF donthint framework/base/Report.cpp /^ MyStreamer& donthint(MyStreamer& stream){$/;" f namespace:ProtoMol::Report dot framework/base/Vector3D.h /^ Real dot(const Vector3D& b) const { return (*this)*b;}$/;" f class:ProtoMol::Vector3D drawBox compilerTests/glutTest.cpp /^static void drawBox(){$/;" f file: dtor framework/base/mathutilities.cpp /^ vector dtor(const vector& deg){$/;" f namespace:ProtoMol dtor framework/base/mathutilities.h /^ inline Real dtor(Real degree) { $/;" f namespace:ProtoMol e1 framework/topology/PeriodicBoundaryConditions.h /^ const Vector3D& e1() const {return myE1;}$/;" f class:ProtoMol::PeriodicBoundaryConditions e1 framework/topology/VacuumBoundaryConditions.cpp /^ Vector3D VacuumBoundaryConditions::e1() const {return Vector3D(0,0,0);}$/;" f class:ProtoMol::VacuumBoundaryConditions e1r framework/topology/PeriodicBoundaryConditions.h /^ const Vector3D& e1r() const {return myE1r;}$/;" f class:ProtoMol::PeriodicBoundaryConditions e1r framework/topology/VacuumBoundaryConditions.cpp /^ Vector3D VacuumBoundaryConditions::e1r() const {return Vector3D(0,0,0);}$/;" f class:ProtoMol::VacuumBoundaryConditions e2 framework/topology/PeriodicBoundaryConditions.h /^ const Vector3D& e2() const {return myE2;}$/;" f class:ProtoMol::PeriodicBoundaryConditions e2 framework/topology/VacuumBoundaryConditions.cpp /^ Vector3D VacuumBoundaryConditions::e2() const {return Vector3D(0,0,0);}$/;" f class:ProtoMol::VacuumBoundaryConditions e2r framework/topology/PeriodicBoundaryConditions.h /^ const Vector3D& e2r() const {return myE2r;}$/;" f class:ProtoMol::PeriodicBoundaryConditions e2r framework/topology/VacuumBoundaryConditions.cpp /^ Vector3D VacuumBoundaryConditions::e2r() const {return Vector3D(0,0,0);}$/;" f class:ProtoMol::VacuumBoundaryConditions e3 framework/topology/PeriodicBoundaryConditions.h /^ const Vector3D& e3() const {return myE3;}$/;" f class:ProtoMol::PeriodicBoundaryConditions e3 framework/topology/VacuumBoundaryConditions.cpp /^ Vector3D VacuumBoundaryConditions::e3() const {return Vector3D(0,0,0);}$/;" f class:ProtoMol::VacuumBoundaryConditions e3r framework/topology/PeriodicBoundaryConditions.h /^ const Vector3D& e3r() const {return myE3r;}$/;" f class:ProtoMol::PeriodicBoundaryConditions e3r framework/topology/VacuumBoundaryConditions.cpp /^ Vector3D VacuumBoundaryConditions::e3r() const {return Vector3D(0,0,0);}$/;" f class:ProtoMol::VacuumBoundaryConditions elapsed framework/base/Cycles.h /^ static __inline double elapsed(ticks t1, ticks t0)$/;" f namespace:ProtoMol::Private elapsed framework/base/Cycles.h /^ static inline double elapsed(ticks t1, ticks t0) \/* time in nanoseconds *\/$/;" f namespace:ProtoMol::Private elapsed framework/base/Cycles.h /^ static inline double elapsed(ticks t1, ticks t0)$/;" f namespace:ProtoMol::Private elementName framework/base/PDB.h /^ std::string elementName; \/\/\/< atom_name $/;" m struct:ProtoMol::PDB::PDBAtom elementNum framework/base/PDB.h /^ int elementNum; \/\/\/< serial_size $/;" m struct:ProtoMol::PDB::PDBAtom elementType framework/base/PDB.h /^ std::string elementType; \/\/\/< record_name $/;" m struct:ProtoMol::PDB::PDBAtom emin framework/base/PAR.h /^ Real emin; \/\/\/< well depth$/;" m struct:ProtoMol::PAR::Hbond empty framework/base/Array_Fastest.h /^ bool empty() const { return m_nArrayElements==0; }$/;" f class:ProtoMol::Array empty framework/base/Array_NoPartialSpecialization.h /^ bool empty() const { return m_nArrayElements==0; }$/;" f class:ProtoMol::Array empty framework/base/Configuration.cpp /^ bool Configuration::empty(const string& keyword) const{$/;" f class:ProtoMol::Configuration empty framework/base/ValueType.h /^ static Type empty(){return "";}$/;" f struct:ProtoMol::ValueTraits empty framework/base/ValueType.h /^ static Type empty(){return 0.0;}$/;" f struct:ProtoMol::ValueTraits empty framework/base/ValueType.h /^ static Type empty(){return 0;}$/;" f struct:ProtoMol::ValueTraits empty framework/base/ValueType.h /^ static Type empty(){return Type("");}$/;" f struct:ProtoMol::ValueTraits empty framework/base/ValueType.h /^ static Type empty(){return Vector3D(0.0,0.0,0.0);}$/;" f struct:ProtoMol::ValueTraits empty framework/base/ValueType.h /^ static Type empty(){return std::vector();}$/;" f struct:ProtoMol::ValueTraits empty framework/base/ValueType.h /^ static Type empty(){return true;}$/;" f struct:ProtoMol::ValueTraits empty framework/frontend/Factory.h /^ static bool empty(){$/;" f class:ProtoMol::Factory empty framework/frontend/HelpTextFactory.cpp /^ bool HelpTextFactory::empty(){$/;" f class:ProtoMol::HelpTextFactory empty framework/topology/ExclusionTable.h /^ bool empty() const{return (myTable.empty());}$/;" f class:ProtoMol::ExclusionTable enable framework/integrators/Modifier.h /^ void enable() const{myEnable=true;}$/;" f class:ProtoMol::Modifier end compilerTests/pngTest.cpp /^ unsigned char* end() const{return &p[3*w*h];}$/;" f class:PPM end framework/base/Array_Fastest.h /^ const_iterator end() const { return m_pArrayElements+m_nArrayElements; }$/;" f class:ProtoMol::Array end framework/base/Array_Fastest.h /^ const_iterator end() const { return m_pElements+size(); } $/;" f class:ProtoMol::RefArray end framework/base/Array_Fastest.h /^ const_iterator end() const { return m_pElements+size(); }$/;" f class:ProtoMol::RefArray end framework/base/Array_Fastest.h /^ iterator end() { return m_pArrayElements+m_nArrayElements; }$/;" f class:ProtoMol::Array end framework/base/Array_Fastest.h /^ iterator end() { return m_pElements+size(); }$/;" f class:ProtoMol::RefArray end framework/base/Array_NoPartialSpecialization.h /^ const_iterator end() const { return m_pElements+size(); } $/;" f class:ProtoMol::Array::RefArray end framework/base/Array_NoPartialSpecialization.h /^ const_iterator end() const { return m_pElements+size(); }$/;" f class:ProtoMol::Array::RefArray end framework/base/Array_NoPartialSpecialization.h /^ iterator end() { return m_pElements+size(); }$/;" f class:ProtoMol::Array::RefArray end framework/base/Array_NoPartialSpecialization.h /^ const_iterator end() const { return m_pArrayElements+m_nArrayElements; }$/;" f class:ProtoMol::Array end framework/base/Array_NoPartialSpecialization.h /^ iterator end() { return m_pArrayElements+m_nArrayElements; }$/;" f class:ProtoMol::Array end framework/base/Configuration.h /^ const_iterator end() const {return myValues.end();} $/;" f class:ProtoMol::Configuration end framework/base/Configuration.h /^ iterator end() {return myValues.end();}$/;" f class:ProtoMol::Configuration end framework/base/PGM.h /^ unsigned char* end() const{return &p[w*h];}$/;" f class:ProtoMol::PGM end framework/base/PPM.h /^ unsigned char* end() const{return &p[3*w*h];}$/;" f class:ProtoMol::PPM end framework/frontend/Factory.h /^ static const_iterator end(){$/;" f class:ProtoMol::Factory end framework/frontend/OutputCollection.h /^ const_iterator end() const {return myOutputList.end();} $/;" f class:ProtoMol::OutputCollection end framework/frontend/OutputCollection.h /^ iterator end() {return myOutputList.end();}$/;" f class:ProtoMol::OutputCollection end framework/topology/ArrayCellListStructure.h /^ const_iterator end() const { return myEndConst; } $/;" f class:ProtoMol::ArrayCellListStructure end framework/topology/ArrayCellListStructure.h /^ iterator end() { return myEnd; }$/;" f class:ProtoMol::ArrayCellListStructure endr framework/base/Report.cpp /^ MyStreamer& endr(MyStreamer& stream){$/;" f namespace:ProtoMol::Report energies applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ ScalarStructure* energies;$/;" m class:ProtoMol::iSGOneAtomPair energies applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ ScalarStructure* energies;$/;" m class:ProtoMol::iSGOneAtomPairFull energies applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ ScalarStructure* energies;$/;" m class:ProtoMol::iSGOneAtomPairTwo energies applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ ScalarStructure* energies;$/;" m class:ProtoMol::iSGOneAtomPairTwoFull energies framework/forces/OneAtomPair.h /^ ScalarStructure* energies;$/;" m class:ProtoMol::OneAtomPair energies framework/forces/OneAtomPairFull.h /^ ScalarStructure* energies;$/;" m class:ProtoMol::OneAtomPairFull energies framework/forces/OneAtomPairTwo.h /^ ScalarStructure* energies;$/;" m class:ProtoMol::OneAtomPairTwo energies framework/forces/OneAtomPairTwoFull.h /^ ScalarStructure* energies;$/;" m class:ProtoMol::OneAtomPairTwoFull energy framework/base/MultiGrid.h /^ Real energy(int level){return energy(level,0,1);};$/;" f class:ProtoMol::MultiGrid energy framework/base/MultiGrid.h /^ inline Real MultiGrid::energy(int level, unsigned int block, unsigned int nBlocks){$/;" f class:ProtoMol::MultiGrid enumerator applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ EnumeratorType enumerator;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce enumerator applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ EnumeratorType enumerator;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce enumerator framework/forces/NonbondedCutoffForce.h /^ EnumeratorType enumerator;$/;" m class:ProtoMol::NonbondedCutoffForce enumerator framework/forces/NonbondedFullEwaldSystemForce.h /^ EnumeratorType enumerator;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce enumerator framework/forces/NonbondedMultiGridSystemForce.h /^ EnumeratorType enumerator;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce enumerator framework/forces/NonbondedPMEwaldSystemForce.h /^ EnumeratorType enumerator;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce epsilon framework/base/PAR.h /^ Real epsilon; \/\/\/< well depth or number of effective electrons (see description of negative below)$/;" m struct:ProtoMol::PAR::Nonbonded epsilon framework/base/iSGPAR.h /^ std::vector epsilon;$/;" m struct:ProtoMol::iSGPAR::Nonbonded epsilon14 framework/base/PAR.h /^ Real epsilon14; \/\/\/< VDW parameter well depth or number of effective electrons (see above)$/;" m struct:ProtoMol::PAR::Nonbonded epsilon14 framework/base/iSGPAR.h /^ std::vector epsilon14;$/;" m struct:ProtoMol::iSGPAR::Nonbonded epsilonEnergy framework/forces/PaulTrapExtendedForce.h /^ Real epsilonEnergy(Real potentialEnergy){return potentialEnergy*myPaulF;}$/;" f class:ProtoMol::PaulTrapExtendedForce equal framework/base/Value.cpp /^ inline bool Value::equal(const Value& v1, const Value& v2){$/;" f class:ProtoMol::Value equal framework/base/mathutilities.h /^ inline bool equal(Real x, Real y){$/;" f namespace:ProtoMol equal framework/base/mathutilities.h /^ inline bool equal(Real x, Real y, Real epsilon){ $/;" f namespace:ProtoMol equal framework/base/stringutilities.cpp /^ bool equal(const string& s1, const string& s2){$/;" f namespace:ProtoMol equalBegin framework/base/stringutilities.cpp /^ bool equalBegin(const string& s1, const string& s2){$/;" f namespace:ProtoMol equalBeginNocase framework/base/stringutilities.cpp /^ bool equalBeginNocase(const string& s1, const string& s2){$/;" f namespace:ProtoMol equalConstraint framework/base/Value.h /^ inline bool Value::equalConstraint(const Value& v) const{$/;" f class:ProtoMol::Value equalEnd framework/base/stringutilities.cpp /^ bool equalEnd(const string& s1, const string& s2){$/;" f namespace:ProtoMol equalEndNocase framework/base/stringutilities.cpp /^ bool equalEndNocase(const string& s1, const string& s2){$/;" f namespace:ProtoMol equalNocase framework/base/stringutilities.cpp /^ bool equalNocase(const string& s1, const string& s2){$/;" f namespace:ProtoMol equalStart framework/base/stringutilities.cpp /^ bool equalStart(const string& s1, const string& s2){$/;" f namespace:ProtoMol equalStartNocase framework/base/stringutilities.cpp /^ bool equalStartNocase(const string& s1, const string& s2){$/;" f namespace:ProtoMol equalTerminate framework/base/stringutilities.cpp /^ bool equalTerminate(const string& s1, const string& s2){$/;" f namespace:ProtoMol equalTerminateNocase framework/base/stringutilities.cpp /^ bool equalTerminateNocase(const string& s1, const string& s2){$/;" f namespace:ProtoMol equalType framework/base/Value.cpp /^ inline bool Value::equalType(const Value& v1, const Value& v2){$/;" f class:ProtoMol::Value equalType framework/base/Value.h /^ inline bool Value::equalType(const Value& v) const{$/;" f class:ProtoMol::Value equalTypeAndConstraint framework/base/Value.h /^ inline bool Value::equalTypeAndConstraint(const Value& v) const{$/;" f class:ProtoMol::Value equalWildcard framework/base/stringutilities.cpp /^ int equalWildcard(const string& wildcard, const string& name){$/;" f namespace:ProtoMol erf framework/base/mathutilities.h /^ inline Real erf(Real x){return myerf(x);}$/;" f namespace:ProtoMol erfc framework/base/mathutilities.h /^ inline Real erfc(Real x){return (1.0-myerf(x));}$/;" f namespace:ProtoMol error framework/base/Report.cpp /^ MyStreamer& error(MyStreamer& stream){$/;" f namespace:ProtoMol::Report evaluate applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^ inline void iSGAngleSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::iSGAngleSystemForce evaluate applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^ inline void iSGBondSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::iSGBondSystemForce evaluate applications/iSGProtomol-app/forces/iSGDihedralSystemForce.h /^ inline void iSGDihedralSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::iSGDihedralSystemForce evaluate applications/iSGProtomol-app/forces/iSGImproperSystemForce.h /^ inline void iSGImproperSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::iSGImproperSystemForce evaluate applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce evaluate applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce evaluate framework/base/ReducedHessAngle.cpp /^ void ReducedHessAngle::evaluate(const Vector3D& atom_i, \/\/position of atom i$/;" f class:ProtoMol::ReducedHessAngle evaluate framework/forces/AngleSystemForce.h /^ inline void AngleSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::AngleSystemForce evaluate framework/forces/BondSystemForce.h /^ inline void BondSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::BondSystemForce evaluate framework/forces/DihedralSystemForce.h /^ inline void DihedralSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::DihedralSystemForce evaluate framework/forces/ElectricFieldSystemForce.h /^ inline void ElectricFieldSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::ElectricFieldSystemForce evaluate framework/forces/ExtendedCompareForce.cpp /^ void ExtendedCompareForce::evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::ExtendedCompareForce evaluate framework/forces/ExtendedTimeForce.cpp /^ void ExtendedTimeForce::evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::ExtendedTimeForce evaluate framework/forces/ExternalGravitationSystemForce.cpp /^ void ExternalGravitationSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::ExternalGravitationSystemForce evaluate framework/forces/ExternalMagneticFieldExtendedForce.cpp /^ void ExternalMagneticFieldExtendedForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::ExternalMagneticFieldExtendedForce evaluate framework/forces/FrictionExtendedForce.cpp /^ void FrictionExtendedForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::FrictionExtendedForce evaluate framework/forces/HarmDihedralSystemForce.h /^ inline void HarmDihedralSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::HarmDihedralSystemForce evaluate framework/forces/ImproperSystemForce.h /^ inline void ImproperSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::ImproperSystemForce evaluate framework/forces/MagneticDipoleMirrorSystemForce.h /^ inline void MagneticDipoleMirrorSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::MagneticDipoleMirrorSystemForce evaluate framework/forces/NonbondedCutoffMollyForce.h /^ void NonbondedCutoffMollyForce::evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedCutoffMollyForce evaluate framework/forces/NonbondedCutoffSystemForce.h /^ void NonbondedCutoffSystemForce::evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedCutoffSystemForce evaluate framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedFullEwaldSystemForce evaluate framework/forces/NonbondedFullSystemForce.h /^ virtual void evaluate(const GenericTopology* to, $/;" f class:ProtoMol::NonbondedFullSystemForce evaluate framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedMultiGridSystemForce evaluate framework/forces/NonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedPMEwaldSystemForce evaluate framework/forces/NonbondedSimpleFullSystemForce.h /^ virtual void evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedSimpleFullSystemForce evaluate framework/forces/PaulTrapExtendedForce.h /^ inline void PaulTrapExtendedForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::PaulTrapExtendedForce evaluate framework/forces/SphericalSystemForce.h /^ inline void SphericalSystemForce::evaluate(const GenericTopology* topo,$/;" f class:ProtoMol::SphericalSystemForce evaluate framework/forces/SystemCompareForce.cpp /^ void SystemCompareForce::evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::SystemCompareForce evaluate framework/forces/SystemTimeForce.cpp /^ void SystemTimeForce::evaluate(const GenericTopology* topo, $/;" f class:ProtoMol::SystemTimeForce evaluate framework/imd/HapticSystemForce.cpp /^ void HapticSystemForce::evaluate (const GenericTopology* topo,$/;" f class:ProtoMol::HapticSystemForce evaluateExtendedForces framework/forces/ForceGroup.cpp /^ void ForceGroup::evaluateExtendedForces(GenericTopology* topo, $/;" f class:ProtoMol::ForceGroup evaluateMollyForces framework/forces/ForceGroup.cpp /^ void ForceGroup::evaluateMollyForces(GenericTopology* topo, $/;" f class:ProtoMol::ForceGroup evaluateSystemForces framework/forces/ForceGroup.cpp /^ void ForceGroup::evaluateSystemForces(GenericTopology* topo, $/;" f class:ProtoMol::ForceGroup excl framework/topology/ExclusionTable.h /^ ExclusionClass excl;$/;" m struct:ProtoMol::ExclusionPair exclude framework/topology/GenericTopology.h /^ ExclusionType exclude;$/;" m class:ProtoMol::GenericTopology exclusions framework/topology/GenericTopology.h /^ ExclusionTable exclusions;$/;" m class:ProtoMol::GenericTopology execute framework/integrators/Modifier.h /^ void execute(){$/;" f class:ProtoMol::Modifier expfactor framework/forces/MagneticDipoleForce.h /^ Real volum, expfactor, realChi, kappa;$/;" m class:ProtoMol::MagneticDipoleForce f framework/base/Report.cpp /^ MyStreamer& MyStreamer::operator<< (ostream& (*f)(ostream&)) {$/;" f class:ProtoMol::Report::MyStreamer f framework/base/Report.cpp /^ MyStreamer& MyStreamer::operator<< (std::ios& (*f)(std::ios&)) {$/;" f class:ProtoMol::Report::MyStreamer f framework/base/Report.cpp /^ MyStreamer& MyStreamer::operator<< (MyStreamer& (*f)(MyStreamer&)){$/;" f class:ProtoMol::Report::MyStreamer faces compilerTests/glutTest.cpp /^static GLint faces[6][4] = { \/* Vertex indices for the 6 faces of a cube. *\/$/;" v file: fact framework/base/mathutilities.h /^ inline int fact(int n){$/;" f namespace:ProtoMol fftBack applications/iSGProtomol-app/base/iSGGrid.h /^ void fftBack(){$/;" f class:ProtoMol::iSGGrid fftBack framework/base/Grid.h /^ void fftBack(){myFFT.backward();}$/;" f class:ProtoMol::Grid fftForward applications/iSGProtomol-app/base/iSGGrid.h /^ void fftForward(){myFFT.forward();}$/;" f class:ProtoMol::iSGGrid fftForward framework/base/Grid.h /^ void fftForward(){myFFT.forward();}$/;" f class:ProtoMol::Grid fftcoeff_ framework/base/fft.c /^void fftcoeff_(int *n,zomplex * coeff)$/;" f fftfact_ framework/base/fft.c /^void fftfact_(int *n,int *nf,int *f)$/;" f fieldOfView applications/xyzviz-app/xyzviz.cpp /^static double fieldOfView = 80;$/;" v file: fill_header framework/imd/imd.cpp /^ static void fill_header(IMDheader *header, IMDType type, int32 length) {$/;" f namespace:ProtoMol::IMD finalize framework/frontend/Output.cpp /^ void Output::finalize(int step){$/;" f class:ProtoMol::Output finalize framework/frontend/OutputCollection.cpp /^ void OutputCollection::finalize(int step){$/;" f class:ProtoMol::OutputCollection finalize framework/parallel/Parallel.cpp /^ void Parallel::finalize(){$/;" f class:ProtoMol::Parallel finalized framework/parallel/Parallel.h /^ static bool finalized() {return myFinalized;}$/;" f class:ProtoMol::Parallel find framework/base/Configuration.cpp /^ Configuration::const_iterator Configuration::find(const string& keyword) const{$/;" f class:ProtoMol::Configuration find framework/base/Configuration.cpp /^ Configuration::iterator Configuration::find(const string& keyword){$/;" f class:ProtoMol::Configuration find framework/frontend/Factory.h /^ static const Type* find(const std::string& id){$/;" f class:ProtoMol::Factory find framework/topology/ArrayCellListStructure.h /^ const_iterator find(const T1& t1) const {$/;" f class:ProtoMol::ArrayCellListStructure find framework/topology/ArrayCellListStructure.h /^ iterator find(const T1& t1) {$/;" f class:ProtoMol::ArrayCellListStructure findCell framework/topology/CubicCellManager.h /^ Cell findCell(const Vector3D &position) const {$/;" f class:ProtoMol::CubicCellManager findNextNeighbor applications/iSGProtomol-app/frontend/buildISGTopology.cpp /^ void findNextNeighbor(int a, vector& v, vector& p, vector& unused, $/;" f namespace:ProtoMol findNextNeighbor framework/frontend/buildTopology.cpp /^ void findNextNeighbor(int a, vector& v, vector& p, vector& unused, $/;" f namespace:ProtoMol findPeriodic framework/topology/ArrayCellListStructure.h /^ const_iterator findPeriodic(const T1& t1) const{$/;" f class:ProtoMol::ArrayCellListStructure findPeriodic framework/topology/ArrayCellListStructure.h /^ iterator findPeriodic(const T1& t1) {$/;" f class:ProtoMol::ArrayCellListStructure find_free_port framework/imd/IMDElf.cpp /^ int IMDElf::find_free_port(void *sock, int defport) {$/;" f class:ProtoMol::IMDElf fineToCoarse framework/base/MultiGrid.h /^ void fineToCoarse(int level){fineToCoarse(level,0,1);}$/;" f class:ProtoMol::MultiGrid fineToCoarse framework/base/MultiGrid.h /^ inline void MultiGrid::fineToCoarse(int level, unsigned int block, unsigned int nBlocks){$/;" f class:ProtoMol::MultiGrid first framework/base/simpleTypes.h /^ unsigned int first,second;$/;" m struct:ProtoMol::PairIntSorted first framework/frontend/Output.h /^ bool first() const {return myFirst;}$/;" f class:ProtoMol::Output first framework/topology/CellListEnumerator_periodicBoundaries.h /^ struct CellPair {int first; int second;};$/;" m struct:ProtoMol::CellListEnumerator::CellPair first framework/topology/CellListEnumerator_standard.h /^ struct CellPair {int first; int second;};$/;" m struct:ProtoMol::CellListEnumerator::CellPair fitplane framework/base/Vector3DBlock.cpp /^ bool Vector3DBlock::fitplane(Vector3D& normal, Real& d, Real& err, int limit) const{$/;" f class:ProtoMol::Vector3DBlock float4 framework/io/DCDTrajectoryReader.h /^ typedef TypeSelection::Float<4>::type float4;$/;" t class:ProtoMol::DCDTrajectoryReader float4 framework/io/DCDTrajectoryWriter.h /^ typedef TypeSelection::Float<4>::type float4;$/;" t class:ProtoMol::DCDTrajectoryWriter fluctuationLI framework/integrators/LangevinImpulseIntegrator.cpp /^ void LangevinImpulseIntegrator::fluctuationLI() {$/;" f class:ProtoMol::LangevinImpulseIntegrator footnote framework/base/PDB.h /^ int footnote; \/\/\/< footnote number$/;" m struct:ProtoMol::PDB::PDBAtom forceConstant framework/base/PAR.h /^ Real forceConstant; \/\/\/< force constant$/;" m struct:ProtoMol::PAR::Angle forceConstant framework/base/PAR.h /^ Real forceConstant; \/\/\/< force constant$/;" m struct:ProtoMol::PAR::Bond forceConstant framework/base/PAR.h /^ Real forceConstant; \/\/\/< force constant$/;" m struct:ProtoMol::PAR::Improper forceConstant framework/base/PAR.h /^ std::vector< Real > forceConstant; \/\/\/< force constant$/;" m struct:ProtoMol::PAR::Dihedral forceConstant framework/base/iSGPAR.h /^ std::vector< std::vector > forceConstant;$/;" m struct:ProtoMol::iSGPAR::Dihedral forceConstant framework/base/iSGPAR.h /^ std::vector forceConstant;$/;" m struct:ProtoMol::iSGPAR::Angle forceConstant framework/base/iSGPAR.h /^ std::vector forceConstant;$/;" m struct:ProtoMol::iSGPAR::Bond forceConstant framework/base/iSGPAR.h /^ std::vector forceConstant;$/;" m struct:ProtoMol::iSGPAR::Improper forceConstant framework/topology/Angle.h /^ Real forceConstant;$/;" m class:ProtoMol::Angle forceConstant framework/topology/Torsion.h /^ std::vector< Real > forceConstant; \/\/\/< The force constant ($k$ value) for this interaction. $/;" m class:ProtoMol::Torsion forces applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ Vector3DBlock* forces;$/;" m class:ProtoMol::iSGOneAtomPair forces applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ Vector3DBlock* forces;$/;" m class:ProtoMol::iSGOneAtomPairFull forces applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ Vector3DBlock* forces;$/;" m class:ProtoMol::iSGOneAtomPairTwo forces applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ Vector3DBlock* forces;$/;" m class:ProtoMol::iSGOneAtomPairTwoFull forces framework/forces/OneAtomPair.h /^ Vector3DBlock* forces;$/;" m class:ProtoMol::OneAtomPair forces framework/forces/OneAtomPairFull.h /^ Vector3DBlock* forces;$/;" m class:ProtoMol::OneAtomPairFull forces framework/forces/OneAtomPairTwo.h /^ Vector3DBlock* forces;$/;" m class:ProtoMol::OneAtomPairTwo forces framework/forces/OneAtomPairTwoFull.h /^ Vector3DBlock* forces;$/;" m class:ProtoMol::OneAtomPairTwoFull forces framework/frontend/IntegratorFactoryDetails.h /^ std::vector forces;$/;" m struct:ProtoMol::IntegratorFactoryDetails::IntegratorInput forces framework/integrators/IntegratorDefinition.h /^ std::vector forces;$/;" m struct:ProtoMol::IntegratorDefinition forward framework/base/FFTComplex.cpp /^ void forward() {zfft3d( 1,myNZ,myNY,myNX,myArray,myNZ,myNY,myFFTCoeff);}$/;" f class:ProtoMol::FFTInternal forward framework/base/FFTComplex.cpp /^ void FFTComplex::forward(){$/;" f class:ProtoMol::FFTComplex forward framework/integrators/Integrator.cpp /^ void Integrator::forward(){$/;" f class:ProtoMol::Integrator frame applications/xyzviz-app/xyzviz.cpp /^static int frame = 0;$/;" v file: frameRate applications/xyzviz-app/xyzviz.cpp /^static int frameRate = -1;$/;" v file: frameRateAnimationCallback applications/xyzviz-app/xyzviz.cpp /^void frameRateAnimationCallback(int value){$/;" f frameStep applications/xyzviz-app/xyzviz.cpp /^static int frameStep = 1;$/;" v file: frameStepAnimationCallback applications/xyzviz-app/xyzviz.cpp /^void frameStepAnimationCallback(int value){$/;" f frameTimeN applications/xyzviz-app/xyzviz.cpp /^static int frameTimeN = 0;$/;" v file: friction framework/integrators/NoseNVTLeapfrogIntegrator.cpp /^ void NoseNVTLeapfrogIntegrator::friction() {$/;" f class:ProtoMol::NoseNVTLeapfrogIntegrator from applications/xyzviz-app/xyzviz.cpp /^static double from = 0.0;$/;" v file: gcd_ framework/base/fft.c /^int gcd_(int* n1,int* n2)$/;" f general_rotation framework/topology/topologyutilities.cpp /^ void general_rotation(unsigned int innerAtom1, unsigned int innerAtom2, Vector3DBlock *positions, Vector3DBlock *velocities,vector *angles) {$/;" f namespace:ProtoMol general_rotation framework/topology/topologyutilities.cpp /^ void general_rotation(unsigned int innerAtom1, unsigned int innerAtom2, Vector3DBlock *positions, vector *angles) {$/;" f namespace:ProtoMol get compilerTests/pngTest.cpp /^ unsigned char get(unsigned int i, unsigned int j) const {return (p[(h-i-1)*w*3+j*3]+p[(h-i-1)*w*3+j*3+1]+p[(h-i-1)*w*3+j*3+2])\/3;}$/;" f class:PPM get framework/base/Configuration.cpp /^ Value Configuration::get(const string& keyword) const{$/;" f class:ProtoMol::Configuration get framework/base/Configuration.cpp /^ vector Configuration::get(const vector& parameters) const{$/;" f class:ProtoMol::Configuration get framework/base/PGM.h /^ unsigned char get(unsigned int x, unsigned int y) const {return p[(h-y-1)*w+x];}$/;" f class:ProtoMol::PGM get framework/base/PPM.h /^ unsigned char get(unsigned int x, unsigned int y) const {return (p[(h-y-1)*w*3+x*3]+p[(h-y-1)*w*3+x*3+1]+p[(h-y-1)*w*3+x*3+2])\/3;}$/;" f class:ProtoMol::PPM get framework/base/Value.h /^ virtual bool get(Real & v) const { return (ValueTraits::convert(holder,v) && ok);}$/;" f class:ProtoMol::Value::Holder get framework/base/Value.h /^ virtual bool get(Vector3D & v) const { return (ValueTraits::convert(holder,v) && ok);}$/;" f class:ProtoMol::Value::Holder get framework/base/Value.h /^ virtual bool get(bool & v) const { return (ValueTraits::convert(holder,v) && ok);}$/;" f class:ProtoMol::Value::Holder get framework/base/Value.h /^ virtual bool get(int & v) const { return (ValueTraits::convert(holder,v) && ok);}$/;" f class:ProtoMol::Value::Holder get framework/base/Value.h /^ virtual bool get(std::string & v) const { return (ValueTraits::convert(holder,v) && ok);}$/;" f class:ProtoMol::Value::Holder get framework/base/Value.h /^ virtual bool get(std::vector & v) const { return (ValueTraits >::convert(holder,v) && ok);}$/;" f class:ProtoMol::Value::Holder get framework/base/Value.h /^ virtual bool get(unsigned int & v) const { return (ValueTraits::convert(holder,v) && ok);}$/;" f class:ProtoMol::Value::Holder get framework/base/Value.h /^ T get() const{$/;" f class:ProtoMol::Value get framework/base/Value.h /^ bool get(T& value) const{$/;" f class:ProtoMol::Value get framework/frontend/InputValue.h /^ bool get(T& val) const {return myValue.get(val); }$/;" f class:ProtoMol::InputValue get framework/topology/CellListEnumerator_periodicBoundaries.h /^ void get(CellPair &cp) {cp.first=i->second; cp.second=j->second; }$/;" f class:ProtoMol::CellListEnumerator get framework/topology/CellListEnumerator_standard.h /^ void get(CellPair &cp) {cp.first=i->second; cp.second=j->second; }$/;" f class:ProtoMol::CellListEnumerator getActualTime framework/base/Timer.cpp /^ TimeRep Timer::getActualTime() const$/;" f class:ProtoMol::Timer getAlias framework/base/Makeable.cpp /^ string Makeable::getAlias() const{$/;" f class:ProtoMol::Makeable getAliases framework/base/Configuration.cpp /^ vector Configuration::getAliases(const string& keyword) const{$/;" f class:ProtoMol::Configuration getAngle framework/topology/AngleInfo.cpp /^ Real AngleInfo::getAngle()const {$/;" f class:ProtoMol::AngleInfo getAngleType framework/topology/AngleInfo.cpp /^ unsigned int AngleInfo::getAngleType()const {$/;" f class:ProtoMol::AngleInfo getAtomID framework/topology/AngleInfo.cpp /^ unsigned int AngleInfo::getAtomID() const{$/;" f class:ProtoMol::AngleInfo getAtomsBondedtoDihedral framework/topology/topologyutilities.cpp /^ void getAtomsBondedtoDihedral(const GenericTopology* topology,$/;" f namespace:ProtoMol getAutofit framework/io/XFigWriter.h /^ bool getAutofit() const {return myAutofit;}$/;" f class:ProtoMol::XFigWriter getAvailableId framework/parallel/Parallel.h /^ static int getAvailableId() {return myAvailableId;}$/;" f class:ProtoMol::Parallel getAvailableNum framework/parallel/Parallel.h /^ static int getAvailableNum() {return myAvailableNum;}$/;" f class:ProtoMol::Parallel getAveDeltaMu applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real getAveDeltaMu(int NumSteps) {return (AveDeltaMu \/ NumSteps);}$/;" f class:ProtoMol::iSGIntegrator getAxes framework/io/XFigWriter.h /^ bool getAxes() const {return myAxes;}$/;" f class:ProtoMol::XFigWriter getBegin framework/base/stringutilities.cpp /^ string getBegin(const string& s,string::size_type n){$/;" f namespace:ProtoMol getBlue framework/base/PGM.h /^ unsigned char getBlue(unsigned int x, unsigned int y) const {return p[(h-y-1)*w+x];}$/;" f class:ProtoMol::PGM getBlue framework/base/PPM.h /^ unsigned char getBlue(unsigned int x, unsigned int y) const {return p[(h-y-1)*w*3+x*3+2];}$/;" f class:ProtoMol::PPM getBond framework/topology/AngleInfo.cpp /^ unsigned int AngleInfo::getBond(unsigned int index) const{$/;" f class:ProtoMol::AngleInfo getBottomTimestep framework/integrators/Integrator.h /^ inline Real Integrator::getBottomTimestep() const{$/;" f class:ProtoMol::Integrator getBoundaryConditionsBox framework/topology/SemiGenericTopology.h /^ virtual void getBoundaryConditionsBox(Vector3D& minbb, Vector3D& maxbb) const{$/;" f class:ProtoMol::SemiGenericTopology getBoundingbox framework/topology/SemiGenericTopology.h /^ virtual void getBoundingbox(const Vector3DBlock& positions, Vector3D& minbb, Vector3D& maxbb) const{$/;" f class:ProtoMol::SemiGenericTopology getCellSize framework/topology/CubicCellManager.h /^ Real getCellSize(void) const {return myCellSize;}$/;" f class:ProtoMol::CubicCellManager getCellVolume framework/topology/CubicCellManager.h /^ Real getCellVolume(void) const {return myRealCellSize.x*myRealCellSize.y*myRealCellSize.z;}$/;" f class:ProtoMol::CubicCellManager getCharmmType framework/io/PARWriter.cpp /^ PAR::CharmmTypeEnum PARWriter::getCharmmType() const{$/;" f class:ProtoMol::PARWriter getCharmmTypeDetected applications/iSGProtomol-app/io/iSGPARReader.h /^ inline iSGPAR::CharmmTypeEnum iSGPARReader::getCharmmTypeDetected() const{$/;" f class:ProtoMol::iSGPARReader getCharmmTypeDetected framework/io/PARReader.h /^ inline PAR::CharmmTypeEnum PARReader::getCharmmTypeDetected() const{$/;" f class:ProtoMol::PARReader getColor framework/io/XFigWriter.h /^ bool getColor() const {return myColor;}$/;" f class:ProtoMol::XFigWriter getComment framework/io/Reader.cpp /^ const string& Reader::getComment() const{$/;" f class:ProtoMol::Reader getConstraintType framework/base/Value.h /^ virtual ConstraintValueType::Enum getConstraintType()const {return (ConstraintValueType::Enum)Constraint::value;}$/;" f class:ProtoMol::Value::Holder getConstraintType framework/base/Value.h /^ inline ConstraintValueType::Enum Value::getConstraintType() const {$/;" f class:ProtoMol::Value getConstraintTypeString framework/base/Value.h /^ virtual const std::string & getConstraintTypeString() const { return ConstraintValueType::getString((ConstraintValueType::Enum)Constraint::value); }$/;" f class:ProtoMol::Value::Holder getConstraintTypeString framework/base/Value.h /^ inline const std::string & Value::getConstraintTypeString() const {$/;" f class:ProtoMol::Value getCounter framework/base/Cycles.h /^ static ticks getCounter(){return Private::getticks();}$/;" f class:ProtoMol::Cycles getCounter framework/base/MultiGrid.h /^ long getCounter(){return (myCounterDirect + myCounterCorrection);}$/;" f class:ProtoMol::MultiGrid getCurrentTime framework/base/Timer.cpp /^ TimeRep Timer::getCurrentTime()$/;" f class:ProtoMol::Timer getCycles framework/base/Cycles.h /^ double getCycles() const{return elapsed(myEndTime,myStartTime);}$/;" f class:ProtoMol::Cycles getDeepForces framework/forces/WrapperMetaForce.cpp /^ void WrapperMetaForce::getDeepForces(vector& forces) const{$/;" f class:ProtoMol::WrapperMetaForce getDeepMetaForces framework/forces/ForceGroup.cpp /^ vector ForceGroup::getDeepMetaForces() const{$/;" f class:ProtoMol::ForceGroup getDefaults framework/topology/PeriodicBoundaryConditions.cpp /^ vector PeriodicBoundaryConditions::getDefaults(const Vector3DBlock& positions) const{$/;" f class:ProtoMol::PeriodicBoundaryConditions getDefaults framework/topology/SemiGenericTopology.h /^ virtual std::vector getDefaults(const Vector3DBlock& positions) const{ return boundaryConditions.getDefaults(positions);}$/;" f class:ProtoMol::SemiGenericTopology getDefaults framework/topology/VacuumBoundaryConditions.h /^ std::vector getDefaults(const Vector3DBlock&) const{ return std::vector();}$/;" f class:ProtoMol::VacuumBoundaryConditions getDefinition framework/base/Makeable.cpp /^ MakeableDefinition Makeable::getDefinition() const{$/;" f class:ProtoMol::Makeable getDefinition framework/forces/ForceGroup.cpp /^ void ForceGroup::getDefinition(vector& forces) const{$/;" f class:ProtoMol::ForceGroup getDefinitionTypeString framework/base/Value.cpp /^ string Value::getDefinitionTypeString() const{$/;" f class:ProtoMol::Value getDimX framework/topology/ArrayCellListStructure.h /^ int getDimX() const{ return myNX;}$/;" f class:ProtoMol::ArrayCellListStructure getDimY framework/topology/ArrayCellListStructure.h /^ int getDimY() const{ return myNY;}$/;" f class:ProtoMol::ArrayCellListStructure getDimZ framework/topology/ArrayCellListStructure.h /^ int getDimZ() const{ return myNZ;}$/;" f class:ProtoMol::ArrayCellListStructure getElement framework/base/Stack.h /^ T Stack::getElement(unsigned int index) {$/;" f class:ProtoMol::Stack getEnd framework/base/stringutilities.cpp /^ string getEnd(const string& s,string::size_type n){$/;" f namespace:ProtoMol getEnergies framework/forces/CompareForce.h /^ const ScalarStructure* getEnergies() const{return myEnergies;}$/;" f class:ProtoMol::CompareForce getEnergy applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];}$/;" f class:ProtoMol::iSGCoulombEwaldRealForce getEnergy applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];}$/;" f class:ProtoMol::iSGCoulombEwaldRealTableForce getEnergy applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];}$/;" f class:ProtoMol::iSGCoulombForce getEnergy applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];}$/;" f class:ProtoMol::iSGIdealGasCoulombForce getEnergy applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h /^ static Real getEnergy(const ScalarStructure* energies) {$/;" f class:ProtoMol::iSGIdealGasLennardJonesForce getEnergy applications/iSGProtomol-app/forces/iSGLennardJonesForce.h /^ static Real getEnergy(const ScalarStructure* energies) {$/;" f class:ProtoMol::iSGLennardJonesForce getEnergy applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::LENNARDJONES];}$/;" f class:ProtoMol::iSGLennardJonesTableForce getEnergy framework/forces/CoulombEwaldRealForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];}$/;" f class:ProtoMol::CoulombEwaldRealForce getEnergy framework/forces/CoulombEwaldRealTableForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];}$/;" f class:ProtoMol::CoulombEwaldRealTableForce getEnergy framework/forces/CoulombForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];}$/;" f class:ProtoMol::CoulombForce getEnergy framework/forces/CoulombMultiGridDirectForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];}$/;" f class:ProtoMol::CoulombMultiGridDirectForce getEnergy framework/forces/CoulombMultiGridDirectTableForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];}$/;" f class:ProtoMol::CoulombMultiGridDirectTableForce getEnergy framework/forces/GravitationForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::OTHER];}$/;" f class:ProtoMol::GravitationForce getEnergy framework/forces/LennardJonesForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::LENNARDJONES];} $/;" f class:ProtoMol::LennardJonesForce getEnergy framework/forces/LennardJonesTableForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::LENNARDJONES];}$/;" f class:ProtoMol::LennardJonesTableForce getEnergy framework/forces/MagneticDipoleForce.h /^ static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::OTHER];}$/;" f class:ProtoMol::MagneticDipoleForce getEnum framework/base/AbstractEnumType.h /^ Enum getEnum() const {return myType;}$/;" f class:ProtoMol::AbstractEnumType getEnum framework/base/AbstractEnumType.h /^ typename AbstractEnumType::Enum AbstractEnumType::getEnum(const std::string& s){$/;" f class:ProtoMol::AbstractEnumType getEnum framework/base/AbstractEnumType.h /^ typename AbstractEnumType::Enum AbstractEnumType::getEnum(int n){$/;" f class:ProtoMol::AbstractEnumType getEpsilonVel applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real getEpsilonVel() const {return myEpsilonVel;}$/;" f class:ProtoMol::iSGIntegrator getEpsilonVel framework/integrators/ModifierNPTRattle.h /^ virtual Real getEpsilonVel() const{return myTheIntegrator->getEpsilonVel();}$/;" f class:ProtoMol::ModifierNPTRattle getEpsilonVel framework/integrators/ModifierNPTShake.h /^ virtual Real getEpsilonVel() const{return myTheIntegrator->getEpsilonVel();}$/;" f class:ProtoMol::ModifierNPTShake getEpsilonVel framework/integrators/NPTVerletIntegrator.h /^ Real getEpsilonVel() const {return myEpsilonVel;}$/;" f class:ProtoMol::NPTVerletIntegrator getEtaVel applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real getEtaVel() const {return myEtaVel;}$/;" f class:ProtoMol::iSGIntegrator getEtaVel framework/integrators/ModifierNPTRattle.h /^ virtual Real getEtaVel() const{return myTheIntegrator->getEtaVel();}$/;" f class:ProtoMol::ModifierNPTRattle getEtaVel framework/integrators/ModifierNPTShake.h /^ virtual Real getEtaVel() const{return myTheIntegrator->getEtaVel();}$/;" f class:ProtoMol::ModifierNPTShake getEtaVel framework/integrators/ModifierNVTRattle.h /^ virtual Real getEtaVel() const{return myTheIntegrator->getEtaVel();}$/;" f class:ProtoMol::ModifierNVTRattle getEtaVel framework/integrators/ModifierNVTShake.h /^ virtual Real getEtaVel() const{return myTheIntegrator->getEtaVel();}$/;" f class:ProtoMol::ModifierNVTShake getEtaVel framework/integrators/NPTVerletIntegrator.h /^ Real getEtaVel() const {return myEtaVel;}$/;" f class:ProtoMol::NPTVerletIntegrator getEtaVel framework/integrators/NVTVerletIntegrator.h /^ Real getEtaVel() const {return myEtaVel;}$/;" f class:ProtoMol::NVTVerletIntegrator getFilename framework/io/File.h /^ inline std::string File::getFilename() const{$/;" f class:ProtoMol::File getFirstStep framework/frontend/Output.h /^ int getFirstStep() const {return myFirstStep;}$/;" f class:ProtoMol::Output getForceGroup framework/integrators/Integrator.h /^ ForceGroup* getForceGroup() const{return myForcesToEvaluate;}$/;" f class:ProtoMol::Integrator getForceKeyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static std::string getForceKeyword() {return iSGCoulombForce::keyword;}$/;" f class:ProtoMol::iSGCoulombForce::C1 getForceKeyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static std::string getForceKeyword() {return iSGCoulombForce::keyword;}$/;" f class:ProtoMol::iSGCoulombForce::C2 getForceKeyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static std::string getForceKeyword() {return iSGCoulombForce::keyword;}$/;" f class:ProtoMol::iSGCoulombForce::C3 getForceKeyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static std::string getForceKeyword() {return iSGCoulombForce::keyword;}$/;" f class:ProtoMol::iSGCoulombForce::C4 getForceKeyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static std::string getForceKeyword() {return iSGIdealGasCoulombForce::keyword;}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C1 getForceKeyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static std::string getForceKeyword() {return iSGIdealGasCoulombForce::keyword;}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C2 getForceKeyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static std::string getForceKeyword() {return iSGIdealGasCoulombForce::keyword;}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C3 getForceKeyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static std::string getForceKeyword() {return iSGIdealGasCoulombForce::keyword;}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C4 getForceKeyword framework/forces/CoulombForce.h /^ static std::string getForceKeyword() {return CoulombForce::keyword;} $/;" f class:ProtoMol::CoulombForce::C1 getForceKeyword framework/forces/CoulombForce.h /^ static std::string getForceKeyword() {return CoulombForce::keyword;} $/;" f class:ProtoMol::CoulombForce::C2 getForceKeyword framework/forces/CoulombForce.h /^ static std::string getForceKeyword() {return CoulombForce::keyword;} $/;" f class:ProtoMol::CoulombForce::C3 getForceKeyword framework/forces/CoulombForce.h /^ static std::string getForceKeyword() {return CoulombForce::keyword;} $/;" f class:ProtoMol::CoulombForce::C4 getForceObject framework/forces/CompareForce.h /^ Force* getForceObject() const{return myActualForce;}$/;" f class:ProtoMol::CompareForce getForces framework/forces/CompareForce.h /^ const Vector3DBlock* getForces() const{return myForces;}$/;" f class:ProtoMol::CompareForce getForces framework/forces/ForceGroup.cpp /^ vector ForceGroup::getForces() const{$/;" f class:ProtoMol::ForceGroup getForces framework/integrators/Integrator.h /^ inline Vector3DBlock* Integrator::getForces() const{$/;" f class:ProtoMol::Integrator getFrame applications/xyzviz-app/xyzviz.cpp /^void getFrame(int i){$/;" f getFromZ framework/io/XFigWriter.h /^ Real getFromZ() const{return myFromZ;}$/;" f class:ProtoMol::XFigWriter getGreen framework/base/PGM.h /^ unsigned char getGreen(unsigned int x, unsigned int y) const {return p[(h-y-1)*w+x];}$/;" f class:ProtoMol::PGM getGreen framework/base/PPM.h /^ unsigned char getGreen(unsigned int x, unsigned int y) const {return p[(h-y-1)*w*3+x*3+1];}$/;" f class:ProtoMol::PPM getId applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::iSGCoulombEwaldRealForce getId applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::iSGCoulombEwaldRealTableForce getId applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::iSGCoulombForce getId applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::iSGIdealGasCoulombForce getId applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::iSGIdealGasLennardJonesForce getId applications/iSGProtomol-app/forces/iSGLennardJonesForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::iSGLennardJonesForce getId applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::iSGLennardJonesTableForce getId applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ static std::string getId() {$/;" f class:ProtoMol::iSGOneAtomPair getId applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ static std::string getId() {$/;" f class:ProtoMol::iSGOneAtomPairFull getId applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ static std::string getId() {$/;" f class:ProtoMol::iSGOneAtomPairTwo getId applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ static std::string getId() {$/;" f class:ProtoMol::iSGOneAtomPairTwoFull getId framework/base/Makeable.cpp /^ string Makeable::getId() const{$/;" f class:ProtoMol::Makeable getId framework/forces/CoulombEwaldRealForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::CoulombEwaldRealForce getId framework/forces/CoulombEwaldRealTableForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::CoulombEwaldRealTableForce getId framework/forces/CoulombForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::CoulombForce getId framework/forces/CoulombMultiGridDirectForce.h /^ static std::string getId() {return keyword+" -kernel "+TKernel::keyword;}$/;" f class:ProtoMol::CoulombMultiGridDirectForce getId framework/forces/CoulombMultiGridDirectTableForce.h /^ static std::string getId() {return keyword+" -kernel "+TKernel::keyword;}$/;" f class:ProtoMol::CoulombMultiGridDirectTableForce getId framework/forces/GravitationForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::GravitationForce getId framework/forces/LennardJonesForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::LennardJonesForce getId framework/forces/LennardJonesTableForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::LennardJonesTableForce getId framework/forces/MagneticDipoleForce.h /^ static std::string getId() {return keyword;}$/;" f class:ProtoMol::MagneticDipoleForce getId framework/forces/OneAtomPair.h /^ static std::string getId() {$/;" f class:ProtoMol::OneAtomPair getId framework/forces/OneAtomPairFull.h /^ static std::string getId() {$/;" f class:ProtoMol::OneAtomPairFull getId framework/forces/OneAtomPairTwo.h /^ static std::string getId() {$/;" f class:ProtoMol::OneAtomPairTwo getId framework/forces/OneAtomPairTwoFull.h /^ static std::string getId() {$/;" f class:ProtoMol::OneAtomPairTwoFull getId framework/forces/OneMollyPair.h /^ static std::string getId() {$/;" f class:ProtoMol::OneMollyPair getId framework/forces/OneMollyPairTwo.h /^ static std::string getId() {$/;" f class:ProtoMol::OneMollyPairTwo getId framework/parallel/Parallel.h /^ static int getId() {return myId;}$/;" f class:ProtoMol::Parallel getId framework/topology/C1SwitchingFunction.h /^ static const std::string& getId() {return keyword;}$/;" f class:ProtoMol::C1SwitchingFunction getId framework/topology/C2SwitchingFunction.h /^ static const std::string& getId() {return keyword;}$/;" f class:ProtoMol::C2SwitchingFunction getId framework/topology/ComplementSwitchingFunction.h /^ static std::string getId() {return (keyword + TOriginalSwitchingFunction::getId());}$/;" f class:ProtoMol::ComplementSwitchingFunction getId framework/topology/CutoffSwitchingFunction.h /^ static const std::string& getId() {return keyword;}$/;" f class:ProtoMol::CutoffSwitchingFunction getId framework/topology/RangeSwitchingFunction.h /^ static std::string getId() {return (keyword + TOriginalSwitchingFunction::getId());}$/;" f class:ProtoMol::RangeSwitchingFunction getId framework/topology/ShiftSwitchingFunction.h /^ static const std::string& getId() {return keyword;}$/;" f class:ProtoMol::ShiftSwitchingFunction getId framework/topology/UniversalSwitchingFunction.h /^ static const std::string& getId() {return keyword;}$/;" f class:ProtoMol::UniversalSwitchingFunction getIdNoAlias applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::iSGAngleSystemForce getIdNoAlias applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::iSGBondSystemForce getIdNoAlias applications/iSGProtomol-app/forces/iSGDihedralSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::iSGDihedralSystemForce getIdNoAlias applications/iSGProtomol-app/forces/iSGImproperSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::iSGImproperSystemForce getIdNoAlias applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::getIdNoAlias() const{$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce getIdNoAlias applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ real,reciprocal,correction,TInterpolation,TSwitchingFunction>::getIdNoAlias() const{$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce getIdNoAlias applications/iSGProtomol-app/frontend/OutputFinalPSF.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputFinalPSF getIdNoAlias applications/iSGProtomol-app/frontend/OutputFinalXSC.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputFinalXSC getIdNoAlias applications/iSGProtomol-app/frontend/OutputISGProperties.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputISGProperties getIdNoAlias applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::iSGIntegrator getIdNoAlias framework/forces/AngleSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::AngleSystemForce getIdNoAlias framework/forces/BondSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::BondSystemForce getIdNoAlias framework/forces/CompareForce.cpp /^ string CompareForce::getIdNoAlias() const{$/;" f class:ProtoMol::CompareForce getIdNoAlias framework/forces/DihedralSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::DihedralSystemForce getIdNoAlias framework/forces/ElectricFieldSystemForce.h /^ virtual std::string getIdNoAlias() const{$/;" f class:ProtoMol::ElectricFieldSystemForce getIdNoAlias framework/forces/ExternalGravitationSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::ExternalGravitationSystemForce getIdNoAlias framework/forces/ExternalMagneticFieldExtendedForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::ExternalMagneticFieldExtendedForce getIdNoAlias framework/forces/FrictionExtendedForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::FrictionExtendedForce getIdNoAlias framework/forces/HarmDihedralSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::HarmDihedralSystemForce getIdNoAlias framework/forces/ImproperSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::ImproperSystemForce getIdNoAlias framework/forces/MagneticDipoleMirrorSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::MagneticDipoleMirrorSystemForce getIdNoAlias framework/forces/NonbondedCutoffForce.h /^ std::string NonbondedCutoffForce::getIdNoAlias() const{$/;" f class:ProtoMol::NonbondedCutoffForce getIdNoAlias framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::getIdNoAlias() const{$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce getIdNoAlias framework/forces/NonbondedFullSystemForce.h /^ virtual std::string getIdNoAlias() const {return (TOneAtomPair::getId()+ " -algorithm " + keyword);}$/;" f class:ProtoMol::NonbondedFullSystemForce getIdNoAlias framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::getIdNoAlias() const{$/;" f class:ProtoMol::NonbondedMultiGridSystemForce getIdNoAlias framework/forces/NonbondedPMEwaldSystemForce.h /^ real,reciprocal,correction,TInterpolation,TSwitchingFunction>::getIdNoAlias() const{$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce getIdNoAlias framework/forces/NonbondedSimpleFullSystemForce.h /^ virtual std::string getIdNoAlias() const {$/;" f class:ProtoMol::NonbondedSimpleFullSystemForce getIdNoAlias framework/forces/PaulTrapExtendedForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::PaulTrapExtendedForce getIdNoAlias framework/forces/SphericalSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::SphericalSystemForce getIdNoAlias framework/forces/TimeForce.cpp /^ string TimeForce::getIdNoAlias() const{$/;" f class:ProtoMol::TimeForce getIdNoAlias framework/forces/WrapperMetaForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::WrapperMetaForce getIdNoAlias framework/frontend/OutputDCDTrajectory.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputDCDTrajectory getIdNoAlias framework/frontend/OutputDiffusion.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputDiffusion getIdNoAlias framework/frontend/OutputDihedrals.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputDihedrals getIdNoAlias framework/frontend/OutputEnergies.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputEnergies getIdNoAlias framework/frontend/OutputFinalPDBPos.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputFinalPDBPos getIdNoAlias framework/frontend/OutputFinalXYZBinPos.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputFinalXYZBinPos getIdNoAlias framework/frontend/OutputFinalXYZBinVel.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputFinalXYZBinVel getIdNoAlias framework/frontend/OutputFinalXYZPos.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputFinalXYZPos getIdNoAlias framework/frontend/OutputFinalXYZVel.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputFinalXYZVel getIdNoAlias framework/frontend/OutputMomentum.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputMomentum getIdNoAlias framework/frontend/OutputPDBFramePos.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputPDBFramePos getIdNoAlias framework/frontend/OutputPaulTrap.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputPaulTrap getIdNoAlias framework/frontend/OutputScreen.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputScreen getIdNoAlias framework/frontend/OutputTemperatures.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputTemperatures getIdNoAlias framework/frontend/OutputXYZTrajectoryForce.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputXYZTrajectoryForce getIdNoAlias framework/frontend/OutputXYZTrajectoryPos.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputXYZTrajectoryPos getIdNoAlias framework/frontend/OutputXYZTrajectoryVel.h /^ virtual std::string getIdNoAlias() const{ return keyword;}$/;" f class:ProtoMol::OutputXYZTrajectoryVel getIdNoAlias framework/imd/HapticSystemForce.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::HapticSystemForce getIdNoAlias framework/integrators/BBKIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::BBKIntegrator getIdNoAlias framework/integrators/BSplineMOLLYIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::BSplineMOLLYIntegrator getIdNoAlias framework/integrators/DLMCIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::DLMCIntegrator getIdNoAlias framework/integrators/DMDLeapfrogIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::DMDLeapfrogIntegrator getIdNoAlias framework/integrators/DihedralHMCIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::DihedralHMCIntegrator getIdNoAlias framework/integrators/EquilibriumMOLLYIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::EquilibriumMOLLYIntegrator getIdNoAlias framework/integrators/HMCIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::HMCIntegrator getIdNoAlias framework/integrators/ImpulseIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::ImpulseIntegrator getIdNoAlias framework/integrators/LangevinImpulseIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::LangevinImpulseIntegrator getIdNoAlias framework/integrators/LeapfrogIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::LeapfrogIntegrator getIdNoAlias framework/integrators/NPTVerletIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::NPTVerletIntegrator getIdNoAlias framework/integrators/NVTVerletIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::NVTVerletIntegrator getIdNoAlias framework/integrators/NoseNVTLeapfrogIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::NoseNVTLeapfrogIntegrator getIdNoAlias framework/integrators/PLeapfrogIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::PLeapfrogIntegrator getIdNoAlias framework/integrators/PaulTrapIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::PaulTrapIntegrator getIdNoAlias framework/integrators/UmbrellaIntegrator.h /^ virtual std::string getIdNoAlias() const{return keyword;}$/;" f class:ProtoMol::UmbrellaIntegrator getIdNoAlias framework/topology/Topology.h /^ virtual std::string getIdNoAlias() const {return std::string(TBoundaryConditions::keyword+TCellManager::keyword);}$/;" f class:ProtoMol::Topology getIdNumber framework/forces/CompareForce.h /^ unsigned int getIdNumber() const{return myIdNumber;}$/;" f class:ProtoMol::CompareForce getIdNumber framework/forces/TimeForce.h /^ unsigned int getIdNumber() const{return myIdNumber;}$/;" f class:ProtoMol::TimeForce getIdentity framework/base/Matrix3by3.h /^ inline const Matrix3by3& Matrix3by3::getIdentity()$/;" f class:ProtoMol::Matrix3by3 getInitialTemperature framework/integrators/MCIntegrator.h /^ Real getInitialTemperature() const {return myInitialTemperature;}$/;" f class:ProtoMol::MCIntegrator getIntegratorDefinition framework/integrators/Integrator.cpp /^ IntegratorDefinition Integrator::getIntegratorDefinition() const{$/;" f class:ProtoMol::Integrator getIntegratorDefinitionAll framework/integrators/Integrator.cpp /^ vector Integrator::getIntegratorDefinitionAll() const{$/;" f class:ProtoMol::Integrator getKeyword applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::iSGAngleSystemForce getKeyword applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::iSGBondSystemForce getKeyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::iSGCoulombForce::C1 getKeyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::iSGCoulombForce::C2 getKeyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::iSGCoulombForce::C3 getKeyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::iSGCoulombForce::C4 getKeyword applications/iSGProtomol-app/forces/iSGDihedralSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::iSGDihedralSystemForce getKeyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C1 getKeyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C2 getKeyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C3 getKeyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C4 getKeyword applications/iSGProtomol-app/forces/iSGImproperSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::iSGImproperSystemForce getKeyword applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce getKeyword applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce getKeyword framework/base/BSpline.h /^ static const std::string& getKeyword() {return keyword;}$/;" f class:ProtoMol::BSpline getKeyword framework/base/Lagrange.h /^ static const std::string& getKeyword() {return keyword;}$/;" f class:ProtoMol::Lagrange getKeyword framework/forces/AngleSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::AngleSystemForce getKeyword framework/forces/BondSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::BondSystemForce getKeyword framework/forces/CompareForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::CompareForce getKeyword framework/forces/CoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::CoulombForce::C1 getKeyword framework/forces/CoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::CoulombForce::C2 getKeyword framework/forces/CoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::CoulombForce::C3 getKeyword framework/forces/CoulombForce.h /^ static std::string getKeyword() {return keyword;}$/;" f class:ProtoMol::CoulombForce::C4 getKeyword framework/forces/DihedralSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::DihedralSystemForce getKeyword framework/forces/ElectricFieldSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::ElectricFieldSystemForce getKeyword framework/forces/ExternalGravitationSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::ExternalGravitationSystemForce getKeyword framework/forces/ExternalMagneticFieldExtendedForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::ExternalMagneticFieldExtendedForce getKeyword framework/forces/FrictionExtendedForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::FrictionExtendedForce getKeyword framework/forces/HarmDihedralSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::HarmDihedralSystemForce getKeyword framework/forces/Hermite.h /^ static const std::string& getKeyword() {return keyword;}$/;" f class:ProtoMol::Hermite getKeyword framework/forces/ImproperSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::ImproperSystemForce getKeyword framework/forces/MagneticDipoleMirrorSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::MagneticDipoleMirrorSystemForce getKeyword framework/forces/NonbondedCutoffForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::NonbondedCutoffForce getKeyword framework/forces/NonbondedFullEwaldSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce getKeyword framework/forces/NonbondedFullSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::NonbondedFullSystemForce getKeyword framework/forces/NonbondedMultiGridSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::NonbondedMultiGridSystemForce getKeyword framework/forces/NonbondedPMEwaldSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce getKeyword framework/forces/NonbondedSimpleFullSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::NonbondedSimpleFullSystemForce getKeyword framework/forces/PaulTrapExtendedForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::PaulTrapExtendedForce getKeyword framework/forces/SphericalSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::SphericalSystemForce getKeyword framework/forces/TimeForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::TimeForce getKeyword framework/forces/WrapperMetaForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::WrapperMetaForce getKeyword framework/imd/HapticSystemForce.h /^ virtual std::string getKeyword() const{return keyword;}$/;" f class:ProtoMol::HapticSystemForce getKeyword framework/topology/CubicCellManager.h /^ const std::string& getKeyword() const {return keyword;}$/;" f class:ProtoMol::CubicCellManager getKeyword framework/topology/GenericTopology.h /^ static const std::string& getKeyword(){return keyword;}$/;" f class:ProtoMol::GenericTopology getKeyword framework/topology/PeriodicBoundaryConditions.h /^ const std::string& getKeyword() const {return keyword;}$/;" f class:ProtoMol::PeriodicBoundaryConditions getKeyword framework/topology/VacuumBoundaryConditions.h /^ const std::string& getKeyword() const {return keyword;}$/;" f class:ProtoMol::VacuumBoundaryConditions getLapTime framework/base/Timer.cpp /^ TimeRep Timer::getLapTime() const$/;" f class:ProtoMol::Timer getLastStep framework/frontend/Output.h /^ int getLastStep() const {return myLastStep;}$/;" f class:ProtoMol::Output getLeftFill framework/base/stringutilities.cpp /^ string getLeftFill(const string& s,string::size_type n){$/;" f namespace:ProtoMol getLegend framework/io/XFigWriter.h /^ bool getLegend() const {return myLegend;}$/;" f class:ProtoMol::XFigWriter getMasterId framework/parallel/Parallel.h /^ static int getMasterId() {return myMasterId;}$/;" f class:ProtoMol::Parallel getMax framework/topology/PeriodicBoundaryConditions.h /^ const Vector3D& getMax() const {return myMax;}$/;" f class:ProtoMol::PeriodicBoundaryConditions getMax framework/topology/VacuumBoundaryConditions.cpp /^ Vector3D VacuumBoundaryConditions::getMax() const {$/;" f class:ProtoMol::VacuumBoundaryConditions getMaxPackages framework/parallel/Parallel.h /^ static int getMaxPackages() {return myMaxPackages;}$/;" f class:ProtoMol::Parallel getMin framework/topology/PeriodicBoundaryConditions.h /^ const Vector3D& getMin() const {return myMin;}$/;" f class:ProtoMol::PeriodicBoundaryConditions getMin framework/topology/VacuumBoundaryConditions.cpp /^ Vector3D VacuumBoundaryConditions::getMin() const {$/;" f class:ProtoMol::VacuumBoundaryConditions getMode framework/parallel/Parallel.h /^ static ParallelType getMode() {return myMode;}$/;" f class:ProtoMol::Parallel getNext framework/frontend/Output.h /^ int getNext() const {return myNextStep;}$/;" f class:ProtoMol::Output getNext framework/frontend/OutputCollection.cpp /^ int OutputCollection::getNext() const{$/;" f class:ProtoMol::OutputCollection getNum framework/parallel/Parallel.h /^ static int getNum() {return myNum;}$/;" f class:ProtoMol::Parallel getNumAtoms applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real getNumAtoms() const {return NumAtoms;}$/;" f class:ProtoMol::iSGIntegrator getNumAtoms framework/integrators/NPTVerletIntegrator.h /^ Real getNumAtoms() const {return NumAtoms;}$/;" f class:ProtoMol::NPTVerletIntegrator getNumAtoms framework/integrators/NVTVerletIntegrator.h /^ Real getNumAtoms() const {return NumAtoms;}$/;" f class:ProtoMol::NVTVerletIntegrator getNumElements framework/base/Stack.h /^ unsigned int Stack::getNumElements() {$/;" f class:ProtoMol::Stack getNumberOfPackages framework/parallel/Parallel.cpp /^ unsigned int Parallel::getNumberOfPackages(unsigned int n) {$/;" f class:ProtoMol::Parallel getOrder framework/base/BSpline.h /^ unsigned int getOrder() const {return myInterOrder;}$/;" f class:ProtoMol::BSpline getOrder framework/base/Lagrange.h /^ unsigned int getOrder() const {return myInterOrder;}$/;" f class:ProtoMol::Lagrange getOrder framework/forces/Hermite.h /^ unsigned int getOrder() const {return myInterOrder;}$/;" f class:ProtoMol::Hermite getOutputFreq framework/frontend/Output.h /^ int getOutputFreq() const {return myOutputFreq;}$/;" f class:ProtoMol::Output getPDB framework/io/PDBReader.cpp /^ PDB PDBReader::getPDB() const{$/;" f class:ProtoMol::PDBReader getParameterSize applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^ virtual unsigned int getParameterSize() const{return 0;}$/;" f class:ProtoMol::iSGAngleSystemForce getParameterSize applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^ virtual unsigned int getParameterSize() const{return 0;}$/;" f class:ProtoMol::iSGBondSystemForce getParameterSize applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h /^ static unsigned int getParameterSize() {return 1;}$/;" f class:ProtoMol::iSGCoulombEwaldRealForce getParameterSize applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ static unsigned int getParameterSize() {return 3;}$/;" f class:ProtoMol::iSGCoulombEwaldRealTableForce getParameterSize applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static unsigned int getParameterSize() {return 0;}$/;" f class:ProtoMol::iSGCoulombForce getParameterSize applications/iSGProtomol-app/forces/iSGDihedralSystemForce.h /^ virtual unsigned int getParameterSize() const{return 0;}$/;" f class:ProtoMol::iSGDihedralSystemForce getParameterSize applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static unsigned int getParameterSize() {return 0;}$/;" f class:ProtoMol::iSGIdealGasCoulombForce getParameterSize applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h /^ static unsigned int getParameterSize() {return 0;}$/;" f class:ProtoMol::iSGIdealGasLennardJonesForce getParameterSize applications/iSGProtomol-app/forces/iSGImproperSystemForce.h /^ virtual unsigned int getParameterSize() const{return 0;}$/;" f class:ProtoMol::iSGImproperSystemForce getParameterSize applications/iSGProtomol-app/forces/iSGLennardJonesForce.h /^ static unsigned int getParameterSize() {return 0;}$/;" f class:ProtoMol::iSGLennardJonesForce getParameterSize applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ static unsigned int getParameterSize() {return 3;}$/;" f class:ProtoMol::iSGLennardJonesTableForce getParameterSize applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ virtual unsigned int getParameterSize() const{return (TBoundaryConditions::PERIODIC ? 2:3);}$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce getParameterSize applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ virtual unsigned int getParameterSize() const{return (TBoundaryConditions::PERIODIC ? 7:8);}$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce getParameterSize applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ static unsigned int getParameterSize() {$/;" f class:ProtoMol::iSGOneAtomPair getParameterSize applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ static unsigned int getParameterSize() {$/;" f class:ProtoMol::iSGOneAtomPairFull getParameterSize applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ static unsigned int getParameterSize(){$/;" f class:ProtoMol::iSGOneAtomPairTwo getParameterSize applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ static unsigned int getParameterSize(){$/;" f class:ProtoMol::iSGOneAtomPairTwoFull getParameterSize applications/iSGProtomol-app/frontend/OutputFinalPSF.h /^ virtual unsigned int getParameterSize() const {return 1;}$/;" f class:ProtoMol::OutputFinalPSF getParameterSize applications/iSGProtomol-app/frontend/OutputFinalXSC.h /^ virtual unsigned int getParameterSize() const {return 1;}$/;" f class:ProtoMol::OutputFinalXSC getParameterSize applications/iSGProtomol-app/frontend/OutputISGProperties.h /^ virtual unsigned int getParameterSize() const {return 3;}$/;" f class:ProtoMol::OutputISGProperties getParameterSize applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ virtual unsigned int getParameterSize() const{return 9;}$/;" f class:ProtoMol::iSGIntegrator getParameterSize framework/forces/AngleSystemForce.h /^ virtual unsigned int getParameterSize() const{return 0;}$/;" f class:ProtoMol::AngleSystemForce getParameterSize framework/forces/BondSystemForce.h /^ virtual unsigned int getParameterSize() const{return 0;}$/;" f class:ProtoMol::BondSystemForce getParameterSize framework/forces/CompareForce.cpp /^ unsigned int CompareForce::getParameterSize() const{$/;" f class:ProtoMol::CompareForce getParameterSize framework/forces/CoulombEwaldRealForce.h /^ static unsigned int getParameterSize() {return 1;}$/;" f class:ProtoMol::CoulombEwaldRealForce getParameterSize framework/forces/CoulombEwaldRealTableForce.h /^ static unsigned int getParameterSize() {return 3;}$/;" f class:ProtoMol::CoulombEwaldRealTableForce getParameterSize framework/forces/CoulombForce.h /^ static unsigned int getParameterSize() {return 0;}$/;" f class:ProtoMol::CoulombForce getParameterSize framework/forces/CoulombMultiGridDirectForce.h /^ static unsigned int getParameterSize() {return 1;}$/;" f class:ProtoMol::CoulombMultiGridDirectForce getParameterSize framework/forces/CoulombMultiGridDirectTableForce.h /^ static unsigned int getParameterSize() {return 2;}$/;" f class:ProtoMol::CoulombMultiGridDirectTableForce getParameterSize framework/forces/DihedralSystemForce.h /^ virtual unsigned int getParameterSize() const{return 0;}$/;" f class:ProtoMol::DihedralSystemForce getParameterSize framework/forces/ElectricFieldSystemForce.h /^ virtual unsigned int getParameterSize() const{return 3+TSwitchingFunction::getParameterSize();}$/;" f class:ProtoMol::ElectricFieldSystemForce getParameterSize framework/forces/ExternalGravitationSystemForce.h /^ virtual unsigned int getParameterSize() const{return 1;}$/;" f class:ProtoMol::ExternalGravitationSystemForce getParameterSize framework/forces/ExternalMagneticFieldExtendedForce.h /^ virtual unsigned int getParameterSize() const{return 1;}$/;" f class:ProtoMol::ExternalMagneticFieldExtendedForce getParameterSize framework/forces/FrictionExtendedForce.h /^ virtual unsigned int getParameterSize() const{return 2;}$/;" f class:ProtoMol::FrictionExtendedForce getParameterSize framework/forces/GravitationForce.h /^ static unsigned int getParameterSize() {return 1;}$/;" f class:ProtoMol::GravitationForce getParameterSize framework/forces/HarmDihedralSystemForce.h /^ virtual unsigned int getParameterSize() const{return 3;}$/;" f class:ProtoMol::HarmDihedralSystemForce getParameterSize framework/forces/ImproperSystemForce.h /^ virtual unsigned int getParameterSize() const{return 0;}$/;" f class:ProtoMol::ImproperSystemForce getParameterSize framework/forces/LennardJonesForce.h /^ static unsigned int getParameterSize() {return 0;}$/;" f class:ProtoMol::LennardJonesForce getParameterSize framework/forces/LennardJonesTableForce.h /^ static unsigned int getParameterSize() {return 2;}$/;" f class:ProtoMol::LennardJonesTableForce getParameterSize framework/forces/MagneticDipoleForce.h /^ static unsigned int getParameterSize() {return 8;}$/;" f class:ProtoMol::MagneticDipoleForce getParameterSize framework/forces/MagneticDipoleMirrorSystemForce.h /^ virtual unsigned int getParameterSize() const{return 6;}$/;" f class:ProtoMol::MagneticDipoleMirrorSystemForce getParameterSize framework/forces/NonbondedCutoffForce.h /^ virtual unsigned int getParameterSize() const{return 1+TOneAtomPair::getParameterSize();}$/;" f class:ProtoMol::NonbondedCutoffForce getParameterSize framework/forces/NonbondedFullEwaldSystemForce.h /^ virtual unsigned int getParameterSize() const{return (TBoundaryConditions::PERIODIC ? 2:3);}$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce getParameterSize framework/forces/NonbondedFullSystemForce.h /^ virtual unsigned int getParameterSize() const{return 2+TOneAtomPair::getParameterSize();}$/;" f class:ProtoMol::NonbondedFullSystemForce getParameterSize framework/forces/NonbondedMultiGridSystemForce.h /^ virtual unsigned int getParameterSize() const{return (1 + (TBoundaryConditions::PERIODIC && smooth?3:0) + (smooth?3:0) + (TBoundaryConditions::VACUUM && smooth?2:0));}$/;" f class:ProtoMol::NonbondedMultiGridSystemForce getParameterSize framework/forces/NonbondedPMEwaldSystemForce.h /^ virtual unsigned int getParameterSize() const{return (TBoundaryConditions::PERIODIC ? 7:8);}$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce getParameterSize framework/forces/NonbondedSimpleFullSystemForce.h /^ virtual unsigned int getParameterSize() const{return 1+TOneAtomPair::getParameterSize();}$/;" f class:ProtoMol::NonbondedSimpleFullSystemForce getParameterSize framework/forces/OneAtomPair.h /^ static unsigned int getParameterSize() {$/;" f class:ProtoMol::OneAtomPair getParameterSize framework/forces/OneAtomPairFull.h /^ static unsigned int getParameterSize() {$/;" f class:ProtoMol::OneAtomPairFull getParameterSize framework/forces/OneAtomPairTwo.h /^ static unsigned int getParameterSize(){$/;" f class:ProtoMol::OneAtomPairTwo getParameterSize framework/forces/OneAtomPairTwoFull.h /^ static unsigned int getParameterSize(){$/;" f class:ProtoMol::OneAtomPairTwoFull getParameterSize framework/forces/OneMollyPair.h /^ static unsigned int getParameterSize() {$/;" f class:ProtoMol::OneMollyPair getParameterSize framework/forces/OneMollyPairTwo.h /^ static unsigned int getParameterSize(){$/;" f class:ProtoMol::OneMollyPairTwo getParameterSize framework/forces/PaulTrapExtendedForce.h /^ virtual unsigned int getParameterSize() const{return 8;}$/;" f class:ProtoMol::PaulTrapExtendedForce getParameterSize framework/forces/SphericalSystemForce.h /^ virtual unsigned int getParameterSize() const{return 4;}$/;" f class:ProtoMol::SphericalSystemForce getParameterSize framework/forces/TimeForce.cpp /^ unsigned int TimeForce::getParameterSize() const{$/;" f class:ProtoMol::TimeForce getParameterSize framework/forces/WrapperMetaForce.h /^ virtual unsigned int getParameterSize() const{return myParameterSize;}$/;" f class:ProtoMol::WrapperMetaForce getParameterSize framework/frontend/OutputDCDTrajectory.h /^ virtual unsigned int getParameterSize() const {return 2;}$/;" f class:ProtoMol::OutputDCDTrajectory getParameterSize framework/frontend/OutputDiffusion.h /^ virtual unsigned int getParameterSize() const {return 2;}$/;" f class:ProtoMol::OutputDiffusion getParameterSize framework/frontend/OutputDihedrals.h /^ virtual unsigned int getParameterSize() const {return 5;}$/;" f class:ProtoMol::OutputDihedrals getParameterSize framework/frontend/OutputEnergies.h /^ virtual unsigned int getParameterSize() const {return 4;}$/;" f class:ProtoMol::OutputEnergies getParameterSize framework/frontend/OutputFinalPDBPos.h /^ virtual unsigned int getParameterSize() const {return 1;}$/;" f class:ProtoMol::OutputFinalPDBPos getParameterSize framework/frontend/OutputFinalXYZBinPos.h /^ virtual unsigned int getParameterSize() const {return 1;}$/;" f class:ProtoMol::OutputFinalXYZBinPos getParameterSize framework/frontend/OutputFinalXYZBinVel.h /^ virtual unsigned int getParameterSize() const {return 1;}$/;" f class:ProtoMol::OutputFinalXYZBinVel getParameterSize framework/frontend/OutputFinalXYZPos.h /^ virtual unsigned int getParameterSize() const {return 1;}$/;" f class:ProtoMol::OutputFinalXYZPos getParameterSize framework/frontend/OutputFinalXYZVel.h /^ virtual unsigned int getParameterSize() const {return 1;}$/;" f class:ProtoMol::OutputFinalXYZVel getParameterSize framework/frontend/OutputMomentum.h /^ virtual unsigned int getParameterSize() const {return 2;}$/;" f class:ProtoMol::OutputMomentum getParameterSize framework/frontend/OutputPDBFramePos.h /^ virtual unsigned int getParameterSize() const {return 2;}$/;" f class:ProtoMol::OutputPDBFramePos getParameterSize framework/frontend/OutputPaulTrap.h /^ virtual unsigned int getParameterSize() const {return 8;}$/;" f class:ProtoMol::OutputPaulTrap getParameterSize framework/frontend/OutputScreen.h /^ virtual unsigned int getParameterSize() const {return 2;}$/;" f class:ProtoMol::OutputScreen getParameterSize framework/frontend/OutputTemperatures.h /^ virtual unsigned int getParameterSize() const {return 3;}$/;" f class:ProtoMol::OutputTemperatures getParameterSize framework/frontend/OutputXYZTrajectoryForce.h /^ virtual unsigned int getParameterSize() const {return 2;}$/;" f class:ProtoMol::OutputXYZTrajectoryForce getParameterSize framework/frontend/OutputXYZTrajectoryPos.h /^ virtual unsigned int getParameterSize() const {return 2;}$/;" f class:ProtoMol::OutputXYZTrajectoryPos getParameterSize framework/frontend/OutputXYZTrajectoryVel.h /^ virtual unsigned int getParameterSize() const {return 2;}$/;" f class:ProtoMol::OutputXYZTrajectoryVel getParameterSize framework/imd/HapticSystemForce.h /^ virtual unsigned int getParameterSize() const{return 5;}$/;" f class:ProtoMol::HapticSystemForce getParameterSize framework/integrators/BBKIntegrator.h /^ virtual unsigned int getParameterSize() const{return 4;}$/;" f class:ProtoMol::BBKIntegrator getParameterSize framework/integrators/BSplineMOLLYIntegrator.h /^ virtual unsigned int getParameterSize() const{return 3;}$/;" f class:ProtoMol::BSplineMOLLYIntegrator getParameterSize framework/integrators/DLMCIntegrator.h /^ virtual unsigned int getParameterSize() const{return myNumParameters; }$/;" f class:ProtoMol::DLMCIntegrator getParameterSize framework/integrators/DMDLeapfrogIntegrator.h /^ virtual unsigned int getParameterSize() const{return 5;}$/;" f class:ProtoMol::DMDLeapfrogIntegrator getParameterSize framework/integrators/DihedralHMCIntegrator.h /^ virtual unsigned int getParameterSize() const{return 7;}$/;" f class:ProtoMol::DihedralHMCIntegrator getParameterSize framework/integrators/HMCIntegrator.h /^ virtual unsigned int getParameterSize() const{return myNumParameters; }$/;" f class:ProtoMol::HMCIntegrator getParameterSize framework/integrators/LangevinImpulseIntegrator.h /^ virtual unsigned int getParameterSize() const{return 4;}$/;" f class:ProtoMol::LangevinImpulseIntegrator getParameterSize framework/integrators/LeapfrogIntegrator.h /^ virtual unsigned int getParameterSize() const{return 1;}$/;" f class:ProtoMol::LeapfrogIntegrator getParameterSize framework/integrators/MTSIntegrator.h /^ virtual unsigned int getParameterSize() const{return 1;}$/;" f class:ProtoMol::MTSIntegrator getParameterSize framework/integrators/NPTVerletIntegrator.h /^ virtual unsigned int getParameterSize() const{return 6;}$/;" f class:ProtoMol::NPTVerletIntegrator getParameterSize framework/integrators/NVTVerletIntegrator.h /^ virtual unsigned int getParameterSize() const{return 3;}$/;" f class:ProtoMol::NVTVerletIntegrator getParameterSize framework/integrators/NoseNVTLeapfrogIntegrator.h /^ virtual unsigned int getParameterSize() const{return 4;}$/;" f class:ProtoMol::NoseNVTLeapfrogIntegrator getParameterSize framework/integrators/PLeapfrogIntegrator.h /^ virtual unsigned int getParameterSize() const{return 1;}$/;" f class:ProtoMol::PLeapfrogIntegrator getParameterSize framework/integrators/PaulTrapIntegrator.h /^ virtual unsigned int getParameterSize() const{return 9;}$/;" f class:ProtoMol::PaulTrapIntegrator getParameterSize framework/integrators/UmbrellaIntegrator.h /^ virtual unsigned int getParameterSize() const{return myNumParameters; }$/;" f class:ProtoMol::UmbrellaIntegrator getParameterSize framework/topology/C1SwitchingFunction.h /^ static unsigned int getParameterSize() {return 1;}$/;" f class:ProtoMol::C1SwitchingFunction getParameterSize framework/topology/C2SwitchingFunction.h /^ static unsigned int getParameterSize() { return 2;}$/;" f class:ProtoMol::C2SwitchingFunction getParameterSize framework/topology/ComplementSwitchingFunction.h /^ static unsigned int getParameterSize() {return TOriginalSwitchingFunction::getParameterSize();}$/;" f class:ProtoMol::ComplementSwitchingFunction getParameterSize framework/topology/CubicCellManager.h /^ unsigned int getParameterSize() const{return 1;}$/;" f class:ProtoMol::CubicCellManager getParameterSize framework/topology/CutoffSwitchingFunction.h /^ static unsigned int getParameterSize() {return 1;}$/;" f class:ProtoMol::CutoffSwitchingFunction getParameterSize framework/topology/PeriodicBoundaryConditions.h /^ static unsigned int getParameterSize() {return 4;}$/;" f class:ProtoMol::PeriodicBoundaryConditions getParameterSize framework/topology/RangeSwitchingFunction.h /^ static unsigned int getParameterSize() {return 2+TOriginalSwitchingFunction::getParameterSize();}$/;" f class:ProtoMol::RangeSwitchingFunction getParameterSize framework/topology/ShiftSwitchingFunction.h /^ static unsigned int getParameterSize() {return 1;}$/;" f class:ProtoMol::ShiftSwitchingFunction getParameterSize framework/topology/Topology.h /^ virtual unsigned int getParameterSize() const{$/;" f class:ProtoMol::Topology getParameterSize framework/topology/UniversalSwitchingFunction.h /^ static unsigned int getParameterSize() {return 0;}$/;" f class:ProtoMol::UniversalSwitchingFunction getParameterSize framework/topology/VacuumBoundaryConditions.h /^ static unsigned int getParameterSize() {return 0;}$/;" f class:ProtoMol::VacuumBoundaryConditions getParameters applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^ virtual void getParameters(std::vector&) const {}$/;" f class:ProtoMol::iSGAngleSystemForce getParameters applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^ virtual void getParameters(std::vector&) const {}$/;" f class:ProtoMol::iSGBondSystemForce getParameters applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.cpp /^ void iSGCoulombEwaldRealForce::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::iSGCoulombEwaldRealForce getParameters applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.cpp /^ void iSGCoulombEwaldRealTableForce::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::iSGCoulombEwaldRealTableForce getParameters applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ void getParameters(std::vector&) const{}$/;" f class:ProtoMol::iSGCoulombForce getParameters applications/iSGProtomol-app/forces/iSGDihedralSystemForce.h /^ virtual void getParameters(std::vector&) const {}$/;" f class:ProtoMol::iSGDihedralSystemForce getParameters applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ void getParameters(std::vector&) const{}$/;" f class:ProtoMol::iSGIdealGasCoulombForce getParameters applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h /^ void getParameters(std::vector&) const{}$/;" f class:ProtoMol::iSGIdealGasLennardJonesForce getParameters applications/iSGProtomol-app/forces/iSGImproperSystemForce.h /^ virtual void getParameters(std::vector&) const {}$/;" f class:ProtoMol::iSGImproperSystemForce getParameters applications/iSGProtomol-app/forces/iSGLennardJonesForce.h /^ void getParameters(std::vector&) const{}$/;" f class:ProtoMol::iSGLennardJonesForce getParameters applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.cpp /^ void iSGLennardJonesTableForce::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::iSGLennardJonesTableForce getParameters applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce getParameters applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ real,reciprocal,correction,TInterpolation,TSwitchingFunction>::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce getParameters applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::iSGOneAtomPair getParameters applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::iSGOneAtomPairFull getParameters applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::iSGOneAtomPairTwo getParameters applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::iSGOneAtomPairTwoFull getParameters applications/iSGProtomol-app/frontend/OutputFinalPSF.cpp /^ void OutputFinalPSF::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputFinalPSF getParameters applications/iSGProtomol-app/frontend/OutputFinalXSC.cpp /^ void OutputFinalXSC::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputFinalXSC getParameters applications/iSGProtomol-app/frontend/OutputISGProperties.cpp /^ void OutputISGProperties::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputISGProperties getParameters applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::getParameters(vector< Parameter >& parameters) const {$/;" f class:ProtoMol::iSGIntegrator getParameters framework/base/Makeable.cpp /^ vector Makeable::getParameters() const{ $/;" f class:ProtoMol::Makeable getParameters framework/forces/AngleSystemForce.h /^ virtual void getParameters(std::vector&) const {}$/;" f class:ProtoMol::AngleSystemForce getParameters framework/forces/BondSystemForce.h /^ virtual void getParameters(std::vector&) const {}$/;" f class:ProtoMol::BondSystemForce getParameters framework/forces/CompareForce.cpp /^ void CompareForce::getParameters(vector& parameters) const{$/;" f class:ProtoMol::CompareForce getParameters framework/forces/CoulombEwaldRealForce.cpp /^ void CoulombEwaldRealForce::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::CoulombEwaldRealForce getParameters framework/forces/CoulombEwaldRealTableForce.cpp /^ void CoulombEwaldRealTableForce::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::CoulombEwaldRealTableForce getParameters framework/forces/CoulombForce.h /^ void getParameters(std::vector&) const{}$/;" f class:ProtoMol::CoulombForce getParameters framework/forces/CoulombMultiGridDirectForce.h /^ void getParameters(std::vector¶meters) const{parameters.push_back(Parameter("-s",Value(myS,ConstraintValueType::Positive()),Text("MG smoothing distance")));}$/;" f class:ProtoMol::CoulombMultiGridDirectForce getParameters framework/forces/CoulombMultiGridDirectTableForce.h /^ void getParameters(std::vector¶meters) const{$/;" f class:ProtoMol::CoulombMultiGridDirectTableForce getParameters framework/forces/DihedralSystemForce.h /^ virtual void getParameters(std::vector&) const {}$/;" f class:ProtoMol::DihedralSystemForce getParameters framework/forces/ElectricFieldSystemForce.h /^ inline void ElectricFieldSystemForce::getParameters(std::vector& parameters) const {$/;" f class:ProtoMol::ElectricFieldSystemForce getParameters framework/forces/ExternalGravitationSystemForce.cpp /^ void ExternalGravitationSystemForce::getParameters(vector& parameters) const {$/;" f class:ProtoMol::ExternalGravitationSystemForce getParameters framework/forces/ExternalMagneticFieldExtendedForce.cpp /^ void ExternalMagneticFieldExtendedForce::getParameters(vector& parameters) const {$/;" f class:ProtoMol::ExternalMagneticFieldExtendedForce getParameters framework/forces/FrictionExtendedForce.cpp /^ void FrictionExtendedForce::getParameters(vector& parameters) const {$/;" f class:ProtoMol::FrictionExtendedForce getParameters framework/forces/GravitationForce.cpp /^ void GravitationForce::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::GravitationForce getParameters framework/forces/HarmDihedralSystemForce.h /^ virtual void getParameters(std::vector& parameters) const {$/;" f class:ProtoMol::HarmDihedralSystemForce getParameters framework/forces/ImproperSystemForce.h /^ virtual void getParameters(std::vector&) const {}$/;" f class:ProtoMol::ImproperSystemForce getParameters framework/forces/LennardJonesForce.h /^ void getParameters(std::vector&) const{}$/;" f class:ProtoMol::LennardJonesForce getParameters framework/forces/LennardJonesTableForce.cpp /^ void LennardJonesTableForce::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::LennardJonesTableForce getParameters framework/forces/MagneticDipoleForce.cpp /^ void MagneticDipoleForce::getParameters(vector& parameters) const{$/;" f class:ProtoMol::MagneticDipoleForce getParameters framework/forces/MagneticDipoleMirrorSystemForce.h /^ inline void MagneticDipoleMirrorSystemForce::getParameters(std::vector& parameters) const {$/;" f class:ProtoMol::MagneticDipoleMirrorSystemForce getParameters framework/forces/NonbondedCutoffForce.h /^ void NonbondedCutoffForce::getParameters(std::vector& parameters) const {$/;" f class:ProtoMol::NonbondedCutoffForce getParameters framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce getParameters framework/forces/NonbondedFullSystemForce.h /^ void NonbondedFullSystemForce::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::NonbondedFullSystemForce getParameters framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::NonbondedMultiGridSystemForce getParameters framework/forces/NonbondedPMEwaldSystemForce.h /^ real,reciprocal,correction,TInterpolation,TSwitchingFunction>::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce getParameters framework/forces/NonbondedSimpleFullSystemForce.h /^ virtual void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::NonbondedSimpleFullSystemForce getParameters framework/forces/OneAtomPair.h /^ void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::OneAtomPair getParameters framework/forces/OneAtomPairFull.h /^ void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::OneAtomPairFull getParameters framework/forces/OneAtomPairTwo.h /^ void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::OneAtomPairTwo getParameters framework/forces/OneAtomPairTwoFull.h /^ void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::OneAtomPairTwoFull getParameters framework/forces/OneMollyPair.h /^ void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::OneMollyPair getParameters framework/forces/OneMollyPairTwo.h /^ void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::OneMollyPairTwo getParameters framework/forces/PaulTrapExtendedForce.h /^ inline void PaulTrapExtendedForce::getParameters(std::vector& parameters) const {$/;" f class:ProtoMol::PaulTrapExtendedForce getParameters framework/forces/SphericalSystemForce.cpp /^ void SphericalSystemForce::getParameters(vector& parameters) const {$/;" f class:ProtoMol::SphericalSystemForce getParameters framework/forces/TimeForce.cpp /^ void TimeForce::getParameters(vector& parameters) const{$/;" f class:ProtoMol::TimeForce getParameters framework/forces/WrapperMetaForce.h /^ virtual void getParameters(std::vector& parameters) const{parameters=myParameters;}$/;" f class:ProtoMol::WrapperMetaForce getParameters framework/frontend/OutputDCDTrajectory.cpp /^ void OutputDCDTrajectory::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputDCDTrajectory getParameters framework/frontend/OutputDiffusion.cpp /^ void OutputDiffusion::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputDiffusion getParameters framework/frontend/OutputDihedrals.cpp /^ void OutputDihedrals::getParameters(std::vector ¶meter) const{$/;" f class:ProtoMol::OutputDihedrals getParameters framework/frontend/OutputEnergies.cpp /^ void OutputEnergies::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputEnergies getParameters framework/frontend/OutputFinalPDBPos.cpp /^ void OutputFinalPDBPos::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputFinalPDBPos getParameters framework/frontend/OutputFinalXYZBinPos.cpp /^ void OutputFinalXYZBinPos::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputFinalXYZBinPos getParameters framework/frontend/OutputFinalXYZBinVel.cpp /^ void OutputFinalXYZBinVel::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputFinalXYZBinVel getParameters framework/frontend/OutputFinalXYZPos.cpp /^ void OutputFinalXYZPos::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputFinalXYZPos getParameters framework/frontend/OutputFinalXYZVel.cpp /^ void OutputFinalXYZVel::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputFinalXYZVel getParameters framework/frontend/OutputMomentum.cpp /^ void OutputMomentum::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputMomentum getParameters framework/frontend/OutputPDBFramePos.cpp /^ void OutputPDBFramePos::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputPDBFramePos getParameters framework/frontend/OutputPaulTrap.cpp /^ void OutputPaulTrap::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputPaulTrap getParameters framework/frontend/OutputScreen.cpp /^ void OutputScreen::getParameters(vector & parameter) const{$/;" f class:ProtoMol::OutputScreen getParameters framework/frontend/OutputTemperatures.cpp /^ void OutputTemperatures::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputTemperatures getParameters framework/frontend/OutputXYZTrajectoryForce.cpp /^ void OutputXYZTrajectoryForce::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputXYZTrajectoryForce getParameters framework/frontend/OutputXYZTrajectoryPos.cpp /^ void OutputXYZTrajectoryPos::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputXYZTrajectoryPos getParameters framework/frontend/OutputXYZTrajectoryVel.cpp /^ void OutputXYZTrajectoryVel::getParameters(vector ¶meter) const{$/;" f class:ProtoMol::OutputXYZTrajectoryVel getParameters framework/imd/HapticSystemForce.cpp /^ void HapticSystemForce::getParameters(vector& parameters) const {$/;" f class:ProtoMol::HapticSystemForce getParameters framework/integrators/BBKIntegrator.cpp /^ void BBKIntegrator::getParameters(vector& parameters) const {$/;" f class:ProtoMol::BBKIntegrator getParameters framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::getParameters(vector& parameters) const {$/;" f class:ProtoMol::BSplineMOLLYIntegrator getParameters framework/integrators/DMDLeapfrogIntegrator.cpp /^ void DMDLeapfrogIntegrator::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::DMDLeapfrogIntegrator getParameters framework/integrators/DihedralHMCIntegrator.cpp /^ void DihedralHMCIntegrator::getParameters(vector< Parameter> ¶meters) const {$/;" f class:ProtoMol::DihedralHMCIntegrator getParameters framework/integrators/LangevinImpulseIntegrator.cpp /^ void LangevinImpulseIntegrator::getParameters(vector& parameters) const {$/;" f class:ProtoMol::LangevinImpulseIntegrator getParameters framework/integrators/MCIntegrator.cpp /^ void MCIntegrator::getParameters(vector< Parameter> ¶meters) const {$/;" f class:ProtoMol::MCIntegrator getParameters framework/integrators/MTSIntegrator.cpp /^ void MTSIntegrator::getParameters(vector& parameters) const {$/;" f class:ProtoMol::MTSIntegrator getParameters framework/integrators/NPTVerletIntegrator.cpp /^ void NPTVerletIntegrator::getParameters(vector& parameters) const {$/;" f class:ProtoMol::NPTVerletIntegrator getParameters framework/integrators/NVTVerletIntegrator.cpp /^ void NVTVerletIntegrator::getParameters(vector& parameters) const {$/;" f class:ProtoMol::NVTVerletIntegrator getParameters framework/integrators/NoseNVTLeapfrogIntegrator.cpp /^ void NoseNVTLeapfrogIntegrator::getParameters(vector& parameters) const {$/;" f class:ProtoMol::NoseNVTLeapfrogIntegrator getParameters framework/integrators/PaulTrapIntegrator.cpp /^ void PaulTrapIntegrator::getParameters(vector& parameters) const {$/;" f class:ProtoMol::PaulTrapIntegrator getParameters framework/integrators/STSIntegrator.cpp /^ void STSIntegrator::getParameters(std::vector ¶meter) const{$/;" f class:ProtoMol::STSIntegrator getParameters framework/integrators/UmbrellaIntegrator.cpp /^ void UmbrellaIntegrator::getParameters(vector< Parameter> ¶meters) const {$/;" f class:ProtoMol::UmbrellaIntegrator getParameters framework/topology/C1SwitchingFunction.cpp /^ void C1SwitchingFunction::getParameters(vector& parameters) const{$/;" f class:ProtoMol::C1SwitchingFunction getParameters framework/topology/C2SwitchingFunction.cpp /^ void C2SwitchingFunction::getParameters(vector& parameters) const{$/;" f class:ProtoMol::C2SwitchingFunction getParameters framework/topology/ComplementSwitchingFunction.h /^ void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::ComplementSwitchingFunction getParameters framework/topology/CubicCellManager.cpp /^ void CubicCellManager::getParameters(vector& parameters) const{$/;" f class:ProtoMol::CubicCellManager getParameters framework/topology/CutoffSwitchingFunction.cpp /^ void CutoffSwitchingFunction::getParameters(vector& parameters) const{$/;" f class:ProtoMol::CutoffSwitchingFunction getParameters framework/topology/PeriodicBoundaryConditions.cpp /^ void PeriodicBoundaryConditions::getParameters(vector& parameters) const{$/;" f class:ProtoMol::PeriodicBoundaryConditions getParameters framework/topology/RangeSwitchingFunction.h /^ void RangeSwitchingFunction::getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::RangeSwitchingFunction getParameters framework/topology/ShiftSwitchingFunction.cpp /^ void ShiftSwitchingFunction::getParameters(vector& parameters) const{$/;" f class:ProtoMol::ShiftSwitchingFunction getParameters framework/topology/Topology.h /^ virtual void getParameters(std::vector& parameters) const{$/;" f class:ProtoMol::Topology getParameters framework/topology/UniversalSwitchingFunction.h /^ void getParameters(std::vector&) const{};$/;" f class:ProtoMol::UniversalSwitchingFunction getParameters framework/topology/VacuumBoundaryConditions.h /^ void getParameters(std::vector&) const{};$/;" f class:ProtoMol::VacuumBoundaryConditions getPipeSize framework/parallel/Parallel.h /^ static int getPipeSize() {return myPipeSize;}$/;" f class:ProtoMol::Parallel getPointer framework/topology/AngleInfo.cpp /^ unsigned int AngleInfo::getPointer() const{$/;" f class:ProtoMol::AngleInfo getPossibleValues framework/base/AbstractEnumType.h /^ std::string AbstractEnumType::getPossibleValues(std::string separator){$/;" f class:ProtoMol::AbstractEnumType getPostfixId framework/forces/oneAtomContraints.h /^ static std::string getPostfixId() {return "";}$/;" f struct:ProtoMol::HBondConstraint getPostfixId framework/forces/oneAtomContraints.h /^ static std::string getPostfixId() {return "";}$/;" f struct:ProtoMol::NoConstraint getPostfixId framework/forces/oneAtomContraints.h /^ static std::string getPostfixId() {return "DebugPost";}$/;" f struct:ProtoMol::DebugPostConstraint getPostfixId framework/forces/oneAtomContraints.h /^ static std::string getPostfixId() {return "DebugPre";}$/;" f struct:ProtoMol::DebugPreConstraint getPostfixId framework/forces/oneAtomContraints.h /^ static std::string getPostfixId() {return "NotSameMol";}$/;" f struct:ProtoMol::NotSameMoleculeConstraint getPostfixId framework/forces/oneAtomContraints.h /^ static std::string getPostfixId() {return "SameMol";}$/;" f struct:ProtoMol::SameMoleculeConstraint getPrefixId framework/forces/oneAtomContraints.h /^ static std::string getPrefixId() {return "";}$/;" f struct:ProtoMol::DebugPostConstraint getPrefixId framework/forces/oneAtomContraints.h /^ static std::string getPrefixId() {return "";}$/;" f struct:ProtoMol::DebugPreConstraint getPrefixId framework/forces/oneAtomContraints.h /^ static std::string getPrefixId() {return "";}$/;" f struct:ProtoMol::NoConstraint getPrefixId framework/forces/oneAtomContraints.h /^ static std::string getPrefixId() {return "";}$/;" f struct:ProtoMol::NotSameMoleculeConstraint getPrefixId framework/forces/oneAtomContraints.h /^ static std::string getPrefixId() {return "";}$/;" f struct:ProtoMol::SameMoleculeConstraint getPrefixId framework/forces/oneAtomContraints.h /^ static std::string getPrefixId() {return "HBond";}$/;" f struct:ProtoMol::HBondConstraint getProcessTime framework/base/Timer.h /^ inline double TimeRep::getProcessTime() const$/;" f class:ProtoMol::TimeRep getPrototype framework/frontend/Factory.h /^ const Type* getPrototype(const std::string& id) const{$/;" f class:ProtoMol::FactoryBase getQ applications/iSGProtomol-app/base/iSGGrid.h /^ void getQ(Real*& begin, Real*& end) {begin=&(myQ.begin()->re);end=&(myQ.end()->re);}$/;" f class:ProtoMol::iSGGrid getQ framework/base/Grid.h /^ void getQ(Real*& begin, Real*& end) {begin=&(myQ.begin()->re);end=&(myQ.end()->re);}$/;" f class:ProtoMol::Grid getQ framework/base/MultiGrid.h /^ void getQ(int level, Real*& begin, Real*& end) {begin=myQ[level].begin();end=myQ[level].end();}$/;" f class:ProtoMol::MultiGrid getRadius framework/io/XFigWriter.h /^ Real getRadius() const{return myRadius;}$/;" f class:ProtoMol::XFigWriter getRealCellSize framework/topology/CubicCellManager.h /^ Vector3D getRealCellSize(void) const {return myRealCellSize;}$/;" f class:ProtoMol::CubicCellManager getRealTime framework/base/Timer.h /^ inline double TimeRep::getRealTime() const $/;" f class:ProtoMol::TimeRep getRed framework/base/PGM.h /^ unsigned char getRed(unsigned int x, unsigned int y) const {return p[(h-y-1)*w+x];}$/;" f class:ProtoMol::PGM getRed framework/base/PPM.h /^ unsigned char getRed(unsigned int x, unsigned int y) const {return p[(h-y-1)*w*3+x*3];}$/;" f class:ProtoMol::PPM getRightFill framework/base/stringutilities.cpp /^ string getRightFill(const string& s,string::size_type n){$/;" f namespace:ProtoMol getScope framework/forces/Force.h /^ virtual std::string getScope() const{return scope;}$/;" f class:ProtoMol::Force getScope framework/frontend/Output.h /^ virtual std::string getScope() const{return scope;}$/;" f class:ProtoMol::Output getScope framework/integrators/Integrator.h /^ virtual std::string getScope() const{return scope;}$/;" f class:ProtoMol::Integrator getScope framework/topology/GenericTopology.h /^ virtual std::string getScope() const{return scope;}$/;" f class:ProtoMol::GenericTopology getString framework/base/AbstractEnumType.h /^ static const std::string & getString(Enum e){return T::str[static_cast(e)];}$/;" f class:ProtoMol::AbstractEnumType getString framework/base/AbstractEnumType.h /^ static const std::string& getString(int n){return T::str[static_cast(getEnum(n))];}$/;" f class:ProtoMol::AbstractEnumType getString framework/base/AbstractEnumType.h /^ std::string getString() const {return T::str[static_cast(myType)];}$/;" f class:ProtoMol::AbstractEnumType getString framework/base/Value.cpp /^ string Value::getString() const {$/;" f class:ProtoMol::Value getSystemTime framework/base/Timer.h /^ inline double TimeRep::getSystemTime() const $/;" f class:ProtoMol::TimeRep getTable framework/topology/ExclusionTable.h /^ const std::vector& getTable() const{return myTable;}$/;" f class:ProtoMol::ExclusionTable getText framework/base/Configuration.cpp /^ string Configuration::getText(const std::string& keyword) const {$/;" f class:ProtoMol::Configuration getText framework/base/Makeable.h /^ virtual std::string getText() const{return std::string();}$/;" f class:ProtoMol::Makeable getTime framework/base/Timer.cpp /^ TimeRep Timer::getTime() const$/;" f class:ProtoMol::Timer getTimerSeed framework/base/mathutilities.cpp /^ int getTimerSeed(){$/;" f namespace:ProtoMol getTimestep framework/integrators/MTSIntegrator.h /^ inline Real MTSIntegrator::getTimestep () const{$/;" f class:ProtoMol::MTSIntegrator getTimestep framework/integrators/ModifierNPTRattle.h /^ virtual Real getTimestep()const{return myTheIntegrator->getTimestep();}$/;" f class:ProtoMol::ModifierNPTRattle getTimestep framework/integrators/ModifierNPTShake.h /^ virtual Real getTimestep()const{return myTheIntegrator->getTimestep();}$/;" f class:ProtoMol::ModifierNPTShake getTimestep framework/integrators/ModifierNVTRattle.h /^ virtual Real getTimestep()const{return myTheIntegrator->getTimestep();}$/;" f class:ProtoMol::ModifierNVTRattle getTimestep framework/integrators/ModifierNVTShake.h /^ virtual Real getTimestep()const{return myTheIntegrator->getTimestep();}$/;" f class:ProtoMol::ModifierNVTShake getTimestep framework/integrators/ModifierRattle.cpp /^ Real ModifierRattle::getTimestep()const {$/;" f class:ProtoMol::ModifierRattle getTimestep framework/integrators/ModifierShake.cpp /^ Real ModifierShake::getTimestep()const {$/;" f class:ProtoMol::ModifierShake getTimestep framework/integrators/STSIntegrator.h /^ inline Real STSIntegrator::getTimestep() const {$/;" f class:ProtoMol::STSIntegrator getToZ framework/io/XFigWriter.h /^ Real getToZ() const{return myToZ;}$/;" f class:ProtoMol::XFigWriter getTransformation framework/io/XFigWriter.h /^ Matrix3by3 getTransformation() const{return myMat;}$/;" f class:ProtoMol::XFigWriter getType framework/base/Value.h /^ virtual ValueType::Enum getType() const {return (ValueType::Enum)ValueTrait::value;}$/;" f class:ProtoMol::Value::Holder getType framework/base/Value.h /^ inline ValueType::Enum Value::getType() const { $/;" f class:ProtoMol::Value getType framework/frontend/InputPosVel.cpp /^ InputPosVelType InputPosVel::getType() const{$/;" f class:ProtoMol::InputPosVel getTypeString framework/base/Value.h /^ virtual const std::string & getTypeString() const { return ValueType::getString((ValueType::Enum)ValueTrait::value);}$/;" f class:ProtoMol::Value::Holder getTypeString framework/base/Value.h /^ inline const std::string & Value::getTypeString() const{ $/;" f class:ProtoMol::Value getUserName framework/base/systemutilities.cpp /^ string getUserName(){$/;" f namespace:ProtoMol getUserTime framework/base/Timer.h /^ inline double TimeRep::getUserTime() const $/;" f class:ProtoMol::TimeRep getV framework/base/MultiGrid.h /^ void getV(int level, Real*& begin, Real*& end) {begin=myV[level].begin();end=myV[level].end();}$/;" f class:ProtoMol::MultiGrid getVolume framework/topology/PeriodicBoundaryConditions.h /^ Real getVolume() const {return myV;};$/;" f class:ProtoMol::PeriodicBoundaryConditions getVolume framework/topology/SemiGenericTopology.h /^ virtual Real getVolume() const{ return boundaryConditions.getVolume(); }$/;" f class:ProtoMol::SemiGenericTopology getVolume framework/topology/SemiGenericTopology.h /^ virtual Real getVolume(const Vector3DBlock& positions) const{$/;" f class:ProtoMol::SemiGenericTopology getVolume framework/topology/VacuumBoundaryConditions.cpp /^ Real VacuumBoundaryConditions::getVolume() const {$/;" f class:ProtoMol::VacuumBoundaryConditions getWorkState framework/parallel/Parallel.cpp /^ Parallel::WorkState Parallel::getWorkState(){$/;" f class:ProtoMol::Parallel getXSC applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ XSC iSGIntegrator::getXSC() const {$/;" f class:ProtoMol::iSGIntegrator getXYZ framework/io/DCDTrajectoryReader.cpp /^ XYZ DCDTrajectoryReader::getXYZ() const{$/;" f class:ProtoMol::DCDTrajectoryReader getXYZ framework/io/XYZBinReader.cpp /^ XYZ XYZBinReader::getXYZ() const{$/;" f class:ProtoMol::XYZBinReader getXYZ framework/io/XYZReader.cpp /^ XYZ XYZReader::getXYZ() const{$/;" f class:ProtoMol::XYZReader getXYZ framework/io/XYZTrajectoryReader.cpp /^ XYZ XYZTrajectoryReader::getXYZ() const{$/;" f class:ProtoMol::XYZTrajectoryReader get_haptics framework/imd/IMDElf.cpp /^ int IMDElf::get_haptics(Vector3DBlock &h) {$/;" f class:ProtoMol::IMDElf getbackbonedihedrals framework/frontend/OutputDihedrals.cpp /^ void OutputDihedrals::getbackbonedihedrals(){$/;" f class:ProtoMol::OutputDihedrals getdihedralsfromatomset framework/frontend/OutputDihedrals.cpp /^ void OutputDihedrals::getdihedralsfromatomset(){$/;" f class:ProtoMol::OutputDihedrals getline framework/io/File.cpp /^ std::string File::getline(){$/;" f class:ProtoMol::File getticks framework/base/Cycles.h /^ static __inline ticks getticks(void)$/;" f namespace:ProtoMol::Private getticks framework/base/Cycles.h /^ static __inline__ ticks getticks(void)$/;" f namespace:ProtoMol::Private getticks framework/base/Cycles.h /^ static inline ticks getticks(void)$/;" f namespace:ProtoMol::Private getticks framework/base/Cycles.h /^ static inline unsigned long getticks(void)$/;" f namespace:ProtoMol::Private getticks framework/base/Cycles.h 114;" d getticks framework/base/Cycles.h 237;" d getticks framework/base/Cycles.h 425;" d got_alphaLJ applications/iSGProtomol-app/io/TRANSReader.h /^ bool got_alphaLJ;$/;" m class:ProtoMol::TRANSReader gotoEndPair framework/topology/CellListEnumerator_periodicBoundaries.h /^ void gotoEndPair() {j=the_end;};$/;" f class:ProtoMol::CellListEnumerator gotoEndPair framework/topology/CellListEnumerator_standard.h /^ void gotoEndPair() {j=the_end;};$/;" f class:ProtoMol::CellListEnumerator greater framework/base/Value.cpp /^ inline bool Value::greater(const Value& v1, const Value& v2){$/;" f class:ProtoMol::Value greater framework/base/Value.cpp /^ inline bool Value::greater(const Value&, const Value&){return false;}$/;" f class:ProtoMol::Value greater framework/base/Value.cpp /^ inline bool Value::greater >(const Value&, const Value&){return false;}$/;" f class:ProtoMol::Value greaterEqual framework/base/Value.cpp /^ inline bool Value::greaterEqual(const Value& v1, const Value& v2){$/;" f class:ProtoMol::Value greaterEqual framework/base/Value.cpp /^ inline bool Value::greaterEqual(const Value&, const Value&){return false;}$/;" f class:ProtoMol::Value greaterEqual framework/base/Value.cpp /^ inline bool Value::greaterEqual >(const Value&, const Value&){return false;}$/;" f class:ProtoMol::Value green applications/xyzviz-app/openglutilities.cpp /^ GLfloat green;$/;" m struct:ProtoMol::Feedback3Dcolor file: green applications/xyzviz-app/xyzviz.cpp /^ GLfloat green;$/;" m struct:Feedback3Dcolor file: h compilerTests/pngTest.cpp /^ unsigned int w,h;$/;" m class:PPM file: h framework/base/PGM.h /^ unsigned int w,h;$/;" m class:ProtoMol::PGM h framework/base/PPM.h /^ unsigned int w,h;$/;" m class:ProtoMol::PPM h framework/base/simpleTypes.h /^ int h;int k; int l;$/;" m struct:ProtoMol::TripleInt harmCalcTorsion framework/forces/HarmDihedralSystemForce.h /^ inline void HarmDihedralSystemForce::harmCalcTorsion(const GenericTopology* topo,$/;" f class:ProtoMol::HarmDihedralSystemForce hbonds framework/base/PAR.h /^ std::vector hbonds;$/;" m class:ProtoMol::PAR hbonds framework/base/iSGPAR.h /^ std::vector hbonds;$/;" m class:ProtoMol::iSGPAR hdf framework/integrators/DLMCIntegrator.h /^ Force* hdf;$/;" m class:ProtoMol::DLMCIntegrator hdf framework/integrators/UmbrellaIntegrator.h /^ Force* hdf;$/;" m class:ProtoMol::UmbrellaIntegrator height compilerTests/pngTest.cpp /^ unsigned int height() const{return h;}$/;" f class:PPM height framework/base/PGM.h /^ unsigned int height() const{return h;}$/;" f class:ProtoMol::PGM height framework/base/PPM.h /^ unsigned int height() const{return h;}$/;" f class:ProtoMol::PPM hessian framework/topology/C1SwitchingFunction.cpp /^ Matrix3by3 C1SwitchingFunction::hessian(const Vector3D& rij, Real a) const{$/;" f class:ProtoMol::C1SwitchingFunction hessian framework/topology/C2SwitchingFunction.cpp /^ Matrix3by3 C2SwitchingFunction::hessian(const Vector3D& rij, Real a) const{$/;" f class:ProtoMol::C2SwitchingFunction hessian framework/topology/RangeSwitchingFunction.h /^ inline Matrix3by3 RangeSwitchingFunction::hessian(const Vector3D& rij, Real distSquared) const {$/;" f class:ProtoMol::RangeSwitchingFunction high framework/imd/imd.cpp /^ unsigned int high : 8;$/;" m struct:ProtoMol::IMD:: file: highDeltas framework/topology/ExclusionTable.h /^ std::map highDeltas;$/;" m class:ProtoMol::ExclusionTable highest framework/imd/imd.cpp /^ unsigned int highest : 8;$/;" m struct:ProtoMol::IMD:: file: hint framework/base/Report.cpp /^ MyStreamer& hint(MyStreamer& stream){$/;" f namespace:ProtoMol::Report holder framework/base/Value.h /^ typename ValueTrait::RepType holder;$/;" m class:ProtoMol::Value::Holder hookup framework/imd/IMDElf.cpp /^ int IMDElf::hookup() {$/;" f class:ProtoMol::IMDElf hvyAtom framework/base/Atom.h /^ int hvyAtom;$/;" m struct:ProtoMol::Atom hvyAtomGrpsize framework/base/PDB.h /^ int hvyAtomGrpsize; \/\/\/< ??? throw in zeros $/;" m struct:ProtoMol::PDB::PDBAtom i applications/xyzviz-app/xyzviz.cpp /^ int i;$/;" m struct:Opaque file: i framework/topology/CellListEnumerator_periodicBoundaries.h /^ CubicCellManager::CellListStructure::const_iterator i,j,the_beginning,the_end;$/;" m class:ProtoMol::CellListEnumerator i framework/topology/CellListEnumerator_standard.h /^ CubicCellManager::CellListStructure::const_iterator i,j,the_beginning,the_end;$/;" m class:ProtoMol::CellListEnumerator i tools/bccAnalyzer.cpp /^ int i;$/;" m class:Vector3DIdx file: i1 framework/integrators/EquilibriumMOLLYIntegrator.h /^ short i1; \/\/ Local index of atom 1 myHydrogenAtomGroups$/;" m struct:ProtoMol::EquilibriumMOLLYIntegrator::HydrogenBond i2 framework/integrators/EquilibriumMOLLYIntegrator.h /^ short i2; \/\/ Local index of atom 1 myHydrogenAtomGroups$/;" m struct:ProtoMol::EquilibriumMOLLYIntegrator::HydrogenBond iAmMaster framework/parallel/Parallel.h /^ static bool iAmMaster() {return myIAmMaster;}$/;" f class:ProtoMol::Parallel iAmSlave framework/parallel/Parallel.h /^ static bool iAmSlave() {return myIAmSlave;}$/;" f class:ProtoMol::Parallel iSGAngleSystemForce applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^ class iSGAngleSystemForce : public SystemForce, private iSGAngleSystemForceBase {$/;" c namespace:ProtoMol iSGAngleSystemForceBase applications/iSGProtomol-app/forces/iSGAngleSystemForceBase.h /^ class iSGAngleSystemForceBase {$/;" c namespace:ProtoMol iSGBondSystemForce applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^ class iSGBondSystemForce : public SystemForce, private iSGBondSystemForceBase{$/;" c namespace:ProtoMol iSGBondSystemForceBase applications/iSGProtomol-app/forces/iSGBondSystemForceBase.h /^ class iSGBondSystemForceBase {$/;" c namespace:ProtoMol iSGCoulombEwaldRealForce applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.cpp /^ iSGCoulombEwaldRealForce::iSGCoulombEwaldRealForce():myAlpha(-1.0){}$/;" f class:ProtoMol::iSGCoulombEwaldRealForce iSGCoulombEwaldRealForce applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.cpp /^ iSGCoulombEwaldRealForce::iSGCoulombEwaldRealForce(Real a):myAlpha(a),$/;" f class:ProtoMol::iSGCoulombEwaldRealForce iSGCoulombEwaldRealForce applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h /^ class iSGCoulombEwaldRealForce {$/;" c namespace:ProtoMol iSGCoulombEwaldRealTableForce applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.cpp /^ iSGCoulombEwaldRealTableForce::iSGCoulombEwaldRealTableForce():myTable(NULL),myERFTable(NULL),myAlpha(-1.0),myRc(-1.0),myN(0){}$/;" f class:ProtoMol::iSGCoulombEwaldRealTableForce iSGCoulombEwaldRealTableForce applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.cpp /^ iSGCoulombEwaldRealTableForce::iSGCoulombEwaldRealTableForce(Real a, Real rc, unsigned int n):myTable(new Real[2*n]), myERFTable(new Real[n]),$/;" f class:ProtoMol::iSGCoulombEwaldRealTableForce iSGCoulombEwaldRealTableForce applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.cpp /^ iSGCoulombEwaldRealTableForce::iSGCoulombEwaldRealTableForce(iSGCoulombEwaldRealTableForce const& other):myTable(new Real[2*other.myN]), myERFTable(new Real[other.myN]),$/;" f class:ProtoMol::iSGCoulombEwaldRealTableForce iSGCoulombEwaldRealTableForce applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ class iSGCoulombEwaldRealTableForce {$/;" c namespace:ProtoMol iSGCoulombForce applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ class iSGCoulombForce {$/;" c namespace:ProtoMol iSGDihedralSystemForce applications/iSGProtomol-app/forces/iSGDihedralSystemForce.h /^ class iSGDihedralSystemForce: public iSGMTorsionSystemForce, private iSGDihedralSystemForceBase{$/;" c namespace:ProtoMol iSGDihedralSystemForceBase applications/iSGProtomol-app/forces/iSGDihedralSystemForceBase.h /^ class iSGDihedralSystemForceBase {$/;" c namespace:ProtoMol iSGGrid applications/iSGProtomol-app/base/iSGGrid.h /^ class iSGGrid {$/;" c namespace:ProtoMol iSGGrid applications/iSGProtomol-app/base/iSGGrid.h /^ iSGGrid::iSGGrid():$/;" f class:ProtoMol::iSGGrid iSGIdealGasCoulombForce applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ class iSGIdealGasCoulombForce {$/;" c namespace:ProtoMol iSGIdealGasLennardJonesForce applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h /^ iSGIdealGasLennardJonesForce() {};$/;" f class:ProtoMol::iSGIdealGasLennardJonesForce iSGIdealGasLennardJonesForce applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h /^ class iSGIdealGasLennardJonesForce {$/;" c namespace:ProtoMol iSGImproperSystemForce applications/iSGProtomol-app/forces/iSGImproperSystemForce.h /^ class iSGImproperSystemForce: public iSGMTorsionSystemForce, private iSGImproperSystemForceBase {$/;" c namespace:ProtoMol iSGImproperSystemForceBase applications/iSGProtomol-app/forces/iSGImproperSystemForceBase.h /^ class iSGImproperSystemForceBase {$/;" c namespace:ProtoMol iSGIntegrator applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ iSGIntegrator::iSGIntegrator(): STSIntegrator(),$/;" f class:ProtoMol::iSGIntegrator iSGIntegrator applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ iSGIntegrator::iSGIntegrator(Real timestep, $/;" f class:ProtoMol::iSGIntegrator iSGIntegrator applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ class iSGIntegrator: public STSIntegrator {$/;" c namespace:ProtoMol iSGLennardJonesForce applications/iSGProtomol-app/forces/iSGLennardJonesForce.h /^ iSGLennardJonesForce() {};$/;" f class:ProtoMol::iSGLennardJonesForce iSGLennardJonesForce applications/iSGProtomol-app/forces/iSGLennardJonesForce.h /^ class iSGLennardJonesForce {$/;" c namespace:ProtoMol iSGLennardJonesTableForce applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.cpp /^ iSGLennardJonesTableForce::iSGLennardJonesTableForce():myTable(NULL),myRc(-1.0),myN(0),alpha(0.0) {}$/;" f class:ProtoMol::iSGLennardJonesTableForce iSGLennardJonesTableForce applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.cpp /^ iSGLennardJonesTableForce::iSGLennardJonesTableForce(Real rc, unsigned int n, Real myAlpha):myTable(new Real[4*n]),$/;" f class:ProtoMol::iSGLennardJonesTableForce iSGLennardJonesTableForce applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.cpp /^ iSGLennardJonesTableForce::iSGLennardJonesTableForce(iSGLennardJonesTableForce const& other):myTable(new Real[4*other.myN]),$/;" f class:ProtoMol::iSGLennardJonesTableForce iSGLennardJonesTableForce applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ class iSGLennardJonesTableForce {$/;" c namespace:ProtoMol iSGMODIFIERPREFORCECHEMOSTAT_H applications/iSGProtomol-app/integrators/iSGModifierPreForceChemostat.h 3;" d iSGMTorsionSystemForce applications/iSGProtomol-app/forces/iSGMTorsionSystemForce.h /^ class iSGMTorsionSystemForce: public SystemForce {$/;" c namespace:ProtoMol iSGModifierPostForceChemostat applications/iSGProtomol-app/integrators/iSGModifierPostForceChemostat.h /^ iSGModifierPostForceChemostat(iSGIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){}$/;" f class:ProtoMol::iSGModifierPostForceChemostat iSGModifierPostForceChemostat applications/iSGProtomol-app/integrators/iSGModifierPostForceChemostat.h /^ iSGModifierPostForceChemostat(iSGIntegrator* i, int order):Modifier(order),myTheIntegrator(i){}$/;" f class:ProtoMol::iSGModifierPostForceChemostat iSGModifierPostForceChemostat applications/iSGProtomol-app/integrators/iSGModifierPostForceChemostat.h /^ class iSGModifierPostForceChemostat : public Modifier {$/;" c namespace:ProtoMol iSGModifierPreForceChemostat applications/iSGProtomol-app/integrators/iSGModifierPreForceChemostat.h /^ iSGModifierPreForceChemostat(iSGIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){}$/;" f class:ProtoMol::iSGModifierPreForceChemostat iSGModifierPreForceChemostat applications/iSGProtomol-app/integrators/iSGModifierPreForceChemostat.h /^ iSGModifierPreForceChemostat(iSGIntegrator* i, int order):Modifier(order),myTheIntegrator(i){}$/;" f class:ProtoMol::iSGModifierPreForceChemostat iSGModifierPreForceChemostat applications/iSGProtomol-app/integrators/iSGModifierPreForceChemostat.h /^ class iSGModifierPreForceChemostat : public Modifier {$/;" c namespace:ProtoMol iSGNonbondedFullEwaldSystemForce applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::iSGNonbondedFullEwaldSystemForce()$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce iSGNonbondedFullEwaldSystemForce applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::iSGNonbondedFullEwaldSystemForce(Real alpha, Real accuracy, Real expansionFactor)$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce iSGNonbondedFullEwaldSystemForce applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ class iSGNonbondedFullEwaldSystemForce: public SystemForce, private iSGNonbondedFullEwaldSystemForceBase {$/;" c namespace:ProtoMol iSGNonbondedFullEwaldSystemForceBase applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForceBase.h /^ class iSGNonbondedFullEwaldSystemForceBase {$/;" c namespace:ProtoMol iSGNonbondedPMEwaldSystemForce applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::iSGNonbondedPMEwaldSystemForce() : SystemForce(),myCached(false),myExpansionFactor(3.0),myTRate(0.0),myAccuracy(0.0),myAlpha(-1.0),myAlphaDefault(true),myRc(0.0),myKc(0.0),myV(-1.0),myNX(0),myNY(0),myNZ(0),myInterOrder(0) {$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce iSGNonbondedPMEwaldSystemForce applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::iSGNonbondedPMEwaldSystemForce(unsigned int nx, unsigned int ny, unsigned int nz, unsigned int order, Real cutoff, Real accuracy, Real alpha, Real expansionFactor) : SystemForce(),myCached(false),myExpansionFactor(expansionFactor),myTRate(0.0),myAccuracy(accuracy),myAlpha(alpha),myAlphaDefault(alpha<= 0.0),myRc(cutoff),myKc(0.0),myV(-1.0),myNX(nx),myNY(ny),myNZ(nz),myInterOrder(order){$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce iSGNonbondedPMEwaldSystemForce applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ class iSGNonbondedPMEwaldSystemForce: public SystemForce, private iSGNonbondedPMEwaldSystemForceBase {$/;" c namespace:ProtoMol iSGNonbondedPMEwaldSystemForceBase applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForceBase.h /^ class iSGNonbondedPMEwaldSystemForceBase {$/;" c namespace:ProtoMol iSGNumMols framework/topology/GenericTopology.h /^ std::vector iSGNumMols;$/;" m class:ProtoMol::GenericTopology iSGOneAtomPair applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ iSGOneAtomPair(): switchingFunction(), nonbondedForceFunction(){};$/;" f class:ProtoMol::iSGOneAtomPair iSGOneAtomPair applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ iSGOneAtomPair(TNonbondedForce nF,$/;" f class:ProtoMol::iSGOneAtomPair iSGOneAtomPair applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ class iSGOneAtomPair {$/;" c namespace:ProtoMol iSGOneAtomPairFull applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ iSGOneAtomPairFull(): switchingFunction(), nonbondedForceFunction(){};$/;" f class:ProtoMol::iSGOneAtomPairFull iSGOneAtomPairFull applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ iSGOneAtomPairFull(TNonbondedForce nF,$/;" f class:ProtoMol::iSGOneAtomPairFull iSGOneAtomPairFull applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ class iSGOneAtomPairFull {$/;" c namespace:ProtoMol iSGOneAtomPairTwo applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ iSGOneAtomPairTwo(){}$/;" f class:ProtoMol::iSGOneAtomPairTwo iSGOneAtomPairTwo applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ iSGOneAtomPairTwo(TNonbondedForceFirst f1, $/;" f class:ProtoMol::iSGOneAtomPairTwo iSGOneAtomPairTwo applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ class iSGOneAtomPairTwo {$/;" c namespace:ProtoMol iSGOneAtomPairTwoFull applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ iSGOneAtomPairTwoFull(){}$/;" f class:ProtoMol::iSGOneAtomPairTwoFull iSGOneAtomPairTwoFull applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ iSGOneAtomPairTwoFull(TNonbondedForceFirst f1, $/;" f class:ProtoMol::iSGOneAtomPairTwoFull iSGOneAtomPairTwoFull applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ class iSGOneAtomPairTwoFull {$/;" c namespace:ProtoMol iSGPAR framework/base/iSGPAR.h /^ class iSGPAR{$/;" c namespace:ProtoMol iSGPARReader applications/iSGProtomol-app/io/iSGPARReader.cpp /^ iSGPARReader::iSGPARReader(const char* filename, iSGPAR::CharmmTypeEnum charmmType):$/;" f class:ProtoMol::iSGPARReader iSGPARReader applications/iSGProtomol-app/io/iSGPARReader.cpp /^ iSGPARReader::iSGPARReader(const std::string& filename, iSGPAR::CharmmTypeEnum charmmType):$/;" f class:ProtoMol::iSGPARReader iSGPARReader applications/iSGProtomol-app/io/iSGPARReader.cpp /^ iSGPARReader::iSGPARReader(iSGPAR::CharmmTypeEnum charmmType):$/;" f class:ProtoMol::iSGPARReader iSGPARReader applications/iSGProtomol-app/io/iSGPARReader.h /^ class iSGPARReader : public Reader {$/;" c namespace:ProtoMol iSGmodifierIndex framework/topology/Angle.h /^ int iSGmodifierIndex;$/;" m class:ProtoMol::Angle iSGmodifierIndex framework/topology/Bond.h /^ int iSGmodifierIndex;$/;" m class:ProtoMol::Bond iSGmodifierIndex framework/topology/Torsion.h /^ int iSGmodifierIndex; \/\/\/< The index # of this torsion type in the ModifierISG angle structure. $/;" m class:ProtoMol::Torsion iSGpar framework/frontend/OutputCache.h /^ const iSGPAR& iSGpar() const {return myiSGPAR;}$/;" f class:ProtoMol::OutputCache iSGregisterForceExemplars applications/iSGProtomol-app/factories/iSGregisterForceExemplars.cpp /^ void iSGregisterForceExemplars(const GenericTopology* topo){$/;" f namespace:ProtoMol iSGregisterForceExemplarsBonded applications/iSGProtomol-app/factories/iSGregisterForceExemplarsBonded.cpp /^ void iSGregisterForceExemplarsBonded(const PeriodicBoundaryConditions*){$/;" f namespace:ProtoMol iSGregisterForceExemplarsBonded applications/iSGProtomol-app/factories/iSGregisterForceExemplarsBonded.cpp /^ void iSGregisterForceExemplarsBonded(const VacuumBoundaryConditions*){$/;" f namespace:ProtoMol iSGregisterForceExemplarsCutoff applications/iSGProtomol-app/factories/iSGregisterForceExemplarsCutoff.cpp /^ void iSGregisterForceExemplarsCutoff(const PeriodicBoundaryConditions*, const CubicCellManager*){$/;" f namespace:ProtoMol iSGregisterForceExemplarsCutoff applications/iSGProtomol-app/factories/iSGregisterForceExemplarsCutoff.cpp /^ void iSGregisterForceExemplarsCutoff(const VacuumBoundaryConditions*, const CubicCellManager*){$/;" f namespace:ProtoMol iSGregisterForceExemplarsDispatch applications/iSGProtomol-app/factories/iSGregisterForceExemplars.cpp /^ inline void iSGregisterForceExemplarsDispatch(const Topology* topo){$/;" f namespace:ProtoMol iSGregisterForceExemplarsFastElectrostatic applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFastElectrostatic.cpp /^ void iSGregisterForceExemplarsFastElectrostatic(const PeriodicBoundaryConditions*, const CubicCellManager*) {$/;" f namespace:ProtoMol iSGregisterForceExemplarsFastElectrostatic applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFastElectrostatic.cpp /^ void iSGregisterForceExemplarsFastElectrostatic(const VacuumBoundaryConditions*, const CubicCellManager*) { $/;" f namespace:ProtoMol iSGregisterForceExemplarsFull applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFull.cpp /^ void iSGregisterForceExemplarsFull(const PeriodicBoundaryConditions*){$/;" f namespace:ProtoMol iSGregisterForceExemplarsFull applications/iSGProtomol-app/factories/iSGregisterForceExemplarsFull.cpp /^ void iSGregisterForceExemplarsFull(const VacuumBoundaryConditions*){$/;" f namespace:ProtoMol iSGregisterForceExemplarsIdealGas applications/iSGProtomol-app/factories/iSGregisterForceExemplarsIdealGas.cpp /^ void iSGregisterForceExemplarsIdealGas(const PeriodicBoundaryConditions*, const CubicCellManager*){$/;" f namespace:ProtoMol iSGregisterForceExemplarsIdealGas applications/iSGProtomol-app/factories/iSGregisterForceExemplarsIdealGas.cpp /^ void iSGregisterForceExemplarsIdealGas(const VacuumBoundaryConditions*, const CubicCellManager*){$/;" f namespace:ProtoMol iSGregisterForceExemplarsSimpleFull applications/iSGProtomol-app/factories/iSGregisterForceExemplarsSimpleFull.cpp /^ void iSGregisterForceExemplarsSimpleFull(const PeriodicBoundaryConditions*){$/;" f namespace:ProtoMol iSGregisterForceExemplarsSimpleFull applications/iSGProtomol-app/factories/iSGregisterForceExemplarsSimpleFull.cpp /^ void iSGregisterForceExemplarsSimpleFull(const VacuumBoundaryConditions*){$/;" f namespace:ProtoMol iSGregisterOutputExemplars applications/iSGProtomol-app/factories/iSGregisterOutputExemplars.cpp /^ void iSGregisterOutputExemplars(){$/;" f namespace:ProtoMol id framework/base/MakeableDefinition.h /^ std::string id; \/\/\/< keyword of the object$/;" m struct:ProtoMol::MakeableDefinition id framework/base/ObjectDefinition.h /^ std::string id;$/;" m struct:ProtoMol::ObjectDefinition id framework/frontend/HelpTextFactory.h /^ std::string id;$/;" m struct:ProtoMol::HelpText identity framework/base/Matrix3by3.cpp /^ void Matrix3by3::identity() $/;" f class:ProtoMol::Matrix3by3 identity framework/base/PSF.h /^ unsigned int identity; \/\/\/< atom's identity (for iSGMD)$/;" m struct:ProtoMol::PSF::Atom identity framework/base/ReducedHessAngle.cpp /^ void ReducedHessAngle::identity()$/;" f class:ProtoMol::ReducedHessAngle im framework/base/FFTComplex.h /^ double im;$/;" m struct: im framework/base/fft.c /^ double im;$/;" m struct: file: imd_disconnect framework/imd/imd.cpp /^ int imd_disconnect(void *s) {$/;" f namespace:ProtoMol::IMD imd_go framework/imd/imd.cpp /^ static int imd_go(void *s) {$/;" f namespace:ProtoMol::IMD imd_handshake framework/imd/imd.cpp /^ int imd_handshake(void *s) {$/;" f namespace:ProtoMol::IMD imd_htonl framework/imd/imd.cpp /^ static int32 imd_htonl(int32 h) {$/;" f namespace:ProtoMol::IMD imd_kill framework/imd/imd.cpp /^ int imd_kill(void *s) {$/;" f namespace:ProtoMol::IMD imd_ntohl framework/imd/imd.cpp /^ static int32 imd_ntohl(int32 n) {$/;" f namespace:ProtoMol::IMD imd_pause framework/imd/imd.cpp /^ int imd_pause(void *s) {$/;" f namespace:ProtoMol::IMD imd_readn framework/imd/imd.cpp /^ static int32 imd_readn(void *s, char *ptr, int32 n) {$/;" f namespace:ProtoMol::IMD imd_recv_energies framework/imd/imd.cpp /^ int imd_recv_energies(void *s, IMDEnergies *energies) {$/;" f namespace:ProtoMol::IMD imd_recv_fcoords framework/imd/imd.cpp /^ int imd_recv_fcoords(void *s, int32 n, float *coords) {$/;" f namespace:ProtoMol::IMD imd_recv_handshake framework/imd/imd.cpp /^ int imd_recv_handshake(void *s) {$/;" f namespace:ProtoMol::IMD imd_recv_header framework/imd/imd.cpp /^ IMDType imd_recv_header(void *s, int32 *length) {$/;" f namespace:ProtoMol::IMD imd_recv_header_nolengthswap framework/imd/imd.cpp /^ IMDType imd_recv_header_nolengthswap(void *s, int32 *length) {$/;" f namespace:ProtoMol::IMD imd_recv_mdcomm framework/imd/imd.cpp /^ int imd_recv_mdcomm(void *s, int32 n, int32 *indices, float *forces) {$/;" f namespace:ProtoMol::IMD imd_send_energies framework/imd/imd.cpp /^ int imd_send_energies(void *s, const IMDEnergies *energies) {$/;" f namespace:ProtoMol::IMD imd_send_fcoords framework/imd/imd.cpp /^ int imd_send_fcoords(void *s, int32 n, const float *coords) {$/;" f namespace:ProtoMol::IMD imd_send_mdcomm framework/imd/imd.cpp /^ int imd_send_mdcomm(void *s,int32 n,const int32 *indices,const float *forces) {$/;" f namespace:ProtoMol::IMD imd_trate framework/imd/imd.cpp /^ int imd_trate(void *s, int32 rate) {$/;" f namespace:ProtoMol::IMD imd_writen framework/imd/imd.cpp /^ static int32 imd_writen(void *s, const char *ptr, int32 n) {$/;" f namespace:ProtoMol::IMD improperList framework/base/Molecule.h /^ std::vector improperList;$/;" m struct:ProtoMol::Molecule impropers applications/iSGProtomol-app/integrators/ModifierISG.h /^ std::vector impropers;$/;" m class:ProtoMol::ModifierISG impropers framework/base/PAR.h /^ std::vector impropers;$/;" m class:ProtoMol::PAR impropers framework/base/PSF.h /^ std::vector impropers;$/;" m class:ProtoMol::PSF impropers framework/base/iSGPAR.h /^ std::vector impropers;$/;" m class:ProtoMol::iSGPAR impropers framework/topology/GenericTopology.h /^ std::vector impropers;$/;" m class:ProtoMol::GenericTopology incrCoord framework/integrators/UmbrellaIntegrator.cpp /^ void UmbrellaIntegrator::incrCoord(){$/;" f class:ProtoMol::UmbrellaIntegrator index framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ int dim, const int (&index)[maxGDim],$/;" m namespace:ProtoMol file: index framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ int dim, int (&index)[maxGDim],$/;" m namespace:ProtoMol file: index framework/integrators/EquilibriumMOLLYIntegrator.h /^ void luBksb(Real (&m)[maxGDim][maxGDim], int dim, const int (&index)[maxGDim], Real (&b)[maxGDim]) const;$/;" m class:ProtoMol::EquilibriumMOLLYIntegrator index framework/integrators/EquilibriumMOLLYIntegrator.h /^ void luDcmp(Real (&m)[maxGDim][maxGDim], int dim, int (&index)[maxGDim], Real& d) const;$/;" m class:ProtoMol::EquilibriumMOLLYIntegrator index2color applications/xyzviz-app/xyzviz.cpp /^static vector index2color;$/;" v file: indexBonds applications/iSGProtomol-app/integrators/ModifierISG.cpp /^ void ModifierISG::indexBonds(GenericTopology *topo, const TRANS &trans) {$/;" f class:ProtoMol::ModifierISG inertiaMomentum framework/topology/topologyutilities.cpp /^ Matrix3by3 inertiaMomentum(const Vector3DBlock *positions, $/;" f namespace:ProtoMol init compilerTests/glutTest.cpp /^static void init(){$/;" f file: init framework/base/Value.h /^ virtual bool init() { bool tmp = ok; holder = ValueTrait::init() ; ok = ValueTrait::check(Constraint(),holder); return tmp;}$/;" f class:ProtoMol::Value::Holder init framework/base/Value.h /^ inline bool Value::init() {$/;" f class:ProtoMol::Value init framework/base/ValueType.h /^ static RepType init(){return "";}$/;" f struct:ProtoMol::ValueTraits init framework/base/ValueType.h /^ static RepType init(){return 0.0;}$/;" f struct:ProtoMol::ValueTraits init framework/base/ValueType.h /^ static RepType init(){return 0;}$/;" f struct:ProtoMol::ValueTraits init framework/base/ValueType.h /^ static RepType init(){return Vector3D(0.0,0.0,0.0);}$/;" f struct:ProtoMol::ValueTraits init framework/base/ValueType.h /^ static RepType init(){return std::vector();}$/;" f struct:ProtoMol::ValueTraits init framework/base/ValueType.h /^ static RepType init(){return true;}$/;" f struct:ProtoMol::ValueTraits init framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::init(){$/;" f class:ProtoMol::BSplineMOLLYIntegrator init framework/integrators/PaulTrapIntegrator.cpp /^ void PaulTrapIntegrator::init() {$/;" f class:ProtoMol::PaulTrapIntegrator init framework/parallel/Parallel.cpp /^ void Parallel::init(int &argc, char **&argv){$/;" f class:ProtoMol::Parallel initialize applications/iSGProtomol-app/base/iSGGrid.h /^ void iSGGrid::initialize(Real width, Real length, Real height, Real alpha,$/;" f class:ProtoMol::iSGGrid initialize applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::initialize(const RealTopologyType* realTopo, const Vector3DBlock* positions) {$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce initialize applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::initialize(const RealTopologyType* realTopo, const Vector3DBlock* positions) {$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce initialize applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ void initialize(const SemiGenericTopology* topo, $/;" f class:ProtoMol::iSGOneAtomPair initialize applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ void initialize(const SemiGenericTopology* topo, $/;" f class:ProtoMol::iSGOneAtomPairFull initialize applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ void initialize(const SemiGenericTopology* topo, $/;" f class:ProtoMol::iSGOneAtomPairTwo initialize applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ void initialize(const SemiGenericTopology* topo, $/;" f class:ProtoMol::iSGOneAtomPairTwoFull initialize applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::iSGIntegrator initialize framework/base/Array_Fastest.h /^ void initialize(const T & Init=T())$/;" f class:ProtoMol::Array initialize framework/base/Array_Fastest.h /^ void initialize(const T & Init=T())$/;" f class:ProtoMol::RefArray initialize framework/base/Array_NoPartialSpecialization.h /^ void initialize(const T & Init=T())$/;" f class:ProtoMol::Array::RefArray initialize framework/base/Array_NoPartialSpecialization.h /^ void initialize(const T & Init=T())$/;" f class:ProtoMol::Array initialize framework/base/FFTComplex.cpp /^ void FFTComplex::initialize(int x, int y, int z,zomplex* a){$/;" f class:ProtoMol::FFTComplex initialize framework/base/FFTComplex.cpp /^ void FFTInternal::initialize(int x, int y, int z,zomplex* a){$/;" f class:ProtoMol::FFTInternal initialize framework/base/Grid.h /^ void Grid::initialize(Real width, Real length, Real height, Real alpha,$/;" f class:ProtoMol::Grid initialize framework/base/MultiGrid.h /^ void MultiGrid::initialize(unsigned int n, Real s, int levels,$/;" f class:ProtoMol::MultiGrid initialize framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::initialize(const RealTopologyType* realTopo, const Vector3DBlock* positions) {$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce initialize framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::initialize(const RealTopologyType* realTopo, const Vector3DBlock* positions) {$/;" f class:ProtoMol::NonbondedMultiGridSystemForce initialize framework/forces/NonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::initialize(const RealTopologyType* realTopo, $/;" f class:ProtoMol::NonbondedPMEwaldSystemForce initialize framework/forces/OneAtomPair.h /^ void initialize(const SemiGenericTopology* topo, $/;" f class:ProtoMol::OneAtomPair initialize framework/forces/OneAtomPairFull.h /^ void initialize(const SemiGenericTopology* topo, $/;" f class:ProtoMol::OneAtomPairFull initialize framework/forces/OneAtomPairTwo.h /^ void initialize(const SemiGenericTopology* topo, $/;" f class:ProtoMol::OneAtomPairTwo initialize framework/forces/OneAtomPairTwoFull.h /^ void initialize(const SemiGenericTopology* topo, $/;" f class:ProtoMol::OneAtomPairTwoFull initialize framework/forces/OneMollyPair.h /^ void initialize(const SemiGenericTopology* topo, $/;" f class:ProtoMol::OneMollyPair initialize framework/forces/OneMollyPairTwo.h /^ void initialize(const SemiGenericTopology* topo, $/;" f class:ProtoMol::OneMollyPairTwo initialize framework/forces/PaulTrapExtendedForce.h /^ inline void PaulTrapExtendedForce::initialize(const GenericTopology* topo){ $/;" f class:ProtoMol::PaulTrapExtendedForce initialize framework/frontend/Output.cpp /^ void Output::initialize(const Configuration* config, const Integrator* integrator, const GenericTopology* topo,$/;" f class:ProtoMol::Output initialize framework/frontend/OutputCache.cpp /^ void OutputCache::initialize(const Configuration* config, const Integrator* integrator, const GenericTopology* topo,$/;" f class:ProtoMol::OutputCache initialize framework/frontend/OutputCollection.cpp /^ void OutputCollection::initialize(const Configuration* config, const Integrator* integrator, const GenericTopology* topo,$/;" f class:ProtoMol::OutputCollection initialize framework/integrators/BBKIntegrator.cpp /^ void BBKIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::BBKIntegrator initialize framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::BSplineMOLLYIntegrator initialize framework/integrators/DLMCIntegrator.cpp /^ void DLMCIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::DLMCIntegrator initialize framework/integrators/DMDLeapfrogIntegrator.cpp /^ void DMDLeapfrogIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::DMDLeapfrogIntegrator initialize framework/integrators/DihedralHMCIntegrator.cpp /^ void DihedralHMCIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::DihedralHMCIntegrator initialize framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ void EquilibriumMOLLYIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::EquilibriumMOLLYIntegrator initialize framework/integrators/HMCIntegrator.cpp /^ void HMCIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::HMCIntegrator initialize framework/integrators/ImpulseIntegrator.cpp /^ void ImpulseIntegrator::initialize(GenericTopology *topo, Vector3DBlock$/;" f class:ProtoMol::ImpulseIntegrator initialize framework/integrators/Integrator.cpp /^ void Integrator::initialize(GenericTopology *topo, $/;" f class:ProtoMol::Integrator initialize framework/integrators/LangevinImpulseIntegrator.cpp /^ void LangevinImpulseIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::LangevinImpulseIntegrator initialize framework/integrators/LeapfrogIntegrator.cpp /^ void LeapfrogIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::LeapfrogIntegrator initialize framework/integrators/MCIntegrator.cpp /^ void MCIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::MCIntegrator initialize framework/integrators/MOLLYIntegrator.cpp /^ void MOLLYIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::MOLLYIntegrator initialize framework/integrators/MTSIntegrator.cpp /^ void MTSIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::MTSIntegrator initialize framework/integrators/Modifier.h /^ inline void Modifier::initialize(GenericTopology *topo, $/;" f class:ProtoMol::Modifier initialize framework/integrators/NPTVerletIntegrator.cpp /^ void NPTVerletIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::NPTVerletIntegrator initialize framework/integrators/NVTVerletIntegrator.cpp /^ void NVTVerletIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::NVTVerletIntegrator initialize framework/integrators/NoseNVTLeapfrogIntegrator.cpp /^ void NoseNVTLeapfrogIntegrator::initialize(GenericTopology *topo, $/;" f class:ProtoMol::NoseNVTLeapfrogIntegrator initialize framework/integrators/PLeapfrogIntegrator.cpp /^ void PLeapfrogIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::PLeapfrogIntegrator initialize framework/integrators/PaulTrapIntegrator.cpp /^ void PaulTrapIntegrator::initialize(GenericTopology *topo, $/;" f class:ProtoMol::PaulTrapIntegrator initialize framework/integrators/STSIntegrator.cpp /^ void STSIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::STSIntegrator initialize framework/integrators/StandardIntegrator.cpp /^ void StandardIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::StandardIntegrator initialize framework/integrators/UmbrellaIntegrator.cpp /^ void UmbrellaIntegrator::initialize(GenericTopology *topo,$/;" f class:ProtoMol::UmbrellaIntegrator initialize framework/topology/ArrayCellListStructure.cpp /^ void ArrayCellListStructure::initialize(const Vector3D& max, Vector3D cellSize){$/;" f class:ProtoMol::ArrayCellListStructure initialize framework/topology/CellListEnumerator_periodicBoundaries.h /^ void initialize(const Topology* topo,$/;" f class:ProtoMol::CellListEnumerator initialize framework/topology/CellListEnumerator_standard.h /^ void initialize(const Topology* topo,$/;" f class:ProtoMol::CellListEnumerator initialize framework/topology/CubicCellManager.cpp /^ void CubicCellManager::initialize(CellListStructure& cellList,const Vector3D& min, const Vector3D& max, bool pbc) const{$/;" f class:ProtoMol::CubicCellManager initializeForces framework/integrators/StandardIntegrator.cpp /^ void StandardIntegrator::initializeForces() {$/;" f class:ProtoMol::StandardIntegrator initializeModifiers framework/integrators/Integrator.cpp /^ void Integrator::initializeModifiers(){$/;" f class:ProtoMol::Integrator initialized framework/parallel/Parallel.h /^ static bool initialized() {return myInitialized;}$/;" f class:ProtoMol::Parallel insertionCode framework/base/PDB.h /^ std::string insertionCode; \/\/\/< insertion_code $/;" m struct:ProtoMol::PDB::PDBAtom instance framework/frontend/Factory.h /^ static Factory& instance(){$/;" f class:ProtoMol::Factory instance framework/frontend/HelpTextFactory.cpp /^ HelpTextFactory& HelpTextFactory::instance(){$/;" f class:ProtoMol::HelpTextFactory instance framework/parallel/Parallel.cpp /^ Parallel& Parallel::instance(){$/;" f class:ProtoMol::Parallel int32 framework/imd/imd.h /^ typedef TypeSelection::Int<4>::type int32;$/;" t namespace:ProtoMol::IMD int32 framework/io/DCDTrajectoryReader.h /^ typedef TypeSelection::Int<4>::type int32;$/;" t class:ProtoMol::DCDTrajectoryReader int32 framework/io/DCDTrajectoryWriter.h /^ typedef TypeSelection::Int<4>::type int32;$/;" t class:ProtoMol::DCDTrajectoryWriter int_type framework/base/sstream_local.h /^ typedef int int_type;$/;" t class:std::stringbuf integrator framework/integrators/IntegratorDefinition.h /^ MakeableDefinition integrator;$/;" m struct:ProtoMol::IntegratorDefinition interpolateForce applications/iSGProtomol-app/base/iSGGrid.h /^ inline void iSGGrid::interpolateForce(Real q, unsigned int index, Vector3D& force){$/;" f class:ProtoMol::iSGGrid interpolateForce framework/base/Grid.h /^ inline void Grid::interpolateForce(Real q, unsigned int index, Vector3D& force){$/;" f class:ProtoMol::Grid interpolateForce framework/base/MultiGrid.h /^ inline void MultiGrid::interpolateForce(Real q, unsigned int index, Vector3D& force){$/;" f class:ProtoMol::MultiGrid intoAdd framework/base/ScalarStructure.cpp /^ ScalarStructure & ScalarStructure::intoAdd(const ScalarStructure &e) {$/;" f class:ProtoMol::ScalarStructure intoAdd framework/base/Vector3D.h /^ Vector3D &intoAdd(const Vector3D& b) {return (*this)+=b;}$/;" f class:ProtoMol::Vector3D intoAdd framework/base/Vector3DBlock.h /^ Vector3DBlock &intoAdd(const Vector3DBlock &x) { $/;" f class:ProtoMol::Vector3DBlock intoAssign framework/base/Vector3DBlock.h /^ Vector3DBlock &intoAssign(const Vector3DBlock &x) { $/;" f class:ProtoMol::Vector3DBlock intoDivide framework/base/Vector3D.h /^ Vector3D &intoDivide(Real w) {return (*this)\/=w;}$/;" f class:ProtoMol::Vector3D intoMultiply framework/base/Vector3D.h /^ Vector3D &intoMultiply(Real w) {return (*this)*=w;}$/;" f class:ProtoMol::Vector3D intoSubtract framework/base/ScalarStructure.cpp /^ ScalarStructure & ScalarStructure::intoSubtract(const ScalarStructure &e) {$/;" f class:ProtoMol::ScalarStructure intoSubtract framework/base/Vector3D.h /^ Vector3D &intoSubtract(const Vector3D& b) {return (*this)-=b;}$/;" f class:ProtoMol::Vector3D intoSubtract framework/base/Vector3DBlock.h /^ Vector3DBlock &intoSubtract(const Vector3DBlock &x) {$/;" f class:ProtoMol::Vector3DBlock intoWeighted framework/base/Vector3DBlock.h /^ Vector3DBlock &intoWeighted(Real weight, const Vector3DBlock &x) {$/;" f class:ProtoMol::Vector3DBlock intoWeightedAdd framework/base/Vector3D.h /^ Vector3D &intoWeightedAdd(Real w, const Vector3D& b) {$/;" f class:ProtoMol::Vector3D intoWeightedAdd framework/base/Vector3DBlock.h /^ Vector3DBlock &intoWeightedAdd(Real weight, const Vector3DBlock &x) {$/;" f class:ProtoMol::Vector3DBlock intoWeightedSubtract framework/base/Vector3D.h /^ Vector3D &intoWeightedSubtract(Real w, const Vector3D& b) {$/;" f class:ProtoMol::Vector3D intoWeightedSubtract framework/base/Vector3DBlock.h /^ Vector3DBlock &intoWeightedSubtract(Real weight, const Vector3DBlock &x) {$/;" f class:ProtoMol::Vector3DBlock invert framework/base/Matrix3by3.cpp /^ bool Matrix3by3::invert()$/;" f class:ProtoMol::Matrix3by3 isAccessible framework/base/systemutilities.cpp /^ bool isAccessible(const string& fileName){$/;" f namespace:ProtoMol isAccessible framework/io/File.cpp /^ bool File::isAccessible(){$/;" f class:ProtoMol::File isBCC tools/bccAnalyzer.cpp /^static bool isBCC(XYZ xyz, Real eps, Real rest, Vector3D& normal, Real& d, Real& err, Real& minimal, Real& maximal,$/;" f file: isBarrier framework/parallel/Parallel.h /^ static bool isBarrier() {return myUseBarrier;}$/;" f class:ProtoMol::Parallel isBlank framework/base/stringutilities.cpp /^ bool isBlank(const string& word){$/;" f namespace:ProtoMol isBool framework/base/stringutilities.cpp /^ bool isBool(const string& word){$/;" f namespace:ProtoMol isDynamic framework/parallel/Parallel.h /^ static bool isDynamic() {return (myMode != ParallelType::STATIC);}$/;" f class:ProtoMol::Parallel isEnabled framework/integrators/Modifier.h /^ bool isEnabled() const{return myEnable;}$/;" f class:ProtoMol::Modifier isExclusionAtom framework/topology/AngleInfo.cpp /^ bool AngleInfo::isExclusionAtom() const{$/;" f class:ProtoMol::AngleInfo isIdDefined framework/frontend/Output.cpp /^ bool Output::isIdDefined(const Configuration* config) const{$/;" f class:ProtoMol::Output isIdDefined framework/frontend/OutputScreen.cpp /^ bool OutputScreen::isIdDefined(const Configuration* config) const{$/;" f class:ProtoMol::OutputScreen isInnerAtom framework/topology/AngleInfo.cpp /^ bool AngleInfo::isInnerAtom() const {$/;" f class:ProtoMol::AngleInfo isInt framework/base/stringutilities.cpp /^ bool isInt(const string& word){$/;" f namespace:ProtoMol isInternal applications/iSGProtomol-app/integrators/ModifierISG.h /^ virtual bool isInternal() const {return false;}$/;" f class:ProtoMol::ModifierISG isInternal applications/iSGProtomol-app/integrators/iSGModifierPostForceChemostat.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::iSGModifierPostForceChemostat isInternal applications/iSGProtomol-app/integrators/iSGModifierPreForceChemostat.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::iSGModifierPreForceChemostat isInternal framework/integrators/ModifierAveraging.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::ModifierAveraging isInternal framework/integrators/ModifierFriction.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::ModifierFriction isInternal framework/integrators/ModifierIncrementTimestep.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::ModifierIncrementTimestep isInternal framework/integrators/ModifierMetaRattleShake.h /^ virtual bool isInternal() const {return false;}$/;" f class:ProtoMol::ModifierMetaRattleShake isInternal framework/integrators/ModifierMollification.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::ModifierMollification isInternal framework/integrators/ModifierPostForceBarostat.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::ModifierPostForceBarostat isInternal framework/integrators/ModifierPostForceThermostat.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::ModifierPostForceThermostat isInternal framework/integrators/ModifierPreForceBarostat.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::ModifierPreForceBarostat isInternal framework/integrators/ModifierPreForceThermostat.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::ModifierPreForceThermostat isInternal framework/integrators/ModifierRemoveAngularMomentum.h /^ virtual bool isInternal() const {return false;}$/;" f class:ProtoMol::ModifierRemoveAngularMomentum isInternal framework/integrators/ModifierRemoveLinearMomentum.h /^ virtual bool isInternal() const {return false;}$/;" f class:ProtoMol::ModifierRemoveLinearMomentum isInternal framework/integrators/ModifierUpdateBeta.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::ModifierUpdateBeta isInternal framework/integrators/ModifierUpdateBetaAndPush.h /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::ModifierUpdateBetaAndPush isInternal framework/integrators/UmbrellaIntegrator.cpp /^ virtual bool isInternal() const {return true;}$/;" f class:ProtoMol::ModifierUmbrella isKeywordCharmm19 applications/iSGProtomol-app/io/iSGPARReader.cpp /^ bool iSGPARReader::isKeywordCharmm19(const string& word){$/;" f class:ProtoMol::iSGPARReader isKeywordCharmm19 framework/io/PARReader.cpp /^ bool PARReader::isKeywordCharmm19(const string& word){$/;" f class:ProtoMol::PARReader isKeywordCharmm28 applications/iSGProtomol-app/io/iSGPARReader.cpp /^ bool iSGPARReader::isKeywordCharmm28(const string& word) {$/;" f class:ProtoMol::iSGPARReader isKeywordCharmm28 framework/io/PARReader.cpp /^ bool PARReader::isKeywordCharmm28(const string& word) {$/;" f class:ProtoMol::PARReader isLittleEndian framework/base/systemutilities.cpp /^ static bool isLittleEndian(){$/;" f struct:ProtoMol::Endian isMPI framework/parallel/Parallel.cpp /^ const bool Parallel::isMPI = false;$/;" m class:ProtoMol::Parallel file: isMPI framework/parallel/Parallel.cpp /^ const bool Parallel::isMPI = true;$/;" m class:ProtoMol::Parallel file: isMPI framework/parallel/Parallel.h /^ static const bool isMPI;$/;" m class:ProtoMol::Parallel isOrthogonal framework/topology/PeriodicBoundaryConditions.h /^ bool isOrthogonal() const {return myOrthogonal;};$/;" f class:ProtoMol::PeriodicBoundaryConditions isOrthogonal framework/topology/VacuumBoundaryConditions.h /^ bool isOrthogonal() const {return true;};$/;" f class:ProtoMol::VacuumBoundaryConditions isParallel framework/base/FFTComplex.cpp /^ bool FFTComplex::isParallel(){$/;" f class:ProtoMol::FFTComplex isParallel framework/base/TimerStatistic.h /^ static bool isParallel(void) {return myIsParallel;}$/;" f class:ProtoMol::TimerStatistic isParallel framework/parallel/Parallel.h /^ static bool isParallel() {return myIsParallel;}$/;" f class:ProtoMol::Parallel isPrintable framework/base/stringutilities.cpp /^ bool isPrintable(const string& word){$/;" f namespace:ProtoMol isReal framework/base/stringutilities.cpp /^ bool isReal(const string& word){$/;" f namespace:ProtoMol isSigma framework/base/BSpline.h /^ static bool isSigma(unsigned int order){return (BSpline(order,0.0).theta[order-1] == 0.0 && BSpline(order,0.0).dTheta[order-1] == 0.0);}$/;" f class:ProtoMol::BSpline isSigma framework/base/Lagrange.h /^ static bool isSigma(unsigned int order){return (Lagrange(order,0.0).theta[order-1] == 0.0 && Lagrange(order,0.0).dTheta[order-1] == 0.0);}$/;" f class:ProtoMol::Lagrange isSigma framework/forces/Hermite.h /^ static bool isSigma(unsigned int order){return (Hermite(order,0.0).theta[order-1] == 0.0 && Hermite(order,0.0).dTheta[order-1] == 0.0);}$/;" f class:ProtoMol::Hermite isUInt framework/base/stringutilities.cpp /^ bool isUInt(const string& word){$/;" f namespace:ProtoMol isVector framework/base/stringutilities.cpp /^ bool isVector(const string& word){$/;" f namespace:ProtoMol isVector3D framework/base/stringutilities.cpp /^ bool isVector3D(const string& word){$/;" f namespace:ProtoMol isVisited framework/topology/AngleInfo.cpp /^ bool AngleInfo::isVisited() const{$/;" f class:ProtoMol::AngleInfo isblankchar framework/base/stringutilities.cpp /^ bool isblankchar(char c){$/;" f namespace:ProtoMol isforward framework/integrators/Integrator.h /^ bool isforward() const {return myForward;}$/;" f class:ProtoMol::Integrator isgLJParms framework/topology/GenericTopology.h /^ BankLennardJonesParameterTable isgLJParms;$/;" m class:ProtoMol::GenericTopology isnan framework/base/mathutilities.h /^ inline int isnan(Real x) {$/;" f namespace:ProtoMol isprintablechar framework/base/stringutilities.cpp /^ bool isprintablechar(char c){$/;" f namespace:ProtoMol istringstream framework/base/sstream_local.h /^ istringstream(const std::string& s, int which=ios::in) :$/;" f class:std::istringstream istringstream framework/base/sstream_local.h /^ istringstream(int which=ios::in) :$/;" f class:std::istringstream istringstream framework/base/sstream_local.h /^ class istringstream : public stringstreambase, public istream {$/;" c namespace:std iterator framework/base/Array_Fastest.h /^ typedef T * iterator;$/;" t class:ProtoMol::Array iterator framework/base/Array_Fastest.h /^ typedef T * iterator;$/;" t class:ProtoMol::RefArray iterator framework/base/Array_NoPartialSpecialization.h /^ typedef T * iterator;$/;" t class:ProtoMol::Array::RefArray iterator framework/base/Array_NoPartialSpecialization.h /^ typedef T * iterator;$/;" t class:ProtoMol::Array iterator framework/base/Configuration.h /^ typedef ValueMapType::iterator iterator;$/;" t class:ProtoMol::Configuration iterator framework/frontend/HelpTextFactory.h /^ typedef HelpTextMapType::iterator iterator;$/;" t class:ProtoMol::HelpTextFactory iterator framework/frontend/OutputCollection.h /^ typedef std::list::iterator iterator;$/;" t class:ProtoMol::OutputCollection iterator framework/topology/ArrayCellListStructure.h /^ typedef TContainer::iterator iterator;$/;" t class:ProtoMol::ArrayCellListStructure j framework/topology/CellListEnumerator_periodicBoundaries.h /^ CubicCellManager::CellListStructure::const_iterator i,j,the_beginning,the_end;$/;" m class:ProtoMol::CellListEnumerator j framework/topology/CellListEnumerator_standard.h /^ CubicCellManager::CellListStructure::const_iterator i,j,the_beginning,the_end;$/;" m class:ProtoMol::CellListEnumerator k framework/base/simpleTypes.h /^ int h;int k; int l;$/;" m struct:ProtoMol::TripleInt k_ub framework/base/PAR.h /^ Real k_ub; \/\/\/< Urey-Bradley force constant$/;" m struct:ProtoMol::PAR::Angle k_ub framework/base/iSGPAR.h /^ std::vector k_ub;$/;" m struct:ProtoMol::iSGPAR::Angle kappa framework/forces/MagneticDipoleForce.h /^ Real volum, expfactor, realChi, kappa;$/;" m class:ProtoMol::MagneticDipoleForce kbT applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ const Real kbT; \/\/ Target temperature * Boltzmann's constant. Units: (kcal\/mol)$/;" m class:ProtoMol::iSGIntegrator kbT framework/integrators/NPTVerletIntegrator.h /^ const Real kbT; \/\/ Target temperature multiplied by Boltzmann's constant. Units: (kcal\/mol)$/;" m class:ProtoMol::NPTVerletIntegrator kbT framework/integrators/NVTVerletIntegrator.h /^ const Real kbT; \/\/ Target temperature multiplied by Boltzmann's constant. Units: (kcal\/mol)$/;" m class:ProtoMol::NVTVerletIntegrator kernel applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::iSGCoulombForce::C1 kernel applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::iSGCoulombForce::C2 kernel applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::iSGCoulombForce::C3 kernel applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::iSGCoulombForce::C4 kernel applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C1 kernel applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C2 kernel applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C3 kernel applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C4 kernel framework/forces/CoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::CoulombForce::C1 kernel framework/forces/CoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::CoulombForce::C2 kernel framework/forces/CoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::CoulombForce::C3 kernel framework/forces/CoulombForce.h /^ static Real kernel(Real r) {return (1.0\/r);}$/;" f class:ProtoMol::CoulombForce::C4 kernelR applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::iSGCoulombForce::C1 kernelR applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::iSGCoulombForce::C2 kernelR applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::iSGCoulombForce::C3 kernelR applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::iSGCoulombForce::C4 kernelR applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C1 kernelR applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C2 kernelR applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C3 kernelR applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C4 kernelR framework/forces/CoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::CoulombForce::C1 kernelR framework/forces/CoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::CoulombForce::C2 kernelR framework/forces/CoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::CoulombForce::C3 kernelR framework/forces/CoulombForce.h /^ static Real kernelR(Real rr) {return (rr);}$/;" f class:ProtoMol::CoulombForce::C4 keyboardCallback applications/xyzviz-app/xyzviz.cpp /^void keyboardCallback(unsigned char key, int, int){$/;" f keyword applications/iSGProtomol-app/forces/iSGAngleSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::iSGAngleSystemForceBase keyword applications/iSGProtomol-app/forces/iSGBondSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::iSGBondSystemForceBase keyword applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGCoulombEwaldRealForce keyword applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGCoulombEwaldRealTableForce keyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGCoulombForce::C1 keyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGCoulombForce::C2 keyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGCoulombForce::C3 keyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGCoulombForce::C4 keyword applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGCoulombForce keyword applications/iSGProtomol-app/forces/iSGDihedralSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::iSGDihedralSystemForceBase keyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGIdealGasCoulombForce::C1 keyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGIdealGasCoulombForce::C2 keyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGIdealGasCoulombForce::C3 keyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGIdealGasCoulombForce::C4 keyword applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGIdealGasCoulombForce keyword applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGIdealGasLennardJonesForce keyword applications/iSGProtomol-app/forces/iSGImproperSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::iSGImproperSystemForceBase keyword applications/iSGProtomol-app/forces/iSGLennardJonesForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGLennardJonesForce keyword applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::iSGLennardJonesTableForce keyword applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForceBase keyword applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForceBase keyword applications/iSGProtomol-app/frontend/OutputFinalPSF.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputFinalPSF keyword applications/iSGProtomol-app/frontend/OutputFinalXSC.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputFinalXSC keyword applications/iSGProtomol-app/frontend/OutputISGProperties.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputISGProperties keyword applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::iSGIntegrator keyword framework/base/BSpline.h /^ static const std::string keyword;$/;" m class:ProtoMol::BSpline keyword framework/base/Lagrange.h /^ static const std::string keyword;$/;" m class:ProtoMol::Lagrange keyword framework/base/Parameter.h /^ std::string keyword;$/;" m struct:ProtoMol::Parameter keyword framework/forces/AngleSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::AngleSystemForceBase keyword framework/forces/BondSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::BondSystemForceBase keyword framework/forces/CompareForce.h /^ static const std::string keyword;$/;" m class:ProtoMol::CompareForce keyword framework/forces/CoulombEwaldRealForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::CoulombEwaldRealForce keyword framework/forces/CoulombEwaldRealTableForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::CoulombEwaldRealTableForce keyword framework/forces/CoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::CoulombForce::C1 keyword framework/forces/CoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::CoulombForce::C2 keyword framework/forces/CoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::CoulombForce::C3 keyword framework/forces/CoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::CoulombForce::C4 keyword framework/forces/CoulombForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::CoulombForce keyword framework/forces/CoulombMultiGridDirectForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::CoulombMultiGridDirectForceBase keyword framework/forces/CoulombMultiGridDirectTableForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::CoulombMultiGridDirectTableForceBase keyword framework/forces/DihedralSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::DihedralSystemForceBase keyword framework/forces/ElectricFieldSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::ElectricFieldSystemForceBase keyword framework/forces/ExternalGravitationSystemForce.h /^ static const std::string keyword;$/;" m class:ProtoMol::ExternalGravitationSystemForce keyword framework/forces/ExternalMagneticFieldExtendedForce.h /^ static const std::string keyword;$/;" m class:ProtoMol::ExternalMagneticFieldExtendedForce keyword framework/forces/FrictionExtendedForce.h /^ static const std::string keyword;$/;" m class:ProtoMol::FrictionExtendedForce keyword framework/forces/GravitationForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::GravitationForce keyword framework/forces/HarmDihedralSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::HarmDihedralSystemForceBase keyword framework/forces/Hermite.h /^ static const std::string keyword;$/;" m class:ProtoMol::Hermite keyword framework/forces/ImproperSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::ImproperSystemForceBase keyword framework/forces/LennardJonesForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::LennardJonesForce keyword framework/forces/LennardJonesTableForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::LennardJonesTableForce keyword framework/forces/MagneticDipoleForce.h /^ static const std::string keyword; $/;" m class:ProtoMol::MagneticDipoleForce keyword framework/forces/MagneticDipoleMirrorSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::MagneticDipoleMirrorSystemForceBase keyword framework/forces/NonbondedCutoffForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::NonbondedCutoffForceBase keyword framework/forces/NonbondedFullEwaldSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForceBase keyword framework/forces/NonbondedFullSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::NonbondedFullSystemForceBase keyword framework/forces/NonbondedMultiGridSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::NonbondedMultiGridSystemForceBase keyword framework/forces/NonbondedPMEwaldSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForceBase keyword framework/forces/NonbondedSimpleFullSystemForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::NonbondedSimpleFullSystemForceBase keyword framework/forces/PaulTrapExtendedForceBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::PaulTrapExtendedForceBase keyword framework/forces/SphericalSystemForce.h /^ static const std::string keyword;$/;" m class:ProtoMol::SphericalSystemForce keyword framework/forces/TimeForce.h /^ static const std::string keyword;$/;" m class:ProtoMol::TimeForce keyword framework/forces/WrapperMetaForce.h /^ const std::string keyword;$/;" m class:ProtoMol::WrapperMetaForce keyword framework/frontend/OutputDCDTrajectory.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputDCDTrajectory keyword framework/frontend/OutputDiffusion.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputDiffusion keyword framework/frontend/OutputDihedrals.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputDihedrals keyword framework/frontend/OutputEnergies.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputEnergies keyword framework/frontend/OutputFinalPDBPos.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputFinalPDBPos keyword framework/frontend/OutputFinalXYZBinPos.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputFinalXYZBinPos keyword framework/frontend/OutputFinalXYZBinVel.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputFinalXYZBinVel keyword framework/frontend/OutputFinalXYZPos.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputFinalXYZPos keyword framework/frontend/OutputFinalXYZVel.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputFinalXYZVel keyword framework/frontend/OutputMomentum.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputMomentum keyword framework/frontend/OutputPDBFramePos.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputPDBFramePos keyword framework/frontend/OutputPaulTrap.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputPaulTrap keyword framework/frontend/OutputScreen.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputScreen keyword framework/frontend/OutputTemperatures.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputTemperatures keyword framework/frontend/OutputXYZTrajectoryForce.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputXYZTrajectoryForce keyword framework/frontend/OutputXYZTrajectoryPos.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputXYZTrajectoryPos keyword framework/frontend/OutputXYZTrajectoryVel.h /^ static const std::string keyword;$/;" m class:ProtoMol::OutputXYZTrajectoryVel keyword framework/imd/HapticSystemForce.h /^ static const std::string keyword;$/;" m class:ProtoMol::HapticSystemForce keyword framework/imd/HapticSystemForceBase.h /^ static const std::string keyword;$/;" m class:HapticSystemForceBase keyword framework/integrators/BBKIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::BBKIntegrator keyword framework/integrators/BSplineMOLLYIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::BSplineMOLLYIntegrator keyword framework/integrators/DLMCIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::DLMCIntegrator keyword framework/integrators/DMDLeapfrogIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::DMDLeapfrogIntegrator keyword framework/integrators/DihedralHMCIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::DihedralHMCIntegrator keyword framework/integrators/EquilibriumMOLLYIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::EquilibriumMOLLYIntegrator keyword framework/integrators/HMCIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::HMCIntegrator keyword framework/integrators/ImpulseIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::ImpulseIntegrator keyword framework/integrators/LangevinImpulseIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::LangevinImpulseIntegrator keyword framework/integrators/LeapfrogIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::LeapfrogIntegrator keyword framework/integrators/NPTVerletIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::NPTVerletIntegrator keyword framework/integrators/NVTVerletIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::NVTVerletIntegrator keyword framework/integrators/NoseNVTLeapfrogIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::NoseNVTLeapfrogIntegrator keyword framework/integrators/PLeapfrogIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::PLeapfrogIntegrator keyword framework/integrators/PaulTrapIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::PaulTrapIntegrator keyword framework/integrators/UmbrellaIntegrator.h /^ static const std::string keyword;$/;" m class:ProtoMol::UmbrellaIntegrator keyword framework/topology/C1SwitchingFunctionBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::C1SwitchingFunctionBase keyword framework/topology/C2SwitchingFunctionBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::C2SwitchingFunctionBase keyword framework/topology/ComplementSwitchingFunctionBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::ComplementSwitchingFunctionBase keyword framework/topology/CubicCellManager.h /^ static const std::string keyword;$/;" m class:ProtoMol::CubicCellManager keyword framework/topology/CutoffSwitchingFunctionBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::CutoffSwitchingFunctionBase keyword framework/topology/GenericTopology.h /^ static const std::string keyword;$/;" m class:ProtoMol::GenericTopology keyword framework/topology/PeriodicBoundaryConditions.h /^ static const std::string keyword;$/;" m class:ProtoMol::PeriodicBoundaryConditions keyword framework/topology/RangeSwitchingFunctionBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::RangeSwitchingFunctionBase keyword framework/topology/ShiftSwitchingFunctionBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::ShiftSwitchingFunctionBase keyword framework/topology/UniversalSwitchingFunctionBase.h /^ static const std::string keyword;$/;" m class:ProtoMol::UniversalSwitchingFunctionBase keyword framework/topology/VacuumBoundaryConditions.h /^ static const std::string keyword;$/;" m class:ProtoMol::VacuumBoundaryConditions keywords framework/frontend/HelpTextFactory.cpp /^ string HelpTextFactory::keywords(){$/;" f class:ProtoMol::HelpTextFactory kill framework/frontend/Factory.h /^ static void kill(){$/;" f class:ProtoMol::Factory kill framework/frontend/HelpTextFactory.cpp /^ void HelpTextFactory::kill(){$/;" f class:ProtoMol::HelpTextFactory kill framework/parallel/Parallel.cpp /^ void Parallel::kill(){$/;" f class:ProtoMol::Parallel kineticEnergy framework/frontend/OutputCache.cpp /^ Real OutputCache::kineticEnergy() const{$/;" f class:ProtoMol::OutputCache kineticEnergy framework/topology/topologyutilities.cpp /^ Real kineticEnergy(const GenericTopology* topology,$/;" f namespace:ProtoMol kineticEnergyForAtomType framework/topology/topologyutilities.cpp /^ Real kineticEnergyForAtomType(const GenericTopology* topology,$/;" f namespace:ProtoMol kineticEnergyForNonWater framework/topology/topologyutilities.cpp /^ Real kineticEnergyForNonWater(const GenericTopology* topology,$/;" f namespace:ProtoMol kineticEnergyForWater framework/topology/topologyutilities.cpp /^ Real kineticEnergyForWater(const GenericTopology* topology,$/;" f namespace:ProtoMol l framework/base/simpleTypes.h /^ int h;int k; int l;$/;" m struct:ProtoMol::TripleInt l12 framework/integrators/EquilibriumMOLLYIntegrator.h /^ Real l12; \/\/ squared rest lenght of the constrain$/;" m struct:ProtoMol::EquilibriumMOLLYIntegrator::HydrogenBond lambda framework/base/Molecule.h /^ Real lambda;$/;" m struct:ProtoMol::Molecule lambda framework/integrators/EquilibriumMOLLYIntegrator.h /^ Real lambda;\/\/ Lambda of the constraint $/;" m struct:ProtoMol::EquilibriumMOLLYIntegrator::HydrogenBond lap framework/base/Timer.cpp /^ TimeRep Timer::lap()$/;" f class:ProtoMol::Timer lattice applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ const std::vector* lattice;$/;" m class:ProtoMol::iSGOneAtomPairFull lattice applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ const std::vector* lattice;$/;" m class:ProtoMol::iSGOneAtomPairTwoFull lattice framework/forces/OneAtomPairFull.h /^ const std::vector* lattice;$/;" m class:ProtoMol::OneAtomPairFull lattice framework/forces/OneAtomPairTwoFull.h /^ const std::vector* lattice;$/;" m class:ProtoMol::OneAtomPairTwoFull len protomol_config_windows.cpp /^ int len;$/;" v len protomol_config_windows.cpp /^ socklen_t len;$/;" v length framework/imd/imd.cpp /^ int32 length;$/;" m struct:ProtoMol::IMD:: file: lennardJonesBank framework/topology/BankLennardJonesParameterTable.h /^ std::vector lennardJonesBank;$/;" m struct:ProtoMol::BankLennardJonesParameterTable lennardJonesParameters framework/topology/GenericTopology.h /^ LennardJonesParameterTable lennardJonesParameters;$/;" m class:ProtoMol::GenericTopology less framework/base/Value.cpp /^ inline bool Value::less(const Value& v1, const Value& v2){$/;" f class:ProtoMol::Value less framework/base/Value.cpp /^ inline bool Value::less(const Value&, const Value&){return false;}$/;" f class:ProtoMol::Value less framework/base/Value.cpp /^ inline bool Value::less >(const Value&, const Value&){return false;}$/;" f class:ProtoMol::Value lessEqual framework/base/Value.cpp /^ inline bool Value::lessEqual(const Value& v1, const Value& v2){$/;" f class:ProtoMol::Value lessEqual framework/base/Value.cpp /^ inline bool Value::lessEqual(const Value&, const Value&){return false;}$/;" f class:ProtoMol::Value lessEqual framework/base/Value.cpp /^ inline bool Value::lessEqual >(const Value&, const Value&){return false;}$/;" f class:ProtoMol::Value level framework/integrators/Integrator.cpp /^ int Integrator::level() const{$/;" f class:ProtoMol::Integrator lift framework/integrators/DLMCIntegrator.h /^ bool lift;$/;" m class:ProtoMol::DLMCIntegrator light_diffuse compilerTests/glutTest.cpp /^static GLfloat light_diffuse[] = {1.0, 0.0, 0.0, 1.0}; \/* Red diffuse light. *\/$/;" v file: light_position compilerTests/glutTest.cpp /^static GLfloat light_position[] = {1.0, 1.0, 1.0, 0.0}; \/* Infinite light location. *\/$/;" v file: lighting applications/xyzviz-app/xyzviz.cpp /^static bool lighting = true;$/;" v file: lineWidth applications/xyzviz-app/xyzviz.cpp /^static GLfloat lineWidth = 1.0;$/;" v file: linearMomentum framework/frontend/OutputCache.cpp /^ Vector3D OutputCache::linearMomentum() const{$/;" f class:ProtoMol::OutputCache linearMomentum framework/topology/topologyutilities.cpp /^ Vector3D linearMomentum(const Vector3DBlock *velocities, $/;" f namespace:ProtoMol listen framework/imd/IMDElf.cpp /^ int IMDElf::listen(int defport) {$/;" f class:ProtoMol::IMDElf longRangeTerm framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::longRangeTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::NonbondedMultiGridSystemForce low framework/imd/imd.cpp /^ unsigned int low : 8;$/;" m struct:ProtoMol::IMD:: file: lowDeltas framework/topology/ExclusionTable.h /^ std::vector lowDeltas;$/;" m class:ProtoMol::ExclusionTable lowercase framework/base/stringutilities.cpp /^ string lowercase (const string& word){$/;" f namespace:ProtoMol lowest framework/imd/imd.cpp /^ unsigned int lowest : 8;$/;" m struct:ProtoMol::IMD:: file: ltstrNocase framework/base/stringutilities.h /^ struct ltstrNocase {bool operator()(const std::string& s1, const std::string& s2) const;};$/;" s namespace:ProtoMol ltstrNocaseOp framework/base/stringutilities.cpp /^ bool ltstrNocaseOp (const string& s1, const string& s2){$/;" f namespace:ProtoMol m00 framework/base/Matrix3by3.h /^ Real m00, m01, m02;$/;" m class:ProtoMol::Matrix3by3 m01 framework/base/Matrix3by3.h /^ Real m00, m01, m02;$/;" m class:ProtoMol::Matrix3by3 m02 framework/base/Matrix3by3.h /^ Real m00, m01, m02;$/;" m class:ProtoMol::Matrix3by3 m10 framework/base/Matrix3by3.h /^ Real m10, m11, m12;$/;" m class:ProtoMol::Matrix3by3 m11 framework/base/Matrix3by3.h /^ Real m10, m11, m12;$/;" m class:ProtoMol::Matrix3by3 m12 framework/base/Matrix3by3.h /^ Real m10, m11, m12;$/;" m class:ProtoMol::Matrix3by3 m20 framework/base/Matrix3by3.h /^ Real m20, m21, m22;$/;" m class:ProtoMol::Matrix3by3 m21 framework/base/Matrix3by3.h /^ Real m20, m21, m22;$/;" m class:ProtoMol::Matrix3by3 m22 framework/base/Matrix3by3.h /^ Real m20, m21, m22;$/;" m class:ProtoMol::Matrix3by3 m_Dimensions framework/base/Array_Fastest.h /^ size_t m_Dimensions[1]; $/;" m class:ProtoMol::ArraySizes m_Dimensions framework/base/Array_Fastest.h /^ size_t m_Dimensions[N];$/;" m class:ProtoMol::ArraySize m_NDimensions framework/base/Array_Fastest.h /^ size_type m_NDimensions[N]; \/\/ Size of the N array dimensions$/;" m class:ProtoMol::Array m_NDimensions framework/base/Array_Fastest.h /^ size_type m_NDimensions; \/\/ Array dimension$/;" m class:ProtoMol::RefArray m_NDimensions framework/base/Array_Fastest.h /^ size_type m_NDimensions; \/\/ Array dimensions$/;" m class:ProtoMol::RefArray m_NDimensions framework/base/Array_NoPartialSpecialization.h /^ size_type m_NDimensions[N]; \/\/ Size of the N array dimensions$/;" m class:ProtoMol::Array m_SubArrayLen framework/base/Array_Fastest.h /^ size_type m_SubArrayLen[N]; \/\/ Size of each subarray$/;" m class:ProtoMol::Array m_SubArrayLen framework/base/Array_Fastest.h /^ size_type m_SubArrayLen; \/\/ SubArray dimensions$/;" m class:ProtoMol::RefArray m_SubArrayLen framework/base/Array_NoPartialSpecialization.h /^ size_type m_SubArrayLen[N]; \/\/ Size of each subarray$/;" m class:ProtoMol::Array m_TheSubArray framework/base/Array_Fastest.h /^ RefArray m_TheSubArray;\/\/ The only RefArray element used $/;" m class:ProtoMol::Array m_angle framework/topology/AngleInfo.h /^ Real m_angle;$/;" m class:ProtoMol::AngleInfo m_angleType framework/topology/AngleInfo.h /^ unsigned int m_angleType;$/;" m class:ProtoMol::AngleInfo m_atomID framework/topology/AngleInfo.h /^ unsigned int m_atomID;$/;" m class:ProtoMol::AngleInfo m_bondedAtoms framework/topology/AngleInfo.h /^ std::vector m_bondedAtoms;$/;" m class:ProtoMol::AngleInfo m_boolDummy framework/base/Array_Fastest.h /^ mutable bool m_boolDummy;$/;" m class:ProtoMol::RefArray m_elem framework/base/Stack.h /^ T *m_elem;$/;" m class:ProtoMol::Stack m_isExclusionAtom framework/topology/AngleInfo.h /^ bool m_isExclusionAtom;$/;" m class:ProtoMol::AngleInfo m_isInnerAtom framework/topology/AngleInfo.h /^ bool m_isInnerAtom;$/;" m class:ProtoMol::AngleInfo m_nArrayElements framework/base/Array_Fastest.h /^ size_type m_nArrayElements; \/\/ Total number of array elements$/;" m class:ProtoMol::Array m_nArrayElements framework/base/Array_NoPartialSpecialization.h /^ size_type m_nArrayElements; \/\/ Total number of array elements$/;" m class:ProtoMol::Array m_numElements framework/base/Stack.h /^ unsigned int m_numElements;$/;" m class:ProtoMol::Stack m_pArrayElements framework/base/Array_Fastest.h /^ T * m_pArrayElements; \/\/ Pointer to actual array elements$/;" m class:ProtoMol::Array m_pArrayElements framework/base/Array_NoPartialSpecialization.h /^ T * m_pArrayElements; \/\/ Pointer to actual array elements$/;" m class:ProtoMol::Array m_pElements framework/base/Array_Fastest.h /^ mutable T * m_pElements; \/\/ Point to SubArray with elements within Array$/;" m class:ProtoMol::RefArray m_pElements framework/base/Array_Fastest.h /^ mutable T * m_pElements; \/\/ Point to elements within Array$/;" m class:ProtoMol::RefArray m_pElements framework/base/Array_NoPartialSpecialization.h /^ T * const m_pElements; \/\/ Point to elements within Array$/;" m class:ProtoMol::Array::RefArray m_pElements framework/base/Array_NoPartialSpecialization.h /^ T * const m_pElements; \/\/ Point to SubArray with elements within Array$/;" m class:ProtoMol::Array::RefArray m_pNDimensions framework/base/Array_NoPartialSpecialization.h /^ const size_type * const m_pNDimensions; \/\/ Array dimension$/;" m class:ProtoMol::Array::RefArray m_pNDimensions framework/base/Array_NoPartialSpecialization.h /^ const size_type * const m_pNDimensions; \/\/ Array dimensions$/;" m class:ProtoMol::Array::RefArray m_pSubArrayLen framework/base/Array_NoPartialSpecialization.h /^ const size_type * const m_pSubArrayLen; \/\/ SubArray dimensions$/;" m class:ProtoMol::Array::RefArray m_pointer framework/topology/AngleInfo.h /^ unsigned int m_pointer;$/;" m class:ProtoMol::AngleInfo m_size framework/base/Stack.h /^ unsigned int m_size;$/;" m class:ProtoMol::Stack m_visited framework/topology/AngleInfo.h /^ bool m_visited;$/;" m class:ProtoMol::AngleInfo main applications/coords2coords-app/coords2coords.cpp /^int main(int argc, char **argv) {$/;" f main applications/coulomb-app/coulomb.cpp /^int main(int argc, char **argv) {$/;" f main applications/dcd2dcd-app/dcd2dcd.cpp /^int main(int argc, char **argv) {$/;" f main applications/iSGProtomol-app/iSGProtomol.cpp /^int main(int argc, char **argv) {$/;" f main applications/protomol-app/protomol.cpp /^int main(int argc, char **argv) {$/;" f main applications/xyzviz-app/xyzviz.cpp /^int main (int argc, char** argv) {$/;" f main applications/xyzviz-app/xyzviz.cpp /^int main(int argc, char **argv) {$/;" f main compilerTests/glutTest.cpp /^int main(int argc, char **argv) {$/;" f main compilerTests/pngTest.cpp /^int main(int argc, char **argv) {$/;" f main tools/bccAnalyzer.cpp /^int main(int argc, char **argv) {$/;" f main tools/imageMerger.cpp /^int main(int argc, char **argv) {$/;" f main tools/molOrientAnalyzer.cpp /^int main(int argc, char **argv) {$/;" f main tools/par2par.cpp /^int main(int argc, char **argv) {$/;" f main tools/paulTrap.cpp /^int main(int argc, char **argv) {$/;" f mainMenu applications/xyzviz-app/xyzviz.cpp /^static int mainMenu;$/;" v file: mainMenuCallback applications/xyzviz-app/xyzviz.cpp /^void mainMenuCallback(int value){$/;" f make applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.cpp /^ iSGCoulombEwaldRealForce iSGCoulombEwaldRealForce::make(std::string& , const std::vector& values) {$/;" f class:ProtoMol::iSGCoulombEwaldRealForce make applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.cpp /^ iSGCoulombEwaldRealTableForce iSGCoulombEwaldRealTableForce::make(std::string& , const std::vector& values) {$/;" f class:ProtoMol::iSGCoulombEwaldRealTableForce make applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static iSGCoulombForce make(std::string&, std::vector) {$/;" f class:ProtoMol::iSGCoulombForce make applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static iSGIdealGasCoulombForce make(std::string&, std::vector) {$/;" f class:ProtoMol::iSGIdealGasCoulombForce make applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h /^ static iSGIdealGasLennardJonesForce make(std::string& , std::vector) {$/;" f class:ProtoMol::iSGIdealGasLennardJonesForce make applications/iSGProtomol-app/forces/iSGLennardJonesForce.h /^ static iSGLennardJonesForce make(std::string& , const std::vector&) {$/;" f class:ProtoMol::iSGLennardJonesForce make applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.cpp /^ iSGLennardJonesTableForce iSGLennardJonesTableForce::make(std::string& , const std::vector& values) {$/;" f class:ProtoMol::iSGLennardJonesTableForce make applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ static iSGOneAtomPair make(std::string& errMsg, std::vector values) {$/;" f class:ProtoMol::iSGOneAtomPair make applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ static iSGOneAtomPairFull make(std::string& errMsg, std::vector values) {$/;" f class:ProtoMol::iSGOneAtomPairFull make applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ static iSGOneAtomPairTwo make(std::string& errMsg, std::vector values) {$/;" f class:ProtoMol::iSGOneAtomPairTwo make applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ static iSGOneAtomPairTwoFull make(std::string& errMsg, std::vector values) {$/;" f class:ProtoMol::iSGOneAtomPairTwoFull make framework/forces/CoulombEwaldRealForce.cpp /^ CoulombEwaldRealForce CoulombEwaldRealForce::make(std::string& , const std::vector& values) {$/;" f class:ProtoMol::CoulombEwaldRealForce make framework/forces/CoulombEwaldRealTableForce.cpp /^ CoulombEwaldRealTableForce CoulombEwaldRealTableForce::make(std::string& , const std::vector& values) {$/;" f class:ProtoMol::CoulombEwaldRealTableForce make framework/forces/CoulombForce.h /^ static CoulombForce make(std::string&, const std::vector&) {$/;" f class:ProtoMol::CoulombForce make framework/forces/CoulombMultiGridDirectForce.h /^ static CoulombMultiGridDirectForce make(std::string&, const std::vector& values){return CoulombMultiGridDirectForce(values[0]);}$/;" f class:ProtoMol::CoulombMultiGridDirectForce make framework/forces/CoulombMultiGridDirectTableForce.h /^ static CoulombMultiGridDirectTableForce make(std::string&, const std::vector& values){return CoulombMultiGridDirectTableForce(values[0],values[1]);}$/;" f class:ProtoMol::CoulombMultiGridDirectTableForce make framework/forces/Force.cpp /^ Force* Force::make(string& errMsg, const vector& values) const{$/;" f class:ProtoMol::Force make framework/forces/GravitationForce.cpp /^ GravitationForce GravitationForce::make(std::string& ,const std::vector& values) {$/;" f class:ProtoMol::GravitationForce make framework/forces/LennardJonesForce.h /^ static LennardJonesForce make(std::string& , const std::vector&) {$/;" f class:ProtoMol::LennardJonesForce make framework/forces/LennardJonesTableForce.cpp /^ LennardJonesTableForce LennardJonesTableForce::make(std::string& , const std::vector& values) {$/;" f class:ProtoMol::LennardJonesTableForce make framework/forces/MagneticDipoleForce.cpp /^ MagneticDipoleForce MagneticDipoleForce::make(string& , const vector& values) {$/;" f class:ProtoMol::MagneticDipoleForce make framework/forces/OneAtomPair.h /^ static OneAtomPair make(std::string& errMsg, std::vector values) {$/;" f class:ProtoMol::OneAtomPair make framework/forces/OneAtomPairFull.h /^ static OneAtomPairFull make(std::string& errMsg, std::vector values) {$/;" f class:ProtoMol::OneAtomPairFull make framework/forces/OneAtomPairTwo.h /^ static OneAtomPairTwo make(std::string& errMsg, std::vector values) {$/;" f class:ProtoMol::OneAtomPairTwo make framework/forces/OneAtomPairTwoFull.h /^ static OneAtomPairTwoFull make(std::string& errMsg, std::vector values) {$/;" f class:ProtoMol::OneAtomPairTwoFull make framework/forces/OneMollyPair.h /^ static OneMollyPair make(std::string& errMsg, std::vector values) {$/;" f class:ProtoMol::OneMollyPair make framework/forces/OneMollyPairTwo.h /^ static OneMollyPairTwo make(std::string& errMsg, std::vector values) {$/;" f class:ProtoMol::OneMollyPairTwo make framework/frontend/ForceFactoryDetails.cpp /^ Force* ForceFactoryDetails::make(string& errMsg, const string& id, vector values){$/;" f class:ProtoMol::ForceFactoryDetails make framework/frontend/IntegratorFactoryDetails.cpp /^ Integrator* IntegratorFactoryDetails::make(string& errMsg, const string& definition){$/;" f class:ProtoMol::IntegratorFactoryDetails make framework/frontend/Output.cpp /^ Output* Output::make(string& errMsg, const vector& values) const{$/;" f class:ProtoMol::Output make framework/frontend/OutputFactoryDetails.cpp /^ Output* OutputFactoryDetails::make(string& errMsg, const string& id, const vector& values){$/;" f class:ProtoMol::OutputFactoryDetails make framework/frontend/TopologyFactoryDetails.cpp /^ GenericTopology* TopologyFactoryDetails::make(string& errMsg, const Configuration* config){$/;" f class:ProtoMol::TopologyFactoryDetails make framework/frontend/TopologyFactoryDetails.cpp /^ GenericTopology* TopologyFactoryDetails::make(string& errMsg, const string& id, const vector& values){$/;" f class:ProtoMol::TopologyFactoryDetails make framework/integrators/MTSIntegrator.cpp /^ MTSIntegrator* MTSIntegrator::make(string& errMsg, const vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const{$/;" f class:ProtoMol::MTSIntegrator make framework/integrators/STSIntegrator.cpp /^ STSIntegrator* STSIntegrator::make(string& errMsg, const vector& values, ForceGroup* fg)const{$/;" f class:ProtoMol::STSIntegrator make framework/topology/C1SwitchingFunction.cpp /^ C1SwitchingFunction C1SwitchingFunction::make(string&, vector values) {$/;" f class:ProtoMol::C1SwitchingFunction make framework/topology/C2SwitchingFunction.cpp /^ C2SwitchingFunction C2SwitchingFunction::make(string& errMsg, vector values) {$/;" f class:ProtoMol::C2SwitchingFunction make framework/topology/ComplementSwitchingFunction.h /^ static ComplementSwitchingFunction make(std::string& errMsg,std::vector values) {$/;" f class:ProtoMol::ComplementSwitchingFunction make framework/topology/CubicCellManager.cpp /^ CubicCellManager CubicCellManager::make(string& errMsg, vector values){$/;" f class:ProtoMol::CubicCellManager make framework/topology/CutoffSwitchingFunction.cpp /^ CutoffSwitchingFunction CutoffSwitchingFunction::make(string& , vector values) {$/;" f class:ProtoMol::CutoffSwitchingFunction make framework/topology/GenericTopology.cpp /^ GenericTopology* GenericTopology::make(string& errMsg, const vector& values)const{$/;" f class:ProtoMol::GenericTopology make framework/topology/PeriodicBoundaryConditions.cpp /^ PeriodicBoundaryConditions PeriodicBoundaryConditions::make(string& errMsg, vector values){$/;" f class:ProtoMol::PeriodicBoundaryConditions make framework/topology/RangeSwitchingFunction.h /^ RangeSwitchingFunction RangeSwitchingFunction::make(std::string& errMsg,std::vector values) {$/;" f class:ProtoMol::RangeSwitchingFunction make framework/topology/ShiftSwitchingFunction.cpp /^ ShiftSwitchingFunction ShiftSwitchingFunction::make(string& , vector values) {$/;" f class:ProtoMol::ShiftSwitchingFunction make framework/topology/UniversalSwitchingFunction.h /^ static UniversalSwitchingFunction make(std::string&, std::vector) {$/;" f class:ProtoMol::UniversalSwitchingFunction make framework/topology/VacuumBoundaryConditions.cpp /^ VacuumBoundaryConditions VacuumBoundaryConditions::make(string& , vector) {$/;" f class:ProtoMol::VacuumBoundaryConditions makeCollection framework/frontend/OutputFactoryDetails.cpp /^ OutputCollection* OutputFactoryDetails::makeCollection(string& errMsg, const Configuration* config){$/;" f class:ProtoMol::OutputFactoryDetails makeCompareForce framework/forces/ExtendedForce.cpp /^ CompareForce* ExtendedForce::makeCompareForce(Force* actualForce, CompareForce* compareForce) const{$/;" f class:ProtoMol::ExtendedForce makeCompareForce framework/forces/Force.cpp /^ CompareForce* Force::makeCompareForce(Force* actualForce, CompareForce* compareForce) const{$/;" f class:ProtoMol::Force makeCompareForce framework/forces/SystemForce.cpp /^ CompareForce* SystemForce::makeCompareForce(Force* actualForce, CompareForce* compareForce) const{$/;" f class:ProtoMol::SystemForce makeTimeForce framework/forces/ExtendedForce.cpp /^ TimeForce* ExtendedForce::makeTimeForce(Force* actualForce) const{$/;" f class:ProtoMol::ExtendedForce makeTimeForce framework/forces/Force.cpp /^ TimeForce* Force::makeTimeForce(Force* actualForce) const{$/;" f class:ProtoMol::Force makeTimeForce framework/forces/SystemForce.cpp /^ TimeForce* SystemForce::makeTimeForce(Force* actualForce) const{$/;" f class:ProtoMol::SystemForce mass applications/iSGProtomol-app/base/TRANS.h /^ std::vector mass;$/;" m struct:ProtoMol::TRANS::AtomType mass framework/base/AtomType.h /^ Real mass; \/\/\/< The mass of this atom type.$/;" m struct:ProtoMol::AtomType mass framework/base/Molecule.h /^ Real mass;$/;" m struct:ProtoMol::Molecule mass framework/base/PSF.h /^ Real mass; \/\/\/< mass [amu]$/;" m struct:ProtoMol::PSF::Atom mass framework/base/iSGPAR.h /^ std::vector mass;$/;" m struct:ProtoMol::iSGPAR::AtomType mass framework/frontend/OutputCache.cpp /^ Real OutputCache::mass() const{$/;" f class:ProtoMol::OutputCache master framework/parallel/Parallel.cpp /^ static const int master = 0;$/;" m namespace:ProtoMol file: max framework/base/fft.c 31;" d file: max framework/base/mathutilities.h /^ inline T max(const T& a, const T& b, const T& c){ $/;" f namespace:ProtoMol max framework/base/mathutilities.h /^ inline T max(const T& a, const T& b, const T& c, const T& d) {$/;" f namespace:ProtoMol max framework/topology/GenericTopology.h /^ mutable Vector3D max;$/;" m class:ProtoMol::GenericTopology maxGDim framework/integrators/EquilibriumMOLLYIntegrator.h /^ enum { maxGDim=4};$/;" e enum:ProtoMol::EquilibriumMOLLYIntegrator:: maxL applications/xyzviz-app/xyzviz.cpp /^static double maxL=0;$/;" v file: mediForceModify framework/integrators/Integrator.cpp /^ void Integrator::mediForceModify(){$/;" f class:ProtoMol::Integrator mergeString framework/base/stringutilities.cpp /^ string mergeString(const vector& id){$/;" f namespace:ProtoMol metropolisTest framework/integrators/DihedralHMCIntegrator.cpp /^ bool DihedralHMCIntegrator::metropolisTest(Real newEnergy, Real oldEnergy, Real theTemperature, Real &acceptProb) {$/;" f class:ProtoMol::DihedralHMCIntegrator metropolisTest framework/integrators/MCIntegrator.cpp /^ bool MCIntegrator::metropolisTest( Real newEnergy, Real oldEnergy ) {$/;" f class:ProtoMol::MCIntegrator metropolisTest framework/integrators/MCIntegrator.cpp /^ bool MCIntegrator::metropolisTest() {$/;" f class:ProtoMol::MCIntegrator min framework/base/fft.c 28;" d file: min framework/base/mathutilities.h /^ inline T min(const T& a, const T& b, const T& c){ $/;" f namespace:ProtoMol min framework/base/mathutilities.h /^ inline T min(const T& a, const T& b, const T& c, const T& d) {$/;" f namespace:ProtoMol min framework/topology/GenericTopology.h /^ mutable Vector3D min;$/;" m class:ProtoMol::GenericTopology minimalDifference framework/topology/PeriodicBoundaryConditions.h /^ Vector3D minimalDifference(const Vector3D &c1, const Vector3D &c2) const{$/;" f class:ProtoMol::PeriodicBoundaryConditions minimalDifference framework/topology/PeriodicBoundaryConditions.h /^ Vector3D minimalDifference(const Vector3D &c1, const Vector3D &c2, Real& distSquared) const{$/;" f class:ProtoMol::PeriodicBoundaryConditions minimalDifference framework/topology/SemiGenericTopology.h /^ virtual Vector3D minimalDifference(const Vector3D &c1, const Vector3D &c2) const{ return boundaryConditions.minimalDifference(c1,c2); }$/;" f class:ProtoMol::SemiGenericTopology minimalDifference framework/topology/VacuumBoundaryConditions.h /^ Vector3D minimalDifference(const Vector3D &c1, const Vector3D &c2) const {Vector3D diff(c2); diff -= c1; return diff; }$/;" f class:ProtoMol::VacuumBoundaryConditions minimalDifference framework/topology/VacuumBoundaryConditions.h /^ Vector3D minimalDifference(const Vector3D &c1, const Vector3D &c2, Real& distSquared) const{Vector3D diff(c2); diff -= c1;distSquared = diff.normSquared(); return diff;}$/;" f class:ProtoMol::VacuumBoundaryConditions minimalImage framework/topology/SemiGenericTopology.h /^ virtual void minimalImage(Vector3DBlock& positions){$/;" f class:ProtoMol::SemiGenericTopology minimalMolecularDistances framework/topology/GenericTopology.h /^ bool minimalMolecularDistances;$/;" m class:ProtoMol::GenericTopology minimalPosition framework/topology/PeriodicBoundaryConditions.h /^ Vector3D minimalPosition(const Vector3D &c) const{$/;" f class:ProtoMol::PeriodicBoundaryConditions minimalPosition framework/topology/SemiGenericTopology.h /^ virtual Vector3D minimalPosition(const Vector3D &c) const{ return Vector3D(boundaryConditions.minimalPosition(c)); }$/;" f class:ProtoMol::SemiGenericTopology minimalPosition framework/topology/VacuumBoundaryConditions.h /^ Vector3D minimalPosition(const Vector3D &c) const {return c;}$/;" f class:ProtoMol::VacuumBoundaryConditions minimalTranslationDifference framework/topology/PeriodicBoundaryConditions.h /^ Vector3D minimalTranslationDifference(const Vector3D & c1, const Vector3D &c2) const {$/;" f class:ProtoMol::PeriodicBoundaryConditions minimalTranslationDifference framework/topology/VacuumBoundaryConditions.h /^ Vector3D minimalTranslationDifference(const Vector3D &, const Vector3D &) const {return Vector3D(0.0,0.0,0.0); }$/;" f class:ProtoMol::VacuumBoundaryConditions minimalTranslationPosition framework/topology/PeriodicBoundaryConditions.h /^ Vector3D minimalTranslationPosition(const Vector3D &c) const {$/;" f class:ProtoMol::PeriodicBoundaryConditions minimalTranslationPosition framework/topology/VacuumBoundaryConditions.h /^ Vector3D minimalTranslationPosition(const Vector3D &) const {return Vector3D(0.0,0.0,0.0); }$/;" f class:ProtoMol::VacuumBoundaryConditions mode framework/base/sstream_local.h /^ ios::open_mode mode;$/;" m class:std::stringbuf modifyForces applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::modifyForces(const vector< iSGPAR::Bond > &myBonds,$/;" f class:ProtoMol::iSGIntegrator molecularCenterOfMass framework/topology/topologyutilities.cpp /^ Vector3D molecularCenterOfMass(const vector &atomList, $/;" f namespace:ProtoMol molecularKineticEnergy framework/frontend/OutputCache.cpp /^ Real OutputCache::molecularKineticEnergy() const{$/;" f class:ProtoMol::OutputCache molecularKineticEnergy framework/topology/topologyutilities.cpp /^ Real molecularKineticEnergy(const GenericTopology* topology,$/;" f namespace:ProtoMol molecularMomentum framework/topology/topologyutilities.cpp /^ Vector3D molecularMomentum(const vector &atomList, $/;" f namespace:ProtoMol molecularPressure framework/base/ScalarStructure.h /^ inline Real ScalarStructure::molecularPressure(Real volume) const {$/;" f class:ProtoMol::ScalarStructure molecularPressure framework/frontend/OutputCache.cpp /^ Real OutputCache::molecularPressure() const{$/;" f class:ProtoMol::OutputCache molecularTemperature framework/frontend/OutputCache.cpp /^ Real OutputCache::molecularTemperature() const{$/;" f class:ProtoMol::OutputCache molecularVirial framework/base/ScalarStructure.cpp /^ bool ScalarStructure::molecularVirial(bool doMolecularVirial){$/;" f class:ProtoMol::ScalarStructure molecularVirial framework/base/ScalarStructure.h /^ bool molecularVirial() const {return myDoMolecularVirial;}$/;" f class:ProtoMol::ScalarStructure molecule framework/base/Atom.h /^ int molecule;$/;" m struct:ProtoMol::Atom molecules framework/topology/GenericTopology.h /^ std::vector molecules; $/;" m class:ProtoMol::GenericTopology mollification framework/integrators/MOLLYIntegrator.cpp /^ void MOLLYIntegrator::mollification(){$/;" f class:ProtoMol::MOLLYIntegrator momentum framework/base/Molecule.h /^ Vector3D momentum;$/;" m struct:ProtoMol::Molecule motion applications/xyzviz-app/xyzviz.cpp /^void motion(int x, int y) {$/;" f mouse applications/xyzviz-app/xyzviz.cpp /^void mouse (int button, int state, int x, int y) {$/;" f movie applications/xyzviz-app/xyzviz.cpp /^static bool movie = false;$/;" v file: moving applications/xyzviz-app/xyzviz.cpp /^static bool moving=false;$/;" v file: movingFieldOfView applications/xyzviz-app/xyzviz.cpp /^static bool movingFieldOfView=false;$/;" v file: mpiAbort framework/parallel/Parallel.cpp /^ void mpiAbort(){$/;" f namespace:ProtoMol mpiEndSerial framework/parallel/Parallel.cpp /^ void mpiEndSerial(bool exludeMaster){$/;" f namespace:ProtoMol mpiExit framework/parallel/Parallel.cpp /^ void mpiExit(){$/;" f namespace:ProtoMol mpiStartSerial framework/parallel/Parallel.cpp /^ void mpiStartSerial(bool exludeMaster){$/;" f namespace:ProtoMol multiplicity framework/base/PAR.h /^ int multiplicity; \/\/\/< multiplicity$/;" m struct:ProtoMol::PAR::Dihedral multiplicity framework/base/iSGPAR.h /^ std::vector multiplicity;$/;" m struct:ProtoMol::iSGPAR::Dihedral multiplicity framework/topology/Torsion.h /^ int multiplicity; \/\/\/< The number of terms describing the potential energy of this torsion.$/;" m class:ProtoMol::Torsion multiply framework/base/Vector3D.h /^ Vector3D multiply(Real w) const {return (*this)*w;}$/;" f class:ProtoMol::Vector3D my05Cutoff_3 framework/topology/C1SwitchingFunction.h /^ Real myCutoff, myCutoff2, myCutoff_3, my15Cutoff_1,my05Cutoff_3,my15Cutoff_3;$/;" m class:ProtoMol::C1SwitchingFunction my15Cutoff_1 framework/topology/C1SwitchingFunction.h /^ Real myCutoff, myCutoff2, myCutoff_3, my15Cutoff_1,my05Cutoff_3,my15Cutoff_3;$/;" m class:ProtoMol::C1SwitchingFunction my15Cutoff_3 framework/topology/C1SwitchingFunction.h /^ Real myCutoff, myCutoff2, myCutoff_3, my15Cutoff_1,my05Cutoff_3,my15Cutoff_3;$/;" m class:ProtoMol::C1SwitchingFunction my2AlphaPI applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h /^ Real my2AlphaPI;$/;" m class:ProtoMol::iSGCoulombEwaldRealForce my2AlphaPI applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ Real my2AlphaPI;$/;" m class:ProtoMol::iSGCoulombEwaldRealTableForce my2AlphaPI applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real my2AlphaPI;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce my2AlphaPI applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real my2AlphaPI;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce my2AlphaPI framework/forces/CoulombEwaldRealForce.h /^ Real my2AlphaPI;$/;" m class:ProtoMol::CoulombEwaldRealForce my2AlphaPI framework/forces/CoulombEwaldRealTableForce.h /^ Real my2AlphaPI;$/;" m class:ProtoMol::CoulombEwaldRealTableForce my2AlphaPI framework/forces/NonbondedFullEwaldSystemForce.h /^ Real my2AlphaPI;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce my2AlphaPI framework/forces/NonbondedPMEwaldSystemForce.h /^ Real my2AlphaPI;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce my4Cutoff_2 framework/topology/ShiftSwitchingFunction.h /^ Real my4Cutoff_2;$/;" m class:ProtoMol::ShiftSwitchingFunction myA framework/forces/ElectricFieldSystemForce.h /^ Real myA;$/;" m class:ProtoMol::ElectricFieldSystemForce myA framework/forces/PaulTrapExtendedForce.h /^ Real myA;$/;" m class:ProtoMol::PaulTrapExtendedForce myAbort framework/base/Report.h /^ bool myAbort;$/;" m class:ProtoMol::Report::MyStreamer myAbortFunction framework/base/systemutilities.cpp /^ static void (*myAbortFunction)() = NULL;$/;" m namespace:ProtoMol file: myAccuracy applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myAccuracy;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myAccuracy applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myAccuracy;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myAccuracy framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myAccuracy;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myAccuracy framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myAccuracy;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myActualForce framework/forces/CompareForce.h /^ Force* myActualForce;$/;" m class:ProtoMol::CompareForce myActualForce framework/forces/TimeForce.h /^ Force* myActualForce;$/;" m class:ProtoMol::TimeForce myAlias framework/base/Makeable.h /^ std::string myAlias;$/;" m class:ProtoMol::Makeable myAliasExemplars framework/frontend/Factory.h /^ std::map myAliasExemplars; $/;" m class:ProtoMol::FactoryBase myAliases framework/base/Configuration.h /^ AliasMapType myAliases;$/;" m class:ProtoMol::Configuration myAllNodes framework/base/Report.h /^ bool myAllNodes;$/;" m class:ProtoMol::Report::MyStreamer myAllNodesSerial framework/base/Report.h /^ bool myAllNodesSerial;$/;" m class:ProtoMol::Report::MyStreamer myAllSlavesSerial framework/base/Report.h /^ bool myAllSlavesSerial;$/;" m class:ProtoMol::Report::MyStreamer myAlpha applications/iSGProtomol-app/base/iSGGrid.h /^ Real myAlpha;$/;" m class:ProtoMol::iSGGrid myAlpha applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h /^ Real myAlpha;$/;" m class:ProtoMol::iSGCoulombEwaldRealForce myAlpha applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ Real myAlpha;$/;" m class:ProtoMol::iSGCoulombEwaldRealTableForce myAlpha applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myAlpha; \/\/ $/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myAlpha applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myAlpha; \/\/ $/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myAlpha framework/base/Grid.h /^ Real myAlpha;$/;" m class:ProtoMol::Grid myAlpha framework/forces/CoulombEwaldRealForce.h /^ Real myAlpha;$/;" m class:ProtoMol::CoulombEwaldRealForce myAlpha framework/forces/CoulombEwaldRealTableForce.h /^ Real myAlpha;$/;" m class:ProtoMol::CoulombEwaldRealTableForce myAlpha framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myAlpha; \/\/ $/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myAlpha framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myAlpha; \/\/ $/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myAlpha framework/forces/PaulTrapExtendedForce.h /^ Real myAlpha;$/;" m class:ProtoMol::PaulTrapExtendedForce myAlphaDefault applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ bool myAlphaDefault;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myAlphaDefault applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ bool myAlphaDefault;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myAlphaDefault framework/forces/NonbondedFullEwaldSystemForce.h /^ bool myAlphaDefault;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myAlphaDefault framework/forces/NonbondedPMEwaldSystemForce.h /^ bool myAlphaDefault;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myAlphaR04 framework/forces/PaulTrapExtendedForce.h /^ Real myAlphaR04;$/;" m class:ProtoMol::PaulTrapExtendedForce myAlphaSquared applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h /^ Real myAlphaSquared;$/;" m class:ProtoMol::iSGCoulombEwaldRealForce myAlphaSquared applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ Real myAlphaSquared;$/;" m class:ProtoMol::iSGCoulombEwaldRealTableForce myAlphaSquared applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myAlphaSquared;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myAlphaSquared applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myAlphaSquared;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myAlphaSquared framework/forces/CoulombEwaldRealForce.h /^ Real myAlphaSquared;$/;" m class:ProtoMol::CoulombEwaldRealForce myAlphaSquared framework/forces/CoulombEwaldRealTableForce.h /^ Real myAlphaSquared;$/;" m class:ProtoMol::CoulombEwaldRealTableForce myAlphaSquared framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myAlphaSquared;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myAlphaSquared framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myAlphaSquared;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myAlphaSquaredr applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myAlphaSquaredr;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myAlphaSquaredr applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myAlphaSquaredr;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myAlphaSquaredr framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myAlphaSquaredr;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myAlphaSquaredr framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myAlphaSquaredr;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myAngle framework/integrators/BSplineMOLLYIntegrator.h /^ bool myAngle;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myAngleFilter framework/forces/OneMollyPair.h /^ std::vector< ReducedHessAngle > *myAngleFilter;$/;" m class:ProtoMol::OneMollyPair myAngleFilter framework/forces/OneMollyPairTwo.h /^ std::vector< ReducedHessAngle > *myAngleFilter;$/;" m class:ProtoMol::OneMollyPairTwo myAngleFilter framework/integrators/BSplineMOLLYIntegrator.h /^ std::vector *myAngleFilter; $/;" m class:ProtoMol::BSplineMOLLYIntegrator myAngleIndexes framework/integrators/BSplineMOLLYIntegrator.h /^ std::vector myAngleIndexes;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myAngles framework/integrators/DihedralHMCIntegrator.h /^ std::vector< Real >* myAngles;$/;" m class:ProtoMol::DihedralHMCIntegrator myAnglesSet framework/integrators/DihedralHMCIntegrator.h /^ bool myAnglesSet; $/;" m class:ProtoMol::DihedralHMCIntegrator myAngularMomentum framework/frontend/OutputCache.h /^ mutable Vector3D myAngularMomentum;$/;" m class:ProtoMol::OutputCache myArray framework/base/FFTComplex.cpp /^ zomplex* myArray;$/;" m class:ProtoMol::FFTInternal file: myArray framework/topology/ArrayCellListStructure.h /^ TContainer myArray;$/;" m class:ProtoMol::ArrayCellListStructure myAtomCount applications/iSGProtomol-app/base/iSGGrid.h /^ unsigned int myAtomCount; \/\/ # of atoms in the system$/;" m class:ProtoMol::iSGGrid myAtomCount framework/base/Grid.h /^ unsigned int myAtomCount;$/;" m class:ProtoMol::Grid myAtomTypes framework/io/XYZTrajectoryWriter.h /^ const std::vector* myAtomTypes;$/;" m class:ProtoMol::XYZTrajectoryWriter myAtoms framework/io/PDBReader.h /^ std::vector* myAtoms;$/;" m class:ProtoMol::PDBReader myAtoms framework/io/XYZTrajectoryWriter.h /^ const std::vector* myAtoms;$/;" m class:ProtoMol::XYZTrajectoryWriter myAutofit framework/io/XFigWriter.h /^ bool myAutofit;$/;" m class:ProtoMol::XFigWriter myAvailableId framework/parallel/Parallel.cpp /^ int Parallel::myAvailableId = 0;$/;" m class:ProtoMol::Parallel file: myAvailableId framework/parallel/Parallel.h /^ static int myAvailableId; \/\/\/< Actual master-slave id, -1 for the master$/;" m class:ProtoMol::Parallel myAvailableNum framework/parallel/Parallel.cpp /^ int Parallel::myAvailableNum = 1;$/;" m class:ProtoMol::Parallel file: myAvailableNum framework/parallel/Parallel.h /^ static int myAvailableNum; \/\/\/< Available number of nodes for computation$/;" m class:ProtoMol::Parallel myAveragedPositions framework/integrators/EquilibriumMOLLYIntegrator.h /^ Vector3DBlock* myAveragedPositions;$/;" m class:ProtoMol::EquilibriumMOLLYIntegrator myAxes framework/io/XFigWriter.h /^ bool myAxes;$/;" m class:ProtoMol::XFigWriter myB framework/forces/ExternalMagneticFieldExtendedForce.h /^ Vector3D myB;$/;" m class:ProtoMol::ExternalMagneticFieldExtendedForce myB framework/integrators/BSplineMOLLYIntegrator.h /^ Vector3DBlock *myB;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myBathPosition framework/integrators/NoseNVTLeapfrogIntegrator.h /^ Real myBathPosition;$/;" m class:ProtoMol::NoseNVTLeapfrogIntegrator myBathPosition framework/integrators/PaulTrapIntegrator.h /^ Real myBathPosition;$/;" m class:ProtoMol::PaulTrapIntegrator myBathVelocity framework/integrators/PaulTrapIntegrator.h /^ Real myBathVelocity;$/;" m class:ProtoMol::PaulTrapIntegrator myBegin framework/topology/ArrayCellListStructure.h /^ iterator myBegin,myEnd;$/;" m class:ProtoMol::ArrayCellListStructure myBeginConst framework/topology/ArrayCellListStructure.h /^ const_iterator myBeginConst,myEndConst;$/;" m class:ProtoMol::ArrayCellListStructure myBlockList framework/parallel/Parallel.cpp /^ vector Parallel::myBlockList;$/;" m class:ProtoMol::Parallel file: myBlockList framework/parallel/Parallel.h /^ static std::vector myBlockList; \/\/\/< List of of the force partitioning$/;" m class:ProtoMol::Parallel myBlockSize framework/forces/NonbondedFullSystemForce.h /^ unsigned int myBlockSize;$/;" m class:ProtoMol::NonbondedFullSystemForce myBlockSize framework/forces/NonbondedSimpleFullSystemForce.h /^ unsigned int myBlockSize;$/;" m class:ProtoMol::NonbondedSimpleFullSystemForce myBlocksCorrection framework/base/MultiGrid.h /^ std::vector > myBlocksCorrection; \/\/\/< List of blocks for the correction$/;" m class:ProtoMol::MultiGrid myBond framework/integrators/BSplineMOLLYIntegrator.h /^ bool myBond;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myBrentMaxima framework/frontend/OutputCache.h /^ mutable std::vector< std::vector< Real > >* myBrentMaxima;$/;" m class:ProtoMol::OutputCache myBuffer framework/parallel/Parallel.cpp /^ int* Parallel::myBuffer = NULL;$/;" m class:ProtoMol::Parallel file: myBuffer framework/parallel/Parallel.h /^ static int* myBuffer; \/\/\/< Bsend buffer$/;" m class:ProtoMol::Parallel myBxAngle framework/integrators/BSplineMOLLYIntegrator.h /^ std::vector *myBxAngle;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myC framework/forces/ElectricFieldSystemForce.h /^ Real myC;$/;" m class:ProtoMol::ElectricFieldSystemForce myCMax framework/base/MultiGrid.h /^ Vector3D myCMax; \/\/ $/;" m class:ProtoMol::MultiGrid myCMin framework/base/MultiGrid.h /^ Vector3D myCMin; \/\/ $/;" m class:ProtoMol::MultiGrid myCache framework/frontend/Factory.h /^ mutable bool myCache;$/;" m class:ProtoMol::FactoryBase myCache framework/frontend/Output.h /^ const OutputCache* myCache; \/\/\/< Pointer to the shared cache object $/;" m class:ProtoMol::Output myCache framework/frontend/OutputCollection.h /^ OutputCache* myCache;$/;" m class:ProtoMol::OutputCollection myCacheCount framework/frontend/OutputPaulTrap.h /^ unsigned int myCacheCount;$/;" m class:ProtoMol::OutputPaulTrap myCached applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ bool myCached;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myCached applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ bool myCached;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myCached framework/forces/NonbondedFullEwaldSystemForce.h /^ bool myCached;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myCached framework/forces/NonbondedFullSystemForce.h /^ bool myCached;$/;" m class:ProtoMol::NonbondedFullSystemForce myCached framework/forces/NonbondedMultiGridSystemForce.h /^ bool myCached;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myCached framework/forces/NonbondedPMEwaldSystemForce.h /^ bool myCached;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myCached framework/forces/NonbondedSimpleFullSystemForce.h /^ bool myCached;$/;" m class:ProtoMol::NonbondedSimpleFullSystemForce myCached framework/forces/PaulTrapExtendedForce.h /^ bool myCached;$/;" m class:ProtoMol::PaulTrapExtendedForce myCached framework/imd/HapticSystemForce.h /^ bool myCached;$/;" m class:ProtoMol::HapticSystemForce myCached framework/integrators/BSplineMOLLYIntegrator.h /^ bool myCached;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myCached framework/integrators/PaulTrapIntegrator.h /^ bool myCached;$/;" m class:ProtoMol::PaulTrapIntegrator myCachedAngularMomentum framework/frontend/OutputCache.h /^ mutable bool myCachedAngularMomentum;$/;" m class:ProtoMol::OutputCache myCachedBrentMaxima framework/frontend/OutputCache.h /^ mutable bool myCachedBrentMaxima;$/;" m class:ProtoMol::OutputCache myCachedCenterOfMass framework/frontend/OutputCache.h /^ mutable bool myCachedCenterOfMass;$/;" m class:ProtoMol::OutputCache myCachedDensity framework/frontend/OutputCache.h /^ mutable bool myCachedDensity;$/;" m class:ProtoMol::OutputCache myCachedDiffusion framework/frontend/OutputCache.h /^ mutable bool myCachedDiffusion;$/;" m class:ProtoMol::OutputCache myCachedDihedralPhi framework/frontend/OutputCache.h /^ mutable int myCachedDihedralPhi;$/;" m class:ProtoMol::OutputCache myCachedDihedralPhis framework/frontend/OutputCache.h /^ mutable bool myCachedDihedralPhis;$/;" m class:ProtoMol::OutputCache myCachedKE framework/frontend/OutputCache.h /^ mutable bool myCachedKE;$/;" m class:ProtoMol::OutputCache myCachedLinearMomentum framework/frontend/OutputCache.h /^ mutable bool myCachedLinearMomentum;$/;" m class:ProtoMol::OutputCache myCachedMass framework/frontend/OutputCache.h /^ mutable bool myCachedMass;$/;" m class:ProtoMol::OutputCache myCachedMolKE framework/frontend/OutputCache.h /^ mutable bool myCachedMolKE;$/;" m class:ProtoMol::OutputCache myCachedMolP framework/frontend/OutputCache.h /^ mutable bool myCachedMolP;$/;" m class:ProtoMol::OutputCache myCachedMolT framework/frontend/OutputCache.h /^ mutable bool myCachedMolT;$/;" m class:ProtoMol::OutputCache myCachedNonWaterT framework/frontend/OutputCache.h /^ mutable bool myCachedNonWaterT;$/;" m class:ProtoMol::OutputCache myCachedP framework/frontend/OutputCache.h /^ mutable bool myCachedP;$/;" m class:ProtoMol::OutputCache myCachedPE framework/frontend/OutputCache.h /^ mutable bool myCachedPE;$/;" m class:ProtoMol::OutputCache myCachedV framework/frontend/OutputCache.h /^ mutable bool myCachedV;$/;" m class:ProtoMol::OutputCache myCachedWaterT framework/frontend/OutputCache.h /^ mutable bool myCachedWaterT;$/;" m class:ProtoMol::OutputCache myCellListStruct framework/topology/CellListEnumerator_periodicBoundaries.h /^ const CubicCellManager::CellListStructure *myCellListStruct;$/;" m class:ProtoMol::CellListEnumerator myCellListStruct framework/topology/CellListEnumerator_standard.h /^ const CubicCellManager::CellListStructure *myCellListStruct;$/;" m class:ProtoMol::CellListEnumerator myCellSize framework/topology/ArrayCellListStructure.h /^ Vector3D myCellSize;$/;" m class:ProtoMol::ArrayCellListStructure myCellSize framework/topology/CellListEnumerator_periodicBoundaries.h /^ Vector3D myCellSize; $/;" m class:ProtoMol::CellListEnumerator myCellSize framework/topology/CellListEnumerator_standard.h /^ Vector3D myCellSize; $/;" m class:ProtoMol::CellListEnumerator myCellSize framework/topology/CubicCellManager.h /^ Real myCellSize;$/;" m class:ProtoMol::CubicCellManager myCenter framework/forces/SphericalSystemForce.h /^ Vector3D myCenter;$/;" m class:ProtoMol::SphericalSystemForce myCenter framework/imd/HapticSystemForce.h /^ Vector3D myCenter;$/;" m class:ProtoMol::HapticSystemForce myCenterOfMass framework/frontend/OutputCache.h /^ mutable Vector3D myCenterOfMass;$/;" m class:ProtoMol::OutputCache myChargedSystemDeltaMu applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myChargedSystemDeltaMu;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myChargedSystemDeltaMu applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myChargedSystemDeltaMu;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myChargedSystemEnergy applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myChargedSystemEnergy;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myChargedSystemEnergy applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myChargedSystemEnergy;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myChargedSystemEnergy framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myChargedSystemEnergy;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myChargedSystemEnergy framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myChargedSystemEnergy;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myCharmmType applications/iSGProtomol-app/io/iSGPARReader.h /^ iSGPAR::CharmmTypeEnum myCharmmType;$/;" m class:ProtoMol::iSGPARReader myCharmmType framework/io/PARReader.h /^ PAR::CharmmTypeEnum myCharmmType;$/;" m class:ProtoMol::PARReader myCharmmType framework/io/PARWriter.h /^ PAR::CharmmTypeEnum myCharmmType;$/;" m class:ProtoMol::PARWriter myCharmmTypeDetected applications/iSGProtomol-app/io/iSGPARReader.h /^ iSGPAR::CharmmTypeEnum myCharmmTypeDetected;$/;" m class:ProtoMol::iSGPARReader myCharmmTypeDetected framework/io/PARReader.h /^ PAR::CharmmTypeEnum myCharmmTypeDetected;$/;" m class:ProtoMol::PARReader myChi framework/forces/MagneticDipoleForce.h /^ Real myChi, myR, myOmega, myPhi, myHx, myHy, myHz, myD;$/;" m class:ProtoMol::MagneticDipoleForce myChi framework/forces/MagneticDipoleMirrorSystemForce.h /^ Real myChi, myR, myD, myHx, myHy, myHz, myF;$/;" m class:ProtoMol::MagneticDipoleMirrorSystemForce myColor framework/io/XFigWriter.h /^ bool myColor;$/;" m class:ProtoMol::XFigWriter myComment framework/io/File.h /^ std::string myComment; \/\/ Reader has get and Writer has set method$/;" m class:ProtoMol::File myCompareForce framework/forces/CompareForce.h /^ CompareForce* myCompareForce;$/;" m class:ProtoMol::CompareForce myCompareForcename framework/forces/CompareForce.h /^ std::string myCompareForcename;$/;" m class:ProtoMol::CompareForce myConfig framework/frontend/Output.h /^ const Configuration* myConfig; $/;" m class:ProtoMol::Output myConfig framework/frontend/OutputCache.h /^ const Configuration* myConfig; $/;" m class:ProtoMol::OutputCache myConfig framework/frontend/OutputCollection.h /^ const Configuration* myConfig; $/;" m class:ProtoMol::OutputCollection myConfig framework/io/ConfigurationReader.h /^ Configuration* myConfig;$/;" m class:ProtoMol::ConfigurationReader myConfstrings framework/frontend/OutputDihedrals.h /^ std::set< std::string > myConfstrings;$/;" m class:ProtoMol::OutputDihedrals myCoords framework/io/DCDTrajectoryReader.h /^ Vector3DBlock* myCoords;$/;" m class:ProtoMol::DCDTrajectoryReader myCoords framework/io/PDBReader.h /^ Vector3DBlock* myCoords;$/;" m class:ProtoMol::PDBReader myCoords framework/io/XYZBinReader.h /^ Vector3DBlock* myCoords;$/;" m class:ProtoMol::XYZBinReader myCoords framework/io/XYZReader.h /^ Vector3DBlock* myCoords;$/;" m class:ProtoMol::XYZReader myCoords framework/io/XYZTrajectoryReader.h /^ Vector3DBlock* myCoords;$/;" m class:ProtoMol::XYZTrajectoryReader myCoords framework/io/XYZTrajectoryWriter.h /^ const Vector3DBlock* myCoords;$/;" m class:ProtoMol::XYZTrajectoryWriter myCoulomb framework/integrators/BSplineMOLLYIntegrator.h /^ bool myCoulomb;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myCount framework/base/Proxy.h /^ mutable int myCount;$/;" m class:ProtoMol::Proxy myCount framework/frontend/OutputPaulTrap.h /^ unsigned int myCount;$/;" m class:ProtoMol::OutputPaulTrap myCount framework/integrators/PaulTrapIntegrator.h /^ unsigned int myCount;$/;" m class:ProtoMol::PaulTrapIntegrator myCounter framework/forces/CompareForce.cpp /^ unsigned int CompareForce::myCounter = 0;$/;" m class:ProtoMol::CompareForce file: myCounter framework/forces/CompareForce.h /^ static unsigned int myCounter;$/;" m class:ProtoMol::CompareForce myCounter framework/forces/TimeForce.cpp /^ unsigned int TimeForce::myCounter = 0;$/;" m class:ProtoMol::TimeForce file: myCounter framework/forces/TimeForce.h /^ static unsigned int myCounter;$/;" m class:ProtoMol::TimeForce myCounterCorrection framework/base/MultiGrid.h /^ long myCounterCorrection;$/;" m class:ProtoMol::MultiGrid myCounterCorrection framework/forces/NonbondedMultiGridSystemForce.h /^ long myCounterCorrection;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myCounterDirect framework/base/MultiGrid.h /^ long myCounterDirect;$/;" m class:ProtoMol::MultiGrid myCounterDirect framework/forces/NonbondedMultiGridSystemForce.h /^ long myCounterDirect;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myCurrentSize framework/topology/LennardJonesParameterTable.h /^ int myCurrentSize;$/;" m class:ProtoMol::LennardJonesParameterTable myCutoff framework/forces/NonbondedCutoffForce.h /^ Real myCutoff;$/;" m class:ProtoMol::NonbondedCutoffForce myCutoff framework/forces/NonbondedFullSystemForce.h /^ Real myCutoff;$/;" m class:ProtoMol::NonbondedFullSystemForce myCutoff framework/topology/C1SwitchingFunction.h /^ Real myCutoff, myCutoff2, myCutoff_3, my15Cutoff_1,my05Cutoff_3,my15Cutoff_3;$/;" m class:ProtoMol::C1SwitchingFunction myCutoff framework/topology/C2SwitchingFunction.h /^ Real mySwitchon, mySwitchon2, myCutoff, myCutoff2, mySwitch1, mySwitch2, mySwitch3;$/;" m class:ProtoMol::C2SwitchingFunction myCutoff framework/topology/CellListEnumerator_periodicBoundaries.h /^ Real myCutoff;$/;" m class:ProtoMol::CellListEnumerator myCutoff framework/topology/CellListEnumerator_standard.h /^ Real myCutoff;$/;" m class:ProtoMol::CellListEnumerator myCutoff framework/topology/CutoffSwitchingFunction.h /^ Real myCutoff, myCutoff2;$/;" m class:ProtoMol::CutoffSwitchingFunction myCutoff framework/topology/ShiftSwitchingFunction.h /^ Real myCutoff;$/;" m class:ProtoMol::ShiftSwitchingFunction myCutoff2 framework/topology/C1SwitchingFunction.h /^ Real myCutoff, myCutoff2, myCutoff_3, my15Cutoff_1,my05Cutoff_3,my15Cutoff_3;$/;" m class:ProtoMol::C1SwitchingFunction myCutoff2 framework/topology/C2SwitchingFunction.h /^ Real mySwitchon, mySwitchon2, myCutoff, myCutoff2, mySwitch1, mySwitch2, mySwitch3;$/;" m class:ProtoMol::C2SwitchingFunction myCutoff2 framework/topology/CutoffSwitchingFunction.h /^ Real myCutoff, myCutoff2;$/;" m class:ProtoMol::CutoffSwitchingFunction myCutoff2 framework/topology/ShiftSwitchingFunction.h /^ Real myCutoff2;$/;" m class:ProtoMol::ShiftSwitchingFunction myCutoff_2 framework/topology/ShiftSwitchingFunction.h /^ Real myCutoff_2;$/;" m class:ProtoMol::ShiftSwitchingFunction myCutoff_3 framework/topology/C1SwitchingFunction.h /^ Real myCutoff, myCutoff2, myCutoff_3, my15Cutoff_1,my05Cutoff_3,my15Cutoff_3;$/;" m class:ProtoMol::C1SwitchingFunction myCycleLength framework/integrators/MTSIntegrator.h /^ const int myCycleLength;$/;" m class:ProtoMol::MTSIntegrator myD framework/forces/MagneticDipoleForce.h /^ Real myChi, myR, myOmega, myPhi, myHx, myHy, myHz, myD;$/;" m class:ProtoMol::MagneticDipoleForce myD framework/forces/MagneticDipoleMirrorSystemForce.h /^ Real myChi, myR, myD, myHx, myHy, myHz, myF;$/;" m class:ProtoMol::MagneticDipoleMirrorSystemForce myD framework/topology/PeriodicBoundaryConditions.h /^ Real myD; \/\/\/< maximal distance between two positions where plain subtraction if safe$/;" m class:ProtoMol::PeriodicBoundaryConditions myDCD framework/frontend/OutputDCDTrajectory.h /^ DCDTrajectoryWriter* myDCD;$/;" m class:ProtoMol::OutputDCDTrajectory myDCD framework/frontend/OutputDihedrals.h /^ DCDTrajectoryWriter* myDCD;$/;" m class:ProtoMol::OutputDihedrals myDMU_FFT applications/iSGProtomol-app/base/iSGGrid.h /^ FFTComplex myDMU_FFT; \/\/ object used to perform the FFT operations on the deltaQ (DMU_Q) grid$/;" m class:ProtoMol::iSGGrid myDMU_LastSinCos applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real* myDMU_LastSinCos;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myDMU_Q applications/iSGProtomol-app/base/iSGGrid.h /^ Array myDMU_Q; \/\/ the atomic charge difference (Qnew - Qold) distribution on a grid$/;" m class:ProtoMol::iSGGrid myDMU_QTmp applications/iSGProtomol-app/base/iSGGrid.h /^ Array myDMU_QTmp; \/\/ the atomic charge difference (Qnew - Qold) distribution on a grid$/;" m class:ProtoMol::iSGGrid myDMU_SinCos applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Vector3D* myDMU_SinCos;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myDMU_SinCosA applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real* myDMU_SinCosA;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myDMuIG applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real myDMuIG; \/\/ Ideal gas delta mu for the current stage. Units (kcal\/mol)$/;" m class:ProtoMol::iSGIntegrator myDX framework/topology/PeriodicBoundaryConditions.h /^ Real myDX;$/;" m class:ProtoMol::PeriodicBoundaryConditions myDY framework/topology/PeriodicBoundaryConditions.h /^ Real myDY;$/;" m class:ProtoMol::PeriodicBoundaryConditions myDZ framework/topology/PeriodicBoundaryConditions.h /^ Real myDZ;$/;" m class:ProtoMol::PeriodicBoundaryConditions myData framework/topology/LennardJonesParameterTable.h /^ LennardJonesParameters* myData;$/;" m class:ProtoMol::LennardJonesParameterTable myDeltaList framework/topology/CellListEnumerator_periodicBoundaries.h /^ std::vector myDeltaList;$/;" m class:ProtoMol::CellListEnumerator myDeltaList framework/topology/CellListEnumerator_standard.h /^ std::vector myDeltaList;$/;" m class:ProtoMol::CellListEnumerator myDeltaMuIG applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Array myDeltaMuIG; \/\/ matrix of ideal gas chemical potential differences. Units: (kcal\/mol)$/;" m class:ProtoMol::iSGIntegrator myDensity framework/frontend/OutputCache.h /^ mutable Real myDensity;$/;" m class:ProtoMol::OutputCache myDhmcAnSetFile framework/integrators/DihedralHMCIntegrator.h /^ std::string myDhmcAnSetFile;$/;" m class:ProtoMol::DihedralHMCIntegrator myDhmcDiSetFile framework/integrators/DihedralHMCIntegrator.h /^ std::string myDhmcDiSetFile;$/;" m class:ProtoMol::DihedralHMCIntegrator myDiffusion framework/frontend/OutputCache.h /^ mutable Real myDiffusion;$/;" m class:ProtoMol::OutputCache myDihedral framework/forces/HarmDihedralSystemForce.h /^ int myDihedral;$/;" m class:ProtoMol::HarmDihedralSystemForce myDihedralIndex framework/frontend/OutputDihedrals.h /^ int myDihedralIndex;$/;" m class:ProtoMol::OutputDihedrals myDihedralIndex framework/integrators/DihedralHMCIntegrator.h /^ int myDihedralIndex;$/;" m class:ProtoMol::DihedralHMCIntegrator myDihedralPhi framework/frontend/OutputCache.h /^ mutable Real myDihedralPhi;$/;" m class:ProtoMol::OutputCache myDihedralPhis framework/frontend/OutputCache.h /^ mutable std::vector* myDihedralPhis;$/;" m class:ProtoMol::OutputCache myDihedralReference framework/forces/HarmDihedralSystemForce.h /^ Real myDihedralReference;$/;" m class:ProtoMol::HarmDihedralSystemForce myDihedrals framework/frontend/OutputDihedrals.h /^ std::vector< int > myDihedrals;$/;" m class:ProtoMol::OutputDihedrals myDihedrals framework/integrators/DihedralHMCIntegrator.h /^ std::vector< int >* myDihedrals;$/;" m class:ProtoMol::DihedralHMCIntegrator myDihedralsSet framework/frontend/OutputDihedrals.h /^ bool myDihedralsSet;$/;" m class:ProtoMol::OutputDihedrals myDihedralsSet framework/integrators/DihedralHMCIntegrator.h /^ bool myDihedralsSet;$/;" m class:ProtoMol::DihedralHMCIntegrator myDihedralsSetfile framework/frontend/OutputDihedrals.h /^ std::string myDihedralsSetfile;$/;" m class:ProtoMol::OutputDihedrals myDim framework/base/MultiGrid.h /^ std::vector myDim; \/\/\/< Dimension of the grids$/;" m class:ProtoMol::MultiGrid myDissipativeCutoff framework/integrators/DMDLeapfrogIntegrator.h /^ Real myDissipativeCutoff;$/;" m class:ProtoMol::DMDLeapfrogIntegrator myDissipativeForces framework/integrators/DMDLeapfrogIntegrator.h /^ Vector3DBlock *myDissipativeForces;$/;" m class:ProtoMol::DMDLeapfrogIntegrator myDoHint framework/base/Report.h /^ bool myDoHint;$/;" m class:ProtoMol::Report::MyStreamer myDoMolecularTemperature applications/iSGProtomol-app/frontend/OutputISGProperties.h /^ bool myDoMolecularTemperature;$/;" m class:ProtoMol::OutputISGProperties myDoMolecularTemperature framework/frontend/OutputEnergies.h /^ bool myDoMolecularTemperature;$/;" m class:ProtoMol::OutputEnergies myDoMolecularVirial framework/base/ScalarStructure.h /^ bool myDoMolecularVirial;$/;" m class:ProtoMol::ScalarStructure myDoOutput framework/base/ScalarStructure.h /^ bool myDoOutput;$/;" m class:ProtoMol::ScalarStructure myDoPaulLow framework/frontend/OutputPaulTrap.h /^ bool myDoPaulLow;$/;" m class:ProtoMol::OutputPaulTrap myDoShadow framework/frontend/OutputEnergies.h /^ bool myDoShadow;$/;" m class:ProtoMol::OutputEnergies myDoVirial framework/base/ScalarStructure.h /^ bool myDoVirial;$/;" m class:ProtoMol::ScalarStructure myDone framework/parallel/Parallel.cpp /^ vector Parallel::myDone;$/;" m class:ProtoMol::Parallel file: myDone framework/parallel/Parallel.h /^ static std::vector myDone; \/\/\/< Master, keeps track of slave have got already their work$/;" m class:ProtoMol::Parallel myE framework/forces/ElectricFieldSystemForce.h /^ Real myE;$/;" m class:ProtoMol::ElectricFieldSystemForce myE1 framework/topology/PeriodicBoundaryConditions.h /^ Vector3D myE1;$/;" m class:ProtoMol::PeriodicBoundaryConditions myE1r framework/topology/PeriodicBoundaryConditions.h /^ Vector3D myE1r;$/;" m class:ProtoMol::PeriodicBoundaryConditions myE2 framework/topology/PeriodicBoundaryConditions.h /^ Vector3D myE2;$/;" m class:ProtoMol::PeriodicBoundaryConditions myE2r framework/topology/PeriodicBoundaryConditions.h /^ Vector3D myE2r;$/;" m class:ProtoMol::PeriodicBoundaryConditions myE3 framework/topology/PeriodicBoundaryConditions.h /^ Vector3D myE3;$/;" m class:ProtoMol::PeriodicBoundaryConditions myE3r framework/topology/PeriodicBoundaryConditions.h /^ Vector3D myE3r;$/;" m class:ProtoMol::PeriodicBoundaryConditions myERFTable applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ Real* myERFTable;$/;" m class:ProtoMol::iSGCoulombEwaldRealTableForce myEnable framework/integrators/Modifier.h /^ mutable bool myEnable;$/;" m class:ProtoMol::Modifier myEnd framework/topology/ArrayCellListStructure.h /^ iterator myBegin,myEnd;$/;" m class:ProtoMol::ArrayCellListStructure myEndConst framework/topology/ArrayCellListStructure.h /^ const_iterator myBeginConst,myEndConst;$/;" m class:ProtoMol::ArrayCellListStructure myEndSerial framework/base/systemutilities.cpp /^ static void (*myEndSerial)(bool) = NULL;$/;" m namespace:ProtoMol file: myEndTime framework/base/Cycles.h /^ ticks myEndTime;$/;" m class:ProtoMol::Cycles myEnergies framework/forces/CompareForce.h /^ ScalarStructure* myEnergies;$/;" m class:ProtoMol::CompareForce myEnergies framework/frontend/Output.h /^ const ScalarStructure* myEnergies;$/;" m class:ProtoMol::Output myEnergies framework/frontend/OutputCache.h /^ const ScalarStructure* myEnergies;$/;" m class:ProtoMol::OutputCache myEnergies framework/frontend/OutputCollection.h /^ const ScalarStructure* myEnergies;$/;" m class:ProtoMol::OutputCollection myEnergies framework/integrators/Integrator.h /^ ScalarStructure *myEnergies;$/;" m class:ProtoMol::Integrator myEnergies framework/integrators/Modifier.h /^ ScalarStructure* myEnergies;$/;" m class:ProtoMol::Modifier myEpsilon framework/integrators/ModifierMetaRattleShake.h /^ Real myEpsilon;$/;" m class:ProtoMol::ModifierMetaRattleShake myEpsilonVel applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real myEpsilonVel; \/\/ Barostat strain rate velocity. Units: (fs)^-1$/;" m class:ProtoMol::iSGIntegrator myEpsilonVel framework/integrators/NPTVerletIntegrator.h /^ Real myEpsilonVel; \/\/ Barostat strain rate velocity. Units: (fs)^-1$/;" m class:ProtoMol::NPTVerletIntegrator myErrors framework/forces/CompareForce.h /^ std::vector myErrors;$/;" m class:ProtoMol::CompareForce myEta applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real myEta; \/\/ Nose-Hoover particle thermostat variable. Units: (dimensionless)$/;" m class:ProtoMol::iSGIntegrator myEta framework/integrators/NPTVerletIntegrator.h /^ Real myEta; \/\/ Nose-Hoover particle thermostat variable. Units: (dimensionless)$/;" m class:ProtoMol::NPTVerletIntegrator myEta framework/integrators/NVTVerletIntegrator.h /^ Real myEta; \/\/ Nose-Hoover particle thermostat variable. Units: (dimensionless)$/;" m class:ProtoMol::NVTVerletIntegrator myEtaV applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real myEtaV; \/\/ Nose-Hoover volume thermostat variable. Units: (dimensionless)$/;" m class:ProtoMol::iSGIntegrator myEtaV framework/integrators/NPTVerletIntegrator.h /^ Real myEtaV; \/\/ Nose-Hoover volume thermostat variable. Units: (dimensionless)$/;" m class:ProtoMol::NPTVerletIntegrator myEtaVel applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real myEtaVel; \/\/ Velocity of the thermostat variable. Units: (fs)^-1$/;" m class:ProtoMol::iSGIntegrator myEtaVel framework/integrators/NPTVerletIntegrator.h /^ Real myEtaVel; \/\/ Velocity of the thermostat variable. Units: (fs)^-1$/;" m class:ProtoMol::NPTVerletIntegrator myEtaVel framework/integrators/NVTVerletIntegrator.h /^ Real myEtaVel; \/\/ Velocity of the thermostat variable. Units: (fs)^-1$/;" m class:ProtoMol::NVTVerletIntegrator myEtaVolVel applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real myEtaVolVel; \/\/ Velocity of the volume thermostat variable. Units: (fs)^-1$/;" m class:ProtoMol::iSGIntegrator myEtaVolVel framework/integrators/NPTVerletIntegrator.h /^ Real myEtaVolVel; \/\/ Velocity of the volume thermostat variable. Units: (fs)^-1$/;" m class:ProtoMol::NPTVerletIntegrator myExemplars framework/frontend/Factory.h /^ std::map myExemplars; $/;" m class:ProtoMol::FactoryBase myExemplars framework/frontend/HelpTextFactory.h /^ HelpTextMapType myExemplars; $/;" m class:ProtoMol::HelpTextFactory myExitFunction framework/base/systemutilities.cpp /^ static void (*myExitFunction)() = NULL;$/;" m namespace:ProtoMol file: myExpX applications/iSGProtomol-app/base/iSGGrid.h /^ Real* myExpX; \/\/ Cx(mx)$/;" m class:ProtoMol::iSGGrid myExpX framework/base/Grid.h /^ Real* myExpX;$/;" m class:ProtoMol::Grid myExpY applications/iSGProtomol-app/base/iSGGrid.h /^ Real* myExpY; \/\/ Cy(my)$/;" m class:ProtoMol::iSGGrid myExpY framework/base/Grid.h /^ Real* myExpY;$/;" m class:ProtoMol::Grid myExpZ applications/iSGProtomol-app/base/iSGGrid.h /^ Real* myExpZ; \/\/ Cz(mz)$/;" m class:ProtoMol::iSGGrid myExpZ framework/base/Grid.h /^ Real* myExpZ;$/;" m class:ProtoMol::Grid myExpansionFactor applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myExpansionFactor;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myExpansionFactor applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myExpansionFactor;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myExpansionFactor framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myExpansionFactor;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myExpansionFactor framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myExpansionFactor;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myExtendedForcesList framework/forces/ForceGroup.h /^ std::list myExtendedForcesList;$/;" m class:ProtoMol::ForceGroup myF framework/forces/FrictionExtendedForce.h /^ Real myF;$/;" m class:ProtoMol::FrictionExtendedForce myF framework/forces/MagneticDipoleMirrorSystemForce.h /^ Real myChi, myR, myD, myHx, myHy, myHz, myF;$/;" m class:ProtoMol::MagneticDipoleMirrorSystemForce myFFT applications/iSGProtomol-app/base/iSGGrid.h /^ FFTComplex myFFT; \/\/ object used to perform the FFT operations on the charge (Q) grid$/;" m class:ProtoMol::iSGGrid myFFT framework/base/Grid.h /^ FFTComplex myFFT;$/;" m class:ProtoMol::Grid myFFTCoeff framework/base/FFTComplex.cpp /^ zomplex* myFFTCoeff;$/;" m class:ProtoMol::FFTInternal file: myFFTInternal framework/base/FFTComplex.h /^ FFTInternal* myFFTInternal;$/;" m class:ProtoMol::FFTComplex myFac applications/iSGProtomol-app/base/iSGGrid.h /^ Real myFac; \/\/ (pi^2 \/ alpha^2)$/;" m class:ProtoMol::iSGGrid myFac applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ Real myFac;$/;" m class:ProtoMol::iSGCoulombEwaldRealTableForce myFac applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ Real myFac;$/;" m class:ProtoMol::iSGLennardJonesTableForce myFac applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myFac;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myFac framework/base/Grid.h /^ Real myFac;$/;" m class:ProtoMol::Grid myFac framework/forces/CoulombEwaldRealTableForce.h /^ Real myFac;$/;" m class:ProtoMol::CoulombEwaldRealTableForce myFac framework/forces/CoulombMultiGridDirectTableForce.h /^ Real myFac;$/;" m class:ProtoMol::CoulombMultiGridDirectTableForce myFac framework/forces/LennardJonesTableForce.h /^ Real myFac;$/;" m class:ProtoMol::LennardJonesTableForce myFac framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myFac;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myFactor framework/frontend/OutputPaulTrap.h /^ Real myFactor;$/;" m class:ProtoMol::OutputPaulTrap myFactor framework/frontend/OutputScreen.h /^ Real myFactor;$/;" m class:ProtoMol::OutputScreen myFile framework/frontend/OutputFile.h /^ std::ofstream myFile;$/;" m class:ProtoMol::OutputFile myFile framework/io/File.h /^ std::fstream myFile;$/;" m class:ProtoMol::File myFilename applications/iSGProtomol-app/frontend/OutputFinalPSF.h /^ std::string myFilename;$/;" m class:ProtoMol::OutputFinalPSF myFilename applications/iSGProtomol-app/frontend/OutputFinalXSC.h /^ std::string myFilename;$/;" m class:ProtoMol::OutputFinalXSC myFilename framework/frontend/InputPosVel.h /^ std::string myFilename;$/;" m class:ProtoMol::InputPosVel myFilename framework/frontend/OutputFile.h /^ std::string myFilename;$/;" m class:ProtoMol::OutputFile myFilename framework/frontend/OutputFinalPDBPos.h /^ std::string myFilename;$/;" m class:ProtoMol::OutputFinalPDBPos myFilename framework/frontend/OutputFinalXYZBinPos.h /^ std::string myFilename;$/;" m class:ProtoMol::OutputFinalXYZBinPos myFilename framework/frontend/OutputFinalXYZBinVel.h /^ std::string myFilename;$/;" m class:ProtoMol::OutputFinalXYZBinVel myFilename framework/frontend/OutputFinalXYZPos.h /^ std::string myFilename;$/;" m class:ProtoMol::OutputFinalXYZPos myFilename framework/frontend/OutputFinalXYZVel.h /^ std::string myFilename;$/;" m class:ProtoMol::OutputFinalXYZVel myFilename framework/frontend/OutputPDBFramePos.h /^ std::string myFilename;$/;" m class:ProtoMol::OutputPDBFramePos myFilename framework/io/File.h /^ std::string myFilename;$/;" m class:ProtoMol::File myFilenameLow framework/frontend/OutputPaulTrap.h /^ std::string myFilenameLow;$/;" m class:ProtoMol::OutputPaulTrap myFinalized framework/parallel/Parallel.cpp /^ bool Parallel::myFinalized = false;$/;" m class:ProtoMol::Parallel file: myFinalized framework/parallel/Parallel.h /^ static bool myFinalized; \/\/ \/ myForceTypes;$/;" m class:ProtoMol::ForceFactoryDetails myForceTypesSorted framework/frontend/ForceFactoryDetails.h /^ mutable std::map myForceTypesSorted;$/;" m class:ProtoMol::ForceFactoryDetails myForcename framework/forces/CompareForce.h /^ std::string myForcename;$/;" m class:ProtoMol::CompareForce myForcename framework/forces/TimeForce.h /^ std::string myForcename;$/;" m class:ProtoMol::TimeForce myForces framework/forces/CompareForce.h /^ Vector3DBlock* myForces;$/;" m class:ProtoMol::CompareForce myForces framework/forces/WrapperMetaForce.h /^ std::vector myForces;$/;" m class:ProtoMol::WrapperMetaForce myForces framework/integrators/Integrator.h /^ Vector3DBlock *myForces;$/;" m class:ProtoMol::Integrator myForces framework/integrators/Modifier.h /^ Vector3DBlock* myForces; $/;" m class:ProtoMol::Modifier myForcesToEvaluate framework/integrators/Integrator.h /^ ForceGroup *myForcesToEvaluate;$/;" m class:ProtoMol::Integrator myForward framework/integrators/Integrator.h /^ bool myForward;$/;" m class:ProtoMol::Integrator myFreq framework/integrators/ModifierRemoveAngularMomentum.h /^ int myFreq;$/;" m class:ProtoMol::ModifierRemoveAngularMomentum myFreq framework/integrators/ModifierRemoveLinearMomentum.h /^ int myFreq;$/;" m class:ProtoMol::ModifierRemoveLinearMomentum myFromRange framework/forces/NonbondedFullSystemForce.h /^ std::vector myFromRange;$/;" m class:ProtoMol::NonbondedFullSystemForce myFromRange framework/forces/NonbondedSimpleFullSystemForce.h /^ std::vector myFromRange;$/;" m class:ProtoMol::NonbondedSimpleFullSystemForce myFromZ framework/io/XFigWriter.h /^ Real myFromZ;$/;" m class:ProtoMol::XFigWriter myFugacityFrac applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ std::vector myFugacityFrac; \/\/ Target fugacity fraction or chemical potential. Units: (kcal\/mol)$/;" m class:ProtoMol::iSGIntegrator myG framework/forces/ExternalGravitationSystemForce.h /^ Vector3D myG;$/;" m class:ProtoMol::ExternalGravitationSystemForce myG framework/forces/GravitationForce.h /^ Real myG;$/;" m class:ProtoMol::GravitationForce myGCorrDimX framework/base/MultiGrid.h /^ int myGCorrDimX; \/\/\/< Dimensions of G_correction$/;" m class:ProtoMol::MultiGrid myGCorrDimY framework/base/MultiGrid.h /^ int myGCorrDimY;$/;" m class:ProtoMol::MultiGrid myGCorrDimZ framework/base/MultiGrid.h /^ int myGCorrDimZ;$/;" m class:ProtoMol::MultiGrid myGCorrection framework/base/MultiGrid.h /^ Array myGCorrection; \/\/\/< G_Correction for other levels, G->V $/;" m class:ProtoMol::MultiGrid myGDirect framework/base/MultiGrid.h /^ Array myGDirect; \/\/\/< G_direct for top level, G->V$/;" m class:ProtoMol::MultiGrid myGamma framework/integrators/BBKIntegrator.h /^ Real myGamma;$/;" m class:ProtoMol::BBKIntegrator myGamma framework/integrators/DMDLeapfrogIntegrator.h /^ Real myGamma;$/;" m class:ProtoMol::DMDLeapfrogIntegrator myGamma framework/integrators/LangevinImpulseIntegrator.h /^ Real myGamma;$/;" m class:ProtoMol::LangevinImpulseIntegrator myGrid framework/forces/NonbondedMultiGridSystemForce.h /^ MultiGrid myGrid;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myGrid framework/forces/NonbondedPMEwaldSystemForce.h /^ Grid myGrid;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myGridInterpolation framework/base/MultiGrid.h /^ std::vector myGridInterpolation; \/\/\/< Interpolation between grids$/;" m class:ProtoMol::MultiGrid myH framework/base/MultiGrid.h /^ Vector3D myH; \/\/ $/;" m class:ProtoMol::MultiGrid myH framework/forces/NonbondedMultiGridSystemForce.h /^ Vector3D myH;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myH framework/topology/PeriodicBoundaryConditions.h /^ Vector3D myH;$/;" m class:ProtoMol::PeriodicBoundaryConditions myH2 framework/topology/PeriodicBoundaryConditions.h /^ Vector3D myH2;$/;" m class:ProtoMol::PeriodicBoundaryConditions myHBondForces framework/integrators/BSplineMOLLYIntegrator.h /^ ForceGroup *myHBondForces;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myHKLmax applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ int myHKLmax;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myHKLmax framework/forces/NonbondedFullEwaldSystemForce.h /^ int myHKLmax;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myHX applications/iSGProtomol-app/base/iSGGrid.h /^ Real myHX; \/\/ grid point spacing in x-direction$/;" m class:ProtoMol::iSGGrid myHX framework/base/Grid.h /^ Real myHX;$/;" m class:ProtoMol::Grid myHX framework/base/MultiGrid.h /^ Real myHX; \/\/\/< h_x at level 0$/;" m class:ProtoMol::MultiGrid myHXr applications/iSGProtomol-app/base/iSGGrid.h /^ Real myHXr; \/\/ reciprocal grid point spacing in x-direction$/;" m class:ProtoMol::iSGGrid myHXr framework/base/Grid.h /^ Real myHXr;$/;" m class:ProtoMol::Grid myHXr framework/base/MultiGrid.h /^ Real myHXr; \/\/\/< 1\/h_x at level 0$/;" m class:ProtoMol::MultiGrid myHY applications/iSGProtomol-app/base/iSGGrid.h /^ Real myHY; \/\/ grid point spacing in y-direction$/;" m class:ProtoMol::iSGGrid myHY framework/base/Grid.h /^ Real myHY;$/;" m class:ProtoMol::Grid myHY framework/base/MultiGrid.h /^ Real myHY; \/\/\/< h_y at level 0$/;" m class:ProtoMol::MultiGrid myHYr applications/iSGProtomol-app/base/iSGGrid.h /^ Real myHYr; \/\/ reciprocal grid point spacing in y-direction$/;" m class:ProtoMol::iSGGrid myHYr framework/base/Grid.h /^ Real myHYr;$/;" m class:ProtoMol::Grid myHYr framework/base/MultiGrid.h /^ Real myHYr; \/\/\/< 1\/h_y at level 0$/;" m class:ProtoMol::MultiGrid myHZ applications/iSGProtomol-app/base/iSGGrid.h /^ Real myHZ; \/\/ grid point spacing in z-direction$/;" m class:ProtoMol::iSGGrid myHZ framework/base/Grid.h /^ Real myHZ;$/;" m class:ProtoMol::Grid myHZ framework/base/MultiGrid.h /^ Real myHZ; \/\/\/< h_z at level 0$/;" m class:ProtoMol::MultiGrid myHZr applications/iSGProtomol-app/base/iSGGrid.h /^ Real myHZr; \/\/ reciprocal grid point spacing in z-direction$/;" m class:ProtoMol::iSGGrid myHZr framework/base/Grid.h /^ Real myHZr;$/;" m class:ProtoMol::Grid myHZr framework/base/MultiGrid.h /^ Real myHZr; \/\/\/< 1\/h_z at level 0$/;" m class:ProtoMol::MultiGrid myHapticForces framework/imd/HapticSystemForce.h /^ Vector3DBlock* myHapticForces;$/;" m class:ProtoMol::HapticSystemForce myHeight applications/iSGProtomol-app/base/iSGGrid.h /^ Real myHeight; \/\/ cell basis vector$/;" m class:ProtoMol::iSGGrid myHeight framework/base/Grid.h /^ Real myHeight;$/;" m class:ProtoMol::Grid myHeightr applications/iSGProtomol-app/base/iSGGrid.h /^ Real myHeightr; \/\/ reciprocal cell basis vector$/;" m class:ProtoMol::iSGGrid myHeightr framework/base/Grid.h /^ Real myHeightr;$/;" m class:ProtoMol::Grid myHmax applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ int myHmax;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myHmax framework/forces/NonbondedFullEwaldSystemForce.h /^ int myHmax;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myHx framework/forces/MagneticDipoleForce.h /^ Real myChi, myR, myOmega, myPhi, myHx, myHy, myHz, myD;$/;" m class:ProtoMol::MagneticDipoleForce myHx framework/forces/MagneticDipoleMirrorSystemForce.h /^ Real myChi, myR, myD, myHx, myHy, myHz, myF;$/;" m class:ProtoMol::MagneticDipoleMirrorSystemForce myHy framework/forces/MagneticDipoleForce.h /^ Real myChi, myR, myOmega, myPhi, myHx, myHy, myHz, myD;$/;" m class:ProtoMol::MagneticDipoleForce myHy framework/forces/MagneticDipoleMirrorSystemForce.h /^ Real myChi, myR, myD, myHx, myHy, myHz, myF;$/;" m class:ProtoMol::MagneticDipoleMirrorSystemForce myHydrogenAtomGroups framework/integrators/EquilibriumMOLLYIntegrator.h /^ std::vector > myHydrogenAtomGroups;$/;" m class:ProtoMol::EquilibriumMOLLYIntegrator myHydrogenConstraintGroups framework/integrators/EquilibriumMOLLYIntegrator.h /^ std::vector > myHydrogenConstraintGroups;$/;" m class:ProtoMol::EquilibriumMOLLYIntegrator myHz framework/forces/MagneticDipoleForce.h /^ Real myChi, myR, myOmega, myPhi, myHx, myHy, myHz, myD;$/;" m class:ProtoMol::MagneticDipoleForce myHz framework/forces/MagneticDipoleMirrorSystemForce.h /^ Real myChi, myR, myD, myHx, myHy, myHz, myF;$/;" m class:ProtoMol::MagneticDipoleMirrorSystemForce myI framework/parallel/Parallel.cpp /^ int Parallel::myI;$/;" m class:ProtoMol::Parallel file: myI framework/parallel/Parallel.h /^ static int myI; \/\/\/< Index of the actual work package (only master)$/;" m class:ProtoMol::Parallel myIAmMaster framework/base/Report.h /^ bool myIAmMaster;$/;" m class:ProtoMol::Report::MyStreamer myIAmMaster framework/parallel/Parallel.cpp /^ bool Parallel::myIAmMaster = true;$/;" m class:ProtoMol::Parallel file: myIAmMaster framework/parallel/Parallel.h /^ static bool myIAmMaster; \/\/\/< If this node is master$/;" m class:ProtoMol::Parallel myIAmSlave framework/parallel/Parallel.cpp /^ bool Parallel::myIAmSlave = true;$/;" m class:ProtoMol::Parallel file: myIAmSlave framework/parallel/Parallel.h /^ static bool myIAmSlave; \/\/\/< If this node is slave\/worker$/;" m class:ProtoMol::Parallel myIMDElf framework/imd/HapticSystemForce.h /^ IMDElf* myIMDElf;$/;" m class:ProtoMol::HapticSystemForce myISGGrid applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ iSGGrid myISGGrid; \/\/ object which computes the FFT's$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myId framework/parallel/Parallel.cpp /^ int Parallel::myId = 0;$/;" m class:ProtoMol::Parallel file: myId framework/parallel/Parallel.h /^ static int myId; \/\/\/< Actual id of the node, [0,1,...,N-1]$/;" m class:ProtoMol::Parallel myIdNumber framework/forces/CompareForce.h /^ unsigned int myIdNumber;$/;" m class:ProtoMol::CompareForce myIdNumber framework/forces/TimeForce.h /^ unsigned int myIdNumber;$/;" m class:ProtoMol::TimeForce myInerpolationModX applications/iSGProtomol-app/base/iSGGrid.h /^ Real* myInerpolationModX; \/\/ bx(mx)$/;" m class:ProtoMol::iSGGrid myInerpolationModX framework/base/Grid.h /^ Real* myInerpolationModX;$/;" m class:ProtoMol::Grid myInerpolationModY applications/iSGProtomol-app/base/iSGGrid.h /^ Real* myInerpolationModY; \/\/ by(my)$/;" m class:ProtoMol::iSGGrid myInerpolationModY framework/base/Grid.h /^ Real* myInerpolationModY;$/;" m class:ProtoMol::Grid myInerpolationModZ applications/iSGProtomol-app/base/iSGGrid.h /^ Real* myInerpolationModZ; \/\/ bz(mz)$/;" m class:ProtoMol::iSGGrid myInerpolationModZ framework/base/Grid.h /^ Real* myInerpolationModZ;$/;" m class:ProtoMol::Grid myInitialPositions framework/frontend/OutputCache.h /^ Vector3DBlock* myInitialPositions;$/;" m class:ProtoMol::OutputCache myInitialTemperature framework/integrators/DihedralHMCIntegrator.h /^ Real myInitialTemperature;$/;" m class:ProtoMol::DihedralHMCIntegrator myInitialTemperature framework/integrators/MCIntegrator.h /^ Real myInitialTemperature;$/;" m class:ProtoMol::MCIntegrator myInitialized framework/parallel/Parallel.cpp /^ bool Parallel::myInitialized = false;$/;" m class:ProtoMol::Parallel file: myInitialized framework/parallel/Parallel.h /^ static bool myInitialized; \/\/\/< If Parallel is initialized$/;" m class:ProtoMol::Parallel myIntegrator framework/frontend/Output.h /^ const Integrator* myIntegrator;$/;" m class:ProtoMol::Output myIntegrator framework/frontend/OutputCache.h /^ const Integrator* myIntegrator;$/;" m class:ProtoMol::OutputCache myIntegrator framework/frontend/OutputCollection.h /^ const Integrator* myIntegrator;$/;" m class:ProtoMol::OutputCollection myInterOrder applications/iSGProtomol-app/base/iSGGrid.h /^ unsigned int myInterOrder;$/;" m class:ProtoMol::iSGGrid myInterOrder applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ unsigned int myInterOrder; \/\/ order of the B-spline interpolation$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myInterOrder framework/base/BSpline.h /^ unsigned int myInterOrder;$/;" m class:ProtoMol::BSpline myInterOrder framework/base/Grid.h /^ unsigned int myInterOrder;$/;" m class:ProtoMol::Grid myInterOrder framework/base/Lagrange.h /^ unsigned int myInterOrder;$/;" m class:ProtoMol::Lagrange myInterOrder framework/base/MultiGrid.h /^ int myInterOrder; \/\/\/< Interpolation order$/;" m class:ProtoMol::MultiGrid myInterOrder framework/forces/Hermite.h /^ unsigned int myInterOrder;$/;" m class:ProtoMol::Hermite myInterOrder framework/forces/NonbondedMultiGridSystemForce.h /^ unsigned int myInterOrder;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myInterOrder framework/forces/NonbondedPMEwaldSystemForce.h /^ unsigned int myInterOrder;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myInterpolations applications/iSGProtomol-app/base/iSGGrid.h /^ std::vector myInterpolations;$/;" m class:ProtoMol::iSGGrid myInterpolations framework/base/Grid.h /^ std::vector myInterpolations;$/;" m class:ProtoMol::Grid myInterpolations framework/base/MultiGrid.h /^ std::vector myInterpolations; \/\/\/< Interpolation weights for each particle $/;" m class:ProtoMol::MultiGrid myIntra applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Timer myIntra;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myIntra applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Timer myIntra;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myIntra framework/forces/NonbondedFullEwaldSystemForce.h /^ Timer myIntra;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myIntra framework/forces/NonbondedPMEwaldSystemForce.h /^ Timer myIntra;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myIsLittleEndian framework/io/DCDTrajectoryWriter.h /^ bool myIsLittleEndian;$/;" m class:ProtoMol::DCDTrajectoryWriter myIsLittleEndian framework/io/XYZBinWriter.h /^ bool myIsLittleEndian;$/;" m class:ProtoMol::XYZBinWriter myIsParallel framework/base/TimerStatistic.cpp /^ bool TimerStatistic::myIsParallel = false;$/;" m class:ProtoMol::TimerStatistic file: myIsParallel framework/base/TimerStatistic.h /^ static bool myIsParallel;$/;" m class:ProtoMol::TimerStatistic myIsParallel framework/parallel/Parallel.cpp /^ bool Parallel::myIsParallel = Parallel::isMPI;$/;" m class:ProtoMol::Parallel file: myIsParallel framework/parallel/Parallel.h /^ static bool myIsParallel; \/\/\/< If environment has more that 1 node$/;" m class:ProtoMol::Parallel myJ framework/forces/SphericalSystemForce.h /^ int myJ;$/;" m class:ProtoMol::SphericalSystemForce myK applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ std::vector myK; \/\/ Reciprocal lattice vector (h*2PI\/Lx,k*2PI\/Ly,l*2PI\/Lz)$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myK framework/forces/NonbondedFullEwaldSystemForce.h /^ std::vector myK; \/\/ Reciprocal lattice vector (h*2PI\/Lx,k*2PI\/Ly,l*2PI\/Lz)$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myK framework/forces/PaulTrapExtendedForce.h /^ Vector3D myK;$/;" m class:ProtoMol::PaulTrapExtendedForce myK framework/forces/SphericalSystemForce.h /^ Real myK;$/;" m class:ProtoMol::SphericalSystemForce myKE framework/frontend/OutputCache.h /^ mutable Real myKE;$/;" m class:ProtoMol::OutputCache myKInt applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ std::vector myKInt; \/\/ Reciprocal lattice vector (h,k,l)$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myKInt framework/forces/NonbondedFullEwaldSystemForce.h /^ std::vector myKInt; \/\/ Reciprocal lattice vector (h,k,l)$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myKSquared applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ std::vector myKSquared; \/\/ Squared norm of the reciprocal lattice vector$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myKSquared framework/forces/NonbondedFullEwaldSystemForce.h /^ std::vector myKSquared; \/\/ Squared norm of the reciprocal lattice vector$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myKc applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myKc; \/\/ Cutoff reciprocal term$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myKc applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myKc; \/\/ Cutoff reciprocal term$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myKc framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myKc; \/\/ Cutoff reciprocal term$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myKc framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myKc; \/\/ Cutoff reciprocal term$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myKeep framework/integrators/PaulTrapIntegrator.h /^ std::vector myKeep;$/;" m class:ProtoMol::PaulTrapIntegrator myKmax applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ int myKmax;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myKmax framework/forces/NonbondedFullEwaldSystemForce.h /^ int myKmax;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myLX applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myLX, myLY, myLZ;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myLX applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myLX, myLY, myLZ; \/\/ cell basis vectors$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myLX framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myLX, myLY, myLZ;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myLX framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myLX, myLY, myLZ;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myLXr applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myLXr applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr; \/\/ reciprocal cell basis vectors$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myLXr framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myLXr framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myLY applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myLX, myLY, myLZ;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myLY applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myLX, myLY, myLZ; \/\/ cell basis vectors$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myLY framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myLX, myLY, myLZ;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myLY framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myLX, myLY, myLZ;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myLYr applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myLYr applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr; \/\/ reciprocal cell basis vectors$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myLYr framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myLYr framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myLZ applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myLX, myLY, myLZ;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myLZ applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myLX, myLY, myLZ; \/\/ cell basis vectors$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myLZ framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myLX, myLY, myLZ;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myLZ framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myLX, myLY, myLZ;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myLZr applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myLZr applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr; \/\/ reciprocal cell basis vectors$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myLZr framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myLZr framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myLXr,myLYr,myLZr;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myLambda applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real myLambda; \/\/ the chemostat variable. Units: (dimensionless)$/;" m class:ProtoMol::iSGIntegrator myLambdaVel applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real myLambdaVel; \/\/ Velocity of the chemostat variable. Units: (fs)^-1$/;" m class:ProtoMol::iSGIntegrator myLangevinTemperature framework/integrators/BBKIntegrator.h /^ Real myLangevinTemperature;$/;" m class:ProtoMol::BBKIntegrator myLangevinTemperature framework/integrators/LangevinImpulseIntegrator.h /^ Real myLangevinTemperature;$/;" m class:ProtoMol::LangevinImpulseIntegrator myLapTime framework/base/Timer.h /^ TimeRep myLapTime;$/;" m class:ProtoMol::Timer myLastCompareForce framework/frontend/ForceFactoryDetails.h /^ mutable CompareForce* myLastCompareForce;$/;" m class:ProtoMol::ForceFactoryDetails myLastLapTime framework/base/Timer.h /^ TimeRep myLastLapTime;$/;" m class:ProtoMol::Timer myLastPositions framework/integrators/ModifierMetaRattleShake.h /^ Vector3DBlock myLastPositions;$/;" m class:ProtoMol::ModifierMetaRattleShake myLastSinCos applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real* myLastSinCos;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myLastSinCos framework/forces/NonbondedFullEwaldSystemForce.h /^ Real* myLastSinCos;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myLastStep framework/frontend/Output.h /^ int myLastStep;$/;" m class:ProtoMol::Output myLattice applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ std::vector myLattice;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myLattice applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ std::vector myLattice;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myLattice framework/forces/NonbondedFullEwaldSystemForce.h /^ std::vector myLattice;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myLattice framework/forces/NonbondedFullSystemForce.h /^ std::vector myLattice;$/;" m class:ProtoMol::NonbondedFullSystemForce myLattice framework/forces/NonbondedPMEwaldSystemForce.h /^ std::vector myLattice;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myLayer framework/integrators/PaulTrapIntegrator.h /^ std::vector > myLayer;$/;" m class:ProtoMol::PaulTrapIntegrator myLegend framework/io/XFigWriter.h /^ bool myLegend;$/;" m class:ProtoMol::XFigWriter myLength applications/iSGProtomol-app/base/iSGGrid.h /^ Real myLength; \/\/ cell basis vector $/;" m class:ProtoMol::iSGGrid myLength framework/base/Grid.h /^ Real myLength;$/;" m class:ProtoMol::Grid myLengthr applications/iSGProtomol-app/base/iSGGrid.h /^ Real myLengthr; \/\/ reciprocal cell basis vector$/;" m class:ProtoMol::iSGGrid myLengthr framework/base/Grid.h /^ Real myLengthr;$/;" m class:ProtoMol::Grid myLennardJones framework/integrators/BSplineMOLLYIntegrator.h /^ bool myLennardJones;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myLevel framework/base/Report.h /^ short myLevel;$/;" m class:ProtoMol::Report::MyStreamer myLevel framework/base/Report.h /^ short myLevel;$/;" m class:ProtoMol::Report::debug myLevels framework/base/MultiGrid.h /^ int myLevels; \/\/\/< Number of levels, 0,1,2,...,myLevels-1$/;" m class:ProtoMol::MultiGrid myLevels framework/forces/NonbondedMultiGridSystemForce.h /^ int myLevels;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myLinearMomentum framework/frontend/OutputCache.h /^ mutable Vector3D myLinearMomentum;$/;" m class:ProtoMol::OutputCache myListModifiers framework/integrators/Integrator.h /^ std::set myListModifiers;$/;" m class:ProtoMol::Integrator myListOfConstraints framework/integrators/ModifierMetaRattleShake.h /^ const std::vector* myListOfConstraints;$/;" m class:ProtoMol::ModifierMetaRattleShake myLmax applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ int myLmax;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myLmax framework/forces/NonbondedFullEwaldSystemForce.h /^ int myLmax;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myLowComment framework/frontend/OutputPaulTrap.h /^ std::string myLowComment;$/;" m class:ProtoMol::OutputPaulTrap myLowOut framework/frontend/OutputPaulTrap.h /^ std::string myLowOut;$/;" m class:ProtoMol::OutputPaulTrap myLowXYZ framework/frontend/OutputPaulTrap.h /^ Vector3DBlock myLowXYZ;$/;" m class:ProtoMol::OutputPaulTrap myMOLLYEnergies framework/integrators/BSplineMOLLYIntegrator.h /^ ScalarStructure *myMOLLYEnergies;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myMOLLYForces framework/integrators/BSplineMOLLYIntegrator.h /^ Vector3DBlock *myMOLLYForces;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myMOLLYForcesBonded framework/integrators/BSplineMOLLYIntegrator.h /^ ForceGroup *myMOLLYForcesBonded;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myMOLLYForcesHBonded framework/integrators/BSplineMOLLYIntegrator.h /^ ForceGroup *myMOLLYForcesHBonded;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myMOLLYPositions framework/integrators/BSplineMOLLYIntegrator.h /^ Vector3DBlock *myMOLLYPositions;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myMOLLYStepsize framework/integrators/BSplineMOLLYIntegrator.h /^ Real myMOLLYStepsize;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myMOLLYStepsize framework/integrators/EquilibriumMOLLYIntegrator.h /^ Real myMOLLYStepsize;$/;" m class:ProtoMol::EquilibriumMOLLYIntegrator myMOLLYStepsizeP framework/integrators/BSplineMOLLYIntegrator.h /^ Real myMOLLYStepsizeP;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myMOLLYStepsizeSquare framework/integrators/BSplineMOLLYIntegrator.h /^ Real myMOLLYStepsizeSquare;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myMOLLYVelocities framework/integrators/BSplineMOLLYIntegrator.h /^ Vector3DBlock *myMOLLYVelocities;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myMass framework/frontend/OutputCache.h /^ mutable Real myMass;$/;" m class:ProtoMol::OutputCache myMasterId framework/parallel/Parallel.cpp /^ int Parallel::myMasterId = master;$/;" m class:ProtoMol::Parallel file: myMasterId framework/parallel/Parallel.h /^ static int myMasterId; \/\/\/< Id of the master$/;" m class:ProtoMol::Parallel myMat framework/io/XFigWriter.h /^ Matrix3by3 myMat;$/;" m class:ProtoMol::XFigWriter myMax framework/base/MultiGrid.h /^ Vector3D myMax; \/\/ $/;" m class:ProtoMol::MultiGrid myMax framework/forces/NonbondedMultiGridSystemForce.h /^ Vector3D myMax;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myMax framework/topology/CellListEnumerator_periodicBoundaries.h /^ CubicCellManager::Cell myMax;$/;" m class:ProtoMol::CellListEnumerator myMax framework/topology/CellListEnumerator_standard.h /^ CubicCellManager::Cell myMax;$/;" m class:ProtoMol::CellListEnumerator myMax framework/topology/PeriodicBoundaryConditions.h /^ Vector3D myMax;$/;" m class:ProtoMol::PeriodicBoundaryConditions myMaxDelta framework/topology/ExclusionTable.h /^ int myMaxDelta;$/;" m class:ProtoMol::ExclusionTable myMaxIter framework/integrators/ModifierMetaRattleShake.h /^ int myMaxIter;$/;" m class:ProtoMol::ModifierMetaRattleShake myMaxNX framework/topology/ArrayCellListStructure.h /^ int myMaxNX,myMaxNY,myMaxNZ;$/;" m class:ProtoMol::ArrayCellListStructure myMaxNX1 framework/topology/ArrayCellListStructure.h /^ int myMaxNX1,myMaxNY1,myMaxNZ1;$/;" m class:ProtoMol::ArrayCellListStructure myMaxNY framework/topology/ArrayCellListStructure.h /^ int myMaxNX,myMaxNY,myMaxNZ;$/;" m class:ProtoMol::ArrayCellListStructure myMaxNY1 framework/topology/ArrayCellListStructure.h /^ int myMaxNX1,myMaxNY1,myMaxNZ1;$/;" m class:ProtoMol::ArrayCellListStructure myMaxNZ framework/topology/ArrayCellListStructure.h /^ int myMaxNX,myMaxNY,myMaxNZ;$/;" m class:ProtoMol::ArrayCellListStructure myMaxNZ1 framework/topology/ArrayCellListStructure.h /^ int myMaxNX1,myMaxNY1,myMaxNZ1;$/;" m class:ProtoMol::ArrayCellListStructure myMaxPackages framework/parallel/Parallel.cpp /^ int Parallel::myMaxPackages = -1;$/;" m class:ProtoMol::Parallel file: myMaxPackages framework/parallel/Parallel.h /^ static int myMaxPackages; \/\/\/< Number of max. packages per node per force$/;" m class:ProtoMol::Parallel myMaximas framework/frontend/OutputDihedrals.h /^ std::vector< std::vector< Real > > myMaximas;$/;" m class:ProtoMol::OutputDihedrals myMediForceModifiers framework/integrators/Integrator.h /^ std::set myMediForceModifiers;$/;" m class:ProtoMol::Integrator myMetaForcesList framework/forces/ForceGroup.h /^ std::list myMetaForcesList;$/;" m class:ProtoMol::ForceGroup myMin framework/base/MultiGrid.h /^ Vector3D myMin; \/\/ $/;" m class:ProtoMol::MultiGrid myMin framework/forces/NonbondedMultiGridSystemForce.h /^ Vector3D myMin;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myMin framework/topology/PeriodicBoundaryConditions.h /^ Vector3D myMin;$/;" m class:ProtoMol::PeriodicBoundaryConditions myMinimal framework/forces/WrapperMetaForce.h /^ bool myMinimal;$/;" m class:ProtoMol::WrapperMetaForce myMinimas framework/frontend/OutputDihedrals.h /^ std::vector< std::vector< Real > > myMinimas; $/;" m class:ProtoMol::OutputDihedrals myMode framework/io/File.h /^ std::ios::openmode myMode;$/;" m class:ProtoMol::File myMode framework/parallel/Parallel.cpp /^ ParallelType Parallel::myMode = ParallelType::STATIC;$/;" m class:ProtoMol::Parallel file: myMode framework/parallel/Parallel.h /^ static ParallelType myMode; \/\/\/< Parallelization scheme$/;" m class:ProtoMol::Parallel myMolKE framework/frontend/OutputCache.h /^ mutable Real myMolKE;$/;" m class:ProtoMol::OutputCache myMolP framework/frontend/OutputCache.h /^ mutable Real myMolP;$/;" m class:ProtoMol::OutputCache myMolT framework/frontend/OutputCache.h /^ mutable Real myMolT;$/;" m class:ProtoMol::OutputCache myMolecule applications/iSGProtomol-app/base/XSC.h /^ unsigned int myMolecule, old_type, new_type;$/;" m struct:ProtoMol::XSC myMollyForcesList framework/forces/ForceGroup.h /^ std::list myMollyForcesList;$/;" m class:ProtoMol::ForceGroup myN applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ unsigned int myN;$/;" m class:ProtoMol::iSGCoulombEwaldRealTableForce myN applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ unsigned int myN;$/;" m class:ProtoMol::iSGLennardJonesTableForce myN framework/forces/CoulombEwaldRealTableForce.h /^ unsigned int myN;$/;" m class:ProtoMol::CoulombEwaldRealTableForce myN framework/forces/CoulombMultiGridDirectTableForce.h /^ unsigned int myN;$/;" m class:ProtoMol::CoulombMultiGridDirectTableForce myN framework/forces/LennardJonesTableForce.h /^ unsigned int myN;$/;" m class:ProtoMol::LennardJonesTableForce myNX applications/iSGProtomol-app/base/iSGGrid.h /^ unsigned int myNX; \/\/ the number of grid points in the x-direction$/;" m class:ProtoMol::iSGGrid myNX applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ unsigned int myNX; \/\/ # of grid points in x-direction$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myNX framework/base/FFTComplex.cpp /^ int myNX;$/;" m class:ProtoMol::FFTInternal file: myNX framework/base/Grid.h /^ unsigned int myNX;$/;" m class:ProtoMol::Grid myNX framework/base/MultiGrid.h /^ int myNX; \/\/\/< x dimension of the grid level 0$/;" m class:ProtoMol::MultiGrid myNX framework/forces/NonbondedMultiGridSystemForce.h /^ unsigned int myNX;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myNX framework/forces/NonbondedPMEwaldSystemForce.h /^ unsigned int myNX;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myNX framework/topology/ArrayCellListStructure.h /^ int myNX,myNY,myNZ;$/;" m class:ProtoMol::ArrayCellListStructure myNX1 framework/topology/ArrayCellListStructure.h /^ int myNX1,myNY1,myNZ1;$/;" m class:ProtoMol::ArrayCellListStructure myNXOffset applications/iSGProtomol-app/base/iSGGrid.h /^ int myNXOffset;$/;" m class:ProtoMol::iSGGrid myNXOffset framework/base/Grid.h /^ int myNXOffset;$/;" m class:ProtoMol::Grid myNXOffset framework/base/MultiGrid.h /^ int myNXOffset; \/\/\/< x index offset between to grid levels$/;" m class:ProtoMol::MultiGrid myNY applications/iSGProtomol-app/base/iSGGrid.h /^ unsigned int myNY; \/\/ the number of grid points in the y-direction$/;" m class:ProtoMol::iSGGrid myNY applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ unsigned int myNY; \/\/ # of grid points in y-direction$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myNY framework/base/FFTComplex.cpp /^ int myNY;$/;" m class:ProtoMol::FFTInternal file: myNY framework/base/Grid.h /^ unsigned int myNY;$/;" m class:ProtoMol::Grid myNY framework/base/MultiGrid.h /^ int myNY; \/\/\/< y dimension of the grid level 0$/;" m class:ProtoMol::MultiGrid myNY framework/forces/NonbondedMultiGridSystemForce.h /^ unsigned int myNY;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myNY framework/forces/NonbondedPMEwaldSystemForce.h /^ unsigned int myNY;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myNY framework/topology/ArrayCellListStructure.h /^ int myNX,myNY,myNZ;$/;" m class:ProtoMol::ArrayCellListStructure myNY1 framework/topology/ArrayCellListStructure.h /^ int myNX1,myNY1,myNZ1;$/;" m class:ProtoMol::ArrayCellListStructure myNYOffset applications/iSGProtomol-app/base/iSGGrid.h /^ int myNYOffset;$/;" m class:ProtoMol::iSGGrid myNYOffset framework/base/Grid.h /^ int myNYOffset;$/;" m class:ProtoMol::Grid myNYOffset framework/base/MultiGrid.h /^ int myNYOffset; \/\/\/< y index offset between to grid levels$/;" m class:ProtoMol::MultiGrid myNZ applications/iSGProtomol-app/base/iSGGrid.h /^ unsigned int myNZ; \/\/ the number of grid points in the z-direction$/;" m class:ProtoMol::iSGGrid myNZ applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ unsigned int myNZ; \/\/ # of grid points in z-direction$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myNZ framework/base/FFTComplex.cpp /^ int myNZ;$/;" m class:ProtoMol::FFTInternal file: myNZ framework/base/Grid.h /^ unsigned int myNZ;$/;" m class:ProtoMol::Grid myNZ framework/base/MultiGrid.h /^ int myNZ; \/\/\/< z dimension of the grid level 0$/;" m class:ProtoMol::MultiGrid myNZ framework/forces/NonbondedMultiGridSystemForce.h /^ unsigned int myNZ;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myNZ framework/forces/NonbondedPMEwaldSystemForce.h /^ unsigned int myNZ;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myNZ framework/topology/ArrayCellListStructure.h /^ int myNX,myNY,myNZ;$/;" m class:ProtoMol::ArrayCellListStructure myNZ1 framework/topology/ArrayCellListStructure.h /^ int myNX1,myNY1,myNZ1;$/;" m class:ProtoMol::ArrayCellListStructure myNZOffset applications/iSGProtomol-app/base/iSGGrid.h /^ int myNZOffset;$/;" m class:ProtoMol::iSGGrid myNZOffset framework/base/Grid.h /^ int myNZOffset;$/;" m class:ProtoMol::Grid myNZOffset framework/base/MultiGrid.h /^ int myNZOffset; \/\/\/< z index offset between to grid levels$/;" m class:ProtoMol::MultiGrid myNames framework/io/XYZReader.h /^ std::vector* myNames;$/;" m class:ProtoMol::XYZReader myNames framework/io/XYZTrajectoryReader.h /^ std::vector* myNames;$/;" m class:ProtoMol::XYZTrajectoryReader myNames framework/io/XYZTrajectoryWriter.h /^ const std::vector* myNames;$/;" m class:ProtoMol::XYZTrajectoryWriter myNext framework/parallel/Parallel.cpp /^ int Parallel::myNext = 0;$/;" m class:ProtoMol::Parallel file: myNext framework/parallel/Parallel.h /^ static int myNext; \/\/\/< Counter of next() calls$/;" m class:ProtoMol::Parallel myNextIntegrator framework/integrators/MTSIntegrator.h /^ StandardIntegrator *myNextIntegrator;$/;" m class:ProtoMol::MTSIntegrator myNextRange framework/parallel/Parallel.cpp /^ int Parallel::myNextRange[2] = {0,0};$/;" m class:ProtoMol::Parallel file: myNextRange framework/parallel/Parallel.h /^ static int myNextRange[2]; \/\/\/< Actual work package to work on [from,to]$/;" m class:ProtoMol::Parallel myNextStep framework/frontend/Output.h /^ int myNextStep;$/;" m class:ProtoMol::Output myNonWaterAtomTypes framework/frontend/OutputTemperatures.h /^ vector myNonWaterAtomTypes;$/;" m class:ProtoMol::OutputTemperatures myNonWaterT framework/frontend/OutputCache.h /^ mutable Real myNonWaterT;$/;" m class:ProtoMol::OutputCache myNum framework/parallel/Parallel.cpp /^ int Parallel::myNum = 1;$/;" m class:ProtoMol::Parallel file: myNum framework/parallel/Parallel.h /^ static int myNum; \/\/\/< Number of nodes, N$/;" m class:ProtoMol::Parallel myNumComp applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ const unsigned int myNumComp; \/\/ Number of components in the mixture$/;" m class:ProtoMol::iSGIntegrator myNumFree applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ unsigned int myNumFree; \/\/ Total # of degrees of freedom = (3*Natoms - 3) - NumConstraints$/;" m class:ProtoMol::iSGIntegrator myNumFree framework/integrators/NPTVerletIntegrator.h /^ unsigned int myNumFree; \/\/ Total # of degrees of freedom = (3*Natoms - 3) - NumConstraints$/;" m class:ProtoMol::NPTVerletIntegrator myNumFree framework/integrators/NVTVerletIntegrator.h /^ unsigned int myNumFree; \/\/ Total # of degrees of freedom = (3*Natoms - 3) - NumConstraints$/;" m class:ProtoMol::NVTVerletIntegrator myNumIter framework/integrators/BSplineMOLLYIntegrator.h /^ unsigned int myNumIter;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myNumIter framework/integrators/DMDLeapfrogIntegrator.h /^ int myNumIter;$/;" m class:ProtoMol::DMDLeapfrogIntegrator myNumParameters framework/integrators/DLMCIntegrator.h /^ static const int myNumParameters;$/;" m class:ProtoMol::DLMCIntegrator myNumParameters framework/integrators/HMCIntegrator.h /^ static const int myNumParameters;$/;" m class:ProtoMol::HMCIntegrator myNumParameters framework/integrators/UmbrellaIntegrator.h /^ static const int myNumParameters; $/;" m class:ProtoMol::UmbrellaIntegrator myNumStages applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ unsigned int myNumStages; \/\/ Number of stages that the transformation will be split into$/;" m class:ProtoMol::iSGIntegrator myOk framework/frontend/InputPosVel.h /^ bool myOk;$/;" m class:ProtoMol::InputPosVel myOldAtomCount applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ unsigned int myOldAtomCount; \/\/ Keep track of old values and hope$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myOldAtomCount framework/forces/NonbondedFullEwaldSystemForce.h /^ unsigned int myOldAtomCount; \/\/ Keep track of old values and hope$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myOldEnergies framework/integrators/DihedralHMCIntegrator.h /^ ScalarStructure* myOldEnergies;$/;" m class:ProtoMol::DihedralHMCIntegrator myOldEnergies framework/integrators/MCIntegrator.h /^ ScalarStructure* myOldEnergies;$/;" m class:ProtoMol::MCIntegrator myOldHKLmax applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ int myOldHKLmax; \/\/ we do not need to reallocate memory ...$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myOldHKLmax framework/forces/NonbondedFullEwaldSystemForce.h /^ int myOldHKLmax; \/\/ we do not need to reallocate memory ...$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myOldKineticEnergy framework/integrators/MCIntegrator.h /^ Real myOldKineticEnergy;$/;" m class:ProtoMol::MCIntegrator myOldPositions framework/integrators/DihedralHMCIntegrator.h /^ Vector3DBlock* myOldPositions;$/;" m class:ProtoMol::DihedralHMCIntegrator myOldPositions framework/integrators/MCIntegrator.h /^ Vector3DBlock* myOldPositions;$/;" m class:ProtoMol::MCIntegrator myOldVelocities framework/integrators/DihedralHMCIntegrator.h /^ Vector3DBlock* myOldVelocities;$/;" m class:ProtoMol::DihedralHMCIntegrator myOldVelocities framework/integrators/MCIntegrator.h /^ Vector3DBlock* myOldVelocities;$/;" m class:ProtoMol::MCIntegrator myOmega framework/forces/MagneticDipoleForce.h /^ Real myChi, myR, myOmega, myPhi, myHx, myHy, myHz, myD;$/;" m class:ProtoMol::MagneticDipoleForce myOmega framework/forces/PaulTrapExtendedForce.h /^ Real myOmega;$/;" m class:ProtoMol::PaulTrapExtendedForce myOmegaR framework/forces/PaulTrapExtendedForce.h /^ std::vector myOmegaR;$/;" m class:ProtoMol::PaulTrapExtendedForce myOmegaR framework/frontend/OutputPaulTrap.h /^ Real myOmegaR;$/;" m class:ProtoMol::OutputPaulTrap myOmegaR1 framework/forces/PaulTrapExtendedForce.h /^ Real myOmegaR1;$/;" m class:ProtoMol::PaulTrapExtendedForce myOmegaTo framework/integrators/NPTVerletIntegrator.h /^ const Real myOmegaTo; \/\/ thermostat oscillation frequency. Units: (fs)^-1$/;" m class:ProtoMol::NPTVerletIntegrator myOmegaTo framework/integrators/NVTVerletIntegrator.h /^ const Real myOmegaTo; \/\/ thermostat oscillation frequency. Units: (fs)^-1$/;" m class:ProtoMol::NVTVerletIntegrator myOmegaTv framework/integrators/NPTVerletIntegrator.h /^ const Real myOmegaTv; \/\/ box volume thermostat oscillation frequency. Units: (fs)^-1$/;" m class:ProtoMol::NPTVerletIntegrator myOmegaZ framework/forces/PaulTrapExtendedForce.h /^ std::vector myOmegaZ;$/;" m class:ProtoMol::PaulTrapExtendedForce myOmegaZ framework/frontend/OutputPaulTrap.h /^ Real myOmegaZ;$/;" m class:ProtoMol::OutputPaulTrap myOmegaZ1 framework/forces/PaulTrapExtendedForce.h /^ Real myOmegaZ1;$/;" m class:ProtoMol::PaulTrapExtendedForce myOneAtomPair framework/forces/NonbondedCutoffForce.h /^ TOneAtomPair myOneAtomPair;$/;" m class:ProtoMol::NonbondedCutoffForce myOneAtomPair framework/forces/NonbondedFullSystemForce.h /^ TOneAtomPair myOneAtomPair;$/;" m class:ProtoMol::NonbondedFullSystemForce myOneAtomPair framework/forces/NonbondedSimpleFullSystemForce.h /^ TOneAtomPair myOneAtomPair;$/;" m class:ProtoMol::NonbondedSimpleFullSystemForce myOrder framework/integrators/Modifier.h /^ int myOrder;$/;" m class:ProtoMol::Modifier myOrigFunc framework/topology/ComplementSwitchingFunction.h /^ TOriginalSwitchingFunction myOrigFunc;$/;" m class:ProtoMol::ComplementSwitchingFunction myOrigFunc framework/topology/RangeSwitchingFunction.h /^ TOriginalSwitchingFunction myOrigFunc;$/;" m class:ProtoMol::RangeSwitchingFunction myOrigin applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Vector3D myOrigin;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myOrigin applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Vector3D myOrigin; \/\/ xyz coordinates of the origin$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myOrigin framework/base/MultiGrid.h /^ Vector3D myOrigin; \/\/ $/;" m class:ProtoMol::MultiGrid myOrigin framework/forces/ElectricFieldSystemForce.h /^ Vector3D myOrigin;$/;" m class:ProtoMol::ElectricFieldSystemForce myOrigin framework/forces/NonbondedFullEwaldSystemForce.h /^ Vector3D myOrigin;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myOrigin framework/forces/NonbondedMultiGridSystemForce.h /^ Vector3D myOrigin;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myOrigin framework/forces/NonbondedPMEwaldSystemForce.h /^ Vector3D myOrigin;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myOrigin framework/topology/PeriodicBoundaryConditions.h /^ Vector3D myOrigin;$/;" m class:ProtoMol::PeriodicBoundaryConditions myOrthogonal framework/topology/PeriodicBoundaryConditions.h /^ bool myOrthogonal;$/;" m class:ProtoMol::PeriodicBoundaryConditions myOut framework/frontend/OutputPaulTrap.h /^ std::string myOut;$/;" m class:ProtoMol::OutputPaulTrap myOutputFreq framework/frontend/Output.h /^ int myOutputFreq; \/\/\/< Output freqeuncy$/;" m class:ProtoMol::Output myOutputList framework/frontend/OutputCollection.h /^ Container myOutputList;$/;" m class:ProtoMol::OutputCollection myP framework/frontend/OutputCache.h /^ mutable Real myP;$/;" m class:ProtoMol::OutputCache myP framework/parallel/Parallel.cpp /^ int Parallel::myP;$/;" m class:ProtoMol::Parallel file: myP framework/parallel/Parallel.h /^ static int myP; \/\/\/< Node number$/;" m class:ProtoMol::Parallel myPAR applications/iSGProtomol-app/io/iSGPARReader.h /^ iSGPAR* myPAR;$/;" m class:ProtoMol::iSGPARReader myPAR framework/frontend/OutputCache.h /^ PAR myPAR;$/;" m class:ProtoMol::OutputCache myPAR framework/io/PARReader.h /^ PAR* myPAR;$/;" m class:ProtoMol::PARReader myPDBAtoms framework/frontend/OutputCache.h /^ std::vector myPDBAtoms;$/;" m class:ProtoMol::OutputCache myPE framework/frontend/OutputCache.h /^ mutable Real myPE;$/;" m class:ProtoMol::OutputCache myPGM framework/io/PGMReader.h /^ PGM* myPGM;$/;" m class:ProtoMol::PGMReader myPPM framework/io/PPMReader.h /^ PPM* myPPM;$/;" m class:ProtoMol::PPMReader myPSF framework/frontend/OutputCache.h /^ PSF myPSF;$/;" m class:ProtoMol::OutputCache myPSF framework/io/PSFReader.h /^ PSF* myPSF;$/;" m class:ProtoMol::PSFReader myParameterSize framework/forces/WrapperMetaForce.h /^ unsigned int myParameterSize;$/;" m class:ProtoMol::WrapperMetaForce myParameters framework/forces/WrapperMetaForce.h /^ std::vector myParameters;$/;" m class:ProtoMol::WrapperMetaForce myPart framework/integrators/PaulTrapIntegrator.h /^ Real myPart;$/;" m class:ProtoMol::PaulTrapIntegrator myPartReal framework/integrators/PaulTrapIntegrator.h /^ Real myPartReal;$/;" m class:ProtoMol::PaulTrapIntegrator myPaulA framework/frontend/OutputPaulTrap.h /^ Real myPaulA;$/;" m class:ProtoMol::OutputPaulTrap myPaulF framework/forces/PaulTrapExtendedForce.h /^ Real myPaulF;$/;" m class:ProtoMol::PaulTrapExtendedForce myPaulF framework/frontend/OutputPaulTrap.h /^ Real myPaulF;$/;" m class:ProtoMol::OutputPaulTrap myPaulF2 framework/frontend/OutputPaulTrap.h /^ Real myPaulF2;$/;" m class:ProtoMol::OutputPaulTrap myPaulK framework/frontend/OutputPaulTrap.h /^ Real myPaulK;$/;" m class:ProtoMol::OutputPaulTrap myPaulLow framework/frontend/OutputPaulTrap.h /^ Real myPaulLow;$/;" m class:ProtoMol::OutputPaulTrap myPaulM framework/frontend/OutputPaulTrap.h /^ Real myPaulM;$/;" m class:ProtoMol::OutputPaulTrap myPaulOmega framework/frontend/OutputPaulTrap.h /^ Real myPaulOmega;$/;" m class:ProtoMol::OutputPaulTrap myPaulQ framework/frontend/OutputPaulTrap.h /^ Real myPaulQ;$/;" m class:ProtoMol::OutputPaulTrap myPaulR framework/frontend/OutputPaulTrap.h /^ Real myPaulR;$/;" m class:ProtoMol::OutputPaulTrap myPaulUHom framework/forces/PaulTrapExtendedForce.h /^ Real myPaulUHom;$/;" m class:ProtoMol::PaulTrapExtendedForce myPaulUHom framework/frontend/OutputPaulTrap.h /^ Real myPaulUHom;$/;" m class:ProtoMol::OutputPaulTrap myPhi framework/forces/MagneticDipoleForce.h /^ Real myChi, myR, myOmega, myPhi, myHx, myHy, myHz, myD;$/;" m class:ProtoMol::MagneticDipoleForce myPipeSize framework/parallel/Parallel.cpp /^ int Parallel::myPipeSize = 1;$/;" m class:ProtoMol::Parallel file: myPipeSize framework/parallel/Parallel.h /^ static int myPipeSize; \/\/\/< Number of add. work packages to push to slaves$/;" m class:ProtoMol::Parallel myPointSelfDeltaMu applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myPointSelfDeltaMu;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myPointSelfDeltaMu applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myPointSelfDeltaMu;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myPointSelfEnergy applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myPointSelfEnergy; \/\/ Precomputed energy terms$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myPointSelfEnergy applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myPointSelfEnergy; \/\/ Precomputed energy terms$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myPointSelfEnergy framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myPointSelfEnergy; \/\/ Precomputed energy terms$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myPointSelfEnergy framework/forces/NonbondedMultiGridSystemForce.h /^ Real myPointSelfEnergy;\/\/ Precomputed energy terms$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myPointSelfEnergy framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myPointSelfEnergy; \/\/ Precomputed energy terms$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myPointers framework/frontend/Factory.h /^ std::set myPointers;$/;" m class:ProtoMol::FactoryBase myPort framework/imd/HapticSystemForce.h /^ int myPort;$/;" m class:ProtoMol::HapticSystemForce myPositions framework/frontend/Output.h /^ const Vector3DBlock* myPositions;$/;" m class:ProtoMol::Output myPositions framework/frontend/OutputCache.h /^ const Vector3DBlock* myPositions;$/;" m class:ProtoMol::OutputCache myPositions framework/frontend/OutputCollection.h /^ const Vector3DBlock* myPositions;$/;" m class:ProtoMol::OutputCollection myPositions framework/integrators/Integrator.h /^ Vector3DBlock *myPositions;$/;" m class:ProtoMol::Integrator myPositions framework/integrators/Modifier.h /^ Vector3DBlock* myPositions;$/;" m class:ProtoMol::Modifier myPostDriftOrNextModifiers framework/integrators/Integrator.h /^ std::set myPostDriftOrNextModifiers;$/;" m class:ProtoMol::Integrator myPostForceModifiers framework/integrators/Integrator.h /^ std::set myPostForceModifiers;$/;" m class:ProtoMol::Integrator myPostStepModifiers framework/integrators/Integrator.h /^ std::set myPostStepModifiers;$/;" m class:ProtoMol::Integrator myPreDriftOrNextModifiers framework/integrators/Integrator.h /^ std::set myPreDriftOrNextModifiers;$/;" m class:ProtoMol::Integrator myPreForceModifiers framework/integrators/Integrator.h /^ std::set myPreForceModifiers;$/;" m class:ProtoMol::Integrator myPreStepModifiers framework/integrators/Integrator.h /^ std::set myPreStepModifiers;$/;" m class:ProtoMol::Integrator myPreviousIntegrator framework/integrators/StandardIntegrator.h /^ StandardIntegrator *myPreviousIntegrator;$/;" m class:ProtoMol::StandardIntegrator myPxAngle framework/integrators/BSplineMOLLYIntegrator.h /^ std::vector *myPxAngle; $/;" m class:ProtoMol::BSplineMOLLYIntegrator myQ applications/iSGProtomol-app/base/iSGGrid.h /^ Array myQ; \/\/ the atomic charge distribution on a grid$/;" m class:ProtoMol::iSGGrid myQ framework/base/Grid.h /^ Array myQ; $/;" m class:ProtoMol::Grid myQ framework/base/MultiGrid.h /^ std::vector > myQ; \/\/\/< Arrays of charges$/;" m class:ProtoMol::MultiGrid myQTmp applications/iSGProtomol-app/base/iSGGrid.h /^ Array myQTmp; \/\/ the atomic charge distribution on a grid$/;" m class:ProtoMol::iSGGrid myQTmp framework/base/Grid.h /^ Array myQTmp; $/;" m class:ProtoMol::Grid myQuit framework/base/Report.h /^ bool myQuit;$/;" m class:ProtoMol::Report::MyStreamer myR framework/forces/MagneticDipoleForce.h /^ Real myChi, myR, myOmega, myPhi, myHx, myHy, myHz, myD;$/;" m class:ProtoMol::MagneticDipoleForce myR framework/forces/MagneticDipoleMirrorSystemForce.h /^ Real myChi, myR, myD, myHx, myHy, myHz, myF;$/;" m class:ProtoMol::MagneticDipoleMirrorSystemForce myR0 framework/forces/PaulTrapExtendedForce.h /^ Real myR0;$/;" m class:ProtoMol::PaulTrapExtendedForce myR0 framework/topology/RangeSwitchingFunction.h /^ Real myR0;$/;" m class:ProtoMol::RangeSwitchingFunction myR0Squared framework/topology/RangeSwitchingFunction.h /^ Real myR0Squared;$/;" m class:ProtoMol::RangeSwitchingFunction myR1 framework/topology/RangeSwitchingFunction.h /^ Real myR1; $/;" m class:ProtoMol::RangeSwitchingFunction myR1Squared framework/topology/RangeSwitchingFunction.h /^ Real myR1Squared; $/;" m class:ProtoMol::RangeSwitchingFunction myRS framework/base/MultiGrid.h /^ Real myRS; \/\/\/< 1 \/ Softening distance$/;" m class:ProtoMol::MultiGrid myRS framework/forces/CoulombMultiGridDirectForce.h /^ Real myRS;$/;" m class:ProtoMol::CoulombMultiGridDirectForce myRS framework/forces/CoulombMultiGridDirectTableForce.h /^ Real myRS;$/;" m class:ProtoMol::CoulombMultiGridDirectTableForce myRS framework/forces/NonbondedMultiGridSystemForce.h /^ Real myRS;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myRadius framework/forces/SphericalSystemForce.h /^ Real myRadius;$/;" m class:ProtoMol::SphericalSystemForce myRadius framework/io/XFigWriter.h /^ Real myRadius;$/;" m class:ProtoMol::XFigWriter myRadius2 framework/forces/SphericalSystemForce.h /^ Real myRadius2;$/;" m class:ProtoMol::SphericalSystemForce myRandomCycLen framework/integrators/DihedralHMCIntegrator.h /^ bool myRandomCycLen;$/;" m class:ProtoMol::DihedralHMCIntegrator myRandomCycLen framework/integrators/MCIntegrator.h /^ const bool myRandomCycLen;$/;" m class:ProtoMol::MCIntegrator myRandomForces framework/integrators/DMDLeapfrogIntegrator.h /^ Vector3DBlock *myRandomForces;$/;" m class:ProtoMol::DMDLeapfrogIntegrator myRatio framework/base/MultiGrid.h /^ int myRatio; \/\/\/< Ratio between to levels, usually 2$/;" m class:ProtoMol::MultiGrid myRatio framework/forces/NonbondedMultiGridSystemForce.h /^ unsigned int myRatio;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myRc applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ Real myRc;$/;" m class:ProtoMol::iSGCoulombEwaldRealTableForce myRc applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ Real myRc;$/;" m class:ProtoMol::iSGLennardJonesTableForce myRc applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myRc; \/\/ Cutoff real term$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myRc applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myRc; \/\/ Cutoff real term$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myRc framework/forces/CoulombEwaldRealTableForce.h /^ Real myRc;$/;" m class:ProtoMol::CoulombEwaldRealTableForce myRc framework/forces/LennardJonesTableForce.h /^ Real myRc;$/;" m class:ProtoMol::LennardJonesTableForce myRc framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myRc; \/\/ Cutoff real term$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myRc framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myRc; \/\/ Cutoff real term$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myRcSquared applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myRcSquared; \/\/ Cutoff squared real term$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myRcSquared applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myRcSquared; \/\/ Cutoff squared real term$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myRcSquared framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myRcSquared; \/\/ Cutoff squared real term$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myRcSquared framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myRcSquared; \/\/ Cutoff squared real term$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myReal applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Timer myReal;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myReal applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Timer myReal;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myReal framework/forces/NonbondedFullEwaldSystemForce.h /^ Timer myReal;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myReal framework/forces/NonbondedPMEwaldSystemForce.h /^ Timer myReal;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myRealCellSize framework/topology/CubicCellManager.h /^ mutable Vector3D myRealCellSize;$/;" m class:ProtoMol::CubicCellManager myRealRCellSize framework/topology/CubicCellManager.h /^ mutable Vector3D myRealRCellSize;$/;" m class:ProtoMol::CubicCellManager myRealTime framework/base/Timer.h /^ double myRealTime;$/;" m class:ProtoMol::TimeRep myReciprocal applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Timer myReciprocal;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myReciprocal applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Timer myReciprocal;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myReciprocal framework/forces/NonbondedFullEwaldSystemForce.h /^ Timer myReciprocal;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myReciprocal framework/forces/NonbondedPMEwaldSystemForce.h /^ Timer myReciprocal;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myRecv framework/parallel/Parallel.cpp /^ int Parallel::myRecv;$/;" m class:ProtoMol::Parallel file: myRecv framework/parallel/Parallel.h /^ static int myRecv; \/\/\/< Number of outstanding receives$/;" m class:ProtoMol::Parallel myRemoveAngularMotion framework/integrators/PaulTrapIntegrator.h /^ bool myRemoveAngularMotion;$/;" m class:ProtoMol::PaulTrapIntegrator myRemoveCommonMotion framework/integrators/PaulTrapIntegrator.h /^ bool myRemoveCommonMotion;$/;" m class:ProtoMol::PaulTrapIntegrator myReportLevel framework/base/Report.h /^ short myReportLevel;$/;" m class:ProtoMol::Report::MyStreamer myReportlevel framework/base/Report.h /^ short myReportlevel;$/;" m class:ProtoMol::Report::reportlevel myResetFlags framework/base/Report.h /^ std::ios::fmtflags myResetFlags;\/\/ Resest\/default flags$/;" m class:ProtoMol::Report::MyStreamer myRnd framework/forces/FrictionExtendedForce.h /^ Vector3D myRnd;$/;" m class:ProtoMol::FrictionExtendedForce myRunningFlag framework/base/Cycles.h /^ bool myRunningFlag;$/;" m class:ProtoMol::Cycles myRunningFlag framework/base/Timer.h /^ bool myRunningFlag;$/;" m class:ProtoMol::Timer myS framework/base/MultiGrid.h /^ Real myS; \/\/\/< Softening distance$/;" m class:ProtoMol::MultiGrid myS framework/forces/CoulombMultiGridDirectForce.h /^ Real myS;$/;" m class:ProtoMol::CoulombMultiGridDirectForce myS framework/forces/CoulombMultiGridDirectTableForce.h /^ Real myS;$/;" m class:ProtoMol::CoulombMultiGridDirectTableForce myS framework/forces/NonbondedMultiGridSystemForce.h /^ Real myS;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myS2 framework/forces/NonbondedMultiGridSystemForce.h /^ Real myS2;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myScale framework/base/MultiGrid.h /^ std::vector myScale; \/\/\/< Scaling factor for each level$/;" m class:ProtoMol::MultiGrid myScaledParticleIntPositions applications/iSGProtomol-app/base/iSGGrid.h /^ std::vector myScaledParticleIntPositions;$/;" m class:ProtoMol::iSGGrid myScaledParticleIntPositions framework/base/Grid.h /^ std::vector myScaledParticleIntPositions;$/;" m class:ProtoMol::Grid myScaledParticleIntPositions framework/base/MultiGrid.h /^ std::vector myScaledParticleIntPositions; \/\/\/< Starting index for anter\/-interpolation$/;" m class:ProtoMol::MultiGrid myScreen framework/frontend/OutputPaulTrap.h /^ bool myScreen;$/;" m class:ProtoMol::OutputPaulTrap mySeed framework/integrators/BBKIntegrator.h /^ int mySeed;$/;" m class:ProtoMol::BBKIntegrator mySeed framework/integrators/DMDLeapfrogIntegrator.h /^ int mySeed;$/;" m class:ProtoMol::DMDLeapfrogIntegrator mySeed framework/integrators/LangevinImpulseIntegrator.h /^ int mySeed;$/;" m class:ProtoMol::LangevinImpulseIntegrator mySeparateWater framework/frontend/OutputTemperatures.h /^ bool mySeparateWater;$/;" m class:ProtoMol::OutputTemperatures mySet framework/topology/ExclusionTable.h /^ std::set mySet;$/;" m class:ProtoMol::ExclusionTable mySigma framework/base/MultiGrid.h /^ int mySigma; \/\/\/< 1 if interpolation weights ...,0 for w=0, 0 else$/;" m class:ProtoMol::MultiGrid mySigma framework/integrators/DMDLeapfrogIntegrator.h /^ Real mySigma;$/;" m class:ProtoMol::DMDLeapfrogIntegrator mySilentHint framework/base/Report.h /^ short mySilentHint;$/;" m class:ProtoMol::Report::MyStreamer mySinCos applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Vector3D* mySinCos;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce mySinCos framework/forces/NonbondedFullEwaldSystemForce.h /^ Vector3D* mySinCos;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce mySinCosA applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real* mySinCosA; \/\/ Look up tables$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce mySinCosA framework/forces/NonbondedFullEwaldSystemForce.h /^ Real* mySinCosA; \/\/ Look up tables$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce mySize framework/io/XYZBinWriter.h /^ unsigned int mySize;$/;" m class:ProtoMol::XYZBinWriter mySize framework/topology/ArrayCellListStructure.h /^ size_type mySize;$/;" m class:ProtoMol::ArrayCellListStructure mySquaredCutoff applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ Real mySquaredCutoff;$/;" m class:ProtoMol::iSGOneAtomPair mySquaredCutoff applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ Real mySquaredCutoff;$/;" m class:ProtoMol::iSGOneAtomPairTwo mySquaredCutoff framework/forces/ElectricFieldSystemForce.h /^ Real mySquaredCutoff;$/;" m class:ProtoMol::ElectricFieldSystemForce mySquaredCutoff framework/forces/OneAtomPair.h /^ Real mySquaredCutoff;$/;" m class:ProtoMol::OneAtomPair mySquaredCutoff framework/forces/OneAtomPairTwo.h /^ Real mySquaredCutoff;$/;" m class:ProtoMol::OneAtomPairTwo myStartSerial framework/base/systemutilities.cpp /^ static void (*myStartSerial)(bool) = NULL;$/;" m namespace:ProtoMol file: myStartTime framework/base/Cycles.h /^ ticks myStartTime;$/;" m class:ProtoMol::Cycles myStartTime framework/base/Timer.h /^ TimeRep myStartTime;$/;" m class:ProtoMol::Timer myStep framework/integrators/ModifierRemoveAngularMomentum.h /^ int myStep;$/;" m class:ProtoMol::ModifierRemoveAngularMomentum myStep framework/integrators/ModifierRemoveLinearMomentum.h /^ int myStep;$/;" m class:ProtoMol::ModifierRemoveLinearMomentum myStepCounter framework/imd/HapticSystemForce.h /^ int myStepCounter;$/;" m class:ProtoMol::HapticSystemForce myStepInc framework/imd/HapticSystemForce.h /^ int myStepInc;$/;" m class:ProtoMol::HapticSystemForce myStream framework/base/Report.h /^ std::ostream* myStream;$/;" m class:ProtoMol::Report::MyStreamer mySumMass framework/integrators/NoseNVTLeapfrogIntegrator.h /^ Real mySumMass;$/;" m class:ProtoMol::NoseNVTLeapfrogIntegrator mySurface applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Timer mySurface;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce mySurface applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Timer mySurface;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce mySurface framework/forces/NonbondedFullEwaldSystemForce.h /^ Timer mySurface;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce mySurface framework/forces/NonbondedPMEwaldSystemForce.h /^ Timer mySurface;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce mySwapEndian framework/io/DCDTrajectoryReader.h /^ bool mySwapEndian;$/;" m class:ProtoMol::DCDTrajectoryReader mySwapPositions framework/integrators/MOLLYIntegrator.h /^ Vector3DBlock* mySwapPositions;$/;" m class:ProtoMol::MOLLYIntegrator mySwitch1 framework/topology/C2SwitchingFunction.h /^ Real mySwitchon, mySwitchon2, myCutoff, myCutoff2, mySwitch1, mySwitch2, mySwitch3;$/;" m class:ProtoMol::C2SwitchingFunction mySwitch2 framework/topology/C2SwitchingFunction.h /^ Real mySwitchon, mySwitchon2, myCutoff, myCutoff2, mySwitch1, mySwitch2, mySwitch3;$/;" m class:ProtoMol::C2SwitchingFunction mySwitch3 framework/topology/C2SwitchingFunction.h /^ Real mySwitchon, mySwitchon2, myCutoff, myCutoff2, mySwitch1, mySwitch2, mySwitch3;$/;" m class:ProtoMol::C2SwitchingFunction mySwitchon framework/topology/C2SwitchingFunction.h /^ Real mySwitchon, mySwitchon2, myCutoff, myCutoff2, mySwitch1, mySwitch2, mySwitch3;$/;" m class:ProtoMol::C2SwitchingFunction mySwitchon2 framework/topology/C2SwitchingFunction.h /^ Real mySwitchon, mySwitchon2, myCutoff, myCutoff2, mySwitch1, mySwitch2, mySwitch3;$/;" m class:ProtoMol::C2SwitchingFunction mySystemForcesList framework/forces/ForceGroup.h /^ std::list mySystemForcesList;$/;" m class:ProtoMol::ForceGroup mySystemTime framework/base/Timer.h /^ double mySystemTime;$/;" m class:ProtoMol::TimeRep myT framework/frontend/OutputCache.h /^ mutable Real myT;$/;" m class:ProtoMol::OutputCache myT framework/integrators/PaulTrapIntegrator.h /^ std::vector myT;$/;" m class:ProtoMol::PaulTrapIntegrator myTRANS applications/iSGProtomol-app/io/TRANSReader.h /^ TRANS* myTRANS;$/;" m class:ProtoMol::TRANSReader myTRate applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myTRate; \/\/$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myTRate applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myTRate; \/\/$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myTRate framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myTRate; \/\/$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myTRate framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myTRate; \/\/$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myTable applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ Real* myTable;$/;" m class:ProtoMol::iSGCoulombEwaldRealTableForce myTable applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ Real* myTable;$/;" m class:ProtoMol::iSGLennardJonesTableForce myTable framework/base/ScalarStructure.h /^ Real myTable[LAST-FIRST];$/;" m class:ProtoMol::ScalarStructure myTable framework/forces/CoulombEwaldRealTableForce.h /^ Real* myTable;$/;" m class:ProtoMol::CoulombEwaldRealTableForce myTable framework/forces/CoulombMultiGridDirectTableForce.h /^ Real* myTable;$/;" m class:ProtoMol::CoulombMultiGridDirectTableForce myTable framework/forces/LennardJonesTableForce.h /^ Real* myTable;$/;" m class:ProtoMol::LennardJonesTableForce myTable framework/topology/ExclusionTable.h /^ std::vector myTable;$/;" m class:ProtoMol::ExclusionTable myTargetDeltaMu applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real myTargetDeltaMu; \/\/ residual chemical potential difference. Units (kcal\/mol)$/;" m class:ProtoMol::iSGIntegrator myTargetKE framework/integrators/NoseNVTLeapfrogIntegrator.h /^ Real myTargetKE;$/;" m class:ProtoMol::NoseNVTLeapfrogIntegrator myTargetMu applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ std::vector myTargetMu; \/\/ Logarithms of the target fugacity fractions. Units: (kcal\/mol)$/;" m class:ProtoMol::iSGIntegrator myTargetPres applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ const Real myTargetPres; \/\/ Target pressure. Units: (bar)$/;" m class:ProtoMol::iSGIntegrator myTargetPres framework/integrators/NPTVerletIntegrator.h /^ const Real myTargetPres; \/\/ Target pressure. Units: (bar)$/;" m class:ProtoMol::NPTVerletIntegrator myTargetTemp applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ const Real myTargetTemp; \/\/ Target temperature. Units: (K)$/;" m class:ProtoMol::iSGIntegrator myTargetTemp framework/integrators/NPTVerletIntegrator.h /^ const Real myTargetTemp; \/\/ Target temperature. Units: (K)$/;" m class:ProtoMol::NPTVerletIntegrator myTargetTemp framework/integrators/NVTVerletIntegrator.h /^ const Real myTargetTemp; \/\/ Target temperature. Units: (K)$/;" m class:ProtoMol::NVTVerletIntegrator myTauD applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ const Real myTauD; \/\/ chemostat oscillation period. Units: (fs)$/;" m class:ProtoMol::iSGIntegrator myTauP applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ const Real myTauP; \/\/ barostat oscillation period. Units: (fs)$/;" m class:ProtoMol::iSGIntegrator myTauP framework/integrators/NPTVerletIntegrator.h /^ const Real myTauP; \/\/ box volumr oscillation time constant. Units: (fs)$/;" m class:ProtoMol::NPTVerletIntegrator myTauT applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ const Real myTauT; \/\/ thermostat oscillation period. Units: (fs)$/;" m class:ProtoMol::iSGIntegrator myTauV applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ const Real myTauV; \/\/ volume thermostat oscillation period. Units: (fs)$/;" m class:ProtoMol::iSGIntegrator myTempForces framework/integrators/PLeapfrogIntegrator.h /^ Vector3DBlock* myTempForces;$/;" m class:ProtoMol::PLeapfrogIntegrator myTemperature framework/integrators/DMDLeapfrogIntegrator.h /^ Real myTemperature;$/;" m class:ProtoMol::DMDLeapfrogIntegrator myTemperature framework/integrators/NoseNVTLeapfrogIntegrator.h /^ const Real myTemperature;$/;" m class:ProtoMol::NoseNVTLeapfrogIntegrator myTemperature framework/integrators/PaulTrapIntegrator.h /^ const Real myTemperature;$/;" m class:ProtoMol::PaulTrapIntegrator myTexts framework/base/Configuration.h /^ TextMapType myTexts;$/;" m class:ProtoMol::Configuration myTheIntegrator applications/iSGProtomol-app/integrators/ModifierISG.h /^ iSGIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierISG myTheIntegrator applications/iSGProtomol-app/integrators/iSGModifierPostForceChemostat.h /^ iSGIntegrator* myTheIntegrator;$/;" m class:ProtoMol::iSGModifierPostForceChemostat myTheIntegrator applications/iSGProtomol-app/integrators/iSGModifierPreForceChemostat.h /^ iSGIntegrator* myTheIntegrator;$/;" m class:ProtoMol::iSGModifierPreForceChemostat myTheIntegrator framework/integrators/ModifierAveraging.h /^ MOLLYIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierAveraging myTheIntegrator framework/integrators/ModifierFriction.h /^ NoseNVTLeapfrogIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierFriction myTheIntegrator framework/integrators/ModifierIncrementTimestep.h /^ STSIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierIncrementTimestep myTheIntegrator framework/integrators/ModifierMollification.h /^ MOLLYIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierMollification myTheIntegrator framework/integrators/ModifierNPTRattle.h /^ const TIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierNPTRattle myTheIntegrator framework/integrators/ModifierNPTShake.h /^ const TIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierNPTShake myTheIntegrator framework/integrators/ModifierNVTRattle.h /^ const TIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierNVTRattle myTheIntegrator framework/integrators/ModifierNVTShake.h /^ const TIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierNVTShake myTheIntegrator framework/integrators/ModifierPostForceBarostat.h /^ TIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierPostForceBarostat myTheIntegrator framework/integrators/ModifierPostForceThermostat.h /^ TIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierPostForceThermostat myTheIntegrator framework/integrators/ModifierPreForceBarostat.h /^ TIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierPreForceBarostat myTheIntegrator framework/integrators/ModifierPreForceThermostat.h /^ TIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierPreForceThermostat myTheIntegrator framework/integrators/ModifierRattle.h /^ const Integrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierRattle myTheIntegrator framework/integrators/ModifierShake.h /^ const Integrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierShake myTheIntegrator framework/integrators/ModifierUpdateBeta.h /^ ShadowHMCIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierUpdateBeta myTheIntegrator framework/integrators/ModifierUpdateBetaAndPush.h /^ ShadowHMCIntegrator* myTheIntegrator;$/;" m class:ProtoMol::ModifierUpdateBetaAndPush myThermalInertia framework/integrators/NoseNVTLeapfrogIntegrator.h /^ const Real myThermalInertia;$/;" m class:ProtoMol::NoseNVTLeapfrogIntegrator myThermalInertia framework/integrators/PaulTrapIntegrator.h /^ const Real myThermalInertia;$/;" m class:ProtoMol::PaulTrapIntegrator myThermostatType framework/integrators/PaulTrapIntegrator.h /^ ThermostatType myThermostatType;$/;" m class:ProtoMol::PaulTrapIntegrator myTime framework/integrators/MCIntegrator.h /^ Real myTime;$/;" m class:ProtoMol::MCIntegrator myTime framework/integrators/PaulTrapIntegrator.h /^ std::vector myTime;$/;" m class:ProtoMol::PaulTrapIntegrator myTimeAnterpolate framework/forces/NonbondedMultiGridSystemForce.h /^ Timer myTimeAnterpolate;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myTimeCoarseToFine framework/forces/NonbondedMultiGridSystemForce.h /^ std::vector myTimeCoarseToFine;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myTimeCorrection framework/forces/NonbondedMultiGridSystemForce.h /^ Timer myTimeCorrection;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myTimeCorrectionMG framework/forces/NonbondedMultiGridSystemForce.h /^ std::vector myTimeCorrectionMG; $/;" m class:ProtoMol::NonbondedMultiGridSystemForce myTimeDirect framework/forces/NonbondedMultiGridSystemForce.h /^ Timer myTimeDirect;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myTimeFineToCoarse framework/forces/NonbondedMultiGridSystemForce.h /^ std::vector myTimeFineToCoarse;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myTimeInit framework/forces/NonbondedMultiGridSystemForce.h /^ Timer myTimeInit; $/;" m class:ProtoMol::NonbondedMultiGridSystemForce myTimeInterpolate framework/forces/NonbondedMultiGridSystemForce.h /^ Timer myTimeInterpolate;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myTimeList framework/forces/TimeForce.h /^ std::vector myTimeList;$/;" m class:ProtoMol::TimeForce myTimeLong framework/forces/NonbondedMultiGridSystemForce.h /^ Timer myTimeLong; $/;" m class:ProtoMol::NonbondedMultiGridSystemForce myTimeShort framework/forces/NonbondedMultiGridSystemForce.h /^ Timer myTimeShort; $/;" m class:ProtoMol::NonbondedMultiGridSystemForce myTimeStep framework/io/DCDTrajectoryWriter.h /^ Real myTimeStep;$/;" m class:ProtoMol::DCDTrajectoryWriter myTimer framework/forces/TimeForce.h /^ Timer myTimer;$/;" m class:ProtoMol::TimeForce myTimestep framework/integrators/STSIntegrator.h /^ const Real myTimestep;$/;" m class:ProtoMol::STSIntegrator myToRange framework/forces/NonbondedFullSystemForce.h /^ std::vector myToRange;$/;" m class:ProtoMol::NonbondedFullSystemForce myToRange framework/forces/NonbondedSimpleFullSystemForce.h /^ std::vector myToRange;$/;" m class:ProtoMol::NonbondedSimpleFullSystemForce myToZ framework/io/XFigWriter.h /^ Real myToZ;$/;" m class:ProtoMol::XFigWriter myTopo framework/integrators/Integrator.h /^ GenericTopology *myTopo;$/;" m class:ProtoMol::Integrator myTopology framework/frontend/Output.h /^ const GenericTopology* myTopology; $/;" m class:ProtoMol::Output myTopology framework/frontend/OutputCache.h /^ const GenericTopology* myTopology; $/;" m class:ProtoMol::OutputCache myTopology framework/frontend/OutputCollection.h /^ const GenericTopology* myTopology; $/;" m class:ProtoMol::OutputCollection myTopology framework/integrators/Modifier.h /^ GenericTopology* myTopology; $/;" m class:ProtoMol::Modifier myTotalTime framework/base/Timer.h /^ TimeRep myTotalTime;$/;" m class:ProtoMol::Timer myType framework/base/AbstractEnumType.h /^ Enum myType;$/;" m class:ProtoMol::AbstractEnumType myType framework/frontend/InputPosVel.h /^ InputPosVelType myType;$/;" m class:ProtoMol::InputPosVel myTypeOfBSpline framework/integrators/BSplineMOLLYIntegrator.h /^ BSplineType myTypeOfBSpline;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myTypes applications/iSGProtomol-app/io/TRANSReader.h /^ std::vector myTypes;$/;" m class:ProtoMol::TRANSReader myU0 framework/forces/PaulTrapExtendedForce.h /^ Real myU0;$/;" m class:ProtoMol::PaulTrapExtendedForce myUnit framework/frontend/OutputPaulTrap.h /^ std::string myUnit;$/;" m class:ProtoMol::OutputPaulTrap myUnit framework/frontend/OutputScreen.h /^ std::string myUnit;$/;" m class:ProtoMol::OutputScreen myUseBarrier framework/parallel/Parallel.cpp /^ bool Parallel::myUseBarrier = false;$/;" m class:ProtoMol::Parallel file: myUseBarrier framework/parallel/Parallel.h /^ static bool myUseBarrier; \/\/\/< Flag to signal usage of MPI_Barrier$/;" m class:ProtoMol::Parallel myUserTime framework/base/Timer.h /^ double myUserTime;$/;" m class:ProtoMol::TimeRep myV applications/iSGProtomol-app/base/iSGGrid.h /^ Real myV; \/\/ cell volume$/;" m class:ProtoMol::iSGGrid myV applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myV,myVr;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myV applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myV,myVr; \/\/ Volume and inverse volume$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myV framework/base/Grid.h /^ Real myV;$/;" m class:ProtoMol::Grid myV framework/base/MultiGrid.h /^ std::vector > myV; \/\/\/< Arrays of potentials$/;" m class:ProtoMol::MultiGrid myV framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myV,myVr;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myV framework/forces/NonbondedMultiGridSystemForce.h /^ Real myV;$/;" m class:ProtoMol::NonbondedMultiGridSystemForce myV framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myV,myVr;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myV framework/frontend/OutputCache.h /^ mutable Real myV;$/;" m class:ProtoMol::OutputCache myV framework/topology/PeriodicBoundaryConditions.h /^ Real myV;$/;" m class:ProtoMol::PeriodicBoundaryConditions myValue framework/base/Value.h /^ PlaceHolder* myValue;$/;" m class:ProtoMol::Value myValue framework/frontend/InputValue.h /^ Value myValue;$/;" m class:ProtoMol::InputValue myValues framework/base/Configuration.h /^ ValueMapType myValues;$/;" m class:ProtoMol::Configuration myVector framework/base/Vector.h /^ std::vector & myVector;$/;" m class:ProtoMol::VectorPacker myVector framework/base/Vector.h /^ std::vector myVector; $/;" m class:ProtoMol::Vector myVelocities framework/frontend/Output.h /^ const Vector3DBlock* myVelocities; $/;" m class:ProtoMol::Output myVelocities framework/frontend/OutputCache.h /^ const Vector3DBlock* myVelocities; $/;" m class:ProtoMol::OutputCache myVelocities framework/frontend/OutputCollection.h /^ const Vector3DBlock* myVelocities; $/;" m class:ProtoMol::OutputCollection myVelocities framework/integrators/Integrator.h /^ Vector3DBlock *myVelocities;$/;" m class:ProtoMol::Integrator myVelocities framework/integrators/Modifier.h /^ Vector3DBlock* myVelocities; $/;" m class:ProtoMol::Modifier myVhat framework/integrators/DMDLeapfrogIntegrator.h /^ Vector3DBlock *myVhat;$/;" m class:ProtoMol::DMDLeapfrogIntegrator myVolume applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real myVolume; \/\/ Current cubic volume. Units (AA^3)$/;" m class:ProtoMol::iSGIntegrator myVolume framework/integrators/NPTVerletIntegrator.h /^ Real myVolume; \/\/ Current cubic volume. Units (AA^3)$/;" m class:ProtoMol::NPTVerletIntegrator myVr applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ Real myV,myVr;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce myVr applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ Real myV,myVr; \/\/ Volume and inverse volume$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce myVr framework/forces/NonbondedFullEwaldSystemForce.h /^ Real myV,myVr;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce myVr framework/forces/NonbondedPMEwaldSystemForce.h /^ Real myV,myVr;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce myWaterAtomTypes framework/frontend/OutputTemperatures.h /^ vector myWaterAtomTypes;$/;" m class:ProtoMol::OutputTemperatures myWaterT framework/frontend/OutputCache.h /^ mutable Real myWaterT;$/;" m class:ProtoMol::OutputCache myWidth applications/iSGProtomol-app/base/iSGGrid.h /^ Real myWidth; \/\/ cell basis vector$/;" m class:ProtoMol::iSGGrid myWidth framework/base/Grid.h /^ Real myWidth;$/;" m class:ProtoMol::Grid myWidthr applications/iSGProtomol-app/base/iSGGrid.h /^ Real myWidthr; \/\/ reciprocal cell basis vector$/;" m class:ProtoMol::iSGGrid myWidthr framework/base/Grid.h /^ Real myWidthr;$/;" m class:ProtoMol::Grid myWorkState framework/parallel/Parallel.cpp /^ Parallel::WorkState Parallel::myWorkState = Parallel::SEQUENTIAL;$/;" m class:ProtoMol::Parallel file: myWorkState framework/parallel/Parallel.h /^ static WorkState myWorkState; \/\/\/< Actual work state$/;" m class:ProtoMol::Parallel myX framework/io/DCDTrajectoryReader.h /^ std::vector myX;$/;" m class:ProtoMol::DCDTrajectoryReader myX framework/io/DCDTrajectoryWriter.h /^ std::vector myX;$/;" m class:ProtoMol::DCDTrajectoryWriter myXSCinfo applications/iSGProtomol-app/io/XSCReader.h /^ XSC* myXSCinfo;$/;" m class:ProtoMol::XSCReader myXYZ framework/frontend/OutputXYZTrajectoryForce.h /^ XYZTrajectoryWriter* myXYZ;$/;" m class:ProtoMol::OutputXYZTrajectoryForce myXYZ framework/frontend/OutputXYZTrajectoryPos.h /^ XYZTrajectoryWriter* myXYZ;$/;" m class:ProtoMol::OutputXYZTrajectoryPos myXYZ framework/frontend/OutputXYZTrajectoryVel.h /^ XYZTrajectoryWriter* myXYZ;$/;" m class:ProtoMol::OutputXYZTrajectoryVel myXxAngle framework/integrators/BSplineMOLLYIntegrator.h /^ std::vector *myXxAngle;$/;" m class:ProtoMol::BSplineMOLLYIntegrator myY framework/io/DCDTrajectoryReader.h /^ std::vector myY;$/;" m class:ProtoMol::DCDTrajectoryReader myY framework/io/DCDTrajectoryWriter.h /^ std::vector myY;$/;" m class:ProtoMol::DCDTrajectoryWriter myZ framework/io/DCDTrajectoryReader.h /^ std::vector myZ;$/;" m class:ProtoMol::DCDTrajectoryReader myZ framework/io/DCDTrajectoryWriter.h /^ std::vector myZ;$/;" m class:ProtoMol::DCDTrajectoryWriter mybonds framework/base/Atom.h /^ std::vector< int > mybonds;$/;" m struct:ProtoMol::Atom myerf framework/base/mathutilities.cpp /^ Real myerf(Real x){$/;" f namespace:ProtoMol myiSGPAR framework/frontend/OutputCache.h /^ iSGPAR myiSGPAR;$/;" m class:ProtoMol::OutputCache mylnMassRatio applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ Real mylnMassRatio; \/\/ Ideal gas delta mu that accounts for the transformation of atomic mass$/;" m class:ProtoMol::iSGIntegrator n compilerTests/glutTest.cpp /^static GLfloat n[6][3] = { \/* Normals for the 6 faces of a cube. *\/$/;" v file: name applications/xyzviz-app/xyzviz.cpp /^static vector name;$/;" v file: name framework/base/AtomType.h /^ std::string name; \/\/\/< The name of this atom type.$/;" m struct:ProtoMol::AtomType name framework/base/iSGPAR.h /^ std::string name; $/;" m struct:ProtoMol::iSGPAR::AtomType names framework/base/XYZ.h /^ std::vector names;$/;" m struct:ProtoMol::XYZ nbfixs framework/base/PAR.h /^ std::vector nbfixs;$/;" m class:ProtoMol::PAR nbfixs framework/base/iSGPAR.h /^ std::vector nbfixs;$/;" m class:ProtoMol::iSGPAR negative framework/base/PAR.h /^ bool negative; $/;" m struct:ProtoMol::PAR::Nonbonded negative framework/base/iSGPAR.h /^ std::vector negative; $/;" m struct:ProtoMol::iSGPAR::Nonbonded negative2 framework/base/PAR.h /^ bool negative2; \/\/\/< flag for a negative VDW paramenter second term (see above), default to true$/;" m struct:ProtoMol::PAR::Nonbonded negative2 framework/base/iSGPAR.h /^ std::vector negative2; $/;" m struct:ProtoMol::iSGPAR::Nonbonded netint framework/imd/imd.cpp /^ } netint;$/;" t namespace:ProtoMol::IMD file: new_charge applications/iSGProtomol-app/base/TRANS.h /^ Array new_charge;$/;" m struct:ProtoMol::TRANS::AtomType new_charge applications/iSGProtomol-app/integrators/ModifierISG.h /^ Array new_charge;$/;" m struct:ProtoMol::ModifierISG::TransformMap new_type applications/iSGProtomol-app/base/XSC.h /^ unsigned int myMolecule, old_type, new_type;$/;" m struct:ProtoMol::XSC newtype framework/base/Molecule.h /^ unsigned int type, newtype;$/;" m struct:ProtoMol::Molecule next framework/integrators/MTSIntegrator.h /^ inline Integrator* MTSIntegrator::next(){$/;" f class:ProtoMol::MTSIntegrator next framework/integrators/MTSIntegrator.h /^ inline const Integrator* MTSIntegrator::next() const{$/;" f class:ProtoMol::MTSIntegrator next framework/integrators/STSIntegrator.h /^ virtual Integrator* next(){return NULL;}$/;" f class:ProtoMol::STSIntegrator next framework/integrators/STSIntegrator.h /^ virtual const Integrator* next() const {return NULL;}$/;" f class:ProtoMol::STSIntegrator next framework/parallel/Parallel.cpp /^ bool Parallel::next(){$/;" f class:ProtoMol::Parallel next framework/topology/CellListEnumerator_periodicBoundaries.h /^ void next(void){$/;" f class:ProtoMol::CellListEnumerator next framework/topology/CellListEnumerator_standard.h /^ void next(){$/;" f class:ProtoMol::CellListEnumerator nextFrame applications/xyzviz-app/xyzviz.cpp /^bool nextFrame(){$/;" f nextMaster framework/parallel/Parallel.cpp /^ void Parallel::nextMaster(){$/;" f class:ProtoMol::Parallel nextNewPair framework/topology/CellListEnumerator_periodicBoundaries.h /^ void nextNewPair(int inc){$/;" f class:ProtoMol::CellListEnumerator nextNewPair framework/topology/CellListEnumerator_standard.h /^ void nextNewPair(int inc){$/;" f class:ProtoMol::CellListEnumerator ngrp framework/base/PSF.h /^ std::vector ngrp;$/;" m class:ProtoMol::PSF nonbondedForceFunction applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ TNonbondedForce nonbondedForceFunction;$/;" m class:ProtoMol::iSGOneAtomPair nonbondedForceFunction applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ TNonbondedForce nonbondedForceFunction;$/;" m class:ProtoMol::iSGOneAtomPairFull nonbondedForceFunction framework/forces/OneAtomPair.h /^ TNonbondedForce nonbondedForceFunction; $/;" m class:ProtoMol::OneAtomPair nonbondedForceFunction framework/forces/OneAtomPairFull.h /^ TNonbondedForce nonbondedForceFunction;$/;" m class:ProtoMol::OneAtomPairFull nonbondedForceFunction framework/forces/OneMollyPair.h /^ TNonbondedForce nonbondedForceFunction; $/;" m class:ProtoMol::OneMollyPair nonbondedForceFunctionFirst applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ TNonbondedForceFirst nonbondedForceFunctionFirst; $/;" m class:ProtoMol::iSGOneAtomPairTwo nonbondedForceFunctionFirst applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ TNonbondedForceFirst nonbondedForceFunctionFirst; $/;" m class:ProtoMol::iSGOneAtomPairTwoFull nonbondedForceFunctionFirst framework/forces/OneAtomPairTwo.h /^ TNonbondedForceFirst nonbondedForceFunctionFirst; $/;" m class:ProtoMol::OneAtomPairTwo nonbondedForceFunctionFirst framework/forces/OneAtomPairTwoFull.h /^ TNonbondedForceFirst nonbondedForceFunctionFirst; $/;" m class:ProtoMol::OneAtomPairTwoFull nonbondedForceFunctionFirst framework/forces/OneMollyPairTwo.h /^ TNonbondedForceFirst nonbondedForceFunctionFirst; $/;" m class:ProtoMol::OneMollyPairTwo nonbondedForceFunctionSecond applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ TNonbondedForceSecond nonbondedForceFunctionSecond; $/;" m class:ProtoMol::iSGOneAtomPairTwo nonbondedForceFunctionSecond applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ TNonbondedForceSecond nonbondedForceFunctionSecond; $/;" m class:ProtoMol::iSGOneAtomPairTwoFull nonbondedForceFunctionSecond framework/forces/OneAtomPairTwo.h /^ TNonbondedForceSecond nonbondedForceFunctionSecond; $/;" m class:ProtoMol::OneAtomPairTwo nonbondedForceFunctionSecond framework/forces/OneAtomPairTwoFull.h /^ TNonbondedForceSecond nonbondedForceFunctionSecond; $/;" m class:ProtoMol::OneAtomPairTwoFull nonbondedForceFunctionSecond framework/forces/OneMollyPairTwo.h /^ TNonbondedForceSecond nonbondedForceFunctionSecond; $/;" m class:ProtoMol::OneMollyPairTwo nonbondedHessian framework/forces/OneMollyPair.h /^ typename ReducedHessTraits::Hessian nonbondedHessian;$/;" m class:ProtoMol::OneMollyPair nonbondedHessianFirst framework/forces/OneMollyPairTwo.h /^ typename ReducedHessTraits::Hessian nonbondedHessianFirst;$/;" m class:ProtoMol::OneMollyPairTwo nonbondedHessianSecond framework/forces/OneMollyPairTwo.h /^ typename ReducedHessTraits::Hessian nonbondedHessianSecond;$/;" m class:ProtoMol::OneMollyPairTwo nonbondeds framework/base/PAR.h /^ std::vector nonbondeds;$/;" m class:ProtoMol::PAR nonbondeds framework/base/PSF.h /^ std::vector nonbondeds;$/;" m class:ProtoMol::PSF nonbondeds framework/base/iSGPAR.h /^ std::vector nonbondeds;$/;" m class:ProtoMol::iSGPAR norm framework/base/Vector3D.h /^ Real norm() const {$/;" f class:ProtoMol::Vector3D norm framework/base/mathutilities.cpp /^ Real norm(Real a, Real b) { $/;" f namespace:ProtoMol normSquared framework/base/Vector3D.h /^ Real normSquared() const {$/;" f class:ProtoMol::Vector3D normVector3DOp framework/topology/PeriodicBoundaryConditions.cpp /^ static bool normVector3DOp (const Vector3D& v1, const Vector3D& v2){$/;" f namespace:ProtoMol normalize framework/base/Vector3D.h /^ Real normalize() {$/;" f class:ProtoMol::Vector3D normalizeString framework/base/stringutilities.cpp /^ string normalizeString(const string& word){$/;" f namespace:ProtoMol normalized framework/base/Vector3D.h /^ Vector3D normalized() const {$/;" f class:ProtoMol::Vector3D notSameCell framework/topology/CellListEnumerator_periodicBoundaries.h /^ bool notSameCell(){return (i != j);}$/;" f class:ProtoMol::CellListEnumerator notSameCell framework/topology/CellListEnumerator_standard.h /^ bool notSameCell(){return (i != j);}$/;" f class:ProtoMol::CellListEnumerator numBonds framework/topology/AngleInfo.cpp /^ unsigned int AngleInfo::numBonds()const {$/;" f class:ProtoMol::AngleInfo numComp applications/iSGProtomol-app/io/iSGPARReader.h /^ int numComp;$/;" m class:ProtoMol::iSGPARReader numComps framework/topology/BankLennardJonesParameterTable.h /^ unsigned int numComps;$/;" m struct:ProtoMol::BankLennardJonesParameterTable numIdentities applications/iSGProtomol-app/io/TRANSReader.h /^ int numIdentities;$/;" m class:ProtoMol::TRANSReader numStages applications/iSGProtomol-app/io/TRANSReader.h /^ int numStages;$/;" m class:ProtoMol::TRANSReader numTables framework/topology/BankLennardJonesParameterTable.h /^ unsigned int numTables;$/;" m struct:ProtoMol::BankLennardJonesParameterTable numTypes applications/iSGProtomol-app/io/TRANSReader.h /^ int numTypes;$/;" m class:ProtoMol::TRANSReader number framework/base/PAR.h /^ int number; \/\/\/< nonbonded number$/;" m struct:ProtoMol::PAR::Nonbonded number framework/base/PAR.h /^ int number; \/\/\/< angle number$/;" m struct:ProtoMol::PAR::Angle number framework/base/PAR.h /^ int number; \/\/\/< bond number$/;" m struct:ProtoMol::PAR::Bond number framework/base/PAR.h /^ int number; \/\/\/< dihedral number$/;" m struct:ProtoMol::PAR::Dihedral number framework/base/PAR.h /^ int number; \/\/\/< improper number$/;" m struct:ProtoMol::PAR::Improper number framework/base/PAR.h /^ int number; \/\/\/< nbfi number$/;" m struct:ProtoMol::PAR::Nbfix number framework/base/PAR.h /^ int number; \/\/\/< hydrogen bond number$/;" m struct:ProtoMol::PAR::Hbond number framework/base/PSF.h /^ int number; \/\/\/< atom number$/;" m struct:ProtoMol::PSF::Atom number framework/base/PSF.h /^ int number; \/\/\/< acceptor number$/;" m struct:ProtoMol::PSF::Acceptor number framework/base/PSF.h /^ int number; \/\/\/< angle number$/;" m struct:ProtoMol::PSF::Angle number framework/base/PSF.h /^ int number; \/\/\/< bond number$/;" m struct:ProtoMol::PSF::Bond number framework/base/PSF.h /^ int number; \/\/\/< dihedral number$/;" m struct:ProtoMol::PSF::Dihedral number framework/base/PSF.h /^ int number; \/\/\/< donor number$/;" m struct:ProtoMol::PSF::Donor number framework/base/PSF.h /^ int number; \/\/\/< improper number$/;" m struct:ProtoMol::PSF::Improper number framework/base/PSF.h /^ int number; \/\/\/< ngrp number$/;" m struct:ProtoMol::PSF::Ngrp number framework/base/PSF.h /^ int number; \/\/\/< nonbonded structure number$/;" m struct:ProtoMol::PSF::Nonbonded number framework/base/iSGPAR.h /^ int number;$/;" m struct:ProtoMol::iSGPAR::Angle number framework/base/iSGPAR.h /^ int number;$/;" m struct:ProtoMol::iSGPAR::Bond number framework/base/iSGPAR.h /^ int number;$/;" m struct:ProtoMol::iSGPAR::Dihedral number framework/base/iSGPAR.h /^ int number;$/;" m struct:ProtoMol::iSGPAR::Improper number framework/base/iSGPAR.h /^ int number;$/;" m struct:ProtoMol::iSGPAR::Nonbonded numberOfBlocks applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^ inline unsigned int iSGAngleSystemForce::numberOfBlocks(const GenericTopology* topo,$/;" f class:ProtoMol::iSGAngleSystemForce numberOfBlocks applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^ inline unsigned int iSGBondSystemForce::numberOfBlocks(const GenericTopology* topo,$/;" f class:ProtoMol::iSGBondSystemForce numberOfBlocks applications/iSGProtomol-app/forces/iSGDihedralSystemForce.h /^ inline unsigned int iSGDihedralSystemForce::numberOfBlocks(const GenericTopology* topo,$/;" f class:ProtoMol::iSGDihedralSystemForce numberOfBlocks applications/iSGProtomol-app/forces/iSGImproperSystemForce.h /^ inline unsigned int iSGImproperSystemForce::numberOfBlocks(const GenericTopology* topo,$/;" f class:ProtoMol::iSGImproperSystemForce numberOfBlocks applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::numberOfBlocks(const GenericTopology* topo,$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce numberOfBlocks applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ real,reciprocal,correction,TInterpolation,TSwitchingFunction>::numberOfBlocks(const GenericTopology* topo,$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce numberOfBlocks framework/forces/AngleSystemForce.h /^ inline unsigned int AngleSystemForce::numberOfBlocks(const GenericTopology* topo, $/;" f class:ProtoMol::AngleSystemForce numberOfBlocks framework/forces/BondSystemForce.h /^ inline unsigned int BondSystemForce::numberOfBlocks(const GenericTopology* topo, $/;" f class:ProtoMol::BondSystemForce numberOfBlocks framework/forces/CompareForce.cpp /^ unsigned int CompareForce::numberOfBlocks(const GenericTopology* topo,$/;" f class:ProtoMol::CompareForce numberOfBlocks framework/forces/DihedralSystemForce.h /^ inline unsigned int DihedralSystemForce::numberOfBlocks(const GenericTopology* topo, $/;" f class:ProtoMol::DihedralSystemForce numberOfBlocks framework/forces/ElectricFieldSystemForce.h /^ inline unsigned int ElectricFieldSystemForce::numberOfBlocks(const GenericTopology*,$/;" f class:ProtoMol::ElectricFieldSystemForce numberOfBlocks framework/forces/ExternalGravitationSystemForce.cpp /^ unsigned int ExternalGravitationSystemForce::numberOfBlocks(const GenericTopology*, $/;" f class:ProtoMol::ExternalGravitationSystemForce numberOfBlocks framework/forces/ExternalMagneticFieldExtendedForce.cpp /^ unsigned int ExternalMagneticFieldExtendedForce::numberOfBlocks(const GenericTopology*, $/;" f class:ProtoMol::ExternalMagneticFieldExtendedForce numberOfBlocks framework/forces/Force.h /^ virtual unsigned int numberOfBlocks(const GenericTopology*,const Vector3DBlock*){return 1;}$/;" f class:ProtoMol::Force numberOfBlocks framework/forces/FrictionExtendedForce.cpp /^ unsigned int FrictionExtendedForce::numberOfBlocks(const GenericTopology*, $/;" f class:ProtoMol::FrictionExtendedForce numberOfBlocks framework/forces/HarmDihedralSystemForce.h /^ inline unsigned int HarmDihedralSystemForce::numberOfBlocks(const GenericTopology* topo, $/;" f class:ProtoMol::HarmDihedralSystemForce numberOfBlocks framework/forces/ImproperSystemForce.h /^ inline unsigned int ImproperSystemForce::numberOfBlocks(const GenericTopology* topo, $/;" f class:ProtoMol::ImproperSystemForce numberOfBlocks framework/forces/NonbondedCutoffForce.h /^ virtual unsigned int numberOfBlocks(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedCutoffForce numberOfBlocks framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::numberOfBlocks(const GenericTopology* topo,$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce numberOfBlocks framework/forces/NonbondedFullSystemForce.h /^ virtual unsigned int numberOfBlocks(const GenericTopology*, const Vector3DBlock*){return Parallel::getAvailableNum();} $/;" f class:ProtoMol::NonbondedFullSystemForce numberOfBlocks framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* positions){$/;" f class:ProtoMol::NonbondedMultiGridSystemForce numberOfBlocks framework/forces/NonbondedPMEwaldSystemForce.h /^ real,reciprocal,correction,TInterpolation,TSwitchingFunction>::numberOfBlocks(const GenericTopology* topo,$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce numberOfBlocks framework/forces/NonbondedSimpleFullSystemForce.h /^ virtual unsigned int numberOfBlocks(const GenericTopology*, const Vector3DBlock*){$/;" f class:ProtoMol::NonbondedSimpleFullSystemForce numberOfBlocks framework/forces/PaulTrapExtendedForce.h /^ inline unsigned int PaulTrapExtendedForce::numberOfBlocks(const GenericTopology*,$/;" f class:ProtoMol::PaulTrapExtendedForce numberOfBlocks framework/forces/SphericalSystemForce.cpp /^ unsigned int SphericalSystemForce::numberOfBlocks(const GenericTopology* , $/;" f class:ProtoMol::SphericalSystemForce numberOfBlocks framework/forces/TimeForce.cpp /^ unsigned int TimeForce::numberOfBlocks(const GenericTopology* topo,$/;" f class:ProtoMol::TimeForce o applications/xyzviz-app/xyzviz.cpp /^ double x,y,z,o;$/;" m struct:Opaque file: obj framework/frontend/Factory.h /^ static Factory* obj;$/;" m class:ProtoMol::Factory obj framework/frontend/Factory.h /^ Factory* Factory::obj=NULL;$/;" m class:ProtoMol::Factory obj framework/frontend/HelpTextFactory.h /^ static HelpTextFactory* obj;$/;" m class:ProtoMol::HelpTextFactory obj framework/parallel/Parallel.cpp /^ Parallel* Parallel::obj = NULL;$/;" m class:ProtoMol::Parallel file: obj framework/parallel/Parallel.h /^ static Parallel* obj; \/\/\/< Instance$/;" m class:ProtoMol::Parallel occupancy framework/base/PDB.h /^ Real occupancy; \/\/\/< occupancy $/;" m struct:ProtoMol::PDB::PDBAtom off_type framework/base/sstream_local.h /^ typedef streamoff off_type;$/;" t class:std::stringbuf ok framework/base/Value.h /^ bool ok;$/;" m class:ProtoMol::Value::Holder ok framework/parallel/Parallel.cpp /^ bool Parallel::ok(const string& err){$/;" f class:ProtoMol::Parallel ok framework/parallel/Parallel.h /^ static bool ok() {return (myInitialized && !myFinalized);}$/;" f class:ProtoMol::Parallel old_charge applications/iSGProtomol-app/base/TRANS.h /^ Array old_charge;$/;" m struct:ProtoMol::TRANS::AtomType old_charge applications/iSGProtomol-app/integrators/ModifierISG.h /^ Array old_charge;$/;" m struct:ProtoMol::ModifierISG::TransformMap old_type applications/iSGProtomol-app/base/XSC.h /^ unsigned int myMolecule, old_type, new_type;$/;" m struct:ProtoMol::XSC opaque applications/xyzviz-app/xyzviz.cpp /^static double opaque = 0.6;$/;" v file: opaqueSort applications/xyzviz-app/xyzviz.cpp /^static vector opaqueSort;$/;" v file: open applications/iSGProtomol-app/io/TRANSReader.h /^ virtual bool open(){return File::open();};$/;" f class:ProtoMol::TRANSReader open applications/iSGProtomol-app/io/TRANSReader.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::TRANSReader open applications/iSGProtomol-app/io/TRANSReader.h /^ virtual bool open(const std::string& filename){return File::open(filename);};$/;" f class:ProtoMol::TRANSReader open applications/iSGProtomol-app/io/XSCReader.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::XSCReader open applications/iSGProtomol-app/io/XSCReader.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::XSCReader open applications/iSGProtomol-app/io/XSCReader.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::XSCReader open applications/iSGProtomol-app/io/XSCWriter.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::XSCWriter open applications/iSGProtomol-app/io/XSCWriter.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::XSCWriter open applications/iSGProtomol-app/io/XSCWriter.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::XSCWriter open applications/iSGProtomol-app/io/iSGPARReader.cpp /^ bool iSGPARReader::open(const std::string& filename, iSGPAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::iSGPARReader open applications/iSGProtomol-app/io/iSGPARReader.cpp /^ bool iSGPARReader::open(iSGPAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::iSGPARReader open applications/iSGProtomol-app/io/iSGPARReader.h /^ virtual bool open(){return File::open();};$/;" f class:ProtoMol::iSGPARReader open applications/iSGProtomol-app/io/iSGPARReader.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::iSGPARReader open applications/iSGProtomol-app/io/iSGPARReader.h /^ virtual bool open(const std::string& filename){return File::open(filename);};$/;" f class:ProtoMol::iSGPARReader open applications/iSGProtomol-app/io/iSGPARReader.h /^ inline bool iSGPARReader::open(const char* filename, iSGPAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::iSGPARReader open framework/frontend/InputPosVel.cpp /^ bool InputPosVel::open(){$/;" f class:ProtoMol::InputPosVel open framework/frontend/InputPosVel.cpp /^ bool InputPosVel::open(const string& filename){$/;" f class:ProtoMol::InputPosVel open framework/frontend/OutputFile.cpp /^ bool OutputFile::open(){$/;" f class:ProtoMol::OutputFile open framework/io/ConfigurationReader.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::ConfigurationReader open framework/io/ConfigurationReader.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::ConfigurationReader open framework/io/ConfigurationReader.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::ConfigurationReader open framework/io/DCDTrajectoryReader.h /^ virtual bool open(){myFirst=true;return File::open();}$/;" f class:ProtoMol::DCDTrajectoryReader open framework/io/DCDTrajectoryReader.h /^ virtual bool open(const char* filename){myFirst=true;return File::open(filename);}$/;" f class:ProtoMol::DCDTrajectoryReader open framework/io/DCDTrajectoryReader.h /^ virtual bool open(const std::string& filename){myFirst=true;return File::open(filename);}$/;" f class:ProtoMol::DCDTrajectoryReader open framework/io/DCDTrajectoryWriter.cpp /^ bool DCDTrajectoryWriter::open(Real timestep, unsigned int firststep, bool isLittleEndian){$/;" f class:ProtoMol::DCDTrajectoryWriter open framework/io/DCDTrajectoryWriter.cpp /^ bool DCDTrajectoryWriter::open(const char* filename, Real timestep, unsigned int firststep, bool isLittleEndian){$/;" f class:ProtoMol::DCDTrajectoryWriter open framework/io/DCDTrajectoryWriter.cpp /^ bool DCDTrajectoryWriter::open(const string& filename, Real timestep, unsigned int firststep, bool isLittleEndian){$/;" f class:ProtoMol::DCDTrajectoryWriter open framework/io/DCDTrajectoryWriter.h /^ virtual bool open(){myFirst = false;return File::open();}$/;" f class:ProtoMol::DCDTrajectoryWriter open framework/io/DCDTrajectoryWriter.h /^ virtual bool open(const char* filename){myFirst = false;return File::open(filename);}$/;" f class:ProtoMol::DCDTrajectoryWriter open framework/io/DCDTrajectoryWriter.h /^ virtual bool open(const std::string& filename){myFirst = false;return File::open(filename);}$/;" f class:ProtoMol::DCDTrajectoryWriter open framework/io/File.cpp /^ bool File::open(){$/;" f class:ProtoMol::File open framework/io/File.cpp /^ bool File::open(const char* filename){$/;" f class:ProtoMol::File open framework/io/File.cpp /^ bool File::open(const string& filename){$/;" f class:ProtoMol::File open framework/io/PARReader.cpp /^ bool PARReader::open(PAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::PARReader open framework/io/PARReader.cpp /^ bool PARReader::open(const std::string& filename, PAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::PARReader open framework/io/PARReader.h /^ virtual bool open(){return File::open();};$/;" f class:ProtoMol::PARReader open framework/io/PARReader.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::PARReader open framework/io/PARReader.h /^ virtual bool open(const std::string& filename){return File::open(filename);};$/;" f class:ProtoMol::PARReader open framework/io/PARReader.h /^ inline bool PARReader::open(const char* filename, PAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::PARReader open framework/io/PARWriter.cpp /^ bool PARWriter::open(PAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::PARWriter open framework/io/PARWriter.cpp /^ bool PARWriter::open(const char* filename, PAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::PARWriter open framework/io/PARWriter.cpp /^ bool PARWriter::open(const std::string& filename, PAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::PARWriter open framework/io/PARWriter.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::PARWriter open framework/io/PARWriter.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::PARWriter open framework/io/PARWriter.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::PARWriter open framework/io/PDBReader.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::PDBReader open framework/io/PDBReader.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::PDBReader open framework/io/PDBReader.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::PDBReader open framework/io/PDBWriter.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::PDBWriter open framework/io/PDBWriter.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::PDBWriter open framework/io/PDBWriter.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::PDBWriter open framework/io/PGMReader.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::PGMReader open framework/io/PGMReader.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::PGMReader open framework/io/PGMReader.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::PGMReader open framework/io/PGMWriter.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::PGMWriter open framework/io/PGMWriter.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::PGMWriter open framework/io/PGMWriter.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::PGMWriter open framework/io/PNGWriter.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::PNGWriter open framework/io/PNGWriter.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::PNGWriter open framework/io/PNGWriter.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::PNGWriter open framework/io/PPMReader.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::PPMReader open framework/io/PPMReader.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::PPMReader open framework/io/PPMReader.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::PPMReader open framework/io/PPMWriter.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::PPMWriter open framework/io/PPMWriter.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::PPMWriter open framework/io/PPMWriter.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::PPMWriter open framework/io/PSFReader.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::PSFReader open framework/io/PSFReader.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::PSFReader open framework/io/PSFReader.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::PSFReader open framework/io/PSFWriter.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::PSFWriter open framework/io/PSFWriter.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::PSFWriter open framework/io/PSFWriter.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::PSFWriter open framework/io/XFigWriter.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::XFigWriter open framework/io/XFigWriter.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::XFigWriter open framework/io/XFigWriter.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::XFigWriter open framework/io/XYZBinReader.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::XYZBinReader open framework/io/XYZBinReader.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::XYZBinReader open framework/io/XYZBinReader.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::XYZBinReader open framework/io/XYZBinWriter.cpp /^ bool XYZBinWriter::open(bool isLittleEndian, unsigned int size){$/;" f class:ProtoMol::XYZBinWriter open framework/io/XYZBinWriter.cpp /^ bool XYZBinWriter::open(const char* filename, bool isLittleEndian, unsigned int size){$/;" f class:ProtoMol::XYZBinWriter open framework/io/XYZBinWriter.cpp /^ bool XYZBinWriter::open(const std::string& filename, bool isLittleEndian, unsigned int size){$/;" f class:ProtoMol::XYZBinWriter open framework/io/XYZBinWriter.h /^ virtual bool open(){return File::open();};$/;" f class:ProtoMol::XYZBinWriter open framework/io/XYZBinWriter.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::XYZBinWriter open framework/io/XYZBinWriter.h /^ virtual bool open(const std::string& filename){return File::open(filename);};$/;" f class:ProtoMol::XYZBinWriter open framework/io/XYZReader.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::XYZReader open framework/io/XYZReader.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::XYZReader open framework/io/XYZReader.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::XYZReader open framework/io/XYZTrajectoryReader.h /^ virtual bool open(){myFirst=true;return File::open();}$/;" f class:ProtoMol::XYZTrajectoryReader open framework/io/XYZTrajectoryReader.h /^ virtual bool open(const char* filename){myFirst=true;return File::open(filename);}$/;" f class:ProtoMol::XYZTrajectoryReader open framework/io/XYZTrajectoryReader.h /^ virtual bool open(const std::string& filename){myFirst=true;return File::open(filename);}$/;" f class:ProtoMol::XYZTrajectoryReader open framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::open(const XYZ& xyz){$/;" f class:ProtoMol::XYZTrajectoryWriter open framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::open(const std::string& filename, const XYZ& xyz){$/;" f class:ProtoMol::XYZTrajectoryWriter open framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::open(const std::string& filename, const std::vector& names){$/;" f class:ProtoMol::XYZTrajectoryWriter open framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::open(const std::string& filename,const std::vector& atoms, const std::vector& atomTypes){$/;" f class:ProtoMol::XYZTrajectoryWriter open framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::open(const std::vector& atoms, const std::vector& atomTypes){$/;" f class:ProtoMol::XYZTrajectoryWriter open framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::open(const std::vector& names){$/;" f class:ProtoMol::XYZTrajectoryWriter open framework/io/XYZTrajectoryWriter.h /^ virtual bool open(){myFirst = false;return File::open();}$/;" f class:ProtoMol::XYZTrajectoryWriter open framework/io/XYZTrajectoryWriter.h /^ virtual bool open(const char* filename){myFirst = false;return File::open(filename);}$/;" f class:ProtoMol::XYZTrajectoryWriter open framework/io/XYZTrajectoryWriter.h /^ virtual bool open(const std::string& filename){myFirst = false;return File::open(filename);}$/;" f class:ProtoMol::XYZTrajectoryWriter open framework/io/XYZWriter.h /^ virtual bool open(){return File::open();}$/;" f class:ProtoMol::XYZWriter open framework/io/XYZWriter.h /^ virtual bool open(const char* filename){return File::open(filename);}$/;" f class:ProtoMol::XYZWriter open framework/io/XYZWriter.h /^ virtual bool open(const std::string& filename){return File::open(filename);}$/;" f class:ProtoMol::XYZWriter openglToEPS applications/xyzviz-app/openglutilities.cpp /^ unsigned int openglToEPS(ostream& output,void (*display)()){$/;" f namespace:ProtoMol openglToPGM applications/xyzviz-app/openglutilities.cpp /^ void openglToPGM(PGM& pgm){$/;" f namespace:ProtoMol openglToPPM applications/xyzviz-app/openglutilities.cpp /^ void openglToPPM(PPM& ppm){$/;" f namespace:ProtoMol openglToPlain applications/xyzviz-app/openglutilities.cpp /^ unsigned int openglToPlain(ostream& output,void (*display)()){$/;" f namespace:ProtoMol operator ! framework/frontend/InputPosVel.cpp /^ bool InputPosVel::operator!() const { $/;" f class:ProtoMol::InputPosVel operator ! framework/io/File.cpp /^ bool File::operator!() const { $/;" f class:ProtoMol::File operator != framework/base/AbstractEnumType.h /^ bool operator!=(Enum a) {return (a != myType);}$/;" f class:ProtoMol::AbstractEnumType operator != framework/base/AbstractEnumType.h /^ bool operator!=(const AbstractEnumType& a) {return (a.myType != myType);}$/;" f class:ProtoMol::AbstractEnumType operator != framework/base/Array_Fastest.h /^ inline bool operator != (const Array & A, const Array & B) $/;" f namespace:ProtoMol operator != framework/base/Array_NoPartialSpecialization.h /^ bool operator != (const Array & A, const Array & B) $/;" f namespace:ProtoMol operator != framework/base/Matrix3by3.cpp /^ bool Matrix3by3::operator!=(const Matrix3by3& tm) const$/;" f class:ProtoMol::Matrix3by3 operator != framework/base/Value.h /^ friend bool operator!=(const T& v1, const Value& v2) {return !(Value(v1) == v2);}$/;" f class:ProtoMol::Value operator != framework/base/Value.h /^ friend bool operator!=(const Value& v1, const T& v2) {return !(v1 == Value(v2));}$/;" f class:ProtoMol::Value operator != framework/base/Value.h /^ friend bool operator!=(const Value& v1, const Value& v2){return !(v1 == v2);}$/;" f class:ProtoMol::Value operator != framework/base/Vector3D.h /^ bool operator!=(const Vector3D& b) const {$/;" f class:ProtoMol::Vector3D operator () applications/iSGProtomol-app/forces/iSGCoulombEwaldRealForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::iSGCoulombEwaldRealForce operator () applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::iSGCoulombEwaldRealTableForce operator () applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::iSGCoulombForce operator () applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::iSGIdealGasCoulombForce operator () applications/iSGProtomol-app/forces/iSGIdealGasLennardJonesForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::iSGIdealGasLennardJonesForce operator () applications/iSGProtomol-app/forces/iSGLennardJonesForce.h /^ void operator()(Real &energy,$/;" f class:ProtoMol::iSGLennardJonesForce operator () applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::iSGLennardJonesTableForce operator () framework/base/Array_Fastest.h /^ ArraySize<2> operator () (size_t dim) $/;" f class:ProtoMol::ArraySizes operator () framework/base/Array_Fastest.h /^ ArraySize operator () (size_t dim) $/;" f class:ProtoMol::ArraySize operator () framework/base/Array_NoPartialSpecialization.h /^ ArraySize<2> operator () (unsigned int dim) $/;" f class:ProtoMol::ArraySizes operator () framework/base/Array_NoPartialSpecialization.h /^ ArraySize operator () (unsigned int dim) $/;" f class:ProtoMol::ArraySize operator () framework/base/Matrix3by3.cpp /^ Real Matrix3by3::operator()(int i, int j) const$/;" f class:ProtoMol::Matrix3by3 operator () framework/base/Matrix3by3.cpp /^ void Matrix3by3::operator()(Real x00, Real x01, Real x02,$/;" f class:ProtoMol::Matrix3by3 operator () framework/base/Matrix3by3.cpp /^ void Matrix3by3::operator()(int i, int j, Real x)$/;" f class:ProtoMol::Matrix3by3 operator () framework/base/ReducedHessAngle.cpp /^ Matrix3by3 ReducedHessAngle::operator()(int i, int j) const$/;" f class:ProtoMol::ReducedHessAngle operator () framework/base/ReducedHessAngle.cpp /^ void ReducedHessAngle::operator()(int i, int j, Matrix3by3 x) $/;" f class:ProtoMol::ReducedHessAngle operator () framework/base/Report.cpp /^ MyStreamer& debug::operator()(MyStreamer& stream) const{$/;" f class:ProtoMol::Report::debug operator () framework/base/Report.cpp /^ MyStreamer& reportlevel::operator()(MyStreamer& stream) const{$/;" f class:ProtoMol::Report::reportlevel operator () framework/base/Vector.h /^ VectorPacker operator () (T elm){ $/;" f class:ProtoMol::Vector operator () framework/base/Vector.h /^ VectorPacker operator () (T elm) { $/;" f class:ProtoMol::VectorPacker operator () framework/base/stringutilities.cpp /^ bool ltstrNocase::operator()(const string& s1, const string& s2) const{$/;" f class:ProtoMol::ltstrNocase operator () framework/forces/CoulombEwaldRealForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::CoulombEwaldRealForce operator () framework/forces/CoulombEwaldRealTableForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::CoulombEwaldRealTableForce operator () framework/forces/CoulombForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::CoulombForce operator () framework/forces/CoulombMultiGridDirectForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::CoulombMultiGridDirectForce operator () framework/forces/CoulombMultiGridDirectTableForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::CoulombMultiGridDirectTableForce operator () framework/forces/GravitationForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::GravitationForce operator () framework/forces/LennardJonesForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::LennardJonesForce operator () framework/forces/LennardJonesTableForce.h /^ void operator()(Real &energy, $/;" f class:ProtoMol::LennardJonesTableForce operator () framework/forces/MagneticDipoleForce.cpp /^ void MagneticDipoleForce::operator()(Real &energy, $/;" f class:ProtoMol::MagneticDipoleForce operator () framework/forces/ReducedHessCoulomb.cpp /^ Matrix3by3 ReducedHessCoulomb::operator()(const Real rawEnergy,$/;" f class:ProtoMol::ReducedHessCoulomb operator () framework/forces/ReducedHessLennardJones.cpp /^ Matrix3by3 ReducedHessLennardJones::operator()(const Real rawEnergy,$/;" f class:ProtoMol::ReducedHessLennardJones operator () framework/topology/BankLennardJonesParameterTable.h /^ const LennardJonesParameters& operator()(int i, int j, int type1, int type2) const{$/;" f struct:ProtoMol::BankLennardJonesParameterTable operator () framework/topology/C1SwitchingFunction.h /^ void operator()(Real &value, Real &derivOverD, Real distSquared) const{$/;" f class:ProtoMol::C1SwitchingFunction operator () framework/topology/C2SwitchingFunction.h /^ void operator()(Real &value, Real &deriv, Real distSquared) const{$/;" f class:ProtoMol::C2SwitchingFunction operator () framework/topology/ComplementSwitchingFunction.h /^ void operator()(Real &value, Real &derivOverD, Real distSquared) const{$/;" f class:ProtoMol::ComplementSwitchingFunction operator () framework/topology/CutoffSwitchingFunction.h /^ void operator()(Real &value, Real &derivOverD, Real distSquared) const{$/;" f class:ProtoMol::CutoffSwitchingFunction operator () framework/topology/LennardJonesParameterTable.h /^ const LennardJonesParameters& operator()(int type1, int type2) const{$/;" f class:ProtoMol::LennardJonesParameterTable operator () framework/topology/RangeSwitchingFunction.h /^ inline void RangeSwitchingFunction::operator()(Real &value, Real &derivOverD, Real distSquared) const {$/;" f class:ProtoMol::RangeSwitchingFunction operator () framework/topology/ShiftSwitchingFunction.h /^ void operator()(Real &value, Real &derivOverD, Real distSquared) const{$/;" f class:ProtoMol::ShiftSwitchingFunction operator () framework/topology/UniversalSwitchingFunction.h /^ void operator()(Real &value, Real &deriv, Real \/*distSquared*\/) const{ value=1.0; deriv=0.0;}$/;" f class:ProtoMol::UniversalSwitchingFunction operator () tools/bccAnalyzer.cpp /^ bool operator()(const PairVector3D& a, const PairVector3D& b) const {$/;" f class:PairVector3D operator () tools/bccAnalyzer.cpp /^ bool operator()(const Vector3D& v1, const Vector3D& v2) const{$/;" f class:radialCmpVector3D operator () tools/bccAnalyzer.cpp /^ bool operator()(const Vector3DIdx& v1, const Vector3DIdx& v2) const{$/;" f class:radialCmpVector3D operator * framework/base/Matrix3by3.cpp /^ Matrix3by3 Matrix3by3::operator*(const Matrix3by3& tm) const $/;" f class:ProtoMol::Matrix3by3 operator * framework/base/Matrix3by3.cpp /^ Matrix3by3 Matrix3by3::operator*(const Real tm) const $/;" f class:ProtoMol::Matrix3by3 operator * framework/base/Matrix3by3.cpp /^ Vector3D Matrix3by3::operator*(const Vector3D& tm) const $/;" f class:ProtoMol::Matrix3by3 operator * framework/base/Matrix3by3.cpp /^ Vector3D operator*(const Vector3D& point, const Matrix3by3& tm)$/;" f namespace:ProtoMol operator * framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle ReducedHessAngle::operator*(const Real tm) $/;" f class:ProtoMol::ReducedHessAngle operator * framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle ReducedHessAngle::operator*(const ReducedHessAngle& tm) $/;" f class:ProtoMol::ReducedHessAngle operator * framework/base/Vector3D.h /^ Real operator*(const Vector3D& b) const{$/;" f class:ProtoMol::Vector3D operator * framework/base/Vector3D.h /^ Vector3D operator*(Real w) const {$/;" f class:ProtoMol::Vector3D operator *= framework/base/Matrix3by3.cpp /^ Matrix3by3& Matrix3by3::operator*=(const Matrix3by3& tm)$/;" f class:ProtoMol::Matrix3by3 operator *= framework/base/Matrix3by3.cpp /^ Matrix3by3& Matrix3by3::operator*=(const Real tm)$/;" f class:ProtoMol::Matrix3by3 operator *= framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle& ReducedHessAngle::operator*=(const Real tm) $/;" f class:ProtoMol::ReducedHessAngle operator *= framework/base/Vector3D.h /^ Vector3D &operator*=(Real w) {$/;" f class:ProtoMol::Vector3D operator + framework/base/Matrix3by3.cpp /^ Matrix3by3 Matrix3by3::operator+(const Matrix3by3& tm) const $/;" f class:ProtoMol::Matrix3by3 operator + framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle ReducedHessAngle::operator+(const ReducedHessAngle& tm) $/;" f class:ProtoMol::ReducedHessAngle operator + framework/base/Timer.cpp /^ TimeRep TimeRep::operator+(const TimeRep& time) const$/;" f class:ProtoMol::TimeRep operator + framework/base/Vector3D.h /^ Vector3D operator+(const Vector3D& b) const {$/;" f class:ProtoMol::Vector3D operator + framework/topology/CubicCellLocation.h /^ CubicCellLocation operator+(const CubicCellLocation& b) const {return CubicCellLocation(x+b.x,y+b.y,z+b.z);}$/;" f class:ProtoMol::CubicCellLocation operator += framework/base/Matrix3by3.cpp /^ Matrix3by3& Matrix3by3::operator+=(const Matrix3by3& tm)$/;" f class:ProtoMol::Matrix3by3 operator += framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle& ReducedHessAngle::operator+=(const ReducedHessAngle& tm) $/;" f class:ProtoMol::ReducedHessAngle operator += framework/base/Timer.cpp /^ TimeRep& TimeRep::operator+=(const TimeRep& time)$/;" f class:ProtoMol::TimeRep operator += framework/base/Timer.cpp /^ Timer& Timer::operator+=(const TimeRep& time)$/;" f class:ProtoMol::Timer operator += framework/base/Vector3D.h /^ Vector3D &operator+=(const Vector3D& b) {$/;" f class:ProtoMol::Vector3D operator - framework/base/Matrix3by3.cpp /^ Matrix3by3 Matrix3by3::operator-(const Matrix3by3& tm) const $/;" f class:ProtoMol::Matrix3by3 operator - framework/base/Matrix3by3.cpp /^ Matrix3by3 Matrix3by3::operator-(void) const $/;" f class:ProtoMol::Matrix3by3 operator - framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle ReducedHessAngle::operator-(const ReducedHessAngle& tm) $/;" f class:ProtoMol::ReducedHessAngle operator - framework/base/Timer.cpp /^ TimeRep TimeRep::operator-(const TimeRep& time) const$/;" f class:ProtoMol::TimeRep operator - framework/base/Vector3D.h /^ Vector3D operator-() const {$/;" f class:ProtoMol::Vector3D operator - framework/base/Vector3D.h /^ Vector3D operator-(const Vector3D& b) const {$/;" f class:ProtoMol::Vector3D operator - framework/topology/CubicCellLocation.h /^ CubicCellLocation operator-(const CubicCellLocation& b) const {return CubicCellLocation(x-b.x,y-b.y,z-b.z);}$/;" f class:ProtoMol::CubicCellLocation operator -= framework/base/Matrix3by3.cpp /^ Matrix3by3& Matrix3by3::operator-=(const Matrix3by3& tm)$/;" f class:ProtoMol::Matrix3by3 operator -= framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle& ReducedHessAngle::operator-=(const ReducedHessAngle& tm) $/;" f class:ProtoMol::ReducedHessAngle operator -= framework/base/Timer.cpp /^ TimeRep& TimeRep::operator-=(const TimeRep& time)$/;" f class:ProtoMol::TimeRep operator -= framework/base/Timer.cpp /^ Timer& Timer::operator-=(const TimeRep& time)$/;" f class:ProtoMol::Timer operator -= framework/base/Vector3D.h /^ Vector3D &operator-=(const Vector3D& b) {$/;" f class:ProtoMol::Vector3D operator / framework/base/Matrix3by3.cpp /^ Matrix3by3 Matrix3by3::operator\/(const Real tm) const$/;" f class:ProtoMol::Matrix3by3 operator / framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle ReducedHessAngle::operator\/(const Real tm) $/;" f class:ProtoMol::ReducedHessAngle operator / framework/base/Vector3D.h /^ Vector3D operator\/(Real w) const {$/;" f class:ProtoMol::Vector3D operator /= framework/base/Matrix3by3.cpp /^ Matrix3by3& Matrix3by3::operator\/=(const Real tm)$/;" f class:ProtoMol::Matrix3by3 operator /= framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle& ReducedHessAngle::operator\/=(const Real tm) $/;" f class:ProtoMol::ReducedHessAngle operator /= framework/base/Vector3D.h /^ Vector3D &operator\/=(Real w) {$/;" f class:ProtoMol::Vector3D operator < applications/xyzviz-app/openglutilities.cpp /^ bool operator<(const DepthIndex& a2) const{$/;" f struct:ProtoMol::DepthIndex operator < framework/base/Value.cpp /^ bool operator<(const Value& v1, const Value& v2){$/;" f namespace:ProtoMol operator < framework/base/Value.h /^ friend bool operator<(const T& v1, const Value& v2) {return (Value(v1) < v2);}$/;" f class:ProtoMol::Value operator < framework/base/Value.h /^ friend bool operator<(const Value& v1, const T& v2) {return (v1 < Value(v2));}$/;" f class:ProtoMol::Value operator < framework/base/simpleTypes.h /^ bool operator<(const PairIntSorted& p) const{$/;" f struct:ProtoMol::PairIntSorted operator < framework/integrators/BSplineMOLLYIntegrator.h /^ bool operator<(const BondIndex& a) const {$/;" f struct:ProtoMol::BSplineMOLLYIntegrator::BondIndex operator < framework/integrators/Modifier.h /^ inline bool Modifier::operator<(const Modifier & m) const {$/;" f class:ProtoMol::Modifier operator < framework/topology/CubicCellLocation.h /^ inline bool CubicCellLocation::operator<(const CubicCellLocation &c) const {$/;" f class:ProtoMol::CubicCellLocation operator < framework/topology/ExclusionTable.h /^ bool operator<(const ExclusionPair & e) const{$/;" f struct:ProtoMol::ExclusionPair operator << applications/iSGProtomol-app/io/XSCWriter.cpp /^ XSCWriter& operator<<(XSCWriter& xscWriter, const XSC& xsc){$/;" f namespace:ProtoMol operator << framework/base/AbstractEnumType.h /^ friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const AbstractEnumType& b){return (OS< & operator = (const Array & A)$/;" f class:ProtoMol::Array operator = framework/base/Array_NoPartialSpecialization.h /^ Array & operator = (const Array & A)$/;" f class:ProtoMol::Array operator = framework/base/PGM.cpp /^ PGM& PGM::operator=(const PPM& ppm){$/;" f class:ProtoMol::PGM operator = framework/base/PPM.cpp /^ PPM& PPM::operator=(const PGM& pgm){$/;" f class:ProtoMol::PPM operator = framework/base/Value.cpp /^ Value & Value::operator=(const Value & rhs) {$/;" f class:ProtoMol::Value operator = framework/base/Value.h /^ Value& operator=(const T& value){$/;" f class:ProtoMol::Value operator = framework/base/Vector3D.h /^ Vector3D& operator=(const Vector3D &c) {$/;" f class:ProtoMol::Vector3D operator = framework/forces/CoulombEwaldRealTableForce.cpp /^ CoulombEwaldRealTableForce& CoulombEwaldRealTableForce::operator=(CoulombEwaldRealTableForce const& other){$/;" f class:ProtoMol::CoulombEwaldRealTableForce operator = framework/forces/CoulombMultiGridDirectTableForce.h /^ CoulombMultiGridDirectTableForce& operator=(CoulombMultiGridDirectTableForce const& other){$/;" f class:ProtoMol::CoulombMultiGridDirectTableForce operator = framework/forces/LennardJonesTableForce.cpp /^ LennardJonesTableForce& LennardJonesTableForce::operator=(LennardJonesTableForce const& other){$/;" f class:ProtoMol::LennardJonesTableForce operator = framework/frontend/Factory.h /^ Factory& operator=(const Factory&){return *this;}$/;" f class:ProtoMol::Factory operator = framework/frontend/Factory.h /^ FactoryBase& operator=(const FactoryBase&){return *this;}$/;" f class:ProtoMol::FactoryBase operator = framework/frontend/ForceFactoryDetails.cpp /^ ForceFactoryDetails& ForceFactoryDetails::operator=(const ForceFactoryDetails&){return *this;}$/;" f class:ProtoMol::ForceFactoryDetails operator = framework/frontend/HelpTextFactory.cpp /^ HelpTextFactory& HelpTextFactory::operator=(const HelpTextFactory&){return *this;}$/;" f class:ProtoMol::HelpTextFactory operator = framework/frontend/InputValue.h /^ InputValue & operator=(const InputValue & rhs) {$/;" f class:ProtoMol::InputValue operator = framework/frontend/InputValue.h /^ InputValue& operator=(const T& value){$/;" f class:ProtoMol::InputValue operator = framework/frontend/InputValue.h /^ InputValue& operator=(const char* value){return operator=(std::string(value));}$/;" f class:ProtoMol::InputValue operator = framework/frontend/IntegratorFactoryDetails.cpp /^ IntegratorFactoryDetails& IntegratorFactoryDetails::operator=(const IntegratorFactoryDetails&){return *this;}$/;" f class:ProtoMol::IntegratorFactoryDetails operator = framework/frontend/OutputFactoryDetails.cpp /^ OutputFactoryDetails& OutputFactoryDetails::operator=(const OutputFactoryDetails&){return *this;}$/;" f class:ProtoMol::OutputFactoryDetails operator = framework/frontend/TopologyFactoryDetails.cpp /^ TopologyFactoryDetails& TopologyFactoryDetails::operator=(const TopologyFactoryDetails&){return *this;}$/;" f class:ProtoMol::TopologyFactoryDetails operator = framework/parallel/Parallel.h /^ Parallel& operator=(const Parallel&){return *this;}$/;" f class:ProtoMol::Parallel operator == framework/base/AbstractEnumType.h /^ bool operator==(Enum a) {return (a == myType);}$/;" f class:ProtoMol::AbstractEnumType operator == framework/base/AbstractEnumType.h /^ bool operator==(const AbstractEnumType& a) {return (a.myType == myType);}$/;" f class:ProtoMol::AbstractEnumType operator == framework/base/Array_Fastest.h /^ inline bool operator == (const Array & A, const Array & B)$/;" f namespace:ProtoMol operator == framework/base/Array_NoPartialSpecialization.h /^ bool operator == (const Array & A, const Array & B)$/;" f namespace:ProtoMol operator == framework/base/Matrix3by3.cpp /^ bool Matrix3by3::operator==(const Matrix3by3& tm) const$/;" f class:ProtoMol::Matrix3by3 operator == framework/base/Value.cpp /^ bool operator==(const Value& v1, const Value& v2){$/;" f namespace:ProtoMol operator == framework/base/Value.h /^ friend bool operator==(const T& v1, const Value& v2){return (Value(v1) == v2);}$/;" f class:ProtoMol::Value operator == framework/base/Value.h /^ friend bool operator==(const Value& v1, const T& v2){return (v1 == Value(v2));}$/;" f class:ProtoMol::Value operator == framework/base/Vector3D.h /^ bool operator==(const Vector3D& b) const {$/;" f class:ProtoMol::Vector3D operator == framework/base/simpleTypes.h /^ bool operator==(const PairIntSorted& p) const {return (first == p.first && second == p.second);}$/;" f struct:ProtoMol::PairIntSorted operator == framework/topology/CubicCellLocation.h /^ bool operator==(const CubicCellLocation& c) const {return (x == c.x && y == c.y && z == c.z);}$/;" f class:ProtoMol::CubicCellLocation operator > framework/base/Value.cpp /^ bool operator>(const Value& v1, const Value& v2){$/;" f namespace:ProtoMol operator > framework/base/Value.h /^ friend bool operator>(const T& v1, const Value& v2) {return (Value(v1) > v2);}$/;" f class:ProtoMol::Value operator > framework/base/Value.h /^ friend bool operator>(const Value& v1, const T& v2) {return (v1 > Value(v2));}$/;" f class:ProtoMol::Value operator >= framework/base/Value.cpp /^ bool operator>=(const Value& v1, const Value& v2){$/;" f namespace:ProtoMol operator >= framework/base/Value.h /^ friend bool operator>=(const T& v1, const Value& v2){return (Value(v1) >= v2);}$/;" f class:ProtoMol::Value operator >= framework/base/Value.h /^ friend bool operator>=(const Value& v1, const T& v2){return (v1 >= Value(v2));}$/;" f class:ProtoMol::Value operator >> applications/iSGProtomol-app/io/TRANSReader.cpp /^ TRANSReader& operator>>(TRANSReader& transReader, TRANS& trans){$/;" f namespace:ProtoMol operator >> applications/iSGProtomol-app/io/XSCReader.cpp /^ XSCReader& operator>>(XSCReader& xscReader, XSC& xsc){$/;" f namespace:ProtoMol operator >> applications/iSGProtomol-app/io/iSGPARReader.cpp /^ iSGPARReader& operator>>(iSGPARReader& parReader, iSGPAR& par){$/;" f namespace:ProtoMol operator >> framework/base/Value.h /^ friend std::istream& operator>>(std::istream& is, Value& v){ v.read(is); return is;}$/;" f class:ProtoMol::Value operator >> framework/base/Vector3D.h /^ friend std::istream& operator>>(std::istream& OS, Vector3D & coords){$/;" f class:ProtoMol::Vector3D operator >> framework/frontend/InputPosVel.cpp /^ InputPosVel& operator>>(InputPosVel& posReader, PDB& pdb){$/;" f namespace:ProtoMol operator >> framework/frontend/InputPosVel.cpp /^ InputPosVel& operator>>(InputPosVel& posReader, Vector3DBlock& coords){$/;" f namespace:ProtoMol operator >> framework/frontend/InputPosVel.cpp /^ InputPosVel& operator>>(InputPosVel& posReader, XYZ& xyz){$/;" f namespace:ProtoMol operator >> framework/io/ConfigurationReader.cpp /^ ConfigurationReader& operator>>(ConfigurationReader& configReader, Configuration& config){$/;" f namespace:ProtoMol operator >> framework/io/DCDTrajectoryReader.cpp /^ DCDTrajectoryReader& operator>>(DCDTrajectoryReader& dcdTrajectoryReader, Vector3DBlock& coords){$/;" f namespace:ProtoMol operator >> framework/io/DCDTrajectoryReader.cpp /^ DCDTrajectoryReader& operator>>(DCDTrajectoryReader& dcdTrajectoryReader, XYZ& xyz){$/;" f namespace:ProtoMol operator >> framework/io/PARReader.cpp /^ PARReader& operator>>(PARReader& parReader, PAR& par){$/;" f namespace:ProtoMol operator >> framework/io/PDBReader.cpp /^ PDBReader& operator>>(PDBReader& pdbReader, PDB& pdb){$/;" f namespace:ProtoMol operator >> framework/io/PDBReader.cpp /^ PDBReader& operator>>(PDBReader& pdbReader, Vector3DBlock& coords){$/;" f namespace:ProtoMol operator >> framework/io/PDBReader.cpp /^ PDBReader& operator>>(PDBReader& pdbReader, XYZ& xyz){$/;" f namespace:ProtoMol operator >> framework/io/PGMReader.cpp /^ PGMReader& operator>>(PGMReader& pgmReader, PGM& pgm){$/;" f namespace:ProtoMol operator >> framework/io/PGMReader.cpp /^ PGMReader& operator>>(PGMReader& pgmReader, PPM& ppm){$/;" f namespace:ProtoMol operator >> framework/io/PPMReader.cpp /^ PPMReader& operator>>(PPMReader& ppmReader, PGM& pgm){$/;" f namespace:ProtoMol operator >> framework/io/PPMReader.cpp /^ PPMReader& operator>>(PPMReader& ppmReader, PPM& ppm){$/;" f namespace:ProtoMol operator >> framework/io/PSFReader.cpp /^ PSFReader& operator>>(PSFReader& psfReader, PSF& psf){$/;" f namespace:ProtoMol operator >> framework/io/XYZBinReader.cpp /^ XYZBinReader& operator>>(XYZBinReader& xyzbinReader, Vector3DBlock& coords){$/;" f namespace:ProtoMol operator >> framework/io/XYZBinReader.cpp /^ XYZBinReader& operator>>(XYZBinReader& xyzbinReader, XYZ& xyz){$/;" f namespace:ProtoMol operator >> framework/io/XYZReader.cpp /^ XYZReader& operator>>(XYZReader& xyzReader, Vector3DBlock& coords){$/;" f namespace:ProtoMol operator >> framework/io/XYZReader.cpp /^ XYZReader& operator>>(XYZReader& xyzReader, XYZ& xyz){$/;" f namespace:ProtoMol operator >> framework/io/XYZTrajectoryReader.cpp /^ XYZTrajectoryReader& operator>>(XYZTrajectoryReader& xyzReader, Vector3DBlock& coords){$/;" f namespace:ProtoMol operator >> framework/io/XYZTrajectoryReader.cpp /^ XYZTrajectoryReader& operator>>(XYZTrajectoryReader& xyzReader, XYZ& xyz){$/;" f namespace:ProtoMol operator Enum framework/base/AbstractEnumType.h /^ operator Enum() const{return myType;}$/;" f class:ProtoMol::AbstractEnumType operator Enum framework/base/ConstraintValueType.h /^ operator Enum() const{return e;}$/;" f struct:ProtoMol::ConstraintValueEnum::Enum2Type operator Enum framework/base/ValueType.h /^ operator Enum() const{return e;}$/;" f struct:ProtoMol::ValueEnum::Enum2ValueType operator Real framework/base/Value.cpp /^ Value::operator Real() const {$/;" f class:ProtoMol::Value operator T framework/frontend/InputValue.h /^ operator T() const {$/;" f class:ProtoMol::InputValue operator UIntArrayN framework/base/Array_Fastest.h /^ operator UIntArrayN () const { return m_Dimensions; }$/;" f class:ProtoMol::ArraySize operator Value framework/frontend/InputValue.h /^ operator Value() const{return myValue;}$/;" f class:ProtoMol::InputValue operator Vector3D framework/base/Value.cpp /^ Value::operator Vector3D() const {$/;" f class:ProtoMol::Value operator [] framework/base/Array_Fastest.h /^ RefArray & operator [](size_type Index) $/;" f class:ProtoMol::Array operator [] framework/base/Array_Fastest.h /^ RefArray & operator [](size_type Index)$/;" f class:ProtoMol::RefArray operator [] framework/base/Array_Fastest.h /^ const RefArray & operator [](size_type Index) const $/;" f class:ProtoMol::Array operator [] framework/base/Array_Fastest.h /^ const RefArray & operator [](size_type Index) const$/;" f class:ProtoMol::RefArray operator [] framework/base/Array_Fastest.h /^ const_reference operator [](size_type Index) const$/;" f class:ProtoMol::RefArray operator [] framework/base/Array_Fastest.h /^ reference operator [](size_type Index)$/;" f class:ProtoMol::RefArray operator [] framework/base/Array_NoPartialSpecialization.h /^ RefArray operator [](size_type Index)$/;" f class:ProtoMol::Array::RefArray operator [] framework/base/Array_NoPartialSpecialization.h /^ const RefArray operator [](size_type Index) const$/;" f class:ProtoMol::Array::RefArray operator [] framework/base/Array_NoPartialSpecialization.h /^ const_reference operator [](size_type Index) const$/;" f class:ProtoMol::Array::RefArray operator [] framework/base/Array_NoPartialSpecialization.h /^ reference operator [](size_type Index)$/;" f class:ProtoMol::Array::RefArray operator [] framework/base/Array_NoPartialSpecialization.h /^ RefArray operator [](size_type Index) $/;" f class:ProtoMol::Array operator [] framework/base/Array_NoPartialSpecialization.h /^ const RefArray operator [](size_type Index) const $/;" f class:ProtoMol::Array operator [] framework/base/Configuration.cpp /^ Value& Configuration::operator[](const string& keyword){$/;" f class:ProtoMol::Configuration operator [] framework/base/Configuration.cpp /^ const Value& Configuration::operator[](const string& keyword) const{$/;" f class:ProtoMol::Configuration operator [] framework/base/Molecule.h /^ int operator [](int i ){return atoms[i];}$/;" f struct:ProtoMol::Molecule operator [] framework/base/ScalarStructure.h /^ Real operator [](Index i) const{return myTable[static_cast(i)];}$/;" f class:ProtoMol::ScalarStructure operator [] framework/base/ScalarStructure.h /^ Real& operator [](Index i){return myTable[static_cast(i)];}$/;" f class:ProtoMol::ScalarStructure operator [] framework/base/Vector3D.h /^ Real operator[](int index) const{$/;" f class:ProtoMol::Vector3D operator [] framework/base/Vector3D.h /^ Real& operator[](int index){$/;" f class:ProtoMol::Vector3D operator [] framework/topology/ArrayCellListStructure.h /^ T2& operator[](const T1& t1){$/;" f class:ProtoMol::ArrayCellListStructure operator ^ framework/base/Vector3D.h /^ Vector3D operator^(const Vector3D& b) const {$/;" f class:ProtoMol::Vector3D operator bool framework/base/Value.cpp /^ Value::operator bool() const {$/;" f class:ProtoMol::Value operator int framework/base/Value.cpp /^ Value::operator int() const {$/;" f class:ProtoMol::Value operator std::string framework/base/AbstractEnumType.h /^ operator std::string() const{return getString(myType);}$/;" f class:ProtoMol::AbstractEnumType operator std::string framework/base/Value.cpp /^ Value::operator std::string() const {$/;" f class:ProtoMol::Value operator std::string framework/base/ValueType.h /^ operator std::string() const{return str;}$/;" f struct:ProtoMol::ValueEnum::Enum2ValueType operator std::vector framework/base/Vector.h /^ operator std::vector () {return myVector;};$/;" f class:ProtoMol::VectorPacker operator std::vector framework/base/Vector.h /^ operator std::vector(){return myVector;};$/;" f class:ProtoMol::Vector operator unsigned int framework/base/Value.cpp /^ Value::operator unsigned int() const {$/;" f class:ProtoMol::Value operator vector framework/base/Value.cpp /^ Value::operator vector() const {$/;" f class:ProtoMol::Value operator void* framework/frontend/InputPosVel.cpp /^ InputPosVel::operator void*() const{$/;" f class:ProtoMol::InputPosVel operator void* framework/io/File.cpp /^ File::operator void*() const{$/;" f class:ProtoMol::File order framework/integrators/Modifier.h /^ int order() const{return myOrder;}$/;" f class:ProtoMol::Modifier origin framework/topology/PeriodicBoundaryConditions.h /^ const Vector3D& origin() const {return myOrigin;}$/;" f class:ProtoMol::PeriodicBoundaryConditions origin framework/topology/VacuumBoundaryConditions.cpp /^ Vector3D VacuumBoundaryConditions::origin() const {return Vector3D(0,0,0);}$/;" f class:ProtoMol::VacuumBoundaryConditions orphanAtoms framework/io/PDBReader.cpp /^ std::vector* PDBReader::orphanAtoms(){$/;" f class:ProtoMol::PDBReader orphanConfiguration framework/io/ConfigurationReader.cpp /^ Configuration* ConfigurationReader::orphanConfiguration(){$/;" f class:ProtoMol::ConfigurationReader orphanCoords framework/io/DCDTrajectoryReader.cpp /^ Vector3DBlock* DCDTrajectoryReader::orphanCoords(){$/;" f class:ProtoMol::DCDTrajectoryReader orphanCoords framework/io/PDBReader.cpp /^ Vector3DBlock* PDBReader::orphanCoords(){$/;" f class:ProtoMol::PDBReader orphanCoords framework/io/XYZBinReader.cpp /^ Vector3DBlock* XYZBinReader::orphanCoords(){$/;" f class:ProtoMol::XYZBinReader orphanCoords framework/io/XYZReader.cpp /^ Vector3DBlock* XYZReader::orphanCoords(){$/;" f class:ProtoMol::XYZReader orphanCoords framework/io/XYZTrajectoryReader.cpp /^ Vector3DBlock* XYZTrajectoryReader::orphanCoords(){$/;" f class:ProtoMol::XYZTrajectoryReader orphanNames framework/io/XYZReader.cpp /^ vector* XYZReader::orphanNames(){$/;" f class:ProtoMol::XYZReader orphanNames framework/io/XYZTrajectoryReader.cpp /^ vector* XYZTrajectoryReader::orphanNames(){$/;" f class:ProtoMol::XYZTrajectoryReader orphanPAR applications/iSGProtomol-app/io/iSGPARReader.cpp /^ iSGPAR* iSGPARReader::orphanPAR(){$/;" f class:ProtoMol::iSGPARReader orphanPAR framework/io/PARReader.cpp /^ PAR* PARReader::orphanPAR(){$/;" f class:ProtoMol::PARReader orphanPGM framework/io/PGMReader.cpp /^ PGM* PGMReader::orphanPGM(){$/;" f class:ProtoMol::PGMReader orphanPPM framework/io/PPMReader.cpp /^ PPM* PPMReader::orphanPPM(){$/;" f class:ProtoMol::PPMReader orphanPSF framework/io/PSFReader.cpp /^ PSF* PSFReader::orphanPSF(){$/;" f class:ProtoMol::PSFReader orphanTRANS applications/iSGProtomol-app/io/TRANSReader.cpp /^ TRANS* TRANSReader::orphanTRANS(){$/;" f class:ProtoMol::TRANSReader orphanXSC applications/iSGProtomol-app/io/XSCReader.cpp /^ XSC* XSCReader::orphanXSC(){$/;" f class:ProtoMol::XSCReader ostringstream framework/base/sstream_local.h /^ ostringstream(const std::string& s, int which=ios::out) :$/;" f class:std::ostringstream ostringstream framework/base/sstream_local.h /^ ostringstream(int which=ios::out) :$/;" f class:std::ostringstream ostringstream framework/base/sstream_local.h /^ class ostringstream : public stringstreambase, public ostream {$/;" c namespace:std ourIdentity framework/base/Matrix3by3.cpp /^ const Matrix3by3 Matrix3by3::ourIdentity = Matrix3by3(1,0,0, 0,1,0, 0,0,1);$/;" m class:ProtoMol::Matrix3by3 file: ourIdentity framework/base/Matrix3by3.h /^ static const Matrix3by3 ourIdentity;$/;" m class:ProtoMol::Matrix3by3 output framework/base/ScalarStructure.cpp /^ bool ScalarStructure::output(bool doOutput){$/;" f class:ProtoMol::ScalarStructure output framework/base/ScalarStructure.h /^ bool output() const {return myDoOutput;}$/;" f class:ProtoMol::ScalarStructure outputname applications/xyzviz-app/xyzviz.cpp /^static string outputname = "Noname";$/;" v file: overflow framework/base/sstream_local.h /^inline int std::stringbuf::overflow(int ch)$/;" f class:std::stringbuf p compilerTests/pngTest.cpp /^ unsigned char* p;$/;" m class:PPM file: p framework/base/PGM.h /^ unsigned char* p;$/;" m class:ProtoMol::PGM p framework/base/PPM.h /^ unsigned char* p;$/;" m class:ProtoMol::PPM pairs framework/base/Molecule.h /^ std::vector pairs;$/;" m struct:ProtoMol::Molecule par framework/frontend/OutputCache.h /^ const PAR& par() const {return myPAR;}$/;" f class:ProtoMol::OutputCache parallelEvaluate applications/iSGProtomol-app/forces/iSGAngleSystemForce.h /^ inline void iSGAngleSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::iSGAngleSystemForce parallelEvaluate applications/iSGProtomol-app/forces/iSGBondSystemForce.h /^ inline void iSGBondSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::iSGBondSystemForce parallelEvaluate applications/iSGProtomol-app/forces/iSGDihedralSystemForce.h /^ inline void iSGDihedralSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::iSGDihedralSystemForce parallelEvaluate applications/iSGProtomol-app/forces/iSGImproperSystemForce.h /^ inline void iSGImproperSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::iSGImproperSystemForce parallelEvaluate applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce parallelEvaluate applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ real,reciprocal,correction,TInterpolation,TSwitchingFunction>::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce parallelEvaluate framework/forces/AngleSystemForce.h /^ inline void AngleSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::AngleSystemForce parallelEvaluate framework/forces/BondSystemForce.h /^ inline void BondSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::BondSystemForce parallelEvaluate framework/forces/DihedralSystemForce.h /^ inline void DihedralSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::DihedralSystemForce parallelEvaluate framework/forces/ElectricFieldSystemForce.h /^ inline void ElectricFieldSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::ElectricFieldSystemForce parallelEvaluate framework/forces/ExtendedCompareForce.cpp /^ void ExtendedCompareForce::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::ExtendedCompareForce parallelEvaluate framework/forces/ExtendedForce.h /^ inline void ExtendedForce::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::ExtendedForce parallelEvaluate framework/forces/ExtendedTimeForce.cpp /^ void ExtendedTimeForce::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::ExtendedTimeForce parallelEvaluate framework/forces/ExternalGravitationSystemForce.cpp /^ void ExternalGravitationSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::ExternalGravitationSystemForce parallelEvaluate framework/forces/ExternalMagneticFieldExtendedForce.cpp /^ void ExternalMagneticFieldExtendedForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::ExternalMagneticFieldExtendedForce parallelEvaluate framework/forces/FrictionExtendedForce.cpp /^ void FrictionExtendedForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::FrictionExtendedForce parallelEvaluate framework/forces/HarmDihedralSystemForce.h /^ inline void HarmDihedralSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::HarmDihedralSystemForce parallelEvaluate framework/forces/ImproperSystemForce.h /^ inline void ImproperSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::ImproperSystemForce parallelEvaluate framework/forces/MollyForce.h /^ inline void MollyForce::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::MollyForce parallelEvaluate framework/forces/NonbondedCutoffMollyForce.h /^ void NonbondedCutoffMollyForce::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedCutoffMollyForce parallelEvaluate framework/forces/NonbondedCutoffSystemForce.h /^ void NonbondedCutoffSystemForce::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedCutoffSystemForce parallelEvaluate framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedFullEwaldSystemForce parallelEvaluate framework/forces/NonbondedFullSystemForce.h /^ virtual void parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedFullSystemForce parallelEvaluate framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedMultiGridSystemForce parallelEvaluate framework/forces/NonbondedPMEwaldSystemForce.h /^ real,reciprocal,correction,TInterpolation,TSwitchingFunction>::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedPMEwaldSystemForce parallelEvaluate framework/forces/NonbondedSimpleFullSystemForce.h /^ virtual void parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::NonbondedSimpleFullSystemForce parallelEvaluate framework/forces/PaulTrapExtendedForce.h /^ inline void PaulTrapExtendedForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::PaulTrapExtendedForce parallelEvaluate framework/forces/SphericalSystemForce.cpp /^ void SphericalSystemForce::parallelEvaluate(const GenericTopology* topo,$/;" f class:ProtoMol::SphericalSystemForce parallelEvaluate framework/forces/SystemCompareForce.cpp /^ void SystemCompareForce::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::SystemCompareForce parallelEvaluate framework/forces/SystemForce.h /^ inline void SystemForce::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::SystemForce parallelEvaluate framework/forces/SystemTimeForce.cpp /^ void SystemTimeForce::parallelEvaluate(const GenericTopology* topo, $/;" f class:ProtoMol::SystemTimeForce parameters framework/base/MakeableDefinition.h /^ std::vector parameters; \/\/\/< parameters of the obejct$/;" m struct:ProtoMol::MakeableDefinition parameters framework/base/ObjectDefinition.h /^ std::vector parameters;$/;" m struct:ProtoMol::ObjectDefinition parameters framework/frontend/HelpTextFactory.h /^ std::vector parameters;$/;" m struct:ProtoMol::HelpText parseCmdLine applications/xyzviz-app/xyzviz.cpp /^void parseCmdLine(int argc, $/;" f parseCommandLine framework/frontend/parseCommandLine.cpp /^ vector > parseCommandLine (int argc, char **argv, $/;" f namespace:ProtoMol pdb framework/frontend/OutputCache.h /^ const std::vector& pdb() const {return myPDBAtoms;}$/;" f class:ProtoMol::OutputCache periodicCell framework/topology/ArrayCellListStructure.h /^ T1 periodicCell(const T1& t1) const{$/;" f class:ProtoMol::ArrayCellListStructure periodicity framework/base/PAR.h /^ int periodicity; \/\/\/< periodicity$/;" m struct:ProtoMol::PAR::Improper periodicity framework/base/PAR.h /^ std::vector< int > periodicity; \/\/\/< periodicity$/;" m struct:ProtoMol::PAR::Dihedral periodicity framework/base/iSGPAR.h /^ std::vector< std::vector > periodicity;$/;" m struct:ProtoMol::iSGPAR::Dihedral periodicity framework/base/iSGPAR.h /^ std::vector periodicity;$/;" m struct:ProtoMol::iSGPAR::Improper periodicity framework/topology/Torsion.h /^ std::vector< int > periodicity; \/\/\/< The periodicity ($n$ value) for this interaction.$/;" m class:ProtoMol::Torsion perturbSystem framework/integrators/DLMCIntegrator.cpp /^ void DLMCIntegrator::perturbSystem() {$/;" f class:ProtoMol::DLMCIntegrator perturbSystem framework/integrators/HMCIntegrator.cpp /^ void HMCIntegrator::perturbSystem() {$/;" f class:ProtoMol::HMCIntegrator phaseShift framework/base/PAR.h /^ Real phaseShift; \/\/\/< phase shift$/;" m struct:ProtoMol::PAR::Improper phaseShift framework/base/PAR.h /^ std::vector< Real > phaseShift; \/\/\/< phase shift$/;" m struct:ProtoMol::PAR::Dihedral phaseShift framework/base/iSGPAR.h /^ std::vector< std::vector > phaseShift;$/;" m struct:ProtoMol::iSGPAR::Dihedral phaseShift framework/base/iSGPAR.h /^ std::vector phaseShift;$/;" m struct:ProtoMol::iSGPAR::Improper phaseShift framework/topology/Torsion.h /^ std::vector< Real > phaseShift; \/\/\/< The phase shift ($\\delta$ value) for this interaction, in radians. $/;" m class:ProtoMol::Torsion pickNewMolecule applications/iSGProtomol-app/integrators/ModifierISG.cpp /^ void ModifierISG::pickNewMolecule( GenericTopology *topo, ScalarStructure *myEnergies ) {$/;" f class:ProtoMol::ModifierISG plain framework/base/Report.cpp /^ MyStreamer& plain(MyStreamer& stream){$/;" f namespace:ProtoMol::Report planeRotation applications/xyzviz-app/xyzviz.cpp /^static bool planeRotation = false;$/;" v file: pointSize applications/xyzviz-app/xyzviz.cpp /^static GLfloat pointSize = 1.0;$/;" v file: pointer framework/base/Array_Fastest.h /^ typedef T * pointer;$/;" t class:ProtoMol::Array pointer framework/base/Array_Fastest.h /^ typedef T * pointer;$/;" t class:ProtoMol::RefArray pointer framework/base/Array_NoPartialSpecialization.h /^ typedef T * pointer;$/;" t class:ProtoMol::Array::RefArray pointer framework/base/Array_NoPartialSpecialization.h /^ typedef T * pointer;$/;" t class:ProtoMol::Array pointer framework/topology/ArrayCellListStructure.h /^ typedef TContainer::pointer pointer;$/;" t class:ProtoMol::ArrayCellListStructure polarizability framework/base/PAR.h /^ Real polarizability; \/\/\/< polarizability or ignore (see description of negative below), default to zero$/;" m struct:ProtoMol::PAR::Nonbonded polarizability framework/base/iSGPAR.h /^ std::vector polarizability; $/;" m struct:ProtoMol::iSGPAR::Nonbonded polarizability2 framework/base/PAR.h /^ Real polarizability2; \/\/\/< VDW parameter polarizability, default to zero$/;" m struct:ProtoMol::PAR::Nonbonded polarizability2 framework/base/iSGPAR.h /^ std::vector polarizability2; $/;" m struct:ProtoMol::iSGPAR::Nonbonded policies framework/frontend/ForceFactoryDetails.h /^ std::set policies;$/;" m struct:ProtoMol::ForceFactoryDetails::ForceType policiesSorted framework/frontend/ForceFactoryDetails.h /^ std::map policiesSorted;$/;" m struct:ProtoMol::ForceFactoryDetails::ForceType policy framework/frontend/ForceFactoryDetails.h /^ std::set policy;$/;" m struct:ProtoMol::ForceFactoryDetails::ForceType poly5 framework/base/mathutilities.cpp /^ Real poly5(Real ar){$/;" f namespace:ProtoMol polygonMode applications/xyzviz-app/xyzviz.cpp /^static POLYMODE polygonMode = FILL;$/;" v file: popElement framework/base/Stack.h /^ T Stack::popElement() {$/;" f class:ProtoMol::Stack port framework/imd/IMDElf.h /^ int port;$/;" m class:ProtoMol::IMDElf pos_type framework/base/sstream_local.h /^ typedef streampos pos_type;$/;" t class:std::stringbuf position framework/base/Molecule.h /^ Vector3D position;$/;" m struct:ProtoMol::Molecule positions applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ const Vector3DBlock* positions;$/;" m class:ProtoMol::iSGOneAtomPair positions applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ const Vector3DBlock* positions;$/;" m class:ProtoMol::iSGOneAtomPairFull positions applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ const Vector3DBlock* positions;$/;" m class:ProtoMol::iSGOneAtomPairTwo positions applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ const Vector3DBlock* positions;$/;" m class:ProtoMol::iSGOneAtomPairTwoFull positions framework/forces/OneAtomPair.h /^ const Vector3DBlock* positions;$/;" m class:ProtoMol::OneAtomPair positions framework/forces/OneAtomPairFull.h /^ const Vector3DBlock* positions;$/;" m class:ProtoMol::OneAtomPairFull positions framework/forces/OneAtomPairTwo.h /^ const Vector3DBlock* positions;$/;" m class:ProtoMol::OneAtomPairTwo positions framework/forces/OneAtomPairTwoFull.h /^ const Vector3DBlock* positions;$/;" m class:ProtoMol::OneAtomPairTwoFull positions framework/forces/OneMollyPair.h /^ const Vector3DBlock* positions;$/;" m class:ProtoMol::OneMollyPair positions framework/forces/OneMollyPairTwo.h /^ const Vector3DBlock* positions;$/;" m class:ProtoMol::OneMollyPairTwo postDriftOrNextModify framework/integrators/Integrator.cpp /^ void Integrator::postDriftOrNextModify(){$/;" f class:ProtoMol::Integrator postForceModify framework/integrators/Integrator.cpp /^ void Integrator::postForceModify(){$/;" f class:ProtoMol::Integrator postStepModify framework/integrators/Integrator.cpp /^ void Integrator::postStepModify(){$/;" f class:ProtoMol::Integrator postprocess framework/forces/CompareForce.cpp /^ void CompareForce::postprocess(const GenericTopology* topo, Vector3DBlock* forces,ScalarStructure* energies){$/;" f class:ProtoMol::CompareForce postprocess framework/forces/TimeForce.cpp /^ void TimeForce::postprocess(const GenericTopology* , Vector3DBlock*,ScalarStructure* ){$/;" f class:ProtoMol::TimeForce potentialEnergy framework/base/ScalarStructure.h /^ inline Real ScalarStructure::potentialEnergy() const {$/;" f class:ProtoMol::ScalarStructure potentialEnergy framework/frontend/OutputCache.cpp /^ Real OutputCache::potentialEnergy() const{$/;" f class:ProtoMol::OutputCache power framework/base/mathutilities.cpp /^ Real power(Real x, int n){$/;" f namespace:ProtoMol power framework/base/mathutilities.h /^ static Real power(Real x){ return 1\/x;}$/;" f struct:ProtoMol::Power power framework/base/mathutilities.h /^ static Real power(Real x){ return x;}$/;" f struct:ProtoMol::Power power framework/base/mathutilities.h /^ static Real power(Real x){$/;" f struct:ProtoMol::Power power framework/base/mathutilities.h /^ static Real power(Real){ return 1;}$/;" f struct:ProtoMol::Power power framework/base/mathutilities.h /^ template inline Real power(Real x) {$/;" f namespace:ProtoMol power framework/base/mathutilities.h /^ template<> inline Real power<-1>(Real x) {return 1.\/x;}$/;" f namespace:ProtoMol power framework/base/mathutilities.h /^ template<> inline Real power<0>(Real) {return 1;}$/;" f namespace:ProtoMol power framework/base/mathutilities.h /^ template<> inline Real power<1>(Real x) {return x;}$/;" f namespace:ProtoMol power framework/base/mathutilities.h /^ template inline Real power(Real x){$/;" f namespace:ProtoMol preDriftOrNextModify framework/integrators/Integrator.cpp /^ void Integrator::preDriftOrNextModify(){$/;" f class:ProtoMol::Integrator preForceModify framework/integrators/Integrator.cpp /^ void Integrator::preForceModify(){$/;" f class:ProtoMol::Integrator preStepModify framework/integrators/Integrator.cpp /^ void Integrator::preStepModify(){$/;" f class:ProtoMol::Integrator precision framework/base/Report.cpp /^ void MyStreamer::precision(int prec){$/;" f class:ProtoMol::Report::MyStreamer precomputeG framework/base/MultiGrid.h /^ inline void MultiGrid::precomputeG(){$/;" f class:ProtoMol::MultiGrid preprocess framework/forces/CompareForce.cpp /^ void CompareForce::preprocess(unsigned int numAtoms){$/;" f class:ProtoMol::CompareForce preprocess framework/forces/TimeForce.cpp /^ void TimeForce::preprocess(unsigned int){$/;" f class:ProtoMol::TimeForce pressure framework/base/ScalarStructure.h /^ inline Real ScalarStructure::pressure(Real volume) const {$/;" f class:ProtoMol::ScalarStructure pressure framework/frontend/OutputCache.cpp /^ Real OutputCache::pressure() const{$/;" f class:ProtoMol::OutputCache previous framework/integrators/StandardIntegrator.cpp /^ Integrator* StandardIntegrator::previous(){$/;" f class:ProtoMol::StandardIntegrator previous framework/integrators/StandardIntegrator.cpp /^ const Integrator* StandardIntegrator::previous() const{$/;" f class:ProtoMol::StandardIntegrator print applications/iSGProtomol-app/base/iSGGrid.h /^ void iSGGrid::print(){$/;" f class:ProtoMol::iSGGrid print framework/base/Configuration.cpp /^ string Configuration::print() const{$/;" f class:ProtoMol::Configuration print framework/base/Grid.h /^ void Grid::print(){$/;" f class:ProtoMol::Grid print framework/base/MultiGrid.h /^ void print(int level){printQ(level);printV(level);}$/;" f class:ProtoMol::MultiGrid print framework/base/Report.h /^ inline bool MyStreamer::print() const{$/;" f class:ProtoMol::Report::MyStreamer print framework/base/pmconstants.cpp /^ string print(){$/;" f namespace:ProtoMol::Constant print framework/frontend/Factory.h /^ static std::string print(){$/;" f class:ProtoMol::Factory print framework/integrators/IntegratorDefinition.cpp /^ string IntegratorDefinition::print() const{$/;" f class:ProtoMol::IntegratorDefinition print framework/integrators/Modifier.h /^ std::string print() const{$/;" f class:ProtoMol::Modifier print framework/topology/Topology.h /^ virtual std::string print(const Vector3DBlock* positions=NULL) const{$/;" f class:ProtoMol::Topology print3DcolorVertex applications/xyzviz-app/openglutilities.cpp /^ static string print3DcolorVertex(GLint size, GLint * count, GLfloat * buffer){$/;" f namespace:ProtoMol printConst framework/base/MultiGrid.h /^ void MultiGrid::printConst(){$/;" f class:ProtoMol::MultiGrid printQ framework/base/MultiGrid.h /^ void MultiGrid::printQ(int level){$/;" f class:ProtoMol::MultiGrid printV framework/base/MultiGrid.h /^ void MultiGrid::printV(int level){$/;" f class:ProtoMol::MultiGrid protomolAbort framework/base/systemutilities.cpp /^ void protomolAbort(){$/;" f namespace:ProtoMol protomolEndSerial framework/base/systemutilities.cpp /^ void protomolEndSerial(bool exludeMaster){$/;" f namespace:ProtoMol protomolExit framework/base/systemutilities.cpp /^ void protomolExit(){$/;" f namespace:ProtoMol protomolStartSerial framework/base/systemutilities.cpp /^ void protomolStartSerial(bool exludeMaster){$/;" f namespace:ProtoMol prototype framework/frontend/IntegratorFactoryDetails.h /^ const Integrator* prototype;$/;" m struct:ProtoMol::IntegratorFactoryDetails::IntegratorInput psf framework/frontend/OutputCache.h /^ const PSF& psf() const {return myPSF;}$/;" f class:ProtoMol::OutputCache ptr applications/xyzviz-app/openglutilities.cpp /^ GLfloat *ptr;$/;" m struct:ProtoMol::DepthIndex file: ptr applications/xyzviz-app/xyzviz.cpp /^ GLfloat *ptr;$/;" m struct:DepthIndex file: quit framework/base/Report.cpp /^ MyStreamer& quit(MyStreamer& stream){$/;" f namespace:ProtoMol::Report r applications/xyzviz-app/xyzviz.cpp /^static vector r;$/;" v file: rAll applications/xyzviz-app/xyzviz.cpp /^static vector rAll;$/;" v file: rFavg framework/forces/CompareForce.h /^ Real absF2,rFavg,rFmax,rPE; $/;" m struct:ProtoMol::CompareForce::CompareError rFmax framework/forces/CompareForce.h /^ Real absF2,rFavg,rFmax,rPE; $/;" m struct:ProtoMol::CompareForce::CompareError rPE framework/forces/CompareForce.h /^ Real absF2,rFavg,rFmax,rPE; $/;" m struct:ProtoMol::CompareForce::CompareError rTmp applications/xyzviz-app/xyzviz.cpp /^static vector rTmp;$/;" v file: r_ub framework/base/PAR.h /^ Real r_ub; \/\/\/< Urey-Bradley radius$/;" m struct:ProtoMol::PAR::Angle r_ub framework/base/iSGPAR.h /^ std::vector r_ub;$/;" m struct:ProtoMol::iSGPAR::Angle radialCmpVector3D tools/bccAnalyzer.cpp /^ radialCmpVector3D():c(Vector3D(0.0,0.0,0.0)){}$/;" f class:radialCmpVector3D radialCmpVector3D tools/bccAnalyzer.cpp /^ radialCmpVector3D(const Vector3D& a):c(a){}$/;" f class:radialCmpVector3D radialCmpVector3D tools/bccAnalyzer.cpp /^class radialCmpVector3D {$/;" c file: radius applications/xyzviz-app/xyzviz.cpp /^static double radius = 0;$/;" v file: radix2b_ framework/base/fft.c /^int radix2b_(double *a1, double *a2, double *b1, double *b2,int * b, int *ldb, double *c2, double *d2)$/;" f radix2f_ framework/base/fft.c /^int radix2f_(double *a1,double * a2, double *b1,double * b2,int * b,int *ldb, double *c2,double * d2)$/;" f radix3b_ framework/base/fft.c /^int radix3b_(double *a1,double * a2, double *a3,double * b1,double * b2,double * b3, int *b, int *ldb, double *c2, double *d2, double *c3, double *d3)$/;" f radix3f_ framework/base/fft.c /^int radix3f_(double *a1, double *a2, double *a3, double *b1, double *b2, double *b3, int *b, int *ldb, double *c2, double *d2, double *c3, double *d3)$/;" f radix4b_ framework/base/fft.c /^int radix4b_(double *a1, double *a2, double *a3, double *a4, double *b1, double *b2, double *b3, double *b4, int *b, int *ldb, double *c2, double *d2, double *c3, double *d3, double *c4, double *d4)$/;" f radix4f_ framework/base/fft.c /^int radix4f_(double *a1, double *a2, double *a3, double *a4, double *b1, double *b2, double *b3, double *b4, int *b, int *ldb, double *c2, double *d2, double *c3, double *d3, double *c4, double *d4)$/;" f radix5b_ framework/base/fft.c /^int radix5b_(double *a1,double * a2,double * a3,double * a4,double * a5,double * b1,double * b2,double * b3,double * b4,double * b5,int * b,int *ldb, double *c2,double * d2,double * c3,double * d3,double * c4,double * d4, double *c5, double *d5)$/;" f radix5f_ framework/base/fft.c /^int radix5f_(double *a1,double * a2,double * a3,double * a4,double * a5,double * b1,double * b2,double * b3,double * b4,double * b5,int *b, int *ldb, double *c2,double * d2,double * c3,double * d3,double * c4,double * d4,double * c5,double * d5)$/;" f radix7b_ framework/base/fft.c /^int radix7b_(double *a1, double *a2,double * a3,double * a4,double * a5,double * a6,double * a7,double * b1,double * b2,double * b3,double * b4,double * b5, double *b6, double *b7, int *b, int *ldb)$/;" f radix7f_ framework/base/fft.c /^int radix7f_(double *a1,double * a2,double * a3, double *a4,double * a5,double * a6,double * a7,double * b1,double * b2,double * b3,double * b4,double * b5, double *b6,double * b7,int * b,int * ldb)$/;" f randomGaussian framework/base/mathutilities.cpp /^ Real randomGaussian(Real sdv, unsigned int seed){$/;" f namespace:ProtoMol randomGaussianNumber framework/base/mathutilities.cpp /^ Real randomGaussianNumber(Real mean,$/;" f namespace:ProtoMol randomGaussianNumber framework/base/mathutilities.cpp /^ Real randomGaussianNumber(unsigned int seed) {$/;" f namespace:ProtoMol randomNumber framework/base/mathutilities.cpp /^ Real randomNumber(unsigned int seed) {$/;" f namespace:ProtoMol randomVelocity framework/topology/topologyutilities.cpp /^ void randomVelocity(Real temperature,$/;" f namespace:ProtoMol randomVelocity framework/topology/topologyutilities.cpp /^ void randomVelocity(Real temperatureFrom,$/;" f namespace:ProtoMol rc framework/imd/IMDElf.h /^ int rc;$/;" m class:ProtoMol::IMDElf rdbuf framework/base/sstream_local.h /^ stringbuf* rdbuf()$/;" f class:std::stringstreambase re framework/base/FFTComplex.h /^ double re;$/;" m struct: re framework/base/fft.c /^ double re;$/;" m struct: file: read applications/iSGProtomol-app/io/TRANSReader.cpp /^ bool TRANSReader::read() {$/;" f class:ProtoMol::TRANSReader read applications/iSGProtomol-app/io/TRANSReader.cpp /^ bool TRANSReader::read(TRANS& trans) {$/;" f class:ProtoMol::TRANSReader read applications/iSGProtomol-app/io/XSCReader.cpp /^ bool XSCReader::read() {$/;" f class:ProtoMol::XSCReader read applications/iSGProtomol-app/io/XSCReader.cpp /^ bool XSCReader::read(XSC& xsc) {$/;" f class:ProtoMol::XSCReader read applications/iSGProtomol-app/io/iSGPARReader.cpp /^ bool iSGPARReader::read() {$/;" f class:ProtoMol::iSGPARReader read applications/iSGProtomol-app/io/iSGPARReader.cpp /^ bool iSGPARReader::read(iSGPAR& par) {$/;" f class:ProtoMol::iSGPARReader read framework/base/Value.cpp /^ void Value::read(std::istream& is){$/;" f class:ProtoMol::Value read framework/base/Value.h /^ virtual void read(std::istream& is){ ok = ValueTrait::read(is,holder) && ValueTrait::check(Constraint(),holder);}$/;" f class:ProtoMol::Value::Holder read framework/base/ValueType.h /^ static bool read(std::istream& is, RepType & v){ $/;" f struct:ProtoMol::ValueTraits read framework/base/ValueType.h /^ static bool read(std::istream& is, RepType & v){ std::string tmp; is >> tmp; return toReal(tmp,v);}$/;" f struct:ProtoMol::ValueTraits read framework/base/ValueType.h /^ static bool read(std::istream& is, RepType & v){ std::string tmp; is >> tmp; return toUInt(tmp,v);}$/;" f struct:ProtoMol::ValueTraits read framework/base/ValueType.h /^ static bool read(std::istream& is, RepType & v){ std::string x,y,z; is >> x >> y >> z; return toVector3D(x+" "+y+" "+z,v);}$/;" f struct:ProtoMol::ValueTraits read framework/base/ValueType.h /^ static bool read(std::istream& is, RepType & v){ $/;" f struct:ProtoMol::ValueTraits read framework/base/ValueType.h /^ static bool read(std::istream& is, RepType & v){ is >> v; return true;}$/;" f struct:ProtoMol::ValueTraits read framework/base/ValueType.h /^ static bool read(std::istream& is, RepType & v){ std::string tmp; is >> tmp; return toBool(tmp,v);}$/;" f struct:ProtoMol::ValueTraits read framework/base/ValueType.h /^ static bool read(std::istream& is, RepType & v){ std::string tmp; is >> tmp; return toInt(tmp,v);}$/;" f struct:ProtoMol::ValueTraits read framework/io/ConfigurationReader.cpp /^ bool ConfigurationReader::read() {$/;" f class:ProtoMol::ConfigurationReader read framework/io/ConfigurationReader.cpp /^ bool ConfigurationReader::read(Configuration& config){$/;" f class:ProtoMol::ConfigurationReader read framework/io/DCDTrajectoryReader.cpp /^ bool DCDTrajectoryReader::read() {$/;" f class:ProtoMol::DCDTrajectoryReader read framework/io/DCDTrajectoryReader.cpp /^ bool DCDTrajectoryReader::read(Vector3DBlock& coords) {$/;" f class:ProtoMol::DCDTrajectoryReader read framework/io/File.cpp /^ std::fstream& File::read(char* c, std::streamsize count){$/;" f class:ProtoMol::File read framework/io/PARReader.cpp /^ bool PARReader::read() {$/;" f class:ProtoMol::PARReader read framework/io/PARReader.cpp /^ bool PARReader::read(PAR& par) {$/;" f class:ProtoMol::PARReader read framework/io/PDBReader.cpp /^ bool PDBReader::read() {$/;" f class:ProtoMol::PDBReader read framework/io/PDBReader.cpp /^ bool PDBReader::read(PDB& pdb){$/;" f class:ProtoMol::PDBReader read framework/io/PDBReader.cpp /^ bool PDBReader::read(Vector3DBlock& coords, std::vector& atoms) {$/;" f class:ProtoMol::PDBReader read framework/io/PGMReader.cpp /^ bool PGMReader::read() {$/;" f class:ProtoMol::PGMReader read framework/io/PGMReader.cpp /^ bool PGMReader::read(PGM& pgm) {$/;" f class:ProtoMol::PGMReader read framework/io/PGMReader.cpp /^ bool PGMReader::read(PPM& ppm) {$/;" f class:ProtoMol::PGMReader read framework/io/PPMReader.cpp /^ bool PPMReader::read() {$/;" f class:ProtoMol::PPMReader read framework/io/PPMReader.cpp /^ bool PPMReader::read(PGM& pgm) {$/;" f class:ProtoMol::PPMReader read framework/io/PPMReader.cpp /^ bool PPMReader::read(PPM& ppm) {$/;" f class:ProtoMol::PPMReader read framework/io/PSFReader.cpp /^ bool PSFReader::read() {$/;" f class:ProtoMol::PSFReader read framework/io/PSFReader.cpp /^ bool PSFReader::read(PSF& psf) {$/;" f class:ProtoMol::PSFReader read framework/io/XYZBinReader.cpp /^ bool XYZBinReader::read() {$/;" f class:ProtoMol::XYZBinReader read framework/io/XYZBinReader.cpp /^ bool XYZBinReader::read(Vector3DBlock& coords) {$/;" f class:ProtoMol::XYZBinReader read framework/io/XYZReader.cpp /^ bool XYZReader::read() {$/;" f class:ProtoMol::XYZReader read framework/io/XYZReader.cpp /^ bool XYZReader::read(Vector3DBlock& coords, std::vector& names){$/;" f class:ProtoMol::XYZReader read framework/io/XYZReader.cpp /^ bool XYZReader::read(XYZ& xyz) {$/;" f class:ProtoMol::XYZReader read framework/io/XYZTrajectoryReader.cpp /^ bool XYZTrajectoryReader::read() {$/;" f class:ProtoMol::XYZTrajectoryReader read framework/io/XYZTrajectoryReader.cpp /^ bool XYZTrajectoryReader::read(Vector3DBlock& coords, std::vector& names){$/;" f class:ProtoMol::XYZTrajectoryReader read framework/io/XYZTrajectoryReader.cpp /^ bool XYZTrajectoryReader::read(XYZ& xyz) {$/;" f class:ProtoMol::XYZTrajectoryReader readXSCs applications/iSGProtomol-app/integrators/ModifierISG.cpp /^ void ModifierISG::readXSCs(const string myFile, GenericTopology *topo) {$/;" f class:ProtoMol::ModifierISG readXYZ applications/xyzviz-app/xyzviz.cpp /^void readXYZ(const string& inputname, const Vector3D& rot, int tracer){$/;" f realChi framework/forces/MagneticDipoleForce.h /^ Real volum, expfactor, realChi, kappa;$/;" m class:ProtoMol::MagneticDipoleForce realTerm applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::realTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce realTerm applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::realTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce realTerm framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::realTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce realTerm framework/forces/NonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::realTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce realTopo applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ const SemiGenericTopology* realTopo;$/;" m class:ProtoMol::iSGOneAtomPair realTopo applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ const SemiGenericTopology* realTopo;$/;" m class:ProtoMol::iSGOneAtomPairFull realTopo applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ const SemiGenericTopology* realTopo;$/;" m class:ProtoMol::iSGOneAtomPairTwo realTopo applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ const SemiGenericTopology* realTopo;$/;" m class:ProtoMol::iSGOneAtomPairTwoFull realTopo framework/forces/OneAtomPair.h /^ const SemiGenericTopology* realTopo;$/;" m class:ProtoMol::OneAtomPair realTopo framework/forces/OneAtomPairFull.h /^ const SemiGenericTopology* realTopo;$/;" m class:ProtoMol::OneAtomPairFull realTopo framework/forces/OneAtomPairTwo.h /^ const SemiGenericTopology* realTopo;$/;" m class:ProtoMol::OneAtomPairTwo realTopo framework/forces/OneAtomPairTwoFull.h /^ const SemiGenericTopology* realTopo;$/;" m class:ProtoMol::OneAtomPairTwoFull realTopo framework/forces/OneMollyPair.h /^ const SemiGenericTopology* realTopo;$/;" m class:ProtoMol::OneMollyPair realTopo framework/forces/OneMollyPairTwo.h /^ const SemiGenericTopology* realTopo;$/;" m class:ProtoMol::OneMollyPairTwo realclear framework/base/systemutilities.h /^ void realclear(T& t){$/;" f namespace:ProtoMol reciprocalTerm applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::reciprocalTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce reciprocalTerm applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::reciprocalTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce reciprocalTerm framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::reciprocalTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce reciprocalTerm framework/forces/NonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::reciprocalTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce reciprocalTermParallel applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::reciprocalTermParallel(const RealTopologyType* realTopo,$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce reciprocalTermParallel framework/forces/NonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::reciprocalTermParallel(const RealTopologyType* realTopo,$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce reclose framework/frontend/OutputFile.cpp /^ bool OutputFile::reclose(){$/;" f class:ProtoMol::OutputFile recoverable framework/base/Report.cpp /^ MyStreamer& recoverable(MyStreamer& stream){$/;" f namespace:ProtoMol::Report red applications/xyzviz-app/openglutilities.cpp /^ GLfloat red;$/;" m struct:ProtoMol::Feedback3Dcolor file: red applications/xyzviz-app/xyzviz.cpp /^ GLfloat red;$/;" m struct:Feedback3Dcolor file: reduce framework/base/Proxy.h /^ void reduce() const {myCount--;}$/;" f class:ProtoMol::Proxy reduce framework/parallel/Parallel.cpp /^ void Parallel::reduce(ScalarStructure* energies, Vector3DBlock* coords){$/;" f class:ProtoMol::Parallel reduce framework/parallel/Parallel.cpp /^ void Parallel::reduce(ScalarStructure*, Vector3DBlock*){}$/;" f class:ProtoMol::Parallel reduceSlaves framework/parallel/Parallel.cpp /^ void Parallel::reduceSlaves(Real* begin, Real* end) {$/;" f class:ProtoMol::Parallel reduceSlaves framework/parallel/Parallel.cpp /^ void Parallel::reduceSlaves(Real*, Real*) {}$/;" f class:ProtoMol::Parallel reducedHessBond framework/base/reducedHessBond.cpp /^ Matrix3by3 reducedHessBond(const Vector3D& atom_i,$/;" f namespace:ProtoMol reference framework/base/Array_Fastest.h /^ typedef T & reference;$/;" t class:ProtoMol::Array reference framework/base/Array_Fastest.h /^ typedef T & reference;$/;" t class:ProtoMol::RefArray reference framework/base/Array_NoPartialSpecialization.h /^ typedef T & reference;$/;" t class:ProtoMol::Array::RefArray reference framework/base/Array_NoPartialSpecialization.h /^ typedef T & reference;$/;" t class:ProtoMol::Array reference framework/topology/ArrayCellListStructure.h /^ typedef TContainer::reference reference;$/;" t class:ProtoMol::ArrayCellListStructure registerAliases framework/base/Configuration.cpp /^ void Configuration::registerAliases(const string& keyword, const vector& aliases){$/;" f class:ProtoMol::Configuration registerAllExemplarsConfiguration framework/frontend/OutputFactoryDetails.cpp /^ void OutputFactoryDetails::registerAllExemplarsConfiguration(Configuration* config){$/;" f class:ProtoMol::OutputFactoryDetails registerAllExemplarsConfiguration framework/frontend/TopologyFactoryDetails.cpp /^ void TopologyFactoryDetails::registerAllExemplarsConfiguration(Configuration* config){$/;" f class:ProtoMol::TopologyFactoryDetails registerConfiguration framework/frontend/InputValue.h /^ static void registerConfiguration(Configuration* config){$/;" f class:ProtoMol::InputValue registerConfiguration framework/frontend/InputValue.h /^ static void registerConfiguration(Configuration* config, const Text& txt){$/;" f class:ProtoMol::InputValue registerConfiguration framework/frontend/InputValue.h /^ static void registerConfiguration(Configuration* config,T v) {$/;" f class:ProtoMol::InputValue registerConfiguration framework/frontend/InputValue.h /^ static void registerConfiguration(Configuration* config,T v, const Text& txt) {$/;" f class:ProtoMol::InputValue registerConfiguration framework/frontend/InputValue.h /^ static void registerConfiguration(Configuration* config,Value v) {$/;" f class:ProtoMol::InputValue registerConfiguration framework/frontend/InputValue.h /^ static void registerConfiguration(Configuration* config,Value v, const Text& txt) {$/;" f class:ProtoMol::InputValue registerExemplar framework/frontend/Factory.h /^ static void registerExemplar(const Type* exemplar, std::string id=""){$/;" f class:ProtoMol::Factory registerExemplar framework/frontend/Factory.h /^ static void registerExemplar(const Type* exemplar,const std::vector& aliases, std::string id=""){$/;" f class:ProtoMol::Factory registerExemplar framework/frontend/HelpTextFactory.cpp /^ void HelpTextFactory::registerExemplar(const string& id, const HelpText& helpText){$/;" f class:ProtoMol::HelpTextFactory registerExemplars framework/frontend/HelpTextFactory.cpp /^ void HelpTextFactory::registerExemplars(const Configuration* config){$/;" f class:ProtoMol::HelpTextFactory registerForceExemplars applications/coulomb-app/registerForceExemplars.cpp /^ void registerForceExemplars(const GenericTopology* topo){$/;" f namespace:ProtoMol registerForceExemplars framework/factories/registerForceExemplars.cpp /^ void registerForceExemplars(const GenericTopology* topo){$/;" f namespace:ProtoMol registerForceExemplarsBonded framework/factories/registerForceExemplarsBonded.cpp /^ void registerForceExemplarsBonded(const PeriodicBoundaryConditions*){$/;" f namespace:ProtoMol registerForceExemplarsBonded framework/factories/registerForceExemplarsBonded.cpp /^ void registerForceExemplarsBonded(const VacuumBoundaryConditions*){$/;" f namespace:ProtoMol registerForceExemplarsCutoff framework/factories/registerForceExemplarsCutoff.cpp /^ void registerForceExemplarsCutoff(const PeriodicBoundaryConditions*, const CubicCellManager*){$/;" f namespace:ProtoMol registerForceExemplarsCutoff framework/factories/registerForceExemplarsCutoff.cpp /^ void registerForceExemplarsCutoff(const VacuumBoundaryConditions*, const CubicCellManager*){$/;" f namespace:ProtoMol registerForceExemplarsDispatch framework/factories/registerForceExemplars.cpp /^ inline void registerForceExemplarsDispatch(const Topology* topo){$/;" f namespace:ProtoMol registerForceExemplarsFastElectrostatic framework/factories/registerForceExemplarsFastElectrostatic.cpp /^ void registerForceExemplarsFastElectrostatic(const PeriodicBoundaryConditions*, const CubicCellManager*){$/;" f namespace:ProtoMol registerForceExemplarsFastElectrostatic framework/factories/registerForceExemplarsFastElectrostatic.cpp /^ void registerForceExemplarsFastElectrostatic(const VacuumBoundaryConditions*, const CubicCellManager*){ $/;" f namespace:ProtoMol registerForceExemplarsFull framework/factories/registerForceExemplarsFull.cpp /^ void registerForceExemplarsFull(const PeriodicBoundaryConditions*){$/;" f namespace:ProtoMol registerForceExemplarsFull framework/factories/registerForceExemplarsFull.cpp /^ void registerForceExemplarsFull(const VacuumBoundaryConditions*){$/;" f namespace:ProtoMol registerForceExemplarsOther framework/factories/registerForceExemplarsOther.cpp /^ void registerForceExemplarsOther(){ $/;" f namespace:ProtoMol registerForceExemplarsOther framework/factories/registerForceExemplarsOther.cpp /^ void registerForceExemplarsOther(const PeriodicBoundaryConditions*){$/;" f namespace:ProtoMol registerForceExemplarsOther framework/factories/registerForceExemplarsOther.cpp /^ void registerForceExemplarsOther(const PeriodicBoundaryConditions*, const CubicCellManager*){$/;" f namespace:ProtoMol registerForceExemplarsOther framework/factories/registerForceExemplarsOther.cpp /^ void registerForceExemplarsOther(const VacuumBoundaryConditions*){$/;" f namespace:ProtoMol registerForceExemplarsOther framework/factories/registerForceExemplarsOther.cpp /^ void registerForceExemplarsOther(const VacuumBoundaryConditions*, const CubicCellManager*){ $/;" f namespace:ProtoMol registerForceExemplarsSimpleFull framework/factories/registerForceExemplarsSimpleFull.cpp /^ void registerForceExemplarsSimpleFull(const PeriodicBoundaryConditions*){$/;" f namespace:ProtoMol registerForceExemplarsSimpleFull framework/factories/registerForceExemplarsSimpleFull.cpp /^ void registerForceExemplarsSimpleFull(const VacuumBoundaryConditions*){$/;" f namespace:ProtoMol registerHelpText framework/frontend/Factory.h /^ static void registerHelpText(){$/;" f class:ProtoMol::Factory registerIntegratorExemplars applications/coulomb-app/registerIntegratorExemplars.cpp /^ void registerIntegratorExemplars(){$/;" f namespace:ProtoMol registerIntegratorExemplars applications/iSGProtomol-app/factories/iSGregisterIntegratorExemplars.cpp /^ void registerIntegratorExemplars() {$/;" f namespace:ProtoMol registerIntegratorExemplars framework/factories/registerIntegratorExemplars.cpp /^ void registerIntegratorExemplars(){$/;" f namespace:ProtoMol registerKeyword framework/base/Configuration.cpp /^ void Configuration::registerKeyword(const string& keyword, Value value){$/;" f class:ProtoMol::Configuration registerOutputExemplars applications/coulomb-app/registerOutputExemplars.cpp /^ void registerOutputExemplars(){$/;" f namespace:ProtoMol registerOutputExemplars framework/factories/registerOutputExemplars.cpp /^ void registerOutputExemplars(){$/;" f namespace:ProtoMol registerTopologyExemplars applications/coulomb-app/registerTopologyExemplars.cpp /^ void registerTopologyExemplars(){$/;" f namespace:ProtoMol registerTopologyExemplars framework/factories/registerTopologyExemplars.cpp /^ void registerTopologyExemplars(){$/;" f namespace:ProtoMol removeAngularMomentum framework/topology/topologyutilities.cpp /^ Vector3D removeAngularMomentum(const Vector3DBlock *positions, $/;" f namespace:ProtoMol removeBeginEndBlanks framework/base/stringutilities.cpp /^ string removeBeginEndBlanks(const string& s){$/;" f namespace:ProtoMol removeLinearMomentum framework/topology/topologyutilities.cpp /^ Vector3D removeLinearMomentum(Vector3DBlock *velocities, $/;" f namespace:ProtoMol removeModifier framework/integrators/Integrator.cpp /^ bool Integrator::removeModifier(const Modifier* modifier){$/;" f class:ProtoMol::Integrator reopen framework/frontend/OutputFile.cpp /^ bool OutputFile::reopen(){$/;" f class:ProtoMol::OutputFile reopen framework/io/DCDTrajectoryWriter.cpp /^ bool DCDTrajectoryWriter::reopen(unsigned int numAtoms){$/;" f class:ProtoMol::DCDTrajectoryWriter reopen framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::reopen(){$/;" f class:ProtoMol::XYZTrajectoryWriter reportlevel framework/base/Report.h /^ reportlevel() : myReportlevel(0) {}$/;" f class:ProtoMol::Report::reportlevel reportlevel framework/base/Report.h /^ reportlevel(short l) : myReportlevel(l) {}$/;" f class:ProtoMol::Report::reportlevel reportlevel framework/base/Report.h /^ class reportlevel{$/;" c namespace:ProtoMol::Report rescaleVolume framework/topology/SemiGenericTopology.h /^ virtual void rescaleVolume(Real fac){$/;" f class:ProtoMol::SemiGenericTopology reset framework/base/Cycles.h /^ void reset(){myRunningFlag = false;}$/;" f class:ProtoMol::Cycles reset framework/base/Report.cpp /^ void MyStreamer::reset(){$/;" f class:ProtoMol::Report::MyStreamer reset framework/base/Stack.h /^ void Stack::reset(bool delMem) {$/;" f class:ProtoMol::Stack reset framework/base/Timer.cpp /^ void TimeRep::reset()$/;" f class:ProtoMol::TimeRep reset framework/base/Timer.cpp /^ void Timer::reset()$/;" f class:ProtoMol::Timer resetNext framework/parallel/Parallel.cpp /^ void Parallel::resetNext(const vector& blocks){$/;" f class:ProtoMol::Parallel resetNext framework/parallel/Parallel.h /^ static void resetNext(){myNext = 0;myNextRange[0] =0;myNextRange[1]=0;myWorkState = getWorkState();}$/;" f class:ProtoMol::Parallel reshape applications/xyzviz-app/xyzviz.cpp /^void reshape (int w, int h) {$/;" f residueName framework/base/PDB.h /^ std::string residueName; \/\/\/< residue_name $/;" m struct:ProtoMol::PDB::PDBAtom residueNum framework/base/PDB.h /^ int residueNum; \/\/\/< residue_sequence $/;" m struct:ProtoMol::PDB::PDBAtom residue_name framework/base/PSF.h /^ std::string residue_name; \/\/\/< residue name$/;" m struct:ProtoMol::PSF::Atom residue_sequence framework/base/PSF.h /^ int residue_sequence; \/\/\/< residue sequence$/;" m struct:ProtoMol::PSF::Atom resize compilerTests/pngTest.cpp /^void PPM::resize(unsigned int width, unsigned int height){$/;" f class:PPM resize framework/base/Array_NoPartialSpecialization.h /^ bool resize(const ArraySize & Dimensions, const T & Init=T(), bool PreserveElems=false)$/;" f class:ProtoMol::Array resize framework/base/Array_NoPartialSpecialization.h /^ bool resize(const unsigned int * Dimensions, const T & Init=T(), bool PreserveElems=false)$/;" f class:ProtoMol::Array resize framework/base/PDB.h /^ void resize(size_t n){coords.resize(n),atoms.resize(n);}$/;" f struct:ProtoMol::PDB resize framework/base/PGM.cpp /^ void PGM::resize(unsigned int width, unsigned int height){$/;" f class:ProtoMol::PGM resize framework/base/PPM.cpp /^ void PPM::resize(unsigned int width, unsigned int height){$/;" f class:ProtoMol::PPM resize framework/base/XYZ.h /^ void resize(size_t n){coords.resize(n),names.resize(n);}$/;" f struct:ProtoMol::XYZ resize framework/topology/ExclusionTable.cpp /^ void ExclusionTable::resize(int count) {$/;" f class:ProtoMol::ExclusionTable resize framework/topology/LennardJonesParameterTable.cpp /^ void LennardJonesParameterTable::resize(int count) {$/;" f class:ProtoMol::LennardJonesParameterTable restAngle framework/topology/Angle.h /^ Real restAngle;$/;" m class:ProtoMol::Angle restLength framework/topology/Bond.h /^ Real restLength;$/;" m struct:ProtoMol::Bond::Constraint restLength framework/topology/Bond.h /^ Real restLength;$/;" m class:ProtoMol::Bond restoreValues framework/integrators/DLMCIntegrator.cpp /^ void DLMCIntegrator::restoreValues(){$/;" f class:ProtoMol::DLMCIntegrator restoreValues framework/integrators/DihedralHMCIntegrator.cpp /^ void DihedralHMCIntegrator::restoreValues(){$/;" f class:ProtoMol::DihedralHMCIntegrator restoreValues framework/integrators/HMCIntegrator.cpp /^ void HMCIntegrator::restoreValues(){$/;" f class:ProtoMol::HMCIntegrator restoreValues framework/integrators/MCIntegrator.cpp /^ void MCIntegrator::restoreValues() {$/;" f class:ProtoMol::MCIntegrator rint framework/base/Real.h 14;" d rmin framework/base/PAR.h /^ Real rmin; \/\/\/< minimum radius$/;" m struct:ProtoMol::PAR::Hbond rotate framework/base/Matrix3by3.cpp /^ void Matrix3by3::rotate(const Vector3D& axis, Real alpha)$/;" f class:ProtoMol::Matrix3by3 rotate framework/base/Matrix3by3.cpp /^ void Matrix3by3::rotate(const Vector3D& axis, Real sinAlpha, Real cosAlpha)$/;" f class:ProtoMol::Matrix3by3 rotate framework/base/Matrix3by3.cpp /^ void Matrix3by3::rotate(const Vector3D& from, const Vector3D& to)$/;" f class:ProtoMol::Matrix3by3 rotateDihedral framework/topology/topologyutilities.cpp /^ void rotateDihedral(const GenericTopology* topology,$/;" f namespace:ProtoMol roughTest framework/topology/C1SwitchingFunction.h /^ bool roughTest(Real distSquared) const { return (distSquared <= myCutoff2);}$/;" f class:ProtoMol::C1SwitchingFunction roughTest framework/topology/C2SwitchingFunction.h /^ bool roughTest(Real distSquared) const{return (distSquared <= myCutoff2);}$/;" f class:ProtoMol::C2SwitchingFunction roughTest framework/topology/ComplementSwitchingFunction.h /^ bool roughTest(Real \/*distSquared*\/) const{return true;}$/;" f class:ProtoMol::ComplementSwitchingFunction roughTest framework/topology/CutoffSwitchingFunction.h /^ bool roughTest(Real distSquared) const{return (distSquared <= myCutoff2);}$/;" f class:ProtoMol::CutoffSwitchingFunction roughTest framework/topology/RangeSwitchingFunction.h /^ inline bool RangeSwitchingFunction::roughTest(Real distSquared) const {$/;" f class:ProtoMol::RangeSwitchingFunction roughTest framework/topology/ShiftSwitchingFunction.h /^ bool roughTest(Real distSquared) const{return (distSquared <= myCutoff2);}$/;" f class:ProtoMol::ShiftSwitchingFunction roughTest framework/topology/UniversalSwitchingFunction.h /^ bool roughTest(Real \/*distSquared*\/) const {return true;};$/;" f class:ProtoMol::UniversalSwitchingFunction rpos framework/base/sstream_local.h /^ std::string::size_type rpos;$/;" m class:std::stringbuf rtod framework/base/mathutilities.cpp /^ vector rtod(const vector& rad){$/;" f namespace:ProtoMol rtod framework/base/mathutilities.h /^ inline Real rtod(Real rad){ $/;" f namespace:ProtoMol run applications/iSGProtomol-app/integrators/iSGIntegrator.cpp /^ void iSGIntegrator::run(int numTimesteps) {$/;" f class:ProtoMol::iSGIntegrator run framework/frontend/Output.cpp /^ void Output::run(int step){$/;" f class:ProtoMol::Output run framework/frontend/OutputCollection.cpp /^ void OutputCollection::run(int step){$/;" f class:ProtoMol::OutputCollection run framework/integrators/BBKIntegrator.cpp /^ void BBKIntegrator::run (int numTimesteps) {$/;" f class:ProtoMol::BBKIntegrator run framework/integrators/DMDLeapfrogIntegrator.cpp /^ void DMDLeapfrogIntegrator::run (int numTimesteps) {$/;" f class:ProtoMol::DMDLeapfrogIntegrator run framework/integrators/DihedralHMCIntegrator.cpp /^ void DihedralHMCIntegrator::run(int numTimesteps){$/;" f class:ProtoMol::DihedralHMCIntegrator run framework/integrators/LeapfrogIntegrator.cpp /^ void LeapfrogIntegrator::run(int numTimesteps) {$/;" f class:ProtoMol::LeapfrogIntegrator run framework/integrators/MCIntegrator.cpp /^ void MCIntegrator::run(int numTimesteps) {$/;" f class:ProtoMol::MCIntegrator run framework/integrators/NPTVerletIntegrator.cpp /^ void NPTVerletIntegrator::run(int numTimesteps) {$/;" f class:ProtoMol::NPTVerletIntegrator run framework/integrators/NVTVerletIntegrator.cpp /^ void NVTVerletIntegrator::run(int numTimesteps) {$/;" f class:ProtoMol::NVTVerletIntegrator run framework/integrators/PLeapfrogIntegrator.cpp /^ void PLeapfrogIntegrator::run(int numTimesteps) {$/;" f class:ProtoMol::PLeapfrogIntegrator run framework/integrators/StandardIntegrator.cpp /^ void StandardIntegrator::run(int numTimesteps){$/;" f class:ProtoMol::StandardIntegrator run framework/integrators/UmbrellaIntegrator.cpp /^ void UmbrellaIntegrator::run(int numTimesteps) {$/;" f class:ProtoMol::UmbrellaIntegrator saveAnimFrame applications/xyzviz-app/xyzviz.cpp /^static bool saveAnimFrame = false;$/;" v file: saveFramebufferEPSToFile applications/xyzviz-app/xyzviz.cpp /^void saveFramebufferEPSToFile(){$/;" f saveFramebufferToFile applications/xyzviz-app/xyzviz.cpp /^void saveFramebufferToFile(){$/;" f saveValues framework/integrators/DLMCIntegrator.cpp /^ void DLMCIntegrator::saveValues(){$/;" f class:ProtoMol::DLMCIntegrator saveValues framework/integrators/DihedralHMCIntegrator.cpp /^ void DihedralHMCIntegrator::saveValues() {$/;" f class:ProtoMol::DihedralHMCIntegrator saveValues framework/integrators/HMCIntegrator.cpp /^ void HMCIntegrator::saveValues(){$/;" f class:ProtoMol::HMCIntegrator saveValues framework/integrators/MCIntegrator.cpp /^ void MCIntegrator::saveValues() {$/;" f class:ProtoMol::MCIntegrator scalarSum applications/iSGProtomol-app/base/iSGGrid.h /^ void iSGGrid::scalarSum(ScalarStructure* energies, Real& energy, Real& deltaMu){$/;" f class:ProtoMol::iSGGrid scalarSum applications/iSGProtomol-app/base/iSGGrid.h /^ void iSGGrid::scalarSum(ScalarStructure* energies, Real& energy, Real& deltaMu, unsigned int block, unsigned int nBlocks){$/;" f class:ProtoMol::iSGGrid scalarSum framework/base/Grid.h /^ Real Grid::scalarSum(ScalarStructure* energies){$/;" f class:ProtoMol::Grid scalarSum framework/base/Grid.h /^ Real Grid::scalarSum(ScalarStructure* energies, unsigned int block, unsigned int nBlocks){$/;" f class:ProtoMol::Grid scale applications/xyzviz-app/xyzviz.cpp /^static double scale = 1.0;$/;" v file: scale framework/base/Matrix3by3.cpp /^ void Matrix3by3::scale(Real s)$/;" f class:ProtoMol::Matrix3by3 scale framework/base/Matrix3by3.cpp /^ void Matrix3by3::scale(Real sx, Real sy, Real sz)$/;" f class:ProtoMol::Matrix3by3 scale framework/base/Matrix3by3.cpp /^ void Matrix3by3::scale(const Vector3D& scaleFactor)$/;" f class:ProtoMol::Matrix3by3 scaledCharge framework/base/Atom.h /^ Real scaledCharge;$/;" m struct:ProtoMol::Atom scaledMass framework/base/Atom.h /^ Real scaledMass;$/;" m struct:ProtoMol::Atom scope framework/forces/Force.h /^ static const std::string scope;$/;" m class:ProtoMol::Force scope framework/frontend/HelpTextFactory.h /^ std::string scope;$/;" m struct:ProtoMol::HelpText scope framework/frontend/Output.h /^ static const std::string scope;$/;" m class:ProtoMol::Output scope framework/integrators/Integrator.h /^ static const std::string scope;$/;" m class:ProtoMol::Integrator scope framework/topology/GenericTopology.h /^ static const std::string scope;$/;" m class:ProtoMol::GenericTopology sd framework/imd/vmdsock.h /^ int sd; \/\/< socket file descriptor $/;" m struct:ProtoMol::IMD:: search framework/frontend/HelpTextFactory.cpp /^ string HelpTextFactory::search(const string& id){$/;" f class:ProtoMol::HelpTextFactory second framework/base/simpleTypes.h /^ unsigned int first,second;$/;" m struct:ProtoMol::PairIntSorted second framework/topology/CellListEnumerator_periodicBoundaries.h /^ struct CellPair {int first; int second;};$/;" m struct:ProtoMol::CellListEnumerator::CellPair second framework/topology/CellListEnumerator_standard.h /^ struct CellPair {int first; int second;};$/;" m struct:ProtoMol::CellListEnumerator::CellPair segID framework/base/PDB.h /^ std::string segID; \/\/\/< seg_id $/;" m struct:ProtoMol::PDB::PDBAtom seg_id framework/base/PSF.h /^ std::string seg_id; \/\/\/< segment identifier$/;" m struct:ProtoMol::PSF::Atom send_coords framework/imd/IMDElf.cpp /^ int IMDElf::send_coords(const Vector3DBlock &c) {$/;" f class:ProtoMol::IMDElf set compilerTests/pngTest.cpp /^ void set(unsigned int i, unsigned int j,unsigned char a){p[(h-i-1)*w*3+j*3] = a;p[(h-i-1)*w*3+j*3+1] = a;p[(h-i-1)*w*3+j*3+2] = a;};$/;" f class:PPM set compilerTests/pngTest.cpp /^ void set(unsigned int i, unsigned int j,unsigned char r,unsigned char g,unsigned char b){p[(h-i-1)*w*3+j*3] = r;p[(h-i-1)*w*3+j*3+1] = g;p[(h-i-1)*w*3+j*3+2] = b;};$/;" f class:PPM set framework/base/BSpline.cpp /^ void BSpline::set(Real w){$/;" f class:ProtoMol::BSpline set framework/base/Configuration.cpp /^ bool Configuration::set(const string& keyword, Value v){$/;" f class:ProtoMol::Configuration set framework/base/Configuration.cpp /^ bool Configuration::set(const string& keyword, const string& v){$/;" f class:ProtoMol::Configuration set framework/base/Configuration.cpp /^ bool Configuration::set(const string& keyword, const vector >& values){$/;" f class:ProtoMol::Configuration set framework/base/Configuration.cpp /^ bool Configuration::set(const vector >& values){$/;" f class:ProtoMol::Configuration set framework/base/Lagrange.cpp /^ void Lagrange::set(Real w){$/;" f class:ProtoMol::Lagrange set framework/base/PGM.h /^ void set(unsigned int x, unsigned int y,unsigned char a){p[(h-y-1)*w+x] = a;}$/;" f class:ProtoMol::PGM set framework/base/PGM.h /^ void set(unsigned int x, unsigned int y,unsigned char r,unsigned char g,unsigned char b){p[(h-y-1)*w+x] = static_cast((static_cast(r)+static_cast(g)+static_cast(b))\/3);}$/;" f class:ProtoMol::PGM set framework/base/PPM.h /^ void set(unsigned int x, unsigned int y,unsigned char a){p[(h-y-1)*w*3+x*3] = a;p[(h-y-1)*w*3+x*3+1] = a;p[(h-y-1)*w*3+x*3+2] = a;}$/;" f class:ProtoMol::PPM set framework/base/PPM.h /^ void set(unsigned int x, unsigned int y,unsigned char r,unsigned char g,unsigned char b){p[(h-y-1)*w*3+x*3] = r;p[(h-y-1)*w*3+x*3+1] = g;p[(h-y-1)*w*3+x*3+2] = b;}$/;" f class:ProtoMol::PPM set framework/base/Timer.cpp /^ void TimeRep::set(double realTime, double userTime, double sysTime)$/;" f class:ProtoMol::TimeRep set framework/base/Value.cpp /^ bool Value::set(Value v){$/;" f class:ProtoMol::Value set framework/base/Value.h /^ bool set(const char* v){return set(std::string(v));}$/;" f class:ProtoMol::Value::PlaceHolder set framework/base/Value.h /^ virtual bool set(Real v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;}$/;" f class:ProtoMol::Value::Holder set framework/base/Value.h /^ virtual bool set(bool v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;}$/;" f class:ProtoMol::Value::Holder set framework/base/Value.h /^ virtual bool set(const Value& val) {$/;" f class:ProtoMol::Value::Holder set framework/base/Value.h /^ virtual bool set(const Vector3D & v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;}$/;" f class:ProtoMol::Value::Holder set framework/base/Value.h /^ virtual bool set(const std::string & v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;}$/;" f class:ProtoMol::Value::Holder set framework/base/Value.h /^ virtual bool set(const std::vector & v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;}$/;" f class:ProtoMol::Value::Holder set framework/base/Value.h /^ virtual bool set(int v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;}$/;" f class:ProtoMol::Value::Holder set framework/base/Value.h /^ virtual bool set(unsigned int v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;}$/;" f class:ProtoMol::Value::Holder set framework/base/Value.h /^ bool set(const T& value){$/;" f class:ProtoMol::Value set framework/forces/Hermite.cpp /^ void Hermite::set(Real w){$/;" f class:ProtoMol::Hermite set framework/topology/BankLennardJonesParameterTable.h /^ void set(int i, int j, int type1, int type2, const LennardJonesParameters& paramsij ) {$/;" f struct:ProtoMol::BankLennardJonesParameterTable set framework/topology/LennardJonesParameterTable.cpp /^ void LennardJonesParameterTable::set(int type1, int type2, const LennardJonesParameters ¶ms) {$/;" f class:ProtoMol::LennardJonesParameterTable set framework/topology/PeriodicBoundaryConditions.cpp /^ void PeriodicBoundaryConditions::set(const Vector3D &e1 ,const Vector3D &e2 ,$/;" f class:ProtoMol::PeriodicBoundaryConditions set framework/topology/VacuumBoundaryConditions.h /^ void set(const Vector3D &,const Vector3D &,const Vector3D &,const Vector3D &) const{};$/;" f class:ProtoMol::VacuumBoundaryConditions setAbort framework/base/Report.cpp /^ void MyStreamer::setAbort(bool flag){$/;" f class:ProtoMol::Report::MyStreamer setAlias framework/base/Makeable.cpp /^ string Makeable::setAlias(const string& id){$/;" f class:ProtoMol::Makeable setAllNodes framework/base/Report.cpp /^ void MyStreamer::setAllNodes(bool flag){$/;" f class:ProtoMol::Report::MyStreamer setAngle framework/topology/AngleInfo.cpp /^ void AngleInfo::setAngle(Real angle) {$/;" f class:ProtoMol::AngleInfo setAtomID framework/topology/AngleInfo.cpp /^ void AngleInfo::setAtomID(unsigned int ID) {$/;" f class:ProtoMol::AngleInfo setAutofit framework/io/XFigWriter.cpp /^ bool XFigWriter::setAutofit(bool autofit){$/;" f class:ProtoMol::XFigWriter setAxes framework/io/XFigWriter.cpp /^ bool XFigWriter::setAxes(bool axes){$/;" f class:ProtoMol::XFigWriter setBarrier framework/parallel/Parallel.h /^ static void setBarrier(bool b) {myUseBarrier = b;}$/;" f class:ProtoMol::Parallel setCache framework/frontend/Output.cpp /^ void Output::setCache(const OutputCache* cache){$/;" f class:ProtoMol::Output setCellSize framework/topology/CubicCellManager.cpp /^ void CubicCellManager::setCellSize(Real newSize) {$/;" f class:ProtoMol::CubicCellManager setCharmmType applications/iSGProtomol-app/io/iSGPARReader.h /^ inline void iSGPARReader::setCharmmType(iSGPAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::iSGPARReader setCharmmType framework/io/PARReader.h /^ inline void PARReader::setCharmmType(PAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::PARReader setCharmmType framework/io/PARWriter.cpp /^ void PARWriter::setCharmmType(PAR::CharmmTypeEnum charmmType){$/;" f class:ProtoMol::PARWriter setColor framework/io/XFigWriter.cpp /^ bool XFigWriter::setColor(bool color){$/;" f class:ProtoMol::XFigWriter setComment framework/io/Writer.cpp /^ void Writer::setComment(const std::string& comment){$/;" f class:ProtoMol::Writer setCoords framework/io/XYZTrajectoryWriter.cpp /^ void XYZTrajectoryWriter::setCoords(const Vector3DBlock& coords){$/;" f class:ProtoMol::XYZTrajectoryWriter setExclusionAtom framework/topology/AngleInfo.cpp /^ void AngleInfo::setExclusionAtom() {$/;" f class:ProtoMol::AngleInfo setFilename framework/frontend/InputPosVel.cpp /^ void InputPosVel::setFilename(const string& filename){$/;" f class:ProtoMol::InputPosVel setFilename framework/io/File.h /^ inline void File::setFilename(const std::string& filename){$/;" f class:ProtoMol::File setFirststep framework/io/DCDTrajectoryWriter.cpp /^ void DCDTrajectoryWriter::setFirststep(unsigned int firststep){$/;" f class:ProtoMol::DCDTrajectoryWriter setForce framework/imd/HapticSystemForce.cpp /^ void HapticSystemForce::setForce(Vector3DBlock* forces){$/;" f class:ProtoMol::HapticSystemForce setForcesAfterTransformation applications/iSGProtomol-app/integrators/ModifierISG.cpp /^ void ModifierISG::setForcesAfterTransformation( GenericTopology *topo ){$/;" f class:ProtoMol::ModifierISG setFromZ framework/io/XFigWriter.cpp /^ Real XFigWriter::setFromZ(Real fromZ){$/;" f class:ProtoMol::XFigWriter setIAmMaster framework/base/Report.h /^ void setIAmMaster(bool master){myIAmMaster = master;}$/;" f class:ProtoMol::Report::MyStreamer setInnerAtom framework/topology/AngleInfo.cpp /^ void AngleInfo::setInnerAtom(){$/;" f class:ProtoMol::AngleInfo setLegend framework/io/XFigWriter.cpp /^ bool XFigWriter::setLegend(bool legend){$/;" f class:ProtoMol::XFigWriter setLevel framework/base/Report.h /^ void setLevel(short level) {myLevel=level;}$/;" f class:ProtoMol::Report::MyStreamer setLittleEndian framework/io/DCDTrajectoryWriter.cpp /^ void DCDTrajectoryWriter::setLittleEndian(bool littleEndian){$/;" f class:ProtoMol::DCDTrajectoryWriter setLittleEndian framework/io/XYZBinWriter.cpp /^ void XYZBinWriter::setLittleEndian(bool littleEndian){$/;" f class:ProtoMol::XYZBinWriter setMaxPackages framework/parallel/Parallel.cpp /^ void Parallel::setMaxPackages(int n) {$/;" f class:ProtoMol::Parallel setMode framework/parallel/Parallel.cpp /^ void Parallel::setMode(ParallelType mode){$/;" f class:ProtoMol::Parallel setMyNumIterMOLLYStepsize framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::setMyNumIterMOLLYStepsize(){$/;" f class:ProtoMol::BSplineMOLLYIntegrator setNames framework/io/XYZTrajectoryWriter.cpp /^ void XYZTrajectoryWriter::setNames(const XYZ& xyz){$/;" f class:ProtoMol::XYZTrajectoryWriter setNames framework/io/XYZTrajectoryWriter.cpp /^ void XYZTrajectoryWriter::setNames(const std::vector& atoms,const std::vector& atomTypes){$/;" f class:ProtoMol::XYZTrajectoryWriter setNames framework/io/XYZTrajectoryWriter.cpp /^ void XYZTrajectoryWriter::setNames(const std::vector& names){$/;" f class:ProtoMol::XYZTrajectoryWriter setNumComps applications/iSGProtomol-app/io/iSGPARReader.h /^ void setNumComps(const int C) {numComp = C;}$/;" f class:ProtoMol::iSGPARReader setOrder framework/base/BSpline.cpp /^ void BSpline::setOrder(unsigned int order){$/;" f class:ProtoMol::BSpline setOrder framework/base/Lagrange.cpp /^ void Lagrange::setOrder(unsigned int order){$/;" f class:ProtoMol::Lagrange setOrder framework/forces/Hermite.cpp /^ void Hermite::setOrder(unsigned int order){$/;" f class:ProtoMol::Hermite setParallel framework/base/TimerStatistic.h /^ static void setParallel(bool b) {myIsParallel=b;}$/;" f class:ProtoMol::TimerStatistic setParameter framework/forces/Force.h /^ void setParameter(std::string& errMsg, const std::string& key, T val){$/;" f class:ProtoMol::Force setParameter framework/forces/Force.h /^ void setParameter(std::string& errMsg, unsigned int index, T val){$/;" f class:ProtoMol::Force setParameters framework/forces/Force.cpp /^ void Force::setParameters(string& errMsg, vector values){$/;" f class:ProtoMol::Force setParametersBySwapping framework/forces/Force.h /^ void setParametersBySwapping(T* obj, std::string& errMsg, std::vector values){$/;" f class:ProtoMol::Force setPipeSize framework/parallel/Parallel.cpp /^ void Parallel::setPipeSize(int n){$/;" f class:ProtoMol::Parallel setPointer framework/topology/AngleInfo.cpp /^ void AngleInfo::setPointer(unsigned int atom) {$/;" f class:ProtoMol::AngleInfo setProtomolAbort framework/base/systemutilities.cpp /^ void setProtomolAbort(void (*abortFunction)()){$/;" f namespace:ProtoMol setProtomolEndSerial framework/base/systemutilities.cpp /^ void setProtomolEndSerial(void (*endSerialFunction)(bool)){$/;" f namespace:ProtoMol setProtomolExit framework/base/systemutilities.cpp /^ void setProtomolExit(void (*exitFunction)()){$/;" f namespace:ProtoMol setProtomolStartSerial framework/base/systemutilities.cpp /^ void setProtomolStartSerial(void (*startSerialFunction)(bool)){$/;" f namespace:ProtoMol setRadius framework/io/XFigWriter.cpp /^ Real XFigWriter::setRadius(Real radius){$/;" f class:ProtoMol::XFigWriter setReportLevel framework/base/Report.h /^ void setReportLevel(short level) {myReportLevel=level;}$/;" f class:ProtoMol::Report::MyStreamer setSize framework/io/XYZBinWriter.cpp /^ void XYZBinWriter::setSize(unsigned int size){$/;" f class:ProtoMol::XYZBinWriter setStream framework/base/Report.cpp /^ ostream* MyStreamer::setStream(ostream* a) {$/;" f class:ProtoMol::Report::MyStreamer setText framework/base/Configuration.cpp /^ bool Configuration::setText(const std::string& keyword, const string& text){$/;" f class:ProtoMol::Configuration setTimestep framework/io/DCDTrajectoryWriter.cpp /^ void DCDTrajectoryWriter::setTimestep(Real timestep){$/;" f class:ProtoMol::DCDTrajectoryWriter setToZ framework/io/XFigWriter.cpp /^ Real XFigWriter::setToZ(Real toZ){$/;" f class:ProtoMol::XFigWriter setTransformation framework/io/XFigWriter.cpp /^ Matrix3by3 XFigWriter::setTransformation(const Matrix3by3& mat){$/;" f class:ProtoMol::XFigWriter setVisited framework/topology/AngleInfo.cpp /^ void AngleInfo::setVisited() {$/;" f class:ProtoMol::AngleInfo set_angles framework/topology/topologyutilities.cpp /^ void set_angles (Stack *nodeStack,vector *angles, bool lastIsInnerAtom, Real wholeAngle) {$/;" f namespace:ProtoMol setf framework/base/Report.cpp /^ void MyStreamer::setf(std::ios::fmtflags flag){$/;" f class:ProtoMol::Report::MyStreamer setf framework/base/Report.cpp /^ void MyStreamer::setf(std::ios::fmtflags flag, std::ios::fmtflags mask){$/;" f class:ProtoMol::Report::MyStreamer shift framework/base/systemutilities.h /^ inline void shift(Real &a, Real &b, Real &c, const Real d) { $/;" f namespace:ProtoMol shortRangeTerm framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::shortRangeTerm(const RealTopologyType* realTopo, $/;" f class:ProtoMol::NonbondedMultiGridSystemForce shrink framework/base/systemutilities.h /^ void shrink(T& t){$/;" f namespace:ProtoMol sigma framework/base/PAR.h /^ Real sigma; \/\/\/< minimum radius divided by 2$/;" m struct:ProtoMol::PAR::Nonbonded sigma framework/base/iSGPAR.h /^ std::vector sigma;$/;" m struct:ProtoMol::iSGPAR::Nonbonded sigma14 framework/base/PAR.h /^ Real sigma14; \/\/\/< VDW parameter minimum radius divided by 2$/;" m struct:ProtoMol::PAR::Nonbonded sigma14 framework/base/iSGPAR.h /^ std::vector sigma14;$/;" m struct:ProtoMol::iSGPAR::Nonbonded sign framework/base/mathutilities.h /^ inline Real sign(Real a, Real b){$/;" f namespace:ProtoMol sign framework/base/mathutilities.h /^ inline int sign(T a) {$/;" f namespace:ProtoMol simType applications/iSGProtomol-app/base/XSC.h /^ std::string simType;$/;" m struct:ProtoMol::XSC sincos framework/base/mathutilities.cpp /^ void sincos(Real alpha, Real& sinAlpha, Real& cosAlpha){$/;" f namespace:ProtoMol size compilerTests/pngTest.cpp /^ unsigned int size() const{return 3*w*h;}$/;" f class:PPM size framework/base/Array_Fastest.h /^ size_type size() const { return m_nArrayElements; }$/;" f class:ProtoMol::Array size framework/base/Array_Fastest.h /^ size_type size() const { return m_NDimensions*m_SubArrayLen; }$/;" f class:ProtoMol::RefArray size framework/base/Array_Fastest.h /^ size_type size() const { return m_NDimensions; } $/;" f class:ProtoMol::RefArray size framework/base/Array_Fastest.h /^ size_type size(size_t Dim) const $/;" f class:ProtoMol::Array size framework/base/Array_Fastest.h /^ size_type size(size_t Dim) const $/;" f class:ProtoMol::RefArray size framework/base/Array_Fastest.h /^ size_type size(size_t Dim) const$/;" f class:ProtoMol::RefArray size framework/base/Array_NoPartialSpecialization.h /^ size_type size() const { return m_pNDimensions[0]; } $/;" f class:ProtoMol::Array::RefArray size framework/base/Array_NoPartialSpecialization.h /^ size_type size() const { return m_pNDimensions[0]*m_pSubArrayLen[0]; }$/;" f class:ProtoMol::Array::RefArray size framework/base/Array_NoPartialSpecialization.h /^ size_type size(unsigned int Dim) const $/;" f class:ProtoMol::Array::RefArray size framework/base/Array_NoPartialSpecialization.h /^ size_type size() const { return m_nArrayElements; }$/;" f class:ProtoMol::Array size framework/base/Array_NoPartialSpecialization.h /^ size_type size(unsigned int Dim) const $/;" f class:ProtoMol::Array size framework/base/Molecule.h /^ size_t size(){return atoms.size();}$/;" f struct:ProtoMol::Molecule size framework/base/PDB.h /^ size_t size() const {return coords.size();}$/;" f struct:ProtoMol::PDB size framework/base/PGM.h /^ unsigned int size() const{return w*h;}$/;" f class:ProtoMol::PGM size framework/base/PPM.h /^ unsigned int size() const{return 3*w*h;}$/;" f class:ProtoMol::PPM size framework/base/Value.h /^ virtual unsigned int size() const{ return ValueTrait::size(holder);}$/;" f class:ProtoMol::Value::Holder size framework/base/Value.h /^ inline unsigned int Value::size() const{$/;" f class:ProtoMol::Value size framework/base/ValueType.h /^ static unsigned int size(RepType){ return 1;}$/;" f struct:ProtoMol::ValueTraits size framework/base/ValueType.h /^ static unsigned int size(const RepType& v){ return v.size();}$/;" f struct:ProtoMol::ValueTraits size framework/base/ValueType.h /^ static unsigned int size(const RepType&){ return 3;}$/;" f struct:ProtoMol::ValueTraits size framework/base/XYZ.h /^ size_t size() const {return coords.size();}$/;" f struct:ProtoMol::XYZ size framework/integrators/Integrator.h /^ inline int Integrator::size() const{$/;" f class:ProtoMol::Integrator size framework/topology/ArrayCellListStructure.h /^ size_type size() const { return mySize;}$/;" f class:ProtoMol::ArrayCellListStructure size framework/topology/LennardJonesParameterTable.h /^ int size() const {return myCurrentSize;}$/;" f class:ProtoMol::LennardJonesParameterTable size_t framework/base/Array_Fastest.h /^ ArraySize(const size_t (&Dimensions)[N-1],size_t dim)$/;" m class:ProtoMol::ArraySize size_t framework/base/Array_Fastest.h /^ bool resize(const size_t (&Dimensions)[N], const T & Init=T(), bool PreserveElems=false)$/;" m class:ProtoMol::Array size_t framework/base/Array_Fastest.h /^ explicit Array(const size_t (&Dimensions)[N], const T & Init=T())$/;" m class:ProtoMol::Array size_type framework/base/Array_Fastest.h /^ typedef size_t size_type;$/;" t class:ProtoMol::Array size_type framework/base/Array_Fastest.h /^ typedef size_t size_type;$/;" t class:ProtoMol::RefArray size_type framework/base/Array_NoPartialSpecialization.h /^ typedef size_t size_type;$/;" t class:ProtoMol::Array::RefArray size_type framework/base/Array_NoPartialSpecialization.h /^ typedef size_t size_type;$/;" t class:ProtoMol::Array size_type framework/topology/ArrayCellListStructure.h /^ typedef TContainer::size_type size_type; $/;" t class:ProtoMol::ArrayCellListStructure sized applications/iSGProtomol-app/io/TRANSReader.h /^ bool sized;$/;" m class:ProtoMol::TRANSReader slaveComm framework/parallel/Parallel.cpp /^ static MPI_Comm slaveComm = MPI_COMM_NULL; \/\/ Not data member to avoid dependcies$/;" m namespace:ProtoMol file: smooth applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {r=r*r*cr*cr;return (0.0078125*cr*(315.0-r*(420.0-r*(378.0-r*(180.0-r*35.0)))));}$/;" f class:ProtoMol::iSGCoulombForce::C4 smooth applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {r=r*r*cr*cr;return (0.0625*cr*(35.0-r*(35.0-r*(21.0-5.0*r))));}$/;" f class:ProtoMol::iSGCoulombForce::C3 smooth applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {r=r*r*cr*cr;return (cr*(1.875-r*(1.25-0.375*r)));}$/;" f class:ProtoMol::iSGCoulombForce::C2 smooth applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {return (cr*(1.5-0.5*r*r*cr*cr));}$/;" f class:ProtoMol::iSGCoulombForce::C1 smooth applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {r=r*r*cr*cr;return (0.0078125*cr*(315.0-r*(420.0-r*(378.0-r*(180.0-r*35.0)))));}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C4 smooth applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {r=r*r*cr*cr;return (0.0625*cr*(35.0-r*(35.0-r*(21.0-5.0*r))));}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C3 smooth applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {r=r*r*cr*cr;return (cr*(1.875-r*(1.25-0.375*r)));}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C2 smooth applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {return (cr*(1.5-0.5*r*r*cr*cr));}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C1 smooth framework/forces/CoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {r=r*r*cr*cr;return (0.0078125*cr*(315.0-r*(420.0-r*(378.0-r*(180.0-r*35.0)))));}$/;" f class:ProtoMol::CoulombForce::C4 smooth framework/forces/CoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {r=r*r*cr*cr;return (0.0625*cr*(35.0-r*(35.0-r*(21.0-5.0*r))));}$/;" f class:ProtoMol::CoulombForce::C3 smooth framework/forces/CoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {r=r*r*cr*cr;return (cr*(1.875-r*(1.25-0.375*r)));}$/;" f class:ProtoMol::CoulombForce::C2 smooth framework/forces/CoulombForce.h /^ static Real smooth(Real r,Real \/*c*\/,Real cr) {return (cr*(1.5-0.5*r*r*cr*cr));}$/;" f class:ProtoMol::CoulombForce::C1 smooth0 applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (1.5*cr);}$/;" f class:ProtoMol::iSGCoulombForce::C1 smooth0 applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (1.875*cr);}$/;" f class:ProtoMol::iSGCoulombForce::C2 smooth0 applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (2.1875*cr);}$/;" f class:ProtoMol::iSGCoulombForce::C3 smooth0 applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (2.4609375*cr);}$/;" f class:ProtoMol::iSGCoulombForce::C4 smooth0 applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (1.5*cr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C1 smooth0 applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (1.875*cr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C2 smooth0 applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (2.1875*cr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C3 smooth0 applications/iSGProtomol-app/forces/iSGIdealGasCoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (2.4609375*cr);}$/;" f class:ProtoMol::iSGIdealGasCoulombForce::C4 smooth0 framework/forces/CoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (1.5*cr);}$/;" f class:ProtoMol::CoulombForce::C1 smooth0 framework/forces/CoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (1.875*cr);}$/;" f class:ProtoMol::CoulombForce::C2 smooth0 framework/forces/CoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (2.1875*cr);}$/;" f class:ProtoMol::CoulombForce::C3 smooth0 framework/forces/CoulombForce.h /^ static Real smooth0(Real \/*c*\/,Real cr) {return (2.4609375*cr);}$/;" f class:ProtoMol::CoulombForce::C4 smoothKernel applications/iSGProtomol-app/forces/iSGCoulombForce.h /^ static Real smoothKernel(Real r,Real c,Real cr) {return (r ForceFactoryDetails::splitForceString(const string& id) const{$/;" f class:ProtoMol::ForceFactoryDetails splitForceStringSorted framework/frontend/ForceFactoryDetails.cpp /^ vector ForceFactoryDetails::splitForceStringSorted(const string& id) const{$/;" f class:ProtoMol::ForceFactoryDetails splitRangeArea framework/base/mathutilities.cpp /^ void splitRangeArea(unsigned int p, unsigned int from, unsigned int to, $/;" f namespace:ProtoMol splitRangeQuadratic framework/base/mathutilities.cpp /^ void splitRangeQuadratic(unsigned int p, unsigned int from, unsigned int to, $/;" f namespace:ProtoMol splitString framework/base/stringutilities.cpp /^ vector splitString(const string& id){$/;" f namespace:ProtoMol springConstant framework/topology/Bond.h /^ Real springConstant;$/;" m class:ProtoMol::Bond square framework/base/mathutilities.h /^ inline Real square(Real x) {return x*x;}$/;" f namespace:ProtoMol stage applications/iSGProtomol-app/base/TRANS.h /^ std::vector stage;$/;" m struct:ProtoMol::TRANS::AtomType stageNumber framework/base/Atom.h /^ int stageNumber;$/;" m struct:ProtoMol::Atom stageNumber framework/base/iSGPAR.h /^ std::vector stageNumber;$/;" m struct:ProtoMol::iSGPAR::AtomType start framework/base/Cycles.h /^ void start(){if( myRunningFlag) return;myRunningFlag = true ; myStartTime = Private::getticks();}$/;" f class:ProtoMol::Cycles start framework/base/Timer.cpp /^ void Timer::start()$/;" f class:ProtoMol::Timer startAnimation applications/xyzviz-app/xyzviz.cpp /^void startAnimation(){$/;" f startFieldOfView applications/xyzviz-app/xyzviz.cpp /^static int startFieldOfView=0;$/;" v file: startx applications/xyzviz-app/xyzviz.cpp /^static int startx=0;$/;" v file: starty applications/xyzviz-app/xyzviz.cpp /^static int starty=0;$/;" v file: std framework/base/sstream_local.h /^namespace std$/;" n stop framework/base/Cycles.h /^ void stop() {if(!myRunningFlag) return;myEndTime = Private::getticks(); myRunningFlag = false; }$/;" f class:ProtoMol::Cycles stop framework/base/Timer.cpp /^ void Timer::stop()$/;" f class:ProtoMol::Timer stopAnimation applications/xyzviz-app/xyzviz.cpp /^void stopAnimation(){$/;" f str framework/base/BSplineType.cpp /^ const string BSplineEnum::str[static_cast(LAST)-static_cast(FIRST)] = {$/;" m class:ProtoMol::BSplineEnum file: str framework/base/BSplineType.h /^ static const std::string str[];$/;" m class:ProtoMol::BSplineEnum str framework/base/ConstraintValueType.cpp /^ const string ConstraintValueEnum::str[static_cast(LAST) - static_cast(FIRST)] = {$/;" m class:ProtoMol::ConstraintValueEnum file: str framework/base/ConstraintValueType.h /^ static const std::string str[];$/;" m class:ProtoMol::ConstraintValueEnum str framework/base/ValueType.cpp /^ const string ValueEnum::str[static_cast(LAST) - static_cast(FIRST)] = {$/;" m class:ProtoMol::ValueEnum file: str framework/base/ValueType.h /^ std::string str;$/;" m struct:ProtoMol::ValueEnum::Enum2ValueType str framework/base/ValueType.h /^ static const std::string str[];$/;" m class:ProtoMol::ValueEnum str framework/base/sstream_local.h /^ std::string str() const$/;" f class:std::stringbuf str framework/base/sstream_local.h /^ std::string str() const$/;" f class:std::stringstreambase str framework/base/sstream_local.h /^ void str(const std::string& s)$/;" f class:std::stringbuf str framework/base/sstream_local.h /^ void str(const std::string& s)$/;" f class:std::stringstreambase str framework/frontend/InputPosVelType.cpp /^ const string InputPosVelEnum::str[static_cast(LAST) - static_cast(FIRST)] = {$/;" m class:ProtoMol::InputPosVelEnum file: str framework/frontend/InputPosVelType.h /^ static const std::string str[];$/;" m class:ProtoMol::InputPosVelEnum str framework/integrators/PaulTrapIntegrator.cpp /^ const string ThermostatEnum::str[static_cast(LAST)-static_cast(FIRST)] = {$/;" m class:ProtoMol::ThermostatEnum file: str framework/integrators/PaulTrapIntegrator.h /^ static const std::string str[];$/;" m class:ProtoMol::ThermostatEnum str framework/parallel/ParallelType.cpp /^ const string ParallelEnum::str[static_cast(LAST)-static_cast(FIRST)] = {$/;" m class:ProtoMol::ParallelEnum file: str framework/parallel/ParallelType.h /^ static const std::string str[];$/;" m class:ProtoMol::ParallelEnum str framework/topology/ExclusionType.cpp /^ const string ExclusionEnum::str[static_cast(LAST) - static_cast(FIRST)] = {$/;" m class:ProtoMol::ExclusionEnum file: str framework/topology/ExclusionType.h /^ static const std::string str[];$/;" m class:ProtoMol::ExclusionEnum stringbuf framework/base/sstream_local.h /^ explicit stringbuf(const std::string &s, int which=ios::in|ios::out) :$/;" f class:std::stringbuf stringbuf framework/base/sstream_local.h /^ explicit stringbuf(int which=ios::in|ios::out) :$/;" f class:std::stringbuf stringbuf framework/base/sstream_local.h /^ class stringbuf : public streambuf$/;" c namespace:std stringstream framework/base/sstream_local.h /^ stringstream(const std::string &s, int which=ios::in|ios::out) :$/;" f class:std::stringstream stringstream framework/base/sstream_local.h /^ stringstream(int which=ios::in|ios::out) :$/;" f class:std::stringstream stringstream framework/base/sstream_local.h /^ class stringstream : public stringstreambase, public iostream {$/;" c namespace:std stringstreambase framework/base/sstream_local.h /^ stringstreambase(const std::string& s, int which) :$/;" f class:std::stringstreambase stringstreambase framework/base/sstream_local.h /^ stringstreambase(int which) :$/;" f class:std::stringstreambase stringstreambase framework/base/sstream_local.h /^ class stringstreambase : virtual public ios {$/;" c namespace:std subdivisions applications/xyzviz-app/xyzviz.cpp /^static int subdivisions = 10;$/;" v file: subtract framework/base/Vector3D.h /^ Vector3D subtract(const Vector3D& b) const {return (*this)-b;}$/;" f class:ProtoMol::Vector3D sum framework/base/Vector3DBlock.cpp /^ Vector3D Vector3DBlock::sum() const{$/;" f class:ProtoMol::Vector3DBlock sumQ framework/base/MultiGrid.h /^ inline Real MultiGrid::sumQ(int level){$/;" f class:ProtoMol::MultiGrid sumV framework/base/MultiGrid.h /^ inline Real MultiGrid::sumV(int level){$/;" f class:ProtoMol::MultiGrid surfaceDipoleTerm applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::surfaceDipoleTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce surfaceDipoleTerm applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::surfaceDipoleTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce surfaceDipoleTerm framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::surfaceDipoleTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce surfaceDipoleTerm framework/forces/NonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::surfaceDipoleTerm(const RealTopologyType* realTopo,$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce swap framework/base/Array_Fastest.h /^ void swap(Array & A)$/;" f class:ProtoMol::Array swap framework/base/Array_NoPartialSpecialization.h /^ void swap(Array & A)$/;" f class:ProtoMol::Array swap framework/base/Value.cpp /^ Value & Value::swap(Value & rhs){$/;" f class:ProtoMol::Value swap framework/frontend/InputValue.h /^ InputValue & swap(InputValue & rhs){$/;" f class:ProtoMol::InputValue swap4 framework/imd/imd.cpp /^ static void swap4(char *data, int ndata) {$/;" f namespace:ProtoMol::IMD swapBytes framework/base/systemutilities.h /^ void swapBytes(T& t){$/;" f namespace:ProtoMol swap_header framework/imd/imd.cpp /^ static void swap_header(IMDheader *header) {$/;" f namespace:ProtoMol::IMD switchingFunction applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction switchingFunction;$/;" m class:ProtoMol::iSGNonbondedFullEwaldSystemForce switchingFunction applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ TSwitchingFunction switchingFunction;$/;" m class:ProtoMol::iSGNonbondedPMEwaldSystemForce switchingFunction applications/iSGProtomol-app/forces/iSGOneAtomPair.h /^ TSwitchingFunction switchingFunction;$/;" m class:ProtoMol::iSGOneAtomPair switchingFunction applications/iSGProtomol-app/forces/iSGOneAtomPairFull.h /^ TSwitchingFunction switchingFunction;$/;" m class:ProtoMol::iSGOneAtomPairFull switchingFunction framework/forces/ElectricFieldSystemForce.h /^ TSwitchingFunction switchingFunction;$/;" m class:ProtoMol::ElectricFieldSystemForce switchingFunction framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction switchingFunction;$/;" m class:ProtoMol::NonbondedFullEwaldSystemForce switchingFunction framework/forces/NonbondedPMEwaldSystemForce.h /^ TSwitchingFunction switchingFunction;$/;" m class:ProtoMol::NonbondedPMEwaldSystemForce switchingFunction framework/forces/OneAtomPair.h /^ TSwitchingFunction switchingFunction;$/;" m class:ProtoMol::OneAtomPair switchingFunction framework/forces/OneAtomPairFull.h /^ TSwitchingFunction switchingFunction;$/;" m class:ProtoMol::OneAtomPairFull switchingFunction framework/forces/OneMollyPair.h /^ TSwitchingFunction switchingFunction;$/;" m class:ProtoMol::OneMollyPair switchingFunctionFirst applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ TSwitchingFunctionFirst switchingFunctionFirst;$/;" m class:ProtoMol::iSGOneAtomPairTwo switchingFunctionFirst applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ TSwitchingFunctionFirst switchingFunctionFirst;$/;" m class:ProtoMol::iSGOneAtomPairTwoFull switchingFunctionFirst framework/forces/OneAtomPairTwo.h /^ TSwitchingFunctionFirst switchingFunctionFirst;$/;" m class:ProtoMol::OneAtomPairTwo switchingFunctionFirst framework/forces/OneAtomPairTwoFull.h /^ TSwitchingFunctionFirst switchingFunctionFirst;$/;" m class:ProtoMol::OneAtomPairTwoFull switchingFunctionFirst framework/forces/OneMollyPairTwo.h /^ TSwitchingFunctionFirst switchingFunctionFirst;$/;" m class:ProtoMol::OneMollyPairTwo switchingFunctionSecond applications/iSGProtomol-app/forces/iSGOneAtomPairTwo.h /^ TSwitchingFunctionSecond switchingFunctionSecond;$/;" m class:ProtoMol::iSGOneAtomPairTwo switchingFunctionSecond applications/iSGProtomol-app/forces/iSGOneAtomPairTwoFull.h /^ TSwitchingFunctionSecond switchingFunctionSecond;$/;" m class:ProtoMol::iSGOneAtomPairTwoFull switchingFunctionSecond framework/forces/OneAtomPairTwo.h /^ TSwitchingFunctionSecond switchingFunctionSecond;$/;" m class:ProtoMol::OneAtomPairTwo switchingFunctionSecond framework/forces/OneAtomPairTwoFull.h /^ TSwitchingFunctionSecond switchingFunctionSecond;$/;" m class:ProtoMol::OneAtomPairTwoFull switchingFunctionSecond framework/forces/OneMollyPairTwo.h /^ TSwitchingFunctionSecond switchingFunctionSecond;$/;" m class:ProtoMol::OneMollyPairTwo symbol framework/base/PDB.h /^ std::string symbol; \/\/\/< element_symbol $/;" m struct:ProtoMol::PDB::PDBAtom symbolName framework/base/AtomType.h /^ std::string symbolName; \/\/\/< The symbol untity name of this atom type.$/;" m struct:ProtoMol::AtomType symbolName framework/base/iSGPAR.h /^ std::string symbolName;$/;" m struct:ProtoMol::iSGPAR::AtomType sync framework/base/sstream_local.h /^inline int std::stringbuf::sync()$/;" f class:std::stringbuf sync framework/parallel/Parallel.cpp /^ void Parallel::sync(){$/;" f class:ProtoMol::Parallel syncSlave framework/parallel/Parallel.cpp /^ void Parallel::syncSlave(){$/;" f class:ProtoMol::Parallel tempFactor framework/base/PDB.h /^ Real tempFactor; \/\/\/< temp_factor $/;" m struct:ProtoMol::PDB::PDBAtom temperature framework/frontend/OutputCache.cpp /^ Real OutputCache::temperature() const{$/;" f class:ProtoMol::OutputCache temperature framework/topology/topologyutilities.cpp /^ Real temperature(Real kineticEnergy, $/;" f namespace:ProtoMol temperature framework/topology/topologyutilities.cpp /^ Real temperature(const GenericTopology* topology,$/;" f namespace:ProtoMol temperatureForAtomType framework/topology/topologyutilities.cpp /^ Real temperatureForAtomType(const GenericTopology* topology, $/;" f namespace:ProtoMol temperatureForNonWater framework/frontend/OutputCache.cpp /^ Real OutputCache::temperatureForNonWater() const {$/;" f class:ProtoMol::OutputCache temperatureForNonWater framework/topology/topologyutilities.cpp /^ Real temperatureForNonWater(const GenericTopology* topology,$/;" f namespace:ProtoMol temperatureForWater framework/frontend/OutputCache.cpp /^ Real OutputCache::temperatureForWater() const {$/;" f class:ProtoMol::OutputCache temperatureForWater framework/topology/topologyutilities.cpp /^ Real temperatureForWater(const GenericTopology* topology,$/;" f namespace:ProtoMol text framework/base/Parameter.h /^ std::string text;$/;" m struct:ProtoMol::Parameter text framework/base/simpleTypes.h /^ std::string text;$/;" m struct:ProtoMol::Text text framework/frontend/HelpTextFactory.h /^ std::string text;$/;" m struct:ProtoMol::HelpText the_beginning framework/topology/CellListEnumerator_periodicBoundaries.h /^ CubicCellManager::CellListStructure::const_iterator i,j,the_beginning,the_end;$/;" m class:ProtoMol::CellListEnumerator the_beginning framework/topology/CellListEnumerator_standard.h /^ CubicCellManager::CellListStructure::const_iterator i,j,the_beginning,the_end;$/;" m class:ProtoMol::CellListEnumerator the_counter framework/topology/CellListEnumerator_periodicBoundaries.h /^ int the_first, the_last, the_counter;$/;" m class:ProtoMol::CellListEnumerator the_counter framework/topology/CellListEnumerator_standard.h /^ int the_first, the_last, the_counter;$/;" m class:ProtoMol::CellListEnumerator the_end framework/topology/CellListEnumerator_periodicBoundaries.h /^ CubicCellManager::CellListStructure::const_iterator i,j,the_beginning,the_end;$/;" m class:ProtoMol::CellListEnumerator the_end framework/topology/CellListEnumerator_standard.h /^ CubicCellManager::CellListStructure::const_iterator i,j,the_beginning,the_end;$/;" m class:ProtoMol::CellListEnumerator the_first framework/topology/CellListEnumerator_periodicBoundaries.h /^ int the_first, the_last, the_counter;$/;" m class:ProtoMol::CellListEnumerator the_first framework/topology/CellListEnumerator_standard.h /^ int the_first, the_last, the_counter;$/;" m class:ProtoMol::CellListEnumerator the_last framework/topology/CellListEnumerator_periodicBoundaries.h /^ int the_first, the_last, the_counter;$/;" m class:ProtoMol::CellListEnumerator the_last framework/topology/CellListEnumerator_standard.h /^ int the_first, the_last, the_counter;$/;" m class:ProtoMol::CellListEnumerator theta framework/base/BSpline.h /^ Real* theta; \/\/\/< Bk$/;" m class:ProtoMol::BSpline theta framework/base/Lagrange.h /^ Real* theta; \/\/\/< lk$/;" m class:ProtoMol::Lagrange theta framework/forces/Hermite.h /^ Real* theta;$/;" m class:ProtoMol::Hermite thisStage applications/iSGProtomol-app/integrators/iSGIntegrator.h /^ int thisStage; \/\/ The current transformation stage$/;" m class:ProtoMol::iSGIntegrator ticks framework/base/Cycles.h /^ typedef LARGE_INTEGER ticks;$/;" t namespace:ProtoMol::Private ticks framework/base/Cycles.h /^ typedef ULONG64 ticks;$/;" t namespace:ProtoMol::Private ticks framework/base/Cycles.h /^ typedef struct timespec ticks;$/;" t namespace:ProtoMol::Private ticks framework/base/Cycles.h /^ typedef timebasestruct_t ticks;$/;" t namespace:ProtoMol::Private ticks framework/base/Cycles.h /^ typedef unsigned int ticks;$/;" t namespace:ProtoMol::Private ticks framework/base/Cycles.h /^ typedef unsigned long long ticks;$/;" t namespace:ProtoMol::Private ticks framework/base/Cycles.h /^ typedef unsigned long ticks;$/;" t namespace:ProtoMol::Private ticks framework/base/Cycles.h /^ typedef Private::ticks ticks;$/;" t class:ProtoMol::Cycles ticks framework/base/Cycles.h /^ typedef hrtime_t ticks;$/;" t namespace:ProtoMol::Private ticks framework/base/Cycles.h /^ typedef long long ticks;$/;" t namespace:ProtoMol::Private ticks framework/base/Cycles.h /^ typedef unsigned long long ticks;$/;" t namespace:ProtoMol::Private time framework/frontend/OutputCache.cpp /^ Real OutputCache::time() const{$/;" f class:ProtoMol::OutputCache time framework/topology/GenericTopology.h /^ mutable Real time;$/;" m class:ProtoMol::GenericTopology timeout applications/xyzviz-app/xyzviz.cpp /^static int timeout = -1;$/;" v file: timeout framework/imd/IMDElf.h /^ int timeout;$/;" m class:ProtoMol::IMDElf timer applications/xyzviz-app/xyzviz.cpp /^static Timer timer;$/;" v file: timer framework/base/TimerStatistic.cpp /^ Timer TimerStatistic::timer[static_cast(LAST)-static_cast(FIRST)];$/;" m class:ProtoMol::TimerStatistic file: timer framework/base/TimerStatistic.h /^ static Timer timer[];$/;" m class:ProtoMol::TimerStatistic timerCallback applications/xyzviz-app/xyzviz.cpp /^void timerCallback(int value){$/;" f timerCallback applications/xyzviz-app/xyzviz.cpp /^void timerCallback(long value){$/;" f timerIdleCallback applications/xyzviz-app/xyzviz.cpp /^void timerIdleCallback(){$/;" f to applications/xyzviz-app/xyzviz.cpp /^static double to = 0.0;$/;" v file: toBool framework/base/stringutilities.cpp /^ bool toBool(const string& word){$/;" f namespace:ProtoMol toBool framework/base/stringutilities.cpp /^ bool toBool(const string& word, bool &b){$/;" f namespace:ProtoMol toInt framework/base/stringutilities.cpp /^ bool toInt(const string& word, int &i){$/;" f namespace:ProtoMol toInt framework/base/stringutilities.cpp /^ int toInt(const string& word){$/;" f namespace:ProtoMol toReal framework/base/stringutilities.cpp /^ Real toReal(const string& word){$/;" f namespace:ProtoMol toReal framework/base/stringutilities.cpp /^ bool toReal(const string& word, Real &r){$/;" f namespace:ProtoMol toString framework/base/stringutilities.cpp /^ string toString(Real x){$/;" f namespace:ProtoMol toString framework/base/stringutilities.cpp /^ string toString(Real x,unsigned int n, unsigned int m){$/;" f namespace:ProtoMol toString framework/base/stringutilities.cpp /^ string toString(bool x){$/;" f namespace:ProtoMol toString framework/base/stringutilities.cpp /^ string toString(const Vector3D& c){$/;" f namespace:ProtoMol toString framework/base/stringutilities.cpp /^ string toString(const vector& v){$/;" f namespace:ProtoMol toString framework/base/stringutilities.h /^ inline const std::string & toString(const std::string& x) {return x;}$/;" f namespace:ProtoMol toString framework/base/stringutilities.h /^ inline std::string toString(T x){$/;" f namespace:ProtoMol toStringGeneric framework/base/stringutilities.cpp /^ inline string toStringGeneric(T x){$/;" f namespace:ProtoMol toUInt framework/base/stringutilities.cpp /^ bool toUInt(const string& word, unsigned int &i){$/;" f namespace:ProtoMol toUInt framework/base/stringutilities.cpp /^ unsigned int toUInt(const string& word){$/;" f namespace:ProtoMol toVector framework/base/stringutilities.cpp /^ bool toVector(const string& word, vector &v){$/;" f namespace:ProtoMol toVector framework/base/stringutilities.cpp /^ vector toVector(const string& word){$/;" f namespace:ProtoMol toVector3D framework/base/stringutilities.cpp /^ Vector3D toVector3D(const string& word){$/;" f namespace:ProtoMol toVector3D framework/base/stringutilities.cpp /^ bool toVector3D(const string& word, Vector3D &c){$/;" f namespace:ProtoMol top framework/integrators/Integrator.cpp /^ Integrator* Integrator::top(){$/;" f class:ProtoMol::Integrator top framework/integrators/Integrator.cpp /^ const Integrator* Integrator::top() const{$/;" f class:ProtoMol::Integrator totalEnergy framework/frontend/OutputCache.cpp /^ Real OutputCache::totalEnergy() const{$/;" f class:ProtoMol::OutputCache totalFrames applications/xyzviz-app/xyzviz.cpp /^static int totalFrames = 1;$/;" v file: transformMaps applications/iSGProtomol-app/integrators/ModifierISG.h /^ std::vector transformMaps;$/;" m class:ProtoMol::ModifierISG transpose framework/base/Matrix3by3.cpp /^ void Matrix3by3::transpose() $/;" f class:ProtoMol::Matrix3by3 transpose framework/base/Matrix3by3.cpp /^ void Matrix3by3::transpose(const Matrix3by3& tm) $/;" f class:ProtoMol::Matrix3by3 transposed framework/base/Matrix3by3.cpp /^ Matrix3by3 Matrix3by3::transposed() const $/;" f class:ProtoMol::Matrix3by3 transposed framework/base/ReducedHessAngle.cpp /^ ReducedHessAngle ReducedHessAngle::transposed()$/;" f class:ProtoMol::ReducedHessAngle trate framework/imd/IMDElf.h /^ int trate;$/;" m class:ProtoMol::IMDElf tryFormat applications/iSGProtomol-app/io/TRANSReader.cpp /^ bool TRANSReader::tryFormat(){$/;" f class:ProtoMol::TRANSReader tryFormat applications/iSGProtomol-app/io/XSCReader.cpp /^ bool XSCReader::tryFormat() {$/;" f class:ProtoMol::XSCReader tryFormat applications/iSGProtomol-app/io/iSGPARReader.cpp /^ bool iSGPARReader::tryFormat(){$/;" f class:ProtoMol::iSGPARReader tryFormat framework/frontend/InputPosVel.cpp /^ bool InputPosVel::tryFormat(InputPosVelType::Enum type){$/;" f class:ProtoMol::InputPosVel tryFormat framework/io/ConfigurationReader.cpp /^ bool ConfigurationReader::tryFormat(){$/;" f class:ProtoMol::ConfigurationReader tryFormat framework/io/DCDTrajectoryReader.cpp /^ bool DCDTrajectoryReader::tryFormat(){$/;" f class:ProtoMol::DCDTrajectoryReader tryFormat framework/io/PARReader.cpp /^ bool PARReader::tryFormat(){$/;" f class:ProtoMol::PARReader tryFormat framework/io/PDBReader.cpp /^ bool PDBReader::tryFormat(){$/;" f class:ProtoMol::PDBReader tryFormat framework/io/PGMReader.cpp /^ bool PGMReader::tryFormat(){$/;" f class:ProtoMol::PGMReader tryFormat framework/io/PPMReader.cpp /^ bool PPMReader::tryFormat(){$/;" f class:ProtoMol::PPMReader tryFormat framework/io/PSFReader.cpp /^ bool PSFReader::tryFormat(){$/;" f class:ProtoMol::PSFReader tryFormat framework/io/XYZBinReader.cpp /^ bool XYZBinReader::tryFormat(){$/;" f class:ProtoMol::XYZBinReader tryFormat framework/io/XYZReader.cpp /^ bool XYZReader::tryFormat(){$/;" f class:ProtoMol::XYZReader tryFormat framework/io/XYZTrajectoryReader.cpp /^ bool XYZTrajectoryReader::tryFormat(){$/;" f class:ProtoMol::XYZTrajectoryReader tstep framework/imd/imd.h /^ int32 tstep;$/;" m struct:ProtoMol::IMD:: type framework/base/Atom.h /^ int type;$/;" m struct:ProtoMol::Atom type framework/base/Molecule.h /^ unsigned int type, newtype;$/;" m struct:ProtoMol::Molecule type framework/base/Value.h /^ virtual const std::type_info & type() const { return typeid(ValueTrait);}$/;" f class:ProtoMol::Value::Holder type framework/base/Value.h /^ inline const std::type_info & Value::type() const{$/;" f class:ProtoMol::Value type framework/base/typeSelection.h /^ Real>::type,size>::type type;$/;" t struct:ProtoMol::TypeSelection::Float type framework/base/typeSelection.h /^ long>::type,size>::type type;$/;" t struct:ProtoMol::TypeSelection::Int type framework/base/typeSelection.h /^ typedef typename SelectTypeCheckHelper::type type;$/;" t struct:ProtoMol::TypeSelection::SelectTypeCheck type framework/base/typeSelection.h /^ typedef typename SelectTypeHelper::type type;$/;" t struct:ProtoMol::TypeSelection::SelectType type framework/base/typeSelection.h /^ typedef A type;$/;" t struct:ProtoMol::TypeSelection::SelectTypeCheckHelper type framework/base/typeSelection.h /^ typedef A type;$/;" t struct:ProtoMol::TypeSelection::SelectTypeHelper type framework/base/typeSelection.h /^ typedef B type;$/;" t struct:ProtoMol::TypeSelection::SelectTypeHelper type framework/imd/imd.cpp /^ int32 type;$/;" m struct:ProtoMol::IMD:: file: type_name applications/iSGProtomol-app/base/TRANS.h /^ std::string type_name;$/;" m struct:ProtoMol::TRANS::AtomType ub_flag framework/base/PAR.h /^ bool ub_flag; $/;" m struct:ProtoMol::PAR::Angle ub_flag framework/base/iSGPAR.h /^ bool ub_flag;$/;" m struct:ProtoMol::iSGPAR::Angle uncache applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ virtual void uncache(){myCached=false;};$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce uncache applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ virtual void uncache(){myCached=false;};$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce uncache framework/forces/CompareForce.cpp /^ void CompareForce::uncache(){$/;" f class:ProtoMol::CompareForce uncache framework/forces/Force.h /^ virtual void uncache(){};$/;" f class:ProtoMol::Force uncache framework/forces/ForceGroup.cpp /^ void ForceGroup::uncache(){$/;" f class:ProtoMol::ForceGroup uncache framework/forces/NonbondedFullEwaldSystemForce.h /^ virtual void uncache(){myCached=false;};$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce uncache framework/forces/NonbondedFullSystemForce.h /^ virtual void uncache(){myCached=false;};$/;" f class:ProtoMol::NonbondedFullSystemForce uncache framework/forces/NonbondedMultiGridSystemForce.h /^ virtual void uncache(){myCached=false;};$/;" f class:ProtoMol::NonbondedMultiGridSystemForce uncache framework/forces/NonbondedPMEwaldSystemForce.h /^ virtual void uncache(){myCached=false;};$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce uncache framework/forces/NonbondedSimpleFullSystemForce.h /^ virtual void uncache(){myCached=false;};$/;" f class:ProtoMol::NonbondedSimpleFullSystemForce uncache framework/forces/PaulTrapExtendedForce.h /^ virtual void uncache(){myCached=false;};$/;" f class:ProtoMol::PaulTrapExtendedForce uncache framework/forces/TimeForce.cpp /^ void TimeForce::uncache(){$/;" f class:ProtoMol::TimeForce uncache framework/frontend/OutputCache.cpp /^ void OutputCache::uncache() const{$/;" f class:ProtoMol::OutputCache uncache framework/imd/HapticSystemForce.h /^ virtual void uncache(){myCached=false;};$/;" f class:ProtoMol::HapticSystemForce uncache framework/integrators/Integrator.cpp /^ void Integrator::uncache(){$/;" f class:ProtoMol::Integrator uncache framework/topology/ArrayCellListStructure.h /^ void uncache(){valid = false;}$/;" f class:ProtoMol::ArrayCellListStructure uncacheCellList framework/topology/Topology.h /^ virtual void uncacheCellList(){cellLists.uncache();}$/;" f class:ProtoMol::Topology undefined framework/base/Value.h /^ static const Undefined* undefined; \/\/\/< Undefined value$/;" m class:ProtoMol::Value underflow framework/base/sstream_local.h /^inline int std::stringbuf::underflow()$/;" f class:std::stringbuf uniqueForceString framework/frontend/ForceFactoryDetails.cpp /^ string ForceFactoryDetails::uniqueForceString(const string& id) const{$/;" f class:ProtoMol::ForceFactoryDetails unregisterAllExemplars framework/frontend/Factory.h /^ static void unregisterAllExemplars(){$/;" f class:ProtoMol::Factory unregisterAllExemplars framework/frontend/HelpTextFactory.cpp /^ void HelpTextFactory::unregisterAllExemplars(){$/;" f class:ProtoMol::HelpTextFactory unregisterExemplar framework/frontend/Factory.h /^ static bool unregisterExemplar(const std::string& id){$/;" f class:ProtoMol::Factory unregisterExemplar framework/frontend/HelpTextFactory.cpp /^ bool HelpTextFactory::unregisterExemplar(const string& id){$/;" f class:ProtoMol::HelpTextFactory unregisterKeyword framework/base/Configuration.cpp /^ void Configuration::unregisterKeyword(const std::string& keyword){$/;" f class:ProtoMol::Configuration updateB_Bx framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::updateB_Bx() {$/;" f class:ProtoMol::BSplineMOLLYIntegrator updateB_Bx_Px_for1Kick framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::updateB_Bx_Px_for1Kick() {$/;" f class:ProtoMol::BSplineMOLLYIntegrator updateB_Bx_Px_for1stHalfKick framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::updateB_Bx_Px_for1stHalfKick(){$/;" f class:ProtoMol::BSplineMOLLYIntegrator updateCache framework/frontend/ForceFactoryDetails.cpp /^ void ForceFactoryDetails::updateCache() const{$/;" f class:ProtoMol::ForceFactoryDetails updateCache framework/topology/ArrayCellListStructure.cpp /^ void ArrayCellListStructure::updateCache(){ $/;" f class:ProtoMol::ArrayCellListStructure updateCache framework/topology/CubicCellManager.cpp /^ void CubicCellManager::updateCache(CellListStructure& cellList) const{$/;" f class:ProtoMol::CubicCellManager updateCellLists framework/topology/Topology.h /^ void updateCellLists(const Vector3DBlock* positions) const{$/;" f class:ProtoMol::Topology updateLighting applications/xyzviz-app/xyzviz.cpp /^void updateLighting(){$/;" f updatePolygonMode applications/xyzviz-app/xyzviz.cpp /^void updatePolygonMode(){$/;" f updateSize framework/base/MultiGrid.h /^ void MultiGrid::updateSize(Vector3D min, Vector3D max){$/;" f class:ProtoMol::MultiGrid updateXx framework/integrators/BSplineMOLLYIntegrator.cpp /^ void BSplineMOLLYIntegrator::updateXx() {$/;" f class:ProtoMol::BSplineMOLLYIntegrator uppercase framework/base/stringutilities.cpp /^ string uppercase (const string& word){$/;" f namespace:ProtoMol ureyBradleyConstant framework/topology/Angle.h /^ Real ureyBradleyConstant;$/;" m class:ProtoMol::Angle ureyBradleyRestLength framework/topology/Angle.h /^ Real ureyBradleyRestLength;$/;" m class:ProtoMol::Angle usage applications/xyzviz-app/xyzviz.cpp /^void usage(char* name){$/;" f v compilerTests/glutTest.cpp /^static GLfloat v[8][3]; \/* Will be filled in with X,Y,Z vertexes. *\/$/;" v file: v tools/bccAnalyzer.cpp /^ Vector3D v; $/;" m class:Vector3DIdx file: v0 tools/bccAnalyzer.cpp /^ Vector3DIdx v0,c,v1;$/;" m class:PairVector3D file: v1 tools/bccAnalyzer.cpp /^ Vector3DIdx v0,c,v1;$/;" m class:PairVector3D file: valid framework/base/AbstractEnumType.h /^ bool valid() const {return (myType>T::FIRST && myTypeT::FIRST && e value framework/base/Parameter.h /^ Value value;$/;" m struct:ProtoMol::Parameter value framework/base/ValueType.h /^ enum { value = e};$/;" e enum:ProtoMol::ValueEnum::Enum2ValueType:: value framework/base/ValueType.h /^ enum { value = ValueType::BOOL};$/;" e enum:ProtoMol::ValueTraits:: value framework/base/ValueType.h /^ enum { value = ValueType::FORCE};$/;" e enum:ProtoMol::ValueTraits:: value framework/base/ValueType.h /^ enum { value = ValueType::INTEGRATOR};$/;" e enum:ProtoMol::ValueTraits:: value framework/base/ValueType.h /^ enum { value = ValueType::INT};$/;" e enum:ProtoMol::ValueTraits:: value framework/base/ValueType.h /^ enum { value = ValueType::REAL};$/;" e enum:ProtoMol::ValueTraits:: value framework/base/ValueType.h /^ enum { value = ValueType::UINT};$/;" e enum:ProtoMol::ValueTraits:: value framework/base/ValueType.h /^ enum { value = ValueType::VECTOR3D};$/;" e enum:ProtoMol::ValueTraits:: value framework/base/ValueType.h /^ enum { value = ValueType::VECTOR};$/;" e enum:ProtoMol::ValueTraits:: value framework/base/ValueType.h /^ enum {value = ValueType::STRING}; \/\/ Enum value$/;" e enum:ProtoMol::ValueTraits:: value_type framework/base/Array_Fastest.h /^ typedef T value_type;$/;" t class:ProtoMol::Array value_type framework/base/Array_Fastest.h /^ typedef T value_type;$/;" t class:ProtoMol::RefArray value_type framework/base/Array_NoPartialSpecialization.h /^ typedef T value_type;$/;" t class:ProtoMol::Array::RefArray value_type framework/base/Array_NoPartialSpecialization.h /^ typedef T value_type;$/;" t class:ProtoMol::Array value_type framework/topology/ArrayCellListStructure.h /^ typedef TContainer::value_type value_type;$/;" t class:ProtoMol::ArrayCellListStructure values framework/frontend/IntegratorFactoryDetails.h /^ std::vector values;$/;" m struct:ProtoMol::IntegratorFactoryDetails::IntegratorInput vdw framework/base/PAR.h /^ bool vdw; $/;" m struct:ProtoMol::PAR::Nonbonded vdw framework/base/iSGPAR.h /^ std::vector vdw; $/;" m struct:ProtoMol::iSGPAR::Nonbonded velocityVirial framework/topology/topologyutilities.cpp /^ ScalarStructure velocityVirial(const GenericTopology* topology,$/;" f namespace:ProtoMol verbose applications/xyzviz-app/xyzviz.cpp /^void verbose(){$/;" f viewCube applications/xyzviz-app/xyzviz.cpp /^static bool viewCube = true;$/;" v file: virial framework/base/ScalarStructure.cpp /^ bool ScalarStructure::virial(bool doVirial){$/;" f class:ProtoMol::ScalarStructure virial framework/base/ScalarStructure.h /^ bool virial() const {return myDoVirial;}$/;" f class:ProtoMol::ScalarStructure visibleParticlesCallback applications/xyzviz-app/xyzviz.cpp /^void visibleParticlesCallback(int value){$/;" f vmd_atoms framework/imd/IMDElf.h /^ IMD::int32* vmd_atoms;$/;" m class:ProtoMol::IMDElf vmd_forces framework/imd/IMDElf.h /^ float* vmd_forces;$/;" m class:ProtoMol::IMDElf vmdsock_accept framework/imd/vmdsock.cpp /^ void *vmdsock_accept(void * v) { return 0; }$/;" f namespace:ProtoMol::IMD vmdsock_bind framework/imd/vmdsock.cpp /^ int vmdsock_bind(void * v, int port) { return 0; }$/;" f namespace:ProtoMol::IMD vmdsock_connect framework/imd/vmdsock.cpp /^ int vmdsock_connect(void *v, const char *host, int port) { return 0; }$/;" f namespace:ProtoMol::IMD vmdsock_create framework/imd/vmdsock.cpp /^ void * vmdsock_create(void) { return 0; }$/;" f namespace:ProtoMol::IMD vmdsock_destroy framework/imd/vmdsock.cpp /^ void vmdsock_destroy(void * v) { return; }$/;" f namespace:ProtoMol::IMD vmdsock_init framework/imd/vmdsock.cpp /^ int vmdsock_init(void) { return -1; }$/;" f namespace:ProtoMol::IMD vmdsock_init framework/imd/vmdsock.cpp /^ int vmdsock_init(void) {$/;" f namespace:ProtoMol::IMD vmdsock_listen framework/imd/vmdsock.cpp /^ int vmdsock_listen(void * v) { return 0; }$/;" f namespace:ProtoMol::IMD vmdsock_read framework/imd/vmdsock.cpp /^ int vmdsock_read(void * v, void *buf, int len) { return 0; }$/;" f namespace:ProtoMol::IMD vmdsock_selread framework/imd/vmdsock.cpp /^ int vmdsock_selread(void *v, int sec) { return 0; }$/;" f namespace:ProtoMol::IMD vmdsock_selwrite framework/imd/vmdsock.cpp /^ int vmdsock_selwrite(void *v, int sec) { return 0; }$/;" f namespace:ProtoMol::IMD vmdsock_write framework/imd/vmdsock.cpp /^ int vmdsock_write(void * v, const void *buf, int len) { return 0; }$/;" f namespace:ProtoMol::IMD vmdsocket framework/imd/vmdsock.h /^ } vmdsocket;$/;" t namespace:ProtoMol::IMD volum framework/forces/MagneticDipoleForce.h /^ Real volum, expfactor, realChi, kappa;$/;" m class:ProtoMol::MagneticDipoleForce volume framework/frontend/OutputCache.cpp /^ Real OutputCache::volume() const{$/;" f class:ProtoMol::OutputCache w compilerTests/pngTest.cpp /^ unsigned int w,h;$/;" m class:PPM file: w framework/base/PGM.h /^ unsigned int w,h;$/;" m class:ProtoMol::PGM w framework/base/PPM.h /^ unsigned int w,h;$/;" m class:ProtoMol::PPM wait_imd framework/imd/IMDElf.h /^ int wait_imd;$/;" m class:ProtoMol::IMDElf walk framework/integrators/MCIntegrator.cpp /^ void MCIntegrator::walk(int steps){$/;" f class:ProtoMol::MCIntegrator warning framework/base/Report.cpp /^ MyStreamer& warning(MyStreamer& stream){$/;" f namespace:ProtoMol::Report water framework/base/Molecule.h /^ bool water;$/;" m struct:ProtoMol::Molecule waterOption framework/topology/topologyutilities.h /^ enum waterOption {IGNORE_WATER, ONLY_WATER, ALL};$/;" g namespace:ProtoMol width compilerTests/pngTest.cpp /^ unsigned int width() const{return w;}$/;" f class:PPM width framework/base/PGM.h /^ unsigned int width() const{return w;}$/;" f class:ProtoMol::PGM width framework/base/PPM.h /^ unsigned int width() const{return w;}$/;" f class:ProtoMol::PPM width framework/base/Report.cpp /^ void MyStreamer::width(int wide){$/;" f class:ProtoMol::Report::MyStreamer winX applications/xyzviz-app/xyzviz.cpp /^static GLsizei winX = 600;$/;" v file: winY applications/xyzviz-app/xyzviz.cpp /^static GLsizei winY = 600;$/;" v file: write applications/iSGProtomol-app/io/XSCWriter.cpp /^ bool XSCWriter::write(const XSC& xsc){$/;" f class:ProtoMol::XSCWriter write framework/io/DCDTrajectoryWriter.cpp /^ bool DCDTrajectoryWriter::write(const Vector3DBlock& coords){$/;" f class:ProtoMol::DCDTrajectoryWriter write framework/io/PARWriter.cpp /^ bool PARWriter::write(const PAR& par){$/;" f class:ProtoMol::PARWriter write framework/io/PDBWriter.cpp /^ bool PDBWriter::write(const PDB& pdb){$/;" f class:ProtoMol::PDBWriter write framework/io/PDBWriter.cpp /^ bool PDBWriter::write(const Vector3DBlock& coords, const std::vector& atoms){$/;" f class:ProtoMol::PDBWriter write framework/io/PGMWriter.cpp /^ bool PGMWriter::write(const PGM& pgm){$/;" f class:ProtoMol::PGMWriter write framework/io/PGMWriter.cpp /^ bool PGMWriter::write(const PPM& ppm){$/;" f class:ProtoMol::PGMWriter write framework/io/PNGWriter.cpp /^ bool PNGWriter::write(const PGM& pgm){$/;" f class:ProtoMol::PNGWriter write framework/io/PNGWriter.cpp /^ bool PNGWriter::write(const PPM& ppm){$/;" f class:ProtoMol::PNGWriter write framework/io/PPMWriter.cpp /^ bool PPMWriter::write(const PGM& pgm){$/;" f class:ProtoMol::PPMWriter write framework/io/PPMWriter.cpp /^ bool PPMWriter::write(const PPM& ppm){$/;" f class:ProtoMol::PPMWriter write framework/io/PSFWriter.cpp /^ bool PSFWriter::write(const PSF& psf){$/;" f class:ProtoMol::PSFWriter write framework/io/XFigWriter.cpp /^ bool XFigWriter::write(const Vector3DBlock& coords, const std::vector& names){$/;" f class:ProtoMol::XFigWriter write framework/io/XFigWriter.cpp /^ bool XFigWriter::write(const XYZ& xyz){$/;" f class:ProtoMol::XFigWriter write framework/io/XYZBinWriter.cpp /^ bool XYZBinWriter::write(const Vector3DBlock& coords){$/;" f class:ProtoMol::XYZBinWriter write framework/io/XYZBinWriter.cpp /^ bool XYZBinWriter::write(const Vector3DBlock& coords, bool isLittleEndian, unsigned int size){$/;" f class:ProtoMol::XYZBinWriter write framework/io/XYZBinWriter.cpp /^ bool XYZBinWriter::write(const XYZ& xyz){$/;" f class:ProtoMol::XYZBinWriter write framework/io/XYZBinWriter.cpp /^ bool XYZBinWriter::write(const XYZ& xyz, bool isLittleEndian, unsigned int size){$/;" f class:ProtoMol::XYZBinWriter write framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::write(){$/;" f class:ProtoMol::XYZTrajectoryWriter write framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::write(const Vector3DBlock& coords){$/;" f class:ProtoMol::XYZTrajectoryWriter write framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::write(const Vector3DBlock& coords, const std::vector& atoms,$/;" f class:ProtoMol::XYZTrajectoryWriter write framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::write(const Vector3DBlock& coords, const std::vector& names){$/;" f class:ProtoMol::XYZTrajectoryWriter write framework/io/XYZTrajectoryWriter.cpp /^ bool XYZTrajectoryWriter::write(const XYZ& xyz){$/;" f class:ProtoMol::XYZTrajectoryWriter write framework/io/XYZWriter.cpp /^ bool XYZWriter::write(const Vector3DBlock& coords, $/;" f class:ProtoMol::XYZWriter write framework/io/XYZWriter.cpp /^ bool XYZWriter::write(const Vector3DBlock& coords, const std::vector& names){$/;" f class:ProtoMol::XYZWriter write framework/io/XYZWriter.cpp /^ bool XYZWriter::write(const XYZ& xyz){$/;" f class:ProtoMol::XYZWriter x applications/iSGProtomol-app/base/iSGGrid.h /^ TInterpolation x;$/;" m struct:ProtoMol::iSGGrid::Interpolation3D x applications/iSGProtomol-app/base/iSGGrid.h /^ struct Int3D {int x; int y; int z;};$/;" m struct:ProtoMol::iSGGrid::Int3D x applications/xyzviz-app/openglutilities.cpp /^ GLfloat x;$/;" m struct:ProtoMol::Feedback3Dcolor file: x applications/xyzviz-app/xyzviz.cpp /^ GLfloat x;$/;" m struct:Feedback3Dcolor file: x applications/xyzviz-app/xyzviz.cpp /^ double x,y,z,o;$/;" m struct:Opaque file: x framework/base/Grid.h /^ TInterpolation x;$/;" m struct:ProtoMol::Grid::Interpolation3D x framework/base/Grid.h /^ struct Int3D {int x; int y; int z;};$/;" m struct:ProtoMol::Grid::Int3D x framework/base/MultiGrid.h /^ TInterpolation x;$/;" m struct:ProtoMol::MultiGrid::Interpolation3D x framework/base/MultiGrid.h /^ struct Int3D {int x, y, z;};$/;" m struct:ProtoMol::MultiGrid::Int3D x framework/base/Vector3D.h /^ Real x,y,z;$/;" m class:ProtoMol::Vector3D x framework/topology/CubicCellLocation.h /^ int x;$/;" m class:ProtoMol::CubicCellLocation xFigBW1 framework/io/XFigWriter.cpp /^ static const std::string xFigBW1[xFigBWN] ={"1 3 0 1 7 0",$/;" m namespace:ProtoMol file: xFigBW2 framework/io/XFigWriter.cpp /^ static const std::string xFigBW2[xFigBWN] ={"0 20 0.000 1 0.0000",$/;" m namespace:ProtoMol file: xFigBWN framework/io/XFigWriter.cpp /^ static const int xFigBWN = 4;$/;" m namespace:ProtoMol file: xFigColors framework/io/XFigWriter.cpp /^ static const int xFigColors[xFigColorsN] = {0,20,13,10,31,1,2,3,4,5,6,7,8,9,11,12,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30};$/;" m namespace:ProtoMol file: xFigColorsN framework/io/XFigWriter.cpp /^ static const int xFigColorsN = 32;$/;" m namespace:ProtoMol file: xFigXMax framework/io/XFigWriter.cpp /^ static const int xFigXMax = 12500;$/;" m namespace:ProtoMol file: xFigYMax framework/io/XFigWriter.cpp /^ static const int xFigYMax = 9700;$/;" m namespace:ProtoMol file: xL applications/xyzviz-app/xyzviz.cpp /^static double xL=0;$/;" v file: xT applications/xyzviz-app/xyzviz.cpp /^static double xT=0;$/;" v file: y applications/iSGProtomol-app/base/iSGGrid.h /^ TInterpolation y;$/;" m struct:ProtoMol::iSGGrid::Interpolation3D y applications/iSGProtomol-app/base/iSGGrid.h /^ struct Int3D {int x; int y; int z;};$/;" m struct:ProtoMol::iSGGrid::Int3D y applications/xyzviz-app/openglutilities.cpp /^ GLfloat y;$/;" m struct:ProtoMol::Feedback3Dcolor file: y applications/xyzviz-app/xyzviz.cpp /^ GLfloat y;$/;" m struct:Feedback3Dcolor file: y applications/xyzviz-app/xyzviz.cpp /^ double x,y,z,o;$/;" m struct:Opaque file: y framework/base/Grid.h /^ TInterpolation y;$/;" m struct:ProtoMol::Grid::Interpolation3D y framework/base/Grid.h /^ struct Int3D {int x; int y; int z;};$/;" m struct:ProtoMol::Grid::Int3D y framework/base/MultiGrid.h /^ TInterpolation y;$/;" m struct:ProtoMol::MultiGrid::Interpolation3D y framework/base/MultiGrid.h /^ struct Int3D {int x, y, z;};$/;" m struct:ProtoMol::MultiGrid::Int3D y framework/base/Vector3D.h /^ Real x,y,z;$/;" m class:ProtoMol::Vector3D y framework/topology/CubicCellLocation.h /^ int y;$/;" m class:ProtoMol::CubicCellLocation yL applications/xyzviz-app/xyzviz.cpp /^static double yL=0;$/;" v file: yT applications/xyzviz-app/xyzviz.cpp /^static double yT=0;$/;" v file: z applications/iSGProtomol-app/base/iSGGrid.h /^ TInterpolation z;$/;" m struct:ProtoMol::iSGGrid::Interpolation3D z applications/iSGProtomol-app/base/iSGGrid.h /^ struct Int3D {int x; int y; int z;};$/;" m struct:ProtoMol::iSGGrid::Int3D z applications/xyzviz-app/openglutilities.cpp /^ GLfloat z;$/;" m struct:ProtoMol::Feedback3Dcolor file: z applications/xyzviz-app/xyzviz.cpp /^ GLfloat z;$/;" m struct:Feedback3Dcolor file: z applications/xyzviz-app/xyzviz.cpp /^ double x,y,z,o;$/;" m struct:Opaque file: z framework/base/Grid.h /^ TInterpolation z;$/;" m struct:ProtoMol::Grid::Interpolation3D z framework/base/Grid.h /^ struct Int3D {int x; int y; int z;};$/;" m struct:ProtoMol::Grid::Int3D z framework/base/MultiGrid.h /^ TInterpolation z;$/;" m struct:ProtoMol::MultiGrid::Interpolation3D z framework/base/MultiGrid.h /^ struct Int3D {int x, y, z;};$/;" m struct:ProtoMol::MultiGrid::Int3D z framework/base/Vector3D.h /^ Real x,y,z;$/;" m class:ProtoMol::Vector3D z framework/topology/CubicCellLocation.h /^ int z;$/;" m class:ProtoMol::CubicCellLocation zL applications/xyzviz-app/xyzviz.cpp /^static double zL=0;$/;" v file: zT applications/xyzviz-app/xyzviz.cpp /^static double zT=0;$/;" v file: zero framework/base/Matrix3by3.cpp /^ bool Matrix3by3::zero() const$/;" f class:ProtoMol::Matrix3by3 zero framework/base/Vector3DBlock.h /^ void zero(int n=-1) {$/;" f class:ProtoMol::Vector3DBlock zeroMatrix framework/base/Matrix3by3.cpp /^ void Matrix3by3::zeroMatrix() $/;" f class:ProtoMol::Matrix3by3 zfft2d framework/base/fft.c /^int zfft2d( int sign, int n1, int n2, zomplex *array, int ld, zomplex *save)$/;" f zfft2d_ framework/base/fft.c /^int zfft2d_(int *sign, int *x, int *y, zomplex *a, int *lda, zomplex *coeff)$/;" f zfft2di framework/base/fft.c /^zomplex *zfft2di( int n1, int n2, zomplex *save)$/;" f zfft2di_ framework/base/fft.c /^int zfft2di_(int *x, int *y,zomplex * coeff)$/;" f zfft3d framework/base/fft.c /^int zfft3d( int sign, int n1, int n2, int n3, zomplex *array, int ld1, int ld2, zomplex *save)$/;" f zfft3d_ framework/base/fft.c /^int zfft3d_(int *sign,int * x, int *y, int *z__,zomplex * a, int *la1, int *la2,zomplex * coeff)$/;" f zfft3di framework/base/fft.c /^zomplex *zfft3di( int n1, int n2, int n3, zomplex *save)$/;" f zfft3di_ framework/base/fft.c /^int zfft3di_(int *x, int *y, int *z__,zomplex * coeff)$/;" f zfftcopyin_ framework/base/fft.c /^void zfftcopyin_(int *n,int * b,int * bdim,zomplex * a,int * inc ,int * lda,int * rindex,zomplex * w,int * lpref)$/;" f zfftcopyout_ framework/base/fft.c /^void zfftcopyout_(int *n, int *b, zomplex *a, int *inc, int *lda,zomplex *w)$/;" f zfftm1big_ framework/base/fft.c /^int zfftm1big_(int *sign,int * n,int * p,zomplex * a,int * inc,int * lda,int * lpref,int * nf,int * f,zomplex *coeff,int *rindex)$/;" f zfftm1d framework/base/fft.c /^int zfftm1d( int sign, int m, int n, zomplex *array, int incI, int incJ, zomplex *save)$/;" f zfftm1d_ framework/base/fft.c /^int zfftm1d_(int *sign,int * n,int * p, zomplex* a, int *inc,int * lda, zomplex *coeff, int *lpref)$/;" f zfftm1di framework/base/fft.c /^zomplex *zfftm1di( int m, zomplex *save)$/;" f zfftm1di_ framework/base/fft.c /^int zfftm1di_(int *n,zomplex * coeff)$/;" f zfftm1rowb_ framework/base/fft.c /^int zfftm1rowb_(int *n, int *b, int *bdim,zomplex *w, int *nf, int *f, double *coeff, zomplex *a, int *inc, int *lda, $/;" f zfftm1rowf_ framework/base/fft.c /^int zfftm1rowf_(int *n, int *b, int *bdim,zomplex * w, int *nf, int *f, double *coeff, zomplex *a, int *inc, int *lda, $/;" f zfftrev_ framework/base/fft.c /^int zfftrev_(int *n, int *inc, int *nf, int *f, int * nmax , int *rindex,int * ipadok)$/;" f zomplex framework/base/FFTComplex.h /^ } zomplex;$/;" t zomplex framework/base/fft.c /^} zomplex;$/;" t file: ~AngleInfo framework/topology/AngleInfo.cpp /^ AngleInfo::~AngleInfo() {$/;" f class:ProtoMol::AngleInfo ~AngleSystemForceBase framework/forces/AngleSystemForceBase.h /^ virtual ~AngleSystemForceBase(){}$/;" f class:ProtoMol::AngleSystemForceBase ~Array framework/base/Array_Fastest.h /^ ~Array() $/;" f class:ProtoMol::Array ~Array framework/base/Array_NoPartialSpecialization.h /^ ~Array() $/;" f class:ProtoMol::Array ~BSpline framework/base/BSpline.cpp /^ BSpline::~BSpline(){$/;" f class:ProtoMol::BSpline ~BSplineEnum framework/base/BSplineType.h /^ virtual ~BSplineEnum(){}$/;" f class:ProtoMol::BSplineEnum ~BSplineMOLLYIntegrator framework/integrators/BSplineMOLLYIntegrator.cpp /^ BSplineMOLLYIntegrator::~BSplineMOLLYIntegrator() {$/;" f class:ProtoMol::BSplineMOLLYIntegrator ~BondSystemForceBase framework/forces/BondSystemForceBase.h /^ virtual ~BondSystemForceBase(){}$/;" f class:ProtoMol::BondSystemForceBase ~CompareForce framework/forces/CompareForce.cpp /^ CompareForce::~CompareForce(){$/;" f class:ProtoMol::CompareForce ~ConfigurationReader framework/io/ConfigurationReader.cpp /^ ConfigurationReader::~ConfigurationReader(){$/;" f class:ProtoMol::ConfigurationReader ~ConstraintValueEnum framework/base/ConstraintValueType.h /^ virtual ~ConstraintValueEnum(){}$/;" f class:ProtoMol::ConstraintValueEnum ~CoulombEwaldRealTableForce framework/forces/CoulombEwaldRealTableForce.cpp /^ CoulombEwaldRealTableForce::~CoulombEwaldRealTableForce(){$/;" f class:ProtoMol::CoulombEwaldRealTableForce ~CoulombMultiGridDirectTableForce framework/forces/CoulombMultiGridDirectTableForce.h /^ ~CoulombMultiGridDirectTableForce(){if(myTable != NULL) delete [] myTable; myTable = NULL;}$/;" f class:ProtoMol::CoulombMultiGridDirectTableForce ~DCDTrajectoryReader framework/io/DCDTrajectoryReader.cpp /^ DCDTrajectoryReader::~DCDTrajectoryReader(){$/;" f class:ProtoMol::DCDTrajectoryReader ~DMDLeapfrogIntegrator framework/integrators/DMDLeapfrogIntegrator.cpp /^ DMDLeapfrogIntegrator::~DMDLeapfrogIntegrator()$/;" f class:ProtoMol::DMDLeapfrogIntegrator ~DihedralHMCIntegrator framework/integrators/DihedralHMCIntegrator.cpp /^ DihedralHMCIntegrator::~DihedralHMCIntegrator(){$/;" f class:ProtoMol::DihedralHMCIntegrator ~DihedralSystemForceBase framework/forces/DihedralSystemForceBase.h /^ virtual ~DihedralSystemForceBase(){}$/;" f class:ProtoMol::DihedralSystemForceBase ~ElectricFieldSystemForceBase framework/forces/ElectricFieldSystemForceBase.h /^ virtual ~ElectricFieldSystemForceBase(){}$/;" f class:ProtoMol::ElectricFieldSystemForceBase ~EquilibriumMOLLYIntegrator framework/integrators/EquilibriumMOLLYIntegrator.cpp /^ EquilibriumMOLLYIntegrator::~EquilibriumMOLLYIntegrator(){$/;" f class:ProtoMol::EquilibriumMOLLYIntegrator ~ExclusionEnum framework/topology/ExclusionType.h /^ virtual ~ExclusionEnum(){}$/;" f class:ProtoMol::ExclusionEnum ~ExtendedForce framework/forces/ExtendedForce.h /^ virtual ~ExtendedForce(){}$/;" f class:ProtoMol::ExtendedForce ~FFTComplex framework/base/FFTComplex.cpp /^ FFTComplex::~FFTComplex(){$/;" f class:ProtoMol::FFTComplex ~FFTInternal framework/base/FFTComplex.cpp /^ FFTInternal::~FFTInternal(){$/;" f class:ProtoMol::FFTInternal ~Factory framework/frontend/Factory.h /^ virtual ~Factory(){$/;" f class:ProtoMol::Factory ~FactoryBase framework/frontend/Factory.h /^ virtual ~FactoryBase(){$/;" f class:ProtoMol::FactoryBase ~File framework/io/File.cpp /^ File::~File(){$/;" f class:ProtoMol::File ~Force framework/forces/Force.h /^ virtual ~Force(){}$/;" f class:ProtoMol::Force ~ForceFactoryDetails framework/frontend/ForceFactoryDetails.cpp /^ ForceFactoryDetails::~ForceFactoryDetails(){$/;" f class:ProtoMol::ForceFactoryDetails ~ForceGroup framework/forces/ForceGroup.cpp /^ ForceGroup::~ForceGroup() {$/;" f class:ProtoMol::ForceGroup ~GenericTopology framework/topology/GenericTopology.h /^ virtual ~GenericTopology(){};$/;" f class:ProtoMol::GenericTopology ~Grid framework/base/Grid.h /^ Grid::~Grid(){$/;" f class:ProtoMol::Grid ~HapticSystemForce framework/imd/HapticSystemForce.cpp /^ HapticSystemForce::~HapticSystemForce(){$/;" f class:ProtoMol::HapticSystemForce ~HarmDihedralSystemForceBase framework/forces/HarmDihedralSystemForceBase.h /^ virtual ~HarmDihedralSystemForceBase(){}$/;" f class:ProtoMol::HarmDihedralSystemForceBase ~HelpTextFactory framework/frontend/HelpTextFactory.cpp /^ HelpTextFactory::~HelpTextFactory(){}$/;" f class:ProtoMol::HelpTextFactory ~Hermite framework/forces/Hermite.cpp /^ Hermite::~Hermite(){$/;" f class:ProtoMol::Hermite ~IMDElf framework/imd/IMDElf.cpp /^ IMDElf::~IMDElf() {$/;" f class:ProtoMol::IMDElf ~ImproperSystemForceBase framework/forces/ImproperSystemForceBase.h /^ virtual ~ImproperSystemForceBase(){}$/;" f class:ProtoMol::ImproperSystemForceBase ~InputPosVelEnum framework/frontend/InputPosVelType.h /^ virtual ~InputPosVelEnum(){}$/;" f class:ProtoMol::InputPosVelEnum ~InputValue framework/frontend/InputValue.h /^ virtual ~InputValue(){}$/;" f class:ProtoMol::InputValue ~Integrator framework/integrators/Integrator.cpp /^ Integrator::~Integrator(){$/;" f class:ProtoMol::Integrator ~IntegratorFactoryDetails framework/frontend/IntegratorFactoryDetails.cpp /^ IntegratorFactoryDetails::~IntegratorFactoryDetails(){$/;" f class:ProtoMol::IntegratorFactoryDetails ~Lagrange framework/base/Lagrange.cpp /^ Lagrange::~Lagrange(){$/;" f class:ProtoMol::Lagrange ~LeapfrogIntegrator framework/integrators/LeapfrogIntegrator.cpp /^ LeapfrogIntegrator::~LeapfrogIntegrator() {}$/;" f class:ProtoMol::LeapfrogIntegrator ~LennardJonesParameterTable framework/topology/LennardJonesParameterTable.cpp /^ LennardJonesParameterTable::~LennardJonesParameterTable(){$/;" f class:ProtoMol::LennardJonesParameterTable ~LennardJonesTableForce framework/forces/LennardJonesTableForce.cpp /^ LennardJonesTableForce::~LennardJonesTableForce(){$/;" f class:ProtoMol::LennardJonesTableForce ~MCIntegrator framework/integrators/MCIntegrator.cpp /^ MCIntegrator::~MCIntegrator(){$/;" f class:ProtoMol::MCIntegrator ~MOLLYIntegrator framework/integrators/MOLLYIntegrator.cpp /^ MOLLYIntegrator::~MOLLYIntegrator(){}$/;" f class:ProtoMol::MOLLYIntegrator ~MTSIntegrator framework/integrators/MTSIntegrator.cpp /^ MTSIntegrator::~MTSIntegrator(){$/;" f class:ProtoMol::MTSIntegrator ~Makeable framework/base/Makeable.h /^ virtual ~Makeable(){};$/;" f class:ProtoMol::Makeable ~MetaForce framework/forces/MetaForce.h /^ virtual ~MetaForce(){}$/;" f class:ProtoMol::MetaForce ~Modifier framework/integrators/Modifier.h /^ virtual ~Modifier(){}$/;" f class:ProtoMol::Modifier ~MollyForce framework/forces/MollyForce.h /^ virtual ~MollyForce(){}$/;" f class:ProtoMol::MollyForce ~MultiGrid framework/base/MultiGrid.h /^ ~MultiGrid(){$/;" f class:ProtoMol::MultiGrid ~NonbondedCutoffForceBase framework/forces/NonbondedCutoffForceBase.h /^ virtual ~NonbondedCutoffForceBase(){}$/;" f class:ProtoMol::NonbondedCutoffForceBase ~NonbondedFullEwaldSystemForce framework/forces/NonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::~NonbondedFullEwaldSystemForce(){$/;" f class:ProtoMol::NonbondedFullEwaldSystemForce ~NonbondedFullSystemForce framework/forces/NonbondedFullSystemForce.h /^ virtual ~NonbondedFullSystemForce(){};$/;" f class:ProtoMol::NonbondedFullSystemForce ~NonbondedMultiGridSystemForce framework/forces/NonbondedMultiGridSystemForce.h /^ smooth>::~NonbondedMultiGridSystemForce(){$/;" f class:ProtoMol::NonbondedMultiGridSystemForce ~NonbondedPMEwaldSystemForce framework/forces/NonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::~NonbondedPMEwaldSystemForce(){$/;" f class:ProtoMol::NonbondedPMEwaldSystemForce ~NonbondedSimpleFullSystemForce framework/forces/NonbondedSimpleFullSystemForce.h /^ virtual ~NonbondedSimpleFullSystemForce(){}; $/;" f class:ProtoMol::NonbondedSimpleFullSystemForce ~NonbondedSimpleFullSystemForceBase framework/forces/NonbondedSimpleFullSystemForceBase.h /^ virtual ~NonbondedSimpleFullSystemForceBase(){}$/;" f class:ProtoMol::NonbondedSimpleFullSystemForceBase ~OutputCache framework/frontend/OutputCache.cpp /^ OutputCache::~OutputCache(){$/;" f class:ProtoMol::OutputCache ~OutputCollection framework/frontend/OutputCollection.cpp /^ OutputCollection::~OutputCollection(){$/;" f class:ProtoMol::OutputCollection ~OutputDCDTrajectory framework/frontend/OutputDCDTrajectory.cpp /^ OutputDCDTrajectory::~OutputDCDTrajectory(){$/;" f class:ProtoMol::OutputDCDTrajectory ~OutputDihedrals framework/frontend/OutputDihedrals.cpp /^ OutputDihedrals::~OutputDihedrals(){$/;" f class:ProtoMol::OutputDihedrals ~OutputFactoryDetails framework/frontend/OutputFactoryDetails.cpp /^ OutputFactoryDetails::~OutputFactoryDetails(){$/;" f class:ProtoMol::OutputFactoryDetails ~OutputFile framework/frontend/OutputFile.cpp /^ OutputFile::~OutputFile(){$/;" f class:ProtoMol::OutputFile ~OutputTemperatures framework/frontend/OutputTemperatures.cpp /^ OutputTemperatures::~OutputTemperatures(){}$/;" f class:ProtoMol::OutputTemperatures ~OutputXYZTrajectoryForce framework/frontend/OutputXYZTrajectoryForce.cpp /^ OutputXYZTrajectoryForce::~OutputXYZTrajectoryForce(){$/;" f class:ProtoMol::OutputXYZTrajectoryForce ~OutputXYZTrajectoryPos framework/frontend/OutputXYZTrajectoryPos.cpp /^ OutputXYZTrajectoryPos::~OutputXYZTrajectoryPos(){$/;" f class:ProtoMol::OutputXYZTrajectoryPos ~OutputXYZTrajectoryVel framework/frontend/OutputXYZTrajectoryVel.cpp /^ OutputXYZTrajectoryVel::~OutputXYZTrajectoryVel(){$/;" f class:ProtoMol::OutputXYZTrajectoryVel ~PARReader framework/io/PARReader.cpp /^ PARReader::~PARReader(){$/;" f class:ProtoMol::PARReader ~PDBReader framework/io/PDBReader.cpp /^ PDBReader::~PDBReader(){$/;" f class:ProtoMol::PDBReader ~PGM framework/base/PGM.cpp /^ PGM::~PGM(){delete [] p;}$/;" f class:ProtoMol::PGM ~PGMReader framework/io/PGMReader.cpp /^ PGMReader::~PGMReader(){$/;" f class:ProtoMol::PGMReader ~PLeapfrogIntegrator framework/integrators/PLeapfrogIntegrator.cpp /^ PLeapfrogIntegrator::~PLeapfrogIntegrator() {$/;" f class:ProtoMol::PLeapfrogIntegrator ~PPM compilerTests/pngTest.cpp /^PPM::~PPM(){delete [] p;}$/;" f class:PPM ~PPM framework/base/PPM.cpp /^ PPM::~PPM(){delete [] p;}$/;" f class:ProtoMol::PPM ~PPMReader framework/io/PPMReader.cpp /^ PPMReader::~PPMReader(){$/;" f class:ProtoMol::PPMReader ~PSFReader framework/io/PSFReader.cpp /^ PSFReader::~PSFReader(){$/;" f class:ProtoMol::PSFReader ~PSFWriter framework/io/PSFWriter.cpp /^ PSFWriter::~PSFWriter(){}$/;" f class:ProtoMol::PSFWriter ~Parallel framework/parallel/Parallel.cpp /^ Parallel::~Parallel(){$/;" f class:ProtoMol::Parallel ~ParallelEnum framework/parallel/ParallelType.h /^ virtual ~ParallelEnum(){}$/;" f class:ProtoMol::ParallelEnum ~PaulTrapExtendedForceBase framework/forces/PaulTrapExtendedForceBase.h /^ virtual ~PaulTrapExtendedForceBase(){}$/;" f class:ProtoMol::PaulTrapExtendedForceBase ~PlaceHolder framework/base/Value.h /^ virtual ~PlaceHolder(){}$/;" f class:ProtoMol::Value::PlaceHolder ~Proxy framework/base/Proxy.h /^ virtual ~Proxy(){}$/;" f class:ProtoMol::Proxy ~Reader framework/io/Reader.cpp /^ Reader::~Reader(){}$/;" f class:ProtoMol::Reader ~ReducedHessAngle framework/base/ReducedHessAngle.h /^ ~ReducedHessAngle(){}$/;" f class:ProtoMol::ReducedHessAngle ~SemiGenericTopology framework/topology/SemiGenericTopology.h /^ virtual ~SemiGenericTopology(){};$/;" f class:ProtoMol::SemiGenericTopology ~Stack framework/base/Stack.h /^ Stack::~Stack() {$/;" f class:ProtoMol::Stack ~SystemForce framework/forces/SystemForce.h /^ virtual ~SystemForce(){}$/;" f class:ProtoMol::SystemForce ~SystemTimeForce framework/forces/SystemTimeForce.h /^ virtual ~SystemTimeForce(){};$/;" f class:ProtoMol::SystemTimeForce ~TRANSReader applications/iSGProtomol-app/io/TRANSReader.cpp /^ TRANSReader::~TRANSReader(){$/;" f class:ProtoMol::TRANSReader ~TimeForce framework/forces/TimeForce.cpp /^ TimeForce::~TimeForce(){$/;" f class:ProtoMol::TimeForce ~Topology framework/topology/Topology.h /^ virtual ~Topology(){};$/;" f class:ProtoMol::Topology ~TopologyFactoryDetails framework/frontend/TopologyFactoryDetails.cpp /^ TopologyFactoryDetails::~TopologyFactoryDetails(){$/;" f class:ProtoMol::TopologyFactoryDetails ~UmbrellaIntegrator framework/integrators/UmbrellaIntegrator.cpp /^ UmbrellaIntegrator::~UmbrellaIntegrator(){}$/;" f class:ProtoMol::UmbrellaIntegrator ~UniversalSwitchingFunctionBase framework/topology/UniversalSwitchingFunctionBase.h /^ virtual ~UniversalSwitchingFunctionBase(){}$/;" f class:ProtoMol::UniversalSwitchingFunctionBase ~Value framework/base/Value.cpp /^ Value::~Value(){delete myValue;}$/;" f class:ProtoMol::Value ~ValueEnum framework/base/ValueType.h /^ virtual ~ValueEnum(){}$/;" f class:ProtoMol::ValueEnum ~WrapperMetaForce framework/forces/WrapperMetaForce.cpp /^ WrapperMetaForce::~WrapperMetaForce(){$/;" f class:ProtoMol::WrapperMetaForce ~Writer framework/io/Writer.cpp /^ Writer::~Writer(){}$/;" f class:ProtoMol::Writer ~XSCReader applications/iSGProtomol-app/io/XSCReader.cpp /^ XSCReader::~XSCReader(){$/;" f class:ProtoMol::XSCReader ~XYZBinReader framework/io/XYZBinReader.cpp /^ XYZBinReader::~XYZBinReader(){$/;" f class:ProtoMol::XYZBinReader ~XYZReader framework/io/XYZReader.cpp /^ XYZReader::~XYZReader(){$/;" f class:ProtoMol::XYZReader ~XYZTrajectoryReader framework/io/XYZTrajectoryReader.cpp /^ XYZTrajectoryReader::~XYZTrajectoryReader(){$/;" f class:ProtoMol::XYZTrajectoryReader ~XYZTrajectoryWriter framework/io/XYZTrajectoryWriter.cpp /^ XYZTrajectoryWriter::~XYZTrajectoryWriter(){}$/;" f class:ProtoMol::XYZTrajectoryWriter ~iSGAngleSystemForceBase applications/iSGProtomol-app/forces/iSGAngleSystemForceBase.h /^ virtual ~iSGAngleSystemForceBase(){}$/;" f class:ProtoMol::iSGAngleSystemForceBase ~iSGBondSystemForceBase applications/iSGProtomol-app/forces/iSGBondSystemForceBase.h /^ virtual ~iSGBondSystemForceBase(){}$/;" f class:ProtoMol::iSGBondSystemForceBase ~iSGCoulombEwaldRealTableForce applications/iSGProtomol-app/forces/iSGCoulombEwaldRealTableForce.cpp /^ iSGCoulombEwaldRealTableForce::~iSGCoulombEwaldRealTableForce(){$/;" f class:ProtoMol::iSGCoulombEwaldRealTableForce ~iSGDihedralSystemForceBase applications/iSGProtomol-app/forces/iSGDihedralSystemForceBase.h /^ virtual ~iSGDihedralSystemForceBase(){}$/;" f class:ProtoMol::iSGDihedralSystemForceBase ~iSGGrid applications/iSGProtomol-app/base/iSGGrid.h /^ iSGGrid::~iSGGrid(){$/;" f class:ProtoMol::iSGGrid ~iSGImproperSystemForceBase applications/iSGProtomol-app/forces/iSGImproperSystemForceBase.h /^ virtual ~iSGImproperSystemForceBase(){}$/;" f class:ProtoMol::iSGImproperSystemForceBase ~iSGLennardJonesTableForce applications/iSGProtomol-app/forces/iSGLennardJonesTableForce.cpp /^ iSGLennardJonesTableForce::~iSGLennardJonesTableForce(){$/;" f class:ProtoMol::iSGLennardJonesTableForce ~iSGNonbondedFullEwaldSystemForce applications/iSGProtomol-app/forces/iSGNonbondedFullEwaldSystemForce.h /^ TSwitchingFunction>::~iSGNonbondedFullEwaldSystemForce(){$/;" f class:ProtoMol::iSGNonbondedFullEwaldSystemForce ~iSGNonbondedPMEwaldSystemForce applications/iSGProtomol-app/forces/iSGNonbondedPMEwaldSystemForce.h /^ TSwitchingFunction>::~iSGNonbondedPMEwaldSystemForce(){$/;" f class:ProtoMol::iSGNonbondedPMEwaldSystemForce ~iSGPARReader applications/iSGProtomol-app/io/iSGPARReader.cpp /^ iSGPARReader::~iSGPARReader(){$/;" f class:ProtoMol::iSGPARReader protomol/autom4te.cache/0040755027616700000500000000000010237151525014622 5ustar pbrenne1dipprotomol/autom4te.cache/output.00100644027616700000500000210072010237151524016241 0ustar pbrenne1dip@%:@! /bin/sh @%:@ Guess values for system-dependent variables and create Makefiles. @%:@ Generated by GNU Autoconf 2.57 for protomol 2.0.3. @%:@ @%:@ Report bugs to . @%:@ @%:@ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 @%:@ Free Software Foundation, Inc. @%:@ This configure script is free software; the Free Software Foundation @%:@ gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` exec 6>&1 # # Initializations. # ac_default_prefix=/usr/local ac_config_libobj_dir=. cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. # This variable seems obsolete. It should probably be removed, and # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME='protomol' PACKAGE_TARNAME='protomol' PACKAGE_VERSION='2.0.3' PACKAGE_STRING='protomol 2.0.3' PACKAGE_BUGREPORT='protomol@cse.nd.edu' # Factoring default headers for most tests. ac_includes_default="\ #include #if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_STAT_H # include #endif #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif #if HAVE_STRINGS_H # include #endif #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif #if HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE PROTOMOL_MAJOR_VERSION PROTOMOL_MINOR_VERSION PROTOMOL_PATCH_LEVEL LT_RELEASE LT_CURRENT LT_REVISION LT_AGE CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE CC CFLAGS ac_ct_CC CCDEPMODE DEPFLAGS CXXCPP RANLIB ac_ct_RANLIB X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS SOCKET_LIBS EGREP FFT_LIBS FFT_CFLAGS PNG_LIBS GLUT_LIBS GLUT_CFLAGS CLEANFILES AR1 AR2 LIB@&t@OBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/-/_/g'` eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute paths. for ac_var in exec_prefix prefix do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi (cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias ac_cv_env_build_alias_set=${build_alias+set} ac_cv_env_build_alias_value=$build_alias ac_env_host_alias_set=${host_alias+set} ac_env_host_alias_value=$host_alias ac_cv_env_host_alias_set=${host_alias+set} ac_cv_env_host_alias_value=$host_alias ac_env_target_alias_set=${target_alias+set} ac_env_target_alias_value=$target_alias ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias ac_env_CXX_set=${CXX+set} ac_env_CXX_value=$CXX ac_cv_env_CXX_set=${CXX+set} ac_cv_env_CXX_value=$CXX ac_env_CXXFLAGS_set=${CXXFLAGS+set} ac_env_CXXFLAGS_value=$CXXFLAGS ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} ac_cv_env_CXXFLAGS_value=$CXXFLAGS ac_env_LDFLAGS_set=${LDFLAGS+set} ac_env_LDFLAGS_value=$LDFLAGS ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ac_cv_env_LDFLAGS_value=$LDFLAGS ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS ac_env_CC_set=${CC+set} ac_env_CC_value=$CC ac_cv_env_CC_set=${CC+set} ac_cv_env_CC_value=$CC ac_env_CFLAGS_set=${CFLAGS+set} ac_env_CFLAGS_value=$CFLAGS ac_cv_env_CFLAGS_set=${CFLAGS+set} ac_cv_env_CFLAGS_value=$CFLAGS ac_env_CXXCPP_set=${CXXCPP+set} ac_env_CXXCPP_value=$CXXCPP ac_cv_env_CXXCPP_set=${CXXCPP+set} ac_cv_env_CXXCPP_value=$CXXCPP # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures protomol 2.0.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] _ACEOF cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names X features: --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of protomol 2.0.3:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking Speeds up one-time builds --enable-dependency-tracking Do not reject slow dependency extractors Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-fft=sgi|essl|fftw3|fftw2|fft2mpi|zfft Specify the FFT --with-fftw3=DIR Specify the FFTW3 install path and enable FFTW3 --with-fftw2=DIR Specify the FFTW2 install path and enable FFTW2 --with-fftw2mpi=DIR Specify the FFTW2 MPI install path and enable FFTW2 MPI --with-glut=DIR|no|yes Specify the GLUT install path and enable GLUT --with-aix-xlc Use xlC for AIX with optimization flags --with-aix-xlc-debug Use xlC for AIX with debugging flags --with-aix-xlc-mpi Use xlC for AIX with MPI and optimization flags --with-aix-xlc-mpi-debug Use xlC for AIX with MPI and debugging flags --with-gcc Use g++ for generic with optimization flags --with-gcc-debug Use g++ for generic with debugging flags --with-gcc-debug-gdb Use g++ for generic with debugging and gdb flags --with-gcc-mpich Use g++ for generic with MPICH flags --with-gcc-mpich-debug Use g++ for generic with MPICH debug flags --with-gcc-mpich-xeon Use g++ for generic with MPICH xeon flags (for Notre Dame's HPCC cluster) --with-hpux-cc Use aCC for HPUX optimization flags --with-hpux-cc-debug Use aCC for HPUX with debugging flags --with-hpux-cc-mpi Use aCC for HPUX with MPI and optimization flags --with-hpux-cc-mpi-debug Use aCC for HPUX with MPI and debugging flags --with-icc Use icc for generic with optimization flags --with-icc-debug Use icc for generic with debugging flags --with-icc-mpich Use icc for generic with MPICH and optimization flags --with-icc-mpich-xeon Use icc for generic with MPICH and optimization flags (for Notre Dame's HPCC cluster) --with-icc-mpich-debug Use icc for generic with MPICH and debugging flags --with-irix-mipspro Use CC for IRIX with optimization flags --with-irix-mipspro-debug Use CC for IRIX with debugging flags --with-irix-mipspro-mpi Use CC for IRIX with MPI and optimization flags --with-irix-mipspro-mpi-debug Use CC for IRIX with MPI and debugging flags --with-ppc-xlc Use xlC for PPC with optimization flags --with-pcc-xlc-debug Use xlC for PPC with debugging flags --with-sun-gcc Use g++ for SUN with optimization flags --with-x use the X Window System Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CC C compiler command CFLAGS C compiler flags CXXCPP C++ preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d $ac_dir || continue ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. if test -f $ac_srcdir/configure.gnu; then echo $SHELL $ac_srcdir/configure.gnu --help=recursive elif test -f $ac_srcdir/configure; then echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || test -f $ac_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd $ac_popdir done fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF protomol configure 2.0.3 generated by GNU Autoconf 2.57 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit 0 fi exec 5>config.log cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by protomol $as_me 2.0.3, which was generated by GNU Autoconf 2.57. Invocation command line was $ $0 $@ _ACEOF { cat <<_ASUNAME @%:@@%:@ --------- @%:@@%:@ @%:@@%:@ Platform. @%:@@%:@ @%:@@%:@ --------- @%:@@%:@ hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` hostinfo = `(hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done } >&5 cat >&5 <<_ACEOF @%:@@%:@ ----------- @%:@@%:@ @%:@@%:@ Core tests. @%:@@%:@ @%:@@%:@ ----------- @%:@@%:@ _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. ac_sep=" " ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Be sure not to use single quotes in there, as some shells, # such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX @%:@@%:@ ---------------- @%:@@%:@ @%:@@%:@ Cache variables. @%:@@%:@ @%:@@%:@ ---------------- @%:@@%:@ _ASBOX echo # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } echo cat <<\_ASBOX @%:@@%:@ ----------------- @%:@@%:@ @%:@@%:@ Output variables. @%:@@%:@ @%:@@%:@ ----------------- @%:@@%:@ _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX @%:@@%:@ ------------- @%:@@%:@ @%:@@%:@ Output files. @%:@@%:@ @%:@@%:@ ------------- @%:@@%:@ _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX @%:@@%:@ ----------- @%:@@%:@ @%:@@%:@ confdefs.h. @%:@@%:@ @%:@@%:@ ----------- @%:@@%:@ _ASBOX echo sed "/^$/d" confdefs.h | sort echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core core.* *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; *) . ./$cache_file;; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # 2.13 cp configure.ac configure.in #AC_INIT(README) #AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT,"protomol@cse.nd.edu",[Define to the address where bug reports for this package should be sent.]) #AC_DEFINE_UNQUOTED(PACKAGE_NAME,"protomol",[Define to the full name of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_STRING,"protomol 2.0.3",[Define to the full name and version of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_TARNAME,"protomol",[Define to the one symbol short name of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"2.0.3",[Define to the version of this package.]) #AC_CONFIG_AUX_DIR(./config) #AC_CANONICAL_TARGET # Avoid generating makefile rules to rebuild maintainer-only files by # default. Maintainers may override this default and generate these # makefile rules using the `--enable-maintainer-mode' configure option. #AM_MAINTAINER_MODE # Major Framework release number PROTOMOL_MAJOR_VERSION=2 # Minor Framework release number PROTOMOL_MINOR_VERSION=0 # Increment after every source code change PROTOMOL_PATCH_LEVEL=3 # Combined version number VERSION=$PROTOMOL_MAJOR_VERSION.$PROTOMOL_MINOR_VERSION.$PROTOMOL_PATCH_LEVEL am__api_version="1.6" ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f $ac_dir/shtool; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi ac_config_guess="$SHELL $ac_aux_dir/config.guess" ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 test "$program_prefix" != NONE && program_transform_name="s,^,$program_prefix,;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s,\$,$program_suffix,;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$AWK" && break done echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF all: @echo 'ac_maketemp="$(MAKE)"' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then eval ac_cv_prog_make_${ac_make}_set=yes else eval ac_cv_prog_make_${ac_make}_set=no fi rm -f conftest.make fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi # Define the identity of the package. PACKAGE=protomol VERSION=$VERSION cat >>confdefs.h <<_ACEOF @%:@define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} AMTAR=${AMTAR-"${am_missing_run}tar"} install_sh=${install_sh-"$am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi STRIP=$ac_ct_STRIP else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Add the stamp file to the list of files AC keeps track of, # along with our hook. ac_config_headers="$ac_config_headers protomol_config.h" # Report what was found echo "$as_me:$LINENO: checking major version" >&5 echo $ECHO_N "checking major version... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $PROTOMOL_MAJOR_VERSION" >&5 echo "${ECHO_T}$PROTOMOL_MAJOR_VERSION" >&6 echo "$as_me:$LINENO: checking minor version" >&5 echo $ECHO_N "checking minor version... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $PROTOMOL_MINOR_VERSION" >&5 echo "${ECHO_T}$PROTOMOL_MINOR_VERSION" >&6 echo "$as_me:$LINENO: checking patchlevel" >&5 echo $ECHO_N "checking patchlevel... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $PROTOMOL_PATCH_LEVEL" >&5 echo "${ECHO_T}$PROTOMOL_PATCH_LEVEL" >&6 # Calculate libtool versioning information LT_RELEASE=$PROTOMOL_MAJOR_VERSION.$PROTOMOL_MINOR_VERSION LT_CURRENT=$PROTOMOL_INTERFACE_VERSION LT_REVISION=0 #`expr $PROTOMOL_PATCH_LEVEL - $PROTOMOL_INTERFACE_VERSION` LT_AGE=0 #`expr $PROTOMOL_INTERFACE_VERSION - $PROTOMOL_BINARY_VERSION` # # Defines # cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_HOMEPAGE "http://protomol.sourceforge.net" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_CITE "Please cite T. Matthey, T. Cickovski, S. S. Hampton, A. Ko, Q. Ma, M. Nyerges, T. Raeder,\nT. Slabach, and J. A. Izaguirre. ProtoMol: An object-oriented framework for prototyping\nnovel algorithms for molecular dynamics. ACM Trans. Math. Softw., 30(3):237­265, 2004." _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_UNAME "`uname -a`" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_WHOAMI "`whoami`" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_BUGREPORT "protomol@cse.nd.edu" _ACEOF # # Compiler # use_preset=0 # Check whether --with-fft or --without-fft was given. if test "${with_fft+set}" = set; then withval="$with_fft" fi; # Check whether --with-fftw3 or --without-fftw3 was given. if test "${with_fftw3+set}" = set; then withval="$with_fftw3" fi; # Check whether --with-fftw2 or --without-fftw2 was given. if test "${with_fftw2+set}" = set; then withval="$with_fftw2" fi; # Check whether --with-fftw2mpi or --without-fftw2mpi was given. if test "${with_fftw2mpi+set}" = set; then withval="$with_fftw2mpi" fi; # Check whether --with-glut or --without-glut was given. if test "${with_glut+set}" = set; then withval="$with_glut" fi; # Check whether --with-aix_xlc or --without-aix_xlc was given. if test "${with_aix_xlc+set}" = set; then withval="$with_aix_xlc" use_preset=1 fi; # Check whether --with-aix_xlc_debug or --without-aix_xlc_debug was given. if test "${with_aix_xlc_debug+set}" = set; then withval="$with_aix_xlc_debug" use_preset=1 fi; # Check whether --with-aix_xlc_mpi or --without-aix_xlc_mpi was given. if test "${with_aix_xlc_mpi+set}" = set; then withval="$with_aix_xlc_mpi" use_preset=1 fi; # Check whether --with-aix_xlc_mpi_debug or --without-aix_xlc_mpi_debug was given. if test "${with_aix_xlc_mpi_debug+set}" = set; then withval="$with_aix_xlc_mpi_debug" use_preset=1 fi; # Check whether --with-gcc or --without-gcc was given. if test "${with_gcc+set}" = set; then withval="$with_gcc" use_preset=1 fi; # Check whether --with-gcc_debug or --without-gcc_debug was given. if test "${with_gcc_debug+set}" = set; then withval="$with_gcc_debug" use_preset=1 fi; # Check whether --with-gcc_debug_gdb or --without-gcc_debug_gdb was given. if test "${with_gcc_debug_gdb+set}" = set; then withval="$with_gcc_debug_gdb" use_preset=1 fi; # Check whether --with-gcc_mpich or --without-gcc_mpich was given. if test "${with_gcc_mpich+set}" = set; then withval="$with_gcc_mpich" use_preset=1 fi; # Check whether --with-gcc_mpich_debug or --without-gcc_mpich_debug was given. if test "${with_gcc_mpich_debug+set}" = set; then withval="$with_gcc_mpich_debug" use_preset=1 fi; # Check whether --with-gcc_mpich_xeon or --without-gcc_mpich_xeon was given. if test "${with_gcc_mpich_xeon+set}" = set; then withval="$with_gcc_mpich_xeon" fi; # Check whether --with-hpux_cc or --without-hpux_cc was given. if test "${with_hpux_cc+set}" = set; then withval="$with_hpux_cc" use_preset=1 fi; # Check whether --with-hpux_cc_debug or --without-hpux_cc_debug was given. if test "${with_hpux_cc_debug+set}" = set; then withval="$with_hpux_cc_debug" use_preset=1 fi; # Check whether --with-hpux_cc_mpi or --without-hpux_cc_mpi was given. if test "${with_hpux_cc_mpi+set}" = set; then withval="$with_hpux_cc_mpi" use_preset=1 fi; # Check whether --with-hpux_cc_mpi_debug or --without-hpux_cc_mpi_debug was given. if test "${with_hpux_cc_mpi_debug+set}" = set; then withval="$with_hpux_cc_mpi_debug" use_preset=1 fi; # Check whether --with-icc or --without-icc was given. if test "${with_icc+set}" = set; then withval="$with_icc" use_preset=1 fi; # Check whether --with-icc_debug or --without-icc_debug was given. if test "${with_icc_debug+set}" = set; then withval="$with_icc_debug" use_preset=1 fi; # Check whether --with-icc_mpich or --without-icc_mpich was given. if test "${with_icc_mpich+set}" = set; then withval="$with_icc_mpich" use_preset=1 fi; # Check whether --with-icc_mpich_xeon or --without-icc_mpich_xeon was given. if test "${with_icc_mpich_xeon+set}" = set; then withval="$with_icc_mpich_xeon" use_preset=1 fi; # Check whether --with-icc_mpich_debug or --without-icc_mpich_debug was given. if test "${with_icc_mpich_debug+set}" = set; then withval="$with_icc_mpich_debug" use_preset=1 fi; # Check whether --with-irix_mipspro or --without-irix_mipspro was given. if test "${with_irix_mipspro+set}" = set; then withval="$with_irix_mipspro" use_preset=1 fi; # Check whether --with-irix_mipspro_debug or --without-irix_mipspro_debug was given. if test "${with_irix_mipspro_debug+set}" = set; then withval="$with_irix_mipspro_debug" use_preset=1 fi; # Check whether --with-irix_mipspro_mpi or --without-irix_mipspro_mpi was given. if test "${with_irix_mipspro_mpi+set}" = set; then withval="$with_irix_mipspro_mpi" use_preset=1 fi; # Check whether --with-irix_mipspro_mpi_debug or --without-irix_mipspro_mpi_debug was given. if test "${with_irix_mipspro_mpi_debug+set}" = set; then withval="$with_irix_mipspro_mpi_debug" use_preset=1 fi; # Check whether --with-ppc_xlc or --without-ppc_xlc was given. if test "${with_ppc_xlc+set}" = set; then withval="$with_ppc_xlc" use_preset=1 fi; # Check whether --with-ppc_xlc_debug or --without-ppc_xlc_debug was given. if test "${with_ppc_xlc_debug+set}" = set; then withval="$with_ppc_xlc_debug" use_preset=1 fi; # Check whether --with-sun_gcc or --without-sun_gcc was given. if test "${with_sun_gcc+set}" = set; then withval="$with_sun_gcc" use_preset=1 fi; # 2.53 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC aCC mpCC_r xlC_r xlC xlc++ CC icpc icc g++ cxx mpic++ mpicxx mpiCC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC aCC mpCC_r xlC_r xlC xlc++ CC icpc icc g++ cxx mpic++ mpicxx mpiCC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. echo "$as_me:$LINENO: checking for C++ compiler default output" >&5 echo $ECHO_N "checking for C++ compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. # Be careful to initialize this variable, since it used to be cached. # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ac_cv_exeext= # b.out is created by i960 compilers. for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; conftest.$ac_ext ) # This is the source file. ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` # FIXME: I believe we export ac_cv_exeext for Libtool, # but it would be cool to find out if it's true. Does anybody # maintain Libtool? --akim. export ac_cv_exeext break;; * ) break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C++ compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C++ compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu rm -f .deps 2>/dev/null mkdir .deps 2>/dev/null if test -d .deps; then DEPDIR=.deps else # MS-DOS does not allow filenames that begin with a dot. DEPDIR=_deps fi rmdir .deps 2>/dev/null ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' doit: @echo done END # If we don't find an include directive, just comment out the code. echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6 rm -f confinc confmf # Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval="$enable_dependency_tracking" fi; if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type # if test $use_preset = 0; then echo "$as_me:$LINENO: result: Auto detection of compiler: $CXX" >&5 echo "${ECHO_T}Auto detection of compiler: $CXX" >&6 fi unset ac_cv_prog_ac_ct_CC unset ac_cv_prog_ac_ct_CXX echo "$as_me:$LINENO: checking preset g++ for SUN with optimization flags " >&5 echo $ECHO_N "checking preset g++ for SUN with optimization flags ... $ECHO_C" >&6 WANT_SUN_GCC_FLAGS=0 if test "$with_sun_gcc" = "yes"; then WANT_SUN_GCC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -mcpu=ultrasparc -m32 -U_LP64 -U__sparc_v9__ -U__sparcv9 -DNDEBUG" CXX="g++" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -mcpu=ultrasparc -m32 -U_LP64 -U__sparc_v9__ -U__sparcv9 -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_MPI_FLAGS=0 echo "$as_me:$LINENO: checking preset CC fro IRIX with MPI and optimization flags " >&5 echo $ECHO_N "checking preset CC fro IRIX with MPI and optimization flags ... $ECHO_C" >&6 if (test "$with_irix_mipspro_mpi" = "yes" || ((test $use_preset = 0) && test $CXX = "CC" )) then WANT_IRIX_MIPSPRO_MPI_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -Ofast=ip35 -64 -DNDEBUG -DHAVE_MPI -DMPI_NO_CPPBIND" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -Ofast=ip35 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DNDEBUG -DHAVE_MPI -DMPI_NO_CPPBIND" LIBS="-lmpi -lsma -lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset CC for IRIX with MPI and debugging flags " >&5 echo $ECHO_N "checking preset CC for IRIX with MPI and debugging flags ... $ECHO_C" >&6 if test "$with_irix_mipspro_mpi_debug" = "yes"; then WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -O2 -64 -DHAVE_MPI -DMPI_NO_CPPBIND" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -O2 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DHAVE_MPI -DMPI_NO_CPPBIND" LIBS="-lmpi -lsma -lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_FLAGS=0 echo "$as_me:$LINENO: checking preset CC for IRIX with optimization flags " >&5 echo $ECHO_N "checking preset CC for IRIX with optimization flags ... $ECHO_C" >&6 if test "$with_irix_mipspro" = "yes"; then WANT_IRIX_MIPSPRO_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -Ofast=ip35 -64 -DNDEBUG" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -Ofast=ip35 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DNDEBUG" LIBS="-lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset CC for IRIX with debugging flags " >&5 echo $ECHO_N "checking preset CC for IRIX with debugging flags ... $ECHO_C" >&6 if test "$with_irix_mipspro_debug" = "yes"; then WANT_IRIX_MIPSPRO_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -O2 -64" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -O2 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON" LIBS="-lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with optimization flags " >&5 echo $ECHO_N "checking preset icc for generic with optimization flags ... $ECHO_C" >&6 if (test "$with_icc" = "yes" || ((test $use_preset = 0) && (test $CXX = "icc" || test $CXX = "icpc"))) then unset CC unset CXX WANT_ICC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF @%:@ifndef __cplusplus choke me @%:@endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with debugging flags " >&5 echo $ECHO_N "checking preset icc for generic with debugging flags ... $ECHO_C" >&6 if test "$with_icc_debug" = "yes"; then unset CC unset CXX WANT_ICC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF @%:@ifndef __cplusplus choke me @%:@endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_MPICH_XEON_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with MPICH flags " >&5 echo $ECHO_N "checking preset icc for generic with MPICH flags ... $ECHO_C" >&6 if test "$with_icc_mpich_xeon" = "yes"; then unset CC unset CXX WANT_ICC_MPICH_XEON_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-intel80/bin/mpicc" CFLAGS="-Wall -wd810,383,981,279,444 -O3 -ip -static -DNDEBUG -DHAVE_MPI" CXX="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-intel80/bin/mpicxx" CXXFLAGS="-Wall -wd810,383,981,279,444 -O3 -ip -static -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_MPICH_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with MPICH and optimization flags " >&5 echo $ECHO_N "checking preset icc for generic with MPICH and optimization flags ... $ECHO_C" >&6 if (test "$with_icc_mpich" = "yes") then unset CC unset CXX WANT_ICC_MPICH_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in mpicc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in mpicc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF @%:@ifndef __cplusplus choke me @%:@endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG -DHAVE_MPI" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_MPICH_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with MPICH and debugging flags " >&5 echo $ECHO_N "checking preset icc for generic with MPICH and debugging flags ... $ECHO_C" >&6 if test "$with_icc_mpich_debug" = "yes"; then unset CC unset CXX WANT_ICC_MPICH_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in mpicc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in mpicc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF @%:@ifndef __cplusplus choke me @%:@endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict -DHAVE_MPI" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_MPICH_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with MPICH flags " >&5 echo $ECHO_N "checking preset g++ for generic with MPICH flags ... $ECHO_C" >&6 if test "$with_gcc_mpich" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CC="mpicc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi ANT_GCC_MPICH_XEON=0 echo "$as_me:$LINENO: checking preset g++ for generic with MPICH XEON flags " >&5 echo $ECHO_N "checking preset g++ for generic with MPICH XEON flags ... $ECHO_C" >&6 if test "$with_gcc_mpich_xeon" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_XEON=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-gcc-2/bin/mpicc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" CXX="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-gcc-2/bin/mpicxx" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_MPICH_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with MPICH debug flags " >&5 echo $ECHO_N "checking preset g++ for generic with MPICH debug flags ... $ECHO_C" >&6 if test "$with_gcc_mpich_debug" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpicc" CFLAGS="-Wall -DHAVE_MPI -I${MPI_HOME}/include" ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CXXFLAGS="-Wall -DHAVE_MPI -I${MPI_HOME}/include" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with optimization flags " >&5 echo $ECHO_N "checking preset g++ for generic with optimization flags ... $ECHO_C" >&6 if (test "$with_gcc" = "yes" || ((test $use_preset = 0) && ( test $CXX = "c++" || test $CXX = "g++"))) then WANT_GCC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG" CXX="g++" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with debugging flags " >&5 echo $ECHO_N "checking preset g++ for generic with debugging flags ... $ECHO_C" >&6 if test "$with_gcc_debug" = "yes"; then WANT_GCC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-Wall" CXX="g++" CXXFLAGS="-Wall" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_DEBUG_GDB_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with debugging and gdb flags " >&5 echo $ECHO_N "checking preset g++ for generic with debugging and gdb flags ... $ECHO_C" >&6 if test "$with_gcc_debug_gdb" = "yes"; then WANT_GCC_DEBUG_GDB_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-g -Wall" CXX="g++" CXXFLAGS="-g -Wall" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_PPC_XLC_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for PPC with optimization flags " >&5 echo $ECHO_N "checking preset xlC for PPC with optimization flags ... $ECHO_C" >&6 if test "$with_ppc_xlc" = "yes"; then WANT_PPC_XLC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="-O4 -qinlglue -qcache=auto -qarch=auto -qtune=auto -DNDEBUG" CXX="xlC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_PPC_XLC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for PPC with debugging flags " >&5 echo $ECHO_N "checking preset xlC for PPC with debugging flags ... $ECHO_C" >&6 if test "$with_ppc_xlc_debug" = "yes"; then WANT_PPC_XLC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="" CXX="xlC_r" CXXFLAGS="" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_AIX_XLC_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for AIX with optimization flags " >&5 echo $ECHO_N "checking preset xlC for AIX with optimization flags ... $ECHO_C" >&6 if test "$with_aix_xlc" = "yes"; then WANT_AIX_XLC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="-O4 -qinlglue -qcache=auto -qarch=auto -qtune=auto -DNDEBUG" CXX="xlC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_AIX_XLC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for AIX with debugging flags " >&5 echo $ECHO_N "checking preset xlC for AIX with debugging flags ... $ECHO_C" >&6 if test "$with_aix_xlc_debug" = "yes"; then WANT_AIX_XLC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="" CXX="xlC_r" CXXFLAGS="-qrtti=dyna" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset xlC for AIX with MPI and optimization flags " >&5 echo $ECHO_N "checking preset xlC for AIX with MPI and optimization flags ... $ECHO_C" >&6 WANT_AIX_XLC_MPI_FLAGS=0 if (test "$with_aix_xlc_mpi" = "yes" || ((test $use_preset = 0) && test $CXX = "mpCC_r")) then WANT_AIX_XLC_MPI_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpcc_r" CFLAGS="-O4 -qinlglue-qcache=auto -qarch=auto -qtune=auto -DNDEBUG -DHAVE_MPI" CXX="mpCC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_AIX_XLC_MPI_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for AIX with MPI and debugging flags " >&5 echo $ECHO_N "checking preset xlC for AIX with MPI and debugging flags ... $ECHO_C" >&6 if test "$with_aix_xlc_mpi_debug" = "yes"; then WANT_AIX_XLC_MPI_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpcc_r" CFLAGS="-g -DHAVE_MPI" CXX="mpCC_r" CXXFLAGS="-g -qrtti=dyna -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with optimization flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with optimization flags ... $ECHO_C" >&6 WANT_HPUX_CC_FLAGS=0 if (test "$with_hpux_cc" = "yes" || ((test $use_preset = 0) && test $CXX = "aCC")) then WANT_HPUX_CC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="+Z +DD64 -fast -DNDEBUG" CXX="aCC" CXXFLAGS="+Z +DD64 +O2 +Oaggressive +noeh -AA +W67,829,336 -DNDEBUG" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with debugging flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with debugging flags ... $ECHO_C" >&6 WANT_HPUX_CC_DEBUG_FLAGS=0 if test "$with_hpux_cc_debug" = "yes"; then WANT_HPUX_CC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="+DD64 +Z -g1" CXX="aCC" CXXFLAGS="+DD64 +Z -AA -g1 +W67,829,336" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with MPI and optimization flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with MPI and optimization flags ... $ECHO_C" >&6 WANT_HPUX_CC_MPI_FLAGS=0 if test "$with_hpux_cc_mpi" = "yes"; then unset CC unset CXX WANT_HPUX_CC_MPI_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpicc" CFLAGS="+Z +DD64 -fast -DNDEBUG -DHAVE_MPI" ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CXXFLAGS="+Z +DD64 +O2 +Oaggressive +noeh -AA +W67,829,336 -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with MPI and debugging flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with MPI and debugging flags ... $ECHO_C" >&6 WANT_HPUX_CC_MPI_DEBUG_FLAGS=0 if test "$with_hpux_cc_mpi_debug" = "yes"; then unset CC unset CXX WANT_HPUX_CC_MPI_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpicc" CFLAGS="+DD64 +Z -g1 -DHAVE_MPI" ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CXXFLAGS="+DD64 +Z -AA -g1 +W67,829,336 -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "" echo "CC : $CC" echo "CFLAGS : $CFLAGS" echo "CXXFLAGS : $CXXFLAGS" echo "CXX : $CXX" echo "CXXCPP : $CXXCPP" echo "LIBS : $LIBS" echo "CPP : $CPP" echo "CPPFLAGS : $CPPFLAGS" echo "" # # Tools # ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@ifdef __STDC__ @%:@ include @%:@else @%:@ include @%:@endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6 ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@ifdef __STDC__ @%:@ include @%:@else @%:@ include @%:@endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $@%:@ != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF @%:@ifndef __cplusplus choke me @%:@endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi RANLIB=$ac_ct_RANLIB else RANLIB="$ac_cv_prog_RANLIB" fi have_mpi=false case $CXXFLAGS in *-DHAVE_MPI*) have_mpi=true;; esac echo "$as_me:$LINENO: checking using MPI" >&5 echo $ECHO_N "checking using MPI... $ECHO_C" >&6 if test $have_mpi = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking for X" >&5 echo $ECHO_N "checking for X... $ECHO_C" >&6 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then withval="$with_x" fi; # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then # Both variables are already set. have_x=yes else if test "${ac_cv_have_x+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no rm -fr conftest.dir if mkdir conftest.dir; then cd conftest.dir # Make sure to not put "make" in the Imakefile rules, since we grep it out. cat >Imakefile <<'_ACEOF' acfindx: @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' _ACEOF if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl; do if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && test -f $ac_im_libdir/libX11.$ac_extension; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in /usr/include) ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in /usr/lib | /lib) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. rm -fr conftest.dir fi # Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 /usr/X386/include /usr/x386/include /usr/XFree86/include/X11 /usr/include /usr/local/include /usr/unsupported/include /usr/athena/include /usr/local/x11r5/include /usr/lpp/Xamples/include /usr/openwin/include /usr/openwin/share/include' if test "$ac_x_includes" = no; then # Guess where to find include files, by looking for Intrinsic.h. # First, try using that file with no special directory specified. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # We can compile using X headers with no special include directory. ac_x_includes= else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do if test -r "$ac_dir/X11/Intrinsic.h"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest.err conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then # Check for the libraries. # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS LIBS="-lXt $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include int main () { XtMalloc (0) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 LIBS=$ac_save_LIBS for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl; do if test -r $ac_dir/libXt.$ac_extension; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then # Didn't find X anywhere. Cache the known absence of X. ac_cv_have_x="have_x=no" else # Record where we found X for the cache. ac_cv_have_x="have_x=yes \ ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" fi fi fi eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then echo "$as_me:$LINENO: result: $have_x" >&5 echo "${ECHO_T}$have_x" >&6 no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes \ ac_x_includes=$x_includes ac_x_libraries=$x_libraries" echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 fi if test "$no_x" = yes; then # Not all programs may use this symbol, but it does not hurt to define it. cat >>confdefs.h <<\_ACEOF @%:@define X_DISPLAY_MISSING 1 _ACEOF X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= else if test -n "$x_includes"; then X_CFLAGS="$X_CFLAGS -I$x_includes" fi # It would also be nice to do this for all -L options, not just this one. if test -n "$x_libraries"; then X_LIBS="$X_LIBS -L$x_libraries" # For Solaris; some versions of Sun CC require a space after -R and # others require no space. Words are not sufficient . . . . case `(uname -sr) 2>/dev/null` in "SunOS 5"*) echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6 ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_R_nospace=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_R_nospace=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test $ac_R_nospace = yes; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 X_LIBS="$X_LIBS -R$x_libraries" else LIBS="$ac_xsave_LIBS -R $x_libraries" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_R_space=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_R_space=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test $ac_R_space = yes; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 X_LIBS="$X_LIBS -R $x_libraries" else echo "$as_me:$LINENO: result: neither works" >&5 echo "${ECHO_T}neither works" >&6 fi fi LIBS=$ac_xsave_LIBS esac fi # Check for system-dependent libraries X programs must link with. # Do this before checking for the system-independent R6 libraries # (-lICE), since we may need -lsocket or whatever for X linking. if test "$ISC" = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" else # Martyn Johnson says this is needed for Ultrix, if the X # libraries were built with DECnet support. And Karl Berry says # the Alpha needs dnet_stub (dnet does not exist). ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XOpenDisplay (); int main () { XOpenDisplay (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6 if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dnet_ntoa (); int main () { dnet_ntoa (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dnet_dnet_ntoa=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dnet_dnet_ntoa=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6 if test $ac_cv_lib_dnet_dnet_ntoa = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6 if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet_stub $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dnet_ntoa (); int main () { dnet_ntoa (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dnet_stub_dnet_ntoa=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dnet_stub_dnet_ntoa=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6 if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" fi fi fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$ac_xsave_LIBS" # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, # to get the SysV transport functions. # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) # needs -lnsl. # The nsl library prevents programs from opening the X display # on Irix 5.2, according to T.E. Dickey. # The functions gethostbyname, getservbyname, and inet_addr are # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. echo "$as_me:$LINENO: checking for gethostbyname" >&5 echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 if test "${ac_cv_func_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) choke me #else char (*f) () = gethostbyname; #endif #ifdef __cplusplus } #endif int main () { return f != gethostbyname; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_gethostbyname=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 if test $ac_cv_func_gethostbyname = no; then echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); int main () { gethostbyname (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_nsl_gethostbyname=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_nsl_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 if test $ac_cv_lib_nsl_gethostbyname = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" fi if test $ac_cv_lib_nsl_gethostbyname = no; then echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6 if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); int main () { gethostbyname (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_bsd_gethostbyname=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_bsd_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6 if test $ac_cv_lib_bsd_gethostbyname = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" fi fi fi # lieder@skyler.mavd.honeywell.com says without -lsocket, # socket/setsockopt and other routines are undefined under SCO ODT # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary # on later versions), says Simon Leinen: it contains gethostby* # variants that don't use the name server (or something). -lsocket # must be given before -lnsl if both are needed. We assume that # if connect needs -lnsl, so does gethostbyname. echo "$as_me:$LINENO: checking for connect" >&5 echo $ECHO_N "checking for connect... $ECHO_C" >&6 if test "${ac_cv_func_connect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char connect (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_connect) || defined (__stub___connect) choke me #else char (*f) () = connect; #endif #ifdef __cplusplus } #endif int main () { return f != connect; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_connect=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_connect=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 echo "${ECHO_T}$ac_cv_func_connect" >&6 if test $ac_cv_func_connect = no; then echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 if test "${ac_cv_lib_socket_connect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char connect (); int main () { connect (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_socket_connect=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_socket_connect=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 if test $ac_cv_lib_socket_connect = yes; then X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" fi fi # Guillermo Gomez says -lposix is necessary on A/UX. echo "$as_me:$LINENO: checking for remove" >&5 echo $ECHO_N "checking for remove... $ECHO_C" >&6 if test "${ac_cv_func_remove+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char remove (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_remove) || defined (__stub___remove) choke me #else char (*f) () = remove; #endif #ifdef __cplusplus } #endif int main () { return f != remove; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_remove=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_remove=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 echo "${ECHO_T}$ac_cv_func_remove" >&6 if test $ac_cv_func_remove = no; then echo "$as_me:$LINENO: checking for remove in -lposix" >&5 echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6 if test "${ac_cv_lib_posix_remove+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lposix $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char remove (); int main () { remove (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_posix_remove=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_posix_remove=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6 if test $ac_cv_lib_posix_remove = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" fi fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo "$as_me:$LINENO: checking for shmat" >&5 echo $ECHO_N "checking for shmat... $ECHO_C" >&6 if test "${ac_cv_func_shmat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shmat (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_shmat) || defined (__stub___shmat) choke me #else char (*f) () = shmat; #endif #ifdef __cplusplus } #endif int main () { return f != shmat; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_shmat=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shmat=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 echo "${ECHO_T}$ac_cv_func_shmat" >&6 if test $ac_cv_func_shmat = no; then echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6 if test "${ac_cv_lib_ipc_shmat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lipc $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shmat (); int main () { shmat (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ipc_shmat=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_ipc_shmat=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6 if test $ac_cv_lib_ipc_shmat = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" fi fi fi # Check for libraries that X11R6 Xt/Xaw programs need. ac_save_LDFLAGS=$LDFLAGS test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to # check for ICE first), but we must link in the order -lSM -lICE or # we get undefined symbols. So assume we have SM if we have ICE. # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. # John Interrante, Karl Berry echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6 if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char IceConnectionNumber (); int main () { IceConnectionNumber (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ICE_IceConnectionNumber=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_ICE_IceConnectionNumber=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6 if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" fi LDFLAGS=$ac_save_LDFLAGS fi save_libs=$LIBS save_cflags=$CFLAGS save_cppflags=$CPPFLAGS save_ldflags=$LDFLAGS save_cxxflags=$CXXFLAGS #save_cxxflags="$save_cxxflags -DTEMPLATE_IN_HEADER" # # limits # have_no_limits=false echo "$as_me:$LINENO: checking for limits " >&5 echo $ECHO_N "checking for limits ... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then have_no_limits=true else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test $have_no_limits = false; then save_cxxflags="$save_cxxflags -DHAVE_NO_LIMITS" echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # # sstream # have_no_sstream=false echo "$as_me:$LINENO: checking for sstream " >&5 echo $ECHO_N "checking for sstream ... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then have_no_sstream=true else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test $have_no_sstream = false; then save_cxxflags="$save_cxxflags -DHAVE_NO_SSTREAM" echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # # partial_template_specialization # partial_template_specialization=false echo "$as_me:$LINENO: checking for partial template specialization" >&5 echo $ECHO_N "checking for partial template specialization... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include "framework/base/Array_Fastest.h" using namespace ProtoMol; int main () { Array a(ArraySizes(1)(1)(1)); RefArray rA = a[0]; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then partial_template_specialization=true else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test $partial_template_specialization = false; then save_cxxflags="$save_cxxflags -DNO_PARTIAL_TEMPLATE_SPECIALIZATION" echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # # Socket # have_socket=true echo "$as_me:$LINENO: checking for socket in -lsocket" >&5 echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6 if test "${ac_cv_lib_socket_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char socket (); int main () { socket (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_socket_socket=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_socket_socket=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5 echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6 if test $ac_cv_lib_socket_socket = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBSOCKET 1 _ACEOF LIBS="-lsocket $LIBS" else have_socket=false fi if test $have_socket = true; then SOCKET_LIBS="-lsocket" fi have_socket=true echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | (grep -E '(a|b)') >/dev/null 2>&1 then ac_cv_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF @%:@define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default @%:@include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF @%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "${ac_cv_header_sys_socket_h+set}" = set; then echo "$as_me:$LINENO: checking for sys/socket.h" >&5 echo $ECHO_N "checking for sys/socket.h... $ECHO_C" >&6 if test "${ac_cv_header_sys_socket_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_sys_socket_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_socket_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking sys/socket.h usability" >&5 echo $ECHO_N "checking sys/socket.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking sys/socket.h presence" >&5 echo $ECHO_N "checking sys/socket.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: sys/socket.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: sys/socket.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: sys/socket.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: sys/socket.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: sys/socket.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: sys/socket.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for sys/socket.h" >&5 echo $ECHO_N "checking for sys/socket.h... $ECHO_C" >&6 if test "${ac_cv_header_sys_socket_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_sys_socket_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_sys_socket_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_socket_h" >&6 fi if test $ac_cv_header_sys_socket_h = yes; then : else have_socket=false fi echo "$as_me:$LINENO: checking for socketlen type" >&5 echo $ECHO_N "checking for socketlen type... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { sockaddr_in addr; socklen_t len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE=socklen_t else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test "${SOCKLEN_TYPE}" = "" ; then cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { sockaddr_in addr; size_t len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE=size_t else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext fi if test "${SOCKLEN_TYPE}" = "" ; then cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { sockaddr_in addr; unsigned int len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE="unsigned int" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext fi if test "${SOCKLEN_TYPE}" = "" ; then cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { sockaddr_in addr; int len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE="int" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext fi if test "${SOCKLEN_TYPE}" != "" ; then echo "$as_me:$LINENO: result: $SOCKLEN_TYPE" >&5 echo "${ECHO_T}$SOCKLEN_TYPE" >&6 fi cat >>confdefs.h <<_ACEOF @%:@define SOCKLEN_TYPE ${SOCKLEN_TYPE} _ACEOF # # Sizeof # echo "$as_me:$LINENO: checking for char" >&5 echo $ECHO_N "checking for char... $ECHO_C" >&6 if test "${ac_cv_type_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((char *) 0) return 0; if (sizeof (char)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_char=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_char=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5 echo "${ECHO_T}$ac_cv_type_char" >&6 echo "$as_me:$LINENO: checking size of char" >&5 echo $ECHO_N "checking size of char... $ECHO_C" >&6 if test "${ac_cv_sizeof_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_char" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (char))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (char))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (char))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_char=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (char), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (char)); } unsigned long ulongval () { return (long) (sizeof (char)); } @%:@include @%:@include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (char))) < 0) { long i = longval (); if (i != ((long) (sizeof (char)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (char)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_char=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (char), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_char=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5 echo "${ECHO_T}$ac_cv_sizeof_char" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_CHAR $ac_cv_sizeof_char _ACEOF echo "$as_me:$LINENO: checking for short" >&5 echo $ECHO_N "checking for short... $ECHO_C" >&6 if test "${ac_cv_type_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((short *) 0) return 0; if (sizeof (short)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_short=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_short=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5 echo "${ECHO_T}$ac_cv_type_short" >&6 echo "$as_me:$LINENO: checking size of short" >&5 echo $ECHO_N "checking size of short... $ECHO_C" >&6 if test "${ac_cv_sizeof_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_short" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (short))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (short))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (short))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_short=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (short), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (short)); } unsigned long ulongval () { return (long) (sizeof (short)); } @%:@include @%:@include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (short))) < 0) { long i = longval (); if (i != ((long) (sizeof (short)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (short)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_short=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (short), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_short=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5 echo "${ECHO_T}$ac_cv_sizeof_short" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_SHORT $ac_cv_sizeof_short _ACEOF echo "$as_me:$LINENO: checking for int" >&5 echo $ECHO_N "checking for int... $ECHO_C" >&6 if test "${ac_cv_type_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((int *) 0) return 0; if (sizeof (int)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_int=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_int=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5 echo "${ECHO_T}$ac_cv_type_int" >&6 echo "$as_me:$LINENO: checking size of int" >&5 echo $ECHO_N "checking size of int... $ECHO_C" >&6 if test "${ac_cv_sizeof_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_int" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (int))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (int))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (int))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_int=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (int), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (int)); } unsigned long ulongval () { return (long) (sizeof (int)); } @%:@include @%:@include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (int))) < 0) { long i = longval (); if (i != ((long) (sizeof (int)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (int)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_int=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (int), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_int=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5 echo "${ECHO_T}$ac_cv_sizeof_int" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_INT $ac_cv_sizeof_int _ACEOF echo "$as_me:$LINENO: checking for long" >&5 echo $ECHO_N "checking for long... $ECHO_C" >&6 if test "${ac_cv_type_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((long *) 0) return 0; if (sizeof (long)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_long=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 echo "${ECHO_T}$ac_cv_type_long" >&6 echo "$as_me:$LINENO: checking size of long" >&5 echo $ECHO_N "checking size of long... $ECHO_C" >&6 if test "${ac_cv_sizeof_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_long" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (long))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (long))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_long=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (long), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (long)); } unsigned long ulongval () { return (long) (sizeof (long)); } @%:@include @%:@include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (long))) < 0) { long i = longval (); if (i != ((long) (sizeof (long)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (long)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_long=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (long), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_long=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 echo "${ECHO_T}$ac_cv_sizeof_long" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_LONG $ac_cv_sizeof_long _ACEOF echo "$as_me:$LINENO: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6 if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((size_t *) 0) return 0; if (sizeof (size_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_size_t=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6 echo "$as_me:$LINENO: checking size of size_t" >&5 echo $ECHO_N "checking size of size_t... $ECHO_C" >&6 if test "${ac_cv_sizeof_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_size_t" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (size_t))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (size_t))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (size_t))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (size_t))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (size_t))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_size_t=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (size_t), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (size_t)); } unsigned long ulongval () { return (long) (sizeof (size_t)); } @%:@include @%:@include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (size_t))) < 0) { long i = longval (); if (i != ((long) (sizeof (size_t)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (size_t)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_size_t=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (size_t), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_size_t=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5 echo "${ECHO_T}$ac_cv_sizeof_size_t" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_SIZE_T $ac_cv_sizeof_size_t _ACEOF echo "$as_me:$LINENO: checking for void*" >&5 echo $ECHO_N "checking for void*... $ECHO_C" >&6 if test "${ac_cv_type_voidp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((void* *) 0) return 0; if (sizeof (void*)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_voidp=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_voidp=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_voidp" >&5 echo "${ECHO_T}$ac_cv_type_voidp" >&6 echo "$as_me:$LINENO: checking size of void*" >&5 echo $ECHO_N "checking size of void*... $ECHO_C" >&6 if test "${ac_cv_sizeof_voidp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_voidp" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (void*))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (void*))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (void*))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (void*))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (void*))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_voidp=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (void*), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (void*), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (void*)); } unsigned long ulongval () { return (long) (sizeof (void*)); } @%:@include @%:@include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (void*))) < 0) { long i = longval (); if (i != ((long) (sizeof (void*)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (void*)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_voidp=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (void*), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (void*), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_voidp=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_voidp" >&5 echo "${ECHO_T}$ac_cv_sizeof_voidp" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_VOIDP $ac_cv_sizeof_voidp _ACEOF SIZEOF_INT=$ac_cv_sizeof_int SIZEOF_SHORT=$ac_cv_sizeof_int echo "$as_me:$LINENO: checking for 32-bit int" >&5 echo $ECHO_N "checking for 32-bit int... $ECHO_C" >&6 if test "${SIZEOF_INT}" = 4; then INT32_TYPE=int elif test "${SIZEOF_SHORT}" = 4; then INT32_TYPE=short else { { echo "$as_me:$LINENO: error: neither int (${SIZEOF_INT}) nor short (${SIZEOF_SHORT}) have sizeof 4!" >&5 echo "$as_me: error: neither int (${SIZEOF_INT}) nor short (${SIZEOF_SHORT}) have sizeof 4!" >&2;} { (exit 1); exit 1; }; } fi cat >>confdefs.h <<_ACEOF @%:@define INT32_TYPE ${INT32_TYPE} _ACEOF echo "$as_me:$LINENO: result: $INT32_TYPE" >&5 echo "${ECHO_T}$INT32_TYPE" >&6 # # cycles # # comment out if autoconf less then 2.53 echo "$as_me:$LINENO: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6 if test "${ac_cv_c_inline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_inline=$ac_kw; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done fi echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6 case $ac_cv_c_inline in inline | yes) ;; no) cat >>confdefs.h <<\_ACEOF @%:@define inline _ACEOF ;; *) cat >>confdefs.h <<_ACEOF @%:@define inline $ac_cv_c_inline _ACEOF ;; esac echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_time=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_time=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6 if test $ac_cv_header_time = yes; then cat >>confdefs.h <<\_ACEOF @%:@define TIME_WITH_SYS_TIME 1 _ACEOF fi for ac_header in sys/time.h c_asm.h intrinsics.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default @%:@include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF @%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for hrtime_t" >&5 echo $ECHO_N "checking for hrtime_t... $ECHO_C" >&6 if test "${ac_cv_type_hrtime_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if HAVE_SYS_TIME_H #include #endif int main () { if ((hrtime_t *) 0) return 0; if (sizeof (hrtime_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_hrtime_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_hrtime_t=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_hrtime_t" >&5 echo "${ECHO_T}$ac_cv_type_hrtime_t" >&6 if test $ac_cv_type_hrtime_t = yes; then cat >>confdefs.h <<\_ACEOF @%:@define HAVE_HRTIME_T 1 _ACEOF fi for ac_func in gethrtime clock_gettime do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF @%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for read_real_time" >&5 echo $ECHO_N "checking for read_real_time... $ECHO_C" >&6 read_real_time_ok=yes cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if TIME_WITH_SYS_TIME # include # include #else # if HAVE_SYS_TIME_H # include # else # include # endif #endif int main () { timebasestruct_t t; read_real_time(&t, TIMEBASE_SZ); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cat >>confdefs.h <<\_ACEOF @%:@define HAVE_READ_REAL_TIME 1 _ACEOF else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 read_real_time_ok=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $read_real_time_ok" >&5 echo "${ECHO_T}$read_real_time_ok" >&6 echo "$as_me:$LINENO: checking for time_base_to_time" >&5 echo $ECHO_N "checking for time_base_to_time... $ECHO_C" >&6 time_base_to_time_ok=yes cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if TIME_WITH_SYS_TIME # include # include #else # if HAVE_SYS_TIME_H # include # else # include # endif #endif int main () { timebasestruct_t t; time_base_to_time(&t, TIMEBASE_SZ); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cat >>confdefs.h <<\_ACEOF @%:@define HAVE_TIME_BASE_TO_TIME 1 _ACEOF else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 time_base_to_time_ok=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $time_base_to_time_ok" >&5 echo "${ECHO_T}$time_base_to_time_ok" >&6 #AC_MSG_CHECKING([for rtc]) #rtc_ok=yes #AC_TRY_COMPILE([], [], [AC_DEFINE(HAVE_RTC,1,[Define if you have the rtc().])], [rtc_ok=no]) #AC_MSG_RESULT($rtc_ok) echo "$as_me:$LINENO: checking for _rtc intrinsic" >&5 echo $ECHO_N "checking for _rtc intrinsic... $ECHO_C" >&6 rtc_ok=yes cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef HAVE_INTRINSICS_H #include #endif int main () { _rtc() ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cat >>confdefs.h <<\_ACEOF @%:@define HAVE__RTC 1 _ACEOF else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 rtc_ok=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext echo "$as_me:$LINENO: result: $rtc_ok" >&5 echo "${ECHO_T}$rtc_ok" >&6 # # FFT # # # FFT ZFFT # have_fft_zfft=true FFT_ZFFT_LIBS="" FFT_ZFFT_CFLAGS="" # # FFT SGI # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_fft_sgi=true FFT_SGI_LIBS="-lcomplib.sgimath" FFT_SGI_CFLAGS="-DHAVE_FFT_SGI -DHAVE_FFT" echo "$as_me:$LINENO: checking for zfftm1di in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfftm1di in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfftm1di+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfftm1di (); int main () { zfftm1di (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfftm1di=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfftm1di=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfftm1di" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfftm1di" >&6 if test $ac_cv_lib_complib_sgimath_zfftm1di = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfftm1d in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfftm1d in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfftm1d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfftm1d (); int main () { zfftm1d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfftm1d=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfftm1d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfftm1d" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfftm1d" >&6 if test $ac_cv_lib_complib_sgimath_zfftm1d = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft2di in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft2di in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft2di+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft2di (); int main () { zfft2di (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft2di=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft2di=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft2di" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft2di" >&6 if test $ac_cv_lib_complib_sgimath_zfft2di = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft2d in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft2d in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft2d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft2d (); int main () { zfft2d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft2d=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft2d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft2d" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft2d" >&6 if test $ac_cv_lib_complib_sgimath_zfft2d = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft3di in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft3di in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft3di+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft3di (); int main () { zfft3di (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft3di=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft3di=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft3di" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft3di" >&6 if test $ac_cv_lib_complib_sgimath_zfft3di = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft3d in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft3d in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft3d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft3d (); int main () { zfft3d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft3d=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft3d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft3d" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft3d" >&6 if test $ac_cv_lib_complib_sgimath_zfft3d = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi if test "${ac_cv_header_fft_h+set}" = set; then echo "$as_me:$LINENO: checking for fft.h" >&5 echo $ECHO_N "checking for fft.h... $ECHO_C" >&6 if test "${ac_cv_header_fft_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fft_h" >&5 echo "${ECHO_T}$ac_cv_header_fft_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fft.h usability" >&5 echo $ECHO_N "checking fft.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fft.h presence" >&5 echo $ECHO_N "checking fft.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fft.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fft.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fft.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fft.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: fft.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fft.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fft.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fft.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fft.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fft.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for fft.h" >&5 echo $ECHO_N "checking for fft.h... $ECHO_C" >&6 if test "${ac_cv_header_fft_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fft_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fft_h" >&5 echo "${ECHO_T}$ac_cv_header_fft_h" >&6 fi if test $ac_cv_header_fft_h = yes; then : else have_fft_sgi=false fi # # FFT AIX/IBM # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_fft_essl=true FFT_ESSL_LIBS="-lessl" FFT_ESSL_CFLAGS="-DHAVE_FFT_ESSL -DHAVE_FFT" echo "$as_me:$LINENO: checking for dcft in -lessl" >&5 echo $ECHO_N "checking for dcft in -lessl... $ECHO_C" >&6 if test "${ac_cv_lib_essl_dcft+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lessl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dcft (); int main () { dcft (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_essl_dcft=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_essl_dcft=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_essl_dcft" >&5 echo "${ECHO_T}$ac_cv_lib_essl_dcft" >&6 if test $ac_cv_lib_essl_dcft = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBESSL 1 _ACEOF LIBS="-lessl $LIBS" else have_fft_essl=false fi if test "${ac_cv_header_essl_h+set}" = set; then echo "$as_me:$LINENO: checking for essl.h" >&5 echo $ECHO_N "checking for essl.h... $ECHO_C" >&6 if test "${ac_cv_header_essl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_essl_h" >&5 echo "${ECHO_T}$ac_cv_header_essl_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking essl.h usability" >&5 echo $ECHO_N "checking essl.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking essl.h presence" >&5 echo $ECHO_N "checking essl.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: essl.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: essl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: essl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: essl.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: essl.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: essl.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: essl.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: essl.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: essl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: essl.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for essl.h" >&5 echo $ECHO_N "checking for essl.h... $ECHO_C" >&6 if test "${ac_cv_header_essl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_essl_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_essl_h" >&5 echo "${ECHO_T}$ac_cv_header_essl_h" >&6 fi if test $ac_cv_header_essl_h = yes; then : else have_fft_essl=false fi # # FFTW2 MPI # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw2mpi=false if test x"$with_fftw2mpi" != x; then FFTW2_MPI_INCLUDE="$with_fftw2mpi/include" FFTW2_MPI_LIB="$with_fftw2mpi/lib" FFTW2_MPI_ROOT="$with_fftw2mpi" require_fftw2mpi=true fi FFT_FFTW2_MPI_LIBS="-L$FFTW2_MPI_LIB -lfftw_mpi -lfftw" FFT_FFTW2_MPI_CFLAGS="-DHAVE_FFT_FFTW2_MPI -DHAVE_FFT -I$FFTW2_MPI_INCLUDE" LIBS="$FFT_FFTW2_MPI_LIBS" CFLAGS="$CFLAGS $FFT_FFTW2_MPI_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW2_MPI_CFLAGS" have_fft_fftw2mpi=true unset ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan unset ac_cv_lib_fftw_fftw3d_create_plan unset ac_cv_header_fftw_mpi_h unset ac_cv_header_fftw_h echo "$as_me:$LINENO: checking for fftw3d_mpi_create_plan in -lfftw_mpi" >&5 echo $ECHO_N "checking for fftw3d_mpi_create_plan in -lfftw_mpi... $ECHO_C" >&6 if test "${ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw_mpi $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw3d_mpi_create_plan (); int main () { fftw3d_mpi_create_plan (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan" >&5 echo "${ECHO_T}$ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan" >&6 if test $ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBFFTW_MPI 1 _ACEOF LIBS="-lfftw_mpi $LIBS" else have_fft_fftw2mpi=false fi echo "$as_me:$LINENO: checking for fftw3d_create_plan in -lfftw" >&5 echo $ECHO_N "checking for fftw3d_create_plan in -lfftw... $ECHO_C" >&6 if test "${ac_cv_lib_fftw_fftw3d_create_plan+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw3d_create_plan (); int main () { fftw3d_create_plan (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw_fftw3d_create_plan=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_fftw_fftw3d_create_plan=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw_fftw3d_create_plan" >&5 echo "${ECHO_T}$ac_cv_lib_fftw_fftw3d_create_plan" >&6 if test $ac_cv_lib_fftw_fftw3d_create_plan = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBFFTW 1 _ACEOF LIBS="-lfftw $LIBS" else have_fft_fftw2mpi=false fi if test "${ac_cv_header_fftw_mpi_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw_mpi.h" >&5 echo $ECHO_N "checking for fftw_mpi.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_mpi_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_mpi_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_mpi_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw_mpi.h usability" >&5 echo $ECHO_N "checking fftw_mpi.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw_mpi.h presence" >&5 echo $ECHO_N "checking fftw_mpi.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw_mpi.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw_mpi.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw_mpi.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for fftw_mpi.h" >&5 echo $ECHO_N "checking for fftw_mpi.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_mpi_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw_mpi_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_mpi_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_mpi_h" >&6 fi if test $ac_cv_header_fftw_mpi_h = yes; then : else have_fft_fftw2mpi=false fi if test "${ac_cv_header_fftw_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw.h usability" >&5 echo $ECHO_N "checking fftw.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw.h presence" >&5 echo $ECHO_N "checking fftw.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 fi if test $ac_cv_header_fftw_h = yes; then : else have_fft_fftw2mpi=false fi # # FFTW3 # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw3=false if test x"$with_fftw3" != x; then FFTW3_INCLUDE="$with_fftw3/include" FFTW3_LIB="$with_fftw3/lib" FFTW3_ROOT="$with_fftw3" require_fftw3=true fi FFT_FFTW3_LIBS="-L$FFTW3_LIB -lfftw3" FFT_FFTW3_CFLAGS="-DHAVE_FFT_FFTW3 -DHAVE_FFT -I$FFTW3_INCLUDE" LIBS="$FFT_FFTW3_LIBS" CFLAGS="$CFLAGS $FFT_FFTW3_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW3_CFLAGS" have_fft_fftw3=true unset ac_cv_lib_fftw3_fftw_plan_dft_3d unset ac_cv_header_fftw3_h echo "$as_me:$LINENO: checking for fftw_plan_dft_3d in -lfftw3" >&5 echo $ECHO_N "checking for fftw_plan_dft_3d in -lfftw3... $ECHO_C" >&6 if test "${ac_cv_lib_fftw3_fftw_plan_dft_3d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw3 $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw_plan_dft_3d (); int main () { fftw_plan_dft_3d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw3_fftw_plan_dft_3d=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_fftw3_fftw_plan_dft_3d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw3_fftw_plan_dft_3d" >&5 echo "${ECHO_T}$ac_cv_lib_fftw3_fftw_plan_dft_3d" >&6 if test $ac_cv_lib_fftw3_fftw_plan_dft_3d = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBFFTW3 1 _ACEOF LIBS="-lfftw3 $LIBS" else have_fft_fftw3=false fi if test "${ac_cv_header_fftw3_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw3.h" >&5 echo $ECHO_N "checking for fftw3.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw3_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw3_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw3_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw3.h usability" >&5 echo $ECHO_N "checking fftw3.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw3.h presence" >&5 echo $ECHO_N "checking fftw3.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw3.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw3.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw3.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw3.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw3.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw3.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw3.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw3.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw3.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw3.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for fftw3.h" >&5 echo $ECHO_N "checking for fftw3.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw3_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw3_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw3_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw3_h" >&6 fi if test $ac_cv_header_fftw3_h = yes; then : else have_fft_fftw3=false fi # # FFTW2 # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw2=false if test x"$with_fftw2" != x; then FFTW2_INCLUDE="$with_fftw2/include" FFTW2_LIB="$with_fftw2/lib" FFTW2_ROOT="$with_fftw2" require_fftw2=true fi FFT_FFTW2_LIBS="-L$FFTW2_LIB -lfftw" FFT_FFTW2_CFLAGS="-DHAVE_FFT_FFTW2 -DHAVE_FFT -I$FFTW2_INCLUDE" LIBS="$FFT_FFTW2_LIBS" CFLAGS="$CFLAGS $FFT_FFTW2_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW2_CFLAGS" have_fft_fftw2=true unset ac_cv_lib_fftw_fftw3d_create_plan unset ac_cv_header_fftw_h echo "$as_me:$LINENO: checking for fftw3d_create_plan in -lfftw" >&5 echo $ECHO_N "checking for fftw3d_create_plan in -lfftw... $ECHO_C" >&6 if test "${ac_cv_lib_fftw_fftw3d_create_plan+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw3d_create_plan (); int main () { fftw3d_create_plan (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw_fftw3d_create_plan=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_fftw_fftw3d_create_plan=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw_fftw3d_create_plan" >&5 echo "${ECHO_T}$ac_cv_lib_fftw_fftw3d_create_plan" >&6 if test $ac_cv_lib_fftw_fftw3d_create_plan = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBFFTW 1 _ACEOF LIBS="-lfftw $LIBS" else have_fft_fftw2=false fi if test "${ac_cv_header_fftw_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw.h usability" >&5 echo $ECHO_N "checking fftw.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw.h presence" >&5 echo $ECHO_N "checking fftw.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 fi if test $ac_cv_header_fftw_h = yes; then : else have_fft_fftw2=false fi # echo "$as_me:$LINENO: checking FFT SGI complib.sgimath" >&5 echo $ECHO_N "checking FFT SGI complib.sgimath... $ECHO_C" >&6 if test $have_fft_sgi = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT ESSL" >&5 echo $ECHO_N "checking FFT ESSL... $ECHO_C" >&6 if test $have_fft_essl = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT FFTW3" >&5 echo $ECHO_N "checking FFT FFTW3... $ECHO_C" >&6 if test $have_fft_fftw3 = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT FFTW2" >&5 echo $ECHO_N "checking FFT FFTW2... $ECHO_C" >&6 if test $have_fft_fftw2 = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT FFTW2 MPI" >&5 echo $ECHO_N "checking FFT FFTW2 MPI... $ECHO_C" >&6 if test $have_fft_fftw2mpi = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # Now, pick the right one ... have_fft=false if (test x"$with_fft" = xsgi && test $have_fft_sgi = true) then echo "using SGI FFT complib.sgimath" FFT_LIBS=$FFT_SGI_LIBS FFT_CFLAGS=$FFT_SGI_CFLAGS have_fft=true elif (test x"$with_fft" = xessl && test $have_fft_essl = true) then echo "using FFT ESSL" FFT_LIBS=$FFT_ESSL_LIBS FFT_CFLAGS=$FFT_ESSL_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw2mpi && test $have_fft_fftw2mpi = true && $have_mpi = true) then echo "using FFTW2 MPI" FFT_LIBS=$FFT_FFTW2_MPI_LIBS FFT_CFLAGS=$FFT_FFTW2_MPI_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw3 && test $have_fft_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw2 && test $have_fft_fftw2 = true) then echo "using FFTW2" FFT_LIBS=$FFT_FFTW2_LIBS FFT_CFLAGS=$FFT_FFTW2_CFLAGS have_fft=true elif (test x"$with_fft" = xzfft) then echo "using FFT ZFFT" FFT_LIBS=$FFT_ZFFT_LIBS FFT_CFLAGS=$FFT_ZFFT_CFLAGS have_fft=true else if (test x"$with_fft" != x) then echo "Opps ... $with_fft not supported!" fi if (test $have_fft_fftw2mpi = true && test $require_fftw2mpi = true && $have_mpi = true) then echo "using FFTW2 MPI" FFT_LIBS=$FFT_FFTW2_MPI_LIBS FFT_CFLAGS=$FFT_FFTW2_MPI_CFLAGS elif (test $have_fft_fftw3 = true && test $require_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS elif (test $have_fft_sgi = true) then echo "using SGI FFT complib.sgimath" FFT_LIBS=$FFT_SGI_LIBS FFT_CFLAGS=$FFT_SGI_CFLAGS elif (test $have_fft_essl = true) then echo "using FFT ESSL" FFT_LIBS=$FFT_ESSL_LIBS FFT_CFLAGS=$FFT_ESSL_CFLAGS elif (test $have_fft_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS elif (test $have_fft_fftw2 = true) then echo "using FFTW2" FFT_LIBS=$FFT_FFTW2_LIBS FFT_CFLAGS=$FFT_FFTW2_CFLAGS else echo "using FFT ZFFT" FFT_LIBS=$FFT_ZFFT_LIBS FFT_CFLAGS=$FFT_ZFFT_CFLAGS fi fi # echo "FFT_ESSL_LIBS : $FFT_ESSL_LIBS" # echo "FFT_ESSL_CFLAGS : $FFT_ESSL_CFLAGS" # echo "FFT_FFTW3_LIBS : $FFT_FFTW3_LIBS" # echo "FFT_FFTW3_CFLAGS : $FFT_FFTW3_CFLAGS" # echo "FFT_FFTW2_LIBS : $FFT_FFTW2_LIBS" # echo "FFT_FFTW2_CFLAGS : $FFT_FFTW2_CFLAGS" # echo "FFT_LIBS : $FFT_LIBS" # echo "FFT_CFLAGS : $FFT_CFLAGS" # PNG LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_png=true PNG_LIBS="-lpng" echo "$as_me:$LINENO: checking for compress in -lz" >&5 echo $ECHO_N "checking for compress in -lz... $ECHO_C" >&6 if test "${ac_cv_lib_z_compress+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char compress (); int main () { compress (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_z_compress=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_compress=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress" >&5 echo "${ECHO_T}$ac_cv_lib_z_compress" >&6 if test $ac_cv_lib_z_compress = yes; then LIBS="$LIBS -lz" GLUT_LIBS="$GLUT_LIBS -lz" fi if test "${ac_cv_header_png_h+set}" = set; then echo "$as_me:$LINENO: checking for png.h" >&5 echo $ECHO_N "checking for png.h... $ECHO_C" >&6 if test "${ac_cv_header_png_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5 echo "${ECHO_T}$ac_cv_header_png_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking png.h usability" >&5 echo $ECHO_N "checking png.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking png.h presence" >&5 echo $ECHO_N "checking png.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: png.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: png.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: png.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: png.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: png.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: png.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for png.h" >&5 echo $ECHO_N "checking for png.h... $ECHO_C" >&6 if test "${ac_cv_header_png_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_png_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5 echo "${ECHO_T}$ac_cv_header_png_h" >&6 fi if test $ac_cv_header_png_h = yes; then : else have_png=false PNG_LIBS="" fi echo "$as_me:$LINENO: checking for png_create_write_struct in -lpng" >&5 echo $ECHO_N "checking for png_create_write_struct in -lpng... $ECHO_C" >&6 if test "${ac_cv_lib_png_png_create_write_struct+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpng $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char png_create_write_struct (); int main () { png_create_write_struct (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_png_png_create_write_struct=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_png_png_create_write_struct=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_png_png_create_write_struct" >&5 echo "${ECHO_T}$ac_cv_lib_png_png_create_write_struct" >&6 if test $ac_cv_lib_png_png_create_write_struct = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBPNG 1 _ACEOF LIBS="-lpng $LIBS" else have_png=false PNG_LIBS="" fi if (test "$PNG_LIBS" != "") then echo "using PNG... yes" else echo "using PNG... no" fi # X11 LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_x11=true #X_CFLAGS="-I/usr/X11R6/include" #X_LIBS="-L/usr/X11R6/lib -lXm -lXt -lXext -lX11" LIBS="$X_LIBS $LIBS -lGLU -lGL -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi -lXext -lX11" CFLAGS="$CFLAGS $X_CFLAGS" echo "$as_me:$LINENO: checking for pthread_cancel in -lpthread" >&5 echo $ECHO_N "checking for pthread_cancel in -lpthread... $ECHO_C" >&6 if test "${ac_cv_lib_pthread_pthread_cancel+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char pthread_cancel (); int main () { pthread_cancel (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_pthread_pthread_cancel=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_pthread_pthread_cancel=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_cancel" >&5 echo "${ECHO_T}$ac_cv_lib_pthread_pthread_cancel" >&6 if test $ac_cv_lib_pthread_pthread_cancel = yes; then LIBS="$LIBS -lpthread" fi echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then LIBS="$LIBS -ldl" fi #echo "$X_LIBS $X_CFLAGS" #echo "$LIBS $CFLAGS" #AC_CHECK_LIB(Xm, XmStringFree, ,[have_x11=false]) echo "$as_me:$LINENO: checking for XmuAllStandardColormaps in -lXmu" >&5 echo $ECHO_N "checking for XmuAllStandardColormaps in -lXmu... $ECHO_C" >&6 if test "${ac_cv_lib_Xmu_XmuAllStandardColormaps_+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXmu $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XmuAllStandardColormaps (); int main () { XmuAllStandardColormaps (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xmu_XmuAllStandardColormaps_=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_Xmu_XmuAllStandardColormaps_=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xmu_XmuAllStandardColormaps_" >&5 echo "${ECHO_T}$ac_cv_lib_Xmu_XmuAllStandardColormaps_" >&6 if test $ac_cv_lib_Xmu_XmuAllStandardColormaps_ = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBXMU 1 _ACEOF LIBS="-lXmu $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XtAppInitialize in -lXt" >&5 echo $ECHO_N "checking for XtAppInitialize in -lXt... $ECHO_C" >&6 if test "${ac_cv_lib_Xt_XtAppInitialize+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXt $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XtAppInitialize (); int main () { XtAppInitialize (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xt_XtAppInitialize=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_Xt_XtAppInitialize=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xt_XtAppInitialize" >&5 echo "${ECHO_T}$ac_cv_lib_Xt_XtAppInitialize" >&6 if test $ac_cv_lib_Xt_XtAppInitialize = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBXT 1 _ACEOF LIBS="-lXt $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for SmcOpenConnection in -lSM" >&5 echo $ECHO_N "checking for SmcOpenConnection in -lSM... $ECHO_C" >&6 if test "${ac_cv_lib_SM_SmcOpenConnection+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lSM $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char SmcOpenConnection (); int main () { SmcOpenConnection (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_SM_SmcOpenConnection=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_SM_SmcOpenConnection=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_SM_SmcOpenConnection" >&5 echo "${ECHO_T}$ac_cv_lib_SM_SmcOpenConnection" >&6 if test $ac_cv_lib_SM_SmcOpenConnection = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBSM 1 _ACEOF LIBS="-lSM $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for IceAcceptConnection in -lICE" >&5 echo $ECHO_N "checking for IceAcceptConnection in -lICE... $ECHO_C" >&6 if test "${ac_cv_lib_ICE_IceAcceptConnection+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char IceAcceptConnection (); int main () { IceAcceptConnection (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ICE_IceAcceptConnection=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_ICE_IceAcceptConnection=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceAcceptConnection" >&5 echo "${ECHO_T}$ac_cv_lib_ICE_IceAcceptConnection" >&6 if test $ac_cv_lib_ICE_IceAcceptConnection = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBICE 1 _ACEOF LIBS="-lICE $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XextCreateExtension in -lXext" >&5 echo $ECHO_N "checking for XextCreateExtension in -lXext... $ECHO_C" >&6 if test "${ac_cv_lib_Xext_XextCreateExtension+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXext $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XextCreateExtension (); int main () { XextCreateExtension (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xext_XextCreateExtension=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_Xext_XextCreateExtension=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XextCreateExtension" >&5 echo "${ECHO_T}$ac_cv_lib_Xext_XextCreateExtension" >&6 if test $ac_cv_lib_Xext_XextCreateExtension = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBXEXT 1 _ACEOF LIBS="-lXext $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XOpenDisplay in -lX11" >&5 echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6 if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lX11 $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XOpenDisplay (); int main () { XOpenDisplay (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_X11_XOpenDisplay=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_X11_XOpenDisplay=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XOpenDisplay" >&5 echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6 if test $ac_cv_lib_X11_XOpenDisplay = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBX11 1 _ACEOF LIBS="-lX11 $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XOpenDevice in -lXi" >&5 echo $ECHO_N "checking for XOpenDevice in -lXi... $ECHO_C" >&6 if test "${ac_cv_lib_Xi_XOpenDevice+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXi $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XOpenDevice (); int main () { XOpenDevice (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xi_XOpenDevice=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_Xi_XOpenDevice=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xi_XOpenDevice" >&5 echo "${ECHO_T}$ac_cv_lib_Xi_XOpenDevice" >&6 if test $ac_cv_lib_Xi_XOpenDevice = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBXI 1 _ACEOF LIBS="-lXi $LIBS" else have_x11=false fi # GLUT LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_glut=true require_glut=false if test "$with_glut" != ""; then if (test "$with_glut" != false && test "$with_glut" != no) then require_glut=true fi if (test "$with_glut" != yes && test "$with_glut" != true && test "$with_glut" != false && test "$with_glut" != no) then GLUT_ROOT="$with_glut" GLUT_LIBS="-L$GLUT_ROOT/lib -L$GLUT_ROOT/lib/glut" GLUT_CFLAGS="-I$GLUT_ROOT/include -I$GLUT_ROOT/include/GL" fi fi GLUT_LIBS="$GLUT_LIBS $X_LIBS -lglut -lGLU -lGL -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi -lXext -lX11" GLUT_CFLAGS="$GLUT_CFLAGS $X_CFLAGS" LIBS=$GLUT_LIBS CPPFLAGS="$CPPFLAGS $GLUT_CFLAGS" echo "$as_me:$LINENO: checking for pthread_cancel in -lpthread" >&5 echo $ECHO_N "checking for pthread_cancel in -lpthread... $ECHO_C" >&6 if test "${ac_cv_lib_pthread_pthread_cancel+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char pthread_cancel (); int main () { pthread_cancel (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_pthread_pthread_cancel=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_pthread_pthread_cancel=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_cancel" >&5 echo "${ECHO_T}$ac_cv_lib_pthread_pthread_cancel" >&6 if test $ac_cv_lib_pthread_pthread_cancel = yes; then GLUT_LIBS="$GLUT_LIBS -lpthread" LIBS="$LIBS -lpthread" fi echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then GLUT_LIBS="$GLUT_LIBS -ldl" LIBS="$LIBS -ldl" fi echo "$as_me:$LINENO: checking for glClear in -lGL" >&5 echo $ECHO_N "checking for glClear in -lGL... $ECHO_C" >&6 if test "${ac_cv_lib_GL_glClear+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGL $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char glClear (); int main () { glClear (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_GL_glClear=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_GL_glClear=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_GL_glClear" >&5 echo "${ECHO_T}$ac_cv_lib_GL_glClear" >&6 if test $ac_cv_lib_GL_glClear = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBGL 1 _ACEOF LIBS="-lGL $LIBS" else have_glut=false fi echo "$as_me:$LINENO: checking for gluLookAt in -lGLU" >&5 echo $ECHO_N "checking for gluLookAt in -lGLU... $ECHO_C" >&6 if test "${ac_cv_lib_GLU_gluLookAt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGLU $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gluLookAt (); int main () { gluLookAt (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_GLU_gluLookAt=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_GLU_gluLookAt=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_GLU_gluLookAt" >&5 echo "${ECHO_T}$ac_cv_lib_GLU_gluLookAt" >&6 if test $ac_cv_lib_GLU_gluLookAt = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBGLU 1 _ACEOF LIBS="-lGLU $LIBS" else have_glut=false fi echo "$as_me:$LINENO: checking for glutMainLoop in -lglut" >&5 echo $ECHO_N "checking for glutMainLoop in -lglut... $ECHO_C" >&6 if test "${ac_cv_lib_glut_glutMainLoop+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lglut $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char glutMainLoop (); int main () { glutMainLoop (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_glut_glutMainLoop=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_glut_glutMainLoop=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_glut_glutMainLoop" >&5 echo "${ECHO_T}$ac_cv_lib_glut_glutMainLoop" >&6 if test $ac_cv_lib_glut_glutMainLoop = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBGLUT 1 _ACEOF LIBS="-lglut $LIBS" else have_glut=false fi if test "${ac_cv_header_GL_glut_h+set}" = set; then echo "$as_me:$LINENO: checking for GL/glut.h" >&5 echo $ECHO_N "checking for GL/glut.h... $ECHO_C" >&6 if test "${ac_cv_header_GL_glut_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_GL_glut_h" >&5 echo "${ECHO_T}$ac_cv_header_GL_glut_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking GL/glut.h usability" >&5 echo $ECHO_N "checking GL/glut.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking GL/glut.h presence" >&5 echo $ECHO_N "checking GL/glut.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: GL/glut.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: GL/glut.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: GL/glut.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: GL/glut.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: GL/glut.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: GL/glut.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX @%:@@%:@ ------------------------------------ @%:@@%:@ @%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ @%:@@%:@ ------------------------------------ @%:@@%:@ _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for GL/glut.h" >&5 echo $ECHO_N "checking for GL/glut.h... $ECHO_C" >&6 if test "${ac_cv_header_GL_glut_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_GL_glut_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_GL_glut_h" >&5 echo "${ECHO_T}$ac_cv_header_GL_glut_h" >&6 fi if test $ac_cv_header_GL_glut_h = yes; then : else have_glut=false fi echo "$as_me:$LINENO: checking for jpeg_CreateDecompress in -ljpeg" >&5 echo $ECHO_N "checking for jpeg_CreateDecompress in -ljpeg... $ECHO_C" >&6 if test "${ac_cv_lib_jpeg_jpeg_CreateDecompress+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ljpeg $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char jpeg_CreateDecompress (); int main () { jpeg_CreateDecompress (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_jpeg_jpeg_CreateDecompress=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_jpeg_jpeg_CreateDecompress=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_CreateDecompress" >&5 echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_CreateDecompress" >&6 if test $ac_cv_lib_jpeg_jpeg_CreateDecompress = yes; then GLUT_LIBS="$GLUT_LIBS -ljpeg" fi echo "$as_me:$LINENO: checking for TIFFSetErrorHandler in -ltiff" >&5 echo $ECHO_N "checking for TIFFSetErrorHandler in -ltiff... $ECHO_C" >&6 if test "${ac_cv_lib_tiff_TIFFSetErrorHandler+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ltiff $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char TIFFSetErrorHandler (); int main () { TIFFSetErrorHandler (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_tiff_TIFFSetErrorHandler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_tiff_TIFFSetErrorHandler=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_tiff_TIFFSetErrorHandler" >&5 echo "${ECHO_T}$ac_cv_lib_tiff_TIFFSetErrorHandler" >&6 if test $ac_cv_lib_tiff_TIFFSetErrorHandler = yes; then GLUT_LIBS="$GLUT_LIBS -ltiff" fi echo "$as_me:$LINENO: checking found GLUT" >&5 echo $ECHO_N "checking found GLUT... $ECHO_C" >&6 if test $have_glut = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi if (test $require_glut = true) then if (test $have_glut = false) then { { echo "$as_me:$LINENO: error: Required library GLUT not found!" >&5 echo "$as_me: error: Required library GLUT not found!" >&2;} { (exit 1); exit 1; }; } elif (test $have_png = false) then { { echo "$as_me:$LINENO: error: GLUT GUI cannot be built. Missing PNG library!!!" >&5 echo "$as_me: error: GLUT GUI cannot be built. Missing PNG library!!!" >&2;} { (exit 1); exit 1; }; } elif (test $have_x11 = false) then { { echo "$as_me:$LINENO: error: GLUT GUI cannot be built. Missing X11 library!!!" >&5 echo "$as_me: error: GLUT GUI cannot be built. Missing X11 library!!!" >&2;} { (exit 1); exit 1; }; } else GLUT_CFLAGS="-DHAVE_GLUT $GLUT_CFLAGS" fi else GLUT_CFLAGS="" GLUT_LIBS="" X_LIBS="" X_CFLAGS="" #PNG_LIBS="" fi if (test "$GLUT_LIBS" != "") then echo "using GLUT... yes" else echo "using GLUT... no" fi #echo "GLUT: $GLUT_CFLAGS $GLUT_LIBS" # # Check to see if the user wants our preset Sun g++ flags and the g++ compiler # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags CXXFLAGS=$save_cxxflags #AC_SUBST(CFLAGS) #AC_SUBST(LIBS) compiler_version=`($CXX -V;$CXX -v) 2>&1 | perl ./compilerVersion.pl` cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_COMPILER "$CXX $CXXFLAGS" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_COMPILER_VERSION "$compiler_version" _ACEOF #Default AR #Early versions of automake AR1="ar" #Late versions of automake AR2="ar cru" # #Change the AR flag to CC -ar -o if we are using MIPSpro #in debug or production mode. # if(test "$WANT_IRIX_MIPSPRO_MPI_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_DEBUG_FLAGS" = 1) then AR1="../mipscc_ar" AR2="$(CXX) -ar -o" fi CLEANFILES="-r *~" # # Check for "makedepend". Not everyone has this. # #AC_CHECK_PROGS(MAKEDEPEND, makedepend, no) # # Fix for ar # # ac_config_files="$ac_config_files Makefile framework/Makefile framework/base/Makefile framework/io/Makefile framework/parallel/Makefile framework/topology/Makefile framework/forces/Makefile framework/imd/Makefile framework/integrators/Makefile framework/frontend/Makefile framework/factories/Makefile applications/Makefile applications/protomol-app/Makefile applications/coulomb-app/Makefile applications/dcd2dcd-app/Makefile applications/iSGProtomol-app/Makefile applications/iSGProtomol-app/base/Makefile applications/iSGProtomol-app/io/Makefile applications/iSGProtomol-app/frontend/Makefile applications/iSGProtomol-app/forces/Makefile applications/iSGProtomol-app/factories/Makefile applications/iSGProtomol-app/integrators/Makefile applications/coords2coords-app/Makefile applications/xyzviz-app/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. { (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | sed ' t clear : clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; }' fi DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' done LIB@&t@OBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX @%:@@%:@ Running $as_me. @%:@@%:@ _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by protomol $as_me 2.0.3, which was generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 _ACEOF # Files that config.status was made for. if test -n "$ac_config_files"; then echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS fi if test -n "$ac_config_headers"; then echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS fi if test -n "$ac_config_links"; then echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS fi if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ protomol config.status 2.0.3 configured by $0, generated by GNU Autoconf 2.57, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir INSTALL="$INSTALL" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ac_shift=: ;; -*) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; *) # This is not an option, so the user has probably given explicit # arguments. ac_option=$1 ac_need_defaults=false;; esac case $ac_option in # Handling of the options. _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS section. # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "framework/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/Makefile" ;; "framework/base/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/base/Makefile" ;; "framework/io/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/io/Makefile" ;; "framework/parallel/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/parallel/Makefile" ;; "framework/topology/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/topology/Makefile" ;; "framework/forces/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/forces/Makefile" ;; "framework/imd/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/imd/Makefile" ;; "framework/integrators/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/integrators/Makefile" ;; "framework/frontend/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/frontend/Makefile" ;; "framework/factories/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/factories/Makefile" ;; "applications/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/Makefile" ;; "applications/protomol-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/protomol-app/Makefile" ;; "applications/coulomb-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/coulomb-app/Makefile" ;; "applications/dcd2dcd-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/dcd2dcd-app/Makefile" ;; "applications/iSGProtomol-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/Makefile" ;; "applications/iSGProtomol-app/base/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/base/Makefile" ;; "applications/iSGProtomol-app/io/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/io/Makefile" ;; "applications/iSGProtomol-app/frontend/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/frontend/Makefile" ;; "applications/iSGProtomol-app/forces/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/forces/Makefile" ;; "applications/iSGProtomol-app/factories/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/factories/Makefile" ;; "applications/iSGProtomol-app/integrators/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/integrators/Makefile" ;; "applications/coords2coords-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/coords2coords-app/Makefile" ;; "applications/xyzviz-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/xyzviz-app/Makefile" ;; "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "protomol_config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS protomol_config.h" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "\$CONFIG_FILES"; then # Protect against being on the right side of a sed subst in config.status. sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF s,@SHELL@,$SHELL,;t t s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t s,@bindir@,$bindir,;t t s,@sbindir@,$sbindir,;t t s,@libexecdir@,$libexecdir,;t t s,@datadir@,$datadir,;t t s,@sysconfdir@,$sysconfdir,;t t s,@sharedstatedir@,$sharedstatedir,;t t s,@localstatedir@,$localstatedir,;t t s,@libdir@,$libdir,;t t s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t s,@DEFS@,$DEFS,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@LIBS@,$LIBS,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t s,@PACKAGE@,$PACKAGE,;t t s,@VERSION@,$VERSION,;t t s,@ACLOCAL@,$ACLOCAL,;t t s,@AUTOCONF@,$AUTOCONF,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t s,@MAKEINFO@,$MAKEINFO,;t t s,@AMTAR@,$AMTAR,;t t s,@install_sh@,$install_sh,;t t s,@STRIP@,$STRIP,;t t s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t s,@PROTOMOL_MAJOR_VERSION@,$PROTOMOL_MAJOR_VERSION,;t t s,@PROTOMOL_MINOR_VERSION@,$PROTOMOL_MINOR_VERSION,;t t s,@PROTOMOL_PATCH_LEVEL@,$PROTOMOL_PATCH_LEVEL,;t t s,@LT_RELEASE@,$LT_RELEASE,;t t s,@LT_CURRENT@,$LT_CURRENT,;t t s,@LT_REVISION@,$LT_REVISION,;t t s,@LT_AGE@,$LT_AGE,;t t s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@EXEEXT@,$EXEEXT,;t t s,@OBJEXT@,$OBJEXT,;t t s,@DEPDIR@,$DEPDIR,;t t s,@am__include@,$am__include,;t t s,@am__quote@,$am__quote,;t t s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t s,@CXXDEPMODE@,$CXXDEPMODE,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t s,@CCDEPMODE@,$CCDEPMODE,;t t s,@DEPFLAGS@,$DEPFLAGS,;t t s,@CXXCPP@,$CXXCPP,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t s,@X_CFLAGS@,$X_CFLAGS,;t t s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t s,@X_LIBS@,$X_LIBS,;t t s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t s,@SOCKET_LIBS@,$SOCKET_LIBS,;t t s,@EGREP@,$EGREP,;t t s,@FFT_LIBS@,$FFT_LIBS,;t t s,@FFT_CFLAGS@,$FFT_CFLAGS,;t t s,@PNG_LIBS@,$PNG_LIBS,;t t s,@GLUT_LIBS@,$GLUT_LIBS,;t t s,@GLUT_CFLAGS@,$GLUT_CFLAGS,;t t s,@CLEANFILES@,$CLEANFILES,;t t s,@AR1@,$AR1,;t t s,@AR2@,$AR2,;t t s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac if test x"$ac_file" != x-; then { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then configure_input= else configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t s,@builddir@,$ac_builddir,;t t s,@abs_builddir@,$ac_abs_builddir,;t t s,@top_builddir@,$ac_top_builddir,;t t s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_HEADER section. # # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. sed 's/[ ]*$//' $ac_file_inputs >$tmp/in _ACEOF # Transform confdefs.h into two sed scripts, `conftest.defines' and # `conftest.undefs', that substitutes the proper values into # config.h.in to produce config.h. The first handles `#define' # templates, and the second `#undef' templates. # And first: Protect against being on the right side of a sed subst in # config.status. Protect against being in an unquoted here document # in config.status. rm -f conftest.defines conftest.undefs # Using a here document instead of a string reduces the quoting nightmare. # Putting comments in sed scripts is not portable. # # `end' is used to avoid that the second main sed command (meant for # 0-ary CPP macros) applies to n-ary macro definitions. # See the Autoconf documentation for `clear'. cat >confdef2sed.sed <<\_ACEOF s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end _ACEOF # If some macros were called several times there might be several times # the same #defines, which is useless. Nevertheless, we may not want to # sort them, since we want the *last* AC-DEFINE to be honored. uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs rm -f confdef2sed.sed # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >>conftest.undefs <<\_ACEOF s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, _ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.defines >/dev/null do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/defines.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines echo ' fi # grep' >>$CONFIG_STATUS echo >>$CONFIG_STATUS # Break up conftest.undefs because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #undef templates' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.undefs >/dev/null do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/undefs.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail rm -f conftest.undefs mv conftest.tail conftest.undefs done rm -f conftest.undefs cat >>$CONFIG_STATUS <<\_ACEOF # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then echo "/* Generated by configure. */" >$tmp/config.h else echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then if diff $ac_file $tmp/config.h >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } rm -f $ac_file mv $tmp/config.h $ac_file fi else cat $tmp/config.h rm -f $tmp/config.h fi # Run the commands associated with the file. case $ac_file in protomol_config.h ) # update the timestamp echo 'timestamp for protomol_config.h' >"./stamp-h1" ;; esac done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_COMMANDS section. # for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_dir=`(dirname "$ac_dest") 2>/dev/null || $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_dest" : 'X\(//\)[^/]' \| \ X"$ac_dest" : 'X\(//\)$' \| \ X"$ac_dest" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_dest" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # So let's grep whole file. if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`(dirname "$mf") 2>/dev/null || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` else continue fi grep '^DEP_FILES *= *[^ @%:@]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` test -z "$DEPDIR" && continue # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n -e '/^U = / s///p' < "$mf"` test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # We invoke sed twice because it is the simplest approach to # changing $(DEPDIR) to its actual value in the expansion. for file in `sed -n -e ' /^DEP_FILES = .*\\\\$/ { s/^DEP_FILES = // :loop s/\\\\$// p n /\\\\$/ b loop p } /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`(dirname "$file") 2>/dev/null || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p $dirpart/$fdir else as_dir=$dirpart/$fdir as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi echo "" echo "CC : $CC" echo "CFLAGS : $CFLAGS" echo "CXXFLAGS : $CXXFLAGS" echo "CXX : $CXX" echo "CXXCPP : $CXXCPP" echo "LIBS : $LIBS" echo "CPP : $CPP" echo "CPPFLAGS : $CPPFLAGS" echo "" echo "make clean; make" protomol/autom4te.cache/output.10100644027616700000500000202120310237151525016241 0ustar pbrenne1dip@%:@! /bin/sh @%:@ Guess values for system-dependent variables and create Makefiles. @%:@ Generated by GNU Autoconf 2.53 for protomol 2.0.3. @%:@ @%:@ Report bugs to . @%:@ @%:@ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 @%:@ Free Software Foundation, Inc. @%:@ This configure script is free software; the Free Software Foundation @%:@ gives unlimited permission to copy, distribute and modify it. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # NLS nuisances. # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi (set +x; test -n "`(LANG=C; export LANG) 2>&1`") && { $as_unset LANG || test "${LANG+set}" != set; } || { LANG=C; export LANG; } (set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") && { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } || { LC_ALL=C; export LC_ALL; } (set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") && { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } || { LC_TIME=C; export LC_TIME; } (set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") && { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } || { LC_CTYPE=C; export LC_CTYPE; } (set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") && { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } || { LANGUAGE=C; export LANGUAGE; } (set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") && { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } || { LC_COLLATE=C; export LC_COLLATE; } (set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") && { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } || { LC_NUMERIC=C; export LC_NUMERIC; } (set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") && { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } || { LC_MESSAGES=C; export LC_MESSAGES; } # Name of the executable. as_me=`(basename "$0") 2>/dev/null || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conftest.sh echo "exit 0" >>conftest.sh chmod +x conftest.sh if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conftest.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; } # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` exec 6>&1 # # Initializations. # ac_default_prefix=/usr/local cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. # This variable seems obsolete. It should probably be removed, and # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME='protomol' PACKAGE_TARNAME='protomol' PACKAGE_VERSION='2.0.3' PACKAGE_STRING='protomol 2.0.3' PACKAGE_BUGREPORT='protomol@cse.nd.edu' # Factoring default headers for most tests. ac_includes_default="\ #include #if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_STAT_H # include #endif #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif #if HAVE_STRINGS_H # include #endif #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif #if HAVE_UNISTD_H # include #endif" # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/-/_/g'` eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute paths. for ac_var in exec_prefix prefix do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias ac_cv_env_build_alias_set=${build_alias+set} ac_cv_env_build_alias_value=$build_alias ac_env_host_alias_set=${host_alias+set} ac_env_host_alias_value=$host_alias ac_cv_env_host_alias_set=${host_alias+set} ac_cv_env_host_alias_value=$host_alias ac_env_target_alias_set=${target_alias+set} ac_env_target_alias_value=$target_alias ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias ac_env_CXX_set=${CXX+set} ac_env_CXX_value=$CXX ac_cv_env_CXX_set=${CXX+set} ac_cv_env_CXX_value=$CXX ac_env_CXXFLAGS_set=${CXXFLAGS+set} ac_env_CXXFLAGS_value=$CXXFLAGS ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} ac_cv_env_CXXFLAGS_value=$CXXFLAGS ac_env_LDFLAGS_set=${LDFLAGS+set} ac_env_LDFLAGS_value=$LDFLAGS ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ac_cv_env_LDFLAGS_value=$LDFLAGS ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS ac_env_CC_set=${CC+set} ac_env_CC_value=$CC ac_cv_env_CC_set=${CC+set} ac_cv_env_CC_value=$CC ac_env_CFLAGS_set=${CFLAGS+set} ac_env_CFLAGS_value=$CFLAGS ac_cv_env_CFLAGS_set=${CFLAGS+set} ac_cv_env_CFLAGS_value=$CFLAGS ac_env_CXXCPP_set=${CXXCPP+set} ac_env_CXXCPP_value=$CXXCPP ac_cv_env_CXXCPP_set=${CXXCPP+set} ac_cv_env_CXXCPP_value=$CXXCPP # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures protomol 2.0.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] _ACEOF cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names X features: --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of protomol 2.0.3:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking Speeds up one-time builds --enable-dependency-tracking Do not reject slow dependency extractors Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-fft=sgi|essl|fftw3|fftw2|fft2mpi|zfft Specify the FFT --with-fftw3=DIR Specify the FFTW3 install path and enable FFTW3 --with-fftw2=DIR Specify the FFTW2 install path and enable FFTW2 --with-fftw2mpi=DIR Specify the FFTW2 MPI install path and enable FFTW2 MPI --with-glut=DIR|no|yes Specify the GLUT install path and enable GLUT --with-aix-xlc Use xlC for AIX with optimization flags --with-aix-xlc-debug Use xlC for AIX with debugging flags --with-aix-xlc-mpi Use xlC for AIX with MPI and optimization flags --with-aix-xlc-mpi-debug Use xlC for AIX with MPI and debugging flags --with-gcc Use g++ for generic with optimization flags --with-gcc-debug Use g++ for generic with debugging flags --with-gcc-debug-gdb Use g++ for generic with debugging and gdb flags --with-gcc-mpich Use g++ for generic with MPICH flags --with-gcc-mpich-debug Use g++ for generic with MPICH debug flags --with-gcc-mpich-xeon Use g++ for generic with MPICH xeon flags (for Notre Dame's HPCC cluster) --with-hpux-cc Use aCC for HPUX optimization flags --with-hpux-cc-debug Use aCC for HPUX with debugging flags --with-hpux-cc-mpi Use aCC for HPUX with MPI and optimization flags --with-hpux-cc-mpi-debug Use aCC for HPUX with MPI and debugging flags --with-icc Use icc for generic with optimization flags --with-icc-debug Use icc for generic with debugging flags --with-icc-mpich Use icc for generic with MPICH and optimization flags --with-icc-mpich-xeon Use icc for generic with MPICH and optimization flags (for Notre Dame's HPCC cluster) --with-icc-mpich-debug Use icc for generic with MPICH and debugging flags --with-irix-mipspro Use CC for IRIX with optimization flags --with-irix-mipspro-debug Use CC for IRIX with debugging flags --with-irix-mipspro-mpi Use CC for IRIX with MPI and optimization flags --with-irix-mipspro-mpi-debug Use CC for IRIX with MPI and debugging flags --with-ppc-xlc Use xlC for PPC with optimization flags --with-pcc-xlc-debug Use xlC for PPC with debugging flags --with-sun-gcc Use g++ for SUN with optimization flags --with-x use the X Window System Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CC C compiler command CFLAGS C compiler flags CXXCPP C++ preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d $ac_dir || continue ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. if test -f $ac_srcdir/configure.gnu; then echo $SHELL $ac_srcdir/configure.gnu --help=recursive elif test -f $ac_srcdir/configure; then echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || test -f $ac_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd $ac_popdir done fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF protomol configure 2.0.3 generated by GNU Autoconf 2.53 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit 0 fi exec 5>config.log cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by protomol $as_me 2.0.3, which was generated by GNU Autoconf 2.53. Invocation command line was $ $0 $@ _ACEOF { cat <<_ASUNAME @%:@@%:@ --------- @%:@@%:@ @%:@@%:@ Platform. @%:@@%:@ @%:@@%:@ --------- @%:@@%:@ hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` hostinfo = `(hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done } >&5 cat >&5 <<_ACEOF @%:@@%:@ ----------- @%:@@%:@ @%:@@%:@ Core tests. @%:@@%:@ @%:@@%:@ ----------- @%:@@%:@ _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Also quote any args containing shell meta-characters. ac_configure_args= ac_sep= for ac_arg do case $ac_arg in -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n ) continue ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) continue ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" ac_sep=" " ;; esac # Get rid of the leading space. done # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Be sure not to use single quotes in there, as some shells, # such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX @%:@@%:@ ---------------- @%:@@%:@ @%:@@%:@ Cache variables. @%:@@%:@ @%:@@%:@ ---------------- @%:@@%:@ _ASBOX echo # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } echo if test -s confdefs.h; then cat <<\_ASBOX @%:@@%:@ ----------- @%:@@%:@ @%:@@%:@ confdefs.h. @%:@@%:@ @%:@@%:@ ----------- @%:@@%:@ _ASBOX echo sed "/^$/d" confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core core.* *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; *) . ./$cache_file;; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # 2.13 cp configure.ac configure.in #AC_INIT(README) #AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT,"protomol@cse.nd.edu",[Define to the address where bug reports for this package should be sent.]) #AC_DEFINE_UNQUOTED(PACKAGE_NAME,"protomol",[Define to the full name of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_STRING,"protomol 2.0.3",[Define to the full name and version of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_TARNAME,"protomol",[Define to the one symbol short name of this package.]) #AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"2.0.3",[Define to the version of this package.]) #AC_CONFIG_AUX_DIR(./config) #AC_CANONICAL_TARGET # Avoid generating makefile rules to rebuild maintainer-only files by # default. Maintainers may override this default and generate these # makefile rules using the `--enable-maintainer-mode' configure option. #AM_MAINTAINER_MODE # Major Framework release number PROTOMOL_MAJOR_VERSION=2 # Minor Framework release number PROTOMOL_MINOR_VERSION=0 # Increment after every source code change PROTOMOL_PATCH_LEVEL=3 # Combined version number VERSION=$PROTOMOL_MAJOR_VERSION.$PROTOMOL_MINOR_VERSION.$PROTOMOL_PATCH_LEVEL am__api_version="1.6" ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f $ac_dir/shtool; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi ac_config_guess="$SHELL $ac_aux_dir/config.guess" ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 test "$program_prefix" != NONE && program_transform_name="s,^,$program_prefix,;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s,\$,$program_suffix,;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$AWK" && break done echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \${MAKE}" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF all: @echo 'ac_maketemp="${MAKE}"' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then eval ac_cv_prog_make_${ac_make}_set=yes else eval ac_cv_prog_make_${ac_make}_set=no fi rm -f conftest.make fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi # Define the identity of the package. PACKAGE=protomol VERSION=$VERSION cat >>confdefs.h <<_ACEOF @%:@define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} AMTAR=${AMTAR-"${am_missing_run}tar"} install_sh=${install_sh-"$am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi STRIP=$ac_ct_STRIP else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Add the stamp file to the list of files AC keeps track of, # along with our hook. ac_config_headers="$ac_config_headers protomol_config.h" # Report what was found echo "$as_me:$LINENO: checking major version" >&5 echo $ECHO_N "checking major version... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $PROTOMOL_MAJOR_VERSION" >&5 echo "${ECHO_T}$PROTOMOL_MAJOR_VERSION" >&6 echo "$as_me:$LINENO: checking minor version" >&5 echo $ECHO_N "checking minor version... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $PROTOMOL_MINOR_VERSION" >&5 echo "${ECHO_T}$PROTOMOL_MINOR_VERSION" >&6 echo "$as_me:$LINENO: checking patchlevel" >&5 echo $ECHO_N "checking patchlevel... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $PROTOMOL_PATCH_LEVEL" >&5 echo "${ECHO_T}$PROTOMOL_PATCH_LEVEL" >&6 # Calculate libtool versioning information LT_RELEASE=$PROTOMOL_MAJOR_VERSION.$PROTOMOL_MINOR_VERSION LT_CURRENT=$PROTOMOL_INTERFACE_VERSION LT_REVISION=0 #`expr $PROTOMOL_PATCH_LEVEL - $PROTOMOL_INTERFACE_VERSION` LT_AGE=0 #`expr $PROTOMOL_INTERFACE_VERSION - $PROTOMOL_BINARY_VERSION` # # Defines # cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_HOMEPAGE "http://protomol.sourceforge.net" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_CITE "Please cite T. Matthey, T. Cickovski, S. S. Hampton, A. Ko, Q. Ma, M. Nyerges, T. Raeder,\nT. Slabach, and J. A. Izaguirre. ProtoMol: An object-oriented framework for prototyping\nnovel algorithms for molecular dynamics. ACM Trans. Math. Softw., 30(3):237­265, 2004." _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_UNAME "`uname -a`" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_WHOAMI "`whoami`" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_BUGREPORT "protomol@cse.nd.edu" _ACEOF # # Compiler # use_preset=0 # Check whether --with-fft or --without-fft was given. if test "${with_fft+set}" = set; then withval="$with_fft" fi; # Check whether --with-fftw3 or --without-fftw3 was given. if test "${with_fftw3+set}" = set; then withval="$with_fftw3" fi; # Check whether --with-fftw2 or --without-fftw2 was given. if test "${with_fftw2+set}" = set; then withval="$with_fftw2" fi; # Check whether --with-fftw2mpi or --without-fftw2mpi was given. if test "${with_fftw2mpi+set}" = set; then withval="$with_fftw2mpi" fi; # Check whether --with-glut or --without-glut was given. if test "${with_glut+set}" = set; then withval="$with_glut" fi; # Check whether --with-aix_xlc or --without-aix_xlc was given. if test "${with_aix_xlc+set}" = set; then withval="$with_aix_xlc" use_preset=1 fi; # Check whether --with-aix_xlc_debug or --without-aix_xlc_debug was given. if test "${with_aix_xlc_debug+set}" = set; then withval="$with_aix_xlc_debug" use_preset=1 fi; # Check whether --with-aix_xlc_mpi or --without-aix_xlc_mpi was given. if test "${with_aix_xlc_mpi+set}" = set; then withval="$with_aix_xlc_mpi" use_preset=1 fi; # Check whether --with-aix_xlc_mpi_debug or --without-aix_xlc_mpi_debug was given. if test "${with_aix_xlc_mpi_debug+set}" = set; then withval="$with_aix_xlc_mpi_debug" use_preset=1 fi; # Check whether --with-gcc or --without-gcc was given. if test "${with_gcc+set}" = set; then withval="$with_gcc" use_preset=1 fi; # Check whether --with-gcc_debug or --without-gcc_debug was given. if test "${with_gcc_debug+set}" = set; then withval="$with_gcc_debug" use_preset=1 fi; # Check whether --with-gcc_debug_gdb or --without-gcc_debug_gdb was given. if test "${with_gcc_debug_gdb+set}" = set; then withval="$with_gcc_debug_gdb" use_preset=1 fi; # Check whether --with-gcc_mpich or --without-gcc_mpich was given. if test "${with_gcc_mpich+set}" = set; then withval="$with_gcc_mpich" use_preset=1 fi; # Check whether --with-gcc_mpich_debug or --without-gcc_mpich_debug was given. if test "${with_gcc_mpich_debug+set}" = set; then withval="$with_gcc_mpich_debug" use_preset=1 fi; # Check whether --with-gcc_mpich_xeon or --without-gcc_mpich_xeon was given. if test "${with_gcc_mpich_xeon+set}" = set; then withval="$with_gcc_mpich_xeon" fi; # Check whether --with-hpux_cc or --without-hpux_cc was given. if test "${with_hpux_cc+set}" = set; then withval="$with_hpux_cc" use_preset=1 fi; # Check whether --with-hpux_cc_debug or --without-hpux_cc_debug was given. if test "${with_hpux_cc_debug+set}" = set; then withval="$with_hpux_cc_debug" use_preset=1 fi; # Check whether --with-hpux_cc_mpi or --without-hpux_cc_mpi was given. if test "${with_hpux_cc_mpi+set}" = set; then withval="$with_hpux_cc_mpi" use_preset=1 fi; # Check whether --with-hpux_cc_mpi_debug or --without-hpux_cc_mpi_debug was given. if test "${with_hpux_cc_mpi_debug+set}" = set; then withval="$with_hpux_cc_mpi_debug" use_preset=1 fi; # Check whether --with-icc or --without-icc was given. if test "${with_icc+set}" = set; then withval="$with_icc" use_preset=1 fi; # Check whether --with-icc_debug or --without-icc_debug was given. if test "${with_icc_debug+set}" = set; then withval="$with_icc_debug" use_preset=1 fi; # Check whether --with-icc_mpich or --without-icc_mpich was given. if test "${with_icc_mpich+set}" = set; then withval="$with_icc_mpich" use_preset=1 fi; # Check whether --with-icc_mpich_xeon or --without-icc_mpich_xeon was given. if test "${with_icc_mpich_xeon+set}" = set; then withval="$with_icc_mpich_xeon" use_preset=1 fi; # Check whether --with-icc_mpich_debug or --without-icc_mpich_debug was given. if test "${with_icc_mpich_debug+set}" = set; then withval="$with_icc_mpich_debug" use_preset=1 fi; # Check whether --with-irix_mipspro or --without-irix_mipspro was given. if test "${with_irix_mipspro+set}" = set; then withval="$with_irix_mipspro" use_preset=1 fi; # Check whether --with-irix_mipspro_debug or --without-irix_mipspro_debug was given. if test "${with_irix_mipspro_debug+set}" = set; then withval="$with_irix_mipspro_debug" use_preset=1 fi; # Check whether --with-irix_mipspro_mpi or --without-irix_mipspro_mpi was given. if test "${with_irix_mipspro_mpi+set}" = set; then withval="$with_irix_mipspro_mpi" use_preset=1 fi; # Check whether --with-irix_mipspro_mpi_debug or --without-irix_mipspro_mpi_debug was given. if test "${with_irix_mipspro_mpi_debug+set}" = set; then withval="$with_irix_mipspro_mpi_debug" use_preset=1 fi; # Check whether --with-ppc_xlc or --without-ppc_xlc was given. if test "${with_ppc_xlc+set}" = set; then withval="$with_ppc_xlc" use_preset=1 fi; # Check whether --with-ppc_xlc_debug or --without-ppc_xlc_debug was given. if test "${with_ppc_xlc_debug+set}" = set; then withval="$with_ppc_xlc_debug" use_preset=1 fi; # Check whether --with-sun_gcc or --without-sun_gcc was given. if test "${with_sun_gcc+set}" = set; then withval="$with_sun_gcc" use_preset=1 fi; # 2.53 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC aCC mpCC_r xlC_r xlC xlc++ CC icpc icc g++ cxx mpic++ mpicxx mpiCC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC aCC mpCC_r xlC_r xlC xlc++ CC icpc icc g++ cxx mpic++ mpicxx mpiCC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. echo "$as_me:$LINENO: checking for C++ compiler default output" >&5 echo $ECHO_N "checking for C++ compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. # Be careful to initialize this variable, since it used to be cached. # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ac_cv_exeext= for ac_file in `ls a_out.exe a.exe conftest.exe 2>/dev/null; ls a.out conftest 2>/dev/null; ls a.* conftest.* 2>/dev/null`; do case $ac_file in *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb | *.xSYM ) ;; a.out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` # FIXME: I believe we export ac_cv_exeext for Libtool --akim. export ac_cv_exeext break;; * ) break;; esac done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C++ compiler cannot create executables" >&5 echo "$as_me: error: C++ compiler cannot create executables" >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'." >&5 echo "$as_me: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'." >&2;} { (exit 1); exit 1; }; } fi fi fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu rm -f .deps 2>/dev/null mkdir .deps 2>/dev/null if test -d .deps; then DEPDIR=.deps else # MS-DOS does not allow filenames that begin with a dot. DEPDIR=_deps fi rmdir .deps 2>/dev/null ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' doit: @echo done END # If we don't find an include directive, just comment out the code. echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6 rm -f confinc confmf # Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval="$enable_dependency_tracking" fi; if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type # if test $use_preset = 0; then echo "$as_me:$LINENO: result: Auto detection of compiler: $CXX" >&5 echo "${ECHO_T}Auto detection of compiler: $CXX" >&6 fi unset ac_cv_prog_ac_ct_CC unset ac_cv_prog_ac_ct_CXX echo "$as_me:$LINENO: checking preset g++ for SUN with optimization flags " >&5 echo $ECHO_N "checking preset g++ for SUN with optimization flags ... $ECHO_C" >&6 WANT_SUN_GCC_FLAGS=0 if test "$with_sun_gcc" = "yes"; then WANT_SUN_GCC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -mcpu=ultrasparc -m32 -U_LP64 -U__sparc_v9__ -U__sparcv9 -DNDEBUG" CXX="g++" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -mcpu=ultrasparc -m32 -U_LP64 -U__sparc_v9__ -U__sparcv9 -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_MPI_FLAGS=0 echo "$as_me:$LINENO: checking preset CC fro IRIX with MPI and optimization flags " >&5 echo $ECHO_N "checking preset CC fro IRIX with MPI and optimization flags ... $ECHO_C" >&6 if (test "$with_irix_mipspro_mpi" = "yes" || ((test $use_preset = 0) && test $CXX = "CC" )) then WANT_IRIX_MIPSPRO_MPI_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -Ofast=ip35 -64 -DNDEBUG -DHAVE_MPI -DMPI_NO_CPPBIND" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -Ofast=ip35 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DNDEBUG -DHAVE_MPI -DMPI_NO_CPPBIND" LIBS="-lmpi -lsma -lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset CC for IRIX with MPI and debugging flags " >&5 echo $ECHO_N "checking preset CC for IRIX with MPI and debugging flags ... $ECHO_C" >&6 if test "$with_irix_mipspro_mpi_debug" = "yes"; then WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -O2 -64 -DHAVE_MPI -DMPI_NO_CPPBIND" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -O2 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DHAVE_MPI -DMPI_NO_CPPBIND" LIBS="-lmpi -lsma -lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_FLAGS=0 echo "$as_me:$LINENO: checking preset CC for IRIX with optimization flags " >&5 echo $ECHO_N "checking preset CC for IRIX with optimization flags ... $ECHO_C" >&6 if test "$with_irix_mipspro" = "yes"; then WANT_IRIX_MIPSPRO_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -Ofast=ip35 -64 -DNDEBUG" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -Ofast=ip35 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON -DNDEBUG" LIBS="-lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_IRIX_MIPSPRO_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset CC for IRIX with debugging flags " >&5 echo $ECHO_N "checking preset CC for IRIX with debugging flags ... $ECHO_C" >&6 if test "$with_irix_mipspro_debug" = "yes"; then WANT_IRIX_MIPSPRO_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="-Wl,-read -fullwarn -woff 1209,1506 -mips4 -O2 -64" CXX="CC" CXXFLAGS="-Wl,-read -fullwarn -woff 3649,3625,1209,3201,1424,1110,1506,1182 -mips4 -O2 -64 -LANG:std -LANG:restrict=ON -LANG:ansi-for-init-scope=ON" LIBS="-lm" DEPFLAGS="-LANG:std" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with optimization flags " >&5 echo $ECHO_N "checking preset icc for generic with optimization flags ... $ECHO_C" >&6 if (test "$with_icc" = "yes" || ((test $use_preset = 0) && (test $CXX = "icc" || test $CXX = "icpc"))) then unset CC unset CXX WANT_ICC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF @%:@ifndef __cplusplus choke me @%:@endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with debugging flags " >&5 echo $ECHO_N "checking preset icc for generic with debugging flags ... $ECHO_C" >&6 if test "$with_icc_debug" = "yes"; then unset CC unset CXX WANT_ICC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in icpc icc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in icpc icc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF @%:@ifndef __cplusplus choke me @%:@endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_MPICH_XEON_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with MPICH flags " >&5 echo $ECHO_N "checking preset icc for generic with MPICH flags ... $ECHO_C" >&6 if test "$with_icc_mpich_xeon" = "yes"; then unset CC unset CXX WANT_ICC_MPICH_XEON_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-intel80/bin/mpicc" CFLAGS="-Wall -wd810,383,981,279,444 -O3 -ip -static -DNDEBUG -DHAVE_MPI" CXX="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-intel80/bin/mpicxx" CXXFLAGS="-Wall -wd810,383,981,279,444 -O3 -ip -static -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_MPICH_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with MPICH and optimization flags " >&5 echo $ECHO_N "checking preset icc for generic with MPICH and optimization flags ... $ECHO_C" >&6 if (test "$with_icc_mpich" = "yes") then unset CC unset CXX WANT_ICC_MPICH_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in mpicc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in mpicc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF @%:@ifndef __cplusplus choke me @%:@endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG -DHAVE_MPI" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -O3 -ip -static -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_ICC_MPICH_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset icc for generic with MPICH and debugging flags " >&5 echo $ECHO_N "checking preset icc for generic with MPICH and debugging flags ... $ECHO_C" >&6 if test "$with_icc_mpich_debug" = "yes"; then unset CC unset CXX WANT_ICC_MPICH_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpic++ mpicxx do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in mpicc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in mpicc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF @%:@ifndef __cplusplus choke me @%:@endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type CFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict -DHAVE_MPI" CXXFLAGS="-Wall -wd810,383,981,279,444,1572 -inline_debug_info -restrict -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_MPICH_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with MPICH flags " >&5 echo $ECHO_N "checking preset g++ for generic with MPICH flags ... $ECHO_C" >&6 if test "$with_gcc_mpich" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CC="mpicc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi ANT_GCC_MPICH_XEON=0 echo "$as_me:$LINENO: checking preset g++ for generic with MPICH XEON flags " >&5 echo $ECHO_N "checking preset g++ for generic with MPICH XEON flags ... $ECHO_C" >&6 if test "$with_gcc_mpich_xeon" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_XEON=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-gcc-2/bin/mpicc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" CXX="/afs/nd.edu/i386_linux24/opt/und/mpich/mpich-1.2.6/ch_p4-gcc-2/bin/mpicxx" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_MPICH_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with MPICH debug flags " >&5 echo $ECHO_N "checking preset g++ for generic with MPICH debug flags ... $ECHO_C" >&6 if test "$with_gcc_mpich_debug" = "yes"; then unset CC unset CXX WANT_GCC_MPICH_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpicc" CFLAGS="-Wall -DHAVE_MPI -I${MPI_HOME}/include" ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CXXFLAGS="-Wall -DHAVE_MPI -I${MPI_HOME}/include" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with optimization flags " >&5 echo $ECHO_N "checking preset g++ for generic with optimization flags ... $ECHO_C" >&6 if (test "$with_gcc" = "yes" || ((test $use_preset = 0) && ( test $CXX = "c++" || test $CXX = "g++"))) then WANT_GCC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG" CXX="g++" CXXFLAGS="-Wall -O9 -ffast-math -finline-functions -funroll-loops -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with debugging flags " >&5 echo $ECHO_N "checking preset g++ for generic with debugging flags ... $ECHO_C" >&6 if test "$with_gcc_debug" = "yes"; then WANT_GCC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-Wall" CXX="g++" CXXFLAGS="-Wall" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_GCC_DEBUG_GDB_FLAGS=0 echo "$as_me:$LINENO: checking preset g++ for generic with debugging and gdb flags " >&5 echo $ECHO_N "checking preset g++ for generic with debugging and gdb flags ... $ECHO_C" >&6 if test "$with_gcc_debug_gdb" = "yes"; then WANT_GCC_DEBUG_GDB_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="gcc" CFLAGS="-g -Wall" CXX="g++" CXXFLAGS="-g -Wall" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_PPC_XLC_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for PPC with optimization flags " >&5 echo $ECHO_N "checking preset xlC for PPC with optimization flags ... $ECHO_C" >&6 if test "$with_ppc_xlc" = "yes"; then WANT_PPC_XLC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="-O4 -qinlglue -qcache=auto -qarch=auto -qtune=auto -DNDEBUG" CXX="xlC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_PPC_XLC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for PPC with debugging flags " >&5 echo $ECHO_N "checking preset xlC for PPC with debugging flags ... $ECHO_C" >&6 if test "$with_ppc_xlc_debug" = "yes"; then WANT_PPC_XLC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="" CXX="xlC_r" CXXFLAGS="" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_AIX_XLC_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for AIX with optimization flags " >&5 echo $ECHO_N "checking preset xlC for AIX with optimization flags ... $ECHO_C" >&6 if test "$with_aix_xlc" = "yes"; then WANT_AIX_XLC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="-O4 -qinlglue -qcache=auto -qarch=auto -qtune=auto -DNDEBUG" CXX="xlC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_AIX_XLC_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for AIX with debugging flags " >&5 echo $ECHO_N "checking preset xlC for AIX with debugging flags ... $ECHO_C" >&6 if test "$with_aix_xlc_debug" = "yes"; then WANT_AIX_XLC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="xlc_r" CFLAGS="" CXX="xlC_r" CXXFLAGS="-qrtti=dyna" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset xlC for AIX with MPI and optimization flags " >&5 echo $ECHO_N "checking preset xlC for AIX with MPI and optimization flags ... $ECHO_C" >&6 WANT_AIX_XLC_MPI_FLAGS=0 if (test "$with_aix_xlc_mpi" = "yes" || ((test $use_preset = 0) && test $CXX = "mpCC_r")) then WANT_AIX_XLC_MPI_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpcc_r" CFLAGS="-O4 -qinlglue-qcache=auto -qarch=auto -qtune=auto -DNDEBUG -DHAVE_MPI" CXX="mpCC_r" CXXFLAGS="-O3 -qstaticinline -qfloat=rsqrt:fltint -qstrict -Q -qmaxmem=-1 -qcache=auto -qarch=auto -qtune=auto -qrtti=dyna -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi WANT_AIX_XLC_MPI_DEBUG_FLAGS=0 echo "$as_me:$LINENO: checking preset xlC for AIX with MPI and debugging flags " >&5 echo $ECHO_N "checking preset xlC for AIX with MPI and debugging flags ... $ECHO_C" >&6 if test "$with_aix_xlc_mpi_debug" = "yes"; then WANT_AIX_XLC_MPI_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpcc_r" CFLAGS="-g -DHAVE_MPI" CXX="mpCC_r" CXXFLAGS="-g -qrtti=dyna -DHAVE_MPI" LIBS="-lm -lnsl" DEPFLAGS="" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with optimization flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with optimization flags ... $ECHO_C" >&6 WANT_HPUX_CC_FLAGS=0 if (test "$with_hpux_cc" = "yes" || ((test $use_preset = 0) && test $CXX = "aCC")) then WANT_HPUX_CC_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="+Z +DD64 -fast -DNDEBUG" CXX="aCC" CXXFLAGS="+Z +DD64 +O2 +Oaggressive +noeh -AA +W67,829,336 -DNDEBUG" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with debugging flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with debugging flags ... $ECHO_C" >&6 WANT_HPUX_CC_DEBUG_FLAGS=0 if test "$with_hpux_cc_debug" = "yes"; then WANT_HPUX_CC_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="cc" CFLAGS="+DD64 +Z -g1" CXX="aCC" CXXFLAGS="+DD64 +Z -AA -g1 +W67,829,336" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with MPI and optimization flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with MPI and optimization flags ... $ECHO_C" >&6 WANT_HPUX_CC_MPI_FLAGS=0 if test "$with_hpux_cc_mpi" = "yes"; then unset CC unset CXX WANT_HPUX_CC_MPI_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpicc" CFLAGS="+Z +DD64 -fast -DNDEBUG -DHAVE_MPI" ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CXXFLAGS="+Z +DD64 +O2 +Oaggressive +noeh -AA +W67,829,336 -DNDEBUG -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "$as_me:$LINENO: checking preset aCC for HPUX with MPI and debugging flags " >&5 echo $ECHO_N "checking preset aCC for HPUX with MPI and debugging flags ... $ECHO_C" >&6 WANT_HPUX_CC_MPI_DEBUG_FLAGS=0 if test "$with_hpux_cc_mpi_debug" = "yes"; then unset CC unset CXX WANT_HPUX_CC_MPI_DEBUG_FLAGS=1 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 CC="mpicc" CFLAGS="+DD64 +Z -g1 -DHAVE_MPI" ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC mpiCC mpicxx mpic++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type CXXFLAGS="+DD64 +Z -AA -g1 +W67,829,336 -DHAVE_MPI" LIBS="-lm -lnsl" else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi echo "" echo "CC : $CC" echo "CFLAGS : $CFLAGS" echo "CXXFLAGS : $CXXFLAGS" echo "CXX : $CXX" echo "CXXCPP : $CXXCPP" echo "LIBS : $LIBS" echo "CPP : $CPP" echo "CPPFLAGS : $CPPFLAGS" echo "" # # Tools # ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CXX_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6 ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;} { (exit 1); exit 1; }; } fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $@%:@ != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift set dummy "$as_dir/$ac_word" ${1+"$@"} shift ac_cv_prog_CC="$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF @%:@ifndef __cplusplus choke me @%:@endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_declaration #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_CC_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi RANLIB=$ac_ct_RANLIB else RANLIB="$ac_cv_prog_RANLIB" fi have_mpi=false case $CXXFLAGS in *-DHAVE_MPI*) have_mpi=true;; esac echo "$as_me:$LINENO: checking using MPI" >&5 echo $ECHO_N "checking using MPI... $ECHO_C" >&6 if test $have_mpi = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking for X" >&5 echo $ECHO_N "checking for X... $ECHO_C" >&6 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then withval="$with_x" fi; # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then # Both variables are already set. have_x=yes else if test "${ac_cv_have_x+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no rm -fr conftest.dir if mkdir conftest.dir; then cd conftest.dir # Make sure to not put "make" in the Imakefile rules, since we grep it out. cat >Imakefile <<'_ACEOF' acfindx: @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' _ACEOF if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl; do if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && test -f $ac_im_libdir/libX11.$ac_extension; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in /usr/include) ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in /usr/lib | /lib) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. rm -fr conftest.dir fi # Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 /usr/X386/include /usr/x386/include /usr/XFree86/include/X11 /usr/include /usr/local/include /usr/unsupported/include /usr/athena/include /usr/local/x11r5/include /usr/lpp/Xamples/include /usr/openwin/include /usr/openwin/share/include' if test "$ac_x_includes" = no; then # Guess where to find include files, by looking for Intrinsic.h. # First, try using that file with no special directory specified. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # We can compile using X headers with no special include directory. ac_x_includes= else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do if test -r "$ac_dir/X11/Intrinsic.h"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest.err conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then # Check for the libraries. # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS LIBS="-lXt $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { XtMalloc (0) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 LIBS=$ac_save_LIBS for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl; do if test -r $ac_dir/libXt.$ac_extension; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then # Didn't find X anywhere. Cache the known absence of X. ac_cv_have_x="have_x=no" else # Record where we found X for the cache. ac_cv_have_x="have_x=yes \ ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" fi fi fi eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then echo "$as_me:$LINENO: result: $have_x" >&5 echo "${ECHO_T}$have_x" >&6 no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes \ ac_x_includes=$x_includes ac_x_libraries=$x_libraries" echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 fi if test "$no_x" = yes; then # Not all programs may use this symbol, but it does not hurt to define it. cat >>confdefs.h <<\_ACEOF @%:@define X_DISPLAY_MISSING 1 _ACEOF X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= else if test -n "$x_includes"; then X_CFLAGS="$X_CFLAGS -I$x_includes" fi # It would also be nice to do this for all -L options, not just this one. if test -n "$x_libraries"; then X_LIBS="$X_LIBS -L$x_libraries" # For Solaris; some versions of Sun CC require a space after -R and # others require no space. Words are not sufficient . . . . case `(uname -sr) 2>/dev/null` in "SunOS 5"*) echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6 ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_R_nospace=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_R_nospace=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test $ac_R_nospace = yes; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 X_LIBS="$X_LIBS -R$x_libraries" else LIBS="$ac_xsave_LIBS -R $x_libraries" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_R_space=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_R_space=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test $ac_R_space = yes; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 X_LIBS="$X_LIBS -R $x_libraries" else echo "$as_me:$LINENO: result: neither works" >&5 echo "${ECHO_T}neither works" >&6 fi fi LIBS=$ac_xsave_LIBS esac fi # Check for system-dependent libraries X programs must link with. # Do this before checking for the system-independent R6 libraries # (-lICE), since we may need -lsocket or whatever for X linking. if test "$ISC" = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" else # Martyn Johnson says this is needed for Ultrix, if the X # libraries were built with DECnet support. And Karl Berry says # the Alpha needs dnet_stub (dnet does not exist). ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XOpenDisplay (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { XOpenDisplay (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6 if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dnet_ntoa (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { dnet_ntoa (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dnet_dnet_ntoa=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_dnet_dnet_ntoa=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6 if test $ac_cv_lib_dnet_dnet_ntoa = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6 if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet_stub $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dnet_ntoa (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { dnet_ntoa (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dnet_stub_dnet_ntoa=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_dnet_stub_dnet_ntoa=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6 if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" fi fi fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$ac_xsave_LIBS" # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, # to get the SysV transport functions. # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) # needs -lnsl. # The nsl library prevents programs from opening the X display # on Irix 5.2, according to T.E. Dickey. # The functions gethostbyname, getservbyname, and inet_addr are # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. echo "$as_me:$LINENO: checking for gethostbyname" >&5 echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 if test "${ac_cv_func_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname (); below. */ #include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); char (*f) (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) choke me #else f = gethostbyname; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_gethostbyname=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_func_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 if test $ac_cv_func_gethostbyname = no; then echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { gethostbyname (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_nsl_gethostbyname=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_nsl_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 if test $ac_cv_lib_nsl_gethostbyname = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" fi if test $ac_cv_lib_nsl_gethostbyname = no; then echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6 if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { gethostbyname (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_bsd_gethostbyname=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_bsd_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6 if test $ac_cv_lib_bsd_gethostbyname = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" fi fi fi # lieder@skyler.mavd.honeywell.com says without -lsocket, # socket/setsockopt and other routines are undefined under SCO ODT # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary # on later versions), says Simon Leinen: it contains gethostby* # variants that don't use the nameserver (or something). -lsocket # must be given before -lnsl if both are needed. We assume that # if connect needs -lnsl, so does gethostbyname. echo "$as_me:$LINENO: checking for connect" >&5 echo $ECHO_N "checking for connect... $ECHO_C" >&6 if test "${ac_cv_func_connect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect (); below. */ #include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char connect (); char (*f) (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_connect) || defined (__stub___connect) choke me #else f = connect; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_connect=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_func_connect=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 echo "${ECHO_T}$ac_cv_func_connect" >&6 if test $ac_cv_func_connect = no; then echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 if test "${ac_cv_lib_socket_connect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char connect (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { connect (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_socket_connect=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_socket_connect=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 if test $ac_cv_lib_socket_connect = yes; then X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" fi fi # Guillermo Gomez says -lposix is necessary on A/UX. echo "$as_me:$LINENO: checking for remove" >&5 echo $ECHO_N "checking for remove... $ECHO_C" >&6 if test "${ac_cv_func_remove+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove (); below. */ #include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char remove (); char (*f) (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_remove) || defined (__stub___remove) choke me #else f = remove; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_remove=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_func_remove=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 echo "${ECHO_T}$ac_cv_func_remove" >&6 if test $ac_cv_func_remove = no; then echo "$as_me:$LINENO: checking for remove in -lposix" >&5 echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6 if test "${ac_cv_lib_posix_remove+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lposix $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char remove (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { remove (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_posix_remove=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_posix_remove=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6 if test $ac_cv_lib_posix_remove = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" fi fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo "$as_me:$LINENO: checking for shmat" >&5 echo $ECHO_N "checking for shmat... $ECHO_C" >&6 if test "${ac_cv_func_shmat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat (); below. */ #include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shmat (); char (*f) (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_shmat) || defined (__stub___shmat) choke me #else f = shmat; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_shmat=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_func_shmat=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 echo "${ECHO_T}$ac_cv_func_shmat" >&6 if test $ac_cv_func_shmat = no; then echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6 if test "${ac_cv_lib_ipc_shmat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lipc $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shmat (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { shmat (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ipc_shmat=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_ipc_shmat=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6 if test $ac_cv_lib_ipc_shmat = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" fi fi fi # Check for libraries that X11R6 Xt/Xaw programs need. ac_save_LDFLAGS=$LDFLAGS test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to # check for ICE first), but we must link in the order -lSM -lICE or # we get undefined symbols. So assume we have SM if we have ICE. # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. # John Interrante, Karl Berry echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6 if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char IceConnectionNumber (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { IceConnectionNumber (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ICE_IceConnectionNumber=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_ICE_IceConnectionNumber=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6 if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" fi LDFLAGS=$ac_save_LDFLAGS fi save_libs=$LIBS save_cflags=$CFLAGS save_cppflags=$CPPFLAGS save_ldflags=$LDFLAGS save_cxxflags=$CXXFLAGS #save_cxxflags="$save_cxxflags -DTEMPLATE_IN_HEADER" # # limits # have_no_limits=false echo "$as_me:$LINENO: checking for limits " >&5 echo $ECHO_N "checking for limits ... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then have_no_limits=true else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test $have_no_limits = false; then save_cxxflags="$save_cxxflags -DHAVE_NO_LIMITS" echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # # sstream # have_no_sstream=false echo "$as_me:$LINENO: checking for sstream " >&5 echo $ECHO_N "checking for sstream ... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then have_no_sstream=true else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test $have_no_sstream = false; then save_cxxflags="$save_cxxflags -DHAVE_NO_SSTREAM" echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # # partial_template_specialization # partial_template_specialization=false echo "$as_me:$LINENO: checking for partial template specialization" >&5 echo $ECHO_N "checking for partial template specialization... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include "framework/base/Array_Fastest.h" using namespace ProtoMol; #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { Array a(ArraySizes(1)(1)(1)); RefArray rA = a[0]; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then partial_template_specialization=true else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test $partial_template_specialization = false; then save_cxxflags="$save_cxxflags -DNO_PARTIAL_TEMPLATE_SPECIALIZATION" echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # # Socket # have_socket=true echo "$as_me:$LINENO: checking for socket in -lsocket" >&5 echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6 if test "${ac_cv_lib_socket_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char socket (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { socket (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_socket_socket=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_socket_socket=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5 echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6 if test $ac_cv_lib_socket_socket = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBSOCKET 1 _ACEOF LIBS="-lsocket $LIBS" else have_socket=false fi if test $have_socket = true; then SOCKET_LIBS="-lsocket" fi have_socket=true echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include #include #include #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f conftest.err conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF @%:@define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default @%:@include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF @%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "${ac_cv_header_sys_socket_h+set}" = set; then echo "$as_me:$LINENO: checking for sys/socket.h" >&5 echo $ECHO_N "checking for sys/socket.h... $ECHO_C" >&6 if test "${ac_cv_header_sys_socket_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_sys_socket_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_socket_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking sys/socket.h usability" >&5 echo $ECHO_N "checking sys/socket.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking sys/socket.h presence" >&5 echo $ECHO_N "checking sys/socket.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: sys/socket.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: sys/socket.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&2;};; no:yes ) { echo "$as_me:$LINENO: WARNING: sys/socket.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: sys/socket.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: sys/socket.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: sys/socket.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&2;};; esac echo "$as_me:$LINENO: checking for sys/socket.h" >&5 echo $ECHO_N "checking for sys/socket.h... $ECHO_C" >&6 if test "${ac_cv_header_sys_socket_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_sys_socket_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_sys_socket_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_socket_h" >&6 fi if test $ac_cv_header_sys_socket_h = yes; then : else have_socket=false fi echo "$as_me:$LINENO: checking for socketlen type" >&5 echo $ECHO_N "checking for socketlen type... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include #include #include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { sockaddr_in addr; socklen_t len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE=socklen_t else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext if test "${SOCKLEN_TYPE}" = "" ; then cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include #include #include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { sockaddr_in addr; size_t len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE=size_t else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext fi if test "${SOCKLEN_TYPE}" = "" ; then cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include #include #include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { sockaddr_in addr; unsigned int len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE="unsigned int" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext fi if test "${SOCKLEN_TYPE}" = "" ; then cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include #include #include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { sockaddr_in addr; int len = 0; getsockname(0, (struct sockaddr*)&addr, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then SOCKLEN_TYPE="int" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext fi if test "${SOCKLEN_TYPE}" != "" ; then echo "$as_me:$LINENO: result: $SOCKLEN_TYPE" >&5 echo "${ECHO_T}$SOCKLEN_TYPE" >&6 fi cat >>confdefs.h <<_ACEOF @%:@define SOCKLEN_TYPE ${SOCKLEN_TYPE} _ACEOF # # Sizeof # echo "$as_me:$LINENO: checking for char" >&5 echo $ECHO_N "checking for char... $ECHO_C" >&6 if test "${ac_cv_type_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { if ((char *) 0) return 0; if (sizeof (char)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_char=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_type_char=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5 echo "${ECHO_T}$ac_cv_type_char" >&6 echo "$as_me:$LINENO: checking size of char" >&5 echo $ECHO_N "checking size of char... $ECHO_C" >&6 if test "${ac_cv_sizeof_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_char" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (char))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (char))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (char))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_char=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77" >&5 echo "$as_me: error: cannot compute sizeof (char), 77" >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default long longval () { return (long) (sizeof (char)); } unsigned long ulongval () { return (long) (sizeof (char)); } @%:@include @%:@include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (char))) < 0) { long i = longval (); if (i != ((long) (sizeof (char)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (char)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_char=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77" >&5 echo "$as_me: error: cannot compute sizeof (char), 77" >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_char=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5 echo "${ECHO_T}$ac_cv_sizeof_char" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_CHAR $ac_cv_sizeof_char _ACEOF echo "$as_me:$LINENO: checking for short" >&5 echo $ECHO_N "checking for short... $ECHO_C" >&6 if test "${ac_cv_type_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { if ((short *) 0) return 0; if (sizeof (short)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_short=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_type_short=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5 echo "${ECHO_T}$ac_cv_type_short" >&6 echo "$as_me:$LINENO: checking size of short" >&5 echo $ECHO_N "checking size of short... $ECHO_C" >&6 if test "${ac_cv_sizeof_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_short" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (short))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (short))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (short))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_short=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77" >&5 echo "$as_me: error: cannot compute sizeof (short), 77" >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default long longval () { return (long) (sizeof (short)); } unsigned long ulongval () { return (long) (sizeof (short)); } @%:@include @%:@include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (short))) < 0) { long i = longval (); if (i != ((long) (sizeof (short)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (short)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_short=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77" >&5 echo "$as_me: error: cannot compute sizeof (short), 77" >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_short=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5 echo "${ECHO_T}$ac_cv_sizeof_short" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_SHORT $ac_cv_sizeof_short _ACEOF echo "$as_me:$LINENO: checking for int" >&5 echo $ECHO_N "checking for int... $ECHO_C" >&6 if test "${ac_cv_type_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { if ((int *) 0) return 0; if (sizeof (int)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_int=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_type_int=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5 echo "${ECHO_T}$ac_cv_type_int" >&6 echo "$as_me:$LINENO: checking size of int" >&5 echo $ECHO_N "checking size of int... $ECHO_C" >&6 if test "${ac_cv_sizeof_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_int" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (int))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (int))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (int))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_int=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77" >&5 echo "$as_me: error: cannot compute sizeof (int), 77" >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default long longval () { return (long) (sizeof (int)); } unsigned long ulongval () { return (long) (sizeof (int)); } @%:@include @%:@include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (int))) < 0) { long i = longval (); if (i != ((long) (sizeof (int)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (int)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_int=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77" >&5 echo "$as_me: error: cannot compute sizeof (int), 77" >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_int=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5 echo "${ECHO_T}$ac_cv_sizeof_int" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_INT $ac_cv_sizeof_int _ACEOF echo "$as_me:$LINENO: checking for long" >&5 echo $ECHO_N "checking for long... $ECHO_C" >&6 if test "${ac_cv_type_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { if ((long *) 0) return 0; if (sizeof (long)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_type_long=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 echo "${ECHO_T}$ac_cv_type_long" >&6 echo "$as_me:$LINENO: checking size of long" >&5 echo $ECHO_N "checking size of long... $ECHO_C" >&6 if test "${ac_cv_sizeof_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_long" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (long))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (long))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_long=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77" >&5 echo "$as_me: error: cannot compute sizeof (long), 77" >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default long longval () { return (long) (sizeof (long)); } unsigned long ulongval () { return (long) (sizeof (long)); } @%:@include @%:@include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (long))) < 0) { long i = longval (); if (i != ((long) (sizeof (long)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (long)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_long=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77" >&5 echo "$as_me: error: cannot compute sizeof (long), 77" >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_long=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 echo "${ECHO_T}$ac_cv_sizeof_long" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_LONG $ac_cv_sizeof_long _ACEOF echo "$as_me:$LINENO: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6 if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { if ((size_t *) 0) return 0; if (sizeof (size_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_type_size_t=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6 echo "$as_me:$LINENO: checking size of size_t" >&5 echo $ECHO_N "checking size of size_t... $ECHO_C" >&6 if test "${ac_cv_sizeof_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_size_t" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (size_t))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (size_t))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (size_t))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (size_t))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (size_t))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_size_t=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t), 77" >&5 echo "$as_me: error: cannot compute sizeof (size_t), 77" >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default long longval () { return (long) (sizeof (size_t)); } unsigned long ulongval () { return (long) (sizeof (size_t)); } @%:@include @%:@include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (size_t))) < 0) { long i = longval (); if (i != ((long) (sizeof (size_t)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (size_t)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_size_t=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t), 77" >&5 echo "$as_me: error: cannot compute sizeof (size_t), 77" >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_size_t=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5 echo "${ECHO_T}$ac_cv_sizeof_size_t" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_SIZE_T $ac_cv_sizeof_size_t _ACEOF echo "$as_me:$LINENO: checking for void*" >&5 echo $ECHO_N "checking for void*... $ECHO_C" >&6 if test "${ac_cv_type_voidp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { if ((void* *) 0) return 0; if (sizeof (void*)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_voidp=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_type_voidp=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_voidp" >&5 echo "${ECHO_T}$ac_cv_type_voidp" >&6 echo "$as_me:$LINENO: checking size of void*" >&5 echo $ECHO_N "checking size of void*... $ECHO_C" >&6 if test "${ac_cv_sizeof_voidp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_voidp" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (void*))) >= 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (void*))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (void*))) < 0)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (void*))) >= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { static int test_array @<:@1 - 2 * !(((long) (sizeof (void*))) <= $ac_mid)@:>@; test_array @<:@0@:>@ = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_voidp=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (void*), 77" >&5 echo "$as_me: error: cannot compute sizeof (void*), 77" >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default long longval () { return (long) (sizeof (void*)); } unsigned long ulongval () { return (long) (sizeof (void*)); } @%:@include @%:@include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (void*))) < 0) { long i = longval (); if (i != ((long) (sizeof (void*)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (void*)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_voidp=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (void*), 77" >&5 echo "$as_me: error: cannot compute sizeof (void*), 77" >&2;} { (exit 1); exit 1; }; } fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_voidp=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_voidp" >&5 echo "${ECHO_T}$ac_cv_sizeof_voidp" >&6 cat >>confdefs.h <<_ACEOF @%:@define SIZEOF_VOIDP $ac_cv_sizeof_voidp _ACEOF SIZEOF_INT=$ac_cv_sizeof_int SIZEOF_SHORT=$ac_cv_sizeof_int echo "$as_me:$LINENO: checking for 32-bit int" >&5 echo $ECHO_N "checking for 32-bit int... $ECHO_C" >&6 if test "${SIZEOF_INT}" = 4; then INT32_TYPE=int elif test "${SIZEOF_SHORT}" = 4; then INT32_TYPE=short else { { echo "$as_me:$LINENO: error: neither int (${SIZEOF_INT}) nor short (${SIZEOF_SHORT}) have sizeof 4!" >&5 echo "$as_me: error: neither int (${SIZEOF_INT}) nor short (${SIZEOF_SHORT}) have sizeof 4!" >&2;} { (exit 1); exit 1; }; } fi cat >>confdefs.h <<_ACEOF @%:@define INT32_TYPE ${INT32_TYPE} _ACEOF echo "$as_me:$LINENO: result: $INT32_TYPE" >&5 echo "${ECHO_T}$INT32_TYPE" >&6 # # cycles # # comment out if autoconf less then 2.53 echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac echo "$as_me:$LINENO: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6 if test "${ac_cv_c_inline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifndef __cplusplus static $ac_kw int static_foo () {return 0; } $ac_kw int foo () {return 0; } #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_inline=$ac_kw; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done fi echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6 case $ac_cv_c_inline in inline | yes) ;; no) cat >>confdefs.h <<\_ACEOF @%:@define inline _ACEOF ;; *) cat >>confdefs.h <<_ACEOF @%:@define inline $ac_cv_c_inline _ACEOF ;; esac echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #include #include #include #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_time=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_header_time=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6 if test $ac_cv_header_time = yes; then cat >>confdefs.h <<\_ACEOF @%:@define TIME_WITH_SYS_TIME 1 _ACEOF fi for ac_header in sys/time.h c_asm.h intrinsics.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default @%:@include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; no:yes ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF @%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for hrtime_t" >&5 echo $ECHO_N "checking for hrtime_t... $ECHO_C" >&6 if test "${ac_cv_type_hrtime_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_SYS_TIME_H #include #endif #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { if ((hrtime_t *) 0) return 0; if (sizeof (hrtime_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_hrtime_t=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_type_hrtime_t=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_hrtime_t" >&5 echo "${ECHO_T}$ac_cv_type_hrtime_t" >&6 if test $ac_cv_type_hrtime_t = yes; then cat >>confdefs.h <<\_ACEOF @%:@define HAVE_HRTIME_T 1 _ACEOF fi for ac_func in gethrtime clock_gettime do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ #include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); char (*f) (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else f = $ac_func; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF @%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for read_real_time" >&5 echo $ECHO_N "checking for read_real_time... $ECHO_C" >&6 read_real_time_ok=yes cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #if TIME_WITH_SYS_TIME # include # include #else # if HAVE_SYS_TIME_H # include # else # include # endif #endif #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { timebasestruct_t t; read_real_time(&t, TIMEBASE_SZ); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cat >>confdefs.h <<\_ACEOF @%:@define HAVE_READ_REAL_TIME 1 _ACEOF else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 read_real_time_ok=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $read_real_time_ok" >&5 echo "${ECHO_T}$read_real_time_ok" >&6 echo "$as_me:$LINENO: checking for time_base_to_time" >&5 echo $ECHO_N "checking for time_base_to_time... $ECHO_C" >&6 time_base_to_time_ok=yes cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #if TIME_WITH_SYS_TIME # include # include #else # if HAVE_SYS_TIME_H # include # else # include # endif #endif #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { timebasestruct_t t; time_base_to_time(&t, TIMEBASE_SZ); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cat >>confdefs.h <<\_ACEOF @%:@define HAVE_TIME_BASE_TO_TIME 1 _ACEOF else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 time_base_to_time_ok=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $time_base_to_time_ok" >&5 echo "${ECHO_T}$time_base_to_time_ok" >&6 #AC_MSG_CHECKING([for rtc]) #rtc_ok=yes #AC_TRY_COMPILE([], [], [AC_DEFINE(HAVE_RTC,1,[Define if you have the rtc().])], [rtc_ok=no]) #AC_MSG_RESULT($rtc_ok) echo "$as_me:$LINENO: checking for _rtc intrinsic" >&5 echo $ECHO_N "checking for _rtc intrinsic... $ECHO_C" >&6 rtc_ok=yes cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" #ifdef HAVE_INTRINSICS_H #include #endif #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { _rtc() ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cat >>confdefs.h <<\_ACEOF @%:@define HAVE__RTC 1 _ACEOF else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 rtc_ok=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext echo "$as_me:$LINENO: result: $rtc_ok" >&5 echo "${ECHO_T}$rtc_ok" >&6 # # FFT # # # FFT ZFFT # have_fft_zfft=true FFT_ZFFT_LIBS="" FFT_ZFFT_CFLAGS="" # # FFT SGI # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_fft_sgi=true FFT_SGI_LIBS="-lcomplib.sgimath" FFT_SGI_CFLAGS="-DHAVE_FFT_SGI -DHAVE_FFT" echo "$as_me:$LINENO: checking for zfftm1di in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfftm1di in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfftm1di+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfftm1di (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { zfftm1di (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfftm1di=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfftm1di=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfftm1di" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfftm1di" >&6 if test $ac_cv_lib_complib_sgimath_zfftm1di = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfftm1d in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfftm1d in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfftm1d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfftm1d (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { zfftm1d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfftm1d=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfftm1d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfftm1d" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfftm1d" >&6 if test $ac_cv_lib_complib_sgimath_zfftm1d = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft2di in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft2di in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft2di+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft2di (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { zfft2di (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft2di=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft2di=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft2di" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft2di" >&6 if test $ac_cv_lib_complib_sgimath_zfft2di = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft2d in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft2d in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft2d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft2d (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { zfft2d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft2d=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft2d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft2d" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft2d" >&6 if test $ac_cv_lib_complib_sgimath_zfft2d = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft3di in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft3di in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft3di+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft3di (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { zfft3di (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft3di=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft3di=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft3di" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft3di" >&6 if test $ac_cv_lib_complib_sgimath_zfft3di = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi echo "$as_me:$LINENO: checking for zfft3d in -lcomplib.sgimath" >&5 echo $ECHO_N "checking for zfft3d in -lcomplib.sgimath... $ECHO_C" >&6 if test "${ac_cv_lib_complib_sgimath_zfft3d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char zfft3d (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { zfft3d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_complib_sgimath_zfft3d=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_complib_sgimath_zfft3d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_complib_sgimath_zfft3d" >&5 echo "${ECHO_T}$ac_cv_lib_complib_sgimath_zfft3d" >&6 if test $ac_cv_lib_complib_sgimath_zfft3d = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBCOMPLIB_SGIMATH 1 _ACEOF LIBS="-lcomplib.sgimath $LIBS" else have_fft_sgi=false fi if test "${ac_cv_header_fft_h+set}" = set; then echo "$as_me:$LINENO: checking for fft.h" >&5 echo $ECHO_N "checking for fft.h... $ECHO_C" >&6 if test "${ac_cv_header_fft_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fft_h" >&5 echo "${ECHO_T}$ac_cv_header_fft_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fft.h usability" >&5 echo $ECHO_N "checking fft.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fft.h presence" >&5 echo $ECHO_N "checking fft.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fft.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fft.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fft.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fft.h: proceeding with the preprocessor's result" >&2;};; no:yes ) { echo "$as_me:$LINENO: WARNING: fft.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fft.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fft.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fft.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fft.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fft.h: proceeding with the preprocessor's result" >&2;};; esac echo "$as_me:$LINENO: checking for fft.h" >&5 echo $ECHO_N "checking for fft.h... $ECHO_C" >&6 if test "${ac_cv_header_fft_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fft_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fft_h" >&5 echo "${ECHO_T}$ac_cv_header_fft_h" >&6 fi if test $ac_cv_header_fft_h = yes; then : else have_fft_sgi=false fi # # FFT AIX/IBM # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_fft_essl=true FFT_ESSL_LIBS="-lessl" FFT_ESSL_CFLAGS="-DHAVE_FFT_ESSL -DHAVE_FFT" echo "$as_me:$LINENO: checking for dcft in -lessl" >&5 echo $ECHO_N "checking for dcft in -lessl... $ECHO_C" >&6 if test "${ac_cv_lib_essl_dcft+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lessl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dcft (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { dcft (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_essl_dcft=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_essl_dcft=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_essl_dcft" >&5 echo "${ECHO_T}$ac_cv_lib_essl_dcft" >&6 if test $ac_cv_lib_essl_dcft = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBESSL 1 _ACEOF LIBS="-lessl $LIBS" else have_fft_essl=false fi if test "${ac_cv_header_essl_h+set}" = set; then echo "$as_me:$LINENO: checking for essl.h" >&5 echo $ECHO_N "checking for essl.h... $ECHO_C" >&6 if test "${ac_cv_header_essl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_essl_h" >&5 echo "${ECHO_T}$ac_cv_header_essl_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking essl.h usability" >&5 echo $ECHO_N "checking essl.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking essl.h presence" >&5 echo $ECHO_N "checking essl.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: essl.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: essl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: essl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: essl.h: proceeding with the preprocessor's result" >&2;};; no:yes ) { echo "$as_me:$LINENO: WARNING: essl.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: essl.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: essl.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: essl.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: essl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: essl.h: proceeding with the preprocessor's result" >&2;};; esac echo "$as_me:$LINENO: checking for essl.h" >&5 echo $ECHO_N "checking for essl.h... $ECHO_C" >&6 if test "${ac_cv_header_essl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_essl_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_essl_h" >&5 echo "${ECHO_T}$ac_cv_header_essl_h" >&6 fi if test $ac_cv_header_essl_h = yes; then : else have_fft_essl=false fi # # FFTW2 MPI # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw2mpi=false if test x"$with_fftw2mpi" != x; then FFTW2_MPI_INCLUDE="$with_fftw2mpi/include" FFTW2_MPI_LIB="$with_fftw2mpi/lib" FFTW2_MPI_ROOT="$with_fftw2mpi" require_fftw2mpi=true fi FFT_FFTW2_MPI_LIBS="-L$FFTW2_MPI_LIB -lfftw_mpi -lfftw" FFT_FFTW2_MPI_CFLAGS="-DHAVE_FFT_FFTW2_MPI -DHAVE_FFT -I$FFTW2_MPI_INCLUDE" LIBS="$FFT_FFTW2_MPI_LIBS" CFLAGS="$CFLAGS $FFT_FFTW2_MPI_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW2_MPI_CFLAGS" have_fft_fftw2mpi=true unset ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan unset ac_cv_lib_fftw_fftw3d_create_plan unset ac_cv_header_fftw_mpi_h unset ac_cv_header_fftw_h echo "$as_me:$LINENO: checking for fftw3d_mpi_create_plan in -lfftw_mpi" >&5 echo $ECHO_N "checking for fftw3d_mpi_create_plan in -lfftw_mpi... $ECHO_C" >&6 if test "${ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw_mpi $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw3d_mpi_create_plan (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { fftw3d_mpi_create_plan (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan" >&5 echo "${ECHO_T}$ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan" >&6 if test $ac_cv_lib_fftw_mpi_fftw3d_mpi_create_plan = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBFFTW_MPI 1 _ACEOF LIBS="-lfftw_mpi $LIBS" else have_fft_fftw2mpi=false fi echo "$as_me:$LINENO: checking for fftw3d_create_plan in -lfftw" >&5 echo $ECHO_N "checking for fftw3d_create_plan in -lfftw... $ECHO_C" >&6 if test "${ac_cv_lib_fftw_fftw3d_create_plan+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw3d_create_plan (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { fftw3d_create_plan (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw_fftw3d_create_plan=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_fftw_fftw3d_create_plan=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw_fftw3d_create_plan" >&5 echo "${ECHO_T}$ac_cv_lib_fftw_fftw3d_create_plan" >&6 if test $ac_cv_lib_fftw_fftw3d_create_plan = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBFFTW 1 _ACEOF LIBS="-lfftw $LIBS" else have_fft_fftw2mpi=false fi if test "${ac_cv_header_fftw_mpi_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw_mpi.h" >&5 echo $ECHO_N "checking for fftw_mpi.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_mpi_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_mpi_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_mpi_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw_mpi.h usability" >&5 echo $ECHO_N "checking fftw_mpi.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw_mpi.h presence" >&5 echo $ECHO_N "checking fftw_mpi.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw_mpi.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&2;};; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw_mpi.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw_mpi.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw_mpi.h: proceeding with the preprocessor's result" >&2;};; esac echo "$as_me:$LINENO: checking for fftw_mpi.h" >&5 echo $ECHO_N "checking for fftw_mpi.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_mpi_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw_mpi_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_mpi_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_mpi_h" >&6 fi if test $ac_cv_header_fftw_mpi_h = yes; then : else have_fft_fftw2mpi=false fi if test "${ac_cv_header_fftw_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw.h usability" >&5 echo $ECHO_N "checking fftw.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw.h presence" >&5 echo $ECHO_N "checking fftw.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;};; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;};; esac echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 fi if test $ac_cv_header_fftw_h = yes; then : else have_fft_fftw2mpi=false fi # # FFTW3 # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw3=false if test x"$with_fftw3" != x; then FFTW3_INCLUDE="$with_fftw3/include" FFTW3_LIB="$with_fftw3/lib" FFTW3_ROOT="$with_fftw3" require_fftw3=true fi FFT_FFTW3_LIBS="-L$FFTW3_LIB -lfftw3" FFT_FFTW3_CFLAGS="-DHAVE_FFT_FFTW3 -DHAVE_FFT -I$FFTW3_INCLUDE" LIBS="$FFT_FFTW3_LIBS" CFLAGS="$CFLAGS $FFT_FFTW3_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW3_CFLAGS" have_fft_fftw3=true unset ac_cv_lib_fftw3_fftw_plan_dft_3d unset ac_cv_header_fftw3_h echo "$as_me:$LINENO: checking for fftw_plan_dft_3d in -lfftw3" >&5 echo $ECHO_N "checking for fftw_plan_dft_3d in -lfftw3... $ECHO_C" >&6 if test "${ac_cv_lib_fftw3_fftw_plan_dft_3d+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw3 $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw_plan_dft_3d (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { fftw_plan_dft_3d (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw3_fftw_plan_dft_3d=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_fftw3_fftw_plan_dft_3d=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw3_fftw_plan_dft_3d" >&5 echo "${ECHO_T}$ac_cv_lib_fftw3_fftw_plan_dft_3d" >&6 if test $ac_cv_lib_fftw3_fftw_plan_dft_3d = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBFFTW3 1 _ACEOF LIBS="-lfftw3 $LIBS" else have_fft_fftw3=false fi if test "${ac_cv_header_fftw3_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw3.h" >&5 echo $ECHO_N "checking for fftw3.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw3_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw3_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw3_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw3.h usability" >&5 echo $ECHO_N "checking fftw3.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw3.h presence" >&5 echo $ECHO_N "checking fftw3.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw3.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw3.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw3.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw3.h: proceeding with the preprocessor's result" >&2;};; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw3.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw3.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw3.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw3.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw3.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw3.h: proceeding with the preprocessor's result" >&2;};; esac echo "$as_me:$LINENO: checking for fftw3.h" >&5 echo $ECHO_N "checking for fftw3.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw3_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw3_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw3_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw3_h" >&6 fi if test $ac_cv_header_fftw3_h = yes; then : else have_fft_fftw3=false fi # # FFTW2 # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags require_fftw2=false if test x"$with_fftw2" != x; then FFTW2_INCLUDE="$with_fftw2/include" FFTW2_LIB="$with_fftw2/lib" FFTW2_ROOT="$with_fftw2" require_fftw2=true fi FFT_FFTW2_LIBS="-L$FFTW2_LIB -lfftw" FFT_FFTW2_CFLAGS="-DHAVE_FFT_FFTW2 -DHAVE_FFT -I$FFTW2_INCLUDE" LIBS="$FFT_FFTW2_LIBS" CFLAGS="$CFLAGS $FFT_FFTW2_CFLAGS" CPPFLAGS="$CPPFLAGS $FFT_FFTW2_CFLAGS" have_fft_fftw2=true unset ac_cv_lib_fftw_fftw3d_create_plan unset ac_cv_header_fftw_h echo "$as_me:$LINENO: checking for fftw3d_create_plan in -lfftw" >&5 echo $ECHO_N "checking for fftw3d_create_plan in -lfftw... $ECHO_C" >&6 if test "${ac_cv_lib_fftw_fftw3d_create_plan+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfftw $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fftw3d_create_plan (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { fftw3d_create_plan (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fftw_fftw3d_create_plan=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_fftw_fftw3d_create_plan=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fftw_fftw3d_create_plan" >&5 echo "${ECHO_T}$ac_cv_lib_fftw_fftw3d_create_plan" >&6 if test $ac_cv_lib_fftw_fftw3d_create_plan = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBFFTW 1 _ACEOF LIBS="-lfftw $LIBS" else have_fft_fftw2=false fi if test "${ac_cv_header_fftw_h+set}" = set; then echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking fftw.h usability" >&5 echo $ECHO_N "checking fftw.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking fftw.h presence" >&5 echo $ECHO_N "checking fftw.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: fftw.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;};; no:yes ) { echo "$as_me:$LINENO: WARNING: fftw.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: fftw.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: fftw.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: fftw.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: fftw.h: proceeding with the preprocessor's result" >&2;};; esac echo "$as_me:$LINENO: checking for fftw.h" >&5 echo $ECHO_N "checking for fftw.h... $ECHO_C" >&6 if test "${ac_cv_header_fftw_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_fftw_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_fftw_h" >&5 echo "${ECHO_T}$ac_cv_header_fftw_h" >&6 fi if test $ac_cv_header_fftw_h = yes; then : else have_fft_fftw2=false fi # echo "$as_me:$LINENO: checking FFT SGI complib.sgimath" >&5 echo $ECHO_N "checking FFT SGI complib.sgimath... $ECHO_C" >&6 if test $have_fft_sgi = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT ESSL" >&5 echo $ECHO_N "checking FFT ESSL... $ECHO_C" >&6 if test $have_fft_essl = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT FFTW3" >&5 echo $ECHO_N "checking FFT FFTW3... $ECHO_C" >&6 if test $have_fft_fftw3 = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT FFTW2" >&5 echo $ECHO_N "checking FFT FFTW2... $ECHO_C" >&6 if test $have_fft_fftw2 = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi echo "$as_me:$LINENO: checking FFT FFTW2 MPI" >&5 echo $ECHO_N "checking FFT FFTW2 MPI... $ECHO_C" >&6 if test $have_fft_fftw2mpi = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi # Now, pick the right one ... have_fft=false if (test x"$with_fft" = xsgi && test $have_fft_sgi = true) then echo "using SGI FFT complib.sgimath" FFT_LIBS=$FFT_SGI_LIBS FFT_CFLAGS=$FFT_SGI_CFLAGS have_fft=true elif (test x"$with_fft" = xessl && test $have_fft_essl = true) then echo "using FFT ESSL" FFT_LIBS=$FFT_ESSL_LIBS FFT_CFLAGS=$FFT_ESSL_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw2mpi && test $have_fft_fftw2mpi = true && $have_mpi = true) then echo "using FFTW2 MPI" FFT_LIBS=$FFT_FFTW2_MPI_LIBS FFT_CFLAGS=$FFT_FFTW2_MPI_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw3 && test $have_fft_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS have_fft=true elif (test x"$with_fft" = xfftw2 && test $have_fft_fftw2 = true) then echo "using FFTW2" FFT_LIBS=$FFT_FFTW2_LIBS FFT_CFLAGS=$FFT_FFTW2_CFLAGS have_fft=true elif (test x"$with_fft" = xzfft) then echo "using FFT ZFFT" FFT_LIBS=$FFT_ZFFT_LIBS FFT_CFLAGS=$FFT_ZFFT_CFLAGS have_fft=true else if (test x"$with_fft" != x) then echo "Opps ... $with_fft not supported!" fi if (test $have_fft_fftw2mpi = true && test $require_fftw2mpi = true && $have_mpi = true) then echo "using FFTW2 MPI" FFT_LIBS=$FFT_FFTW2_MPI_LIBS FFT_CFLAGS=$FFT_FFTW2_MPI_CFLAGS elif (test $have_fft_fftw3 = true && test $require_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS elif (test $have_fft_sgi = true) then echo "using SGI FFT complib.sgimath" FFT_LIBS=$FFT_SGI_LIBS FFT_CFLAGS=$FFT_SGI_CFLAGS elif (test $have_fft_essl = true) then echo "using FFT ESSL" FFT_LIBS=$FFT_ESSL_LIBS FFT_CFLAGS=$FFT_ESSL_CFLAGS elif (test $have_fft_fftw3 = true) then echo "using FFTW3" FFT_LIBS=$FFT_FFTW3_LIBS FFT_CFLAGS=$FFT_FFTW3_CFLAGS elif (test $have_fft_fftw2 = true) then echo "using FFTW2" FFT_LIBS=$FFT_FFTW2_LIBS FFT_CFLAGS=$FFT_FFTW2_CFLAGS else echo "using FFT ZFFT" FFT_LIBS=$FFT_ZFFT_LIBS FFT_CFLAGS=$FFT_ZFFT_CFLAGS fi fi # echo "FFT_ESSL_LIBS : $FFT_ESSL_LIBS" # echo "FFT_ESSL_CFLAGS : $FFT_ESSL_CFLAGS" # echo "FFT_FFTW3_LIBS : $FFT_FFTW3_LIBS" # echo "FFT_FFTW3_CFLAGS : $FFT_FFTW3_CFLAGS" # echo "FFT_FFTW2_LIBS : $FFT_FFTW2_LIBS" # echo "FFT_FFTW2_CFLAGS : $FFT_FFTW2_CFLAGS" # echo "FFT_LIBS : $FFT_LIBS" # echo "FFT_CFLAGS : $FFT_CFLAGS" # PNG LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_png=true PNG_LIBS="-lpng" echo "$as_me:$LINENO: checking for compress in -lz" >&5 echo $ECHO_N "checking for compress in -lz... $ECHO_C" >&6 if test "${ac_cv_lib_z_compress+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char compress (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { compress (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_z_compress=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_z_compress=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress" >&5 echo "${ECHO_T}$ac_cv_lib_z_compress" >&6 if test $ac_cv_lib_z_compress = yes; then LIBS="$LIBS -lz" GLUT_LIBS="$GLUT_LIBS -lz" fi if test "${ac_cv_header_png_h+set}" = set; then echo "$as_me:$LINENO: checking for png.h" >&5 echo $ECHO_N "checking for png.h... $ECHO_C" >&6 if test "${ac_cv_header_png_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5 echo "${ECHO_T}$ac_cv_header_png_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking png.h usability" >&5 echo $ECHO_N "checking png.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking png.h presence" >&5 echo $ECHO_N "checking png.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: png.h: proceeding with the preprocessor's result" >&2;};; no:yes ) { echo "$as_me:$LINENO: WARNING: png.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: png.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: png.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: png.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: png.h: proceeding with the preprocessor's result" >&2;};; esac echo "$as_me:$LINENO: checking for png.h" >&5 echo $ECHO_N "checking for png.h... $ECHO_C" >&6 if test "${ac_cv_header_png_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_png_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5 echo "${ECHO_T}$ac_cv_header_png_h" >&6 fi if test $ac_cv_header_png_h = yes; then : else have_png=false PNG_LIBS="" fi echo "$as_me:$LINENO: checking for png_create_write_struct in -lpng" >&5 echo $ECHO_N "checking for png_create_write_struct in -lpng... $ECHO_C" >&6 if test "${ac_cv_lib_png_png_create_write_struct+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpng $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char png_create_write_struct (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { png_create_write_struct (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_png_png_create_write_struct=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_png_png_create_write_struct=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_png_png_create_write_struct" >&5 echo "${ECHO_T}$ac_cv_lib_png_png_create_write_struct" >&6 if test $ac_cv_lib_png_png_create_write_struct = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBPNG 1 _ACEOF LIBS="-lpng $LIBS" else have_png=false PNG_LIBS="" fi if (test "$PNG_LIBS" != "") then echo "using PNG... yes" else echo "using PNG... no" fi # X11 LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_x11=true #X_CFLAGS="-I/usr/X11R6/include" #X_LIBS="-L/usr/X11R6/lib -lXm -lXt -lXext -lX11" LIBS="$X_LIBS $LIBS -lGLU -lGL -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi -lXext -lX11" CFLAGS="$CFLAGS $X_CFLAGS" echo "$as_me:$LINENO: checking for pthread_cancel in -lpthread" >&5 echo $ECHO_N "checking for pthread_cancel in -lpthread... $ECHO_C" >&6 if test "${ac_cv_lib_pthread_pthread_cancel+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char pthread_cancel (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { pthread_cancel (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_pthread_pthread_cancel=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_pthread_pthread_cancel=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_cancel" >&5 echo "${ECHO_T}$ac_cv_lib_pthread_pthread_cancel" >&6 if test $ac_cv_lib_pthread_pthread_cancel = yes; then LIBS="$LIBS -lpthread" fi echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then LIBS="$LIBS -ldl" fi #echo "$X_LIBS $X_CFLAGS" #echo "$LIBS $CFLAGS" #AC_CHECK_LIB(Xm, XmStringFree, ,[have_x11=false]) echo "$as_me:$LINENO: checking for XmuAllStandardColormaps in -lXmu" >&5 echo $ECHO_N "checking for XmuAllStandardColormaps in -lXmu... $ECHO_C" >&6 if test "${ac_cv_lib_Xmu_XmuAllStandardColormaps_+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXmu $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XmuAllStandardColormaps (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { XmuAllStandardColormaps (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xmu_XmuAllStandardColormaps_=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_Xmu_XmuAllStandardColormaps_=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xmu_XmuAllStandardColormaps_" >&5 echo "${ECHO_T}$ac_cv_lib_Xmu_XmuAllStandardColormaps_" >&6 if test $ac_cv_lib_Xmu_XmuAllStandardColormaps_ = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBXMU 1 _ACEOF LIBS="-lXmu $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XtAppInitialize in -lXt" >&5 echo $ECHO_N "checking for XtAppInitialize in -lXt... $ECHO_C" >&6 if test "${ac_cv_lib_Xt_XtAppInitialize+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXt $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XtAppInitialize (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { XtAppInitialize (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xt_XtAppInitialize=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_Xt_XtAppInitialize=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xt_XtAppInitialize" >&5 echo "${ECHO_T}$ac_cv_lib_Xt_XtAppInitialize" >&6 if test $ac_cv_lib_Xt_XtAppInitialize = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBXT 1 _ACEOF LIBS="-lXt $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for SmcOpenConnection in -lSM" >&5 echo $ECHO_N "checking for SmcOpenConnection in -lSM... $ECHO_C" >&6 if test "${ac_cv_lib_SM_SmcOpenConnection+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lSM $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char SmcOpenConnection (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { SmcOpenConnection (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_SM_SmcOpenConnection=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_SM_SmcOpenConnection=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_SM_SmcOpenConnection" >&5 echo "${ECHO_T}$ac_cv_lib_SM_SmcOpenConnection" >&6 if test $ac_cv_lib_SM_SmcOpenConnection = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBSM 1 _ACEOF LIBS="-lSM $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for IceAcceptConnection in -lICE" >&5 echo $ECHO_N "checking for IceAcceptConnection in -lICE... $ECHO_C" >&6 if test "${ac_cv_lib_ICE_IceAcceptConnection+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char IceAcceptConnection (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { IceAcceptConnection (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ICE_IceAcceptConnection=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_ICE_IceAcceptConnection=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceAcceptConnection" >&5 echo "${ECHO_T}$ac_cv_lib_ICE_IceAcceptConnection" >&6 if test $ac_cv_lib_ICE_IceAcceptConnection = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBICE 1 _ACEOF LIBS="-lICE $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XextCreateExtension in -lXext" >&5 echo $ECHO_N "checking for XextCreateExtension in -lXext... $ECHO_C" >&6 if test "${ac_cv_lib_Xext_XextCreateExtension+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXext $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XextCreateExtension (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { XextCreateExtension (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xext_XextCreateExtension=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_Xext_XextCreateExtension=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XextCreateExtension" >&5 echo "${ECHO_T}$ac_cv_lib_Xext_XextCreateExtension" >&6 if test $ac_cv_lib_Xext_XextCreateExtension = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBXEXT 1 _ACEOF LIBS="-lXext $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XOpenDisplay in -lX11" >&5 echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6 if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lX11 $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XOpenDisplay (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { XOpenDisplay (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_X11_XOpenDisplay=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_X11_XOpenDisplay=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XOpenDisplay" >&5 echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6 if test $ac_cv_lib_X11_XOpenDisplay = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBX11 1 _ACEOF LIBS="-lX11 $LIBS" else have_x11=false fi echo "$as_me:$LINENO: checking for XOpenDevice in -lXi" >&5 echo $ECHO_N "checking for XOpenDevice in -lXi... $ECHO_C" >&6 if test "${ac_cv_lib_Xi_XOpenDevice+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXi $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char XOpenDevice (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { XOpenDevice (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xi_XOpenDevice=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_Xi_XOpenDevice=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_Xi_XOpenDevice" >&5 echo "${ECHO_T}$ac_cv_lib_Xi_XOpenDevice" >&6 if test $ac_cv_lib_Xi_XOpenDevice = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBXI 1 _ACEOF LIBS="-lXi $LIBS" else have_x11=false fi # GLUT LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags have_glut=true require_glut=false if test "$with_glut" != ""; then if (test "$with_glut" != false && test "$with_glut" != no) then require_glut=true fi if (test "$with_glut" != yes && test "$with_glut" != true && test "$with_glut" != false && test "$with_glut" != no) then GLUT_ROOT="$with_glut" GLUT_LIBS="-L$GLUT_ROOT/lib -L$GLUT_ROOT/lib/glut" GLUT_CFLAGS="-I$GLUT_ROOT/include -I$GLUT_ROOT/include/GL" fi fi GLUT_LIBS="$GLUT_LIBS $X_LIBS -lglut -lGLU -lGL -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi -lXext -lX11" GLUT_CFLAGS="$GLUT_CFLAGS $X_CFLAGS" LIBS=$GLUT_LIBS CPPFLAGS="$CPPFLAGS $GLUT_CFLAGS" echo "$as_me:$LINENO: checking for pthread_cancel in -lpthread" >&5 echo $ECHO_N "checking for pthread_cancel in -lpthread... $ECHO_C" >&6 if test "${ac_cv_lib_pthread_pthread_cancel+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char pthread_cancel (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { pthread_cancel (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_pthread_pthread_cancel=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_pthread_pthread_cancel=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_cancel" >&5 echo "${ECHO_T}$ac_cv_lib_pthread_pthread_cancel" >&6 if test $ac_cv_lib_pthread_pthread_cancel = yes; then GLUT_LIBS="$GLUT_LIBS -lpthread" LIBS="$LIBS -lpthread" fi echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dlopen (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then GLUT_LIBS="$GLUT_LIBS -ldl" LIBS="$LIBS -ldl" fi echo "$as_me:$LINENO: checking for glClear in -lGL" >&5 echo $ECHO_N "checking for glClear in -lGL... $ECHO_C" >&6 if test "${ac_cv_lib_GL_glClear+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGL $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char glClear (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { glClear (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_GL_glClear=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_GL_glClear=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_GL_glClear" >&5 echo "${ECHO_T}$ac_cv_lib_GL_glClear" >&6 if test $ac_cv_lib_GL_glClear = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBGL 1 _ACEOF LIBS="-lGL $LIBS" else have_glut=false fi echo "$as_me:$LINENO: checking for gluLookAt in -lGLU" >&5 echo $ECHO_N "checking for gluLookAt in -lGLU... $ECHO_C" >&6 if test "${ac_cv_lib_GLU_gluLookAt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGLU $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gluLookAt (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { gluLookAt (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_GLU_gluLookAt=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_GLU_gluLookAt=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_GLU_gluLookAt" >&5 echo "${ECHO_T}$ac_cv_lib_GLU_gluLookAt" >&6 if test $ac_cv_lib_GLU_gluLookAt = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBGLU 1 _ACEOF LIBS="-lGLU $LIBS" else have_glut=false fi echo "$as_me:$LINENO: checking for glutMainLoop in -lglut" >&5 echo $ECHO_N "checking for glutMainLoop in -lglut... $ECHO_C" >&6 if test "${ac_cv_lib_glut_glutMainLoop+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lglut $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char glutMainLoop (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { glutMainLoop (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_glut_glutMainLoop=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_glut_glutMainLoop=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_glut_glutMainLoop" >&5 echo "${ECHO_T}$ac_cv_lib_glut_glutMainLoop" >&6 if test $ac_cv_lib_glut_glutMainLoop = yes; then cat >>confdefs.h <<_ACEOF @%:@define HAVE_LIBGLUT 1 _ACEOF LIBS="-lglut $LIBS" else have_glut=false fi if test "${ac_cv_header_GL_glut_h+set}" = set; then echo "$as_me:$LINENO: checking for GL/glut.h" >&5 echo $ECHO_N "checking for GL/glut.h... $ECHO_C" >&6 if test "${ac_cv_header_GL_glut_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_GL_glut_h" >&5 echo "${ECHO_T}$ac_cv_header_GL_glut_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking GL/glut.h usability" >&5 echo $ECHO_N "checking GL/glut.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" $ac_includes_default @%:@include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking GL/glut.h presence" >&5 echo $ECHO_N "checking GL/glut.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" @%:@include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: GL/glut.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: GL/glut.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&2;};; no:yes ) { echo "$as_me:$LINENO: WARNING: GL/glut.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: GL/glut.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: GL/glut.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: GL/glut.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: GL/glut.h: proceeding with the preprocessor's result" >&2;};; esac echo "$as_me:$LINENO: checking for GL/glut.h" >&5 echo $ECHO_N "checking for GL/glut.h... $ECHO_C" >&6 if test "${ac_cv_header_GL_glut_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_GL_glut_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_GL_glut_h" >&5 echo "${ECHO_T}$ac_cv_header_GL_glut_h" >&6 fi if test $ac_cv_header_GL_glut_h = yes; then : else have_glut=false fi echo "$as_me:$LINENO: checking for jpeg_CreateDecompress in -ljpeg" >&5 echo $ECHO_N "checking for jpeg_CreateDecompress in -ljpeg... $ECHO_C" >&6 if test "${ac_cv_lib_jpeg_jpeg_CreateDecompress+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ljpeg $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char jpeg_CreateDecompress (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { jpeg_CreateDecompress (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_jpeg_jpeg_CreateDecompress=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_jpeg_jpeg_CreateDecompress=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_CreateDecompress" >&5 echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_CreateDecompress" >&6 if test $ac_cv_lib_jpeg_jpeg_CreateDecompress = yes; then GLUT_LIBS="$GLUT_LIBS -ljpeg" fi echo "$as_me:$LINENO: checking for TIFFSetErrorHandler in -ltiff" >&5 echo $ECHO_N "checking for TIFFSetErrorHandler in -ltiff... $ECHO_C" >&6 if test "${ac_cv_lib_tiff_TIFFSetErrorHandler+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ltiff $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char TIFFSetErrorHandler (); #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { TIFFSetErrorHandler (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_tiff_TIFFSetErrorHandler=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_tiff_TIFFSetErrorHandler=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_tiff_TIFFSetErrorHandler" >&5 echo "${ECHO_T}$ac_cv_lib_tiff_TIFFSetErrorHandler" >&6 if test $ac_cv_lib_tiff_TIFFSetErrorHandler = yes; then GLUT_LIBS="$GLUT_LIBS -ltiff" fi echo "$as_me:$LINENO: checking found GLUT" >&5 echo $ECHO_N "checking found GLUT... $ECHO_C" >&6 if test $have_glut = false; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; else echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; fi if (test $require_glut = true) then if (test $have_glut = false) then { { echo "$as_me:$LINENO: error: Required library GLUT not found!" >&5 echo "$as_me: error: Required library GLUT not found!" >&2;} { (exit 1); exit 1; }; } elif (test $have_png = false) then { { echo "$as_me:$LINENO: error: GLUT GUI cannot be built. Missing PNG library!!!" >&5 echo "$as_me: error: GLUT GUI cannot be built. Missing PNG library!!!" >&2;} { (exit 1); exit 1; }; } elif (test $have_x11 = false) then { { echo "$as_me:$LINENO: error: GLUT GUI cannot be built. Missing X11 library!!!" >&5 echo "$as_me: error: GLUT GUI cannot be built. Missing X11 library!!!" >&2;} { (exit 1); exit 1; }; } else GLUT_CFLAGS="-DHAVE_GLUT $GLUT_CFLAGS" fi else GLUT_CFLAGS="" GLUT_LIBS="" X_LIBS="" X_CFLAGS="" #PNG_LIBS="" fi if (test "$GLUT_LIBS" != "") then echo "using GLUT... yes" else echo "using GLUT... no" fi #echo "GLUT: $GLUT_CFLAGS $GLUT_LIBS" # # Check to see if the user wants our preset Sun g++ flags and the g++ compiler # LIBS=$save_libs CFLAGS=$save_cflags CPPFLAGS=$save_cppflags CXXFLAGS=$save_cxxflags #AC_SUBST(CFLAGS) #AC_SUBST(LIBS) compiler_version=`($CXX -V;$CXX -v) 2>&1 | perl ./compilerVersion.pl` cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_COMPILER "$CXX $CXXFLAGS" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define PACKAGE_COMPILER_VERSION "$compiler_version" _ACEOF #Default AR #Early versions of automake AR1="ar" #Late versions of automake AR2="ar cru" # #Change the AR flag to CC -ar -o if we are using MIPSpro #in debug or production mode. # if(test "$WANT_IRIX_MIPSPRO_MPI_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_MPI_DEBUG_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_FLAGS" = 1 || test "$WANT_IRIX_MIPSPRO_DEBUG_FLAGS" = 1) then AR1="../mipscc_ar" AR2="$(CXX) -ar -o" fi CLEANFILES="-r *~" # # Check for "makedepend". Not everyone has this. # for ac_prog in makedepend do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_MAKEDEPEND+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$MAKEDEPEND"; then ac_cv_prog_MAKEDEPEND="$MAKEDEPEND" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_MAKEDEPEND="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi MAKEDEPEND=$ac_cv_prog_MAKEDEPEND if test -n "$MAKEDEPEND"; then echo "$as_me:$LINENO: result: $MAKEDEPEND" >&5 echo "${ECHO_T}$MAKEDEPEND" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$MAKEDEPEND" && break done test -n "$MAKEDEPEND" || MAKEDEPEND="no" # # Fix for ar # # ac_config_files="$ac_config_files Makefile framework/Makefile framework/base/Makefile framework/io/Makefile framework/parallel/Makefile framework/topology/Makefile framework/forces/Makefile framework/imd/Makefile framework/integrators/Makefile framework/frontend/Makefile framework/factories/Makefile applications/Makefile applications/protomol-app/Makefile applications/coulomb-app/Makefile applications/dcd2dcd-app/Makefile applications/iSGProtomol-app/Makefile applications/iSGProtomol-app/base/Makefile applications/iSGProtomol-app/io/Makefile applications/iSGProtomol-app/frontend/Makefile applications/iSGProtomol-app/forces/Makefile applications/iSGProtomol-app/factories/Makefile applications/iSGProtomol-app/integrators/Makefile applications/coords2coords-app/Makefile applications/xyzviz-app/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overriden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. { (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | sed ' t clear : clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache if cmp -s $cache_file confcache; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; }' fi DEFS=-DHAVE_CONFIG_H if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # NLS nuisances. # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi (set +x; test -n "`(LANG=C; export LANG) 2>&1`") && { $as_unset LANG || test "${LANG+set}" != set; } || { LANG=C; export LANG; } (set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") && { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } || { LC_ALL=C; export LC_ALL; } (set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") && { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } || { LC_TIME=C; export LC_TIME; } (set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") && { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } || { LC_CTYPE=C; export LC_CTYPE; } (set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") && { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } || { LANGUAGE=C; export LANGUAGE; } (set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") && { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } || { LC_COLLATE=C; export LC_COLLATE; } (set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") && { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } || { LC_NUMERIC=C; export LC_NUMERIC; } (set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") && { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } || { LC_MESSAGES=C; export LC_MESSAGES; } # Name of the executable. as_me=`(basename "$0") 2>/dev/null || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conftest.sh echo "exit 0" >>conftest.sh chmod +x conftest.sh if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conftest.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; } exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX @%:@@%:@ Running $as_me. @%:@@%:@ _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by protomol $as_me 2.0.3, which was generated by GNU Autoconf 2.53. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 _ACEOF # Files that config.status was made for. if test -n "$ac_config_files"; then echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS fi if test -n "$ac_config_headers"; then echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS fi if test -n "$ac_config_links"; then echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS fi if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ protomol config.status 2.0.3 configured by $0, generated by GNU Autoconf 2.53, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir INSTALL="$INSTALL" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` shift set dummy "$ac_option" "$ac_optarg" ${1+"$@"} shift ;; -*);; *) # This is not an option, so the user has probably given explicit # arguments. ac_need_defaults=false;; esac case $1 in # Handling of the options. _ACEOF cat >>$CONFIG_STATUS <<_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion" exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;; _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) shift CONFIG_FILES="$CONFIG_FILES $1" ac_need_defaults=false;; --header | --heade | --head | --hea ) shift CONFIG_HEADERS="$CONFIG_HEADERS $1" ac_need_defaults=false;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; esac shift done _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS section. # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "framework/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/Makefile" ;; "framework/base/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/base/Makefile" ;; "framework/io/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/io/Makefile" ;; "framework/parallel/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/parallel/Makefile" ;; "framework/topology/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/topology/Makefile" ;; "framework/forces/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/forces/Makefile" ;; "framework/imd/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/imd/Makefile" ;; "framework/integrators/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/integrators/Makefile" ;; "framework/frontend/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/frontend/Makefile" ;; "framework/factories/Makefile" ) CONFIG_FILES="$CONFIG_FILES framework/factories/Makefile" ;; "applications/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/Makefile" ;; "applications/protomol-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/protomol-app/Makefile" ;; "applications/coulomb-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/coulomb-app/Makefile" ;; "applications/dcd2dcd-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/dcd2dcd-app/Makefile" ;; "applications/iSGProtomol-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/Makefile" ;; "applications/iSGProtomol-app/base/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/base/Makefile" ;; "applications/iSGProtomol-app/io/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/io/Makefile" ;; "applications/iSGProtomol-app/frontend/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/frontend/Makefile" ;; "applications/iSGProtomol-app/forces/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/forces/Makefile" ;; "applications/iSGProtomol-app/factories/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/factories/Makefile" ;; "applications/iSGProtomol-app/integrators/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/iSGProtomol-app/integrators/Makefile" ;; "applications/coords2coords-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/coords2coords-app/Makefile" ;; "applications/xyzviz-app/Makefile" ) CONFIG_FILES="$CONFIG_FILES applications/xyzviz-app/Makefile" ;; "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "protomol_config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS protomol_config.h" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. : ${TMPDIR=/tmp} { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=$TMPDIR/cs$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 { (exit 1); exit 1; } } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "\$CONFIG_FILES"; then # Protect against being on the right side of a sed subst in config.status. sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF s,@SHELL@,$SHELL,;t t s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t s,@bindir@,$bindir,;t t s,@sbindir@,$sbindir,;t t s,@libexecdir@,$libexecdir,;t t s,@datadir@,$datadir,;t t s,@sysconfdir@,$sysconfdir,;t t s,@sharedstatedir@,$sharedstatedir,;t t s,@localstatedir@,$localstatedir,;t t s,@libdir@,$libdir,;t t s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t s,@DEFS@,$DEFS,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@LIBS@,$LIBS,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t s,@PACKAGE@,$PACKAGE,;t t s,@VERSION@,$VERSION,;t t s,@ACLOCAL@,$ACLOCAL,;t t s,@AUTOCONF@,$AUTOCONF,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t s,@MAKEINFO@,$MAKEINFO,;t t s,@AMTAR@,$AMTAR,;t t s,@install_sh@,$install_sh,;t t s,@STRIP@,$STRIP,;t t s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t s,@PROTOMOL_MAJOR_VERSION@,$PROTOMOL_MAJOR_VERSION,;t t s,@PROTOMOL_MINOR_VERSION@,$PROTOMOL_MINOR_VERSION,;t t s,@PROTOMOL_PATCH_LEVEL@,$PROTOMOL_PATCH_LEVEL,;t t s,@LT_RELEASE@,$LT_RELEASE,;t t s,@LT_CURRENT@,$LT_CURRENT,;t t s,@LT_REVISION@,$LT_REVISION,;t t s,@LT_AGE@,$LT_AGE,;t t s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@EXEEXT@,$EXEEXT,;t t s,@OBJEXT@,$OBJEXT,;t t s,@DEPDIR@,$DEPDIR,;t t s,@am__include@,$am__include,;t t s,@am__quote@,$am__quote,;t t s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t s,@CXXDEPMODE@,$CXXDEPMODE,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t s,@CCDEPMODE@,$CCDEPMODE,;t t s,@DEPFLAGS@,$DEPFLAGS,;t t s,@CXXCPP@,$CXXCPP,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t s,@X_CFLAGS@,$X_CFLAGS,;t t s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t s,@X_LIBS@,$X_LIBS,;t t s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t s,@SOCKET_LIBS@,$SOCKET_LIBS,;t t s,@FFT_LIBS@,$FFT_LIBS,;t t s,@FFT_CFLAGS@,$FFT_CFLAGS,;t t s,@PNG_LIBS@,$PNG_LIBS,;t t s,@GLUT_LIBS@,$GLUT_LIBS,;t t s,@GLUT_CFLAGS@,$GLUT_CFLAGS,;t t s,@CLEANFILES@,$CLEANFILES,;t t s,@MAKEDEPEND@,$MAKEDEPEND,;t t s,@AR1@,$AR1,;t t s,@AR2@,$AR2,;t t CEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { case "$ac_dir" in [\\/]* | ?:[\\/]* ) as_incr_dir=;; *) as_incr_dir=.;; esac as_dummy="$ac_dir" for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do case $as_mkdir_dir in # Skip DOS drivespec ?:) as_incr_dir=$as_mkdir_dir ;; *) as_incr_dir=$as_incr_dir/$as_mkdir_dir test -d "$as_incr_dir" || mkdir "$as_incr_dir" || { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5 echo "$as_me: error: cannot create \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; } ;; esac done; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac if test x"$ac_file" != x-; then { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then configure_input= else configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t s,@builddir@,$ac_builddir,;t t s,@abs_builddir@,$ac_abs_builddir,;t t s,@top_builddir@,$ac_top_builddir,;t t s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_HEADER section. # # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. sed 's/[ ]*$//' $ac_file_inputs >$tmp/in _ACEOF # Transform confdefs.h into two sed scripts, `conftest.defines' and # `conftest.undefs', that substitutes the proper values into # config.h.in to produce config.h. The first handles `#define' # templates, and the second `#undef' templates. # And first: Protect against being on the right side of a sed subst in # config.status. Protect against being in an unquoted here document # in config.status. rm -f conftest.defines conftest.undefs # Using a here document instead of a string reduces the quoting nightmare. # Putting comments in sed scripts is not portable. # # `end' is used to avoid that the second main sed command (meant for # 0-ary CPP macros) applies to n-ary macro definitions. # See the Autoconf documentation for `clear'. cat >confdef2sed.sed <<\_ACEOF s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end _ACEOF # If some macros were called several times there might be several times # the same #defines, which is useless. Nevertheless, we may not want to # sort them, since we want the *last* AC-DEFINE to be honored. uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs rm -f confdef2sed.sed # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >>conftest.undefs <<\_ACEOF s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, _ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.defines >/dev/null do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/defines.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines echo ' fi # egrep' >>$CONFIG_STATUS echo >>$CONFIG_STATUS # Break up conftest.undefs because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #undef templates' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.undefs >/dev/null do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/undefs.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail rm -f conftest.undefs mv conftest.tail conftest.undefs done rm -f conftest.undefs cat >>$CONFIG_STATUS <<\_ACEOF # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then echo "/* Generated by configure. */" >$tmp/config.h else echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then if cmp -s $ac_file $tmp/config.h 2>/dev/null; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { case "$ac_dir" in [\\/]* | ?:[\\/]* ) as_incr_dir=;; *) as_incr_dir=.;; esac as_dummy="$ac_dir" for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do case $as_mkdir_dir in # Skip DOS drivespec ?:) as_incr_dir=$as_mkdir_dir ;; *) as_incr_dir=$as_incr_dir/$as_mkdir_dir test -d "$as_incr_dir" || mkdir "$as_incr_dir" || { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5 echo "$as_me: error: cannot create \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; } ;; esac done; } rm -f $ac_file mv $tmp/config.h $ac_file fi else cat $tmp/config.h rm -f $tmp/config.h fi # Run the commands associated with the file. case $ac_file in protomol_config.h ) # update the timestamp echo 'timestamp for protomol_config.h' >"./stamp-h1" ;; esac done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_COMMANDS section. # for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_dir=`(dirname "$ac_dest") 2>/dev/null || $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_dest" : 'X\(//\)[^/]' \| \ X"$ac_dest" : 'X\(//\)$' \| \ X"$ac_dest" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_dest" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # So let's grep whole file. if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`(dirname "$mf") 2>/dev/null || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` else continue fi grep '^DEP_FILES *= *[^ @%:@]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` test -z "$DEPDIR" && continue # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n -e '/^U = / s///p' < "$mf"` test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # We invoke sed twice because it is the simplest approach to # changing $(DEPDIR) to its actual value in the expansion. for file in `sed -n -e ' /^DEP_FILES = .*\\\\$/ { s/^DEP_FILES = // :loop s/\\\\$// p n /\\\\$/ b loop p } /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`(dirname "$file") 2>/dev/null || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { case $dirpart/$fdir in [\\/]* | ?:[\\/]* ) as_incr_dir=;; *) as_incr_dir=.;; esac as_dummy=$dirpart/$fdir for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do case $as_mkdir_dir in # Skip DOS drivespec ?:) as_incr_dir=$as_mkdir_dir ;; *) as_incr_dir=$as_incr_dir/$as_mkdir_dir test -d "$as_incr_dir" || mkdir "$as_incr_dir" || { { echo "$as_me:$LINENO: error: cannot create $dirpart/$fdir" >&5 echo "$as_me: error: cannot create $dirpart/$fdir" >&2;} { (exit 1); exit 1; }; } ;; esac done; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: exec 5>/dev/null $SHELL $CONFIG_STATUS || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi echo "" echo "CC : $CC" echo "CFLAGS : $CFLAGS" echo "CXXFLAGS : $CXXFLAGS" echo "CXX : $CXX" echo "CXXCPP : $CXXCPP" echo "LIBS : $LIBS" echo "CPP : $CPP" echo "CPPFLAGS : $CPPFLAGS" echo "" echo "make clean;make depend;make" protomol/autom4te.cache/requests0100644027616700000500000002122310237151525016415 0ustar pbrenne1dip# This file was created by autom4te. # It contains the lists of macros which have been traced. # It can be safely removed. @request = ( bless( [ '0', 1, [ '/usr/share/autoconf' ], [ '/usr/share/autoconf/autoconf/autoconf.m4f', 'aclocal.m4', 'configure.in' ], { 'm4_pattern_forbid' => 1, 'AC_TYPE_OFF_T' => 1, 'AC_C_VOLATILE' => 1, 'AC_FUNC_CLOSEDIR_VOID' => 1, 'AC_REPLACE_FNMATCH' => 1, 'AC_PROG_LIBTOOL' => 1, 'AC_FUNC_STAT' => 1, 'AC_FUNC_WAIT3' => 1, 'AC_HEADER_TIME' => 1, 'AC_STRUCT_TM' => 1, 'AM_AUTOMAKE_VERSION' => 1, 'AC_FUNC_LSTAT' => 1, 'AC_FUNC_GETMNTENT' => 1, 'AC_TYPE_MODE_T' => 1, 'AC_CHECK_HEADERS' => 1, 'AC_FUNC_STRTOD' => 1, 'AC_FUNC_STRNLEN' => 1, 'AC_PROG_CXX' => 1, 'AC_PATH_X' => 1, 'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1, 'AC_PROG_AWK' => 1, 'AC_HEADER_STDC' => 1, 'AC_HEADER_MAJOR' => 1, 'AC_FUNC_ERROR_AT_LINE' => 1, 'AC_PROG_GCC_TRADITIONAL' => 1, 'AC_LIBSOURCE' => 1, 'AC_FUNC_MBRTOWC' => 1, 'AC_STRUCT_ST_BLOCKS' => 1, 'AC_TYPE_SIGNAL' => 1, 'AC_TYPE_UID_T' => 1, 'AC_PROG_MAKE_SET' => 1, 'AC_CONFIG_AUX_DIR' => 1, 'm4_pattern_allow' => 1, 'AC_DEFINE_TRACE_LITERAL' => 1, 'AC_FUNC_STRERROR_R' => 1, 'AC_PROG_CC' => 1, 'AC_DECL_SYS_SIGLIST' => 1, 'AC_FUNC_FORK' => 1, 'AC_FUNC_VPRINTF' => 1, 'AC_FUNC_STRCOLL' => 1, 'AC_PROG_YACC' => 1, 'AC_STRUCT_TIMEZONE' => 1, 'AC_INIT' => 1, 'AC_FUNC_CHOWN' => 1, 'AC_SUBST' => 1, 'AC_FUNC_ALLOCA' => 1, 'AC_CANONICAL_HOST' => 1, 'AC_FUNC_GETPGRP' => 1, 'AC_PROG_RANLIB' => 1, 'AM_INIT_AUTOMAKE' => 1, 'AC_FUNC_SETPGRP' => 1, 'AC_CONFIG_SUBDIRS' => 1, 'AC_FUNC_MMAP' => 1, 'AC_FUNC_REALLOC' => 1, 'AC_TYPE_SIZE_T' => 1, 'AC_CHECK_TYPES' => 1, 'AC_CHECK_MEMBERS' => 1, 'AM_MAINTAINER_MODE' => 1, 'AC_FUNC_UTIME_NULL' => 1, 'AC_FUNC_SELECT_ARGTYPES' => 1, 'AC_HEADER_STAT' => 1, 'AC_FUNC_STRFTIME' => 1, 'AC_PROG_CPP' => 1, 'AC_C_INLINE' => 1, 'AC_C_CONST' => 1, 'AC_TYPE_PID_T' => 1, 'AC_PROG_LEX' => 1, 'AC_CONFIG_FILES' => 1, 'include' => 1, 'AC_FUNC_SETVBUF_REVERSED' => 1, 'AC_PROG_INSTALL' => 1, 'AM_GNU_GETTEXT' => 1, 'AC_FUNC_OBSTACK' => 1, 'AC_CHECK_LIB' => 1, 'AC_FUNC_MALLOC' => 1, 'AC_FUNC_GETGROUPS' => 1, 'AC_FUNC_GETLOADAVG' => 1, 'AH_OUTPUT' => 1, 'AC_FUNC_FSEEKO' => 1, 'AM_PROG_CC_C_O' => 1, 'AC_FUNC_MKTIME' => 1, 'AC_CANONICAL_SYSTEM' => 1, 'AM_CONDITIONAL' => 1, 'AC_CONFIG_HEADERS' => 1, 'AC_HEADER_SYS_WAIT' => 1, 'AC_FUNC_MEMCMP' => 1, 'AC_PROG_LN_S' => 1, 'm4_include' => 1, 'AC_HEADER_DIRENT' => 1, 'AC_CHECK_FUNCS' => 1 } ], 'Request' ), bless( [ '1', 1, [ '/opt/freeware/share/autoconf' ], [ '--reload-state=/opt/freeware/share/autoconf/autoconf/autoconf.m4f', 'aclocal.m4', 'configure.in' ], { 'm4_pattern_forbid' => 1, 'AC_TYPE_OFF_T' => 1, 'AC_PROG_LIBTOOL' => 1, 'AC_FUNC_STAT' => 1, 'AC_FUNC_WAIT3' => 1, 'AC_HEADER_TIME' => 1, 'AC_STRUCT_TM' => 1, 'AC_FUNC_LSTAT' => 1, 'AC_TYPE_MODE_T' => 1, 'AC_CHECK_HEADERS' => 1, 'AC_FUNC_STRTOD' => 1, 'AC_PROG_CXX' => 1, 'AC_PATH_X' => 1, 'AC_PROG_AWK' => 1, 'AC_HEADER_STDC' => 1, 'AC_HEADER_MAJOR' => 1, 'AC_FUNC_ERROR_AT_LINE' => 1, 'AC_PROG_GCC_TRADITIONAL' => 1, 'AC_LIBSOURCE' => 1, 'AC_STRUCT_ST_BLOCKS' => 1, 'AC_TYPE_SIGNAL' => 1, 'AC_TYPE_UID_T' => 1, 'AC_PROG_MAKE_SET' => 1, 'm4_pattern_allow' => 1, 'AM_PROG_LIBTOOL' => 1, 'AC_DEFINE_TRACE_LITERAL' => 1, 'AC_FUNC_STRERROR_R' => 1, 'AC_PROG_CC' => 1, 'AC_DECL_SYS_SIGLIST' => 1, 'AC_FUNC_FORK' => 1, 'AC_FUNC_VPRINTF' => 1, 'AC_FUNC_STRCOLL' => 1, 'AC_PROG_YACC' => 1, 'AC_STRUCT_TIMEZONE' => 1, 'AC_FUNC_CHOWN' => 1, 'AC_SUBST' => 1, 'AC_FUNC_ALLOCA' => 1, 'AC_FUNC_GETPGRP' => 1, 'AC_PROG_RANLIB' => 1, 'AC_FUNC_SETPGRP' => 1, 'AC_FUNC_MMAP' => 1, 'AC_TYPE_SIZE_T' => 1, 'AC_CHECK_TYPES' => 1, 'AC_FUNC_UTIME_NULL' => 1, 'AC_HEADER_STAT' => 1, 'AC_FUNC_STRFTIME' => 1, 'AC_PROG_CPP' => 1, 'AC_C_INLINE' => 1, 'AC_C_CONST' => 1, 'AC_TYPE_PID_T' => 1, 'AC_PROG_LEX' => 1, 'AC_CONFIG_FILES' => 1, 'include' => 1, 'AC_FUNC_SETVBUF_REVERSED' => 1, 'AC_FUNC_FNMATCH' => 1, 'AC_PROG_INSTALL' => 1, 'AM_GNU_GETTEXT' => 1, 'AC_FUNC_OBSTACK' => 1, 'AC_CHECK_LIB' => 1, 'AC_FUNC_MALLOC' => 1, 'AC_FUNC_GETGROUPS' => 1, 'AC_FUNC_GETLOADAVG' => 1, 'AH_OUTPUT' => 1, 'AC_FUNC_FSEEKO' => 1, 'AM_CONDITIONAL' => 1, 'AC_FUNC_MKTIME' => 1, 'AC_CONFIG_HEADERS' => 1, 'AC_HEADER_SYS_WAIT' => 1, 'AC_PROG_LN_S' => 1, 'AC_FUNC_MEMCMP' => 1, 'm4_include' => 1, 'AC_HEADER_DIRENT' => 1, 'AC_CHECK_FUNCS' => 1 } ], 'Request' ) ); protomol/autom4te.cache/traces.00100644027616700000500000007722710237151525016200 0ustar pbrenne1dipm4trace:aclocal.m4:50: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) m4trace:configure.in:12: -1- AC_INIT([protomol], [2.0.3], [protomol@cse.nd.edu]) m4trace:configure.in:12: -1- m4_pattern_forbid([^_?A[CHUM]_]) m4trace:configure.in:12: -1- m4_pattern_forbid([_AC_]) m4trace:configure.in:12: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) m4trace:configure.in:12: -1- m4_pattern_allow([^AS_FLAGS$]) m4trace:configure.in:12: -1- m4_pattern_forbid([^_?m4_]) m4trace:configure.in:12: -1- m4_pattern_forbid([^dnl$]) m4trace:configure.in:12: -1- m4_pattern_forbid([^_?AS_]) m4trace:configure.in:12: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}]) m4trace:configure.in:12: -1- AC_SUBST([PATH_SEPARATOR]) m4trace:configure.in:12: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) m4trace:configure.in:12: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) m4trace:configure.in:12: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) m4trace:configure.in:12: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) m4trace:configure.in:12: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) m4trace:configure.in:12: -1- AC_SUBST([exec_prefix], [NONE]) m4trace:configure.in:12: -1- AC_SUBST([prefix], [NONE]) m4trace:configure.in:12: -1- AC_SUBST([program_transform_name], [s,x,x,]) m4trace:configure.in:12: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) m4trace:configure.in:12: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) m4trace:configure.in:12: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) m4trace:configure.in:12: -1- AC_SUBST([datadir], ['${prefix}/share']) m4trace:configure.in:12: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) m4trace:configure.in:12: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) m4trace:configure.in:12: -1- AC_SUBST([localstatedir], ['${prefix}/var']) m4trace:configure.in:12: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) m4trace:configure.in:12: -1- AC_SUBST([includedir], ['${prefix}/include']) m4trace:configure.in:12: -1- AC_SUBST([oldincludedir], ['/usr/include']) m4trace:configure.in:12: -1- AC_SUBST([infodir], ['${prefix}/info']) m4trace:configure.in:12: -1- AC_SUBST([mandir], ['${prefix}/man']) m4trace:configure.in:12: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) m4trace:configure.in:12: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ #undef PACKAGE_NAME]) m4trace:configure.in:12: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) m4trace:configure.in:12: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME]) m4trace:configure.in:12: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) m4trace:configure.in:12: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ #undef PACKAGE_VERSION]) m4trace:configure.in:12: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) m4trace:configure.in:12: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ #undef PACKAGE_STRING]) m4trace:configure.in:12: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) m4trace:configure.in:12: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT]) m4trace:configure.in:12: -1- AC_SUBST([build_alias]) m4trace:configure.in:12: -1- AC_SUBST([host_alias]) m4trace:configure.in:12: -1- AC_SUBST([target_alias]) m4trace:configure.in:12: -1- AC_SUBST([DEFS]) m4trace:configure.in:12: -1- AC_SUBST([ECHO_C]) m4trace:configure.in:12: -1- AC_SUBST([ECHO_N]) m4trace:configure.in:12: -1- AC_SUBST([ECHO_T]) m4trace:configure.in:12: -1- AC_SUBST([LIBS]) m4trace:configure.in:39: -1- AM_INIT_AUTOMAKE([protomol], [$VERSION]) m4trace:configure.in:39: -1- AM_AUTOMAKE_VERSION([1.6.3]) m4trace:configure.in:39: -1- AC_PROG_INSTALL m4trace:configure.in:39: -1- AC_SUBST([INSTALL_PROGRAM]) m4trace:configure.in:39: -1- AC_SUBST([INSTALL_SCRIPT]) m4trace:configure.in:39: -1- AC_SUBST([INSTALL_DATA]) m4trace:configure.in:39: -1- AC_SUBST([PACKAGE], [protomol]) m4trace:configure.in:39: -1- AC_SUBST([VERSION], [$VERSION]) m4trace:configure.in:39: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) m4trace:configure.in:39: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ #undef PACKAGE]) m4trace:configure.in:39: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) m4trace:configure.in:39: -1- AH_OUTPUT([VERSION], [/* Version number of package */ #undef VERSION]) m4trace:configure.in:39: -1- AC_SUBST([ACLOCAL]) m4trace:configure.in:39: -1- AC_SUBST([AUTOCONF]) m4trace:configure.in:39: -1- AC_SUBST([AUTOMAKE]) m4trace:configure.in:39: -1- AC_SUBST([AUTOHEADER]) m4trace:configure.in:39: -1- AC_SUBST([MAKEINFO]) m4trace:configure.in:39: -1- AC_SUBST([AMTAR]) m4trace:configure.in:39: -1- AC_SUBST([install_sh]) m4trace:configure.in:39: -1- AC_SUBST([STRIP]) m4trace:configure.in:39: -1- AC_SUBST([ac_ct_STRIP]) m4trace:configure.in:39: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) m4trace:configure.in:39: -1- AC_PROG_AWK m4trace:configure.in:39: -1- AC_SUBST([AWK]) m4trace:configure.in:39: -1- AC_PROG_MAKE_SET m4trace:configure.in:39: -1- AC_SUBST([SET_MAKE]) m4trace:configure.in:40: -1- AC_CONFIG_HEADERS([protomol_config.h], [# update the timestamp echo 'timestamp for protomol_config.h' >"_AM_STAMP([protomol_config.h])" ], []) m4trace:configure.in:50: -1- AC_SUBST([PROTOMOL_MAJOR_VERSION]) m4trace:configure.in:51: -1- AC_SUBST([PROTOMOL_MINOR_VERSION]) m4trace:configure.in:52: -1- AC_SUBST([PROTOMOL_PATCH_LEVEL]) m4trace:configure.in:60: -1- AC_SUBST([LT_RELEASE]) m4trace:configure.in:61: -1- AC_SUBST([LT_CURRENT]) m4trace:configure.in:62: -1- AC_SUBST([LT_REVISION]) m4trace:configure.in:63: -1- AC_SUBST([LT_AGE]) m4trace:configure.in:69: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_HOMEPAGE]) m4trace:configure.in:69: -1- AH_OUTPUT([PACKAGE_HOMEPAGE], [/* ProtoMol URL */ #undef PACKAGE_HOMEPAGE]) m4trace:configure.in:70: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_CITE]) m4trace:configure.in:70: -1- AH_OUTPUT([PACKAGE_CITE], [/* ProtoMol cite */ #undef PACKAGE_CITE]) m4trace:configure.in:71: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_UNAME]) m4trace:configure.in:71: -1- AH_OUTPUT([PACKAGE_UNAME], [/* System, platform */ #undef PACKAGE_UNAME]) m4trace:configure.in:72: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_WHOAMI]) m4trace:configure.in:72: -1- AH_OUTPUT([PACKAGE_WHOAMI], [/* User */ #undef PACKAGE_WHOAMI]) m4trace:configure.in:73: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) m4trace:configure.in:73: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT]) m4trace:configure.in:115: -1- AC_PROG_CXX([aCC mpCC_r xlC_r xlC xlc++ CC icpc icc g++ cxx mpic++ mpicxx mpiCC]) m4trace:configure.in:115: -1- AC_SUBST([CXX]) m4trace:configure.in:115: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:115: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:115: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:115: -1- AC_SUBST([CXX]) m4trace:configure.in:115: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:115: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) m4trace:configure.in:115: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) m4trace:configure.in:115: -1- AC_SUBST([DEPDIR]) m4trace:configure.in:115: -1- AC_SUBST([am__include]) m4trace:configure.in:115: -1- AC_SUBST([am__quote]) m4trace:configure.in:115: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) m4trace:configure.in:115: -1- AC_SUBST([AMDEP_TRUE]) m4trace:configure.in:115: -1- AC_SUBST([AMDEP_FALSE]) m4trace:configure.in:115: -1- AC_SUBST([AMDEPBACKSLASH]) m4trace:configure.in:115: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:211: -1- AC_PROG_CXX([icpc icc]) m4trace:configure.in:211: -1- AC_SUBST([CXX]) m4trace:configure.in:211: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:211: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:211: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:211: -1- AC_SUBST([CXX]) m4trace:configure.in:211: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:211: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:213: -1- AC_PROG_CC([icpc icc]) m4trace:configure.in:213: -1- AC_SUBST([CC]) m4trace:configure.in:213: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:213: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:213: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:213: -1- AC_SUBST([CC]) m4trace:configure.in:213: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:213: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) m4trace:configure.in:229: -1- AC_PROG_CXX([icpc icc]) m4trace:configure.in:229: -1- AC_SUBST([CXX]) m4trace:configure.in:229: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:229: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:229: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:229: -1- AC_SUBST([CXX]) m4trace:configure.in:229: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:229: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:231: -1- AC_PROG_CC([icpc icc]) m4trace:configure.in:231: -1- AC_SUBST([CC]) m4trace:configure.in:231: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:231: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:231: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:231: -1- AC_SUBST([CC]) m4trace:configure.in:231: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:231: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) m4trace:configure.in:264: -1- AC_PROG_CXX([mpiCC mpic++ mpicxx]) m4trace:configure.in:264: -1- AC_SUBST([CXX]) m4trace:configure.in:264: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:264: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:264: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:264: -1- AC_SUBST([CXX]) m4trace:configure.in:264: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:264: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:266: -1- AC_PROG_CC([mpicc]) m4trace:configure.in:266: -1- AC_SUBST([CC]) m4trace:configure.in:266: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:266: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:266: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:266: -1- AC_SUBST([CC]) m4trace:configure.in:266: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:266: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) m4trace:configure.in:282: -1- AC_PROG_CXX([mpiCC mpic++ mpicxx]) m4trace:configure.in:282: -1- AC_SUBST([CXX]) m4trace:configure.in:282: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:282: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:282: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:282: -1- AC_SUBST([CXX]) m4trace:configure.in:282: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:282: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:284: -1- AC_PROG_CC([mpicc]) m4trace:configure.in:284: -1- AC_SUBST([CC]) m4trace:configure.in:284: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:284: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:284: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:284: -1- AC_SUBST([CC]) m4trace:configure.in:284: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:284: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) m4trace:configure.in:301: -1- AC_PROG_CXX([mpiCC mpicxx mpic++]) m4trace:configure.in:301: -1- AC_SUBST([CXX]) m4trace:configure.in:301: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:301: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:301: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:301: -1- AC_SUBST([CXX]) m4trace:configure.in:301: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:301: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:338: -1- AC_PROG_CXX([mpiCC mpicxx mpic++]) m4trace:configure.in:338: -1- AC_SUBST([CXX]) m4trace:configure.in:338: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:338: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:338: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:338: -1- AC_SUBST([CXX]) m4trace:configure.in:338: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:338: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:521: -1- AC_PROG_CXX([mpiCC mpicxx mpic++]) m4trace:configure.in:521: -1- AC_SUBST([CXX]) m4trace:configure.in:521: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:521: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:521: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:521: -1- AC_SUBST([CXX]) m4trace:configure.in:521: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:521: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:538: -1- AC_PROG_CXX([mpiCC mpicxx mpic++]) m4trace:configure.in:538: -1- AC_SUBST([CXX]) m4trace:configure.in:538: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:538: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:538: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:538: -1- AC_SUBST([CXX]) m4trace:configure.in:538: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:538: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:546: -1- AC_SUBST([CC]) m4trace:configure.in:547: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:548: -1- AC_SUBST([CXX]) m4trace:configure.in:549: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:550: -1- AC_SUBST([LIBS]) m4trace:configure.in:551: -1- AC_SUBST([DEPFLAGS]) m4trace:configure.in:567: -1- AC_PROG_CXX m4trace:configure.in:567: -1- AC_SUBST([CXX]) m4trace:configure.in:567: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:567: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:567: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:567: -1- AC_SUBST([CXX]) m4trace:configure.in:567: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:567: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:568: -1- AC_SUBST([CXXCPP]) m4trace:configure.in:568: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:568: -1- AC_SUBST([CXXCPP]) m4trace:configure.in:569: -1- AC_PROG_CC m4trace:configure.in:569: -1- AC_SUBST([CC]) m4trace:configure.in:569: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:569: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:569: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:569: -1- AC_SUBST([CC]) m4trace:configure.in:569: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:569: -1- AC_SUBST([CC]) m4trace:configure.in:569: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:569: -1- AC_SUBST([CC]) m4trace:configure.in:569: -1- AC_SUBST([CC]) m4trace:configure.in:569: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:569: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) m4trace:configure.in:570: -1- AC_PROG_INSTALL m4trace:configure.in:570: -1- AC_SUBST([INSTALL_PROGRAM]) m4trace:configure.in:570: -1- AC_SUBST([INSTALL_SCRIPT]) m4trace:configure.in:570: -1- AC_SUBST([INSTALL_DATA]) m4trace:configure.in:571: -1- AC_PROG_RANLIB m4trace:configure.in:571: -1- AC_SUBST([RANLIB]) m4trace:configure.in:571: -1- AC_SUBST([ac_ct_RANLIB]) m4trace:configure.in:585: -1- AC_PATH_X m4trace:configure.in:586: -1- AC_DEFINE_TRACE_LITERAL([X_DISPLAY_MISSING]) m4trace:configure.in:586: -1- AH_OUTPUT([X_DISPLAY_MISSING], [/* Define to 1 if the X Window System is missing or not being used. */ #undef X_DISPLAY_MISSING]) m4trace:configure.in:586: -1- AC_CHECK_LIB([dnet], [dnet_ntoa], [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([dnet_stub], [dnet_ntoa], [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([nsl], [gethostbyname], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([bsd], [gethostbyname], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([socket], [connect], [X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"], [], [$X_EXTRA_LIBS]) m4trace:configure.in:586: -1- AC_CHECK_LIB([posix], [remove], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([ipc], [shmat], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([ICE], [IceConnectionNumber], [X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"], [], [$X_EXTRA_LIBS]) m4trace:configure.in:586: -1- AC_SUBST([X_CFLAGS]) m4trace:configure.in:586: -1- AC_SUBST([X_PRE_LIBS]) m4trace:configure.in:586: -1- AC_SUBST([X_LIBS]) m4trace:configure.in:586: -1- AC_SUBST([X_EXTRA_LIBS]) m4trace:configure.in:664: -1- AC_CHECK_LIB([socket], [socket], [], [have_socket=false]) m4trace:configure.in:664: -1- AH_OUTPUT([HAVE_LIBSOCKET], [/* Define to 1 if you have the `socket\' library (-lsocket). */ #undef HAVE_LIBSOCKET]) m4trace:configure.in:664: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET]) m4trace:configure.in:668: -1- AC_SUBST([SOCKET_LIBS]) m4trace:configure.in:671: -1- AC_HEADER_STDC m4trace:configure.in:671: -1- AC_SUBST([EGREP]) m4trace:configure.in:671: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) m4trace:configure.in:671: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS]) m4trace:configure.in:671: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STRING_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H]) m4trace:configure.in:727: -1- AC_DEFINE_TRACE_LITERAL([SOCKLEN_TYPE]) m4trace:configure.in:727: -1- AH_OUTPUT([SOCKLEN_TYPE], [/* Socket lenght. */ #undef SOCKLEN_TYPE]) m4trace:configure.in:732: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR]) m4trace:configure.in:732: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of a `char\', as computed by sizeof. */ #undef SIZEOF_CHAR]) m4trace:configure.in:733: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT]) m4trace:configure.in:733: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of a `short\', as computed by sizeof. */ #undef SIZEOF_SHORT]) m4trace:configure.in:734: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT]) m4trace:configure.in:734: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of a `int\', as computed by sizeof. */ #undef SIZEOF_INT]) m4trace:configure.in:735: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG]) m4trace:configure.in:735: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of a `long\', as computed by sizeof. */ #undef SIZEOF_LONG]) m4trace:configure.in:736: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SIZE_T]) m4trace:configure.in:736: -1- AH_OUTPUT([SIZEOF_SIZE_T], [/* The size of a `size_t\', as computed by sizeof. */ #undef SIZEOF_SIZE_T]) m4trace:configure.in:737: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_VOIDP]) m4trace:configure.in:737: -1- AH_OUTPUT([SIZEOF_VOIDP], [/* The size of a `void*\', as computed by sizeof. */ #undef SIZEOF_VOIDP]) m4trace:configure.in:749: -1- AC_DEFINE_TRACE_LITERAL([INT32_TYPE]) m4trace:configure.in:749: -1- AH_OUTPUT([INT32_TYPE], [/* Define for int 32-bit. */ #undef INT32_TYPE]) m4trace:configure.in:758: -1- AC_C_INLINE m4trace:configure.in:758: -1- AC_DEFINE_TRACE_LITERAL([inline]) m4trace:configure.in:758: -1- AH_OUTPUT([inline], [/* Define as `__inline\' if that\'s what the C compiler calls it, or to nothing if it is not supported. */ #undef inline]) m4trace:configure.in:758: -1- AC_DEFINE_TRACE_LITERAL([inline]) m4trace:configure.in:759: -1- AC_HEADER_TIME m4trace:configure.in:759: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME]) m4trace:configure.in:759: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME]) m4trace:configure.in:760: -1- AC_CHECK_HEADERS([sys/time.h c_asm.h intrinsics.h]) m4trace:configure.in:760: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H]) m4trace:configure.in:760: -1- AH_OUTPUT([HAVE_C_ASM_H], [/* Define to 1 if you have the header file. */ #undef HAVE_C_ASM_H]) m4trace:configure.in:760: -1- AH_OUTPUT([HAVE_INTRINSICS_H], [/* Define to 1 if you have the header file. */ #undef HAVE_INTRINSICS_H]) m4trace:configure.in:764: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HRTIME_T]) m4trace:configure.in:764: -1- AH_OUTPUT([HAVE_HRTIME_T], [/* Define to 1 if hrtime_t is defined in */ #undef HAVE_HRTIME_T]) m4trace:configure.in:766: -1- AC_CHECK_FUNCS([gethrtime clock_gettime]) m4trace:configure.in:766: -1- AH_OUTPUT([HAVE_GETHRTIME], [/* Define to 1 if you have the `gethrtime\' function. */ #undef HAVE_GETHRTIME]) m4trace:configure.in:766: -1- AH_OUTPUT([HAVE_CLOCK_GETTIME], [/* Define to 1 if you have the `clock_gettime\' function. */ #undef HAVE_CLOCK_GETTIME]) m4trace:configure.in:785: -1- AC_DEFINE_TRACE_LITERAL([HAVE_READ_REAL_TIME]) m4trace:configure.in:785: -1- AH_OUTPUT([HAVE_READ_REAL_TIME], [/* Define if you have the read_real_time(). */ #undef HAVE_READ_REAL_TIME]) m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIME_BASE_TO_TIME]) m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_TIME_BASE_TO_TIME], [/* Define if you have the time_base_to_time(). */ #undef HAVE_TIME_BASE_TO_TIME]) m4trace:configure.in:819: -1- AC_DEFINE_TRACE_LITERAL([HAVE__RTC]) m4trace:configure.in:819: -1- AH_OUTPUT([HAVE__RTC], [/* Define if you have the UNICOS _rtc() intrinsic. */ #undef HAVE__RTC]) m4trace:configure.in:842: -1- AC_CHECK_LIB([complib.sgimath], [zfftm1di], [], [have_fft_sgi=false]) m4trace:configure.in:842: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the `complib.sgimath\' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:842: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:843: -1- AC_CHECK_LIB([complib.sgimath], [zfftm1d], [], [have_fft_sgi=false]) m4trace:configure.in:843: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the `complib.sgimath\' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:843: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:844: -1- AC_CHECK_LIB([complib.sgimath], [zfft2di], [], [have_fft_sgi=false]) m4trace:configure.in:844: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the `complib.sgimath\' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:844: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:845: -1- AC_CHECK_LIB([complib.sgimath], [zfft2d], [], [have_fft_sgi=false]) m4trace:configure.in:845: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the `complib.sgimath\' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:845: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:846: -1- AC_CHECK_LIB([complib.sgimath], [zfft3di], [], [have_fft_sgi=false]) m4trace:configure.in:846: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the `complib.sgimath\' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:846: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:847: -1- AC_CHECK_LIB([complib.sgimath], [zfft3d], [], [have_fft_sgi=false]) m4trace:configure.in:847: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the `complib.sgimath\' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:847: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:859: -1- AC_CHECK_LIB([essl], [dcft], [], [have_fft_essl=false]) m4trace:configure.in:859: -1- AH_OUTPUT([HAVE_LIBESSL], [/* Define to 1 if you have the `essl\' library (-lessl). */ #undef HAVE_LIBESSL]) m4trace:configure.in:859: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBESSL]) m4trace:configure.in:886: -1- AC_CHECK_LIB([fftw_mpi], [fftw3d_mpi_create_plan], [], [have_fft_fftw2mpi=false]) m4trace:configure.in:886: -1- AH_OUTPUT([HAVE_LIBFFTW_MPI], [/* Define to 1 if you have the `fftw_mpi\' library (-lfftw_mpi). */ #undef HAVE_LIBFFTW_MPI]) m4trace:configure.in:886: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBFFTW_MPI]) m4trace:configure.in:887: -1- AC_CHECK_LIB([fftw], [fftw3d_create_plan], [], [have_fft_fftw2mpi=false]) m4trace:configure.in:887: -1- AH_OUTPUT([HAVE_LIBFFTW], [/* Define to 1 if you have the `fftw\' library (-lfftw). */ #undef HAVE_LIBFFTW]) m4trace:configure.in:887: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBFFTW]) m4trace:configure.in:914: -1- AC_CHECK_LIB([fftw3], [fftw_plan_dft_3d], [], [have_fft_fftw3=false]) m4trace:configure.in:914: -1- AH_OUTPUT([HAVE_LIBFFTW3], [/* Define to 1 if you have the `fftw3\' library (-lfftw3). */ #undef HAVE_LIBFFTW3]) m4trace:configure.in:914: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBFFTW3]) m4trace:configure.in:939: -1- AC_CHECK_LIB([fftw], [fftw3d_create_plan], [], [have_fft_fftw2=false]) m4trace:configure.in:939: -1- AH_OUTPUT([HAVE_LIBFFTW], [/* Define to 1 if you have the `fftw\' library (-lfftw). */ #undef HAVE_LIBFFTW]) m4trace:configure.in:939: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBFFTW]) m4trace:configure.in:1044: -1- AC_SUBST([FFT_LIBS]) m4trace:configure.in:1045: -1- AC_SUBST([FFT_CFLAGS]) m4trace:configure.in:1063: -1- AC_CHECK_LIB([z], [compress], [LIBS="$LIBS -lz" GLUT_LIBS="$GLUT_LIBS -lz" ], []) m4trace:configure.in:1065: -1- AC_CHECK_LIB([png], [png_create_write_struct], [], [have_png=false PNG_LIBS=""]) m4trace:configure.in:1065: -1- AH_OUTPUT([HAVE_LIBPNG], [/* Define to 1 if you have the `png\' library (-lpng). */ #undef HAVE_LIBPNG]) m4trace:configure.in:1065: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBPNG]) m4trace:configure.in:1082: -1- AC_CHECK_LIB([pthread], [pthread_cancel], [LIBS="$LIBS -lpthread" ], []) m4trace:configure.in:1083: -1- AC_CHECK_LIB([dl], [dlopen], [LIBS="$LIBS -ldl" ], []) m4trace:configure.in:1090: -1- AC_CHECK_LIB([Xmu], [XmuAllStandardColormaps ], [], [have_x11=false]) m4trace:configure.in:1090: -1- AH_OUTPUT([HAVE_LIBXMU], [/* Define to 1 if you have the `Xmu\' library (-lXmu). */ #undef HAVE_LIBXMU]) m4trace:configure.in:1090: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXMU]) m4trace:configure.in:1091: -1- AC_CHECK_LIB([Xt], [XtAppInitialize], [], [have_x11=false]) m4trace:configure.in:1091: -1- AH_OUTPUT([HAVE_LIBXT], [/* Define to 1 if you have the `Xt\' library (-lXt). */ #undef HAVE_LIBXT]) m4trace:configure.in:1091: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXT]) m4trace:configure.in:1092: -1- AC_CHECK_LIB([SM], [SmcOpenConnection], [], [have_x11=false]) m4trace:configure.in:1092: -1- AH_OUTPUT([HAVE_LIBSM], [/* Define to 1 if you have the `SM\' library (-lSM). */ #undef HAVE_LIBSM]) m4trace:configure.in:1092: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSM]) m4trace:configure.in:1093: -1- AC_CHECK_LIB([ICE], [IceAcceptConnection], [], [have_x11=false]) m4trace:configure.in:1093: -1- AH_OUTPUT([HAVE_LIBICE], [/* Define to 1 if you have the `ICE\' library (-lICE). */ #undef HAVE_LIBICE]) m4trace:configure.in:1093: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBICE]) m4trace:configure.in:1094: -1- AC_CHECK_LIB([Xext], [XextCreateExtension], [], [have_x11=false]) m4trace:configure.in:1094: -1- AH_OUTPUT([HAVE_LIBXEXT], [/* Define to 1 if you have the `Xext\' library (-lXext). */ #undef HAVE_LIBXEXT]) m4trace:configure.in:1094: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXEXT]) m4trace:configure.in:1095: -1- AC_CHECK_LIB([X11], [XOpenDisplay], [], [have_x11=false]) m4trace:configure.in:1095: -1- AH_OUTPUT([HAVE_LIBX11], [/* Define to 1 if you have the `X11\' library (-lX11). */ #undef HAVE_LIBX11]) m4trace:configure.in:1095: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBX11]) m4trace:configure.in:1096: -1- AC_CHECK_LIB([Xi], [XOpenDevice], [], [have_x11=false]) m4trace:configure.in:1096: -1- AH_OUTPUT([HAVE_LIBXI], [/* Define to 1 if you have the `Xi\' library (-lXi). */ #undef HAVE_LIBXI]) m4trace:configure.in:1096: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXI]) m4trace:configure.in:1120: -1- AC_CHECK_LIB([pthread], [pthread_cancel], [GLUT_LIBS="$GLUT_LIBS -lpthread" LIBS="$LIBS -lpthread" ], []) m4trace:configure.in:1121: -1- AC_CHECK_LIB([dl], [dlopen], [GLUT_LIBS="$GLUT_LIBS -ldl" LIBS="$LIBS -ldl" ], []) m4trace:configure.in:1122: -1- AC_CHECK_LIB([GL], [glClear], [], [have_glut=false]) m4trace:configure.in:1122: -1- AH_OUTPUT([HAVE_LIBGL], [/* Define to 1 if you have the `GL\' library (-lGL). */ #undef HAVE_LIBGL]) m4trace:configure.in:1122: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBGL]) m4trace:configure.in:1123: -1- AC_CHECK_LIB([GLU], [gluLookAt], [], [have_glut=false]) m4trace:configure.in:1123: -1- AH_OUTPUT([HAVE_LIBGLU], [/* Define to 1 if you have the `GLU\' library (-lGLU). */ #undef HAVE_LIBGLU]) m4trace:configure.in:1123: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBGLU]) m4trace:configure.in:1124: -1- AC_CHECK_LIB([glut], [glutMainLoop], [], [have_glut=false]) m4trace:configure.in:1124: -1- AH_OUTPUT([HAVE_LIBGLUT], [/* Define to 1 if you have the `glut\' library (-lglut). */ #undef HAVE_LIBGLUT]) m4trace:configure.in:1124: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBGLUT]) m4trace:configure.in:1126: -1- AC_CHECK_LIB([jpeg], [jpeg_CreateDecompress], [GLUT_LIBS="$GLUT_LIBS -ljpeg"], []) m4trace:configure.in:1127: -1- AC_CHECK_LIB([tiff], [TIFFSetErrorHandler], [GLUT_LIBS="$GLUT_LIBS -ltiff"], []) m4trace:configure.in:1158: -1- AC_SUBST([X_LIBS]) m4trace:configure.in:1159: -1- AC_SUBST([X_CFLAGS]) m4trace:configure.in:1160: -1- AC_SUBST([PNG_LIBS]) m4trace:configure.in:1161: -1- AC_SUBST([GLUT_LIBS]) m4trace:configure.in:1162: -1- AC_SUBST([GLUT_CFLAGS]) m4trace:configure.in:1175: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:1180: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_COMPILER]) m4trace:configure.in:1180: -1- AH_OUTPUT([PACKAGE_COMPILER], [/* Compiler */ #undef PACKAGE_COMPILER]) m4trace:configure.in:1181: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_COMPILER_VERSION]) m4trace:configure.in:1181: -1- AH_OUTPUT([PACKAGE_COMPILER_VERSION], [/* Compiler version */ #undef PACKAGE_COMPILER_VERSION]) m4trace:configure.in:1210: -1- AC_SUBST([CLEANFILES]) m4trace:configure.in:1222: -1- AC_SUBST([AR1]) m4trace:configure.in:1223: -1- AC_SUBST([AR2]) m4trace:configure.in:1228: -1- AC_CONFIG_FILES([Makefile framework/Makefile framework/base/Makefile framework/io/Makefile framework/parallel/Makefile framework/topology/Makefile framework/forces/Makefile framework/imd/Makefile framework/integrators/Makefile framework/frontend/Makefile framework/factories/Makefile applications/Makefile applications/protomol-app/Makefile applications/coulomb-app/Makefile applications/dcd2dcd-app/Makefile applications/iSGProtomol-app/Makefile applications/iSGProtomol-app/base/Makefile applications/iSGProtomol-app/io/Makefile applications/iSGProtomol-app/frontend/Makefile applications/iSGProtomol-app/forces/Makefile applications/iSGProtomol-app/factories/Makefile applications/iSGProtomol-app/integrators/Makefile applications/coords2coords-app/Makefile applications/xyzviz-app/Makefile]) m4trace:configure.in:1228: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) m4trace:configure.in:1228: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) protomol/autom4te.cache/traces.10100644027616700000500000007650010237151525016172 0ustar pbrenne1dipm4trace:aclocal.m4:50: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) m4trace:configure.in:12: -1- m4_pattern_forbid([^_?A[CHUM]_]) m4trace:configure.in:12: -1- m4_pattern_forbid([_AC_]) m4trace:configure.in:12: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs. LIBOBJS']) m4trace:configure.in:12: -1- m4_pattern_allow([^AS_FLAGS$]) m4trace:configure.in:12: -1- m4_pattern_forbid([^_?m4_]) m4trace:configure.in:12: -1- m4_pattern_forbid([^dnl$]) m4trace:configure.in:12: -1- m4_pattern_forbid([^_?AS_]) m4trace:configure.in:12: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}]) m4trace:configure.in:12: -1- AC_SUBST([PATH_SEPARATOR]) m4trace:configure.in:12: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) m4trace:configure.in:12: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) m4trace:configure.in:12: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) m4trace:configure.in:12: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) m4trace:configure.in:12: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) m4trace:configure.in:12: -1- AC_SUBST([exec_prefix], [NONE]) m4trace:configure.in:12: -1- AC_SUBST([prefix], [NONE]) m4trace:configure.in:12: -1- AC_SUBST([program_transform_name], [s,x,x,]) m4trace:configure.in:12: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) m4trace:configure.in:12: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) m4trace:configure.in:12: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) m4trace:configure.in:12: -1- AC_SUBST([datadir], ['${prefix}/share']) m4trace:configure.in:12: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) m4trace:configure.in:12: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) m4trace:configure.in:12: -1- AC_SUBST([localstatedir], ['${prefix}/var']) m4trace:configure.in:12: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) m4trace:configure.in:12: -1- AC_SUBST([includedir], ['${prefix}/include']) m4trace:configure.in:12: -1- AC_SUBST([oldincludedir], ['/usr/include']) m4trace:configure.in:12: -1- AC_SUBST([infodir], ['${prefix}/info']) m4trace:configure.in:12: -1- AC_SUBST([mandir], ['${prefix}/man']) m4trace:configure.in:12: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) m4trace:configure.in:12: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ #undef PACKAGE_NAME]) m4trace:configure.in:12: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) m4trace:configure.in:12: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME]) m4trace:configure.in:12: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) m4trace:configure.in:12: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ #undef PACKAGE_VERSION]) m4trace:configure.in:12: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) m4trace:configure.in:12: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ #undef PACKAGE_STRING]) m4trace:configure.in:12: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) m4trace:configure.in:12: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT]) m4trace:configure.in:12: -1- AC_SUBST([build_alias]) m4trace:configure.in:12: -1- AC_SUBST([host_alias]) m4trace:configure.in:12: -1- AC_SUBST([target_alias]) m4trace:configure.in:12: -1- AC_SUBST([DEFS]) m4trace:configure.in:12: -1- AC_SUBST([ECHO_C]) m4trace:configure.in:12: -1- AC_SUBST([ECHO_N]) m4trace:configure.in:12: -1- AC_SUBST([ECHO_T]) m4trace:configure.in:12: -1- AC_SUBST([LIBS]) m4trace:configure.in:39: -1- AC_PROG_INSTALL m4trace:configure.in:39: -1- AC_SUBST([INSTALL_PROGRAM]) m4trace:configure.in:39: -1- AC_SUBST([INSTALL_SCRIPT]) m4trace:configure.in:39: -1- AC_SUBST([INSTALL_DATA]) m4trace:configure.in:39: -1- AC_SUBST([PACKAGE], [protomol]) m4trace:configure.in:39: -1- AC_SUBST([VERSION], [$VERSION]) m4trace:configure.in:39: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) m4trace:configure.in:39: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ #undef PACKAGE]) m4trace:configure.in:39: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) m4trace:configure.in:39: -1- AH_OUTPUT([VERSION], [/* Version number of package */ #undef VERSION]) m4trace:configure.in:39: -1- AC_SUBST([ACLOCAL]) m4trace:configure.in:39: -1- AC_SUBST([AUTOCONF]) m4trace:configure.in:39: -1- AC_SUBST([AUTOMAKE]) m4trace:configure.in:39: -1- AC_SUBST([AUTOHEADER]) m4trace:configure.in:39: -1- AC_SUBST([MAKEINFO]) m4trace:configure.in:39: -1- AC_SUBST([AMTAR]) m4trace:configure.in:39: -1- AC_SUBST([install_sh]) m4trace:configure.in:39: -1- AC_SUBST([STRIP]) m4trace:configure.in:39: -1- AC_SUBST([ac_ct_STRIP]) m4trace:configure.in:39: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) m4trace:configure.in:39: -1- AC_PROG_AWK m4trace:configure.in:39: -1- AC_SUBST([AWK]) m4trace:configure.in:39: -1- AC_PROG_MAKE_SET m4trace:configure.in:39: -1- AC_SUBST([SET_MAKE]) m4trace:configure.in:40: -1- AC_CONFIG_HEADERS([protomol_config.h], [# update the timestamp echo 'timestamp for protomol_config.h' >"_AM_STAMP([protomol_config.h])" ], []) m4trace:configure.in:50: -1- AC_SUBST([PROTOMOL_MAJOR_VERSION]) m4trace:configure.in:51: -1- AC_SUBST([PROTOMOL_MINOR_VERSION]) m4trace:configure.in:52: -1- AC_SUBST([PROTOMOL_PATCH_LEVEL]) m4trace:configure.in:60: -1- AC_SUBST([LT_RELEASE]) m4trace:configure.in:61: -1- AC_SUBST([LT_CURRENT]) m4trace:configure.in:62: -1- AC_SUBST([LT_REVISION]) m4trace:configure.in:63: -1- AC_SUBST([LT_AGE]) m4trace:configure.in:69: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_HOMEPAGE]) m4trace:configure.in:69: -1- AH_OUTPUT([PACKAGE_HOMEPAGE], [/* ProtoMol URL */ #undef PACKAGE_HOMEPAGE]) m4trace:configure.in:70: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_CITE]) m4trace:configure.in:70: -1- AH_OUTPUT([PACKAGE_CITE], [/* ProtoMol cite */ #undef PACKAGE_CITE]) m4trace:configure.in:71: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_UNAME]) m4trace:configure.in:71: -1- AH_OUTPUT([PACKAGE_UNAME], [/* System, platform */ #undef PACKAGE_UNAME]) m4trace:configure.in:72: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_WHOAMI]) m4trace:configure.in:72: -1- AH_OUTPUT([PACKAGE_WHOAMI], [/* User */ #undef PACKAGE_WHOAMI]) m4trace:configure.in:73: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) m4trace:configure.in:73: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT]) m4trace:configure.in:115: -1- AC_PROG_CXX([aCC mpCC_r xlC_r xlC xlc++ CC icpc icc g++ cxx mpic++ mpicxx mpiCC]) m4trace:configure.in:115: -1- AC_SUBST([CXX]) m4trace:configure.in:115: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:115: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:115: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:115: -1- AC_SUBST([CXX]) m4trace:configure.in:115: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:115: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) m4trace:configure.in:115: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) m4trace:configure.in:115: -1- AC_SUBST([DEPDIR]) m4trace:configure.in:115: -1- AC_SUBST([am__include]) m4trace:configure.in:115: -1- AC_SUBST([am__quote]) m4trace:configure.in:115: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) m4trace:configure.in:115: -1- AC_SUBST([AMDEP_TRUE]) m4trace:configure.in:115: -1- AC_SUBST([AMDEP_FALSE]) m4trace:configure.in:115: -1- AC_SUBST([AMDEPBACKSLASH]) m4trace:configure.in:115: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:211: -1- AC_PROG_CXX([icpc icc]) m4trace:configure.in:211: -1- AC_SUBST([CXX]) m4trace:configure.in:211: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:211: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:211: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:211: -1- AC_SUBST([CXX]) m4trace:configure.in:211: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:211: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:213: -1- AC_PROG_CC([icpc icc]) m4trace:configure.in:213: -1- AC_SUBST([CC]) m4trace:configure.in:213: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:213: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:213: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:213: -1- AC_SUBST([CC]) m4trace:configure.in:213: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:213: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) m4trace:configure.in:229: -1- AC_PROG_CXX([icpc icc]) m4trace:configure.in:229: -1- AC_SUBST([CXX]) m4trace:configure.in:229: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:229: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:229: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:229: -1- AC_SUBST([CXX]) m4trace:configure.in:229: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:229: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:231: -1- AC_PROG_CC([icpc icc]) m4trace:configure.in:231: -1- AC_SUBST([CC]) m4trace:configure.in:231: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:231: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:231: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:231: -1- AC_SUBST([CC]) m4trace:configure.in:231: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:231: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) m4trace:configure.in:264: -1- AC_PROG_CXX([mpiCC mpic++ mpicxx]) m4trace:configure.in:264: -1- AC_SUBST([CXX]) m4trace:configure.in:264: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:264: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:264: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:264: -1- AC_SUBST([CXX]) m4trace:configure.in:264: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:264: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:266: -1- AC_PROG_CC([mpicc]) m4trace:configure.in:266: -1- AC_SUBST([CC]) m4trace:configure.in:266: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:266: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:266: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:266: -1- AC_SUBST([CC]) m4trace:configure.in:266: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:266: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) m4trace:configure.in:282: -1- AC_PROG_CXX([mpiCC mpic++ mpicxx]) m4trace:configure.in:282: -1- AC_SUBST([CXX]) m4trace:configure.in:282: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:282: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:282: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:282: -1- AC_SUBST([CXX]) m4trace:configure.in:282: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:282: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:284: -1- AC_PROG_CC([mpicc]) m4trace:configure.in:284: -1- AC_SUBST([CC]) m4trace:configure.in:284: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:284: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:284: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:284: -1- AC_SUBST([CC]) m4trace:configure.in:284: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:284: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) m4trace:configure.in:301: -1- AC_PROG_CXX([mpiCC mpicxx mpic++]) m4trace:configure.in:301: -1- AC_SUBST([CXX]) m4trace:configure.in:301: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:301: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:301: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:301: -1- AC_SUBST([CXX]) m4trace:configure.in:301: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:301: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:338: -1- AC_PROG_CXX([mpiCC mpicxx mpic++]) m4trace:configure.in:338: -1- AC_SUBST([CXX]) m4trace:configure.in:338: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:338: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:338: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:338: -1- AC_SUBST([CXX]) m4trace:configure.in:338: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:338: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:521: -1- AC_PROG_CXX([mpiCC mpicxx mpic++]) m4trace:configure.in:521: -1- AC_SUBST([CXX]) m4trace:configure.in:521: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:521: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:521: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:521: -1- AC_SUBST([CXX]) m4trace:configure.in:521: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:521: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:538: -1- AC_PROG_CXX([mpiCC mpicxx mpic++]) m4trace:configure.in:538: -1- AC_SUBST([CXX]) m4trace:configure.in:538: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:538: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:538: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:538: -1- AC_SUBST([CXX]) m4trace:configure.in:538: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:538: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:546: -1- AC_SUBST([CC]) m4trace:configure.in:547: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:548: -1- AC_SUBST([CXX]) m4trace:configure.in:549: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:550: -1- AC_SUBST([LIBS]) m4trace:configure.in:551: -1- AC_SUBST([DEPFLAGS]) m4trace:configure.in:567: -1- AC_PROG_CXX m4trace:configure.in:567: -1- AC_SUBST([CXX]) m4trace:configure.in:567: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:567: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:567: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:567: -1- AC_SUBST([CXX]) m4trace:configure.in:567: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.in:567: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.in:568: -1- AC_SUBST([CXXCPP]) m4trace:configure.in:568: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:568: -1- AC_SUBST([CXXCPP]) m4trace:configure.in:569: -1- AC_PROG_CC m4trace:configure.in:569: -1- AC_SUBST([CC]) m4trace:configure.in:569: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:569: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:569: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:569: -1- AC_SUBST([CC]) m4trace:configure.in:569: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:569: -1- AC_SUBST([CC]) m4trace:configure.in:569: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:569: -1- AC_SUBST([CC]) m4trace:configure.in:569: -1- AC_SUBST([CC]) m4trace:configure.in:569: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:569: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) m4trace:configure.in:570: -1- AC_PROG_INSTALL m4trace:configure.in:570: -1- AC_SUBST([INSTALL_PROGRAM]) m4trace:configure.in:570: -1- AC_SUBST([INSTALL_SCRIPT]) m4trace:configure.in:570: -1- AC_SUBST([INSTALL_DATA]) m4trace:configure.in:571: -1- AC_PROG_RANLIB m4trace:configure.in:571: -1- AC_SUBST([RANLIB]) m4trace:configure.in:571: -1- AC_SUBST([ac_ct_RANLIB]) m4trace:configure.in:585: -1- AC_PATH_X m4trace:configure.in:586: -1- AC_DEFINE_TRACE_LITERAL([X_DISPLAY_MISSING]) m4trace:configure.in:586: -1- AH_OUTPUT([X_DISPLAY_MISSING], [/* Define to 1 if the X Window System is missing or not being used. */ #undef X_DISPLAY_MISSING]) m4trace:configure.in:586: -1- AC_CHECK_LIB([dnet], [dnet_ntoa], [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([dnet_stub], [dnet_ntoa], [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([nsl], [gethostbyname], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([bsd], [gethostbyname], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([socket], [connect], [X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"], [], [$X_EXTRA_LIBS]) m4trace:configure.in:586: -1- AC_CHECK_LIB([posix], [remove], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([ipc], [shmat], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"]) m4trace:configure.in:586: -1- AC_CHECK_LIB([ICE], [IceConnectionNumber], [X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"], [], [$X_EXTRA_LIBS]) m4trace:configure.in:586: -1- AC_SUBST([X_CFLAGS]) m4trace:configure.in:586: -1- AC_SUBST([X_PRE_LIBS]) m4trace:configure.in:586: -1- AC_SUBST([X_LIBS]) m4trace:configure.in:586: -1- AC_SUBST([X_EXTRA_LIBS]) m4trace:configure.in:664: -1- AC_CHECK_LIB([socket], [socket], [], [have_socket=false]) m4trace:configure.in:664: -1- AH_OUTPUT([HAVE_LIBSOCKET], [/* Define to 1 if you have the \`socket' library (-lsocket). */ #undef HAVE_LIBSOCKET]) m4trace:configure.in:664: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET]) m4trace:configure.in:668: -1- AC_SUBST([SOCKET_LIBS]) m4trace:configure.in:671: -1- AC_HEADER_STDC m4trace:configure.in:671: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) m4trace:configure.in:671: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS]) m4trace:configure.in:671: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STRING_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H]) m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H]) m4trace:configure.in:727: -1- AC_DEFINE_TRACE_LITERAL([SOCKLEN_TYPE]) m4trace:configure.in:727: -1- AH_OUTPUT([SOCKLEN_TYPE], [/* Socket lenght. */ #undef SOCKLEN_TYPE]) m4trace:configure.in:732: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR]) m4trace:configure.in:732: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of a \`char', as computed by sizeof. */ #undef SIZEOF_CHAR]) m4trace:configure.in:733: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT]) m4trace:configure.in:733: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of a \`short', as computed by sizeof. */ #undef SIZEOF_SHORT]) m4trace:configure.in:734: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT]) m4trace:configure.in:734: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of a \`int', as computed by sizeof. */ #undef SIZEOF_INT]) m4trace:configure.in:735: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG]) m4trace:configure.in:735: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of a \`long', as computed by sizeof. */ #undef SIZEOF_LONG]) m4trace:configure.in:736: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SIZE_T]) m4trace:configure.in:736: -1- AH_OUTPUT([SIZEOF_SIZE_T], [/* The size of a \`size_t', as computed by sizeof. */ #undef SIZEOF_SIZE_T]) m4trace:configure.in:737: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_VOIDP]) m4trace:configure.in:737: -1- AH_OUTPUT([SIZEOF_VOIDP], [/* The size of a \`void*', as computed by sizeof. */ #undef SIZEOF_VOIDP]) m4trace:configure.in:749: -1- AC_DEFINE_TRACE_LITERAL([INT32_TYPE]) m4trace:configure.in:749: -1- AH_OUTPUT([INT32_TYPE], [/* Define for int 32-bit. */ #undef INT32_TYPE]) m4trace:configure.in:758: -1- AC_C_INLINE m4trace:configure.in:758: -1- AC_DEFINE_TRACE_LITERAL([inline]) m4trace:configure.in:758: -1- AH_OUTPUT([inline], [/* Define as \`__inline' if that's what the C compiler calls it, or to nothing if it is not supported. */ #undef inline]) m4trace:configure.in:758: -1- AC_DEFINE_TRACE_LITERAL([inline]) m4trace:configure.in:759: -1- AC_HEADER_TIME m4trace:configure.in:759: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME]) m4trace:configure.in:759: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME]) m4trace:configure.in:760: -1- AC_CHECK_HEADERS([sys/time.h c_asm.h intrinsics.h]) m4trace:configure.in:760: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H]) m4trace:configure.in:760: -1- AH_OUTPUT([HAVE_C_ASM_H], [/* Define to 1 if you have the header file. */ #undef HAVE_C_ASM_H]) m4trace:configure.in:760: -1- AH_OUTPUT([HAVE_INTRINSICS_H], [/* Define to 1 if you have the header file. */ #undef HAVE_INTRINSICS_H]) m4trace:configure.in:764: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HRTIME_T]) m4trace:configure.in:764: -1- AH_OUTPUT([HAVE_HRTIME_T], [/* Define to 1 if hrtime_t is defined in */ #undef HAVE_HRTIME_T]) m4trace:configure.in:766: -1- AC_CHECK_FUNCS([gethrtime clock_gettime]) m4trace:configure.in:766: -1- AH_OUTPUT([HAVE_GETHRTIME], [/* Define to 1 if you have the \`gethrtime' function. */ #undef HAVE_GETHRTIME]) m4trace:configure.in:766: -1- AH_OUTPUT([HAVE_CLOCK_GETTIME], [/* Define to 1 if you have the \`clock_gettime' function. */ #undef HAVE_CLOCK_GETTIME]) m4trace:configure.in:785: -1- AC_DEFINE_TRACE_LITERAL([HAVE_READ_REAL_TIME]) m4trace:configure.in:785: -1- AH_OUTPUT([HAVE_READ_REAL_TIME], [/* Define if you have the read_real_time(). */ #undef HAVE_READ_REAL_TIME]) m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIME_BASE_TO_TIME]) m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_TIME_BASE_TO_TIME], [/* Define if you have the time_base_to_time(). */ #undef HAVE_TIME_BASE_TO_TIME]) m4trace:configure.in:819: -1- AC_DEFINE_TRACE_LITERAL([HAVE__RTC]) m4trace:configure.in:819: -1- AH_OUTPUT([HAVE__RTC], [/* Define if you have the UNICOS _rtc() intrinsic. */ #undef HAVE__RTC]) m4trace:configure.in:842: -1- AC_CHECK_LIB([complib.sgimath], [zfftm1di], [], [have_fft_sgi=false]) m4trace:configure.in:842: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the \`complib.sgimath' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:842: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:843: -1- AC_CHECK_LIB([complib.sgimath], [zfftm1d], [], [have_fft_sgi=false]) m4trace:configure.in:843: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the \`complib.sgimath' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:843: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:844: -1- AC_CHECK_LIB([complib.sgimath], [zfft2di], [], [have_fft_sgi=false]) m4trace:configure.in:844: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the \`complib.sgimath' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:844: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:845: -1- AC_CHECK_LIB([complib.sgimath], [zfft2d], [], [have_fft_sgi=false]) m4trace:configure.in:845: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the \`complib.sgimath' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:845: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:846: -1- AC_CHECK_LIB([complib.sgimath], [zfft3di], [], [have_fft_sgi=false]) m4trace:configure.in:846: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the \`complib.sgimath' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:846: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:847: -1- AC_CHECK_LIB([complib.sgimath], [zfft3d], [], [have_fft_sgi=false]) m4trace:configure.in:847: -1- AH_OUTPUT([HAVE_LIBCOMPLIB_SGIMATH], [/* Define to 1 if you have the \`complib.sgimath' library (-lcomplib.sgimath). */ #undef HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:847: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCOMPLIB_SGIMATH]) m4trace:configure.in:859: -1- AC_CHECK_LIB([essl], [dcft], [], [have_fft_essl=false]) m4trace:configure.in:859: -1- AH_OUTPUT([HAVE_LIBESSL], [/* Define to 1 if you have the \`essl' library (-lessl). */ #undef HAVE_LIBESSL]) m4trace:configure.in:859: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBESSL]) m4trace:configure.in:886: -1- AC_CHECK_LIB([fftw_mpi], [fftw3d_mpi_create_plan], [], [have_fft_fftw2mpi=false]) m4trace:configure.in:886: -1- AH_OUTPUT([HAVE_LIBFFTW_MPI], [/* Define to 1 if you have the \`fftw_mpi' library (-lfftw_mpi). */ #undef HAVE_LIBFFTW_MPI]) m4trace:configure.in:886: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBFFTW_MPI]) m4trace:configure.in:887: -1- AC_CHECK_LIB([fftw], [fftw3d_create_plan], [], [have_fft_fftw2mpi=false]) m4trace:configure.in:887: -1- AH_OUTPUT([HAVE_LIBFFTW], [/* Define to 1 if you have the \`fftw' library (-lfftw). */ #undef HAVE_LIBFFTW]) m4trace:configure.in:887: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBFFTW]) m4trace:configure.in:914: -1- AC_CHECK_LIB([fftw3], [fftw_plan_dft_3d], [], [have_fft_fftw3=false]) m4trace:configure.in:914: -1- AH_OUTPUT([HAVE_LIBFFTW3], [/* Define to 1 if you have the \`fftw3' library (-lfftw3). */ #undef HAVE_LIBFFTW3]) m4trace:configure.in:914: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBFFTW3]) m4trace:configure.in:939: -1- AC_CHECK_LIB([fftw], [fftw3d_create_plan], [], [have_fft_fftw2=false]) m4trace:configure.in:939: -1- AH_OUTPUT([HAVE_LIBFFTW], [/* Define to 1 if you have the \`fftw' library (-lfftw). */ #undef HAVE_LIBFFTW]) m4trace:configure.in:939: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBFFTW]) m4trace:configure.in:1044: -1- AC_SUBST([FFT_LIBS]) m4trace:configure.in:1045: -1- AC_SUBST([FFT_CFLAGS]) m4trace:configure.in:1063: -1- AC_CHECK_LIB([z], [compress], [LIBS="$LIBS -lz" GLUT_LIBS="$GLUT_LIBS -lz" ], []) m4trace:configure.in:1065: -1- AC_CHECK_LIB([png], [png_create_write_struct], [], [have_png=false PNG_LIBS=""]) m4trace:configure.in:1065: -1- AH_OUTPUT([HAVE_LIBPNG], [/* Define to 1 if you have the \`png' library (-lpng). */ #undef HAVE_LIBPNG]) m4trace:configure.in:1065: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBPNG]) m4trace:configure.in:1082: -1- AC_CHECK_LIB([pthread], [pthread_cancel], [LIBS="$LIBS -lpthread" ], []) m4trace:configure.in:1083: -1- AC_CHECK_LIB([dl], [dlopen], [LIBS="$LIBS -ldl" ], []) m4trace:configure.in:1090: -1- AC_CHECK_LIB([Xmu], [XmuAllStandardColormaps ], [], [have_x11=false]) m4trace:configure.in:1090: -1- AH_OUTPUT([HAVE_LIBXMU], [/* Define to 1 if you have the \`Xmu' library (-lXmu). */ #undef HAVE_LIBXMU]) m4trace:configure.in:1090: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXMU]) m4trace:configure.in:1091: -1- AC_CHECK_LIB([Xt], [XtAppInitialize], [], [have_x11=false]) m4trace:configure.in:1091: -1- AH_OUTPUT([HAVE_LIBXT], [/* Define to 1 if you have the \`Xt' library (-lXt). */ #undef HAVE_LIBXT]) m4trace:configure.in:1091: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXT]) m4trace:configure.in:1092: -1- AC_CHECK_LIB([SM], [SmcOpenConnection], [], [have_x11=false]) m4trace:configure.in:1092: -1- AH_OUTPUT([HAVE_LIBSM], [/* Define to 1 if you have the \`SM' library (-lSM). */ #undef HAVE_LIBSM]) m4trace:configure.in:1092: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSM]) m4trace:configure.in:1093: -1- AC_CHECK_LIB([ICE], [IceAcceptConnection], [], [have_x11=false]) m4trace:configure.in:1093: -1- AH_OUTPUT([HAVE_LIBICE], [/* Define to 1 if you have the \`ICE' library (-lICE). */ #undef HAVE_LIBICE]) m4trace:configure.in:1093: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBICE]) m4trace:configure.in:1094: -1- AC_CHECK_LIB([Xext], [XextCreateExtension], [], [have_x11=false]) m4trace:configure.in:1094: -1- AH_OUTPUT([HAVE_LIBXEXT], [/* Define to 1 if you have the \`Xext' library (-lXext). */ #undef HAVE_LIBXEXT]) m4trace:configure.in:1094: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXEXT]) m4trace:configure.in:1095: -1- AC_CHECK_LIB([X11], [XOpenDisplay], [], [have_x11=false]) m4trace:configure.in:1095: -1- AH_OUTPUT([HAVE_LIBX11], [/* Define to 1 if you have the \`X11' library (-lX11). */ #undef HAVE_LIBX11]) m4trace:configure.in:1095: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBX11]) m4trace:configure.in:1096: -1- AC_CHECK_LIB([Xi], [XOpenDevice], [], [have_x11=false]) m4trace:configure.in:1096: -1- AH_OUTPUT([HAVE_LIBXI], [/* Define to 1 if you have the \`Xi' library (-lXi). */ #undef HAVE_LIBXI]) m4trace:configure.in:1096: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXI]) m4trace:configure.in:1120: -1- AC_CHECK_LIB([pthread], [pthread_cancel], [GLUT_LIBS="$GLUT_LIBS -lpthread" LIBS="$LIBS -lpthread" ], []) m4trace:configure.in:1121: -1- AC_CHECK_LIB([dl], [dlopen], [GLUT_LIBS="$GLUT_LIBS -ldl" LIBS="$LIBS -ldl" ], []) m4trace:configure.in:1122: -1- AC_CHECK_LIB([GL], [glClear], [], [have_glut=false]) m4trace:configure.in:1122: -1- AH_OUTPUT([HAVE_LIBGL], [/* Define to 1 if you have the \`GL' library (-lGL). */ #undef HAVE_LIBGL]) m4trace:configure.in:1122: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBGL]) m4trace:configure.in:1123: -1- AC_CHECK_LIB([GLU], [gluLookAt], [], [have_glut=false]) m4trace:configure.in:1123: -1- AH_OUTPUT([HAVE_LIBGLU], [/* Define to 1 if you have the \`GLU' library (-lGLU). */ #undef HAVE_LIBGLU]) m4trace:configure.in:1123: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBGLU]) m4trace:configure.in:1124: -1- AC_CHECK_LIB([glut], [glutMainLoop], [], [have_glut=false]) m4trace:configure.in:1124: -1- AH_OUTPUT([HAVE_LIBGLUT], [/* Define to 1 if you have the \`glut' library (-lglut). */ #undef HAVE_LIBGLUT]) m4trace:configure.in:1124: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBGLUT]) m4trace:configure.in:1126: -1- AC_CHECK_LIB([jpeg], [jpeg_CreateDecompress], [GLUT_LIBS="$GLUT_LIBS -ljpeg"], []) m4trace:configure.in:1127: -1- AC_CHECK_LIB([tiff], [TIFFSetErrorHandler], [GLUT_LIBS="$GLUT_LIBS -ltiff"], []) m4trace:configure.in:1158: -1- AC_SUBST([X_LIBS]) m4trace:configure.in:1159: -1- AC_SUBST([X_CFLAGS]) m4trace:configure.in:1160: -1- AC_SUBST([PNG_LIBS]) m4trace:configure.in:1161: -1- AC_SUBST([GLUT_LIBS]) m4trace:configure.in:1162: -1- AC_SUBST([GLUT_CFLAGS]) m4trace:configure.in:1175: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.in:1180: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_COMPILER]) m4trace:configure.in:1180: -1- AH_OUTPUT([PACKAGE_COMPILER], [/* Compiler */ #undef PACKAGE_COMPILER]) m4trace:configure.in:1181: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_COMPILER_VERSION]) m4trace:configure.in:1181: -1- AH_OUTPUT([PACKAGE_COMPILER_VERSION], [/* Compiler version */ #undef PACKAGE_COMPILER_VERSION]) m4trace:configure.in:1210: -1- AC_SUBST([CLEANFILES]) m4trace:configure.in:1216: -1- AC_SUBST([MAKEDEPEND]) m4trace:configure.in:1222: -1- AC_SUBST([AR1]) m4trace:configure.in:1223: -1- AC_SUBST([AR2]) m4trace:configure.in:1228: -1- AC_CONFIG_FILES([Makefile framework/Makefile framework/base/Makefile framework/io/Makefile framework/parallel/Makefile framework/topology/Makefile framework/forces/Makefile framework/imd/Makefile framework/integrators/Makefile framework/frontend/Makefile framework/factories/Makefile applications/Makefile applications/protomol-app/Makefile applications/coulomb-app/Makefile applications/dcd2dcd-app/Makefile applications/iSGProtomol-app/Makefile applications/iSGProtomol-app/base/Makefile applications/iSGProtomol-app/io/Makefile applications/iSGProtomol-app/frontend/Makefile applications/iSGProtomol-app/forces/Makefile applications/iSGProtomol-app/factories/Makefile applications/iSGProtomol-app/integrators/Makefile applications/coords2coords-app/Makefile applications/xyzviz-app/Makefile]) protomol/compilerTests/0040755027616700000500000000000010237151525014653 5ustar pbrenne1dipprotomol/compilerTests/glutTest.cpp0100644027616700000500000000523410237151525017173 0ustar pbrenne1dip/* icc -Wall -wd810,383,981,279,444 -O3 -ip -static -DNDEBUG -L/usr/X11R6/lib -I/usr/X11R6/include -I$HOME/packages/glut-3.7/include -L$HOME/packages/glut-3.7/lib/glut glutTest.cpp -o glutTest -lglut -lGLU -lGL -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi -lXext -lX11 */ #include //_____________________________________________________________________ static GLfloat light_diffuse[] = {1.0, 0.0, 0.0, 1.0}; /* Red diffuse light. */ static GLfloat light_position[] = {1.0, 1.0, 1.0, 0.0}; /* Infinite light location. */ static GLfloat n[6][3] = { /* Normals for the 6 faces of a cube. */ {-1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {1.0, 0.0, 0.0}, {0.0, -1.0, 0.0}, {0.0, 0.0, 1.0}, {0.0, 0.0, -1.0} }; static GLint faces[6][4] = { /* Vertex indices for the 6 faces of a cube. */ {0, 1, 2, 3}, {3, 2, 6, 7}, {7, 6, 5, 4}, {4, 5, 1, 0}, {5, 6, 2, 1}, {7, 4, 0, 3} }; static GLfloat v[8][3]; /* Will be filled in with X,Y,Z vertexes. */ static void drawBox(){ for (int i = 0; i < 6; i++) { glBegin(GL_QUADS); glNormal3fv(&n[i][0]); glVertex3fv(&v[faces[i][0]][0]); glVertex3fv(&v[faces[i][1]][0]); glVertex3fv(&v[faces[i][2]][0]); glVertex3fv(&v[faces[i][3]][0]); glEnd(); } } static void display(){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); drawBox(); glutSwapBuffers(); } static void init(){ /* Setup cube vertex data. */ v[0][0] = v[1][0] = v[2][0] = v[3][0] = -1; v[4][0] = v[5][0] = v[6][0] = v[7][0] = 1; v[0][1] = v[1][1] = v[4][1] = v[5][1] = -1; v[2][1] = v[3][1] = v[6][1] = v[7][1] = 1; v[0][2] = v[3][2] = v[4][2] = v[7][2] = 1; v[1][2] = v[2][2] = v[5][2] = v[6][2] = -1; /* Enable a single OpenGL light. */ glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse); glLightfv(GL_LIGHT0, GL_POSITION, light_position); glEnable(GL_LIGHT0); glEnable(GL_LIGHTING); /* Use depth buffering for hidden surface elimination. */ glEnable(GL_DEPTH_TEST); /* Setup the view of the cube. */ glMatrixMode(GL_PROJECTION); gluPerspective( /* field of view in degree */ 40.0, /* aspect ratio */ 1.0, /* Z near */ 1.0, /* Z far */ 10.0); glMatrixMode(GL_MODELVIEW); gluLookAt(0.0, 0.0, 5.0, /* eye is at (0,0,5) */ 0.0, 0.0, 0.0, /* center is at (0,0,0) */ 0.0, 1.0, 0.); /* up is in positive Y direction */ /* Adjust cube position to be asthetic angle. */ glTranslatef(0.0, 0.0, -1.0); glRotatef(60, 1.0, 0.0, 0.0); glRotatef(-20, 0.0, 0.0, 1.0); } int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutCreateWindow("red 3D lighted cube"); glutDisplayFunc(display); init(); glutMainLoop(); return 0; } protomol/compilerTests/pngTest.cpp0100644027616700000500000001037210237151525017003 0ustar pbrenne1dip#include #include #include #include /* icc -Wall -wd810,383,981,279,444 -O3 -ip -static -DNDEBUG pngTest.cpp -o pngTest -lpng -lz;./pngTest ;xv pngTest.png */ class PPM{ public: ~PPM(); PPM(); PPM(int a, int b); void set(unsigned int i, unsigned int j,unsigned char a){p[(h-i-1)*w*3+j*3] = a;p[(h-i-1)*w*3+j*3+1] = a;p[(h-i-1)*w*3+j*3+2] = a;}; void set(unsigned int i, unsigned int j,unsigned char r,unsigned char g,unsigned char b){p[(h-i-1)*w*3+j*3] = r;p[(h-i-1)*w*3+j*3+1] = g;p[(h-i-1)*w*3+j*3+2] = b;}; unsigned char get(unsigned int i, unsigned int j) const {return (p[(h-i-1)*w*3+j*3]+p[(h-i-1)*w*3+j*3+1]+p[(h-i-1)*w*3+j*3+2])/3;} unsigned int width() const{return w;} unsigned int height() const{return h;} unsigned int size() const{return 3*w*h;} void resize(unsigned int width, unsigned int height); unsigned char* begin() const{return &p[0];} unsigned char* end() const{return &p[3*w*h];} void clear(); private: unsigned int w,h; unsigned char* p; }; PPM::~PPM(){delete [] p;} PPM::PPM():w(0),h(0),p(NULL){} PPM::PPM(int a, int b):w(a),h(b),p(new unsigned char[3*a*b]){ clear(); } void PPM::clear(){ for(unsigned int i=0;i<3*w*h;i++) p[i]= static_cast(0); } void PPM::resize(unsigned int width, unsigned int height){ if(p != NULL && width*height*3 != w*h*3){ delete [] p; p = NULL; } if(p == NULL && width*height*3>0) p = new unsigned char[width*height*3]; w = width; h = height; clear(); } //_____________________________________________________________________ int main(int argc, char **argv) { PPM ppm(256,256); int l = std::min(ppm.height(),ppm.width()); for(int i=0;i> stream xś­UÉŽA ˝×WÔbĘ[-W$>Č q !9Dć÷yîîę qC‘ҲŰ~ŢžÝ×\s‰ßö<]Ň5˝˙lůÇďÄů1q/äĂó2kž/»Ć„Ü[Íl…¤pŇâµćQHG•]>% ®»±Fkn;Ä®QNiW1ŚT[ž ÜáÔÇfʧ4™š™čD¸/ĺ”~¦/‰µwÔÎM`Ő˘ľMQ`ŕĄÖ¨ĄŞC–ŃhÔ]F\±NĄ˝°(đ”·á15°ŕžw„ΛÇc“á1ł3ë ŕď"ÖĘd°Óčy8IAiScŽŢ‰féÍ©IvBď´C§®»|J‚Đ°›ES§:n›N—üᵇdŽi=`˘yŚ­ůxIoߟҦ´XŹüđę{zóŻ¤!>ň8 ŻµË«_ń t p¤Ő‹ĺŠeŁ¶×°ýxĚź°(cˇ9HĹŃF,”…ĺB™e ‹,ŠúcA±Řxž_y-ťFľ…ĄćçÔwŰ+3PB€zÁccˇ‹Ń`{şÉK+0ž##p­1â©`Ćh$âÜ;-‘_Ç›Ž7ł‡2›iŃŐJ–MT\WxÜŤ(~ăĆů•×đkgęýŞß‹ßĐçčöstŞRY’d,AqXŃ‚8šUxIíźlŃWlT:φ呠˜éCĚt(‚©çCÄ°•Óŕé6tÇĹuŚ˘1/LĄř:6p@âËc˸_Úo XKd.¨ü†Äm`g˘6´jqĆâÄ+ŇBŨßä8»đ@[w S°NâŢ8>Nď9±|¶ě–8ĐcAđÚ-zj(Ľŕ8ăË ´šf¬\şóZ9k ®ýů _ "ľ0@°ôb8_řr8₧ńÂ,0eąf¸®qÉ*ÎfŔŔÄ·Ąĺ¨‹9®o\şBť— >á÷˘J•ąendstream endobj 7 0 obj 880 endobj 5 0 obj <> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 12 0 obj <> endobj 11 0 obj <>stream xśŤR]lUžŰ–ÝI…"Ý, P8F,Mc1„đ˘±LC+Ą42;s§˝vvf:w*]TĐdŁ¶§»1Áź&-­„ m,›¦4ţ”`Ś‘QŁO‹ŤĆ˝Ó^Ľ»ŤÖG“űpďůÎůľďśs‰VUˇBjžčL5îÜўͤ=§©Ź6hcE´±Rî“—ż[|uEťÖ26˛*Ş[©ť\´jŁŹ×DÓ«ŁďÔb%Šcd\"ź’/ČŐŽťĐîŮáQ#  °×ółëęˇiĎžÝ΂¡ťR»)Ř̡°·µíČţ)Řž:Đ)ęŇŔp ­/í0ZI]NďŰ ŔYz€éą ™çňFx„ܧ&SE´ß¤~ hźĆąşăĐnH-=`®éôY%y·=7?đžQ˘jóxČÍ€ů!(ŶG[ňvaI—3g«LË3ű2TŐ˙…s9„´?,é¤)XŚűŽ‘UşŠĘXŮBgnײz´Ë,‡ň2oi*ËýÁş6|ßÉ–k˝rÖżú,äÔ±ŰCõ,­‘CËňđ˙ÇRehřÝLť&MÓ*{íç42H •‰VĄ˝N’ä”(ÔD§ŽEńŠś"btˇ9iˇů‚í¤ŮRC (×Mlůň`Ńľüü ±8rńýąŮ‹˘Ř€˘®ç÷Ö«ÖÔÓď>‹ş¨ţ«:9 c'wgťž0Ŕ^ě9sě‚űů‰oDLżR•dřÚůĎF/Lś9‹gq‚ŹfÎwďĎK˘+2_Ć Î‹Ř´ÍWŠrI±zô¶¨BqŹ’Úý«LĽ©˙Ç©ˇ±üé§ĆÖçůP€¦ľ3.Wľô€ŚˇÜ„róĎ÷‰5Żč[ăřĚ 7ŕ]~yýŔ?ŇĎĹÓb{Ň{űčČ‹§{>é˙D±bćĆÍ‚>ťKŢěťi@™@YťN5ż¦ĚüV2SűC-Š ‘řşcNÔß^—…荤¬Í=XŹňn”Űţq9]ň9ÁăbmAhbŠ{u±v§oŰ”¸ţđ“-;Źń͉_NĘ÷v˝sä ¸ ™Ľvăśžřö–Ü—Ć·0Ż_›šśťÝŞĘľBIZjĘé5 »ĆcXŤwhÚß›)—] endstream endobj 14 0 obj 845 endobj 9 0 obj <> endobj 8 0 obj <>stream xścd`ab`ddäŹr trŐvÎ/-ĘL- iüfü!ĂôC–9ö÷Ňźr?O°Ę28äńöđ0.řqKč{«ŕ÷:ţď• ĚŚŚ˝łśó *‹2Ó3J4BÂ5µµu"†––– I•0—ÔâĚô<5 Ł,5'ż 75ŻÄZÁ¨:''3Y!=§˛ ŁX!1%%5¤-,1'5[Á-3'ł  żLAĂYSÁČŔŔPHůeć&•+řćçĺ+ř(Ą¦—ć$ˇ2000gfe30x1x3ř€ýËŔÂÄpŃóÇľoş·|Ľĺýw&Ćďţ[ż_ůa*úŰ­˛±Ą®vjË\ůď\ż˙6a«lň§€ř˙ŘćLť4sFÓ¤Jůߦlq?î‰Ö·4WʱWLjž.·„mƤÉó䏰Ďm™\'4ý·ßÖs Ć/ÚÂüCńŹč v÷¨hOąß"@c›ëę¦4Ťe{vúĚ ůż×˛W@,›'˙˝ń{żhÜřr‹ŘfÂŤŻ•9ţ»Đüó…noý.đÝç·ěw?qá?ßťż{îÜřÝý·+k›đŻ*ćČg› r#Đýqlż“ż'|7ü.Îş‹MřĎĽÉ@ńćIňżĹţ]ČöŰń·:ënv¸Ř?óÂ*^±ń•Ď˙a:čŠůóٶqmáŢĆĂł…‡—QuůŮ endstream endobj 15 0 obj 529 endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 2 0 obj <>endobj xref 0 18 0000000000 65535 f 0000001203 00000 n 0000005545 00000 n 0000001144 00000 n 0000001251 00000 n 0000000984 00000 n 0000000015 00000 n 0000000965 00000 n 0000002764 00000 n 0000002504 00000 n 0000003471 00000 n 0000001553 00000 n 0000001320 00000 n 0000004514 00000 n 0000002484 00000 n 0000003378 00000 n 0000003398 00000 n 0000003428 00000 n trailer << /Size 18 /Root 1 0 R /Info 2 0 R >> startxref 5595 %%EOF protomol/doc/AngleHessian/Makefile0100644027616700000500000000027410237151525016564 0ustar pbrenne1dipdefault: hessian clean hessian: hessian.tex pdflatex hessian.tex pdflatex hessian.tex clean: rm -f *.dvi *.aux *.log *.blg *~ realclean: clean rm -f hessian.pdf hessian.ps *.bbl protomol/doc/AngleHessian/hessian.tex0100644027616700000500000007225510237151525017310 0ustar pbrenne1dip\documentclass[11pt]{article} \usepackage{fullpage} \usepackage{graphicx} \usepackage{amsmath} \usepackage{times,float} %\usepackage{program} \usepackage{subfigure} %\usepackage{amsfonts} %\usepackage{mathptm} \textheight 48pc \textwidth 38pc \topmargin -3.0pc \oddsidemargin 0pc \evensidemargin -1pc \marginparsep -1pc \marginparwidth 0pc \newcommand{\comment}[1]{\textit{\small {#1}}} \newcommand{\cpp}{C\texttt{++}\ } \newcommand{\tcl}{\textsc{Tcl\ }} \newcommand{\ProtoMol}{\textsc{ProtoMol\ }} \newcommand{\SamdII}{\textsc{Samd 2\ }} \newcommand{\MOLLY}{\textsc{MOLLY\ }} \newcommand{\tempstart}{\texttt{<}} \newcommand{\tempend}{\texttt{>}} \newcommand{\rij}{\mbox{r$_{ij}$}} \newcommand{\rik}{\mbox{r$_{ik}$}} \newcommand{\vrij}{\mbox{$\vec{r}_{ij}$}} \newcommand{\Si}[1]{\mbox{Si$_{#1}$}} \newcommand{\Vr}[1]{\mbox{$\vec{r}_{#1}$}} \newcommand{\Vx}[1]{\mbox{$\vec{x}_{#1}$}} \newcommand{\Vv}[1]{\mbox{$\vec{v}_{#1}$}} \newcommand{\hatr}[1]{\mbox{$\hat{{r}_{#1}}$}} \newcommand{\hatv}[1]{\mbox{$\hat{{v}_{#1}}$}} \newcommand{\AbsVr}[1]{\mbox{$\left| \vec{r}_{#1} \right| $}} \newcommand{\AbsVv}[1]{\mbox{$\left| \vec{v}_{#1} \right| $}} \begin{document} \title{ \begin{Large} The Hessian of Angle Energy, van de Waals Energy, \\ Electrostatic Energy and Switching Functions \end{Large} } \author{Qun Ma \& Jes\'us Izaguirre} \bigskip \date{\today} \maketitle \parskip 0.3cm %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Mathematical Notations} In this short paper we are going to show how the Hessian of a given energy function is derived, in which some special mathematical notations are used. \begin{itemize} \item Gradient. The gradient of a scalar variable $S$, w.r.t. a vector, $\vec{v} = (v_i, v_j, v_k)^T$ where $v_i$, $v_j$, $v_k$ are also vectors, is defined as follows: \begin{equation} S_v \equiv \nabla_{\vec{v}} S \equiv \frac{\mathrm{d}S} {\mathrm{d}\vec{v}} = (\frac{\partial S}{\partial {v_i}},\frac{\partial S}{\partial v_j}, \frac{\partial S}{\partial v_k})^T. \end{equation} \item Hessian. The Hessian is the gradient of the gradient of a scalar variable $S$, w.r.t. a vector, $\vec{v} = (v_i, v_j, v_k)^T$ where $v_i$, $v_j$, $v_k$ are also vectors, is defined as follows: \begin{equation} S_{vv} \equiv \nabla_{\vec{v}} S_v \equiv \frac{\mathrm{d} S_v}{\mathrm{d} \vec{v}} = \left[ \begin{tabular}{c c c} $\frac{\partial^2 S}{\partial {v_i}^2}$ & $\frac{\partial^2 S}{\partial {v_i} \partial {v_j}} $& $\frac{\partial^2 S}{\partial {v_i} \partial {v_k}} $\\ $\frac{\partial^2 S}{\partial {v_j} \partial {v_i}} $& $\frac{\partial^2 S}{\partial v_j^2} $& $\frac{\partial^2 S}{\partial {v_j} \partial {v_k}} $\\ $\frac{\partial^2 S}{\partial {v_k} \partial {v_i}} $& $\frac{\partial^2 S}{\partial {v_k} \partial {v_j}} $& $\frac{\partial^2 S}{\partial v_k^2}$ \end{tabular} \right]. \end{equation} \end{itemize} For example, let $\left|\vec{v_{jk}}\right|$ be the 2-norm of the vector $\vec{v_{jk}}$ where $v_{jk}= v_k - v_j$, and $\hat{v_{jk}}$ be the unit vector with the direction of $\vec{v_{jk}},$ then the following statements are true where all the identity matrices, $I$, have dimension of $3\times3:$ \begin{eqnarray} \label{eg1} \frac{\partial v_{jk}}{\partial{v_j}} &=& -I \\ \label{eg2} \frac{\partial \left|\vec{v_{jk}}\right|} {\partial{v_j}} &=& -\frac{\partial \left|\vec{v_{kj}}\right|} {\partial{v_j}} = - \hat{v_{jk}} = \hat{v_{kj}}\\ \label{eg3} \frac{\partial \hatv{kj}} {\partial{v_j}} &=& \frac{\partial}{\partial{v_j}} \left( \frac{\vec{v_{kj}}}{\AbsVv{kj}} \right) = \frac{1}{\AbsVv{kj}} (I - \hatv{kj}\hatv{kj}^T)\\ \label{eg4} \frac{\partial \left|\vec{v_{jk}}\right|} {\partial{v}} &=& [0,\,-1,1]^T \, \hat{v_{jk}} \end{eqnarray} where $\hatv{jk} = \frac{\Vv{jk}}{\AbsVv{jk}}$ is the unit vector in the direction of $\Vv{jk},$ $\hatv{kj}\hatv{kj}^T$ is the outerproduct of $\hatv{kj}$ and $\hatv{kj}$ as defined in the following equation, assumming $v_k = [x_k, y_k, z_k]^T$ and $v_j = [x_j,y_j, z_j]^T:$ \begin{equation} \hatv{kj}\hatv{kj}^T = \frac{1}{\AbsVv{kj}^2}\left[ \begin{array}{ccc} x_{kj} x_{kj} & x_{kj} y_{kj} & x_{kj} z_{kj} \\ y_{kj} x_{kj} & y_{kj} y_{kj} & y_{kj} z_{kj} \\ z_{kj} x_{kj} & z_{kj} y_{kj} & z_{kj} z_{kj} \end{array} \right]. \end{equation} If we let $F = (0, v_{jk}, -v_{jk})^T,$ the following equation is also true: \begin{equation} \label{eg5} \frac{\mathrm{d} F}{\mathrm{d}\vec{v}} = \left[ \begin{array}{ccc} 0 & 0 & 0\\ 0 & -I & I\\ 0 & I & -I \end{array} \right]. \end{equation} When expanded, the above equations are consistent with the regular mathematical notations, {\it i.e.}, the Cartesian coordinates expressed as $(x, y, z)$. In Equation~({\ref{eg1}}), the l.h.s refers to the Hessian matrix. If $v_k = [x_k, y_k, z_k]^T$ and $v_j = [x_j, y_j, z_j]^T$, then \begin{equation} \frac{\partial v_{jk}} {\partial{v_j}} = \left[ \begin{array}{ccc} \frac{\partial (x_k - x_j)} {\partial x_j} & \frac{\partial (x_k - x_j)} {\partial y_j} & \frac{\partial (x_k - x_j)} {\partial z_j} \\ \frac{\partial (y_k - y_j)} {\partial x_j} & \frac{\partial (y_k - y_j)} {\partial y_j} & \frac{\partial (y_k - y_j)} {\partial z_j} \\ \frac{\partial (z_k - z_j)} {\partial x_j} & \frac{\partial (z_k - z_j)} {\partial y_j} & \frac{\partial (z_k - z_j)} {\partial z_j} \end{array} \right] = - I. \\ \end{equation} In Equation~(\ref{eg2}), the l.h.s refers to a vector: \begin{equation} \frac{\partial \AbsVv{jk}} {\partial{v_j}} = \left[ \begin{array}{r} \frac{\partial \AbsVv{jk}}{\partial x_j} \\ \frac{\partial \AbsVv{jk}}{\partial y_j}\\ \frac{\partial \AbsVv{jk}}{\partial z_j} \end{array} \right] = - \left[ \begin{array}{r} x_k-x_j \\ y_k-y_j \\ z_k-z_j \end{array} \right] \frac{1}{\AbsVv{jk}} = - \hatv{jk} \end{equation} where $\AbsVv{jk} = \sqrt{(x_k-x_j)^2+(y_k-y_j)^2+(z_k-z_j)^2}.$ In equation~({\ref{eg3}}), we want to get the Hessian of a unit vector. Let $H_{kjj} = \frac{\partial \hatv{kj}}{\partial{v_j}},$ then \begin{eqnarray} H_{kjj} (1,1) &=& \frac{\partial }{\partial{x_j}} \left(\frac{x_j - x_k}{\AbsVv{kj}} \right) = \frac{1}{\AbsVv{kj}} - \frac{(x_j-x_k)^2}{\AbsVv{kj}^3}\\ H_{kjj} (1,2) &=& \frac{\partial }{\partial{y_j}} \left(\frac{x_j - x_k}{\AbsVv{kj}} \right) = -\frac{(x_j-x_k) (y_j-y_k)}{\AbsVv{kj}^3}\\ H_{kjj} (1,3) &=& \frac{\partial }{\partial{z_j}} \left(\frac{x_j - x_k}{\AbsVv{kj}} \right) = - \frac{(x_j-x_k) (z_j-z_k)}{\AbsVv{kj}^3}\\ H_{kjj} (2,1) &=& \frac{\partial }{\partial{x_j}} \left(\frac{y_j - y_k}{\AbsVv{kj}} \right) = - \frac{(x_j-x_k) (y_j-y_k)}{\AbsVv{kj}^3}\\ H_{kjj} (2,2) &=& \frac{\partial }{\partial{y_j}} \left(\frac{y_j - y_k}{\AbsVv{kj}} \right) = \frac{1}{\AbsVv{kj}} - \frac{(y_j-y_k)^2}{\AbsVv{kj}^3}\\ H_{kjj} (2,3) &=& \frac{\partial }{\partial{z_j}} \left(\frac{y_j - y_k}{\AbsVv{kj}} \right) = - \frac{(y_j-y_k) (z_j - z_k)}{\AbsVv{kj}^3}\\ H_{kjj} (3,1) &=& \frac{\partial }{\partial{x_j}} \left(\frac{z_j - z_k}{\AbsVv{kj}} \right) = -\frac{(x_j-x_k) (z_j - z_k)}{\AbsVv{kj}^3}\\ H_{kjj} (3,2) &=& \frac{\partial }{\partial{y_j}} \left(\frac{z_j - z_k}{\AbsVv{kj}} \right) = -\frac{(y_j-y_k) (z_j-z_k)}{\AbsVv{kj}^3}\\ H_{kjj} (3,3) &=& \frac{\partial }{\partial{z_j}} \left(\frac{z_j - z_k}{\AbsVv{kj}} \right) = \frac{1}{\AbsVv{kj}} - \frac{(z_j-z_k)^2}{\AbsVv{kj}^3}. \end{eqnarray} It is seen that $H_{kjj} = \frac{1}{\AbsVv{kj}} (I - \hatv{kj}\hatv{kj}^T),$ thus Equation (\ref{eg3}) is verified. Equation~({\ref{eg4}}) can be thought of a vector of vectors. When using $(x_i,y_i,z_i,x_j,y_j,z_j,x_k,y_k,z_k)$ as the independent variables instead of $(r_i, r_j, r_k)$, the vector is \begin{equation} \frac{\partial \left|\vec{v_{jk}}\right|} {\partial{v}} = \frac{1}{\AbsVv{jk}} [0,0,0,-x_{jk},-y_{jk},-z_{jk},x_{jk},y_{jk},z_{jk}]^T \end{equation} which is consistent with Equation~({\ref{eg4}}). \section{The Hessian of Angle Energy} The Hessian matrices of the angle energy, van der Waals energy, and electrostatic energy are useful in the mollification process in MOLLY integrators. The derivation of these formulae becomes straightforward when the above mathematical notations are used. Otherwise, it is forbiddenly burdensome, even if doable, to derive them directly using the formal mathematical notations and the cartesian coordinates $(x, y, z)$. This is specially true for the case of deriving Hessian of angle energy. \subsection{Angle Energy and Force} Angle interactions describe angular bonds between three atoms. These bonds are modeled as harmonic angular springs. The layout of three such atoms are illustrated as in Figure~\ref{3atoms} in which the heavy lines indicate atoms $i$ and $j$, $j$ and $k$ are ``connected'' by the linear bonds between them, and the dashed line indicates that there does not exist linear bonds between atoms $i$ and $k$. \begin{figure}[hbt] \centerline{\includegraphics[width=1.5in]{3atoms.pdf}} \caption{Layout of 3 atoms} \label{3atoms} \end{figure} The energy of such a bond between atoms $i$, $j$, and $k$ is given by: \begin{eqnarray} E_{angle} & = & E_{\theta} + E_{\mathrm{ub}} \label{eq:AngleEnergy} \\ E_{\theta} & = & k_{\theta} \left( \theta - \theta_0 \right)^2 \\ \label{Eub} E_{\mathrm{ub}} & = & k_{\mathrm{ub}} \left( \AbsVr{ik} - r_{\mathrm{ub}} \right)^2 \end{eqnarray} \noindent \\ where\\ \begin{tabular}{lcl} $ k_{\theta} $ & = & Force constant specified in the parameter file for this bond type.\\ $\theta $ & = & $\cos^{-1} \left( \frac{ \Vr{ij}\, \cdot \,\Vr{kj} }{ \AbsVr{ij} \AbsVr{kj} } \right),$ which is equivalent to $\tan^{-1}(\mbox{$\left| {\Vr{ij} \times \Vr{kj}} \right|$}, \Vr{ij} \cdot \Vr{kj})$ \\ $ \theta_0 $ & = & Rest angle of this bond specified in the parameter file for this angle type.\\ $k_{\mathrm{ub}}$ &=& Urey-Bradley constant, which defaults to zero \\ \Vr{ik} & = & \Vr{k} - \Vr{i} \\ \AbsVr{ik} & = & $ \sqrt{(x_k - x_i)^2 + (y_k - y_i)^2 + (z_k - z_i)^2},$ calculated distance between atoms $i$ and $k$.\\ $ r_{\mathrm{ub}} $ & = & Rest distance for the Urey-Bradley term. \end{tabular} By differentiating this formula, the force for this bond can be found to be: \begin{equation} \vec{F}_{angle} = - \frac{\mathrm{d} E_{\mathrm{angle}}}{\mathrm{d} \vec{r}} \label{eq:angleForce} = \vec{F}_{\theta} + \vec{F}_{\mathrm{ub}} \end{equation} where \begin{eqnarray*} \vec{F}_{\theta} = - \frac{\mathrm{d} E_{\theta}} {\mathrm{d} \theta} \,\frac{\mathrm{d} \theta}{\mathrm{d} \vec{r} } = - 2k_{\theta}(\theta - \theta_0) \,\frac{\mathrm{d} \theta}{\mathrm{d} \vec{r} }\\ \vec{F}_{\mathrm{ub}} = - \frac{\mathrm{d} E_{\mathrm{ub}}} {\mathrm{d} \vec{r}} = 2 k_{\mathrm{ub}} \left( \AbsVr{ik} - r_{\mathrm{ub}} \right) \hatr{ik} \end{eqnarray*} where $\hatr{ik}$ is the unit vector in the direction of $\vec{r_{ik}}.$ Hence the angle force on atoms $i$, $j$, and $k$ is calculated as: \begin{eqnarray} \label{force_i} F_{\vec{r}}^i & = & \frac{ 2k_{\theta}(\theta - \theta_0) }{ \sin(\theta) \AbsVr{ij} } \left( \frac{ \vec{r_{ij}} \, \cos(\theta) }{ \AbsVr{ij} } - \frac{\vec{r_{kj}}}{\AbsVr{kj} } \right) + 2 k_{\mathrm{ub}} \left( \AbsVr{ik} - r_{\mathrm{ub}} \right) \frac{\vec{r_{ik}}}{\AbsVr{ik}}\\ \label{force_k} F_{\vec{r}}^k & = & \frac{ 2k_{\theta}(\theta - \theta_0) }{ \sin(\theta) \AbsVr{kj} } \left( \frac{ \vec{r_{kj}} \, \cos(\theta) }{ \AbsVr{kj} } - \frac{\vec{r_{ij}}}{\AbsVr{ij} } \right) + 2 k_{\mathrm{ub}} \left( \AbsVr{ik} - r_{\mathrm{ub}} \right) \frac{\vec{r_{ki}}}{\AbsVr{ik}} \\ \label{force_j} F_{\vec{r}}^j & = & - ( F_{\vec{r}}^i + F_{\vec{r}}^k ). \end{eqnarray} \subsection{The Proof of the Force Expression} The proof of the force expression follows a straight-forward approach -- application of ``chain rule.'' Let \begin{equation} C(\alpha, \beta, \gamma)=\frac{\alpha + \beta - \gamma}{2 \sqrt{\alpha}\sqrt{\beta}} \end{equation} where $\alpha$, $\beta$ and $\gamma$ are scalars, \begin{eqnarray} \alpha &=&\AbsVr{ij}^2 \\ \beta &=& \AbsVr{kj}^2 \\ \gamma &=& \AbsVr{ki}^2. \end{eqnarray} It then follows that the angle energy can be expressed as \begin{equation} E_{\theta}(C(\alpha, \beta, \gamma)) = k_{\theta} (\theta - \theta_{0})^2 \end{equation} where $\theta = \cos^{-1}(C(\alpha, \beta, \gamma))$ since $\frac{ \Vr{ij}\, \cdot \,\Vr{kj}}{ \AbsVr{ij} \AbsVr{kj}} = C(\alpha, \beta, \gamma). $ The force (negative gradient of the energy) is derived as follows: \begin{equation} F_{\theta} = - \nabla_{\vec{r}}E_{\theta} \equiv - E_r = - E_{C} \,C_r \end{equation} where $\vec{r} = (\Vr{i},\Vr{j},\Vr{k})$, and \begin{eqnarray} E_{C}&\equiv& \frac{\mathrm{d}E_{\theta}}{\mathrm{d}C} = - \frac{2 k_{\theta} (\theta - \theta_0)}{\sqrt{1-C^2}} = - \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta}, \\ C_r &\equiv& \nabla_{\vec{r}} C = f \, \alpha_r + g \, \beta_r + h \, \gamma_r, \end{eqnarray} where \begin{eqnarray} f &\equiv& \frac{\partial C}{\partial \alpha} = \frac{\alpha - \beta + \gamma} {4\,\alpha^{3/2}\sqrt{\beta}} \\ g &\equiv& \frac{\partial C}{\partial \beta} = \frac{-\alpha + \beta + \gamma} {4\,\sqrt{\alpha}\, \beta^{3/2}} \\ h &\equiv& \frac{\partial C}{\partial \gamma} = -\frac{1}{2\, \sqrt{\alpha}\, \sqrt{\beta}} \\ \alpha_{r} &\equiv& \frac{\mathrm{d}\alpha}{\mathrm{d}\vec{r}} = (-2, 2, 0)^T \sqrt{\alpha} \,\,\hatr{ij} \\ \beta_{r} &\equiv& \frac{\mathrm{d}\beta}{\mathrm{d}\vec{r}} = (0, 2, -2)^T \sqrt{\beta} \,\,\hatr{kj}\\ \gamma_{r} &\equiv& \frac{\mathrm{d}\gamma}{\mathrm{d}\vec{r}} = (2, 0, -2)^T \sqrt{\gamma} \,\,\hatr{ki}. \end{eqnarray} It follows that the force acted on atom $i$ is expressed as \begin{equation} F_{\theta}^{i} = - E_C\,(-2 \sqrt{\alpha} \hatr{ij} \, f + 2 \sqrt{\gamma} \hatr{ki} \, h). \end{equation} Because $\sqrt{\gamma} \, \hatr{ki} = \vec{r_{kj}}\,- \, \vec{r_{ij}}$ and $\sqrt{\alpha} \, \hatr{ij} = \vec{r_{ij}},$ one has \begin{eqnarray} F_{\theta}^{i} &=& \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta}\, (-2 \vec{r_{ij}} \, f + 2 (\vec{r_{kj}}\,- \, \vec{r_{ij}}) \, h)\nonumber \\ &=& \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta}\, (-2 \vec{r_{ij}}\, \frac{\alpha - \beta + \gamma} {4\,\alpha^{3/2}\sqrt{\beta}} + (\vec{r_{kj}}\,- \, \vec{r_{ij}}) (-\frac{1}{\sqrt{\alpha}\, \sqrt{\beta}})) \nonumber \\ &=& \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta}\, (- \frac{\alpha - \beta + \gamma} {2\,\alpha^{3/2}\sqrt{\beta}}\,\vec{r_{ij}} + \frac{1}{\sqrt{\alpha}\, \sqrt{\beta}} \vec{r_{ij}} \,-\,\frac{1}{\sqrt{\alpha}\, \sqrt{\beta}} \vec{r_{kj}})\nonumber \\ &=& \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta}\, (\frac{\alpha + \beta - \gamma} {2\,\alpha^{3/2}\sqrt{\beta}}\,\vec{r_{ij}} \,-\,\frac{1}{\sqrt{\alpha}\, \sqrt{\beta}} \vec{r_{kj}})\nonumber \\ &=& \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta}\, (\frac{1}{\alpha} \frac{\alpha + \beta - \gamma} {2\,\sqrt{\alpha} \sqrt{\beta}}\,\vec{r_{ij}} \,-\,\frac{1}{\sqrt{\alpha}\, \sqrt{\beta}} \vec{r_{kj}})\nonumber \\ & = & \frac{ 2k_{\theta}(\theta - \theta_0) }{ \sin(\theta) \AbsVr{ij} } \left( \frac{ \vec{r_{ij}} \, \cos(\theta) }{ \AbsVr{ij} } - \frac{\vec{r_{kj}}}{\AbsVr{kj} } \right). \end{eqnarray} The Urey-Bradley force acted on atom $i$ is as follows: \begin{equation} \vec{F}_{\mathrm{ub}}^i = 2 k_{\mathrm{ub}} ( \AbsVr{ik} - r_{\mathrm{ub}} ) \frac{\vec{r_{ik}}}{\AbsVr{ik}} \end{equation} The total force is the sum of the two terms. It is seen that the force on atom $i$ is same as given in Equation~({\ref{force_i}}). One can use the symetry of atoms $i$ and $k$ to verify the correctness of Equation~({\ref{force_k}}). The correctness of Equation~({\ref{force_j}}) can be verified using the second law of force by Newton, ``The force acted on object $i$ by object $j$ is same as that acted on object $j$ by object $i$ in magnitude but in the opposite direction.'' End of proof. \subsection{The Hessian of Angle Energy} By definition, the Hessian is the second derivative of the energy function, or the first derivative of the gradient of energy. The Hessian of the Urey-Bradley energy as shown in Equation~(\ref{Eub}) can be obtained easily. \begin{eqnarray} E^{\mathrm{ub}}_r &\equiv& \nabla_{\vec{r}}E_{\mathrm{ub}} = 2 k_{\mathrm{ub}} \left( \AbsVr{ik} - r_{\mathrm{ub}} \right) [-\hatr{ik}, 0, \hatr{ik}]^T \\ E^{\mathrm{ub}}_{rr} &\equiv& \nabla_{\vec{r}}E^{\mathrm{ub}}_r = 2 k_{\mathrm{ub}} \frac{\AbsVr{ik} - r_{\mathrm{ub}}}{\AbsVr{ik}} \left[ \begin{array}{ccc} I & 0 & -I\\ 0 & 0 & 0\\ -I & 0& I \end{array} \right] \nonumber \\ & & + \frac{2 \,k_{\mathrm{ub}}\, r_{\mathrm{ub}}}{\AbsVr{ik}} \left[ \begin{array}{ccc} \hatr{ik}\hatr{ik}^T & 0 & -\hatr{ik}\hatr{ik}^T\\ 0 & 0 & 0\\ -\hatv{ik}\hatv{ik}^T & 0& \hatr{ik}\hatr{ik}^T \end{array} \right]. \end{eqnarray} Now let's show the second derivative of the $E_\theta$ part. \begin{equation} \label{Err} \frac{\mathrm{d} E_r}{\mathrm{d} r} \equiv E_{rr} = \overbrace{E_{C} \,C_{rr}}^{E_{rr}^a} + \underbrace{C_{r} \,\, E_{Cr}^T}_{E_{rr}^b} \end{equation} where \begin{equation} E_{Cr} \equiv \nabla_{\vec{r}} \, E_{C} = E_{CC}\,C_{r}, \end{equation} and \begin{equation} E_{CC} \equiv \frac{\mathrm{d} E_{C}}{\mathrm{d} C} = \frac{2\,k_{\theta}[\sin\theta - (\theta - \theta_0)\cos\theta]}{\sin^3\theta}, \end{equation} and \begin{equation} C_{rr} \equiv \nabla_{\vec{r}}C_{r} = \overbrace{ (f \, \alpha_{rr} + g \, \beta_{rr} + h \, \gamma_{rr}) }^{C_{rr}^a} + \underbrace{ (\alpha_{r} \, f_r^T + \beta_{r} \, g_r^T + \gamma_{r} \, h_r^T) }_{C_{rr}^b}, \label{Crr1} \end{equation} where \begin{eqnarray} \alpha_{rr} &\equiv& \frac{\mathrm{d} \alpha_r}{\mathrm{d} \vec{r}} = \left[ \begin{array}{ccc} 2 I& -2 I & 0\\ -2 I& 2 I& 0\\ 0 & 0& 0 \end{array} \right]\\ \beta_{rr} &\equiv& \frac{\mathrm{d} \beta_r}{\mathrm{d} \vec{r}} = \left[ \begin{array}{ccc} 0 & 0& 0 \\ 0 & 2 I & -2 I\\ 0 & -2 I& 2 I \end{array} \right]\\ \gamma_{rr} &\equiv& \frac{\mathrm{d} \gamma_r}{\mathrm{d} \vec{r}} = \left[ \begin{array}{ccc} 2 I& 0 &-2 I \\ 0 & 0& 0 \\ -2 I& 0 &2 I \end{array} \right] \end{eqnarray} and \begin{eqnarray} f_r &\equiv& \frac{\mathrm{d}}{\mathrm{d} r}f(\alpha, \beta, \gamma) =f_\alpha \, \alpha_r + f_\beta \, \beta_r + f_\gamma \, \gamma_r \\ g_r &\equiv& \frac{\mathrm{d}}{\mathrm{d} r}g(\alpha, \beta, \gamma) =g_\alpha \, \alpha_r + g_\beta \, \beta_r + g_\gamma \, \gamma_r \\ h_r &\equiv& \frac{\mathrm{d}}{\mathrm{d} r}h(\alpha, \beta, \gamma) =h_\alpha \, \alpha_r + h_\beta \, \beta_r + h_\gamma \, \gamma_r \\ \end{eqnarray} where \begin{eqnarray} f_\alpha &\equiv& \frac{\partial f}{\partial \alpha} = \frac{-\alpha + 3\beta - 3\gamma} {8 \,\alpha^{5/2}\,\sqrt{\beta}} \\ f_\beta &\equiv& \frac{\partial f}{\partial \beta} = \frac{-\alpha - \beta - \gamma} {8 \,\alpha^{3/2}\,\beta^{3/2}}\\ f_\gamma &\equiv&\frac{\partial f}{\partial \gamma} = \frac{1}{4 \alpha^{3/2}\, \sqrt{\beta}} \\ g_\beta &\equiv& \frac{\partial g}{\partial \beta} = \frac{3\alpha - \beta - 3\gamma} {8 \,\sqrt{\alpha}\,\beta^{5/2}} \\ g_\gamma &\equiv& \frac{\partial g}{\partial \gamma} = \frac{1}{4 \,\sqrt{\alpha}\, \beta^{3/2}} \\ h_\gamma &\equiv&\frac{\partial h}{\partial \gamma} = 0 \\ g_\alpha &\equiv& \frac{\partial g}{\partial \alpha} = f_\beta\\ h_\alpha &\equiv& \frac{\partial h}{\partial \alpha} = f_\gamma\\ h_\beta &\equiv& \frac{\partial h}{\partial \beta} = g_\gamma. \end{eqnarray} In Equation~(\ref{Crr1}), the first part, $C_{rr}^a$, becomes \begin{equation} C_{rr}^a = \left[ \begin{array}{ccc} 2(f+h) I & -2f I &-2h I \\ -2f I & 2(f+g) I & -2g I \\ -2h I & -2g I & 2(g+h) I \end{array} \right], \end{equation} whereas the second part, $C_{rr}^b$, becomes \begin{eqnarray} C_{rr}^b &=& f_\alpha \,\alpha_{r} \alpha_{r}^T + f_\beta \,\alpha_{r} \beta_{r}^T + f_\gamma \,\alpha_{r} \gamma_{r}^T + g_\alpha \,\beta_{r} \alpha_{r}^T + g_\beta \,\beta_{r} \beta_{r}^T + g_\gamma \,\beta_{r} \gamma_{r}^T + \nonumber \\ & &h_\alpha \,\gamma_{r} \alpha_{r}^T + h_\beta \,\gamma_{r} \beta_{r}^T + h_\gamma \, \gamma_{r} \gamma_{r}^T \end{eqnarray} where \begin{eqnarray} \alpha_{r} \alpha_{r}^T &=& \left[ \begin{array}{ccc} 4 \,\hatr{ij} \hatr{ij}^T & -4\,\hatr{ij} \hatr{ij}^T & 0\\ -4\,\hatr{ij} \hatr{ij}^T & 4\,\hatr{ij} \hatr{ij}^T & 0 \\ 0 & 0 & 0 \end{array} \right] \alpha \\ \beta_{r} \beta_{r}^T &=& \left[ \begin{array}{ccc} 0 & 0 & 0 \\ 0 & 4 \,\hatr{jk} \hatr{jk}^T & -4 \,\hatr{jk} \hatr{jk}^T \\ 0 & -4\,\hatr{jk} \hatr{jk}^T & 4\,\hatr{jk} \hatr{jk}^T \end{array} \right] \beta \\ \gamma_{r} \gamma_{r}^T &=& \left[ \begin{array}{ccc} 4 \,\hatr{ik} \hatr{ik}^T & 0 & -4 \,\hatr{ik} \hatr{ik}^T \\ 0 & 0 & 0 \\ -4 \,\hatr{ik} \hatr{ik}^T & 0 & 4\,\hatr{ik} \hatr{ik}^T \end{array} \right] \gamma \\ \beta_{r} \alpha_{r}^T &=& \left[ \begin{array}{ccc} 0 & 0 & 0 \\ -4\,\hatr{kj} \hatr{ij}^T & 4\,\hatr{kj} \hatr{ij}^T & 0 \\ 4\,\hatr{kj} \hatr{ij}^T & -4\,\hatr{kj} \hatr{ij}^T & 0 \end{array} \right] \sqrt{\alpha} \sqrt{\beta} \\ \gamma_{r} \alpha_{r}^T &=& \left[ \begin{array}{ccc} -4 \,\hatr{ki} \hatr{ij}^T & 4 \,\hatr{ki} \hatr{ij}^T & 0 \\ 0 & 0 & 0 \\ 4\,\hatr{ki} \hatr{ij}^T & -4\,\hatr{ki} \hatr{ij}^T & 0 \end{array} \right] \sqrt{\alpha} \sqrt{\gamma} \\ \gamma_{r} \beta_{r}^T &=& \left[ \begin{array}{ccc} 0 & 4 \,\hatr{ki} \hatr{kj}^T & -4 \,\hatr{ki} \hatr{kj}^T\\ 0 & 0 & 0 \\ 0 & -4\,\hatr{ki} \hatr{kj}^T & 4\,\hatr{ki} \hatr{kj}^T \end{array} \right] \sqrt{\beta} \sqrt{\gamma}\\ \alpha_{r} \beta_{r}^T &=& (\beta_{r} \alpha_{r}^T )^T \\ \alpha_{r} \gamma_{r}^T &=& (\gamma_{r}\alpha_{r}^T)^T \\ \beta_{r} \gamma_{r}^T &=& (\gamma_{r}\beta_{r}^T)^T. \end{eqnarray} The second part of Equation~(\ref{Err}) becomes \begin{eqnarray} E_{rr}^{b} &=& E_{CC}\,C_r\,C_r^T \nonumber\\ &=& E_{CC} (f^2 \,\alpha_{r} \alpha_{r}^T + g\,f\,\beta_{r} \alpha_{r}^T + h\,f\,\gamma_{r} \alpha_{r}^T + g\,f\,\alpha_{r} \beta_{r}^T + g^2 \,\beta_{r} \beta_{r}^T + \nonumber \\ &&h\,g\,\gamma_{r} \beta_{r}^T + h\,f\,\alpha_{r} \gamma_{r}^T + g\,h\,\beta_{r} \gamma_{r}^T + h^2 \,\gamma_{r} \gamma_{r}^T). \end{eqnarray} It is easily seen that the angle Hessian is symmetric, $i.e.$, $E_{rr}=E_{rr}^T$. \section{The Hessian of van der Waals Energy} The van der Waals interactions describe the forces resulting from local interactions of atoms. The van der Walls energy between two atoms $i$ and $j$ is described by \begin{equation} E_{\mathrm{vdw}}= \frac{A}{\AbsVr{ij}^{12}}-\frac{B}{\AbsVr{ij}^{6}} \end{equation} where $A$ and $B$ are constants specified for a pair of atom types explicitly in the parameter file, $\Vr{ij} = \Vr{j} - \Vr{i}$, the vector from atom $i$ to atom $j$, $\AbsVr{ij}$ is the length of vector $\Vr{ij}$. The first derivative of the van der Waals energy is: \begin{equation} E_r= \left(\frac{6 \,B}{\AbsVr{ij}^{7}}-\frac{12 \,A}{\AbsVr{ij}^{13}}\right)[-\hatr{ij}, \hatr{ij}]^T \end{equation} or \begin{equation} E_r= \left(\frac{6 \,B}{\AbsVr{ij}^{8}}-\frac{12 \,A}{\AbsVr{ij}^{14}}\right)[-\vec{r_{ij}}, \vec{r_{ij}}]^T. \end{equation} The Hessian is obtained by taking the derivative of the first derivative of the van der Waals energy: \begin{eqnarray} E_{rr}&=& \left(\frac{6 \,B}{\AbsVr{ij}^{8}}-\frac{12 \,A}{\AbsVr{ij}^{14}}\right)\left[ \begin{array}{cc} I & -I\\ -I & I \end{array}\right] + \left( \frac{-48\,B}{\AbsVr{ij}^{8}}+\frac{168 A}{\AbsVr{ij}^{14}} \right) [-\hatr{ij}, \,\hatr{ij}]^T \,[-\hatr{ij}, \,\hatr{ij}] \nonumber \\ &=& \left(\frac{6 \,B}{\AbsVr{ij}^{8}}-\frac{12 \,A}{\AbsVr{ij}^{14}}\right)\left[ \begin{array}{cc} I & -I\\ -I & I \end{array}\right] + \left( \frac{-48\,B}{\AbsVr{ij}^{8}}+\frac{168 A}{\AbsVr{ij}^{14}} \right) \left[\begin{array}{cc} \hatr{ij} \,\hatr{ij}^T & -\hatr{ij} \,\hatr{ij}^T \\ -\hatr{ij} \,\hatr{ij}^T & \hatr{ij} \,\hatr{ij}^T \end{array}\right]. \end{eqnarray} \section{The Hessian of Electrostatic Energy} Electrostatics describes the force resulting from the interaction between two charged particles. The electrostatic energy between two atoms $i$ and $j$ is described by the Coulomb's Law as: \begin{equation} E_{\mathrm{elect}}= \frac{\epsilon_{14} \, C\, q_i\, q_j} {\epsilon_0\,\AbsVr{ij}} \end{equation} where\\ \begin{tabular}{lcl} $\epsilon_{14}$ & = & scaling factor for 1-4 interactions.\\ $C$ & = & $2.31 \times 10^{-19}\mathrm{J} \,\mathrm{nm}$ \\ $q_i, q_j$ & = & charges for atom $i$ and $j$ \\ $\epsilon_0$ & =& dielectric constant.\\ \Vr{ij} & = & \Vr{j} - \Vr{i}, the vector from atom $i$ to atom $j$\\ \AbsVr{ij} & = & length of vector \Vr{ij}. \end{tabular} The first derivative of the electrostatic energy is: \begin{equation} E_r = -\frac{\epsilon_{14} \, C\, q_i\, q_j} {\epsilon_0\,\AbsVr{ij}^3}\,[-\vec{r_{ij}}, \,\vec{r_{ij}}]^T. \end{equation} The Hessian is obtained as the derivative of the first derivative of the electrostatic energy: \begin{eqnarray} E_{rr}&=& -\frac{\epsilon_{14} \, C\, q_i\, q_j} {\epsilon_0\,\AbsVr{ij}^3}\, \left(\left[\begin{array}{cc} I & -I \\ -I & I \end{array}\right] - 3 [-\hatr{ij}, \,\hatr{ij}]^T \,[-\hatr{ij}, \,\hatr{ij}])\right) \end{eqnarray} or \begin{eqnarray} E_{rr}&=& -\frac{\epsilon_{14} \, C\, q_i\, q_j} {\epsilon_0\,\AbsVr{ij}^3}\, \left[\begin{array}{cc} I - 3 \hatr{ij} \,\hatr{ij}^T & -I+3\hatr{ij} \,\hatr{ij}^T \\ -I+3\hatr{ij} \,\hatr{ij}^T & I-3\hatr{ij} \,\hatr{ij}^T \end{array}\right]. \end{eqnarray} \section{The Hessian of Switching Functions} A switching function is often applied to a nonbonded energy computation to suppress the destablizing factor introduced by the cutoff approximations. For coulomb energy, a less expensive $\mathrm{C}^{1}$ switching function, $SWC1$, is often used, whereas for van der Waals energy, a more expensive $\mathrm{C}^{1}$ switching function, $FSWC1$, is more desirable. When computing the Hessian matrices for energy multiplied by a switching function, we also need to compute the first and second derivative of the switching functions and use chain rule to determine the resulting Hessian matrices. The former, less expensive $\mathrm{C}^{1}$ switching function, which is computationally less expensive, is given by \begin{equation} SWC1(\vec{r}_{ij})=\begin{cases} 1-(\frac{3}{2}|\vec{r}_{ij}|{r_1}^{2}-\frac{1}{2}|\vec{r}_{ij}|^{3}) {r_1}^{-3} & \mbox{if} |\vec{r}_{ij}|\leq {r_1}{,}\\ 0 & \mbox{if} |\vec{r}_{ij}|>{r_1}{,} \end{cases} \end{equation} where ${r_1}$ is the distance where the function value becomes zero. The latter, more expensive $\mathrm{C}^{1}$ switching function is defined below and may implemented for future investigations. \begin{equation} FSWC1(\vec{r}_{ij})= \begin{cases} 1 & \mbox{if} |\vec{r}_{ij}|\leq{r_0}\emph{,}\\ \frac{\displaystyle (|\vec{r}_{ij}|^{2} - {r_1}^{2})^{2}({r_1}^{2}+2|\vec{r}_{ij}| ^{2}-3{r_0}^{2})}{\displaystyle ({r_1}^{2}-{r_0}^{2})^{3}} & \mbox{if} {r_0}\leq|\vec{r}_{ij}|<{r_1}{,}\\ 0 & \mbox{if} |\vec{r}_{ij}|>{r_1}{,} \end{cases} \end{equation} where ${r_1}$ is the distance where the function value becomes zero, and ${r_0}$ that where it becomes active. \subsection{The Hessian of SWC1 Switching Function} Let $Y$ be the SWC1 function which is active, the first derivative is given by \begin{equation} Y_r = -\frac{3}{2 r_0} (-\hatr{ij},\hatr{ij})^T + \frac{3 \AbsVr{ij}^2}{2 r_0^3} (-\hatr{ij},\hatr{ij})^T \end{equation} The Hessian matrix is given by \begin{eqnarray} Y_{rr}&=& -\frac{3}{2 r_1 \AbsVr{ij}} \left[\begin{array}{cc} I-\hatr{ij}\,\hatr{ij}^T & -I+\hatr{ij}\,\hatr{ij}^T \\ -I+\hatr{ij} \,\hatr{ij}^T & I-\hatr{ij}\,\hatr{ij}^T \end{array}\right] \nonumber \\ & & + \frac{3 \AbsVr{ij}}{2 r_1^3} \left[\begin{array}{cc} I + \hatr{ij}\,\hatr{ij}^T & -I -\hatr{ij}\,\hatr{ij}^T \\ -I-\hatr{ij} \,\hatr{ij}^T & I+\hatr{ij}\,\hatr{ij}^T \end{array}\right] \end{eqnarray} or as the following: \begin{eqnarray} Y_{rr}= (-\frac{3}{2 r_1 \AbsVr{ij}} + \frac{3 \AbsVr{ij}}{2 r_1^3}) \left[ \begin{array}{cc} I & -I\\ -I & I \end{array}\right] + (\frac{3}{2 r_1 \AbsVr{ij}} + \frac{3 \AbsVr{ij}}{2 r_1^3}) \left[\begin{array}{cc} \hatr{ij}\,\hatr{ij}^T & -\hatr{ij}\,\hatr{ij}^T \\ -\hatr{ij} \,\hatr{ij}^T & \hatr{ij}\,\hatr{ij}^T \end{array}\right] \end{eqnarray} \subsection{The Hessian of FSWC1 Switching Function} Let $Y$ be the FSWC1 function which is active, the first derivative is given by \begin{equation} Y_r =\frac{\displaystyle 12 (|\vec{r}_{ij}|^{2} - {r_1}^{2}) (|\vec{r}_{ij}|^{2}-{r_0}^{2})} {\displaystyle ({r_1}^{2}-{r_0}^{2})^{3}} (-\vec{r}_{ij},\vec{r}_{ij})^T \end{equation} The Hessian matrix is given by two parts: \begin{equation} Y_{rr} = Y_{rr}^a + Y_{rr}^b \end{equation} where \begin{eqnarray} Y_{rr}^a &=& \frac{\displaystyle 12 (|\vec{r}_{ij}|^{2} - {r_1}^{2})(|\vec{r}_{ij}|^{2}-{r_0}^{2})} {\displaystyle ({r_1}^{2}-{r_0}^{2})^{3}} \left[\begin{array}{cc} I & -I\\ -I & I \end{array}\right], \\ Y_{rr}^b &=& \frac{\displaystyle 24 |\vec{r}_{ij}|^{2} (2 |\vec{r}_{ij}|^{2} - {r_0}^{2} - {r_1}^{2})} {\displaystyle ({r_1}^{2}-{r_0}^{2})^{3}} \left[\begin{array}{cc} \hatr{ij}\,\hatr{ij}^T & -\hatr{ij}\,\hatr{ij}^T \\ -\hatr{ij} \,\hatr{ij}^T & \hatr{ij}\,\hatr{ij}^T \end{array}\right]. \end{eqnarray} \section{The Hessian of Nonbonded Energy With Switching Functions} When the effective energy ($E_e$) is taken as the raw energy ($E$) multiplied by a switching function ($Y$), {\it i.e.,} \[ E_e = E Y, \] the Hessian matrix of the effective energy is given as the following using chain rule: \begin{equation} \frac{\partial^2 E_e}{\partial r^2} = \frac{\partial^2 E}{\partial r^2} Y + \frac{\partial Y}{\partial r} \left(\frac{\partial E}{\partial r}\right)^T + \frac{\partial E}{\partial r}\left(\frac{\partial Y}{\partial r}\right)^T + \frac{\partial^2 Y}{\partial r^2} E \end{equation} \end{document} protomol/doc/HGroup/0040755027616700000500000000000010237151525013767 5ustar pbrenne1dipprotomol/doc/HGroup/figs/0040755027616700000500000000000010237151525014717 5ustar pbrenne1dipprotomol/doc/HGroup/figs/bspline.pdf0100644027616700000500000013367010237151525017055 0ustar pbrenne1dip%PDF-1.3 %Ç쏢 6 0 obj <> stream xśě˝ÍÎlKŽ6?O‘CÉ€Ź‚Ś˙©`Ăců  QµN«…{ ´Ý€_ß;¸Wd~UeU—$[÷B(Ü:ߎ ą#wĆ⎠˙ńUľŰ«ś˙ńß?ţüöŹßţŐ˙Ţ^˙}ű7ĎźűŐ_?ź˙ŻŰËë×o­ÎňńwţřŹßţíë˙řfŻżţű‡og”Űí˙üß~|k}}Żµ>-ýUWyţŻ­ýOßž>˙÷#÷źž˙ţ·żÜń—gŘĎŹ~k>ęw^ýúôЧk•÷ŹĎe|ţÖ˙Ď}ü9řű`ć㿤űŻćU›ĺűzţýsĆ벴ď6ŁKy&ř_ßVţóÇźŻý‡çűz.mĽţđăľE{5űŢlĚ—Ű÷Ů_řůí_”ů‡˙ôíýĂëß|łŇý{§1Ľx·%?‡)şş–üŐVěGd|Zń˝_;F›×\|ŘÁĎiG^ý vŘ(1ť×“îĎ\=6ÂŚĽz·C=`Č˝ü,q«ßËú°ämF|Őńf Ż>lÉ´E—‹-s÷ţfŠËÚęŃICňęÝő€!÷ňo0¤V·âmBZń~íČ«ŹNöŕG—‹{}˙üŃÔkÉÇO¸×=őű˙\[lĺýĎÓßÎłńŚRż÷óďçĎ6-°âçŹ7+˛ĺÝ’Ű‹ÖĽwúë‘rfbŹďűčÁŘ˙Ô˘1Îńf>ěÉ>iÎíňĎ´&Ě°¦ý‰5î;kN¶ĽŰs{Ń ÷N˙L‹Üë÷ˇůjŃö}Ć7‹Řňa‘zĄEoťţą­´fýéܡďí)fËÇ“¬^ů4żuúç?Ńýů¦l~Yz˙łý_„ą˙ďp˙×O¨·çîűS~Ĺ˙ôŻÎ<]+»®ł=—×ţîŰżř_řiă§ű|!řčźîGç“Pő?ź˙Î_€J[ëů±AŃżý˙đ÷˙ńź4]ÇűK~ÂĆ7ůëąŃXřţL nŢÚ›ŰőćÉH°}űÎŹözĐć<0c.äek?›Çńűry:_/ńľőň'˘Zj˙>ýőx}ßw[ϵEŹk ®˙říŔÍ´}{|á‹ŽGB-»|ž Ť0ľčŇ‘V°Ąáë}üńqu5Żżß›üĺŰlýűú¸·ŰËćł"¶·{;?O˝c¬ďţvoăËă‹ŽGB-°L#Ś/:to˛‚-óË_ďă|żß{űĺŰ^źëýĎ·X¶Çăú,“ĺ[‘zwß{żw»ľŚ°ľčřă·ŰË4Âř˘C÷&+˛Ç×ţDÇŹßń˝=/Bîxă¸ëłZ`™Ů~|ůűLšM~žzÍÚĹý­Ç×>u‰lea|Ń1®Z‘=üËţUÇŹßń˝=ß[ĺýĆpI›ZťßÇ}­YyżĄşü{˝KŐwŮú6îé—´#Çű¸÷6R­>~—măţř­ßŔŮBŘď~ĚĎŰ@CĆěßíí&Ňď‘şaűűz»Ťţ)ß?Ćúg Jńń9ţ˝ť4@ľČ˙Çďď–~ůoçŘţą¦Ż>­u?=ÚéŽ5Ţ\×ű÷ÓĺÝ‹Íűŕظó{}D4­k~ž?ßćţ|Đ?eşĆÓś7÷çYošóvÇkŠđÁ™·ńŢÓß”ÝúO{V×1®Écťű>îc Őäĺ5]ú§|˙_·0k,÷)=?‡źoĂC˙íđ)ţeôż·Ň7t7śÔPĘű‚´gî…ĆĽĽ7¤ýSľŚŻ˛Ňűű‚d%äsüĽĽwt;|‘˙2ţŹßß-Ýo©6n{©ÁžWŤ{KĆm°TÉË{KęĐ?ĺűÇř÷–ę|^TŢn©~Ž_ďř4@ľČ˙Çďď–î·”›Ąş~Ţ#Ž¦p×’Ę«·űáÇýS¸żŹ}ďf<¸Ś1!±/RvÇ|zň*Ő§d{łqLhĂ'_ĄŢÇüńµű™ďľ6Ö¦°;ŻŇ‚>‹ëzĹgĐŃ-ü—ř¤}‘jw̧'Żd%ŰŰ´›ÚđÉW©÷1üFí>Q—ë#.“WiÁMĎIdBÇ*[ĎÉü"5ďOO^ÉJ¶·1i7µá“ŻRďcţřŤÚýË·j+Ŕšá§yE ę‰Ü°®ZĹgˇŁZ ź">)_¤ĘóéÉ«´ %ŰŰŤcB>ů*ő>ćŹß¨Ý'w}„űň*-8ΑEqľĐŃJ=; ńIý"UďOO^ÉJ¶·1i7µá“ŻRďcţřŤÚýĚ÷Ķ=íΫ´`b?¬›Ř§ÝçńÉř"5îOO^ÉJ¶·1i7µá“ŻRďcţřŤÚ}‚ÄçG9ŻhA+˝ćs"§:ö^zNö§”®a7Żd%ŰŰ°;µá“O©w;Ď|˙6íţŻű‚őď^ŁĽţý«Ľţîó]˧ĹwÜ»EęoóéĐű=z;}ZΆWoYŤ†X{ě]˛ËéÖśKŚńCKŔTŹřVŠŔăYŚ…–pzť’Â2qŢwWíh wń×ÂŇÝëŃĺhi§\©—%;Ŕ°` ĺĽÎôcäŘh8f=-ýŞŃŇž)Š‡Äń@O‡°'b–Ľ\“Í.ç˝uH“dG¦$^ľş1˙âąĆť GöxľŁnçľ&/cr&3ÖaV™Wf”Ł 3Ö[Ü[äyP ¦”Ł3ÖĆ)W Ĺ>ş0Ť=ć¨íófíyŕZěř C„?-ç1k±±Úv˝ cśiÄ´ŤÓˇ\‰0¤­G îgÄ‹h¸=€aëhÁ´ĚÇŚÓŤWń‹[çćřąoĎ ŰvČÇ–"[Ú÷ýt™ó 1ćů§aÖ&L›íJÁ”yTaÖ&ćčŘ@)Ü8ş0× ÓtnŚRt:νgĚÓ87ąłĺXx6g¦{Áž3ë“·fÜč(W öś/łŐl9ăś/śRö<†óuž$ mxž¶‰éŮ0ç<‘هkŕąQö9ç1çŔ KŹfpĂšł–@hş ĎśšˇöťµR«ŔśxKYhÁ|ťßuJ=Jžĺů¬%­ŁóUĎ}˛ĎcĎésn”}0_±ě¬l9žĺÄbŢ—ÁžłśPĘ0a±čm´Ŕžłž¤&ě,)m Ć’B)LŘYT¬˘ÚcĚ1cçFŃĺ,ŕ§ËąQLˇĂśc„ŽŇÓĺĚ)fĐaßY[RÖś XÇ|ťµ%Ą`Í™ÚĆ‘1_gú)UaÎůŠŘ§bľÎ×}``9÷‰Ś>ňĘ$óUĎň˛0‘Dq “RĎëćŔÓ2{˙ó´ś%gˇ×ŔĂ2‹Đk”ÓAč5ⓧEč5J,Úł”+OîŘBŻ‹đ+6Ć( 5#Đ;Z-Ćzá0il×ŔęÎÔ%Ôă˛d‡°eś1;śq,×ŮĐ;cÄŠˇßÇx `ü…"ńc ˝0N%…ž3Ńkâϡ$ÂŚ™č5đc ˝Ž1`?†lŕáC6đcŔŽ1Ú•‚5C6đpŚQ®TŘ×…_?ŘĐĺÁřŃ…_?ÎBČQäG~ŤSb!¤Đé üB~Âk´uEÂŽ&Ăg‘ŰBĚŹ–6€ňˇX4"±x´Ä/ôŠšl]u^R…_ł™R°¤ ż0>ľ'J XăÂ/„Ó˝âű§Ôßópá×ÎŹđ§V¶ěÓGř5ő#Ö?JMŚ#üŠ'ĺés–Á”Š? Ě°rđăŕ4€řřAR ölńńĂĆNŘSŔřÎ+ hđG€ ~¬CŢÇRE!ŕ}ßWđ>vęŤRđŃöUĽď[ř5€÷} żđľoá×Ţź3"ŃŢ÷%üüľ„_X˛ž–~Ąbľú~ĹBçO‹])Řł„_cbôđ´ŘöLX,ł§ĎąSx$öĚ°Y*†ń+§lđűŘÂ| á×Ţ÷ŃŻćkż¦Áš!¬DçÓ"üšŔű>„_xß»đkď{~M=˝_)ĚW8Zđ×€÷ńŞRżśŤÚxZÖ@žŇĎÓ‹î°†§e1UŘá/?×B°đ¨źń§LŔĆęB°(ô´*á¨?-B°v°ëiđ+cşěyK‚Ţ^« ÁZś&­&Ă[ĆÓ"{ŢDžK!^Lž!XĽĽ< B°śV˙+ôt¨‰`x#zú•3j"2ř^+–CöÇ#| ŢĆ^+ŽcŰüůV— Ŕ2'*“}âé§ öĽľŽ›&‘A„^=@~Ůľ0Ĺ„^Ď»çs)ôŠWÓÓAčŐä— ˝đ>ű 6…NˇWʇ_ś"aGzá-úuÜ몏%Ń ŻáOĂą9~ĂJÂWÂĎřŇ1(~nÁö^ńRAˇ˘ą…^=ľé×Ü~…6†zť–çWŻA”ČźW%˘×ٶh§ŹĐ [O‹Đë´Ä8B/쏼âe.Ą&ĆzaS寉){¦Đ«íçző{¦Đ«ďç´+{¦Đ«ďg¸Vě G˘WÜĎXţ(„ BŻ¸Źwíçz1> ¶RóŐ…^h )kşĐ«ícĂ"űŔś.ôę@űłń‘Rö4ˇWÚĎđ° 5.ÎŽ Ń«ícŹ&Ą.b_ČÔöł•+«ń<é٧ ˝ŘťqŞĐ«ďc[ ć,Sý aÂŞĐë íĆ·„0_.ô Ŕ>]úÂ|ąĐ«íc ŹR@űéBŻ´źń–É>0Ç„^h•R°Ç„^h?­^)Xh‰^ŢöT)5€öĹyÂŐ¨Čâ|FTśůńO Â÷‹ĺÂ[ÂJ¬”§aŽë)Äħ%×÷:#ĚŻ§@ăŇ2ăó‚żiC!ČÓ2Cľ$¤Tćp˝­ë •"OKîž„=ä6ŕ*~G{ °ęęĎĄP±Ô÷bU<{ë–€ę{ ˛*ž‰˝Y¨ľ—fŹÄ^‚¬Šýť˝úŠG"’l@5rnýŠŔ”%ČŞęÓŁL™‚¬çŤ˙ą<Ó×;;{ ˛Z úoť°l ˛Z9Ę•Ŕ$ AVlX< ăJ`’† ëdJî!\lxöf5 ú‰YŤIČ]Őę» łž˝Ý»„0G]ű6O_ĚQd5ěđě&Čj@öÝY ;<;–<ö5MuZbśó#Vŕµ…X żbYÁČŁbAVĆŻđ­(ö¬•ŐńkÍ+®%Čj€ř XŮ°O!VÂŻ%Äj@řµ„X± ˙ô™B¬„_s\)Ř7…X żf˝RŻ)Äj@ř5…X żF"–źł…3ÎĐ»]ÄÇ;Z˘š#Ä2uäibŮ$b=ďç*Ë;Ë´§ć±ńó4x 4ŽP$źţ€c#Ë;L‰XđiÁxă0±ÎßӒ匷d¨˛ľ$Aş4Ë­SPÔşî‰Hn=o ŹÄÓ‹­OÚѲĎÄÓ’S,·Ö%Ó0J“˘R Nož†«“SŻRu{ŃMŻND7ĽĆ:ŕ<‚IŘťóS5+:ž¬řâäřŐ#üęŕôx—ÍréŮ´CKžoÎŹëî6m‘Ăä›3¤5/łůĚ4‹›ł$§É‘@dvUŃKUµśY*r/ mѶYĹ~ÎÓ"Ď©Đ–’wyZvô‘˙ThÝőźĘä8ERôŔö’Tü~ź–ó㌣¶Ą čţ´H#˘Ë™GJÁ²ĄËčĄjÁ«Ŕ÷§Ewj´gĺŚVüÓŇ$E WNiuÚŁĘ €¦PşśöLéŔ[„PŠöhă¬ŕźÝ©Ó©;uÚ3u§•364«•ö ÍjĺŚ ÍjĄ=ZOjŤři‘®J ÇŐ+đó <˙ÂŤ®ś±®;măś}g¬ëN[ĺ8šŐĆ;ëJĎ–°°iVíiWg¬]]´§]]ś±&]ťö4ÝiçŚ5Ýi§…UwÚiOŐ¬vÎXŐ¬vÚsć›Rś±zuŃ-4upĆ\ş-té´Çu§3ćşÓA{ÎJĂýČg9{Y­Lµs.vVµŹf5ÖĹZąô2ÚÎřXEK|^řwD+wâ»-Í*ńÝŇłz ;‚†Ł­źçO ĎĂ~=-ńyáßńśđD-ZbŃiZ ÝŔťÜ´4žäťll>-ąZ ×Ó%N¦”80«)&Q§O ´/­i1,»ňő19šÖÂr°Ľi-,ÄňMCfFKaÁ.Žµ!%5:¤ ˘yWŚčW 'G«`9€Ţ´zĂ+dxY窪;ç¦kňř(4Ä´‚ykWžÖ®ZѨeSFé´B _! 7-|`|·¦WČBDoZ÷JŹš?Bz“·Té­^54ĄJÍô¦#ÇBHoÚ&+@őŘࣧHë]ŃAwG`orš öj¬i±+ö¦Ĺ®Ř›ü¦B`o&EöŘ1…˝™tŘ›Iפ=Zě ±˝i±+“Ę*÷¦Ĺ®`űĆš»B|or˘ ¶o,ö§!µčmé"ŔW@|ěŚSjrÝ)ľj±+řŞĹ®ŕ«\Ş˛iŹ»B€Żr© ľĘĄ*řş¤‹_×ŐE{ćŐ…«×ĄÂĚÓ"'€_őiřzÝ*|ťą°ľ*ĂđőzVřx­ íWgLGf´PŻ‘F€Ż×µ2ŔCŐk¤íéCR€‡z]+|ĽšQjqś«‹^׊_›tŕăuRN{ôiřz]+|Ő cřxáĄgL®•ŕëYb<[bśJ]ż cŐN\ŮĎř;žžýzZbÍąÚâ2b5|.7ŮX¶€aŁń7l؇>-—xdG]`ŤÜ?łÍťłfŘ˙Y‘±ěâ›ăsM;r)|ĽĂžKˇaăý´LJŞ(WBŰ™ëîRbŃ!U͇_0®NN®v ¶Ř0ÝŃ|†äÓ0r|Zh„iöř4 ĂěĘ#Δ"xFąZhFˇ<ŁHËóQ¤˘ŇŚ˘;«äPŃťÍ{®{OKtĐěqż¦oÍŕĽo—Ěę[jś÷%%„óľ¤Ţ—ÔŃ{®w‘Xm}éÖ’—géîč=»§…†LÍ!A˝OÍ!A˝O)"¨÷)]ťĆLé"Ş÷)]ÜąéCwI`ďCwÉť›>t›Döž‹]´`M'÷iúĐt"şŇ"XRD÷ŢĄkĐž.]řŢĄ‹ß»î”ßs±{ZhOםŕ{Ó¬ŕ{.v¶ đ˝iV đ˝Iľ7é"Ŕ÷vuŃžzuqĆŞî”ß«î”ß«î”ß«f•ŃI=[b׬.ÚăŇE€ďąCö´ş_]´ÇĄkşëN đÝu§đŮByÓÓ¬"ľŇşiV đaF)ÚcWgěşVřołK€ďEGˇ=zŹ,ř~]+|ż®>˘ó(EíşVřůól mKľ]׊ŻdŘw´É€ Ł`cţŤ-¬“AL9-<°YZŻuZ .ńä23%Z€Z3wĐž–É·ˇŻx6µNŕD®7ĺó÷űüőĘ渄Ś†X §VCfۤ)ŃRń|®«FĚ«33yÔ÷›3K 1ů)©EshS‹ Sl‚â7.iDžóklŽ«…V jÁŁ0‡´4źC*x.3µö-ŔůĚ—GcbŤM-}ˢC—íĘG[Ŕó™¶çłKÍÁó٤„x>›”8ěhRCDźZňRcSKŢ"¨OůLL©±©%oÔ§–<¦Ôؔ۴x3«tÚg•.nŕĚ*]ÄöYĄ‹8SîSjljÉ[ÜŔ™r ·k¦–Ľ… J›Zň!~ʉZŤödć’-bü4éâqĚ4é"ĚO“.n×LůR‹0?µä-Âü4Ý)a~ĘťZ„ů™KŢÓB{Šf•0?ĺQ-ž¨Ď"]„ůY®.X8öŐEĎL^Ő"Ě9V‹0?¶î”0?äY-Ç -%‹0?–f•4CÎŐ"ĚŹÜ(ł\>WíYŇ5 ÇŃťNÚ#k!¬Ň" #ć#OR´GÖ"ĚG ĄhĎĽş8cr°Ö˘=CşócHa~ Ý)a~ČÁZ„ů!kć#±…Rś19X‹Gîă®2„ůŃĄ‹0?ä`-Â|¤ë8Z8c]şó‘2D`CŽŇ+ÝşĂĹž­Ąq௧Ąŕ2֣ݶ1vY9—¶čÚFËÄÄ”ÁhJ:ȧĺ„Sn­‰Ě˛±Í ŔŘZ™có´4ÉD‡TApçö™ Öěz•ŕ·Ť—Śh YZ ™^/*q‰§bk%dr ^(‚§bWĚ7rvž3kđÎEXćT‚Ça»”Lß. <˘ŮZ˙@}ë%’5|»Ś†ř\łGPߦŮ#uk`…‰.Âýę»ő‰ę;·Ě,’_xń¦gG«3iđĎ>4ĺzM„ö­UoÚ—V=¦Ň<-rśşŻ-ED÷µĄ辶ôÝ×–îâ¬ë?qĎfiĹcŤ­ëAá×ő t±´â‘ř+ ¤x(łňhŔČ|đ´H÷lÖ”.˘üĘÝ2›Dů%oŠä¶´âM˘üŇŠGň¬Ö"Ę/­x$?U?Ą8cň©&Q~ é"ĘŻquqĆúŐE{´âM˘ü’kEŕ$F&Ę/ůVdASŠö4Í*Q~É˝šDůŐ®.`ÄjWíiŇŐ±/˝R’!üŢ).V]éŕűP µä_‘ái©’˘=őęâŚŐ«‹ştĺ—KQ~é•’”đW¶`Ý)ÝĂ1ĄgLţŐ$Ę/ůW“(żLşňKţąŕhCŠ(żLş&í1b–M˘ü*şS˘üJ˙ęÁµż÷ě—ŤcvXa:€»°-ѡăďi«ę?1…é5ŘFŹ^^®H4cnMl;C˘Ă„Ň%P1DF`ś”WěwS s„|ś;销eKK|„ýxtžź={\ÇČ-sjĽh)dNÍ9.Ŕĺ!őÎ#c6ÍÓrUÄä”E ŇÚAëśă,ݱ‰ă 9łH®|áH…]hSľCöźw `nĘÔÜMŘ0sö&gfJÉ:VhÓ¬/΋6Í<ó)ŠĐ ­yĚžqša'1účţ'Hk^_4FkÓgp&©}ĚëR´iŚvĚbŰó…“@JĐmő}:ČobŢŚ+ÂĚ7SJŽJÓä91oĆafd:Ŕá(<ĘxąîSáTi·l`ĎDz”âTi·lZx]¨B{´ŘŤÂ©ŇbG¶/׋2Ζ»a´0O!m§ëzRF µ[6ŚöřŐĹł«‹öh±Ć»•ÓB-vĂiĎu©ś3&—j8íÉH#őAěmĄí)Wg¬\]´°H˘.°ű†>•3&·j0ębgÔ…‘ü{”Ââ»ĺY‘ü»Š”<ě}uчÝWŕa/é"Ŕď%]ř­—I2 `Gue ĆŃť2cgÔEđĚĆ8r­~˵řŘ)†~˵ŚŞÜSşđ{J~˵ř­—Ir!Ř–k5đ‘%ähጠÎę©S‡S$D“Çd;…ÁŰhL°y.˛âţĹhő¸ĆsâŔNůÁźŠź0skܸ€W†ŐGYĎŚŚ%`°~4ĐíŁ5Ľ?ą÷«–t)j)ÍX9qi#» îZ ™U‰ qÜ­KÝńĂöv5`zŕ'ăÚA;ńIţŠK¤5°Đ]K`# {ľAž WĐ™5şë̱uŘgŽŤpîő*ˇ]Ú7kÄs׾ShܵoÖ˛|¶?¦Đ¸BÎW}t‹v…ś1ÇqfLˇAt„¶»Ž @ 7Ű]ÇŹĚź‰Řą:ä:5‚»BÍŚÉ3îZô›„`?JaV¨™‘ĎŃ]“gj)"Ľiż¬áMűe$8@ ăB fĘäD1 ËjfŤŻPł éB(&¤ň 5‹C‡°P§‘Ť(or§öq=J)Úł®.ĚÍ«‹öhŃkz»nŢ´ču˝iŃ#×Âj)E{2úÂČwđ´Čń(´çúVzW-Ô~YÇጛŢ'IyˇĹôy}hd¸~zËč‹h Ż{E ·Śľ°N ·~uŃžë_č­I—ÓHv˝eô…u§…zźěz“‹ŐA…€rJŃžŞYbÔ)E{ŞtčM.)©J{t IÄwPŠöč}’$aÚă [$A@JĎ–°P.I"’%w!™n“™›?ż1pÝ[®ŚL¶ÉüĎÓbĎÂŁŔ4c¦Ť·ŚĆ¨Xp2ó4Zđä6…c0Ä>rZ)DCüŞz5»šhŠIĐK‘iüRrń7íĐŠXC›+$Í*‘˝! 㤠qÝ1ń­Üá19… hŹ6ŃNvś'/qSZ‘$ivÁÔÔ|Ź&ŃdVýi9Ř^uLŔ ŻÚ4«ŔöŞČJlŻrěę÷*ç©Üpfŕ^µâU˘{•÷ÄäWĽYD•aÍ"Ń˝Ę}ŞD÷Şý2&Ď …‡R4GG‘•č^ĺB‘× DěÙҊW-”'U‰đŠ7‹ČĽĆ T”"ÄWySű8Hž˘íŃ~Y%Ę×zuŃB­x•(_ĺU‘ę RŔ°vU˘|ŐŠGş$—QŠöhĹ#ăA¤­Ą-ô«‹öřŐĹÓ~)X‡>Dů*żŞâlĆ•dä<@ZßĘ–°Pľi0_QľÚŐE{ěęâŚiżŚÔO‹Ľ˘|ŐÎ|+´P/•Ť(_ŻÖ+Ż‚ń˛á§e†5Đ^!•“RôÓ2#"qWô‘.˘Ľë<˛ĺ#ý”Rt#uŮc‰4VöˇG{ý+˘Ľ_˙Š( C=[ÂÂë_ĺOÂŽ,Ź.]N{ň<ňÁ5&ÝxÇ3ńó(/*\đk\ĆĂŇsAd% ç®R´ŕŮí:O0,ÂO‹§Pç(EB@­>Ż&š2Ą ¨uÔ?ů\vüM;´$†_ýň™F×Ű;‚2ßü‡XęN Ć>ÖĂ>¨€öh#Í wí˘1µĆo0Z$¬ĽĽk!dfŤ÷|ŹdbŤßP4&ÖiQ á™čyüčÄóŢŻ"<];iÎýśž'L«ń®Ť4Ş÷ĆĎi‰V@÷řT·GTżhTżhL§ý„°w8˝k÷ o’ ˝˘§H›g~˝Ëor"űŤ<Ăë+ř¸8('H~Óhüž9‘˝ë’i4 ˇ˝kăŚi4‡’LR4GG‘LŁµűŕ7Üĺ@9^gŃr~Ă]n”äxfŽ ť`gŁT§=rĄÁ–O‹IŠjăĚ…ám_]tÉ´ę9‘ľÉĄ"á+đĚç3 ą‘ľÉ§r"}ÓŞÇÝ™§Eşôm]]´g]]›ăHפ=Ú•'ńA´đN‰ôMľ©Ľ) ÉôMîéž–\aťHßt&IţoóęâŚiăĚ—®Hé›öçd  aÚ#ËÁw2ŽL{…ᶠš“”˘…ŠÂđM{t&I*„ Yˇ‘ľ) T oˇíŃ[%©@Ă>´P>ą<˛†z¶Äť^‹HvÓ€[¤Cą ߬hŹÎ$I‡9)E óLňÁ6fßIţç7dőĎW’Í˙úÍ|ăSg <Ż!}4tŽR$ŕÚWĂ!‰óăČuŁÔĘ9Ú™¸ž3%Y´8äMÝi‚2Îąj4^Â$żĂçü¦¶ŇÎ9™OíŁ1ËĆoDZÁŃÍÔRČ$›`áÄ |*n<sl@ďI!<3!™bŢP áˇÚL3néĚ<‡d† 8KZ`]áç´Dk •ř4oŹ©5‡;—197Ťi5OKÎźd:2ŕ™éÓ" @öˇHĽúĐćŮ9™Ĺ,;`vněói@^ËQ1=ăzNö{föˇUŹů4>®ëÄšˇť3ćÓ€¶·eËůÍ“ÚOú_öÁoxČ…b>ŤßŘ3ćÓř#eÜżr¤ ń–>´ę‘ĺŕi‘®J{´sF® UN)ÚÓŻ.ÎvÎŚű7C)üĆž‘~hŐ#ëč¤)ĹÓŞGÖpTSŠ3Ö®.ÚÓ®.ÎX»şhˇ6ćI~-ĽS"ýoEúpwŻl‰qä^‘¬ŕ”âŚépŇptěâ)E{´sf Äđˇť3#ŇíĎ1|čÍŇí‘Źe·Ą:G¦…ŠÄ°A{äc‘áp»§Ô¤=:ś$!(â!5iŹ"1Hňů•-aˇŢ,ɉ{öáŚÉÇ")¸ń{¶`Í*Oâ‡|,#ŇwN‘ľëp’Ä,ŐŽĚX×á$‰‚˛łĎâ8%3ŘŞXO%áţ,dáĚÓ‚µ÷7:ÓÎŐąďçă•;j›?‹űiČľ§żâLé+b2v˛vs*çŠřĚzZJ\ž[=ň,97®*m§er-ç·jŠě$µ¦Gţps«.ź–Ęqř&‰|›čŇSčŘ•›[ Ť†ó;;ŃEšÎť2sCšŽ}ë´PS<Ń%5Ĺc1Ł%.[Ž‘÷ĎDtČ{Ś]ťč3Äé«ŕ&ľŻ<ŚDšMtáCĽ‰đ+÷ŇesľÂÜKŰDř•[iH˛9]ň­I6gţs D’Í‘Ę%I6Ń'§2 ţĚż–ŔBŚ_Z™eăë:Q<¶YÚJc–Ť/mĄZK'µ1Ĺ&Jf¤~=ëşRű‰ĆěŔ°Äűu*g,­¤=@ąJ5Ž“«É˘ęHJŃ»şřĺi­ó×ő¬ů7­óo$9|]׊ż´ţ‘áiŃ”óWąşhaąşhOąş8cÚź/ÄüĄőŻó§Ü,˛!řÔúWůSžPC‡R“ăhV‰ůs_]°gꜲ€$e ŐhŹöŃ H2P>}hˇĽ­‚ŕ &‚ KĚź Î(Îđ)o‹ü(‹©N{tNI~„¨·D)bţTp |Ꜳó§Ţ1É‘€ZPěĂ“·E’źś-GłJĚźň¶ 1Ꜳ󧼭BĚź:§,Äü©sJr%řT¤!ćO˝c’+Á§Ľ­BĚŹ·5śşĆüJ>‡źßŽ3ź–Ü^‹•â\cńE.NtŕĎřYnÎUÇźßO€Z2Ę?V§smŮö´”¸€Ő’‰áČż9šĆ€=-Đ«%÷Ô|sŞo涒o˘KHľ9–äRä›Ó‡/”Č˝‰.=…:‡ÉĹą7ŃÇ)tŚ[§Aš6‡qi€ŐÂCIdŢ´Óšâ©.č« RCÚÍ™ö|żD1;-1“Vˇ¶°Űó4äDŽÍ1âHráÍ˝–ÜQCşM|ž:đć^Kn¨!Űć´ä†Úb5A…¦!Ů&Zňć&Ŕ«–ŚŇ@˛MôáďÉ6Ń'ç1PţyVw:SH¶§%uĐGźÔ@ś˛<˘D˛Mô‘®3UŃ'ďsí'o4ŔţôÉŐÉ6ë´ä|ÚGţN‘l}rNîŰiI]÷Ń'uŦÎé3ĄëĚŘń3s?-<Ęa§%]‚Č©Ť>\ý6Ń^‘i‘O.é]ěw®}‘–]ňŔrî·ś«@űă)ÚEŠÎlE—TtˇľŃÇ'Ŕţô‘‡‡9gś\ův€ýůäbĹaNôI+Ŕ>úXJťŮ:ßś¬8ş9}ňĽ2Ňb˘OîĄEęL?ßCîĄEn ú䍰GźĽÓĐ>\e#c'úd„Fdőřů>ÓÉ ˘ôé)u,<ßgžWF˛P?ßDúY;Ŕ>ú¤®Ó9úäyĺ&Řď|ÍŚ4%tÉ%Öďô˛‚.ÁĎ7‘ń›PżÓÉŠ»C—śR"ýÎtń L.écíF[ň¨2łĐ%ťŮďçëL+ľ!ôÉ›<ËyôI+2Âü|ť…°ß=úä„F¦óe oŘV«Á‹ö`Rręiŕ/ř!}®:ţîxűŁiUÄ2q˘G‰Ëóa2ó#ç|X4ö׹ęă§ň˘ń [ž{jČżńÓÂźňoN9ę\±źé§`‚ô›S7:×@¤ßěÓŇR°e Ó@öÍ: ŇDز%M„-ă©$’o˘Kjj„-[čPăm®*H ™7Ń!ﱶ,XĆvó`Ž"ÔP‚ôtČI¤ÝDźĐ‚ĚjąŁ†”›S);wÔX´‚•é6ç2wÓX}´*0 Ů6Ń’·†ł›jĄd›hńÚń*Ő»!Ŕ~ú¤÷„d›Ó'OlsľŔÜKC˛MôI]U-÷Ňlsć>=)$Űśo9W=$Űś>ąę!ŮćL:SH¶‰>ü‘"Ů&úä|Ζ㤮ŮsśÔ(ľĄ*]‹ăTéfUK‡*~?ßd®z¨D}ňN@«ZzT¬DZ–†B¤ç ĎÓJ"­ćŇĐŞćŇ´9Š´Ş«Y†4p—Ű9J:Uń ĺ§O®z(C}rF70«ZzV(CzľĎŚĐ8ô‘.`V5ąVU-÷Ń‚$ˇoT’‡ďP€YŐrŮ‹WĚ~ľůVĄç8é[`V-ˇ:¤Çk•oU€Yµd„ęŹ3Ď*-}R—łjÉ}´x˝îÇ«ĚłJÔ!=}2BuHŹż›o–¬CZ‹\+¨Ö’¬CZKĆg  éń*ĺY!<Ł– Ď@ŇÓEŽU@üyyČJ”!Ť>©ÉZµ¤g…2¤Ń'oÓ7ÇI× eHOź\ebż}rJÄŻcaúV±ď‚>|± ÎôŃÖä(pťR1?ż!+§žK ęŹVE­!''z”¸<&A?’q·y°€dśqZz\¸ovZ\57Ó‰}¸ŠLśÓ'WBdâěÓ8A"NtᏉ8ŃĄĄ«2Ly8ŃĄ¤«6i"pU†i ÇOCjrWÍý4¤áŘiáŹi8Ń'oÓ‰]5Çs:äśÓ!×@äŕ´Ó–ÂG‡ÔR ^57ÓX}´‚śÉ7çóÜHcĺŃZů6‰Ô›hČ»«ŐšˇH˝‰>|‚‘zsf?W?¤Ţś>y>‰Ô›Ó'Źz}RW#x‰§©7ç+J©7Ń'ﱼ †Ô›ó5ćň‡Ô›Ó']*¤ŢDţV‘zsľ‚<¦DęÍů®Ó«BęMôI]ťŕ%Ęj¤Ţ¬Ó"]/O·*Đ'ďtXŽ“wpßNKÎjŔýé“ËĘž>yhÉ2¤Ő—TM“»h¬BZĹ^Ť"¤ÇźĚ=ú G8Ŕéąüˇéé“ÎUśBŘQxŠFźśÓIřňt°P„4úXJ­GşÎú÷|[žNVśĄFźÜD ¦ôI]‹đĺąţĹ)-úäť.—r‰‚,áŔŽg ĘĎ9ݬ8#F®µ(Czľ‰<˛ŚfôI]›đ幉¤ Ń'7ŃP†ôôÉ@ ”!=_Wľ\˘ iôÉ;ÝÄ/Ď@ –!­žq¨B]Ň'@Fő Ó@ŇóMäep'xő<°DŇčSSŠřĺr˛ĘĘqxź*}äeÚ''Ë_ž™ăQ…tEźô˛¬ĺ0„Ż O@źTeiNžW}Bô1íKFHŇ«2†íç7¤čÔÓrÖEäç<÷Ý“´ů9§C0 ?'úô¸$’ő$îGrÎ8-\,ś}BË&Ś)| ™9ű´`ůEbNtᯉ9ŃĄĄĐČaśB3G))DëEš6‡aĚŇrü4PŇrÖiˇ&¤ĺDţx‘–}xŹH˱ÓRâ’0¦Ŕ5ääŘi)BkqT‰¤Ń!µa¬ĺžjFźĐbı–jČĆ™§…÷gcä:dśč’÷g2E¬!'úp*‘Śsúäa%’qĆiáłĚG ¶ÜNC.NtIUNkéő!'úäM:qLkČĹ9}rD.Îé“rqü´đ7‹\śč“Z‰c-ť,äâśď)·Ô‹súté"Ž‰Ęą8çkH/ ą8ý´äť6âÖPô|éfˇ éé“ë ’ž>yn‰‚¤Ń'u5YË-µ`L8(%Rk$Ť>©«ÉZ.„(HzľŻtµ‚6!úäJ‚¤Ń'gµÉZz[,Hú4X ČZ•*YK‡+BŹŁOn©Ex2ú¤ŞA`mą{úäŤěnÖ–.WDEGź\ Q‘ôôI—+xµ\_P‘4ú¤®I kérˇ"éů*r[ IĎמŰj¨Hzúdä*’žŻ"ß8Q‘4úäťNYËČ T$Ť>9««ä89« »›µfäJ’Ç6O.#´}R×"”ŐŚÜRôÉ;]„˛šośWđĄ¦ËĹš¤µ¦Ç´ čB(cIŇZÓă ZtIM›HVóÜ2‚N˘Ož[łBô™D2T$=iş\Á¬€>=sßň{p'¸ËdWĹÂ#ĺ7ú6…÷y:$W ‘ůëGľďž8źk#!2ĎçěL#‘)i¸ě{şä V‰L|ÁBşotI ś “ů‚ŐR;>Q./ş$Nž·ő<¤CĆﯚšxú§hřĆđ§ OhR4<˛}—\‰3Ý˙îőď_ĺőw‘(ÉěĆČË`éhW14ŁĐÉnÄ%LAđť©ď–ɬí¦äAÚę*„f,ýÎDĂÜ÷w&šňĆDC+**1ŃĐ E*€Éć2Ń$™ŤBá“̦\Ť´ ! ¤˛ÉKe#fRŮH#łăމiú+M'Ť4ňś=YiÄcs•â¨éť•¦p©ej\QX¨¸l2źFT6Š %› ?Ą—Ş&©l®VÚ±Ŕ…T6 •Ť‚De#}˘˛Ń78“¨†ś……ŠËFyÇIfŁ¨P’Ůh:Efs‰jh™’ /™Ť4‹ĚF3šd6ʱ™Ťá/™ÍŐÎ9şéŐ‹Ś(oě5´çŤľ†Ś(oô5´çŤÁ†Ś(o 6´çŤÁ&9m2ärÚčNĹi“wúÎiC¦qÚä$_N› Đxç´I)ÎŘ -|c°ˇ=őjçŚ)ýđrÚ\VÎq.§M“gLA˘˙Ąś6şÓ7NJˇô€+lŕŤÓFşęţźĺ´ńżČiÓŃ‚–żŽÓ&Ă^ČijHýwĚiC©˙:ś6ż|Ë'Î*`?™4Y_Y[őW&M~r±0¨îr±0áýŤ‹ĹŔB*f»»2ęÚÉv÷L§cU—wf'U Y’ĆF?rĐŘdfťl.S‹0µ$ŤÍej ›Ě(‹Í%j!Ť ŠEĂF?sV‡~ămI›KÝÂlwg®gŘÔkĂćşëd°ą\.Ś“ăr!‰ŤB%Eb#7<6—Ů%ylä†$ŹMz!b˛ąĽ.Ádă…Ă*y$Ic“™(b±ą/Accü”Ssů]ČaŁĐI‘Řh ‰Íe|Iů$"±‘S"›Kú’$6—ô%IlnRr’Ř(_…… ]őĹÄbóFĂ4÷7"ű ĚLňKvÓ8Ž&!ńv—‰î:o™ŤÎŰEfóF ĂxÇ^’ŮĽĂ$™ŤŇ[DfŁ•Cd6Jo™ÍĄŠI2›K“d6—*&ÉläÖĚF!"łQ‹Čl”ć'2ą6"łQP¦ČlĤ 2›qµÓů;"łąÄ|¨=đN“d6×ßaš»)ńOd6×ßaňŰťL’Ů\‡iîvýť$łQRŚČl”#2…iŠĚFt "łą3IfŁT@‘Ů\(Él®”d6—`&ÉlŢfhŹ’Ef#Hd6ň€Dfs)g’ĚćRÎĚFÚ“ĚćRÎ$™MF4ýÂdÉěĐX4ÚkV¦ËbŁ^3­5Łß¸>XŻôĐ}śËS0Ú«|qąÎPYőťúyîUĽiµD‡ÂżIر4y?’ă„Ţ_ŤZP×ŕUĽ5o¤ Äńš”jÉ[ŁSWcčw–ÂřKŠŞě®$®ÉsXc}čwÚĺ@ĎĘĐď„!ň<’5Ö…~'ńřś464@@OŢš<ťsMÔsŤkĹ\ŁĂZ1×\b‘d®IüsŤŔ_Ě5@ŃÖ\Ž‘ä­IômÍĄIÚfĚ&iŤ2%DZ#ş˘¤­‘;ÚeI¶ć1«]Ç˝—·F΋?ż3’$uÍĺ4bÜ{U&…¸kä°řłëřŇ×\Ž’žÜ"˛'ůk”[&ţĺVżć˛–$Íĺ?Jţą âŻ‘Ë ţšËc’ü5ÚŘŤ^$Ä_s©’’żFůg⯑!ţ9⯹JÉ_#'"ůkü’(%KťśäŻq˝l$ŤË‰¨Ějżě'É_ŁBÉ௉> eÉ_ă—m‰ąn—%ůkT@ü5ţ·’ü5~ Ő®hń×řĺ`bVűeHIţJ‹żĆ•Ů‘ü5~™™ě:”Ťę,‹żĆŻŁÁpgżŽFI69v•^Ť_GŔ®ëË_Łěń×\×#ůkÄ0 ţąâŻI×ăćFN2. vyÚ%ma^;Ę°žş±‡!ź.RşŞ˛˘ÔěiČĚnşŞŇzňAÄ@ôýÚMRFf{ú%cMÖmaM»ËtűšŔ0kđ0éjšđ0éj˛°«čjÚÍhNľÍrŇŐ´A<í˛ĹĎŇŻćItpécăí˛Ç$ĎÁ¸t5íRÉpÓ¦‰J†tz NšöĆ-Sâ’ăžŢxf`ŔĄ™áÄ,“­¦˝Ďpf€ IUŁZ˛âŞiâˇ!„«¸¬¨jÚ3 ''©i`Ř3 íH Şšö'T5:¦KŞŐžUMű Ż‰DZš,tol6ÉE!K ćŞPk,üěíŤâ†s$ç’…ź˝˝±ŢpšŢXohŕ%ľ!¨ë´OŚ5íRá×ŰĺÂ!°ëüOŚ5—U0kTńVŚ5Şx+ĆšöĆ—Ă 'cÍĄLĆšvtÓvą“±¦]Nb{»ś:ÉXs9u’±F,ƚ˲“Ś5—e'k„ÉÎś¶K_(Ća˛3§Mµt/cÍeâaN[J‹±F(íĚi»L‡b¬ŃÉD2֨ޮkęeëIlżl=ÉMwŮz’›N¸ťŚ5őň÷$7ťp;kT“WŚ5—%1kTĄWŚ5ŞŇ+Ćšz9~Ç®ş˝b¬QÝ^1ÖÔËúClżlŠÉXŁJľb¬©—(ąérËŕć@˝×F†üÉx$˙HWř°ô\őQ'úŤŚu˘˝ë˝čÔ‰N~0‰ö®÷˘2ČVĄbq€äCiT>IRÓµš,58JEÍ%KŠ®ŠŁF4cIQŁÓÖ¤¨á9ׯä¨Ń—Ë/ëBű-‡IŽ‘’±*´wˇE°Ô\Ž˛d©éť60@ďZÉRskgKŤĚ’¤¦ 8HRsÍ’¤†”fIQÓ/›OňÎ J’˘¦‹ß'iç„&IQÓ/_GISH(ĂÉş ć2Ł%GM˘ćň¤%EÍ-ÔI–šNnÎtáLPÔ\µ¤¨éůBÇŞĎoĚjIQÓµżËŞĎŽ85QÔ\®µ¤¨é‚ś¤¨éÉZ› 5 eC BŮDOsÉŘ’ž¦ n’ž¦çžp˛Ó(ÚMě4—Ż-ŮinˇĐd§ą nÉNÓőNě4—Ó-Ůiş)Ůi.Ë[˛ÓÜň˘ÉNsyß’ť¦_N’äˇ"%;Ť‚éÄNs™ŕ’ť¦_J¤äˇF%;M×›¤1S˝ µ’ť¦_Ţ$fŞ_ţ¸d§QTžŘiT¸Tě4ý*‰‡Nw!şË*CT×Űf˛Ó\Ö9ťî‚ě4íR1ý ]˛Ó4Qűšxčô@%Şk[;ŮiÚĄlJT˛%;M»$N‰ę—ÇI’S{3_ý´Ľ’—ćtČl3[ÝGĆŢ‚—Ć>Zᚶ™Żţ# 3s~Ł §‰>!ă /gÉr&˘N}ä˘Ç:ĐžĹŐÁJ=ň~ ăo ČźpŐ_gčÓđJFšJzĄůJFš3ńą‚’¦’pé•Ś4㽡ĺ(yű«ĺ(yű™ŞŽ*îŕ¤dh‚ÂM]uÝw橡ôó~o`–ş*żďĚRą^‚”&úÄgŠúČĹŚ4F’',ÂčäťęŮ >š[?>ůhĆ%Fal+Ę'ÍĐĘÉ’Ď~kĚ'ÍČ8¤¤Łąuç“ŽćłĂČsJú9đ×%Í­Lź\4ýr­$˛g@SRŃt-¬IEsë×'Í{ áAOÉCs Ü'Mż|- îZy“‡¦kĺMš®•7yhúĺtIt×Ę›<4ý˛Ľ$şk-Nš÷Ζ&“‡¦kuNš~ąaXMŕr'M×ę\XM _¶Dwc%M×»IňĐtg&ÍĄ>Nš®}Çäˇéo3ś1íť%Í{ gL{“ÉCÓĹuš<4][lÉCs™”“‡¦żqŐpĆ´Ď–<4]ű—ÉCÓutš<4= ł~Ašcü¬đ`ţDšăyYa‘O¦9˘ŹZ.qZ^ĚqDŢÄň„,µÔ„¬ä,[5Që¶Ĺl0ůeˇÇŃ㪉[·%t•Pz´$rE†jBźůpŽĆ?ZąÖJľ™„ŐŰ’ČĹčÁŐąÄüŃąnK"W2v•¦EË+)iě^&rĺo|4öђصr*ą…3V˛ĎŚ坎ć|…˘é‰^ůcÍ|o‰^ T2‰]ůŰMýŇđgÉčžŰ’ř5“÷&á+L ¤ď-3ń+^k&€ĹŃ-J@ď{‰<‰Kąąf˘WţÔ@Iă-‰^Üŕ^3Ń+{`¤Y-FĚ_#iZ´Ľ’ŽĆŢ/űeä/\4§Cž5€‹&úpŽ¸[ó~ÍAr†6˛#‚řf0Mý˝Ů§ĺ•,4Ń!'‰9ęď-3ÉIbŽşî¬ Í!uÉpĐDŹô-ˇü˘¤Ź©9JřĄĺ¸ěŕSąóü3ŃA<1…Ś/o-ȉđÁ˝ĐD—ô®š~)K7SÓß[qZ^É>Ňßb^şŹOöűhA>xO_I>]rRĽä0jA:ÄĄFůLô‰yqäB€)"Č…xoä˛Ü ⲩn¦Ą?-91I-«fĄ_Â՝̲bĆaR:X'[NĂ{ËČarf*r!.K+gÎ×”ű@Á<>9îţÖň RĚëů'RÇ;űódžú!€Ć |Š?ż_@ öd]‘fľ[ˇÄóg ńGŚŇŕ“ńŹBĐäëę94Ô”á L¦™ż· Âgľ‘K¦´o@^=™W®K˘ËĚW6h-D—™ŻlŕŤ™-#ÇI˛âËmŘ9J~L#ońĘď‚[/o „k“;\WÄ‘™ď}“éăď-;Čď‚éăď-|9DećýŢ@0‹7 3‘Ł”¤ŠŮ)őÖďS3Ţ 'óÄuI@řd’řgK,űSĚ#ŘńÖBěHúpPÂĚ÷†ťŁäwÁ$ń÷ĎQřó#Ěüh!~Lp%ÂÎ{ 'Uĺ“Ůáď-@µ)F&‡ż·9’×D0ă˝Đ1EÉ´Č&ęó ‚Aµ=&h›ÖÎAň#ä«îdRř{‹s„|ů L˙h!v$Á:H`ú{‘cŠ!Š)áď-;GI gNř{ ˇDí €‰ äĚoé9HB{9Z“ŻŐŕ™ź ±”ĺKőb>ř{ É-E4Ătp˛Ä/ľ@çU"šţ,ă¶$˘ĺ[xĐľ O¶x"ßËö]Ňg tő·–_8«PFĘGíĺ©|Ű8› ďŚUŞď…Ű’ 0@­ÂŽĽĚŐ_$(%ňŰ’ ’MHřč-|k™˘NÉuY ą.§˙“Ą‡ßrÎÓ)äd|¶pÝ ą÷˛ć‚*v–šËĺmÉĺ2 ‘2Ń?ZrąLN—–ëˇr9L ©ëŁ%żĚS-;µô\ě§=×5^âý{Š7¦çňy[¸l%;é`Ű[]ď™\3#—J5䊔WĽüI V!ÔĚ\snK®9q–Ž·Ë\]Dh‹p˙hˇ×q¬xJöÁ|Ųł˛ĺXŃ“1ď Í•„<ţ`F™-°'"#=[Î8qF;Đ cIˇ&,˘N*Z`a2Ł8ůô.HEF#¦‰J"FA!‰ÓĺĚ)fg­ťB°&R“1;88kB)Xoaó©ÉB&2 0ŁÎŔ‹Â>00":088CâĘ–Ă‹ŮA¤« ę°Ę93×sŰëç7ćÎŘŻßś‰ëŘ=kh9„^ĚZŹ7<üxVľTŠÄ“odŔ!ž ÇŰĄŕá$©Ł%Đ"Š(ońqlâ©6Žs(Ôă˛d‡°3ěpVÄđ@^<’±"BčÁwś— ^†e±đ@$0ţś}˝Ŕüř 9…žy á|):·$ÂŚ6ŁS$ěh0|öŠ}e =0Ż c솟Ď`ŘT×V0¶ÝźUřĹ׸¸ç”!UřÂÇ"g(KŞđ‹ďzń=Q oů{Á¤ćăű§‚¤ÓÂ>°'ü©•-űô~‘đ!(”šGřEĆG„x¶śqLř…çë5LX‰÷ĆâC0ç@|ü ){L6€řřacč<2§z§‹lđŞ!ţČ 7śBž.Â/e"Ę‚BđѶđ‹G¨ |´-üáă Aŕ=â!V¶ěÓGř5€÷u€q AÄ·"jÁłĺŚł„_xA}!"R°g żđĘúBüűŔž)Ă+ë ‘đHÂÔ3Ë t§‹_!8`x‹}őLi†âÓeż@řřŠ ëÂ| á×DSÄQS xÔŮö áÎN^ńf üšŔű‹~á4ĺŐ{żRŻp´ŕŻďăUm˙ɾH[őó›“ŇqĚd_|“DŔŕé!cű"ˇV´lśÓr"óŘqŔ)„"ŕ~ˇĺ¨XÝŻŚéB°ó˘ĄľF ¸Dp;ś%q5!#9W‚VFD% ^†eM//ŻÜ@<éăkŐu…žąĄXŐóyżaFžm!öô8÷Ćńx Ŕ}ň+śyëË`ŕ||!´„}âé§ öĽľŽ›&‘A„^ Ö\¶ŻL1ˇ×!çŚŇ^"&¬/z!äy™Đ‹|ŹáŔ¦Đé ôę@ůđ‹S$ě(B/2Ť÷:…ęcGî ;Éâ˘W~Ăr;ÜI6ăKÇ @řą_ä›/†€öÓEčEú°ąý m #ôÍă+^(?ŻJD/l*˝âu 8Ä]Ą¨ç•}Ćzaä/s)51ŽĐ‹TbńšR°g ˝H(6§Đ VŻxI2‘RlN»R°g ˝ný5ö…I‘Y±ë•B°!ôbrČL^,'ŻXlö‡t‚Í{ aľşĐ ;hŻŘhH)XÓ…^`y|ņEö9]č–Ç× Z,H!:öJ€^ÜŚĂ>2¤=›Đ ,Ź/ěđR*໵w ýlĺJĹjŚ­TĚ)öđb˙@–ÇWś°łđ~&âúNżB°*ôÂŢßk&„“k,ŽCŘ |Ĺf[ aľ\čE®±ŘÂŁĐ>NnŮh?ă-“}`Ž ˝Č5•R°Ç„^äĂŮ%Ą`ˇ%z9ąĆ¦ )Đg†Çw ć®p¤áϨĐ_ż%ĄÂF'ZâŻ6Ť‘ EŁĆĄa íŻŐsŠ W 4Ž -3>/ř›6duňj ô–Ň(¬·‡±ĽŤ—¸«<ô Ń< P\ŹbV]ý… ăÍË3@pqŹĹ®˛^H‹;]YLbGUNôŞďĄ™Ă#±— «bgŻ~…â‘€mĐóŢý ®)K)ŻO 2YĎ˙+"ÍŃÉë{ ˛"ˇń…řuJŔ˛)Čjĺt(W“4Y±ań4Ś+I‚¬ö|ĹÖ߼ÄÂ,&­«’—“>,ň€Y  Ĺm?¤ŰY…DÔÓEú°ÝýĘ`Žş «a‡'2#(dßMŐ°Ă ŮÖ4AVCžS¤mpd űn‚¬†Hč^Ą0WUŐ*‘M”Äď*ČjŘĐŮUđHf±«‘Y,Ęx}H-ŃYŮ–IÇNr±űJ!L ˛H.¶“öĎÉ-g–߶Ż¬1iÂG°[ Á{Ó„é2! Ć"ÎŘÓ€đŰ„X¤ŰEŐ€đäG©8•}í"Äj@řL©€.b5„AďR®T¬Ŕ´4"ßX_f$9Eđ#űăW,+INk ˛Č7q—)ö¬äŘpŇŤ­5ŻP¸– ‹tc+S“ślck ±Č6¦Ŕ˛Ť­%Ä"ŰXD°{Č6Q®)ű¦‹lc<›RŻ)Ä"ŰŘšB¬„Ź¸]ĽĄ‘ml ˝Ű5@ňź ­»ţrś"I:ĄčeTP"ťqJŇ 9YĹ"C›R@wò“VĚJ’8iĹ"7<ĄčĄjÁ#­Îهöd“W Iě+[ÂÂLîq˛‹ťĚř”Ŕ#uRN{¦tŕMôĘN–1¤íSjrÝ©Ó©;uÚ3u§•364«•ö ÍjĺŚ ÍjĄ=ZO*ŮdË.˛É–quĹ ü< LwNÎ1Ë2̢Ocž“v éC©N‘b”Rś±¬b-aaÓ¬6ÚÓ®.ÎX»şhO»ş8cMş:íişÓÎkşÓN «î´ÓžŞYíś±ŞYí´'ëŘ€Ä.ú\]´G Mś1—®A ]şíqÝé঱îtĐž,dóŕÚłś˝’Jîçąj‰T‡/K8gÎ{2ŘEK|^řw—Z™ÜNÄhŔĽd«3µÝDżvX4_d]Ś«Á®Šń¬ąĐUÄëzľLĽŔď0$]tjŕŤĎ5{#:ţ éu‡‡Mľ®š)ŽÎDvIšÓa1Uîr&˛›HŇŔ•zúLÝ1ݵćť#(š3‹<6ÁÍ«‡¶Lé9 îCJ Ń>¸ÄL4gN21SĹ®ŕ™=ż8Ńś9ůÄĚĺ;Ng‚*(Ą8Sňź ű5&‚i'©XQŠŘî]şížĹźÝíŢĄ‹Ř®Š]Nb± `âŤnÚ#/ŠÜb vZŮj­#żůő¤ďžě©N‚± ŁJ)ÎX•ŻQhŹ6Ęśřîף"ľ»Ö:'ľűuŞď~ť*Ł=ZëH8vŘĽ$E ŻWE|w—.â»űŐ…µ×íęâŚ]Ż  0ŁH|wEd8ńÝŻ[E|÷,U-q§EłJ|÷ruqĆĘŐE{ĘŐĹÓ‰¤WZXt§ÄwńBÎűécÉď¤AĄ€bvŇŹůŽR‹ă\]t ĺY9ńÝ–tßmIńÝ–î”řnň¬śÜđńv´Đź]šUâ»]¶xÇŽ áhëç7gŇ{ň:˙zZâóÂżă9i™+ëŘ‚´¦%‘éî‡`—€Š–)¬ÎŤÍ§%W‹ô2:sÝM ‡(tp:(&ąî‡V—Ŕ,1˘~ÂË’ż˘GţrËÁň¦µ°Ë“žĐ  \\„Î wĐŹS&:¤ ˘ą¸˝ÍE/š§‹VÁr]ě‚(L0d Zţ ń\ěάvW ęaśíjŔs j@/Äs:óŮML€QŠäφůě&î?/@tq˙9ÓŮ­iÝ+=:hţébőC1‘—‰ÂĎ™Ęň~H[ź“NĚÄ͇2&/5ź“OĚDÍwŞˇśKÝ],|^°WcâÜsrŠ=Ţ”¦‘Ŕ.†='©X”N ]|zN^1{ężDéš´G‹]!¶7-veŇB9Pdł¦Ĺ®`űĆÄŚçä3ńŕyÁöŤ‰ĎÉ0fb˝‹–}¤‹/Ž»(¬qt§xqÜE9ŚŁ;%Ŕ‹ŃÎ˦=ZěČ6fâŻsŽ™Řęś„c&¶:'ቛÎÉ8î]JaĆęu©p cőzUřŞ×H#Ŕ×ëVŕk–~Ž–¸S`yĚęő¬đ5K?;ŮÇŔzĽ˛ăH—ŃB˝F’,–éî€,ĽĚŮhORŐ»!ŕ2řťSŠö*©Ĺq®.Zx]+|mŇE€ŻMşśöč5’Dd Ă^Ůj…!H¶)Ĺ“kE&2 ŽnĎ–§ö,Ťýř•ĎĎýÄ•ýŚżăI™Żc ›:Ę~¶Ĺe€ŢnáýÂF#`ŮF†)gŮ°}Z .ńČŠýÉ6ŢjLdO¶ąŁ.'Ăţ÷ËÄĺd»Ŕ®dšŰ…vWnŰłŠÉ°ńţ˛äW˛ (™’mbąč’ž–č*ćâ=˛ 4Ń‘m˘ąŽlű±B¤n›hĆ"Ű|ÄOd›h.ö!Ű|Ŕ5d›P.f!Ű|.oĐćÎ Y‚6źË ´_¶źÍ @—ígÍ/»Ď&šw±¤í4{ÜŻą´<p~9x6áü2îěç—\gÎ/qxĹě˛äl"úeÉ9Übv q6ýŇßl"ú%»ŮDôKmł ę—¶fÔ/IÍ&¨_JpŚ˝ěĐl˘úĄ›Ůܹ݌m{WĄŽÍť›."çMdď˘ËŢÜąéŞC¶ąOÓEÖ ˘±ŞŔAŠčŢU—Dc/—Łg¬Kţmn|ĎĹÎ@6öŠ2wĽSüĺÎÜř®*ä;Ĺö$Ĺ&ÇPÄŹRś±vuŃžzuqĆŞî”é,7ľ«ćĆ&ŔwŃ"o|WÍŤM€ďŞąâ±WÔçH)ÎX•ż˘ÎGJŃUůŘ DЇé$Á>ö´!ÄŔ>öBýJ®.1ä&ŔG„ĄhŹ]]ś±ëZŕ{8u2Y/r8 íŃ{$IȢ Ý|ż®ľgŐ1' jŇPŠ.ÚN¸" ™í"ߏ`a»®>^É°ďh“F;ŔĆü›§%&cbăČrZx`ł´("^ë´\âÉefJ´µ¦ŘĚć9Ă™ )CŘąĚőpâg’ÖÉjvň÷űüőĘ渄3Ë2Bô¨‘ŤCŘŃţ\¦ âů\WŚW ff&ţąßśA\bÉOń@L-‚śC›Z™bcHń´E,ź*ŔüSćĄ-îŢ ŤŇ\cSÄőë ąrŤ™56µö-ŔąĹŤ‰56µô-‹]´KĂ x>U|hϧ„×Ás%<Ű"žOUZŚXÍÓ 5Dô©%Ź)5¦,b[ueSjljÉ[uĄëSjLɸ¶x3Uf)56EŇË”Š1ĄĆ¦xß™Rcb?1¦ÔŘÔ’·¸3ĺ@-n×L-y‹Ĺý¦–ĽE÷‡-÷›™ąd‹?ĹŽ»x#† [„ůiŇĹí1dŘ"ĚO-y‹0?Ĺs»ób¦°EźąäŮ"ĚO1Ö.ÂĽč ŚTc6‹tćgąş`ˇl懼ŞEr¬a~1}ć‡<«Ĺ㡥dć‡ęš,Đ 9W‹0?rŁĚŔ8vZ®.Ú#~A0ŽťÝé¤=r°@:ö´Ě­EŞYޱӢY%ĚG ĄhĎĽş8cr°@<ö´ é"ĚŐ#Y„ů1t§„ů!k懬EŹÄJqĆä`‘ĚĆ]eóŁKa~ČÁZ„ůH×q´pĆştć#eŔFÖŻtë`cŇ śÁřĄ’[ěi)¸Śőh‹—ť fpC):ţlí¤ź00«ŮNŽu˛łĄ|ZN8ĺÖšČ,ŰIšŇ8xć řAmq˘źx1:ű¸âE0˘^%řmď*%4K‹!ÓkâE%.ńTě[r–ľµ2ą&ŢŹâ’vyś™5xç˘,s*Áă°Ĺ*~Čńž‡î<˘ŮZ˙@óh[/‘̨áŰe4Äçš=‚úé7\đFkhŕěáűPČäK2.1†¨»A[oJpv´ę1“/đěCS®×DhßZő&ˇ}iŐc*ÍÓ"Çé űR‘ćŃŕG ű{+Óhâ·•Bř˝¬ë?qĎfiĹcŤ­ëAá×ő t±´â‘ř+ ¤x(łTĄ‰ĚO‹tqĎf‰÷”äX )E ĺM‘üŔ–VĽI”_ZńH~€ŐRDůĄŹä±ę§gL>Ő$Ę/•zśDů5®.ÎXżşhŹVĽI”_r­ČśÄČDů%ߊ,@`JŃv$B`{JŃžvu#V»şhŹĘ8‚Üě´čN‰ňKţŐdĐĹRGŇ!Ŕ÷ˇ0kÉż"ÂÓR%E{ęŐĹ«W-té"Ę/—.˘üŇ+%)ŕ?®lÁ8şSş‡cJ)Îü«I”_ňŻ&Q~™tĺ—ü+r#ŔцQ~™tMÚcÄ,›DůUt§Dů•ţŐk¬sqöK¨ˇ†łĚĂŻ§!~ťŘ…ťh‰H[U˙‰(LŻqËřýłmńrE˘skÜ’Ś%EÜJ—@ŢÚ>EJÜ’U›Y5Ř$ohYe_-0Łli‰Ź°Ź.,SđÉš,®ř3cNŤ-…Ě©9Ǹ|Ě*˘§f6ÍÓrUÄäVe)˘´~}Š¶ĎFă 9łH®|áH…]hSľCöźw `nŠčť;*ż”¬—ÖI!_DÜÜOí—˘MłÎBľE›fLžÁůEh†Ö¤”/r«Ł.vF]É°÷G),ľ[žÉ°«H)ŔĂŢW}Ř}uö’.üVą‘A€ßz™$vTW¶`Ý)ă0vF]Ř ŔoąVżĺZ |ěCŠżĺZ FUnŃĹüžŇE€ßr­~ëe’\¶ĺZ |d 9Z8cŁŞ3 Ű!š<ö Ű!slŁ1ÁĹ8+ZbEô\™^“î§ĺTůU4š1·Ć=K…5ůucfM†ŢG ŤĘÚ_L¬A<C PËűUDKşµŠfL¬‰¸4Ž‘ż]IĚĽ…hŔĎŰQëÄV¸ëŕ€ 5ĘaLOŁüd\;h'ž±@“—0Hk *J"¤]8;ůy‚H\AgÖč®3GTąŚ( pbęUB»´oÖç®}3¦Đ¸k߬ŇrfLˇq…ś!®&úč ě 9c,Ž+âĚBč4lw0Ao¶»Ž™?±s)t:ČubˇTW¨™µ¬č«EŻeE_9O-+újŃcEWw9PLžA¨!¤đ¦ý˛F„7í—‘ŕŽ -)“Ĺ€,W¨™5"ĽBÍ2¤ ˇ"Č+Ô,ÂBťF6˘ĽÉťjäj4í—5˝­«‹…ŢçŐE{´č5˝]·Š@oZô:Ţ´č‘ëaµ”˘=ŞčKľ§EŽKÄŘő­ô6®.Z¨ý˛ÎŠľ¦÷IRDh1}D_ ®Ţ2ú"ZÂÂë^č-Ł/¬č­_]´çúWzkŇĹJ1¦ÉN ·Śľ0ĐMľůÍ>´G.VĘ)E{ŞfXQ§í©ŇE 7ąX¤@@d<¤*íŃ$9ßA)ÚŁ÷I’ N„}hŹ'l‘(=[ÂBąX$AH–Ü…dşMfnţüĆŔu—=R5«ţf˙‰}/#[łđoFcT,8™y-xro…X†ŘGN+…h_5@Ż[üµfí_“& ×­ýz‚˙OJ.ţ¦·î: ˙jEdŃřH ŽËţ^¸µfŮß[Lťe Đm˘ťě†·j¬5+ţjDz’¤ŮSSó=ň°ĄĽ•]eĘRł)«j>V‚ú­¨Ęd¤…C¨^óü‘ą4H7‡™éëb‡Ć1tsŘ«^&™Es‹˘Z°×[ÝśŘ^uY¶W0ći‘`{Ő d%¶W9vő€{•óT î 8ł pŻZń*Ń˝Ę{bňŚ+Ţ,˘Ę0Śf‘č^ĺ>U˘{Ő~“gÂC)šŁŁČJtŻrˇČk€"öáLiĹ«Ę“ŞDxĹ›Ed^‹>šĐ¬í+oŞfm_í—Ő¬í«ý˛šµ}ëŐE µâŐ¬í+ŻŠT‘ĆúöYŰW+é\F)ÚŁŹŚ‘¶–R´ĐŻ.ÚăWgLűe¤<@búdm_ůU5kűʱŞYŰW!•(_ĺ[‘ö řuĺ«]]´Ç®.ÎöËH}đ´Čë ĘWíĚ·B őRŮňőúW`˝ňš!/~šŞ<7Đ^!•“RôÓ2#"qWô‘.˘Ľë<˛ĺ#ý”Rt#uŮc‰4VöˇG{ý+˘Ľ_˙Š( C=[ÂÂë_ĺOÂŽ,Ź.]¬çyůŕšeń_<®Y˙˝e7łúo.†M8ďYĹĘ,«˙ę<Á°ŁB:G)jÝâk–€§4µn€Úă'G 5üM;´$:‹˙jI¤ë} ˇá2ŠB/u§ăë!ëJ3»Ś>ŇżÚEó,ý«•ĐQ1ć–ö,ď‘L¬ńŠćY Pë gńß<~ô¬ŘŻ"<·Šłg‰Ŕ<ô¬¨Ť4ŞłHłgu@­€îý˝ü˛gi@-Tżhž•uéµ 2%ě·^2Ţ$ߪ#{ÖüŐć™dżµ= ţjŮĂë+ř¸8('H~ÓhüžyÖűŐ)¤g˝_9Nžő~µqćYPgÎÂ3·ţ°gE@ůOLŁy«?ěYP«ž«ŢŻfSő~s-pŐűŐ„ŞŢŻteE@mś‘éŕ­&°«ŢďŐE—ěV˛˙“zż$Í­gi̧ń{fYPŽ”q˙Fĺ'Ͳ: V=˛ÜĘ‘f¬ý;´sF® UN)ÚÓŻ.ÎvÎŚű7*Ůh¤<đ{fDúˇUŹ¬·¸"¨qk'RŠöčpŇô*h$>ő5Ą8cíęĘrŠŇE¤r­ŚH?ä[‘ţÜÝ+[bąW¤@+8Ą8c:ś4Ý»xJŃíś1PwRDúˇýy!*«łí‘Źe·Ą:G¦…ŠÄ°A{äc‘EÎ!5iŹ'IŠxHMÚŁH "€|~eKX¨7Kr"€Äž}˛4¸î”HĆ=[0Žf•'ńC>–­¬.]Dú®ĂI#Dˇoŕ–é»'IŚ€:Ţěł8NÉ 6„*>ĎÓČ~~CÎ<-X{OpŁ31í\ťű~>^ąŁ¶±ůł¸ź†ě›qř+>Á”ľ"&i7ń!! i7ű´Xv§I+b2ss:äYrnü´HKŁ­-ç·jŠě$µ¦Gţpsî$—C$Üś>|“DľMté)tl±ÓŇRhä0śżŘى.Ňt¦¨=-CšŽ}ë´PS<Ń%5-ÖT[ZŽ‘÷¸Xbm©@něęDźÉĹÂmŠGŰÄ÷ĄJ¶‹őšWl"üR ÚÍŠÍKf‰đ+·Ňdsş¨|lř}gţU,6ţH©l$ŮDźśĘ€ř3˙Z 1~i d–ŤŻëDńŘfi+ŤY6ľ´•vh-]śÔĆ›(™‘"řő¬ëJěo$SlP°Ăď×u¨ś±´ţ‘öĺB(Ő8N® $?Ş#)E{ěęâ—§}´BĚ_׳"ćßH´BĚż‘hä@đu]+bţŇúG„§ESJĚ_ĺꢅĺę˘=ĺęâŚiľó—ÖżBĚźrłČ†ŕSë_!ćOyZdD@ JMŽŁY%ćĎ}u±XÎ) H2PöRŤöh­€$ĺ؇ĘŰ*Î@a"¸°Äü©ŕŚ‚ŕ ź˙O{×Ň«»rTçűWx ‚«Úý‚„dî• ŃÍ‹Î"âń÷q×Zµlď”Hȉ®Îv}ý(·íZŐŹZ%o‹üH‹„Z•úhź’ü‘o‰µů]‡3öĚ7¨}Ęťß5Ç$GrA± GLŢÖžI ópFHĐŽF•ßĺmíÄü®}ĘťßĺmíÄü®}ĘťßµOI®äjtH8bšc’+yŃ21?fkŘu[Śů…|źÇé§$—×ÂR¬k_ÄâD~ƧąYWţd%({žňë´®- ŔNI¤=`eĎŔpÄ߬‡Ú€ťô+{®©!ř¦-IöR`EGŐ|ł4ISŕ›U†JÄŢD‘š•*›IcŘ›(㬴”K ž&›qő+;7%ys,AöÔśÍ8 ŔŠ©!ěf {Î/‘ŚÁ–$F˛ŔŠN¨ ¬öś‚Č6ŮFlIĚÜËž+j·‰ßłĚÜËž j¶Y’\PąMC°MHňć:Ŕ«ěJ„ eřť"Ř&Ęä8ĘźďęTÚAtťąž†`›(“}Đ/§,·(leÔSˇÎt«leňF3GĎ´~¶K’ă9™Qr¦őC°M”É1ťĚ=Óą *”Éľ&S¨Î®ľňPÎ\O Źr塜ň®"¦6ĘĐúM˘˝N¦E<Š¤wE°źiű",#Šä†ĺ$ÜO9WöË nęh˛u´F+ŠdG‘“xBÇÇ8sĘĂŠÍśŐNZľiĚ#=ĺbĹfN”IËGzć Ť GXËęSN–1ŹëĚýĘ‹‰2ą–ˇ3+áć̵´­A™ĽŃö(“w4˘ ­lDěD™<ˇQ=+UëL'+P¦f-fžą_ÁB+ĹçL?kŘG™ěkŽ2ą_9 ö3§™¦„"yŁÄú™^VĐ%¬Ľ 3ĎgLBýL'+îErH‰ô3ĂĹ0!Š¤Ź5ę’[•…"ŮŃý•pT!Eń„P&or™ó(“.VD„­¤Uä!1¶“Ńâń~ Ě‘¬ZXV+Á‹vbBrĘđ ^IHĎ«Š?;ž‡ý‘„´čÄ"q˘Dd,÷őc2ó#gý¨âá¶%AűŮů®ö [žkjżń%ág„ř›łŚŽŞa=Ó—`‚đ›ş5+T-m Âo˘Śła˦z"lŮPO„-ă®$‚o˘Höt¶l @‰Ů\Ń!5DŢDĽÇ°eÁ2†°›stB )HWÜ‘DŘM”‰^płX®¨!äćX’ěîG+5ÂmÖe®¦1űhŃÁ4DŰ„$o {7Ĺň”‚mBâYiĆT®XZ=۬2é=!Řf•É۬ki¶‰2ŮWf˵4۬±OO Á6ë)§ŐC°Í*“VÁ6křÓ™B°M”áGŠ`›(“ăŮŹl'űę5ŰÉľĺ×SR’ç@ůU¦¨/`V±t¨Âá÷ő$Óę!i”É;­béQ1iѱ4$"]ŽiĎcČBşžDnXw‚WĎ Kd!Ť2%kż\NÖ>˛Ţg2ň˛vę''Ë_ž‘ă‘…tD™ô˛ěČf_Aź€2Ů•Ą:ą_ô QĆ´.G’¶Â3lźŃ)K˛ě"âsÎű®IÚŹřśU 7źej\Éj÷#8§- Ť‚s˘Lô2 c:ľ†Čśą$0ż̉"üzEŽ¬Ô˛gĄž­ěY‰0Vwő4Ů Ďl ,Ç—€=!,g, {BXN”áÇ‹°ś(Ă{DXŽ-É—„1\CLŽ-IË*„±#¶*‘‚4 d/F;rM 9HŁLôbı#ÔŤÓ—„÷gŤm¤D0NÉű3™N¬!'Ęp(ŚłĘäf%‚qÚ’đ]ć+PŽ\NC,NÉ®ś8v¤×‡Xś(“7éÄ1XC,Î*“v±8«LzXĹń%á7‹Xś(“ZcG:YĹYĎ)—Ô‹łĘTőE•5bqÖcH/ ±8uIňNâ¬!!ézéf!!é*“v IW™Ü·DBŇ(“}˛#—Ô‚1aˇ”H­‘4Ęd_•Hv¤!DBŇőĽŇŐ Ú„(“– IŁLŽj%’ém1!é)°¬D ;Šş"épĹŃă(“Kjq<e˛«F`=Ň{ĘäŤ6¬n–#]®8eŇ"#é*“.Wđ(,:Ňľ #i”Éľ:ěH— IףČe5d$]Ź=—Ő‘t•É“ČHşEÎ8‘‘4ĘäťvŮ‘'7‘4Ę䨎=ŰÉQXÝ,%On %érlsç2Ž¶ŁLö5e%On©ĘäťBYÉgś«_řRŇĺbNŇRŇă Z!”1%i)éq­ŠdO“HVrß2ťD™Ü· f…(Ó‰dČHşŇtą‚YejĆľ!äwáN2pL“]t!żQ&°)ĽĎU )¸Ž–™_?â}đÄţÜŃ"sÁľQ€ČÔ™’† Áľ«HN°Ž–ČÄ Â}ŁHb`OĚ ÖÁó!ĄňĐ'ŇĺE‘ÄŔÎý¶š›tř]ŕU˛'îţé4üÁă!§ OhŇixDűąk¸˙iűçmß~ńQ@÷Śp™ĺeRYĄäŰ)±s®=ńxÖ%‘ă.9P*Ň_×ktÂY—]Ţđíă¤ç.gÝ%X ř=v„‰â껏˛ř=ÎÁ?×eÜ(â 9uş… @ď¤Ů|Hâ~ł4z_$™ŹËX';č—Đ[Ţ.هîÄ”ILb‘:Ť6z“x4»r|ZŽýË%Ú8¤ůÁžo’‰ž‹”<$1¶Á×Ď–µ»IXf)9BŇYć&aË»î`ü®„íěş‹ů»’ŘČÇ+-c î&9ź9ČďwĂçşŔC ׸,Ň»‰ĹŇî!‰—TˇWĂúüC‚&ąĘP¶=o×ńĐ]Ź”Çv’PŃőDáÜó2†ĐőH×aâç% čy’*î!a#zž¤»KŚíčy’ćí!Yşéa’żí.ńĄ›ž$‰Ů’—©ĽŹ, 3=Xr§}‘śF1^„A+äEű"‰2]Ęă¤íCÂvšô?ćW L<’ŁĺJ}n’šeöŔŞBŽ±»±©ĹCËXŃxHđšÇ¬-#Šä!‰“0áÄ°eđt>$ŤŐĺ É8~Ź$4Üuc>%ç´ Ěźq·YőňC<ĐŞ¤Z >‚€ŰR±y¤«Őˇ^\†Ä=$ńIU˝·+¦îqÉĆőŇ’ ë!Y-tîhň&ŕMčµ]„XĎKÜ“^[Ň_=$ňCŻ-É®ttȢ,j«Ç%ŢšCď,™¬’SůC/l”ÝěDď+IŞ’°B‡¬ĘZ^˘†ŢU’O=$x뽫¤šzHđ>zWI,őpdUH#őEµôö’4ę!Á#‰¬Ůh™€z—ŕ‹ ó1!A_7 BÁÄ– ‘ä&ÁSY[.lů&aË-żA9=$¸‹Xľn`|î’plbÇ–qđ!Ář„ZhL u^7– űw [v&®/Xá}Jx˛-X˝}JŘň®»hŤ‡$j­§–iý$9-)’°čŢ(‘RrÖ##R®S…Vá.‰7>Ö]0óî×ŐůĂ#ŔdTI|bCźéŻ˙.©çwĚ5›BB¤Űuô=d5I‡ô¬2™°Á>żˇO”ôGw -ďń$ýŃCže@Iôŕł2  ;zŘąľĐEvô¸dϲˇ ;zرLč";z^†]ö“ÔFwÉ2Ô]ß%yŤ’č¶Ë|’Öč!"]&”$F {– %‰Ń]2Ůą>K’=$xĹ»Ě()‹ö.3Jʢ‡„˝ËŚ’˛č&!eĹ„„÷~“°w™Q=$ě]f”tDw ˝É&3J:˘‡˝Ç6k#˙”,}šĚ(ɇôŢdFI>t—8{—ĺęćCÂľj R =$ě]f”ÄBw …điˇeÎŰîă&3Jˇ‡Ď=×6 Y„îŢąŚ()ĽaMfµRîô”űĐk’şłCOwy— §e«Ř.Ť_’Ó€sçt­DśĆ{Ń˙`7š ĐC˛ľ×. î×V.^;ş÷‹†úÂě?ńĺĆCb‹e˙rą^Ý €AĐCďN˝f‹ë3¬×Ä$@ 4s™˛=$—™! ĐC¸^3DŇ=$ńŐk’¸€‚“ ihä&‰ar2Ý%'¤Ők.H& ‡$†éš ’ č!YdIČô@2Ý%íÔăš ň8E˝¦~¤zH Éfč!.&›A ‡Ę\S?ŇÝ%}ŹËÔ¶S™›$†Éd/HôEr~70 ęr“Ä'ZŻi)€’‰vdßIô8Ú‘Ĺ ĐCB}d1Hô@Ă]öť@ Fk—}'ĐC‚ŰeE âĂŚXz(dV±Şs“`Ŕvs2}‘D;\-$ş 0\ś”P˝›„ÚČ”“íç! Ş ÇB˛ź›\?@mJ¨ĚMRĐĘz đ˘ŚCs“Xňtl!ŐĎ]k?eĘÉôóE˛Lůš]˛]Bę]Q¸R\Ô|J˘ťŞ{ ČŢ%Ô§ęŔç÷Pźő`Đ2a÷.ˇ>ëÉŔ•"ěŢ%ÔĐu⻄fĽ‹Ćx ąŽ€10ţÔŘđ(dű©——˝Ž7×ˡćůç‡$ĚYŠňČ4X¶Ń‚í_.ăłąĽg0ţÔË[ćí‡zuˇ)°ŢÁf Ú]].˙؉ŕ—7LÎź‡ĂÓJ ýyđ¦vˇÔâý©—ßKŢź‡$†ér{Éű¤člcůăš ‚ŔűS/w–Ľ? Đ`“÷ç! =š@Ľ?Áé”m@ł›„X~9®äý©—›JŢź‡ŁÔ0äýyH0PMă€óË'%íĎ]˛ŕürHÉůŮŕü. *ÂŽE9üĽ„fňýÔËŐ$ßĎCĂWäűÁZ"ÚADŕC‚‘şśMňý<$Đ'wú é~°Éf Î]‚‘ŞŇý<$¬<PČö-CJ¨ÍC÷) ŰĎC‚ńĘě…d?Řh”$šą$Äô*“O˛ź‡Ă•Ű“…\?HÎ@ Fë.6‡,ĽŇď(xČ“ëç!Áp˛đäú‰L”l‡~—T´#{N®ź‡„Ęž“ë'6Pł Ř%!×ĆŕşŐďęłĆv¤$ÚąI¨áf8ÄůpäŮpţ.>a2Đ‘ţ.>±z–‰ôw 4Ś‰Ü= }Ě$łŚŘ]B}ŞtÖ_’ÝHűÓ‰úą$ukÜ•.äýą]/sĺĚAĽ'A4kż¸ôGW«‘VJ$üA†bÖ…6EDĆź‡$>ňV´„FĘf;íqHůóÚč€ó§]3Pf!‰ôÇY©>/cÔql™mÄA ™Ú5§\Ě?ĎËĐĚ…1`ţÁńi´„HVá ™Ú5{$óÂYŁt—@5šů'W`ˇÉüÓ®Ů!™’í@Ě—z‚ Ňţ<$1L.ü ëO»fvâ;öP++I “ )Čř4/°˛Vę—˸˝kž´Ń[ĐŔd%íç.ľ·<ĐXHöÓ®9É~ ’ HöŁÔ…\?w•ę§]ł1Rý´<(YČôs„‰Á>%Đe—q'ŃĎCe4ó"Ď6(zw •‘m7 |ŰeÉÉóÓ®Y”áŞ#Kn@xdÓf;Tđ&ˇ>˛Űäůi×É:őąI€Sv›’çç!BŇüŁŻĺ'žP‡řމdůyH J’ü ](%P¦ Iň#¦żBŽź»€ĘČČ“â'ŽnÁ“âG\€… ?ČuJ •yH&ĘěŮ Ôk˛čdř Á¬…ÁjýęęÜ$Äů&űM†źHp +»č›Ź ?HËZÔç&Áp5YkRľDYŘT2ü Ń,jUęs“`ŔšŹ ?AhČvöU¶™ ?±ĺźµ Ď]‚«Â72üÄŃl#Ve‰Éđó@ź*4#ĂOJ`;DűAłVE;žČ@†ź‡d a~"TŽítęłĘ´H OLń2íă°E¶}!Ő´H ăŮôÉcŔ!X7zTu°H0`1őE3ęđď‰n<ÚŮGÎÚ’@-sŇ;3nw­$& [×J˘3ăvîXăčZ4tfŰîZ"Lú·®%BŹü¤ŕY Šhů/8ĺşÖţ’t®k±ĎGäÉz¨Š@rQŮu-ö9Ź¤v-ö‘ŻkiĎIřÓ» q,t×Jž“ń§kÝŽ<|]ËvNĆśßcĄx]KrΓŻ]KrΓŻ]+p>ńwÉD;‚Ĺ1¨Ž‘ ¶»–Ý|ĺµęćĚŻ„ZYé, 6ç™Ű®ĺ4Ź4˝§ í˝3·6HPéDů®u2@ů‡$ôĐ2Y’4ö\& GđN°Ië_$ěąüĺßµŘÚČöBjÉžK[NŽź®…,ź@ř®e+'ÉĎCe’ÂIňÓµjĺĎ”¬vîčăiŤť®Ţqrô×l‡2şdLuŽł©Îqň˘'ßXžÚCebŤ/!ŕ>ÂJł¨—S`j!ŘłF+V4X†Ęő„ÁşŤş¸şÖGd,[iToÝ5ŢŔFevő ¬;7ńŤą·—Ő˙üH’rđŔEňŁ)´ÁËąŤ&Ľ[ÔçŁ ěHŚ9·ŕNu^­†a ŇSV:ö-Ž5p¸AŹ6v<{¬¨Yi¶‘ Ř[!~u3ІĐí4‚˝ňmČě3ŃöЉc'ë<ÖŠ7#Ułt9dú™h{čŔ°“úgőęk˘ˇŮ‰?¸ .©Ś ,Pm‹ĽŕYşĘNŤKÚzž™:ťëË[ä ĎЬĘN°ßF†Bärý.Ü "Ů ^ô®‹Ns‹$ă%/Ń„_]P/S/ÔBŔĹCůÁţ ó źkÉčp˶ Na%lŰ Lń$?b-%ç·h!Ö‚6^Ż®âKŽŁ¬u\¶šç˙#ť9kMę#śŮĎ,2¬5©ˇl5Č~¶Hyžµ0^&TŮĎAQY f˛Ě űŮ‚÷µ~Pię?µŞ5Lvxę°6kQaĐÖ…mÖ˘>2ÄX˙d-h¸ qő4·¬¬Ź`xöm ÄLI´#ÄÁM?%±]¶źmd»“ě'ŘrY)Ř~¶%VrŞ“€¶źĐň2­OŘ~6ę‚žxľ€ěg †ÝÎ2€Š¤qpý„ {"ÎOáË ÎGČ<Üsâüž âüž âüž â|,áÝÁ~|ĽöY бö¨EśŹeÔ"ÎÇ:#Ţâü]}" źí`Ľb1í@źX~c- X°Ŕ!ľśň[¨~8÷¦Â[5ý6©â Ç5¦BSŔfMĂi ¸¨äű6câLŔ=Qým*„ÄJţKVZ_Ś¬Šôđ؆ڂ2hĂ®V©™ŚˇSHp–)B0_L_8/¦B-śô?Á$™eâ™ ‘đŘ;ܦâ!śńSŃ++ÂL“¬ýś©°¤Vئbśi·§"V†† >/k@3:ĹZÁ6“ŹĂ±ľ°Á»FŁ'Ě1%+ćgň!™Ä—ť ‘ źë1“ÂI*Vá?‚Ěćë>ć,!2Áֶහ±g8f+¨0Ś—Y ÚĐhńWa„g ̬PĚĄ˛ u1€dš ëâ•Q 5"¤9Ë`°vč~6LŃ2îőjúěFbމg ÄŹ<¬5¨Ź€K»ć°¨5¨Ź€§ň§€ëÎfǬ›žFČźőj6ëŐ2c T!?9KĽń§@Ëřň-””D3 * ZS Ňřc^=`“ęÄÉő+¨˛ź iŕ‘ŕśĆHň¤ŢńěY ę Č~6$s€CB¸v5 0‚FČŽ!é8¦ô¨E¸ď‚N¸ď‚FŃĆňL'ÜwFǶüčőę ăŐťpß0"GR´ăę‹x+ĺ¨EĽrcÔ"ŕÇ \hÉD2 ÖÂ= kAĂXc-čËŕđŁřČ8Z€ü«` ·ŘqŚkÖźë2 źëiŕ6đŘwâŻS ¸EČc">wµŘž©´<نWń9aź5âWĎć*ë›Z¤ »lbÇ%5Jg°‹%Kz¦Ű;RÓ¨F‘šŔö%Áĺę3ůśI·-9Ô‘ pCş¶Łm"U_ ăę'A n–üęÎř$b@‹żW5Ç‘q–‡.ťĂâ©bYý bR±!‡j”T :j u &׶ÝRÉBLJŚÖ-pl*$¸ä¸ř±ô˛Ôň &EŚŚIĎ#Ő€žÇúu×Ó>¨An á9@X‚íŇÇ1ŚčAŢŮ»3vąGPĄrtvé‰ý»3";$đ˛HŢ3/¬`DöĽ°˘ŧŹ1ÚóŠJż°‚¤+SÇ ĽƧě=ŰĽŔ˘ÉupŔ+‘|îWËĐç†J$6ŕüî6u&Ŕ+|h^Ĺ8ďyAA%Á[%Ť2q|hzÁŕďya¸{¶94ě„ń!x«„ń @ÝsJ„f ÇV?Ű 3;/ `řĽ€Ô=°†ë2ű¤î™—ŮgÜ88íŃ2p|vÁ#Éçeö+p|^fżbÓ=Id- ŘeäAŢJ’>Zn@ňXřC­$z|Ôj€ňX@ ´ťúĽ <ół4 v/8€ň É2±*¨j€ň|_¨(©ľ3T=fcťÇG‚°h3Ăg÷ůá ąY’U§Ś}ýď!.ăó4ňyĐ$m&~jg¨Í)Ůqą~ö1Č&s»…h)®jgMć đÉ€Ś°ÉDs!16’jMj! dňúĚ`’Ąš Ż¶Emí ň1K dpŤ‰ŘÚŹ…ܸc\M$ß#ж-Źa5HęÇńű®ć8:@]6ŽXרvę“Tą*´ ą—P«Sź¤ wpˇmČáÄ2Ô°IçN}’Nů—ŁŚ4ěÔ'ét‘Ç9ĘHçA}štž#[ˤ†ŐA}Şt±*ťő©ŇypÄŞFuR‰— -OjXĄó¤>UŁ:9bIPyBŘ †[&ąţŚËxYśy=(…·L•Ľ*Ţř;Á“éÜYÔP3ŔĎ8ug+‘7.PžáĺΛȎ6pŘëäËçŠU)Ö©‰ŽxŹR¬SÁ­ż=ÇĂ˝§&Plá·gfg`ŤyÎ=říytÇVł$¸Ś_ĄńŰhÍzCľw–ŕŔ쯂 gťčíÂYÓkné„oŇ2ć”H•IU4Ăd0Ťy®Ŕ]ËPš% @_đíÚ¬bŤyÂk€»–!4ćÎßă×Cő©‘еÁ]3ČBwˇk±Đaçßh@ÓÇB÷äőBwˇ)ŁfB˛ł Ń„‘Q3ćÉęŨ‰P•Q3ćvé»âBÖB,wkÁrŚů. ‰ç.t-XŽ 5tę#,-8GiľKCâşĺś’Ô'íSIhźŇ0±]čZŰ…Ąű-¦Ü9^ۧ4Ll––ÄvaiIl–’ÝŔLXJvS‚'»rϢeb» iHlWÎ'ÁAäą…˝,ÄvĄÝq2Dľ\jHl7!'IBB ‰í–l¦^pŘ"ň÷˛b»%›©ŃA”‘†ÄvëŇ\K¦ś=^*őrś¤D^b”!¶[—†Ťú9Iv`Jĺă…ŘnÂI’’űxiÔG8I˛d`>R 'ÉwpJ… ±Ý„“$<üĎl™ŘnÂI ł4ËpÄ'O4ăŚĹ8 ú\Ľ/…dKn0ÇĆÉTHđú–ÁŤm$ppľe%ŹMrJfśĐ-É ëS‰žÓ4Lř¬ôÔˇR‡.jüÎ_©@—VzöO·Żč±Ű‚qä*qÓX‘cdń’ ÎP+z¸‹eÖĽÄDcEŹ•A4§$ €—v)€wˇŇ@cJeâ  ±LeâÖ©„ ťń3V* ,ť„挜±Lkâô.‚sĆÍXzŻlY¦ 'ÎË 'n@ł˝ËÁßăWőOô.‰ŢČńeJuâFôFŞ?ÍŘů· ŰÝ%3Ü9#dL™OÜÝEĐÍ+‚n#t+Š3BĆ”ĹmR7#d¬řĄľU%IqFČXd;VeLiRÜ âJ“´#Wb§>BnÇIISâ'ĄAH`|§>Âo˛R©¸ő~“Ö $l‡^4#&­)ąŠ;˝­Ik`J®âND/ÂoŇXZ;]éV܉čJ·âä5°’٦Bw*´&µ•dw'˘+‹“ŰŔ<óO…$]híŘ`1O~pw"şR˛¸óÂ|J"ş ­śćSúzÚÔsś” 5$˘»°ŮęŁy.9Ly[ÜęŁy.9Ě…Í~Pa39N‰4$˘+•‹“äŔ\ŘěDt6“çŔ”ÜĹť®ä.N˘sałŃ•îĹť®t/N®si'˘»\€!ÖÚw|YV±ôą$x+–|¸CcJ•áŘı̔áLŁkUîéÚ:/wü |Ş™Ń±«d™4Ă™»×¸’řťżRťĚĘčŘč2ě´Ĺ5>¦Ş…śµWfbqn¦™Ňg86ŕLŮ3ś!3včĹĺ–ťZ˛á&ź3;ć[ˇŚÎ—Ł3\Ć9”Üz´dctFËŘ!r|żl"źýJälG:Ś’1ĺÖpä^\Q…®{_ŕ}¤sŔĽŇ¦4ľľ•eĂwâ÷ˇ×ooQ@wM?ôîĹšČ)hşoB¸rn8cL97|'Š+ç†30ĆŽ&]ă‡\>Ćxé|ďTG.cLŚrľÍ­0.Ć”„Ă6CL?´ęÁŔSZg`Ś)-GHĐŽÔ!¶šëď8.aJÔáä00%ęđ}PźCúăŹCúp]ć—@>Sę߉ń‡|ňRwřNŚ?ä+ĎŔů ;1ţČL‘N>;._ŻlnÄřăňńG¦5 IÜ©Ëw!Ć+ż‡1^ů=ś¤¦ü!A;ůtČk`‡Kbü!ĎŔŔuaĘřqJ¨Ź<×…&}ń‡<Ă‘ S'·)ŽLŘa҇Č30§>»ô!Ćň ŚŻ¬ NzSV7bü!Ď€üvě—>1™RRň„¸ă•'ÄŤ_´&nÄř’™)ÝńĘâFŚWć7bĽ2‡8yL™CÜńE~‰0 ŞÎSm†ĂiźKß{Ë”Ć,K—ki§ĺN—Mˇhé­[ś[‚š Đl鲟’(Ăl ±–ź˘MěĆ€yÄ,c` ÉÚ‹iÜÁ2ĘXËÎx~ÎZQŹmŞw‚{“ 3¸ëҦz'¸7ů0¤-°&†´Ö2+ ‘¶ŔšÜÁm\˝Ó/ęť'*ÚPď÷6Ô;Á˝ őNpo]˝ÜŰe´î­«w‚{ëWďÔ§_˝sÄşzç‹–ÉémÜ›ś–ţ*kąZgŕŢä´ ‚{“ÓÂdeÖä´0Y™µvőN 3]˝M‚{»ś‚{„á° őąś‚{«r™vęs9-÷–+$'ś10Ć"čkˇ2ĄĄSţm đ¶L«u´”n>®ŘBšŚ†ť‰ÉĂar@ĹĚ c8LLN ,H¨„ěRüĹ„(.©EîrS°ŮĚÉr°av@@=d“Ú‚ňéygÜĄ™˛GČŃfSÓ'†Ŕp>‚ř]7F8źĆ_ˇ‚¦OŚ}ÉIî‚÷ćÓvţŤÚ27G+¦¦Jť`>óÔ€1ěoËP ®ŇŁ^đޱôš,1ę%^bĽŞ}áůę‡x>di:đ\!CĆ—ócQ`W (˘ŘëŔô1tÄtEú,0Ř`!:/ăî†ěI¨™fźyb%|ľCs N\ňé¦ęÚ‡ć@Śt±ˇ9© Âł±}Čń!=AxöNpMwÉe›!ăщďCĆŁsŮfČbú;@×HI´ŁOç"Íńč<69dŢ\Ŕ)™o.ŕ7đ› řÍ7řć~scŢ\Ŕo.ŕ7đ› 8󀼹€ß\Ŕo.ŕ7đ› řÍňÍüćţöć~sżą€ß\Ŕo.ŕ7đ› řÍüć~sżą€ż˝ą€iŢ\Ŕo.ŕoo.ŕ7đ·7đ› řÍüćţöć~s—Ţ\Ŕo.ŕ70ŃëÍüćFŇęÍĚV©Ç› řŰ› xľą€ß\Ŕo.ŕ7đ› 8ľÚ7pHŢ\Ŕo.ŕ‘’ůć–o.ŕ7°ôxsżą€GJć› řÍüćÎŽß\Ŕ,Ŕysżą€Ë› 8Űo.ŕ7đ› řÍ\Ţ\Ŕo.ŕ7đHÉ|sżą€ß\Ŕüť#óć~sżą€Łť7đ·7p)o.`H08o.ŕ70[ć(˝ą€ż˝ą€Łť7đ·7půsĎüłŹ˙ŰňV¦ŐXZ<Ö)”űß«äż|üăö›Ű~}ţ÷ăzwâfśé8W‚řŻ˛ýö—żú«Źşý÷Yř_Ď˙ţţ¨đÝÇţ{Ę}~ (pńw*IŮ®"qą~˙Zç÷ůÝŽŤţţ"˙—.@C˙›ş˛Žţ€űŢĎ'řďŰé¬˙óź>·żýţăŻ˙ÁŽÓ§Üľ˙ŐůÄâ×mm»×ó}‰”Kçżß~üĹO˙í7żţ›˙úővţď/ż˙׏żű~űYĽD_nň¦-?ÍcŠ|ą¤ZxąÎ._µV_x|č3&‹Î}Ç~áęd2ąĎKâ:Młöľ^i3ňŐţQKŞW§—ät"j8Ăă'ÇŇ‚K-R×?`Žá~•_ZĎ>~ř¸$§±ícS Ç—>ő‘Z¨Ä—ć×>~uÝ?Ű›ü±őńŇP˝VäçO̤·Ţ©ě4ÎîŹy8žőŹGű?|HťTýx¶Ż›’*đ¬_ż´˙«?ż[úc1珷VĚ źÖę§?ţć—?˙íiłţÄöꟶÉ˙ůěú˙‹é2ťaĺQđÇăî=>Ý˙ĎţóçżříĎ˙ăÇh¶˙ě6ŁśŻ›WŘóşůź}üq)¤[endstream endobj 7 0 obj 39464 endobj 5 0 obj <> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 12 0 obj <> endobj 11 0 obj <>stream xśŤ‘ÍjSAÇgbÓEŐhÝÂŮ~„€ ‘.ĄˇQőęĄV7…É˝ç&&3ĂĚ„6>€ #q)Ť >@7>…řn3iś› qénćüĎů˙ÎgkĆ9Ż%ĎÓg»wŇŃ «eą®óPŻ„úąůĂůéŮ÷łWŐ-ÖůđţbŘşŔŢ…oWÂçÍđéRřxyiń’żá§üëţÓHuᏄĹěh3˛Ôë{¸»˝}ş#zRDđ}„‚$ÂÎăäĹŁ˝6ÜlďíCZ!!v%eС •Ă[Ph růL«ś> endobj 17 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <>stream xśUU XLŰŢŰ4{¶s5g—ß™‘ý'„[‘ţď$úUJFŤę©ÔôG\Éń·ŠĂÍ-”ż«Eäř;B¤Ű0#7ä8GîýöXăągMśç>÷ŮĎł×zÖ^ß»ľď}ßomš˛@Ń4mëčç¤Tĺ*5iI óâ~ÍŹŔŹ`_\÷±üc¨p%ßűrPĺČjhµ†ňÁ°r% éüŇ=s32 ˛ŇRR5˛‰Qá1“˙·â6cĆ ŮŇ‚?ľČü”Ůi)é˛ńd’«TedŞ•éšY˛ąd·J•–$KQd¦fËÉÉĘdsX´BĄ\. HSĄeffäĘ&Îť$swuus"/÷yięĄ9ٲEz¶L. W¦ä¨Y˙·HQÔHůśô¤ŚdeVĘ‚TMZN®"fšĚÓŮĹŐÍ}ŠÇTŠr˘ě©0ĘŹšOůSTDąSÁTBES1”/ĺIŮQ45ŚL ˇ¬)JL}Cq”-5ŠpGYP*’ÚI=ŁÇŃëiĂ€±Î¤‚DAąŕś ĎÂÖâ„EŹ0V/ěö2 łů Ł%‰v‹ŢĂ+ľ =1Š*hÔ#€9F5çüIÍÇ>Á&ĆĘč‚´§ă]+h>2¸vś!ěcđNŁZ-\ţI-ü…é€ !üUÇáB,á™ĐŚ§ĺ´ĄVŘ 藺µËN|ş•×râc&íS¨‰ŰţÓÜúĽĄ>I.Á˙íâe"}HóxŻXµo‚D|Ú ˛â7i:xÇéürř•Űxqí±Ľš”yŤ/bńhlAśŕŐ-{°~Ôß”I§3«§/Qř!Ö%˛†€ÝeÝËÖłK}ˤ$—?° I/€ü Op·Ç~ŘĎ`“`B÷ Á}ŘAZâÍ˝jöƶxđ/çđÍU]O?.RËËuŕMjŇĂ%RQ!_L¨ňÄULjSDµ?Il¤;¦ń,©¸űë1 Ł4ş}N". x(Â+y×}u¶6´`Ö—yŹÁ ¬n<~)éĎ‚î‚G]ň\Ŕ—Áu~wˇđdÚóY—&äńN¤äŮxöËŃ0,»îŁ%%kâS‚P4Z\•q6ďđúĂ[.±Ąwą˝×n=Eě“[S7ŁÍ[6K­ŕ9‘Ă×đE;qí=ł5f-Pűţ†S5¬řŢÁý¶˙TÂ>­.]_˛EˇĄËy±âÚ×DŹ&śŢ ÖfSűë?MPó®ĆG$XX4sĂ,öžZé&Vz2±yĹÔ‚~¬>ßÂfŠßş%ąé9Ş% ‘Ą•iöĺď)ţaĂvłsbÇ|ŚtčÎăő§.ěiA0%ŕ!ç‡rÝM>Ř[GůLqŤě¤Y÷BjeÜŻyÂ÷>!Žĺ÷ôŚ+¶pN÷ţyüŃ0ČĹöŕŚ—‘Ç;ă|śd„e®˙í×$<„X{ą„‡ˇKňľ-NDĂ°ËXâŰ ę# ¸ôaKč”ĺ5OúĹĘŔ‡tGq˛ •ţIÝE\löđˇCë +$U+˲Đ2öł— ň+ăć,Öü9N‡EVpDÓĆOľKßďŔÂ×Të‰ÇúŢ7ÉčęŰĄßWKZEk7­Ů˛ ±)EeµRŔĎI`98ŻB+č;™Äzš´]ŚQm1Ýţ)cöL[¬y‡ Ékńc>źkËk=qŁH|Náď¬8uK‹#Vš#B©ą…ÁĹř«Â‚ŤË×ĚËRĹŁ@VśďŘöď–¦ĘË×$ŰŁf_F{QyéˇÄćȡŚâ•Yš4ŐŇUq QişR[ý˘\jŘ˝o[u9kőŃiŤ~´±ĐBÉ-4†ÁĂM/đLţ…p§‘é(2Ă@ąš~c`:˙ţdzÓ_‘nčş´ĎutÉ 8Ó-ŕ7NWësSČ ů+ňÄ€<„9„żŢçS/Ż ż©"ĄŔŢw …ˇn=X왣”–Ŕść7ż˘›čLň,¶ĆSągMóÝĂBfνűŇpý†žtÝ‘Ďg}Ů:ÔŇ [ČËNüžÁäÄ˝mg«NܶÁÖSĽ° ¸*ĺÁb‰řýĚä¤ů^ñí[7ěm7pŹ’®Í8)Á,ě"í‚ăç̉;{çnĂهRÜh!~o¸á9=,ÂmjŘŐ®®ëÍs¨ŹF}čăĆŚécČBžÖ¸_@LŚ‹> Ż0Pd,ęg§Ť×éhÔ µÝ¨6ĆrÁ(,}Y\B¨Ća;wb18Âä'¤W$ç_ń?K–5ÎŻB¬—Ĺëó8'$8MrŽ Ń}ţőëĎ˝c$p3`7_Ę™J ĆŘ"¦ó ńČ•¬Ü|µ =_ßAóvD­zÎ4ŮůÓŃZýĹw—‡ţrůbŇŁkŮWuŠş}AČ -OËR®MÜ<—50[/lŻŮ]YyćÇMíĽîńí"yŠÔ%Ośľ$¨»ăUĚg*ۡ°ĂfŹĘ»<¬·‹©-Š?ô6&NsŹŚvqżđţ;éf[xٲ˝ËO¶¦öőÇżŇĂđîÔĆi5R1ßrđXăýá`5ł ŹŔc|Ľ°Ă&‰)9ł­j×ß+Nž­ş‚XÝů„ٱęäUŇě"ŐĆĐ-l?0é/'T\"Tt‚7‡˝ ŕýá‘=ż$D„ŰMáBg\zÄá,˛ŕÖ»ęuࢧůˇ„šL˘im˛>fN7ßKNz}=Ä~ÜüPďř“ťą$ďÝ Ę2´+NE=Pu’ĽÇĽëÉ s~GĆ&­Q/•VCś.0VšJ^kľWä•Śî«®Żuß[Z>Űi9˘~%`Ł endstream endobj 18 0 obj 2236 endobj 13 0 obj <> endobj 14 0 obj <> endobj 10 0 obj <> endobj 2 0 obj <>endobj xref 0 19 0000000000 65535 f 0000039789 00000 n 0000046523 00000 n 0000039730 00000 n 0000039837 00000 n 0000039570 00000 n 0000000015 00000 n 0000039549 00000 n 0000041080 00000 n 0000040758 00000 n 0000045488 00000 n 0000040130 00000 n 0000039906 00000 n 0000043422 00000 n 0000044453 00000 n 0000040654 00000 n 0000040674 00000 n 0000040704 00000 n 0000043401 00000 n trailer << /Size 19 /Root 1 0 R /Info 2 0 R >> startxref 46573 %%EOF protomol/doc/HGroup/figs/met.pdf0100644027616700000500000002143010237151525016174 0ustar pbrenne1dip%PDF-1.3 %Ç쏢 6 0 obj <> stream xśÝ™»Ždą †óó'óÚ@ˢîJmëŔÉîtf8Ş˝ŘĆt0ë`_ß߯˩î2 L°Qa‚ňHĽHäORýĺôÎNŻë÷öv|9ţř}:ţĎńĺ´ńi˙ÜŢÎ?˝ňŇĘůúÓ1·ŘstĹ2ëĚY çëŰńÍź˙úű×k±ť´8$k;-WW|=_8ľ‰kÉ–÷˛Ö$˛ő6ÖL9ć›ë-ťŻśßţD§%‰fѧ˙ŐŐSęçKÎ.Ô<µ-ĘÁĄdCN@Ě_^Ďď·†ş_qč_GĚÝ;ogČ5şhçŰťr¬˛Ě±´đ~•5sy,šGřËĎ|kŐĄrćž\ śSuŢs±4—}:ůńřé¸ýëÚňý·_łE l*±â¬—ć\o(řWşł~Zë†@V"‘ĂÚôí°^˛+ńâXKÁĺ~I¸čĄ›­ąČŽ%!p .–KǦoǶâZ±­\ý¸Ísůö‰ü'÷č÷=Z­^ŰŚŚsŠŞ‹‘ůM•0É)ěř TZ'«.“KJ®äw+Č®Řď6=5hĂfäî:§ł”^Ćyn‹fDza/¸l^>ú0®đ)ýŇÍ…Ě}-×bS\.NmÍ™ j2âňY3@‘‰€lćŔŃM3‰X¨÷)âQş XôVˇ ‹S+•Ď% [ŠŇĄaÓlX6ÜW,«·€/Ćť=«k3áŔLß›+ Ŕ¦ô.˙6Ç—: ÄP·ź]Q‰Ś›Ŕ~Ó<ŠÄµ˘Ö>ŠŔ’pŃK‡‚lq@*áą%X$ŞÚ]ǦńpY±9—•KÂŁóňžÖąŹx™°Ťe16Ą X6Ýô §%eo‡NÝęhRö–‹ĆčH^Ĺ׊(„iw ›^:´csjvZ°D‚SłU,š ŰkĹ6{ xđbBć“ş6PÓŁ?°)ů ¨}»s"-$p<űĚĹ…§}ĽHsôćvq¬‡¨»\ôRˇ›“Šë*ćKBjt›íR±HĹć˛áZ°­ž˝X‰÷ś®ÍbÇ%˛ÉÓšćYbĐăé“®Ą. ‡ö Ł/Ş4ň˘Éű8đI2Śn™üŽ`‰UI¨Š» ţ–Ş=’FľĂé’-Ş  ¸¦®, ÁJÔ–¬¤ Rë¨#ä”l¤©ÇjV ňéÁ‹UëžŇł{©#młt3Xĺ““ÔĐR5Ť‰JńZgÚS ÜÖzŃ‚vÜÉ÷Ą ů.`ŃKÚŻĹ2$ií'¤G¤n›V O6ç˛y xđa%ŰúĄKR)ĄUa箓84WĺŁu!-aCV»8ÇQKM!I|Y­ţÚĎx5O—;ÇQ4ŐبÉ6ΊîĘ‹SiČĘZE¸Í>!+nßÔ“ ËŤĹ-/…Őşâßr˛qňŚJ&7-` }–ýß7Őó÷o LO !+śőÂ4ĎSŠr ś1™E}~Ö‡Fl«¤ĺ #?›ăřTô©)]ąź—¦>˛Î/ul˘ă$Ż4›,ăKÓüŠ$ÍůŠ6őĄúŇß[@žĆÚć{„ů!  L­)Ű\ă˛ć'Ó§ńî ˇ¤ŤÔÓ)ĐĆ ?ĘxOMkQP˘ă´Ţăh‹BµôłjFĐß˙Më}ŕ·§ ł6gĐ nŮ» ‹±66¦Ń–)J "U °-űŤ$m¸2ĎĺYĹÉŹčZś„ü¦ŘÔ“Q=Z;;] ľMßµű‰0ÜśZ¸&ňa ŘäÖp;6§ľL…{ĺ¸;ăćÖ°iňzŮ°9ŰÄ%ŕчŮÓ=Ąc:ň G8_Î,¶bł”N°Śq‚6&ŤŘPąKá"1 !ýÎéäRÄä-ࢗŠŰ±9•Ę _*©ŃĆëÂśKI%]6lζq xôb5 ĎéšîŻÖH!Đí‚"Uµaszá— ­ŞIˇNő ß€{Űäí(´9ô:×wŔÖ˛{ű¦·6\Y„AK€ ¬/·†MĘË„Íą=%<:1níI=űŘ%Ô &(X w8ŮHkF[/Ű4”€4ć0„—"ô©4+‘N1«ÎźuᦕebUřŤ ú*ÝŁľTćúŤóĐHťćôĂ+}Ł%‰©Ţý±`ÔÍë͜ݮŇëQ˝ůBe‹šał}Ůé/÷WóŻZűI5ą•Q_(Ţ´âEFĆ8Ú%J¦ ¬«ę˝©NM¶úłk)¸p<©ĆQ–8ŹqVľßH”®óďÜą­n•3ÓŰŐĂď?8™ŽPű`JS%}»8A­@QŐµŞˇ$T䧬qá"5´÷&,ż¨ó*í°é­‚›“j}ň’ŔP—[â4©L ă2yí~taŹ—iô™…ÎŹ.6„^őäš2-©Ęc´(IYCWÖs1cjVř™ţ&4Ţ/|°ŃU+ĺBťČx¦?Łd’XŹ¸z©*aľYei šŰ4vż-T&.čU‰yŕk-ŁĄ®ËkO"z€ŚE˝ľY$±3 LżÝGŰ6t¨bŁ ®:7NDoĐ-_äí`\ŕCQMâîí‹ÜâoÇbůŕĆ°˘ÍH ‚t ߤJţÔľ9˸µűÁöéĐwüű/Ó€Mendstream endobj 7 0 obj 1973 endobj 5 0 obj <> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <>stream xśUŹkHSaÇßăôt2[ĺšV;aÉÖ¬é”ÂRŠ:Kł¶¦D…MwÜNžÍµMk$¤Hty× ĘDŞŐ¤˛ Ą]ĽD)”awaÉÖj–]č}×)čô!˘/żçůóăO€č(@Ä”ĽŐÚUĄk”Z†«e\l…ńLĹÉž…gře|ÇŹćE13@á±·}o<‚SPý$äž D±m_‹¦Úîv°f‹‹–tĄ Ą2íÉČÎΦËÝ/ôrĆÉšmtŞ°Ô2\µÝĘŘ\‹iŤđÍqlmćÜv‹“6šLŚéO¬ÄČ1Ut˱v{u--×(huzzĆ®}öŁĺýkžÚßC”?8… ”’l\×ŔÖ٬ĹEl.¤ř9*Dˇ¨8ơYwűÜŐçdg-\“GT‚ĺ‹? Âčc0?ś Âa|TşĄ(^ń9B:KžÍ'Ş»ô2T°>FňćťłłR—Mµ\ŤmëĆúŐ0NX:ív\ň\§2IŹ¶ą¬­˘7˙µ‰`>ńv]îąr~އ!ýCů~eO˘d(łµęlŇóžŹ(IóĚĂ“čÁ0ęöpdžE¸ŤHů‘pÄ:źü9 Î˙eE#ăÄř ŕÎ!'„Dx@ús s¤ pů‘慠o ˘ćP^(A‚Ńä—6‘ížÉ·±Ţ˛ęµ%*ĺ†îŻ;e™äÝ‘ĘcU—ó[Ć …RG()dé]Đ&“ŕ‡§/ö>IBâEĎřd>eI.ŻÜ=3Hz®hm:ĺ˝r­µRţ®ŤK׹­¦í2g·«h/%vůđI/*ňúHě« ţqq#‡ă&đ.«kń endstream endobj 15 0 obj 799 endobj 13 0 obj <> endobj 12 0 obj <>stream xśe’iPwŔwY’¬rT‰+5ŮÚÖ -Ą`µ‚H‘‚DPi§d‚,!%–Ŕ úŻâÄs8$˘·˘*E/¬č Q«88µŐ¶cíômüóˇ‰3m?ôË›7ďř˝“$<=’$ĹI©É‰qIA)gśŁ0čTz·y:?‰ä'{đS(…Ź˝©{#L!(ŰdÁL?x2úŢďÇI¶ö=Š6äĺiÔŮůěŚTĹę™AAł˙ł„DDD°E˙xŘΨQëŮi.Ą€Óruś>?’ŤvEkµšµ¬Z[”›mdU™™\¦;m•JËĺ°±­&7×PŔΞɆĘĺ!s\"4’M4é¸<ĂlVŁĎŇč5ůE¬JźÉ&é8µŠŐ©297 F§ÉĎ+bçÉ5úł5ş “‘};-›h`X§6iUy˙÷1öŁđůňĐąóÂÂź  1žđ#ÄÄ‚!&^®Už„‘h$§’VňµÇ|Ź-ÔDj9u¶řňŐĄ-Ľg‰žCÍ3ŠW83XXžĽ~ÉL|Ľ – yćÚÓZ•Ś× ă†)LXň‹”•\‚ě'ŇLă |Š>ŤÇcŹĚÄĄsS†ŕ®m-Ťµ2[ÝáíÇí*Waăî’|Şs3*®ŔÓë+ěý »{P č„řóŃç‚BČvNĽmÍéŰ⇗ŢĂ­”AńŘy#vüÖ}üLżäQô•é\'ŹßŁ˙3X*ÁD„I»L2khŔŰńĂÍ9ěóLZô>sgő>5ZIǧ§Ç/ZÓű´oď™ŢNé9‡‹Ú«î¸(émo»ŢoWĆ* é NZUŤĐ†jw»Pnç=[HôTľ¤.›đÜÝł§˙ÜëÁ«0Á$"‚a f°Wč4< ű,˘çL][·4‡cŠĹł×Ńpś *Ü`ůĆb0f•©˝č‹{ŕu©îŠ­YV߸çAD?mĂQ2÷ČÍNżf˝€Ý/(°:ç3)HUś•ťĽ’Ă"„Ç LĹc:WžTv{Q˛×ź8ŢŰÓ 4TrxűK«×1ŹŰ±sS˛aaĘż ˛Űv@µä«a ÎşĐ8N.(íÚşł¦fsµľf˘mŰÍ9˛Ń4úŞ"żÄb¶”V«6Ńf8X+Šú¶dúŽć_ŠÜAľé. W‡)ŢS˛­YŠ2K: ÄB‚‘ç§ŃýŔß8ŢKYmZ›%ÍŃsŠclU§=qä˘_R„/üňĂđPŽĹÉ‚Ży‰›ĘŹ^ńCÜ€ż¸ćŔŹĚeÔ´qź…Ű®™N)b%áŠřOr ­ű˛¤ş†bk1˘óÍĄŮvÓmÇPs[§¬ł­ąÝD]%ťúĂ…{×ďRîˇĹÝ·:÷źĽ y¸übpš˛8G-Őĺš×™’j7´Ýi?zŃ7Ú• jł:/O¦ÓĚËŚî›#Lëă6’pĚAńZ(a>ŕ“•B|s4Y°ŽáHDľá¸>W ˇ^¸•0DÂýŰ|Ę?``Ť°ŐlŢbm °XÍĺU®ĺpBLâňMŃ&´1°Ş¦zŰ‘Ó•emReu†fĐA‰‹[÷ę¤9Mů; ­/ý:Źë4Ţ{> endobj 18 0 obj <> endobj 14 0 obj <> endobj 10 0 obj <> endobj 11 0 obj <> endobj 2 0 obj <>endobj xref 0 19 0000000000 65535 f 0000002297 00000 n 0000008476 00000 n 0000002238 00000 n 0000002345 00000 n 0000002078 00000 n 0000000015 00000 n 0000002058 00000 n 0000002660 00000 n 0000002414 00000 n 0000006372 00000 n 0000007424 00000 n 0000003848 00000 n 0000003564 00000 n 0000005321 00000 n 0000003544 00000 n 0000005216 00000 n 0000005237 00000 n 0000005267 00000 n trailer << /Size 19 /Root 1 0 R /Info 2 0 R >> startxref 8526 %%EOF protomol/doc/HGroup/figs/met2.pdf0100644027616700000500000002377510237151525016274 0ustar pbrenne1dip%PDF-1.3 %Ç쏢 6 0 obj <> stream xśí[;Ź]·îďŻ8]śËp8|¶ §Hc{;#•üH‚ÝÂNáżźďrČ«+P#`‹… \‘g8Or^¤~ąb+ňĎúýđzűĺöçoóőóoż\bźüçĂëő—g|ÄPęőüÓm.‘K‹†*p$§ëůőöŐ_˙ţÇç˙X.IN9hë—”jl×ó·Żt8ľ§“C*2şÁL<{=_Ď˙°™?Üâš’‰@ß}Jkä<®§RBjeRK*)ä,†'ÍßžŻonîä~@˙ľi1DąRiT®×3“Š^/·ďÎDL1”z"-ĆňGPR –žîˇ¤K(4UřëĎřÖ[Čő*#‡– §b„.´öPbľ~ýńöÓź öokÉ·_ÎI éHĐÖP2ر™Z `&iMˇŠ•ČpRăő’ŃRýúpK©Â 3IB¬ŔŐG€:ń#A1 >,¶ ćrLŘ)cŻÇo ŁÜQŢ$ ÝhCä:‚Ś!—lߍ¬ Ü\dŤAËáŇÇK[1g€*0 8cË›Fg0ćŠÉĹţŠ4&—C° `^—ĂÇ”|Jz ¦&6†Ą«;K›› ׶sů`;DďFzëFš! Y>Vx–0 ĺ‚ĄŔ‘j2 Ç6Z,|%f ‚Ě~ł%ď:S‡t7ŕ„d ,"Đű˙ěí@t¦ŮAOůč iÜŐÍC·¬b1yĆS ®đ™Ń¦Ó^śÍ)9ŤăŇť‰ń{ąśGQřK‘¦>fž1ĺô™­‡…akj“Řş\LlUOL1Ň»yެy>Îę2ŠĺŇ˙ßó:g4c&Î:# ©ô2gh«$Ś‘ŻfË\3â  b5řȨDĚÂBÓ‡×q>*őłT BßáV¦ŐýPWdĆďâŽcÉ›®pĄ(Çqȡ‘ ×°,f1ˇqćüĆsgx¤ÍýSÚ%ކŇűjWĎAď t¶‚&éÜ»]Ţž],Ź‹˝đÜi^™® 3JVprĎ_Cý-cVŚH ÓśůÝŠO«°TÓ˝óŚĂI«OÖą1#ëőˇ9ĄGň@ŮúF YŻ}wp,¦gŦ†¤›É=^bp…Ďŕ7Óá. 8‹á¸bq‘ Hcq™ńËs‰ÁˇĚ˘{Éą–‚­©Mbër1±u˝|´Ć >ď&zË&šĺ*FŤ¨ÇšŮ3€×Č6((˛B%ćÍu†ČSžił5s4˘(´e—A4—”2\Ď3ÇÍ&9uvsPöt0(0ö{ ٨>çAkcÝ<˛ĺy—š,BPU66YŃŐ“™$„–2ő9RŔäń(†ńߥŕ¸ĚraÉą!–ĂRÔ!ášt\ÓÎă-V)ôn ·k S!K¬T!J­bž ,ŮŔDö€4šUopť h$¦ ńi° ¬i#Ś‘úPk{0mmŹ™Ň"ôĘhě‹čAĐňlkn Ť ř8,T$Í}Ůx‘î2°‡ăřµ~ĘDő4ë2- ĘFĺěť.T‘ěNክul¬ł›;ĄÜK ÁRÓ‰ĄHgâ(z2ů`‰Ţ­óF­Ă„¨ŰÚhĽZ(¦˛ox"ZJ†Xůläé¶;«Üá*ČEˇ÷a‹•7\IŻÎ‹-PBŇŠ…Ľ#Óy›.#gPjČ%ľÔ\ÎnXΠ¬Ľ‡šÍ~&…ćżWJÖTŻ2Żx-Śďp6eĚë±k^Ś˝XW6ëŰűD~”¨ ëľobW‡ ˘«ł0é`Bçcxú#V8XúďŢHj‘ VĹÄD@ŢbNśîPu!|hµ±Ié3®G°Ôt(,5:[Ë‹ĂG;¬˘čÝ8oÓ8´˘÷BÖ%<÷#¤q‰ö.é˘p Vpj™ÜNĎíUú„mówsüáVYäťďŔŘd/Ż@×8Ţ*R:¤?›n Ńt+ň§Č´z Á ®ĺ3Ó×M€‰$a'yó1°őäM… ľ;ď6.ÔšKç.˝Żwý,ě®>'îę5εoćÝ$oË$—=-±ęP «Î:N>’uYŹţR†Ła<Ónę„ QŻ)"ňxD01(¦‚ź]‰ ¸‡ŚßŘKµZÄrú§VĂ@…R.i¤ńńĆ®ěçóÄß˝Ł´:`?'Äj¸ÉŠ*,?)ňşx’óśđ3 żc}ÇČ,Ţh%p`¬ýĆĽVŚĽO¨–"Kgh°…©˝D8B¨±ęTáË'xfŠţĹÓÜßĂNŘźpş@ůŢëá÷źĐÜ·do xűÁÂ×*ŇF;±ĐÇ9`Ë€Ő.›ç̉řÜ T­˝Ő[ćcöÖŔ6Űt +đ#ÍĘőÄ=ÜŮ/ť­‰¦ĹŇĐ˙Ë(i6ťçzQTĺUďkŘZ7 ")łąî, ‹Űž¶XáĘ·9—#€ŕHÂ6-LÖ YhE¦í‘”q¨•×\ŮEPľ ˛nâŃż»|˝ëhp%.¶Ž'{ŹFX˝r¤¤Áîwă|O }ˇdÖ}č )ÄčLĄqžRť} ¦±HL­ĂíAV…ř‰ &E€†D0ßüő`ą6¸ęó怒” !=ö'=~Ň|GY€y,çBŘđ/Ç/Š˝Ďí[»4mK¶¦oŁÝ„h…eknŃÝi°QĂRnłť•¬ůjo)…[ éyYď@5Ďë‰1ďJ&DJČXň, )K 3gY4Ŕ»ÚÝüâ"ŐŐ[\>cÚH Ň=WËX^9cďgŞT{»":·^ćNa] ˝ŘNÍĘVŘ\ÉšT¨9ÔŞ±DÉŚÂŁĎaŻÜ}(´ ŕľ”Ku#HtűőŽTes1sÚŇﱊZ"|¸9źçT¦k¶ÜJ X»°Ĺ©j'É*Źłłg0^üŰĐŇBĐ\ŽŔUtH¸ťW˛sřh†Ó)˙ü6¬«v! ÄĚŘd]*”†HAŰeo˛°5NgkF ŇÖ]u´î`‰Ńş”:ěběĺĚđÁn-Óűż°äjÁš±hś’˝‚V§2 ÷[źĽąckćĚ´ÄË#Ź˘<áż·0ŻF·ń|üŻĽ> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <>stream xśUŹkHSaÇßăôt2[ĺš]vÂ’­YÓ)…etYč,ÍÚšblşăvňl®mZŁ C˘Ë»¬ L¤ZM*»PŘĹK”RAvÇ–l­fŮ…Ţwť‚N"úňđđ{ž??ţŽALX«-)^˛D©e¸ĆĹ–˙Ŕ<™ŔS˘đTż”oűŃřŁ f*Č?öv¬/âŤGpއÜă ¶îoŇTŮÝÖlqŃr®XˇT¦ţ#éYYYt™űď…^Ć8YłŤN–†«˛[›k­ľ9Ž-§ÍśŰnqŇF“‰1ý‰9¦’Îa9ÖnŻŞˇĺ­NKKź- őJÖZVí¤őF›“ΧuŚąš3:ţ€Ť^«Î`Č )´Ń`řNĐD]T4:/ŽT¸ńČ âČ, Ą6”©ňó™Pł9CažĆś ůXČǵÎx´¬wőSű{rŕç§R’u%;Ůí6ka»RüL˘ĐrTDŁĐô»=îŞs˛3Ž&®Á@‰#*ÁňĹyaô1N ŕ0>*݇’Żřl!ť)ĎâŐúĘ[#yóÎŮ^ˇK‚¦šr®Ú¶eCí* ',íö ;.y®S¤GŰXÚRŢťűÚŚD0źx;.w]9ßďĂţˇü ż˘+Q2Ń\y¶7éy_×GDőĄz¦ ŤáIô`uz 8ŚcĂ"܉†¤üP8bťĂ÷˙úçü˛ŁˇQb| pűB"\ţMľsˇ5póóíÄO·o>¤wť=Ć6c[ńq-L‡ÚJSˇ©-Ý«ˇ‚d}硖Ł>ßŐ§oAęĺ=Ý"ý¦uůf™Ş—Ďۨ­ăÓ&aŽ.?ň˝@Ű⛂¨1”J`´ůĄ d«'Fňm¤»t®zM‘Jąľóë.Yy@w¤âXĺĺÜÇ–Hˇ”áJ Yşç¶Č$řáé‹ÝO’xţ3~2źĽh!ŻÜ3-Hz®hn8ĺ˝r­ąRţŽ ‹KÜVÓ6™s'·»`%vůđI/*đćűHě«1ţqqC‡ăĆđ/kń endstream endobj 15 0 obj 800 endobj 13 0 obj <> endobj 12 0 obj <>stream xśe’iPwŔwY’¬rT‰+5ŮÚÖ -Ą`µ‚HQ"*´S2A–’KB@ ` ˘˙*N<‡C"Šx+Š¨RDńŠ*µŠS[m;ÖNßâźMśiűˇ_ŢĽyÇďť$áéA$)^š—’”¬Ńq¦Y NĄw›§ňH~˘?‰ÂQřřŰš·rÁ$"ˇŽň±OL÷§cˇç=ř~ A‘dsĎăh± GŁÎĘe§­R¬™4ó?KHDD›^đŹ‡ŤáLµžťâRň8­Á¨ăôą‘l´+Z«Ő¬eŐÚc–‰Uedpî´Ő*-—ÍĆj´ŁŃÇN‹žÎ†Ęĺ!ł\"4’M4ë¸ĂLVŁĎÔč5ą¬JźÁ.×qj«Sepn@ŚN“›SŔΑkô˙f'jtéfűnZ6ŃÁ&° NmÖŞrţď!bô'ás#ä!ˇłç„„?@b,áG‰qCŚ'Ľ\«$< QON&m䏹[©ńÔ2ęlőĺ+‹›xĎ6˝€ŞçŻ^Č`aiŇúE)řt",AsÎnMmV^4]G4Śü¤0nŃ#,Rć•s ˛ž@@H#ŤÓńifđB4‹=2Ď^ő3wloŞŻ–ŮkŽě8hWą2;ßwŹäW Ď`F„ÂxjmYkoÝž.:!ţbä…ল†' ޵6ěŰä‡úßĂíä~ń´ň"Fěü­óÄŮ^Éăč«S19/NżW˙g°T<„‰łv‰dĆŔ€·ó‡?śšóŘçą´ŕCćîšýj´’ŽOK‹_Ňý¬gßŮîvéy§‹Ú­n»$év´ÜčmUĆ* i NZQ‰ĐĆJw»PÚĘ{6‘č'(E]13๧koďů7ý×` ‚ 4DĂ(Ě`ŻĐ)xöí›D×Ůš–Ni:Ç‹g®Łá 3(Łő«Á”Y˘Fô‚/ď×ĺš«öFYmý]‡ý̆ŁdýIôöĽ¤Ŕ6<—IFŞÂ̬¤•!< aňŐľň”˛ĂÔŤ:PkíÉÝ]Í@#đˇA%‡÷±ż´róÄĂś’ SţĺjĐ]U“Ż)8çBă8ą X´{Ű®ŞŞ-u¶ÚŞť¶ď°dËFREčë˛Ü"«ĹZ\©ÚL[ŕPµ(ęۢťč;š%rCúů†{$\¤xLbJ¶e*J¬i(— ! b†^śîGźçü yŤym¦4[cÉ.Ś±WśůőäŃŰ~rY>˙«ŹĂCe8' 6đ7•ąę‡¸>q'Ě‚™+¨aÓ~+-¶_7źVÄJÂńźómű3ĄşşB[!˘s-ĹyY­ć;ÎĆ–vY{Kc7ş…:ŠÚőGň÷­ß­ÜK‹;o·8uQňhŮĄŕTea¶ZŞ3ZÖ™—Wo hąë8vŃ7ʵEť“#Óé –%&÷Í‘¦ôđóëI8î¤x-1ńIJ!ľ5’$XÇq¤"_‹p\Ë…P/ÝżĘ? áÁ –ňHÖ Ş-[mÍCV›%Ż´"ϵNI\şyÚŚ6VTUn?z¦Ľ¤E ˘ĚÎĎŃ4:(qáüüBŰ>ť4»!wg˘őĹr¸vÓý'};.ČÚö˨ő­oK˝ <§hŔŁí´o~=żş’ë…‡G?ő:ĽÝŰűiť·Aü â^b« endstream endobj 16 0 obj 1281 endobj 17 0 obj <> endobj 18 0 obj <> endobj 14 0 obj <> endobj 10 0 obj <> endobj 11 0 obj <> endobj 2 0 obj <>endobj xref 0 19 0000000000 65535 f 0000003550 00000 n 0000009729 00000 n 0000003491 00000 n 0000003598 00000 n 0000003331 00000 n 0000000015 00000 n 0000003311 00000 n 0000003913 00000 n 0000003667 00000 n 0000007625 00000 n 0000008677 00000 n 0000005102 00000 n 0000004818 00000 n 0000006574 00000 n 0000004798 00000 n 0000006469 00000 n 0000006490 00000 n 0000006520 00000 n trailer << /Size 19 /Root 1 0 R /Info 2 0 R >> startxref 9779 %%EOF protomol/doc/HGroup/figs/mollyfilter.pdf0100644027616700000500000011032310237151525017751 0ustar pbrenne1dip%PDF-1.3 %Ç쏢 6 0 obj <> stream xśÍśKŹdąq…÷ő+r92 2ߗܶµ–Ô€7ÚÉ–laÚŔŘô÷ŚsNđfVϨ»W†0ęb$/yČËGÄGfţôHďů‘ö˙řď?żýôöŹżkŹ?˙ďŰoíĎôčŹĎö˙-•ôřń­­úüw·?ţóíß˙ý–¶˙ţëm—r˛ýĎĽýé­•ů^k}”kĽŹq=ZŐ ŹÚ™ăŢúăoöô_ěżßüÝěż·:>ćúüÖćĘďö—,?ZNĺŞ×ďOądąçş•őňśçz)˙«Ëú]§ĆźĎUň/µ1,=«¬dďç§Gö—­ţřůńOźěug·|úÓA¶w÷ž¦ű{|úüöCúŐ§żĽý˧Çoßr®»đ›&YîšÂšŽĺhúj=9ç-čč)GĎlë=ßߊ,Ozd;zÂň=zfyĎöPčiˇ§ôţ˘G–»ž°…žců=Ą×g=#ôÔrĄ›OŢ•Ŕ2ü µ´÷ŇŹ„y$¬ů$a'ź$¸áH@ň{$¬ň~SϨmcĄ÷ů4“hyšI˛ť™–ďł×­~µů Ű/Lí«>Y~nÉiău1ůúaŰě™ýps9żNöÂ>(ü÷(’ĺ®č–‹Šîąľ~ŕn Ź=ň·.‰ú ÉFÄű|Ň$Ë]Ó-5Ýs}s/­öŢňQ•?vU®u¸ŁŠ†»¨“‡šnyľ±›rY>ž$裞1źÔěä“~.%úü›»&ŹćýJ%éc×”T5…4®iy×'—Ćő-××Ď{ľ©’ŇËnręôÝç&‡–'9'—äÜr}ËŰęöd×čůr]Í—–ű̇ĺyćG®ů'××KŘĐmu·®’ŞŹ#¨¦ő<˘i¸K:y¨č–çŰú¨¦ú‹¬¶ö$f'ź¤đs ŃçßÜ/µĄĐ_Z€n;‚´|Á3Ľ{™TtËőŤ}s ©ůŇŘů˙ĺôîPáçÝĐru®Âöě) §,'@@‘żűÍ[˝¦gęíňágůÜě˝ră©3ąĺ®”WgńÉŇG÷TuéýŇž_gŰő÷kF˝ySë{‡:u\ŘîRŠ s é”a#ď>Ű˛ě ŹE.¨¶pef€˛Ń˘žĺ>ĆiÝ‚´1Žet/ç:Ş›ÇuëTµvď<®ÔŢíĎý’©»ň.ŞxŇ]˘ÇU®÷Ć ľe]îÁ# Ä]=ĹCÝ2ŚO@ŮuťJ®­ăš§P,­—ÉQ(›ąŞžś˝ŁfŮ=ŮÝqłî§¦[\ÜěçˇÖĽ±«B7gŽ2Ćđ2ÖÖÝââ–×Ä­ŇTÍŢ\Ö©µ@Ů~'˛”­cŤ“Ąz'­Ő(Ë)q oćöďżrň±âˉnB+>8ÍĐĽw¶e.ćÔ´Wož'sFëBµěײ¨Ćj…Ž\ĄĂ–N“m–Ćý®U*ˬÄ{Ó’“˛*eĺ%Y•˛J´ĄˇťąTŐÜ(®tɵnňrĘP9ŤęĘdĹŮ~áÉŽŞ…RµU팭]R{:ʸ$®SśÍ+OfôRóŃç*kUZ{…{Ö“ ]Ô†:­SZ›Q >ËÚ;…±ěmˇ°ŢŘš‘ĐE}¨5Ňřđ¶tQ_Ţňmˇ´ť?¶şb|˛-ý„5Ĺ-[ÝÎs•sAźYž+©ö‹ ±B¸ewÚÎÓTűE…×PíW…žkŞvćÎ3©/*śyé) ‹<«úř˘ÂŮŁ.*ś—ęš =6—ęšT¸˛ęš=¶ŠęšT¸šÚ5© í¶tôŘŠVL(´ő!Jž®§¤¬ó=sĐ»ľg–á3ÉŠ›gľ9k}7 /X˘Í2điĎMm[ĐGy/©@{ Cy0ŞňU›ň\®¤j!l\QîňĽćősL”ą•ŤśüoĘęÉryŢ‘˘¤^âQű ·Ą˛'őňm őŘ äÉÉY°Ř⇑UQßJ¨ľvĘ_YËÚĽ iŻ“;UąL]ęµ%•¦N[kT‰ —÷HaT”·ÓÜbKHÎBV—ÎÂ"+—wŰÎřHM…«ú. –ŞU=Ęéč›Ô’'©Ë‡2¸®ĺ#Ä÷ö4˝oÖu,&mőHZé» ď/ÂZ±‹°×“’ű ÂV’ ëů^’5}FŔ2|öť÷G10k†,ŚXü©{o¬Ę®ť•– aś<®K?y|G~ě(%ďFî,ČănÉĂר:ÝW:OM_ ĆŢrhYô­ö?ţ”u÷.gŚ¨˝BáŘCĎ×wó@\áhÇŇčëíÎ(nÂQŽŻózęňi°Ü…Ýd%ćYŢcÝÝb/§A!ÜYŞa ę× –»î­ŔSPŘűn»ŹŰúĽŃ>*8=±ăˇ(ěí”ěŽÎŁ×“‡ käé >»ż/ąSaŃ<ččCŇĺôćÖóy·GCË€ďBb»Aߎ žľĽw`Áöé˘ÜŕNüÎr©”Q:Ş9őŠ‡˘Ü!1» xHb˘G\„[ŐśfrËő.˘%łs˘™­,WCß”óVu17ĺ^Ő„ëB×ř°ő>ż(ŻiPŘŽ•¦Żć W`’’ŕ%4Ng[ łď"-üČ’áOµ¬í%cYőa'}¸X2ĹŚť—Â’÷Đ4CÖ‚ś`ůńІƳÄ R/Ż¤$„™ZKŞ:´Ť›÷nFĺ&S ĘFJ,vVú|ŰĐq ŃĺĚ—BU­Gž |Ürä'`S^»SEoÖâ+u[¦¨¦nmEŻĎţđwc‹¨ďGĘrÓvT©,şĽn¨źrS’oI¨AůŠý°AQYáY4(˛ÍXŘ<š5KŁĆQŰ5 ŚÖtR„ đĹÍoQ;Ú>š (JCSF“ş†Za łЇ Ů>îE)*jÚQK÷·YvřŃťŠZhěµĂ”rá  ĆPéÔUb(€Ą«ŕAi%:udźb>.w˛ wrhŮC­í ňkFŁ~×č>Ů-ęRŠ<žîŇxú=9ŇŤ#Ę +fbA›»&çió)TĐÄüdmç€&ć™Ę‰ 41mqfb:§‰ąŞQ¨Çvy*Ř31߯ӑ‰…ĺJQÖŐe Ş«Ę$‘Ż(’ĽÄÖ d€o~­ÚJX’GWCK˛/ń0 ş5ÇcłMJňHĚ.R’{„Úm˝bčJPbÁĄ/{ěETĺ»&2\p Ý’“{éA'!‰ąĐ\ĽIlÉeĄd$ą©Ąd$¶°†$˘u=łeůŚE™¤îŔYM«Inňł‘XŇe‰Ę€Đ’‘ó0ČHÓŔ2R5Ę‚ŚÔ’A0„©‹Ă h¤.Iąe a #§ ‘Ý-0r¤ŠŤ´ôDFZŠG(ĚŮ‚[DFZV‘‘¦¨#ȵâqĂ"­ľ`PďŔ"­ż`‘6ô…EöÂ{c"mgHÓBRÔ!!I5áO ‰‘*Ň5͇ô¦ţ ˘9wČĄbDD¦F‡Č€ń! x!wŇ‚u‡DÍÁC®(G<] r%…˙CÔć`!Š¨ ŃňwXZxPH<(D($ĆC ­N7ĺ Q9…¨śB('HÚÁ ęĚoĆ ¨çŽA`ącŢ„Ŕţ_rzÁ ¶UĘgÚ¤äpOČAĚ©ăÎIb.Z<ÁK*ĺÓŕ- DQ[‡ä©‘‚”ă—”X „Aäú_#a$!ć°V°Ňóť…[˘7 9î Q9"Ô4rĐt·9wbŽ‚Ü`ŇëU  p‡r…Ź bý˘"‰Cα˘ăr‰ś ‡XQhş9¨j˘ť›†XÓ}Ó% )ł˛8ˇk;7n’k~SJš—’k?ů™`H™+ň@ÖJQ ¨CŃ8wb))! ±.ńOABĘ*ń9…­*ŹbŁKJQş0PHY6ä ;IŤY’â­ľ?Qł¨Y¤ 7¤ 7Ą¤ eµťÄZ%‚” ˘ {Ě<±Uű@Ę䀱ŁRI@ĘĘBqAg@¬x‰#)S`]ÄFP|1â ë ¸ ~+ŃGAx'îq­¸GąL{ŘŔWÇ{ŘÜPťÄ«żGqŠR/Í7•:9Ýä…’x”ˇ1Gŕa1 TÖĺć xĂŁaBŕQzDŹŇąć‰wŘZ$řBiCŐv_ĺm!é°@NÎ/QG©ň]ë[đhń /ăĘŞ%Y°)ˇDĄÄÜ%ú(%ř(чů„l ÉG!X8äĂV}LňQrD$Ę«`˘Ź©D>Š/ČôQ |śIŕC1“TpçEÚ?›aľpuwMˇo4ŽXC3ßľ.çA8°¸ĺě7nNŠśĚ‹%ŢęŞBľoB‰TŰÄ$!k Š-Ł¦ í5ň@ŕŕgŰpű 6Ëź[v —Oz¬~Ó ×aÇ´ŘT*ö'&ö!Lüĺ,G‚iÁč‚· <_@Ţâxšő†[°Ţŕ"Ź«ĂxD1׍Íz›çJŔ°Č° ĐŐKĹÖÂęih$@kČ©—¸ ž0éd Ç2n Ô ¨pôĎ˝^<\rç»ÂiIÔ˝$,ţ •7R}ÎІĘHĚŕŃß­*Ó;·y“@YeUť8îŰ°1úTĽ·2Ü=Č6:ĎÄüzS€ů Ţł€ţ/®UŔ÷(`˙ x¸#á–…}°dŇ˙ĐSŕďóL¶‚üđ÷‚A(8S âşÂzŰ ‹P랇·Ŕë€ŰV řRˇp]ÇRyO \» …qs@÷̵E´ ‹B瀣@?ĺ'˛KőśńßA Nô,<ż‡…Ęčk;T(·Óy‘@śĹăJ‹ĂwŃ@µ; ôXVSQ4𜤗žŹęŕH°ŕtŻ2âC?÷vŽża ˛K“r›˙ ¤<‡-?\ŁŁ–Orm1xÁ!˛mÇK‡c熲µÎÍĄQ{ ŇĄaéý0h[–ŕŕ)HËíSŽÖ¶ycĘ°,2eyo`&w`lŁ®đpĆŠz—Üá,ź—mnOżqZäâR/NĘŹüžĚaŔşj+|óyÍ"~[Č™ĂPuaWÎ2 pIq’L\xZ˝°ýĚř˘ 9ä*,HX˛Zđ_lY±R¤a+l›×GţkÉ`·¤ë.BŔ#]ü×’Q E Ěw™â2Nr]Cp–ď‘W±°ôZJWS’Tš]·ÍŘ(N’Ć€-­+Säżf|I%ĘLl]8ÉŇ5UQ¦4ÝßĘaSeW6U °YT •éJ´0Îq3-íΉ«CEş–®Ć€Ý 68R‘.á‘ŕ»EŇž¨m$]üČ_?”@d{«—ÔöH#´˝‰'´˝5Đv[‡ŘŢ:¤IÚË]63Ä%ą®~ľSŰ’‚¬‘ÚžWGn{{ą=˝ŇŰ3Fş´Ĺ0"ż˝ 5Ü3»´Ĺx%żµ5IŢPM’´üÖ,Z%O»Ś.3ń[›ŠAtC5ÍVń[NgÁŰ3ßĹo͢»u‹;¦BmńŰ’âD†üÖ,lĎ%e±ÉoąT ŢžµL𶤠ϗđč+ĽÝ르H]‡MěŁ@ËSŇŽĄ°›âzÜ”6L© Cg?iý˙%.‹§nX6j– )eÓˇ°ĺyÍ,‹~ (\6ŢFpY˝BaYŢ“Ťa&Ă*,}`ŮXŽĘjČÉĆ$ (›x»MrÂů’MAmW;ëkŇňŁRĹe“.ĎŠËfŕ˛q>ěX6ÇEaٸŐ+.›ĹĐ‚Ër3šÍĎh6ëĚ$ĐlÄÁfł.đ›ÍAAĹfóAĽ’ÖÎČfł¦C°Ůpĺg3ç\°ŮđR…g3v{±ŮĚĚŮlÖµâ`łY¨N¬5 B­çˇÖS¨P+kg=ŞÄYC¸0ëi0ëiĽHëé‘ÖÓ‡B­YHk®Oś5‹< łć Â¬ąŠ’"Ěš˘‚´˘żo¬5ZŕÖŚ[Ľ ·ć ń­9ĹCdšŠG¸Ć6Ŕ5vÜ ®šnA\ârŤí1«6Ă@®éŠ‡Č6c§ äkE0W¬%Á\Ó+s%[sM]3iB2?ďNA\éŃ ·—W¸ő¸Ĺ­tšĹZcß ÖzPuPNzjăA.é©ŤULzşYçă Sf÷«“^NşINočHN-+2Lî8ź'6Ý×4Ĺ*yKńÜą#6=HM­QŇJjjóP&©©.ę‘™ZÇÜʧ$7µÖ#7˝]ďÓĘX0âeř[B§{ó}njŻ_ 'KŇÄĘ "9˝y›şG‘Ľŕ©|XÝŁŚĺRäA,E[Yä©ÚÍ"O‹íLĽUňÄ`„OĎ×)S\¤%>=›V\§ŚM+®S"4Šë”I7ă:ĄvŁP?âŇc™Ď[mOlĚŤ–˛ ZŽóF-i,ć4yeůäq§¦Î`€ŚÍ6R­Pűµ×sBČcĚŠoηĺUş™­4wHon Vű Ućņ$7Cä<¨çŚŻü­@¤… ma×á†S¦ĆzƆÓřěSŘoőFü MĐe?żŃĺĂS —mĺÝ€­iA_.í€a,|˙GpąTÝT\Ž%Ldů¬Gúŕľ/ô8XŮ’Č@Ŕ–'ďVÓXŮ}~@gČqÚëSvßµ ĐÁüşˇS„ŤZHŮÇ">ń‹Ó]!eź4ŕżB~í )kl˙ Rľ}.¨VŁŽKž˘ľßď?ń|µ8°2€mř~lă&‹ŕę1¨Uő ž2%r— EFŹAý¤)ó˘Ńž*Dé(C\&ޱťéˇ`ta‹Š·‹Öą)–v,×SŹc2J›…„^î~-ÜŃĄ»@1±6ŠŃ‚¨E–đ?‚´ aK ˘€-Çâ´‹z –öŚZη…ZŽe˝nÁZŽE¬EŠ¨ĺl7B-7 diďk!·"h9;Ř aaYý¦ĄPĹX)…(ŠĐXĐP–ţBÇ‚´Ü,Ô†REÉ…Ź„LTç3D9'(B$7K~}Däf!aĄâJNíä’,řq,‚§é˘7KQ÷S´ôÜÇâç5Ü, kjč{˘L¶P&p ôqł.DŢBš®‰‰-„!”©§}‹ĐGîÁ>Âě׾B’R~@ŽcQ@?°Ć±¬ggë Š0| Đ2t`@ěQ€< Ŕ}"ˇ¦ęË–AP…„"H—¨tŃ«@ ÇÎ1@" HĽ .ĘH"˛` ž@R(Íř?e<,-v¤ťR÷:ňŃ€ĽâHŔ,r$Č̢řťwöń… Ĺ˙yŻ‘X:ęĺuý5Ł^{¸'‰Ě˘€Ţhi¤¤é’ă˛ĂK޸%E~ QŃ?b~äçWÖP’4ÔL˙Ǣŕ[úGŠôWD;©Ţ>=·ßňß‹=a™évVŻ˙4A1^p1ćß­f!Y˘t2ÁP2ź/ęe)‹o˘3ćĎ~K–ˇ÷ĺ»*~K>üç +ć7ËKĚź#JPĚoAľÔņý}°đBŇŠđµÄ·´Ą+ôOq˘Đ?E¬Đ?E ĎŘs'â~M­űS\uSŘű$#˙­ůc:GŘźÎ5XÇ$…ýX "ćŹH1bţT^ľ7™â ‡ ű±(ť?niEĚľź© Zě'B~ąź'ꏛ[ő‹ÄńzTÄÔH†®Ü#˘Ë|q6o1v¬űË7ćű•¤Őń­aŤź~'‰‹Č^> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 12 0 obj <> endobj 11 0 obj <>stream xśŤR[kIîJLl4ÎŞŢăÉÔě»ă´÷#6ÎËy /ĎwŞśÝĹĂűOÇOGŻ©éźŮr¶1ŢŘŚSkO„µ±Ž«{ߥ÷žg·ĺ§ŃB˘JýÖŢÎÔú˛˝k:”6aÖńîKńě!{7đzřęŔ™3żŹü&§§·&B‡µ}«‚›dîlŮ-{»čÓčÍ O†Ę†nvŚ2ůÓŰq^Ćgl[{eaç_řdsRödŽłţĚ,aŹK|űGŢÎĄ|~ „_OÖ&#gŹ˝ü‡Ąz.÷qyđĹ+öžŤU˝q‹Ňˇ“ť=Ű“‰§gź%ĺ´{=2ýybĐL¬kOt r‹"UkŮb¶ôE—ÍËSGďłcŐŁ&!ŕ‹ŠÝů}î3žÇFFnť»xęÂŻNČKřĽŹ617Ź5Se›ÚŮq é°ěqá®´ő–8c…îP¦®Ŕíů<§gßôߎOfE!›ÁfJŇ„\}ö endstream endobj 17 0 obj 801 endobj 18 0 obj <> endobj 19 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <>stream xśĚ|\×ö˙Ě,;;`‹nQt×ŢEQަbŁ‰€"Ň{/*ŘŔƵ+ŠÄŢ T읨`A4&ÖĽ3ë]óţwvYDŁyľäĺ˙ů}Äť™;3·śó=íŢ3—¦tDMÓzŽá‰ń!~ľÂUŢć[1|k¶ÁŢg˝!nM9­ű±QnkŠÚq©Y«f‡›¶jěޤUŁÂďč‘ ESÉÔBj µÚJíˇQ'© ÔÔ]ęőśúĄ˘ţMëŃßŃút[ş ݇DŰĐŽ´=‘¤Ăé8z2=ťžM#z!ťEçŇ{éCt}‰ľFß +éjú9ý†ćé3b¦!ÓŚ1`äLĆéÇX1ĚĆťńa‚™f 3›YĬa61»™ĂĚ)ć"SĘT0Ź™ź™×Ě{‘HÔP$ÉEťE˝E–"Ńp‘«hĽ(P%JĄ‰V‹rE»D‡D'ED%˘rŃ#ŃsŃkŃ{‘NC™Ž\§łNoKGť1::ľ:ˇ:q:):łué¬Ň٨łS'OçÎť«:7u*u~Ôy©ó›Îďb‰¸™ŘPÜAÜSl&,vŹ»‹}ÄaâxqŞxŽx±8KĽQĽSĽ_|L|R|A\".??ż«X1ŰýžmÍvb{±¦lÖ†É:ł¬ÉNe§łłŮěrv5›ÍîfłÇŮ"ö[Î>`źłŻX,a$śä{‰ľ¤•¤ťÄHb*é/±“ —Ś‘xK&IÂ%I’i’ů’ĺ’Ő’lÉ.É^ÉqÉyI™äžäˇä'É /Qq"NŹkĘp ®ד3áús6ÜPn47–›Ŕpá\7…›ÉÍăs+ąőÜfnw;Ćqąbîwź«ćžsŻ9žű·.«ŰH÷{]CÝvş]u{ëšëҵÓuŇuŃőÔőŐ ÖŤŇMÔMŐM×EşËtWëćčnÓÝ«{X·@÷¬îÝ2ÝrÝş?ęţ˘űNë1zşzßé5דëuÔëˇ×WŻźžµžŁŢ(=w˝ńzţzaz±z“őfčÍŐ[¤—©·No“ŢN˝zůz…zô®ëÝÔ»7$*zrlHPp|›.nÎc»vďŢăc‰±ĄĄe›I“µwÚŘÄ…E¶éDNÂŁ˘#"ăű·Bžńk>9:8®ŤŻż€żđš»ox@Xűđčč¨Ä6]†tmÓ§woăžä§ĎČI qm\|#ăÚ8µqJ÷Ťý¤Đ.!6*2*> &Á7<ŔZ]¤ţuRW1tĂÇ÷†ÖµçTżßęÇꕸřřęű:‘ç‡jęw¨{ŐNý¸µ¦8®öIguóC5òS·l];FőguŃHőą]]U~µ÷>¶ÓGŰdďŢžjdh›±tÓ`IŰŚ–„fÚöLµ•ÖŐŐW; >Úfz{ÖO;íĐĚ-]ę7h¦mŔTŰŔÇ^×uÖD[oßú°ÔRɢ·ËŘa¦Ąś©¶m }µ-ô1ŐV¬e…e·ŘÂÄÚzŤ]ľhíHLµ-h[č«mˇŹ™¶b-m,űş©u–¶ć>®DőhkÔŽĂL[µ‰¶ęľZ ´Ôö°Źą¶j-y,µmXôu­/ĆćZ ›ië7íť îD‚†Š@EÖb0éT”úfđG‚&}ÖŢłĐ\ŐŢłÔT=Dse­ąŞ˝gŁ>Ř«vš:m5…C4/Řhž´ŃtÉZÓĄćž˝¦ĐNSh«)´ŐtÂF3"ͬ5]˛ÔTfŻ)´ÓÚj m5ť°ŃŔF3hkMç-5•Ůk í4…¶šB[M'†Ô6«ˇ’µf–šĘě5…všB[Mˇ­¦Cj›ŐŚÝZ3vkMeöšÚi í4…¶šN Ń4kŁ»µfěÖšĘě5´ÓÚi m5ť˘iÖFSµµfěÖęĘŚÍjé©)´Ó\Ůjz6DÓ¬Ť¦jkÍŘ­űjŢ«Ą§¦ĐNse«éŮÍÁF3vkÍŘ­k ©ą˛Ó\Ůjş4Ds°Ń ÚF3hkMçí5Wvš+[MťCjź¬Ĺ‹f´ÖfEe:YOŽôóa3%ĘÜČ!ŃžŁlcGŰĹŤ±Ź vvqqLušć6,)Ü×}xrĤ±Ç÷äz™uosbď&oóm ömoŃłÝÉ[&Xµ/<¸Ő§_Ż§ó¶Měß»ă™Cۧ0îtöČŽ”}:ź;ş3uPß.çówMlŇő±Ý­L»]|~éç+ŻŻţvť/V–Ľ/ĹŹŞkžQTOŞĺIŤ˘l)KĘjOyQŁ);ŞŐ‹ę@Ťˇě©ţToŞ#ĺL9PĆT'Ę…r¤úPť)Wj(Ő—ęBąQĂ(Ş+ĺN §L©nÔXʉ2ŁşSÔʆ2§zP㨑ÔĘ‚J˘Â)_jŐśj¨ŽB#¨IÔ@Ę€jD1Ôd*’ňŁQ-¨Ć”šBEQţÔ`Ş%Մҡ¦RŃTeERßQb*…Šˇ)kŞŐ”b©T*– ˘Ľ©ÖT3JBMŁâ¨`j<%§¤GM§â©jĄ ľ§t©TJůPm(ĄGͤ©0j"ՖҧPł¨ETµJ§–Pł©ĄÔj5—ZNÍŁVPó©L*BÔ5虜QW¨íÔ1j/µŠzLݡ®Qç¨#Ô.j •KÝŁŠ©ÓÔQj7µ‘ަĘIT}†Ę§öSë¨ Ş„:Kbî=Ôfę>UJť§ŽSű¨$ę.ŁÖS§¨T•Mݦ®R'¨ĂÔJęuşDPI”^Eݤ.S…Tµ–Dě¨[Ôuł˘6Q9ÔCŞ’zBgP«I _D]$qů™/˘ÓKčĄô2z9˝‚ΤWŇ«H´ľš^CŻĄ×Ńëé t6ťCo$ńű&z3˝…ŢJoŁ·Ó;čťô.z7˝‡Dőűčýôú ťGâűĂôú(ťOŁŹÓ'čú$}Š.$Q˙iú }–>Gź§/ĐéKôeú }•ľF_§‹éş”.Ł oĐ7é[ômú]NWĐwé{ô}ş’®˘ĐéGôcşš~B?Ą¤˘kčgôsúgúý ý+ý’~Eż¦ßĐoéwôoôżh yZIż§1­˘?ĐżÓ˙f(†fFÄč0b†e$ Çč2zL¦!ÓiĚ4aľcš2Í)ó=#cô™ćŚÓ‚iÉ2­ÖŚśQ0m¶L;¦=ÓéČtb:3]®L7¦;ÓéÉ1˝ŢŚ1Ó‡éË0¦ŚcÎX0–L?¦?3€Č b3VŚ5cĂ al;Ćžq`™ˇĚ0f8ăÄŚ`F2ŁŃĚĆ™qa\7ĆťËx0ăOĆ‹ńfĆ3f"ăËLbü&€ d‚`&„ eÂp&‚‰d˘h&†‰eâx&Id’df23…™Ę¤0©Ě4f:3™ÉĚbŇtf63‡™ËĚcć3 b0 ™EĚbf ł”YĆ,gV0™ĚJf“ŬfÖ0k™uĚzf“Íä0™\fł™ŮÂle¶1Ű™ĚNfł›ŮĂěeö1ű™ĚA&Ź9ÄfŽ0G™|ćsś9Á0'™SL!SÄśfÎ0g™sĚyćs‘ąÄ\f®0W™kĚu¦)aJ™2ććs“P’»IWŕ{tgÚ—^IîD:řJ¤ í×i ŞłX繸‹xşřřw¶Ä*%“$s$Ż9c.G÷{ÝşşJ˝özôVéÖ»Ş÷kv &5ČnđCš†3nnXѨIŁĐF§˝olÝxBă‚Ćw› oÓ$ľÉÎ&ľŰń]áw?7mŇÔ´©wÓMĎ6}Ŗ̌YLłMRoi¤4_zďűaß{}VÖA6\vLvUöŁ>ĄżSżHšźj^eĐÄŔßŕ‘ߢA‹ô÷Z([¶ny˘eąa#Ăî† ˝ O>jŐş•Y«©­Š[ýŇ:˛ő–ÖG[—Ëuĺăĺ'ĺŻ]nŠ5ŠCŠŠ6{ÚrmMŰ:¶-iűS»žíüŰ›´źŇ~IűĽö•ZtŰasGłŽŽOw’tZŃé\g‹Îw»¸uĄ»öîęÚ5«ëţnzÝ–w÷éľ·űŤ=®÷lÝ3Î6c”bt±ŐËł×Ţíz'÷Î1njleĽľO“>“úěóľď¨ľ%&&łM^şšž5ki¶Ŕ¬ÄÜÂü®E/‹±Ó,»Z.·Ľbůs?‹~ű7č?µŢ€FĽĚŘ`Ů &VÚ>H5¸•Č*Új—őëë+6#lĐ–C&Ůh;Ävšmľís;=;3»5vçěÍí=í+ş8;x;:\q¸éPĺŘĎŃÖqµă١úC]5ô§aéĂ^ — Źw2v v:âTäT5˘ů6# F¦Ť\0rďČü‘gF‰GíÝctččícľ“áÜŘy¨ótçJ—x—Ă.Ď]]#\7¸^w˝éÖÓÍÜÍŐ-Ó]ěîî~ČýÉŘc‡ŚÝč!ňhŕ!ó°ńóŘŕqĂă•Śs÷ŔÓĚs«g©ç{/K/gŻŻ©^i^˝›xë{·övńöôöóŢĺ}Éű·ń6㧌7O°š=ˇhÂ3ź¦>ý|˘|r'¶žč<±jâOľćľ)ľG'5šd=)lR¦ź±ß0ż1~™~ëü~ň{éźç˙Ě˙µ?°( ěhXx1H”´*Ř)Ř%řXH˙˙Ĺ!Y!ŹB~µŤ ťšʇŤK»VnŢ.Ü-|cřă:˘A„,âxdŰHßČĐȸČÔČň(yTLtŹč¸č+1íbćÄĽŽík»0öUśMÜś¸ĹqYńşńÍââóş%ěI¸źđ{˘YâƤ†Ió“–%Mú9é]˛OrprLňąd|pň›))S ¦ü:¦LU¦´J‰OYťň(uPęÁÔ»Ó¨i-¦ő™6`ÚÜi§§sÓ›N_?ýÎ ‡»fÜź9`fŘĚř™Ófľž%źŐqVŹYNłRgť™u-­[šIÚú´-i»ÓîĄ=Ižľ%}OúˇôűéŐłŰĚöť}`Ψ9ăćLś3gÎÂ9ćŠçNźGĎÓť—:o׼óŞç{Í?•1,Ă9ă\Ćë uFk.@ –/8·ŕÍÂ& -Ú,Üłđ闋䋆/r^”˛hö˘‹Ţ.R-î´ŘuqŇâÍ‹÷,ţy‰ë’iKv.9°¤jiËĄc—Ţ\Ć, [¶hŮ>ŘŮ/B•JI6ŤjD`­Ś}ŕÇUbŰXŮ ĺ€gß;›ć#!JvG‰ß˛x…2BŚ˛8ëC„řW¶˘Ä°ĽB†SXhĹŤůy8˛Rů=yǀϑᎪ¸%ßC܇;UnĹ´ŔäÔ`Ôb:J]8y1g%Y7kÝÜŤh+ÚľbăÚ-Öl\{R•Ť „nĺđcng7CĺŔ˘ŞćŇCe¤BénUÎ8,‘Ţü×ٲG×ű9Éńż«ř6’ÇĂÎv8.ÂfĽ\z¨ZBş_Î÷(§ŃcŻdsOÍŘť´=¨Ŕi» âpŰ^XŰŕOŰ@;hz÷6|ź©0gSÍ'úÚ"®—ëmřšź®ř±ěč$›L…šJ[2"C^Ob,bńh|Ź‚b,faĽRĄ'rî çŔ ź„đ–ćMTÍ/«ńÁúŕËXŐĘ,“ŕŕMp¸˛‰Ë>DTóŔ‚ź ÄBs•°¸R*›ˇ¸[3˛¦ą”ż«•l):µáŕaNúnßěÂs-Qµ_‘Ń>NĘ_ßą÷ô­–¨(éxŔž€˝ăÖÚ‘!°5¸X)ŕ()DŰÓ7'oIZüjxLRlrdúXň#~$Ĺ$ÉG;flŚ#5oŚ_ÔOKO‹1q„–č&ßř&ÍŹ" PÚ@>‹Ż«Š­řA7q…®ňŤß‹´‡˘Ç"ŘĚď“áÎ}Úa[l[ÝşBç§ďŔ †šĽĹÝ Éžť„őq“1{9—šť«¨Q•T¸ćđN00ţ1¶§đi–x\ä˛MZ«>ĆýŇl÷ÓĐöĆÉ­×ňĺŇű[<…÷•==×7n7ÓżoŻ‘÷ˇ14ľt˙Gy#aOŤoe°•Ąf¦?a`¨ŔX {T¤ě`Ť¤±2°Ž{ňj‘˛%éF_U «jĘ×; «fůFŞjń;ÂčŔřJţEĄ EĘn<’E‚IŻ l‚ş˘ánŁ† jŹ° ÷w(µ=;ćFôsöčĺĎÁŤëΦŤ›’1jDČ@2şŽ˝€a0Ş$Đö™ÉQ;[cׄŻtăÔäá»Uh…âÔăćŇݧq¤ělaŹşÄ•  ź „87ÁÖ¬°uáOdâî ‰ôLq’ýt±nŠŚě×»ď{ĐšśżW­¦|98–€I9˝ŕ‘Ď„i2toö‰”!Źúv%ÝęÔ“Ś¶ú±-t††U%Ŕ摉·÷rDîh¦¨ŁI;Ňwdr KdË^\¸ňq•WLçŁůóIő€*ůË•4_A¨ÚhɱŞaŞËbKľ°R5LÂ;ň đ7h‰ČŻ! jˇś,ø6ÂÉ8Č«ďn=yAq·ř84ŕ`:V@O*·Ô>ŻqCě„mŰ‘îŐž¨#Gp|KF •ęöIŐ­jDOôa N 9$A"Ö9ˇŔ{Řš†2ţ2XI Ăťnx$vÜwPÔ§»“ĺ|!»4_9ĹÚN"-?ă?z‡˝!–c1Ń*µůÍ“[ÎTŕťÜIŮ_ö„ ˛nXÇF—*R4†ťDÇ9”€áMş¬J+‰t™T˛{ł×X¶el—J’ĎX0qĆűX)úŘ9”©Ľ«xďÇŤj>T +„Á“"2Ë2ĚžCůëî=š·á8*ć użrÜAŽO¨ayCXî’'E^ýű»{őQhô̢JHUÆĂC߶RŐRůŢ•Ş…ÄdWŞlŘĆđtÓ¦şuÍĄűK=Ľ]ĐĂ›%čö†‚Ľíś´tˆÍKĎ/ŕJR¦/ÜФ0Żśt˙s˘‹‹pd4Ô†„‡H-÷ůޤšÁé‹ËľŰ q cĚáA¦ąvGĆ)úśŤ9®ŁcŰŽ_ç˘%ČvÖÄÄČ„đ‰“=P ÉŚ_źĽ&mőśťś»˘Kůhh‚*Pńć=‡óN¬ąŽ  G*F*ĆÉ#dO‹ă温Űŕľ˝]ŐzćlĹĹgHSĆdČz–—ŢŮó ¤ÁC;0Âäß'Đ»qqíŢ ňw&bě ëdă]nŤšćZŕ^>b­ôzKčĐ3ÖĆm¤÷9pőĂ«JüŠĐ¸MĄ*U`Lť©Ęz łµĆ7–eĽq8Ź©k<Ŕ©›ĺař.BQ‘|>57´đô µ™µ1Q>mÍě5sös}ŮŸQÉhMÄßŕÁµW>GÚoVôßŕ°6r#ÚßâÄ‘ť%Ĺű"]Ęk­ę L”Z1Ş˘2"Ž"ŞAĚéÖ­łR˛ĺ›¦dƢ@NcV«ťÎt´ž?ÜS;4Ž ÖI0MřiżÍĄď`$C“ÎVí÷3VHůŚahÂrź¬ Îe7Ąo™˙"&ď°‡—ʼݧŞZBłĄ¸˝?QłŤ1A ÄJíHËMÚśŠ|8S˙.r5›śrŕ`%lä§Us ÇËdřś%Ä&±DÇëwď‰[X;n=>QîUů=ĺŔá5čî9÷Ě–?gc  ÖyűŁ>hHĽł·ąť#ÜśĂńĐ÷†qżŢÝ÷b>r»‰/´ďŚżÉw+ˇ ąŚ Ô:Xŕ¶?¨Ú°îű"®eg/\˛M^&™1oZĆTÄÍĚÜŻüHŇb m“˛aD6˝€ĽŰŤĽkˇĘ©b•:ćíîÁÜ«Šf¨zh üRíP#¨‘~•,Úw­Â·MşXb>Ç]~ŽUŔP/±ôÉOq‡ť["˙Dżđ„Ȥń3FŁČmCđáč]Ó÷.Č'Ś_ŕĺłÝď¤Ă ˇÇč‡ěăű ® §.×»lĹĂ ¤ĺ}7…m;ŰňÖµ‚_€»ćŢc\ĂGËĎx=˘lOdâ‡5Ę#\˘j%Ä |ŮŤż9NW3ĹDő%ó‰ú|Ž>)‘ć·q±3ę›wEÎK,T]$&×\^—l--K“m‚ŕČ[ĘVjŠT¨ ÎĂ ÉŘ)S<ć!´`ŠÜV’9IFâžřAˇl$_‹vU¬Zh”l% éDdţĄ4”AZĄŞÔŇ?Ö°j­©¶ĘĎDŕNŕŰ“ôT"5ői8 ăůqOwQ ÄmřäśT9bí#BwaP[Á«°?‘˝ěđ~ń–ř?Ű;T܆ű8V¬¶ëJąŕ«©T XŻ’®¶Ł°®›OÖć`yж)űŃŽ_aDĘq—ßz5 ćt’ó+Ônh…˛y˙9ÄÁ<ŢĎ” 1łC§ÄNŽ ™8;˙ăÇ{ —`˝ +h Ň»wˇ™ś?Ş‘6aLü)}0RŹ©˝ŞGâLwd;«z´!'˝XčA†öŚ}Ĺ÷úMŐK¬ˇš8DĐ4fţ!‚@Ź0±Ěî&ß»\PľYj&î* ćkţ¬ąhŽaäÔ5[pIRăpË;%řËă˘gFĚË=`—]=°˝q·GŤS$HPpbĘĐ4¬—2ynŘ´‘±áŢČ“&÷¸>ę·ëEą§/Č—şo‰;ŤÖˇ¬…[—Źd(*mJl|Hř¤©ž°łčĚţmO˛Ő«Ö/Ţ–Ĺ}ô¬[éĂRWtańŐĘwfa ‰0ęÔ§,—Aň/Sđµń¶pNŞă‘«Äb^Lp[#ů†|Ř$[X*ŕˇvĆÍŔYÜ…!8ŹŔŮâç,´€ńĐŹżĐxëµ1ÇţšK Ô°%¦®R"˝çĚĄ’Ë{ĺřP \^Úç?T¸ä[KžąvµóMí)?ë»É١ń1ś8iÁ-ÉgŽm×-ĺ´ZůŢ.–H FćEŢ4ůSâ“ŘŔ ÓwX>Ä#z´ż¶K ΑŐhĽ¶źzmďm5ÄQ¦čĂBżö,n©z‚űńOý°9mMNŰł0Šň5 ćüĎ0@ő3ÁÉ#ĄéHÍ„Ł%äséĂĺ8Y{‰ôá vÁÔčŕ9\€äâ’ÝÇĐ=î•DšU¬ßţ„äŹ7H5e2b‰-$@Y`ĘB81‚ĆBD@ĐÖü°®ń“d—ćäů.s$š ¬})Ö]Î=ń5–`ĂTň Âć÷­j†Óą®‡_H€[z»|4äĚŮé& Oç|Ę,˛Ľn Áëk”˙ĂŁµQ8ř†ňŔ µ,/"”Ä#·†‘7:(ĽQ#ľ.UTĺ<Ş <#OEüÂČ)Ŕ .% DvľN>öI&Ën°~đa§ΗĂ+úĹKP€q –ÚąFŹ P,ëł?żB—Ń˙Őá‚©ěaŃč}F ëg9˘äÇę‹—CfŚ,ŁÁŻLÄď„lö?;ě‡ýě€ü”ąté,ůÉŔëÉ×h9Oë*Ćg7+«‚ŃD_Ŕ’oöÁ©DcŤ¤÷‰=Ňh٢řźĆ—CĚŘVŃl[MÖC!Ôbř†2lÂÎ^•ž5oQŕµŮëĐ~®ü쩇ŹŹytX$Żf3.ĄLŢtŮvż±W-ŰáF>Ë’Ź Vôs%ň¸&vEŠE#C=z 81ÔŕŔć}«ö˘´inN:ČŞ-ł÷˘ëňú^7LŠš&Ł¤Ĺ“VqŇ”U“ĹND~Óücžţ¸í*DćäÎÜÎA+nI9JŹlú8áł+ 3?Ěźa5ŢĚ/Źi~Ż*Ň„—˛x žmŹ»¸ăTî{’žŔX05\:xBÔČ;Ńă·˛ö'Ký´$ďůÎe{ó) ˇäŁe!ĘÓ_sţČnÄqâěFă<óöD™ľOAoiô& ""µµËÂŁOŹŕťšc™ßĚ1é}bI¶¨-˙$MŕşS©ćó,ďAţŁĽ©ĺâ`Ś|oŤGyóá@‡Z)Řu â×ńtŘSČ ?ÍĄoxC^W&}qóč¦}Ĺ-AdRATcÓľ±h覠äŇ7ýüýFl‰ő1†6Đć—§ »ëwÁň s°’Ľxű„ŹýPOkkĎŁĹ%Go)đIé›ę‹.ćŁ\ŚMGť«Şşx–h'˘ŇoĐ°®Éđ¬!0‹ŚÚ!ŞĽ¸FTHF‚E’­¸%ˇďVh)‘¤X˙óBí„‹cr ň"tąC/Î$Jë ˝°Eřą$ü4—N}}”á2KGK‹b‡Şű%%÷-6WŚŇ9•ççá9i’ç¸I‡N:T }ŹËdҤW*Ň ńu–W(3ÄV*őŰ iŢ«ú5Čëjç©­T˙¤ĄŹĎ rNĎź'W]Â_ŃŔŚN•ź‚jÂÉÄjź˙’áî,±@ 6c±ľŤGŔmr ľĸ»X ÂV䩆!0čTHM!aś@žŞďÄĄ,4‚"hŚ‹Č)îĹ'Ö°Ţą.—Óč© ˙ŠŔL¶swě"ŃŇ]É/Í~Ś@FâčÉw|Żřź±S~0ěÖ+°ÁS#řľ¸`Ó™cŠ líŇ˝&L-áŕ{>TVy١—ÉȦfîž?˝xíľ:”„B.Zř%ĺ€s Ř”€`ß'+GȱÁŘCŚ›˛űŔC< .9ņc1f^±8H|‡mľ«ˇ[ŇŽÝ 6âßJŚŘ>2őóMŮ]¤„řŠ8˘BŮś€ęéÓ§E° *dŢ4aćT;'+‡XäČaÝ*+hnß#ą‹Ćωš—č—čNÄně±’cW\(Bh}nζeąhwFbü\öô­±0ޢFr»Žeň2ě~}‰fwł7Őłjţ¸ Źáŕ >· <îŃ|1xXĚ®*[SąëčqÔb Z5wsꎻYńKcš89,""2ɆKB{ÜÔÄě@•qĘ  Ô" Ą.™˛rŠąAVúúy›ĐItjăž˝»vgĎ*»Í·5€fęÖlOŇümÜŚ¸ÔăřjŻř-”jxŞáźŁŁf…VyÂdÁJjt'ĚTÎ@’u¸ ą;ŠDVa®rĄĚM‚żźjo‡0‹ś6yŮ’ĽuĆÍo–LXż3%wîşŮ׸l:Vܱ€¶ł¸ŢHN/Ţżrw6'-=żoOiEKôCôÉ1»cÖL[Ňk ‰_Q<ď¸Çî.‹€µą…­ŕNKF«hŮ€śŔčş~řČ­Lî~"“–ľŽŘ1”=)ÁŃ1qń±ł&ÎáĹźŚŔP™,şâ.â‹vVÂĹŻs_Ôü«ÁÜ+É­‹µĽ )ťÍďÍůńďNx8ć)ô{_Ń\ú–âý‰†^.É–üfűCűöýlzdEí ’K•”µřŇ­a[˝ŻM€AX×ŕ`ôÚĚyř;E®Ůž,—ţFĄn›}°%Á÷Âé+˘7ŮO|€¸Ý»ńó‘i;üň7¶î/BwĐŤ¨#ý q§gŇ7”ﶔěí- ě;uá€ßůÉ, vĹ'dR~†űÁiŮy-Qކ­…{ŔÓ!›Ń$äčË ľ>ń‰űđ1˛·^’Śsk¶íYÂŚšęŤpť$Z“Ç[Ľ¬„‘ xh‡Kżb˙„XŹŻ¨Ćţ§D’zŠFEzŽßC1§ÝĂRčÝ*A © OřÉűŞ<đäčmŽ¨óüxwâaŹßł«‘÷/ŕîÇź?'.jŁä2_–SĘ1-źRč"üŠŔKi-34¨gĎňAĎjĘËzau§»ÂNç\ţg×ń\]Ć;söXţoôLFv„FaGłTÍ…÷Ś„÷~Ş(˙éçŹďą©ßË?{FxO ›Ń6ÝŐ®ĐE0šľA?X†żĂM‰˛Ôußr(§7Ţ…»"~28ËÜNoŘ™ą íivÍÜ7uó™3ÎçG»Ç¬Î D-‚PجČ)®g \ÜO»&EM@A-PĐ*˙ěh/OłÎ§Nm™şwÖnÔâ Ú“ą5»ČÝ÷„˲‹Ç˝G»xz;Źö:~îü‰ăçIăŕkĘÂktEą¶ ĎÚűyY(p 2J=ťł—\ľ!őâH‘EžW©üصÖ3uMˇ†JPULË–K›rˇź8r]¸zM| Ďý|đ”ń©ŘO|W˘’/SáT(Q›"eoBăj¬âĘT «•ăĆHÂ1ť”‚[Máś„9FuČň{‰†ćU‚őÝ-÷šKů™đX¶ hşWR0nćo/ě9‚np?9\ë!—Fölß×{CŔĺ éüÝ€q˝[↕ IÁń¬Ü}ňś¬őkě礑—Šfqcčľ˙\Îut±>ôB6˛lÖ:´—+Üł§đäţ Ď ±‘=ĺĐ—IŹŚv™?ÖpČčóegwćýx^ÍŮŇN9™p¶›ř*{÷çűÝĹWŘîĐŤ oŹ˛çUâŠ_­Ľ*â7Zo ˙ş¶Ă†Ö;ě '*öFîť~f§rĽŞ¬ŞüPE~ĎqqQű&ĎD'>z&yu~d)Ç‘»E/Iuż[_|oMäĺ>Ę^—ŃÄß˙M¦J¶ă“ŮŽ:šŁ:řá—Ó|sz,z,Sé˛+ÎďÚ˙řÔËÓżž>u=FâÎřđ=0v˝#2FŽaţŁbfřĚÂUł‹N,Ýľ*7÷ȱ-E»wŃy°K¨—S˘×XÜĹ|˘cîÝ‚'z=FÝĄŃUŇĄŻĆg«•ľ˛´ŘÓ'Łé(zYÜJßué ‘ ś1”;Ď.Í]µz Z‰VĎÝ4ët⪹PÚ±7ł”¨—70„Řz{{űł.Ą%çÎ˙ŕzÖN =ĘźPsŤüo.-‚¶‚ţ‘H‹ĽŘ?Ş ioX¬˙ĺôXčü˝rŃvâ´gËňNT)€@ţ§ {έâJ%Ϋ’÷î/©ň;a'÷¶–=ą:e¬Č[nw6Ć%6ĆYpäzljĘ8ůTňü>x©RÁO<@Â˱…JŽM…SˇDăĺކ”ňfkŞ!ë©=q…y!îÂJv˙±ôÝ‹“>f}\Ý{u÷>ńf¶˘/»Ř93p]Ř>‡˛ŕ$,ěôě1´||Ňl»BĘ_߲űä-ˇqż›Ř·<wźG‚ŁGoZą1űŕŃMgWq|ĽŐ¸ÉţSq3ĂçŽČPŰ0_÷E00¬3n!lŚpź+xŘK˘^Ď°}ˇ˝' @`‚ o ¬†vę׸ňŚrŚ oµ­„ń±IŮô‚ѵ·ŰŽI‰Ř~©Ží|Ń/$¸‘¸JҶę·*rŔ=0 0}ű|©X@rNÉŢbš˙®HÄ{ń˝d ÜSQ*šş$iÖ-5’™Ľt2†<ćôäŠŘ…ą 3gfn\—µe˘Ü´ĚŮż8l™şcćfÄ]=t˛\±V˘Ń1úÄš<¬xú„“*đ’— Ł+ו\ą]˛9]ç@×â6ÖǬúc#ůC[˛mŐ¦ űórěËOŤwźŕďî­íŽĐ”řĨôxÄąJžö·ZëNw˝Ë;5PHÔŘ=$ĂŞaĐ»»íř‰Ă$ř¶ĘYl$»2ËB,\ײZßŐŘ˝„ćW`c}ś`XghÎą˛Ő¸}€° Â}=ńŔľXĂďlzŤ2Z¶Ŕiň꤭ůIgQ *<¶ě 7šťë熜QÄĆ9G…‡“>™Y9ţö/M¬üře’;üÍ scě+«‚Ůśúł $PÍ€<Ů·ć$FE¸]94.v^…vÄËyźňË7—>PöäçˆƞóÝáŠZŕ–¸ 6ŔŇÂöejŠŽl6ći8{*żFçaŔy QçZXËb~¸Ěx¬¦0]čôôIŃ•ß@ÇăroĹXť˘ťŰ„M;6,˙ö­]ů…‚Úçď}|”FG«ŹŠ żrŽĚËĎĎŰ+ĎďĉĽ' üz*|t6oHŽŤOJŠ‹KĘŢ”›ť˝Iđ˙âoÚÔ.-«§ź+„5ś4č+‹űăÚ1ŻĎÖ®:?ě_Ô AĂÂ<ÂOŹŢf†¬‘SB°˙'ÓĺDKŠö&¦ý“Sf›§{Ě K>^—.čy}äëŠ+»*nË—M_śľ$Ť“¦ŚÝ{=ĽÜôĐ’`9•ç|JNŽŽ'ŹÇ†Ló3°«đĚľ­OłO˛Ö-޶Š»wT»śýđ°pč!čIŕb}[–úľ˝VĄŻZşlá*ÔbűşÔřřäđ)KsÇ+f-Nô»˝)ý jqçřľsG"7ŤKKGó§)rĎŠ5KżIš©&{⛫r°µîę%µ·ÚMă­v_ŇŻwQ7Á…(€NĽĄ .Yŕw§qâá’+'Ĺřz(%×O‰Ż *űćCŇĆMéŹLš„ĽNĚá©Ó6ĎŮ6 ÝK6-áň%“ÓçĹ!Î;vĂŢĂ9ą7 Ë–š%Éőęd~ ż\¶mĚ° ůcłí‰dwň:®˝ŰS1ÔzWÔĄŇĽIg‹Q čRýl爛Ť8©i/[ľ4ůp¸™ó@#ßŕµ»"ĺńe©»Ó÷Łăś:áăh^rčąÖ— ä«e?“1gtď÷łŘ‰ý™Ś»ń{ŰşÄańý±H™O°ó…ĽŹŘQg,ôC¶ţ“ýĘ÷őAînÚ ;`ÇGˇ{őŐ=Ą‡yCK"h€Ş4H8«ÎI‘á¦c©sRľ'],ŻQŔ,lň)ާ3;ďSášě÷9CŢϬüçI‡č av?í±‹0żgŕµěĚy|ů,ő\d%TîS/0óăkD|0„Ęp(źX©j‹ŕ]%~©Ľ¤ň#Á…$€zĂ>„P1l¬”áY,Čá­ř%é>«ÖÍ~čr®ąôÜ4ÄŘÁfA'™ôŐüąó2榤-_ŁÉ•I;űYN´ť/żŔ.;˛6+qG6MŤRL“ „ió|çMJ›’85)ůrŁóŻÜ˝zűnůŇđµÓwŁUhŮ‚¬%ś1čČ‚}Ă=×íŘ•˝¦p™Ľ`yÖÂŐKąş|´{B>ßMwŚTş’ţ.âA’{çÄx7^©jHˇ±řŽ¤n)‰z)ÇŮÁ ň×GVDľ x „v`IŻ#žą•(žĽđŰgŇcÄéA[{ kV÷“şm1;i§¸R"‹(śz•rŕ ^Ĺżv>Á÷„|ď$Ů^7âž[qء=n{ŮŽÜ\ŕ)o¬LH¸üč2<ż\}™F%Ь”·+ń‡řˇ˛¸ßÜ Ľé čAl]«»=@rîXîńÝŠ Ű2·­şČٲÓúNtAa(h}â¶říÓŽ˘SÜ»‚â;Eۢ‡®“·‡ó2„“Aج° řB8ę@…@<Hąb„XC[Ü!nC†aŹâ¶Đ lŔÚB°VÔfcÝÖfcEńJYˇĎĘ™{#2S%#?ä7=$ŢŢ'Řa]28A. űŁ×ŕřSb‰G…<ŕ\ŕ!gž2đŰßm‚ă‘iËÂłZřř‰ËJŰ’ÔÂĚoźżş·ý$‡«š}ĚáŇ,6Ţ|Ł]nLQ/7üO–Sţúr#îČ{fďóĂ„I€Î¸yżŁ§'#ąę|’ś‘ÂŮIÜ™¸1äJ\·@đ+Á¦›&W˛†đ~pý9©ż”5W>™×şçIXi_&ĘăČěx{U‡%uą•ŕń7Ó+±„2#R—nů¤8ňúÇ”Ë-ę”ËMµ)—çżžrąĄZ"ťSÁM&]›F˘MCM´ÉIçŻó%§áNNş4ń4‰9 ĄóµQgzňŻAđsžxO¦ĎPc¨pĆ˙DÓgü ±|Ú·ą>3y_…Ŕú¨Đ˘o{}ôĹôŐgä_‚ßżO*!ú \–Wž_nF\ç2đ,~Z–4—~›IĚ -Yéď3ň7$y)2üPÔҨ‰-înf'gÍ]•q>ă‡ôu›8ňěˇYąÇZ>¨‡ORŤ)ca´™¤hc’÷řřıŠ0ÁÖüOT^ˇ:IOHl:őX$¤EVý!-lú‚nĺ8&Ň#HË-$0/ý“ŚHâÁĐěż•Ó;?íy‚űŘíßSíĎXr]Ľ š ŞŠeĐ”S'!O¬KB6¨KB~Ŕ~)ąÝ>Ókă[“rgI ·5ř'›´4×GđD']ŤŢ8»Ö=ąy\Úl4?őď#t%Ačg«jľŞѮﭾ0G÷—€ęWż4Ý÷†—ž1çh$üŠŕ¬ŇFfîŕ`aQb_ů°¤řa•C‰…ÂY§đ°ďXw__·qŹž:r„„4Z}ZýćoŞÓŐŕň™aů߀g3ϧjZë 5˙‰şx0?ěkö7r‚ľŔ°ZÜ~C˙X(ýß+>ĄâGŚ@Łë˙L~Ľż6çÉßźQyÚ,Ţä‹Y8ďă$Ż†ËĂţ—˝a×—PýŹóZBxý‰Ú×0»ňÍ_f÷eńI€’Y ł+éRMę5ü$Ă?Á^ 8N˝ôk'Ţ‹ďŘ;’Wőap1ŃűłÁš…öwşáxäŕn¸˝[×Géĺ·"|Ú/x űĎCq ó®ŕ<—áÉěŞë7É˝˛ËŕĘÎÝů¨»5ŞĐ´‹§g‡yňËěÂť‹Ö.ĎZ˝iŰš];±?lbxR´˘bLxwŹ˙9ÝZŔąŹpĐąţ·ŕđ–˙Eô~DĚ°1Nüđ/©rŁ˙泊„Ď=ÍW‚„˙ç-°Ăű.Ť8‘S ĚbÁaëŰ”ĺßćôdĺAĎS +j¶â _ńĽ"¬3ňѲ˝h-Z3ź“ľŰ;;7*¨ĄGH„˨¨­—çÉG°ĆgĆţüěRŃýSń»˝ÖĘĄüţuŮ۶Ľĺ~ĚÔČÓ«ç|ům[µ,kŐĆ­Y»w|{ŚŻw\Şiť—róÍß‚\$,ýŁýŇ@‰ÔüO ©oü™¦ ‚Â' /s_ 5Ś>j€Ac00»‡ â#6T[ ؤů áń)Żţý=ĽL>Ďę˙_~?»?µŠj'î>˙‹úű‹ĚŰ"ľ qâlŃË_6‚‹ö‹žOľč®ů˘§Ýůú_ôźbÔ†QžędSÉń‡Ôůľ3碹$vZ˝UÁ;ŞS¸“…îaµ)ÜRŞ N˛yňö´}¨ťÝvđĚBç­1çĐzmY&XGôöEŮ‹·48ż’7Ő.zbçnš„“pm‰&ŃšD©żV‰ŔN› o˙yöFm¨GěŰ˙µ™źđ Ă˙1dm'Čú,~ű–Źr µň—ObĂ·ÂâőŻ—E`—ËpÁe~ŕDÉ”á©3†¤§dŚŻ—ÇO¸˘MĺOůĘ_đőTţ ¶ř”sőĽ˝>§~–gńæ„ÁźĐýăđxŘóĺđç›ř<śđů“~*QÎÝ"~·Ŕl~ÎWůÍßŮ'‰˘TżÉ:_~Y\ä›ÇKđDĽA>í”đ„4ĐĽĄžŐ`3RŤÍ­˙lFţul¦đdRłOç[#˙tľŐ¬vľŐ¨1—˝ů`E™ĎăůZxŞcĚ?¨ňćgŻ Ř$št?s®ův—›K[}â`ź*úŹö`«ou±ů50LFެöD›J§YýąBý$eLŐń"ßQ2Jµżöě#¦«ßü÷6űĂ˙Ľş™ţ3RůÂBmí.‚Ć˙łŤpGhűĄ·…ěŻ ×/ŔŘ;tůŃ]¸.seF‹«ŘUŮÎ;<żí˙]DgÖžÚÉŐHúyĄz"ä\ „˛›.q›±-GËÜW,\ËA.›KJ÷łŰ EáĺG¨šrÓm×=ˇÇťłí‘)ęí2.ÁećpÎIhë.;?ÍDÓąĆďS”fgh0*ßb(.ÁĄ™ zžQ5p#Uł–÷Ó‡&đLŚźóC{Kpsü;6€ßĹ=UC‹á Ťđłşo×Řż-4¶zßésů?óÍ(ţ¶}‰oßđa?Ž_z5_“> Ć ’Ťjs*ň´C~^Ęž{-Ź2lĚ^x7nŰ`ÜBŚłě †uî(Ćví©„®.Ů4ä*Sd#XěŞâ€ü_fÁ•çÄ8_“aS¸Â|Ť´uŹ~ßQ†ż˙°»ńmp›őˇĎŽÁlŐlčńŢVH€›QLó;ĎĘT©Ž|*«Jĺőľš<«ôęűNiŚćUĘŮ2Őv _8i ü˘k€QuÜłˇC¨ÇîDŰćĺĚ^őëŠc+ą8vŢěůs3ć%zĚž‘45iJÂś„{ĎY8OđFř—VłĎѶÄÍ˝¸ŤěçýáGé|-­Q9ا0é)Ť* ® â*DĽßYćs3h“#i@4ĐQřş§ÂD×÷mş‘ŻČ˛/î:‘pQE 4…f‹±Č1(ÎĆG+»Ë¬}"}¶ßşutűőŇŁQVrU–ţíŁŰJŻŤ´&÷Č=9!€z‰ľ™´(S_éŔâ“D#vfOa± ‚T;ĹŞţ¤˙ÓRvÁ›C¤Dî]ŃkeŮňŶ¬X´µ8Ž&o Ýăťc…lPÄü¸YŁŠ"Wą#Oä?5$dĽw”#ĆaşĘě_·/*?"ß_˛šŁ7xctÄ='xĎśě'‡B•™lZß´Đźă}\çzę1p׾ř@¤ÍÂÚŢ2jwđ€–/Áä?Ě-˝%ë|F˛Đ59<q’ËŽŁŰÜ!“>zߏ˙nGčöĹ0¶ľnţěFc sż KĘ VwÁ“´á`‹´«ě%$™|taőÍ/š\/Ö6""T›”«NZŹö,Éý,9čĐ®˝Ww(}>M†¶`\ ^B+É\Ň—ßţ™.HżFđo˙>ýom챋8{_˘ĺ? ĆŞýŻdv’zý q˙ëIózŰ(ś)Őn¤0í“ŤNýď6R¦ŢHA5ń}Ů˙%Ékţ<]¶–ÚOĘţzRÍÖ&MkóŠ2?ßç*ýó»n˘¸¸ôżXbŔÝáĚ·Ś÷“ÍPn–«ŰĺvC”—˙Ŕ†(„ Q^~uC,ÜoÉmČ÷?ýYůň3JľTÖ—çĺ’ÓN•)q-|JB4D3ô,WŘ Ä•üŽ˙f/•­~OVšB„^Čř°˙ŠvąyĹ3ŚŐn±ŕ}gí'jÍT»»ŮĎ{ű·űŞşO«›D—*75ÄŐ߼_NČg"?3> ű3ţwT0C-BŇ3TśË×Td/zHY^뎹}_í>‡ę8Ů‹ň–Z{wŃ]ô¨žOw˙>]5űu?ňůô#çáďnő€F1GÓ  ĹKç ŐłW-Yľpĺ—&Ş/Goţd˘Z“ŔůÂ;ŕ¨ĺĺ«2ú^ýŤ=î˝7áev°LPcÄS4ţAmsŔ¬JŐ +yńŰ…ZÁ¦:Ĺ dd(›¨÷ßůţöŢÇ"'»¸xÇŇ­«.mÝ]Fę@¨˙M Ä} „ýţËk!¦ÎŤťá¶jR}eN˙ˤú˙»ůNź÷Ů„žŠl!¦Ýó‘CGXçIIáä%÷ŁÁ×Öç.^˛^N|†ŮÓćĄ".<)gçľěűvó^Sđe‹ÜK“Ęü1c$čćǵ»}¬mxDŘĚmŢwhçîk;˙i˙Â˙/;ąaSŢń‹ ˙˙x›ÎËżDĺovnqćłÎ´;o/yű'<UŢŇn‘P/Ićo;Ć}řVź‘Tă~$k Au7SÓ–źń)q•ÔźQ—źń_‘Wú;ŐKĺý'®í7Ry¦rç…AKëWe.L…Ę Z%÷˙Ő Čűr‡Qő®O7ňчG¨ŔŹ„ýUŤůďářE=-r_Ăb¤ŐÝăuîĐĺŔęş Z) qpy ôCs!?zs`Ąr}Ŕç¨'ѵ]jP}9ô,§ÁRdÄÎĆ:nCM-šx8őgÎfâďďď‚Áížţ ‚M/ĐÁmmś"=I‘3BçzpŘĚ›G•ˇrtĘeu7bźŮĆďmáŘ?şt”ĂľCC‡˘‹‚Ď„>¸’ŘB"lH ‰‡ŘĘf^ăź/$Ôľ‰UOřH¤5gŘ/D=€ţwŔ˛Ľ”=¶űQxßbd·XiÍĹĂŢžj­Šâ+óvŁŚŢ˘ľ:¶eĂ/\ÁŤq#‡12˝ZxfßöbÄ• ÷ Śö´SŚ t“«ů’WJĂ}^$hGÂ'U<‚o˘ŮÝT5Ëđ<ńî÷­ľĹIT–k÷/vđ‚÷ŘÄ«n'SaStn*čŞŔövdń#ťzű‘ ›‘˘ O7#UNÖL>¸P÷Ů´{„:ü‘J™JWiH¬!źŹ ďA+}ĺ¨lß“ Ďtć3s 7ç°ć™°ůŐ<Ňť†Ď”*w‰4ź_ŤkpSyO $%H5Aˇů¶0řŚľĐEDÚ] RaN%p3Çax„I4Ҹ©‚Ő6«R‘˛`0đ!vvX…ŕÚťţęŹú2:Ç©ĆâV2ŘT°ľęÁúÖlF|ą›ş'=Ő['>xöX˝uÔQX—eÝYi„™«űőL"=j~[{ý„<6ó’Ă4čůµWç!Ťvi˘O«‡ÂÂUí§IU»k[Đ΋UĆU|¦$xşĘXĚKę¶jSë!}ĄaíX%0ă}×Oµq+BŃe•đN=KpŽÄyŃ°M†· ˝ŠĂÉßµ‡$®Ç'%ýÎ JŢXůđ“ÍsĂżióÜ?•MAE\'*"Źű#$ĹE„ űâń| R\Š# ‡ńv š•Š& N×ÇWĄs0’e¸n- CS–%eĹŻY°mA›—®Z»víúśĺ»ÓŢw¨MD~ ëŞ ‡X¶4^Čc±Ŕ“%ç|öŰXČí4[…^¶ Ý«Ů*´ ¶HŽşíѤ+ßR§+ŰÚŞ·pť:2RÍ×Ę~ĘWg*Źď×»ďDu¦ň‘{Ő ü‹ţ“ĂęýE'öďŰk’zŃCÂţ˘µśĚ#Ać7q3†|“|[[„Ďib–‰ía*U»z>ř šˇ čĚäQ_ĎoůVCĺČř] í•ÖîPý Ü…?ď[)ÄÝ»«Ą^ŮGA®ýęOé’'Ź¨§Ť¤÷Ä%*˝zŰÖn§Ţ°víÂYX‰Ă…mĎÁ:Ř YÚmĺŤ>Ml¨{«z°oĚŰhŕGČ-­Ó}A0ÔĽť@°ű'ęIA"w wýíŰRuöW¦”řeGŮS;ĘDp˘ř7o…­DŮ.wgq0V‚^¨ 5Ş"‡µŠVCvA׾SĆë«Ő«DĘ ęUË-'„ ˇ»‚® …FB€VT;?w ęwĺ=¬©”=„Sa‚~¬Q]fUAi˛^8ŕň÷Őő÷V¶WąłHPÍů¸éî?ŘÜŰčoĄŢ¶oáYeÄ&”éKĐ7,'b FňÍU®x!ďj^—ҬvžţÍŰĂŕşŕńôĚ{vBÇš©˝b\Ô~ 1*ÄS‰­óTÎh<Vš¬vV$Ú´=aîgË-o˘Ńk@—‘­şqř\QÖáĚüĺ'VrÄî3[\li͢ččŘČô±Ó}f¦aEXG؉Ó$řÉÉ»őTľŻŐ¬‘ čťţ…OâltsWă÷2b·ň*ÁńTŤ‘ľ¦Ĺ,üBeĹřŢę&šĘ’~ĺ–0•­Q]–AK_mÖoÔÚäC0)Çrš×$Ę˝2Ô©×˙=¦÷Ćţ˘Ţ4tHǬz˙†;ă†MT<`sKŹď+FE(?n›OvIJcąů˛ônŁťĚgéTňh!Z¸`ˇB-Îj)«•ĺ:«}žH±ŇP3ů[«:ßÎä™.ú0[­ Tzj@Âl'öóđÓęk[ßú˛{G‚{ĂčĎŔ^öšÇ?}iQOŽw@c\5m`oI˙&Ţ’Cw<^íX lÄFF®Ţ§€qÂ…Č·u­Š€đ› `ĹÝdő¦ĺwlÜ{ä"˙ȢEk˛w]w’řä~Ń]˙Őlöĺ,Ę<*–‰&ˇ€ú3˙ęĐą1˙{ťpĺŁôo čă;â“,čĂ1ţ7ér{ 6Äw±!Ü%CÜ€î@Ż;Đî¶ Ś>UNÄ}}W¦sŮ“hßęm;¶l[łBW"8n9ž»ń:ŤLŰ˝9zsČJ‚¶(öŽA»_$űQÎśő©$öÚ’93˛%Šš™–ś2yZâś@ÄuĹSeĐ $»Đşôěi$üÍMÉH‰i‰bgOź:uęäÄ´0$lů—n7Á»±RĄÁúĘlŤŹvç™ŕĄ%Ę>9± áO|łźťďIŕ§ŮköŹ»o[ýťÝ·ks!ľJhţy.Dýç qĘqśdő‹SgËQ::)Ó†űňÇB_ŽŁMŰőŮ Ăi!MxH{+úS`B®&‚W:ŞŻ€‘nÂź7¸##Z–(ŰnÂ!‡/ Vą…wćŰ=ę˙;kŢťřźJđ—ôCâµ?níŇ0µŇţÎĄ†Š‰‚^^»5n"ń>P.Ăĺ5P.´±ôX\Á7€}đ/1ćX< ˙żć®=,Ę2‹3N|ߤh®ă°fŁéVŢ ±V4]M…2µIÄ én-iâČEÍËXʇŠĺ-/ˇ¨(`)Q‚(Š¨yYGL4FÂt$•óďě>űľď÷Í…Ĺžüđ›™÷=—ß9çwÎ9ăgĽńÇĂú#ŘŹëđUS;Z~±źiĄ2ť’ʔʴQ™Ž¶ •iń#Đ춢p§ŔçT‹«g·”xűűy2WOPÉۢ«ďm+„¬ř#€śŢQł€2ŠżŞÉsĄťm1uÜËÉcĐ/˙Vâ±ZđŕČ#ź—Ŕ¦ă[Š,\‚#ýI Ř¨*¨ZCëhîAÁu¨?/čÝ&á-ÝŘAĚŰpŮ@Ov§ň(rěö„"SNąbś2Kř9„źĂ)ŹŢ¦îv Lh.¶qô3±ńxH˙çn*Śű*üô½KżZ–OPőünM‚˛+…’´§.\[p?…Ém›Ę-č3™z›†VŔŐĐ*X?ŞŔŤSÖVŹdŠ¨vQuSĎře(”UĹ{ąÜşĽ¨Ă/ă!˝üpšąHŞ<_ Aqçüä×& öU á>yKQÄéŚ/­#čpŚâoĘ!Áą*í…;ŕ6ş÷NTcwS†ÁNoR¨`˘!J?8‰˘Čń„% (łńĚőĐ?ˇĎT'ҾϷ-·ŁĄc„y‚ŽCb˝p{Nůyy^.‡Ęlr×Tŕ«+Ë+ËĹʲ^Z(â%ő<µ3ë`śm›ďý‰ŤüľĎŁö¨ŇÝTYa ž7ýÉTăŽjhÝ1"VRŔŔ2gó8‰ßĽĹ)1ŤäšĂŰžh(ĎP‰‚D2+ÍęĽ/]‡IĐĄĆ«c´­´:†î¸řI ¤‰ý_ WTľţ7pŤjni}`9óǦ,>•t—|ÂćGüÍŐYsŁh MÖËq‘ÁŽu\€0iŢű3Â> 7;ý2tđn\Ô…x;Ô…< ŻÁq|¨ľ!fgLę’ ażđőĆ};RwěLßKĹg°ý’uĐ]"\K*aIŤĹ;Ş }˝yß$ś/ŕ- Ľ˘—Ü«_ĺmäý9l-8qťo˘Ú4ý Ô? ‹đHň°(PÝ×3|#ÉWŔ'YQÂFżjŐˡČF00„W3Ż#Č;çĚňqú‚r‚ťš@FĚââîŹ4”"Wda†ęĚćď)©éúÄUiöľľLŽBi„3Ť‡ ć^ÇáOÄKĂiîÝ9±î8ÖbyLÓÝ9H#żúV“ż <ͦńö5+<ň đ§ g€Úˇ—(üˇ”"\ěÎě™viGk˘NXR”ŕÝÇÔM,1Ŕ“áIŞŕ6‹|7ŮŠ’ni˙`­;Đ[V6‹Xe°®H»L|ÄeşšHĂfv\ŇHC; ÇS;®h*xe…FgúٱQ¤}1¨ nŃz¨ÁpŹq›`b´Łě‘;’ÉĘľˇZčĘÖ¸\‡ËŞ‘ţqăý->ĺÚW ky±eŮ îĘ[÷±7ČVĺ˛ŐGß6\}tĹÁęŁÜJľ¤ŃÎSé’ ĺ°‰LűŽ¨âWą k\Ěűa^ŃfÁZ+ V©4î,,vŃ›Ëp;"XłKóÎXťŘYpÂkÍ{Ű#łB"ćĎ>>Hť“˝85!cyŠ°EH_łk­TŹkâßěŮwřK5~ˇĺU–ëŞÓş|[klfWžaëuŽeýBƵ%;ł Şi†‘ő®BR:m¨»25MKoŤ93ŮŇZź@Ľ]PÉ·txĹ5 (ěe“,ę߀,it>nŹ^vj¨ ý’Rí6Ž óDµ|ó»(*‰śLPÉ$ʡ°”^_§‹eÄŢĐҤ+ק¬Â=L›±®Ę%“ĆVŤ­!w8‹ĽŔv‹—ޢÁÁ-^©äS[Ć+/6]Zoó–ö‘.ž…eÖQ¬âŽ#ŮśYpä _4ى4g9`JÝ-Ź€öĚ4âé9ÄLř§ $fÇ•,'ú–‡biçsĘ+ŽőíČüč™á3…éŠŔ‚°˛Ťź%%§x­JJNZ›Dt?vŮ’•äJţ™’©Vć ßd<´›*7řĚşËŢ‚t ć=IĄ5ÎmJ*Ĺ˙säCÚ’#‚žô‘5÷eIe%Dđ˘śÝ…}^h¸Eë±Ď8đ…ďš5OIű{fRňŁ¸°€iŔ7Ë~Jĺ×nNŘă˙Ś´ˇŇv=ĄšüˇÝ~ĘŻÝěT*ŐŘŰ›6q®•¬ĚëČę´2ů˝Ěým:jŠ8KĂΤvÁACh.Ý#7đŕ^«ßÁ+Č×Lá¤qzCw¦ŕ;őŁ,coě®*ő†{O„ŢXÍżw|ňÎ×éę zęŐĘŁřµ_1)*Ř}â°—rń;?˘Şs<ÎĹ“T7NĹOŃ?i7~耗޺Fyęg®Ýô˛%#=ţŞáđż†GşţQM­ŇxĎdŰý]źŮ±­¤‹«¸'!äđ›»»nđĄů$AQ+Â.éö| ú“zX™•W#€gĹNč<Ą¦XÇĚ™!›2—ÇëA °ţäŻćUđ0ĐRA.yä<‘’¬§xÂrltĘv“šdKÁ†!Ű©`)rCkJčZJŤe/Ąćq,¦Ô°Í”‡LleŤć"xŞj‚ř•…ŰöHZ•Ô%‹—ôÁTa¸˘'ßáŃ×"3.í›,śvnëÎ5É[ßxÉŠĹ‚"<.u_fjNzšÚşsÓ®R‡ˇQŞ×‹CBŽż»hĹÇ+O㉴0ÇŃÂ\&<.Výy7Uq@~ţřSß}łíđĂÓ¶u<8 ói[_ň® Mnc>Źžž<rČżÇĚŹŹý$FxÚš)cŮłŔESć~¨>7V•}xÇAŻRmD¦G ˝?NA“műţ»@ĎČ@4/÷­p`}Ć—Eot9’/ć3ĐóZđÖÉĘi>-U7cź`Í+ţĺ¦W čŐJ­ČCĄZđ(•ťŐ˵đłjś˙YĽAŠµŻ„•âĂśCö–Ă:8- Ě˙ đ®ĂúÔ7b‚†Ő§˛ĄŤ}}Ęl›úTCJl©5VánŞ0'Ŕ îČŔĂ?ŕťsYĚą¦˙–ÉÉëÍVáŮńŽhĄ—µÇR Ŕ§4ýYJY}%Ö@ęÂÄh!RX`CŔäAĹÔ ¶X ű„\ÜFçăŢäí´˝\˘Y2sŽ“Řn ‰í¦Ň.–8č˙Í[Ř3»j’Ť> *ý¦¶¸u5(™…ĐRÁÄ*X/§Ń5žÇOÜ÷㹬!†3Wt$ú6Çf‹V.^ł”Šú>Í0Ü  Í“Ó”ěQvm+X$8i4Ů7âĂßařyJhm€pdIŔÉŤŢ­~[v*./´¶ű9¬"R4‘8´gčĐHđŔť!@<›¦&ź0ÜoÜt_Á_x{ďż "÷/ÝźxN±Z§ZŠ«ĄÄb(@V6¨ç †Łm‚Ś಼"‰ĽÍ`ý•°N i:™K­•°#•i·ýd𼽄šnëń«ŠDŐBěýÂ_ńsů÷âÝŹÁGa¶ÄäřÍCŞť+®ťUĹRȢ8n6sľĐ“·7^“Ł< űiwЇńľĄK´W[ž"»NÓ(W=đîţ7˙ë¦|Cł2ŞţŤxQŁ'Q—Żtp•~. ˛`Í€B.dŤČwpÜńĆŐ|R`öÜcäöÜQQcôkařYóą&Ç®RáŁÜşşÂó×…ëÂń±ë±ŚžôŇžAcý?!čěŇ{ ˙´§ÖÖCŐY<”ńQ=TťÓ*Íl¤$á˙y˘ŚÉÝ·ĐVé7hĺZO4śŃ*7$dZüĎÚÝ)˛ÓeňS(Jő¶˙iSßfdüÁEí¨C~ĽŤQŁ·Ô’Y+†vďÚ˘ {j§ŠŔRecŢl= KĄËůËfvE_›% Fˇa*(¤3lŕdá;¨ćOţsg°č¨Ä”D–'LCŰÝűqřEÓPÜ %ßÂXÓv÷őąâK/2·6»ĐäKgť)Ęö•Ń“u*éß @>Är˙µÎÜ˙F(‡†-A:7ČĐç$nɆ*•Đçóń)Ss{> $l‰Đžˇî±tĆÁxn3?ˇ9—^vöŕ A+śžs`âî°őaIc+“¤: “°Ëütµ«ĄÓi `ň5˝Ţ3Ëĺ óř‚ů)Ł˝PÍeŤŤ1DЬâeL®.•Žz˛Ě>,>u ĺ•,& IZ,űxĎ,^µN×oŽĎšFŁô´Aol8€Ţ‚kĎů»fĎh¶%µ`nm÷ÉkÔ¶Ó|đŘTîj۲vW“=<®Żóhďćö98Ă® endstream endobj 20 0 obj 22573 endobj 13 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <> endobj 16 0 obj <> endobj 10 0 obj <> endobj 21 0 obj <> endobj 2 0 obj <>endobj xref 0 22 0000000000 65535 f 0000007013 00000 n 0000036506 00000 n 0000006954 00000 n 0000007061 00000 n 0000006794 00000 n 0000000015 00000 n 0000006774 00000 n 0000008589 00000 n 0000008377 00000 n 0000035399 00000 n 0000007364 00000 n 0000007130 00000 n 0000031269 00000 n 0000032300 00000 n 0000033333 00000 n 0000034366 00000 n 0000008251 00000 n 0000008271 00000 n 0000008301 00000 n 0000031247 00000 n 0000036448 00000 n trailer << /Size 22 /Root 1 0 R /Info 2 0 R >> startxref 36556 %%EOF protomol/doc/HGroup/figs/water.pdf0100644027616700000500000000723110237151525016534 0ustar pbrenne1dip%PDF-1.3 %Ç쏢 6 0 obj <> stream xśÝUËnT1 Ýç+Ľ,H5~ıłEBb‡€ůA- fQř‰“tˇ]wU]i2vbßs|ěÜV’őś×ă©=´w_:Ý˙iËVú}ß”~4/ĺadCX*čÔ¬;Ď(2q–YTuěQÜg’MÖ ę˛ütl·–\jIŔ2#OŽ“RY“pš­ĂŽâ!Wă©FĄÁ1ťz §$N.ě@Ę1Î…+"˘:Ź2śě\Ł(t˛•“k˛$Ö§,Žíîíkeö˝}mK?Ů J÷NŽ_ŕ¨ôA©lÚÁRź\Öł|ÉT˛Ř‚Ě•stR1pÚ˘:pR§qaťĹ‰ 0/.Ň…GI­ľŇTvď[Ľ}ć‚«:@$čV@x:jˇ¨={Ňí`„„Ó3[Ľ×IlkÇ–pp&çjÁ@űďhŤQť~µPÇ?´@bÇtŔ[Ř€cWęE2=i«Úe^U2T#‘łTYW]ΞĆľë8VŐ.¦Y1@ŰŐS“ĄÓ%CLşĽâlŰôUkżxfáM˙e¸Ú˙Ţqń<‚¸$8c|Îb7ÖkĄvm­ŇÁMUâvÜO§S°Ę’ż»ěÖČŐ;şôĎĘ}Ç©ĆśÝ[/•ę±ąîŰFbŽÎËńDďř,éöîÚăÇJ1¦<0UTĆfSépj7úćđłć]U)0Í9‚ßÚŤ­ Ă…‹ˇ¦[L!OŕY;ľv0Ö¸“» tn˙Çĺ‡j`€¨‡{ášK…{áN^Câ{ăÓÚřp Ďm=UÚnŤendstream endobj 7 0 obj 586 endobj 5 0 obj <> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <>stream xścd`ab`ddv tńr ŃÉĚM-Ö ĘĎMĚ «ýfü!ĂôC–ů·Íﵿf˙2`•eđ™ËĚ»ŕçOˇďżĺ˙ľO€™‘qăé»Îů•E™é% ˇAášÚÚ:CKKK…¤JŚ‚Kjqfzž‚Q–š“_›šWb­ŕ Tť““™¬žSYQ¬’’šŇ–“š­ŕ–™“YP_¦ á¬©`d``¨ $Ś¬üJsS‹ňu2óŇ2ó2K*óRüsSÓrSRA¸äf–U*dćÁuűeć&•+€=«ŕ—o©ŕŁ”š^š“X„)ĂŔŔŔęďahdĚŔ`Ŕ É Ä Ě ÂŔ :††oŚÖŚ™$ż÷ńýL«]˙ăßzĆîďl?ěľł1˙űÓBôwđo™ß*żcuW ”?ęó$ĺq7Ç÷Čď2߾ǾË{r\Ţç‚ůzínŽt–ťÝ;+×gŚZĄŰý›»; Î­<Ľ©¨Ş¨¤$##®2¬;¶;nnĆŞđťYşż3w\ţfë.ŽMŰö,<ÔÍ´»{Ţ÷=ŰżoÇřřă÷Ă™ż§~˙-ú=Ś˝űň´i7&qĚű˝Ş‚ýFË´†ngŽ?®ěÝćŤő¶mßWÍcwX7ŁűÇ÷¤ď‡‡c“ů€Í”ßaě|?:şg1~|Čü};ȧ¬µěÓ'Lëďďť;iN˙ÔnŽSj˛ĺ˙D˛wg5—T7Ő4Őv$vqÔ|_1‹Ý¦§zj÷nŽoŔ†\˙±č*ă÷™ä—­›T××-ů»™í»Íw—'/6]ďľ)ůŢę†rHxirš\vfMv•Ë‚6‰ÍoׯľĐÍq˙Hąm¬žą‘üo·ß¬ő?¤@¦ţřs\čűŠ[©—Ĺ…|×ý~OôX÷˘ÎĹM N–n r“2ňr,(ź´8M.wnŐ¤ŞnŽ’šÚ˛ŚmĄoÜZşe—ü®-KŹvźëŢW˝+oUůŠéńó8„\صdĂA©;އő#㫲Óĺr j KýgµKlą˛cÍ©nŽ3;â}ŇkŇ‹ŠässókÜ‹9řĘç˙›˙=d>ŰJ®Ü+'óđ<ËĂËŔ…ź† endstream endobj 11 0 obj 836 endobj 12 0 obj <> endobj 13 0 obj <> endobj 10 0 obj <> endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000000909 00000 n 0000003329 00000 n 0000000850 00000 n 0000000957 00000 n 0000000690 00000 n 0000000015 00000 n 0000000671 00000 n 0000001276 00000 n 0000001026 00000 n 0000002279 00000 n 0000002197 00000 n 0000002217 00000 n 0000002247 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R >> startxref 3379 %%EOF protomol/doc/HGroup/.cvsignore0100644027616700000500000000005410237151525015763 0ustar pbrenne1dip*.pdf *.ps *.log *.aux *.dvi *.blg lcls.bib protomol/doc/HGroup/Makefile0100644027616700000500000000035310237151525015425 0ustar pbrenne1dipdefault: hgroup clean hgroup: hgroup.tex hgroup.bbl pdflatex hgroup.tex pdflatex hgroup.tex hgroup.bbl: pdflatex hgroup bibtex hgroup clean: rm -f *.dvi *.aux *.log *.blg *~ realclean: clean rm -f hgroup.pdf hgroup.ps *.bbl protomol/doc/HGroup/hgroup.bbl0100644027616700000500000000567410237151525015765 0ustar pbrenne1dip\begin{thebibliography}{10} \bibitem{BaSc98b} E.~Barth and T.~Schlick. \newblock Extrapolation versus impulse in multiple-timestepping schemes. {II}. {L}inear analysis and applications to {N}ewtonian and {L}angevin dynamics. \newblock {\em J. Chem.\ Phys.}, 109(5):1633--1642, 1998. \bibitem{BiSk93} J.~J. Biesiadecki and R.~D. Skeel. \newblock Dangers of multiple-time-step methods. \newblock {\em J. Comput. Phys.}, 109(2):318--328, 1993. \bibitem{BiSS97} T.~Bishop, R.~D. Skeel, and K.~Schulten. \newblock Difficulties with multiple timestepping and the fast multipole algorithm in molecular dynamics. \newblock {\em J.\ Comp.\ Chem.}, 18(14):1785--1791, 1997. \bibitem{GaSS98b} B.~Garc{\'{\i}}a-Archilla, J.~M. Sanz-Serna, and R.~D. Skeel. \newblock Long-time-step methods for oscillatory differential equations. \newblock {\em SIAM J. Sci.\ Comput.}, 20(3):930--963, 1998. \bibitem{ADOL-C} A.~Griewank, D.~Juedes, and J.~Utke. \newblock {ADOL-C}, a package for the automatic differentiation of algorithms written in {C}/{C\texttt{++}}. \newblock {\em ACM Trans.\ Math.\ Softw.}, 22(2):131--167, 1996. \bibitem{Grub89} H.~Grubm{\"u}ller. \newblock \mbox{D}ynamiksimulation sehr gro\ss er \mbox{Makromolek\"ule} auf einem \mbox{Parallelrechner}. \newblock Master's thesis, \mbox{Physik-Dept. der Tech. Univ. M\"unchen}, Munich, 1989. \bibitem{GHWS91} H.~Grubm{\"u}ller, H.~Heller, A.~Windemuth, and K.~Schulten. \newblock Generalized \mbox{Verlet} algorithm for efficient molecular dynamics simulations with long-range interactions. \newblock {\em Molecular Simulation}, 6:121--142, 1991. \bibitem{IzRS99} J.~A. Izaguirre, S.~Reich, and R.~D. Skeel. \newblock Longer time steps for molecular dynamics. \newblock {\em J.\ Chem.\ Phys.}, 110(19):9853--9864, 1999. \bibitem{MaIz01} T.~Matthey and J.~A. Izaguirre. \newblock Proto{M}ol: A molecular dynamics framework with incremental parallelization. \newblock In {\em Proc. of the Tenth SIAM Conf. on Parallel Processing for Scientific Computing (PP01)}, Proceedings in Applied Mathematics, Philadelphia, Mar. 2001. Society for Industrial and Applied Mathematics. \newblock Manuscript available at \url{http://www.nd.edu/~izaguirr/papers/proto.pdf}. \bibitem{SaCa94} J.~M. San{z-S}erna and M.~P. Calvo. \newblock {\em Numerical {H}amiltonian Problems}. \newblock Chapman and Hall, London, 1994. \bibitem{SkIz98} R.~D. Skeel and J.~A. Izaguirre. \newblock The five femtosecond time step barrier. \newblock In P.~Deuflhard, J.~Hermans, B.~Leimkuhler, A.~Mark, S.~Reich, and R.~D. Skeel, editors, {\em Computational Molecular Dynamics: Challenges, Methods, Ideas}, volume~4 of {\em Lecture Notes in Computational Science and Engineering}, pages 303--318. Springer-Verlag, Berlin Heidelberg New York, Nov. 1998. \bibitem{TuBM92} M.~Tuckerman, B.~J. Berne, and G.~J. Martyna. \newblock Reversible multiple time scale molecular dynamics. \newblock {\em J.\ Chem.\ Phys.}, 97(3):1990--2001, 1992. \end{thebibliography} protomol/doc/HGroup/hgroup.tex0100644027616700000500000005434210237151525016022 0ustar pbrenne1dip\documentclass[11pt]{article} \usepackage{fullpage} \usepackage{graphicx} \usepackage{amsmath} \usepackage{url} \usepackage{times,float} %\usepackage{program} \usepackage{subfigure} %\usepackage{amsfonts} %\usepackage{mathptm} \textheight 50pc \textwidth 38pc \topmargin -3.0pc \oddsidemargin 0pc \evensidemargin -1pc \marginparsep -1pc \marginparwidth 0pc \floatstyle{boxed} \newfloat{algorithm}{thp}{loa} \floatname{algorithm}{Algorithm} \newcommand{\comment}[1]{\textit{\small {#1}}} \newcommand{\cpp}{C\texttt{++}\ } \newcommand{\tcl}{\textsc{Tcl\ }} \newcommand{\ProtoMol}{\textsc{ProtoMol}} \newcommand{\SamdII}{\textsc{Samd 2\ }} \newcommand{\MOLLY}{\textsc{MOLLY\ }} %\newcommand{\eqref}{\ref} \newcommand{\tempstart}{\texttt{<}} \newcommand{\tempend}{\texttt{>}} \newcommand{\rij}{\mbox{r$_{ij}$}} \newcommand{\rik}{\mbox{r$_{ik}$}} \newcommand{\vrij}{\mbox{$\vec{r}_{ij}$}} \newcommand{\Si}[1]{\mbox{Si$_{#1}$}} \newcommand{\Vr}[1]{\mbox{$\vec{r}_{#1}$}} \newcommand{\Vx}[1]{\mbox{$\vec{x}_{#1}$}} \newcommand{\Vv}[1]{\mbox{$\vec{v}_{#1}$}} \newcommand{\hatr}[1]{\mbox{$\hat{{r}_{#1}}$}} \newcommand{\hatv}[1]{\mbox{$\hat{{v}_{#1}}$}} \newcommand{\AbsVr}[1]{\mbox{$\left| \vec{r}_{#1} \right| $}} \newcommand{\AbsVv}[1]{\mbox{$\left| \vec{v}_{#1} \right| $}} \begin{document} \thispagestyle{empty} \title{ \begin{Large} Hydrogen Group Decoupling For \MOLLY Integrators \end{Large} } \author{Qun Ma \& Jes\'us Izaguirre} \bigskip \date{\today} \maketitle \parskip 0.3cm %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Introduction to multiple time stepping (MTS) integrators} \subsection{Verlet-I/r-RESPA integrators} Molecular dynamics for a classical unconstrained simulation requires the solution of Newton's equations of motion: \begin{equation} M\frac{\displaystyle {\mathrm d}^2}{\displaystyle {\mathrm d}t^2}{X}(t) = -\nabla U(X(t)) \label{eq:newton} \end{equation} where $M$ is a diagonal matrix of atomic masses, $x=X(t)$ are the atomic trajectories, and the potential field $U$ is typically given by \begin{eqnarray} U &= &U^{\mathrm{bnd}}+U^{\mathrm{nonbnd}}, \\ U^{\mathrm{bnd}} & = &U^{\mathrm {bond}}+U^{\mathrm {angle}}+U^{\mathrm{dihedral}}+U^{\mathrm{improper}}, \\ U^{\mathrm{nonbnd}} & = &U^{\mathrm{Lennard-Jones}}+U^{\mathrm{electrostatic}}. \label{eq:potential} \end{eqnarray} The Verlet-I/r-RESPA multiple time stepping impulse method splits the force into different components whose dynamics correspond to different time scales, which are then represented as appropriately weighted impulses (with weights determined by consistency). The impulse method is \begin{equation} M\frac{\mathrm{d^{2}}}{\mathrm{d}t\mathrm{^{2}}}X=-\sum_{n^{\prime}=-\infty}^{\infty }\delta t\ \mbox{\boldmath$\delta$}(t-n^{\prime}\Delta t)\nabla U^{\mathrm{fast} }(X)-\sum_{n=-\infty}^{\infty}\Delta t\ \mbox{\boldmath$\delta$}(t-n\Delta t)\nabla U^{\mathrm{slow}}(X) \label{eq:mts000} \end{equation} where the partitioning of{ }$U$\/\ into{ }$U^{\mathrm{fast}}$\/{\ }and{ }$U^{\mathrm{slow}}$\/{\ }is chosen so that an appropriate time step $\Delta t$\/ for the slow part of the force is larger than a time step{ }$\delta t$ for the fast part. Verlet-I/r-RESPA was proposed but not implemented by the authors of~\cite{Grub89} and~\cite{GHWS91} and independently discovered by the authors of~\cite{TuBM92}, who also demonstrated its usefulness. It permits an increase to 4\thinspace fs in the length of the longest time step $\Delta t.$ When the method was introduced, it was predicted that there would occur resonances that might induce instability if the frequency of the slow force impulse coincides with a normal mode frequency of the system \cite{GHWS91,BiSk93}. Resonance produces an oscillation in the positions whose amplitude increases with time. More surprisingly, there is also a problem for long time steps just smaller than half the period of the fastest normal mode \cite{GaSS98b,BaSc98b}. There is also empirical evidence that time steps of 5\thinspace fs or greater are not possible with this method \cite{BiSS97}. \subsection{\MOLLY integrators} \MOLLY is a family of integrators~\cite{GaSS98b} that counteracts the instabilities present in the multiple time stepping Verlet-I/r-RESPA integrator. This is accomplished by perturbing the potential using time averaged positions \begin{equation} U^{{\rm slow}}(x)\rightarrow U^{{\rm slow}}({\mathcal{A}}(x)), \end{equation} with the force defined as a gradient of this averaged potential, \begin{equation} -\nabla U^{{\rm slow}}(x)\rightarrow -{\mathcal A}_{x}(x)^{{\rm T}}\nabla U^{ {\rm slow}}({\mathcal A}(x)). \end{equation} This perturbation is supposed to compensate for finite $\Delta t$ artifacts. Perturbing the potential rather than the force ensures that the numerical integrator is symplectic \cite{SaCa94}. The force used by \MOLLY is the gradient of the perturbed potential \cite{IzRS99}. \MOLLY can be seen as a filter that eliminates components of the slow force impulse in the directions of the fast forces, and thus improves the stability of Verlet-I/r-RESPA. Different averaging functions give rise to \MOLLY integrators with different stability and accuracy properties. For instance, an averaging based on spectral methods allows very precise filtering, but due to the diagonalizing of a Hessian, is computationally expensive. Reference \cite{GaSS98b} suggests using an averaging function ${\mathcal A}(x)$ that takes into account the motion induced by some of the fast forces (those that are the gradient of a simpler energy, $U^{{\rm fastest}}).$ This reduced system is then integrated over a short time span (typically for an interval of order $\Delta t$) using weight functions with local support in time (e.g. B-splines). The main computational expense of these B-spline averagings is the computation of force Hessian-vector products (needed to generate the filter ${\mathcal A} _{x}(x)).$ These averagings overcome the 5\thinspace fs barrier and their effectiveness is related to the extensiveness of the time averaging \cite {SkIz98}. \subsection{B-spline averagings\label{se:b-spline}} It is possible to use time averagings that consist of numerically integrating an auxiliary, reduced problem: \begin{equation} \mathcal{A}(x)=\frac{1}{\Delta t}\int_{0}^{\infty}\phi\left( \frac{t}{\Delta t}\right) \tilde{X}(t)dt \label{eq:weightave} \end{equation} where $\phi\left( \frac{t}{\Delta t}\right) $ \index{01w0phifun@$\phi(s)\mathcal{\qquad}$\ Weight function of compact support} is a weight function, and $\tilde{X}(t)$ \index{02X2XTILDE@$\tilde{X}\mathcal{\qquad}$\ Positions for auxiliary problem} solves an \emph{auxiliary} problem \begin{equation} M\frac{\mathrm{d}^{2}}{\mathrm{d}t^{2}}\tilde{X}=F^{\mathrm{reduced}} (\tilde{X}),\quad\tilde{X}(0)=x,\quad\frac{\mathrm{d}}{\mathrm{d}t}\tilde {X}(0)=0. \label{eq:reducedflow} \end{equation} This approach is computationally feasible if the weight functions $\phi$ have compact support in time. The paper~\cite{GaSS98b} suggests using B-spline weight functions, which are non-zero over a short interval. The effectiveness of the averagings induced by these weight functions is directly related to the extensiveness of the time averaging. Several B-spline weight functions that were tested are shown next: \begin{description} \item \textbf{ShortAverage} \begin{equation} \phi(s) = \begin{cases} 0, & \quad s < 0, \\ 2, & \quad 0 \leq s < \frac{1}{2},\\ 1, & \quad s = \frac{1}{2}, \\ 0, & \quad s > \frac{1}{2}. \end{cases} \label{eq:bspline00} \end{equation} \item \textbf{LongAverage} \begin{equation} \phi(s) = \begin{cases} 0, & \quad s < 0, \\ 1, & \quad 0 \leq s < 1, \\ \frac{1}{2},& \quad s = 1,\\ 0, & \quad s > 1. \end{cases} \label{eq:bspline0} \end{equation} \item \textbf{LongLinearAverage} \begin{equation} \phi(s) = \begin{cases} 0, & \quad s < 0, \\ 1 - \frac{1}{2} s, & \quad 0\leq s\leq2,\\ 0, & \quad s > 2. \end{cases} \label{eq:bspline1} \end{equation} \item \textbf{LongQuadraticAverage} \begin{equation} \phi(s) = \begin{cases} 0, & \quad s < 0, \\ \frac{1}{4}(3-s^{2}), & \quad 0 \leq s < 1,\\ \frac{1}{8}(3-s)^{2}, & \quad 1 \leq s \leq 3,\\ 0, & \quad s > 3. \end{cases} \label{eq:bspline2} \end{equation} \end{description} The last three are plotted in Fig.~\ref{fig:bspline}. \begin{figure}[ptb] \begin{center} \includegraphics[ height=3in %height=5.5037in, %width=6.1367in ] {figs/bspline.pdf} \caption{Weight vs. $t/\Delta t$ for first three B-spline filters.} \label{fig:bspline} \end{center} \end{figure} %In the frequency domain, using more extensive averagings is equivalent to %using higher powers of sinusoidal filters. %This can be seen by applying %standard Fourier transforms to Eqs.~\eqref{eq:bspline00}--\eqref{eq:bspline2} %(see tables in~\cite[pp.~18,19]{EMOT54}), for which the formulas become: %\begin{description} %\item \textbf{ShortAverage} %\begin{equation} %\Phi\left( \omega\right) =\frac{\sin\frac{\Delta t}{2}\omega}{\frac{\Delta %t}{2}\omega}. \label{eq:freq00} %\end{equation} %\item \textbf{LongAverage} %\begin{equation} %\Phi\left( \omega\right) =\frac{\sin\Delta t\omega}{\Delta t\omega}. %\label{eq:freq0} %\end{equation} %\item \textbf{LongLinearAverage} %\begin{equation} %\Phi\left( \omega\right) =\left( \frac{\sin\Delta t\omega}{\Delta t\omega %}\right) ^{2}. \label{eq:freq1} %\end{equation} %\item \textbf{LongQuadraticAverage} %\begin{equation} %\Phi\left( \omega\right) =\left( \frac{\sin\Delta t\omega}{\Delta t\omega %}\right) ^{3}. \label{eq:freq2} %\end{equation} %\end{description} %\begin{figure}[ptb] %\begin{center} %\includegraphics[ %height=3in %height=5.6066in, %width=6.0226in %] %{figs/mollyfilter.pdf} %\caption{Effect of higher powers of a simple sinusoidal filter on high %5 frequencies. These filters are Fourier transforms of the B-spline averagings %used by MOLLY. Higher powers damp high frequencies more effectively, and %correspond to more extensive time averagings.} %\label{fig:frequencymolly} %\end{center} %\end{figure} In the frequency domain, using more extensive averagings is equivalent to using higher powers of sinusoidal filters. Higher powers of such simple filters are better because the high frequencies of $F^{\mathrm{slow}}$ are more effectively damped. %(cf. Figure~\ref{fig:frequencymolly}). Interestingly, the accuracy of B-spline MOLLY is not reduced by increasing the strength of $F^{\mathrm{reduced}}$ whereas that of Verlet-I/r-RESPA is (for the latter the error term is increased from $O(\Delta t^{2})$ to $O(\Delta t)$ for faster $F^{\mathrm{reduced}}).$ The previous implementation of B-spline \MOLLY integrators uses Hessian matrices (required for the mollification of the slow force impulse) generated by automatic differentiation tools for C++ developed at Argonne National Labs~\cite{ADOL-C}. Although it is quite beneficial to use this tool to do these computations in the proof-of-concept stage, it can not be used to large systems because of efficiency. As a result, in order to make B-Spline \MOLLY integrator part of our production code, \ProtoMol, we have to compute the Hessian matrices directly. Fortunately, we already had derived and verified the analytical expressions of the Hessian matrices \cite{MaIz01}. The coding of $\mathcal{A} (x)$ and $\mathcal{A}_{x}(x),$ now, can be done by hand in a systematic manner. First the calculation of $\mathcal{A}(x)$ is coded, and then this is differentiated applying the chain rule with respect to each of the components of $x$ to yield code for $\mathcal{A}_{x}(x)$. As an example suppose that the leapfrog method with time step $\delta t$ is coded for the calculation of $\mathcal{A}(x)$. This is then differentiated to obtain $\mathcal{A}_{x}(x)$. The result is the following code for calculating $\mathcal{A}(x)$ and $\mathcal{A}_{x}(x)$: Initialization is given by \begin{equation} \begin{array} [c]{cc} X:=x, & X_{x}:=I,\\ P:=0, & P_{x}:=0,\\ B:=0, & B_{x}:=0, \end{array} \end{equation} and step by step integration by \begin{equation} \begin{array} [c]{ll} P:=P+\frac{1}{2}\delta tF^{\mathrm{reduced}}(X), & P_{x}:=P_{x}+\frac{1} {2}\delta tF_{x}^{\mathrm{reduced}}(X)X_{x},\\ B:=B+\frac{1}{2}\delta tX, & B_{x}:=B_{x}+\frac{1}{2}\delta tX_{x},\\ X:=X+\delta tM^{-1}P, & X_{x}:=X_{x}+\delta tM^{-1}P_{x},\\ B:=B+\frac{1}{2}\delta tX, & B_{x}:=B_{x}+\frac{1}{2}\delta tX_{x},\\ P:=P+\frac{1}{2}\delta tF^{\mathrm{reduced}}(X), & P_{x}:=P_{x}+\frac{1} {2}\delta tF_{x}^{\mathrm{reduced}}(X)X_{x}. \end{array} \end{equation} The value $(1/\Delta t)B$ is used for $\mathcal{A}(x)$ and $(1/\Delta t)B_{x}$ for $\mathcal{A}_{x}(x)$. We continue the above integration until we reach a value of $t$ such that $\phi(t/\Delta t)$ is zero at this value and remains zero for larger values of $t.$ For example, for ShortAverage this means getting the value $B(\frac{\Delta t}{2} + \delta t)$ because $\phi(t/\Delta t)$ vanishes only for $t>\frac{1}{2}.$ Equivalently, for the purpose of programming, we can define $\phi(\frac{1}{2})$ to be $1$ rather than $\frac{1}{2}$ and stop at $t = \frac{\Delta t}{2}.$ In practice, one would like to choose $\delta t = \frac{\Delta t}{2}.$ If such is the case, and if ShortAverage is used, then one gets a handy equation for computing $\mathcal{A}_{x}(x):$ \begin{equation} \label{eqn:ax} \mathcal{A}_{x}(x) = I + \frac{1}{16} \Delta t^2 M^{-1} F_x(x) \end{equation} where $F_x = - U^\mathrm{reduced}_{xx}(x).$ \section{Expriments on water systems using B-spline MOLLY integrator} Water systems are easy to experiment with since all the water molecules are separate from each other. Figure \ref{fig:water} shows one water molecule. \begin{figure}[hbt] \centerline{\includegraphics[width=2.0in]{figs/water.pdf}} \caption{Ball stick representation of a water molecule} \label{fig:water} \end{figure} In order to mollify the slow force impulses acted on each atom, and if only bond and angle energies are included in the reduced system, we have to assemble the bond Hessians and angle Hessian to form a complete Hessian for one single molecule. Suppose the Hessian matrices of bond energy for atoms $1$ and $2$, and $1$ and $3$, {\it i.e.,} $H^{\mathrm{bd12}}$ and $H^{\mathrm{bd13}}$, and the angle Hessian matrix for atoms $1$ $2$ and $3$, {\it i.e.,} $H^{\mathrm{a123}}$ are given as follows: \begin{eqnarray} H^{\mathrm{bd12}} &=& \left[ \begin{tabular} {cc} $H^{\mathrm{bd12}}_{11}$ & $H^{\mathrm{bd12}}_{12}$ \\ $H^{\mathrm{bd12}}_{21}$ & $H^{\mathrm{bd12}}_{22}$ \end{tabular} \right]\\ H^{\mathrm{bd13}} &=& \left[ \begin{tabular} {cc} $H^{\mathrm{bd13}}_{11}$ & $H^{\mathrm{bd13}}_{12}$ \\ $H^{\mathrm{bd13}}_{21}$ & $H^{\mathrm{bd13}}_{22}$ \end{tabular} \right] \\ H^{\mathrm{a123}} &=& \left[ \begin{tabular} {ccc} $H^{\mathrm{a123}}_{11}$ & $H^{\mathrm{a123}}_{12}$ & $H^{\mathrm{a123}}_{13}$ \\ $H^{\mathrm{a123}}_{21}$ & $H^{\mathrm{a123}}_{22}$ & $H^{\mathrm{a123}}_{23}$ \\ $H^{\mathrm{a123}}_{31}$ & $H^{\mathrm{a123}}_{32}$ & $H^{\mathrm{a123}}_{33}$ \end{tabular} \right]. \end{eqnarray} Then the assembled Hessian matrix for this whole molecule is as follows: \begin{equation} H^{\mathrm{total}} = \left[ \begin{tabular} {ccc} $H^{\mathrm{a123}}_{11}+H^{\mathrm{bd12}}_{11}+ H^{\mathrm{bd13}}_{11}$ & $H^{\mathrm{a123}}_{12}+H^{\mathrm{bd12}}_{12}$ & $H^{\mathrm{a123}}_{13}+H^{\mathrm{bd13}}_{12}$ \\ $H^{\mathrm{a123}}_{21}+H^{\mathrm{bd12}}_{21}$ & $H^{\mathrm{a123}}_{22}+H^{\mathrm{bd12}}_{22}$ & $H^{\mathrm{a123}}_{23}$ \\ $H^{\mathrm{a123}}_{31}+H^{\mathrm{bd13}}_{21}$ & $H^{\mathrm{a123}}_{32}$ & $H^{\mathrm{a123}}_{33}+H^{\mathrm{bd13}}_{22}$ \end{tabular} \right]. \end{equation} Substitute $F_x(x)$ in Equation~(\ref{eqn:ax}) with $-H^{\mathrm{total}},$ one gets the the filter $\mathcal{A}_{x}(x).$ Figure \ref{fig:water_benchmark} shows the percent relative variation in energy $\Delta E (\mathrm{kcal}\, \mathrm{mol}^{-1}\, \mathrm{K}^{-1})$ vs $\Delta t (\mathrm{fs})$ using ShortAverage B-spline \MOLLY integrator. \begin{figure}[hbt] %\centerline{\includegraphics[width=20.in]{figs/water.pdf}} \caption{Water benchmark results.} \label{fig:water_benchmark} \end{figure} \section{Hydrogen group decoupling for biomolecules} The early efforts in B-spline \MOLLY integrators, however, were mainly on water systems. In order to extend the use of this kind of integrators to biomolecular systems, {\it e.g.} proteins and DNAs, we need to do some extra work, namely, reordering of the lists for bonds and angles to form hydrogen groups (HG) so that we could perform mollification correctly. A hydrogen group is a group of hydrogen atoms and a heavy atom (be it an oxygen, carbon, or sulfur) bonded together by linear bonds, angular bonds, dihedral and improper bonds. When we have this data structure and correct ordering, we can then mollify the force acted on one atom completely in one step. Hydrogen group decoupling (HGD), although it is a somewhat {\it ad hoc} approach, helps to capture the most important destablizing factors in MTS integrators since the natural frequency of the hydrogen-heavy atom interaction is highest amongst other natural frequencies in the simulated system. HGD greatly simplifies mollification process which now can be done relatively efficiently. The counterpart of this technique is to include all possible fast interactions among all atoms and thus to have a completely general sparse mollification matrix, $\mathcal{A}_{x}(x).$ The tradeoff between these two approaches is apparently efficiency and accuracy. We will see if HGD is accurate enough with more experiments. \subsection{The algorithms for hydrogen group decoupling} Figure \ref{fig:met} shows the structure of an amino acid, Methionine, in which the HGs are circled with dotted lines. Let's assume that the atoms were numbered as shown in the figure in the input file. Our goal is to sort the bond pairs and angle triplets to get HGs of $(1,2,3)$, $(4,6,7)$,$(8,9,10,11)$ and thus get a sorted bond list and a sorted angle list. \begin{figure}[hbt] \centering \subfigure[Original numbering]{ \label{fig:met} \includegraphics[width=200pt]{figs/met.pdf}} \subfigure[Modified numbering]{ \label{fig:met2} \includegraphics[width=200pt]{figs/met2.pdf}} \caption{Ball stick representation of Methionine with original and modified numbering schemes} \end{figure} The following algorithms describes a how to get the HGs and sort the bonds and angles. \begin{enumerate} \label{HACF} \item Heavy-Atom-Come-First: All heavy atoms should be numbered smaller than all the hydrogen atoms bonded to them. Even better if a HG is completed before another HG. This makes a HG contiguous in memory. A re-numbered system is shown in Figure \ref{fig:met2} in which atoms $8$ and $9$ are swapped. Remember that all the attributes associated with these swapped atoms should also swap. For any system, this re-numbering procedure would only take place in the beginning of simulation and done in Front-End. Question: What about IMD? One idea is to keep permutation vector in the beginning. \begin{algorithm} \caption{ Heavy-Atom-Come-First.} \begin{verbatim} begin: read in PDB file of biomolecules for each atom if the atom is not hydrogen put the atom in a queue for each heavy atom in the queue for each atom connected to the heavy atom if its number is bigger than that of the heavy atom renumber the heavy atom and the hydrogen atom such that the heavy atom number is smaller than all other hydrogen atoms end: \end{verbatim} \end{algorithm} \item Sort-Bonds: Go through all bonds and ensure that smaller numbers appear before bigger ones. First compare numbers in each bond, swap the numbers if bigger one comes before smaller one. After this, sort the list according to first numbers in each pair. \begin{verbatim} 2 -- 1 1 -- 2 1 -- 2 1 -- 3 1 -- 3 1 -- 3 6 -- 4 4 -- 6 1 -- 4 1 -- 4 1 -- 4 4 -- 6 4 -- 7 ===> 4 -- 7 ===> 4 -- 7 4 -- 5 4 -- 5 4 -- 5 5 -- 8 5 -- 8 5 -- 8 9 -- 8 8 -- 9 8 -- 9 11 -- 8 8 -- 11 8 -- 11 8 -- 10 8 -- 10 8 -- 10 \end{verbatim} \item Heavy-Atom-List (HAL): Go through all atoms, if $atom.name!='H*'$, then push back to HAL. HAL should have members of heavy atom number, and the number of bonds associated with this heavy atom. As a result of this step, the HAL will be as follows: \begin{verbatim} number size 1 0 4 0 5 0 8 0 \end{verbatim} \item Bonds-to-Hydrogen: Go through HAL. For each heavy atom, find all bonds in which it is involved. If the other atom is a hydrogen, push back Bonds-To-Hydrogen, and increment size. As a result, the HAL changes to the following: \begin{verbatim} number size 1 2 4 2 5 0 8 3 \end{verbatim} And the sorted bonds-to-hydrogen is as follows: \begin{verbatim} 1 -- 2 1 -- 3 4 -- 6 4 -- 7 8 -- 9 8 -- 11 8 -- 10 \end{verbatim} \item Remove-Non-HG-Angles: Go through angles, remove non-HG angles so that only HG angles are left. \item Sort-Angles: Go through angles, ensure that smallest atom number appear first. The above two steps are shown as follows: \begin{verbatim} 2 - 1 - 3 2 - 1 - 3 1 - 2 - 3 1 - 4 - 6 6 - 4 - 7 4 - 6 - 7 6 - 4 - 1 ===> 8 - 9 - 10 ===> 8 - 9 - 10 1 - 4 - 5 9 - 8 - 11 8 - 9 - 11 6 - 4 - 7 10 - 8 - 11 8 - 10 - 11 6 - 4 - 5 7 - 4 - 5 5 - 8 - 10 5 - 8 - 11 5 - 9 - 8 4 - 5 - 8 8 - 9 - 10 9 - 8 - 11 10 - 8 - 11 \end{verbatim} \end{enumerate} \subsection{Challenges of including H-bonds in mollification process} When only localized interactions are considered in the mollification process for B-spline integrator, HGD most likely is going to work well. What if H-bond is to be considered in the mollification process, {\it i.e.,} taking into account H-bond interaction when $\mathcal{A}(x)$ is computed? Since H-bond is not localized interaction that often times forms and disappears in a non-predictable manner, we will not be able to compute $\mathcal{A}_{x}(x)$ as easy as we do before. How to maintain a list of active H-bonds, and how to compute $\mathcal{A}_{x}(x)$ remain open questions. \bibliographystyle{abbrv} \bibliography{lcls} \end{document} protomol/doc/IntegratorDefinitionLanguage/0040755027616700000500000000000010237151525020356 5ustar pbrenne1dipprotomol/doc/IntegratorDefinitionLanguage/.cvsignore0100644027616700000500000000005410237151525022352 0ustar pbrenne1dip*.pdf *.ps *.log *.aux *.dvi *.blg lcls.bib protomol/doc/IntegratorDefinitionLanguage/Makefile0100644027616700000500000000043510237151525022015 0ustar pbrenne1dipdefault: idl clean idl: integratorDefinitionLanguage.tex pdflatex integratorDefinitionLanguage.tex pdflatex integratorDefinitionLanguage.tex clean: rm -f *.dvi *.aux *.log *.blg *~ realclean: clean rm -f integratorDefinitionLanguage.pdf integratorDefinitionLanguage.ps *.bbl protomol/doc/IntegratorDefinitionLanguage/integratorDefinitionLanguage.tex0100644027616700000500000001740210237151525026734 0ustar pbrenne1dip\documentclass{article} % IntegratorGeneration.tex % % Written by: Branden J. Moore (bmoore@nd.edu) % % Describes the format of the Integrator section of a configuation % file for ProtoMol. % \title{Integrator and Force Declarations for ProtoMol} \author{Branden J. Moore\\bmoore@nd.edu} \begin{document} \maketitle %\tableofcontents \section{Info} First, a couple of notes: \begin{itemize} \item Whitespace (including newlines) is a delimiter, but it is grouped, so any amount of whitespace is treated as 1 delimiter. \item The file is not order-specific; the definition of the integration scheme (\texttt{Integrator \{ ... \}}) may be at the beginning, middle or at the end of the file. Force options are not order-specific. \item The order of the integrators does not matter, neither does the options (cycle-length, temperature, etc). The order of the forces does not matter, as long as they are after the integrator options. Forces may separated by comma instead of \texttt{force}. \item We recommend the order for the integrators such that the first listed is the outermost MTS, and the last one is the innermost STS integrators \end{itemize} \section{N-level MTS Integrator} Integrator $\{$\\ \verb| |level \textbf{N-1 integrator\_name} $\{$ \# MTS \\ \verb| |\verb| |cyclelength \textbf{value}\\ \verb| |\verb| |... \# other integrator options\\ \verb| |\verb| |force \textbf{forcename} \emph{forceoptions}\\ \verb| |\verb| |\verb| |$\vdots$\\ \verb| |\verb| |force \textbf{forcename} \emph{forceoptions}\\ \verb| |$\}$ \\ \verb| |level \textbf{N-2} \textbf{integrator\_name} $\{$ \# MTS \\ \verb| |\verb| |cyclelength \textbf{value}\\ \verb| |\verb| |... \# other integrator options\\ \verb| |\verb| |\verb| |$\vdots$\\ \verb| |\verb| |force \textbf{forcename} \emph{forceoptions}\\ \verb| |$\}$ \\ \verb| |\verb| |$\vdots$\\ \verb| |level \textbf{0} \textbf{integrator\_name} $\{$ \# STS \\ \verb| |\verb| |timestep \textbf{value}\\ \verb| |\verb| |... \# other integrator options\\ \verb| |\verb| |\verb| |$\vdots$\\ \verb| |\verb| |force \textbf{forcename} \emph{forceoptions}\\ \verb| |$\}$ \\ $\}$ \section{Integrators} In order to get the most recent support of integrator just type \texttt{protomol -i}: \begin{itemize} \item \textbf{BBK} -- STS Integrator\\ Variables: timestep, temperature, gamma, seed \item \textbf{BSplineMOLLY} -- MTS Integrator\\ Variables: cyclelength, BSplineType, mollyStepsize \item \textbf{DihedralHMC} -- MTS Integrator\\ Variables: cyclelength, temperature, randomCycLen, dihedralsSet, dhmcDiSetFile, anglesSet, dhmcAnSetFile \item \textbf{DihedralLiftMC} -- MTS Integrator\\ Variables: cyclelength, randomCycLen, temperature \item \textbf{DMDLeapfrog} -- STS Integrator\\ Variables: timestep, iterations, gamma, temperature, seed \item \textbf{EquilibriumMOLLY} -- MTS Integrator\\ Variables: cyclelength \item \textbf{HybridMC} -- MTS Integrator\\ Variables: cyclelength, randomCycLen, temperature \item \textbf{Impulse} -- MTS Integrator\\ Variables: cyclelength \item \textbf{LangevinImpulse} -- STS Integrator\\ Variables: timestep, temperature, gamma, seed \item \textbf{Leapfrog} -- STS Integrator\\ Variables: timestep \item \textbf{NoseNVTLeapfrog} -- STS Integrator\\ Variables: timestep, temperature, thermal, bathPos \item \textbf{NPTVerlet} -- STS Integrator\\ Variables: timestep, temperature, pressure, omegaTo, omegaTv, tauP \item \textbf{PaulTrap} -- STS Integrator\\ Variables: timestep, temperature, thermal, bathPos, bathVel, scheme, part, time, t \item \textbf{PLeapfrog} -- STS Integrator\\ Variables: timestep \item \textbf{ShadowHMC} -- MTS Integrator\\ Variables: cyclelength, randomCycLen, temperature, order, c \item \textbf{Umbrella} -- MTS Integrator\\ Variables: cyclelength \item \textbf{Alias} HBondMOLLY : BSplineMOLLY \end{itemize} \section{Forces} In order to get the most recent support of force just type \texttt{protomol -f}. The force definitions are shown in the exact and complete form. Thus, some parameters (keywords) may appear multiple times, but they are assigned to different properties (,e.g., C1 switching function and cutoff algorithm). For most cases one uses the same value for the same parameters (keywords), thus one need only to define the value once. \begin{itemize} \item \textbf{Angle} \item \textbf{Bond} \item \textbf{Dihedral} \item \textbf{HarmDihedral} \item \textbf{Imporper} \end{itemize} \begin{itemize} \item \textbf{Coulomb} \item \textbf{LennardJones} \end{itemize} \begin{itemize} \item \textbf{CoulombEwaldRealTable} \item \textbf{CoulombEwaldReal} \item \textbf{CoulombMultiGridDirectTable} \item \textbf{CoulombMultiGridDirect} \end{itemize} \begin{itemize} \item \textbf{ElectricField} \item \textbf{ExternalGravitation} \item \textbf{ExternalMagneticField} \item \textbf{Friction} \item \textbf{GBSolventFreeNotSameMol} \item \textbf{Gravitation} \item \textbf{Haptic} \item \textbf{MagneticDipole} \item \textbf{PaulTrap} \item \textbf{Spherical} \end{itemize} \begin{itemize} \item \textbf{MollyAngle} \item \textbf{MollyBond} \item \textbf{MollyCoulomb} \item \textbf{MollyLennardJonesCoulomb} \item \textbf{MollyLennardJones} \end{itemize} \begin{itemize} \item \textbf{Alias}\\ \textbf{CoulombEwald} : Coulomb -algorithm FullEwald -real -reciprocal -correction\\ \textbf{CoulombPME} : Coulomb -algorithm PMEwald -real -reciprocal -correction -interpolation BSpline \end{itemize} \subsection{Most Important Force Options and Parameters} The \label{forceopts} \begin{itemize} \item -algorithm ( FullEwald $\|$ MultiGrid $\|$ NonbondedSimpleFull $\|$ NonbondedFull $\|$ NonbondedCutoff $\|$ PMEwald ) \item -SwitchingFunction ( [Complement]C1 $\|$ [Complement]C2 $\|$ [Complement]Cutoff $\|$ [Complement]Range $\|$ [Complement]Shift $\|$ Universal ) \item -cutoff ( \emph{Real} ) \item -blocksize ( \emph{Integer} ) \end{itemize} \subsubsection*{Notes} \begin{enumerate} \item \emph{-algorithm} defines how the force and energy contributions are computed. \item \emph{-switchingFunction} defines how the potential is modified for pair-wise interactions, typically non-bonded forces. \item \emph{-blocksize} optional, defines the block size of the sub matrices for direct methods, i.e., NonbondedSimpleFull, NonbondedFull. \item \emph{-cutoff} defines the truncation radius of the force algorithm and also the cutoff radius of the applied switching function. For some cases one may have different cutoff's, which means one have to give a complete and exact force parameter definition like is shown by \texttt{protomol -f}. \end{enumerate} \newpage \appendix \section{Examples} \subsection{2 level MTS} \begin{verbatim} Integrator { level 1 HybridMC { temperature 500 cyclelength 630 } level 0 Leapfrog { timestep 1.0 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedSimpleFull } } \end{verbatim} \end{document}protomol/doc/MultiGrid/0040755027616700000500000000000010237151525014463 5ustar pbrenne1dipprotomol/doc/MultiGrid/.cvsignore0100644027616700000500000000005410237151525016457 0ustar pbrenne1dip*.pdf *.ps *.log *.aux *.dvi *.blg lcls.bib protomol/doc/MultiGrid/Makefile0100644027616700000500000000031210237151525016114 0ustar pbrenne1dipdefault: multigrid clean multigrid: multiGrid.tex pdflatex multiGrid.tex pdflatex multiGrid.tex clean: rm -f *.dvi *.aux *.log *.blg *~ realclean: clean rm -f multiGrid.pdf multiGrid.ps *.bbl protomol/doc/MultiGrid/levels_nbc.fig0100644027616700000500000001035610237151525017270 0ustar pbrenne1dip#FIG 3.2 Landscape Center Metric Letter 100.00 Single -2 1200 2 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 1350 1350 90 90 1350 1350 1440 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 3150 1350 90 90 3150 1350 3240 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 4950 1350 90 90 4950 1350 5040 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 6750 1350 90 90 6750 1350 6840 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 4950 2700 90 90 4950 2700 5040 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 5850 2700 90 90 5850 2700 5940 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 6750 2700 90 90 6750 2700 6840 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 4050 2700 90 90 4050 2700 4140 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 3150 2700 90 90 3150 2700 3240 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 5130 4050 90 90 5130 4050 5220 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 5805 4050 90 90 5805 4050 5895 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 8545 1340 90 90 8545 1340 8635 1340 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 4545 4050 90 90 4545 4050 4635 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 2250 1350 90 90 2250 1350 2340 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 4050 1350 90 90 4050 1350 4140 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 5850 1350 90 90 5850 1350 5940 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 7650 1350 90 90 7650 1350 7740 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 7655 2700 90 90 7655 2700 7745 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 7208 2700 90 90 7208 2700 7298 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 6300 2700 90 90 6300 2700 6390 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 5400 2700 90 90 5400 2700 5490 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 4500 2700 90 90 4500 2700 4590 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 3600 2700 90 90 3600 2700 3690 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 2250 2700 90 90 2250 2700 2340 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 2700 2700 90 90 2700 2700 2790 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 2880 4050 90 90 2880 4050 2970 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 3240 4050 90 90 3240 4050 3330 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 3780 4050 90 90 3780 4050 3870 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 4005 4050 90 90 4005 4050 4095 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 7110 4050 90 90 7110 4050 7200 4050 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 8550 1350 1350 1350 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 1350 1125 1350 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 3150 1125 3150 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 4950 1125 4950 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 6750 1125 6750 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 6750 2475 6750 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 5850 2475 5850 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 4950 2475 4950 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 4050 2475 4050 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 3150 2475 3150 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 8550 1125 8550 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2700 2475 2700 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2250 2475 2250 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 3600 2475 3600 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 4500 2475 4500 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 5400 2475 5400 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 6300 2475 6300 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 7200 2475 7200 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 7650 2475 7650 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 7650 1125 7650 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 5850 1125 5850 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 4050 1125 4050 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2250 1125 2250 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 7650 2700 2250 2700 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2700 3825 2700 4275 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 7200 3825 7200 4275 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2700 3510 7200 3510 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2700 3465 2700 3555 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 7200 3465 7200 3555 4 0 0 50 0 0 20 0.0000 4 195 990 1350 3600 Particles\001 4 0 0 50 0 0 20 0.0000 4 195 840 1350 2250 Level 1\001 4 0 0 50 0 0 20 0.0000 4 195 840 1350 900 Level 2\001 4 0 0 50 0 0 20 0.0000 4 195 510 7650 2250 Fine\001 4 0 0 50 0 0 20 0.0000 4 195 795 7650 900 Coarse\001 4 0 0 50 0 0 20 0.0000 4 195 135 4725 3375 d\001 4 0 0 50 0 0 16 0.0000 4 165 120 4905 3420 0\001 protomol/doc/MultiGrid/levels_nbc.pdf0100644027616700000500000001523310237151525017273 0ustar pbrenne1dip%PDF-1.3 %Ç쏢 6 0 obj <> stream xśÝ[ÍŇĺ6Ýߧđ2P5Žţemˇ`ĹÂ÷©/“0Ô Ô$Ľ>méśî¶ /ŕšĹ7Ý÷t÷9–,Kí{żnaŹ[8˙áďű—×××·ß•í§_^qűôŠ©ďˇ¶-uě-o_ś'{Î[ qo˝ŠŇ>ĘÖĂž›™ďŻ<_‹zb|‰–@íUâýežÎÍ0b;#X¦<Ćq%¸«xýřŰWŮ{*©n˙y¬Čż˝ţ*JZ؏㢍PKąîeőʇcO+XúŠ@µUśzŔŤ”;j:˛PYRÝUÇÂçŠ;‡.ĺ!sÔ‰SÇb–r{ŽĘ<ĺ|ě!:m)‡6HG\H 6ËšgcđÖ ŞL9(‘0퉲ÎáĘUĘ×ä„™gË5ä=f%žKŹű‘ť˛\JXDÄş"AmV6–fs­ˇÚ”Ęn:ć =WśżÓB{ę6%Gďűh:#GM{íCç mť‘ Ŕ|c<§ň» NA‡NČĐę* ŰMHE€1ă/.÷ŮsD͡MŃË‚‡ĽFn{JF{Čj<’×uô<8Ę1#¦¦CĺŤNH‚¬‘á¦b ŘCĄ]GŐF¨ńĆ%sŢÚ¦Ť7ż!ÖâŔ\+´®y3]=Ŕ\WŐ¦«Ęn*®KăäÍÝă!›J!dÚ赹–%»Ô ĂI‹]6¶}8D,g—eEŐ±X1š¬™ßt€”0ܬmăóT]¶ú& ňÂ6TYcŁęta+«lu™€;_S¦0ă^Ěą6iÜ +‚¬‘á¦âşŃ´ůD«Až‹â­Ç>B=—}zd”ë¨[*Gš´§(»ĎRĺ9;Ô–5ą¤0Ŕ““ń0Qŕ]·˛'Z Wx’EĄžK: Đ> L A&¸IXŹł'ęZ[ś÷ÔĽ0zHl„ľĽŹŢdŇyeG©3BqĚf mÚč!7dPî¨áÄ…"Č’n:° y޸sčJ“m˙<ţźwčyŚ1O.{K[iwĚӦܣElQŐ|•*‹őę ,@އĹÓ\N<Ł/8ÂGJ«ŢĘSđ$ D‚›„ŐËz˘®yŻEyTÖá§#=śL˛NËŰd rK_‘ w}dkń0m.ÂÁ‰„pťh+ż›‰  d‚›„u›=Q×9`mdyôů^ŞyÖ1ż5ŮhÖ*mYĆżűfj çăÓ<őXĚć!Ţ<ëŻĐĐÚ(PD(Kd¸éŁö\q—ÍľuSŐ^(¶Ąl•rßjÍTîl±6ľŚ§©­T:Đe8ű¤,`ťT0 @ "ÁMÂu»˙$]—^µRŐV(ël•ň8o˝Tř‰`C€ÔÖfŞzĐ eöJYĂş©dˇ˛D†›Žk7äqâćF$ 9*d§Î<‹[ ]6Ż6)KČÇŢ‹SW‚lŠë¸YÁÍJłµźŞžĹM3€»ÖPuĘBdÉ Wk7ňXqşcžćô,JŽ’’6űłg %ú“çY8Ρö{ĆQgú=0]żG=ë$É+9bQÔř‹„µ(>PÖ®,G€Ú˝0z¨,Ť´Î~P¦ŻTUY’{ĄŻi5l­lß×5dPć¨á´…"Č’n:Ö =VÜş&‰˝:zČ­ĺ´žŕŢBÜCňęj3‚>5™¶©Ł‡ÜAąŁ†S†Kf¸éXC÷XqsčúĄ·xuô[ďeťńŔ˝9\TŻ®ËľôŚPýG›z}`›:zČ ”;j8u`a°Ô Wkč+nvGz­{ňOő€ŰěËŘ’’ŰŮóŻsk}(˘ÄÝVšZ–đb8ył€) Ü$¬ÖČu­/ Ȧtľý;[ĘE„éOI–㳀ŕJAîďܦËĘ;âÄp]7®ôĹďÜJż…ëPü¶ ˇôűż‚ŠrŘqC®S•çü,Ç·# Bóa}@`zľ[šµÓCxĄM”^{'ŠŰĚ•–OŁ‡†… y!Ăă ČŔĽ¨ćAŞa^ láÓC´9‡€ypÖórařdAhţÄ];ůÉ…áu“‹ăď'*†ĎMTŽŻCńşJ/ĽC) ;Uę™nyÜćö–ł «ä‘Ňőrť ¤WΡXĆůŰ,=éq * KÍĘąk»¬čľś4“C}óWxřóţeűÝŰëŰďÄŚÇ~Śľ˝ýřZżÓ‹[—Ó“LfŮ"$ą^o_^ßüůűź˙őéýóÇ_~óö÷WŘŽşo?ĽľůÓÇüĽĹ˙÷A:?^r?÷í˙üŹźţńńŁ~˙Ďďţeú?ÄCČ<ýEĎźţp~°XW9ô6iË°ć#mäÔK]y‰üĂŰö—×ůᅫDî endstream endobj 7 0 obj 2293 endobj 5 0 obj <> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <>stream xśeUkTSWľ—ÜcGé”b|äf|wT–.ˇ2ă(« RD^˘€ „HH€@ÂkC Ľ oPň+>P¬‚ĹÚN«ľę :W}¶uÖLϵ×5k.:ťů1Î:ëśłżµżoďo’°·#H’ú„xűŻ ’'ÉRת’˘•łÇ«E$łŘŽYÂc=Ůţź~vá/!ü›xóZĎYě˙őž~Ź˙šŕ‘äđµ?{©’µ)ňřµtőľŔÖ¬YűżWé!í/7RoYŞ<^)]Ém42…*9I¦To–zqŻ yŚ4^ˇMNH•FÇĆĘbgĂ‚Ł˛D©Ż\!ONVi¤«˝>şą¸¸®ă·ÍŇÝiI˛ŐZ©\'WĘŐZi´2Vş'I-MŠŽ•Íx'ÉŐ)ZéąňżŃ»ĺI‡ŇRĄoŘJw«<¤ţŇ@Y|š":ĺ˙o‚﯌QĹzÉR|SŐrŤ"ZęâęFë=„7@řË _•ŘK¬"‚}ÄN"„ŘEl#Hâ=‘"Nhž'ľ —“Éä »8»Iž'ŻÁţűűźř;řÝüGł Pđ„r¦LŘâŔ`hÎ8ÁüŘěř×—NÂdć:Ţ&ŇÉ j˝.!6Hëč#Á¶,ëÍ$QpŁľţ^9jf2¨isť|ĐëJ8>ý¶|”Aqá‚sxß)łđym{ĎđĄ"«Ąş¤PW•>śfK(Ě1„ =N°QˇeúZD¸ź:wş­¶ĐX‡bÍĘ(đĎŇ…Í>ŠµQáĺٵ0†°–zyyë…Îo»äe* ×Ęs‚2ĹL€ń&Ăď&áŹYŠ]Dű}âSąř}©ż_şq°.'®š¶¦UŞš´­ >ÖÖÜ~Ůçě¦đĐôřCtX¤j;x"öý{Îwz¤ář ¤łŁąłç â»·.áúGŻć Í\ŁňK÷ëŚ~:q&UYb…J@CUĆC4ëBÉz“kb±”3Ëg—˛óomŔv—‡[ÎöÓ~&íÁdĘ6ćhÓSŚJ@îAßŕw1lúöű`ÚáŐzĂ(ăŢŠ=FHŔ÷Š`‚EąXĂ×ĚšĚětČ˝Eo o«ŚpWě ňŮ%sÖś{6^ülçw˛ďóáű3S÷‘¶i«÷Ž$wűĂŢ–¨á 1Ĺ#Ŕ<„w<ĆsđŠ‰qM̤7Ѧjމf+ó5VöbjdÖbwŃţ-QJ?„¨nĺ„vŘÔW4…đ” ď cwJoŇŕÖ­Lq(Ů<+ąąSOo]ÁÄ'ö.^+ŞąŰ?4SСŞŰŔÁ_„fÜ6‚Ďe4;ÎĽÄ™t>Çń¨čXQcń1¸ źVźęř¬wp ľ„O ĂÉÝ1ŁşÖŢg3ÓyŐFđBŻ}(Ř”gÜbB¸Ż™ň´čëáOŃŘ źwVTtâEW#–˙6 ŚĄŇ %Ąj‰~6üĂ ňĆ Ż‚Y(Ş·T•Ô:Z•Ił ÂL&żl®sM6j»Eg „Ó¨ŢSç;­UůĆIˇĆ\¨ĂÖŘŐ§i‘G+ŐŢáôw\ĺÓâł2ÄoYMťĽŐ‚7gĽőć?Tś)Âz5•˝Y«ß̵Á ś"č*·vJđbW™6}Ł+:*>/ÄËřŻ»8j˙1)GÍ='kKţ[jż/3ÔĂM„•xuőµr"ŠŤm™­ŚkKV›#\Ĺם„Ťř+üG‘pm^ĚĎ嚊‹ @lciN96V¦Ą•Yäęµ·7ćÁ~zňđ@zc*(Ä‘‰ŞPą˘®-C˘9šŰž52BÖĄŽŞ¨.+­…*¨/j7sć®Î‚¦Ew®M^?źÚ·gf‰kŞýQčŹď:3Ń#wkçd>ÎYfn/9ÁůĄ’ëŘ• Ş‹-f‰)לk2Ę‚˘ögäĚ&ȇ’"KşČ~*ŘÔuel¸cĽO’UŁIŃÓ@§ďüśĆ'~¤8Hn6}ţ’ĽÇAzÍÚy}_Ď9­¶´®¤ ÄoJ¨§ŔËă;;|Ś6jGy^ő¬d ĹQ˛Z­Rµ©»şŰŰş»ÔíJš36łÝF2G¸YZ/č-´!ŚEĆăj¶vÁ \e®/¬‡*14ŐT XŤ ŐSĂEĆ3Ëń\vdA©Ůb˛äYµÖ<+Xˇ˘Î6„çăéÝ_Y+z,čMĆłé6żâ‰¬‚š’Ún&ôV"č×G(ŘgČňĎçṉ̌QţeŮŐp 1O¨‚ŇťĚč«{3'™Žđ­ď·xŮ}'ácf÷—"ť!;_HmŞĄqăůÝúŽ´Á¨ćÎwÖm ÷W·¤·w´¶´•—WĐEUĹ•P:{ŰFĆ:•ű$»)Öy—./J†„ŹÓŇ ňĂ ýG#§FO¶ŽOIĘCš4'ˇZk†»ţ/"Päçj˛S Ş\  U˙)şŚ‚+'ńĽQŽ÷Ž˝rĽł,($-&N’(×'ęĽ[óŚĽěýĐĚDŕ¦ßpŢäFłľěÇülf!ĺŢ·ŕ AĎ;~ŐS9wóâßżT9ű endstream endobj 11 0 obj 2196 endobj 12 0 obj <> endobj 13 0 obj <> endobj 10 0 obj <> endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000002617 00000 n 0000006403 00000 n 0000002558 00000 n 0000002665 00000 n 0000002398 00000 n 0000000015 00000 n 0000002378 00000 n 0000003017 00000 n 0000002734 00000 n 0000005381 00000 n 0000005298 00000 n 0000005319 00000 n 0000005349 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R >> startxref 6453 %%EOF protomol/doc/MultiGrid/levels_pbc.fig0100644027616700000500000000534010237151525017267 0ustar pbrenne1dip#FIG 3.2 Landscape Center Metric Letter 100.00 Single -2 1200 2 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 1350 1350 90 90 1350 1350 1440 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 3150 1350 90 90 3150 1350 3240 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 4950 1350 90 90 4950 1350 5040 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 6750 1350 90 90 6750 1350 6840 1350 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 4950 2700 90 90 4950 2700 5040 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 5850 2700 90 90 5850 2700 5940 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 6750 2700 90 90 6750 2700 6840 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 7650 2700 90 90 7650 2700 7740 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 4050 2700 90 90 4050 2700 4140 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 3150 2700 90 90 3150 2700 3240 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 2250 2700 90 90 2250 2700 2340 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 1350 2700 90 90 1350 2700 1440 2700 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 1530 4050 90 90 1530 4050 1620 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 2475 4050 90 90 2475 4050 2565 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 2880 4050 90 90 2880 4050 2970 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 3735 4050 90 90 3735 4050 3825 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 5130 4050 90 90 5130 4050 5220 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 5805 4050 90 90 5805 4050 5895 4050 1 3 0 1 0 0 50 0 20 0.000 1 0.0000 7020 4050 90 90 7020 4050 7110 4050 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 8550 2700 1350 2700 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 8550 1350 1350 1350 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 1350 1125 1350 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 3150 1125 3150 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 4950 1125 4950 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 6750 1125 6750 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 7650 2475 7650 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 6750 2475 6750 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 5850 2475 5850 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 4950 2475 4950 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 4050 2475 4050 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 3150 2475 3150 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2250 2475 2250 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 1350 2475 1350 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 8550 1125 8550 1575 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 8550 2475 8550 2925 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 1350 3825 1350 4275 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 8550 3780 8550 4230 4 0 0 50 0 0 20 0.0000 4 195 990 1350 3600 Particles\001 4 0 0 50 0 0 20 0.0000 4 195 840 1350 2250 Level 1\001 4 0 0 50 0 0 20 0.0000 4 195 840 1350 900 Level 2\001 4 0 0 50 0 0 20 0.0000 4 195 510 7650 2250 Fine\001 4 0 0 50 0 0 20 0.0000 4 195 795 7650 900 Coarse\001 protomol/doc/MultiGrid/levels_pbc.pdf0100644027616700000500000001324110237151525017272 0ustar pbrenne1dip%PDF-1.3 %Ç쏢 6 0 obj <> stream xśÝZËn%E Ý÷Wôr@˘¦ŢŹ-V,`ČŚ.J@™ ř}ÜU>¶ű?ĐĘ"˛űŘ>§Ë]Żäu÷.ěţřáß·—íu{˙!maÚBlΗş‡^†«i1žŘ]J{đÁŐVČöŃŤĽ7ďRUó¶ĄAř’ĹásĐbŻ·M=Ă’a„zD ›ěQŽ+Á˝ŠŰöéË-»s,űß—ůëö)©Ţő~ŇS‹©¸<”zôŮ…aÄ…ĐâŠ`DČmEp±Eśx2w®ˇęŔB` ugsŻ+îşő¨'ŽĹ,¦:\ Â<¦ÔťF[LľÎÄV'eŐł!ó– ˘L8‚)"ţ$aÚeĂ• •/ŃSĎ"–ŠO.$!žr ®'Ł,ĺěWˇ¬Î 6*«‡§d`ćRC´ „%g¸Ó1íşâě—ćýp±iKŽÖܨґŁDWÚ~-)î7ÄŁý8żiHęŇľ–U’mÓ‚`Ć? 8}g×5‡jTZ•Ĺđ©ş•ö ŮxD««·4€čąĎNŔ¦&&Ć „7—0Ę„"Ŕš3Ü©XvQi§ÉQ´ÁĂÔđá‚9>mŐ†Ź_kr@ĚRW=‹™ĚĚ\fŃ&łš3Ü©8OŤ“v [ö6.Éh‡©eOűTź…yöô‘·l´eďŰ €¶ŃăŚ`mlmâYĚĚQBµ„"ŔÎ*Öö˙˘Ň榿ÓY€©6xÚ\‚UJhÔ.~iˇŃy¤ ى2¶´¨8+D5ň«.& !Ě î¬ÝţőTťNh*‹=ŕŧaÍç Ł‹O ‚ŕ ŕŔ˘ĘÄĂĚp„saTŽ0‚kÎp§â|>»´cŘęH®F~wlţGĄä˝«)ŮAw$ŻśŇ¤HŤ×şÉD3Q‰qLÔ+uÜüGţu{Ůż~ŘŢ 3t×GŰ>më_iÂNg¬ŁJÎ.ű‡—íÝ?˙ůt{~|űâá·ÍďôíLÄĂĎŰ»ď˙z|ŢĂ˙=Ç4*ŤyŰż˛Ďż{úýńßQßüńńóŰôű°˙¸?˙8čńˇendstream endobj 7 0 obj 1489 endobj 5 0 obj <> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <>stream xśeTkTSWľ×Ü3SefHSŤŹ$«>jŔŇ%Tfĺá ‘F”‡/Dň@HIn€„„׆@Â;@xi bĄVZ‹«ťV[uśA§ăŞ:öᬙu®˝ţ‹ÎLĚźłÎ:{ďoíďŰçŰ$0‹ IRřnB‚<^ś¨T+ VʵętÍĚó[Ě’Y8‹YÄc#Ů?¶˙Â_DÄuňćt/Dk‚0ó+|óxâ—Ź$GŻţ9J›gĚWfçčdËwË“Ţ^ńÓKhDD„ěńżY´˘@™­‘-ă.…J›§VhtëeQ\¶JĄĚe«Śy9˛ôĚLEćLŮžt•"W«T)óň´Ůň¨·ea!!ˇ+ą#l˝,^ŻVäkWČ”š,ĄF©3ĘŇ5™˛ťjEvşLťž©V+uůFŮšĄćŐńJő!}ě%[YĽ6B'“+˛őŞôü˙Ź§ÉĐF)ňc tJ*]F+‰ťD4‘@,!b‰Pbń‘Hě&¶IÄbAA„rD*qŤ\Bć‘Źgm™5Á“đj–®ńů9$xM đag Á[tŠůÁô×gs…yĚuĽIdRXt´)'3Ńh‹`S±kXʨ)¸ŃÖv·yŮá"ę–ŁŐ1čE%< 1zS9*˘¸ňaÁ9Ľ‰ČT‚‡™‘Ľ:ŤŁ§yíĚ›"—ł©¦P#ť*ek(—Z’+Ťsd?¬L»|~´obHRÜlČ7Yő ΢}źJń©(’[ź>#ďrQ3ŽZťČ§©†š–ÚÖšF÷˝!MA”µ4vĆ˙Vµµľ¬iF2L%c(O§Ój{tý˝=ýş^Ť”ó)łŮC2G¸Y)-đWz¬PÖ*k…u9Ű2o)nt´U¶AŁ:›ÝĂNäa“ij´Ęm=»ĎfÇćŐ:śvg™Ëč*s Ü­ž“řu|kŢŔç.÷ ˝ěx¦]ďsžČ%h®i©iäo˛ě“ľ8BÁnKq\9×g©‡Š«+i‚‹yLUÔ&™ÖXÓËÝt‰™×_Ç~Ťß›+|ÄÄ&2YJĘi@:{۸'Q0Q>@÷éGŇĽ ś/nŻÜ§ë*ěíëîę©«®ŻvK««ŔŤ|ţž±ó>ÍnI<Ĺ®Úa*KS á#}ˇEyx~ÜřÁ©ńÓÝS’ú¤NĂi8Ý-ĂŁ]ý¨Ęm†’‹Öf”Ł=qFZGÁĺÓ#xÎ8GÎůra“Ďđđřóp»%„oˇZę›ëęj;ÝuM€şé\é‹ —éĚ6Úf©LŻćx¨ČsśCĚSjä+¦÷‰§đ-^$*®Ď’Ű€-ŕHý·G§ľ‚;âďßą˝81Iź‘%ÉUŇą¦čîňycߎřż4=)_÷›ý«Ö…IŮXö]~ 3ź ,ěbötáÄ.ÁŕĎďż6Ř0{öýÎŮsâߌşĹŢ endstream endobj 11 0 obj 1989 endobj 12 0 obj <> endobj 13 0 obj <> endobj 10 0 obj <> endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001813 00000 n 0000005385 00000 n 0000001754 00000 n 0000001861 00000 n 0000001594 00000 n 0000000015 00000 n 0000001574 00000 n 0000002206 00000 n 0000001930 00000 n 0000004363 00000 n 0000004280 00000 n 0000004301 00000 n 0000004331 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R >> startxref 5435 %%EOF protomol/doc/MultiGrid/multiGrid.tex0100644027616700000500000002151410237151525017145 0ustar pbrenne1dip%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % latex multiGrid % xdvi multiGrid & % dvips -D600 multiGrid.dvi -o multiGrid.ps %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[11pt]{article} \usepackage{graphicx} \usepackage{fullpage} \usepackage{times} \newcommand{\ProtoMol}{\textsc{ProtoMol }} \author{Thierry Matthey\\{\tt matthey@ii.uib.no}} \title{Multigrid} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \maketitle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Introduction} Multi grid is a method for the fast summation of long range forces, i.e. Coulomb force, in a system consisting of a large number of particles. For $N$-particle system, multi grid has a time complexity of $O(N)$, where the direct solution, the Ewald Sum and Particle Mesh Ewald are of order $O(N^2)$, $O(N^{\frac{3}{2}})$ respectively $O(N\log N)$. Multi grid decomposes the Coulomb interaction between the particles into a local and a smooth part. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Input parameters} This sections gives the definition of the multi grid input parameters for \ProtoMol. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{General syntax} \ProtoMol\ expects the following input for multi grid: \begin{verbatim} -algorithm MultiGrid -interpolation -kernel -direct -smooth -correction -s -toplevelgrid # Vacuum -h # PBC -levels -order -ratio \end{verbatim} , where \texttt{=}{\it value} defines the default value, i.e. optional input.\\ Note that \texttt{Coulomb} can be replaced by a new, user defined potential, which is of the form $c r^a$, where $c$ is a constant and $r$ is the distance between particle pairs. The new potential also requires re-definition of \texttt{C1}, \texttt{C2}, \texttt{C3} and \texttt{C4}. For the Lennard-Jones potential a new template is required due to the sum in the potential definition. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Interpolation} \texttt{-interpolation} defines the interpolation scheme between the grids the particle level. For the moment \ProtoMol\ does only accept Hermitian interpolation (\texttt{Hermite}). Other interpolations like b-splines (\texttt{BSpline}) did not improve the accuracy. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Kernel} \texttt{-kernel} defines how the {\it kernel} $G(r)$ (i.e. the Coulomb potential, $r=|\vec{r}_{i} - \vec{r}_{j}|$) is {\it softened}. To {\it smooth} the kernel we only modify in a local range $r> stream xśÝZŮ®I}ﯨÇÉ9ą/ŻH|ŔĚXâ.x ş ňâ÷9±fuąě+]!aKnGT¬™‘KŐ—#†tDú«ż/÷Ű—ŰŹ?×ă×ŢbX1żŢŇń×ŰH#äŃŽQ[¨íH#Ć0Š˙ţö—ۧßßň Ą¶vüçČřÁâŤ6×ÚCšÇÝ1iŽ…˙Ż·”g i=Ă””CéŔäšfé Ć$ż~Ąë•Ě®aäšĎf˙oLůŚE)yuăŇď·RZ 5ťôť¨Tţ‰Ę5ţrKŁŚ0€«­†¸@µ19‡1±DŤ})k„z¤>SŮŔ—[ęu1˝=Ď•ÉŤÝaQ@ †™Ť”żĄ( Ş@a0Fኀ‹ /ĽH9§Ú˘pÂ’Ŕ/Gô1Â\Ŕ2ŘzˡaŐaWXľÜ2ÖIŚ vHÚüŠ|"W¸FˇVîŃ›‹x‰^ő¬xô*G,Z©'·r¤ŕ)Ű­µrčÍő*xrË ŘîÍŻ (pżrśQČ…ťŃLĎň Ü~9¨..¨ccö@+ö’‚Ő©ÓíGO!erŃ1çfrzűšÄ`}”Ňŕ°h ĂŕĐ0‡(±ŠFŐ 0̧P•˙ŃőË”´^Č1Ă:DuîDOż YńKg‡ˇ·!ΙC)Z[¡ VÄa…C%‰¬Su(L‹ˇV8…Ů­.~w©­ÖňąoL&zÎ6°ëľ(©ó:-Rjq„57Eť™”_AßG”&•˝ĐŢÔ­@aR 8™l]ĐmÓ §uĘä—!®qZ ć™eé[—`¦C«0”ÎÓ&ŕÓ6·‡Uět ‚EŠŰtÓ°ĂÂl0 łYů]Đ 8ś ť©†>ř¶Ä…R.ŁE—/’/«Ý­Óe ±učmí V tÝyžEŠ€9’hT “µÁ)ÔfăpAüę±ŕĄđŤ‰¶˙ľ1ŇŔÖ7˘ ľŁa‘rĚľÜZ˘[ŘuE%v‡UÁËmc ¤óë¸_9·@1ŰfpuÁ.|Ča¬0ÝOÜi2ţ„ÖśŹ/Ŕ\Or2b<ś$㠯¡6S7fĘi2 şč®Ă7Á­0 ·rîňCĂQ3ĺAIÚH2¸źŇ±ŠŮs Š Ä@:eT5ôMP°]Ě  Ä`02‡ ¬ÄUÂtᨠNˇ&*˙Ł vĚ4¨Ő¬]Uĺ8*WeZÓXôSâYŃę˘M!e“K0xŻ…c «ěĘĘls{1Ě Łp»UÂĹń®Ĺę =Ĺ"ŠÉŤAíŽTXQ"Eş•QĚ„ľŽŠŁ;ć†qz&̡‚0‰k¸„ ‹Ž—ŰĆŔV’iňś¬Ót( f…b¶•"áę‡Ĺ¤DťÇ‘%(ÓpĎÖD[[á#Kň 3‚ ëFNu&“ °é Ĺ +ĹB+:ŇŻp).Ĺ §0»MÂĹŹÇČ,Ł‡Őć)2Ń•ŚGfÉ1 µxÔĽ#sSHÜąUÇŽĚ‘ŇúôȬĄ(‡č0xG¦S¨•.áâ‡xW#‚QŹŠ\żĺmÇł!®^‹,i6OD͆gčąC1i™9T‚ĂŞwźaV™*ˇ!÷Ů]‡ÁËb…aÜJ•pőCsëÉÇś#¤AŮŰ1 É«‚l…EIÇ„­uRŃ9qĂT4TáPLBRÂ2šUí# ­sĆľj…ŞŔ`*$ŧP]ÂʼnÇüťP÷…’Oů;%´±1yţN‰ĘąâůŐŕťÁ c Ú$8¬:v O¨ĘX¦I f=¦­CáťĂ łí W?Ô;QÔ}¨5;Eyç‚ĆľóˇÍq·¸.Ç›`ş:ÚÜ·M%lXt€Ă1k2‡I ĂvÁađËÍ­0 ·R$\ýĐ+%ęŕFűäű “Q&kŕ$ѦR{RhPćÜđËm%J?CÁSc6h˝ůĆ ěś]*@še×`˝ł› m °_]0ÇĐ5!DSĚ3đhDkˇÂƱDVŚjV6SoŃĹé0ô.jjşcč·ŕ1 « 2ÔŤ.Ú°ęîÄůTüą™,ěÄŻRb)ć<˘qJ.ĄBíĹ}c"•<śqfd UHM&@m8ĚĹVŁ¨Q8T‚ÁŞ8 dÂ*AµëđcďV…Ű­.~č]Ş˛®Űý„ r %pńťÉ §%Ö˝¨g“ĐËsšĐ1ą˛;¬ĺ„~Ś Lă‡ý˘O(LMĽZŕjˇIxtAýš¸wÓň#|ßFý%WčÎb[ě3Ť˝ Č Äě÷ĆĆ´&*ˇS‡ęÁ`6[­.^ŘŚýKĄÎ…]_<$2 -.ĺ?”8¸ö´ÓCJLئĄgŤJÂąŃ5l% Ľ…ÝzAż›EÓż Ř<ă~0ŢĆ®đ¬$l&_ň†AŤÝűäüMőč¨ç÷THîśŢ&mŞS- TçwIöj+4ĚIˇ˝â:YĄ‘˝ăÚD†9-’ć3‘bÎęfK´ĺ'uŠy˛§—`ćŢ©Ôq*Şîë™HDóÓíËŤ^~Ţń/ßdŤĺń˙‘_Đ!řOšűŕ!킵W?ěŻ8ťKćSťzĂB†ŠŤ_ˇTíť1(réŔÇL“wM ¤Qš‚ĎKJR)ĺrfA(Adf—*‹…J®9DM“J¨ µ°ŕ??˝â¤—ąWÁĎĽUę·6yÂ Ě ‹^ż’sy÷ú~jäX˝mă1yňŤ3Řł`ä°ď'üówF'Éć#ÓČeŰqZÂFőÚ¦9a0‰_h›Ç|v*$üćç>*źŃś0Ä]ĆIŰĆ<ŤĐ‹ěgžś"ôŤ¶)MGµ^Ϧ9Éc€ľ—‰Ď·mťŇDš¸ÔóÖ9 Çç{ ˙ľřĚÔ*ŇŰT´9g\ö.ÂÍŕSۨ žÜá˝ŇŽ*sjšc1":/űÖűLcËFŻońŰìĎ÷¦ÓDŽÎŰ(t‰°?(4ôâ!ťĽqş©ż-:żväťołŤŠĹ¤ăTÎeW9×đ|75\g˝iëčrŽI®k.J.bŘ…÷ý˝±ICM:–‰Ăm›±—ĎiM¦3ÇbýT —mrźŻ$Ď7Eiś‘>ĄEţ 㪾/.źćő·ŮÖ±ą<ŁqŰ.qů^j$.ß´m˛VFăpdľ—pž„Z'­P)eúĆŚľoH´BĄ‚5ť˝wíéř+0çł–nóIĹ·”wýN­už5é“·· "®ůkŚ»c*ÍgG—wŰcř‹ ›„ś^žô™Ă(t´âŢ/OŰH8D]Ç…†2ŞĂ`šO‰›Bí6 ?¤Ë˛®@żOÜ]"ÎťC‰©ČçsFdÇĺý–oż‰ż¶´ź—űń‡Ź·sčÂ?~şÉ§h¤°×< o¨dď·~űÝÇż C˘Ń ť ú€z| ¤µ`ŮÇ?ß~xů÷żţńé‘Ŕ}ŹĂ4ŹíXF”ŇóĹŹč–Ü:ôn ŃÚ Nppa:„0•0ŹDŤQ˛şČ¶w>émÇäp^@z”čÍr Ź1P{ćÉ =řăÇă§ýý/´đGÜendstream endobj 7 0 obj 2952 endobj 5 0 obj <> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <>stream xśeTkTSWľ—ÜŰŠh‰Wë˝w:S´E ˘Dp´‚`SDĐ‘$‰ňB‚@"ŻŁ`yż‰ AKA¤€ ¨€E;>@…˘–ŇĄ«Ž¶ă´ÓYçŇĂš5‰kućÇü9묽Ďţö·żý­cövŽăÂŹv‡DŠ>vW¨¤Úu"ŤJ˘¶…Ws+qîm;nůˇóżÖüęÉ_……Ôń[ŢüŰ ľz Ţ]Ż,Ĺx8Ţu뉿&>%Q!?šÄ®Ů'Ú˙ž»űÚ˙EÖűřř°1)żeŘ©V!WłnÖ‹^ŞÔÄ«¤ę$_ÖßúZ©TaĺĘ”řŁZV+Ťµ•EH”Ň86PˇTÄÇkôě˙÷X/OĎő묇—/ŞSI5kY…Z¦P+’RX‰:–ÝŁ’Ę%¬J+µ¨I‰)ěFO…úżŐˇ UŚNËľž– Őř°!¬H*×)%‰˙źÁ0lÉŤ,1I÷GďM>ë˝6lüĂ°0,űۇE`ÎŘ ĚsĹś0!¶ Ł°ĺŘR«˛=ög¬ ·Ă%xŹÝďěNŮ ň¶ň:yżŘŰOđ ~,täÂL“ż Ó<îčIÜ!׊éąë$~ľ6ń¸ł2SVĆ|Ş+ŃÔĄX€KóéúĆë;ĽD&Ëc(±&ř‘hůĚ×wˇ¦˝“niŞo9;F:ry¦VΫĎ`Ő3,äShą§;˘ŃĘçnĐ :˝ü¤ˇłÇ ´ŚI×PłcîhâGm‹•5]Đ3š+i÷Ŕůb`|‚v„s š[Ý3Ëă\…–@R0ZßŢe©2©ëčš„ S- ëë;ĹÍ{vGÄJ`ÄŮň_Ň'î ş-Ű33üsI¬¬&| 3ËÁCކŽÄkdřęG|b–WĚąRU…Ą'*y¦4MĚ BD™Í»2¬ećj"¨0µŚPGtôµ|Zšc*§kŚĺÇ+ŮT]ŰzNß ¨“0ß9'#tňô°c.Ž°Ýt…sčŔG¬ÄK¬ÄݬĽË ŹÓć¬ăYf“4üđÁ´ÜLóq3Čy'ň óÉatUŕ}öđŘ`WÓ•stzą>1Ő¤.2CËMv˙°é:ĘQµĆ*§ńY8ë,ěă´CTŽŕPfy?_Âiä•*Ď«0(e@“c4fĆë”*@ĆĆťżČűŕ r3—ňŞ ŕ‰N~—"ďŢ]ÓŇB÷öň7EůC ťĺ—«\¬ÍŚ­ś}?žĂ˘g…˝A §˙>üŮĹ;®Oüo¬FřćťžÁőę_tţëĎÓŠA´řťňęţţ&9ř„ ŽŽŢ9úÝ­ÓGčÁi+–רĽ˙şëh_ĎÍ;˝â@‘&Z$ĄsňČͳх¦^ÎŢęńďˇůŢŽ‚ö•×ęď ţsęK¸Ŕ•$ôń€o -ňrC+‘ăäf]»XÓ3LÇ oÄcŃÚŽÁy $çfefi´˛t9 ·|ŤÔÜ°43µ gĘŰů]߇ȏ±öŐřOs<řĹü& íô䉊SĺEE'ëŠk‹Ęi)5Ä1 QřKvRZ–!Ë')°š·­šđ;‘V.‘Ü6˙€)®ńżśăq¸ŠJ?%ĄgE”-€~0ŕéóî)đµË«ÍÓż߯;"Łă†¸ÔKΊ ?vvÜäěČ{ˡĽ˝öň38W*·pĂ ¶ÍH'ť…Ăpü†ŤůMY¤Đ2®ëşz‹‚?ŠO.n’ŃŞşÔâT@&ŚúŁ˝ş{Ó3Í=Ě@Oó(¸ .§ ¨Ű“O«דÂá»g>żęúx×uŹ(qjśśVĹt{ŞsWôÜď;w_ő‰Cäyb"ŁRi AZŰJ€şÝâ¶4ŕđĽőGSÂ4ę]nŻX€n/ěĺď‚ç‘ď4ôý‰@;oQČ,€fřŇf%îŃ żľÇsŹ()¨E' ‹»ž®Č*6čM9z«8R‘© €|—ś˘Ľ’Ž ćô˛áÝ` éşmKrjńi×T¦¤Ú‘(Đ>śťlą<Äô÷YFŔ<Ö5$ţBÔŢ´ŽÉ \D oś}óŰEgKľ­sXŚa˙ÉńDÚ endstream endobj 11 0 obj 1739 endobj 12 0 obj <> endobj 13 0 obj <> endobj 10 0 obj <> endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000003276 00000 n 0000006611 00000 n 0000003217 00000 n 0000003324 00000 n 0000003057 00000 n 0000000015 00000 n 0000003037 00000 n 0000003682 00000 n 0000003393 00000 n 0000005589 00000 n 0000005506 00000 n 0000005527 00000 n 0000005557 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R >> startxref 6661 %%EOF protomol/doc/Performance/cellsize.pdf0100644027616700000500000001547010237151525017335 0ustar pbrenne1dip%PDF-1.2 %Ç쏢 6 0 obj <> stream xśĄ\ËŽmąmť×Wśˇ3pEďÇĐ62Źł/<1ŚŔiw‚ş€tN€|}ČE.Juą4W¤Č}¸)‰˘¸¶ę§WzĎŻ¤˙ůżß}Ľýôö·˙Đ^˙ňó[NŻ˙|ËŻŢz.é•sMŻ¶w}ýhíŮF!Ö˝ÉĎ© á?o?IĎöľűxýö‹üĆ~ĺ×—~~{ýZţOŻžÇűxíňľK{}ůxűŐ+ýÍ—}ű»/Żßżµ”&mđ6l@Űm°¶Ů`2ßnCKý˝~˛ˇ‡ eíFĽ Đv¬m6Ě·ŰPDmő÷ěäă…˙׶űË?5·÷˛EwÉŻčăżüđńýëŹ?˙é˙ó_żBĎş˘Ö|ßsáG~÷ýŹ?ľ~ţáżä—~óüTžďeČÎRë{íŻ/yűŐţüÝ_˙úqĽ-ÉÉJęÎÝĹ…Úśşqʦ×Zl’Ev2ݢ”_ú¨Ż\ú˛­Y쪥H»ć"¶bTj­jh×Č][“7íYukźçűTÝ*ďüĘŁAwJHË3AwÍƨ_×ţŞĐ][žż6tw•ömŃ-©t¤+˘Ó˛ÔĄI;wKoŠČ”<Ńž ËĘh‹h©Ít{c¨—¶îÓte†”^ˇ›syÉŚn?”1 ›ĺU‹8m•ź–Vĺ"ŰÇęö»2dNŘďNm/ű]±ßă;l«âtăK(GŘ;J»4{_ Ŕ5Ůď6۱ůüÚŞ˙®đŰ6Ý*q\Ó9‰ÁÍŢĄ1¨Ë»Čśť˝Ä3WfC—öJöŽňüÝ}.‹±Ŕ i[Ć®ĺŠqÜ2-ZI6Ž*_†ŤŁĽŁGroo› d1Ř×uÝ!j­/čÎ.!x4›?Iř3›nţśĐť2˝Új6÷ô9;AWdľë”Wę©š®ŚuO»söÜ7Úbz/Ąâ·džô˛&çmŻcŃĹ]܇ű Ô.á«m3I÷Č}FĘzkHÚ%tá+ě©Ú _ůűXěéęşŘ}űp]YtŇkŁ”P)ëĹţ '|8•á ëťĐŐ=eEĘz±ź—ěş V Ý›uŹW«ö$e˝ş˙çŐ]Ů@[ÔŐj·śOn¤Ü*ÍÚv]Ąd5….ĚGˇ˝x5Ď(ćąş.¨y|üH)VRÖ«ůDM×EvŇŽŻBŁ@wr]Í_}ĄTOá«Ś…Ťś˝ť”?YóťD_ÇWM_9z)rQi÷•eKőř  9“ö"Nző0źŞî+Łvř*#ü Çú7°Śëńükl÷•ec#|U\zWëí¤üÉšŻ ÷¨UŽŻ:FEs¸Źđşetó»âľ2j_řJsľŹˇ–>ž®Ĺy…ě°_%Ó]śí¤|NBšóJ¨šň5ŻTÚë-aýz†ů0ßĚśW Vz˙´ĆZđŚÔׂHs^![mg ÎéiľĘť”˙®ćłŤó m˘Ż$s„®&09ť”ÇH3^š'^!ć 'Ö^ÄĎĎ—ËdĽBö\ĎĽBĐGŤy•Iq¶«4ç•R—>Ź/’Ě_ĎŔćă)źń­m\ó ż«‰ßŁ¦gěó÷óJ¨^ŽŻ°ŔÓ#¶RŰĄ?Híc„Ť gíťť”őęů ďâ6ă´Đ{ŘÜLĹ™e…”Ż}=OôÁµ/ÔĚ;tńPś1đF›”Ż}=”ĵŻÔŞ_Ť‘žIÎŮ …c4W»Ćhµď‹p‹3 ćd}ŹÍĂóM[ś“BíľĘ0gžFz?=<ĺÂŁÔ<{7–ÎH±‡ú‰É÷P‘g•ůjďƲŽ˝ŰOXĎ[-q|…˛`á#¨&ŕ †'RľĘô|–<Ď1jś<g6d‰”g#EĄ9Żpş«‘ç,{_=ă©®˝Żťřž˙*óPűř 1Ç+zŇŰHy~ĄE»Í<'ĆľżÖÝĺÖÝĺŇ­#]ş­śśI Îśšő!÷čĂóhaNj…Ż,ĂUźŚeî'ÖÇĎŻm1'Äi¶‡Ż^gZdŞ…ł\•v_9|5±ępF»IY/ÎÇŮ}eÔ<ůsĹďę™Ůu!噹ţŇbţŚÓu;ľ˛™¤glíĹCýÄýđüÝč+ĄV:ľBŕĆ™Ůő eş8Ż'÷•Qóś5ĚĎz†×Ó„ůŮNôŹźď×äY§ýľęH¬˝L+˝›”źb´PÝWFíđŐB@Ť6/RŃË+„ë…Í}ŞĄđUF C Q{˝˘ř°ľÜWFMúĘ«]¨9ju i‰W ŻG¶iľňędĄŻĘĆ®‰%ęf›”ő˘~YÍWNíş]¨iŞ®yÎ*śŹ×;űŢţ»¨~Ž6#d˘*˝áÔ+˘룬‚š§N81Ô¨™JďŔ4đ ęĂz*ë„Fť:ˇ˙î˛:ˇ˙îŠ:!~)ꄨƞ:ˇeEŽ’É“IůNiß»AíS'śÔp±k,Rľi}—uBŁNťĐö}Ô|cß÷ °ďű"í{·U‡Oťp!  F¬˝^1~X?fťT>uBójĘŘ)Ďë´ŢĚ:ˇQWť‰5jĐČs&)ßC·J3ĎAµúÔ ňIÔ¬±Ó%RľKj=›uBPőÔ † 5nÝq0”^ń~X˙fťĐ¨S'\ɤ­Nh…KŻ?¬—łNŞť:ˇ}˙ćDި‘ňŚBëë•ľµé«…%(NP“çŘ$Ч@bň…"Ç:řżCś˛du-–w 3@8˙ţ·ż čňŹ/-¦×źDđ/o»©M1˛Š3•«ĹU+Ëq(Šżˇ+‹ą’*eg%5Šbk™˝Üvb1´*¶ŕĹM Ś‹ĹJŮô‹Ź˛!.ĄÝX”€ĹľŞůŽďęĐ‚ŞăÄĚĚâš2‹eŇ.,~!‘ób–LŔ€­mŦ:rŹdZ.„żXÜŃ0ŕF]Ś„őáĹY“Ĺ“±b‡&Ľ7j2ěĹIÜ2‹ ˛HŁX ˙LţĄÝx—i_y8Ç„pŁlŐ76ń3áF9ÁܨëŚpŁř#ŕĆšÜ(g΀‹ä>„“ áFŮYn„ŚĂŤ˛ÇÜßr¸±¨ 7‚ďpŁÎÂŤ9ÇáAÁŤ‡˘8Ź'÷ĄjâdÉş´“ď"“iiÜ(S5’Ý,!‰É«µ-•°¶™\fŮY,JËLţdĘF2W˛L;OΤ]™laŤxňTrL†¤˝ÜČsňen”Ä$ŕF$<–H&8ąŮKş’¸y‹|ŔŤ"?¸ąJ»qł´g:ÜhmlfyÉ°ůć$K·rł‘ÇnŠp3ČkFp߲ Ĺ‘ń†Íś®qKŘűxf‡˛>#‡Ô8Vf> šˇ/Ťś#a·„AzÓ4TúŔiä Ó¸%Ě2‚j´üŔjÁˇ5ŽÄD¸pMňRŔ:ĽćśpŤKÂĘÁdłbńł§ÄŃx}%1·x› Č08­źcťqBÂ5. 0t“C3ŢöŔnä„„k\ö¸ß¤ –ř-8” Ć‘ÝŔ˝$ GNH¸Ć%чÁzŤd„– Ž#'$\ă’0H#@9Ä RŽÂ…C'$\ă’ŔQ/ŔČb[âG’s$Lă–0č› ¤hx9°¤s. hÜV™ pŇ+7<JPăH¤é:> 3v× ¦$'$\ă’°§¬ @l®$'$\ă–Č®CŹa9^°epBÂ5.`Ą‘ ĽD yĂ—ÎąŕÍüµ\u@ĚWÝ0¦sŽ„iÜĺé@ď3®qI`ƨ)»ŕ´k’s$Lă’ČÝuú§·=đfp(AŤ[žşĂ§ŽË§ëł„iÜfě”·ÇŚ:p'9GÂáĎKix€ž˘_9°gpBÂ5. )‚źÉ ţtΑ0Ť[‚śöé Omźžq$ň2ť`h¶OX/848” Ć‘X¶’ ŠćŤ•~Á˘Î9¦qK¬é:ĂźapŕGÉ ×¸$V5ËÚkŰ3NŐšśpŤKK)ŔŇlź©^p)9!áGbÁ3™n$hę ö»řé_Ë0U/Xo pJ†÷SüôgĂU˝X˝ńrxęŚč7ń«ß^ř©}¶{¨d°ßĹOżă羀6âˤ:#úMü—­9ë_*1őĘ“"­řÇ˙řówÖŠkęŽzä´lEŰŃÖ¶vüťIł'/Pµu®Ś6…'ý‚S[-.,I»đR[záČ.µU2/Iúßᶹ31ܶň&†Űt ·Mý-Ăp.ő†Ű:ĺ•Ń9â‚Šđs\ť)0\‰Ć;®ŚŽUâĘč8®łJ\UČWFGŞqeXŔŻŚĘ~WFGqet¤¸`Đú8WF»Â+Łmś+ŁňňqeTáXÇp›¤±Äp›^ŕâ•Ń®Ż_m"Ę+ŁM\ćn«;0\a׸2Ş8ŻŚJJWFőµyeTqm^­{Ămúq—c¸­ćB ·˝`on++0\9µb¸MńAÇpń·c¸Mż6p WŻ*†»Ą›®âvÄpe…†»Ę8WFÇÁpuJĂúLĂpq‰Ć1Ü–äĽ2şG| ©źyÇ•ŃĄ·öýĘčRľ_ŐůĆ+Łj ŻŚŽn)Ĺ•QeĹ•QýWFĺgxe´Ę´ć•QĹŁye´ąĽ2šÇ+Łiź+Ł© w‹+Ă-ę+ÇpeX61Ü2eşđĘččńÁV‘ŁF\m2.Ľ2Ş"ňʨlçqe´čÇB†áę•b¸M/*:†+ă;áJ&nK5>č‘)UăĘčž9®ŚŻő+Ł;Ĺ1uÍ|pÜo’h„Ěﲤ,@ţŰ?Ý2kČb€,ĺHm3@Žó‡T< u¬ ĺpR?`€ě}D€ě˛ e’E€”)+1¤~9Ë©ńŠR:¤ĚöM™Č–N€Ô( e&D€,ú!ŚȬżx€Ś?°‚»í)dî'@˘í˛ŕĆH´=@¦7¶¬íąčí~ä˛rŽŹ\tAó#´ý#Ý(ř‘ËŇ9ţ‘ ÚţaËÂ-ű°m˙e‹=üĹÚţ1‹łhŰ?fŃEŔŹY´ÍX2Úö ÚţKJçľ<ÚŘ$¦l)Ąlh[p*<8i:Çŕdm˙H¤ĺ¸“nm~˛ĘůDÚüC+?â@Ű?˛Ř=ľDۦ¬/>ks‘ý^ţűoÖŞ[endstream endobj 7 0 obj 5982 endobj 5 0 obj <> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 2 0 obj <>endobj xref 0 12 0000000000 65535 f 0000006307 00000 n 0000006600 00000 n 0000006248 00000 n 0000006355 00000 n 0000006087 00000 n 0000000015 00000 n 0000006067 00000 n 0000006541 00000 n 0000006470 00000 n 0000006410 00000 n 0000006440 00000 n trailer << /Size 12 /Root 1 0 R /Info 2 0 R >> startxref 6650 %%EOF protomol/doc/Performance/performance.tex0100644027616700000500000005252110237151525020051 0ustar pbrenne1dip\documentclass[11pt]{article} \usepackage{fullpage} \usepackage{graphicx} \author{Thierry Matthey\\{\tt matthey@ii.uib.no}} \title{Performance of \textsc{ProtoMol}} \begin{document} \maketitle \begin{abstract} A collection of performance tests of {\sc ProtoMol} during its development and a note about how to tune the performance of force algorithms. \end{abstract} \section{Performance: \textsc{ProtoMol} 1.8.3 vs. \textsc{ProtoMol} 2.0.2 } \begin{table}[htb] \small \begin{center} \begin{tabular}{|c|p{1.7cm}|l|l|l|l|l|l|l|l|}\hline Ver. & \multicolumn{2}{|l|}{Machine} & Compiler & \multicolumn{3}{|c|}{Vacuum} & \multicolumn{3}{|c|}{PBC} \\\hline \multicolumn{4}{|c|}{} & \multicolumn{6}{|c|}{Cell Size} \\\hline \multicolumn{4}{|c|}{} & 10 & 5 & 3$\frac{1}{3}$ & 10 & 5 & 3$\frac{1}{3}$ \\\hline 2.0.2 & Dual AMD Opteron & lcsl & gcc 3.2.3 & 47.77 & 38.37 & 42.65 & 83.50& 57.51 & 61.98 \\\hline 1.8.3 & Dual AMD Opteron & lcsl & gcc 3.2.3 & 49.66 & 41.72 & 46.73 & 99.05& 74.47 & 95.90 \\\hline 2.0.2 & Dual AMD Opteron & lcsl & gcc 3.2.3 & 341.98 & 274.11 & 303.87 & 645.56& 417.45 & 428.67 \\\hline 1.8.3 & Dual AMD Opteron & lcsl & gcc 3.2.3 & 350.59 & 296.86 & 329.28 & 848.47& 555.22 & 665.11 \\\hline \end{tabular} \end{center} \caption{BProtoMol 1.8.3 vs 2.0.2: BPTI 14281 Atoms / ApoA1 92224 Atoms, 100 Steps.} \end{table} \clearpage \section{Performance: \textsc{ProtoMol} 1.8.3} \begin{table}[htb] \small \begin{center} \begin{tabular}{|p{1.7cm}|l|l|l|l|l|l|l|l|}\hline \multicolumn{2}{|l|}{Machine} & Compiler & \multicolumn{3}{|c|}{Vacuum} & \multicolumn{3}{|c|}{PBC} \\\hline \multicolumn{3}{|c|}{} & \multicolumn{6}{|c|}{Cell Size} \\\hline \multicolumn{3}{|c|}{} & 10 & 5 & 3$\frac{1}{3}$ & 10 & 5 & 3$\frac{1}{3}$\\\hline Dual AMD Opteron 248 2.2GHz & le04 & Intel 8.0 & 57.6068 & 46.53375 & 46.78541 & 104.51191 & 75.19006 & 84.90123\\\hline Dual AMD Opteron 248 2.2GHz & le04 & gcc 3.2.2 & 42.23086 & 34.98725 & 36.11871 & 78.57884 & 61.0053 & 69.73622\\\hline Pentium(R) 4 2.53GHz & romhegg & Intel 8.0 & 82.61629 & 64.27086 & 63.91178 & 131.30994 & 93.24453 & 103.0066\\\hline Pentium(R) 4 2.53GHz & romhegg & gcc 3.2.2 & 113.0993 & 94.08331 & 86.44412 & 182.61486 & 134.46937 & 146.3645\\\hline P4+ v2.2 1.6GHz (*) & blade & xlC 6 & & & & & & \\\hline P4+ v2.2 1.6GHz & blade & gcc 3.2.3 & 114.22825 & 98.49399 & 98.75213 & 172.38679 & 135.47089 & 145.3059\\\hline P4 1.3Ghz & tre & xlC 6 & 124.77146 & 104.73123 & 108.48935 & 199.67187 & 153.70434 & 170.16276\\\hline Dual AMD Opteron 2.0Ghz (*) & c0-0 & pathCC 1.2 & & & & & & \\\hline Dual AMD Opteron 2.0Ghz & c0-0 & gcc 3.2.3 & 50.73854 & 42.55911 & 43.812 & 96.66381 & 73.69411 & 82.10057\\\hline MIPS R14000 1.4 & gridur & MIPSpro 7.4 & 126.04032 & 106.59266 & 118.52494 & 198.53973 & 163.74625 & 196.26711\\\hline \end{tabular} \end{center} \caption{BProtoMol 1.8.3: BPTI 14281 Atoms, 100 Steps.} \end{table} \clearpage \section{Performance: \textsc{ProtoMol} 2000.03.10 vs. \textsc{NAMD 2.2}} Runs were performed on a SGI Onyx2 (250MHz r10000). The times represent the wall time [s] for 10 steps, sequential. For every step \textsc{ProtoMol} uses plain Ewald summation, where \textsc{NAMD2} uses PME. \subsection{ApoA1, 92224 atoms} \begin{table}[htb] \begin{center} \begin{tabular}{|c|r||c|r|}\hline \multicolumn{2}{|c||}{\textsc{ProtoMol}}&\multicolumn{2}{c|}{ \textsc{NAMD2}}\\\hline\hline \multicolumn{4}{|c|}{Periodic boundary conditions}\\\hline Plain Ewald & 2152.45& PME & 712.96\\\hline Cutoff & 407.94& Cutoff & 277.45\\\hline\hline \multicolumn{4}{|c|}{Normal boundary conditions}\\\hline Cutoff & 304.86& Cutoff & 220.87\\\hline Full Coulomb &18662.70& Full Coulomb &-- \\\hline Full Coulomb \& VdW & -- & Full Coulomb \& VdW & -- \\\hline \end{tabular} \end{center} \caption{ApoA1, 92224 atoms, cutoff of 12A.\label{ApoA192224}} \end{table} \subsection{BPTI, 14281 atoms} \begin{table}[htb] \begin{center} \begin{tabular}{|c|r||c|r|}\hline \multicolumn{2}{|c||}{\textsc{ProtoMol}}&\multicolumn{2}{c|}{ \textsc{NAMD2}}\\\hline\hline \multicolumn{4}{|c|}{Periodic boundary conditions}\\\hline Plain Ewald & 209.38& PME & 57.10\\\hline Cutoff & 33.19& Cutoff & 22.53\\\hline\hline \multicolumn{4}{|c|}{Normal boundary conditions}\\\hline Cutoff & 25.36& Cutoff & 20.00\\\hline Full Coulomb & 455.03& Full Coulomb & --\\\hline Full Coulomb \& VdW & 349.43& Full Coulomb \& VdW & 351.49\\\hline \end{tabular} \end{center} \caption{BPTI, 14281 atoms, cutoff of 10A.\label{BPTI14281}} \end{table} \clearpage \section{Tuning \sc{ProtoMol}} Since {\sc ProtoMol} provides wide variety of different force algorithms, which can be combined arbitrary, it may not always be simple to find the an appropriate parametrization and force definition. \subsection{Direct methods} For the direct methods -- all pair-wise interactions are considered -- on may change the \texttt{blocksize} in order to tweak the block size of the sub matrices and improve the cache hits. The direct methods do compute sub matrix by sub matrix and do not depend an the cell list algorithms, i.e., \texttt{cellsize} has no influence. Note that changing the block size does change the order of computing the interactions, e.g., is the block size $> N$ (number of atoms), the algorithms does a simple 2-nested loop over all atoms. \subsection{Cutoff methods} The cutoff methods use the cell list algorithm (see Fig.\ref{fig:cellalg}) in order to retrieve all neighbor particles in $O(N)$. The Cell list algorithm requires a cell. The algorithm keeps track of all particles residing in the cell and can therefore retrieve them in $O(N)$. It finds all neighbors \begin{figure}[hb] \centerline{\includegraphics[width=7cm]{cell_algo_cell.pdf}} \caption{Partition of cells, where cell no. 5 is the origin and 1-4, 6-9 the neighbor cells. Cell no. 6, 3, 2 and 1 describe the interaction path.} \label{fig:cellalg} \end{figure} (candidates) of all particles of the original cell, which defines the minimal dimension of a single \begin{figure}[hbt] \centerline{\rotatebox{-90}{\includegraphics[width=13cm]{cellsize.pdf}}} \caption{BPTI 14281 Atoms, run with different cell sizes, vacuum and PBC, cutoff 10[\AA].} \label{fig:cellsize} \end{figure} which are equal or less distant than the actual cutoff. A cell size bigger than the cutoff will result with more pairs which are more distant than the cutoff, where a smaller cell size will increase the total number of cells to cover the system, decrease the number of particles per cell and make the retrieval of candidates more accurate. The cutoff methods themself have a cutoff at which distance particles further away as neglected. The cutoff methods normally offers different switching function to achieve certain properties, i.e., $C^2$-continues at the cutoff point. The cell size should be chosen dependent on the cutoff's of all forces, also considering those coming from switching functions and fast electrostatic forces. In case of vacuum, the cell dimensions will be defined exactly the given cell size, where as for periodic boundary conditions the cell dimensions are chosen such that the number of cells in the simulation box is maximal, but with at least dimensions defined by the cell size. For small periodic systems the actual cell dimensions may be significant lager than the cell size to fit the system box. Choosing the cell size as the maximum of all cutoff is for most systems a good starting point. One may also try out the cell sizes such that the maximal cutoff is a multiple. The smaller the cell size the less particles reside in a single cell, and increasing the overhead of the cell list algorithm. On the other hand, a cell size which is smaller (a multiple) than the cutoff enables the cell list algorithm to decrease the domain (volume) to pick pair-wise candidates to interact. Fig.\ref{fig:cellsize} gives a rough picture how performance may change with a different cell size. For small cell sizes ($<3$) the overhead of the cell list is significant, especially for vacuum where the total number of cells variate more often. The volume to pick possible candidates is small and close to a sphere. For cell sizes $>3$ and $<5$ one reaches best performance, especially for cell size $3\frac{1}{3}$ and $5$. For lager cell sizes ($>5$) the performance follows more or less the volume curve, but for cell size $10$ the volumes drops and the performance gets better again. One can also see that with periodic boundary conditions the performance is more stair alike due to the fact that the real cell dimensions are always a multiple of the system dimensions, but at least the cell size. The saw effect for vacuum is due to constant number of total cells until the cells a big enough to cover the system with less cells. \clearpage \subsection{Fast electrostatic methods} Three main fast electrostatic force mtheods are supported: \begin{itemize} \item Ewald, $O(N^{\frac{3}{2}})$ \item Particle-Mesh-Ewald, $O(N\log(N))$ \item Multi Grid, $O(N)$ \end{itemize} Please consult their tutorials. % # cellsize pbc cells delta V_cell V_delat npc cells delta V_cell V_delta % 1.0 79.24440 157500 6204 157500 6204 16.52883 148862 3102 148862 3102 % 1.1 59.97576 115425 4788 157500 6533.33 13.19907 108416 2460 144302 3274.26 % 1.2 47.85662 87412 3838 157500 6915.35 11.48919 87412 2003 151048 3461.18 % 1.3 38.76726 69312 3112 157500 7071.5 9.97930 69312 1616 152278 3550.35 % 1.4 31.35778 55125 2488 157500 7108.57 8.95937 53900 1352 147902 3709.89 % 1.5 27.78804 45738 2206 157500 7596.42 8.03943 44649 1111 150690 3749.62 % 1.6 24.18829 37479 1910 157500 8026.49 7.50947 37479 955 153514 3911.68 % 1.7 20.33856 31117 1576 157500 7976.99 6.92951 31117 820 152878 4028.66 % 1.8 18.55869 25515 1428 157500 8814.81 6.67953 25515 730 148803 4257.36 % 1.9 16.86881 22308 1292 157500 9121.84 6.15956 22308 646 153011 4430.91 % 2.0 13.59904 19375 1014 157500 8242.84 5.59961 19375 507 155000 4056 % 2.1 12.97908 15870 966 157500 9586.96 5.52961 15870 495 146972 4584.2 % 2.2 11.56918 13552 846 157500 9832.13 5.49961 13552 459 144302 4887.43 % 2.3 10.62925 11907 770 157500 10185.2 5.31962 11907 411 144872 5000.64 % 2.4 9.11935 10400 630 157500 9540.87 5.25963 11466 381 158506 5266.94 % 2.5 8.93937 10000 612 157500 9639 4.75966 10000 306 156250 4781.25 % 2.6 8.94937 8664 612 157500 11125.3 4.84966 8664 306 152278 5378.26 % 2.7 8.22942 7452 540 157500 11413 4.89965 7452 282 146678 5550.61 % 2.8 7.68946 6358 484 157500 11989.6 4.68967 7128 246 156474 5400.19 % 2.9 7.70946 6069 484 157500 12560.6 4.62967 6358 242 155065 5902.14 % 3.0 7.56947 5376 460 157500 13476.6 4.78966 6069 242 163863 6534 % 3.1 7.65946 5120 460 157500 14150.4 4.76966 5120 230 152530 6851.93 % 3.2 6.60953 4275 352 157500 12968.4 4.63967 5120 194 167772 6356.99 % 3.3 6.59953 4275 352 157500 12968.4 4.52968 4275 194 153631 6971.78 % 3.4 5.92958 3528 274 157500 12232.1 4.29970 4275 155 168025 6092.12 % 3.5 5.91958 3528 274 157500 12232.1 4.35969 3528 155 151263 6645.62 % 3.6 6.37955 2873 274 157500 15020.9 4.18970 3528 137 164602 6391.87 % 3.7 6.41955 2873 274 157500 15020.9 4.48968 3332 137 168776 6939.46 % 3.8 6.41955 2704 274 157500 15959.7 4.61967 2873 137 157647 7517.46 % 3.9 6.75952 2304 258 157500 17636.7 4.70967 2704 137 160399 8126.7 % 4.0 6.65953 2160 250 157500 18229.2 4.80966 2704 137 173056 8768 % 4.1 6.74952 2160 250 157500 18229.2 4.68967 2160 125 148869 8615.12 % 4.2 6.28956 1815 202 157500 17528.9 4.81966 2160 125 160030 9261 % 4.3 6.02957 1694 178 157500 16549.6 5.26963 2160 125 171735 9938.38 % 4.4 6.14956 1694 178 157500 16549.6 5.20963 1694 125 144302 10648 % 4.5 6.16956 1694 178 157500 16549.6 4.38969 1694 89 154366 8110.12 % 4.6 6.02957 1300 142 157500 17203.8 4.61967 1694 89 164887 8662.9 % 4.7 5.97958 1300 142 157500 17203.8 4.47968 1694 89 175876 9240.25 % 4.8 6.01957 1300 142 157500 17203.8 5.30962 1573 89 173961 9842.69 % 4.9 5.78959 1200 124 157500 16275 4.99965 1300 89 152944 10470.8 % 5.0 5.81959 1200 124 157500 16275 4.51968 1300 62 162500 7750 % 5.1 6.43954 972 124 157500 20092.6 4.30970 1300 62 172446 8224.36 % 5.2 6.44954 972 124 157500 20092.6 4.38969 1200 62 168730 8717.7 % 5.3 6.85951 891 124 157500 21919.2 4.82966 1200 62 178652 9230.37 % 5.4 6.80952 891 124 157500 21919.2 4.34969 972 62 153055 9762.77 % 5.5 6.81952 891 124 157500 21919.2 5.25963 972 62 161716 10315.2 % 5.6 7.59946 704 116 157500 25951.7 5.31962 891 62 156474 10888.2 % 5.7 7.73945 704 116 157500 25951.7 5.14964 891 62 165007 11482 % 5.8 8.30941 640 116 157500 28546.9 5.37962 891 58 173845 11316.5 % 5.9 8.26941 640 116 157500 28546.9 5.70960 891 58 182993 11912 % 6.0 8.14942 640 116 157500 28546.9 5.58961 891 58 192456 12528 % 6.1 8.19942 640 116 157500 28546.9 5.58960 704 58 159795 13164.9 % 6.2 8.17942 640 116 157500 28546.9 6.09957 640 58 152530 13823 % 6.3 9.44933 490 104 157500 33428.6 5.77959 640 58 160030 14502.7 % 6.4 8.20942 441 80 157500 28571.4 6.53954 640 58 167772 15204.4 % 6.5 8.17942 441 80 157500 28571.4 6.14957 640 58 175760 15928.2 % 6.6 8.23942 441 80 157500 28571.4 6.80952 640 58 183997 16674.8 % 6.7 8.30941 441 80 157500 28571.4 6.32955 640 58 192488 17444.3 % 6.8 8.18942 441 80 157500 28571.4 6.02957 640 58 201236 18237.1 % 6.9 8.30941 441 80 157500 28571.4 7.57946 441 58 144872 19053.5 % 7.0 8.22942 441 80 157500 28571.4 7.40948 441 58 151263 19894 % 7.1 9.00936 392 80 157500 32142.9 6.01957 441 40 157839 14316.4 % 7.2 12.55911 288 80 157500 43750 6.11957 441 40 164602 14929.9 % 7.3 12.56911 288 80 157500 43750 6.15956 441 40 171556 15560.7 % 7.4 12.65910 288 80 157500 43750 6.37955 441 40 178704 16209 % 7.5 12.64911 288 80 157500 43750 6.42955 441 40 186047 16875 % 7.6 12.50911 288 80 157500 43750 6.67953 441 40 193588 17559 % 7.7 12.49912 288 80 157500 43750 7.23949 392 40 178961 18261.3 % 7.8 12.59911 288 80 157500 43750 7.27949 392 40 186024 18982.1 % 7.9 15.28892 252 80 157500 50000 7.18949 392 40 193271 19721.6 % 8.0 15.28892 252 80 157500 50000 8.24942 392 40 200704 20480 % 8.1 15.18893 252 80 157500 50000 8.13943 288 40 153055 21257.6 % 8.2 15.24892 252 80 157500 50000 7.67946 288 40 158794 22054.7 % 8.3 15.17893 252 80 157500 50000 7.28949 288 40 164675 22871.5 % 8.4 13.31906 175 44 157500 39600 7.71946 288 40 170699 23708.2 % 8.5 13.39905 175 44 157500 39600 7.92944 288 40 176868 24565 % 8.6 13.41905 175 44 157500 39600 7.51947 288 40 183184 25442.2 % 8.7 13.59904 175 44 157500 39600 7.77945 288 40 189649 26340.1 % 8.8 13.53904 175 44 157500 39600 7.91944 252 40 171731 27258.9 % 8.9 13.52904 175 44 157500 39600 8.43941 252 40 177652 28198.8 % 9.0 13.33906 175 44 157500 39600 9.17935 252 40 183708 29160 % 9.1 8.38941 150 26 157500 27300 8.51940 252 40 189900 30142.8 % 9.2 8.37941 150 26 157500 27300 8.97937 252 40 196229 31147.5 % 9.3 8.43940 150 26 157500 27300 8.92937 252 40 202698 32174.3 % 9.4 8.45940 150 26 157500 27300 10.25928 252 40 209307 33223.4 % 9.5 8.66939 150 26 157500 27300 9.96930 252 40 216058 34295 % 9.6 8.36941 150 26 157500 27300 10.02929 252 40 222953 35389.4 % 9.7 8.41941 150 26 157500 27300 10.31927 175 40 159718 36506.9 % 9.8 8.42941 150 26 157500 27300 10.94923 175 40 164709 37647.7 % 9.9 8.37941 150 26 157500 27300 10.31927 175 40 169802 38812 % 10.0 8.37941 150 26 157500 27300 5.86959 175 13 175000 13000 % 10.1 14.53897 96 26 157500 42656.2 6.19956 175 13 180303 13393.9 % 10.2 14.49898 96 26 157500 42656.2 6.02958 175 13 185711 13795.7 % 10.3 14.43898 96 26 157500 42656.2 5.80959 150 13 163909 14205.5 % 10.4 14.61897 96 26 157500 42656.2 6.10957 150 13 168730 14623.2 % 10.5 14.57897 96 26 157500 42656.2 6.33955 150 13 173644 15049.1 % 10.6 18.89867 80 26 157500 51187.5 6.54954 150 13 178652 15483.2 % 10.7 18.88867 80 26 157500 51187.5 6.72953 150 13 183756 15925.6 % 10.8 18.76868 80 26 157500 51187.5 6.06957 150 13 188957 16376.3 % 10.9 18.78867 80 26 157500 51187.5 6.21956 150 13 194254 16835.4 \subsubsection{Evaluation of two potentials simultaneously} One on the simples and most effective performance tuning is to combine two potentials evaluated by a cutoff or direct method. {\sc ProtoMol} offers to combine the pair-wise potentials to be compute at the same time, which for big systems convergences to a improvement of close to 2. This idea does also apply for the fast electrostatic forces, which have a pair-wise part. For the exmaple BPTI with 14281 atoms the total force evaluatation takes 9.1s for 10 steps: \begin{verbatim} Force LennardJones -switchingFunction C2 -algorithm NonbondedCutoff -switchon 1 # C2 swf switch on -cutoff 8 # C2 swf cutoff -cutoff 8 # algorithm cutoff Force Coulomb -switchingFunction Shift -algorithm NonbondedCutoff -cutoff 10 # shift swf cutoff -cutoff 10 # algorithm cutoff \end{verbatim} Where combinding reduces the total force evaluation to 5.8s: \begin{verbatim} Force LennardJones Coulomb -switchingFunction C2 -switchingFunction Shift -algorithm NonbondedCutoff -switchon 1 # C2 swf switch on -cutoff 8 # C2 swf cutoff -cutoff 10 # shift swf cutoff -cutoff 10 # algorithm cutoff \end{verbatim} \subsubsection{Look-up tables} One may also consider to replace computational expensive pair-wise potentials by look-up tables, but at a price of more memory consumption, lower accuracy and increase of cache misses. \end{document} protomol/doc/ProofAngleForce/0040755027616700000500000000000010237151525015576 5ustar pbrenne1dipprotomol/doc/ProofAngleForce/.cvsignore0100644027616700000500000000005410237151525017572 0ustar pbrenne1dip*.pdf *.ps *.log *.aux *.dvi *.blg lcls.bib protomol/doc/ProofAngleForce/3atoms.pdf0100644027616700000500000001230010237151525017470 0ustar pbrenne1dip%PDF-1.3 %Ç쏢 6 0 obj <> stream xś­TIn1 Ľë<:Ě›–k€<Ŕńü`;^ć0Č˙gZť‰Ü‚Z U,î:SeˇšßvOĺ\ľ|wzţU„^ŠŚĘ1¦˛{7:íWn¦Bâ•U„”ŐG4+ŰlşËÇ@Ś|ÍŢĂwŠ]±ĽË®€t‹DŚĽín–|,+ĄY.†Ź©ËĎňXÄĆ`ş«˛őLpiZWśćť{‡lĘ‚SgçŮvž‘‹ß *,n–ĽůH‹ĄB&í C`qăc“a±˘X=îŤáC×ětJăj4u(’[ öÖéčÁ-(¸ ÓŮş}ˇGÖŤó‘Ă$±Î‹!6ťŹVĂÓôř~JAendstream endobj 7 0 obj 623 endobj 5 0 obj <> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 12 0 obj <> endobj 11 0 obj <>stream xśŤ‘ĎkAÇgj !jüĹCxţRzÔJcKlCc D6»łÉÍÎvg˘M{ëX/^ Ť? ĐˇÍA¨‹žÔŁ˙‡wÓőŕl‚ĆŁ·™÷}ďűy?0ŠŚ Śq"s˝8[ľoÔJĚ #çý1쏏ř㇂kÁŢÁ÷‡‡“(űbăź<Šžő&NůŰ'ýöqżub`±Śźŕ=ü®°P„<3Ĺ=Í%)bNå劀‹““Pj€ŇÓ'D…€I-Sóą[3s8›™+@†ŘÄŐ,ČŐKŐ!KubsrLć‚5ř€Îl Ęlž†Ë4ŕŃ©*"K:qB!qk”sőʡěj¶ ÔÖ­şâUÜd¶ÇeJŻ)EYĺ\w©#@sW§=ŠŠ&B.§JfŞLéőQő4ˇQ› K"ä””;–ÖP\e帴ßBťS»<¤§Ŕ%eÍ5,ÂűľáV†óÁ?SkŽc5úµ¬źő—O'–™Î Í6” NČ!;\ţEY !„~ŚF0Ž<ňž&üçş^wß{˝˝fďʨ!őű¦•ąaH Óť3źşćŰ»odWv7v·ż}Üý)˝1é%«?ć?;·_Ý‘1/ţ+>şDWfí› «*\ą(«›Ë[ö‡•/«^4¶Yóđú×öűćVgł%[˛Ă›µvq}f-Ŕ±DďŇ˨ŚË#ýéó endstream endobj 14 0 obj 546 endobj 9 0 obj <> endobj 8 0 obj <>stream xścd`ab`dd róvsŃöHÍ)K-ÉLN Şýfü!ĂôC–ů·Ófüňe•eđ™óŚwŃYˇď­‚ßëřżW 0032VôÎrÎ/¨,ĘLĎ(QĐ ×ÔÖÖAZZZ*$UÂd\R‹3ÓóÔ€Ś˛Ôśü‚ÜÔĽkg ęśśĚd…ôśĘ‚Śb…Ä””Ô¶°ÄśÔl·ĚśĚ‚‚ü2 gM#C] aä—™›TZ¬śW¬ŕŁ”š^š“X„"ČŔŔŔś™•ÍŔŕĹŕÍŕĂŔÂČȢ;ńű*ľďEÝ ~”Ď˙î;ź±çów­ D-ţ,¸Çö3—Ĺ\é>PţwŢŐź2`Źď1_Ę˙yĂ^UŃŃÝÝS%çÂ>µsB׌nŽ—{6^’˙ÉËţ=‘ĹBéߏ¸ÁÝ@ćŠZüÍ˝÷=íÎí﮿7°~bűťőýőwŻďž¬ lż‹~±ň•,ú±¤ĂgŰM®{Ü7'đđ<ÂĂËŔ^¬¤> endstream endobj 15 0 obj 388 endobj 16 0 obj <> endobj 17 0 obj <> endobj 13 0 obj <> endobj 10 0 obj <> endobj 2 0 obj <>endobj xref 0 18 0000000000 65535 f 0000000946 00000 n 0000004824 00000 n 0000000887 00000 n 0000000994 00000 n 0000000727 00000 n 0000000015 00000 n 0000000708 00000 n 0000002175 00000 n 0000001939 00000 n 0000003772 00000 n 0000001287 00000 n 0000001063 00000 n 0000002741 00000 n 0000001919 00000 n 0000002648 00000 n 0000002668 00000 n 0000002698 00000 n trailer << /Size 18 /Root 1 0 R /Info 2 0 R >> startxref 4874 %%EOF protomol/doc/ProofAngleForce/Makefile0100644027616700000500000000025610237151525017236 0ustar pbrenne1dipdefault: proof clean proof: proof.tex pdflatex proof.tex pdflatex proof.tex clean: rm -f *.dvi *.aux *.log *.blg *~ realclean: clean rm -f proof.pdf proof.ps *.bbl protomol/doc/ProofAngleForce/proof.tex0100644027616700000500000002050710237151525017446 0ustar pbrenne1dip\documentstyle[11pt,graphicx]{article} \textheight 50pc \textwidth 41pc \topmargin -3.0pc \oddsidemargin 0pc \evensidemargin -1pc \marginparsep -1pc \marginparwidth 0pc \newcommand{\comment}[1]{\textit{\small {#1}}} \newcommand{\cpp}{C\texttt{++}\ } \newcommand{\tcl}{\textsc{Tcl\ }} \newcommand{\ProtoMol}{\textsc{ProtoMol\ }} \newcommand{\SamdII}{\textsc{Samd 2\ }} \newcommand{\MOLLY}{\textsc{MOLLY\ }} \newcommand{\tempstart}{\texttt{<}} \newcommand{\tempend}{\texttt{>}} \newcommand{\rij}{\mbox{r$_{ij}$}} \newcommand{\rik}{\mbox{r$_{ik}$}} \newcommand{\vrij}{\mbox{$\vec{r}_{ij}$}} \newcommand{\Si}[1]{\mbox{Si$_{#1}$}} \newcommand{\Vr}[1]{\mbox{$\vec{r}_{#1}$}} \newcommand{\Vx}[1]{\mbox{$\vec{x}_{#1}$}} \newcommand{\hatr}[1]{\mbox{$\hat{{r}_{#1}}$}} \newcommand{\AbsVr}[1]{\mbox{$\left| \vec{r}_{#1} \right| $}} \begin{document} \title{ \begin{Large} Proof of Angle Force Derived from Angle Energy \end{Large} \author{Qun Ma \& Jes\'us Izaguirre}} \date{\today} \maketitle \parskip 0.3cm %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{The Angle Energy and Force} Angles describe angular bonds between three atoms. These bonds are modeled as harmonic angular springs. The layout of three such atoms are illustrated as in Figure~\ref{3atoms}. \begin{figure}[hbt] \centerline{\includegraphics[width=1.5in]{3atoms.pdf}} \caption{Layout of 3 atoms} \label{3atoms} \end{figure} The energy of such a bond between atoms $i$, $j$, and $k$ is given by: \begin{eqnarray} E_{angle} & = & E_{\theta} + E_{ub} \label{eq:AngleEnergy} \\ E_{\theta} & = & k_{\theta} \left( \theta - \theta_0 \right)^2 \\ E_{ub} & = & k_{ub} \left( \AbsVr{ik} - r_{ub} \right)^2 \end{eqnarray} \noindent where\\ \begin{tabular}{lcl} $ k_{\theta} $ & = & Force constant specified in the parameter file for this bond type,\\ $\theta $ & = & $\cos^{-1} \left( \frac{ \Vr{ij}\, \cdot \,\Vr{kj} }{ \AbsVr{ij} \AbsVr{kj} } \right)$, \\ $ \theta_0 $ & = & Rest angle of this bond specified in the parameter file for this angle type,\\ $k_{ub}$ &=& Urey-Bradley constant, which defaults to zero, \\ \Vr{ik} & = & \Vr{k} - \Vr{i}, \\ \AbsVr{ik} & = & $ \sqrt{(x_i - x_k)^2 + (y_i - y_k)^2 + (z_i - z_k)^2},$ calculated distance between atoms $i$ and $k$,\\ $ r_{ub} $ & = & Rest distance for the Urey-Bradley term. \end{tabular} By differentiating this formula, the force for this bond can be found to be: \begin{equation} \vec{F}_{angle} = - \frac{dE_{angle}}{d \vec{r}} \label{eq:angleForce} = \vec{F}_{\theta} + \vec{F}_{ub} \end{equation} where \begin{eqnarray*} \vec{F}_{\theta} = - \frac{dE_{\theta}}{d \theta} \cdot \frac{d \theta}{d \vec{r} } = - 2k_{\theta}(\theta - \theta_0) \cdot \frac{d \theta}{d \vec{r} }\\ \vec{F}_{ub} = - \frac{dE_{ub}}{d \vec{r}} = 2 k_{ub} \left( \AbsVr{ik} - r_{ub} \right) \hatr{ik} \end{eqnarray*} where $\hatr{ik}$ is the unit vector in the direction of $\vec{r_{ik}}.$ Hence the angle force on atoms $i$, $j$, and $k$ is calculated as: \begin{eqnarray} \label{force_i} F_{\vec{r}}^i & = &\left( \frac{ 2k_{\theta}(\theta - \theta_0) }{ \sin(\theta) \AbsVr{ij} } \right) \left( \frac{ \vec{r_{ij}} \, \cos(\theta) }{ \AbsVr{ij} } - \frac{\vec{r_{kj}}}{\AbsVr{kj} } \right) + 2 k_{ub} \left( \AbsVr{ik} - r_{ub} \right) \frac{\vec{r_{ik}}}{\AbsVr{ik}} \\ \label{force_k} F_{\vec{r}}^k & = & \left( \frac{ 2k_{\theta}(\theta - \theta_0) }{ \sin(\theta) \AbsVr{kj} } \right) \left( \frac{ \vec{r_{kj}} \, \cos(\theta) }{ \AbsVr{kj} } - \frac{\vec{r_{ij}}}{\AbsVr{ij} } \right) + 2 k_{ub} \left( \AbsVr{ik} - r_{ub} \right) \frac{\vec{r_{ki}}}{\AbsVr{ki}}\\ \label{force_j} F_{\vec{r}}^j & = & - \left( F_{\vec{r}}^i + F_{\vec{r}}^k \right). \end{eqnarray} \section{The Proof of the Force Expression} The proof of the force expression follows a straight-forward approach -- application of ``chain rule.'' Let \begin{equation} C(\alpha, \beta, \gamma)=\frac{\alpha + \beta - \gamma}{2 \sqrt{\alpha}\sqrt{\beta}} \end{equation} where $\alpha$, $\beta$ and $\gamma$ are scalars, and $\alpha = \AbsVr{ij}^2$, $\beta = \AbsVr{kj}^2$, $\gamma = \AbsVr{ki}^2$. It then follows that the angle energy can be expressed as follows \begin{equation} E_{\theta}(C(\alpha, \beta, \gamma)) = k_{\theta} (\theta - \theta_{0})^2 \end{equation} where $\theta = \cos^{-1}(C(\alpha, \beta, \gamma))$ since $\frac{ \Vr{ij}\, \cdot \,\Vr{kj}}{ \AbsVr{ij} \AbsVr{kj}} = C(\alpha, \beta, \gamma). $ The force (negative gradient of the energy) is derived as follows. \begin{equation} F_{\theta} = - \bigtriangledown_{\vec{r}}E_{\theta} = - E_{C} \,\,C_r \end{equation} where \begin{eqnarray} E_{C}&\equiv& \frac{dE_{\theta}}{dC} = - \frac{2 k_{\theta} (\theta - \theta_0)}{\sqrt{1-C^2}} = - \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta} \\ C_r &\equiv& \bigtriangledown_{\vec{r}} C = f \, \alpha_r + g \, \beta_r + h \, \gamma_r \end{eqnarray} where \begin{eqnarray} f &\equiv& \frac{\partial C}{\partial \alpha} = \frac{\alpha - \beta + \gamma} {4\,\alpha^{3/2}\sqrt{\beta}} \\ g &\equiv& \frac{\partial C}{\partial \beta} = \frac{-\alpha + \beta + \gamma} {4\,\sqrt{\alpha}\, \beta^{3/2}} \\ h &\equiv& \frac{\partial C}{\partial \gamma} = -\frac{1}{2\, \sqrt{\alpha}\, \sqrt{\beta}} \\ \alpha_{r} &\equiv& \frac{d\alpha}{d\vec{r}} = (-2, 2, 0) \sqrt{\alpha} \,\,\hatr{ij} \\ \beta_{r} &\equiv& \frac{d\beta}{d\vec{r}} = (0, 2, -2) \sqrt{\beta} \,\,\hatr{kj}\\ \gamma_{r} &\equiv& \frac{d\gamma}{d\vec{r}} = (2, 0, -2) \sqrt{\gamma} \,\,\hatr{ki}. \end{eqnarray} The differention of a scalar variable w.r.t. a vector follows a standard procedure. \footnote{ $\vec{r} = (\Vr{i},\Vr{j},\Vr{k})$ and in the next few sections, $r \equiv \vec{r}.$ $\alpha_{r} \equiv \frac{d\alpha}{d\vec{r}} = (\frac{\partial\alpha}{\partial\Vr{i}},\frac{\partial\alpha}{\partial\Vr{j}},\frac{\partial\alpha}{\partial\Vr{k}}) $ where $\frac{\partial\alpha}{\partial\Vr{i}} = -2 \sqrt{\alpha} \hatr{ij},$ $\frac{\partial\alpha}{\partial\Vr{j}} = 2 \sqrt{\alpha} \hatr{ij},$ and $\frac{\partial\alpha}{\partial\Vr{k}} = 0.$} It follows that the force acted on atom $i$ is expressed as \begin{equation} F_{\theta}^{i} = - E_C\,(-2 \sqrt{\alpha} \hatr{ij} \, f + 2 \sqrt{\gamma} \hatr{ki} \, h) \end{equation} Because $\sqrt{\gamma} \, \hatr{ki} = \vec{r_{kj}}\,- \, \vec{r_{ij}}$ and $\sqrt{\alpha} \, \hatr{ij} = \vec{r_{ij}},$ one has \begin{eqnarray} F_{\theta}^{i} &=& \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta}\, (-2 \vec{r_{ij}} \, f + 2 (\vec{r_{kj}}\,- \, \vec{r_{ij}}) \, h)\nonumber \\ &=& \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta}\, (-2 \vec{r_{ij}}\, \frac{\alpha - \beta + \gamma} {4\,\alpha^{3/2}\sqrt{\beta}} + (\vec{r_{kj}}\,- \, \vec{r_{ij}}) (-\frac{1}{\sqrt{\alpha}\, \sqrt{\beta}})) \nonumber \\ &=& \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta}\, (- \frac{\alpha - \beta + \gamma} {2\,\alpha^{3/2}\sqrt{\beta}}\,\vec{r_{ij}} + \frac{1}{\sqrt{\alpha}\, \sqrt{\beta}} \vec{r_{ij}} \,-\,\frac{1}{\sqrt{\alpha}\, \sqrt{\beta}} \vec{r_{kj}})\nonumber \\ &=& \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta}\, (\frac{\alpha + \beta - \gamma} {2\,\alpha^{3/2}\sqrt{\beta}}\,\vec{r_{ij}} \,-\,\frac{1}{\sqrt{\alpha}\, \sqrt{\beta}} \vec{r_{kj}})\nonumber \\ &=& \frac{2 k_{\theta} (\theta - \theta_0)}{\sin\theta}\, (\frac{1}{\alpha} \frac{\alpha + \beta - \gamma} {2\,\sqrt{\alpha} \sqrt{\beta}}\,\vec{r_{ij}} \,-\,\frac{1}{\sqrt{\alpha}\, \sqrt{\beta}} \vec{r_{kj}})\nonumber \\ & = & \left(\frac{ 2k_{\theta}(\theta - \theta_0) }{ \sin(\theta) \AbsVr{ij} } \right) \left( \frac{ \vec{r_{ij}} \, \cos(\theta) }{ \AbsVr{ij} } - \frac{\vec{r_{kj}}}{\AbsVr{kj} } \right). \end{eqnarray} The Urey-Bradley force acted on atom $i$ is as follows. \begin{equation} \vec{F}_{ub}^i = 2 k_{ub} \left( \AbsVr{ik} - r_{ub} \right) \frac{\vec{r_{ik}}}{\AbsVr{ik}}. \end{equation} The total force is the summation of the two terms. It is seen that the force on atom $i$ is same as given in Equation~{\ref{force_i}}. One can use the symetry of atoms $i$ and $k$ to verify the correctness of Equation~{\ref{force_k}}. The correctness of Equation~{\ref{force_j}} can be verified using the second law of force by Newton, ``The force acted on object i by object j is same as that acted on object j by object i in magnitude but in the opposite direction.'' End of proof. \end{document} protomol/doc/Tutorial/0040755027616700000500000000000010237151525014366 5ustar pbrenne1dipprotomol/doc/Tutorial/tutorial2_0.pdf0100644027616700000500000034716410237151525017241 0ustar pbrenne1dip%PDF-1.3 1 0 obj << /Type /Catalog /Pages 2 0 R /Names 121 0 R /PageMode /none /URI << /Base () >> /ViewerPreferences << /HideToolbar true /HideMenubar true /HideWindowUI true /FitWindow true /CenterWindow true >> /OpenAction 163 0 R /PageLabels << /Type /PageLabel /Nums [ 0 << /St 1 /S /D >> 1 << /St 1 /S /D >> ] >> >> endobj 2 0 obj << /Type /Pages /Kids [ 3 0 R 11 0 R 13 0 R 22 0 R 35 0 R 44 0 R 48 0 R 52 0 R 56 0 R 60 0 R 64 0 R 68 0 R 72 0 R 76 0 R 85 0 R 89 0 R 93 0 R 97 0 R 101 0 R 105 0 R 109 0 R 113 0 R 117 0 R ] /Count 23 >> endobj 3 0 obj << /Type /Page /Annots [ 4 0 R ] /Resources 5 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 10 0 R >> endobj 4 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 5 0 obj << /Font << /F38 6 0 R /F40 8 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 6 0 obj << /Type /Font /Subtype /Type1 /Encoding 7 0 R /BaseFont /Times-Roman >> endobj 7 0 obj << /Type /Encoding /Differences [ 0 /.notdef 1 /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring 10 /.notdef 11 /breve /minus 13 /.notdef 14 /Zcaron /zcaron /caron /dotlessi /dotlessj /ff /ffi /ffl 22 /.notdef 30 /grave /quotesingle /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde 127 /.notdef 130 /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE 141 /.notdef 147 /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe 157 /.notdef 159 /Ydieresis 160 /.notdef 161 /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] >> endobj 8 0 obj << /Type /Font /Subtype /Type1 /Encoding 7 0 R /BaseFont /Times-Bold >> endobj 9 0 obj << /Type /XObject /Subtype /Image /Width 1024 /Height 768 /BitsPerComponent 8 /Length 44144 /ColorSpace /DeviceRGB /Filter /DCTDecode >> stream ˙Ř˙ŕJFIF  ˙á8ExifMM*bj(1r2†‡iśČ  Adobe Photoshop 7.02004:05:13 09:44:44 ˙˙  (& HH˙Ř˙ŕJFIFHH˙í Adobe_CM˙îAdobed€˙Ű„            ˙Ŕ`€"˙Ý˙Ä?   3!1AQa"q2‘ˇ±B#$RÁb34r‚ŃC%’Sđáńcs5˘˛&D“TdEÂŁt6ŇUâeňł„ĂÓuăóF'”¤…´•ÄÔäôĄµĹŐĺőVfv†–¦¶ĆÖćö7GWgw‡—§·Ç×ç÷5!1AQaq"2‘ˇ±B#ÁRŃđ3$bár‚’CScs4ń%˘˛&5ÂŇD“TŁdEU6teâňł„ĂÓuăóF”¤…´•ÄÔäôĄµĹŐĺőVfv†–¦¶ĆÖćö'7GWgw‡—§·Ç˙Ú ?ôěÜĘ0q-ĚÉ%´PŇű\CG>Ć=Ëź®x—Y]5ăĽÝnCic74IĎô™•ę“é}/űGżíźđ(˙ó™˙ůOÔ˙í†˙éeźęôŻ·}»ţouTű¶}ťžź©żÖűWˇęú_lß˙j¶úęxc8’zTňj8dëq.Ą_X ŤäěÖYłÔsIâÝÚű˝®ŮűęmëŽ{73§ć \ĐQn­o¨Ňuwčźô}OôźŁYÍę==®oŐěŕZŕńĚćý˙;ôš­Îg˙ĺ?S˙¶˙Ą“tôď—ŚŃęküc˙r“ţp··NĎ?úďďR=~wěěí¤?@wKvňĎÜý'±˙ń?ó™˙ůOÔ˙í†˙édżç3˙ňź©˙Ű ˙ŇÉ{Síř…{°ďřW dĐŰĹvSşGkvĆ=Ëź®x—Y]5ăĽÝnCic74IĎô™•ę“é}/űGżíźđ(˙ó™˙ůOÔ˙í†˙éeźęôŻ·}»ţouTű¶}ťžź©żÖűWˇęú_lß˙j¶úęxc8’zTňj8dëq.Ą_X ŤäěÖYłÔsIâÝÚű˝®ŮűęmëŽ{73§ć \ĐQn­o¨Ňuwčźô}OôźŁYÍę==®oŐěŕZŕńĚćý˙;ôš­Îg˙ĺ?S˙¶˙Ą“tôď—ŚŃęküc˙r“ţp··NĎ?úďďR=~wěěí¤?@wKvňĎÜý'±˙ń?ó™˙ůOÔ˙í†˙édżç3˙ňź©˙Ű ˙ŇÉ{Síř…{°ďřW dĐŰĹvSşGkv adobe:docid:photoshop:4560bcd0-a410-11d8-89e1-bc23fac3df21 ˙îAdobed@˙Ű„˙Ŕ˙Ý€˙ı    XÖ§× !1"A2# QB$aq4T !Ó”¤ÔV1WAQa"q2RB#‘rˇb‚3đ±$4%˙Ú ?ż€˙Đż€˙Ńż€˙Ňż€˙Óż€łĚîQéžqŰp7ßRY˙»ÇKŘQ·ÓúzZň[ŐÔ:Ł/sK€Ĺ÷ă4*IkS#s$÷3É §§m%IĄ„cB9"ňŤ_;ó>Ë´·žĎÍ4c<ö[ě»–šyżŹ¶öÂ:#5`ů‹ÎÔY{Ę8·4V]ţOÁ,!wwmź’ňxÂY%ţčÂ3Fa,# óy>Ň9ŰĽzß+¬«ňWxvöŤőÍĹK-)µ;‘¬öďKblç«4ÖöVŘť)›Ĺ[WŤµËOóU–jµ;˝éŁŢŚ^‡ŕyG—Í Ľ«CS4°…·•WדFÍ1Ś×’Í[6CD= ňűs»3ů‡żÄfç,B’YŁ.©j/©îĄ…ş! .§–˛-Ś-Ź¬t»Fúźű‹Ţě^ňhľ?rkZf·O@n.VËLŕuŢ°ĘÝfužŤÔ—őgĄŹ»ĘęL­ĹĆK9żŻ=:5師RĄżd'§ŰŰ<#ÔyÇ’ö]Ěś§AwG‰RÉÉînĄ„·W˛CLa,’ÂÉ EŠó6s_ŚÔÝË‘u×)çľfr¶+qOÍ5¸…<&‡ľć®ţöţîymÓ,?$ÓĆHĆ!4şaëćěýéÎDńűBďŢŽĄ5ľ']hŮ5-ľ:ćĄ*·8»ŮmęÂó{řgžYkŘßPžśĐŹóBěţ^tóO/ŐňŻ0bĽż[Fţšö2[Iˇôšý# "ő'“ůš‹śągćjFZj»O ce˛Ć:&–6}eŚ#Ľ^}Ęý™\í÷&9ĄtŔe¶+‹»ŮGm5ľ*úL˝®±şł»ĚÔł˛ş±šťśmg´ž„´éÖ©ů!ZťJ˝˛É4!Ű~ÖSí†}UYµ«„Üť¬ÚĆ©yŠĹO»[y˘uŢ#6B”‘­.±ÓX­AN×-Üh]_KF\¤˛ËIߌ;;aDZ.?­Ś—VţĆ…I)W˝´ŁVĄZt)Ó«sFťJ•ëM hŃ’Iç„ÓU«4{%–íš?ŕ]–W’’Z¸ě•…ý9§«NZ–W–÷RMRŢnízrĎBĄIc=ż‰áţeŹůŰ+‹˝žö•žJÂî¦6´mň4íŻ-ëĎŹŻF1ˇ{%*“ÍkZ–1Śµ;łŕÚ9LeĹÝ\}ľFĆ˝ý îkYQ»·«wFŢ·g⸫m%I«SˇW˝ěń–ÍŰüD5}s—“aČî7ps†ş@MżĽŚÄe5]=wąňÜÝi-¦qWŮÝWĆZRą©yㆼ«Z1§aüőÎř&_ňő_1ă·±…5މd—ůď'ŹňÉ$>ńűÇD=b—a˙˛f˙\jÚ×Zbö·˘íî«C©.µ5önúĘoâŹű˝ţ?1kkJęHýi%“·üöĂřmĹřłË’ŃK&!Ě5sWF¶i!w !Ż¶KŮ˙4mi&!ţbóTőó^aś±C& Łí–ň7“O4żO|ŇĎB?ňÂţ.UĚ.vŕţŇ>ľ5çýŁ§˛z+x8ýźŇۉ¸»iFi2vůýZâLCUi{~[»Ě. ÷)-[Š1˙ň­éŇš­HBŚ#;ă䌼¨Ę<ĘĂż˝©’˙Ä®ď.n/ăűc%ě!ď–îň! §„¶Kĺš1„!ű´>ěÁĚú\îĘ|Sű Iéą ˝ş¨¨§‡î„÷1Ź˛k۸éŚd’iˇˇüŇš?·Ja›dŇĆĆq#mőěrKg4>—–Ľ™,¦şŔÖ«J%Ł†ĆŘ_QľÉćŻîdě’ÇŚłˇ5JŐęM-:röi Ć9ÓĄÁą[Ä*ăĹ%<đłë4ÓB0–XCë4ŃŤ„4Ĺ—rYŽóŹ/a”PŹćžŞHĆhzI,łB3O4Ó,°„cŁd!U%rç˙ačč]u–Űî+mŢ™Öř-9Vă {ąZć®VY»ë9¤Ą5ţ”ÄâŻlŞCŢ–i!=çlÓĆ^ô˛÷cµg’˙Ćú†s‰s†'{OQ{M ‹Żm˛Â:lĽšhG÷~’úz[kq9űüµ˙¦bwřO#a754·1Ś‘¨ľŚÖO44{®Ą–icíú[?Ż¬!cŮńSď¦Űů[݅䆅ÓŰc–ÜüUţ…ŃűŤŁnrSi«=A¨ńwl\5U¦bţîď-öRňś°¸ˇ?ࣻÓÂYqs‡řë?,ÜÝó+bµw4“Âúöâöűă$“Biże„!5’Â?¶:cé bçäoňŽNmżĽĺnpĂ.hŻëdšćę˘ć3~8^^K%ü°žhĆ_tŃ„=ŇÇŰXŮ®ď„Ô[aş›‡·ş˛Ö˝¦˘ŃúÇP`r´î!7~­Ĺ†Nâ”·´ç›˙äZdhÂ[ŠĄŚdŻF¬•%ŚešŽß`Ť.-áťđš–ţâIĺłíaŁôŚ±ŃzÂ0Ś#¦ ć .ŻÇ1|&ľHËWOQy$Öýc,Ń…ż¬&…“KHÂ0Ś4EŽEˇú }Dí>«Ú®ŤµĂëY<ľ§Ĺjm{O•Ą^Ú˙ŤŐ4ˇqŽÇWµą–Jö“ImF!NieŚ°©üÁć¦xă4xÖcăwô3K5Ĺ׶çÝ-‘„Ó]Â0šhF#¦6[ú=c˙p*ě*ązź–yj/ý×ţ١M$·±„e–0Žh…¶~©ÄiŽQćx“öc™ŃZ‹FŰń#Kr·™ä†“žŢY7GQŮSÖTmčÓŃůKĘq––RÍqF3ËŢ’ĽjÂXöţ8Mő Ľô[»%ňsđűł»<ˇ°ÄŰrcQę­%Ĺn#G€şsk«n•×ţ'…ÖŰś˝ĹĆo µuäÓ¸{ëťVzUëÝP…­[Ş“Ć—ýHI4¤BźĹ°úĂGînúňžZżsw›}4®«ă7×ŢÜ›ÄęĚöť´˙Ę8˝›ÁŇŁwžÂMwmnC“´…z‘ĄNŤÄ×Qžz‘Śý˝¤CD=>¬=łWş»Ź·<}×[[ą{§‰ĎnwÔîďo+¸şżQâgÝÚÚŹUá+ë >w3ŤÇÝÖÇă-ářéR’”•)ţIe„óM“6Ű÷qî2ęüĺľ›ŃÚăckr˘Â¶ áfňW徻՛Íu·š›u&Ż‚Ż„Ô­M©.+iÝF…ĐĄwaZXËĆMüĆ×îŮď«l&woů»ő«¨,w7uuď$8Ďą:Ëu¨ęí}©ő†s'‹´żĄ‹·…–W-ym%†6[zqŁO» dšHFíţH}7¤ÎĚąźŰ˙úúäîö÷˝ąëÎĎóŰţő»ťťťźĎoj~°D?’f(ű®ÝÝť©ľśŰ ýM”ĘńżQoŕŢr/FqÇ7Ż©őťÖ&ËNK s´—ÔőS1kZ¤cýi{oiţi§—»7dĐGčK黪Ť!O{ufÝđd7'UňG@h [Í~Cém?ŽÔ:‡r´ş­´·¸Ý7y§ńőrKĚV¦ĽĆŰҥݡ-j“ÓŁÔ–NÎôý°«ë>Ě=u¶–;“ł[ŇZŰUî ˘~Ďó\sÓ4®őž˘Ť|^ŰjÝG‘˝ËŇ·ą†OóSÎBľ.Źŕľ„Đş·—˝ u%„ÓB#Ň?ř9¶îę˝EKzůe˘ďąc¸<­Ř>Uč-˝ă{Dä7ŁWát®Ím– Ĺé»Ý;Şc§noôějÝiě #qŚ&¸ČO•jF¤ő&šblôô±Ű§ÓľŰęŤăçď-9ąŻşy,ŢĚj kOm¶KRĺ®tUľSr4'ţíČß`ň7UiŘßŮV­5:4)S§-)ű{Đ„d–(š:! Ăź›?¦4ĎÝşű ”ÖV’Ű:ë-n¨ëG lőţ‘ŁsŹÄF_÷8ÂÇOB•´łÔÇR„–U'íŚiG¶$}S.™lh‡î5~ܬ­ŕĹnŽë_k.aâ9őŠßĘąýÂŐyŰ ek¶şK)k¤§Że•ËÝЧwŹŤÇć…ie–¬+Ó’xMއj#lÜ˙ë‹´Ő}śSĺ§ÜťËÜĂŢüÖŞŔfčë­QÔ8˝9ŠŰ­c™Ňř›9 …ÍŐÍ:wvŞu«OVxÍů&Ś’öS–X& gŽ›»čŹ!˘±TţŃo÷űKătmlëf/5ĄÎ&ĎLR„ůKémżÜî3“ÓĹI ëöBźĺŚ;g˙É©?ú]IóŹ=¨őV®űEĺžéî%-Áă_)8Ń xń”Ň{Ź©ńšW@h­Qwśˇ”¶Ó8ŚfßVĂ)cŚ¶„°üSQ–Ćy;&©3Xýwp˙zň—ÝĹŐy|µ w¸Tö·Sę–;-y–­e5\–NĽ$šJ’Ď%µHĐ„úOąý?Ĺ’ą5îéjQi c®7!¦t˙Ö&Őî•Ž]o©©ă*k-+§.r¸ü…팹Imoe»ĽŹmäµeš[©Š°ž !gńaÝ_˘öŁmřÓÁl>g]r7p(kţęäŁĆM´ŐŹ4řŤĚÎd˛öŰÇu“˛ČG…Đv`$‡ű}9éBŇĄ•%§'çš3Ź¬YCovoż›·ôAŞ÷KYn~ŁÔ»ë·ű»×ů÷WÓĚR˛Ů+IäĐżööNžjKÝ?w$”%…őkIčÔľŚ#óTŚb}Ź¤Î5Łunŕo®™ăfÁîçneîÜnĎ?7ÚŽ»°˛×š˘Ç%šÇbëë 6XZ™{l­„¸Z¨K -aV)ÍO,°šŚt[­Ź/j#¬w‚Ç…ÜqÖµĽSí®cěËwö"çëK,ôűQe_gKGϨhćäËŐ°…śfĄ$g­4ôdž=ČÂ=‡ŘŽŹvŹŁéĐz‡S„űŁ·[uwŰRmö'ěÓ‘ú~Űěćăĺ÷'´>HíýżÓYě-üőqri‹›ŘŐ’ŤŐĹ*U*ĺ*OKţ´c0GÖ?ÁŹ6/su–ąÚni˝IšŐ9\€ű(›˘¬u¦_%›ÔZk©q5=9y}–¸ş»–É,ä“đ÷»”çďöB±őŹđW—Ú˙öĂ™j†Öë ÉŇŰQ¸ö:ź©¶ YjMOŽÓ˛Ý‹*[alě+Ţ_XÜ^ŐĚP»©iř­ćš´&­-I!ß’XÂbă–6Fߢpwăź\…Ě}yňŠűߎÍm78ŰŞv;o÷Wq´ĽÓb5Fămî»Ó:c“Éjű8ŇĘÝd®ĺľ·§4ň\F•őŚňÖŹoćž1}B÷B0ô{ľGq7~8'ˇ6Ż#‹ß=Y_b÷ł”ĽmĚm>ŹĆnáÜç4¬/±jóXŰj ü®VhŐˇś˝Ť~ý˝:•(ĎŮĆŘÂŚ#ôŇÔ-ĂÝť{¸›ˇČťĘÓ—\žÖÜŕÓĽÖŰřmĆ©ŰĘ»žŃZ7dq”n)ęĽöZkťŤ·«wVÎ3Y]P„ń’1îBY#S˝ ˙ěČü–±Ô÷[ËĎ˝üĄşŰ˝c­v7í»jößo-,7/X[éŚ.“×Ú·skę ]ľž§™—o$ő0ŇÓšť)cJ”‘Ą/e9ć–#íѲ|]ăw#ąÍżŹäć‡ßťWßn6}šdqYlľ ÖÚľŽźĽăž‘Ż“Ľ©·M-Š»›ŢžďF”(T¶–ŤZŚ“M١#BČYôjĎ7 Rn)6_蚼ŁÔÜ“˝űp˛Ço^żÄÝokláĹ<®çiŰčíCuiZënl°¸úÓŢFâ„Đ’4,gš;¶ňKÝ&>‘űXľ…N ˙Őż€,ű6^ç©`8uŹ´Ż&›ĽÉoĹÎnŢŹä˙m­”±Łłr`*_wařŁuB…íü-űŃíîĎWłţ-Ľ˙néŁSĎ“Ë/÷RËI #愱ŤOľĎŇ1„–˙4üĎĽŞ–“/n®ćźű9§­Śđ‡ňĆiaIřý߬!ýżĆd—7-ˇÎŃţš*e¦ű Řěf>‡÷±ąĘZóŞńuéÂă’ŇWşRÓÎŰfíjB{kś\¶qŚó¬łI,e„ß拨óĘ=łć ŰÉ˝··qąšîhhš[Č_I쌑ő„Öč…š]Űţ;Ćţ9µË77R{®oa%ě±Ó,×Q¸Ľ÷ÂxzF[4ĆÝ!ĺóCgľ“´ţöę«=?˝›Ă¦rPÉÜÇ=Ą¶[ a¬¶ç ‘ďÖ…ĺ®5‘Ĺäf–­+Ů&’­Ľ—UäŁ7l!Ý„! ČŢ}TŕsÔŕ47·^Č{/*¦ŤŐüňč˛3K,ŇúĂL&Ś°ŚWbf//ŤÔśÉ]wIĚ…Í÷ľ>űŞ9%ľ§’m6ÂIć–m0›De„ÓBű6Ďht/tWׯ45Żő–WpwžŰc5uľ¬Ô»‡b·Oi*”楑Że§éÚăĄÁcg’5? {jőęI cVxBVŤbŹ_™|‰AÔ2S`QÄ.ăw%Ďóý0ŚöÍď›ŇŘMŹ¤4łĚ ʬ7)łĘĚFňŻĄĂ/a{yűjîhÂîÉ}’úŮ4˛ţčÂĎtt$é¸í|éÔ©F¤•iO=*´§–Ą*´ćšJ”ęI4&’y'–0šI䚌#öÂ(Ś!4#ÂŘE0ŚeŚ&–1„ĐŽ«śaőą¨řűĆMwĚ˝u™ÚţEeö;kf»˝Ú*6Ů˝ČŐhś\ŘëŤ_¦ŞXĺ)ÜZT’oćň˝*3ËV~çĺîË a¦‹f•/2s^ČŘ|•|±&!Qd*cn.ăůf÷Bî{e˛?úaÂČ[f›[ë™x&OVr§%♉‰ŢQsućMlÔ°„ő’ţ}±˝»öÍl?őĆŤ±łÝd,k‡×¦Ěý.g·ËNvîîäk˝oowNľ‘Ń{ůÇé ™ˇ^Ţ®.Ą;‹\f2×3™…ä%Ť˝•kÉRicŇ©ö2ŚËÇsÚ›—ężţ--=aeĺíÓ^^ÂXÂ>íšhË-žłB[a÷Ęn]˙ęąšŹ˙ďÖUbPšŰ«šé%şąšxF–ČÂYa<ö˙,‘šČ٦X¬&îÎJŘ›ś}ś´¨Ó«Ž­gk%9e’…)'¶šŤ iÉ$%’JRKB‡d! !š3M4Ńš1ŚŃŽ›}mz,%–Ye’„†‹=,ýWoôáöW‰ĐĽ˘ă†•Ý€Áq˙–»»O\n>NöĎ3Ö–xš†žVÖßw˛ŰSĄ$”(ĎV—ăŤJ“Ňě„đ–nĹ6EËî—DlŇĘŰ­ő#Î}µÜMčĆq ]íeMşäĆÄń˙cuf»Ő™ Ξ×űIa˛m‚©ťÓăo­çČŢf$ÓjvSďB[{SŚ#R^üV#Ý łŽWë«XěΦűŢÍéÝĚU=ťŢ>QŮLĆáRÇäłšł[KmŐ¶;Xk¬¦ťyŻ22SŽ6âęJçüŐˇeďw»c‡»ŇČ}]+q‡eőFôr‹Žm·ä‚Ý­>¶·Wkv[_é]¨ôżý« r9,ĺö:}q§3Y;ÜśůÚyk‹¨×„“Ň—ńĆHBXFŚaTc˘1łęěăg>­ľÇęi VŃî®âmŽÚ]’ăvľŘ]±Óú%śşŁş÷Zš­ŤK WŻ,ˇţ­•ĺŮ˙š’w©öĆ„;ŃŚ&Ĺ>č6ŠßU›ď˛[óőőąş›Sh›Üö[톻ˇŽ­s5ćK9¨©ßIg_ $óĆZ–rĆćXÍ4ßĚ!,ů‡bÂ3B0‹6}Žđ_“ŁÉ>8s‡†ş‹o-÷÷Ź8,¶§ŁwJÔ´ŽŻÓy;Ü­ü–÷WÖWő- LĺÝ:„ŇM4•ˇf„eÂČÂ>Ž´ôOҧ7v–Ďfů3¦uöĎë>Zm˙'7‘™í´ÔSć(ížO˙ Ůi‹Zúb×PzJôgÇ\â.ç©RYá%JĄ§jSšiÖE>čz}ÇEýLs.ň^jýßÝÍ'«µŢŇň[t÷×rlëdňů =׶xą1Ú7HŢ_ÜÜTĽĄ‰»¶¸ěîÍřĄ§RHBéŹya ÇyźĄÎ[ăvKŚĐúďj$Ý} ĎKľZhűläąJšc'†Łţůw‰Ăĺë[]RŻJĽr7´!q,łK¨BxKfŚ&‚ĂÝÇL\>­>ĎěőžőéŚ&ĺl6’Ń<»Ţ˝żűß»zľŞŔëľĎŮäí3z“Eíć*ç3s‘ŻŤäըҞµJŃ«F„Ó«¶ "źt4;Aúäŕžçqtůo«ućĄŔęLNöëĚ{IÝc'Ż6N¦? ˛ĂT˝Î´Ów2 –q­Ťy}[QonĹí6âí6K‹\˘Ö{­w]k*Yi77nŻ¶WVŢŤ,6&ŇţÚÓ76jňîâj±îÍĐü2Â2O-I˘°„ĐŃŁK6ďgÓ>ýëkß°Ú:7UhK7(u^Ëäö–N˝Ü׬VŰĐ»Ł““Pw*Ë kÝFĽ#Jöú–"CC}€đ7uxő°?f<ŽŐů˝1Ł·ĽhÚ\5†*Ąy˛Ô5…ÜýźµĘÜÝÉRhÉ-ŤJş‘§3Bhń×Ý0Ť±–SµżTĽÉĺFÉo^ěnŽ¨Ůí3–ßţqźi¶3¤ă–«c}§4>•ŰěÖ™˝ŐQĽľş©‰ČÜáp˛Ú]Çż&ľ«ŇK%w1„#˙‹'mŻÔ':u·¸ CČmS±úkSîŻ +qŁKYh9ł7řĚ-î+s‡ÓuóSÜß\TĽŤJq’ĄŐz3I$c?d˛KÝŹjÄ{ˇ˘Ď»ྤţŃtţkdň™î+F¶ŮqwSpă},5l´±;as{{i¬s¶ßﯨ5ŤÍl˝Äť–q··Ą,’w©G¶%‰÷CK=SúśćŽŰhď¬=EłşŻe.÷s‚X}ŢĹfńšę\ÝĆĎÖÜüŤĽżŰˇ>.úÂî˝ 5Kw!VIăq&팰Ś±YčŹt?uľŚ]Céšuµ;_¬6×Vmc»5ÉťÄŢ|•ÔňVúQ`uĚůŞżÓ¸ÉÓąĄ^ĘţÖ®^?ÄÓ÷{’övĆ0ţV'ÝUŘo¦ŢFíĆG…:ĎUk}ľżŐ[cĚ]]ĘÍďĆba{GŚźWW°Żq¦4uj×5§ÉÂŇÓB'ŹdfŹoř‡ň±šX÷ ô˙Í˝§ĐÜyÔ;aŮśöîěŘ÷r‡Őy Ą%•Ň[źŹÚü~ýÂîĘîŇîjřąôZ·6´ŞS«RK™%’xM$ŃŠÄűˇmôzýŞú@ĺ^ŤÄí5¶¤×»]’ËčŢdRäF§˝ĹĂ%BÇ#‚©5Ý{ú»{›Ş—.ęÜ]F4éÔšxË,;#Łü–šlvźößŔ­ŇćţŘíÎČë?¦7[`7g»ÚG«©ÝÇMjËě-˝ëŕď-ęăjM… ˛×›˝$$§<˝šig•2ĆËmu…«ľ›9ąÉí)Ěíçä†ăěö–ĺ/&íörˤôe¶S!¶Ř|~Ëç´nwiwžň­ä*fm4} SB¤ŇĐŹz¤ý°Ś Xźt4Cčđ(ýĂv«•Z#ű7w…¶‚Ń9]ŔÉd¬rýŮ˙čfŞĂVĐ–I!üMSÇř„ĐěX{ˇŁř1Ő—Ó·:tţüftn“Ý͸Ӝ_ŐĽÚ·ćć¦Ü\GUa7Bó'V{©r{Gw„Ćf­¨d´Ý\eíJ2ĎVXÓšîÖŹdťęe‡ş~¶9ľÉ}_}‚ífôhMżÇn>ÓéN-hx\sG!®4ŐćvŰp÷sŞ0Ů{ÝžÔ;kętżÚ/pŘę¶ňÍROëÉ^ĽgšIŰ,Vš~¶)©*˙Öż€§ÜŢá®Ýsd2űEŻ'©‹Ľ’·űĆŚŐ¶”¤©Ňzž…)¤´ČŇ’nÉ®ljF0–ęŢI ôáŮÂ0„a›r<â|ŹÜăXt!<–{onăéywé—ôŹôͦȺű2˛óĚľZ¨Ŕ1HĆKË}÷7°‡îşĽ„4MĽżIĄŃî‚F5Wţż<÷Ăę[ĽVť˛ŰU‚ţőZ8ÍIK\QĹÓş˛…^ĺ Ëěuĺ”n±“Ô§M5>Ú˝ĎćšnĆéQ˙’YsK%őMĺ]ÍG¶šHÝFk#fBhFÉżŽ‹~Đh=wřĄštő“ÜR]Ń_ŇűŁ o!} m…ş#4±…˛ýă 6}âĎ[ÇÁś×ŐwsóZš†c“űéw‹Ú[=MĄáZ­©ŃąyŁw¬1şo%<)ÝWĚęŚ5Ť{+ŚŹeRęj2S–hţF9ć Ćqf„ÓŇFNRĂ嚢7wźÍQ{.‹ą§—ŇÝÍM 4ţéa4côe<Ă–U9–X®5SY ÎuÄć––—vűingÓ{-ÜޱžňHFIŻ4~ÉŁ,%„t§ i¦ži§ži§žyŁ4ÓMÍ4ÓM٦šhöĆ3F1íŚbÚ(B„!hiücĆ1Śt¶{†Ű·›Ů®E힧ĆOVăÔÝ3¬ôěŃž¦/XčÜýÝvKg,ˇ4)ä1Y[:Ń–Ą)żăF‘„"Äąă¸Ç9c¤˝„!}-Ô×—S˙ŞęöHFi/$Źúf–0Ńk—őO.óv [sÍq=ô·w×齹ĽŚ%Ľşž_őK4#dar\ĚúÜŤ®˛Z«ŽZŰnn¶łPÝVÉbôŢâë M¨t¤/ŞţK]=owN­®¤§JNôd­'ŕžKŮÜŹdcŽäoň+ ®Ăî¨ů˘‚Ş˝Ô°–iînŁ{%ĺÓH\Ń„•çşŁŢĄţŽüf‡ÍĎy˙EO˙or•%L¸ťdauëé#u ¨^FĆieŽ™¦˛1öĆŘBXéÓeŹ«.ĆŚBž«ţčçZÚYđšFú÷ľŤünˇá$óBČI/şX{ˇdŃš·E¶şäíjmńŢ}ĹÜíWu{Ôú§-ugFâ3KG ‚ŁwR×OiÜu´ÓM-Ž+OáhĐł¶ˇ/ńJŤaüǶ1ŘľZÁ©9Ă0š;¸Kwus,#z͵Ţ=ŞľÜśžÎÚn•ąÝ<6:Ű/•Đ4˛öłę‹ eĺ .­onqPźű4čW¶©,ňĆ0˙–0Źř[§Ŕń‹Ľ*ëź ľ†y4e–ú2ÇńĆhFČÂz[č]nů‡˝Ćoąz︎9w$'šâĂňK,al&Śľ¶FTĺ÷+´u÷łi5FSQ]ĺ4FGDÜj,eÝLµěj×ĂĺôÝÍŤY˙ĹxÖ…JhG¶1Źl±‚ë}ČÜáOG6!Ë•rŃBîĆxÝÍíöFÂk~ц›~Ë5>aň5U|¸]?5QOFň7p»…ěľď|#팖T# ,ű°¦Ĺńoës‰[˙_Oě†ßěŢŐň'W黜Ťľ‘«˙{UŃ×÷…ĚŘFhöAp‡*ó$c‰Â%LcG˙Ďű#ţÖ‹ôčÓĄkŹ9r¬!„Ć<ÁKW˙ú˙îKţő‘łýżęÓŁGŐę5ß,řÓ¶®ăCn÷mÖŹŐö’ÚĎw§sÚŽĘĂ+k%ő:u¬ç¸µ«<'ˇ%Í*ŇÍ$ÓvBhM>ÉĽŐ‹QËaUýÖŮ<’F2ĆͲ?[,ŇůńN|äÜş|3ćZ:|B[-»žňÍ aÂŘGŇŘFZ϶W–™K\……Í ËŰz7vwvŐ$­osmqNZ´+Đ«$f’Ą*´§„ŇÍĆ„{XĺĺÜ÷SĎwy$eĽ–1„a„aëĂôeWw—w×r^ÝO ®¦„#ĂL#é„a´^J…`1Öěí&Űo¶ŢęM¨Ýí‡×űs«čŘŰę]#źŁRľ#1G”±ÍŘIyJ•Z5&…¦[oq$ešXÂĄ)c˙ôr}+ĄôţÓsEé,M¦Jé Kéś>HŇ°Âéü>߆ÄŮSŚÓFť¦;iNŤ9cĆIvß˙׿€]Ďî&YsCŚZűd˙ąkÔ™ąťť»–1ŁŠŐ;ŞY _ö'–J•)Xd§ˇK™Ą–iĄˇZiˇ,Ń„%Žw–üĺyȜهcߎ3ŇËË{$=f»ž٬űĆ[}Ňţ°®sWîó’ń^[ü’ÝÖOOs<}%˝’0š[~ŇÍg¶h˙Lc"üú7ŁŠ|…ăö¶Éh ÓÚŤc§sřęłBXĂ }ŚČÚĆ­JvŮVRĆ…{;ŰŮ)ţJSK4'Ť9ĄŚŇËŰŘôźçZćJ ¬KĆ./i¦‡őBK4Ë4±Ś#ĂŇ?KmŇň‡ů›9SľÂ±Ě ˘ć®H˙DÓK4-Ń4łKÂ2Íë 6Ů[7ŁüÜ)*ćy™ľZPiŽ6qż”Ýś´ŮË*Ř{íÎĘhŮżaˇtĺµÜ´®á …ĺ:Řşšś$§F0…8TšxB{™†F[ŽFĺüFîűšqKÉiĺöFBâ[Ý˝ž0¶¶űe¶ŘÇÖČAŮŮ_–´&©ĚNfÂďny;şšŞo|#$Ő3\ţénná#űŁgşhÂČCŇŘĹŁü—ĺFórżs3;›»š»%šČ_]Ü͆ĂËusOĄ15+MRצńq­= f2ÎHÂÉ$?öÍŘĆ,˙•9Cäě*ă Áh¤»»–X{¦˛űɬÓ<óYlÓGďZsźŻż/óËüjăĂ+'ŤÓÂŚcwuÉ4±Ť‘ŚeŚ}łzË5‘ú6ťź_۱łš®Ď·ú3?¬xĺ˝”l77m5f_- '_ŘÓŐ”4nŁ·±–âćÇ+¦ĄČÍkůf—ń\RŁ-NôłÍ591¬˝ĚŚŁ˙ˇbU×wŃAÜ_ÝĎKďšć?Ž7˛F6B2Ďí÷YëĆ0ÓB1Ë3?*qŢ^®˙¸°¬:öŁ”1(KSO{$±›Ů-üż–7–ŘË5ß»Űo¤Đ„#l#ÂżÇÎň'“;Ű˝­Ű=K’É\Ń’ó/’Ĺ_b´î5ztn˛ů¬µí VöÖ6TďÔ„±ž´e„{’Má—s/ËYj,tFCĽĘY]cNj:˘}{FŢ®n®Š©eVHËi hŇ–¬łĆ3Bi»š¬k–¦Ł¤˝˝—š¦ĺ)c%·˛ÍM7¶ďMßáŚ}ź–ŘFŮ˝ÖŮf‹<š’—­ąą›“¤çYáyíąšJąa5ě,Ľüđ„gŤÍ–Y/¶ËmÓlY]ë}îÔűý¨ľĐtîĘnžkBčžIéi4~ą§kZ–6Ë`4_sM_ééjµhç«Űän/ŞO=oęÂIŁ4#ŰŮâهP`śąK”µXőŢ!Q…Ţ~K«aîŤeďď…çä…˛B2„!î]ńLO™kyŞŻ:čůnşó ¦Ć.˙ô!l(nŰšďńF0ž0š3F1Ź¶Ćúrzä֚󞼎ї°ĘO¦ôFŮp_Ž×Tg«N9M{»ŮZQÝ{|5iĺ’­ ŤŚ–4¦©NY#4°ˇŢŹü{:ë–°ĐaŮuĘő÷~Č^Ô_âŐ°ţ›šiüxͬ±¶6GővŹ6s$¸Ž)š\߇^űăsMM‚ĐFţëúąˇýÔ$Ź¬&—Ű agúZČͧݭq­µüv[e· ]i®=´ÚMšÚMK‰§&/¤÷#fŻtÎŞÝ­Y‘±ĽŻkyŞˇ“›JäaÚÓ«ůł-Hw¦Ś°ŹcňĆ3‚áôoý{¦§­ćŠşšš™&ýÓ^\TÂňîžîXÂ…ß·ňIüŃ…žŘĂîęľoŔ±ěOĹíÎ\«ŞĂů>Š–’–ň_Ű-ŐE$nďjŻf–1„o}ߊóůa}ĐŽŘá|ĽÝlóďw)÷–ŻÂhŰ íâvÍÝŕíuFÉj=c’×ÚĘŰLéÜŽco¶ű55•;ťşÔ”ł˛VĄ5ü$ž3Ó–4ăC¶/ż’°jŚ ĺ 64W—÷”ÍL'ŤÝT—RÜÝFňyeľľ–Ű/¤öYe°˛:VŢÇią‹™yă–ľîžëŔi#$/(ď/fżľ…ÝÜÓÜ\Oí¶žňŰ}‘¶±Z\+«y[‰Ľ|ź!˘ó;yy ­ŇÔëčÍC['šŔÍFÂJ0¶Č_\ŇŁq^˝Y$…oőÉ,Ҥ%Ś!4Óź!$ĽĺĚ°»Ż’ŞOď/,˝’–Y퍶Ë[Bš>ÍňˉŻ&ä>SŤîyIyýŤŐ·7“Fiä˛[,šhÂŚcë¦[>Ä™¨˙Đż€x·vVwôˇBúÖŢňŚ*IV®hÓŻNiĆ1’¤$©,ŇÂy#â?ć 伞î>ëąă,Ö}#b‹Ë»»Ů}·˛Bim¶ČÂÝ-nćfĘŢr'‹{áłş˛ĐĚkÝżÎá°uçšhSĄ›šÚ5±SÔ„±‡~ź÷iIËâhG˛,§‘±é9c›ą˝…·Ő2M|_ˇŔđÚĚW¨–îŽâHÍ4cCŇŮ }cHCëÓฏ1bÔ8.M5í}Eä$–YaúĆËcg¤˛úÍHBżMmŤŰżüS˛»W¶Óą­ˇ¶ďHé,…ifšĄ»ü.Ç’Ż'äíŚh\ŢP©<°Źń fě˙(ů˙¬cŘĆ-,# j*Ż/%‡ÖšxÍ,?Ś!=žĺś#ţ…Ë 4a©©.®¦ŹŇ3I$˛Í?HĆ‹&ŮŘŮăčÂÚÂŇŢĘŢM<(ZѧB”'›ţiˇN”˛ËŢ›łůŹgň´Ďy=äŢëÉă4ßxĆŐęîęîę_eŐÜ%“íY•ţ˙0Š…o–;B…kZ6V”­®&«5{zvô¤ŁZjÝżšj´ĺ–TšŻoúŁG·ţ.HŢŢM4łÍy4g‡¤mÓ =rÜÝK$ŇKw,$Ť¶ÂČY}m‡ęřÍŚÇMi%„ÖsYRüŽŇ6ôŁmOńM ©w(ĆOÇ/㚌˝ţ#ŕ…őě'Ťä/&ü‘úŰâŹĂs¸]Fę_ĹĄłG¦‡Ń6 5¤öb1łXÔ«ő,沶Ť´őăŘÖž„iţ9ŞF0˙š0íUýĹD'…ä/§ü…–Űlţ*cKM¸ÝFžOĹŰe˛ß˝źwÝ.+%ŚŘÉ1öRc¦’4ć±–ÚŚ¶‘’oů¤ŤĽ$…(Ëţ;;Ćúö7ź–7“~_˝±·ţ*ˇqs ¨ÜÂę_Ăý6BĎřz15>;lu,}T›]ŁeĆŰî]]ăĄcţÉeýiwB´—4ękxŃü]ɵ dĽ©ěFţÉŁüŻ1ć~`Ťä×ŃĹď˙,i?¶·ß,˙kţMýľ‹ 9G–au-Ä0JĂ ŘŐÂ_d,ţć6˙˝eźüšcű˝t˛í,}Ť]KFÎÖ”·Ő*Ő˝–ť RBî­~ßÍRćËVžŻz=čÍŰ»•–7—“{=ÓĆ>ŘY >–zYö_ĺşş–Â[ąa ŁÇD4Ć>¶ýízů4Öť§RŤjx,D•mŁ$ÖőeÇZKR„Ô㠩ƌ𥠩ƜЄaŮŮŮ,jęŁ ĄŤDöG×Lt˙(é!f…-Ü&—Ň>Řhłíˇîß;é˙Ńż€—ňëdž|¨ÎPÔŰë±x e¨čBXżYguž‰Ě]BYc$źîY-©tµćWą${!ý™ëvBě˙g\µ™śóĘóRr÷0Ţ\RÇý’ęöXË-ô——˙l ë®lĘ\»çŠ™kyź–.Ş+!ţ¸O}s<ćšâňę3îŚ^âgkŢŢlËŕ4&K!ůłš©”Ő»Pw+Éř«Q¶Ô:ç=©łvVő©¦zTn)Óš_â2ĆgĚ.sç)nîů“Ľ¨ş—ŇOmÝÜš=#.¤»’1‡Ň1„bú9C,9‘&ĽĽĺ^\şĄľžŰg÷^ŢŢiŃBňú{ÉáĂÖšýjĂč?˙Ňż€˙Ó©oŢ7ŐÇSţJňŇWsř÷›ý#˝Qq.“ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†?xßWOů+ČIOó¤wŞ.$ň/&úÇt®áŹŢ7ŐÇSţJňŇSÇĽßéꋉ<‹Éľ±Ý+¸c÷ŤőqÔ˙’Ľ‡ô”ńď7úGz˘âO"ňo¬wJîýă}\u?äŻ!ý%<{Íţ‘ި¸“ČĽ›ëŇ»†˙Ôé˝ěŰÄĐ˙Ő´a<迉ß6ÁĚϸů‡×ÖŰS­a=´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4şŁŘO:/âwÇMźđqÜ|ĂëĚkm©Öť´ËŹŹđM†—T{ ŕÇEüNřéłţ;Ź}yŤmµ:Ó¶™qńţ °ŇęŹa<迉ß6ÁÇqóŻ1­¶§ZvÓ.>?Á6]Qě'ń;ă¦Ďř8î>aőć5¶ÔëNÚeÇÇř&ĂKŞ=„đc˘ţ'|tŮ˙ÇĚ>ĽĆ¶ÚťiŰL¸ř˙ŘiuG°ž t_Ä?ŕă¸ů‡×ÖŰS­;i—ŕ› .¨öÁŽ‹řťńÓgüw0úóŰju§m2ăăüaĄŐÂx1Ńľ:l˙Žăć^c[mN´í¦\|‚l4ş§˙Öż€˙׿€˙Đż€˙Ńż€˙Ňż€˙Óż€˙Ôż€˙Őż€˙Öż€˙׿€˙Đż€˙Ńż€˙Ňż€˙Óż€˙Ôż€˙Őż€˙Öż€˙׿€˙Đż€˙Ńż€˙Ňż€˙Óż€˙Ôż€˙Őż€˙Öż€˙׿€˙Đż€˙Ńż€˙Ňż€˙Óż€˙Ôż€˙Őż€˙Öż€˙׿€˙Đż€˙Ńż€˙Ňż€˙Óż€˙Ôż€˙Őż€˙Öż€˙׿€˙Đż€˙Ńż€˙Ňż€˙Óż€˙Ôż€˙Őż€˙Öż€˙׿€˙Đż€˙Ńż€˙Ňż€˙Óż€˙Ôż€˙Őż€˙Öż€˙׿€˙Đż€˙Ńż€˙Ňż€˙Óż€˙Ôż€˙Őż€˙Öż€˙׿€˙Đż€˙Ńż€˙Ňż€˙Óż€˙Ôż€˙Őż€˙Öż€˙׿€˙Đż€˙Ńż€˙Ňż€˙Óż€˙Ôż€˙Őż€˙Öż€˙Ůendstream endobj 10 0 obj << /Filter /FlateDecode /Length 247 >> stream xśmËJD1 †÷}Š,ĎYśL’¦·• ^P=Rܨ qP\ Ă ľżmĎE‘ˇ”¤ü_ţ¤9*‡a $ŃámgF}´M/©R -ź´Ă,RŔmsµc8Ű›±śĹ\"ÚĘű |”{ąNĹÉäđ_ÔŞs0°÷Č$:Ífsa#H*˝#äwSáĽ5OĐÝ÷đůzliZuŽČĚ+ôĐĂ ÝÝs‰Şíý§xu÷}pŞľ=Ú˘ü“Ľ[ˇjí‹őÍqKetjWúYÄ×YA7~ď—ô±‡:v÷şýü:™ŤÎóďr-†J’%ŐÝŚćö^3endstream endobj 11 0 obj << /Type /Page /Annots [ 4 0 R ] /Resources 5 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents [ 10 0 R 12 0 R ] >> endobj 12 0 obj << /Filter /FlateDecode /Length 154 >> stream xś}N1Â0 Üý Ź0Ôµ7 +TbeCL :u€˙$”˛¬łÎç;ß@s j$gžŞSňŃđÜc—»}k,*VÄ´(Ö ę­‹čVÁt…˘L8âB‰—x´Mš,ŞŃCS°f.¦‘ř\ń”`™¶ňßw‚Ôż"$^†Ű»wŻáĐţuSťqtüůć{xPź=iendstream endobj 13 0 obj << /Type /Page /Annots [ 14 0 R ] /Resources 15 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 21 0 R >> endobj 14 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 15 0 obj << /Font << /F40 8 0 R /F33 16 0 R /F38 6 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 16 0 obj << /Type /Font /Subtype /Type1 /Encoding 17 0 R /FirstChar 15 /LastChar 79 /Widths 18 0 R /BaseFont /QHHLIW+CMSY10 /FontDescriptor 19 0 R >> endobj 17 0 obj << /Type /Encoding /Differences [ 0 /.notdef 15 /bullet 16 /.notdef 79 /O 80 /.notdef ] >> endobj 18 0 obj [ 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 796 ] endobj 19 0 obj << /Ascent 750 /CapHeight 683 /Descent -194 /FontName /QHHLIW+CMSY10 /ItalicAngle -14 /StemV 85 /XHeight 431 /FontBBox [ -29 -960 1116 775 ] /Flags 4 /CharSet (/bullet/O) /FontFile 20 0 R >> endobj 20 0 obj << /Length1 786 /Length2 750 /Length3 532 /Length 1315 /Filter /FlateDecode >> stream xÚíRkPW¦P@ťŞŘ´Đ+–D’] ¤‰b˘ j€RMuÉŢ„•ÍnÜl0á%ă“‘Ö±H} V|ťâˇĹŠ ś‚(J[čČĂľŞ¬S]B§řłýŐé˝îwÎwĎůîwŹďÔXU  §“`M±¨•ąBĄF€ žŻŻśKĐÔ\Ś…R€J$(™tD, B¤"1ĎČi…!tÉ,đ“űŹÄ@¦‡ ˇÁ( ŔŘd¨çjh0¨h Y‹ČHÄŤÜ0‚8h„L*Ä<8ˇaAÔO8˘(ŠŇŇ@<ĆM†ç©TČ9QŔŹé8‰8M‘€C-OMs˝ §äß5¶x„‰$Ł1ýHy›K/ĺ1=AZţbĐz‰… PĐ8d¨±ÔĹpTśâ„I?6Ĺb$ˇ‘Q:‚@4D€‹F„1‚0C<–`5É@‹‘Fh‹C +…łĎ&D¨ś?QÔ‿ţŐ–ŚĹŠýŔb€yÁ¶aôć\b3H@‚rDn??%Ži6ŹŇĐ8Aé@(` YxÜqHŇQ@P84hć ÍrWgM&ĐŇ oä[ąq&qÖBv$n ‰%@cC/?+<ś6§I@ $”k˘ˇ@,eţťO«L0j.!ňnĐč;5&†k›'βçXKp6Ch†^{­™µ~ĺöSgÍŰ×üĄŁĐĺQĂŃţvçłK*łvx¦JT¤śŞcKöv•o©ĺ§´x,ĐĚúĚť9é™˝yŮŕîGĘ­Ĺ–|’-Ş\Wń-묯= >U»ęĂÂ]ş¦H«™îO›Ů>8mM[ŢţŃľ3;Ű\'ÎŰ:Ăg˛¸ýsÇ+oň-ż´ľý rÍöú0ÍÝK?,ŠŠĺ#¬Ó[´s\“±á^˘6µĄ%@ySVsĄŻkµţx|ĚćęómŻźMľ÷ëTĚCÖ¬)é×.śů—snĺíĘqáU{…źďh®]_ß%ĚĎŽ<ăµč­†îŕä?&7DLŇ!ťÁöÇoVz6®ě‰?öşéYźóäýYżŔRvUlóš{;mŐÁŞ°‡ńüĽLÁÂS…ę{%Uµ®mUo îď]i—ç?ÚăÝäd Rʇ *“·Üň{ď„4µ5G–tgëíÜۆěŇĆ-}ßś°vb¦}F¤ô^î±Ö8˙wěz÷ç÷‹NNąŘç=çWńŔ…c¤Ě«¬qq¸şńŁ§SĽeö^¤sanŹÝą™ ÍÄő3¬áśŰťI×gÄTo+n\>áŮąň;ŇPÇń×çŹŘ eËŐCeeĂý'\;=™‘xßm^¶Ýç'VÖ{w6zY˝Ű˙gëęgĘł9îM˧›ÂýŠĆĺx¨–údÚ'lL»†Ô¬óŻ+ÜÚˇľţ ŢZ +ÍdÂńŁ{ÖJ+DžORËÄĆ>eEĆVŠ‘T¸ÁÖc/“ęW\}˝îqiŰQÄDńŤ*ťK`sČΉ±dsSÚ‰«~†˛W[OźFŻťY;ÔďýŤś­ďř¶XAf—<č™-‰żX¨,»°ŽůôľmGţáâý_ŕ?Q@CBŚai=Ƥđţ¤ŻŐyendstream endobj 21 0 obj << /Filter /FlateDecode /Length 343 >> stream xśÍSÁnÂ0 ˝ç+|¤‡š8Mšä¸i±ËĆÔŰŘŃq ®ŔďĎ´Qč¶+ŠŞX}îó{®˝’A,Q*Ý\’`±[ˇR—48‡Z:ŰÄ-f-’=ҢsNÖO1ĺČ•ĂÄ‚&‹žŇc’„%?ăs‚Ń•Q-Ă54&CČŐڤ㩖§ŕ},31i–ŁŃ˛Ô쫲\|ŔŕuIU{ďWĹ!‚OČ^Äsv.D’X§˙EE@ăÄ`Şzmgkżoä$ °iE¦+g&ÉŢ–wJ×_\ŁwtÉë€ zÝĄť”uµÉw‹zµ)oécnŚçćĹʢôţőżńĎ10×uQ•ß˙9pwčŕ!ĎWĺ2b…†§¬,"Plč^ŚŠy˝«Šż¬QŞPş^o†Zm.Dđ´“ĆD§]jŘ3ŰÄŰ|2@awčzwzŮT[›×éT¸§âEËßVendstream endobj 22 0 obj << /Type /Page /Annots [ 23 0 R ] /Resources 24 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 34 0 R >> endobj 23 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 24 0 obj << /Font << /F40 8 0 R /F33 16 0 R /F61 25 0 R /F38 6 0 R >> /XObject << /Im1 9 0 R /Im2 26 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 25 0 obj << /Type /Font /Subtype /Type1 /Encoding 7 0 R /BaseFont /Courier >> endobj 26 0 obj << /Type /XObject /Subtype /Form /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /BBox [ 0 0 424 135 ] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << /R4 27 0 R >> /Font << /R10 28 0 R >> >> /Length 33 0 R /Filter /FlateDecode >> stream xśíTMoŰ0 ˝ëWđ¶vX9Q˘őqm±ž˛Ă6˙'qRŻvśŘŠüűQŽÝHĂv,?=‰ŹO ‘@§1~WŤ:¨Ď߶˝Ň3 [EP)ŇF(˙)q(b`‘“Żţ˛čËpl÷mÝnOgv{&Ű.X?‘«Ý±Üvűíú´ţ48˛ŔÚLRJ´§¶Ů·»rwLŚ÷……ş{|k»×űŠ¤îyŔźę˘ďaQ-»˘;Éšq˝Źâ‚AÍ<ĹŢt­Dß Yśs8›–Š•HŞĘ^vÉá›\—ç(ŽC2™4`ŮK^je(cÔ4GŚóh#ËhµO IŃścŤě 7)” l=˛»„ŕĐH9ŐďĄqŤ\vI-ý iĽ¤"—®…ČJíz0QŢU ’iďPLś@25Č‹6ĘbµTĎ9†ť<ĚHdQj§ž¬ş‚&4ägŢÍŃ;<Ë3ďfśŃ©kdjtę"ú0sęąěšüş R˙Mü[_ţ¨ď’u¨­—É1!}÷kµ^×%,ŠSŮĄţ0ÓV\ž÷ĹçÔżĆE k34°Çbő:ŕcóJă+őgTendstream endobj 27 0 obj << /Type /ExtGState /Name /R4 /TR /Identity /OPM 1 /SM 0.02 >> endobj 28 0 obj << /Subtype /Type1 /BaseFont /Times-Roman /Type /Font /Name /R10 /FontDescriptor 29 0 R /FirstChar 32 /LastChar 255 /Widths [ 250 333 408 500 500 833 778 333 333 333 500 564 250 564 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 250 333 333 333 333 333 333 333 333 333 333 333 333 333 250 250 250 278 250 250 250 250 250 250 250 722 889 250 250 250 250 250 250 250 333 500 500 500 500 200 500 333 760 276 500 564 333 760 333 400 564 300 300 333 500 453 250 333 300 310 500 750 750 750 444 722 722 722 722 722 722 889 667 611 611 611 611 333 333 333 333 722 722 722 722 722 722 722 564 722 722 722 722 722 722 556 500 444 444 444 444 444 444 667 444 444 444 444 444 278 278 278 278 500 500 500 500 500 500 500 564 500 500 500 500 500 500 500 500 ] /Encoding 32 0 R >> endobj 29 0 obj << /Type /FontDescriptor /FontName /Times-Roman /FontBBox [ -168 -281 1031 924 ] /Flags 34 /Ascent 924 /CapHeight 676 /Descent -281 /ItalicAngle 0 /StemV 111 /MissingWidth 250 /XHeight 461 /FontFile3 30 0 R >> endobj 30 0 obj << /Subtype /Type1C /Filter /FlateDecode /Length 31 0 R >> stream xś´»TW·6Ľg„4‰ťÄD1ŘŽDbÇ˝Wp/ŕŠ+`1`:Ţ…ŃáĐ;„č˝÷ćŢî-v\ҧ8í yßo$™$ß}sżőßµîźkĘ9ł÷9ű<{ďgźĐáAoZzú¸-8ŕçăč«ľžŻšJ¨¦‘Ş÷9ĚZ¦ů÷âßsßóRÎĺű@L‹›4Mźűδ‰UoM›8ámb/ ´ĂxĎá+x\BŹŕď3„ ±ŘLě&,Â…đ"BO ˘¨$ę‰V˘‡"N‰ëÄ âcâsâIůůůiDÎ$+Č5äfr;ą—´"mIGŇ‹ Ąd,™Bf’EdŮHv‘'Č‹äň ůů©â=Ž>gç#Î<ÎrÎ:ÎVÎ^Ž5Ç‘sŚÄ‘pâ9霎’SĎéŕ sÎsnss>ç|ĎÁ: Ł«3IgŞÎ ťy:ËuÖélŐŮ«c­ă¨sL'HG˘Łt˛uŠuŞtšuztNč\Ôą©ó±Îg:ßéü¬3Ćĺr'r'sŤ¸s¸‹¸ĆÜM\s®מëÎőç†sc¸›É-âVs[¸˝Ü“ÜKÜ[ÜŹąźqżáţĚĹ<ŕéň&ń¦ňfđđVň6đ¶óöđńŽň=^DŻ MčŤôVz7mIŰŇN´'íO‡Ń‘t<ťJçĐrşś®Ł[éz>K_ˇoŃégô—ô÷ôŻô.GWO÷]]ˇîLÝşËu×čnÖݡ»O÷®˝®«®·n®XW¦›¤›ˇ›Ż[Ş[ĄŰ¨ŰˇŰŻ{R÷‚îuÝ»şŹu?ŐýF÷•®J÷ßz<˝ zďęMŐűPoŽŢb˝UzëőĚôĚő,ôë9ęyčůé…ęIőâô^¶^‘žRŻVŻEŻ[oHďŚŢe˝›zôžę}ˇ÷ťŢ/zĚäşoĽýĆä7o|´ĹĎ?<ĐÓÝ#Řh¶ŐCsćÍ›˙ם%&&&FNáă-F¦®AžîľF3Ů“PWo?Wßŕ5F[ŘŢŢŢžÎFîŢáţAFŽ..®.ęÇ:z»zmőôöô÷÷ 5š˝eŽŃŇĹ‹—,`–®1Úâăč7ßČÓ×ÍÓ×38ÜČŃ×ĹhŻŹ«»Ł‘ŹŁ‹«Z€©Źgp`¸ŃňĹžľ>˝ÇÓÇ)$ČHăŽF{üLŚĚŤ¸ş‡x;ţg‹YH _ Ł‹§łŁ··kPk@Ł·{ «c°k ć|\µ©«w°Łżc`°§Ł·‹§››Ż_°¦ÝŰOěęëîâăăěéç»ÇŮŹ=stvfç˝#ŘÓŰĹŐĚ×}‹łg sŹ›·«ČŮŮ1ĐĎwŻS kžťÝ6ós÷óuőÚââ¬}v×ßälwr 4Ő>çâëîâăíĽýŻÇMťý·i¤îőqdŻ|ÍťC‚]7inąk~Í5"věÜö×s;ţÔgţ÷qkşoűŰ gWvÍŮţ;´ň·ýů¨™¦ű&íí ×=hÔďĐNËLŁyÓë9jZhníŃś›ý)ĘůuŰ_š÷hú™i…oŃ\8şyz.ańa¬=Y˛xĺë;KV˝>1YqčŻ9ľľgĽÜňob_ß\µěőÉĘĄŻOV,y}˛|ń¸“q=ăâ—Źë×lĽÂJc„q±ËÇĄŤ‹]>.vŮâqiăB–ŚK—o<.vŐŠq9ăă\>.pŮ’q9ăŹ/°‰±ÍÎ~•Őߡ3.\ŃĘ?ŤŹ|ů¸ĆeŻ5.Yň§AĆçb2®ÚŘŘJ»@ărÇg˛r\ÁŠqË_+0^>޴쵦%ËÇű,Wąxńa ĆŐXi!4®fÜ„+Çő­ú§¬eăZ:®fń’Ăâm|"ăS[ebńw…+ǬWđר˙ěňqąK˙Ž“q+/¶řŹĺX9nąă–ŹkX6®aéŠqÁăKa˛Ô*Đ“]Ä×r—Xü Çg˛b\Ăňq ËĆ5,]9.xÜ6&ˬ4ˇj\ňRK6âŚKźÇĘqŃËÇE/÷@“ń.]5.zÜ<&ă:Ś—YţÝ{WŤyĺ¸üăň—™„h ©Ĺ”ďßféÁŽËOÓčń—MĂţ: ů;ČŮÎÚĺÔÂ&D+0X3Ž@ÍŻßőŠ•K–­Xęíçëä©1Iđß´ţíÜO+ëŘ_ş=5ă ˙Ű`´Z]5÷˝ţö¬ç1WŤrÍŻ›n\}˝ŮÔćéě©•*ÖŚÚőOşhÂ{ć®ó_ Ľ57Ävs˙«Éu<˙•xţěć«yĚ[ŁÜýoĂbóXĐß.}ýý‚‚ýü=ŘľÝv˙SNŚ®ÚIţý9Ť`o¶›çkłk âëąxąérÍaËRÍaó*ÍaÓía‰ć°ŐDs0Y©9iŰ›jŻ´]LWhĄ,ÓJ1Ö>®í˛I#zÉJ­­3mŰŠĹÚ+m›©VĂí6kŐn2Ó–iĄh5h5iŰVĽ‹¶ÍT«a‹ö°y“öń­ÚFô˛MŻg¤=iŰŚµ3Ój7Őjآ=lެ=h‡»I;[­č­Ú›ĆŻˇm3Ő¶myýśVôf­±6i§i˘mŰŞ˝i¬ťŠ™¶ÍT۶ĺősZŃ›µVÚ¤ť‰¶m«ö¦±vfÚ6Sm›©vd›µ˘7kÍłI;#­Ě­Żí©•b¦m3Ő¶™jG¶Y+złÖ.ă¦ÓĘÜŞ˝i˘•b¦m3Ő¶™jeny=­]6iíb˘•ąőµ!µRĚ´m¦Ú6S­Ě-ŻˇµË&­]6ien}=­3mŰâ×Z yć›Â}ť­woűąŘěŮâďzxŻi€Ű>ł@÷ý[<l ö´ŘrĚrG¨—ŐÎ0oÇ»D>N‡ú›Ę7®;Đ\a»ržŃ`Kĺ‘Uó?j­˛3^đáp{µ˝ÉÂé':jV/šqŞłöčšĹťîŞ‹X»d晞zÉşĄłÎö6H×/›}®Ż1rĂň9çżľđÍĹo/żşňë5ŐőŃ‘ßo0Ď?ý `|‡a/‚ ,„é` űŔ VĂ"űa+¬Ĺđ€m°f‚l‡Ą0 ,a,Ů`;a9Ě° VŔ\8ć°ć5ě†Í° ć ě-` ˇŕGáxŢ€0đGX “áM¶ş8Á:0€ @B8ř‚3¬C¸ŔoD€?¸ÂF o$n° ¦Á;Ŕ)‚;÷aP Aŕv } ! ‚ÁěAď‚.DC0>č Ň Ň!2 2!˛ ˛!r r!ň ¤BÜ…k0 ]P Jxµpę Z ^Ŕ}¸ gˇˇ*ŕc¸§ š >…p NC´A <„8rh†*x 7ŕ @+ÔĂ#¸ Ąpś­ő ˇ î±˙ tC>[ő߆‹0 €Oŕ\‚Đ ĹPOˇÎĂI¸Oŕ3"…­úS‰4"ťČ 2‰,"›Č!r‰<"ź( ‰"BN%D)ˇ Ę%QNT•DQMÔµDQO4ŤDŃL´­DŃNtťDŃMô˝DŃO Ä1L'N'‰SÄiâ q–8Gś'.‰KÄeâ q•¸F\'FÄMâq›¸CÜ%î÷‰ÄCâń1ńxB|B<%žωħÄgÄçÄÄ—ÄWÄ×Ä7Ä·ÄKâ;â{ââGâńń3ń ń+ń 1JüN0Äńń/âß$I’R‡ä’<’"iR—Ô#ß ß$'É·Č·ÉwČI¤>ů.É'ß#'“¤!9…śJN#ß'¤4"? ?$§“3ČŹČ™ä,r69‡śKÎ#ç“ Č…ä"r1ą„\J.#—“+Č•ä*Ň4!W“kȵä:r=ąÜHn"7“[HSŇŚÜJn#·“;Čťä.ŇśÜMî!÷’űČýäŇ‚´$­Čä!Ňš´!“¶äŇŽ´'ČŁ¤#éD:“.¤+éFş“¤'yŚô"˝IŇ—ô#ýÉ2 "É2” #Ed8)&#H )%#É(2š”‘1d,GĆ“ d"™D&“)$"SÉ42ťĚ 3É,2›Ě!sÉ<2ź, É"RN“%d)© ËH%YNV•dYMÖµdYO6ŤdŮL¶­dŮNvťdŮMö˝dŮOä9L'O'ÉSäiň y–ŕ0 ł tÎ׸5ŔŻ x˙j;Pg^t?čęn č‚žŢ8o|oÚŔ›?Áđ3LL‚‰Ă[ á­kđöx» Ţ1„wÜŕ%Ľóo”ú<Đßú/ŕ]6śţdŕWĂ{‹ŕ˝§0y L>óÁ  ΀aj`Ę3ş¦ćÁ´)0ͦu´0ícx?4‚ŕ' @¸„™ | FÁ`„Ŕ¨ >XlâáC| Ó§Ŕôµ0˝ ¦ź…KaF |´>ú >úfÎ…™›`ć}©‚Y_Ăě 0{ćl9u07ć¶ÂÜ‹0o#Ě+†y=0Źů˝0˙,Ř Ľ`A,(…?Ă°РFÁÂ/`Ń&Xd‹ľ€Ĺł`ń*XěK&Ŕ’°ä,ů –®‚Ąî°ôXFò«°ěXľ–‹a¶3`ĹeXIÁJkX™ «ô`ŐlXuVÝcW0™ &ý°z:¬> k–ĂZ#X{ÖeÂú5°ţ¬Ç°AwÂĆ0Ř8›vĂ&7ŘĚÍ=°%L§iţfÇaë*ŘZŰfÁ¶nŘ® Űcaűěđwaç~Řůví]?€ů40ŹÝěVžĄ°çě5€˝Ő°ĎöµĂ~/8@Ŕ8đ ,d`ń;XfŐV°: )8h‡¦ÂˇN°> ÖĹ`3l¤px5[ ŘţGdpä!Řĺý°˙ŠŔˇŽ.Łc,8S8ďçZpq ¸TË5pÍ×6p[ nlşQ€Ű×ŕžzŕ‘eŕů6xNĎéŕů<_±VđZ^Á[>o‚Ź|Ź€ďgŕg ~ĎÁ˙{„€? ‚@{ü‚vC°!« „€­˛BCČ-„°ŤÖ"+˝€đpOq-DXBÄe$tHë rD^‚()DĹAÔcú˘çCt#Č€ě Äx@Ě Ý q$ÄBü—C|$Ľ 10 ‰®ř=$ĺ@˛’‚6ĎŃ€â1Z ©ż@ÚzHŰi· ]dÔBF d.‡Ě6Ȳ…¬g Ů/!ÇrîA®5äfCއ yĎ!˙äŰCţi(  (4†Â^(ZEŤ ·ů ?‚âµP\%B(É…ŇýPšĄĄ 0E”…@™”Ű@9ĺSˇ|”—CŨř*gCeTCŐ ¨şŐłˇz jlˇöm¨˝ukˇ®ę ~Ô[Aý]hX 'ˇq4>&{hş ÍţĐÍwˇe´dA«´˝mnĐNCű;Đ> .Đńtü˙†N]čl®‰Đ•ÝVĐ}zöCĎečÝ}fĐW}Jčź ý˝0đ `@)0hłađWއá`ř6w‚ăŤpâM8‘'ß…“Wŕäm85N!8•§ţ§)8ýśVŔ™‰pvśm‚s"8Ďó!p^ ¦Ă…N¸đ9\ €‹WáŇn¸t.ŮĂĺĂpů6\™W†áj#\“Ăő]pý ŚĚ‘e0ň%ÜáćN¸ynuÁíµp»îŔť-pçg¸ wăá ÷Üß÷Gŕ# OöŔ“ŰđI|ňžşÂÓűđĚž˝€ç2x1^tŔ§GŕÓ_áłPřě |~ľŕÂJřr?|ů)|•_ż_Ŕ׿Á7Uđí>řöĽ,ď–Áwťđýřţ.ü°~¸?î‚ż„WJxőoř)~Ž„_¶Â/ŐđëLř5~›żť<°?¨–j¨Â@Ą‚Ń:ř}#üţ0‰0f c?Âgŕ_#đď˝đď'D„Áň 2‚ ă ňKś>Q…‘BÔˇúQ1éĹ«ÉúţŞ›x3_ě* –=\,ĂŤ˝ť·92«E¨ňˇĐ­˘˘G™´‚iQwă ĄČŚŰGé·!3©ds-˘ŘÇ[xx3wâ¨R`›.ŐeÄčAß>]–çq—IS]5ă1.cQ»™Q¶É†"|XAنÖ¤e ű±.Ëy]ó üłÔŠc¦Đ"śCŤEâ<>¦p-¦™ZîDUăűJ5('T~Ş|fŞ„×X‘ź'śËÔ1Ί/J,Dů†¨TžÝ“FË')UťXť#Ć<&Ĺ =VîSkSěŽ$†Hl.ö‘„¤(ŤÉ2EŮâ 1˘Ă‚Ž5v_:—ĎÄx§’‹ăP0’D‡űş3\F`ŕx~Ďł TnĘä9M©µ© ć´şšT*ůŽb‚YnŔ,a¬–~hťČ.«TAíĎĎAH.ŻjëÇoŕŮß0FM‡K=Y‹ëEá2ĎZ_™˘S˘ÔK<¬ fIňŽžc,qŤž‰w^}XVp%ĂpâďbTGAĽěU•ľâŚ®TÝäŹŮPČ8*r-‹:ܤ 6gJ‹Đ-ZµŹĹhaáÝ,Ł¶0–ĆD¨Ň¸ĚaďIBaÚLŹÍĄĐ ©Č8ž}.JA­ĎW iŐ, gŚ p‹xG±ÖhĂÝť¸ M¤ôí+śđj5¦&ë·”°¦QO ˘Ń&5îѦČHă$5ę]ń ŢCtKŮÖÜÚXÖ‡Qox§wťOŤÁÎâ…ĘĽJ%­ßRU.oëš‚u–žc6 LĎř/QB«„Öw=Tăl>Y…ş8{…;Ĺî@ôainŁwé°`Đ_©ĚΕ zyşh»tÝA‡B ¨^5ĄžP­ÄSůá2›řH±ˇTěcŤhFŔĂĺŞ9\9ó•ÄčqKyąwäň ĆŁ›Ă•¨&P,~eµŞĄµú}ÎÁ骣|ć˝Ĺó3ő«™xžôíŻX€'/ú†yWéÇz~ó>õ߶ŃĹ­˛3Tčw"â&kđo.ݨeťPMae=ÇaO9řĄŚŹgťŕSá)É( Ńî±ůýBŐ*!ÍVě!Ű%6Ś rRłP˘ŰreNBf1ĺÚčźďĚŽśZČbíCćÝ{Ë1y¦˝l Y¸‹Â„Š‹‹’E‡‡Ę|mlů1~ s‡îŢ?9tä P_58p? 5|ýDĽ)%±(ɢb$Ět&Ô€™ŤŁ‹ăK4ń (·1-ĺˇüT'M"j0ąHúóžĚX0›)´\&[śČ伂Zš&-@÷i|ÂłqčĹO«ËŹł€u‹VĘÔZ'±\Ö;YżOĄŠć«*(t!ŻMQX”W”ŃžÁĘŽQíIE‰ň2i®;ÚM3źSc|•ËlńzPQlçzl7Ą/ú'HNŁX©{XP˛”öŞŚ•Ř¤“@ćŚđbp(7”†b$]’u¸Ř&ç2AĆŢ»-Ív».D ‰ÖŻ8~ŕÂÎ/]żG‹ľďżř/ÝdşĂÇš#‹˛Łí–CŢź#̡ńŽŻ°.ţčě‰PçNAŁ—ÜO±“VÇXźq)ŢߨšxaŇͧ8äůd}I®ę}~nj6ĘEts¶ěpĚŇB‡˘Ł÷ĹÓbJ_‚JyS#óŃe/ˇZŽUĘşYěé}‰uđGřmłĎćZ8Z9PńiVˇ‘–bC­vĘCČ wő<âäoŠLXG¸˝SßÜ;Źˇ[Ŕ<Äóůů›Ű.˘‹¨ŇŻp9­Î|íŞOÚ Ő-lĘ[ČBĂB‚¤lLeňx*SŐŻ\ůXĆlŕVór‡rĘJ”u}E×ŘÉđĆvŚýĘ:ŇEŞ›Şłť´UőŻVvyxŞőÇÁŚó f3±[иřÔ~á9óĎ\>eµÁÓ°¶űŢ÷™ĺˇůŤU­óXŃéGýá­^§7,@Ěh_äÖ°C1âŔŕ`űđČŮ—z4ę?ö#»VčUíËg¨ü4zľŰTĎÔŃęÓW*&&ë—üŚ >ÚąA“•˝qÓč—¦Kg®žoű ˝Dźű<´<˝íC´2ď#Zż„©ńĹĺĆ°‘íU_ß»!?§ëůŐĎAÁC«®,FŚžÓŞŐG¬}÷G-G´sž´đŔ.Ş&Ő•Mbť?âédýÇxLµŽŻ˙˛ĆÎ'×e*óÎwşz°WČ°Ó"\bš@‹qteY›şiýÇŞo˘©ÍĚ'|”)‹ ‹ňFŢČ?/¬Ě«.ô*şFëżÄz'ď>»Ôpl»`"~ÎfßYŤÄ'l¸ą¤Î˙oašwNŃĐ®,’ů– Š d%®P”V´:TďÝ}Đß.@ŕ랲†6ńzÂ\çˇÍŃQ[Ô‰·PN™¤GçŁ{4ľŽ'˛qń$K\Ę;ń°ÚžO_áµ=_b{ÜËŻN.I©FŃ©ĽžĘ Ť­Ń5Ô-m÷Żsî]^»€µâc¦DÄ»›'C[č13 ­Š•mÓ槵é’"t‡V…ę°–ÉήÁS/™1wź C…ISÓ‚ZÖ†{şî•áí"- T}Ť×ńýx6  b¦#Úźw9fĆe'¤'çŁ#Ľz‚ä‘…Ćt–óâś%ŃŇH±_ěÄ q O_\›•U#ŔSyl(—”,ˇ«xú=Ix:w¬–ěź$î/ 'Vµń4öĹ?|GÜzĘÉVMáĄç¦ ş*7ÂAȤSČ&.nWkĽ89µ-],GgiB5ö ×dĺ&ČňĹŇüřBDWĘKj›BË<}M żdă˙Á÷Č}"C y;‹/Wác™µ“ĐMßO°ŮššÉúŚęʀ߱ž ccZXvHŽžfk\ĽpÓ–Ĺć5®×Ž Eááâř„cľ‘a( …Du…ŃúŚé!˙cnS>třćŢĂęî‚ö†’FÔŽ.éŢ”Îđł ¦ć˘bTÖÔR““›’ť’ŽÉ…)Y¨ uĘjšjĺ-hŐ%THi&nl ż)îăř!DŃéľ Ă]¶ż®·"»°{X¨Ź3ńWüóµ-ý ŐbźbA©Grˇ-|=ěö:^ýVŔz$cV:ÚůW8ÝĎ,ă3Ľô5˝«)l-éďĽ{­ý Mصc¦ál¤ĐĆ ‡9ő&çw :Ăn XŚ¬ĹŽâeHÎ[6YeńĎGĎń{Pż¨Ĺű”mă<ÄpŃlߏśíÜś["[äPâŢxpŔë„uŃ·ußuőwő(ϱQBë‹˙ş~Qá> *jM¸d ŹXŔÔfŞá2íďpyů_áÂbŰ8Z[ÔŘ^źÁrŻŰ4öĹQŹQ‰¤`5«ÎPVˇT-)‹,ź„.a“›lLÂ#ř:_~"žĆŤć%'ÇÄĄ¤$"Ăx$K‹ÎdCPNHHFŔÔµ¬·X4:?łž;ÖV„Ľ Ľü¬=˝ ËE‚ĐŞŠČłtOßśY\Heçe¤°–)J®gÄ×Ö$–N}pĺÜÍá ¦˝­B®řKŞPŤagCm˙ŮzĎĄ-mźzJMŰ÷°±c ţ–ßÝ__Ňčá*w3!sBŰd‘ű㵼Ý*/>Ý ±-ő‹ă©ŐűöÚ đY*!Ý3*0Ö"ÂĐ?–Ae¤¦ŁLD÷äÄŽy±žł?–}Ţ[NíĎ’°ĎkHĄę'uDyö GŞ#Jßč,ß5=,Ď·™qÂY× ë šj«ÝhőD¶ÔŃúş\Ť«LŐďcęDĽ{±yŃČTk{YÔF5Y¨gmźY¨¶˝ u& Ç0ąxoĚVőśŻ˙ 6?§żsîč›PGw‘Ŕ.Ŕ#~^˛:]H;ńĺRĚQâąť„˝äŚÚŕßřLN8Ż'© © V“ŚŽŇĚJĘkŹ˙fŐ,ĚĂ{ľ®ý˘wHĐ;t©fťAC˘÷zżb˙Ş=t/»sCxń˘pi(’ˇôđl{ą]Ž=‹¨#,ůšĹťSłńĚ>áő­ßşb=Gřť–Î;Pč|AáąLz"n` 䛍ÄYvIrŘp>“Ťćy)éń‚¸ř8™«ĺQŰÄč¸ř8”€’R“Ó“é“Ě)ŢŞúŁç‡Ú+O4 "óCŲdč&©ą,Ä?R¬Hvˇ/ż"±"·¨Éí"K®„ĺťi…©ąČ°RĘ$Ú"‹ŢŞÎ29µ#36OmLLYăPľp°ź_ypm]Ey]mp…/›ďNF*C[T»•x^פşçXúădý!•›ęCy‰ÁŃŃbvňlŮăVä–ă…Ž"ń1_ďpGt­éµŔ:űn»žpŞrÍŤĚ EA´ľd»ŤÝćĄć§ńDA0O¨žńŕ–óRErÄF÷DE\»¤3¶“ĺ ÔgŹ~zby•1¸%üđśc/:EźînżÔ×-ro4xďcÝT[rőâ6ńé+|ć»b†Ď2Wt;?˙A6KGDÔ¸üčńô$‹Z§váµ1‹…Ń-;á3̡jQV˙)…9¨©#Ωř%ҢI—žâ­OŐT8hźŔł‹fI?ţ–ŇŔ,ó.%Č ÍDQČ/A*ŤöńŽňA´‹Ws·Pż?bfJ©Á¤" ˛Ł™Ljí őť¶ŽâšAO×ĘH.kÍ?^dČ.Şęá+oc×ÔJeÇOHßěą/ś-(2SĺiňÔţPh=şáź–šMÇŞďş ,cÍ= ü±$ ­ŚŽ6V›ĄOA™dH Őů<ç…y¨<Ľ‚!éJ^<^ϻȋgÖs+y•¨P`6ö˛ÉT[ľ˛˛(51۵*I[ńš¤Ghkß;E…OŐEĂ°z¦-2YăŞ¶É U€šá%ĽĆ$ą ‰,Y–(›Í|„să‹’ŠP.[Óäg·¤ÓrĆZBµ'gËúgŕ7™N´řô¸ôجđ¬Ř,”…˛ ĺmř]|× n$+»>ťÖC“"â›ĺG9|Ö1X ŇMy‘¶Â±P JJÚ˘Îň‘r*,Ő9Ťe0-†ŘśÂFĚŢôÄ´¤´¤ô$ĂYz…˙čĺ¨°Ş€Ź^?ÉcŤ#Qă‹CĐ,ša«­mq®>ţ¶»Ľ7"St¸Ň Ľ1®M]wÜŃŔőc5\[EÔŁx®›ić*Ĺlzl‚×câ^ËH‡ ˛;·=P'+i»ęßląš] Ő0ÝÉϬŢCčQO´ĎŽ9SöQˇŇřśŞ8¬%˘ĺ$ţ!ÁţŽ]>ç0\ĽŤßQW˘šŐaWKB5ÇĺĹ!1’ÄEű/a Vá`q?B¨Đ•çgdłkĺ ˇÚ ˘Ë¬˛E٢¬đĹŚ­Ál\”—ś‡ň ‘˛ §9íµ]BU$çČĘ­ńTćźi›nr ŞŮ‚*Îŕ &şČ-#> fŁĚÜâN¶h˙Ţ ´;=łŚUˇ ę¨`×7‹—źZĘ–ÝŤyR¶l  •4Ň<]áh9ež•‡NÓŞŻŮµ8$v•mkvśÎ© *'ˇO·~Š§?ž¬˙•jĎ5ľX• aý(®¨WŮhq"ˇNRŇzT±ŹĄil:l\VQ©,+ĎHÉLÉ&ç¦ä lş¦±Ľs¨Ć×J°‡bîÇuĄőż “z›bŢëp±·Ky⢠óPihjf'ßŇN3‹ŘrŔ;!&4*HęŠhżća›5şZń„^ZS†ŹNPŁ»ŐeżŁw:©4ůˇ8˙(fÖÇ€™‡ż8v'¶É ‘˘(O]ö秩Ë~…bËţžĄ8e¬ß@ÎĂŞsMŹňóÓ ˙ÜRřüGµdt2ż %e úä‚X–p†űXZ3fĚ ěHý‰”65. "Ç3t´vgŞEA­Sďęݡń^ŞZůë‡÷7ž2EA†H*ŤóKI@ŃHłóuNAJ•ć-~ÉHqş>€÷Ť\-ÎÉ4T0rJëĄĆr7Ľ‡íäÁo*ję‹S ĺĚR UźśĎ:VTTH wB|Txd´ĚŔŻ;Ľ˘˘ÂěúTMÎ’\ŞG6ůš™aŔđ'Yܱ$C ţHNůEefeË Ë„Źđ[_0Fńiń(Ţ…Ç%Ss;’÷O7źbső˙…ęC~azŽzŰł:7ÂVČd©1%±Ha1(§¦IňQŤ[(”–“—ť]UŃSŇ‚čŢr–iů°u`tôuî –SR%%čŤ3©úž¦Ň~Dź-ő72î:»?Žíä'§Ň|Ň"KQ‡!v˘°žË…őű­ö[ ÂĎzÖX!ä'56§ďQqiÖ"ĎhK‰şĚ5ŞŢ¸L\{ŠĂ>ĺŕŁëř iŽ˙Ř#‘†ľję–•š˛Ý™ă(+¦ĽźűĽÂ$žŽßÚđő¬=ű݇ ęt ´žx8ĽŽ™Čplw™˛Ż¨LüÝT‹˝ßŤŐŘ;,âO`±çŹBăd~Ě;Ě—Śţ:93¦<%Ý0FŻ`szeEŢ)5öĘDÔŮ”Ľć5M&FL 3Cőf\i˘foŞĽ(űx:Ű%YDO‡·-ŔVcÍjx.T­ÁËÇÖpĺĽg¸(Żx@q"?÷d­Ţ ÄÂŻ°s›ů€˝©ď"ş@{tŘ{{z•‹Ú˛˛SSłŮiĄ˛18+>ÖËĎÍĘMăE˙Ţl»Śů ţ·wwąžµ0ĚHHKaYofFFfˇÓůő/…I)(>·˘A^ÚÖ[×ZŐ‰ éĚ„Ě„řĐđP± 1Ţßß7 &...6.)Ů ý/>Qťńż~#đ Ü·ÓO‰J‰DQ†‡~ÍMeőͱ·˘n âúâűb0Äă˝|ŻPŻŠ úúĘŞúş u¦ţ}´żŃŁ˛o ĐS<á–jB'gÔôť‡uäv–®g&â·ńćŻZż>{^84t˝ćK¨–ŕ÷·9łĚçî”7d§f¦f ŻâlîVžĚ5¤K’ď Ź"ŹOĎ˝7°á߼ăđPď@M_ł ˡÍwŃß?ĂĚÇ&Ětü.ł›q`V2‹CŚ%^ÎĚĆÎ7‡ {_ ™u*~m˛<(Ů%ŮVĽ/ŕČÝ7ÄŃnÁM'N•7· k[Ę*“5yţăG~x“w¨>ćck^1ĘHKĎn˙Ě &[*KE†Ś+Ź!YJ2JAɆ I9Ťťq‘]LąťÜŤfÓóöl\&Î.÷xUç±ŃŇWč:tďéíšăĂÂţ>ĺYtÝőŰ ;ô¨`ô”j˝xŁ‚ăUVüTqZhĽo¤§a\x˘EÓaĹb…˛TˇĚJ*L(D¶ÄµłžśMe'•Ç(ĂkŽVy—D•"ZY$/Ż–ä;d ]˛Ľ Šc3 †jŮ˝ŮíY…ů¨Š®‡JÄ‘~A‚@źŔ¨¸Dj UfŐć7d)2ŠQ>­Ś( “H¢2ÂłByÇ2˝‘?Ią*EĹÇZĂ*ŁrXÎ&’D„•Ic„mqő2Ed~śS`DĽ]Ś}¬8 Ň!E‘ĺĹą™ŠA]SffNv^nvfKůß<ă¬Ęě˙OĎŔ¬kě<źÁ>Ó0)->36;&×Чڷ69S¬ -ŤG´ó‘UNuÂ{ ăăă6Î?ş›E{BFbVFZjf†ŕě™Î¶;—Ő‹sGEÖkŢóĚRÝç{đ·2"SĄ,Ţž÷3ŐŞÄŞÎYX(Źl µfć4ó†° 2Nž\‚ ŰQ[QmeK˝˘¦ůfdŽÁˇŤîűz7%(÷GÜkPę"Ź¬BtU©˘şĹżŢV!d–2ßó÷‰úŘĘçŐ©‘'%ÉqĄę 6fqŐhnîsđ f2ďXDI‹pt9ŐPXŘ(řĽŠq˙ăÁAŢ>ĺ!őŤĺőőAU>l2“ 6­j˙qđęř>ŢľUu ŐUu Ő>Büü˝˙O÷´0›ŐťjOńľ§śFŐJţ ćŮÇJcdq˛dßä×ä+KZ€úiü%ŢÇĽ ĐaIÄ!5-ó’SV˛7 zŔĘZzν˙Ě”s}]—Gz¶đł?ŕ*HHB(1IC[^&:pߧ\fú|ôěé36N޶đł;‹ďç^@u†ĺ˘Ňŕ Qxp„|NÉ3ű˝˙¦…]tQM€ź¨M¬ÁâęIčŢ_yć6>Pń@ý3Yßá™ęĘčAľoɲýČçş×ű—Ge±9ţŁĹłîşăű®7×ÖŐ űűënŁë¨(Ą ©´1ş4©ťD Em=c‚?f đ.Ž.â—„ĆĹ)eqČ—f¨Ý3Íúó‘|?~[•űˇ×Źtťjř¬©K¨¬)+¨@b7DŕtťĂޤ!M©ŁŔ«:?ďÄ˝l9žČšôŢÉß­~Ő/Ů®Ţ1IRP»Ň"JŃMúŢÔÉlşOeqńęNf&ďKlŢvŁľćx>[5QőĘ(‘,A#2:Ś?Ł‡b‹ŠŐőwYi΀š†'Š¨ţ¤’Ółża603śń^¶”»ŮěĚŽÄsô˝2âK<Ěgkn<ťéV‡*‚»—=ŚęH‚e=*ťZ}‰ă^r·đ±NáiĹČĐĎ÷/â·žJc“EX—á3o,ťÉLe&Ţ^Ťátwq×IłŠá1óh|ŹňQXbLtŚ_[¤;˘7ŘŢĂoś-ľ ¬–”Uĺ×!úEß f-\Ňń;˙Ô6SâC§ń”Óxgˇň•üYĽ2<…űË鹼zlĎÝĎóa칌!ŻAs᭾гÄ$/”™ÂehËßxÇoî9^öćâ)l»ú˘A}AđŢĎS÷›ÂS˛2YFĹřÖ«úcgÝř[őg|đĄ«Ă=Ě7Yď˛BÖȵн"¸Ĺă|đ)DyóŇ'ťârďŔq4+J.H3cP,íuÄÇvŻíÉëý…§+O jŻ(ó†S{ cđć?)~]Ő8ĹgSůěŢYÎÁĹĚ>~‹BřŤÂĎknúÖGžEßµ$É“ş#Ęâ …./.­Ş+B˘ÂbĂ„NâD÷t*łR1śŁČ,AytepyPPpH,Sś-”YgĄôLg8•„ĺ„gF#:XŕW,©-ČKĎ­vĘK2šÓSgGZúxWm+eŢD‹ić-5R™ý•ŞöWG 'řćSŽĘT5ŹĎLâ±ÝRół.+®(Ęň󋲊]“ŔV= Iń„¤O‡—F”U)ËŞÚ]ëŹ8 v ¸Zm#¦ÓF<kw/Y˝=%1Ţ"á ˇ„Ů(ch˙ýöČ0*&+;=-##[•źžŤrériQżHŕÜä;pşŁév“ áfÉÇ•xwjaÎŮl–>Ľ©ÎíĚ;Ă„ú—?<–dŁŢŠfť3s'¨2řĚ,<;Ľ4&S‚ C#ŁDů’Ň(!^8Wí»Ť/p;‹©J.RáŁS•eĂŮŻ!RňD2‚ ‘p"˘†HqFKzęň¨C>.uţ6)s<Ó%éŽĹaŮašÎ ’đŠüŇĚ…°«¤4Ł9L ł‰%‘Ś*©¬*/ŻĚK(‰S†«ĐÉÖyb·X[šŹčŠ’ŇŞš’ਰ„8‘Đ1B’䙄ľËënhńi‹îOý¦9©8©‹u€˛„‚˙ŰŘÎb ëš/9f+q¦ËĘqşr:)z5ď ćľ´;ub˛ţ/Ńř2~‡Ż˙ÓĆ‘Áá›'˝Oí2ďcnX‰´Uv7×o®•†'%%%$ô†(YDÄ”Ŕ˛đšFEYÓËîÍĆ6[¬Ę|>Ţ!Ą˛G´ľ*zÇaëm›‡vቫ„WŞĽ }ÄÓç ›'kŚĚě,«¶¸(»°hJeh©żwp°·Ĺ‡‡/Îż\TżńŞ`&Îç7 “^ýv¬°ŤÍžŠcS<ĽĽÝ\]+.ěx6GU zşŁ®¶C]¬ŕ05,ŹŮďA{ië׾–ĘŠć†ŕ2÷ř¸””xA\2b‹f:6>+§©¶őT›ÎńlÁ‘ÂúŔo,Ĺ»ŃÜsáOŠây쿯őÚU˙1K«G'Uč[\ř­ú}1ß9ŠÝ<ö[¸2btC41şmÇΡ㨧¤µĺÜévL#<ĆŽ‹ńĚdAR˙iĂe\WŁ+~Ă.ŘŁsž 'ŽŢŤTĆÖă‚ćâFěQUY_ĆŇXuő>¨ž¬ţlt K€®ŁËĽłnĐúv_[qK‹đ䩦Çč!=âÚ±SíĹootw8¸ÍőĐËŮWĚć÷Ŕęö“µOÚNk:kKŘU[óĚÎwáYY;‹w«©FvP­?ü¬< 2Ó{*Ă3bŢ`ôÍN¸ÚÓWÖŇ$yzíúSVođł»üłžżµ4¤^ý ÉZ }"ŞŢ¨¸W¦¨Fźh®ď•×ß(Ąó©)ńľáľát€f¶RČ,訿ծ•7ĽŽ;<i¬*©mPV¶ &ú–ĹđÚ۶­pÍńŞŮ(p ů`Źµ)Ze8˙ę__¨şvOpyçPŔ9tťí®ż%É7đra™Ť:Ô`w±÷|U[Ă©ę~Ę®˛‚á,zlJ>ß粬őŃ ÍýýÍî‡-<Žš8¶nć_`x-–gÍöqwD´Ůľ+®4ôĽ8Ł®łF?dSŃ=uŚŻáîć1o3k¸Í<<á'Ąâlőçi¨GOČÍŹŞ»„]ŐçŘrîxÄ€oCXą¨ŔAA럼1PŐvjĘă]gŮ8˝Ü>ţ’€˝ňD®;}M—}µĎÁÜ]â(ôńń“l ŇĽfĹ kâM¶>nv¦Ë=fi’’~ŰśO?겭9áUPl°ć˛_‹˙˝ ëŃ÷Ńč—Â'5—j/Ő·Ţ>§ ę=Eä«ľă[á+§4úźmŚ¨’ş˙·ß`ý}˙Ë/#Tí*K|†ŕ"ŽňFˇ(4Sś»t <ŰŮ!ďP»]§Ľ Ş;J )Jb>;R×ÇrĐe˙őFsěoŞŢz}Vó[Ă—ś„Ťůů×K:ŰúĎ T¤l*lE]¨=˛5¸ÂŁe_…˘™í6v. i¨,)©,Š/”ŁŠrQÝŘ_?tađŕv»HË Kß.ŃaŮáĂĽťę #/ßń ŁŔ*ß×ĹßĚ+Şul8l~ŔQyăţGŞý<ćúŘ~î.Ü̬y€×Ľ˘íWřLÇáoąjŹ^˙śÓÎńďÖW·őßzѢů` żëörŮ+§Á€ňCŤQ›×xÔn¬ÜžżÍBÓ#Ťý÷ř™ű¸oŮŻÁCĆ…¬Ę†Ńů|ż ˇűŃ.äY/˝NűňR­ł~Uť˘ôő/ř•ţŹĎcGgŽňó¶íjµ/ÜÁĆ3Kf3ťq0—זּ–z‡u»Îg„CĽGľäÖyâx*ţ;\•\ő†·ËśÚ飻řÍ; -ĐRš±XÍrýNŠŁ‚Ŕľç•¨ÓčS[<Áoŕɧ»Ev˝ž¸z”äř)Cjj+Ękj‚+ü„ę?0hÇ˝mËđĘVźÖIëŕî&ë˙6úHUĘgÉŮ#*íH OĄőżO·MBŇ©Ćhs€ĺá]n¬#±ęW]Ř7l3â!ejEjgÚ…4ĄzK„׋×rxÖóݽ͓™·“ R˘ňPŤ“±€şĘÂr×ŇJĘKrKDK$ˇî˛ÝžŽŁyúż)sÓĎŽóđdTQ°”{wl ßÔ××”™¸ýg|@ ˙=¶ľˇŢfąQďµYóIě÷?|ĎąöOĶďýç¤ńe•€­ů›tĎżĂÁËرx÷ţ•k.î{úâÚ•§Źöž^)Ś9Ćl˛Úhčm(*(ŹFÔĹt˘şŻ¶®G­S•ŰŚ'7HýËa­kË·˛··˛čq8sşŻ÷ôiű>KaŞ'żĄŢÇÝÝÇ×ÍĂ·ľµµľ®•e´‹dĄ´o×UNB/vľŔúŹ'ë?Ľokćâ9!·2q}hGBcĘ÷4–óôżŔühŰS3§Ú!żh{OZ˙^“«OÁá©‹·Úíö-ŐÔ+ęR„)%Ü| !”ž’žPÓPŃŤ*‘"&[š#ÉôN N67XáÎŐ˙ĆČÁŃiö#ĂÍ%gF͇ÚCϢÔUÜÚXS©¨­9O3żźŕ#÷,·B·Ô6ť¤Đá;˝ÜÜ|:/ÔVâ ˝‚ǧř™źVµžE§P…[ÚrµO0^-x9ëSîqľ›ÍĎNČIĎMÍG†írY€¨Ř34"=×O(ő®‹ŞHlD†OôxU[ÉâS’eÂŞ«\ŢźküĎ?XSCŰę˙Ĺťú˝˙Ż~­÷;ü/ţ:+®őđ—‰ř§ĎCp/őŕ$·—Z‹ĺ})‘EýýÓµ1LÎ|Ć’ť3ľ™ď ’…":$˘¤˘˘PŮP%´ăąúDř#/úhă±®®ćŠ“m‚˙ň)ŞŞA¶9Ŕ…A™ÇŘÁ_<—™fW`§tűJšý73FmĽ«ř­–Š„6Bčű JÚ…•‘Ţĺ´×^~ťeľÚE3´ĂÖŤžÁő‚ĐFľ˙٨sčýőŔĄ[ 岀Áź”rt%ß“ÇLśÁLř‰ëÉĂjZyIýiť¬©ŃĘŹ3şÄ?˛Ë#Čą!Ź˛đú€ţ¶Ä4Îć%]Ś­ nđë°­°AVČ#ĚÉÂćŚsŮn–({zŰ9řnBhĆđŮ|lŘO°•ý>j<Ľ‘>î‰ěŹż»Ź;htĐZ7ŰÍÝPhrŐK ¤ C7D! JI;Pr9«R ¦ŕšîć2ÇŰ)@˧e ;żfľ÷@Ěxj†_Čx§t1ĘôqŚroZ)CZż5~b±ł˝‰çLÄ`Up˘Ř‡)‰:7(č‡R]b3ŤxCáś>G|+›×Ů«˛4ĐŃ%GŻśŐdď@*?›óđňňó@Ś{@X¶húIîw:ěĄYË­V;Ĺş$ÄI˘c‚n"Ü$”‰JŤNIŤ[ëXĐ׹z[Ű2ěWwĎŤű¬Ę±Ú–“›“§fí–‰RPlxj*{îá—?!)N^nţ®±wJJËH–śIµÚ,އËÜ°ĄjËč{ÔđhúńyĚ ”˘‘N á«[jĺ4ţęk5«hľS˝!Če;¨%ÁßI÷·« }u—řOö©ňY€8‹Y¦6s3tńqr őÜsôÖŃB‹ą‘˘ř3 ÷ ÷ 1Ť]±Žś°Ö×ßâ·0uu<Ľ˝˙r|L(ţ˘ţ†źČá%x ţBÚ51„äĎç0Âü|…g‰Ť8ň˙˝ń‡x…{c<Áš #IüŁ ďĂ7"YŁď¦z T/®ń$†U{Pá 8´7{ř±Źâáíq–=ÝŇ65Ĺť«öŘ×Ňw´ËƸÝjŚ;úTŤqgyŠco;‘­osÄĆžŤ¶%1[_öFsÔĆžÝEⶾÍq{că6ąő•GnMÄí`˝@ÝŽzqôĹ7ő‡EJ’™öó3çë‰gW¬ÉnĐŃ Ă:OFiâű(1IŁ`Ž¦lBg4Îř" ßm¸Ŕ±_W*÷.<]’˝“Oďz7­Ö€É^…Ş3š¬cĂJčĎ-„(} ŕDµe0mČ™Űűhüî~“×ԦޕÁ_ÜrŠÝŮTQÄ[r©!ŃÁéŢqžÚěčLqěó>+­­W:¸‡ĆŮé8Ćş ŮéŤͶ8îŐë.ďµ,ž—*bÇ–m‰OÍęłSŻhάŐÖS×ę¤;ć–%Ć!íü‹µëíľłµĎg@öt tzJ˙né 'OáHÍ$ňôk4ŮťíĂ/wŮľSŮĆp|źżÎ±‘Š™ W`,-TCr[•€ů9îŕśÔ•’‰KvYÇč‘çýÖWźŕ>Xű·ţđN厄‚"Ńľ˝ůżˇ?ĐçsćGív8¦-)˙e·ÖşśK—äDMÓ6˛Ýë™ď˛kť6~ű‡< µŰcąÚ‰‡ĐSÇŻ^“¶ÍNdUé|ťaîě>zFGŽ!GëĄ2Ąh‚!u‰!ż+!ě/Í(ň×SˇţţĺŘ_”ôżĂŕ a¤/Ý­K,%˙ÚŤ— ˙‚%zä_äů¸žžÚ“7Ä ßvRÖyޢüĘΊJ‡áü ~Ć UŢz—Ř"$ňfP/[ŞGťë$§Ţ¤cp®úĹ)đرÉ{Ž1§Ôě„™âÝ»ôˇîÝşy÷§ňˇéüRŽý»‡’1ń‹ť{ŔCxăNĚů‰ť4řhÇööĽ}żCś´“_/ĐŮw$Đ?Ć$Š%@m×@ű`ň1čyďÓdďV‚Ě•ű"„ ěC#C„– AđpÁ®ÉGK™úÝtŃ‚P嗀YKҬâs,‚˛I˛É°Ú:˙ŠÖŢäĚ´›©^QřťţŽbˇÔ¸mÔ®4ëĹó7 ©rřC Oń—X·™úÎ…/ ŐťËđř/ő„Żá=üŹ‡a-Â|53ßoAř{lţşi8_E:śŻ)Ly´ęi´–ćű2Žŕ›@w:•żĐŔFw…*hß=B{ľwІĎńĹsůĎN;âć…Îu.6+ŕA</¨‚˝w5ĽrÇŢ.‘ZŞźX&8Ą íôÇŐOFöybč=WăÁZŹ'gśB"­;JÎĽpÇŚ"ŽŮI¶¦É1˙îöíąJ¸=Ěž·WnNĹĄşOř>ů`™Ż‚¶Âę­Ş O‚‹Ń3gŽsô‡ËWŹůéęĚŁŁE¦=«w/ť;GŮĽú{ܵgż¨ůV=_Żň—ř|I—ëQŁlňěĽfă…Înô窚áË:e`/ÔS&7Błjr’óB^ ŕ>Ş4ga´v¶Npó}Zů Í> .C±u‚ÓLěł ňÉ÷(˝5;Ń™ęçăF{řŰOEśŁ`.ëťĎéÍťh ˘Ŕ šz臝€a-=ôMć ‹’ž…ĹÂŘ Ŕs5WL{팍Hí•`ČíűiE¶ľx˙™ż¤$dČ´]`K$¶–w)řNqx%Í´hĽŘwĄńRĐJă/i@CM‡űÁFŠµß˛9˘äÖ±Îĺ^ŔúŃ­lüp˝ ,€÷ůĐ8]ţGeëX•z¶U™żŞB9ç.¶óôµF$§~®=|(u*×>ş¨tě*7[[{çĺé.Z)»3SŠUĘ35˛0_´TW4ŕC5[kÇ"AŃł0ý°ň)Ăť&|ń9řČŇ;¤/X[ ˙q±SmŢş&¤_›Ä·2źJ|kMâ[™Rń­ ÷9vxűTę ¦Tęđ–Tę ö©ÔáíS©rÇŮ.­‚‡´dú\śç‹†~J–a‰ďHd©ĆIuI]{‡zKÖđtű¬ˇC¬{GYĂÚŇć¬áěŐÖSMtŇsJ“bó‘vaŠŁůÚővßŰ4s !ńuŰ‘€‡ĂmMöŻ§ň®ˇ0źcď(ĚüÝRŔÁš}éh˝Ęn)m|wÎ 8ˇ,'dyD%P^ މ*2ą)UŘ)xZNZR{éĚ€„Ŕ´&=Şąä÷ź`@µ˙v"Ľ™F¶>†ţŚ ,x±şBx2oÖŮ»x⶜I{:ŹÓ_e÷@ÜŁÓŔéeą ľŇQ(ůjůF.ńŤNNP^ëí•˙MҨĽĘ{F“uUľĐ[ŃTč݇_a×’×ęĽó¬MRŐ'q/`ötśT|‹L-îő K÷Şë–{=x*÷úE¸}:ş¤®uŞúĄ8×ű°ć©‚ŐWʇ·“âCĽď8Ą•…©÷­ű•x_'Joö­sÝô->ĎâśÂŐXWÁĚ­ű>qâ0X c!r2×âł`$wŰňvn{µK·-WÖmż.D…÷Т’řÄe?8 !pú¬*x6ôćöP(Á!v“t˙94‰Š)OL,DL9>J!=„–ú0a|˝4 !aiüx.Š‚Ap\ »ÓČ,ĐÓÇĎŰĎ/ĐÜŹ|ٸć/#‘-ÚSÂ$}Băař±…#jříŤTN`†CŚi¤çáfäKľM3‰6Üä-|› -O]śŻ×€Uő®÷Ł„ đ Ja4ŽJ'Ť_mQI~´˘~Řg¦śŤű6,Sř Zôcaq’F´LB6Q&!;¨ ŮÄnIČÎ~\B6Q Ů=ШđË$ů‰{>…*˙zĹíÇĽżËpŘvtŰád”é¤qćŽ&űđ}¸MU»6çf\Ţ˝c?*Gkłtc­"×…0ńűŻ3ب9R>ćŢ®nČů„x‘Czj˛6Ú´/~ ŔŚ-ÍčSÖ+ŐÎPČ‹üqAA®{ŢúŹˇđŃ TúkxťG§ ·`ňiÓąłŤç˘AhúMř *c›ţŠ Ś'‡*č%‘ď†ĹTć6r ďä{Îŕŕë‡& "qŻG›ńlţmÇͬ}őD?ěY·éŁŐN&&úúÖ3ĐLżv}ř?N—ž)Đ)˝ž”4[˛ż_ŕĎŚĚ˝íçé@eăÎk»č­žokfboŠ…¦×ŕÍż]ËĎu6ĎmňC(T”’Ź-Â?pžé'đgÔ®;ssfá^j¸`:SSĹéÓá3JĐA‹#ĐK Nŕ`bÉž(YŚ{˘`)˙žÇż¦6“ÂKđ˙Ô`>ÇáˇpFÂA‚Ź;z9î=ÖlS) z$S§Q‰{˛ŤÄ1Â.r“AyŔ(µĆ?(pi\‹}Ş5ĐT¬Q[O­eáŚiâtW)XN…űAŹĚćĄ  "Đ)ÓdŻ?UÜńuiîçŕÔîÉIŻ¬=Ő* v_TşUŰź OĂŰä™ţş2ţëŞü±nš2şI‚„.ýdǧřđÔľ"&`tË7ŢHKĎvéŤ ź¦xÎŃXF. T0úQx €GUJ{R vŐšěNwľĽ÷«ötÔvŹ»nű“»r;ĹĹEFn÷¸ó&Ôjsń´®Ő ÍĆ8٤Ť¶0i“›_”#ĚYÁwôš\ ¸IŘô8^mÓ˙ťÜiR¸ţ­ ŢúŇŤëÍüR®˙LuKÍęęŞ>ß©HŃz9®VüńĎiX¦ËÁţ/q5őňVnŔ±†rĹvűҲ1';IVv:tö\9Ö Ż8čŔřźç.dţ*ÖÚ[Iő—zEÄú±;_ÔŤˇßëU/Ă*ńW0±iXýąě·ĂWříJ5ąî8ô|:2ř˙)óÚ,ZŮučRRëe+˙­ěpŰĘŁĘÎ×­ü·ňî[yTŮůÂX×”: ™%d@ŹuŇ+|24YýÎ ‚ŐďŔ$â[LB_n‹!Z~™±•QÖhá긇Ś’އäűB&öňëĎ7šO¦<•^.@ČŽ!ť%§ĄY®îţgőšě˝îő•V=rŹ—ŕę$erď+λü đjËi—ËOűfŁŢ“pëCŇ~öô†% /|ÔŤe 2‚•Öv» |JŤž/´ű6>ę–`G%6+ř z­)4Ićőäą©Ź.ÄßÓd Ý!Ď…‹¤€şůÓý.3Hv`Şö$™¬¶y¬$÷ÇYî©ľY~k‡j…űޱ§ÜC""‚˘űvŐĐíŕ)X&Ř_ĽÓäfQWŐýnę˙@LÓ CÉćť%›ü\0:M⇖ ¶ę9 :řđ•ň+N[hš×jăŇ˝ îg4Ů“°Ě‹˘ŘŽ<ÝqFKB±‘¤ÔNt+Ą–Ů:Ąćă°zPw;*^ť}IđouÚŠ/ eî[-Ś†źJäŘ{Źµ·2!“YÍ޸u}Gq)‰›EQ‘!!›‚^µęĘŕ‡o(Fd‡Ň4OŔ_Ż~6]n†ôj3±MÇozćÖ”M˘vk‚_ÖîLě)ťÄWĆŔˇ/Qü_ŕŠSśÔ`ŮŤžépw5!*6îĎŔöťĄ_ĘĄ_ZF»Ý…ú>j¸ @Kč9­iĆĐŘ©Aɸ–ܨ¨@0«ëJU}“Y]łŞWlV7őě^fçZŰ؇\E­6VVW%…W›gabŠ,¬S#öŐŘŻˇJÎ0^ŠŤĺ§)Ćď zťşĽ!Qă69 Ó| ŹŰmg°ČĐk™čŘ]:u"bĚ`EbgĄłątJ0Ţ>>Ŕ´`d"µ8ČÎű{ †Â§ZVe¶éĆay%Ç“n3ěé#±Ń qYbÓc}“ŇR2ý¬đ<¸T".„…0´Č9N,р۠_ Śý]“ý¦’÷Z2#*?S{übś„ŠHz¦ăÖZ{eZëlôÚěłĎ-Ug*á;vi%,„~řdó`3M~ yG—QElQjaJŇ6”‹r<Ó×'η ¶^‰˝+äçWśÔ™‰Íąk(4 Ţg—S˘ Z‹,śě×;Ů»ý¦#fCPbŠ4›‰ŽçŞóó= w+˝LĐ:`ŢZüĂۇŚä„„¬QXĘ械ěB¤]ĘGDašÁ#ÖŔH ÷X>kŚîŇârK+ÇÝňĄ‘6|xőořĽ>â¬%R8öŃ !…­Ź$üÇE*đUŤ*?ŠDcoĘżŰR‚¬Äµy›Aíç·k+éCH"ŽśÄ$PÍŃÜłZ‹wôżÚÝ ŕţç‘+Óar’C–8ś›yM“=SҸhMÓi[_­ÍłR¦?´JĎśą˛,}M„ÜyŐ}~ź?f˝ťź—ťŽ»ŻG€ňCČ+‚ak‚ ëőĂď«|éfLNöÉľ;KĚŽÓu[!Zła+Ĺî?R¶ję„ů¶ĆäyąşA/>[!Ě„F‚Ş* ÎŮ"±·«ýJü%®ĐÂŻC¶Í~‹R´Q’$"/(+H+ou ŹűçřUâĎŕs Z&3ťM-‘ň•Ć¤¸Ąę16W¬.µŮűGqe}…Śů/wÝČ9ŞŤ}Á^©t[$ńÉŢű`ôé@yŤ*đäUQ]>ŞFJÁC/ş 8=q‚7Ń)üi î čŰ¬č¨ ´Ç¶ ľąşđ5ôSń€ Ń4dałx!yqZËř?„´*Ěpŕz<Ę-ĹB/X=.Ü= ťÓ濦QÍćčË›déŮ >1RŔĂ…ĽŻÂĎĚ% Ž&»»Źó&°©Ţ0ßčOů?ĘČ%+a6ů]ú ă„]±”<Ű»”ŕŹë@óďĹë\<,6/Č$"y_łŤ–f+÷ąî´–!0`Ŕf7úҬąâT2«ß”LVoX„ř™V3$Gk`˛ y\yga*uM3ę Ŕ“ˇQyttů&F‚W‹i9mʉ DúÂdüz+r}¶ ¤#-eÔÁÄ÷!hM6ž/¬ČŞiŽXŘx4ŃŐu¤ż¬¶qĽ‚łÉEů…ąI?˘Ý¨ĚëśQń¬} %#Đô—›éÇ ă?ńÇ\BD^hŞBŮž™îűm2'˘™H×~ę*[3Ç•^äU-s6‹7 BXŢt–<ű«&Ëó#ř)ÜŻůř}üöpłÉSľ2…÷áíÚÜsgEX—ĽÍM¸÷Ĺ/ ń~Ť«ŇŮ‘qżă÷đŰ“Gŕ^î"–ź ĄřĐ9ý˛5;„ś‚.Ő •Č4Ůú?bTFÄ©‡Ă;° Öofqg ÚF`§…W)|›ŰÚü”ĂÁ†ČJ¶)šż/.OĂrPáx;Ź“-Rj/t·3Ţ:%‚yßCZ*–Öňă8`Vi4hLߢCű2óKtđ”nxLékçmX«NţD.GşąÜťp_µa8†łGşÉX yő“6‘W/űqgcb~ŚŤ×7cg>XMXřwÍ7ĆMČĚ~®°Ýź†PÂ5cÉĹąCşr:·JzJ·Nó}ˇ’SfÓ4t±´>ť,ś¶Ć=uˇgcEk§Á‡n˝ŰZť$%¸ŰK şHćîľ÷żľ šř»Ýâí-ľnÜÚ×wľîXbžm‘i=#noLňć´d†-HO‘më=ż>€'ęŚÂ·¸:´Ó·PĚ°ĆÄĂWÍěC<|u[‡m=Á‘f‡'‡GJtĘ( ë}=v‘Á—äEúˇ8&9Âá.^±5Âčv),ávŤˇ–†.™¦ă kâčiˇ{D,ä†÷&Ĺ–†0š­Ăó¨±ČÄ}ŤíZ»ŤČ YDÚ`tŘě°ß3ř-óuA~ţŚ3ô˘‰Y‹ąQČ/Ř)L?ޡ˘śřäŚřäXIč Ĥ:ŘZŠ-âť`î‘ŮąĽúa«, ô3,ŻĹ?k˛‹Ýá$?3NÚ´š°üwżÁ=ń'"6ÍkTůí@Aćî2ˇ)¨oř0N´đ ľ TkŽP™Ç5™ǜ۟/°YŻk ‚JÚ'X×ŢÄuˇ“¶3Ž"“îˇ/jü®'˛ńsőđbŘţîv®nć}Í‘ÓćŤIfŮöÇ…áŻ7J¬=µnšNMÇöuĎ),ÜůăV©tÇę “ő×HĄ;dhRrčEáI+E_H„ĹeżHcr ‡±ż@ˇýhŻ}ÉŞnNsu÷,Ůi~Őď.űË(ő‡†­ř‰Łđź&+ć'—qŘ‘÷Ą:ŕĺrŢńpq{)ařď±VLŚȇO†^zZ>)%Gm÷vŻx{»7‘+Ö8 >>±A˘qˇFČ\NâYHbK‚öRRš»Šésn!ţh1·v°zť€2Bă­ŕ]¬Ż:Âţgż`‹BÝÍ0ěť„Ýń ™“áł~Kß””čŚb›¸µłĹşşb‘«žébÂU,©ÍŐYî'Ż“ëyü:Ščâ:Rç‡KŁ!±@-„ŕő]~ ďŞ9Rž“Äâ9a‹pBK”¨!×Q+Íű/Ł[B„őę¬č}ÁR5?t&UÓi˙Ç«c€Żú$–@ÉĐő\ő‡+ TCb÷©Ž`|ʱă«ĽUŚőňzŤšYů!A}ţ% ţĽI2Ú0TĆź•Ćˇ#+aĄPۇ˙ě˛Óółű&Đ ŻÖJ§âooů‰<<‚Ë}ěŽmďĆüđ^I`Í÷ÜhČśšÁ!dě—´+űTBz@¬baeŁ…ü&hG=g’ëţoČÍEF6Ëç0íčĄ÷§'Ą—2 Ŕ”i=(4ŚÂQú7ý} ń!Qs˙±DĐŞž,ťDł—pKC]ă "Đ{4&~O¨ŚO”űF»ˇe ë€kI }RŃçđ6!°ĚÍMlŁYř•:ň‡ÉňWMČXWő˘°±‘ă«ĺZ/!=)»u`@ĽMŢjÜ$7>)$’)V_N§ßi!e}h6OqŢň'!o ›ŐK@çÇ&ů’lŘĘâŐż  !@nW1ËlŔJQřŢż«ŞňňĘŇŞ˝Ô?(n{J9cKą9Ů!#Ä|NŮŁiâufĂGŮ`•@ü«ˇ_§š m´»ŐƬްLŁś)űí‚ďxÜgPŐdKeéĆš-E“=<&z Á‰%ÄSżˇY%e™Ů±»ŃvtbíŮ9ą†iş›Ç˘őČ)p}ĂÉŻ‘Ä^ !>4ž–eľČSIr_}aPăNňčÔŕŘ $a&ćŕśĎEěšOfÍÇ}­˝Ă3ĄJ­…@ç‚ĺi•mäw_,Í>Fi©eöüăđuÁł|Š±Ů2Ý,gíNű˝hÚ•Pśżk[ćYtŤťÉ?czŕ„ą¸‡‘\Ć9÷±¦kfŁŮČ&Ëő†ŚúÉ’URć'T ˇŘŁńÍą*Ĺ„Ź˝Ä‡AuŁo”Ź8<-µ¦Ő•!űó{·°UYp{!L†÷—}7»ˇÄĂ}q5¦čsäĺ´Ę·ËĄJ,üđ—1ŐB0¤0CZ¦F§sŐůA­™VŻ.ŕő˙” VđFKŢÇÁ¬ÎKĎhé2_ŇŮďńjÎÂL&0: Â9 EMźŃĂjĚv č`Rf3B‰HI~oÓN¶+ÖŻ2 Z•TĘČ éżËéÜÂjP#¨uX¶NÁNŹKŮ’µ˝@tůxbubégh®Ž„1ů١áy:&VÎÖČ\Zvßž—ZY¬ŁŢ@5ťFüSŁĘĎ,‡oá>pK ŹQř„‡¶Ľűó4ń»žÁ>!Ţ!^ÚaŽa^a( …ÇHŠŕS^E ďëâČŔ˘Vµ!Ý:âúÜ›šl„Ľgú¤ß’Ą"a2pńFCá&0†Up?'ß»43wÄf;üčć}‰—űT™ěĆuŚ±« Xăë•Ćó~0°űĚ00)ESz‚Í—„…It2¨ë(߶¬ †âOµľÇ”]řbˇŤl$ Ŕ†í'Š«v4¶ Đ$7‡jÝ‹MWˇ%zbŹD'ġ,$6=†ˇˇĄBd;ÔBčpú .Éű héă%”RžuuĺË3»Ě<üŰ­ĚĂçĘ<ěâ?T*ÖŐUR‡{źB™˛ŕ‹-÷‡É2ŔŃîp:„.ĺ@Ť~– »Äűî‚Ńu!·'AEü[ŇČŤ­€÷k“śUĉ‘Whě–ČäěłÂÚ×Iđ>ŢAĎtł_˘ßši;ÝŐĚi•…×Ę@bO´9Gű$3ö”'¶WKĄŹK˛rsKJö&ďG Bżŕáx¬¬UöYµŞ¨ó›\Ş`oáŤdřrëş$ ¸űĎWđ– \¸Ş„űžY{ĹÔM+}b ~F‘ÓXt[đúäBÝhˇ†ŃĹĺ×ú€fö`ĆxŻ›™Žł—8@X“íŹÜ˘Ž„¨9‘ß©OŢ űz'”Ő÷=utŮ·XmŚătѵ(öĆ/ÇçöÇŞ_X.ʵˇ?â‰×ĺQ! Ăj`řm!RVíM"ăĽKLÝ˝ţ[°†hýAYG@®¦e­?léůH‰äPßřŐD”ˇ?Řp·Î[Ź&!𤩾ł LIŃ‘çM¤ŰHrAřűĆ‹H-;7 QRĹ’Źmąua±ÔCdą•2+-ľćÜ!?J B•ŇŃŽÖĂ *%̤扙I[^˛÷q^°5âbBMú*ÉL\‰»5âń\u—ŐšHŮËβU%"K?4ˇVah(‹Y­*Wl!žŠ«aj7jc롯ˇŰÂkśJ€«Ż·š1K¤ţp~«Rܧp‰ď-$¸ŹĂ).dhΊ…fžnJl3­Ű?~đ „{bM7<›Á*°ęFńŽć‡Âen'Ęč(-ľAšß  -ž-M‹7Ę:ÓTný­Ú0©]kÚ&7G#ĚvŢš–ḟÄî-­iŚŹ$6Ĺ9ÍxŁ…xĹę›˝ĺÁ›{Eđ˝Đ—'ôĄIsWBŽŻąfą†?”.E4TĂ~5|]ů˛ĺjš@ź™-ř®ˇ‡ü†ĹÉü~říťÄó7ň_ĂÇśôtč±eM°·FQZ`c3JŠđ¦?¤Đ'Ç=T¤plˇŇ‹¬agZ-,‘®ĺÚ¤‹94¤‹9Šä?ŕÚóMęŇÜ nßđŘ~Žt D—Zšŕó Š·s›¶WATÓĺ7s÷ń\…=~z˙V}QJ\U8ęSŞ­|îžç%ź;Miů\':$óď mŹBŰăA xPáŔ«í†"rĆMOÓV'7?MŮŽ"+aGř(sŤţ„Ď*8Lő†ŃňˇňĐTŔU^â ÔÁ74xÂáę5ˇóp˛«ë8_YWýˇr]h 7ŇŮÍQ"„ĽĎ%śM}‰F®7^ąŢŇu ąGôŤr×çY縝tĹ+q–ĄéFc†×ăOr8ţ"Ř$lyĆÚDűíhóŰRx·$ĘËŠ\ÜÖ(ńěvţ“í§UĐŻ`zLU…S·9d„Ö}*Ë ôő/@ŰĐ„IŰAŚđ”b̉Đö -u~˛ĚŃź›ס• ˇoSŚ±ÖIF )ÚŢs(~·FŔhx/żVtżńŽ˙„®…÷Lńh<ż»v¨t9uSXpTVÝq€;Ež µôâ‘Shnst€%T‚iŔ1%B菸|†ÝzŞ ?”ÁRőˇ L«ŕ‘2’ŔÜţ!Ěm\ xÉ K—Ú×ă°% …¸Äť×ó@y¦Śb!QádÁVM+Ąr–˝ÁUBµ-ř‡…Ć[ÝmWď÷é˘ŢN¨÷{‚&őX“AR`I€Ä™hcMOz%Z·×e7ůQUbqŐěľkmśŤ×§¸ĄlńÉ@˘Ź5w;Žűôםh±Ö/Ŕ€<Сď‚~|V_ŇĆChd"vY°1PKZ€i5*Ńđ1Ź Ú»"Ú-BóśM°–íĐĎmXb_ëa ‰0,Ňcó™Fzt–ÄjŰĘ—4ôäBŕ?ÂŮ!vb¬&m‘ič˘Ď†·ŁŮÓŇ.Y*ąáµD 6ąa¦@O<[艻ŁĺZ¬†u´Śήµ)mKNö ä$Aü' ¦…‡`ÝŻ?ňő[â§í.‰ôĽPÇ”Š$’ô˘ťđ&|¦ő;ţ0oY‚)kł†ČŃŮĂ4a“ý{ TŠ†Ŕݢ0ńfĂx!djA?qürR´Ŕex˙KŢđşĐl+ËÉܨzUeC±5ü,/*űK2„í}*Çjâ@”üB¶÷Á‚G3»gĽ2íŻţ×˝AUxČţţ`ţ7,8Űob8‹_¬$îŠÎ$q»XÔî±ÖTAĎ\•“5Şgŕ 7M÷$îKŤČ1<·ćƉc5Wćě.ň\ÇíÎÓť°`ůň Ń)n"çlĎ´•Ů‘•]*mö‘đýsU®“›ó7ÇŻ¤$l)NŽő°LЉ[íŹÔÄ„ÔBŚ9łY/_/Zoŕµ6p4łŘl/>IˇIîn“…›'FBŹ qŹBšlnF˘ü%ä—%XµÔ˘#E÷{Z‹¦ńĐGsş§#»hź6^zÔ-Ľ&cżQő,Ě c›¦’SÖĺ—sľ!smŤ]ç:j;Ó›‚$Á’ ÍH;5ŇÉPÔŘKé6żű<ąç5Účą©7mçŰbćM°p_ö†·Ą° ˙ĺwđ°jc‚›We¸É^iFÎß»DΫť"çÇ´“­Ź3˛W,"—š–“‘"JŠŹ Ë Vođľ'}™MTkT¬Ę…šX©†7¨r1A‘äXĽÍ®z˘FűÚ“gŇđ!žCB˙`˙íŹäËxzú¸é8ÁR_ĚŤ*đ—°H+;óě‰#;ł#´%ˇ±ÁÄm"$ŘĐ…Úĺ‡\—§‹‹yŠęZüHÚ/ŘŘÍŇkžł¶…—č˙w`·¬çCâŻ'ď«\©ćIT÷—€=gmkke•b›•ťš’ťe›j)‚PĽá™Í’†ńŹ˙ô°ŤWQx­Ô‘+µOô W*ú6Ö’guôß«G; Ĭő"ÖÉ#ţ¬çdâń0·†"Sé±R„ÓĆąÖQ«éA$ÖůżwaĽV]ś´+_ô *=‘··›‡»ăĆ –ąđ'čjĺ?^¬,×_$‚ţ÷”zşM7°ti×V˙í3m«ßđ˸TÇţ ď'eDŰ‘0›„.A)AyVÉkŃldëa7ŔĂtńtYk˝°ŕĎ®zÂx1|B°é°íČôµźB\›ńˇJ­M=ZŻź=—Ôć(E™MÎ#;™/31U¸Ă§qřµNŤ&Ô_ą?ŢęČ Ýđۦ4ĽÝ8–ëĚÜZKŻk ™îzĽLw}`"Qń݉šů¸îzĽ2şëřMĐíôńíő®´ěš–ő$ «°©¨ č ňţs7»č‹×ÓH×Ĺu¦°ĚŰ]BĎ uŰŚö1üoL;{|ď¤}ă§NÔ…~Ż~Ä8žÜ hxMˇ\÷ţK¦yÜd†äzŮuwŘŃ,–ç ´ôwVŘÖ ňe“4›S^L.aůŻť©kÝ#/gAŢ'|ś`Wv:[‰ećA©Vf6KŐ2u¬–‰»PË|ô"Ő2qWj™ňźrÓÖ­Ťć0K Vď(HKÍϵM\ëCśšę„ăĺ‘—UXU$jgüŢÂô†˘‡éDwßZ”źDî„X =6ť”aSTŘtňÉědŘtR)lú¬ń×nQ°ßegŠjOKOő"üË…—Ä]Ś<„˛µSlmmť%â‡č({ŢNŘe?1l^ę&˙ôżfű—mšň$ŇÖBú}…żť…t‰{ű|‰{× wĄóoN #86®‡’˝%ŇÄ”ĽSU?9/`’%Áá©:ĆâőMŮ&Y;˝,±“ 1)ŰËDŐSrăĘ}đ3á¦ůÝ;o©± Äů…;ߢňéa„ťÎUbjç@UŽŔŃÇwTâRB“şk„‚ ˛ţč}ŤKŐşRć;•D˛~!]QNMš˝×©cQ^^±(OB±wjz®Ďţ˛˘Ĺ˙˛ĽKÔľŤŘĺ¶)f ‹˛‚Öőn´ę»SĐşŢiA«ţé ZŕĐ TK¨|"ú( ĺ Łý_ďC(ݤ©ë±—Ľ4UQ÷#ˇ[´LÁÜUô5#š‡lĘ„!›ĎZäqÚV)SĄł±«›ć*GËç*Ý•,óË«›´zĂPůŁÔ—öÚŤ«Ô§ľšĚjž,€şĄTu•bŹ7•‚OČ÷ÎË÷d-0…°BÖs¨^ăhM`}ůďőAäĹŮ'C&¤rM‚@lé‡ kĘ-eňőŁ[d…*¤˛BůrY!÷4ă®!G™Đ ©ą $Ţ,$$m—ÉűPůa§PâŘO?T¸¸ůĂÇůńĂâÖťáÓď÷~”Ä-Z·iö=YŃÓEZô<ĐŞ+[bz Éjžíj®S›k®—Ô\ń<3z"šÚÜd>Oh2G+Ü‚š¦»$ˇcH’ź…äŤć¤Ťć®6šGŤćąx%Ő®Ž›*ÔqW uÜHy·UËŚµM÷ěNr ’6ŰĽč.ZĽ•_©l+Κ6í`Ć/¦ëbYg뇵=Šř÷·¨@ČEUźÉ‘ËşX§V˛ţ¶Żď“ ěťâc—+Śę‰ÎÂj5śŇ¤—z+5n?ˇÖÔ4ÄÔž6ZšY_"á%*°Ř@Ĺ9((Î>ž˘-Á"1ťë/ń@Č#ŔĂĎă3­ő)DúÄúǢHm”^Bđ1]î±ó“żq°ž¦(¤ţĐ\ĆŠ[$Uęř‡ü .+ô1ůŇ«růŇgC [}F˝Á]ĺ÷jdĹá‚éđ%†żTtĘú/KX·Ĺ©LŰi‡g9ŞDoݵuwyęA´í¶Ý¶bŰŠř™h8Âśń¸Ö®¸żů®0řR͆ \+^;1¸µ©Ţ-Ľř'‚ľÚčşőÉą•s+Çg BŃX«ąóç.°ŠĆ ÉÉsJőKőwYVxjaMj!˛K÷ßĹČĆüěÚd0M‡iB:ô/žQ“ÝÚĚ<ą Š=íţ ,˙؉>¨Â¨JŹ\i?öČŠ,ÍŻîsnz…B1í­Ő´ěq+5'ßť…+.Ó7j’Ó>í^ąS¨śŚçźŃąxޱŰz¤ŽřĹŰxt“ĎŮ!vű*‡ąÍŠ`U/I¬±7pr¬‘ ěď)şęnËČľ+ag5\ëIŮ–‰3Ţľçcü#™şÇߡ؊ô8ÚÍĘÉ•ŽŢ8U5•n¦†őÄĂ ;yaě0 )›+0ô¨‚ »ŕĘ_*üî PgK˙AwĐYĂÝßä,Z2i Ąb>Ź7ܦW®{Ńügt ]Φ‰záŃRµËĚ­‚ÚĄp2Á•]0ˇJĄááĆ`jŠáGhšRŞ÷łEµű˙_>”r­s*]ą{YŐř-ß Qh¬ő¬%cg|„°:WÁ›ř=áť›đÍiťĆ\ŘČ%ŔëŐűî˘{h«Q –â?!ť°¬Šď!ăťü`hŕd¤“y2Ň©¦ jXRŔ<0Ú*LŃęek8ľnő!ÇPOHč»L Ůëň{4ľ‹[|S‡"Ďr9Çc—řÁŐ\÷ý:Ë*ŐaŘ*Ăç˝dąJívWŻrUZy9’Żµ0I٤`ĄBÝłüM®Y°lť·•‹ťÎđÚŐƵ휌=őöFädĚ\&v¶¦ÖvL­î‡v I7QŇ—˝Ě Ű>éD©T‰áÍ*"c¸Ëů-lăşÔn×ÇłtŹŕLEŇ P ý«pŮ*(Ş‚ĽB•n2B0i¤¸]·yŽËçzĄf·}ď3üŘ*®q µévĆőâí26(Ł‘ĺ+rľÝô¦m$˛ ő5ĘjşŮ!y·;’5ťvHŢ}úÉ8ţĺ Ż0đ^rčU›8Ćk+Őëůś•äô¤öçeűîóź?0ľŚăĎ·éŤaőŰtÇ°yr•˙ŞĆŞEł^ź˙›RŘÚÁĆúą ęH٢]Uˇ<3yGĆßżZő-Í^ňmăwĚÝ Ťď´o#ě®Ěerť­öňĎĽyß‹0/ň^Čzľ^ıŢü)pŁáFÖWA/ąěňĄ‚ň͡Ŕěeşĺř…”˙«ËUcirě˝Z/`/ ii)ĎUđ}–Jçězăn÷Ý„ ŐhMš}‰cžë6ď26Uq8*™HŢąŞ)Ćę´Ňšä»«^Ł–ś«žLL´~X j˘ş»6Ü7őŇ’ ÎýŹLLôh+1Ńz÷¶j˘ëWý·Gk9ŃzwčťXZ!č‰.h­'úË™ čˢń ) ‹ýµ‡BžĄ óŽţÓ,ůX+“‰ęŽ«čÁŁ‹ů!Ü©Vĺý6˝€lž¬íYÚ ŘĽâĹśźÝ’8bă[uË(V6ǵ8ZاŤÍ ŢÓ$ż  şp&Ă›{>”Ş>&ďý{Óíű/jw(ukÝţYµk~ók&WÇŞŇä9ş2nU'żÍÎş…úŁĄĚLÝŁŘ•z˘†ôJ%úŽť¨šC5+Ű–lüwÄ”§JłńĘ,Ç({’ĺ­’+vÝšř3˛¬ěHŹ’¦dë¤TJ‘şŞÔZÓgşą™‡Ö«Ŕ÷ŇžĆĎÇđ ~±’ĚţçQÂ2n×”ŠzŤÍ䏖näľęS2…•Üą®äľÖŁi'÷Ĺ;ąëÚ´\ëq3&§ŕdßťĄĆ­¶rw—­ĺŢh,Á_Q ^'€—śqŐKעúş«c ßü«KŇő{·H×_O§đő™~Ü…÷ôsů€C2Íü«çęţĺ®6çĚŔBą.«ö•­tĹ@ŠĂź¨ĆŐÂr˘H®¦Č•âáÉĺ„Çĺd´[!Ň-ęđ;ç˙-ëŽéÎĺ¤ŢpGnzMÔYY’ 7>‰ĽĄtÁüřăë·Îˉy›Ą6ä©ą±ľTfÔ%/uď„çłÚĆmÂÓí¶w<#θJcŇ6{˝@zóŚşĘ=‹|3ĚmC\Ű÷S(N‚·b¶%ő*礗ͳ"¸ŘţT6ř$tëŞó•.eüwBŰŻ ˙î=UČáÚO4‘gđŰĎđŢI >A_Ř­ÖřQSwoÄčś„ě”Âtˇ»úSä-†ĎPÔ” !ÚAźŽ2%đ­ľ1‰_” “¨ś7jß̉xë­Ú„·ŢîŃă˙)\;đendstream endobj 31 0 obj 33375 endobj 32 0 obj << /Type /Encoding /Differences [ 45 /minus ] >> endobj 33 0 obj 539 endobj 34 0 obj << /Filter /FlateDecode /Length 431 >> stream xśÍTMOă0˝űWř¶TÚLgŚŻË—Š„« »‡PŠh)´…•řő qŇÁ‘•y”÷ňfŢÄžGEe‘ÎĐŘfCŇÓązTČsŢŕZäĐÄ (l@ ŔÜbăÉśôÁBťËjĹ C´Ą‘ü ő­<ÇÁY Ć™¤° f-šE]⼭ĺí&ř}¬~j|dĄ A*-n¨¸V—zďěy¤ ő^µLűs]ýéżş8Q‡E—‡¤Ě8\‚÷Qgd<ć© Ś&ő 6P÷Y׳۔ŚĐZ– ĘJRqŇh ćą–.rŰ˙ …Ź†<ň° ‘©§ë%—h·eOË»ŞĽšUiIĎď4F°‘;nyÝŃúj&ȉĘ;ÚE9{Ş>–šÉo‹dzüŢ^ôMľËNÎ~Ž¤<'ÇgrzІŤëÉŮrňfş^,ëjŐľžŐW?FÚ ˛úĘvümď?­Ö‹yýRu>ˇ‡Y=-×őâţ3G$SÁ°ĽíĬëĺ–{Krë·“çă[J2–6uS;hw ©3 –x[ j÷ső Zá fendstream endobj 35 0 obj << /Type /Page /Annots [ 36 0 R ] /Resources 37 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 43 0 R >> endobj 36 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 37 0 obj << /Font << /F40 8 0 R /F33 16 0 R /F38 6 0 R /F47 38 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 38 0 obj << /Type /Font /Subtype /Type1 /Encoding 39 0 R /FirstChar 60 /LastChar 110 /Widths 40 0 R /BaseFont /SNFSOK+CMMI12 /FontDescriptor 41 0 R >> endobj 39 0 obj << /Type /Encoding /Differences [ 0 /.notdef 60 /less 61 /.notdef 62 /greater 63 /.notdef 110 /n 111 /.notdef ] >> endobj 40 0 obj [ 762 0 762 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 584 ] endobj 41 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 /FontName /SNFSOK+CMMI12 /ItalicAngle -14 /StemV 65 /XHeight 431 /FontBBox [ -30 -250 1026 750 ] /Flags 4 /CharSet (/less/greater/n) /FontFile 42 0 R >> endobj 42 0 obj << /Length1 808 /Length2 1396 /Length3 532 /Length 1985 /Filter /FlateDecode >> stream xÚíR{<”é—KÖR;I7Ďfç„b.“‘ăNC#5!­1óofŢW3#ĂŚËşívQ.ÉĄB¤ă°ą›J±ŐćŇ,•˘ëŠl…śˇíłźc˙<çŻó9ďóĎóűţľĎ÷÷}żĎűĆ“afĎA!™͉TŕH§Ó$ ÜÎQ±D0Š8±D­¬,[(€°™J¦PÉd 8˘ˇ,ĆŽ&ł$ °çCÍBť% †řJ 6‹(†DćŔžÇ;gOÁNH @s ‘80[!.Ś`đłžhH (źaNXč—ÖH TšĆs6M€Ň$Ex€ađ¨r¤ôňß°5_Ü%ŚÇó`ńgĺç’úKźĹ‡y0P~h:ĘČ|ŞôŮâŔaüů]šĹŮö—3˘…9Áâ3 ]`1Äń„Eě`Äâ ˇ9B8óť(ó›ógx¸0¶»ořăjçšž,튅áOö\MüłV†$€ĹŔŹ`N •Dĺú˛óź7ĚaŁáŮ°V† ”"‘É@B0ÂÄ+ăÍT¤<”ÉD T€™˝WKŔó ˇpý ž;űö”é}ÁD% ™+˙ú§¨Xb¶‰ĚHdĺdÉPČ„¨'z!đţ0ćČ„Í”M›-çPv@!˘ą7¦LńK+‡ 1ÄĆČ{P¶u¾̚¤˛hç˘Űĺ&ÂŐŮĄ ͉˛lksĹëĄ]‚Ú[» µoőőöÁç–śq?Źç‘ jěĄ×$ |â=˝kÚ_›ä04GŮ ć^ŐëůW[uůąźÉ ‡Bk7ŚţfôîáfŤĘm/”B‘Cęe˝=ÓcŃ!1ťňEYŁ''0ţů Ű2 ďçSn~vE‹Pyńu}fλeźä­÷ é×ζ:śOWë9űÚϵ2cÔ¸¬ŤŐןuEún§ç‚5/,‘ši¬ uÉâňŔĄÝr«aL2‰o!‰îwLm褚xq ›«“Ő…;Ö&Nëo‹‰PsĘÓLÝŢśÇÝ‚mĹnY¸ö‚ýOďŮ«đî^é"˝G^KÖ”č¨8§żşc‡6ÄŚéTäĄÔ-2–®ßR„×+nq@'ěe…“xŹ`63˝/އâS™°˙ćeOq×®püIĄK«Ĺ-_ÓŐĎÇňVT'{S†DËŁĎÓ3»Wľ>›-süáŃt:•Dť.©iX/‘…21XNääŘjÜ%’¶śË`ź:…Ź(Čú‘=š)‰]ś{A¬Z˙~fě·꨽\7#©n‘GmšŻję0 ¨Úř{,s*Ą­îëËc®Í‡Ý1éCŇ—ľ¤űďĹ۵3wI:cýů‰N^UTş0®ďm&őR7ÔýőxSů ‹8ÝP ÷I{TĆ GÍÄó¦8«&ů<»Ü6)Ekď^±UXµöřNNL¬ćó_iŤ+t{µĂMch W—ަOÔąwLňťPp6BĆrkHcęP€J°a¤UpÍMYž:(IĹŰ+Ń”écĹjSÍ'ó«ŢëŢ»ˇ]°‚ărßŰˡ±#jSÎÚź¶ĹĐľE’/~P¸Jůµ>Ů•Iż4ö0·FŞtnĽť®ő}\żOµ¶xx ůuŃűŁő×ú ĆÜF‚,*/żN6ť4Mó9„vëďńuĄĚ #Q~ ~Ůŕă}v}Ňť3wTîn±N«ş•˝`ŁÇOˇőq^T\o…­+9ćP7źěĄłRëvqSĂË°ţ k˝ íń¸ď™ž*#în*ü4áĐÂÎ;FÎF™Ńož=e_ ˙íĹýX®J퍋oę—ő ¦{>°JępOS˙HÎěk„hvÚęŹß?j›Ľ!ĐĂč CŰ·š=­ůô)ÇQͲ˝÷h©F9ÓéŃ  ©> stream xśŐT]o›0}çWřiJ¤ářÚ­ęCš&ę¤ui‡´­Ëˇ +íďďňa74¬Ď©,äcźĂą¶üäa8€¸Ś2.›‰‰wΓĂ)řZ4‰6cĚÓcdô΀żEZ%fQĺ­ăYRžfábŻ¦pV”ú ËśŇl“î·¦”u–ÇżKłzĚ óCőçPŮŐúWWVímŻŇ}#{˝ÁvbžfÉSE}úI1PŢ×úXb•ö:ÄYT–oóĚǸ‹‡Zě"{«Ńň îk„ďÍŢr6µřŰ÷‹gWłgÍňÓ3ľ]XśT1]ŤĎ»;R ú^\t®ýţ Fńe¶Şć’t˛žQ]ăVwyůJ@*Ń~č M•ôŽÓĹmI…ôűéĘÉil!ř]©`^vxů˛ąq>ŕÖęz=5óťóýkťendstream endobj 44 0 obj << /Type /Page /Annots [ 45 0 R ] /Resources 46 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 47 0 R >> endobj 45 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 46 0 obj << /Font << /F40 8 0 R /F33 16 0 R /F38 6 0 R /F47 38 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 47 0 obj << /Filter /FlateDecode /Length 452 >> stream xśŐTËnŰ0Ľó+x”Zs—o ȡMb´·B/u‚Ł¤;‘”ýűҢĹČ1‹"·„Ŕg5;ł|<2ä" ä•Ajśňő={dhśń*áěGĚZ@{…ç&lńéůĹŽ]‡1‘“iąB Í>Iđ»đ-S‚V HSdx VZˇ´`´‹IűŃÝ‚/Köˇf‹+ä(°Aj};Bő űĆ‹Ż%÷Ä‹ćçS[ňďĽţĚ.ëçâĚč-[;‚•Ô`(«$şřű¨AJśęc +ö´¸#\ľ¶ďpÎë8jđęvŮnŰnł.yEZđâWÉIONăŇďÍđcŠ‡?i˝ŮŢLáz·í‡®Ůl‡S…Uh¨ˇdAx˙[vŁéşä.šŮ\™d?xú„1áÜŘ™` ŽťÇÄv–ňć¤&eŤíĚŃíű&dĘ;?ϲ‘˘çš«ň;áŢŕN|Lçčő{ň.Ý–\ĹKJm×oöKŃ×îˇíšˇv]źąq}sŰÎn_–çźAĺ@ËěUÔčŔ*=ÓQTćXĽ^śýDsđŤÓ‹/ŘQ†-ć5xšŻŮ_ŚŇYGendstream endobj 48 0 obj << /Type /Page /Annots [ 49 0 R ] /Resources 50 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 51 0 R >> endobj 49 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 50 0 obj << /Font << /F40 8 0 R /F33 16 0 R /F38 6 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 51 0 obj << /Filter /FlateDecode /Length 466 >> stream xśŐUÁnś0˝ó>îJeÖc 6ÇDm˘TŞÚT¨—nëMVĐ€·Ňţ}g{CB›k" yđ Ď~Ď3Ăc„ŚÓ@sŕBöGVÖŃc$3ťô~2%ת·źR€jtrZ{ßęŞFö±‰®ixpˇ!QL˘‚łcg·ô\†€TJ©ž;cďŤQH@žAÇŃŢŽĆ÷ËčĽV’Ž#AŃQ‹mď*6ŃO¶řbî— 9[XsSŮ%űĹŠĎѧ"l\‚äÉ?ö÷Ţ8I!ł!A=|ß$IŃN˛ć¨^nŻ!ăz~s ąĆ§¸ša ąśÂž›ŽXĹ"%ŠeeşÎż4[o™ŞšDŘăoÝś@Zk\xŰL˝+ âŕ—Ö‹ R4%ÜŇ5ía˝|É*¦›Čą˘YĎő”íŰHˇ5µu¶őÜŞ]ç‚l› Éť-ď_Ł™żAšW›÷x9gŐÎtďQîK–QşěZ·7ˇćęĐŠuwMH.2n;ÄQÁťŞmRÓÇ&(m˙ Ůk«SM~Ý»ß{÷Á/Ś%Ú´Ą kÖ•đßjĹäHsVŘ5(™>Q€ú-JHd6• [ÍôX¤˙ɨúîŤĎ»÷š3hCÜäšü|ý”—jUendstream endobj 52 0 obj << /Type /Page /Annots [ 53 0 R ] /Resources 54 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 55 0 R >> endobj 53 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 54 0 obj << /Font << /F40 8 0 R /F33 16 0 R /F38 6 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 55 0 obj << /Filter /FlateDecode /Length 587 >> stream xśŐ–KŹÓ0€ďů>¶q=Ž'YŘH-ŤöB9¸©» äŃMSÄňë™<ě´M\ş˛˘L<“ĎçËO†Ë(ă˘}1 Iî<9śBz­EÁBŮĘťNJ ˛W2IĂĐčďs oKç‡qÎCęI"@Ň‚Ć‘G|î¬/ĺ>ď<\*]Łuőý¨3jFőŘ źďś7±ł¸¸A%.5޶Şxă|!łOÇz¬çä+‰?8ďbëşÉ“Ű+]ϧ—S&Ô°ű˝ ďy“äŕź‡_1ăŕ! X8[Đ(„Sż!źFb:+—űŚĚŇ‘6zĹ/ôĆL¬źŤ¤Ś”Y¦“:- 3Sn­tć·\CĂĂxý.’Žâ’˛(Ľz@6‘EĄ-:„€•3ű1ÇbFĂďsř–…ł<™\q ÎŇ:UYúKż2SŐŃRV…uÚnRkř7¶Ń˛˝)‹¤ŇµEdę`٦ů>Óą.Ú»˛ˇÚÉą®wĺć0.Ľ˙€î*ËrßôťĘL6Ű®ÜT–­UrAÉ|Őĺiî?ÍDZ5ű^U ˙ŐŐ‹lه9 šJ¨ęă(W¦#§á¨úežfĎ“•™ˇ î·­ŽÍ´Ť±ęO [y·ťEY%C5~Ś—V^žČşNčjţŰxąĂsĐ‚LT˛łŚ»óň’ĎMcňg˝t­ó˝Ć˝ŞF9vń°ui®őżsTÉ+„T ˙$!<±APOçÉĹŘ?B† ‡ćć—7‡)ośOxëěΨ›÷˝ógp´endstream endobj 56 0 obj << /Type /Page /Annots [ 57 0 R ] /Resources 58 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 59 0 R >> endobj 57 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 58 0 obj << /Font << /F40 8 0 R /F33 16 0 R /F38 6 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 59 0 obj << /Filter /FlateDecode /Length 369 >> stream xśÍSÁr‚0˝ç+rÔYłI áŘN[§=i‡[Ű":Î(ŕ˙wBEńŢÉ0yĂŰĽ}»ŮśrA ą'@HÝly’±“€U OP kÜrĆšŽ¬uÜü=CţR°-'.-(Ă51¸ ľŁoŃřZôe«pKzŽő0Đ`üNá˛Ę]>ě9bó7Mv(†¬FۆŠ6ě‹O–SŽ‚OâşNK‚>źäŐ”˙đč˝F}"kÁřŔDGzʇ@š±DPhŰ㍥8•,)ÝŔĚ·@3’aÇsk-^ëZ*B=”}ZWu'ő”{ҧb7i•”űc˝/r÷«Ř:”eępUÎăQ±DzXŇě޵GÝ…ˇÝ€í?l˲˝ďćęűó8Kg7ĹÍő#Î7mË«ôtNó$™źľhhHÔčřhÁh˙Ę6Ť,jP:ú¶óűÔJtŠîŕíS“rD­ŤôÖí+ö 4>ÜĹendstream endobj 60 0 obj << /Type /Page /Annots [ 61 0 R ] /Resources 62 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 63 0 R >> endobj 61 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 62 0 obj << /Font << /F40 8 0 R /F38 6 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 63 0 obj << /Filter /FlateDecode /Length 407 >> stream xśmSKO„0ľ÷Wô‰t;ĄP¸ŃĆ›ë…î.F!BŤńß;-Ěš}¤!Ěđ}ťůćÁ.ńO¤J‡—Ţ|˛/¦äEp4µ,L°gĚfĄEAŘęářÍŔžńPpUÔp F”{’ä;|î„Lkˇ25G8BÔ#Ś†™äϸ[Ś—{v]±ŐťF9Z”ZmTµě•Gw1WŹęĆ ăoĚ•I­Ł„Ě'ëöC»ŽcţĆ«Gv[ýK—R^VFh’f"WĆs‚Ś´ŕ‰R«¸±k)Uo1kš—(§VÁŁ®wvÜƤy l‡‘Íhk×ő»ó»ĂćÝ6îĘ»%,Ł|;Â?¬ŁKÓ÷¦ů¨§ÉN¶¶éÚCľź}×ě=“7,­‘8…R€*–šş~ruďşÚYáÉľě6śu{n1y(j"»&2§µ[;’óźĄzúč5ÍŐ%ÎçôâÖd×ü>eópi@‹TçÇ“+Wç‘đ˙Xhát/ESęB´™w´fô~f‰ĎUendstream endobj 64 0 obj << /Type /Page /Annots [ 65 0 R ] /Resources 66 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 67 0 R >> endobj 65 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 66 0 obj << /Font << /F40 8 0 R /F38 6 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 67 0 obj << /Filter /FlateDecode /Length 360 >> stream xśuRËn0Ľű+öH¤˛ń;תmÔžš–[ŐCBHB«Ş*_c0R* y4łĚ>Ľ'FŔí!9r!ÝĹ Ň#;1›ČéJn´Ă˝¦5’D®ŃŻÍźŹ%[ŮăÍ…ÁH$Ť Š» {ű-Ç%% %z‡k1ôjhëA-©ęN˝ŔŰ’Ý'lţ$m9µ-5Ů9)ٲ^ë lËö\e3ř„ä…=&câÉü“ĂHa,târEHáB^¦zŻ˛4ßťg ´‡ĚÁ‚ďĽŘzşÜy¶Ü|eiŰŚńĄŇ:[·™çšĽŘ{iíŮŞ;ꉼhÚu‘fw!¸ rŢ ÁďM!n6ܶ˝@fhkă:RÖ1-+;L ÎCEŮňĆă±(ĽťłłµŹ¨&·€•¶Ŕ?'IŚd|9câó‰'´KÉţgňŰA×Ű1e'Ä„[w±ţ^±? ˛ endstream endobj 68 0 obj << /Type /Page /Annots [ 69 0 R ] /Resources 70 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 71 0 R >> endobj 69 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 70 0 obj << /Font << /F40 8 0 R /F38 6 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 71 0 obj << /Filter /FlateDecode /Length 319 >> stream xśuQÁR0˝ç+rlgdɆ„„«cíč­ĘÍń€”"34±€Îř÷¦ĐD[ęě0Yx/ď-o)s…4bŔ¸†´Ü“ဩNFܵ‚i5ö¦ :LÖ‹öHď,ٸňâ\C˘¨@¦GŁµ{Ö ….ů¤p FŤP9!&'ұşúÔ<­ÉmNâ{áƠܨůn„ň-yˇ‹çĆÔm5Xł¤Ż4$«<¨g™ű‘˙śO`”HHą:RF—DS”‰s“•é?»jI#.]ľ)ۢďý‹5í·ďß‹?źĂ˝ĆôCaĘę&™­o?:»tÎtńŐlçFukߊ6pmc† ż 첬~Çl°`ž s‘kľľ4D>:ź> HDz b<×F·ĘDL—Ń//—yMŽó+jďl‹ţÜďGśUendstream endobj 72 0 obj << /Type /Page /Annots [ 73 0 R ] /Resources 74 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 75 0 R >> endobj 73 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 74 0 obj << /Font << /F40 8 0 R /F38 6 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 75 0 obj << /Filter /FlateDecode /Length 413 >> stream xśuRMoŁ0˝űWřR™xŚÁäşĘ¶jOŰ–[Ó—8--qWʿﱵ馲Ŕß›™Çř˝3ä‚ňD€jŢňŞcďLćE:ă*Qč9^0­őŠÂc«űůf`Ź´|qY@ŞąB kĚ'’ŕ5=w)2“K…Ż`âŃ„ô€V¸¦5ÖçŕéŽý(ŮęV‘š¤–ű*wě…GżbRÉŁˇmŞSĚ™ŃÇ6zvŁq¶>măżňňý,CSÔ9(±ţF‘G“4\ę‰3·O Ž¬Őe÷ŤÝ !{;uVŹĚä<ÚÇI‰éšöäÁahm=ŚŤ;tÇź`űĘĽ?Z’ŽLuą˝ TÓďBˇîĎŇ((pŰybÓ;;VÓ×Öün-śg!č/×€˛đ#ś†Ge(;Ś°µîčc*éĂ ÜüĄńO:ĆŮô;űféŐ»6îÇ!¤TmCŘ?ŐŤóńÇ1tjüułr2JvŐiéłÓĽePAJŁ¸¸4”«+® #§jIFď@üęŔk夼Rmá]XĚďŹěŢŰĚ…endstream endobj 76 0 obj << /Type /Page /Annots [ 77 0 R ] /Resources 78 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 84 0 R >> endobj 77 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 78 0 obj << /Font << /F40 8 0 R /F38 6 0 R /F47 38 0 R /F33 16 0 R /F44 79 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 79 0 obj << /Type /Font /Subtype /Type1 /Encoding 80 0 R /FirstChar 40 /LastChar 49 /Widths 81 0 R /BaseFont /BXANWB+CMR17 /FontDescriptor 82 0 R >> endobj 80 0 obj << /Type /Encoding /Differences [ 0 /.notdef 40 /parenleft /parenright 42 /.notdef 49 /one 50 /.notdef ] >> endobj 81 0 obj [ 354 354 0 0 0 0 0 0 0 459 ] endobj 82 0 obj << /Ascent 694 /CapHeight 683 /Descent -195 /FontName /BXANWB+CMR17 /ItalicAngle 0 /StemV 53 /XHeight 431 /FontBBox [ -33 -250 945 749 ] /Flags 4 /CharSet (/parenleft/parenright/one) /FontFile 83 0 R >> endobj 83 0 obj << /Length1 804 /Length2 1327 /Length3 532 /Length 1911 /Filter /FlateDecode >> stream xÚíR{<”ůvY©ŮM­V¶T~3&™«¦1l ™ÖbČ%§ŮŢf^Ľšy_ĆŚLÜ·Ë„ÜÖ5‹śQbRQIEµ+—®J[„J+—CEÚÁ¶çsÚ?Ďůë|Îűţó~źďó{ľĎű|Ľ«;ŮF€í„9*!Ó)tK`çěFg:…†#ěÄ0$A0t3$-ťÍ¦©?`Đ}˝Ąą…%cŽě° ™ń’Ýš Ř`1‡Pŕ I`‘J ;ĆG`‰Śl„Bŕ6s"¸Á!°8Ppt: | Ř ű#(Ž:cČőĂkH>¶BaqĘ ©L®*‹ Ę€öĂQąj¬rňß0ő©8G*r!ŃŚüLHiC"D(ű€‰‚¤X ś1,F?ĄzÁsŢśa"}Úu@B„oú a@› \ ?řAÂx‡QÁ§&TąÍZ ÚzŰp˝l×Îís¶ç !¨ÄCô§ę y¶¦˙«VĄ#F€/ŤBŁŃUDŐűńkű'łěQ>&@PŐ…`®X ÉpŞ›ˇŞ śT‡8LeJA1‰ęPe ü01nfťëh€‰aTűIfZs(ýtn}Âl@ĹPx¶ţëŰÚbaádss@f0i€˝Ž XëŘ‘˙ÎóD‘`)ě°0i4‹ÍśEůR±j”döŠ©ÂüXű!Şča8 ćăŢÇřVq™g{í‹n•i™ŞŰúW's«.ß˝řyl{ŠşđŘ Ç`ÓÎSŢďŽg/ŃéŐę5Ü=e˛ż6bk çźű‚“łÚ¦{Cwôfď9gŕý*ŰYöŃĽˇÍ“›í]źč;ÂĄ¤gĄŹ7ş8,o«ă|g”×f’jô-ň˛űX{ůX·EušřŽ'TäĄ5 ›Gß´Ö±ŚL.-±•n¤>‰«T\YîÍí{rćkŇÝšŃř8Č»>7»ÁAx!ßÖX†„SîÝ#4¤Gµ_ݱ0´Ëţ„G‡·[č‹íľJÜÖS¬ ĺ”ç?-͉ :˝ą›wáÁţMĐ"ł…Ô®‚wY«?xjú´8™‹b‡îÜŐ9®Ő\°ŞöËVŽîëM<–޲’ŤŠűdđÓsţ@°"üŮeGvď>ÝtH˙ůěäWÇ-Ű‹jĚłÖZ´Ľ ¸$9[y%:Ą[9ɸŹ9ß2ş=˛Đt÷zĹŽqÓˆ!–_jX0Z&w&•dî¶߇w>¬¸Ü0­¶Ź˝;xśô>˙yÄtdJjMâ@ŇFĄ«kqĺUµÂ#I`Ök‘leâß°Ł^V•3Ĺ˙ALŁ=Ó~ęek éÇO™Ä|ĺ¤É~ł4|¤Ŕ’5.çâ%Ď&GîąŐ;€ěÇ oŠúźÉ+ ođ=\ߍç+EńÖVcĘî9.ł]»!YŻ¸ĘŮZş€÷PĎQf-ěéëîMvXŚ—cž?giĺh,k94qęĄĎ9ßÚžÜpRq|¨řsŹál#ęŇďo„ŘNm<ś?Âň+Ďěp׾¶ż´Q®Ü‡÷]lĚf§ÚóÜľJYWąřVŻhů.ÍÉ&pG1eĐýčŰ·câ>źĎî‘™k´ˇľĎÄę(;ŁÍoÚ~úÝĐV’ ő«ř-@`hÝi&x0Ňő„ZšćÓ2Z9ůlÜÓNĽŘ“ßHvYŞ7Đ·hwä•)CNřĽU\•ýŚňŇšyól—O›M1l;ěRżî˝ç‘ą}^×Ŕ/®ŰŠÓőJ®uKëÉÇşÚ·« Ö›JŤ~dnłŞ1ł|ED~cmA‘v˙™¤€Á‚ŘŁĄ=†Su5Jĺ{Ťv˝’מ%•†śIT»věĚśä5ŢĽŢ,đ‘…ź:ětEđďňčo+Ť3 2%ęZPOíżî‰»ę¦˛:*[ÚÇg 4EŘßĚH;şéŐłUŠ§›‹Üfv’GťäěÔ ąC%É—~\–]Z.CŻZş“feYwŇ܉o1¦ĎÖTß÷OĐ8±ÖŰëďĽ_Ăëݚțޯ ®|Ő q~Á+§’;ĂeŇIťĄWő_ě2¤5?Ťń#|Ôt(–^Ô<ihK„ÖňŠŇÔ_tĆ`ÄVcľAv¦:ąźö>¸˙ üOđ…0$–`"HĽ ÷;?źendstream endobj 84 0 obj << /Filter /FlateDecode /Length 590 >> stream xśµUÁŽ›0˝ó>†^Źm0»ÚnÔ^ÚMsŰô€ŔK˛„´ÚżďÁ„ŞRWEž0ĂxŢ›çń›„áÄc”qŮ- HrpŢN!EçGS˛PuvďSŠ‚ş8™˘a8řľ€CrRˇE#Ú Frü­m€/%ĺ>ď3Ü:˝Áë—XÔµOť_ŚÍÚyÜ:ĎË‘Ta©Ű¬smS畬ֺÔu\¸Äă>#«'}2y9ů—ÔćŘĘľŞ˛ÁŠăŮ%ÜGOíÉ*Ń.ůI¶_ťĎ[[¨d‚2!˙‚ ¤ |â ź|–IŁúĎ4ŕÓH^ŮŔýÖQ©˘ůťŰ¬|’U„sY?yU›f7Ő`ťtˇ“Ć2R^¶ÇúÁžr…©@ŘśŔ&æ ,ŕ6ČkÎÇBßÓ~ŚëĆ$…>ÝCő8b•¨®(‹ÂđČ—ŕń±:—i\żH’ŞLM«­B‰>E,eŁ›Úč^÷żPö¸ŘV鬿cŚ'F—MaďVcçĹT ‚áś6ý·QGňJGBiŁv+ŘąłRâ(Ąnî\]«Ü˝-ótŚ3|SfU}珺Ž“ý­ţ–”ź\˘gß«›1śę¶EĄ)ózŤDŹ;µTŕ¸ěç\nŰ:RÖ%<’Ô÷Ő˙Ť€ĺ‡żŃ?~›&ŮOhÍÎe2Ö8?Uj˛÷úŹcłîŃK*\A´őĚÂ÷¨Żř ’ \× âa†Ľ”‡Ë †ŰnoÓąt|npöqW„ë‹ó‚‚Ěŕendstream endobj 85 0 obj << /Type /Page /Annots [ 86 0 R ] /Resources 87 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 88 0 R >> endobj 86 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 87 0 obj << /Font << /F40 8 0 R /F33 16 0 R /F38 6 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 88 0 obj << /Filter /FlateDecode /Length 462 >> stream xśŐUÁnŁ0˝ű+| Źm°9¶ÚmŐJ]© ·Í(ˇÔj-ˇŞú÷;ŕš$…Ý\SYČcżńřÍóŘĽ Đ3.Tßq ů–ĽÁ 6˛ÇŃTÜčŢvÖ ô'Č53Ćcó›-Đ5ąÇć ä¦ 4K îś8-ń»"Ą„‹đ =‚P xâśşÖ”źĆâš\¦d~ĄŽb©¦Ź=”®Éo:»XŻmU4§łĚżŠwoŢTmQ6Y[7ýCÓ[ň3ÝÓŹc¦¤ú;Ź†2b±L€I0n}OSJŠbŽi®8čńö†ĹÜLo®Xbŕ0®ˇ±D‡˝˛Őz”űÎní&küĐbţ.¦3Ż‚›_ÍîŇĄ짗érŚ©†(~Â5öšńÄśˇi@M'Ă3&‹}1Ň%Ż_ô1@{őň§¬*‡5¶=Ą@r† ŕ]8LŔYm=XOC~wJ+ÎŦřŽç˝đUmwm1”ďGý6Řzôx?}6öáŃ)’ĺŘbwúśc ,ŠĽ®ş3-ßšb˘ĚÄ·/öż'˛Űk2»Ó‹´8 Ď2(&U|ĚÔ|ĽŕĎÂ?¶ŕ_yřúĘO…b"šó;Ë÷÷ä/~ÜsËendstream endobj 89 0 obj << /Type /Page /Annots [ 90 0 R ] /Resources 91 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 92 0 R >> endobj 90 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 91 0 obj << /Font << /F40 8 0 R /F33 16 0 R /F38 6 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 92 0 obj << /Filter /FlateDecode /Length 502 >> stream xśÍUMŹ›0˝ó+| Rq<ĆÄćŘŹÍŞ•Zu#n›XpXTŔYB´Ýß ^“°Đî5˛Ţx<ďŤ?y@ ŁŚ‹~b@˛Ú{ň8…• {MÁ”ěm‹IIAľ‚LRĄ¶üZůbĽ;.8W4”D€¤1¬NNŚřÜ‘”GÜFx  € ,¶N§ŃŻĆćÖű”x˵Ŕt•j˛ëˇ$÷îÉâcž—Má“€GŚ,RgüĐĎÎ\ű„GdaZź€"‹LűäIľy7É™DTĆŃ?’thFtĹgYĐ”]ßg†5Á•ăl· ät{EWLÍo.h¬ŕ2®"M,Ća×e“O$8”uYĄ­{Ý™6ÓK÷¶7ťnş2­Ü‡íâł9V¦~@ą —+ÓřÓ~KŹUâ“­6ÝßüÁąÎ/ü·ţ”[€E‹™ÄYR«+)©“nż‘Îz"dföz łÜŮcÚĂš˛{Oř Ŕş$`­Î ÖăŔďű Ň–1^Í´Ňő×{Łí‰-ĘC§‡öx1ÇÁn´ýe<ŹzçÜ)Uů°ł2¤YgÚRŢ?ů×X÷ŤÎLs*dqlőĚŮnŻ÷ĺË áiŻYvŇ‹$żH˙á h(Vă< ZNwĽYBa»ŕí•0Žó™hÖo$–›ďĽżďŞ‹endstream endobj 93 0 obj << /Type /Page /Annots [ 94 0 R ] /Resources 95 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 96 0 R >> endobj 94 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 95 0 obj << /Font << /F40 8 0 R /F33 16 0 R /F38 6 0 R /F61 25 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 96 0 obj << /Filter /FlateDecode /Length 564 >> stream xśŐUQo›0~çWř1H‹ăł 6Ź›şTť´MŤxkö‚ˇŢh ŮÔýú(tĎ­ňYßůî»;ßůÉÂđ˛d”qŮ. Hr𞦩-rź,yŔČb× ßĚź^ü~ŞOµO~ř‹÷9ľP‚J)^aÖŁKĐφ@čî|KQ‚‰ŕŚ)n¨©{MC¦çťKiÚŐɱٵ-ŇIÜG{°ű]ŐoËsěçÝýO“¸Ý3ŕ•Í|²ČNG[[ßᜇ˝śšĘvZż}äBƹΪň0JőÚîÍ4Ü%/b WEY¤ß`>cźč&•ż0B\Í$·IůŘAĎşT yŘą;cëq[˛«uÇ rěËŢ}Z޶¶»˝ýkÜ!SĽţaä|5‹Ť¨67§bÖXTłĐ)¶ĚXkŠĹÄŔ^ş!ĂW ˝Áă¨Ö§.ťôŕĘ÷Ő]‚-cü}^çŤé:5·ÇÚ¸đ\žś\®ĄÝ¤ĚĘ*1—ń°·÷Y—†]R—•5Çf8ĽżşoL‚s ™ź*3Óşâ‡Ç˙O-ŤŻŮč /P|@ź*ěU!Ă1WS€¨Ýač_>xůňÍ™ă|ĆZ§7JVżŢz˙(XµVendstream endobj 97 0 obj << /Type /Page /Annots [ 98 0 R ] /Resources 99 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 100 0 R >> endobj 98 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 99 0 obj << /Font << /F61 25 0 R /F40 8 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 100 0 obj << /Filter /FlateDecode /Length 713 >> stream xś­UQo›0~çWřiJ¦ĹÁ@ I§I›şTťÔmí˘˝Ś=8ŕP«c2µU˙űŚ P’nÓU5ľóçďľ»óí ‚Lř42±i9ĺ?“ `cě wj—vX:ćÔ+×Ęćyx•ŃôđtŞmăË Aç©q ? nM±í!‡xxFÜÂÉDü]ÔÇÁÖÄR]ăhâĚ°eŰ°â™=kút}É{Q8–Ćxá‡\-×FᲠŤhÄ4ˆhäš&|Éĺ6—ç|˝Î3ž&ĺ6Aą¶oóU̶÷‚ÇLď<ŃO´üđ#BŠ@ŐęŘĽ2{.8 ŞUyt.öţđ¬uŇ5H“LjE(ŔX†óy&O"ߥmk`šĐ {Ł7xRź[ ¶;Ü9ęăŘŽ˘Kk<.n¶ ¬…H7·GŢůc‘ö\ČśĆm´×úsCď?(•úâgB\eQ}V´gLĹŰď4ÎŮ;mŮ——JÎ2X‡Rč|,+eřĄŰ‚÷5-&oÓđ¤®"•Ŕ‚…ű>ĺˇ^‡éeÂ%§1W¤Ř©ň9 t“C=éŞ …DlűŹP žŁ¦8ůÍZkŁjM,Űđě<“óX1]AľéŞJű_E•:GoE¬Ş©Ëđsú>ć4+ômUĹŁţLć"Ń_wěţW*Âł§‹ć¦> endobj 102 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 103 0 obj << /Font << /F61 25 0 R /F40 8 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 104 0 obj << /Filter /FlateDecode /Length 768 >> stream xś•Vmo›0ţÎŻ`|čČ’¸6@Ř‹´­/ęÔuí–íK©&śŚµÄ@ިÚßcŢJÓLQű|~îyě»sÖ Q1|:ÄVţ‰:[*kĹ@děů: -ěŘůX¬Ů6"v±mä8ríđlIÔŁXą‚Ź7dÚŞEl4!cî„Ő|OK‡‘e!cd„öâpdMaš00‘3rę>m_2B¶E·©rx2&Ş&ă±:ť+Üe(ת>‹Ł$í©Ă1ĆŞž¤,Ś0#ź~ÉŇU–ńąŞ‡óy–„qäş·t{łŔÓµ@OÂ;Şy˝×=őFť~řˇAĐČ4Š PÁ ¶fötŻçJ*b Çĺ懿5dŚL¸ź˙Cîy §sůK:†0*]çL€ŃőÜĘÍsĆ}ž!úŞ Q!8űĄ I¸n‹$eěs˛TŔeCgiĚŢí?ü»Śľ“ë>KĽžśçú n#{ ›0¤5)ř•W/ŁŐî2w4:Ąü§ĽGI×OşÍ=ý…ŕ|ŤoĐ‚¦ĹÉ mŔëq1%ýѤ…Śűo5뤠%çž÷Rë ¬F”oąža} |JŞ1“C­ngpÉŤ€Ĺií ĂiRŘ°“\]‘ňň|śž•&ŁŐ$Š ŞnV¤j4Ű6t7兩jęĆ{én$}®č#ş\Ą[ŽŇ%•TR!Ë+µ{ä#ŁiĆ"éxńýü|÷]H)e‰×hĄ˝,˙•ĎĘŇ…=¤¸’`h•%żţňg·ž~Ů‚Óˢä}ÇÓ—[YsŹ<óEéËÎ4Ý®¨ë^Äéq• őă­LŘŹFő=.A«Q‚é@ě¨HŐč\ĆI†úÎÎŰŰąx<­žëÂĎäŻv÷kOŕ™´ŤÚ+mŮB¦Őz¦‰sřźŔź Ó›…Ť-ŠÁ×Óťp†Ń&üpןŠ+ĺÁ]Öendstream endobj 105 0 obj << /Type /Page /Annots [ 106 0 R ] /Resources 107 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 108 0 R >> endobj 106 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 107 0 obj << /Font << /F61 25 0 R /F40 8 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 108 0 obj << /Filter /FlateDecode /Length 600 >> stream xś­TŰŽÓ0}ĎWĽâÚÎ=ôeaéR^ТBQŐ$ĹRwsqűw&'i›]-EU'3sÎś;s§PDŕˇČ 0«ý#í2ĺNa:žŮĆÁ´ç¶vs]LÝ>H\ěy2¶Xg] ĺIΠ#hD<—9eeş’Î_—ŃŞ¨ó]¤żčĹ`"p¬R8O#íÉ©ÚVg_Qźôlű=–őŘ"9Šb¨˝\J+) QŚnµ5íŐ6—Ţ\ 8qLw=U—Ëq2îG™”vÚĆŮ'Ő:nćÓ ŕ=ÉăB¶lĚŠźďyÚ Ô(“ę[¤Qo2†uθĆÖŐgpĆiéęĺ`Ô‰qr—D]ef •ďOU‡› RÉĆ°Ąú]¶a‹˙¤„>JÉq¨›ţŻ®6&ÔťśŔÜŘup’‡ű.ď ŢDw?ĘöŁ=‡ĘÚÍ­{(4§†üě§YżG4#Ř„őůŰeĹó~·đĽş\/˙®ću8nÎ>Ď$&¶M6»ya‘Ů.›lL Ü6­ł•IýĹe ‹Ý´:pç+ö˝ńţćA:ĆfŘş<2·ŕo•?$"‘łendstream endobj 109 0 obj << /Type /Page /Annots [ 110 0 R ] /Resources 111 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 112 0 R >> endobj 110 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 111 0 obj << /Font << /F61 25 0 R /F40 8 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 112 0 obj << /Filter /FlateDecode /Length 702 >> stream xśťU[o›0~çWxyYR Ç6×Ь“Ö®U§IS+ŢĆP1)Á)^´íżď€m 4iŁEťóťď\Ť Š<™f·/BŃÝÚx0¦®oµvmâ{­,mž‡©§ŚÄĂľŻmóë5E¸G“3[˛©‡Ôm@­ŕŐŰĆĚa’al4{™e!ӷˆ1–:Řł©äůóK—"/\…©Ń@ÂÄř‰¦Ź"KfČt AÓŰzł­/˛4ÝV™(ĐS4 q»-˘iVÔXŐ|Í~ĎĐ/~3(Áž P ĄQE›ĄŃôCÉņg4‹f¬ł0–2.ůF”ůr©%^–˘ěŐ“V„ŚÎăBk Ńů5±´E'Ëĺúĺ2ËyŻ98J[ÓžP+Y&ŻŻ“&U€bĐň")OUҦΚl1Ke}Ëă\Ó$şgZńI ”ŔËädýrßÝsó¬shBžDmGµË™šüËŞţL1‘s@·PS™}eQwÔŘ“žéş¨ůŞŚkQšg+^‡’đ>«ľóGž‡Ůš·CmgŔęGłAőű¸es_­äŻ3QĄyĽŞd”&ç$@Ő˝xÚÁ.ýi0Ln•ĄŮ3O†€vě{.â:Íxžt °<ě:ţ(Ç>+Čé)šRżĂ“· ›’ßer:ě8]°,Uś·|>Áîbśń¨]ps/şOˇ[¬&ŮLQ7­‡LÂ;íĚ°)IôÖ [ĆŶă)Zú^I;č#şŞÚzhŽťč‘;ëÂě# ŻŽţu\íç1»Q?Š|Ű ÓŘ˝gáĐy…]~z (4-Ubç[čŽFüWż†ýUĄpđ˝Äľł˙ŞĂńŘੲAmcËÝQŚĚ_ p“Z¶t–şrĄ„Ű«·éŘ6‰#űnÔăţ/đ§endstream endobj 113 0 obj << /Type /Page /Annots [ 114 0 R ] /Resources 115 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 116 0 R >> endobj 114 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 115 0 obj << /Font << /F40 8 0 R /F33 16 0 R /F38 6 0 R /F61 25 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 116 0 obj << /Filter /FlateDecode /Length 728 >> stream xśŐVŰrÓ0}÷Wčaśi­čfËć­´4¤ÓBÚ¦Ŕ đ`5őŕX©lsů{Ö9Iă¶Oa<­tV»ŇŮ#E÷E>Š<‚ uC(š-ť{‡a„ĽĆÁ$”µÝ`Rb*[H†Ž—ťhç>ś…K$¨Ä *'‚đuľů¬‰đô,ęE)źę3‹Ö¸9Ż§ÎđTŔj–°Ňém MçÎgä^©Ľ\ŞúŠ¦gΛi9ä8’á#Y[Đă>XďŞ)Ĺś¶Óëôś#Ř#Łţvú/„Ęžä8 Źä8 éfÜQGb;ěHëůyĚ'ČÍŐ}©˛"‰S;g¸ŠMś¦ŞňYś&ŮbwI ­Ä$ŠöqĎ*Sf˝É‹kÝš¸Ş0ó‘űs€(Śhó˝µ±¦QąŠÍěÎö_ZCÍËY\$:{Ž–pi™¤q›\ÚÍÚZó–”@ 4*Ő«…¬ťŞ&N˸PËt3µ‹`Ą*îô<ßa2NÚ$ĹÝ2˙vÜĆžtŤS‚Î:§Îk3 Ť0eaçuh¤“âůűăÂnŤRéďŽ>(Y×"IăoiWŚ¸°Öµ.ÍLť6E©ô śą‹žKn˙Ő{]®VÚŞ’#gą3˝\•…2u?€ ¬•wţ FDŔ‘{4ţth˝ÇW¶®çIVţŞ{zo'ŢÍ›čö‚Pfrlg7§ Ć?ü¸Ićµ›$ČkKÚ,tn<Ąl`ĆäžÓĚHÔĐś¤ĘÔ´˛FFďnjŃB"wś*­{hşO®'FŻű/l”T¬ĺes/WsűLůż˘*ăfžŁ…z:UlQů\*Ć°đ× ŞĄP»y" 0‡Ul׿–Swű3K‚yô·7~BO|%Ěę{6˘|É6*úĄWÚß*=ŁĂÝ ^e\4“©}Oчď©Ţp¬'Ză·ĄOŰ^:ˇ4+endstream endobj 117 0 obj << /Type /Page /Annots [ 118 0 R ] /Resources 119 0 R /MediaBox [ 0 0 600.945 445.039 ] /Parent 2 0 R /Contents 120 0 R >> endobj 118 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /I /C [ 1 0 0 ] /Rect [ 557.256 8.421 573.595 28.346 ] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj 119 0 obj << /Font << /F38 6 0 R /F40 8 0 R >> /XObject << /Im1 9 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 120 0 obj << /Filter /FlateDecode /Length 246 >> stream xś…PËNĂ@ ĽďW["Çv6»›cPÁ­(7Ä!ô%¤VĄţ?N6 *!kĺ‘g<íŃ0CAHbÇF Ë˝9Avˇy…–‚qäĽGöICH\y·g¸>…V2—€•Ëv`«oţ)¨­E©%:|' +Ś y(¸q($čŞ5ĺm@˝ ÝAÜ®Ě#dłeßĺPHM­ßű79°¶î9×ČťvÝe˘^wÝiőŇŻ/rx‚öŢÜ´_×Y+[«’Üźů™±öSţ1šŐ±Ő=wM¤üy‚ő{*—ăěm;‡ů?vż¸EÝŮW¦ľ0ńĎctendstream endobj 121 0 obj << /Dests 122 0 R >> endobj 122 0 obj << /Kids [ 123 0 R ] >> endobj 123 0 obj << /Names [ (Doc-Start) 124 0 R (page.1) 125 0 R (page.10) 126 0 R (page.11) 127 0 R (page.12) 128 0 R (page.13) 129 0 R (page.14) 130 0 R (page.15) 131 0 R (page.16) 132 0 R (page.17) 133 0 R (page.18) 134 0 R (page.19) 135 0 R (page.2) 136 0 R (page.20) 137 0 R (page.21) 138 0 R (page.22) 139 0 R (page.3) 140 0 R (page.4) 141 0 R (page.5) 142 0 R (page.6) 143 0 R (page.7) 144 0 R (page.8) 145 0 R (page.9) 146 0 R (section*.1) 147 0 R (section*.10) 148 0 R (section*.11) 149 0 R (section*.12) 150 0 R (section*.13) 151 0 R (section*.14) 152 0 R (section*.15) 153 0 R (section*.16) 154 0 R (section*.2) 155 0 R (section*.3) 156 0 R (section*.4) 157 0 R (section*.5) 158 0 R (section*.6) 159 0 R (section*.7) 160 0 R (section*.8) 161 0 R (section*.9) 162 0 R ] /Limits [ (Doc-Start) (section*.9) ] >> endobj 124 0 obj << /D [ 11 0 R /Fit ] >> endobj 125 0 obj << /D [ 11 0 R /Fit ] >> endobj 126 0 obj << /D [ 64 0 R /Fit ] >> endobj 127 0 obj << /D [ 68 0 R /Fit ] >> endobj 128 0 obj << /D [ 72 0 R /Fit ] >> endobj 129 0 obj << /D [ 76 0 R /Fit ] >> endobj 130 0 obj << /D [ 85 0 R /Fit ] >> endobj 131 0 obj << /D [ 89 0 R /Fit ] >> endobj 132 0 obj << /D [ 93 0 R /Fit ] >> endobj 133 0 obj << /D [ 97 0 R /Fit ] >> endobj 134 0 obj << /D [ 101 0 R /Fit ] >> endobj 135 0 obj << /D [ 105 0 R /Fit ] >> endobj 136 0 obj << /D [ 13 0 R /Fit ] >> endobj 137 0 obj << /D [ 109 0 R /Fit ] >> endobj 138 0 obj << /D [ 113 0 R /Fit ] >> endobj 139 0 obj << /D [ 117 0 R /Fit ] >> endobj 140 0 obj << /D [ 22 0 R /Fit ] >> endobj 141 0 obj << /D [ 35 0 R /Fit ] >> endobj 142 0 obj << /D [ 44 0 R /Fit ] >> endobj 143 0 obj << /D [ 48 0 R /Fit ] >> endobj 144 0 obj << /D [ 52 0 R /Fit ] >> endobj 145 0 obj << /D [ 56 0 R /Fit ] >> endobj 146 0 obj << /D [ 60 0 R /Fit ] >> endobj 147 0 obj << /D [ 13 0 R /Fit ] >> endobj 148 0 obj << /D [ 68 0 R /Fit ] >> endobj 149 0 obj << /D [ 72 0 R /Fit ] >> endobj 150 0 obj << /D [ 76 0 R /Fit ] >> endobj 151 0 obj << /D [ 85 0 R /Fit ] >> endobj 152 0 obj << /D [ 89 0 R /Fit ] >> endobj 153 0 obj << /D [ 93 0 R /Fit ] >> endobj 154 0 obj << /D [ 113 0 R /Fit ] >> endobj 155 0 obj << /D [ 22 0 R /Fit ] >> endobj 156 0 obj << /D [ 35 0 R /Fit ] >> endobj 157 0 obj << /D [ 44 0 R /Fit ] >> endobj 158 0 obj << /D [ 48 0 R /Fit ] >> endobj 159 0 obj << /D [ 52 0 R /Fit ] >> endobj 160 0 obj << /D [ 56 0 R /Fit ] >> endobj 161 0 obj << /D [ 60 0 R /Fit ] >> endobj 162 0 obj << /D [ 64 0 R /Fit ] >> endobj 163 0 obj << /S /GoTo /D [ 3 0 R /Fit ] >> endobj 164 0 obj << /Producer (pdfTeX14.h extended by PPower4 V0.9.4) /Author () /Title () /Subject () /Creator (TeX) /Keywords () /CreationDate (D:20040922222500) >> endobj xref 0 165 0000000000 65535 f 0000000009 00000 n 0000000329 00000 n 0000000548 00000 n 0000000681 00000 n 0000000841 00000 n 0000000954 00000 n 0000001042 00000 n 0000003071 00000 n 0000003158 00000 n 0000047471 00000 n 0000047790 00000 n 0000047935 00000 n 0000048161 00000 n 0000048297 00000 n 0000048458 00000 n 0000048584 00000 n 0000048741 00000 n 0000048848 00000 n 0000049002 00000 n 0000049209 00000 n 0000050636 00000 n 0000051051 00000 n 0000051187 00000 n 0000051348 00000 n 0000051498 00000 n 0000051583 00000 n 0000052378 00000 n 0000052457 00000 n 0000053517 00000 n 0000053743 00000 n 0000087210 00000 n 0000087232 00000 n 0000087297 00000 n 0000087317 00000 n 0000087820 00000 n 0000087956 00000 n 0000088117 00000 n 0000088255 00000 n 0000088413 00000 n 0000088544 00000 n 0000088672 00000 n 0000088885 00000 n 0000090983 00000 n 0000091523 00000 n 0000091659 00000 n 0000091820 00000 n 0000091958 00000 n 0000092482 00000 n 0000092618 00000 n 0000092779 00000 n 0000092905 00000 n 0000093443 00000 n 0000093579 00000 n 0000093740 00000 n 0000093866 00000 n 0000094525 00000 n 0000094661 00000 n 0000094822 00000 n 0000094948 00000 n 0000095389 00000 n 0000095525 00000 n 0000095686 00000 n 0000095800 00000 n 0000096279 00000 n 0000096415 00000 n 0000096576 00000 n 0000096690 00000 n 0000097122 00000 n 0000097258 00000 n 0000097419 00000 n 0000097533 00000 n 0000097924 00000 n 0000098060 00000 n 0000098221 00000 n 0000098335 00000 n 0000098820 00000 n 0000098956 00000 n 0000099117 00000 n 0000099267 00000 n 0000099423 00000 n 0000099547 00000 n 0000099593 00000 n 0000099812 00000 n 0000101836 00000 n 0000102498 00000 n 0000102634 00000 n 0000102795 00000 n 0000102921 00000 n 0000103455 00000 n 0000103591 00000 n 0000103752 00000 n 0000103878 00000 n 0000104452 00000 n 0000104588 00000 n 0000104749 00000 n 0000104887 00000 n 0000105523 00000 n 0000105660 00000 n 0000105821 00000 n 0000105936 00000 n 0000106722 00000 n 0000106862 00000 n 0000107024 00000 n 0000107140 00000 n 0000107981 00000 n 0000108121 00000 n 0000108283 00000 n 0000108399 00000 n 0000109072 00000 n 0000109212 00000 n 0000109374 00000 n 0000109490 00000 n 0000110265 00000 n 0000110405 00000 n 0000110567 00000 n 0000110706 00000 n 0000111507 00000 n 0000111647 00000 n 0000111809 00000 n 0000111924 00000 n 0000112243 00000 n 0000112281 00000 n 0000112322 00000 n 0000113143 00000 n 0000113185 00000 n 0000113227 00000 n 0000113269 00000 n 0000113311 00000 n 0000113353 00000 n 0000113395 00000 n 0000113437 00000 n 0000113479 00000 n 0000113521 00000 n 0000113563 00000 n 0000113606 00000 n 0000113649 00000 n 0000113691 00000 n 0000113734 00000 n 0000113777 00000 n 0000113820 00000 n 0000113862 00000 n 0000113904 00000 n 0000113946 00000 n 0000113988 00000 n 0000114030 00000 n 0000114072 00000 n 0000114114 00000 n 0000114156 00000 n 0000114198 00000 n 0000114240 00000 n 0000114282 00000 n 0000114324 00000 n 0000114366 00000 n 0000114408 00000 n 0000114451 00000 n 0000114493 00000 n 0000114535 00000 n 0000114577 00000 n 0000114619 00000 n 0000114661 00000 n 0000114703 00000 n 0000114745 00000 n 0000114787 00000 n 0000114837 00000 n trailer << /Size 165 /Root 1 0 R /Info 164 0 R >> startxref 115004 %%EOF protomol/doc/UserGuide/0040755027616700000500000000000010237151525014457 5ustar pbrenne1dipprotomol/doc/UserGuide/.cvsignore0100644027616700000500000000007010237151525016451 0ustar pbrenne1dip*.pdf *.ps *.log *.aux *.dvi *.blg *.lof *.toc lcls.bib protomol/doc/UserGuide/Makefile0100644027616700000500000000053410237151525016116 0ustar pbrenne1dipdefault: userguide userguide: userguide.tex userguide.bbl pdflatex userguide pdflatex userguide clean: rm -f *.dvi *.aux *.log *.blg *.toc *.lof *~ realclean: clean rm -f userguide.pdf userguide.ps *.bbl userguide.bbl: pdflatex userguide bibtex userguide html: latex2html -split 3 -antialias -transparent -image_type gif userguide.tex protomol/doc/UserGuide/alanin_66.jpg0100644027616700000500000016036510237151525016746 0ustar pbrenne1dip˙Ř˙ŕJFIF˙ţICREATOR: XV Version 3.10a Rev: 12/29/94 Quality = 100, Smoothing = 0 ˙ŰC˙ŰC˙Ŕ€"˙Ä ˙ĵ}!1AQa"q2‘ˇ#B±ÁRŃđ$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz„…†‡‰Š’“”•–—™š˘Ł¤Ą¦§¨©Ş˛ł´µ¶·¸ąşÂĂÄĹĆÇČÉĘŇÓÔŐÖ×ŘŮÚáâăäĺćçčéęńňóôőö÷řůú˙Ä ˙ĵw!1AQaq"2B‘ˇ±Á #3RđbrŃ $4á%ń&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚„…†‡‰Š’“”•–—™š˘Ł¤Ą¦§¨©Ş˛ł´µ¶·¸ąşÂĂÄĹĆÇČÉĘŇÓÔŐÖ×ŘŮÚâăäĺćçčéęňóôőö÷řůú˙Ú ?ţţ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ľGý­żmßŮűö*đž›âŤľ$ľ¶»×Úń<-ŕď éë­xËĹ §[P}+L’ęÂĆŢÎÄ\[­Ö«®jš>‘÷Ö_o7×v¶ÓňăqŘ<· [ŹÄĐÁá(EJ¶#R4©SNJćśš\ÓśŁE^SśŁ)JI?…řW‰8Ű>˸_„r<Ďř‡6«*9vO“ŕëc±řąÓĄ:ő]<=Î~ˇĄW‰Ż%8\5ŘśEJT)T©®(ŻËŹŘçţ ű~Ű_¦řAđÓĹ^'đoĹǶżľŃ~üTŃtĎx‹Ĺš~“m=î­uáK­ _ńW†µ©tËiő Ý"}5ř´Řnu1¤¶ťcukúŹKŽÁćXjxĽ"–+ U7Nµ)sFVÝtqk¬d”–—Z â~â. α|;ĹY>7"ΰ2QĹeřúN•z|Ęń’ł•:´ćŻÉV”ęRťšŚŰNĹQ]g€QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEü3ÁĐš‡ÄŹ†˙´ßĂoęĐę|<ńßÁÝ+A𪰺é–úż…uďMâß $ÁŠ˙iŮË®éŢ!śşĆd˛ń%˛Çć-¬ć?îfĽoă·ěőđCöťř}đ«öř_ŕ˙‹_ő›{ůĽ5ă-&NŇŰS´YRĎWŇ®—˘kVqĎq¦µŁ]Řj¶ĐÜÜĂäq\N’xIa¸“.X SjńT1pZňJ®ÉÂ5bµ•6Ą+Żł.Y¤Ü®x+âćuŕ·TâÜŽśg_‘ćś=‹’Ś~łG›FŠŻ[RvT±t燤ԯV‹Ż†”á ňśĘăöđŻÇĎ~ß˙±~ˇđóMÖ¬ü{Ş~Ńß ő? Ü#Il`±Ňü]¦kzőţˇ MČđÝŻ…lu›˙­Â-­÷†ˇÔâ™.-%’'˙Zşţqhř'ŻÁźŮ†×SńOěĂđßIř}ń'á潤x÷ŔŢ*kďx“\†m RŹÄ~C­x—\Ö5ŃĄ ë$Óµ{ mFŇ×U[ ḄĆ" ű»đâţ…ńóŕßĂżŚ>Ť­ôďřjĎV—N‘üÉô=j6“Oń/†îßj‡żđĎěő_߲,ŢéłË&Ö1ĂY^3*Ŕ:8ůa>±:ŤşxZXJTâąiBś«Â•IË—ř“té¦ě”W{řŰÇś;ÇÜY Ç…aÄRĘ0řHSŽ7‹a—Sâ ~6µŞă«âčĺxśnCŰÝ`đđĆâçNź4Şb%)ňĂ×h˘Šú#ńŔ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(řş˙‚šÁĘ_ţ|xń˙ÁŻŘăBřmaŕß…ž&ŐĽ«üPń¦‹yăgÇ%đĺÔšnż?†ôóŞiľŃĽ#m«Á§Ř\OgŻ_x‚ŢÎ×_´Ôô»+äÓźęďř"Wü'yű~ü[?˛Oí5á x/ăĺ˙‡µŤ{áŽ| /4ďüXłąŐĽKá[Ď ęwúĄß‡Ľw¦řfÎ÷ĹvŇ麍燼C¤hŢ&‘m<-sĄiş~»üoÁ_żb°§íoń7áçÄO k6ß|]ăxłŕ·Äu¶¸›ÂßľjúŐĺţŹ.ť¬Ĺ ń6‰gs™ă?K"ęzł »ĹqŁßčšľ©ĺđK?~&řűkü ý¦´ż Üx‡EřăřK5Ű1{6‘Że>‘©č·ž¶Ő’Ň CU±Ő®!Ś47QG–{»K›U’ŢôCĆĚżč÷đ×-Ę|.á<“—d<7†ĹĂŹśdř“?ÍဌĄ_2ĚgUÖĹV̱îQÄĺł˙cÂV®đY~ ě(ƇČĺłÍ–2sĆ׫9Ő¬âđżňć•7=ˇ Z*řf˝é%Í)Jíżö ˘ľtý—˙jŹ?µ÷ÂÝ/âÇÁo¦ł˘ÝůvşŢ‡{ö{_ř+^ňRkŻ řÇE†ćí´ťfŃ\0 =Öť©Z´:ž‹¨jzMŐĄô˙E×ůŢ}qóżíŕČ5˙ .°aY Š¶™Ş3ći›¬1ĘT+4Ťc¨˝ą^‰ ­ćˇ;°T$~|˙Á<|i?ÂOŤźdÍzv‡Fń ·ßţ‰·,(ňOe¤üRđŬ’2ĂK©ü7âí/L¶VšâMGÇŁ(ŽÖw°Z……®©a{¦_D'˛Ô-.,®áb@–Úę'‚xÉ#|nËAČ €kđ—öŔđď‹> xÇÁ?´„l¦»ńßěýăkoµ¬ Sř›ĂöË%—‰tB\°†×Ç~Ô5=/Ě,Ö igŤ˘¸0Ţj+đOŚ|=ńÁŢńµo x×Ăş/ŠĽ;©ŔĘŃ_čšţťoŞi—hQťGźgu …C6Ćb„ĺMtôQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEĚx»Á> ř˘OáŻxKĂ6đĺÓąĐ<] é^$Ń.\G$Açҵ›KŰE4ц’"9d@v»ů!˙˙‚Bü#ý­<"Ţ,ř9ŁxWŕ˙Çß i×ĂÚŽŹĄ[č~ ńÎź§Ă)°đźŤ4ť­,Ü1[]'Ć6ęşL&+MB gH¶˛±±ý–˘«ž|Šź<ąrPć|ŠM$äŁ{&ŇI»]¤€˙:_„˙jżř&Gí«>źe¬ü<ř…á[ďě/ź ÔŢdĐüMeZ_DÖň3Y¶Ô4›.[öű˙‚uüýĽ|l-ř{O¸‹áçĹÝ/O‚]oE—Ďo řŠ0"—Äľ¸˝™ç»Đn.bšĘY®o´Ý.ţâękźâ§Ĺ~ý­?ŕ—ß´ÝŞÍq«|.ř±ŕÉŢűĂľ$Ň%űo…|wáIîäu 6i˘o‹ü âDłhoôťNĐíxĺÓ5Ý/NÖ¬.,ěäô]Ż‡żlÍ'Ă>öĽđĄ¦˝gqáëë` 3\\Á·67©´{’cwýĚŽDq&›ůĚQÉů‹đcţř â_h×_ľř§Ă^:Ńěôřľ%XřNëGŐ4ŰI§2A˙ /…¬u]OOÔ/<=¨=Ľ×#OĽ»¦Ť(—K’m_˲Ő5oťżn˙ř-×ÁŘř~ßö`Ńí>!j¶Z„ÚŹĽEey›ˇM¬­şą‡ĂşŠD‘ëVriĐ$Q±}SJ¸†_%ôÉĄ—w ńGć#ŹĘhRu2śĂ4†_Çc(`±ëCŮfŻř*?ŔżŘĘÓÂżłgĆ=kR—áŮń¶Żcá?‰Ţm»[ü=Ń|Y¬ľŁg˘x—GQ5äţеťGR”x‚Ňú{ŤAą¶˛#Xhë1ţŽ ž ¨!şµš+›kŁžŢâ h'‚dE42ĆͱK+Ç"3#ŁV*AŻň¸ř±ńZřŮńA5Ďëłx“YŐźUźZąÜ©ą{9Ú–ŰËJ+˛Ť%geeßÇüoöÖřIűM~Ěź ţč~"šßăÁ†đÄ/x›Q´›Ĺş‚ř+Ăş?…GÄK--Ž»áßMiőÖĄgjżŘÚľ t}V+yžÂ}GëřŽYMZř|FU–TÉéâ0ńŞňůWŻ‰Ť8ąN”kbg:˛mÓ“|Í)ÂTçĹąŁËđb—8«7ÉřűŽ0ž$ă2|Ú¶aC+ʲJŘĘ°ˇ„ĹUŁ[-É°řl(BÚQŠĄµ(bic0ŐkŐ…<<ĺú©EWδQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@~e˙Á\żgÝăçě?ń~6đ•§"üDř)đŁÂźľ4kw6ÚĹ"š–ŹáýCR†k¶¶źTđ…ŤÓřgN˛˝Ô5)ăń%ç‡ü?aywŁ6»ŞNóCÓ>Ďů×˙ő~ŐŇx?âGÄŘóĆËg¤üE˙>Á|ć mţ"xwO¶µń—‡mâokźx?L‡Zż––§Ŕ·ˇTÜę%[ă¸k‚^KŚY®30©ŚĚĺíăZpŠŤń«Í:®iÖ©VIŞŇćź,*JPJ|ެľ „<;˙W±ë:Çć•qůÄľłEJqQĂâ![ÚAT®ęEâ*ך’Ż7*ś”ęÎPJŞŠ­?čö„˙‚v~É´OĂŹřÄţxCPń7ť}ińŔđŻ…|yá˙ţţ[OŘkúN“kwww ŐÄ“^Řęr]éşÔ2ÜZj¶·0\8Żâ˙öýť?jżř%'í%ˇëşf»«řz˙HŐďµ?Ľ3l#đ÷Ž4‹uŤ.ck[Ĺż°ź`˝‹Nń·€µäż·TşšŇć-oĂ×ö:ž§ţőâß˙gĎ„ß´ďĂáĆ_ XřŻÂô,QfŽ$ŐĽ?«$Ăaâo j­—‰4Ż´JÚ~©i‡T–âÎę;­6ňúĘçďÜĄ'y7'µŰmŮl®ĎŇéÓ§J<”©Âś.ß-8F»ŐľX¤®Ţ­Úď©ůżűÁażgŹÚ_á|łümń×ĂďŮ˙â˙‚tŰřOôĎx·BđW‚µŃ$‰f<[ŕ=wĹ:˝ĄµĆŹ}tĐ‹íňđë^żşM>s©éď¦ëş§ë‡‡ĽGáďhÖ>"𦽢řźĂú¤?hÓ5ßj–:ÖŤ¨Ű–*'±ÔôŮîl®á,¬ľmĽň&ĺ#vAŻó^ý¸˙f-SöLý˘|đŽ]j_xoC×őK?ř®[T˛›YŃl®ÚMBĘ9$KfÁ¶Űę–č¤1jvkýť¨Ůł~´˙Áą˙ţ$č?µ/‹ţŰjÚŤ˙Âźü7ń?Śµ? Mq<şV‡ă \řyl™ŕp¸ÜRćĂá+biSÄU‹“ŠśiJJjšpŚä”%4áäš_yĂţxŤĹ|;śqw p?gś/ĂótłŚ˙,ÉqŘĽ§]SŤiáęă©Q• biPś1đÔç:ô0Ó†"µ8Qśf˙_č¤VVUe`ĘŔ2˛U”Ś†R2 ‚8#‘K^ˇđaEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPYzŢ‘gâ SŃ5g˛Ől®,n˛,w´fHźdŃĂ ŽTG^TVĄüń~Ř>ń—ÂxCă×,‘ţ$ţĎţ4·ńD፴zĺ®—ćŰëşó y Ň®žKVŽ ž8Z¸š•eRT?Ó>™$‘ĆIdH‘yg‘ŐG©f Ä×ňɬ˙Áqţ7|XÔn<;ű9ü ń玵f; łđŹ„őMwPVŮú‡cŞj€»Tßs1p+:+Oř.7í(ţfťđŠűá6‡xýOâNżŁř>[E©Q.‹®jÖľ,ݵË…®62H@¨ßˇźÇgôĺŻüQřwáxŢMwĆ^ÓÖ5,â]Fa€N ÄŇxĆđq_)|E˙‚Ś~Ë? â™őoZ\ďmÉݬJvőä”·Ó÷JürĐ?੿¶ßĹŠóöý¶´_ %Ä‹5ćŹđßIń?Ž$ěUŢÓíÚĄÇĂ+{k¶MĐ<É«kk.e‹űF%_«ľ˙ÁżbďOŁń3Ä~6j@Fo ńWŤ˘đćq"•.aµđV™ˇřŽÝ%!,ľ-»uFÂJ®<Âřă˙­˙‚źü4ý˘ţ|1đwÂÝvS řSĹúöąâ dą•ěu-JmŢJĘ‹m-Ć™m'ˇ¶ —‰5[’Łćf_äâŹÄËż_MżŘĂ·ů KÉůŐ{“Ó(ÉÉꙪÁ(żŕťšÇĂOü'żý’ţ\xSĹÚDş6«wqŁÜŢřÖ i<¶Kťâ=ýĺߏü?Ş[M76š®‹âKBŢę$ž;€á‹~s|+˙a?ŕ˙ ľ(X|IÔ-ľ:üWÓ´˝Mµ[…~ x[Vř^łĄŔą˛·żÓ<1đóÂ^(×´Ë tźx»WÓuKu6ľ ¶Ö-Ą¸ŠoÎł^†3‰+ń 9S©_O MŞŇ’Xo«Ń…ŕąex¸ÁM(ŮűIM¸ëwý—ŔźJŚ_x'”x9Š§ŠŔĺy7<ĆFyeržwë2Äf“†*~ŇŹ&"ťlLđ˛©W™KG UFźłŹč7üVř‘®Á2bmSâĂ_Éă;ź€ľ qŞ4˛j7ľ‚;‹o‡š…ěÓË=ĹĹÎŁđö ßKuq#\]5Á¸ś$˛ş/číéwłxJń.ż řnëEŐüCýż­iš¶ái÷†íŇ?k·÷şĹşi¶:Vłůĺ˙€˙›ľ#~Őż´ŻżeOŰGáżĂ ę˙u‡đÇÂź‹ ­uď éPřŢî'›Ăľ ńß…#†×PÁ*ąv*Šr­J8Şř|*pŻŠĄ†rçť8:U$Ój¤Ô\©B¤\\żŤó,Ó‹Í1µą#‡–3ÄŞMҡőšÓ­•’´E»%dŻĘô?˛ş(˘ľH€˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(¬{˙xJ˝Ó´ÍS\ŃôÝGX™m´ť>˙S˛ł˝Ő.°[}:Ňâxçľ™Š°X­Ł–BU€SXżĽE©xCáďŽüYŁiŁXÖÍóÜă:Y„đx<ć™M:J˛ęő1xÚŞ•=ĄL6 „¬ęׯ„ńłLÖy}\%XIbjbśŰ~ÓŮSĄN›¦Ą)O’Łrn˘QŠIhܤ¬”żŮ"Šţm?ŕ×ĎŰăgí[űř·Břĺâ]WÇZçě÷ńrçág„|qŻ^-ţ˝Şü?›ÁŢń'‡ôMsPžâmWVÔ<)q©ęzU®­©)’_NW“éWR/ô—_€gŮE\‡9ĚrzŐa^¦_Š©‡öôÓŚ+B6•:Ş-·iNP›¦Ű•9IÂM¸¶z´Ş*´áQ&”âťžëşółë×sůP˙‘ŕ™_~·íµđ×Ć6Ţř•ŕ=Fđ—ÄO ę6’ âg†ˇ»™4M^-ZŃš}Ĺţ¶žăN2ÜXj6ž"ŃcŇté.4GĐ ž˙ń3ţ+˙‹Ó˙kÚKQř©ńÓ[±O†˛öłđëĆúźĂ­>Üj’|Ińłâ[ßhćˇ,ÚiއPđd÷ţ#´K]Voé°ËáödZ„—ń˙`ßđZ‹±i˙ţřŞ[«ýŃyÇ/%Üśň21őŻĚżř6–Âî;Ű/Tx¶ŘŢ^~ĎöÓů‘2ďM‡ăEĹě^Ps2y0ę¶ćIĹ'ź¶'‘â™ců‘eŻ,jèUť_mUAňÓ«Z÷öµ"—˝6ŇrwJnîjMĘ˙ŁÓńOŤaQáÉćÓÄ`0¸/ěĚ ń0öřĽ[Ęŕ°:Ő$Ő,*’GĆľ&Ň|Ká˝>iŐţ|HŠăÁ>!Ń|i Ámá/XişŘ¸[«]']š•–ťc¬i0µ˘ęVßÚV×ýs«đ?ţ {˙ôoÚá‰ý¦~čMuńŁŕţ‰ ńn“¦B¦÷âÂË´^ŢÇĽiľ˙Äţ2\ë:Ł ˝GA}oFŠ=Fţ?XĹú­?ř¦<-†áz«^–+–I—f˘áŤÂerž"QĂ·JP§žbjSÂ×­TŁIS§/ktůx^_A×u×2rźµś÷eSÝ÷µM¤ůW2M&îô»żîw„<[áŻxWĂž7đfµaâ? x»DÓ6ńď†őŇ|gŁ|%đ”ž1·đVĄ+s§ř\ąÔtOťSO5ľ­Łhş®±¬č÷‰%†«§ŮŢĹ-ş~ŻřÎ?Mŕ˙ĂŕŮ­mü_/†µŘü+q|˛Ä’iwKˇÍxĺ6±j†ŐîpbWĎţ2|SâŰx»ĂŢ4·×,|wĄřŹ\Ó~Í_¶ěíű\x\řźŕOÄ­Ĺßf‚ uĎ HĎĄxÓÂňN0 ń„ő±§(’Ţ@[MŁęC+éZ•ýş‰›ů돸/áž+Í2Ś«_—Q© ¸?­ÔĄWG ‰§ôpřÚ”)ŃĄ/đ´ gRš®ď¨o¤vľ˙l´űţ~ÔşŁű%çŹ>iđŔą¸Ó|=â[‹ ÉŐPE«Y”bpĺ¤{/ř*ßícđoö›˙‚oi^5řGâ őŤ7ĆZ·…üH–wvRŘęz$pęZ¶©hşő»–Š×\ŇuË{Í6öÖÚ{Č ZŰK«­2óM˝ľňř7â˙Ă[ă×ŔËďé–őßh˙´?]}˘ßQÖĽĄč°čz¦Ż¤Í, c¨fjRáakw&ĄkŃßMf¶$Ü *áq4l=jN®ž*š©NpsĂU\Ô±RIş5#iÓ¨—$ŕÔâÜZoÉŔgůh±rËs|» oŠČ1“Âc(b)áłĚ ý–7(­R”ĺf8:÷Ăâ°r’Ż‡ÄĆxzĐ…xNś¨Ę(˘ąĎ\(Żť~<ţÖßłwěĹ—'ÇŹ‹Ţřs.·—Nť«Oy{­_ŮĂ!†]BßAŃlő=i´Č§So&¦l‚\n×"o’»Ż˙ţüđEŹÄ‚żü)ń7Ŕú…ĹĹ”#đŽŻm«XŨٍî•~!o´iZÍž·čúśzĄŹťÚí!2&îZxě\Ml,f¦3Ęľž"Śń4#$śeZ„fęÓŚ”˘â禤šnč÷±\+Äř“/âlwgŘ>ÍŞŐˇ•q+'Ě0ů&gZ„§ ÔrüÚ¶ mZ3ĄR5iá±'NTç¤á$˝BŠ(®ŁÁ B¬+HF đAx"–Šţ!˙ŕ°˙°v«űüyÓ?h‚Ö—ľř7ń;Äëâ ]řzK‹řOńbŇc®^xzĆęĎĘmĘîęŢOř [imÍśPęš5ŚPĹá'ąýŮý€żŕ°˙łŹí đóáź‚>7|YđoĂOÚ†ň(|1ŻxKÄňKá­?ĆÚÝ›Eceâ ë7––ľřLKE:xn-RRĂ]–÷GµÓeł]*ëPúKţ ©¤húÇě%ńÉ5ýšĘ˙ânˇđ[ÄWţ@´f𥲕!esă-6ë^ř*ĺLCPń]…äń8‘l”Çp~™'ąG–N)Ę7Rĺ“I¸ó+)YÝ]+;\ý†R„\ăÉ'ąC™K’M'(ó-%Ęîą–Ž×Gë-áŻřcĆz5źĽâ=Ĺ~ÔĚ°×|5«éúîŤ}ó,őM.âęĘĺ0Aß î¸ ç‘[ŐER$’N’I<S@ _‚ßđS/ř,ÓţÇő‚ź<áOüCđÎź¦ßřăÄ^<—X›Âž˝Ötč5}3ĂVz¨čZžąŞ6‘}§ęşťúř‹M±ŇŇîßNHµ Aď×IűöÇ˙‚žţÎż˛6•yi©x‚ĎĆ>=ň¤[čW1ÝËö• o$·vÚŞáD‚6TPÄIs ńAű\ţĚßđS?ř)wĹ?¶7ŔŻŮ»Çľ$řeăÝsKFŹB—BŇŁ:•†‡gáŕtKęş5˙Šô—łŃ “PŐĽ3k¬işV«%ŐŽĄ{k"Ú¬ż#Ć”řŽ¶UN— b– SEc1QĄí±° ťgQa`áRŐŞVT)şŠTéJ¤ŁË$§čŁF3ÁŚ»Źńą‡ŤąN&Č°ś7ŹźdSĆĽUŹâÉărÚ8'žb#ŠÁĘy~-©›c!„uáKŽˇŁ]U¤ĺ†Żý`Á$ŕ˛Ţ˙‚ë˙ľřŻÁšgĂŻŹ Ľ?Ťn´Ďj7Z‡„üoŕ95[˙Äľ‹QiµmăÚéZöŤ¨^j^Đďěu{ˇ{ycĄ~á×ň]˙ę˙ÁżhŻŘ÷âÄźÚăö°đçü+Źř«áýßÂß†ß nµť#Xń¦…Żëľń7ŠŃüe®_ęÚćĄ:Çsëzgô]Q•b7o¨ÁkofźĎÇOŘ“öç˙‚křîri~"Ó´=őN…ńßá-ţŻ}ŕɡ•ăXSSÖ4čěµ\\» oěßŮčw7QĘt—Ômă†úOô¨.­mŻ­®,Żm༳Ľ‚k[»K¨c¸¶ş¶¸Ť˘žŢâ Uâž âwŠheFŽHŮ‘Ő•<őë×ĹV©ÄÖ«ÄV›©Z˝z“«Z­I;Ęu*Trśç'«”¤ŰęĆ’ŠQŠI%d’I$¶I-]‘ü©~Çźđ_írĹ´źţŐľ_Xć CńĂZiľ%µŹ! Ć«Ą ¶Đü@± P~ÎŻ¤ę^ń…ys¦\C8łÖ4gT°óT̶ň\­Ă[ܤom7ő7űyÁżgßËűC~Đ>'ń?‹mýĺZmq{g¨xĽë6Żî¸0]YXč÷W–°®diÚÂŃÖ%y%‚4Gaó®ą˙ţÖž.ĽţĚřwđźŔş]íÎńimc¦ęž%Ô*ďcś‰rÓE,áQ€]ĚpG•~ŮđCßÚgöm›PńďŔyµÚᦙ,šŠIám9¬ţ,řVÚ)L¶§ŕËI®.*ő¨á¨ÖÄb*ÂŤ =*•«Ö«% t¨Ň©V­IɨÂáJrm(Ĺ6Ý‘ý“m$›m¤’Ý·˘KÍłň—ţ Yű`üuřŹ­[ř§öŠđ„ř­âK=2çMKď jţ ń>±á8!˝Ń¬năÓuF·[ź ZÜiv÷–ÚjYŤRßPÜůµ$¸ý$˙p?i_…żłżĂ˙Ž!ń·ĹÝ?Ćß|{¤[?‚5­PÂmá˙é­“®XiM5ąO_ęÖ˝c©ę1\#ľŹeˇA$‘Ł7Ö?đX ~Îźţ?|*ř—űAx¦ňóáß‚|Cá=ÄţÓt+^ęßáúř‹M›Ćđřnô^Řj±ë:Ž“Ѷňĺ 5ŢĎôf2Oéá÷ě˙ű#k_üŕ‡_ľŢţÎÚĆaâźř?HřkářWwš/‹tëmZ×ÄZo‡¤ŃWN7>!±»·Ôîui,×TÔeś^_\Kvď!üGÂ/<4ń}ă¸ďĂślq’ö8‰WÉ3LV´×4qµpy®^¬1”żÚŁMűI%Ü•á(ŻŰ¸źĹ,Ĺxa‘x]žfÜAar<_>–e™Ă1Ëňü˛ťť §-nĄJ¸|t¨Ď ‚÷hŕ­Vgěj((ĽűTü9ńŚËi©i÷+*©Y´˝JÖçya÷Í´ďnŃ&x —-ß'8ŻtÓ±”<˛3[’)żs??jAdČ#ˇ´ÉeŽäšiaG–YeuŽ8ŁŤKÉ$’9 Š ;± Ş $M~ŘţÖ_µWÁ‹¨4ŻŽźł?ĹŻ‡qZÝĽaŁéëăo†vŇ#mKí_Ĺţ»ń'…4« $ž!ąÓ\Âel“¤‹_đPżř)÷Äť#J×4oü@׏‹ĽK)Ó$Öíőű›ytí6A;_-­…­Ä6°ZĘĹXÚŰ%˘&ČLBÜĘ$ű>ŕú™ö[šćµ3,6]„Ë\iAU§:őńxąÁÔŤ T©ĘQĺS­9{®¤)Ô´Ü?š|gúGaĽ&ănŕ çśiźń¬kcńŔă0ąVUĂąO_4Ě1řşXŹoťYW–.ĂĐN´0x‡_„rÂÇ÷güŻöČř“ű_|cŃ?ŕźź±ĘÜx‡Sń.Żý‹âÝcMšX¬$ ŽÚµĆ§¨Ŕ’Ť7Ăş.ś·Z†·©K®ź¤Cs9‰®§Šý ý”˙ŕ‰˙°oěۦü8ń©đWÂźľ7ř6ŇĆ÷UřŁă?í˝bĎQń|7—ZŻöć‘đűRŐŤPĽ0ř^{o ˙mi¶Zn‰=Ţ«}­i骷ŠÁżg߇Úěoá?Úµ­/5ŻŤ_´Tľ7ř»\E}COŃ|ń'Ĺ ¶đÖ‡‰$Ú>Ą}á&ń^ĄuĹö·©jPµüŤe¤č–Zwď |F3‡ťnLf ^®´Ôj4ë:5a.YJ”ŞFNć‚÷ˇĘÝ“čŹč ,ĎpYfg,&Fľ ŕ'‹ÂŇ©VŚ1TiץR ¬fčUp”ś’j×Ńžż?ŕ•ß°Źíö«żüđ§†|EsçÉ˙ oÂä—ážş.îeÔ/Â-§hzőó“7‰ô]pn%ĘĂĆŻŽżđn{©~Í_´r<ć˛đĆ˝a#sŐ~ü[ýťü­řNńf­â-+âwÁ¨ĄřŤ E¦j––2ję­ŕY/üEˇéÖ÷–w35çŠtm+ź"h#Š8šăôoáüGá?Ťˇ1źč2Ëj%[űMq˘˛ľ°6ŕ‰áą15”öŇŰÜOöč'™q0Ţ8ýŻ™ľ:~Çł/í!g¨Eń{ŕ×üM¬ßX]éńřŐ4;3â™ջۙtźé°[x’ĘHw,ĐĆ5´3ĂĎk:Ä©S>e8$çË.E&Ô\¬ůTšM¤Ý®Ňm-‘¶P–"„qS©O ëRX‰ŃŚgVâŞÎ”$ăÔŤ>gĘJ2’I´ťĎĺçö˙Ťţ=xgĆş¶ˇđcŔ˙ô_‡Z>©/ö—ă}Ä~%×&źIł¶űT:|Ëu›7á‡üOţ CűuţË˙řz˙-)]N-V(o~#]DĺpşĺžźáhÁ–ÝĽ1¨ůvÚ€ýęłł´Óí-l,-měllmೲ˛ł‚+kK;Kh–k[[hU!···…( ‰(˘EŽ5TPŠ+ôsřĽ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š+ó#ţ Ź˙ęřu˙ř#gĄkşţˇŕŠ? ?á"ń_ÂO‰zEŚ:ťŢ}¦Bş˙‡um2[›Ő<+âČ´ť)5k+mKLĽŠ˙Iѵ+{Ć[ ě/˙Mę˝ÝşÝÚÜÚľ6\ŰÍnůPĂlŃ´m•$c•$ĐšĺĆŕ°ąŽľ FŚ.&ťj5ĺśNÎÍ4ÓJQ”Z”d”˘ÓIśy†_ÍpXś»0ĂÓĹ`±tÝ,FŞn ÚvvjI©%(Ę-JŚe¤“_ćł˙Ôý…üűB~ßľüxÔďďü©ř‹Ćłř‡JđIJ[OâYľřCĹ^6“@Ôu[“owĄčzěž“NŐŻ4ؤÖĆć[m>}.îâ=cO˙J{[[k+k{++x-,í ŠÖŇŇÖ(íí­m­ăX ··‚%Hˇ‚‘#Š(ŃcŽ5TEUPđiű—đ?üăá]ś‘ČŹińßâ'‡š1'ŮÝ·ˇřß@Ă>ęi$8z·ů|ĚŹďJ¸˛Ś‹,ČéUĄ–áýŠ­(ʬĺ9Ő©QÁ5)Ô”ź%5)(AZ1ć“·4¤ßť‘pÖOĂtkQĘpżWX‰ĆuęJĄJŐj¸&©ĆU*ĘR䦥%NśmąNJ<Óś¤QEëžéń§í˙wö/Ů?âÔůĆ<=x ÷ćŇčń˙|ţY®oţ ‡ đÁ?˙e¸†X$„ZŔIŁxݡşšňęÚ`®ŚWóEq€š c–2Ńş±ţ _{öŘăâěąÁ: î;t°Ľ÷˝;śW_˙ň·ž×öý㸊HdoŮăáE¤ŠUš żiWv˛€y1Ďm4SÄÝ)ĆC űżśźř/ŻěźáađSBý®>řwĂ řÇđăâ&yă?h0Ĺáßx»Ă—«u­ô—:zŔş÷‰Ľ3â8t=RÖţýW‹F‡Qj&;+k ż˘»ű‰­,on­­$ż¸¶´ą¸‚Ć&T–ňhay"´ŤŘI.VfUśŻóeřë˙ř•ń¦ď㎑ńgĆ+u¨xűĹ^ńW‹/µËů¬îôk_Kâ¨ô˙éUÄ›4Ď hÓëŇ‹ĆM–Ýă0\ÜßI"üwVÂăV„qT±j—ás|%|u Şt°l6 Ô«:Ň”eżX©RŽęҵ:ÔŞWUĄě׳«úÇřaŚâ®ń;ÄJÎ]Ąá”8=SČjBxŚă‰ó.ĎžW‡Âĺ”!Rź±ˇ–ŕ°ą–gŽĆÉVśg‡ÁŕčajËW‚ŕ^ýŁloxcŔšvźâOŠ˙őËČl4ťĂşJɨj—·G ľľ¶Óâ·Ó¬m­Ě«&ˇŞÜ¦ťŁiV˘[ÝB{;XĄť?ŃköEřC­|ý—ľ|ń. š§ţ|)đ_„üCyććѵÝ/D´‹XN¸dŤ¦Ň¬µse¤»ĆŽÚe˝ˇdFĘŹĚOř7—âN§ńcţ ˇđŰĚςôŻ Iˇxűâ÷‚Ľ=«iúM®›/‹Ľ%¦řűUÖ4ínę[q›Ű«kýwRđޡxŰűSđőĺäč÷sO<߸µňţx]“xw…­,Ş˝*´±t)ŃĂQÂĺô˛¬Îë{:8:U«EJĄGJ\ę1Śc pŠćrřóë”1řśż NWŠ«íżJNś×´˛ş‹MlťďĚ”•‘EWë'ŠgęÚV›ŻiZž‡¬Ů[ęZFł§ŢéZ®ťt‚[[ý7Q¶–ÎúĘć3Ä–÷VłKČxxäe=kůýľ˙ŕÝŰÂ>:ţÍźţ!xÎű@3x®ÓŕoŠ4ŰM{Y—ÂöÂ{ŻhŢńŚ0j:¶§¤Úyáí#PĐoum^ŇĆM$ęż.í&»ţĽ(®Ě6?ŤHa±(­ťHE§ 8¦Ł' 'h©5Ű™&ŇjçÎçś%Ă|IW _<Éđy…| ©&"´%E uĄ VŁ EÓ­ě+J•9UĂąş5eNť98ĹŻä˙ţ/˙łđÉŇa/Šú¬z%Ü÷ł~ÎÚýü«vZµíÍΩ¬|,˝»“ĺq®ŢÜ^ëž –éŇWÖ¦Ő|8·w:džtŘ?¬ ţ4ŕµ?đO»żŮŁâ}Żíuđ*ÎďAřcńĹpßřšÓĂŤ.ś˙ >-ĎtúĄľ«ŁM`đĎŁč>,˝†M[F’ĐŇĽO ćźi5•Ą÷‡,"ű›ö0˙>x®Ďá_Â?Ú‹Eń7„~$]Á¤řKÄ_-!Ńď>ęÚó\.™câ/ŰÚÜÚjŢ]aMťÎ˝qm¤^hzNŁ=ýÓI¦č‘µůüß=ĘňXá«gęx8ă±”đT*×ö’U1uÔçÔś#5J-BRž"»§BžžÖ¬\ăÍôx|5ˇj1Ť:ŁRĄÂčÓJ„ ­ĆĺŚ!˘IEYŇEQ^ ‚Š( Ćżř,ׇ˙¶?gH{'†oNsĚ-y(ŕ—™3»řşT×Ů?đNÝu|EűţČš‚˛°·ýź>hD¤O á iľe)!,YH(ňŹ’gVš #‘ňOř*„5ŻŮËÄhc2Łk‘·‹x©-ąóÔ|Ł¦NsŕŽ!>#˙‚p~ÍÓHű®t}?â†.Łiä¸x†ţ+xçG´GyJůšeĄŤĚp()mń[ĆĚ‘) ÓŠ(˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (Ż;řąńCÂż>xóâ׍縷đźĂĎ ęţ+×Î$¸ľšĎH´’äŮiÖňKw–ˇ*Ça§A$đG=íĚI<(í"çZ­,=*µëN4¨Ń§:µjͨ*qs©9ÉéÂr“z$›gf]—ăł|Ă•eZřěË3Ćarüż†§*¸śf;^l&J7•JřŠőiŃĄN)Ęu'­Yü7Yđßţ CáxYmáMýşĽap×NVŢÚÇZřĄŁé÷—- dŰö[MJ{ÝŽŔń#H¬›”˙zµţXżµí˙ńA˙oß~ÓţđG‡4-?ţV•ńoÂľżŠ÷RÓç]Ä6"Ó´ÍC]Š[7ľ›Ě°†ŰQąÓíôôŢŇ4v®Ä?ׂżŕĺźŮÇÇźĽ'ăŤ#á/Ž-üy©ék‹<syk5§…üWh˘-WK¶×! Öt“>ŰÍS+§]^č÷v7úf—~÷Zu§••gůfuTËëş´ęRŤzS”%VŚ’jpR´•ą—4'T‹v”Nß{Çţqż†XĽN‹ňČ`1}\Ż0ĂŇÄŇĹKQsRĂb'EĘŚÔť:žË†©ÂVQRĄśgMĎúX¤$I $ś$’x¦żŹŹ˙đp—í â볤| ř[áď Ë0µÓ„ĐM®kK3l‚8,Âß®dr8ŕ`îÄ8Ż1_Áqlݢx+ăžźˇj{ZÚ{Ý>xbćŢPHšÇXř‰wá­.ňÔA¸Ó®ä‹z”ůŁaöOÍŹŘř)çíqáM[áÄ„0Y¶ź§ęš†ź/Ż¦1ŢOű™í…ĺŽŃŲÉ÷™­$şşóŻ eŰÚpęoř$ďí5đłöŹý‹~Y|6ÔŻ.5€žđWěýńMŐ-˘łÔ,|[đÓÁĐĺÔa†›¨çĐ|Mc®żáűř§u–ŇňK ˇ­¦ę–VźĹßíyű+ÁJ>xŽóá˙ÄĎ„_üS»mm}'Šü7˘řŹâź„u†–ŐnMľ‡ă C®i_YD÷k:Qž×Q·dI'˛[ułş—íŻř ‡íżđëö6ń§Ź~|pxoÂ_´Żá í>#Ot#Ó< â_Á¬iúM§‹ăuŮkáÍu5Ů"»ń J±xjö Iµhż±®u-WCű|ńđĺ|“,­–eqʱ‘Ł×O[[W™ÂĄJ˛śů-8Gë… “š˘ˇ”_ň÷…tĽiĘüQăś·Ž¸ň§đŐl~"ľW8p®]Ă9nA‚–ž#„ÁQĂPxĄ<5zŹ(äÄć™­Lu<=\έzŐe*°ţäëńSö‹˙?ŕš´×ĆÍSăĎŤţxĂĂ~.ńFµsâ?é|«řCÁţ?×oîEާ«kú]¶•«NfźWąđEç„ĄŐ/®ďukćźYĽ¸Ôdý¨ŠX§Š9ˇ’9ˇš4–)bu’)b‘CÇ$r!(ńşČęJ˛ĘH Óëŕ«ačbbŁ^Ť:ы抩Ď•÷\ÉÚű;n´wGőž[śfą=J•˛¬Ç—T­eVxIZQ´’gđłágĂż‚?ü!đ›á7„4_|8đ‹má˙řGĂößeŇ´]*×s$#4“O4óI5ĺýýä׆§¨\]j:ŤŐŐőŐĹÄ˝ýV©(Ą¤˘’I$’I+$’Ń$´Ih‘çÎs«9Ô©9T©RRťJ““śç9·)Îr“r”Ą&ĺ)I·&Űm¶QE2BŠ( Îżř*?ě·ŻţÖ˙˛~»đëĂúž«­xwĹ~řŹiáMQ˛Ň5?/…aŐbąđ­†©¨«ŘYßßZęł]é¦ńVŢëR°ł°’âŔ]˙hÚż ŕśźµźÇ/Žü'đGěëńŹŔöŇř’ +[Öţ&ř/Ä^ĐľiŤ4CPŐ|eâ-_GŃôŘ#Ó¬ÚmB:“YÖ!‰,ôK-Vţx"źý¨ŻËř·ÂĚŁ‹¸ źă3,× :8*8 N…e,#GW”čÍ8᱕=«ŁWÔ”čSŁÂSíĂăŞaéJ”a ''(ÉŻz-¤šm|QŇę.Öm»»ŘČđţŹ‡´ @†ććň-HÓtxŻ/$2Ţ]G¦YCd—7rždąť`Ď!ĺĺgnőŻEúzJ)E+(¤’ě’˛_$qQLĎżř(—‰t]#á>Ťá˝jE·o·Ţ%đŹ‡¦’#ĺÜx˘ŰÂż‹í´¶ągH`kÝÂŢ%žÜ4·w6AnĄ™ůËţ[«›ßŘrm»řB>:|^𰍤ŤÄµ]?ÄŢR"|Đ®|HeňĺýáyQű©cŻ?˙‚|AĄřgö,đ>˝'ŠtĎ ř§Ă´gĂďx)®5tÝbďYŇü9ăť>it 7q.Żw¦Řës^Ý[GŃŰY$·“¨ĆÁŕÝÚ Ŕ^-řIńďáž6đÜź¤řĎ«ü^˙„1. ł×/Ľ9â_xĂú—‰4˝>VIµ &×XđôvZ‹éé<:-ĹŐ‚^›oí[6ŠŤiSuU*Ž”~*Štă­µš\«V–ŻwcŠy–]O L~ ž:­˝–xŞĹÔĽ\×&UiŢ)ÉrÁŢ)˝“gô—EVghQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEWϵŔ¨?iŻŮżă/ŔiµTĐfř›ŕ]_ĂÚN»,2\Áˇř‹b_řcZş¶‰’[«M'ÄVZ^ˇyi‘Kuko-ĽrÄň,‹ô%Ž"…U řlD#V†&ŤJéKá©F´%N¤%k>YÂR‹łŮž†Qšćk–g™N*¦ 5Éł k–ch´Şá3 »K‚ĹRm4Şań4iŐiĄ(+¦ś_ĹĎř _í‰áźź>2~Đ^>đWĂť[Ŕţ%×ôÍáĆŹkuăÉüO˘hž[Căń5–Ą¤iZn•â$’÷ĂÖ‚ŰQÔÍź”ľ ´Đ5V»Ňěˇďř$ÇüĎöQđěŤđoÇß´'„4ŹŽ?>'čVŻµřI|_4˝/Çšvť¬řKEÓ´7YŇ´­léŢm=ZóV±ľµĽÖ%Ծɖ1ŮĎ'ěwí˝áüađ/Çš[Ăć‰ü=uµH3,W(äI!d`1^k˙Łń„ž.ý‚>Çu&íGÁgŠľę°“Ě´o†>8ń'‚tČ$.X}FŇ.×ËvŤbąŤ@«C›–d9fQQŔáý—˛¤éEąĘWŚś[n-ň)>]eĹ»Ę÷ąöüqâżř‰__Šóí fĘXęŃXz”jŇŤEB¤aő‡E:śĘťjŐR” âŐź7× ľ|ř7l¶ź ľü4řkˇŚŹxĂ~–U!µÍĆŤ¦ŮÜ]I&÷2Ës,˛ĘÎí#»;ęôQ^ÁůŔWňý˙|˙‚A˙m˙ÂQűWţĘ˙‰ßúfżńŹŕćg˙!żżuŞ|@řĄÚ§ü†˙ÖŢxŻÂ–qÄď÷Úމöß۬użęŠţAŕ‘?đWiţĎáßŮgö¦ńŻđ±ĺ·ĐţüR×.§ř_;:ŰŮx;Ć7· do‡Ť![}Y¸bţr–7Î|b—Â?׍­íťň<–Wv·‰¤r=­ÄW É7(ŽŃ;…w¶¸·¸Eb A<2€c•żř83öDřQđ_Äź?i†š%Ď…5ŻŤŢ+ńń+KÓ,`_OâK>ŰX‹Ć1Ă ¤şO‰őřĺż}bĆÎÚkMas®Č–:ĘjłřňSÁ—öř“ŕţËž<×5ďé:Ž‹«xłĹ ¨ę6~ńΔ®ł]ř;PđŤťĐÓoü/®ŰO=«Zëęš˝šÝJĂPÓőh¬¦µüwŽ|dɸ'‰˛^©”湶31s©Ź­‚Ł(aňś#BoZ˝jk ZJŠsXuĄVŻ4a‡öÓŤxáý .]SFĄu8B0˛Š“»©&Ú˛IÝj·łKwef˙ŃΊ§§]=öźc{%¬ö2^YÚÝIet†;«7¸&{[Ř+$öěć)‘•JČŚb®Wě)¦“[5učĎ<(˘Š`QE3ż¶ďüżđö`ř»âß„?ţ j´ĹďĂ­VđŹŹ<_Äí?ᧂí<[ ÝI§ëş…µ|ńPńAеXn´m[PźKĐlĄgt4‰őŤ8[j7?§żđL˙ř*ěý˙@řKâ_bŐü)âď‡Ú˝Ź‡ţ+|(ńTÖřŁŔş®«mqu˘^‹˝:Gł×<)âXlµ&đ׉mă´ŚšNŻey§iš¦—§Ű˙—‡í×ű,ţĐ°oí%ńsŕ'Ç ĶşŚ2ń§áë–óľ›ńWÂ×:­Äš/Äß ë{ZÇ]łńV™-ťţ¤ÖÓ5ć‘«Ëuˇk¶úf˝¦ęze·čźüóöĆřŃ˙ěř—ńă—ŕ};Äţř§ ř[Ă~(đwŠż´t;ĎhşmÝŢżc­xg\‰d“Eş´]IN—­\hÚö‘m©ŢFş}ŔEšěź¸WŔ\'ÜŹđű Ćĺg¬mt© đ÷ěy˙ ýšmŤ +Ź…1ŹOń͵şńÂ5¶‘ńA1¤mw,zYžX(˘ż?oŰ÷á‡ě]đúűRŐő ]WÇ÷öŇĹᯠA,Rݽ䑷‘-ĉá°éc ×,°.Ů@?źŹř9“áÄoüKřń&×Ĺš×Ăo |8şđ•ź‚ź[u˝ÇzĎŠ5Ť[_×˙±&x¤[/h6ţ ÓFˇd/¦đŇG©Ecm•ÍĎó·ű |yŐe˙ÚÓŕÇm>×YľáĎŤ¬µoé:ôZvŁ¬ř>x§ŇüaˇĄÍĚSZ¨Őü;}©ić+´X'{„…¦¶wKż¨Oř'OěϦ˙ÁVĽUâŻŰö­ńÖńKáׇüs®ř+Áß<=â¸őKK_h/euŞEń-4{ß´h–Úu­ţť5ź„îžËVń,ÖzŢĄ·„ćŇíĽMú­ń“ţĎűüPřm{ŕO |đ·Á=hO>ˇˇüDřWĄŰhľ.ŇőI#TS©\Ě.ĹZ!Ř«7‡Ľ@n좍ç—H“GÔĄ]J/ˇĄšâp8\V[‹ĂN5#MЧFĄ/a*Q”jŞđ’ŤFŰ’ź,ŁĚäĺy%%ËůF{á–6⌧‰p8ÉŕęRĚ#fő'Zľ&¶2xjÔ*ŕ㌛§†öp¤đÜŃśiŇŁ.':su>¶ý—l/ŮűöĂđJxŰŕgŽě|@¶ń@|Eá;ó—ăż]OąVËĹž–i/´ŇŇÇ46šś&ó@ŐÚŢyt=_T¶ŚĎ_N×đ=űG~Ĺ_¶·üźâm‡Ĺź x‹^·đ¶•¨Ç„?hź†?kµĐ&[»ÄŤôÉZóţ»˝LÇo˙…<[Ąá9’ĂNÔěĄ*Ó˘¦ŞŞQjU!űÖŠ‹“Iţ˝CWä©Ąî«»»/Dík붇÷Ex·ěéńÓ´ÇŔď†_|—°x_âo…¬ĽGac©*.Ą¤\»Ëe¬h:—’Ďnú†­Zj:-ô¶˛Mg5Ő„ÓYĎ=«Ă3űM} ô±4(âpő#V†"•:ôjÁŢ)U‚©N¤_XÎŚ˘ú¦ŚZqn-Y¦ÓOtÓłOŃ…QZ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Šó‹şBë^×lYC‹ť/Q¶ FI2Ű4ĽĹąÎ{ă¶kó ţő«ÍĄxOö®ř=w+´ß żi­wZÓ`włđďÄo xoU´·Š.±Âţ Ň?\|An.t›¸ÎT q‚$>KîĎP#‘Î89ŻCř«ű ]‡_đR_Úßáy+oońCá„>$ŰŰ´r/źwđËĆWž¸xeŔ„H–˙˘2Ăź:hŐdUhí%(ű‰EPEPÎ_µOě­đöÇř=­üřÓŁÝę>Ő.­um7SŇ.ŁÓüKá/éÉq—âź jrŰŢEa­ińÝÝŰ«\YŢŘ_i÷·úV©cĄßŢYĎůCű5˙Áż_˛÷Ŕź‹z/Ĺox˙Çź‡„5¸u˙x/Ĺ:v˘řZŰQ°’+Ť"ëĹpipĎuâÉ´›Ř’ţ uźDŃŻ."‚=SGż˛Yěî?zčŻ0ánÍqřlÓ1Ę0xĽ~“ŘbjÓniR—=5Q)(WŤ97*qŻ‘o•+łXW­N§ ’Ś%{Ĺm®ŽÝUú´ĐQEď™Q@Q@ďĽ!á/Ăioâß řwĹöQŢŘÁâ-LÖᲽ‰ŇH®í"Ôí®RŢę9#Ťă¸…RTxŃ•ÁE#ä_Úűţ ńű3~ںؾ-x.+/ŘŘ|Tđ‚Úhźü=6ÖŃëŇâ oG·v‘Łđ˙‰,ő}=ĚÖV–wł}±~ܢ›m¤›m+Ů6쯽–ĘöW¶öÔáö˝˙‚Rţ×?°nż'ŇwúďÄ?†žą“]Ńţ4|+ţŐŃĽYŕX¬äݡăLş“^đmŐ˘fYuý"űWđÜ…’}zĘâScŮ_±§üńÁZeź€k/ ŠV–đ M⮉=žâČĄ8¬âńŐŠÚť#X°@vÝřŹLµ˛Ö­ŕŤ®otďŢÉ,ÇúďeVR¬+¬¬VR0A‚ŕÁţ1˙ŕâŘ'Sřgyá_ÚköpřIoˇü/ń.ť©h_!řsáŮNđ÷Š˙´.u ëšV–×Ăş_‹,/¤Ň5]bËO´ŃźVŇmÎŻqi¬kĐÉ­xśCŹž[”cq4ăŤöžÂ­*u°(b+á*Ő§8QĹű,DjQpˇYÓ”ĄR†"”.§^ŚđńŞăóÜU™ÔĘr,ĂJ9Źµú˝j4±fŠÄŕkWŁRžěqP­BTđř‡JS•l6*…6ăS‡ž5ÜDţ0Á~ţř3Ań†Sáž»áďŠWqOiŕ„‡[łń_‡uKҬ© ·é¦čWÖ™˙[o Ć‘.žë‰ý˘×MmkqüÁWe˙‚‹C¨h?>7|řϢé?ü5˙ n…ăŰż ëwţÓô I®g_Á}¦Ç}káM~-:(ő _Gńš_Š Óîín®4«;ybw˙đJ˙€ź˙loŰďöo‡O·Ö®ô_Ţ>đĹ˙^/ą·1ŘřgŔź üSˇx†îâęňé|™5ŻŢXéľŃQc˝¸¸Öu›[éěĄÓm5[?ŇÂâŢŢňŢ{K¸!şµş†[{›k’{{‹yѢš á•Z9ˇš6hĺŠEd‘‘Ô© ňxĹśK’á2üçŽ0™g9MYĆĽn–]‡Ĺâą#:8řŕđz8 WÁM©QćŔOćÓ–Ö˘Ş/ĎüĆqÎmÁTčńöhł\ű YáëçÔrě.TłHň©ÎSÁađxXrs(:L6ś””éÔ”ż‹ř4OĹz_€|/űOü$ńηy |Ař©â?|Gđő´{?íxKCÖtŻk:JÍts¬4š¦šú†•%Ť¦˘ú™i«F×út6™ýŞWń˙0ýŤ<{˙Ôý§|!űKţÎ3ę>řUâOü1Ö4•vŹáoŹmÚ]GSřk¨42h7v†öo Zę‡\đ‹ęŢĽŹQ:­w{ýM~Ŕ˙¶‚żn€ř©áö´Ňüc§<;ńWÁQMşăÁţ:µ´ŠKřbŠG{‰|;­+ _ÂÚ‹™ďK¸·.Ż¦ęövÄYć+‰3ĽÇ<ĆĆÄć8‡^¤)ą8ĆĐŤ8GšmĘrTá:’|Ő'ÍQ¤ĺeúíQŁJ˘ŰŚ“{ď–ŻEŃhz˙í?đCý§żgď‹?ĽE©ÜhšgĹęĺ­ş^OˇjlŃ_hZâYI, ~4mrĎNÔä°k‹Q}«Ú}®ÔÍö˙‰Ëżř źüZ‰çŔVß<yác©5´_âGáđ Ň„Fą6ź.¨>"E ˇô¤đ<Úćýć:{XÚîż˝ş+ňţ+ŕ ‡Śkŕ±9Ż×)b0QtˇW^e[çíş«FĽ].w9FTăJ´\çËU'eŰCWĄ|­KV¤›IÚÜĘÍkk-n´Řů×öIýž4?ŮCöpřGű=xQ:Í—Ă? &•w®4Ó†˝âJţűÄ,דOI'kž)ŐőŤV+&ą»–Ö+Ä‚{ŰÉŁ’ęo˘¨˘ľż †ˇĂađjj– B–J7ĺĄB…8ŇĄN7mÚ㫶ěµmśíą7&îäŰo»níüŘQ^q©|cřEŁxŇÇᾯńSáľ•ńT tßj^8đĹŹŤ5â†ÇÂ×Z¤ZĺŘqulWěö2n0‘4{˝®iUsTęS¨éÍÓ¨ˇ8ÍÓšłpź+|łI«ĆVjęčęĹ`1Ř(᥍Ábđ‘ĆááŚÁˇ­‡Ž/ QÉSĹaťXAWĂÔq’…zNt¦ă%6QEˇČQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE|«˙ “đSţĽE˙„ýÇ˙Łţ'ŕ§ü˙x‹˙ űŹţ;_‘Ű©ý?“Ë÷ý?úôúĺ˙ “đSţĽE˙„ýÇ˙Łţ'ŕ§ü˙x‹˙ űŹţ;_‘ľ_żé˙פŘ}Gëţúç˙ “đSţĽE˙„ýÇ˙Łţ'ŕ§ü˙x‹˙ űŹţ;_‘›Ú“cz~ŁühőÓţ'ŕ§ü˙x‹˙ űŹţ;Gü6OÁOůţńţ÷üvż"ö°íý•&ˇüŤ~ş˙Ădü˙źďá?q˙Çh˙†Éř)˙?Ţ"˙Â~ă˙Ž×äNę1E~»Ădü˙źďá?q˙Çh˙†Éř)˙?Ţ"˙Â~ă˙Ž×äMúí˙ “đSţĽE˙„ýÇ˙Łţ'ŕ§ü˙x‹˙ űŹţ;_‘4PëŻü6WÁ?ůţńţ×?üvŹřlŻ‚óýâ?ü'®ří~EQ@®żđŮ_˙çűÄřO\˙ńÚ?Ჾ ˙Ď÷˙đžą˙ăµůE~©xżöéýž<-áŤsÄ>$ńłŁčšNťqw¨jWšĐ‚Ň%M¨ä+´’ĘÓ4qŰA IqqrńAm“É7óCŻÁ`?fχ_đQoţŇłčtŻ„n…㿇Ţ9ŐNҧń߇ Ď˙żđź¸˙ă´Ăf|˙ź˙á?q˙Çkň.ŠÔŕ?]?áł> Ď˙żđź¸˙ă´Ăf|˙ź˙á?q˙Çkň.ŚÔf€?]?áł> Ď˙żđź¸˙ă´Ăf|˙ź˙á?q˙Çkň+Đ~BŚAů ýu˙†Ěř%˙?ţ"˙Â~ă˙ŽŃ˙ ™đKţüE˙„ýÇ˙ŻČ¬Aů 0=ä(ő×ţ3ŕ—ü˙ř‹˙ űŹţ;Gü6gÁ/ů˙ńţ÷üvż"°=ä)6Ż§ó ×ořlĎ‚_ó˙â/ü'î?říđŮźżç˙Ä_řOÜńÚü‰Řľź©˙6/§ęĆ€?]żáł> Ď˙żđź¸˙㵍â/Ú·ŕ‡Š´gĂMq¬Ý LľŃÖŢóò˝¬ŇjŇZÄ— +ĽF$©ć “nw)\ůE±}?Sţ4äýۤ‰ňş2şž¸e!”ŕä#ÔPĹź°’x3ö"˙‚«üJŃîdşÓţü@řUńJĐ,4ű%¸m2;˙xSĆPč‘ZĆ#˙DŇĄđ­Ä|°âH´ßłC$’0ş2H˙đŮźżç˙Ä_řOÜńÚţe˙j$O ˙ÁE~ř©‘mâY5ÝÉm‰7ü$žÔ4űX_|,™¸Ô˘h•É=bd†IV8źďÔţźá@˘´ĹŮ?ö•řCă‚ż`ń­áhói×E|9/Űô‹ô"}Äz%ĆEł×|=©Ĺk«i7E$Hď-b[n-džŢoä·ö|řŰńCţ /űe]ÝĽÚ‡ŠţßßƶĐɧi˙>M¨LtĎi¶’ů>,ĐâfÖ´8çąYt˝f=GĂ—w˙٦®n˙oöSú…|ű{ř#XÖ~_ř­>_üađŹ…´MHřľ÷GđťÇŠ/üew=˘Ă©ÝŤ6Ţ}_MÓoJÉćjvaaÓĹ…Ä÷—1•ţ_Ś¸‹ÂĽ=ŚÎđYeĵđµ0pYNRé}v¬1XĘZ•ăíZŹ˛ÂBłÄâR”hR©>^XĘQřĎ8ŻÁ\-Źâ<ż†3~0ÄŕŞŕ)Ç#ČÝW†3‡ÁŐÄE×j*† ĺ‹ĹJ1śˇ‡ŁR|Şśáű‘đłţ =˙ôřÇa¬_ř/ăt x}DšÝ§‰ôk˙_iĐ4¦Ľ{Ť Ýií!Ť?´töĽ°I&† nc¸‘bŻ§|+űn~ÍŢ4đü^-đßÄjľ–Y ˙„ŽĎ_đĹŢ”łŰ˙ÇÄ -¦˝q+\@ŘIíă†KY€–$äŹó„ý‘żfţÓß5Dřk¤Ëŕ˙h1j—:ω5¨µ[ÍCWµ0Xč-}¶iou«Ű‹'µŇd»’ńm!¸ľž_"Ő¤?·> ˙‚]xwI¶{üiń˝ýµÓG%öźŕí>ËÂv“ş ˛¶ˇuâuą1«˛$ŇÚFŰY¶ÇâÂć32jyŽ;đ5ĄZtý“N*QŚ)ÍMEÔŞ˘ă*’ˇQBµX{Z5&âŇO8ŹĹ9,Ű1ËŢ[ťz”•W8FťŞŠ.­uBu'†Şˇ^µ?m‡ŞáQŤżĄżßđU?ŘÇá°ťu/Šz^Łsŕmôé­ägeĎĘą›y9˙Uśôľř›˙~ĎúDW–^đŻüEtńË qÁ${]Ô˘MÜC·¬CÇćyČnřÝASńO…ż`/ŮĂ%“Ŕsřžńmńg5˝Pľ ±2éđ^Řč’3˛‚ĚÚY8Ü‹µŃż;żoř&˙ÇOxŢËÇź±ěţ đć›{gĄ[ęľ ´ÔâřyáýSM´‡I}GĂ—ÖŃh—šNł§B˛ëÖ7—wRß>§q"k'W’;og0Äâ°´©ÔÂŕgŹrŻNťjtëFŚéaçÍí1ć„ÝYSj)QŹ,§Íu8¨¶~»Áů6EžfĚ&}Ĺ48Nť«ŚË1¸¬¶®c†ÇçwGęYF!ÓÄaă—ŃĆ©V”ó*îµ2ˇË,=iÖ„ČßÚă6˝ńŁăFłŕ˙¶ľ5ń‡Ťţ |Fľ¶đž™>ˇuâOŹ5írY,aÔux]®ő_ ÉĐ^ęŽé=Íôr_LĐź1ă˙A˙Ř«öŞ×<ű*üđ'íq{âˇűJř3ᯇĽ7ńrKȇ‰u CÄ:,ĄĂ®j"łťí|A¨ëzeĄŽĄ«k6óŢ%ćłq¨ů××w‘ÜĚßÎgě˙ÖŇgÍ#ţ?Ç%đ׍?iMCıxžËĆžYăcłłŠÓMÓ|3Ş-ľ™ö˝MÜ]_kúŁipZj2]®‘%Ąő…ś—şŻěî›­X|I†ĎÂ^7¸łŃ>"ÚApľńmĽj–šô1}č^9BŹ6H’u]IdňÎŮě®eC{Ďp— `řn–2xZsˇýˇ‰«t%+ű:u*JĄ(TW•ęSSqÖrqM§')Hý‡éă×xŐŽáŞ9ţ/ š>É2üž­\‹‹Âŕh`ńŘŚ#夡ĆTĂĆ»KAU©Î4©Ň…$˙Mfýµ>[Ă-ĹĆĄâ-ŕŽI§žmhˇ†”Ľ˛Ë+Ě©q˘łÉ#°TPYšŽ×öŮř{oÝ–Ż®]ÚĚ Esk˘Iqo*†(LsE;Ćŕ:˛’¬@e*yWůňÁ~>)üWŇiO‡źło‹µ wÂ˙´ď…úoŽ.ü?ay}c˘xűĹ×|S`u‹ű‹y [ŇôĹđć—e˘Ău§FľÄ‹ä]j25ż€Á>9|DđŹí—¦ü 𮱬ę_>(č6¸ńO…ďŻZăFе xWTń.“ă->Ö@ĎT7şEż…XNŁg®˘ękxÚnť%—ôý/s*ľ/żÖ<Š4ĺ‰ĆS‡{kć˙WÁahă*c'dˇFĄÜ´}ÉJxšU(8Ĺ%Tţay”;ę^ƦŃýőżwÍ9r¨­7M]ëłOČ˙Jřl˙‚?ó˙â?ü'î?řőđŮ˙ç˙ÄřOÜńęü‰Ř}Gëţl>Łő˙ ü@ôŹ×ořl˙‚?ó˙â?ü'î?řőđŮ˙ç˙ÄřOÜńęü‰Ř}Gëţl>Łő˙ ýv˙†Ďř#˙?ţ#˙Â~ă˙ŹQ˙ źđGţüG˙„ýÇ˙ŻČťŤíI±˝?Qţ4úď˙ źđGţüG˙„ýÇ˙Łţ?ŕŹü˙řŹ˙ űŹţ=_‘ÓőăFĆôýGřĐëżü6Áů˙ńţ÷üzŹřl˙‚?ó˙â?ü'î?řő~DloOÔŤ'–ş?Jýx˙†Ďř#˙?ţ#˙Â~ă˙ŹQ˙ źđGţüG˙„ýÇ˙ŻČmźě˙ăżýj6ł˙Ž˙ő¨őçţ?ŕŹü˙řŹ˙ űŹţ=Gü6Áů˙ńţ÷üzż!¶ł˙Ž˙ő¨ŮţĎţ;˙Ö ןřl˙‚?ó˙â?ü'î?řő'ü6‡Áůţń'ţ·?üvż!öł˙Ž˙ő©6ŹîŹĘ€?^á´>Ď÷‰?đťą˙ă´Ăh|˙źďá;s˙ÇkňĐ~BŚAů ýy˙†Đř!˙?Ţ$˙Âvç˙ŽŃ˙ ˇđCţĽI˙„íĎ˙ŻČ]‹éúźńŁbú~§ühőëţCŕ‡ü˙x“˙ Űźţ;Gü6‡Áůţń'ţ·?üvż!v/§ęĆŤ‹éúźń ׯřm‚óýâOü'nříđÚ?çűÄźřNÜ˙ńÚü…Řľź©˙6/§ęĆ€?^żá´>Ď÷‰?đťą˙ă´Ăh|˙źďá;s˙Çkňbú~§ühŘľź©˙ýz˙†Đř!˙?Ţ$˙Âvç˙ŽŃ˙ ˇđCţĽI˙„íĎ˙ŻČ]‹éúšMÔţźá@Ż_đÚ_˙ç˙ÄřO\˙ńÚ?á´ľ˙Ď˙˙đžą˙ăµů °zźÓü(Ř=Oéţúő˙ Ąđ?ţüG˙„őĎ˙ŁţKŕü˙řŹ˙ ëźţ;_»©ý?ÂŤÔţźá@tQEQEQEQEQE& ü…ň´Pv/§ęĆŤ‹éúšuÍÔţźáAŚv'ńçü)ôP~_żé˙פŘ}Gëţ-Ăíţ ńëOŮßŕ‡ŚOÄKżěľ ÖÔŹŽ­>x*ŰĆ'Q`_ź⦶oX*†ş7Ţy!ŔŻf˘¦P„­ÍË•óGš)ňÉlŐÓł]Ö¦Ô±č*Š…zÔUX:uU*“¦ŞS{¢„—<XĘń}v°íý•&ˇüŤOEQ‰^Š±EW˘§ŔôŁjžĂů*‚Š›bú~§üi6/¸˙>ů «ńăţ c˙+×˙dK›‡ 6~Î Łëţ2ŹĂvľń—Ă­gYÓĽ9q­ŰéS]ˢëľÖu™¬ô/í!ëéš®ź®ęÚEˇ´˛Ó®lnÚsyßş}1ž`Ó-˙[jᇛѓŤ,F_©Rľ1ańOę5ńÔ0TłÔŔOJ§™›G<'._.Jε/hÖ“ö WŞ©µŞś’Q揼 äáiňµ‘˙ą˙‚ĽxËö±ř¤ßłďÇŻ xOJń櫡ęÚĎĂ˙x2Ú˙J±ń$ľł}SZđö»ˇ_j:˘C­  C[łŐ4›‹=6k=&úŇm*Úá`žë÷⿌ođMŹŰ'öDŐôÚ7â…5ęľ[ÖĐĺđ?‰ôźk^ ˝»·źN˝ŐĽO{ŕÍCTÓôË Ť*îëO†KkýGJą‡Pş¶Őn,ŘŰÚ_~ß~Î_đR»[ćÓü#űAÁŤË춷ř—¤Zm°šCŹâ­ Ćôv ŹŞčp=žůϤiöŃĎ|>ÄőkýhÄľxW€• 2Ä}ASYzÇJUeTŮă‡öNĺĂţâťhRJItŕýż°Ź·ćç»ĺçřů,­Ď}yŻ‹Ţµ›Ôý{˘łô}[Jń™c­h:žź­hú•Ľwzv«Ą^[ßé÷ÖҨh§´Ľ¶’H'‰Ô‚˛Dě§×­iloOÔŤ|Ô6Š\Ců0}ĺ@ÁDÇö'ÄźŮ#â:îQĄxßá¬÷“«ßĄţś·ŃČĘńf)Ŭ±L…Ń7hŘ…-_yWÄ?đT2[ďŮłŔž#·%o0ę?~xÓ]Ň|={áÍ3Â4đ¶ŤqéŢ5ń'‹#3ŰÚjVŹAyuĄŘjÚm¦Ź31şŃő­WěłÚËuvŤűSˇh÷ľ"Öô}MA&ˇ­ę–MŠ1!ZďQşŠŇÜ1žlÉ˝°v®Ojü“ö[ŹĂ˙đTź‰:!ńŠ|Gđ×ĂĎk_eń¶©ivgľĽw𾍩[ÇľÎŰUŃ|Afđ­‰ű-Ö™˘-Ý­ľš%66¤˙ üađ»á·‚~iË“áOizLÓDjjNPu-I®Żćm‹ş[‡;Tp= Š(˘Š(Ş·¶p_Ű˝ĽáÂ’®’Ĺ#Ăqo4l›iă+-˝ÍĽe‚x™dŠEVR«TPĎ´Ďě‡ű9~ßţđ×ÂżÚÇGŐ“Äţű}·Â?ŽŐ-Ľ=ă-)őxbţĐŇ$Ľk;íâćčXZĎwŁxAŐ4 F[Xu]*Î Řn`°üř×˙č»˙‚c|RŃĽOđÎçĹwšmýĹĄÇ„~*ë×ÚÝľˇ§4WRh×Z†—¦iZ-¸ą–í(ěŕҬ—Rł2XŢÇ©&”÷2M—vv·öňZŢAÍĽ… Ĺ*†]ńH“C"ç”–ŁŽh%B˛C4qÍ$Ś>zř÷ń{áNĄááđăÇ‹!ę–żŮ7÷šüĐZ˝µťé:†‹z—LŚS´—ű>ÚËZui-מּ؊—…}÷aóŢ(Ž#„čńňĚŞ,N>Xl^&ŞŔÔť:´ŁO ©©Ĺ(WĆWĄ:±ćöTăí±n•Z”Ô*~ ô†ń·ŕĺśqŚŕÜ˙Ť´8·%áŹěΧNXü5ÂŽ?fŐáWšž]”e9…L64ůłŃĺŮO·ŔĂ<~'öRýĄ´/Ú;Ŕęe­4ďč[YxçĂľŃm|Č˵¦C#Ľí ë^T“Ů—i^Ćán´©ç¸’Ě]Ý}I_̦µŞx‹ö#ý fÔĽ ămÄvEµľ±§j¶ş•ĄŢ“⯇Úä˛Iźâ‹kIXMu”–Ú…¬žDöš•’jşDŻŇő Sżcźř(wżjŹędŃĂ~/‡Ă“řŁN… ĆÎîÓOş´łÖtÉ<÷•’ţÁŻěď,§†yáմ漝ˇÓ.4ů­$üË8ĚhdYţ†ó8VˇâëcđÔÜ!řhbňéĆđŐńgR4jMą,5J‰ań§:TëşÎç÷ů?‰)źář/”ckcrÎ?ĘVsĂYť<-há1Yá¨bčÓĆ*Š¬ł^Ť{RŁŹĂa˙Ú(×ÁNPÇAaĄú;EWy÷aEPEPEPEPEPEPEPEP@=@?ZLAů Z(0=ä(ŔôĄ˘€Đ~BŤŞ{ĺü©h ě_OÔ˙ŤÓő?ăN˘€±}?Sţ4l_OÔ˙Ť:ŠnĹôýM&ÁęOđ§Ń@(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŠFUuduWFR¬¬++ 2˛ś‚¤ ‚ůŃűE˙Á;ľüR7Ţ'řdö üq7™q-ťµ®<Ż\2ä‹Ý&Őč7SHŞ[RŃ#6ůyć»Ńoî¦űDŁPó[ˇřŰöŁý…üd4+č5= NžîK©|/®+ę˙ü]o˘O}¤Í ßdg•<‘6Ą ŢXęöنŰQh™^Îľ Őŕ´Ţđţ©ĄiŻÁ/\L¶¶Oâ{­/ĹZ4‰§]Lˇî#Ń­nlamV4…’h~ßu˘HćA „UűCţ¸üRřoáĎ‹>ń|Maaye®iwÖv×ÖÚčÚśö“C§ë¶Ü«,Z–“s"^YĎG"KEVl˙?gźŚţ$źübđ‰¬Ězü5•ŇŻŻü?â¸#ąw:—‡ő¨íÚĂ[±ĽŤ>ŇńŰĘn≤¶˝µ´˝Žkhľ7‹ól×-Ą—RĘá*u1¸Ó«Ž•×Ăᩧű:±”*rş˛¨¦¦âź%*Š Ëář<Ď3¬˘ŽUG%§:U1řčR­™K N M8ĂŮW„©ŐĺuĄV3Sq‹TčUTŰ›÷ł„˙üńŻáç…ţ(|=Ő?µü%âŰ}¦\ĽFŢć†y¬µ ;PµbÍk©éZŤµŢ›¨Ű‘a˝µť#–h‚Jţ‰_:˙Á$ţ=ţÍ#öLĐľ~Ń>>żđ÷ŚĽUkŕź‰6wš.•Żč:ި5X-?á,µK;)5ť]ľÖ4Ů4MNęňćĎMME´WvČż­·˛§‚ĽkiýŻđ[ⶏ­ŰNľm¶ť¬Ďotw¨][HA(^v¨}ř Ľä‚ÍőÔ•EJš­(NާVtâáNuW<á Jn”®ă9¸¦“śšćsEUTi*ó§Rş§ZĄ(:tŞUQJ¤éÓ”ęJś';Ę•JŽj.sk™˙ż·ĎüPńŽˇń ölđ7Â˙ę_Ľ#ă-kBOkž­5[Íčéš­Ć›eš|šžź-Ć—5Ě3Ęö˛ž×{‡?s˙Á2ŕ˘:wĆŻ†‡Á?żářoŻřĂŢ ń.«ŞŘhšÄŰZ¶•mo ş„Ö–ĂĹ:ş|Vz¨‚;;-X_XÉĄÚ ¨u8!üę˙‚ł˙Á?iŮ?âW‹~5é&‹®üřˇńP˝Ń×Ĺk~׼Q&ŁŻßčwZ}íő´·zťŕşIÖ ’Ycµ›M˛Ömí/ĺ†[ďřUđ§LŃľxgUŐţ"ř?DńŽ›yŞčÚ‡ĂŰëm}5’ÚDľ·żŃuŤ?IÔ4mV[»kôšöÚâm1ín#»Ů-äKÄß;”as—™be‹y„čÓŁ^­ćŞË V›®Łí ’úĽiÂMÚtŁ_exĹJî>!q†Ë2j>ĂćĚÇ*Ë”pÓŔáóĚ.9_·x\TťOíZŘĚU*pupřúµ–%â64ęVť BţŘţ x‡Ă~_|aÔő-0č˙<ŻřŁI¸ű]ś–ú†µ=Łiš_ŘŘČÂçě‹ywŞ¬ÖľgŮćÓŕrČY~eţĹ–7ţ.Ó~+~Ń˙™.µńă⯫XK0o1<á‹ŰýAŹçůĐ˝ëkR0\G,ÎA» Őů/űÜ|ŐĽy®xOö“řéń?á/ĂËÝ AĄZ|6ńvťáɵźK`ľV¬úö‹âŹ˙gĂĄ˝ŰOi} Ľ÷’]ÚM Ě)‰ż¤oŮ˙öxř3mŕťÂź?l‹?řWH¶š-KřťŕÝĹZśV˛Č÷qé°xźÁľ'đ)¶o..c†{Ý [6:{ZÚ[Z2X¨¸ű ôđđĄAÓúÔkĘ U©×ŁŇŐ^5(UŤNyÂi¦”¨ĆËURiéüí•âó|N;5†-dU˛ÚŞ´˛ě^WbkăWł’§Wšŕ*ŕŐ 6/ R5#R­ Ć·<żw,PnmŘżOÇüsI°zźÓü+é[ŻŮOâ¬víu¤Üx/Ĺpyaá˙„oÄrIs.>đ{}gMŃ’&`CD±]\†@ďXüďÍ_ÚöŻř]ű4xłRđÄ|K{ă]Ę đĎ…ôý7PÔ4¸¶†ňÚ-V}KYŃôČn.-. ąŽÖ+ůî– ˇšhbŠh]üLÓ7Ë2\7×3lv†u!J5q5cN3«;ňR¦ź˝R¤’””)ĆR匥nXÉŻÔ8Ăľ9ń;;|9á˙ ç\]ťÇĚ*ĺů& ®2®/Âň,F;8ĄGĄ:´iKŠ©F‡·ŻB‚¨ëWŁNJy~˙Ą_żé˙ׯýź?iß„?´Ţ«kź uŮîçđĺě:wŠ|7«ÚŤ7ÄŢĽşIe˛ŹVÓÖk „0M-†Ł§^j]ç‘u ˝ô—6w[ý]”+ŃĹQĄĂU§^…hFĄ*Ô¤§N¤$®ĄE´Óň~OSç3\«2Čó,nOśŕ1Yfk–âjá1ů~:…L6/ ‰Ł'´kĐ«Îśá%Ş’ŐZJńi¸¶Qú˙…Ř˙ź|T´V§žC±˝?Qţ5ŕżżfO‚ź´M®™mńkÁ0xŽmĚN§o©k:Żc¬KtÔôý:ęćÍ›s‹ Ů.¬Rgyă·K†2×ĐUÓ«RŚŐJU'Jjöť9JWŃÚQi«­ş­ËŚŔŕł<đü&…©Ëí0Řş±&á%(9R­ÂNJQn7Ś’”Zi3ů9ýĽ˙aŹ|ńŐĄ˙„cşÔţëÉ,ľľ¸y%µ[w’ŕřnţöySVŇáźlOrö°ë|K¨Y>-RŇÇÎe_k˙łGŹ´/Šš=­ť÷Š,ŇćĎSŇď™d±şĐ5C¨č˘h|Ăm5Ü®şťľům.ă…ŁYíăž żë+⧂ü ă˙ř›Ă_<+să ]iWň\é:pa®CsťŔłŐĽ94pĎ4!Ň'uÔ4–† †šć´–ÖňÚć{;ŹĺJóáΩâ/Ť ľKŞxö[Í}´ogKžĆýíZčDW_µňü­8é%kz˛XZ$_Jö«ĂáÜOĹ\9Âľ!ĐÂă8s‰ńŮľiŔćôs:x/¬d8‰cł v_Ť§ĹąJU8Ź.ž ‰ÄĺőU7S ›ŕëá%9ĘĽ°Ţ>YáÇaó9ń ‡ĂÖ¦ĄJ– :PÁŕęÂśqX|hĹaĺ(óBśáQŇĄ%Q•9ňHţ ~üuđ'Ç˙[řĂÁ7¬mµßŢ´)­řoSŰąěu;xÝĆÉe±ľ„˝Ąýżď!q"\AłWósâo |vý€ľ0éÚĆź{‘\$żŘÚü÷rř;ÇÚxšűFŐ쌰¸’&ňFĄ¤KqˇĄÜý—QÓ/vť7U—÷öqý¤ü űFřE5ŻÍ›â}6 uńwnfWÔü?{.ôFĹ#ţŃŃ®äŠFÓuh#Xç‹ÝEg¨GseíÇŃAŃSm_OçFĹôýMCEK°zźÓü+µđĂxöi“ÂúŐőµˇQ¨j˛¬´M0:Žµ}%¶™fŢY2,3\­Ä¨®`ŠR¤P›ęZž›Łi÷š®ŻeĄéz|]_j:ŤÔ6V6vŃ ŇÜ]]\ đ§Äßjž)şI^ÇDy.ôëÝOČI%ť4…Őm,SWšb–âX4Ç»š;häąhÄŇ đQH?f˙ţĎž3đW‹żh@˙ü»}oÂţđ Űßř~űYŃ„óĹáß5Í´šĆµ¤jNÁ7éPhriz¬:n¬Ó궖SéW˙Ćdß~"|YřÁđçÂ?´î~#^xçÇŔ÷Z7Ú>×eâKMZÚóIÔm涎W¶‹Ką·MJňýSÉÓll羸t‚ŢIŔgÜGÄygĺyn&ĂWÉq4=®'0«:’ŻR˘«ÉV†4ŞFgF2¦˙N·¶•X¨(¤Űţ¸đ›ÁŹ8ŰÁ;ăN$ń+9ĘüMÉ3I`2>ŔapT˛Ľ.X(â09¦uW…­ĚđŮ•hciŰ+Će˙Ů´đg‰©ZU!˙v”Sö7µ&ĆôýGř×ßźČăhĄÚñţĘŚCůJ(˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€,QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEWć×üRKo^ҤŇMđ×ţ&hÚ}ĄňŮ=ĺĹ†Şş6˝6›o`"Ě‘_ęŇ,–HcIdžĎíÖ±BňĎ_ŇZÚđďÂĎ|dÖ¬|ń3ĂV,đlë®ęšN˘n˘‹…t»ďX^A{cqg¨i·Öwú]´Ö:Ť…ĺĄí­ŇÄöóŁŹ0Ăâ18J´pą`±tĄK*Žś©V§U©Sm)¬`éTŤ×59É]\ú^ͲlŹp9—丣&Ą }~G[<ĹŇÇeŘĽjRĹÓ…Yá±X¸šy† ˛§?g‹ÂĐ“‹IźÄ÷Ă?Ú»â7ÂÚŕţ©ű;ŢĎâżj>0ŇĽ/â?d7|'ń ÓÄ—höţ׼?{éšíŢ­őü6VłŰOwĄß5¶ˇc-–Łi «ýč:_ü7Ĺľ/‡ĆŢÓ>~ËI-Ň]=¦…{m˘Ř\ÂH2}§Á~]_B’ćl+ßh:VŁ4Ę^[Č<בąĎŘ×öjř&ź~<|JÓ< a7ü*ω7ŢřIu¨Ď}ŞÂ%5ý­Ôž+ľ±{éçŠ÷[ąô«HµÝDßë¶hŠ č?µ/Ţ÷őŽŁ…«‡ž.u'NOZ5ąhÂTé©ű(B¤Ô%:Ž2©(ŢvśąšçošrKn$Ď°YÎ Ăa0ŘÚK$Ëj媾c‰ŁŚĆTĂ,n#ĂOC „Ťj*U]<=đôťu>«{=)Ďó—ţ !ńgâôßł=ż…hďéţ5¸˝ŽÚÓHńŢ‘áKÝ'HŇu­3Q´Ölô‹űi5Ť]ŢçS’Ě„Ô]6Kűcs®śN—íÎgÂş®Ťń‡Ŕţ9mMń‡5ë-jçĂzŚ~~…©ŘŮ´‹wg{Ý˝Ě`ę–óMf—RYÉ5ąš9RÖáGö¨éÚ~Żcu¦jÖzž›{[ŢiúŤ¬¶7p?߆ęŇĺ%‚â'ţ(ĺŤŃ»©ŻńŹě×đ+Ǹđ^ŻđżÁÖš$˛KslľĐ´ď Ţéwó"ŁjZMö‰mcqc}âódŤĚWiŰßCuj^űYń«€ÁáŞ`(}k—Uʨc Ü%,%JŐë%ZšNś%Ş”ŐĄ>gĎ&˝Óů— ŕäňţ.â<óĹ™´r+ă,fĽ7Śq©q-ʲÉTËń’’Ż‡Ăb¨äŘ JrĄ†tRĂҌҨľ%Ń4/Řgöň°ż’řwÂß/49­&·{xt/éSÁj[jÖi˛Ůi>8´Ň|¸~Í-Ě:ŠĆ­µ-?M†U·śZ%¦·űü}›Â4KýC@±¸K-b=TÖĽ?>©ákéq§řĂÁşľ‹¦ŢĂs D.í;±“[ßx{Sη?eö_Ź°7Ĺo÷íăß„WúżŽ|)Ł]&­iy¤¬–˙|&lÝ®˘ĽĽ±Ó’?íě<¨äţÚĐʬ’\Üčú]´^iúökÓ|3˙Óµź~Đwz†‰«üđu׊í~(xn]ÇĹR¬şŽ™ŁCá›Řµ;+ű}WNÖ^ćMNyšČ\X]éć\ů—ńÉ?ĺž!qţAá·g|sĆěF†řc^>µ*U±µ©R«ˇ„ŁG „ĄÍV˝|F+‡ĂĐĂŃ‹ťZŐ)Ó‚ri¶ĺŮE ăg ż…ŁŚĚ*'^­*4hTÄÔŠ”˝¦&´!Uq\ňs«)8®g}Yú7ŕ C⦗ˇhž/ř űIř’óĂZÍŤ¶­˘ÚxâÖ×Ç: Ţź+Üx“áΩɫŰř{ÄšF‘¨Ř\}¶v7şv˘ŕŻ°X NGŠÇĘŽ]6s‚xÜ| 1¸L„©őję8šN”ąiMb(Ň­J|ŢÎĄUU?¦<ńűŠ~ŽXţ0«“ŕ°Őéń¶KG"ĚkÁÁćŕqSĹP©®í ŽĄXâ0Üđ§]ý^¬Ş)acN˙đAÝâ'>;üsřŻ$ńü8‹á˘ř/Tşv•4Ëßj~+đλ Z@oo´é>#–äĆ^M. rÔL"M^ßÍţ˘k™đ‚ü!đ÷Ăşw„|ář7ÂÚDF /ĂľŇ,4=Â6bn›µ¤&I I3¤Ać•žYYävcÓWě9^_ łG )F’{.X¦Ýůa»F*É]Ýۙٶ—ăwŸŽ7â|ˉ14ĄJ®>pmT¨ŞÖš§WUF Ąj˛ć©+EF QĄ(ÓS‘EW |€QEUX¬l žk¨líaşąÇÚ.b·Š9çÁČó¦DKČŢÍV¨¤ŇvşNÚ«­źuŘ â_Ă?ü\đ~­ŕoięú­ VV ĺ…Ň‚muM*ďkIa©ŮHD¶·Q‚)’kig‚_3:§‚?f˙ŮĂÄ:N±ŕť kŕçďµř‹ÂV—á9Ľ~4ëuŇjw–ÖwÁâ}@A řŮ.ŕÔ#Őe†÷[†ĘęÖu±·ú&ąďřW@ńLJ5Ź ř§MVĐ5ë ť7T°źz¤ö—q<2ŞÉ$ĐJÉŽx$Žh_«iňGŔ˙Ű»ŕoĹ? Űßx»Ć^řKâřgŠĂQđ·Ž<_ˇčKwy$EŇçÂ÷úŐÖž °źdź%´cP°t1_ÚĆ’Z\Ţ}3⟉†|<ľ#¶ÓüUăkkDÚ}—ĂO ë˙őI^ K Ľ>±Ô ·‚ęű·Ô5Kť?K^ÚfůEĚ%˙Ť˙‰Z•ŹÁ/‰ż´‡…üA Ĺź‰<9ńwĆž ÓSWÚu+_č7ˇ|o†6ËSŇf][ű{{{}iŻŁżŘr„}Ź˙ÂřÓń‡ă¦“âďŮTý«ŹÂ/…Př¦-ŔľąÖŁ+ńˇâtÔn<[á˙†–W÷–«mheÓ­uÍWOµ¸Q«®_kZ~‹©ÜŢxŠX~K‡3ü߉8—9Ép\;Žž*Ą‹Ş±”!_^T˛úNľ;ĂQˇ%‡ŔĐĄ“©‰•GNŤ8*•¤ŁSÜţ ń'čýř}ŕßř‰pY×ńN šfü'…ŔÓ†&ËsJ±Ą—SŁ›}vuqy„čKFx*—¶« \Ż)b?˘ť#öâýť~ř?|jđf­}ńwXŐ.G„~&µŻŞiú@kX´;Źéţ­üM«]‹‰ĄđĎöĄŐŽ›c5•ž¨÷ś·¶v>YăŤß·ßí‰ :uŻŮd˙‚N 6:q±ľ-“IaµSJđ}˛qd lŐFVOßŰÝ\p˛zÂهŕçÁ]—ľđÄwţ)*˙lń߉ä]{ĆWŇ̡n&mbî1ýž.B=¶Ť™g.7=»9fo këOĺó寅ż±ďÁŹ†w­ÜčÓüEńµÉi/|qń%áńNą$Ď»{XĂyöf’’HŇ[ (ŻÚÝĚW×KÉô_ţĎľëÚ‡Š~|řWŕę˘TÔ5˙xÂŢÖ.bś'źnúŽ‘ĄÚ]­¬ě‚Yíc•-¦ś˝Ä±4ňÉ#ű.1“‹”bÜ]âÚMĹ˝Ü[WMůXÚž"˝(UĄJ˝jt«ĄÔéÔś!Z)ÝF¬#%‰6ÚSM'°QEF!EPFę3Eň›WÓůÓ¨ ě_OÔŇl§ô˙ }ĂěOăĎřRy~˙§˙^¤˘€"Ř}Gëţloj–Š‡cz~Łüi6°ěźň©č 0}äi*Ĺ^Š±€zŚŇ`zČPTŰWÓůѱ}?S@˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(ŻMřwvš.—ńWĹ2˛ĆžřSâ‹Č¦m %Őěşv“‚Aeg¶ľ»;—*:–Ămo2Łâź?áýŹiĎ3^MIЬĄËěöÚííä`𥔦ś@°ó2v‚»Ŕ>ý€,Ú_^(ń|tżľ/|Bńgžv—–¶Úh1€á™Ěhú$ŰÂmv•Ő1!y>䯚cŻź ~Ě_4ň› ×­üBG9câëËĎ™äC™Nµć“´ż*ň)7ŇÔQEWă7íKű?~Ňß ><ř§ăÇěŐa¨ëz/ÄŤ&-7Ĺz†a·žţÉŢßK‡VÓ/´ĺ\j:Nł}ĄZkđjRMwkŞ5Ůşű—Ĺ÷ěÍňŕžŕĽŐ2\+§9ŇĄK‹«.|F"4T˘ěŁJŤ*jMB†•)$Ü%;ÍŚM\LąŞKDŰŚV‘Ť÷ómőrmůŰ@˘Š+ëNp˘Š(˘Š(˘Š(˘Š$ŕ “Ŕ©>”üąÁJü#á‹˙µ‡Ź\ř:oëz Ż†ą Ď%´?kÔ/ ŽŐt8śÜIöËkť>Ň%“Y–EýÂŻó ňŢ<Ŕä™.Y_ÇŮ^ (ĚłJ´pôó8 LUYŕic®*8 }\E9ćxJ8ŠńĎ‚uůęa0µpóšTĚ3|>]‚ĆfąŤ\ż+¨ęŕňú¸ĽE\Ť(©ŇÂη°§:qçŤ)FťéŞ•9lŞMKď}6á/4ë ¸ďmunP˛lŻŇx#•omgąUµşVŰ…ą¸) ĺĽkµůe˙Řý˘×ĹŢźŕ_Šo·x“Á’_x.k™}WÁ˘DY´ÝÎé®ü1u0XcÝ˝´;»X­áű>Ťu"ţ¦×ă˙×oČ ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(Ż˙‚„ëÍá?ř'ľ±e"óÇß'µ‰#Á’âÍ"Đ´á ĄťńpşŽ€Äą żÄýżĹ?Ăď†ţ<ńÔvŤ}'„<#â% V)3čú]Őú‰ĘŃÚ+@öeÉ‚Ńf+y{OóűMÁQţ4kź ´†>(Ôü!ămÂ׺֩áűMcĂv‹¨ŰřWÖµM~-[űWL–ÇPš]PÔŔŇ4뙦đý˝Žť§XÝč×–‘O ß)ťń~]‘f™nSŠĂăëâ3:UkSž„*ҡ u)ŇRÄJui4¦ĺ6˝š©(Ć”ś˘ąˇÍű˙†GN2ń[€¸ŰÄ,Ź9á«(ŕŚ~.Ĺḇ6Ä`s ŰŚÁbńÓĄ”QĂ`1Ń©S NŽúäđTjÔÇŃŤóö8źeýBx+A_ ř7Â^EUOxgAĐQTŞş>•i§Ş¨ ¸ $tvűǦŻźże?‹ÇÇOŮżŕżĹĎY[éţ ńçĂý\×­¬â’ ­Il-őYě ”´i÷—đ\^X@ŇLa´žüű€˘i>Ż¨§8Ô„*AŢ5!ĹíxÉ)'nš4~ŠĂUÁâqJé*ŘZő°Ő”Z”UZ%J˘RZI)Ť֍jQEY€QEQEQE|?űrţÚZěkŕOkxwţďxâűSÓüáéoŽ—§´z$SkzÖ­|°ÜNş~’uM&µ´…®Żnµ+XV[H>ŃyoöŔ\Yâd\ŔŮE\÷Š¸ŹS ”唫ađîĽča«ăqUjâqu¨ap¸\ ŠĆă1XšÔ¨a°zŐęÔŚ)Éśř¬U ®+QRˇF*U&ÔĄd䣣ĺ)JRŚc¦ĺ&’WgÜWâďě˙l±ý©>1§ěůń/ŔúG‚ľ"kZVą¬řZđľŁyqáż7‡¬ćŐőoÍĄj˛]jzVµi Zßëv×1ęZĄŽŁgĄę˘eŇ'¶´‡Qý˘­|BđűŠđ_íń§ŕßuď H<~ăĆú'Ś¦ż\—ţ ±Ő¤µoÍüżg–îîË^}CH·¶¸y•´íIKÝ=ő´Vż¶z~ź}ŞßYéšeĄĹţŁ¨\ĂgcekÍswus"ĹĽĆ É,˛:˘"‚YĽÜv—bja1”˝Ž"–“‚ť:‰?)ŇśéĘÍ5xÉ«§©öś-ĹYd¸^!áĽkĚ2ŚjrÂ⥅ĹŕĄR)FIË Źˇ†ĹŇ愡5Ô)Ď–Qn*ö?ťÚ˙F˛ýŽ?jmÇßµý#A§ÄýCkí›H7•ő‡4IlňřsV¸Q‚Ú uŽ¦ßÜč¶ń °W´˙fźř*ÇÁ_Śz~˝oń>Ů~ řźA’ŐඹşŐĆ-áŇíí-4Ŷśµö®o‘l>¦3‰§Ä¸|,0Ą’Ńuý¶-8Ξ*…JQ•9ĘNWĄZŤX¨Bś›”¦äťs-\Tâü& dhpő b~±ŽR…JXÜ5Z•)ÎR—5E ńTáJ T”ĺQÍK.cöá'Ç„źuÉ<1đŁÇŢńw‰Ţ{µđý˝ÓéšÝÍ­Ş,·WVą™}¨Ăk‰ne°‚ĺ-ă$Ĺ7+ôSü9ńÚ6ÓáMiÎ3¬ä™yôxwˇüż$´Ďř&'€Ľ5Şé~ đĆŠ^ńŹ{ţť¬Úľ‚/lnaÉŽk9¬´í6{y•±űÁ3+!xÚ6W5ô|řőoĺeţŘß­öďó´<3áÝC~vüż"ăMň¶á÷îówîLy{ןv}ÄŢńʱSŕß’ MUu?GKVFęÄWç÷ĆŹŰ»ŕßŔßęŢ ńV›ă‹íGĂWϦř®}#CłXt č˛.,ć‡ZŐt{ŰË›Úo’ÎÚDŽ=˙f–îć3jzđ§ö®·t:oí§âcT—Př]§ßČÎ ů–K骩·hŘcs¸ßČ ř'űm~ËżđPoâ˙Š,4߆ú˙Ćqă=bkÍ?⏄“OŹE× »ů-îµë[ŤL7µH`†8µ;=râ-:ŢéluŤRŔŰj_ĆXľ'ÂárçèN˝\ĆťˇŤÂä™Öa–áłdńŘl."pĂâgATT*Ő˘ďJUč*µU ü޵V˘ĄR rľ?‡Ľ?˘xK@Ń<-á­.ĎDđď†ôŤ;AĐtm>·°Ň´m"Î 3N˛~Xml¬­á¶‚1ÂEŻ8­Š(®¤’I$’JÉ-Kd—DŹR”Ą)JNR“r”¤Ű”¤ÝܤÝŰm¶ŰníęŠ(¦ ˘Š(˘Š(ŻĚßř)·ě7âźŰCáź„WΈô|Qřc}â ß Ăâyo đÇtż[iQřBÔo4ëkŰ­*úyü?ˇŢi:¸°ż† lç°ą·†ßS“Q°ý2˘ľźxˉ|?â\Ż‹řC5ÄdĽC“Ď,c†qö´cŤÁbrěm+IJ2Ą‹Ëń¬" {ô1`šrMcĂŃĹŃžR•N^h=ź,”âôëĆ2OŁH˙6˙Ź? >,~Ě_|Yđ·â,ĂAř™ŕy4čµIü9«Ď,Çâ?Xk–oĄë«i$ö·ş˝nŻ$AHî'·méĽ7î_üţ 7âźxŁĹź?hźÚŢŻđ×ţhüCŕ?x®}_Ä—>×ěőť'H¸Đ¨É¨Ůřk[ÓőQv°ÜĽšVŤ˘ÉuŮkę·~Ę~Ü_đK?€·ż˘řďĹZ§Š~|LŃ´Řt9 Đ­¦y¬ôßčÚ˝•Ő¦¤ú_źvşVĄg6™©[ĄÉ¶ĽşÔl-¬l­:>#˙Á#-˙e Ţx·ŕM˙‰ľ&číck/ŽßÄŮ\xŢËě++I¨éöz-ŤŤŤ×†!if¸šÎĆČęş\möŤBm^ÎÚ]BĂö,ńg)âŢ ĆáłXâqśOšĂ 4đŻ‡ć׼#ńSMřăé„ňjÚv·ŁKákKčŮÄË‹©ľ­­x̡d:ÇŮ-®ťcÝéȆ7ÜřYűl~Ř˙đNÍŕo‹>ÖšňßC:]ź‡>(é׶~.đö‡­Ău‡ž(»K¨á•ôÓ-¦•Ş4>!Ń­­çşµ‚ء’ý"´ýż>|=řŁńF÷HłĐĽqá_÷ŢÔ<9âąu€úWÄVńO†Żő‹‰ĆŽ-6h’ř?TlĽŞëĐ_ę6‚i¤¶‰ ńŹ€uř)çĂĎ‹ß´Śüe}ÄŹřţďEřzúśwřWÁúg„d·¸[{h]®.íüA­qi¨jŃÇçŮa’ŇÉÄ76—yńöUıáIç9F+f9ćS‰©—WˇVTg…ĹB˝l\4Ö"–Řă°ŢʤđďŮĽJęś©â*Ňr¨~wá—p†7‰řŰÂü» ÍxO1đÓ<ÂĺX¬Ż5†pÎ0ŽM–gř#Ę1™va›ańy^a…Í(Ú¬e,ëăěslł-ÄJhýe¨řűöyř'«ü<řżáéü[®jµ„5˙xŹÇúÍŽ˝ă˝~#izNĄ˘éŇ]XXi–0hZ%ŢŻjÚnťcĘ“^«Ý¶źcf>ÔŻĂďżđM˙ŤđüIđ~łńżĆZKxáö±Ąj–:.™âm_Äw:ÉđäđËŁézmµÝĄµžŤˇHmˇ†âY Ř4ĺk+M:&¸5řŃ÷"ń+‡8;•x—ÄyÇćłlU\ł5âí——Ö“śp¸š—•zô°­Â+bĺ*ón­¤¨*1ŹîYµ\lDgŁN„8©ÓĄü>t’ćKDśµmGMşÜ(˘ŠýÜňŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ÄŻÚCáŹ~ţÖ7~"řoŕčíôÚGđĎĂŻëfś¶žđżĹx‹Hđţ±˙ …ęZ6•áĎ·ßŰišńÖuf¶Óĺ±ŐüE'›9‡SKoË+‚´iżü}á˝{H×üEű>x“A×|uá˝=FźâDł‹_ĽÓŻ|EĄiçOÓáŐ<5áżiZ}§­íĺµÔÄ> µşźG}6 B{Oě#y]"ŤI$eŤ#E.ň;ŞŠ 33ޠĀ&ż:żi˙†| ׿ŕŁ^&†}9ü_á?€VφJ›ořÓAń%÷ÄŰ=M^ây[›Ćţ—\Ő.c?cÔ§×cľµűĄ˛µüꯆy#;âśű‰ĚŞc¸Ż…Áceő©F4°\-L*ËáxVŔÔŤj˛– ”/RV…ß1ůEořoÄ…¶đߧmNHN“$—hšýŇXAr/WM¸±ż–Šń^?†żmŻ€˙¶FńoĆ>đŹÁŹŠ6Ó!ҡ¸łđíôv×5»_ŢiĆŇ{kۇš}&8ő~ÓKúî.ž KˇřzuˇJ0­iU®¨ľz•)Ntę$ęơ(ÁNxËŕçdňLËÁ>/Î|MÉź pţ/‰ŞÓÉĺ^®S›bđ<Ů®6¶#.RĄ‚Ęęć6Ăŕ°xě5VUľ+ŠĂÖÄOű]ńgÁŤövđŔ«­Q±_xŕŹĂ«mQÍͲ¦‰â?xCŇď|Ax˙k¸[m]°ÓÔ/ĺşžĘŰX´¶Vş–ëUş¸~~ĘöĎRłµÔ4ë»kű ëxn쯬§ŠęÎňÖâ5– ›[Hn-牖Hf‰Ţ9#etfR üfřá˙Z‡\đžłá?ü—KHCéÓř›Ć>7}Bî}"ÝɤCá;;I2q”Ú˙îKHĺkE«˙©ý¤<7/‡üYđwÄÚĚ~{˙ęš÷Âm Ro#KŹIŐă†mSÂú 䲛x-an5=„׆˘Úh¸q<0ţ·ĺ™%,« ŚĘóLV7NTéfpÄ`ţ«†UęÓ…D˛éąĘ­jTdęRśëĆ•JŽ›Ş¨Ň„˘ĄţzpoxˇŽăěç‡xór.Čq´qY‡ârŽ%Yövň¬.ľ¤řË OG–ăó qĂcđ´2ş¸ěĄ—Ď2Çbčם?ÚĘ(˘ľdýĽ+Ć~6|řcűAxjŰĂ?ô&Ôíô맾ŃuKą´ÝsA˝–1×:VĄoóÄ."TK«;îtűż*Ýî¬ć–ÖŐáöj+ź„ÂăđŐ°xÜ=^NľN¨ŐiňÎśÔŁ$šRWZI)+4šq”˘Ô˘ÜdťÓM¦ź“Zžđ+öeřIű;Zjń|:ŃoSńÄÚď‰uÝB]cÄZŞ@ď$óßĘ‘G¤RHňý–ÂÚÎ §o´\Ç5¬«ďôQQŔ`˛Ě-,_…Ăŕ°t"ăG †Ą 4i§')rÓ‚ŚS”›”ťŻ)7)7&Űr”§')ÉĘOW);·ęß–‹˛Đ(˘Šë$(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Šđ/ÚŁÁž)ř‰ű7ümđ7‚Úäř›Ĺ_ üS˘é¶¶S}ž÷Uűn™4wšťÁhÖ żićëC¶™ĺ†8§Ô#’IŕŤZTţ7<_Ąx—ă˙Žm~ xŔOăËk‘áŘtIt uÝú+¸ôĹСÓÂMr ]oŚZdť‘ż{Ě[µ˘¬Sżş ŹĂ–öńľźń'Ăú6…eăť2@đx”i#Wš ¶žĆëSHţk»6{+ŕŻŮßä ńĆËńśOÁô¸‹–ć <&3+…zxYJś«Đ‡Ö'JU*ş1­AʬU;+ÔQźş¦ś"ă/é>‘¸ßřwŚř>Ż áx‡†¸ë•âóÚ4±”˛¬ŰýŤC .Ą\»5Ť Z¸µ:Ž89WĂÚµL,ˇ« ´~ ýš˙b„^ř đçá×Ĺď> ׾'x_Ăţ·řšmý«żŕťéŰ~#~ÎZbŮKoş˙Vř_§o´GÍ{Ϭ{´TĚ<. ¦ŕÉá÷Ť…¦ŚßчĹo ŘügđŚľXíń–Ťl¶~=𕹉nuk[Ei'µ*v+ęv"I/t©$ąŽf·ibµÔ%š?“í.íďíˇ»´Ko:ďŤöş7«$‘Č©,3DęŃMÉĐLŹ Ѥ¨č>ĘĐŁJ‡´śáJ1ŚT¤ÚşI9[H©JדI]źÍx—Gcs%…ĂPÄă«T­ZT)(»N¤ŞF—´|ŐeJ—7-(Ô©7¤®ÝŰüOýś?ࣚ—€´É| űCYřŹÄhPÍiĄx˛ÂÍo<_ ¶GÉ]Äú}íÍŚšťÂ4mm¬Ó.Ş· ęŃŢÉ$ş„§ż˙io„ß´n“Şj_ u»‹‹ťhˇÖ´ bÓű/ÄXąRÖ—7:{K:Ëcw˛D·żł¸şłyˇžŘĚ·0K ~{ţÝ ~ x'ăĎÂŻÚ—áŹĂĽgŁřVëĂZź‹ôM H–ććOřGÄ·:݇·&˘TŮxuŚ.×:«ď#Óe@Í©‚6BăíÇj›·)µĺ&Ł¦ĺ&ŇI%vŰz$–­˝.ť:•ŞSĄJśęŐ«8ÓĄJśe:•*NJ0§NNSśäÔc§)I¤“m#ÂčŻĚ/Š_đSź‚˙ |wâ-/ÁŢ ńoŠţ éşíŐ·‡üX×ÖZOAŠHľťá;űoô˝.űTš ęzťiÖúŽźax· 臀Ľuá_‰Ţ đżÄ/ęöú÷„|e˘XxĂúµ°uŽ÷LÔ K‹whĄTžÚáněîcŠęĘę9­.˘Šâc_%â\‹ľ˛ň\ĆŽ`°u]D¨Ć¬c¦Őá*´éƵ6Óĺ­AÔŁ-ăQ¦ŹÔ|LđGĹOG832á)ń9ŽSO[/­V¶P…G M,3S,ĆÂ5 ëe™śpy• µ[ MĆIu´QE{§ĺaEPEPEPEPEĂx˙â‹đăFMo\ÓüY©[Kp-b·đŹĽOă+ćť‘äQ5Ż†´˝I¬ `…óRk+&™Ł·ybŤŔ;š+áëßř(OěńĄjŁDÖ¦ńî…Ş,ĐÁ=–·ŕ]_Ką´iŮB5Ý˝ç•qo;3Ä1\+íM;QłŐ´ű-SN¸ŽęĂPµ‚ňÎć& Ö׬°Č¤vd`py €AvŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ¸ßŢźÇ|wŕ«kŐÓn|aŕßx^ßQxĽôÓçń‰}¤ĹzđŚ–ÖKµť˘ëe;×eEgV•:ôŞQ«:U©Î•H;ÚtęEÂqviÚQm;4ěôg^_ŹĹĺxüg€Ż<6?.Ĺá±ř,M;sáńx:ĐÄa«Ă™J<ô«S…Hó&ŻtÖ‡đÉńcöj˙‚‚ę?_Ὴľ ü_ÔĽAg¨Ë¦XŹř7[şđ^¨“Lâ=OOń>‡d|1©h˛GH5‹˝LŰXŰEp5 ¬¤‚ů#ţśf/ŮKöťř)ű4| řA§~ŃšĂűď řjňMkNłřGˇřňëM×üQâMkĆzÖšľ$ÖüV,µK}˙Ä%ťĹ¶Ťmk%ťŚrD% “źŇŞĄ¨ęZv‘es©ę×öZ^ťgšďPÔn ˛˛µ¦[›»™"‚Ă2‚ňČ«’rExy' ĺą:ËéĆŤ7N©ŇĄFéąó¸ňŇŚT¤ä“rik{%wÔ|MńŁŚüXúµN.Çb3,e# ?‘ă]ę,• …žÖöh€Ŕ0Ic†Ťöş˛ŠëűQüťť4żÚg‰$O˝ôí{Ć“…;<Ż é:̆Cľ4„.d–‚™f‰čČÉ?ářó˙EóF˙Ă9¤ó[_0x§ö™“áö±˘kµcT±ŰÜŮĂű,x¸$3E<°Lm˘Zݢ<.­qouwg ·–IEO¦&ř˙ jpO‡|ń×\Iâ’(oôĎž7ĐăÝ*2$ÖWž8Ńü7dŇ#‰6I!x!š ]Y ţE~מ0ń€&ŇětŻţŘľń~˝tu¨ôĎŠ?Ľ&š ~k¶{˝3Ă^Őîµ9ĺ»Á`ú§öjÉz”fn,ćEôŚżđPčş}•§Â߉šŢľ××VúŐ®­đ>_ ɢĂo@Ďu­řă]WĽk— ‚č f’îúČŦˇô/ěűăźÚâW‡ôźxĎö®ř9ˇÝj.“ÚřHđďĂŻj&Îm‰jşőć—â-M+PšrÉ.Ťf.níÇ—ÍĺĄ˙Ú,-˙<żgďŮ+ö‡ńn‘áߎţşđv‹f5;ËÝ÷ĆZÜŢ­…ä–w—ň%®ťrăNľť/láŻmî.c/Hĺ‚âOµu˙řN"Ž}Wă5ďü_IŃ®ŮŃŽ«áÍCĹ:Í´±;+ #K7¶Sęwió\$I«]ÜĆy)ĽÎ€~EáߍĆ“AńÁSC*‡ŽXľÍ$r# «Ł§Ä˘®¬9 ¤‚9žŢřÚĘŔ|]đzż¦,¤ŚP˙ŮI^Łr˛är¤dÉůĽ3ŕoË$?Ľ7㏷’KĆąđŕ•çÁůń¤–WQMă_xĘí4Ż´˘•†á,/‚:LŃÉ,2Mžťŕ/Ů;öË»ą‚ćăăçŽţhn›dŃuŹ‹çĹ]v×|ŞîßbŃíĽ5á6‘8Ćřu2ňťéćĹŽ¤ęýsŕ_í5¨ ‹Ť?öČ×,oq·‡ţ÷€âÓPeÝ-Ě7˛Şe„bé乸XŔiEÓ(Ďá˙íCá‚~Ú>¶ł’]éqŻ|#đoۤ YľĎ —šŢ$I<©ŠĽ’Í$[_`hă¦N«űř˙Y´1ßţŘź´×F8Ô7öýä:_™ą>‘k¬[Ł·šŰŐľÔ&Ź)¦rEă5Ř/P7]ËuđKâÔłË<÷ľ<ř{ńOÖnÚc 3j:ď‡>1µÎŁp±[ˇK««wE–Yü»Hˇ)€{ő׉Ľu¤»Ľý«żgČ4řŠ&íáͤbfHK?ÚŻ->ęÚ'Ăŕó¬j&»ľµźTń´Ţ!Ľ6ţ\PĘŻŕF-ĚÎGżŽumg㌺'Ťü/á/‹:|i%˝­ÎťűţŃzLÚuĂJ‰+i^1ÖĽi§‹ <©DĆ]#Uµi­ĺYăą–-Čß1x{ŕ§í‘đ‡Y“Wýś¬ľ é~–KťCQđż‹ćđ?†<#a}ĆŢ-ĆüBÚŠĺo<ÝBňŇĂT˛¶0ĽzťŰN×ôoEý«4čl!“â_ÂŤ˙ 5Ň%ňj |_⍠ؤâ0öŢ#𮋨ŰßBa"á™-!‘dO)Źgܵý«?fOGq¤ÝüVđ]ĽW¶ík{ĄřĚÜxUfµ˝[kűŘčř‚âŢç˸†îFÓE2â9•?.-ŕ¤?´–•âů|-âm ŕŐ…ÔZÇöFŁýŻĄřŽßMҧŽáˇ”¶ŻŁxşú%´ŢBŤL&©f!Ůví·ÎßqřâÇí‰ń4»đÎ…ű*ęZHxŇëXŇľ"k>%°˛iuŠw𮧮8ťâĚ‘Äç rč9ŞŢ1ý?cߎڢkžŐ4-ę{´‰> x‹ÁZn•pwK$wçJŇôÝKM¸ľvłÝýś˝Ę¬bc*˘ăâ~Îß´Oěaâ›O|?Ô|Cń'á.Ť«®ą¨Řř{^ńW‡ă’Ţ5(ańχňřG?f]ɶ~÷UŐ5řĄ߇Vř×ń*ĆÎF ´3éţń‡ôíŔ´Ť”´\ůŻÝb†9ăýľů±Ď{đłÂúôŃ6ä›Ĺ\řÂ]Ů.ţ*ąÖO•R2$, ĹnG‘qŻ=­~Ř˙ł4_|gđ|ď‘Y´Yď|I 1[˸đí–©o( ţí˘•ÖS‘rs˙ đ'‰ü@žř!ŕ?|XńMÂ\If—wş7ĂÝć+q—•5oÜ}ľ0 ‰$[­ج?>âVEŚťý¨<˙˙Ń!_ üG‹Âż |V¶FďM—á—†n4ĎÚ%»[Í{Ąř7Ă×ú]ÔWG’ľ$Ó¤CÝo5°a8üŕđŹí!âßŮ^M3ŕĆ+oŠź Ąąžé|1â_ xŹI±„K7›2\húÄňh—· ď!Ľđ¦şŃ^NăQ€¶ÍúŃsáoŰGâĚI˙ ‰~| Đ&`đÚřsA˙…ŁăKxA‘g˝×]Ľ.%™NČďt‹$D;ŐUŃ^ZZ_üĎŕmΣ≗ľ6ř·âŤ]„ş®±âŹŢiË:A¬-iiá#ˇMo˝Ľ0Ĺoos~¤k0¶H ŚŔőoř*Ă}wávąmyđ÷ĹÖľ=Ôt‹Ý-|=oŞ›ÉsylÖĆ鏥ÚĂc¦iZ]¤vźel‚;{K++Xⶵ¶‚5TŠcHăPTŠ‹űwDó<Żíť+Íßĺů_Ú6žg™»o—łÎÝżwË··qŚń_…˙cMsăäjíűK|<ŐĽ;ºƟŕ®ęZÔ6R•ÚjľŐ´ŻÜi77Hň@&Ő´ů G ±^$f ýӿྲť‹[ĽţŐ5S¨oíx¸-˨Ŕ–á4ýbÁ ůÚ8–(ľS ŚČŮ—š¶—§ş†Ą§Ř±ŚĘĺ嵩1A“ȇËXű ©Éŕ×%wńWá}Ań#ŔVFPĆ1wă[`1A6˘…–PĹsŚŚă"¸]7ö^ýś´¨Ö+_˙ ĄT‰!RđV¬HR0łÍ«Ů_Lňś|ó»´ňś™$rI=Ą—ÂO„úVNřeđóMŮËÁ~łŮl»„4ŘöŔľZ/"1ĺˇŔÚ0Ę^~ŇßłĹS?Ç/„ÍąŠm¶ń˙…ďťYz‰#˛Ôî0:n‘UIůA'ŠÍ_Ú›ŕÂ&˛řŤ¦ęÂydŠě-3Ä:ů¸h„­#@ş.‘~ÓB‚ K\Dł™>eĚ>-ř÷ű5ü!ĽM?Ä^;đ†u(-]3KŽ íRÖŐÔyjúo†ěďď­#•0Ç$yŃüŃ+ Čň]oţ 'ű)éVmscăťcÄł ăOŃ<âŘ/Ć×ń‘ X Ů8Ý|żtîÇË ^2ýĽ~ řN[›[mân’+“hÖ?év¶?ľ#|Iý˘>3Ëkt<9áxČZx_Áqęin÷!żĐ|%o˘Éˇ[]G śipęßx‰í­JšuˇşµňźŘÇöąřÎ!řŹńN×PŇţ •t].9gÓµO\®řŚö÷îl|9i(>nŁ $ú•ÄfÓOuŤ.nˇř Ođěşţą.—ᡪjV†âUµ˝›Cż7†Ń|Ă Íţ‘á˙řI®-e•y–öręk„ŞÜK4Őő_Ŕ_Ť?´oÁ˙„GĂxłĂţşžă\Ôt»oşg‹5I§uHRí Ô“ĂšĹŐ´˛Ă‹3ř˘ÚŢÎ)&{HÍŔżô đ»ŕďĂŹ‚ú%χ~xn? i7—BúîÝu-cU’ćě'—çÍu­ę•Ű>Ď”(śFŁ…@0+Ó(ň»Áż´żíńâŰi&Ń˙f}TłűJŰŮjšî…®|9{¸‰ylX”<ú}E~[iß±×ÄÝnö=gâG‡|ń/W‰ç–+ߌźľ)řđŰÜQŰh~řŕÝŮ&^łşšâ4·$ E(úsÂż ľ9xVĐižÔżfŹ…úI’6kOüń-Ó”[p$óŮľ"xrŇńäąË™Ć ʬn÷ţjËőmňO‰ţ||ńdXĽý¬üMˇH-ŕ…bđWĂźřbÇĚU^\0ŹW˝Ö^K’ęa]Űf#®wŠ ýš>+řgY´ÔőŹÚçăí­®­®$Ó%´ĐţĎu»3µ¬ëâń]±†ă!&ŮfĄ˘ÜżË’/±h Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( .nm¬­ć»Ľ¸‚ŇÖŢ6–âććXŕ·‚$y&šVHâŤG,îĘŞ9$ đÍö¤ýśü4—OŞüiřuşĘ6–ćßKń>ťŻŢ¦×hÚ$°ĐfÔŻfşVSşÎ y.ÂáĚ!cë^)đź†|oˇ_xcĆ•â_jBŁë6P_é÷_gž+«g–Úá3%µÔ0ÜŰĘ–Ţâ(§…ŇXчĎëű~ˉt÷ŕ×…ĚÎ(ŇkjPż%‹ęmd‡ )n¤6XĚÄ€x%ßí˙Äż€˙f_„ţ#řąâ§¶žć+íbę× 6ĐH‘Ë©ďźíŇŘFŇŔŽÚ¬ľĂΠʥBÉrçŕ?íońĘ ľ:|mÓ~xCT‰áżřođzĂÜXN6\随®%KÄLń\Ăs©x·Nšĺ4 “ĚÚ^ řYđ×áĚr'€ĽáÓËąźĂŢÓ4»»´ Ľ-ííĄ´w—ˇN6ýŞyŠ…URTö€>Oř{ű~Í­„vß 4^´^MĆ«ń |gsr2óa«C&g/ë4ÍÁ°H$‚EwZ×ěÁű;kěď©|řje”––{ é=Ä®Yť¤’ăH¶±šI—‘ä28Ŕf!Tv˘€?>ľ,ţĚ ľčpk_ ~üV×5‰ď mađ“⧉<3%O&â;»¨µOĘ°Ĺ$¶ëm˘č:,­,÷kże™ľ#Ô´ĎÚß\µżĐ|)đçöĹđţ™¨[}‘´ďüpşŐ¬#·‘"…ˇKÝ{áöŤ$µ…ĚJĚ-¦“L˝đ°–÷‘)óhŻ$–ÚcľÚutY×Pᆵű~Ňv^4źÇ ­~|,šŢEşŃ´ż|Jń“Ýi3¬`L4íoVŇƢ¦âC!Ë} Ľq8·Ŕ‰IoW×#˙‚¨xG@´‚×PŃüN°Ĺöf˝Đí>kzü VŽk´ŐôËi/噇ΎÓPžBŚ÷8¸‘&—őâŠüř‘âĎŰÚßMyu­ö“Ó%‘biµM3S˝M.ŇXŚÎ#řeá -ŤĂÜŰŤďµ)!ŠŇW¶{IŢsw/Ć7^-ńv»wqŁřűĹz„3˝Íşę‡Ž_Ĺ>%Ôm &Ý-† 5Ź([Ć°Î1eozéJ—nG_Ömsú˙„ü+â»si⏠řÄ–ĄB›mFÓµ‹rˇ‹0ę6×1• K·‰8É ćßÂż˙fŹ}šOţÖ¶^»)nfÓâřă,€[¸WTK«-6)#ş†ćh¤iť† eŤ#“őłöpÔcĎ…^Ňü1á˙Śż ĽQ«Ú]Í=ż‰ĽK'Ăß řšY.¤EŽĘÍŽŤŞ]$sË+Y˙iÝjú¸űTĐ.ˇ%ŚV–¶Ťń§ügöqń~ą¨k–ĂĆŢ mJö{é´Żë:%Ž‡·2<˛Ĺ§éš·†µ¸´Ű!#±‚ÂĹ­ěěă og˝¬q°xoţ źű4čWPÜę)ăď¤R‰M§‰+[ołşŢčËhđiÖż=…ť–Ł¤h÷%¶E™â‘©˙Ă"~ĎôOňěńÇ˙4´Ă"~ĎôOňěńÇ˙4´ô•óoü2'ěń˙D÷˙.ĎóKX§ö%ýš‰$řZÉ$ś|Př´<đŽ€Đčő-Ĺ͵śM=ÝÄ°)PÓ\K)bCI+*ĚB¨$dI޶úĆ‘y*ÁiŞi×S°b°Űß[O+¬qJÎB¨,Ä€ 8ľ/ńWüĎömńC@ßŮ^4ŃE¸>ZiŢ<ń¤Ł~<ҧŷ>&xĚŰ#ó|–Ś7•ŰÍ˙Á8˙f]úŢţ]#Ćô¶·ÜŔšżŚ5tŽh™Wđęh7Ĺ$bD"}ۉË(ÝôTPA´ŰBĄ!·Š8"RÎĺb‰q©y¤r¨ vgle±$Ë@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@˙Ůprotomol/doc/UserGuide/cell_algo_cell.pdf0100644027616700000500000001555310237151525020100 0ustar pbrenne1dip%PDF-1.3 %Ç쏢 6 0 obj <> stream xśÝZŮ®I}ﯨÇÉ9ą/ŻH|ŔĚXâ.x ş ňâ÷9±fuąě+]!aKnGT¬™‘KŐ—#†tDú«ż/÷Ű—ŰŹ?×ă×ŢbX1żŢŇń×ŰH#äŃŽQ[¨íH#Ć0Š˙ţö—ۧßßň Ą¶vüçČřÁâŤ6×ÚCšÇÝ1iŽ…˙Ż·”g i=Ă””CéŔäšfé Ć$ż~Ąë•Ě®aäšĎf˙oLůŚE)yuăŇď·RZ 5ťôť¨Tţ‰Ę5ţrKŁŚ0€«­†¸@µ19‡1±DŤ})k„z¤>SŮŔ—[ęu1˝=Ď•ÉŤÝaQ@ †™Ť”żĄ( Ş@a0Fኀ‹ /ĽH9§Ú˘pÂ’Ŕ/Gô1Â\Ŕ2ŘzˡaŐaWXľÜ2ÖIŚ vHÚüŠ|"W¸FˇVîŃ›‹x‰^ő¬xô*G,Z©'·r¤ŕ)Ű­µrčÍő*xrË ŘîÍŻ (pżrśQČ…ťŃLĎň Ü~9¨..¨ccö@+ö’‚Ő©ÓíGO!erŃ1çfrzűšÄ`}”Ňŕ°h ĂŕĐ0‡(±ŠFŐ 0̧P•˙ŃőË”´^Č1Ă:DuîDOż YńKg‡ˇ·!ΙC)Z[¡ VÄa…C%‰¬Su(L‹ˇV8…Ů­.~w©­ÖňąoL&zÎ6°ëľ(©ó:-Rjq„57Eť™”_AßG”&•˝ĐŢÔ­@aR 8™l]ĐmÓ §uĘä—!®qZ ć™eé[—`¦C«0”ÎÓ&ŕÓ6·‡Uět ‚EŠŰtÓ°ĂÂl0 łYů]Đ 8ś ť©†>ř¶Ä…R.ŁE—/’/«Ý­Óe ±učmí V tÝyžEŠ€9’hT “µÁ)ÔfăpAüę±ŕĄđŤ‰¶˙ľ1ŇŔÖ7˘ ľŁa‘rĚľÜZ˘[ŘuE%v‡UÁËmc ¤óë¸_9·@1ŰfpuÁ.|Ča¬0ÝOÜi2ţ„ÖśŹ/Ŕ\Or2b<ś$㠯¡6S7fĘi2 şč®Ă7Á­0 ·rîňCĂQ3ĺAIÚH2¸źŇ±ŠŮs Š Ä@:eT5ôMP°]Ě  Ä`02‡ ¬ÄUÂtᨠNˇ&*˙Ł vĚ4¨Ő¬]Uĺ8*WeZÓXôSâYŃę˘M!e“K0xŻ…c «ěĘĘls{1Ě Łp»UÂĹń®Ĺę =Ĺ"ŠÉŤAíŽTXQ"Eş•QĚ„ľŽŠŁ;ć†qz&̡‚0‰k¸„ ‹Ž—ŰĆŔV’iňś¬Ót( f…b¶•"áę‡Ĺ¤DťÇ‘%(ÓpĎÖD[[á#Kň 3‚ ëFNu&“ °é Ĺ +ĹB+:ŇŻp).Ĺ §0»MÂĹŹÇČ,Ł‡Őć)2Ń•ŚGfÉ1 µxÔĽ#sSHÜąUÇŽĚ‘ŇúôȬĄ(‡č0xG¦S¨•.áâ‡xW#‚QŹŠ\żĺmÇł!®^‹,i6OD͆gčąC1i™9T‚ĂŞwźaV™*ˇ!÷Ů]‡ÁËb…aÜJ•pőCsëÉÇś#¤AŮŰ1 É«‚l…EIÇ„­uRŃ9qĂT4TáPLBRÂ2šUí# ­sĆľj…ŞŔ`*$ŧP]ÂʼnÇüťP÷…’Oů;%´±1yţN‰ĘąâůŐŕťÁ c Ú$8¬:v O¨ĘX¦I f=¦­CáťĂ łí W?Ô;QÔ}¨5;Eyç‚ĆľóˇÍq·¸.Ç›`ş:ÚÜ·M%lXt€Ă1k2‡I ĂvÁađËÍ­0 ·R$\ýĐ+%ęŕFűäű “Q&kŕ$ѦR{RhPćÜđËm%J?CÁSc6h˝ůĆ ěś]*@še×`˝ł› m °_]0ÇĐ5!DSĚ3đhDkˇÂƱDVŚjV6SoŃĹé0ô.jjşcč·ŕ1 « 2ÔŤ.Ú°ęîÄůTüą™,ěÄŻRb)ć<˘qJ.ĄBíĹ}c"•<śqfd UHM&@m8ĚĹVŁ¨Q8T‚ÁŞ8 dÂ*AµëđcďV…Ű­.~č]Ş˛®Űý„ r %pńťÉ §%Ö˝¨g“ĐËsšĐ1ą˛;¬ĺ„~Ś Lă‡ý˘O(LMĽZŕjˇIxtAýš¸wÓň#|ßFý%WčÎb[ě3Ť˝ Č Äě÷ĆĆ´&*ˇS‡ęÁ`6[­.^ŘŚýKĄÎ…]_<$2 -.ĺ?”8¸ö´ÓCJLئĄgŤJÂąŃ5l% Ľ…ÝzAż›EÓż Ř<ă~0ŢĆ®đ¬$l&_ň†AŤÝűäüMőč¨ç÷THîśŢ&mŞS- TçwIöj+4ĚIˇ˝â:YĄ‘˝ăÚD†9-’ć3‘bÎęfK´ĺ'uŠy˛§—`ćŢ©Ôq*Şîë™HDóÓíËŤ^~Ţń/ßdŤĺń˙‘_Đ!řOšűŕ!킵W?ěŻ8ťKćSťzĂB†ŠŤ_ˇTíť1(réŔÇL“wM ¤Qš‚ĎKJR)ĺrfA(Adf—*‹…J®9DM“J¨ µ°ŕ??˝â¤—ąWÁĎĽUę·6yÂ Ě ‹^ż’sy÷ú~jäX˝mă1yňŤ3Řł`ä°ď'üówF'Éć#ÓČeŰqZÂFőÚ¦9a0‰_h›Ç|v*$üćç>*źŃś0Ä]ĆIŰĆ<ŤĐ‹ěgžś"ôŤ¶)MGµ^Ϧ9Éc€ľ—‰Ď·mťŇDš¸ÔóÖ9 Çç{ ˙ľřĚÔ*ŇŰT´9g\ö.ÂÍŕSۨ žÜá˝ŇŽ*sjšc1":/űÖűLcËFŻońŰìĎ÷¦ÓDŽÎŰ(t‰°?(4ôâ!ťĽqş©ż-:żväťołŤŠĹ¤ăTÎeW9×đ|75\g˝iëčrŽI®k.J.bŘ…÷ý˝±ICM:–‰Ăm›±—ĎiM¦3ÇbýT —mrźŻ$Ď7Eiś‘>ĄEţ 㪾/.źćő·ŮÖ±ą<ŁqŰ.qů^j$.ß´m˛VFăpdľ—pž„Z'­P)eúĆŚľoH´BĄ‚5ť˝wíéř+0çł–nóIĹ·”wýN­už5é“·· "®ůkŚ»c*ÍgG—wŰcř‹ ›„ś^žô™Ă(t´âŢ/OŰH8D]Ç…†2ŞĂ`šO‰›Bí6 ?¤Ë˛®@żOÜ]"ÎťC‰©ČçsFdÇĺý–oż‰ż¶´ź—űń‡Ź·sčÂ?~şÉ§h¤°×< o¨dď·~űÝÇż C˘Ń ť ú€z| ¤µ`ŮÇ?ß~xů÷żţńé‘Ŕ}ŹĂ4ŹíXF”ŇóĹŹč–Ü:ôn ŃÚ Nppa:„0•0ŹDŤQ˛şČ¶w>émÇäp^@z”čÍr Ź1P{ćÉ =řăÇă§ýý/´đGÜendstream endobj 7 0 obj 2952 endobj 5 0 obj <> /Contents 6 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 5 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 4 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <>stream xśeTkTSWľ—ÜŰŠh‰Wë˝w:S´E ˘Dp´‚`SDĐ‘$‰ňB‚@"ŻŁ`yż‰ AKA¤€ ¨€E;>@…˘–ŇĄ«Ž¶ă´ÓYçŇĂš5‰kućÇü9묽Ďţö·żý­cövŽăÂŹv‡DŠ>vW¨¤Úu"ŤJ˘¶…Ws+qîm;nůˇóżÖüęÉ_……Ôń[ŢüŰ ľz Ţ]Ż,Ĺx8Ţu뉿&>%Q!?šÄ®Ů'Ú˙ž»űÚ˙EÖűřř°1)żeŘ©V!WłnÖ‹^ŞÔÄ«¤ę$_ÖßúZ©TaĺĘ”řŁZV+Ťµ•EH”Ň86PˇTÄÇkôě˙÷X/OĎő묇—/ŞSI5kY…Z¦P+’RX‰:–ÝŁ’Ę%¬J+µ¨I‰)ěFO…úżŐˇ UŚNËľž– Őř°!¬H*×)%‰˙źÁ0lÉŤ,1I÷GďM>ë˝6lüĂ°0,űۇE`ÎŘ ĚsĹś0!¶ Ł°ĺŘR«˛=ög¬ ·Ă%xŹÝďěNŮ ň¶ň:yżŘŰOđ ~,täÂL“ż Ó<îčIÜ!׊éąë$~ľ6ń¸ł2SVĆ|Ş+ŃÔĄX€KóéúĆë;ĽD&Ëc(±&ř‘hůĚ×wˇ¦˝“niŞo9;F:ry¦VΫĎ`Ő3,äShą§;˘ŃĘçnĐ :˝ü¤ˇłÇ ´ŚI×PłcîhâGm‹•5]Đ3š+i÷Ŕůb`|‚v„s š[Ý3Ëă\…–@R0ZßŢe©2©ëčš„ S- ëë;ĹÍ{vGÄJ`ÄŮň_Ň'î ş-Ű33üsI¬¬&| 3ËÁCކŽÄkdřęG|b–WĚąRU…Ą'*y¦4MĚ BD™Í»2¬ećj"¨0µŚPGtôµ|Zšc*§kŚĺÇ+ŮT]ŰzNß ¨“0ß9'#tňô°c.Ž°Ýt…sčŔG¬ÄK¬ÄݬĽË ŹÓć¬ăYf“4üđÁ´ÜLóq3Čy'ň óÉatUŕ}öđŘ`WÓ•stzą>1Ő¤.2CËMv˙°é:ĘQµĆ*§ńY8ë,ěă´CTŽŕPfy?_Âiä•*Ď«0(e@“c4fĆë”*@ĆĆťżČűŕ r3—ňŞ ŕ‰N~—"ďŢ]ÓŇB÷öň7EůC ťĺ—«\¬ÍŚ­ś}?žĂ˘g…˝A §˙>üŮĹ;®Oüo¬FřćťžÁőę_tţëĎÓŠA´řťňęţţ&9ř„ ŽŽŢ9úÝ­ÓGčÁi+–רĽ˙şëh_ĎÍ;˝â@‘&Z$ĄsňČͳх¦^ÎŢęńďˇůŢŽ‚ö•×ęď ţsęK¸Ŕ•$ôń€o -ňrC+‘ăäf]»XÓ3LÇ oÄcŃÚŽÁy $çfefi´˛t9 ·|ŤÔÜ°43µ gĘŰů]߇ȏ±öŐřOs<řĹü& íô䉊SĺEE'ëŠk‹Ęi)5Ä1 QřKvRZ–!Ë')°š·­šđ;‘V.‘Ü6˙€)®ńżśăq¸ŠJ?%ĄgE”-€~0ŕéóî)đµË«ÍÓż߯;"Łă†¸ÔKΊ ?vvÜäěČ{ˡĽ˝öň38W*·pĂ ¶ÍH'ť…Ăpü†ŤůMY¤Đ2®ëşz‹‚?ŠO.n’ŃŞşÔâT@&ŚúŁ˝ş{Ó3Í=Ě@Oó(¸ .§ ¨Ű“O«דÂá»g>żęúx×uŹ(qjśśVĹt{ŞsWôÜď;w_ő‰Cäyb"ŁRi AZŰJ€şÝâ¶4ŕđĽőGSÂ4ę]nŻX€n/ěĺď‚ç‘ď4ôý‰@;oQČ,€fřŇf%îŃ żľÇsŹ()¨E' ‹»ž®Č*6čM9z«8R‘© €|—ś˘Ľ’Ž ćô˛áÝ` éşmKrjńi×T¦¤Ú‘(Đ>śťlą<Äô÷YFŔ<Ö5$ţBÔŢ´ŽÉ \D oś}óŰEgKľ­sXŚa˙ÉńDÚ endstream endobj 11 0 obj 1739 endobj 12 0 obj <> endobj 13 0 obj <> endobj 10 0 obj <> endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000003276 00000 n 0000006611 00000 n 0000003217 00000 n 0000003324 00000 n 0000003057 00000 n 0000000015 00000 n 0000003037 00000 n 0000003682 00000 n 0000003393 00000 n 0000005589 00000 n 0000005506 00000 n 0000005527 00000 n 0000005557 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R >> startxref 6661 %%EOF protomol/doc/UserGuide/userguide.bbl0100644027616700000500000001142510237151525017134 0ustar pbrenne1dip\begin{thebibliography}{10} \bibitem{BOOGA} Booga: Berne's object-oriented graphics architecture. \bibitem{EnBr00} Encyclop\ae dia britannica. \newblock {\tt http://www.britannica.com/}. \bibitem{Topoxx} Topology and parameter files. \newblock {\tt http://www-bmb.ijs.si/doc/top\_par/top\_par.html}. \bibitem{BHAN01} M.~Bhandarkar, R.~Brunner, A.~Dalke, J.~Gullingsrud, A.~Gursoy, W.~Humphrey, D.~Hurwitz, N.~Krawetz, M.~Nelson, J.~Phillips, A.~Shinozaki, G.~Zheng, and F.~Zhu. \newblock Namd user's guide: Version 2.3b2. \newblock page~11, 405 N. Mathews, Urbana, IL 61801, 2001. Theoretical Biophysics Group at the University of Illinos and Beckman Institute. \bibitem{BrBB01} A.~Brandt, J.~Bernholc, and K.~Binder, editors. \newblock {\em Multiscale Computational Methods in Chemistry and Physics}, volume 177 of {\em NATO Science Series: Series III Computer and Systems Sciences}. \newblock IOS Press, Amsterdam, Netherlands, Jan. 2001. \bibitem{DaYP93} T.~Darden, D.~York, and L.~Pedersen. \newblock Particle mesh {E}wald: An {N} log({N}) method for {E}wald sums in large systems. \newblock {\em J.\ Chem.\ Phys.}, 98(12):10089--10092, 1993. \bibitem{dePS80a} S.~W. de~Leeuw, J.~W. Perram, and E.~R. Smith. \newblock Simulation of electrostatic systems in periodic boundary conditions. {I}. {L}attice sums and dielectric constants. \newblock {\em Proc.\ R. Soc.\ Lond. A}, 373:27--56, 1980. \bibitem{DeHo98} M.~Deserno and C.~Holm. \newblock How to mesh up {E}wald sums. {I}. {A} theoretical and numerical comparison of various particle mesh routines. \newblock {\em J.\ Chem.\ Phys.}, 109(18):7678--7693, 1998. \bibitem{EsPB95} U.~Essmann, L.~Perera, and M.~L. Berkowitz. \newblock A smooth particle mesh {E}wald method. \newblock {\em J.\ Chem.\ Phys.}, 103(19):8577--8593, 1995. \bibitem{Ewal21} P.~Ewald. \newblock Die {B}erechnung optischer und elektrostatischer {G}itterpotentiale. \newblock {\em Ann. Phys.}, 64:253--287, 1921. \bibitem{GaSS98b} B.~Garc{\'{\i}}a-Archilla, J.~M. Sanz-Serna, and R.~D. Skeel. \newblock Long-time-step methods for oscillatory differential equations. \newblock {\em SIAM J. Sci.\ Comput.}, 20(3):930--963, 1998. \bibitem{HaAv91} R.~H. Hasse and V.~V. Avilov. \newblock Structure and {M}andelung energy of spherical {C}oulomb crystals. \newblock {\em Phys.\ Rev.\ A}, 44(7):4506--4515, 1991. \bibitem{HoEa81} R.~W. Hockney and J.~W. Eastwood. \newblock {\em Computer Simulation Using Particles}. \newblock McGraw-Hill, New York, 1981. \bibitem{IzagCar00} J.~A. Izaguirre. \newblock Efficient multiscale molly integrators for biomolecular simulations. \newblock {\tt http://www.cse.nd.edu/~izaguirr/career/node6.html}. \bibitem{Izag99} J.~A. Izaguirre. \newblock {\em Longer Time Steps for Molecular Dynamics}. \newblock PhD thesis, University of Illinois at Urbana-Champaign, Urbana, Illinois, USA, 1999. \bibitem{Izag99b} J.~A. Izaguirre. \newblock {\em Longer Time Steps for Molecular Dynamics}. \newblock PhD thesis, University of Illinois at Urbana-Champaign, 1999. \newblock Also UIUC Technical Report UIUCDCS-R-99-2107. Available online via \texttt{http://www.cs.uiuc.edu/research/tech-reports.html}. \bibitem{IzMa01} J.~A. Izaguirre and T.~Matthey. \newblock {\small \texttt{http://sourceforge.net/projects/protomol}}, 2001. \newblock User Guide 1.05: ProtoMol: An Object-Oriented Molecular Dynamics Framework. \bibitem{IZAG98} J.~A. Izaguirre, S.~Reich, and R.~D. Skeel. \newblock Longer time steps for molecular dynamics. \newblock {\em J.\ Chem.\ Phys.} \newblock Submitted. \bibitem{IzRS99} J.~A. Izaguirre, S.~Reich, and R.~D. Skeel. \newblock Longer time steps for molecular dynamics. \newblock {\em J.\ Chem.\ Phys.}, 110(19):9853--9864, 1999. \bibitem{Matt02} Thierry Matthey. \newblock {\em Framework Design, Parallelization and Force Computation in Molecular Dynamics}. \newblock PhD thesis, University of Bergen, Bergen, Norway, 2002. \bibitem{NELS96} M.~Nelson, W.~Humphrey, A.~Gursoy, A.~Dalke, L.~Kal{\'e}, R.~D. Skeel, and K.~Schulten. \newblock {NAMD} -- {A} parallel, object-oriented molecular dynamics program. \newblock {\em Int.\ J.\ Supercomput.\ Appl.\ High Perform.\ Comput.}, 10(4):251--268, 1996. \bibitem{Reic98} S.~Reich. \newblock Dynamical systems, numerical integration, and exponentially small estimates, 1998. \newblock Habilitation Thesis. \bibitem{SaCa94} J.~M. San{z-S}erna and M.~P. Calvo. \newblock {\em Numerical {H}amiltonian Problems}. \newblock Chapman and Hall, London, 1994. \bibitem{Schi93} J.~P. Schiffer. \newblock Phase transitions in anisotropically confined ionic crystals. \newblock {\em Phys. Rev. Lett.}, 70(6):818--821, 1993. \bibitem{SkTH02} R.~D. Skeel, I.~Tezcan, and D.~J. Hardy. \newblock Multiple grid methods for classical molecular dynamics. \newblock {\em J.\ Comp.\ Chem.}, 23(6):673--684, 2002. \end{thebibliography} protomol/doc/UserGuide/userguide.tex0100644027616700000500000037704710237151525017214 0ustar pbrenne1dip\documentclass[11pt]{report} \usepackage{fullpage} \usepackage{graphicx} %\usepackage{longtable} %\usepackage{multirow} \usepackage{psfig} \usepackage{amsmath} %\usepackage{amsthm} %\usepackage{amsfonts} %\usepackage{amssymb} \usepackage{times} \newcommand{\comment}[1]{\textit{\small {#1}}} \newcommand{\cpp}{C\texttt{++}\ } \newcommand{\tcl}{\textsc{Tcl\ }} \newcommand{\ProtoMol}{\textsc{ProtoMol }} \newcommand{\SamdII}{\textsc{Samd 2\ }} \newcommand{\MOLLY}{\textsc{MOLLY\ }} \newcommand{\tempstart}{\texttt{<}} \newcommand{\tempend}{\texttt{>}} \newcommand{\rij}{\mbox{r$_{ij}$}} \newcommand{\rik}{\mbox{r$_{ik}$}} \newcommand{\vrij}{\mbox{$\vec{r}_{ij}$}} \newcommand{\Si}[1]{\mbox{Si$_{#1}$}} \newcommand{\Vr}[1]{\mbox{$\vec{r}_{#1}$}} \newcommand{\Vx}[1]{\mbox{$\vec{x}_{#1}$}} \newcommand{\Vv}[1]{\mbox{$\vec{v}_{#1}$}} \newcommand{\hatr}[1]{\mbox{$\hat{{r}_{#1}}$}} \newcommand{\hatv}[1]{\mbox{$\hat{{v}_{#1}}$}} \newcommand{\AbsVr}[1]{\mbox{$\left| \vec{r}_{#1} \right| $}} \newcommand{\AbsVv}[1]{\mbox{$\left| \vec{v}_{#1} \right| $}} \providecommand{\textinmath}[1]{\mbox{#1}} \providecommand{\ttsmall}[1]{\texttt{\small\mbox{#1}}} \renewcommand{\labelenumiii}{\arabic{enumiii}.} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \author{ \begin{tabular}{cc} Jes\'{u}s A. Izaguirre & Thierry Matthey \\ Department of Computer Science & Department of Informatics\\ University of Notre Dame & University of Bergen \\ USA & Norway \\ {\it izaguirr@cse.nd.edu} & {\it matthey@ii.uib.no} \\ & \end{tabular}\\ \\ \\ \centerline{\ttsmall{http://www.nd.edu/\~{ }lcls}}\\ \centerline{\it protomol@cse.nd.edu}\\ ~\\ \\ \centerline{Contributors from University of Notre Dame:}\\ \\ \\ \centerline{Atul Bahel}\\ \\ \\ \centerline{Trevor Cickovski}\\ \centerline{Scott Hampton}\\ \centerline{Hong Hu}\\ \centerline{Qun Ma}\\ \centerline{Branden Moore}\\ \centerline{Thomas Slabach}\\ \centerline{Jeffrey Stine}\\ \centerline{George Viamontes}\\ \centerline{Jeremiah Willcock}\\ ~\\ \\ \\ \centerline{Edited by:} \\ \\ \centerline{Jim Bilek} \\ \\ } \title{\ProtoMol Version 2.0.3 - User Guide} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} \maketitle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{abstract} This user guide details the operation and key features of the \ProtoMol program. \ProtoMol is designed to be an important tool for Molecular Dynamics (MD) simulations. With a simple configuration setup, compatibility with other popular MD file formats, and the ability to run on parallel systems, Protomol combines high performance and ease of use. \\ The user guide begins with a short introduction to the useful features of \ProtoMol and follows with the necessary setup and commands needed to run the software. Also included is information on getting \ProtoMol up and running on parallel systems, procedures for integration with VMD, and instructions on how to download and install the latest version. Finally, the appendices provide some background on Molecular Dynamics and the license for the use of this software. \end{abstract} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter*{Acknowledgements} \begin{itemize} \item Special thanks to the Center For Applied Mathematics at the University of Notre Dame for helping to fund researchers on the project. \item Parts of the development were performed at the Norwegian super-computing facilities in Bergen through a Norges Forskningsr\aa d grant. \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \tableofcontents %\listoftables \listoffigures %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Introduction} Molecular Dynamics (MD) describes a molecular system as a function of time based on integration of equations of motion and interacting forces. The most computationally expensive part is the force calculation among the atoms. There have been many implementations to solve one given problem very efficiently, but they usually have a lack of flexibility when trying to implement new methods or approaches to solve the problem. What \ProtoMol provides is a generic, object-oriented component framework for MD simulations. To meet these high performance expectations, \ProtoMol uses cell algorithms, grid techniques and well-optimized libraries to challenge the most computationally expensive forces. The design of \ProtoMol also includes parallelization, based on components to distribute the work and data. The approach follows an incremental and partial parallelization scheme, which allows the developer to start with a sequential implementation and then do step by step parallelization. \\ The overall framework of \ProtoMol is designed for non-bonded, bonded, short-range and long-range forces for systems with tens of thousands of atoms representing water and several large molecules. It is designed for high flexibility, ease in extension and maintainence, and high performance demands. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Useful Features} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Compatibility with two versions of CHARMM} CHARMM is a program developed for the purposes of conducting MD simulations (for more information, see \ttsmall {http://www.lobos.nih.gov/Charmm}). Files generated by CHARMM can provide initial information that \ProtoMol needs to run. However, there have been several new versions of CHARMM released throughout its history, and thus some different file formats. \ProtoMol is compatible with both CHARMM version 19 and the most recent version as of this release, CHARMM version 28a2. By covering both of these versions, \ProtoMol covers all possible formats of the files that it needs and thus provides more flexibility for its users. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Force field} \ProtoMol supports force fields in the same format that CHARMM uses, including bonded interactions between groups of 2 (bonds), 3 (angles), and 4 (dihedrals and impropers) atoms, as well as electrostatic and van der Waals nonbonded interactions. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Multiple time-stepping} Multiple time-stepping is a useful technique for cost reduction of calculating long-range electrostatic forces. The idea behind multiple time-stepping is to compute at every timestep bonded, van der Waals and short-range electrostatic forces, while computing long-range electrostatic forces less often. Overtime this will result in improved efficiency because the cost for computing electrostatic interactions will be amortized over the number of timesteps to be run in the simulation~\cite{BHAN01}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Fast electrostatic computations} Efficient electrostatic force evaluation algorithms such as plain Multi Grid (MG)~\cite{BrBB01,SkTH02,Matt02}, Ewald~\cite{Ewal21,dePS80a} and Particle Mesh Ewald (PME)~\cite{DeHo98,HoEa81,DaYP93,EsPB95} are supported by \ProtoMol . The plain Ewald, for example, is able to compute electrostatic forces with a complexity of \begin{math} O(N^{3/2}) \end{math}, and even PME algorithm has a complexity of \begin{math} O(N log N) \end{math} in computing these forces, where MG has complextiy of \begin{math} O(N) \end{math}. These algorithms are improvements over the usual quadratic complexity~\cite{BHAN01} for the direct method. For more details can be found in~\cite{Matt02}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Comparison of force algorithms} \ProtoMol is able to compare forces measuring the error and the time; e.g. an exact algorithm with a fast approximation. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Hybrid Monte Carlo sampling} The Hybrid Monte Carlo algorithm is one of the most popular techniques of molecular sampling used today. \ProtoMol has been made to support this algorithm. The benefits of this algorithm over many others, including conventional Monte Carlo, include: conservation of energy is not required, longer timesteps are used, and global update of the configuration file is allowed with a reasonable acceptance ratio. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Ability to interact with VMD} VMD is a program developed by the University of Illinois that is used for displaying large biomolecular systems in three dimensions. \ProtoMol is conveniently able to interact with this useful program. For more information, see:\\ \\ \ttsmall{http://www.ks.uiuc.edu/Research/vmd} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Ability to run on parallel machines} The most computationally expensive part of an MD simulation is force evaluation between atoms. Because so much computing power is required for the force evaluation of large systems, {\it i.e.,} 5000 atoms or more, the ability to run MD simulations on parallel machines will hold a large advantage with regard to speed. \ProtoMol has been designed to take advantage of parallel computing in running MD simulations. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Getting Started} This chapter will introduce the commands and settings needed to run \ProtoMol. Included are the exact formats of the command line on a UNIX machine and the configuration file containing all initial information to run the MD simulation. In Chapter 4 we will show three sample configuration files. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Command Line} The MD application of the \ProtoMol framework has conveniently been named \ttsmall{protomol}. At a UNIX prompt, a user types \ttsmall{protomol} followed by an alternating list of keywords and arguments (see section \ref{sec:keywordtable} for a list of keywords). Thus, the general format for the \ProtoMol execution command is the following:\\ \\ \ttsmall{protomol [--keyword1} {\it value1} \ttsmall{] [--keyword2} {\it value2} \ttsmall{] [--keyword3} {\it value3} \ttsmall{] .......}\\ {\it Note that keywords must be preceded by two dashes, where a value can be a list of values - e.g. for the keyword CellBasisVector1. Also note that any keyword-value pair specified on the command line overrides any according pair in the configuration file.}\\ The user may also specify any of these keywords and values in the configuration file that he or she is using. However, {\it either the exact pathname of the configuration file being used for running \ProtoMol, or the exact pathname of the prefix of all initial data files (configuration files, PDB\footnote{If an input file prefix is used, PDB format is assumed for the initial coordinate and velocity data files. XYZ format may be used but the exact filename must be specified (i.e. no input file prefix).}coordinate and velocity data files, PSF topology files, and CHARMM parameter files) must be specified on the command line}. For example, the configuration file can be specified one of the following ways: \\ \ttsmall{protomol [--config] ......}\\ {\it The }\ttsmall{--config} {\it keyword can be omitted if the configuration file is the first thing specified.}\\ \ttsmall{\indent protomol ..... --config .....} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Help Option} A user may type one of the following two possibilities at a UNIX prompt for help with the \ProtoMol command line: \\ \begin{enumerate} \item \ttsmall{protomol -h} \item \ttsmall{protomol --help} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Man Option} \ProtoMol supports man alike command to query options and meaning of a keyword: \\ \begin{enumerate} \item \ttsmall{protomol -m } \item \ttsmall{protomol --man } \end{enumerate} All registered keywords of \ProtoMol: \\ \begin{enumerate} \item \ttsmall{protomol -m --keywords} \item \ttsmall{protomol --man --keywords} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Version Option} The actual version of \ProtoMol : \\ \begin{enumerate} \item \ttsmall{protomol -v} \item \ttsmall{protomol --version} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Force Option} Output of all actually supported forces in \ProtoMol : \\ \begin{enumerate} \item \ttsmall{protomol -f} \item \ttsmall{protomol --forces} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Constant Option} Output of numerical constants : \\ \begin{enumerate} \item \ttsmall{protomol -c} \item \ttsmall{protomol --constants} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Integrator Option} Output of all actually supported integrators in \ProtoMol : \\ \begin{enumerate} \item \ttsmall{protomol -i} \item \ttsmall{protomol --integrators} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Output Option} Output of all actually supported output possibilities in \ProtoMol : \\ \begin{enumerate} \item \ttsmall{protomol -o} \item \ttsmall{protomol --outputs} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Topology Option} Output of all actually supported output topologies and theis parameters in \ProtoMol : \\ \begin{enumerate} \item \ttsmall{protomol -t} \item \ttsmall{protomol --topologies} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Keyword Option} Output of all actually supported keywords their default values and aliases in the configuration file: \\ \begin{enumerate} \item \ttsmall{protomol -k} \item \ttsmall{protomol --keywords} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Units Option} Output of \ProtoMol units : \\ \begin{enumerate} \item \ttsmall{protomol -c} \item \ttsmall{protomol --constants} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Configuration File} The configuration file is a text file containing a collection of keyword-value pairs specifying the simulation configuration, I/O files and formats, and the definition of the integrator scheme. If an input file prefix is specified on the commandline, the configuration file will be assumed to be that file prefix concatenated with the \tempstart .conf\tempend suffix. When using the full name extensions, \tempstart .conf\tempend is the suffix of the configuration files. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Format of \ProtoMol keywords in the configuration file} The configuration file format for \ProtoMol is quite simple, making it convenient for creation and modification of the file. The advantage of straightforward modification of the configuration file is that the user can very easily switch between running the same molecule under different initial conditions, or even switch to a different molecule without much trouble. The general format for a \ProtoMol configuration file is a list of keywords and values, with whitespace between each keyword and value and a newline between each new keyword-value pair: \newline \newline {\bf keyword1}{\it \indent value1}\\ {\bf \indent keyword2}{\it \indent value2}\\ {\bf \indent keyword3}{\it \indent value3}\\ {\bf \indent \indent \indent \indent .}\\ {\bf \indent \indent \indent \indent .}\\ {\bf \indent \indent \indent \indent .}\\ \newline {\it A list of \ProtoMol keywords, possible values and defaults can be found in section \ref{sec:keywordtable}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Format of the integrator and their arguments} In addition to the keyword-value pairs in the configuration file, one must set up an integrator in the following manner: \clearpage {\bf Integrator \{}\\ {\bf \indent \indent level N-1} \tempstart integrator type\tempend {\bf \{}\\ {\indent \indent \indent \tempstart integrator arguments\tempend } {\it (These will differ depending on the integrator type). }\\ { \indent \indent \indent \tempstart integrator forces\tempend } {\it (These are all optional). }\\ {\bf \indent \indent \} }\\ {\bf \indent \indent .}\\ {\bf \indent \indent .}\\ {\bf \indent \indent .}\\ \\ {\bf \indent \indent level 0} \tempstart integrator type\tempend {\bf \{}\\ {\bf \indent \indent \indent .}\\ {\bf \indent \indent \indent .}\\ {\bf \indent \indent \indent .}\\ {\bf \indent \indent \} }\\ {\bf \indent \}}\\ \\ Note that the order of definition for each level is not strict, but \ProtoMol expects one definition for each level. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsubsection{Integrator Types} \begin{itemize} \item Multiple Timestep Integrators \begin{enumerate} \item {\bf BSplineMOLLY} \item {\bf DMDLeapfrog} \item {\bf EquilibriumMOLLY} \item {\bf HBondMOLLY} \item {\bf HybridMC} {\it (Hybrid Monte Carlo Integrator)} \item {\bf Impulse} \end{enumerate} \item Single Timestep Integrators \begin{enumerate} \item {\bf BBK} \item {\bf LangevinImpulse} \item {\bf Leapfrog } {\it (Velocity Leap-Frog Integrator)} \item {\bf NoseNVTLeapfrog} \item {\bf PLeapfrog } {\it (Position Leap-Frog Integrator)} \end{enumerate} \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \clearpage \subsubsection{Integrator Argument Types} \begin{enumerate} \item {\bf Impulse} \begin{list}{~} \item {\bf cyclelength} \tempstart length of cycle (integer)\tempend \end{list} \item {\bf HybridMC}: \begin{list}{~} \item {\bf cyclelength} \tempstart length of cycle (integer)\tempend \item {\bf warmupcycles} \tempstart number of warm-up cycles (integer)\tempend \item {\bf temperature} \tempstart Kelvin temperature (float)\tempend \item {\bf randomCycLen} \tempstart Use a random adjustment to cyclelength (bool)\tempend \end{list} \item {\bf EquilibriumMOLLY} \begin{list}{~} \item {\bf cyclelength} \tempstart length of cycle (integer)\tempend \end{list} \item {\bf BSplineMOLLY} \begin{list}{~} \item {\bf cyclelength} \tempstart length of cycle (integer)\tempend \item {\bf BSplineType} \tempstart {superShort$|$extraShort$|$short$|$shortLinear$|$long$|$longLinear$|$longQuadratic}\tempend \item {\bf BSplineMollyForceType} \tempstart {Bond$|$Angle$|$Bond+Angle}\tempend \end{list} \item {\bf HBondMOLLY} \begin{list}{~} \item {\bf cyclelength} \tempstart length of cycle (integer)\tempend \item {\bf BSplineType} \tempstart {superShort$|$extraShort$|$short$|$shortLinear$|$long$|$longLinear$|$longQuadratic}\tempend \item {\bf HBondMollyForceType} \tempstart {Bond+Angle+LJ$|$Bond+Angle+LJ+Coulomb}\tempend \item {\bf mollifyNonbondedRangeFrom} \tempstart starting point (float)\tempend \item {\bf mollifyNonbondedRangeTo} \tempstart ending point (float)\tempend \item {\bf SWon} \tempstart point (float)\tempend \item {\bf cutoff} \tempstart cutoff point (float)\tempend \end{list} \item {\bf Leapfrog} \begin{list}{~} \item {\bf timestep} \tempstart length of step (float)\tempend \end{list} \item {\bf PLeapfrog} \begin{list}{~} \item {\bf timestep} \tempstart length of step (float)\tempend \end{list} \item {\bf NoseNVTLeapfrog} \begin{list}{~} \item {\bf timestep} \tempstart length of step (float)\tempend \item {\bf temperature} \tempstart Kelvin temperature (float)\tempend \item {\bf thermal} \tempstart thermal inertia (float)\tempend \end{list} \item {\bf BBK} \begin{list}{~} \item {\bf timestep} \tempstart length of step (float)\tempend \item {\bf temperature} \tempstart Kelvin temperature (float)\tempend \item {\bf gamma} \tempstart gamma (float)\tempend \item {\bf seed} \tempstart random seed (integer)\tempend \end{list} \item {\bf LangevinImpulse} \begin{list}{~} \item {\bf timestep} \tempstart length of step (float)\tempend \item {\bf temperature} \tempstart Kelvin temperature (float)\tempend \item {\bf gamma} \tempstart gamma (float)\tempend \item {\bf seed} \tempstart random seed (integer)\tempend \end{list} \item {\bf DMDLeapfrog} \begin{list}{~} \item {\bf cyclelength} \tempstart length of cycle (integer)\tempend \item {\bf temperature} \tempstart Kelvin temperature (float)\tempend \item {\bf gamma} \tempstart gamma (float)\tempend \item {\bf numIter} \tempstart number of iterations (integer)\tempend \end{list} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsubsection{General Format of Integrator Forces} {\bf force} \tempstart force1 type\tempend \\ \indent \tempstart force1 arguments\tempend \\ {\bf force} \tempstart force2 type\tempend \\ \indent \tempstart force2 arguments\tempend \\ {\bf force} \tempstart force3 type\tempend \\ \indent \tempstart force3 arguments\tempend \\ $\dots$\\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsubsection{Force Comparison and Timing} At present, pairs of forces can be compared to determine energy and force errors of new force methods. The comparison is performed on-the-fly, such that the reference force does not affect the current simulation..\\ \noindent {\bf force compare} \tempstart force\_approximation type\tempend \\ \indent \tempstart force\_approximation arguments\tempend \\ {\bf force compare} \tempstart force\_exact type\tempend \\ \indent \tempstart force\_exact arguments\tempend \\ For the benchmarking of forces a timer, function is provided to measure the total and average time spent in dedicated force methods. \\ \noindent {\bf force time} \tempstart force\_to\_benchmark type\tempend \\ Both comparisons functions can be nested to evaluate accuracy and run-time performance simultaneously.\\ \noindent {\bf force compare time} \tempstart force\_approximation type\tempend \\ \indent \tempstart force\_approximation arguments\tempend \\ {\bf force compare time} \tempstart force\_exact type\tempend \\ \indent \tempstart force\_exact arguments\tempend \\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newpage \subsection{Format of forces and their arguments} \begin{enumerate} \item Bonded Forces \begin{enumerate} \item {\bf Bond} - force on each of two atoms caused by a linear bond between them.\\ Arguments: None \item {\bf Angle} - force on each of three atoms caused by an angular bond between them.\\ Arguments: None \item {\bf Dihedral} - force on each of four atoms caused by the interaction between them. {\it In an arrangement of four bonded atoms A-B-C-D, rotation occurs around the center covalent bond (B-C) - this is what dihedrals describe. ~\cite{Topoxx}}\\ Arguments: None \item {\bf Improper} - force on each of four atoms caused by the interaction between them. {\it Impropers are like dihedrals but the atoms are not necessarily covalently attached in the pattern given. ~\cite{Topoxx}\\} Arguments: None \end{enumerate} \item Nonbonded Forces \begin{enumerate} \item {\bf LennardJones} - van der Waals forces\\ Arguments: \begin{enumerate} \item {\bf -algorithm} \tempstart \\ NonbondedFull$|$ {\it (Direct method over several images (cutoff), only for periodic boundary condtions)}\\ NonbondedSimpleFull$|$ {\it (Direct method, no switching function required)}\\ NonbondedCutoff\tempend {\it (Uses a cutoff)} \item {\bf -switchingfunction} \tempstart \\ $[$Complement$]$Cutoff$|$ {\it (Simple cutoff)}\\ $[$Complement$]$Shift$|$ {\it (Cutoff and shift)} \\ $[$Complement$]$C2 {\it (Continuous second derivative)}$|$\\ $[$Complement$]$C1 {\it (Continuous first derivative)}$|$\\ Universal\tempend {\it (This is the default)} \item {\bf -cutoff} \tempstart cutoff point (float)\tempend {\it (This is not necessary if using a universal switching function or NonbondedSimpleFull)} \item {\bf -switchon} \tempstart switchon (float)\tempend {\it (Only for C2 switching function)} \item {\bf -blocksize} \tempstart integer (default is 64)\tempend {\it (This is not necessary if using NonbondedCutoff)} \end{enumerate} \item {\bf Coulomb} - interaction of particles due to electric charge\\ Arguments: Same as LennardJones \\ \\ {\it Note: for optimization purposes, LennardJones and Coulomb forces can be combined if the same algorithm and switching function is desired, as shown in the sample integration scheme on the following page.\\ \ProtoMol may not recognize all possible combination since they may already be covered by others, e.g {-algorithm} NonbondedSimpleFull and an arbitrary switching function (not Universal) is equivalent (and faster) with NonbondedCuttoff. To see what sort of forces are supported type \ttsmall{protomol -f}.} \end{enumerate} \newpage \item Fast electrostatic Forces \begin{enumerate} \item {\bf Coulomb} - Coulomb force using a plain Ewald summation\\ Arguments: \begin{enumerate} \item {\bf -algorithm} FullEwald \item {\bf -real} {\it (Real-space part of the Ewald sum)} \item {\bf -reciprocal} {\it (Reciprocal-space part of the Ewald sum)} \item {\bf -correction} {\it (Point self-, intra-molecular self-, charged system and surface dipole (omitted for the moment) part of the Ewald sum)} \item {\bf -alpha} \tempstart $\alpha$ (float)\tempend {\it (Splitting parameter of the Ewald sum (default: optimal splitting))} \item {\bf -accuracy} \tempstart accuracy (float)\tempend {\it (Splitting parameter of the Ewald sum (default $1e-5$))} \item {\bf -j} \tempstart expansion factor (float)\tempend {\it (This is only necessary for vacuum boundary conditions (default $3$)} \item {\bf -switchingfunction} \tempstart \\ $[$Complement$]$Cutoff$|$ {\it (This is the default, simple cutoff)}\\ $[$Complement$]$Shift$|$ {\it (Cutoff and shift)} \\ $[$Complement$]$C2 {\it (Continuous second derivative)}$|$\\ $[$Complement$]$C1 {\it (Continuous first derivative)} \item {\bf -switchon} \tempstart switchon (float)\tempend {\it (Only for C2 switching function)} \end{enumerate} \item {\bf Coulomb} - Coulomb force using the Particle Mesh Ewald method\\ Arguments: \begin{enumerate} \item {\bf -algorithm} PMEwald \item {\bf -real} {\it (Real-space part of the Ewald sum)} \item {\bf -reciprocal} {\it (Reciprocal-space part of the Ewald sum)} \item {\bf -correction} {\it (Point self-, intra-molecular self-, charged system and surface dipole (omitted for the moment) part of the Ewald sum)} \item {\bf -interpolation } \tempstart BSpline$|$Hermite$|$Lagrange\tempend \item {\bf -gridsize} \tempstart nx (integer)\tempend \tempstart ny (integer)\tempend \tempstart nz (integer)\tempend \item {\bf -cutoff} \tempstart cutoff (float)\tempend {\it (Cutoff of the Real-space term of the Ewald sum)} \item {\bf -order} \tempstart order (integer)\tempend {\it (Interpolation order (default 4 ($=$qubic)))} \item {\bf -accuracy} \tempstart accuracy (float)\tempend {\it (Splitting parameter of the Ewald sum (default $1e-6$))} \item {\bf -alpha} \tempstart $\alpha$ (float)\tempend {\it (Splitting parameter of the Ewald sum (default: optimal splitting))} \item {\bf -j} \tempstart expansion factor(float)\tempend {\it (This is only necessary for vacuum boundary conditions (default $3$))} \item {\bf -switchingfunction} \tempstart \\ $[$Complement$]$Cutoff$|$ {\it (This is the default, simple cutoff)}\\ $[$Complement$]$Shift$|$ {\it (Cutoff and shift)} \\ $[$Complement$]$C2 {\it (Continuous second derivative)}$|$\\ $[$Complement$]$C1 {\it (Continuous first derivative)} \item {\bf -switchon} \tempstart switchon (float)\tempend {\it (Only for C2 switching function)} \end{enumerate} \newpage \item {\bf Coulomb} - Coulomb force using multigrid method\\ Arguments: \begin{enumerate} \item {\bf -algorithm} MultiGrid \item {\bf -direct} {\it (Direct part)} \item {\bf -smooth} {\it (Smooth part)} \item {\bf -interpolation } \tempstart BSpline$|$Hermite$|$Lagrange\tempend \item {\bf -kernel } \tempstart C1$|$C2$|$C3$|$C4\tempend \item {\bf -toplevel} \tempstart nx (integer)\tempend \tempstart ny (integer)\tempend \tempstart nz (integer)\tempend {\it (Number of grid points of the coarsest grid, only used for periodic boundary conditions)} \item {\bf -levles} \tempstart number of levels (integer)\tempend {\it (\tempend 0)} \item {\bf -s} \tempstart softening distance (float)\tempend \item {\bf -order} \tempstart order (integer)\tempend {\it (Interpolation order (default 4 ($=$qubic)))} \item {\bf -ratio} \tempstart grid ratio fine-coarse (float)\tempend \item {\bf -h} \tempstart x (float)\tempend \tempstart y (float)\tempend \tempstart z (float)\tempend {\it (Meshsize of the finest grid, only used for vacuum boundary conditions)} \item {\bf -origin} \tempstart x (float, default 0)\tempend \tempstart y (float, default 0)\tempend \tempstart z (float, default 0)\tempend {\it (Origin of the finest grid, only used for vacuum boundary conditions)} \end{enumerate} \end{enumerate} \item Other Forces \begin{enumerate} \item {\bf Haptic} - haptic force\\ Arguments: \begin{enumerate} \item {\bf -port} \tempstart port id (integer)\tempend \item {\bf -trate} \tempstart transmission rate (integer)\tempend \item {\bf -timeout} \tempstart timeout value (integer)\tempend \item {\bf -step\_inc} \tempstart step increment value (integer)\tempend \item {\bf -wait} \tempstart wait value (integer)\tempend \end{enumerate} \item {\bf Friction} - friction force\\ Arguments: \begin{enumerate} \item {\bf -k} \tempstart friction constant (float)\tempend \item {\bf -rnd} \tempstart friction random term, default 0 (float)\tempend \end{enumerate} \item {\bf PaulTrap} - Paul trap force\cite{HaAv91,Schi93}\\ Arguments: \begin{enumerate} \item {\bf -omegaR} \tempstart $\omega _r$ (float) [fs$^{-1}$]\tempend \item {\bf -omegaZ} \tempstart $\omega _z$ (float) [fs$^{-1}$]\tempend \item {\bf -alpha} \tempstart $\alpha$ (float, default is 0.0) \tempend \item {\bf -r0} \tempstart $r_0$ (float, default is 0.0) [\AA ]\tempend \end{enumerate} \item {\bf Gravitation} - gravitation force \\ Arguments: \begin{enumerate} \item {\bf -algorithm} \tempstart NonbondedSimpleFull\tempend \item {\bf -G} \tempstart gravitation constant (float)\tempend \item {\bf -blocksize} \tempstart integer (default is 64)\tempend \end{enumerate} \newpage \item {\bf MagneticDipole} - magnetic dipole force\\ Arguments: \begin{enumerate} \item {\bf -algorithm} \tempstart NonbondedSimpleFull$|$ {\it (Direct method, no switching function required)}\\ NonbondedCutoff\tempend {\it (Uses a cutoff)} \item {\bf -switchingfunction} \tempstart \\ $[$Complement$]$Cutoff$|$ {\it (Simple cutoff)}\\ $[$Complement$]$Shift$|$ {\it (Cutoff and shift)} \\ $[$Complement$]$C1 {\it (Continuous first derivative)}$|$\\ Universal\tempend {\it (This is the default)} \item {\bf -cutoff} \tempstart cutoff point (float)\tempend {\it (This is not necessary if using a universal switching function or NonbondedSimpleFull)} \item {\bf -chi} \tempstart $\chi$ (float)\tempend {\it (Effective susceptibility of the spheres)} \item {\bf -r} \tempstart radius (float)\tempend {\it (Radius of the spheres)} \item {\bf -omega} \tempstart $\omega$ (float)\tempend {\it (Angular frequency of the spheres)} \item {\bf -phi} \tempstart $\phi$ (float)\tempend {\it (Initial angel of the field)} \item {\bf -H} \tempstart x (float)\tempend \tempstart y (float)\tempend \tempstart z (float)\tempend {\it (Magnetic flux-density in x, y and z-direction)} \item {\bf -d} \tempstart (float)\tempend {\it (Separation between boundaries (glass-plates, 0.0 turns mirroreffects off)} \item {\bf -blocksize} \tempstart integer (default is 64)\tempend {\it (This is not necessary if using NonbondedCutoff)} \end{enumerate} \item {\bf MagneticDipoleMirror} - magnetic miror force\\ Arguments: \begin{enumerate} \item {\bf -chi} \tempstart $\chi$ (float)\tempend {\it (Effective susceptibility of the spheres)} \item {\bf -r} \tempstart radius (float)\tempend {\it (Radius of the spheres)} \item {\bf -H} \tempstart x (float)\tempend \tempstart y (float)\tempend \tempstart z (float)\tempend {\it (Magnetic flux-density in x, y and z-direction)} \item {\bf -d} \tempstart (float)\tempend {\it (Separation between boundaries (glass-plates, 0.0 turns mirroreffects off)} \end{enumerate} \item {\bf Spherical} - spherical force/ boundary conditions\\ Arguments: \begin{enumerate} \item {\bf -center} \tempstart x (float)\tempend \tempstart y (float)\tempend \tempstart z (float)\tempend {\it (Center of the spherical boundary )} \item {\bf -radius} \tempstart radius (float)\tempend {\it (Radius of the spherical boundary)} \item {\bf -k} \tempstart force (float)\tempend {\it (Force constant)} \item {\bf -j} \tempstart exponent (integer)\tempend {\it (Exponent for the potential function)} \end{enumerate} \end{enumerate} \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newpage \subsection{Sample Three-Level Multiple Time-Stepping Integration Scheme} \begin{verbatim} Integrator { level 2 BSplineMOLLY { cyclelength 2 BSplineType long BSplineMollyForceType Bond+Angle force Coulomb -algorithm NonbondedSimpleFull -switchingfunction ComplementC1 -cutoff 6.5 -blocksize 64 } level 1 Impulse { cyclelength 3 force Bond force Angle force LennardJones Coulomb -algorithm NonbondedCutoff -switchingfunction C2 -cutoff 7.5 -switchon 1.0 -blocksize 32 } level 0 LeapFrog { timestep 1 force Bond force Angle force Dihedral force Improper } } \end{verbatim} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Sample of Force Comparison between PME and plain Ewald} \begin{verbatim} force compare Coulomb -algorithm PMEwald -real -reciprocal -correction -interpolation BSpline -gridsize 8 8 8 -order 4 -cutoff 6.5 force compare Coulomb -algorithm FullEwald -real -reciprocal -correction \end{verbatim} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Sample of Force Comparison and Benchmarking PME with Different Accuracy} \begin{verbatim} force compare time force Coulomb -algorithm PMEwald -real -reciprocal -correction -interpolation BSpline -cutoff 6.5 -gridsize 10 10 10 force compare time force Coulomb -algorithm PMEwald -real -reciprocal -correction -interpolation BSpline -cutoff 6.5 -gridsize 20 20 20 force time LennardJones -algorithm NonbondedCutoff -switchingFunction C1 -cutoff 8.0 \end{verbatim} \newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{\ProtoMol keywords and descriptions} \label{sec:keywordtable} \small \begin{tabular}{|p{5.5cm}|p{4cm}|p{6cm}|}\hline Keyword and Aliases & Type & Description \\\hline\hline % Config inputfileprefix & string & Contains the full pathname of the file prefix for all initial data files. If this is specified, there is no need to specify any initial data files as long as each of them can be defined as this file prefix concatenated with the appropriate flag (.psf, .par, .pdb, .xyz). \\\hline configfile & string & Contains the full pathname of the configuration file to be used in the simulation. Note: this keyword would only be used on the command line. \\\hline\hline %Input files posfile / coordinates & string & Contains the full pathname of the initial positions file. \ProtoMol supports PDB and XYZ formatted position files. Either this or the inputfileprefix must be specified. \\\hline velfile & string & Contains the full pathname of the initial velocities file. Once again, \ProtoMol supports PDB and XYZ formats. If no initial velocity file is specified, random velocities are generated based on the initial temperature and a seed that can also be specified. Therefore one of either the velfile, inputfileprefix, or temperature needs to be specified. A seed is optional.\\\hline psffile & string & Contains the full pathname of the initial topology file in PSF format. Either this or the inputfileprefix must be specified. \\\hline parfile / parameters & string & Contains the full pathname of the initial CHARMM parameter file. Either this or the inputfileprefix must be specified. \\\hline usecharmm28parfile & boolean (default: false) & Specifies if the initial parameter file is of new CHARMM format (after CHARMM22) or old format. CHARMM28 is the most recent version of CHARMM. \\\hline\hline %Setup numsteps & integer & Specifies the number of steps for the simulation to run. \\\hline firststep & integer (default: 0) & Specifies the number of the initial timestep. \\\hline exclude & ``none'', ``1-2'', ``1-3'', ``1-4'', ``scaled1-4'' (default: ``1-3'') & Specifies nonbonded exclusions \\\hline temperature & float & Specifies the initial Kelvin temperature. \\\hline one4scaling / 1-4scaling & float (default: 1.0) & Value for 1-4 scaling, if necessary. \\\hline seed & unsigned integer & Random number seed for velocity generation. This is only used if an initial velocity is not specified, and in that case if the seed is specified as 0, it defaults to the timer. \\\hline boundaryconditions & string & \ProtoMol supports vacuum or periodic boundary conditions, specified with ``Vacuum'' or ``Periodic'', respectively. \\\hline \end{tabular} \newpage \begin{tabular}{|p{5.5cm}|p{4cm}|p{6cm}|}\hline Keyword and Aliases & Type & Description \\\hline\hline cellbasisvector1 & x y z (x, y, and z are floats) & Basis vector 1, for periodic boundaries\\\hline cellbasisvector2 & x y z (x, y, and z are floats) & Basis vector 2, for periodic boundaries\\\hline cellbasisvector3 & x y z (x, y, and z are floats) & Basis vector 3, for periodic boundaries\\\hline cellorigin & x y z (x, y, and z are floats) & Center of periodic cell, for periodic boundaries\\\hline cellmanager & string & Cell manager - current \ProtoMol only supports a cubic cell manager, specified by ``Cubic''. The reason why it needs to be specified even though there is only one option is to allow for future flexibility. \\\hline cellsize & float & Specifies the size of cell used by the cell manager. \\\hline hgroupmincutoff & float (default: 2.5)& Specifies minimal distance for a H-group \\\hline hgroupmaxcutoff & float (default: 4.0)& Specifies maximal distance for a H-group \\\hline useshadow & boolean (default: false) & Specifies if shadow Hamiltonian is applied.\\\hline extendedcoordinates & boolean (default: false) & Specifies if the user likes position outputs in extended coordinates, per default the minimal image convention is applied. \\\hline commotion & boolean & Specifies if the user would like center of mass motion removed from the velocities. \\\hline\hline %Restart restartfile & string & Contains the file prefix of the restart output files, if the user desires them. This option allows a configuration file (prefix.conf), a PDB positions file (prefix.pos.pdb), a PSF topology file (prefix.psf) and a PDB velocities file (prefix.vel.pdb) to be printed out on several occasions throughout the simulation, the exact frequency specified by restartfreq (below). This way the user can view more closely how the molecule changes throughout the simulation, rather than simply viewing initial and final data. \\\hline restartfreq & integer (default: 24000) & Specifies the frequency in timesteps for restart files to be written, if desired. This applies only if restart files are desired, but must be specified if they are. \\\hline dorestartfiles & boolean (default: false) & Specifies if the user desires restart files to be written. \\\hline \end{tabular} \newpage \begin{tabular}{|p{5.5cm}|p{4cm}|p{6cm}|}\hline Keyword and Aliases & Type & Description \\\hline\hline %Output xyzposfile & string & Contains the full pathname of the positions trajectory file in XYZ format, once again if desired. \\\hline doxyzposfile & boolean (default: false) & Specifies if the user would like an XYZ trajectory file for positions to be written. \\\hline xyzposoutputfreq & integer (default: 1) & Specifies the frequency in outputfreq of the XYZ trajectory file for positions to be written, if desired.\\\hline xyzvelfile & string & Contains the full pathname of the XYZ velocities trajectory file, if desired. \\\hline doxyzvelfile & boolean (default: false) & Specifies if the user would like an XYZ velocities trajectory file to be written. \\\hline xyzveloutputfreq & integer (default: 1) & Specifies the frequency in outputfreq of the XYZ trajectory file for velocities to be written, if desired.\\\hline dcdfile & string & Contains the full pathname of the DCD trajectory file to be written, if desired. \\\hline dodcdfile & boolean (default: false) & Specifies if the user would like a DCD trajectory file to be written. \\\hline dcdoutputfreq & integer (default: 1) & Specifies the frequency in outputfreq of the DCD trajectory file to be written, if desired.\\\hline xyzforcesfile & string & Contains the full pathname of the XYZ forces trajectory file to be written, if desired. \\\hline doxyzforcesfile & boolean (default: false) & Specifies if the user would like an XYZ forces file to be written. \\\hline xyzforcesoutputfreq & integer (default: 1) & Specifies the frequency in outputfreq of the force trajectory file to be written, if desired.\\\hline allenergiesfile & string & Contains the full pathname of the energies file to be written, again if desired. \\\hline doallenergiesfile & boolean (default: true) & Specifies if the user would like an energies file to be written, with all energies (bond, angle, dihedral... whatever was forced in the integrator section) in one file. \\\hline splitenergiesfile & string & Contains the full pathname of the split energies file prefix, if split energy files are desired. In this case, there will be different files generated for different energies attached with the appropriate flag (bond = .bond.dat, angle = .angle.dat, dihedral = .dihedral.dat, improper = .improper.dat, coulomb = .coulomb.dat, Lennard Jones = .lennardjones.dat, total = .total.dat, kinetic = .kinetic.dat, potential = .potential.dat, temperature = .temperature.dat). \\\hline dosplitenergiesfile & boolean (default: false) & Specifies if the user desires split energy output files. \\\hline \end{tabular} \newpage \begin{tabular}{|p{5.5cm}|p{4cm}|p{6cm}|}\hline Keyword and Aliases & Type & Description \\\hline\hline bsdlfile & string & Contains the full pathname of the BSDL output files, if desired. \\\hline dobsdlfile & boolean (default: false) & Specifies if BSDL output files are desired. \\\hline bsdloutputfreq & integer (default: 1) & Specifies the frequency in outputfreq of the BSDL files to be written, if desired.\\\hline dobsdlshowwater & boolean (default: true) & Specifies if water molecules should be suppressed for the output of the BSDL files. \\\hline dobsdlminimalimage & boolean (default: false) & Specifies if boundary conditions are applied for the output of the BSDL files. \\\hline dobsdlfixedsize & boolean (default: true) & Specifies if the output of the BSDL files should have same scene view. \\\hline outputfreq & integer & Specifies the frequency in timesteps for the writing of energy data to the console. \\\hline samplefile & string & Contains the full pathname of the sample file to be written, if desired. The sample file is an example output of a user implemented output routine. The actual implementation computes the diffusion and the volume.\\\hline dosamplefile & boolean (default: false) & Specifies if the user would like a sample file to be written. \\\hline sampleoutputfreq & integer (default: 1) & Specifies the frequency in outputfreq of the sample file to be written, if desired.\\\hline paulfile & string & Contains the full pathname of the Paul trap output file to be written, if desired. The output contains the kinetic energy, temperature, energy difference of Coulomb minus twice the Paul trap, and a histogram in function of the distance (position) to the origin.\\\hline dopaulfile & boolean (default: false) & Specifies if the user would like a Paul trap output file to be written. \\\hline pauloutputfreq & integer (default: 1) & Specifies the frequency in outputfreq of the Paul trap output file to be written, if desired.\\\hline paulhistsize & integer (default: 15) & Specifiesthe size of the histogram.\\\hline momentumfile & string & Contains the full pathname of the momentum output file to be written, if desired. The output contains the momentum for each dimension..\\\hline domomentumfile & boolean (default: false) & Specifies if the user would like a momentum output file to be written. \\\hline momentumoutputfreq & integer (default: 1) & Specifies the frequency in outputfreq of the tmomentum file to be written, if desired.\\\hline \end{tabular} \newpage \begin{tabular}{|p{5.5cm}|p{4cm}|p{6cm}|}\hline Keyword and Aliases & Type & Description \\\hline\hline temperaturefile & string & Contains the full pathname of the temperature output file to be written, if desired. The output contains the kinetic energy and temperature for the total system and for all oxygen.\\\hline dotemperaturefile & boolean (default: false) & Specifies if the user would like a temperature output file to be written. \\\hline temperatureoutputfreq & integer (default: 1) & Specifies the frequency in outputfreq of the temperature output file to be written, if desired.\\\hline\hline %Final output finpdbposfile & string & Contains the full pathname of the final positions file in PDB format, if the user desires. \\\hline dofinpdbposfile & boolean (default: false) & Specifies if the user would like a final PDB positions file to be written. \\\hline finxyzposfile & string & Contains the full pathname of the final positions file in XYZ format, if the user desires. \\\hline dofinxyzposfile & boolean (default: false) & Specifies if the user would like a final XYZ positions file to be written. \\\hline\hline finpdbvelfile & string & Contains the full pathname of the final PDB velocities file, if so desired. \\\hline dofinpdbvelfile & boolean (default: false) & Specifies if the user would like a final PDB velocities file to be written. \\\hline finxyzvelfile & string & Contains the full pathname of the final XYZ velocities file, if desired. \\\hline dofinxyzvelfile & boolean (default: false) & Specifies if the user would like a final XYZ velocities file to be written. \\\hline usebarrier & boolean (default: true) & Specifies if explicit synchronization (barrier) is desired before global communication. \\\hline masterslave & integer (default: 3) & Specifies if the user would like to use master-slave or static distribution. The integer defines the minimal number of nodes required for master-slave distribution. A negative number forces the usage of static distribution for any number of nodes.\\\hline parallelpipe & integer (default: 0) & Specifies if the depth of the pipe to assign work to each slave.\\\hline \end{tabular} \\ \\ \begin{itemize} \item Type boolean can be specified as yes/no or true/false. \item \ttsmall{Xfile} defines the path and the filename of the output \ttsmall{X}, where \ttsmall{doXfile} is the flag to turn on/off the output. The default of \ttsmall{doXfile} is true, if \ttsmall{Xfile} is defined, otherwise false. \item \ttsmall{Xoutputfreq} defines the output frequency in relation to \ttsmall{outputfreq}. \end{itemize} \newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Required Parameters} As mentioned earlier, the command line must contain either the full pathname of the configuration file or an input file prefix. These are the only restrictions specifically applied to the command line. \\ The following parameters MUST be specified on either the command line or in the configuration file specified on the command line (you may view Chapter 3 for a list of supported \ProtoMol files and their formats): \begin{itemize} \item One of either an initial positions file in PDB or XYZ format, or an input file prefix. \item One of an initial velocities file in PDB or XYZ format, an input file prefix, or an initial temperature. \item One of either a PSF topology file or an input file prefix. \item One of either a CHARMM Par parameters file or an input file prefix. \item If the CHARMM Par parameters file follows a version of CHARMM after version 22, USECHARMM28PARFILE must be set to true. \item If the user specifies any output files that they want written, an output frequency must be specified. \item If the user specifies that restart files are desired, both a restart frequency and restart file prefix must be specified. \item If the user specifies any specific output files that should be written, they must specify a filename. \item The number of steps for the simulation. \item A cubic cell manager and either vacuum or periodic boundary conditions. \item An integrator. \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Input and Output File Types and Formats} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Supported File Formats} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{PDB} \ProtoMol supports position and velocity files written in Protein Data Bank (PDB) format, both for input and output. This format is one of the most commonly used by other MD programs as well. The site \texttt {http://www.rcsb.org/pdb/docs/format/pdbguide2.2/part\_62.html} gives a full description of the PDB file. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{XYZ} In addition to PDB files, \ProtoMol also supports XYZ position and velocity files for input and output. There is no universal format for XYZ files. \ProtoMol will be compatible with XYZ files of the following format: \\ {\bf \it \# of atoms }\\ {\bf \it \indent \tempstart one comment\tempend }\\ \\ {\bf \it \indent atom1 x y z }\\ {\bf \it \indent atom2 x y z }\\ {\bf \it \indent atom3 x y z }\\ {\bf \it \indent \indent \indent . }\\ {\bf \it \indent \indent \indent . }\\ {\bf \it \indent \indent \indent . }\\ {\bf \it \indent \indent \indent . }\\ \newline \newline Full description of the XYZ format file:\\ \\ \ttsmall{http://hackberry.chem.trinity.edu/IJC/Text/xmolxyz.html} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{PSF} \ProtoMol supports topology files in PSF \(Protein Structure File\) format for both input and output. PSF files can be generated by CHARMM, or they can be built by hand. Generally speaking, PSF files contain information about atoms, bonds, angles, dihedrals, impropers, hydrogen donors, hydrogen acceptors, and nonbonded parameters. Information on PSF files, including their structure and how to generate, create and modify them, can be found at the following site: \\ \\ \texttt {http://www.sinica.edu.tw/\~{ }scimath/msi/insight2K/\\ charmm\_principles/Ch02\_model\_build.FM5.html\#444511} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{CHARMM Parameter Files: New and Old Versions} CHARMM parameter files are also supported by \ProtoMol for both input and output. There have been several versions of CHARMM released throughout the past two decades. With regard to the parameter file, there have been two main formats that we will refer to as ``old'' and ``new'' CHARMM parameter formats. The ``old'' format was abolished after CHARMM22 and was changed to the ``new'' format. More information on this can be found at the CHARMM website: \texttt {http://www.lobos.nih.gov/Charmm}. Future CHARMM versions may require updates if the parameter file format changes. However, chances are the parameters will stay the same. Thus it is convenient to know what exactly a parameter file holds. There are seven sections of a CHARMM parameter file, one each for bonds, angles, dihedrals, impropers, nonbondeds, nbfix and hydrogen bonds. Here are what each individual structure should contain as data members: \begin{description} \item [bonds]: bond number, two atom numbers involved, force constant and distance \item [angles]: angle number, three atom numbers involved, force constant, angle value, and the Urey-Bradley constants if they exist. \item [dihedrals]: dihedral number, four atom numbers involved, multiplicity (old), force constant, periodicity, and phase shift. \item [impropers]: improper number, four atom numbers involved, multiplicity (old), force constant, periodicity, and phase shift. \item [nonbondeds]: nonbonded number, atom number, polarizability (if applicable), epsilon (if applicable), number of effective electrons (if applicable), radius, and room for van der Waals parameters if they exist. In the new CHARMM version, whether or not polarizability exists depends on if the value read after it is negative or positive - if the next value is negative, polarizability does not exist and the first value is ignored, and the second value is epsilon. If the next value is positive, the first term is polarizability and the second term is the number of electrons. However, future formats may not be like this, and so it helps to know what needs to be stored and under what conditions. \item [nbfix]: number, two atom numbers involved, epsilon, sigma, epsilon14, sigma14 \item [hydrogen bonds]: bond number, two atom numbers involved, emin and rmin \end{description} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{DCD Trajectory Files} \ProtoMol is able to write DCD trajectory files throughout a simulation. A DCD file is binary and contains coordinate information for the atoms in the molecule being simulated. The format of a DCD file can be found at the following site: \newline \newline \texttt {http://www.arl.hpc.mil/PET/cta/ccm/software/fmd/Docs/html/fmd\_ug.html\#SEC9}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{\ProtoMol All Energy Output File } A \ProtoMol all energy file includes all different types of energy in the same file. Each row in the all energies file represents one timestep. There may be several rows of data depending on the output frequency specified in the configuration file, since that specifies the number of timesteps between data writes.\\ The format of one row is as follows, with each entry separated by whitespace: \newline \newline \tempstart time\tempend \tempstart potential energy\tempend \tempstart kinetic energy\tempend \tempstart total energy\tempend \tempstart Kelvin temperature\tempend \tempstart bond energy\tempend \tempstart angle energy\tempend \tempstart dihedral energy\tempend \tempstart improper energy\tempend \tempstart van der Waals energy\tempend \tempstart electrostatic energy\tempend \tempstart other/user defined energy types\tempend %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{\ProtoMol Split Energy Output File} If \ProtoMol split energy files are desired, ten separate files will be generated, one for each different type of energy shown above in the \ProtoMol All Energy Output File. Each file will have the same format, composed of rows of the following depending on the output frequency: \newline \newline \tempstart time\tempend \tempstart value\tempend \newline \newline where \tempstart value\tempend is the value of the appropriate energy parameter at the given time. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{BSDL File} A BSDL (BOOGA Scene Description Language) file provides a three-dimensional scene description of the simulation. BOOGA, which stands for ``Berne's Object-Oriented Graphics Architecture'' is an object-oriented graphics framework aimed at a wide range of application areas within the domain of computer graphics, providing data abstractions and mechanisms for two and three-dimensional objects as well as including a component layer to model high-level operations that generate or manipulate graphical objects of different types. ~\cite{BOOGA} \\ BSDL is the language supported by the BOOGA framework and is used to define two or three-dimensional scenes, which is very close the definition for \ttsmall{rayshade} or similar tray tracer. Most of the BOOGA-applications are capable of reading or writing BSDL files. For more information, see \ttsmall{http://www.iam.unibe.ch/\~ { }booga}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{User Specific Output} To give the user an idea how he/she can implement their own output routines, \ProtoMol provides a simple example, which in the actual implementation computes the diffusion.\\ The user may modify this example or make is his/her own implementation, which involves the source files\\ \ttsmall{framework/frontend/OutputData.h}, \ttsmall{framework/frontend/OutputData.C} and\\ \ttsmall{framework/frontend/SimulationConfiguration.C}.\\ \ttsmall{grep -i sample framework/*/*.[Ch]} will point out the locations. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Input Files} Input files are specified on the command line and/or the configuration file. The following guidelines need to be followed: \\ \\ \begin{tabular}{ll} {\bf Initial Positions File:}& PDB or XYZ format\\ {\bf Initial Velocities File:}& PDB or XYZ format\\ {\bf Topology File:}& PSF format\\ {\bf Parameter File:}& CHARMM Par format \end{tabular} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Restart Output Files} If the user desires restart files to be printed throughout the simulation, here is what will be printed every certain number of timesteps, given by the restart frequency: \\ \\ \begin{tabular}{ll} {\bf Positions File:}& PDB format - filename \tempstart restartprefix.pos.pdb\tempend \\ {\bf Velocities File:}& PDB format - filename \tempstart restartprefix.vel.pdb\tempend \\ {\bf Topology File:}& PSF format - filename \tempstart restartprefix.psf\tempend \\ {\bf Configuration File:}& \ProtoMol configuration file format - filename \tempstart restartprefix.conf\tempend \end{tabular} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{User-Specified Output Files} There are several supported types for output files, but the advantage here is that the user can have the same information printed in multiple formats if multiple formats are supported for this information, unlike the input files where there could only be one file for each different initial information type. the following are the supported formats: \\ \\ \begin{tabular}{ll} {\bf Positions File:}& PDB and XYZ format\\ {\bf Velocities File:}& PDB and XYZ format\\ {\bf Positions Trajectory File:}& XYZ and DCD format\\ {\bf Velocities Trajectory File:}& XYZ format\\ {\bf Forces File:}& XYZ format\\ {\bf All/Split Energies File:}& \ProtoMol energies file format\\ {\bf BSDL File:}& BSDL format\\ {\bf Sample File:}& Example of user defined output \end{tabular} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{\ProtoMol Units} \begin{tabular}{llll}\hline Quantity & ProtoMol Unit & SI & Comment \\\hline\\ Time & fs & $10^{-15}$ s& \\ \\ Length & \AA & $10^{-10}$ m& \\ \\ Velocity & & $10^{3} \sqrt{4.184}$ m s$^{-1}$ & PDB factor$^1$: 20.45482706\\ \\ Energy & kcal mol$^{-1}$ &$ \frac{4184}{6.022045e+23}$ J & \\ \\ Force & kcal mol$^{-1}$ \AA $^{-1}$ & $\frac{4184}{6.022045e+13}$ N & \\ \\ Mass & amu & $1.6605e-27$ Kg & \\ \\ Temperature & K & K & \\ \\ Charge & e & $1.602e-19$ C &\\ \\\hline \end{tabular} \\ $^1$ Velocities in PDB files are scaled to get a more accurate representation since the PDB format has a limited representation of floating numbers. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Output of Force Comparison} \ProtoMol provides the option to compare forces pairwise measuring the error and the time spent for each force. The output is computed as followed: \\ \\ \begin{tabular}{lcl} \hline Name & Definition & Comment \\\hline\\ absF2 & \begin{math}\max_i || F_i - \tilde{F}_i || \end{math}& \\ \\ rFavg & \begin{math}\frac{\sum_i \sqrt{\frac{|| F_i - \tilde{F}_i ||^2}{m_i}}}{\sum_i \sqrt{\frac{|| F_i ||^2}{m_i}}}\end{math} & \\ \\ rFmax & \begin{math}N \frac{\max_i \sqrt{\frac{|| F_i - \tilde{F}_i ||^2}{m_i}}}{\sum_i \sqrt{\frac{|| F_i ||^2}{m_i}}}\end{math} & $N$: number of atoms\\ \\ rPE & \begin{math}\left|\frac{E_p - \tilde{E}_p}{E_p}\right|\end{math} & $E_p$: Potential Energy\\ \\\hline \end{tabular}\\ \\ where $m_i$ is the mass of atom $i$; $F$ is the exact algorithm/ reference and $\tilde{F}$ is the approximation. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{\ProtoMol Configuration Files and Test Molecule Examples} The \ProtoMol source release includes a folder of example simulation configurations and select test molecules. Examples are organized by test molecule and each folder contains one or more simulation configuration files. To provide the user with a uniform set of example simulation configurations, the solvated BPTI test molecule with 14281 atoms includes the most robust set of configuration files. Each test molecule example include a README file which describes the origination of the molecular parameters and any preprocessing (equilibration, minimization, etc...) which has been performed. The following three subsections provide the reader with a more indepth look at representative simulation configuration files. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Alanin Configuration File with Leapfrog Integrator} \label{sec:alanin} Following is an example of a configuration file for the protein molecule alanin. In this case, \ProtoMol will run 10000 steps starting at time 0, and random velocities will be generated based on the initial temperature of 300.0 and the random seed of 1234. A cubic cell manager is used (this must be true) with a cell size of 6.5. Output files, in this case just an all energies file and a DCD trajectory file will be written every 100 timesteps. Also a final PDB position and velocity file will be written. Restart files alanin.out.pos.pdb, alanin.out.vel.pdb, alanin.out.psf and alanin.out.conf will be written every 1000 timesteps. The initial parameter file alanin.par uses the newer CHARMM format. Vacuum boundary conditions are present, and the integrator is a single-timestep leapfrog integrator, with all bonded and two nonbonded forces present. The van der Waals and electrostatic forces both use a nonbonded cutoff algorithm and have cutoffs at 6.5. The switching function for the van der Waals potential function makes the second derivative continuous at the cutoff point, while the electrostatic potential function has a continuous first derivative due to its switching function. The switchon option has been used for van der Waals (recall that it can only be used with the C2 switching function). And the haptic force is operating at port 2001, with a transmission rate of 1 and a timeout value of 1000, a step increment value of 100 and a wait value of 100, which will allow time for an IMD connection, since the haptic force allows for interaction with the program VMD (see chapter 6). \clearpage \begin{verbatim} temperature 300.0 firststep 0 numsteps 10000 cellsize 6.5 outputfreq 100 restartfreq 1000 seed 1234 posfile alanin.pdb psffile alanin.psf parfile alanin.par usecharmm28parfile yes finpdbposfile alanin.out.pos.pdb finpdbvelfile alanin.out.vel.pdb dcdfile alanin.out.dcd allenergiesfile alanin.out.energy restartfile alanin.out boundaryConditions vacuum cellManager Cubic Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -switchon 1.0 -cutoff 12 force Coulomb -algorithm NonbondedCutoff -switchingFunction C1 -cutoff 12 force Haptic -port 2001 -trate 1 -timeout 1000 -step_inc 100 -wait 100 } } \end{verbatim} \clearpage \begin{figure}[htb] \centerline{\includegraphics[width=12cm]{alanin_66.jpg}} \caption{Picture of alanin, generated by the BOOGA application \ttsmall{raytrace}. \label{fig:alanin}} \end{figure} %\begin{figure} % \centering % \includegraphics[width=5.5cm]{alanin.ps} % \caption{Picture of alanin, generated by the BOOGA application \ttsmall{raytrace}. \label{fig:alanin}} %\end{figure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{20 \AA{ }diameter water droplet With A Two-Level Integration Scheme} This sample of water is being run using a two-level integration scheme, starting with an MTS Impulse Integrator with a cycle length of 5 and finishing with an STS PLeapFrog Integrator that has a timestep of 0.5. The initial temperature is 300 and the first timestep is 0, and the simulation will be run for 200 steps. Note the cubic cell manager and periodic boundary conditions, and that all cell basis vectors have been provided. Note also that though the user specified a restart file prefix and a restart frequency, restart files will never be written because restartfreq at 1000 is higher than the total number of steps for the simulation. Output files, however, will be written, including a DCD trajectory file and an all energies file, every 10 steps. The final files written will be both a position and velocity file in XYZ format, and also a final BSDL file. Note that all necessary initial data files have been provided. \clearpage \begin{verbatim} temperature 300.0 firststep 0 numsteps 200 cellsize 6.5 outputfreq 10 restartfreq 1000 seed 1234 posfile equil298K_01.pos.pdb velfile equil298K_01.vel.pdb psffile equil298K_01.psf parfile equil298K_01.par finXYZPOSFILE equil298K_01.out.fin.pos.xyz finXYZVELFILE equil298K_01.out.fin.vel.xyz DCDFILE equil298K_01.out.trajectory.pos.dcd ALLENERGIESFILE equil298K_01.out.energies BSDLFILE equil298K_01.out.fin.bsdl RESTARTFILE equil298K_01.out.restart doRestartFile no usecharmm28parfile no cellBasisVector1 28.0 0.0 0.0 cellBasisVector2 0.0 28.0 0.0 cellBasisVector3 0.0 0.0 28.0 cellorigin 0.0 0.0 0.0 boundaryConditions Periodic cellManager Cubic Integrator { level 1 Impulse { cyclelength 5 force Coulomb -algorithm NonbondedSimpleFull -switchingFunction ComplementC1 -cutoff 6.5 } level 0 PLeapfrog { timestep .5 force Bond, Angle force Coulomb -algorithm NonbondedCutoff -switchingFunction C1 -cutoff 6.5 force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -cutoff 6.5 -switchon 0.1 } } \end{verbatim} \clearpage \begin{figure}[htb] \centerline{\includegraphics[width=12cm]{water_423.jpg}} \caption{Picture of 10 \AA{ }diameter water droplet, generated by the BOOGA application \ttsmall{raytrace}. \label{fig:water423}} \end{figure} %\begin{figure} % \centering % \includegraphics[width=5.5cm]{water423.ps} % \caption{Picture of 20 \AA{ }diameter water droplet, generated by the BOOGA application \ttsmall{raytrace}. \label{fig:water423}} %\end{figure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{BPTI with Hybrid Monte Carlo Sampling} Here is an example of the Hybrid Monte Carlo algorithm used to sample a BPTI molecule - a 2-level Hybrid Monte Carlo MTS integrator is used. Once again, the initial timestep is at time 0, but the number of timesteps to run this time is 100. 1-2 exclusions are desired, and the cellsize is once again 6.5. There are now however periodic boundary conditions, and as a result three cell basis vectors along with a cell origin are required. Output files will be written to every 10 timesteps - this time they include XYZ position and trajectory files, a DCD trajectory file, an XYZ forces file, and a split energies file (thus there will be 10 different energy files generated - one for each type of energy). The restart files will be written three times, at 0, 50 and 100 timesteps. Note that a final XYZ position file will be written but NOT a final XYZ velocities file even though the filename was specified; setting dofinxyzvelfile to ``no'' overrides the filename. Also a final BSDL file - bpti.out.bsdl3 will be written. Since commotion is set to ``yes'', center of mass motion will be removed when calculating velocities. Once again notice the cubic cell manager, and also notice that the HMCIntegrator does not have forces. The integrator will run 5 Hybrid Monte Carlo cycles, with a cycle length of 10 and 50 warm-up cycles, at a temperature of 300 K. Four bonded forces (bond, angle, improper, dihedral) are present, and one nonbonded (FullEwald, the Coulomb force solved for using Ewald summation). \clearpage \begin{verbatim} firststep 0 numsteps 100 exclude 1-2 cellsize 6.5 cellbasisvector1 32.0 0 0 cellbasisvector2 0 32.0 0 cellbasisvector3 0 0 32.0 cellorigin 0 0 0 outputfreq 10 restartfreq 50 posfile bpti.pos.pdb velfile bpti.vel.xyz psffile bpti.psf parfile bpti.par finxyzposfile bpti.out.pos.xyz finxyzvelfile bpti.out.vel.xyz dofinxyzvelfile no xyzposfile bpti.out.trajectory.pos.xyz xyzvelfile bpti.out.trajectory.vel.xyz dcdfile bpti.out.dcd xyzforcesfile bpti.out.forces.xyz doallenergiesfile no splitenergiesfile bpti.out.energy bsdlfile bpti.out restartfile bpti.out boundaryConditions Periodic commotion yes cellManager Cubic Integrator { level 1 HybridMC { cyclelength 10 warmupcycles 50 temperature 300.0 } level 0 PLeapFrog { timestep 1 force Bond, Angle, Dihedral, Improper force Coulomb -algorithm FullEwald -real -reciprocal -correction } } \end{verbatim} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Parallelization} Parallel communication for \ProtoMol is based on {\it Message Passing Interface (MPI)}. What \ProtoMol uses is an incremental parallelization scheme for clusters with a moderate number of nodes, e.g. up to 64 CPUs. The design is based on a force decomposition with a master-slave paradigm. \\ The appropriate steps for running \ProtoMol on parallel machines depends greatly on the machine being used. On SGI you need to add ``\ttsmall{mpirun -np }'' at the beginning of the command line, and on the IBM Regatta you start \ProtoMol\ by ``\ttsmall{poe ./protomol -procs }''. Otherwise, the appropriate flags may be set in the compilation of \ProtoMol to generate an MPI compilation. \\ On some machines a queuing system like LSF or PBS may be necessary. For more information on this ask your system administrator. %\begin{figure}[htb] % \begin{minipage}[htb]{8cm} % \centerline{\includegraphics[width=7.2cm]{transfer.pdf}} % \end{minipage} % \hfill % \begin{minipage}[htb]{8cm} % \centerline{\includegraphics[width=7.2cm]{memory.pdf}} % \end{minipage} % \caption{(a) The master-slave paradigm\label{fig:transfer}, % (b) The data (memory) exchange between the master and the slaves.\label{fig:memory}} %\end{figure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Interaction of \ProtoMol with VMD} You may start VMD normally before you begin running the desired simulation to be viewed in \ProtoMol. Select the ``molecule'' option from the main window, and in the resulting molecule window select ``Load From Files''. Then in the files window that opens, under the menu ``Molecule File Types'' select psf and pdb, then write the full pathnames of the PSF and PDB files used in the simulation that will be run in the provided spaces. Now VMD has the initial state of the molecule to be simulated. \\ Next, in the configuration file that will be used, make sure there is a Haptic force in the integrator. Check to see that a positive nonzero value is supplied for the ``-wait'' value under the haptic force. This will force \ProtoMol to wait some time for an IMD connection, 100 would be a decent value so that you have time to set VMD to simulate. Also note the port number, which will be used later.\\ Now run \ProtoMol. It should display ``Waiting for IMD connection.....'' after a short time. At this point, go to the VMD console window and type ``\ttsmall{imd connect }'', where \ttsmall{} is the name of the machine that \ProtoMol is running on and \ttsmall{} is the port number value specified in the configuration file that is being used.\\ At this point, VMD will view the molecule throughout the simulation as \ProtoMol runs. Also from the VMD window IMD commands can be run that will send messages to \ProtoMol. For example, typing ``\ttsmall{imd trate }'' will change the transmission rate for information from \ProtoMol to VMD.\\ As an example, let us return to the integrator section of the alanin configuration file from section \ref{sec:alanin}:\\ \begin{verbatim} Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -switchon 0.1 -cutoff 12 force Coulomb -algorithm NonbondedCutoff -switchingFunction C1 -cutoff 12 force Haptic -port 2001 -trate 1 -timeout 1000 -step_inc 100 -wait 100 } } \end{verbatim} The only area that counts as far as the VMD simulation is concerned is the ``\ttsmall{force Haptic}'' section at the end. Notice first that a \ttsmall{-wait} value is given that is greater than zero, thus \ProtoMol will wait for an IMD connection, which is what we want. The port ID is 2001. The other three values are IMD variables. \\ In this case as soon as \ProtoMol begins waiting for the IMD connection, a user would type ``\ttsmall{imd connect 2001}'' and the visual simulation will begin. Now the user can run IMD commands in the IMD window while the simulation is running. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Availability and Installation of \ProtoMol} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{How to Download \ProtoMol} The download site for \ProtoMol is a link from the page for the Laboratory for Computational Life Sciences at the University of Notre Dame: \texttt{http://www.nd.edu/\~{ }lcls/protomol}. Executable code is available online, and source code will be available upon request. An agreement to a Non-Exclusive, Non-Commercial Use License is required (this exact license can be found in the appendix of this user guide, appendix B) for download. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Platforms that \ProtoMol is Able to Run On} \ProtoMol executables are available for the following three platforms: \begin{enumerate} \item Sun OS 5.8 \item Linux 2.4 \item IRIX 6.5 (optional with MPI) \item AIX 5.1 (optional with MPI) \end{enumerate} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Compiling \ProtoMol} Because executables are available online, compiling \ProtoMol should not be necessary unless the user would like to change features. Here are the steps for generating the appropriate makefiles on different platforms: \begin{enumerate} \item Change to the main {\bf protomol} directory. \item View the \ttsmall{README} file for specific directions on how to compile \ProtoMol correctly on the apporpriate platform. \end{enumerate} Once the makefiles have been generated, the user types ``\ttsmall{make}'' from the protomol directory. A ``\ttsmall{make clean}'' will clear all object files and executables recursively throughout the directory tree, if necessary.\\ After everything has compiled successfully, the user may run \ProtoMol from the\newline \ttsmall{protomol/applications/protomol-app} directory as described in Chapter 2. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Documentation} Available documentation for \ProtoMol can be downloaded from:\\ \\ \ttsmall{http://www.nd.edu/\~{ }lcls/Protomol.html} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{The Future of \ProtoMol} Work is already under way to further exapand \ProtoMol. In the next few years, various new algorithms will be placed in the back end, including new MOLLY integrators and semi-implicit integrators using iterative solvers and sparse matrices, rigid body dynamics, and table lookups. The goal is to acheive larger time steps and thus decrease the amount of time necessary to run a simulation. \\ The \ProtoMol design team is also looking into automated empirical optimization of the software (AEOS) for optimal parameters and algorithm selection. With this implementation, the software could automatically generate an extremely efficient simulation, enhancing both usability and speed. \\ Additionally, the next release of \ProtoMol will hopefully include a graphical interface, again increasing ease of use. The program is currently being ported to Windows and will be released in the near future. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{appendix} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Background} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Integrators} MD describes a molecular system as a function of time based on the integration of Newton's equations of motion and interacting forces. The integrators are the part of the program that that solve the differential equations that describe the system. Specifically, the integrators provide a set of forces, velocities, positions, etcetera, that describe the system at each time step. Thus, it is easy to see that the central part of the entire system is the integrators: the front end reads in data and passes it to the integrators, then the integrators call the back end's high performance functions to do the massive computations. The way those computations are assembled into useful data describes the integrator. \\ \\ \\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Standard integrators in \ProtoMol} \label{sec:standardintegrator} For \ProtoMol, a standard integrator is one that updates the velocities by half a step, updates the positions, calculates forces, and finally updates the velocities by another half a step. This method is noted in \ProtoMol as: \begin{itemize} \item \textit{ halfkick();} \item \textit{ doDriftOrNextIntegrator();} \item \textit{ calculateForces();} \item \textit{ halfkick();} \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Distinction between multiple-time-stepping (MTS) and single-time-stepping (STS) integrators} Because of the massive amounts of computation for very large systems (as are found in MD), it is essential to have more sophisticated ways of integration than to just use a single time unit per step. With an STS integrator, one typically takes timesteps of one femtosecond. This small of a timestep would however not be feasable for long simulations with many atoms since useful simulations are typically run for somewhere in the range of one microsecond to one second. This can mean literally months of computations on the computer. Thus, MTS integrators are desired since they are capable of taking longer timesteps. \\ When running \ProtoMol, the integrator at level 0 (or terminating integrator) must be STS. Looking at the sequence of standard integrator operations in section \ref{sec:standardintegrator}, when an MTS integrator calls {\it doDriftOrNextIntegrator()}, it looks for an MTS or STS integrator that is next in the chain to run. But when an STS integrator calls this function, it actually updates the positions, calculates the forces, updates the velocities and returns. Therefore because an STS integrator does not look for a following integrator, it must not have one. Thus an STS integrator in \ProtoMol must be at level 0, while an MTS integrator can never be at that level. \\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{The Verlet-I/r-RESPA Impulse Method ~\cite{Izag99}} The {\it Impulse} method is a MTS method for solving Newton's equations of motion and is supported by \ProtoMol. The first step is to separate the system force into a fast and slow part, each with their own distinct timesteps. Bonded terms have the fastest normal modes in the system and are thus classified as fast. Nonbonded terms, both Lennard Jones and electrostatic, are split into fast and slow depending on range (short-range is fast, long-range is slow). With appropriate bonded conditions, the fast part becomes cheap to integrate compared to the cost of integrating the full system, since only short-range forces are considered. Long-range forces (electrostatic forces beyond 8 \AA{ }) need to be evaulated sparingly for efficiency purposes. The impulse method ``approximates the slow force by a sequence of impulses with weights {\begin{math} \Delta \end{math}}t dictated by consistency.'' Analytical evaluation of the fast forces can be avoided using a similar method - a sequence of suitably weighted impulses that are more closely spaced in time than the slow force impulses. The method as a whole can be described by the following equation: \\ \begin{equation} M \frac{{\mathrm{d}}^2} {\mathrm{d} t^2} X = \sum_{n'=-\infty}^{\infty} \delta t {\bf \delta} (t - n'\Delta t) {F}^{fast} (X) + \sum_{n=-\infty}^{\infty} \Delta t {\bf \delta}(t - n\Delta t) {F}^{slow} (X) \end{equation} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Mollified Impulse Methods (\MOLLY) ~\cite{Izag99}} \MOLLY is a family of integrators~\cite{GaSS98b} that counteracts the instabilities and accuracy reduction present in the multiple time stepping Verlet-I/r-RESPA integrator. This is accomplished by perturbing the potential using time averaged positions \begin{equation} U^{{\rm slow}}(X)\rightarrow U^{{\rm slow}}({\mathcal{A}}(X)), \end{equation} with the force defined as a gradient of this averaged potential, \begin{equation} -\nabla U^{{\rm slow}}(X)\rightarrow -{\mathcal A}_{X}(X)^{{\rm T}}\nabla U^{ {\rm slow}}({\mathcal A}(X)). \end{equation} This perturbation is supposed to compensate for finite $\Delta t$ artifacts. Perturbing the potential rather than the force ensures that the numerical integrator remains symplectic \cite{SaCa94}. The force used by \MOLLY is the gradient of the perturbed potential \cite{IzRS99}. \MOLLY can be seen as a filter that eliminates components of the slow force impulse in the directions of the fast forces, and thus improves the stability of Verlet-I/r-RESPA. Different averaging functions give rise to MOLLY integrators with different stability and accuracy properties. \begin{itemize} \item {\bf Equilibrium MOLLY - ~\cite{IZAG98}} Here we present a time averaging completely eliminate the components of $-U_{x}^{ {\rm slow}}$ in the directions of the fast forces. Our starting point is the backward Euler averaging: \begin{equation} {\mathcal A}(x)=x-\Delta t^{2}M^{-1}U_{x}^{\rm fastest}({\mathcal A}(x)), \end{equation} which is obtained with one step of backward Euler starting with zero velocities. Assume that $U^{\rm fastest}$ can be written as $U^{\rm fastest}=\chi (g(x)),$ where $g(x)$ is a vector of independent length constraint functions. The elements of $g(x)$ are of the form \begin{equation} g^{k}(x)=x^{\mathrm{T}}G_{k}x-l_{k}^{2}, \end{equation} where the $G_{k}$ are symmetric matrices and $l_k$ are rest lengths. Both $U^\mathrm{bond}$ and $U^\mathrm{angle}$ can be expressed in the form $\chi(g(x))$. Allowing $\Delta t\rightarrow \infty $ gives the equations for ${\mathcal A}(x)$ and $\mu$ \begin{equation} \left\{ \begin{array}{c} M({\mathcal A}(x)-x)+g_{x}^{{\rm T}}({\mathcal A}(x))\mu =0, \\ g({\mathcal A}(x))=0, \end{array} \right\}. \label{eq:ultrazero} \end{equation} which are termed {\em Equilibrium*}; this method completely eliminates components of $-\nabla U^{{\rm slow}}$ in the directions of the constraints $ g_{x}^{{\rm T}}.$ A proof of the stability of {\em Equilibrium*} for a general linear model problem under the assumption that all the fast forces are included in the mollification ($U^{ {\rm fastest}}=U^{{\rm fast}}$) is given in Ref.~\cite{Izag99b}. An earlier version is in Ref.~\cite{Reic98}. The stability condition for {\em Equilibrium*} MOLLY on the longest time step \begin{equation} \Delta t\rho(M^{-1/2}U_{xx}^{{\rm slow}}M^{-1/2})^{1/2}<2, \end{equation} where $\rho$ is the spectral radius of the mass weighted Hessian matrix $M^{-1/2}U_{xx}^{{\rm slow}}M^{-1/2}$, is less restrictive than that of the popular leapfrog integrator: \begin{equation} \Delta t\rho(M^{-1/2}U_{xx}M^{-1/2})^{1/2}<2, \end{equation} because it is limited by the fastest frequencies in the slow forces ($-\nabla U^{{\rm slow}}$) rather than by the overall fastest frequencies (in $-\nabla U^{{\rm fast}}$). \\ \\ \item {\bf BSpline MOLLY - ~\cite{IZAG98}} It is possible to use time averagings that consist of numerically integrating an auxiliary, reduced problem: \begin{equation} \mathcal{A}(x)=\frac{1}{\Delta t}\int_{0}^{\infty}\phi\left( \frac{t}{\Delta t}\right) \tilde{X}(t)dt \label{eq:weightave} \end{equation} where $\phi\left( \frac{t}{\Delta t}\right) $ \index{01w0phifun@$\phi(s)\mathcal{\qquad}$\ Weight function of compact support} is a weight function, and $\tilde{X}(t)$ \index{02X2XTILDE@$\tilde{X}\mathcal{\qquad}$\ Positions for auxiliary problem} solves an \emph{auxiliary} problem \begin{equation} M\frac{\mathrm{d}^{2}}{\mathrm{d}t^{2}}\tilde{X}=F^{\mathrm{reduced}} (\tilde{X}),\quad\tilde{X}(0)=x,\quad\frac{\mathrm{d}}{\mathrm{d}t}\tilde {X}(0)=0. \label{eq:reducedflow} \end{equation} This approach is computationally feasible if the weight functions $\phi$ have compact support in time. The paper~\cite{GaSS98b} suggests using B-spline weight functions, which are non-zero over a short interval. The effectiveness of the averagings induced by these weight functions is directly related to the extensiveness of the time averaging. One such B-spline weight function that has been tested is called LongAverage: \begin{equation} \phi(s) = \begin{cases} 0, & \quad s < 0, \\ 1, & \quad 0 \leq s < 1,\\ \frac{1}{2}, & \quad s = 1 \\ 0, & \quad s > 1. \end{cases} \label{eq:bspline00} \end{equation} The coding of $\mathcal{A} (x)$ and $\mathcal{A}_{x}(x)$ can be done by hand in a systematic manner. First the calculation of $\mathcal{A}(x)$ is coded, and then the differentiation, applying the chain rule with respect to each of the components of $x$ to yield code for $\mathcal{A}_{x}(x)$. As an example suppose that the leapfrog method with time step $\delta t$ is coded for the calculation of $\mathcal{A}(x)$. This is then differentiated to obtain $\mathcal{A}_{x}(x)$. The result is the following code for calculating $\mathcal{A}(x)$ and $\mathcal{A}_{x}(x)$: Initialization is given by \begin{equation} \begin{array}[c]{cc} X:=x, & X_{x}:=I,\\ P:=0, & P_{x}:=0,\\ B:=0, & B_{x}:=0, \\ t:=0, & \end{array} \end{equation} and step by step integration by \begin{equation} \begin{array}[c]{ll} P:=P+\frac{1}{2}\delta tF^{\mathrm{reduced}}(X), & P_{x}:=P_{x}+\frac{1} {2}\delta tF_{x}^{\mathrm{reduced}}(X)X_{x},\\ B:=B+\frac{1}{2}\delta tX\phi(t/\Delta t), & B_{x}:=B_{x}+\frac{1}{2}\delta tX_{x} \phi(t/\Delta t),\\ X:=X+\delta tM^{-1}P, & X_{x}:=X_{x}+\delta tM^{-1}P_{x},\\ t:= t+\delta t, & \\ B:=B+\frac{1}{2}\delta tX\phi(t/\Delta t), & B_{x}:=B_{x}+\frac{1}{2}\delta tX_{x}\phi(t/\Delta t),\\ P:=P+\frac{1}{2}\delta tF^{\mathrm{reduced}}(X), & P_{x}:=P_{x}+\frac{1} {2}\delta tF_{x}^{\mathrm{reduced}}(X)X_{x}. \end{array} \end{equation} The value $(1/\Delta t)B$ is used for $\mathcal{A}(x)$ and $(1/\Delta t)B_{x}$ for $\mathcal{A}_{x}(x)$. We continue the above integration until we reach a value of $t$ such that $\phi(t/\Delta t)$ is zero at this value and remains zero for larger values of $t.$ In practice, one can choose $\delta t$ equal to the stepsize of the lowest level integrator. In the above loop, $F_x = - U^\mathrm{reduced}_{xx}(x)$ must be computed efficiently. We have derived the analytical form of the Hessian matrices, $U^\mathrm{reduced}_{xx}(x)$ \cite{IzMa01}. \item {\bf H-Bond MOLLY - ~\cite{IzagCar00}} A large part of using \MOLLY is to determine which forces need to be included in the time averaging. Systems that are particularly sensitive to instability are those dissolved in water. Water is a hydrogen bonded system, and the presence of hydrogen bonds accounts for many important properties of liquid water, proteins, and their interactions. It has been found that hydrogen bond interactions are very important terms to include in the time averaging. H-Bond \MOLLY uses not only the bonds and angles in the averaging, but also the H-Bonds which are modeled by the nonbonded short range Coulomb and LennardJones forces, and thus presents itself as a superior integrator, even to Equilibrium. A straightforward implementation of B-spline \MOLLY and H-Bond \MOLLY would compute the filter matrix, $\mathcal{A}(x)$ directly, which involves sparse matrices and multiplies of those sparse matrices. Another way to implement these two methods is to construct the filter matrix implicitly and completely get rid of sparse matrix multiplies using a linear approximation of $\mathcal{A}(x)$. A more detailed description of the efficient implementation of H-Bond \MOLLY is available on line\\ (\ttsmall{http://www.cse.nd.edu/\~{ }lcls/docs/fastHbond/}). \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Forces} Forces define the interaction between the atoms. Newton's equations of motion, which are solved by the integrators for the interacting atoms, evaluate these forces to calculate new positions and velocities. On a given atom at position $\vec{r_{i}}$, \begin{equation} m_{i} \vec{\ddot{r_{i}}} = \vec{F_{i}} = \sum_{j=1,j \neq i}^{N} -\nabla U(\vec{r}_{ij}). \end{equation} Here $m_{i}$ is the mass of particle $i$ and $r_{ij}$ is the distance between particle $i$ and $j$. The complexity of the force calculation is governed by the potential function $U(\vec{r}_{ij})$. \\ In \ProtoMol, forces are held by the integrators and can be removed or added dynamically. \ProtoMol makes distinctions between system forces and extended forces, as well as non-bonded and bonded forces. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Bond force} Bonds~\cite{NELS96} describe a linear bond between two atoms. These bonds are described by a simple harmonic spring. The energy of a bond between atoms $i$ and $j$ is given by: \begin{equation} E_{bond} = k \left( \left| \vec{r}_{ij} \right| - r_0 \right)^2 \label{eq:BondEnergy} \end{equation} \noindent where\\ \begin{tabular}{lcl} $ k $ & = & Spring constant specified in the parameter file for this bond type.\\ \Vr{ij} & = & \Vr{j} - \Vr{i} \\ \AbsVr{ij} & = & $ \sqrt{(x_j - x_i)^2 + (y_j - y_i)^2 + (z_j - z_i)^2} $ \\ & = & calculated distance between atoms $i$ and $j$.\\ $ r_0 $ & = & Rest distance of the bond specified in the parameter file for this bond type. \end{tabular} \\ By differentiating this formula, the force for this bond can be found to be: \begin{equation} \vec{F}_{bond} = - \frac{\mathrm{d} E_{bond}}{\mathrm{d}\vec{r}} = 2 k ( \AbsVr{ij} - r_0 ) \hatr{ij} \label{eq:BondForce} \end{equation} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Angle force} Angles~\cite{NELS96} describe angular bonds between three atoms. These bonds are modeled as harmonic angular springs. The energy of such a bond between atoms $i$, $j$, and $k$ is given by: \begin{eqnarray} E_{angle} & = & E_{\theta} + E_{\mathrm{ub}} \label{eq:AngleEnergy} \\ E_{\theta} & = & k_{\theta} \left( \theta - \theta_0 \right)^2 \\ \label{eq:Eub} E_{\mathrm{ub}} & = & k_{\mathrm{ub}} \left( \AbsVr{ik} - r_{\mathrm{ub}} \right)^2 \end{eqnarray} \noindent \\ where\\ \begin{tabular}{lcl} $ k_{\theta} $ & = & Force constant specified in the parameter file for this bond type.\\ $\theta $ & = & $\cos^{-1} \left( \frac{ \Vr{ij}\, \cdot \,\Vr{kj} }{ \AbsVr{ij} \AbsVr{kj} } \right),$ which is equivalent to $\tan^{-1}(\mbox{$\left| {\Vr{ij} \times \Vr{kj}} \right|$}, \Vr{ij} \cdot \Vr{kj})$ \\ $ \theta_0 $ & = & Rest angle of this bond specified in the parameter file for this angle type.\\ $k_{\mathrm{ub}}$ &=& Urey-Bradley constant, which defaults to zero \\ \Vr{ik} & = & \Vr{k} - \Vr{i} \\ \AbsVr{ik} & = & $ \sqrt{(x_k - x_i)^2 + (y_k - y_i)^2 + (z_k - z_i)^2},$ calculated distance between atoms $i$ and $k$.\\ $ r_{\mathrm{ub}} $ & = & Rest distance for the Urey-Bradley term. \end{tabular} By differentiating this formula, the force for this bond can be found to be: \begin{equation} \vec{F}_{angle} = - \frac{\mathrm{d} E_{\mathrm{angle}}}{\mathrm{d} \vec{r}} \label{eq:angleForce} = \vec{F}_{\theta} + \vec{F}_{\mathrm{ub}} \end{equation} where \begin{eqnarray*} \vec{F}_{\theta} = - \frac{\mathrm{d} E_{\theta}} {\mathrm{d} \theta} \,\frac{\mathrm{d} \theta}{\mathrm{d} \vec{r} } = - 2k_{\theta}(\theta - \theta_0) \,\frac{\mathrm{d} \theta}{\mathrm{d} \vec{r} }\\ \vec{F}_{\mathrm{ub}} = - \frac{\mathrm{d} E_{\mathrm{ub}}} {\mathrm{d} \vec{r}} = 2 k_{\mathrm{ub}} (\AbsVr{ik} - r_{\mathrm{ub}}) \hatr{ik} \end{eqnarray*} where $\hatr{ik}$ is the unit vector in the direction of $\vec{r_{ik}}.$ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Dihedral and improper forces} Dihedral and improper bonds~\cite{NELS96} model the interaction between 4 bonded atoms. They are modeled by an angular spring between planes formed by the first three atoms and the second 3 atoms. The energy for a dihedral or improper between atoms $i$, $j$, $k$, and $l$ is given by: \begin{equation} E_{d/i} = \left\{ \begin{array}{ll} k \left( 1 + \cos(n \phi + \delta) \right) & \mbox{if $n > 0$} \\ k \left( \phi - \delta \right)^2 & \mbox{if $n = 0$} \end{array} \right. \end{equation} \noindent Where\\ \begin{tabular}{lcl} $k$ & = & Force constant specified in the parameter file for this bond type.\\ $\phi$ & = & Calculated angle between the plane formed by atoms $i$, $j$, and $k$ \\ & & and the plane formed by atoms $j$, $k$, and $l$.\\ $n$ & = & Periodicity of the bond specified in the parameter file for this bond type.\\ $\delta$ & = & Phase shift specified in the parameter file for this bond type.\\ \end{tabular} \noindent The angle $\phi$ is calculated by first determining the vectors $\vec{A}$ and $\vec{B}$ where: \begin{eqnarray*} \vec{A} = \Vr{ij} \times \Vr{jk} \\ \vec{B} = \Vr{jk} \times \Vr{kl} \end{eqnarray*} \noindent These two vectors can then be used to calculate $\phi$ using the formula,\\ \begin{equation} \phi = \cos^{-1} \left( \frac{ \vec{A} \cdot \vec{B} }{ |\vec{A}| |\vec{B}| } \right) \end{equation} \noindent To determine the force, the negative gradient of the energy must be found. It can be shown that if n$=$0 then the force is given by, \begin{equation} \vec{F} = - 2k \left( \phi - \delta \right) \left( \nabla \phi \right) \end{equation} \noindent and if $n>0$ then the force is given by,\\ \begin{equation} \vec{F} = n\,k \sin(n \phi + \delta) \left( \nabla \phi \right) \end{equation} \noindent Using the formula for $\phi$ given, it can be shown that:\\ \begin{equation} \nabla \phi = \frac{ 1 }{ \sin(\phi) } \nabla \left( \frac{ \vec{A} \cdot \vec{B} }{ |\vec{A}| |\vec{B}| } \right) \end{equation} \noindent But this can lead to a singularity in $sin( \phi )$ goes to 0. When such a situation has the potential to arise, a third vector $\vec{C}$ is determined using \begin{equation} \vec{C} = \Vr{jk} \times \vec{A} \end{equation} \noindent If the angle $\psi$ is the angle between $\vec{C}$ and $\vec{B}$ then it can be shown that \begin{equation} \cos( \phi ) = sin ( \psi ) \end{equation} \noindent and, \begin{equation} \phi = sin^{-1} \left( \frac{ \vec{C} \cdot \vec{B} }{ |\vec{C}| |\vec{B}| } \right) + \frac{ \pi }{ 2 } \end{equation} \noindent Therefore \begin{equation} \nabla \phi = \frac{ 1 }{ \cos(\phi) } \nabla \left( \frac{ \vec{C} \cdot \vec{B} }{ |\vec{C}| |\vec{B}| } \right) \end{equation} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Non-bonded forces} Bonded forces define the intramolecular interactions, where non-bonded forces compromise the intermolecular interactions. Non-bonded interactions also play an important role in the behavior of individual molecules. The non-bonded interactions do not depend upon a specific molecular relationship between atoms. They are usually modeled as a function of some inverse power of the distance. Non-bonded terms are usually divided in two groups: one compromising electrostatic and the other van der Waals interactions. \\ \ProtoMol provides a wide range of different non-bonded force evaluations, which can be combined with an arbitrary boundary condition, switching function and potential. Decoupling the algorithm to compute a given force from the boundary condition, switching function and potential, we achieve flexibility and performance. We template the forces for boundary conditions, switching functions and potentials. \\ \\ \paragraph{van der Waals forces~\cite{EnBr00}} van der Waals forces are ``relatively weak electric forces that attract neutral molecules to one another in gases, in liquefied and solidified gases, and in almost all organic liquids and solids. The forces are named for the Dutch physicist Johannes van der Waals, who in 1873 first postulated these intermolecular forces in developing a theory to account for the properties of real gases. Solids that are held together by van der Waals forces characteristically have lower melting points and are softer than those held together by the stronger ionic, covalent, and metallic bonds.\\ Van der Waals forces may arise from three sources. First, the molecules of some materials, although electrically neutral, may be permanent electric dipoles. Because of fixed distortion in the distribution of electric charge in the very structure of some molecules, one side of a molecule is always somewhat positive and the opposite side somewhat negative. The tendency of such permanent dipoles to align with each other results in a net attractive force. Second, the presence of molecules that are permanent dipoles temporarily distorts the electron charge in other nearby polar or nonpolar molecules, thereby inducing further polarization. An additional attractive force results from the interaction of a permanent dipole with a neighboring induced dipole. Third, even though no molecules of a material are permanent dipoles (e.g., in the noble gas argon or the organic liquid benzene), a force of attraction exists between the molecules, accounting for condensing to the liquid state at sufficiently low temperatures.\\ The nature of the attractive force in molecules, which requires quantum mechanics for its correct description, was first recognized (1930) by the Polish-born physicist Fritz London, who traced it to electron motion within molecules. London pointed out that at any instant the center of negative charge of the electrons and the center of positive charge of the atomic nuclei would not be likely to coincide. Thus, the fluctuation of electrons makes molecules time-varying dipoles, even though the average of this instantaneous polarization over a brief time interval may be zero. Such time-varying dipoles, or instantaneous dipoles, cannot orient themselves into alignment to account for the actual force of attraction, but they do induce properly aligned polarization in adjacent molecules, resulting in attractive forces. These specific interactions, or forces, arising from electron fluctuations in molecules (known as London forces, or dispersion forces) are present even between permanently polar molecules and produce, generally, the largest of the three contributions to intermolecular forces.'' \\ A common and well known approximation for the van der Waal forces is the general Lennard-Jones 6-12 (LJ) potential \begin{equation} u(r_{ij}) = 4\epsilon\left[\left(\frac{\alpha}{r_{ij}}\right)^{12} - \left(\frac{\beta}{r_{ij}}\right)^{6}\right] \label{eq:lennardjones}. \end{equation} where $\epsilon$, $\alpha$ and $\beta$ are LJ parameters with $\alpha \approx \beta$, often is $\alpha = \beta$, it is called $\sigma$. The potential $u(r_{ij})$ is mostly cutoff at $r_{\mbox{\tiny cutoff}}$ without major loss of accuracy, i.e. no interactions are evaluated beyond this distance. Since the cutoff violates assumptions for a simplectic integrator, switching functions are introduced to smooth the potential at the cutoff. \\ \\ \paragraph{Coulomb force~\cite{EnBr00}} ``also called coulomb interaction, attraction or repulsion of particles or objects because of their electric charge. One of the basic physical forces, the electric force is named for a French physicist, Charles-Augustin de Coulomb, who in 1785 published the results of an experimental investigation into the correct quantitative description of this force.\\ Two like electric charges, both positive or both negative, repel each other along a straight line between their centers. Two unlike charges, one positive, one negative, attract each other along a straight line joining their centers. The electric force is operative between charges down to distances of at least $10^{-16}$ meter, or approximately one-tenth of the diameter of atomic nuclei. Because of their positive charge, protons within nuclei repel each other, but nuclei hold together because of another basic physical force, the strong interaction, or nuclear force, which is stronger than the electric force. Massive, but electrically neutral, astronomical bodies such as planets and stars are bound together in solar systems and galaxies by still another basic physical force, gravitation, which though much weaker than the electric force, is always attractive and is the dominant force at great distances. At distances between these extremes, including the distances of everyday life, the only significant physical force is the electric force in its many varieties along with the related magnetic force.\\ The magnitude of the electric force $F$ is directly proportional to the amount of one electric charge, $q_i$, multiplied by the other, $q_j$, and inversely proportional to the square of the distance r between their centers. Expressed in the form of an equation, this relation, called Coulomb's law, may be written by including the proportionality factor $k$ as $F = kq_{i}q_{j}/|r_i - r_j|$. In the centimeter-gram-second system of units, the proportionality factor $k$ in a vacuum is set equal to 1 and unit electric charge is defined by Coulomb's law.'' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\subsection{Ewald summation} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The potential energy function per cubic cell of a system of $N$ particles %interacting with a potential $\phi (\mathbf{r}_{ij}+L\mathbf{n)}$ under %periodic boundary conditions is usually expressed as the following sum: %\begin{equation} %U=\frac{1}{2}\sum_{\mathbf{n}}\,^{\prime }\left[ %\sum_{i=1}^{N}\sum_{j=1}^{N}\phi (\mathbf{r}_{ij}+\mathbf{n)}\right] %\label{eq:total} %\end{equation} %where the sum over $\mathbf{n}$ is the sum over all cubic lattice points of %length $L\nolinebreak =\nolinebreak 1$with integer coordinates $\mathbf{n=} % (n_{x},n_{y},n_{z})$, the prime over the sum indicates that if $i=j$ the %terms with $\mathbf{n=0}$ are omitted; and $\mathbf{r}_{ij}=r_{j}-r_{i}$ is %the distance between particles $i$ and $j.$ \\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Switching Functions} \ProtoMol allows the cutting off of non-bonded forces (electrostatic or van der Waals) to be handled in two ways. One way is to simply truncate the forces at the cutoff value, i.e. no interactions are evaluated beyond this distance. But this method leads to a discontinuity in the force field and it will violate energy conservation for symplectic integrators. The other way of handling cutoffs are switching functions. These functions smoothly bring the forces and energies to 0 at the cutoff distance to avoid any discontinuities in the force field. \\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Boundary Conditions} Boundary conditions define the size of the simulation area and how atoms will be treated when reaching or crossing boundaries. The most common area is a cubic box of a finite region.\\ Vacuum boundary conditions have no restrictions on the dimension of the enclosing lattice. For some applications, the ions and the molecules/atoms can move in every dimension freely. Simulations requiring no periodic boundaries are best suited to simulation in vacuum, such as the conformational study of an isolated polymer molecule. Vacuum boundary conditions are not recommended for studies in a solvent, since evaporation is likely to be a problem. Note that vacuum boundary conditions cannot be used with the Ewald summation method. \\ Periodic boundary conditions (PBC) replicate the simulation box through space to form an infinite lattice. For some applications, the PBC may be defined only for some dimensions. PBC use the minimal image convention, whenever an atom moves out of the minimal image it moves in on the opposite of the minimal image. PBC in all dimesions can be used with the Ewald summation method. \\ Spherical boundary conditions (SBC) causes a force that moves atoms back in to (away from) the center of the sphere depending on the force constant. It may be desirable, however, to simulate a surface tension affect, where a small harmonic well around the sphere boundary is desired. To obtain such an effect, two SBC can be superimposed. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Cell Manager} The cell manager is implemented to achieve better performance. They control which atom belongs to which cell and store spatial information of the atom positions, such that the particle's neighbors can be quickly located for the force calculation. Thus, the number of interactions evaluated is minimized.\\ The multi-cell algorithm uses cells together with a cutoff, where the cells are cubic and the dimension of the cells are equal or more than the cutoff. \\ \\ \\ \\ \\ \\ \begin{figure}[htb] \centerline{\includegraphics[width=12cm]{cell_algo_cell.pdf}} \caption{Partition of cells, where cell no. 5 is the origin and 1-4, 6-9 the neighbor cells. Cell no. 6, 3, 2 and 1 describe the interaction path.\label{fig:cell_algo_cell}} \end{figure} %\begin{figure} % \centering % \includegraphics[width=5.5cm]{cell_algo_cell.pdf} %\caption{Partition of cells, where cell no. 5 is the %origin and 1-4, 6-9 the neighbor cells. Cell no. 6, 3, 2 and 1 %describe the interaction path.\label{fig:cell_algo_cell}} %\end{figure} \newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{\ProtoMol Molecular Dynamcis Software License} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Conditions and Regulations} \footnotesize \begin{verbatim} ProtoMol GNU GENERAL PUBLIC LICENSE This Software is copyrighted by the University of Notre Dame and the University of Bergen, Norway, whom grant you the right to use this software under the terms of the GNU General Public License. Although you are under no obligation, the ProtoMol devlopment team would appreciate the inclusion of the following citation in all research and development works which utilize this software: T. Matthey, T. Cickovski, S. Hampton, A. Ko, Q. Ma, T. Slabach and J. A. Izaguirre, 'ProtoMol, an Object-Oriented Framework for Prototyping Novel Algorithms for Molecular Dynamics', ACM Transactions on Mathematical Software, Vol 30, Num 3, pg 237-265, 2004 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright c 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is in- tended to guarantee your freedom to share and change free software-to make sure the software is free for all its users. This General Public Li- cense applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will in- dividually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modifi- cation follow. Terms and conditions for copying, distribution and modification 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", be- low, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright no- tice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Pro- gram. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and dis- tribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: (a) You must cause the modified files to carry prominent notices stat- ing that you changed the files and the date of any change. (b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. (c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such in- teractive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifi- able sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in them- selves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Pro- gram with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: (a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sec- tions 1 and 2 above on a medium customarily used for software interchange; or, (b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine- readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium custom- arily used for software interchange; or, (c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program ex- cept as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, par- ties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the orig- inal licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not re- sponsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent in- fringement or for any other reason (not limited to patent issues), con- ditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those coun- tries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new ver- sions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and condi- tions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free pro- grams whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we some- times make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. Because the Program is licensed free of charge, there is no warranty for the Program, to the extent permitted by ap- plicable law. except when otherwise stated in writing the copyright holders and/or other parties provide the program "as is" without warranty of any kind, either expressed or im- plied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the Program is with you. Should the Program prove defective, you assume the cost of all necessary servicing, repair or correction. 12. In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify and/or redistribute the program as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the program (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the Program to operate with any other programs), even if such holder or other party has been advised of the possibility of such damages. END OF TERMS AND CONDITIONS \end{verbatim} \normalsize %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Contact Information} The best contact path for licensing issues is by e-mail to {\it protomol@cse.nd.edu} or send correspondence to: \\ \\ \ProtoMol Team\\ c/o Prof. Jes\'{u}s A. Izaguirre\\ Laboratory for Computational Life Sciences\\ Department of Computer Science and Engineering\\ University of Notre Dame\\ 384 Fitzpatrick Hall of Engineering\\ Notre Dame, Indiana 46556 USA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \end{appendix} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \bibliographystyle{plain} \bibliography{lcls} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \end{document} protomol/doc/UserGuide/water_423.jpg0100644027616700000500000105467610237151525016713 0ustar pbrenne1dip˙Ř˙ŕJFIF˙ŰC    $.' ",#(7),01444'9=82<.342˙ŰC  2!!22222222222222222222222222222222222222222222222222˙Ŕ "˙Ä ˙ĵ}!1AQa"q2‘ˇ#B±ÁRŃđ$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz„…†‡‰Š’“”•–—™š˘Ł¤Ą¦§¨©Ş˛ł´µ¶·¸ąşÂĂÄĹĆÇČÉĘŇÓÔŐÖ×ŘŮÚáâăäĺćçčéęńňóôőö÷řůú˙Ä ˙ĵw!1AQaq"2B‘ˇ±Á #3RđbrŃ $4á%ń&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚„…†‡‰Š’“”•–—™š˘Ł¤Ą¦§¨©Ş˛ł´µ¶·¸ąşÂĂÄĹĆÇČÉĘŇÓÔŐÖ×ŘŮÚâăäĺćçčéęňóôőö÷řůú˙Ú ?÷ú(˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ ĘŐXË0ę ‘\żÄßż†ě ÓěÜĄýđ;dS e‡ąÎâ{W‘ šf2»—w;™ä’z’k“‰öo–+Sč2|‘cbęÔ•Łĺ»=öĎĆ~ľśC§öŕ Łń`n×ÍA«Ń>x®eĽMňBđȶf?pťżBüw¨Ł‹ć—,ŃÓ™pęˇIŐĂÉ´·O·ŕzŤQ]ÇËQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@4üo»¸‡âbů»„kcĹ•ÇË–Ć˝‚Ľ3âď†tŻ ÝéşŢ‘kök‹™ĘK„f€%˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(Ş7–şśöĆę•lćÇĽ}Ů@ ô ĄZ‘Ź„ooützÓŐB¨ 0(+»K{űY-nˇI a‘ĆA˙'šůßĹşśţ ńmŢ•o;Ol›^&'ćPFvźqČŻy×59,mŇ Tóoî[Ë‚?süGęO`+—ŕŢ}©6ˇŞ^ęW·ĘUTcěäA»ń4çŢÔµźëqiÖÉ"Z© w?hŁďĎ©ĆőöľDXăTA…P‚ŞizFź˘X­–™i­şś„Ťq“ę}OO5v€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ k¸D,A8ě:šuBźľq/Tpc˙˙=ľ´řÔ€Y±˝şă·µG{y …ś·W(”łjzç|G¬óeŘIž„ ‰‡N{ŞžOľ¨  ´K)n.[ż\\θ‚3˙,!=űÇ©ücťÚ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ĽăĆ˙ßMż“FŃŮ>Ô÷÷ ĺ“ü*?˝ëžź^žyr,ěn.™K,1´…GSś~•ň†µ-ÝÔ·W2žyIźĽĚrOćkź)({§­“RŁ}NN©#·5ŇŮÚAai­˛Š1…ő'ÜžIîMyŹÂ[Üj:Ť–F%” á8ë˙ç5ęµěĐ©í ¤ĎÍł<"ÂbĄF;-˝QE©ŔQEQX7~4đí”ć µHĽĹŕŐ¤ýTS)F?±­*k;S‹“ňW7¨¬˝3Äz>˛ĺ,/â–AÎĂ•c˙` ­JjJJčš”çN\łM?=Š(¦@QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEÉbIáxePŃş•e=<_kú=ç…|I{Ą\«,–Ň•ŹľżÂĂŘŚĆľÖ®#Ç˙ ôż@˛»›=R%ŰÚ(9ÝqüKéČ#ód®kJ§#ąó®˛SŽ+IuĐďţµ»đ/ƶ“ě·¶´˝MŘCrŞ1ęCí5Óx[ö~Ľk¨îĽó≎•â O'lnv$ő …Qú·ć(ĐÇJ++HÖ­őd"Eߏ^µ«@ťu®i¶r´SÝ"şýĺĎJŁ'Ś´HľőÚĐýÉËńA‹ţ^üEP›â¶IT˙ŔĹwuóď‹üY?|Qy 9[K9ž#ŕíb ‘ę–v·´h•Šb@rM|çeŞIíć1$±%‰É&ąń0s…‘ědŠx|O´š= ^´ô]rëAÔ㽵c•8’<ŕH˝Ô˙ž+‘¶ÖÔdŠ˛ú¤*¤ćĽĄĹč}ôŞá«SjM4÷>¤µąŽňҨI1MČ„ú‘üęZĂđlsEŕÝ!gČÚŁsČ=Ŕ Vĺ{‘m¤ŮůmXĆ5%ě› (˘™QEQEQEQEQEQEQEQEQEQEV7‹¬†ŁŕífĐ…&K9Bî$ŰIRqč@­š(Éţ ßyşZDOEĹzĹxĂř”x“QŇYŹú%Ürs÷XŹé^á@Q@Q@Q@Q@Q@Q@Q@Q@ ’D†'’GTŤff8 ROĄpZżĹ+iZ.ŮŻŕĚͱ?2JÁřŐâÉ,M‡‡-ßoÚ“í^ĄačX1?îŹzó«YÖHĆ5ĹŠŻ8iéň,«ŠNĄ}{#Őěţ+1” Ý,yDňĐÉó(úż®űKŐ¬µ›1uc:ËCŘ©ô#±ŻťC×Oŕ]nm/ÄÖŃ+"ńÖ S±$áOÔůëXŃĹË™)ęŹG3áúĆU0ë–I^ÝŢ{…Q^™đáEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP^QńĂĂ·7Ú=–ąfŚŇiĚÂ`'ËlßE#˙'µz˝2XŁž'ŠTY#u*čă!ŕ‚;ŠůoAńĺŢ›µ%f wÝŰ|ZE‡™ńřÖGĹď鞎ßXŇRHaşťŁ–±ŁXmô7űbĽ¦€=fÓÁú÷ÄŤBű^´ÔËN–M±´ŚŮ‘‚€ÄŰ9ç=kJ€×ň«}ŻĹ ‡<¶góq^łáź,x_KXUUÚ5(á@ŕť+V€Př‚ęI;˛@ŞŕIţuˇŔ Ł#=î­&,¦hŔon8ükÔh ?ŕĎ‚â“sŮ\L1÷$ąp?ńŇë\7ÄO‚ Ô|n6*~úŔĘK?‰‰ĎA=¸Îq^óE&®Tdâ@ń ¬ţCčú”s–Ö®žśšôχźőťSRPń=´–šd,ěł IqĆB•ę«śg8'§¸ú.ŠžDjń3µ“ (˘¬Ŕ(˘Š(˘Š(˘ąošŮĐ|yrŽVY @„¶Ŕ7ÓĺÝ@µÔwhŇDs8 ëS× ŕżÁ5Śq3Ś`Wp¬®ˇ”‚q@ E€‚H§€Š( Š( Š( Š( Š( Š( «jĐi¶2Ţ\°XŁźRNú’@üjÍyÇĆ«Ůl<#a4l@ţŇŚ0Ç—!Çćĺ@Ú…´QqŻ$ oo$ó¤&Cµ[Ż`~uÔ×ü?ń‚jof˛Ň‡Ú˝:€ *Ľ÷°[©2H ôĆ{ŐŠ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŠůÇöŠx|o¦]ě"'Ó–4~Ĺ–G,?Ëůקęűp `×ÔĽmăŻ&u†öd´śŚ„~ŕ˙˛zŔöŻ”uÍSđÖ©&ťŞŰ5˝Ôx%w=#‚+´Ô÷=,6tŕβYFH­KýĄâm.Ć–šę0qÔ.ŕXţřW—Ç<ă„bké„&Đ"_k,Ź¨Ďű´Ó¦‘ şŚ”Q(_ż ř÷ĹzM|Łá¨f¶ŇBÎ…¬0q_DřZ›[đĚs\±yŕsŽzą~¸#ń¬(â9ćŕĎW1Ę~Ż††&łµÓčŮŇŃEÔxAEPEPEPU5 RÇIÎżşŠŢ3Ŕ.ܱöOáTüOŻŰřgĂ×z­ĆĘ\Gqć9áWń'đ=«Ŕď5«˝vńő é|Éäô裲¨ěsâ+ű%˘ÔörŚĄăćůť˘ľ÷č{‚x÷Ă28UŐO÷ˇĚ­mĄő¤–Âć;¨^ŇDpTţ"ľz˛’Ę'iŻŰ÷(3°>™ôŞ:żŹ„ÚiȱB:,cëî}éaęT¨ą¤•7Áa0söTĄ'.·µżCÚ5ďZv–Ś°2»Źâ=+ĂĽeâíKĆzś0´’ÇĽáOăđ8üqřšĺ.ő ›×-4¬Ůíž+×~ ř+Íř˘ţ/‘ K%aŐş3ţăč+¤ńŽÇĂ Ň4»aw©^µîŔeşĂzTśťy©5=OPđŚŃ%ä˘KixŽuŕ;Ř÷˙őwµĺćÔµ‹} FŇî塞’Ë ë€ …?7r84Ą'ÄxĆDé]G…®gľŃţpGÚŘĚ€źŕ ?ükÉ<đwSşą†÷Ĺ.ał_›ě"LÉ' r8Qřç·T*€v ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(®sÇ>,đ•ć–¬©p@’ÝۢȼŚűW=ÍttPĚż!»Ń>%Ăc} Áq4rDýTńţsŢľ™Ü»¶î˝3Íx_ŤĽUeŻx•dÓbŤ>ŔZ4˝N$”ô<Źáăń=ëž ¸äś“É&¸ęc%Ę•ĎĄÁpÝLEV¤ůo˛µţýQęööš¶©ń.ů='N•$2ö–BŠę‹ôÜ ôĆ;]ýx§†Ľo¨h·QÇq4—6 ŔIŚX őBzn‡őŻh†Xç†9˘ux¤PČęrEmF´j­/1Ë*ŕf”őOf>Š(­Ź8(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š+母ňQ&˙Żhż‘ŻĄk獶̟±¸´‰×†YyüTĐ5ŕ˙\x¦űĚHG™.9?쯾?*ú˛Ć4ŠÂÚ8Á‘*¨'°ä~D†ÎăP¨ zőŻüzC˙\×ůP´QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE|űńKÄqń}=Î#ÓáŽ$\đK(·×ćţ+)•Ôj÷Ç}çKń|^!†3ö]B5I=&A·Óä ŹˇŻ>ł× `1ÁŻ;‡r—2>Ç&ͩѢ¨ÔŃ#Đ,­.µ+¤µłçťÎdý}‡żjő߇qj–7šN©k4ÚEx·ŻĘUňHVO ~\ÂŹhÖ>|7d%ěěÝ”tŰ9?ţˇ^× Ń\D$…ŐĐô*k\6ÂÓoSŹ9ÎŁ‰RĂÓŠqÓ^·îż"J(˘»š (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ +ŚńߍżáXllü¶Ôn¸ßȉ9±Ü’CéĺS뚥ěĆkŤFćIs)öp°®jبÓ|¶»=Ě»"­Ś§íy”cӭϢ(Ż Ń|g¬hł)[—¸·ć‚v,¤{Ş~ź­{F•©Űëdö¬LR®pz©î¸Š(®“Ĺ (˘€ (˘€ (˘€<‹ö‚¸ąÂšPŹ?g7ŕČG÷‚6Ń˙ˇ~UăşfŞ6Zľšńď…—Ć˝ŇAU¸ KlěpUĺsěySěM|‡yi}˘j3ŘŢÁ%˝Ô˛Hś`©˙=ű×=zJ{žľYŹ–ű§MŻŢ#XDÁýčň?áX”.âŔZ«qz÷,MĐ6kKÂ~Ô<_ŻAĄŘ!ůi¦ĆVóË·°ôîxďEşqĺ Ň´quý˛ÓDz‚ľŤkK´Őő[í¶÷@46Öß}‡«1 Ŕ> ×˝ŘŮ[é¶YZD±[Ŕ‚8Ńz**Ę+->Ú‘–(!XaVĆV5Ä€ ü=*é!A$ŕI5Đy.×ЧŞ^µ•Żî”=̧˂<ăsžź‡sKĄŘ :Ĺa-ľV%ć“»ąäźč=µRÓ”ęwď«J Â€Çd÷‰ţ§ öĎc[4(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š+#ĹwsXx;[Ľ¶r“ŰéóËŞË1ZőÍĽWv˛ŰNá™ r!čĘFü¨|uŁjaTžGÓĂx’(!…r~-đơŕżϦ]«§tcĺš>Ě?ŻˇČŞVú´‘ 6kĎ­†ćwGŘeŮ߲‚…MŹAó†:Š÷o‡÷ sŕm2G}Çk >Ë#(ľ`Ň&Ô|AŞ[ézd5ÝĂmE©'°’{ úËĂÚDz‡ět¸Ř0¶+0ÜÝYżIüj°´% 93 ű3ŁŠŁt÷˝˙iQEÜ|°QEQ\ľżăÍ#BŰk«µ8hˇÇÉţńč·&°mţ,@ňq¤I}Ú9ßȨţuŚ«Ó‹łgŁG)ĆÖ‡´…7o’üĎF˘©izµ–łf.¬gYcč{>„v5vµM5tpN„śd¬ĐQEÉ (˘€ (˘€ ůëă§üŹÚýă˙ѲWеó÷Çhď©kÍ|'h’Ăkť„nfl€ĽŹş@l˙őň9°őęs¨Ţ÷=Üß+Á¬4Şň¨8­VôV]Ďe˘Š+Ő>(˘Š(˘Š(˘ŠůÇĆ)}ń+[žă1ĂËyĎ*¨ `Ýţ¤ŐF_-sžZôż‰ľ•nąmč™B\ítŽb0=°=kĆőťz+41ˇÝ)ăµyá9UjÇč™V'K/ŤNm××·ůyţpÇQ^Żđ’é¦ŃőwîHîĐ•çů ůĘ-fyäHaŽI%‘‚˘ %žąŻ¨~řb xJ(Ż” BéľŃr; Ďű lçľ(O™žVu›QÄa˝”­Ł°˘Š+Đ>@(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š+šńO€Ľ;ăV°V¸Q„şě•G¦áÔuŕäs]-UÔď“LŇŻ5 @1ÚŔó6NK{t iµ±óÇ‹~ř;@ż:vźsŞ]Ţ _6â?.<ô*N9ę1Ç^”Í*i´kg·Ó'šŇ>úC+(~1ó`óř×5a¬Ë}q-Ő̦Içs$ŚÇ$±95»ˇ†AŻR|ţGčąF °ĘÉ9=Ű;mⱦʋw)ľµ2J~qî®~ąţµčoŞÁâX-­tÉwĂr»î\­@௨bxüÍxVúô/„÷äjz†ź‰!Ž~RŻüü÷× —2„ťÓ83ܦŹ°xŠQĺ”w¶Í™ę‘Ć‘F±ĆŠ‘  ŞŁ@č§QEzgÄQ@Q@Q@ź«ëzv…köŤBĺbSť‹Őśú(ęzŹ§zŕőoŤz’CIczčÇ ·nćé“Śăż­C©ů[Ô駯R›«ű«®Ëďg¦Q\Ç„üá˙Ć˙ŮWL.#˝´ë˛Uۡú‚Etőg;VÜ(˘ŠQEQEdřĂ:7Š,…¦łaÔkť…†2z•aĘô=+Ďźö|đ‹ČĚ·ÚĘI łÇ…öŚźÎ˝^ŠV)I­Ś ř3Ađ„Ť`°ĽLÄ´ŹőcÎ=şVýS%»…Q@rż|G/…Ľ}¨[]°ÂßÝg8Ýř ź¨ŐWź|i°¸ľřg~m×q·’9Ü»rGÓ9úIěT-Ě®xĹŤé¸RňHĎ#ĚĚrXž¤žć´ëĎl5F·!Xţ5Ń[ëhTeŻ"­ EÝŁ`sZ5i¨ÉŮŁŃ|­É¤řžŘ>EÓ%\ńóř¦}kÜëćo ĘuŻiZ|+»Ě¸V|§sűäúf»0jJ Hů®$•â#*o[kúQ]‡ÎQ@Q@ĚK1’OjůďâmÝ׎ĽAľŇu ű+0›»{g’9[vNŇAÓ=ţť}3âľ°ÚO6 „ľąKI?ŔÁ™‡â©ö&źŕż[I§En Ş*€ˇx =(–đ6ŹŞ$Q 4ű¨ň:ÉAůšő¸#ňm㌜•?Zz°` Aî)h˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(®â¶m¨x6÷SK(äÔěf‚p0čŞŕż#¨ŰĽŕńßŢ»şd±G¤t€Ú»­2(áÓ-–8R1†1˘…žOÜ“V¨°ÔšŃ3—đ×ĂĎ xN_?KÓUn°GÚec$>„ýŢ8Ç˝uQ@6ŢáEP ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(ŞÚŤšj:eÝŚ›v\Âđ¶ĺÜ0ĘAČďץY˘€>!š;˝S¸±şCöň´RˇţµěőˇóW»üMřK‹ęşAŠ×X÷¸K˝  řÄxEďĂŻéÓůSxkRgő·€Ěż÷Ňd~µĎRŠ–çŻĚŞPřY˘5•Ű÷…zŹÁKyoµOY!„F-˙ 3ě> *˙ßUÁxcŕ·Šő»”:”GH±ęŇNAŹEŚçýěŻJúCAĐě<7˘Űi:lF;[uÂî9f$ä±=É$ššXhÂ\ÇF;;«˘čô{šTQEuQH@<ŽľÔ´QEC5Ô Ë*ŻÔĐÔ„…’’kźżń†›dďď^ańâYĽĐ.tË B5Řňś§_,ýďĚqô4Ëjţ-xŠëPy €ąKe= ~^=úźrkŤń;_[çý_•ňýrsý+*Ęůí$ÚOţU6łx/ %TŠŕTš­Ě}\ńÔęeľÁhŐż2¶—©ÝčÚĄ¶Ąa3Cum ’7őőˇÁ"ľĐđö±żáÝ?V‰v­Ü )_î’9_Ŕä~ń%}—ŕ Ť3Ŕ:ĄŇěť-şwRFp}Ćp}ë¶'ÍÖŮQT`QEQEQEQEQE×D–6ŽDWFYXdz‚)ÔPĎľ6ř~š„·ľň¦´îű’lxŹ˘łpWęAuë^Q©čľ…©ľť©Z˝ĄÔdnGaŽ{‚2÷Ż¶kËľ5xPęţMjÖ"×Zp&MŁ%ˇ?{ţů<ű Ő<¨ŐU’ŕφô˝J–î7ĄÂ-Áu:ě_Aśę@Ď@©WĎ? ĽRÖwki+đOQ_BG"Ëȇ*Ă"«c6ÜťŘę(˘Q@Q@yńŁJźSđÉn +„şu$  §ňßź Żđ˙Šî4—Tv%Cé_Y:$‘´r*˛0!•†A±ŻńÁ ˇw5ç†$‰ŕrXYJŰY=•Źg¦qŹSÖ€5ü1ń:Ńďá´ž\‡\őâ˝bŁąd‰Ă#Ž5ňě? Łë\_^Wřt>ˇđ¬”?‰ďziůţź#čş+—đ_Š‡‰,$YÂ%őľŠĽŁů䮢»a58ó#ĺńzz®•Ef‚Š(Ş1 (˘€ (˘€ (˘€ (˘€ *¶ˇ¨ZéV_^J"·…w;źČrNő嚿ŠFîVM&5ł€•ÝCČ~ąĘŹ§?ZĘ­hSřŹC–b1­ű%˘Ý˝Ź\®OÄż<7âŹ2[«‚ńů7Vß$„úžÍř\üKŞď{Ę:¤ ţůţµčńµ·OŮgAo~"0IYęT˙CúÔSÄÓ›˛:1™/ i$š[ۧŕŹ$ÖľřŻÂ¬o4;©[Ż%`JĽĹ˙$űS|;ńoRŇĄű6¤¬B¬čG\ŇľŻśţ<řjëOń,~#Ú_˘¤Î2BJ€(Ó*?Ý5»v<Ç™ŘŘń‡‹­ĽQ5Ś¶Ă G'<OoČW7ćq\¦¶Ń#xřűőĺVŁRSrî}ö_á(aŁJű#čź…7ň\č7V®Ű’ÚÝ˙˛dŹĎ'ń®ö¸„:5Ö›ŕń{zĄ'Ô¤űBĆz¬x3îF[čø®ţ˝*1q¦“>31­ Ř©Ô§łaEV‡QEQEQEQE×D’6ŽEVF2°Č ö5óOŹľj~Ô'żÓa–}±t–,±€üŻÜÓqŕńÎN+éŠ(ăë_jV =kÓ< áŹř®ö+Ýn9-´XČr’©ëŃ@ţď©ü^=Żű2ĂĎóţĂmçnßćyK»vsśă®{ŐŞ(˘Š(˘Š(˘Š(˘Š(˘Š) Hu5…â]z=YŰůgĽŞsČUÁcú˙Ż1ńߎźUŐĺŃtűŤš}¶m‡lżÄ ţęôǨ'ž1ťZŠśy™Ů€ÁK]Q‹·™é·>7đݬľ\š¬LŘÎbV~j­-?WÓőhËŘ]Ĺ8B7#ę:ŠůŐ­Řę:mäW–r§ŚĺX#ę=«†8é_Uˇő5xZ—'îćůĽíoČú2ŠËđî°šö‡m~ +¸ÄŠ:+Žúgô­JôbÔ•Ńńµ)Ę”Ü&¬ÖES (˘Š(˘Š+‘ńWŹlĽ=3ŮBźjÔŃç <ŤÇ×ăÜWI©ß&™Ą^j€cµćlś *–<öé_1ZËŞŢ[¶µ}iuĺ^9Ý<,#v'ś61Öąń5%{§±’á(bq®ô];łĐ˙áfxĄßţ9Ř"8úuĎë]—†<m­Î–W±-­ăp„6RCč3Đű~˝«ĹŇ@G¤Yš7Y#vGRYN#¸5çĂR.íÜű NE„­MĆ0Q}ţµ>–˘ł´@ęş ŤóľhUźýěsúć´k×Nęčüępp“„·ZQL€¬Ďkč˝Ő%‹xň8‰ÂŹÄ+NąźZ\şĎ€u‹(žV„HŠťXŁ}vĐá b;ý1ËşVů‹ËÖş)ä0ŰÉ(]ĺ°\ă83Úľ_𧍦ŇY"™ÎŃŃ«×ôŻ‰ŇÂľdŠÜw4…¬ü[Ž=ËŁčµŔęź5 ÂÂ"ŔäÖ"h‡ZńËčÚZ“ß<0śnŮóóv 2}ŻsŃľ ř_N÷ßhÔ¦S“ç>Ä'ýŐÇÄšđC¨kŐĘÁÚ.&s…Š,Çč5Őh˙|]«ě–âŢ->&<µÜlwůFN}Ž+čű 2ÇJ¶ú}ť˝¬#ř Ś ü…Z Ö˙g˨ôź?JŐ–ëR^Zc¤ŃNN×í^y'Â˙G1‰Ľ9xX2 2ńî?ĆľŔ˘“F‘¨Ň±ŕŢřwŁ§â±Ç Ţ–áË0齇ö翡÷š(ˇ+)9nQE2BŠ( Š( Š( Š( Š( Š( šč’FŃČŞČŔ†VĆťE|­â˝ řâH#ĎŮ‹yÖÍ’s'źQŚ§˝{߀őôŐôÓx,"ł~.xKţ? µĺşć˙M 4` —L|ëů ŹuÇzňż†>&}7R[g|.~\žÔôĄĽÉqJ‡*Ă5%QEQEQEç~Űx˘ 5--ß[O›půEĆÝoFă†üŹD˘€>đ'Ä ÝP:>˛˛FŃż–Ë(ÁR8 ŽĆ˝_ZńöŹŁŮÇ “í3&ř­Ł<‘ęǢŚńź®Á¬ź˙tßiל{-5h"Ţ.yĂŞ‚v¸xŁŠůűHÔžbiÜđKšĆĽĺ^;žžS…Ą‰Ä(Ö~ďćzô˙ő٧f…-`Ź?*÷`gŚ’y?—Ҷ4?‰îó¤ÍĽjŚ@űD ŤľěĽçę?*ňŘĺ 2 JĽČâj§{źqW%ÁNŠš^kĽúU$ŤdŤ•Ń€*Ęr=Á§Wđ·U’ďGş°’,ÝJŮ_'?ťwµëSšś‘ůö7 ,."TeÓú_€QEg(QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEWÎźu‹âsĆîJĄ¤J€öś~dźĆľ‹Żřéŕ{­V ip´łŮÄc»DĺŚ@’űIlűŘTT‡jXŔŚ?ŇXÜg¨ÍüÔWş×š|(đLş=‡öć­5;¤ÄQ“ź"#ŘŹďţŹš˝.»đôÝ8Yź'ścaŚÄűH-°QEąĺQ@Q@Q@Q@+ń—ÄN5ý?BŽLE?i•U¸gbB‚=@RŕuĹĹ(użńęĘ];ÇVZ’«ů7–j7…Ń`>€ˇükŠ°ÖŃóWťŠĄ)K™ećéQö2:Đő$RÚ\Gso!Žh:8ěG Ö,z˘0äŠlú¬h„‚+‰BW>šXŠ·oCę=&ý5M"Ňýâ%“ýŇG#đ`ŠIŰžz~—µq,ćň>š\E%AŮ{ÖĐúĎGŃ,4#i§Äc‰›{eËlO?AÓŠĐŻ#đ·Ć[[˝–ú˘ůrtÜĆ˝BĂT˛ÔâZN’Îć˝’VGČNr©'9»¶\˘Š)bř“Äö>˛Y®Ë<˛’!>ô„uú‘“ďß^qsńC[žbÖńZŰÇŮ6?‰?ŕ+Šń—‰$Őľ!ęţcż—i;ZDŚxAÚqő`Çń¦[fâDŽ2 9dŕW›ŻSź–:#í˛lłđŢÖŞR–îű$zVŤńBu™bÖ-ăx‰ÁžC/=J÷ü1řץĂ4W0$ĐȲE"†GSŔ÷ç:o€|=siť«\=Á_ŢyNŞąöIĹv>ĐLJôů,ăĽk ĄâÜ 2:ó“Ű­tĐöËJ›&hňę‹źí%ŇÎĎÓ±«<Ý[ÉoqK ŞRHäPĘęF đA¨’e·ky"G…ĐŁFĘ •#ÓíJň¤lŠĚ9ÂŽć‰bY˘hßvÖ;X©üÇ5Ňx‡Ě>5K xĘ˙Lµ”5Ş°x@líVŰÔô9úV0ÖZy#‚dšVĽ–bpükÚ|Wđ?Cךk» »»÷ä3ČfŤŽ1ÝíĂ z·ŕ„Z_.Qąśę¨\,¬c‡=v/'=·Ó 5ČđrąďÓĎńĄË{łłđîšúG‡4í>B °[˘HAČ/Ź›ŮÍiŃEu%ec”ś›“Ý…QL˘Š(Ç|sđ\ę7ňj^{{v”î–ÎLŞgąB3Śńňž:ň:W–k~ńG…-cąŐ,%µ‚Fز,¨ë»Đ”cŹÇŻ5ő­gëš5ź4kť.ú0đ\&Ó꧳ppE|•áíU´oéÚ¦ć˙FąI_YAů‡â2?ű­|yâ_^ř_]¸ŇŻ—÷‘«ňȇŁcúŽ˘ľšđ>żŻˇŰŁMćMj ’Řh©˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(Ĺš¬ş„őMN ÖöîńädĆ‘é’+Â~řCKÔ.˘Ô5ką@ŕ…¶çýă×ĂZ÷źé-®ř_SŇѶÉsnč‡8±ňçŰ8Í|Ż¦ëţľ’ŢExŢ)$MĂ#‚ő€>ą¶Hc·Hí”aBôĄŻ Ń>)*FˇćÚ} §hżµižY%·ó"ÜJ–8źŇ¦SŚäͨaęâ'ěéFě÷ +Ëâ˝é<épc·ď tşÄ3X•mîŘܱ¬Śç€Ž~ ~5”q4¤ě™Ý_%Ćч<᧓Oň:ę(¬ř¶ĂĂčgĚ×RçĘ·F›Üú/lţ†µ””UŮÁFŤJÓT髶oŃ^A'ĹnI•Ł‚Ę4îlcź©ĎňĹtţř‰«u–Ł ZÜ? "·îÝ˝9čOnMcU9;&zuň,m~ŇQş[ŮßúůĹQ]ŽA}möÍ>ć×~Ď:&Źv3Ś‚3ŹĆľ%?iŇo浸Ť˘š 9cn¨ĘpAú_p×üQř@ţ%ş“]Đ i©2Ź>ŐU¸ ĎśŚä“2ŤŃ˝ ®ś®™ă6ZČŔů«Quxöä‘\ýĎ‚ĽUct-ćđö¨˛—Ř»m]źE ߆kŻđ‡Áďk÷Q>© şNšyŹp6ĘøD<çÝ€\b¸ĺ„Śž‡ŃQĎęŇŤĄ©ę?ŇY´ÝWQ &•"Ź#‚P1$zýđ?ËÔ*ž•ĄŮčş]¶›aŠÖÝF™Îą=O|ŐĘ맨Łçńx™bkJ´·đÁEćŢ8řŠún˘ú&ŽÉö¨ÇúEÁĂydóµG÷˝sÓëĐ©5ó0ÂajbŞŞT÷g¤Ń_:>Ż¨Ď#K.ˇtîÝY¦bOë]‡üwŞhóĆ—3Éwe9sţÉ<Śzt®XăbÝš±ďVáŠđ‡4&¤űl{U ĄÔ7¶‘][¸xePčø55vź2ÓNĚ(˘ŠQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEyţ˝đgÁÚíË\}’m>g9f±q?đ ŹŔW5«üÓ-t©&đýĺăę‘0’!y"2ľ?‡…\B{ţcŮhĄdW4­kž7ŕs[\¶‰®+ĂsŮ$*G^Ă©4k$ld\'Ä/‡x­WRÓ^;Mnm”đłŮńÜv?ă§+ŕoŢi:řÄĽP·–É'óůÓ$öŠ*8fŽâ%–& Ś2©(˘Š(¬ŤsÄÚ_‡˘ }>$a”‚1şGúN'ŻßŢæé×W×-˘y¤#˛¨$ţ‚ľ{ÓĆąă‹ű«ř­ĄşťŰ|ŚżueÉŕ`p ¬+Ő”#ząN–*Łöňĺ„wéřž‘˙ ^ŰĎ i3y=śĚ7ß8Çë]V‡âť+Ä‹9ŠĚŁ-ŁkëŽăéšđ»Ű+˝2ĺ­Żmä· ‹ŚŚă#ÔpySm/§Óď!»µÇ<,v#ú{Wq•#/|úzü;„«Jř}G{§ýyHQT´ŤAum"Ňý¨ž0űOcÜ~uv˝4…ś$ă-ŃÍxçÁ¶~7đóé·-ĺL§Ě·¸ ‰˙¨=ďůWĘ^"đ¦ąá÷¶Ő¬Ą „ Ĺ'ˇVčxíÔw×ÚTÉbŽxš)ŁY#a†Gę(jĺBŁ‰ń&ťŁ©^ĂecĎq3D^¤źĺ^óŕßëk%ľŁâ‹Ď´\#,‹cúµ#ś;nXVŤôtđOÄ[]j΋OÔá Ł€ÇLđßRŢ•ěş. š–™ęŮ;@5* ORJ×ĐТŠ*Îp˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(Żř—á ^ßSľńgÚcą´wQ$*kxÂŞ©äśŚŽqŚśc8ö‚@'w5Ęx«Ć~Ň´ű‹kůă™eŤŁxFŕF÷¨©8ňł§Šž˛«‡…Ăt’(!…Leë^Ż$ WqeŽő§§ŢęÍô:~ťo,÷S0DDőî}©í^[ÂÎúuO?øŢ{źMü7ľ{ß[omŢKĽAłś€xüÇá]ecxOC˙„oÂöQeyaŹ÷®ąĂHNXŚóŚ“ŹlVÍz‹ŚRgÁâŞĆ­yÔŠ˛mż˝…QV`QEQEäęĆâÝd1´±˛%r1šžŠř˛ÚęăHĽšĆí)ŕ‘˘‘Ş˛ś~„VUÔĆćîi‰?;–çë_H|Lř<ž)şmgC’mQ‡ďâ‘Ć#î·oCĆqÉ>LżŐŠ¦”›GĄ,dęRTäôF/‚l’űĶP´iâ$Ťd[©€~Uö]yŹĂ/„ńx6OíMRH®µ‚ŚÇ“¸#nz±Éúp;çÓŞă6ÎZő”ă%µţw*ϦX]KćÜXŰM&1ľH•ŹćEpž3řWe¬±ÔôšfŻČňĆŘĄö`:qřŰŃh«9Ďš•tËíEôoéŇiÚ˛>×É=  çŽNxčEhIáx9Eţ‡ruŤ0rŘę?ÚŹ’? Ŕw5ěŢ*đv‘ă m©BD‰ź&â< "‡Ĺy*_x›á6Ş–Ú‘k˝"FŰŇ‚Q˝˝Ź±ôă"€6Ľ-ńšÚëeľŞ»¦ăţ5ęZ~­e©Ä$´¸Iě5çzퟀbŃ‹/ü˛ż·Z’r@G5éQŘi>?đü6׳/âÁt9e'¨aü@źÇőĎ'yđwĆ0JÂŇĆřxÄ¶× “ň± ú`TJ’nçE láMÓOF­÷”lĽW«Ycşfćşť3âĆ«f@—q¸57…ţř‚ęédń ÉĄŮ)ˤr¬’·°ĆT}I?C]ąřáűĸš=Bň2V0,DŤ3Ŕ;,qžr:ôăťQÁ$“Ń•Ľ-ńMw\776ŘŔHŃŹw8ő'ůJőŰ{îbFŔ‚+ç‰ţxłĂúüńčĐNÚV3«$;˛2FÖnŁž„öőĹoi9şŇnšÇQŽ[[¸C2•eă# űdžÝHHZá!ř‰lŃeť _đß_ÄšÄĎ6¶‰†`xŢÝżŹĺë@mQ@Q@Q@Q@Ĺ/§‹4#uiuk%-QĚ«ÔĆ}}Gˇúšń߇Ţ*›CŐÚWeMŘö>•ôý|çń§A±ĐĽWk`ëę(ŇÉ®6: Ś{?cŢ€>˛Ô!Ľ°[´$®Ü ±ü‡&©éľ'Ńuy|«-B)$ěŚ 1úźÂĽ‡Ŕߤ°Ń%«<Š…cR8-Űđő¬ŁV*ŔäpA®Jřźg$–˝Ď Ę˛GŚĄ*•/ĺ}}?ŕźJWâżÚh›XÖîü şîÂĹé»ßŰůqT4OHľŐµ˛%ĽŇ`f%óűß”óŽy#i>ŮŻÓőGĽ’K‹‰L“LćIşł’OÔš+W~ÍJG–ĺpúě¨âľĎNýľ]OL?üBěH{eçh‡íÉ®źĂź"˝ť-5Ł·•ÎÔť8Śźöűż\ăé^H’:Ó÷ń\0ÄÔ‹˝î}N#$ÁŐŠ‚^kF}/EsžÔćŐ|'i5Ă–<ÂÎz¶Ó€~¸Çă]zđ’”T—SóĽEP«*RŢ-Ż¸(˘ŠŁ˘Š(˘Š(˘Š(˘ŠÇŐĽSŁh®cľľD ůJ żLŽLű┤˘®ŮĄ*U*Ë–ś[~Z›W5găßŢH#ŢKçˇ@ń5Ň++¨e`ĘĂ E(Î2ř]Ę­‡­AÚ¬\}U…˘Š*ŚB¸_|,ŃĽ_9˝Wk HŚ5ÄK¸Ié˝22G¨ ú绪(ć_ü.¸đfşťć­o2ĽË Gl 1Éę}•ŹáYúl«ä*Ś +Ńżhu”xkG•CyKzCŰŠ~żZń]3SÚ'¸ńpsZKĂř¨aäůşť˛µ?ue[ęę2jĐąL}ęóksî#RW‹:‹_Šz‡‡Ú{˝óĂ·ĺsÉăüŠágń]ÇőűÍV퀒âL…G ŁčŻEř{áťĹĂUMZÍna…cT$•*ĚX’¬0GÝţµç^0řoâ/_\Ü‹7¸ŇDŚc»çULńĽuC‚ĎčMzq‹«A&|5j´đ9¤ĺOoóIżÄÖŠeu—ÄŮë›@ Ř5ĄýĽ±ŕÉ&¸eBiŘúšY¶¤y›±ô˙ő µ_ é÷w ZVB¬Ää±V+“îqšÜ¬?ishŢÓlnsç¤{ĄýÖb\ŹŔ±…nW±ÔR{źśâĄ Wś©ü-»z_@˘Š*ŚŠ( Š( ľ4µ×&ĽÔ®o.Xî&y¤#ˇfbOękěşůâ7„î|ă¸<­–SČÓYş®ĆNvŹuÎúzŠĘ¬ăfw`1ĂŐ牷ox’¨äf¬4čYë^m«If­Ť]®."Rß"óřם,,“ň>Ň–{JQWÜőM?ĆšŐŽŤ›gr°@…e@_“Śśă“Ú¬ŰřßÄpJjr?ŞČŞŔŹÄWev˛Fy«ęőŹ´šŇěô– U9{8»ęôGµxKÇř‚O±]F–÷řĘ…?,  ťąčG§<~8ëëćŰkąlîbąöK‡F9ô]ŤŇ_iö×qýÉâYWčŔüëŃÂÖuRÝźeÁÎ5)itěÉ袊ë>|(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š+‰řđúßĹöbęÔ­¶łnż¸¸čŕoCŰ󶢀9üĄxtşĽH„äT~"Ňţ!kÚ«É} kLű°ÚHČ>„ ~9®żŔ_őKËču'٬˘`âČ°/1›*úŽ§§k’®Tź1ô~q<Ňß[Ł×~[Kkŕ-!&Îů"3`Ś`HĹÇčĂ˙­]5"¨U  ‚–ş’˛˛<•IąËvď÷…QL—řáŻřJĽucÍÔéßőŃAŔüA+ř×đ“ÄĆâŘY\1/ČÁş‚+×+Âü_§ż‚>%G©[Ťš~¬L\üăó ˙Ŕ˝¨Ý(Ş:Eňj:tS©É*3W¨˘Š(˘Š(˘Š(Şń]Ĺ=Ě°ĆÁŚ<9żĄXŻđgŤRú ‰2˙j—~OSĽó@ĹETµÔ­nă «Ďbjy'Š$,ň(Ţ€̨Ą€RMr~ ř…˘č_şó…ĹË©|–=€“Y7š7Š|_p[SM3DŢ‹K*ú€8QőçÚş/ř'CđĎď,­|˲0÷—Ě™˝~cÓč¸ÔĘoxČ©“šý朏hűŔ>ŐŇč^Đt d[o¶^8"K«ĚK#g®3ÂŹ`tôP¨üđ>ŁrnŹöwfÜÂÚgŤO¶Đv¨˙t čĽ?áÂĐĽz.—¦˙ľă,ě:ŕ»Ä{ŠÚ˘‹™°˘Š(QEQEQEQEQEQEQEU{Ű]JĘ[;Ř#žÚeŰ$R.U…X˘€>_ř‰ˇŰxĆqé–5Śöëv‘HŮňÉg]ąďŤĽ¸=úšđ]Ĺs F † ÷ę_Ľwâ=ŰWŇâyŻtŕÂHS“$'“´we#8A=Hľt¶Ô¦$ŠăÄPç|Ësé2ŚŐaˇěćŻnŢňóBľeŤĎđaę+¸Ň~'InŠ˛ł)çqŢËŞĎ ¤6Ň\\ĘÁ"Ť,Ěz^ÓŁü·“Nµ—WÔî"»e <0!÷Cňäfş)ĘM{ËSĆĆQ§NŁtĄx˝»˘oWÚýěV”Ż=ÝĂl@3ęĚG@:“č+Ôő}^ĂÁž7wÓ´kŕ|Ňż@îIçó=‰¨Ľ/ŕťÂ2iv¤Lë¶K™[t˛sŘ{µxWĹŻŹëâÂĘRÚeB:K'FqŘ{gÖ´9kđGŤ´ŹZÜ˙g}ˇ'·açÇpXîčăŚ×#Lä|ZĐ-5Ż ŽÜÉ­ČÄŁĚ~yOR¸Éö<מ| ’X|QŞJÎËhšy2óňîŢ›r=qżŤ{6‰ę—rk· B¸)f„}ŘżżőnŢŘő Đ>řĂU™EńţĘ´ď$îČÎ8E9Ď×oÖ˝ëĂ~°đľŤ™§ˇ©ÜîÇ-+śeŘ÷'ňµkQ@Q@Q@Q@Q@|éűBŰKŚ4›É6ŇXůj9Ád‘‹{tu˙8Ż˘ë™ńׂěĽqáöÓ®\Ă27™mpŁ&)0GNęs‚?¨“WEÓ—,®|ͦë ĺŞäô­…Ôb#;«\ř}âĎ \´wzEÓ <\[!–&ôů”qô8>ŐsĂ~ńŹ‰.R;m6âŢÜźšęé Q¨Î ýď˘ä×đ‰˝«Ăq ©ÂÓW=ÁZ\ţ(đď‹l­şKd!Ź-´4§qAścQź@}ëĹ-®ĺ±™˘‘Y VV*GPE}‰á/ ŮřC@‹Jłf“É4ĎĂK!ĆXútŔµć˙ľ zţ]oĂŤ 7˛’÷6˛«3őܧ cß<Ď9éŤ(ž-lĘu±RŻµ˙M$´ÖQóUá««`/,N’j‹|/ńÄ22ŢnRA+´ŹŔőF±Ô>řÎŇoiĎÄ8’$vWQžŽ$69čx>ăŚ-ž¬8†­8Yę}ŕm ř^ [°˘îF3N«Ź•›.GR>Ţ•ŃÖ>â+-~Í&·‘K’ ÖĹvĆ**Čů޵eVŁ©=ޡES3 (˘€ (˘€ (¦łŞ ±ĹqĽjŢÓ-í­ Fř˛ÄÄdF‹ŤÍőä˙ÖŻIšbewgw;™ä’z’}jŹĹoGâ?¤Ö±Ëµ”FŮD„|Ě‹>Lä~U›§jŞPÜWźŚ„¤îŹ°áĚEPq–ěéWwđóĹZjQč÷23ÚÜ°î9ňźśězc×őćńÝĆĂďUý&去§, ™Úę%Ź1qŹÖ¸éJPšhú,} 8Ś4ă;Zßsî}'EW¸~ZQEsŢ6đĽ^0đĄî‘!U–EߍŇ9G*~ťŹ±5ńöŁ§_hş”Ö7ĐIou•tpGNăÔző÷sţ&đW‡ü]®±§¤Ň ÂN§d¨:ŕ0çÇŠM\ŇťNSăčucëÍZĚ„aA&˝ÜţĎűPa«j˘ßĆL{ĎŢŰŹŇşÍ7áG4Ý2KŃb¸ŚI=Á/)ú?T˙€â˛tb÷Gts°VŚŹ7ř_ă› N62íÍ!’fn =Ŕúžőíšvµc©ĆŢe$˙ 5ă>-řujZďÂóµĚ|“i;"˙şÜú:šŕěĽCŻxVüŰ\¤đÉĂC2•aůÖ©$¬Ź>s”äĺ-Ůěž,ř!áÍ}Ć–?±ŻO9·LÂÝ:ÇŔá#®H4ď|ŇĽ%y§}qý§©G4{c…˝Urr} ú€ Qđ·Ĺ«{°Ţ7ÍÓćŕצŘjÖz”aíćVĎlóEsĘÖąvŠ(¦HQEQEQEVvµˇi~"ÓŢÇV˛ŠîŮż…Ç ú‚9Sî5ŁEy Ďěőáą.•ŕÔő8a-—˛1Ćz)ŰÇsšůďPł“Mľ’ÝÁY!vŤÇŁ)ÁŻ¸«Ĺ~+|)ąŐ/&×´|Ůeů®­Wďţúzç¸ëÜg4š4ŤFž§‰ŘjŚ„)<ŠŢ‡YPśśžÂąťODÔ´icŹPłšÚIĚE‘v±\•ÉG*G>•Q`p»ë–xxČ÷pŮĹz*Éčw¶×’^\Agn˘K«‰(Đ7;3îkę.Óű?Ił˛Č?g"Č9űŞôŻ řeá•đĹ͇Š<@Öć6ltp±;Isýüg¦ Á'8÷«{.âÁ"ȇşšş;ľç&išOË´Ih˘Šč<˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(Ż,ř±u—ŻřgQktČ3ĆÓlä*7~/îkÔëřŹáń‡…^ŇßhľüűbŘ ç° ţxô  Ľ=â»[ëXÖIqÁÍt©q Ś¬ŠGÖľIł×u_Ý˝¬ë"I x¤2Ôéíţ'ĎxmŕĐľë·6íĄ\Z›ÜFaVŹ”°ĆG¸Í?Bđţťá۲éĐl wI#ŇJßŢv<“úŘĺß®5_ë±ę3Ĺ"i6MĽČÜ %ŞŹ\ýď^É@Q@Q@Q@rü6Ţ'đmݴs˝yÚ=Ře~¤WYEyGÂ_‹Ű´™ţqňśžőęőá$±|N0 šnŞLńc€Żźťsě ö˝.ő/ôř§SťĂšąEPEPEP_9üRđ•÷…üO>ą§¤źŮ·˛LŠ2"•ŽY[Ó'‘Ó®Júîę I®îdÁ ‘ĎEP2Mx߉ľ ^kâ{;Ei’…AiTńóg¦}ćk*µŁI]ž†_–ÖÇMĆž‰nŢǦüBżłPŻ¸ă¸5Óhž$ńŤuÓ4¸¤PÄ ®YIH˙~Gąâ±ľÍnŃůfĘt¨Çĺ]wĂďŮxVâkImÄvwryW9Ť€Ćqéô¬!Ś„ťš±éâ¸j˝(9Ó—5şlţ]Ďfµ·KKHmŁÉŽÖ5Ý×`fĄ¤VW@ĘÁ•†A ŠZě>p(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š+–Ö~xC_»k­GB·{†%žH‹BÎORĹÜyęs]M 6¶9íŔŢđĽ¦]G‚Ţb1çŇHpÉ {] ‡}ă Á&/¨Ă$‘)cLŹáłŰ¤äŁ».ŞUv„[~Zś§Ĺß7†ô!¦XČË©j T:śbčÍő=âs‘_6×[âËOëMsâíJĐ}’y‚nŽdCýÔ*˛€9¨őç´´žúîKXš[‰ś$q¨Éf' OTLŁ(ľY+3Öţč3]Ř])ܑ޲4î1•  őŰpú.{W»€@8v¬O x}<7áËK îťc_=óťÎČ`ôő&·)’QEQEQEQEQEQEQEQEŤâ_ iž+ŇdÓő(C)ŽP>x›űĘ{ç޶h ›ď¬ĽCđź^Ě“én˙¸ąQň¸ëŹö[˝Ž2+Ůü%ăKŮ!YTMŽFzÖö§¦YkŘę6ŃÜÚĘ0ńČ8>źCď^âŹk? u!Şé2És¤;ýŕ>h˝ńú7CíĹ}Epř‰gâ T†â@—c“üëż##ĄQE“PÍs@ä‚EsşŻá·S—PíĹüp)9S\–·âŘ,â‘Ě “šáĽGăÔ0YyôĽőﵟęOӭ渖\â8ĆIÉôć€9{í÷’I3`Ęě\ű’rj„sI |¤ŹjúÁ˙-ŕDĽńDžt˝E”-„_÷ŘrßAîkżŐ~xKZ‰#ľĐ,FˇÄžK*Ž€ÁÇ>ľ¦¦Qąµ:®Éęň ÁÍ{ÁŻ j–§‰ő(^pM˘¸ÁťČĆáţČŻsÓˇŻJÓľř#KąŢ·2ž{ĽŔŔdb?JëŐB¨U(t ”S˝ŽŠ™…iĂ“™ŘZ(˘µ8BŠ( Š( Š( ˛µĎ hţ$µű>­aĘňł :şĂ‘řV­ó‡Ä† ŕŰDŐ´ëŮ&±y„F9÷‘ pŕŽ1ž:Žµáok6ş„6Öň´ýŃęMv_ľ CŞ;řgLĂÁżéswS÷W# =OsÇNľMĖ҉"b¬(ëŤ#^·¸µ‰$›s…ąî}k`\BĂ"EÇÖľZŇüsshĘ[Žâş$řvVvcŔ“@˙ÜS\´1¶â‹–# ĎOëV+šđM…ő¶Ťö˝Q w·dHŃ7X×*ź~I#¶q]-QEQEQEÉx˙ÄźŘM´1ɲâţo%Hę©Ś»ĂţšëkĆ?h%ű.t€ăyăf‹#ôV 6ńď-üCŻE-Ş ­˛Ú†ĎßÚĚKo›ôÍrÔWEŕĎ'őءąvŠÂ2â@pv˙uN>ń˙@Cx;N¶Ö>iÖđ mî-Šş0í¸ŕŹB8 ö ^M&§âٵš[-ĺa¸ÇÉ*ç‚LŕgiäW·Ă¬iZvź äG¬q <*¨Ŕ«Ęk@[»t–Ţć<´R(ee<ŚŹ¦(•đ·Ä­'Ä*<«ýÁăší•ŐÔ20e=5ăţ*ř,˘FÔ<#pmg^~Ç#ť¬ŮrxúŹq\ĆźńÄž¸}?]ł™eEČŽaŤŢ‡Ü:Š•Ý‘ë~+ńŐż†îÎ;csxÉĽŤűUÎ2y9ă8ô®nŠ÷^b™´¸LÄRę yTzÜú˝Ô×·“.'rîçą?Čvµ^WŻ*¦&Ż;ł±÷ř,ŹđńćŹ3¶®ďüĎ ´/iţ!µ2ŮHw§úČ\aÓę==ĹkW€ř[W—HńťÄlŰZAŞ?‰€Gőú^ý]¸zŢÖ:ÎrŐ¬”»-WůQ]QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEsţ đG‡|P|ÍWLŠYŔŔť ŽAĆ̸'Čö¬;?ľ ´¸ n08IçbąőŔĆ+Ľ˘€#··†ŇŢ;{hc†Ô*G…U pIEQEQEQEQEÇüKđĐń/®R >Űgţ•lÝ÷(ĺ‘őÁíP|2ŹW†]JÝ YYĚ}ńŰńć­|EÖż±|2§vÓyr–ąö9fŠ©Ť\đÎł ĺ„qďŽhˇ˘ŠÇŐüIeŁN°Ü6“xÇ#úPĹÄ\|HӢΠ~&±îľ,ÚGť˛F(Ó诺řÄ;%ü«ëâěC@_Ç­–“¦č±HÂKŮŚ˛…#8ű«#ýĘó+;•’1Ď5Îx»^ąń¤ş„Äć4¦{/'ů“U,5cŽ qb¨ąęŹ§Čsá“„¶gv”˝`Á¬),*I5„U'"Ľ˙g-¬}zĆĐk›úᾧ.Łá$YNć´•­Ăę#ň á]up_-ćŹŔËu.q{s$ń‚0Bŕ üöô"»Úöi& “?5Ě% âŞJžÍ°¤$($ä“Ú–Ľ»â÷ŠźO[-ÚPŤv¦kť­†ňÁÂŹŁŮ˙wµS—$\Ś°´"´i'kť©ń#C°™ˇ€Ë{"ńş l˙ľ‰çđÍ3Nř—Ł]Č#ąIěÉ8 ăr~$r?*ńxÜ©·W™őĘ—ą÷?ęÖ C—[÷żôŹ¤ŃŇXÖHŮ]VSAčA§W—ü2ń ßk}âBń2-ň~᲏b9ü­z…z4Ş*‘ćGĆf)ŕ«ş2׳(­ ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(Ć<{㩵-bďB˛s•¬†)™O38á˙dŚw#>ăĐń\Nź©MĚ‹tXOĽů›ĆvyĎľk§·ľI|Ü׏‰RçmźŁd•(,,iĂG×Í—çŤn-e·rÂ9Wk…8ČČ#őţş‚>·7úŽµvb’ćĘołAt%A2c¶U€đ*ç´»;Ťbţ++$ó&”ŕsŔ÷>‚˝›Á~ ŹÂ_mÝĽ÷7Â?8Ô  m䞸 ßçwŘňřž8~H»ţóôóý®Š(ŻDřТŠ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(¦KsÄńJ‹$nĄ]d0<GqO˘€<'Ç? Ż<3rţ đ ŮĆ “Ű%ˇÇR˝ŮQŽă§AđďâZj«ť{ź< _˙Uzµ|ůâë¸<3ńrüĂi´S,n trĘ 6;ełůg˝}`čj˝ü¦ ¦;±ç°ëúW/áĎŰÝŰ"Hŕń×5Ő-͵Äd •†=Ĺy_ýp?Çćée’y^Y]¤‘Řł»ś–'’Iîh•bÂÂëTż†ĆĆžćfŮh2X˙žýŞ(˘’yR(‘¤‘Ř*" –'€îké_†?#đ–ž/ď”>±uó=-Ôó°{úźQÓ$‡ö~‘ŕŤ¦ń"Ç)P]ËpVÇ 0gëŠî|+đŻĂľ¸[´ŽKëĺ9Iî°|łęŠăŻ$z×oEQEQEQEQE‡âď AâĎ Üé3°ŚČE.Üůn:6?CěMnQ@ë%ţ‡®OŁŢE‹Č\!D;·d¤zäGÖ´­Łń'‡í<ćŇo­íyžd–ΊG®HĆ:WŞxsJ‡WřÁ®k7—ě÷Ť ůÚÉňřmŔ˙őW°¶66ŕ ă}(Â< ˘xŹĹ×P]_Ĺ%®§sĘüŔţ¨?ŢéŚóš÷p€ŘŁXˇHŐUU( 0”ú+Íľ8č’jß帅I§N—',S[ŘmÇýÚôšk˘KG"+Ł¬¬2=A ;;źŘęOn@cÇ­tvşÚ•a^ă€W}%ß…n îw}ŽáĘÉ=°r=ŽÇS\žźđGÇ7W"9ě`±Ź#2ÍtŚŕ…Źé\µ0ń™îa3z¸udô.x^WÖĽU¦iöŔ—’áKţSąŹŕ5ôÝq^řo¦řŢIRVĽÔçM“]¸ÇËśíAü+ ä’GĐÖ´ŁERVG&eĎ5)l‚Š(­Ź4(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ĽóâŽ%Ňn—EÓ$ vŃu‰O@ľŚzç°ÇŻRjśy™Ó„ÂÔĹVTiîÎö[»h$×FÄdp?|RÇ2oŠD‘znFWÍÍ+Í#I+łČÇ,ĚrI÷5sNŐot‹‘qas$2qť§†ö#ˇZâXíuZK>jíO{ÓOĚú"ŠÁđź‰ÄşOžURć#˛x× oQĎCţ5˝]Ń’’ş>ZµѨéÔVh(˘ŠŁ#‡řµŁK¬řčŔĄ§˛u»E~\†˙ÇYŹ~•ă>ńĶ"™ČÇĎZúu”2•`#őá^:ř1x—sj^EšŢF.ö9 Ń’súľÜŔ ·Kř‡DˇĄękřą¬ÇŞI¦ŢÚĘRUW†@­÷—‚ż–[ó®%|7â»knş.®’HAi&HHäWkᏄž"×®á›ÄBK 9Nâ®ĂÍqčř~­ÓĐĐ; |:ńWŠtѨŮ@żdrDrM8]ř$ĽŠé­ľř‚L›­OMc#aw9ô?(ţµďvvvú}”v‘,Vđ Ž8ע¨§ ¶ýź­×&ďÄ2ľGH­BŕýKţB¶­ľřVÝ-Ƨqňŕ«Ě gÔmPZôÚ(‹·řMŕ›t+ý˛›ĄžFĎľ `pxżŤľ ëšÜ·:ęši9Enž1ýŇŁ–úŻä+éĘl˛Ç O,®±ĆŠYÝÎÔ“ŘRjĺFN;Ĺi¨´¦(­nZ@ŰJ,lH=1ŚuŻIđÂ]W^Őa—ÄQËe¦ŞůŤ ť˛Î>\uQĎ$ŕúzŤźL˛ę÷·(×R2źPXk×íµ K+ŰquqM2ăqą‰~•<±ZłkV^ännÁVÖńÁ,qDˇ`*€áRQEYĚóÇÇčçłń¦•¨c÷Xy*pyd‘‹{t‘kčzćĽsŕŰ?řyôŰ–ň¦Sć[ÜÄ˙Ô„wü©I]XŇ•GNjHů˘ĂYR€­UÔ˘#9«Ţř%«kşhżţصµŤŹîđŚű‡ŻlPk|gŁÝŰCn-őîfň˘’ŢLy#xlc€Ok†x;»ŁępüFáYęt &kď6+ĘÁ˛É×…ŘWů˛×ľ×đŰŔř'Jw¸”\j×aMĚŁî®:"{ őî;zęŁKŮÇ”đł8Đmßx§•”ßôyĺň-%'Rsś ĄdeR¤ęÉÎníť˝+ž·ńm”¨ 0ŘÔ7>)†{,­9šâEŚcž§“ô'đ¦AÓŃEQEQEQEQEQEQEQEQEQEW‘|jđ]Ω"ÓˇifµŚÇt‹É1Ŕł–ϱ…zíńö™â+Ý0€ŽYGl×Ykń2xŁ·^Ĺ­|,đ–ąr×2éżfťţóÚ9Źqő*>\űăžôÍ'á?„4‹•¸]8ÝJ¸Únä2G}żtţ#éŠČřu§^ë—éâÝR‰RŠÁ\`°ln“×ő'ĐצŃEQEQEQEQEQEQ\OŽ~%é _"SöťA—rۡűľ›˝>źË9¤ÚJěştĺR\±;jăţ xňĎÁšKa–]Rt"Ö߯=7·˘ůôČń«ßŹţ&–rÖvÖ0FO ń–Ŕü˙­qšć»¨x“U—SÔ® ×÷誽•G`?Ď4Ł+•V—łvş~—˙"µýýÖ©5őôď=ĚÍľIä±˙=»Uz+Ůţ|8óŚ(Ö"S޲·uűÇ´ŚoîúőôÍ_ ~cĂux˙ÓćOôx9·SüG<‡#ňߏX˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘«j7&ËL»ş]ą†oé“Ϸç OŰ.ďďˉ ĹÔÓo·99üs^›(ĚN1ś‚1ë^yđ–ŰÉđüGůzś¨ë÷‡O¨ ŃEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEWĘľ#ŐĄo^!űA;×P™xůUĘŻţ:}U_8üođ]ć—â)ęđ.żs ęľ|±„G=@ôŽ?*úŃdFGPČŔ†VzäŽ5«>ŠŻJ3JMu˙Űń<á=ŰŢ[+üŤdŇ2ú•t˙ăÇóŻb®ŔŢ“Ă:ţ»¨O°¬ó¬Bśí·Čn}ó€Gűî+»®ŞÝ8rłÁÍqqĹâťX-4 (˘¶<ТŠ(˘Š(˘Š(˘Š(Ż$řżâ™­u ÂĆ8ĺ]\H. UúeXźĂÓź[Żźżh «OiÚ†6ŇÚý”Ľ+#łr}H~ű&ł«(4ŽĚXŇÄB¤–ĚÉ·ąxĆb‘—?ÝlSšBäł1$ś’zšä¬uŐÚoδż¶˘ŰśŠńĺJqŇÇčÔ±řj±çR>řw®M¬h ̆K‹Gň˱Éd#*OżQřW_^ađZ %ѵ-UÝL±Gž„FHăŐČëü&˝>˝zŢÍsn~y™ű/­Ôt~˙Ăţ!Uu;“gĄ^]+*`y?A…''ŰŠµXľ/—ËđŽ¨0™‡ăďüźű5jp đmżŮ|+cÄcůVĂśÜD›±÷ź¸ă˙fŞúD~N‘k:F*Ç&ětÂÇĎŻ'˙±4-Q@Q@3ÍO7Ę$z K‰ŇÚÚYäÎČ»`v&¸oxj~eÔďűË–.Ů9Ćz …w´P##ĄQEQEQ\ţ§ă]JĂ=ňĽËÖ8TąR8LÔ6~?đíäÂ/¶X™ ©üzÇźµ‚vş:ÖáΩĘŢŚé«7Ä:{ęţŐtŘ,—–s[«€şő­eu ¬XdrĄ­MŹaž}6ęKyŃŁ’'(čĂXß´ÖAQóW§üeřc±^řżL‘ ‘Ě˝·#NzăŁzŽýzç>žgđürŐŁn{¸έîęŽějÉŽ˘«ŹÜé·bâĘ@’*•Ýč sÖZnĄ|Ŕ(1§÷äŕ‰¬Ć-’9k*Ta]=QčcłâÚŢę1ÄL€ä,ëÍ2O’¬5Ínćd¶łIn&n8» ׺|8đNŁĄ7ö×d?Ú.Ą!¶ž¤‘ŐŹ·@}řďíěím7}šÚwcw—\ă¦qSĐEPEPEPEPEPEPEPEPEPEPEPEPEPEÉj˙4M.v·Ť¤Ľ™x"Ü ú'ůf¦sŚäÍča«b%ËF-ł­˘¸˝;âfŤw0Šć9ěÉ<;€Éř‘Čü±ď]’:IÉ+ŁU”ä{J#?…•ÂWĂ;V‹C¨˘Šł(˘Š(˘ŠÉńF´ľ𾥬2«›HDF8 řůAú±ńŻŚ5 BëUżžúöfšćw/#·rNM}gń^Ć]Cá~» ?yaYŹű±şČߢšůWsČîj$tQŰAQGŠY‰Ŕ 2MlZčúŻ•“fű1‘–PGŕNkSG{K(ŔŤWyűÎzšÚń‘ś× LLâýÔ}N#ĂÖ§zŐ5ěş|ŮkáO…¬ĽEăG¶ŐFRĆ#pÖ˛!ýöQźöA`OŻN†ľ›U ˇTŔµx§ÂkżÝŢĆŠßOxdlÉQ˙Űü潲»iMÎ Lů¬Ă 6&T`î—_QEˇĆQEQEQEQEQEĎxîłř]m›·YI3Źľ»sřg5Đ×ńN`žş‡ćÝq<)_úę¬sí…4'ĂË#ĂŃqü WX˙z>qó~|ÄđŚ>NÇa[‡>jóĆÓÇĺ@˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(¨®- Ľ¶’Úćç‚U+$R¨epz‚T´P’xŁáî‘ŕŇľ+đô3[=˝Â5ĹşČZ?)ŽÖ*H zŕ ńéęVi}aĘVD Kc§§\ŘÜ®č."h¤ě°Á®;á­ěé¦]hw­›Í2fýöśd{ö4w;š(˘€ (˘€ (˘€ (˘€ (˘€ (˘€ Ëń‡ôßčÓiz¤[yGŃ‘»2žĚ=ˇ"µ( ›őŻŮ˙Ä—‡űöÖúÔź”ĘĆ)ę9ę>‚®řkŕ©=ÚÉâ]B;{E<ÁhűämÄaGż?AÖľ˘§•{YÚĹ{ ]. ( XGiŃTUŠ(Ş3 ćüpwx}-önóîŕLçîâ@ů÷ű¸ük¤®_ĹçλЭoš÷Í$0¨Ăţű•t.Ëx×Ń@ý)fęVŔűŞąúd˙Z”p1PĂŤó0R3'_\?ĄMEPEPmFąÓ.ŕŹĺ…Ńr{• WËţń4Ú5Ç٧܅n‚ěkęšůżăNaŁř˝.¬äME ÄĐ÷8/˙9?PhÔ4?Ĺ,J@ĂÜ×=⊒i^(’ŮX4*Tä6FIüň? ńK]VňĚŹ*SŹCM•îőťHŠIî§eUŽ5,ÎpIâ€=÷Kř»eq+!>üWYeăm&đŢ…'ŢĽI> xµôČ®ÔY¬ě kF›/§8ŰúÖď„ükáăşăJÔ#Uęń/š§VLÔw © Ô¬î1Ü!Ď˝y·ÄŻ4Ťá˝:RŻ°ÉW¨ 2pA>ÄZńŰjöd~űx¦˛áÖ¦ĽŐn®®[3M+;~&°Äs{6˘zyBĄő¨ĘŞş_™Ř!©A¬ëkÄ‘G<Ő±'˝xŰn~–ššĽN×Á-›FżŠÂćMÚtĎ· Ő1?x{zŹĆ˝–ľcyRI⾌Đnž÷Ăşeܧ2OiŚ}K 'ůץ‚¨Úq}‹â|:s…x+9^˙ćKŞiĐjúMć›r3Ô/ ýť|e¬iz‡…uŰ­.ő \[ľÓčĂłb0G־خ_Ć>ĐĽm R[”¬WP¶ŮŢ„{{ă®ÉFçÍRŞé»Łĺ[ml¨Ž+Fß+·÷‰5í—?łťňÎEŻmŢ.Ć[vVü5ÖřCŕv‡áű¤˝Ő':˝Ň˘IXTăű™;ŹÔăÚłŤ%tv×ÇJ´Tfďbo‚>›ĂŢ kű´)uŞ˛Ď°őX€ýŘ>ç%ľŚ;^›E˛<é;»˛µőý¦™j×W· +ŐÜăđ÷>ŐĆÜ|SŇR}Z]M82`.}Ŕ'?ž+Îľ*qź,OŻĘ˛=j µfŰ}6±ďz‹ôŤ}ü«Y^;ŽO‘2írqÉđ5»_6Ăq%ĽÉ424rĆÁ‘Ôŕ©Ĺ{Ç…5†×|9k{&<â KŹťN üzţ5®í=ŮnyůÎL°IU¤ýצ˝ůTQEuź>QEQEQEQEQE!!Tł$öŻ8׾)G ĂŰhÇ8S´ÜË’„˙˛QďźÓ¬BűrH#ź¸8ô'ľů×WłÔ<ŻMŁjk¶h°QŔ;eCŃÔž ţ„ÔáĹŇ”ýä}Of°éŇźSx=zWÂýzY%źEžBČ©ç[î?w ŁóĆĽr-^&^HŻBřB’j^(ąĽ@~ĎinC8é˝~AŹá\ŘxÎ5Qíç5pŐ03»O·ŻCŰh˘ŠőĎΊ( Š( ş$±´r"ş0*ĘĂ Ô_+|JřaŕýFkË(}W-¨ y˙÷čđxďĹ}WHĘJ°HÁˇ¤ŐĘ„ÜYđĽw2Ĺ÷Z¶´;=kÄZŚz~“i%ÍĂž‹ŃG«€{šúŞóáď„/î ÷ÓŚŤ÷™! ¸ç9;q“Ď^µ·a¦XiPyuŤµś9Ď—oĆż’€*4÷:ŁŚ©h¶`řÁńř3Ă«bfÝĘŢmÔŔ`3}  Äńšę(˘­+hrJNNďp˘Š)(˘Š(˘Š(˘Š(˘Š(˘Š+Íľ)ęÖsZXéPÝŁ\G{×/;c üC’§{ÖŻÄßIá/ -N/Ż%ű< Çîř$ľ\ů‘^!krgS#»<ŚK31Ébz’{šĺÄ×tŐ˘{Ů.UO&ę»%Ńu=łDńׇmôřŕšíâdî…Č?5ÔŘj–›»Y]ApLn áÚľvV­ #W¸Ńu8o­›çŚüËś^ę}ŤsĂ+űËCŘÄđĹVčI§çkCŃPÚ\Ç{eÜ$§ŤdLŚ¬2?ťM^–çĹ4Ół (˘Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@sZV—c˙ –Ż¬ZĘĹĺT†HĆ6ů‹Ă7×WꦺZń_‡>3J¬ň!?>xÉ=hڨ޶ş…µÜaŁ‘yěMYÜ g#ZZ*¤WŃÍ~öŃ°m‰ąíÍ[ Š( Š( Š( Š( Š( nîíě-%şş•b‚%ÜîÇ€+…ľř«a…ll&ąPqľGî8'Ó¨Ç|Kńcę,“DŠVz~ÔR2IúŘë\ş?çâ1SŚąb}~O‘Đ­AVŻ«}/oËSŮôź‰Fˇ*Cv’XČؤ Çź÷»}H»CAAó^ęő_…úě—–WUġšÔseŠǢśßB«Šs—$ŚłŚŽž“ŻCeş˙#Đ+VÓîŻlgŽő WqňˇQ[ ±˝Ëąů‡<±5-QEQEW‚řłĂ×~>ř‡©KöĄ¶ł´"Ň'*d'g ‘ü{˝+ÜuÄÓ´Ë»éRÚ™‡¨U'ßŇĽçÁ¶Îm„ós,¤ČçŐ‰É?™ 7ńWÂÉü5ˇM«.­ĚPíކ|Ěc“žŁŇ˝OŕÖ‰ťŕK{Ö…ŐóĽ­!Qżfv¨Ď\aAÇ˝VřśŻ?‚îl⧸’˘Lŕ»SWˇiz|ZV“g§ĂŹ*Ö…p1 é@袊ËŐ<5˘kY:–“gtÇřä…KŽť¨č;öŻ™>+x0ř3ĹŚÖ6ď“v–§q`zdóyç±ő}ex‹Ăš_Š´‰4ÍZÜMnÇrśáŁ|Of4šątçČî|yk«4x qZ±ëcz»msö}×-®Y´[ë[ŰRß"ĚĆ)T{đTă¦Aôłôż€Ţ/Ľš1zlôřË´“ }€L‚{×4°ń‘íPÍęŇVLÇŃĹ߉µËMOć{—Ű»˛/VcěOá_XÁ [[ĹyŮ\žprľřy¤xŇEłßq{0ką@ŢĂű şąç™8×V´©*kCŽ©‹’s{QZś!EPEB}oI¶™ˇ¸Ő,˘•x)%Â)4›Krˇ MÚ*çÉ^$ŽřçY°™]|»É îęP±eoĹH?Ť^´ÖQeŻdř‹đďOř©©čz• Ő`M„«†ŽuĎŠä‚;}=ÇĎÚ߆5ď ß‹=RĘ[YXLUĆqAÁ®j´#SSÜŔćµp‹•ýĚęN©\çőŻlřFĚţiNíł\_ÖĽÇÁő=~Ú-C_˝{Ă$`Í"ă©'„üA=x×xÄCBš]ěŞÉe#[:ôSŽ=¸˘†S|ÁšçRĆST’˛˝Ď^˘«[j×H9Tç±5+O ‹’pk¨đI(˘Š(˘Š(¦K †”«0E,B)bqčS^e¬x·Ć3ܱ±Ň/,-a3h]›ęH#žĽ~g­gRަ®Îܦ.N0i[»±ęWŽéżuË[…k׎ň~ehŐĹ@çę zžŹ«ÚëšdWÖŚLoÁS÷‘‡U>ő4«Â§ÂkŽĘ±$ťEtú­‹ôQEly§~ŃvÓý“÷ȇɆYâwěÂFü«Čtí[hśú×Ĺ>´ń_‡/4kŢ#ť~YÉŤÇ*ăčqÇ~Gzů+Ĺ^ ×<¨}RŐŇ2ÄCt1J=U˝xÎ#¸¬jÓSÜô°ÉáÝâtjhĘ2kŐţřBÓS±ţŮÔá#6-ŕş@ęĚ;űťzäcćôĽš>Ť^Łá?Úź†š kä‘mĘ ›ĐŻÉĐp{qXRÂĹJěőqůőj”=ś4ov}ggm§Ú­µ¤) IXĐ` ’N?jzçü?âí7_·G†dGÝĎZč+µ+2Ű“»Ü(˘ŠQEQI×üh~ťh˘ążřşŰGd´¶F»Ôf;a¶nfo§ůĹjęÚÍ–‹f÷7ł,hŁ<žµá˙X6Ź—“ŹŻLs^ť¤xNćňí5Ź:Ü^†ß š¶čmúO÷ścŻAŰ8Ív4=Gâô‚>6˝»_E™#t˛Î’{*“őÇÖľđ—…4˙hqé–dĽłIŤňąęÇůŘ[´RQHąŐ”Ő› (˘™QEQEQEQEQEQEQEQEUMKS±Ńě%ľÔn˘¶µeä‘°·ą=“Ň­×ÎßüRú±2“aĄ?“!˛¦a÷ä $¨ô±&˘¤ů"äu`đĎZ4“µúžŹuńkNGËLĽ¸Nď!X`€I>˝@é]…ă]#^t†) §éĂźb2OZđxä L“4n˛Fĺ]H*ĘpA5ç,lďv}•N¸Z §ÜúRŠÂđ†˛úď†í®ĺÇž3¸îËĆřÖízQ’’MZ”¨Ô•9 ýŁEO NŞv#\©nŔź(úĘĽ§LŐp-_P|@đ|^5đ¤úieŽéšÖR3¶AÓđ ~ąí_#ęZfˇˇjRŘj6ŇÚÝÄpńČ0GqőⲫMOsż/ĆĎ ďş†ţ7&§7Q…Îá^§,cšî~xOTńÖŞ€¤i°7W'ŚŚýÄőcúu=âxG}¨ŹSPĽ–§Ń> Ý˙^’YJî·Vô<ů[ÔŘŁHbHŁP¨ŠTv §W§d‘đőj:•%7Ő·÷…QLĚ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š+ć~Ô|âąď­U˙ł/e2A(9žLgĐśg¨ç×LV_‰,íŻü7¨Áwońwm’(a¤Ďpyµ|ó¤üG¸µP˛–­©>*3G˛6vsŔPIŻ&®óŕęÚżÄ{$ąŽ7&9 !ÓvWp#Đ€ Í{‡€,5tgÔuUhîďĘČ!n±ĆĘŁrI˛Pk­˘Š(˘Š(˘Š(˘Š(˘Š(˘ŠůOâWźŁüRÖV`Í*Ě„t*Ę˙¨5ZĎWFA’ {źĹ†©ă›(n¬äŽ bŐJÄňp˛¦s±9 ö$úä|Ý«xoÄ>šHő=.ňÓË8.ń“íĂŹ”Śž ×-l:ž§˝–ćŐ0Ë•lużÚc;«Ož8·đν-Ü€2µ»EŚg«)˙Ůk‘đď„\úÂ×[łžŢ7i¨,ľ‡Ň¸ż|MŠ ^ĎEŤf‘kÜI÷Ýţ˝8ď^Ţ6Ôű‡ĚŰĽmÜLŐí>á^ô®L]YAZ'Ńpţ†&Ł•}RŮÚüAń6đÇQg;Lŕű}Ü×aᏩ¨\Ec«FĎ! ńçc±ŕ;~źJňUzRüW 15"ď{źS‰É°•ŕáȢűĄoČú^ŠÄđ† ú§„ôë©Aó {–Éb„¦ąükn˝ÉI&şźśV¤éT•9o×Ür_nĚ>FűŰ„¦xűÍú.?‡@¶Ů ÇAT|m/Ű3ÖŰŶ»ąPu]a)q€%…V x6ĚŰź¦&ú’[‹„·ą9ň[ý×ůOčMU Îś—cÓ.§‹ˇ+Ży-őĐöŹjË©ř~#»$(5ćß|/¬ĂăHőťOĽ¸KČŰDňm‘>S¸(8v}y«? 5)´űŰŤď)5´­ {pGç^Ů^Ńů™ňĺ—Ä ON&ŃáÚĘx Ž Ň»xóN–ëNxôűt#˞貉[#!p ŔńŽŢ¸ôŰ˙ húÇŚ-ő ­> §˛„ĺ݆-÷w9Ć †şEPŞ@ ;PŚâΔŕ@mŻ€8ĚW*?ś­ ńŻÄ],nľđÍó RĚÉ8u$€@ükÚh ‡ă{[IĺjZ\°ÉŚ•t**ŰłřĎáëŚ KDOŻčłŰĂs—<1Ę™ÎŮ0üŤb]ř·ĚZéĹ‹,–ę„“Ô’ řĐMßÄŹMŁÝÉo|<ß%¶yÝŚÖąŹxÖíô >+ –…%fKܵr:“ůSüiđkH—ĂóÍá{7·Ôáă‹ÎgY±Ő~v8'±Čä ń/ßébKŰa*#’H==5ťXóEĹ; ŞŤxŐ”y’čv2]<ň4˛ČŇHÇ,ěŮ'ękŃ>ŢČnő+=Ů‹bK·ŃłŹ×ú đDń ±ŔRYŹ Łż Ż˘>xjóHĐeŐ58LWş†ÖXśa˘gh>„ä’=6ç‘ŠáĂĐśj)3ę3|Ű [*PÝŰó=Š(ŻHř°¦KsÄŃMÉ 28Č?QO˘€2íü3 YŢËmM‚čťĆh­#W'9Îŕ3ךŹÄ>҆§Ż›¬üCâ‡Z˛Řk0JŠĘÇëÓ*z0Ż_Đľ"馜n%ťc(ąlwöÇ­uł\GĐě79Ú‹ÝŹ ©jž›yöűE¸ ÄaŰń«”V7üMaá›=Ű–L`CóČ{ăĐç·Ô€vkćżëłüGŐ×R_)ŕ›Č†2x¸GűŔďú±¬kÍ ÇsĐĘđÔń8«´zť•˙ÄÝf÷z[Ĺokt >= ü€§ř'ĹfŹu!ÔmÝ\$ÔY·ľ ČR;(ăîúdŽőÁÇ `óg&Ä$ňŚřţ«·ŻZśů⤏ϱg†Ż*2čŠ(«9‚Š( Š( Š( Š( Š( Š( Š( Š( Š( ľAńő˝Î‡ń/^Ža%ě—ÖC˝FőőyĆ˙ C®>‡öK}ÚIJ4(Á•s;łÔ#›Ź­LŁĚ¬kF«§.dxý†¶Ą@-ZU‡nIýkFçŕ/‹­­|űiôë—ę!ŠvV?‹*ŹÖŻřŕľ««Ë ˙¦ű.ś“lŤűéHb ś}ÁÁÉëۨ㖠7ˇô´8Žtáijz§Â<—.w21ňđóٟƻzŽb¶·ŽQcŠ%ŁT *Jě„Tb˘Ź›ÄW•z˛«-۸V^łáÍÄ0y:ľ™mx€aL±‚Ëţëu_ŔŠÔ˘¨ÄâmľxŇq4~‰tĎ,‹˙|ł*ě ‚h"H˘Aµ#ŤBŞŹ@J’ŠŰ{…Q@‚Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š*Ž««Řč¶Mup±F8ź™Ď˘Žć“i+˛ˇ NJ1Wl˝EyĄßĹŚČEŽ—űĽđÓÉÉAÓó5cMř§m+ŞjV =e…·ŹĹq‘ŰÖ°XŞMÚç©,Źs:ŠżÝsĐ設î`»·IíĺIaq•tlřÔµĐyM4ě«ęďu¦Ý[ĆT<°ş)n€G5bŠ|mŁi2ë‚[#lN®ä}Ńţ5îţđÖ•Łęš{[ZĆg]˙é ČIFžßA^Sŕ€¬GRÜ׶xkťVĎţ˙ ď(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š*9íṏ˞ĺLçlŠ~F¤˘€<˙⯆˘˝řqŞ.ťi SŔçFşˇË÷w¨ŻštýTĂ…cŠűZĽ âŔűŁ{.§á‘áî}?pCîc$·ýśńŰ=u)©­NĚ*xy^,â Ö”dRI¬F¨NEbŻüd·BřoX »f~Ç&Üç{Çľq^•ŕO‚Z•ÍÜ—‹‚Ő8ÓĂy{áČáW§“Č;k“ęiłčÖ:‘†«SGÁ˙tÝĂvšu–x·’Ř?ÄěßÖş>1ř~OĽűŕX®Ş_x^epţŇNđCg<ű}ëĎcCâ=A˛T˛Ű źŇĽëÇÖĽ¨Ú‡Ô%ľł•wErPŞďTŚśÁëČ?ZdIYjV÷±+#Ś‘Ó5rľhĐţ"ËhffR;×ZźcXăŕtő eiŃgHw ďž=€©křu{âź^ąF[L­w—çćqžÜ`˙7§=ĺQEQEQQĎ2řďűJńü1§; [Y?Ó eÁôS×=[·Ę ťťĎ±żhVë\µ()ö 5©AiŞ;őÔĐŽH«ÚÉ«ř§KÓ­Ďď&ąN@ÎĚq젟¸ Ôµ+´´°·šćâC…Š,ÇđôŹÂż†˛řNŐµ’Ż¬Î›|°C-˛tŐŹr8ě=NPÂ.kł»Ä3tśc»9ßŰ ü[Šú%ŮmŞĆ%ăć~ŹűŐěÖ7ęĘ)Îĺä˙­'Ö-®u;erş‘Žwn#Ě#Ó’™˙p×_đďW]OĂń|Ů!A®ó䎚ÂÜK(ýäł1éü#…ü03řŐş( Š( Š*9çŠÖŢ[‰äXበČěp@É$úb€$®s_đ…ĽOqöŤ_G‚âăŚĚ¬Ń»``e‚xő®\řź}ypńč¤[Ú…™$¸<řgéYvž:ń¬˘OíwI”2źëůW$±”Ó±ô¸s:|÷IľŤ»ţG¤čź|#á۱w¦hpEp§+,ŚŇ˛U.NÓî1]Esžńmż‰mŮJobËrţňźOnß©č릌•ă±ââ(ŐˇQÓŞ¬ĐQEF!EPEPEP[FÓu۲Ő,âş·a÷d=Áę§Ü`×€xëŔMŕ ëMFĘňI´©ç @wĆĂś1Á đxéĆkčÚÎÔ´Ť?][eż¶K­g+ňľ`Gp7´Ĺř/ĹQIk3‚¤őč1Oč7eÝ•µüMÔ+,yȱő¨>⼳WńŢńÚ]Ä­´$.Ç—Śô?^>ŕĐ­WÍż´'Ťl.caľK® wWnsô ~ÜOńB(íÉ7§­ygŹŻ?·Ś7ӮۂŰPžˇ98?Ąg9%eÜëÂĐ•E:‹h«żľĆ=†¶(gÉšÔĚ{rH® ŰL§źpkŐ~|!›Ĺ¶úޱx#ŇťŽËx‰ó&ÚŘ žŠąd~ťkšXHÉžĺ «Jzž›đvŇQá«ťNT /gý×ËË"qśún-ů{ףT6¶°XÚĹkk Co „Ž8× Ş:*jë„"˘ŹźÄâ%«*łÝ…QT`QEQEQEQEQEQEQEQEQEÂę‡űOâ]˝¸Ë%…Ş‚3Ŕw9<ş»Şá<#ťGÄúŢŞŘ"K·TaÝäSÓűŞ(¸•ü¨€űŞHB†(#Śś•PąőŔ¨î~eŽőy-n~‡´ćŻz7Ă=zKmXčňÉţŹrŁřd?¨ňëuóż‚'7~=Ň ‡ćo8ąöURÇôôEz¸7/g©đ\GKz}VľˇEÉeŽ^i¤XâŤK;ąÂ¨’Ič+¨đ—<%ÚßÍo&7Ĺ)FÁî {&Íő—ýtăú ©'oŢ7WFąvVSAc‚ zć‹ŞP§5ďYŁčź ë ®č6·ăÝvČŁłŽë\OÄĎřsL·—AĽÓ—Y¸u[műR/BÎ9Vî1ϸâŞx3XźKřS®ępćA4¦ăĺÝĺ Ü<ý bxwág‡ĽCaö‹Í_R}B\Ľ’,‰µňN ’:öéIĘ łňě}(RÄÔ…=“v<^·ü§Úęľ5Ňloa[M8Y#$ŤĂŽ9¬8a’âd†/#ś*Žć˝kÂľ“A·ŹTł¶ŹP×P†‚9†Čŕr?2*Đä=ć(Ł‚$Š$XăE @ŕ; }qÚ^łă™â-}áKŽüý¦ÇŻĘ®ć:U­oĹňxgOÚľ‰|-‹íi,Ů&űż*@÷ÁČOEy^łńrŇúÇĘđŮ”LŮßq4@ycý•9ýxúöŕ®.ďo®âçSÔ^emČ˙m”?ěá¸ü+š¦*—)íŕňV*’ŞšIířcé+Ç|-ăŰÝ.ć;}Rćk»6–•·Éű[ŹĚŢů$˙_aVW@ĘÁ•†A ŠŇ•hŐW‰ĹŽË«ŕ¤ŁW®ÍlĹŻ>ńţľm5í#J 7Vąg’AÚż‡Ţý=+ĐkĂ>9[Íaâ=ZŚ>×·kr{Ś[Äď?—µjpž‰­ř˘=3Ŕ:–¤’íš b" g7Ęźřó ůVşÍĹ’ęzľśŤňó$çĐp?\ţą:UVv  ł€É&ľŹđ­'EŃőí.ĘűTąĺ¬˘Ź¸3‘‘ÎHę}@ä -"źÇVW7,łrůÇU/_öŠźĂńŻŁ4mdkŤß•Ź&ÝI÷bĂőŁaĄiÚT&-:ÂÖÎ3Ő-áXÇsŃ@ő?ť.Ą•ĄÝęŰBÓ9öQ“üŞ w[±đîŤsŞę2ův¶éąęDzܓ€>µóŚľ.x‡Ĺ†âŇ9E†•!ŔµYG÷ß>ŕ`{RnĹĆEM[Äšż‰nľĚe*iI[hÎť›$‘Ü“ÎOJ÷Ź†>Ôü=ĄG%ýÜ \eb‹-€{qĎĐ­|Ó˘j-mŞA;ŕŰvké˙xşÚîĆ8äc=)§refw4S#–9Tu`} Ey}oanÓÜJ¨‹Ô“Ň(®Rëâ/†­Aß~„ŹB+ëă/†ŕĎ–í!˙gšôZŠćÖŢöŮíh‡ŽE ¬==Eyc|hK•c§iW!N G6)Ç<ĽŢ,ü¨G·ë­Ě–áĎá@'cšńΓmáżÉgl[MÜB™ű€’˙ľ•ż V"ÉĹs>+ń®ĄŻříZ„F) Ś[Č ®ÖbAˇË­@^[ĺVĂ>fă±÷ąnuMĐŚ+ży#Ó|¨˝Ź‹ôćF`%”BŔ î ĆăřW˝×Ďżl.|Eâ‘Şoěý7,ŇĘA Ł×Ü}03ÔWĐU×…§(BŇ>?ĹŃÄâT©tV (˘şŹ(˘Š(˘Š(˘ŰíR1üGŇ€ Ĺܨ(ęŢľĂüČp€RôŞľ­oŁŘµÄä“ť±ĆŁ-#€9$šnŻŞ®™n6DóÝJvÁoËHßáÜžŔWËßîőeń˝äzę…»Ś(QĘůdn]§¸çóČí_LiZD˘čęÚž$Ô$Eę¶ę…}ýOŕ8ë“ăgŽôőYĎٵA÷hą+ţËâ_nÝ»ĺ2ŁkępźĽ¤]ZÇâ;˛nîă|ÁŹ’ĹŹâoBzu€k3ăÝĹąń™ił%łM$Ş ŢŘž§_Zë>iמÔuO ęG$öĹ\€‰55QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE—Żkö>°űUëźíŽ5iĐŤjWĎ˙<@ú—ŹomYŘAbEĽHqÁŔ,Ďŕc^Ł§%ąčĺxHbń1Ą7eÔčď~(ęóĚ~Ç˝´9ůC)vüOOŇ­iŻ"”.«iĐ÷x×ř'éĹyĘżýőĺ¬M[ŢçÝË%Ŕ¸r{5oÇďÜú6ÂţŰS˛ŠňÎU– U‡ň>‡Ú¬×’ü,Őä‹Y¸Ň™É‚xĚŞľŽ¸çń~‚˝j˝Z5=¤9Ź‚Ěđ_RÄş7şÝz0˘Š+S€(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š+ć_ŽÚe…ŻŽĹĹ€ĹÍĹşËvŠ8ß’}H?źs_KË"CË#DRĚÇ°M|âŤiüEâŤGV|âćbČd üřRjĺFN.čç"˝š.Í[‹RşžT†ŢId`¨ ,O:škGrĘ>µčřŻ˘xCO·‚ËÁďwbKÓv˛¶99ň‰óňçVnśzťÔńµ’´='áĂëŻÂÚö¶›u;öĂŰFy9˙hńôČŻS®WĂ~?Ń|H±¬Rýžy>är‡˙uşíÁö®ŞŞ-{§>*ťhTýúi…xçĹź}«V_ G)ű4h˛^"¶łrŞŘç`ăľáč+ŘëćŠňͧüYŐU)ÂA$D˙ůHąüŐ‡áS]IÁ¨ť\©GUWH[ °“}ĽJ‡ńÇĺZ÷ÍĺͿҋş Ć~µËZj‰"ŚšĽ/#ÇŢŻ&SŞ—+lý–){hB7ôG«|2ń˛K&‡rěęÉlO;q÷—éÜ}µz]xĂyŤ×Ä=bů„K,’{/–ËüŘWľWĄ„rtýă⸂ť(c[ĄŐ&ýBŠ(®“Ä (˘€ (˘€ (˘€ (ŞšŽ§e¤ÚµÍýĘAîÝO°’}…&ŇŐ•ĘmF*í–č®OŠZ*Ę-o¤Lňá~@·?Ž+EńN“ŻŤ¶W?ľ-kŹĂżášÖ§'dÎşŮv*Ś9ęSi4QEhqQ@Q@Q@/Ĺ_7Śü&ŃÚŚęVDĎj3Ťç4đ!ÓÜqšůPIqc;Ĺ"¶ńm…ľ‡.ä”L&- ŻVç8çŚÜWTĚK1@É$đrÚ¶­ý“áŤcIJadňۇ8ŔŽ}XŹRksÉ>[Ő- łŐďmmĄ3[Ă;Ç„rę€*ĄëżľiúőŤÎł®Yý˘ŰxŽÖ6fPĹNYŽČč0xë@?mőťCQm?CµingŔy?†$ÄDzóüşśWÓ~đúxkBŠŔLg›&Iç#ISŽĂ€°wMŇ´ýÔ[i¶VöŹŕ†0 źSŽ§ÜŐĘńĎÚ"âTđľ“n®DR^uÄU?™Żť+ëωľoxF[+pźo„öĄ¸ËA\öÜ ™Áí_$ŢYÜé÷rÚ^A$6Ů"‘J˛źB D·:i5Ëa‘?— oÎşm#Äz[‚BŃúfą„G–EŽ4gv!UTd’z+č߇ě`đśŤâ­29o/ťeňś˛˝şv®ĺ ©9$ŽŔô§jĄąČŘüSšŔrŕŠě|-ďÄt–]J)ăĐ@*[qCpůű«ßhç'׏\tzÂ/ŘOçf5Ë•3¨˙€çń»haŠŢ†’(aQ*¨ôtŞ09Ko† ´Ď— ŔŮ9ý뼟ú۶đî‡eź˛hÚt9ýŐŞ/>Ľ Ó˘€ (˘€8źü+đĎ‹îňî mo›ď\Ú°V| Ŕ‚nqźzćtďŮóĂvÓů—Ú†ˇx€ń+žąÎOn„tŻ\˘•‘JrZ\©¦iv:6ź†›k­¬C K€=ýÉîO'˝[˘Šd…Q@Q@qßÄÍ3N™­ě#7ó)Ă2ľŘÁ˙{śţ{ÖĹ˙ľ‰ˇŰi–Ňůw:“2±DJď¦w(ú^Kk h—•ÇŠŻ*zDúL‹)Ł‹˝JúĄ˛=9~+^“óimď¶Bá•vţńN™âÝ,Ůăš1—‚Q‡שČĎqśfĽ5X´ľ¸Óîâ»´™ˇž&ÜŽ˝AţŁŰ˝rÓĹÎ/ŢŐć/‡°µ`ŐË.›Űć}©ęvşE„··’¬pƤ’N+ÍĽă oxći¦m˛ź±Ćz/űXőëůűščt»ă‹UŐ5¸˘}>HÚ8lAĘ“Ęł±őČ8î:őĆ8Ť_ÁÖż µ»/Ř^\>Óů3C"nh¸uééÉÍz©¦®Ź‚© S›„·ZËw+Ăe<±®çHŮ”z3Šóťâć‡3J—wdyIô€1ů~µU~=řt±Ý¦jsÁ 8úo­ŰĎ xÄz#k‹¦YOhbiüű<ÂH“ťĄ~ną Îzô¦AĘx“╢řúŰ[·‘Ż —OXž(HÜ]Ď9<ôŻŐ/ßTŐďu kÝNó°ÎpY‹OZ¬ĺZF*»T’Bç8•AŃnüE­Úé6;>ÓrĹPą!F$śp'ĄvtgÔüa«#Göti|Ĺ•ŔŔ AůŠÖŻín,˝‡ňô'R4ăÍ#ăđ¸:¸şŢĘŠ×ň=ŠđŹřLüDÎ\ęÓäśń€?,cđ®Ó¤˝ş‹NÖ d;cąQ´3v :}G·ëbéÉŰcŇĹpö*…7Q5+omĎC˘Š+¨đ‚Š( Š( Š( Şę:•–‘a5öˇsµ¬*YäŕýO°äŐŞđoŠŢ!McĹ˙ŘlË%Ž›´´YĘ´ĹrXŽ„€ÁqŰćő¨©5ó3«…–*˛ĄkžiĽ‘k÷·6É椓»Ł1# ± ă­z_†˛Ź A.Zşů«Üú^ áş'‚T–'WCGÖąŻ^_xFçKWTşR'µvč%Pqźb R{g5É|1ץŹR}i A2—„÷r@ö#'đú׫WmŠ¬9ŹĚ0RŔâ&ďŐ?#âKű OĂ·ňéÚťś–× ÷á•zŹ_B=ÇC <áb–rQI>€WŰšž‹ĄëP¬:¦ťi{Un!Y“ĆFGÜUm+Âş†Ęú^Ťci"‚±@ˇůĎńc'©ďUÉ­Ě^%¸ňł„ř3đţçšdú®«—©_Ş…„ő‚!ÎűDŕ‘ŰľkÔ¨¤fTRĚ@P2I<VŽvŰwg=ă rĎFŇ]ďe1ŔF銌ź,6ęÄ…ÜúWÍţ3ń¶ˇăGĚślb8¶´Vůc§Ő˝Oô­/‰ţ-“Ä~%šźý Ůö ő#Ž~śńę[Ö¸j^Ńô«ťoX´Ó-3ÜĘ#_Až¤ű’~•ő[hš=¦™h¸‚Ú!úśu'Üś“őŻ!řáořůń5Ě~¶ö™÷ŰýţúŻl Š( ±őŹ h u}[Hł»‘zI$Cx›şăŰ8­Š(JđW†t;ź´éş•˝ÇiV Y~„ň? ޢŠ÷ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€<ö†Y`×4­¸Ť •łÔ«)#˙ťyŤŁćŻ¤ţ#ř1|oáI,#dŽúZHýŽ “čA#ň<âľLľ˛żŃ5lŻ­ĺ¶ş…ŠĽR ¨÷ç­IOs×ËqóĂ?tďb˝ŤÇZ‘®Ł%…pQjŇ ÁÍtţеŹkŮXĹ"Z«µ]•ů Nç= c8^˙L‘ĹőI_Cé×ŇPĽ–§Đ˙ –ořA­$”ť˛<Ź9áwßÔ‚÷­čĂ_đ^«§Ě’Ľ Шęd_™1˙V˝…Ťľ™§[XZ¦Ë{x–(×9¨ŔçżÖ˛Ľcâü-á[íU¶™"P°©?zF;T{ňr}ŻJ+’)v>"˝GŻ*ťdď÷łçÝ ŔnŁářµMOĹ6úq™Ku¶3ľ=H éř×ŕ–Ň´ť [đ­Öą ÍŤÚźł\IÄ‘ :~ć®>lç9ÇžYL%‹’päű Ľ¸%Ťź6‹CëčđĆŇNsnOµ­ůĹĽ¶—2ŰN†9ˇsz«‚?:ôŻ„÷v:÷ťĎ–×2Ż•z˘wüO€÷¬kď6µÔÖ13ßŰÄf˘’fEűŔŐ€9ŔŹJáăżṡŰ5ŰJŞ©d|ľ?<wJZö}ŃőT˙,!¤,=kĂ<}ysâ ů/í!’YŢPÁcBĚn:˘× šĆâ ÓÉ ž?÷ß>˝ŠÎăÄZ„m»O*Ö7o,łŰ$ { ô"˘˘sšKdtá%O ‡©RoŢ’˛_;ßđ<łÂ?<[⋸–KIôí<śÉwsO—ľĹ8,};{×ÓZ6‘i čöş]Š¶·M©¸äžrI>¤’Oą«ôVŃ‚ŽÇťWRŻĆîQEQQEQEQEQEQEQEQEQEW|l˛şŇüee­Âɸ· ż°‘ ČéÇĘTţuﵕâ/éţ(ŃĄŇő$f‚B220čĘ}ExĎ„ľ$y*‘Ë&ÖMzüMÓ-mâ–ĺ—á2r ţ•ćš§ŔżZÝ‘¦]Z^[’v»9‰ÇÔ?" łŁü×oe\Ôˇµ¶SÂÄĆW?N€|ţí:gtÍZ5{[”$˙ <ÖĄ|űŞ|4ń—„d{­áµ+Där$Ţ>˙đjĆń‚˙L›ězĚ­ÚáÔ‚§ĐČ z˘ą­Ç6·®Q\ö&şEeu ¤{@ Eyßţ'Ăgu%–‹WOÚ÷.s=Â÷ľąÇֹؾ%x…dŢŇ[H?¸Đńú`ţµÍg‰p±\O#łŽzýsU<ń"EşmÄP˝Ąü'c,Łő*ĺüaŕ]/ĆżżfÔ#¸˝|ńźq‘¸qĐţ š9XĂĆÁ‘†A­:Ľ[Kń>˝đóVMÄń—¶oő7K“‹ęŻ·Zőí;RµŐ-VâÖUtažJ·EPEPEPEPEPEPEPEPEPEPK1’Ojň/|_ľĐ5yô}/LĎĂĎx2@!‘Aéś“őŰxż[tÚe†v›Éú˘c#óeüŞx/Gń&¸Đn˘˛taüKžqDZ —/nćżľ¸Ľ¸móÜJŇČެÇ$ţfĄŇlF©¬Řéćaş¸Ž5†Bn`»öÎkcĹ^×|#p˨Z3ZîÂ^D DůéĎđźcüë› ˛¤šĂĂúDjĚZZÄ#EĎEQ€ŕ+ç?Šäń1—I°;lÇűř9ţb˝SÂz^ˇă+ 3[ńÂK5… 6`äLŔcĚ“Ű ˝űúW_7„Ľ7q8žoéRĚ1‰Ę6n:rE&TZNěů+ž Öüc~-´«Fh-ËŚEőfőç8žÂľ¸đŢkáŹYčöy0Ű&Ýě9vęXű’I­(˘Ž–(cXăQ…Dč)ô%aÎnAES (˘Š(˘Š(˘Š(˘Š(˘Š(˘%F•ŁV—ď~ďĄTÖ5[mG»ÔîŰ[DdoSŽ€{“€>µń߯î|C®^j÷~Ńu!‘•z@=€Ŕü+Řľ9ř°I-ż…í$?»"{ÜqÉDëčwŽëé^-CWdâîŠÖ¶–Ł0´ł´ąş”ň"†&v?€ď^“ŕŹ‚šÖµ{Îżšfš¤;G ÄÓ Ź”.r™äň= s:Šµ_ Çt4‰c·šĺB=ŔŚ4F~U' מ•Ć[řhŠ×Đţßâ˝jŰGÓžiŘp2±&~go`?Ă©ĺ}ZĄě}÷öÖ“™łęmęKďé·rdžÖ)XŽĺüęýAeiźaoe"x–$®ŐĐTőě-ůÄÚ”›[QL˘Š(˘Š(Ż”ľ&¬Ú?Ĺ=dI÷f‘fFő  ˙ü+čŻřĎOđČX¤V¸Ľqą-Ń€ z±ţůý+Ăţ ÝM㶆ęK[[{Ëe)Ć]3ťŚIç$tĆO­sŐ­M{’gł—ĺŘŮ/¬RŽť<ýrËWV@ ˘·ńťŐŔÍ î›.Éă’&í¸p~‡żáZš&ťâ] MÂ{ąOË_•}ŮŹ =ÉË,*–±gąK?ť%ÉZ:ŁÔţJ׿lD#+rË'^a_ćË^ů\OĂŹ§‚´§{™EĆ­vÜĘ>ęc˘'°Ď^çđ¶®Ę˝śyO›ĚńĎ_ÚľÖ (˘¶<ŕ®sĆz„–~ľ[~e[Y§lvDBÇשr:é]2˘–b’Iŕ Ę°€_ĄÍĺÂť·`˘©ŕşíś“ő&€>=$±$’Iä“Wt}*ç[Ö-4ËEĚ÷2×Đg©>ŔdźĄ.µĄË˘k—Ú\Ä™-'x‹+¸€ŔÄ`Źc^˝đ+Âßńóâkýmí2?ď¶úýő@˝ŁéVÚ&Źi¦Z. ¶Fľ§I÷'$ýjőPEPEPEPEPEPEPEPEPEPEPXÚ˙„ôD©¬ép]ěW`UÔz`=­š( Ź>·ř)ŕk{ĂptÉeĘĹ-Ë”^r8ÎO¦ >ů®âĂN˛Ň¬ŇĎO´‚ÖŮ>ěPFFzđ*Í ¶÷ óďŤ67ż ďšÝwi#ťŔëµ[’>™ĎĐôd±GoxSÓb@×Mřw© '¦JăńˇŽ;Łç ů\ö­ÄÖĽâ‰ôű‡†TxŢ6*čŕ†R8 ĐÖí®ĽŚµyU°ňNń>ű.Î)Jš…];Ť/S}+UµżŤh$qÜwČükčĘů‡ÂKâżYép.ä-ć\0 ‘¸źĐ}HŻ§«§ E>cĹâLM Ő!ěťÚN˙§ęQEv4QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEPÖt];_ÓdÓő;T¸¶~v·U==A÷äíˇřá®· ˛»k­yv$˛7Ďz±vé^Ď\ߎZÇFBz•a‚©Ď=ó] ĺ-ű>řDĚ\^k Ąłĺ‰ăÚ§úĽăńÍw~đŽ‡á;CoŁXGo¸2_˝$ţóO~: đmŃJĹ97¸QEÉ (˘€ (˘€ Šćtµµ–â\ůq!vŔÉŔ5-Ayl/,n-YŠ¬Ń´e‡Q‘Śţ´ňôZäÚÝýÎŁvŔĎu!‘˝{`8JĐW®UĽđîŻuĄß&Éíeh¤˛8ő‡¸­»]mFXň+Ń’“hý+ĚčĘŚiÉÚÇDX^óŕÍUµŹ Ů\HGšŞb“ŞqźÄ`ţ5ózęžl‰(ŇK#DAą™Ź:’ké/čŤá˙ YŘËÍĆß2~sűĆäě:~¶ 3RměyüK_:Ś]ĺÂÚţ†ĺQ^‰ńXľ ńN™áČ”ŢĘZgH#ĺŘză°÷5oZŐaĐôKÝRpZ;XZR ŕ¶ =ÉăńŻśXş×/gÔo¤ßs;nb:@`ąń5ť(éąědŮlqµ­QÚ+ńň=Rřťu} ÁťPą÷HY™{Śŕc=;ńšéôzEú¤cű>`0ŤĎü ·ăŹ©ŻV§î®âę§vî}enÁN±Ź+î›ýnnü]đ¬š—Ä ´äS.ł‘Č.„çž öčµsRń™°łŹĂľ—ěúeŠĘq$Ä}ć°'śŽO\óŠĂ¶×_K¶˝ąq$łC¦ÝGdűłögtűĘűżŻÖ¨čľ ńSh°ęŘ—ÚD+ĽŹ]™ÝúWEJŇ«JôţgŤ‚Ëhŕ±Ü¸¶š·»}źüŇęwű·}şçvsź9łźÎ»o xţî ¸l5‰ĽűiĹťţüdôÉî>ĽóÖĽá& 2iÍ “\P«(;¦}N+/ˇ‰¦á8Ż^އÓTVW†näľđľ™s(q$–ČX¸ÁcŹ˝řőükV˝´î®~]Rp}4 (˘™EPY:÷ôďÚy×Óě— śĽ‡Řz{ô­9eH!yĄ`±˘–f=“_3j'›ĹZíΩ9`˛1X#cţŞ NŐýy÷$÷¬1]8]nz™N8ĚB„ݢ·˙#Ńn~+ę2K›=>Ö(ý&-!üÁ_zµ¦üT›ÍUÔě#(O/lH+˙$çóŻ3V©Wš±5o{źm,ŹăÉě˙;ýçŃz~ŁiŞŮĄŐ”é4-ÝOCčGcíV«ĹľëŇi~"ŠŃś›[Ö2ö~ë|ńô>½¦˝:}¬oÔř|×/xţÎ÷OTQElyˇEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPE5ťPeîkÍ>#üUĂ1¶ťŁ4W±v#r[ŹV=‡n§° ˙ÄZ>«>…áŁÜ[¶Ë›ÖU}ŻÝNFGBO|Śqšňý?Ć;Ôő#%·ő3 ĺ‹\°‰F1ĘýßÓŢąXc’úđrĎ#eÝŽO=IőŻAÓ!¶˛´H-€ 9'»S\ŠţÍiąôYFT±rĽôŠűŮę~ řŤxo¬toL“Ívć(oŐ dę¨Ę8çďŽkÔëĺ}hyšLĺX¤‘/šŽ§YyÇŠúN¸{Í2Ňć@ˇć…$`˝* ĹV«©{tcź`!„Ä/f­¶ü 4QEtžQEQEQEQEçľ4řA xşĺďŁfÓutöč ČyĺÓŤÇ'¨ źZá­g9ľÖßkń}—ɵ;Ř{ĺ°ż­{ݬ‹S’ĐçĽ)ŕ­Á–&ŰH¶*î›q!Ý,¸é¸ţ=Úş(¦Cw (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ *¶ˇoĄé××O˛ xĚŽ{ŕŢţŐáş˙Ś5/\3I+ĂgśÇlŤňţ×÷Źą÷Ć+ ŐăIkąęe™U\|š‹´Vě÷%Ô,™‚­Ü Ě@H $öëVîqšů°b» xň÷IąŠŰQťî4ňB’ůgz©ęGN9ŕqXC›´•ŹSĂ5)ÁĘŚąšék}Ç®ÝÝÁck%ÍÄ"Śnf5ŕľ2ÔlĎQ‘ď^Ńŕ˙zw‰-Ń^UŽă śs]›(e*ŔF=ëÉ|_𕢝µź8´ş@Yěs„“Ü=Źű'ŽzŽâV&RrwgSń#UŐ ‹›{Ż ř˛ŢHŚÖóG *Ŕס漯XŇ5 ë %BŽZÖň, Ž„#€r 2Oˇ~2|)ÖíäčřëçM+QTf˝K@řŁiâmëÂţ0q» ]I@ŰĘ ŽÄŽp:źŐ´˝CĂ:ŐĆ›|. l§*ă¨e=Á űÖ©©ŁÔË1’ĂNčî!şGžjŔz× m¬ŔcŠĽ5Ŕďם,4“Đű:9Ý Ćň;ŤEiq1’ňÁä¸ô…|ýđ@ąńW]¸‹ţ%şy&3"dK68?ÝűŮěBţ»¨ÜëWŇi<…3‹ËĐ2"Ý_W?§SŘě-'N.ýO•Ď±đĹÖŹ&ŃGŠü]ĽÓtĎ9ÓĺMÓÄ$ąDĆ\OŁűä÷®köúźŚu´­*6g~e”Ź’îě}ęxě—<+w©I{qy¬HŇ>öF¸B§Ű;7~µÜřĂ:7…썦Ťa¬mŤĺFZB:cËu=}jŢ\ÍC7ÄS¤©ĆEű+H´ű {(Űı&zíPýOEąä·}XQEQE“ân.¦ăďťţ“+ÉŻi°Űç˝ÔJ›N;‡9í_JWËż µ(Ĺ‘jW„·ÉFîäcwŕ üN{WÓvwŢ۬аe?Ąva¨şqwę|ÖwGZ<»EuÍjÓĂú=ĆĄzřŠ%áGWnĘ=Éă˙­^%­xĂZńąžň[k^«km!ŤűÄ`żâqčzĎŤ+Ř/]Ľ¸/8]íĆÔ`2{0ë1ÎkŤ\ç‹-ČŽ F)4,rś:źcüë5y)r·Ł=,ď)Ą*.µ8Ů­íŐ^QYÚ Ú·‡4˝IĆÖ»´Šr=  oëZ5ęQŐu‹ Óí:…ĘĂ;W<–>€I®*ă⽚ÎŰLžXł‚ňHăÔżq^aâIâŻ]]?Ń#vŠŐeD`ŕ¸Ëc'ĐT(ŐçWĹMK–:i•ä8j”ZŢó}/dľăÜ´?iÜËní®ábcy˙dŽÓí]5|ÖpGB+ŰĽ ®I®xqáĂ\Ű·“)Ď-€0ÇęâA­pŘ—QňËsÎβXá «Qřvk·ü¦˘Š+°ůŔ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(Şš¦Ł“Ą]j'ŰDŇ·=@Ŕ÷=[®{Çvs_ř[·€+Z9P{ŕnÇ׊O jÇV°7Čyăě=°®Šľmđ?ŽźLd·žMĄxžµíZoŤl.âS#€qÔKďi¶€áÔ‘ęk‘Ő>-[Ă‘Ş>•ćZţ‘{ŞüJ»Đt™ĽÁ=Á6븅UeßŔPJí4ż€2¶X×˝¤Eł˙lč4«|V»¸GĹ·v“ĐóĐ—š­ë•I®î¦bĚKł×_Ki_|¦mfÓŢöAüwr—˙ÇFô®ĘĎO˛Óˇňlm-íbţä„_Č řżTеźKj:uŐnŚĎMĂńďíÖťm®<`Í}—©ivĹ“ŮjVp]Ű?X¦@Ă>Ľô>ýEq‹đ_Ŕkt&3m Ź(ÝJS9Î|öëŹjĘt”·;đřú”>cĆĽ ˘ŢřóZK4‰˙łc ßMĐ,}Ôď0ČźA_Q*…PŞP0č*®›ĄŘhöIe¦ŮÁilť"…ŚúńÔűő5nť:q‚˛2Ĺă*⤥QěQEhr…Q@Q@Q@Q@Q@Q@Q@Q@÷¬jQéČÁ®\aŮ÷?\+BĽKG×oŻţ*k–Ş­-Ŕľ–4U쑶Áô(Żj‹ĚŹ7nüs´ń@˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(Î>6ßOeŕ$+罊)u0Ě ˙*ŹĆĽrĆő$‰FyŻ˘ÓT}I™,%ă-™Ţ :Ň< )$ń\Ś^ yjµ§Ďâ-R +K…§»¸m¨Ł ő$örOa\+ 6ě}Tł¬,cÍs鯇÷Myŕ].g]§c Ęě ţ@WKT4M*-D˛ŇŕfxíbXĂ·V rÇęrż^ĽU˘‘ůŐzŠĄYMumýáEUQ@r~<ńwü"Úd+ţđ˛A¸d(ÜÇ×z‘]e|ńń›]GřŤ ’HJŮ٢:•ĆŮłž{üĄ?Îk:­¨>]ÎĚiËWᾥ.%şťç¸•ĺšCąÝÎKsK‘Y¶·©*›š¶$ë^şzź©G–QNÇĽ]6“¨E§];>ź;…911ŕíśd~?_cŻ'¸XĐ’GJúWM•¦Ňí%v,Ď 1'ą*+ŇÁMĘ./ˇń((˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Šĺ|cŕĆVŕÝ'Ůďb+Č”o_cýĺö=;bĽ•®|Ađćţ=?Äv‘ŢéŽßşŻ™ńŰ#®3Áţ×Đ•WQÓlµ{ lu h®mĄxä\ďě}äP=ß…őO‡ói6…ôů¤híŕDË,dŔöŻť®o'ĽÓ˘±¸a$p¶afx‡9UnˇI9ŰÓ<ń“źHř…á >7źĄ_ąÓ5/2lů-AČĎqׯ׭y˝­•Ĺăm‚2ŘęzJM%viJśęIFšmůfÍłň°?Zé|áÝ?[ńľ—§jĚćĘi¨ĹKáKČä@8'‘Ô:/ ŢJę­=´@őg-…úáIü«ŇĽđ¶šbO@í%Ł°_g+ŤÎ\Ý;ţ5śgNOÝgU|..„oV .ö= Č.¶řcÂč––Š#ąş‰~Xű‰ęçôÎOżO§éöş]ŚvvqáAŔÎI=É=É<’iövVÚ}Ş[ZB±BWůźSîy5=jp…Q@S%•!‰ĺ‘‚ĆŠYö© ’X፤•Ő#Q–f8{šçĺń߆aĆÚ˘;¤năó EyüisâŰ÷‘Y˘ÓŁb-ŕé•ţóz±ý:S”¦Ľú¸ÖĄh#ëđ<5 ”•LDťßEm>űźBéşö•¬ô čfn»ĂŹř çô«łO´4ň¤Q ÜîěTz’zWÎQ\Ëi*\A+Ç*ŁˇÁŘ×­h:•źŹü:Öz±a,/Ú#ŠSv'ŕ÷ŁéZŃĹ{Ou­N,Ď"ú˘Uc&éß^ëü˙ž«ńRŇš-.Í®€ăΕ¶)ú dŹ®* _¦żşv©áÓ{k0 $pŻ›‘ž2„sĎżję­´ éJľVźf ś†‘|Ć9ęŮ5f_鶨H /ŞTë7yKđ9Şb˛ŘĂ’•üܬ˙€żřá S7VRęZšąH‘ľEĎ<¬‹¸}2+™ńĎÁťĂ>¸ŐôýFóͶe,·Ś®˛!BŤŞ0rx<Ź\uźuăËÚËřšňŻŠľ9ć•kĄŔ˙!›Î“o} €¶[?€®‹K›îydIo*ÉečEzď€> ´N\?='­xővđěZľ˛—7Ó4:| …8iO÷Aě=OĺęÔ°L·ńLźvD>„fĽßăN™xV=mDöŞ»çÄçn=ţb¸ôçÔ×o»§”+U :\ĹYüEáďřFtÄ׺ŚńÇ$0|ź@ÔÎ*Qł6ĂÖ•Š¤]šß6K• Źďą8ú€kŮľü-Ó<˘ňY>Ý«˛×L¸ŐQ{zg©öË,TąŹv¶}Vt]>ęÇk§XŦi––޵…!O÷U@ ©Ý¶©!KĘ:š±Ŕn€¸;Ź-Śf»ś>EÖü7­xTKbU”‚â&Ý uÚp9ÁŚŽ0FmÚj¨ę2k艶:f©ŕ}BĎQdSĺ™`b)*ň¬==±#˝|ź,†ź*G4ÄÎExČŢB3×5É[§©ônsSą^¨ď>ÝÜîŻ^ř>˛I _ÝRÜíŹÔíQ“ôçŻđ‡ĂĎx®î öłiúqoŢ]ÜFT`v©ĺŹéž¤WÓş6“iˇhöş]Šl¶¶@SęO©'$žäššnIs3\Ű;úŐcľĺę(˘»Oš (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ l’G O,®©)fv8 ROaNŻ3řŰŻK¤řBŢÎtmBäE#)ÇîŔ,Ă=y;G¸Ď⛲ątáĎ5ĺMâŤÄ÷˛;tbÓ®ć“ÝAŕ¨$ńÓĄsńxĎÄHᆭ9#űŘ#ň#Ĺé×*ńšÓWŻĄjŽZłô¬&[…ˇüÚMł]ŃŚłMjŞŚÄ»Â=Ęúzăňě*Ćźáß˙gý˛×LżˇKďtÚ6śŚŕă¨[Š÷oßiřBĘYg ŃIžyRG?Qř×n»ťă#ć¸+§†QŻEY7fĽüŚ†Ţ‹C´MwP´ë7Đ«ł·H€;ߦO¶} ł€ZŘŰŰ«F¨ »O— (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€w`ŞI=¨FŢ€ ‘šóĎř¤Gă = ¬pÄ'›’73´\źřµwZuÚ]Ú#Łp3@é•ł ’ORÓ%Ůĺ±|í_ă=ąí@:…tíUŐu‹xX]j“śČ9@yÚ=2rÇëŽŐ˝,±ÁË+„ŤfbxS-.íď­’ćÖdšWCkžń6•sâűŤ"×P{0Á.'H÷4ĽŚ˘ň8ÇSëÇ84n6ś]žç?Ĺ›8¦¸0Ü‘Ľľ‡<~”íă^ťq¶;čĚg¦O·áŻ„^đőÂÝH’j7JrŻw‚}BŚýsĎ#Ą­|5đž¸ϤCÍ˙-­’ŮÎI;x'ę 44ßhÚšâ{[I"H»‘•‡¨9ŻÔţŢY±›ĂZó©!»ŕ˙ßj1˙ŽÖ+Íń'ÁŽ Ţźs< ŹŢĂűŐĆqÉ\ăńĹ}Exľ‹ńľ6ÚšŚ;Ov#ú× i^>еUSŇŁÄĐŮimwp@§›ąôrO°®2oŠÚZĘV ąPm\ýOĹ|RńD:—Š­ôËi–K{˛ĺsĚŻÉçˇÂěúŐĚFŕŽ+ĎÄbg ňÄúüź$Ăb0ę­k¶ú^Ö=çCń¦‘®Ę †G†äô†a‚ßB ů×C_5‡ ‚čE{ź‚µą5ďEq;n¸‰Ě2¶1ą†Ek†ÄşŹ–[śYÖMUj/Ý٧ÓţĐŃEÖ|čQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW-âχľń–$Őm]*ěK¨dŞ9ă=3Üęh iµ±ăKű;hľp-­ę-ܨD ŹL㯾? ô? ř@đl šEI\bK™ů\zě8 :fş*)Y ÎOp˘Š)’QER*ˇ«[ŘĆK8Ü=čě’$IşFWĚ_ŕ‰ü{%ݱ§·ŽFÁę@)üWˇxŻâvęę˛óŘ\—áMâfŻöآ6ö*<¶Ľ€NűÇžń"‡¨âÜ]Ń綺¬ŕ1$VŠkŕ/ŢŻ~o“LŽÚA}ö‘ËŢ$řv9ţéí÷sŽç­S°ýź|1o?™y}¨Ý l‹Ş)Ť“ř\ňˇ3ÖŁ›V¤¬™ć>ĐŻüyâ­c‰Ć› «ŢĎĐ*gîýćÁóč+ꊣ¤čÚn`–:U”6–Ęr#‰p ő=Éŕry«Ő¬)¨+#‡Š©‰ź5FQEYĚQEQEQŐôm;^ÓeÓµKHî­%4n?PG űŽEy.§ű;iSÎ_L×n¬ă';'„OŹ`A_×5íR±JMlyg†~xwEąK­Ji5y‚©2‡#ą@N~„‘íV5ż‚ú%۵ƉsqŁÝg FL‘{ü¤ä~Ň˝.Šv“{žö˙ü ĺžÝµKäÍhLś{®7 w$cŢş|eÓ/öĹ~ľL‡Śž+Ô«›ń€ü7âpͨé±} ˙ËĚ?»—>Ą‡Ţú6E5¬5‹ J0ö·1ľ{gš˝^1đŁÄzŹsáMhÜÄĽ­­ÉŘřě}Ň~»j O‰Ţ!đÍŇXřźK¸Ď eBcŚ©î=ĆE{uÍxcÄ‘jÖˇ¤yŽwuőí]-QQÁ2χ+ą†~„Źé@QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEWľ»ŽĂOąĽ”ĽM+’q‚O=şPÄč× śş[Ű?ÖĄ®Ŕ^ …»Mq 3\#‘Óqçň®ű­QHHzđ(ŠřĄá[źřMmě!ß[Ü$Ń&ĺRĂ•a–Ŕ žŁîŠá,~x†ßO\Am*çÉó†ěúdqźĆ˝˝¤DűÎŁęjĽšŤś_~ć!˙¬ŞŃŤ_ô09•\n’W}Z>{şµ¸Óîäµ»…ˇž#‡FŹóëN±żźMĽŽęÝ€t ŕň¬3ś0î8é]oĹ ­>ăR°žÖd’c$»}›WŇ€9"ĽŠ‘tę8®‡čX*Ë…ŤY­$µ_ůGhÚśzÎŹk¨D0ł¦Hţët#đ Š˝\?©^o1`»Ô‚2;®ŻľsúWj˛ŁČ茧 ŽÇŇ˝šrr‚lüßJ4q§ “vEUśˇ\‡Ĺ+ą¬ľëł@ŚîmÄd/]®ĘŚ~X“ě+Ż¬í{I‹]đţˇĄLp—p<;żşHŔ?Áü(]ťĎ”tŤA|µ®†9•ĆA®ňÖűĂڵΝ{Csm!ŽXĎb==AęBjý®´¶ y•°Î÷‰÷9ns ‡S©Ü›{ &ů0xúâł´K¤ęO4LŘxĘ0ůúU)ő”’ÖXŮ …HúŠě>ü+‹Ĺz%ö««4Ööň*Ĺă8bĂ;źž îCtĹ^•ťäµ93ÜĂš*Ąîµ©ťyńPśť‡ÔÖ;ř“YÔ$ňâgg=5,jď‰>řĎAşqŚşť¨9IěTľáśrć‘‘‚:ŕśf˘đ÷eĘýśűďü3]×Ôů_fąosFËŔ^=ÖŁYSKşHŘýë‰sŚíboJčm~x‚gÍ¾±—‘ż"ŁůŐżüHŐü/ý‘â[Y`‘•Hü~žă^»gâť*÷N7±\€d¨äý­Q‘óçŤţę>Ž.Łhă "GµŐą')’văäűăŠäě5«Í9BÂ˙ í_Dß^˝íŰŢOĆŘ×usŔúó\‰dŇ"M%…›IÝÚ'óĹq‘xĎU™’QžW!QW$±<ękŢ~xB}ËűOW>fłtx`·_î)őé“ßÓžoᇀ”<^'ŐmbGaşÂŰf<Ą<‰é“ŰĐsק­PMf<޻߷ւKd!ď‚})@ĄIîzšÇńěô &šâAż*÷&Şř—ĹVú,K @Í{) 1ŤĚĚz;šˇá˙ \M{ąâLI¨†ß®ŕŃŰz8g÷č;tÍUŇĽ7{âKĹÖŚ``Q]G†QEQEQEQHHPI É&€ŠĹ—Ĺľ†VŤők]ËÁÚű‡ć8­+;űMB5ťĚSÇýčÜ6=Źˇö©S‹vLÖt*ÁsN-/4ËQEQQEQEQEQEóźĹÁ>Źń9ď—~Ű"•rraÓît˙ŰđßÄhlěÄ’ËŔÂă=ÉĹw˙| ŤtUH™bÔ­I{i[ˇĎTocĎb¸?4ë­áëłiŞŘĎi/P$+cş°á‡¸&€>ĽÓ5µ;®˘`CŽqŘÓďn ĽI€s$‹`3´±Ŕ'ÚĽgáŤ0˛îäéŔÉę;öđAŠó(4}cÁşů3´şEă¬NŁýVâb˝x<ő8ŻI·‚;kt‚!„Aţ'ŢŁ[¸šĺí\…”s´˙=ÇŻ˙®¬Vté¨h¶;1xÉbšťEďlß~×]Š(­0˘Š( Zđg‡ŰJÓm´ű8ü»kxÄq®s€9=Ďżzšog.fošçZˇěb·ÜłEWaóaEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP3RĚ@P2Iě( yő®oĹZĐÓď4»Ŕ»wv=°›xüŘ~UĐĂ2OČ„EIQË2B›¤`I^qń/Z˝đôKpc•­%áeQ­ýŇ{Lőü këţ1·±‰‚Č=ëǵŻjÝř°Ň˘–ćâSµ%,IöźˇxSÄß.Vĺ÷Řéąą”ś°?‹ů{×·ř[Áş7„lĽŤ2Ü Y@–ĺů’_©ôöPźxCŕŘ.š—‹ßí7 ¶(˙"ľĂďaÇXőŘaŠŢ†’(aQ*¨ôt§Ń@Q@Q@Q@Q@Q@Q@Q@Q@ex—EOřn˙JrŞn!dGaŹŹ•żŠŐ®kÄţ=đß„•“TÔ˘K­Ą’Ő2ň·Ş·=‹`{Đ4Ż±óćŹâmGÂ×ňé÷ČńÉo!ŽE'•`pEz^—ńJ# 8?S^ {ŞťKQą˝¸ßÜĘÓHq€Y‰'ő5·ŕ˙ OâďŰé0Mä‰<“ěŢ#@2N23ŘuęEÓ[žĹ}ń5®ŠYŮfk©ŘGQňÎÇ€zfŹi%ŽŹko1eŚy¤tŢyl{dšćĽđ×EđsýŞ÷z‰©‡*P‹Ń~ĽžO8â»:QESd‘!Ťä‘Ő#@Y™ŽÔ“é^q¬|TD™˘Ń­USŹ>ă;[žĘ8ú‘ô¬ęUŤ5y3łŻŚ“ŤŢŰöG¤Ń^WgńSPY‡Űl-d‹<ů;‘€üIÍz.‘¬Ůk–+wc.řÉĂ)áúŘҧ^4‹4Ćeś"ć«;­Q~Š(­O<(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŁŠxî#߉"dŤčŔŚ‚8ô ŠśW#ń7íßđ®ő†±”Ĺ ‡÷€wÄH§=>RÝ=+¨šx­ÔĽŚpľ3ńMŻö%ýŁ˛ůrŰÉ ă ©€|uąˇ#¦—q&Éí‡+ťA^sµ°xěG\ëCËmÉÝžÚ# äS]Ö8ŮÜáTdšń=#âÚ$!d—Ń«oIńÔľ.×í´«9@BÂIß°E##ęz­=NŠ( 3Ç_ toIJܖµÔcB‘^D v?‰AízŕŚ×‘\~Ď&YÜ[jşLňĽŹ"1ú¨Bćké )Y§%±âýźb¶şŽçÄš’\Şße´#‘Ůśŕ‘ě>őí6¶¶ö6‘ZÚÂŰ¡#Ž5ÂŞŽ€ šŠ°Ą'-©_j¶ÖE …žćlůPG‚03Ô*Ô˛¤ĽŇ°XŃK3€IŻđ?Šżá ńeî·t~y¤ źůgűŞ=8ëď“CodTlĺ.ź™éÚ÷…ôżé˘ŰZ±ŤŰkŁńU|řtő¸›oYř>âXmdş–Ýđѽ̏Nq€ç=«ÓŃŐĐ2śŇ ľ±‡PµkyÁÚzŕ©őĚŮäúެ–Đ·ĚTđ…×ĹWíâa3¤Zľmăs…žE<łz˘ă§Bzđ0řëŔZíş˝ÂÜ$Úbýů˘Ľ^8ĘÓv śźZç<7â]_N¸·Ńo_m`WuÂô¶:ŔTó+ňő5Tj:~Ő/vöż™ôš8t :GŇ”ŚŽ¤}+?GÔ"ľ˛ŚŁÁyŁTdč+“ńŠÍ´ńéZTfëS¸;cŤ:çąö©'[ú´77MÜVr,w-yLä… Ž3ŚńžĽVw†Ľ-m BÓ3}§R™Ň/|Ďßj˙u}‡§9<ĐO řHi˛ŤWUuşÖśŇ䔀©ý u<ôÔŃEQEçßü||=qo˘iÍ˙;ü×} bägŻŢ'§ˇöŻAŻ–ţ#j3/Ĺ­lÜ)FVŽ4Rs„®1éź˝řÖu›P|»ťątiËiđßSB[‰nîââW–gĺ¤s–?Ťhé:桢\,Ö/Z2rŹěWˇţuÎZޤ¨>aš¸%ë^-ĺ~§éľÎ•Z|¶N/§Cč_ëř‡GŠú%ŘÄ”–<çcŽŁůˇ«^eđ†v‘5łŃˇaÇsż<ţ˝6˝š3s¦¤ĎÍ3<40ع҆ÉéóWüŠ(­N˘Š(˘Š(˘Š(˘Š(˘Š(řĄoöŻ†şÔ{¶â$“8ĎÝ‘[Ž1_*€I “_břšßí~Ö-·ló¬fŹv3ŚˇĹ|hBÝÄOfŰßčQŘ|.-ĎÚ ÜsĘ@ď†P>€7çő® ˝n÷? őT%°°,ź(ÉůY[úWŹ%ä;×zÉł#vĐ3ŹjW‹{oŃY^ń™â­-SJśËnä©ÜĄYuVˇ—¦G5«LAEPEPERąÖ4»9<»­JÎ ?»,ę§ň&§¶»¶ĽŹĚµ¸ŠtţôN~b•Őě[§5fť‰«ĂĚž1µ:~9®ę˝şRr‚lüżFq3§ “v (˘´9Š( Š( Š( łÇżBz׳čô…đäŢĚÍ>Ü,QŤÎ߇oÄŠěőĂbş˘úśbK¶‘®P÷Ś)-úfľSŃg‹ *ŚI›$sźĘ°ŻQÓ…ăąęĺX8c1 5]ŁÔőŤkâęŇÁ-¶źöY`|¬ľqbÉÝHŔp}±îk Đ>%C+Ą¶­„’ťNWţéőŻ)F©7Wś±US˝Ď±©`eE yÝÜúKw™čťNáň·Q˙ׯ0ńŚf-×$yÁĎjéĽ)¦>Ťá='Nm– XÖAśáöŤß®kbŠ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(řŤâ‰|1á–{6A¨]·‘l\d!#%˙Óßň÷4˙ł*ÝÜ_Owys!g’S’ýËI$äŽőě˙´ź ^Ľ\ýž9'Ťůăs+ú+Wę—Ćţä6NÄ]«ţ5Ď>wQ[c×Ă<4prrW¨ŢžE*őďwkĄëÍ,ę›o˙Ńcr9Cśđ} `cÔ ň ’z^›á Ö×Ú5…±?h7"í8Ă—ç·'­EjŽQÝł§.ÂSÄ*’«đĆ/ďč}CEWYóáEP™üg×dÓ4 >)|łpDlŤHǦJçňď^[o2Ľ`^›ń«ÂúźĽ?iwĄ[$ňiŻ$Î3ű„ „ç¦HÎNŻÓőÍ€+śzáĹŃ”ß2>Ż‡ó Xx:SęÎŘ?Ö|9ŐžÇĹqZ–Ä7ŞbpO€%O×#đ#^lşÜ{rH®ĎáUĽú÷Ťb»DÍžś­,®GČ*‹ź\ťßđ\´iĎÚ#ÜĚńW¨›˝Óűú~'ĐQE{çEPźxďÇŹ¤]ťJeˇO1ňs‚ ĆH瞀Ź^<Â{«‹ŮŚ÷SÉ<§«ČĹŹë\ýƲ÷~'Ő®.2Éy+7'ç< öµiÇ2°Č5ăâg'7}ŹŃ˛:!…‹¦˝ç»ętzż¬éw‘&ť4Ň值şÉí·ü9ŻoÓ/[QÓˇş{Yí]ÇÍ čU÷˙>őäµ+ 3W¸»˝` ò<ă‚HÉúŕ~¦˝xŰG?ňÜ~uŮO“™˝śâJ”ţ±ěŁ InűÜčč®txÓG?ňÜ~táă=˙Ëqů×aó‡AUć»H®a·ë,ą vu'ó¬ăţ~yţ›ăص_j3«b¤AžčĽgń;Źă@żEAkwÜBHŘŽ•=To*¤‘!#tŚ@?Ҥ ™,±ÁK4‹j2Îç}Mfx“_µđÖ‰6Ąt7ůcŚôQţ=€&ľkńdž$ńťçÚµUĚVŁ) #ž óŚžOsYN´ í&warěF*.TŁtŹ¦-üC˘Ý\µµľ±§Í:°VŠ;”fôśš‹Ä>&Ň|-§›ÝZíaL.1ËĘGe^¤ň=†yŔŻŹn<9Ş[d›c"ŽńŮü:ţ•ÔřgÂ:ß‹n"k¦¸†Î±Ëwu¸ěQü+ž§‡ľ*ˇR2Ů™â0•h-zŁŇm|KŻ|WÖäÓě]'ĂP`ŢHŤ‰eCü‡vśçˇô«ÍbÇGłK{qQB#ETP0€ĂĎ®i>ŃLÓa¶züÎÝŮŹr}ĄpcRńŽuC§čVď/#Ěđ‘Ý› sŽ5g)Ńř«â"E˝L·` fhńŽ¤KÝUäÓ4–ůuýä«×ĺSŘŹâ¬ÝOň€±EQEQEĹ!84c=hąëY:˙¬|?dÓÝHcĺLňM\Ô5].ŃînĄTEäő®]:÷âXôIiἫnjşÁČŰýŐăďwăµsOđí˙‰®×Tńiđč·W^žůďăýävóş˛:÷A…8é’zcľG–řG\ëBB6n!XžÁé_\WükđJi“·Šl# m;y˙ §ŁčÝýĎ˝{/‡µ¨µ­9&FńóV˝|qĄxšří¶–ę_$ øúw®ëHÖol ÜŘ]Ëg?#pßQĐŹc\µ1^ÎVkCßÁd[ŁĎ ‰Kµż[ţ‡Ń´W;ŕ˙§‰tĆwQÜ,č:sч±Á㶠tUŃ).dxµčN…GJ˘łAEUµwĽÓ.íŁ*h^5-Ф ×ČľÖfĐîĆđɆŰ"°ÁR8äWŘuá˙>]Í©Oâ ۵Ă\9’ňÉ1»yäČžąî˝rr3śRÚÇMáźC,Ż aŽć»8ĽGa*nó1ř×É1Üßiw ď`•)«)÷‘[VŢ#פ´šh!šX`]ŇĘ‘ł,cŐč9i’{ŻŤüUft+‹(X3Î6uŻńČ ‚î"C@üă°8çóó¬¸Ë+ĂQ©–Ď9YĎ_M­ů'„ľ!5¨H¦«S^ŁcńŇXvCÇ­|Ńv¶žq6’0@pUÇCßu%ś“;„7âÝ3Ë3ôč'usăç8ľ‡Óř´kzĄľ—`¬Í#n”Ć3˛0~f'°íĎrzěëĹ< âŹxNÍŐ.ćúoő×r‡÷@ţöüűWyoń'ĂÓă ~"™'_QEqňH±śůmµŹlúW/Şü@Ѭô;ŰŘn•ĺ†xÓűĎŹ”węp+3áĽÓQ%łż%ٲIîIď@E Ś‘Hî±ĆÎç Ł$űP«Ă~9ř îňâ?iVňNV1ěq.âˇzIŽ¸ÇĐ}M{•šąQ“‹ş> ¶Ő%’Eh&˝#áYťŽ’kę=káźő餞÷D€\>I–h“Üí őÍ|ůŚ<ńYj0«›Ił˛adŔüöďě~•‹ˇő=*y­zq´Yď˙ Ľ37†Ľ' ^©]Běů÷*OÜ$pź€Ŕ>ů®ÂłtMN=SMŽt`[5Ą[$’˛<ę•%RNrwl(˘ŠdQ@Q@Q@Q@Q@|awll5IíX’Öó4d‘ŚíltíŇľ´ń_‰ěĽ# ËŞ^†p¤$Q)Á–Cś(ôčN{käÍSP“UŐďu)QRKąŢwTč 1b·4ęz›ď ęV3ŮK gB:wë^KiáťBä‚č°'Čyü‡őĹzßÇ’áŕŠ%.íĐ î<[đÖ-Gm΀¶öw%€’&ĘÄĂÔŇ=†×®ýĄŻLôň·öś¸¶Ňémľ}~ă–ř6‹«KĄ@ĚđÜÄĎ!cŐ×oË#íuçžř¨řYmOS˝¶‘Ö6Ž8m÷Î>bÄqŚwÎkĐčĂĆjţăÎ*áębo†řRKî (˘·<°Ż ńßÄ9ĄÖfĐt{“ VĚRćxŰ î8(`Ôý9őúňŤštÚéŕ łÇ1´beŐ”°Éô?Ţ5•tÝ7fz\éĂR7Wţ™Ŕ+d’NIä“Wl5+Í.ĺnln Wřőö#ˇƱŕąYy«!ëĹM¦~›(Ƥmşg˝xGÄkâMNáRę#˛t^™ěG±ÔvŻ řÍŕFŇĽTš®śÂDÖ%wű2ó ›‚űGpKő8ô®ßáMĂ˙ÂKw‘ěË•ő!Ô˙ŹÎş}S—Ä»;|n[ \ä˙ ČŮ#§˘§>ţŐěP›©M6~o›aŁĆJößďč|Ő6Źâm6űDÔ­á;ćµt\}HÇzŃđľ›®řżSŽĂJµvËbYŘ*ęÍŰéÔöŻ®Ž6śăç5WM˛·°±Hm`ŽÉ/˛5ŔŽNÔŐ:0níĂ1ÄB<±‘[Ăş$Đ-4«v޶醌ňĚGą$ÖĄV«C…·'w¸QE(˘Š(˘Š(˘Š(˘ŠÁńµĽ—~×ฑôů„ęÇaăńéř×Čuń·`¤ńھݯ~)|-ĽđÖŁq«i6Í.‰)2“öNyVÝô?÷ΤT•™×„Ż*3ćŽć]ž¦¬ Z+wÝ^sÜ°ôlŠŰŃ"Ö|A¨G§éVrÜÜ98P{±čŁÜń\Â;č}m ŠŤŞ#K^Ô˘E3“ćnü‡˙^ťg«©P fşż| ×­l-ď4»”ÔçXżŇ cę|ĽđËŽÄÇCś4} _˛™˘—HÔa‘zŁÚş‘ߡŻŐW"‹8·¤ëʬVŚěŁÜ潓ár?‡.ďXb)îHŹÜ(źĚ‘řW“ř;á7Š|Cp’j°Í¤iÁľw¸Mł8¨yÝ€^•ôžźamĄéöö6qíŕAh;UC ěĺĚĚ3\íâ¨ű·ÜłEWaóEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\Ţ°]|iáć Ű<«Ą-Ž>Vč*é+ť×¤Ůâ?ďK(˙ÇEtTÄM­!ţógôúS逷śĂřB‚>Ľ˙ő¨ôQEQEQEQEQEQEQEQEQEQE`řÇÂöŢ0đĹŢŹrŰ t2ă&)ÝoϨî ňg‰Ľ­řFřÚęömĎÉ2üŃIţët=:uöŻ´i’Ĺń4SF˛FĂ Ž2ÔRjĺÂn'Âđ«Ľń¬hÎĺ€UQ’Nxľ„řMđëS´ż_řŽ"D_ô;9WçRGúĆÂ@ČóÉ'ë°i–˛ů¶ö6ĐÉŚoŽ%SůVŞyîÍ^"|®Ń0˘Š*Îp¦gĚ8sąő¦îó‰ v:·÷˝…%ĹÄVp4˛°TQ@ŐĚVví,¬WÎߥń׎uY<:ÚičŰä™Ć"IÎĹŔęO8úgŃîîµëiştŤo¦@Ř»Ľ_áÜOW?§SŘBŇô»=N†Â†Ţ!…QßÔ“Ü“É'­M§txN“űţ§°éŠč×d×<8Źpá®­ŰÉ”ç–ŔcőŻr tŐęBJqRGÂb(J…YRžéŘů_âφnĽ)㋛ؑľÁ©H×0ľ8ÜN]?"+™µ×vŕ××úĆ‹¦řN“OŐl⻵~±Č:™ŞžO#W“곶“<¬ÚfąwhĄł˛xV` ÁSé×?ŤgRŚgą×„ĚjaţxÝţąć[€’0`Ŕü§»ť á?‹őÝŰSŽîÖŇ+”ßwSH˛m= HŽzôź üđľv·—"mVáP]ăËSë° ţöG°ŻIާO‘YcqoSÚKsçďřR^2˙ ľ—˙˙ńş_řR~3˙ ľ™˙˙ńşúŠĐă>|›ŕÇŤ˘şjZ|¬:"\Č üĐÖąŤkÁľ%đ·Ô/`EŠG($…÷¨>ŚGLöúúŞ«ßŘZę–Xß@“ŰL»$ŤĆCóßµx‡~%Ri 0ő5Ú'Ĺ93/OZâ~$|+·đµ”Z¦“u4–˛Ü,-Ř&=ŔŕîČČÇ#<ŽµÚřá_‡ Ómµř˙´îČÉs śt ĐŹ÷łô«ŕ˝fçĹš´ÚžŘ-Ť˙§ÓčąĎűĂ޻ڂŇÎÖÂÝměíˇ¶~ěP E@8©čÄľ;ęŇC©h:p%aŰ,íĎ Ů ?!»ţú®ÎédŚsÍz?ÇßM¨xzÇ\µŚ´šk˛Í´sĺ>>cߨún5ŕö:łE…sŠâÄŃswGÓäy”pŃörŘďŐ¸u‹Ë) ¶l«üÁ ŔÝţĄrpëK·–ćŐÚiyĄ`‹Éf'Ƹˇ •ăąô¸śN A«÷YŢx'áŐߎ`Ź]×oZ-1Ý„Vđ·ď%ÚĹNOđŤŔŽäŕôŕ׸išU†‹`–:m¬VÖÉ÷cŚ`gÔúźsT5ŇěMĺČĚžTjy|dýwöď0$q·ĘŁ&ążř/Ä~ Ľ‘/í$ű2ź’î%- ŽÇwoˇÁŞú2ëšíȴҬ'Ľŕ’=Éčą®*ôgQî}NU™áđwZľ§µ|&ť¤ń=ę!&!fKă¦íëŹýš˝Š¸ż‡ čŇŮmV膹t9E;UIŕĎą>ŐÚWE ~Î ,ń3LbĆbeV*Ëü‚Š(­Ź<(˘ŠB H‘žÔÉŕŠćŢH'E’)TŁŁ †R0Aü*J(Ŕ|Uű?Ý­Ü—>Ľ‰íŘäZ]9WŹŮ_aőÁÇrk'Křâ답ŽúňĘĆŰ?<‚C+cý•“ő#ë_JQR♪­8ěÎ_@ř}áÝBJiđŢDXĽ˛^F˛´¬qÉČÇaŔăń©.<á™ÉáÝ81ű¸BÉp+¤˘¨É»ęÎăŕ˙‚gBJxXśîŽć\ţEý+6ž–@ŃĎŞ@ĆŘçBżĚ„צQ@=?Ŕ;F„¤"şF'ţZ@ Ăůץć«ŕmzăLşWW·©‘ه±Ź­}_X&đ^‡âŘ5[@Ň Äwť˛ ô Ürx9Ôćz?ĹŇY&ÇłßŃĽo/‹őč4› ÷× :,JFąŻńď…„ˇs†žQéŮ°ýOá@‹EP^eńŹÁÇ\Іµe7úráGÍ$=HĎű<°˙w5é´Śˇ”«A ÷ řQâň6ŮÜ?#ĺ žµíęÁ”09kćżč2ü>ńĐąłBšmŰmńĐ ŤÉ˙$cŘŠößx‚=gIŹçÂńÍuQEQEQEQEQEQExwÇ™g¸Ő´-=\Śr8Rp7OĐÔúŐßxÂÚ95›Pşŕî™Č@}1őÍXřëáů®ô‹vŮ 1ÎAä#†Ç aŹřĺć>ń¤úc,s9Ú:5}9¦if‘ ŹL±¶µŤ±‘ awc¦HëÔŐęň]+âT~Rć`Ň_Ë­ßA¤éĚć嶌ęXű“řPu.ł§Aź2ň%ÇűU›qăM Ř÷©ÇĄqŃüIÜ>ĄâŤJŕ’Ků ±g9Ć3»˝jý·ÁŹĂłíß^íÎ~Ńt~o®Í˝=±Ň€,Ý|Vđĺ¶ŇţЬ;ŻŤÚDYÄ_đ&şëO‡^˛ŰĺxzŶŚ9<ßĎ~sřÖݦ“¦Řműźim´a|U0=yRüW×5˙źj ®ŕaµgČőŕ+‚ř—â˙jVşf·§Í`K­ÜQĚĄXŚ2ŽÝO˝}=XŢ%đ®ŹâÝ4Řëk:`ůr$žčÝAŕ{r¤ŐŃP—,“>C´ÖLx H­E×”/߯IÔżgCçłi^ ß,wP|Ę=ŮN˙ŔEtř  č÷ku«^I«ş¤OŠ/řä–üńę sK 3ŰŁťVĄ'rO:-ĘX\ř†ň"źlQ¨eĂy`ä·=íÇűąî+wÂÇűGĹúö¦Géˇ_LF`ŽO]ąük®˝ş‹LÓ.näCk JŔq…U'ů ć~Z=ż†ă–^e—ćvĆ2O$ţuŃ(.TyŚDńJŹVuWŔęŢů>?­KQKĚЧ^Kěř‘RŐ…Q@Q@Q@Q@Q@Q@Q@ý׼){:ÍqáÍ-ä żwŮP?í`|ßCšÖ°Ó,4¨<Ť:ĆÚÎçË·‰c_É@jŠvQE (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ çĽO±/4 ŠŤăQĐä$ăŁň®†ąßGş="]ű|ťJ7Ć>öQ×řö č©€ţů—ţtúnTIŚüÄtöţşuQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@U{{Č"`Ë lf«w‡O­X¦7ď_áčOô§Ó%‘ än'€ Oř¬čL˘8RĺžOó.?zőQ@ –(ç…áš5’)«ŁŚ«Á˘ĽCĹ˙VyĺĽđµÜp†%ľĹrNŃěŹÉüç^ĺE&®Tdă±ňü?|jňŞa“˵Ďë€Oé^±đ÷á%‡¦]Júq¨jřÂÉ·Áž»ç=~cŰ çŇ(ˇE"ĄVMX(˘ŠfaEPEP\ĹO·ŤôÍ‘DŐ,‹=ą~€Źš2{gę=É®öŠ›Nčřšî-WĂ÷Że¨ÚĎkpťbť ¶=yę=úÚđîťâ/^%¦Źa$ŮmŻ1â(ýK?AÇn§°&ľą¸µ·ĽŚGsočಠ`® >(Ł‚%ŠÖ8ÔaQú ÉŃ‹whî†c^匌Ź xz/ xrÓJŠC+D»Ą”ńćHyfÇaž°ÇZÚ˘ŠŐ+2““»Ü(˘ŠQEQEQEQEQEQEQEQEQEQEy_Ç›˙ ŰëP ó´é1!|§ ~8mż@Z©|'ń›o.ÜýÓ^±¨ŘAŞi·Z}Ň–·ą‰˘µ†=5óO…Ą¸đ·Śnt«Ł¶H'h›°%N2=ŹQ@Ięš­†‰§K¨jWQŰZD2ňČxźSě+…ăg„®ďÖÔßLă%H„(¦ćôŻř§ăŹřť °éů‚óÁaĂżÔ‘ůXŢ ±7züR4‚8aÉw#¦Aâ ʤڋhô0XxT«ÔWONŻäµ>µŃ|O¤ëŮ[śĚŁ- kôďřf¶+Ĺŕń…4bžÖßuÔ<¬ňLĹłëŚăô¨ďţ2ő?ýň*©óŰßÜĂ°ţÓý™ľ_3¸ř©¦iúŹĂýFKů_dO´A'¤Ł…_ř;ŕUćżż·fą˙F´•¬‘ą¸a¶1í“×č3\gŠĺHR«Ôäç{t§ŇşXÓˉ€2nX˙ ¨ęz˙!RÔPsć?÷śţśJ–€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ ćülĆ="Ös7°ĽŚN®q“í’+Łf Ą€ d“ÚĽĹ^0źÄú”˘)™tČś¬ĂĆóęOQč=sŤzĘ”nzYf]<}nDě–ěőy|yáehŰTBĂ©Hť‡ćZ~·Ąęň#X_C;m? l8uSČü«çŐ5,7ŰN“Á+Ĺ*ĘčpTűăXé_T}%NˇËjsiůŮŻÉHQ\ׂĽK˙ ŽZb˘öÜ„śŚçŁďĎâ tµčBJqRGÇâ(OVTŞ-PQEF!EPEPEPEPEPEPEPEPEP/ńÄŤá ÍwmşťĹµąţë¶yü1ú\wĂOG&ž‘\L^FűěÇ$·r}ęçÇkK™ţÇsn»…•ôsËě›]3ů¸ŻźtÍnk+Ł-¬…NrT÷©×ݨş)­Ó§őó>ËŠx§@Ѹ`} 9ÝQK;ąŻśtżŠSŰF]ŕŹĆ¶´˙k0ÔăŃôu-q($»ś$j:łAT`{.‹ „V,ÚuĽ0Ă,Ň9(›yź~+F«ŘY¦ź§Ái,° MÍŐ±Üűžµb€ (˘€ çđ̦Ú{¦»ľÝ·ě–`I =0Ü€§ŘśűVf—ń—ÂWö’Ďus.žcp˘9â,ĚBnČëô¦fz ÁŰ|XĐőMI4ýËTŐn_vŐ¶€(Ŕţ"]—jóÔôďŠÝ[˙Üü­ĘŃ\íw|YŁç‘±†8éóŹ­oÔWW0YZËus*ĹJ^GcÂÔŃn· .eŠI2~hă(1Ű‚Çů×ńŁT:g€ďô˸­É§WçŰäÇăJNĘĺÓŠśÔ_Vak?µ+ů™4 ,íy ĺCHăÔç…ă°éëYö^<ńś»ţŢg^2“¨`¨ü®"Ćń%‰yĹ_q^,«Tć»gétrܱQ…4ץßŢ{ß…üOmâ[–4ňn"8–ŮŰčAî Uńż‹cđ®— Gľąb–ń·N>óa‘ůŠó‡7ĎŤ­ VůnRHŘg¨_ů¨¬ďŤÚÁńN›÷K§+¨ÇBdý~UčS­)Ńrę|–/.ˇ†ĚŁIüÎߧá÷/ő{ýbŕĎu$îN@fůWŘ€}*®ťttĎŘ]©!eýÓzdr?­P¶ĽIPĂ4ÝMŹŘüŐxe\CĎéšáˇ7©ČúśÓ Ř ĆšŃ+«yj}?g0¸łŠPsąA©ëđ&¦ş—‡ `Ů!Etőěźš…Q@Q@Q@T—–Ú}¤·w“ÇĽKşId`ŞŁÔ“@Ń^G©~Đ^µ»hll/Ż˘SŹ<·ş†çP+©Đ>$é:ŔŤ.˘—MšOş·ç Ü:®*ăŮŃO ZŞnnŰŘě袊łś(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š+Ŕľ4č§Hńe—m×Ţ.Ůp:HŞăň5ďµóďĆÍ^çRńĄ¶‚.v6P¬®ťŇľy?đ zdúÔĘJ*ěÖŤ)Vš„7gŽ_Ł.Ł8=ä$ÜAüŤoŰÜĂe Í'ç+–`y&®_řz+ŰHü‰q ˘¨Čů?NńžŻ,1™Ď ©’Oá^Ëŕ/k·sÇ­x•ŮcĂZŮ7ßĎ÷ÜvÇe<ç®1ĎĄ’śźzZ(˘Š(˘Š(˘›$‰m$Ž¨ 31Ŕu$Ш®Zçâ‡-ć1‹ÇŽ Š"Wóč »¤řżDÖeÚŢśôŠPQ›éžĐVj¬˛hë–sĘś’ôfĺy÷ƛ鬾^ůGoť4Q9·x']¸ú^Xž*ĐlüSŁ>‰z›˘ťŃ؆@¬ öß,Ď©N>ήŤ ń_Dh=χ4ąämď%¤NĚ{’€“_0č"÷Ĺ:Ýľ‘§ÓL~gÁ+wvÇ@?ŔwŻŞ,­"°±·ł€ĽKg®Ő ­ptĄ ¶yüGŽŁP…=Z»'˘Šăľ řĚxOLŠ;}­©^°ä yČöČÇąú×l¤˘®ĎšĄJUf©ÇvuW7–¶iľęć®é\(ýi-o­/WuĄÔŻ\Ĺ aúWÎs_\ꛛˉn&nŻ#?ţŻjÚđľ›s¨ęŁě×ßaň—{\rŁŰOµpÇĺ+(źQW†ˇF©R­šßM?ĎúŘ÷Ş+=~ÚĆÎ8ď/–ęt\<ˇo>¸âł/> X[´Żâk˝)%gdîv5Éx§Ä±ŮęÖZ$r(–uógÁĺcÎüN\¦©ńb#vI©öŻ˙„šöË­]J^yßt‡Ű Řá@Ź®mäY-ŃŤĄGJ’ĽËÂ<‚kdI$Đšď Ö,§@Ë2Ź­_˘¨Ç©ŰÜ_%¬˝°YŠôzţ$Uę(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š*˝Ýýť‚Ľ»‚Ý[€ÓHÎąŻřŇ?i:"ËvĆ;hŘđ0>g> dqęGÔx¬ş…Ö§1»˝ą’âwĺžFÉú{aŔ®jř…KD®Ďo)É叼Ą.XŻ˝źEÚęúměľU¦Łi<źÝŠecůW+ćµlAÁŻQř{âéŻe:>Ł1’]»­¤nK9R{śr>‡Ú˘Ž-N\˛V:s–“«J\ÉnşúťskpK¬ť2Ý÷KsvLŚ…řÇÓůjÖ}–‰¦éŇÍ-µ˘,łJŇÉ#ěĚÇ$îbO^Őˇ]‡Í…Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Ţ.i“Ázë[nóĆźpcŘ2ŰĽ¶Ć=ó_.čúŠTÚľątIchäEt`U•†A¨"ľFń×őx…ŕ*ď§LĹ­.;:tźď„~=®|E/iÖĘqď UľćňL¬2§™k]*0ÄŠ•őć|*nf<I5çĽ4î}”sĚ3ŤŮíż®LšţĄŕ ¶Rß79ÝÇźů5ëőçż Ľ#uáÍ[íR6ŹSÔJ»ÄÝaŚgbź~I?PJô*ôčC’ ,řlϱX©UŽĎôĐ(˘ŠÔŕ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (® â?ŚźA† *Â]š…Ú—gb‹¦Gˇ' cß3š„\™ľ”úůkâ_$đń´¶»Ą¶‘‰$só!'©÷wÍrđ=ÍĚp!PÎÁAc€=ÉôŻyřôĐ?†ôÔČóÖô`碔lţ ~UĹ|:řwmâ«˙´\ýˇô¸„үȲIŽ^3’}‡LĐ[ářKŔZ/جäI®¤Ă\Üśn™‡ňQ“Űžä“%çÇ $Č·‹wŃI®¶ÓáW‚¬×ĺŃ#‘¶€Zi]óď‚Řčt6zŤ§>ë"ÂŐłśÁlsëŔ ˙…§â]Těťúŕ0%L3gq´Ëń‡ńÇ6 iqˇË)"Ę<éR<>ńˇ=+čZ(vÔř Ď˘^Ie}o5˝Ä'kĹ*•e>ŕŐôń Ëú§Ä^ đlipÜHŁ 0ĘH?ŕJAÇ·JÂÓ>ř#LśL4źµHWír´Š?ŕ$í?5Ď<reBŃ;}Y'ń®kÄ^đ„|ŞęĂ°2¤XŮäměB  Ä•ůŠňűÖrˇ«;¨ć•âą"÷0ţ ëŃŤ5 ¸•cHĆ 9Ŕ¶s^©xďĂúh#í‚ęA˛Ôy™Ďű_wőŻźtŃv¨±¨zVjĺž6[Eö†)YJ´ŰňZ~:ţ‡żčž$Ó*üK»Ńd‹GĐnV+¶R×3 Ń©űŞ3Ŕ'“ę8ÇZůóU¸¸ĽĽk«©ĺži9yerĚÇÔ“ÉĄ-Ť)[żá}8]ęhf(0p{·oËŻĺ]ćî+–Ń/aµ˛HTŹV>¤ÖÇöŚ;sşĽŚC”§±ú&QNŤ 2JJďWë˙öź‡ľ%7 ŵ컞ĨF-ó26vŻ=H ŹĘ»¨Ůž5f$g•óŹuto$! ®x'=˙ĎzúOşK«Du śs^–›Ů®câseőÚžËkţ6×ń-QE±ć…dgćŠ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š) $9$öĄŻ2ř»®jVV–zm¤7 g>Zîĺcmč±ďéĎĚHëŔěMLĺË#|5^´i'kł¦ĽřáŰ;–€Ý´Î§ aŚ˛őč ŐýĹF¸vY]7$ÂăkńězţóěnżŤlWĄ)$ŃńuiĘ”Ý9îť‚ľrřń˘Üéž0¶×â‹ýúŤ¤Q˙-SŚřÜg®Ą}TuŤĂ^ҧÓu+u¸´ťvş7čAěGPGJş°©ÍÂJHůĂ]@fçĐÖ™×! ’EwÚ·ěę­tĎŁëľ\ńÔ;™űĘyü…nřGŕ^‘ˇÝÇ}¬Ý¶­q &=Łpy%đ}p=ErK ;źCKkS‡.çKđżNžĂÁPMpdľÝě?¬_ÍTĆ»:(®¨ĹE$ŹµiV©*“ÝęQEQQEQEQEW|Hńśšź‰&Đmee±±`łx–^§>ĘxǨ'Ň˝ľľ:Ő.çłń–µÓćq8‘łś·ŮýsXbpi¦Q:tńQśúj”6 GB+"ÓPIdóW„ĘGŢă´Öçé1śj+ĹžÍŕ/ÉŞi[Ţ»KugŚ6rŇ©ŕrO-ž?*ěaŚ®]đe|n#ô؉ď^AđŁ÷Ţ+ş`…–;6Ëă…béźR7~F˝ś ž•ëá¤ĺM6~qťĐ§G(ÓŮŮýä—qXÚ˝ÄÇ ˝v=€÷&ĽëÄ_ “ĆÚ¬Z¶ą«ÝĂ!P>˦"\çhcž}ůć»kuţÖľŽ ´·b-ĐŚ~ň{ŽËřźCZŐĐyIµ±áh~˛kmÍb/Ź6gůĄ”Źď7ôč2p9­ę( MÜ+çoŹR[üAÓrÍĺf¦ĐOĘ›&qďÓôŻ˘kÍ>1xč°ßi_T°dCš2FW“Ôc#ńęd®¬mBŁ§QMtŞľmO‚ť ›µř­QµsâŤRäśÎTJ}žŹâmtg§ę7jŘůă…ŠóÓ-Ś†˝§áĂ©Ľ9§I«k!ÔrÖČ9z18'ÓľkŐ+Đ>A«;4Ř|ń•đÝ<¶Y˙ź›€ô ŐŇGđŕZJŇkŃť§ËE€„ÝŰ-śăŻj÷*(ň.ŁŁř‹Áמ]ý¤ö‡8 FcŁŕkk@ÖĽU­N-4›®ĺčLcĺ_vcÂŹrE}AEs^đÜúždÔ'śŕÝ~ę°˝đ={źŔ–ŠĄŞęÖ:-‹^ę BäňXž€É4›¶¬¨ĹɨĹ]˛íć—?A“ZI1†űÓK‚GĐâks@ř…¦ë-µÄmcrǮۑŽx¸çęcE);&z5rlu({IÓÓä˙uôQEnyEPEPEPEPEPEPEPEPEPEPEPEPEPÎ.ä‹Çúj>Zi¨Á{e“'˙•rÚn˘¬€^Áń»Á^$Ń-µ]6&š÷N şiblŹR¸Č®Oµ|Ýow%ąŕńé\µčóžîSĽ+ň=)& 2jö—Ş.•«Ů_»•Ky’G!±•‘źq‘^}˝´rHŻSřKáąüI©®·nN“jO•ć.Vâ^śÔ/\ôČָᆟ:>—ťážO«OC˘Ő>7éĐ)űłËɱÇçŇąń“QżżU“ÖŔäŕňŢŐíz熴Źi?Ůš•šIl¸1…ůLd ¤tÇ˙[ĄyŤçě˙dófÇÄĹýŮí„­ů†_ĺ^±ů鯢üF‹Pş‚×í*ľcXžąŻKŤŇHŐ‘)sšńŤOŕOŮ4Á>‰«Ď&§[T“Ž‹Źş~¤Ź§ZÍđĎÄM[Âş“hŢ#‚X^6ÚË(Á˙OB84ďtU +X˛Ö-V{IUÁĆy~€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ ©©ivĹ“ŮjVp]Ű?X¦@Ă>Ľô>ýE[˘€<¶óŕ®n ‘KŞZ!˙–PÜ)QĎűjÇŰŻjé<1đĎÂŢ™.tý?Ě˝AurŢdÜvSו­uÔR˛)ĘO¨QEÉ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ ůŻâ–ˇ:|WÔŁźpHăaČĆSËRqëóŻĄ+Ä~3hqga řć¶-ţx&ŮĂ®†ŽŔc2Ď+řÇéZ¶ţđ­Ş‹Ăş_ ˝Ş;ő šd{qńĘÉsäŔOüŐQńwZľT:~‹y8íC·ăžxŻb·±´´bÖÖ°BX`㠟ʬP‹ÂYńűŮü3© ^ľl-ĺ¸ ţçúŽ±Żč~(ą“X¶–Úęr&xź®pAďţ9«ęšÁńG´oŮ­ľ«nĚńçĘž&Ű$Yëý#Ú€<ŁEřšŞŠlBknăâ”I ?h=kóŕȸ?aעhHăĎ€†Ü׏Ąoxkŕ~Ź¦N—:ÍÓj’© °ěňáÜd–çÜÜP‘xËĹłxšícäDI÷>µę_o|ÍX°Ďú›”›ţúăŻýłŻ»Ó§î´ą7/Ůîd€î ź•äŽ;vŻ@řxmĽkyfü ‹6Çń+)ţ[¨čz(˘€ (˘€ (˘€ (˘€ ŕ>3ÚĎsđËPx ÍĽ‘LĘ?‰CŚţYĎá]ýCukőśö—1¬¶óĆŃKtea‚ÔâěÓ>BŇua° ߊö7ÝUüwđ»[đ†Ł=ÍŤ´×z9raž%.c^Â@:śgˇöÎ+ŠŹTť3^}\-ÝŃőřůÓ‚ŤMJ÷$ş–E9 äŹÄ×Ö?Ţ4řkŁ[}ŁĚ™"f`z€ÎĚĐđŻđÂcĹiqŞA>›¤Ś––EŰ$žŹ^班o\Yř‹áź‹-´¸nEĺµĎÍlĘvĺsŽGđ‘ß·˝vĹXůzóćgŃÉ%H“sś «ĄÝ˝>$tyvŤű:gÚ°ľ Oucá©5T‘ţĚwJ¨3ű¶:ńÇĐdö«9ËzŹ‰-­PüăŹzŕy{(?/ü‚= yΡ}6Ą¨O{pĹĄ™Ë±'ôü:W_áď„~%ń,+4–˧Ú7"[Ľ©aę©÷ż9ë^ďះ~đ˛+ÚY,×cÝ\aäϨ쿀ŐPʧÂč÷†(tÖ˝‹'dÖŽX}ü@­?|ńŽłrŁRŚi6`üňÎŔąö 9Ď×Ţľś¦Čâ8ŮŰ ťG":&˘VLđźx:÷Ań‡†´Ë«‹8tăXQ¤rQÝÝÔů€ű“€: Ýđç‹f˛“ě·‰-Ľńŕ”ѵ!«Ý]ÜGĚ1 ‹«5üëbĽ÷áľża‡ml áĺ´’÷ťŽOá“Ç°ŻA0Aî(h˘Š(˘Š(˘Š(˘Š(˘Š(˘ł4mZ=f.ˇ?¸Ýý××ń  :(˘€ )Ż"FĄ¤uUŘŕW3¬ü@đţ‹ňÍx˛KĐG$źJę*†µ•ć‘we"%˝ÄM—#€F2=ÇZăż·ĽiâGĐÎťlßňő¨/Śő ÷ĎĺOO†ňj;¤ń&ż}~ě?Ő[ź"5$~,qŰ‘Ó‘@ÓiÝ>¦¸,Öd”†hIRęGĺ®®eĽąyćmÎç'ŰŘ{W˛j˙łĆ¨·LtmfŇX˛čhÝGąU`![ţř e¦]Ĺ{â;Čő@ł‰‹wűLyqí€=r8®xPPmŁÖĹf•10Ś&ôGađ›OşÓľiKxO2´ĺ[¨V$§ţ;´ţ5ÚŃEn••Ź*rs““Ü(˘Šd…Q@Q@Q@Q@Q@Q@xĆż‡7źÚSxłI…¦‚Pżm†5ËFŔcĚuRĎprz=ú±ĽM®&Ą ·Î–U‚Ý śźĐ?…&®Tdâ­ő`ă9Ąm«\\ÍĽĽ“JÁV'€+[ÇżŮ×~2żžÉŁ’'*Y‘p7íţż0'Ž9¬íÖÓ[´•\H9¬ť˝ĎBžgZš´YôżĂ?ÜxWĂ­ý˘j—Ś%¸ŰĽ°ËzdäŽ2ÇŚßԯf @kąŕ˘Š;ĺ°GjóLŇŘ™­6»<{áÜp‘•Ď éLÓěVÂܦó$®ĆIe#G=Očô Ő$•‘ÁR¤ŞIÎní–(Ö8ŃQUQ€č§QE2Š( Š(  M_Áţ×禍gu8ó^!ĽĐ‘íF‘ŕ˙h›Ť/FłµśŚy©Ţę@ö­ş(ŘQE(˘Š(˘Ž”W€|WńĹߏ¤Ň˛âÓLŽ1·±‘Ô9oÉ”~˝ţ˛ĽCáí?Äş4úfˇhĄů•×†ŤŔáÔöaúŽA"˘¤9ââtŕńWŻ¶ŘůâC( ÔâLAÁ\˝ÍÔşłyĄ]83ZNđłm8ČĎcÔ{˛5ŘĘ€9cŔ˝xňˇ8»XýŽg†«g+Kx3U}cÂÖw39yÔäbrK)ĆIîHÁükząďé螲µ»P·l ł.~ë1ÎߨqĹt5ěSż"ćÜüăéĽDÝ/†îŢ— (˘¬ç (˘€ (˘€ (˘€ (˘€ (˘€ (Ż-řżă4­ŠGz™K•6kB“­QS]NÇQńż‡ôŮšoÖIíd…Kŕ÷Éqő«:_Štme‚YßFŇźůdŕŁţGŻášůîŘů0Y›2Iô­»ťYҭ⾸°ş¶Ź;–R¤l ŚgşśăĹyëQ»ŰCě*pŢ0QöŤIí{kň˙‚}Es^×ä×ô%Éę1JŘĆî2ŕţ`×K^„$§$|†"„čU•)î‚Š(Ş1 (˘€ (¬×Őămcű24Ş ĘŮű™ä zăźÄuÍiQEWâ/…ľń5ËÝŢiľMÜ„—žŐĚläő$”žů#5ŮQ@ÓkcÎtź‚> ŇćYdµąÔGŰ&Üą÷U ĐŚs^‡QÁ C kQ¨TDU€>Š¶÷ (˘sţ*đfŹă #R¨ÄW1ŕK9ŕú{+ ˘€>u˝°ńWÂŤIdgk­$¸XîPaO #ř[Ž‡đ&˝cÂ?tß[˘´«ÇB Ç5×\[Ăwo%˝Ě1Í ŠUă‘C+Ôx"ĽcĹß ot‹‡Ö|îB’ďc»ćţ™“÷‡_”óéž”í}FEdë>&Ňt «¨]ŞJărÄ ł‘ëĐpyÂÓµ+^Ć;Ý:î«YRX\2źËż¨íV«ĺďľ)ĽđĎŤáŃ®šE±ÔśA$ŔIN68¤á}ĂwŔŻ¨kdî®yő á.VQE2Š( Š( Š( ŞŤ2Án~Ҷ6Â}ĹĽŃîĎ®qśŐŞ(Ż&řۢݽ–źâ;,“`LsŮŤ­ôţđôŻY¦KsÄńJ‹$nĄ]d0<Gq@?x_âcZŞG<…qÉ®ěüL°šŃŇs ‘ş•up`z‚;Š§®ü Ńu §źKľ›LŢrbňıŹ÷FAťEŁüŇ­.„š¶«>ˇścŹČVöbś}  ż‚~eÖµ/ladí¬Ů”ţó-Ë úÇüúW·TAm§Ů$0Ç˝´ µU@UEôTZmňjVßj‹ýKźÝä`ăÔýhĺ›?4kiÚ őK8ĺC†FťASčFx«6Z…–ĄžÂňŢęĹ J®ˇ‡QzŹJI§±r§8¤äšLłP/úD›˙ĺ’“ýŁëôôüý(´® \…#20ě=ąýáSp¦@µ‡â Nh|­2Ăkj7gl`ç;łc Żęşś:Nź%ÔÇ…*Ž¬{TŐÇV­ZNí&ŹŁËňüżO’3q©ŮŰđÓUřž˙EyżĂßÍq2čš„†FÚM´¬rxäˇ=řéôÇĄzEtR¨ŞG™>;SYŇ©ňó]Š(­@˘Šó_xúM>ůô-"]·J Üܱäp‹ţÖ0Ií‘ŽzEJŠśy™Ó„ÂTĹÖTiîÎ×ÄSĐ5RxŁą’ŇQr9b¤;ó^KđçĆÂÎłşĘ:€ żÍ4˛O#K4Ź$Ť÷ťŘ’~¤ŇVŠâXí~éĄÂ¶Ž•uôÓó>‡µÖ,®ă“(Ďbj¶­Şěä‡NxĺÔeR¶č[ľ8Éô®oá…ŐŚş4–čżéĐ·ď]Î]”ô úqÓŰń=tš]¬šĽ:›)űLQ4kĎ8äŹQ‚ôc]Đ’šćGËb(TĂÔtŞ+4qËŕ=gXa'‰|I3)Á6ÚxŘľŕ»d‘ô ]6‘á] A;´Ý.Ţ ç¶ÝňřeżZجËßhútŢMŢĄo˝ĐľX}@éřÓm-Y§:Ź– ·äiŃT,5˝/Tb¶7đNăŞ#Ťß\uÇ˝_ˇ4őBś%Ë5gćQE2BŠ( Š( Š( Š( Š( Š( Š( Š( ĽwăƦŮi6q\íş´Ć5<„*T7·9č}+Ř«ç/‹şU城g¸ľ—̶ԣY-d @@€)O¨Ŕ'wޢrĺW:0Ô}´ů/gm=O3®ĎáĎ%ń^ĽŤ34:młžaĆHä"űźĐ~ăĺ‰á}®0{ĆşÝ Çh¶1ÚCDOî÷=É÷ŞM=QŚŁ(·+4}AumgK,ŞFzÔńî1®á†ŔČô5äţ]oĹ×ęWĐIŤó¤87 Gur\zŐ2BŠ( Š( Š( Š( Š*xŃŘy’ť¨«zţ€&˘ŠB3@ F(é\ÖŻâč­îĆ™Ą@Ú†¦˙vą îÇ çŠÜľżµÓmšâîdŠ5%Ž+•ţĐÖĽ` é;´Ý%şßJ™y†?ĺš÷>cϱŠ±cá9/g[˙Ě—÷'•´6đźˇűçÜńč;×W@3­~ĎÖú–Ł%Őż‰®ăóćűUşĚä˙Ľé]~hş†ţW“RÔb!’iĆÔŤ±ŐPpÔśvŻD˘•‘\ňµ‚Š(¦HQEQEQEQEQEQEW›x‹ŔZŽľ &§u}'ŘěmŐᇂň+ą#w Ý׸Ĺu~5Ö[Ăţ Őu8Űl°ÂDmčěB©˙ľWđç\‹ěq!|‚9ɤŐ÷*2qw‰ŰiľĐt€źbŇ­Łdű®S{ŹřdţµŻ$qÍĹ*+ĆęU‘†CÔÜR«PĘrzZRŃug7Í&Ű14 Zřvkď±;ýžĺ•Ö&9ňđ@'Ż^ő·Y:öť©ęV‹ť«gg>c¬;ÝĆ8· żQĎLÎ|×Přmâ’IÖX/Ý›¨”‡aęwŕ~¦°śĺMZş=<= XŮ:śBŚźuŻm^‹ńő=‚ŠňÝTńW†ŻV-VĘţăO˙–›ÉĺüJă==3^˘¬®ˇ•+ ‚AĄ:Şkk3›‚–Is)EěÖÂŃEˇÄ5ÝcŤťŽA$űWx ĹŻq©\]\¸óçťĺ“ęĚOőŻsżżµŇě&ľľť ¶…wÉ#śç·zřö+ѧjrIa$ŤČ|˛ü3&xĎľ(ě;ŘŻ!Y#`IŠł^Ꮲ5Eyv°ěMI'Ć+|Is¸“j®éÇóÍ{ĹÇhô­b5Ý*«žŕ×]ŃÎâuu=Á ŃEQTîµm6ĆO.ďP´·îË2ˇü‰÷<0]D%·š9Ł=6 â)]^ĹşsQćkBZ(˘™EPĎß´&––š¶ŤŞÁ'ÚHĺtLne*AcÜÇř5çzVŞ6€M}=ăßÁăo ͦ;¬W |Űiá$ă>Ç$c_&k&­áŤQěu;ImnPôaĂU={ŠÂµ%5©ęĺŘéaĄxťĽ7‘¸áŞĺŁĽ×ÖĐŔäM$Ş‘í;‰qőŻ:·ŐgRĚNM{‡ÂŹjŻ¨Eâ-~Ůía„n´¶”aÝű;/đÎäśž%—7‘ôÓâ*J“v÷Źl˘Š+Ô>(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š*˝Őőť’‚ÝzćYÖ¸Ď^4“@ňt˝=öj ć™ ĺÇ’23ÜGNÇÚĽťç–ćVšy^Y\ĺťŘł1÷'­rWĹ*o•+łč2̆xĘ~ÚrĺŹNěú>ncó š9SűČÁ‡ć*JůÖĂQĽŇîVćĆćH%_âC×ŘŽ„{öŻx‘|IŁ‰Ü*]DvN‹Ó=ö#úŽŐT1*Łĺz3,Ď$©‚Ź´‹ćŹätQEtž QEQEQEVŤôąµźk:}¶LóZ8Ť@Îć!1řÖýv>4Ňősî¤Ę˛đTńŠčcŐaeÎęôß|·ńˇ&« \Ca{1Ý42‚!‘»°* R{đAë×9ŕěţxÖ[„Ži¬m˘'摧-ě$źóšâ©„RwGÓŕř‚t`Ł-Hü3`ÓĽ`Â'7ZŚŔ ‹Ç\˙eGđ®{wďŰ}tR§ěăĘxą†3ëuÝ[ZáEV§QEQEQEQEQEQEăy.!đ6ą%¨ýęŮJză ´î?÷ÎkÄÇŹoŻô¸t›)Ţ ePgdá¤8űąěľ¸ëÓ¦Aú"hc¸‚H&Ex¤RŽŚ2HÁľI×,Ç„ĽmŞhÁŘÇo?îËŚŚ.+G7łj'§”:KUŮ~gD„b°~Zř€üAŠŰĂwŹ ¤‡Ď”s…N uÎ{z‘Śi5 űŮm >Ţgžr2)ůAŕsŘšúáź‚-üá¨Đě“PşU’ęe9ă…űŁ?ŹZćÁÁ«¶{|KŠ§'E]®ľ§eb$Űś“Ë69cëJî±FÎěTd“Úť\Ω3ëÚ§ö«˛ŰG‡˝•;.~ŕ đ[‘íÉí]çȉ§+řŹW´Ăţ%Ö¬VŃ"IÁ“Ż@A=ůě+§¦EpBġ#ŤBŞŽ€§ĐEPEP“üXř}ŁKˇßx–Ő~Ç{k™(‰FÉÇşöoö‡âo+đ6«¬IŞĂi§7š“ą°z“ŘWӺޚ֨ir6ŐĽ¶’ßÝܤgđÎkă»k­SÁúäöěŢęŢCŃž™r;ŹJ–ěkNšž—±ôwŠĽi¨xqě,,Ś3;[‰ežU'q$Śž:Ě~1xŻ]M[áµ…ĺÔ ÍÜĂb÷YKŔp@ü7OZóű_‰=ý”Ú¶âXţęźfô¬˝oĆ’ë—)$‹0B‚8-âá"_@+Šł’ćÖéô>›-§Bj•áË(;ą_/뱣Ą]˝®µcgµQEěś…Q@Q@Q@Q@Q@“&łkËĄDŔş(yŽ~îz/׿ЏZÖ Š)®ë–v Łą8 Q\Ć·ăÝ CŤŚ÷hÎ?…MsGÄľ2ńOË hĎkjý.ď3 cÔgćaĎ`hĐŻ5+;ËÜÜG§šđĎŚŢ'ŇĽG¦Z[é`Ď{c9Č‹¸¤dÝ:v~B»ËO† xćoę÷:›źůaa‘Ü1ô¬ŠÚ•ź…tŤ?ĂZ-´V)|ZKn›3ŕ`ă®âyďňóÖ¦nŃlß :ŃŠv»<›JÓng¶VĽÚŞy‘“řçĄiaÚ…>Z…|pJŠąmť=.đEĚjsŐ€ŕ{3ő*µx®¤ďŘý.ž Č´ć·W«=żÁ:Ć“{˘[ŘiĹăk8•~ţ˝ň{ŹZéëçM;S¸Ňuo­_l±6GˇÁö#ŠúŇĺ/, şŹý\Ѭ‹ô##ůק†­í#gş>';Ë>§QNń—ŕɨ˘Šé<0˘Š(˘Š(˘Š(Ż-Őy¤ř˘/Z+}žíU%qü2¨Ŕبú÷K[¨®ŕYb`A•O_ÜŘŇtk ÓěÚ}şÄ„îvÉ-#yňÇÜý)ú\3çB.ŽnXo—§ y#=ńÓ>Őn€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€9ŹšTÚ×€5‹uf™ˇ"ŻV(Áđ>»q_8řcIJi3Ş;/<JúÖĽű đĺĚwÚ¬š%ś±Ţ\É$+q,e¸ŔlăŚt <=㸤‰U¤z]t~'°tÜ\Ćą|)Ň®`’} ŰJĽPYU h\ú'ĺ鏔Śg85ćţđߎĽC2Ĺöw°µÎęéöŽ¬}1Ǹ hĆ:\—˛A%Â&Đ6äőÎsý+fFÎŕf+›čŐóÄOkž ՚奞óMŹ*ř ż1ĎČŘ'cńý_‡őťvňę;}>ý„­Â¤Ż€O¦M+”âŇąőŘ Ś‘Ex2j_´%V¸Ń/&O[qçvÎ~BÜ{Ő›?Ť—Ó4•¤‘É‘]0TŽ#¨4É=Šó­;âţ‡y+cďŹç]EźŚ4[Đ<»Äő4ćÓ_źZŽ-a˘Ke¬íŕ˛6Ţ >@%ţaŰ8ä×%q˘lDU_@0+¸ř˝¬ZMŁ[Á2Čé˛6Ň˙Ajá#0Č5äbŰöŤ7ˇú&A RŚŁĄ­ţň ÝÖńI "—´0sďëW|!đ“Yń$‰uy$vZYfxpď& *ŽśŹâÇ® zôĎ„ú„ŤýŁ§±&5Ű2î“ßźËůVJŇćä{|A–Ňt& Ň[ů­ľóÎĽAđŁĹf»ŇämJŮy/l¤H>±äźČš«á˙‰ş¦‘(Žäł*śQőôŐs~%đ‡ĽUţѱU¸ÇËuU˙wú0#Ú˝3áĚüLÓ5dU–EW=Á®kÇ?šëQ}A¸1ĂŰut‡ ďÝöąęOwrţ$ř7Żč -î‹r5 tËmOÝ̫צpźjó=÷Ë|1ç9ÉďXb9ą‰ęe —Öc*Şéęś’IÉ<’jöź¨Ţi—+scpđJżÄ‡Ż±ö5‹mt˛ çš¶Ľ{¸łô—UŹtĎxđ‡‰WÄšQ‘ÂĄÜ$,č˝2z0ö8?‘®†Ľoá…ăEⶀ’{v} ţź­{%{jŽĄ4ŮůľsŽ(CgŞů…Q[žPU{Ű -JŘŰ_ÚAu91Ou?«P]Ź†t 2>ĂCÓm%˙žZG~`VĄPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPÍźoĄŹâÖ­ – CŚHp?iňiZ­­±¸şŇď­á\n’kwEŕrF+Ř5iúŹÄŤ;ÄîIšŇ܇®Uśݶ}F[ň•Ř ŚÚą*áUI9^ÇĐ`súJq¤ŁĚ‘ó/™ĹwßîYµÍJ Çöufů»†ăŽýO=żóßó[i˙o´˝`Y1o“¶B •P=ű™Ŕ⽓áw„nü/áůeÔÔ.§|ÂI6|µĺB}FXźsíXĐĂJ5.úŽkťPŻté­eo—Sş˘Š+Ń>8(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š­¨ęşVź=ýä˘+x»ąěó' Í|ýâ]VßĹ>#mhŘE „DHËěŕ·mÜžGÓ'Ř|uÖ^ĎJŃôµ%Vöw•Čî#Ď«Óř?3˛ť^ 3\ŮÉZ+cëxg FMŐšĽşy*mč^(Ôü=06ł'uĽ„Ű>ÝŹ¸ôü+5;uyń“‹ş>şµU‹…EtĎj/‹WŇ"ţÇ]ú…É1¬ pcld–>€sźO~+wGҢŃěş1’Fc$Ň‘,‡«Č;jňŹ†7©‹L ·76î‹3‘†ŕő觏đěŐěáęűHs=ĎÍólÁâť(íşôaEVÇQEQEçźţŮxÜ-ő¬©e« Űç”ĘĚ p®§fęńŹC˘¦Óş>IľřIăŤ:äĹý‰,ă'l¶Ň+«^Gâ­ ŕ׍uyŐn­—L¶ĎÍ5Ô gś"ĺ‰úŕZúšŠžTj«Í-kÁ^ Ó|¤+’Ye!î.eűҶ?@9ŔíîrOKEFM¶îŠ( A\‡Ä­ LÖĽtu A4–ËľŢ@vĽNHÓ‘‘ĐăčG_\˙ŤĄňĽ'vvoŢđÇŚăďJ‹źĂ9 i´îŤ ÂßLĐě¬íŁĹ*L’}Éć°|cđ˙Nń”©d·U8śÂyT@Éé‚=:]TmĽKč€~”ćÎW3ĎĺRâšł4…z“ś^®÷ůîdż†´Ĺđ¬Ţµ¶ŽŰOxŤ!7g‘žů9Ď\ó\—„Ľka¦xR+mjŕĹ}hílđ…,űŕŚv丮Ó_ŐŁĐĽ?¨j˛Ëinňí' řśĆľn·ÔdÔ¤šöáĂÜ\HŇĘŘĆYŽIÇjÇYŇŽ‹SÓÉňŘc޵RVKďdż5]#ÄZĆź©iv÷^y-ĎšŞ»”°ŕ“Ë žŔzWžŰjrŰś6xŻođ˙ĂŤ7]C{ŞýˇŢOş©&Đ«ŘóÖąŻü&—LÔlâŇg7‘]ΰ"K"3 ‘Á_SĆ=*”˘ą÷0ž*4+ËęúE==vIcŤ]äbUFI' ľ‡řQŕëÍN›UŐă1jWŞÂO0ĹÔ;1<‘Űps[Ţř}ᯠ¬/aĄŰ‹¸Đ)şp^BqËÄíĎ ®˘QŚб9•zđä“Đ(˘ŠŘóŠ( Š( Š( Š( Š( Ô€ÓĽS˘ę¨ZÖţ6e]ÍeXˇţ•Ëßxg_ńN©<ňë‚ËEv&·]Ó:ýO ßÖĽ±\ŁV*ĂGj÷/ęé¬xbŮŐ=¸ű4Š¨ÇÔV|O´|Żs—7É~ĄV›Ľv×tGˇř ĂÚ‰=˝¸Ľ\µÝź6\ú‚xSţčŇŃEuWĎź´śđxźEÔĆó¶­ô ŽXţ$8ü«č:ÄŐ´űMkT°¶ą·Žd˛]’ëť­‚Ş×$ţ“WV.śÜ%ĚŹťŢůCÓ…»nKue”V îü˙ĄݤĄUrXś9ÉŻĄu-NÖ 0ęqN¸Ŕ,>eú0ä~ľwřŹř Z“O˛®âß Ş HI[玽ÁÉ[¤ů–‡ŃeÜAR„=”×7üś·‘˘XWŇ:2ŰxsK‚t)4v‘$Š{0@üëĂ~ü9Ő5»řuZËiĄÂÂHŕ™J˝ËuBt9=z #č:¬5Níçy¬qĽ°‚ŃQ]G€QEQEQE ŐĄ˝ő¬¶·pG=Ľ«µă‘C+B MEx÷Ť~iZ™?‰<=ĚW6,·Ű~řö—## Ď^‹Ň˝ÂzÔz÷‡­o%o­lş$‘´r*˛0!•†A±Ż*đLŹŕ˙j~ś•µ.eł,sĺyÜőz(˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€1ĺăÍEÎxúr=«ë ńO‹VoáßéŢ*‚0aşO&ŕýWţ@çĂĎ'<9 L±Ś5nëvÚTštÓę¶÷pÄ…ŠM É9Ŕ =q\?»ËH´„‚%Ž0ă8^O5čÓĂÍĽJ»˘• :ç`Ž(çŤsFŃu ¦š-2+2Ü,V¤¨ŘčO>źĄX_„÷˙Řs_éÚŤÂÝÇH–»sć3°G'·Öéľ)â{Ąy„đ[I¶7ýsî:pkĐŁ±µě0(ă†Ö.§şó®eyÇ8µnŮkhů«Ľń«źꚆŻáÁ ĚĚ‘ĚŰRYŢŘ@ŕ÷9ă'ë\3ü/ńÍĽ¬‡Ă×{”ŕ”*Ăđ kš­=Ďk™Ď ¤^†‚ę±íÉ"˝wŕÝ›Ëa¨k¤G3¬“Ü.Kę2@˙€šá|%đ?_ż¸IĽI/öu9h#‘^i¦FU~¤“í_AŮY[éÖ0YZD"¶‚1QŻEP0M*„ąŤóňxš>Ĺl÷'˘Š+¬ů௎Ľ}áYüă ­?a[Vc5›ç;ˇ$íçÔ}ÓîlWصŤâ_ čţ-ÓMŽ±fł¦— âH‰îŤÔ±Ç ŠM\ŇśůϬővŹŽ+b=uBňőčúźěé™Ëi> ÄDńÜeď)çţů·áź€z&•t—ZÍěšłŁX<ż*ťd–çÜÜć–2głC:­F6Näźt‹™ ąńŠá<‹\źľ»˛íŹL¨čkÖ)‘E¤0ƱĹ…DA…P8ĐSëxAB<¨ň±X™âjşµ7aEUśáEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEZó÷‘­°<Îvy üGňă>¤PÚ|ę׬Çrű/đŹëő&–ög·´wŤCJ~XÔ˙üę|``U'iÔŃ3ű»Qć0ÇWl…ü†Oâ´[LđÖ‘¤]KyiaŢÍĚ×[™!îKuçÓĄkQEQEQEQEQEQEQEQEQEQEQEQEQEQEQExçí ĄM?‡ôť^ ÄXÜÔ‰ă-&]sÁşľ™Ä×®±űľ2Łń ůŹŔö·:ž´¶Fę!?˝ 0FCďšúâĽęËN±»ń–©©ŮÚĂË.ÖxĆ<Ö^ źrsČë׾je-Íčâ'E5kčtzmşŮبĆ0+ŽâMkâ>źeLVA®îş!?6#Ź@}+ŁÖnĹ•c$ă¤Ő˙h±hö%ŚH··’ęAÉgÇLú·SÜÓjćQ—+ąŻES$(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŠůĆ>“ń/ÄÜ’Żĺ”g?uŰző˙e…\´ÔŁ‘Z˝Câ˙èŽĐ4;_hvşU–ă ŤĎŤÎIÉcŽä’j0řg s3Ł8Îኡěi­ísJŠ(®ăĺ†M2[ŔóHpĄŤVÓŕxáifžvó$öô_Ŕ`~ Ňý»R†Ó¬0by˝ ţ7൥@Ď2[ŔóH~TRN*…ľŤdg…ŐŤłę/†iŢ5g^r1ä폯SRĚ~רÇl9Ž M/»üÁoŔzŐę(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š+Î>+é“Ck§řŞÉ?Ň4ąźhĺ cĎ× ř“^ŹQ\ŰCyi5­Äk$#G"7FR0Aú@´R=gF¶˝ŤoAśzÖ•ygĂ{©ü=®j^żrdµ“±ţ4<«¨"˝*ďQ˛° o/-í}Ó4Ş™údĐÝ·bäívY˘˘·ş·ĽKmľ¦·5ë9uęv01Y®m%…vfBę;źZňŹ†>ńDz3Ô4ëo˛LćâŰPÇćOˇôöŻMđ]” ŁG©«‰no”I,č9Âeä{śźJěĄ^5V›ź7euđ2÷ő‹Ů›v0i¶ŮŰ)D»W'$űźry«4Q[hQEQEQEQEQEQEQE€ 'u4QQCÜý{VTńTćí±Ů‹Čqxh9´¤–ö˙‚‘ŮŃEŇxÁEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPExŹÄŻŤ7^Ł>‰ásť Ů=ó¨}®:Ş)ŕăˇ'=Ć;×™čž2ń†ˇŻÂ[Äš« ŰäStű6Žż.qíÓ˝D梛:ha§Zq‚Ý»]Q^aŕďjSę–úf˘ ÚNv¤ˇG‡ÔúŹ^˙Ę˝>•*±¨Żńظ*žÎŻĘÁEV‡QEĹ•ZfŤy(ďlô¦42‰JŤáJ†ô ü«Žđ/cŐěži .ĘFs‚Nqú×g@j«aĄ¶ůT¬Ó1’@NpOAř ­S#•diOú¶Ú~¸úĐ袊(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘™,±Á Í4‹Q©gw8U’I=>Šů·Ç_őmRî[? LÖr1QpŁL=r~ŕôĆ©í\xëĹŃČ®ľ'ÖIRÝ}#ÄÁúžcUIłěę+Äľ|b»Ö58Ť}JZG·‘UGRJ|‡˘jˇFÇ‘Ĺ}‘^ń/ŕć˘ÚĽÚß…`óâ¸c$öjB´nz”§®:ŹqÓ*ÔŐHŮž†]Ť–Żőěż >ęZ~Ł»âm‰˘§ÁSvŹĽ{WQÔmt« oofX eţ€z“é^;âź_k×2Ai+ŰiŁ…Ś|­'»}{t®ÚŐăIkąó9vW[;CH­ßOř,öĄ’6‘ăWRéŤĘ+ž™©ŐňťĆ‰<’ůđj÷ŃNĺa' ôŻJř]ăíaő•đ·‰ćűD˛!kÖ?4›G(ÇřŽ2ryăśäTŇÄF¦ťMqů=l"çµăßúlö*(˘ş á~'ü@_čqµ˛$şĄŮ+mŚ¨™†AŔŹr=ëĺ­_ZÔőëÖĽŐo§»¸?Ç+gĐ€{+Đ~=\Ë7ÄQ¶R 8‘ %ţ¤×—Ô6uSŠJĺ˝7TżŃďR÷MĽžŇĺ:K •8ôă¨öčkéż„ßßĆştöz‘Ťu›Aąö˘hĎŔěAŕăŽG®Ë5Jşął¸iín%‚@1ľ'*zç¨ú ⨗-Ď·ę+‹-!3\Ď1/W‘¨üM|©eńĆ:~<ź^63ţ˝„Ýß­?Ä+íkSŠ_<÷vŞ6„¶eÇĐPA¦qĆOqNnI{ŞěŠĄ*‰U—,{Úç¸xźÇşL<‘i÷ńMu;,*<ÎH8ę?Ąoxnć)ô•ůGA^âMĽđCř›ĂÚÇÚ`´ž&šŢh¶Kď— ‚rŔ°íÉăťořéR8ŃäĂ&•77}Yšc!‡…[a¤ĺďţçEcXřŽÎî0K€jÜş˝”HY¦g)WÄú‹işĎbâb śíÜ{–˙€Ög‡ěĂNŤB€@®–ÖQsj“`m•ws•=?LRIi‘”Ëěq@şDuĂ[Zţúlô'řçĎŃMuő›Łé Ą-Á2‰ĄžMí&ÍĽcÔôçó­*(˘Š(¬Źř“OđÍąľsąÎءLűnç·ĺ^[¨üHׯĺołH–0śJ±îÄg>ăJ®"ô{žž(ÄăW55h÷{ÓEx…źŹ|GhŔ›ď=3’“ĆÇůôż xľÓÄ‘4{D±ŚĽ$ç#űËę?•*xTv[šcr\NŇVqîşzť%Q]QEQEQEsZ°ž4Ń­€Č¶ŠK‡Čő /ţ‚ߥtµÍigíľ4Ö.Î Ű,v±°ôqíŮť…o^ÎöÖ7ÇHńĆα Ér@ą=(md@$RJł6¶ăSW/đ˙Q:źěçfÜĺ~cď]E ŐĚvvĎ<Ä„N¸$ô{“ĹK‘śgźJ«uj÷WVĹŠýž&22÷gwđź®(ÓíŢrócí7™)Ţ=ľ€`ĄOq2ŰŰĽĎś(ÎSč*JŁ!űV˘Žb·Ä’{ąűŁđëůP¶6ĆŢ.s4¬d”ú±ţ€°fŠ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(Ĺ~+ßŰŮxďL›OąxµD´+rČz!oÝýďűăoµrfgžF–YIĺťŰ$źrj·Ĺ÷şÓţ,_Ë>ńńBđn'<°§Ű•˙Ő N9cjó1‘“•úqĂ•hFŹ&Ň}NŁJÖot[±uc9ŤřÜżÂăчq^ď˘ę‘k:Eµü8 *dŻ÷[ˇÍ|áö”ĆwŠô[ź ü}V2âiŢ2ŘĂHĚFpzăkłFrRqč.%ÂÓ•(ŐVç˝˝S;˝wĆ:?‡äňnç2\uň!śĽóŰ©¬8>)éJË-ĄäIź•ö«qęFxü3^/mw%ćéç•ĄšF.îç%‰ęI«ŠÔ§Ś©Íˇ¦‡0žĹ9Ý·Ö˙‘ôfź¨Ů궋uc:M p{B űµ^ á_Káýn)ĂŁHDw ئzýGQ˙×5ď5ŰB·µŤúź3›eŻUE;Ĺě˙@˘Š+sĘ (˘€ (˘€ (¦»¤q´’2Ş(%™Žą oĆţ/±đ~‹ö›¦s4äÇqýć=ČôŔďôő®?Â˙´˝SW·Ňn´ą4čĄayŢjî<(”Ď<ňyŔÉŻ(ř‡âçń‡Š%şGo°Am6÷°{·_Čv®Ps€N'č(M»#Üľ)xŠÚďÄVÚe‹‘=aq27vÇÉǧ_b~µĆ©,rÄ’{“\n›ŞËsw5ÍĚ…çšF’G'–f9'ó5ŐA:Č ^F)ÉĎ]ŹĐ˛ ta†J Ţ{ľ¦Ö›¬jD˘[ ą`lä…?)ú©ŕţ"˝gÁž+_‰Vä,wđ Ü‹÷Ys÷€Ď®ôăÖĽP=t>Ľ{oiĹúÉ L1ś†ő˙ XzŇ„Ňčiśe´±yÎŢňWOÓˇîôQE{ç^ańę™~‰ $G ěO>3÷0Ę?ńćJôúˇ­éÚö‰yĄ^.ë{¨Śmę3ĐŹppG¸ˇŽ.ÎçČZN§´'‘]D©"ŽFk”ńo…µxŽ]*ő2$3 ÂËÎÝ#±¨ÁŞË&ĽúŘngt}v]ťű(¨TŘô2ťÂ˝ÇáÄÉ7l í2©ö>cäE|»m¨Íxá)űÎzţ5őĂ{,| §‰TŁL ÁecňţkřŃ…¤áS^Ážă©â°‹—ů—ĎFutQEzČQ@Q@Q@Q@Q@Q@y˙Äo˙gÝiÚNUŻ3,äůf§˙ ă˝zxÇ´YřăKľU"3b¨­ęVG,?&_΀=ŁĂ÷qÜi±…#*:Vµxź‚Ľj˘8Á“¸&˝bÇ\´ĽŚ0+Ô˘ąŻř‘|;áöÔ’@BJŞŘçÇóĹyąřν™ż*öÚ+ĂŹĆFĘŁoŚď٤üŤ{­ŕÍńšNĆOČÔmń’nŢejüyń–ĂHĐa•U'Ýsr© @ŹđÎóőQé^{§\+ÄkĆŢ"ąń6˝ýĄ;1Âă sµGoĚ“řŐm7SŮ…c\XŞNzŁé˛lpď–]NéZž‚$Č"˛-µ$u5kíqťŐ渴}´jÓšşgŃŐ›[đÝťä„Š”—ýĺ8'ńĆÚ®Oá˝»Ăŕ‹9$Č3—:)cŹĚë+ܤۂosňÜlaMHÓřní÷…QVr…Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@đ‘Ů˙Ď)˙ď‘ţ4ÂGg˙<§˙ľGř×5Š1@/ü$vóĘűäŤđ‘Ů˙Ď)˙ď‘ţ5ÍbŚPK˙ źüňźţůăGü$vóĘűäŤsXŁŇ˙ÂGg˙<§˙ľGřŃ˙ źüňźţůă\Ö(Ĺtżđ‘Ů˙Ď)˙ď‘ţ4ÂGg˙<§˙ľGř×5Š1@/ü$vóĘűäŤđ‘Ů˙Ď)˙ď‘ţ5ÍbŚPK˙ źüňźţůăGü$vóĘűäŤsXŁŇ˙ÂGg˙<§˙ľGřŃ˙ źüňźţůă\Ö(Ĺtżđ‘Ů˙Ď)˙ď‘ţ4ÂGg˙<§˙ľGř×5Š1@/ü$vóĘűäŤđ‘Ů˙Ď)˙ď‘ţ5ÍbŚPK˙ źüňźţůăGü$vóĘűäŤsXŁŇ˙ÂGg˙<§˙ľGřŃ˙ źüňźţůă\Ö(Ĺtżđ‘Ů˙Ď)˙ď‘ţ4ÂGg˙<§˙ľGř×5Š1@/ü$vóĘűäŤđ‘Ů˙Ď)˙ď‘ţ5ÍbŚPK˙ źüňźţůăGü$vóĘűäŤsXŁŇ˙ÂGg˙<§˙ľGřŃ˙ źüňźţůă\Ö(Ĺtżđ‘Ů˙Ď)˙ď‘ţ4ÂGg˙<§˙ľGř×5Š1@/ü$vóÎűäŤđ‘Ů˙Ď9˙ď‘ţ5ÍbŚPK˙ źüóźţůăGü$vóÎűäŤsXŁŇ˙ÂGg˙<ç˙ľGřŃ˙ źüóźţůă\Ö(Ĺtżđ‘Ů˙Ď9˙ď‘ţ4ÂEi˙<ç˙ľGř×5Š1@/ü$VźóÎűäŤđ‘ZĎ9˙ď‘ţ5ÍbŚPK˙ §üóźţůăGü$VźóÎűäŤsXŁŇ˙ÂEi˙<ç˙ľGřŃ˙ §üóźţůă\Ö(Ĺtżđ‘ZĎ9˙ď‘ţ4ÂEi˙<ç˙ľGř×5Š1@/ü$VźóÎűäŤđ‘ZĎ9˙ď‘ţ5ÍbŚPK˙ §üóźţůăGü$VźóÎűäŤsXŁŇ˙ÂEi˙<ç˙ľGřŃ˙ §üóźţůă\Ö(Ĺtżđ‘ZĎ9˙ď‘ţ4ÂEi˙<ç˙ľGř×5Š1@/ü$VźóÎűäŤđ‘ZĎ9˙ď‘ţ5ÍbŚPK˙ §üóźţůăGü$VźóÎűäŤsXŁŇ˙ÂEi˙<ç˙ľGřŃ˙ §üóźţůă\Ö(Ĺtżđ‘ZĎ9˙ď‘ţ4ÂEi˙<ç˙ľGř×5Š1@/ü$VźóÎűäŤđ‘ZĎ9˙ď‘ţ5ÍbŚPK˙ §üóźţůăGü$VźóÎűäŤsXŁŇ˙ÂEi˙<ç˙ľGřŃ˙ §üóźţůă\Ö(Ĺtżđ‘ZĎ9˙ď‘ţ4ÂEi˙<ç˙ľGř×5Š1@/ü$VźóÎűäŤđ‘ZĎ9˙ď‘ţ5ÍbŚPK˙ §üóźţůăGü$VźóÎűäŤsXŁŇ˙ÂEi˙<ç˙ľGřŃ˙ §üóźţůă\Ö(Ĺtżđ‘ZĎ9˙ď‘ţ4ÂEi˙<ç˙ľGř×5Š1@(ń ˇ §$ôGřÖ”4˸Á,Cf?€?Îąď yWÜL&&1ŻÔpOô®š€*ÜŢ}”35´ěřĐ:g×5Kţ+Oůç?ýň?Ƶë›×,[†Îvüć€.˙ÂEi˙<ç˙ľGřÖvżâج<9Ş^[G(¸·´–X‹(ĆĺBFyő—Š†ňŇ+ë)í&ĹóxÇç^źmđÓÍŠÔu«ć¨2¤LÝŽ@'8•IíWĂ/¦ß7í—9&Yşű V„>đĚ„Ňb9ţűł˙2k¨đ‹?4¨ň"@ß@MeIń¶Yßeť”’7`‘äÖü:‘nI‡J±Śž Ktü…^TT@ˇUF ń ř˘óĂs¬),iŐC©Ć˝‡Hř—m, ľUn;šĄâ/ iľ%Ví'A珆_oqě}ńŠáŹÂkřÜů:Ä[{)?€&€=?Rř›cmlήŠ@ő­_kK”˛^Ĺ8ą¸s4‹´|ąč9=pyç‡ţŮiWÝßÜ5ýŇa8ÄhŢ g’=Oĺ]¦(¤˙„ŠÓţyĎ˙|ŹńŁţ+Oůç?ýň?ĆąĽQŠé?á"´˙žs˙ß#üh˙„ŠÓţyĎ˙|Źń®oŹâ­M´_ __ˇÄ‘ T8čĚBů°ˇč8®f’45ď‰đZ»Úé6ţtëĂK)ůú'ńĘ˙ÂÂń1—ŰÔ.s°@útĎë\6ź8’ç&Ż‡Ż¦"¤Ą˝ŹŃđy>•î)6µm_óŘőo|JKą¶­n±LxIaű®}'řóí]Wü$VźóÎűäŤ|ţÍĹz^…v÷ú%­Ä‡.ĘUŹ©RW?Ąuá+ąŢ2>s?Ę©áTkŃVMŮŻ?#µ˙„ŠÓţyĎ˙|ŹńŁţ+Oůç?ýň?ĆąĽQŠí>hé?á"´˙žs˙ß#üh˙„ŠÓţyĎ˙|Źń®ob€:OřH­?çś˙÷Č˙?á"´˙žs˙ß#ük›Ĺ “ţ+Oůç?ýň?ĆŹřH­?çś˙÷Č˙ćńF(¤˙„ŠÓţyĎ˙|ŹńŁţ+Oůç?ýň?ĆąĽW-ă˝mô}#ĘOw'’¬:Şă,AőÇŽ{R“˛ąĄ*n¤ÔS©Ö>'éöNđXÚÉup¤©,ÁQOÔg?OÖ°Łř©« ł%Ť“Eźşˇcë“ü«ÎmŘ—•d5yĹTnéŘý †C‚§MEÇ™÷Ö‡´h˙tÍUDf áąĆLGŔNF!\ďĹĎţj٬©%Ë$ Ě[ćďÜ?ó´™á‘eŤŠş«ĆşýrÄřÇŔsEŹ´MřĆqűÔ=2}H#ń®Ü5wQ8Ësćłś¦)F­/»z3çZ’%ą”Em#źáQš–Ž –K¸Ü26ÖFGPGZ鬵k{x‚B‹čŁęÔ”vW3Áa)׼ź*üOiřaŕíÂV {5ĽúÔ«ó±Ă÷TúúźŔq×Ň×S˛n—1źĆľKÓµ}oSÔţçO4Ó»6ČÇp2zž: Ţxň-ö+˛g„Éü®•ŞkşÓďl‰vwäbXĘs׸ŞŐôö+Äx—b]iZΑx»O3ÄQľś)ţuÍx{Ĺ—ÚµskŞ3­ĘNë6öÉ;>ąÍ33¤·ř‡âŹN–~"Ňî O”˙şzŔšď´?Š&®Ş­*Ç!ę3ý(Óüe¦ę¶Úů!¸†EÚńȡ•‡ˇ‚+—ń'‚Ľ¨ .ěš]*äŚjŔGź÷ţŠő«kŰk´ o2Hˇ©ëç+m?Ćş)w¦OýˇhFäŘß>ŢÇi瞼gŠčtŚ×“}“Zµ’)Píu‘H*}űŠöĘĘ×uŘH9#·.Ă,N*ĄłzúcâźKâżÍrŔÇmoű‹xKg`xžŮ-śţśTÖ6·WďĺŮŰMpřÎŘc.!^}w+Řk·JŮůĄ.?GóŻ«ü¦®›ŕűňŐd‘<É’}kŤáÝis6}seôťĂTÚ·mO¸·¸łĂu°J:¤¨U‡ŕjm3TźHÔíďíÉó!pŘÎę}⽿Ĺz=®±áű¨îPoŠ&’);Ł~ž˘ľv–ń@ ź3±ÂÜ×=j2Ą%c×Ëł*Xúu­Ł]5>ŚOŮHŠëĺXŃÓóĄ˙„ŠÓţyĎ˙|Źń®ZÚ&ŠÖß‘śtČ.+ŘGç2µô:OřH­?çś˙÷Č˙?á"´˙žs˙ß#ük”Ľ»Oł’ęćA1ŚłČ~9⸫żß\żú"­´]˛1úçŠĘ­hRřŽüYÇ6©-íě{ü$VźóÎűäŤđ‘ZĎ9˙ď‘ţ5ă¶ţ*Ő"4’¤ËÝYýF+°ŇµK}ZÜÉUׇŚőSţ4±¨ě·5Çdřśyć“Źuý#˛˙„ŠÓţyĎ˙|ŹńŁţ+Oůç?ýň?ĆąĽUeĚZ5ŮyŁ(żď7Ę?R+sĘ:O“qŁË¨°`×÷\aş€ĚH€8ü+K^Őěô=)ďďŘ­ĽlĄŠőÎrő$€?“Eµz-Ą¸Ůĺßu)-´ŤŐ[Étd“źî© řr!JNĘčŇ”TŞ(ËcźĐü]ŞhškYi’Go;:~ě3 ' s‘ŔăĄjZüCń ­ÂË5ęÎ…€hĺ‰vśź`ëÚ¸>ő%‰Fáš5›™!˛ŽHĎÝ•K}?ýxŻ&*JŞR“ÜýľG:”©'hö»ű÷>’đĺĂ]éŢ|ŻľiçoóÚ¶+ÉĽăšÚ5g#f˝Pń.ź¦ŘGw4Łl’Ôg«OňňŻ\üěج}m¤É$,îîćV}ŁćĎăŘ`~jÇUłÔc o2¶{gš‡TŇľÜÂXÜ,Ş6áşźţ˝G˙ §üóźţůăGü$VźóÎűäŤ`Ďk=«íš2„ôĎCô=ęPI˙ §üóźţůăGü$VźóÎűäŤsxŁŇÂEi˙<ç˙ľGřŃ˙ §üóźţůă\Ţ(Ĺtźđ‘ZĎ9˙ď‘ţ4ÂEi˙<ç˙ľGř×7Š1@'ü$VźóÎűäŤđ‘ZĎ9˙ď‘ţ5ÍâŚPI˙ §üóźţůăGü$VźóÎűäŤsxŁŇÂEi˙<ç˙ľGřŃ˙ §üóźţůă\Ţ(Ĺtźđ‘ZĎ9˙ď‘ţ4ÂEi˙<ç˙ľGř×7Š1@<3că­>¬÷A«Úń’D=Qętśśś˛ňzć» TÖ6úŤŚöWQ‰ ť nľ ˙/­%ÇbŞbŞŐiÍŢÇ‚řqĺ»°mŞĽtĎ5Ń2Óq9­hŘřTÓ4č粴žîĆv/ ±®öÚIĆŕ˝^•Böłgr-­'ždR<¸ă,Űşď^Eh?hŐŹŃ2ěE5ŚůÓ˛»×bąą Ë<ŽBŞŽäđ}˙ §üóźţůă^%ŕoj÷qęÚčXŢ?š \ä«yűqŘ{óŚb˝'čá¨:Iß©ńŮÖf±ÓŠŠŇ7ümţGI˙ §üóźţůăGü$VźóÎűäŤsxŁŇx‡I˙ §üóźţůăGü$VźóÎűäŤsxŁŇÂEi˙<ç˙ľGřŃ˙ §üóźţůă\Ţ)˛:EI#DžŔPJţ%±Ť Ȳ˘Ž¬Á@­s~#ÔíD]ŻbG÷±ÔŇ©® ÇZ(úĚ F­R¤ěßn‡%â]ăĂ!»Ń®ĄŠY­ŠĺâÎŇC Ś?Á»y`¸ň™Y6ŕ•˙ˇn/űă˙˛©qF(']đ?‚umćÎŰHűˡňnbNc~Çąę;ŹNµóλáť_Ăwmý«Ş…ť1ż¸oé×ÚľśĹ5ŃdFGPĘĂHČ#Ň“W.O•âżš.ůŻ@đO„u~ú ­V)mt…`Ňn<ë×j8=7gŚńšöôۤGgnŽĽ†X”řâ¬âŁŮF÷hęúőeX»:ĺ…ĽÁ ¤Q¨DEQ…`ÍI˙ §üóźţůă\Ţ(Ĺhq'ü$6źóÎűäŤđÚĎ9˙ď‘ţ5ÍâŚPI˙ §üóźţůăGü$6źóÎűäŤsxŁŇÂCi˙<ç˙ľGřŃ˙ §üóźţůă\Ţ(ĹtźđÚĎ9˙ď‘ţ4ÂCi˙<ç˙ľGř×7Š1@'ü$6źóÎűäŤđÚĎ9˙ď‘ţ5ÍâŚPI˙ §üóźţůăGü$6źóÎűäŤsxŁŇÂCi˙<ç˙ľGřŃ˙ §üóźţůă\Ţ(ĹtźđÚĎ9˙ď‘ţ4ÂCi˙<ç˙ľGř×7Š1@'ü$6źóÎűäŤđÚĎ9˙ď‘ţ5ÍâŚPI˙ §üóźţůăGü$6źóÎűäŤsxŁŇÂCi˙<ç˙ľGřŃ˙ §üóźţůă\Ţ(ĹtźđÚĎ9˙ď‘ţ4ÂCi˙<ç˙ľGř×7Š1@'ü$6źóÎűäŤđÚĎ9˙ď‘ţ5ÍâŚPI˙ §üóźţůăGü$6źóÎűäŤsxŁŇÂCi˙<ç˙ľGřŃ˙ §üóźţůă\Ţ(ĹtźđÚĎ9˙ď‘ţ4ÂCi˙<ç˙ľGř×7Š1@'ü$6źóÎűäŤđÚĎ9˙ď‘ţ5ÍâŚPI˙ §üóźţůăGü$6źóÎűäŤsxŁŇÂCi˙<ç˙ľGřŃ˙ §üóźţůă\Ţ(ĹtźđÚĎ9˙ď‘ţ4ÂCi˙<ç˙ľGř×7Š1@'ü$6źóÎűäŤđÚĎ9˙ď‘ţ5ÍâŚPI˙ §üóźţůăGü$6źóÎűäŤsxŁŇÂCi˙<ç˙ľGřŃ˙ §üóźţůă\Ţ(ĹtźđÚĎ9˙ď‘ţ4ÂCi˙<ç˙ľGř×7Š1@'ü$6źóÎűäŤđÚĎ9˙ď‘ţ5ÍâŚPI˙ §üóźţůăGü$6źóÎűäŤsxŁŇÂCi˙<ç˙ľGřŃ˙ §üóźţůă\Ţ(ĹtźđÚĎ9˙ď‘ţ4ÂCi˙<ç˙ľGř×7Š1@'ü$6źóÎűäŤđÚĎ9˙ď‘ţ5ÍâŚPI˙ §üóźţůăGü$6źóÎűäŤsxŁŇÂCi˙<ç˙ľGřŃ˙ §üóźţůă\Ţ(ĹtźđÚĎ9˙ď‘ţ4ÂCi˙<ç˙ľGř×7Š1@(Ą˘€ŠZ((Ą˘€ŠZ(1F)h ĹĄ˘€b–ŠLQŠZ(1F)h ĹĄ˘€b–ŠLQŠZ(1F)h ĹĄ˘€b–ŠLQKE%¸Ł”b—b€b—b€b—b€b—b€b—b€b—b€b—b€b—b€b—b€b—b€b—¸ âŚS±F(¸ŁěQŠn(Ĺ;b€Š1NĹ âŚS±F(¸ŁěQŠn(Ĺ;b€Š1NĹ âŚS±F(¸ŁěQŠn(Ĺ;b€Š1Wm´Ë«¬Źjă~˙^¶-´+xiĘއ…ü¨ź‚Úk—Ű lçľ:©íZöľ?zęL°źă[¨‹…E Ł UkÍJŇÁ ÜNby <ĐoŰÂÚýć‰s.ó ź+źăFů”žÎÎ8ÎkĐUłK6şy•b\d“ęp?S^ ńSÄöW>%±żŇ$hHš)đ~đ+ź™«žľńĺÝć-€fGr™>`Ü~B€>Ł†hçŚI†SĐŠ§¬[Ouf© U÷2“É=+Â<ńFăN‘-Żß)ÓqčkÝ4ŤrĎX·Y-ĺRHűą e••Š°!Áµ&+_Ĺ·úN•b.oä)3dB±ŚĽ„vÇ ă“ÓŽyçÎĆŇ>]Š„íąůţUŤJôé»Iž†*ĹâŁĎJ:wŘ×ń…´ŻÚ¬:Ś$˛gËš3µăĎ\čr+…‚–ĆçtzÜË÷Ü˙ľ·úWaaâűk‰;¸Ť»€ůÜżŹĄtdtŞ„áQ^,Ď…Ä`ĺÉV6üŽoĂ~Ń|0|ŰHZ[ŁÁąś†qě8Âőě>ą®“¸ŁˇČŰ{‰Š1KŠ1@„ĹĄĹ ĹĄĹ ĹĄĹ ĹĄ˘€‰âí&MoÂzŽź̲EĆq–RÍEnQ@Ółąáô[˙k_ŮJ°yKľiděPqÓąöăë^·/„·c·łň¬–Ĺźrăň5­á ÂĂĆš­ý¬&9®m‘ćî–,ß0÷89üű×}\ď NZ´z´óĽm$•9Ů/$˙3ĺ}ZîM"ęâÎň3 Ě RDcĘ‘üţŁ­zDž짰đÝ•˝Č+0B–%°}ĆqřU;ĎŰ]üBÔĽI¨Ę.\ÍţŹo·äŹb… }OËô~ť%pę“m2ÍęcŁËDµů‰Š1KEt@Ł´PbŚRŃ@ Š1KE&+Í>0Ĺ*išUęoňáť‘Ŕ?/ĚąŹ_”ŕűźZôĘĎÖô{]{G¸ÓnÁňf\n^ŞG Źpi5ubéÍÂJKˇášnެ€­¨îăaŐČkľÖ<'|a˝…„dţîtÇ'ĐúűuŞqë ÁÍyŐ0—wGŮ`óő(Ô;ą.ăE$°ŻIđb¸đµ¤Ź»2î9Ŕ,qŹb0ňx[\ńľ˘‹¬‹¦Ćăí7$ěP2ŞŘ ľß°ć˝Ö(Ł†$Š$ (UQĐŔ¶éľfyąŢod(-ąĘxŁáćŹâi Ëo´ľ=g„źýĺďúzäÓŕš‡Rţ bąä-ž ]őëTW]‘óęr[3Ă~Ň|--„E¦q‰.$9wöĎaě+{´S%»î&(Ĺ-ćĽcáHüQ¦Ş#¬W°ĐĘÝ9ę­ěxúcđ<÷€>ęÚ‹Ü5Ö­öµ›ËxQ<ĆlpŮ}yúWŁRřłw®ŻĄăP-cŔZś73iZă3Gd‚â,—`:oc?îÖ‡tY´ËV–ú>ţ` ®>ę˙˛ľßνBu/o"¬¤ęqX‘řyĘ%«wsŹÇ4‹Š1[3x~EŚ¦Y ]ąýiÖš 8{¦ŔţâőüMcĹ “8H‘ťŹ`+bÓ@'tř˙aOó5µ [¦ČcT_nő!840EoČcT_@:Ô„€2Nsş˙ŤtoÂÍsr…Çđ\„:źŠĽuz łŤ´ť,ŤĎq2üĺŮN§1Ő®â…ŕYn]Ú'R¬®OĚ=ě×Őzô}üűhkŇ0×—-ćLŠ=”\ĎŠtM ĹZś’^éÖ× ňDÁv»yů×€xńĎ­L˘¤¬Í¨Ö•)sEź6®¸ŕwŻCř{á›ýGQ‡ZÔ xl ůíŇNWěŘţčëžçy®ëOđ7†tÉ–ş=¸pr\ĘAöŢMt5śhĹ;Řę­™W©NmĹĄ˘¶<ń1E-”RŃ@ E-•Çx»Ŕ–úńkë&[mLcçč˛ăűŘč}벢€<»Â^<Ôü-©fk $EŇ$˙?^őŘxŻŔ:oÄ_řžh·±Űj®Ş$Y 1Ëśr§ €ztďOń7…,_Cţ}k €<˙Přan˛4úŁ=ŚąČŤÉtúÔ~9Ż,MzňćůšţGi—äůú¨«é:ňo|3{ĎÁw¦Ë6·ňţüĚOŐ™Gpză±>ť3©ucŻxzžŃnsPé?đ‘kx¶Ť¤¸ó‘]QrY3ĎOJúľĘmc cbÇáY~đΗáŤ&+]6Ů#ů™)yN:łwţU·J•>Hňܬ~-b«{U~ŻąÍř˙R:G€µ«ĹűâŮŁO÷źä_Ő…x·€|5ä:Öµ C=µ»đĺóĂ0ě2sÓŻĐ—Ök}jбÇ!ô#ĄrrĆĐĘѸĂ)Á«qMÝBĽá»'ą´UžgńOUx.ô­8qîťýČŔ_ćߥaZβF5·ń‹Fš}>ÇY·RßdfŽld­Ś7ĐGüWšéÚÉŹ ǸqT\ÝŃőYc <}śögr·Ľň?‰í­Ł`>Đ3žť ¨ÂÇ­FW’+WÂţ)´ÓüWeypę!·,äy;HŹsźÂą(Óź´ZţcŚĂ}RĄĺ{§˙÷9ô{Č9ňüĹőŚçôëUßĂw:´VáťagW“wV Î˙xJąĄřďFÔŐvÎŞOľk˘†ę …Ý ¨ăŘײ~lHŞBŽ€`WšüTđűř§K¸±Ź"ć ˛Űg€Îăń Ă=łí^—X~%-­ćŔâa1ěăŰGă@Ółąńú\ŢiW/ms‘KmxÜa”úWź[[›sî;¸sÚľŐ<;ŁëDGM·¸qŔvOśMĂś~5[Lđw‡´y[&Ţ9S”‘wSę˛A¬]·sҧ™Ő…7Nú=,xmµŢˇ Ý…xĺ…đĹ"•8# ŕűV†żâ©ő«;H eňXą=ó€?ZöÍc@Ó5ëqŁj’íűŹŃÓčĂ‘ôé^qăhžđěúŚß4ÁŃ#Gu+–`9Âç¦{ÖŰjWvG=ˇřßSŃä_Ţ´‘Ź~kŘ|1ńVÖýR+—şś^5§ZYOk±ˇR[řŹ_Π¸ĐgĽŰ)K㢓†ŹCúW4qTÜą^‡µ[!ĹÂ’«yynżĎä}/®řËGŇ´ż™’}ß$Výĺ|d/CÇ^Řü+ĆďµËíRg’YY"rH…„QéŽ˙S^~Ú­ä×ńC{#ź!pŞümĎ^?ůWOip˛F0y®ldĺ{-Źk†đ´T\ä˝˙>†”Knۡ•ăoTb§ô®·@ń,“ΖWĚ ?ËÓ'Đ˙JâĂӼ¤2’r<ŠĺĄVTÝŃîărúXĘn˝Tzí„Ís§ZÎ˙zX‘ĎÔ€jĹ{iÝ\üľqp“‹č%´S$J)h ŞSjÚuĽ¦)o!YUÜ2>ľ•ÉxÓĹ2[ę ˘ŮJŃľĐ÷/g˘ŰŽOÔ{×3®:řŻg.XŁé2ś…c){j˛˛č–ç«Űjw„‹{ĄaÔ+sůUšňhähÝ^6du9 §­tú'Ź4ň“Úk7‘ŰŢ@řË)D Ţ™çéU‡ÄűWĘÖ¦9ľMőŞ°•âݵÝ•¬ĽUáů“zëV·pŞ"A«ŃęS2¬W–ň3}в©ĎÓšę<Ć(Ĺ-ŞšśŻť1Ź‰ĐçŁ1 ?R*Ô˛G M,®±ĆŁ,Ěp÷5›©ř{Ä>'°Ž-4ť&87Ú®IYJ€yD#ś}⧎ť vŽŻ¦x7Ă?iż—Ë‚Ň]‰ËąčGrOáę@×1ĄüFÓŁżZ»đçĂ—şź¨.Ąk%µăÜěhÜsµĎq’Ř#‚9ŮŃKE%´PQKE%gx†Ú[ż j¶Đ©ifłš4QÝŠçZTPĚş>©äŚqŠë Ô"‘GĚ­|-»–ţmOĂę˛ Ľ–…‚•cÉ(OöíŰĐqöŢńÚ Ľz5ćń—M«ĎűGő®Ř^gt}F]žş䞨łk+j_´„wů7PŽ=÷1ü*úh"ąáž$–']C+BZâ<đřxm›RÔť&Ő6¬ őŐŹsřSÝ×]8rEDđq¸‡­*˝ŮĹÜ|+đ¬ó´‚Ňhws˛9/ŕq]ŤáÝ'Ăđ´Z]Śváţó ł7Ő‰$ŹĆµ(«±ĚäŢâQKEŠ\QŠLQŠ\QŠLQŠ\QŠLQŠ\QŠLQŠ\QŠLQŠ\QŠLQŠ\QŠLQŠ\QŠLQŠ\QŠLQŠ\QŠLQŠ\R ČńL¦ jl:µ»F9Ç,6Źç[8®oĆ­ť \Źô«ČcĆ3ś6˙ý’€;źÚ‹_ Ú¦1ňŹĺZÚŁôÉČî»3ŹëMŃáiŃăAPë϶ÁW?yŔţtÍbŚS±F(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qF(1F)qE&(Ĺ-Ł´PbŚRŃ@ Š1KE&(Ĺ-Ł´PbŚRŃ@ Š1KE&(Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ(1F)h ĹĄ˘€b–ŠLQŠZ(1F)k;_ÔN“ __(;á…™0?‹ ýq@Ň»˛2őĎÇa3ZŮ…šáxv'ĺCéîk›ęňIĽŢ2úPý+š±źÎ39g<ł1É$÷&Ż+WŤW9IëcôŚS…ˇF6Š“{¶Ż˙ v~ńÍŢ­ma|čRáÄb`ebxŕpyŔí^±mĄÚŰ`¬{Üňkço0© ¤† Ž˘˝[ţŽ™o ŰÝ]˛­ŮLJťńÁDZëř×^ł•ă&|÷e°ˇË^ŚlžŽÝúů “Xú§‰ô˝&6k‹”Čě yuĎŚ|WâĂłE±hmXăí3ţî0=GsřEź€bšasŻ_Í©MśůYŮü'óü+¸ůrćĄńNóT¸{/YKw(ęb^Ü·AY‰á]{]“ÎńŞaŚóökFÉú3áź­vv¶¶öVë¬Ă ýÔŤBř š€2tď húU»Ai§ÂŞă]włýKd‘íұď>xnîV‘m¤·-ÔA!>Ŕäĺ]uÇ·Ă? ›)`H&Y¤ţi.źLńúw®EĎ~^†‘šçMÝ„ť:b;cůšőęĚń»ÝřcU·ŤCI%śŞ€÷b‡­[ža6·yŻÝɨ_ĚŇM!ŕ‹ŮG ý~¦ž­\~ŹŞŠ¤ň+ŁŠî7 ^XÉI¶~ˇ—ףR„c ,‹Äń]§57¸†[[q„Ś“ÎŢăđăó® ®XWAđţFąń܉ĚQ[mcîĚ˙ĐMi…röŞÇ&}O>}Ő­ësŃńF(˘˝óŢŠ1F(¬˝k[¶Ń­HCNůň˘–>ľĂŢ”¤˘®Í)RťiŞtŐŰ51F+Î'ńF­s!aqäŻdŤ@ńëRZřŁT¶”3Ě'Né Ěr+“ë´ďł=÷õ óFýµ˙#ĐńF*Ž•ŞÁ«ZyĐĺH8t$eOřUę댔•ŃŕUĄ:Stć¬ĐbŚQE30ŢŠŃđŞîĽŐe;˛Ż@ź@¸öůżťtŐá$˙‰eÄż6d»—–ëĂmü¸ăÚ¶nÜÇg;ŚĺccÇ^”Ç3»K’hĹPŠ1EbŚQEŁQ@(ĹPŠ1EÉ"Ic1ČŠčÜa ńM[Âö6źŢĘxü»)śNŠŁnĺnvŘg#đŻn®âu‹­Ą†µ ’ÖrěŽČÝĎâ˙P±č)kŤmś1Ak…Ž% «ô±µKłßČ |¬wŻĐ˙őóUţęË}Ą"îÎT[šőľčp9Cµľ‡˙Żü蟢Šl’$Q<’0T@Yôu4ę+ÔĽgqu!M7÷0t2üíďĎAúÖOö®¤I'Pşçţ›7ř×ńNÉ\ú"U 7™ ůIÚµ<ó[EÖ×YŐ.ťy1;E €q»ńţX®†ľ~řs⏰ŞÚĘJIÚU¸#î6˝µěJÁŔb=hBŠ@AV?ďh÷6đN#şž3OŚěf Źlć€ ×ĽcŁč3Ý]&áü ×wâřŻ+aö^žßňńp¤3UN§ńŔ÷©tŻ Xéň­Ô寯Ç&ęă’ű#˘ţűÔŢ&˝};Ăw×Q’#ę#$Zżá_iQmÔîL—·Dĺn.su죯N}ë··ł‚Đ0‚0›şňN:ç<®Ű_čđÄ$]ÁF9®Ş€2őË糳ß>s±ţüMřÔŠć‘4TQ…Q€=«¬Ő iô÷TBîeŻůĆk• Š( Š( Š( Š( Š( Š( ĽűâŐ´’h6W ?wĆÔnôýEz UÔ´ë}WNžÂí7Á:maÜzî÷đÇ^Ń´ť4[Ú˘Ż™+“–r;źđé^“yâ]2ÇM’úiŔ‰6ç×’ýHŻśµ/x“Ă·M%„rÝŰçä’Üb3ĆPsź¦G˝8[xĎ\µm-ô»¤Ž]»šxĚJ őlÔôe‡‰4­EA‚í2{Vĺ°˛şůÚ$$äîN2OÓ­|ý˙ çÄšdI&™«Ĺ$€ń’Éč3SíĽ]ăo Ě‘_é÷$RÁ‰8N{f€=şŽ¶óŔdÔ…yźŠŻ§Ň> XŮ\±­ •0z–v˙ă‚˝+ĂWšÖˇ§GsŞZ BęŤ˙ÖîOç_>üR±˝Ń>#]É-ÔÓůřąĺrÄ#ňóŮHeĐ ú+DÔâľł@nó­ZůçÂ~<ňBG$›Xv&˝OOńĹĽ±Ťî§ń Îą­qTj9^ĄoŻ˙«ߍ¬ …ś2‚sY–·’ę0ý¶_ůnw¨?ÝíúsřĐÔQŠ1@ ’4š7ŽDWŤÁVV PGĄynąđj ‹—źFżĘ䟳Υ•~Ś9DZë^©Š1I«•8ěxî›đbřȧSŐáŽ1÷–ŐYÉö±ŹČ×k/Ă_ If–édń2®Ń4r°©ÎA?Q]n(Ĺ $9NRÝž-âĎĎáxő ůĄ·y6WiŹŽ2Aç8=‡jĂ>,ńÔa´·ą ¸ňŇÉ5ěúŽźmŞéóŘÝĆ$‚eÚËü÷}+ǵ‡Zö‘|Ňih×–ÄüŹŕv ĽsôČút¦Aô5Ź,Ö%7•P 7SÔ×!â/˙kxŞËĂ@ó"Ť…Ρ62WćTđ-ą>ŕz×–išgŽnbŽÎh”ő{ŹÝ…ç9çňčľđ¬~·–If77÷$4ó‘ÔúřÎ~´ĐŃKŠ1@ \źÄť:]KŔ×É-$;g ;…9oÓ'đ®·…C)ô ;;ź0éš©„…cŠôŤ Ă>#×lňÇJ–Kvű˛;,a˝×qăŠĎńĎè4ëĺÔtąŕŠ ¤˙Ź9 7}ś}ßcÓňč:WÄËŤ?N¶łţĚŽU†0›Ś¤úq\©ŃR÷ÝŹ«Ë±y”©łC™w{~jç‘ü@đÎłáÝBŇëQ˛{q:mVܬ¤©őRFpzVNť«íŔc^ăŻxŹAńŢ’š^˝eqj©0–&Š\®í¬ąc€F7ĐŚž8Ż+×>kš|†],.ĄhÜŁDŔ8¦Tž ţq…9Ă–.ö9kbqx\C«Z<®_sôzţcˇŐQ—’*O·´ň$čdšFĽ–' ‘mŕ_Ë(Ť4™×=äeP?kÔüđů<<Â˙S•.µ">]ŁäýÜő>˙€ő9¬ąŮ>%š…’Ôě,-ÍžťmlNL1$dç9Ŕ¬RâŚW •Ź’“rwbQKŠ1@„˘—b€>}ń]Ü–ßőq1pLĂóśmü1Ś{V…ĄňJ-ÍnüTđUÍěßđi‘$T u ±Łßűď^Um©Ë$ŠâÄaůÝŃôŮFmőhňKcŃ„k–ńŹí%@{‚ÄUh5ąfuŠ’I\áQ’O »Č~jZ…„wWšŚv×n ýśĹ¸ ô,\zń¬đÔ' ó3Ż;Í0řŚ/˛†íŁÍ©UK0U’pď^7Â-]vů…‹úď޸ü¤°ř{âťSK»T±–XNc3 QEz'Ç÷ĂvÚ»ń%´Ćţä†XVćHĽ”Çě#ć<“’qŔŕç=ö›áIÜ--çUaĘÉw4Ş>ŘřW’Ç«üMµBí§o ýŮĐźČ15(ńçŹmB™´Çű_ů@§âHôű]'|±@ŤçGĺäY·ęp ü3ÚµěçK‹XäB WĎ-řŤ­ęÖvz†ť=™ŠŕOűčĘ‘ĆŢ®ËÁľ?‰ŕDyä@ąYšÝşÉeçD`ú‚qŠmżl.7š©ęzí´Ëö+wß$-ŽĘ?Čüč&Š\Q@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ \ßÁ¸×t ?†ťć#·Ę˙Ů˙ťtµĎ$bóâuś`)öŠIYŰř(?Ťz¤+˛ÓŃ@¬oż0&ĽHüżúőą\ć¸űŻÂ˙uţgúĐ]´PQKE%´PQKE%´PQKE%´PQKE%´PQKE%´PQKE%´PQKE%´PQKE%´PQKE%Ą˘€b–ŠLQŠZ(1F)h ĹĄ˘€b–ŠLQŠZ(1F)h ĹĄ˘€ QŠ( bŠ(ŢŠ1F(˘€ QŠ( bŠ(ŢŠ1F(˘€ QŠ( bŠ(ŢŠJ)h ˘–ŠJ)h ˘–ŠJ)h ˘–ŠJ)h ˘–ŠJ)h ˘–ŠJ)h ˘–ŠJ)h ˘–ŠJ)h ˘–ŠJ)h ˘–ŠJ)h ĹĄ˘€b–ŠLQŠZ(1F)h ĹĄ˘€b–ŠLQŠZ(1KŠ( bŠ(ŢŠ1F(˘€ QŠ( bŠ(ŢŠ1F(˘€ QŠ( bŠ(ĹdřźO“Tđľ§eLŇ۸ŚíŚřkQ@Ó¶§Í^ŞbýÜ™V^5ŃE©ĆËÉÓřăáŐ.źTĐ|¸®\ćkrv¬Ťýĺ=őě~˝|ŢO ř®ŇShš‰#ş[łŹÍAĹW ¤îŹ§ŔçÓĄYjtrjQ"ç5Ö|>Ň-uhîµkë8§Q ŽŘË@ŰË0Ď’{5Ęč őýZpÚÁm:ĚuäŘßSůö‹ m2 H„vđ DQŘć{“ÜŐPĂ*o™fąÔ±týŚV…śQŠ(®łçbŠ(˘Š(˘Š(Ă|}ŕÝQźUŇ`yté[{,csBÇ$‚űľ‡·C\T:ĽŃŚkęz̟ÚÔ¦[ŤN–CŐäµF'ń"ł•5-Îş8Ę”ľ|ů¦ľ«®Ţ%–›k$ó·aŃG©=÷5ďđÚxgF­ šćFó.%†ltÉď[¶v¶0--ˇ·r#…(üMD)Ć; Ś«_I˝Š(­P˘Š(Żń&¬÷~5żINÝ„®s€ő$źĆ˝ŠĽâ%¬úŽnn żŮď@ž7= Ŕ 3ěGOB+đs…‘ée8áń*¤Ťt~)ű뛳֑e«ßÚ±mÎZň9'k˘SĆP©e#˝ř{pźđ–Ăg,~dWhčFâ0UKÇ_şGă^¶ÚˇbCJ=?JůŰÂ^,˛Ň|_k¨]ą[+ˇfR¸?řW±Ú|WđÝÖ?Ňę½L$ev‘đĽAZ•\g5.ĘţżđÖ7χşíąúźýzâ|Eâ­3ÂÚČÓ5V–9Z5‘]rbFxç‚nŐŮ[xĎAşÇ—|śúšůÇâ^«±ń VşË²,(rHů)Ć{dř×Iáž±iă_ Ţş$´ť¶¨pP“˙şŰ=.{‰öČŹ’̤~ľ_Đ,cÔüGĄŘJ3ŐÜPż8áśĎnµö9 “ŠŻ§ŘæŘĹiď.1€XäźRO­:ň¸´’$`¬ĂšžŠâ䍢‘ŁuĂ)ÁÚŐףUşŤĆ72ü߇óéYTQEQEQEQEQEU-cNŹWŃîôů0xŠ„ö?Áü*íçß µy-.Âă+,ce'ˇŻqž%şµxřĂŻý |ű«Ç˙ßÄŻ=>X5&é»8oÔř×»č—bóL‰ÁÉÍUŠ‘‚®âv®Ö:e•„nQŻe%đz˘‘ů˛×Ąky7ěŔ|˛ Ăëßüű×’|\Ó®î×D¸¶BÂ9¤‰¸ŕo A>ß!¨©đł§üxY_Sźµ4JE&Ł©G¦X˝Ěq*ŤĚz šÎŘ[Ŕ©ś9>µĚřŐ5šŽď?SĹxô §Q.‡éüLđřITKŢI}ďC çYÔ.§2˝ÜŞIČXÜŞŻĐ őß„^$ąÔío4»˛]­±$rz©ŕřăó?Ź‰×ˇ|+ÔˇŇ.ő;ą•Ű1$h‹üD’O·ýkÔ÷!«ŇÇÁ7Ĺ7N-ÉˡîŐÁkŘ“>§°®‚ËK†Đ|<źŢ=Ҭ·˛‡*(ě+•×Ľ_śl€ď@ˇ¬Ad„—ó÷ĹÍ^_T°t}ŇFŽ­ĎlŚZąâ][Ä÷Ďe˘Ŕóľpňą=ŘôŃxwŔvš\«}©8żÔzďqňGţč?Ěţ”áQČ á憵-µR,,O)âşĎü-ľMB]GĂČ&†V.ö …hŹS·'ćĎGNkŹ@ń`DşĄśă-lŕ~dbł“šŘěŁO/Ť´kŰ›űŮcKąË´Ś8ýć'đŻ}Ż:đ7€Ż4Ű´ŐµÖOµ'ú‹dmÂ2F 1čO Ż^ž‹E8É]ÉŹV„”iĐŤ’ëŐ·˙ QEhqQ@Q@Q@Q@Q@Q@'}â#â\ŢnýŔcşúFź_ƬŁq\´˛éWóYĎňÉ ŤB_q]M¦¤’ ÉŻ#N\îGčy..“ĂĆ–Ö67Wiŕ˝I¦†[ |ˇľ>„žGŕťp"ĺ1ťÂşoąź[ştć8íö±ô,Ăú Ą…rUUŤ3ŘR–|Ý5^§ˇŃEěśQ@Q@Q@sú—‚<5«JeĽŇ-ÚBrĎb,yä”#={×AEM­ŚŤ'ÂÚ†ÁôÝ2Ţ Ŕ—nçǦă“úÖ˝P&îQEQEdřŹĂöľ$ŇšĆç*sş9@ÉŤ˝GŻ~+ĆŻĽ!âmń„vsĚ‘5Ş™‡ŻŹÄ ÷ş(Ĺt†ńťńHíl.6·IeC}w őčłi6Ě×—?i˝—ýd€aTvUďŹç[TPEPEPEPEPEPEPEPEPEPEPEŁQF(ĹQŠ1@bŚPEŁQF)q@ E.(Ĺ%¸Ł”RâŚPüOm $qóo&Ç=÷›Đ?ĎJkşŐ$ÔŁźÉşĎÇ ®?TÖßTń†§u#6 쑆ţ_•G·óÍlŰĚ$@AŻ3R|ÖNČűŽÁaťiE9>úťµŹÄOZ}ű®— <`ăń\Öş{Cây®8ó!ÎqĆ2=EyXjĐŃŻšËW¶™IÁpŽu<QG8É);Ł«2Épő©IŇŠŚ–ŞÚ|™ę4RâŚW¬~z%¸Ł”RâŚPQKŠ1@ E.(Ĺ%¸Ł”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-”b–ŠLQŠZ(1F)h ĹĄ˘€Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š1F(˘ŚQŠ(Łb€ (Ĺ Š1F(˘ŚQŠ(ĄĹ ˘—b€Š\QŠJ)qF((ĄĹ ˘—b€Š\QŠJ)qF((ĄĹ ˘—b€Š\Q@ E-”RŃ@ E-”RŃ@ E-”RŃ@ E-•ŹâO éŢ(Ó~Ç~‡ĺ;˘™03ężqßň­š(ěx>Ąđ“Ä–37ö{A}~R’ŘŹpÄřSi? üGy"ťJxl!ţ \H˙€^?^őîTTňŁe^˘VLĂÓ<#ˇéZRiŃiđÍĺÚâ5‘¤>¬Hä˙‘QÜř#ĂWdůš=˛çňŹ˙A"ş *Ś[ąĆOđÇĂňŔomyĎîgéíóX÷?-]‰·Ö'Ź,OďaqřĎ˝z]ä°|0×´»ČotýFɧ–Rű׶0ô©ě> ëšnł.›­Íµŕ}¤ĆG§q^§\—Ś| mâu1H-ő]˘\e\z0ţżÎ€:Ý'Ç–—0ŻęxëšŇ¸ńžť E÷=Mxü ľ4°™Ł¶€JŁÇp›OÓqô­íŔ:ĺě©'/LĘrÖńľçbĂ…BOÓ­zž°úô“ߏř÷-ĺĹď·9#Ű<~­Ó ‚+h#XâŤB˘(ŔP; ’€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€8ź‰şs\xv=F%ĚÚ|ÂL“°đĂóÚ ęľkK}¦F…ł•SÄLŇé­§Fń¤·ŕۆuÜXa›đ3ëŠÚđw€¬Ľ1lŤíŐÁę<Ě*ăčZé5;˝‰eCˇŕ·Lwţ•śľ·ľŇî-µÜ'~SĘÄ{äţMo`ôî=ii4šł*”$ĄfŹ×ü7¨xräÇwčN6\ &7Ďlö<:ńéÍyÇŚgŤĹĽCE$ű_Wx‡R‡NÓIĎ,ÇËŠůŚz ŐçËŕŤVóŻ4»IîXîwňđ ô ĐjäŽF§2zE_%_ čÔ‡Ľú˙Ŕ>n†ŇyŔhăb›‚ÇĘ ä}pĺ^ŁÚEca1óÝ›űÍÜ×GńfÖ7BŇ>ÇmŃ]2퉪’§°úʸË-Z8팒7Ę«“Yâă&’GWŐˇJsŃţ…]~ęI/Ţ á#Ç€?Ö˛*˝Rk»Ů.$ Ŕ_îŽŐŢeHUÁő5ŮOÝ‚Lůěoďq3śuM·řť^…¤ 1wrź'XĐ÷÷>Őéž×%Ší4ű‡/ ź,D󱻥y׆nŢ}|ÂIŤŠ}OĐŠŰ·¸ňď­bÍM¸ëśŚbĽŮVš­sí(e¸YeĽ‰hŐî÷˝·ůĂF)hŻXüřLQŠZ(1F)h Ĺgëť®Ú}źQ¶YT}ĆčČ}TŽGAZ4PxŁáě¦âÂi5Mydë$kî;ŹqéÎ+Ň<+ăý#Äđ/•2ĹqŽccŽjµrzďíu ŰPÓ%:v¦9ĹÂ9˙iGó­u>?ńE®‘YÁK©Č=!Lő>ąçę{ ů˛řŹW/żíĎžżuqůcÄéÚÜ÷÷2Ď}+=ĚŤ™ uĎOÓĄn¤ Śšňqjs˝lŹĐ˛|ż °±|ŞR{¶Żý#Đ4ůEĄŕUśŹ‘ÇýľµŇâĽt]gIÔáŁ`ŕűŽkŘ«Ż VU"Ôş=Ä},-XĘ’˛•ôô˙‡ QŠ(®łçbŠ(Ĺ5™QÝ‚ŞŚ’Nęĺ>#ę-¦ř"ůŁ$<Ű`ĚŔ6ŕ;‡ăIč8«´Ś cĹłęóĽvR<6JpĄNOr}=çí V&•t­®ka^ĽJ˛”¦ÜŹÔrúiaă+OësĐ>^[C¬\ÚL›4aˇ'Ős=đs˙ŻEÔu¨,Ł?8ČŻ‚ćKiăž),lXv"—Ä~,Ô®ĺŠŢ §Č OĘ5Ű„ŻIt>g2ʲ¬±•Ô¬ź“Ů}˙ź©Öř«â Vęę˛ĺ»kDđŽ­ă}55ýBě[čÎě8ź2ĘÚO˘ŤŮóÁă5ćž Ónˇ„]›“2ž$ăßé^ĺđ f¸đ Í­Çď;ç(Ż‚B0?Ţk®#5xź=‰ÁŐÂË’˛ł6tý6ËIł[K t‚č¨:źRz“îy«x®ŠăD·—-17 ä~UÎę —{ĄÜńG5Ć|€ĎŹ7Č\ő##ŽĽÖ‡ bŚQEŁQ@(ĹPEPEPEPEPEPEP”üIřyu¨^ľą˘Ä%•ŔűM˛ýć#ŤëęqÔ{g’My8¸ş˛•˘•]Tú_WWťü[ŇVçEµÔŐ{Y69Űüę}ťL ™˝,DéěyĄőĺíÄvĐ.d‘‚ŚśÄ×Ń~đĚđÍŠÇ šk”2ÜMýů;ăý0Ó=IŻť­&6÷QJĽm`kéŹM»á”…źl°en§zzqü©FścŞ.ľ2­eË7ˇ5=Ő¤¶’ě”yt5YĘQEQEQEQEQEQEQEQEQEQET°[MrĹaŚą}ăS¶•zŞXŔp=ü蝤H#u’€ (˘€ (˘€ (˘€ (˘€ (˘€ ÎÔőí'F ýĄ¨[ŰĺVGzÔŠĚńÇŠž{Ä÷r0ŠÝˇcÜű“ůőâZvźsŻŢ6««\<Ţcî;ÎLźŕ=ż•gR¬i«łł«‹¨©ÓG˝éţ'ŃuVŰe¨E)$Ś€H8Ŕ$rkZĽv$HăTŤUQF¨Ŕ»? ë’K(Ón\ľFabywňçđ®jXµ9rµcŮÇđô°ôZrć¶ëőG_EWióAEPEPEPEPEPEPEPEPĚ~&˛›CńvĄlůĘÎ̧űČÇrźČŠ·§jĂnŻ^ńç€áńeş\[şA©@¤#•âQŮXőëĐöÉăšń=GÂľ Ń®<»­.éxtBčßFąęŇSÜő°9„đîńgWŁMhčďýˇ­ŮZC–g•IÇe, qz^‡â]Nu†ĎKşrN ´e~¬p{G‚|˙Ü s{*ÜjS.—îÄżÝ__sôüyă÷®ö=şüHý‹ŚWĽŃ×ŃEčQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQX>5Ô_Jđf«wě‘`(ŤĎ Ä(#ňÔ +»w㟊7Bö]3ĂÓ˘‰ŠËv vBv ďß·x=3ÄZ˛kK.©tÂIJŇNÄNrk­é¶Ó^_Çom “Ěů jYűɬ¤ą•™ŰJ^Ĺ©Çu©ęŃ|Fm•<ó¨®cÜ~SŰç?Óp¬˝Sâ–»z Zlc9Ťw?ćßĐ łˇ|ńV°©-Ě1i0Îë¦ĂăýÁ’łb˝7Bř%á­0,š“OŞN0O|¸ňdSźŔ’*©Ă‘Y3,V%âj{IE'ä¬y·Ă‰îu}·SĽšĺ˘/šĺą'¶z:WŇHC"‘ĐŽ+ŔĽO$^ř­u Ăog,P´1B»V51ŚC=kŐü;âH.íQÇNjÎc¨˘š’$(ŔŹjV`Ł,@ôĘëVoý¸n¦“ĚX.8ŚâOOÇ5jć«}Ţ ŃÄr!P ÷9ŞtŤâť/ř~çM„w˘ŚěqĐ˙CěM|Ý©Řj5ÜÚmü/Č~dnţ„ăŢľŞ¬í_@ҵč:ťŚW*>éa†_ŁGŕj\nkN«ň˝ôřKáPŔ.ŚçšŐxRK5µmŘF˝rŻř¸;ŹçK•—í˘x5–°–v« ő÷5čôkÍkTŹX»ăÓíÎřK®Ňv#ŮO9őz×kkđëÂVs‰˘ŃafbgyWţůrGé]8T*€ŕÚłŤ©susZóĄěS˛ŘZ(˘·<Ŕ˘Š(˘Š(˘Š(˘Š(Ŕţ xZ÷ĂZěú•¬LÚeÔ…ŐבJ·§9Ç·ăX6ţ!hÔČŻ¦]Ddu ¬0TŚ‚=+ţż ý§Ďţ°ßéä.Ţű˝?JĘtc=ĎC ™VĂ«Ažkŕť2˙Äúś7lŤ™o y%a!;ק>ßěôŘăHŁXăED^¨Ŕ…:Şť8ÁZ&8Ľe\Tůę»…QVr…Q@sž<Ň_Zđ^ŁkeA4c$ˇ î@#ń®ŽŠťťĎ–tíDŔB±®š×VVQ“]OŤţË{w.§ááyélŮ‚‚ÄňPžzŕŕuÁí^k6â>QÚUülN }Ž9ëÚą*áÔŹ Ŕç ­ş:ßí(±śÖ±­€ń¬x$ý+KBřâŤnUűD§[gç–ĺ °Čy'ëď^ϤřkLŃôtŘ­ŇXŁ%‹LˇËąęÇ=ÍE<"NěčĆńęC’ž‡…éZß‹ ÚiÖm"¶Iźăú·Ż·_jôM3@ńŹ‚-“űę ŘC< ň6{ă=yĎ|źNŐčČ‹*"…U ”µ× q†ÇĎâquq :Žö9ýăżś,őű9lnG $B¤~Ąř­yĄř‡áĄĹŐ­Ěrµ¬ŃN€6%¶tďĂšż¨iV´Eý¤71ŚŕHą+îP}ĹpúĎÂô–WEÔd¶Ťů6ł±hň:`ő§\ŐśÇ Łxó_ŃT»7ůcsóŹŔőŻwĐď!׼+żm","ÓŁ¶ ,ż|Ü uă#śWĎzÇ…őť“e"D1űĺŁ9˙hqřë<#âč´o‡šľŽ%e»˝ş5á@śöÂí˙J™Ë–-›ačűj±§ÝŘí&ńĚB-ěžDţóÉł?† ^ÓĐc×u5ŠćçěÖ©$€eô_~Ţý+éËáíJK*ímÔî*Ľ–cŐžIŕr}Ąlę° ¬$ŕnA˝O¦:ţ™®^´u?ÚČVĘŮ÷K1ÇĐOč+:€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ ĎÖµDŃôąnß"Ý€?ž~€Ö…TÔü(Ţ-°[&¸kxd’ITdüĽá}˙—é@7…ĄI4XŠ¶ç<ą=I=ëjłlt[m*ŐbÓĂFP7ąmß\˙J Öěĺ,Ź ŽD%Y[±EE­Y‹í1ŻÎżÇ­`×U©c4­wQŞîć°|{«ÚřsÂwşłA— @¤n8ęR=  tW—iź—um4ŢKF˙ŮX˙ěŐÔ˙ÂÁđëéw°ß#<1łýťň’9;@=síš+›×şŤžť’ît‰OLő?@95’Ł¨«5ĺwÓé÷Kqlűd_ČŹCí^Łgr·¶^FŽeÜąüüGá]8|GµŃîx™ľPđ-Jđz}™5Q]'ŠQEyOĆČĺű.‹(Éd•\g‚Ä)_Đ5qşN¨žZ®@Ć+ŰüSáŰhSiłŚ~xeĆ|·‰BkçŤWAÖ|3~Ö×ÖŻň¸ĺ$ŞÝóőĹsץíëĺyÂJčíă¸G +[òîń%Š!Ë:LL×™[ęwyTX¤f'Ô׳xÂz†§UÖ­Ţ ą“@ü2!ęXv'#őÉO %4ŢÇĐâř‚„°ňŚWĽÓ_yÝQEéźQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQŠ1@bŚPEŁQF(ĹRâŚPQKŠ1@ E.(Ĺ%¸Ł”RâŚPQKŠ1@ E.(Ĺ%´PQKE%´PQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE$˝ÄË™Źż‹kbPenä’áŠĺü1©Ĺqâ+Ĺ$b&ňWđëú滪 ú=“)2‡űĘÇ#ó¬[ý>K'ëăô5ÔÔ‘,Ös#t*Ú€9(˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (¬/kżŘ#Nźńó3`ŚAçđźČw¤ÚJěşp•I¨GvXŐ¦6őŻk–âd‘Węk· RU!y1ťŕ©`ń SI«ţ/üŹ#đ˙ěý˘Yí—\ż¸Ôd&(żsĐă,~ ŠôýĂúG‡­~ͤiÖöqwňŢěz“îMPÔ<]§Ů)ýâ’=MpzďĹx! ‘Ę3čµŃcČrosŐg˝·¶Re•Gă\ö§ă{ l:äw&Ľ^Ox—ÄŇŇl.&Rqć…V<ÄŐË?‡ƦDşî«ä©<ÁĚŘ÷=ëL“šřŹŻCâ‹Ű|e`XهvŽ"áPč~1ąÓJ¤ŚJŽâ˝kIđG‡ôuS ‚M(ó®?xÄúóŔ?@*ž˝đóDÖĺk…Fłąc–’ß1îJôÉőŕĐ ?â\b1™ńřÓŻ>%´ĺmíKÍ<‡jG,ÄôVJ|@ŕÉ®3'p¶¸'ńŢkŻđ÷4 ź2Ö–äđn&!ś{Ăđ\ĐýŇâ×Ońłw1ó&ç!X˙ú ®OzҢŠ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŠB5âźüúJĘ;¨ĘÝA꧸5j»ÓM])8Jśś&¬ĐV/‰ü7mâm%­&"9Wć†`ą1·řⶱF)x÷„ĽMáë—Ůg<‘®HšŮL@îqÓńĹii-ă;ň‘ÚŘ\mn’ʆ4úî8íxŁ…áÍ]&5őÇÚu F$µG÷TŢýOé[´bŚPEĄĹ%¸Ł”RâŚPQKŠ1@ E.(Ĺ%¸Ł”RâŚPQKŠkşFŚîÁQA,Ěpő4´W-uă‹(ßmśr?ľNŔ~śúUíĹú]ÝňE©FöÇ‹nLöÜx {â±úĹ+Úç¦ň|r§í=›·Ę˙v˙ŐéÚcÝ‘$™X}{·Ňş8ăHŁơUzDe HbÚcÚ6íéŽŘö®[פIĂKÚ÷YÄłRÜ_VöŮĹly‚ř—ÄŤ¤ŰMťj×ÚŚşŰˇhőbz}:žŐáööž?żÔg•­ -<Ť#ĽĚT±$÷Ďĺšőx-Ł·W,ňŇHÇ,íęMM@u?€5Ä"ňĎÄGíď*ȤF[ÉÇn•ÎxŞ/\iqXjÖ“Mi ‚PđŹ1IÁťąÇőőŻh˘€>Z¨®sä6=żť}+©řgEÖ ký6 \đd۵˙ďˇú׫|!´™Y´»ů!$޸Ô˙Ŕ†üŤNÎçšhúPŞO"şn’E\Ź|-«řJńcľßý]Ägtr}Ż±Á޶úÄ‘5çÖĂ]Ţ'ŘeąÚ§ ›Ä×đĂ"Ł¸Ś×·ü6ľ†OÚ«L™ß&Đ[¶ăýs_-âď[ľSlm@ €:źë]¦Żâ=$HËůH0ů€…<=8ӕܵ2Î1µ±´9iÓn Ţö}üę§Ó¬¦¦Ď—ůU9t[ýT®‡?Ä7é^¦ü[ŐlČ8ë]–—ń¦ÚM«s€Ú®óäÎö]é2P¤888őć©Ëiqă$.ˇz¶8üúQ§üDŃŻ€ýčR} TńŹŹěô˝:Ţ Őďo¤ňĐţ­‰˙ ÷9í@6|—ŕş°XÁĆîąúUoř x‹@¸Ó~Ţ!y ˛HaÝ´‚MĂ®ük_Â÷KŁÄ‘ăĺmĐ–|<đžÔŘęvpÉxÜ%Úüé˙$ż'•Üëńq  z©?¨ţµ˛Ępj–Ż™§9ĆJĂüý  bŠZ((¦O‡,Č^2—¶śůWN¬ö%!”2AčAĄĹy~—«Üé7HXóóÄOĘĂü}ëҬ®âľłŠę”‘r3ŰÔ}A⮆!Uő93L¦¦§{Ĺőý6(Ĺ-Đy"bŚRŃ@ Š1KEŁQ@(ĹPŠ1EbŚQEŁQ@(ĹPŠ1EQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE”QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQŠ1@bŚPEŁQF)q@ E.(Ĺ%¸Ł”RâŚPQKŠ1@ E.(Ĺ%¸Ł”RâŠJ)i®Á±Ď‡zňÔÖ_Ă<Ôíe,©-Áť wóqř“^żŁxşÖî8Î:漫Ç_ ĽKtóx†…ÔwĎlŠRHPt2w=0I=MyŢźâMCOŔIK(ěM}DSřv¬K›I­_l¨@Ď :Ć­č^2Óu¨T¤Ę®GŻ⤩† č{hŚ˘›âíKLđâ&µÔrZÉ7ü#Ż^ĽăˇÇŢ7ÔÉŽÚŐS°`ÄŹÇ"°©§fő=<&O‹ĹCÚSŹ»Ýésş¬OřłGđÄ*ú•ĐY”ézéÁäŕVL9)†ęÄĽŠ„Ż’ŘÜqŔÁéź\ׂęú…ö©ŞÜ]ę.Íw#’űż‡ŘŔtŞˇ5îł«u˘j¶úŤ›”šÜ=wŘŽ*ąŚ%mŞč¨,.Ö˙O¶»UڳIJÎq‘śUŠłšvbQKEŠZ((Ą˘€Ľ»ă ĂÁ&„2DE§-é‘łĚשW!ńĂrřŹÂζŞZňŃüřT_†QîAăÜ ™+«Ń©ěę)®‡šŘ^«Ć5¤˛duŻ>´Ôd¶m’dpsÚ¶ŕÖ†ŃóוS$ô?@ÁgŞA)˝N˛ ©-®"¸‰¶É‡CčAČ«Z—Žu˝SPk >Ňyî1ť±‚ÜzńŰžµÇK®*ˇůëŇ>čŇÇm6˝t»^ń@_(r~§ôőľ3Śťö<®"­†ŻJ./Ţ_‘•mŕOëDK«ę euŤN÷ü‡­u:WĂŻiZK_¶Ě2]Ŕ˙Ŕ~ďé]eč1#H$h¨€Ş0:–ŠJ1KE&(Ĺ-Ł´PbŚRŃ@ Š\QEŁQ@(ĹPŠ1EbŚQEŁQ@(ĹPŠ(˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (¨ćš+hi¤Xâ@YťŽ¦€<×âî¨Đ #OWe‘ć‘{ü ˙Đ›ň®bÂá^ 3RüOŐS^űĺ¬a´fO0Ź™Ăcú ŽűUÉiş¦Ü+ŕÄEU\Ń>»(«<ľ^ĘşµőűÎĺZťş±ŕÔ‘”dÖžś’ęş„Q™n'p«üĎ ’{Myü˛˝¬}bŻIÇ››C±đ-áűMŐ™nDŞ>‡ůŠí¨Đ>ŰčÖBVÉŞ2bIůH;Tzp9<žĽt’7†FŽE*ępAŻg BšR?8Î1qÉTŁł·á Ú(˘¶<Ŕ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(Ż:řŁ®˝˘éúDlUnI–b2«€čIĎüW˘×”ügŇć0işĚ*ě†R9 ś>Ü‚3î*fŻŤđÓP­>ŚĘ¶”µĹü:ŽKď5Ą`b"˙{,Ď×Ň»ŞőpÜŢÉsśşOQŇŰő¶żQEąĺ…Q@Q@Ü[ÁwÁs sBăŠXzx5á?Ľ 6…¨IŞi¶Ĺ´©Nć2-Řőv\ô=;zgŢ© ĄXôšąP›‹ąňÝž°ÖĘnţíuţ±Ô|W¨GQJ–*s=ÉR@ęîǦ?őŮ<#áÉ®EÄšžŇ ’~θ$ő$cýkZ(Ł‚%ŠŇ8ĐaQ ±xx7vŹN9ľ&ä„Š÷:Vź{ĂueoőňŢ·á˝gÂwĚdŤĚţîę1ň8Ďô>Ç˙ŻVt˙jj˛Řî }M.ˇk fG™ž´ŰiSQÓCņ̌§`kÁ-5xŹA˝Ő`¶tÓ,Ô4˛9Ç7Á}p2O ¤Włx:đ]čQçPL˛$<˛°DŤK;7E©5Áßxî{·#KQ%uË7¸€>ĽÖ‡Ć{×Ňü7ŐwLG2ýćMâ<*ą®<\çű§ŃpöZ«uŐű'±×ËŻj7O \Üy˘'ŢŞT(ĎNŔzšöř†×^҇•”¸€–&9+čAî xBż§ˇř‰Ľ3©®¦ądŤJřÔŽźžÔ 塉śd”ťÓ=ě×&ĂÔˇ)RŠŚ˘®¬­·CčZŻ-ý¤R[чPO5ĺÚ?Ĺuš.odŤZFĘÄúµě>ľµ•Şéş×Ž5C¬[j¦ÂĆETŤvX÷€ăŰžkÖ??=}µ­5zŢEůÔMâ-):ŢGů׍·ĂMIţ÷Šç?öí˙ŮÓÓáy17Ż]ű•M ţ?΀=mĽWŁ'[Ĩ_ĆşuĽĄyd_ ě·“q¬ęR.:#*śýH5!řQ˘·ú©úĚźüEy玼AŁń3Xľ·?¸’DE9ÎvF©źüv¬Ůߤ¨2Ă5±ă?…>U’^xue–Xó­ÝňŇď)őťűz1[›˝:f†häŽD8d‘J˛ýA®T(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŠJ)h ˘–ŠJ)h ˘–ŠJ)h Ł´PbŚRŃ@ Š1KE&(Ĺ-bŚQEŁQ@(ĹPŠ1EbŚQEŁQ@(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š*Ţ“doo<׸„ńţÓőŞGžd·‹>dťŔűŁą®şÖŢ;+U‰ ‚€îá-mŮŘĹxdž˛×ţ#ͨC ǧÉnFI˛pŁëÁ?ý®ëĆşô™K?žćvňâLő'úwŁIÓŁŇôč퓇Í#÷w=X˙ž¨Ä6đ[‚ †8ä„PąüŞ®­˘iÚĺ·ŮőTťv“Ă&{‚9~ŠňŤGŔšç†ćű_‡nd»€[EÉż jŇĐ>0O§ŰKüdÍśFůůvöçŠôZâ~%x~Ň˙Â×ÚŠZ!Ô-PH“(!¶«ŮÇQ´˝=©=ŠŤą•Î7űFçUž[ëÉšk™Ű|ŽÇ©ţ€t°TĘŐËi:šÔ[ńÜŁŚ†Ż¤\dî~§­N­ňtEÂkŽń…’+Ĺz€ÇËsŽčJęLĘŢÎx–ŕ\Z¬NěŐáŰöŠÇ6qSź?ËÔä+¦°Ń­-#ŽęîO1ö†cĺSďë\ú[Nó$i ČěŔ**ä±ôŻYđgĂÝFęę=CÄqmăĂĹhOÍ#v/č§SßßŇ© ËH»„Äáč^ĄHó>‡¤xv đćž“$ňU™HÁóôÍiŃEn••Ź*ss“›ÝęQE2Š( Š( Š( Ĺź tżÎ÷¶Ň ÷9yw$‡Ő—#źpGľk‡o‚úř”„Ô4ÓxbňŹ¦Ďë^ăE+"ŐI#Î<9đ‹MÓ'K­ZăűFT9XJm}AÉoÇÔô`¨UŔµ-ұ2“–áEP ˘Š(˘Š(˘Š(˘Š(¤$($ä“Ú–˛ĽLΞÖ"ÂAc9R˝s°ăô nqZŻ‹nuiÝlĺhl•ŠˇBCH=I÷ô÷¬ČĄ’)‘Čé']ĘÄÎą­ űωcPIň­Ü˛ŽF+Ä­)9ľcôüş•ᢨ­-÷ú÷;Ď xŠKÉ…ăn›Ç'÷Ŕě}ńßüž¦Ľ“IśŤ{NT?;\Ć0=7 ţ™Ż[ŻG RS‡˝ĐřŢ!ÂRĂâW˛Ó™^ÝQEÔx!EPEPEPEPEPEPEPEPEPEPEPEPEPXמ)ҬܡśĚă9XFďĂ=?Zç|{âW´¸Eµ¤“Gć\0ęśß>Ŕz×)ĹÄşo–'ŇäŮ%<]7Złvč—ęzmźŠt»ÇTóZn‚a·őéúÖČ9+Çó]Źµ‰$fÓgfm«ş=€ężá˙ęĄCĺ.Yšćą(Ru°íŮnźo#Ż˘Š+¸ůP˘Š(˘Š(® ⶩ%Žim*.îBČGuPN?=ż•wµĹüOĐf×<&Ík{«9čŠ2̸!€üŕ4¤®¬iF\•»3Ď­ÚŰ# Şv˛žâą=KĂ×v2łŰ«M~V^Xqýi4í] ÂąÇ˝t1k‘•äŠó©FO—T}ÄŞ`ó*KÚľY.§ěŃôl׫|+ńż†őySS¶hŻ.W3.Ҩp@äg űńWľĂ&»ă[yăPml–W=3‚Gľyú)ŻOń§tŹY2$ĐG«@ż¸şŚ‚é÷[•É[ł«µ»†öÝfĂŁ˘™ycäx`€|®#˙­^!ˇxŁZđ@ń •*FÉ3”•FSÜuö ŕ‚+Ű4ÝNŰUµYí¤ Éé[žIÎÜ[Ém1ŠQ†‘˘˘®şćÚ;¨Śr ŽÇ¸>ŐĚŢYÉg6ÇĺOÝaŃ…W˘Š(˘Š(;XÖ­4[a-Ăď‘kŐĎ·ç\uÇŤ5;†o En‡  ¸ŹÄđ*ä57ł«)ŤNZPNďmíŚví^Ż<đŰBÓO*E łąŔÍ\řćÉ–ÖŢYńŃěúţ••IÓ‡ÄÎü.‰şˇ˙®űťť¶źgĄ¤+ ĽKµGžő=sž5ł•‚ÜŰÉOŢx^‡ô®’Ł¸‰e…Őăa•e9ś* 3Ĺ`qWűčµ»ďZŞ·zŤ•†>ŐsDŚ…fäŹaÖł|YŻŻ‡4)/0ga z9Ć}€ţćQ]KxMĹÄ­,®rÎÇ’k,Ed´Zťů>Sőů79Z+ďgŞÁâ="áöGz›żŰRź©µ3‘‘^<®źÂşÜ^%„ňż,y?q»ǧֱŁŚć—,Ńčć8¨Ňu0ňnÚ´˙KXŠď>P(˘Š(˘Š+Äž'AXáTŢĚ3yŔűĚ}=»ţµ˝_?ßk’ęľ+Ô®ç<™ŮşŠv¨ü€üsYV›ŚŽçˇ–P§_ŐřNĆę÷dîĽxÁţľL~#źÖ¬Ůř§Tµp^=;¤Ł9üzÖ.‘gw¬Ü›}:ŢK™Te–1ťŁÜôŤ_Ô´MSGu )`Wű¬Ă*O8Ŕ,'’? W_ä{n‡ťď†#˛GöCa ě#qéŠŔđ–Á®´™Ř´¶˛4$‘ŤŰN3ŹC×ń¨ľjâ÷LD-ś­w ekÔ—IoĎ)ä 76:ýnygńGÂ>+đÍĚ6hŹs¬°©ë˝I<}A+ř×Ëvדió4R«Ł#ea‚¤uWŰőç=řmáď^-üöĎĚĽI=©ĚGvČ ’8Éâ˘pRVgF*2ĽYŕöÚúma]?…´‘ă+‰â•¦ŹO‰y,X·e‚3Üű}kzËŕÖo8’ęęöéCdDX"‘čp3ů]ő•Ť¦›h–¶Vń[ۧݎ5 ˙_Ţ°Ž \Ç­_>ÄT˘é'ľ‡/¦|3đîťp&h¦ĽaĘ­Ó†Q˙řćşđ€´WQŕ…Q@Q@A=ť­Ë¸¶†R8D ŹÎ§˘€Ş@píKEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQES]Â!fč+Sńe…´Qććeŕ¬gĺĐ·řf¬xW\ĸ¶ą nGÍEłćďĆq×áY{j|Ü·ÔďţĚĹű]Áň­ĄąŮhvŤĚĂ÷˛třGĄ7Ä:´zu‹’Ŕ9­K‰’ÖÜąŔq^]ŞĚţ)׍'ěPaî8Č쟎? {âµ8đý»ßNúíČ;¦m•‡ÝŹűßđ/ĺŹZč© 8RĐEPL–(ç…á•Ç"•u=<O˘€>tń‡„/ü©»Ä˛I¦HäÁ>2ěŚ{0ýzŽŕcĂ­: 6kę bŽxš)ŁI#q†GPA„ćn~řFîc,š,JÇ´RkźE„â áđţĂ’ö˝ťí÷č˙CĆ|áF ±­kqů2*‘olßyIŕłztç5čôQ]1ŠŠ˛<*Ő§Z|őŘQEFAEPEPEPEPEPEPEPEPEPEPEPEPEP†üM™ěţ —pBÉm)őŹć Ce¨$‘€Z˝â‚Ď‹4Čäµ*šŤ®ăî€őB{t=ŹÔšđ‡{ý&ĺ­®ˇ–PᣕJ°ü rb(sę}Q›<*ä{‚&R8"¶<'/™â»5\fç ŘGó"¸ď iZďŚoÍž“;FežVŰcýŁÉü&˝ëCřqcá‹ '†i.ő&\IpănW©UP~QŔ=ÎG_L(ád¦›Ů®cźĐ–Té­dšűÉ袊ôŹ‰ (˘€ (˘€ (˘€Ő쿡- XO‘„şŮŹŞ“˙˛Ő†:|íö˛ˇ®$ăyţô¬‹U$¶g©Ţßxzđĺ¤ŇŰ,C~[ăĚŹ›‘Őz|}+LÔîô}NßQ°ťˇş·pńşźĐú‚2î ˝ńßgÄ N(•»ĆBŽI,Š™­ý?áäÉ —şŚPPĎFY—ýžH÷ţtČ=^ňĎFřˇŁýšęWŠ épśĽ0ţéÇ#ľµyĚ7Ú÷ÂŻ¦ťŞ9šĆNmî”’§ô###·¸ ›RxoÄ~śßxjú[ŘÝ%´ÍűĎŔôoĐú[Ö>;Đ|k¦Ë xžŘÁ+ü¬˛ ¬Ś:žŚ(Đ´-~Ď]łI­äRÄd¨5§,I´îü#ân-R7pAµŰ$‰"†F{Wɉît—U,Ć1úWĄé#X×3ăń n¦Ł¬‹ą#$d{W“ÉńkůĘĂt÷Rđ‘ˇäűźAďXźoř‘`ň°Ib°ň§Nüđ3“×Ň€=ÖŠđőń ‹Ťůň?ĺśL˙Č•>4_[ kÝ2x”śnx°3@Ď$JA’$r:nPj)4űI oĎĘ6˙*ňŰoŽ:kŕM_ř ­{oŚ>›ä ŢĹhřë–Z‡†înI`’Ę7ą@®JľŐ$†S×€p{ÄŚń^©âO‰Ç„µTŠŕ4’ÚÉ(#–e*?ťxÝťňČ€^n6>ň’>×…ëţęt¤účk[ľŐšĂR[woô{† Aţčô˙őW6˛84ĺ•–XĚl›†ĚúçŠă§7&Ź˘Ĺáˇ^Ś©ÔŮŻéüŤŹŚĺÓHҦ v­ËŘŕĽĐţUĂiZš´j ŻnńF‰´ Ť2f_ Ď–ăˇţźBkç-SLÔü1ŞIc} E2r?şëŮ”÷­zŐčűD|U<$´Řď#ťXdVm$'PµUĺÚd Rw WźC®ş ר|=đĺýĺÔZć§AoÍm ‹†ă‡Ç`:Ź^˝:ńG >céëçřuEµ˝ŹQ˘Š+Ő>(˘Š(˘Š+ćOÚO x»Sµ|ĺgfR‰XîSů_M× ńĂÚFŻýť-ڲޙ–(Ý GÉeon¸ô'ÜÔĘ7V5ŁQÓ—2,|yźL¸o)¶3ňíŕ±ç­zŢŁa©¦ÜXÜ(h§B‡#8ô?PpG¸Ş>¶µ˛Đm­­"HˇŤp­ŠvV±>ŇJ|éëąŕz‘©[xĆŢŇúÎkf…Zwó2Ł€Tôa¸Ç˝tţ7Ňżµü#}PeŤ<č˙ŢNxúŚŹĆ˝BćÚ;¨Lr Đ÷ÔW)$ĄĎŮ‚n¶Ő^pOřwĎĄgJ’Ą#ł0Ě*cŞŞ•¬¬ygÂmhĂ8·fű­ŹÂ˝ýťŚ;âŽ2qšů™ědđ_Ä«˝1‰,ąŚăŁ|Ëú}AŻ˘ô;±yĄDŕäZś˘Ö¬d\ůˇHęjĘÔµX/ÜCnŰ–#–osÚĽ čž8ş×ďᙢµ€\Č ĂŚŹ(€çr:zďtí>=6É-Łg|rÎç,íÜš·EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\ŻŽué4Ť6ŰqzĚ»ŞóďČŤuUäß$’Ű[Ńćlž)Nž?QVüŽÇV “ëö›\ĄŚt©•ŠA ŽA“e|’F5|JŕׄÓNĚýNŤHóEťPńƬtóis'Ú]«#ýńő=˙}ë˘đś1&Č3,äÉ3÷gÎŕ1ě+ĚdťQI&˝ŔldđÄr‘ňÉ,…Nz€qüÁŻCVr—+z#ÄX -J­8ÚMôô}–Š(Ż@ů˘Š(˘Š(˘Š(Éţ/ęîôí9X~ígď/ţ‚ßťy˝­Ľ——pŰD3$Ň,h=ÉŔé[ž8ÔF§ăFe`ѤžJr0oR üjOX5˙Ší° bHÎáOýöË@éĄŰÇm§ĹC€>ŕ^źěW)B Uč-QEQEQEQEQEQEQEQEQEQEQEQE*éw•¬ŃÂR›ß§#ő¬Í^řiş\×]×j©ô,ÁAüČ®ËD’94‹sÎź­^Š5Š$Ť(Âąýn]÷Áâ4„ňLWETu+¶ĆĄ6¬Şxfî=(™˘§žÖK}ŢaŹ pHpLćˇeeĆĺ####¨ ćš+h$žgXâŤK»±ŔU$šňÍKÄú†żt^9ĄłÓ†DVčŰZAë!żÝz溉—’Yř*ăË eŽ6?ě–ÉÇĺŠóŤ6éd…FkŹRQŤ˘}/ŕčV¨çU]­‘¬:îÉÝśç˝t/‰îleHŻ$i­O·,žŕő#Űň®m^”żçB¤ ď}–' KN¬nż­ŹbVWPĘÁ•†A ŠZĹđťŃşđí±mÄÇş<žŕ1ř`~µ^Ü%Í.çĺŘŠ>Ć´©?˛Úű‚Š(Ş1 (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ ­y§Ůj1ďlíîcĂl˛çŞ~ËîĘ“Â’ĆrŽ2 ywŚtíýH˘ČĽ€ůÖĚ:ď§Đôü˝+CáoŠżµôerJÜĂň˛·ÔPö©iö[˘T~îO™}˝EQ®®úÔ]Ú´Ä>e>őʲ•b¬ ŕÚ€Š( Š( Š­¨j6zU”——× ĽzG<ń>Őçz‡ĆŤ* ,4ë›°˝ŘD­Ďn§ő…+”˘ŢÄ˙ő 1ŁÚé®äŢ4ÂtEÇ .[ŘäăéíU~Kű…y†Ą®Ë­ę“ß^9ó¦lóĐŔ{ĹzĂ©xQči‰¦·;Vđ¤W>>¸×îŁR‘Ç˝ ^\ý˙ë ééÍČSţȦР¬MšWŁÍÜna.bůd_Ǹö9ë[tPšÜĂâO ZĎkw× x~Wä÷ľŁl|=¤ŘÜC?ŮŕÄÁ¶ÎK+ăűËĐçé^ő¤éçQŇmo-±‚ŠîłŔĆAăđŻ3(xWŞř ĹşM—…-í®ď9ä“Đn?×5X:’”ÚlĂđT)P…JqIŢÚuV˙€t˙ŘW_óŇĚ˙…O§éĂtŇ\™|I<úśŠŤ|e ·MB/Τ_hŤÓP‡óŻDřÓfĽGâĚ7ţ*ńD&‘nŻŠoąťÍq =p»zgď‘^±â-çTYVhˇMʡ±˝ş*îHŤp޲‘üËË€ ÷4Ň°\ěKŹ©4âZǵý 3-ţ›*@?ĺ˛éř•Î?V·‚| ˙ DÝÜÜÉom„] ă'ôÇŹ_j÷=nt‹O’6Epë°ŁCgŚcŢł´=&G·Óŕ$@äú±9'ó&€+č>ŇĽ9 K |HĂ<‡tŹő>śtŐ±EQEV}2ÂçÚ,mĄß÷ĽČ•·}r9¬éĽáÉÜ3č¶@Ź’ ň­ş(Ăľ$řôW]OH†—´ cV,a~™9ÉÚxç<¸k]MáŔbq_Tş,ČęX`©zW©|'đľˇ?›WDňËk  áŠÎpRÜęĂâĄEŢ.Ç‘ĹŻ(_ż]żĂý*ď\ÔáŐ¦Ś®ťlű‘›Ź6AÓo¨’}±ëŽŠĂá…ě§óe[»Ě`„¸”m‚…Ďăšî"Š8"XˇŤ#Ť@z+8á ťÎęůÎ"Ą7M=úňoÚcjţ=°łWÉ79Ú<ÇçëÖkÎ|O˙%;O˙Ż˙ŃŹ]ŽvřCá{gş±{ëŽ yälgýŐŔÇ=óĐV·–ź*5 ‰ňŞŽŔtÇüAřŹsáÝ:ßCŃeňő<óíĘCĐ.ý899E„Ź6źm,ŚYŢ%fcÜ2hĹQ@Q@Q@yŹÄűŮlµíSź%B8É+žŻN®Gâ‡%×ôö©ľňŃŚ‘¨ş‘ó(÷8đ˝ŕŻC-Ş#8 Ţ˝9RT ŚJůFńÖŹ0\¶ŔyĹzv‹ń-4Ř>„иÓ<Ľß7ËO3ß´góŻÖţ-µĄkWó%.2ňsţ}jMă]¬»Rővžű†?Zßń˙ĂVń~Ąm«Yę i}o–HË$¸$®H?/SÎ_jŢđ®—©hößeľ¶~ň'Ę“řŕţ”Í7ÇZ.¤ ĄÂ©>ů®‚»{fGĐĐ ăťJďBÖ­nc–Ňę23÷.2AíÁ_^ôý>ţ JÍ.mÉ(Üz©î v÷v6—đů7–ĐÜFಠ`Lóß“Y6ţŇlťÚĘ9-ĂýäI R}pŮÇáŠÉFjwľ‡|ęája”ymQu[?_?3"ŠçĽmâáÝB=*É’k·‹Ě’FD@ĎŢă<űps\LşľŁtۦľť˛s€ä ý•\Tiľ]ŮŰ—ä5ń”ý«j1ü~ăŐčŻ6±ń&§fŕ›†ť3ĘLwgń<Šď4˝N VĚO Áččz©ô«Ą…Mć†O_ąĺ¬{ŻÔ»EVç”QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEÍřăÂăĹ~{4dK¸Ko#t ;b2?#ÚşJ(vwGËO-öŹ{-•äOđ¶×Fę \Ź_ÂňM} ¬xwG×ăTŐ4řnvđ¬ĂŁĐ0Áń®~/…~ŠáĄ6ȧ‘Ü>ŐçŘçó&°•Čő(fµ©+&yn…g©ř·Q[-= ÇÖk†dKę}O ďú׿XŮC§XAen»ah\ßŢ’ÇOłÓ-VÖĆÚ+x¤q(Qőăż˝Y«…8Áhrb±•q2˝FQEhr…Q@Q@cxŇţďAđTÚͣIJů©bEÎěś9˙84ß^Ocáké­›lĺV$`q´»Ďá»?…r5[ÁŢŃárß9•ł‚p‹µIúďoČĐ‘33»;±fc’IÉ&˝Wá…q=µţ°±n%X‹ç¦Ń¸Ź^¬‡đŻ)Ż¦~ iÉgđŢÖM¤ÉĄťĂwů¶=6   ”V±ŃăI!™aś0Ć÷ć©Ë¦ÝÄ@09ĎBź7ň  ´QY—şţ™§ČcžĺLŁŞ ,G×?™IE^LÖ••ĄËN-ż-M:+&ÓÄšUä‚4ąç Ďâx­j#8É^.ă­‡«AňŐ‹‹óAEU…Q@Q@Q@Q@Ëk2ŠŇáí¬Q'•B~E=Çk"?ęŞŔ°Ŕę c?‘®yâ©ĹňžÎ!ĆW§íI=®÷ţĽĎ@˘˛4]~ a ăʸQ–ŚžŁÔzŠ×­Ł55xže|=L=GNŞłAEU…Q@Q@÷Ťě&Ô<'z–Č^â łD®Q8Î÷¬|FHŕK{‡€ÁV5Üמř‹á|׏{Ł\­”ÎK4,ż»-ěG+ůĽb€=fi“Fʵâľ*^kwŹ¦čW3Zé‘nI$‰đ×'ˇ9„ëžs“Ř´řqâVo&ďZ·ŽŘŚ1…™Ű*?ťuvß|7š–rŘ-ĆÜ–šF"F'Ő—·Oń9đ:ÚĐüY®xrEm3Qš(Ćsń0=r‡ĺ?–kÓŻ~hs‚mn.í[°ÜGŕFZç/~ęqn6ZŤ­Ŕ"´dń˙­z®·˘Cńáb<6ńÁ}wh—0ţPło^„‚ą=Í|Óm}q§\=­ÔrC4NQă‘J˛08 Č öŻbŇĽA㯠éđX6‡$ö¶Č#Oł‘.@ă8\žz×ăÝFĂÄÚĄĽÖú$¶ZĚň¸ Rze;±=ŔɬęAIjv`ń3ˇ;Á•ŕÖ¨ËN—Z^>]ŽŐ©' ®@ZČ+˝řiáČ5ÍR[C"­ă©ňfuÝ°€ONŮĆ3\Ź–¨ú |E95 »'»ězŹ‚eŚřjŢŘŢŰĺeĎĚIlŹnk˘®KĂúNŁ řžďO˝(ű>˙1NUţ`SÜrÝ»v®¶şh6é®e©âf´éĂ/e+Ĺë÷ęQElyÁEPEPEPEPEPEPEPEPEPEPEP^y­$ž ń´ĺ¨)a~řźnI?Ź_νłµÍ"sFąÓç§ĘÄ}ĆěĂčh»ÓŻŁÔl"ş‚®ąăÖ˛µ«O*Qp€s†Ç÷żúőá–ĽEŕŘ_FKKI&¶s¦ä3 Ž0Wóď^µŕźéţ?˛¸´h ĄüIş[rá\ăz ăĚ Ívź.Q˘Š(¨nía˝´šÖáĂ2u=Á55óƵŁę^ÖL2d)%ˇ”}ŮW×ëę;WA˘ü@’Ô*ĚĹHď^·©iv:˝ŁZęÉ<-ü-Ô{‚9ÜWuđŹG‘÷[^ŢB;«qřpó  Sâ„I3ŹÎ¶Ľ?{Ż8ŐnUă´ý[&zľ=1Ó×9ôÍ'ᧇôąRi#–öUÁáP}”?šëŔ 8P™üIř}s­\˙mhęđ YŕÎ  O÷±ŽŕÇÉZâ˙KÁu°Č˝RT(Ă·Cô5ő=‚–çEMJZĹžáo ëľ&ž6– ¬ôÜćK™ŇĂŃęOŻAúL|*ÎIîMÄą?řőu4Q q†ÁĹUÄ5íěrÍđëÂĹ]9‘€Ës.Gż-^uă?ŢxzäŢX §Ó9cł{{ţ_nŞ:×”t;ń6<Ło lô ©«9Ď1đľĄ}â1¤Ů[[w ´tbĺšö=>Ü[ÚŽ1\7ĂýYińn_Ś±÷®çP¸[;&bp  ąŘßjŕuŠßćově?™ü]Şş|-¨iJ|Ǩ'·ŕ0? µ@Q@Q@Q@Q@Q@y‡ŽoŁÓ<{oy Ü°éĘŰsŤÇĚ|ν>Ľcâá˙Š®ÔÓŠčrP{y6ˇ}=ĺĂnšg.çÜ˙JúSL˙UźýpOýWĚ•ôŢ™˙ «?úŕźú  TQEQEQEQEpž?đ¦Ť&‹¨kfݢĽ†&“|'h‘»n'“×ŢĽ—N°†ó ó˛Ž:úÄÚlšÇ†u>łŔËNldíśWÍvw’ŘNĐ̬ŚŚU•† ‘ÔÚ±­ĎoqžŽ[őiţŃŁĽ±ł·˛LB'«žXţ4\éÖW ™-Óq9ÜŁiĎÔV]¦°Ž,*ę߉ĺHmĐÉ4Śy,OA^SöŞWÖçßĹŕeG–Ńä],¬`kđĎá˝lÁ š8%Ť.-Űw-ŚŹ®9ÜĐŇĽu­Ym0Ý™vcÍzćżŕ›x~ŰNąm—Ń*At,„=˛9ĘĽš÷áGŠěî ÚŰĂx™8’)Őx÷Gőé^ÇĽ‘ůĂö2“¶íôŹŤ7pmKŘŘÔőŢé?ô[őlŠ‡ťŘĹxĆŹđŻÄ·ł©ĽZ|ňYÖW#Ř)#ó"»{˙…öŰläşµ™Sho3pcęŔŹĺŽµIľ¦SŚS÷]ÎűćÄ>(Ôuf<\ÎĚŃ?V”rĽíZm.ţki”¤ČŃȧřXůŠél5e*2Őĺâ(ľnd}ÎMÓöJ”ş(jč<zđë‚Ü’áHaî ţ‡ó®A/ŁaťŐĐř'u’/ővČĎ!Ǩ*ëźŔÖT˝¤lz¤čĽ^f¶OÄő (˘˝Łó ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š($ť%Ôc±C™XoE_zëˇÓma@ľJąîÎ2MxŹÍ¶{Y ë¬dcMŮ=ű[Ďô2ň1]Ż„5§ą §\>çŤwDÄňW¸ü?ĎJŕĽĺÇŢ·ŕ©Ľď*F …ŮČě8Ěן†”•Ecëóş4§‚›©ÓUęzmÉeŽšY]R4fc€s^8µŽ]¶–ĎpŁřٶôŕźĎęά)üLř.ŠmQŤíýnô:Ş+‹vö¬÷Nž;oâ–óv{˛ŕ{Śý+­´Ľ·ż´ŠęŇdšŢQą$CÂś'«Ĺ‘‰ÂÖĂO’´lÉ袊łś(˘Š+'Äú„šW†5čÖĹ>ŚxđÎ Ö©×Ăöľ"Ńî ą‘^Úthđ‡<úśzwúuObˇne}ŹÓgn™'$gžő˘Š±¨XK¦ÝMcwŽX[k)üG·p}+ś}b8fx™ÁŘqšđů[nČýUV§Nśyĺ§GÜé´ËÖłŐmgCĘČĆA8"˝bĽWÂË/‰č9Î2{žřä®$•Ü" f'jt\öŐŘü.ş’ié`d™Tíô'đÁ5Ƣ4Ž¨ŠYŘáUFI>‚ľ‰řgŕ}+ÂÖ©©ßËÚÔŠrŮĘŰ©ę«Ű>­őŚäеH{ 3ŤČ7©ôĹrő§¬ř‚Ů#[8|Ó¶Á·ÓżéšĚ Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( )řą¤[Ĺ-ž®’*Ď1ňdŹ»ŕd7áĐýEyĹŤýŢ™{ĺŤĚ¶×1¤±1V^0yÄŹˇ®űâü“kNŤňVܲ˙c»Ź _ň+ÎhéŹ|@}cŔđj†ÓÍm3mÚ˛2€w€=U—=9' ĚŐ{ÔôNŇĹ5ě.a·fÚ%xČöúU5  ŕŠúąŃdFGPĘĂHČ#ŇłWĂšO禍§,Ů'̨'©Î3Q()ntQÄĘ—ÂĎťŕ»Ôîí¤šÚÎy!‹ýdŞ„˘}HŕW·| ż†M>ţÔöŤűŮŹSŔý?ÂşÄEŤBŞŚJć­ŁĂźôű‹hŢŰQ‰ŁFˇTȧ98îC~8Ą qŽ©ĆÖ®ąfô=?TŽâ]*é-1ö“yY8ńŔ'°ÍrĽ¨’ÉćKŚ»˙yŹ$ý3]Őrw°ů˛Ć6@äV‡!^Š( Š( Š( Š( Š( ¸íkƢ ©,ôŐY&+$Î2 ú/ŻqřVźŤ5Yt_ęWđ±YR0¨ĂŞł0@ŮŻŇnŁK\łŞą'ĐW.*¤ˇt÷˛ Evëę—Oó;â}]\;_ľăĐm\~XĹZ“ÄWzͬzuЉĺS$˝7(çéÔ}±Ţ¸}:đŢJÓ1?7Ý°ě+a p*Ő)Ësë*eصÓEwĄxßDkYü˛îż#c%ł/żóéĐ׋Ç ŕú×Z•(M;Ý3ërü.4ˇ(ňrN=WžĎđŰń=‚ŠĆđΤú–’­+nš&ňÜ“Ëwň?5ł]°’śT‘óŠĂŐ•)îť‚Š(Ş1 (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€9ŹxJ?hźgVHŻa;íĄqŔ=Ô㝤zwóŚW„_Yk^¸k}BÎh ťˇ™NÖ˙uşÁéé_OQS()noG:.ńgÍZcë:ÔÂßL±žćBpv/Ężď€{śW¶ř+‡Ăz{5Ó¬şŤĆ ÎĽ…•{ăůźÂşŠ*aJ1wH׎­]rÎZoăŤu§×WFŤŠŮCĘ?Ľě23ěź°¬4Úţ9Pe†kÍĹĆ^ŇçÚđýj_UTÖŚÔČĹjxgŇuçÓ˘cö ŕΰöŠP2Jú ţ Vž¸ű·<+¦ßŢë6—±ZNl!´—!pŕdőçŹZŚ4¤Ş.SŁ:ŁB¦n«Ů]z˙Á=6Š)UYŘ*‚Xś;ײ~l%Ż# 2L˝ç­[łŃ㶗ĚwóX}Ü®>´âżĽM«iNşMµµÝ’H2×nŚžo•Ť»‘’=qőć>x¶çĂ^,´„ĚßŮײ¬71ÂüÜ+óÓi çÓ"˝oăuÝĽĚ3B’KquBN3 ±a˙RĽ{ŢĽ‹Á^¸×çKŰäxtµç= üô_oSů{z÷Ś!±ń}âŮ[ŔBÁňÍ©' źÝˇčÇ9ë9ú":Ü™.5+éŁÎvŞO=ÎéŠôx˘Ž’($h0ŞŁ }O,o{şőTť–ŢE #EÓ´łÓmRG'oV>¬z“ő«ôQTdQEQEQ^{â˙É>©&Ťjĺa„pĘ~űťż@>ů«:µ8ó3Żž2şŁ /×±ŐÜřźH¶}†čHè‰K~ŁŠ}źtËéq\!貤ý3ÁŻ0N”ţ1^×g}‘őď†0Ľ–R•űéůXö +†ŃĽao¦ió&Ż9X Pb}ĄöŰÇ^Ř®;Äźu-T5ľÂÔä28ú˙áůסJ˘©d|†7<gF}?z~©âíGż‚ĘňőVydT*ż7– Ćç=§<㱬ŤGă.¤ČcŃtŮő9A ÜÎŢJtਠ±çÔ)Ż $±$’Iä“IZ‡eăoÚŻŤ|fE´±‹‘mżĽÇąôô®Be¸™!‚7–W;UK3@Zëü9đçVÖ¶Ot¦ĆĚź˝*î?Ů_ęZő­ÂÚO‡!Ůal<Ó÷§“ć‘ľ§·Đ`P‰ż‡|G OÜşTęqą.đ>»sěy­ë {Ĺ—l-ítË©$˙q€RFă^ĎEs~ĐŻlÉżŐç_ȸŻ+=@=Ď©ü˝úJ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( 3â7†&×ôx糌˝í™,¨:şĽŁÔđúŢĽkJ’Ţ×U‚[Ä-OąŽ¤tńŻ¦+Yđf…®ĎçŢYpzËfúăřĐL_md±x§4n…]sÔ\ŻĂ Ď>¦şĺÔE- Čާ÷ŽF23ÔyőÇĄv–_|3epł}‰§eä,ň_űçˇüs]3ɤ»Ç (ËŞ˘¤Ű˛%˘ł—^Ňś€/ŕçŐ±Z†‚<‚*TŁ-™ĄJi-z« EUs~6®‹Łnźp—ô;sµżF'đ®’«jC>›u Ë‚H]dcĐ)ůPeĄÝ­ö—mr§"HÁÍfëŃmž)‡ń.Óǧ˙ŻôŻ*Ň<Şé~µÓ,Í»âÚ× …Ž}W8ýGáN˙„ëÄ•7iq9Řđ˘ŚýT\˛ĹÓNÇ»K‡qµ)Şš+ôo_Čď(¬˝€•\é÷â'${ŹQZ•Ń)+ŁÇ­BĄ ŽťEf‚Š(Ş2 (˘€ (˘€ (˘€0|iĄI­x;S°„3JńoŤW«2á ~5ó•µůKYac÷‘”~"ľ«Ż/ń§Ă˝.ă]±Ô"’Kuľ»ÜC€ *ĚYOcňśđrN~±8)8lD¨¶Ńćz5˙—„'‘]e˝ÚHŁžk?â'ĂűďjÂâgŃî_ýŕí=|·ô`3ŹP2:9»]aŁŔbEqWĂó;Łé˛ĽáRŠ…MŽřI[Ţ o[*ŚěŠglv&çó ~5ć_Pż~»kwľ¸¸ľ’Ęć/+ląy8Áă'Č=;W<)ű9©OcŮÄc.„éa•äÓ_~‡®QYúNŻo«Ű!;]xxÉĺúŢőˇ^Ľd¤®ŹÎęŇťşuš (˘™QEQEQEI 2Îű"Bíí@ÔÁ-Ăě‰ źnŐŻkˇ†ąl˙°§ůšÖŽ$…FTv€9SŔqëOk5ŐüĐIl˘X@+˝€ÁlŽ@ÇAŽ˝jĆŤ©¶›q&“~BËŔ=vaěEt—7PZBe¸•"AŐâĽ7âGŹ´ů&"öT’;˙V\cÍ> z^çń  Ú(˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€2ĽM˙"¦±˙^3躇«·ÁÖCý‘ü…sŢ)uŹÂzÁv9W'Ôˇő5ÓřvřFČłýIă™Vx‰Ů‚ŹěŰ€ ő1°©ńěWJFëë_gřOUđöˇat ‚âÝă}§uőň'Š|ŞxZő’ę{RO•r€”až2{7µKş5¦Ł%fořOÄz…Žď*b" ÄśíZBeÇŢç–Úś˝‡ĄtzŻ‰oVÓN›źŢLÜ$cŐŹôęk†˝*•esęň¬~EÇ«Ýž·ŕ"ϧ]ÉŹĚRĎóÖŐ J‡EŇ`°„îŻĚä`»¬~§ňéW범9 ˘|Ö?őśLë%» (˘´9Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š(ĹQŠ1@b—”RâŚPQKŠ1@ E.( ˘–ŠJ)h ˘–ŠJ)h ˘–ŠJ)h ˘–ŠJ)h ĹĄ˘€¸˘Š1F(˘€ QŠ( bŠ((˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Šă> x x˛Ć9­YcÔíň™¸/t'·¨?ă^w­ Üý›PµšŢAĐH¸ĎĐô?Q_QŇ:,ČęX`©zTĘ [›ŃÄN“ĽYáß!ҵ˝ZI|Cz¶ÚmŞo‘Ę™O¦GAôç°öőkďŤ>ÓU,´ë[«»t@«ä@#.>č Aă¦6âĽËâ­ĺ´ž!‚ĆŢŢ8ÚҲ:Śśż@1Ź÷ŤptˇÇaâ1Uk»Ôw±ěö˙´LżjŃő›÷~LÉ(ŰęA ůdýk¬đźŠ4˝wÄŘ]  Ž,ᔣ«ĺ>śr29ë_6UÍ/R¸Ň5;{űVÄ°8` 0UśçŃž?řĄcáÖh—şą\ůyý܆B9Ď}Łśu##> ®xËÄ>"śÉ©j·.ŕË ľČÔŽA€őëď]ţŁ®|%µµŹQłĐ®5F_Ţ5ĽłN6ąäůŚěTň{n¬ˇńÂč¬cřqĄ‰9(^`ĘlŹ/źÓ4ď Ůęż&IüC«Ü^iúyTňHIvÇíÓ«}ăÓŢ˝FňîĎFŇ庸d‚ŇÚ<ś P8~€a_:C­ęv˛Lö—óÚyÎ]ÖŐĚ(I˙e0Đ ‚âţňń]nnî&W9q$¬ŰŽs““ë@µăÍoĆ°±±š[9›8Ž ęÎĂ©öéĐsÔşďĂVw Ťkk„ĆŮśäw>§ßŻ˝tń|4—Âţ´×fÜ/.vý˘LąQČČ=7ߎ՞ĽĚMYĆĄ––>ç#ŔaŞŕÜ䔹žľVéú”´/xÁ÷±Á¬<·úA!7˝z«xţéôŔőŻj´ş‚úŇ«iLăqŃ”Ś^C I‘Ô2°ÁR2®ßáóôY¬”ź*ŢSĺ)9ج3´~9?Ťo†ÄóľYnyyÎJ°°öôź»Ű±ÖŃEŘ|ĐQEWĎúEń¨.>YľŮ1tĂo9ýkčzđŻ‰ţ¸Ń<@úŐ˛fĘů÷1Q÷%ţ ~Ľ‘ëĎĄeZń±ß–âžşš-Ĺ2ş‚ Mľąß]‹ĄrýWŽkŁ9ĺ*ßC^4ŕă&ŹŇpŘץ‹©›¬7™a$@wÂŞ’NF1\ĄĹ´ö“´µ»á­I»ĐĄńźXÜý˘Gt…ÉŰĂ•Žä‘Ó č`ÚQq>C‰)ĘĄZuRŢé.ş?ř'#á˙jţ#|ŮÁ˛Ü5Äż*ˇî}†kÔü;ŕ˙ h&ű‹{ÝCŻ™3.Gű©ž?Sď\ÝîµwŞ…Y†Ů@ŰEÄhAŽ˙_ĺU€§ŽÖŃF~n U§fú%·Ěör2:Q^a¦k7šTĘĐČZ ~hXü¤Cď^Ťa}ĄeÔěqĐő¸5ŃGşlĎ#3Ę*ŕm&ů˘ú˙™fŠ(­Ď$(˘Š(˘Š(˘Š(¬+żiV˛Y$ťÁňW ~'ţ[x»K¸pŚŇŔIŔ2®ć Ĺeí©ŢÜÇrË1ŽţÍŰĐݢ€r2(­N˘Š(˘Š(˘Š(˘ŠŠâć HZk‰R(׫9ŔŁa¤äě·%˘ąŮ|iĄ$›Qn%ŢD~¤Ó°Öl5.-§RăţY· ůµśjÂNÉťurüU(sÔ¦Ňôţ¬_˘Š+CŚ(˘Š(˘Š(˘Š(˘ŠŠćâ+;I®g`±BŤ#±ě dźČWĎş·ÄKý[W{‰a_˛nýÜŽQ}ŹLúśWĄüHńU•Ź‡ď4¨¤2^]DŃ퍱±OROÓ#ëŔk:‘RVgf´čOÚSvhőŮY„dWAá­n[č­drÖ˛°M¤đ„žôç­yć‹â8§·ň®Ý!’%űÄáXtďßÚ¶aĽŠč!µ•d.ÁSiţ#ĐW’”éLý SÂăđÍ6škćżáŹl˘Š+Ú?1 áţ)ęrXxZ(Ł}żkşHźĐÇőQů×q\ŹÄ­mwÁÓÇlĄ®-\\ĆŠ9} ‚ľŇŘő8Ą%ucJRĺš—cÎě.H «ęőÁişą çŃC­DËÉăTŁ(˝Ň0YťÔ×3ł:íńíuŰ6Cţ˛A ő q˙×ü+Ô+Č< ˛kž$·XGîmXO3ú`ĺGâ@ý}+×ëżFçĘń%j5q1öní-BŠ(®łçBŠ( Š( Š( °ŮQI˘ˇ+3çí ĆÂ0˛¬A¦ęÎHúzWHŻĹyő–ˇ-„ÍęČčĹYX`©AŤtvúÜl,+ÉŻJ|×Üý +Çáťhł˛đýëÚkÖŚ„âG0ő qüđ ôúň‡ÖüGÂ?sjÂyźÓ*?ëé^˝]8Ę0w>w‰+Q«‰ŹłwijQEuź:×tŽ6’FTEł1Ŕw&ť^{ń?]–Î; &Ú.‹I>:”\a~„“˙|űÔĘ\©łZ˝­HĂą±{ă‹8ddł®vśy›¶©÷s\Ô_ôŐ»ň®tůĚ@f…ü”ăŹĆąků±ˇ\˛(ŚŹĄyírP«:ŤĘLú ۆÂF©GV®Űn˙ĺřNŘ|Bđ,ŻťŻ ÓSŹţ·Zô‹ ¬î,˘žÂHeµnI!`ĘĂÔÖľ!µ¬›{5{OÂźjšo‡ď´Ű+ /®ĂŮ"%~mĚx€qׯ؝Ϝśy]ŹzžâhŚłČ± ęĚq\u˙ŽÍÄŹkáëF˝”­9ůbCîÝ?OµbIŁŢëůţ!żkŽâŇ) űŐżAí[A ´) $Q ¤jT{Ň™&Ch·:¬żhńëŢ7Ql„¬+펭řńíVoĽ?ŁęP¤7zm´©íLĆAč¤rŇ´¨ zĎŔޱ—͇H„·_Ţ–”Á‰ĐpĄ˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (ŁQF(ĹQŠ\PQKŠ1@ E.(Ĺ%¸˘€ŠZ((Ą˘€0|iϵA˙L¨®ĎÁ‹·ÂÖCýŠă|d3á HÓ/ę+¶đšíđŐ˙`PŽ q§Ďţá®JHŇXÚ9]‚¬2á]V«Ć™7áüĹs€|áqçť Ă\@_űç§é[6ö°YŔ°[A/ HGĐ šŠv%´P!(Ą˘€ŚRŃ@ Š1KE&)qEbŚQEŁQ@(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŠJ(˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (Ş·:••™"âîŘ 8ňëI´µeB›ĺ‚»ň-QUíŻí/?ăÚć)ORÁ#đ«&ž¨' AňÉY…S&š;x$žg j]Řô “LťÇÓŃ3ěˇ|ăhašó=OÄךË0Vh-Ý?ÚÇ_§JÎb¸gŤIÚ*çŐařbs¦ĄZ|­ôJöő×úî{çú‰§°ťaĽ‘ĺµcŚ±ËGů>€ r tŃ­Şčńsş®˘ŚőOgÜ(˘ŠÔóŠ( Š( Š( Š( Š( Š)’Č°Âň°%QKNsš˙‹M¸k+DYnT ěßv<ö÷5Íźk ćO¶•ëŔŤp? W¦ęm¨.gpf™ĚŽ}ÉÉ­mÁ”ĐŠň+W¨ćő±ú&Y•á#†‹äRmjÚżćr~ ¸›QńÔď––gÔ:W·xá˙„`Ó"kűHďďÝ?zó±dă!W řĎ˝x.Ł4–ş¦ÉAIS•nÄv"»ź xŹ]ś´ÓŻŻ|3[@ňcë´W§IŢ ź Ž¦©âg¬®˙áľGşÜxÂW´oáÝ0+)Rb·XΡP>ýEyGÄ„Öz6ź>ł JË CtÖR6í«Ý‘Ź8H9îsÚşY5ĎŘoŽ}R1–d·gP1źĽ ŹÖł4{íCâ.§&šhôµ^ÎT·Ľ`˙xçĂ'ś`črE}B˙ ĽlÖÚ2,¸ŕĽŇ8>Řf#ń®Z-7ŔQ]yhşL ]Ť,oϦ 4ŕőŻá›Ť:Ď_µĽŐIknŢiŚůŚ>č>ŮÁ>ĂëŢÓĂšN=NG†[T~•,ú.™so$Ř[4r©GX`ň9ŔřŻâě"°]¤8VpňHF0@=ó\Ľz„l:Ô~'ř[¬iROŁG%ő‰%”'2 ô+ü_Q×ĐW3źâ<ۦ“~Ó/XĹłî†+ŠľԕϦʳxŕé{;iąŐ˨ĊNęôo‡¶Ň'‡ÚöPA»”şÇČ8{༷Ăxgá–Ż¨ĎÇÚY©É·V̲ű}Ńď×ŘuŻdŽ4†4Ž4TŤUU @ĄV ěß31Í󧌂Ąd:Š(®łçŠ( Şjšt¶—u§Ü¨0ÜFŃ·ĆGQî:ŹqVč ™µź_xsRźLĽŢ>QŔÂĚť‡n•Rm§IˇÂH‡*ŔtŻ]řżfdŃôëŃ˙,ghĎü s˙˛WŇĺFŽ¬ŰNű“ßjľ=וlíŠ\ÍbęDLE ´ż »¤[ż¤ŹDłĐ<;jX[CsźâŰ…Sőĺ‰úŠ“ŕőŘĆ«f@Ďîĺ^> ˙OÖ˘řĎc*Ť+VŚ‘—‚OAśţMúVN’QvęvSĆÔťZnŁş†ĆM¬ˇâR Z \–›ŞŤŁć­čŻŁqÖĽ‰Ó”Yú.JĽLĐ-]gnŰĎ»ł.6•ŞçżBGć?Jášň5Ý]ŻĂ›;›„˝Ö x´Č¶Ť±Ő‡-ř}߯á[ac/jš<üú­%śdőv·ŢwTQEzççAEPEP\'Äy­ĺ¶Ńab¦tóg ŕěÎý źĄwuâ_kG<™ň§µB‡ś ~|ţ#Öł¬›HíËĄâa)ě™b21Rć˛,µ–1–«âe#ď ńqŃź¨Bq¨ą˘ÎëŔ÷óÜI.™µä †XńÉQýAüë°xŢ&Ű"27Ł 󟇗|sh|đ‰r<™<´®?6•{¨h§BIŽGő°ŤşZźźq :pĆżgŐ&ýN:­¦™y"X©ů×@tűO5e eé·ů*ÍtžÉOgqm̱2Ź^Łóvlˇ”«A ÷ŞŮzzgrŹĹĎřĐ7NHŢSŃśú(Ítf]2Üç÷ GpŁ5^oi°f™›y Ę۸˙{ĺţuă:׉__ÖgXĺĆŢB*ś«c‚ţůçÄ{צřÓÇövľÔĹ«Ź´IEÍň‚>™Ďá_8č·˙go)Ž śW6)7NČö˛*”éâÔę|Žé*JńH˛FĺNUÁł ĽIĂ59™@Éa^F¨ýÝšşŐ­ˇę_ÚşTw Ź0e$łňăZUËx ™ôd# ÷,Pú€Ş3ůůWS^ĺÝ4Ţçĺą…8SĹT…?…7`˘Š+CŚ(˘Š*î†<Ź2gŘŠ{úźŔžjĚq<Î4,Ç°źâ ęI=¶ąę˙bFßh;N 0lňFŔŕç‚Ü[ŰÁcm‘µB®^Fă§RMx‡Žľ,ýż6zT~\#řŰýczóŘ{NµęcV˛Ö|+{¬^ŇEuÝŤĘPČçĄ|–NNMKsq%Üď4ĚYŘňMA©_,Ňéö77QÄ3!†2ű3ëŹó×Ň˝ Ŕ˙íőë8ő]BčRě«mC68ů›°úg>Őëö–vöÉmiC *"ŕ M\¨ÉĹč|§…ä÷FÖIä¸yI/éĐsÜW®|6ř}apş¶˛ŤB VĆsŹĽŢĎ®zăúµąWSGZ_g@˘Š*ŚBŠ(  Äß ´ťzíďm&}:ęC™ &řÜç’W#čG®+Çŕ«,ŕßk„”‚3/űÄáOŕkÖčĄdZ©%ł3tM Ođöś¶Zt\`ĺśł·vcÜ˙‘ZTQL†îQEQŠ1@bŚPE.(Ĺ%sľ$‘˙µü=?#^#HCŹćkŁĹs~"׼;˙_O˙ Đ«/ÝJŔ×ăů?ëţf·ÇAXďü~§ýsĚĐźxźáމâyŤÔ«%­áűÓÁ€_Ś|ŔŚĐű×-iđNŢ9Á»×g–é ¸Ťż2Íü«ŐčĄdZś–ĚÎŃ´=?@°zuşĂrÇ«9Ć2Çą­ Z)ÝĢ–ŠJňŤóĹ{¤j ą‡cÄXvlőÇĐׯÖn˝ˇŮř‹G›MľBb“Ë÷‘‡FSŘŹń &®¬]9ňII<6¦&ŃçŹ<˛bąÚíu߆^#ѦqmnÚŤŻ;e¶\±éÔ¦~µ›aŕ/j2âŃn˘ç®ÉßćÇéXÂź%ězXścÄrą=•…đ5ŻXZÉ–ĆI•łŤŠ3Î=đ?_IA6Đ$6ń$Q ¤jT{Ňąx"ßÂRuźPźtŔpč«č?™ú uµ˛V<Ú’ćz E-ČŠZ(1F)h Ĺ.(˘€ QŠ( bŠ(ĹQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@R;¬hÎěTd±8zĐ7ăáź^ŹW‡˙G%wţšЬ˘2 “Ë!aźĘĽC[ńřŠimm€]1X`ĚĄNCAŮúgĄqUĆ(K•+źK‚áąâ)*µ'Ë}•Ż÷ꏢőoůM˙˙Đ…s5ćZo5=.1 ˝ÜźfĎ03e9éŰžâ˝'òŹY‹0x”v7§˝kGşlÎË'­\íóGżů˘J+dčqs˙Žőë>ęĆ{2<ĹO—k ň ÔQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE%Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@‹˙.†„~)Ô–_5V°rˇAĘţ9ë_Jx-¬üEŕ­7ShćMÎß6őb¬xăSŽ:bľaŃô›˝wWµŇěcßsrűą'Ř “ě+ë˝ HAЬ´«`<«XV0ÁBď#«;“’}É®čSŚ>|Ć'_om+Ř̿ҞÔ#%âďž«ő®KĹşf«¬č§in.%ŤćÚ7I9ŕqϱĹz{(e*ŔF=éAĽB8”*˙:¦®¬sÂNR]7¶řEzb$ş¬źmÚ2Ë1Üc©ł‘ëŽŐŔjşmÖ‹©MaxˇfňTĺXAĐŠúöúŰO¶k‹©–(”d–5ó×ÄiÚ÷V[ypEä™3÷đIţ¦¸qh¨Ţ Sę˛|꼫¸bexµ÷ž@ÉŻRđĺĂ]xvĆgmĚb>¸ăúWŠé†÷ÄÚ’işjîvĺäÇË÷föţ}+Ţ-mŁłł†Ö,ůpƱ¦zŕ ĺOJPĽ™GŹŁ]B•=lîMEWqňÁEPEPEPEPEPEPÎ^!ŇŻ<â­$ŤĹ›»=¬ťCÇž9ő˙^¤·ń e9a^÷Şčúv·fm5+H®a<…qĘźPG űŠăÁß ›Ź0K¨˙žBeŰ˙ çő®zxÍÜö0yÍl4ySĐó´ů|g«ZiöQ–pŕË(Eń1?çź­} đňÖ (5+{dT†+‚«ĐÇô¬ýAÓ4 _łi–qۡĆ⼳‘ÝňĐřv1°ę#?ţŚjŇť5N<¨âĆâç‹ŞęĎsµŻ!źQÔüńć}Ť6“©Ý1R‹ţ®BySőĆsţëŐ寎ťĽŤ€­ŞmlúbB?­CÔŕ”OJ†pkĺ?^“Âľ/»´•ł•ŚÖŤŚŕşrż†{ŠúGĂÚݵޖŚň˘„L–c€ąŻšĽ{âvńo‹nő'ě«ű›U#¤JN?2KsÓv(ĎđłOđjÉ©C¨Ý\Ţy>SîUXŘápHč?Š¬ęÚU¦·ĄĎ§_Gľ — Ž ö#ĐČ®ţHÖXŮeX`ŠÁÔtźłˇšZ1÷”ő_ţµ|˝âok~¸’Q —6’·P®@_öŔű§ëǡ5§2 uŻ«1UĄÓ,fgilíÝśĚc9<ÔJš{ťT±u)ü,đ躇ŚőčtčĺÖçćšáůžĂą=‡ôÍ}YĄh¶:>‰o¤ZE¶ŇüµSÔ÷$źRI$úšůëVÓ®~ř‘.­7ť*ĺżvs’‡ş“ę;zŹˇŻpđ—‰`×4řČ6úő§(ěElMJĎßw"żłk;‚ś”<ŁzŹń޵×\ŰĄÔ ŽCč}k–žÝí¦h¤aéĐűŐQKŠ1@ E-•ËxëÂ)âÝC$wÖä˝´ŤÓ'Şźců ꨠiŮÝ/_Řë»6Ú…¤Đ2śëň·ş·B>•oK}cY[é¶3ÜČN–ż*ýOEćľ–˘˛tbާu<Ć˝8Ú,ň›o†~ µ…n`Öíă˝uůă ÁĐäźČ~5*żÄM ,mŤÜKüP8r~€Ý˝+Ôh­IYsśŞIĘNížseńźP˛ŰęV˛¤‘ť®ŽĽ©ô ň+ÔĽâř|U`÷JžZ+mRĂĎ|gŇĽ“â—…DţbŞŕ,w(N öV§ Ç Ěčž<ĽŇbH 6€Ľcđ¦Mť®} ă­NçGđ´ú•¨-övW/]ťóâüPÔď$ňíˇ•Ýş(äźŔU‹żwÚî›s¦ŰÇ#yń4NÇ…PŔŚ“]ĂéíllŚ¨PLľ`˙–§Ś“ďÓđŐ›«%őgU< z”e^1÷c×úŢÝNAu/ęĽŰéw[Í(?‰Ŕ©Łđ‡ŽŻĎďäŠÔGď'·_—uzýaę~*Ó´ŮZÍ<ępÉđýOOÂŞSŚą̈aęâ'ÉJ7gÂ}FçÚâ"8Ëóß©źéY)řKy§ŰĄć…,·Ěąóˇ ˙y}~ť~˝»čĽu9ól$TőIËş; J×R„Ëk(pt+ő«N¦‘gU|ż\ő`Ňďżä|Â/ď,%h.#’9†GR¬> ×Sáť\ń]Â,0Éoc‘ćÝȸP?ŮţńöŁ8Ż}xŇBĄŃX©ÜąÁőôę=Ś/vfxÇ–2*işuľ•§Acj»a…v®zźR}ÉÉ>ć­b–˛VÇ*h“˘ť$m­™N 6€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (¬j˛hľÔďá,˛¤[#eę¬ä oŔ°?…JîĆnµă­®ä˛Ó9ĺŚâI[”SÝF:źĐV(ń^´Äź¶“ĐDś~•Áh—@Ć2Ů'©5ĐŁW‘ZµN}ě~‡–e5†O‘Iőm_ó;Ť'Ć&Y–EQ “€?ŢÖ»G—ýZł÷ůFkÍĽä?‹tß´‰we†F@$~ W·¶§dťnó®Ü$ĺ8ľf|×aha«ĹQŤ®®ű|Žwěw?óď7ýđk”řžnôż‡š”ű?8$!˝™€ úew ôg×täëp+“řwaâ?ęşL3ţúhEČt`ę? ~5ÔĎ;Łç˝đQšéŁ0ó{[¦µ“ g‘é]5Ž® ŹšĽŞôĘs88*sgP»Ż…ş‹CŻÜX’|»KcýĄ<~…żJó5Ôb#$×KŕMj_µÉaň&ĹÉîHţő¨ĂĆ^ŐXęÎkPúŤE'{­=zAÓ%Ť&ŤŁ‘AV"©Řęö×±+,ŠöÍ]2"®âę®kŘ?79+M˝ĂÄÝTă8ę=j:ŢĽÓéűL2ŤÎÁčF>śV,ĐIo&ÉP«uÁ 袊(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŠJ(˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (ŁQF(ĹQŠ\P„|MŃ.4ÉŞ[ˇz/¸_âÜýď|źC\5›pËźq_T_XZęVrZ^Ŕ“ŰČ6ş8Č?ŕ}ëĚ4ź„ú7î®_MŐć° 3¬jńůË´1ĘžG©©ĺłş7u\ ˇ'±ąđrŰMŃ`“R¸!Żî—`?óĘ<牟ŔW˛&Łi"îY—őóŽŻŕ˙řňAĽ×¶r—6čYJö,JPx÷=k đ+x—Ć,ĆŽÚÎ3‰.%lţ Ł–?÷Ş0=Vń%Ž›k$†e%A=j†Łâű]J´ó•¦Ôf‰vZÄ79mą#˘o‡úd¶®·3OuqŚ¤“9ÚŽ:‹€FyÚŮĎJČÓ´Hôąe’W{‹÷âk™~óŕusŘ~9<ĐnŁ˘^x˛)ÄwSF’ %Ą´›DC=KýO^µÍÇđcĂë9w˝Ôž<‚Čë’}±^ŹE“[ş6¦hżfÓ,ă·CŤĹyg#»1äţ5ŁKEŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ĺ-Ł´PŠ1Eb—áčŦ¬ę#?ţŚjJ“Ŕz§ľˇ?ţŚjë뙹đÝ—$ť5Kq5°Ś±ŘčAâşjj˘źa@/ńFĘhŃǤ]Ľ)¨î€Z»–* |̬yÇ śĺ‡áâŢř»Q»ř‘ńáÓŽűhĎŮ훝«ždMĚ>[ö˙/ë]ď…|söČŻ ŹZôzFPĘU€*F=ę„ZŐŚ¨Jgk>+±Ó­Ö@ĎŽ>´3ha—tSđFT2˙2*Ľš5âµQ˙Ýnźž+FĂTÓ嶊8ď#r¨–ëřVŠ˛¸Ę°#ÔĐ ¬hi©é“ŘęŇyFÖ%qŘę"Ľ—MĽÔ>ř é·nMł6č%ěčOŰÜv5ôĄsŢ/đv›ă [+´X§?47J€ĽOŘűŽ0Fy‡^Ń5u‹š6±Č©ő Ľ‡Ž%Qňźčk¢¶ô?…ľ$˝¸Úň&źj­ó€ë$Ś?Ů HöÉűúśTún‘eĄé1i–đŹłF»v¸ÎďRޤžMhşU›L˛•AČ°Ďâ+˛•5N<¨ůĽv.Xşî´ş–ˇř«á™±ţ–«őaZř˙Ăł¶ý?1\ÄŢđääŃl†?ąO劧'Ăß Ë!‘´• ą4Š? Ř­3Đbń^‰/Ýż‹ń4Iâ;¶ÁW) u%¶žť1ýkĚ.~hŤo2ÚIwo3)ňßÎ$#v㸯0RŐĽ-«Ikz%Ycl:ąÉúÜPÖ©"Hˇ‘Ňť^˘üQHăPóm>„ÖŇüFźXąM;M&[‰xůz îĚ{@†Ł*M¨LńW8ČőůUZdIĺÄ©’Ř“ÔűÓ袊(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘°üEâÍ/Ă1)ľ•šgÇc.Ă×Ř{šçt‹ş%ÍřUÓî¬íŮ°.c”I´z˛Čü3@őˇ6• …g·‘n"e ;Žą˘łč˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(¬iRë^ Ôě RÓI¨^MŞčŇ’ňÚ9ÚŹRŚxžÇŻ=«Î˙áń]­ŔűP-2°3/ýô8ýk’¶Lú ż8–[ˇŐ&©ößÁ&ŮP§ß-•ßŤµ«h®llĺ’ łĺÉŔSÎ:’=*_ |5ÖoćŽ}x‹K rĐýěÓŹş?_§Zö ŠÚŢ8 Ťc†%ŁT =±U†˘é&™†sĂ8Ę+TyřsâÉ"HÖwť9ü‰©Ŕ>3¸BŇj6‘ăkĚŮ>ü)Ż\˘şOńkďzı=Âj6’]¸ĆwÍßćÇôü«–“Ŕ.µťŁţǸ%OXʲźˇô•.)šĆ¬Ł±áşĂę.­©:é¶ÝËaä?EŹÄŹĄbęš>­á-LĹrŽ„’aĘJ=AţťE}Q\[Áu Cq sDÜ2Hˇ”ýAˇE-‚ĄiÔř™âşOÄ+«% .î;Z÷nZÔ,Â9?ŚŚdgµßÇá?G9™t[çÖ }AřUŰÝ*ĂRłű%ĺ¤3[€ŚĽ/ÓÓđŞ2á_‰^­oNëc·á]·ú=ěÁ,gń˙őWĎšçĂ Í>Syá»—MĽŚŹ÷[ˇú}MCá˙‰:ż‡/ ž¨’ŁFvşşGÔőOř_Ek­ët 5˛ ó8ÇÝ<îďÇë^{oâ}^ý¬Č;¬Š5ę:Ź´Ť^×ÍkâÂîf'€ZńËËîu ™â]±Ë+:©Ŕ$+ĎĹŢR‹zźcĂÜšSĄVśZŤµ˛ëßąčš˝±F;”hóÁŁŰůVĹy-ŤëX_Át„‚qÜwČŻZ­đµťHŮîŹ+=ˡ¬ť?†];[p˘Š+¤đŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŚQŠ(Łb€ )qF((ĄĹ ˘—b€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€ŠZ((Ą˘€b–ŠLRâŠ(ŢŠ1F(˘€ QEQEQEQEQEQEQEQEQEQEQEW”Ĺ­Mŕß_ŮM”‚IĚĐžcťŔ¦qřW«Wń3N˛¸đŤĹôđo¸´Űä¸8+ąŐOÔsÓůPm¤řćÎîóIÇ\×áMJëEř‹ŞExZj—“Ü[á)žÇ‚=ëĹmő;Ë^!¸u™®‡Am_V{ťQ'-ý’‚ŕ®Ňwyö;C|PŐµĎkVţUĐ•GË ýG_éVĽ5ŞÇ¬hV×HÁ˛5sQ·űM“¨uů—ę(—˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(©üU´ýAŃ+_LA Ź1Ş´’Ç fIdHă^F ŁęMs~ńĆ›áý!í&‚ćiL¬ŔĆŁiŹrAéíQ:‡ÄÎś>‰ż±v=fĽ˙âćÓ<-“§ĺőMcТžBźČí˙gµX‹â–Šä -oŁÉĆv)zź›?Ąač¶Í©ę“řŠúĺn§bđZ [Ŕí‚2zóŹ\¨U„ô‹+Äá×5X4†x7Âř_KŘp÷Ó€n$##˘ŹaźĆşJ(­@˘Š(˘Š( $9$שxáV‹LŤ%Ź=ţé?ěÔ{ÔźµWŇü(Â7d{©’Ü2őĺŹćŹĆĽúŇUxTŹJăĹÖ”,˘}/ĺ´1NU++ŰduđřĎSGE‚Eî»HýA®·GÖ­µ E”•ó"n«ř÷ĺÁ«G@ĽkMzÍ”źŢH"aęăúŠćŁ‰š’RwGµ™dj”%*QQ’WVňčĎR˘Š+Ő>(˘ŠËń…kâ-]>ë* ’“ŽŚ?—Đ‘^;áořZáĚ0K=˛·Ë4 ]Hő rżŤ{µâZaľ›w,ž‹qŰ'Ž˝v6ľŐížO]ČŚëň[ŰHŚú–äíÓë]őŔIđâęŘîŇĽGw:$ëż>ś‚1ůSËâ&smsk|Ł Iv±˙kőŻB˘€8xţ#řżJ jzćŃŐÖ2ëůŽ+WNřŰĄOs–{’®Ž©ŢiZv˘1{amq˙]bV?¨ _Ç·>ńŢ•ćťuZŐš“ń™WŻ–Oבž‡=2MWřk㧍Ņë‘NÖVâťâ_‡:]Ć‘u.‹f-µ%]Ń‘¶±ůvç€GÔćĽVÎţęŇ˙sů‘ÝDÄ6ŕAČę +”ŁtŮö¤R¤Ń¬‘¶U†A®J˙ᾉ}5Ń{¨<Ó¸Ç(@{ŕ8ő¨~Ţę·úÍ}k$ă &YŹ°ëŹsřWmS8FzI\ŰŠ­‡nTdÓg)aáŃěMµµŰ\F˛,AÇčyÉíÖ  «`AŐŮV6ąlK•$íoCţ}Ş˘”U‘•Z’«79»·ą‹ES (˘Š(˘ŠŻ¨]-†›uxŘŰ/)Ϣ‚Ą|Ă7úDŚňüîı'ą5íţ>ń6Ž<'¨YA©Á%ü»bH#ůĎ޲G ňç­x…w? 4[{Ď\]Ím‘ÚĂ•Ţ»‚ČÄm<Śg«ŰkřQĄµ§†eľxʵäÄ«÷‘xýKWy@7sĹZ·Ľ;u§Ý7– ďIqź-Ç!żÇŘšę<ŁŤÁ]–0ëg˙xňkýLĐĄŞžćE„POÍ˙Žî®ícŤQF@{P;éc'Ĺz„:W„µ{éńĺĂi! ÷;Hń8Ťx‚|-©ë×đj•»Űéq0p%iČäđôÉďĐzŹ <@ęm#€a#e”Ś‚˙_‡Q(FM6oKV”%;'¸QEVşÔlěżăćę(Ź`Î?‡Z¦ŇŐ›傻ň,Öną éŢ"ÓšÇR€KĺH8dņ±˙'"§¶ÔěnŰm˝Ü27÷UĆ.µn„ÓŘs„é»M4üĎ Ľř'*Í»OÖÇ–OÝž"yďŘWMᯆV‡:]^Nú•ÚŁJ»cBA “Ďą'đ®ćŠ9PÝYÚ× (˘™QEQEQEWĎţ-ľüEŐüâr%U^ß(Pé_@$śŢĽ[âW„µŰťfďÄÖZ=ĂiĹ|ęÁ÷m\Ú *¸’1Ćj*Gš6:°u˝ŤU2µĄĘČžjŕzâ,5m¸ pkvYJŚ‘^EJ2‹?DÂftkA]ęm—â»ďĘdĐćä%Ë(öůT˙Zň‰5eáS–'I>‚˝“Âş\šO‡íŕśbáó$Ł=»~đ­đtä§ĚĎ#ń”e†TbîŰüŤŞ(˘˝3âŠ( Š( Š( Š( Š( ł5źiZü^Łf’0˛ttú0ä}:VťÂŹ„ţůžeń_ůće]żúZęô­MŃ-Ěm¤včܶŢK}Iäţ5~Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŞęWđézeŐüç[ÄŇ7=p3îzP}¨Úi± o'X”ś ňOĐMbéÝ0Â.ćŐćçYş×Ż$ľ»|»ýÔײŹj˛‡Šójă&Ąhě}®‡(J‚ťvŰ}¶G©éú冦vŰĚ<Ďůćăk~]˙ ŃŻ WhŘ:1V†S‚+Ň<;«kiˇä#ĎŚěĐţ?ă[áń>ŃňËsËÎ2UŹ¶¤ď·é˙עŠ+¬ůࢊ(˘Š(˘Š(˘ŠËÖµű-k—-,™Bży˙Ŕ{Ňm%v]:r©%+¶jQ^/Ťµ)d& …;. Ä÷ü…hi>.»¸¸[{‹39n†Ů oűçśţαt›±ěÔáěl)ó´˝/Żů~'aEL-&([ ĽqĽâĽŹÄµ;Kű« ; X^ Z&•¤3d©##žµŇxg«V^§â=#GŽF˝Ô ŤĐĺy€ČqŘ/ZđŤGĹţ Ő űV«q·ű‘·–ż\Ó˝bPícT¸ÖµkťBä“$Î[ČQŮG°U8˘’iR(‘¤‘Ř*"Ś–' ą¦×­|đŐšjIŻę¬„ĆŘá<áżçˇúsďžÂ€=·ĂÖ3i~Ň´ű‚¦k[8`ˇČܨăŰ"łµ{aŢäYďÇżů÷­ŃwnWp™1ő¬ Rú+ËŤ°°d‹ĺ,=O_é@h˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š+Ĺţ2isÚë6zĚJŢDń$l‹’3őSÇű¦˝˘©ęşUžµ¦Í§ßD%·a‡B==<ŇeEŮę|פę†`\©n  éíő8ÝFMI®|Öě®Khďýą?(.±ČľÇqýAçĐVv›đűĆWRŞ <ۡ82\HŞ«ďŚî#č rVĂűGsčrěáa!Č–†ĺ‹KQ·±·ůĄťÂŹaÜţ'đŻj®OÁŢĂng¸7ZŚ‰µĺĆR¨?.O'şWYZač{$üÎ<Ű3xůĹÚĘ;|Š(®Č (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ŚRŃ@ Š1KEŁQ@(ĹPŠ1EQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW5ăXŁąŇ­-%BńÜ^FŚąŕ€ąöůkĄ®sćĚŐ´k|·ĚňIÓĺ 9÷ůżťw´†ËKŽ(!Ž(ŐxHÔ(€¬iŕ·ţÚľ•!@ň*,„(ůń»őűĆşM9|˝<»\ŕ`÷7MśćSřp(áíÉĐőË˙ JÍĺFűí·±·+őÇO½:Ľ‹ĹJÚ^Ą¦xŠ Ľ‚ŢŕÖ6?)?F˙Đ«Őln’öĘ„ ‰(źÔmţÍzčľeú©]µoćÚ‰@ůŁ<ýůĎĐEPEPEPEPEPEPEPEPkűűm6Ń®n¤ ăÜź@;šä.,žÓ8‚Ç÷Hľ¬@,ßźATP×›‰ÄÍO–:i’ä¸yáŐzË™ľť{]ń3k×ŔŚË Ľ`H˝¦ţ"O Ď<Ćp)!âąK ŕ·× O>s˙3]$S+¨ ×5nnkČöňĎb¨ňRVłe¬Ö–‡¬I¤jűŹŮÜ…•3ÁżQYę9¦TŚ±< Î2qi­ÎşÔ!Vś©Ô^ëÜöŞ*˝Žłí˛0|ĄŕýXŻ}“5g`˘Š(QEĘ|EŃfÖüs˛oą·e¸‰{’˝qď´µy?‚áÔ|G©Ç¦iŃ .,w6@ęIŻ ëGđţ›¤|CµÔěŁ0Í~˛,Čżqî±ëźZĘĄ(ÔÜíÁăęátŮß üF‘3 ôé …Iź'锹_ Ű\ę>0ŽĚÄń˙gËć]nĆQ¸SîXcÇŇľ®$ivš]ířµ…c7R\JĂ«»±bIü*Éa)©&ŹB|C‹©JTçmzŘ}Q]G„QEQEQEQEQEćżô7O6ľ"‚Đ%ßÚ•'dVRîaë9÷úWĄSn|)kâÍ2k=@ʶl~ôD,;‚Aéţ{Đ*x'ÄĐÍg3‚ëľIE Ś>•ŕď†5Ż†óý¦'’űDČĹĘ® Y8 ŕtě3Đät'±˘üIŹË\Î?:öšČ×n‘!Žß »¶qž€\5ĎÄč"„±ťGµË˙Âk}u~oŁŤJ•A0'Žx#Óüćł©R4Őäu`đU±u=ťvz-ČiŢ5/2Ǩ@¬qćĹś/Ô˙:ďáŃÄSĐ–ÎG¶3E:±¨Ż± ř9(ÖVľÝ™źEoEˇBĽË+ąĎa´SµłĐô{ÝGěŕ­¤\ ĚB©cŚźoZĐă8űýsJŇň/µkvŔňÝ»u=Ep~-ř•¦OŁÝXčŇÜIq2„ …A#w\6q‘ŇĽ¦y庸–âw2M+—wn¬Ää“řÔtUÍ/IżÖŻŇËN´šęáĎ ’@Č>žIŕU:öŹ‚bĎH˛Ô5[Ć %ÉX˘Ď]‹’OâN?ŕ4éş~„š'‚ltݨ$´…wbFóËObKU*Ś±8w§^x˘Nčiö?0<Ě;(éůźëéYÚ©ß‹g‡wîíH˝Ś“úăđ ž×AUş·şžB^YcŚź 'ó­Ş( wZ˝ţŢp=úçő•gWE¬ZůÖľb©2FxŔÉ#¸ţż…s´ÄřłĹŹoxÚFť&Ů”<ĘyLó´{ă=łëÓ‘»bYä’rI®kMÔŢúęką›2Ď#Hů9äś×BŽWŹ‰”ĄSSôŚŽ…*XEȵ{˛Ŕăuë¬đ׉%űBXßK˝ĺsČ>„÷Ír©Ń‰dš4]¦f,[<Žů¬éÔ•9^'^7KIÓŞľ}ĽĎa˘˘µ3µś sĹ;D­$n¸eb Ž*ZöÓşąůtŁĘÜ_@˘Š)’QEQEQMŮ,ňĄµ¸ĚŇt=”wc@Yٶ§u䌙w˙gü}«­DXĐ"€ *8ěmRűucŐŹ©˘öň+WžVTgšđźŚż¬m®mumŮbžę_*{Hz3źşĘ˝łČ {u5Ă[|1ń›Ę¬R?Ç%Ědűä“úWąBŇë:Ő®”ů`ź˛ĆĂ ţţę{{zŇ©qLÖ§ ™ÁřCá­®Ü~|>)ŐÔkéŇB‚I¤×Ě_µ; O:ÓćG†FY'ErŁ~ç'ń® N?zŐäąÜŁűśCşčÉw×[ŕ)®ď”}Í[ë“Źë^\şá‘–8ňň9 ŞŁ%‰čîkŮĽ˘OŁč»ŻWmíËy’®s° ţő&łĂQš¨¤úąćg‡–T îĺoÎçIEW¦|0QEQEQEW…kzëęŢ4Ôdy7EÍo*8úOă^ë_5x˘Ö_řŰS·d)¸i#ě1ܸ=ř8ü+ńć…ŹC,®¨bGĐëcp@#ĄtŢÖâŃ–ňWŔw ŞÇ¨ä/ĘĽóOŐ•ŮŁ]Ő`ŹOŘ 2ąśďôŻ6Śe Şčű|Ę­,N_S–VÓňÖß=Ž§Ćîî"{ :b…Ć%™O zň<Ö·|5ˇŰë6WÚ•ýÜ–v…T¸Ś3Jçř‘ĎOδˇŇtĐĘń[1Pr¦gÜÇëŚĂéUŻ kSâp^#&©č–íěr¶öóÝL°ŰĂ$Ň· ‘©f?@+¦Ó~ř—QŤµCüWMł˙ĺżJčtűű˝1BŮNđ ţűż—Jë´_yňĄ¶˘¸Y‡źB;}k*x¸IŮčwbřwBqjIvßî<˙Xřmy ŘÁ¨Iw ĚK*-Â*•Ř‚Ś÷†Hş×Ńş­˝¦‡g´žPůcPŁô®ĹѤľ˝W#uîHý@ŻAŃ˙äi˙\—ůWYŕ׎4ÝBXíGĂ$’”¸•› «‚w–ϧŻ'¸‚ŇŮ--’$í±ęÇą5ÓkźńäźőĐ#\ýQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEÍßţ˙ĆÖqeŹ•mżoaąĎţ;ú é+ť´hńĺŮÜ[ÉHăĆ>ďË»řöôX˙w§Ŕk—·;˘-śĺŘçţk¦Ľo+KsčµĚŰgě°ääě?…G¨YE©i×6S«ž6Ť˝FF2=ÇZÎđ7‹í´ťkváaą˛ÂËË`qŔzçĄiß]Ça§ÜŢKź*Ţ&•ńč “ü«Ć ˝“P’[ÉĘ™§s#í>žŐϬéFësŘÉňČăę¸ÍÚ+¶ç©kšdht«¨Ă[®Nç §ë“ô¬­?ĆÄČPUOüµ‹<}EqŞÔ¤ń^ÖŞŢ÷>˝äXgěů>}~˙éÁ‰4k$neYNAęăü¨ł¬ú{¶|±ćF č3ó~#ó®Â˝JU=¤Ź„Çá*-Ţß—@˘Š+CŚ(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŠůóÄÁô_ęĐ8`˛ÜÔ·p˙?™üŞő¶ˇ2Ă5č>?đ*ř¶Ö+‹WHu;q¶7~EÎv±ńɶO­xĹĆ“â-äŰÝiwhęç™`~Ś2÷¸«áąÝŃôąVtđĐörŐ ®Ű˝–¤× Ă1ÜHěÝ˙Ćźg­€-VôíÄšü‚ÚŰI¸(çkK2Ť}rÄcŚç}v§ŕ”güN¤ŠëhóŹ’3ÎvŚŽťOo| Ť(Úfuł(Ń®ęaŢŹ[vg"5ĹŰ÷…jřRĆăĹšęD«›v\ČGË·?sÓ'ÓÓ>•ĐŘ|Óâ”5ţŻqr€çdQłěI-úb˝NÓl´›$ł°¶ŽŢÝ:" ©ő>ćś0°‹ąśú˝X8'ąjŠ(®ŁÁ (˘€ (˘€ ¦ęËâ] lŤżhhď–BGţ‚jĺPľŢşž‡"ŽPRÇ=ÇĚŠô*ć5AŤJaîč+§®gVjRçľ1ů ĄEPEPEPEPEPE$Iu:Ăů›©ţčő4%Ť›_\yc"%˙XŕôöúšęQ4TE Ş0íQŰ[GiĂAÔž¤úš.®˘ł¶yć`¨$šĎń%Ý…®‡vşŠ«ŰËFń±űęFüŤx5—ÂK››h§“Tű+HKyMfEç97LŚ sé^“çËâMIu9ň,blÚÇ“ó~ůžž˝}+N€<SŃm4?IĄµĂ]µşˇwuÚ70ÝÓčGs[°ĹCń_N¸ŇüU˛‰›kŘŐYŔé"Ś`˙Ŕ@Ç®ĄbŘëhč0Ż7Nn\ÇŰpţ2„(ű'ŁüΓwíţńśľÓ縹HŮ"8vç)ňäýqźĆľ{mV\î®ËÂľ‹[Ň“PŐëČ•‰†Ů&(ŚśaŽ9É9ďÓ°jJoMÄłŁ<4m/y=?Sѵ_‰ľŇÁ v˛8즹=wĆÚďŠ4‹Í3EĐ®–;¸š<±ůiµ ËŕtČⶴýIŇk:ŢňŃPo˙ľŹ?­hצ|AäwÂ-FR­¨ßÁnťJ ŤŹNpë]fťđĂö%Zhć˝qŢy>\ý®z×gEyĎ~ÚŢĚ×4ëfÄso &2}ĺ^µGNřkâ(ŠĂq­[Ánü°Üçň!ťzĄ›˘hvzź‘jťą–i^CęOôč+Ííµy<7ńU¶™Š¬·M2’1ĂťßÖ˝j¸oř.M~4ÔtŕŁQ„`©8óPdăýěô LŃ H °ü t¶źµ+ĆÖv·ÎG –?Ą}®®»”‚=EC=•˝ĆL‘)cüCů×'Ľyá©Z{˝9çµc»00“hô fşťă“¨mŽď÷R^(çýZÂo x§PŃçŢ>Ë;F¬ă“9VüTřÖ˝–¨¬Ł&˝â‚´ż‰ę:=ükčU7ś,éÔ#zzräŕz¶â NbŐ´Ű«L6Đň'îŘă?+Ź•żk–µ3ŢËłiáôčuË{z˝_áV…ŰÉŻĚ™fc¶G@8fS•ü­xŹgŻë˛´ť.îń·&‹*“ÓstQîHéş_‰ĽQđń­ěääĐ )h˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ żŁŮG¨Ăö–cä„Űü~˙Jç„ŻŽkŃéžl~g—ć.˙îçźĘ“·R˘ĺöNwĂľĐ|5'ťglŇÜôűEĂoqôčŕt´QLM·¸QE(˘Š(˘Š(˘Š+’ńż­Ľ_hŽ$ú„f# Źî°ôĎ~Łßˇëh i´îŹ›ď|âÝ"WŮSĚ«ŃíżzgçôÍ_ŇľřźZĽö°Aś<łHě¨9? ÷Ż k_ń6™á»_6úaćŕN^O ţ§ŠžE{›}b|Ľ˝'ń’[h:†›á‹VÎĘ9Ë}éfrrĚ{śôÎ:RÚH%Á®WĹ~!—^ń,šŁÂ°†P¨Šs…2{šą¦j`¨ů«‡M·t}Oă!N>Î]N©Z”ž*śW(ă Ô¦Pr+Ď>˝Yę™Ü> ú‡Ăۧ‘·I3w8eĆ}đEz¶Ź˙ k?úäżĘĽgNÉřs©ÉŹ•ĺ%O¨ó˝›F˙-źýrZöč¶é¦ĎËł8Â8Ę‘†×dZçüy'ýtČ×?]ą˙I˙]ň5ĎÖ§QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE ŐÜVĎqs(Ž$ęÇüóX^—űG^Ô/€m˛Ďňî ^žŔWâ}uő_ÜÚŁź˛Ů9‰S<3|ä}ąŞ0Ěđ°xť‘˝Tŕ× Lg%NT´>«Ă«„Ue;IëĺcŢ|A ‡E”– 6OjĆB¬ŠČAB2Ązí^K-íĚŃ”–ćgSŐYÉŐx#Sy<í:F-±|ŘóŘd?2?3UK§>[XĂĂóÂáÝe>ko§CÄ6ňÝřgU¶KM5śŃ˘ŽěP€?:đ TZ©=85ôŤxĎŹ>_Űj3ë <6ůmbxŘžJŻu'°äg¦:mZ’©v[Ž–Ż2+ÇtŽ2SÚád°® 5k‹v1Ȭ¬§5»ˇéz˙ŠfHôűG†ąŻ ćĽ˙ŞJç׬4.Ö§˘|;ëYľş\ůPÂ"ĎbY˙Ů?ZôjĘđö…máÍ->Ý‹ŕ–’Vőcú`­Zô©SöpQ>/‹xĽD«>ˇEV‡QEQEQEQEQEQEQEQEQEQEQEQEVn¬YdÓYT’/˘č3ę?­iUď K鸺\¬R? ŕźÇůPK\ö¶¤_Ç şŠâŢ;LRŚ©üÁőČŃOš&‚g‰ş©Ĺ2€ (˘€ (˘€ (˘€ )˛H‘!yQVc€*śĆťsr–đ]Ĺ,ÎŰUä±ö¤ä–ěŇjTMÂ-ĄŮŐYŮQł±ŔQÜ×M§X%ŚáĄ~d|u>źAUôť8Ű/ź:Ź=†ţâú}}kR™Žę] I5çú¶ ţ'ÔZÖ"F—nűf`ßë®Ď§Lűqô·â]fmFďűMr˝ Ěë˙,—üNúM¶·ŠŇÝ …BĆçőď@pĄ˘Š§ŞéVZÖź%ŽˇÍo'U=Źbcď^Y{đRUşfÓu 'ĺYăů—Ř•ŕýp+×č¤ŇeFrŽÇšč?ílî#¸ÖoÚüˇČ·TŰsĆîrĂŰŠô¨UŔµ-$–Á)ĘnňaES$(˘Š(˘Š(˘Š†ćÎÖń6][C:ŕŚJ†^´°ZŰÚ¦Ëx"…}#@Łô©h ±µ čšćZúÂ'—óSäq˙źĆ¶h :źáţ­¤·ťáÝnL/" ®˙đ!Çč>µ-żÄřYÄZö›0…qűĺă?đ!‘ú潀Ŕ‚‚ CˇüRĐőpŞň¤=A?ҦřŻéx ţF6×Bŕ,E&3±ŕŕ’¸.8ţć5o‡ţŐ7:Ú}Žrr%´>Yđ»úfĽËÇÚ©áě|ÍIďt當n(ŘŕNxĎ>ÇĄLďĘěm‡ĺö±ćÚĺX-.ě]i7-őň‰ŕţ5Ţř[âŐÍŚ«e¬!B8;şWźéš’Ľ`ZSGm{É•]{zŹˇŻ>©Ó|łŐaȰظ{\+ĺ—nźđ>_qô~“â ?X…^Úu$Ź»šÔŻ”m®őO J'ÓîšHAÉŤŹ#ü˙‘^Ąá‹¶÷a-µµú|Çú×|*FjńgÉb°•°łä­3Ó.ô. x˙u!î:°îlçµlJ„Ě9ń®ŠËPµÔ"[L®č4’\G5ٲR¬BćQ×°úźĺő«9Žm-ć•sR8őU&¤µŇ潼OÇoMĘF˙@=˝ýuŐč-"¨U Łpbř“\M"Ë ó\JBF€ňXđij±éöRÜĘp2Mp–†mNńµ{°rŕ‹xŰř˙ÔţęEI§Y˝´o,íľęsľg÷ě°éú÷«´Q@Q@Q@Q@Q@Q@TSÝ[Ú¨k‰â„†G źÎ†ě8ĹÉŮ+˛Z*Ą¶§cxŰmîá‘Źđ«Śţ]kfÓKžë G—ţ&ďô“OTTéΛ´ÓO̤ŞY‚¨$žëVĎEwĂÜ’‹ýÁÔ˙…jÚŘÁh?vź7w<“RM€`Ś˙´=*{ď\jÖŢ· •kŮx…q×Ţ?OÇÍjŢ ´×â'Wľ˝ąą-»ĎY6íöUĺ@ú‚}čoEńçöíÄ6VĹIa™%•Üóô®ř WÍÚNĎřćçL»Ä62H㲠źÔ‘řWżiĽŤŞ2¸ßŽFzĐ‹˘H…C)ęÍs×Úl\rnG±áń]MĐx+Ioćžźy×ŃEéQEQEPNZ›ěw?óď7ýđh: šeĚ«hť•#řHäźLV-ĺűĚo’?îŽ˙Z»u©ĘA‚{ąč>žµă??‰b|ĺšŮK7rw7˙Z»ËíQ"S†Ľ«Äş‡öŽł$™ĘƢ5ü9?©4‡<^jcŁ•R9d·~2í^áO‡ú‡¶]\i§ţµ‡Í ˙`SÇׯYÁľ‡KM<éVŇŔĽ“,a™›Ü[®}ĹKŤÍiŐpz&+o<0Ć}Iëě8őËń\ő±nĺ‚=Ś»‡ˇ˘«W“»č­řŢçĽ^kv«§ŁX^Ăqó+Gů”q‘Ô~5™^GĶł,ĐHŃȧ!”פčzŞęúrĚ@©Ů*ŽÍííZĐÄŞŹ•îyů¶K,}¬ăřŁNŠ(®ŁÂ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€>Ő®$ÓĽk­[Î 1˝–@uv,§ň"´a»ŽE0®·â'Ăů|BéŞéZęQ®Ů›ož qĎ@ç=sÉ⼂âMWFŰßÚOo $m• ç™ëÔ~uÁ_ Ěů‘őyVx¨ÓTęlŽÝ§P2XWCđúVąńÓF3VĄ]˝™p?ńÖü«Ď´]/Ä^%•cÓ줶3q.V%Ą»ýOµ{…ü9†t…´Ťüéďžb0dčaJ†Ć\Ň/6ĎiÖ čŇ[îmŃEč"A=ť­Ë¸¶†R8D ŹÎ§˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘źO4#\źĐPOS´Ň4ůoŻĄ[ÇŤÍ‚zśëÍrż <[ V1ÚJŕmHÍwÚ¶‹cu ^é÷Śş…ŁgŔ%r8#čpGŇľ\†âëHľq”–'*Ŕ2(ě.a¸@ŃHzt˛Ç ‘¨îM|Ő¦üN˝˛O.epËÁĹu^µâ/:ŞC-®ťÁ’ćAŤĂŃr}zĐ€z·i}4—1ýÇbč?Ą2™i IkµB¨ôĄ>€ )Ť,háDz)a“O m5¸QE*ž«©Űél××,Dq ŕucĐîOrĽŰâÖˇ$čÖ`â)Ą’V÷(ý ÔÍÚ-Łl=5R¬a-›3oő›˝jo:ĺČLĺ!ĺAíę}ęöŻ\xzí®­ ¶’V] Ě…¶ŹlŠç,ćŕŐŔŐâ9Ë›™˝OÔc†˘č**+’ŰĎáÚë’ĄťÜbÖôŚ.))Çlô=x9úš·âťrK5M:Éwß\pŁ˛Žě}ŻI^'Y#vGRYN#ˇ»í/ĹSx“Ä9žÇd*Ł9wă8$ôÎ~kżŠć÷gąňĆD¨§_¤R»]˝ Ť>Á,-öó%sşYHÁ‘»“ýaV袻Ź— (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ Čń>‰´Ť2s°¸ÝĎ–ăî·řűZôP ŘůUŃőŹ ßmBŮâçäqĘH=Uşć;âµćEç5ôÝŵ˝ä ĚO pŃĘ”ýAŞřkB¶™fDÓb•yWKTVBe*1–çˇC1­EZ,ňżxf˙Ä—Q__ŔĐé(Cţđ`Ü{(ţď©ü·Łř‡ÁzG”Ľđů]EĚ+çßűĂëúWCET!+#źŠ«—5GsĘţď‡ňyŮkí=yó˘ÉÚ?ÚţďăÇ˝w߼B×ŕÜÝKľk‚^Fő&´5A¦]ٱÂÜBńéąHţµâ~קĐu±ş Äĺ[řXůŐśçŐ‚2:Q\^ă'GcÖşxő[9"P>´fx"ąŕž4–'dqG¸®DŚ+SVń˝Ľ>U»žC±ąâ˛€ŔĹQEQW4Kxµ"óšÝ÷ĎřP:+®¶ęĄD…=FŃÍT»Ň`ť ‰V);Ŕ?Q@ĺé#xdhäR¬§C„Vcčh´Tßdą?ňď/ýđhű×üűM˙|†Š›ěw_óí7ýđi“C-ĽM42$Q©wvB€2I  _ë‘ř{DšůŔi2#…ń9č·sě y‹^\_Éö›ąZYź’ÍŰŘzj»­x‘ĽKp ¨[_tĂ’yĎľ úU ň±UąĺʶGßäkÂŇöŐ>)~rś`ŽŻ]ř}â©u{Y4űůwÝŰ(d‘ŹÍ$}2}Hă'ľG|šň"8âŻřv)/5č­RyˇŹć4-µ¶c×ÎăQ†›ŤD—S§:ĂSŻś§ĽUÓô˙=Ź`Őücie9˛°Ťµ üއžěÝ}kť–Ć÷Y”OŻ\‰—‚¶qdBžÍý˙ÇŘŐŰK+k<›XV$Îâ©>¤ő'ÜÔő웪¨ŠˇUF Ł¬ęöš—5ýă…Ž1Âç—nĘ=I«WÚ[Iqq"Ç J]ÝŹ S^ ă?MâŤP”,–ś[Äzűł{źĐqęHf·®]kšÔÚśçlŽß"ŹŕQŃGĐw®ŹĂŢ?şŇö¤ĹÄ+‰®Ę_Gkáqwv‘k22Ľv›łĎfpÇ9çŽ1Ö”¤˘®Í)RťY(SMż#ľµř˛óůvöÂiî$;cŠ%,ě}“VŻtďÜÝȵH,¦d¶•IÚĂ<őę?ZĂř­ZxLîşÓăiać·@\Ź©Áü3]Ź‰ü]gqgo¨č·p´žg•5ĽČC‘‚CcŚdzŠĹâ)Úéž„rlkšŚˇkő{|í{éqń&̨}Čď˛f˙ľ€®'âfŻâËÝ#NmNĐCrv:ĘŹ–*xůIě z^‰â(5|Äę!ą;3ĂŘÓüM Ăâ]çL™ŠyŁ1Č?Ç*}ĆzŹLÖ‘”jFń9*Ń«„­ÉUYŁÄt­IZ5ÖâJ¬2k†Ő4­WÂÚ‹Zj4N Ú†AžŞ{Š– |˘üÄŠóŞá]ďěpĺ>E¦ŽĄ¤=Ľ†âĎý^s´Wéę*Ż_ľžöfRc”O¨®×áv‹'ŚĽHł]Gť*ȉ&.Vfţđx#<‘č1Ţ´|Wđ·WÓ|F¶ţ‰FŤrZD–Y[bNJädüĽŹ\]tťUy\ůüt01ŘÉĹoµŐű-Ž+Âţ ÔĽM>č×ČłF -ĂöéÂŽçéęEzdß ü7,aP^B@rM’p:ňçŻřWIˇhĐh:L61}ĽĽ„`Čç«óŔĹiWB˝µ]Ź2şř=jŮ6šĽŃňp%„?†Aźé\żľkf“=ěw÷Q[Żéŕägś `ŕs×±Żu¤ 2•`<{Óvw>[Ó5# Ćş›]MFMmřËá4ćîK˙ ˘śîk2ÁJű ăÝ»qÓ…ńU´…?°µ2WŹ–ŐŘ~``×\2–§ŃĺůÔ¨.WŞ:Ż·D;«ĽřuIcy~GÉ,‚8óÜ.r~™l~Äřsáľż©Î’ë?ń/˛ ó!`eqčá~§ň5춖XÚEkmĹJz)PÂňK™Ź6Ď>µGŘAh÷&˘Š+´ů ˘Š(Ş÷·ŘZ=Ä짹=÷&¬Wń'Tk#˘Űd„šá¤b÷űďô RđĚ~m»”5úcřG ­Úä<¬E=ŠDXr+Ż 0ń ÇW»i¤.RVEĎđ¨$+ŽŐ5ĉ[çýkĽř‘áťBę'Ő´^â`¸žÝ2]°8eÎ00? ń] Eżń–Ż%¨[ĹÍ38;”gć€#źQľÖoVËN†IçáUO˙«ßµwžřgm§ďu°—7™Ü°g1Çőţńý>˝k¬Đ<7¦řnËěö0€Íţ˛fĺä>çút­z@€´Q@fř‡Î˙„kUű7ú˙±ÍĺôűŰ:ńÖ´© ĄXôó‰|#ÂŚWaÂČ X9đ•×„ő·–(Ďölň¶‘y ßaô#őŽ2ěőŁÎ+ÎÄaŰwGŘĺ9ÄiÁS©±Ý‡®żŔR3K~ŁŚžz›×ňŻ+Ź]ó#Ź/#ŞŞ2Xž€潣Áš,Ú>Ťşěbňäů’©ţ8_Ăů“S†Ł5QIô7Ď3<<đ’Ąw+~w:*(˘˝3áŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š*®ˇ¨[év2]Ý1XŁŕd’x{“CvŐŽ1rj1WlµEyíߌő+™Ův[GžPĚGąXžĆ#"Äáđî˝V’]:ţVüN–ÚŇK¦ăĺAտ¯OsmĄŰ¤ÜúŐmSZ·ÓmĘ«*…«Ëu{SńF¤únŠ»ŘcÍś$JN2Oôęk¤ńŤxÎY®–ÂÁZ{ą›lqGÉ'ü÷¦řSŔqi·WŐ¶Üj’9”/TŽOŢnzöíęvĽ;á‹?BĚ„Ď{(Ä×N>gď€?„{lć·('µ·–U–H"y]1ČÁ©h˘€ óďxşk»É¬´é|»h›cJ‡ # ýßçŹJěuëą,<=©ŢEţ˛ŢŇYWę¨HţUáş%Ú5˛®GJäĹĘQ‡ş}ĐŁWzŞöŰÔčĚK1$žI=ë[J×ď4©,Ť%¸?4,xÇ·Ąb«ńN/Ĺy‘›‹şgÝVĂ´:ŠéžżoqŐ´wÇ"†SějZóÝ×Ä—Z·zL’KkíE˩±Â÷?l÷â’ͤ\ŰÇ­GľŇGňŢä 4-زŽŁň#Ţ˝Zx•&”•®|3%•ÎĄ)©(˝RÝzž‡^kń“LšăC±ÔáFse3Űü(ŕr}˛Ş?ôC(e Č#˝Gsm 嬶×1¬°JĄpŔőĐŐŃâĆN2M7隨Ú<×Aˇ“LńGÂÍ_Gą{Ť$ż˛9`¨?{±_âúŽľ‚ąE‡Y•:}ŢGXcô®¸[»Łę°9ó§YęvO}Śî®»áĽ-us}©‘•EĽgÔ’ż,/ç\g‡|â=vt{řdÓlC~ń¦eaÜ*sî@^•íšvźkĄiđŘŮD"·…v˘ŹĚźrNI>őT0Ľ’ćf9®{őšNŤ5ŁÜµEWió!EPEPEPEPEPEPEPEdŢx—J˛”Ĺ%ČiÁXÔ¶?ĹSÇ>›Q{j) ÉŞĚ žŰŹöÎjH·Ęž§D°•áOÚĘ G˝ŽŠŠ(«9Š( Š( Š( Š( ĽçÇźćŐn[VŇý¨Źß[’ĚÇń)ţ÷®zýzú5ó¬:®Ż Ü{ć‰×¬r©R?:č4˙ë7Ň-µ•¤÷Ć ú…{4ĐCp&‰%Pr¨aźĆ–(b6CFťv˘€?JćĽ5˘j1KýĄ­Č¦ě®"á=I=Ű·žą®˘Š(˘Š(ĹşéžľşŚÁUFć źüzş܉ôD§`ćÇô®?Ĺú†“qö? ^ĽĎ.§s F;lUóžzdŚţµz­ŤŤ¶›c ťśKĽ*{ëő  TWÇm K+©Şrkvˇs0ĹhŃ^~!xŞfvłŇu ˛¤Ń@쯂FAŽ˘ŁořÔôĐ5Oü“ü(ŢčŻ_xâWş˘ éşQů‘Š•ĽGăó˙0[źÎ€=ćąO‰wÉađß^™Ř€mL_/\ą? µyck˙Măó¬Íe|}â]2]2]*eŠ\ ę ŕä ’P?*âěÓ9˝íZ\ö­ĹzóŰ[ątű‡·ťY6(ĘÝT‚ t¶şş2Ś°5äVˇ%+ŁôLł3ĄR’„Ýš: ÜWWŕ(ak­BŕƦeHĐ?p¤±#óňŻ?mV%\çőŻKře,Z+ßĚĄZő #Ëtţ9'čEVö‰ö1â U‚•4ő•­÷Üëj…ŢąĄŘoűMüÁ. ‚WrJäż0Kv`1ú˙Jµŕźß›«ˇ˙Űg@sűÖë°Čź¨ő®łçÚiŮ•ô­8čšl:ýä`\LűtčeL†=ĺ öQÓÔŕôëŁ Ź(2Ęěň9ÜîÇ%‰îjO‹FivJ-ˇ˛ (ŔRÎŔŕt"ţUť§Ý+ĆkÎĆݵŘű.öqŚż™šëJj%zvęŕ>±˘[{§´ąŠâ3‰"`ĂđŻ]ŽE–$‘~ë¨aô5äş~‘{­ŢĄµ¤NËg‘Gú¨űµzµÍÍ˝…ŁÜ\HÁ噸žŐčŕSQmě|_NśŞÓ§‰^˙;XK«;[č –ĐÜBy1ĚÔţą|6Ń/ô©“M°·´˝Ĺ,-„c #s#ăŰÖ€ßIÓímc¶‚Îâ‰v To®Ż˝Ay~4—ŚLs„…'řO¦—ăZuăź<]}=í¶‰˘Ů\\yRy˛KLÁ›\zšőŻXÜe®ÖÎĘ_kÝŚF8î’(ŘŽH3˝€÷9őÝď\V‡ŁxŻY*uÚm™űĹżÖ°Çeířţµčö¶ŃYÚÇmíŽ5ÚŁúźSď@QEQEQEÝťµýłŰ]ŰĹ<ĂG*†Sřă.ľřZćq,q][ ŰŚpÍňźoŹˇ®ęŠ,5&¶04/č“ÍÓěT\r<ů wçĐžśqĆ+~Š(ŰÜ(˘ŠQEQEQEQEQEQEQEQEQEUkűčtë9.®* ˙ľ‰čą5łáeűUŻŰ'Uó[˘Ž‹ô˙¨-n îKŹ]†˘®Î«]ŘĂv„2€řáŔäŤr´T“Âöó4OŤĘpqQĐEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP^kń7Q’=SJ±-vĽÄył´Ŕgţú5éUć_ô{‰,¬µË`XY“ę;#†úÇüzTTŹ4:°UUDj>ŚÂY‘b23@2Xś*MĹÖ¶:˘˝•ňyĂĺ*rü9<ל_js^"DX—ťľ§Ö¨×<%µoSę±yú›ä„Ź[őţľg´Is}âßA¦<Ň[ZʬĎ*rxÚ= z>™ĄŮhö)gaŠ$ŕ’ORIäšóĎ…6—7¨ÚĹĘ·•~DNßĆßÄGÓgÜúqéőÝIÍÇßÜů|tpń¬ÖüľW ­řÎY.e´ŇťV$;Zŕa·ű{cŢ·“ŕýJî2CÄjĂŞ—`€ţł^O¦J­n ‚ąń•%Ú'ŻĂ¸*8ŠÎuUí˛ó6ţŰvÄł]ÎIęL„“úÖž›âMCN”o•î ţ(ĺlńě{*ĂV§Ż63”]Ó>ҶŤXňTŠhő'¶Ő´ď1űyĐ©ÁŇľsŐôëďk“i×jŰîŠLq"vaţx9ě>şc%ĺ§TŔsĐô?ź•t:燴żŮ‹mRŐfEÉFÉ ‡ŐHä#Ţ˝x5Zšlü÷NYn2TŕöŰŃęxU¶ş…FXT“kČÔ9cŔ©5ŰKđSJ2“«z‰Ř:«ř€?•ymöśţÖîôÍB?ŢĂ!Q&1ą{0ö#źĆ°– SÔĄźâ&ąI÷gÔ汳𕍂]+Ü*—›-ülw0ŔśĄhř›Áz'‹,Ą·Ô­°ň.>Ń Ű éž‡ă ŠůoOń-ć‰t‚ÎíĘăvÖ<}+Ö|+ń…[eľŁňžź7OκҋŠKcçŞNµ:˛“~óßćw:o…Ż4-ÖÄݶˇötňÄŰ6±P~PW' ŔÎyĆx©á±ą¸MŃBJú’?ťlišöźŞÄŻo:’„šÓ«9ÎZ]:î.đŁ©~UV»:ÂÖlÖ2·€ˇŽ_ZɢŠ(˘Š(˘Š(˘Š(˘Š(˘Š(˘ŠkşEI#*"‚ĚĚpI4ę+Ő|m5Ä­•ár2Ďîč?_ĄcŤkT2ů‡PąÝéć~]+’xČEŮj}†ńUi©Í¨ßŁÜőJâü{â94Ő¶Ňí$)=Đ/#©!’0qÇÔçźcëLŇĽc»¨čW -…Ë"îÜŃßýĺďőëčEq¬rľ«Cé*p´”=Ę——Ą—ćzŻ†ľé^Ô_V’IµbMĹŻnNJä`ěQÂńÇ® ÁĹu70ŮŰÉqq"Çcs3+@ńEžłˇEÝ!hF.Pźőd}{ČüşX÷—Rë— 4ĘÉeĚ07Ďgaü‡ůŃ’’ş>Z­)Ń›§QYŁńç‹|Q«j˘ +FÔFť*ËlçÍ$uČ* AńN°ÁµiźfĚ ćW€t^üźČפQLĚŠŢŢ+Khíŕ@‘FˇG`*Z( Š( Š( #Ć? ´˙L×ĐJlµ0dUĘKé¸zöČýxŻ;„ľ,‚R±›9ttźů€J÷ş)8¦i˛ŽĚó |&ł­Ď/íĺmˇĎ–pxÜH‡¶ă^šU  8vĄ˘„’ŘS©)»ÉÜůűÄ÷OkńXYw)3änôÚ1úb´­®’TkˇřˇŕkťY×]Ňc2]Äg-*ŽŚľ¬:c¸éÓÉíőYíÇ*˛˛śF>„W#ćÉóxááěęluZý›^Ř„âx˛ËţĐî?Ďő®«ŕźšÚ^¬ďťśs»iĎ?MµĂéWzŽąv¶Ze´—·aŔQęIŕ­{‡…<=†ttô*ŇäÉ;ŽŹ!ę~ťöŻ ĹZ[ąíl-iŞ”7{˙™ĂüeĐĄą°łÖíĐ·ŮIŠ|B1Ę·ĐŹřŻ.Óµ3Ž }?qo ÝĽ–÷$°ČĄ]d0=Aă(řA}m3Üřy…Íą9ű3¸YŘĂîAúÖŐ)©-O7‹• ^,˶Ő”dŠ˛u‚ç?­s‹á_Ĺqä QÝÓ>C˙ľ±ŹÖş _řľĆµitőo%‹PÁä=ÁÚ3ůuö®7»>’†»•8¨ň-Ź–©Š©R»ÄIű׹ó/Š`Ô|#nđ_Ű47G yVĎń8#Żšó6fwgv,ĚrI9$×ŰÚĆ‹¦ëúlš~«gŐ¬ťct> ŽA÷5ŕ^5ř}ĄĽ—ľioěş›c<|sŽ›ĆGo›0pMeN‚§{ŘÜÖx×SK.›zž{ŕ˙ÜxW\KŘPÍ©ŽX7íÓśAÁéSë·:uî©-Ö™o-Ľ2ťĆÁÝđsČďŰĹc}‹Ę— X27*F#µO[ĄcĚ©%'ˇgN°źTÔ­¬-T4÷¬H$ăźAękě+-ĘĂM¶±Žh­ˇHśŰUBŚź\_7|6đ櫨kĐ_Z!†2Gź;cŽĐ2IĆ}˝ëé¸#h Ž7s#*€XŚdÓ33/4d(^×*Ŕ}ÂsźĄa×g\ΫŹP“n0Řl~´JŠ( Š( Š*«¨,­ŢâćUŠ$fc@ŇmŮR35ÉÜxîŐ_¶’LżŢvŮź§úU­Ç– ¨¤šŤ”±Ć¤d}áIęÄ`gt÷ö¬>łJöąębců9ý›·Ę˙uîz“§}•<ů”}ˇĆ1×búë˙Ö­:­ci©Ú%Ő”é4/Ń”ţ‡Đűj¶±©˙gŰ…+ÝK‘ Ć}O şwŐ\˘âůd¬Ęšî¤Ŕť:ŐĘĘă2ČżňÍOo©ý:ÖB"ĆŠUv…A,Ĺ݉gvęÄ÷4ęQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE„…’’i@b8¦łő»-tKůdl„·‘Źŕ¦€<űâ‹,.fÓ¬l/#¸\.<ł•Rg?yşŐéÖâ–Í#.0@Ż«~ĂĹwÚvšöđ;,Ť…‚ǵ}p®®»‘PsN®?áÖ®şź†âů˛UA®şIQ<ŤŃT±ü(^@$‚Oâ ôţşÇ©îµEŐ$ó#ÉBUŻ©˙>•QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEŮ#I˘xĄExÜeaŔőwę(ÍőŻşFˇpóé×’éěěYŁŘ$Śşą~x¦i?t›IŇ]Fţ{í‡>Z ‰ŘňN>„WĄŃJČľymr;{xm-ă··‰"†5 @č©(˘™Ť4©5Żjv0†3<[ăUęĚ„8_ĨŤx“ŞěXŕŠú^gdŚěČÄ*V< Ó>đÝΖ–wÚ-ŤĂl*ň´ $%ąbŔ’IČ ÖUi*ŠĚíÁcg„ź4OžáÔ#u5#ŢÄ«ťŐÓ|@řG&búŻ†®'ž`ÂQľ@Kőd °)Ŕ''Ąsľřoâ Zá[X §Y˝ó+ű(çSůâx'sęŁÄĐä»Zť‡Ăxdťoµ& "b!žŤŽXűöú×{Uěl­ôë(líbXŕ…B˘¨č?Ç˝X®úpPŠŠ>G‰–*´«OvĎx§ÁşW‹-ŐoQ’â1®b8tďŹB=Ź©Ć+ˇ˘¬çNŰ9/Áź´ą#ćx`>™ÁüÇá]źÂ 5ŕžňęk¦Á…ŘG˘ň0{ç'ĐŠô:)Y!ą·ąá—żŰ^ń éÖ÷Źq•WŹĺ*@Ŕü+č?ŢÝ\čq6Ł2¶äĆ­°Ďs^wńÂłëvpęr“¨Ú}ŐDî¸ę?ât_ßhďö{Ĺ‘3†A÷©’};XúíÔkvÁ‘Ű8Ď@y:|\ib‡Í–VáQ–'Đ ét4ÔgWÔue1ÜĚ0““{ű“×č=čbŠ( Š( Š( Š( Š( Š( ¸_‰úËéú=­„Rl{éH|Lj2Ăó+řdw®ęĽ»ăE¬żaŃőĎ—o4‘6wŹýÔÍ^-aäŁV2}…hŕ¸ô«jŐĚézš”šłŞkńiđbž7đ¤şq‘RţÁ÷ZLäáCuVö;ONqĎ•§Š5E;L¬ąÉŚ Ć=:gőŻhřg#]Ř^ߨÄ3Ńsę “˙ˇ ëˇFtę+ěĎźÍ3,6/>K©E«_×ü®xv­ˇęzÓ[jVr۸8—ĺoun„}*¤P<śô_S_[W‹|Lđżö^©ý«iwm™1Ń%ďřż\űW)ňNł±ß|Ó¬®~LöÖ)ěWo“ç->°Éěldgą®®§řk¤břKµm¦gC4ĄGń9-î ˙«šĹ§“?žäóěßçúŐ6ެ̢Š(QEQEQEQEQEC[Ľ};@Ôoc’ÚÖY”{Ş’?•x6‡t!ą‰fä’rI=IŻÔ,ÓQÓn¬d8Žć…ŹłóŻ™GÚt=R}>ívMo!ŤÇlŽ=˝ëźOž6=ś—5~fw¨ÔýŐ…iŞŁ(ËUď·ĹŚîŻ%ÂKCôb)T\Éťo„~µövÉŠDÜÉž / ‘ßעכü<ŤŻµk›áź"Ý<°{ođőéęá"Ő=Oâ ´ęc[§Ń$ýBŠ(®“Ä (˘€ (˘€ (˘€ (˘€ (˘€ ˇy˘i:Ś‚KÝ.ĘćAüSŰŁźĚŹaůUú( [;[vĐŰÂ9Â~§˘Š(˘Š(˘ŠĺüKŕm3Ä;î~˨cĺąc'¶áü_^ľőČZëľ&ř{|ęhňY–Äww#ŻŻ z˝Eqo Ý»ŰÜD’Ă Účă!‡¸  žńޙ≑d#ÖşŔA"Ľ Zřyy¦Nú—…®XĆÍ›˙A'ůϵhřSâ¤öW?ŮşÜo ŃťŚ˛ ”čž"ř{áŻJ÷Útbí‡7ŽN0 m#wăž•ćÚçÁ[Kq#Y^\ÄHýŢđ$B};řײiÚ­¦©Ëm*°#8Ď5q”2•` ž#­|łáO\xzřŮÝŚĆĺ ·H8 ׺hž8´ş®sQë_ Ľ3ŻkI©]E:8’8dÚ˛únă?‘­Áđ×ÂvŞV 6Hřŕ‹ąŽ?7  üS¦Á ‘Ą ő¬v÷çíNĄLź0R1ŰôŞ|1¶‹S7©}uul¤2XĚAPrz·ńÓ’zUâ$‚(˘Š(˘Š(Żń_ηây­csö+ HąáśpĚG× {zöů{Oş–+ÉVŕź;yß»®ěóúÖ„ÜG«“ĘĹFsčwHj`k:ÖĺdAĎ5p=xŰh~”ššćGGáoOá˝MdË=ś‡ÂQýáî:űôŻA2Ëu3]ÜŢĘĘB/eź^çđŻgâ˝kIv“F±w$ł[ĆI>»Ez8·xźĹhEÂşVnéůö.QEŢ|QEQEQEQEQEQEQEQEQEQEQEQEV^«â ?G*·2–•ąXŁb=}ż_jé ř~÷Tu öxňŞz3…Ř’+ĆlofÔ'–îęC%Äě]Ü÷'ůjçÄVtăuąëäů|qµůj;E|xĄŽÍ4•ěZlýµôďiÚË›y‰ŔIxÝô=+ÍŐ=Uü´Ť˙‡‘ř×1uo«ąőžŔű7ÉŢíţw=Çi#'ĺő ×p[Ś’ ő5ç:Ž^m(ŰÝI™­Ŕ]ěÜşö'ß·ĺYżŤ†YcrÇĐW§s+ŁákŃtj:rčzˇâHâçńŻ=ńg‹ŚöZC!Ý0Řpz/ӏƨéú7‰üVęđ@đZż?h›*„zŽířf»Ťá~“§…›SfÔnzüůXÔű/Äŕú Ł#ÉôęÚôÂ=>ÎIGńHFÔ_«?µÓß|)×-lcžŢH.ć˙–FŰJý `7éíšö˘Ž–(‘cŤFP`ě*Bú 3O¸ľş}°[Ćdsěx÷ á.żŽ×6Zś˘Ř[ąI§nÓč}óÚ˝1ľ"xc{'Ű™€ă" ţ•óôWËŞę×z‘…"k™ › ˙ë˙ZÓJóęă%Z(ű ż‡)U˘ŞW“»č­§ŕĎW˛Ôô›¶0鳡Ť8HđT…úUęňbŚ®ŚU”äpA®űÂÚŰjVímpŮą„gqţ5őúŽ˙…iCÎůeąĹšä?U­EŢ+t÷GCEWaóEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEÉĄX!iî¨ĎO°÷  šE·Ű5pě Ĺh7çÖBÉüEuUź˘Ů-5ŔHL’ĽyÇáÓđ«7·Iee5Ôźr$,}č[ąűN¦¶ęNËaąč]‡OŔčB©S#m/)Ě®ĹÜű“źÓ§áO Š( Š( Š( łő JŐHký>ÚáÇŢ0XLő­ (?OĐ´­(–°Óí­Üđ]#ôĎZТŠ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š*†µŁÚëÚ=Λx¤Ă:ă#Şžˇ‡¸85~Šů›Ä>ŐĽ¨47Qł[–"…$ŁŰĐúŹ˙]`K+Í!‘ÎX×Ö“AĚ- ń$±7 Žˇ”ýAŻ>ń÷€ôÉt9/ô­:ŢÚęÔyŚ°DHźÄ08ČëźcëQČŻsĄbeËĘö<_GŇ.őÍZ×M˛@ÓÜČ#Lś źSé_WZř^ßÂú……Ě0D#wĆ7?v?S“_0é·˛éz•­ő±Ű-´«*}TäWŘVóC«éK"6čć@AÇŻ Ő%cÍČ檎±Ą[ëZMĆźr?w2ŕ0ęŤŮ‡¸85Ł,m ­Ś2śe2 /†~!¸¶¸¸đƬؼ´m'ďÄ{^™<+qÄ˙u†>•ăţ5Óć´{éęßj°âuQĚçźűç“ôĎĄz_†5Ř|A˘Áy†%FězĐLĐĽ4N>e85oë6~l_hAóĆ>ou˙ëVQEQEQEQETo1ÚŃ@&Óş>uşřyă 6m‹¦Ľëü/«©ýr?+sCřaâKůÔęΚu¨#xŢVě€Hśž= {u‘7XŞ©Y;´ť*ÓDÓ!Ó쬌 Ç%ŹRIîIć®ŃEYÎÝőaEPEPEPEPEPEPEPEPEPEPEPXž đ¦•âHvŢÁ‰ŔÂ\Gňşţ=DZÍmŃ@HŃřŁáŐŔ›{^iˇ°&Ź?(˙hň÷ŻKđďĹ VË÷śÜ€‚O˝_ 0 €Aŕ^3âmü/ăĺ6–émo4K(DűĽ’ °Č Účž–ţŕ4ËŤ±)ĺŘđ{}}+ľđî¨Úׇ4íJET’ęÚ9]S˘ł($nhNąýjÝbąYT% zŽ§ő®‚±5ŮŃš(AË.Y˝¨Š( Š( ľ|ř“á™ü=âioˇ‹®e‰Đ|Şç–Cčs’ˇăˇÇĐuWQÓlő{ loíŇ{iFżâ9ÜsI«— ¸;ź4Řęĺ0ŕÖä:Ęíĺ…u:·ÁDyÚM#Tňâ=!ąMŰŕC·ářšŻ¦ü˝2!ÔµŁŹřÖŮKĎ@[ăľ? ĺž2g˝†Ď*QŤŻr†Ś“řŹW‡NµÎćiâ4îOô÷"˝ÁcEDUč+3@đć™á«#k¦Á°9Ě’1ÜňR§JŐ­hŃŤ%dyŮŽcW5)ě¶ (˘¶<đ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(‡řµż€®T“DĚ}ě2+ÇôkđˇA<Šú3UÓ`Ö4«­>és ÄeŰ=÷źÂľhÖôMGÂş»Ů^¦×^QÇÝ•{2źOĺX֧άzYv-áęs#µ‚ádPAćťu ÝÚĽ,HÜ8aŘú×g¬ěŔcZ«®® ’xW™*‹ĐűŠY®µ?}‡†ËĐ?zŹŔž—K˛›Pľ‡ËżĽŰ•#ćŽ1÷TúI?€í]uzÔďĘŻąůö1Á×—łwŤôô (˘¬ć âľ+O$>ĽXÇI9ç…Ţó~5ÚÖO‰ôu×ü5¦xŽĂśaÁÜąöÜ qviž˘Ţ€Ş3]L2‡PAŻ:"ăK˝’ŢxÚ)˘r’FÜ#¨­ű \`|Őćb(;Ýs”ć±PTęhzÖđÍɇÄV„tv(Fzäţą4Ő#+ÉÖř 5iŻÔbÚĐ»űÎĂü‰?—­aFśÝDzY–.„p•{¦ľôzmQ^ŃůQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE9¤‘QYŽő Ń[pčIł3ĘŰ˝€?:tşE“+‡˙oĘ€0¨©'‚KiLr®Ö¨¨č˘Š‚{ëKc‰î úI _çI´·*1”ť˘®Éč¦G,r®čÝ]}TäS鉦ťQE(˘Š(˘Š(˘Š*Ko·j°ÂŐĹűéG®>čüOň¨‰ $9$Öç‡mLZÚdMł]1ü#ň  ŠçüAsćO ’ň«űŮ?ş?> Ţ’EŠ6‘ÎA$ú ă­s,·nyŰveţůZuQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@S]Ň8ÚIUĚÇÜšuÉßxâÚ7)a ¸Á˙XÇjţĎéUâń̻Ǜb…;íçůW;ĹRN×=zy>pçPűÚLí)  x Ő-7V´Ő`ó-ź,ßá—ëW«xÉI]]ZSĄ7 ŠÍăŻÂ;â%ĹťÎeA<ŻŕLWş|=×}2Ţܸ "Żä+Ćţ#đô°ĆŞo!ýí»ď«řŽ>¸ôŻ<ř}ⱼ˛±R§€i}­ÚĺVĺGO•˙ˇ¬Jétë¨ő=IøaëXVíkpń6x<QŘĐ<kŚđőŰř ĆgJ‘›ű*ű2Złt^~dü?‘ÚV‹´hµŤ`\Eqn đLÔgŻˇčhÓ•–D ¤2°Č>˘ąëí2Xnɉž#ĘíăÚ“ŔłŢĎá[Fż+çí sŹl×I@iX«8 ö¤®źP±Kȉ ”|­ý+čh˘Š(˘Š(®Ĺ^,‘uŇ4éJ€űDČ~`Ýv۶Húq]Ý|óýˇ(ń&¨.¸śŢKćŘď9ωrTß)ëd°Ą,\}˛ş_™ŃŻĚIc’y$÷­ťYľ°»Š( Í°_ł“ŮăŹCXĘAŠŐĐ'HĽGĄÉ#E»‰žŔ8Ż*śš’±ú.”*Q’šM[cŘ•}Źő˙ŻřŇ˙dŢ˙Ďü}ƵF˝Ąźů}‹óĄţÜŇ˙çö/νÓň'ű&÷ţxăëţ4dŢ˙Ďü}Ƶ˙¶ôĎůý‹óĄţŮÓçň/΀9«´–ÎîŇÖTŰ-ÓśŔĆăǦGç]m˝´VŃ„Ť@ă“ÜýkĚüWâxÇÄ}2ÎŽXÖĐ:ůběě ţJ¸úצŰšÝuU”Ś˛ŻAí@öĐܦŮP0ě{Źˇ®júѬî dĺO*}EuU‹Ż2fĎĎó{q@ÔQEQEQEQEQEQEQEQEQEQEQEĂüIđĽşć•íšo»˛ JŻR©ČZî( ¦˝ą’Ůmdvňălí>˝?Ćľ–řW©-ß„,í÷dĂ /ä®oÄ´]~vąd{[·9i` o?í)ŕýF˝e|0Ô˙áŐot«ů–1i+Fď!Ú03ĎA@%}î.»ăe TFGjál㼠ňj­Ű·Î™f8 púőzóâO‡-xŠiîlGŽĽĺ°ă·­dËâýQ»ó"ťˇó%gM>™ä~˝ë/mNöćGsËqŠ<î”­čÍ(##Ą©ÂQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEź«čzf˝j-µK8îb* ©őr?ZP›Ü|Đdť^ ëřcÎ]7+qčŢ;őÍoxáď‡ü9:Ü[[Ľ÷JrłÜ°v_ }ŔÍuTR˛)ÎO¨QEÉ (˘€ (˘€9ü>Ó|X~ÓĽÚj 0.rÇŻZóź„~*¶—-­Âä ńĎŽ=Nŕ:ś×ľŃI¤ËŤIGcĆôO„Z¬ÓÖµ¶·c¶;äoÄŚ/ןĄzÖť§Zi6YYB"‚!…QüÉîO­Z˘…¶ęÎ (˘™QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQá{ŘďµËÂĹ»Syxţ|~Wťhž#˙„{Ć:Í­Ü‚ ·rM“ŔŘĸ<ű÷ŠóŹ|^Ňü3w&ťcöŽˇŰ&× MÝYą%‡p± ń^o㯋zžľňXi˝–™Ť¬ČJÉ?©'¨Sč;uëć´ë·ćĽ %đôCoB·D˙ß=)mţ0iěSí:]ÔyűŢ[«ăéśgôŻ!¤c…'ĐP¤k˙/üG"éŢŘŰcý&î@E9<)Rp1éÉ>€sVÎŇ;HQî<’ĚÇ,Ěz’{“Xž’(ěÖ4ŔĎ'ÜúÖúµyšŇś¬öGčą.]KATŽ˛–ďô-[]\YL&µ™˘wS×ę;עčĘë%Ř*ÜFBĘŁô#Ř×™­ďÜüA䎒ÄŔŹ¦Ď­<-W¨ôdç¸u°˛Ş×˝oú‹EW¬~xQEQEř˘ićXŁvč)”ľ ľŹR¸şşS•$¬\ôPqúő  źřG`– “Í!ɶ`3ČäOĄl ĐR׫|ađ†—r-Öňkć±ÚÎ=ęžű‰‡ű¤ĐCâ;‘äE`¬C\ľ?¸:ţ|Ʋ*Ëx‡Ăţ ĐΫa¨ŰJ‘Ą‰ÚęIĆÖS‚ Á Î8Í`ż‰4ç0=ŕYÁýqŠ™N1ÝŘÚ–µUzpoŃ6jŃQ[ÝAw™o4r§Ş05-RwŘĘQqv’ł (˘Q@Q@Q@Q@Q@Q@Q@Q@WüDř‰yw¨Ühú=ËAe 1Ë4M†™‡QžˇAČăŻ=A¤ÝŠŚ\ť‘ěSęúe´ÂŤFŇ)IÚIŐXźLÖ¸Żľ 1ý‹H¶”mąO>fV4yÂŹˇ9?đ­x-hiOq%äiÉ)UŔQÎŃśţ$ţu•VÜč`iĆ87®§ˇÄFŃSY6—d’«#Ě0júČŕ׊ՏŇá%Q]:n˘ú^ŁŇd…8uÄ˝Ĺz˛°e ¤# Ž†ĽVYÂŻ,x 9$׳ZŁEi o÷Ö5VǨčŕ[ł]ŹâŞpR§%ńkM-ú’׌üBĐŰĂŢ#ŹXł]¶·m¸ü2üzţ~•ěŐĺ˙&»Ô5-3BłF‘ŮLć1Ü’UI'Ś7>őŢ|‘Ű|;ń*Ý[F¬ůc­z[˘JuWSÎdWŹřᶹ¦˛\^ę‘Űś0HYťÇ±Č~f˝~(ÄQŞfc-Ö€3/ô„e2[.×”ÓҸ;Ĺá Qă,@~ď§Ó5éŐ⿦»‹ĹwV¦ĺţĚBşF­ó/9ůĎáYVŞ©G™ŁĐËpÇVöJVŇć÷Ă_¦­$z\,äĹź)TČ ôĎŹ­ze|ákuqe/ťiq-Ľ¸ĆřśŁcÓ"»x>(KuŞ@ş,w( d‘Ś=z{zăKľV¬zţ­…¦ęÂ\ÉoĄźęz»0E,Ä9$×!,‹4Ď*}×bĂčk–°ńe÷‹µ±%„xNsŤżÝSÝŹéÔűô +¬ůńh˘Š(˘Š+Ĺ~'ř>ďOŐĄńť=¤çuĘŻ&'îÄtőĎcžśWµQI«« ¸K™1Úkć0’+sG“Qń-ňŘiqłHß~^BD?ĽÇ·őí^Çsŕż ]Ěf›D˛2Ąb žů8ĆO˝kYŘÚiđ,­`¶„DpĆr{ŕq\˙V…îzßŰ•O٦r+đÓO 3«ë÷"uű%6_†–…[Ő‘łÉyU†>EvôWIăü+?úuŇąťgG‡Lżű¶ąs,ëľ`÷}ĎňŻXŐ/?ł´‹Űă‚- yąűŞOôŻ™GµbÉ [sł ĹĎSśúÖ5ąům ĎG-XeWźŻŃug¤iiŚz…°FşB’d7c-’Óęţř‡©2Ůę©­ËÝČĽFçÓ’vź©Áü…xn¬jÚł:ŞÍĂ…éĎCü˙*Ő/ŽAćĽĺ^­)Yłí*eu*qJű4¬zM˙ĹK(5[¨­Ą€â‘âÄ8¤“úUű ‹ËŘľŰ~&"n¨˝÷çšĹđ¶Ł[X[ę6şl\Ę›šNX†ď‚s·§AYţ%ń“[Ţɦilľt|O>3°˙u{gÔöéק§*±Ś9ŢÇĂPŔÖ­úĽ˝{yhv´WŹI,·2g‘ĺsŐť˛jĹĄő݇µ¸’"p§ő r,rżÂ} ¸Vj:U×ÓOľ˙ˇë4V‡ü@şĽmÁRéJŽŚ=EnWl&¦ą˘|Î' S QŇŞ¬ĐQEFEPEPEPEPEPEPEPEPEP;¬hÎěeś=kÄŻumsÄ—şĄ´F8¦a´ĺ‚€ęqźóšôŻŢľźŕM^xÉ aduŘ'ţÍ^+˘]Ś×&-ľK#ßáčÓúĎ<úlu)R•^7 LĽ¤~€ŃŇřc]’Îî;+‰ µíL˙Ë6=?]őxŰ7ëztÍs¦ZN˙zHQĎÔ¨5é`Ş6ś_Câx› sŤx+shý{˙™fŠ(®ăĺ‚Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ¸O> —^TÔ´Đżn‰6ňHĄHü C_O]ŘÚßÄb»·Šd*W đzý+çOčŇčíÖť&H‰˙vçřĐň§ňýs@x^ÇKÔµč,uig† ţD’‡?w9ÓęEz ÇÁŰGR Ö&Cźůi~=8"Ľ¤H#E} ŕÍxx‡Ăv÷NŔÜÇű©Çűcżâ0đ{.Ľ/­ÜéWś<´7f^ˇ‡±5łm«Ł¨Éëž,đ^™âŰU[ bşŚb+ÇĚŁĐúŹoËć7ĽGo6-/¬f°PĹ٤m8BMrUĂ)»žţ;©†Ź+ŘőXUsźÖ»?†¶’ÝÍu­H¸o‘?Äs–?†üý+;Dř>ë*ËŻęBdmír}\ŕăŘőŻR··†ŇŢ;{x’(cP¨0€ (áT3ežÔĹSöQŃ=É(˘Šë>|(˘Š(˘Š+Î>řŚéntű†Ű-»ŮO¨8ŻGŻ,ńď…o¬µ9â¦FÔ^čƆ.&HaF’W`ŞŠ2Xž€WŇ~řAźŕaopQ5éČťć#!GÇđŕóďĎlV?Á/F°Ż‰o Č9»Ç-ę˙OOĎҽ¡EN-Iho*ŇĂŐŚ©KUŻĎ·ź™óvłŁÜXĚözŤ»Á2Ś€ÝG¸=úq\+k† &l”b¤ŽřŻřÁâűmC:Di××c…u #_ď`÷ôŻśhBŚőÎ+a[»ş=lGÔ«¸Ç–K~ĚőxORÖg^Ô-¤M2?ŢAžL®ŽĘ1žqž:ŠőzůŠÇQľŇî Ćź{qi1R¦KyZ6ǦA ď4ŻŚZíłŞęöÖš¬[·3:y2ă:`cż*ĂŞPVG‡ÄÔÄOžŁ»=†ĽĂâQ—Kń—¬ >[D`cžÖ-˙łĘ´Ąřżáöµ‰âÓu$ą8óbm…×kg'ŕgÚł|WăĎ kž–Őb¸šyŮ.Ɖ±ĹątŔÎyíÍQÜx?ĆÍlŠŇő®ţ JÖt ˛Ż=‰ŻŹ´ýVëN4?»Úş~ ę?ex"y'qŕb€>˘WWPČÁ”ô ×+âß[xŹý*ú‚®‡%d aŰę9úń^káO‰ZŽ‰ršnżo5»>YС#ךöm3WłŐ­Ö[iU˛3·<Š™Â3V‘ľW QT¤ěŃ຦•}˘Ţ]Bݡ” Śňz‚8"©Ĺĺ˝Ě+,i$fEÜŽ2¬28#Ňľ‰Ôô«-bÉ­/ŕYˇcśŞ}Aě}ëĚ.>^éţ&µą·”\鿚ۏďŻ*¤wçŹC;ůŇÁĘ3\»aC¨Uˇ%]ZV~ŹÓ·ˇŇĂ Vń,PĆ‘ĆĽ*"€Đ }W¦|@QEQEQEQEQEÍş]ÚMm.|ą‘Łlz_,k:M·«Üé×hVX®HĆáه±5őesŢ)đn•âËu[Ôd¸Śb+Ž;ăĐŹcęqŠM\Ňśů^§„x^ĺmVᜌHTĂ?ă]Ô<ůŁ·¶C$ň°HĐuf'VÁř'p— EŻ¨€őclwĂvnr+·đż4Ż <[îŻÁą›¨őÚ:/ó÷®IáTçĚĎ ĂçňĂaŐkořsFB|;ádHÖM!$3"2+Ätk¦”$rňHK3É'’M{¶·fúŽ¨ŮFq%ͬ°©÷e :ů«MĽ{YL2Ś§0ÁŇ«OšG>K‹T±.sÝťň5H˛moŇE5tL¤pÂĽ¦šÜý…ExłOL˝k RÚĺX®7dŕm<ţëă€^ęV¶J7´ňŞ= äţ&˝ž˝ ů_că8ĄÓö´ů~+;ţź¨QEÜ|¨QEQEQEQEQEQEQEQEQE—âM,ë^ÔtĺűóŔĘť>˙Uëî|Ďkq%ŤĂC*˛21VV*GPGjú˛ĽÇÇ˙ ¤ÖnäŐôM‹xüÍlÄ(•żĽ§ o\đzőÎbqćGF»Ą+Ł‰˛ÔԨɭDĽŤ‡Zá.­µ-ŕÁ{k=´€‘¶T+śzgŻQůŐÍ9őMN_#O˛¸ş“Ś¬([őÇAîk‚xK˝®Ăgę1µCŻ™ćŽŢÜošVŠ;’p+ڬ텝•˝Ş±e†5ŚßҸŹřmaŞk’_ăB‡+zś÷lqč9ë]ítáč{$ď»<<ă5xéEGáQEŇxˇEP\6»ăfűl¶KܱInĎĚ8!Aôőü˝k˘ńNˇ&•ámNúDĐŰąŚŽÍŚř xv…t C-’z“\Ř©Ę0÷Oo!ĂQ­‰ýňş]Äjú›NŁw’sÄĚ?­mé>-ş¶‘cľc<‚ä|ëďďüë•F©7q^d*Î.éźq_/ĂV„ŕ­éůŔŽ’Ʋ#F•Č ÷§U틧h–ö˛ÜČ× ącT1äÇASɡL§÷rŁ AţµíŶ“gćŁÔ”`î“Ń÷2¨«Ri×qcu»ś˙wćţUT‚ `ŠfaEPEĹüIń ş.‰µ¬†;›é aŐ°Ę€e÷äřcŠMŮ\şps’Šę_Ôüicepööń›ąPáʶÔSÜgąú Ď‹ÇSneŠď¶Bň® Á—ěęjŰŇôŰ­Zímlă!ä’@ =I=+Ę–&¬Ąhź}K#ËčĐ檯¦­¶ż]FŇő«=Y ĘČżz7á‡řţŁ\‹xÄzc%ĺ›[\IÜ<‰rGýô~•×"\ x丷’e‘ÔŚăŢ»čÔś•¦¬Ď’Ěđz2SÂÍJ/ĎUýt (©a¶šŕâ(ٱԎń­Ď,ŠŠ¶úeäk¸ŔIJA?Ş”QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEWž|Vđ˙Ű4¨µ3Z|’ă©žż?“ô:Žx"ą·–Ţd¨QĐôe#~Tá_t[}cŶĆö4’Ę؉eGYđ©ÁQ%¬ďÎH†úŽ†¸;]cˇő“áVˇîŐ÷˝4üĎX˘˛ô=f=f̸&ŹTô>ŁŘÖĄwFJK™-ZŚčTtę+4QEQQEQEQEQEQEU[Ď Xx¤%ŽˇgÄ î%‡1ŽäČ=¸«\ä(™UQÔ“ÚşkHôë2ddFůdč??A@בbŢŢKh­­âXˇ‰B$h0G ­«jK¦Y™ď™ÎČcĎ.ŢźNçÚ±îľ xnÖVŹíţs)Áňcfcđ5‰,µíUć ®ąKx_*BúóÁ'ă8ŤfŞÁ»&Ž©`1Q‡<©É/FC¨xcJÖ}ZÎ+»‡;žc•rsśn\€zW©ü"°”Ó/ć·~»&Eú0Gë^‘Ehr ©ü7ń&ś]’Ńo"^wŰ6âŕ' úW/qo=¬Í Ä2C*đÉ"•aőľˇŞ÷–z„^Uí¬7˙vT ?_  hŻqÔţřzř—·I¬źţľTźpŮý1^-e6ť¨\YNĄe‚FŤ‡¸8  őę˙-gjW‹6ńXťň8g‘JŹÄ#~UĺA-ĚńÁm$˛0TE,Oa_Nř DÓüáeµ–ę)/&o:ęDč[(=p\ž3Š—ĆŢÓ5í±_ۇܹ/„w·ňŻ*’ü:»űD/%îbUëôaŰëӧҽ^MQuyä¸~ĺO—ţö:źĎ#đ¦@ đA đ§Ä=7^¶_2eIä“ŹÎĽÓâ×Äík‡đţŤpłâ8ş™báżşęő>ŔcĹ Văλđű‹id=¦vĆţ»»ôéôŻ$şµ¸±ş’Úę†xÎ×G Đqá_‰—ş^ËM_}ĺŕKśËâ~đúóďĆ+×ě5 MRŃ.¬nxŁˇČú{jůŠ˝Ň_xĂúľŕřbťDK,×rCş†÷i žËÂă‚«śai\-\UUJ’Őť•ĺO­jł9wÔnA?ݨü‡ˇaâ­JÎEĘnaĘÉÉÇłuĎ×5ʱ°oT{µ8cŢ2MöÔôZ*®ź§f—6ä”n=T÷­Wbi«Łçg S“„Őš (˘™EPEPEPEP^Gńá˝Ä÷“kš-+ĘĹîmSďnę]|÷sÓ9ă×(¤ŐĘŚś]Ńň”WóÚąŽ@Á”ŕ‚0Aô5uuÇĆb}+»ř˝§,~ ł˝ňĆŰ‹}¤‘ś˛FZăô -5-ZvĂ»2•ăĺôük'F/sЧ™×¦­z§Ă Koi5řřąŹ6ŃĎ8Ďńv>üz CdiÖë…DPŠŁ  ©«XĹEY5jάąćîŠ(¦fQEQEQEQEQEQEQEQEQEQEQEQEQEQEPÖ´ĺŐô;í9iăôŽŕpkćx%¸ŇodµşŤ˘–'(čÜ#¨Ż©ëŠń—Ă‹Ę×±Jlő"2…ܲ``˝}=qQ8)+3Ł • óDóK=Y'5©iŞÚŰÝÁ<Ç1G"»Ź`rk9ľxşÚqIk*’G“ŤŁŽĽŕţ•Öxká\ĐÜEuâ¸ćC HrTžŰŘă?AÇąĹő?zčúeÄmRq’ÖǤiżt+ŕJŞÇŃ«¦´ń.“xŠí9ő5ç7ßü3{ó}ěďýëw)ëۧJÄ›áŚöÇv“ŻÜÂAá']Ăó÷í^ň'şG4RŚÇ"·Đć–Hă•vČŠă9Ă ×güCŃ[0<7ńŻ9ŠP>Ťůf¬EńKÄz) «éwp¨8Ý$d)úÖ€=Ş]&Î]ß»ŘOt8Çáұ5»h´¸#‘$fi¤FŚ3óś“é€k“Ó~4iw[€ź^+#Äž=łÖ|g¦GhŔÁm;˛>ű‘‘ů*ţtě}¬vÖ©€ •źšň?Ú Ú°čwËč!yâwă‡uBŁyß•z®‹¨G}cV€Şţ+đŐ§‹|=q¤ÝáwŤŃK·q†A÷\çČČ$gšťťŃňŢ“©)EÖ˛ř¶}đĄ·*T#®kšń‡uŹëRŘj04l§(ă%$^ĚŤÜúŽ"±šîF¸y[’ÝErB‚…^cč19¤±/aÖëđ=ŁIř®ń•HĘ}ëąÓ>&ÚÜ…:6kç˝AŐüH%:e„“,CćrB¦xăs3Îqé[:W€ü_{ö{M"ň6SóI(ňă_řŔ?†Muź>ÓZ3Ü5?i·sŰXiń˘Ý͆w^<¸ó×2pGç]ĹŚI ”IÂ…ç^řLtŚŢjşÄ·14Çl°ËăżJďě¤hŘçać(Ę‘üCÖ«;SÓÖâ6š5ÄĘ3ŔűŔvúÖŤĆQRÜ…SĆĐíŚzf˘ Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( )ř«$SęÖ0ŰGşöÚ##˛žv“ňŻ×‚zŢđG‹ŁÓě•ď‹ĆTr…NăôÄxňâK?·†wýÜ‘Dńg˛ěţˇŞ;-JÚě Čě:€y®*ŘŠ”ŰIO–eL]8ĘsiöÓSK5·ámUě5híى·ą`…{<ůŕ~>ŐĎů”°9}FŇćIgDQîX óéÉ©§ë±´iÔĂÎ5vł=–Š(Żtü¨(˘Š(˘Š(˘Š(˘Š)Úiń\’rVŇŘ('ł9Éý˙‘M«ľ ŚI ý÷_´\°VőUůF=°tŐĎë˛nľŽ<˙«Ź8÷'˙¬+ ®RţO7P¸~ŰöŹĂŹé@ë;XĐtÝzÔÁ¨Ú¤Łř_Ł§ş°äVŤćÓéľ$đkí2íďôČyŽ$‰GR}@ő¦kź¦ńmŤµ˘ ŽĂąď#öüĎŮjzׇŢÚçOĽÖtŘŚ±´n’ÜĆr ŻťRňmyí_cÉ ”r±¨#¨ďžő†"2”9bzŮ=ZT1*­U±ß«S÷WĎ©ŢÜH^K™sŘ  ­˙k’ľűkąM«ąŹ?CëÖĽůáeó]†Ď(W­ěěŐölôŻÝů>"ŽÄ Ń“¤ ßĐףיü<‰ő jâýr-íĆţ'n߀Ďć+Ó+» zź-Ä©ŐĆ·O˘KćQEtž QEQEQEQE“ҵl´săŽ}릯1đ¤ĺ•čőE”Mâ˝[ä—oc´(Ďţ=úšČđ—Á{}2Ö;˝SQąˇ‹VP‘>ď*KąÖżăĐőígWŇĽIöKÚAw|Î%@á¨ĎCص‡eđłĂRÜ™áĐaËuiĘß$ă·aU~ęZUťŮÓnmUgş˛\»’±ÂvÉŕdäúĺuS©‹š'ŚÁÖÁÔöU?ŕ3#Nđő–źq$QăHŁ@ŁĐ(­`ˇT*€č€2NîkťÖ&ř*_ŘǨié»QµRľXĆfŹ9Űő$}Oµxu»Í¦ę ČŻ‘±Ś#Ôkë ĚÔü;Łk,Ż¨é¶×.˝ă‡¶zăÚ¦QRFôkĘ”“]źżá#~őz_Ăď _Ą×uhš )Öň.'ŤěN2÷Ϧ{?š—?źe¤ZE7H#—„ôü+b˛†wGn+7Äb!ěäô (˘·<°˘Š(˘Š(˘Š(˘Š(ąţÍe=Ć3ĺFĎů ö®“Ăv†ËĂÖP–‚Ä÷'˝rZŞůĐAh&ćâ8Ć~»Źč¦˝G č @ ,‹ /+}ÔRÇč+Ž\íŽ[ąő5Ňëyzl€\„ů<ţ™®n€ đŻż/5-JăIÓ.^:ŘíU¦aŮ?ÝíŽřÍ{6·4ÖúŁ5¸&xíexŔ8%‚’9ú×Ęu2fÔ˘žˇET›ťŻ‚Çňâ±Ő-Ů4íN9b{rq€ĎqÇ€3jśLlŻůŔéô«•é^đY×41­eĺXi˛í•ŘŚ‡Ş€sĐúš™FęĆ´jşrRG!g­)Q–«§Y.r+ ľř&Âfm;ZÄdü©<_2ŹvSÉüjčźôű9RmZú[ö\%WËŹ>‡’X~_Jăx8¶}>#«[rO†ú|÷RÍ®NĄaÚa¶}ţ~fÜ`Ŕ˝+Ńi±ĆÄ‘DŠ‘  ŞŁ@čě)Ő×N ĺGĎâ±U1U]Z›°˘Š*ÎpŞúZ‰Ľy –'Čł/·71üv~•b›áuóĽ[«LX7“PŽ>ď±˙ŹřĐk\Ąűďżś“źśŹËŠę돕üÉ]óťĚNh”QEQE!”«AŕŢĽÇ~Ľđĺ캎—ËĄ9/ň ›~~ëłč?Sď”RjĺÂnčůfßXxŔ šÔ°ĽżŐî–ĎMµšćá†BFąŔő>Ü×˝Ýx[@˝›ÎąŃl$—prćÝw1§ŹcĹ_ł°łÓáňl­ ¶‹®Čcż¬^ Ýž”s|D#Ëař7ĂđŽi­ö‡Yoî0ÓČ˝:"űyîOĐ’Š+d’VG›9ʤś¤îŘQEČ (˘€ (˘€ (˘€ (˘€ (˘€ćÍ[5đ6ši÷1??řýp4PŁGńS.™fĎÜ«2ŹË'ů×Ká/‰şn±vöšăÇĄ9Á†~Z&őV?Â{äđy韢€>ĽG†ęŢ9íďŇhdPÉ$jYOB8"śÚ ;.nŔ®óŻ•´Oë^źÍŇ5+‹RNćDlŁcćC•n˝ÁŻqđ_Ć{ nd°×b‹M»a„ś1ň$lôç”?RG‘Ŕ 75+Ű˙ßÁvăeťÄG±v±\ű“ŽµQj‡µ‹K?ëÉ<Áq©\ Oü´oJ–ŇţÖěfŢt“§‘őâ׌ůÜ™únWV‡ŐˇJ›WKkę^© ¤‚A«ľđ®¶ú”mrŰ®a zşúýG¨Ż>ÝZľ¸0ř’Ó!ÉB|˙ëü)áę8TVęFq†# 7%¬SiúkřžťEW˛~jQEQEQEQEQEQEQEQEQEQEQEQEQEâ˙µ)$ńÄŚÄCml»9ë^'%Ühż{'°ëÚžšn‘o‰#”Ć­6ŐłăśńĎ5Ů˝ßc縥Óöt×Ú»űşţ„w?đkÍťF÷ě‡ţ]­N\ű3ô€?Z·c§Yé±í XrÄrĚ}YŹ$ű“V¨ŻDřŔ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘ą«Źčvň: Ą”¦ŐÄy>8ŞŹńI–K{¶|ŕ!EŽwP¶±ám3[śOt˛¬ÁvoŤđqŰ‘ëÚĽëĹz®{V×Č®ąŮ*ŹŁ`ţ•3řăÄ3Ô0g?*Ć6Ďó«)Żxše_7PÓ¤‰ş¤Ó[~Ł Đ/ köşÔ’][Ěá˘s‘ěT wÚŚôM@í_g|gmĎÉúôýj–›6ŹqmżZ˙„wíYŔ14mňűçżăZ7RřcËWşm)——xŤ˛=˝ Ň‹Q˛ś)†ňŢ@Ç ˛U9>Ř5f¸ç‹Ŕ·#!–ţdçęăô«xWĂ÷I#i·RŞżd»Üţgő ¦ŠçĂ7±î6ž"ÔŐŠŕyňyŁ?Ąd\i>7W5T•@Ŕ(űx÷ĘŽ:ÚËÇPČŰae'ź5•‡ňĎĺ]•şq ÓąÇď 9Űźló@ŃEQEQEQEQEQEQEQEQEQEAwymcšędŠ0qąŹSč=M ŰV8ĹÉňĹ]’ZFnĽQ§ĹŐ!Wť†:˙6®ÚĽźMńÖťa®Ý^=¬óG"$Hč!FOCîMvwÄj ¨nšÖF8 r›6QřšÉW¦Ý”ŽůĺXŘGšTť‹Úüźńď{ł‘ôĚÖ5\Ő.ćüĽNŻEUe9ľsřŐ:ÔóÚ°Ž‹"2:†Fe# ŹJŕĽ7đ#I˝¶Ľ¸Ôďo@7-ŞŔUq$Ű”äý1һү!X˘Ď™#L„÷ü:ţŘ[Ŕ–ÖńÁÂFˇWč(°ÓkcçŻ|ĽŇě.u RKČá !·™<·9ŔlÄ÷sŽ=+Ęíô™®ĺŠÖŘ5Ĺěě(bç'ßđüşćľÂńN.4y´Ń3ÄoQ˘gŚ€ę„aĎ~@ük‹Đť,WV×m<łÉ3Qvĺž2ŮďQ:°†’gVÄ'*Pm#Ôf. űŞOé\J¶ľ5Đu;y-íď@žD G*2g=˛F3ĎLŐJq”e¬]ĚŞĐ«EňŐ‹‹óV (˘¨Č(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Šă> xBOŘÇue·íö íSÇš˝vç׸ü}kĚtŹßh“y‰ˇÁV2ű_@Ö^­áÍ\űFÂ)Řp•p=7 Ö€8ëŠQÇÝ6ą«gXľřštHôć+ö›‚6’«ęN1íůgR‡ľ‚U‘4”,˝Ë#ŹÄ ×GQĂĹ,q¨ÂŞ =…p‡á€I"ďRÂTă˙Şň|Ó „Ĺ©Ţ*v ŞÇóŔţUčÔPÍđr#ČÖ¤Aß}¸oä«Mđre@aÖŃŰ<‡¶*1ő kŐč  úBcÔíűVţ<ŐcđŹ_ HşÓI„ŻĎţ9^ŃE|•w ö÷sEuÇ:9$ <çŢ› ňŰ̲ÂĺNC ÷ď|6˛ńD†úÖQg©c űr’únsţĐüŹóŹ…^.‚vŽ=>+…$Šâ0§é¸úVn'\*Ąfť™6—­­ÝŠĽĽJż+űź_Ć»?C&Ą®˝ęŻú=š‘żž]†$úqë\˙‡ľëłH§Uš=>Řśş#‰%?LeG×?…{“¤ŮčštV1ypGÓ'%‰ęIîMsĂ Ďö1YőZ¸_aŐ«6]˘Š+°ůŔ˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(¬ÍB˛ń‘.ť|¤Äü«)Ă#Ś=ĹiŃ@l|ó®|4ń&…pÍknú…¶~YmTłŰ)Ô¦G˝a[ľ¨nVŐmf3·HĘZúŽĽĂâTËÄú.Ş«"Y‡ŞśŚ˙ß_§µC§ąŐOVźÂÎŹá—Ă;‹Iŕ×üBń=ÂÖÖhCŰłąčXv psžťŤÄ~M̱€p¬@ĎĄ_đŤŘşŃ#9Ψőöjł÷Ô7ôţ”ădeV´ęËšněϢŠ*Ś‚Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ŠG]č˸®F2˝GҸťCŔ—wlěşěňď#+p gęsý(·˘Ľĺ>ęPnh58•ńŤËźlŠĐ´_hqŚęP‚N攳`Iü(¶˘ąă[‹C˙MöŮGWQ¸¦@­]¶ń¶r9Ľ0·÷eB?^ź­t4Vx×´rţŐ±çÖá?Ćžuť-cYĄfľë×čs@h¬iĽY Áťú”'&_ůTźÇšąHäžcü"8OĚ}q@5Ĺ]řËUťi Ó ˙–“BÍĎű«Óżz©˙ _‹ţÂČd—8üýĹzÍh:Ţą¨\¬Z†öńwNAŚ)ű­ÉĎŠéh˘Š(˘Š(çĹzŁ”—Rp|°_˙A«·Ťü<‘~XĐBů?říY»đ¶‰{+K>źv;ˇ)“˙"©OŕMhöĄĽďG+˙ŹdPvńí¬Ěɧi·×’0©€}:dţ”źŰ-˝âÓCŠŮOń\?*ÔŽ±Âľ$Ńo¦mVhYľR“(%Fq¸FjTşńřś&É†Ć Q?Ž:~4çđNąŞLŇęzśk˝·m ŇmëĐŽÜÔ‰đŐŁ`ɬ•aĐ‹|˙Ź×EˇOŻ•ëZĂ®UŐĆěçľ ÇÓń¤›ĆZ.UµfÜŤÄ PŤF“Gă“QąĽ-Źő§ĺ\tsŹÎµkžŹÇ‘A7Ą ţ…ň?!ŠŮłľ´Ô!óm.#ťÁ(ŮÁô>”bŠ( Š(  —:^źxĺîlm¦r1şH•ŹćETO čhᆙo‘ęą‘­j(¨Ó4ń”,m„xĆß)qŹLbˇţÂŃ˙čc˙€éţˇEg?‡ôgB§J˛ÁôAüŔŞsř7A¸LB:4lĘGäyükvŠĺ˙áĐżçś˙÷ôÖŽ•áť/FÍi +˝Ü“ŹOJע€ (˘€ (˘€ (˘€ (˘€ Ĺ×uËťo“¤Ü^)\—ŚáWŘŕ?.őµYzíŢ«gf˛iV)u)l0fűŁ×gó Kţ\‚VݤŤ˝6ůř ýv˙JŇÓüx—Ăţ@×ěŢ–ËćóúWźŢéÚźÚd–}6â+łmňXą g·5żáďjş ·ţČšâßĚ-¸«)Ž™ÁłůĐa˙ Wý@uĎü˙ëÔRx˛ŕ>#đć®ËęĐ?—5‹˙ ,îÚt|㛜ěµr?ÜJ»—L´8ůµX”ţF€-˙ÂYy˙BÖ«˙~ŹřR?‹o‚žŐ v6óŰXŢ5×c'j鱨ç÷S$§źĺKiâ˙ČŢZé‹pŮÉ˙F|řžëâĄně_Eň¸”¶AôνZ°ř„nĺÚ5ĂtŰ·r}°?ťtş5íýő«>ˇ§›)`)}ۇŻµhĐcq$jŕ0 Ă ő©ÔQ@Q@;°UQ’Äŕë^C¨ëňřŠţK¦fĘÄ[ĆxÚľ¤zž§ňí^…ăIĄ·đ^±$9Ţ-\dv`ţ„׌č×JШĎjăĆ·Éd}/ ĆźÖĺşŘčźP+Ó÷W–}ÓGKáMlŮ^ +‰µ—;Kţľ‡§×ŰýľĎţ~ŕ˙ż‚Ľzi#UĚĄĽżâŰ×Ő;išEü‘C¤^Ü}¦V ]EËŔ—#?§¸ŻO6ŕÓč|/aáO‘ŃÉkňę{Ź‡â[«§ĽV Cddr ž§>Ăń5ŇU K‹EŃm4č@ŰaIő=ĎâsPř‹U‡GŃ帚á`ÝŇF?uŹĂ“řWióG5Şx‹K“S¸iuK5ňŹ”¨g\¨^Ľg9'?ĄeËâí (šC¨ĆŰGÝ@I?AŠČţŇđ,39+hîOĚZ٤ýJ‘V-őż,ż¸ű nG_˛ăęTPGâ6Ž gľ>ţZńTř~!č˛6.âŻ#ô&·#µŃő+q$vö70ç‚#G\˙Ť(Đô€AU#ˇű:…Oe}m¨Ú­Í¤Ë,-чřv«‹E Ł RĐEPEPEPEPEPEPEPEPEPEPŹjÚüšţ»s'šZŇ;uŤßSŚţCµ1Ćé/e3ÚÎ6K ”u=8"ş¨gYkĆÄ&Ş6ĎŇňyÓ–0‡BŮĆ+Đü'Ş>Ł¦4s6é­ČBsÉ\pOę? ó3Šëţ?Ú™tyC>˙6Ą^OÚŮÜEJŔąKtŐľű~GoEW¬~zQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEço-ZĆÇORď¨ů˘tHÓq ‚ >€žž»kŃëŔ5Maµę×&đ.Z(Ȇ®Wŕ»Ć‹W{mĂdčx'ř‡#†kż®ú}¤.Ď’Í°K‰tăłŐz0˘Š+cÍ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ ÇŐü1ĄëX7”gDv·=sŘţ"¶( %ţX&;ë•^Á‚“ůŕU›O‡şE»«Î÷uV`Ş3ú×[EQ‡EŇ­đbÓm€ÂĎçŚŐÄŤ"@‘˘˘ŽŠŁS¨ Š( Š(  ĆŞš=‰ş{yçĆŘSv=Ď ÷®FO‰‘‡ÄzS2ú´űOĺ´×{P˝Ą´®^KxťŹVdšămţ%Z;(ąÓćÉŤĂăóĹlřx€´1ěa“˙‰­¸í …·Eq±Ę ImÍşX#‘€ĆY8  ĎřJ´/ú Áůš˛5Í «bIč>ĐźăN“GÓ&mŇéÖŽŔc-“ŹĘ«ÉáťWÜÚ]°?ě¦Ńů Ľ/­ ]@Ič‚™>§aj žöŢ,ň¨çÓŻZË›ÁšŮ'O Äc)#.? â˛%řo§´„Ĺ{r‹ýÖ Řüp(oâ QîI‰f$`Ď(;ďřţFą˝'ÂÚ¦ż)¸Ř Îă3¦ĐsýĐ:ţWNź m7ęź\ Öéş|Z]ŚvÉ,™ĂJű˙źjÄ´đ‡ş¤đ=ĚďHň2äý€nŮiöztF+;hŕBrB.2}ýjÍQEQEQE2ft†FŽ?2ERU3ŤÇ ö Ń\÷ŠüQk!΄± ă-¸ĎűŔUŁńĎćM&&_E†E?žMz-ĆCńÉ#Ű}aw Ŕ?4hŻ$*ü,}ţ}Żżď„˙⨰˘¸·ř‹fď˛ÓN»™á[ Iü3S Ä÷c6~‚ąS<źă·ň şŠâ®ě|k«E˛Ií,PáŠĹ!SÓ¦W'őĹrúƆ–…ć˝o5Ę Ws°>‡ÓńĹzí@o­ Ý@ę ‚ĽE&ż»?gŽ[™‹˙Ë5fm߇zčtßj·k˘–q˙·ó9ú(ţ¤P¨Ç4s.č¤IeXš}p¶ß Ö„Ť«ËÇO*-Ś?Ć»[h>Ím>l’ěP»ĺmĚŢä÷4-PH’pRh˘˛oÚ`gPź=đ‚€|ŁĎ&Ű]VLăî–G9őă ü3`„¦¬ vßóÝRĹđŇ O›Ş;Űa ýMvfžşeŠÚ¬óΓľwÜßýaí@}Žťâď—ű8‡Pţy™Iz¨$`ńŽýz˛<|¶ł}źUŇ®mf_ĽçńÁÇźă]ťRľŇ4ýOmłŠf™~`=3×˝e§Ž<<Č ľ*Ođ_#ň~ËÄF ę–Ú„í¡m¬~€ŕוxźHţĹÖć·EÄűČzź”öçÓ‘řVĎĂřtŰťBh®­Ł{¤XÉěyé‘Áőë@ťEP{ű8ő :ćĘlůWh¶şş˛Ś°«gT äW7ká­Fâń-íg.pIDcńĎŘé˙ u“Öągf¸ˉ·żĐç}y®7MźMO‰%Y˘ďô—ńŹŠ"·* Ť·ď.Ič}ęOč {ö™áÝGŘi¶Đ¸˙–‹Ţŕ]kÍ>?H˝ľÓí_1Çs${Űląý+׫®•5N6GĎc±µ1•}¤ÂĽŰân—­kWVVöqGöHA“.Ă˙OaüëŇk•ń燯üCŁA™0†î Ä‹˛ĺpAř?…hqYoŕ˝içAsm§4C¨o~q€kŞ>đńgăÜM'˙UtŤĹ}â}»YV‰\y‘6éKL°źĄuTËÚ[’Ú~ˇ¨Y±˙žSqüłúŇ˙cxš×ţ=$B™YôąŁŹĚ îj)­ ¸˙]rqŹťăń B‰s6&łşAŘ®Öţ˘şm/WłÖmŚöRE;[*ASéÍ"čzJ0eŇěEşdĘ®¤iŤtU€EPEVľÔ-tŰcqy2Ĺ8Üs×ÓŽµ„ţ=ĐQʬň¸ıĎÓQXPřÇ@ť‚®˘ŠqźťGćF+j)Łž%–HŘe]G±ú(®z˙Ćš6źs-Ľ’JňÄHeHĎ ;sŹđ †Šĺcř˘:ĺľÓţëGĎčMkYř“Gż8·Ô!-ý×%äŘ  J)±Ë©ľ7W_U9ę(˘Š(˘Š(˘Šńßţ˝MN]{D¦I˝Ě),ŻÔ¸Áďč~Ľyýľ·$l_QV}ŢŁßËćŢi67~ktsů‘YΔgąŰ†ÇUĂü đ}&]OÄW‚ËK·y¤8ÜÝ0‰Źa^çáÝ=GŠÉĚ“;ć—óő8üúZ0[ÁkŠŢáŚtHÔ(€©)SĄl<^a_’¨ôAEV§QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEWΞ;ÓçĐ*đžźâÝ9mŻ7$±ĺ ť>ôd˙0p2;ă±Á©”n¬kFŁ§>dx¶ť«+ «]/b#;Ş•÷Âźi÷ElbŠú,ń$s*qjöŹđËĹ7“*ę-ź?34‚G#ý¤ŹĚŠážďCë0ÜFˇ TW:o!˝×¤ť1[FrÄgćnü·~^őé5ź˘čÖš™…- %śĺťŹV'Ö´+®Ť%N<§Îć8éckş­[˘ô (˘µ8Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ŠŠäÎ-¤6ËO´ůbBB“Ű8®ňűÇ‚R±Ś źÜDŽüsţ4čW›A©říđâ†PyY-Qs˙Ž[–úď‰ŕCç‡ ň/â(?úü¨­˘ącâëÄBŇřkS]Ł,|˛@őç=č>;Ó“kJ$Î ÉăÔÔŃ\Ô~<Đ]đ×Ć?ĽŃ6?LÔW?4XŁÂÓNę>P±• ~§Ąu.ŰQ›ŔĎ'ć×˙ud¸š­í" Ĺr ŚďůV>·â˝K[-ż‘jĺ„g˙Ľ{˙/jčĽ7ŕkiíâľÔ'K„qą"…˛ż‹żAůĐ;/x˘ĺ‹[Ú-ÚŻ%ł0÷ÍvzŁŞę»jzgŮkgý~SČü}}«Zb·…!†5Ž4TQ€>€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ * ‹Ű[A››aĎď$ ÇăY÷ľ(Ѭ­^sŰĺś«»}4ŻEp“|KHňtÉwß0_ä 1ľ%+[I·N1Ďł2o\öĎĐ}Eyľ9ń’[ÄŚáHSóŇ'Ž<@ŽŻUŔţ…0 (×h®Hř…nöĚ5dňć };U‰ţ#iQäCou)Đ ţąý(°˘¸¸ľ$éÄź6ĘéGm›[úŠč4ŹiúرĘĹĐe‘Ô‚jQEÍ•­ŕęÚŔč%Ś7ó¬öđľ†ĚXé–ů'<.ĺZôP5uŕM ă%!–ÜžńH“dV4ßç€3iÚł+Ť®Ąső`ĄwÔP‹j–ÚÖ™q,WŻtb<ÍĚQýÁî d׶뎹 qŢŁź,’ŚŚA\őöí\Űü6°.Lw×*˝'óŔ đV˝c:E¦Çaä\ţiQŮęIäă˝vµÄ†Ö€‚5ÁÁWWĂşý˘¨łń,…WĺTšŔ/Ô“źĘ€:–`ŞXçg“ůWsńN†R‘Z]9RCn1úçůTâŰ`‹ť6ěFJ’9äŕĐÔkĎ©xVĆô)äŁ)ϦÜGĺ@&ˇ¬Ţ]Ü—]BöD$•É‚ąě8ôčҬéÚUÖş­kۆ Šâgő\Âşy5m:Íwę> ű2Ă8¶FQô%@5“w©ř6p z=â9#%X&ÓqĄnh~ŠŇV—Uhnľ\,I»h>ąă?LW_mcid»mmˇ}#@ąü«Ëc»Ńcm¶ľµ§Ś`”sČůŃ‚űĆ">ĆçűBŃ‹•?ö4éWšEŻxÚ0CYÝIžďbxü”Uű)|qŞÍ†XE·–’_Đ‚Ů ň‘Űb3`ś áFIúW$ľ×f*×>(ą\»a‘őÜ9ü+'WĐ4M6ÁçľÖ.îÝN#…e\łzcń4răâE´lË›;2śbW¸¦Ĺń.ÜŹßi˛ˇĎđJŹÄ óżĽÜ§€+ŃĽ;ŕ[Oěń>± I< f_,zĎ­lŘxĎDż*˘ëČôI×oëÓő­ç]č˸®F2˝Gұađ†nűÓMŚźúhĚăňbEm€ Đ ŕu?ę“F°n[}¨6G¶r•b\řb÷A™%›Y°´ČViăˇ# źQ^łTµ OŐP-ő¤scŁ†B9Ęh>&˛°…×RńŰ2Eű4ź/ŻĚW'ńô®’ÓÄz=ë*Á¨ŔYş+6ŇŠĚočE‰L ž‚S@đ„3¦9ĺ*đ}ĂIňX#c1ĂŰwC@COk ĘâXĂzăń¬‹ťDË[ľńýÖŕţ}?•sř±Ąk`Ľ?g¸čCqĎŇ»ř.!ąŚI‹"ęs@›ŁFĹ]J°ęÁ¦×]=Ľ7+¶hĂŽŮę?ÇąŃ~kfŢ?şÜϧň  š)·2%š3Ý0…Wď>\~u–›?ě; üĂă_öçţ™?˙UeřˇĆk\KŔHľ÷Ó$PŠ<g§Z‹Ť>+ćbH(‹ć*ý{ďÍqPLđIą×<ŚTă>µéŁÇĚSěšFˇ2·ěśăÍd_ę~)ŐfvC6čIj±őqĎ~‚€9d×uXr°ęW‰U3±Ŕ˙=ęá—P¸ÁąGťńŹ5Č.OÜxĎÔÖ´úwDytmßěÇ`8őصąáĹŐ`Ľ„ÉákpĄ˙×|§O|·§ÓšĆŹŔŢ vĂY¤cZdÇčMQÖ<;¨člżkŰîËܤúg±ú×µV?t#ŻZ-żŰ¦¶ NBrŻÓď/Ás@aáË-6˙THu+Ż"3ŃHŔsŘnĎËřúW˘Âj˛ůęz¬ýÝÎ?Író|6ÔTŹ&öŐÇ}ű—ůVmü+âŰͶ­ ČŤgrŕWş<3©ÇX|M~ 9ĚŁĚţg?­VľÓä“@¨˘Š(˘Š(˘Š(˘Š(˘Š)Ö4gv Š2ĚÇSKYZö¬şMy,'»ŽL«Ór¨ď»ĐĐ[űS©ŰäpŮť5üY ˘:”8™'ňĽŁXĽłľżi¬lVÎcb±9>ľč*=5,dľŤu¤Š×ťíË{cŻzíőÂ+ÇŽÂÖ9 _»+ł ˙†*˛üJş 7iĐ•Ď HAĹt>đţ…oŰ´é^íd)ŽŘűQłXě5˛6IQ÷‡¦G#đŻ!ąąľ‚ęh^úWhÝ”˛ĘÄ1 r˘Ľ‡C‹UĽÜE­­ŚQ2†’{–@Ůôěqč}Eoę9—M† K9 Ô¦Xó-ÓˇU-ž›F;wĎő ţŠňĺńÇ®šă+ž‘ŔHδô˙řŠyÂ>‰çŻDč~¤śŠď«Äw:Í­ —JKR+ĚáJŽ9 zç&¶P–E,»XŚ•'8ö¨/–ŃěäKď+ěĚ0ţiqďšđŰ©ĺş»šâvÝ,Ž]ČîI梮ÓV·đEąu†[–qü6Ź¸řd~¦ąfu Ă•gtéŔ ÇĚaîHóÍjřNĂEÔŻM¶¦ó,ěr…Gö´Ű­L˝,×6Ň3uvŚnëž˝jőŹ˙®…˙@Č?#ZVÖv¶jVÖÚő P*šŠ(˘Š(˘ŠçüDl@?ŕç^ťgi¨B%´¸ŽdőFÎ>ŁµQŐ|5ĄkŤÍ°źůmĘăńďř漷S´»đć·,vďso´ź*\ígLőČę {Efëw÷Ú}–ĂNkŮ3Ę«chÇ\u?A^}ińX·ŤRe·ąň΄1™Ҷě>"Ĺ Íý„‘&peî\óŘă™  ąľ!kpLńKei©ÁG‰Ă/×ć©-ţ$Ţ©˙I°·gţYł'ŽkśńŁ­Ż]^ۇI·hqÂý+5Űهas“ůĐcŻxökűsm§FöŃşâGlo9č=úý+™Ó, ˝»ÜŢĹi夓ÓŘw5ĽvŽĘ..%‚Rŕ_Ľ+ŃĽ%¤hSYHcž=LŤ»…Ä÷]x A#<÷ÁĹKc§ř28aHĺÓćaŚ4Ó)w>ŕźÓ¸5-É{cnŞ>XüÔ@°ÍUźÂzÂ:¶ťoďTŹ¦:V ĎĂ[Gbmµ ˘ŕHđ?(­‡UÓ® ßÚČGP“)ţF­×˙ Ëţ˘˙ů-˙Ů×UˇhiˇÚ´ÝÜN¬AÄ­ňŻ_ş;P­OMV±{Kťţ[໫´×7ĂHó§"'¤‡?"»şĎŐu» ${é¶y™ŘˇKÇ\cę(˙…e˙Qü–˙ěëJx’Â/&ËÄAŁ M$NwqH˙tdr« ăüKŕţl*Ü9Đg“aşx˝ ‘â(ř­`oů…Ü‚?Ú*·âxűG†Ä€Źůc8ëřfşő•Z;ËwVű¤H9«4ËÂe,;~Ů jpÁ"<óč3ŚĐľ?ŃqűÁu‚AG‹}đk©ŞÚ&™©1kË(er1Ľ®QÍaÇń D|îIĆčÇ?‘5«§x—HŐ$X­oĚĂÜcě3×đŞoŕ¶ÜY2ŕäâgçŰ“VěĽ/˘é÷ =µ‚,Şr¬ĚĎę7Š×˘Š(®[_Ó|OqrŇišš-ąű°Ź‘—ńÇ?ťu5FóZÓ,eŐô?÷ Ťß—Zň«˝KÄš=ëŰÝ_ŢÇ0bŕŹQ’AúÖ˙„ő˙ęwâßívóF.· ·ą\ “˙Ö«Ţ(şđÖµ`Yµ(Rę!ű©?îHţ]}kÎí®fłąŽâŢFŽXÎĺuę {.»y«YÚŁéV täťű›îú|Ľgóâ¸éc\F2:cnŹ^˘€2u Iµ•#UđÔr>IY­‘á‘O¨n{úńPXx§Rđ̉&—¨ËykĆ`ťH‘=˛8oŻJ_řMĽE˙Aü˙VóZ×|ą.tTÔŤľq·d$˙=ďßÔčžřµĄjű`˝?g¸čCqÍwżÚb’óí1ýš42<›¸U$źN+Ŕ.|6— çÂ7ŃąčńŢŕŻÓ*\Ö±?ŠĽ=ŁOm/ÚăÓ§ŰA$)=79Ć>†“vEB*RIťĽI7Š5y/XşÚ¶ÚŔŘť˛ń§Ż\gVp˛tŰĄ’­ őáM·&ä~­……8ĐŚil‘«¤k3č÷BD%ˇcűČłĂ_­ztr$Ń$±°du ¬;Đ׎3ń]&ŤăëK: K«YŘÄ ď‹ Ž ôĹw`¦Űqč|ÇaiĆ0®•¤ÝźžźˇŰßi¶Z”B;ŰhçQÓzňżCÔ~‰'€ô|­Ľ±Źî¬­Ź×5gKńv‘«NC;$ď÷c•6“íž™ükr˝ăŹ;Ô>Ęą}:ő\sç?÷Đëů Ž×YÖü*V-CGŤ EŰć¤a;|ëňźˇć˝"‚z@ŢźăŤű ó5¬‡,ă?ď?™wź?O¶žíĎçÖą›˙‡6łŮÝKm¸çaPę>ťë]ťçá­ŢN51Ű(k_Kđ}ő˝ÂýT][)É·xüĹqßďä3]…’ţŃ$rͦ[ş›Gä+.çŔLŤćZ=ĹŁŹşc“ ~y?Żzꨠ/űĹÚgüxë yţ úźűë8üč˙„«_ÓxŐ´*:Ép?~˘»JFUu*Ŕ#ÁÎYřëC»<ďlçřfCüĆE_ŹÄş$­µuKPqźš@Łó5ťwŕ=é‹$RŰ“˙•ćŢ1đ­––źn´¸HUŰţ=śőőŮúqúö Eł‘Ą˛‚G–)]ŁRĎĘ1Ç%}Şjń­Ä×Ú  D|Űbrđ1ŕűŘű×măÍ}ľdŇŔHäI8>śf€:j*+k¨/-Ö{i’X›ŁˇČ5-QEs^"°ń%ŐŔm*ţ8íöăËcçż8çóĂ7‚üFěY¬ brIž<“˙}WŻQ@Okŕ-ryÍVëžYäčą®úËÂZ%Ž XG#â›ç?ŻµE""ĆB¨čŔCZ‡SźNdŇnc‚ëp;¤\‚˝ÇCďŹń­ (Í'ŇĐ!96Ť)#Ě•ż WEEsĎŕ2,J“üBgČüÍW>ŃÁ —p8<Q™vý8\ńő®jhÍÜ÷0™Ýlµ3’Ś\™¶Ś«ŐŤ(îÍŤCĹşmŚ­ —¸•I ")‰?Ó5ZŘ»-Ľń©ţ.+Ďâ(ĄL+ËxĘŤÝuÁB˛Mľ÷=nÖîŢöžÚU’3Ý‘ô>Ő5xĹŔm»ăfI•e8"¶t STĽxě­ĽHŃJßu.aIô süëľ…okő>O5Ë^ŞŠw‹Ůţź#Ó¨®XZřŇ5 jl¸Î†oŔ.)>ÓăXă±Óe*9-˙Ź[žYŐQ\±Önd‘jŁ¨xĹj›muç¸S×,boĂţtŰQ^]ö/Z>wß±#ţ~<ÁüČ­-6÷Ç0ČKO>09!PßćČţ´ß3*)f ($ž¬ą"ѧűšĄ§\aĄ ZŃIT«©čĘr y˝‡Ă›Ë‹q%ĺâZąäF©ćőä~™­‹?5ĚÝä.FĂňgň4ŮQ\śú‰c…š×ÄŤ,ť6ÉÁŹ®O?…`]Áă›4gyndEţ(ť_ôţ”étW[x×^·#ý3ÍQü2Ƨ?Ž3ú×Y§řĂWş´Yż°MĘŹż%¬ą÷Π϶hł˘¸[źĆŢá˘mUeá–Y¶0>ăi¤‡â\ Oť¦H¶É0(´»ł¶ż€ÁwsDNv¸ČĎ­s·ô9Žc[9éą˙Đ«ZgŚ´}Rt‚9žśáe۸úddgńď[ôĆź†úW»ĽŮŽFĺÎ~»Ąočş®…Ăjó˛ąË_?ŕ˝…iŃ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@‚Č=AŞRhÚ\ŻşM6ÍŰŐ R•]˘€)®‘¦,MéÖ‚6ę˘Áü1U'đ¶‡sťúd?óĚl˙ĐqZôP/?€49ł±. Ďüó—8˙ľłUO€L}[Ľ¶Ăe{ăň+Ív"D…äuEYŽ¬ gĆf—jZ⻸' Rů‘śP1­x`G'öËĎ$+»sĎ[$ńőĹaÉâízVÜÚ”€ă*ŞŹČ §{}Żj"I™çžCµGLžEz…Ľš÷QQ%çUŕ¬_âŢý?ťcéÚźŽÔ%Ľó(ĆÄ˙ůע[™Ť´FĺQgÚ<Ŕ‡*ľ3Ú¤˘€ (˘€ (˘€ (˘€ (˘€ (˘€ ÇÔüO¤é.®~1ŃK0ďϧZجÍCĂÚN«'›ye’|¬~¤MaźÚ8$}žřűůi˙ĹU»OčWLŞÓÉ7O9‰Ł˙„B˙žs˙ßÓV-ü Űóö?5˝e‘ŹéśP‡öîŹ˙A[üOń¨ďWDŐíŐn¤ł¸Źť¤Č8ϡ#đŞŻŕż;:pÉô•ŔüTrxĂî[6Ś˙yf|ţ¤ĐQŕĎ ÜJD$’y ĆqüÍRŐţ@đ)ŇdňĺRw,ĚHaőíZ?đ€h_óÎűújřuŁ3'˝P„H¸šĐź]Űęš4ĆÚăí丅opGđ¤[Őm±äęWhČQ3cňÎ+ŻąřjŢfmu°ö–>Gâ?ŞiđßU.—vj˝Ęłům§ájwóĂgse%Đ-µ®c\m÷n1šî«–đß„eĐî~Ń&Ą$śÜĆ ˇ'Śžyü…t7ňÜÁc4¶–˙h¸UĘD[năő  WßxßÄV·mđEjăţY´'óäóőŞÖţ9ń +ÉďďË~ęôW;áťkVŐ·˙hifÝĺfޱČŕ+sĐőĎj訢Š(˘Š(˘Š‚îňÚÂ=ÜńĂ8Üç>”=ÍËă˝2ÜÉ&{¤-Çć,>:Đ%$5ÓĹéľ&çň€::+_hăvĄĎ÷›ů ‚Oř~5ĘŢ<‡=ĎęttW*˙tDBĘn\ŹáXą?™ř‹ĄżËťűČ~ęě^Oýő@}Á^řďS$ Đw3Ł6ŹçX§Çúá$ď€{¨ŐčŻ6¶ř“|˛ĄXŰČž‘Cú“]'ü'šČŰíĺĆY|¦Ę{ß–zPKEaĂă y&Ą'»Ł üŘ[1Mń,°Č’FĂ*čŔ‚= ŃE‡â9µřbŚčC Áó ÁuôŔ$ćkÎő‡ń> Š5H/^8ă6űTŔ~µësÜÁl»§ž8—ćG 0:őŞźŰş?ýlđ!?Ć€<†ĎIÔä™$ŹJ¸ťCŚ©…öčHÇóęvzźy§D÷Ú•´ě2ń$kňśúřÖÄSE0&)R@:”`qO  PčÚ]»‡‡N´ŤÇFXTĎvŠ(˘Š(¬/ři<@‘ćňkwŹ€̇ęąűć·h 3—ᾦňŻ-wŢYˇŞ×> ×´~×o ’@ŔbÍܸsĐ tŻU˘€<}|]â;QäµüŠW´‘)oüxf§OëĘ€ˇb?Ä2*ői!ŽeŰ,i"ś2‚3P¶ťdęU¬íĘ‘‚ K‚?*ŕ-ęŔX”'şĚü~¸¨ćđ*Kyb8Ć䕉>üäWKEqĂŔÓZśéşíĺ°Ŕ<ń×Ţ—ű?Ć–ęuK[¤Ă"Śţ«ýk°˘€8ąŢUBďĎ˝Çĺ\5îµâŤ:aĺÝÜ.FবZőę+Ęô˙x…ɧí3Mxŕ H¸?’Šé4í:×J˛KKHöDĽŕ’I'©$×YóĄŞ(˘€!žŇÚčbâŢ)†1‰7ŤUţÂŃ˙čc˙€éţˇECmgkfĄmmˇOQň®3Rřv.nkmJL±É[Ľ˙ßYĎé]ÍćáĆŻ“‹›vůß˙‰­]ÂZţŹz5+hˇb<ĹMĎż°@Ľ×uEQEQEQEbx‡LŐµiš™´*dĺC{îŠâŻ|9㡖[‹¨HÉkܧđfţ•ęPŚ§„őçpŁM›'×~dפřSK}3I qa­Ń8)·‹žzń’>ť+vŠ(˘Š(˘Šć|Eá;TŽ[°VŇäí2Ź•»ĺ‡őë^ig¨Ýč×­%…ŢoLíqôaČúŠ÷Ĺ˝đ–‰|ěňŘ"HÜ–”ç׊Ŕ´ńΓ¨ZÖ¬ŃeA÷|ż1=pOˇüꤞ"đd­ą´)Ć>XGäµäřwŁ;ĺeĽŚud\~ŞjK‡ú-™ÄăŇIp?ńĐ(Ž›âOŰ:Ľ6d|’íňËřŚźĘşë-FĎQŚ˝ťĚSŞý퍒>Łµ`¡Ď9˙ďé­]+ĂúnŚY¬­ö; ¬ěʼnŹô  :(˘€ (˘€ (Şľ­‹bnî#šHĂ"ÜF{žF_®{ĹZÖĄ˘[¤övI áĺ•ţëg· źĎ˙ŻŤ/Ä«o-üť>Rř;w¸>ř®'UÖ/µ›ź:ňbä}Ô*ýt?đ±őŹůö±˙ľ˙Š«–˙ĺ:j0ă¤#?ťexOĂ0ksnnăÇÉ÷Ś3ßĐ{צåiöđ¤1Y[Ş ŔX |x˙N1y˘ĂR1˙É\~{©ËńC* k…$t1r?Zęh r/hZíăÇg…ąüĄx}˛Ţł‘ü+ äţ`VŰYZ»khK’Lc$ÔRédÄtëIč^8ý(ţý ţzO˙~ŤXĆÚřmňŘö’6®1úŇ\x'AśäYžLr0ý3Š¤˙´grË5âü+"ŕ~jh©·ą‚î/6ÚxćŹ8߆úŠ–˛ôŹiú!‘¬Łui0™ÉČĄjPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP9â? Ż'IŤüĐ2.Đ…w§Ô ŚĆąłđÖď'„í”5čôPź[|4mŕÝjCh<¬QňGÔž?#]ÝĄ˛ŮÚEnŹ#¬j4Ťą÷55QEQEQEQEQEQETsÜAk–âhጌ~f¤¬MĂž ňžyfŠX ČxÁő˙­@żŠ44r§S·ČôlŹĚTx‡Gąm±jVĹ˝ Iúg­pú‡€Oµ7ëP¤k÷šXJŹĂäűW"˘ĘËď@pĎľ(Ý~ßg˙?pßÁV+Äě<;«jv­sgdňBąů˛?Lž †çHÔ¬Á71(ęÍóé@ĺEx-Ľ˛E2§h 82#đćşőK„‰TřĎ9ýĚÍú•É R˘ĽÖ ë«—Úž5úhŚó`+e4/HÓġ”ô  v5^úň->ĆkąŽ#‰ oÇĄr˙đŹř§ţ†?ütÖ.ŁŕŹĎ6罎ó';žfČüôô SRľ—SÔg˝›ďĚĺ±č;Ŕ`~Ű|<ŃHjó'ŕĎţ<ßÓó¬$đ7M¦Íy¦L~‡5Öř[Ăúî•pŤy¨hŞGŮCŻŻ ĎĽ©Ş2xŹZŐ`x.•/áČ%ܧÔלװQ@3oý†7ŤVÓQ¶—Ť«lË·Gä~f´-¬|ęŢ~­~¬ĘŔ#đVŻUtYŁ¨e=A¨Ď˘iWó´ŰG$`±…sůă4…¦Űř.ŚpɧJIäÜşłí»úVÄvš ?ĽŠßMLü»•~Ş“ř/@ź$Řb1äeÇáś~•ÍŢ|6167ń˛öYÔ‚?źĺ@´réq>řŢÍŐJWkËáć´‡ öŹĆr˛Ë*˝˝—‰<1wëkt±«†uŚ–ŤÇŁmČç§4ëtÉ!ŽeŰ,i"ś2‚3\u—Äm>]«yk5»¬uČţ†Żj:üšŤ˝´’čžRF řéň«cśă­kjş%†łĄěĘý× żC\äß ôĆ˙Swv‡<î*Ăů çnoĽi»Mý˘¸ĺŠĂňŹČb›k­xŔł ô¸Ćáö}ŕă§Ń'Ă‹ Ďus)*ŞU2} Á¬Oíh›+m0ŮĂ“Ť°™2O}Ç žžÜt­Řuď¤AeĐŽ:°ĘçđÍTÔüs¬XmŽMmeŔÉśłúcĚĐ^:×ăÎë¨äĎ÷á^? +_MřŹ2°MNŃ1ţ˛OBp1YWŢ;ÖŻ`ň•âµ«[©V?‰'†+™’'   úÖˇ©«OyrF˛¶vÉ&ň?Ă۵ié^ ŐőD–ÚŃçĘ’=†3ůŕ{Ő;? ë7Ř0éóm?Ĺ Ř?6Ĺ^‡Áž$IAKCéĽN“f€7t˙‡·V·i1ŐŚ%NC[© ůçŹÖ»ŕ0Î}ÍrţŇüCa3SP[íŔ…śČŮěrz~uÔPEPEPEPEPE#şĆ…Ý‚¨ęIŔ—'‰´Hźkj–Ä˙˛ű‡ć(VŠË‡Äš,íµ5;\˙µ _çZI"Jăuu=NA TVV·±ěş¶ŠuťOEaËŕýlnÓcţă˛˙#R[řWCµe1é°’§#ĚË˙čDÖĹ Đ (¦I4p®édHÔśeš}w0LŰbž9 á\Š–€ (˘€ (˘€ (˘€ (˘€ (®oYń¦źŁ^=ŁĂq-ÂHUFyęO§ 4ŇQ\?ü,«?úĎ˙}Š­sń-±‹]4ýédĎčő A®sĆVÚUĆ‘ťJuÔźłË‚X7¦$ ×7­ă]j!%ś(_81ƨögţ†ž|â Qjš Ű»8yB> üč…V(Á”Ŕäy˝Ańí«Xő‰ wŚyŠ„‰ŕ8?Ą:†Úz¦./®doX ü5™ŻřoĂš ¶eşľ{–Rb„H™osňp=čŢ©ăÍ.ţÖk?˛^ů2.Ňčáđë\âŰîRĽń"€G§CÍC]_‡4-)íĹţąyp0>T`¬ţ¤ŕçđ˙P m/GţŐ™ ‹PłŠwácş’}3·ükĐ<+á;˝ éî.. mË´Çg?đ"ATUđNŤ7›glf™ADg ç±sŹÄT7źYăd´Óö1ľIyzýh©ń‰iŞió3Ů ®U ˇäöżÇŠň)-ď´Ű…i"žÖdl«(Aö4’Ü]_Ě ÷+’Nédţ¤ńMżčĐÇr&‚]ă áżäP­x:mR}!u?ęvzP8Y®pŹ&x1!@÷ “úב|C×!×|au%›n˛·˙G·lçrŻVČę dčEajZµöŻp'ľąy™Wj~T_EúU*cÄŹË('Ö˝ŁÂ ´KmÎëTÓVăPuó_ÎbĘąä.Ěíŕc9ś×!đŻĂ#Äž5·óŕó,,‡Ú.7”ăî)ŕ–Ǩ ^ń{‚öXÇ@ŮĐE3îVDXŃQ*(¨zRŃE (˘€ (˘€ ©>©§Ű6Ůďíbl‘‰&U9zš´čî°ÁÁĹp÷ź ­śłYßIRT>™ţ´Ö&łĄČ¦ĄfÁFX¬ęp=O5NçĹš®węP±˘Ě™˙ľs\dź ő0ßş»´eÇV,§?‘®nKKk ć‚îW‘˘“,Q#-‚?*ô ŹşT|CÔÇ×hQúśţ•‰¨řĎUÖíţϦXĎnK ˝»—s׌€1řsĹIe⯠ڰ۠y`tpě8ÇSĎë]ŹŤ´€±‰ÚŰ€eŹhŮó  Ĺw@şÁx;ź6m‡˙"¬ÇŁxŇÉ7ĹöĹPsµ.d˙şźĘ˝IY]C)HČ đE-yÖ™ă]OJ›Č×íçhöü¬aŮ ·á@‡‰Ľgw˘#ŃőZÜ(ÉŽ Äů,?…c'ŤŮ\v«v~2ń,D,Ö_iŹšV?÷Îé@Ćťáí+J”Ëef‘I‚7–,p}É>•§U4ËÉoě#¸žÎ[I9†^ŁüűV袊(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(¨®n ł·iîfH˘^®çTµZűOµÔíZÚň–AÚr9őr(oh19UžYqÝ"8?ž*ţ!hŽąauĎFŚgô&«Ţü9Ó¤ŠCgqügőŻ:˝˛¸Óî䵺ŚÇ4g §ůűŠőŹřMĽ;˙Aü'˙UĎŹô0 ßp}„UÎř"mv6Ú}»]ą>\˛®ń'¶@?Nż^ľ™§Ä»c±¶EôX”ĺ@EçĦŢEŽž6󆝹>śńŞ?đ±őŹůö±˙ľ˙ŠŻG’ÂÎXÄrZ@ń€­#JŻý…Ł˙Đ*Ç˙Óü(“Ó>!Ësw˝Ć\ČBŹł[?îžżťw•¶ö©¶Ţˇ_HĐ(ý*Z(˘Š(˘ŠĄŞęÖš5źÚŻ¬{¶¨UÉfÁ8‘®.çâ[o"×MAᥓ’>€qůšď.- »…ˇą†9˘n¨ę?¬)Ľ Lr-"NO—+"H 3Őő»ínçλ”•ěŚp¨=‡őëW<)k§^kQA¨E4ˇÎ#D.ÚďŠďcđ‚Ź–·–AýÖ•±úb¶¬tË22–V±Â]Ł“ő=MZDXŃQ*(ÂŞŚ=-PłáM3[“Í™)ńŹ6?^Çů×?/ĂH‰V¨ę;ď„7őŢQ@, -ÂţóR•›Őb ?,šxQ´Ś¦źâ+SVźizě…FJÎđ×›_‚G{)-Ěxůł”ˇü:VíPE6YžY\$hĄ™ŕ:“\ĄÇÄ=&e‰.§Ŕ8e@źÄúP[EqQüIÓË~öĘéWWkţb´í§rqźtüă+ `}N8®˛ËáĚ×Ëszmn%â1Űφżťu¶Ţ+Đ®ÇÉ©B§ŇRc˙бZ?oł˙ź¸?ďŕ®6†–ę©Jă?ňÎ ś~$ŇÜü5µaţ‹¨M´¨ůb€;%˝µv ·0–' I©ëËnľkäÁ%˝ŔěʱüĆ?Z椷6w íĽË"đSvÂ?0hÝdO26MĚ»”ŕŹq^GâŤ-*q*j©xŇ·ÝfĚ z·>ŘÍbłÚăĺ†`}L ˙ě´ŐXd“ĚJOţ`:u g×  «ĐĽ1á˙ÚËmtÚ€‚Ô…c9}ËĆŢŽ:äVT_5Y˘Ic»°du ¤;ňOᮋĂ>Ô´[Ĺš}Ly@Öđ’Uúă9ÇץvQ\žµă«}&ú[4±šic8bĚOĐňOĺ@eŔÂÍ˙¨GţL˙ö)ř—oĺdi˛ůűľhĆ~¸ţ”ÝQ\$~9ŐŻFűÉ$`rW|śýBŹň+"ćÓĆZÄćI!»PçzÇżËEö‘Ž˝ů RŞ×Ť•ˇĹÍĺĽ'8ý䪼ţ&Ľ’ďMń"ěĎŢŕůîĹP‹Nžâ]ľuŞ“Éi.ŁQőÉjöTÖ´©\$zť›±č«:’ZuÖź§ę‘©ą¶‚ĺqňł(<{ó[_ݨk}CL”ź’vo䵩ĄřZ±»®«·#-3őß›Ŕş¤µx˝vJÜţdŇCŕ]&Ë[I' y[ň"şJ(:]GHŃŁ[gąµµT†€ŮŐY|]ˇEHuŰhű¨ 'č1UuŹéş˝Ó]o–Ţw9vCÇÔý1Xü4śĺjq°ďľ"żÔĐ'‰†ĆV›Sh.É\‚Şx9ÉëÜt­ÍCĂNŁf¶Ďj˘śˇB>Ř­zĚÔ§úšô |w F@[™$Ďt…¸üŔ©áńŽ;]Eă?:2ŹĚŚW§|=Ôî°×’Gf„t?;ţ@ăő­řf Ú±+ž@·ÁÇýő@Úׇ4ßŰ‹dŤnů.bĂé×xcňŻ0Ľł˝Đu?*Gň®b;•â|ţ Šő˝ A¶Đ-^y%“Ě!śČÝN;Ň°ő_‡Ö—×RÜÚÝÉnň1vV]ë“ׂ9úĐořö9Umµ‚#p0·pßďÇߧҷµÚA§5ĆžŃęŚ~ćA`=HëŹÂą'řm~É}lÇ=0ăň54 g6¤ŠśÇ'ő#ZŞ˙5RäÇif«Ř2±?žáD5@ů’ŇÍ—ŃU”ţ{Ťwrč:mĹš[\ŰG>ŘÄ~lŞ ‡Śgv3ž:×–ř“ĂwŢd´ţęl~‡Đ˙:ôřľ zslmd‚ŕ.î»ţ=żé+Éü)â·Ń&×#}‹žpż4gÔzŹoËßŐb–9áIbuxÜVSE>Š( Š( Š( ›$‰m$Ž¨Š2YŽZĂń6Ź©jÖŃ®ź¨µ±RwFX޸÷#źĂ‘^}sŕĎDĚídeÉĺŇEl“řçô ›^řAíôćÉĐÜ0ůGűŁżăÇÖ¸pş–˝¨ Ż.ź“ÜăúĐU´đžĽîiłdúŕ̚DjšE¤Ń_Çq±p_=÷Á‰  Z€-퀟U"âR8…N~§ąý>µĐĂáÍŢA$zm°aДݏε( Š( _Ĺ:泤°p’™k‚ĄÂžxŔéŰ“\=ß‹őôŮw ”ëŰĚ· Ź§Ą{C-Ą´ä™mâ‘‚]Č ]FŘäˤYHÇľe_Ń\ҵ4ý?QÔcYô˙Zm‰ }§ţţHAë^Ł™§Ŕ1 Ť´c9ÂDŁź^Z 8ĽtaHâK[4ŚmTA1ě9ÇéYş•źŽ·Ë5Ű“›Y@÷Ęŕţ•é”P^Xë/›}k~Ň?ńĎ’Ř÷5-·†µ«©G¦ÜŚ˙‘”™ŔŻj˘€<Î/‡ZÂJ­öË4ÁűČď‘ôůEtZ•·Š4ý"Ö2ě]Ë>t® ČÜäcvAăÖş—uŤ »QÔ“€*‹kšJ1VŐ,‚ Âd΀<Ę]WĹ°>ÉdÔşáŁ#úRYřżÄa‚Etóă$ŁDŻý3úשéé÷'_[JsŚG*·>śµ@T%ńDöęëáýŮ6ÖP}đNqXzŹŠ|Yk)űBµôű0Űů°?νFŠň8ĽuŻĆIk´“=žăňŻŰřÓÄšťÚĂg-#E#ęI'Rq^Žöv˛9w¶…ő%&ĄDXĐ"(U€8ołxútĂ]ĹnŁ÷`Żâő¨çŃĽLűw‰ ·@ n,§ů+ľ®Zř~onć»´ľ!ĺbĹ'ą˙{ŻčhŚ^űc±“ĆqI7S˛_0ăÔťâ®ÁđâÁ•µ)¤R91Ş€ßNżÖą­GÁzÎť LФńŻV·`zăţ•‰mwqg(–Úy!lTţ”ßÍđŇŮłäjR§ŤŠŻmˇxžÍ‹ZÚŢŔOS•ţF˝‚Šáü<Ţ2KŘÖî2Ö›€Ü‘;~ń8ü+¸˘Š(˘ŠĺüAŕ»=[töŰmŻńň?ÔQúמK­áŤHćZÜ/Ýučă?“jöşä|IŕÉ5›¶Ľ‚ý–B8Šl”p„qčhľńŐ®ˇ¶ßRŮmrxgżăü'ëÇżjě+Éçđ»vE Ř?ňÎP3˙}b–Óž+µ•MĽ2[śçrܨÇäÔęrŰÁ1XcŽ…ÔUdŃôČäŢšušż÷–ůTZZ¤jÇ«Í× đÉýÜ ŔÉëZT‹E Ł RŃEVż°¶ÔěŢÖî!$/ÔgúÚąż†Ör6m/¦„ŇDçµvôPś†·y8Ô Çlˇ«úOĂăe ŐÍňIĺ>ď)a7Ôźđük¸˘€€:EP~ły{c§4öFî`GîÁçÎ:ź ő® OZÜ2ĺłłG^ŞŃ8#đÝ^›QÍoŔhc” ŕ:†ţtçüHÔ•ż}ghëč›”ţ¤×G˘xâËWşKG‚Kk‰8@Nĺ'Ó?ýjŐ—Ăş,Ń”m.ĐýČBźĚs\öŁđęÂdwÓć’ŢSĘŁťÉôőýMuz€Ľk FžŃ-Ö?ve/^sřfĽ˘÷ÄŢ!†îH¦ÔŰĚCµĽ˘›ńŢ*­őÖŻ¦Í&ź&§;*ŚŠĺ™#>ľő•@đxÓ__—Ps‰#VĎăŚţµ·ĄüEą¤z•´O "Ę•÷ đJçü5®Gˇj>|–qĚĺ.Ią^ߧâ+Đ!°đżŠ imíŕv_ľcS©#¸ýr8ö  ë[Ű[Ř÷ÚÜĹ:Ž¦7 ŹĘ§®ëáÔK!—MÔ%ÁŕH3Źˇ#őŞĚź<źÝó&~¸Î(¸˘ĽÂ˙Ä~&Ö&o°Ű]ŰÁŽ#·Ť€{–?Ę°®¦×A&î]G)ÔĘĎňţ}(Ű(Ż‡ÄšŐ»ďMRčźúi!qů6Ez…µŁ«é1Ľ÷Iv3ć$g đJöţTąEPEPEPEyćĄń ţ ą!NŽ Ť‚·!‹~ ŠË˙„˙]˙žߡ@ljôÝcP¶Ťt«ď#n|Č÷/ôaü˝ëĎn|+â!7ď¬f•±÷‡ăëš×‹âFĄŇK+WbxŮą©­â\`[řx©Ćs$O‚=˛EröŢń$rŹłŮ\Äç¸pź®Et~ ×/¦Ôu‰mĺ8Âďi[ń;‡ó5dęŢ8¸ÂG¤ÁuÝł«6(2xúl'•ţ<Äqúźĺ@O†Ö!Á{ű‚˝ŔUó¦j?l`Ó.d˛–ĺîV2щ]H$sŽä€GăJlĽy7îŢţVęß Çâ5VóÂ(ÔT%î­o*/!ZWĆ~›h‚®÷Á6š&«§=˝Ý” y ă-ŐÔäřr>€VDŢעÎČ"›ś|’ź›ř^“ďŰG?Ç*źäMwRx'Ăňn?`Ú[<¬®1ôĹ,~ đü{OŘ72÷i\çę3Š†4{íÉ὾űIb ÉXúçóĎáŇ·(+{h-!XmˇŽ—˘"€ŕ*Z( aąHÉČę+ε‡wÍ4’ÚßG8b[÷ä‡?Ź9?•z5ĺđ€kżóÎűú*ĺŹĂÍQ¤ suştm¤»céŚ~µétP9}ŕŤň#˛ßČ›nÄvóęW§ä+ĘćŠăLż’"Íđ9RĘH Ž2;×»Ő[Í6ÇP»´†| "GĐö ţÝÖ?č+}˙ţ5Łcă]rÎ@Zëí Ý&łřőýkĐÁ~v,tá“é+ů©­Ľ)ˇZ°h´ŘI#ĚË˙čDĐ:ľ;Ô®•~Çáů]Ź †g~ * ÍsĆŠít«‹0>ń[ńaü«ĐU*€ RĐŹO7ŠíŘůŇë É- űv¬ćłŐ/n =µäó?rŚĚ­{•ç~đw›ćĎ­iîĺ1,ŽTź\¨çÓŻĺ^Ľ±­áŽÇđơGä*J(˘Š(˘Š(Ąî©a§műeÜ0č€'č:Ö[x×ĂĘĹN˘28‰ČüöŐox2ËW¸–řM47,bŁxl }ŢąŔ yTŞWA» Ä Ë´ţ#± d˙„ŻBŰ»űNc=óůb°üAă=ăK’Úűy—‚Ś¬Š=ňFr=«ÍkĄĐ5_ZFęZI•÷n‰9˙w íĎzćŽ2qÓµnhľ,Ô´8 s°““BžřÁÍwŃj>ž$‰N#'!^P®«QŰx^eÝ;¨8ʤDf€3Ľ9ăA­Ţ­”¶OÄÜóééßšë*(- µŹË·‚8Sű± QúS>ßg˙?pßÁ@(¤GY:0e=9–€™QK1@É$đAöű?ůűţţ âďĄI®•q# ŔcţČ  4QE$śÔš+Äľ˙„‚Î8…ÓŔńWş6Ľ?˝ą  Ňkd-¶]FŃŚá§PqůÓ—TÓÚ/5oíLx'x™qďšóyţë11ňšÚeçdÁý@މŕłlBüFdŔüŤz-ÇŠô+c‰58O8ýŢd˙ĐA¬›ŹşDcĂu3cŚ(Qů“źŇłtO‡®łyşĂFŃÄ19É9îxý+«¶đƉkŹ+M€‘ĐČ»ý˙‹4Ăjţ7Ô5eúl3Z ’LOąŘ~#𬡧xšeiľĎ©·rX>N{óÉŻbŽ(âM‘˘˘ú(Ŕ§PŽCoâ›vÝ :ÂűRQšé,u?ZF]8Ý.zĘź0™~g5ßŃ@_ü%şôţŃá‹‚Ş9(SOÄ1sŁÜÂIŔů¸üČŰP@ ‚2PhËĽOâŰ=vÍm㳸MŚY\Ęé•ÁĎć>µČײŢxOCľvyl#WlüŃ’śžřGţ ţyĎ˙My…•›_\, ,1»pľkíúgĄuv â˙ K…łžćßĺdĘöÚrżç"şË?čvs¬ËjŇ:Ëć9 íĐţ5ĐPÄXă`š†™ëóĆd[27H€ź¦MzÁ{mFÖXâť$ŽD*Z'†kGáĹÇÚ| §>r|°?A^2ľ ń0e°!Č"xňýő^±đ¬Í…žÖŕbkiŢ)s† Açđ  ^4ńúéľ.ÓÚţś˛´d)>¸a@¶_ z5öˇőH˙f?ŹjŰŔš 1í{y'?Ţ’V˙Ŕ¬4Ôüt¨˛,GńW'ň®SV—ZžW“T€±É+*Ź@ŕ ôĎřB|;˙@˙üŤ'˙ZÖ:m–™ŽĘÚ8UľöŃÉúž¦Ľ1$xśdŐY—Ń`Ú=Ć»[ 5Óěa´Ie•"]ŞŇ¶ć#ÜŐŠ(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(‹ń?oµ‹ćĽ·ż‘Ä3’{)ář×4Ţ×—†ÉÇŽ=ůŻY˘€<˛‡şĚ’‘­˘^ědĎčtúĂý&Ú/ÝËÜ–(ż€ú×YEdĂ፠lÓ-Ž>tß˙ˇgó­m ·˙SqńŹ‘ăđ©h ‚zEÍęţ ҵ0^ţÇ?g…~Ső^ź– p:ż‡u? IËJˇ7b9á“ĐŠö*ÍÖt+vŽńó±Ń°Ëž¸ü‡ĺ@‘ăűű "żO¶D:18qř÷ü:é"ř‡˘ČHd»ŹŢ1ĎäMgÍđŇoÜę’"ú÷^Ç»VF©â=[^—Ę’FňŘámářu?ŤkhţľĽŰ. ßd„󳬇đířţTĘq{pŞ˘Yć~ ła޶,tĎÄŕZ[jPé€ŃůŕW©iZ-†Ť—gˇ# !ĺŰękB€2|=±śZ’7ź?.Ü čÄpOÓó­j( Š( Š( Š( Š( ‚@“€:“AgâĽËZđw¦şiZí’UĚ öXŕ}µt:§Ź´ë ‰-ŕ†[©#%I\*dvÉçŻ|~u™˙ 7ţˇů3˙ŘW/˙®»˙@É˙!P\h˝Şî›MąUţđŚ>¤Pb~&Gĺ4·2g•3ŚőŰý)żđłę˙“?ý…rv˛hžJĹ}k~’ŻŢ–”ä˙şWŹĎń«#JŃ.Oú.ş"cŃ. dÇŢh´˛ř‡Ą\0K§¶'řÜŁńţ•Ö«+¨e ©Ż—ÂZ‰ĺµ{[čŃKµť_ׂ})¶-Ö´ŕ;Ć–1ü|ăőä~€=’ŠóřŹ«­lŠçÁÇýőZV?byßX´jO2Bű±řń ňŠd2¤đÇ4mş92śc ŚŠ}QEQEJóHÓµşîĘ ›űĚwçÖ®Ń@Á>$źěţżôÚOţ*“ţż Zf6µ¶S×ĘIýNkÇšÖˇ˙gŶđeX\«‘ćđ~^=ű{WźPŞ]ř{ÁëË(·„weą#A»†+•Ô˘đd,VŢMFV~ŕ€¤ýX*ĺh °.!GÁ *“¸çđźqiqhĘ·0É 0ÜEÚqëKĺĚ„DmaÜ=ńÖ˘yW/#ł±ęĚrM:‰íź|I˙z6*Jô/ xÎÚ;ł¨źwĘć&8^0 “ןְ´M­Ů-ᾊX0ĄŰ#®Güę/x>óD $M%ä|Ň$XŘ}ÉüčŐ-omoˇómn#š?ďFŔăëé\GÄ=•ŹX…~î#źřëOʸÍ3YżŃŢG°¸ňZ@|ŠŮÇÔ[ýoSŐuĺä˛qŤąÚż÷ČŔ  O-µÄsÂĺ%Ť#ÄWµčš¬zΓ ě|‘şă¨˙=±^1may{»ě¶“Ď·ďyQ–ÇקcĄř–?cµÔ`#ź•Z?đÍ{%ÂÇoăď)Ң^:7”Húśwťăäů~ÍăŤůŹć÷űĂůPqEpćëǨ  g?“fŹíßĐűößü]wW|Eăpóh(ÉÜGçôcü«Qń—‰ˇ“l±ý€±Ę©·ÁÇü ő+ČWĆţ! ż čaLüv´¬ľ#j8–ĐNťĘeóä~”é”T6w"ňΑĆ%@áa†GCSPEPEPEPLšhíŕ’y[lq©wo@I§Đ@ ‚2PhŹąř‹ĄDĹ`·ą›ďm ¤{dçô®3Äţ!o_G*ĆŃAmŽ2sÉę?!Wµźë]Í4ńÜBÎXp°ŮŰč3\üşfˇÄÖ71śg=yťżÚď!·ó!#….ä\ž¦˝®ËHÓ¬’3kgnŚŞ‘cPÇÉšđęę´KĎ›DţË˝YŃ>ĚŇŁ:ŞöÚÜô UŞwúU†©KŰXć W>‡¨ü+‹5×´Ţ5M*˝[cEžÝNG_Jҵř‡¤L@ž;‹sžĄwӟҀ?ĂÝVʨFOČ˙Ǭé~DHňµGQß|!ż¨®¦ÓÄZ=čFŁnIč¬űXţ´č‹á¤Aó6¨îž‰Sů’k˛Ótřt˝>( ˘)s’rsĎçV¨ ą˝Ćz'‚˙·Î­;ÂăĽq*3<¬ß6¶I'©Ü ŻńĹ_đ‹h+$'ý2ĺü¸p3´ufüR+çýWT›Tą2HÍ°•YłĎr}I¬ĺ&šHëŁFś©ĘszôKó~_‹4|Aâ?řH)𞥥ě±Č˝BËnä©öůxü+Ę«Đü%áŤQŇáÔ%Ig”ĺdŽGůU‡°Řóž´R{Íť—“Áźůć%8˙ľ”ŐěďĐfűţř?ün»řEt/úAů?áĐżčähŚ†_Ä 4Rsą÷çô VŐ—‹Ľ-§FRÎ[ďlýOzŰO čhᆙo‘ęą‘©ż°´úX˙ŕ:…`]|DҢ„›h§žNĘW`üI˙ Ď˙…›˙PŹü™˙ě+ŻţÂŃ˙čc˙€éţNëÁú Ů,ÚzFÇĽLS€8ý(‰p3~˙L‘#ĺqߨĐé^+ŇuyVyĘNÝ"•v±ă·cřŐ›/ĂÍLm{¸ńýÉ?5zĂÁÚ.ťr·[3Ę„24Ž[iŔé@7>™wź?O¶žíĎçÖą=CáĹ´Ž_OĽxéś«Ľ~‚?Zîh -›áćłÜ’Ň^†Bę$ń ,´P¸čë>üG5ętPłřęĹ5µ˝âŞňIROäA&”řż]´íľ”ŕY7*çë‚+¶˘€8čľ"é»Ę\YÝÂÁ°p±őäžO:".Wí2î¬|ţ¤WM5Ľ)˛xc•?»"†­s7ľŃ®Ľ>u«ńĺsô9ý Çăí ʆ–d©hŹ–kZÇ^ҵ"Ňúş&í¬ŕ'ą>ŹĹŞ˙ş­ó;żĄ6†ŚpfŐç•HsÇÔźé@ECioö[HmüŮ%ňĐ.ůY±ÜšăüMŻx“L˝“ČłE˛^RapĂŐŽxý(¶˘ĽŁţýwţzA˙~…\¶ř‘¨Gsgo0ű„ˇ?Ě~”étW'kńGš53‰íÜś0)¸|ŽŁđü+B/hgnĄÇ÷Ń—ůŠÜ˘¨E­éS•jVŚĚ2LąüłšąŃĚ»˘‘$Pq•`FhôTR][Äű$ž$oFp :)˘© J08 ŃEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEVn»¦M«éoiŰÚ»wŻF˙dűóéZKIľGT_V8¨ë"F §ˇ Đ”]x \·Ď—7wŠ@?ô,W2čŃ»#©WS†V ú÷×ݱ¶c~>]Ý3ď^;ŻXk˛ę2Üę6 ŕ´Q|‡Ó‘Áéő  ÍńLş€µ‘9ňđs0îľť?Ďëuŕ(í«Łu9VS‚¨®‡KŐüRŇ«YM}s“ś2™TŚăľp(×hŞö/u%Ś/{ErPQB·p:˙:±@Q@Q@Q@Q@Q@Q@Q@®tű+Ńţ•ißőŇ0ßα.Ľ ˇ\ä­Ľ1ď„~‡#ô®’›$‰m$Ž¨Š2YŽZŕî>möZ™V¨•;˙Ľô®W[ҵ-čG‰ –lVă b;zv®Ď\ńý˝©h4´[™Gf˙V>źŢýÖĽúűQ»Ôî ÷·4ť2Ç ô € ‘Őß+Ć?şąÇęM"±F ¤† Č4”PýŹŠĽD’ŞAy4íŚldó ý3^ˇ˘ÝŢŢéqO¨Z}–áłş>GăČúńí+V»Ń®ÍÍ›ŞČPŁnPAéŢńÎż ĆćÓĘ1ă ;=ąďůĐGEPE$śÔš(¬«żč¶D‰őUy‚ćĽďQńĆłuq'‘r-ŕÜv,HÇl““@°č˛!GPĘz‚2 gMáíŕćM2Ôśä•)'ÜŽµĺ_đ•kżôźój×Ćúő±\ݬĘ?†XÁĎ>Łő HŹĂZ$Mąt»RqŹš0Ăň5făIÓ®ăÜXŰČŞ0ˇŁ/ÓҡеŤWKK«›7µ‘‰¸Ç|}kJ€0_Á~v,tá“é+ůĄ‹Áľ†@ë§!#űň;ČśV'‹./Đ.bjQ˙M~l­fŠâ!,2¤±·FF â+Ě˙á\kóóc˙}ż˙]'…Ľ%>r÷3ßogM¦(Ř}É={ă@]Q@5ăIP¤®§Ş°Č4ę(hzK±fŇě‹’MşdźĘĄLÓí_}˝Ť´-ëJ§ôjŠ(˘Š(¦É"EI#Ş"Ś–c€Ö˛ßĹ9S©Űäz6Gć(ZŠÉOč’8UÔí?Ţ}Łó5Ą đÜĆ$‚XĺCŃ‘ĚP”QEQEQEcj~Ň5\´Ö˘9Oüµ‡äođ?5ĹjžÔ,®,nâ8ţlgc®9ϧ_½:‘•]J°HÁpEyF›ăť_O!'‘o")Ë~ 9üó[-â?j0†˝Ó<ąHĂĎŕËÍhętË©KYe´cü+ó ?CĎëůV<ż §Ś±]N-Fw€ůő©NĄK-ŹŻËqř\& šZK[ůö=wG4K Ă‹h÷sžvŠ»Eé%ecâg.y9>ˇES$(˘Šç5ŻişÄĎs™-î_ď<|†>¤éŠć/>_Cµ­äWFUvöęGë^•Ex-Ĺ´ö“´†Ľ«ÄZ袸Šdqą ö—¨ţTëÖÚu•›µł·€ž¦(•«5ĺZŽ/tĽAyşîÔp77ÎźBzŹcúWumâí č şŚhOiAL~c·E69cš1$N®ŤŃ”äĆť@yż‹nĽPMŵĚÓÜńäD ‘–Á đ=+Ň( ­ÍĹ7şo °ČŰ™$ĎČÁăµzÜöw;ľŃi»ľ÷™lýsP¦‰¤ĆÁ“L˛V·PGé@|;âüAfó-Ľ4mµ•ącšŘ¤DXĐ"(U–€ ($I8©5_íöó÷ýüb›$‰m$Ž¨Š2YŽZlSĂ>|©c“v08¦ÝÚC}i-­Âo†UÚË@sx»A·8}J#Î?v˙ôh‹Ĺş ŔÔ˘8ůÁ_ć+śľřl…‹X_Üťs˙Źđ®KSđŢ«¤{«FňWţZ§Ěťp9?P˛[ÝŰ]¦űk¦_ďFá‡éSWĹ4J˛Ă#Ç"ś«ŁAö"ş;/ëv¬<ŮŁąAü2 Î>ŁóÍzÍWM»{í: ©-ŢÝĄ@Ć'9+V¨˘Š(˘Š(˘Š(®KÄ~2›Dľ6‰¦ł%•°­ôÇ_ÎşÚŽ{x.˘1\CŃźá‘CČĐ•j>,T‰ŇçDł,ßňŃI¨nµĚśdă§jőűŹh7ý‹ËoXäaúgĄfj?,%´a§É$7•26ĺ>ÇÓë@n‡®A§8ŠűN¶˝µÉ8’%g\ú?JôMÂÚŐ§źki‘ÉŚ˛>„úWžŢxW[±'ĚÓĺuţô#̧OĆłҬ›ţ[@Ě=Ô‘@Ą/€´ +±:$§ŹĎ5J_†úiĘĽ»SßyVţ‚Ľú+ťByqOu#žŠŽÄš|Z¶©i!ňď®â`~`%aČőă@÷Ă˝RM¤ĐÝ&8çc~GŹÖ˛_ÂzüR`éłnÔ‚?0kSFń¦żö¤aÔA˙–[>r=ŠŹÔć˝A dR˵ÉRsŹjň˝>/Ú˛›dÔ€’ňż“qřצiĎvú| GtW÷Ťů˙&¬Ń@Q@Q@Q@ť«ëvZ%şMxÎťŞrI¬řXú?üű_ß ˙ĹPaEr°üAŃ%8´ĂÎ3$yü~RkjĂ\Ó52Îö)\ŚěÎîžhBŠ( Š( Š( Š( Š*•îŻ§iÄ-ĺä0±č¬Üţ]híŹ˙ V…˙A8?3V­őť2čˇk#ť˘UĎĺśĐę(˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ (˘€ äüa§x‚řĆt©›ěÁ0đÇ&Ć-“Éé‘ŚqźÂ żřŤao+%ť¬·;N7–§éÔţ•‘uńţXÝm¬á€źşĚĹĘ˙!@…Ý­ĹťËĂuĹ2ýĺqĎ5;FÁ‘Š°čAÁ5ĺíΡpn.çyĄęNJł}8üq^ąEyžń6Í$ęł&?R*ŐżĂÍbY@™íáNě\±üá^ĄEyß|~#ű5!š(â ꑤr1IŔłőÍqwvWVů7vňC&3µ×ŁÔWĽVv«ˇéúÔj·¶áŮ>ë‚U—ńĘ€†€=Ôi¶! +p€`/”¸Ç§JzZ[Dáă·‰te@Ż!đÜú»ępÚé—Ćc÷^L&?Ý={ńŚ×˛PEPM’(ĺM’"şú0ȧQ@Ĺo$ˇŽ2z”P3RQEQEQEQE[Pľ‡M±–ňăw•Ëm>•f‘•]J°HÁpEp“|K…d" .GNĹć  ó¦ÂÍ˙¨GţL˙öSÇÚN›¦}’K;Qłł–ŘHR;gŻa\UzťŹÄ"ę@“¬Ö¤śnuĘţcźŇş´u‘Ń# «)Č#ÔWáéz–Ťk¨Ý‡y7nŚ8pÄvč=kľŠ4†$Š$ (UU‚€EPvµŁ[ëšy´¸ywVC‚g^˝+ĘĽGáé<=w-pł¬ŞYX.Ó׏ţ˝{5y·Ä‰ő+0®¬V& Î{Đ]—‡ü!­—¶ż†ň;8ťVA"ą,TŚôĆŹ­qµíZ չдȄń>ËŰĽg;  Z(˘€ (˘€ (˘€ (˘€ Čń„šý‚Ű5Ě}á”dî;Ö˝ĺW_ő¨ů •í˛M¤˙ßX¬ů<#ŻDű[M”źöJ°üÁŻe˘€<ßĂţńU…ěNŤöH7ęóV^˙('ś:ôŠ( ˛5Ź čšřÚšt7 8r®¦ĺ ăń­z(ěq–ź <'k/ldśŽ‚iř3ř×_oo¤ ´1Ă $q¨UQčŕT”P6ŰÜ(˘Šp^*Ő»y č^6¸uY56Ś üÂä¨üvסQ@z|âIĺ s­)ŔĆď>G?¨áĹÔŇ–ąŐS$}árOâEzç oţ=µ$˙®Sůf«˙¸Ö?çćÇţűţ&˝>Šä|-áKýčĎ>˘ w[Ă’Ś}N}>™÷ő먢€ (˘€ (˘€ (˘€0ĽOáćń¤QĄŰŔń@ꍜu‡ë\×µëbvŰ$ę?Š)ýé^ąExŁř[·‘âYx|Ŕ¤LŘüEoiPřŢ0#¶7Qˇ˙IŰ…đ<ăč+Óh “â,¤I㺏$Ç ~•WU4ĽÓ. ˝±Ű2ĺöó€sž=«Ń+…ńf™ây®ć–Îćil`C›J‚ Żń~´çTäŠIIŁ9$(έI=ĄÍ«m¸·–śbD+ĎăO°Ô.´ËĄşł—Ę™A¶ÁöŠŠ;&m±OŚp® ĹK@Q@Q@Q@s~#đ…®¶xqo{˙=ů_ýáýťt”P…ÝŮŢéĆŇK{ÎAęţb»Ż ří&Ůi«˛Ç'Eąč­ţ÷§×§ŇŻxî©ô¸Ö 6;´—“Ľ^ę?ĚqČŻ, ‚A#¨ 9ˇWhŢ1Ôôkqn†9ŕ„´z)Šę´ß¶s˛ÇlöěN<Ä;Đ{žăő ÖŠDu‘ĐĺXdÜRĐEPEP7V–÷°4PÇ4MŐ]r+»řy¤Nw[˝Ĺ±ôVÜżŻ?­uµSTÔKÓg˝xŢE‰rU1“Î;ýh—á›…&-QXç€đcŹ®ăü¨‡á¤„ć}M@ĎHâÎGÔ‘Šlßć-űť25_öĺ$źČ |_ &ŇÁ9ů™'ÇŔŻő  cŔÂËö]zâ^T<l0¤˙„gĹP Áâ"ěx"Y_üsW,ţ č÷,â{V=Ý7/ć2NőÓÁq Ô+5Ľ©,mŃѲ qźańÝąš…ĽŞ;ü§?‹.j†§}ă«x·Í‘FF‘>=É\‘^ŤExä~.×ŕcŤFLô!Ő[ůŠ»Ä r$Ă›yŽ1ąâÁúü¤W§ÜYZÝŚ\ŰC0Ć?yn?¦ţŃdecĄÚ§#l ÄżŤpţ3ń%üëmjcy¤hH†zgŚý*čo1˛Ź4ůF†»Űm>ĘČ“kion¦(Âçňb€<či>:¸‰.ĺ‹žźiţjj <â ćóîŻ-ŢR0LÓ;6>»OóŻL˘€<ĆO‡ŞÄ.mđK.ć€8çńĹR—ŔşüxŰk™ţäËÇćEzÝçŢĐ|Y§\ÄDËonoŠYw©^˙(ČÎ=1^EQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEĎę> ѵžgá•É,đ¶Ü“ß#ô¬—řm`\ď®U{ Oç]µČAđëIŹiîĄnăpP3úÓ$řoĄ”ÄwwŠŢ¬U‡ĺ´WeEyÖŁđŢtôëĹ—ţ™Ě6źŔŽä+ ?á#đ«’âŐ Ëp2z{®kŘh A¨4ćńxîŢö!ą¤Ĺp?<`}ş}s\ěúbŢ^Čt©#¸‰Üůq±ÔŔÚÜž¸ă5éZ§´{řäułÎA! ;2qéÓôŻ(Ľ°»Óć1]ŰÉ ú:ă?CŢ€%“GÔá]Ňé×q©8Ë@Ŕgň©­´=mť^ßN˝V#*â6^=ŤCłŞCŽ-Jńz*ÎŔĂ5rĎĹí´Ş"Ô.%%ľě§ĚÝíÎhŇü1ło¦”Öeß.ďÝ‚Á™WŘuçë[u› Ţ^ßiÜjßg¸lĺpFFx8<ŠŇ Š( Š( Š( Š( Š( Š( Š( ŠŻmQŠµĚ!ÁAiRîÚW ÄNǢ«‚MMYÚÖłoˇéćîá$uÜUIcś}:u­@“€:“\ŠüinđK¦ééŔq¶IAţčč~˝>´ żç/űť65Oöĺ$ţ€SÄ«ĽŚéđcľ×Ň:˘)gc…U$ú îto‡Źq›UšH7t†,nÇą9銹Ä«SdÓ¦Y3÷V@F>Ľ{vĄ?­0q§ĎžŮqZV~Ń-$ŃËrAČóß#ňřÖ÷Ř,˙çŇűö(˙…›˙PŹü™˙ě)â%ěňk¤+9ŮČü€Ż@HŇ$ *(čŞ0:€<ĂQńwď[{i-ůQIú‘Çá\ťÄÓ\NňÜHňLÇćg9$ű×˝ÔR[A3n–ä`1–@N(Á‘Ú7WF*ęr¬§Q^áOÝŢęiÚŹ–ţ`ÂOÂśăˇěsÓŹÖ°ĽjńŤiŕŹKŽĚFH«´Ě?˝Ç××Đs@At4ďôW“XřëY˛Š8‹Ĺ:F6ţőrH÷ ZQřű\»—m–›ťŐŤÜçđ4čôWťÉâOJĂf‘$}°¶oůć–]GÇrŐăÇt9üó@‡Eyë§ÄŁÁ.çĺhţ4źŮ>9–,5ë¦áČű@~#ühş»Ôl¬nîŕŚ$IúőCţ­ ţ‚p~f¸iĽŻLŻs<Öď)9o2bXű“Ś~µČ‘‚Fsď@Űt{ő;Rs€P¤ź`zÖŠ˛ş†R ‘AŕŠđkkYď.ŢÚ&–gű¨Ł$ńšÜm;Ĺ…ŠĄÝĽN0ĆÜŁÜí'Zőę+Ä?·uŹú ßŕC˙ŤK‰u¸AŰŞ]˙~BßĎ4íUWPÔ¬ô»>öu†<ŕ’IôrkËôéĽSâ ™m/ŻŚ|Î&(Ř‘Ć}«Gţ nč«^_ŔxĎÍ#ąýGő  ^4×­5Ë‹O±»´P«grmä‘ţąjî$řkx#=B“«!QźŻ?Ę«˙¸Ö?çćÇţűţ&€:ßjVShVV‘ÝD×1ņ‹pÜ? č«Ď´Ď‡w0ÜÇ5Ţ ‘ě`Ř·“ôcŚ~F˝€ (˘€1|MŁÝkZoŮío »’§;dű­ŽßźŇĽÖëÂ:íˇ;´ů$ĽD>.kŮ( ţÂÖ?č}˙€ďţşNĄ<Ý>î<ôß ţ•îtP‹Ř˙ÂCbžu’jĆťJ#ěQŚwď[#Çşý˘„¸··,yXYIüŻO˘€<â?‰Wo™§ŔŘĆí®F}q×­[‹â\Dź7Ku¶Ěú ěĄÓl'Kem '$ÂëÓó  řXú?üű_ß ˙ĹTđ|@ĐćĆóq8ýäYü~Rkε›]6Ňě&™|nâÇĚY •9éÓź¨¬ęö7ń†€‘«ťJ<7@‰ü€Č¨˙á6đďý?ň źüMqľ𥆮±M>«Ď-kśu'#§Ąv ŕ˘k&r?‰¦|źČŠřűBŹ2sî"5żôXńµ.äĎ÷#~dUřüář›réČN1óHě?"j_řEt/úAůĆoúHS¶Öô¶8 ˙ßU‰ńP–R,`†»ośý{~•Ţ Gě«=mÓü*H´ť6 ůZ}¤yë˛ý(Ë×ÇZúĘ\ÝŁ)ţ ŕ~C?­]¶ř‹ŞĆ@žŢÚeďň•oĎ8ý+·źÂšÎwé ˙Ď<§ţ‚EW˙„'Ăżô˙ČŇńTš‹¬µŮ~αÉČ]Ţ[rď˙ꮆ¨éú>ťĄäŮZG ´°b=2y«ÔQEQEQEQP˝ĺ¬nQîaVApĄŽęŢWŮń;z+‚hZ(˘€ ÚŰ™|ÓFLçvÁśú楢€ ­6›cqź:ĘŢ]Ç'|JŮ>ĽŠłEcÍáM }ŰôČî»2ź–ĹQ›ŔZ ąŮ Ńdc䔜{óšé¨ *_†Úy?ąľąAŹă ÜţVˇđűVµbm;Č˙Ů;ńŹČšő*(Ä'еkmŢn›vˇz·”ĹŮ5+4oFťAţtvŠ§­¦Ďź+P´“vL§­\ Ş]éZ}öMŐ•ĽĚ‰ăţ}{Uş(üáůłiĘ ţ쮣ňź„4 wŢšld˙ÓFg“+nŠčQ@ař›_“@´ŽhěžăĚ%Kg ž™8=}=Ź5ąHĘ®ĄX¤`‚8"€<ÜüIżó6Ű1ČËg?\˙JVř“zc!,-Ăö%řőë­ĽđŽ‡zKIa9ţ(‰OĐqúW!Żř {@×Q{zO2/ÓűßĎë@Wž5×nÉ˙Kň˙ *Ź_Ö’/řŹX+,\8nD—/Ž˝ţcšÂ\$zdĘž3í^łáiwöpŮ[(µ–$ -Ůł˙|“÷żťsv Ż$Ţ_C}±©sôçţµ«˙ ßLň±öËż3{+Śý1ýkł˘€8”řmbż¸+ÜP:étmÓC´k{O0«6ći%ŹOĄhŃ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@#˘Č…C)ęČ4´P)4m.WÝ&›fíęĐ)?ʧ†ŇÚŰEĽQ`m/śTÔPEPEPEPEPEPEPEy׼k¬ZjSŮÁ٬g dMÎĂמ0~źŤsďâÝzG,Ú” źî€Łň€=–¸ŻŘj[-ÜWlbLI}ąlő˙k¨˙\Ě:ס`^ć9€ÇË$KŹĐTµĎßkďą*‘Ć>XŁČ]ÝĎ=˙•dQEoűRüŮ5™ĽśŰ7XË’ T˘®iQÚËŞ[Ąě©±qćłnĆŢăŽhŃĽĄiŘ ű777$”y]pQ±ĘŰ׾ ëjŽ“›ž‰Ąy?en÷Éî~ĽŐę(˘Š(˘Š(˘ŠŠ{h.Łňî Ždţě~µ‘7ô ›sé±ţòČ[”P x3Ăń¸eÓ”‘ýé]‡äMkÚŮZŘĂĺZŰÇ ÝŤ@Ď×Ö§˘€ (˘€ (®{ĹŻ®ĄŚm˘‚pOť°&8ĆŃůôçĄ?Ć:—öo‡. >ŮfýĚxëĎ_Ó5ăŐnúďP¸—fˇ=Ě’!űłłżéU(ąřo§ďĽşÔ|±¨‰ąäţ@νĽ@ńeö„˘Xĺ´-ąŁeÁ÷ Ž˙\×aÄm*L ­î˘'©Ú×?ĄuŘYÜîűE¤îűŢdałőÍBš.•‡ŹLłF`PGéYĐxÓ@ź_„b3‰#eÇăŚ~µŁłĄÜcÉÔm‘»eÎ>™â€.ŞŞ(U(Ą @ ä„Q@Q@Q@Q@Q@Q@Q@Q@Q@Cwi ő¤¶· ľWk-MExż´6Đu#o欱7Í7cчcüé4 ~çA˝óbůá| a'‡Đúę5Ż‡÷S]Ësat’ ąŽrC{ßńĹs’řC^…ö¶ť#{Ł+ĐĐŞiúŢ›©ĹÚÝÄĚă>Qp{ę+BĽU<3­ą`4»‘´ŕîL~Yë]÷´í~ŔH5IHµŮáwĘÜ`Î3Ć ë(˘©j˝†•˝őÔp†ű ňOĐM]˘ą†ńö„,Ěę"85,>8Đ&87m'̉żPEEeĎyý«¤Ďý‰¨@nJü’) ´úŰŽ=ł^E}y¨›™cşľ–W«?x?8"€=ĆŠđd»ą‰Gq*(čŞäZ–~-×,ś2ęĘUů€ţ|вŐ]GN¶Őldł»MŃ?ˇÁ±Ö¸eń·Ł!§ŃŁ ®!‘sď’NiÍńQkÜhácÎ9,ąüH Ţü6”; ô)ü+:GÔŚçň¬™<Ż"’°Ă!Ę9üń[_đłę˙“?ý…O˙ *Ďţó˙ßb€0`đşĺK,“Î^_»˙|çôŻJŇ­n,´Ë{k«“s4k†”ŚnçŹČ`gľ+ąř•Ś}—O‘śŽ|×řg?ĄS˙…•y˙@ř?ďł@ŹEyýżÄľ×:gü 9ˇÖş]'ĹšN±"ĂÍíśC2ícôęç@tQEQEQEQH;°TQ–f8zšZ+ťźÇ h»iNp|¸Řăń#RăâŹ%ˇK‰¤ě›6ţdĐ[\—Ť5}4irŘ5ü‰uB[śśŽĎÎöÎzkŽŐĽe«j„ŞĚm`?ňÎFGąę—µeiÚUö«7•elňžä *ýOA@éńC,ĢyęIĹz‘đę8Č—VźÍ?óĆBţ-Ôţú×kkioeÁk pÄ˝€<‹N»ń%¤ Y@‘Ď–ťOü‚;WŞé_\iÉ©@°]w˘ž:đzśqÚŻQ@Q@Q@Q@Q@Q@Q@Q@µm6-_M–Ęg‘A÷ŕ‚9_ĄyÍ÷Ăí^ÝĎŮL7iž6¶ĆǸnćkÔč —ĂšÔDŇîλoĺV,­Ö w}íń†Ď×5F_ č“ľ—l8ÇČ›–(8|Y ĎŤš”#'>SůRIâm'ÚÚĄ±?ěľáůŠˇ/t 1¶ÖHńýÉ›źĚšÄÔ>‚Ki׸ܸű0Ň€:q⽀´ŕç×?áZú…•çü{]ŰĎ˙\¤ üŤyUÇőč Ţʠgtr)ý ôŞŁÂÚč Ť6ŕĐâ€=žŠňÝ;Äş÷‡G¨Ű\MoŚîC)qµ˙•ŃÚ|DŇf!n"¸·cÔ• Łńţ”_đŤŽ¶P>ĎyÚd{ýáßë×ůW”][˝…ëĂçFďq$/ąN;‚+Ů-ęńÝ›/«3)ü¶šă@É8÷®Nđ†ˇŞÂłZMi$DทîýF2>­8ţęeż{wh«ŽŞYŽ!]‡<1oá䔤ňM4 r6ŚA˙ë  Ţđ¬ži¦šëÍ–U R1„űő?—z騢€ (˘€ (˘€9Ë˙h–2´bi.N2âHđ5›˙ 'Oóqö+Ż/?{ĺÎ>™ţµŤă? éş,qÜÚÍ"<ď…·<Św őqëÖ¸ęőko蓸Wk‹|śfXř˙ÇI®ŽÖîŢöžÖh扺26Ey…á[í~žŢHc…c4„䞧ĐéÖ˝ Ă>ŽbnŢy&pj z˙Zč(˘Š(˘Š(˘Šd°Ĺ0X’@:PqTż°´úX˙ŕ:…hQ@ĆźdŇÜĐÇřU)Ľ5˘O÷ô»QĆ>HÂ,V­ĚĎŕ-lě†h8Çîĺ'ńůłYÓü5˛lýźPž?O1C˙,WoEyÓü<Ô­ŮŤ–©8!ŁČ÷Ći˛é~7ÓŁ’TĽžŕ)ä$ćB@îsř}«Ń蠛ž wÄš„ŞËÁ Šú€F˝*Őyý×ĂSÉ´Ô~‹4ÔéUáńŽ“ÍĄĚ’"ón2˝?şŘϧJôŞ+ÍO‹|SĄj{Ôui +‘žĹp=ŞőŻÄ¨NŢť"ú´RĎŕqü輢ąŰ_čWC›¦±ťł!¨Čýjiü_ˇA Éöô“hű‘‚XýnWśxďVŃďĚp[îžňŹ:6ůwű߇O^˘˛őďßë;ŕ›k3Ç–‡—íéŇ°mm./nRŢÚ–g8TQ“@Ö•¶Ş]Ř5ôV¸µ^L˛:ƸőČĄŐó&ćĆŢRsó<@ž}úÖ|ľĐ%6›Ç÷—ůÄŃ~ Ĺwq¶ˇm仢XÎWqő?:í«:×@Ňl¦[éđ$ŁěÉLô­(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š( A¨4Q@+âŇźU‘´Ź0[“Č+…ýžřúâłí®fłąŽâŢFŽXÎĺuę zŽ§ŕ=*ţWš%¤ŚI>_)“ţÉţ¬I>N÷Zśl¸ęŃ9üÍIiń+‹y§Ŕ|ŇE'Sţé~uÖčúţź®DZÎR]F^'eúŹđÍqĐü4·ďµ8ŐŘ’2+ŞĐĽ1c nx7É;®Ö•Ď8ë€;mQEQEQEQEUk˝FĘŔfîî8ČHź ďVk̵ďj˙ožęŘýµ$bů݇ůóéÁ  ďk)¬kdŔű­ P‘xnĺż>?\őKsk=ťĂŰÜÄŃLźy`Ž3QP¶čoöN‰kf@"fLwsÉúňqřV•x…žąŞXCĺZßMyÎĐÜVś0ń,Ň$1_îsŔ(ůüH \˘ĽŐ%ŕ^é˙/v…ů˙ítÝNÓVłVrů‘´ń‚§¸#Ö€-ŃEQEQEQEQESTÔbŇ´ŮŻ¦Gxâ•A’r@ţµÁ\üI˝f?e°·ŤsÇšĹÎ? WŁ˛«©V© Ž®jűŔš-ă—Hä¶c˙<ň ŹËćÚƵy®]ý˘ńĆ@Â" *aTŔžOĄkxŹD:¦m„ë4lˇ‘˛7cýˇŰúÖ@ĆFzw bđśL:˙eH%l„aٱüC·Ó˙×[µĚxZ÷Ăöú\QXÜĹ’ Ň$ŇŹ0¶9Îqś{ WO@Q@‰âZř~(üÄ3O&vD­ŽťÉě9ČMń'Poő6V©Ďńîn?(ҨŻ6‡âMňăΰ·~yŘĚąŽkfĂâ™rÁ.á–ŐŹń}őçô ŠdRÇ<),NŻ€ĘĘr§ĐT.tM.đćăO¶vţńŚgóëWč ?Ö~łJÓi˘ˇ˙–“ňýśţ?ťróř[\¶Îý2ŕăţyŤ˙úkÚ( ţÂÖ?č}˙€ďţÓř;GńŽŞ“ÚŃřźÎn_M§śűפQ@g\h:EŃĚÚm«19,"źÄsZ4P?ü"şý üŤ^łÓltń‹KH`ČÁ(€ő=ęŐQEQEQEQEQEQEQEQEQEQEQEđCsŠxŁ–3Ő$PŔţ°.ü ˇ]d­»Ű±ď „~‡#ô®ŽŠâĺřm§<«ŰĄ÷íoč*{o‡š<,­4—3‘ŐY©ü†Zëh DXŃQF…-PEPEPEPEPEPEPEPEPEPEPCFÓuAţ›g§űÄażďˇÍs·´©9‚âćé¸0ţYýk°˘€<ŁXđ6§¦î’Ř}˛Îc8ëţ¬-:óű7R‚ěÂ$0¸mŚJňµ{ĄrŢ2ŇtŮt‹‹Ç‚ĽUĚreŽ{źâúwé@tizľŘüĎł\ůe)ĆO±čźµtŕ·§x·YÓ!ňaşß貍ű~™äP˛Q^qgń&í–0Ę=bb‡őÎ{úW_˘x›N×r¶ÎÉ:Ś´2 6=Gb>”±EP7wpŘÚKupŰb‰w1śÂą ~$ië!Y\ş˙yŠ® šíDdu Ś0ĘĂ ŹC\¦Łđ˙JĽf’٤´‘˛pź2gýÓüZ?‰:y|Icr«ęĄXţY§iă} 誛¦›´ČGćFGë\Ľ˙ µ|[ß[Hľ˛Cůj‘đ¸  >âZôĺÔlťC-ĺąR2•pGçT®ĽO˘Ů9YőC/P™r?ďkŚ´řm{ ÍÝôń#S!úźÖĄźá¤ë6úśrIýŮ"(?0Oň ™ř$ν*ŠóG“Çv©":\şăćZK‘ůţ^M{[¶·š©Rą+=‰˝«Ô™•ł ’OW®řúÖĎt`[©úOúµú{đăŢ€<úúîÚč«Ca«˙”ěTýÎ*ťMwu-íÜ·3°iebĚ@'č+gC𮣭m—oŮíOü¶uěŽ˙ËŢ€0â1‰TĚŽńçćT`¤ŹbAÇĺ^Łŕ˝OF–Ѭt褷fGŽS¸·A»w~ŢźJχᤠţ»S‘ůţ‚ńř“]&Ťá­7C,ö±łLĂYscÓĐ~€5袊(˘Š(˘Š(˘Š*+«l­dą¸}Ć»ť°NáRÔwń]ŰÉo¤TTP¸ô˝BfŰ…ÔŚp°±8ü«ąđNźâ;źô•xtâ§tSžIÇGPz~µÁÚÇ’×Knŕ‚®ŕíŠäŹĘşÄđź‰ăXç´ÔŇ@ë•’ ·‡8Ú€=.ˇą*Ń4&ITŞ0 08ę3ÜW–júGŠ­ˇl{ËH9+3J®Fx®d‚ `Ž˘€:=WÁÚݝďä=âO›Ě[ę:çüäÖÖóŰ&†HÉčHţt°\ĎlŰ žH› ć7*r:t®“EńƧeq^Mö«R@3–Qę©?\Đ.ŞXáA'Đ Jöë-IÔ ­­üíŃ mc˙85‘âŮęۧ¶Űmx‘ţŁúŹÖ€ž$Ňn¬ Óˇ_˛MíXdlî˙u»ţ†şšđÝGKľŇ.|«Č'ĎĘÝ›ÁďR·u–DOíK°¨06ĘWóÇ_Ć€=¶ŠńíÝcţ‚·ßř˙ăZľ5×­\yç.rRd ă×ő _˘ąß řĄ|@˛ĆöţMÄJ `ĺXăÓé]QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQP^^Aag-ŐĚ‚8cf4ćzö·â›;éîi-T’D¸B?Ůn˙αŁńµn]Rěścć™~F¦ń'&×ďüŇ vńü±EžÔűšĆ’'  Š×Ćúő±\ݬĘ?†XÁĎ>Łő¨îüe®ÝĘĎöÖ…OD„éßó5Ňč>¶“NYµe”\Iȉ[o–;ď]—„ôKş+ÝńŤŇ’˙ˇŕ~ĺ±xŹZ’şĄŮĎ÷ĺ-üëB×Ç:ő±®RuĂ,`ţŁőŻBźÂ: Ëî}6 é™d’‘TáĐżçś˙÷ôĐm Ç°ę7QYŢ[yJÁĐîFcĐc¨ôď]ŤcéţŃ´ŮV[{%2®’B\ę3Ŕ?JŘ Š( Š( Š( Š( n®íě i—«;`V;řÓĂČĹN˘2="r?0µs[ŃmµŰ˛Ü—\6ôt<«“ŇĽţűáî­nÄÚ´7iŰ ±żxýh´4đńVa¨Ś/\Äăňůy¬k߉q‚¶VrĚßŢ”„^äţ•ĹIáÝj&ÚÚ]Ů8ĎË 0üĹWM/P’O-,.™˙ş°±?–(bűÇÝćBN¶Č†ÇęrZČŽ GW¸ĘGsw)8-‚çń5Ůř7Ă iu}!6ŕšqϸŘN=:ŠďŁŠ8cÄŠ˝Fü(Ël<«ÝkŹ*Ń÷Űscč?©Đ[ü7Ó–,\^]I'÷ŁÚň ˙:í( ?ţĆŹ˙?7ß÷Úń5­¤xWKŃfóíŁ‘§ÚWĚ‘ňpzđ0?JÚ˘€ (˘€ (˘€ (˘€ (˘€(ęú\Ć›-ťŔá†U»Łv#é^3©i×Vˇ-ťĘâHÎ2:0ěG±Żlż[§°ťl¤XîŠ)dí^9­Ĺ¬­Öían|Áň†—%~Šz~T˙ëłh:ťrĐ>hÇń/·¸í^ÉoqÝĽwH$ŠE ¬;ŠđJÚŃüSŞh±y6ŇŁÁťŢT«ąAöî?:öZ+‘ĐĽwkŞ\ĄĄÜÚyT!·#“ŰÔóšë¨˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š NęMpţ/ń^§¤ęc´…aM„än?®EüYŻ;–:”Ů>ň»?k–qéBĘ/"ââ~‡ĺ){·±ě?ڼ΀6ăńv˝n]JBqŹ™U‡äEnéź®’UMJŢ9"<!X{ăˇý+/Â~ţß–YnHěâůK'źĐă©ü=kľÓü!˘éҬŃÚů’©ĘĽĚ[‡OǶ\‹Ć7ąPN3é^G«ř›Ä/y$W7ٲ·ú˙w·ńźÎ˝z«ÝŘYߦ˻Xg^ŢbÇÓŇ€}ĺÄą>d¬Ů‰ŞŐëÓř#@›$YŘść9X~™ÇéL‹Ŕšd–¶’Löy›ŹČŠă| o§ÝëFËFžP…ă$ĺ«ŹÔńí^¬0@*­–›e§![;X ®Ĺź©ďV¨˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(ŞZ–“c«Ŕ!ľ·YUNT䂧؎E]˘€8{ź†¶ŽůµÔ&‰}$@˙ČŠˇ˙ Öóţ‚ß˝Šó±đŇ(“©Ć$Ď "8#ëźéUŹ‚Ń.Áé–ă=Lk°ţkŠÉ¸ř{ŁM“\ŔyŔIÝAéő ^_Ű\ ÚV»csßˑ·čO?P*›Iâ/7Ëu,qŻ$˘HÇn™ tEiëŻ-K§Kö´ţ(Č ăéÎůë\ŚöóÚĘb¸†HdĂ"•?‘  š®·¬ČŻ{9pŁ =ńÓ>őźE@$ôTÖMsr‘Án×|µRw}qÎ)×67v[>Őm,;Ćĺó®GăMK»$w˘ŽŠ®@ízE”6z|";(­ŃZXăŽA=đx«ŐâvŢ"Ö-ňu+Eg,ŕr+¬đ玮îo ±ÔbYLÎ#YŁ`O#ˇçÓčQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEó%µĽłČHŽ$.Ä ś“ĹIA‚Č=A çâZ†ak¦’?…ĺ—šýkš×üQ{Żůi(X`NDHN ő>µÝęžҵ ZhwÚJÜź+”'×iţ®z†×ęßč÷ÖŇ ő2qř@Mw^Ńlç—űJiâ–â"|»prcíą‡ň˙™çáö¶%ŮţŚW8ßćqőéźŇ¶ü?ŕ[Í7SŠöćú516B[äî„śqíŠî¨˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š(˘Š)D(ęOPFAĄ˘€2n|1˘]gÍÓ`ő1®ĎáĹQ—Ŕš„¶’§&´h Š( Š( Š( ąťcĆú~“xöžTÓÍĂě*űd÷®šąÍsÁš~ł+\kk¦ë" †>Ą{ţ”‡˙ 7ţˇů3˙ŘTđ|J´l}ŁOž?_-Ă˙DÖÓ¦x;ŠźÄýMP˙„'Ä_ô˙ČŃ˙ńTč¶~-ĐďW)¨EVsĺ˙>áV$ńŤM#j¶eTd…™XţźÂĽňĎáţłpăíTî]ĂŔ.ťk²˙¨żţKötŁ?ÄM2ËWr8*€źŇŁO‰Q@d´ĽVîTŹĎp¬K߇:Ś96—0\¨ěŮŤŹáČýk_ k°– ¦LvŚťoËć€=xďA1űDá M“ý?Z©˙ G˙źkďűá?řŞŕăđîµ+m].ěgć…”~fŻkţ@“ěC?ÜóWp˝úôŘÇńEvĂGwÇVŤqú1­›/čú†~ϨBHţ;äŘ5ĺřoZ‡´»łźîD[ůS đĆąqŤšeŔÉÇďgţ…Šö·Ů˙ĎÜ÷đQöű?ůűţţ ńůü-®[g~™pq˙<Ć˙ý5ť=ťŐ®~Ńm488ýâçÓšöMCÄzN™µĹäd·ÝXţrÓń¬VřŤŁ† AzŔ˘5Á˙Ç«Ëč U‡â‰)Ăý¦q™#Ďăň“[V:î—©¶—ĐČç˘gkß'šń –Ú ngXáÇzeÂţ¤Đ˝QX~[Űmµ.Ł–EbCy¶/čNsßŇŻ>µĄDĺ$ÔěчUiÔúĐę*(î`™¶ĹĘÚ\ťÇ|JÜúň+:oh3}ý61Î~FdţDVÝÉÍđóF ŹuÝýr gMđŇ23¦Ŕă¤ç'ęŢŃ@S©řV°‹Íeâół¸ŔO_Âą‰"’ rŁ#ŻUa‚? ÷Úˇ¬iúÖź%­ŔĆáňH(}Exx$AÁ kéţ'Ö4ÖMěŚţYĘwŻäz~ŞÖSé×ÓZ\.Ůbm¬?¨ö#š“KľvĄ ÓAčŚ G"‚~=ˇ aĐuFÖtxo^ ľC/bGŐĄPŮÜÁygĹł††E „zOĄM@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Ä+M>XŇä\š„@)‹xÜč}˝şţ~Őç•ŢřźÁÓßϧ·ÚĚ]˘vĂ‚zŕž˙ős\]ŢźybŰníf€çĽBúý u>ń(Óç:uěĘ–’Čîp#oŻ`źÔץE4sĆ$ŠD‘FFĆĽ¬Ů_^XN$łžH¤Čű‡ŻÔw v˘ł , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = protomol # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = header.html # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = footer.html # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 1 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = YES # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = YES # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_PREDEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse the # parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = YES # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or # super classes. Setting the tag to NO turns the diagrams off. Note that this # option is superseded by the HAVE_DOT option below. This is only a fallback. It is # recommended to install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = NO # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = NO # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found on the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 2048 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes that # lay further from the root node will be omitted. Note that setting this option to # 1 or 2 may greatly reduce the computation time needed for large code bases. Also # note that a graph may be further truncated if the graph's image dimensions are # not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). # If 0 is used for the depth value (the default), the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO protomol/doc/doxygen/Makefile0100644027616700000500000000005510237151525015675 0ustar pbrenne1dipdefault: doxygen clean: rm -rf protomol/* protomol/doc/doxygen/footer.html0100644027616700000500000000033310237151525016420 0ustar pbrenne1dipLast update: . GNU GENERAL PUBLIC LICENSE, copyrighted by the University of Notre Dame and the University of Bergen, Norway. protomol/doc/doxygen/header.html0100644027616700000500000000047210237151525016356 0ustar pbrenne1dip

ProtoMol - an object-oriented component based framework for Molecular Dynamics simulations.

protomol/doc/doxygen/protomol.gif0100644027616700000500000014647210237151525016615 0ustar pbrenne1dipGIF89a €ç{@“m&Í&&ŇÖg4Š&¤f[FL<&®&.ŢŢi¦gd.=3°z¨®ią¶&.ô.b^„{jćć.˝•”':ş˘ 6ţ6U!%6"Şzn®ÂnîîÎ22[d\bJI0*Ś<=öň.Xvoˇ~^\X€YŽ†>¶Ó˝Í®®­fâöňKĎą»°<=žĘĆl$&m~Y"""–˘kÂŇĆIJ%N5¦‚^x¬ŚlbIĆÂ&}m‘ šž‚‚‚šŠZ3/ţnnZr|rÎlmuV[ˇ’»&XG2N2‚nNa•wvŠyŞ˘v†ÎΦ®–žš&žMR˛şš&#µ†‰šŇҦ†‚ŽđÄÄ‚®âŕ.d47U>@źÂ¤öööĆĆ&ۆššš’~xWJJ®®ÉF#,j–n6^Fţţ6x{„fdeťźť’geŔ®¦·˛¶runWMVU~SR˝pqš–Z.Úެ”ť¦˘–ŠŠ^D01n––ln‹ČßĚÎIK–°°^\a:.ŽŠŠucdqéčé˝ĘŁĘ˘ˇ¶Š‹BSCŰ”—‹(*vt†††˘rp¶®–J62 Ň Ş‰†Žz~.zţ Ě-ěv€ŇŤr¶ŚÖZđá&FŰĽűřç…ŢĎáË˙ŕ€JöŘ&H™‚.öZ}őgá…f¨á†Ť/í¸"† ­1ç\kAą" /‚‚ÉL&žâ ä$L0 ¸ Ů)TH5éŚ#/™ $L5n˝SÍo®”3Ęs¬ąÖÓůd‹Q%ţdĂěŚ7Ţ‚¨Ę.ě÷ž{ńѲÖ;JâQ$‡pĆ™4Ë@sťvÚ…çťuň‰gť€ţ)h „jhˇş§˘‰&ş×]€BJ§¤Fš×ˇrfŞé¦śr*”Ě1×Ď.Ŕ,S¤ÍąăFÉđňĹ,ţlTȉ§„LŹRŁřâK>5"DK6(ÉFe"&ˇú”0ÁĐRŐąŐS:T “Ď.éĚÓ“·÷ůRM0fľ÷;ŤĽsŠ ŁđňB§đbx4„Ń‹˝FŘ ¤„í«/…L`;Đ´SN;†lđ_#Ö0Ă~Ů©°Ŕ€ĹkńĹg|‘=ľŠ0¤KNiCkÚ¬Biź:ęLľ`—‰=9’ČZ‰ľ€ŰAÚZ˘M(Ő »NhÓ=âÔÎ.«%…É8l”Ł¦ ÉL€ź[ˇĐΊŁHĺí·ó„˘ń×™M:Řýö%±ťöö•¶]k˙;ľ,wÜth×Ä}|™ţ!7|đßl)Ĺ˝[ř@†»’řâ7~řăŠ;9äŚS.yĺ“gŽůć—wnůçš{:čś“.z飧Žú꧷núë™4‹€$cŠCĽř’ –°S•ŃśĐzŠql™O2Ď ď‹%±ť¦sŞĹń’0lě‚ &46ÄËrśXbĎÍ•SM()Qň&€ W dl°¤,›óé%¤ěŘ…V€#;W|ĺ ™°D2ća'0ň™‰TĄ(UIMěoŇt !·ů· F‚ŕt`€ŕH@B¦„<')©…ĺÍ›qäýćiżzꏞ÷ţ´çţđąO}ňóźţ (ě"ĽŤôĂd™ŘĹş y"<…°G6ÖpBXôW ˇE9!‡dB‹5ŮLJń%O–ˇzÇ.L‘ m4ëĄ+KĆ.@Öżlě"óbß„/ĽˇE,D(cĐ|µźG-*R'çČ42n€ě bÄf·Aő›X gw0w"đ«ÖÜ &¸r˛qB’¦Z× 6Gd”'\0Ř Ś`5˘ˇ]W(ÖŕŚve]!$-š ŽGV°qúaX…̦™lH&t8łqĂÁ*„Ą¤śb ¦0E:¬ĺm°ˇG´FşČxźq¤•­f´ţęŕ*3NSŕ@ťn,'Ů*C¶éepŔí-ťÚ8Üâ.°·´ŕ ĄąÍĽf‚LLĄ<ŰęZ·­aźLˇÉđ%C°$J†\ohŁTôÉ k5^D†´±Ůť'[`5DUěnAľŔX>gT§-x!Ňö¦F[ľ%5ź\w‘”ŞsńVÎ˙b0‘Â…‰ÍÂÜvÂ]U`'4\7w«'&¤†ßiÍľ|/zs#:ĹZ§v( o.®±ŽéDňĽË‹ĺ ˛1… ä!ąČH&˛’ŹĽä$3ůÉNŽr“§ e*KąĘXľ˛–­Ěĺ,wyË^s‘B"mřL7kPţĘ1T‚°#‚ťI:äZđÍB]y­¨ ÚŽ7—0ŢT±Ąl;â‡97pč41†1ÜÁËôZo[F®«ęβşłÄy“0‰ŮcŮě÷ŮÍŽ¶—¤-äi[»ÚŘ6ňµµťí`yÚŰţ6µąMnq‡ÜÝFwąŐmîtŹ»Ýë~7¸ÉóEŁÁ)Ę(BqŠQđT7Ŕč70ء_”ŁzžI?ŠŔ†ß˘ç¬/‚PYlk9#›I/ŇŽ0‘(‚(xAţÚ±†w4˘J a_Ô~dG»űÜňŽ9ĚgţňšÇ›ć7_˛[ď&°¦Ă8ć9ĎWüꆑŐRÂF¶€"µ°cXŘ} L6(â ×Ć´˝57Ç™·˘łBŘók,GÖ»Ú?n6ŮŐNíłsŰík_»—äŢň¶żťí׆;ŢĂ~÷ąŰťîc˙»ŕóŢ÷şđz·¶Ź’ç~ßl;Ź3`C‘EłAg~ÇĘ5ă*W¨¶˛Q{LeΙQ‘"Ú~d Ąkđ%ó±†Přb"'H;,±šw8SŰôüáĎwÄ^řĹ'ţÝŤĎ|ĺ$qËx±;ÉZ¶ŻS•N1.щţ ¨…˝řÄĂĚ!µ)Aż0ý¶(î¦ÁĐ?±ékßnŢ_cműęďă ŘB·Ř źxżłą Ů&|ˇTořdxw€űG€Ĺ´€Ř€ř€Ďć€č ČHn 8Hc|Ď7 e ° V`QĄ‚,hăP4A=g6€{VÁŁˇY&$W]âcQPđkV#LD ¦P=é*¬ÁQźGhx ăP&Ňv¸…( ¸Z†`8†Čn>–ا~Úgb Ôč÷†d ‚lS·uľ–cŽ1c—ŃtÇŐuEÇa„RUŚ #uţÝ”jÎőU*†NŁxŐöE€‰č ů  Ěđ…lGw^Xwś’… |Ŕ7Šý׉÷‰űŠ¸Š¤|®xŠ¦Xx¨(‚ Q*ÁÂČĂ‚ Ő‹6 j@ :“g*¸P*l`…Ŕ –đ- ?ČV˘ żĂ…đ$4 € gfpŘ…PČď9KťŐY‰n×v¨`Ëçl۶“vד"x” ŃRĸ.ę‘ ĺÂ0ĹŘ‚ŕeQď čĽX&¤ Á`$b°ěeŚµÚ° l{®đ#—=BBRŮ• Č#%dq µÔŐ°rž5­’Ř”@ÉwBů”D9”{™ţÇńt)l_5!ĚĄME7bH—a!–Ó†^Gu „ô·\1cÓ0éď'8ÉĎu,°*v7IGH4 ‡´”žXŠHŹ1 E ·`gHŹ°čŹČ÷śßćś~7ťŃYťxvŇţ™ťÂ™ŠÜi‹Ä靶ĄP$GIťÁą‰ÝžŕiŤ`2u‚0xĽg-X‚–@Wgź÷Y–ýć X"<ďP)— @%#öŐ_Ŕ »ĐWŽu‰Í˛KŘ’ ł ˝b-Ýąd‡YŹĐ©ťŘ©žíyžŢ ˘Ö)˘éŮ8Qů8ŽdcN'~P·k–1ŁÉNůj}k!ös/)â‡ć·†k>·~>}şéTĄ¤ô\ĂĺsV’‹řuѶ€37TÁ ĐPDp €@6T‰Ł…Q¦Ť9‚\x¦M)•¦Źip™rÚ¦* 9^4 T€¦dj§.7§“Źá Eţ8˛®µ»pŚ–p2S(ÄXýié` Ü Áă•UQÚŔl*âIwŮ‹é`E ŃIď`5! A°ë2bđo1`°Är J‰Ű¨N©¦,ů§~޶ş’c¦8G¨9Mâ'Hć§}~ł™óšłĹ‡5–ÉNJúŁ‚¤a‚+†NŰw­Éöuň'‡ ´}Ɔ›Ww[Ö}ѡ†Ç§A ¨Ŕđo_@J/`¦"Řś'*śřŠžF¶Ż×)dţŞ˘ý ›»žť.ç ö T`ŻÓv°íÉ?KngŮĐ+Ľ8‰¦hď@4•¨€v »ł IůŔ^í•©ëňţě AÔxy•<wEVҧ'Kś`K ń–Zyä?‚úˇ›°Á9± ‰ŠJK°{†łš_€@p­i‡¤y}R‘Ŕ¶ŁŽřa8`cSÚ)l¶ĺ±f¬G ¦]9’Ś¶ßGĄ}Q:NŻÖa— µL™d‰idŐPHP¸ŔÉ”qÚS8É ŤŰłŹ«‘ëX“Kµ•;ą×đ˛“Y”›kąPi§‘±ü‰©§˛GhEaĄ ®ę±–€r á ˇPŚ˝¨  0řQÂÓxˇą^ç5ÉđPF’ 94§«ÁŤL«®”›¦ŠK§Ś+˝śţ{«Ó;mr×n†)Mk(·Řš@&’tŰu$}>wN‡Č­Ácą¦™ôµo‹®N•¶6›ěËľPg®¤‡ĽiA>ăhś˝Ü€Á /X”G+ŠüjnNűĽ(Z±‡ŮŔLÁ<±즮 Đ“\ŠYŔ-ĘdňܡŇL 9áý=»k íˇ{G‘Öľč ź±ľ©eiQµÄq‚<,CqQk0 lćě„o!ěâ._ňnÚĘŠŢĽŮ°Ö'ßöŢć)8]nČĽą@Żi~#)lq¸ÇA  o~쀙˙ŔńŢ»í‡p‡€ÁĐ÷` öP÷ľ ‡ IŢŇđÁp-€Đ€ Đŕvâ¨I/“,0 WЇůö€ŃnŔo°¶*Í÷>Žµ{śŮ^ÍŤ=˘4=T»á…ŕ ŮPü˝ţŚ°¬HÓe,ýţĚĘĐß%íÔ/čŰßťPx€LŕŮUWü7“ń0@ţ~ěě–Ţ’ĂÂ6ŕ q]2ź @Bô_ż Őŕ&áJŕ@‚®ěů˛‘PáBˇv9űŕęC6§N%´ńbĹ‹§0ńX.ŰŽ5žR#¬ŕJ Ţťňe©Kš®2Y"1aÂŔ/< öô ¨«ˇ=‹%šT©@Ł>™&Z°éĐĄT ŠQÉEU¤M—BuúőčÓšíÚ-C›V-ŽvĐ–•kgj™)¶pË-kw×.Zĺp Ý ×m;{nď¶`ŃÂÍ[7†ţµ]–];*łµ(gŻÖĺrěĘeţ"­hoŠ5¬…¤Zĺś•y#í‚=DÁd•É -V™rÜĽ\(wŻ˝Ľ±Üä}{7/r´táâl·ď_ĽËŘžm÷¬Ô•cÉ~ &˘gˇ53»k÷Şý»ŐóT˝×LϵćS÷aድO3ţ{ýřŐ+mg‚bhi‚aiŚţÇĽ˙ŘŁŻ+ôÂzĎŞ†B %ˇP@Z‰–|ÁFĂ CI†Ăů˘Ĺžj":± Q˛AK˛É„Ą›*‚Ń"Ś8‡{N2餎v™eĄBxÇ—S&8i•ZčČw á.ÂŻäóďJWÚŔŁ—×;ĎĘ*Á,HWbpP)'D K,­zA r{ţë­Ľúz®ŻłŇ‚ 9hĚęK­:áúëŻvbHěżb8$^Ž;î®2ĐŠMš¸`Q–ˇB*Üx¦bÄaá‚XŘQćQą /±G12{Z§ \bÉŕi‘Ë2®… bXF´ĺîÔ:Ľö:KĎę;ë9fµë¨úČ$hNč `ÚüŽ;ď˘ĘöĘô´M—M®¦R÷Ít­ZWÂř¶{w»L’¸BĚôâ(˛ tŘ©‘ĄdĐ’ëŤđ^鵏żFĽ°!p]a'@09ä«Is Z ˇ…–láCvˇJ‚„Y“ ěańDaDŔ(Łž×ţˇĐQŁ Oâd™LŢBIť„´H'Nx‰™¦LÄĐF§ ćÁ·Ü®ĎĄP©śy¤„W˘bŹÝüŕ%ëŢ>°äK{Íe í° ć˘e–Ůgź˝‹…e«Ő 9żíÔËi–y™bĺbňq&’Ckib&6ŕAä j©…—(ŚMDÁá*îäźxĂ‘ub.žCĘ(ŁD˘Č€ €x@náSî§<ŔŁ…d1‹oëú<ܬ9Ĺ.­;ÍZĆÝ1ńű…žÜIŔW^¤dňßwŰ®ą­2íüÔłßküĂ”_Mţ×LĘ ÚŔ†L¸§-ŠţŠQrPĺĹ8DMŘA¬±DÂîÖžąůO^úsĹ…0ÔŹjdc™Đ†G䲌ŤčB)ň!NäC x`Ă.V _čD_É86&39Ą#ďhD‘jB ˘íh§Ř„Qj„‚IŃÚÓ22Ld#Mo°„’–´$ťĐMLđűŕJ®ÁTÍ]SŰřěó€Cdb÷YÓ˝ľĆ&‹ ¦ČËś–ć\oOĎ"Ü,¬•–?ůĹo-¸˛eBąC7Á µ@„ôţÁ ŕ"ČĆ!Ź9‰ĂqÁxÄip ‰ Ü# 8hŢ0ae”㇂"ţÁ #X˘đ‚,Ń[!!ůF;!HĺL«ŇbZ˛‰B=§‘ŐÓKřđöxŃo}/(Äz" 'ü§mrD—Úě¶ý‹]C#Ľč6rĆńžZú(đ€ˇ¬ĂlF2q­ĚG ŢΖ0aů€6¨$»Ql>Ť_Ţ\Š54"î‡Ë@&"±°…„‚ ŚńT#$Ä„B2 „ΰÄ;2t!Nb>´hÇŘŔ‹F°CŤ;ÜŘ"šíH#2BTšFF¨Ť1#ˇŔ;´E&eńť^)Řm''v >MŘ8Á d Ä–Č KÄAmzp˛űUŁŇPÖNB“ˇq9ăŢ?–4ĽÖsäť …¸:qso80L98©6ţëúP%"Ţ IÄ “Á„4đ cŘB@G*Âá ´@ łČŔ3¦!Ž(8!©¦$L% 6@ăĂčŔ4ĆĐ{ P!x(ĂĘ zăšř5$' Híč\á.«J—/t dü©y–ÄVŻęý@#˛sĆzE·‚;¬…3ú*<TŻ•‹—0§x"`‘Lř€Bŕ‚`‰đ, I€1X$¸E¨v (¦¨†/(„c‰kŔ†bđhW¸‚ěp? ˇţ#ŔűŔ/,kL ) š)… aş Ł ‚QXC÷r^Hţ‡#S)ťbdč°/'q…5şPx‡) †P¨„ĐމL`5‡ŚXE#"{x‡ 1ř˛•ł1Ú‰ń1<ţĂ«€YM¸†zč|@Aŕ‚G¸ YŔ€kŘ„#,’»y ‘ ‰» 4KĂ4jń›ç¸Lű&jÁY(C00ŕ‰I¨‡é)‡I‡1…ux78ľgx‚`ŕI(Y¸€ćúx„IXP„ d †WQ %Ük@q+@„sPAPľ»$p•|8‚(@„·…ă°ĽĐCąÇVÜę0”Oţ«7JäÄ#ȇć+'‚ű†Ľµj3â »ż”ȡČČ[‰hHWř•ˇŠř€7 €>Đ›;ř‚.ŔŰ?Ŕb¸‚Ľ™#L€.€D <€Pş)Ŕ1ѧÉĂ,ű‚l°„'© a¨†jp†5đł|@»`q+(łBXm¨›ËA`‡*–Ň) ‚lř‚ ȇ]x‡t: K†z¬@‹¨^P#XŔüˇ`¨†q C™"#¸«/3ÂHŚ"4¨k9Z@‚ä2č=@Bs Č™‡@ţD€ĽQ@¬'şĂ2}TPśŔx<é›MĂ´9i;ă ?6ŕcŕŘYOĚČŻuR¶Q8ŚĽČĂj´wʸŕ‘c‡#Ý’”ąßćp„$hjX 29ö8‚t8\xZ:JAĽ7)˛•ăĽ@°Š`…lŕÁµŔS^(ˇ«äj`_H;W(e Ńj„jKHšˇ…F‚J‡Q «†ţ"đm†l˘jhg‡5°‡7ĂAč™Ůî‘B=+W>‰˛ň… pZ ÜŇUł?,84D$Y°Zš8ZWp|pnZ1ČS@"¨†ˇ  :WĐ„J…Ľ)X<ŔeôÚúăŮ•ŕ&»°4cŤíů›ś^ę‘7`”Ě0„pp ‡(0¦xp‚3O€8Č hX‚U„lČDp„<ẀpOhp‚jȇ;¸€;…FŔ]ë€ Ď€Uŕ†l‚88„ Čhk86ŔC‡đŕ Č€‡iX‡Ë™†ËP†vĎWČXOËţMm ·P$čČGú3Ę÷ŮŻˇ›x  ¬y‡úŃ`€î ¦ęµ‰Hkžź‚M]®ëőr´š poXĺĄ< ‚>Ř…vPc cj‚Č”(–ŻĆ#ŘÝŁą|ĐëĽ~‡`Źş“…{Kh)!KQŞ\M5Á7řS1NČm ¤cš(„+ŔÔ¶9amŘ[{ě`ř‚$ …q"-cŰBxiTL°v`Ź`x Ý~e^h‡4Śšj/+ńy4Pôé‘jnI„pD8„y@MrĐL“f$ř€ů€UČŁţr…(„ „!J#ö†Pmďi‚č< ÁŃć‚7”ň*7 ô+‡ĹYehčś;xxh}ř‡ZčßX@„P+ŕ† † §ŕo&đGP„HK<Ł8/čh@…I‚`dGČz°‚ ȆÔ|‚X`čQx€(ÜyGGdOSčd¸śu86TÄÇęčMŰzěXŽmF ä®YŁ‰>Đ€[bK´„Á )Ä%‚‹Ů2ŻL ŤjP<8mÇał÷Ż›-__‰ů€#†.ŞX |@żŘÄő)ŔŞppLhî))WŔ3—ćţš(‡Hmxdiio‡ąMŮh'c5ŕ„BĐĂ/†qH‡)ZšP…N®1H2¤‰@ÎŰ ° ›ĘĘ5…ih„|N0ä?~^č"pÉ„c·<„ä«}vh?…t(‚„1…ďw»Č@2Éę#(Ŕ$ß0Ř„fV°ël8™+›…vĐ=fŁ–ŃreĐ 2U*Ütő Fˇ_nbbp"F‰®2NlŘ°ŁÇŤ"ľy°]»rË–Ą\ą2e;h,UÎ\Éâ%Ě•Đ2 ‹âćP c@#…Cf"Q‡Č9 Ž…•`9IĘ+Ű“ ’vţ‘Ú#j±9ęAˇ ’(Ł$u¸ŔÂŢ:D Ć·J±Ks$Yr4 Y&c*ě6 D<'Ó.ŕ1"JR Câ@°Ű)«KĚËĘ©ÄńҦËÍ*5Ź††9$G‘/jô¸úbˇ["}řř$n“®ľÖz$ë/}X˙m2wę׺QkyĽuîâĆŁ»ţ]˛!0v!ýř6«64 Ĺ›XČ—l8>|Ů”ĹAQ0¶ 6ܸ«F\1ąDr9rŔ©uŇ]×P6ˇ(¸ Ť€PŽs±“Ž‚l”L9Âđ˘á8Á8# ŮX2 /ö¤“ /ÉřJ5™ĂFŐěRŤV0B„ţ®Ś=¦XRÍ8㡆6őđbI>k°qĘ(Ú(8Ž=…°ó¤Ł¨a=käłÜröĽs a†‰‰3…dĘ`N ćš1×QtÉ ¨\C,„RO>őŘÓ&qňĹŮĐň 0‹&ĺŚ!H!#Tđ.ҤD}@Eu®,#Čs`Ž9t`9(±´ ©nvSf¦µ¤Yh™ˇ„Ă?Ę”1 ˛x!M‡¬2Ć+ěH˛ĆtxŃ@ ±üđ@ĎDÁÇ!H€`É3ÎŔÄdăHŇ\0ĆŤÜ9 @SĎĆ\ (Ź\ŔF.ŻłĽcé6p˛LCc /ľ1Îă“O#ě8SMŚăÄF#†g’É8ˇhÓäĽěBş¦Í'bV“ţM&F_#Â)¬i=Ó 5ÝĘ7ÔÂ|M;D¬áµ ŘPíĘ5Ő„rŃ5őRN&ÚDOKmÖĚr%´ n’ŚŃL"8"K ÝŞC'W¨!Ig^âŞĐhć&ÜXJfÁ*Í”ˇĐĘ,Ľp(¨áVř@ĐĽbĆ'2P‹XÖÄ4ŕŕaI˘7ČFŃ,H ?Ě0Ęq–ŘC¸Ć#~ŕT Q €8@I4Ât .V‘Đá–¨ŔD!h4˘’ČĆ2Lá†Ual39ń MP‚’ŃtĆŽ˙S ÔžťăTęx"Äţ)j…E0ü×DléT (Ž;mŚo{¦‚“›”f´˘mď9ú (Y·ĹŔměŔĂrdqIśkŕĹA„‰RŠ°Ł±ˇżdýä*IÉĄvdC éĐFJ=N°Ř_&Ö`c_äC‘+‚%ä9ˇlŚC kŘE#Ř°‹Yđ"ľŕg(Ţ!štÉxĂ;D€ ń™â´†0!j!ˇÁŕ…‚Ţ1‹VCöŔ°ÁRB±ÍlĆ31Ů#hFs±8BduE9Fq›Bd#í¸Í> CD!Ś¸H^đ† čFHAţ<ĘR©Řż?g…ŤbŽµ!›đCćÖ‘ř®ŔţE4üvť´’¨ßôúĺăčAję n„` QxüĐő`äš»lÚ~{>S˝Coˇ¸RŚÂm<bČ„–óŠ&łcÚ0@ŕ Fä#ěX'ŚŢăL˝Y&l`ôeÁÎŐ(±+ň‘ 6ÔÚ„/śP2‰ţEkÖ#L$™™Č‡Äëă8ŁyŐsžÖIúXŇiĺ0k^…`ÍHĹ,fqV¬âőŔAÚ‘‰Y ¬8`xÂ@ Đđą-„6¸Â,„Ă 8¬č0đ@3 ÔÂ?t’+PADĂ#Č‚Gţ|@ XĘČLÄäŔ2ŕÂä ›IŚÍĹŃiZ­„˛-4HĂ\€¸Á:d.pĂx ŕ(x‚#8 Â%H ěAHBBH"Ě"¨A¬$´E4 ŚĄEA˝ÄBDź)Ä€>T¤Q ‚ TB dŔ:Á$p,€Â!H "ČÂ!¸)ĽÁ2(…±é L×gL×IWČřŘI×5D!Ś0ÜĐ…@1 p“d.DđB¸×¬ăµ—%ŘÚL)ä‘—(Ťůyťö ţ~řÜoSYyóčÁ&ŕŔxĸŤHĐB (BŕA,Ŕ+ăAP\C”‚'<MC,Ó{Ř)vť*ZHXŢ“ÄŘ—5ä„ÎAĐBB}UĂAčĽ@ŤB5ŚÂ.ŚÂ‹XB#¬Ay I4‚ X_;XŽ/¤šĹÚ{­Áď /´6¬ŮŹA9TõX$C:ěB;4¤%0ŘA¬ÔŘ€ ĄP.YJUŽđŁČ ™Dp‚8XB4'$B5ČĂô*°B#Ŕ1 A', ‚2ěE))lF-\@:n€ Ľ-Üp+(ţŕF $ x‚)|@/ä@ @C64Â4‚@Cęd\Â|”Ä´‚Ňőüdđ#Ô¬ťn(ŰĹdKłIĐYĄ µĹ„KÔÇ0¨ÝŚK(C,đBTđBhGCń€T]ŚŔ,Ľţ|€&l@!¬'(A/C Ŕ5|@%@:CIÄ=,$´Ŕd5pÁţĽ€°C+8Ç ś€)ÄP+\ŕl@08A&´@ vt’÷d“É\‚^ĐjÎ 4$,«”Asµ;´Ŕ 7.LAq4Á¬.|ĐXÂ:D8PŔ )8B Â <€ 8BŚ@* Ö1ä€áťCd§  B<ś$\Ŕô@,Ô@AP@ Ă=ŕ4XAÜA,4Â#ŘC><…üC;´ŃܱyĆ'˛J}ţę€ŇĄ’v…Ś„ÄT€×¨b" F!°EqŠnŕ[SŇ×ÁhŤ2#?÷(eÝQÁÎlŹ0hĂ?č;řÂ4| HśC¸B&ř.ř"7řAř͸ŕGČ#>.eXíă45Ä–*H2Ç,d ä®éťy´Ă_ţRh;-Â8µCkŮCmhÇ`BŔzD÷ŮX„¨AR9dC54XBkí‚ J˛ŚXŘŠ¬E Cĺ…đB#,äC©š*ţŠIŞžI5řÂőTˇĄŕR›önă4ˇk $/XáÁ´ĂL‹ČB?Ă8d,đ€ôAţĐB>D!B6”ĂĚÂ.X“ Â.ä¨Ă–¦BYcëiŠ+ÜĂ„h‡+ôÂ@6 Č+\ÎŞ2†D «€­0Ű•Ă°´€,,=€füC Č /´@ Â*4Ë* @zü(L;üdĂ!đ ěBÂ9Âśa*Á0dĂ+śĂ T…8ś3C€çô€H7|T€-đLADSŔ8´AüLÔdŔ*¸A.|PĹC tç0DÁh¦ `Pu=1͉"ÁJčâţ×)54¬FÂÇtŇţ2ě‚ŕţ /ĽoWC¤äyÉhŘAc°ńÜÝđ2BžŽĐ!‚—®,xĎ°CŽ´Ă+A60@1Ä‚ĽşÂ0@ A¸B€c4»‚(°A5¬Á9p ~ĹŮESŚDî®Č8I9€€“ä®Ţ$Cöš„üš6$C‹l^:f6ÄX&ĽC:` °ófĂŚĚB&Ľq0ddńđÉY2CŽeď\CŢ„‰Ś6ĺC:ä/Pß8 Î2¸X¬É÷°śě_Xqf ¸ťI|@9¨Ŕ«éC#8d€9A%ĐĂT °8A6¸A +äÂXI,@ţA#ř-”Y5´B/Hd]>lIAÔđUţOd3šAĐ‚!„4J"¶&´-´óí2G0¶Ę ®ŠV—KMHh°J”DÂ!XE*ź2\UB|l äCÁčĂ= ‚38 ĽB=HĂ0â$4@ 씂ۂ$'8 ŚĂ$\€5â9ô@śĂ tŔ%äpËL'9BXĂ?0Ă Ă4@@ B#D<€1đ@-´CĘe ÄŔŘ\ZEhâÜÍ5q)tAg3pLPd§č”GĽÁú¸-LD9$Bţ–]C B4ÔT!Ú"D,H0V]5P0LÄ5„Á„a6 Cd ĚłIÔB1ôiH´ĂŘ0°Á´€‡ tSŁŇ5ănîb/,C/”éÓ‚T’GÂ\Sf>ěÉAěB(d*/(JŚýŐ‚)tŤTź°)°CŞ°ż/€‚=đB6Hä•|A>ěÂď\ĂďŚC:T/<ź™€ řBP‹ Rź äCçŕď˙*OTBHÇ‹* (4"¸qK“p–lĂ;8A d@)‚$ĽŔ&ŔŔ*|Ŕ 4C.ÔC1cŕÁ0×Ć4CGŻBţ5(Ę,xĚŇ­3°AŕŔP€”‚6,dąy!@ ĐT +°Ŕ ĽÂ2d4ŕŔ#tAô8#‚W‡6h.ËmÍŤ†hSJ\Đ;Ř#X$|BpĂÜĹÄ#$Ťą“Ž$H”)/’ë-°ĺ”N™6D>°Ă(ε4Y8ý‚ ŔÎ|°0äSEeB9ü0/Xߨâ(Dşšp‚ 4„0lżšŚżRKĂ\öV@#Üv•’&|@†ĆÁ.tĺDŽé08C%„3üC!0@@„Ą˝ VąR¸ˇĄPýţÉ;’Oaˇlkň:aţčź›jÁ ybç*Ó7•>¸z‰M6g¦Ö4rUh–)Ú¶ńˇ1¨Yľ ]}:4(Q†ĺÚ-k-)‹eJË)•ŞTVŚí˘>eꦋ¤îL˛ÇĐ®Gĸ±8ń"PmjŞĹfšdB<ëQ$9G˛µÁä]Ş#?@ ŇG’—UŮ$=łÂŤB# D<‰ŔuÇKđÖt`wď""Ħ‰č O# ;ÄĽÉń(—š ˘ Mj„——x3Ř]hAĚĐÓ¤J±"m‡ŁV©Iť/+:}ˇPë …*ĚN]ű¬5 ¦}ŘľpY _€M3Zý»źŘËAÓ>˙úxűEŻÓ7Z˙ţţęýůËďĽ˙Üî>Ęd–j¨XŹŤQ2qĺ˝őHŇĆgFČŹL®yĄY€©ćš(RşÂŹBĆsĄťdĚ[h#€ĘÄ9ÄńôKqľ±#Â…B rŤl„YoŤ ‘L2IBa2I^‚ŮeImDH'L0ńĄźj,!źrĆ EŤBÖ+Ä™QlHSÍ4CÉfˇ`F Ř#6’‡ Wbg<ŞéGŤP| E„jŐF^8±d—F¤c(“5N©ÔRKűɆLŁ„ĹŇ &8e‚…:l¤/>q%_虚†5D +da'% fń¦•lxYCTČD“ ţ!EÂl@ EźnĚq“¨p<Ů…“N¤!&•… q˘YR) î†–jxąŃŠchb°FkÖřb–dôA•"śćGń1Ŕţ|śPEčŽ{ę)˛ZĆ)Ąf†+¤kŽ {Úa +€ă[á‰aţ¸c NŔc”aŕ‚ ظš)paš6ćGV!%—UAb"şP&Š=$9¦‚TFčÂ’Ur8B&áC”bYc|žh‰Q$içťuD`Îą#I.¸Ç™XžQÄQ¦ą *ţ(©¨š[†á¤faÎ8żˇSŽąvÔ‘Gę \ťqňy‡ţBbB~4;Ĺ—ÁŁG˘W|qxôIgüsŐQMA7c…d0B(:`)$“>ľř6Š('ˇÚɦš]{¦„jfľfáń~Ú#(č ĹW `@˙RW˝qOwĺuÔTI'ť 2ML˛±g!DťUÎBÓńe 1ÄĆ ÷CńSĹ ŕD“Ö”Ŕ4ŤŁH®`G#|‘Z,„ŔÉ2„a5pI™ŕĹ;@ {řÂk…%¦1Ž5°ˇÇĄ0!ˇOD¨T¨FĹd¨˘TđB3vĹ-8A` ąF.vő/¬j(…„%‚ˇe4HpţE/Ü@ iUŁ˘P…řp ĹIĂ Âŕ ° ÁA8;ś_dcš@D<0@…d%)A‚%Ň‚ d ÓÂ6rŃ 48` Ľř°1Á@&u˘[ČŢ’B±©ôí)|;„SĘQ†eTĺ kÁZĐÄ4 oCDŠŔN’ĐF<ňpqaÓčŔ'ZpŽÔă¸Ć€&H3˘ GĐ6@âp€Ă$Ú° A´ˇŻ B€ Ä´!pXCÄŠŃČ@¬Ń€\0AAČ(>1Ťi a lŕÁđPŽC̢µhÁ,ôV1Ša:ĎiŽţ&#•"Ó±Ž;Č "4Š",ä‹jġŽLh}F ĆĐÁţśn˘ĘÁŔGşéh|ÍÎDŇ< Ń‚  ‹Đ€ŔČĹÚ‹$dă B C8׆b($o /xQ 7ÍŠ@a‡%ţ^x˘ )-ÜŔˇYň¦EÜŃJ-YŇ|IíKFĚ5”I€Ż}ĺ«/’ˇ mĽ d„‘D5 †U ´\ńA@ş‚‚ŔÄ8ŞQ"´cŮ°D5NaÎ@Ş)Fa!5dj$F±‡6Ř0Ă’&8J>r±‹|¤âăŕC¬ [ˇh"z Gőţ’ŤpHă/ČD!Ę!NĚë[®p x@D…dă™čÂ2€Đ‰f¬!Š yO/([Fp˘”F\LdŠ˨† ^Ŕ=p"…Ŕ€3Řŕ„DH˛ ŕ‚)ţĐ7P6dŔF óaÁqxi~˛CR…$JÁ4:锥(¬ĂR)G9Xp\aË@D$LqZ¤˘/÷ Â@Î äb¤ @Ź <‚ (`GG4ŕyPQŚˇ’ČEŢ1Ťsüŕ©p3ŚAě٨dPULAÁ(')2€ śC ŞpŃ<ś€Ť EVţqŽ(ŚëxĹ#5(㲨E9bp‡2\áˇŢŰ,ŠÉe`ş9ű[Ý*! (€–ŘŐł‘Ź"ŚcĽ)Ţ.áŚĚ™—(ďůŔ4Ş  łôÓÜUŻ)4SňˇA5­éę$ŁZňN_(F¨ĂŽLŘĂŰą"¨ŞÇˇˇ™l©:‰6Ős•LśJC׸Î6K ’%˛î…| m Â8üšďľÎăl˛/Şń†CŽ5řšŢ©™ĚbÉpx2ÄdŠ`äcăŘ…@ŃŘjŁźmD5ŞqBĄ čÇ)ę±n EÁ§Ę đŽňb x S!„Ńţ I.Ôx-vľ]yĂ<`/–ˇ^@”]pĹ4tpŚr(ÄT…L!Ť aâd±{(/t|)|Ł^ĽˇÇD"tŔ Ŕ€ěşQ hŃ1Dę€ÁŤ„щ…˘ `H!žŤ`d˘%UÜ{(VŽ7Ta•®|9.€1()gů† Z :dŕą°‡$â‘ŤQä@Ż†Î1'8‚w€Ăr0‚(ĂĂPC`˘ LÂŤH4°! ÔcźDPQsĽâB¨Ä1ć`†c¸€ ş"Rń : â €CÎOŕálĐ:0Ú€ţA‚ŕ2ňńĄ řŤ›@C;­Ó”Cđ)xM@Ćg;p`  tA€!–ŤľŔ fÝ@ŽE´FaޡEôŁ|d Ř.Ě×@§×„M˘Ň͇MR|Ş­†ěA(Z â„ÁĘk¶(°a rÁ`¦ ‚˘©‚ŹŞFę×lJDĂ„P Ţ'fÁ’Ú!ÚČŢ(EßômćDá‚ äŕ«ßÔ ĎLA®Pd.Ę!‚€¬ śä@ 6¨°AÔ@ Ö@~/8áRldMB^ŽČv\ˇҡňo 6ţJ»Š!v.¬ "hˇR˘¬ há‚Ř€Š€€€/Ä` RÁ"d‚ěˇĚĄbÁěNáĘ dḠ¸Bv ]Ô"¤>`Ôĺ’dëš‚JA*Â:€!>ŔäC!€aÜRuFaŚ#*řfp"o Ĺ a˘ŕ@ "aZŔ¦ŕA JŻ ţŕ@`ŕ€ň ĆAîŕrˇ |ir "!Zć„€: Î¦ážś vaşŔ â€â €ˇz *AĚ.ŔŘ * 4PaźZŕD!Ž! ţ:ŔÁ „€áf` &áROĘ!bájAN +ZŚˇ(ćoľŇpšc­`ĺŘđŁtˇn@SŔîBĆÁ€L¬ŁF­šJ!‚ˇš*!¨ŔC¦†-ÍŇÜŚ-Ô“!! `A ˇöÄpŔ;€! ```çAŢôŠ2zĎZ $ÁJ Ö` ,ÖĘR!\ vRĂV'1‘ Â"‚ΤľĐ ż°|A ˙Ş ]Ś‚HH פß&NA0a8 ‚!Š@’!3AŘâ'xá Ř`R D`'ÇţX‚Â^čRč3¦Î7Iⶊd<2a‚ hđd"§6ŕŠ`ç0 ţ Ű4ĺˇôÎ!ôa!hA Š€ ´a!¤a‚2  ¬ ú`8 Ľ ŚbvA‹‚n[ Ôĺ nDě `Ŕ Z`Z€ Á Ća(dŠĚm:49f—a+Q,)b¸˘„ă˛Ĺ0ŕpŔ DArŕČěÎn@m€&á#§ˇ\Ó-Śň!<Ák*:` á@ˇędęˇz€ ¬ 3JaJˇJÁ¤AĽě˘€ČţáÄ` ŽAl!ţˇÚ(Ŕ $ˇ ÜÉ @ p jˇĹZŕü*0mň6­Vç9 Đ×\j0«ă †'EvÁÓÖ#Ŕ˘ Ă($ !%ʡEbX! €GÔ ¦0Ź1Ăg ‹č>Â`Úˇ ^ [i'vP‚@„"7 %Úa ¸ŕđ A@' Vb„:`†m!¸A`EsdDA¦á ®á'S[ĂGĺv !d~d`c9¶8“ÁŻćÁ´K8ÖâĐD ű-MŢvÁ`ö¦3ßl€0!^ç f!Ä@„Ú ŘŔţˇ‚ŽG<…>•ÖR´Á „ŘQ’m& o(ÜŔĽę(ŕ1á,ń4ˇ!F€zAxÁvEř`ş 2AĽčp`š`!˛ &čTA_·ń> Xˇ ş Bh6E@ö¤¤Ţ!®!śŔp٤a&2bAp ``h8Ť7 * jaś)b@)f÷$¸Á š Ü@ĆŕśÚ€!ćŕF  $a DÁn` :@{‘Ś lÉ€!¦üˇĚŕ :ŕÎAšţÁ„` <Á.: Î!ĆŔ¦€n (<*@°bˇ<›â ˇž@žďJclLÁʀʠ–á"!9ô†Óມ¸R*:ŚOP·)de“¤Ň5\÷CáDâ­©ň˛WJ#\Őu¶tstěÚt~8AđĆăţ;VŠÁ nŠ .A!ĆŔ˛Öa(a,Úa”!€ÁX§#;Ú!zŕ㎠DüŕÝ–] ( K‹Şˇ°”¸ë*HĆá“©NŽ7–´á8Avćř aVŹ ™śxÇ!Mt͇ŽSžŽ/ŢŻŞˇjţyáJ’aLawA 0! Ňľé{|!˛C>E…”??g˘Ü€Â ZČd4#d-$A)ňáĽäČ„Ŕ AŔ ”Á A!fP ŘŔpy 6ËˇŞ‘!ňኴ@Č &čJT{â”!‹î« (Á € Ü@ł ˙9ĺ±ošŁÄR·9X ţ€f!Š @Aŕ€AŔV!a!bA耪Ľ:!ˇ2ŕâ@Î!y°áÎaÚś rFęÔvWz5rúb Áp!ţâ Ľ —r %1`ŕÚF`! ¦aÉ a$ í^Á¨Ra˘$Dě¬8űł¬E°í.ĂńpY;‰'BlWîâ2W®ľpüčŃăÇŽ Gš|aň6“QŽüó‹K–4żSC &0gr I“¤H–C J´¤QˇLkţlzô)ŇŁ"—ÍôFÚK¤m’ŕ rYˇ6äŔrśâ§ăŁ|,ŮąňÉ1Ó—`×ÚU°”ÍG7í¶–”Jň©Ů¨#±Ë–,”b‹C1Vě¸ńc_‚– 2“ ś;{$%ѡIŹ-ú40{_>XĘD“-a¦@°A}:´ĄţqťçĄ5˧dś}řŔËŇ(NŠwĹu*şôéÔ«Ob Ó© ¦sßţ.RW˝6”ŁąLĐÇqh}ReŞ\ÎÜfĘöÁU¶ŕ—éćŢ k1ÎH×LóA!ŮTbyňd0-%HŇA4aI|-SÄHöläJ~¸ˇ!Gá!‡0™Ľ0Š+™äRMů-YáŤÔ4•CQ9-äDµ0K;8d˛I;mŕÁÍ#W°`O9Đđr–ܱÎä\pA5ŚT3M¨TsĂ8´AąŚ"Ę+٬Ě#©¬PAÚ 1Ť’\RALâ#7̱Š™=śS 3y´!BţLŕ’ PĐ ¤đÂF ą´‘Ë+çÄr…' rÁ+ś!ĘśÜIá@s4ŇŕDEN„kE;ć:Ń,m5X`ÂFS!AŚ7^QoŃ4‹? L#ÁEŁRM k’UL)‹,°×:e­`׋T&×tŰ߼ČËGĽxM!@ôµěOxHâbe,QŃÂ_®°aŞG X\r˝đB-FřÄm¸ţšÄ dOĽcŰ€ń;4ńŇH(óx˛gś”–[ɸ‰6'›Ů0J‰®”łK#–°‘Í8»d“I§ĺ¦F2ťů’Ś6ŻE(F6é„âÜHĺ$S]ÓÓőó†H´@']wŰwţŇŤZď•Kĺ°ńQ!4ČQ6,e˘)đá -¦őĆH”…0„ ŹŇĽ0‹GÄđ‘=×" Á¬çJ ÚČQGDÁ’…1śţ H<ň‘4pĺ#×­nWş*Ä^P„†/|! _0ĂŇĐ… ‚!…Qş† :ŽŤ°!ÇEL0*°D›@‰KěáúĂ1†8L"ąčÂz‡5,#aHDŞqŚl̢Źł-lŮČF€‰ĘQ˘°ŽLĚ" Á€Ť‹X‚Rq.ŠđâaĆ0¦1Ť_lăëÇ5ÎĹ4 ˇ†.Ak(ň‹ă€Źsţ!3D¦@‰¬Al¨@€ńŠh̡¤¨'Ň9ŽIL E.*Ŕ ‚fśZ2“QŹjXCő¨AFQ =衍P2IĂäС·±D#ŞAKÔ 1nt.rŃ3ůŃąBŚĐF‡f$l¸e.u™KO‡ÂAh*ćOß2:V;4‘6ÎťíĆĹŚ&&ŢPŤjă éđŨ}3a¬a ČFjt3⌦ÚHF?Á†|ăСÉ/‚‘Ď/Áiľ¨†ÇSŽwT kí–DŃ6Ůüa ^Ĺ ś¸CxDmřŔ4NPlP€d8Ćž¸Zp‚ţ Ť† H` 7|dÁ©GśPaŘ4Ć9‡4ŕŚ`¤‚-ú$ŘÂ76ĐÂ]h6|±ă@(.'„ˇ‰xˇ*…&D—á 8ť*bč0ą»,XvW×çJ$ş*Ň2q‰HÂŹ¸@dŃ‚ixᎄ5ŕđ6śáŻFë„wÄbp Ĺ ÚŔ…6Ľ˘ {P90 ăŤÚ@IÔb  ¨<Ń€Ś ‚ ¸P´ˇs8‡#ŠđO8ŁĘE@DPŽ¨!Ż‡8´0‚WÔ‡2đ‡;ʢř‡ŻĘa/8Wţ»oď}˙\ě^Wľň5ńł{^ă—CŘ5ľňźŹ]aXBľć‘ółëüě—ĐA>šŹüđkŁĽä-Ç7’ §É[tp}ţ_»ĺŐ~óťź·úĂűĎ~ţ› ËŕŘ—Ůg öP^űő°€ ip†iř€ i hŤ0AŔĽ°ŐиP##X T#ˇQŐ°ç€V -eĽŕ Ř`eĄ1 k Ŕĺ őŔĐÁŁ\ŕˇ1Ĺpk  ` $X Ą` 0‚$¨LŤ2“¶…XŤ€c8†he¸€ZXţ x,#L’!j‘ńď€3…Ks1µ¤Đ§ ą± âVk Óů  »ŕLŕ ‹HhěŔŁ ď`l€ěM>Ó°Vk0 É„ĄÁ Ë0ě  Ó±dPě@OÝ13ĆdKöb–¶d5°d3f ±8c<†Lvg ž@"@]P EäP«@»0 ž`ežă0ÚŔŁ€ “0d 3–0 \0=ĚŔ ]ŔLE€ –PýP |0 ŐąÖěä 3‚ 6p ô¸ę€ '»` ţ € d j ôP9ľđŘŔ ÍŔ0V G@ţă ŁÍ"P»@p0c5P Ź’#Y»đb(Ăč+Q]+ô{%ÄłpwpÓŔMÜ ‡@ĆŕS ť2q0‚ŔmĐS@yDpj0 D  .°>Ăŕä ČPđ0 ź50 sீ ÖŔ Śp kŕ@@» Ąg D0kĐPk0 Ř@Ž€ Lc@Ď€m` Ż %pě ¤puĐ< x^  8đUz$“,´:1y÷‡}ŘG^Ú÷|ץ|ŕ}ĐÎP|Ú…|Ş)_Ăg|Q€ Ŕ QŇ]Íţw]ăp|A@j Ĺ)Ŕ Ó Đ ş ¬‰}¨‰šČg|˙wüç›×GŮeťŰ™7ţµš H‚WäYžćyžă9‚jţŔLőP4 VX ‚Ł! %g–Đ‚P2ĐČdVhlȆŤĐkPNW†i9¸#X 2°1Ň)Gk 3ƦLk¨LXȆAWX‚ééˇ%Ř€A€&*žWČjđiµd1éP ě@G®°Ş–jŞvKˇpN Ł ËAk26ŔlýŔ6ú±™ŕ9…p ŔTV`A€1§2śŕfžHN€l /_Ŕ Úĺ–-Q@Oţ§ 3[ęgVQkL†ă$Ó@Ť–0° AP z` V#ۨ3qŐ€Lő° ¤d ~ć »Đ⡠» 3ÇE` Ł– B6hŔÝ€ ˇ@]@ ś`"ŕ ¶Ř…‚€ŁĐÔ ąĆĚŚ0qPŞĐ j` \ăŔ ăŔÚ Ůp\ 5pj­p°¨ŁágA­§átŐ$ľ§+(T¦pwP ńĐ›P l Qđ ‡đěpŁE=°‰µ u2ÇđÇ ]Đ“‚ đ =€‚źŕŻpJD Ą©@ Ż°ţ{` ] ˘@OĐopxňőđ (P 0 0Ś@Ž°ž ¤pOp'‹ µp`ç€ó2˙ Î` Á ńĐłú€łpbÚU$1iŞ|ą"|©~Đ÷´Rr}¶)_ěŤě`_Q‹]˙'›Ůő »ˇ Ůŕ›Č· ŔYťođX{_÷G o  Ú0^[Ű›c[~ÝE~ʧšĆ7`ň‡ÔąšŰ¤ąĺđˇz˘şˇŠ¸ˇ±Ťžp…Ę1#h °@  צžaXÖ fpľ+ą ›§A0Ŕpgz` Ş…ŤŔŃ°i…„Šž*˘âą€Dţ ~ ¸‡»†ĺـꉻĘDă`K ü,Őjr‡˘ćˇŔ »Ŕ BZLă°’V°A ŐđÂङ Ë0jěP ŁĐiŃQL,łˇ'cČt‚0Úŕ ¨H¦ QÇÄĄnşĄň› hŽmz?p ŰľQ8ŮX ŕÍ E° a8#`hÖZÚP€`Ž[V“@0`iďЉ z6ĚPÉ`ݦ ă#–«ęŕ ?`ä€Ŕ ĚAG  L©ŕ J@"P » «ˇŰÄ: Ö żNŔ ˝6 Ý`ଲ†µh­•¶dćhŽţż·´ˇ)“Úęěp Ůp˘m Ľ@˛ ˙p„' u€ Ó€90D q° d0pë0’đ wđ˛=Ŕ’ŘąP9ĐmP + ÇÓ0 p mđ7pŞĐc ç q0 ďPÚ00‰ŕçŔZ ˘ŐĽ@ áđ pnŕ˛đб ŮP,Ŕn T 8;@ŐětfĽ Ô…BÇw|ĂG›u µ«I|oP}©é|á~ÂG|Ŕ ¦Öą}ŘP›b` ń·ťF ĺ ÁŘ__µ~ĂW|v+_ß5ĐŮU·ĺ§ť|›¶ ţ Xą$ Ń Ľr†ŤiqV mŞ 1b¸2Óç°”`“€jp I0 ˇqřp—b †Á‹i» Ŕ€žŞˇ#J 2 …%ş’ŕ n*˘5}˘Ąk #JžĹ‚ s3 PÁŁ:úÔˇp ý  :lŘë é ůđß;já{ ä› ă Č”iÚ`ŹČ „z2ź¸L̤ókUůë˝­{Á2#3V†­×#4, fĐzĐ Ú¦­»ž‘¶<™  űŮÜz …hí–ŕـȀ 9@k€ýP«‰0㢬ÄA€ jPN Éţ0ăŔz KNžp Đ  ő‘E0 |Ý0"rĐ }* p­ý‰ČÔ4@»ňۦám FšAĆI |‘ âŕô'Vm Ó@ Ľj 0 Đç` p0ăp((p Ç0ś Ŕ€ p0 Ą Ó€ Ŕ›BŹ0#0Ç@řý( ą kpcÓŕ 0 9=p"Ŕ žppŕâX@– Řŕ €Ő€“0Ŕx€ O ß ’`oŕ ËÇ#´{ 9“KktcË·ÚG›ę¬·ç|·ţ µÜÜĺéL|Ľ° » »P^ĺşĐĺµ o€MçË@ bđAp]šQëĺŕGć|{|an âE|ĐEÝ»‹ľ¸ŠK‚pvž+z»Ág”@ ĄVÁ8˛ý¸—ŽĺÄĄ@k0Ĺ0ž 8éŔ*Š»ő ěk ¸\P C]ž¨Qşľ;˘­ŢęMĽA# ‚×®`;ŠĽph ô" ‚°ˇŐŔ‡lť¬ăPď0 ě0jŠä h`Ő3ę ă Ú€ śq kpl\Ś2ç2ŔWě؆fhÍ×a¸× HqŔdzĐŽ~˝×ögš=UţŮŮ‚pλN Ů@Ăňp“pđ€ĎŔŤ˝¨ `  Ůŕ– %b¨Ŕ®ú‰ŕś űP ĐD0Ü ° ăđ ­Ŕ X 0 ŘĐ |ŔĎ€ ď@@ôk` ¶|đ‡%ŁE` ,žŰ]F(„ÖĚ+ŘĄ ÷P‡ o Çpn` ąŕ±±ˇ ‰(Bđpc ăG¨Ŕ ń3@«XC â‡3| ő¨@ęŔ†(ä‚hę$HB7…#PDaŻ¨ţ…,˘Đ‚ ´¦`‡4bűÚ>ňńV7Ň‘Ť©«Wć ZâšĺşćĄHgé •ńz±A–‘F°Î!´A*ĐBĐjVĽiŁhăn$ňľL‘âE‚YĐ’±Ż ń.aµ2WľärĆćĺšYL"[)ŃX4.ř"ź±ÍD@‡ěŻť±J‘ ô#kȆ=@€‹$L!ÚpŘÁČŔÎ÷\C,$‘gNî83Ů=qféŤ\n`&ó'Ňf44â iĆÔF1j×Cm9E[@đe¬00ŐF6ŕ*a°a ÁF#„!–’rk ŔĆs¶>żAxŤXţŞ‘Ž›â´p…ĂÄZ“µtL@Ű©A*ĺbcÇ5N6I…§ä:çmŽ=îŁýč°QŤc$ăĐĆ 8@ŚĂÉŔ† Ŕi ,A­ĐĆ ,‘ŤDřBľPŢ1‘O¸C÷„0ppBÍ&Ń5śc5đw7¸Ŕy< r‘ą*QA@Ok(…=뱋D€|fŔ aq#5p®©Meí¬Vk«ZůŃ ›xC¬`dX±Č;ĘŚQ 7xr!‰Á5žrqNlo»ąŔ€¦§?äbp9@Ń€JL\pD*ŕĐ/0#Ăţş0ŽI0pG2#KŽ8ä"¤XG.ŕx¨Ĺ *@*@px… ĐÄ'\ ‚ŕ†$1 ”an Q‰A\bâHŃŠM K„„ËĹ˝g±±XÉCš˘+ĐĹ(`ňăFhCě°V!챫,#2ăH€6®ďb„Ă“ÉäŚÓÉ?™Ć«„e9‚€…«Ŕ3"“MŇý0_„&“4D`RŤwŕ|Ş4˙›…U0§mĘ4”‰Ë†xŃHźYč‚`P™z¨†jŘ€RHźŞŕŻj`‡|@„UpJĂ?ez?<Ó™ČŔI“ řŔ¶đ42kCµ`ţĘř´j@µÖČ„Q`‹V#¨/č31ŘšFČ@čN°‚lNŘŚ ¨ŽQČ\«†Ň……ë{(/Ě1@ `Ȇ]°`Іh»©y8žÂIąřŠźŇť*m›Î±Ł‚ÎŮC3ĎŃ ?D­Fp„]€©JŔXA(,'ř. "(‘ ŕdŕV(ŹÝzph…s"lŽQ؆Él¨$Ŕ‚;¨3X+mŘ…"@‚Ŕ„QČ,(,>`=¸árđ„Iąűi„m ‡6  ‡sŕ>Ą­FP¨† ¬Đ"C(‘¤J­Ý0:qţt-Y1şe††CkrČ€z0†6@„sh„(h{¸€8 8‡ ę=@:1ŢĂJ@z1fyuůĘS˘±q±—r(6(`X+Đ^pK^+Kđ–HZ?UI€v9–e gHËň«KŕË•óLÁđĐ™ĐƢ**XÁ6Ť•vŕ#×ÂŁe8v8„L°‡u …H5 ‚ir‚@n¸"ŘG°„)"đ„6„j88č‚%ş„)Č* ¨'pKČK„ €„6p„s`ľ¨.Đ"@‚Ě…ĐČHx…Wđ`†č.Ž¨I ‚1' Ż9¨K|$-ČĹlp‰…?@ $ Pţq•9•YÁ˝>b ­Ś–ÓĘă=đ[–,“2®Ě„j± |( 5І7P±ěw Ąd)a†v`ŹĐ×s˛w-K„ňK®ó‡)¨´F4¬_6›śÉ\ KŔH(^؇‚K/k„~X°" … 0ť.ἢ`¨ŠŚ Ś­™€©?Ž¨NçśÁPˇa‡q€Zšě‹B`mł … ŕ0{Ůdx1Ř…jP"†Č+Ľ]sBNřŠeH†PȆką–L(‡Ł© Üŕ…Đ@ĂUĂw†ţˇĘ©%śÎˇ Č…Ü °‚r3·{ş špśÝđĐó°'ĘÝ2žNĐ\@ôÍÓ‚p€]PĘ8řC‘;cđ…jČ°" V…1h] ¸Ř€ĐD,Ŕ3ŕ„n(‚}JĐŇF€*ˇŰŤŤŮ…ř€€ŃI-}lh…nŕĚ=­% Ń#GWdČ„‚x„gp5`F­€X8‡X98‡1 ‚A8Hh„ Č"čKŕ‚JĐ…Jř„ H‡;`PL d°5 ‚ZŔŽ¨„"FŘ9R 2Ř lđ„<LŔ„$©ţ‡A¸°`p‚K m¨"ř"k¨&†\†3ˇ‚C› ¨1€I€†W8*Ŕ‡e@†C0_ă‘ó•J9ý#uĺĘ@ň=y–w!>b‰XěÓ2ai`|!(@€j0…|xf?p9ż|đ-0a\5Č^««2ă3c⣲1>ós|RZ˙ŰŠ5ÓŤ=­řÍ› . €@Ă`Xr  ¦5x‡•ZL­°äw8ťźÍ‡UXLr€h4Kă\LÜĚLćšbIł´yš3bž§ÜAP5´txC°řx¬…ZNđÎQűgŔ†ĘţhµS‹W{@Î18ĺQX)•‡­©şr¸ă»¨<ř‚xć´‚üĚF dŹ*‚`đŤ-Üľ`+ëv …Bx‡Ô¨Ăi“\šŔŤÜ†vhߥ,Ő +¸'ol’#Đ’4Ü7x[2x\šđ `Ą±w5X‚.ŕ„ €ĂÓx‡IHQńMÓ…îEAHž»` ŰpČ…AÝŤ5Ŕ„q€H Ŭc(Ž PL`9ĄßrEߤ;_tŚY(dph¨űŤčQ%VGhQ=P ‚đ„5€fčŚ#‡#`„9 ”i(a¸„w@řţ6 €ŽK„3Ů_m .đ+ŔAĐ=€„¨O 6 &Ř…) h.đ„µ H… XOkQxA„8„ `8x€Y¸I¸{@hx‚ xh¸#i˝Ěc$‚H„‡mŮĘÂô¦2q —şdď€ ľy ťaL|¬dú›'ýË•Kᢇ°‡„$XL¨†UČ™T@R(™ ¨ĺ¦­‡ (Ť°RŔ Ř…•3¦młăȆ1¸Ý•µdťyżűΙzPćlţNŁ …vpŠşÚiĆZ¶*„€ú€l ŚęÄď´WhKČÁCk‡F°‘`°6Ŕ6¨:6Č™b‡fcĨňó±†`x]ËŐK€dĐY0‘¶L8h„éčŤ\Ž…sÍj‰¨Rč<$· ŕé¨ÜŢ„~m°VČ9ܬÉéQK` %} "Ŕ.HxÚ€j8\SŁŔ†F°J`92ŘĂo$Ş­+Đ"(‚ č˘J„µ­8ĐńĹŤô ×Z™J<˛#7ŕ†C(l¸‡(<€(>8r¸€' €i €c„i¸$ţ(H"ŕ„ThlŘ5€=čd"WĚ'„O…q8lčH ČGX‰wX8X.8'H<3`.€2şţ8 m *@†K‚¸f…`Dxţb‚l¸€ pgŕcŕi@„ÝV„ٲ‡HJ/¸ŁóÝ#ŞD sĹĘŻTnŢ$yyăoÉ—[×LPO †=č„|>~Ť$[*Ë0Ď|AﱄX†…ď†->~¤uˇĚx˛ogÂäČśż®°Ź13á,éĂ„t8'2Ýó$(†a¸đA`U`2.(,R°ű®<°k™ŕJŘ…ä´úţINÎá|ĽŮ€)Nb†A¤'źć·‡ ¬ńoµt`ˇŃqin5*f.W^p6 Wx1¨a(öä+ś…ëË„ÝĐRvX8K«ŁYraN´1mć^RĆ‹hCéI ă7~ц/°‚ĄCČj™ĐܢŇÜ@´\7źţĚĄ‰$‘ś5Ę–Í÷«HÜŘűyN ű:@€I†xK„~+XÝQp€"Ŕ ŕ„ŹŞČ€Ŕ‚%•“w‚5‚K…#Ť‚4އPâC„5ĘYľTHFYŞ'’B=,‰Ş•Ú‘"ÄząÚ•9kŽĺţfŮlGsY;ť=Ë<ş -ąX˙VYÚ…-N… %*8jPyH˘đÎS›6B0uAG .őśÄŮ3‡ś¶6]vőTiG".Çžb¶˘!(ÎĄ8WÁ“&äôŔ¦ęĆĄz(MŁ°jĐ$l€Š<8F®žŁ 8ex5âÁ…-¨ĚŠW;ÓĘehÇ.†Ošĺ–ńŚ™ĎÜĺ~—|8qŕÂ/žü·©r¦ =˙ 9ń`ÎŹ ËĽyóßË‚Y‡˝űôă·©vľ|tŕㇿľťůöăÇ­›ę~˝ąpîĺ‚!Q€HŕCő8 €)(ŕ‚ žCA6t$±Jţ‚YÂ@5AX˛Ć8“ÔČ8D0P 0–Â…xě˛ ĄČś¨!`DAŕâ€Î˘%ŁŚ H"`‘CN‚Ë*ŐDă1:(‚.˘%ř  [rŮĺ–ˇX˛Ś+cf‰—g˘‰ć)ĺŚŮ¦+_83Ž §ś2'—tŢąĄ/ů¸2Î,É$#ET“‰ŐT“O9Ľd’Ďö°cĎŐpD?™”ŁŤ/‚d"L9é„J:‡ňŇ! Ůph‰ŞŞŽ3ŻÂšÎ.h €¶âĘa6…d2Îś2A#–X´ą,„Ĺ[¬E9a-Ë p ‚ =„Ä´Vě#ţŹĐ ńtçźăz·Ë†3čÓę8O8ý™Nw çźęť‡ŻĂ¬őţ#’vĎ|BꀰÇ^¨”θ¬SŘ|°(@äŔĹCÖ0 äŻmÁô@„aä k(ĹęaŤ$„ŕ@=PCJY#D›­ß;€0ÁYĂ­´±s¨J¤Rř8›ţĄ ś ĽE ËŰ_ÔO]"űŃŽjx ‡ń•oť„xŠ5°ĂŔT0ÚdN”’4bC62Aŕq¬aŁ'|ńS´#ś†0J5Ž ŚŁĺŘ…hĄŞT­ń¶ŞU­F¬G Zb‡®PC:6ÖA°¬‘Ä4+‚7rXÓj„ÇM[%˘ŘxGQŤAČaxF)oĚc>LkŢxŢ!uđ q(ĹâŔ€PŘ`Óp€Ş1Ž%°ÂłŇŢA lX)Â.ValP"hÓ”±¤TŹ]l¨DĐĂ10˘~ađD#¦"‹Ňe0óÉĚÚ9iţšČÂeFś0,<Ăa€b1  hŕ€wX† 2€Ś ănFęĆÚ›šŔł6g][ժ؇­k­,ď¦Ćq4ozĚá«dĄs=Ăžgj¸Ź{¦ăq×N?ĺĎö*nň綠ŐîeË—%Í®D$žµąëˇ {ŹJÖđC,X $@łĘÄ*ęń.mţ¬"ŮC–Q„ T"@!)RŹPŘr$5_C4őŽŃVÉ‚6É1Ϩ„ő›ÍI»Â-©!(/ßÇô©ů®đ-´D;Ć´ŚşÂ° ŇłPßł ŤődŤ-ß°dL#¤BT6ěB‚9AĽ6ĄđAĽX=T ËěJ„*¨ţŔ ` 8t%ÜŐ5Ú.´Â”Â8 ¤]e#äAŚ6č´H8 EP„ř@TŔ0Ô6= ĹTĚEÁVęĆwä!ŕ3(`3L9DÂÂ1„)”Â.\B®­Á'ôbŔ0CpC ¬NYĂ=Ř”$Ŕ#ŕ3ŘÔř'|BH0tA60'XĂt(`C$çÁÔ€'T€4Â\Ë*p‚#+\€DÁÜÁ* "ÔC,L‚$ŕ”2\Ŕ04€‚)ŚA=ACÜĆęŕÁ™;™Un´[˝N&ţzb'(dVňŹĘYG|śâđXAŕ§óÄb9dĂ(Ř"]ĺÎë@ŹÉń,2VĹUś\ŃŐfmýâ…„O/vVK PŤP@L AI„T­Ř</¬Â(T‚‰ŤÂ¤l9l‚ŕůT]ç±CDL‚=şMBÜE„.D‘p–””/z g!ă ő€ôăŽI>,^B:Ţ)ô0dßB*žz Q}Ń)ăť|A›ÜŐ‚Ą”ŇKÂT;Ě‚JŞĺrB>Śž äCRĚO6d/LĘ5 µäĄr&ťýŢŞđɸĺC(źEXÂAŘň‰j´‹ ŇţCL `tź@”Sî$ŚŔ(B+ôXB8Á„˘ł,_śŕe6‹Ő‹ l 6lH‹XDNňdB8Ŕ18B`Ă6K«bĹP„Ż%&T@=T×4KźR¸6‚N \NPâĽö„,€/ °A€@ äP€$äBüÁ4Ä‚¬Â8śĂ9LPŔ4¨Á:ě.8a.‚şˇ@ A Ś€ Áh°BŚÂ Â;ś9pÂđG”^ů‡~3*ę‰ĎŕžGďv•Đ(Šbi=ňb#'xO÷äÜ”´îX‚’¨„@4âsĽ‘68ŞA0°A ŕ9¬Q) Â l@H ÂCXtDtXvU]•Č0Ţsi9fý.ň’)0Ż ř‚K·I&$CśÚW}ĄiťŚ‚CŽ -ÜtŕŃi;đB2hU;äC0lt6l¤k©/”ŁµţĂ.ŘĂHďýb5ťčŢĄ ‰ý^‰Ô4çĹŞýđ;Ů´´„ ”„%8;`#tĂD*¤ĚŽaÁ4$ŇŽŐí1Hę ř‚Ŕ9P€'8 `T°B(ôC1˛ KłÔśČDřpó© ©NđÖµ"¦“™•ĽľŚŘ’Ő7‹˘8CöAŘÂ%ŘB‚Â3ŃĆÁ8ĄR¨Á;śĂ”$¬äTC PÉCĚÁ;p&ŚÄAtŔ3tÍ.B4'T€´T8=68Ű(@‚( AÜÁ4Â2ţÄ ,Ä7LĂ.\çP"@Ă!C> Ŕ$PA,Ä@8ŘL@Ă,@C H↭O´Î2 U0hٶ\©-‚~xőVe%V#h@¨Á“ľt;·04ů™Ń8čţ4% ¨3čC>°A‹'n…"ÇbÉ"Ĺu",ţĆăjé•D[/×đŞÝ‘ÜHŚAÉŠ¦h ěÂ$Ś'$A…ńŠ„5ĚI˙­dŚßŃŔ0 D>\”‹mHKôn ‰O0ś6ąh4FÉw‰4/ŇôţĐDZ‚O7z›”Bę´ťŚ/ôÝüâ´âY€ÄUĂBoţ/Hę2”c#BQ?ĐB9„o°KVÓÉŻ¸Šîńořď‡ijźž+”  ôY„‹Ą´H‹”1E +°‚6¬Ę čŔéĺ*|cóÁł8`C:AY˛@Ä1śŔř×ŔÄX+ BäB*L@ĽŘşć´L ŐáB€ë©ň»fGÚ»ĆĘ̌ŇL0đ›Ő8ĂČ8ôě‚,8Â$0.`Ă$A5(0jcĂ3Ű L6ÄA Â0BŚ<ś.ôŔg^ÂLZxÂ1LĂ4 PŔ1Âě01xc‚' Ă#¬AśÁ#°(ĐţÁ9@@<„"€ŔÂ$ĹTŐ(´×ÖÂ?´@ ,´0,,•†'ślăĆ;abÚ3Ä­mÜ˙ňrD“óÂ-$Â8€—Ľ0ŕÁ8@€)8°C0ěB\7‚;¬A0°=óŰ«\ö,,şâá*®<®„—ş(aî=łčÍúgď‚ě‚CW2$Č=6B PÂă5Č@TĂŁY‚5”‚%x/ŘŞ .´CŹ Iý\yI =Đ–‰úâ=ByÜqé¤÷Ł%ؤőÇP;ÄzN‘/™fNŰédÂŢąB0”}6¬3Â.@&` 'ěÂ,ěJţVC§ë?ţÚ:'đB>Dľ|Qć 6‹–+WĽĆM85ˇ‘•FA€5ÂŇc˝Š–0NĤ^G‘Ť8zĚxŃb:[¶Čl 3*H˘Q!‚łaMĄAŮÚ ŞW2ÉFŮX%ÄbŚ9ąŘT¤HE…Si §cľB†ůu$UK‚ęy[cP”&ť`\†Ł\»¸sĺ΢űvY»ĽËĘő’í"d?NLTaU/¶H;Ćdšs=áqŇeD:@ąČä*%"Ń®Bŕ쉇éÜ*8çşP EŞ 'R|ŕAZ3Ť0ry†ˇ8ÇĺÁĄ5D¬Ő87&WGśÍyFQ”(xŘÉ’ţ´ě˘i˘VńŠ"Jš©-X°ÓG,X»+y[čŐ‹cŮzřîăî•«·o~ý}ˇíďĎ?ż˙ţŰ/ŔőŔţ$°ś˙LéëA÷ă%ÖX†jĆaCŠ\@XŁAŘŕçw ±'Bý"|0rR$°E!,§Ĺi”Ŕ[śŞ,š‚౤‚ ¤‰~śŠČ‰Ę2RÉFzDRHʲ¤ž ¸$H‡ü#. 8G^† ˛Oľ ňÉŚĘZĂ^,Y$R’ÁH.—”r˘ŠG›5J@Ą¬"ą”ňH%· ”Č®ęQŃF}´Qv,I&”v ˝SFżç”NmřôŇQŁLţeÇPCµ!ÔQ>%!W¬H&m„qEw’IG6˛idŤLÚ ĺˇNŤ=Öˇ ’=ö!LĘąô +´é4Y“Jʤl©ňčZ‘¶í(l,Á˘ž]Ž ŇIN< Â’#ŠdQF¤ž1r€ăŁlŽ)kN™„§"Bj\‰–:X¤‹±„ 'ë!"‘ $Š[ŚÚr„m§˛XˇBi­l×j‡ä’M>™®ú–É g,ŮĄĄ(Řĺ’i‚©&›ŕC rŞ™ä2,Dlň!ťŮ…‹"äX#Žwß” H&‰üJ'ˇ'3ÉŃ Zq™V:BQŤjţh#éĐĆ´R¬‡, …A<Ĺ.4¨©j$ĂXË ŠHĆ"%Zá[őčI¦X“uuÄłD6ŞA• Á—đ D€rY˘D(Ë'‰qÔĂ bŘEG° 2°ËŠ`AŠÁŃ–ŠQiŠ!9B–¨Ç‹Üo"S¤bĹŔĺ-=6‚>÷IŮ}8÷žrđB ‚XĂ.v±É5ÔŮ2Ř€„<až¨˛ 8AžÄ%FĐ…wġ€@9DP8xä¨G)r!‡hŔxGJ€‚t”â9 Rˇ7GÜ ŤD"JđxÄa ś¸„#ž8Hâ©x^‘ŤaLţŮřÁęŃ#Äł X(fÁŤCŚˇđYĆ@çcźú`Ž>…ę^§şŇ‘Žuˇs¨$*Ńä9TŮŕK;Şń»±/bĐńlÔ—Íč˘!ŐĎI!„Ľr°PNÔ&B®™ Š{Ř+ŇťB’ 6Ôcvšź3fj¤ďU  6\E5Ú‘Ťy˘ ȆبjŻl ÂÄšâ=Şj¨@Źa téN0ť©N‘TŹ5ÄŠíhD(.Č*Oq"#ś 00aldCŻ—ʧPh~¤VÉCR|á…/8! Â&«‡Ëęa•ŐYja¸Âá5 ‘naKţĂbGĽ’-p V#F!‚QěÂČA–@†q4B `FF–‹jőX"Čâ¤ň[T^Ćë$Ö QßG\;’\„ě,NI·˘ËÝŽÄĺdéEhć–Á18 Ľk5đŠ"h PC6˛± wň„éśB)ŔŚ.T8ިDP‘ >¤"ú¸l!ŠW‚çXAF@HġČ@.Öq-ěaÚ 'Ú"ŁTŔEâTđbő¨Ć+Ö€„HĐeŻ€G!†(´-‚†QD@CÝčz=÷ű”>…č€,:şÓą”ˇţ]ť„ôŃí…ŔC9ń»`Ľhxqţ¨nˇő§FuÎÝIăě;ý'P+šXľ$J§=˘‰ý¤GKĽřŔĹ@ úpIőŔ „ h#¸p„ö,±†1Č©¸ŔR„J࣠1Ĺ©QŰŞhë {RÁµŹ˘Ô•$pÂD:@ĄŞş6°™ú@#DlLUC’őĹ´ó!SŰ€l(Dp+W°!Bd‘e¬5´‰ăöaD,Q‘@Ń$yT­y5G+Ŕ1śPǶ1 ëY‚€¨†T@„Npb­•bGjP„(‚ŵ§EXX<’ ™¶ö#ţ;‹GB¦đ´¬ĽÄ RH6I“ßg/öĆŘ‘5č|Ĺ1đŚcرĹ> NL"çŕ(€‰ä‚‚hŔq ˘ źpÄ í° 'p°1Ž\ A Ş ‚DŔ5l\˘’†ś ‰"PCđp„Ča‹uNŁ¨¸#ś‘ cdz@„$ěq‡G<"†X†! Śad@Ů8DÉ+‡ň‚ĘĺňĺĹ^ČLŃ©nAˇă2čµ\ú/'ÍěŘE>Ä0çŮčÎ2ĘťJ”g<§(F%UžŠ^ÁY?ŻI¬´N]'îiľŔ A¤5¬APţ4”Ô`Dl`ÚhÄ!¦Ŕč Ś˘sśpş±.ŕAň>ŘÚz” äK”im|ĹôIŮÓi¨ś©B"ŽÍSěęXl ś­QľŔÖŔ‚đR˛Yěę0aŰ´°M FA˛’Ąú!0ˇ¨EY"ˇ ˇ:«´ ˘şĽËĽRË‘(ŽŽŽaŞÁ8ˇŚ&â°€\0â8 č šÁ6Nş>‚&ˇbđ¨$Ö‚Ľ<äaahËą(ŽKă†,:"*É ©Bş¨B˝Î°äčŁ ¨ŔĘ$D žŹÔ`“žaŠŕ9Şažˇr ¦ţˇ ć*ŕHˇ <Úŕţˇâ@ň€*á<¬“aá( . AjŠ€.ˇvF „€vbáFáÁ &ˇÚ ¨ Ȥ!Ú6ÁZ`¨ dˇf@,ěˇLćʨŚň2‡u& Ě®±xŠ§˘ ¤ËŞó>Ż˛!LáÖŕ äxf„Î\gélx.ʡbä¤> Běd…§ě${ÚŠP¦‡ţl­´!¨ M“˛aŘŽŻ+ěˇß´ÁÖ űŞ~"hĚ@)¬jř*ŕ“¨„®˛á6 ę§ĹĐţř‘ĐžD*| zúQפäSŇaĄ@@ ĐXŚM‡—čŠYB epĆ48AÚ8AµˇŚňęQľ@~¨GĐX8! %0ZJđÖ®Č"¬ĹşÚb[JBŢĚËHúÁr!Şa̡Ź fĆ N Ä :CcTÁ !6°h äá"řŽÁ ň¨I"Ř’‰Ä0,4N Ç‹-‘-!)Nîäޢ>Ř–!Fa‹°aŽ,áě lan  €Čv•raŕ (ÁŘ€ Žŕ6„€: <ŕAJáˇňáţHzĆ´a ÎA ś F€ á,ˇ „ŔŠ€ Îţ*b!Śa ´AÁ ˘`bÁ2@da;2ŕÚpG¸ °¬sŢB2ĺ6?N˘LOĹQBÇl+4BËÚPÔA ÄőtGę‘F̬ÎH§Ebd@r/?Pu¸'%§Ç¨hmLđ䦂ĎEąÇŠa đd(\f˘a!(ŠÁ˛(@@ÇĆŠL&B`‚bôośÄ¨)Şˇ:€°ţ¤ä ¤¨ž§Hb2­ľ‡U «T€Ň„Š­'?h'/H ôęáÄÍĽ­(ĺ’ţÁ‚€*…Ţ ŘáÍ–±.%l@łĆ ł´a”M ŠĹ)“¶$ÎŚ ε6¦¦Č`Äŕ (`¸ ŕ< Ć ŕ* &ÁšaÔ`ĆVÇ!¬ đĺ»<ŢĆ ,©‚?Â`B¦»¶Ą-0“$ (0B1+&X‘‚Q ć «¬”ţaëhfÎ   ¬ˇd,„րƀ ġ¦Á ¬`ŕP`’ŞĐó¬aä`vA$!J€ ĚéŠŕĘNÎâ`Š raŞaŕĘ@Ú€Dá ¦€n ŕ€â`~ŕţ  A.€ €đ 2! aĽ  Ę ţ  Ab sŞl ĐK’H¦ňR&ĚHŹBGOĚ.BŻQôôC x6Tô!¤ěŃĎţCEQj¤L G´öíńŁhôôqFËÇ"pęzÍ{–¦‹Ĺ¸Ŕ'¸‡Ř€@VMJÖ ĘÂW@b®äřA˛a‡‚  B`ÔRĐ HÓv!BI˝Ęř‚‚öńи$őq"N¨f‰ÎÔS Ë®ŽM'm€&ňa F·W%˛0OEF!ug—Q °Ę­‡ŇÁđÔTĘ!6ëäÍ2-ŹČ°#F®‘–čţ[ŔĐ@úhĆᚪa8ˇ¬Ŕ*ŔŇÓŚ€0iBCÁR»Ëbnmă–•#Z«1Gb-ü(2źw‰˘c¬¨H&s):¦g=ÓĘH†Aó‚ ĘÁA A *Ŕ˝Î€ŕ@@řP.—,a´A ~ ÎŃČaÎ@ aś€Ž V!| hÖ€»NFŔHđĐ ÚŽáŞáŽ€ÁŢ!đŠ\řđ@r”A¨ŕîŔŢ Ú Ľ€¤AJÜ;ú Ś!ÚŁgÇřňsŕbóʢÖřˇŚ¶Ť‘ÇtşĚBűĂ"@vţA ĆáŃ°ŕ¤j„öŕ¬Do„öXŞÎhŹöôLtDęĄîŹG(J§gKt {‚$«Śd Ća“v!‹–˘Jk)Şj 6 ¬~d¸'2FŃŇ*žo‡ŢA€¨PE" á× „­ş'Óř§ Jňˇňá„Ř´®tŮT ĄŞ!ÜđˇąUňô ؇Na Ž/˛‚Aੵ H°‡’•ŞÁł°eWý /uyéh`ú(µŢ5`ƶؠXďş $ĆA\.ř†Ľ! ťd–BŢÁ""-&“#•W/U19â I,Db»."d6†zâm$ţ8˘Z}ĺ´@ .ŕء â¨ýDP Ź7‰Ź°á†!@$Jˇř„ÖŕPŕVÎ!ŔB¶.â€ňŕˇô`P R |s.–—äŕ\ăábx.Ŕ faěb@Aq–ÁŇ#/J&/6§Ż©l”A=ďB¤ôŔ‘°ĺXŤ'ôAËA €A?śŚ  üxB”BůĎpĎVÔC$BŽ¤%+÷—‘dř@fl(Ôŕžźo“»çřαO~d ü Ř“×@}n$AŇň/zî§,üŤqĄ×R­ Ťţq˝”GÎLM{–Á4$ÚJ—tđwŇXěÁQfˇúátOHÜŚE P!ÜćÖ0A Ş´Jˇ°&ŘáO7¨DĐÜĘŰ,a°,ć[šâ+"úżMzčAΓ hT` TF 0­ HâFb ©‚˘p•Y#˘şžwµćí,ÄEü[¬`,„Ä[,S)A€-g/.§>ö«a 6I „“ňá]†‹ |ĺ°× ŠÎaf& Đ“bAĹá°„Ř űz (€ ô`vá¦Ŕ €Á FaĆáJ!›Ź  ȡoČAťţŔŘáÄĆ ţđŕ‚kˇAÚˇ¤ˇ’ŞáʤLA3GAŃË.LŹŤĂŃŤ[Bż‘i$Ţŕ X*Öd´=ŰEÜ‘kßLFN4@^DŐ l˙řĄéyľ´ZMP&"‹ŞtMn ŚtMva‡8řůεJ1Áh †Ajǭʢ“úDÇ ¸@\Ĺ­ůITŮ×xdŕ8xyŃđOř´gřÄÖ~čQ2AŚů‚yß˝®îÔľŕ'ĐuH'CEvĂů ¦ĄSŘ[ŕ}¸g×Ů%‹JeŘýŞávg× şD 8‚ş¸ )2ţ ţÉ ş°%Čvˇ `€ö«”ő`áŔˇ'.a8-P"XĹ źXi˘*Ö"@ľăÓň1…žŢ‰*rÁ`Fú öZh—AľČ‘ŕ‹bá.@*@Ţ ¬ŔĺÖ ˛ÁŠ :ťŔ&Ţŕ<F€¸ܵŕđŕ B ĐÜÖŔ°&AlˇlÁ ~€^âÂF Îaâ JôÁ Ča:@Ľ`/ŕ$šL¤Á˘/˝ĆűšĆ1gĘJš.Lćs*Ô°•VË4ÝŇ»hŰÎL AÉúB ŞşV 9Ď,t?9ţĄ4{÷ĘáP&IZŇEëmh¶ŐDIJm ú$~‹`˛Ş¨; şčůƲ}‚Ż˙ůžoĐßHŹÄ™=Q¶˝N&ş{$‹‚P˙‘É´~d­—ë \ čŞ]˛S6N)\h#!†J\-źĂ‰>TxQ! /CÖ(ťD(S¦<5Ę’Ë –`‘3›0‘"ieŰE §Ďź…aiÔ(ŃŁőŽZ"şôhŁ¦F­4mJt¨%+ąšZ”í¦5A°Kei68­Ş%%jô¨Ń¶mť2E*¨¨Ý uŤćšKt/–ş|ÝĘj…­ÜFV˘>=w°“vĺ KŽţąÝävË0k^Ćą\ QńȉyÓh<5l˛eÄFŤ5»ŠT1eK»şÄ9r©śĄ»Ý Eaš·w śđŮm×5]`c-IM='Ç(  ŐŹÓól{,ˇB%… ŮŠ„»cÉŮş2‚ĘI[lYŚĚ”qpÎĚył˙e8D é'Ů€ł”Ł ‚Đ,¸`–ˇ„ F8a„:xábČá‡FhĘÁ2K0˘)^hJŠ®¨á‹–ó"Š!ÂHŁŤ/‘ÔLo1”Ź>5T=3!YT’– Ó;kTŁ 'Őéăďhă 'DTcÉ`‚5I?ďôÆ ¨€ĺţÜZlQÍHÖ“T=`VcçLEý(çŹ>ňéäž@ň™d KéäLC§’@ŮHś>ńňD5„QĄŤĚ@HdéE”"¤‘ĄťÂ H8}ń†6©ä*JăXieL´âµŚO…ŃékdÔŻ8%TŤ2Ôa‹ ¦SAf—`Ç5F5ŤÄŃE=Ă0CB3{¬°o1ä\Íö,łG}›®ąë ŇÖRîµ,ĽAěUl\KI%X¸Ă6bŮżK0eš ¸ß2˙dŚ» ˇl#úT‡=ĽÉ‡ «Ä’ )=tG*¤ŔG.y<§Í“4Ŕ ḏ̌‹ÓŘâÜ.žţ቞×Č$ąě҆ Łü0Ę ő¸Ś ń1‰9cÄ:8áL>-”s‡)ĘđrH –(`׬Y×˙Ť6~9‚¶‡ Nxᆦ á2-Öhw‡3"4L¨·Ţ;ÚývÜ Ň(Ł‚8Ú¸â3^ř–śyţd=Ł<'çäHbYĺ—őXR%‘ÎiŁ &hłĘ.ÉiÉ8˘‹ľĆ8Tb]’Öx2J5ŁěRÍ;vľ©M”`Ć$9žV2zůŁy‘X şäŁGjĺ’xĆY}?Us)¦Ł:¤ /"eŇODŁfd>CkD’I—ľę~?µľ¤:M6UM(,4/ŕëż+ţaW=ęâŁ8á\ŤŘ ›đâŔś+#h^6PŹD BZV¸ŘâŔĂ8 FÚ ľSŔĹČĺ*řjÄÍeŻs© .H9ˇ×B°ţ‹`űg¤Ń‚e„ŁŮ‚3R 5LxĹ3vLTÎC#Ú` mP ="°‹5X‚jp4^ [\"v"‚ ~ …Lâ«`(°†AŔl  –r@Πâ‘ < €¦ĐG9x1Ť Ł ‡F$t±m?WĐŮT üč§?řIЇ"¸Cu[)ă6JĽĹ bpĐŽLÉ6Ä˝č?°ţç·rŕČ(*Ü‚ WYýÉOJ’S5úQĄăŃéMYŠ“ě4ł™hŁ"\ĂďŢÁ:ju.JÓę›´a $ś3±“Kęa§¤„©Hk`f5t×'ę%)rz˛g‘µ¨ç)JQsš˘‚d”z…ˇšůŇŹlřĘ'_ŕ„FDeľŽ\껪Xu>ĚĂ}Żň…üjE“™Ä„´†D2–˛ôjř°-ąŔ°XC2Ě·rq¬Ąë[F±2†Q8aZŐĐCŽ˛ÂľLĹ„‚‰—˝¨ÂÂ,e Dq–Qšň0¨ö´*|UârŔxÝt-TőWŔn0^fl(ţ ± `d#V(; {L˙8D#$Ń`LĂńÁďęq T‚±pD5ĽFgL!–Ȧ‘Ź|śĂ–$ńz NÔ°1đbžą @¦! I8#@A,bńE@cĂŚŤ1 a,CĺŔA; ôµĚX¦2z.' D ®Ń’•ś)Ż«!VŢŤ»®Ľ Ô Ź`Ę­epS6Ępˇ`Ľ#Ŕ(‚xˇ +ŕH‹‹‹x$!™˘žq˘ň&×" ¸u^âDLĆ&)i#°DóÂ#É9eę+úaR`•N®Í¬âůŽ]ěťŇKäţ$'ŕ> ´ ‡˛gž¦'«FôQĎJ!Ř'*RI$»x评aŃ‹úř|yŹ‘ R÷M`/ˇIc˘†~L`§ČźD\š?ĚB¦?!Ęń˛Ş ©H‡±D]Ö˛—Ä1‡YË*(AhS^ńŠVW8VÁH%ĎÔj^â\f0«xq±ś’S1ÇÎ6Ô$Át6ý|r‹ĚgÔ g8ľ@=VŃ8ĂĐÄ6ŞQIrÄđGŚ˘˘ŕ©Đȱ‹9Ľ" (Î4ĆŔ†WěÂqG~ 54âjhĂ3śŔł¤u?`.pPxćÓ¸Ă~ţ hÂąž\F&ߪih@WŘ& ™óV(»!‚[*˝«JďşMmŕ•§Ŕ†Ă äíl6!> |ŕë´ń9ěB Ah¶%¦„w(R ¦#%NAłśe1§â?Eîqż‹’2ßŃlŕ©%&«XŇëb®–‚ö#Ú|&ęÁZmÚ)š»HG?´„0 ˝JRžg˛†ď)ŔŚşžžEĽĺą D häpLÓqÝŘGżbÇö"10»˘&UDŠlľt4˘é’ňŃ&»j" éüF‰ż·ÔĄYNü)řçv‘4«ň*˛Ţ…:ĺG÷Ę< עţp\`ÁMąş,˘C/Cá)»šŻË#O^çÚ şúĄv-Ć€Y]ëŘŘęܲUĆx(G>ęńŐä# ‡Á+^á^°aO …ţŔ‡A¸ŕ‚ŕCn𠥵ˇΨvq‰5\Â΄5vńśµXĹ /L⎂ C.ęáś<€"’pT% ŕĘŕ ™1I t˙Ń{7]bă5ÓVÂĺ 3 6ü¶˛oţv7Ř]‚ă E!tc#Ů@qď°‚ÍvWŠÔ oŕiŔ;|@q€` o€r rěP!úĐ,ň•8/2„ĺP¶O5aN2c'V<ţődRăżtN&YBs@BýX˘Ma&­&.±…K&ü':ă'nň94vÎ4(0&(„bcgwwavvH<Ť,VńŮĐx1 ľĐc{—ăŔ ¨"Âp{7~ç> VR_ ĄeY–?šxxď dŤ',«O%-DUiő.-4°—Vjö,Z5­Uň2U‹ˇ.Č‚´($d'č’ŠK‘BˇhŠ6h6D]1 H]ź Ľ0íŔ ŮŔl Ľ€™@ HPŤ` ŇŘŔN÷0oĐ9˘€Ă őŔ ĐŐ Ů Hp€Ç0ţĚđ 8"đpąŔ˘ iŮ0őđÉŐ` NŔZo@ Ä o‘ĺŕ\_31ŕ€8iČř̵©IhĂ ’"H!x]«´]¨‚%Éoe b Ů€02ů" &č!oPşsM– » &ěŔŮ€V ‘ĂDL4‚'J8=ÉD$ÉŁL= MvMA°MżŁ YŃt—9Í´D`t<ő%TNË9R’%±"M{ň(zb•-†„]W•ŽBaţ„‡ŹcfgţłR§€ p‚Hl@Q‡(Aŕ‰‘ €€d-‰î Ełq ‘ţxšÉ` ‚ pĆĺ‚.F1îňŠűr”r1,‚0Š†.†a­zföA‚A/µŮşÉ‹é‚'§',}Ćqˇz°Gř5ŇU¸ÎđŚě \ěđlp8`TPÄ ‡°Ť`@Di‡• m»Ŕ±@Đăđ ;ńĂ€»€«@ÎĐ  Ú€k EtŔ ?|  łđE Πpž ÎŔ É{ö \Őe"i»×\"*\ÜĄ’řo,p®´’k"o0 »@pb€ů!ö Wh Á—o92!/’ă°G€  ŔźţÍ&_˛d’/â8Kb„q‡0†<<':1qbT˘Ť:‡ĄbB—%čä%l!'kiyMk Vvr¦`Á:+č:żó&CiLŐS•­)•,÷z–u„ąAŐ“‡uhŔRś° ĺĐ>ń‘©ďŔ‹řAŘwš©é°śp©(1ó0š‡wx§ ŐĐ˙Să0+Ä@p†BČ’S%úr"4ő`h tc UçŠȂg4ŐE1h˛ř.feŁX{Ş9@®Çśnś`őśv1i–F­ňF˘‚SóŚbpĐđ( ˙€ŕEPŮ°˛ÁŤ@DŔ †Đ«ţů ° Ă—†=PŻŔkpp Ť° Ó^Ź±0^×Ů FŤ I lŔČpţńˇ•–B‘—’Ő‰ťT 5” ł’.ŞoŁ¤Ä˘/ Łx7Ľ éZb‚P ă ă ĎW bŕ Ŕ «gř:™ ŕi· ¸KřĹ8ľ¤ }BP/‡—Ćt‡V˘ t(Hň&kŕ V$ai B'u—co +00HâµC×tď$^ä–_`!(QşuĎ‚'wyz |Ë·ţ”‡s,¦@Š ů™Ťđe2µ[¦xYĆ©)±%÷#ą®ň©[¦‰Ú@™8ţaÚpxŔy@Ą kÁ›‹Ö<…‘B­×›­)l’śĎ*V™ç›NAlBM±d‹N!z†»·›šł·UvŃ›†q@Ľ0ĆH6`S #Ęb cđˇdSŮ ŮŔÓ° bđăĐj W‚@ÎĐ {đk  o0  ·e”ügb-ŃYĘPŮ0ŐĐőŔ‚ (‚űËŽŻp3€ X6›ŔŇeŚ!şĽş' 1z˛÷ÖJ#¸˛%˲µ7ť ,@UTλ%Ł bđf§—·5OÁqę”ă@´=ř 7ű¤:¨8Z——ăr—KŘ(ťM 6`ţŤ°;ĐaÉ…Q˛NŇT śp9D§ d° 0@ †Úđ'Ż3ľŕ•I& ö'sę…Ú¤‡÷D<~‹Ćyx‡Eqzxy?ń   ~‡ű"p>Ź©˙óăą,Ą‰śšă e6`ąŻň©¸ůQoŔ ˇ:ĂJS€±f$ŠÍ‹Ć™/±g{­Ř€úhhő«qÁŞQ‘»3¤.ż‹®űśžlT•K‘Š…Q« DCÁ±k˘&Z]ůŔÁŮ`˝ËŔ5É ŔU“đŤ`TepÄĎĐů° ĐçŘ|Ŕ€ě b ö° ącb» ĐjŔÚź@ů(‚đţÁ Ľ° ő ů°‘ý‘\ʸ‹ ňnÉ›TŚĚU#˙†o-«Á-ąÁmÓĐ)!rĄl ©!}[Ł x <šŁůp”ťUˇQÂΠ Ň(D‰;)-|ŮŔMAŕÁ G´úŕ ĺő”K›!9(+F‡C=‡ ś€baűX«%pR VPŁU÷;şC-m•¸a†VżS9äÔ˘WEM⬳'§7ŻvŘb{ŰĆh.'Ąjť'8A¤wyŚŽ;AŔ¸Šš ŹűRčwś ł›ŞČ‹Ş 1 !ńĽ`e™¨‰żÚTÂęŐř˛U´çuţÁşÂ»ś‡A{ĽjN ÂLőUżęSĹ)fľűyĂy˘íŠ`Ąz]eślR69DťĹĽ`H€b®ő˙Ęś˝@Ŕ Źp:j€Őŕ € @0 ±ő\Ů ĺĐ ő@ ©Á @ ŤöŤj0 Ľ ÜśAËp˝Ľ`CÁĎEĐ Á9„fi# ýqI'Šiý]ü7ČĐMÁAzJĺŔłŤPp,ůZiHsŔ pvĺÂ…µ ăŔMŔ0´(ÂŁ `W€”x“ť ĺ¶_˛•5VvÉsO‹ň8ŚŇÚdA b[ř(“%`’ !Ɔé´ÉĐ$ţő•ŕ%2‘¶Ú° 9—sNREQ‚q_‰¤}k‡ů”‡p¸}úÖ9'vAË` %éP×>1 YÖÇdî ¦ Čl©*1%ćrnR01†}‰™¸x_öb€ ›¨?pÉ*Ĭ $$‚Šč‚VýByUŁ÷f­<ĘĹ 9ŇĘšÄzh ôfw)Ů‹á‚0fĎ’VLŃAˇľ«•üoö5Ş~Śĺ ˛”¶ß™ńˇö@‘Ľŕ »B€–PŐ˝ Tŕ VŔ‘ Ů° VŔáíľŔ¸bŮđ ÁĚT€¶éő± *śĘËp"’˛đöŔĎiĐ‘öţ±˝×ţŃ\ 4®^o!آ&‰ŕő.‚ŕĺ˘+ůăg l°ˇ"˛!bpb',:I+Š];Íõu|2`fÄB¬b¸Ł éŕ ˇđp\Ä^&DĐ$_â9\Čt˘ó`¸¦H^ä¦A0 \Ť%m{vá˛ĺyň<Ç$WîňXÎóŹă ł…xd~řŐć!‘ Ő ×H řô™™óĆ rľn~ç+xÂP‰7ÉYfęĹŇŮÁZ,{AꏖfL›ić,Ć+fCq@ľ»@šÇ«­ěŤ¶ĄűĘěr,w gĽ ¸qá,’{%Ş{ \˘ĘŐIŮP^b€D ‚ţŔŢĆůĐŢ nđĽ€^ MYpŕÚ Ç jŤž¶Î÷ě° łž0I!Ď•Aošńť*ŇËďŽřÓĹîŮĽ–0ĚŃ«T’*Ę’÷¤b˛ő~ŕÉŹ8§V%Şď0j .Đ őur=Á‚âOcÎ$Ĺ1ÖOÉä$;†zä>ÎSGqC‰µXŇćyzoöbÔYőŠE {bţEiń¦ŻŰĽdńjT¦śôÔöýk—O–“ĽĚ×ÁF3$§ŰáPölËęŁ^v…6ęÓöißß/@ůúõţZ›Ą„fAt0B ś°B !„ĐÁ )ÄĐB  f,ţńPĂ7,'źwĆ…Sţ:ô°A4ĄŽ‚Ŕ˘˛„vlëFŽ&J"Éz(5Ć r m’yG›5Ţ©Ć’ŞĆ—5ęYŁę1Ş./R¬KÔŘ"05śLf‹6Ú¨HŠzÓ˘"ßÜČ “Hň©Ď‘ÚÁ)P–xä¤dh4Q—2Ig§>m–Bô*ŞŇ¤vĽ´LŞâ´Óy8©&/T*D›žşÚ‰§ĎÖú«‘V‰¨ŐÇ>»KŐş Š+,¬Č›5ŘËÉő®XË°¶.ë+ŻY“˝,Â0Bö˛h‰] `si ±×Pű6ľüĎżvxÁ¸ú–aă´¦ÉĆĽF€phXE’ţ‚ąŔžŮnŁ šefˇí¶lÚ †]×Üc €‘Ď\Çmí>ëpŔŠí·ŔÔ2–Ř4‹K¤ĐÄr`<1ĺ’Of™äb\yĂ?l™A’M®pfśm&‹±'’!’h†~DZ˘"{FL"8ÁdŤl„~'L´ąš“wÖĐőĆ9áÔI'AŕČ’w¶Öőč ´ád©:…V« !ßÎěş5ÉO˝}ÂäEa’©$źFů»pW„ń§S8ÁŁĄ|–Ú‘)K WJŤ~:Ĺ<Ş~˘,J@]ů‚Ź>B4ąri53Kd­ëUĐčŞL"ľ(ű,._“‹Ů`=3Ś4ĎbÇŐ ÝE ţöF¦m–łŃxźŚ¬·<[ývŢYÜ× ä/b„]Ł®µe€#Fb¨d î`;SÁžý^ŁMA‘ç[&›`üť-5vÁ6Ö8†źö^íQ `«ŤödłŔp•LF8Ó™Íj¶˛˝ŚfĽk&łś]h‚,GŤv&AťˇLhDóZ’4‚ Ť…BŁČC ˛+­)][ˇ%ޱ†5!ľx‡Űę¶+%q=«0°ŕ3ŤĐ OOĽ›Ýpx§ŠěÍŠ#YáTň†qěÉOYÔb˘ě!šŚjQŮÜä"9ĄLN™ăT/•|B%ËŕĘ©T%«Zu /“Q ¶fţH¬ 4»jV_¨%,W)¤V ™Ě¶™Göe‰}•"Ý"=…$ëx·˛$d骻\/\Ő{Źl(ŔŰŕ§~ÁĎ+x^Pa Ť@D6ěŃ^řĎ4ÔąÚńŹu‰L•ůsŹ)‘™=’ËcŐf€6źTVs5ĦG8Ab°/CY†ĽéMš©Ěś(*ˇ6Ä©g14Z–ć´pD4ö|&*4°)¦RAÓF@ĎÖ¤~hŁLe:$ďćyO;Ő ‡7zŚ&Ń\Ѣlř[L<’·+.Ś˘…f¨/”RE8ŠçX”]Ž‡/•ĆŐ}ÎAPśŞÖ"ţ@jFVr9‹%š;ÖÍ.Zná‹7#ʵX˘W˝‹žD‚ş,ŢŹ‘ĐűË@5ĘŢÍĘŹ~áZ¨ŐŞŐ•&™ŘűÖĐŞ±iš+ĺpM6˛A v€ 7Đh;ňçîµb˙‹ĎŔTŮV‹™†`řČb˛ÄV+Ç}ŕźŐÜçcżä¦?MÍ–sBäÜ™8?»AÍ‚–‚Ś6Qä5Ťô†á§bbxąA”hăHF5nчÜ2#ť¤¤-K<)DŠčŹč7Űši#—„hAě–Ü&ćɢWôE9ĹE/^—µÉ€‘Ž ŘŔ¦81©Ůh©”úŽÚPoJ#W©|ţ‘9ý ęÔâW©…[^"¤! -MŹŔyšť®šç„L.O0=Ťu•W…†©Â˛B˛:Ă;fU˛wťÁB|N XsĄ•?lÄ–ÁŽ`4‚ÎÔ ›Č S­‹}_öŕjL'Č°ňk[˝'ÍÖ—ů“Ď)÷ÓÍ †ÖMάĘL‹Ú'§¶e˘…ňi39-hrz"Eďv§a¸IiDČó˘(Öî(ĹÓ®8(ŠY dc.um[g†\÷Š¨ ŕ6ęg?Ľ,iG6z2_Ř1Qł`ĂzgZMu TKIcä0­A8ú ‰Đé°‚·–§6‚.­ňă_˘ÇŕĆ(ţ†.ŢN3y?FD¬MťU\p4HŘBć.„KWÁz™Rç˘"·~Śc6ü˛ü•™łńĆ íKaĎŮ@/ŘńŹltěĆĺđq‰5nľžUcJîß˙ ŰŘÖčgÉ$`ŤĂőî´F„˘!Íɲˇ3ˤĄňż«\e”ÁĚĘŃ =ÓĎ<7WąR\ ¤ ¦[Ć3# /®Â+žÜ:7ü ·JČC«K]*ę‰Đ{[˘XÂ]ŽzŃ‹ţ.xí±Ň‘Ž'ďđ›˘>Ś©U Smś ¨Ą5J)”ŰQ ]a °ş-ŽÁÖ_Ü;Ö©%¸_Ťz~µ…k˙‚&Ö‰QjOýëǶ4xţw}) «{÷_ÄĆ Ŕ Ë^d¸ŐQG&™&^2bŁi˝j*yůČĆş˝0ËRďç6eŠ—Y=ęńÝ ,{2öžo čc1:űď€ÜłW>çćU»Y-űôž-x”ÔÄ ŮyźyŞŚČŢń‘Ź"űlâC —NüK¸Ż›ďň5;Ő~!u;ąˇŤž\q>YôG|ˇôż} 塀ź&Đ{îĺ`^â‹©âBeđ•ď¦‘îsšÚ´ .«$óą4/«˛Ú‰Úßĺ!îć$Q’ ?ę0+0©ň‹¤ ş@;ýk;Ľŕ#\ ĺY¦dúŹĘëËË@_šţeđgž©6˝+ Ť‘¶r),Ĺ Â;%Ç“7ŮŔY0 ϳӸѺ4rÂ2Ő#™ÔB){#ľé˘.3ľá{ )˘˘đ==›9‰(/#˘%ĽĹ@ł(š“ŻÁ3ç˛äŰ_….ją˝y>˝y9Ĺ1…ż)„ ŕŠ>ICG™€Ó˘/({Ŕ4ĘÁ5Č4ňc?šR M ‚7X Lú$d!$ÇřŻ ęşNµe Ąľp†đ¤ł –NŇ*a «;ŚĐGŤŁ'P*®«°&Ü$şËÁp:)ąu<ˇ#<>1ě“w`/Čm¸˘ś’CTů ź°¬”v°„Ń>9´ą 8/-†ř*®t€©wŻń?öcŁîsţ ´č±đ5 Ś˛@°â ˛Ŕ¬‚ŔתV‰ dŁťłS¶®«Ě°‚ŁZŞU)ŔÁ–豌Sę\±U:JsĂŔ\dJf˛ L·ěIJâ@c˛y“,Ę‹Aj‚7]Ě1 ;protomol/doc/doxygen/protomol.html0100644027616700000500000000017610237151525017002 0ustar pbrenne1dip protomol/doc/doxygen/protomol_icon.gif0100644027616700000500000001436510237151525017620 0ustar pbrenne1dipGIF87axx÷ …„‡ŚB@¤Â´ČCCCIäääÉ'+ŮĹŻČ$%$č(&ÖÓÉ%"D%)ü ™˘ˇ(č8 h © »ÔČYc\ďĂ·Ô¤śű(&ĐD<'čĂĹĂř˘śˇ‰‡GŐĆĐđŐÔĂĹÍ”˛¤úȨrtsű(5344Ę;:idRTŐÔÔjh7¨',‰•ŚSSS7)-Yd&ÜöäČŇËÄf\9鳯ŘŮ()ďÍĹů/)ÂËÄú0ŐĚÎąŰŰۨjhÔĘ°ř6)Ę´´ł´łŹqč,:odeđ…Š®¤˘ÄÍÎúµ´»ĽĽ+,,( p|ty¬2,ËŰÓXB>đÄ®¤H <<<­¬«†}|üŢÔ”””Ľ2<ěěěÇ17꼹ƽĽYLJg=9Ü]a´ÄľäŇ̆ę1,¨7ěŚöĽşxy WŐ¤Z\´ŽŚ¤¤¤ÜFTt"üÍĘäĘÄT*$´hl řž LDD,%)deeüÔĐäÜÜĽ´¶Ź„†ĚÎĚ|||Ů0?|nl¬žśü®´üě>$7.1Ů"$Ľ ¸*,ěntĚĹÍ<6<äÓÔĚĚÄ|ddĽ˘śT6,T=?ÔŞ¨Ľ®¬ěŢŕ¬:DśBDÜṲ́˛¬§g¤.,ü"1ô>,ć2:ôJ\ś24”Üš”×>Gś*(ÖĹÂé7/đĹĹÉ&h$(Ů%Ů*7ŐĘĂ,xxţˇHp Á‚*LČpˇĂ†JŚHq"´‹3jÜȱŁÇŹ CŠ9r`7h'S˘\©˛%Ë—.cÂś)ł&Í›6sľ$Éł§Ďź@GžgňâÉ•HŹ*5Ę4iÓĄNŁBťú´ŞT«TŻv<Š‘kÓ®˝"›Q¬Ů°h˦%Ëö«Ű±L‰Şĺz–.Z»sŰî„»·®^•oó¬v+߼†Ĺ"ćHř®ÇĆ‹76Zt¦ä˝y[v¬ŮĺeČ›33îé™óhĐĄE>,ęľ+ĺÖlő2먶iCÍmřöîµ!e®Ť5ío­dŹw‡7yŕç˛1?ľ-=˛ăÄÓ—C+QąşëŐ"©ţvöžúűxČÂ1 ^}˛Ŕ˘ĺáĆoÍôőkęÝRRAYBű|ĺ¤É×›no97nÄi´ŢtŽĄRt 8\eăMˇu±ĄtPVب‚Š vV{ň†Rŕ”P4€,XŕRî©%×w«uWw8ÖŇq©˘ @˘!†0îxŤG~5źyÚ—„GÄĐ FĚ1…@X)†*1TYĺr»ą7ŁŽ#~¸mô‘ąQ *ĆpD 1°iE b™ĺťh „‘7Úv f<ŞI h1·'WŕÄ`…ÝüçŁb$±âEëĹř„é•©Ú€ŮíÄśĐX±Ţ%ŔXqeťŹj¤*Iä7JţŻŠřÓE6ůbš~Đe I 0G €jŞŹĆ€!˘‡$ĆZŐ«Ö˛I|Ŕâ(±&QÎFëa˛^ńX«´·®ÔĺĐ|đĚ2Ŕ”Ň(·ŞŞĘĺ‚ĺNhălU¤q—ٸ¨Ľ^b@¨8°ô>ŞĘź&°šŃţ8€tÓ¬Ű%Ş«›äG)%0ÜđŁ•ŕ"[î+®tW¨!4.¶ÚîŢl˛ÂČ$1ěÉYş *ahmšżoZč¤MůAB°BĄˇĘĎ@‰@ 쮬ŻźÔQÜŕPľˇQÝ° My´`€'Ń\âDÉŰf ¤lBkţąâ±ŽĎÝĆś\,·´ŕI5”ş0ÖY« \\ж…&q„Žîz+ńmĎGÍW„€Üŕ$Q·Ý1řW•Ěš¶s|Űv8ş˘˛I BN ÜŘŠŞ:ä ;[ô{F&K!“¶.ÖÍ~ˇ:± ·p -l˛L¨ ŤžŞŰ=ä7ˇź¬“3_V•} ˛ŠŃPĎ€2Ô_ÁŔŰŰ_Br)¨X±:˝—“{đ#ˇă)ĺUř‚ŐI>ĐŤhĐĎ~ňc@颰łK`Ďp‚Ď€ö0•ąîB61ŃěĘG%¦Jc̡‚± ÖŹz‰óđ6AŠ#˙K•›tĹ´ńŚ©Cţ–SRŘ–â˘ü¨ ŠAüć'?úQ/{+đÄĽ± T”¬ab@¨ľU9~@ůJłĘň<îĐ qşH –áD ľ°d Ĺ&®p‹+xÎH·®†+pÇݨTߢ,3ĺ+ŚĘKŠŠ>đ˘xÎMĆZN ¦çBů%®ŽW ő  N€#‡AŇ“¦˘vMVeJM˛Ŕ3“ Ť1©`…V8ˇM” ýęřBűµ``đžP 'ÄK ÜiÎĹşŤ˛r3˝‚¬>Yó(ă‹“±b…´Â Vŕ„&™AŢ‘N‚ĽŁ‡ ¤\Š4ă•/Bff„ űţ9‚4Gp„#<źý٧4U„O|~Ą ě†3‘©˘ě'N-Ćś'” —¸Ä9!H:Mr”Ž$E¦p;ÝiK6dŃIÔVĐ–‚ĺUřT¨4ńŹ"°č[((‹ ú-Ť©¤ A ńÉ@ 1˘‹çE!Ś.C~.$•q!`ň -Č0şqŽE4KsDC©Ŕ.˘ň€5 ôôÉĎ#śµťs&.@× pĚá§ú©1@ŕ“9ÝX ˇËÂ"“‘ΰh)€ńÎgÔŽ m6n!Äą‚ʸ6<‘ÁośUޢBQŤÚĄ~†lFqćíň"ŕu gĐţ Hŕ€%(qCX‘}čcSJBQˇ¬ „´FÝŽŠ¬ŘĹx@E˘±tÚĎŞ-Ŕĺ&‹Éů‘ F)q·! IHuŞ–k‹ v t·/_‰[Ô"|@$`E'@P‡ApŔ°&¤€Ś\ !třëPx@Ř8)jĹš»ŘŚ˘Ó]Á ŔKŞÚď· Ţ&2JŠŢaTÍ‚ °-yőn‹Â–ŕ€˘î©™ď˝JŘJOŃ&kČ@ ŃÜaHF2 Ú…L B UÂě+ŘlÂŚü¦JQáKÔĂÎ É`?~ZM‚ţ¤J“!q¨A,T±1śB x†žŐP…*¨a ř€đz~ňšů‡P‰+Z*ÄâC€%¶đ3xŕ'`Ă;ŢÁNˇ.Ä!@ †3´5–€@k–)ĚTTH7}XÁ2–qÝń˛wUĹFŕąI*JŔ¸Á” h Č€E0¤á(@Aů0Ă5D]ˢч?)×Ď d®~Ĺ+ $Ŕ Ř’̆pzÉmHŔ*`!ßFÉĵŻ ťŕ„)d xŔC4˘‘‡e`ŔÉ )x)Á+ V8[$Ťµ˘xăP%h°Š|!Fx‡ţBľdZáÉť`…·yp´†‹JŕŔĘ@X‰PDĐ"XcÝëN˛’ŰŹlhă î€3~ĐĎ"XVX—©q €Ł‚ŕy(ř ž]:¦ó„ĺČ»a…$XÁ>ŕĹ=ŢP€64€Ó`AÜĺΆ%ÇŁ°ŔE.jĘת쥹ÝY/ *4ŁŚđBŠźÉD ‚Ü7І !)xC:0Ś&hYęśř7Lőex‚†Ůµ^e±Á€MĂ+ŇXXk@ •Ô7°437%`Í@C±"]˛‘ÄMŔ€H@…VĐ‚DŔwpYdďĐ_ ŤPŕZýBHRÂÍ÷n@/0 µ°@€ię¦iÂ~w@ )€* µ@»0‘ŕ5`¦wŤXfM´ ¨ë{'sŇ1Á&k:ŕ ~€Ź˝ hŠ=~”§ŠôřŠPP Ő kŘŰ°ă9Ŕě0HčŠă— cP `ôŔÂ@n°€›`ŢĐç$?žp Qq~Ô.š¸14ł+ÝP-šX ¶ţ(`HPýŔ™Ć )rFĐL@Ép,PVcĐCůŃ* ř€3Š49{ y•ďPw'Đwc`Ź@(Píđ 2 ŘčmDGY6•FiÄ9í˛B*˛*¤+G`ĎŕepAŕĹČ›r!GL@ë&ö€ ç ?D)Q˛kŕi0ađ( 5ą ™iö§Hšw)@‘»Ŕađ ă’/t "µqötěkp߀3»`* ŚĐn¦tČiâ~đ yKć0#”ńţtÓţ/ ž™ ™“9©d,@ ń ~ t0 >` €nÄ7 `BbMgSO`jt0~° łŕ™tŘ}WéŠr·d¨Xwď Ó€ĄQ€ŰéZ@ś é—v•l`ëćv´ p0Ç` 8@f­Ç T "7v.€+*¤B1\@PłP©ˇW•JvŠYyđ°i, ŕ•#¦Ő Jˇ3»0“H@°Ç©nâyŠ{Ř•µ0i€bu”SĐwŔ1ŕ }BH{…ROÍ´—°ŁUZ P AJß'‹i,ŕţťŔ¤Ýq|uQp P €}ž‰ĄY:í¦nDÚAđ90ÇW°G <ŕ|*Ó:ä˛EH†0Űé¨3‰š*tl@'ŕsď °ě<„k` i Ą~ŔŁ6°sXš  ‰śč}AG •ŕ3` · \ "ÝP®Ĺ#pozP]á"\ô †€ŤyZ“|ŠśăÉn· 8É™€ đB¤m¸3Çp 0p¬ZP4™@¤í&šW¸Fçip v ­%ŁĘ<F…QMLÁpŐ éŞt਻@*°§›°˘y É©n,`ţöş2”6ýôB@ˇP™zˇž‰@ Çi :ąnfP„wŁ#n<€·C#pjŰFO±Sţşťę:“‘šĄÝ—“Éů¬¦ř €qP†pń&‚· p iŕ30~ŕ9đô`ßI‡ ËĄFZ0yP€°O˘Őrŕ°PtĎ·mŠÂ5ÔŻÚ˛ÂI°‘šú¬}z…ˇ€dŮ° Uđs´÷&‰‚ÇĐ‘ ·í “$[ Wş§—–·¦Ą°î0­ )ű ,WOMK1Ôô߸†xŐ dĐŻţŞŁę: ÄyĄ–{śµj {@ű ´ţ¸h^±mÚák˨˙:ĄaPUJś®k°@pľ@Đ@Đ Ú “@T PřÔrÍ”.LaP;v˛¤‹l˛¨5›™™Zpˇe°µ»ˇ đ¬?׫č°wˇ[(űŮ*–ĐęŞSz¬ŹŞµ®;Ú ÂéW¬Đ ˝©OëŃ»?´J=¶cő‹EpIŕ ŕ˝9zđ݉Ś#|ľš Ězˇ@sđ4đ ¬`pR\˙ŕ lŰ űŻpŕ/ĐÁ3i6Ŕ*ŔÉú9 qpçHëq†¨˝čŇk•P*Ä­EX ,Ąp»™şŕĂ?śţ€Ąs  AP đUĐE„<Tk`vRâ i€ÇüŻ!·Ý©(Ŕ|€¬p@gp4ě &„& e’Vőű&TjŕРꀨ;Pů˝YĽ™ś\Ŕ߉ođ€ cPÂ` ĂĐ 8…źł6ŤÔ ć@Ĺt€m‹®č*ą\[|¬ĽĐ–Ů:殳nŚŠ =đ_¸Ł‹3§OQ€ş˙™Ło ·Şł€ôP úÜŚcđ•ŹpđʧՉ1 B*3ËÍĐ”ŚÇV{Éo Ĺ&z"P K€Wŕ]"ZŁj1÷´ˇ»˛”(ç8ţä€Ç™l˘lĎěX‘(ŔŽŹŔ~°qđ& ˇ‰­°BpÁÚIÍÓüźdšŁ9JLKŻbf4éˇ±Ň Î@ÉXpËtŕ®*ľÚĚĂ›ŮpŔ‘vËL6żˇmm şSł¸ŚËEŤd@Í  G`¶±!Ă‘<}­Π ­° iY]¬HŃ:·ĽŔ ě9 !ĐO­ŔO™Óhô&“Ň á ŚŠlŰ©pÔ`™ř°‰¸&$ô:M±GĐ }ĐŔ¨xěÚÉŐSz˘®ÚŇ!0$0±^SťżaJ¨M‡ű ŔĺQ` řŕřđÍ Ţţ4™N;B“ClÂ+Ý€ ®ĐŢÝŇ>`łńĚŐtÄ@˙Đ -ɉB±6jčGĚQ8{ýÚkP8DÁHE3§>ŕ‘{Óß׉ÜĎ B`µ•\¬Ĺ:`h|ŽkŔŃǵٱq&Ń *”jS-nĺ`Nh ö±P1ş—C+˙BXťłRßH`Đn d`Óŕ`°˛ ˝‰;ŕŘ^Ő‚h}˛.Ë;Ü'ŚqŕËŇGÂqÖMB„âcQ— sŢÔÜŤDX¸Ă.’ŇZTp†8…M.ó<´x)“"ŢÂRűŃĺÓ;KňF#¨<şIŕ…C\+‚Fde,ţşBÇąÉ>ÎĐs䌆†ÖÄ$šr#mľ•ćÄE%iRE’9Ą1ŐGréś‚ŽŢčŹţéQŃ´‚ÄJ’ÎŻÜLN@cÓ<»=®ęŽ8ŞP¨x¬„J¬¬Ú§uÝă’4ë)‘1LşBµh$Î'.2ęrHâEĎŢëÄE ŵhcËsH"]6‰;D%2F°39G^îŐ$ ‘>ŘŽ!•Î)\aę…ÖhXЇţS°ţµáÂÓáÔÚ-ú:áč˛=Dꍑî>îÂ,Óö± Ż—í“.íMálŢä06ČÁ ˛~âá®Ô®x(~ˇţďIŁJÍS(đńî^@˛JšN'çĂńŞ}٬ńßH1:Q;áz”óׇń/ô_4ô ĺE@‘ńćŇä#ďë‚b‰žó˘!ÜůŮ)±>Ź><ë ÂôkÁëĺ4"Ď'˛#ŁÍíSż,/˙%Ż>ÎţfŹ±ŁđtńšnöB„óâ±ó:ďä%âOńC÷¨ ôĐ~ř×Äńöë<‰żęÖŤHTöŤň‰/ńŁđ¨K±<żžę™>álżécÎFo6 żíáÁđ@ÄÚ0źnßíĎĘ/Ł˝Áßsúąď‹ńęľčGżőůnřŐ]řv⥟&ţ=QďýëMź#¨Oů&ţö)éJŻ#›źúV)ôřcD"Ů˙/`/ůpźńçŻLăěűuźźů2ű¤n&Bôőż˘˙Ź÷ŠĎď Z7 Đ`B…6|č0âÂ+:'q"„Áe\QâEŽ"+’ě("ĂCš,éĺË”UR„ŇbΑ2Y¦|‰s¦Íš@}nÜ9%Fťoj\Z”h̤[ňŚ ŃcOŁ?iŞäřեϱ5‡N ŮéUH»nüx4*ɬ>ŐľőęV.ÜŁ]·*ť çJ®uÓö,µęÓwÍ>;protomol/examples/0040755027616700000500000000000010237151527013636 5ustar pbrenne1dipprotomol/examples/alanine_dipeptide_23/0040755027616700000500000000000010237151525017576 5ustar pbrenne1dipprotomol/examples/alanine_dipeptide_23/.cvsignore0100644027616700000500000000001710237151525021571 0ustar pbrenne1dip*energ* *out* protomol/examples/alanine_dipeptide_23/ala_equil.pdb0100644027616700000500000000343510237151525022223 0ustar pbrenne1dipREMARK original generated coordinate pdb file ATOM 1 N ALA 1 -0.076 5.625 0.884 1.00 0.00 U ATOM 2 HT1 ALA 1 0.557 5.015 0.329 1.00 0.00 U ATOM 3 HT2 ALA 1 0.149 5.588 1.899 1.00 0.00 U ATOM 4 HT3 ALA 1 0.075 6.581 0.503 1.00 0.00 U ATOM 5 CA ALA 1 -1.489 5.249 0.622 1.00 0.00 U ATOM 6 HA ALA 1 -1.520 4.225 0.962 1.00 0.00 U ATOM 7 CB ALA 1 -2.431 6.222 1.471 1.00 0.00 U ATOM 8 HB1 ALA 1 -2.197 6.190 2.557 1.00 0.00 U ATOM 9 HB2 ALA 1 -2.357 7.278 1.134 1.00 0.00 U ATOM 10 HB3 ALA 1 -3.499 5.923 1.404 1.00 0.00 U ATOM 11 C ALA 1 -1.838 5.266 -0.843 1.00 0.00 U ATOM 12 O ALA 1 -2.053 4.217 -1.450 1.00 0.00 U ATOM 13 C ALA 2 0.451 6.717 -1.962 1.00 0.00 U ATOM 14 OT1 ALA 2 0.559 7.525 -0.965 1.00 0.00 U ATOM 15 OT2 ALA 2 1.332 5.891 -2.271 1.00 0.00 U ATOM 16 N ALA 2 -1.729 6.462 -1.471 1.00 0.00 U ATOM 17 HN ALA 2 -1.757 7.274 -0.892 1.00 0.00 U ATOM 18 CA ALA 2 -0.941 6.553 -2.599 1.00 0.00 U ATOM 19 HA ALA 2 -0.970 5.648 -3.187 1.00 0.00 U ATOM 20 CB ALA 2 -1.250 7.846 -3.431 1.00 0.00 U ATOM 21 HB1 ALA 2 -2.248 7.902 -3.918 1.00 0.00 U ATOM 22 HB2 ALA 2 -1.112 8.744 -2.791 1.00 0.00 U ATOM 23 HB3 ALA 2 -0.495 7.897 -4.244 1.00 0.00 U END protomol/examples/alanine_dipeptide_23/ala_equil.psf0100644027616700000500000001202010237151525022234 0ustar pbrenne1dipPSF 1 !NTITLE REMARKS original generated structure x-plor psf file 23 !NATOM 1 U 1 ALA N NH3 -0.300000 14.0070 0 2 U 1 ALA HT1 HC 0.330000 1.0080 0 3 U 1 ALA HT2 HC 0.330000 1.0080 0 4 U 1 ALA HT3 HC 0.330000 1.0080 0 5 U 1 ALA CA CT1 0.210000 12.0110 0 6 U 1 ALA HA HB 0.100000 1.0080 0 7 U 1 ALA CB CT3 -0.270000 12.0110 0 8 U 1 ALA HB1 HA 0.090000 1.0080 0 9 U 1 ALA HB2 HA 0.090000 1.0080 0 10 U 1 ALA HB3 HA 0.090000 1.0080 0 11 U 1 ALA C C 0.510000 12.0110 0 12 U 1 ALA O O -0.510000 15.9990 0 13 U 2 ALA C CC 0.340000 12.0110 0 14 U 2 ALA OT1 OC -0.670000 15.9990 0 15 U 2 ALA OT2 OC -0.670000 15.9990 0 16 U 2 ALA N NH1 -0.470000 14.0070 0 17 U 2 ALA HN H 0.310000 1.0080 0 18 U 2 ALA CA CT1 0.070000 12.0110 0 19 U 2 ALA HA HB 0.090000 1.0080 0 20 U 2 ALA CB CT3 -0.270000 12.0110 0 21 U 2 ALA HB1 HA 0.090000 1.0080 0 22 U 2 ALA HB2 HA 0.090000 1.0080 0 23 U 2 ALA HB3 HA 0.090000 1.0080 0 22 !NBOND: bonds 1 5 2 1 3 1 4 1 5 6 7 5 7 8 7 9 7 10 11 5 11 16 12 11 13 15 13 14 13 18 16 17 16 18 18 19 20 18 20 21 20 22 20 23 39 !NTHETA: angles 1 5 6 1 5 11 2 1 5 2 1 4 2 1 3 3 1 5 3 1 4 4 1 5 5 11 12 5 11 16 5 7 10 5 7 9 5 7 8 7 5 6 7 5 11 7 5 1 8 7 10 8 7 9 9 7 10 11 5 6 13 18 19 14 13 18 15 13 18 15 13 14 16 18 19 16 18 13 16 11 12 17 16 11 17 16 18 18 20 23 18 20 22 18 20 21 18 16 11 20 18 19 20 18 13 20 18 16 21 20 23 21 20 22 22 20 23 49 !NPHI: dihedrals 1 5 7 8 1 5 7 9 1 5 7 10 1 5 11 16 1 5 11 12 2 1 5 7 2 1 5 11 2 1 5 6 3 1 5 7 3 1 5 11 3 1 5 6 4 1 5 7 4 1 5 11 4 1 5 6 5 11 16 17 5 11 16 18 6 5 7 8 6 5 7 9 6 5 7 10 6 5 11 16 6 5 11 12 7 5 11 16 7 5 11 12 8 7 5 11 9 7 5 11 10 7 5 11 11 16 18 20 11 16 18 13 11 16 18 19 12 11 16 17 12 11 16 18 13 18 20 21 13 18 20 22 13 18 20 23 13 18 16 17 14 13 18 20 14 13 18 16 14 13 18 19 15 13 18 20 15 13 18 16 15 13 18 19 16 18 20 21 16 18 20 22 16 18 20 23 17 16 18 20 17 16 18 19 19 18 20 21 19 18 20 22 19 18 20 23 3 !NIMPHI: impropers 11 5 16 12 13 18 15 14 16 11 18 17 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 !NGRP 0 0 0 protomol/examples/alanine_dipeptide_23/ala_equilibrated.pdb0100644027616700000500000000356010237151525023555 0ustar pbrenne1dipREMARK FINAL COORDINATES WRITTEN BY NAMD AT TIMESTEP 20400 ATOM 1 N ALA 1 -0.076 5.625 0.884 1.00 0.00 U ATOM 2 HT1 ALA 1 0.557 5.015 0.329 0.00 0.00 U ATOM 3 HT2 ALA 1 0.149 5.588 1.899 0.00 0.00 U ATOM 4 HT3 ALA 1 0.075 6.581 0.503 0.00 0.00 U ATOM 5 CA ALA 1 -1.489 5.249 0.622 1.00 0.00 U ATOM 6 HA ALA 1 -1.520 4.225 0.962 1.00 0.00 U ATOM 7 CB ALA 1 -2.431 6.222 1.471 1.00 0.00 U ATOM 8 HB1 ALA 1 -2.197 6.190 2.557 0.00 0.00 U ATOM 9 HB2 ALA 1 -2.357 7.278 1.134 0.00 0.00 U ATOM 10 HB3 ALA 1 -3.499 5.923 1.404 0.00 0.00 U ATOM 11 C ALA 1 -1.838 5.266 -0.843 1.00 0.00 U ATOM 12 O ALA 1 -2.053 4.217 -1.450 1.00 0.00 U ATOM 13 C ALA 2 0.451 6.717 -1.962 1.00 0.00 U ATOM 14 OT1 ALA 2 0.559 7.525 -0.965 0.00 0.00 U ATOM 15 OT2 ALA 2 1.332 5.891 -2.271 0.00 0.00 U ATOM 16 N ALA 2 -1.729 6.462 -1.471 1.00 0.00 U ATOM 17 HN ALA 2 -1.757 7.274 -0.892 0.00 0.00 U ATOM 18 CA ALA 2 -0.941 6.553 -2.599 1.00 0.00 U ATOM 19 HA ALA 2 -0.970 5.648 -3.187 1.00 0.00 U ATOM 20 CB ALA 2 -1.250 7.846 -3.431 1.00 0.00 U ATOM 21 HB1 ALA 2 -2.248 7.902 -3.918 0.00 0.00 U ATOM 22 HB2 ALA 2 -1.112 8.744 -2.791 0.00 0.00 U ATOM 23 HB3 ALA 2 -0.495 7.897 -4.244 0.00 0.00 U END protomol/examples/alanine_dipeptide_23/ala_equilibrated.pgn0100644027616700000500000000031410237151525023566 0ustar pbrenne1dippackage require psfgen topology ../parameters/top_all27_prot_lipid.inp segment U {pdb ala_equilibrated.pdb} coordpdb ala_equilibrated.pdb U guesscoord writepdb ala_equil.pdb writepsf ala_equil.psf protomol/examples/alanine_dipeptide_water_184x/0040755027616700000500000000000010237151525021260 5ustar pbrenne1dipprotomol/examples/alanine_dipeptide_water_184x/ala607.pgn0100644027616700000500000000034210237151525022754 0ustar pbrenne1dippackage require psfgen topology ../parameters/top_all27_prot_lipid.inp segment U {pdb ala_w_607_water.pdb} coordpdb ala_w_607_water.pdb U guesscoord writepdb ala_w_607_water_equil.pdb writepsf ala_w_607_water_equil.psf protomol/examples/alanine_dipeptide_water_184x/alanine.7ns.namd0100644027616700000500000000611410237151525024235 0ustar pbrenne1dip############################################################# ## DESCRIPTION ## ############################################################# # Run a 7ns simulation of alanine dipeptide with water # using the NPT ensemble, PME, and SHAKE ############################################################# ## ADJUSTABLE PARAMETERS ## ############################################################# structure ../structure/ala_w_607_water_equil.psf coordinates ../structure/ala_w_607_water_equil.pdb set temperature 300 set outputname ../output/ala_w_607_water/ala_7ns firsttimestep 0 ############################################################# ## SIMULATION PARAMETERS ## ############################################################# # Input paraTypeCharmm on parameters ../parameters/par_all27_prot_lipid.inp temperature $temperature # Force-Field Parameters exclude scaled1-4 1-4scaling 1.0 cutoff 8.5 switching on switchdist 5. pairlistdist 10. # Periodic Boundary Conditions cellBasisVector1 40 0 0 cellBasisVector2 0 40 0 cellBasisVector3 0 0 40 cellOrigin 2.93417620659 1.18202984333 -0.0237977247238 margin 30 wrapAll on # PME (for full-system periodic electrostatics) PME yes PMEGridSizeX 24 PMEGridSizeY 24 PMEGridSizeZ 24 # Integrator Parameters timestep 0.5 ;# 0.5fs/step rigidBonds all ;# needed for 2fs steps nonbondedFreq 1 fullElectFrequency 2 stepspercycle 10 # Constant Temperature Control langevin on ;# do langevin dynamics langevinDamping 5 ;# damping coefficient (gamma) of 5/ps langevinTemp $temperature langevinHydrogen off ;# don't couple langevin bath to hydrogens # Output outputName $outputname binaryoutput no restartfreq 500 ;# 500steps = every 1ps dcdfreq 500 outputEnergies 100 outputPressure 100 # Pressure Control useGroupPressure yes ;# needed for rigidBonds useFlexibleCell no useConstantArea no #langevinPiston on #langevinPistonTarget 1.01325 ;# in bar -> 1 atm #langevinPistonPeriod 100. #langevinPistonDecay 50. #langevinPistonTemp $temperature BerendsenPressure on BerendsenPressureTarget 1.01325 # bar BerendsenPressureCompressibility 4.57E-5 # bar BerendsenPressureRelaxationTime 100 ;# fs BerendsenPressureFreq 10 # timesteps ############################################################# ## EXTRA PARAMETERS ## ############################################################# # Spherical boundary conditions #sphericalBC on #sphericalBCcenter 0.0, 0.0, 0.0 #sphericalBCr1 10.0 #sphericalBCk1 12 #sphericalBCexp1 2 ############################################################# ## EXECUTION SCRIPT ## ############################################################# # Run the simulation run 14000000 ;# 7ns protomol/examples/alanine_dipeptide_water_184x/alanine.equil.pdb0100644027616700000500000042521110237151525024476 0ustar pbrenne1dipREMARK original generated coordinate pdb file ATOM 1 N ALA 1 2.633 -12.169 -12.238 1.00 0.00 U ATOM 2 HT1 ALA 1 2.164 -12.704 -11.479 1.00 0.00 U ATOM 3 HT2 ALA 1 3.651 -12.279 -12.053 1.00 0.00 U ATOM 4 HT3 ALA 1 2.375 -12.688 -13.101 1.00 0.00 U ATOM 5 CA ALA 1 2.074 -10.762 -12.144 1.00 0.00 U ATOM 6 HA ALA 1 1.052 -10.821 -12.488 1.00 0.00 U ATOM 7 CB ALA 1 2.361 -10.233 -10.728 1.00 0.00 U ATOM 8 HB1 ALA 1 2.177 -9.179 -10.426 1.00 0.00 U ATOM 9 HB2 ALA 1 1.953 -10.905 -9.944 1.00 0.00 U ATOM 10 HB3 ALA 1 3.471 -10.206 -10.688 1.00 0.00 U ATOM 11 C ALA 1 2.807 -9.964 -13.259 1.00 0.00 U ATOM 12 O ALA 1 3.748 -10.481 -13.958 1.00 0.00 U ATOM 13 N ALA 2 2.302 -8.769 -13.521 1.00 0.00 U ATOM 14 HN ALA 2 1.486 -8.473 -13.031 1.00 0.00 U ATOM 15 CA ALA 2 2.784 -7.800 -14.513 1.00 0.00 U ATOM 16 HA ALA 2 3.435 -8.399 -15.133 1.00 0.00 U ATOM 17 CB ALA 2 1.570 -7.354 -15.375 1.00 0.00 U ATOM 18 HB1 ALA 2 0.750 -8.097 -15.268 1.00 0.00 U ATOM 19 HB2 ALA 2 1.124 -6.501 -14.820 1.00 0.00 U ATOM 20 HB3 ALA 2 1.841 -7.071 -16.414 1.00 0.00 U ATOM 21 C ALA 2 3.408 -6.570 -13.934 1.00 0.00 U ATOM 22 O ALA 2 4.387 -6.730 -13.808 0.00 0.00 U ATOM 23 OH2 TIP3 5 5.909 10.392 6.791 1.00 0.00 U ATOM 24 H1 TIP3 5 6.863 10.315 6.773 1.00 0.00 U ATOM 25 H2 TIP3 5 5.736 11.292 6.517 1.00 0.00 U ATOM 26 OH2 TIP3 7 -7.221 4.016 -8.867 1.00 0.00 U ATOM 27 H1 TIP3 7 -7.104 4.953 -8.710 1.00 0.00 U ATOM 28 H2 TIP3 7 -6.831 3.594 -8.101 1.00 0.00 U ATOM 29 OH2 TIP3 21 -8.356 -2.242 7.177 1.00 0.00 U ATOM 30 H1 TIP3 21 -8.917 -1.750 7.777 1.00 0.00 U ATOM 31 H2 TIP3 21 -7.517 -2.309 7.634 1.00 0.00 U ATOM 32 OH2 TIP3 29 2.691 14.078 -6.588 1.00 0.00 U ATOM 33 H1 TIP3 29 2.861 14.104 -5.647 1.00 0.00 U ATOM 34 H2 TIP3 29 3.435 14.535 -6.980 1.00 0.00 U ATOM 35 OH2 TIP3 44 -6.141 1.003 11.187 1.00 0.00 U ATOM 36 H1 TIP3 44 -6.877 1.173 10.599 1.00 0.00 U ATOM 37 H2 TIP3 44 -6.525 1.018 12.064 1.00 0.00 U ATOM 38 OH2 TIP3 46 -5.090 -6.981 3.254 1.00 0.00 U ATOM 39 H1 TIP3 46 -5.787 -7.265 2.663 1.00 0.00 U ATOM 40 H2 TIP3 46 -4.331 -7.507 3.000 1.00 0.00 U ATOM 41 OH2 TIP3 47 -4.729 -10.280 1.698 1.00 0.00 U ATOM 42 H1 TIP3 47 -4.131 -9.534 1.743 1.00 0.00 U ATOM 43 H2 TIP3 47 -4.207 -10.983 1.311 1.00 0.00 U ATOM 44 OH2 TIP3 48 3.835 -8.815 -7.434 1.00 0.00 U ATOM 45 H1 TIP3 48 3.720 -9.060 -6.516 1.00 0.00 U ATOM 46 H2 TIP3 48 4.415 -9.488 -7.791 1.00 0.00 U ATOM 47 OH2 TIP3 52 -1.436 6.009 -1.183 1.00 0.00 U ATOM 48 H1 TIP3 52 -0.540 5.912 -1.506 1.00 0.00 U ATOM 49 H2 TIP3 52 -1.508 5.366 -0.478 1.00 0.00 U ATOM 50 OH2 TIP3 64 -9.889 -12.388 1.433 1.00 0.00 U ATOM 51 H1 TIP3 64 -10.161 -11.482 1.285 1.00 0.00 U ATOM 52 H2 TIP3 64 -9.336 -12.348 2.213 1.00 0.00 U ATOM 53 OH2 TIP3 67 0.833 9.848 7.511 1.00 0.00 U ATOM 54 H1 TIP3 67 0.744 9.286 6.741 1.00 0.00 U ATOM 55 H2 TIP3 67 0.361 9.385 8.203 1.00 0.00 U ATOM 56 OH2 TIP3 68 14.360 -10.707 8.643 1.00 0.00 U ATOM 57 H1 TIP3 68 14.228 -9.838 8.265 1.00 0.00 U ATOM 58 H2 TIP3 68 13.820 -10.709 9.433 1.00 0.00 U ATOM 59 OH2 TIP3 87 -7.372 -4.421 10.160 1.00 0.00 U ATOM 60 H1 TIP3 87 -6.463 -4.211 10.372 1.00 0.00 U ATOM 61 H2 TIP3 87 -7.692 -3.653 9.685 1.00 0.00 U ATOM 62 OH2 TIP3 88 1.088 -1.018 4.852 1.00 0.00 U ATOM 63 H1 TIP3 88 0.940 -1.762 5.436 1.00 0.00 U ATOM 64 H2 TIP3 88 1.311 -0.294 5.437 1.00 0.00 U ATOM 65 OH2 TIP3 90 -6.269 3.597 -11.565 1.00 0.00 U ATOM 66 H1 TIP3 90 -5.506 3.147 -11.204 1.00 0.00 U ATOM 67 H2 TIP3 90 -6.814 3.794 -10.804 1.00 0.00 U ATOM 68 OH2 TIP3 94 8.223 1.355 5.007 1.00 0.00 U ATOM 69 H1 TIP3 94 8.205 0.582 5.570 1.00 0.00 U ATOM 70 H2 TIP3 94 7.303 1.533 4.812 1.00 0.00 U ATOM 71 OH2 TIP3 95 -9.762 -8.120 8.479 1.00 0.00 U ATOM 72 H1 TIP3 95 -9.123 -8.222 7.772 1.00 0.00 U ATOM 73 H2 TIP3 95 -10.602 -8.028 8.031 1.00 0.00 U ATOM 74 OH2 TIP3 108 -4.400 2.879 -2.142 1.00 0.00 U ATOM 75 H1 TIP3 108 -4.233 1.946 -2.008 1.00 0.00 U ATOM 76 H2 TIP3 108 -4.805 3.170 -1.326 1.00 0.00 U ATOM 77 OH2 TIP3 111 7.744 3.123 1.039 1.00 0.00 U ATOM 78 H1 TIP3 111 8.541 2.879 1.510 1.00 0.00 U ATOM 79 H2 TIP3 111 8.025 3.803 0.428 1.00 0.00 U ATOM 80 OH2 TIP3 112 16.054 11.470 0.596 1.00 0.00 U ATOM 81 H1 TIP3 112 15.579 11.122 1.350 1.00 0.00 U ATOM 82 H2 TIP3 112 16.108 12.411 0.759 1.00 0.00 U ATOM 83 OH2 TIP3 113 3.644 3.441 -1.624 1.00 0.00 U ATOM 84 H1 TIP3 113 4.478 3.443 -2.093 1.00 0.00 U ATOM 85 H2 TIP3 113 3.888 3.364 -0.701 1.00 0.00 U ATOM 86 OH2 TIP3 115 -5.465 4.019 0.292 1.00 0.00 U ATOM 87 H1 TIP3 115 -5.658 4.813 -0.206 1.00 0.00 U ATOM 88 H2 TIP3 115 -6.324 3.668 0.527 1.00 0.00 U ATOM 89 OH2 TIP3 125 -4.109 -4.961 4.807 1.00 0.00 U ATOM 90 H1 TIP3 125 -4.364 -5.756 4.339 1.00 0.00 U ATOM 91 H2 TIP3 125 -4.911 -4.440 4.851 1.00 0.00 U ATOM 92 OH2 TIP3 130 -5.984 12.829 10.610 1.00 0.00 U ATOM 93 H1 TIP3 130 -6.092 12.575 11.527 1.00 0.00 U ATOM 94 H2 TIP3 130 -5.878 13.780 10.634 1.00 0.00 U ATOM 95 OH2 TIP3 133 1.985 6.920 -8.323 1.00 0.00 U ATOM 96 H1 TIP3 133 2.230 7.670 -7.782 1.00 0.00 U ATOM 97 H2 TIP3 133 2.089 7.228 -9.223 1.00 0.00 U ATOM 98 OH2 TIP3 134 6.864 -3.308 -6.751 1.00 0.00 U ATOM 99 H1 TIP3 134 7.520 -2.955 -6.149 1.00 0.00 U ATOM 100 H2 TIP3 134 7.375 -3.738 -7.436 1.00 0.00 U ATOM 101 OH2 TIP3 135 -8.213 6.050 -1.942 1.00 0.00 U ATOM 102 H1 TIP3 135 -8.660 5.247 -2.208 1.00 0.00 U ATOM 103 H2 TIP3 135 -8.912 6.701 -1.873 1.00 0.00 U ATOM 104 OH2 TIP3 145 5.301 -9.068 -4.703 1.00 0.00 U ATOM 105 H1 TIP3 145 6.257 -9.078 -4.661 1.00 0.00 U ATOM 106 H2 TIP3 145 5.082 -8.177 -4.975 1.00 0.00 U ATOM 107 OH2 TIP3 149 1.990 6.719 -4.415 1.00 0.00 U ATOM 108 H1 TIP3 149 1.389 6.206 -3.874 1.00 0.00 U ATOM 109 H2 TIP3 149 1.661 7.616 -4.353 1.00 0.00 U ATOM 110 OH2 TIP3 150 -4.822 -3.948 8.170 1.00 0.00 U ATOM 111 H1 TIP3 150 -4.534 -3.593 7.329 1.00 0.00 U ATOM 112 H2 TIP3 150 -4.480 -3.334 8.819 1.00 0.00 U ATOM 113 OH2 TIP3 152 -8.783 4.112 5.203 1.00 0.00 U ATOM 114 H1 TIP3 152 -9.608 4.515 5.475 1.00 0.00 U ATOM 115 H2 TIP3 152 -8.421 4.720 4.558 1.00 0.00 U ATOM 116 OH2 TIP3 153 -8.353 11.973 7.990 1.00 0.00 U ATOM 117 H1 TIP3 153 -8.499 12.819 7.566 1.00 0.00 U ATOM 118 H2 TIP3 153 -8.357 12.170 8.927 1.00 0.00 U ATOM 119 OH2 TIP3 167 -7.114 -5.757 -4.108 1.00 0.00 U ATOM 120 H1 TIP3 167 -6.349 -5.339 -3.712 1.00 0.00 U ATOM 121 H2 TIP3 167 -7.845 -5.504 -3.544 1.00 0.00 U ATOM 122 OH2 TIP3 239 13.617 5.579 -9.289 1.00 0.00 U ATOM 123 H1 TIP3 239 12.695 5.352 -9.405 1.00 0.00 U ATOM 124 H2 TIP3 239 13.996 4.823 -8.841 1.00 0.00 U ATOM 125 OH2 TIP3 261 11.699 -1.099 0.359 1.00 0.00 U ATOM 126 H1 TIP3 261 11.454 -0.752 1.216 1.00 0.00 U ATOM 127 H2 TIP3 261 11.418 -0.428 -0.262 1.00 0.00 U ATOM 128 OH2 TIP3 424 13.918 8.571 -8.630 1.00 0.00 U ATOM 129 H1 TIP3 424 14.071 7.645 -8.438 1.00 0.00 U ATOM 130 H2 TIP3 424 13.673 8.587 -9.555 1.00 0.00 U ATOM 131 OH2 TIP3 450 -2.057 9.336 3.166 1.00 0.00 U ATOM 132 H1 TIP3 450 -2.434 9.171 4.030 1.00 0.00 U ATOM 133 H2 TIP3 450 -2.469 10.150 2.876 1.00 0.00 U ATOM 134 OH2 TIP3 465 -7.450 5.178 7.396 1.00 0.00 U ATOM 135 H1 TIP3 465 -6.546 4.889 7.272 1.00 0.00 U ATOM 136 H2 TIP3 465 -7.912 4.862 6.620 1.00 0.00 U ATOM 137 OH2 TIP3 466 -6.048 7.141 -11.085 1.00 0.00 U ATOM 138 H1 TIP3 466 -5.713 8.035 -11.146 1.00 0.00 U ATOM 139 H2 TIP3 466 -5.774 6.725 -11.903 1.00 0.00 U ATOM 140 OH2 TIP3 484 0.385 10.330 -12.545 1.00 0.00 U ATOM 141 H1 TIP3 484 -0.380 10.854 -12.309 1.00 0.00 U ATOM 142 H2 TIP3 484 0.242 10.095 -13.462 1.00 0.00 U ATOM 143 OH2 TIP3 485 4.388 -11.840 5.861 1.00 0.00 U ATOM 144 H1 TIP3 485 5.083 -11.831 5.202 1.00 0.00 U ATOM 145 H2 TIP3 485 3.902 -11.029 5.708 1.00 0.00 U ATOM 146 OH2 TIP3 486 -4.971 1.918 2.757 1.00 0.00 U ATOM 147 H1 TIP3 486 -5.035 2.658 2.153 1.00 0.00 U ATOM 148 H2 TIP3 486 -5.447 1.211 2.323 1.00 0.00 U ATOM 149 OH2 TIP3 489 -9.280 -8.871 -1.430 1.00 0.00 U ATOM 150 H1 TIP3 489 -8.607 -8.886 -2.110 1.00 0.00 U ATOM 151 H2 TIP3 489 -9.474 -7.942 -1.305 1.00 0.00 U ATOM 152 OH2 TIP3 495 13.365 -1.476 -6.908 1.00 0.00 U ATOM 153 H1 TIP3 495 13.876 -0.830 -7.395 1.00 0.00 U ATOM 154 H2 TIP3 495 13.568 -2.310 -7.330 1.00 0.00 U ATOM 155 OH2 TIP3 503 15.652 -3.683 -5.748 1.00 0.00 U ATOM 156 H1 TIP3 503 16.537 -3.948 -5.998 1.00 0.00 U ATOM 157 H2 TIP3 503 15.102 -3.966 -6.479 1.00 0.00 U ATOM 158 OH2 TIP3 506 -1.914 -4.660 2.998 1.00 0.00 U ATOM 159 H1 TIP3 506 -2.348 -4.672 3.851 1.00 0.00 U ATOM 160 H2 TIP3 506 -1.318 -3.912 3.042 1.00 0.00 U ATOM 161 OH2 TIP3 507 -4.819 -2.604 -6.336 1.00 0.00 U ATOM 162 H1 TIP3 507 -4.452 -3.227 -6.963 1.00 0.00 U ATOM 163 H2 TIP3 507 -4.148 -2.523 -5.658 1.00 0.00 U ATOM 164 OH2 TIP3 509 9.819 1.781 -11.958 1.00 0.00 U ATOM 165 H1 TIP3 509 9.157 1.125 -11.742 1.00 0.00 U ATOM 166 H2 TIP3 509 9.506 2.182 -12.768 1.00 0.00 U ATOM 167 OH2 TIP3 511 -0.666 -2.234 3.016 1.00 0.00 U ATOM 168 H1 TIP3 511 0.032 -1.833 3.534 1.00 0.00 U ATOM 169 H2 TIP3 511 -1.321 -1.543 2.920 1.00 0.00 U ATOM 170 OH2 TIP3 512 9.507 1.052 8.613 1.00 0.00 U ATOM 171 H1 TIP3 512 9.991 0.994 9.436 1.00 0.00 U ATOM 172 H2 TIP3 512 9.605 1.964 8.340 1.00 0.00 U ATOM 173 OH2 TIP3 515 9.219 -11.026 3.434 1.00 0.00 U ATOM 174 H1 TIP3 515 9.714 -11.751 3.816 1.00 0.00 U ATOM 175 H2 TIP3 515 9.534 -10.969 2.532 1.00 0.00 U ATOM 176 OH2 TIP3 517 12.041 3.567 -7.784 1.00 0.00 U ATOM 177 H1 TIP3 517 11.481 2.888 -8.160 1.00 0.00 U ATOM 178 H2 TIP3 517 11.461 4.321 -7.670 1.00 0.00 U ATOM 179 OH2 TIP3 528 -3.870 11.412 -12.713 1.00 0.00 U ATOM 180 H1 TIP3 528 -3.584 12.246 -13.086 1.00 0.00 U ATOM 181 H2 TIP3 528 -3.714 10.772 -13.408 1.00 0.00 U ATOM 182 OH2 TIP3 533 13.355 -9.188 -7.995 1.00 0.00 U ATOM 183 H1 TIP3 533 13.106 -9.764 -7.272 1.00 0.00 U ATOM 184 H2 TIP3 533 13.622 -8.373 -7.571 1.00 0.00 U ATOM 185 OH2 TIP3 534 9.305 -8.451 -7.921 1.00 0.00 U ATOM 186 H1 TIP3 534 9.681 -8.631 -7.059 1.00 0.00 U ATOM 187 H2 TIP3 534 10.057 -8.231 -8.470 1.00 0.00 U ATOM 188 OH2 TIP3 535 1.472 -10.721 1.312 1.00 0.00 U ATOM 189 H1 TIP3 535 1.607 -9.793 1.122 1.00 0.00 U ATOM 190 H2 TIP3 535 2.208 -11.162 0.888 1.00 0.00 U ATOM 191 OH2 TIP3 543 1.042 -9.746 -4.216 1.00 0.00 U ATOM 192 H1 TIP3 543 1.415 -9.723 -3.335 1.00 0.00 U ATOM 193 H2 TIP3 543 1.070 -8.836 -4.513 1.00 0.00 U ATOM 194 OH2 TIP3 549 1.604 -11.352 9.791 1.00 0.00 U ATOM 195 H1 TIP3 549 2.469 -11.085 10.103 1.00 0.00 U ATOM 196 H2 TIP3 549 1.717 -12.265 9.527 1.00 0.00 U ATOM 197 OH2 TIP3 550 8.277 12.459 5.553 1.00 0.00 U ATOM 198 H1 TIP3 550 9.161 12.395 5.191 1.00 0.00 U ATOM 199 H2 TIP3 550 8.367 13.053 6.299 1.00 0.00 U ATOM 200 OH2 TIP3 551 3.212 -3.851 -10.195 1.00 0.00 U ATOM 201 H1 TIP3 551 3.761 -3.793 -10.977 1.00 0.00 U ATOM 202 H2 TIP3 551 2.340 -4.061 -10.530 1.00 0.00 U ATOM 203 OH2 TIP3 554 12.739 11.804 -0.731 1.00 0.00 U ATOM 204 H1 TIP3 554 11.912 12.285 -0.699 1.00 0.00 U ATOM 205 H2 TIP3 554 12.499 10.936 -1.054 1.00 0.00 U ATOM 206 OH2 TIP3 558 3.321 5.619 10.812 1.00 0.00 U ATOM 207 H1 TIP3 558 3.301 5.001 10.081 1.00 0.00 U ATOM 208 H2 TIP3 558 3.187 5.077 11.589 1.00 0.00 U ATOM 209 OH2 TIP3 562 14.440 -5.700 -10.442 1.00 0.00 U ATOM 210 H1 TIP3 562 13.786 -5.493 -11.109 1.00 0.00 U ATOM 211 H2 TIP3 562 14.857 -6.502 -10.755 1.00 0.00 U ATOM 212 OH2 TIP3 568 14.493 -8.288 12.603 1.00 0.00 U ATOM 213 H1 TIP3 568 13.712 -8.178 12.060 1.00 0.00 U ATOM 214 H2 TIP3 568 15.196 -8.464 11.978 1.00 0.00 U ATOM 215 OH2 TIP3 575 0.380 5.359 5.479 1.00 0.00 U ATOM 216 H1 TIP3 575 0.758 6.238 5.448 1.00 0.00 U ATOM 217 H2 TIP3 575 -0.315 5.373 4.821 1.00 0.00 U ATOM 218 OH2 TIP3 576 -3.354 8.130 -0.320 1.00 0.00 U ATOM 219 H1 TIP3 576 -2.750 7.454 -0.628 1.00 0.00 U ATOM 220 H2 TIP3 576 -4.214 7.710 -0.339 1.00 0.00 U ATOM 221 OH2 TIP3 584 12.583 10.443 -6.519 1.00 0.00 U ATOM 222 H1 TIP3 584 13.362 10.372 -7.071 1.00 0.00 U ATOM 223 H2 TIP3 584 12.270 11.336 -6.660 1.00 0.00 U ATOM 224 OH2 TIP3 592 16.170 2.252 7.933 1.00 0.00 U ATOM 225 H1 TIP3 592 16.166 2.955 7.283 1.00 0.00 U ATOM 226 H2 TIP3 592 15.383 2.404 8.456 1.00 0.00 U ATOM 227 OH2 TIP3 593 11.404 -11.349 6.501 1.00 0.00 U ATOM 228 H1 TIP3 593 11.291 -11.173 7.435 1.00 0.00 U ATOM 229 H2 TIP3 593 11.626 -10.498 6.122 1.00 0.00 U ATOM 230 OH2 TIP3 594 12.666 12.885 -13.105 1.00 0.00 U ATOM 231 H1 TIP3 594 13.044 12.270 -12.477 1.00 0.00 U ATOM 232 H2 TIP3 594 13.406 13.421 -13.391 1.00 0.00 U ATOM 233 OH2 TIP3 595 -5.200 -11.811 6.153 1.00 0.00 U ATOM 234 H1 TIP3 595 -4.503 -12.426 5.923 1.00 0.00 U ATOM 235 H2 TIP3 595 -4.867 -10.957 5.877 1.00 0.00 U ATOM 236 OH2 TIP3 612 11.914 -4.917 -6.483 1.00 0.00 U ATOM 237 H1 TIP3 612 12.772 -5.307 -6.653 1.00 0.00 U ATOM 238 H2 TIP3 612 11.364 -5.223 -7.204 1.00 0.00 U ATOM 239 OH2 TIP3 613 0.243 -4.191 10.789 1.00 0.00 U ATOM 240 H1 TIP3 613 1.172 -3.975 10.707 1.00 0.00 U ATOM 241 H2 TIP3 613 0.211 -5.145 10.716 1.00 0.00 U ATOM 242 OH2 TIP3 632 9.658 -6.566 -5.225 1.00 0.00 U ATOM 243 H1 TIP3 632 9.563 -5.963 -5.962 1.00 0.00 U ATOM 244 H2 TIP3 632 9.871 -6.004 -4.481 1.00 0.00 U ATOM 245 OH2 TIP3 634 -5.637 10.717 -1.429 1.00 0.00 U ATOM 246 H1 TIP3 634 -5.391 10.335 -2.271 1.00 0.00 U ATOM 247 H2 TIP3 634 -6.295 10.119 -1.076 1.00 0.00 U ATOM 248 OH2 TIP3 635 3.967 12.673 12.389 1.00 0.00 U ATOM 249 H1 TIP3 635 3.907 12.340 11.494 1.00 0.00 U ATOM 250 H2 TIP3 635 4.417 11.980 12.873 1.00 0.00 U ATOM 251 OH2 TIP3 638 -4.692 -4.378 -3.339 1.00 0.00 U ATOM 252 H1 TIP3 638 -4.232 -5.217 -3.339 1.00 0.00 U ATOM 253 H2 TIP3 638 -3.994 -3.723 -3.373 1.00 0.00 U ATOM 254 OH2 TIP3 640 -1.120 0.265 -12.884 1.00 0.00 U ATOM 255 H1 TIP3 640 -0.869 -0.433 -13.488 1.00 0.00 U ATOM 256 H2 TIP3 640 -1.974 -0.005 -12.546 1.00 0.00 U ATOM 257 OH2 TIP3 659 2.417 4.083 12.883 1.00 0.00 U ATOM 258 H1 TIP3 659 3.062 3.450 13.199 1.00 0.00 U ATOM 259 H2 TIP3 659 1.587 3.606 12.893 1.00 0.00 U ATOM 260 OH2 TIP3 822 5.666 3.904 6.639 1.00 0.00 U ATOM 261 H1 TIP3 822 5.033 4.471 6.199 1.00 0.00 U ATOM 262 H2 TIP3 822 5.897 3.247 5.982 1.00 0.00 U ATOM 263 OH2 TIP3 849 4.518 -11.510 9.784 1.00 0.00 U ATOM 264 H1 TIP3 849 4.565 -10.666 9.335 1.00 0.00 U ATOM 265 H2 TIP3 849 4.485 -11.285 10.714 1.00 0.00 U ATOM 266 OH2 TIP3 867 9.200 10.779 -12.231 1.00 0.00 U ATOM 267 H1 TIP3 867 10.043 10.760 -11.778 1.00 0.00 U ATOM 268 H2 TIP3 867 8.919 11.693 -12.176 1.00 0.00 U ATOM 269 OH2 TIP3 887 14.267 -5.242 3.915 1.00 0.00 U ATOM 270 H1 TIP3 887 15.138 -5.622 3.798 1.00 0.00 U ATOM 271 H2 TIP3 887 14.066 -4.838 3.070 1.00 0.00 U ATOM 272 OH2 TIP3 889 2.725 0.008 -0.251 1.00 0.00 U ATOM 273 H1 TIP3 889 3.041 0.898 -0.098 1.00 0.00 U ATOM 274 H2 TIP3 889 2.436 0.009 -1.163 1.00 0.00 U ATOM 275 OH2 TIP3 891 -2.668 -2.702 -4.308 1.00 0.00 U ATOM 276 H1 TIP3 891 -2.139 -2.482 -5.075 1.00 0.00 U ATOM 277 H2 TIP3 891 -2.028 -2.888 -3.621 1.00 0.00 U ATOM 278 OH2 TIP3 906 -5.361 -9.198 5.941 1.00 0.00 U ATOM 279 H1 TIP3 906 -6.247 -8.837 5.902 1.00 0.00 U ATOM 280 H2 TIP3 906 -5.020 -9.091 5.053 1.00 0.00 U ATOM 281 OH2 TIP3 907 14.597 -4.616 8.827 1.00 0.00 U ATOM 282 H1 TIP3 907 13.661 -4.425 8.887 1.00 0.00 U ATOM 283 H2 TIP3 907 14.707 -5.011 7.962 1.00 0.00 U ATOM 284 OH2 TIP3 908 10.359 2.132 11.568 1.00 0.00 U ATOM 285 H1 TIP3 908 10.250 3.058 11.349 1.00 0.00 U ATOM 286 H2 TIP3 908 11.272 2.058 11.846 1.00 0.00 U ATOM 287 OH2 TIP3 912 10.490 2.035 -9.340 1.00 0.00 U ATOM 288 H1 TIP3 912 10.153 2.187 -10.223 1.00 0.00 U ATOM 289 H2 TIP3 912 10.120 1.189 -9.085 1.00 0.00 U ATOM 290 OH2 TIP3 924 15.741 9.954 -3.222 1.00 0.00 U ATOM 291 H1 TIP3 924 15.556 9.672 -4.118 1.00 0.00 U ATOM 292 H2 TIP3 924 16.691 10.065 -3.197 1.00 0.00 U ATOM 293 OH2 TIP3 927 2.524 1.327 3.991 1.00 0.00 U ATOM 294 H1 TIP3 927 2.626 1.394 3.042 1.00 0.00 U ATOM 295 H2 TIP3 927 1.782 0.734 4.111 1.00 0.00 U ATOM 296 OH2 TIP3 928 10.472 7.869 -10.922 1.00 0.00 U ATOM 297 H1 TIP3 928 10.148 7.190 -11.514 1.00 0.00 U ATOM 298 H2 TIP3 928 9.780 7.966 -10.267 1.00 0.00 U ATOM 299 OH2 TIP3 929 13.724 -4.685 12.889 1.00 0.00 U ATOM 300 H1 TIP3 929 14.499 -4.221 12.573 1.00 0.00 U ATOM 301 H2 TIP3 929 13.227 -4.890 12.097 1.00 0.00 U ATOM 302 OH2 TIP3 930 10.484 -2.510 -6.462 1.00 0.00 U ATOM 303 H1 TIP3 930 10.732 -3.428 -6.575 1.00 0.00 U ATOM 304 H2 TIP3 930 11.281 -2.020 -6.662 1.00 0.00 U ATOM 305 OH2 TIP3 932 -3.613 11.659 2.081 1.00 0.00 U ATOM 306 H1 TIP3 932 -4.281 11.282 2.654 1.00 0.00 U ATOM 307 H2 TIP3 932 -3.668 11.144 1.277 1.00 0.00 U ATOM 308 OH2 TIP3 933 15.057 -8.912 -3.127 1.00 0.00 U ATOM 309 H1 TIP3 933 15.896 -9.165 -2.743 1.00 0.00 U ATOM 310 H2 TIP3 933 14.678 -9.734 -3.439 1.00 0.00 U ATOM 311 OH2 TIP3 942 -0.077 -7.866 -1.137 1.00 0.00 U ATOM 312 H1 TIP3 942 -0.009 -8.821 -1.112 1.00 0.00 U ATOM 313 H2 TIP3 942 0.829 -7.563 -1.191 1.00 0.00 U ATOM 314 OH2 TIP3 947 10.137 5.605 -8.201 1.00 0.00 U ATOM 315 H1 TIP3 947 9.652 6.203 -8.768 1.00 0.00 U ATOM 316 H2 TIP3 947 10.684 6.176 -7.661 1.00 0.00 U ATOM 317 OH2 TIP3 948 -4.189 14.030 12.605 1.00 0.00 U ATOM 318 H1 TIP3 948 -3.548 14.270 11.937 1.00 0.00 U ATOM 319 H2 TIP3 948 -4.833 14.738 12.585 1.00 0.00 U ATOM 320 OH2 TIP3 949 15.400 -7.901 -5.706 1.00 0.00 U ATOM 321 H1 TIP3 949 15.408 -8.081 -4.766 1.00 0.00 U ATOM 322 H2 TIP3 949 16.099 -8.450 -6.062 1.00 0.00 U ATOM 323 OH2 TIP3 950 5.867 6.259 10.325 1.00 0.00 U ATOM 324 H1 TIP3 950 4.954 6.131 10.584 1.00 0.00 U ATOM 325 H2 TIP3 950 5.834 6.957 9.670 1.00 0.00 U ATOM 326 OH2 TIP3 953 5.770 -5.073 -3.075 1.00 0.00 U ATOM 327 H1 TIP3 953 6.399 -4.352 -3.048 1.00 0.00 U ATOM 328 H2 TIP3 953 4.942 -4.680 -2.797 1.00 0.00 U ATOM 329 OH2 TIP3 964 4.013 -4.899 -7.581 1.00 0.00 U ATOM 330 H1 TIP3 964 3.981 -4.438 -8.419 1.00 0.00 U ATOM 331 H2 TIP3 964 3.451 -5.664 -7.707 1.00 0.00 U ATOM 332 OH2 TIP3 970 -0.162 8.371 11.196 1.00 0.00 U ATOM 333 H1 TIP3 970 -0.880 7.846 11.549 1.00 0.00 U ATOM 334 H2 TIP3 970 0.294 7.782 10.596 1.00 0.00 U ATOM 335 OH2 TIP3 973 -6.836 4.781 10.272 1.00 0.00 U ATOM 336 H1 TIP3 973 -7.146 4.392 9.454 1.00 0.00 U ATOM 337 H2 TIP3 973 -7.571 4.684 10.878 1.00 0.00 U ATOM 338 OH2 TIP3 974 -1.246 13.258 8.063 1.00 0.00 U ATOM 339 H1 TIP3 974 -1.455 12.668 7.339 1.00 0.00 U ATOM 340 H2 TIP3 974 -0.406 12.941 8.396 1.00 0.00 U ATOM 341 OH2 TIP3 975 -8.684 5.809 2.941 1.00 0.00 U ATOM 342 H1 TIP3 975 -9.393 5.274 2.584 1.00 0.00 U ATOM 343 H2 TIP3 975 -8.623 6.555 2.345 1.00 0.00 U ATOM 344 OH2 TIP3 977 0.102 7.635 2.560 1.00 0.00 U ATOM 345 H1 TIP3 977 -0.417 7.705 1.759 1.00 0.00 U ATOM 346 H2 TIP3 977 0.199 8.538 2.863 1.00 0.00 U ATOM 347 OH2 TIP3 988 7.900 -1.124 11.523 1.00 0.00 U ATOM 348 H1 TIP3 988 7.010 -0.897 11.790 1.00 0.00 U ATOM 349 H2 TIP3 988 7.792 -1.581 10.688 1.00 0.00 U ATOM 350 OH2 TIP3 992 2.575 2.470 -11.327 1.00 0.00 U ATOM 351 H1 TIP3 992 3.012 2.495 -10.476 1.00 0.00 U ATOM 352 H2 TIP3 992 1.983 3.221 -11.315 1.00 0.00 U ATOM 353 OH2 TIP3 995 12.690 -3.238 1.836 1.00 0.00 U ATOM 354 H1 TIP3 995 12.678 -2.922 2.740 1.00 0.00 U ATOM 355 H2 TIP3 995 12.063 -2.679 1.378 1.00 0.00 U ATOM 356 OH2 TIP3 996 -1.831 -9.671 -7.247 1.00 0.00 U ATOM 357 H1 TIP3 996 -1.095 -9.874 -6.670 1.00 0.00 U ATOM 358 H2 TIP3 996 -2.602 -9.975 -6.768 1.00 0.00 U ATOM 359 OH2 TIP3 1007 0.585 0.535 6.975 1.00 0.00 U ATOM 360 H1 TIP3 1007 -0.175 1.114 6.912 1.00 0.00 U ATOM 361 H2 TIP3 1007 0.376 -0.057 7.697 1.00 0.00 U ATOM 362 OH2 TIP3 1011 -1.179 0.836 -8.329 1.00 0.00 U ATOM 363 H1 TIP3 1011 -2.113 0.837 -8.536 1.00 0.00 U ATOM 364 H2 TIP3 1011 -0.980 1.746 -8.108 1.00 0.00 U ATOM 365 OH2 TIP3 1013 9.332 6.512 3.666 1.00 0.00 U ATOM 366 H1 TIP3 1013 9.745 7.191 4.199 1.00 0.00 U ATOM 367 H2 TIP3 1013 9.907 5.752 3.759 1.00 0.00 U ATOM 368 OH2 TIP3 1014 13.069 13.337 -6.892 1.00 0.00 U ATOM 369 H1 TIP3 1014 13.136 13.050 -5.981 1.00 0.00 U ATOM 370 H2 TIP3 1014 12.860 14.269 -6.834 1.00 0.00 U ATOM 371 OH2 TIP3 1015 15.337 8.912 4.596 1.00 0.00 U ATOM 372 H1 TIP3 1015 15.426 9.687 5.151 1.00 0.00 U ATOM 373 H2 TIP3 1015 16.149 8.885 4.090 1.00 0.00 U ATOM 374 OH2 TIP3 1017 2.164 -9.418 5.598 1.00 0.00 U ATOM 375 H1 TIP3 1017 1.401 -9.121 6.094 1.00 0.00 U ATOM 376 H2 TIP3 1017 2.262 -8.772 4.898 1.00 0.00 U ATOM 377 OH2 TIP3 1018 6.746 11.541 3.593 1.00 0.00 U ATOM 378 H1 TIP3 1018 7.101 11.968 4.373 1.00 0.00 U ATOM 379 H2 TIP3 1018 6.938 12.149 2.879 1.00 0.00 U ATOM 380 OH2 TIP3 1027 10.606 -3.701 5.154 1.00 0.00 U ATOM 381 H1 TIP3 1027 9.714 -3.462 5.406 1.00 0.00 U ATOM 382 H2 TIP3 1027 10.658 -4.642 5.321 1.00 0.00 U ATOM 383 OH2 TIP3 1032 4.462 -2.645 -5.765 1.00 0.00 U ATOM 384 H1 TIP3 1032 5.323 -2.544 -6.170 1.00 0.00 U ATOM 385 H2 TIP3 1032 4.063 -3.381 -6.229 1.00 0.00 U ATOM 386 OH2 TIP3 1033 13.683 7.604 11.394 1.00 0.00 U ATOM 387 H1 TIP3 1033 13.786 6.837 11.958 1.00 0.00 U ATOM 388 H2 TIP3 1033 13.905 8.347 11.955 1.00 0.00 U ATOM 389 OH2 TIP3 1040 14.051 14.027 0.600 1.00 0.00 U ATOM 390 H1 TIP3 1040 14.895 13.808 0.993 1.00 0.00 U ATOM 391 H2 TIP3 1040 13.700 13.187 0.302 1.00 0.00 U ATOM 392 OH2 TIP3 1053 -9.399 -11.852 6.588 1.00 0.00 U ATOM 393 H1 TIP3 1053 -10.140 -11.621 7.148 1.00 0.00 U ATOM 394 H2 TIP3 1053 -8.638 -11.477 7.031 1.00 0.00 U ATOM 395 OH2 TIP3 1059 4.077 7.920 3.683 1.00 0.00 U ATOM 396 H1 TIP3 1059 4.515 7.076 3.789 1.00 0.00 U ATOM 397 H2 TIP3 1059 4.789 8.559 3.660 1.00 0.00 U ATOM 398 OH2 TIP3 1112 -8.591 8.814 4.071 1.00 0.00 U ATOM 399 H1 TIP3 1112 -8.057 9.545 4.379 1.00 0.00 U ATOM 400 H2 TIP3 1112 -8.701 8.256 4.841 1.00 0.00 U ATOM 401 OH2 TIP3 1115 7.230 8.938 2.878 1.00 0.00 U ATOM 402 H1 TIP3 1115 7.699 8.631 3.654 1.00 0.00 U ATOM 403 H2 TIP3 1115 7.092 9.872 3.035 1.00 0.00 U ATOM 404 OH2 TIP3 1117 -2.305 -11.651 -11.586 1.00 0.00 U ATOM 405 H1 TIP3 1117 -2.820 -11.035 -11.064 1.00 0.00 U ATOM 406 H2 TIP3 1117 -1.929 -11.116 -12.286 1.00 0.00 U ATOM 407 OH2 TIP3 1272 13.649 -11.156 -1.805 1.00 0.00 U ATOM 408 H1 TIP3 1272 14.328 -11.532 -2.365 1.00 0.00 U ATOM 409 H2 TIP3 1272 13.705 -11.656 -0.991 1.00 0.00 U ATOM 410 OH2 TIP3 1301 13.989 -0.799 -3.933 1.00 0.00 U ATOM 411 H1 TIP3 1301 13.442 -0.635 -4.700 1.00 0.00 U ATOM 412 H2 TIP3 1301 14.604 -1.476 -4.217 1.00 0.00 U ATOM 413 OH2 TIP3 1307 -2.676 -12.165 10.348 1.00 0.00 U ATOM 414 H1 TIP3 1307 -2.664 -11.261 10.034 1.00 0.00 U ATOM 415 H2 TIP3 1307 -2.081 -12.631 9.761 1.00 0.00 U ATOM 416 OH2 TIP3 1308 13.777 12.706 4.172 1.00 0.00 U ATOM 417 H1 TIP3 1308 14.604 12.713 3.690 1.00 0.00 U ATOM 418 H2 TIP3 1308 14.029 12.520 5.077 1.00 0.00 U ATOM 419 OH2 TIP3 1326 -1.070 -3.657 -12.019 1.00 0.00 U ATOM 420 H1 TIP3 1326 -0.241 -4.039 -11.727 1.00 0.00 U ATOM 421 H2 TIP3 1326 -1.021 -2.741 -11.746 1.00 0.00 U ATOM 422 OH2 TIP3 1327 -4.402 3.049 10.403 1.00 0.00 U ATOM 423 H1 TIP3 1327 -4.923 2.386 10.857 1.00 0.00 U ATOM 424 H2 TIP3 1327 -5.021 3.755 10.220 1.00 0.00 U ATOM 425 OH2 TIP3 1328 15.606 7.365 -1.429 1.00 0.00 U ATOM 426 H1 TIP3 1328 15.365 8.029 -0.783 1.00 0.00 U ATOM 427 H2 TIP3 1328 15.107 6.589 -1.175 1.00 0.00 U ATOM 428 OH2 TIP3 1329 10.951 7.110 9.551 1.00 0.00 U ATOM 429 H1 TIP3 1329 11.714 7.224 8.984 1.00 0.00 U ATOM 430 H2 TIP3 1329 10.451 7.920 9.448 1.00 0.00 U ATOM 431 OH2 TIP3 1330 -10.090 -11.640 -8.144 1.00 0.00 U ATOM 432 H1 TIP3 1330 -9.611 -12.380 -7.772 1.00 0.00 U ATOM 433 H2 TIP3 1330 -9.991 -10.941 -7.497 1.00 0.00 U ATOM 434 OH2 TIP3 1333 -2.430 1.365 9.809 1.00 0.00 U ATOM 435 H1 TIP3 1333 -1.907 1.356 10.610 1.00 0.00 U ATOM 436 H2 TIP3 1333 -3.101 2.029 9.966 1.00 0.00 U ATOM 437 OH2 TIP3 1344 15.628 2.290 11.560 1.00 0.00 U ATOM 438 H1 TIP3 1344 15.903 2.521 12.447 1.00 0.00 U ATOM 439 H2 TIP3 1344 16.109 1.486 11.361 1.00 0.00 U ATOM 440 OH2 TIP3 1346 -7.368 1.078 -13.005 1.00 0.00 U ATOM 441 H1 TIP3 1346 -7.224 1.677 -12.273 1.00 0.00 U ATOM 442 H2 TIP3 1346 -8.265 0.765 -12.886 1.00 0.00 U ATOM 443 OH2 TIP3 1347 3.561 1.346 -8.501 1.00 0.00 U ATOM 444 H1 TIP3 1347 3.277 2.199 -8.171 1.00 0.00 U ATOM 445 H2 TIP3 1347 3.082 0.711 -7.969 1.00 0.00 U ATOM 446 OH2 TIP3 1352 -9.480 -9.487 3.636 1.00 0.00 U ATOM 447 H1 TIP3 1352 -9.403 -10.440 3.678 1.00 0.00 U ATOM 448 H2 TIP3 1352 -10.068 -9.326 2.898 1.00 0.00 U ATOM 449 OH2 TIP3 1354 6.641 -2.020 -12.596 1.00 0.00 U ATOM 450 H1 TIP3 1354 6.571 -2.971 -12.516 1.00 0.00 U ATOM 451 H2 TIP3 1354 6.320 -1.830 -13.478 1.00 0.00 U ATOM 452 OH2 TIP3 1355 13.157 -10.150 -11.803 1.00 0.00 U ATOM 453 H1 TIP3 1355 13.670 -9.610 -12.403 1.00 0.00 U ATOM 454 H2 TIP3 1355 13.746 -10.863 -11.558 1.00 0.00 U ATOM 455 OH2 TIP3 1367 2.921 10.641 1.486 1.00 0.00 U ATOM 456 H1 TIP3 1367 3.181 10.401 2.376 1.00 0.00 U ATOM 457 H2 TIP3 1367 3.313 11.502 1.345 1.00 0.00 U ATOM 458 OH2 TIP3 1368 7.499 9.677 -8.125 1.00 0.00 U ATOM 459 H1 TIP3 1368 8.266 9.878 -7.589 1.00 0.00 U ATOM 460 H2 TIP3 1368 7.172 10.532 -8.405 1.00 0.00 U ATOM 461 OH2 TIP3 1370 -7.161 12.327 -8.352 1.00 0.00 U ATOM 462 H1 TIP3 1370 -7.129 11.413 -8.634 1.00 0.00 U ATOM 463 H2 TIP3 1370 -6.882 12.826 -9.120 1.00 0.00 U ATOM 464 OH2 TIP3 1371 -5.698 14.221 3.117 1.00 0.00 U ATOM 465 H1 TIP3 1371 -5.539 15.109 2.800 1.00 0.00 U ATOM 466 H2 TIP3 1371 -4.832 13.894 3.359 1.00 0.00 U ATOM 467 OH2 TIP3 1372 2.280 -6.720 -8.442 1.00 0.00 U ATOM 468 H1 TIP3 1372 2.669 -7.585 -8.314 1.00 0.00 U ATOM 469 H2 TIP3 1372 2.334 -6.571 -9.386 1.00 0.00 U ATOM 470 OH2 TIP3 1374 0.042 -0.421 -3.106 1.00 0.00 U ATOM 471 H1 TIP3 1374 0.814 0.105 -3.319 1.00 0.00 U ATOM 472 H2 TIP3 1374 0.093 -1.172 -3.697 1.00 0.00 U ATOM 473 OH2 TIP3 1376 5.429 -3.278 8.940 1.00 0.00 U ATOM 474 H1 TIP3 1376 5.950 -2.524 9.216 1.00 0.00 U ATOM 475 H2 TIP3 1376 4.922 -2.959 8.194 1.00 0.00 U ATOM 476 OH2 TIP3 1387 16.449 9.461 -7.989 1.00 0.00 U ATOM 477 H1 TIP3 1387 16.460 10.381 -7.725 1.00 0.00 U ATOM 478 H2 TIP3 1387 15.530 9.203 -7.924 1.00 0.00 U ATOM 479 OH2 TIP3 1388 -3.985 9.318 5.118 1.00 0.00 U ATOM 480 H1 TIP3 1388 -3.742 9.745 5.940 1.00 0.00 U ATOM 481 H2 TIP3 1388 -4.653 9.890 4.740 1.00 0.00 U ATOM 482 OH2 TIP3 1407 5.962 1.117 0.192 1.00 0.00 U ATOM 483 H1 TIP3 1407 6.526 1.855 0.424 1.00 0.00 U ATOM 484 H2 TIP3 1407 6.177 0.928 -0.721 1.00 0.00 U ATOM 485 OH2 TIP3 1408 -5.270 -1.067 13.253 1.00 0.00 U ATOM 486 H1 TIP3 1408 -5.180 -0.565 12.443 1.00 0.00 U ATOM 487 H2 TIP3 1408 -6.142 -1.459 13.197 1.00 0.00 U ATOM 488 OH2 TIP3 1411 -10.488 -9.698 10.777 1.00 0.00 U ATOM 489 H1 TIP3 1411 -9.664 -9.289 10.514 1.00 0.00 U ATOM 490 H2 TIP3 1411 -10.780 -10.171 9.997 1.00 0.00 U ATOM 491 OH2 TIP3 1414 -4.926 -3.302 11.076 1.00 0.00 U ATOM 492 H1 TIP3 1414 -5.167 -3.097 11.980 1.00 0.00 U ATOM 493 H2 TIP3 1414 -4.076 -3.736 11.148 1.00 0.00 U ATOM 494 OH2 TIP3 1415 15.658 6.252 -4.036 1.00 0.00 U ATOM 495 H1 TIP3 1415 15.987 7.012 -3.555 1.00 0.00 U ATOM 496 H2 TIP3 1415 14.707 6.362 -4.037 1.00 0.00 U ATOM 497 OH2 TIP3 1418 -6.644 6.864 -8.547 1.00 0.00 U ATOM 498 H1 TIP3 1418 -6.562 7.056 -9.481 1.00 0.00 U ATOM 499 H2 TIP3 1418 -5.745 6.890 -8.217 1.00 0.00 U ATOM 500 OH2 TIP3 1428 -6.432 0.991 6.804 1.00 0.00 U ATOM 501 H1 TIP3 1428 -5.963 0.159 6.740 1.00 0.00 U ATOM 502 H2 TIP3 1428 -6.015 1.446 7.536 1.00 0.00 U ATOM 503 OH2 TIP3 1429 -4.229 6.642 5.112 1.00 0.00 U ATOM 504 H1 TIP3 1429 -4.287 7.550 5.408 1.00 0.00 U ATOM 505 H2 TIP3 1429 -4.593 6.654 4.227 1.00 0.00 U ATOM 506 OH2 TIP3 1430 -4.459 -7.001 -7.513 1.00 0.00 U ATOM 507 H1 TIP3 1430 -4.009 -6.892 -8.350 1.00 0.00 U ATOM 508 H2 TIP3 1430 -3.972 -6.446 -6.904 1.00 0.00 U ATOM 509 OH2 TIP3 1433 9.965 2.683 -5.635 1.00 0.00 U ATOM 510 H1 TIP3 1433 9.101 3.047 -5.440 1.00 0.00 U ATOM 511 H2 TIP3 1433 10.580 3.354 -5.338 1.00 0.00 U ATOM 512 OH2 TIP3 1435 4.310 12.931 8.197 1.00 0.00 U ATOM 513 H1 TIP3 1435 4.327 13.373 7.348 1.00 0.00 U ATOM 514 H2 TIP3 1435 4.409 13.637 8.837 1.00 0.00 U ATOM 515 OH2 TIP3 1440 -8.865 0.241 2.520 1.00 0.00 U ATOM 516 H1 TIP3 1440 -9.111 0.544 3.394 1.00 0.00 U ATOM 517 H2 TIP3 1440 -9.697 0.155 2.054 1.00 0.00 U ATOM 518 OH2 TIP3 1442 15.439 -3.064 6.054 1.00 0.00 U ATOM 519 H1 TIP3 1442 16.233 -2.705 6.449 1.00 0.00 U ATOM 520 H2 TIP3 1442 15.691 -3.939 5.759 1.00 0.00 U ATOM 521 OH2 TIP3 1450 13.849 9.915 12.818 1.00 0.00 U ATOM 522 H1 TIP3 1450 14.249 10.726 12.503 1.00 0.00 U ATOM 523 H2 TIP3 1450 12.919 10.010 12.611 1.00 0.00 U ATOM 524 OH2 TIP3 1451 -9.776 8.154 -12.940 1.00 0.00 U ATOM 525 H1 TIP3 1451 -10.583 8.593 -13.209 1.00 0.00 U ATOM 526 H2 TIP3 1451 -10.068 7.431 -12.385 1.00 0.00 U ATOM 527 OH2 TIP3 1454 6.611 5.597 2.475 1.00 0.00 U ATOM 528 H1 TIP3 1454 7.334 6.166 2.739 1.00 0.00 U ATOM 529 H2 TIP3 1454 7.028 4.896 1.974 1.00 0.00 U ATOM 530 OH2 TIP3 1455 -6.337 -10.950 11.443 1.00 0.00 U ATOM 531 H1 TIP3 1455 -6.299 -10.144 10.927 1.00 0.00 U ATOM 532 H2 TIP3 1455 -6.608 -10.664 12.315 1.00 0.00 U ATOM 533 OH2 TIP3 1458 9.588 2.574 2.789 1.00 0.00 U ATOM 534 H1 TIP3 1458 9.291 2.389 3.680 1.00 0.00 U ATOM 535 H2 TIP3 1458 10.291 3.214 2.900 1.00 0.00 U ATOM 536 OH2 TIP3 1471 12.306 -9.545 2.033 1.00 0.00 U ATOM 537 H1 TIP3 1471 11.901 -9.935 1.259 1.00 0.00 U ATOM 538 H2 TIP3 1471 12.088 -8.615 1.975 1.00 0.00 U ATOM 539 OH2 TIP3 1474 13.388 4.555 7.800 1.00 0.00 U ATOM 540 H1 TIP3 1474 13.478 5.311 8.380 1.00 0.00 U ATOM 541 H2 TIP3 1474 13.192 3.824 8.387 1.00 0.00 U ATOM 542 OH2 TIP3 1475 -0.099 7.408 -10.787 1.00 0.00 U ATOM 543 H1 TIP3 1475 -0.861 7.959 -10.965 1.00 0.00 U ATOM 544 H2 TIP3 1475 0.369 7.368 -11.621 1.00 0.00 U ATOM 545 OH2 TIP3 1493 -0.469 13.872 0.699 1.00 0.00 U ATOM 546 H1 TIP3 1493 -0.418 13.039 1.168 1.00 0.00 U ATOM 547 H2 TIP3 1493 0.162 14.437 1.145 1.00 0.00 U ATOM 548 OH2 TIP3 1494 9.385 -4.834 11.879 1.00 0.00 U ATOM 549 H1 TIP3 1494 9.089 -5.655 12.272 1.00 0.00 U ATOM 550 H2 TIP3 1494 8.629 -4.520 11.382 1.00 0.00 U ATOM 551 OH2 TIP3 1497 15.738 12.142 -10.340 1.00 0.00 U ATOM 552 H1 TIP3 1497 15.512 12.061 -9.413 1.00 0.00 U ATOM 553 H2 TIP3 1497 16.266 11.366 -10.526 1.00 0.00 U ATOM 554 OH2 TIP3 1499 -3.347 -9.570 -9.761 1.00 0.00 U ATOM 555 H1 TIP3 1499 -3.438 -8.655 -10.029 1.00 0.00 U ATOM 556 H2 TIP3 1499 -2.551 -9.586 -9.229 1.00 0.00 U ATOM 557 OH2 TIP3 1512 8.221 -12.375 7.963 1.00 0.00 U ATOM 558 H1 TIP3 1512 7.942 -11.707 7.335 1.00 0.00 U ATOM 559 H2 TIP3 1512 8.406 -11.887 8.765 1.00 0.00 U ATOM 560 OH2 TIP3 1515 -0.184 -11.336 3.696 1.00 0.00 U ATOM 561 H1 TIP3 1515 0.263 -12.182 3.723 1.00 0.00 U ATOM 562 H2 TIP3 1515 0.234 -10.866 2.975 1.00 0.00 U ATOM 563 OH2 TIP3 1532 10.522 13.795 -3.664 1.00 0.00 U ATOM 564 H1 TIP3 1532 11.469 13.749 -3.797 1.00 0.00 U ATOM 565 H2 TIP3 1532 10.291 14.696 -3.891 1.00 0.00 U ATOM 566 OH2 TIP3 1542 3.496 -2.270 7.117 1.00 0.00 U ATOM 567 H1 TIP3 1542 3.559 -1.349 7.367 1.00 0.00 U ATOM 568 H2 TIP3 1542 2.574 -2.395 6.892 1.00 0.00 U ATOM 569 OH2 TIP3 1559 -0.311 3.424 2.568 1.00 0.00 U ATOM 570 H1 TIP3 1559 -0.006 2.673 2.059 1.00 0.00 U ATOM 571 H2 TIP3 1559 -1.162 3.643 2.188 1.00 0.00 U ATOM 572 OH2 TIP3 1611 -2.049 10.596 -7.389 1.00 0.00 U ATOM 573 H1 TIP3 1611 -1.388 10.720 -8.071 1.00 0.00 U ATOM 574 H2 TIP3 1611 -1.724 11.103 -6.645 1.00 0.00 U ATOM 575 OH2 TIP3 1707 -9.050 0.348 -8.788 1.00 0.00 U ATOM 576 H1 TIP3 1707 -8.908 -0.599 -8.798 1.00 0.00 U ATOM 577 H2 TIP3 1707 -8.821 0.616 -7.899 1.00 0.00 U ATOM 578 OH2 TIP3 1723 -0.103 -8.237 -11.636 1.00 0.00 U ATOM 579 H1 TIP3 1723 -0.327 -8.086 -10.718 1.00 0.00 U ATOM 580 H2 TIP3 1723 -0.946 -8.361 -12.072 1.00 0.00 U ATOM 581 OH2 TIP3 1725 -6.597 11.722 -5.971 1.00 0.00 U ATOM 582 H1 TIP3 1725 -5.845 11.138 -6.071 1.00 0.00 U ATOM 583 H2 TIP3 1725 -6.798 12.010 -6.861 1.00 0.00 U ATOM 584 OH2 TIP3 1727 2.726 -11.819 -3.988 1.00 0.00 U ATOM 585 H1 TIP3 1727 2.111 -11.086 -3.999 1.00 0.00 U ATOM 586 H2 TIP3 1727 2.352 -12.437 -3.360 1.00 0.00 U ATOM 587 OH2 TIP3 1729 8.631 -5.327 -7.788 1.00 0.00 U ATOM 588 H1 TIP3 1729 9.217 -5.698 -8.447 1.00 0.00 U ATOM 589 H2 TIP3 1729 7.801 -5.785 -7.919 1.00 0.00 U ATOM 590 OH2 TIP3 1730 -2.193 -4.522 0.301 1.00 0.00 U ATOM 591 H1 TIP3 1730 -1.333 -4.661 -0.096 1.00 0.00 U ATOM 592 H2 TIP3 1730 -2.034 -4.577 1.243 1.00 0.00 U ATOM 593 OH2 TIP3 1733 2.012 13.035 -2.095 1.00 0.00 U ATOM 594 H1 TIP3 1733 2.310 12.231 -2.521 1.00 0.00 U ATOM 595 H2 TIP3 1733 1.092 12.870 -1.888 1.00 0.00 U ATOM 596 OH2 TIP3 1744 8.803 -8.968 5.321 1.00 0.00 U ATOM 597 H1 TIP3 1744 9.119 -9.714 4.812 1.00 0.00 U ATOM 598 H2 TIP3 1744 8.533 -8.326 4.664 1.00 0.00 U ATOM 599 OH2 TIP3 1746 15.185 -9.797 1.648 1.00 0.00 U ATOM 600 H1 TIP3 1746 15.239 -9.321 0.819 1.00 0.00 U ATOM 601 H2 TIP3 1746 14.273 -10.083 1.701 1.00 0.00 U ATOM 602 OH2 TIP3 1750 -7.860 -3.817 -5.952 1.00 0.00 U ATOM 603 H1 TIP3 1750 -7.505 -4.482 -5.362 1.00 0.00 U ATOM 604 H2 TIP3 1750 -7.089 -3.425 -6.363 1.00 0.00 U ATOM 605 OH2 TIP3 1752 -6.163 -9.979 -9.382 1.00 0.00 U ATOM 606 H1 TIP3 1752 -5.495 -9.953 -10.066 1.00 0.00 U ATOM 607 H2 TIP3 1752 -5.703 -9.710 -8.587 1.00 0.00 U ATOM 608 OH2 TIP3 1764 7.730 6.467 -2.911 1.00 0.00 U ATOM 609 H1 TIP3 1764 7.483 6.133 -3.773 1.00 0.00 U ATOM 610 H2 TIP3 1764 7.269 7.302 -2.836 1.00 0.00 U ATOM 611 OH2 TIP3 1771 -3.892 1.502 -8.126 1.00 0.00 U ATOM 612 H1 TIP3 1771 -3.759 2.250 -7.543 1.00 0.00 U ATOM 613 H2 TIP3 1771 -4.807 1.255 -7.995 1.00 0.00 U ATOM 614 OH2 TIP3 1773 10.133 12.603 -8.865 1.00 0.00 U ATOM 615 H1 TIP3 1773 9.434 13.248 -8.975 1.00 0.00 U ATOM 616 H2 TIP3 1773 10.939 13.094 -9.028 1.00 0.00 U ATOM 617 OH2 TIP3 1788 6.281 -6.251 -8.489 1.00 0.00 U ATOM 618 H1 TIP3 1788 6.203 -6.404 -9.431 1.00 0.00 U ATOM 619 H2 TIP3 1788 5.492 -5.759 -8.260 1.00 0.00 U ATOM 620 OH2 TIP3 1789 -6.643 -8.901 9.499 1.00 0.00 U ATOM 621 H1 TIP3 1789 -6.381 -9.464 8.770 1.00 0.00 U ATOM 622 H2 TIP3 1789 -6.685 -8.022 9.120 1.00 0.00 U ATOM 623 OH2 TIP3 1790 -3.577 13.053 -7.711 1.00 0.00 U ATOM 624 H1 TIP3 1790 -4.426 12.910 -8.129 1.00 0.00 U ATOM 625 H2 TIP3 1790 -3.220 12.174 -7.585 1.00 0.00 U ATOM 626 OH2 TIP3 1794 8.880 -7.654 12.183 1.00 0.00 U ATOM 627 H1 TIP3 1794 9.165 -8.338 12.788 1.00 0.00 U ATOM 628 H2 TIP3 1794 7.937 -7.579 12.332 1.00 0.00 U ATOM 629 OH2 TIP3 1795 16.345 -1.019 9.196 1.00 0.00 U ATOM 630 H1 TIP3 1795 15.474 -0.623 9.198 1.00 0.00 U ATOM 631 H2 TIP3 1795 16.626 -0.983 10.111 1.00 0.00 U ATOM 632 OH2 TIP3 1796 5.896 6.977 -10.274 1.00 0.00 U ATOM 633 H1 TIP3 1796 4.996 6.735 -10.492 1.00 0.00 U ATOM 634 H2 TIP3 1796 5.942 7.916 -10.450 1.00 0.00 U ATOM 635 OH2 TIP3 1808 2.568 3.661 -7.662 1.00 0.00 U ATOM 636 H1 TIP3 1808 3.123 4.441 -7.674 1.00 0.00 U ATOM 637 H2 TIP3 1808 1.688 3.989 -7.847 1.00 0.00 U ATOM 638 OH2 TIP3 1813 -0.166 4.676 7.952 1.00 0.00 U ATOM 639 H1 TIP3 1813 -0.518 3.807 7.761 1.00 0.00 U ATOM 640 H2 TIP3 1813 0.132 5.006 7.104 1.00 0.00 U ATOM 641 OH2 TIP3 1814 -2.619 6.669 2.494 1.00 0.00 U ATOM 642 H1 TIP3 1814 -3.243 7.338 2.210 1.00 0.00 U ATOM 643 H2 TIP3 1814 -1.851 7.164 2.781 1.00 0.00 U ATOM 644 OH2 TIP3 1816 -2.168 -6.180 -5.880 1.00 0.00 U ATOM 645 H1 TIP3 1816 -2.334 -6.765 -5.140 1.00 0.00 U ATOM 646 H2 TIP3 1816 -1.220 -6.211 -6.003 1.00 0.00 U ATOM 647 OH2 TIP3 1824 9.361 4.302 9.018 1.00 0.00 U ATOM 648 H1 TIP3 1824 9.945 5.050 9.146 1.00 0.00 U ATOM 649 H2 TIP3 1824 9.682 3.882 8.220 1.00 0.00 U ATOM 650 OH2 TIP3 1829 12.492 2.492 9.572 1.00 0.00 U ATOM 651 H1 TIP3 1829 12.745 1.925 10.300 1.00 0.00 U ATOM 652 H2 TIP3 1829 12.112 1.898 8.926 1.00 0.00 U ATOM 653 OH2 TIP3 1830 8.515 13.470 -12.375 1.00 0.00 U ATOM 654 H1 TIP3 1830 8.045 14.026 -12.996 1.00 0.00 U ATOM 655 H2 TIP3 1830 8.700 14.044 -11.631 1.00 0.00 U ATOM 656 OH2 TIP3 1831 10.369 -2.974 -12.638 1.00 0.00 U ATOM 657 H1 TIP3 1831 10.294 -2.090 -12.998 1.00 0.00 U ATOM 658 H2 TIP3 1831 10.021 -3.543 -13.325 1.00 0.00 U ATOM 659 OH2 TIP3 1832 -6.353 -2.707 2.020 1.00 0.00 U ATOM 660 H1 TIP3 1832 -6.437 -2.984 2.932 1.00 0.00 U ATOM 661 H2 TIP3 1832 -6.272 -1.755 2.065 1.00 0.00 U ATOM 662 OH2 TIP3 1835 11.800 7.702 -6.451 1.00 0.00 U ATOM 663 H1 TIP3 1835 11.608 8.508 -5.973 1.00 0.00 U ATOM 664 H2 TIP3 1835 12.593 7.900 -6.949 1.00 0.00 U ATOM 665 OH2 TIP3 1836 -5.617 -10.954 -4.298 1.00 0.00 U ATOM 666 H1 TIP3 1836 -5.791 -10.069 -4.617 1.00 0.00 U ATOM 667 H2 TIP3 1836 -5.182 -10.824 -3.455 1.00 0.00 U ATOM 668 OH2 TIP3 1838 1.375 11.428 -5.411 1.00 0.00 U ATOM 669 H1 TIP3 1838 1.693 12.134 -5.973 1.00 0.00 U ATOM 670 H2 TIP3 1838 0.423 11.528 -5.413 1.00 0.00 U ATOM 671 OH2 TIP3 1850 9.140 -11.220 -10.354 1.00 0.00 U ATOM 672 H1 TIP3 1850 10.053 -11.250 -10.068 1.00 0.00 U ATOM 673 H2 TIP3 1850 8.633 -11.269 -9.544 1.00 0.00 U ATOM 674 OH2 TIP3 1851 16.002 3.896 -2.303 1.00 0.00 U ATOM 675 H1 TIP3 1851 15.317 3.809 -1.640 1.00 0.00 U ATOM 676 H2 TIP3 1851 15.664 4.552 -2.913 1.00 0.00 U ATOM 677 OH2 TIP3 1852 5.555 12.348 -5.335 1.00 0.00 U ATOM 678 H1 TIP3 1852 5.541 12.099 -4.411 1.00 0.00 U ATOM 679 H2 TIP3 1852 5.076 11.648 -5.780 1.00 0.00 U ATOM 680 OH2 TIP3 1853 4.047 12.572 -9.467 1.00 0.00 U ATOM 681 H1 TIP3 1853 3.311 12.759 -8.884 1.00 0.00 U ATOM 682 H2 TIP3 1853 3.681 11.992 -10.136 1.00 0.00 U ATOM 683 OH2 TIP3 1854 10.523 -6.449 5.725 1.00 0.00 U ATOM 684 H1 TIP3 1854 9.765 -6.730 6.238 1.00 0.00 U ATOM 685 H2 TIP3 1854 10.662 -7.156 5.096 1.00 0.00 U ATOM 686 OH2 TIP3 1856 -6.871 8.379 12.644 1.00 0.00 U ATOM 687 H1 TIP3 1856 -6.483 7.504 12.659 1.00 0.00 U ATOM 688 H2 TIP3 1856 -7.724 8.270 13.063 1.00 0.00 U ATOM 689 OH2 TIP3 1860 9.237 2.856 -2.134 1.00 0.00 U ATOM 690 H1 TIP3 1860 8.908 3.555 -1.568 1.00 0.00 U ATOM 691 H2 TIP3 1860 10.144 3.104 -2.317 1.00 0.00 U ATOM 692 OH2 TIP3 1861 -3.885 -6.986 -10.865 1.00 0.00 U ATOM 693 H1 TIP3 1861 -4.371 -7.432 -11.558 1.00 0.00 U ATOM 694 H2 TIP3 1861 -3.811 -6.081 -11.169 1.00 0.00 U ATOM 695 OH2 TIP3 1871 -3.356 4.210 -6.936 1.00 0.00 U ATOM 696 H1 TIP3 1871 -2.519 3.749 -6.989 1.00 0.00 U ATOM 697 H2 TIP3 1871 -3.596 4.376 -7.848 1.00 0.00 U ATOM 698 OH2 TIP3 1873 -9.324 12.929 -5.972 1.00 0.00 U ATOM 699 H1 TIP3 1873 -8.469 12.587 -5.712 1.00 0.00 U ATOM 700 H2 TIP3 1873 -9.559 13.541 -5.274 1.00 0.00 U ATOM 701 OH2 TIP3 1874 -4.540 -7.676 -2.721 1.00 0.00 U ATOM 702 H1 TIP3 1874 -4.572 -8.592 -2.445 1.00 0.00 U ATOM 703 H2 TIP3 1874 -3.663 -7.381 -2.475 1.00 0.00 U ATOM 704 OH2 TIP3 1875 -8.818 -10.837 -3.860 1.00 0.00 U ATOM 705 H1 TIP3 1875 -8.986 -11.368 -3.081 1.00 0.00 U ATOM 706 H2 TIP3 1875 -8.072 -10.288 -3.620 1.00 0.00 U ATOM 707 OH2 TIP3 1878 3.229 -4.378 -2.241 1.00 0.00 U ATOM 708 H1 TIP3 1878 2.407 -4.611 -1.809 1.00 0.00 U ATOM 709 H2 TIP3 1878 3.552 -3.622 -1.750 1.00 0.00 U ATOM 710 OH2 TIP3 1881 -8.493 1.300 -6.082 1.00 0.00 U ATOM 711 H1 TIP3 1881 -9.057 0.529 -6.017 1.00 0.00 U ATOM 712 H2 TIP3 1881 -8.454 1.645 -5.190 1.00 0.00 U ATOM 713 OH2 TIP3 1885 -8.276 -2.283 -8.441 1.00 0.00 U ATOM 714 H1 TIP3 1885 -7.953 -2.926 -9.072 1.00 0.00 U ATOM 715 H2 TIP3 1885 -8.581 -2.806 -7.699 1.00 0.00 U ATOM 716 OH2 TIP3 1894 10.930 -0.572 5.606 1.00 0.00 U ATOM 717 H1 TIP3 1894 11.658 -0.246 6.136 1.00 0.00 U ATOM 718 H2 TIP3 1894 10.369 -1.036 6.228 1.00 0.00 U ATOM 719 OH2 TIP3 1895 -3.887 4.781 -3.839 1.00 0.00 U ATOM 720 H1 TIP3 1895 -3.963 4.093 -3.177 1.00 0.00 U ATOM 721 H2 TIP3 1895 -4.152 4.359 -4.656 1.00 0.00 U ATOM 722 OH2 TIP3 1896 6.446 -8.388 7.122 1.00 0.00 U ATOM 723 H1 TIP3 1896 6.095 -8.598 7.988 1.00 0.00 U ATOM 724 H2 TIP3 1896 7.395 -8.462 7.223 1.00 0.00 U ATOM 725 OH2 TIP3 1897 -1.931 0.640 3.111 1.00 0.00 U ATOM 726 H1 TIP3 1897 -2.445 0.957 2.369 1.00 0.00 U ATOM 727 H2 TIP3 1897 -1.027 0.866 2.891 1.00 0.00 U ATOM 728 OH2 TIP3 1898 12.934 -9.860 4.801 1.00 0.00 U ATOM 729 H1 TIP3 1898 13.787 -10.248 4.605 1.00 0.00 U ATOM 730 H2 TIP3 1898 12.582 -9.610 3.947 1.00 0.00 U ATOM 731 OH2 TIP3 1900 -5.813 11.005 4.072 1.00 0.00 U ATOM 732 H1 TIP3 1900 -6.446 11.275 3.406 1.00 0.00 U ATOM 733 H2 TIP3 1900 -6.313 10.994 4.888 1.00 0.00 U ATOM 734 OH2 TIP3 1911 -1.617 2.061 7.267 1.00 0.00 U ATOM 735 H1 TIP3 1911 -2.031 1.755 8.074 1.00 0.00 U ATOM 736 H2 TIP3 1911 -2.348 2.319 6.705 1.00 0.00 U ATOM 737 OH2 TIP3 1912 1.487 -5.857 2.216 1.00 0.00 U ATOM 738 H1 TIP3 1912 1.121 -6.083 3.071 1.00 0.00 U ATOM 739 H2 TIP3 1912 2.187 -5.233 2.412 1.00 0.00 U ATOM 740 OH2 TIP3 1914 -1.136 7.991 -5.442 1.00 0.00 U ATOM 741 H1 TIP3 1914 -1.711 7.826 -4.696 1.00 0.00 U ATOM 742 H2 TIP3 1914 -0.434 8.538 -5.088 1.00 0.00 U ATOM 743 OH2 TIP3 1915 6.771 -4.668 10.864 1.00 0.00 U ATOM 744 H1 TIP3 1915 6.394 -4.606 11.742 1.00 0.00 U ATOM 745 H2 TIP3 1915 6.102 -4.297 10.289 1.00 0.00 U ATOM 746 OH2 TIP3 1919 1.339 1.750 -5.410 1.00 0.00 U ATOM 747 H1 TIP3 1919 1.848 1.006 -5.733 1.00 0.00 U ATOM 748 H2 TIP3 1919 1.530 2.457 -6.026 1.00 0.00 U ATOM 749 OH2 TIP3 1935 5.676 -3.710 0.781 1.00 0.00 U ATOM 750 H1 TIP3 1935 5.413 -3.252 -0.017 1.00 0.00 U ATOM 751 H2 TIP3 1935 6.149 -3.052 1.291 1.00 0.00 U ATOM 752 OH2 TIP3 1936 -1.705 -11.612 -3.413 1.00 0.00 U ATOM 753 H1 TIP3 1936 -2.093 -11.230 -4.200 1.00 0.00 U ATOM 754 H2 TIP3 1936 -2.388 -12.183 -3.061 1.00 0.00 U ATOM 755 OH2 TIP3 1938 5.401 5.044 -7.613 1.00 0.00 U ATOM 756 H1 TIP3 1938 5.516 5.661 -8.335 1.00 0.00 U ATOM 757 H2 TIP3 1938 4.989 5.560 -6.920 1.00 0.00 U ATOM 758 OH2 TIP3 1952 -0.409 11.939 5.618 1.00 0.00 U ATOM 759 H1 TIP3 1952 0.172 11.559 6.278 1.00 0.00 U ATOM 760 H2 TIP3 1952 0.180 12.254 4.933 1.00 0.00 U ATOM 761 OH2 TIP3 1955 10.688 -10.682 -13.036 1.00 0.00 U ATOM 762 H1 TIP3 1955 10.252 -11.336 -12.490 1.00 0.00 U ATOM 763 H2 TIP3 1955 11.499 -10.482 -12.569 1.00 0.00 U ATOM 764 OH2 TIP3 1961 -3.177 10.272 7.424 1.00 0.00 U ATOM 765 H1 TIP3 1961 -2.580 9.633 7.813 1.00 0.00 U ATOM 766 H2 TIP3 1961 -3.318 10.920 8.115 1.00 0.00 U ATOM 767 OH2 TIP3 1977 5.193 14.203 -11.500 1.00 0.00 U ATOM 768 H1 TIP3 1977 5.628 15.045 -11.365 1.00 0.00 U ATOM 769 H2 TIP3 1977 5.816 13.555 -11.171 1.00 0.00 U ATOM 770 OH2 TIP3 2123 11.854 -2.501 9.795 1.00 0.00 U ATOM 771 H1 TIP3 2123 11.925 -3.404 10.105 1.00 0.00 U ATOM 772 H2 TIP3 2123 12.111 -2.543 8.874 1.00 0.00 U ATOM 773 OH2 TIP3 2127 -5.629 7.595 9.272 1.00 0.00 U ATOM 774 H1 TIP3 2127 -6.242 6.863 9.332 1.00 0.00 U ATOM 775 H2 TIP3 2127 -6.170 8.340 9.010 1.00 0.00 U ATOM 776 OH2 TIP3 2163 1.226 12.879 12.223 1.00 0.00 U ATOM 777 H1 TIP3 2163 1.798 12.197 11.869 1.00 0.00 U ATOM 778 H2 TIP3 2163 0.437 12.412 12.498 1.00 0.00 U ATOM 779 OH2 TIP3 2165 -9.570 -6.251 -1.348 1.00 0.00 U ATOM 780 H1 TIP3 2165 -8.890 -5.581 -1.281 1.00 0.00 U ATOM 781 H2 TIP3 2165 -10.193 -5.899 -1.984 1.00 0.00 U ATOM 782 OH2 TIP3 2167 13.034 1.644 12.355 1.00 0.00 U ATOM 783 H1 TIP3 2167 13.191 1.085 13.116 1.00 0.00 U ATOM 784 H2 TIP3 2167 13.759 2.269 12.362 1.00 0.00 U ATOM 785 OH2 TIP3 2172 -0.939 3.558 -8.186 1.00 0.00 U ATOM 786 H1 TIP3 2172 -0.444 3.710 -8.991 1.00 0.00 U ATOM 787 H2 TIP3 2172 -0.891 4.390 -7.714 1.00 0.00 U ATOM 788 OH2 TIP3 2185 -8.882 7.454 7.033 1.00 0.00 U ATOM 789 H1 TIP3 2185 -8.403 6.627 6.979 1.00 0.00 U ATOM 790 H2 TIP3 2185 -9.521 7.315 7.732 1.00 0.00 U ATOM 791 OH2 TIP3 2186 6.117 10.321 -3.352 1.00 0.00 U ATOM 792 H1 TIP3 2186 6.647 10.000 -2.622 1.00 0.00 U ATOM 793 H2 TIP3 2186 6.184 9.634 -4.016 1.00 0.00 U ATOM 794 OH2 TIP3 2187 -5.089 12.944 -10.323 1.00 0.00 U ATOM 795 H1 TIP3 2187 -5.449 13.708 -10.773 1.00 0.00 U ATOM 796 H2 TIP3 2187 -4.635 12.454 -11.009 1.00 0.00 U ATOM 797 OH2 TIP3 2227 13.108 7.353 7.717 1.00 0.00 U ATOM 798 H1 TIP3 2227 12.972 8.210 7.314 1.00 0.00 U ATOM 799 H2 TIP3 2227 13.953 7.059 7.377 1.00 0.00 U ATOM 800 OH2 TIP3 2229 -1.466 11.712 -11.238 1.00 0.00 U ATOM 801 H1 TIP3 2229 -1.469 12.638 -10.997 1.00 0.00 U ATOM 802 H2 TIP3 2229 -2.379 11.516 -11.450 1.00 0.00 U ATOM 803 OH2 TIP3 2231 7.463 -9.700 1.006 1.00 0.00 U ATOM 804 H1 TIP3 2231 7.677 -10.441 0.439 1.00 0.00 U ATOM 805 H2 TIP3 2231 8.023 -9.815 1.774 1.00 0.00 U ATOM 806 OH2 TIP3 2232 10.352 -0.617 12.528 1.00 0.00 U ATOM 807 H1 TIP3 2232 10.459 0.318 12.349 1.00 0.00 U ATOM 808 H2 TIP3 2232 9.483 -0.828 12.187 1.00 0.00 U ATOM 809 OH2 TIP3 2244 -4.710 -4.315 -11.676 1.00 0.00 U ATOM 810 H1 TIP3 2244 -5.561 -3.879 -11.621 1.00 0.00 U ATOM 811 H2 TIP3 2244 -4.186 -3.908 -10.986 1.00 0.00 U ATOM 812 OH2 TIP3 2250 7.345 -6.047 -11.090 1.00 0.00 U ATOM 813 H1 TIP3 2250 7.913 -6.740 -11.426 1.00 0.00 U ATOM 814 H2 TIP3 2250 7.945 -5.417 -10.692 1.00 0.00 U ATOM 815 OH2 TIP3 2251 -0.331 -3.842 -8.290 1.00 0.00 U ATOM 816 H1 TIP3 2251 0.475 -3.327 -8.310 1.00 0.00 U ATOM 817 H2 TIP3 2251 -0.089 -4.650 -7.839 1.00 0.00 U ATOM 818 OH2 TIP3 2253 -5.994 -0.453 -7.512 1.00 0.00 U ATOM 819 H1 TIP3 2253 -5.411 -1.122 -7.155 1.00 0.00 U ATOM 820 H2 TIP3 2253 -6.864 -0.851 -7.484 1.00 0.00 U ATOM 821 OH2 TIP3 2254 2.792 6.634 0.217 1.00 0.00 U ATOM 822 H1 TIP3 2254 2.541 6.228 1.047 1.00 0.00 U ATOM 823 H2 TIP3 2254 2.105 6.371 -0.396 1.00 0.00 U ATOM 824 OH2 TIP3 2257 0.613 -5.994 -6.408 1.00 0.00 U ATOM 825 H1 TIP3 2257 1.153 -5.688 -5.679 1.00 0.00 U ATOM 826 H2 TIP3 2257 1.229 -6.431 -6.996 1.00 0.00 U ATOM 827 OH2 TIP3 2269 11.754 3.840 -2.352 1.00 0.00 U ATOM 828 H1 TIP3 2269 12.562 3.442 -2.677 1.00 0.00 U ATOM 829 H2 TIP3 2269 11.937 4.779 -2.339 1.00 0.00 U ATOM 830 OH2 TIP3 2270 1.968 12.354 4.257 1.00 0.00 U ATOM 831 H1 TIP3 2270 1.919 13.011 4.952 1.00 0.00 U ATOM 832 H2 TIP3 2270 2.904 12.178 4.160 1.00 0.00 U ATOM 833 OH2 TIP3 2271 7.927 -3.325 5.730 1.00 0.00 U ATOM 834 H1 TIP3 2271 8.163 -3.608 6.614 1.00 0.00 U ATOM 835 H2 TIP3 2271 7.457 -2.501 5.859 1.00 0.00 U ATOM 836 OH2 TIP3 2272 11.239 5.375 0.114 1.00 0.00 U ATOM 837 H1 TIP3 2272 10.346 5.031 0.086 1.00 0.00 U ATOM 838 H2 TIP3 2272 11.153 6.231 0.534 1.00 0.00 U ATOM 839 OH2 TIP3 2275 2.609 -2.309 2.806 1.00 0.00 U ATOM 840 H1 TIP3 2275 2.942 -1.439 2.586 1.00 0.00 U ATOM 841 H2 TIP3 2275 2.091 -2.174 3.600 1.00 0.00 U ATOM 842 OH2 TIP3 2277 12.554 0.729 7.420 1.00 0.00 U ATOM 843 H1 TIP3 2277 12.857 0.103 8.077 1.00 0.00 U ATOM 844 H2 TIP3 2277 13.354 1.035 6.993 1.00 0.00 U ATOM 845 OH2 TIP3 2280 1.690 -5.668 5.944 1.00 0.00 U ATOM 846 H1 TIP3 2280 1.005 -6.335 5.981 1.00 0.00 U ATOM 847 H2 TIP3 2280 2.357 -6.041 5.367 1.00 0.00 U ATOM 848 OH2 TIP3 2288 13.908 -0.189 -1.273 1.00 0.00 U ATOM 849 H1 TIP3 2288 13.880 -0.361 -2.214 1.00 0.00 U ATOM 850 H2 TIP3 2288 13.274 -0.800 -0.898 1.00 0.00 U ATOM 851 OH2 TIP3 2292 13.084 6.197 -12.845 1.00 0.00 U ATOM 852 H1 TIP3 2292 13.668 5.513 -12.519 1.00 0.00 U ATOM 853 H2 TIP3 2292 12.887 6.731 -12.075 1.00 0.00 U ATOM 854 OH2 TIP3 2293 14.327 13.015 7.117 1.00 0.00 U ATOM 855 H1 TIP3 2293 13.927 12.833 7.967 1.00 0.00 U ATOM 856 H2 TIP3 2293 14.448 13.965 7.108 1.00 0.00 U ATOM 857 OH2 TIP3 2295 -7.505 -4.566 -0.729 1.00 0.00 U ATOM 858 H1 TIP3 2295 -6.760 -3.965 -0.723 1.00 0.00 U ATOM 859 H2 TIP3 2295 -7.910 -4.455 0.131 1.00 0.00 U ATOM 860 OH2 TIP3 2296 0.277 1.040 1.393 1.00 0.00 U ATOM 861 H1 TIP3 2296 0.759 0.469 0.794 1.00 0.00 U ATOM 862 H2 TIP3 2296 -0.434 1.399 0.862 1.00 0.00 U ATOM 863 OH2 TIP3 2300 -7.884 4.154 -13.554 1.00 0.00 U ATOM 864 H1 TIP3 2300 -7.150 3.999 -12.960 1.00 0.00 U ATOM 865 H2 TIP3 2300 -8.643 3.789 -13.098 1.00 0.00 U ATOM 866 OH2 TIP3 2302 -6.342 -3.156 4.953 1.00 0.00 U ATOM 867 H1 TIP3 2302 -7.217 -3.171 5.341 1.00 0.00 U ATOM 868 H2 TIP3 2302 -5.863 -2.506 5.468 1.00 0.00 U ATOM 869 OH2 TIP3 2309 9.280 -3.604 -10.224 1.00 0.00 U ATOM 870 H1 TIP3 2309 9.383 -3.303 -11.127 1.00 0.00 U ATOM 871 H2 TIP3 2309 9.619 -2.884 -9.692 1.00 0.00 U ATOM 872 OH2 TIP3 2311 11.357 -7.268 -1.444 1.00 0.00 U ATOM 873 H1 TIP3 2311 10.420 -7.136 -1.302 1.00 0.00 U ATOM 874 H2 TIP3 2311 11.732 -7.293 -0.564 1.00 0.00 U ATOM 875 OH2 TIP3 2315 -6.918 -5.922 5.161 1.00 0.00 U ATOM 876 H1 TIP3 2315 -6.796 -5.026 4.846 1.00 0.00 U ATOM 877 H2 TIP3 2315 -6.370 -6.456 4.586 1.00 0.00 U ATOM 878 OH2 TIP3 2316 11.601 4.504 -11.007 1.00 0.00 U ATOM 879 H1 TIP3 2316 11.164 3.968 -11.668 1.00 0.00 U ATOM 880 H2 TIP3 2316 10.968 4.565 -10.291 1.00 0.00 U ATOM 881 OH2 TIP3 2317 13.043 -7.768 10.242 1.00 0.00 U ATOM 882 H1 TIP3 2317 13.726 -7.854 9.577 1.00 0.00 U ATOM 883 H2 TIP3 2317 12.337 -8.338 9.937 1.00 0.00 U ATOM 884 OH2 TIP3 2318 2.394 9.833 -8.056 1.00 0.00 U ATOM 885 H1 TIP3 2318 1.544 10.203 -8.293 1.00 0.00 U ATOM 886 H2 TIP3 2318 2.882 9.806 -8.879 1.00 0.00 U ATOM 887 OH2 TIP3 2319 -9.607 4.931 10.916 1.00 0.00 U ATOM 888 H1 TIP3 2319 -9.987 4.073 11.103 1.00 0.00 U ATOM 889 H2 TIP3 2319 -9.022 5.101 11.654 1.00 0.00 U ATOM 890 OH2 TIP3 2320 6.821 2.616 -7.694 1.00 0.00 U ATOM 891 H1 TIP3 2320 6.174 3.320 -7.653 1.00 0.00 U ATOM 892 H2 TIP3 2320 6.655 2.186 -8.533 1.00 0.00 U ATOM 893 OH2 TIP3 2329 -1.813 4.501 10.662 1.00 0.00 U ATOM 894 H1 TIP3 2329 -1.277 4.805 9.929 1.00 0.00 U ATOM 895 H2 TIP3 2329 -2.693 4.415 10.297 1.00 0.00 U ATOM 896 OH2 TIP3 2331 7.824 3.238 13.045 1.00 0.00 U ATOM 897 H1 TIP3 2331 7.003 3.077 13.509 1.00 0.00 U ATOM 898 H2 TIP3 2331 7.752 2.720 12.243 1.00 0.00 U ATOM 899 OH2 TIP3 2332 -9.928 -4.712 2.073 1.00 0.00 U ATOM 900 H1 TIP3 2332 -10.465 -4.211 1.458 1.00 0.00 U ATOM 901 H2 TIP3 2332 -9.546 -4.051 2.651 1.00 0.00 U ATOM 902 OH2 TIP3 2335 7.911 8.515 -5.327 1.00 0.00 U ATOM 903 H1 TIP3 2335 8.240 7.653 -5.583 1.00 0.00 U ATOM 904 H2 TIP3 2335 7.475 8.848 -6.111 1.00 0.00 U ATOM 905 OH2 TIP3 2339 6.041 -7.378 9.921 1.00 0.00 U ATOM 906 H1 TIP3 2339 5.300 -7.161 9.355 1.00 0.00 U ATOM 907 H2 TIP3 2339 6.323 -6.537 10.279 1.00 0.00 U ATOM 908 OH2 TIP3 2351 2.085 1.475 -2.746 1.00 0.00 U ATOM 909 H1 TIP3 2351 2.526 2.214 -2.327 1.00 0.00 U ATOM 910 H2 TIP3 2351 1.971 1.748 -3.656 1.00 0.00 U ATOM 911 OH2 TIP3 2352 4.782 -2.029 -1.247 1.00 0.00 U ATOM 912 H1 TIP3 2352 4.960 -1.520 -2.038 1.00 0.00 U ATOM 913 H2 TIP3 2352 4.164 -1.494 -0.751 1.00 0.00 U ATOM 914 OH2 TIP3 2355 13.741 -0.498 9.739 1.00 0.00 U ATOM 915 H1 TIP3 2355 13.022 -1.129 9.771 1.00 0.00 U ATOM 916 H2 TIP3 2355 13.856 -0.218 10.647 1.00 0.00 U ATOM 917 OH2 TIP3 2357 -0.975 11.025 11.647 1.00 0.00 U ATOM 918 H1 TIP3 2357 -0.523 10.311 11.197 1.00 0.00 U ATOM 919 H2 TIP3 2357 -1.685 11.271 11.054 1.00 0.00 U ATOM 920 OH2 TIP3 2358 5.602 1.838 -10.205 1.00 0.00 U ATOM 921 H1 TIP3 2358 5.458 2.571 -10.803 1.00 0.00 U ATOM 922 H2 TIP3 2358 4.737 1.656 -9.837 1.00 0.00 U ATOM 923 OH2 TIP3 2359 -2.533 8.287 -11.798 1.00 0.00 U ATOM 924 H1 TIP3 2359 -3.398 8.694 -11.851 1.00 0.00 U ATOM 925 H2 TIP3 2359 -2.319 8.059 -12.703 1.00 0.00 U ATOM 926 OH2 TIP3 2376 -1.800 -8.951 12.926 1.00 0.00 U ATOM 927 H1 TIP3 2376 -1.414 -9.699 12.468 1.00 0.00 U ATOM 928 H2 TIP3 2376 -2.097 -8.369 12.226 1.00 0.00 U ATOM 929 OH2 TIP3 2377 -7.773 11.061 1.867 1.00 0.00 U ATOM 930 H1 TIP3 2377 -8.181 10.542 1.174 1.00 0.00 U ATOM 931 H2 TIP3 2377 -7.465 11.852 1.424 1.00 0.00 U ATOM 932 OH2 TIP3 2380 11.343 -5.051 -9.236 1.00 0.00 U ATOM 933 H1 TIP3 2380 10.614 -4.566 -9.624 1.00 0.00 U ATOM 934 H2 TIP3 2380 12.104 -4.801 -9.761 1.00 0.00 U ATOM 935 OH2 TIP3 2418 -6.434 -6.432 8.159 1.00 0.00 U ATOM 936 H1 TIP3 2418 -6.272 -5.595 8.595 1.00 0.00 U ATOM 937 H2 TIP3 2418 -6.833 -6.193 7.322 1.00 0.00 U ATOM 938 OH2 TIP3 2587 15.264 4.999 5.854 1.00 0.00 U ATOM 939 H1 TIP3 2587 14.874 5.394 5.074 1.00 0.00 U ATOM 940 H2 TIP3 2587 14.633 5.171 6.552 1.00 0.00 U ATOM 941 OH2 TIP3 2606 10.030 3.016 6.749 1.00 0.00 U ATOM 942 H1 TIP3 2606 10.871 2.751 6.377 1.00 0.00 U ATOM 943 H2 TIP3 2606 9.380 2.708 6.117 1.00 0.00 U ATOM 944 OH2 TIP3 2607 -6.978 -1.747 9.599 1.00 0.00 U ATOM 945 H1 TIP3 2607 -7.339 -0.943 9.970 1.00 0.00 U ATOM 946 H2 TIP3 2607 -6.173 -1.900 10.095 1.00 0.00 U ATOM 947 OH2 TIP3 2608 -4.908 9.345 -3.816 1.00 0.00 U ATOM 948 H1 TIP3 2608 -4.744 9.808 -4.638 1.00 0.00 U ATOM 949 H2 TIP3 2608 -4.307 8.601 -3.835 1.00 0.00 U ATOM 950 OH2 TIP3 2610 12.781 -11.079 11.106 1.00 0.00 U ATOM 951 H1 TIP3 2610 12.165 -10.654 11.704 1.00 0.00 U ATOM 952 H2 TIP3 2610 13.462 -11.435 11.677 1.00 0.00 U ATOM 953 OH2 TIP3 2628 -6.161 2.772 -6.755 1.00 0.00 U ATOM 954 H1 TIP3 2628 -6.968 2.257 -6.780 1.00 0.00 U ATOM 955 H2 TIP3 2628 -6.065 3.022 -5.836 1.00 0.00 U ATOM 956 OH2 TIP3 2632 4.178 -11.068 0.552 1.00 0.00 U ATOM 957 H1 TIP3 2632 4.274 -10.847 -0.375 1.00 0.00 U ATOM 958 H2 TIP3 2632 4.455 -10.279 1.017 1.00 0.00 U ATOM 959 OH2 TIP3 2634 1.145 -5.584 -10.990 1.00 0.00 U ATOM 960 H1 TIP3 2634 1.872 -5.728 -11.596 1.00 0.00 U ATOM 961 H2 TIP3 2634 0.491 -6.236 -11.239 1.00 0.00 U ATOM 962 OH2 TIP3 2650 -4.555 7.216 -6.204 1.00 0.00 U ATOM 963 H1 TIP3 2650 -5.339 6.833 -5.810 1.00 0.00 U ATOM 964 H2 TIP3 2650 -3.949 6.481 -6.295 1.00 0.00 U ATOM 965 OH2 TIP3 2654 4.912 8.836 -0.111 1.00 0.00 U ATOM 966 H1 TIP3 2654 4.288 9.488 0.207 1.00 0.00 U ATOM 967 H2 TIP3 2654 4.606 8.010 0.264 1.00 0.00 U ATOM 968 OH2 TIP3 2670 -6.017 6.858 -0.667 1.00 0.00 U ATOM 969 H1 TIP3 2670 -6.672 7.405 -0.232 1.00 0.00 U ATOM 970 H2 TIP3 2670 -6.528 6.261 -1.213 1.00 0.00 U ATOM 971 OH2 TIP3 2673 -8.065 1.082 9.361 1.00 0.00 U ATOM 972 H1 TIP3 2673 -7.882 0.688 8.508 1.00 0.00 U ATOM 973 H2 TIP3 2673 -8.830 1.637 9.210 1.00 0.00 U ATOM 974 OH2 TIP3 2676 6.291 -9.959 -11.721 1.00 0.00 U ATOM 975 H1 TIP3 2676 5.515 -9.570 -11.316 1.00 0.00 U ATOM 976 H2 TIP3 2676 7.007 -9.744 -11.124 1.00 0.00 U ATOM 977 OH2 TIP3 2689 9.825 -11.794 0.731 1.00 0.00 U ATOM 978 H1 TIP3 2689 10.150 -11.142 0.111 1.00 0.00 U ATOM 979 H2 TIP3 2689 9.604 -12.552 0.189 1.00 0.00 U ATOM 980 OH2 TIP3 2690 0.969 6.796 9.340 1.00 0.00 U ATOM 981 H1 TIP3 2690 1.619 7.071 8.693 1.00 0.00 U ATOM 982 H2 TIP3 2690 0.826 5.867 9.156 1.00 0.00 U ATOM 983 OH2 TIP3 2691 -0.670 12.005 -1.664 1.00 0.00 U ATOM 984 H1 TIP3 2691 -0.211 11.309 -1.194 1.00 0.00 U ATOM 985 H2 TIP3 2691 -1.577 11.938 -1.364 1.00 0.00 U ATOM 986 OH2 TIP3 2692 -7.942 9.630 -3.219 1.00 0.00 U ATOM 987 H1 TIP3 2692 -6.996 9.756 -3.300 1.00 0.00 U ATOM 988 H2 TIP3 2692 -8.210 9.280 -4.069 1.00 0.00 U ATOM 989 OH2 TIP3 2694 12.619 -2.979 7.323 1.00 0.00 U ATOM 990 H1 TIP3 2694 13.559 -3.094 7.182 1.00 0.00 U ATOM 991 H2 TIP3 2694 12.222 -3.194 6.478 1.00 0.00 U ATOM 992 OH2 TIP3 2697 4.468 2.522 9.933 1.00 0.00 U ATOM 993 H1 TIP3 2697 4.368 2.643 8.989 1.00 0.00 U ATOM 994 H2 TIP3 2697 5.274 2.990 10.151 1.00 0.00 U ATOM 995 OH2 TIP3 2701 15.430 -4.892 -3.094 1.00 0.00 U ATOM 996 H1 TIP3 2701 14.594 -5.328 -3.261 1.00 0.00 U ATOM 997 H2 TIP3 2701 15.599 -4.385 -3.889 1.00 0.00 U ATOM 998 OH2 TIP3 2709 9.839 -0.894 -9.163 1.00 0.00 U ATOM 999 H1 TIP3 2709 9.100 -0.653 -9.722 1.00 0.00 U ATOM 1000 H2 TIP3 2709 9.520 -0.753 -8.271 1.00 0.00 U ATOM 1001 OH2 TIP3 2713 -1.216 2.868 -4.322 1.00 0.00 U ATOM 1002 H1 TIP3 2713 -1.664 3.440 -4.945 1.00 0.00 U ATOM 1003 H2 TIP3 2713 -0.505 2.473 -4.826 1.00 0.00 U ATOM 1004 OH2 TIP3 2714 2.611 0.775 10.933 1.00 0.00 U ATOM 1005 H1 TIP3 2714 3.181 1.542 10.886 1.00 0.00 U ATOM 1006 H2 TIP3 2714 2.590 0.548 11.863 1.00 0.00 U ATOM 1007 OH2 TIP3 2715 11.883 -5.360 10.388 1.00 0.00 U ATOM 1008 H1 TIP3 2715 12.290 -6.213 10.236 1.00 0.00 U ATOM 1009 H2 TIP3 2715 10.950 -5.551 10.477 1.00 0.00 U ATOM 1010 OH2 TIP3 2719 5.478 -0.459 8.685 1.00 0.00 U ATOM 1011 H1 TIP3 2719 4.648 -0.024 8.491 1.00 0.00 U ATOM 1012 H2 TIP3 2719 6.129 0.243 8.658 1.00 0.00 U ATOM 1013 OH2 TIP3 2732 -2.943 7.292 -3.415 1.00 0.00 U ATOM 1014 H1 TIP3 2732 -2.338 6.996 -2.735 1.00 0.00 U ATOM 1015 H2 TIP3 2732 -3.522 6.544 -3.563 1.00 0.00 U ATOM 1016 OH2 TIP3 2734 -2.199 7.320 -8.376 1.00 0.00 U ATOM 1017 H1 TIP3 2734 -2.325 8.260 -8.504 1.00 0.00 U ATOM 1018 H2 TIP3 2734 -1.941 7.236 -7.458 1.00 0.00 U ATOM 1019 OH2 TIP3 2735 2.466 -5.109 -4.633 1.00 0.00 U ATOM 1020 H1 TIP3 2735 3.131 -5.767 -4.839 1.00 0.00 U ATOM 1021 H2 TIP3 2735 2.728 -4.762 -3.780 1.00 0.00 U ATOM 1022 OH2 TIP3 2737 -7.357 -2.795 12.840 1.00 0.00 U ATOM 1023 H1 TIP3 2737 -7.321 -3.668 12.450 1.00 0.00 U ATOM 1024 H2 TIP3 2737 -8.260 -2.508 12.702 1.00 0.00 U ATOM 1025 OH2 TIP3 2740 -8.140 -11.827 -10.475 1.00 0.00 U ATOM 1026 H1 TIP3 2740 -7.518 -11.290 -9.985 1.00 0.00 U ATOM 1027 H2 TIP3 2740 -8.943 -11.799 -9.956 1.00 0.00 U ATOM 1028 OH2 TIP3 2753 5.501 1.308 4.665 1.00 0.00 U ATOM 1029 H1 TIP3 2753 4.615 1.445 5.002 1.00 0.00 U ATOM 1030 H2 TIP3 2753 5.378 0.797 3.866 1.00 0.00 U ATOM 1031 OH2 TIP3 2754 -7.556 -7.610 -9.801 1.00 0.00 U ATOM 1032 H1 TIP3 2754 -7.075 -8.436 -9.853 1.00 0.00 U ATOM 1033 H2 TIP3 2754 -8.414 -7.854 -9.454 1.00 0.00 U ATOM 1034 OH2 TIP3 2755 12.448 -0.181 -11.373 1.00 0.00 U ATOM 1035 H1 TIP3 2755 11.562 -0.377 -11.679 1.00 0.00 U ATOM 1036 H2 TIP3 2755 12.557 -0.723 -10.592 1.00 0.00 U ATOM 1037 OH2 TIP3 2757 2.476 -8.408 -2.310 1.00 0.00 U ATOM 1038 H1 TIP3 2757 2.434 -8.337 -1.356 1.00 0.00 U ATOM 1039 H2 TIP3 2757 3.413 -8.412 -2.509 1.00 0.00 U ATOM 1040 OH2 TIP3 2758 -2.350 -5.788 6.830 1.00 0.00 U ATOM 1041 H1 TIP3 2758 -2.967 -5.150 6.470 1.00 0.00 U ATOM 1042 H2 TIP3 2758 -2.863 -6.590 6.925 1.00 0.00 U ATOM 1043 OH2 TIP3 2771 12.092 -7.967 -5.276 1.00 0.00 U ATOM 1044 H1 TIP3 2771 11.192 -7.646 -5.216 1.00 0.00 U ATOM 1045 H2 TIP3 2771 12.616 -7.290 -4.848 1.00 0.00 U ATOM 1046 OH2 TIP3 2776 -8.299 -7.136 13.387 1.00 0.00 U ATOM 1047 H1 TIP3 2776 -8.405 -6.919 12.460 1.00 0.00 U ATOM 1048 H2 TIP3 2776 -7.407 -6.861 13.597 1.00 0.00 U ATOM 1049 OH2 TIP3 2777 7.977 -8.418 -4.347 1.00 0.00 U ATOM 1050 H1 TIP3 2777 8.005 -8.114 -3.439 1.00 0.00 U ATOM 1051 H2 TIP3 2777 8.581 -7.840 -4.813 1.00 0.00 U ATOM 1052 OH2 TIP3 2778 2.214 -2.747 0.227 1.00 0.00 U ATOM 1053 H1 TIP3 2778 2.349 -1.841 -0.048 1.00 0.00 U ATOM 1054 H2 TIP3 2778 2.239 -2.714 1.184 1.00 0.00 U ATOM 1055 OH2 TIP3 2779 6.633 13.931 -0.853 1.00 0.00 U ATOM 1056 H1 TIP3 2779 6.166 14.328 -1.588 1.00 0.00 U ATOM 1057 H2 TIP3 2779 7.354 13.449 -1.260 1.00 0.00 U ATOM 1058 OH2 TIP3 2794 -6.401 3.356 -4.070 1.00 0.00 U ATOM 1059 H1 TIP3 2794 -5.630 3.133 -3.548 1.00 0.00 U ATOM 1060 H2 TIP3 2794 -7.142 3.048 -3.547 1.00 0.00 U ATOM 1061 OH2 TIP3 2815 -7.007 -9.660 -12.629 1.00 0.00 U ATOM 1062 H1 TIP3 2815 -7.385 -10.283 -12.009 1.00 0.00 U ATOM 1063 H2 TIP3 2815 -7.659 -8.962 -12.696 1.00 0.00 U ATOM 1064 OH2 TIP3 2817 15.253 3.505 1.760 1.00 0.00 U ATOM 1065 H1 TIP3 2817 15.070 2.625 1.431 1.00 0.00 U ATOM 1066 H2 TIP3 2817 15.160 3.431 2.710 1.00 0.00 U ATOM 1067 OH2 TIP3 2818 3.798 -6.569 8.632 1.00 0.00 U ATOM 1068 H1 TIP3 2818 3.352 -6.035 7.975 1.00 0.00 U ATOM 1069 H2 TIP3 2818 3.413 -6.297 9.464 1.00 0.00 U ATOM 1070 OH2 TIP3 2821 2.354 -8.150 0.890 1.00 0.00 U ATOM 1071 H1 TIP3 2821 3.296 -8.106 1.055 1.00 0.00 U ATOM 1072 H2 TIP3 2821 1.988 -7.419 1.387 1.00 0.00 U ATOM 1073 OH2 TIP3 2832 12.753 -3.663 -11.423 1.00 0.00 U ATOM 1074 H1 TIP3 2832 13.108 -4.047 -12.225 1.00 0.00 U ATOM 1075 H2 TIP3 2832 11.986 -3.169 -11.713 1.00 0.00 U ATOM 1076 OH2 TIP3 2857 0.989 9.160 -4.046 1.00 0.00 U ATOM 1077 H1 TIP3 2857 1.299 10.023 -4.319 1.00 0.00 U ATOM 1078 H2 TIP3 2857 0.941 9.213 -3.091 1.00 0.00 U ATOM 1079 OH2 TIP3 2866 -8.571 -8.232 5.858 1.00 0.00 U ATOM 1080 H1 TIP3 2866 -8.077 -7.453 5.603 1.00 0.00 U ATOM 1081 H2 TIP3 2866 -8.756 -8.680 5.033 1.00 0.00 U ATOM 1082 OH2 TIP3 2926 2.676 -0.074 -12.911 1.00 0.00 U ATOM 1083 H1 TIP3 2926 2.459 0.620 -12.288 1.00 0.00 U ATOM 1084 H2 TIP3 2926 2.153 -0.824 -12.625 1.00 0.00 U ATOM 1085 OH2 TIP3 3010 6.845 -2.412 2.840 1.00 0.00 U ATOM 1086 H1 TIP3 3010 6.463 -3.009 3.483 1.00 0.00 U ATOM 1087 H2 TIP3 3010 7.789 -2.477 2.983 1.00 0.00 U ATOM 1088 OH2 TIP3 3012 -2.581 1.456 0.667 1.00 0.00 U ATOM 1089 H1 TIP3 3012 -2.417 1.226 -0.247 1.00 0.00 U ATOM 1090 H2 TIP3 3012 -2.491 2.409 0.694 1.00 0.00 U ATOM 1091 OH2 TIP3 3027 -2.235 -9.497 9.866 1.00 0.00 U ATOM 1092 H1 TIP3 3027 -2.920 -9.040 10.355 1.00 0.00 U ATOM 1093 H2 TIP3 3027 -1.544 -8.844 9.755 1.00 0.00 U ATOM 1094 OH2 TIP3 3049 -9.730 0.031 -11.499 1.00 0.00 U ATOM 1095 H1 TIP3 3049 -10.511 -0.308 -11.061 1.00 0.00 U ATOM 1096 H2 TIP3 3049 -9.160 0.317 -10.785 1.00 0.00 U ATOM 1097 OH2 TIP3 3070 4.221 10.625 3.863 1.00 0.00 U ATOM 1098 H1 TIP3 3070 4.101 10.249 4.735 1.00 0.00 U ATOM 1099 H2 TIP3 3070 5.101 11.001 3.883 1.00 0.00 U ATOM 1100 OH2 TIP3 3072 14.336 -6.401 -7.676 1.00 0.00 U ATOM 1101 H1 TIP3 3072 14.752 -6.727 -6.878 1.00 0.00 U ATOM 1102 H2 TIP3 3072 14.916 -6.687 -8.382 1.00 0.00 U ATOM 1103 OH2 TIP3 3073 6.710 -8.786 -7.991 1.00 0.00 U ATOM 1104 H1 TIP3 3073 6.428 -7.873 -8.046 1.00 0.00 U ATOM 1105 H2 TIP3 3073 7.662 -8.738 -7.900 1.00 0.00 U ATOM 1106 OH2 TIP3 3085 -8.840 10.363 -11.354 1.00 0.00 U ATOM 1107 H1 TIP3 3085 -9.022 9.757 -12.072 1.00 0.00 U ATOM 1108 H2 TIP3 3085 -8.342 9.845 -10.722 1.00 0.00 U ATOM 1109 OH2 TIP3 3086 5.920 7.820 8.068 1.00 0.00 U ATOM 1110 H1 TIP3 3086 5.946 8.612 7.531 1.00 0.00 U ATOM 1111 H2 TIP3 3086 6.621 7.270 7.719 1.00 0.00 U ATOM 1112 OH2 TIP3 3091 2.329 3.339 5.931 1.00 0.00 U ATOM 1113 H1 TIP3 3091 2.295 2.744 5.182 1.00 0.00 U ATOM 1114 H2 TIP3 3091 1.752 4.063 5.688 1.00 0.00 U ATOM 1115 OH2 TIP3 3095 9.064 -8.557 -11.060 1.00 0.00 U ATOM 1116 H1 TIP3 3095 9.381 -9.409 -11.359 1.00 0.00 U ATOM 1117 H2 TIP3 3095 9.810 -8.171 -10.601 1.00 0.00 U ATOM 1118 OH2 TIP3 3096 -4.807 -3.564 -0.001 1.00 0.00 U ATOM 1119 H1 TIP3 3096 -3.907 -3.887 -0.033 1.00 0.00 U ATOM 1120 H2 TIP3 3096 -4.964 -3.379 0.925 1.00 0.00 U ATOM 1121 OH2 TIP3 3108 9.508 12.835 -1.164 1.00 0.00 U ATOM 1122 H1 TIP3 3108 9.834 13.187 -1.992 1.00 0.00 U ATOM 1123 H2 TIP3 3108 9.628 11.889 -1.242 1.00 0.00 U ATOM 1124 OH2 TIP3 3109 -0.769 1.981 -1.435 1.00 0.00 U ATOM 1125 H1 TIP3 3109 -0.008 1.469 -1.710 1.00 0.00 U ATOM 1126 H2 TIP3 3109 -1.125 2.338 -2.249 1.00 0.00 U ATOM 1127 OH2 TIP3 3111 8.526 11.276 10.342 1.00 0.00 U ATOM 1128 H1 TIP3 3111 8.049 12.099 10.237 1.00 0.00 U ATOM 1129 H2 TIP3 3111 9.270 11.499 10.901 1.00 0.00 U ATOM 1130 OH2 TIP3 3112 7.572 13.094 1.517 1.00 0.00 U ATOM 1131 H1 TIP3 3112 8.416 13.511 1.346 1.00 0.00 U ATOM 1132 H2 TIP3 3112 7.025 13.342 0.772 1.00 0.00 U ATOM 1133 OH2 TIP3 3113 -3.850 1.944 -11.069 1.00 0.00 U ATOM 1134 H1 TIP3 3113 -3.663 1.015 -11.209 1.00 0.00 U ATOM 1135 H2 TIP3 3113 -3.798 2.059 -10.120 1.00 0.00 U ATOM 1136 OH2 TIP3 3114 -3.440 12.964 4.990 1.00 0.00 U ATOM 1137 H1 TIP3 3114 -2.970 12.250 5.421 1.00 0.00 U ATOM 1138 H2 TIP3 3114 -3.113 12.959 4.091 1.00 0.00 U ATOM 1139 OH2 TIP3 3115 0.529 4.441 -10.638 1.00 0.00 U ATOM 1140 H1 TIP3 3115 0.504 5.397 -10.601 1.00 0.00 U ATOM 1141 H2 TIP3 3115 -0.076 4.212 -11.343 1.00 0.00 U ATOM 1142 OH2 TIP3 3129 -3.378 -11.430 -5.758 1.00 0.00 U ATOM 1143 H1 TIP3 3129 -3.602 -12.134 -6.367 1.00 0.00 U ATOM 1144 H2 TIP3 3129 -4.205 -11.213 -5.328 1.00 0.00 U ATOM 1145 OH2 TIP3 3131 3.664 12.949 0.387 1.00 0.00 U ATOM 1146 H1 TIP3 3131 3.160 13.025 -0.424 1.00 0.00 U ATOM 1147 H2 TIP3 3131 3.894 13.851 0.611 1.00 0.00 U ATOM 1148 OH2 TIP3 3134 11.697 -11.343 -9.389 1.00 0.00 U ATOM 1149 H1 TIP3 3134 11.626 -10.724 -8.663 1.00 0.00 U ATOM 1150 H2 TIP3 3134 12.633 -11.374 -9.587 1.00 0.00 U ATOM 1151 OH2 TIP3 3140 13.302 10.636 9.739 1.00 0.00 U ATOM 1152 H1 TIP3 3140 14.164 10.280 9.525 1.00 0.00 U ATOM 1153 H2 TIP3 3140 12.846 9.914 10.173 1.00 0.00 U ATOM 1154 OH2 TIP3 3150 10.186 9.667 -4.328 1.00 0.00 U ATOM 1155 H1 TIP3 3150 10.282 10.341 -5.000 1.00 0.00 U ATOM 1156 H2 TIP3 3150 9.566 9.041 -4.702 1.00 0.00 U ATOM 1157 OH2 TIP3 3152 -0.127 9.954 -9.429 1.00 0.00 U ATOM 1158 H1 TIP3 3152 -0.745 10.147 -10.134 1.00 0.00 U ATOM 1159 H2 TIP3 3152 0.038 9.014 -9.506 1.00 0.00 U ATOM 1160 OH2 TIP3 3154 15.781 9.692 8.597 1.00 0.00 U ATOM 1161 H1 TIP3 3154 16.230 9.764 7.755 1.00 0.00 U ATOM 1162 H2 TIP3 3154 16.484 9.570 9.235 1.00 0.00 U ATOM 1163 OH2 TIP3 3155 -4.506 10.060 -6.543 1.00 0.00 U ATOM 1164 H1 TIP3 3155 -4.526 9.106 -6.473 1.00 0.00 U ATOM 1165 H2 TIP3 3155 -3.630 10.259 -6.875 1.00 0.00 U ATOM 1166 OH2 TIP3 3157 10.732 6.677 -2.287 1.00 0.00 U ATOM 1167 H1 TIP3 3157 9.828 6.412 -2.456 1.00 0.00 U ATOM 1168 H2 TIP3 3157 10.683 7.205 -1.490 1.00 0.00 U ATOM 1169 OH2 TIP3 3173 15.740 6.710 -10.569 1.00 0.00 U ATOM 1170 H1 TIP3 3173 14.948 6.245 -10.300 1.00 0.00 U ATOM 1171 H2 TIP3 3173 16.182 6.926 -9.748 1.00 0.00 U ATOM 1172 OH2 TIP3 3177 -1.320 -3.488 8.772 1.00 0.00 U ATOM 1173 H1 TIP3 3177 -1.546 -4.279 8.282 1.00 0.00 U ATOM 1174 H2 TIP3 3177 -0.767 -3.800 9.488 1.00 0.00 U ATOM 1175 OH2 TIP3 3179 -6.717 6.122 -4.748 1.00 0.00 U ATOM 1176 H1 TIP3 3179 -7.292 6.447 -4.056 1.00 0.00 U ATOM 1177 H2 TIP3 3179 -6.448 5.253 -4.448 1.00 0.00 U ATOM 1178 OH2 TIP3 3180 4.507 6.793 -5.770 1.00 0.00 U ATOM 1179 H1 TIP3 3180 4.600 7.736 -5.909 1.00 0.00 U ATOM 1180 H2 TIP3 3180 3.750 6.710 -5.190 1.00 0.00 U ATOM 1181 OH2 TIP3 3181 -2.308 -6.439 -1.791 1.00 0.00 U ATOM 1182 H1 TIP3 3181 -1.501 -6.936 -1.655 1.00 0.00 U ATOM 1183 H2 TIP3 3181 -2.237 -5.697 -1.190 1.00 0.00 U ATOM 1184 OH2 TIP3 3192 6.956 3.846 10.353 1.00 0.00 U ATOM 1185 H1 TIP3 3192 6.596 4.733 10.340 1.00 0.00 U ATOM 1186 H2 TIP3 3192 7.803 3.925 9.914 1.00 0.00 U ATOM 1187 OH2 TIP3 3195 8.450 5.248 -0.562 1.00 0.00 U ATOM 1188 H1 TIP3 3195 8.130 5.474 -1.435 1.00 0.00 U ATOM 1189 H2 TIP3 3195 8.602 6.092 -0.136 1.00 0.00 U ATOM 1190 OH2 TIP3 3196 12.859 3.268 5.331 1.00 0.00 U ATOM 1191 H1 TIP3 3196 12.830 3.693 6.188 1.00 0.00 U ATOM 1192 H2 TIP3 3196 13.773 3.003 5.226 1.00 0.00 U ATOM 1193 OH2 TIP3 3198 6.971 1.596 7.751 1.00 0.00 U ATOM 1194 H1 TIP3 3198 7.855 1.345 8.020 1.00 0.00 U ATOM 1195 H2 TIP3 3198 6.961 2.550 7.823 1.00 0.00 U ATOM 1196 OH2 TIP3 3202 -7.025 -10.207 -0.072 1.00 0.00 U ATOM 1197 H1 TIP3 3202 -7.787 -9.667 -0.284 1.00 0.00 U ATOM 1198 H2 TIP3 3202 -6.675 -9.821 0.731 1.00 0.00 U ATOM 1199 OH2 TIP3 3214 -3.162 -0.743 -11.466 1.00 0.00 U ATOM 1200 H1 TIP3 3214 -3.334 -1.347 -10.744 1.00 0.00 U ATOM 1201 H2 TIP3 3214 -3.841 -0.939 -12.111 1.00 0.00 U ATOM 1202 OH2 TIP3 3215 3.175 -4.015 10.304 1.00 0.00 U ATOM 1203 H1 TIP3 3215 3.547 -4.688 10.874 1.00 0.00 U ATOM 1204 H2 TIP3 3215 3.802 -3.935 9.585 1.00 0.00 U ATOM 1205 OH2 TIP3 3216 8.215 -1.408 -5.069 1.00 0.00 U ATOM 1206 H1 TIP3 3216 8.174 -0.672 -5.680 1.00 0.00 U ATOM 1207 H2 TIP3 3216 9.054 -1.829 -5.257 1.00 0.00 U ATOM 1208 OH2 TIP3 3218 7.449 -0.316 -10.282 1.00 0.00 U ATOM 1209 H1 TIP3 3218 7.353 -0.842 -11.076 1.00 0.00 U ATOM 1210 H2 TIP3 3218 6.687 0.263 -10.285 1.00 0.00 U ATOM 1211 OH2 TIP3 3219 -0.579 -10.768 -1.234 1.00 0.00 U ATOM 1212 H1 TIP3 3219 -0.616 -11.133 -2.119 1.00 0.00 U ATOM 1213 H2 TIP3 3219 -0.482 -11.531 -0.664 1.00 0.00 U ATOM 1214 OH2 TIP3 3223 13.689 6.761 4.032 1.00 0.00 U ATOM 1215 H1 TIP3 3223 14.572 7.111 4.146 1.00 0.00 U ATOM 1216 H2 TIP3 3223 13.115 7.427 4.409 1.00 0.00 U ATOM 1217 OH2 TIP3 3234 -3.818 5.388 -9.522 1.00 0.00 U ATOM 1218 H1 TIP3 3234 -4.664 5.809 -9.678 1.00 0.00 U ATOM 1219 H2 TIP3 3234 -3.220 6.112 -9.338 1.00 0.00 U ATOM 1220 OH2 TIP3 3236 -0.846 -6.773 9.128 1.00 0.00 U ATOM 1221 H1 TIP3 3236 -0.225 -7.212 8.546 1.00 0.00 U ATOM 1222 H2 TIP3 3236 -1.670 -6.770 8.641 1.00 0.00 U ATOM 1223 OH2 TIP3 3237 -6.883 13.515 0.604 1.00 0.00 U ATOM 1224 H1 TIP3 3237 -6.761 14.363 0.177 1.00 0.00 U ATOM 1225 H2 TIP3 3237 -6.602 13.659 1.507 1.00 0.00 U ATOM 1226 OH2 TIP3 3238 -4.649 4.658 6.876 1.00 0.00 U ATOM 1227 H1 TIP3 3238 -4.307 3.867 6.460 1.00 0.00 U ATOM 1228 H2 TIP3 3238 -4.487 5.354 6.239 1.00 0.00 U ATOM 1229 OH2 TIP3 3242 -0.603 -7.848 -9.023 1.00 0.00 U ATOM 1230 H1 TIP3 3242 -1.203 -8.202 -8.367 1.00 0.00 U ATOM 1231 H2 TIP3 3242 0.220 -7.717 -8.551 1.00 0.00 U ATOM 1232 OH2 TIP3 3244 10.637 7.111 12.407 1.00 0.00 U ATOM 1233 H1 TIP3 3244 10.701 7.158 11.453 1.00 0.00 U ATOM 1234 H2 TIP3 3244 11.404 6.603 12.674 1.00 0.00 U ATOM 1235 OH2 TIP3 3257 13.197 -5.879 6.545 1.00 0.00 U ATOM 1236 H1 TIP3 3257 13.441 -5.728 5.632 1.00 0.00 U ATOM 1237 H2 TIP3 3257 12.267 -6.101 6.511 1.00 0.00 U ATOM 1238 OH2 TIP3 3258 4.578 10.313 9.770 1.00 0.00 U ATOM 1239 H1 TIP3 3258 5.448 9.934 9.892 1.00 0.00 U ATOM 1240 H2 TIP3 3258 4.634 10.780 8.936 1.00 0.00 U ATOM 1241 OH2 TIP3 3262 15.034 13.884 12.484 1.00 0.00 U ATOM 1242 H1 TIP3 3262 15.787 13.529 12.956 1.00 0.00 U ATOM 1243 H2 TIP3 3262 15.368 14.674 12.059 1.00 0.00 U ATOM 1244 OH2 TIP3 3263 -3.740 2.738 5.103 1.00 0.00 U ATOM 1245 H1 TIP3 3263 -4.417 2.136 4.793 1.00 0.00 U ATOM 1246 H2 TIP3 3263 -3.232 2.951 4.320 1.00 0.00 U ATOM 1247 OH2 TIP3 3274 2.568 10.735 -10.974 1.00 0.00 U ATOM 1248 H1 TIP3 3274 1.747 10.685 -11.464 1.00 0.00 U ATOM 1249 H2 TIP3 3274 3.229 10.395 -11.577 1.00 0.00 U ATOM 1250 OH2 TIP3 3280 -7.412 9.622 -8.791 1.00 0.00 U ATOM 1251 H1 TIP3 3280 -8.367 9.591 -8.746 1.00 0.00 U ATOM 1252 H2 TIP3 3280 -7.126 8.812 -8.368 1.00 0.00 U ATOM 1253 OH2 TIP3 3302 1.716 5.393 2.408 1.00 0.00 U ATOM 1254 H1 TIP3 3302 1.133 4.636 2.470 1.00 0.00 U ATOM 1255 H2 TIP3 3302 1.154 6.144 2.596 1.00 0.00 U ATOM 1256 OH2 TIP3 3303 -3.277 -1.412 8.861 1.00 0.00 U ATOM 1257 H1 TIP3 3303 -2.869 -0.591 9.135 1.00 0.00 U ATOM 1258 H2 TIP3 3303 -2.580 -2.064 8.938 1.00 0.00 U ATOM 1259 OH2 TIP3 3304 -6.864 -7.889 -6.323 1.00 0.00 U ATOM 1260 H1 TIP3 3304 -7.104 -7.033 -5.967 1.00 0.00 U ATOM 1261 H2 TIP3 3304 -5.982 -7.763 -6.674 1.00 0.00 U ATOM 1262 OH2 TIP3 3367 5.305 4.388 -11.977 1.00 0.00 U ATOM 1263 H1 TIP3 3367 5.610 4.990 -11.299 1.00 0.00 U ATOM 1264 H2 TIP3 3367 5.285 4.916 -12.776 1.00 0.00 U ATOM 1265 OH2 TIP3 3426 -0.175 -11.031 11.944 1.00 0.00 U ATOM 1266 H1 TIP3 3426 -0.912 -11.622 11.790 1.00 0.00 U ATOM 1267 H2 TIP3 3426 0.407 -11.171 11.197 1.00 0.00 U ATOM 1268 OH2 TIP3 3442 12.541 10.172 6.973 1.00 0.00 U ATOM 1269 H1 TIP3 3442 11.857 10.794 7.222 1.00 0.00 U ATOM 1270 H2 TIP3 3442 13.288 10.404 7.524 1.00 0.00 U ATOM 1271 OH2 TIP3 3447 6.776 9.335 11.112 1.00 0.00 U ATOM 1272 H1 TIP3 3447 7.378 10.032 10.853 1.00 0.00 U ATOM 1273 H2 TIP3 3447 7.330 8.690 11.552 1.00 0.00 U ATOM 1274 OH2 TIP3 3484 11.850 -10.584 -6.066 1.00 0.00 U ATOM 1275 H1 TIP3 3484 10.913 -10.747 -5.962 1.00 0.00 U ATOM 1276 H2 TIP3 3484 11.990 -9.725 -5.668 1.00 0.00 U ATOM 1277 OH2 TIP3 3526 -2.168 6.878 12.317 1.00 0.00 U ATOM 1278 H1 TIP3 3526 -2.268 6.284 13.061 1.00 0.00 U ATOM 1279 H2 TIP3 3526 -2.045 6.301 11.564 1.00 0.00 U ATOM 1280 OH2 TIP3 3527 14.065 9.940 2.435 1.00 0.00 U ATOM 1281 H1 TIP3 3527 13.326 10.324 2.907 1.00 0.00 U ATOM 1282 H2 TIP3 3527 14.552 9.458 3.103 1.00 0.00 U ATOM 1283 OH2 TIP3 3534 -7.282 -8.531 -3.535 1.00 0.00 U ATOM 1284 H1 TIP3 3534 -7.251 -7.944 -4.290 1.00 0.00 U ATOM 1285 H2 TIP3 3534 -6.876 -8.032 -2.826 1.00 0.00 U ATOM 1286 OH2 TIP3 3545 13.441 -6.685 -3.104 1.00 0.00 U ATOM 1287 H1 TIP3 3545 13.975 -7.460 -2.930 1.00 0.00 U ATOM 1288 H2 TIP3 3545 12.678 -6.786 -2.534 1.00 0.00 U ATOM 1289 OH2 TIP3 3548 1.398 -12.145 6.032 1.00 0.00 U ATOM 1290 H1 TIP3 3548 0.795 -11.988 6.759 1.00 0.00 U ATOM 1291 H2 TIP3 3548 1.729 -11.277 5.804 1.00 0.00 U ATOM 1292 OH2 TIP3 3554 8.181 4.993 -6.100 1.00 0.00 U ATOM 1293 H1 TIP3 3554 8.818 5.313 -6.739 1.00 0.00 U ATOM 1294 H2 TIP3 3554 7.531 4.524 -6.622 1.00 0.00 U ATOM 1295 OH2 TIP3 3556 -7.278 9.888 6.339 1.00 0.00 U ATOM 1296 H1 TIP3 3556 -7.480 10.622 6.918 1.00 0.00 U ATOM 1297 H2 TIP3 3556 -7.370 9.113 6.893 1.00 0.00 U ATOM 1298 OH2 TIP3 3573 6.068 -11.928 3.649 1.00 0.00 U ATOM 1299 H1 TIP3 3573 6.971 -12.217 3.518 1.00 0.00 U ATOM 1300 H2 TIP3 3573 5.698 -11.891 2.766 1.00 0.00 U ATOM 1301 OH2 TIP3 3575 11.170 9.767 12.585 1.00 0.00 U ATOM 1302 H1 TIP3 3575 10.393 10.134 13.008 1.00 0.00 U ATOM 1303 H2 TIP3 3575 10.942 8.853 12.416 1.00 0.00 U ATOM 1304 OH2 TIP3 3595 8.991 -8.102 9.443 1.00 0.00 U ATOM 1305 H1 TIP3 3595 9.356 -7.591 10.165 1.00 0.00 U ATOM 1306 H2 TIP3 3595 8.055 -8.157 9.637 1.00 0.00 U ATOM 1307 OH2 TIP3 3596 5.644 -9.129 4.542 1.00 0.00 U ATOM 1308 H1 TIP3 3596 6.012 -8.688 5.307 1.00 0.00 U ATOM 1309 H2 TIP3 3596 6.126 -9.954 4.485 1.00 0.00 U ATOM 1310 OH2 TIP3 3597 16.260 -8.004 -9.000 1.00 0.00 U ATOM 1311 H1 TIP3 3597 15.869 -8.814 -8.674 1.00 0.00 U ATOM 1312 H2 TIP3 3597 16.059 -8.000 -9.936 1.00 0.00 U ATOM 1313 OH2 TIP3 3599 16.364 -2.449 -0.513 1.00 0.00 U ATOM 1314 H1 TIP3 3599 15.477 -2.262 -0.206 1.00 0.00 U ATOM 1315 H2 TIP3 3599 16.238 -2.913 -1.341 1.00 0.00 U ATOM 1316 OH2 TIP3 3612 1.600 -1.876 -8.563 1.00 0.00 U ATOM 1317 H1 TIP3 3612 2.261 -2.541 -8.757 1.00 0.00 U ATOM 1318 H2 TIP3 3612 1.203 -1.678 -9.411 1.00 0.00 U ATOM 1319 OH2 TIP3 3614 8.744 0.658 -6.956 1.00 0.00 U ATOM 1320 H1 TIP3 3614 9.293 1.364 -6.614 1.00 0.00 U ATOM 1321 H2 TIP3 3614 7.966 1.101 -7.295 1.00 0.00 U ATOM 1322 OH2 TIP3 3615 -0.444 -7.755 5.281 1.00 0.00 U ATOM 1323 H1 TIP3 3615 -0.946 -8.505 4.963 1.00 0.00 U ATOM 1324 H2 TIP3 3615 -1.099 -7.173 5.666 1.00 0.00 U ATOM 1325 OH2 TIP3 3619 14.238 -5.808 0.227 1.00 0.00 U ATOM 1326 H1 TIP3 3619 14.232 -5.066 -0.378 1.00 0.00 U ATOM 1327 H2 TIP3 3619 15.115 -6.181 0.140 1.00 0.00 U ATOM 1328 OH2 TIP3 3650 16.259 3.055 -12.382 1.00 0.00 U ATOM 1329 H1 TIP3 3650 16.655 2.674 -11.598 1.00 0.00 U ATOM 1330 H2 TIP3 3650 15.343 3.195 -12.144 1.00 0.00 U ATOM 1331 OH2 TIP3 3651 10.472 -4.226 -3.825 1.00 0.00 U ATOM 1332 H1 TIP3 3651 10.568 -3.952 -4.737 1.00 0.00 U ATOM 1333 H2 TIP3 3651 10.834 -3.501 -3.316 1.00 0.00 U ATOM 1334 OH2 TIP3 3653 -4.073 -2.613 -9.527 1.00 0.00 U ATOM 1335 H1 TIP3 3653 -3.818 -3.385 -9.021 1.00 0.00 U ATOM 1336 H2 TIP3 3653 -4.515 -2.048 -8.894 1.00 0.00 U ATOM 1337 OH2 TIP3 3660 1.312 4.932 -1.934 1.00 0.00 U ATOM 1338 H1 TIP3 3660 0.657 4.281 -1.682 1.00 0.00 U ATOM 1339 H2 TIP3 3660 2.151 4.487 -1.816 1.00 0.00 U ATOM 1340 OH2 TIP3 3661 15.537 6.745 9.073 1.00 0.00 U ATOM 1341 H1 TIP3 3661 14.751 7.022 9.545 1.00 0.00 U ATOM 1342 H2 TIP3 3661 15.989 6.161 9.682 1.00 0.00 U ATOM 1343 OH2 TIP3 3662 -9.402 -2.583 3.739 1.00 0.00 U ATOM 1344 H1 TIP3 3662 -8.951 -1.738 3.739 1.00 0.00 U ATOM 1345 H2 TIP3 3662 -10.326 -2.361 3.861 1.00 0.00 U ATOM 1346 OH2 TIP3 3703 15.256 11.941 -7.664 1.00 0.00 U ATOM 1347 H1 TIP3 3703 15.919 12.300 -7.073 1.00 0.00 U ATOM 1348 H2 TIP3 3703 14.517 12.545 -7.591 1.00 0.00 U ATOM 1349 OH2 TIP3 3707 -3.060 -4.216 -7.529 1.00 0.00 U ATOM 1350 H1 TIP3 3707 -2.758 -4.685 -6.751 1.00 0.00 U ATOM 1351 H2 TIP3 3707 -2.265 -4.058 -8.038 1.00 0.00 U ATOM 1352 OH2 TIP3 3708 13.842 2.858 -3.904 1.00 0.00 U ATOM 1353 H1 TIP3 3708 14.002 2.802 -4.846 1.00 0.00 U ATOM 1354 H2 TIP3 3708 14.176 2.032 -3.555 1.00 0.00 U ATOM 1355 OH2 TIP3 3718 -8.886 -9.828 -6.517 1.00 0.00 U ATOM 1356 H1 TIP3 3718 -8.036 -9.454 -6.750 1.00 0.00 U ATOM 1357 H2 TIP3 3718 -8.725 -10.301 -5.701 1.00 0.00 U ATOM 1358 OH2 TIP3 3723 12.596 13.382 9.203 1.00 0.00 U ATOM 1359 H1 TIP3 3723 12.806 12.535 9.597 1.00 0.00 U ATOM 1360 H2 TIP3 3723 12.822 14.023 9.877 1.00 0.00 U ATOM 1361 OH2 TIP3 3728 15.057 0.196 6.308 1.00 0.00 U ATOM 1362 H1 TIP3 3728 15.759 0.693 6.729 1.00 0.00 U ATOM 1363 H2 TIP3 3728 15.294 -0.720 6.449 1.00 0.00 U ATOM 1364 OH2 TIP3 3745 11.477 8.153 0.974 1.00 0.00 U ATOM 1365 H1 TIP3 3745 12.299 8.440 0.575 1.00 0.00 U ATOM 1366 H2 TIP3 3745 11.395 8.686 1.764 1.00 0.00 U ATOM 1367 OH2 TIP3 3787 -0.188 3.023 13.020 1.00 0.00 U ATOM 1368 H1 TIP3 3787 -0.537 2.136 13.102 1.00 0.00 U ATOM 1369 H2 TIP3 3787 -0.700 3.418 12.315 1.00 0.00 U ATOM 1370 OH2 TIP3 3925 10.740 0.541 -2.108 1.00 0.00 U ATOM 1371 H1 TIP3 3925 11.113 1.315 -2.529 1.00 0.00 U ATOM 1372 H2 TIP3 3925 9.796 0.702 -2.101 1.00 0.00 U ATOM 1373 OH2 TIP3 3933 -1.315 -2.984 -1.831 1.00 0.00 U ATOM 1374 H1 TIP3 3933 -1.464 -2.050 -1.684 1.00 0.00 U ATOM 1375 H2 TIP3 3933 -1.470 -3.389 -0.977 1.00 0.00 U ATOM 1376 OH2 TIP3 3935 -5.188 -7.743 13.341 1.00 0.00 U ATOM 1377 H1 TIP3 3935 -4.628 -7.892 12.579 1.00 0.00 U ATOM 1378 H2 TIP3 3935 -5.769 -8.504 13.364 1.00 0.00 U ATOM 1379 OH2 TIP3 3951 4.639 -7.714 -11.138 1.00 0.00 U ATOM 1380 H1 TIP3 3951 5.515 -7.359 -11.288 1.00 0.00 U ATOM 1381 H2 TIP3 3951 4.053 -7.108 -11.592 1.00 0.00 U ATOM 1382 OH2 TIP3 3977 9.765 -2.621 2.814 1.00 0.00 U ATOM 1383 H1 TIP3 3977 9.824 -1.665 2.820 1.00 0.00 U ATOM 1384 H2 TIP3 3977 10.093 -2.886 3.673 1.00 0.00 U ATOM 1385 OH2 TIP3 3991 -1.184 11.839 -4.945 1.00 0.00 U ATOM 1386 H1 TIP3 3991 -1.109 11.699 -4.001 1.00 0.00 U ATOM 1387 H2 TIP3 3991 -1.728 12.622 -5.028 1.00 0.00 U ATOM 1388 OH2 TIP3 3995 3.096 4.501 8.269 1.00 0.00 U ATOM 1389 H1 TIP3 3995 3.819 4.377 7.653 1.00 0.00 U ATOM 1390 H2 TIP3 3995 2.331 4.151 7.814 1.00 0.00 U ATOM 1391 OH2 TIP3 3996 8.398 7.480 -9.319 1.00 0.00 U ATOM 1392 H1 TIP3 3996 7.695 7.071 -9.824 1.00 0.00 U ATOM 1393 H2 TIP3 3996 8.036 8.324 -9.045 1.00 0.00 U ATOM 1394 OH2 TIP3 4009 -2.798 -0.967 5.046 1.00 0.00 U ATOM 1395 H1 TIP3 4009 -2.517 -0.421 4.312 1.00 0.00 U ATOM 1396 H2 TIP3 4009 -2.237 -0.699 5.774 1.00 0.00 U ATOM 1397 OH2 TIP3 4012 -2.226 -9.027 0.357 1.00 0.00 U ATOM 1398 H1 TIP3 4012 -1.759 -8.296 -0.049 1.00 0.00 U ATOM 1399 H2 TIP3 4012 -1.736 -9.804 0.089 1.00 0.00 U ATOM 1400 OH2 TIP3 4015 -10.404 11.064 6.284 1.00 0.00 U ATOM 1401 H1 TIP3 4015 -9.474 11.219 6.451 1.00 0.00 U ATOM 1402 H2 TIP3 4015 -10.850 11.799 6.706 1.00 0.00 U ATOM 1403 OH2 TIP3 4017 9.194 -10.738 -5.897 1.00 0.00 U ATOM 1404 H1 TIP3 4017 8.792 -11.563 -6.172 1.00 0.00 U ATOM 1405 H2 TIP3 4017 8.459 -10.202 -5.599 1.00 0.00 U ATOM 1406 OH2 TIP3 4035 -6.719 11.361 12.714 1.00 0.00 U ATOM 1407 H1 TIP3 4035 -7.228 11.649 13.472 1.00 0.00 U ATOM 1408 H2 TIP3 4035 -6.653 10.412 12.816 1.00 0.00 U ATOM 1409 OH2 TIP3 4036 5.340 -11.304 -6.332 1.00 0.00 U ATOM 1410 H1 TIP3 4036 5.085 -10.628 -5.704 1.00 0.00 U ATOM 1411 H2 TIP3 4036 5.680 -12.017 -5.791 1.00 0.00 U ATOM 1412 OH2 TIP3 4037 0.110 -9.323 7.975 1.00 0.00 U ATOM 1413 H1 TIP3 4037 -0.744 -9.715 8.155 1.00 0.00 U ATOM 1414 H2 TIP3 4037 0.733 -9.883 8.438 1.00 0.00 U ATOM 1415 OH2 TIP3 4039 3.552 -7.142 4.339 1.00 0.00 U ATOM 1416 H1 TIP3 4039 4.008 -6.422 3.903 1.00 0.00 U ATOM 1417 H2 TIP3 4039 4.229 -7.803 4.481 1.00 0.00 U ATOM 1418 OH2 TIP3 4055 10.907 -0.136 2.905 1.00 0.00 U ATOM 1419 H1 TIP3 4055 11.169 -0.203 3.823 1.00 0.00 U ATOM 1420 H2 TIP3 4055 10.579 0.759 2.814 1.00 0.00 U ATOM 1421 OH2 TIP3 4059 14.969 0.812 -7.748 1.00 0.00 U ATOM 1422 H1 TIP3 4059 14.689 1.717 -7.612 1.00 0.00 U ATOM 1423 H2 TIP3 4059 15.562 0.854 -8.498 1.00 0.00 U ATOM 1424 OH2 TIP3 4074 10.958 -9.662 8.917 1.00 0.00 U ATOM 1425 H1 TIP3 4074 10.113 -9.215 8.968 1.00 0.00 U ATOM 1426 H2 TIP3 4074 10.799 -10.521 9.308 1.00 0.00 U ATOM 1427 OH2 TIP3 4076 0.131 -0.584 9.496 1.00 0.00 U ATOM 1428 H1 TIP3 4076 0.702 0.062 9.911 1.00 0.00 U ATOM 1429 H2 TIP3 4076 -0.007 -1.250 10.169 1.00 0.00 U ATOM 1430 OH2 TIP3 4077 15.264 2.288 4.044 1.00 0.00 U ATOM 1431 H1 TIP3 4077 14.827 1.440 4.135 1.00 0.00 U ATOM 1432 H2 TIP3 4077 16.196 2.087 4.126 1.00 0.00 U ATOM 1433 OH2 TIP3 4079 0.293 11.591 2.051 1.00 0.00 U ATOM 1434 H1 TIP3 4079 1.011 11.151 1.596 1.00 0.00 U ATOM 1435 H2 TIP3 4079 0.683 11.906 2.867 1.00 0.00 U ATOM 1436 OH2 TIP3 4081 -9.623 -1.389 12.133 1.00 0.00 U ATOM 1437 H1 TIP3 4081 -10.004 -2.267 12.145 1.00 0.00 U ATOM 1438 H2 TIP3 4081 -9.940 -0.979 12.938 1.00 0.00 U ATOM 1439 OH2 TIP3 4083 14.614 -0.291 3.092 1.00 0.00 U ATOM 1440 H1 TIP3 4083 14.588 -0.270 2.135 1.00 0.00 U ATOM 1441 H2 TIP3 4083 13.896 -0.874 3.338 1.00 0.00 U ATOM 1442 OH2 TIP3 4104 10.870 13.295 4.677 1.00 0.00 U ATOM 1443 H1 TIP3 4104 10.972 13.962 5.356 1.00 0.00 U ATOM 1444 H2 TIP3 4104 11.758 13.144 4.353 1.00 0.00 U ATOM 1445 OH2 TIP3 4138 3.205 7.872 -10.566 1.00 0.00 U ATOM 1446 H1 TIP3 4138 3.346 8.806 -10.410 1.00 0.00 U ATOM 1447 H2 TIP3 4138 2.820 7.830 -11.441 1.00 0.00 U ATOM 1448 OH2 TIP3 4139 6.515 -0.929 6.149 1.00 0.00 U ATOM 1449 H1 TIP3 4139 6.069 -0.238 5.660 1.00 0.00 U ATOM 1450 H2 TIP3 4139 6.188 -0.839 7.044 1.00 0.00 U ATOM 1451 OH2 TIP3 4141 11.344 -8.026 -9.665 1.00 0.00 U ATOM 1452 H1 TIP3 4141 12.080 -8.635 -9.612 1.00 0.00 U ATOM 1453 H2 TIP3 4141 11.743 -7.160 -9.587 1.00 0.00 U ATOM 1454 OH2 TIP3 4143 -0.560 9.696 0.133 1.00 0.00 U ATOM 1455 H1 TIP3 4143 -0.678 10.556 0.537 1.00 0.00 U ATOM 1456 H2 TIP3 4143 -1.297 9.177 0.455 1.00 0.00 U ATOM 1457 OH2 TIP3 4179 5.121 -0.922 11.874 1.00 0.00 U ATOM 1458 H1 TIP3 4179 4.411 -0.540 12.391 1.00 0.00 U ATOM 1459 H2 TIP3 4179 4.849 -0.797 10.964 1.00 0.00 U ATOM 1460 OH2 TIP3 4184 16.428 -0.782 -6.094 1.00 0.00 U ATOM 1461 H1 TIP3 4184 15.612 -0.529 -6.525 1.00 0.00 U ATOM 1462 H2 TIP3 4184 16.334 -1.720 -5.933 1.00 0.00 U ATOM 1463 OH2 TIP3 4202 1.623 7.879 5.561 1.00 0.00 U ATOM 1464 H1 TIP3 4202 2.236 7.621 6.250 1.00 0.00 U ATOM 1465 H2 TIP3 4202 2.166 7.964 4.777 1.00 0.00 U ATOM 1466 OH2 TIP3 4356 15.307 -2.795 -11.516 1.00 0.00 U ATOM 1467 H1 TIP3 4356 14.437 -2.713 -11.908 1.00 0.00 U ATOM 1468 H2 TIP3 4356 15.586 -3.684 -11.736 1.00 0.00 U ATOM 1469 OH2 TIP3 4380 0.707 -3.130 -4.045 1.00 0.00 U ATOM 1470 H1 TIP3 4380 0.719 -3.879 -4.640 1.00 0.00 U ATOM 1471 H2 TIP3 4380 0.280 -3.458 -3.254 1.00 0.00 U ATOM 1472 OH2 TIP3 4394 -6.352 -0.130 1.375 1.00 0.00 U ATOM 1473 H1 TIP3 4394 -6.255 -0.003 0.431 1.00 0.00 U ATOM 1474 H2 TIP3 4394 -7.290 -0.032 1.535 1.00 0.00 U ATOM 1475 OH2 TIP3 4417 12.049 -6.889 1.294 1.00 0.00 U ATOM 1476 H1 TIP3 4417 12.857 -6.385 1.197 1.00 0.00 U ATOM 1477 H2 TIP3 4417 11.372 -6.230 1.450 1.00 0.00 U ATOM 1478 OH2 TIP3 4419 -0.114 -11.783 -5.741 1.00 0.00 U ATOM 1479 H1 TIP3 4419 -0.045 -11.405 -4.864 1.00 0.00 U ATOM 1480 H2 TIP3 4419 0.793 -11.918 -6.016 1.00 0.00 U ATOM 1481 OH2 TIP3 4455 -10.328 -4.168 11.390 1.00 0.00 U ATOM 1482 H1 TIP3 4455 -9.748 -4.913 11.231 1.00 0.00 U ATOM 1483 H2 TIP3 4455 -10.799 -4.051 10.565 1.00 0.00 U ATOM 1484 OH2 TIP3 4480 11.466 4.656 3.591 1.00 0.00 U ATOM 1485 H1 TIP3 4480 12.102 4.146 4.093 1.00 0.00 U ATOM 1486 H2 TIP3 4480 11.992 5.314 3.137 1.00 0.00 U ATOM 1487 OH2 TIP3 4516 -8.429 3.821 0.723 1.00 0.00 U ATOM 1488 H1 TIP3 4516 -9.209 3.387 1.070 1.00 0.00 U ATOM 1489 H2 TIP3 4516 -8.721 4.707 0.510 1.00 0.00 U ATOM 1490 OH2 TIP3 4519 -3.319 14.264 0.640 1.00 0.00 U ATOM 1491 H1 TIP3 4519 -2.374 14.279 0.790 1.00 0.00 U ATOM 1492 H2 TIP3 4519 -3.599 13.405 0.957 1.00 0.00 U ATOM 1493 OH2 TIP3 4523 0.744 -3.026 6.558 1.00 0.00 U ATOM 1494 H1 TIP3 4523 1.348 -3.730 6.324 1.00 0.00 U ATOM 1495 H2 TIP3 4523 0.081 -3.450 7.103 1.00 0.00 U ATOM 1496 OH2 TIP3 4537 -8.398 14.391 3.838 1.00 0.00 U ATOM 1497 H1 TIP3 4537 -8.750 14.258 4.718 1.00 0.00 U ATOM 1498 H2 TIP3 4537 -7.449 14.340 3.948 1.00 0.00 U ATOM 1499 OH2 TIP3 4553 2.321 -0.525 -6.218 1.00 0.00 U ATOM 1500 H1 TIP3 4553 2.829 -1.260 -5.875 1.00 0.00 U ATOM 1501 H2 TIP3 4553 1.854 -0.886 -6.971 1.00 0.00 U ATOM 1502 OH2 TIP3 4559 8.444 -8.344 -1.420 1.00 0.00 U ATOM 1503 H1 TIP3 4559 8.610 -9.260 -1.198 1.00 0.00 U ATOM 1504 H2 TIP3 4559 7.807 -8.051 -0.768 1.00 0.00 U ATOM 1505 OH2 TIP3 4578 -6.004 7.187 3.202 1.00 0.00 U ATOM 1506 H1 TIP3 4578 -6.546 7.976 3.175 1.00 0.00 U ATOM 1507 H2 TIP3 4578 -6.567 6.497 2.852 1.00 0.00 U ATOM 1508 OH2 TIP3 4582 1.754 9.178 -1.069 1.00 0.00 U ATOM 1509 H1 TIP3 4582 1.036 9.251 -0.441 1.00 0.00 U ATOM 1510 H2 TIP3 4582 2.379 8.585 -0.651 1.00 0.00 U ATOM 1511 OH2 TIP3 4588 4.035 10.078 -5.768 1.00 0.00 U ATOM 1512 H1 TIP3 4588 3.453 10.451 -5.106 1.00 0.00 U ATOM 1513 H2 TIP3 4588 3.456 9.854 -6.497 1.00 0.00 U ATOM 1514 OH2 TIP3 4606 -3.688 -7.282 10.811 1.00 0.00 U ATOM 1515 H1 TIP3 4606 -4.407 -7.169 10.190 1.00 0.00 U ATOM 1516 H2 TIP3 4606 -3.522 -6.403 11.150 1.00 0.00 U ATOM 1517 OH2 TIP3 4625 -9.253 8.527 -5.351 1.00 0.00 U ATOM 1518 H1 TIP3 4625 -9.723 7.705 -5.209 1.00 0.00 U ATOM 1519 H2 TIP3 4625 -9.457 8.767 -6.255 1.00 0.00 U ATOM 1520 OH2 TIP3 4663 14.642 3.636 -7.239 1.00 0.00 U ATOM 1521 H1 TIP3 4663 13.730 3.587 -7.524 1.00 0.00 U ATOM 1522 H2 TIP3 4663 14.779 4.560 -7.028 1.00 0.00 U ATOM 1523 OH2 TIP3 4797 -5.403 6.000 12.837 1.00 0.00 U ATOM 1524 H1 TIP3 4797 -4.671 5.405 13.003 1.00 0.00 U ATOM 1525 H2 TIP3 4797 -5.889 5.590 12.122 1.00 0.00 U ATOM 1526 OH2 TIP3 4798 5.300 -11.395 -3.180 1.00 0.00 U ATOM 1527 H1 TIP3 4798 4.452 -11.629 -3.558 1.00 0.00 U ATOM 1528 H2 TIP3 4798 5.535 -10.572 -3.609 1.00 0.00 U ATOM 1529 OH2 TIP3 4809 6.667 9.655 -10.986 1.00 0.00 U ATOM 1530 H1 TIP3 4809 6.843 10.483 -10.538 1.00 0.00 U ATOM 1531 H2 TIP3 4809 7.531 9.334 -11.243 1.00 0.00 U ATOM 1532 OH2 TIP3 4835 -8.440 5.747 -6.663 1.00 0.00 U ATOM 1533 H1 TIP3 4835 -7.987 6.289 -7.310 1.00 0.00 U ATOM 1534 H2 TIP3 4835 -7.941 5.870 -5.856 1.00 0.00 U ATOM 1535 OH2 TIP3 4837 13.459 2.457 -11.341 1.00 0.00 U ATOM 1536 H1 TIP3 4837 12.920 1.680 -11.197 1.00 0.00 U ATOM 1537 H2 TIP3 4837 12.873 3.193 -11.165 1.00 0.00 U ATOM 1538 OH2 TIP3 4849 4.620 -6.393 -5.413 1.00 0.00 U ATOM 1539 H1 TIP3 4849 5.246 -6.046 -4.777 1.00 0.00 U ATOM 1540 H2 TIP3 4849 4.692 -5.805 -6.165 1.00 0.00 U ATOM 1541 OH2 TIP3 4856 0.428 -4.843 -0.235 1.00 0.00 U ATOM 1542 H1 TIP3 4856 0.704 -5.460 0.444 1.00 0.00 U ATOM 1543 H2 TIP3 4856 0.975 -4.070 -0.092 1.00 0.00 U ATOM 1544 OH2 TIP3 4857 -3.916 13.363 -1.942 1.00 0.00 U ATOM 1545 H1 TIP3 4857 -3.667 13.722 -1.090 1.00 0.00 U ATOM 1546 H2 TIP3 4857 -4.865 13.245 -1.884 1.00 0.00 U ATOM 1547 OH2 TIP3 4899 12.974 8.490 -11.227 1.00 0.00 U ATOM 1548 H1 TIP3 4899 12.028 8.611 -11.138 1.00 0.00 U ATOM 1549 H2 TIP3 4899 13.224 9.076 -11.942 1.00 0.00 U ATOM 1550 OH2 TIP3 4916 12.768 9.972 -3.189 1.00 0.00 U ATOM 1551 H1 TIP3 4916 13.628 9.555 -3.129 1.00 0.00 U ATOM 1552 H2 TIP3 4916 12.220 9.329 -3.638 1.00 0.00 U ATOM 1553 OH2 TIP3 4937 3.311 10.844 -3.045 1.00 0.00 U ATOM 1554 H1 TIP3 4937 2.716 10.229 -2.615 1.00 0.00 U ATOM 1555 H2 TIP3 4937 4.154 10.392 -3.057 1.00 0.00 U ATOM 1556 OH2 TIP3 4963 3.482 2.521 1.475 1.00 0.00 U ATOM 1557 H1 TIP3 4963 4.395 2.707 1.695 1.00 0.00 U ATOM 1558 H2 TIP3 4963 2.993 3.262 1.831 1.00 0.00 U ATOM 1559 OH2 TIP3 4978 -9.281 2.698 -10.056 1.00 0.00 U ATOM 1560 H1 TIP3 4978 -9.256 1.869 -9.578 1.00 0.00 U ATOM 1561 H2 TIP3 4978 -8.808 3.312 -9.495 1.00 0.00 U ATOM 1562 OH2 TIP3 4981 -2.649 -10.516 3.811 1.00 0.00 U ATOM 1563 H1 TIP3 4981 -2.602 -9.570 3.676 1.00 0.00 U ATOM 1564 H2 TIP3 4981 -1.753 -10.823 3.670 1.00 0.00 U ATOM 1565 OH2 TIP3 5234 5.259 -0.088 2.426 1.00 0.00 U ATOM 1566 H1 TIP3 5234 5.557 0.575 1.803 1.00 0.00 U ATOM 1567 H2 TIP3 5234 5.909 -0.788 2.360 1.00 0.00 U ATOM 1568 OH2 TIP3 5320 14.402 -3.626 -8.279 1.00 0.00 U ATOM 1569 H1 TIP3 5320 14.860 -3.445 -9.099 1.00 0.00 U ATOM 1570 H2 TIP3 5320 14.110 -4.533 -8.362 1.00 0.00 U ATOM 1571 OH2 TIP3 5341 -6.440 -7.173 -1.044 1.00 0.00 U ATOM 1572 H1 TIP3 5341 -6.828 -6.298 -1.001 1.00 0.00 U ATOM 1573 H2 TIP3 5341 -5.623 -7.050 -1.526 1.00 0.00 U ATOM 1574 OH2 TIP3 5355 12.943 -2.295 4.440 1.00 0.00 U ATOM 1575 H1 TIP3 5355 12.105 -2.692 4.677 1.00 0.00 U ATOM 1576 H2 TIP3 5355 13.598 -2.936 4.716 1.00 0.00 U ATOM 1577 OH2 TIP3 5356 13.800 -3.414 -1.319 1.00 0.00 U ATOM 1578 H1 TIP3 5356 13.096 -2.783 -1.470 1.00 0.00 U ATOM 1579 H2 TIP3 5356 14.247 -3.482 -2.163 1.00 0.00 U ATOM 1580 OH2 TIP3 5366 7.179 -11.202 12.381 1.00 0.00 U ATOM 1581 H1 TIP3 5366 6.975 -10.676 13.154 1.00 0.00 U ATOM 1582 H2 TIP3 5366 6.328 -11.384 11.983 1.00 0.00 U ATOM 1583 OH2 TIP3 5385 10.069 12.778 12.186 1.00 0.00 U ATOM 1584 H1 TIP3 5385 9.659 12.942 13.035 1.00 0.00 U ATOM 1585 H2 TIP3 5385 11.001 12.934 12.335 1.00 0.00 U ATOM 1586 OH2 TIP3 5393 -7.794 -7.671 2.264 1.00 0.00 U ATOM 1587 H1 TIP3 5393 -8.339 -7.309 1.566 1.00 0.00 U ATOM 1588 H2 TIP3 5393 -8.253 -8.464 2.541 1.00 0.00 U ATOM 1589 OH2 TIP3 5404 9.213 -11.434 10.470 1.00 0.00 U ATOM 1590 H1 TIP3 5404 9.178 -12.283 10.911 1.00 0.00 U ATOM 1591 H2 TIP3 5404 8.727 -10.844 11.047 1.00 0.00 U ATOM 1592 OH2 TIP3 5418 -7.225 -11.454 8.053 1.00 0.00 U ATOM 1593 H1 TIP3 5418 -6.771 -11.629 8.877 1.00 0.00 U ATOM 1594 H2 TIP3 5418 -6.528 -11.229 7.437 1.00 0.00 U ATOM 1595 OH2 TIP3 5463 -4.907 -1.473 6.601 1.00 0.00 U ATOM 1596 H1 TIP3 5463 -4.524 -1.227 7.443 1.00 0.00 U ATOM 1597 H2 TIP3 5463 -4.161 -1.526 6.005 1.00 0.00 U ATOM 1598 OH2 TIP3 5723 6.405 -7.711 12.728 1.00 0.00 U ATOM 1599 H1 TIP3 5723 5.924 -7.713 11.901 1.00 0.00 U ATOM 1600 H2 TIP3 5723 5.849 -8.207 13.330 1.00 0.00 U ATOM 1601 OH2 TIP3 5782 -2.654 4.502 0.949 1.00 0.00 U ATOM 1602 H1 TIP3 5782 -2.542 5.245 1.542 1.00 0.00 U ATOM 1603 H2 TIP3 5782 -3.592 4.485 0.759 1.00 0.00 U ATOM 1604 OH2 TIP3 5827 -8.527 2.094 -2.705 1.00 0.00 U ATOM 1605 H1 TIP3 5827 -9.283 2.620 -2.448 1.00 0.00 U ATOM 1606 H2 TIP3 5827 -8.475 1.408 -2.039 1.00 0.00 U ATOM 1607 OH2 TIP3 5899 7.289 0.840 -2.296 1.00 0.00 U ATOM 1608 H1 TIP3 5899 7.151 1.109 -3.204 1.00 0.00 U ATOM 1609 H2 TIP3 5899 8.077 1.312 -2.023 1.00 0.00 U ATOM 1610 OH2 TIP3 5901 -8.271 7.893 1.328 1.00 0.00 U ATOM 1611 H1 TIP3 5901 -8.391 8.320 2.176 1.00 0.00 U ATOM 1612 H2 TIP3 5901 -8.256 8.612 0.697 1.00 0.00 U ATOM 1613 OH2 TIP3 6158 13.113 12.727 -4.267 1.00 0.00 U ATOM 1614 H1 TIP3 6158 13.737 13.106 -3.648 1.00 0.00 U ATOM 1615 H2 TIP3 6158 13.083 11.798 -4.038 1.00 0.00 U ATOM 1616 OH2 TIP3 6240 10.103 10.196 -1.571 1.00 0.00 U ATOM 1617 H1 TIP3 6240 9.169 10.082 -1.748 1.00 0.00 U ATOM 1618 H2 TIP3 6240 10.540 9.750 -2.297 1.00 0.00 U ATOM 1619 OH2 TIP3 6325 15.201 14.706 -10.684 1.00 0.00 U ATOM 1620 H1 TIP3 6325 15.633 13.888 -10.929 1.00 0.00 U ATOM 1621 H2 TIP3 6325 15.187 14.692 -9.727 1.00 0.00 U ATOM 1622 OH2 TIP3 6671 7.988 13.151 -5.783 1.00 0.00 U ATOM 1623 H1 TIP3 6671 8.373 13.248 -4.912 1.00 0.00 U ATOM 1624 H2 TIP3 6671 7.267 12.534 -5.659 1.00 0.00 U ATOM 1625 OH2 TIP3 6684 8.561 7.523 0.794 1.00 0.00 U ATOM 1626 H1 TIP3 6684 7.869 7.880 1.350 1.00 0.00 U ATOM 1627 H2 TIP3 6684 9.330 8.056 0.994 1.00 0.00 U ATOM 1628 OH2 TIP3 6726 -8.332 10.247 10.301 1.00 0.00 U ATOM 1629 H1 TIP3 6726 -7.449 10.223 9.934 1.00 0.00 U ATOM 1630 H2 TIP3 6726 -8.278 10.881 11.016 1.00 0.00 U ATOM 1631 OH2 TIP3 7141 2.974 -3.296 13.239 1.00 0.00 U ATOM 1632 H1 TIP3 7141 3.145 -4.212 13.020 1.00 0.00 U ATOM 1633 H2 TIP3 7141 3.615 -2.803 12.727 1.00 0.00 U ATOM 1634 OH2 TIP3 7222 -5.902 10.368 8.941 1.00 0.00 U ATOM 1635 H1 TIP3 7222 -5.262 10.055 8.301 1.00 0.00 U ATOM 1636 H2 TIP3 7222 -5.586 11.237 9.190 1.00 0.00 U ATOM 1637 OH2 TIP3 7479 11.851 9.111 4.655 1.00 0.00 U ATOM 1638 H1 TIP3 7479 12.233 9.873 5.091 1.00 0.00 U ATOM 1639 H2 TIP3 7479 10.993 9.004 5.067 1.00 0.00 U ATOM 1640 OH2 TIP3 7510 6.679 1.166 -4.950 1.00 0.00 U ATOM 1641 H1 TIP3 7510 6.912 1.280 -5.872 1.00 0.00 U ATOM 1642 H2 TIP3 7510 6.018 0.474 -4.954 1.00 0.00 U ATOM 1643 OH2 TIP3 7563 -5.090 9.665 -10.937 1.00 0.00 U ATOM 1644 H1 TIP3 7563 -4.771 10.263 -11.612 1.00 0.00 U ATOM 1645 H2 TIP3 7563 -5.634 10.211 -10.370 1.00 0.00 U ATOM 1646 OH2 TIP3 7568 4.418 5.184 4.320 1.00 0.00 U ATOM 1647 H1 TIP3 7568 5.074 5.099 3.628 1.00 0.00 U ATOM 1648 H2 TIP3 7568 3.580 5.199 3.856 1.00 0.00 U ATOM 1649 OH2 TIP3 7605 15.347 13.397 -2.898 1.00 0.00 U ATOM 1650 H1 TIP3 7605 16.132 13.739 -2.470 1.00 0.00 U ATOM 1651 H2 TIP3 7605 15.520 12.462 -3.007 1.00 0.00 U ATOM 1652 OH2 TIP3 7630 11.338 -2.191 -2.218 1.00 0.00 U ATOM 1653 H1 TIP3 7630 11.218 -2.410 -1.294 1.00 0.00 U ATOM 1654 H2 TIP3 7630 10.802 -1.410 -2.351 1.00 0.00 U ATOM 1655 OH2 TIP3 7631 4.359 -0.860 -3.847 1.00 0.00 U ATOM 1656 H1 TIP3 7631 4.398 -1.566 -4.492 1.00 0.00 U ATOM 1657 H2 TIP3 7631 3.427 -0.653 -3.775 1.00 0.00 U ATOM 1658 OH2 TIP3 7647 -8.924 13.013 -12.435 1.00 0.00 U ATOM 1659 H1 TIP3 7647 -9.393 12.214 -12.190 1.00 0.00 U ATOM 1660 H2 TIP3 7647 -8.868 13.516 -11.622 1.00 0.00 U ATOM 1661 OH2 TIP3 7650 14.031 4.798 -0.408 1.00 0.00 U ATOM 1662 H1 TIP3 7650 13.162 4.800 -0.007 1.00 0.00 U ATOM 1663 H2 TIP3 7650 14.628 4.609 0.315 1.00 0.00 U ATOM 1664 OH2 TIP3 7707 2.311 10.467 11.309 1.00 0.00 U ATOM 1665 H1 TIP3 7707 1.840 9.654 11.124 1.00 0.00 U ATOM 1666 H2 TIP3 7707 3.028 10.479 10.676 1.00 0.00 U ATOM 1667 OH2 TIP3 7739 8.075 -6.964 3.760 1.00 0.00 U ATOM 1668 H1 TIP3 7739 7.614 -6.152 3.972 1.00 0.00 U ATOM 1669 H2 TIP3 7739 8.531 -6.774 2.940 1.00 0.00 U ATOM 1670 OH2 TIP3 7945 5.174 -8.585 1.823 1.00 0.00 U ATOM 1671 H1 TIP3 7945 5.163 -8.831 2.748 1.00 0.00 U ATOM 1672 H2 TIP3 7945 6.078 -8.737 1.546 1.00 0.00 U ATOM 1673 OH2 TIP3 7985 3.248 7.172 7.838 1.00 0.00 U ATOM 1674 H1 TIP3 7985 3.329 6.390 8.384 1.00 0.00 U ATOM 1675 H2 TIP3 7985 4.116 7.576 7.869 1.00 0.00 U ATOM 1676 OH2 TIP3 8023 6.491 -6.376 -0.633 1.00 0.00 U ATOM 1677 H1 TIP3 8023 6.935 -5.764 -1.221 1.00 0.00 U ATOM 1678 H2 TIP3 8023 6.088 -5.819 0.033 1.00 0.00 U ATOM 1679 OH2 TIP3 8024 7.278 8.947 -1.384 1.00 0.00 U ATOM 1680 H1 TIP3 8024 6.375 9.152 -1.141 1.00 0.00 U ATOM 1681 H2 TIP3 8024 7.632 8.484 -0.625 1.00 0.00 U ATOM 1682 OH2 TIP3 8029 9.630 7.928 6.008 1.00 0.00 U ATOM 1683 H1 TIP3 8029 9.035 7.271 6.370 1.00 0.00 U ATOM 1684 H2 TIP3 8029 9.869 8.474 6.757 1.00 0.00 U ATOM 1685 OH2 TIP3 8046 -8.475 9.964 -0.500 1.00 0.00 U ATOM 1686 H1 TIP3 8046 -8.549 9.695 -1.415 1.00 0.00 U ATOM 1687 H2 TIP3 8046 -9.105 10.679 -0.407 1.00 0.00 U ATOM 1688 OH2 TIP3 8064 -8.743 13.760 -1.806 1.00 0.00 U ATOM 1689 H1 TIP3 8064 -8.466 13.803 -0.891 1.00 0.00 U ATOM 1690 H2 TIP3 8064 -7.975 13.434 -2.275 1.00 0.00 U ATOM 1691 OH2 TIP3 8068 8.680 -4.608 -1.537 1.00 0.00 U ATOM 1692 H1 TIP3 8068 9.226 -4.431 -2.302 1.00 0.00 U ATOM 1693 H2 TIP3 8068 8.565 -3.754 -1.120 1.00 0.00 U ATOM 1694 OH2 TIP3 8174 -3.248 10.860 -0.494 1.00 0.00 U ATOM 1695 H1 TIP3 8174 -3.211 9.904 -0.528 1.00 0.00 U ATOM 1696 H2 TIP3 8174 -4.129 11.077 -0.800 1.00 0.00 U ATOM 1697 OH2 TIP3 8364 13.903 -8.300 7.359 1.00 0.00 U ATOM 1698 H1 TIP3 8364 13.717 -8.688 6.504 1.00 0.00 U ATOM 1699 H2 TIP3 8364 13.728 -7.366 7.242 1.00 0.00 U ATOM 1700 OH2 TIP3 8370 6.585 3.598 -3.215 1.00 0.00 U ATOM 1701 H1 TIP3 8370 7.480 3.261 -3.182 1.00 0.00 U ATOM 1702 H2 TIP3 8370 6.278 3.377 -4.094 1.00 0.00 U ATOM 1703 OH2 TIP3 8403 9.430 -1.512 8.780 1.00 0.00 U ATOM 1704 H1 TIP3 8403 9.425 -0.581 8.559 1.00 0.00 U ATOM 1705 H2 TIP3 8403 10.066 -1.587 9.491 1.00 0.00 U ATOM 1706 OH2 TIP3 8408 -2.753 -8.550 6.840 1.00 0.00 U ATOM 1707 H1 TIP3 8408 -3.626 -8.708 6.482 1.00 0.00 U ATOM 1708 H2 TIP3 8408 -2.464 -9.408 7.153 1.00 0.00 U ATOM 1709 OH2 TIP3 8411 9.467 11.147 -6.741 1.00 0.00 U ATOM 1710 H1 TIP3 8411 8.794 11.815 -6.613 1.00 0.00 U ATOM 1711 H2 TIP3 8411 10.084 11.542 -7.356 1.00 0.00 U ATOM 1712 OH2 TIP3 8425 -4.732 -10.355 -1.735 1.00 0.00 U ATOM 1713 H1 TIP3 8425 -4.206 -10.576 -0.966 1.00 0.00 U ATOM 1714 H2 TIP3 8425 -5.613 -10.212 -1.390 1.00 0.00 U ATOM 1715 OH2 TIP3 8441 -8.739 -6.514 10.737 1.00 0.00 U ATOM 1716 H1 TIP3 8441 -9.005 -6.962 9.933 1.00 0.00 U ATOM 1717 H2 TIP3 8441 -8.041 -5.920 10.460 1.00 0.00 U ATOM 1718 OH2 TIP3 8466 15.319 6.509 -6.692 1.00 0.00 U ATOM 1719 H1 TIP3 8466 16.180 6.404 -7.097 1.00 0.00 U ATOM 1720 H2 TIP3 8466 15.422 6.147 -5.812 1.00 0.00 U ATOM 1721 OH2 TIP3 8468 7.625 5.737 7.252 1.00 0.00 U ATOM 1722 H1 TIP3 8468 8.161 5.286 7.904 1.00 0.00 U ATOM 1723 H2 TIP3 8468 6.870 5.163 7.123 1.00 0.00 U ATOM 1724 OH2 TIP3 8491 5.937 -4.663 -12.880 1.00 0.00 U ATOM 1725 H1 TIP3 8491 5.433 -5.259 -13.434 1.00 0.00 U ATOM 1726 H2 TIP3 8491 6.430 -5.238 -12.295 1.00 0.00 U ATOM 1727 OH2 TIP3 8528 3.890 -9.244 8.445 1.00 0.00 U ATOM 1728 H1 TIP3 8528 3.917 -8.290 8.378 1.00 0.00 U ATOM 1729 H2 TIP3 8528 3.575 -9.536 7.589 1.00 0.00 U ATOM 1730 OH2 TIP3 8534 -2.455 -7.895 3.013 1.00 0.00 U ATOM 1731 H1 TIP3 8534 -2.017 -7.048 3.095 1.00 0.00 U ATOM 1732 H2 TIP3 8534 -2.009 -8.327 2.284 1.00 0.00 U ATOM 1733 OH2 TIP3 8536 0.060 5.800 -6.784 1.00 0.00 U ATOM 1734 H1 TIP3 8536 -0.026 6.511 -6.150 1.00 0.00 U ATOM 1735 H2 TIP3 8536 0.635 6.153 -7.464 1.00 0.00 U ATOM 1736 OH2 TIP3 8548 9.391 -5.608 1.205 1.00 0.00 U ATOM 1737 H1 TIP3 8548 9.451 -4.751 1.628 1.00 0.00 U ATOM 1738 H2 TIP3 8548 9.112 -5.415 0.310 1.00 0.00 U ATOM 1739 OH2 TIP3 8555 4.721 -4.940 3.156 1.00 0.00 U ATOM 1740 H1 TIP3 8555 4.489 -4.381 3.897 1.00 0.00 U ATOM 1741 H2 TIP3 8555 5.232 -4.374 2.578 1.00 0.00 U ATOM 1742 OH2 TIP3 8556 -3.369 6.219 8.768 1.00 0.00 U ATOM 1743 H1 TIP3 8556 -4.095 6.832 8.883 1.00 0.00 U ATOM 1744 H2 TIP3 8556 -3.670 5.616 8.088 1.00 0.00 U ATOM 1745 OH2 TIP3 8558 -3.281 -5.295 12.611 1.00 0.00 U ATOM 1746 H1 TIP3 8558 -3.878 -5.247 13.358 1.00 0.00 U ATOM 1747 H2 TIP3 8558 -2.426 -5.058 12.972 1.00 0.00 U ATOM 1748 OH2 TIP3 8574 -2.741 5.087 -11.880 1.00 0.00 U ATOM 1749 H1 TIP3 8574 -2.870 4.138 -11.887 1.00 0.00 U ATOM 1750 H2 TIP3 8574 -3.134 5.376 -11.056 1.00 0.00 U ATOM 1751 OH2 TIP3 8760 -0.729 13.752 -8.167 1.00 0.00 U ATOM 1752 H1 TIP3 8760 -1.658 13.690 -8.390 1.00 0.00 U ATOM 1753 H2 TIP3 8760 -0.718 13.884 -7.219 1.00 0.00 U ATOM 1754 OH2 TIP3 8780 1.820 12.158 8.282 1.00 0.00 U ATOM 1755 H1 TIP3 8780 1.660 11.249 8.029 1.00 0.00 U ATOM 1756 H2 TIP3 8780 2.773 12.233 8.319 1.00 0.00 U ATOM 1757 OH2 TIP3 8801 8.915 5.554 -12.423 1.00 0.00 U ATOM 1758 H1 TIP3 8801 9.567 5.885 -13.041 1.00 0.00 U ATOM 1759 H2 TIP3 8801 8.448 4.874 -12.909 1.00 0.00 U ATOM 1760 OH2 TIP3 8822 7.802 -1.870 -2.360 1.00 0.00 U ATOM 1761 H1 TIP3 8822 7.611 -1.059 -1.889 1.00 0.00 U ATOM 1762 H2 TIP3 8822 7.799 -1.618 -3.284 1.00 0.00 U ATOM 1763 OH2 TIP3 8829 8.232 -4.133 8.332 1.00 0.00 U ATOM 1764 H1 TIP3 8829 8.828 -3.466 8.673 1.00 0.00 U ATOM 1765 H2 TIP3 8829 7.604 -4.279 9.039 1.00 0.00 U ATOM 1766 OH2 TIP3 8843 15.903 -7.909 -11.614 1.00 0.00 U ATOM 1767 H1 TIP3 8843 16.756 -7.673 -11.977 1.00 0.00 U ATOM 1768 H2 TIP3 8843 15.340 -8.025 -12.379 1.00 0.00 U ATOM 1769 OH2 TIP3 8845 6.769 12.074 -9.245 1.00 0.00 U ATOM 1770 H1 TIP3 8845 5.833 12.091 -9.046 1.00 0.00 U ATOM 1771 H2 TIP3 8845 7.112 12.878 -8.853 1.00 0.00 U ATOM 1772 OH2 TIP3 8852 -1.532 -1.567 -6.581 1.00 0.00 U ATOM 1773 H1 TIP3 8852 -1.347 -1.899 -7.459 1.00 0.00 U ATOM 1774 H2 TIP3 8852 -1.148 -0.690 -6.570 1.00 0.00 U ATOM 1775 OH2 TIP3 8865 15.510 1.042 0.506 1.00 0.00 U ATOM 1776 H1 TIP3 8865 14.924 0.712 -0.175 1.00 0.00 U ATOM 1777 H2 TIP3 8865 16.379 1.024 0.105 1.00 0.00 U ATOM 1778 OH2 TIP3 8869 -8.663 1.461 4.995 1.00 0.00 U ATOM 1779 H1 TIP3 8869 -7.915 1.278 5.563 1.00 0.00 U ATOM 1780 H2 TIP3 8869 -8.544 2.372 4.728 1.00 0.00 U ATOM 1781 OH2 TIP3 8870 10.684 12.015 7.813 1.00 0.00 U ATOM 1782 H1 TIP3 8870 9.812 12.400 7.719 1.00 0.00 U ATOM 1783 H2 TIP3 8870 11.179 12.663 8.314 1.00 0.00 U ATOM 1784 OH2 TIP3 8887 5.216 -8.360 -1.859 1.00 0.00 U ATOM 1785 H1 TIP3 8887 5.828 -8.439 -2.591 1.00 0.00 U ATOM 1786 H2 TIP3 8887 5.597 -7.685 -1.298 1.00 0.00 U ATOM 1787 OH2 TIP3 8895 -0.484 -1.910 12.159 1.00 0.00 U ATOM 1788 H1 TIP3 8895 -0.531 -2.784 11.772 1.00 0.00 U ATOM 1789 H2 TIP3 8895 0.324 -1.919 12.674 1.00 0.00 U ATOM 1790 OH2 TIP3 8903 -6.131 -1.480 -1.501 1.00 0.00 U ATOM 1791 H1 TIP3 8903 -6.232 -1.930 -2.339 1.00 0.00 U ATOM 1792 H2 TIP3 8903 -5.638 -2.094 -0.957 1.00 0.00 U ATOM 1793 OH2 TIP3 8905 4.528 10.136 -12.876 1.00 0.00 U ATOM 1794 H1 TIP3 8905 4.645 9.613 -13.669 1.00 0.00 U ATOM 1795 H2 TIP3 8905 5.259 9.885 -12.312 1.00 0.00 U ATOM 1796 OH2 TIP3 8926 1.716 6.969 13.506 1.00 0.00 U ATOM 1797 H1 TIP3 8926 1.741 7.557 12.750 1.00 0.00 U ATOM 1798 H2 TIP3 8926 1.949 6.112 13.150 1.00 0.00 U ATOM 1799 OH2 TIP3 8931 -7.910 -4.699 -9.912 1.00 0.00 U ATOM 1800 H1 TIP3 8931 -7.313 -5.431 -9.758 1.00 0.00 U ATOM 1801 H2 TIP3 8931 -8.654 -5.089 -10.371 1.00 0.00 U ATOM 1802 OH2 TIP3 8935 14.105 9.099 -0.064 1.00 0.00 U ATOM 1803 H1 TIP3 8935 14.147 9.699 -0.808 1.00 0.00 U ATOM 1804 H2 TIP3 8935 14.416 9.616 0.679 1.00 0.00 U ATOM 1805 OH2 TIP3 8949 -8.435 0.097 -0.838 1.00 0.00 U ATOM 1806 H1 TIP3 8949 -9.202 -0.464 -0.723 1.00 0.00 U ATOM 1807 H2 TIP3 8949 -7.771 -0.479 -1.217 1.00 0.00 U ATOM 1808 OH2 TIP3 8952 -6.708 13.059 -3.384 1.00 0.00 U ATOM 1809 H1 TIP3 8952 -6.406 12.478 -4.082 1.00 0.00 U ATOM 1810 H2 TIP3 8952 -6.475 13.937 -3.684 1.00 0.00 U ATOM 1811 OH2 TIP3 8956 9.524 9.620 8.429 1.00 0.00 U ATOM 1812 H1 TIP3 8956 8.974 9.957 9.136 1.00 0.00 U ATOM 1813 H2 TIP3 8956 9.970 10.392 8.082 1.00 0.00 U ATOM 1814 OH2 TIP3 8970 -3.394 11.135 10.170 1.00 0.00 U ATOM 1815 H1 TIP3 8970 -3.942 11.793 10.597 1.00 0.00 U ATOM 1816 H2 TIP3 8970 -3.711 10.299 10.512 1.00 0.00 U ATOM 1817 OH2 TIP3 8973 11.283 -10.005 -0.638 1.00 0.00 U ATOM 1818 H1 TIP3 8973 12.086 -10.267 -1.087 1.00 0.00 U ATOM 1819 H2 TIP3 8973 10.943 -9.278 -1.159 1.00 0.00 U ATOM 1820 OH2 TIP3 8976 13.073 7.217 -3.931 1.00 0.00 U ATOM 1821 H1 TIP3 8976 12.413 7.016 -3.268 1.00 0.00 U ATOM 1822 H2 TIP3 8976 12.572 7.349 -4.736 1.00 0.00 U ATOM 1823 OH2 TIP3 8977 -2.385 -11.260 6.631 1.00 0.00 U ATOM 1824 H1 TIP3 8977 -1.874 -11.889 7.141 1.00 0.00 U ATOM 1825 H2 TIP3 8977 -2.263 -11.533 5.722 1.00 0.00 U ATOM 1826 OH2 TIP3 8988 -3.986 8.977 11.797 1.00 0.00 U ATOM 1827 H1 TIP3 8988 -4.911 8.734 11.768 1.00 0.00 U ATOM 1828 H2 TIP3 8988 -3.519 8.142 11.832 1.00 0.00 U ATOM 1829 OH2 TIP3 9082 0.425 -0.614 -10.613 1.00 0.00 U ATOM 1830 H1 TIP3 9082 0.116 -0.182 -9.817 1.00 0.00 U ATOM 1831 H2 TIP3 9082 0.029 -0.113 -11.326 1.00 0.00 U ATOM 1832 OH2 TIP3 9096 -1.576 8.276 8.665 1.00 0.00 U ATOM 1833 H1 TIP3 9096 -0.817 7.814 9.022 1.00 0.00 U ATOM 1834 H2 TIP3 9096 -2.301 7.660 8.766 1.00 0.00 U ATOM 1835 OH2 TIP3 9226 0.838 13.368 -10.301 1.00 0.00 U ATOM 1836 H1 TIP3 9226 0.441 12.547 -10.590 1.00 0.00 U ATOM 1837 H2 TIP3 9226 0.308 13.641 -9.552 1.00 0.00 U ATOM 1838 OH2 TIP3 9241 7.714 -12.039 -8.133 1.00 0.00 U ATOM 1839 H1 TIP3 9241 7.668 -12.559 -7.331 1.00 0.00 U ATOM 1840 H2 TIP3 9241 7.192 -11.259 -7.944 1.00 0.00 U ATOM 1841 OH2 TIP3 9250 3.019 0.484 8.187 1.00 0.00 U ATOM 1842 H1 TIP3 9250 2.624 0.580 9.054 1.00 0.00 U ATOM 1843 H2 TIP3 9250 2.399 0.905 7.592 1.00 0.00 U END protomol/examples/alanine_dipeptide_water_184x/alanine.equil.psf0100644027616700000500000054622610237151525024533 0ustar pbrenne1dipPSF 1 !NTITLE REMARKS original generated structure x-plor psf file 1843 !NATOM 1 U 1 ALA N NH3 -0.300000 14.0070 0 2 U 1 ALA HT1 HC 0.330000 1.0080 0 3 U 1 ALA HT2 HC 0.330000 1.0080 0 4 U 1 ALA HT3 HC 0.330000 1.0080 0 5 U 1 ALA CA CT1 0.210000 12.0110 0 6 U 1 ALA HA HB 0.100000 1.0080 0 7 U 1 ALA CB CT3 -0.270000 12.0110 0 8 U 1 ALA HB1 HA 0.090000 1.0080 0 9 U 1 ALA HB2 HA 0.090000 1.0080 0 10 U 1 ALA HB3 HA 0.090000 1.0080 0 11 U 1 ALA C C 0.510000 12.0110 0 12 U 1 ALA O O -0.510000 15.9990 0 13 U 2 ALA N NH1 -0.470000 14.0070 0 14 U 2 ALA HN H 0.310000 1.0080 0 15 U 2 ALA CA CT1 0.070000 12.0110 0 16 U 2 ALA HA HB 0.090000 1.0080 0 17 U 2 ALA CB CT3 -0.270000 12.0110 0 18 U 2 ALA HB1 HA 0.090000 1.0080 0 19 U 2 ALA HB2 HA 0.090000 1.0080 0 20 U 2 ALA HB3 HA 0.090000 1.0080 0 21 U 2 ALA C C 0.510000 12.0110 0 22 U 2 ALA O O -0.510000 15.9990 0 23 U 5 TIP3 OH2 OT -0.834000 15.9994 0 24 U 5 TIP3 H1 HT 0.417000 1.0080 0 25 U 5 TIP3 H2 HT 0.417000 1.0080 0 26 U 7 TIP3 OH2 OT -0.834000 15.9994 0 27 U 7 TIP3 H1 HT 0.417000 1.0080 0 28 U 7 TIP3 H2 HT 0.417000 1.0080 0 29 U 21 TIP3 OH2 OT -0.834000 15.9994 0 30 U 21 TIP3 H1 HT 0.417000 1.0080 0 31 U 21 TIP3 H2 HT 0.417000 1.0080 0 32 U 29 TIP3 OH2 OT -0.834000 15.9994 0 33 U 29 TIP3 H1 HT 0.417000 1.0080 0 34 U 29 TIP3 H2 HT 0.417000 1.0080 0 35 U 44 TIP3 OH2 OT -0.834000 15.9994 0 36 U 44 TIP3 H1 HT 0.417000 1.0080 0 37 U 44 TIP3 H2 HT 0.417000 1.0080 0 38 U 46 TIP3 OH2 OT -0.834000 15.9994 0 39 U 46 TIP3 H1 HT 0.417000 1.0080 0 40 U 46 TIP3 H2 HT 0.417000 1.0080 0 41 U 47 TIP3 OH2 OT -0.834000 15.9994 0 42 U 47 TIP3 H1 HT 0.417000 1.0080 0 43 U 47 TIP3 H2 HT 0.417000 1.0080 0 44 U 48 TIP3 OH2 OT -0.834000 15.9994 0 45 U 48 TIP3 H1 HT 0.417000 1.0080 0 46 U 48 TIP3 H2 HT 0.417000 1.0080 0 47 U 52 TIP3 OH2 OT -0.834000 15.9994 0 48 U 52 TIP3 H1 HT 0.417000 1.0080 0 49 U 52 TIP3 H2 HT 0.417000 1.0080 0 50 U 64 TIP3 OH2 OT -0.834000 15.9994 0 51 U 64 TIP3 H1 HT 0.417000 1.0080 0 52 U 64 TIP3 H2 HT 0.417000 1.0080 0 53 U 67 TIP3 OH2 OT -0.834000 15.9994 0 54 U 67 TIP3 H1 HT 0.417000 1.0080 0 55 U 67 TIP3 H2 HT 0.417000 1.0080 0 56 U 68 TIP3 OH2 OT -0.834000 15.9994 0 57 U 68 TIP3 H1 HT 0.417000 1.0080 0 58 U 68 TIP3 H2 HT 0.417000 1.0080 0 59 U 87 TIP3 OH2 OT -0.834000 15.9994 0 60 U 87 TIP3 H1 HT 0.417000 1.0080 0 61 U 87 TIP3 H2 HT 0.417000 1.0080 0 62 U 88 TIP3 OH2 OT -0.834000 15.9994 0 63 U 88 TIP3 H1 HT 0.417000 1.0080 0 64 U 88 TIP3 H2 HT 0.417000 1.0080 0 65 U 90 TIP3 OH2 OT -0.834000 15.9994 0 66 U 90 TIP3 H1 HT 0.417000 1.0080 0 67 U 90 TIP3 H2 HT 0.417000 1.0080 0 68 U 94 TIP3 OH2 OT -0.834000 15.9994 0 69 U 94 TIP3 H1 HT 0.417000 1.0080 0 70 U 94 TIP3 H2 HT 0.417000 1.0080 0 71 U 95 TIP3 OH2 OT -0.834000 15.9994 0 72 U 95 TIP3 H1 HT 0.417000 1.0080 0 73 U 95 TIP3 H2 HT 0.417000 1.0080 0 74 U 108 TIP3 OH2 OT -0.834000 15.9994 0 75 U 108 TIP3 H1 HT 0.417000 1.0080 0 76 U 108 TIP3 H2 HT 0.417000 1.0080 0 77 U 111 TIP3 OH2 OT -0.834000 15.9994 0 78 U 111 TIP3 H1 HT 0.417000 1.0080 0 79 U 111 TIP3 H2 HT 0.417000 1.0080 0 80 U 112 TIP3 OH2 OT -0.834000 15.9994 0 81 U 112 TIP3 H1 HT 0.417000 1.0080 0 82 U 112 TIP3 H2 HT 0.417000 1.0080 0 83 U 113 TIP3 OH2 OT -0.834000 15.9994 0 84 U 113 TIP3 H1 HT 0.417000 1.0080 0 85 U 113 TIP3 H2 HT 0.417000 1.0080 0 86 U 115 TIP3 OH2 OT -0.834000 15.9994 0 87 U 115 TIP3 H1 HT 0.417000 1.0080 0 88 U 115 TIP3 H2 HT 0.417000 1.0080 0 89 U 125 TIP3 OH2 OT -0.834000 15.9994 0 90 U 125 TIP3 H1 HT 0.417000 1.0080 0 91 U 125 TIP3 H2 HT 0.417000 1.0080 0 92 U 130 TIP3 OH2 OT -0.834000 15.9994 0 93 U 130 TIP3 H1 HT 0.417000 1.0080 0 94 U 130 TIP3 H2 HT 0.417000 1.0080 0 95 U 133 TIP3 OH2 OT -0.834000 15.9994 0 96 U 133 TIP3 H1 HT 0.417000 1.0080 0 97 U 133 TIP3 H2 HT 0.417000 1.0080 0 98 U 134 TIP3 OH2 OT -0.834000 15.9994 0 99 U 134 TIP3 H1 HT 0.417000 1.0080 0 100 U 134 TIP3 H2 HT 0.417000 1.0080 0 101 U 135 TIP3 OH2 OT -0.834000 15.9994 0 102 U 135 TIP3 H1 HT 0.417000 1.0080 0 103 U 135 TIP3 H2 HT 0.417000 1.0080 0 104 U 145 TIP3 OH2 OT -0.834000 15.9994 0 105 U 145 TIP3 H1 HT 0.417000 1.0080 0 106 U 145 TIP3 H2 HT 0.417000 1.0080 0 107 U 149 TIP3 OH2 OT -0.834000 15.9994 0 108 U 149 TIP3 H1 HT 0.417000 1.0080 0 109 U 149 TIP3 H2 HT 0.417000 1.0080 0 110 U 150 TIP3 OH2 OT -0.834000 15.9994 0 111 U 150 TIP3 H1 HT 0.417000 1.0080 0 112 U 150 TIP3 H2 HT 0.417000 1.0080 0 113 U 152 TIP3 OH2 OT -0.834000 15.9994 0 114 U 152 TIP3 H1 HT 0.417000 1.0080 0 115 U 152 TIP3 H2 HT 0.417000 1.0080 0 116 U 153 TIP3 OH2 OT -0.834000 15.9994 0 117 U 153 TIP3 H1 HT 0.417000 1.0080 0 118 U 153 TIP3 H2 HT 0.417000 1.0080 0 119 U 167 TIP3 OH2 OT -0.834000 15.9994 0 120 U 167 TIP3 H1 HT 0.417000 1.0080 0 121 U 167 TIP3 H2 HT 0.417000 1.0080 0 122 U 239 TIP3 OH2 OT -0.834000 15.9994 0 123 U 239 TIP3 H1 HT 0.417000 1.0080 0 124 U 239 TIP3 H2 HT 0.417000 1.0080 0 125 U 261 TIP3 OH2 OT -0.834000 15.9994 0 126 U 261 TIP3 H1 HT 0.417000 1.0080 0 127 U 261 TIP3 H2 HT 0.417000 1.0080 0 128 U 424 TIP3 OH2 OT -0.834000 15.9994 0 129 U 424 TIP3 H1 HT 0.417000 1.0080 0 130 U 424 TIP3 H2 HT 0.417000 1.0080 0 131 U 450 TIP3 OH2 OT -0.834000 15.9994 0 132 U 450 TIP3 H1 HT 0.417000 1.0080 0 133 U 450 TIP3 H2 HT 0.417000 1.0080 0 134 U 465 TIP3 OH2 OT -0.834000 15.9994 0 135 U 465 TIP3 H1 HT 0.417000 1.0080 0 136 U 465 TIP3 H2 HT 0.417000 1.0080 0 137 U 466 TIP3 OH2 OT -0.834000 15.9994 0 138 U 466 TIP3 H1 HT 0.417000 1.0080 0 139 U 466 TIP3 H2 HT 0.417000 1.0080 0 140 U 484 TIP3 OH2 OT -0.834000 15.9994 0 141 U 484 TIP3 H1 HT 0.417000 1.0080 0 142 U 484 TIP3 H2 HT 0.417000 1.0080 0 143 U 485 TIP3 OH2 OT -0.834000 15.9994 0 144 U 485 TIP3 H1 HT 0.417000 1.0080 0 145 U 485 TIP3 H2 HT 0.417000 1.0080 0 146 U 486 TIP3 OH2 OT -0.834000 15.9994 0 147 U 486 TIP3 H1 HT 0.417000 1.0080 0 148 U 486 TIP3 H2 HT 0.417000 1.0080 0 149 U 489 TIP3 OH2 OT -0.834000 15.9994 0 150 U 489 TIP3 H1 HT 0.417000 1.0080 0 151 U 489 TIP3 H2 HT 0.417000 1.0080 0 152 U 495 TIP3 OH2 OT -0.834000 15.9994 0 153 U 495 TIP3 H1 HT 0.417000 1.0080 0 154 U 495 TIP3 H2 HT 0.417000 1.0080 0 155 U 503 TIP3 OH2 OT -0.834000 15.9994 0 156 U 503 TIP3 H1 HT 0.417000 1.0080 0 157 U 503 TIP3 H2 HT 0.417000 1.0080 0 158 U 506 TIP3 OH2 OT -0.834000 15.9994 0 159 U 506 TIP3 H1 HT 0.417000 1.0080 0 160 U 506 TIP3 H2 HT 0.417000 1.0080 0 161 U 507 TIP3 OH2 OT -0.834000 15.9994 0 162 U 507 TIP3 H1 HT 0.417000 1.0080 0 163 U 507 TIP3 H2 HT 0.417000 1.0080 0 164 U 509 TIP3 OH2 OT -0.834000 15.9994 0 165 U 509 TIP3 H1 HT 0.417000 1.0080 0 166 U 509 TIP3 H2 HT 0.417000 1.0080 0 167 U 511 TIP3 OH2 OT -0.834000 15.9994 0 168 U 511 TIP3 H1 HT 0.417000 1.0080 0 169 U 511 TIP3 H2 HT 0.417000 1.0080 0 170 U 512 TIP3 OH2 OT -0.834000 15.9994 0 171 U 512 TIP3 H1 HT 0.417000 1.0080 0 172 U 512 TIP3 H2 HT 0.417000 1.0080 0 173 U 515 TIP3 OH2 OT -0.834000 15.9994 0 174 U 515 TIP3 H1 HT 0.417000 1.0080 0 175 U 515 TIP3 H2 HT 0.417000 1.0080 0 176 U 517 TIP3 OH2 OT -0.834000 15.9994 0 177 U 517 TIP3 H1 HT 0.417000 1.0080 0 178 U 517 TIP3 H2 HT 0.417000 1.0080 0 179 U 528 TIP3 OH2 OT -0.834000 15.9994 0 180 U 528 TIP3 H1 HT 0.417000 1.0080 0 181 U 528 TIP3 H2 HT 0.417000 1.0080 0 182 U 533 TIP3 OH2 OT -0.834000 15.9994 0 183 U 533 TIP3 H1 HT 0.417000 1.0080 0 184 U 533 TIP3 H2 HT 0.417000 1.0080 0 185 U 534 TIP3 OH2 OT -0.834000 15.9994 0 186 U 534 TIP3 H1 HT 0.417000 1.0080 0 187 U 534 TIP3 H2 HT 0.417000 1.0080 0 188 U 535 TIP3 OH2 OT -0.834000 15.9994 0 189 U 535 TIP3 H1 HT 0.417000 1.0080 0 190 U 535 TIP3 H2 HT 0.417000 1.0080 0 191 U 543 TIP3 OH2 OT -0.834000 15.9994 0 192 U 543 TIP3 H1 HT 0.417000 1.0080 0 193 U 543 TIP3 H2 HT 0.417000 1.0080 0 194 U 549 TIP3 OH2 OT -0.834000 15.9994 0 195 U 549 TIP3 H1 HT 0.417000 1.0080 0 196 U 549 TIP3 H2 HT 0.417000 1.0080 0 197 U 550 TIP3 OH2 OT -0.834000 15.9994 0 198 U 550 TIP3 H1 HT 0.417000 1.0080 0 199 U 550 TIP3 H2 HT 0.417000 1.0080 0 200 U 551 TIP3 OH2 OT -0.834000 15.9994 0 201 U 551 TIP3 H1 HT 0.417000 1.0080 0 202 U 551 TIP3 H2 HT 0.417000 1.0080 0 203 U 554 TIP3 OH2 OT -0.834000 15.9994 0 204 U 554 TIP3 H1 HT 0.417000 1.0080 0 205 U 554 TIP3 H2 HT 0.417000 1.0080 0 206 U 558 TIP3 OH2 OT -0.834000 15.9994 0 207 U 558 TIP3 H1 HT 0.417000 1.0080 0 208 U 558 TIP3 H2 HT 0.417000 1.0080 0 209 U 562 TIP3 OH2 OT -0.834000 15.9994 0 210 U 562 TIP3 H1 HT 0.417000 1.0080 0 211 U 562 TIP3 H2 HT 0.417000 1.0080 0 212 U 568 TIP3 OH2 OT -0.834000 15.9994 0 213 U 568 TIP3 H1 HT 0.417000 1.0080 0 214 U 568 TIP3 H2 HT 0.417000 1.0080 0 215 U 575 TIP3 OH2 OT -0.834000 15.9994 0 216 U 575 TIP3 H1 HT 0.417000 1.0080 0 217 U 575 TIP3 H2 HT 0.417000 1.0080 0 218 U 576 TIP3 OH2 OT -0.834000 15.9994 0 219 U 576 TIP3 H1 HT 0.417000 1.0080 0 220 U 576 TIP3 H2 HT 0.417000 1.0080 0 221 U 584 TIP3 OH2 OT -0.834000 15.9994 0 222 U 584 TIP3 H1 HT 0.417000 1.0080 0 223 U 584 TIP3 H2 HT 0.417000 1.0080 0 224 U 592 TIP3 OH2 OT -0.834000 15.9994 0 225 U 592 TIP3 H1 HT 0.417000 1.0080 0 226 U 592 TIP3 H2 HT 0.417000 1.0080 0 227 U 593 TIP3 OH2 OT -0.834000 15.9994 0 228 U 593 TIP3 H1 HT 0.417000 1.0080 0 229 U 593 TIP3 H2 HT 0.417000 1.0080 0 230 U 594 TIP3 OH2 OT -0.834000 15.9994 0 231 U 594 TIP3 H1 HT 0.417000 1.0080 0 232 U 594 TIP3 H2 HT 0.417000 1.0080 0 233 U 595 TIP3 OH2 OT -0.834000 15.9994 0 234 U 595 TIP3 H1 HT 0.417000 1.0080 0 235 U 595 TIP3 H2 HT 0.417000 1.0080 0 236 U 612 TIP3 OH2 OT -0.834000 15.9994 0 237 U 612 TIP3 H1 HT 0.417000 1.0080 0 238 U 612 TIP3 H2 HT 0.417000 1.0080 0 239 U 613 TIP3 OH2 OT -0.834000 15.9994 0 240 U 613 TIP3 H1 HT 0.417000 1.0080 0 241 U 613 TIP3 H2 HT 0.417000 1.0080 0 242 U 632 TIP3 OH2 OT -0.834000 15.9994 0 243 U 632 TIP3 H1 HT 0.417000 1.0080 0 244 U 632 TIP3 H2 HT 0.417000 1.0080 0 245 U 634 TIP3 OH2 OT -0.834000 15.9994 0 246 U 634 TIP3 H1 HT 0.417000 1.0080 0 247 U 634 TIP3 H2 HT 0.417000 1.0080 0 248 U 635 TIP3 OH2 OT -0.834000 15.9994 0 249 U 635 TIP3 H1 HT 0.417000 1.0080 0 250 U 635 TIP3 H2 HT 0.417000 1.0080 0 251 U 638 TIP3 OH2 OT -0.834000 15.9994 0 252 U 638 TIP3 H1 HT 0.417000 1.0080 0 253 U 638 TIP3 H2 HT 0.417000 1.0080 0 254 U 640 TIP3 OH2 OT -0.834000 15.9994 0 255 U 640 TIP3 H1 HT 0.417000 1.0080 0 256 U 640 TIP3 H2 HT 0.417000 1.0080 0 257 U 659 TIP3 OH2 OT -0.834000 15.9994 0 258 U 659 TIP3 H1 HT 0.417000 1.0080 0 259 U 659 TIP3 H2 HT 0.417000 1.0080 0 260 U 822 TIP3 OH2 OT -0.834000 15.9994 0 261 U 822 TIP3 H1 HT 0.417000 1.0080 0 262 U 822 TIP3 H2 HT 0.417000 1.0080 0 263 U 849 TIP3 OH2 OT -0.834000 15.9994 0 264 U 849 TIP3 H1 HT 0.417000 1.0080 0 265 U 849 TIP3 H2 HT 0.417000 1.0080 0 266 U 867 TIP3 OH2 OT -0.834000 15.9994 0 267 U 867 TIP3 H1 HT 0.417000 1.0080 0 268 U 867 TIP3 H2 HT 0.417000 1.0080 0 269 U 887 TIP3 OH2 OT -0.834000 15.9994 0 270 U 887 TIP3 H1 HT 0.417000 1.0080 0 271 U 887 TIP3 H2 HT 0.417000 1.0080 0 272 U 889 TIP3 OH2 OT -0.834000 15.9994 0 273 U 889 TIP3 H1 HT 0.417000 1.0080 0 274 U 889 TIP3 H2 HT 0.417000 1.0080 0 275 U 891 TIP3 OH2 OT -0.834000 15.9994 0 276 U 891 TIP3 H1 HT 0.417000 1.0080 0 277 U 891 TIP3 H2 HT 0.417000 1.0080 0 278 U 906 TIP3 OH2 OT -0.834000 15.9994 0 279 U 906 TIP3 H1 HT 0.417000 1.0080 0 280 U 906 TIP3 H2 HT 0.417000 1.0080 0 281 U 907 TIP3 OH2 OT -0.834000 15.9994 0 282 U 907 TIP3 H1 HT 0.417000 1.0080 0 283 U 907 TIP3 H2 HT 0.417000 1.0080 0 284 U 908 TIP3 OH2 OT -0.834000 15.9994 0 285 U 908 TIP3 H1 HT 0.417000 1.0080 0 286 U 908 TIP3 H2 HT 0.417000 1.0080 0 287 U 912 TIP3 OH2 OT -0.834000 15.9994 0 288 U 912 TIP3 H1 HT 0.417000 1.0080 0 289 U 912 TIP3 H2 HT 0.417000 1.0080 0 290 U 924 TIP3 OH2 OT -0.834000 15.9994 0 291 U 924 TIP3 H1 HT 0.417000 1.0080 0 292 U 924 TIP3 H2 HT 0.417000 1.0080 0 293 U 927 TIP3 OH2 OT -0.834000 15.9994 0 294 U 927 TIP3 H1 HT 0.417000 1.0080 0 295 U 927 TIP3 H2 HT 0.417000 1.0080 0 296 U 928 TIP3 OH2 OT -0.834000 15.9994 0 297 U 928 TIP3 H1 HT 0.417000 1.0080 0 298 U 928 TIP3 H2 HT 0.417000 1.0080 0 299 U 929 TIP3 OH2 OT -0.834000 15.9994 0 300 U 929 TIP3 H1 HT 0.417000 1.0080 0 301 U 929 TIP3 H2 HT 0.417000 1.0080 0 302 U 930 TIP3 OH2 OT -0.834000 15.9994 0 303 U 930 TIP3 H1 HT 0.417000 1.0080 0 304 U 930 TIP3 H2 HT 0.417000 1.0080 0 305 U 932 TIP3 OH2 OT -0.834000 15.9994 0 306 U 932 TIP3 H1 HT 0.417000 1.0080 0 307 U 932 TIP3 H2 HT 0.417000 1.0080 0 308 U 933 TIP3 OH2 OT -0.834000 15.9994 0 309 U 933 TIP3 H1 HT 0.417000 1.0080 0 310 U 933 TIP3 H2 HT 0.417000 1.0080 0 311 U 942 TIP3 OH2 OT -0.834000 15.9994 0 312 U 942 TIP3 H1 HT 0.417000 1.0080 0 313 U 942 TIP3 H2 HT 0.417000 1.0080 0 314 U 947 TIP3 OH2 OT -0.834000 15.9994 0 315 U 947 TIP3 H1 HT 0.417000 1.0080 0 316 U 947 TIP3 H2 HT 0.417000 1.0080 0 317 U 948 TIP3 OH2 OT -0.834000 15.9994 0 318 U 948 TIP3 H1 HT 0.417000 1.0080 0 319 U 948 TIP3 H2 HT 0.417000 1.0080 0 320 U 949 TIP3 OH2 OT -0.834000 15.9994 0 321 U 949 TIP3 H1 HT 0.417000 1.0080 0 322 U 949 TIP3 H2 HT 0.417000 1.0080 0 323 U 950 TIP3 OH2 OT -0.834000 15.9994 0 324 U 950 TIP3 H1 HT 0.417000 1.0080 0 325 U 950 TIP3 H2 HT 0.417000 1.0080 0 326 U 953 TIP3 OH2 OT -0.834000 15.9994 0 327 U 953 TIP3 H1 HT 0.417000 1.0080 0 328 U 953 TIP3 H2 HT 0.417000 1.0080 0 329 U 964 TIP3 OH2 OT -0.834000 15.9994 0 330 U 964 TIP3 H1 HT 0.417000 1.0080 0 331 U 964 TIP3 H2 HT 0.417000 1.0080 0 332 U 970 TIP3 OH2 OT -0.834000 15.9994 0 333 U 970 TIP3 H1 HT 0.417000 1.0080 0 334 U 970 TIP3 H2 HT 0.417000 1.0080 0 335 U 973 TIP3 OH2 OT -0.834000 15.9994 0 336 U 973 TIP3 H1 HT 0.417000 1.0080 0 337 U 973 TIP3 H2 HT 0.417000 1.0080 0 338 U 974 TIP3 OH2 OT -0.834000 15.9994 0 339 U 974 TIP3 H1 HT 0.417000 1.0080 0 340 U 974 TIP3 H2 HT 0.417000 1.0080 0 341 U 975 TIP3 OH2 OT -0.834000 15.9994 0 342 U 975 TIP3 H1 HT 0.417000 1.0080 0 343 U 975 TIP3 H2 HT 0.417000 1.0080 0 344 U 977 TIP3 OH2 OT -0.834000 15.9994 0 345 U 977 TIP3 H1 HT 0.417000 1.0080 0 346 U 977 TIP3 H2 HT 0.417000 1.0080 0 347 U 988 TIP3 OH2 OT -0.834000 15.9994 0 348 U 988 TIP3 H1 HT 0.417000 1.0080 0 349 U 988 TIP3 H2 HT 0.417000 1.0080 0 350 U 992 TIP3 OH2 OT -0.834000 15.9994 0 351 U 992 TIP3 H1 HT 0.417000 1.0080 0 352 U 992 TIP3 H2 HT 0.417000 1.0080 0 353 U 995 TIP3 OH2 OT -0.834000 15.9994 0 354 U 995 TIP3 H1 HT 0.417000 1.0080 0 355 U 995 TIP3 H2 HT 0.417000 1.0080 0 356 U 996 TIP3 OH2 OT -0.834000 15.9994 0 357 U 996 TIP3 H1 HT 0.417000 1.0080 0 358 U 996 TIP3 H2 HT 0.417000 1.0080 0 359 U 1007 TIP3 OH2 OT -0.834000 15.9994 0 360 U 1007 TIP3 H1 HT 0.417000 1.0080 0 361 U 1007 TIP3 H2 HT 0.417000 1.0080 0 362 U 1011 TIP3 OH2 OT -0.834000 15.9994 0 363 U 1011 TIP3 H1 HT 0.417000 1.0080 0 364 U 1011 TIP3 H2 HT 0.417000 1.0080 0 365 U 1013 TIP3 OH2 OT -0.834000 15.9994 0 366 U 1013 TIP3 H1 HT 0.417000 1.0080 0 367 U 1013 TIP3 H2 HT 0.417000 1.0080 0 368 U 1014 TIP3 OH2 OT -0.834000 15.9994 0 369 U 1014 TIP3 H1 HT 0.417000 1.0080 0 370 U 1014 TIP3 H2 HT 0.417000 1.0080 0 371 U 1015 TIP3 OH2 OT -0.834000 15.9994 0 372 U 1015 TIP3 H1 HT 0.417000 1.0080 0 373 U 1015 TIP3 H2 HT 0.417000 1.0080 0 374 U 1017 TIP3 OH2 OT -0.834000 15.9994 0 375 U 1017 TIP3 H1 HT 0.417000 1.0080 0 376 U 1017 TIP3 H2 HT 0.417000 1.0080 0 377 U 1018 TIP3 OH2 OT -0.834000 15.9994 0 378 U 1018 TIP3 H1 HT 0.417000 1.0080 0 379 U 1018 TIP3 H2 HT 0.417000 1.0080 0 380 U 1027 TIP3 OH2 OT -0.834000 15.9994 0 381 U 1027 TIP3 H1 HT 0.417000 1.0080 0 382 U 1027 TIP3 H2 HT 0.417000 1.0080 0 383 U 1032 TIP3 OH2 OT -0.834000 15.9994 0 384 U 1032 TIP3 H1 HT 0.417000 1.0080 0 385 U 1032 TIP3 H2 HT 0.417000 1.0080 0 386 U 1033 TIP3 OH2 OT -0.834000 15.9994 0 387 U 1033 TIP3 H1 HT 0.417000 1.0080 0 388 U 1033 TIP3 H2 HT 0.417000 1.0080 0 389 U 1040 TIP3 OH2 OT -0.834000 15.9994 0 390 U 1040 TIP3 H1 HT 0.417000 1.0080 0 391 U 1040 TIP3 H2 HT 0.417000 1.0080 0 392 U 1053 TIP3 OH2 OT -0.834000 15.9994 0 393 U 1053 TIP3 H1 HT 0.417000 1.0080 0 394 U 1053 TIP3 H2 HT 0.417000 1.0080 0 395 U 1059 TIP3 OH2 OT -0.834000 15.9994 0 396 U 1059 TIP3 H1 HT 0.417000 1.0080 0 397 U 1059 TIP3 H2 HT 0.417000 1.0080 0 398 U 1112 TIP3 OH2 OT -0.834000 15.9994 0 399 U 1112 TIP3 H1 HT 0.417000 1.0080 0 400 U 1112 TIP3 H2 HT 0.417000 1.0080 0 401 U 1115 TIP3 OH2 OT -0.834000 15.9994 0 402 U 1115 TIP3 H1 HT 0.417000 1.0080 0 403 U 1115 TIP3 H2 HT 0.417000 1.0080 0 404 U 1117 TIP3 OH2 OT -0.834000 15.9994 0 405 U 1117 TIP3 H1 HT 0.417000 1.0080 0 406 U 1117 TIP3 H2 HT 0.417000 1.0080 0 407 U 1272 TIP3 OH2 OT -0.834000 15.9994 0 408 U 1272 TIP3 H1 HT 0.417000 1.0080 0 409 U 1272 TIP3 H2 HT 0.417000 1.0080 0 410 U 1301 TIP3 OH2 OT -0.834000 15.9994 0 411 U 1301 TIP3 H1 HT 0.417000 1.0080 0 412 U 1301 TIP3 H2 HT 0.417000 1.0080 0 413 U 1307 TIP3 OH2 OT -0.834000 15.9994 0 414 U 1307 TIP3 H1 HT 0.417000 1.0080 0 415 U 1307 TIP3 H2 HT 0.417000 1.0080 0 416 U 1308 TIP3 OH2 OT -0.834000 15.9994 0 417 U 1308 TIP3 H1 HT 0.417000 1.0080 0 418 U 1308 TIP3 H2 HT 0.417000 1.0080 0 419 U 1326 TIP3 OH2 OT -0.834000 15.9994 0 420 U 1326 TIP3 H1 HT 0.417000 1.0080 0 421 U 1326 TIP3 H2 HT 0.417000 1.0080 0 422 U 1327 TIP3 OH2 OT -0.834000 15.9994 0 423 U 1327 TIP3 H1 HT 0.417000 1.0080 0 424 U 1327 TIP3 H2 HT 0.417000 1.0080 0 425 U 1328 TIP3 OH2 OT -0.834000 15.9994 0 426 U 1328 TIP3 H1 HT 0.417000 1.0080 0 427 U 1328 TIP3 H2 HT 0.417000 1.0080 0 428 U 1329 TIP3 OH2 OT -0.834000 15.9994 0 429 U 1329 TIP3 H1 HT 0.417000 1.0080 0 430 U 1329 TIP3 H2 HT 0.417000 1.0080 0 431 U 1330 TIP3 OH2 OT -0.834000 15.9994 0 432 U 1330 TIP3 H1 HT 0.417000 1.0080 0 433 U 1330 TIP3 H2 HT 0.417000 1.0080 0 434 U 1333 TIP3 OH2 OT -0.834000 15.9994 0 435 U 1333 TIP3 H1 HT 0.417000 1.0080 0 436 U 1333 TIP3 H2 HT 0.417000 1.0080 0 437 U 1344 TIP3 OH2 OT -0.834000 15.9994 0 438 U 1344 TIP3 H1 HT 0.417000 1.0080 0 439 U 1344 TIP3 H2 HT 0.417000 1.0080 0 440 U 1346 TIP3 OH2 OT -0.834000 15.9994 0 441 U 1346 TIP3 H1 HT 0.417000 1.0080 0 442 U 1346 TIP3 H2 HT 0.417000 1.0080 0 443 U 1347 TIP3 OH2 OT -0.834000 15.9994 0 444 U 1347 TIP3 H1 HT 0.417000 1.0080 0 445 U 1347 TIP3 H2 HT 0.417000 1.0080 0 446 U 1352 TIP3 OH2 OT -0.834000 15.9994 0 447 U 1352 TIP3 H1 HT 0.417000 1.0080 0 448 U 1352 TIP3 H2 HT 0.417000 1.0080 0 449 U 1354 TIP3 OH2 OT -0.834000 15.9994 0 450 U 1354 TIP3 H1 HT 0.417000 1.0080 0 451 U 1354 TIP3 H2 HT 0.417000 1.0080 0 452 U 1355 TIP3 OH2 OT -0.834000 15.9994 0 453 U 1355 TIP3 H1 HT 0.417000 1.0080 0 454 U 1355 TIP3 H2 HT 0.417000 1.0080 0 455 U 1367 TIP3 OH2 OT -0.834000 15.9994 0 456 U 1367 TIP3 H1 HT 0.417000 1.0080 0 457 U 1367 TIP3 H2 HT 0.417000 1.0080 0 458 U 1368 TIP3 OH2 OT -0.834000 15.9994 0 459 U 1368 TIP3 H1 HT 0.417000 1.0080 0 460 U 1368 TIP3 H2 HT 0.417000 1.0080 0 461 U 1370 TIP3 OH2 OT -0.834000 15.9994 0 462 U 1370 TIP3 H1 HT 0.417000 1.0080 0 463 U 1370 TIP3 H2 HT 0.417000 1.0080 0 464 U 1371 TIP3 OH2 OT -0.834000 15.9994 0 465 U 1371 TIP3 H1 HT 0.417000 1.0080 0 466 U 1371 TIP3 H2 HT 0.417000 1.0080 0 467 U 1372 TIP3 OH2 OT -0.834000 15.9994 0 468 U 1372 TIP3 H1 HT 0.417000 1.0080 0 469 U 1372 TIP3 H2 HT 0.417000 1.0080 0 470 U 1374 TIP3 OH2 OT -0.834000 15.9994 0 471 U 1374 TIP3 H1 HT 0.417000 1.0080 0 472 U 1374 TIP3 H2 HT 0.417000 1.0080 0 473 U 1376 TIP3 OH2 OT -0.834000 15.9994 0 474 U 1376 TIP3 H1 HT 0.417000 1.0080 0 475 U 1376 TIP3 H2 HT 0.417000 1.0080 0 476 U 1387 TIP3 OH2 OT -0.834000 15.9994 0 477 U 1387 TIP3 H1 HT 0.417000 1.0080 0 478 U 1387 TIP3 H2 HT 0.417000 1.0080 0 479 U 1388 TIP3 OH2 OT -0.834000 15.9994 0 480 U 1388 TIP3 H1 HT 0.417000 1.0080 0 481 U 1388 TIP3 H2 HT 0.417000 1.0080 0 482 U 1407 TIP3 OH2 OT -0.834000 15.9994 0 483 U 1407 TIP3 H1 HT 0.417000 1.0080 0 484 U 1407 TIP3 H2 HT 0.417000 1.0080 0 485 U 1408 TIP3 OH2 OT -0.834000 15.9994 0 486 U 1408 TIP3 H1 HT 0.417000 1.0080 0 487 U 1408 TIP3 H2 HT 0.417000 1.0080 0 488 U 1411 TIP3 OH2 OT -0.834000 15.9994 0 489 U 1411 TIP3 H1 HT 0.417000 1.0080 0 490 U 1411 TIP3 H2 HT 0.417000 1.0080 0 491 U 1414 TIP3 OH2 OT -0.834000 15.9994 0 492 U 1414 TIP3 H1 HT 0.417000 1.0080 0 493 U 1414 TIP3 H2 HT 0.417000 1.0080 0 494 U 1415 TIP3 OH2 OT -0.834000 15.9994 0 495 U 1415 TIP3 H1 HT 0.417000 1.0080 0 496 U 1415 TIP3 H2 HT 0.417000 1.0080 0 497 U 1418 TIP3 OH2 OT -0.834000 15.9994 0 498 U 1418 TIP3 H1 HT 0.417000 1.0080 0 499 U 1418 TIP3 H2 HT 0.417000 1.0080 0 500 U 1428 TIP3 OH2 OT -0.834000 15.9994 0 501 U 1428 TIP3 H1 HT 0.417000 1.0080 0 502 U 1428 TIP3 H2 HT 0.417000 1.0080 0 503 U 1429 TIP3 OH2 OT -0.834000 15.9994 0 504 U 1429 TIP3 H1 HT 0.417000 1.0080 0 505 U 1429 TIP3 H2 HT 0.417000 1.0080 0 506 U 1430 TIP3 OH2 OT -0.834000 15.9994 0 507 U 1430 TIP3 H1 HT 0.417000 1.0080 0 508 U 1430 TIP3 H2 HT 0.417000 1.0080 0 509 U 1433 TIP3 OH2 OT -0.834000 15.9994 0 510 U 1433 TIP3 H1 HT 0.417000 1.0080 0 511 U 1433 TIP3 H2 HT 0.417000 1.0080 0 512 U 1435 TIP3 OH2 OT -0.834000 15.9994 0 513 U 1435 TIP3 H1 HT 0.417000 1.0080 0 514 U 1435 TIP3 H2 HT 0.417000 1.0080 0 515 U 1440 TIP3 OH2 OT -0.834000 15.9994 0 516 U 1440 TIP3 H1 HT 0.417000 1.0080 0 517 U 1440 TIP3 H2 HT 0.417000 1.0080 0 518 U 1442 TIP3 OH2 OT -0.834000 15.9994 0 519 U 1442 TIP3 H1 HT 0.417000 1.0080 0 520 U 1442 TIP3 H2 HT 0.417000 1.0080 0 521 U 1450 TIP3 OH2 OT -0.834000 15.9994 0 522 U 1450 TIP3 H1 HT 0.417000 1.0080 0 523 U 1450 TIP3 H2 HT 0.417000 1.0080 0 524 U 1451 TIP3 OH2 OT -0.834000 15.9994 0 525 U 1451 TIP3 H1 HT 0.417000 1.0080 0 526 U 1451 TIP3 H2 HT 0.417000 1.0080 0 527 U 1454 TIP3 OH2 OT -0.834000 15.9994 0 528 U 1454 TIP3 H1 HT 0.417000 1.0080 0 529 U 1454 TIP3 H2 HT 0.417000 1.0080 0 530 U 1455 TIP3 OH2 OT -0.834000 15.9994 0 531 U 1455 TIP3 H1 HT 0.417000 1.0080 0 532 U 1455 TIP3 H2 HT 0.417000 1.0080 0 533 U 1458 TIP3 OH2 OT -0.834000 15.9994 0 534 U 1458 TIP3 H1 HT 0.417000 1.0080 0 535 U 1458 TIP3 H2 HT 0.417000 1.0080 0 536 U 1471 TIP3 OH2 OT -0.834000 15.9994 0 537 U 1471 TIP3 H1 HT 0.417000 1.0080 0 538 U 1471 TIP3 H2 HT 0.417000 1.0080 0 539 U 1474 TIP3 OH2 OT -0.834000 15.9994 0 540 U 1474 TIP3 H1 HT 0.417000 1.0080 0 541 U 1474 TIP3 H2 HT 0.417000 1.0080 0 542 U 1475 TIP3 OH2 OT -0.834000 15.9994 0 543 U 1475 TIP3 H1 HT 0.417000 1.0080 0 544 U 1475 TIP3 H2 HT 0.417000 1.0080 0 545 U 1493 TIP3 OH2 OT -0.834000 15.9994 0 546 U 1493 TIP3 H1 HT 0.417000 1.0080 0 547 U 1493 TIP3 H2 HT 0.417000 1.0080 0 548 U 1494 TIP3 OH2 OT -0.834000 15.9994 0 549 U 1494 TIP3 H1 HT 0.417000 1.0080 0 550 U 1494 TIP3 H2 HT 0.417000 1.0080 0 551 U 1497 TIP3 OH2 OT -0.834000 15.9994 0 552 U 1497 TIP3 H1 HT 0.417000 1.0080 0 553 U 1497 TIP3 H2 HT 0.417000 1.0080 0 554 U 1499 TIP3 OH2 OT -0.834000 15.9994 0 555 U 1499 TIP3 H1 HT 0.417000 1.0080 0 556 U 1499 TIP3 H2 HT 0.417000 1.0080 0 557 U 1512 TIP3 OH2 OT -0.834000 15.9994 0 558 U 1512 TIP3 H1 HT 0.417000 1.0080 0 559 U 1512 TIP3 H2 HT 0.417000 1.0080 0 560 U 1515 TIP3 OH2 OT -0.834000 15.9994 0 561 U 1515 TIP3 H1 HT 0.417000 1.0080 0 562 U 1515 TIP3 H2 HT 0.417000 1.0080 0 563 U 1532 TIP3 OH2 OT -0.834000 15.9994 0 564 U 1532 TIP3 H1 HT 0.417000 1.0080 0 565 U 1532 TIP3 H2 HT 0.417000 1.0080 0 566 U 1542 TIP3 OH2 OT -0.834000 15.9994 0 567 U 1542 TIP3 H1 HT 0.417000 1.0080 0 568 U 1542 TIP3 H2 HT 0.417000 1.0080 0 569 U 1559 TIP3 OH2 OT -0.834000 15.9994 0 570 U 1559 TIP3 H1 HT 0.417000 1.0080 0 571 U 1559 TIP3 H2 HT 0.417000 1.0080 0 572 U 1611 TIP3 OH2 OT -0.834000 15.9994 0 573 U 1611 TIP3 H1 HT 0.417000 1.0080 0 574 U 1611 TIP3 H2 HT 0.417000 1.0080 0 575 U 1707 TIP3 OH2 OT -0.834000 15.9994 0 576 U 1707 TIP3 H1 HT 0.417000 1.0080 0 577 U 1707 TIP3 H2 HT 0.417000 1.0080 0 578 U 1723 TIP3 OH2 OT -0.834000 15.9994 0 579 U 1723 TIP3 H1 HT 0.417000 1.0080 0 580 U 1723 TIP3 H2 HT 0.417000 1.0080 0 581 U 1725 TIP3 OH2 OT -0.834000 15.9994 0 582 U 1725 TIP3 H1 HT 0.417000 1.0080 0 583 U 1725 TIP3 H2 HT 0.417000 1.0080 0 584 U 1727 TIP3 OH2 OT -0.834000 15.9994 0 585 U 1727 TIP3 H1 HT 0.417000 1.0080 0 586 U 1727 TIP3 H2 HT 0.417000 1.0080 0 587 U 1729 TIP3 OH2 OT -0.834000 15.9994 0 588 U 1729 TIP3 H1 HT 0.417000 1.0080 0 589 U 1729 TIP3 H2 HT 0.417000 1.0080 0 590 U 1730 TIP3 OH2 OT -0.834000 15.9994 0 591 U 1730 TIP3 H1 HT 0.417000 1.0080 0 592 U 1730 TIP3 H2 HT 0.417000 1.0080 0 593 U 1733 TIP3 OH2 OT -0.834000 15.9994 0 594 U 1733 TIP3 H1 HT 0.417000 1.0080 0 595 U 1733 TIP3 H2 HT 0.417000 1.0080 0 596 U 1744 TIP3 OH2 OT -0.834000 15.9994 0 597 U 1744 TIP3 H1 HT 0.417000 1.0080 0 598 U 1744 TIP3 H2 HT 0.417000 1.0080 0 599 U 1746 TIP3 OH2 OT -0.834000 15.9994 0 600 U 1746 TIP3 H1 HT 0.417000 1.0080 0 601 U 1746 TIP3 H2 HT 0.417000 1.0080 0 602 U 1750 TIP3 OH2 OT -0.834000 15.9994 0 603 U 1750 TIP3 H1 HT 0.417000 1.0080 0 604 U 1750 TIP3 H2 HT 0.417000 1.0080 0 605 U 1752 TIP3 OH2 OT -0.834000 15.9994 0 606 U 1752 TIP3 H1 HT 0.417000 1.0080 0 607 U 1752 TIP3 H2 HT 0.417000 1.0080 0 608 U 1764 TIP3 OH2 OT -0.834000 15.9994 0 609 U 1764 TIP3 H1 HT 0.417000 1.0080 0 610 U 1764 TIP3 H2 HT 0.417000 1.0080 0 611 U 1771 TIP3 OH2 OT -0.834000 15.9994 0 612 U 1771 TIP3 H1 HT 0.417000 1.0080 0 613 U 1771 TIP3 H2 HT 0.417000 1.0080 0 614 U 1773 TIP3 OH2 OT -0.834000 15.9994 0 615 U 1773 TIP3 H1 HT 0.417000 1.0080 0 616 U 1773 TIP3 H2 HT 0.417000 1.0080 0 617 U 1788 TIP3 OH2 OT -0.834000 15.9994 0 618 U 1788 TIP3 H1 HT 0.417000 1.0080 0 619 U 1788 TIP3 H2 HT 0.417000 1.0080 0 620 U 1789 TIP3 OH2 OT -0.834000 15.9994 0 621 U 1789 TIP3 H1 HT 0.417000 1.0080 0 622 U 1789 TIP3 H2 HT 0.417000 1.0080 0 623 U 1790 TIP3 OH2 OT -0.834000 15.9994 0 624 U 1790 TIP3 H1 HT 0.417000 1.0080 0 625 U 1790 TIP3 H2 HT 0.417000 1.0080 0 626 U 1794 TIP3 OH2 OT -0.834000 15.9994 0 627 U 1794 TIP3 H1 HT 0.417000 1.0080 0 628 U 1794 TIP3 H2 HT 0.417000 1.0080 0 629 U 1795 TIP3 OH2 OT -0.834000 15.9994 0 630 U 1795 TIP3 H1 HT 0.417000 1.0080 0 631 U 1795 TIP3 H2 HT 0.417000 1.0080 0 632 U 1796 TIP3 OH2 OT -0.834000 15.9994 0 633 U 1796 TIP3 H1 HT 0.417000 1.0080 0 634 U 1796 TIP3 H2 HT 0.417000 1.0080 0 635 U 1808 TIP3 OH2 OT -0.834000 15.9994 0 636 U 1808 TIP3 H1 HT 0.417000 1.0080 0 637 U 1808 TIP3 H2 HT 0.417000 1.0080 0 638 U 1813 TIP3 OH2 OT -0.834000 15.9994 0 639 U 1813 TIP3 H1 HT 0.417000 1.0080 0 640 U 1813 TIP3 H2 HT 0.417000 1.0080 0 641 U 1814 TIP3 OH2 OT -0.834000 15.9994 0 642 U 1814 TIP3 H1 HT 0.417000 1.0080 0 643 U 1814 TIP3 H2 HT 0.417000 1.0080 0 644 U 1816 TIP3 OH2 OT -0.834000 15.9994 0 645 U 1816 TIP3 H1 HT 0.417000 1.0080 0 646 U 1816 TIP3 H2 HT 0.417000 1.0080 0 647 U 1824 TIP3 OH2 OT -0.834000 15.9994 0 648 U 1824 TIP3 H1 HT 0.417000 1.0080 0 649 U 1824 TIP3 H2 HT 0.417000 1.0080 0 650 U 1829 TIP3 OH2 OT -0.834000 15.9994 0 651 U 1829 TIP3 H1 HT 0.417000 1.0080 0 652 U 1829 TIP3 H2 HT 0.417000 1.0080 0 653 U 1830 TIP3 OH2 OT -0.834000 15.9994 0 654 U 1830 TIP3 H1 HT 0.417000 1.0080 0 655 U 1830 TIP3 H2 HT 0.417000 1.0080 0 656 U 1831 TIP3 OH2 OT -0.834000 15.9994 0 657 U 1831 TIP3 H1 HT 0.417000 1.0080 0 658 U 1831 TIP3 H2 HT 0.417000 1.0080 0 659 U 1832 TIP3 OH2 OT -0.834000 15.9994 0 660 U 1832 TIP3 H1 HT 0.417000 1.0080 0 661 U 1832 TIP3 H2 HT 0.417000 1.0080 0 662 U 1835 TIP3 OH2 OT -0.834000 15.9994 0 663 U 1835 TIP3 H1 HT 0.417000 1.0080 0 664 U 1835 TIP3 H2 HT 0.417000 1.0080 0 665 U 1836 TIP3 OH2 OT -0.834000 15.9994 0 666 U 1836 TIP3 H1 HT 0.417000 1.0080 0 667 U 1836 TIP3 H2 HT 0.417000 1.0080 0 668 U 1838 TIP3 OH2 OT -0.834000 15.9994 0 669 U 1838 TIP3 H1 HT 0.417000 1.0080 0 670 U 1838 TIP3 H2 HT 0.417000 1.0080 0 671 U 1850 TIP3 OH2 OT -0.834000 15.9994 0 672 U 1850 TIP3 H1 HT 0.417000 1.0080 0 673 U 1850 TIP3 H2 HT 0.417000 1.0080 0 674 U 1851 TIP3 OH2 OT -0.834000 15.9994 0 675 U 1851 TIP3 H1 HT 0.417000 1.0080 0 676 U 1851 TIP3 H2 HT 0.417000 1.0080 0 677 U 1852 TIP3 OH2 OT -0.834000 15.9994 0 678 U 1852 TIP3 H1 HT 0.417000 1.0080 0 679 U 1852 TIP3 H2 HT 0.417000 1.0080 0 680 U 1853 TIP3 OH2 OT -0.834000 15.9994 0 681 U 1853 TIP3 H1 HT 0.417000 1.0080 0 682 U 1853 TIP3 H2 HT 0.417000 1.0080 0 683 U 1854 TIP3 OH2 OT -0.834000 15.9994 0 684 U 1854 TIP3 H1 HT 0.417000 1.0080 0 685 U 1854 TIP3 H2 HT 0.417000 1.0080 0 686 U 1856 TIP3 OH2 OT -0.834000 15.9994 0 687 U 1856 TIP3 H1 HT 0.417000 1.0080 0 688 U 1856 TIP3 H2 HT 0.417000 1.0080 0 689 U 1860 TIP3 OH2 OT -0.834000 15.9994 0 690 U 1860 TIP3 H1 HT 0.417000 1.0080 0 691 U 1860 TIP3 H2 HT 0.417000 1.0080 0 692 U 1861 TIP3 OH2 OT -0.834000 15.9994 0 693 U 1861 TIP3 H1 HT 0.417000 1.0080 0 694 U 1861 TIP3 H2 HT 0.417000 1.0080 0 695 U 1871 TIP3 OH2 OT -0.834000 15.9994 0 696 U 1871 TIP3 H1 HT 0.417000 1.0080 0 697 U 1871 TIP3 H2 HT 0.417000 1.0080 0 698 U 1873 TIP3 OH2 OT -0.834000 15.9994 0 699 U 1873 TIP3 H1 HT 0.417000 1.0080 0 700 U 1873 TIP3 H2 HT 0.417000 1.0080 0 701 U 1874 TIP3 OH2 OT -0.834000 15.9994 0 702 U 1874 TIP3 H1 HT 0.417000 1.0080 0 703 U 1874 TIP3 H2 HT 0.417000 1.0080 0 704 U 1875 TIP3 OH2 OT -0.834000 15.9994 0 705 U 1875 TIP3 H1 HT 0.417000 1.0080 0 706 U 1875 TIP3 H2 HT 0.417000 1.0080 0 707 U 1878 TIP3 OH2 OT -0.834000 15.9994 0 708 U 1878 TIP3 H1 HT 0.417000 1.0080 0 709 U 1878 TIP3 H2 HT 0.417000 1.0080 0 710 U 1881 TIP3 OH2 OT -0.834000 15.9994 0 711 U 1881 TIP3 H1 HT 0.417000 1.0080 0 712 U 1881 TIP3 H2 HT 0.417000 1.0080 0 713 U 1885 TIP3 OH2 OT -0.834000 15.9994 0 714 U 1885 TIP3 H1 HT 0.417000 1.0080 0 715 U 1885 TIP3 H2 HT 0.417000 1.0080 0 716 U 1894 TIP3 OH2 OT -0.834000 15.9994 0 717 U 1894 TIP3 H1 HT 0.417000 1.0080 0 718 U 1894 TIP3 H2 HT 0.417000 1.0080 0 719 U 1895 TIP3 OH2 OT -0.834000 15.9994 0 720 U 1895 TIP3 H1 HT 0.417000 1.0080 0 721 U 1895 TIP3 H2 HT 0.417000 1.0080 0 722 U 1896 TIP3 OH2 OT -0.834000 15.9994 0 723 U 1896 TIP3 H1 HT 0.417000 1.0080 0 724 U 1896 TIP3 H2 HT 0.417000 1.0080 0 725 U 1897 TIP3 OH2 OT -0.834000 15.9994 0 726 U 1897 TIP3 H1 HT 0.417000 1.0080 0 727 U 1897 TIP3 H2 HT 0.417000 1.0080 0 728 U 1898 TIP3 OH2 OT -0.834000 15.9994 0 729 U 1898 TIP3 H1 HT 0.417000 1.0080 0 730 U 1898 TIP3 H2 HT 0.417000 1.0080 0 731 U 1900 TIP3 OH2 OT -0.834000 15.9994 0 732 U 1900 TIP3 H1 HT 0.417000 1.0080 0 733 U 1900 TIP3 H2 HT 0.417000 1.0080 0 734 U 1911 TIP3 OH2 OT -0.834000 15.9994 0 735 U 1911 TIP3 H1 HT 0.417000 1.0080 0 736 U 1911 TIP3 H2 HT 0.417000 1.0080 0 737 U 1912 TIP3 OH2 OT -0.834000 15.9994 0 738 U 1912 TIP3 H1 HT 0.417000 1.0080 0 739 U 1912 TIP3 H2 HT 0.417000 1.0080 0 740 U 1914 TIP3 OH2 OT -0.834000 15.9994 0 741 U 1914 TIP3 H1 HT 0.417000 1.0080 0 742 U 1914 TIP3 H2 HT 0.417000 1.0080 0 743 U 1915 TIP3 OH2 OT -0.834000 15.9994 0 744 U 1915 TIP3 H1 HT 0.417000 1.0080 0 745 U 1915 TIP3 H2 HT 0.417000 1.0080 0 746 U 1919 TIP3 OH2 OT -0.834000 15.9994 0 747 U 1919 TIP3 H1 HT 0.417000 1.0080 0 748 U 1919 TIP3 H2 HT 0.417000 1.0080 0 749 U 1935 TIP3 OH2 OT -0.834000 15.9994 0 750 U 1935 TIP3 H1 HT 0.417000 1.0080 0 751 U 1935 TIP3 H2 HT 0.417000 1.0080 0 752 U 1936 TIP3 OH2 OT -0.834000 15.9994 0 753 U 1936 TIP3 H1 HT 0.417000 1.0080 0 754 U 1936 TIP3 H2 HT 0.417000 1.0080 0 755 U 1938 TIP3 OH2 OT -0.834000 15.9994 0 756 U 1938 TIP3 H1 HT 0.417000 1.0080 0 757 U 1938 TIP3 H2 HT 0.417000 1.0080 0 758 U 1952 TIP3 OH2 OT -0.834000 15.9994 0 759 U 1952 TIP3 H1 HT 0.417000 1.0080 0 760 U 1952 TIP3 H2 HT 0.417000 1.0080 0 761 U 1955 TIP3 OH2 OT -0.834000 15.9994 0 762 U 1955 TIP3 H1 HT 0.417000 1.0080 0 763 U 1955 TIP3 H2 HT 0.417000 1.0080 0 764 U 1961 TIP3 OH2 OT -0.834000 15.9994 0 765 U 1961 TIP3 H1 HT 0.417000 1.0080 0 766 U 1961 TIP3 H2 HT 0.417000 1.0080 0 767 U 1977 TIP3 OH2 OT -0.834000 15.9994 0 768 U 1977 TIP3 H1 HT 0.417000 1.0080 0 769 U 1977 TIP3 H2 HT 0.417000 1.0080 0 770 U 2123 TIP3 OH2 OT -0.834000 15.9994 0 771 U 2123 TIP3 H1 HT 0.417000 1.0080 0 772 U 2123 TIP3 H2 HT 0.417000 1.0080 0 773 U 2127 TIP3 OH2 OT -0.834000 15.9994 0 774 U 2127 TIP3 H1 HT 0.417000 1.0080 0 775 U 2127 TIP3 H2 HT 0.417000 1.0080 0 776 U 2163 TIP3 OH2 OT -0.834000 15.9994 0 777 U 2163 TIP3 H1 HT 0.417000 1.0080 0 778 U 2163 TIP3 H2 HT 0.417000 1.0080 0 779 U 2165 TIP3 OH2 OT -0.834000 15.9994 0 780 U 2165 TIP3 H1 HT 0.417000 1.0080 0 781 U 2165 TIP3 H2 HT 0.417000 1.0080 0 782 U 2167 TIP3 OH2 OT -0.834000 15.9994 0 783 U 2167 TIP3 H1 HT 0.417000 1.0080 0 784 U 2167 TIP3 H2 HT 0.417000 1.0080 0 785 U 2172 TIP3 OH2 OT -0.834000 15.9994 0 786 U 2172 TIP3 H1 HT 0.417000 1.0080 0 787 U 2172 TIP3 H2 HT 0.417000 1.0080 0 788 U 2185 TIP3 OH2 OT -0.834000 15.9994 0 789 U 2185 TIP3 H1 HT 0.417000 1.0080 0 790 U 2185 TIP3 H2 HT 0.417000 1.0080 0 791 U 2186 TIP3 OH2 OT -0.834000 15.9994 0 792 U 2186 TIP3 H1 HT 0.417000 1.0080 0 793 U 2186 TIP3 H2 HT 0.417000 1.0080 0 794 U 2187 TIP3 OH2 OT -0.834000 15.9994 0 795 U 2187 TIP3 H1 HT 0.417000 1.0080 0 796 U 2187 TIP3 H2 HT 0.417000 1.0080 0 797 U 2227 TIP3 OH2 OT -0.834000 15.9994 0 798 U 2227 TIP3 H1 HT 0.417000 1.0080 0 799 U 2227 TIP3 H2 HT 0.417000 1.0080 0 800 U 2229 TIP3 OH2 OT -0.834000 15.9994 0 801 U 2229 TIP3 H1 HT 0.417000 1.0080 0 802 U 2229 TIP3 H2 HT 0.417000 1.0080 0 803 U 2231 TIP3 OH2 OT -0.834000 15.9994 0 804 U 2231 TIP3 H1 HT 0.417000 1.0080 0 805 U 2231 TIP3 H2 HT 0.417000 1.0080 0 806 U 2232 TIP3 OH2 OT -0.834000 15.9994 0 807 U 2232 TIP3 H1 HT 0.417000 1.0080 0 808 U 2232 TIP3 H2 HT 0.417000 1.0080 0 809 U 2244 TIP3 OH2 OT -0.834000 15.9994 0 810 U 2244 TIP3 H1 HT 0.417000 1.0080 0 811 U 2244 TIP3 H2 HT 0.417000 1.0080 0 812 U 2250 TIP3 OH2 OT -0.834000 15.9994 0 813 U 2250 TIP3 H1 HT 0.417000 1.0080 0 814 U 2250 TIP3 H2 HT 0.417000 1.0080 0 815 U 2251 TIP3 OH2 OT -0.834000 15.9994 0 816 U 2251 TIP3 H1 HT 0.417000 1.0080 0 817 U 2251 TIP3 H2 HT 0.417000 1.0080 0 818 U 2253 TIP3 OH2 OT -0.834000 15.9994 0 819 U 2253 TIP3 H1 HT 0.417000 1.0080 0 820 U 2253 TIP3 H2 HT 0.417000 1.0080 0 821 U 2254 TIP3 OH2 OT -0.834000 15.9994 0 822 U 2254 TIP3 H1 HT 0.417000 1.0080 0 823 U 2254 TIP3 H2 HT 0.417000 1.0080 0 824 U 2257 TIP3 OH2 OT -0.834000 15.9994 0 825 U 2257 TIP3 H1 HT 0.417000 1.0080 0 826 U 2257 TIP3 H2 HT 0.417000 1.0080 0 827 U 2269 TIP3 OH2 OT -0.834000 15.9994 0 828 U 2269 TIP3 H1 HT 0.417000 1.0080 0 829 U 2269 TIP3 H2 HT 0.417000 1.0080 0 830 U 2270 TIP3 OH2 OT -0.834000 15.9994 0 831 U 2270 TIP3 H1 HT 0.417000 1.0080 0 832 U 2270 TIP3 H2 HT 0.417000 1.0080 0 833 U 2271 TIP3 OH2 OT -0.834000 15.9994 0 834 U 2271 TIP3 H1 HT 0.417000 1.0080 0 835 U 2271 TIP3 H2 HT 0.417000 1.0080 0 836 U 2272 TIP3 OH2 OT -0.834000 15.9994 0 837 U 2272 TIP3 H1 HT 0.417000 1.0080 0 838 U 2272 TIP3 H2 HT 0.417000 1.0080 0 839 U 2275 TIP3 OH2 OT -0.834000 15.9994 0 840 U 2275 TIP3 H1 HT 0.417000 1.0080 0 841 U 2275 TIP3 H2 HT 0.417000 1.0080 0 842 U 2277 TIP3 OH2 OT -0.834000 15.9994 0 843 U 2277 TIP3 H1 HT 0.417000 1.0080 0 844 U 2277 TIP3 H2 HT 0.417000 1.0080 0 845 U 2280 TIP3 OH2 OT -0.834000 15.9994 0 846 U 2280 TIP3 H1 HT 0.417000 1.0080 0 847 U 2280 TIP3 H2 HT 0.417000 1.0080 0 848 U 2288 TIP3 OH2 OT -0.834000 15.9994 0 849 U 2288 TIP3 H1 HT 0.417000 1.0080 0 850 U 2288 TIP3 H2 HT 0.417000 1.0080 0 851 U 2292 TIP3 OH2 OT -0.834000 15.9994 0 852 U 2292 TIP3 H1 HT 0.417000 1.0080 0 853 U 2292 TIP3 H2 HT 0.417000 1.0080 0 854 U 2293 TIP3 OH2 OT -0.834000 15.9994 0 855 U 2293 TIP3 H1 HT 0.417000 1.0080 0 856 U 2293 TIP3 H2 HT 0.417000 1.0080 0 857 U 2295 TIP3 OH2 OT -0.834000 15.9994 0 858 U 2295 TIP3 H1 HT 0.417000 1.0080 0 859 U 2295 TIP3 H2 HT 0.417000 1.0080 0 860 U 2296 TIP3 OH2 OT -0.834000 15.9994 0 861 U 2296 TIP3 H1 HT 0.417000 1.0080 0 862 U 2296 TIP3 H2 HT 0.417000 1.0080 0 863 U 2300 TIP3 OH2 OT -0.834000 15.9994 0 864 U 2300 TIP3 H1 HT 0.417000 1.0080 0 865 U 2300 TIP3 H2 HT 0.417000 1.0080 0 866 U 2302 TIP3 OH2 OT -0.834000 15.9994 0 867 U 2302 TIP3 H1 HT 0.417000 1.0080 0 868 U 2302 TIP3 H2 HT 0.417000 1.0080 0 869 U 2309 TIP3 OH2 OT -0.834000 15.9994 0 870 U 2309 TIP3 H1 HT 0.417000 1.0080 0 871 U 2309 TIP3 H2 HT 0.417000 1.0080 0 872 U 2311 TIP3 OH2 OT -0.834000 15.9994 0 873 U 2311 TIP3 H1 HT 0.417000 1.0080 0 874 U 2311 TIP3 H2 HT 0.417000 1.0080 0 875 U 2315 TIP3 OH2 OT -0.834000 15.9994 0 876 U 2315 TIP3 H1 HT 0.417000 1.0080 0 877 U 2315 TIP3 H2 HT 0.417000 1.0080 0 878 U 2316 TIP3 OH2 OT -0.834000 15.9994 0 879 U 2316 TIP3 H1 HT 0.417000 1.0080 0 880 U 2316 TIP3 H2 HT 0.417000 1.0080 0 881 U 2317 TIP3 OH2 OT -0.834000 15.9994 0 882 U 2317 TIP3 H1 HT 0.417000 1.0080 0 883 U 2317 TIP3 H2 HT 0.417000 1.0080 0 884 U 2318 TIP3 OH2 OT -0.834000 15.9994 0 885 U 2318 TIP3 H1 HT 0.417000 1.0080 0 886 U 2318 TIP3 H2 HT 0.417000 1.0080 0 887 U 2319 TIP3 OH2 OT -0.834000 15.9994 0 888 U 2319 TIP3 H1 HT 0.417000 1.0080 0 889 U 2319 TIP3 H2 HT 0.417000 1.0080 0 890 U 2320 TIP3 OH2 OT -0.834000 15.9994 0 891 U 2320 TIP3 H1 HT 0.417000 1.0080 0 892 U 2320 TIP3 H2 HT 0.417000 1.0080 0 893 U 2329 TIP3 OH2 OT -0.834000 15.9994 0 894 U 2329 TIP3 H1 HT 0.417000 1.0080 0 895 U 2329 TIP3 H2 HT 0.417000 1.0080 0 896 U 2331 TIP3 OH2 OT -0.834000 15.9994 0 897 U 2331 TIP3 H1 HT 0.417000 1.0080 0 898 U 2331 TIP3 H2 HT 0.417000 1.0080 0 899 U 2332 TIP3 OH2 OT -0.834000 15.9994 0 900 U 2332 TIP3 H1 HT 0.417000 1.0080 0 901 U 2332 TIP3 H2 HT 0.417000 1.0080 0 902 U 2335 TIP3 OH2 OT -0.834000 15.9994 0 903 U 2335 TIP3 H1 HT 0.417000 1.0080 0 904 U 2335 TIP3 H2 HT 0.417000 1.0080 0 905 U 2339 TIP3 OH2 OT -0.834000 15.9994 0 906 U 2339 TIP3 H1 HT 0.417000 1.0080 0 907 U 2339 TIP3 H2 HT 0.417000 1.0080 0 908 U 2351 TIP3 OH2 OT -0.834000 15.9994 0 909 U 2351 TIP3 H1 HT 0.417000 1.0080 0 910 U 2351 TIP3 H2 HT 0.417000 1.0080 0 911 U 2352 TIP3 OH2 OT -0.834000 15.9994 0 912 U 2352 TIP3 H1 HT 0.417000 1.0080 0 913 U 2352 TIP3 H2 HT 0.417000 1.0080 0 914 U 2355 TIP3 OH2 OT -0.834000 15.9994 0 915 U 2355 TIP3 H1 HT 0.417000 1.0080 0 916 U 2355 TIP3 H2 HT 0.417000 1.0080 0 917 U 2357 TIP3 OH2 OT -0.834000 15.9994 0 918 U 2357 TIP3 H1 HT 0.417000 1.0080 0 919 U 2357 TIP3 H2 HT 0.417000 1.0080 0 920 U 2358 TIP3 OH2 OT -0.834000 15.9994 0 921 U 2358 TIP3 H1 HT 0.417000 1.0080 0 922 U 2358 TIP3 H2 HT 0.417000 1.0080 0 923 U 2359 TIP3 OH2 OT -0.834000 15.9994 0 924 U 2359 TIP3 H1 HT 0.417000 1.0080 0 925 U 2359 TIP3 H2 HT 0.417000 1.0080 0 926 U 2376 TIP3 OH2 OT -0.834000 15.9994 0 927 U 2376 TIP3 H1 HT 0.417000 1.0080 0 928 U 2376 TIP3 H2 HT 0.417000 1.0080 0 929 U 2377 TIP3 OH2 OT -0.834000 15.9994 0 930 U 2377 TIP3 H1 HT 0.417000 1.0080 0 931 U 2377 TIP3 H2 HT 0.417000 1.0080 0 932 U 2380 TIP3 OH2 OT -0.834000 15.9994 0 933 U 2380 TIP3 H1 HT 0.417000 1.0080 0 934 U 2380 TIP3 H2 HT 0.417000 1.0080 0 935 U 2418 TIP3 OH2 OT -0.834000 15.9994 0 936 U 2418 TIP3 H1 HT 0.417000 1.0080 0 937 U 2418 TIP3 H2 HT 0.417000 1.0080 0 938 U 2587 TIP3 OH2 OT -0.834000 15.9994 0 939 U 2587 TIP3 H1 HT 0.417000 1.0080 0 940 U 2587 TIP3 H2 HT 0.417000 1.0080 0 941 U 2606 TIP3 OH2 OT -0.834000 15.9994 0 942 U 2606 TIP3 H1 HT 0.417000 1.0080 0 943 U 2606 TIP3 H2 HT 0.417000 1.0080 0 944 U 2607 TIP3 OH2 OT -0.834000 15.9994 0 945 U 2607 TIP3 H1 HT 0.417000 1.0080 0 946 U 2607 TIP3 H2 HT 0.417000 1.0080 0 947 U 2608 TIP3 OH2 OT -0.834000 15.9994 0 948 U 2608 TIP3 H1 HT 0.417000 1.0080 0 949 U 2608 TIP3 H2 HT 0.417000 1.0080 0 950 U 2610 TIP3 OH2 OT -0.834000 15.9994 0 951 U 2610 TIP3 H1 HT 0.417000 1.0080 0 952 U 2610 TIP3 H2 HT 0.417000 1.0080 0 953 U 2628 TIP3 OH2 OT -0.834000 15.9994 0 954 U 2628 TIP3 H1 HT 0.417000 1.0080 0 955 U 2628 TIP3 H2 HT 0.417000 1.0080 0 956 U 2632 TIP3 OH2 OT -0.834000 15.9994 0 957 U 2632 TIP3 H1 HT 0.417000 1.0080 0 958 U 2632 TIP3 H2 HT 0.417000 1.0080 0 959 U 2634 TIP3 OH2 OT -0.834000 15.9994 0 960 U 2634 TIP3 H1 HT 0.417000 1.0080 0 961 U 2634 TIP3 H2 HT 0.417000 1.0080 0 962 U 2650 TIP3 OH2 OT -0.834000 15.9994 0 963 U 2650 TIP3 H1 HT 0.417000 1.0080 0 964 U 2650 TIP3 H2 HT 0.417000 1.0080 0 965 U 2654 TIP3 OH2 OT -0.834000 15.9994 0 966 U 2654 TIP3 H1 HT 0.417000 1.0080 0 967 U 2654 TIP3 H2 HT 0.417000 1.0080 0 968 U 2670 TIP3 OH2 OT -0.834000 15.9994 0 969 U 2670 TIP3 H1 HT 0.417000 1.0080 0 970 U 2670 TIP3 H2 HT 0.417000 1.0080 0 971 U 2673 TIP3 OH2 OT -0.834000 15.9994 0 972 U 2673 TIP3 H1 HT 0.417000 1.0080 0 973 U 2673 TIP3 H2 HT 0.417000 1.0080 0 974 U 2676 TIP3 OH2 OT -0.834000 15.9994 0 975 U 2676 TIP3 H1 HT 0.417000 1.0080 0 976 U 2676 TIP3 H2 HT 0.417000 1.0080 0 977 U 2689 TIP3 OH2 OT -0.834000 15.9994 0 978 U 2689 TIP3 H1 HT 0.417000 1.0080 0 979 U 2689 TIP3 H2 HT 0.417000 1.0080 0 980 U 2690 TIP3 OH2 OT -0.834000 15.9994 0 981 U 2690 TIP3 H1 HT 0.417000 1.0080 0 982 U 2690 TIP3 H2 HT 0.417000 1.0080 0 983 U 2691 TIP3 OH2 OT -0.834000 15.9994 0 984 U 2691 TIP3 H1 HT 0.417000 1.0080 0 985 U 2691 TIP3 H2 HT 0.417000 1.0080 0 986 U 2692 TIP3 OH2 OT -0.834000 15.9994 0 987 U 2692 TIP3 H1 HT 0.417000 1.0080 0 988 U 2692 TIP3 H2 HT 0.417000 1.0080 0 989 U 2694 TIP3 OH2 OT -0.834000 15.9994 0 990 U 2694 TIP3 H1 HT 0.417000 1.0080 0 991 U 2694 TIP3 H2 HT 0.417000 1.0080 0 992 U 2697 TIP3 OH2 OT -0.834000 15.9994 0 993 U 2697 TIP3 H1 HT 0.417000 1.0080 0 994 U 2697 TIP3 H2 HT 0.417000 1.0080 0 995 U 2701 TIP3 OH2 OT -0.834000 15.9994 0 996 U 2701 TIP3 H1 HT 0.417000 1.0080 0 997 U 2701 TIP3 H2 HT 0.417000 1.0080 0 998 U 2709 TIP3 OH2 OT -0.834000 15.9994 0 999 U 2709 TIP3 H1 HT 0.417000 1.0080 0 1000 U 2709 TIP3 H2 HT 0.417000 1.0080 0 1001 U 2713 TIP3 OH2 OT -0.834000 15.9994 0 1002 U 2713 TIP3 H1 HT 0.417000 1.0080 0 1003 U 2713 TIP3 H2 HT 0.417000 1.0080 0 1004 U 2714 TIP3 OH2 OT -0.834000 15.9994 0 1005 U 2714 TIP3 H1 HT 0.417000 1.0080 0 1006 U 2714 TIP3 H2 HT 0.417000 1.0080 0 1007 U 2715 TIP3 OH2 OT -0.834000 15.9994 0 1008 U 2715 TIP3 H1 HT 0.417000 1.0080 0 1009 U 2715 TIP3 H2 HT 0.417000 1.0080 0 1010 U 2719 TIP3 OH2 OT -0.834000 15.9994 0 1011 U 2719 TIP3 H1 HT 0.417000 1.0080 0 1012 U 2719 TIP3 H2 HT 0.417000 1.0080 0 1013 U 2732 TIP3 OH2 OT -0.834000 15.9994 0 1014 U 2732 TIP3 H1 HT 0.417000 1.0080 0 1015 U 2732 TIP3 H2 HT 0.417000 1.0080 0 1016 U 2734 TIP3 OH2 OT -0.834000 15.9994 0 1017 U 2734 TIP3 H1 HT 0.417000 1.0080 0 1018 U 2734 TIP3 H2 HT 0.417000 1.0080 0 1019 U 2735 TIP3 OH2 OT -0.834000 15.9994 0 1020 U 2735 TIP3 H1 HT 0.417000 1.0080 0 1021 U 2735 TIP3 H2 HT 0.417000 1.0080 0 1022 U 2737 TIP3 OH2 OT -0.834000 15.9994 0 1023 U 2737 TIP3 H1 HT 0.417000 1.0080 0 1024 U 2737 TIP3 H2 HT 0.417000 1.0080 0 1025 U 2740 TIP3 OH2 OT -0.834000 15.9994 0 1026 U 2740 TIP3 H1 HT 0.417000 1.0080 0 1027 U 2740 TIP3 H2 HT 0.417000 1.0080 0 1028 U 2753 TIP3 OH2 OT -0.834000 15.9994 0 1029 U 2753 TIP3 H1 HT 0.417000 1.0080 0 1030 U 2753 TIP3 H2 HT 0.417000 1.0080 0 1031 U 2754 TIP3 OH2 OT -0.834000 15.9994 0 1032 U 2754 TIP3 H1 HT 0.417000 1.0080 0 1033 U 2754 TIP3 H2 HT 0.417000 1.0080 0 1034 U 2755 TIP3 OH2 OT -0.834000 15.9994 0 1035 U 2755 TIP3 H1 HT 0.417000 1.0080 0 1036 U 2755 TIP3 H2 HT 0.417000 1.0080 0 1037 U 2757 TIP3 OH2 OT -0.834000 15.9994 0 1038 U 2757 TIP3 H1 HT 0.417000 1.0080 0 1039 U 2757 TIP3 H2 HT 0.417000 1.0080 0 1040 U 2758 TIP3 OH2 OT -0.834000 15.9994 0 1041 U 2758 TIP3 H1 HT 0.417000 1.0080 0 1042 U 2758 TIP3 H2 HT 0.417000 1.0080 0 1043 U 2771 TIP3 OH2 OT -0.834000 15.9994 0 1044 U 2771 TIP3 H1 HT 0.417000 1.0080 0 1045 U 2771 TIP3 H2 HT 0.417000 1.0080 0 1046 U 2776 TIP3 OH2 OT -0.834000 15.9994 0 1047 U 2776 TIP3 H1 HT 0.417000 1.0080 0 1048 U 2776 TIP3 H2 HT 0.417000 1.0080 0 1049 U 2777 TIP3 OH2 OT -0.834000 15.9994 0 1050 U 2777 TIP3 H1 HT 0.417000 1.0080 0 1051 U 2777 TIP3 H2 HT 0.417000 1.0080 0 1052 U 2778 TIP3 OH2 OT -0.834000 15.9994 0 1053 U 2778 TIP3 H1 HT 0.417000 1.0080 0 1054 U 2778 TIP3 H2 HT 0.417000 1.0080 0 1055 U 2779 TIP3 OH2 OT -0.834000 15.9994 0 1056 U 2779 TIP3 H1 HT 0.417000 1.0080 0 1057 U 2779 TIP3 H2 HT 0.417000 1.0080 0 1058 U 2794 TIP3 OH2 OT -0.834000 15.9994 0 1059 U 2794 TIP3 H1 HT 0.417000 1.0080 0 1060 U 2794 TIP3 H2 HT 0.417000 1.0080 0 1061 U 2815 TIP3 OH2 OT -0.834000 15.9994 0 1062 U 2815 TIP3 H1 HT 0.417000 1.0080 0 1063 U 2815 TIP3 H2 HT 0.417000 1.0080 0 1064 U 2817 TIP3 OH2 OT -0.834000 15.9994 0 1065 U 2817 TIP3 H1 HT 0.417000 1.0080 0 1066 U 2817 TIP3 H2 HT 0.417000 1.0080 0 1067 U 2818 TIP3 OH2 OT -0.834000 15.9994 0 1068 U 2818 TIP3 H1 HT 0.417000 1.0080 0 1069 U 2818 TIP3 H2 HT 0.417000 1.0080 0 1070 U 2821 TIP3 OH2 OT -0.834000 15.9994 0 1071 U 2821 TIP3 H1 HT 0.417000 1.0080 0 1072 U 2821 TIP3 H2 HT 0.417000 1.0080 0 1073 U 2832 TIP3 OH2 OT -0.834000 15.9994 0 1074 U 2832 TIP3 H1 HT 0.417000 1.0080 0 1075 U 2832 TIP3 H2 HT 0.417000 1.0080 0 1076 U 2857 TIP3 OH2 OT -0.834000 15.9994 0 1077 U 2857 TIP3 H1 HT 0.417000 1.0080 0 1078 U 2857 TIP3 H2 HT 0.417000 1.0080 0 1079 U 2866 TIP3 OH2 OT -0.834000 15.9994 0 1080 U 2866 TIP3 H1 HT 0.417000 1.0080 0 1081 U 2866 TIP3 H2 HT 0.417000 1.0080 0 1082 U 2926 TIP3 OH2 OT -0.834000 15.9994 0 1083 U 2926 TIP3 H1 HT 0.417000 1.0080 0 1084 U 2926 TIP3 H2 HT 0.417000 1.0080 0 1085 U 3010 TIP3 OH2 OT -0.834000 15.9994 0 1086 U 3010 TIP3 H1 HT 0.417000 1.0080 0 1087 U 3010 TIP3 H2 HT 0.417000 1.0080 0 1088 U 3012 TIP3 OH2 OT -0.834000 15.9994 0 1089 U 3012 TIP3 H1 HT 0.417000 1.0080 0 1090 U 3012 TIP3 H2 HT 0.417000 1.0080 0 1091 U 3027 TIP3 OH2 OT -0.834000 15.9994 0 1092 U 3027 TIP3 H1 HT 0.417000 1.0080 0 1093 U 3027 TIP3 H2 HT 0.417000 1.0080 0 1094 U 3049 TIP3 OH2 OT -0.834000 15.9994 0 1095 U 3049 TIP3 H1 HT 0.417000 1.0080 0 1096 U 3049 TIP3 H2 HT 0.417000 1.0080 0 1097 U 3070 TIP3 OH2 OT -0.834000 15.9994 0 1098 U 3070 TIP3 H1 HT 0.417000 1.0080 0 1099 U 3070 TIP3 H2 HT 0.417000 1.0080 0 1100 U 3072 TIP3 OH2 OT -0.834000 15.9994 0 1101 U 3072 TIP3 H1 HT 0.417000 1.0080 0 1102 U 3072 TIP3 H2 HT 0.417000 1.0080 0 1103 U 3073 TIP3 OH2 OT -0.834000 15.9994 0 1104 U 3073 TIP3 H1 HT 0.417000 1.0080 0 1105 U 3073 TIP3 H2 HT 0.417000 1.0080 0 1106 U 3085 TIP3 OH2 OT -0.834000 15.9994 0 1107 U 3085 TIP3 H1 HT 0.417000 1.0080 0 1108 U 3085 TIP3 H2 HT 0.417000 1.0080 0 1109 U 3086 TIP3 OH2 OT -0.834000 15.9994 0 1110 U 3086 TIP3 H1 HT 0.417000 1.0080 0 1111 U 3086 TIP3 H2 HT 0.417000 1.0080 0 1112 U 3091 TIP3 OH2 OT -0.834000 15.9994 0 1113 U 3091 TIP3 H1 HT 0.417000 1.0080 0 1114 U 3091 TIP3 H2 HT 0.417000 1.0080 0 1115 U 3095 TIP3 OH2 OT -0.834000 15.9994 0 1116 U 3095 TIP3 H1 HT 0.417000 1.0080 0 1117 U 3095 TIP3 H2 HT 0.417000 1.0080 0 1118 U 3096 TIP3 OH2 OT -0.834000 15.9994 0 1119 U 3096 TIP3 H1 HT 0.417000 1.0080 0 1120 U 3096 TIP3 H2 HT 0.417000 1.0080 0 1121 U 3108 TIP3 OH2 OT -0.834000 15.9994 0 1122 U 3108 TIP3 H1 HT 0.417000 1.0080 0 1123 U 3108 TIP3 H2 HT 0.417000 1.0080 0 1124 U 3109 TIP3 OH2 OT -0.834000 15.9994 0 1125 U 3109 TIP3 H1 HT 0.417000 1.0080 0 1126 U 3109 TIP3 H2 HT 0.417000 1.0080 0 1127 U 3111 TIP3 OH2 OT -0.834000 15.9994 0 1128 U 3111 TIP3 H1 HT 0.417000 1.0080 0 1129 U 3111 TIP3 H2 HT 0.417000 1.0080 0 1130 U 3112 TIP3 OH2 OT -0.834000 15.9994 0 1131 U 3112 TIP3 H1 HT 0.417000 1.0080 0 1132 U 3112 TIP3 H2 HT 0.417000 1.0080 0 1133 U 3113 TIP3 OH2 OT -0.834000 15.9994 0 1134 U 3113 TIP3 H1 HT 0.417000 1.0080 0 1135 U 3113 TIP3 H2 HT 0.417000 1.0080 0 1136 U 3114 TIP3 OH2 OT -0.834000 15.9994 0 1137 U 3114 TIP3 H1 HT 0.417000 1.0080 0 1138 U 3114 TIP3 H2 HT 0.417000 1.0080 0 1139 U 3115 TIP3 OH2 OT -0.834000 15.9994 0 1140 U 3115 TIP3 H1 HT 0.417000 1.0080 0 1141 U 3115 TIP3 H2 HT 0.417000 1.0080 0 1142 U 3129 TIP3 OH2 OT -0.834000 15.9994 0 1143 U 3129 TIP3 H1 HT 0.417000 1.0080 0 1144 U 3129 TIP3 H2 HT 0.417000 1.0080 0 1145 U 3131 TIP3 OH2 OT -0.834000 15.9994 0 1146 U 3131 TIP3 H1 HT 0.417000 1.0080 0 1147 U 3131 TIP3 H2 HT 0.417000 1.0080 0 1148 U 3134 TIP3 OH2 OT -0.834000 15.9994 0 1149 U 3134 TIP3 H1 HT 0.417000 1.0080 0 1150 U 3134 TIP3 H2 HT 0.417000 1.0080 0 1151 U 3140 TIP3 OH2 OT -0.834000 15.9994 0 1152 U 3140 TIP3 H1 HT 0.417000 1.0080 0 1153 U 3140 TIP3 H2 HT 0.417000 1.0080 0 1154 U 3150 TIP3 OH2 OT -0.834000 15.9994 0 1155 U 3150 TIP3 H1 HT 0.417000 1.0080 0 1156 U 3150 TIP3 H2 HT 0.417000 1.0080 0 1157 U 3152 TIP3 OH2 OT -0.834000 15.9994 0 1158 U 3152 TIP3 H1 HT 0.417000 1.0080 0 1159 U 3152 TIP3 H2 HT 0.417000 1.0080 0 1160 U 3154 TIP3 OH2 OT -0.834000 15.9994 0 1161 U 3154 TIP3 H1 HT 0.417000 1.0080 0 1162 U 3154 TIP3 H2 HT 0.417000 1.0080 0 1163 U 3155 TIP3 OH2 OT -0.834000 15.9994 0 1164 U 3155 TIP3 H1 HT 0.417000 1.0080 0 1165 U 3155 TIP3 H2 HT 0.417000 1.0080 0 1166 U 3157 TIP3 OH2 OT -0.834000 15.9994 0 1167 U 3157 TIP3 H1 HT 0.417000 1.0080 0 1168 U 3157 TIP3 H2 HT 0.417000 1.0080 0 1169 U 3173 TIP3 OH2 OT -0.834000 15.9994 0 1170 U 3173 TIP3 H1 HT 0.417000 1.0080 0 1171 U 3173 TIP3 H2 HT 0.417000 1.0080 0 1172 U 3177 TIP3 OH2 OT -0.834000 15.9994 0 1173 U 3177 TIP3 H1 HT 0.417000 1.0080 0 1174 U 3177 TIP3 H2 HT 0.417000 1.0080 0 1175 U 3179 TIP3 OH2 OT -0.834000 15.9994 0 1176 U 3179 TIP3 H1 HT 0.417000 1.0080 0 1177 U 3179 TIP3 H2 HT 0.417000 1.0080 0 1178 U 3180 TIP3 OH2 OT -0.834000 15.9994 0 1179 U 3180 TIP3 H1 HT 0.417000 1.0080 0 1180 U 3180 TIP3 H2 HT 0.417000 1.0080 0 1181 U 3181 TIP3 OH2 OT -0.834000 15.9994 0 1182 U 3181 TIP3 H1 HT 0.417000 1.0080 0 1183 U 3181 TIP3 H2 HT 0.417000 1.0080 0 1184 U 3192 TIP3 OH2 OT -0.834000 15.9994 0 1185 U 3192 TIP3 H1 HT 0.417000 1.0080 0 1186 U 3192 TIP3 H2 HT 0.417000 1.0080 0 1187 U 3195 TIP3 OH2 OT -0.834000 15.9994 0 1188 U 3195 TIP3 H1 HT 0.417000 1.0080 0 1189 U 3195 TIP3 H2 HT 0.417000 1.0080 0 1190 U 3196 TIP3 OH2 OT -0.834000 15.9994 0 1191 U 3196 TIP3 H1 HT 0.417000 1.0080 0 1192 U 3196 TIP3 H2 HT 0.417000 1.0080 0 1193 U 3198 TIP3 OH2 OT -0.834000 15.9994 0 1194 U 3198 TIP3 H1 HT 0.417000 1.0080 0 1195 U 3198 TIP3 H2 HT 0.417000 1.0080 0 1196 U 3202 TIP3 OH2 OT -0.834000 15.9994 0 1197 U 3202 TIP3 H1 HT 0.417000 1.0080 0 1198 U 3202 TIP3 H2 HT 0.417000 1.0080 0 1199 U 3214 TIP3 OH2 OT -0.834000 15.9994 0 1200 U 3214 TIP3 H1 HT 0.417000 1.0080 0 1201 U 3214 TIP3 H2 HT 0.417000 1.0080 0 1202 U 3215 TIP3 OH2 OT -0.834000 15.9994 0 1203 U 3215 TIP3 H1 HT 0.417000 1.0080 0 1204 U 3215 TIP3 H2 HT 0.417000 1.0080 0 1205 U 3216 TIP3 OH2 OT -0.834000 15.9994 0 1206 U 3216 TIP3 H1 HT 0.417000 1.0080 0 1207 U 3216 TIP3 H2 HT 0.417000 1.0080 0 1208 U 3218 TIP3 OH2 OT -0.834000 15.9994 0 1209 U 3218 TIP3 H1 HT 0.417000 1.0080 0 1210 U 3218 TIP3 H2 HT 0.417000 1.0080 0 1211 U 3219 TIP3 OH2 OT -0.834000 15.9994 0 1212 U 3219 TIP3 H1 HT 0.417000 1.0080 0 1213 U 3219 TIP3 H2 HT 0.417000 1.0080 0 1214 U 3223 TIP3 OH2 OT -0.834000 15.9994 0 1215 U 3223 TIP3 H1 HT 0.417000 1.0080 0 1216 U 3223 TIP3 H2 HT 0.417000 1.0080 0 1217 U 3234 TIP3 OH2 OT -0.834000 15.9994 0 1218 U 3234 TIP3 H1 HT 0.417000 1.0080 0 1219 U 3234 TIP3 H2 HT 0.417000 1.0080 0 1220 U 3236 TIP3 OH2 OT -0.834000 15.9994 0 1221 U 3236 TIP3 H1 HT 0.417000 1.0080 0 1222 U 3236 TIP3 H2 HT 0.417000 1.0080 0 1223 U 3237 TIP3 OH2 OT -0.834000 15.9994 0 1224 U 3237 TIP3 H1 HT 0.417000 1.0080 0 1225 U 3237 TIP3 H2 HT 0.417000 1.0080 0 1226 U 3238 TIP3 OH2 OT -0.834000 15.9994 0 1227 U 3238 TIP3 H1 HT 0.417000 1.0080 0 1228 U 3238 TIP3 H2 HT 0.417000 1.0080 0 1229 U 3242 TIP3 OH2 OT -0.834000 15.9994 0 1230 U 3242 TIP3 H1 HT 0.417000 1.0080 0 1231 U 3242 TIP3 H2 HT 0.417000 1.0080 0 1232 U 3244 TIP3 OH2 OT -0.834000 15.9994 0 1233 U 3244 TIP3 H1 HT 0.417000 1.0080 0 1234 U 3244 TIP3 H2 HT 0.417000 1.0080 0 1235 U 3257 TIP3 OH2 OT -0.834000 15.9994 0 1236 U 3257 TIP3 H1 HT 0.417000 1.0080 0 1237 U 3257 TIP3 H2 HT 0.417000 1.0080 0 1238 U 3258 TIP3 OH2 OT -0.834000 15.9994 0 1239 U 3258 TIP3 H1 HT 0.417000 1.0080 0 1240 U 3258 TIP3 H2 HT 0.417000 1.0080 0 1241 U 3262 TIP3 OH2 OT -0.834000 15.9994 0 1242 U 3262 TIP3 H1 HT 0.417000 1.0080 0 1243 U 3262 TIP3 H2 HT 0.417000 1.0080 0 1244 U 3263 TIP3 OH2 OT -0.834000 15.9994 0 1245 U 3263 TIP3 H1 HT 0.417000 1.0080 0 1246 U 3263 TIP3 H2 HT 0.417000 1.0080 0 1247 U 3274 TIP3 OH2 OT -0.834000 15.9994 0 1248 U 3274 TIP3 H1 HT 0.417000 1.0080 0 1249 U 3274 TIP3 H2 HT 0.417000 1.0080 0 1250 U 3280 TIP3 OH2 OT -0.834000 15.9994 0 1251 U 3280 TIP3 H1 HT 0.417000 1.0080 0 1252 U 3280 TIP3 H2 HT 0.417000 1.0080 0 1253 U 3302 TIP3 OH2 OT -0.834000 15.9994 0 1254 U 3302 TIP3 H1 HT 0.417000 1.0080 0 1255 U 3302 TIP3 H2 HT 0.417000 1.0080 0 1256 U 3303 TIP3 OH2 OT -0.834000 15.9994 0 1257 U 3303 TIP3 H1 HT 0.417000 1.0080 0 1258 U 3303 TIP3 H2 HT 0.417000 1.0080 0 1259 U 3304 TIP3 OH2 OT -0.834000 15.9994 0 1260 U 3304 TIP3 H1 HT 0.417000 1.0080 0 1261 U 3304 TIP3 H2 HT 0.417000 1.0080 0 1262 U 3367 TIP3 OH2 OT -0.834000 15.9994 0 1263 U 3367 TIP3 H1 HT 0.417000 1.0080 0 1264 U 3367 TIP3 H2 HT 0.417000 1.0080 0 1265 U 3426 TIP3 OH2 OT -0.834000 15.9994 0 1266 U 3426 TIP3 H1 HT 0.417000 1.0080 0 1267 U 3426 TIP3 H2 HT 0.417000 1.0080 0 1268 U 3442 TIP3 OH2 OT -0.834000 15.9994 0 1269 U 3442 TIP3 H1 HT 0.417000 1.0080 0 1270 U 3442 TIP3 H2 HT 0.417000 1.0080 0 1271 U 3447 TIP3 OH2 OT -0.834000 15.9994 0 1272 U 3447 TIP3 H1 HT 0.417000 1.0080 0 1273 U 3447 TIP3 H2 HT 0.417000 1.0080 0 1274 U 3484 TIP3 OH2 OT -0.834000 15.9994 0 1275 U 3484 TIP3 H1 HT 0.417000 1.0080 0 1276 U 3484 TIP3 H2 HT 0.417000 1.0080 0 1277 U 3526 TIP3 OH2 OT -0.834000 15.9994 0 1278 U 3526 TIP3 H1 HT 0.417000 1.0080 0 1279 U 3526 TIP3 H2 HT 0.417000 1.0080 0 1280 U 3527 TIP3 OH2 OT -0.834000 15.9994 0 1281 U 3527 TIP3 H1 HT 0.417000 1.0080 0 1282 U 3527 TIP3 H2 HT 0.417000 1.0080 0 1283 U 3534 TIP3 OH2 OT -0.834000 15.9994 0 1284 U 3534 TIP3 H1 HT 0.417000 1.0080 0 1285 U 3534 TIP3 H2 HT 0.417000 1.0080 0 1286 U 3545 TIP3 OH2 OT -0.834000 15.9994 0 1287 U 3545 TIP3 H1 HT 0.417000 1.0080 0 1288 U 3545 TIP3 H2 HT 0.417000 1.0080 0 1289 U 3548 TIP3 OH2 OT -0.834000 15.9994 0 1290 U 3548 TIP3 H1 HT 0.417000 1.0080 0 1291 U 3548 TIP3 H2 HT 0.417000 1.0080 0 1292 U 3554 TIP3 OH2 OT -0.834000 15.9994 0 1293 U 3554 TIP3 H1 HT 0.417000 1.0080 0 1294 U 3554 TIP3 H2 HT 0.417000 1.0080 0 1295 U 3556 TIP3 OH2 OT -0.834000 15.9994 0 1296 U 3556 TIP3 H1 HT 0.417000 1.0080 0 1297 U 3556 TIP3 H2 HT 0.417000 1.0080 0 1298 U 3573 TIP3 OH2 OT -0.834000 15.9994 0 1299 U 3573 TIP3 H1 HT 0.417000 1.0080 0 1300 U 3573 TIP3 H2 HT 0.417000 1.0080 0 1301 U 3575 TIP3 OH2 OT -0.834000 15.9994 0 1302 U 3575 TIP3 H1 HT 0.417000 1.0080 0 1303 U 3575 TIP3 H2 HT 0.417000 1.0080 0 1304 U 3595 TIP3 OH2 OT -0.834000 15.9994 0 1305 U 3595 TIP3 H1 HT 0.417000 1.0080 0 1306 U 3595 TIP3 H2 HT 0.417000 1.0080 0 1307 U 3596 TIP3 OH2 OT -0.834000 15.9994 0 1308 U 3596 TIP3 H1 HT 0.417000 1.0080 0 1309 U 3596 TIP3 H2 HT 0.417000 1.0080 0 1310 U 3597 TIP3 OH2 OT -0.834000 15.9994 0 1311 U 3597 TIP3 H1 HT 0.417000 1.0080 0 1312 U 3597 TIP3 H2 HT 0.417000 1.0080 0 1313 U 3599 TIP3 OH2 OT -0.834000 15.9994 0 1314 U 3599 TIP3 H1 HT 0.417000 1.0080 0 1315 U 3599 TIP3 H2 HT 0.417000 1.0080 0 1316 U 3612 TIP3 OH2 OT -0.834000 15.9994 0 1317 U 3612 TIP3 H1 HT 0.417000 1.0080 0 1318 U 3612 TIP3 H2 HT 0.417000 1.0080 0 1319 U 3614 TIP3 OH2 OT -0.834000 15.9994 0 1320 U 3614 TIP3 H1 HT 0.417000 1.0080 0 1321 U 3614 TIP3 H2 HT 0.417000 1.0080 0 1322 U 3615 TIP3 OH2 OT -0.834000 15.9994 0 1323 U 3615 TIP3 H1 HT 0.417000 1.0080 0 1324 U 3615 TIP3 H2 HT 0.417000 1.0080 0 1325 U 3619 TIP3 OH2 OT -0.834000 15.9994 0 1326 U 3619 TIP3 H1 HT 0.417000 1.0080 0 1327 U 3619 TIP3 H2 HT 0.417000 1.0080 0 1328 U 3650 TIP3 OH2 OT -0.834000 15.9994 0 1329 U 3650 TIP3 H1 HT 0.417000 1.0080 0 1330 U 3650 TIP3 H2 HT 0.417000 1.0080 0 1331 U 3651 TIP3 OH2 OT -0.834000 15.9994 0 1332 U 3651 TIP3 H1 HT 0.417000 1.0080 0 1333 U 3651 TIP3 H2 HT 0.417000 1.0080 0 1334 U 3653 TIP3 OH2 OT -0.834000 15.9994 0 1335 U 3653 TIP3 H1 HT 0.417000 1.0080 0 1336 U 3653 TIP3 H2 HT 0.417000 1.0080 0 1337 U 3660 TIP3 OH2 OT -0.834000 15.9994 0 1338 U 3660 TIP3 H1 HT 0.417000 1.0080 0 1339 U 3660 TIP3 H2 HT 0.417000 1.0080 0 1340 U 3661 TIP3 OH2 OT -0.834000 15.9994 0 1341 U 3661 TIP3 H1 HT 0.417000 1.0080 0 1342 U 3661 TIP3 H2 HT 0.417000 1.0080 0 1343 U 3662 TIP3 OH2 OT -0.834000 15.9994 0 1344 U 3662 TIP3 H1 HT 0.417000 1.0080 0 1345 U 3662 TIP3 H2 HT 0.417000 1.0080 0 1346 U 3703 TIP3 OH2 OT -0.834000 15.9994 0 1347 U 3703 TIP3 H1 HT 0.417000 1.0080 0 1348 U 3703 TIP3 H2 HT 0.417000 1.0080 0 1349 U 3707 TIP3 OH2 OT -0.834000 15.9994 0 1350 U 3707 TIP3 H1 HT 0.417000 1.0080 0 1351 U 3707 TIP3 H2 HT 0.417000 1.0080 0 1352 U 3708 TIP3 OH2 OT -0.834000 15.9994 0 1353 U 3708 TIP3 H1 HT 0.417000 1.0080 0 1354 U 3708 TIP3 H2 HT 0.417000 1.0080 0 1355 U 3718 TIP3 OH2 OT -0.834000 15.9994 0 1356 U 3718 TIP3 H1 HT 0.417000 1.0080 0 1357 U 3718 TIP3 H2 HT 0.417000 1.0080 0 1358 U 3723 TIP3 OH2 OT -0.834000 15.9994 0 1359 U 3723 TIP3 H1 HT 0.417000 1.0080 0 1360 U 3723 TIP3 H2 HT 0.417000 1.0080 0 1361 U 3728 TIP3 OH2 OT -0.834000 15.9994 0 1362 U 3728 TIP3 H1 HT 0.417000 1.0080 0 1363 U 3728 TIP3 H2 HT 0.417000 1.0080 0 1364 U 3745 TIP3 OH2 OT -0.834000 15.9994 0 1365 U 3745 TIP3 H1 HT 0.417000 1.0080 0 1366 U 3745 TIP3 H2 HT 0.417000 1.0080 0 1367 U 3787 TIP3 OH2 OT -0.834000 15.9994 0 1368 U 3787 TIP3 H1 HT 0.417000 1.0080 0 1369 U 3787 TIP3 H2 HT 0.417000 1.0080 0 1370 U 3925 TIP3 OH2 OT -0.834000 15.9994 0 1371 U 3925 TIP3 H1 HT 0.417000 1.0080 0 1372 U 3925 TIP3 H2 HT 0.417000 1.0080 0 1373 U 3933 TIP3 OH2 OT -0.834000 15.9994 0 1374 U 3933 TIP3 H1 HT 0.417000 1.0080 0 1375 U 3933 TIP3 H2 HT 0.417000 1.0080 0 1376 U 3935 TIP3 OH2 OT -0.834000 15.9994 0 1377 U 3935 TIP3 H1 HT 0.417000 1.0080 0 1378 U 3935 TIP3 H2 HT 0.417000 1.0080 0 1379 U 3951 TIP3 OH2 OT -0.834000 15.9994 0 1380 U 3951 TIP3 H1 HT 0.417000 1.0080 0 1381 U 3951 TIP3 H2 HT 0.417000 1.0080 0 1382 U 3977 TIP3 OH2 OT -0.834000 15.9994 0 1383 U 3977 TIP3 H1 HT 0.417000 1.0080 0 1384 U 3977 TIP3 H2 HT 0.417000 1.0080 0 1385 U 3991 TIP3 OH2 OT -0.834000 15.9994 0 1386 U 3991 TIP3 H1 HT 0.417000 1.0080 0 1387 U 3991 TIP3 H2 HT 0.417000 1.0080 0 1388 U 3995 TIP3 OH2 OT -0.834000 15.9994 0 1389 U 3995 TIP3 H1 HT 0.417000 1.0080 0 1390 U 3995 TIP3 H2 HT 0.417000 1.0080 0 1391 U 3996 TIP3 OH2 OT -0.834000 15.9994 0 1392 U 3996 TIP3 H1 HT 0.417000 1.0080 0 1393 U 3996 TIP3 H2 HT 0.417000 1.0080 0 1394 U 4009 TIP3 OH2 OT -0.834000 15.9994 0 1395 U 4009 TIP3 H1 HT 0.417000 1.0080 0 1396 U 4009 TIP3 H2 HT 0.417000 1.0080 0 1397 U 4012 TIP3 OH2 OT -0.834000 15.9994 0 1398 U 4012 TIP3 H1 HT 0.417000 1.0080 0 1399 U 4012 TIP3 H2 HT 0.417000 1.0080 0 1400 U 4015 TIP3 OH2 OT -0.834000 15.9994 0 1401 U 4015 TIP3 H1 HT 0.417000 1.0080 0 1402 U 4015 TIP3 H2 HT 0.417000 1.0080 0 1403 U 4017 TIP3 OH2 OT -0.834000 15.9994 0 1404 U 4017 TIP3 H1 HT 0.417000 1.0080 0 1405 U 4017 TIP3 H2 HT 0.417000 1.0080 0 1406 U 4035 TIP3 OH2 OT -0.834000 15.9994 0 1407 U 4035 TIP3 H1 HT 0.417000 1.0080 0 1408 U 4035 TIP3 H2 HT 0.417000 1.0080 0 1409 U 4036 TIP3 OH2 OT -0.834000 15.9994 0 1410 U 4036 TIP3 H1 HT 0.417000 1.0080 0 1411 U 4036 TIP3 H2 HT 0.417000 1.0080 0 1412 U 4037 TIP3 OH2 OT -0.834000 15.9994 0 1413 U 4037 TIP3 H1 HT 0.417000 1.0080 0 1414 U 4037 TIP3 H2 HT 0.417000 1.0080 0 1415 U 4039 TIP3 OH2 OT -0.834000 15.9994 0 1416 U 4039 TIP3 H1 HT 0.417000 1.0080 0 1417 U 4039 TIP3 H2 HT 0.417000 1.0080 0 1418 U 4055 TIP3 OH2 OT -0.834000 15.9994 0 1419 U 4055 TIP3 H1 HT 0.417000 1.0080 0 1420 U 4055 TIP3 H2 HT 0.417000 1.0080 0 1421 U 4059 TIP3 OH2 OT -0.834000 15.9994 0 1422 U 4059 TIP3 H1 HT 0.417000 1.0080 0 1423 U 4059 TIP3 H2 HT 0.417000 1.0080 0 1424 U 4074 TIP3 OH2 OT -0.834000 15.9994 0 1425 U 4074 TIP3 H1 HT 0.417000 1.0080 0 1426 U 4074 TIP3 H2 HT 0.417000 1.0080 0 1427 U 4076 TIP3 OH2 OT -0.834000 15.9994 0 1428 U 4076 TIP3 H1 HT 0.417000 1.0080 0 1429 U 4076 TIP3 H2 HT 0.417000 1.0080 0 1430 U 4077 TIP3 OH2 OT -0.834000 15.9994 0 1431 U 4077 TIP3 H1 HT 0.417000 1.0080 0 1432 U 4077 TIP3 H2 HT 0.417000 1.0080 0 1433 U 4079 TIP3 OH2 OT -0.834000 15.9994 0 1434 U 4079 TIP3 H1 HT 0.417000 1.0080 0 1435 U 4079 TIP3 H2 HT 0.417000 1.0080 0 1436 U 4081 TIP3 OH2 OT -0.834000 15.9994 0 1437 U 4081 TIP3 H1 HT 0.417000 1.0080 0 1438 U 4081 TIP3 H2 HT 0.417000 1.0080 0 1439 U 4083 TIP3 OH2 OT -0.834000 15.9994 0 1440 U 4083 TIP3 H1 HT 0.417000 1.0080 0 1441 U 4083 TIP3 H2 HT 0.417000 1.0080 0 1442 U 4104 TIP3 OH2 OT -0.834000 15.9994 0 1443 U 4104 TIP3 H1 HT 0.417000 1.0080 0 1444 U 4104 TIP3 H2 HT 0.417000 1.0080 0 1445 U 4138 TIP3 OH2 OT -0.834000 15.9994 0 1446 U 4138 TIP3 H1 HT 0.417000 1.0080 0 1447 U 4138 TIP3 H2 HT 0.417000 1.0080 0 1448 U 4139 TIP3 OH2 OT -0.834000 15.9994 0 1449 U 4139 TIP3 H1 HT 0.417000 1.0080 0 1450 U 4139 TIP3 H2 HT 0.417000 1.0080 0 1451 U 4141 TIP3 OH2 OT -0.834000 15.9994 0 1452 U 4141 TIP3 H1 HT 0.417000 1.0080 0 1453 U 4141 TIP3 H2 HT 0.417000 1.0080 0 1454 U 4143 TIP3 OH2 OT -0.834000 15.9994 0 1455 U 4143 TIP3 H1 HT 0.417000 1.0080 0 1456 U 4143 TIP3 H2 HT 0.417000 1.0080 0 1457 U 4179 TIP3 OH2 OT -0.834000 15.9994 0 1458 U 4179 TIP3 H1 HT 0.417000 1.0080 0 1459 U 4179 TIP3 H2 HT 0.417000 1.0080 0 1460 U 4184 TIP3 OH2 OT -0.834000 15.9994 0 1461 U 4184 TIP3 H1 HT 0.417000 1.0080 0 1462 U 4184 TIP3 H2 HT 0.417000 1.0080 0 1463 U 4202 TIP3 OH2 OT -0.834000 15.9994 0 1464 U 4202 TIP3 H1 HT 0.417000 1.0080 0 1465 U 4202 TIP3 H2 HT 0.417000 1.0080 0 1466 U 4356 TIP3 OH2 OT -0.834000 15.9994 0 1467 U 4356 TIP3 H1 HT 0.417000 1.0080 0 1468 U 4356 TIP3 H2 HT 0.417000 1.0080 0 1469 U 4380 TIP3 OH2 OT -0.834000 15.9994 0 1470 U 4380 TIP3 H1 HT 0.417000 1.0080 0 1471 U 4380 TIP3 H2 HT 0.417000 1.0080 0 1472 U 4394 TIP3 OH2 OT -0.834000 15.9994 0 1473 U 4394 TIP3 H1 HT 0.417000 1.0080 0 1474 U 4394 TIP3 H2 HT 0.417000 1.0080 0 1475 U 4417 TIP3 OH2 OT -0.834000 15.9994 0 1476 U 4417 TIP3 H1 HT 0.417000 1.0080 0 1477 U 4417 TIP3 H2 HT 0.417000 1.0080 0 1478 U 4419 TIP3 OH2 OT -0.834000 15.9994 0 1479 U 4419 TIP3 H1 HT 0.417000 1.0080 0 1480 U 4419 TIP3 H2 HT 0.417000 1.0080 0 1481 U 4455 TIP3 OH2 OT -0.834000 15.9994 0 1482 U 4455 TIP3 H1 HT 0.417000 1.0080 0 1483 U 4455 TIP3 H2 HT 0.417000 1.0080 0 1484 U 4480 TIP3 OH2 OT -0.834000 15.9994 0 1485 U 4480 TIP3 H1 HT 0.417000 1.0080 0 1486 U 4480 TIP3 H2 HT 0.417000 1.0080 0 1487 U 4516 TIP3 OH2 OT -0.834000 15.9994 0 1488 U 4516 TIP3 H1 HT 0.417000 1.0080 0 1489 U 4516 TIP3 H2 HT 0.417000 1.0080 0 1490 U 4519 TIP3 OH2 OT -0.834000 15.9994 0 1491 U 4519 TIP3 H1 HT 0.417000 1.0080 0 1492 U 4519 TIP3 H2 HT 0.417000 1.0080 0 1493 U 4523 TIP3 OH2 OT -0.834000 15.9994 0 1494 U 4523 TIP3 H1 HT 0.417000 1.0080 0 1495 U 4523 TIP3 H2 HT 0.417000 1.0080 0 1496 U 4537 TIP3 OH2 OT -0.834000 15.9994 0 1497 U 4537 TIP3 H1 HT 0.417000 1.0080 0 1498 U 4537 TIP3 H2 HT 0.417000 1.0080 0 1499 U 4553 TIP3 OH2 OT -0.834000 15.9994 0 1500 U 4553 TIP3 H1 HT 0.417000 1.0080 0 1501 U 4553 TIP3 H2 HT 0.417000 1.0080 0 1502 U 4559 TIP3 OH2 OT -0.834000 15.9994 0 1503 U 4559 TIP3 H1 HT 0.417000 1.0080 0 1504 U 4559 TIP3 H2 HT 0.417000 1.0080 0 1505 U 4578 TIP3 OH2 OT -0.834000 15.9994 0 1506 U 4578 TIP3 H1 HT 0.417000 1.0080 0 1507 U 4578 TIP3 H2 HT 0.417000 1.0080 0 1508 U 4582 TIP3 OH2 OT -0.834000 15.9994 0 1509 U 4582 TIP3 H1 HT 0.417000 1.0080 0 1510 U 4582 TIP3 H2 HT 0.417000 1.0080 0 1511 U 4588 TIP3 OH2 OT -0.834000 15.9994 0 1512 U 4588 TIP3 H1 HT 0.417000 1.0080 0 1513 U 4588 TIP3 H2 HT 0.417000 1.0080 0 1514 U 4606 TIP3 OH2 OT -0.834000 15.9994 0 1515 U 4606 TIP3 H1 HT 0.417000 1.0080 0 1516 U 4606 TIP3 H2 HT 0.417000 1.0080 0 1517 U 4625 TIP3 OH2 OT -0.834000 15.9994 0 1518 U 4625 TIP3 H1 HT 0.417000 1.0080 0 1519 U 4625 TIP3 H2 HT 0.417000 1.0080 0 1520 U 4663 TIP3 OH2 OT -0.834000 15.9994 0 1521 U 4663 TIP3 H1 HT 0.417000 1.0080 0 1522 U 4663 TIP3 H2 HT 0.417000 1.0080 0 1523 U 4797 TIP3 OH2 OT -0.834000 15.9994 0 1524 U 4797 TIP3 H1 HT 0.417000 1.0080 0 1525 U 4797 TIP3 H2 HT 0.417000 1.0080 0 1526 U 4798 TIP3 OH2 OT -0.834000 15.9994 0 1527 U 4798 TIP3 H1 HT 0.417000 1.0080 0 1528 U 4798 TIP3 H2 HT 0.417000 1.0080 0 1529 U 4809 TIP3 OH2 OT -0.834000 15.9994 0 1530 U 4809 TIP3 H1 HT 0.417000 1.0080 0 1531 U 4809 TIP3 H2 HT 0.417000 1.0080 0 1532 U 4835 TIP3 OH2 OT -0.834000 15.9994 0 1533 U 4835 TIP3 H1 HT 0.417000 1.0080 0 1534 U 4835 TIP3 H2 HT 0.417000 1.0080 0 1535 U 4837 TIP3 OH2 OT -0.834000 15.9994 0 1536 U 4837 TIP3 H1 HT 0.417000 1.0080 0 1537 U 4837 TIP3 H2 HT 0.417000 1.0080 0 1538 U 4849 TIP3 OH2 OT -0.834000 15.9994 0 1539 U 4849 TIP3 H1 HT 0.417000 1.0080 0 1540 U 4849 TIP3 H2 HT 0.417000 1.0080 0 1541 U 4856 TIP3 OH2 OT -0.834000 15.9994 0 1542 U 4856 TIP3 H1 HT 0.417000 1.0080 0 1543 U 4856 TIP3 H2 HT 0.417000 1.0080 0 1544 U 4857 TIP3 OH2 OT -0.834000 15.9994 0 1545 U 4857 TIP3 H1 HT 0.417000 1.0080 0 1546 U 4857 TIP3 H2 HT 0.417000 1.0080 0 1547 U 4899 TIP3 OH2 OT -0.834000 15.9994 0 1548 U 4899 TIP3 H1 HT 0.417000 1.0080 0 1549 U 4899 TIP3 H2 HT 0.417000 1.0080 0 1550 U 4916 TIP3 OH2 OT -0.834000 15.9994 0 1551 U 4916 TIP3 H1 HT 0.417000 1.0080 0 1552 U 4916 TIP3 H2 HT 0.417000 1.0080 0 1553 U 4937 TIP3 OH2 OT -0.834000 15.9994 0 1554 U 4937 TIP3 H1 HT 0.417000 1.0080 0 1555 U 4937 TIP3 H2 HT 0.417000 1.0080 0 1556 U 4963 TIP3 OH2 OT -0.834000 15.9994 0 1557 U 4963 TIP3 H1 HT 0.417000 1.0080 0 1558 U 4963 TIP3 H2 HT 0.417000 1.0080 0 1559 U 4978 TIP3 OH2 OT -0.834000 15.9994 0 1560 U 4978 TIP3 H1 HT 0.417000 1.0080 0 1561 U 4978 TIP3 H2 HT 0.417000 1.0080 0 1562 U 4981 TIP3 OH2 OT -0.834000 15.9994 0 1563 U 4981 TIP3 H1 HT 0.417000 1.0080 0 1564 U 4981 TIP3 H2 HT 0.417000 1.0080 0 1565 U 5234 TIP3 OH2 OT -0.834000 15.9994 0 1566 U 5234 TIP3 H1 HT 0.417000 1.0080 0 1567 U 5234 TIP3 H2 HT 0.417000 1.0080 0 1568 U 5320 TIP3 OH2 OT -0.834000 15.9994 0 1569 U 5320 TIP3 H1 HT 0.417000 1.0080 0 1570 U 5320 TIP3 H2 HT 0.417000 1.0080 0 1571 U 5341 TIP3 OH2 OT -0.834000 15.9994 0 1572 U 5341 TIP3 H1 HT 0.417000 1.0080 0 1573 U 5341 TIP3 H2 HT 0.417000 1.0080 0 1574 U 5355 TIP3 OH2 OT -0.834000 15.9994 0 1575 U 5355 TIP3 H1 HT 0.417000 1.0080 0 1576 U 5355 TIP3 H2 HT 0.417000 1.0080 0 1577 U 5356 TIP3 OH2 OT -0.834000 15.9994 0 1578 U 5356 TIP3 H1 HT 0.417000 1.0080 0 1579 U 5356 TIP3 H2 HT 0.417000 1.0080 0 1580 U 5366 TIP3 OH2 OT -0.834000 15.9994 0 1581 U 5366 TIP3 H1 HT 0.417000 1.0080 0 1582 U 5366 TIP3 H2 HT 0.417000 1.0080 0 1583 U 5385 TIP3 OH2 OT -0.834000 15.9994 0 1584 U 5385 TIP3 H1 HT 0.417000 1.0080 0 1585 U 5385 TIP3 H2 HT 0.417000 1.0080 0 1586 U 5393 TIP3 OH2 OT -0.834000 15.9994 0 1587 U 5393 TIP3 H1 HT 0.417000 1.0080 0 1588 U 5393 TIP3 H2 HT 0.417000 1.0080 0 1589 U 5404 TIP3 OH2 OT -0.834000 15.9994 0 1590 U 5404 TIP3 H1 HT 0.417000 1.0080 0 1591 U 5404 TIP3 H2 HT 0.417000 1.0080 0 1592 U 5418 TIP3 OH2 OT -0.834000 15.9994 0 1593 U 5418 TIP3 H1 HT 0.417000 1.0080 0 1594 U 5418 TIP3 H2 HT 0.417000 1.0080 0 1595 U 5463 TIP3 OH2 OT -0.834000 15.9994 0 1596 U 5463 TIP3 H1 HT 0.417000 1.0080 0 1597 U 5463 TIP3 H2 HT 0.417000 1.0080 0 1598 U 5723 TIP3 OH2 OT -0.834000 15.9994 0 1599 U 5723 TIP3 H1 HT 0.417000 1.0080 0 1600 U 5723 TIP3 H2 HT 0.417000 1.0080 0 1601 U 5782 TIP3 OH2 OT -0.834000 15.9994 0 1602 U 5782 TIP3 H1 HT 0.417000 1.0080 0 1603 U 5782 TIP3 H2 HT 0.417000 1.0080 0 1604 U 5827 TIP3 OH2 OT -0.834000 15.9994 0 1605 U 5827 TIP3 H1 HT 0.417000 1.0080 0 1606 U 5827 TIP3 H2 HT 0.417000 1.0080 0 1607 U 5899 TIP3 OH2 OT -0.834000 15.9994 0 1608 U 5899 TIP3 H1 HT 0.417000 1.0080 0 1609 U 5899 TIP3 H2 HT 0.417000 1.0080 0 1610 U 5901 TIP3 OH2 OT -0.834000 15.9994 0 1611 U 5901 TIP3 H1 HT 0.417000 1.0080 0 1612 U 5901 TIP3 H2 HT 0.417000 1.0080 0 1613 U 6158 TIP3 OH2 OT -0.834000 15.9994 0 1614 U 6158 TIP3 H1 HT 0.417000 1.0080 0 1615 U 6158 TIP3 H2 HT 0.417000 1.0080 0 1616 U 6240 TIP3 OH2 OT -0.834000 15.9994 0 1617 U 6240 TIP3 H1 HT 0.417000 1.0080 0 1618 U 6240 TIP3 H2 HT 0.417000 1.0080 0 1619 U 6325 TIP3 OH2 OT -0.834000 15.9994 0 1620 U 6325 TIP3 H1 HT 0.417000 1.0080 0 1621 U 6325 TIP3 H2 HT 0.417000 1.0080 0 1622 U 6671 TIP3 OH2 OT -0.834000 15.9994 0 1623 U 6671 TIP3 H1 HT 0.417000 1.0080 0 1624 U 6671 TIP3 H2 HT 0.417000 1.0080 0 1625 U 6684 TIP3 OH2 OT -0.834000 15.9994 0 1626 U 6684 TIP3 H1 HT 0.417000 1.0080 0 1627 U 6684 TIP3 H2 HT 0.417000 1.0080 0 1628 U 6726 TIP3 OH2 OT -0.834000 15.9994 0 1629 U 6726 TIP3 H1 HT 0.417000 1.0080 0 1630 U 6726 TIP3 H2 HT 0.417000 1.0080 0 1631 U 7141 TIP3 OH2 OT -0.834000 15.9994 0 1632 U 7141 TIP3 H1 HT 0.417000 1.0080 0 1633 U 7141 TIP3 H2 HT 0.417000 1.0080 0 1634 U 7222 TIP3 OH2 OT -0.834000 15.9994 0 1635 U 7222 TIP3 H1 HT 0.417000 1.0080 0 1636 U 7222 TIP3 H2 HT 0.417000 1.0080 0 1637 U 7479 TIP3 OH2 OT -0.834000 15.9994 0 1638 U 7479 TIP3 H1 HT 0.417000 1.0080 0 1639 U 7479 TIP3 H2 HT 0.417000 1.0080 0 1640 U 7510 TIP3 OH2 OT -0.834000 15.9994 0 1641 U 7510 TIP3 H1 HT 0.417000 1.0080 0 1642 U 7510 TIP3 H2 HT 0.417000 1.0080 0 1643 U 7563 TIP3 OH2 OT -0.834000 15.9994 0 1644 U 7563 TIP3 H1 HT 0.417000 1.0080 0 1645 U 7563 TIP3 H2 HT 0.417000 1.0080 0 1646 U 7568 TIP3 OH2 OT -0.834000 15.9994 0 1647 U 7568 TIP3 H1 HT 0.417000 1.0080 0 1648 U 7568 TIP3 H2 HT 0.417000 1.0080 0 1649 U 7605 TIP3 OH2 OT -0.834000 15.9994 0 1650 U 7605 TIP3 H1 HT 0.417000 1.0080 0 1651 U 7605 TIP3 H2 HT 0.417000 1.0080 0 1652 U 7630 TIP3 OH2 OT -0.834000 15.9994 0 1653 U 7630 TIP3 H1 HT 0.417000 1.0080 0 1654 U 7630 TIP3 H2 HT 0.417000 1.0080 0 1655 U 7631 TIP3 OH2 OT -0.834000 15.9994 0 1656 U 7631 TIP3 H1 HT 0.417000 1.0080 0 1657 U 7631 TIP3 H2 HT 0.417000 1.0080 0 1658 U 7647 TIP3 OH2 OT -0.834000 15.9994 0 1659 U 7647 TIP3 H1 HT 0.417000 1.0080 0 1660 U 7647 TIP3 H2 HT 0.417000 1.0080 0 1661 U 7650 TIP3 OH2 OT -0.834000 15.9994 0 1662 U 7650 TIP3 H1 HT 0.417000 1.0080 0 1663 U 7650 TIP3 H2 HT 0.417000 1.0080 0 1664 U 7707 TIP3 OH2 OT -0.834000 15.9994 0 1665 U 7707 TIP3 H1 HT 0.417000 1.0080 0 1666 U 7707 TIP3 H2 HT 0.417000 1.0080 0 1667 U 7739 TIP3 OH2 OT -0.834000 15.9994 0 1668 U 7739 TIP3 H1 HT 0.417000 1.0080 0 1669 U 7739 TIP3 H2 HT 0.417000 1.0080 0 1670 U 7945 TIP3 OH2 OT -0.834000 15.9994 0 1671 U 7945 TIP3 H1 HT 0.417000 1.0080 0 1672 U 7945 TIP3 H2 HT 0.417000 1.0080 0 1673 U 7985 TIP3 OH2 OT -0.834000 15.9994 0 1674 U 7985 TIP3 H1 HT 0.417000 1.0080 0 1675 U 7985 TIP3 H2 HT 0.417000 1.0080 0 1676 U 8023 TIP3 OH2 OT -0.834000 15.9994 0 1677 U 8023 TIP3 H1 HT 0.417000 1.0080 0 1678 U 8023 TIP3 H2 HT 0.417000 1.0080 0 1679 U 8024 TIP3 OH2 OT -0.834000 15.9994 0 1680 U 8024 TIP3 H1 HT 0.417000 1.0080 0 1681 U 8024 TIP3 H2 HT 0.417000 1.0080 0 1682 U 8029 TIP3 OH2 OT -0.834000 15.9994 0 1683 U 8029 TIP3 H1 HT 0.417000 1.0080 0 1684 U 8029 TIP3 H2 HT 0.417000 1.0080 0 1685 U 8046 TIP3 OH2 OT -0.834000 15.9994 0 1686 U 8046 TIP3 H1 HT 0.417000 1.0080 0 1687 U 8046 TIP3 H2 HT 0.417000 1.0080 0 1688 U 8064 TIP3 OH2 OT -0.834000 15.9994 0 1689 U 8064 TIP3 H1 HT 0.417000 1.0080 0 1690 U 8064 TIP3 H2 HT 0.417000 1.0080 0 1691 U 8068 TIP3 OH2 OT -0.834000 15.9994 0 1692 U 8068 TIP3 H1 HT 0.417000 1.0080 0 1693 U 8068 TIP3 H2 HT 0.417000 1.0080 0 1694 U 8174 TIP3 OH2 OT -0.834000 15.9994 0 1695 U 8174 TIP3 H1 HT 0.417000 1.0080 0 1696 U 8174 TIP3 H2 HT 0.417000 1.0080 0 1697 U 8364 TIP3 OH2 OT -0.834000 15.9994 0 1698 U 8364 TIP3 H1 HT 0.417000 1.0080 0 1699 U 8364 TIP3 H2 HT 0.417000 1.0080 0 1700 U 8370 TIP3 OH2 OT -0.834000 15.9994 0 1701 U 8370 TIP3 H1 HT 0.417000 1.0080 0 1702 U 8370 TIP3 H2 HT 0.417000 1.0080 0 1703 U 8403 TIP3 OH2 OT -0.834000 15.9994 0 1704 U 8403 TIP3 H1 HT 0.417000 1.0080 0 1705 U 8403 TIP3 H2 HT 0.417000 1.0080 0 1706 U 8408 TIP3 OH2 OT -0.834000 15.9994 0 1707 U 8408 TIP3 H1 HT 0.417000 1.0080 0 1708 U 8408 TIP3 H2 HT 0.417000 1.0080 0 1709 U 8411 TIP3 OH2 OT -0.834000 15.9994 0 1710 U 8411 TIP3 H1 HT 0.417000 1.0080 0 1711 U 8411 TIP3 H2 HT 0.417000 1.0080 0 1712 U 8425 TIP3 OH2 OT -0.834000 15.9994 0 1713 U 8425 TIP3 H1 HT 0.417000 1.0080 0 1714 U 8425 TIP3 H2 HT 0.417000 1.0080 0 1715 U 8441 TIP3 OH2 OT -0.834000 15.9994 0 1716 U 8441 TIP3 H1 HT 0.417000 1.0080 0 1717 U 8441 TIP3 H2 HT 0.417000 1.0080 0 1718 U 8466 TIP3 OH2 OT -0.834000 15.9994 0 1719 U 8466 TIP3 H1 HT 0.417000 1.0080 0 1720 U 8466 TIP3 H2 HT 0.417000 1.0080 0 1721 U 8468 TIP3 OH2 OT -0.834000 15.9994 0 1722 U 8468 TIP3 H1 HT 0.417000 1.0080 0 1723 U 8468 TIP3 H2 HT 0.417000 1.0080 0 1724 U 8491 TIP3 OH2 OT -0.834000 15.9994 0 1725 U 8491 TIP3 H1 HT 0.417000 1.0080 0 1726 U 8491 TIP3 H2 HT 0.417000 1.0080 0 1727 U 8528 TIP3 OH2 OT -0.834000 15.9994 0 1728 U 8528 TIP3 H1 HT 0.417000 1.0080 0 1729 U 8528 TIP3 H2 HT 0.417000 1.0080 0 1730 U 8534 TIP3 OH2 OT -0.834000 15.9994 0 1731 U 8534 TIP3 H1 HT 0.417000 1.0080 0 1732 U 8534 TIP3 H2 HT 0.417000 1.0080 0 1733 U 8536 TIP3 OH2 OT -0.834000 15.9994 0 1734 U 8536 TIP3 H1 HT 0.417000 1.0080 0 1735 U 8536 TIP3 H2 HT 0.417000 1.0080 0 1736 U 8548 TIP3 OH2 OT -0.834000 15.9994 0 1737 U 8548 TIP3 H1 HT 0.417000 1.0080 0 1738 U 8548 TIP3 H2 HT 0.417000 1.0080 0 1739 U 8555 TIP3 OH2 OT -0.834000 15.9994 0 1740 U 8555 TIP3 H1 HT 0.417000 1.0080 0 1741 U 8555 TIP3 H2 HT 0.417000 1.0080 0 1742 U 8556 TIP3 OH2 OT -0.834000 15.9994 0 1743 U 8556 TIP3 H1 HT 0.417000 1.0080 0 1744 U 8556 TIP3 H2 HT 0.417000 1.0080 0 1745 U 8558 TIP3 OH2 OT -0.834000 15.9994 0 1746 U 8558 TIP3 H1 HT 0.417000 1.0080 0 1747 U 8558 TIP3 H2 HT 0.417000 1.0080 0 1748 U 8574 TIP3 OH2 OT -0.834000 15.9994 0 1749 U 8574 TIP3 H1 HT 0.417000 1.0080 0 1750 U 8574 TIP3 H2 HT 0.417000 1.0080 0 1751 U 8760 TIP3 OH2 OT -0.834000 15.9994 0 1752 U 8760 TIP3 H1 HT 0.417000 1.0080 0 1753 U 8760 TIP3 H2 HT 0.417000 1.0080 0 1754 U 8780 TIP3 OH2 OT -0.834000 15.9994 0 1755 U 8780 TIP3 H1 HT 0.417000 1.0080 0 1756 U 8780 TIP3 H2 HT 0.417000 1.0080 0 1757 U 8801 TIP3 OH2 OT -0.834000 15.9994 0 1758 U 8801 TIP3 H1 HT 0.417000 1.0080 0 1759 U 8801 TIP3 H2 HT 0.417000 1.0080 0 1760 U 8822 TIP3 OH2 OT -0.834000 15.9994 0 1761 U 8822 TIP3 H1 HT 0.417000 1.0080 0 1762 U 8822 TIP3 H2 HT 0.417000 1.0080 0 1763 U 8829 TIP3 OH2 OT -0.834000 15.9994 0 1764 U 8829 TIP3 H1 HT 0.417000 1.0080 0 1765 U 8829 TIP3 H2 HT 0.417000 1.0080 0 1766 U 8843 TIP3 OH2 OT -0.834000 15.9994 0 1767 U 8843 TIP3 H1 HT 0.417000 1.0080 0 1768 U 8843 TIP3 H2 HT 0.417000 1.0080 0 1769 U 8845 TIP3 OH2 OT -0.834000 15.9994 0 1770 U 8845 TIP3 H1 HT 0.417000 1.0080 0 1771 U 8845 TIP3 H2 HT 0.417000 1.0080 0 1772 U 8852 TIP3 OH2 OT -0.834000 15.9994 0 1773 U 8852 TIP3 H1 HT 0.417000 1.0080 0 1774 U 8852 TIP3 H2 HT 0.417000 1.0080 0 1775 U 8865 TIP3 OH2 OT -0.834000 15.9994 0 1776 U 8865 TIP3 H1 HT 0.417000 1.0080 0 1777 U 8865 TIP3 H2 HT 0.417000 1.0080 0 1778 U 8869 TIP3 OH2 OT -0.834000 15.9994 0 1779 U 8869 TIP3 H1 HT 0.417000 1.0080 0 1780 U 8869 TIP3 H2 HT 0.417000 1.0080 0 1781 U 8870 TIP3 OH2 OT -0.834000 15.9994 0 1782 U 8870 TIP3 H1 HT 0.417000 1.0080 0 1783 U 8870 TIP3 H2 HT 0.417000 1.0080 0 1784 U 8887 TIP3 OH2 OT -0.834000 15.9994 0 1785 U 8887 TIP3 H1 HT 0.417000 1.0080 0 1786 U 8887 TIP3 H2 HT 0.417000 1.0080 0 1787 U 8895 TIP3 OH2 OT -0.834000 15.9994 0 1788 U 8895 TIP3 H1 HT 0.417000 1.0080 0 1789 U 8895 TIP3 H2 HT 0.417000 1.0080 0 1790 U 8903 TIP3 OH2 OT -0.834000 15.9994 0 1791 U 8903 TIP3 H1 HT 0.417000 1.0080 0 1792 U 8903 TIP3 H2 HT 0.417000 1.0080 0 1793 U 8905 TIP3 OH2 OT -0.834000 15.9994 0 1794 U 8905 TIP3 H1 HT 0.417000 1.0080 0 1795 U 8905 TIP3 H2 HT 0.417000 1.0080 0 1796 U 8926 TIP3 OH2 OT -0.834000 15.9994 0 1797 U 8926 TIP3 H1 HT 0.417000 1.0080 0 1798 U 8926 TIP3 H2 HT 0.417000 1.0080 0 1799 U 8931 TIP3 OH2 OT -0.834000 15.9994 0 1800 U 8931 TIP3 H1 HT 0.417000 1.0080 0 1801 U 8931 TIP3 H2 HT 0.417000 1.0080 0 1802 U 8935 TIP3 OH2 OT -0.834000 15.9994 0 1803 U 8935 TIP3 H1 HT 0.417000 1.0080 0 1804 U 8935 TIP3 H2 HT 0.417000 1.0080 0 1805 U 8949 TIP3 OH2 OT -0.834000 15.9994 0 1806 U 8949 TIP3 H1 HT 0.417000 1.0080 0 1807 U 8949 TIP3 H2 HT 0.417000 1.0080 0 1808 U 8952 TIP3 OH2 OT -0.834000 15.9994 0 1809 U 8952 TIP3 H1 HT 0.417000 1.0080 0 1810 U 8952 TIP3 H2 HT 0.417000 1.0080 0 1811 U 8956 TIP3 OH2 OT -0.834000 15.9994 0 1812 U 8956 TIP3 H1 HT 0.417000 1.0080 0 1813 U 8956 TIP3 H2 HT 0.417000 1.0080 0 1814 U 8970 TIP3 OH2 OT -0.834000 15.9994 0 1815 U 8970 TIP3 H1 HT 0.417000 1.0080 0 1816 U 8970 TIP3 H2 HT 0.417000 1.0080 0 1817 U 8973 TIP3 OH2 OT -0.834000 15.9994 0 1818 U 8973 TIP3 H1 HT 0.417000 1.0080 0 1819 U 8973 TIP3 H2 HT 0.417000 1.0080 0 1820 U 8976 TIP3 OH2 OT -0.834000 15.9994 0 1821 U 8976 TIP3 H1 HT 0.417000 1.0080 0 1822 U 8976 TIP3 H2 HT 0.417000 1.0080 0 1823 U 8977 TIP3 OH2 OT -0.834000 15.9994 0 1824 U 8977 TIP3 H1 HT 0.417000 1.0080 0 1825 U 8977 TIP3 H2 HT 0.417000 1.0080 0 1826 U 8988 TIP3 OH2 OT -0.834000 15.9994 0 1827 U 8988 TIP3 H1 HT 0.417000 1.0080 0 1828 U 8988 TIP3 H2 HT 0.417000 1.0080 0 1829 U 9082 TIP3 OH2 OT -0.834000 15.9994 0 1830 U 9082 TIP3 H1 HT 0.417000 1.0080 0 1831 U 9082 TIP3 H2 HT 0.417000 1.0080 0 1832 U 9096 TIP3 OH2 OT -0.834000 15.9994 0 1833 U 9096 TIP3 H1 HT 0.417000 1.0080 0 1834 U 9096 TIP3 H2 HT 0.417000 1.0080 0 1835 U 9226 TIP3 OH2 OT -0.834000 15.9994 0 1836 U 9226 TIP3 H1 HT 0.417000 1.0080 0 1837 U 9226 TIP3 H2 HT 0.417000 1.0080 0 1838 U 9241 TIP3 OH2 OT -0.834000 15.9994 0 1839 U 9241 TIP3 H1 HT 0.417000 1.0080 0 1840 U 9241 TIP3 H2 HT 0.417000 1.0080 0 1841 U 9250 TIP3 OH2 OT -0.834000 15.9994 0 1842 U 9250 TIP3 H1 HT 0.417000 1.0080 0 1843 U 9250 TIP3 H2 HT 0.417000 1.0080 0 1235 !NBOND: bonds 1 5 2 1 3 1 4 1 5 6 7 5 7 8 7 9 7 10 11 5 11 13 12 11 13 14 13 15 15 16 17 15 17 18 17 19 17 20 21 15 22 21 23 24 23 25 26 27 26 28 29 30 29 31 32 33 32 34 35 36 35 37 38 39 38 40 41 42 41 43 44 45 44 46 47 48 47 49 50 51 50 52 53 54 53 55 56 57 56 58 59 60 59 61 62 63 62 64 65 66 65 67 68 69 68 70 71 72 71 73 74 75 74 76 77 78 77 79 80 81 80 82 83 84 83 85 86 87 86 88 89 90 89 91 92 93 92 94 95 96 95 97 98 99 98 100 101 102 101 103 104 105 104 106 107 108 107 109 110 111 110 112 113 114 113 115 116 117 116 118 119 120 119 121 122 123 122 124 125 126 125 127 128 129 128 130 131 132 131 133 134 135 134 136 137 138 137 139 140 141 140 142 143 144 143 145 146 147 146 148 149 150 149 151 152 153 152 154 155 156 155 157 158 159 158 160 161 162 161 163 164 165 164 166 167 168 167 169 170 171 170 172 173 174 173 175 176 177 176 178 179 180 179 181 182 183 182 184 185 186 185 187 188 189 188 190 191 192 191 193 194 195 194 196 197 198 197 199 200 201 200 202 203 204 203 205 206 207 206 208 209 210 209 211 212 213 212 214 215 216 215 217 218 219 218 220 221 222 221 223 224 225 224 226 227 228 227 229 230 231 230 232 233 234 233 235 236 237 236 238 239 240 239 241 242 243 242 244 245 246 245 247 248 249 248 250 251 252 251 253 254 255 254 256 257 258 257 259 260 261 260 262 263 264 263 265 266 267 266 268 269 270 269 271 272 273 272 274 275 276 275 277 278 279 278 280 281 282 281 283 284 285 284 286 287 288 287 289 290 291 290 292 293 294 293 295 296 297 296 298 299 300 299 301 302 303 302 304 305 306 305 307 308 309 308 310 311 312 311 313 314 315 314 316 317 318 317 319 320 321 320 322 323 324 323 325 326 327 326 328 329 330 329 331 332 333 332 334 335 336 335 337 338 339 338 340 341 342 341 343 344 345 344 346 347 348 347 349 350 351 350 352 353 354 353 355 356 357 356 358 359 360 359 361 362 363 362 364 365 366 365 367 368 369 368 370 371 372 371 373 374 375 374 376 377 378 377 379 380 381 380 382 383 384 383 385 386 387 386 388 389 390 389 391 392 393 392 394 395 396 395 397 398 399 398 400 401 402 401 403 404 405 404 406 407 408 407 409 410 411 410 412 413 414 413 415 416 417 416 418 419 420 419 421 422 423 422 424 425 426 425 427 428 429 428 430 431 432 431 433 434 435 434 436 437 438 437 439 440 441 440 442 443 444 443 445 446 447 446 448 449 450 449 451 452 453 452 454 455 456 455 457 458 459 458 460 461 462 461 463 464 465 464 466 467 468 467 469 470 471 470 472 473 474 473 475 476 477 476 478 479 480 479 481 482 483 482 484 485 486 485 487 488 489 488 490 491 492 491 493 494 495 494 496 497 498 497 499 500 501 500 502 503 504 503 505 506 507 506 508 509 510 509 511 512 513 512 514 515 516 515 517 518 519 518 520 521 522 521 523 524 525 524 526 527 528 527 529 530 531 530 532 533 534 533 535 536 537 536 538 539 540 539 541 542 543 542 544 545 546 545 547 548 549 548 550 551 552 551 553 554 555 554 556 557 558 557 559 560 561 560 562 563 564 563 565 566 567 566 568 569 570 569 571 572 573 572 574 575 576 575 577 578 579 578 580 581 582 581 583 584 585 584 586 587 588 587 589 590 591 590 592 593 594 593 595 596 597 596 598 599 600 599 601 602 603 602 604 605 606 605 607 608 609 608 610 611 612 611 613 614 615 614 616 617 618 617 619 620 621 620 622 623 624 623 625 626 627 626 628 629 630 629 631 632 633 632 634 635 636 635 637 638 639 638 640 641 642 641 643 644 645 644 646 647 648 647 649 650 651 650 652 653 654 653 655 656 657 656 658 659 660 659 661 662 663 662 664 665 666 665 667 668 669 668 670 671 672 671 673 674 675 674 676 677 678 677 679 680 681 680 682 683 684 683 685 686 687 686 688 689 690 689 691 692 693 692 694 695 696 695 697 698 699 698 700 701 702 701 703 704 705 704 706 707 708 707 709 710 711 710 712 713 714 713 715 716 717 716 718 719 720 719 721 722 723 722 724 725 726 725 727 728 729 728 730 731 732 731 733 734 735 734 736 737 738 737 739 740 741 740 742 743 744 743 745 746 747 746 748 749 750 749 751 752 753 752 754 755 756 755 757 758 759 758 760 761 762 761 763 764 765 764 766 767 768 767 769 770 771 770 772 773 774 773 775 776 777 776 778 779 780 779 781 782 783 782 784 785 786 785 787 788 789 788 790 791 792 791 793 794 795 794 796 797 798 797 799 800 801 800 802 803 804 803 805 806 807 806 808 809 810 809 811 812 813 812 814 815 816 815 817 818 819 818 820 821 822 821 823 824 825 824 826 827 828 827 829 830 831 830 832 833 834 833 835 836 837 836 838 839 840 839 841 842 843 842 844 845 846 845 847 848 849 848 850 851 852 851 853 854 855 854 856 857 858 857 859 860 861 860 862 863 864 863 865 866 867 866 868 869 870 869 871 872 873 872 874 875 876 875 877 878 879 878 880 881 882 881 883 884 885 884 886 887 888 887 889 890 891 890 892 893 894 893 895 896 897 896 898 899 900 899 901 902 903 902 904 905 906 905 907 908 909 908 910 911 912 911 913 914 915 914 916 917 918 917 919 920 921 920 922 923 924 923 925 926 927 926 928 929 930 929 931 932 933 932 934 935 936 935 937 938 939 938 940 941 942 941 943 944 945 944 946 947 948 947 949 950 951 950 952 953 954 953 955 956 957 956 958 959 960 959 961 962 963 962 964 965 966 965 967 968 969 968 970 971 972 971 973 974 975 974 976 977 978 977 979 980 981 980 982 983 984 983 985 986 987 986 988 989 990 989 991 992 993 992 994 995 996 995 997 998 999 998 1000 1001 1002 1001 1003 1004 1005 1004 1006 1007 1008 1007 1009 1010 1011 1010 1012 1013 1014 1013 1015 1016 1017 1016 1018 1019 1020 1019 1021 1022 1023 1022 1024 1025 1026 1025 1027 1028 1029 1028 1030 1031 1032 1031 1033 1034 1035 1034 1036 1037 1038 1037 1039 1040 1041 1040 1042 1043 1044 1043 1045 1046 1047 1046 1048 1049 1050 1049 1051 1052 1053 1052 1054 1055 1056 1055 1057 1058 1059 1058 1060 1061 1062 1061 1063 1064 1065 1064 1066 1067 1068 1067 1069 1070 1071 1070 1072 1073 1074 1073 1075 1076 1077 1076 1078 1079 1080 1079 1081 1082 1083 1082 1084 1085 1086 1085 1087 1088 1089 1088 1090 1091 1092 1091 1093 1094 1095 1094 1096 1097 1098 1097 1099 1100 1101 1100 1102 1103 1104 1103 1105 1106 1107 1106 1108 1109 1110 1109 1111 1112 1113 1112 1114 1115 1116 1115 1117 1118 1119 1118 1120 1121 1122 1121 1123 1124 1125 1124 1126 1127 1128 1127 1129 1130 1131 1130 1132 1133 1134 1133 1135 1136 1137 1136 1138 1139 1140 1139 1141 1142 1143 1142 1144 1145 1146 1145 1147 1148 1149 1148 1150 1151 1152 1151 1153 1154 1155 1154 1156 1157 1158 1157 1159 1160 1161 1160 1162 1163 1164 1163 1165 1166 1167 1166 1168 1169 1170 1169 1171 1172 1173 1172 1174 1175 1176 1175 1177 1178 1179 1178 1180 1181 1182 1181 1183 1184 1185 1184 1186 1187 1188 1187 1189 1190 1191 1190 1192 1193 1194 1193 1195 1196 1197 1196 1198 1199 1200 1199 1201 1202 1203 1202 1204 1205 1206 1205 1207 1208 1209 1208 1210 1211 1212 1211 1213 1214 1215 1214 1216 1217 1218 1217 1219 1220 1221 1220 1222 1223 1224 1223 1225 1226 1227 1226 1228 1229 1230 1229 1231 1232 1233 1232 1234 1235 1236 1235 1237 1238 1239 1238 1240 1241 1242 1241 1243 1244 1245 1244 1246 1247 1248 1247 1249 1250 1251 1250 1252 1253 1254 1253 1255 1256 1257 1256 1258 1259 1260 1259 1261 1262 1263 1262 1264 1265 1266 1265 1267 1268 1269 1268 1270 1271 1272 1271 1273 1274 1275 1274 1276 1277 1278 1277 1279 1280 1281 1280 1282 1283 1284 1283 1285 1286 1287 1286 1288 1289 1290 1289 1291 1292 1293 1292 1294 1295 1296 1295 1297 1298 1299 1298 1300 1301 1302 1301 1303 1304 1305 1304 1306 1307 1308 1307 1309 1310 1311 1310 1312 1313 1314 1313 1315 1316 1317 1316 1318 1319 1320 1319 1321 1322 1323 1322 1324 1325 1326 1325 1327 1328 1329 1328 1330 1331 1332 1331 1333 1334 1335 1334 1336 1337 1338 1337 1339 1340 1341 1340 1342 1343 1344 1343 1345 1346 1347 1346 1348 1349 1350 1349 1351 1352 1353 1352 1354 1355 1356 1355 1357 1358 1359 1358 1360 1361 1362 1361 1363 1364 1365 1364 1366 1367 1368 1367 1369 1370 1371 1370 1372 1373 1374 1373 1375 1376 1377 1376 1378 1379 1380 1379 1381 1382 1383 1382 1384 1385 1386 1385 1387 1388 1389 1388 1390 1391 1392 1391 1393 1394 1395 1394 1396 1397 1398 1397 1399 1400 1401 1400 1402 1403 1404 1403 1405 1406 1407 1406 1408 1409 1410 1409 1411 1412 1413 1412 1414 1415 1416 1415 1417 1418 1419 1418 1420 1421 1422 1421 1423 1424 1425 1424 1426 1427 1428 1427 1429 1430 1431 1430 1432 1433 1434 1433 1435 1436 1437 1436 1438 1439 1440 1439 1441 1442 1443 1442 1444 1445 1446 1445 1447 1448 1449 1448 1450 1451 1452 1451 1453 1454 1455 1454 1456 1457 1458 1457 1459 1460 1461 1460 1462 1463 1464 1463 1465 1466 1467 1466 1468 1469 1470 1469 1471 1472 1473 1472 1474 1475 1476 1475 1477 1478 1479 1478 1480 1481 1482 1481 1483 1484 1485 1484 1486 1487 1488 1487 1489 1490 1491 1490 1492 1493 1494 1493 1495 1496 1497 1496 1498 1499 1500 1499 1501 1502 1503 1502 1504 1505 1506 1505 1507 1508 1509 1508 1510 1511 1512 1511 1513 1514 1515 1514 1516 1517 1518 1517 1519 1520 1521 1520 1522 1523 1524 1523 1525 1526 1527 1526 1528 1529 1530 1529 1531 1532 1533 1532 1534 1535 1536 1535 1537 1538 1539 1538 1540 1541 1542 1541 1543 1544 1545 1544 1546 1547 1548 1547 1549 1550 1551 1550 1552 1553 1554 1553 1555 1556 1557 1556 1558 1559 1560 1559 1561 1562 1563 1562 1564 1565 1566 1565 1567 1568 1569 1568 1570 1571 1572 1571 1573 1574 1575 1574 1576 1577 1578 1577 1579 1580 1581 1580 1582 1583 1584 1583 1585 1586 1587 1586 1588 1589 1590 1589 1591 1592 1593 1592 1594 1595 1596 1595 1597 1598 1599 1598 1600 1601 1602 1601 1603 1604 1605 1604 1606 1607 1608 1607 1609 1610 1611 1610 1612 1613 1614 1613 1615 1616 1617 1616 1618 1619 1620 1619 1621 1622 1623 1622 1624 1625 1626 1625 1627 1628 1629 1628 1630 1631 1632 1631 1633 1634 1635 1634 1636 1637 1638 1637 1639 1640 1641 1640 1642 1643 1644 1643 1645 1646 1647 1646 1648 1649 1650 1649 1651 1652 1653 1652 1654 1655 1656 1655 1657 1658 1659 1658 1660 1661 1662 1661 1663 1664 1665 1664 1666 1667 1668 1667 1669 1670 1671 1670 1672 1673 1674 1673 1675 1676 1677 1676 1678 1679 1680 1679 1681 1682 1683 1682 1684 1685 1686 1685 1687 1688 1689 1688 1690 1691 1692 1691 1693 1694 1695 1694 1696 1697 1698 1697 1699 1700 1701 1700 1702 1703 1704 1703 1705 1706 1707 1706 1708 1709 1710 1709 1711 1712 1713 1712 1714 1715 1716 1715 1717 1718 1719 1718 1720 1721 1722 1721 1723 1724 1725 1724 1726 1727 1728 1727 1729 1730 1731 1730 1732 1733 1734 1733 1735 1736 1737 1736 1738 1739 1740 1739 1741 1742 1743 1742 1744 1745 1746 1745 1747 1748 1749 1748 1750 1751 1752 1751 1753 1754 1755 1754 1756 1757 1758 1757 1759 1760 1761 1760 1762 1763 1764 1763 1765 1766 1767 1766 1768 1769 1770 1769 1771 1772 1773 1772 1774 1775 1776 1775 1777 1778 1779 1778 1780 1781 1782 1781 1783 1784 1785 1784 1786 1787 1788 1787 1789 1790 1791 1790 1792 1793 1794 1793 1795 1796 1797 1796 1798 1799 1800 1799 1801 1802 1803 1802 1804 1805 1806 1805 1807 1808 1809 1808 1810 1811 1812 1811 1813 1814 1815 1814 1816 1817 1818 1817 1819 1820 1821 1820 1822 1823 1824 1823 1825 1826 1827 1826 1828 1829 1830 1829 1831 1832 1833 1832 1834 1835 1836 1835 1837 1838 1839 1838 1840 1841 1842 1841 1843 644 !NTHETA: angles 1 5 6 1 5 11 2 1 5 2 1 4 2 1 3 3 1 5 3 1 4 4 1 5 5 11 12 5 11 13 5 7 10 5 7 9 5 7 8 7 5 6 7 5 11 7 5 1 8 7 10 8 7 9 9 7 10 11 5 6 13 15 16 13 15 21 13 11 12 14 13 11 14 13 15 15 21 22 15 17 20 15 17 19 15 17 18 15 13 11 17 15 16 17 15 21 17 15 13 18 17 20 18 17 19 19 17 20 21 15 16 24 23 25 27 26 28 30 29 31 33 32 34 36 35 37 39 38 40 42 41 43 45 44 46 48 47 49 51 50 52 54 53 55 57 56 58 60 59 61 63 62 64 66 65 67 69 68 70 72 71 73 75 74 76 78 77 79 81 80 82 84 83 85 87 86 88 90 89 91 93 92 94 96 95 97 99 98 100 102 101 103 105 104 106 108 107 109 111 110 112 114 113 115 117 116 118 120 119 121 123 122 124 126 125 127 129 128 130 132 131 133 135 134 136 138 137 139 141 140 142 144 143 145 147 146 148 150 149 151 153 152 154 156 155 157 159 158 160 162 161 163 165 164 166 168 167 169 171 170 172 174 173 175 177 176 178 180 179 181 183 182 184 186 185 187 189 188 190 192 191 193 195 194 196 198 197 199 201 200 202 204 203 205 207 206 208 210 209 211 213 212 214 216 215 217 219 218 220 222 221 223 225 224 226 228 227 229 231 230 232 234 233 235 237 236 238 240 239 241 243 242 244 246 245 247 249 248 250 252 251 253 255 254 256 258 257 259 261 260 262 264 263 265 267 266 268 270 269 271 273 272 274 276 275 277 279 278 280 282 281 283 285 284 286 288 287 289 291 290 292 294 293 295 297 296 298 300 299 301 303 302 304 306 305 307 309 308 310 312 311 313 315 314 316 318 317 319 321 320 322 324 323 325 327 326 328 330 329 331 333 332 334 336 335 337 339 338 340 342 341 343 345 344 346 348 347 349 351 350 352 354 353 355 357 356 358 360 359 361 363 362 364 366 365 367 369 368 370 372 371 373 375 374 376 378 377 379 381 380 382 384 383 385 387 386 388 390 389 391 393 392 394 396 395 397 399 398 400 402 401 403 405 404 406 408 407 409 411 410 412 414 413 415 417 416 418 420 419 421 423 422 424 426 425 427 429 428 430 432 431 433 435 434 436 438 437 439 441 440 442 444 443 445 447 446 448 450 449 451 453 452 454 456 455 457 459 458 460 462 461 463 465 464 466 468 467 469 471 470 472 474 473 475 477 476 478 480 479 481 483 482 484 486 485 487 489 488 490 492 491 493 495 494 496 498 497 499 501 500 502 504 503 505 507 506 508 510 509 511 513 512 514 516 515 517 519 518 520 522 521 523 525 524 526 528 527 529 531 530 532 534 533 535 537 536 538 540 539 541 543 542 544 546 545 547 549 548 550 552 551 553 555 554 556 558 557 559 561 560 562 564 563 565 567 566 568 570 569 571 573 572 574 576 575 577 579 578 580 582 581 583 585 584 586 588 587 589 591 590 592 594 593 595 597 596 598 600 599 601 603 602 604 606 605 607 609 608 610 612 611 613 615 614 616 618 617 619 621 620 622 624 623 625 627 626 628 630 629 631 633 632 634 636 635 637 639 638 640 642 641 643 645 644 646 648 647 649 651 650 652 654 653 655 657 656 658 660 659 661 663 662 664 666 665 667 669 668 670 672 671 673 675 674 676 678 677 679 681 680 682 684 683 685 687 686 688 690 689 691 693 692 694 696 695 697 699 698 700 702 701 703 705 704 706 708 707 709 711 710 712 714 713 715 717 716 718 720 719 721 723 722 724 726 725 727 729 728 730 732 731 733 735 734 736 738 737 739 741 740 742 744 743 745 747 746 748 750 749 751 753 752 754 756 755 757 759 758 760 762 761 763 765 764 766 768 767 769 771 770 772 774 773 775 777 776 778 780 779 781 783 782 784 786 785 787 789 788 790 792 791 793 795 794 796 798 797 799 801 800 802 804 803 805 807 806 808 810 809 811 813 812 814 816 815 817 819 818 820 822 821 823 825 824 826 828 827 829 831 830 832 834 833 835 837 836 838 840 839 841 843 842 844 846 845 847 849 848 850 852 851 853 855 854 856 858 857 859 861 860 862 864 863 865 867 866 868 870 869 871 873 872 874 876 875 877 879 878 880 882 881 883 885 884 886 888 887 889 891 890 892 894 893 895 897 896 898 900 899 901 903 902 904 906 905 907 909 908 910 912 911 913 915 914 916 918 917 919 921 920 922 924 923 925 927 926 928 930 929 931 933 932 934 936 935 937 939 938 940 942 941 943 945 944 946 948 947 949 951 950 952 954 953 955 957 956 958 960 959 961 963 962 964 966 965 967 969 968 970 972 971 973 975 974 976 978 977 979 981 980 982 984 983 985 987 986 988 990 989 991 993 992 994 996 995 997 999 998 1000 1002 1001 1003 1005 1004 1006 1008 1007 1009 1011 1010 1012 1014 1013 1015 1017 1016 1018 1020 1019 1021 1023 1022 1024 1026 1025 1027 1029 1028 1030 1032 1031 1033 1035 1034 1036 1038 1037 1039 1041 1040 1042 1044 1043 1045 1047 1046 1048 1050 1049 1051 1053 1052 1054 1056 1055 1057 1059 1058 1060 1062 1061 1063 1065 1064 1066 1068 1067 1069 1071 1070 1072 1074 1073 1075 1077 1076 1078 1080 1079 1081 1083 1082 1084 1086 1085 1087 1089 1088 1090 1092 1091 1093 1095 1094 1096 1098 1097 1099 1101 1100 1102 1104 1103 1105 1107 1106 1108 1110 1109 1111 1113 1112 1114 1116 1115 1117 1119 1118 1120 1122 1121 1123 1125 1124 1126 1128 1127 1129 1131 1130 1132 1134 1133 1135 1137 1136 1138 1140 1139 1141 1143 1142 1144 1146 1145 1147 1149 1148 1150 1152 1151 1153 1155 1154 1156 1158 1157 1159 1161 1160 1162 1164 1163 1165 1167 1166 1168 1170 1169 1171 1173 1172 1174 1176 1175 1177 1179 1178 1180 1182 1181 1183 1185 1184 1186 1188 1187 1189 1191 1190 1192 1194 1193 1195 1197 1196 1198 1200 1199 1201 1203 1202 1204 1206 1205 1207 1209 1208 1210 1212 1211 1213 1215 1214 1216 1218 1217 1219 1221 1220 1222 1224 1223 1225 1227 1226 1228 1230 1229 1231 1233 1232 1234 1236 1235 1237 1239 1238 1240 1242 1241 1243 1245 1244 1246 1248 1247 1249 1251 1250 1252 1254 1253 1255 1257 1256 1258 1260 1259 1261 1263 1262 1264 1266 1265 1267 1269 1268 1270 1272 1271 1273 1275 1274 1276 1278 1277 1279 1281 1280 1282 1284 1283 1285 1287 1286 1288 1290 1289 1291 1293 1292 1294 1296 1295 1297 1299 1298 1300 1302 1301 1303 1305 1304 1306 1308 1307 1309 1311 1310 1312 1314 1313 1315 1317 1316 1318 1320 1319 1321 1323 1322 1324 1326 1325 1327 1329 1328 1330 1332 1331 1333 1335 1334 1336 1338 1337 1339 1341 1340 1342 1344 1343 1345 1347 1346 1348 1350 1349 1351 1353 1352 1354 1356 1355 1357 1359 1358 1360 1362 1361 1363 1365 1364 1366 1368 1367 1369 1371 1370 1372 1374 1373 1375 1377 1376 1378 1380 1379 1381 1383 1382 1384 1386 1385 1387 1389 1388 1390 1392 1391 1393 1395 1394 1396 1398 1397 1399 1401 1400 1402 1404 1403 1405 1407 1406 1408 1410 1409 1411 1413 1412 1414 1416 1415 1417 1419 1418 1420 1422 1421 1423 1425 1424 1426 1428 1427 1429 1431 1430 1432 1434 1433 1435 1437 1436 1438 1440 1439 1441 1443 1442 1444 1446 1445 1447 1449 1448 1450 1452 1451 1453 1455 1454 1456 1458 1457 1459 1461 1460 1462 1464 1463 1465 1467 1466 1468 1470 1469 1471 1473 1472 1474 1476 1475 1477 1479 1478 1480 1482 1481 1483 1485 1484 1486 1488 1487 1489 1491 1490 1492 1494 1493 1495 1497 1496 1498 1500 1499 1501 1503 1502 1504 1506 1505 1507 1509 1508 1510 1512 1511 1513 1515 1514 1516 1518 1517 1519 1521 1520 1522 1524 1523 1525 1527 1526 1528 1530 1529 1531 1533 1532 1534 1536 1535 1537 1539 1538 1540 1542 1541 1543 1545 1544 1546 1548 1547 1549 1551 1550 1552 1554 1553 1555 1557 1556 1558 1560 1559 1561 1563 1562 1564 1566 1565 1567 1569 1568 1570 1572 1571 1573 1575 1574 1576 1578 1577 1579 1581 1580 1582 1584 1583 1585 1587 1586 1588 1590 1589 1591 1593 1592 1594 1596 1595 1597 1599 1598 1600 1602 1601 1603 1605 1604 1606 1608 1607 1609 1611 1610 1612 1614 1613 1615 1617 1616 1618 1620 1619 1621 1623 1622 1624 1626 1625 1627 1629 1628 1630 1632 1631 1633 1635 1634 1636 1638 1637 1639 1641 1640 1642 1644 1643 1645 1647 1646 1648 1650 1649 1651 1653 1652 1654 1656 1655 1657 1659 1658 1660 1662 1661 1663 1665 1664 1666 1668 1667 1669 1671 1670 1672 1674 1673 1675 1677 1676 1678 1680 1679 1681 1683 1682 1684 1686 1685 1687 1689 1688 1690 1692 1691 1693 1695 1694 1696 1698 1697 1699 1701 1700 1702 1704 1703 1705 1707 1706 1708 1710 1709 1711 1713 1712 1714 1716 1715 1717 1719 1718 1720 1722 1721 1723 1725 1724 1726 1728 1727 1729 1731 1730 1732 1734 1733 1735 1737 1736 1738 1740 1739 1741 1743 1742 1744 1746 1745 1747 1749 1748 1750 1752 1751 1753 1755 1754 1756 1758 1757 1759 1761 1760 1762 1764 1763 1765 1767 1766 1768 1770 1769 1771 1773 1772 1774 1776 1775 1777 1779 1778 1780 1782 1781 1783 1785 1784 1786 1788 1787 1789 1791 1790 1792 1794 1793 1795 1797 1796 1798 1800 1799 1801 1803 1802 1804 1806 1805 1807 1809 1808 1810 1812 1811 1813 1815 1814 1816 1818 1817 1819 1821 1820 1822 1824 1823 1825 1827 1826 1828 1830 1829 1831 1833 1832 1834 1836 1835 1837 1839 1838 1840 1842 1841 1843 46 !NPHI: dihedrals 1 5 7 8 1 5 7 9 1 5 7 10 1 5 11 13 1 5 11 12 2 1 5 7 2 1 5 11 2 1 5 6 3 1 5 7 3 1 5 11 3 1 5 6 4 1 5 7 4 1 5 11 4 1 5 6 5 11 13 14 5 11 13 15 6 5 7 8 6 5 7 9 6 5 7 10 6 5 11 13 6 5 11 12 7 5 11 13 7 5 11 12 8 7 5 11 9 7 5 11 10 7 5 11 11 13 15 17 11 13 15 21 11 13 15 16 12 11 13 14 12 11 13 15 13 15 17 18 13 15 17 19 13 15 17 20 13 15 21 22 14 13 15 17 14 13 15 21 14 13 15 16 16 15 17 18 16 15 17 19 16 15 17 20 16 15 21 22 17 15 21 22 18 17 15 21 19 17 15 21 20 17 15 21 2 !NIMPHI: impropers 11 5 13 12 13 11 15 14 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 !NGRP 0 0 0 protomol/examples/alanine_dipeptide_water_184x/alanine.namd0100644027616700000500000000577610237151525023544 0ustar pbrenne1dip############################################################# ## JOB DESCRIPTION ## ############################################################# # Minimization and Equilibration of # Alanine Dipeptide solvated with 607 waters ############################################################# ## ADJUSTABLE PARAMETERS ## ############################################################# structure ../structure/ala_w_607_water.psf coordinates ../structure/ala_w_607_water.pdb set temperature 300 set outputname ../output/ala_w_607_water/ala_w_607_water firsttimestep 0 ############################################################# ## SIMULATION PARAMETERS ## ############################################################# # Input paraTypeCharmm on parameters ../parameters/par_all27_prot_lipid.inp temperature $temperature # Force-Field Parameters exclude scaled1-4 1-4scaling 1.0 cutoff 8.5 switching on switchdist 5. pairlistdist 10. # Periodic Boundary Conditions cellBasisVector1 40 0 0 cellBasisVector2 0 40 0 cellBasisVector3 0 0 40 cellOrigin 2.93417620659 1.18202984333 -0.0237977247238 margin 30 wrapAll on # PME (for full-system periodic electrostatics) PME yes PMEGridSizeX 24 PMEGridSizeY 24 PMEGridSizeZ 24 # Integrator Parameters timestep 1 ;# 1fs/step rigidBonds all ;# needed for 2fs steps nonbondedFreq 1 fullElectFrequency 2 stepspercycle 10 # Constant Temperature Control langevin on ;# do langevin dynamics langevinDamping 5 ;# damping coefficient (gamma) of 5/ps langevinTemp $temperature langevinHydrogen on ;# don't couple langevin bath to hydrogens # Output outputName $outputname binaryoutput no restartfreq 500 ;# 500steps = every 1ps dcdfreq 500 outputEnergies 100 outputPressure 100 # Pressure Control useGroupPressure yes ;# needed for rigidBonds useFlexibleCell no useConstantArea no #langevinPiston on #langevinPistonTarget 1.01325 ;# in bar -> 1 atm #langevinPistonPeriod 100. #langevinPistonDecay 50. #langevinPistonTemp $temperature BerendsenPressure on BerendsenPressureTarget 1.01325 # bar BerendsenPressureCompressibility 4.57E-5 # bar BerendsenPressureRelaxationTime 100 ;# fs BerendsenPressureFreq 10 # timesteps ############################################################# ## EXTRA PARAMETERS ## ############################################################# # Spherical boundary conditions #sphericalBC on #sphericalBCcenter 0.0, 0.0, 0.0 #sphericalBCr1 10.0 #sphericalBCk1 12 #sphericalBCexp1 2 ############################################################# ## EXECUTION SCRIPT ## ############################################################# # Minimization minimize 1000 reinitvels $temperature # Equilibration run 500000 ;# 500ps protomol/examples/alanine_dipeptide_water_184x/alanine.pdb0100644027616700000500000042532610237151525023367 0ustar pbrenne1dipREMARK original generated coordinate pdb file ATOM 1 N ALA 1 0.039 -0.028 0.000 1.00 0.00 U ATOM 2 HT1 ALA 1 -0.296 -0.970 -0.000 1.00 0.00 U ATOM 3 HT2 ALA 1 -0.282 0.448 -0.819 1.00 0.00 U ATOM 4 HT3 ALA 1 -0.282 0.448 0.819 1.00 0.00 U ATOM 5 CA ALA 1 1.499 -0.043 -0.000 1.00 0.00 U ATOM 6 HA ALA 1 1.847 -0.534 0.928 1.00 0.00 U ATOM 7 CB ALA 1 1.956 -0.866 -1.217 1.00 0.00 U ATOM 8 HB1 ALA 1 1.558 -1.900 -1.138 1.00 0.00 U ATOM 9 HB2 ALA 1 1.575 -0.425 -2.164 1.00 0.00 U ATOM 10 HB3 ALA 1 3.064 -0.928 -1.277 1.00 0.00 U ATOM 11 C ALA 1 2.055 1.361 0.000 1.00 0.00 U ATOM 12 O ALA 1 1.321 2.356 0.011 1.00 0.00 U ATOM 13 C ALA 2 5.547 2.582 -0.000 1.00 0.00 U ATOM 14 OT1 ALA 2 5.761 1.605 0.000 1.00 0.00 U ATOM 15 OT2 ALA 2 5.979 3.484 -0.000 1.00 0.00 U ATOM 16 N ALA 2 3.371 1.462 -0.000 1.00 0.00 U ATOM 17 HN ALA 2 3.973 0.664 -0.000 1.00 0.00 U ATOM 18 CA ALA 2 4.047 2.756 -0.000 1.00 0.00 U ATOM 19 HA ALA 2 3.779 3.295 -0.928 1.00 0.00 U ATOM 20 CB ALA 2 3.539 3.548 1.217 1.00 0.00 U ATOM 21 HB1 ALA 2 2.440 3.687 1.139 1.00 0.00 U ATOM 22 HB2 ALA 2 3.748 3.003 2.164 1.00 0.00 U ATOM 23 HB3 ALA 2 4.009 4.553 1.276 1.00 0.00 U ATOM 24 OH2 TIP3 5 -7.543 -2.733 2.825 1.00 0.00 WT1 ATOM 25 H1 TIP3 5 -7.987 -2.364 2.022 1.00 0.00 WT1 ATOM 26 H2 TIP3 5 -8.119 -2.436 3.548 1.00 0.00 WT1 ATOM 27 OH2 TIP3 7 -5.178 -7.939 7.812 1.00 0.00 WT1 ATOM 28 H1 TIP3 7 -5.133 -7.591 8.719 1.00 0.00 WT1 ATOM 29 H2 TIP3 7 -4.619 -8.727 7.882 1.00 0.00 WT1 ATOM 30 OH2 TIP3 21 -6.025 3.881 -1.007 1.00 0.00 WT1 ATOM 31 H1 TIP3 21 -5.128 4.164 -1.263 1.00 0.00 WT1 ATOM 32 H2 TIP3 21 -5.874 3.017 -0.589 1.00 0.00 WT1 ATOM 33 OH2 TIP3 29 -2.887 0.996 8.253 1.00 0.00 WT1 ATOM 34 H1 TIP3 29 -2.578 0.533 9.033 1.00 0.00 WT1 ATOM 35 H2 TIP3 29 -2.705 0.301 7.566 1.00 0.00 WT1 ATOM 36 OH2 TIP3 44 -7.425 3.503 -11.769 1.00 0.00 WT1 ATOM 37 H1 TIP3 44 -7.430 2.573 -11.883 1.00 0.00 WT1 ATOM 38 H2 TIP3 44 -6.683 3.765 -12.298 1.00 0.00 WT1 ATOM 39 OH2 TIP3 46 -5.006 -5.824 5.363 1.00 0.00 WT1 ATOM 40 H1 TIP3 46 -4.429 -5.468 6.073 1.00 0.00 WT1 ATOM 41 H2 TIP3 46 -5.902 -5.753 5.721 1.00 0.00 WT1 ATOM 42 OH2 TIP3 47 4.915 1.886 -8.502 1.00 0.00 WT1 ATOM 43 H1 TIP3 47 4.859 1.457 -9.353 1.00 0.00 WT1 ATOM 44 H2 TIP3 47 5.594 2.639 -8.634 1.00 0.00 WT1 ATOM 45 OH2 TIP3 48 -8.461 -3.971 -3.450 1.00 0.00 WT1 ATOM 46 H1 TIP3 48 -9.101 -4.525 -3.081 1.00 0.00 WT1 ATOM 47 H2 TIP3 48 -9.047 -3.570 -4.117 1.00 0.00 WT1 ATOM 48 OH2 TIP3 52 -7.276 3.380 9.030 1.00 0.00 WT1 ATOM 49 H1 TIP3 52 -6.341 3.219 8.906 1.00 0.00 WT1 ATOM 50 H2 TIP3 52 -7.556 2.552 9.502 1.00 0.00 WT1 ATOM 51 OH2 TIP3 64 -0.537 -3.906 -8.093 1.00 0.00 WT1 ATOM 52 H1 TIP3 64 -0.213 -3.944 -7.147 1.00 0.00 WT1 ATOM 53 H2 TIP3 64 -1.463 -3.545 -8.004 1.00 0.00 WT1 ATOM 54 OH2 TIP3 67 -11.209 -7.148 1.512 1.00 0.00 WT1 ATOM 55 H1 TIP3 67 -10.728 -6.825 0.751 1.00 0.00 WT1 ATOM 56 H2 TIP3 67 -10.603 -7.034 2.268 1.00 0.00 WT1 ATOM 57 OH2 TIP3 68 -1.329 -3.659 1.837 1.00 0.00 WT1 ATOM 58 H1 TIP3 68 -1.637 -3.062 2.518 1.00 0.00 WT1 ATOM 59 H2 TIP3 68 -1.190 -4.551 2.210 1.00 0.00 WT1 ATOM 60 OH2 TIP3 87 -9.550 -6.134 -11.136 1.00 0.00 WT1 ATOM 61 H1 TIP3 87 -9.268 -7.076 -11.098 1.00 0.00 WT1 ATOM 62 H2 TIP3 87 -10.433 -6.216 -11.596 1.00 0.00 WT1 ATOM 63 OH2 TIP3 88 -6.390 7.788 -1.840 1.00 0.00 WT1 ATOM 64 H1 TIP3 88 -5.745 7.967 -1.116 1.00 0.00 WT1 ATOM 65 H2 TIP3 88 -5.827 8.099 -2.623 1.00 0.00 WT1 ATOM 66 OH2 TIP3 90 3.811 8.040 -0.248 1.00 0.00 WT1 ATOM 67 H1 TIP3 90 3.011 7.994 0.213 1.00 0.00 WT1 ATOM 68 H2 TIP3 90 3.462 8.242 -1.161 1.00 0.00 WT1 ATOM 69 OH2 TIP3 94 -9.872 -9.033 9.735 1.00 0.00 WT1 ATOM 70 H1 TIP3 94 -10.372 -9.390 9.008 1.00 0.00 WT1 ATOM 71 H2 TIP3 94 -9.436 -9.738 10.059 1.00 0.00 WT1 ATOM 72 OH2 TIP3 95 -10.726 2.322 9.397 1.00 0.00 WT1 ATOM 73 H1 TIP3 95 -10.567 2.610 10.270 1.00 0.00 WT1 ATOM 74 H2 TIP3 95 -10.899 3.146 8.896 1.00 0.00 WT1 ATOM 75 OH2 TIP3 108 -5.603 11.103 -0.120 1.00 0.00 WT1 ATOM 76 H1 TIP3 108 -6.371 10.807 -0.534 1.00 0.00 WT1 ATOM 77 H2 TIP3 108 -5.174 11.521 -0.871 1.00 0.00 WT1 ATOM 78 OH2 TIP3 111 -0.785 -5.211 -10.675 1.00 0.00 WT1 ATOM 79 H1 TIP3 111 -0.450 -4.414 -11.085 1.00 0.00 WT1 ATOM 80 H2 TIP3 111 -0.963 -4.926 -9.771 1.00 0.00 WT1 ATOM 81 OH2 TIP3 112 -2.642 12.869 -0.868 1.00 0.00 WT1 ATOM 82 H1 TIP3 112 -2.088 12.727 -0.064 1.00 0.00 WT1 ATOM 83 H2 TIP3 112 -2.406 13.780 -1.152 1.00 0.00 WT1 ATOM 84 OH2 TIP3 113 -6.942 9.937 3.186 1.00 0.00 WT1 ATOM 85 H1 TIP3 113 -7.062 10.865 2.809 1.00 0.00 WT1 ATOM 86 H2 TIP3 113 -6.150 9.981 3.697 1.00 0.00 WT1 ATOM 87 OH2 TIP3 115 -7.612 0.874 10.504 1.00 0.00 WT1 ATOM 88 H1 TIP3 115 -7.781 0.061 10.983 1.00 0.00 WT1 ATOM 89 H2 TIP3 115 -6.650 0.954 10.582 1.00 0.00 WT1 ATOM 90 OH2 TIP3 125 11.361 -6.573 -9.601 1.00 0.00 WT1 ATOM 91 H1 TIP3 125 10.494 -6.970 -9.249 1.00 0.00 WT1 ATOM 92 H2 TIP3 125 11.740 -7.156 -10.221 1.00 0.00 WT1 ATOM 93 OH2 TIP3 130 -0.285 -7.450 -12.061 1.00 0.00 WT1 ATOM 94 H1 TIP3 130 -0.073 -8.046 -11.325 1.00 0.00 WT1 ATOM 95 H2 TIP3 130 -0.554 -6.603 -11.586 1.00 0.00 WT1 ATOM 96 OH2 TIP3 133 -2.564 -8.501 6.199 1.00 0.00 WT1 ATOM 97 H1 TIP3 133 -3.247 -9.204 6.247 1.00 0.00 WT1 ATOM 98 H2 TIP3 133 -3.168 -7.751 6.074 1.00 0.00 WT1 ATOM 99 OH2 TIP3 134 -2.830 4.504 10.196 1.00 0.00 WT1 ATOM 100 H1 TIP3 134 -3.695 4.525 10.616 1.00 0.00 WT1 ATOM 101 H2 TIP3 134 -2.780 5.448 9.930 1.00 0.00 WT1 ATOM 102 OH2 TIP3 135 -6.869 -1.427 12.192 1.00 0.00 WT1 ATOM 103 H1 TIP3 135 -6.369 -2.118 12.599 1.00 0.00 WT1 ATOM 104 H2 TIP3 135 -6.308 -0.667 12.499 1.00 0.00 WT1 ATOM 105 OH2 TIP3 145 5.259 15.274 -10.898 1.00 0.00 WT1 ATOM 106 H1 TIP3 145 5.643 14.415 -10.580 1.00 0.00 WT1 ATOM 107 H2 TIP3 145 4.322 15.041 -10.991 1.00 0.00 WT1 ATOM 108 OH2 TIP3 149 -10.409 12.269 -7.556 1.00 0.00 WT1 ATOM 109 H1 TIP3 149 -10.632 13.250 -7.574 1.00 0.00 WT1 ATOM 110 H2 TIP3 149 -9.416 12.348 -7.634 1.00 0.00 WT1 ATOM 111 OH2 TIP3 150 -6.912 4.959 -5.910 1.00 0.00 WT1 ATOM 112 H1 TIP3 150 -7.908 4.988 -5.757 1.00 0.00 WT1 ATOM 113 H2 TIP3 150 -6.678 5.940 -6.155 1.00 0.00 WT1 ATOM 114 OH2 TIP3 152 -2.319 0.162 -7.758 1.00 0.00 WT1 ATOM 115 H1 TIP3 152 -3.092 -0.337 -7.636 1.00 0.00 WT1 ATOM 116 H2 TIP3 152 -1.869 -0.258 -8.543 1.00 0.00 WT1 ATOM 117 OH2 TIP3 153 -8.503 8.154 11.425 1.00 0.00 WT1 ATOM 118 H1 TIP3 153 -8.622 8.130 10.477 1.00 0.00 WT1 ATOM 119 H2 TIP3 153 -8.088 9.020 11.470 1.00 0.00 WT1 ATOM 120 OH2 TIP3 167 -9.037 5.653 -10.867 1.00 0.00 WT1 ATOM 121 H1 TIP3 167 -8.579 4.813 -10.876 1.00 0.00 WT1 ATOM 122 H2 TIP3 167 -8.280 6.305 -10.798 1.00 0.00 WT1 ATOM 123 OH2 TIP3 239 2.401 4.865 5.543 1.00 0.00 WT1 ATOM 124 H1 TIP3 239 2.533 4.599 6.429 1.00 0.00 WT1 ATOM 125 H2 TIP3 239 3.315 5.016 5.268 1.00 0.00 WT1 ATOM 126 OH2 TIP3 261 -9.924 11.317 10.658 1.00 0.00 WT1 ATOM 127 H1 TIP3 261 -9.976 11.109 11.652 1.00 0.00 WT1 ATOM 128 H2 TIP3 261 -9.123 11.894 10.560 1.00 0.00 WT1 ATOM 129 OH2 TIP3 424 4.203 -6.246 -10.578 1.00 0.00 WT1 ATOM 130 H1 TIP3 424 5.013 -5.957 -10.951 1.00 0.00 WT1 ATOM 131 H2 TIP3 424 3.597 -6.115 -11.408 1.00 0.00 WT1 ATOM 132 OH2 TIP3 450 -4.151 -10.741 6.751 1.00 0.00 WT1 ATOM 133 H1 TIP3 450 -3.561 -11.196 7.449 1.00 0.00 WT1 ATOM 134 H2 TIP3 450 -5.063 -11.019 6.956 1.00 0.00 WT1 ATOM 135 OH2 TIP3 465 2.680 -10.896 -10.087 1.00 0.00 WT1 ATOM 136 H1 TIP3 465 2.987 -10.134 -9.657 1.00 0.00 WT1 ATOM 137 H2 TIP3 465 2.001 -11.238 -9.501 1.00 0.00 WT1 ATOM 138 OH2 TIP3 466 -2.388 -2.234 -4.252 1.00 0.00 WT1 ATOM 139 H1 TIP3 466 -3.028 -2.062 -4.931 1.00 0.00 WT1 ATOM 140 H2 TIP3 466 -2.822 -2.754 -3.545 1.00 0.00 WT1 ATOM 141 OH2 TIP3 484 -0.929 -12.175 -11.026 1.00 0.00 WT1 ATOM 142 H1 TIP3 484 -0.844 -11.856 -10.063 1.00 0.00 WT1 ATOM 143 H2 TIP3 484 -1.468 -11.492 -11.412 1.00 0.00 WT1 ATOM 144 OH2 TIP3 485 -6.593 -4.690 -5.302 1.00 0.00 WT1 ATOM 145 H1 TIP3 485 -5.806 -4.896 -4.765 1.00 0.00 WT1 ATOM 146 H2 TIP3 485 -7.209 -4.357 -4.657 1.00 0.00 WT1 ATOM 147 OH2 TIP3 486 -7.808 -8.128 -3.264 1.00 0.00 WT1 ATOM 148 H1 TIP3 486 -8.102 -7.543 -3.982 1.00 0.00 WT1 ATOM 149 H2 TIP3 486 -7.394 -8.842 -3.752 1.00 0.00 WT1 ATOM 150 OH2 TIP3 489 -7.935 -5.350 6.246 1.00 0.00 WT1 ATOM 151 H1 TIP3 489 -8.439 -5.824 6.885 1.00 0.00 WT1 ATOM 152 H2 TIP3 489 -7.607 -4.527 6.674 1.00 0.00 WT1 ATOM 153 OH2 TIP3 495 -1.233 -4.940 11.869 1.00 0.00 WT1 ATOM 154 H1 TIP3 495 -1.622 -5.189 12.766 1.00 0.00 WT1 ATOM 155 H2 TIP3 495 -0.775 -4.159 12.108 1.00 0.00 WT1 ATOM 156 OH2 TIP3 503 -8.092 -2.490 0.079 1.00 0.00 WT1 ATOM 157 H1 TIP3 503 -7.613 -1.915 -0.567 1.00 0.00 WT1 ATOM 158 H2 TIP3 503 -7.771 -3.385 -0.117 1.00 0.00 WT1 ATOM 159 OH2 TIP3 506 -8.833 -7.009 3.174 1.00 0.00 WT1 ATOM 160 H1 TIP3 506 -9.054 -6.654 4.020 1.00 0.00 WT1 ATOM 161 H2 TIP3 506 -7.910 -6.783 3.047 1.00 0.00 WT1 ATOM 162 OH2 TIP3 507 -4.829 9.456 -10.760 1.00 0.00 WT1 ATOM 163 H1 TIP3 507 -5.661 9.220 -11.232 1.00 0.00 WT1 ATOM 164 H2 TIP3 507 -4.352 8.657 -10.887 1.00 0.00 WT1 ATOM 165 OH2 TIP3 509 -7.194 -8.910 6.339 1.00 0.00 WT1 ATOM 166 H1 TIP3 509 -8.069 -8.773 6.053 1.00 0.00 WT1 ATOM 167 H2 TIP3 509 -6.629 -8.088 6.216 1.00 0.00 WT1 ATOM 168 OH2 TIP3 511 -8.867 7.657 8.552 1.00 0.00 WT1 ATOM 169 H1 TIP3 511 -8.279 8.006 7.866 1.00 0.00 WT1 ATOM 170 H2 TIP3 511 -9.744 7.733 8.059 1.00 0.00 WT1 ATOM 171 OH2 TIP3 512 9.402 0.801 -2.013 1.00 0.00 WT1 ATOM 172 H1 TIP3 512 9.528 1.144 -2.861 1.00 0.00 WT1 ATOM 173 H2 TIP3 512 8.408 1.001 -1.829 1.00 0.00 WT1 ATOM 174 OH2 TIP3 515 -9.424 -3.297 11.436 1.00 0.00 WT1 ATOM 175 H1 TIP3 515 -9.079 -3.240 10.567 1.00 0.00 WT1 ATOM 176 H2 TIP3 515 -9.351 -2.409 11.708 1.00 0.00 WT1 ATOM 177 OH2 TIP3 517 3.315 -2.283 7.058 1.00 0.00 WT1 ATOM 178 H1 TIP3 517 2.951 -3.082 7.424 1.00 0.00 WT1 ATOM 179 H2 TIP3 517 3.255 -2.395 6.115 1.00 0.00 WT1 ATOM 180 OH2 TIP3 528 14.913 3.779 3.728 1.00 0.00 WT1 ATOM 181 H1 TIP3 528 15.737 4.049 4.165 1.00 0.00 WT1 ATOM 182 H2 TIP3 528 14.926 4.233 2.821 1.00 0.00 WT1 ATOM 183 OH2 TIP3 533 -5.638 1.989 6.011 1.00 0.00 WT1 ATOM 184 H1 TIP3 533 -5.252 2.524 6.729 1.00 0.00 WT1 ATOM 185 H2 TIP3 533 -5.342 2.598 5.252 1.00 0.00 WT1 ATOM 186 OH2 TIP3 534 5.072 -5.461 9.702 1.00 0.00 WT1 ATOM 187 H1 TIP3 534 4.429 -4.757 9.370 1.00 0.00 WT1 ATOM 188 H2 TIP3 534 4.762 -6.255 9.300 1.00 0.00 WT1 ATOM 189 OH2 TIP3 535 11.661 5.626 3.709 1.00 0.00 WT1 ATOM 190 H1 TIP3 535 10.990 5.049 3.300 1.00 0.00 WT1 ATOM 191 H2 TIP3 535 11.124 6.166 4.346 1.00 0.00 WT1 ATOM 192 OH2 TIP3 543 -5.753 0.282 -8.490 1.00 0.00 WT1 ATOM 193 H1 TIP3 543 -5.538 0.204 -9.467 1.00 0.00 WT1 ATOM 194 H2 TIP3 543 -6.312 1.079 -8.422 1.00 0.00 WT1 ATOM 195 OH2 TIP3 549 16.638 -2.947 6.094 1.00 0.00 WT1 ATOM 196 H1 TIP3 549 15.959 -3.095 6.784 1.00 0.00 WT1 ATOM 197 H2 TIP3 549 16.192 -2.396 5.410 1.00 0.00 WT1 ATOM 198 OH2 TIP3 550 -6.659 -11.445 7.251 1.00 0.00 WT1 ATOM 199 H1 TIP3 550 -6.937 -10.621 6.874 1.00 0.00 WT1 ATOM 200 H2 TIP3 550 -6.976 -12.014 6.492 1.00 0.00 WT1 ATOM 201 OH2 TIP3 551 -6.617 12.451 2.121 1.00 0.00 WT1 ATOM 202 H1 TIP3 551 -7.573 12.685 2.117 1.00 0.00 WT1 ATOM 203 H2 TIP3 551 -6.453 12.082 1.233 1.00 0.00 WT1 ATOM 204 OH2 TIP3 554 -6.051 0.929 -5.125 1.00 0.00 WT1 ATOM 205 H1 TIP3 554 -5.163 0.607 -4.872 1.00 0.00 WT1 ATOM 206 H2 TIP3 554 -6.203 1.678 -4.551 1.00 0.00 WT1 ATOM 207 OH2 TIP3 558 -0.821 -6.429 5.749 1.00 0.00 WT1 ATOM 208 H1 TIP3 558 -0.523 -6.331 6.652 1.00 0.00 WT1 ATOM 209 H2 TIP3 558 -1.367 -7.226 5.842 1.00 0.00 WT1 ATOM 210 OH2 TIP3 562 -9.533 9.127 -12.044 1.00 0.00 WT1 ATOM 211 H1 TIP3 562 -9.939 8.465 -11.487 1.00 0.00 WT1 ATOM 212 H2 TIP3 562 -9.713 9.994 -11.586 1.00 0.00 WT1 ATOM 213 OH2 TIP3 568 -1.581 8.732 -10.079 1.00 0.00 WT1 ATOM 214 H1 TIP3 568 -1.610 9.656 -10.436 1.00 0.00 WT1 ATOM 215 H2 TIP3 568 -1.924 8.139 -10.767 1.00 0.00 WT1 ATOM 216 OH2 TIP3 575 -8.867 -2.244 -10.455 1.00 0.00 WT1 ATOM 217 H1 TIP3 575 -9.089 -2.062 -9.526 1.00 0.00 WT1 ATOM 218 H2 TIP3 575 -8.264 -3.024 -10.462 1.00 0.00 WT1 ATOM 219 OH2 TIP3 576 -8.629 14.820 8.984 1.00 0.00 WT1 ATOM 220 H1 TIP3 576 -9.385 14.519 9.531 1.00 0.00 WT1 ATOM 221 H2 TIP3 576 -9.070 15.058 8.148 1.00 0.00 WT1 ATOM 222 OH2 TIP3 584 -10.388 10.853 -10.191 1.00 0.00 WT1 ATOM 223 H1 TIP3 584 -9.575 10.501 -9.739 1.00 0.00 WT1 ATOM 224 H2 TIP3 584 -10.958 11.163 -9.439 1.00 0.00 WT1 ATOM 225 OH2 TIP3 592 2.009 11.679 0.013 1.00 0.00 WT1 ATOM 226 H1 TIP3 592 1.680 12.568 0.208 1.00 0.00 WT1 ATOM 227 H2 TIP3 592 1.845 11.103 0.774 1.00 0.00 WT1 ATOM 228 OH2 TIP3 593 -10.216 15.206 -3.064 1.00 0.00 WT1 ATOM 229 H1 TIP3 593 -11.198 15.166 -3.036 1.00 0.00 WT1 ATOM 230 H2 TIP3 593 -9.913 14.304 -2.816 1.00 0.00 WT1 ATOM 231 OH2 TIP3 594 -8.501 -6.630 -5.539 1.00 0.00 WT1 ATOM 232 H1 TIP3 594 -8.744 -6.579 -6.518 1.00 0.00 WT1 ATOM 233 H2 TIP3 594 -7.801 -5.960 -5.499 1.00 0.00 WT1 ATOM 234 OH2 TIP3 595 -4.300 6.643 4.256 1.00 0.00 WT1 ATOM 235 H1 TIP3 595 -3.694 7.303 3.878 1.00 0.00 WT1 ATOM 236 H2 TIP3 595 -4.896 6.321 3.509 1.00 0.00 WT1 ATOM 237 OH2 TIP3 612 4.981 9.588 -9.297 1.00 0.00 WT1 ATOM 238 H1 TIP3 612 5.152 10.066 -8.457 1.00 0.00 WT1 ATOM 239 H2 TIP3 612 5.216 10.250 -9.993 1.00 0.00 WT1 ATOM 240 OH2 TIP3 613 2.329 9.405 -10.331 1.00 0.00 WT1 ATOM 241 H1 TIP3 613 1.754 9.660 -9.617 1.00 0.00 WT1 ATOM 242 H2 TIP3 613 3.217 9.589 -10.005 1.00 0.00 WT1 ATOM 243 OH2 TIP3 632 -3.030 10.650 -5.442 1.00 0.00 WT1 ATOM 244 H1 TIP3 632 -2.204 11.122 -5.376 1.00 0.00 WT1 ATOM 245 H2 TIP3 632 -3.694 11.302 -5.767 1.00 0.00 WT1 ATOM 246 OH2 TIP3 634 -0.282 1.935 -7.361 1.00 0.00 WT1 ATOM 247 H1 TIP3 634 -1.161 1.726 -7.671 1.00 0.00 WT1 ATOM 248 H2 TIP3 634 0.190 1.064 -7.362 1.00 0.00 WT1 ATOM 249 OH2 TIP3 635 8.448 12.737 4.370 1.00 0.00 WT1 ATOM 250 H1 TIP3 635 8.971 13.531 4.420 1.00 0.00 WT1 ATOM 251 H2 TIP3 635 7.523 13.043 4.302 1.00 0.00 WT1 ATOM 252 OH2 TIP3 638 -9.125 12.637 5.115 1.00 0.00 WT1 ATOM 253 H1 TIP3 638 -9.037 13.108 4.315 1.00 0.00 WT1 ATOM 254 H2 TIP3 638 -9.939 13.054 5.525 1.00 0.00 WT1 ATOM 255 OH2 TIP3 640 12.120 8.804 4.990 1.00 0.00 WT1 ATOM 256 H1 TIP3 640 11.926 9.701 5.377 1.00 0.00 WT1 ATOM 257 H2 TIP3 640 11.452 8.170 5.371 1.00 0.00 WT1 ATOM 258 OH2 TIP3 659 5.296 4.355 7.927 1.00 0.00 WT1 ATOM 259 H1 TIP3 659 6.015 4.191 7.216 1.00 0.00 WT1 ATOM 260 H2 TIP3 659 4.819 3.482 8.003 1.00 0.00 WT1 ATOM 261 OH2 TIP3 822 -10.464 -8.346 -2.500 1.00 0.00 WT1 ATOM 262 H1 TIP3 822 -10.785 -9.247 -2.740 1.00 0.00 WT1 ATOM 263 H2 TIP3 822 -9.706 -8.230 -3.089 1.00 0.00 WT1 ATOM 264 OH2 TIP3 849 -5.855 -7.427 2.967 1.00 0.00 WT1 ATOM 265 H1 TIP3 849 -5.327 -6.751 3.382 1.00 0.00 WT1 ATOM 266 H2 TIP3 849 -5.619 -8.193 3.458 1.00 0.00 WT1 ATOM 267 OH2 TIP3 867 -0.507 -6.094 2.804 1.00 0.00 WT1 ATOM 268 H1 TIP3 867 -0.310 -5.903 3.757 1.00 0.00 WT1 ATOM 269 H2 TIP3 867 -1.084 -6.843 2.919 1.00 0.00 WT1 ATOM 270 OH2 TIP3 887 15.686 -0.721 -12.400 1.00 0.00 WT1 ATOM 271 H1 TIP3 887 15.303 -1.535 -12.775 1.00 0.00 WT1 ATOM 272 H2 TIP3 887 16.664 -0.888 -12.526 1.00 0.00 WT1 ATOM 273 OH2 TIP3 889 -9.022 -11.109 11.799 1.00 0.00 WT1 ATOM 274 H1 TIP3 889 -9.747 -11.724 11.631 1.00 0.00 WT1 ATOM 275 H2 TIP3 889 -9.086 -11.010 12.821 1.00 0.00 WT1 ATOM 276 OH2 TIP3 891 0.552 6.799 -3.121 1.00 0.00 WT1 ATOM 277 H1 TIP3 891 1.068 7.590 -3.213 1.00 0.00 WT1 ATOM 278 H2 TIP3 891 1.224 6.090 -3.178 1.00 0.00 WT1 ATOM 279 OH2 TIP3 906 -4.184 -10.591 0.332 1.00 0.00 WT1 ATOM 280 H1 TIP3 906 -5.026 -10.014 0.456 1.00 0.00 WT1 ATOM 281 H2 TIP3 906 -4.519 -11.412 0.663 1.00 0.00 WT1 ATOM 282 OH2 TIP3 907 6.601 -7.044 -7.203 1.00 0.00 WT1 ATOM 283 H1 TIP3 907 6.009 -6.499 -7.699 1.00 0.00 WT1 ATOM 284 H2 TIP3 907 6.340 -7.946 -7.410 1.00 0.00 WT1 ATOM 285 OH2 TIP3 908 -7.183 -5.116 -0.303 1.00 0.00 WT1 ATOM 286 H1 TIP3 908 -6.634 -5.622 -0.941 1.00 0.00 WT1 ATOM 287 H2 TIP3 908 -8.040 -5.495 -0.535 1.00 0.00 WT1 ATOM 288 OH2 TIP3 912 10.922 -9.929 6.764 1.00 0.00 WT1 ATOM 289 H1 TIP3 912 11.718 -10.219 7.183 1.00 0.00 WT1 ATOM 290 H2 TIP3 912 10.275 -9.987 7.482 1.00 0.00 WT1 ATOM 291 OH2 TIP3 924 1.282 -3.364 -10.864 1.00 0.00 WT1 ATOM 292 H1 TIP3 924 1.697 -2.975 -10.092 1.00 0.00 WT1 ATOM 293 H2 TIP3 924 1.771 -4.174 -11.040 1.00 0.00 WT1 ATOM 294 OH2 TIP3 927 -0.034 -3.205 -5.151 1.00 0.00 WT1 ATOM 295 H1 TIP3 927 -0.768 -2.643 -5.026 1.00 0.00 WT1 ATOM 296 H2 TIP3 927 -0.345 -4.027 -4.781 1.00 0.00 WT1 ATOM 297 OH2 TIP3 928 -9.373 -9.609 2.319 1.00 0.00 WT1 ATOM 298 H1 TIP3 928 -9.010 -8.734 2.466 1.00 0.00 WT1 ATOM 299 H2 TIP3 928 -9.094 -9.816 1.343 1.00 0.00 WT1 ATOM 300 OH2 TIP3 929 4.922 -0.222 3.829 1.00 0.00 WT1 ATOM 301 H1 TIP3 929 4.141 -0.046 3.312 1.00 0.00 WT1 ATOM 302 H2 TIP3 929 4.676 -0.939 4.432 1.00 0.00 WT1 ATOM 303 OH2 TIP3 930 -9.312 -1.191 4.814 1.00 0.00 WT1 ATOM 304 H1 TIP3 930 -10.072 -1.137 4.226 1.00 0.00 WT1 ATOM 305 H2 TIP3 930 -8.953 -0.280 4.776 1.00 0.00 WT1 ATOM 306 OH2 TIP3 932 -1.991 1.089 4.261 1.00 0.00 WT1 ATOM 307 H1 TIP3 932 -1.149 1.383 4.659 1.00 0.00 WT1 ATOM 308 H2 TIP3 932 -1.817 0.184 4.023 1.00 0.00 WT1 ATOM 309 OH2 TIP3 933 -7.753 -2.947 9.340 1.00 0.00 WT1 ATOM 310 H1 TIP3 933 -6.813 -2.799 9.575 1.00 0.00 WT1 ATOM 311 H2 TIP3 933 -7.763 -2.626 8.416 1.00 0.00 WT1 ATOM 312 OH2 TIP3 942 7.230 3.319 -9.239 1.00 0.00 WT1 ATOM 313 H1 TIP3 942 7.399 3.673 -10.111 1.00 0.00 WT1 ATOM 314 H2 TIP3 942 7.902 2.592 -9.118 1.00 0.00 WT1 ATOM 315 OH2 TIP3 947 4.219 -9.541 -5.672 1.00 0.00 WT1 ATOM 316 H1 TIP3 947 4.247 -10.074 -4.922 1.00 0.00 WT1 ATOM 317 H2 TIP3 947 4.722 -10.075 -6.309 1.00 0.00 WT1 ATOM 318 OH2 TIP3 948 1.923 -8.280 -6.520 1.00 0.00 WT1 ATOM 319 H1 TIP3 948 1.223 -8.883 -6.141 1.00 0.00 WT1 ATOM 320 H2 TIP3 948 2.748 -8.653 -6.114 1.00 0.00 WT1 ATOM 321 OH2 TIP3 949 -5.503 -8.389 11.339 1.00 0.00 WT1 ATOM 322 H1 TIP3 949 -5.209 -8.112 12.221 1.00 0.00 WT1 ATOM 323 H2 TIP3 949 -6.054 -7.647 11.065 1.00 0.00 WT1 ATOM 324 OH2 TIP3 950 5.110 6.680 2.791 1.00 0.00 WT1 ATOM 325 H1 TIP3 950 5.749 6.344 2.113 1.00 0.00 WT1 ATOM 326 H2 TIP3 950 5.643 7.317 3.309 1.00 0.00 WT1 ATOM 327 OH2 TIP3 953 4.187 -11.263 5.167 1.00 0.00 WT1 ATOM 328 H1 TIP3 953 4.805 -10.864 4.487 1.00 0.00 WT1 ATOM 329 H2 TIP3 953 3.363 -10.804 5.030 1.00 0.00 WT1 ATOM 330 OH2 TIP3 964 -3.381 6.936 -11.084 1.00 0.00 WT1 ATOM 331 H1 TIP3 964 -3.954 7.055 -11.832 1.00 0.00 WT1 ATOM 332 H2 TIP3 964 -2.882 6.108 -11.194 1.00 0.00 WT1 ATOM 333 OH2 TIP3 970 2.452 13.617 -6.550 1.00 0.00 WT1 ATOM 334 H1 TIP3 970 2.640 13.446 -5.597 1.00 0.00 WT1 ATOM 335 H2 TIP3 970 2.144 14.560 -6.547 1.00 0.00 WT1 ATOM 336 OH2 TIP3 973 8.319 6.998 11.334 1.00 0.00 WT1 ATOM 337 H1 TIP3 973 9.188 7.436 11.252 1.00 0.00 WT1 ATOM 338 H2 TIP3 973 8.544 6.061 11.339 1.00 0.00 WT1 ATOM 339 OH2 TIP3 974 -0.937 -1.367 7.880 1.00 0.00 WT1 ATOM 340 H1 TIP3 974 -0.318 -1.742 8.575 1.00 0.00 WT1 ATOM 341 H2 TIP3 974 -0.867 -1.924 7.159 1.00 0.00 WT1 ATOM 342 OH2 TIP3 975 0.262 -6.740 8.623 1.00 0.00 WT1 ATOM 343 H1 TIP3 975 0.835 -7.148 9.352 1.00 0.00 WT1 ATOM 344 H2 TIP3 975 -0.657 -6.876 9.021 1.00 0.00 WT1 ATOM 345 OH2 TIP3 977 -2.893 2.469 12.071 1.00 0.00 WT1 ATOM 346 H1 TIP3 977 -2.221 2.264 12.657 1.00 0.00 WT1 ATOM 347 H2 TIP3 977 -2.475 3.138 11.485 1.00 0.00 WT1 ATOM 348 OH2 TIP3 988 2.701 13.647 -10.793 1.00 0.00 WT1 ATOM 349 H1 TIP3 988 2.456 14.573 -10.540 1.00 0.00 WT1 ATOM 350 H2 TIP3 988 2.277 13.101 -10.079 1.00 0.00 WT1 ATOM 351 OH2 TIP3 992 9.797 -9.545 2.094 1.00 0.00 WT1 ATOM 352 H1 TIP3 992 9.179 -8.779 2.005 1.00 0.00 WT1 ATOM 353 H2 TIP3 992 10.557 -9.223 1.670 1.00 0.00 WT1 ATOM 354 OH2 TIP3 995 -4.411 3.844 4.105 1.00 0.00 WT1 ATOM 355 H1 TIP3 995 -4.068 3.834 3.248 1.00 0.00 WT1 ATOM 356 H2 TIP3 995 -4.102 4.687 4.489 1.00 0.00 WT1 ATOM 357 OH2 TIP3 996 -5.431 4.701 10.945 1.00 0.00 WT1 ATOM 358 H1 TIP3 996 -6.105 4.511 10.262 1.00 0.00 WT1 ATOM 359 H2 TIP3 996 -5.461 5.670 11.015 1.00 0.00 WT1 ATOM 360 OH2 TIP3 1007 3.392 5.295 -9.866 1.00 0.00 WT1 ATOM 361 H1 TIP3 1007 3.064 4.840 -9.116 1.00 0.00 WT1 ATOM 362 H2 TIP3 1007 2.631 5.791 -10.201 1.00 0.00 WT1 ATOM 363 OH2 TIP3 1011 -6.458 7.324 -7.604 1.00 0.00 WT1 ATOM 364 H1 TIP3 1011 -6.442 8.238 -7.233 1.00 0.00 WT1 ATOM 365 H2 TIP3 1011 -5.548 7.216 -7.878 1.00 0.00 WT1 ATOM 366 OH2 TIP3 1013 -9.596 4.540 1.276 1.00 0.00 WT1 ATOM 367 H1 TIP3 1013 -9.986 3.665 1.341 1.00 0.00 WT1 ATOM 368 H2 TIP3 1013 -10.352 5.169 0.972 1.00 0.00 WT1 ATOM 369 OH2 TIP3 1014 -0.124 2.972 7.071 1.00 0.00 WT1 ATOM 370 H1 TIP3 1014 0.010 2.062 6.619 1.00 0.00 WT1 ATOM 371 H2 TIP3 1014 0.725 3.125 7.512 1.00 0.00 WT1 ATOM 372 OH2 TIP3 1015 11.367 10.850 10.150 1.00 0.00 WT1 ATOM 373 H1 TIP3 1015 12.185 10.684 9.655 1.00 0.00 WT1 ATOM 374 H2 TIP3 1015 10.709 10.960 9.482 1.00 0.00 WT1 ATOM 375 OH2 TIP3 1017 -1.427 5.245 3.360 1.00 0.00 WT1 ATOM 376 H1 TIP3 1017 -0.635 5.351 2.843 1.00 0.00 WT1 ATOM 377 H2 TIP3 1017 -1.270 5.769 4.155 1.00 0.00 WT1 ATOM 378 OH2 TIP3 1018 -8.842 6.805 -2.241 1.00 0.00 WT1 ATOM 379 H1 TIP3 1018 -9.160 6.610 -1.378 1.00 0.00 WT1 ATOM 380 H2 TIP3 1018 -7.864 6.902 -2.156 1.00 0.00 WT1 ATOM 381 OH2 TIP3 1027 3.947 2.403 -11.626 1.00 0.00 WT1 ATOM 382 H1 TIP3 1027 4.075 3.308 -11.919 1.00 0.00 WT1 ATOM 383 H2 TIP3 1027 2.964 2.404 -11.492 1.00 0.00 WT1 ATOM 384 OH2 TIP3 1032 -3.282 -3.214 -8.757 1.00 0.00 WT1 ATOM 385 H1 TIP3 1032 -3.847 -2.475 -9.167 1.00 0.00 WT1 ATOM 386 H2 TIP3 1032 -3.893 -3.804 -8.259 1.00 0.00 WT1 ATOM 387 OH2 TIP3 1033 -1.002 14.120 -11.106 1.00 0.00 WT1 ATOM 388 H1 TIP3 1033 -1.814 14.473 -11.559 1.00 0.00 WT1 ATOM 389 H2 TIP3 1033 -0.688 14.857 -10.455 1.00 0.00 WT1 ATOM 390 OH2 TIP3 1040 -4.086 13.193 3.126 1.00 0.00 WT1 ATOM 391 H1 TIP3 1040 -3.906 14.097 2.915 1.00 0.00 WT1 ATOM 392 H2 TIP3 1040 -4.926 13.074 2.655 1.00 0.00 WT1 ATOM 393 OH2 TIP3 1053 0.374 10.306 6.376 1.00 0.00 WT1 ATOM 394 H1 TIP3 1053 1.202 10.390 6.903 1.00 0.00 WT1 ATOM 395 H2 TIP3 1053 -0.395 10.451 7.016 1.00 0.00 WT1 ATOM 396 OH2 TIP3 1059 2.544 12.979 -3.559 1.00 0.00 WT1 ATOM 397 H1 TIP3 1059 1.615 12.854 -3.312 1.00 0.00 WT1 ATOM 398 H2 TIP3 1059 2.937 12.936 -2.705 1.00 0.00 WT1 ATOM 399 OH2 TIP3 1112 -4.508 13.778 -8.231 1.00 0.00 WT1 ATOM 400 H1 TIP3 1112 -3.804 14.392 -8.318 1.00 0.00 WT1 ATOM 401 H2 TIP3 1112 -4.495 13.253 -9.066 1.00 0.00 WT1 ATOM 402 OH2 TIP3 1115 10.160 5.070 -7.204 1.00 0.00 WT1 ATOM 403 H1 TIP3 1115 9.520 4.375 -6.878 1.00 0.00 WT1 ATOM 404 H2 TIP3 1115 10.946 4.956 -6.700 1.00 0.00 WT1 ATOM 405 OH2 TIP3 1117 9.841 1.675 -8.787 1.00 0.00 WT1 ATOM 406 H1 TIP3 1117 9.453 1.210 -8.070 1.00 0.00 WT1 ATOM 407 H2 TIP3 1117 10.580 2.191 -8.332 1.00 0.00 WT1 ATOM 408 OH2 TIP3 1272 -2.423 -9.521 11.548 1.00 0.00 WT1 ATOM 409 H1 TIP3 1272 -3.337 -9.245 11.671 1.00 0.00 WT1 ATOM 410 H2 TIP3 1272 -2.040 -8.906 10.940 1.00 0.00 WT1 ATOM 411 OH2 TIP3 1301 -7.891 -11.376 -9.386 1.00 0.00 WT1 ATOM 412 H1 TIP3 1301 -8.193 -11.552 -10.284 1.00 0.00 WT1 ATOM 413 H2 TIP3 1301 -6.993 -11.078 -9.546 1.00 0.00 WT1 ATOM 414 OH2 TIP3 1307 4.885 -4.410 -2.451 1.00 0.00 WT1 ATOM 415 H1 TIP3 1307 4.874 -3.425 -2.364 1.00 0.00 WT1 ATOM 416 H2 TIP3 1307 4.866 -4.467 -3.458 1.00 0.00 WT1 ATOM 417 OH2 TIP3 1308 -2.833 10.021 0.995 1.00 0.00 WT1 ATOM 418 H1 TIP3 1308 -2.084 10.270 0.399 1.00 0.00 WT1 ATOM 419 H2 TIP3 1308 -3.405 10.837 1.033 1.00 0.00 WT1 ATOM 420 OH2 TIP3 1326 7.268 -9.726 -11.701 1.00 0.00 WT1 ATOM 421 H1 TIP3 1326 6.325 -9.607 -11.505 1.00 0.00 WT1 ATOM 422 H2 TIP3 1326 7.391 -10.675 -11.882 1.00 0.00 WT1 ATOM 423 OH2 TIP3 1327 4.318 -6.833 -4.560 1.00 0.00 WT1 ATOM 424 H1 TIP3 1327 5.187 -7.183 -4.267 1.00 0.00 WT1 ATOM 425 H2 TIP3 1327 4.012 -7.482 -5.212 1.00 0.00 WT1 ATOM 426 OH2 TIP3 1328 -6.672 -10.210 -4.784 1.00 0.00 WT1 ATOM 427 H1 TIP3 1328 -5.751 -10.113 -4.956 1.00 0.00 WT1 ATOM 428 H2 TIP3 1328 -6.777 -11.199 -4.716 1.00 0.00 WT1 ATOM 429 OH2 TIP3 1329 8.817 -5.735 -4.057 1.00 0.00 WT1 ATOM 430 H1 TIP3 1329 9.464 -5.100 -3.997 1.00 0.00 WT1 ATOM 431 H2 TIP3 1329 8.174 -5.242 -4.552 1.00 0.00 WT1 ATOM 432 OH2 TIP3 1330 10.799 -1.787 5.368 1.00 0.00 WT1 ATOM 433 H1 TIP3 1330 11.508 -1.754 4.622 1.00 0.00 WT1 ATOM 434 H2 TIP3 1330 11.379 -1.675 6.141 1.00 0.00 WT1 ATOM 435 OH2 TIP3 1333 7.139 -5.837 4.536 1.00 0.00 WT1 ATOM 436 H1 TIP3 1333 7.204 -5.524 3.623 1.00 0.00 WT1 ATOM 437 H2 TIP3 1333 6.187 -5.656 4.705 1.00 0.00 WT1 ATOM 438 OH2 TIP3 1344 -2.328 8.766 -7.319 1.00 0.00 WT1 ATOM 439 H1 TIP3 1344 -2.506 9.417 -6.633 1.00 0.00 WT1 ATOM 440 H2 TIP3 1344 -1.854 9.193 -8.002 1.00 0.00 WT1 ATOM 441 OH2 TIP3 1346 8.188 -0.451 -11.099 1.00 0.00 WT1 ATOM 442 H1 TIP3 1346 8.504 -1.316 -11.481 1.00 0.00 WT1 ATOM 443 H2 TIP3 1346 7.880 -0.756 -10.233 1.00 0.00 WT1 ATOM 444 OH2 TIP3 1347 12.954 -5.996 -7.304 1.00 0.00 WT1 ATOM 445 H1 TIP3 1347 12.656 -6.205 -8.206 1.00 0.00 WT1 ATOM 446 H2 TIP3 1347 12.151 -5.638 -6.828 1.00 0.00 WT1 ATOM 447 OH2 TIP3 1352 -4.544 -5.268 -3.433 1.00 0.00 WT1 ATOM 448 H1 TIP3 1352 -5.108 -5.840 -2.783 1.00 0.00 WT1 ATOM 449 H2 TIP3 1352 -3.653 -5.523 -3.033 1.00 0.00 WT1 ATOM 450 OH2 TIP3 1354 -11.029 10.588 8.282 1.00 0.00 WT1 ATOM 451 H1 TIP3 1354 -10.910 10.770 9.267 1.00 0.00 WT1 ATOM 452 H2 TIP3 1354 -10.210 10.052 8.141 1.00 0.00 WT1 ATOM 453 OH2 TIP3 1355 0.136 3.192 10.069 1.00 0.00 WT1 ATOM 454 H1 TIP3 1355 0.568 2.311 10.008 1.00 0.00 WT1 ATOM 455 H2 TIP3 1355 -0.625 3.108 9.502 1.00 0.00 WT1 ATOM 456 OH2 TIP3 1367 -1.082 4.670 -6.529 1.00 0.00 WT1 ATOM 457 H1 TIP3 1367 -1.980 4.652 -6.159 1.00 0.00 WT1 ATOM 458 H2 TIP3 1367 -1.103 3.887 -7.094 1.00 0.00 WT1 ATOM 459 OH2 TIP3 1368 11.201 -5.209 -0.414 1.00 0.00 WT1 ATOM 460 H1 TIP3 1368 10.641 -4.835 0.309 1.00 0.00 WT1 ATOM 461 H2 TIP3 1368 10.747 -6.046 -0.586 1.00 0.00 WT1 ATOM 462 OH2 TIP3 1370 -6.557 -7.098 -8.056 1.00 0.00 WT1 ATOM 463 H1 TIP3 1370 -6.152 -7.689 -8.684 1.00 0.00 WT1 ATOM 464 H2 TIP3 1370 -5.802 -7.030 -7.445 1.00 0.00 WT1 ATOM 465 OH2 TIP3 1371 1.125 2.090 -3.729 1.00 0.00 WT1 ATOM 466 H1 TIP3 1371 0.638 2.773 -4.196 1.00 0.00 WT1 ATOM 467 H2 TIP3 1371 0.357 1.560 -3.309 1.00 0.00 WT1 ATOM 468 OH2 TIP3 1372 -6.024 -11.116 11.609 1.00 0.00 WT1 ATOM 469 H1 TIP3 1372 -5.715 -10.222 11.660 1.00 0.00 WT1 ATOM 470 H2 TIP3 1372 -7.042 -10.942 11.688 1.00 0.00 WT1 ATOM 471 OH2 TIP3 1374 -5.723 1.440 0.133 1.00 0.00 WT1 ATOM 472 H1 TIP3 1374 -4.932 1.311 0.630 1.00 0.00 WT1 ATOM 473 H2 TIP3 1374 -6.347 1.176 0.799 1.00 0.00 WT1 ATOM 474 OH2 TIP3 1376 1.387 0.343 10.102 1.00 0.00 WT1 ATOM 475 H1 TIP3 1376 0.958 0.391 10.990 1.00 0.00 WT1 ATOM 476 H2 TIP3 1376 2.305 0.208 10.384 1.00 0.00 WT1 ATOM 477 OH2 TIP3 1387 -7.525 -4.462 -9.678 1.00 0.00 WT1 ATOM 478 H1 TIP3 1387 -6.717 -4.885 -9.995 1.00 0.00 WT1 ATOM 479 H2 TIP3 1387 -8.170 -5.088 -9.882 1.00 0.00 WT1 ATOM 480 OH2 TIP3 1388 3.794 1.711 6.054 1.00 0.00 WT1 ATOM 481 H1 TIP3 1388 4.531 1.126 6.159 1.00 0.00 WT1 ATOM 482 H2 TIP3 1388 3.535 1.638 5.109 1.00 0.00 WT1 ATOM 483 OH2 TIP3 1407 2.052 10.698 -5.753 1.00 0.00 WT1 ATOM 484 H1 TIP3 1407 2.872 11.085 -5.390 1.00 0.00 WT1 ATOM 485 H2 TIP3 1407 2.458 9.988 -6.340 1.00 0.00 WT1 ATOM 486 OH2 TIP3 1408 -6.922 12.860 -11.604 1.00 0.00 WT1 ATOM 487 H1 TIP3 1408 -6.197 12.482 -11.170 1.00 0.00 WT1 ATOM 488 H2 TIP3 1408 -7.583 12.212 -11.566 1.00 0.00 WT1 ATOM 489 OH2 TIP3 1411 -1.181 -1.374 -9.645 1.00 0.00 WT1 ATOM 490 H1 TIP3 1411 -1.937 -1.988 -9.657 1.00 0.00 WT1 ATOM 491 H2 TIP3 1411 -0.678 -1.453 -10.418 1.00 0.00 WT1 ATOM 492 OH2 TIP3 1414 -9.206 4.981 8.043 1.00 0.00 WT1 ATOM 493 H1 TIP3 1414 -8.438 4.510 8.519 1.00 0.00 WT1 ATOM 494 H2 TIP3 1414 -9.038 5.943 8.186 1.00 0.00 WT1 ATOM 495 OH2 TIP3 1415 2.342 2.425 8.356 1.00 0.00 WT1 ATOM 496 H1 TIP3 1415 2.892 2.144 7.647 1.00 0.00 WT1 ATOM 497 H2 TIP3 1415 2.211 1.655 8.900 1.00 0.00 WT1 ATOM 498 OH2 TIP3 1418 0.245 -10.465 6.506 1.00 0.00 WT1 ATOM 499 H1 TIP3 1418 -0.480 -9.884 6.651 1.00 0.00 WT1 ATOM 500 H2 TIP3 1418 0.335 -10.953 7.322 1.00 0.00 WT1 ATOM 501 OH2 TIP3 1428 1.857 -9.901 -2.930 1.00 0.00 WT1 ATOM 502 H1 TIP3 1428 1.592 -10.342 -3.784 1.00 0.00 WT1 ATOM 503 H2 TIP3 1428 2.799 -9.966 -2.967 1.00 0.00 WT1 ATOM 504 OH2 TIP3 1429 -5.761 -3.748 -7.742 1.00 0.00 WT1 ATOM 505 H1 TIP3 1429 -6.489 -3.975 -8.368 1.00 0.00 WT1 ATOM 506 H2 TIP3 1429 -6.272 -4.045 -6.962 1.00 0.00 WT1 ATOM 507 OH2 TIP3 1430 -1.398 12.804 1.651 1.00 0.00 WT1 ATOM 508 H1 TIP3 1430 -0.555 13.061 2.085 1.00 0.00 WT1 ATOM 509 H2 TIP3 1430 -2.015 13.330 2.196 1.00 0.00 WT1 ATOM 510 OH2 TIP3 1433 -7.914 5.956 4.224 1.00 0.00 WT1 ATOM 511 H1 TIP3 1433 -7.298 6.457 4.746 1.00 0.00 WT1 ATOM 512 H2 TIP3 1433 -7.595 6.120 3.329 1.00 0.00 WT1 ATOM 513 OH2 TIP3 1435 -4.614 3.139 8.384 1.00 0.00 WT1 ATOM 514 H1 TIP3 1435 -4.054 2.345 8.121 1.00 0.00 WT1 ATOM 515 H2 TIP3 1435 -4.006 3.636 8.942 1.00 0.00 WT1 ATOM 516 OH2 TIP3 1440 -9.768 -8.835 5.548 1.00 0.00 WT1 ATOM 517 H1 TIP3 1440 -9.675 -9.765 5.168 1.00 0.00 WT1 ATOM 518 H2 TIP3 1440 -10.622 -8.533 5.177 1.00 0.00 WT1 ATOM 519 OH2 TIP3 1442 -4.963 0.690 11.153 1.00 0.00 WT1 ATOM 520 H1 TIP3 1442 -4.154 1.007 10.792 1.00 0.00 WT1 ATOM 521 H2 TIP3 1442 -4.960 0.986 12.053 1.00 0.00 WT1 ATOM 522 OH2 TIP3 1450 9.044 13.168 -9.950 1.00 0.00 WT1 ATOM 523 H1 TIP3 1450 9.261 13.596 -9.125 1.00 0.00 WT1 ATOM 524 H2 TIP3 1450 8.657 12.283 -9.753 1.00 0.00 WT1 ATOM 525 OH2 TIP3 1451 -7.963 10.061 -9.378 1.00 0.00 WT1 ATOM 526 H1 TIP3 1451 -8.549 9.519 -8.831 1.00 0.00 WT1 ATOM 527 H2 TIP3 1451 -7.105 9.595 -9.298 1.00 0.00 WT1 ATOM 528 OH2 TIP3 1454 -2.268 6.792 -3.686 1.00 0.00 WT1 ATOM 529 H1 TIP3 1454 -1.321 6.851 -3.905 1.00 0.00 WT1 ATOM 530 H2 TIP3 1454 -2.660 6.387 -4.493 1.00 0.00 WT1 ATOM 531 OH2 TIP3 1455 -3.677 10.498 8.931 1.00 0.00 WT1 ATOM 532 H1 TIP3 1455 -3.902 9.962 9.659 1.00 0.00 WT1 ATOM 533 H2 TIP3 1455 -4.514 10.588 8.453 1.00 0.00 WT1 ATOM 534 OH2 TIP3 1458 -2.867 -4.970 7.350 1.00 0.00 WT1 ATOM 535 H1 TIP3 1458 -2.732 -4.523 8.157 1.00 0.00 WT1 ATOM 536 H2 TIP3 1458 -2.109 -4.756 6.821 1.00 0.00 WT1 ATOM 537 OH2 TIP3 1471 10.681 -3.325 -10.125 1.00 0.00 WT1 ATOM 538 H1 TIP3 1471 11.451 -3.850 -10.072 1.00 0.00 WT1 ATOM 539 H2 TIP3 1471 10.068 -3.905 -10.521 1.00 0.00 WT1 ATOM 540 OH2 TIP3 1474 -4.310 8.742 -3.753 1.00 0.00 WT1 ATOM 541 H1 TIP3 1474 -3.801 7.929 -3.695 1.00 0.00 WT1 ATOM 542 H2 TIP3 1474 -3.737 9.262 -4.320 1.00 0.00 WT1 ATOM 543 OH2 TIP3 1475 5.050 8.974 9.073 1.00 0.00 WT1 ATOM 544 H1 TIP3 1475 5.473 8.058 8.799 1.00 0.00 WT1 ATOM 545 H2 TIP3 1475 5.577 9.195 9.794 1.00 0.00 WT1 ATOM 546 OH2 TIP3 1493 -5.615 11.065 5.683 1.00 0.00 WT1 ATOM 547 H1 TIP3 1493 -5.484 11.947 6.106 1.00 0.00 WT1 ATOM 548 H2 TIP3 1493 -4.707 10.789 5.352 1.00 0.00 WT1 ATOM 549 OH2 TIP3 1494 3.192 -5.000 2.133 1.00 0.00 WT1 ATOM 550 H1 TIP3 1494 2.321 -4.609 1.832 1.00 0.00 WT1 ATOM 551 H2 TIP3 1494 3.674 -5.134 1.294 1.00 0.00 WT1 ATOM 552 OH2 TIP3 1497 -4.354 -1.677 -6.250 1.00 0.00 WT1 ATOM 553 H1 TIP3 1497 -5.104 -1.065 -6.279 1.00 0.00 WT1 ATOM 554 H2 TIP3 1497 -4.731 -2.428 -6.726 1.00 0.00 WT1 ATOM 555 OH2 TIP3 1499 0.546 13.954 7.269 1.00 0.00 WT1 ATOM 556 H1 TIP3 1499 0.253 14.681 7.795 1.00 0.00 WT1 ATOM 557 H2 TIP3 1499 -0.225 13.406 7.208 1.00 0.00 WT1 ATOM 558 OH2 TIP3 1512 -0.902 8.685 -1.598 1.00 0.00 WT1 ATOM 559 H1 TIP3 1512 -0.197 8.113 -1.894 1.00 0.00 WT1 ATOM 560 H2 TIP3 1512 -1.616 8.146 -1.896 1.00 0.00 WT1 ATOM 561 OH2 TIP3 1515 5.478 13.414 -4.790 1.00 0.00 WT1 ATOM 562 H1 TIP3 1515 5.981 12.976 -4.079 1.00 0.00 WT1 ATOM 563 H2 TIP3 1515 4.791 13.859 -4.227 1.00 0.00 WT1 ATOM 564 OH2 TIP3 1532 2.024 10.128 2.554 1.00 0.00 WT1 ATOM 565 H1 TIP3 1532 1.402 9.710 3.115 1.00 0.00 WT1 ATOM 566 H2 TIP3 1532 2.816 10.166 3.101 1.00 0.00 WT1 ATOM 567 OH2 TIP3 1542 2.363 11.545 11.541 1.00 0.00 WT1 ATOM 568 H1 TIP3 1542 2.954 11.997 10.880 1.00 0.00 WT1 ATOM 569 H2 TIP3 1542 2.591 10.593 11.354 1.00 0.00 WT1 ATOM 570 OH2 TIP3 1559 -4.393 7.251 7.071 1.00 0.00 WT1 ATOM 571 H1 TIP3 1559 -3.525 7.252 7.547 1.00 0.00 WT1 ATOM 572 H2 TIP3 1559 -4.242 7.054 6.133 1.00 0.00 WT1 ATOM 573 OH2 TIP3 1611 -3.236 7.215 9.666 1.00 0.00 WT1 ATOM 574 H1 TIP3 1611 -2.579 7.839 9.356 1.00 0.00 WT1 ATOM 575 H2 TIP3 1611 -3.770 7.675 10.422 1.00 0.00 WT1 ATOM 576 OH2 TIP3 1707 0.902 -11.894 -8.137 1.00 0.00 WT1 ATOM 577 H1 TIP3 1707 1.608 -12.180 -7.517 1.00 0.00 WT1 ATOM 578 H2 TIP3 1707 0.603 -10.919 -7.856 1.00 0.00 WT1 ATOM 579 OH2 TIP3 1723 -2.014 -8.440 2.885 1.00 0.00 WT1 ATOM 580 H1 TIP3 1723 -2.048 -9.225 2.308 1.00 0.00 WT1 ATOM 581 H2 TIP3 1723 -2.695 -8.648 3.525 1.00 0.00 WT1 ATOM 582 OH2 TIP3 1725 -8.790 -9.040 -8.021 1.00 0.00 WT1 ATOM 583 H1 TIP3 1725 -8.527 -9.881 -8.427 1.00 0.00 WT1 ATOM 584 H2 TIP3 1725 -7.992 -8.475 -8.031 1.00 0.00 WT1 ATOM 585 OH2 TIP3 1727 7.163 -6.244 11.225 1.00 0.00 WT1 ATOM 586 H1 TIP3 1727 6.419 -5.990 10.631 1.00 0.00 WT1 ATOM 587 H2 TIP3 1727 6.762 -6.984 11.781 1.00 0.00 WT1 ATOM 588 OH2 TIP3 1729 -4.417 -5.940 9.918 1.00 0.00 WT1 ATOM 589 H1 TIP3 1729 -4.045 -5.000 10.014 1.00 0.00 WT1 ATOM 590 H2 TIP3 1729 -5.377 -5.786 9.957 1.00 0.00 WT1 ATOM 591 OH2 TIP3 1730 0.307 -10.674 1.756 1.00 0.00 WT1 ATOM 592 H1 TIP3 1730 0.145 -10.046 1.022 1.00 0.00 WT1 ATOM 593 H2 TIP3 1730 1.134 -11.088 1.504 1.00 0.00 WT1 ATOM 594 OH2 TIP3 1733 -8.037 -11.231 3.897 1.00 0.00 WT1 ATOM 595 H1 TIP3 1733 -8.841 -10.738 3.731 1.00 0.00 WT1 ATOM 596 H2 TIP3 1733 -7.941 -11.854 3.173 1.00 0.00 WT1 ATOM 597 OH2 TIP3 1744 8.608 -11.630 -6.658 1.00 0.00 WT1 ATOM 598 H1 TIP3 1744 9.143 -11.172 -7.327 1.00 0.00 WT1 ATOM 599 H2 TIP3 1744 8.556 -12.583 -6.980 1.00 0.00 WT1 ATOM 600 OH2 TIP3 1746 -0.363 -2.744 5.552 1.00 0.00 WT1 ATOM 601 H1 TIP3 1746 -0.866 -2.338 4.828 1.00 0.00 WT1 ATOM 602 H2 TIP3 1746 0.452 -2.264 5.559 1.00 0.00 WT1 ATOM 603 OH2 TIP3 1750 -4.150 12.157 -10.536 1.00 0.00 WT1 ATOM 604 H1 TIP3 1750 -3.226 12.445 -10.642 1.00 0.00 WT1 ATOM 605 H2 TIP3 1750 -4.060 11.188 -10.634 1.00 0.00 WT1 ATOM 606 OH2 TIP3 1752 0.858 -4.049 10.003 1.00 0.00 WT1 ATOM 607 H1 TIP3 1752 0.812 -3.525 10.809 1.00 0.00 WT1 ATOM 608 H2 TIP3 1752 0.379 -4.859 10.321 1.00 0.00 WT1 ATOM 609 OH2 TIP3 1764 -6.070 -11.204 -12.580 1.00 0.00 WT1 ATOM 610 H1 TIP3 1764 -6.514 -11.705 -11.845 1.00 0.00 WT1 ATOM 611 H2 TIP3 1764 -5.180 -11.513 -12.493 1.00 0.00 WT1 ATOM 612 OH2 TIP3 1771 -8.702 -9.310 -0.169 1.00 0.00 WT1 ATOM 613 H1 TIP3 1771 -9.097 -8.677 -0.764 1.00 0.00 WT1 ATOM 614 H2 TIP3 1771 -8.496 -10.103 -0.696 1.00 0.00 WT1 ATOM 615 OH2 TIP3 1773 3.143 -11.463 0.925 1.00 0.00 WT1 ATOM 616 H1 TIP3 1773 3.483 -12.192 1.486 1.00 0.00 WT1 ATOM 617 H2 TIP3 1773 3.362 -10.620 1.347 1.00 0.00 WT1 ATOM 618 OH2 TIP3 1788 3.367 10.674 4.771 1.00 0.00 WT1 ATOM 619 H1 TIP3 1788 4.265 10.452 4.782 1.00 0.00 WT1 ATOM 620 H2 TIP3 1788 3.148 10.669 5.692 1.00 0.00 WT1 ATOM 621 OH2 TIP3 1789 -5.750 -6.061 -11.136 1.00 0.00 WT1 ATOM 622 H1 TIP3 1789 -4.799 -6.188 -11.061 1.00 0.00 WT1 ATOM 623 H2 TIP3 1789 -6.002 -6.859 -11.645 1.00 0.00 WT1 ATOM 624 OH2 TIP3 1790 6.852 1.622 3.833 1.00 0.00 WT1 ATOM 625 H1 TIP3 1790 7.528 1.073 4.294 1.00 0.00 WT1 ATOM 626 H2 TIP3 1790 5.973 1.162 3.879 1.00 0.00 WT1 ATOM 627 OH2 TIP3 1794 4.088 -11.444 11.652 1.00 0.00 WT1 ATOM 628 H1 TIP3 1794 3.645 -11.100 10.870 1.00 0.00 WT1 ATOM 629 H2 TIP3 1794 5.017 -11.288 11.448 1.00 0.00 WT1 ATOM 630 OH2 TIP3 1795 2.890 -10.913 9.237 1.00 0.00 WT1 ATOM 631 H1 TIP3 1795 3.675 -10.417 8.923 1.00 0.00 WT1 ATOM 632 H2 TIP3 1795 2.897 -11.774 8.734 1.00 0.00 WT1 ATOM 633 OH2 TIP3 1796 9.797 -7.754 5.378 1.00 0.00 WT1 ATOM 634 H1 TIP3 1796 9.173 -7.794 6.128 1.00 0.00 WT1 ATOM 635 H2 TIP3 1796 10.297 -8.605 5.548 1.00 0.00 WT1 ATOM 636 OH2 TIP3 1808 13.723 -2.696 10.509 1.00 0.00 WT1 ATOM 637 H1 TIP3 1808 13.913 -3.436 11.046 1.00 0.00 WT1 ATOM 638 H2 TIP3 1808 13.046 -2.276 10.990 1.00 0.00 WT1 ATOM 639 OH2 TIP3 1813 -5.069 -0.957 2.973 1.00 0.00 WT1 ATOM 640 H1 TIP3 1813 -5.449 -0.173 2.596 1.00 0.00 WT1 ATOM 641 H2 TIP3 1813 -5.645 -1.669 2.582 1.00 0.00 WT1 ATOM 642 OH2 TIP3 1814 -0.024 6.289 5.602 1.00 0.00 WT1 ATOM 643 H1 TIP3 1814 0.818 5.751 5.784 1.00 0.00 WT1 ATOM 644 H2 TIP3 1814 -0.637 5.958 6.285 1.00 0.00 WT1 ATOM 645 OH2 TIP3 1816 -1.306 11.633 8.105 1.00 0.00 WT1 ATOM 646 H1 TIP3 1816 -0.757 11.554 8.935 1.00 0.00 WT1 ATOM 647 H2 TIP3 1816 -2.115 11.172 8.289 1.00 0.00 WT1 ATOM 648 OH2 TIP3 1824 11.312 -10.657 -11.581 1.00 0.00 WT1 ATOM 649 H1 TIP3 1824 11.221 -10.743 -12.533 1.00 0.00 WT1 ATOM 650 H2 TIP3 1824 10.907 -11.494 -11.218 1.00 0.00 WT1 ATOM 651 OH2 TIP3 1829 0.569 0.694 -12.096 1.00 0.00 WT1 ATOM 652 H1 TIP3 1829 1.100 0.607 -11.285 1.00 0.00 WT1 ATOM 653 H2 TIP3 1829 1.168 1.001 -12.779 1.00 0.00 WT1 ATOM 654 OH2 TIP3 1830 2.199 0.981 -9.873 1.00 0.00 WT1 ATOM 655 H1 TIP3 1830 1.649 0.527 -9.127 1.00 0.00 WT1 ATOM 656 H2 TIP3 1830 3.167 0.809 -9.593 1.00 0.00 WT1 ATOM 657 OH2 TIP3 1831 -3.897 -12.587 -3.927 1.00 0.00 WT1 ATOM 658 H1 TIP3 1831 -3.764 -12.619 -4.922 1.00 0.00 WT1 ATOM 659 H2 TIP3 1831 -2.992 -12.479 -3.653 1.00 0.00 WT1 ATOM 660 OH2 TIP3 1832 7.220 -2.957 8.061 1.00 0.00 WT1 ATOM 661 H1 TIP3 1832 7.009 -2.895 7.081 1.00 0.00 WT1 ATOM 662 H2 TIP3 1832 7.792 -3.777 8.107 1.00 0.00 WT1 ATOM 663 OH2 TIP3 1835 0.395 14.894 4.528 1.00 0.00 WT1 ATOM 664 H1 TIP3 1835 0.485 13.969 4.476 1.00 0.00 WT1 ATOM 665 H2 TIP3 1835 0.635 15.035 5.439 1.00 0.00 WT1 ATOM 666 OH2 TIP3 1836 4.720 -2.675 9.400 1.00 0.00 WT1 ATOM 667 H1 TIP3 1836 5.593 -2.864 9.108 1.00 0.00 WT1 ATOM 668 H2 TIP3 1836 4.242 -2.388 8.566 1.00 0.00 WT1 ATOM 669 OH2 TIP3 1838 9.987 -1.463 9.083 1.00 0.00 WT1 ATOM 670 H1 TIP3 1838 10.222 -2.165 9.675 1.00 0.00 WT1 ATOM 671 H2 TIP3 1838 9.270 -1.756 8.511 1.00 0.00 WT1 ATOM 672 OH2 TIP3 1850 -0.510 12.007 -5.540 1.00 0.00 WT1 ATOM 673 H1 TIP3 1850 0.414 11.693 -5.463 1.00 0.00 WT1 ATOM 674 H2 TIP3 1850 -0.834 11.903 -4.603 1.00 0.00 WT1 ATOM 675 OH2 TIP3 1851 9.635 7.547 -8.338 1.00 0.00 WT1 ATOM 676 H1 TIP3 1851 9.599 8.031 -7.435 1.00 0.00 WT1 ATOM 677 H2 TIP3 1851 9.629 6.574 -8.144 1.00 0.00 WT1 ATOM 678 OH2 TIP3 1852 -1.183 11.213 -3.072 1.00 0.00 WT1 ATOM 679 H1 TIP3 1852 -1.136 10.317 -2.655 1.00 0.00 WT1 ATOM 680 H2 TIP3 1852 -1.171 11.812 -2.294 1.00 0.00 WT1 ATOM 681 OH2 TIP3 1853 -10.922 -2.277 0.389 1.00 0.00 WT1 ATOM 682 H1 TIP3 1853 -10.925 -1.878 -0.477 1.00 0.00 WT1 ATOM 683 H2 TIP3 1853 -9.949 -2.458 0.590 1.00 0.00 WT1 ATOM 684 OH2 TIP3 1854 5.003 -4.968 -8.313 1.00 0.00 WT1 ATOM 685 H1 TIP3 1854 4.043 -4.823 -7.918 1.00 0.00 WT1 ATOM 686 H2 TIP3 1854 4.694 -5.423 -9.083 1.00 0.00 WT1 ATOM 687 OH2 TIP3 1856 1.229 -0.408 -7.709 1.00 0.00 WT1 ATOM 688 H1 TIP3 1856 0.441 -0.928 -7.974 1.00 0.00 WT1 ATOM 689 H2 TIP3 1856 1.682 -0.948 -7.102 1.00 0.00 WT1 ATOM 690 OH2 TIP3 1860 0.125 4.612 12.390 1.00 0.00 WT1 ATOM 691 H1 TIP3 1860 0.908 4.233 12.771 1.00 0.00 WT1 ATOM 692 H2 TIP3 1860 0.032 4.071 11.536 1.00 0.00 WT1 ATOM 693 OH2 TIP3 1861 7.486 3.760 9.989 1.00 0.00 WT1 ATOM 694 H1 TIP3 1861 6.797 3.964 10.648 1.00 0.00 WT1 ATOM 695 H2 TIP3 1861 7.017 3.168 9.375 1.00 0.00 WT1 ATOM 696 OH2 TIP3 1871 -4.243 -1.186 -10.726 1.00 0.00 WT1 ATOM 697 H1 TIP3 1871 -4.636 -1.919 -11.272 1.00 0.00 WT1 ATOM 698 H2 TIP3 1871 -4.128 -0.525 -11.489 1.00 0.00 WT1 ATOM 699 OH2 TIP3 1873 2.322 -2.265 -5.919 1.00 0.00 WT1 ATOM 700 H1 TIP3 1873 1.397 -2.506 -5.589 1.00 0.00 WT1 ATOM 701 H2 TIP3 1873 2.797 -1.875 -5.154 1.00 0.00 WT1 ATOM 702 OH2 TIP3 1874 1.832 6.016 9.854 1.00 0.00 WT1 ATOM 703 H1 TIP3 1874 2.228 5.121 9.907 1.00 0.00 WT1 ATOM 704 H2 TIP3 1874 0.928 5.949 10.066 1.00 0.00 WT1 ATOM 705 OH2 TIP3 1875 1.657 12.064 -8.753 1.00 0.00 WT1 ATOM 706 H1 TIP3 1875 1.967 12.575 -7.962 1.00 0.00 WT1 ATOM 707 H2 TIP3 1875 1.978 11.194 -8.576 1.00 0.00 WT1 ATOM 708 OH2 TIP3 1878 12.095 -5.004 8.997 1.00 0.00 WT1 ATOM 709 H1 TIP3 1878 11.424 -4.929 9.710 1.00 0.00 WT1 ATOM 710 H2 TIP3 1878 12.749 -5.649 9.331 1.00 0.00 WT1 ATOM 711 OH2 TIP3 1881 6.497 7.955 -0.210 1.00 0.00 WT1 ATOM 712 H1 TIP3 1881 5.493 7.966 -0.299 1.00 0.00 WT1 ATOM 713 H2 TIP3 1881 6.683 7.133 0.244 1.00 0.00 WT1 ATOM 714 OH2 TIP3 1885 13.753 1.061 -10.210 1.00 0.00 WT1 ATOM 715 H1 TIP3 1885 13.000 0.384 -10.206 1.00 0.00 WT1 ATOM 716 H2 TIP3 1885 13.946 1.241 -11.169 1.00 0.00 WT1 ATOM 717 OH2 TIP3 1894 0.495 2.996 3.750 1.00 0.00 WT1 ATOM 718 H1 TIP3 1894 -0.319 3.532 3.511 1.00 0.00 WT1 ATOM 719 H2 TIP3 1894 1.133 3.651 4.083 1.00 0.00 WT1 ATOM 720 OH2 TIP3 1895 15.326 1.089 2.413 1.00 0.00 WT1 ATOM 721 H1 TIP3 1895 15.154 1.687 3.098 1.00 0.00 WT1 ATOM 722 H2 TIP3 1895 16.198 0.667 2.614 1.00 0.00 WT1 ATOM 723 OH2 TIP3 1896 11.983 7.396 -2.666 1.00 0.00 WT1 ATOM 724 H1 TIP3 1896 12.076 7.047 -1.739 1.00 0.00 WT1 ATOM 725 H2 TIP3 1896 12.692 8.054 -2.806 1.00 0.00 WT1 ATOM 726 OH2 TIP3 1897 -8.212 11.022 6.968 1.00 0.00 WT1 ATOM 727 H1 TIP3 1897 -8.626 11.752 6.540 1.00 0.00 WT1 ATOM 728 H2 TIP3 1897 -7.244 11.146 6.784 1.00 0.00 WT1 ATOM 729 OH2 TIP3 1898 -7.487 12.769 10.464 1.00 0.00 WT1 ATOM 730 H1 TIP3 1898 -7.276 13.649 10.143 1.00 0.00 WT1 ATOM 731 H2 TIP3 1898 -6.901 12.693 11.235 1.00 0.00 WT1 ATOM 732 OH2 TIP3 1900 3.310 3.781 10.977 1.00 0.00 WT1 ATOM 733 H1 TIP3 1900 3.163 3.185 11.729 1.00 0.00 WT1 ATOM 734 H2 TIP3 1900 2.844 3.317 10.268 1.00 0.00 WT1 ATOM 735 OH2 TIP3 1911 0.431 6.215 -8.213 1.00 0.00 WT1 ATOM 736 H1 TIP3 1911 -0.459 5.971 -7.870 1.00 0.00 WT1 ATOM 737 H2 TIP3 1911 0.323 6.332 -9.182 1.00 0.00 WT1 ATOM 738 OH2 TIP3 1912 2.339 8.707 -3.514 1.00 0.00 WT1 ATOM 739 H1 TIP3 1912 2.068 8.929 -4.424 1.00 0.00 WT1 ATOM 740 H2 TIP3 1912 2.648 9.604 -3.165 1.00 0.00 WT1 ATOM 741 OH2 TIP3 1914 0.790 8.062 1.029 1.00 0.00 WT1 ATOM 742 H1 TIP3 1914 0.849 8.751 1.695 1.00 0.00 WT1 ATOM 743 H2 TIP3 1914 -0.025 8.289 0.550 1.00 0.00 WT1 ATOM 744 OH2 TIP3 1915 1.603 5.091 -5.696 1.00 0.00 WT1 ATOM 745 H1 TIP3 1915 2.168 4.595 -6.391 1.00 0.00 WT1 ATOM 746 H2 TIP3 1915 0.752 5.179 -6.125 1.00 0.00 WT1 ATOM 747 OH2 TIP3 1919 2.798 12.862 8.650 1.00 0.00 WT1 ATOM 748 H1 TIP3 1919 3.058 12.124 8.122 1.00 0.00 WT1 ATOM 749 H2 TIP3 1919 1.961 13.077 8.193 1.00 0.00 WT1 ATOM 750 OH2 TIP3 1935 6.784 12.387 -2.656 1.00 0.00 WT1 ATOM 751 H1 TIP3 1935 7.642 12.733 -2.818 1.00 0.00 WT1 ATOM 752 H2 TIP3 1935 6.947 11.627 -2.005 1.00 0.00 WT1 ATOM 753 OH2 TIP3 1936 4.477 12.804 1.947 1.00 0.00 WT1 ATOM 754 H1 TIP3 1936 3.497 12.960 1.834 1.00 0.00 WT1 ATOM 755 H2 TIP3 1936 4.515 11.873 1.618 1.00 0.00 WT1 ATOM 756 OH2 TIP3 1938 4.800 -7.710 7.983 1.00 0.00 WT1 ATOM 757 H1 TIP3 1938 4.878 -8.648 8.020 1.00 0.00 WT1 ATOM 758 H2 TIP3 1938 3.923 -7.663 7.615 1.00 0.00 WT1 ATOM 759 OH2 TIP3 1952 4.778 6.936 -8.217 1.00 0.00 WT1 ATOM 760 H1 TIP3 1952 4.741 7.817 -8.619 1.00 0.00 WT1 ATOM 761 H2 TIP3 1952 4.346 6.395 -8.891 1.00 0.00 WT1 ATOM 762 OH2 TIP3 1955 -4.826 12.840 -5.596 1.00 0.00 WT1 ATOM 763 H1 TIP3 1955 -4.626 13.024 -6.540 1.00 0.00 WT1 ATOM 764 H2 TIP3 1955 -5.486 13.522 -5.349 1.00 0.00 WT1 ATOM 765 OH2 TIP3 1961 -0.194 10.985 10.517 1.00 0.00 WT1 ATOM 766 H1 TIP3 1961 -0.447 10.548 11.392 1.00 0.00 WT1 ATOM 767 H2 TIP3 1961 0.757 11.217 10.684 1.00 0.00 WT1 ATOM 768 OH2 TIP3 1977 12.477 10.387 -8.976 1.00 0.00 WT1 ATOM 769 H1 TIP3 1977 12.192 9.579 -9.528 1.00 0.00 WT1 ATOM 770 H2 TIP3 1977 12.582 11.052 -9.700 1.00 0.00 WT1 ATOM 771 OH2 TIP3 2123 -0.248 -11.078 -1.289 1.00 0.00 WT1 ATOM 772 H1 TIP3 2123 -0.892 -10.575 -1.745 1.00 0.00 WT1 ATOM 773 H2 TIP3 2123 0.498 -10.648 -1.869 1.00 0.00 WT1 ATOM 774 OH2 TIP3 2127 -10.229 -5.403 12.860 1.00 0.00 WT1 ATOM 775 H1 TIP3 2127 -9.969 -4.785 12.129 1.00 0.00 WT1 ATOM 776 H2 TIP3 2127 -10.251 -6.292 12.425 1.00 0.00 WT1 ATOM 777 OH2 TIP3 2163 -5.685 -4.446 1.779 1.00 0.00 WT1 ATOM 778 H1 TIP3 2163 -6.261 -4.597 0.993 1.00 0.00 WT1 ATOM 779 H2 TIP3 2163 -6.266 -3.896 2.284 1.00 0.00 WT1 ATOM 780 OH2 TIP3 2165 3.565 -7.876 -0.636 1.00 0.00 WT1 ATOM 781 H1 TIP3 2165 3.425 -6.863 -0.827 1.00 0.00 WT1 ATOM 782 H2 TIP3 2165 2.654 -8.103 -0.475 1.00 0.00 WT1 ATOM 783 OH2 TIP3 2167 -3.682 -8.307 -11.683 1.00 0.00 WT1 ATOM 784 H1 TIP3 2167 -2.898 -8.233 -12.222 1.00 0.00 WT1 ATOM 785 H2 TIP3 2167 -4.428 -8.304 -12.311 1.00 0.00 WT1 ATOM 786 OH2 TIP3 2172 0.224 -11.979 8.980 1.00 0.00 WT1 ATOM 787 H1 TIP3 2172 0.647 -12.712 8.578 1.00 0.00 WT1 ATOM 788 H2 TIP3 2172 1.008 -11.534 9.429 1.00 0.00 WT1 ATOM 789 OH2 TIP3 2185 7.797 -10.618 6.782 1.00 0.00 WT1 ATOM 790 H1 TIP3 2185 7.725 -9.729 6.346 1.00 0.00 WT1 ATOM 791 H2 TIP3 2185 8.321 -11.104 6.082 1.00 0.00 WT1 ATOM 792 OH2 TIP3 2186 12.837 -7.427 3.654 1.00 0.00 WT1 ATOM 793 H1 TIP3 2186 12.960 -6.954 4.530 1.00 0.00 WT1 ATOM 794 H2 TIP3 2186 11.914 -7.444 3.520 1.00 0.00 WT1 ATOM 795 OH2 TIP3 2187 13.001 -11.101 -0.946 1.00 0.00 WT1 ATOM 796 H1 TIP3 2187 12.371 -11.454 -0.280 1.00 0.00 WT1 ATOM 797 H2 TIP3 2187 13.130 -11.816 -1.554 1.00 0.00 WT1 ATOM 798 OH2 TIP3 2227 -0.011 -8.664 -9.608 1.00 0.00 WT1 ATOM 799 H1 TIP3 2227 0.842 -8.455 -9.151 1.00 0.00 WT1 ATOM 800 H2 TIP3 2227 -0.639 -8.389 -8.941 1.00 0.00 WT1 ATOM 801 OH2 TIP3 2229 9.703 5.473 -3.851 1.00 0.00 WT1 ATOM 802 H1 TIP3 2229 10.508 5.653 -3.260 1.00 0.00 WT1 ATOM 803 H2 TIP3 2229 9.848 6.060 -4.563 1.00 0.00 WT1 ATOM 804 OH2 TIP3 2231 -6.327 -8.734 0.634 1.00 0.00 WT1 ATOM 805 H1 TIP3 2231 -6.241 -8.069 1.294 1.00 0.00 WT1 ATOM 806 H2 TIP3 2231 -7.279 -8.840 0.514 1.00 0.00 WT1 ATOM 807 OH2 TIP3 2232 8.356 0.965 6.208 1.00 0.00 WT1 ATOM 808 H1 TIP3 2232 8.820 1.867 6.314 1.00 0.00 WT1 ATOM 809 H2 TIP3 2232 8.991 0.421 5.666 1.00 0.00 WT1 ATOM 810 OH2 TIP3 2244 2.656 -8.191 -9.125 1.00 0.00 WT1 ATOM 811 H1 TIP3 2244 2.856 -8.174 -8.175 1.00 0.00 WT1 ATOM 812 H2 TIP3 2244 2.911 -7.321 -9.431 1.00 0.00 WT1 ATOM 813 OH2 TIP3 2250 6.211 -9.415 -8.877 1.00 0.00 WT1 ATOM 814 H1 TIP3 2250 6.984 -9.381 -9.481 1.00 0.00 WT1 ATOM 815 H2 TIP3 2250 6.186 -10.390 -8.672 1.00 0.00 WT1 ATOM 816 OH2 TIP3 2251 5.480 5.101 -6.320 1.00 0.00 WT1 ATOM 817 H1 TIP3 2251 5.195 5.738 -6.987 1.00 0.00 WT1 ATOM 818 H2 TIP3 2251 5.604 5.711 -5.497 1.00 0.00 WT1 ATOM 819 OH2 TIP3 2253 6.982 5.155 -3.329 1.00 0.00 WT1 ATOM 820 H1 TIP3 2253 6.747 6.096 -3.246 1.00 0.00 WT1 ATOM 821 H2 TIP3 2253 7.940 5.175 -3.432 1.00 0.00 WT1 ATOM 822 OH2 TIP3 2254 6.216 -4.355 1.983 1.00 0.00 WT1 ATOM 823 H1 TIP3 2254 5.248 -4.292 1.964 1.00 0.00 WT1 ATOM 824 H2 TIP3 2254 6.426 -5.046 1.309 1.00 0.00 WT1 ATOM 825 OH2 TIP3 2257 -1.539 -12.227 11.779 1.00 0.00 WT1 ATOM 826 H1 TIP3 2257 -2.263 -12.521 12.298 1.00 0.00 WT1 ATOM 827 H2 TIP3 2257 -1.870 -11.409 11.439 1.00 0.00 WT1 ATOM 828 OH2 TIP3 2269 9.429 -4.827 7.559 1.00 0.00 WT1 ATOM 829 H1 TIP3 2269 9.448 -4.871 6.616 1.00 0.00 WT1 ATOM 830 H2 TIP3 2269 10.324 -4.511 7.832 1.00 0.00 WT1 ATOM 831 OH2 TIP3 2270 -8.037 -1.656 -7.125 1.00 0.00 WT1 ATOM 832 H1 TIP3 2270 -7.307 -1.742 -7.727 1.00 0.00 WT1 ATOM 833 H2 TIP3 2270 -8.007 -0.711 -6.950 1.00 0.00 WT1 ATOM 834 OH2 TIP3 2271 12.824 -1.378 -2.137 1.00 0.00 WT1 ATOM 835 H1 TIP3 2271 13.196 -0.468 -2.240 1.00 0.00 WT1 ATOM 836 H2 TIP3 2271 12.272 -1.473 -2.927 1.00 0.00 WT1 ATOM 837 OH2 TIP3 2272 1.711 -9.904 4.333 1.00 0.00 WT1 ATOM 838 H1 TIP3 2272 1.210 -10.384 5.010 1.00 0.00 WT1 ATOM 839 H2 TIP3 2272 1.029 -9.819 3.622 1.00 0.00 WT1 ATOM 840 OH2 TIP3 2275 9.632 2.188 -4.487 1.00 0.00 WT1 ATOM 841 H1 TIP3 2275 10.405 2.840 -4.555 1.00 0.00 WT1 ATOM 842 H2 TIP3 2275 8.837 2.704 -4.524 1.00 0.00 WT1 ATOM 843 OH2 TIP3 2277 2.433 -4.854 7.867 1.00 0.00 WT1 ATOM 844 H1 TIP3 2277 1.972 -5.657 7.601 1.00 0.00 WT1 ATOM 845 H2 TIP3 2277 1.807 -4.500 8.608 1.00 0.00 WT1 ATOM 846 OH2 TIP3 2280 -4.599 -9.419 3.963 1.00 0.00 WT1 ATOM 847 H1 TIP3 2280 -5.073 -9.828 4.751 1.00 0.00 WT1 ATOM 848 H2 TIP3 2280 -4.963 -9.932 3.227 1.00 0.00 WT1 ATOM 849 OH2 TIP3 2288 -7.583 2.638 -3.395 1.00 0.00 WT1 ATOM 850 H1 TIP3 2288 -7.607 3.553 -3.714 1.00 0.00 WT1 ATOM 851 H2 TIP3 2288 -7.945 2.663 -2.487 1.00 0.00 WT1 ATOM 852 OH2 TIP3 2292 8.249 -7.224 1.366 1.00 0.00 WT1 ATOM 853 H1 TIP3 2292 8.985 -6.565 1.566 1.00 0.00 WT1 ATOM 854 H2 TIP3 2292 7.883 -6.940 0.502 1.00 0.00 WT1 ATOM 855 OH2 TIP3 2293 -9.570 5.449 -4.943 1.00 0.00 WT1 ATOM 856 H1 TIP3 2293 -10.456 5.675 -5.071 1.00 0.00 WT1 ATOM 857 H2 TIP3 2293 -9.230 6.188 -4.414 1.00 0.00 WT1 ATOM 858 OH2 TIP3 2295 -2.495 -11.996 8.492 1.00 0.00 WT1 ATOM 859 H1 TIP3 2295 -2.852 -12.416 9.381 1.00 0.00 WT1 ATOM 860 H2 TIP3 2295 -1.589 -11.769 8.611 1.00 0.00 WT1 ATOM 861 OH2 TIP3 2296 16.097 -2.174 -0.536 1.00 0.00 WT1 ATOM 862 H1 TIP3 2296 16.118 -2.531 -1.479 1.00 0.00 WT1 ATOM 863 H2 TIP3 2296 16.125 -1.218 -0.705 1.00 0.00 WT1 ATOM 864 OH2 TIP3 2300 3.258 9.062 11.156 1.00 0.00 WT1 ATOM 865 H1 TIP3 2300 4.113 9.057 10.724 1.00 0.00 WT1 ATOM 866 H2 TIP3 2300 3.214 8.178 11.561 1.00 0.00 WT1 ATOM 867 OH2 TIP3 2302 3.898 0.639 11.015 1.00 0.00 WT1 ATOM 868 H1 TIP3 2302 4.322 -0.189 11.334 1.00 0.00 WT1 ATOM 869 H2 TIP3 2302 4.571 1.084 10.507 1.00 0.00 WT1 ATOM 870 OH2 TIP3 2309 3.058 -2.814 -8.710 1.00 0.00 WT1 ATOM 871 H1 TIP3 2309 3.762 -2.287 -8.327 1.00 0.00 WT1 ATOM 872 H2 TIP3 2309 2.479 -2.956 -7.987 1.00 0.00 WT1 ATOM 873 OH2 TIP3 2311 3.480 1.002 -4.029 1.00 0.00 WT1 ATOM 874 H1 TIP3 2311 3.951 1.557 -4.694 1.00 0.00 WT1 ATOM 875 H2 TIP3 2311 2.610 1.435 -3.966 1.00 0.00 WT1 ATOM 876 OH2 TIP3 2315 8.040 11.216 1.940 1.00 0.00 WT1 ATOM 877 H1 TIP3 2315 8.205 11.403 2.888 1.00 0.00 WT1 ATOM 878 H2 TIP3 2315 8.909 11.125 1.484 1.00 0.00 WT1 ATOM 879 OH2 TIP3 2316 1.062 -7.391 -2.675 1.00 0.00 WT1 ATOM 880 H1 TIP3 2316 1.173 -8.343 -2.869 1.00 0.00 WT1 ATOM 881 H2 TIP3 2316 1.942 -7.101 -2.578 1.00 0.00 WT1 ATOM 882 OH2 TIP3 2317 -7.452 0.438 2.064 1.00 0.00 WT1 ATOM 883 H1 TIP3 2317 -7.659 0.731 2.980 1.00 0.00 WT1 ATOM 884 H2 TIP3 2317 -8.349 0.506 1.661 1.00 0.00 WT1 ATOM 885 OH2 TIP3 2318 -0.922 11.221 -10.786 1.00 0.00 WT1 ATOM 886 H1 TIP3 2318 -0.864 12.127 -11.061 1.00 0.00 WT1 ATOM 887 H2 TIP3 2318 -0.022 11.049 -10.524 1.00 0.00 WT1 ATOM 888 OH2 TIP3 2319 7.497 7.887 3.863 1.00 0.00 WT1 ATOM 889 H1 TIP3 2319 7.774 8.826 4.082 1.00 0.00 WT1 ATOM 890 H2 TIP3 2319 7.784 7.370 4.630 1.00 0.00 WT1 ATOM 891 OH2 TIP3 2320 6.928 12.733 9.579 1.00 0.00 WT1 ATOM 892 H1 TIP3 2320 6.323 13.418 9.450 1.00 0.00 WT1 ATOM 893 H2 TIP3 2320 6.881 12.334 8.700 1.00 0.00 WT1 ATOM 894 OH2 TIP3 2329 14.364 3.944 -11.137 1.00 0.00 WT1 ATOM 895 H1 TIP3 2329 14.233 3.492 -10.259 1.00 0.00 WT1 ATOM 896 H2 TIP3 2329 14.553 3.147 -11.724 1.00 0.00 WT1 ATOM 897 OH2 TIP3 2331 15.906 0.589 -5.954 1.00 0.00 WT1 ATOM 898 H1 TIP3 2331 15.803 0.527 -5.000 1.00 0.00 WT1 ATOM 899 H2 TIP3 2331 16.683 0.058 -6.142 1.00 0.00 WT1 ATOM 900 OH2 TIP3 2332 14.839 5.938 -2.633 1.00 0.00 WT1 ATOM 901 H1 TIP3 2332 14.689 6.858 -2.714 1.00 0.00 WT1 ATOM 902 H2 TIP3 2332 15.244 5.701 -3.532 1.00 0.00 WT1 ATOM 903 OH2 TIP3 2335 -3.892 1.617 1.936 1.00 0.00 WT1 ATOM 904 H1 TIP3 2335 -3.578 2.504 1.663 1.00 0.00 WT1 ATOM 905 H2 TIP3 2335 -3.509 1.488 2.854 1.00 0.00 WT1 ATOM 906 OH2 TIP3 2339 5.792 9.420 6.118 1.00 0.00 WT1 ATOM 907 H1 TIP3 2339 6.183 8.770 5.493 1.00 0.00 WT1 ATOM 908 H2 TIP3 2339 5.418 8.998 6.908 1.00 0.00 WT1 ATOM 909 OH2 TIP3 2351 6.079 6.477 -10.720 1.00 0.00 WT1 ATOM 910 H1 TIP3 2351 6.360 5.598 -11.007 1.00 0.00 WT1 ATOM 911 H2 TIP3 2351 6.037 6.430 -9.733 1.00 0.00 WT1 ATOM 912 OH2 TIP3 2352 7.555 10.972 -9.095 1.00 0.00 WT1 ATOM 913 H1 TIP3 2352 7.774 10.192 -9.622 1.00 0.00 WT1 ATOM 914 H2 TIP3 2352 7.225 10.587 -8.297 1.00 0.00 WT1 ATOM 915 OH2 TIP3 2355 7.855 3.653 -6.282 1.00 0.00 WT1 ATOM 916 H1 TIP3 2355 7.089 4.115 -5.890 1.00 0.00 WT1 ATOM 917 H2 TIP3 2355 7.533 3.477 -7.196 1.00 0.00 WT1 ATOM 918 OH2 TIP3 2357 -8.094 -0.996 -3.009 1.00 0.00 WT1 ATOM 919 H1 TIP3 2357 -7.721 -0.319 -3.556 1.00 0.00 WT1 ATOM 920 H2 TIP3 2357 -7.274 -1.232 -2.540 1.00 0.00 WT1 ATOM 921 OH2 TIP3 2358 -10.662 3.578 -2.713 1.00 0.00 WT1 ATOM 922 H1 TIP3 2358 -9.919 3.507 -2.063 1.00 0.00 WT1 ATOM 923 H2 TIP3 2358 -10.546 4.468 -3.107 1.00 0.00 WT1 ATOM 924 OH2 TIP3 2359 10.193 10.557 0.344 1.00 0.00 WT1 ATOM 925 H1 TIP3 2359 10.946 11.017 0.012 1.00 0.00 WT1 ATOM 926 H2 TIP3 2359 10.491 9.782 0.857 1.00 0.00 WT1 ATOM 927 OH2 TIP3 2376 5.725 13.224 -9.128 1.00 0.00 WT1 ATOM 928 H1 TIP3 2376 5.341 12.700 -8.463 1.00 0.00 WT1 ATOM 929 H2 TIP3 2376 6.520 12.709 -9.395 1.00 0.00 WT1 ATOM 930 OH2 TIP3 2377 6.136 -5.921 -0.369 1.00 0.00 WT1 ATOM 931 H1 TIP3 2377 5.824 -5.534 -1.148 1.00 0.00 WT1 ATOM 932 H2 TIP3 2377 6.477 -6.768 -0.693 1.00 0.00 WT1 ATOM 933 OH2 TIP3 2380 4.600 2.474 -5.879 1.00 0.00 WT1 ATOM 934 H1 TIP3 2380 4.403 2.154 -6.770 1.00 0.00 WT1 ATOM 935 H2 TIP3 2380 4.813 3.383 -6.092 1.00 0.00 WT1 ATOM 936 OH2 TIP3 2418 13.578 10.077 8.706 1.00 0.00 WT1 ATOM 937 H1 TIP3 2418 13.403 9.145 8.580 1.00 0.00 WT1 ATOM 938 H2 TIP3 2418 13.719 10.366 7.720 1.00 0.00 WT1 ATOM 939 OH2 TIP3 2587 13.889 -7.072 8.800 1.00 0.00 WT1 ATOM 940 H1 TIP3 2587 14.233 -7.727 8.106 1.00 0.00 WT1 ATOM 941 H2 TIP3 2587 14.510 -7.239 9.517 1.00 0.00 WT1 ATOM 942 OH2 TIP3 2606 7.116 -12.440 -1.621 1.00 0.00 WT1 ATOM 943 H1 TIP3 2606 7.614 -12.674 -0.785 1.00 0.00 WT1 ATOM 944 H2 TIP3 2606 7.192 -11.449 -1.699 1.00 0.00 WT1 ATOM 945 OH2 TIP3 2607 -1.161 -7.210 -7.321 1.00 0.00 WT1 ATOM 946 H1 TIP3 2607 -1.056 -6.261 -7.523 1.00 0.00 WT1 ATOM 947 H2 TIP3 2607 -0.414 -7.426 -6.770 1.00 0.00 WT1 ATOM 948 OH2 TIP3 2608 -3.330 -9.297 -7.379 1.00 0.00 WT1 ATOM 949 H1 TIP3 2608 -2.661 -8.590 -7.267 1.00 0.00 WT1 ATOM 950 H2 TIP3 2608 -4.141 -8.981 -6.910 1.00 0.00 WT1 ATOM 951 OH2 TIP3 2610 14.378 -7.545 -0.542 1.00 0.00 WT1 ATOM 952 H1 TIP3 2610 14.604 -8.337 -0.961 1.00 0.00 WT1 ATOM 953 H2 TIP3 2610 15.013 -7.381 0.178 1.00 0.00 WT1 ATOM 954 OH2 TIP3 2628 14.951 -3.288 -3.023 1.00 0.00 WT1 ATOM 955 H1 TIP3 2628 14.768 -4.182 -2.745 1.00 0.00 WT1 ATOM 956 H2 TIP3 2628 14.083 -2.792 -2.797 1.00 0.00 WT1 ATOM 957 OH2 TIP3 2632 14.003 6.253 2.353 1.00 0.00 WT1 ATOM 958 H1 TIP3 2632 13.441 5.915 3.061 1.00 0.00 WT1 ATOM 959 H2 TIP3 2632 13.391 6.329 1.579 1.00 0.00 WT1 ATOM 960 OH2 TIP3 2634 -2.652 -9.300 -1.544 1.00 0.00 WT1 ATOM 961 H1 TIP3 2634 -2.776 -8.517 -0.924 1.00 0.00 WT1 ATOM 962 H2 TIP3 2634 -3.256 -9.916 -1.127 1.00 0.00 WT1 ATOM 963 OH2 TIP3 2650 14.458 -9.114 -4.045 1.00 0.00 WT1 ATOM 964 H1 TIP3 2650 14.626 -10.050 -4.190 1.00 0.00 WT1 ATOM 965 H2 TIP3 2650 14.928 -8.900 -3.224 1.00 0.00 WT1 ATOM 966 OH2 TIP3 2654 15.993 -3.138 -5.503 1.00 0.00 WT1 ATOM 967 H1 TIP3 2654 16.432 -2.419 -5.059 1.00 0.00 WT1 ATOM 968 H2 TIP3 2654 15.555 -3.562 -4.753 1.00 0.00 WT1 ATOM 969 OH2 TIP3 2670 16.473 -3.113 3.009 1.00 0.00 WT1 ATOM 970 H1 TIP3 2670 16.071 -4.026 3.134 1.00 0.00 WT1 ATOM 971 H2 TIP3 2670 16.036 -2.571 3.692 1.00 0.00 WT1 ATOM 972 OH2 TIP3 2673 6.978 -8.233 5.770 1.00 0.00 WT1 ATOM 973 H1 TIP3 2673 6.381 -8.043 6.512 1.00 0.00 WT1 ATOM 974 H2 TIP3 2673 7.251 -7.386 5.439 1.00 0.00 WT1 ATOM 975 OH2 TIP3 2676 14.563 -8.931 6.917 1.00 0.00 WT1 ATOM 976 H1 TIP3 2676 14.384 -9.819 7.301 1.00 0.00 WT1 ATOM 977 H2 TIP3 2676 14.662 -9.178 5.923 1.00 0.00 WT1 ATOM 978 OH2 TIP3 2689 10.298 -7.885 -6.758 1.00 0.00 WT1 ATOM 979 H1 TIP3 2689 10.459 -6.983 -6.801 1.00 0.00 WT1 ATOM 980 H2 TIP3 2689 10.987 -8.228 -6.115 1.00 0.00 WT1 ATOM 981 OH2 TIP3 2690 12.002 -7.574 -4.251 1.00 0.00 WT1 ATOM 982 H1 TIP3 2690 12.839 -8.141 -3.964 1.00 0.00 WT1 ATOM 983 H2 TIP3 2690 12.249 -6.729 -3.905 1.00 0.00 WT1 ATOM 984 OH2 TIP3 2691 4.105 -8.839 1.954 1.00 0.00 WT1 ATOM 985 H1 TIP3 2691 4.142 -8.550 0.986 1.00 0.00 WT1 ATOM 986 H2 TIP3 2691 3.374 -8.282 2.381 1.00 0.00 WT1 ATOM 987 OH2 TIP3 2692 14.385 -6.082 -2.748 1.00 0.00 WT1 ATOM 988 H1 TIP3 2692 15.145 -6.674 -2.985 1.00 0.00 WT1 ATOM 989 H2 TIP3 2692 14.283 -6.264 -1.788 1.00 0.00 WT1 ATOM 990 OH2 TIP3 2694 -2.811 -7.263 0.478 1.00 0.00 WT1 ATOM 991 H1 TIP3 2694 -2.141 -7.575 1.106 1.00 0.00 WT1 ATOM 992 H2 TIP3 2694 -3.472 -6.870 1.084 1.00 0.00 WT1 ATOM 993 OH2 TIP3 2697 12.531 2.894 5.017 1.00 0.00 WT1 ATOM 994 H1 TIP3 2697 13.340 3.291 4.742 1.00 0.00 WT1 ATOM 995 H2 TIP3 2697 12.202 2.473 4.152 1.00 0.00 WT1 ATOM 996 OH2 TIP3 2701 0.583 12.237 4.567 1.00 0.00 WT1 ATOM 997 H1 TIP3 2701 1.456 11.989 4.205 1.00 0.00 WT1 ATOM 998 H2 TIP3 2701 0.395 11.511 5.203 1.00 0.00 WT1 ATOM 999 OH2 TIP3 2709 8.043 8.467 -10.421 1.00 0.00 WT1 ATOM 1000 H1 TIP3 2709 8.708 7.946 -9.938 1.00 0.00 WT1 ATOM 1001 H2 TIP3 2709 7.470 7.814 -10.755 1.00 0.00 WT1 ATOM 1002 OH2 TIP3 2713 4.903 7.208 -4.231 1.00 0.00 WT1 ATOM 1003 H1 TIP3 2713 5.021 8.148 -4.470 1.00 0.00 WT1 ATOM 1004 H2 TIP3 2713 4.046 7.100 -3.779 1.00 0.00 WT1 ATOM 1005 OH2 TIP3 2714 -6.930 8.346 5.987 1.00 0.00 WT1 ATOM 1006 H1 TIP3 2714 -6.054 8.243 6.302 1.00 0.00 WT1 ATOM 1007 H2 TIP3 2714 -7.042 9.295 5.825 1.00 0.00 WT1 ATOM 1008 OH2 TIP3 2715 10.294 -4.617 -6.934 1.00 0.00 WT1 ATOM 1009 H1 TIP3 2715 10.598 -3.744 -6.760 1.00 0.00 WT1 ATOM 1010 H2 TIP3 2715 10.117 -4.566 -7.882 1.00 0.00 WT1 ATOM 1011 OH2 TIP3 2719 14.784 -0.452 12.823 1.00 0.00 WT1 ATOM 1012 H1 TIP3 2719 14.442 0.392 12.451 1.00 0.00 WT1 ATOM 1013 H2 TIP3 2719 13.992 -1.009 12.730 1.00 0.00 WT1 ATOM 1014 OH2 TIP3 2732 2.659 -5.341 -0.892 1.00 0.00 WT1 ATOM 1015 H1 TIP3 2732 1.998 -4.742 -0.446 1.00 0.00 WT1 ATOM 1016 H2 TIP3 2732 3.246 -4.786 -1.420 1.00 0.00 WT1 ATOM 1017 OH2 TIP3 2734 9.277 0.358 -6.435 1.00 0.00 WT1 ATOM 1018 H1 TIP3 2734 8.423 -0.118 -6.148 1.00 0.00 WT1 ATOM 1019 H2 TIP3 2734 9.477 0.919 -5.629 1.00 0.00 WT1 ATOM 1020 OH2 TIP3 2735 2.389 4.432 -3.081 1.00 0.00 WT1 ATOM 1021 H1 TIP3 2735 2.045 3.570 -2.972 1.00 0.00 WT1 ATOM 1022 H2 TIP3 2735 2.405 4.522 -4.032 1.00 0.00 WT1 ATOM 1023 OH2 TIP3 2737 12.757 1.433 12.222 1.00 0.00 WT1 ATOM 1024 H1 TIP3 2737 12.258 1.849 12.935 1.00 0.00 WT1 ATOM 1025 H2 TIP3 2737 12.687 2.044 11.462 1.00 0.00 WT1 ATOM 1026 OH2 TIP3 2740 15.876 6.797 10.054 1.00 0.00 WT1 ATOM 1027 H1 TIP3 2740 15.883 6.082 10.722 1.00 0.00 WT1 ATOM 1028 H2 TIP3 2740 14.939 6.975 9.923 1.00 0.00 WT1 ATOM 1029 OH2 TIP3 2753 9.095 14.160 -6.942 1.00 0.00 WT1 ATOM 1030 H1 TIP3 2753 8.218 14.495 -6.822 1.00 0.00 WT1 ATOM 1031 H2 TIP3 2753 9.627 14.979 -7.060 1.00 0.00 WT1 ATOM 1032 OH2 TIP3 2754 13.689 -1.911 0.784 1.00 0.00 WT1 ATOM 1033 H1 TIP3 2754 13.184 -1.804 -0.043 1.00 0.00 WT1 ATOM 1034 H2 TIP3 2754 14.627 -2.028 0.542 1.00 0.00 WT1 ATOM 1035 OH2 TIP3 2755 -4.563 13.594 5.929 1.00 0.00 WT1 ATOM 1036 H1 TIP3 2755 -4.167 14.352 6.422 1.00 0.00 WT1 ATOM 1037 H2 TIP3 2755 -4.221 13.715 5.072 1.00 0.00 WT1 ATOM 1038 OH2 TIP3 2757 5.635 13.069 4.644 1.00 0.00 WT1 ATOM 1039 H1 TIP3 2757 5.332 12.853 3.727 1.00 0.00 WT1 ATOM 1040 H2 TIP3 2757 5.258 13.902 4.683 1.00 0.00 WT1 ATOM 1041 OH2 TIP3 2758 -1.112 5.268 8.020 1.00 0.00 WT1 ATOM 1042 H1 TIP3 2758 -0.758 4.443 7.620 1.00 0.00 WT1 ATOM 1043 H2 TIP3 2758 -1.813 4.931 8.611 1.00 0.00 WT1 ATOM 1044 OH2 TIP3 2771 12.704 3.388 -8.858 1.00 0.00 WT1 ATOM 1045 H1 TIP3 2771 13.147 3.121 -8.014 1.00 0.00 WT1 ATOM 1046 H2 TIP3 2771 12.733 2.531 -9.311 1.00 0.00 WT1 ATOM 1047 OH2 TIP3 2776 6.391 6.807 8.453 1.00 0.00 WT1 ATOM 1048 H1 TIP3 2776 7.065 6.564 9.106 1.00 0.00 WT1 ATOM 1049 H2 TIP3 2776 5.913 5.996 8.443 1.00 0.00 WT1 ATOM 1050 OH2 TIP3 2777 15.206 7.434 -5.167 1.00 0.00 WT1 ATOM 1051 H1 TIP3 2777 14.651 8.107 -5.538 1.00 0.00 WT1 ATOM 1052 H2 TIP3 2777 15.938 8.092 -4.830 1.00 0.00 WT1 ATOM 1053 OH2 TIP3 2778 4.254 -4.860 4.735 1.00 0.00 WT1 ATOM 1054 H1 TIP3 2778 3.939 -4.836 3.853 1.00 0.00 WT1 ATOM 1055 H2 TIP3 2778 3.495 -5.252 5.227 1.00 0.00 WT1 ATOM 1056 OH2 TIP3 2779 -2.055 -0.501 10.887 1.00 0.00 WT1 ATOM 1057 H1 TIP3 2779 -2.345 -0.930 11.792 1.00 0.00 WT1 ATOM 1058 H2 TIP3 2779 -1.125 -0.334 11.014 1.00 0.00 WT1 ATOM 1059 OH2 TIP3 2794 10.831 -2.046 -6.603 1.00 0.00 WT1 ATOM 1060 H1 TIP3 2794 11.551 -1.649 -6.015 1.00 0.00 WT1 ATOM 1061 H2 TIP3 2794 10.168 -1.314 -6.733 1.00 0.00 WT1 ATOM 1062 OH2 TIP3 2815 9.184 -3.245 -1.445 1.00 0.00 WT1 ATOM 1063 H1 TIP3 2815 9.807 -3.926 -1.223 1.00 0.00 WT1 ATOM 1064 H2 TIP3 2815 9.514 -2.502 -0.977 1.00 0.00 WT1 ATOM 1065 OH2 TIP3 2817 8.681 10.199 4.972 1.00 0.00 WT1 ATOM 1066 H1 TIP3 2817 9.643 10.190 5.109 1.00 0.00 WT1 ATOM 1067 H2 TIP3 2817 8.490 11.196 4.874 1.00 0.00 WT1 ATOM 1068 OH2 TIP3 2818 13.716 11.430 2.918 1.00 0.00 WT1 ATOM 1069 H1 TIP3 2818 14.575 11.802 2.856 1.00 0.00 WT1 ATOM 1070 H2 TIP3 2818 13.642 11.232 3.900 1.00 0.00 WT1 ATOM 1071 OH2 TIP3 2821 16.043 8.446 7.691 1.00 0.00 WT1 ATOM 1072 H1 TIP3 2821 16.693 8.898 8.182 1.00 0.00 WT1 ATOM 1073 H2 TIP3 2821 15.599 7.963 8.415 1.00 0.00 WT1 ATOM 1074 OH2 TIP3 2832 8.706 13.736 -4.039 1.00 0.00 WT1 ATOM 1075 H1 TIP3 2832 8.909 13.375 -4.939 1.00 0.00 WT1 ATOM 1076 H2 TIP3 2832 8.595 14.693 -4.208 1.00 0.00 WT1 ATOM 1077 OH2 TIP3 2857 4.516 13.984 -1.608 1.00 0.00 WT1 ATOM 1078 H1 TIP3 2857 5.236 13.346 -1.285 1.00 0.00 WT1 ATOM 1079 H2 TIP3 2857 4.457 14.544 -0.863 1.00 0.00 WT1 ATOM 1080 OH2 TIP3 2866 6.096 8.639 11.715 1.00 0.00 WT1 ATOM 1081 H1 TIP3 2866 6.783 7.996 11.523 1.00 0.00 WT1 ATOM 1082 H2 TIP3 2866 6.569 9.317 12.265 1.00 0.00 WT1 ATOM 1083 OH2 TIP3 2926 1.613 13.997 12.395 1.00 0.00 WT1 ATOM 1084 H1 TIP3 2926 2.484 14.257 12.738 1.00 0.00 WT1 ATOM 1085 H2 TIP3 2926 1.689 13.068 12.256 1.00 0.00 WT1 ATOM 1086 OH2 TIP3 3010 -2.195 -8.729 -4.265 1.00 0.00 WT1 ATOM 1087 H1 TIP3 3010 -1.834 -7.814 -4.266 1.00 0.00 WT1 ATOM 1088 H2 TIP3 3010 -2.485 -9.074 -3.418 1.00 0.00 WT1 ATOM 1089 OH2 TIP3 3012 8.244 -11.559 3.738 1.00 0.00 WT1 ATOM 1090 H1 TIP3 3012 8.765 -11.068 3.176 1.00 0.00 WT1 ATOM 1091 H2 TIP3 3012 7.359 -11.174 3.640 1.00 0.00 WT1 ATOM 1092 OH2 TIP3 3027 4.992 -10.613 7.654 1.00 0.00 WT1 ATOM 1093 H1 TIP3 3027 4.512 -10.915 6.864 1.00 0.00 WT1 ATOM 1094 H2 TIP3 3027 5.936 -10.771 7.414 1.00 0.00 WT1 ATOM 1095 OH2 TIP3 3049 7.742 -9.865 0.065 1.00 0.00 WT1 ATOM 1096 H1 TIP3 3049 7.698 -9.429 0.940 1.00 0.00 WT1 ATOM 1097 H2 TIP3 3049 8.425 -10.475 0.263 1.00 0.00 WT1 ATOM 1098 OH2 TIP3 3070 7.951 14.011 0.643 1.00 0.00 WT1 ATOM 1099 H1 TIP3 3070 8.837 14.096 0.340 1.00 0.00 WT1 ATOM 1100 H2 TIP3 3070 7.961 13.314 1.276 1.00 0.00 WT1 ATOM 1101 OH2 TIP3 3072 -4.772 -7.671 -5.624 1.00 0.00 WT1 ATOM 1102 H1 TIP3 3072 -3.901 -7.979 -5.242 1.00 0.00 WT1 ATOM 1103 H2 TIP3 3072 -5.090 -6.996 -4.963 1.00 0.00 WT1 ATOM 1104 OH2 TIP3 3073 7.440 -8.166 -4.658 1.00 0.00 WT1 ATOM 1105 H1 TIP3 3073 8.115 -7.493 -4.511 1.00 0.00 WT1 ATOM 1106 H2 TIP3 3073 7.152 -8.071 -5.586 1.00 0.00 WT1 ATOM 1107 OH2 TIP3 3085 12.937 -8.346 -11.565 1.00 0.00 WT1 ATOM 1108 H1 TIP3 3085 12.108 -8.874 -11.639 1.00 0.00 WT1 ATOM 1109 H2 TIP3 3085 13.528 -8.960 -11.098 1.00 0.00 WT1 ATOM 1110 OH2 TIP3 3086 8.182 -7.056 -11.394 1.00 0.00 WT1 ATOM 1111 H1 TIP3 3086 7.791 -7.927 -11.361 1.00 0.00 WT1 ATOM 1112 H2 TIP3 3086 8.105 -6.733 -10.493 1.00 0.00 WT1 ATOM 1113 OH2 TIP3 3091 7.426 -3.825 -8.463 1.00 0.00 WT1 ATOM 1114 H1 TIP3 3091 6.575 -4.194 -8.566 1.00 0.00 WT1 ATOM 1115 H2 TIP3 3091 7.383 -2.882 -8.454 1.00 0.00 WT1 ATOM 1116 OH2 TIP3 3095 14.706 -3.918 8.134 1.00 0.00 WT1 ATOM 1117 H1 TIP3 3095 13.999 -4.479 8.523 1.00 0.00 WT1 ATOM 1118 H2 TIP3 3095 14.782 -3.163 8.740 1.00 0.00 WT1 ATOM 1119 OH2 TIP3 3096 2.120 -8.252 10.337 1.00 0.00 WT1 ATOM 1120 H1 TIP3 3096 3.104 -8.043 10.281 1.00 0.00 WT1 ATOM 1121 H2 TIP3 3096 2.004 -9.137 10.055 1.00 0.00 WT1 ATOM 1122 OH2 TIP3 3108 7.199 -10.842 -4.499 1.00 0.00 WT1 ATOM 1123 H1 TIP3 3108 7.447 -9.900 -4.556 1.00 0.00 WT1 ATOM 1124 H2 TIP3 3108 7.577 -11.248 -5.329 1.00 0.00 WT1 ATOM 1125 OH2 TIP3 3109 11.424 8.195 -10.177 1.00 0.00 WT1 ATOM 1126 H1 TIP3 3109 10.980 8.528 -11.005 1.00 0.00 WT1 ATOM 1127 H2 TIP3 3109 10.757 8.085 -9.526 1.00 0.00 WT1 ATOM 1128 OH2 TIP3 3111 13.811 2.207 -6.728 1.00 0.00 WT1 ATOM 1129 H1 TIP3 3111 14.600 1.893 -6.122 1.00 0.00 WT1 ATOM 1130 H2 TIP3 3111 13.206 1.457 -6.675 1.00 0.00 WT1 ATOM 1131 OH2 TIP3 3112 15.823 0.755 -0.508 1.00 0.00 WT1 ATOM 1132 H1 TIP3 3112 15.392 0.577 0.372 1.00 0.00 WT1 ATOM 1133 H2 TIP3 3112 15.954 1.732 -0.522 1.00 0.00 WT1 ATOM 1134 OH2 TIP3 3113 11.059 1.017 9.514 1.00 0.00 WT1 ATOM 1135 H1 TIP3 3113 10.645 0.162 9.249 1.00 0.00 WT1 ATOM 1136 H2 TIP3 3113 10.566 1.222 10.357 1.00 0.00 WT1 ATOM 1137 OH2 TIP3 3114 16.674 -5.453 0.833 1.00 0.00 WT1 ATOM 1138 H1 TIP3 3114 16.644 -4.467 0.936 1.00 0.00 WT1 ATOM 1139 H2 TIP3 3114 16.523 -5.776 1.746 1.00 0.00 WT1 ATOM 1140 OH2 TIP3 3115 10.395 -2.516 -3.715 1.00 0.00 WT1 ATOM 1141 H1 TIP3 3115 11.028 -3.195 -3.550 1.00 0.00 WT1 ATOM 1142 H2 TIP3 3115 9.751 -2.593 -2.980 1.00 0.00 WT1 ATOM 1143 OH2 TIP3 3129 13.144 -4.278 -10.953 1.00 0.00 WT1 ATOM 1144 H1 TIP3 3129 13.605 -3.852 -11.656 1.00 0.00 WT1 ATOM 1145 H2 TIP3 3129 12.875 -5.179 -11.251 1.00 0.00 WT1 ATOM 1146 OH2 TIP3 3131 11.434 -0.596 -9.951 1.00 0.00 WT1 ATOM 1147 H1 TIP3 3131 10.752 0.000 -9.580 1.00 0.00 WT1 ATOM 1148 H2 TIP3 3131 11.049 -1.541 -9.764 1.00 0.00 WT1 ATOM 1149 OH2 TIP3 3134 0.190 8.665 4.057 1.00 0.00 WT1 ATOM 1150 H1 TIP3 3134 0.311 9.297 4.777 1.00 0.00 WT1 ATOM 1151 H2 TIP3 3134 0.044 7.857 4.557 1.00 0.00 WT1 ATOM 1152 OH2 TIP3 3140 12.959 -11.136 8.118 1.00 0.00 WT1 ATOM 1153 H1 TIP3 3140 13.046 -10.824 9.018 1.00 0.00 WT1 ATOM 1154 H2 TIP3 3140 13.057 -12.059 8.184 1.00 0.00 WT1 ATOM 1155 OH2 TIP3 3150 6.580 -0.555 -8.334 1.00 0.00 WT1 ATOM 1156 H1 TIP3 3150 6.118 0.280 -8.466 1.00 0.00 WT1 ATOM 1157 H2 TIP3 3150 6.793 -0.513 -7.451 1.00 0.00 WT1 ATOM 1158 OH2 TIP3 3152 10.914 -9.353 -2.626 1.00 0.00 WT1 ATOM 1159 H1 TIP3 3152 10.130 -8.850 -2.232 1.00 0.00 WT1 ATOM 1160 H2 TIP3 3152 11.337 -8.588 -3.058 1.00 0.00 WT1 ATOM 1161 OH2 TIP3 3154 12.967 -1.605 3.500 1.00 0.00 WT1 ATOM 1162 H1 TIP3 3154 13.813 -1.417 3.947 1.00 0.00 WT1 ATOM 1163 H2 TIP3 3154 13.244 -1.778 2.569 1.00 0.00 WT1 ATOM 1164 OH2 TIP3 3155 14.043 13.460 9.068 1.00 0.00 WT1 ATOM 1165 H1 TIP3 3155 14.661 13.554 8.317 1.00 0.00 WT1 ATOM 1166 H2 TIP3 3155 14.340 12.661 9.515 1.00 0.00 WT1 ATOM 1167 OH2 TIP3 3157 10.812 14.439 0.133 1.00 0.00 WT1 ATOM 1168 H1 TIP3 3157 10.797 14.469 -0.802 1.00 0.00 WT1 ATOM 1169 H2 TIP3 3157 11.496 15.144 0.351 1.00 0.00 WT1 ATOM 1170 OH2 TIP3 3173 0.865 -8.170 0.487 1.00 0.00 WT1 ATOM 1171 H1 TIP3 3173 0.789 -7.293 0.069 1.00 0.00 WT1 ATOM 1172 H2 TIP3 3173 0.616 -7.980 1.364 1.00 0.00 WT1 ATOM 1173 OH2 TIP3 3177 -2.080 -11.740 2.762 1.00 0.00 WT1 ATOM 1174 H1 TIP3 3177 -1.263 -11.352 2.333 1.00 0.00 WT1 ATOM 1175 H2 TIP3 3177 -2.098 -12.654 2.385 1.00 0.00 WT1 ATOM 1176 OH2 TIP3 3179 7.037 11.829 7.092 1.00 0.00 WT1 ATOM 1177 H1 TIP3 3179 6.615 12.337 6.382 1.00 0.00 WT1 ATOM 1178 H2 TIP3 3179 6.953 10.912 6.757 1.00 0.00 WT1 ATOM 1179 OH2 TIP3 3180 13.452 6.151 5.993 1.00 0.00 WT1 ATOM 1180 H1 TIP3 3180 12.867 6.434 5.302 1.00 0.00 WT1 ATOM 1181 H2 TIP3 3180 13.697 5.210 5.731 1.00 0.00 WT1 ATOM 1182 OH2 TIP3 3181 5.128 -1.553 12.193 1.00 0.00 WT1 ATOM 1183 H1 TIP3 3181 5.088 -2.174 11.434 1.00 0.00 WT1 ATOM 1184 H2 TIP3 3181 4.853 -2.156 12.879 1.00 0.00 WT1 ATOM 1185 OH2 TIP3 3192 12.083 3.899 -4.726 1.00 0.00 WT1 ATOM 1186 H1 TIP3 3192 12.548 4.660 -4.408 1.00 0.00 WT1 ATOM 1187 H2 TIP3 3192 12.800 3.515 -5.127 1.00 0.00 WT1 ATOM 1188 OH2 TIP3 3195 11.302 11.244 5.905 1.00 0.00 WT1 ATOM 1189 H1 TIP3 3195 11.896 12.066 5.877 1.00 0.00 WT1 ATOM 1190 H2 TIP3 3195 10.667 11.405 6.635 1.00 0.00 WT1 ATOM 1191 OH2 TIP3 3196 -3.517 -4.477 3.608 1.00 0.00 WT1 ATOM 1192 H1 TIP3 3196 -3.888 -4.734 4.429 1.00 0.00 WT1 ATOM 1193 H2 TIP3 3196 -4.220 -4.339 2.993 1.00 0.00 WT1 ATOM 1194 OH2 TIP3 3198 5.844 0.124 6.674 1.00 0.00 WT1 ATOM 1195 H1 TIP3 3198 5.828 -0.854 6.471 1.00 0.00 WT1 ATOM 1196 H2 TIP3 3198 6.799 0.314 6.465 1.00 0.00 WT1 ATOM 1197 OH2 TIP3 3202 14.661 10.087 5.519 1.00 0.00 WT1 ATOM 1198 H1 TIP3 3202 15.559 9.589 5.639 1.00 0.00 WT1 ATOM 1199 H2 TIP3 3202 13.965 9.433 5.420 1.00 0.00 WT1 ATOM 1200 OH2 TIP3 3214 13.436 -0.655 -6.604 1.00 0.00 WT1 ATOM 1201 H1 TIP3 3214 13.542 -1.055 -7.440 1.00 0.00 WT1 ATOM 1202 H2 TIP3 3214 14.306 -0.322 -6.416 1.00 0.00 WT1 ATOM 1203 OH2 TIP3 3215 8.776 6.259 1.862 1.00 0.00 WT1 ATOM 1204 H1 TIP3 3215 7.958 6.533 2.230 1.00 0.00 WT1 ATOM 1205 H2 TIP3 3215 9.444 6.708 2.388 1.00 0.00 WT1 ATOM 1206 OH2 TIP3 3216 13.037 15.341 11.527 1.00 0.00 WT1 ATOM 1207 H1 TIP3 3216 12.115 15.431 11.478 1.00 0.00 WT1 ATOM 1208 H2 TIP3 3216 13.311 15.449 10.643 1.00 0.00 WT1 ATOM 1209 OH2 TIP3 3218 0.701 0.397 6.647 1.00 0.00 WT1 ATOM 1210 H1 TIP3 3218 1.643 0.410 6.802 1.00 0.00 WT1 ATOM 1211 H2 TIP3 3218 0.293 -0.051 7.476 1.00 0.00 WT1 ATOM 1212 OH2 TIP3 3219 10.089 4.593 10.156 1.00 0.00 WT1 ATOM 1213 H1 TIP3 3219 9.324 4.261 9.697 1.00 0.00 WT1 ATOM 1214 H2 TIP3 3219 9.972 4.148 11.025 1.00 0.00 WT1 ATOM 1215 OH2 TIP3 3223 -6.096 7.005 9.553 1.00 0.00 WT1 ATOM 1216 H1 TIP3 3223 -6.941 6.937 9.013 1.00 0.00 WT1 ATOM 1217 H2 TIP3 3223 -5.411 6.770 8.917 1.00 0.00 WT1 ATOM 1218 OH2 TIP3 3234 5.107 9.996 -4.524 1.00 0.00 WT1 ATOM 1219 H1 TIP3 3234 4.821 10.460 -3.735 1.00 0.00 WT1 ATOM 1220 H2 TIP3 3234 6.075 10.101 -4.497 1.00 0.00 WT1 ATOM 1221 OH2 TIP3 3236 1.403 14.458 0.617 1.00 0.00 WT1 ATOM 1222 H1 TIP3 3236 1.913 15.135 0.228 1.00 0.00 WT1 ATOM 1223 H2 TIP3 3236 0.857 14.950 1.214 1.00 0.00 WT1 ATOM 1224 OH2 TIP3 3237 10.728 8.285 2.249 1.00 0.00 WT1 ATOM 1225 H1 TIP3 3237 11.424 7.825 1.742 1.00 0.00 WT1 ATOM 1226 H2 TIP3 3237 11.164 8.559 3.101 1.00 0.00 WT1 ATOM 1227 OH2 TIP3 3238 15.796 12.364 6.684 1.00 0.00 WT1 ATOM 1228 H1 TIP3 3238 15.462 11.594 6.153 1.00 0.00 WT1 ATOM 1229 H2 TIP3 3238 16.719 12.358 6.378 1.00 0.00 WT1 ATOM 1230 OH2 TIP3 3242 7.579 6.513 6.025 1.00 0.00 WT1 ATOM 1231 H1 TIP3 3242 7.053 6.457 6.807 1.00 0.00 WT1 ATOM 1232 H2 TIP3 3242 7.375 5.713 5.519 1.00 0.00 WT1 ATOM 1233 OH2 TIP3 3244 8.076 9.775 -4.349 1.00 0.00 WT1 ATOM 1234 H1 TIP3 3244 8.557 9.476 -5.045 1.00 0.00 WT1 ATOM 1235 H2 TIP3 3244 8.112 9.011 -3.712 1.00 0.00 WT1 ATOM 1236 OH2 TIP3 3257 14.962 13.345 -11.032 1.00 0.00 WT1 ATOM 1237 H1 TIP3 3257 14.603 14.215 -11.467 1.00 0.00 WT1 ATOM 1238 H2 TIP3 3257 15.969 13.498 -11.080 1.00 0.00 WT1 ATOM 1239 OH2 TIP3 3258 12.938 6.073 -6.546 1.00 0.00 WT1 ATOM 1240 H1 TIP3 3258 12.810 6.351 -7.478 1.00 0.00 WT1 ATOM 1241 H2 TIP3 3258 13.821 6.418 -6.357 1.00 0.00 WT1 ATOM 1242 OH2 TIP3 3262 3.993 10.525 -1.950 1.00 0.00 WT1 ATOM 1243 H1 TIP3 3262 3.356 10.851 -1.238 1.00 0.00 WT1 ATOM 1244 H2 TIP3 3262 4.825 10.951 -1.697 1.00 0.00 WT1 ATOM 1245 OH2 TIP3 3263 11.763 -1.428 12.374 1.00 0.00 WT1 ATOM 1246 H1 TIP3 3263 11.539 -0.522 12.081 1.00 0.00 WT1 ATOM 1247 H2 TIP3 3263 10.920 -1.711 12.713 1.00 0.00 WT1 ATOM 1248 OH2 TIP3 3274 15.142 8.566 -8.639 1.00 0.00 WT1 ATOM 1249 H1 TIP3 3274 14.703 7.731 -8.808 1.00 0.00 WT1 ATOM 1250 H2 TIP3 3274 14.478 9.170 -8.227 1.00 0.00 WT1 ATOM 1251 OH2 TIP3 3280 13.879 9.496 -2.288 1.00 0.00 WT1 ATOM 1252 H1 TIP3 3280 14.747 9.779 -2.744 1.00 0.00 WT1 ATOM 1253 H2 TIP3 3280 14.226 9.137 -1.411 1.00 0.00 WT1 ATOM 1254 OH2 TIP3 3302 13.556 14.765 -8.559 1.00 0.00 WT1 ATOM 1255 H1 TIP3 3302 13.179 13.910 -8.768 1.00 0.00 WT1 ATOM 1256 H2 TIP3 3302 13.576 15.171 -9.434 1.00 0.00 WT1 ATOM 1257 OH2 TIP3 3303 2.959 10.232 7.399 1.00 0.00 WT1 ATOM 1258 H1 TIP3 3303 3.804 10.068 7.823 1.00 0.00 WT1 ATOM 1259 H2 TIP3 3303 2.546 9.362 7.500 1.00 0.00 WT1 ATOM 1260 OH2 TIP3 3304 1.952 7.674 7.557 1.00 0.00 WT1 ATOM 1261 H1 TIP3 3304 1.239 7.356 7.025 1.00 0.00 WT1 ATOM 1262 H2 TIP3 3304 2.009 7.060 8.314 1.00 0.00 WT1 ATOM 1263 OH2 TIP3 3367 9.852 14.626 7.526 1.00 0.00 WT1 ATOM 1264 H1 TIP3 3367 9.752 14.866 6.585 1.00 0.00 WT1 ATOM 1265 H2 TIP3 3367 9.131 15.113 7.887 1.00 0.00 WT1 ATOM 1266 OH2 TIP3 3426 4.531 -10.990 -3.305 1.00 0.00 WT1 ATOM 1267 H1 TIP3 3426 5.488 -11.261 -3.350 1.00 0.00 WT1 ATOM 1268 H2 TIP3 3426 4.038 -11.641 -2.708 1.00 0.00 WT1 ATOM 1269 OH2 TIP3 3442 5.359 0.308 -11.123 1.00 0.00 WT1 ATOM 1270 H1 TIP3 3442 6.269 0.206 -11.531 1.00 0.00 WT1 ATOM 1271 H2 TIP3 3442 5.071 1.281 -11.417 1.00 0.00 WT1 ATOM 1272 OH2 TIP3 3447 0.105 -10.542 -5.123 1.00 0.00 WT1 ATOM 1273 H1 TIP3 3447 0.180 -11.457 -4.928 1.00 0.00 WT1 ATOM 1274 H2 TIP3 3447 -0.788 -10.336 -4.898 1.00 0.00 WT1 ATOM 1275 OH2 TIP3 3484 15.718 -9.873 -1.528 1.00 0.00 WT1 ATOM 1276 H1 TIP3 3484 16.259 -10.484 -2.034 1.00 0.00 WT1 ATOM 1277 H2 TIP3 3484 15.039 -10.447 -1.127 1.00 0.00 WT1 ATOM 1278 OH2 TIP3 3526 9.386 1.817 -12.017 1.00 0.00 WT1 ATOM 1279 H1 TIP3 3526 10.310 1.982 -11.665 1.00 0.00 WT1 ATOM 1280 H2 TIP3 3526 8.936 1.275 -11.359 1.00 0.00 WT1 ATOM 1281 OH2 TIP3 3527 7.127 -1.845 -2.960 1.00 0.00 WT1 ATOM 1282 H1 TIP3 3527 7.877 -2.252 -2.547 1.00 0.00 WT1 ATOM 1283 H2 TIP3 3527 7.100 -2.224 -3.862 1.00 0.00 WT1 ATOM 1284 OH2 TIP3 3534 10.453 -1.015 -0.292 1.00 0.00 WT1 ATOM 1285 H1 TIP3 3534 10.233 -0.291 -0.860 1.00 0.00 WT1 ATOM 1286 H2 TIP3 3534 11.325 -1.283 -0.607 1.00 0.00 WT1 ATOM 1287 OH2 TIP3 3545 -0.804 -6.166 -4.191 1.00 0.00 WT1 ATOM 1288 H1 TIP3 3545 -1.401 -5.600 -3.693 1.00 0.00 WT1 ATOM 1289 H2 TIP3 3545 -0.134 -6.398 -3.532 1.00 0.00 WT1 ATOM 1290 OH2 TIP3 3548 6.606 -0.055 -5.657 1.00 0.00 WT1 ATOM 1291 H1 TIP3 3548 6.895 -0.155 -4.691 1.00 0.00 WT1 ATOM 1292 H2 TIP3 3548 5.949 0.668 -5.632 1.00 0.00 WT1 ATOM 1293 OH2 TIP3 3554 8.127 -2.971 -5.555 1.00 0.00 WT1 ATOM 1294 H1 TIP3 3554 8.325 -3.604 -6.291 1.00 0.00 WT1 ATOM 1295 H2 TIP3 3554 9.015 -2.682 -5.250 1.00 0.00 WT1 ATOM 1296 OH2 TIP3 3556 10.034 -4.699 10.889 1.00 0.00 WT1 ATOM 1297 H1 TIP3 3556 10.046 -4.275 11.724 1.00 0.00 WT1 ATOM 1298 H2 TIP3 3556 9.183 -5.143 10.789 1.00 0.00 WT1 ATOM 1299 OH2 TIP3 3573 14.120 -2.935 -8.700 1.00 0.00 WT1 ATOM 1300 H1 TIP3 3573 13.792 -3.403 -9.527 1.00 0.00 WT1 ATOM 1301 H2 TIP3 3573 14.115 -3.676 -8.035 1.00 0.00 WT1 ATOM 1302 OH2 TIP3 3575 9.481 5.927 -0.946 1.00 0.00 WT1 ATOM 1303 H1 TIP3 3575 8.963 5.766 -0.132 1.00 0.00 WT1 ATOM 1304 H2 TIP3 3575 9.684 5.005 -1.224 1.00 0.00 WT1 ATOM 1305 OH2 TIP3 3595 12.788 1.526 -1.860 1.00 0.00 WT1 ATOM 1306 H1 TIP3 3595 12.067 1.774 -2.358 1.00 0.00 WT1 ATOM 1307 H2 TIP3 3595 13.378 2.266 -2.030 1.00 0.00 WT1 ATOM 1308 OH2 TIP3 3596 -3.637 6.605 -8.362 1.00 0.00 WT1 ATOM 1309 H1 TIP3 3596 -3.507 6.520 -9.400 1.00 0.00 WT1 ATOM 1310 H2 TIP3 3596 -3.241 7.440 -8.122 1.00 0.00 WT1 ATOM 1311 OH2 TIP3 3597 8.363 7.851 -2.362 1.00 0.00 WT1 ATOM 1312 H1 TIP3 3597 8.858 7.087 -2.045 1.00 0.00 WT1 ATOM 1313 H2 TIP3 3597 7.616 7.869 -1.751 1.00 0.00 WT1 ATOM 1314 OH2 TIP3 3599 15.216 -6.074 6.225 1.00 0.00 WT1 ATOM 1315 H1 TIP3 3599 14.672 -6.650 6.787 1.00 0.00 WT1 ATOM 1316 H2 TIP3 3599 15.054 -5.217 6.640 1.00 0.00 WT1 ATOM 1317 OH2 TIP3 3612 16.001 -7.264 -11.117 1.00 0.00 WT1 ATOM 1318 H1 TIP3 3612 15.591 -7.695 -10.455 1.00 0.00 WT1 ATOM 1319 H2 TIP3 3612 16.612 -6.699 -10.656 1.00 0.00 WT1 ATOM 1320 OH2 TIP3 3614 11.920 6.170 0.602 1.00 0.00 WT1 ATOM 1321 H1 TIP3 3614 11.076 5.969 0.126 1.00 0.00 WT1 ATOM 1322 H2 TIP3 3614 12.382 5.330 0.573 1.00 0.00 WT1 ATOM 1323 OH2 TIP3 3615 13.016 3.683 0.571 1.00 0.00 WT1 ATOM 1324 H1 TIP3 3615 12.849 2.976 1.137 1.00 0.00 WT1 ATOM 1325 H2 TIP3 3615 13.607 3.332 -0.100 1.00 0.00 WT1 ATOM 1326 OH2 TIP3 3619 6.726 -8.158 -1.876 1.00 0.00 WT1 ATOM 1327 H1 TIP3 3619 6.707 -8.893 -1.200 1.00 0.00 WT1 ATOM 1328 H2 TIP3 3619 6.493 -8.642 -2.664 1.00 0.00 WT1 ATOM 1329 OH2 TIP3 3650 1.043 6.861 -10.850 1.00 0.00 WT1 ATOM 1330 H1 TIP3 3650 1.467 7.723 -10.721 1.00 0.00 WT1 ATOM 1331 H2 TIP3 3650 0.904 6.720 -11.829 1.00 0.00 WT1 ATOM 1332 OH2 TIP3 3651 5.675 11.034 -11.517 1.00 0.00 WT1 ATOM 1333 H1 TIP3 3651 6.515 11.310 -12.037 1.00 0.00 WT1 ATOM 1334 H2 TIP3 3651 5.040 11.693 -11.829 1.00 0.00 WT1 ATOM 1335 OH2 TIP3 3653 9.210 -4.304 1.492 1.00 0.00 WT1 ATOM 1336 H1 TIP3 3653 9.511 -4.565 2.362 1.00 0.00 WT1 ATOM 1337 H2 TIP3 3653 8.704 -3.530 1.681 1.00 0.00 WT1 ATOM 1338 OH2 TIP3 3660 2.825 -5.085 -6.435 1.00 0.00 WT1 ATOM 1339 H1 TIP3 3660 3.147 -5.677 -5.733 1.00 0.00 WT1 ATOM 1340 H2 TIP3 3660 2.675 -4.226 -5.956 1.00 0.00 WT1 ATOM 1341 OH2 TIP3 3661 -3.187 10.783 4.356 1.00 0.00 WT1 ATOM 1342 H1 TIP3 3661 -2.309 10.662 3.965 1.00 0.00 WT1 ATOM 1343 H2 TIP3 3661 -3.561 11.603 4.038 1.00 0.00 WT1 ATOM 1344 OH2 TIP3 3662 7.695 -2.130 2.014 1.00 0.00 WT1 ATOM 1345 H1 TIP3 3662 7.309 -1.620 1.304 1.00 0.00 WT1 ATOM 1346 H2 TIP3 3662 7.062 -2.819 2.193 1.00 0.00 WT1 ATOM 1347 OH2 TIP3 3703 9.731 11.928 7.943 1.00 0.00 WT1 ATOM 1348 H1 TIP3 3703 8.834 11.669 7.748 1.00 0.00 WT1 ATOM 1349 H2 TIP3 3703 9.740 12.911 7.709 1.00 0.00 WT1 ATOM 1350 OH2 TIP3 3707 16.324 13.055 12.295 1.00 0.00 WT1 ATOM 1351 H1 TIP3 3707 15.905 12.235 11.963 1.00 0.00 WT1 ATOM 1352 H2 TIP3 3707 15.551 13.634 12.407 1.00 0.00 WT1 ATOM 1353 OH2 TIP3 3708 5.049 14.404 8.837 1.00 0.00 WT1 ATOM 1354 H1 TIP3 3708 4.300 13.838 8.824 1.00 0.00 WT1 ATOM 1355 H2 TIP3 3708 5.140 14.779 7.913 1.00 0.00 WT1 ATOM 1356 OH2 TIP3 3718 8.433 12.181 -12.556 1.00 0.00 WT1 ATOM 1357 H1 TIP3 3718 8.546 12.720 -11.714 1.00 0.00 WT1 ATOM 1358 H2 TIP3 3718 9.346 11.926 -12.790 1.00 0.00 WT1 ATOM 1359 OH2 TIP3 3723 0.123 14.088 -1.775 1.00 0.00 WT1 ATOM 1360 H1 TIP3 3723 -0.444 14.881 -1.503 1.00 0.00 WT1 ATOM 1361 H2 TIP3 3723 0.580 13.981 -0.990 1.00 0.00 WT1 ATOM 1362 OH2 TIP3 3728 -3.340 12.242 10.937 1.00 0.00 WT1 ATOM 1363 H1 TIP3 3728 -3.850 12.903 10.401 1.00 0.00 WT1 ATOM 1364 H2 TIP3 3728 -3.112 11.529 10.323 1.00 0.00 WT1 ATOM 1365 OH2 TIP3 3745 6.196 12.922 12.321 1.00 0.00 WT1 ATOM 1366 H1 TIP3 3745 6.397 12.969 11.406 1.00 0.00 WT1 ATOM 1367 H2 TIP3 3745 6.792 12.246 12.618 1.00 0.00 WT1 ATOM 1368 OH2 TIP3 3787 10.688 8.341 11.297 1.00 0.00 WT1 ATOM 1369 H1 TIP3 3787 11.524 7.971 11.669 1.00 0.00 WT1 ATOM 1370 H2 TIP3 3787 10.847 9.315 11.229 1.00 0.00 WT1 ATOM 1371 OH2 TIP3 3925 11.356 -12.055 2.010 1.00 0.00 WT1 ATOM 1372 H1 TIP3 3925 12.112 -11.920 2.589 1.00 0.00 WT1 ATOM 1373 H2 TIP3 3925 10.964 -11.113 2.006 1.00 0.00 WT1 ATOM 1374 OH2 TIP3 3933 9.309 -7.112 -1.654 1.00 0.00 WT1 ATOM 1375 H1 TIP3 3933 8.539 -7.656 -1.359 1.00 0.00 WT1 ATOM 1376 H2 TIP3 3933 8.967 -6.606 -2.481 1.00 0.00 WT1 ATOM 1377 OH2 TIP3 3935 6.635 -3.775 12.827 1.00 0.00 WT1 ATOM 1378 H1 TIP3 3935 6.544 -4.570 12.291 1.00 0.00 WT1 ATOM 1379 H2 TIP3 3935 7.493 -3.455 12.645 1.00 0.00 WT1 ATOM 1380 OH2 TIP3 3951 9.758 -11.690 -3.254 1.00 0.00 WT1 ATOM 1381 H1 TIP3 3951 10.303 -10.975 -2.837 1.00 0.00 WT1 ATOM 1382 H2 TIP3 3951 9.237 -11.182 -3.901 1.00 0.00 WT1 ATOM 1383 OH2 TIP3 3977 -2.311 -5.505 -1.789 1.00 0.00 WT1 ATOM 1384 H1 TIP3 3977 -2.472 -6.109 -1.001 1.00 0.00 WT1 ATOM 1385 H2 TIP3 3977 -1.656 -4.812 -1.548 1.00 0.00 WT1 ATOM 1386 OH2 TIP3 3991 5.999 -9.769 3.693 1.00 0.00 WT1 ATOM 1387 H1 TIP3 3991 5.564 -9.192 3.013 1.00 0.00 WT1 ATOM 1388 H2 TIP3 3991 6.470 -9.086 4.176 1.00 0.00 WT1 ATOM 1389 OH2 TIP3 3995 9.525 3.604 5.474 1.00 0.00 WT1 ATOM 1390 H1 TIP3 3995 9.553 3.514 4.478 1.00 0.00 WT1 ATOM 1391 H2 TIP3 3995 10.485 3.668 5.708 1.00 0.00 WT1 ATOM 1392 OH2 TIP3 3996 8.740 -6.382 -8.773 1.00 0.00 WT1 ATOM 1393 H1 TIP3 3996 8.385 -5.413 -8.620 1.00 0.00 WT1 ATOM 1394 H2 TIP3 3996 8.343 -6.884 -8.051 1.00 0.00 WT1 ATOM 1395 OH2 TIP3 4009 10.123 -5.593 3.791 1.00 0.00 WT1 ATOM 1396 H1 TIP3 4009 9.822 -6.372 4.360 1.00 0.00 WT1 ATOM 1397 H2 TIP3 4009 10.926 -5.332 4.165 1.00 0.00 WT1 ATOM 1398 OH2 TIP3 4012 -1.716 1.601 -11.100 1.00 0.00 WT1 ATOM 1399 H1 TIP3 4012 -0.857 1.388 -11.531 1.00 0.00 WT1 ATOM 1400 H2 TIP3 4012 -2.046 0.751 -10.980 1.00 0.00 WT1 ATOM 1401 OH2 TIP3 4015 14.153 -11.550 -5.945 1.00 0.00 WT1 ATOM 1402 H1 TIP3 4015 13.454 -11.851 -5.289 1.00 0.00 WT1 ATOM 1403 H2 TIP3 4015 14.615 -12.337 -6.034 1.00 0.00 WT1 ATOM 1404 OH2 TIP3 4017 11.854 -8.512 0.547 1.00 0.00 WT1 ATOM 1405 H1 TIP3 4017 12.483 -7.727 0.484 1.00 0.00 WT1 ATOM 1406 H2 TIP3 4017 12.063 -8.934 -0.294 1.00 0.00 WT1 ATOM 1407 OH2 TIP3 4035 15.107 -6.790 -5.731 1.00 0.00 WT1 ATOM 1408 H1 TIP3 4035 14.880 -7.453 -5.141 1.00 0.00 WT1 ATOM 1409 H2 TIP3 4035 14.327 -6.649 -6.306 1.00 0.00 WT1 ATOM 1410 OH2 TIP3 4036 2.394 -7.462 6.201 1.00 0.00 WT1 ATOM 1411 H1 TIP3 4036 2.447 -8.288 5.733 1.00 0.00 WT1 ATOM 1412 H2 TIP3 4036 1.477 -7.448 6.437 1.00 0.00 WT1 ATOM 1413 OH2 TIP3 4037 8.732 -4.274 -11.988 1.00 0.00 WT1 ATOM 1414 H1 TIP3 4037 8.497 -5.224 -11.810 1.00 0.00 WT1 ATOM 1415 H2 TIP3 4037 7.926 -3.782 -11.874 1.00 0.00 WT1 ATOM 1416 OH2 TIP3 4039 8.273 -6.996 8.912 1.00 0.00 WT1 ATOM 1417 H1 TIP3 4039 7.975 -6.641 9.749 1.00 0.00 WT1 ATOM 1418 H2 TIP3 4039 8.523 -6.183 8.366 1.00 0.00 WT1 ATOM 1419 OH2 TIP3 4055 16.554 8.166 -12.225 1.00 0.00 WT1 ATOM 1420 H1 TIP3 4055 15.980 8.144 -13.040 1.00 0.00 WT1 ATOM 1421 H2 TIP3 4055 16.221 9.017 -11.831 1.00 0.00 WT1 ATOM 1422 OH2 TIP3 4059 11.901 13.815 2.836 1.00 0.00 WT1 ATOM 1423 H1 TIP3 4059 11.422 14.073 2.017 1.00 0.00 WT1 ATOM 1424 H2 TIP3 4059 12.615 13.225 2.573 1.00 0.00 WT1 ATOM 1425 OH2 TIP3 4074 -3.877 5.158 -5.989 1.00 0.00 WT1 ATOM 1426 H1 TIP3 4074 -3.640 5.575 -6.879 1.00 0.00 WT1 ATOM 1427 H2 TIP3 4074 -4.678 4.629 -6.194 1.00 0.00 WT1 ATOM 1428 OH2 TIP3 4076 14.897 3.246 -1.440 1.00 0.00 WT1 ATOM 1429 H1 TIP3 4076 14.972 3.769 -2.272 1.00 0.00 WT1 ATOM 1430 H2 TIP3 4076 15.106 3.869 -0.778 1.00 0.00 WT1 ATOM 1431 OH2 TIP3 4077 2.701 -1.775 4.304 1.00 0.00 WT1 ATOM 1432 H1 TIP3 4077 2.702 -1.883 3.344 1.00 0.00 WT1 ATOM 1433 H2 TIP3 4077 2.401 -0.880 4.439 1.00 0.00 WT1 ATOM 1434 OH2 TIP3 4079 5.764 4.758 12.068 1.00 0.00 WT1 ATOM 1435 H1 TIP3 4079 5.567 5.614 12.553 1.00 0.00 WT1 ATOM 1436 H2 TIP3 4079 4.967 4.505 11.571 1.00 0.00 WT1 ATOM 1437 OH2 TIP3 4081 10.596 6.877 8.877 1.00 0.00 WT1 ATOM 1438 H1 TIP3 4081 10.681 6.114 9.491 1.00 0.00 WT1 ATOM 1439 H2 TIP3 4081 10.349 7.575 9.555 1.00 0.00 WT1 ATOM 1440 OH2 TIP3 4083 13.258 13.103 5.480 1.00 0.00 WT1 ATOM 1441 H1 TIP3 4083 13.158 13.364 4.515 1.00 0.00 WT1 ATOM 1442 H2 TIP3 4083 14.284 13.196 5.556 1.00 0.00 WT1 ATOM 1443 OH2 TIP3 4104 6.069 1.372 9.249 1.00 0.00 WT1 ATOM 1444 H1 TIP3 4104 5.715 1.034 8.414 1.00 0.00 WT1 ATOM 1445 H2 TIP3 4104 6.980 1.005 9.229 1.00 0.00 WT1 ATOM 1446 OH2 TIP3 4138 16.833 5.585 -10.557 1.00 0.00 WT1 ATOM 1447 H1 TIP3 4138 16.716 6.315 -11.304 1.00 0.00 WT1 ATOM 1448 H2 TIP3 4138 15.948 5.362 -10.264 1.00 0.00 WT1 ATOM 1449 OH2 TIP3 4139 15.270 14.738 -4.050 1.00 0.00 WT1 ATOM 1450 H1 TIP3 4139 14.793 14.566 -3.175 1.00 0.00 WT1 ATOM 1451 H2 TIP3 4139 14.718 14.263 -4.697 1.00 0.00 WT1 ATOM 1452 OH2 TIP3 4141 10.509 8.173 -5.026 1.00 0.00 WT1 ATOM 1453 H1 TIP3 4141 10.936 7.676 -4.299 1.00 0.00 WT1 ATOM 1454 H2 TIP3 4141 11.275 8.558 -5.457 1.00 0.00 WT1 ATOM 1455 OH2 TIP3 4143 15.390 8.334 -0.424 1.00 0.00 WT1 ATOM 1456 H1 TIP3 4143 15.918 9.067 -0.099 1.00 0.00 WT1 ATOM 1457 H2 TIP3 4143 15.695 7.578 0.059 1.00 0.00 WT1 ATOM 1458 OH2 TIP3 4179 15.633 10.683 -11.101 1.00 0.00 WT1 ATOM 1459 H1 TIP3 4179 15.432 11.604 -10.942 1.00 0.00 WT1 ATOM 1460 H2 TIP3 4179 15.326 10.203 -10.292 1.00 0.00 WT1 ATOM 1461 OH2 TIP3 4184 12.139 12.611 -10.430 1.00 0.00 WT1 ATOM 1462 H1 TIP3 4184 12.925 12.852 -11.004 1.00 0.00 WT1 ATOM 1463 H2 TIP3 4184 11.474 13.343 -10.729 1.00 0.00 WT1 ATOM 1464 OH2 TIP3 4202 12.809 10.632 -4.433 1.00 0.00 WT1 ATOM 1465 H1 TIP3 4202 13.384 10.371 -3.737 1.00 0.00 WT1 ATOM 1466 H2 TIP3 4202 11.937 10.719 -3.938 1.00 0.00 WT1 ATOM 1467 OH2 TIP3 4356 12.173 -6.418 6.327 1.00 0.00 WT1 ATOM 1468 H1 TIP3 4356 12.270 -6.283 7.250 1.00 0.00 WT1 ATOM 1469 H2 TIP3 4356 11.300 -6.871 6.339 1.00 0.00 WT1 ATOM 1470 OH2 TIP3 4380 6.825 -10.877 11.112 1.00 0.00 WT1 ATOM 1471 H1 TIP3 4380 7.561 -10.896 11.750 1.00 0.00 WT1 ATOM 1472 H2 TIP3 4380 7.212 -11.360 10.384 1.00 0.00 WT1 ATOM 1473 OH2 TIP3 4394 12.189 -4.423 -2.776 1.00 0.00 WT1 ATOM 1474 H1 TIP3 4394 12.967 -4.989 -2.790 1.00 0.00 WT1 ATOM 1475 H2 TIP3 4394 11.797 -4.594 -1.861 1.00 0.00 WT1 ATOM 1476 OH2 TIP3 4417 13.921 0.340 5.759 1.00 0.00 WT1 ATOM 1477 H1 TIP3 4417 13.488 1.251 5.641 1.00 0.00 WT1 ATOM 1478 H2 TIP3 4417 13.599 0.062 6.636 1.00 0.00 WT1 ATOM 1479 OH2 TIP3 4419 14.292 -10.062 3.886 1.00 0.00 WT1 ATOM 1480 H1 TIP3 4419 13.794 -9.221 3.840 1.00 0.00 WT1 ATOM 1481 H2 TIP3 4419 14.690 -10.033 3.007 1.00 0.00 WT1 ATOM 1482 OH2 TIP3 4455 16.234 -8.014 -7.786 1.00 0.00 WT1 ATOM 1483 H1 TIP3 4455 16.265 -8.832 -7.242 1.00 0.00 WT1 ATOM 1484 H2 TIP3 4455 15.835 -7.355 -7.218 1.00 0.00 WT1 ATOM 1485 OH2 TIP3 4480 10.246 7.089 5.770 1.00 0.00 WT1 ATOM 1486 H1 TIP3 4480 9.306 7.072 5.876 1.00 0.00 WT1 ATOM 1487 H2 TIP3 4480 10.537 7.386 6.696 1.00 0.00 WT1 ATOM 1488 OH2 TIP3 4516 14.737 12.367 -5.684 1.00 0.00 WT1 ATOM 1489 H1 TIP3 4516 14.786 12.055 -6.593 1.00 0.00 WT1 ATOM 1490 H2 TIP3 4516 14.022 11.819 -5.209 1.00 0.00 WT1 ATOM 1491 OH2 TIP3 4519 7.860 4.463 -11.698 1.00 0.00 WT1 ATOM 1492 H1 TIP3 4519 7.680 4.245 -12.643 1.00 0.00 WT1 ATOM 1493 H2 TIP3 4519 8.674 3.966 -11.570 1.00 0.00 WT1 ATOM 1494 OH2 TIP3 4523 12.743 -0.700 8.111 1.00 0.00 WT1 ATOM 1495 H1 TIP3 4523 13.130 -1.212 8.786 1.00 0.00 WT1 ATOM 1496 H2 TIP3 4523 12.098 -0.131 8.544 1.00 0.00 WT1 ATOM 1497 OH2 TIP3 4537 10.408 10.646 -2.832 1.00 0.00 WT1 ATOM 1498 H1 TIP3 4537 9.868 10.187 -3.481 1.00 0.00 WT1 ATOM 1499 H2 TIP3 4537 10.360 10.076 -2.008 1.00 0.00 WT1 ATOM 1500 OH2 TIP3 4553 11.525 12.606 -7.261 1.00 0.00 WT1 ATOM 1501 H1 TIP3 4553 11.620 11.907 -7.997 1.00 0.00 WT1 ATOM 1502 H2 TIP3 4553 10.605 12.870 -7.227 1.00 0.00 WT1 ATOM 1503 OH2 TIP3 4559 5.108 11.344 -7.004 1.00 0.00 WT1 ATOM 1504 H1 TIP3 4559 5.022 10.619 -6.304 1.00 0.00 WT1 ATOM 1505 H2 TIP3 4559 5.103 12.135 -6.417 1.00 0.00 WT1 ATOM 1506 OH2 TIP3 4578 12.207 14.369 -5.015 1.00 0.00 WT1 ATOM 1507 H1 TIP3 4578 12.055 13.834 -4.203 1.00 0.00 WT1 ATOM 1508 H2 TIP3 4578 12.150 13.693 -5.725 1.00 0.00 WT1 ATOM 1509 OH2 TIP3 4582 13.609 6.106 -9.562 1.00 0.00 WT1 ATOM 1510 H1 TIP3 4582 12.776 6.420 -9.961 1.00 0.00 WT1 ATOM 1511 H2 TIP3 4582 13.599 5.150 -9.768 1.00 0.00 WT1 ATOM 1512 OH2 TIP3 4588 15.034 10.857 11.083 1.00 0.00 WT1 ATOM 1513 H1 TIP3 4588 14.859 10.763 10.097 1.00 0.00 WT1 ATOM 1514 H2 TIP3 4588 15.626 10.077 11.303 1.00 0.00 WT1 ATOM 1515 OH2 TIP3 4606 15.080 3.909 11.394 1.00 0.00 WT1 ATOM 1516 H1 TIP3 4606 14.233 3.862 10.914 1.00 0.00 WT1 ATOM 1517 H2 TIP3 4606 15.716 3.453 10.825 1.00 0.00 WT1 ATOM 1518 OH2 TIP3 4625 14.139 11.930 0.355 1.00 0.00 WT1 ATOM 1519 H1 TIP3 4625 14.991 11.413 0.308 1.00 0.00 WT1 ATOM 1520 H2 TIP3 4625 13.811 11.702 1.232 1.00 0.00 WT1 ATOM 1521 OH2 TIP3 4663 15.310 14.414 1.614 1.00 0.00 WT1 ATOM 1522 H1 TIP3 4663 16.140 14.254 2.094 1.00 0.00 WT1 ATOM 1523 H2 TIP3 4663 15.372 13.668 0.984 1.00 0.00 WT1 ATOM 1524 OH2 TIP3 4797 14.873 -5.211 10.941 1.00 0.00 WT1 ATOM 1525 H1 TIP3 4797 15.164 -4.556 10.321 1.00 0.00 WT1 ATOM 1526 H2 TIP3 4797 15.655 -5.709 11.210 1.00 0.00 WT1 ATOM 1527 OH2 TIP3 4798 8.474 -11.953 9.273 1.00 0.00 WT1 ATOM 1528 H1 TIP3 4798 9.050 -11.320 9.658 1.00 0.00 WT1 ATOM 1529 H2 TIP3 4798 8.293 -11.516 8.408 1.00 0.00 WT1 ATOM 1530 OH2 TIP3 4809 4.687 -9.522 -11.431 1.00 0.00 WT1 ATOM 1531 H1 TIP3 4809 4.626 -8.838 -10.720 1.00 0.00 WT1 ATOM 1532 H2 TIP3 4809 3.854 -10.019 -11.290 1.00 0.00 WT1 ATOM 1533 OH2 TIP3 4835 16.470 -10.348 -6.526 1.00 0.00 WT1 ATOM 1534 H1 TIP3 4835 16.755 -11.085 -7.089 1.00 0.00 WT1 ATOM 1535 H2 TIP3 4835 15.469 -10.403 -6.486 1.00 0.00 WT1 ATOM 1536 OH2 TIP3 4837 9.761 -9.400 9.504 1.00 0.00 WT1 ATOM 1537 H1 TIP3 4837 10.258 -9.305 10.343 1.00 0.00 WT1 ATOM 1538 H2 TIP3 4837 9.366 -8.577 9.475 1.00 0.00 WT1 ATOM 1539 OH2 TIP3 4849 5.297 -3.237 -5.398 1.00 0.00 WT1 ATOM 1540 H1 TIP3 4849 5.033 -3.777 -6.145 1.00 0.00 WT1 ATOM 1541 H2 TIP3 4849 6.093 -2.794 -5.563 1.00 0.00 WT1 ATOM 1542 OH2 TIP3 4856 11.026 -9.347 11.953 1.00 0.00 WT1 ATOM 1543 H1 TIP3 4856 11.929 -9.493 11.589 1.00 0.00 WT1 ATOM 1544 H2 TIP3 4856 11.130 -8.973 12.831 1.00 0.00 WT1 ATOM 1545 OH2 TIP3 4857 9.067 -0.281 3.993 1.00 0.00 WT1 ATOM 1546 H1 TIP3 4857 8.704 -0.886 3.318 1.00 0.00 WT1 ATOM 1547 H2 TIP3 4857 9.920 -0.763 4.340 1.00 0.00 WT1 ATOM 1548 OH2 TIP3 4899 15.773 -5.814 3.501 1.00 0.00 WT1 ATOM 1549 H1 TIP3 4899 16.491 -6.478 3.679 1.00 0.00 WT1 ATOM 1550 H2 TIP3 4899 15.243 -5.767 4.325 1.00 0.00 WT1 ATOM 1551 OH2 TIP3 4916 16.599 1.095 -8.896 1.00 0.00 WT1 ATOM 1552 H1 TIP3 4916 15.651 0.861 -9.021 1.00 0.00 WT1 ATOM 1553 H2 TIP3 4916 16.620 1.824 -8.274 1.00 0.00 WT1 ATOM 1554 OH2 TIP3 4937 14.674 -9.599 -9.877 1.00 0.00 WT1 ATOM 1555 H1 TIP3 4937 14.008 -10.186 -9.410 1.00 0.00 WT1 ATOM 1556 H2 TIP3 4937 15.157 -9.186 -9.164 1.00 0.00 WT1 ATOM 1557 OH2 TIP3 4963 16.086 -0.927 4.632 1.00 0.00 WT1 ATOM 1558 H1 TIP3 4963 15.254 -0.385 4.939 1.00 0.00 WT1 ATOM 1559 H2 TIP3 4963 16.759 -0.217 4.617 1.00 0.00 WT1 ATOM 1560 OH2 TIP3 4978 13.359 7.454 8.465 1.00 0.00 WT1 ATOM 1561 H1 TIP3 4978 12.515 7.045 8.648 1.00 0.00 WT1 ATOM 1562 H2 TIP3 4978 13.570 7.110 7.571 1.00 0.00 WT1 ATOM 1563 OH2 TIP3 4981 9.782 3.722 2.762 1.00 0.00 WT1 ATOM 1564 H1 TIP3 4981 9.431 2.822 2.477 1.00 0.00 WT1 ATOM 1565 H2 TIP3 4981 9.203 4.317 2.230 1.00 0.00 WT1 ATOM 1566 OH2 TIP3 5234 15.859 -9.830 1.633 1.00 0.00 WT1 ATOM 1567 H1 TIP3 5234 15.833 -9.240 0.841 1.00 0.00 WT1 ATOM 1568 H2 TIP3 5234 16.091 -10.744 1.319 1.00 0.00 WT1 ATOM 1569 OH2 TIP3 5320 6.064 -2.805 5.618 1.00 0.00 WT1 ATOM 1570 H1 TIP3 5320 6.683 -3.231 5.015 1.00 0.00 WT1 ATOM 1571 H2 TIP3 5320 5.281 -3.343 5.581 1.00 0.00 WT1 ATOM 1572 OH2 TIP3 5341 9.395 1.137 1.532 1.00 0.00 WT1 ATOM 1573 H1 TIP3 5341 9.362 0.730 2.421 1.00 0.00 WT1 ATOM 1574 H2 TIP3 5341 9.753 0.358 0.964 1.00 0.00 WT1 ATOM 1575 OH2 TIP3 5355 15.916 -12.406 -10.463 1.00 0.00 WT1 ATOM 1576 H1 TIP3 5355 15.023 -12.583 -10.637 1.00 0.00 WT1 ATOM 1577 H2 TIP3 5355 16.120 -11.573 -10.898 1.00 0.00 WT1 ATOM 1578 OH2 TIP3 5356 9.937 -10.027 -8.343 1.00 0.00 WT1 ATOM 1579 H1 TIP3 5356 10.020 -9.301 -7.798 1.00 0.00 WT1 ATOM 1580 H2 TIP3 5356 10.824 -10.070 -8.781 1.00 0.00 WT1 ATOM 1581 OH2 TIP3 5366 13.536 -9.941 10.780 1.00 0.00 WT1 ATOM 1582 H1 TIP3 5366 14.260 -9.327 10.517 1.00 0.00 WT1 ATOM 1583 H2 TIP3 5366 14.009 -10.738 11.134 1.00 0.00 WT1 ATOM 1584 OH2 TIP3 5385 12.585 1.503 2.577 1.00 0.00 WT1 ATOM 1585 H1 TIP3 5385 13.450 1.218 2.203 1.00 0.00 WT1 ATOM 1586 H2 TIP3 5385 12.106 0.680 2.717 1.00 0.00 WT1 ATOM 1587 OH2 TIP3 5393 12.900 9.185 -6.653 1.00 0.00 WT1 ATOM 1588 H1 TIP3 5393 12.621 9.821 -5.987 1.00 0.00 WT1 ATOM 1589 H2 TIP3 5393 12.668 9.613 -7.546 1.00 0.00 WT1 ATOM 1590 OH2 TIP3 5404 15.479 0.332 -3.202 1.00 0.00 WT1 ATOM 1591 H1 TIP3 5404 16.272 -0.237 -2.951 1.00 0.00 WT1 ATOM 1592 H2 TIP3 5404 15.235 0.716 -2.260 1.00 0.00 WT1 ATOM 1593 OH2 TIP3 5418 15.767 11.933 -8.308 1.00 0.00 WT1 ATOM 1594 H1 TIP3 5418 16.541 12.517 -8.096 1.00 0.00 WT1 ATOM 1595 H2 TIP3 5418 15.387 12.376 -9.034 1.00 0.00 WT1 ATOM 1596 OH2 TIP3 5463 13.769 13.761 -1.733 1.00 0.00 WT1 ATOM 1597 H1 TIP3 5463 14.059 13.271 -0.912 1.00 0.00 WT1 ATOM 1598 H2 TIP3 5463 12.836 13.465 -1.857 1.00 0.00 WT1 ATOM 1599 OH2 TIP3 5723 15.708 -8.572 10.145 1.00 0.00 WT1 ATOM 1600 H1 TIP3 5723 16.335 -8.215 10.826 1.00 0.00 WT1 ATOM 1601 H2 TIP3 5723 16.281 -8.736 9.347 1.00 0.00 WT1 ATOM 1602 OH2 TIP3 5782 9.631 0.755 11.804 1.00 0.00 WT1 ATOM 1603 H1 TIP3 5782 9.873 1.597 12.256 1.00 0.00 WT1 ATOM 1604 H2 TIP3 5782 8.769 0.565 12.122 1.00 0.00 WT1 ATOM 1605 OH2 TIP3 5827 12.682 3.396 10.132 1.00 0.00 WT1 ATOM 1606 H1 TIP3 5827 12.557 2.569 9.635 1.00 0.00 WT1 ATOM 1607 H2 TIP3 5827 11.968 3.958 9.924 1.00 0.00 WT1 ATOM 1608 OH2 TIP3 5899 10.946 13.494 -2.424 1.00 0.00 WT1 ATOM 1609 H1 TIP3 5899 10.902 12.525 -2.489 1.00 0.00 WT1 ATOM 1610 H2 TIP3 5899 10.138 13.752 -2.966 1.00 0.00 WT1 ATOM 1611 OH2 TIP3 5901 10.490 3.389 -1.266 1.00 0.00 WT1 ATOM 1612 H1 TIP3 5901 10.029 2.463 -1.401 1.00 0.00 WT1 ATOM 1613 H2 TIP3 5901 10.935 3.178 -0.477 1.00 0.00 WT1 ATOM 1614 OH2 TIP3 6158 12.654 -10.988 -8.415 1.00 0.00 WT1 ATOM 1615 H1 TIP3 6158 12.315 -11.843 -8.635 1.00 0.00 WT1 ATOM 1616 H2 TIP3 6158 13.272 -11.158 -7.610 1.00 0.00 WT1 ATOM 1617 OH2 TIP3 6240 -8.131 -11.866 -1.291 1.00 0.00 WT1 ATOM 1618 H1 TIP3 6240 -7.521 -12.315 -1.907 1.00 0.00 WT1 ATOM 1619 H2 TIP3 6240 -9.015 -12.259 -1.438 1.00 0.00 WT1 ATOM 1620 OH2 TIP3 6325 16.284 7.919 2.980 1.00 0.00 WT1 ATOM 1621 H1 TIP3 6325 16.407 8.268 3.855 1.00 0.00 WT1 ATOM 1622 H2 TIP3 6325 15.335 7.951 2.892 1.00 0.00 WT1 ATOM 1623 OH2 TIP3 6671 -10.314 -0.002 7.861 1.00 0.00 WT1 ATOM 1624 H1 TIP3 6671 -9.977 0.762 8.410 1.00 0.00 WT1 ATOM 1625 H2 TIP3 6671 -10.101 -0.732 8.363 1.00 0.00 WT1 ATOM 1626 OH2 TIP3 6684 16.701 -1.842 -9.007 1.00 0.00 WT1 ATOM 1627 H1 TIP3 6684 15.759 -2.125 -9.004 1.00 0.00 WT1 ATOM 1628 H2 TIP3 6684 16.575 -0.874 -9.144 1.00 0.00 WT1 ATOM 1629 OH2 TIP3 6726 6.802 3.797 5.787 1.00 0.00 WT1 ATOM 1630 H1 TIP3 6726 7.750 3.948 5.791 1.00 0.00 WT1 ATOM 1631 H2 TIP3 6726 6.692 3.037 5.154 1.00 0.00 WT1 ATOM 1632 OH2 TIP3 7141 5.087 9.950 1.868 1.00 0.00 WT1 ATOM 1633 H1 TIP3 7141 4.883 9.205 1.339 1.00 0.00 WT1 ATOM 1634 H2 TIP3 7141 6.052 9.890 1.948 1.00 0.00 WT1 ATOM 1635 OH2 TIP3 7222 -4.956 -3.013 -12.715 1.00 0.00 WT1 ATOM 1636 H1 TIP3 7222 -4.257 -3.694 -12.408 1.00 0.00 WT1 ATOM 1637 H2 TIP3 7222 -5.752 -3.551 -12.883 1.00 0.00 WT1 ATOM 1638 OH2 TIP3 7479 -5.071 -9.146 -9.375 1.00 0.00 WT1 ATOM 1639 H1 TIP3 7479 -4.479 -8.978 -10.130 1.00 0.00 WT1 ATOM 1640 H2 TIP3 7479 -4.404 -9.407 -8.701 1.00 0.00 WT1 ATOM 1641 OH2 TIP3 7510 -6.061 -1.130 -1.085 1.00 0.00 WT1 ATOM 1642 H1 TIP3 7510 -5.899 -0.174 -1.059 1.00 0.00 WT1 ATOM 1643 H2 TIP3 7510 -5.597 -1.410 -0.301 1.00 0.00 WT1 ATOM 1644 OH2 TIP3 7563 -6.015 6.489 2.236 1.00 0.00 WT1 ATOM 1645 H1 TIP3 7563 -5.984 7.398 1.863 1.00 0.00 WT1 ATOM 1646 H2 TIP3 7563 -5.959 5.905 1.490 1.00 0.00 WT1 ATOM 1647 OH2 TIP3 7568 -7.530 -5.471 10.747 1.00 0.00 WT1 ATOM 1648 H1 TIP3 7568 -7.631 -5.348 11.685 1.00 0.00 WT1 ATOM 1649 H2 TIP3 7568 -7.580 -4.554 10.421 1.00 0.00 WT1 ATOM 1650 OH2 TIP3 7605 -4.524 12.038 -2.731 1.00 0.00 WT1 ATOM 1651 H1 TIP3 7605 -3.623 12.068 -2.350 1.00 0.00 WT1 ATOM 1652 H2 TIP3 7605 -4.367 11.817 -3.660 1.00 0.00 WT1 ATOM 1653 OH2 TIP3 7630 -9.032 0.649 -5.902 1.00 0.00 WT1 ATOM 1654 H1 TIP3 7630 -8.492 1.246 -5.342 1.00 0.00 WT1 ATOM 1655 H2 TIP3 7630 -9.571 0.206 -5.236 1.00 0.00 WT1 ATOM 1656 OH2 TIP3 7631 -9.285 8.624 3.948 1.00 0.00 WT1 ATOM 1657 H1 TIP3 7631 -8.539 9.002 3.466 1.00 0.00 WT1 ATOM 1658 H2 TIP3 7631 -8.813 8.097 4.583 1.00 0.00 WT1 ATOM 1659 OH2 TIP3 7647 -9.904 12.512 -2.946 1.00 0.00 WT1 ATOM 1660 H1 TIP3 7647 -8.959 12.648 -3.002 1.00 0.00 WT1 ATOM 1661 H2 TIP3 7647 -10.089 11.740 -3.607 1.00 0.00 WT1 ATOM 1662 OH2 TIP3 7650 -7.113 14.701 -8.638 1.00 0.00 WT1 ATOM 1663 H1 TIP3 7650 -7.342 14.012 -8.014 1.00 0.00 WT1 ATOM 1664 H2 TIP3 7650 -6.127 14.759 -8.486 1.00 0.00 WT1 ATOM 1665 OH2 TIP3 7707 -10.523 -10.034 -5.965 1.00 0.00 WT1 ATOM 1666 H1 TIP3 7707 -9.723 -9.625 -6.376 1.00 0.00 WT1 ATOM 1667 H2 TIP3 7707 -11.158 -9.386 -6.149 1.00 0.00 WT1 ATOM 1668 OH2 TIP3 7739 -6.614 10.570 9.200 1.00 0.00 WT1 ATOM 1669 H1 TIP3 7739 -7.296 10.705 8.525 1.00 0.00 WT1 ATOM 1670 H2 TIP3 7739 -6.799 11.327 9.778 1.00 0.00 WT1 ATOM 1671 OH2 TIP3 7945 -1.976 -7.228 10.250 1.00 0.00 WT1 ATOM 1672 H1 TIP3 7945 -1.753 -6.680 11.020 1.00 0.00 WT1 ATOM 1673 H2 TIP3 7945 -2.726 -6.684 9.893 1.00 0.00 WT1 ATOM 1674 OH2 TIP3 7985 -10.762 -5.449 -3.939 1.00 0.00 WT1 ATOM 1675 H1 TIP3 7985 -11.009 -6.336 -3.984 1.00 0.00 WT1 ATOM 1676 H2 TIP3 7985 -10.415 -5.252 -4.823 1.00 0.00 WT1 ATOM 1677 OH2 TIP3 8023 -10.298 -0.495 -12.142 1.00 0.00 WT1 ATOM 1678 H1 TIP3 8023 -10.588 -1.115 -12.811 1.00 0.00 WT1 ATOM 1679 H2 TIP3 8023 -9.921 -1.031 -11.451 1.00 0.00 WT1 ATOM 1680 OH2 TIP3 8024 -7.102 13.174 -2.930 1.00 0.00 WT1 ATOM 1681 H1 TIP3 8024 -6.208 12.830 -2.729 1.00 0.00 WT1 ATOM 1682 H2 TIP3 8024 -6.894 13.953 -3.496 1.00 0.00 WT1 ATOM 1683 OH2 TIP3 8029 -3.322 4.182 1.281 1.00 0.00 WT1 ATOM 1684 H1 TIP3 8029 -3.276 4.366 0.279 1.00 0.00 WT1 ATOM 1685 H2 TIP3 8029 -2.609 4.747 1.655 1.00 0.00 WT1 ATOM 1686 OH2 TIP3 8046 -7.981 10.067 -1.343 1.00 0.00 WT1 ATOM 1687 H1 TIP3 8046 -7.610 9.135 -1.409 1.00 0.00 WT1 ATOM 1688 H2 TIP3 8046 -8.350 10.177 -2.226 1.00 0.00 WT1 ATOM 1689 OH2 TIP3 8064 -6.591 9.520 -5.949 1.00 0.00 WT1 ATOM 1690 H1 TIP3 8064 -7.457 9.776 -5.489 1.00 0.00 WT1 ATOM 1691 H2 TIP3 8064 -6.033 9.534 -5.172 1.00 0.00 WT1 ATOM 1692 OH2 TIP3 8068 -10.087 10.147 0.435 1.00 0.00 WT1 ATOM 1693 H1 TIP3 8068 -9.374 10.086 -0.219 1.00 0.00 WT1 ATOM 1694 H2 TIP3 8068 -10.526 10.984 0.231 1.00 0.00 WT1 ATOM 1695 OH2 TIP3 8174 -8.448 14.081 -0.775 1.00 0.00 WT1 ATOM 1696 H1 TIP3 8174 -7.810 13.549 -1.334 1.00 0.00 WT1 ATOM 1697 H2 TIP3 8174 -8.460 14.910 -1.220 1.00 0.00 WT1 ATOM 1698 OH2 TIP3 8364 -2.650 -1.891 3.802 1.00 0.00 WT1 ATOM 1699 H1 TIP3 8364 -3.295 -1.627 3.123 1.00 0.00 WT1 ATOM 1700 H2 TIP3 8364 -2.902 -2.807 4.044 1.00 0.00 WT1 ATOM 1701 OH2 TIP3 8370 4.801 -8.747 11.162 1.00 0.00 WT1 ATOM 1702 H1 TIP3 8370 5.410 -9.029 10.442 1.00 0.00 WT1 ATOM 1703 H2 TIP3 8370 5.344 -8.807 11.934 1.00 0.00 WT1 ATOM 1704 OH2 TIP3 8403 -6.460 6.194 -10.265 1.00 0.00 WT1 ATOM 1705 H1 TIP3 8403 -6.457 6.163 -9.319 1.00 0.00 WT1 ATOM 1706 H2 TIP3 8403 -5.911 5.491 -10.467 1.00 0.00 WT1 ATOM 1707 OH2 TIP3 8408 -10.620 -8.162 12.249 1.00 0.00 WT1 ATOM 1708 H1 TIP3 8408 -10.464 -8.322 11.302 1.00 0.00 WT1 ATOM 1709 H2 TIP3 8408 -9.955 -8.712 12.706 1.00 0.00 WT1 ATOM 1710 OH2 TIP3 8411 -7.805 -12.698 1.414 1.00 0.00 WT1 ATOM 1711 H1 TIP3 8411 -7.863 -12.571 0.467 1.00 0.00 WT1 ATOM 1712 H2 TIP3 8411 -6.833 -12.625 1.645 1.00 0.00 WT1 ATOM 1713 OH2 TIP3 8425 -8.933 -8.893 -11.879 1.00 0.00 WT1 ATOM 1714 H1 TIP3 8425 -8.510 -9.423 -12.519 1.00 0.00 WT1 ATOM 1715 H2 TIP3 8425 -9.655 -9.409 -11.664 1.00 0.00 WT1 ATOM 1716 OH2 TIP3 8441 -4.965 8.401 0.485 1.00 0.00 WT1 ATOM 1717 H1 TIP3 8441 -4.084 8.718 0.715 1.00 0.00 WT1 ATOM 1718 H2 TIP3 8441 -5.409 9.260 0.376 1.00 0.00 WT1 ATOM 1719 OH2 TIP3 8466 -5.863 2.644 -7.091 1.00 0.00 WT1 ATOM 1720 H1 TIP3 8466 -6.269 3.396 -6.614 1.00 0.00 WT1 ATOM 1721 H2 TIP3 8466 -6.247 1.864 -6.657 1.00 0.00 WT1 ATOM 1722 OH2 TIP3 8468 -9.899 0.762 0.750 1.00 0.00 WT1 ATOM 1723 H1 TIP3 8468 -9.617 0.535 -0.116 1.00 0.00 WT1 ATOM 1724 H2 TIP3 8468 -10.306 1.628 0.555 1.00 0.00 WT1 ATOM 1725 OH2 TIP3 8491 -0.816 8.560 9.318 1.00 0.00 WT1 ATOM 1726 H1 TIP3 8491 -0.311 7.865 9.715 1.00 0.00 WT1 ATOM 1727 H2 TIP3 8491 -0.529 9.339 9.749 1.00 0.00 WT1 ATOM 1728 OH2 TIP3 8528 -5.198 3.270 -9.753 1.00 0.00 WT1 ATOM 1729 H1 TIP3 8528 -5.195 3.220 -8.787 1.00 0.00 WT1 ATOM 1730 H2 TIP3 8528 -5.962 2.701 -10.033 1.00 0.00 WT1 ATOM 1731 OH2 TIP3 8534 -9.027 9.295 -3.579 1.00 0.00 WT1 ATOM 1732 H1 TIP3 8534 -9.298 8.482 -3.081 1.00 0.00 WT1 ATOM 1733 H2 TIP3 8534 -9.822 9.418 -4.115 1.00 0.00 WT1 ATOM 1734 OH2 TIP3 8536 -8.004 1.164 4.693 1.00 0.00 WT1 ATOM 1735 H1 TIP3 8536 -7.264 1.267 5.294 1.00 0.00 WT1 ATOM 1736 H2 TIP3 8536 -8.626 1.870 4.842 1.00 0.00 WT1 ATOM 1737 OH2 TIP3 8548 2.428 3.283 -7.810 1.00 0.00 WT1 ATOM 1738 H1 TIP3 8548 2.888 2.579 -8.207 1.00 0.00 WT1 ATOM 1739 H2 TIP3 8548 1.544 2.909 -7.736 1.00 0.00 WT1 ATOM 1740 OH2 TIP3 8555 -5.027 8.810 11.293 1.00 0.00 WT1 ATOM 1741 H1 TIP3 8555 -5.580 8.364 10.719 1.00 0.00 WT1 ATOM 1742 H2 TIP3 8555 -5.253 8.571 12.229 1.00 0.00 WT1 ATOM 1743 OH2 TIP3 8556 -9.230 3.820 5.584 1.00 0.00 WT1 ATOM 1744 H1 TIP3 8556 -9.290 4.366 6.450 1.00 0.00 WT1 ATOM 1745 H2 TIP3 8556 -8.555 4.302 5.077 1.00 0.00 WT1 ATOM 1746 OH2 TIP3 8558 -9.198 12.974 1.796 1.00 0.00 WT1 ATOM 1747 H1 TIP3 8558 -10.133 12.708 1.927 1.00 0.00 WT1 ATOM 1748 H2 TIP3 8558 -9.093 13.229 0.844 1.00 0.00 WT1 ATOM 1749 OH2 TIP3 8574 -7.104 15.467 2.160 1.00 0.00 WT1 ATOM 1750 H1 TIP3 8574 -6.234 15.208 1.703 1.00 0.00 WT1 ATOM 1751 H2 TIP3 8574 -7.657 14.715 1.939 1.00 0.00 WT1 ATOM 1752 OH2 TIP3 8760 2.246 7.676 -6.534 1.00 0.00 WT1 ATOM 1753 H1 TIP3 8760 2.333 6.898 -6.120 1.00 0.00 WT1 ATOM 1754 H2 TIP3 8760 1.988 7.355 -7.478 1.00 0.00 WT1 ATOM 1755 OH2 TIP3 8780 -7.773 -4.716 -12.763 1.00 0.00 WT1 ATOM 1756 H1 TIP3 8780 -8.664 -4.968 -12.502 1.00 0.00 WT1 ATOM 1757 H2 TIP3 8780 -7.322 -5.040 -11.986 1.00 0.00 WT1 ATOM 1758 OH2 TIP3 8801 -2.195 2.875 -3.594 1.00 0.00 WT1 ATOM 1759 H1 TIP3 8801 -2.053 1.954 -3.378 1.00 0.00 WT1 ATOM 1760 H2 TIP3 8801 -2.674 2.739 -4.427 1.00 0.00 WT1 ATOM 1761 OH2 TIP3 8822 -9.649 -6.279 -0.840 1.00 0.00 WT1 ATOM 1762 H1 TIP3 8822 -10.251 -5.565 -1.030 1.00 0.00 WT1 ATOM 1763 H2 TIP3 8822 -10.014 -6.988 -1.526 1.00 0.00 WT1 ATOM 1764 OH2 TIP3 8829 -9.897 -3.430 -5.906 1.00 0.00 WT1 ATOM 1765 H1 TIP3 8829 -9.878 -4.109 -6.635 1.00 0.00 WT1 ATOM 1766 H2 TIP3 8829 -9.155 -2.862 -6.099 1.00 0.00 WT1 ATOM 1767 OH2 TIP3 8843 -3.639 -12.395 -9.601 1.00 0.00 WT1 ATOM 1768 H1 TIP3 8843 -3.575 -12.476 -10.576 1.00 0.00 WT1 ATOM 1769 H2 TIP3 8843 -4.583 -12.581 -9.549 1.00 0.00 WT1 ATOM 1770 OH2 TIP3 8845 -10.078 -5.735 -8.001 1.00 0.00 WT1 ATOM 1771 H1 TIP3 8845 -10.010 -5.713 -8.942 1.00 0.00 WT1 ATOM 1772 H2 TIP3 8845 -10.853 -6.266 -7.777 1.00 0.00 WT1 ATOM 1773 OH2 TIP3 8852 2.035 -3.360 12.318 1.00 0.00 WT1 ATOM 1774 H1 TIP3 8852 2.786 -2.927 12.750 1.00 0.00 WT1 ATOM 1775 H2 TIP3 8852 2.375 -3.841 11.580 1.00 0.00 WT1 ATOM 1776 OH2 TIP3 8865 0.304 9.527 -8.252 1.00 0.00 WT1 ATOM 1777 H1 TIP3 8865 -0.336 9.096 -8.894 1.00 0.00 WT1 ATOM 1778 H2 TIP3 8865 -0.006 9.104 -7.385 1.00 0.00 WT1 ATOM 1779 OH2 TIP3 8869 -5.932 -7.060 -1.622 1.00 0.00 WT1 ATOM 1780 H1 TIP3 8869 -6.707 -7.482 -2.112 1.00 0.00 WT1 ATOM 1781 H2 TIP3 8869 -5.647 -7.829 -1.060 1.00 0.00 WT1 ATOM 1782 OH2 TIP3 8870 -10.303 -0.402 12.846 1.00 0.00 WT1 ATOM 1783 H1 TIP3 8870 -10.357 0.486 12.536 1.00 0.00 WT1 ATOM 1784 H2 TIP3 8870 -11.193 -0.753 12.702 1.00 0.00 WT1 ATOM 1785 OH2 TIP3 8887 -2.321 8.226 2.991 1.00 0.00 WT1 ATOM 1786 H1 TIP3 8887 -2.513 8.757 2.221 1.00 0.00 WT1 ATOM 1787 H2 TIP3 8887 -1.411 8.525 3.165 1.00 0.00 WT1 ATOM 1788 OH2 TIP3 8895 -5.211 -1.532 9.245 1.00 0.00 WT1 ATOM 1789 H1 TIP3 8895 -5.345 -0.758 9.860 1.00 0.00 WT1 ATOM 1790 H2 TIP3 8895 -5.348 -1.181 8.373 1.00 0.00 WT1 ATOM 1791 OH2 TIP3 8903 5.117 -11.664 -7.294 1.00 0.00 WT1 ATOM 1792 H1 TIP3 8903 5.881 -12.276 -7.201 1.00 0.00 WT1 ATOM 1793 H2 TIP3 8903 4.385 -12.180 -6.930 1.00 0.00 WT1 ATOM 1794 OH2 TIP3 8905 -3.377 1.593 -5.552 1.00 0.00 WT1 ATOM 1795 H1 TIP3 8905 -4.106 1.902 -6.086 1.00 0.00 WT1 ATOM 1796 H2 TIP3 8905 -3.017 0.899 -6.153 1.00 0.00 WT1 ATOM 1797 OH2 TIP3 8926 -0.992 13.170 -7.912 1.00 0.00 WT1 ATOM 1798 H1 TIP3 8926 -0.520 12.467 -8.300 1.00 0.00 WT1 ATOM 1799 H2 TIP3 8926 -0.862 12.943 -6.948 1.00 0.00 WT1 ATOM 1800 OH2 TIP3 8931 -5.544 -1.003 6.463 1.00 0.00 WT1 ATOM 1801 H1 TIP3 8931 -5.564 -0.072 6.418 1.00 0.00 WT1 ATOM 1802 H2 TIP3 8931 -5.322 -1.186 5.539 1.00 0.00 WT1 ATOM 1803 OH2 TIP3 8935 -10.536 -1.241 -2.127 1.00 0.00 WT1 ATOM 1804 H1 TIP3 8935 -9.614 -1.269 -2.505 1.00 0.00 WT1 ATOM 1805 H2 TIP3 8935 -10.946 -0.665 -2.740 1.00 0.00 WT1 ATOM 1806 OH2 TIP3 8949 -2.429 4.372 -10.717 1.00 0.00 WT1 ATOM 1807 H1 TIP3 8949 -3.207 3.971 -10.282 1.00 0.00 WT1 ATOM 1808 H2 TIP3 8949 -2.071 3.607 -11.109 1.00 0.00 WT1 ATOM 1809 OH2 TIP3 8952 -3.618 -3.319 10.537 1.00 0.00 WT1 ATOM 1810 H1 TIP3 8952 -3.115 -2.642 11.034 1.00 0.00 WT1 ATOM 1811 H2 TIP3 8952 -4.243 -2.766 9.989 1.00 0.00 WT1 ATOM 1812 OH2 TIP3 8956 -9.098 -6.299 8.814 1.00 0.00 WT1 ATOM 1813 H1 TIP3 8956 -9.041 -7.239 9.081 1.00 0.00 WT1 ATOM 1814 H2 TIP3 8956 -8.765 -5.866 9.628 1.00 0.00 WT1 ATOM 1815 OH2 TIP3 8970 7.100 10.565 -0.691 1.00 0.00 WT1 ATOM 1816 H1 TIP3 8970 6.839 9.657 -0.667 1.00 0.00 WT1 ATOM 1817 H2 TIP3 8970 7.647 10.731 0.088 1.00 0.00 WT1 ATOM 1818 OH2 TIP3 8973 -7.550 12.499 -7.409 1.00 0.00 WT1 ATOM 1819 H1 TIP3 8973 -7.039 12.056 -8.083 1.00 0.00 WT1 ATOM 1820 H2 TIP3 8973 -7.163 12.238 -6.610 1.00 0.00 WT1 ATOM 1821 OH2 TIP3 8976 -2.279 14.572 -5.070 1.00 0.00 WT1 ATOM 1822 H1 TIP3 8976 -3.002 14.204 -4.468 1.00 0.00 WT1 ATOM 1823 H2 TIP3 8976 -1.449 14.080 -4.865 1.00 0.00 WT1 ATOM 1824 OH2 TIP3 8977 -8.628 3.308 -1.033 1.00 0.00 WT1 ATOM 1825 H1 TIP3 8977 -7.720 3.693 -1.020 1.00 0.00 WT1 ATOM 1826 H2 TIP3 8977 -8.899 3.497 -0.192 1.00 0.00 WT1 ATOM 1827 OH2 TIP3 8988 -8.965 8.068 -8.084 1.00 0.00 WT1 ATOM 1828 H1 TIP3 8988 -9.600 7.282 -8.194 1.00 0.00 WT1 ATOM 1829 H2 TIP3 8988 -8.132 7.658 -7.884 1.00 0.00 WT1 ATOM 1830 OH2 TIP3 9082 -3.055 4.749 -1.559 1.00 0.00 WT1 ATOM 1831 H1 TIP3 9082 -2.856 5.530 -2.158 1.00 0.00 WT1 ATOM 1832 H2 TIP3 9082 -2.877 4.005 -2.205 1.00 0.00 WT1 ATOM 1833 OH2 TIP3 9096 -8.296 1.382 -9.686 1.00 0.00 WT1 ATOM 1834 H1 TIP3 9096 -9.056 1.599 -9.163 1.00 0.00 WT1 ATOM 1835 H2 TIP3 9096 -8.492 0.518 -10.068 1.00 0.00 WT1 ATOM 1836 OH2 TIP3 9226 -2.633 -11.983 -6.728 1.00 0.00 WT1 ATOM 1837 H1 TIP3 9226 -3.283 -12.285 -7.386 1.00 0.00 WT1 ATOM 1838 H2 TIP3 9226 -2.648 -11.014 -6.744 1.00 0.00 WT1 ATOM 1839 OH2 TIP3 9241 -3.924 -2.643 0.736 1.00 0.00 WT1 ATOM 1840 H1 TIP3 9241 -4.580 -3.342 0.998 1.00 0.00 WT1 ATOM 1841 H2 TIP3 9241 -3.092 -3.146 0.773 1.00 0.00 WT1 ATOM 1842 OH2 TIP3 9250 -7.864 -2.328 6.735 1.00 0.00 WT1 ATOM 1843 H1 TIP3 9250 -8.419 -1.860 6.109 1.00 0.00 WT1 ATOM 1844 H2 TIP3 9250 -6.947 -2.176 6.377 1.00 0.00 WT1 END protomol/examples/alanine_dipeptide_water_184x/alanine.psf0100644027616700000500000054665110237151525023417 0ustar pbrenne1dipPSF 1 !NTITLE REMARKS original generated structure x-plor psf file 1844 !NATOM 1 U 1 ALA N NH3 -0.300000 14.0070 0 2 U 1 ALA HT1 HC 0.330000 1.0080 0 3 U 1 ALA HT2 HC 0.330000 1.0080 0 4 U 1 ALA HT3 HC 0.330000 1.0080 0 5 U 1 ALA CA CT1 0.210000 12.0110 0 6 U 1 ALA HA HB 0.100000 1.0080 0 7 U 1 ALA CB CT3 -0.270000 12.0110 0 8 U 1 ALA HB1 HA 0.090000 1.0080 0 9 U 1 ALA HB2 HA 0.090000 1.0080 0 10 U 1 ALA HB3 HA 0.090000 1.0080 0 11 U 1 ALA C C 0.510000 12.0110 0 12 U 1 ALA O O -0.510000 15.9990 0 13 U 2 ALA C CC 0.340000 12.0110 0 14 U 2 ALA OT1 OC -0.670000 15.9990 0 15 U 2 ALA OT2 OC -0.670000 15.9990 0 16 U 2 ALA N NH1 -0.470000 14.0070 0 17 U 2 ALA HN H 0.310000 1.0080 0 18 U 2 ALA CA CT1 0.070000 12.0110 0 19 U 2 ALA HA HB 0.090000 1.0080 0 20 U 2 ALA CB CT3 -0.270000 12.0110 0 21 U 2 ALA HB1 HA 0.090000 1.0080 0 22 U 2 ALA HB2 HA 0.090000 1.0080 0 23 U 2 ALA HB3 HA 0.090000 1.0080 0 24 WT1 5 TIP3 OH2 OT -0.834000 15.9994 0 25 WT1 5 TIP3 H1 HT 0.417000 1.0080 0 26 WT1 5 TIP3 H2 HT 0.417000 1.0080 0 27 WT1 7 TIP3 OH2 OT -0.834000 15.9994 0 28 WT1 7 TIP3 H1 HT 0.417000 1.0080 0 29 WT1 7 TIP3 H2 HT 0.417000 1.0080 0 30 WT1 21 TIP3 OH2 OT -0.834000 15.9994 0 31 WT1 21 TIP3 H1 HT 0.417000 1.0080 0 32 WT1 21 TIP3 H2 HT 0.417000 1.0080 0 33 WT1 29 TIP3 OH2 OT -0.834000 15.9994 0 34 WT1 29 TIP3 H1 HT 0.417000 1.0080 0 35 WT1 29 TIP3 H2 HT 0.417000 1.0080 0 36 WT1 44 TIP3 OH2 OT -0.834000 15.9994 0 37 WT1 44 TIP3 H1 HT 0.417000 1.0080 0 38 WT1 44 TIP3 H2 HT 0.417000 1.0080 0 39 WT1 46 TIP3 OH2 OT -0.834000 15.9994 0 40 WT1 46 TIP3 H1 HT 0.417000 1.0080 0 41 WT1 46 TIP3 H2 HT 0.417000 1.0080 0 42 WT1 47 TIP3 OH2 OT -0.834000 15.9994 0 43 WT1 47 TIP3 H1 HT 0.417000 1.0080 0 44 WT1 47 TIP3 H2 HT 0.417000 1.0080 0 45 WT1 48 TIP3 OH2 OT -0.834000 15.9994 0 46 WT1 48 TIP3 H1 HT 0.417000 1.0080 0 47 WT1 48 TIP3 H2 HT 0.417000 1.0080 0 48 WT1 52 TIP3 OH2 OT -0.834000 15.9994 0 49 WT1 52 TIP3 H1 HT 0.417000 1.0080 0 50 WT1 52 TIP3 H2 HT 0.417000 1.0080 0 51 WT1 64 TIP3 OH2 OT -0.834000 15.9994 0 52 WT1 64 TIP3 H1 HT 0.417000 1.0080 0 53 WT1 64 TIP3 H2 HT 0.417000 1.0080 0 54 WT1 67 TIP3 OH2 OT -0.834000 15.9994 0 55 WT1 67 TIP3 H1 HT 0.417000 1.0080 0 56 WT1 67 TIP3 H2 HT 0.417000 1.0080 0 57 WT1 68 TIP3 OH2 OT -0.834000 15.9994 0 58 WT1 68 TIP3 H1 HT 0.417000 1.0080 0 59 WT1 68 TIP3 H2 HT 0.417000 1.0080 0 60 WT1 87 TIP3 OH2 OT -0.834000 15.9994 0 61 WT1 87 TIP3 H1 HT 0.417000 1.0080 0 62 WT1 87 TIP3 H2 HT 0.417000 1.0080 0 63 WT1 88 TIP3 OH2 OT -0.834000 15.9994 0 64 WT1 88 TIP3 H1 HT 0.417000 1.0080 0 65 WT1 88 TIP3 H2 HT 0.417000 1.0080 0 66 WT1 90 TIP3 OH2 OT -0.834000 15.9994 0 67 WT1 90 TIP3 H1 HT 0.417000 1.0080 0 68 WT1 90 TIP3 H2 HT 0.417000 1.0080 0 69 WT1 94 TIP3 OH2 OT -0.834000 15.9994 0 70 WT1 94 TIP3 H1 HT 0.417000 1.0080 0 71 WT1 94 TIP3 H2 HT 0.417000 1.0080 0 72 WT1 95 TIP3 OH2 OT -0.834000 15.9994 0 73 WT1 95 TIP3 H1 HT 0.417000 1.0080 0 74 WT1 95 TIP3 H2 HT 0.417000 1.0080 0 75 WT1 108 TIP3 OH2 OT -0.834000 15.9994 0 76 WT1 108 TIP3 H1 HT 0.417000 1.0080 0 77 WT1 108 TIP3 H2 HT 0.417000 1.0080 0 78 WT1 111 TIP3 OH2 OT -0.834000 15.9994 0 79 WT1 111 TIP3 H1 HT 0.417000 1.0080 0 80 WT1 111 TIP3 H2 HT 0.417000 1.0080 0 81 WT1 112 TIP3 OH2 OT -0.834000 15.9994 0 82 WT1 112 TIP3 H1 HT 0.417000 1.0080 0 83 WT1 112 TIP3 H2 HT 0.417000 1.0080 0 84 WT1 113 TIP3 OH2 OT -0.834000 15.9994 0 85 WT1 113 TIP3 H1 HT 0.417000 1.0080 0 86 WT1 113 TIP3 H2 HT 0.417000 1.0080 0 87 WT1 115 TIP3 OH2 OT -0.834000 15.9994 0 88 WT1 115 TIP3 H1 HT 0.417000 1.0080 0 89 WT1 115 TIP3 H2 HT 0.417000 1.0080 0 90 WT1 125 TIP3 OH2 OT -0.834000 15.9994 0 91 WT1 125 TIP3 H1 HT 0.417000 1.0080 0 92 WT1 125 TIP3 H2 HT 0.417000 1.0080 0 93 WT1 130 TIP3 OH2 OT -0.834000 15.9994 0 94 WT1 130 TIP3 H1 HT 0.417000 1.0080 0 95 WT1 130 TIP3 H2 HT 0.417000 1.0080 0 96 WT1 133 TIP3 OH2 OT -0.834000 15.9994 0 97 WT1 133 TIP3 H1 HT 0.417000 1.0080 0 98 WT1 133 TIP3 H2 HT 0.417000 1.0080 0 99 WT1 134 TIP3 OH2 OT -0.834000 15.9994 0 100 WT1 134 TIP3 H1 HT 0.417000 1.0080 0 101 WT1 134 TIP3 H2 HT 0.417000 1.0080 0 102 WT1 135 TIP3 OH2 OT -0.834000 15.9994 0 103 WT1 135 TIP3 H1 HT 0.417000 1.0080 0 104 WT1 135 TIP3 H2 HT 0.417000 1.0080 0 105 WT1 145 TIP3 OH2 OT -0.834000 15.9994 0 106 WT1 145 TIP3 H1 HT 0.417000 1.0080 0 107 WT1 145 TIP3 H2 HT 0.417000 1.0080 0 108 WT1 149 TIP3 OH2 OT -0.834000 15.9994 0 109 WT1 149 TIP3 H1 HT 0.417000 1.0080 0 110 WT1 149 TIP3 H2 HT 0.417000 1.0080 0 111 WT1 150 TIP3 OH2 OT -0.834000 15.9994 0 112 WT1 150 TIP3 H1 HT 0.417000 1.0080 0 113 WT1 150 TIP3 H2 HT 0.417000 1.0080 0 114 WT1 152 TIP3 OH2 OT -0.834000 15.9994 0 115 WT1 152 TIP3 H1 HT 0.417000 1.0080 0 116 WT1 152 TIP3 H2 HT 0.417000 1.0080 0 117 WT1 153 TIP3 OH2 OT -0.834000 15.9994 0 118 WT1 153 TIP3 H1 HT 0.417000 1.0080 0 119 WT1 153 TIP3 H2 HT 0.417000 1.0080 0 120 WT1 167 TIP3 OH2 OT -0.834000 15.9994 0 121 WT1 167 TIP3 H1 HT 0.417000 1.0080 0 122 WT1 167 TIP3 H2 HT 0.417000 1.0080 0 123 WT1 239 TIP3 OH2 OT -0.834000 15.9994 0 124 WT1 239 TIP3 H1 HT 0.417000 1.0080 0 125 WT1 239 TIP3 H2 HT 0.417000 1.0080 0 126 WT1 261 TIP3 OH2 OT -0.834000 15.9994 0 127 WT1 261 TIP3 H1 HT 0.417000 1.0080 0 128 WT1 261 TIP3 H2 HT 0.417000 1.0080 0 129 WT1 424 TIP3 OH2 OT -0.834000 15.9994 0 130 WT1 424 TIP3 H1 HT 0.417000 1.0080 0 131 WT1 424 TIP3 H2 HT 0.417000 1.0080 0 132 WT1 450 TIP3 OH2 OT -0.834000 15.9994 0 133 WT1 450 TIP3 H1 HT 0.417000 1.0080 0 134 WT1 450 TIP3 H2 HT 0.417000 1.0080 0 135 WT1 465 TIP3 OH2 OT -0.834000 15.9994 0 136 WT1 465 TIP3 H1 HT 0.417000 1.0080 0 137 WT1 465 TIP3 H2 HT 0.417000 1.0080 0 138 WT1 466 TIP3 OH2 OT -0.834000 15.9994 0 139 WT1 466 TIP3 H1 HT 0.417000 1.0080 0 140 WT1 466 TIP3 H2 HT 0.417000 1.0080 0 141 WT1 484 TIP3 OH2 OT -0.834000 15.9994 0 142 WT1 484 TIP3 H1 HT 0.417000 1.0080 0 143 WT1 484 TIP3 H2 HT 0.417000 1.0080 0 144 WT1 485 TIP3 OH2 OT -0.834000 15.9994 0 145 WT1 485 TIP3 H1 HT 0.417000 1.0080 0 146 WT1 485 TIP3 H2 HT 0.417000 1.0080 0 147 WT1 486 TIP3 OH2 OT -0.834000 15.9994 0 148 WT1 486 TIP3 H1 HT 0.417000 1.0080 0 149 WT1 486 TIP3 H2 HT 0.417000 1.0080 0 150 WT1 489 TIP3 OH2 OT -0.834000 15.9994 0 151 WT1 489 TIP3 H1 HT 0.417000 1.0080 0 152 WT1 489 TIP3 H2 HT 0.417000 1.0080 0 153 WT1 495 TIP3 OH2 OT -0.834000 15.9994 0 154 WT1 495 TIP3 H1 HT 0.417000 1.0080 0 155 WT1 495 TIP3 H2 HT 0.417000 1.0080 0 156 WT1 503 TIP3 OH2 OT -0.834000 15.9994 0 157 WT1 503 TIP3 H1 HT 0.417000 1.0080 0 158 WT1 503 TIP3 H2 HT 0.417000 1.0080 0 159 WT1 506 TIP3 OH2 OT -0.834000 15.9994 0 160 WT1 506 TIP3 H1 HT 0.417000 1.0080 0 161 WT1 506 TIP3 H2 HT 0.417000 1.0080 0 162 WT1 507 TIP3 OH2 OT -0.834000 15.9994 0 163 WT1 507 TIP3 H1 HT 0.417000 1.0080 0 164 WT1 507 TIP3 H2 HT 0.417000 1.0080 0 165 WT1 509 TIP3 OH2 OT -0.834000 15.9994 0 166 WT1 509 TIP3 H1 HT 0.417000 1.0080 0 167 WT1 509 TIP3 H2 HT 0.417000 1.0080 0 168 WT1 511 TIP3 OH2 OT -0.834000 15.9994 0 169 WT1 511 TIP3 H1 HT 0.417000 1.0080 0 170 WT1 511 TIP3 H2 HT 0.417000 1.0080 0 171 WT1 512 TIP3 OH2 OT -0.834000 15.9994 0 172 WT1 512 TIP3 H1 HT 0.417000 1.0080 0 173 WT1 512 TIP3 H2 HT 0.417000 1.0080 0 174 WT1 515 TIP3 OH2 OT -0.834000 15.9994 0 175 WT1 515 TIP3 H1 HT 0.417000 1.0080 0 176 WT1 515 TIP3 H2 HT 0.417000 1.0080 0 177 WT1 517 TIP3 OH2 OT -0.834000 15.9994 0 178 WT1 517 TIP3 H1 HT 0.417000 1.0080 0 179 WT1 517 TIP3 H2 HT 0.417000 1.0080 0 180 WT1 528 TIP3 OH2 OT -0.834000 15.9994 0 181 WT1 528 TIP3 H1 HT 0.417000 1.0080 0 182 WT1 528 TIP3 H2 HT 0.417000 1.0080 0 183 WT1 533 TIP3 OH2 OT -0.834000 15.9994 0 184 WT1 533 TIP3 H1 HT 0.417000 1.0080 0 185 WT1 533 TIP3 H2 HT 0.417000 1.0080 0 186 WT1 534 TIP3 OH2 OT -0.834000 15.9994 0 187 WT1 534 TIP3 H1 HT 0.417000 1.0080 0 188 WT1 534 TIP3 H2 HT 0.417000 1.0080 0 189 WT1 535 TIP3 OH2 OT -0.834000 15.9994 0 190 WT1 535 TIP3 H1 HT 0.417000 1.0080 0 191 WT1 535 TIP3 H2 HT 0.417000 1.0080 0 192 WT1 543 TIP3 OH2 OT -0.834000 15.9994 0 193 WT1 543 TIP3 H1 HT 0.417000 1.0080 0 194 WT1 543 TIP3 H2 HT 0.417000 1.0080 0 195 WT1 549 TIP3 OH2 OT -0.834000 15.9994 0 196 WT1 549 TIP3 H1 HT 0.417000 1.0080 0 197 WT1 549 TIP3 H2 HT 0.417000 1.0080 0 198 WT1 550 TIP3 OH2 OT -0.834000 15.9994 0 199 WT1 550 TIP3 H1 HT 0.417000 1.0080 0 200 WT1 550 TIP3 H2 HT 0.417000 1.0080 0 201 WT1 551 TIP3 OH2 OT -0.834000 15.9994 0 202 WT1 551 TIP3 H1 HT 0.417000 1.0080 0 203 WT1 551 TIP3 H2 HT 0.417000 1.0080 0 204 WT1 554 TIP3 OH2 OT -0.834000 15.9994 0 205 WT1 554 TIP3 H1 HT 0.417000 1.0080 0 206 WT1 554 TIP3 H2 HT 0.417000 1.0080 0 207 WT1 558 TIP3 OH2 OT -0.834000 15.9994 0 208 WT1 558 TIP3 H1 HT 0.417000 1.0080 0 209 WT1 558 TIP3 H2 HT 0.417000 1.0080 0 210 WT1 562 TIP3 OH2 OT -0.834000 15.9994 0 211 WT1 562 TIP3 H1 HT 0.417000 1.0080 0 212 WT1 562 TIP3 H2 HT 0.417000 1.0080 0 213 WT1 568 TIP3 OH2 OT -0.834000 15.9994 0 214 WT1 568 TIP3 H1 HT 0.417000 1.0080 0 215 WT1 568 TIP3 H2 HT 0.417000 1.0080 0 216 WT1 575 TIP3 OH2 OT -0.834000 15.9994 0 217 WT1 575 TIP3 H1 HT 0.417000 1.0080 0 218 WT1 575 TIP3 H2 HT 0.417000 1.0080 0 219 WT1 576 TIP3 OH2 OT -0.834000 15.9994 0 220 WT1 576 TIP3 H1 HT 0.417000 1.0080 0 221 WT1 576 TIP3 H2 HT 0.417000 1.0080 0 222 WT1 584 TIP3 OH2 OT -0.834000 15.9994 0 223 WT1 584 TIP3 H1 HT 0.417000 1.0080 0 224 WT1 584 TIP3 H2 HT 0.417000 1.0080 0 225 WT1 592 TIP3 OH2 OT -0.834000 15.9994 0 226 WT1 592 TIP3 H1 HT 0.417000 1.0080 0 227 WT1 592 TIP3 H2 HT 0.417000 1.0080 0 228 WT1 593 TIP3 OH2 OT -0.834000 15.9994 0 229 WT1 593 TIP3 H1 HT 0.417000 1.0080 0 230 WT1 593 TIP3 H2 HT 0.417000 1.0080 0 231 WT1 594 TIP3 OH2 OT -0.834000 15.9994 0 232 WT1 594 TIP3 H1 HT 0.417000 1.0080 0 233 WT1 594 TIP3 H2 HT 0.417000 1.0080 0 234 WT1 595 TIP3 OH2 OT -0.834000 15.9994 0 235 WT1 595 TIP3 H1 HT 0.417000 1.0080 0 236 WT1 595 TIP3 H2 HT 0.417000 1.0080 0 237 WT1 612 TIP3 OH2 OT -0.834000 15.9994 0 238 WT1 612 TIP3 H1 HT 0.417000 1.0080 0 239 WT1 612 TIP3 H2 HT 0.417000 1.0080 0 240 WT1 613 TIP3 OH2 OT -0.834000 15.9994 0 241 WT1 613 TIP3 H1 HT 0.417000 1.0080 0 242 WT1 613 TIP3 H2 HT 0.417000 1.0080 0 243 WT1 632 TIP3 OH2 OT -0.834000 15.9994 0 244 WT1 632 TIP3 H1 HT 0.417000 1.0080 0 245 WT1 632 TIP3 H2 HT 0.417000 1.0080 0 246 WT1 634 TIP3 OH2 OT -0.834000 15.9994 0 247 WT1 634 TIP3 H1 HT 0.417000 1.0080 0 248 WT1 634 TIP3 H2 HT 0.417000 1.0080 0 249 WT1 635 TIP3 OH2 OT -0.834000 15.9994 0 250 WT1 635 TIP3 H1 HT 0.417000 1.0080 0 251 WT1 635 TIP3 H2 HT 0.417000 1.0080 0 252 WT1 638 TIP3 OH2 OT -0.834000 15.9994 0 253 WT1 638 TIP3 H1 HT 0.417000 1.0080 0 254 WT1 638 TIP3 H2 HT 0.417000 1.0080 0 255 WT1 640 TIP3 OH2 OT -0.834000 15.9994 0 256 WT1 640 TIP3 H1 HT 0.417000 1.0080 0 257 WT1 640 TIP3 H2 HT 0.417000 1.0080 0 258 WT1 659 TIP3 OH2 OT -0.834000 15.9994 0 259 WT1 659 TIP3 H1 HT 0.417000 1.0080 0 260 WT1 659 TIP3 H2 HT 0.417000 1.0080 0 261 WT1 822 TIP3 OH2 OT -0.834000 15.9994 0 262 WT1 822 TIP3 H1 HT 0.417000 1.0080 0 263 WT1 822 TIP3 H2 HT 0.417000 1.0080 0 264 WT1 849 TIP3 OH2 OT -0.834000 15.9994 0 265 WT1 849 TIP3 H1 HT 0.417000 1.0080 0 266 WT1 849 TIP3 H2 HT 0.417000 1.0080 0 267 WT1 867 TIP3 OH2 OT -0.834000 15.9994 0 268 WT1 867 TIP3 H1 HT 0.417000 1.0080 0 269 WT1 867 TIP3 H2 HT 0.417000 1.0080 0 270 WT1 887 TIP3 OH2 OT -0.834000 15.9994 0 271 WT1 887 TIP3 H1 HT 0.417000 1.0080 0 272 WT1 887 TIP3 H2 HT 0.417000 1.0080 0 273 WT1 889 TIP3 OH2 OT -0.834000 15.9994 0 274 WT1 889 TIP3 H1 HT 0.417000 1.0080 0 275 WT1 889 TIP3 H2 HT 0.417000 1.0080 0 276 WT1 891 TIP3 OH2 OT -0.834000 15.9994 0 277 WT1 891 TIP3 H1 HT 0.417000 1.0080 0 278 WT1 891 TIP3 H2 HT 0.417000 1.0080 0 279 WT1 906 TIP3 OH2 OT -0.834000 15.9994 0 280 WT1 906 TIP3 H1 HT 0.417000 1.0080 0 281 WT1 906 TIP3 H2 HT 0.417000 1.0080 0 282 WT1 907 TIP3 OH2 OT -0.834000 15.9994 0 283 WT1 907 TIP3 H1 HT 0.417000 1.0080 0 284 WT1 907 TIP3 H2 HT 0.417000 1.0080 0 285 WT1 908 TIP3 OH2 OT -0.834000 15.9994 0 286 WT1 908 TIP3 H1 HT 0.417000 1.0080 0 287 WT1 908 TIP3 H2 HT 0.417000 1.0080 0 288 WT1 912 TIP3 OH2 OT -0.834000 15.9994 0 289 WT1 912 TIP3 H1 HT 0.417000 1.0080 0 290 WT1 912 TIP3 H2 HT 0.417000 1.0080 0 291 WT1 924 TIP3 OH2 OT -0.834000 15.9994 0 292 WT1 924 TIP3 H1 HT 0.417000 1.0080 0 293 WT1 924 TIP3 H2 HT 0.417000 1.0080 0 294 WT1 927 TIP3 OH2 OT -0.834000 15.9994 0 295 WT1 927 TIP3 H1 HT 0.417000 1.0080 0 296 WT1 927 TIP3 H2 HT 0.417000 1.0080 0 297 WT1 928 TIP3 OH2 OT -0.834000 15.9994 0 298 WT1 928 TIP3 H1 HT 0.417000 1.0080 0 299 WT1 928 TIP3 H2 HT 0.417000 1.0080 0 300 WT1 929 TIP3 OH2 OT -0.834000 15.9994 0 301 WT1 929 TIP3 H1 HT 0.417000 1.0080 0 302 WT1 929 TIP3 H2 HT 0.417000 1.0080 0 303 WT1 930 TIP3 OH2 OT -0.834000 15.9994 0 304 WT1 930 TIP3 H1 HT 0.417000 1.0080 0 305 WT1 930 TIP3 H2 HT 0.417000 1.0080 0 306 WT1 932 TIP3 OH2 OT -0.834000 15.9994 0 307 WT1 932 TIP3 H1 HT 0.417000 1.0080 0 308 WT1 932 TIP3 H2 HT 0.417000 1.0080 0 309 WT1 933 TIP3 OH2 OT -0.834000 15.9994 0 310 WT1 933 TIP3 H1 HT 0.417000 1.0080 0 311 WT1 933 TIP3 H2 HT 0.417000 1.0080 0 312 WT1 942 TIP3 OH2 OT -0.834000 15.9994 0 313 WT1 942 TIP3 H1 HT 0.417000 1.0080 0 314 WT1 942 TIP3 H2 HT 0.417000 1.0080 0 315 WT1 947 TIP3 OH2 OT -0.834000 15.9994 0 316 WT1 947 TIP3 H1 HT 0.417000 1.0080 0 317 WT1 947 TIP3 H2 HT 0.417000 1.0080 0 318 WT1 948 TIP3 OH2 OT -0.834000 15.9994 0 319 WT1 948 TIP3 H1 HT 0.417000 1.0080 0 320 WT1 948 TIP3 H2 HT 0.417000 1.0080 0 321 WT1 949 TIP3 OH2 OT -0.834000 15.9994 0 322 WT1 949 TIP3 H1 HT 0.417000 1.0080 0 323 WT1 949 TIP3 H2 HT 0.417000 1.0080 0 324 WT1 950 TIP3 OH2 OT -0.834000 15.9994 0 325 WT1 950 TIP3 H1 HT 0.417000 1.0080 0 326 WT1 950 TIP3 H2 HT 0.417000 1.0080 0 327 WT1 953 TIP3 OH2 OT -0.834000 15.9994 0 328 WT1 953 TIP3 H1 HT 0.417000 1.0080 0 329 WT1 953 TIP3 H2 HT 0.417000 1.0080 0 330 WT1 964 TIP3 OH2 OT -0.834000 15.9994 0 331 WT1 964 TIP3 H1 HT 0.417000 1.0080 0 332 WT1 964 TIP3 H2 HT 0.417000 1.0080 0 333 WT1 970 TIP3 OH2 OT -0.834000 15.9994 0 334 WT1 970 TIP3 H1 HT 0.417000 1.0080 0 335 WT1 970 TIP3 H2 HT 0.417000 1.0080 0 336 WT1 973 TIP3 OH2 OT -0.834000 15.9994 0 337 WT1 973 TIP3 H1 HT 0.417000 1.0080 0 338 WT1 973 TIP3 H2 HT 0.417000 1.0080 0 339 WT1 974 TIP3 OH2 OT -0.834000 15.9994 0 340 WT1 974 TIP3 H1 HT 0.417000 1.0080 0 341 WT1 974 TIP3 H2 HT 0.417000 1.0080 0 342 WT1 975 TIP3 OH2 OT -0.834000 15.9994 0 343 WT1 975 TIP3 H1 HT 0.417000 1.0080 0 344 WT1 975 TIP3 H2 HT 0.417000 1.0080 0 345 WT1 977 TIP3 OH2 OT -0.834000 15.9994 0 346 WT1 977 TIP3 H1 HT 0.417000 1.0080 0 347 WT1 977 TIP3 H2 HT 0.417000 1.0080 0 348 WT1 988 TIP3 OH2 OT -0.834000 15.9994 0 349 WT1 988 TIP3 H1 HT 0.417000 1.0080 0 350 WT1 988 TIP3 H2 HT 0.417000 1.0080 0 351 WT1 992 TIP3 OH2 OT -0.834000 15.9994 0 352 WT1 992 TIP3 H1 HT 0.417000 1.0080 0 353 WT1 992 TIP3 H2 HT 0.417000 1.0080 0 354 WT1 995 TIP3 OH2 OT -0.834000 15.9994 0 355 WT1 995 TIP3 H1 HT 0.417000 1.0080 0 356 WT1 995 TIP3 H2 HT 0.417000 1.0080 0 357 WT1 996 TIP3 OH2 OT -0.834000 15.9994 0 358 WT1 996 TIP3 H1 HT 0.417000 1.0080 0 359 WT1 996 TIP3 H2 HT 0.417000 1.0080 0 360 WT1 1007 TIP3 OH2 OT -0.834000 15.9994 0 361 WT1 1007 TIP3 H1 HT 0.417000 1.0080 0 362 WT1 1007 TIP3 H2 HT 0.417000 1.0080 0 363 WT1 1011 TIP3 OH2 OT -0.834000 15.9994 0 364 WT1 1011 TIP3 H1 HT 0.417000 1.0080 0 365 WT1 1011 TIP3 H2 HT 0.417000 1.0080 0 366 WT1 1013 TIP3 OH2 OT -0.834000 15.9994 0 367 WT1 1013 TIP3 H1 HT 0.417000 1.0080 0 368 WT1 1013 TIP3 H2 HT 0.417000 1.0080 0 369 WT1 1014 TIP3 OH2 OT -0.834000 15.9994 0 370 WT1 1014 TIP3 H1 HT 0.417000 1.0080 0 371 WT1 1014 TIP3 H2 HT 0.417000 1.0080 0 372 WT1 1015 TIP3 OH2 OT -0.834000 15.9994 0 373 WT1 1015 TIP3 H1 HT 0.417000 1.0080 0 374 WT1 1015 TIP3 H2 HT 0.417000 1.0080 0 375 WT1 1017 TIP3 OH2 OT -0.834000 15.9994 0 376 WT1 1017 TIP3 H1 HT 0.417000 1.0080 0 377 WT1 1017 TIP3 H2 HT 0.417000 1.0080 0 378 WT1 1018 TIP3 OH2 OT -0.834000 15.9994 0 379 WT1 1018 TIP3 H1 HT 0.417000 1.0080 0 380 WT1 1018 TIP3 H2 HT 0.417000 1.0080 0 381 WT1 1027 TIP3 OH2 OT -0.834000 15.9994 0 382 WT1 1027 TIP3 H1 HT 0.417000 1.0080 0 383 WT1 1027 TIP3 H2 HT 0.417000 1.0080 0 384 WT1 1032 TIP3 OH2 OT -0.834000 15.9994 0 385 WT1 1032 TIP3 H1 HT 0.417000 1.0080 0 386 WT1 1032 TIP3 H2 HT 0.417000 1.0080 0 387 WT1 1033 TIP3 OH2 OT -0.834000 15.9994 0 388 WT1 1033 TIP3 H1 HT 0.417000 1.0080 0 389 WT1 1033 TIP3 H2 HT 0.417000 1.0080 0 390 WT1 1040 TIP3 OH2 OT -0.834000 15.9994 0 391 WT1 1040 TIP3 H1 HT 0.417000 1.0080 0 392 WT1 1040 TIP3 H2 HT 0.417000 1.0080 0 393 WT1 1053 TIP3 OH2 OT -0.834000 15.9994 0 394 WT1 1053 TIP3 H1 HT 0.417000 1.0080 0 395 WT1 1053 TIP3 H2 HT 0.417000 1.0080 0 396 WT1 1059 TIP3 OH2 OT -0.834000 15.9994 0 397 WT1 1059 TIP3 H1 HT 0.417000 1.0080 0 398 WT1 1059 TIP3 H2 HT 0.417000 1.0080 0 399 WT1 1112 TIP3 OH2 OT -0.834000 15.9994 0 400 WT1 1112 TIP3 H1 HT 0.417000 1.0080 0 401 WT1 1112 TIP3 H2 HT 0.417000 1.0080 0 402 WT1 1115 TIP3 OH2 OT -0.834000 15.9994 0 403 WT1 1115 TIP3 H1 HT 0.417000 1.0080 0 404 WT1 1115 TIP3 H2 HT 0.417000 1.0080 0 405 WT1 1117 TIP3 OH2 OT -0.834000 15.9994 0 406 WT1 1117 TIP3 H1 HT 0.417000 1.0080 0 407 WT1 1117 TIP3 H2 HT 0.417000 1.0080 0 408 WT1 1272 TIP3 OH2 OT -0.834000 15.9994 0 409 WT1 1272 TIP3 H1 HT 0.417000 1.0080 0 410 WT1 1272 TIP3 H2 HT 0.417000 1.0080 0 411 WT1 1301 TIP3 OH2 OT -0.834000 15.9994 0 412 WT1 1301 TIP3 H1 HT 0.417000 1.0080 0 413 WT1 1301 TIP3 H2 HT 0.417000 1.0080 0 414 WT1 1307 TIP3 OH2 OT -0.834000 15.9994 0 415 WT1 1307 TIP3 H1 HT 0.417000 1.0080 0 416 WT1 1307 TIP3 H2 HT 0.417000 1.0080 0 417 WT1 1308 TIP3 OH2 OT -0.834000 15.9994 0 418 WT1 1308 TIP3 H1 HT 0.417000 1.0080 0 419 WT1 1308 TIP3 H2 HT 0.417000 1.0080 0 420 WT1 1326 TIP3 OH2 OT -0.834000 15.9994 0 421 WT1 1326 TIP3 H1 HT 0.417000 1.0080 0 422 WT1 1326 TIP3 H2 HT 0.417000 1.0080 0 423 WT1 1327 TIP3 OH2 OT -0.834000 15.9994 0 424 WT1 1327 TIP3 H1 HT 0.417000 1.0080 0 425 WT1 1327 TIP3 H2 HT 0.417000 1.0080 0 426 WT1 1328 TIP3 OH2 OT -0.834000 15.9994 0 427 WT1 1328 TIP3 H1 HT 0.417000 1.0080 0 428 WT1 1328 TIP3 H2 HT 0.417000 1.0080 0 429 WT1 1329 TIP3 OH2 OT -0.834000 15.9994 0 430 WT1 1329 TIP3 H1 HT 0.417000 1.0080 0 431 WT1 1329 TIP3 H2 HT 0.417000 1.0080 0 432 WT1 1330 TIP3 OH2 OT -0.834000 15.9994 0 433 WT1 1330 TIP3 H1 HT 0.417000 1.0080 0 434 WT1 1330 TIP3 H2 HT 0.417000 1.0080 0 435 WT1 1333 TIP3 OH2 OT -0.834000 15.9994 0 436 WT1 1333 TIP3 H1 HT 0.417000 1.0080 0 437 WT1 1333 TIP3 H2 HT 0.417000 1.0080 0 438 WT1 1344 TIP3 OH2 OT -0.834000 15.9994 0 439 WT1 1344 TIP3 H1 HT 0.417000 1.0080 0 440 WT1 1344 TIP3 H2 HT 0.417000 1.0080 0 441 WT1 1346 TIP3 OH2 OT -0.834000 15.9994 0 442 WT1 1346 TIP3 H1 HT 0.417000 1.0080 0 443 WT1 1346 TIP3 H2 HT 0.417000 1.0080 0 444 WT1 1347 TIP3 OH2 OT -0.834000 15.9994 0 445 WT1 1347 TIP3 H1 HT 0.417000 1.0080 0 446 WT1 1347 TIP3 H2 HT 0.417000 1.0080 0 447 WT1 1352 TIP3 OH2 OT -0.834000 15.9994 0 448 WT1 1352 TIP3 H1 HT 0.417000 1.0080 0 449 WT1 1352 TIP3 H2 HT 0.417000 1.0080 0 450 WT1 1354 TIP3 OH2 OT -0.834000 15.9994 0 451 WT1 1354 TIP3 H1 HT 0.417000 1.0080 0 452 WT1 1354 TIP3 H2 HT 0.417000 1.0080 0 453 WT1 1355 TIP3 OH2 OT -0.834000 15.9994 0 454 WT1 1355 TIP3 H1 HT 0.417000 1.0080 0 455 WT1 1355 TIP3 H2 HT 0.417000 1.0080 0 456 WT1 1367 TIP3 OH2 OT -0.834000 15.9994 0 457 WT1 1367 TIP3 H1 HT 0.417000 1.0080 0 458 WT1 1367 TIP3 H2 HT 0.417000 1.0080 0 459 WT1 1368 TIP3 OH2 OT -0.834000 15.9994 0 460 WT1 1368 TIP3 H1 HT 0.417000 1.0080 0 461 WT1 1368 TIP3 H2 HT 0.417000 1.0080 0 462 WT1 1370 TIP3 OH2 OT -0.834000 15.9994 0 463 WT1 1370 TIP3 H1 HT 0.417000 1.0080 0 464 WT1 1370 TIP3 H2 HT 0.417000 1.0080 0 465 WT1 1371 TIP3 OH2 OT -0.834000 15.9994 0 466 WT1 1371 TIP3 H1 HT 0.417000 1.0080 0 467 WT1 1371 TIP3 H2 HT 0.417000 1.0080 0 468 WT1 1372 TIP3 OH2 OT -0.834000 15.9994 0 469 WT1 1372 TIP3 H1 HT 0.417000 1.0080 0 470 WT1 1372 TIP3 H2 HT 0.417000 1.0080 0 471 WT1 1374 TIP3 OH2 OT -0.834000 15.9994 0 472 WT1 1374 TIP3 H1 HT 0.417000 1.0080 0 473 WT1 1374 TIP3 H2 HT 0.417000 1.0080 0 474 WT1 1376 TIP3 OH2 OT -0.834000 15.9994 0 475 WT1 1376 TIP3 H1 HT 0.417000 1.0080 0 476 WT1 1376 TIP3 H2 HT 0.417000 1.0080 0 477 WT1 1387 TIP3 OH2 OT -0.834000 15.9994 0 478 WT1 1387 TIP3 H1 HT 0.417000 1.0080 0 479 WT1 1387 TIP3 H2 HT 0.417000 1.0080 0 480 WT1 1388 TIP3 OH2 OT -0.834000 15.9994 0 481 WT1 1388 TIP3 H1 HT 0.417000 1.0080 0 482 WT1 1388 TIP3 H2 HT 0.417000 1.0080 0 483 WT1 1407 TIP3 OH2 OT -0.834000 15.9994 0 484 WT1 1407 TIP3 H1 HT 0.417000 1.0080 0 485 WT1 1407 TIP3 H2 HT 0.417000 1.0080 0 486 WT1 1408 TIP3 OH2 OT -0.834000 15.9994 0 487 WT1 1408 TIP3 H1 HT 0.417000 1.0080 0 488 WT1 1408 TIP3 H2 HT 0.417000 1.0080 0 489 WT1 1411 TIP3 OH2 OT -0.834000 15.9994 0 490 WT1 1411 TIP3 H1 HT 0.417000 1.0080 0 491 WT1 1411 TIP3 H2 HT 0.417000 1.0080 0 492 WT1 1414 TIP3 OH2 OT -0.834000 15.9994 0 493 WT1 1414 TIP3 H1 HT 0.417000 1.0080 0 494 WT1 1414 TIP3 H2 HT 0.417000 1.0080 0 495 WT1 1415 TIP3 OH2 OT -0.834000 15.9994 0 496 WT1 1415 TIP3 H1 HT 0.417000 1.0080 0 497 WT1 1415 TIP3 H2 HT 0.417000 1.0080 0 498 WT1 1418 TIP3 OH2 OT -0.834000 15.9994 0 499 WT1 1418 TIP3 H1 HT 0.417000 1.0080 0 500 WT1 1418 TIP3 H2 HT 0.417000 1.0080 0 501 WT1 1428 TIP3 OH2 OT -0.834000 15.9994 0 502 WT1 1428 TIP3 H1 HT 0.417000 1.0080 0 503 WT1 1428 TIP3 H2 HT 0.417000 1.0080 0 504 WT1 1429 TIP3 OH2 OT -0.834000 15.9994 0 505 WT1 1429 TIP3 H1 HT 0.417000 1.0080 0 506 WT1 1429 TIP3 H2 HT 0.417000 1.0080 0 507 WT1 1430 TIP3 OH2 OT -0.834000 15.9994 0 508 WT1 1430 TIP3 H1 HT 0.417000 1.0080 0 509 WT1 1430 TIP3 H2 HT 0.417000 1.0080 0 510 WT1 1433 TIP3 OH2 OT -0.834000 15.9994 0 511 WT1 1433 TIP3 H1 HT 0.417000 1.0080 0 512 WT1 1433 TIP3 H2 HT 0.417000 1.0080 0 513 WT1 1435 TIP3 OH2 OT -0.834000 15.9994 0 514 WT1 1435 TIP3 H1 HT 0.417000 1.0080 0 515 WT1 1435 TIP3 H2 HT 0.417000 1.0080 0 516 WT1 1440 TIP3 OH2 OT -0.834000 15.9994 0 517 WT1 1440 TIP3 H1 HT 0.417000 1.0080 0 518 WT1 1440 TIP3 H2 HT 0.417000 1.0080 0 519 WT1 1442 TIP3 OH2 OT -0.834000 15.9994 0 520 WT1 1442 TIP3 H1 HT 0.417000 1.0080 0 521 WT1 1442 TIP3 H2 HT 0.417000 1.0080 0 522 WT1 1450 TIP3 OH2 OT -0.834000 15.9994 0 523 WT1 1450 TIP3 H1 HT 0.417000 1.0080 0 524 WT1 1450 TIP3 H2 HT 0.417000 1.0080 0 525 WT1 1451 TIP3 OH2 OT -0.834000 15.9994 0 526 WT1 1451 TIP3 H1 HT 0.417000 1.0080 0 527 WT1 1451 TIP3 H2 HT 0.417000 1.0080 0 528 WT1 1454 TIP3 OH2 OT -0.834000 15.9994 0 529 WT1 1454 TIP3 H1 HT 0.417000 1.0080 0 530 WT1 1454 TIP3 H2 HT 0.417000 1.0080 0 531 WT1 1455 TIP3 OH2 OT -0.834000 15.9994 0 532 WT1 1455 TIP3 H1 HT 0.417000 1.0080 0 533 WT1 1455 TIP3 H2 HT 0.417000 1.0080 0 534 WT1 1458 TIP3 OH2 OT -0.834000 15.9994 0 535 WT1 1458 TIP3 H1 HT 0.417000 1.0080 0 536 WT1 1458 TIP3 H2 HT 0.417000 1.0080 0 537 WT1 1471 TIP3 OH2 OT -0.834000 15.9994 0 538 WT1 1471 TIP3 H1 HT 0.417000 1.0080 0 539 WT1 1471 TIP3 H2 HT 0.417000 1.0080 0 540 WT1 1474 TIP3 OH2 OT -0.834000 15.9994 0 541 WT1 1474 TIP3 H1 HT 0.417000 1.0080 0 542 WT1 1474 TIP3 H2 HT 0.417000 1.0080 0 543 WT1 1475 TIP3 OH2 OT -0.834000 15.9994 0 544 WT1 1475 TIP3 H1 HT 0.417000 1.0080 0 545 WT1 1475 TIP3 H2 HT 0.417000 1.0080 0 546 WT1 1493 TIP3 OH2 OT -0.834000 15.9994 0 547 WT1 1493 TIP3 H1 HT 0.417000 1.0080 0 548 WT1 1493 TIP3 H2 HT 0.417000 1.0080 0 549 WT1 1494 TIP3 OH2 OT -0.834000 15.9994 0 550 WT1 1494 TIP3 H1 HT 0.417000 1.0080 0 551 WT1 1494 TIP3 H2 HT 0.417000 1.0080 0 552 WT1 1497 TIP3 OH2 OT -0.834000 15.9994 0 553 WT1 1497 TIP3 H1 HT 0.417000 1.0080 0 554 WT1 1497 TIP3 H2 HT 0.417000 1.0080 0 555 WT1 1499 TIP3 OH2 OT -0.834000 15.9994 0 556 WT1 1499 TIP3 H1 HT 0.417000 1.0080 0 557 WT1 1499 TIP3 H2 HT 0.417000 1.0080 0 558 WT1 1512 TIP3 OH2 OT -0.834000 15.9994 0 559 WT1 1512 TIP3 H1 HT 0.417000 1.0080 0 560 WT1 1512 TIP3 H2 HT 0.417000 1.0080 0 561 WT1 1515 TIP3 OH2 OT -0.834000 15.9994 0 562 WT1 1515 TIP3 H1 HT 0.417000 1.0080 0 563 WT1 1515 TIP3 H2 HT 0.417000 1.0080 0 564 WT1 1532 TIP3 OH2 OT -0.834000 15.9994 0 565 WT1 1532 TIP3 H1 HT 0.417000 1.0080 0 566 WT1 1532 TIP3 H2 HT 0.417000 1.0080 0 567 WT1 1542 TIP3 OH2 OT -0.834000 15.9994 0 568 WT1 1542 TIP3 H1 HT 0.417000 1.0080 0 569 WT1 1542 TIP3 H2 HT 0.417000 1.0080 0 570 WT1 1559 TIP3 OH2 OT -0.834000 15.9994 0 571 WT1 1559 TIP3 H1 HT 0.417000 1.0080 0 572 WT1 1559 TIP3 H2 HT 0.417000 1.0080 0 573 WT1 1611 TIP3 OH2 OT -0.834000 15.9994 0 574 WT1 1611 TIP3 H1 HT 0.417000 1.0080 0 575 WT1 1611 TIP3 H2 HT 0.417000 1.0080 0 576 WT1 1707 TIP3 OH2 OT -0.834000 15.9994 0 577 WT1 1707 TIP3 H1 HT 0.417000 1.0080 0 578 WT1 1707 TIP3 H2 HT 0.417000 1.0080 0 579 WT1 1723 TIP3 OH2 OT -0.834000 15.9994 0 580 WT1 1723 TIP3 H1 HT 0.417000 1.0080 0 581 WT1 1723 TIP3 H2 HT 0.417000 1.0080 0 582 WT1 1725 TIP3 OH2 OT -0.834000 15.9994 0 583 WT1 1725 TIP3 H1 HT 0.417000 1.0080 0 584 WT1 1725 TIP3 H2 HT 0.417000 1.0080 0 585 WT1 1727 TIP3 OH2 OT -0.834000 15.9994 0 586 WT1 1727 TIP3 H1 HT 0.417000 1.0080 0 587 WT1 1727 TIP3 H2 HT 0.417000 1.0080 0 588 WT1 1729 TIP3 OH2 OT -0.834000 15.9994 0 589 WT1 1729 TIP3 H1 HT 0.417000 1.0080 0 590 WT1 1729 TIP3 H2 HT 0.417000 1.0080 0 591 WT1 1730 TIP3 OH2 OT -0.834000 15.9994 0 592 WT1 1730 TIP3 H1 HT 0.417000 1.0080 0 593 WT1 1730 TIP3 H2 HT 0.417000 1.0080 0 594 WT1 1733 TIP3 OH2 OT -0.834000 15.9994 0 595 WT1 1733 TIP3 H1 HT 0.417000 1.0080 0 596 WT1 1733 TIP3 H2 HT 0.417000 1.0080 0 597 WT1 1744 TIP3 OH2 OT -0.834000 15.9994 0 598 WT1 1744 TIP3 H1 HT 0.417000 1.0080 0 599 WT1 1744 TIP3 H2 HT 0.417000 1.0080 0 600 WT1 1746 TIP3 OH2 OT -0.834000 15.9994 0 601 WT1 1746 TIP3 H1 HT 0.417000 1.0080 0 602 WT1 1746 TIP3 H2 HT 0.417000 1.0080 0 603 WT1 1750 TIP3 OH2 OT -0.834000 15.9994 0 604 WT1 1750 TIP3 H1 HT 0.417000 1.0080 0 605 WT1 1750 TIP3 H2 HT 0.417000 1.0080 0 606 WT1 1752 TIP3 OH2 OT -0.834000 15.9994 0 607 WT1 1752 TIP3 H1 HT 0.417000 1.0080 0 608 WT1 1752 TIP3 H2 HT 0.417000 1.0080 0 609 WT1 1764 TIP3 OH2 OT -0.834000 15.9994 0 610 WT1 1764 TIP3 H1 HT 0.417000 1.0080 0 611 WT1 1764 TIP3 H2 HT 0.417000 1.0080 0 612 WT1 1771 TIP3 OH2 OT -0.834000 15.9994 0 613 WT1 1771 TIP3 H1 HT 0.417000 1.0080 0 614 WT1 1771 TIP3 H2 HT 0.417000 1.0080 0 615 WT1 1773 TIP3 OH2 OT -0.834000 15.9994 0 616 WT1 1773 TIP3 H1 HT 0.417000 1.0080 0 617 WT1 1773 TIP3 H2 HT 0.417000 1.0080 0 618 WT1 1788 TIP3 OH2 OT -0.834000 15.9994 0 619 WT1 1788 TIP3 H1 HT 0.417000 1.0080 0 620 WT1 1788 TIP3 H2 HT 0.417000 1.0080 0 621 WT1 1789 TIP3 OH2 OT -0.834000 15.9994 0 622 WT1 1789 TIP3 H1 HT 0.417000 1.0080 0 623 WT1 1789 TIP3 H2 HT 0.417000 1.0080 0 624 WT1 1790 TIP3 OH2 OT -0.834000 15.9994 0 625 WT1 1790 TIP3 H1 HT 0.417000 1.0080 0 626 WT1 1790 TIP3 H2 HT 0.417000 1.0080 0 627 WT1 1794 TIP3 OH2 OT -0.834000 15.9994 0 628 WT1 1794 TIP3 H1 HT 0.417000 1.0080 0 629 WT1 1794 TIP3 H2 HT 0.417000 1.0080 0 630 WT1 1795 TIP3 OH2 OT -0.834000 15.9994 0 631 WT1 1795 TIP3 H1 HT 0.417000 1.0080 0 632 WT1 1795 TIP3 H2 HT 0.417000 1.0080 0 633 WT1 1796 TIP3 OH2 OT -0.834000 15.9994 0 634 WT1 1796 TIP3 H1 HT 0.417000 1.0080 0 635 WT1 1796 TIP3 H2 HT 0.417000 1.0080 0 636 WT1 1808 TIP3 OH2 OT -0.834000 15.9994 0 637 WT1 1808 TIP3 H1 HT 0.417000 1.0080 0 638 WT1 1808 TIP3 H2 HT 0.417000 1.0080 0 639 WT1 1813 TIP3 OH2 OT -0.834000 15.9994 0 640 WT1 1813 TIP3 H1 HT 0.417000 1.0080 0 641 WT1 1813 TIP3 H2 HT 0.417000 1.0080 0 642 WT1 1814 TIP3 OH2 OT -0.834000 15.9994 0 643 WT1 1814 TIP3 H1 HT 0.417000 1.0080 0 644 WT1 1814 TIP3 H2 HT 0.417000 1.0080 0 645 WT1 1816 TIP3 OH2 OT -0.834000 15.9994 0 646 WT1 1816 TIP3 H1 HT 0.417000 1.0080 0 647 WT1 1816 TIP3 H2 HT 0.417000 1.0080 0 648 WT1 1824 TIP3 OH2 OT -0.834000 15.9994 0 649 WT1 1824 TIP3 H1 HT 0.417000 1.0080 0 650 WT1 1824 TIP3 H2 HT 0.417000 1.0080 0 651 WT1 1829 TIP3 OH2 OT -0.834000 15.9994 0 652 WT1 1829 TIP3 H1 HT 0.417000 1.0080 0 653 WT1 1829 TIP3 H2 HT 0.417000 1.0080 0 654 WT1 1830 TIP3 OH2 OT -0.834000 15.9994 0 655 WT1 1830 TIP3 H1 HT 0.417000 1.0080 0 656 WT1 1830 TIP3 H2 HT 0.417000 1.0080 0 657 WT1 1831 TIP3 OH2 OT -0.834000 15.9994 0 658 WT1 1831 TIP3 H1 HT 0.417000 1.0080 0 659 WT1 1831 TIP3 H2 HT 0.417000 1.0080 0 660 WT1 1832 TIP3 OH2 OT -0.834000 15.9994 0 661 WT1 1832 TIP3 H1 HT 0.417000 1.0080 0 662 WT1 1832 TIP3 H2 HT 0.417000 1.0080 0 663 WT1 1835 TIP3 OH2 OT -0.834000 15.9994 0 664 WT1 1835 TIP3 H1 HT 0.417000 1.0080 0 665 WT1 1835 TIP3 H2 HT 0.417000 1.0080 0 666 WT1 1836 TIP3 OH2 OT -0.834000 15.9994 0 667 WT1 1836 TIP3 H1 HT 0.417000 1.0080 0 668 WT1 1836 TIP3 H2 HT 0.417000 1.0080 0 669 WT1 1838 TIP3 OH2 OT -0.834000 15.9994 0 670 WT1 1838 TIP3 H1 HT 0.417000 1.0080 0 671 WT1 1838 TIP3 H2 HT 0.417000 1.0080 0 672 WT1 1850 TIP3 OH2 OT -0.834000 15.9994 0 673 WT1 1850 TIP3 H1 HT 0.417000 1.0080 0 674 WT1 1850 TIP3 H2 HT 0.417000 1.0080 0 675 WT1 1851 TIP3 OH2 OT -0.834000 15.9994 0 676 WT1 1851 TIP3 H1 HT 0.417000 1.0080 0 677 WT1 1851 TIP3 H2 HT 0.417000 1.0080 0 678 WT1 1852 TIP3 OH2 OT -0.834000 15.9994 0 679 WT1 1852 TIP3 H1 HT 0.417000 1.0080 0 680 WT1 1852 TIP3 H2 HT 0.417000 1.0080 0 681 WT1 1853 TIP3 OH2 OT -0.834000 15.9994 0 682 WT1 1853 TIP3 H1 HT 0.417000 1.0080 0 683 WT1 1853 TIP3 H2 HT 0.417000 1.0080 0 684 WT1 1854 TIP3 OH2 OT -0.834000 15.9994 0 685 WT1 1854 TIP3 H1 HT 0.417000 1.0080 0 686 WT1 1854 TIP3 H2 HT 0.417000 1.0080 0 687 WT1 1856 TIP3 OH2 OT -0.834000 15.9994 0 688 WT1 1856 TIP3 H1 HT 0.417000 1.0080 0 689 WT1 1856 TIP3 H2 HT 0.417000 1.0080 0 690 WT1 1860 TIP3 OH2 OT -0.834000 15.9994 0 691 WT1 1860 TIP3 H1 HT 0.417000 1.0080 0 692 WT1 1860 TIP3 H2 HT 0.417000 1.0080 0 693 WT1 1861 TIP3 OH2 OT -0.834000 15.9994 0 694 WT1 1861 TIP3 H1 HT 0.417000 1.0080 0 695 WT1 1861 TIP3 H2 HT 0.417000 1.0080 0 696 WT1 1871 TIP3 OH2 OT -0.834000 15.9994 0 697 WT1 1871 TIP3 H1 HT 0.417000 1.0080 0 698 WT1 1871 TIP3 H2 HT 0.417000 1.0080 0 699 WT1 1873 TIP3 OH2 OT -0.834000 15.9994 0 700 WT1 1873 TIP3 H1 HT 0.417000 1.0080 0 701 WT1 1873 TIP3 H2 HT 0.417000 1.0080 0 702 WT1 1874 TIP3 OH2 OT -0.834000 15.9994 0 703 WT1 1874 TIP3 H1 HT 0.417000 1.0080 0 704 WT1 1874 TIP3 H2 HT 0.417000 1.0080 0 705 WT1 1875 TIP3 OH2 OT -0.834000 15.9994 0 706 WT1 1875 TIP3 H1 HT 0.417000 1.0080 0 707 WT1 1875 TIP3 H2 HT 0.417000 1.0080 0 708 WT1 1878 TIP3 OH2 OT -0.834000 15.9994 0 709 WT1 1878 TIP3 H1 HT 0.417000 1.0080 0 710 WT1 1878 TIP3 H2 HT 0.417000 1.0080 0 711 WT1 1881 TIP3 OH2 OT -0.834000 15.9994 0 712 WT1 1881 TIP3 H1 HT 0.417000 1.0080 0 713 WT1 1881 TIP3 H2 HT 0.417000 1.0080 0 714 WT1 1885 TIP3 OH2 OT -0.834000 15.9994 0 715 WT1 1885 TIP3 H1 HT 0.417000 1.0080 0 716 WT1 1885 TIP3 H2 HT 0.417000 1.0080 0 717 WT1 1894 TIP3 OH2 OT -0.834000 15.9994 0 718 WT1 1894 TIP3 H1 HT 0.417000 1.0080 0 719 WT1 1894 TIP3 H2 HT 0.417000 1.0080 0 720 WT1 1895 TIP3 OH2 OT -0.834000 15.9994 0 721 WT1 1895 TIP3 H1 HT 0.417000 1.0080 0 722 WT1 1895 TIP3 H2 HT 0.417000 1.0080 0 723 WT1 1896 TIP3 OH2 OT -0.834000 15.9994 0 724 WT1 1896 TIP3 H1 HT 0.417000 1.0080 0 725 WT1 1896 TIP3 H2 HT 0.417000 1.0080 0 726 WT1 1897 TIP3 OH2 OT -0.834000 15.9994 0 727 WT1 1897 TIP3 H1 HT 0.417000 1.0080 0 728 WT1 1897 TIP3 H2 HT 0.417000 1.0080 0 729 WT1 1898 TIP3 OH2 OT -0.834000 15.9994 0 730 WT1 1898 TIP3 H1 HT 0.417000 1.0080 0 731 WT1 1898 TIP3 H2 HT 0.417000 1.0080 0 732 WT1 1900 TIP3 OH2 OT -0.834000 15.9994 0 733 WT1 1900 TIP3 H1 HT 0.417000 1.0080 0 734 WT1 1900 TIP3 H2 HT 0.417000 1.0080 0 735 WT1 1911 TIP3 OH2 OT -0.834000 15.9994 0 736 WT1 1911 TIP3 H1 HT 0.417000 1.0080 0 737 WT1 1911 TIP3 H2 HT 0.417000 1.0080 0 738 WT1 1912 TIP3 OH2 OT -0.834000 15.9994 0 739 WT1 1912 TIP3 H1 HT 0.417000 1.0080 0 740 WT1 1912 TIP3 H2 HT 0.417000 1.0080 0 741 WT1 1914 TIP3 OH2 OT -0.834000 15.9994 0 742 WT1 1914 TIP3 H1 HT 0.417000 1.0080 0 743 WT1 1914 TIP3 H2 HT 0.417000 1.0080 0 744 WT1 1915 TIP3 OH2 OT -0.834000 15.9994 0 745 WT1 1915 TIP3 H1 HT 0.417000 1.0080 0 746 WT1 1915 TIP3 H2 HT 0.417000 1.0080 0 747 WT1 1919 TIP3 OH2 OT -0.834000 15.9994 0 748 WT1 1919 TIP3 H1 HT 0.417000 1.0080 0 749 WT1 1919 TIP3 H2 HT 0.417000 1.0080 0 750 WT1 1935 TIP3 OH2 OT -0.834000 15.9994 0 751 WT1 1935 TIP3 H1 HT 0.417000 1.0080 0 752 WT1 1935 TIP3 H2 HT 0.417000 1.0080 0 753 WT1 1936 TIP3 OH2 OT -0.834000 15.9994 0 754 WT1 1936 TIP3 H1 HT 0.417000 1.0080 0 755 WT1 1936 TIP3 H2 HT 0.417000 1.0080 0 756 WT1 1938 TIP3 OH2 OT -0.834000 15.9994 0 757 WT1 1938 TIP3 H1 HT 0.417000 1.0080 0 758 WT1 1938 TIP3 H2 HT 0.417000 1.0080 0 759 WT1 1952 TIP3 OH2 OT -0.834000 15.9994 0 760 WT1 1952 TIP3 H1 HT 0.417000 1.0080 0 761 WT1 1952 TIP3 H2 HT 0.417000 1.0080 0 762 WT1 1955 TIP3 OH2 OT -0.834000 15.9994 0 763 WT1 1955 TIP3 H1 HT 0.417000 1.0080 0 764 WT1 1955 TIP3 H2 HT 0.417000 1.0080 0 765 WT1 1961 TIP3 OH2 OT -0.834000 15.9994 0 766 WT1 1961 TIP3 H1 HT 0.417000 1.0080 0 767 WT1 1961 TIP3 H2 HT 0.417000 1.0080 0 768 WT1 1977 TIP3 OH2 OT -0.834000 15.9994 0 769 WT1 1977 TIP3 H1 HT 0.417000 1.0080 0 770 WT1 1977 TIP3 H2 HT 0.417000 1.0080 0 771 WT1 2123 TIP3 OH2 OT -0.834000 15.9994 0 772 WT1 2123 TIP3 H1 HT 0.417000 1.0080 0 773 WT1 2123 TIP3 H2 HT 0.417000 1.0080 0 774 WT1 2127 TIP3 OH2 OT -0.834000 15.9994 0 775 WT1 2127 TIP3 H1 HT 0.417000 1.0080 0 776 WT1 2127 TIP3 H2 HT 0.417000 1.0080 0 777 WT1 2163 TIP3 OH2 OT -0.834000 15.9994 0 778 WT1 2163 TIP3 H1 HT 0.417000 1.0080 0 779 WT1 2163 TIP3 H2 HT 0.417000 1.0080 0 780 WT1 2165 TIP3 OH2 OT -0.834000 15.9994 0 781 WT1 2165 TIP3 H1 HT 0.417000 1.0080 0 782 WT1 2165 TIP3 H2 HT 0.417000 1.0080 0 783 WT1 2167 TIP3 OH2 OT -0.834000 15.9994 0 784 WT1 2167 TIP3 H1 HT 0.417000 1.0080 0 785 WT1 2167 TIP3 H2 HT 0.417000 1.0080 0 786 WT1 2172 TIP3 OH2 OT -0.834000 15.9994 0 787 WT1 2172 TIP3 H1 HT 0.417000 1.0080 0 788 WT1 2172 TIP3 H2 HT 0.417000 1.0080 0 789 WT1 2185 TIP3 OH2 OT -0.834000 15.9994 0 790 WT1 2185 TIP3 H1 HT 0.417000 1.0080 0 791 WT1 2185 TIP3 H2 HT 0.417000 1.0080 0 792 WT1 2186 TIP3 OH2 OT -0.834000 15.9994 0 793 WT1 2186 TIP3 H1 HT 0.417000 1.0080 0 794 WT1 2186 TIP3 H2 HT 0.417000 1.0080 0 795 WT1 2187 TIP3 OH2 OT -0.834000 15.9994 0 796 WT1 2187 TIP3 H1 HT 0.417000 1.0080 0 797 WT1 2187 TIP3 H2 HT 0.417000 1.0080 0 798 WT1 2227 TIP3 OH2 OT -0.834000 15.9994 0 799 WT1 2227 TIP3 H1 HT 0.417000 1.0080 0 800 WT1 2227 TIP3 H2 HT 0.417000 1.0080 0 801 WT1 2229 TIP3 OH2 OT -0.834000 15.9994 0 802 WT1 2229 TIP3 H1 HT 0.417000 1.0080 0 803 WT1 2229 TIP3 H2 HT 0.417000 1.0080 0 804 WT1 2231 TIP3 OH2 OT -0.834000 15.9994 0 805 WT1 2231 TIP3 H1 HT 0.417000 1.0080 0 806 WT1 2231 TIP3 H2 HT 0.417000 1.0080 0 807 WT1 2232 TIP3 OH2 OT -0.834000 15.9994 0 808 WT1 2232 TIP3 H1 HT 0.417000 1.0080 0 809 WT1 2232 TIP3 H2 HT 0.417000 1.0080 0 810 WT1 2244 TIP3 OH2 OT -0.834000 15.9994 0 811 WT1 2244 TIP3 H1 HT 0.417000 1.0080 0 812 WT1 2244 TIP3 H2 HT 0.417000 1.0080 0 813 WT1 2250 TIP3 OH2 OT -0.834000 15.9994 0 814 WT1 2250 TIP3 H1 HT 0.417000 1.0080 0 815 WT1 2250 TIP3 H2 HT 0.417000 1.0080 0 816 WT1 2251 TIP3 OH2 OT -0.834000 15.9994 0 817 WT1 2251 TIP3 H1 HT 0.417000 1.0080 0 818 WT1 2251 TIP3 H2 HT 0.417000 1.0080 0 819 WT1 2253 TIP3 OH2 OT -0.834000 15.9994 0 820 WT1 2253 TIP3 H1 HT 0.417000 1.0080 0 821 WT1 2253 TIP3 H2 HT 0.417000 1.0080 0 822 WT1 2254 TIP3 OH2 OT -0.834000 15.9994 0 823 WT1 2254 TIP3 H1 HT 0.417000 1.0080 0 824 WT1 2254 TIP3 H2 HT 0.417000 1.0080 0 825 WT1 2257 TIP3 OH2 OT -0.834000 15.9994 0 826 WT1 2257 TIP3 H1 HT 0.417000 1.0080 0 827 WT1 2257 TIP3 H2 HT 0.417000 1.0080 0 828 WT1 2269 TIP3 OH2 OT -0.834000 15.9994 0 829 WT1 2269 TIP3 H1 HT 0.417000 1.0080 0 830 WT1 2269 TIP3 H2 HT 0.417000 1.0080 0 831 WT1 2270 TIP3 OH2 OT -0.834000 15.9994 0 832 WT1 2270 TIP3 H1 HT 0.417000 1.0080 0 833 WT1 2270 TIP3 H2 HT 0.417000 1.0080 0 834 WT1 2271 TIP3 OH2 OT -0.834000 15.9994 0 835 WT1 2271 TIP3 H1 HT 0.417000 1.0080 0 836 WT1 2271 TIP3 H2 HT 0.417000 1.0080 0 837 WT1 2272 TIP3 OH2 OT -0.834000 15.9994 0 838 WT1 2272 TIP3 H1 HT 0.417000 1.0080 0 839 WT1 2272 TIP3 H2 HT 0.417000 1.0080 0 840 WT1 2275 TIP3 OH2 OT -0.834000 15.9994 0 841 WT1 2275 TIP3 H1 HT 0.417000 1.0080 0 842 WT1 2275 TIP3 H2 HT 0.417000 1.0080 0 843 WT1 2277 TIP3 OH2 OT -0.834000 15.9994 0 844 WT1 2277 TIP3 H1 HT 0.417000 1.0080 0 845 WT1 2277 TIP3 H2 HT 0.417000 1.0080 0 846 WT1 2280 TIP3 OH2 OT -0.834000 15.9994 0 847 WT1 2280 TIP3 H1 HT 0.417000 1.0080 0 848 WT1 2280 TIP3 H2 HT 0.417000 1.0080 0 849 WT1 2288 TIP3 OH2 OT -0.834000 15.9994 0 850 WT1 2288 TIP3 H1 HT 0.417000 1.0080 0 851 WT1 2288 TIP3 H2 HT 0.417000 1.0080 0 852 WT1 2292 TIP3 OH2 OT -0.834000 15.9994 0 853 WT1 2292 TIP3 H1 HT 0.417000 1.0080 0 854 WT1 2292 TIP3 H2 HT 0.417000 1.0080 0 855 WT1 2293 TIP3 OH2 OT -0.834000 15.9994 0 856 WT1 2293 TIP3 H1 HT 0.417000 1.0080 0 857 WT1 2293 TIP3 H2 HT 0.417000 1.0080 0 858 WT1 2295 TIP3 OH2 OT -0.834000 15.9994 0 859 WT1 2295 TIP3 H1 HT 0.417000 1.0080 0 860 WT1 2295 TIP3 H2 HT 0.417000 1.0080 0 861 WT1 2296 TIP3 OH2 OT -0.834000 15.9994 0 862 WT1 2296 TIP3 H1 HT 0.417000 1.0080 0 863 WT1 2296 TIP3 H2 HT 0.417000 1.0080 0 864 WT1 2300 TIP3 OH2 OT -0.834000 15.9994 0 865 WT1 2300 TIP3 H1 HT 0.417000 1.0080 0 866 WT1 2300 TIP3 H2 HT 0.417000 1.0080 0 867 WT1 2302 TIP3 OH2 OT -0.834000 15.9994 0 868 WT1 2302 TIP3 H1 HT 0.417000 1.0080 0 869 WT1 2302 TIP3 H2 HT 0.417000 1.0080 0 870 WT1 2309 TIP3 OH2 OT -0.834000 15.9994 0 871 WT1 2309 TIP3 H1 HT 0.417000 1.0080 0 872 WT1 2309 TIP3 H2 HT 0.417000 1.0080 0 873 WT1 2311 TIP3 OH2 OT -0.834000 15.9994 0 874 WT1 2311 TIP3 H1 HT 0.417000 1.0080 0 875 WT1 2311 TIP3 H2 HT 0.417000 1.0080 0 876 WT1 2315 TIP3 OH2 OT -0.834000 15.9994 0 877 WT1 2315 TIP3 H1 HT 0.417000 1.0080 0 878 WT1 2315 TIP3 H2 HT 0.417000 1.0080 0 879 WT1 2316 TIP3 OH2 OT -0.834000 15.9994 0 880 WT1 2316 TIP3 H1 HT 0.417000 1.0080 0 881 WT1 2316 TIP3 H2 HT 0.417000 1.0080 0 882 WT1 2317 TIP3 OH2 OT -0.834000 15.9994 0 883 WT1 2317 TIP3 H1 HT 0.417000 1.0080 0 884 WT1 2317 TIP3 H2 HT 0.417000 1.0080 0 885 WT1 2318 TIP3 OH2 OT -0.834000 15.9994 0 886 WT1 2318 TIP3 H1 HT 0.417000 1.0080 0 887 WT1 2318 TIP3 H2 HT 0.417000 1.0080 0 888 WT1 2319 TIP3 OH2 OT -0.834000 15.9994 0 889 WT1 2319 TIP3 H1 HT 0.417000 1.0080 0 890 WT1 2319 TIP3 H2 HT 0.417000 1.0080 0 891 WT1 2320 TIP3 OH2 OT -0.834000 15.9994 0 892 WT1 2320 TIP3 H1 HT 0.417000 1.0080 0 893 WT1 2320 TIP3 H2 HT 0.417000 1.0080 0 894 WT1 2329 TIP3 OH2 OT -0.834000 15.9994 0 895 WT1 2329 TIP3 H1 HT 0.417000 1.0080 0 896 WT1 2329 TIP3 H2 HT 0.417000 1.0080 0 897 WT1 2331 TIP3 OH2 OT -0.834000 15.9994 0 898 WT1 2331 TIP3 H1 HT 0.417000 1.0080 0 899 WT1 2331 TIP3 H2 HT 0.417000 1.0080 0 900 WT1 2332 TIP3 OH2 OT -0.834000 15.9994 0 901 WT1 2332 TIP3 H1 HT 0.417000 1.0080 0 902 WT1 2332 TIP3 H2 HT 0.417000 1.0080 0 903 WT1 2335 TIP3 OH2 OT -0.834000 15.9994 0 904 WT1 2335 TIP3 H1 HT 0.417000 1.0080 0 905 WT1 2335 TIP3 H2 HT 0.417000 1.0080 0 906 WT1 2339 TIP3 OH2 OT -0.834000 15.9994 0 907 WT1 2339 TIP3 H1 HT 0.417000 1.0080 0 908 WT1 2339 TIP3 H2 HT 0.417000 1.0080 0 909 WT1 2351 TIP3 OH2 OT -0.834000 15.9994 0 910 WT1 2351 TIP3 H1 HT 0.417000 1.0080 0 911 WT1 2351 TIP3 H2 HT 0.417000 1.0080 0 912 WT1 2352 TIP3 OH2 OT -0.834000 15.9994 0 913 WT1 2352 TIP3 H1 HT 0.417000 1.0080 0 914 WT1 2352 TIP3 H2 HT 0.417000 1.0080 0 915 WT1 2355 TIP3 OH2 OT -0.834000 15.9994 0 916 WT1 2355 TIP3 H1 HT 0.417000 1.0080 0 917 WT1 2355 TIP3 H2 HT 0.417000 1.0080 0 918 WT1 2357 TIP3 OH2 OT -0.834000 15.9994 0 919 WT1 2357 TIP3 H1 HT 0.417000 1.0080 0 920 WT1 2357 TIP3 H2 HT 0.417000 1.0080 0 921 WT1 2358 TIP3 OH2 OT -0.834000 15.9994 0 922 WT1 2358 TIP3 H1 HT 0.417000 1.0080 0 923 WT1 2358 TIP3 H2 HT 0.417000 1.0080 0 924 WT1 2359 TIP3 OH2 OT -0.834000 15.9994 0 925 WT1 2359 TIP3 H1 HT 0.417000 1.0080 0 926 WT1 2359 TIP3 H2 HT 0.417000 1.0080 0 927 WT1 2376 TIP3 OH2 OT -0.834000 15.9994 0 928 WT1 2376 TIP3 H1 HT 0.417000 1.0080 0 929 WT1 2376 TIP3 H2 HT 0.417000 1.0080 0 930 WT1 2377 TIP3 OH2 OT -0.834000 15.9994 0 931 WT1 2377 TIP3 H1 HT 0.417000 1.0080 0 932 WT1 2377 TIP3 H2 HT 0.417000 1.0080 0 933 WT1 2380 TIP3 OH2 OT -0.834000 15.9994 0 934 WT1 2380 TIP3 H1 HT 0.417000 1.0080 0 935 WT1 2380 TIP3 H2 HT 0.417000 1.0080 0 936 WT1 2418 TIP3 OH2 OT -0.834000 15.9994 0 937 WT1 2418 TIP3 H1 HT 0.417000 1.0080 0 938 WT1 2418 TIP3 H2 HT 0.417000 1.0080 0 939 WT1 2587 TIP3 OH2 OT -0.834000 15.9994 0 940 WT1 2587 TIP3 H1 HT 0.417000 1.0080 0 941 WT1 2587 TIP3 H2 HT 0.417000 1.0080 0 942 WT1 2606 TIP3 OH2 OT -0.834000 15.9994 0 943 WT1 2606 TIP3 H1 HT 0.417000 1.0080 0 944 WT1 2606 TIP3 H2 HT 0.417000 1.0080 0 945 WT1 2607 TIP3 OH2 OT -0.834000 15.9994 0 946 WT1 2607 TIP3 H1 HT 0.417000 1.0080 0 947 WT1 2607 TIP3 H2 HT 0.417000 1.0080 0 948 WT1 2608 TIP3 OH2 OT -0.834000 15.9994 0 949 WT1 2608 TIP3 H1 HT 0.417000 1.0080 0 950 WT1 2608 TIP3 H2 HT 0.417000 1.0080 0 951 WT1 2610 TIP3 OH2 OT -0.834000 15.9994 0 952 WT1 2610 TIP3 H1 HT 0.417000 1.0080 0 953 WT1 2610 TIP3 H2 HT 0.417000 1.0080 0 954 WT1 2628 TIP3 OH2 OT -0.834000 15.9994 0 955 WT1 2628 TIP3 H1 HT 0.417000 1.0080 0 956 WT1 2628 TIP3 H2 HT 0.417000 1.0080 0 957 WT1 2632 TIP3 OH2 OT -0.834000 15.9994 0 958 WT1 2632 TIP3 H1 HT 0.417000 1.0080 0 959 WT1 2632 TIP3 H2 HT 0.417000 1.0080 0 960 WT1 2634 TIP3 OH2 OT -0.834000 15.9994 0 961 WT1 2634 TIP3 H1 HT 0.417000 1.0080 0 962 WT1 2634 TIP3 H2 HT 0.417000 1.0080 0 963 WT1 2650 TIP3 OH2 OT -0.834000 15.9994 0 964 WT1 2650 TIP3 H1 HT 0.417000 1.0080 0 965 WT1 2650 TIP3 H2 HT 0.417000 1.0080 0 966 WT1 2654 TIP3 OH2 OT -0.834000 15.9994 0 967 WT1 2654 TIP3 H1 HT 0.417000 1.0080 0 968 WT1 2654 TIP3 H2 HT 0.417000 1.0080 0 969 WT1 2670 TIP3 OH2 OT -0.834000 15.9994 0 970 WT1 2670 TIP3 H1 HT 0.417000 1.0080 0 971 WT1 2670 TIP3 H2 HT 0.417000 1.0080 0 972 WT1 2673 TIP3 OH2 OT -0.834000 15.9994 0 973 WT1 2673 TIP3 H1 HT 0.417000 1.0080 0 974 WT1 2673 TIP3 H2 HT 0.417000 1.0080 0 975 WT1 2676 TIP3 OH2 OT -0.834000 15.9994 0 976 WT1 2676 TIP3 H1 HT 0.417000 1.0080 0 977 WT1 2676 TIP3 H2 HT 0.417000 1.0080 0 978 WT1 2689 TIP3 OH2 OT -0.834000 15.9994 0 979 WT1 2689 TIP3 H1 HT 0.417000 1.0080 0 980 WT1 2689 TIP3 H2 HT 0.417000 1.0080 0 981 WT1 2690 TIP3 OH2 OT -0.834000 15.9994 0 982 WT1 2690 TIP3 H1 HT 0.417000 1.0080 0 983 WT1 2690 TIP3 H2 HT 0.417000 1.0080 0 984 WT1 2691 TIP3 OH2 OT -0.834000 15.9994 0 985 WT1 2691 TIP3 H1 HT 0.417000 1.0080 0 986 WT1 2691 TIP3 H2 HT 0.417000 1.0080 0 987 WT1 2692 TIP3 OH2 OT -0.834000 15.9994 0 988 WT1 2692 TIP3 H1 HT 0.417000 1.0080 0 989 WT1 2692 TIP3 H2 HT 0.417000 1.0080 0 990 WT1 2694 TIP3 OH2 OT -0.834000 15.9994 0 991 WT1 2694 TIP3 H1 HT 0.417000 1.0080 0 992 WT1 2694 TIP3 H2 HT 0.417000 1.0080 0 993 WT1 2697 TIP3 OH2 OT -0.834000 15.9994 0 994 WT1 2697 TIP3 H1 HT 0.417000 1.0080 0 995 WT1 2697 TIP3 H2 HT 0.417000 1.0080 0 996 WT1 2701 TIP3 OH2 OT -0.834000 15.9994 0 997 WT1 2701 TIP3 H1 HT 0.417000 1.0080 0 998 WT1 2701 TIP3 H2 HT 0.417000 1.0080 0 999 WT1 2709 TIP3 OH2 OT -0.834000 15.9994 0 1000 WT1 2709 TIP3 H1 HT 0.417000 1.0080 0 1001 WT1 2709 TIP3 H2 HT 0.417000 1.0080 0 1002 WT1 2713 TIP3 OH2 OT -0.834000 15.9994 0 1003 WT1 2713 TIP3 H1 HT 0.417000 1.0080 0 1004 WT1 2713 TIP3 H2 HT 0.417000 1.0080 0 1005 WT1 2714 TIP3 OH2 OT -0.834000 15.9994 0 1006 WT1 2714 TIP3 H1 HT 0.417000 1.0080 0 1007 WT1 2714 TIP3 H2 HT 0.417000 1.0080 0 1008 WT1 2715 TIP3 OH2 OT -0.834000 15.9994 0 1009 WT1 2715 TIP3 H1 HT 0.417000 1.0080 0 1010 WT1 2715 TIP3 H2 HT 0.417000 1.0080 0 1011 WT1 2719 TIP3 OH2 OT -0.834000 15.9994 0 1012 WT1 2719 TIP3 H1 HT 0.417000 1.0080 0 1013 WT1 2719 TIP3 H2 HT 0.417000 1.0080 0 1014 WT1 2732 TIP3 OH2 OT -0.834000 15.9994 0 1015 WT1 2732 TIP3 H1 HT 0.417000 1.0080 0 1016 WT1 2732 TIP3 H2 HT 0.417000 1.0080 0 1017 WT1 2734 TIP3 OH2 OT -0.834000 15.9994 0 1018 WT1 2734 TIP3 H1 HT 0.417000 1.0080 0 1019 WT1 2734 TIP3 H2 HT 0.417000 1.0080 0 1020 WT1 2735 TIP3 OH2 OT -0.834000 15.9994 0 1021 WT1 2735 TIP3 H1 HT 0.417000 1.0080 0 1022 WT1 2735 TIP3 H2 HT 0.417000 1.0080 0 1023 WT1 2737 TIP3 OH2 OT -0.834000 15.9994 0 1024 WT1 2737 TIP3 H1 HT 0.417000 1.0080 0 1025 WT1 2737 TIP3 H2 HT 0.417000 1.0080 0 1026 WT1 2740 TIP3 OH2 OT -0.834000 15.9994 0 1027 WT1 2740 TIP3 H1 HT 0.417000 1.0080 0 1028 WT1 2740 TIP3 H2 HT 0.417000 1.0080 0 1029 WT1 2753 TIP3 OH2 OT -0.834000 15.9994 0 1030 WT1 2753 TIP3 H1 HT 0.417000 1.0080 0 1031 WT1 2753 TIP3 H2 HT 0.417000 1.0080 0 1032 WT1 2754 TIP3 OH2 OT -0.834000 15.9994 0 1033 WT1 2754 TIP3 H1 HT 0.417000 1.0080 0 1034 WT1 2754 TIP3 H2 HT 0.417000 1.0080 0 1035 WT1 2755 TIP3 OH2 OT -0.834000 15.9994 0 1036 WT1 2755 TIP3 H1 HT 0.417000 1.0080 0 1037 WT1 2755 TIP3 H2 HT 0.417000 1.0080 0 1038 WT1 2757 TIP3 OH2 OT -0.834000 15.9994 0 1039 WT1 2757 TIP3 H1 HT 0.417000 1.0080 0 1040 WT1 2757 TIP3 H2 HT 0.417000 1.0080 0 1041 WT1 2758 TIP3 OH2 OT -0.834000 15.9994 0 1042 WT1 2758 TIP3 H1 HT 0.417000 1.0080 0 1043 WT1 2758 TIP3 H2 HT 0.417000 1.0080 0 1044 WT1 2771 TIP3 OH2 OT -0.834000 15.9994 0 1045 WT1 2771 TIP3 H1 HT 0.417000 1.0080 0 1046 WT1 2771 TIP3 H2 HT 0.417000 1.0080 0 1047 WT1 2776 TIP3 OH2 OT -0.834000 15.9994 0 1048 WT1 2776 TIP3 H1 HT 0.417000 1.0080 0 1049 WT1 2776 TIP3 H2 HT 0.417000 1.0080 0 1050 WT1 2777 TIP3 OH2 OT -0.834000 15.9994 0 1051 WT1 2777 TIP3 H1 HT 0.417000 1.0080 0 1052 WT1 2777 TIP3 H2 HT 0.417000 1.0080 0 1053 WT1 2778 TIP3 OH2 OT -0.834000 15.9994 0 1054 WT1 2778 TIP3 H1 HT 0.417000 1.0080 0 1055 WT1 2778 TIP3 H2 HT 0.417000 1.0080 0 1056 WT1 2779 TIP3 OH2 OT -0.834000 15.9994 0 1057 WT1 2779 TIP3 H1 HT 0.417000 1.0080 0 1058 WT1 2779 TIP3 H2 HT 0.417000 1.0080 0 1059 WT1 2794 TIP3 OH2 OT -0.834000 15.9994 0 1060 WT1 2794 TIP3 H1 HT 0.417000 1.0080 0 1061 WT1 2794 TIP3 H2 HT 0.417000 1.0080 0 1062 WT1 2815 TIP3 OH2 OT -0.834000 15.9994 0 1063 WT1 2815 TIP3 H1 HT 0.417000 1.0080 0 1064 WT1 2815 TIP3 H2 HT 0.417000 1.0080 0 1065 WT1 2817 TIP3 OH2 OT -0.834000 15.9994 0 1066 WT1 2817 TIP3 H1 HT 0.417000 1.0080 0 1067 WT1 2817 TIP3 H2 HT 0.417000 1.0080 0 1068 WT1 2818 TIP3 OH2 OT -0.834000 15.9994 0 1069 WT1 2818 TIP3 H1 HT 0.417000 1.0080 0 1070 WT1 2818 TIP3 H2 HT 0.417000 1.0080 0 1071 WT1 2821 TIP3 OH2 OT -0.834000 15.9994 0 1072 WT1 2821 TIP3 H1 HT 0.417000 1.0080 0 1073 WT1 2821 TIP3 H2 HT 0.417000 1.0080 0 1074 WT1 2832 TIP3 OH2 OT -0.834000 15.9994 0 1075 WT1 2832 TIP3 H1 HT 0.417000 1.0080 0 1076 WT1 2832 TIP3 H2 HT 0.417000 1.0080 0 1077 WT1 2857 TIP3 OH2 OT -0.834000 15.9994 0 1078 WT1 2857 TIP3 H1 HT 0.417000 1.0080 0 1079 WT1 2857 TIP3 H2 HT 0.417000 1.0080 0 1080 WT1 2866 TIP3 OH2 OT -0.834000 15.9994 0 1081 WT1 2866 TIP3 H1 HT 0.417000 1.0080 0 1082 WT1 2866 TIP3 H2 HT 0.417000 1.0080 0 1083 WT1 2926 TIP3 OH2 OT -0.834000 15.9994 0 1084 WT1 2926 TIP3 H1 HT 0.417000 1.0080 0 1085 WT1 2926 TIP3 H2 HT 0.417000 1.0080 0 1086 WT1 3010 TIP3 OH2 OT -0.834000 15.9994 0 1087 WT1 3010 TIP3 H1 HT 0.417000 1.0080 0 1088 WT1 3010 TIP3 H2 HT 0.417000 1.0080 0 1089 WT1 3012 TIP3 OH2 OT -0.834000 15.9994 0 1090 WT1 3012 TIP3 H1 HT 0.417000 1.0080 0 1091 WT1 3012 TIP3 H2 HT 0.417000 1.0080 0 1092 WT1 3027 TIP3 OH2 OT -0.834000 15.9994 0 1093 WT1 3027 TIP3 H1 HT 0.417000 1.0080 0 1094 WT1 3027 TIP3 H2 HT 0.417000 1.0080 0 1095 WT1 3049 TIP3 OH2 OT -0.834000 15.9994 0 1096 WT1 3049 TIP3 H1 HT 0.417000 1.0080 0 1097 WT1 3049 TIP3 H2 HT 0.417000 1.0080 0 1098 WT1 3070 TIP3 OH2 OT -0.834000 15.9994 0 1099 WT1 3070 TIP3 H1 HT 0.417000 1.0080 0 1100 WT1 3070 TIP3 H2 HT 0.417000 1.0080 0 1101 WT1 3072 TIP3 OH2 OT -0.834000 15.9994 0 1102 WT1 3072 TIP3 H1 HT 0.417000 1.0080 0 1103 WT1 3072 TIP3 H2 HT 0.417000 1.0080 0 1104 WT1 3073 TIP3 OH2 OT -0.834000 15.9994 0 1105 WT1 3073 TIP3 H1 HT 0.417000 1.0080 0 1106 WT1 3073 TIP3 H2 HT 0.417000 1.0080 0 1107 WT1 3085 TIP3 OH2 OT -0.834000 15.9994 0 1108 WT1 3085 TIP3 H1 HT 0.417000 1.0080 0 1109 WT1 3085 TIP3 H2 HT 0.417000 1.0080 0 1110 WT1 3086 TIP3 OH2 OT -0.834000 15.9994 0 1111 WT1 3086 TIP3 H1 HT 0.417000 1.0080 0 1112 WT1 3086 TIP3 H2 HT 0.417000 1.0080 0 1113 WT1 3091 TIP3 OH2 OT -0.834000 15.9994 0 1114 WT1 3091 TIP3 H1 HT 0.417000 1.0080 0 1115 WT1 3091 TIP3 H2 HT 0.417000 1.0080 0 1116 WT1 3095 TIP3 OH2 OT -0.834000 15.9994 0 1117 WT1 3095 TIP3 H1 HT 0.417000 1.0080 0 1118 WT1 3095 TIP3 H2 HT 0.417000 1.0080 0 1119 WT1 3096 TIP3 OH2 OT -0.834000 15.9994 0 1120 WT1 3096 TIP3 H1 HT 0.417000 1.0080 0 1121 WT1 3096 TIP3 H2 HT 0.417000 1.0080 0 1122 WT1 3108 TIP3 OH2 OT -0.834000 15.9994 0 1123 WT1 3108 TIP3 H1 HT 0.417000 1.0080 0 1124 WT1 3108 TIP3 H2 HT 0.417000 1.0080 0 1125 WT1 3109 TIP3 OH2 OT -0.834000 15.9994 0 1126 WT1 3109 TIP3 H1 HT 0.417000 1.0080 0 1127 WT1 3109 TIP3 H2 HT 0.417000 1.0080 0 1128 WT1 3111 TIP3 OH2 OT -0.834000 15.9994 0 1129 WT1 3111 TIP3 H1 HT 0.417000 1.0080 0 1130 WT1 3111 TIP3 H2 HT 0.417000 1.0080 0 1131 WT1 3112 TIP3 OH2 OT -0.834000 15.9994 0 1132 WT1 3112 TIP3 H1 HT 0.417000 1.0080 0 1133 WT1 3112 TIP3 H2 HT 0.417000 1.0080 0 1134 WT1 3113 TIP3 OH2 OT -0.834000 15.9994 0 1135 WT1 3113 TIP3 H1 HT 0.417000 1.0080 0 1136 WT1 3113 TIP3 H2 HT 0.417000 1.0080 0 1137 WT1 3114 TIP3 OH2 OT -0.834000 15.9994 0 1138 WT1 3114 TIP3 H1 HT 0.417000 1.0080 0 1139 WT1 3114 TIP3 H2 HT 0.417000 1.0080 0 1140 WT1 3115 TIP3 OH2 OT -0.834000 15.9994 0 1141 WT1 3115 TIP3 H1 HT 0.417000 1.0080 0 1142 WT1 3115 TIP3 H2 HT 0.417000 1.0080 0 1143 WT1 3129 TIP3 OH2 OT -0.834000 15.9994 0 1144 WT1 3129 TIP3 H1 HT 0.417000 1.0080 0 1145 WT1 3129 TIP3 H2 HT 0.417000 1.0080 0 1146 WT1 3131 TIP3 OH2 OT -0.834000 15.9994 0 1147 WT1 3131 TIP3 H1 HT 0.417000 1.0080 0 1148 WT1 3131 TIP3 H2 HT 0.417000 1.0080 0 1149 WT1 3134 TIP3 OH2 OT -0.834000 15.9994 0 1150 WT1 3134 TIP3 H1 HT 0.417000 1.0080 0 1151 WT1 3134 TIP3 H2 HT 0.417000 1.0080 0 1152 WT1 3140 TIP3 OH2 OT -0.834000 15.9994 0 1153 WT1 3140 TIP3 H1 HT 0.417000 1.0080 0 1154 WT1 3140 TIP3 H2 HT 0.417000 1.0080 0 1155 WT1 3150 TIP3 OH2 OT -0.834000 15.9994 0 1156 WT1 3150 TIP3 H1 HT 0.417000 1.0080 0 1157 WT1 3150 TIP3 H2 HT 0.417000 1.0080 0 1158 WT1 3152 TIP3 OH2 OT -0.834000 15.9994 0 1159 WT1 3152 TIP3 H1 HT 0.417000 1.0080 0 1160 WT1 3152 TIP3 H2 HT 0.417000 1.0080 0 1161 WT1 3154 TIP3 OH2 OT -0.834000 15.9994 0 1162 WT1 3154 TIP3 H1 HT 0.417000 1.0080 0 1163 WT1 3154 TIP3 H2 HT 0.417000 1.0080 0 1164 WT1 3155 TIP3 OH2 OT -0.834000 15.9994 0 1165 WT1 3155 TIP3 H1 HT 0.417000 1.0080 0 1166 WT1 3155 TIP3 H2 HT 0.417000 1.0080 0 1167 WT1 3157 TIP3 OH2 OT -0.834000 15.9994 0 1168 WT1 3157 TIP3 H1 HT 0.417000 1.0080 0 1169 WT1 3157 TIP3 H2 HT 0.417000 1.0080 0 1170 WT1 3173 TIP3 OH2 OT -0.834000 15.9994 0 1171 WT1 3173 TIP3 H1 HT 0.417000 1.0080 0 1172 WT1 3173 TIP3 H2 HT 0.417000 1.0080 0 1173 WT1 3177 TIP3 OH2 OT -0.834000 15.9994 0 1174 WT1 3177 TIP3 H1 HT 0.417000 1.0080 0 1175 WT1 3177 TIP3 H2 HT 0.417000 1.0080 0 1176 WT1 3179 TIP3 OH2 OT -0.834000 15.9994 0 1177 WT1 3179 TIP3 H1 HT 0.417000 1.0080 0 1178 WT1 3179 TIP3 H2 HT 0.417000 1.0080 0 1179 WT1 3180 TIP3 OH2 OT -0.834000 15.9994 0 1180 WT1 3180 TIP3 H1 HT 0.417000 1.0080 0 1181 WT1 3180 TIP3 H2 HT 0.417000 1.0080 0 1182 WT1 3181 TIP3 OH2 OT -0.834000 15.9994 0 1183 WT1 3181 TIP3 H1 HT 0.417000 1.0080 0 1184 WT1 3181 TIP3 H2 HT 0.417000 1.0080 0 1185 WT1 3192 TIP3 OH2 OT -0.834000 15.9994 0 1186 WT1 3192 TIP3 H1 HT 0.417000 1.0080 0 1187 WT1 3192 TIP3 H2 HT 0.417000 1.0080 0 1188 WT1 3195 TIP3 OH2 OT -0.834000 15.9994 0 1189 WT1 3195 TIP3 H1 HT 0.417000 1.0080 0 1190 WT1 3195 TIP3 H2 HT 0.417000 1.0080 0 1191 WT1 3196 TIP3 OH2 OT -0.834000 15.9994 0 1192 WT1 3196 TIP3 H1 HT 0.417000 1.0080 0 1193 WT1 3196 TIP3 H2 HT 0.417000 1.0080 0 1194 WT1 3198 TIP3 OH2 OT -0.834000 15.9994 0 1195 WT1 3198 TIP3 H1 HT 0.417000 1.0080 0 1196 WT1 3198 TIP3 H2 HT 0.417000 1.0080 0 1197 WT1 3202 TIP3 OH2 OT -0.834000 15.9994 0 1198 WT1 3202 TIP3 H1 HT 0.417000 1.0080 0 1199 WT1 3202 TIP3 H2 HT 0.417000 1.0080 0 1200 WT1 3214 TIP3 OH2 OT -0.834000 15.9994 0 1201 WT1 3214 TIP3 H1 HT 0.417000 1.0080 0 1202 WT1 3214 TIP3 H2 HT 0.417000 1.0080 0 1203 WT1 3215 TIP3 OH2 OT -0.834000 15.9994 0 1204 WT1 3215 TIP3 H1 HT 0.417000 1.0080 0 1205 WT1 3215 TIP3 H2 HT 0.417000 1.0080 0 1206 WT1 3216 TIP3 OH2 OT -0.834000 15.9994 0 1207 WT1 3216 TIP3 H1 HT 0.417000 1.0080 0 1208 WT1 3216 TIP3 H2 HT 0.417000 1.0080 0 1209 WT1 3218 TIP3 OH2 OT -0.834000 15.9994 0 1210 WT1 3218 TIP3 H1 HT 0.417000 1.0080 0 1211 WT1 3218 TIP3 H2 HT 0.417000 1.0080 0 1212 WT1 3219 TIP3 OH2 OT -0.834000 15.9994 0 1213 WT1 3219 TIP3 H1 HT 0.417000 1.0080 0 1214 WT1 3219 TIP3 H2 HT 0.417000 1.0080 0 1215 WT1 3223 TIP3 OH2 OT -0.834000 15.9994 0 1216 WT1 3223 TIP3 H1 HT 0.417000 1.0080 0 1217 WT1 3223 TIP3 H2 HT 0.417000 1.0080 0 1218 WT1 3234 TIP3 OH2 OT -0.834000 15.9994 0 1219 WT1 3234 TIP3 H1 HT 0.417000 1.0080 0 1220 WT1 3234 TIP3 H2 HT 0.417000 1.0080 0 1221 WT1 3236 TIP3 OH2 OT -0.834000 15.9994 0 1222 WT1 3236 TIP3 H1 HT 0.417000 1.0080 0 1223 WT1 3236 TIP3 H2 HT 0.417000 1.0080 0 1224 WT1 3237 TIP3 OH2 OT -0.834000 15.9994 0 1225 WT1 3237 TIP3 H1 HT 0.417000 1.0080 0 1226 WT1 3237 TIP3 H2 HT 0.417000 1.0080 0 1227 WT1 3238 TIP3 OH2 OT -0.834000 15.9994 0 1228 WT1 3238 TIP3 H1 HT 0.417000 1.0080 0 1229 WT1 3238 TIP3 H2 HT 0.417000 1.0080 0 1230 WT1 3242 TIP3 OH2 OT -0.834000 15.9994 0 1231 WT1 3242 TIP3 H1 HT 0.417000 1.0080 0 1232 WT1 3242 TIP3 H2 HT 0.417000 1.0080 0 1233 WT1 3244 TIP3 OH2 OT -0.834000 15.9994 0 1234 WT1 3244 TIP3 H1 HT 0.417000 1.0080 0 1235 WT1 3244 TIP3 H2 HT 0.417000 1.0080 0 1236 WT1 3257 TIP3 OH2 OT -0.834000 15.9994 0 1237 WT1 3257 TIP3 H1 HT 0.417000 1.0080 0 1238 WT1 3257 TIP3 H2 HT 0.417000 1.0080 0 1239 WT1 3258 TIP3 OH2 OT -0.834000 15.9994 0 1240 WT1 3258 TIP3 H1 HT 0.417000 1.0080 0 1241 WT1 3258 TIP3 H2 HT 0.417000 1.0080 0 1242 WT1 3262 TIP3 OH2 OT -0.834000 15.9994 0 1243 WT1 3262 TIP3 H1 HT 0.417000 1.0080 0 1244 WT1 3262 TIP3 H2 HT 0.417000 1.0080 0 1245 WT1 3263 TIP3 OH2 OT -0.834000 15.9994 0 1246 WT1 3263 TIP3 H1 HT 0.417000 1.0080 0 1247 WT1 3263 TIP3 H2 HT 0.417000 1.0080 0 1248 WT1 3274 TIP3 OH2 OT -0.834000 15.9994 0 1249 WT1 3274 TIP3 H1 HT 0.417000 1.0080 0 1250 WT1 3274 TIP3 H2 HT 0.417000 1.0080 0 1251 WT1 3280 TIP3 OH2 OT -0.834000 15.9994 0 1252 WT1 3280 TIP3 H1 HT 0.417000 1.0080 0 1253 WT1 3280 TIP3 H2 HT 0.417000 1.0080 0 1254 WT1 3302 TIP3 OH2 OT -0.834000 15.9994 0 1255 WT1 3302 TIP3 H1 HT 0.417000 1.0080 0 1256 WT1 3302 TIP3 H2 HT 0.417000 1.0080 0 1257 WT1 3303 TIP3 OH2 OT -0.834000 15.9994 0 1258 WT1 3303 TIP3 H1 HT 0.417000 1.0080 0 1259 WT1 3303 TIP3 H2 HT 0.417000 1.0080 0 1260 WT1 3304 TIP3 OH2 OT -0.834000 15.9994 0 1261 WT1 3304 TIP3 H1 HT 0.417000 1.0080 0 1262 WT1 3304 TIP3 H2 HT 0.417000 1.0080 0 1263 WT1 3367 TIP3 OH2 OT -0.834000 15.9994 0 1264 WT1 3367 TIP3 H1 HT 0.417000 1.0080 0 1265 WT1 3367 TIP3 H2 HT 0.417000 1.0080 0 1266 WT1 3426 TIP3 OH2 OT -0.834000 15.9994 0 1267 WT1 3426 TIP3 H1 HT 0.417000 1.0080 0 1268 WT1 3426 TIP3 H2 HT 0.417000 1.0080 0 1269 WT1 3442 TIP3 OH2 OT -0.834000 15.9994 0 1270 WT1 3442 TIP3 H1 HT 0.417000 1.0080 0 1271 WT1 3442 TIP3 H2 HT 0.417000 1.0080 0 1272 WT1 3447 TIP3 OH2 OT -0.834000 15.9994 0 1273 WT1 3447 TIP3 H1 HT 0.417000 1.0080 0 1274 WT1 3447 TIP3 H2 HT 0.417000 1.0080 0 1275 WT1 3484 TIP3 OH2 OT -0.834000 15.9994 0 1276 WT1 3484 TIP3 H1 HT 0.417000 1.0080 0 1277 WT1 3484 TIP3 H2 HT 0.417000 1.0080 0 1278 WT1 3526 TIP3 OH2 OT -0.834000 15.9994 0 1279 WT1 3526 TIP3 H1 HT 0.417000 1.0080 0 1280 WT1 3526 TIP3 H2 HT 0.417000 1.0080 0 1281 WT1 3527 TIP3 OH2 OT -0.834000 15.9994 0 1282 WT1 3527 TIP3 H1 HT 0.417000 1.0080 0 1283 WT1 3527 TIP3 H2 HT 0.417000 1.0080 0 1284 WT1 3534 TIP3 OH2 OT -0.834000 15.9994 0 1285 WT1 3534 TIP3 H1 HT 0.417000 1.0080 0 1286 WT1 3534 TIP3 H2 HT 0.417000 1.0080 0 1287 WT1 3545 TIP3 OH2 OT -0.834000 15.9994 0 1288 WT1 3545 TIP3 H1 HT 0.417000 1.0080 0 1289 WT1 3545 TIP3 H2 HT 0.417000 1.0080 0 1290 WT1 3548 TIP3 OH2 OT -0.834000 15.9994 0 1291 WT1 3548 TIP3 H1 HT 0.417000 1.0080 0 1292 WT1 3548 TIP3 H2 HT 0.417000 1.0080 0 1293 WT1 3554 TIP3 OH2 OT -0.834000 15.9994 0 1294 WT1 3554 TIP3 H1 HT 0.417000 1.0080 0 1295 WT1 3554 TIP3 H2 HT 0.417000 1.0080 0 1296 WT1 3556 TIP3 OH2 OT -0.834000 15.9994 0 1297 WT1 3556 TIP3 H1 HT 0.417000 1.0080 0 1298 WT1 3556 TIP3 H2 HT 0.417000 1.0080 0 1299 WT1 3573 TIP3 OH2 OT -0.834000 15.9994 0 1300 WT1 3573 TIP3 H1 HT 0.417000 1.0080 0 1301 WT1 3573 TIP3 H2 HT 0.417000 1.0080 0 1302 WT1 3575 TIP3 OH2 OT -0.834000 15.9994 0 1303 WT1 3575 TIP3 H1 HT 0.417000 1.0080 0 1304 WT1 3575 TIP3 H2 HT 0.417000 1.0080 0 1305 WT1 3595 TIP3 OH2 OT -0.834000 15.9994 0 1306 WT1 3595 TIP3 H1 HT 0.417000 1.0080 0 1307 WT1 3595 TIP3 H2 HT 0.417000 1.0080 0 1308 WT1 3596 TIP3 OH2 OT -0.834000 15.9994 0 1309 WT1 3596 TIP3 H1 HT 0.417000 1.0080 0 1310 WT1 3596 TIP3 H2 HT 0.417000 1.0080 0 1311 WT1 3597 TIP3 OH2 OT -0.834000 15.9994 0 1312 WT1 3597 TIP3 H1 HT 0.417000 1.0080 0 1313 WT1 3597 TIP3 H2 HT 0.417000 1.0080 0 1314 WT1 3599 TIP3 OH2 OT -0.834000 15.9994 0 1315 WT1 3599 TIP3 H1 HT 0.417000 1.0080 0 1316 WT1 3599 TIP3 H2 HT 0.417000 1.0080 0 1317 WT1 3612 TIP3 OH2 OT -0.834000 15.9994 0 1318 WT1 3612 TIP3 H1 HT 0.417000 1.0080 0 1319 WT1 3612 TIP3 H2 HT 0.417000 1.0080 0 1320 WT1 3614 TIP3 OH2 OT -0.834000 15.9994 0 1321 WT1 3614 TIP3 H1 HT 0.417000 1.0080 0 1322 WT1 3614 TIP3 H2 HT 0.417000 1.0080 0 1323 WT1 3615 TIP3 OH2 OT -0.834000 15.9994 0 1324 WT1 3615 TIP3 H1 HT 0.417000 1.0080 0 1325 WT1 3615 TIP3 H2 HT 0.417000 1.0080 0 1326 WT1 3619 TIP3 OH2 OT -0.834000 15.9994 0 1327 WT1 3619 TIP3 H1 HT 0.417000 1.0080 0 1328 WT1 3619 TIP3 H2 HT 0.417000 1.0080 0 1329 WT1 3650 TIP3 OH2 OT -0.834000 15.9994 0 1330 WT1 3650 TIP3 H1 HT 0.417000 1.0080 0 1331 WT1 3650 TIP3 H2 HT 0.417000 1.0080 0 1332 WT1 3651 TIP3 OH2 OT -0.834000 15.9994 0 1333 WT1 3651 TIP3 H1 HT 0.417000 1.0080 0 1334 WT1 3651 TIP3 H2 HT 0.417000 1.0080 0 1335 WT1 3653 TIP3 OH2 OT -0.834000 15.9994 0 1336 WT1 3653 TIP3 H1 HT 0.417000 1.0080 0 1337 WT1 3653 TIP3 H2 HT 0.417000 1.0080 0 1338 WT1 3660 TIP3 OH2 OT -0.834000 15.9994 0 1339 WT1 3660 TIP3 H1 HT 0.417000 1.0080 0 1340 WT1 3660 TIP3 H2 HT 0.417000 1.0080 0 1341 WT1 3661 TIP3 OH2 OT -0.834000 15.9994 0 1342 WT1 3661 TIP3 H1 HT 0.417000 1.0080 0 1343 WT1 3661 TIP3 H2 HT 0.417000 1.0080 0 1344 WT1 3662 TIP3 OH2 OT -0.834000 15.9994 0 1345 WT1 3662 TIP3 H1 HT 0.417000 1.0080 0 1346 WT1 3662 TIP3 H2 HT 0.417000 1.0080 0 1347 WT1 3703 TIP3 OH2 OT -0.834000 15.9994 0 1348 WT1 3703 TIP3 H1 HT 0.417000 1.0080 0 1349 WT1 3703 TIP3 H2 HT 0.417000 1.0080 0 1350 WT1 3707 TIP3 OH2 OT -0.834000 15.9994 0 1351 WT1 3707 TIP3 H1 HT 0.417000 1.0080 0 1352 WT1 3707 TIP3 H2 HT 0.417000 1.0080 0 1353 WT1 3708 TIP3 OH2 OT -0.834000 15.9994 0 1354 WT1 3708 TIP3 H1 HT 0.417000 1.0080 0 1355 WT1 3708 TIP3 H2 HT 0.417000 1.0080 0 1356 WT1 3718 TIP3 OH2 OT -0.834000 15.9994 0 1357 WT1 3718 TIP3 H1 HT 0.417000 1.0080 0 1358 WT1 3718 TIP3 H2 HT 0.417000 1.0080 0 1359 WT1 3723 TIP3 OH2 OT -0.834000 15.9994 0 1360 WT1 3723 TIP3 H1 HT 0.417000 1.0080 0 1361 WT1 3723 TIP3 H2 HT 0.417000 1.0080 0 1362 WT1 3728 TIP3 OH2 OT -0.834000 15.9994 0 1363 WT1 3728 TIP3 H1 HT 0.417000 1.0080 0 1364 WT1 3728 TIP3 H2 HT 0.417000 1.0080 0 1365 WT1 3745 TIP3 OH2 OT -0.834000 15.9994 0 1366 WT1 3745 TIP3 H1 HT 0.417000 1.0080 0 1367 WT1 3745 TIP3 H2 HT 0.417000 1.0080 0 1368 WT1 3787 TIP3 OH2 OT -0.834000 15.9994 0 1369 WT1 3787 TIP3 H1 HT 0.417000 1.0080 0 1370 WT1 3787 TIP3 H2 HT 0.417000 1.0080 0 1371 WT1 3925 TIP3 OH2 OT -0.834000 15.9994 0 1372 WT1 3925 TIP3 H1 HT 0.417000 1.0080 0 1373 WT1 3925 TIP3 H2 HT 0.417000 1.0080 0 1374 WT1 3933 TIP3 OH2 OT -0.834000 15.9994 0 1375 WT1 3933 TIP3 H1 HT 0.417000 1.0080 0 1376 WT1 3933 TIP3 H2 HT 0.417000 1.0080 0 1377 WT1 3935 TIP3 OH2 OT -0.834000 15.9994 0 1378 WT1 3935 TIP3 H1 HT 0.417000 1.0080 0 1379 WT1 3935 TIP3 H2 HT 0.417000 1.0080 0 1380 WT1 3951 TIP3 OH2 OT -0.834000 15.9994 0 1381 WT1 3951 TIP3 H1 HT 0.417000 1.0080 0 1382 WT1 3951 TIP3 H2 HT 0.417000 1.0080 0 1383 WT1 3977 TIP3 OH2 OT -0.834000 15.9994 0 1384 WT1 3977 TIP3 H1 HT 0.417000 1.0080 0 1385 WT1 3977 TIP3 H2 HT 0.417000 1.0080 0 1386 WT1 3991 TIP3 OH2 OT -0.834000 15.9994 0 1387 WT1 3991 TIP3 H1 HT 0.417000 1.0080 0 1388 WT1 3991 TIP3 H2 HT 0.417000 1.0080 0 1389 WT1 3995 TIP3 OH2 OT -0.834000 15.9994 0 1390 WT1 3995 TIP3 H1 HT 0.417000 1.0080 0 1391 WT1 3995 TIP3 H2 HT 0.417000 1.0080 0 1392 WT1 3996 TIP3 OH2 OT -0.834000 15.9994 0 1393 WT1 3996 TIP3 H1 HT 0.417000 1.0080 0 1394 WT1 3996 TIP3 H2 HT 0.417000 1.0080 0 1395 WT1 4009 TIP3 OH2 OT -0.834000 15.9994 0 1396 WT1 4009 TIP3 H1 HT 0.417000 1.0080 0 1397 WT1 4009 TIP3 H2 HT 0.417000 1.0080 0 1398 WT1 4012 TIP3 OH2 OT -0.834000 15.9994 0 1399 WT1 4012 TIP3 H1 HT 0.417000 1.0080 0 1400 WT1 4012 TIP3 H2 HT 0.417000 1.0080 0 1401 WT1 4015 TIP3 OH2 OT -0.834000 15.9994 0 1402 WT1 4015 TIP3 H1 HT 0.417000 1.0080 0 1403 WT1 4015 TIP3 H2 HT 0.417000 1.0080 0 1404 WT1 4017 TIP3 OH2 OT -0.834000 15.9994 0 1405 WT1 4017 TIP3 H1 HT 0.417000 1.0080 0 1406 WT1 4017 TIP3 H2 HT 0.417000 1.0080 0 1407 WT1 4035 TIP3 OH2 OT -0.834000 15.9994 0 1408 WT1 4035 TIP3 H1 HT 0.417000 1.0080 0 1409 WT1 4035 TIP3 H2 HT 0.417000 1.0080 0 1410 WT1 4036 TIP3 OH2 OT -0.834000 15.9994 0 1411 WT1 4036 TIP3 H1 HT 0.417000 1.0080 0 1412 WT1 4036 TIP3 H2 HT 0.417000 1.0080 0 1413 WT1 4037 TIP3 OH2 OT -0.834000 15.9994 0 1414 WT1 4037 TIP3 H1 HT 0.417000 1.0080 0 1415 WT1 4037 TIP3 H2 HT 0.417000 1.0080 0 1416 WT1 4039 TIP3 OH2 OT -0.834000 15.9994 0 1417 WT1 4039 TIP3 H1 HT 0.417000 1.0080 0 1418 WT1 4039 TIP3 H2 HT 0.417000 1.0080 0 1419 WT1 4055 TIP3 OH2 OT -0.834000 15.9994 0 1420 WT1 4055 TIP3 H1 HT 0.417000 1.0080 0 1421 WT1 4055 TIP3 H2 HT 0.417000 1.0080 0 1422 WT1 4059 TIP3 OH2 OT -0.834000 15.9994 0 1423 WT1 4059 TIP3 H1 HT 0.417000 1.0080 0 1424 WT1 4059 TIP3 H2 HT 0.417000 1.0080 0 1425 WT1 4074 TIP3 OH2 OT -0.834000 15.9994 0 1426 WT1 4074 TIP3 H1 HT 0.417000 1.0080 0 1427 WT1 4074 TIP3 H2 HT 0.417000 1.0080 0 1428 WT1 4076 TIP3 OH2 OT -0.834000 15.9994 0 1429 WT1 4076 TIP3 H1 HT 0.417000 1.0080 0 1430 WT1 4076 TIP3 H2 HT 0.417000 1.0080 0 1431 WT1 4077 TIP3 OH2 OT -0.834000 15.9994 0 1432 WT1 4077 TIP3 H1 HT 0.417000 1.0080 0 1433 WT1 4077 TIP3 H2 HT 0.417000 1.0080 0 1434 WT1 4079 TIP3 OH2 OT -0.834000 15.9994 0 1435 WT1 4079 TIP3 H1 HT 0.417000 1.0080 0 1436 WT1 4079 TIP3 H2 HT 0.417000 1.0080 0 1437 WT1 4081 TIP3 OH2 OT -0.834000 15.9994 0 1438 WT1 4081 TIP3 H1 HT 0.417000 1.0080 0 1439 WT1 4081 TIP3 H2 HT 0.417000 1.0080 0 1440 WT1 4083 TIP3 OH2 OT -0.834000 15.9994 0 1441 WT1 4083 TIP3 H1 HT 0.417000 1.0080 0 1442 WT1 4083 TIP3 H2 HT 0.417000 1.0080 0 1443 WT1 4104 TIP3 OH2 OT -0.834000 15.9994 0 1444 WT1 4104 TIP3 H1 HT 0.417000 1.0080 0 1445 WT1 4104 TIP3 H2 HT 0.417000 1.0080 0 1446 WT1 4138 TIP3 OH2 OT -0.834000 15.9994 0 1447 WT1 4138 TIP3 H1 HT 0.417000 1.0080 0 1448 WT1 4138 TIP3 H2 HT 0.417000 1.0080 0 1449 WT1 4139 TIP3 OH2 OT -0.834000 15.9994 0 1450 WT1 4139 TIP3 H1 HT 0.417000 1.0080 0 1451 WT1 4139 TIP3 H2 HT 0.417000 1.0080 0 1452 WT1 4141 TIP3 OH2 OT -0.834000 15.9994 0 1453 WT1 4141 TIP3 H1 HT 0.417000 1.0080 0 1454 WT1 4141 TIP3 H2 HT 0.417000 1.0080 0 1455 WT1 4143 TIP3 OH2 OT -0.834000 15.9994 0 1456 WT1 4143 TIP3 H1 HT 0.417000 1.0080 0 1457 WT1 4143 TIP3 H2 HT 0.417000 1.0080 0 1458 WT1 4179 TIP3 OH2 OT -0.834000 15.9994 0 1459 WT1 4179 TIP3 H1 HT 0.417000 1.0080 0 1460 WT1 4179 TIP3 H2 HT 0.417000 1.0080 0 1461 WT1 4184 TIP3 OH2 OT -0.834000 15.9994 0 1462 WT1 4184 TIP3 H1 HT 0.417000 1.0080 0 1463 WT1 4184 TIP3 H2 HT 0.417000 1.0080 0 1464 WT1 4202 TIP3 OH2 OT -0.834000 15.9994 0 1465 WT1 4202 TIP3 H1 HT 0.417000 1.0080 0 1466 WT1 4202 TIP3 H2 HT 0.417000 1.0080 0 1467 WT1 4356 TIP3 OH2 OT -0.834000 15.9994 0 1468 WT1 4356 TIP3 H1 HT 0.417000 1.0080 0 1469 WT1 4356 TIP3 H2 HT 0.417000 1.0080 0 1470 WT1 4380 TIP3 OH2 OT -0.834000 15.9994 0 1471 WT1 4380 TIP3 H1 HT 0.417000 1.0080 0 1472 WT1 4380 TIP3 H2 HT 0.417000 1.0080 0 1473 WT1 4394 TIP3 OH2 OT -0.834000 15.9994 0 1474 WT1 4394 TIP3 H1 HT 0.417000 1.0080 0 1475 WT1 4394 TIP3 H2 HT 0.417000 1.0080 0 1476 WT1 4417 TIP3 OH2 OT -0.834000 15.9994 0 1477 WT1 4417 TIP3 H1 HT 0.417000 1.0080 0 1478 WT1 4417 TIP3 H2 HT 0.417000 1.0080 0 1479 WT1 4419 TIP3 OH2 OT -0.834000 15.9994 0 1480 WT1 4419 TIP3 H1 HT 0.417000 1.0080 0 1481 WT1 4419 TIP3 H2 HT 0.417000 1.0080 0 1482 WT1 4455 TIP3 OH2 OT -0.834000 15.9994 0 1483 WT1 4455 TIP3 H1 HT 0.417000 1.0080 0 1484 WT1 4455 TIP3 H2 HT 0.417000 1.0080 0 1485 WT1 4480 TIP3 OH2 OT -0.834000 15.9994 0 1486 WT1 4480 TIP3 H1 HT 0.417000 1.0080 0 1487 WT1 4480 TIP3 H2 HT 0.417000 1.0080 0 1488 WT1 4516 TIP3 OH2 OT -0.834000 15.9994 0 1489 WT1 4516 TIP3 H1 HT 0.417000 1.0080 0 1490 WT1 4516 TIP3 H2 HT 0.417000 1.0080 0 1491 WT1 4519 TIP3 OH2 OT -0.834000 15.9994 0 1492 WT1 4519 TIP3 H1 HT 0.417000 1.0080 0 1493 WT1 4519 TIP3 H2 HT 0.417000 1.0080 0 1494 WT1 4523 TIP3 OH2 OT -0.834000 15.9994 0 1495 WT1 4523 TIP3 H1 HT 0.417000 1.0080 0 1496 WT1 4523 TIP3 H2 HT 0.417000 1.0080 0 1497 WT1 4537 TIP3 OH2 OT -0.834000 15.9994 0 1498 WT1 4537 TIP3 H1 HT 0.417000 1.0080 0 1499 WT1 4537 TIP3 H2 HT 0.417000 1.0080 0 1500 WT1 4553 TIP3 OH2 OT -0.834000 15.9994 0 1501 WT1 4553 TIP3 H1 HT 0.417000 1.0080 0 1502 WT1 4553 TIP3 H2 HT 0.417000 1.0080 0 1503 WT1 4559 TIP3 OH2 OT -0.834000 15.9994 0 1504 WT1 4559 TIP3 H1 HT 0.417000 1.0080 0 1505 WT1 4559 TIP3 H2 HT 0.417000 1.0080 0 1506 WT1 4578 TIP3 OH2 OT -0.834000 15.9994 0 1507 WT1 4578 TIP3 H1 HT 0.417000 1.0080 0 1508 WT1 4578 TIP3 H2 HT 0.417000 1.0080 0 1509 WT1 4582 TIP3 OH2 OT -0.834000 15.9994 0 1510 WT1 4582 TIP3 H1 HT 0.417000 1.0080 0 1511 WT1 4582 TIP3 H2 HT 0.417000 1.0080 0 1512 WT1 4588 TIP3 OH2 OT -0.834000 15.9994 0 1513 WT1 4588 TIP3 H1 HT 0.417000 1.0080 0 1514 WT1 4588 TIP3 H2 HT 0.417000 1.0080 0 1515 WT1 4606 TIP3 OH2 OT -0.834000 15.9994 0 1516 WT1 4606 TIP3 H1 HT 0.417000 1.0080 0 1517 WT1 4606 TIP3 H2 HT 0.417000 1.0080 0 1518 WT1 4625 TIP3 OH2 OT -0.834000 15.9994 0 1519 WT1 4625 TIP3 H1 HT 0.417000 1.0080 0 1520 WT1 4625 TIP3 H2 HT 0.417000 1.0080 0 1521 WT1 4663 TIP3 OH2 OT -0.834000 15.9994 0 1522 WT1 4663 TIP3 H1 HT 0.417000 1.0080 0 1523 WT1 4663 TIP3 H2 HT 0.417000 1.0080 0 1524 WT1 4797 TIP3 OH2 OT -0.834000 15.9994 0 1525 WT1 4797 TIP3 H1 HT 0.417000 1.0080 0 1526 WT1 4797 TIP3 H2 HT 0.417000 1.0080 0 1527 WT1 4798 TIP3 OH2 OT -0.834000 15.9994 0 1528 WT1 4798 TIP3 H1 HT 0.417000 1.0080 0 1529 WT1 4798 TIP3 H2 HT 0.417000 1.0080 0 1530 WT1 4809 TIP3 OH2 OT -0.834000 15.9994 0 1531 WT1 4809 TIP3 H1 HT 0.417000 1.0080 0 1532 WT1 4809 TIP3 H2 HT 0.417000 1.0080 0 1533 WT1 4835 TIP3 OH2 OT -0.834000 15.9994 0 1534 WT1 4835 TIP3 H1 HT 0.417000 1.0080 0 1535 WT1 4835 TIP3 H2 HT 0.417000 1.0080 0 1536 WT1 4837 TIP3 OH2 OT -0.834000 15.9994 0 1537 WT1 4837 TIP3 H1 HT 0.417000 1.0080 0 1538 WT1 4837 TIP3 H2 HT 0.417000 1.0080 0 1539 WT1 4849 TIP3 OH2 OT -0.834000 15.9994 0 1540 WT1 4849 TIP3 H1 HT 0.417000 1.0080 0 1541 WT1 4849 TIP3 H2 HT 0.417000 1.0080 0 1542 WT1 4856 TIP3 OH2 OT -0.834000 15.9994 0 1543 WT1 4856 TIP3 H1 HT 0.417000 1.0080 0 1544 WT1 4856 TIP3 H2 HT 0.417000 1.0080 0 1545 WT1 4857 TIP3 OH2 OT -0.834000 15.9994 0 1546 WT1 4857 TIP3 H1 HT 0.417000 1.0080 0 1547 WT1 4857 TIP3 H2 HT 0.417000 1.0080 0 1548 WT1 4899 TIP3 OH2 OT -0.834000 15.9994 0 1549 WT1 4899 TIP3 H1 HT 0.417000 1.0080 0 1550 WT1 4899 TIP3 H2 HT 0.417000 1.0080 0 1551 WT1 4916 TIP3 OH2 OT -0.834000 15.9994 0 1552 WT1 4916 TIP3 H1 HT 0.417000 1.0080 0 1553 WT1 4916 TIP3 H2 HT 0.417000 1.0080 0 1554 WT1 4937 TIP3 OH2 OT -0.834000 15.9994 0 1555 WT1 4937 TIP3 H1 HT 0.417000 1.0080 0 1556 WT1 4937 TIP3 H2 HT 0.417000 1.0080 0 1557 WT1 4963 TIP3 OH2 OT -0.834000 15.9994 0 1558 WT1 4963 TIP3 H1 HT 0.417000 1.0080 0 1559 WT1 4963 TIP3 H2 HT 0.417000 1.0080 0 1560 WT1 4978 TIP3 OH2 OT -0.834000 15.9994 0 1561 WT1 4978 TIP3 H1 HT 0.417000 1.0080 0 1562 WT1 4978 TIP3 H2 HT 0.417000 1.0080 0 1563 WT1 4981 TIP3 OH2 OT -0.834000 15.9994 0 1564 WT1 4981 TIP3 H1 HT 0.417000 1.0080 0 1565 WT1 4981 TIP3 H2 HT 0.417000 1.0080 0 1566 WT1 5234 TIP3 OH2 OT -0.834000 15.9994 0 1567 WT1 5234 TIP3 H1 HT 0.417000 1.0080 0 1568 WT1 5234 TIP3 H2 HT 0.417000 1.0080 0 1569 WT1 5320 TIP3 OH2 OT -0.834000 15.9994 0 1570 WT1 5320 TIP3 H1 HT 0.417000 1.0080 0 1571 WT1 5320 TIP3 H2 HT 0.417000 1.0080 0 1572 WT1 5341 TIP3 OH2 OT -0.834000 15.9994 0 1573 WT1 5341 TIP3 H1 HT 0.417000 1.0080 0 1574 WT1 5341 TIP3 H2 HT 0.417000 1.0080 0 1575 WT1 5355 TIP3 OH2 OT -0.834000 15.9994 0 1576 WT1 5355 TIP3 H1 HT 0.417000 1.0080 0 1577 WT1 5355 TIP3 H2 HT 0.417000 1.0080 0 1578 WT1 5356 TIP3 OH2 OT -0.834000 15.9994 0 1579 WT1 5356 TIP3 H1 HT 0.417000 1.0080 0 1580 WT1 5356 TIP3 H2 HT 0.417000 1.0080 0 1581 WT1 5366 TIP3 OH2 OT -0.834000 15.9994 0 1582 WT1 5366 TIP3 H1 HT 0.417000 1.0080 0 1583 WT1 5366 TIP3 H2 HT 0.417000 1.0080 0 1584 WT1 5385 TIP3 OH2 OT -0.834000 15.9994 0 1585 WT1 5385 TIP3 H1 HT 0.417000 1.0080 0 1586 WT1 5385 TIP3 H2 HT 0.417000 1.0080 0 1587 WT1 5393 TIP3 OH2 OT -0.834000 15.9994 0 1588 WT1 5393 TIP3 H1 HT 0.417000 1.0080 0 1589 WT1 5393 TIP3 H2 HT 0.417000 1.0080 0 1590 WT1 5404 TIP3 OH2 OT -0.834000 15.9994 0 1591 WT1 5404 TIP3 H1 HT 0.417000 1.0080 0 1592 WT1 5404 TIP3 H2 HT 0.417000 1.0080 0 1593 WT1 5418 TIP3 OH2 OT -0.834000 15.9994 0 1594 WT1 5418 TIP3 H1 HT 0.417000 1.0080 0 1595 WT1 5418 TIP3 H2 HT 0.417000 1.0080 0 1596 WT1 5463 TIP3 OH2 OT -0.834000 15.9994 0 1597 WT1 5463 TIP3 H1 HT 0.417000 1.0080 0 1598 WT1 5463 TIP3 H2 HT 0.417000 1.0080 0 1599 WT1 5723 TIP3 OH2 OT -0.834000 15.9994 0 1600 WT1 5723 TIP3 H1 HT 0.417000 1.0080 0 1601 WT1 5723 TIP3 H2 HT 0.417000 1.0080 0 1602 WT1 5782 TIP3 OH2 OT -0.834000 15.9994 0 1603 WT1 5782 TIP3 H1 HT 0.417000 1.0080 0 1604 WT1 5782 TIP3 H2 HT 0.417000 1.0080 0 1605 WT1 5827 TIP3 OH2 OT -0.834000 15.9994 0 1606 WT1 5827 TIP3 H1 HT 0.417000 1.0080 0 1607 WT1 5827 TIP3 H2 HT 0.417000 1.0080 0 1608 WT1 5899 TIP3 OH2 OT -0.834000 15.9994 0 1609 WT1 5899 TIP3 H1 HT 0.417000 1.0080 0 1610 WT1 5899 TIP3 H2 HT 0.417000 1.0080 0 1611 WT1 5901 TIP3 OH2 OT -0.834000 15.9994 0 1612 WT1 5901 TIP3 H1 HT 0.417000 1.0080 0 1613 WT1 5901 TIP3 H2 HT 0.417000 1.0080 0 1614 WT1 6158 TIP3 OH2 OT -0.834000 15.9994 0 1615 WT1 6158 TIP3 H1 HT 0.417000 1.0080 0 1616 WT1 6158 TIP3 H2 HT 0.417000 1.0080 0 1617 WT1 6240 TIP3 OH2 OT -0.834000 15.9994 0 1618 WT1 6240 TIP3 H1 HT 0.417000 1.0080 0 1619 WT1 6240 TIP3 H2 HT 0.417000 1.0080 0 1620 WT1 6325 TIP3 OH2 OT -0.834000 15.9994 0 1621 WT1 6325 TIP3 H1 HT 0.417000 1.0080 0 1622 WT1 6325 TIP3 H2 HT 0.417000 1.0080 0 1623 WT1 6671 TIP3 OH2 OT -0.834000 15.9994 0 1624 WT1 6671 TIP3 H1 HT 0.417000 1.0080 0 1625 WT1 6671 TIP3 H2 HT 0.417000 1.0080 0 1626 WT1 6684 TIP3 OH2 OT -0.834000 15.9994 0 1627 WT1 6684 TIP3 H1 HT 0.417000 1.0080 0 1628 WT1 6684 TIP3 H2 HT 0.417000 1.0080 0 1629 WT1 6726 TIP3 OH2 OT -0.834000 15.9994 0 1630 WT1 6726 TIP3 H1 HT 0.417000 1.0080 0 1631 WT1 6726 TIP3 H2 HT 0.417000 1.0080 0 1632 WT1 7141 TIP3 OH2 OT -0.834000 15.9994 0 1633 WT1 7141 TIP3 H1 HT 0.417000 1.0080 0 1634 WT1 7141 TIP3 H2 HT 0.417000 1.0080 0 1635 WT1 7222 TIP3 OH2 OT -0.834000 15.9994 0 1636 WT1 7222 TIP3 H1 HT 0.417000 1.0080 0 1637 WT1 7222 TIP3 H2 HT 0.417000 1.0080 0 1638 WT1 7479 TIP3 OH2 OT -0.834000 15.9994 0 1639 WT1 7479 TIP3 H1 HT 0.417000 1.0080 0 1640 WT1 7479 TIP3 H2 HT 0.417000 1.0080 0 1641 WT1 7510 TIP3 OH2 OT -0.834000 15.9994 0 1642 WT1 7510 TIP3 H1 HT 0.417000 1.0080 0 1643 WT1 7510 TIP3 H2 HT 0.417000 1.0080 0 1644 WT1 7563 TIP3 OH2 OT -0.834000 15.9994 0 1645 WT1 7563 TIP3 H1 HT 0.417000 1.0080 0 1646 WT1 7563 TIP3 H2 HT 0.417000 1.0080 0 1647 WT1 7568 TIP3 OH2 OT -0.834000 15.9994 0 1648 WT1 7568 TIP3 H1 HT 0.417000 1.0080 0 1649 WT1 7568 TIP3 H2 HT 0.417000 1.0080 0 1650 WT1 7605 TIP3 OH2 OT -0.834000 15.9994 0 1651 WT1 7605 TIP3 H1 HT 0.417000 1.0080 0 1652 WT1 7605 TIP3 H2 HT 0.417000 1.0080 0 1653 WT1 7630 TIP3 OH2 OT -0.834000 15.9994 0 1654 WT1 7630 TIP3 H1 HT 0.417000 1.0080 0 1655 WT1 7630 TIP3 H2 HT 0.417000 1.0080 0 1656 WT1 7631 TIP3 OH2 OT -0.834000 15.9994 0 1657 WT1 7631 TIP3 H1 HT 0.417000 1.0080 0 1658 WT1 7631 TIP3 H2 HT 0.417000 1.0080 0 1659 WT1 7647 TIP3 OH2 OT -0.834000 15.9994 0 1660 WT1 7647 TIP3 H1 HT 0.417000 1.0080 0 1661 WT1 7647 TIP3 H2 HT 0.417000 1.0080 0 1662 WT1 7650 TIP3 OH2 OT -0.834000 15.9994 0 1663 WT1 7650 TIP3 H1 HT 0.417000 1.0080 0 1664 WT1 7650 TIP3 H2 HT 0.417000 1.0080 0 1665 WT1 7707 TIP3 OH2 OT -0.834000 15.9994 0 1666 WT1 7707 TIP3 H1 HT 0.417000 1.0080 0 1667 WT1 7707 TIP3 H2 HT 0.417000 1.0080 0 1668 WT1 7739 TIP3 OH2 OT -0.834000 15.9994 0 1669 WT1 7739 TIP3 H1 HT 0.417000 1.0080 0 1670 WT1 7739 TIP3 H2 HT 0.417000 1.0080 0 1671 WT1 7945 TIP3 OH2 OT -0.834000 15.9994 0 1672 WT1 7945 TIP3 H1 HT 0.417000 1.0080 0 1673 WT1 7945 TIP3 H2 HT 0.417000 1.0080 0 1674 WT1 7985 TIP3 OH2 OT -0.834000 15.9994 0 1675 WT1 7985 TIP3 H1 HT 0.417000 1.0080 0 1676 WT1 7985 TIP3 H2 HT 0.417000 1.0080 0 1677 WT1 8023 TIP3 OH2 OT -0.834000 15.9994 0 1678 WT1 8023 TIP3 H1 HT 0.417000 1.0080 0 1679 WT1 8023 TIP3 H2 HT 0.417000 1.0080 0 1680 WT1 8024 TIP3 OH2 OT -0.834000 15.9994 0 1681 WT1 8024 TIP3 H1 HT 0.417000 1.0080 0 1682 WT1 8024 TIP3 H2 HT 0.417000 1.0080 0 1683 WT1 8029 TIP3 OH2 OT -0.834000 15.9994 0 1684 WT1 8029 TIP3 H1 HT 0.417000 1.0080 0 1685 WT1 8029 TIP3 H2 HT 0.417000 1.0080 0 1686 WT1 8046 TIP3 OH2 OT -0.834000 15.9994 0 1687 WT1 8046 TIP3 H1 HT 0.417000 1.0080 0 1688 WT1 8046 TIP3 H2 HT 0.417000 1.0080 0 1689 WT1 8064 TIP3 OH2 OT -0.834000 15.9994 0 1690 WT1 8064 TIP3 H1 HT 0.417000 1.0080 0 1691 WT1 8064 TIP3 H2 HT 0.417000 1.0080 0 1692 WT1 8068 TIP3 OH2 OT -0.834000 15.9994 0 1693 WT1 8068 TIP3 H1 HT 0.417000 1.0080 0 1694 WT1 8068 TIP3 H2 HT 0.417000 1.0080 0 1695 WT1 8174 TIP3 OH2 OT -0.834000 15.9994 0 1696 WT1 8174 TIP3 H1 HT 0.417000 1.0080 0 1697 WT1 8174 TIP3 H2 HT 0.417000 1.0080 0 1698 WT1 8364 TIP3 OH2 OT -0.834000 15.9994 0 1699 WT1 8364 TIP3 H1 HT 0.417000 1.0080 0 1700 WT1 8364 TIP3 H2 HT 0.417000 1.0080 0 1701 WT1 8370 TIP3 OH2 OT -0.834000 15.9994 0 1702 WT1 8370 TIP3 H1 HT 0.417000 1.0080 0 1703 WT1 8370 TIP3 H2 HT 0.417000 1.0080 0 1704 WT1 8403 TIP3 OH2 OT -0.834000 15.9994 0 1705 WT1 8403 TIP3 H1 HT 0.417000 1.0080 0 1706 WT1 8403 TIP3 H2 HT 0.417000 1.0080 0 1707 WT1 8408 TIP3 OH2 OT -0.834000 15.9994 0 1708 WT1 8408 TIP3 H1 HT 0.417000 1.0080 0 1709 WT1 8408 TIP3 H2 HT 0.417000 1.0080 0 1710 WT1 8411 TIP3 OH2 OT -0.834000 15.9994 0 1711 WT1 8411 TIP3 H1 HT 0.417000 1.0080 0 1712 WT1 8411 TIP3 H2 HT 0.417000 1.0080 0 1713 WT1 8425 TIP3 OH2 OT -0.834000 15.9994 0 1714 WT1 8425 TIP3 H1 HT 0.417000 1.0080 0 1715 WT1 8425 TIP3 H2 HT 0.417000 1.0080 0 1716 WT1 8441 TIP3 OH2 OT -0.834000 15.9994 0 1717 WT1 8441 TIP3 H1 HT 0.417000 1.0080 0 1718 WT1 8441 TIP3 H2 HT 0.417000 1.0080 0 1719 WT1 8466 TIP3 OH2 OT -0.834000 15.9994 0 1720 WT1 8466 TIP3 H1 HT 0.417000 1.0080 0 1721 WT1 8466 TIP3 H2 HT 0.417000 1.0080 0 1722 WT1 8468 TIP3 OH2 OT -0.834000 15.9994 0 1723 WT1 8468 TIP3 H1 HT 0.417000 1.0080 0 1724 WT1 8468 TIP3 H2 HT 0.417000 1.0080 0 1725 WT1 8491 TIP3 OH2 OT -0.834000 15.9994 0 1726 WT1 8491 TIP3 H1 HT 0.417000 1.0080 0 1727 WT1 8491 TIP3 H2 HT 0.417000 1.0080 0 1728 WT1 8528 TIP3 OH2 OT -0.834000 15.9994 0 1729 WT1 8528 TIP3 H1 HT 0.417000 1.0080 0 1730 WT1 8528 TIP3 H2 HT 0.417000 1.0080 0 1731 WT1 8534 TIP3 OH2 OT -0.834000 15.9994 0 1732 WT1 8534 TIP3 H1 HT 0.417000 1.0080 0 1733 WT1 8534 TIP3 H2 HT 0.417000 1.0080 0 1734 WT1 8536 TIP3 OH2 OT -0.834000 15.9994 0 1735 WT1 8536 TIP3 H1 HT 0.417000 1.0080 0 1736 WT1 8536 TIP3 H2 HT 0.417000 1.0080 0 1737 WT1 8548 TIP3 OH2 OT -0.834000 15.9994 0 1738 WT1 8548 TIP3 H1 HT 0.417000 1.0080 0 1739 WT1 8548 TIP3 H2 HT 0.417000 1.0080 0 1740 WT1 8555 TIP3 OH2 OT -0.834000 15.9994 0 1741 WT1 8555 TIP3 H1 HT 0.417000 1.0080 0 1742 WT1 8555 TIP3 H2 HT 0.417000 1.0080 0 1743 WT1 8556 TIP3 OH2 OT -0.834000 15.9994 0 1744 WT1 8556 TIP3 H1 HT 0.417000 1.0080 0 1745 WT1 8556 TIP3 H2 HT 0.417000 1.0080 0 1746 WT1 8558 TIP3 OH2 OT -0.834000 15.9994 0 1747 WT1 8558 TIP3 H1 HT 0.417000 1.0080 0 1748 WT1 8558 TIP3 H2 HT 0.417000 1.0080 0 1749 WT1 8574 TIP3 OH2 OT -0.834000 15.9994 0 1750 WT1 8574 TIP3 H1 HT 0.417000 1.0080 0 1751 WT1 8574 TIP3 H2 HT 0.417000 1.0080 0 1752 WT1 8760 TIP3 OH2 OT -0.834000 15.9994 0 1753 WT1 8760 TIP3 H1 HT 0.417000 1.0080 0 1754 WT1 8760 TIP3 H2 HT 0.417000 1.0080 0 1755 WT1 8780 TIP3 OH2 OT -0.834000 15.9994 0 1756 WT1 8780 TIP3 H1 HT 0.417000 1.0080 0 1757 WT1 8780 TIP3 H2 HT 0.417000 1.0080 0 1758 WT1 8801 TIP3 OH2 OT -0.834000 15.9994 0 1759 WT1 8801 TIP3 H1 HT 0.417000 1.0080 0 1760 WT1 8801 TIP3 H2 HT 0.417000 1.0080 0 1761 WT1 8822 TIP3 OH2 OT -0.834000 15.9994 0 1762 WT1 8822 TIP3 H1 HT 0.417000 1.0080 0 1763 WT1 8822 TIP3 H2 HT 0.417000 1.0080 0 1764 WT1 8829 TIP3 OH2 OT -0.834000 15.9994 0 1765 WT1 8829 TIP3 H1 HT 0.417000 1.0080 0 1766 WT1 8829 TIP3 H2 HT 0.417000 1.0080 0 1767 WT1 8843 TIP3 OH2 OT -0.834000 15.9994 0 1768 WT1 8843 TIP3 H1 HT 0.417000 1.0080 0 1769 WT1 8843 TIP3 H2 HT 0.417000 1.0080 0 1770 WT1 8845 TIP3 OH2 OT -0.834000 15.9994 0 1771 WT1 8845 TIP3 H1 HT 0.417000 1.0080 0 1772 WT1 8845 TIP3 H2 HT 0.417000 1.0080 0 1773 WT1 8852 TIP3 OH2 OT -0.834000 15.9994 0 1774 WT1 8852 TIP3 H1 HT 0.417000 1.0080 0 1775 WT1 8852 TIP3 H2 HT 0.417000 1.0080 0 1776 WT1 8865 TIP3 OH2 OT -0.834000 15.9994 0 1777 WT1 8865 TIP3 H1 HT 0.417000 1.0080 0 1778 WT1 8865 TIP3 H2 HT 0.417000 1.0080 0 1779 WT1 8869 TIP3 OH2 OT -0.834000 15.9994 0 1780 WT1 8869 TIP3 H1 HT 0.417000 1.0080 0 1781 WT1 8869 TIP3 H2 HT 0.417000 1.0080 0 1782 WT1 8870 TIP3 OH2 OT -0.834000 15.9994 0 1783 WT1 8870 TIP3 H1 HT 0.417000 1.0080 0 1784 WT1 8870 TIP3 H2 HT 0.417000 1.0080 0 1785 WT1 8887 TIP3 OH2 OT -0.834000 15.9994 0 1786 WT1 8887 TIP3 H1 HT 0.417000 1.0080 0 1787 WT1 8887 TIP3 H2 HT 0.417000 1.0080 0 1788 WT1 8895 TIP3 OH2 OT -0.834000 15.9994 0 1789 WT1 8895 TIP3 H1 HT 0.417000 1.0080 0 1790 WT1 8895 TIP3 H2 HT 0.417000 1.0080 0 1791 WT1 8903 TIP3 OH2 OT -0.834000 15.9994 0 1792 WT1 8903 TIP3 H1 HT 0.417000 1.0080 0 1793 WT1 8903 TIP3 H2 HT 0.417000 1.0080 0 1794 WT1 8905 TIP3 OH2 OT -0.834000 15.9994 0 1795 WT1 8905 TIP3 H1 HT 0.417000 1.0080 0 1796 WT1 8905 TIP3 H2 HT 0.417000 1.0080 0 1797 WT1 8926 TIP3 OH2 OT -0.834000 15.9994 0 1798 WT1 8926 TIP3 H1 HT 0.417000 1.0080 0 1799 WT1 8926 TIP3 H2 HT 0.417000 1.0080 0 1800 WT1 8931 TIP3 OH2 OT -0.834000 15.9994 0 1801 WT1 8931 TIP3 H1 HT 0.417000 1.0080 0 1802 WT1 8931 TIP3 H2 HT 0.417000 1.0080 0 1803 WT1 8935 TIP3 OH2 OT -0.834000 15.9994 0 1804 WT1 8935 TIP3 H1 HT 0.417000 1.0080 0 1805 WT1 8935 TIP3 H2 HT 0.417000 1.0080 0 1806 WT1 8949 TIP3 OH2 OT -0.834000 15.9994 0 1807 WT1 8949 TIP3 H1 HT 0.417000 1.0080 0 1808 WT1 8949 TIP3 H2 HT 0.417000 1.0080 0 1809 WT1 8952 TIP3 OH2 OT -0.834000 15.9994 0 1810 WT1 8952 TIP3 H1 HT 0.417000 1.0080 0 1811 WT1 8952 TIP3 H2 HT 0.417000 1.0080 0 1812 WT1 8956 TIP3 OH2 OT -0.834000 15.9994 0 1813 WT1 8956 TIP3 H1 HT 0.417000 1.0080 0 1814 WT1 8956 TIP3 H2 HT 0.417000 1.0080 0 1815 WT1 8970 TIP3 OH2 OT -0.834000 15.9994 0 1816 WT1 8970 TIP3 H1 HT 0.417000 1.0080 0 1817 WT1 8970 TIP3 H2 HT 0.417000 1.0080 0 1818 WT1 8973 TIP3 OH2 OT -0.834000 15.9994 0 1819 WT1 8973 TIP3 H1 HT 0.417000 1.0080 0 1820 WT1 8973 TIP3 H2 HT 0.417000 1.0080 0 1821 WT1 8976 TIP3 OH2 OT -0.834000 15.9994 0 1822 WT1 8976 TIP3 H1 HT 0.417000 1.0080 0 1823 WT1 8976 TIP3 H2 HT 0.417000 1.0080 0 1824 WT1 8977 TIP3 OH2 OT -0.834000 15.9994 0 1825 WT1 8977 TIP3 H1 HT 0.417000 1.0080 0 1826 WT1 8977 TIP3 H2 HT 0.417000 1.0080 0 1827 WT1 8988 TIP3 OH2 OT -0.834000 15.9994 0 1828 WT1 8988 TIP3 H1 HT 0.417000 1.0080 0 1829 WT1 8988 TIP3 H2 HT 0.417000 1.0080 0 1830 WT1 9082 TIP3 OH2 OT -0.834000 15.9994 0 1831 WT1 9082 TIP3 H1 HT 0.417000 1.0080 0 1832 WT1 9082 TIP3 H2 HT 0.417000 1.0080 0 1833 WT1 9096 TIP3 OH2 OT -0.834000 15.9994 0 1834 WT1 9096 TIP3 H1 HT 0.417000 1.0080 0 1835 WT1 9096 TIP3 H2 HT 0.417000 1.0080 0 1836 WT1 9226 TIP3 OH2 OT -0.834000 15.9994 0 1837 WT1 9226 TIP3 H1 HT 0.417000 1.0080 0 1838 WT1 9226 TIP3 H2 HT 0.417000 1.0080 0 1839 WT1 9241 TIP3 OH2 OT -0.834000 15.9994 0 1840 WT1 9241 TIP3 H1 HT 0.417000 1.0080 0 1841 WT1 9241 TIP3 H2 HT 0.417000 1.0080 0 1842 WT1 9250 TIP3 OH2 OT -0.834000 15.9994 0 1843 WT1 9250 TIP3 H1 HT 0.417000 1.0080 0 1844 WT1 9250 TIP3 H2 HT 0.417000 1.0080 0 1236 !NBOND: bonds 1 5 2 1 3 1 4 1 5 6 7 5 7 8 7 9 7 10 11 5 11 16 12 11 13 15 13 14 13 18 16 17 16 18 18 19 20 18 20 21 20 22 20 23 24 25 24 26 27 28 27 29 30 31 30 32 33 34 33 35 36 37 36 38 39 40 39 41 42 43 42 44 45 46 45 47 48 49 48 50 51 52 51 53 54 55 54 56 57 58 57 59 60 61 60 62 63 64 63 65 66 67 66 68 69 70 69 71 72 73 72 74 75 76 75 77 78 79 78 80 81 82 81 83 84 85 84 86 87 88 87 89 90 91 90 92 93 94 93 95 96 97 96 98 99 100 99 101 102 103 102 104 105 106 105 107 108 109 108 110 111 112 111 113 114 115 114 116 117 118 117 119 120 121 120 122 123 124 123 125 126 127 126 128 129 130 129 131 132 133 132 134 135 136 135 137 138 139 138 140 141 142 141 143 144 145 144 146 147 148 147 149 150 151 150 152 153 154 153 155 156 157 156 158 159 160 159 161 162 163 162 164 165 166 165 167 168 169 168 170 171 172 171 173 174 175 174 176 177 178 177 179 180 181 180 182 183 184 183 185 186 187 186 188 189 190 189 191 192 193 192 194 195 196 195 197 198 199 198 200 201 202 201 203 204 205 204 206 207 208 207 209 210 211 210 212 213 214 213 215 216 217 216 218 219 220 219 221 222 223 222 224 225 226 225 227 228 229 228 230 231 232 231 233 234 235 234 236 237 238 237 239 240 241 240 242 243 244 243 245 246 247 246 248 249 250 249 251 252 253 252 254 255 256 255 257 258 259 258 260 261 262 261 263 264 265 264 266 267 268 267 269 270 271 270 272 273 274 273 275 276 277 276 278 279 280 279 281 282 283 282 284 285 286 285 287 288 289 288 290 291 292 291 293 294 295 294 296 297 298 297 299 300 301 300 302 303 304 303 305 306 307 306 308 309 310 309 311 312 313 312 314 315 316 315 317 318 319 318 320 321 322 321 323 324 325 324 326 327 328 327 329 330 331 330 332 333 334 333 335 336 337 336 338 339 340 339 341 342 343 342 344 345 346 345 347 348 349 348 350 351 352 351 353 354 355 354 356 357 358 357 359 360 361 360 362 363 364 363 365 366 367 366 368 369 370 369 371 372 373 372 374 375 376 375 377 378 379 378 380 381 382 381 383 384 385 384 386 387 388 387 389 390 391 390 392 393 394 393 395 396 397 396 398 399 400 399 401 402 403 402 404 405 406 405 407 408 409 408 410 411 412 411 413 414 415 414 416 417 418 417 419 420 421 420 422 423 424 423 425 426 427 426 428 429 430 429 431 432 433 432 434 435 436 435 437 438 439 438 440 441 442 441 443 444 445 444 446 447 448 447 449 450 451 450 452 453 454 453 455 456 457 456 458 459 460 459 461 462 463 462 464 465 466 465 467 468 469 468 470 471 472 471 473 474 475 474 476 477 478 477 479 480 481 480 482 483 484 483 485 486 487 486 488 489 490 489 491 492 493 492 494 495 496 495 497 498 499 498 500 501 502 501 503 504 505 504 506 507 508 507 509 510 511 510 512 513 514 513 515 516 517 516 518 519 520 519 521 522 523 522 524 525 526 525 527 528 529 528 530 531 532 531 533 534 535 534 536 537 538 537 539 540 541 540 542 543 544 543 545 546 547 546 548 549 550 549 551 552 553 552 554 555 556 555 557 558 559 558 560 561 562 561 563 564 565 564 566 567 568 567 569 570 571 570 572 573 574 573 575 576 577 576 578 579 580 579 581 582 583 582 584 585 586 585 587 588 589 588 590 591 592 591 593 594 595 594 596 597 598 597 599 600 601 600 602 603 604 603 605 606 607 606 608 609 610 609 611 612 613 612 614 615 616 615 617 618 619 618 620 621 622 621 623 624 625 624 626 627 628 627 629 630 631 630 632 633 634 633 635 636 637 636 638 639 640 639 641 642 643 642 644 645 646 645 647 648 649 648 650 651 652 651 653 654 655 654 656 657 658 657 659 660 661 660 662 663 664 663 665 666 667 666 668 669 670 669 671 672 673 672 674 675 676 675 677 678 679 678 680 681 682 681 683 684 685 684 686 687 688 687 689 690 691 690 692 693 694 693 695 696 697 696 698 699 700 699 701 702 703 702 704 705 706 705 707 708 709 708 710 711 712 711 713 714 715 714 716 717 718 717 719 720 721 720 722 723 724 723 725 726 727 726 728 729 730 729 731 732 733 732 734 735 736 735 737 738 739 738 740 741 742 741 743 744 745 744 746 747 748 747 749 750 751 750 752 753 754 753 755 756 757 756 758 759 760 759 761 762 763 762 764 765 766 765 767 768 769 768 770 771 772 771 773 774 775 774 776 777 778 777 779 780 781 780 782 783 784 783 785 786 787 786 788 789 790 789 791 792 793 792 794 795 796 795 797 798 799 798 800 801 802 801 803 804 805 804 806 807 808 807 809 810 811 810 812 813 814 813 815 816 817 816 818 819 820 819 821 822 823 822 824 825 826 825 827 828 829 828 830 831 832 831 833 834 835 834 836 837 838 837 839 840 841 840 842 843 844 843 845 846 847 846 848 849 850 849 851 852 853 852 854 855 856 855 857 858 859 858 860 861 862 861 863 864 865 864 866 867 868 867 869 870 871 870 872 873 874 873 875 876 877 876 878 879 880 879 881 882 883 882 884 885 886 885 887 888 889 888 890 891 892 891 893 894 895 894 896 897 898 897 899 900 901 900 902 903 904 903 905 906 907 906 908 909 910 909 911 912 913 912 914 915 916 915 917 918 919 918 920 921 922 921 923 924 925 924 926 927 928 927 929 930 931 930 932 933 934 933 935 936 937 936 938 939 940 939 941 942 943 942 944 945 946 945 947 948 949 948 950 951 952 951 953 954 955 954 956 957 958 957 959 960 961 960 962 963 964 963 965 966 967 966 968 969 970 969 971 972 973 972 974 975 976 975 977 978 979 978 980 981 982 981 983 984 985 984 986 987 988 987 989 990 991 990 992 993 994 993 995 996 997 996 998 999 1000 999 1001 1002 1003 1002 1004 1005 1006 1005 1007 1008 1009 1008 1010 1011 1012 1011 1013 1014 1015 1014 1016 1017 1018 1017 1019 1020 1021 1020 1022 1023 1024 1023 1025 1026 1027 1026 1028 1029 1030 1029 1031 1032 1033 1032 1034 1035 1036 1035 1037 1038 1039 1038 1040 1041 1042 1041 1043 1044 1045 1044 1046 1047 1048 1047 1049 1050 1051 1050 1052 1053 1054 1053 1055 1056 1057 1056 1058 1059 1060 1059 1061 1062 1063 1062 1064 1065 1066 1065 1067 1068 1069 1068 1070 1071 1072 1071 1073 1074 1075 1074 1076 1077 1078 1077 1079 1080 1081 1080 1082 1083 1084 1083 1085 1086 1087 1086 1088 1089 1090 1089 1091 1092 1093 1092 1094 1095 1096 1095 1097 1098 1099 1098 1100 1101 1102 1101 1103 1104 1105 1104 1106 1107 1108 1107 1109 1110 1111 1110 1112 1113 1114 1113 1115 1116 1117 1116 1118 1119 1120 1119 1121 1122 1123 1122 1124 1125 1126 1125 1127 1128 1129 1128 1130 1131 1132 1131 1133 1134 1135 1134 1136 1137 1138 1137 1139 1140 1141 1140 1142 1143 1144 1143 1145 1146 1147 1146 1148 1149 1150 1149 1151 1152 1153 1152 1154 1155 1156 1155 1157 1158 1159 1158 1160 1161 1162 1161 1163 1164 1165 1164 1166 1167 1168 1167 1169 1170 1171 1170 1172 1173 1174 1173 1175 1176 1177 1176 1178 1179 1180 1179 1181 1182 1183 1182 1184 1185 1186 1185 1187 1188 1189 1188 1190 1191 1192 1191 1193 1194 1195 1194 1196 1197 1198 1197 1199 1200 1201 1200 1202 1203 1204 1203 1205 1206 1207 1206 1208 1209 1210 1209 1211 1212 1213 1212 1214 1215 1216 1215 1217 1218 1219 1218 1220 1221 1222 1221 1223 1224 1225 1224 1226 1227 1228 1227 1229 1230 1231 1230 1232 1233 1234 1233 1235 1236 1237 1236 1238 1239 1240 1239 1241 1242 1243 1242 1244 1245 1246 1245 1247 1248 1249 1248 1250 1251 1252 1251 1253 1254 1255 1254 1256 1257 1258 1257 1259 1260 1261 1260 1262 1263 1264 1263 1265 1266 1267 1266 1268 1269 1270 1269 1271 1272 1273 1272 1274 1275 1276 1275 1277 1278 1279 1278 1280 1281 1282 1281 1283 1284 1285 1284 1286 1287 1288 1287 1289 1290 1291 1290 1292 1293 1294 1293 1295 1296 1297 1296 1298 1299 1300 1299 1301 1302 1303 1302 1304 1305 1306 1305 1307 1308 1309 1308 1310 1311 1312 1311 1313 1314 1315 1314 1316 1317 1318 1317 1319 1320 1321 1320 1322 1323 1324 1323 1325 1326 1327 1326 1328 1329 1330 1329 1331 1332 1333 1332 1334 1335 1336 1335 1337 1338 1339 1338 1340 1341 1342 1341 1343 1344 1345 1344 1346 1347 1348 1347 1349 1350 1351 1350 1352 1353 1354 1353 1355 1356 1357 1356 1358 1359 1360 1359 1361 1362 1363 1362 1364 1365 1366 1365 1367 1368 1369 1368 1370 1371 1372 1371 1373 1374 1375 1374 1376 1377 1378 1377 1379 1380 1381 1380 1382 1383 1384 1383 1385 1386 1387 1386 1388 1389 1390 1389 1391 1392 1393 1392 1394 1395 1396 1395 1397 1398 1399 1398 1400 1401 1402 1401 1403 1404 1405 1404 1406 1407 1408 1407 1409 1410 1411 1410 1412 1413 1414 1413 1415 1416 1417 1416 1418 1419 1420 1419 1421 1422 1423 1422 1424 1425 1426 1425 1427 1428 1429 1428 1430 1431 1432 1431 1433 1434 1435 1434 1436 1437 1438 1437 1439 1440 1441 1440 1442 1443 1444 1443 1445 1446 1447 1446 1448 1449 1450 1449 1451 1452 1453 1452 1454 1455 1456 1455 1457 1458 1459 1458 1460 1461 1462 1461 1463 1464 1465 1464 1466 1467 1468 1467 1469 1470 1471 1470 1472 1473 1474 1473 1475 1476 1477 1476 1478 1479 1480 1479 1481 1482 1483 1482 1484 1485 1486 1485 1487 1488 1489 1488 1490 1491 1492 1491 1493 1494 1495 1494 1496 1497 1498 1497 1499 1500 1501 1500 1502 1503 1504 1503 1505 1506 1507 1506 1508 1509 1510 1509 1511 1512 1513 1512 1514 1515 1516 1515 1517 1518 1519 1518 1520 1521 1522 1521 1523 1524 1525 1524 1526 1527 1528 1527 1529 1530 1531 1530 1532 1533 1534 1533 1535 1536 1537 1536 1538 1539 1540 1539 1541 1542 1543 1542 1544 1545 1546 1545 1547 1548 1549 1548 1550 1551 1552 1551 1553 1554 1555 1554 1556 1557 1558 1557 1559 1560 1561 1560 1562 1563 1564 1563 1565 1566 1567 1566 1568 1569 1570 1569 1571 1572 1573 1572 1574 1575 1576 1575 1577 1578 1579 1578 1580 1581 1582 1581 1583 1584 1585 1584 1586 1587 1588 1587 1589 1590 1591 1590 1592 1593 1594 1593 1595 1596 1597 1596 1598 1599 1600 1599 1601 1602 1603 1602 1604 1605 1606 1605 1607 1608 1609 1608 1610 1611 1612 1611 1613 1614 1615 1614 1616 1617 1618 1617 1619 1620 1621 1620 1622 1623 1624 1623 1625 1626 1627 1626 1628 1629 1630 1629 1631 1632 1633 1632 1634 1635 1636 1635 1637 1638 1639 1638 1640 1641 1642 1641 1643 1644 1645 1644 1646 1647 1648 1647 1649 1650 1651 1650 1652 1653 1654 1653 1655 1656 1657 1656 1658 1659 1660 1659 1661 1662 1663 1662 1664 1665 1666 1665 1667 1668 1669 1668 1670 1671 1672 1671 1673 1674 1675 1674 1676 1677 1678 1677 1679 1680 1681 1680 1682 1683 1684 1683 1685 1686 1687 1686 1688 1689 1690 1689 1691 1692 1693 1692 1694 1695 1696 1695 1697 1698 1699 1698 1700 1701 1702 1701 1703 1704 1705 1704 1706 1707 1708 1707 1709 1710 1711 1710 1712 1713 1714 1713 1715 1716 1717 1716 1718 1719 1720 1719 1721 1722 1723 1722 1724 1725 1726 1725 1727 1728 1729 1728 1730 1731 1732 1731 1733 1734 1735 1734 1736 1737 1738 1737 1739 1740 1741 1740 1742 1743 1744 1743 1745 1746 1747 1746 1748 1749 1750 1749 1751 1752 1753 1752 1754 1755 1756 1755 1757 1758 1759 1758 1760 1761 1762 1761 1763 1764 1765 1764 1766 1767 1768 1767 1769 1770 1771 1770 1772 1773 1774 1773 1775 1776 1777 1776 1778 1779 1780 1779 1781 1782 1783 1782 1784 1785 1786 1785 1787 1788 1789 1788 1790 1791 1792 1791 1793 1794 1795 1794 1796 1797 1798 1797 1799 1800 1801 1800 1802 1803 1804 1803 1805 1806 1807 1806 1808 1809 1810 1809 1811 1812 1813 1812 1814 1815 1816 1815 1817 1818 1819 1818 1820 1821 1822 1821 1823 1824 1825 1824 1826 1827 1828 1827 1829 1830 1831 1830 1832 1833 1834 1833 1835 1836 1837 1836 1838 1839 1840 1839 1841 1842 1843 1842 1844 646 !NTHETA: angles 1 5 6 1 5 11 2 1 5 2 1 4 2 1 3 3 1 5 3 1 4 4 1 5 5 11 12 5 11 16 5 7 10 5 7 9 5 7 8 7 5 6 7 5 11 7 5 1 8 7 10 8 7 9 9 7 10 11 5 6 13 18 19 14 13 18 15 13 18 15 13 14 16 18 19 16 18 13 16 11 12 17 16 11 17 16 18 18 20 23 18 20 22 18 20 21 18 16 11 20 18 19 20 18 13 20 18 16 21 20 23 21 20 22 22 20 23 25 24 26 28 27 29 31 30 32 34 33 35 37 36 38 40 39 41 43 42 44 46 45 47 49 48 50 52 51 53 55 54 56 58 57 59 61 60 62 64 63 65 67 66 68 70 69 71 73 72 74 76 75 77 79 78 80 82 81 83 85 84 86 88 87 89 91 90 92 94 93 95 97 96 98 100 99 101 103 102 104 106 105 107 109 108 110 112 111 113 115 114 116 118 117 119 121 120 122 124 123 125 127 126 128 130 129 131 133 132 134 136 135 137 139 138 140 142 141 143 145 144 146 148 147 149 151 150 152 154 153 155 157 156 158 160 159 161 163 162 164 166 165 167 169 168 170 172 171 173 175 174 176 178 177 179 181 180 182 184 183 185 187 186 188 190 189 191 193 192 194 196 195 197 199 198 200 202 201 203 205 204 206 208 207 209 211 210 212 214 213 215 217 216 218 220 219 221 223 222 224 226 225 227 229 228 230 232 231 233 235 234 236 238 237 239 241 240 242 244 243 245 247 246 248 250 249 251 253 252 254 256 255 257 259 258 260 262 261 263 265 264 266 268 267 269 271 270 272 274 273 275 277 276 278 280 279 281 283 282 284 286 285 287 289 288 290 292 291 293 295 294 296 298 297 299 301 300 302 304 303 305 307 306 308 310 309 311 313 312 314 316 315 317 319 318 320 322 321 323 325 324 326 328 327 329 331 330 332 334 333 335 337 336 338 340 339 341 343 342 344 346 345 347 349 348 350 352 351 353 355 354 356 358 357 359 361 360 362 364 363 365 367 366 368 370 369 371 373 372 374 376 375 377 379 378 380 382 381 383 385 384 386 388 387 389 391 390 392 394 393 395 397 396 398 400 399 401 403 402 404 406 405 407 409 408 410 412 411 413 415 414 416 418 417 419 421 420 422 424 423 425 427 426 428 430 429 431 433 432 434 436 435 437 439 438 440 442 441 443 445 444 446 448 447 449 451 450 452 454 453 455 457 456 458 460 459 461 463 462 464 466 465 467 469 468 470 472 471 473 475 474 476 478 477 479 481 480 482 484 483 485 487 486 488 490 489 491 493 492 494 496 495 497 499 498 500 502 501 503 505 504 506 508 507 509 511 510 512 514 513 515 517 516 518 520 519 521 523 522 524 526 525 527 529 528 530 532 531 533 535 534 536 538 537 539 541 540 542 544 543 545 547 546 548 550 549 551 553 552 554 556 555 557 559 558 560 562 561 563 565 564 566 568 567 569 571 570 572 574 573 575 577 576 578 580 579 581 583 582 584 586 585 587 589 588 590 592 591 593 595 594 596 598 597 599 601 600 602 604 603 605 607 606 608 610 609 611 613 612 614 616 615 617 619 618 620 622 621 623 625 624 626 628 627 629 631 630 632 634 633 635 637 636 638 640 639 641 643 642 644 646 645 647 649 648 650 652 651 653 655 654 656 658 657 659 661 660 662 664 663 665 667 666 668 670 669 671 673 672 674 676 675 677 679 678 680 682 681 683 685 684 686 688 687 689 691 690 692 694 693 695 697 696 698 700 699 701 703 702 704 706 705 707 709 708 710 712 711 713 715 714 716 718 717 719 721 720 722 724 723 725 727 726 728 730 729 731 733 732 734 736 735 737 739 738 740 742 741 743 745 744 746 748 747 749 751 750 752 754 753 755 757 756 758 760 759 761 763 762 764 766 765 767 769 768 770 772 771 773 775 774 776 778 777 779 781 780 782 784 783 785 787 786 788 790 789 791 793 792 794 796 795 797 799 798 800 802 801 803 805 804 806 808 807 809 811 810 812 814 813 815 817 816 818 820 819 821 823 822 824 826 825 827 829 828 830 832 831 833 835 834 836 838 837 839 841 840 842 844 843 845 847 846 848 850 849 851 853 852 854 856 855 857 859 858 860 862 861 863 865 864 866 868 867 869 871 870 872 874 873 875 877 876 878 880 879 881 883 882 884 886 885 887 889 888 890 892 891 893 895 894 896 898 897 899 901 900 902 904 903 905 907 906 908 910 909 911 913 912 914 916 915 917 919 918 920 922 921 923 925 924 926 928 927 929 931 930 932 934 933 935 937 936 938 940 939 941 943 942 944 946 945 947 949 948 950 952 951 953 955 954 956 958 957 959 961 960 962 964 963 965 967 966 968 970 969 971 973 972 974 976 975 977 979 978 980 982 981 983 985 984 986 988 987 989 991 990 992 994 993 995 997 996 998 1000 999 1001 1003 1002 1004 1006 1005 1007 1009 1008 1010 1012 1011 1013 1015 1014 1016 1018 1017 1019 1021 1020 1022 1024 1023 1025 1027 1026 1028 1030 1029 1031 1033 1032 1034 1036 1035 1037 1039 1038 1040 1042 1041 1043 1045 1044 1046 1048 1047 1049 1051 1050 1052 1054 1053 1055 1057 1056 1058 1060 1059 1061 1063 1062 1064 1066 1065 1067 1069 1068 1070 1072 1071 1073 1075 1074 1076 1078 1077 1079 1081 1080 1082 1084 1083 1085 1087 1086 1088 1090 1089 1091 1093 1092 1094 1096 1095 1097 1099 1098 1100 1102 1101 1103 1105 1104 1106 1108 1107 1109 1111 1110 1112 1114 1113 1115 1117 1116 1118 1120 1119 1121 1123 1122 1124 1126 1125 1127 1129 1128 1130 1132 1131 1133 1135 1134 1136 1138 1137 1139 1141 1140 1142 1144 1143 1145 1147 1146 1148 1150 1149 1151 1153 1152 1154 1156 1155 1157 1159 1158 1160 1162 1161 1163 1165 1164 1166 1168 1167 1169 1171 1170 1172 1174 1173 1175 1177 1176 1178 1180 1179 1181 1183 1182 1184 1186 1185 1187 1189 1188 1190 1192 1191 1193 1195 1194 1196 1198 1197 1199 1201 1200 1202 1204 1203 1205 1207 1206 1208 1210 1209 1211 1213 1212 1214 1216 1215 1217 1219 1218 1220 1222 1221 1223 1225 1224 1226 1228 1227 1229 1231 1230 1232 1234 1233 1235 1237 1236 1238 1240 1239 1241 1243 1242 1244 1246 1245 1247 1249 1248 1250 1252 1251 1253 1255 1254 1256 1258 1257 1259 1261 1260 1262 1264 1263 1265 1267 1266 1268 1270 1269 1271 1273 1272 1274 1276 1275 1277 1279 1278 1280 1282 1281 1283 1285 1284 1286 1288 1287 1289 1291 1290 1292 1294 1293 1295 1297 1296 1298 1300 1299 1301 1303 1302 1304 1306 1305 1307 1309 1308 1310 1312 1311 1313 1315 1314 1316 1318 1317 1319 1321 1320 1322 1324 1323 1325 1327 1326 1328 1330 1329 1331 1333 1332 1334 1336 1335 1337 1339 1338 1340 1342 1341 1343 1345 1344 1346 1348 1347 1349 1351 1350 1352 1354 1353 1355 1357 1356 1358 1360 1359 1361 1363 1362 1364 1366 1365 1367 1369 1368 1370 1372 1371 1373 1375 1374 1376 1378 1377 1379 1381 1380 1382 1384 1383 1385 1387 1386 1388 1390 1389 1391 1393 1392 1394 1396 1395 1397 1399 1398 1400 1402 1401 1403 1405 1404 1406 1408 1407 1409 1411 1410 1412 1414 1413 1415 1417 1416 1418 1420 1419 1421 1423 1422 1424 1426 1425 1427 1429 1428 1430 1432 1431 1433 1435 1434 1436 1438 1437 1439 1441 1440 1442 1444 1443 1445 1447 1446 1448 1450 1449 1451 1453 1452 1454 1456 1455 1457 1459 1458 1460 1462 1461 1463 1465 1464 1466 1468 1467 1469 1471 1470 1472 1474 1473 1475 1477 1476 1478 1480 1479 1481 1483 1482 1484 1486 1485 1487 1489 1488 1490 1492 1491 1493 1495 1494 1496 1498 1497 1499 1501 1500 1502 1504 1503 1505 1507 1506 1508 1510 1509 1511 1513 1512 1514 1516 1515 1517 1519 1518 1520 1522 1521 1523 1525 1524 1526 1528 1527 1529 1531 1530 1532 1534 1533 1535 1537 1536 1538 1540 1539 1541 1543 1542 1544 1546 1545 1547 1549 1548 1550 1552 1551 1553 1555 1554 1556 1558 1557 1559 1561 1560 1562 1564 1563 1565 1567 1566 1568 1570 1569 1571 1573 1572 1574 1576 1575 1577 1579 1578 1580 1582 1581 1583 1585 1584 1586 1588 1587 1589 1591 1590 1592 1594 1593 1595 1597 1596 1598 1600 1599 1601 1603 1602 1604 1606 1605 1607 1609 1608 1610 1612 1611 1613 1615 1614 1616 1618 1617 1619 1621 1620 1622 1624 1623 1625 1627 1626 1628 1630 1629 1631 1633 1632 1634 1636 1635 1637 1639 1638 1640 1642 1641 1643 1645 1644 1646 1648 1647 1649 1651 1650 1652 1654 1653 1655 1657 1656 1658 1660 1659 1661 1663 1662 1664 1666 1665 1667 1669 1668 1670 1672 1671 1673 1675 1674 1676 1678 1677 1679 1681 1680 1682 1684 1683 1685 1687 1686 1688 1690 1689 1691 1693 1692 1694 1696 1695 1697 1699 1698 1700 1702 1701 1703 1705 1704 1706 1708 1707 1709 1711 1710 1712 1714 1713 1715 1717 1716 1718 1720 1719 1721 1723 1722 1724 1726 1725 1727 1729 1728 1730 1732 1731 1733 1735 1734 1736 1738 1737 1739 1741 1740 1742 1744 1743 1745 1747 1746 1748 1750 1749 1751 1753 1752 1754 1756 1755 1757 1759 1758 1760 1762 1761 1763 1765 1764 1766 1768 1767 1769 1771 1770 1772 1774 1773 1775 1777 1776 1778 1780 1779 1781 1783 1782 1784 1786 1785 1787 1789 1788 1790 1792 1791 1793 1795 1794 1796 1798 1797 1799 1801 1800 1802 1804 1803 1805 1807 1806 1808 1810 1809 1811 1813 1812 1814 1816 1815 1817 1819 1818 1820 1822 1821 1823 1825 1824 1826 1828 1827 1829 1831 1830 1832 1834 1833 1835 1837 1836 1838 1840 1839 1841 1843 1842 1844 49 !NPHI: dihedrals 1 5 7 8 1 5 7 9 1 5 7 10 1 5 11 16 1 5 11 12 2 1 5 7 2 1 5 11 2 1 5 6 3 1 5 7 3 1 5 11 3 1 5 6 4 1 5 7 4 1 5 11 4 1 5 6 5 11 16 17 5 11 16 18 6 5 7 8 6 5 7 9 6 5 7 10 6 5 11 16 6 5 11 12 7 5 11 16 7 5 11 12 8 7 5 11 9 7 5 11 10 7 5 11 11 16 18 20 11 16 18 13 11 16 18 19 12 11 16 17 12 11 16 18 13 18 20 21 13 18 20 22 13 18 20 23 13 18 16 17 14 13 18 20 14 13 18 16 14 13 18 19 15 13 18 20 15 13 18 16 15 13 18 19 16 18 20 21 16 18 20 22 16 18 20 23 17 16 18 20 17 16 18 19 19 18 20 21 19 18 20 22 19 18 20 23 3 !NIMPHI: impropers 11 5 16 12 13 18 15 14 16 11 18 17 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 !NGRP 0 0 0 protomol/examples/argon_400/0040755027616700000500000000000010237151526015326 5ustar pbrenne1dipprotomol/examples/argon_400/.cvsignore0100644027616700000500000000001710237151525017320 0ustar pbrenne1dip*energ* *out* protomol/examples/argon_400/argon.lf.conf0100644027616700000500000000133110237151525017675 0ustar pbrenne1dipfirststep 0 numsteps 2000 # seed 1234 posfile argon.pdb velfile argon.vel.pdb psffile argon.psf parfile argon.par # temperature 300.0 usecharmm28parfile yes outputfreq 1 allenergiesfile argon.out.energies.lf boundaryConditions Periodic cellManager Cubic cellsize 6.5 Integrator { level 0 Leapfrog { timestep 1 # force Improper, # Dihedral, # Bond, # Angle force LennardJones -algorithm NonbondedSimpleFull # -algorithm NonbondedCutoff # -switchingFunction C2 # -switchon 0.1 # -cutoff 6.5 # force Coulomb # -algorithm NonbondedCutoff # -switchingFunction C1 # -cutoff 6.5 } } protomol/examples/argon_400/argon.npt.conf0100644027616700000500000000210410237151525020074 0ustar pbrenne1dipfirststep 0 numsteps 2000 # seed 1234 posfile argon.pdb velfile argon.vel.pdb psffile argon.psf parfile argon.par # temperature 300.0 usecharmm28parfile yes outputfreq 1 allenergiesfile argon.out.energies.npt boundaryConditions Periodic cellbasisvector1 55.3316 0 0 cellbasisvector2 0 55.3316 0 cellbasisvector3 0 0 55.3316 cellorigin 0 0 0 cellManager Cubic cellsize 100 Integrator { level 0 NPTVerlet{ timestep 1 # temperature 300 # Kelvin temperature 143 # Kelvin pressure 40 # 40 bar # Units: (fs)^-1 omegaTo 0.00244 # Units: (fs)^-1 omegaTv 0.00244 # Units: (fs) tauP 1022.72 # force Improper, # Dihedral, # Bond, # Angle force LennardJones -algorithm NonbondedSimpleFull # -algorithm NonbondedCutoff # -switchingFunction C2 # -switchon 0.1 # -cutoff 6.5 # force Coulomb # -algorithm NonbondedCutoff # -switchingFunction C1 # -cutoff 6.5 } } protomol/examples/argon_400/argon.par0100644027616700000500000003540310237151525017141 0ustar pbrenne1dip*>>>> CHARMM22 Parameter File for Ionic Liquids <<<<<<<<<<<<<<<< *>>>>>>>>>>>>>>>>>>>>>>> June 2001 <<<<<<<<<<<<<<<<<<<<<<<<<<<<< *>>>>>>>>>>>>>> Prepared by T. I. Morrow <<<<<<<<<<<<<<<<<<<<<<< ! REMARKS ! Revision 5 -- September 2002 -- All atom forcefield ! Revision 6 -- August 2003 -- Urey-Bradley angles removed ! Revision 7 -- February 2004 -- New [bmim+] forcefield ! ! This forcefield can be used for the following ions: ! [bmim+] [PF6-] [BF4-][pyr+] [choline+] [Cl-] ! ! And the following gases: ! CO2 SPCE (water) ! BONDS ! !V(bond) = Kb(b - b0)**2 ! !Kb: kcal/mole/A**2 !b0: A ! !atom type Kb b0 ! !-- Imidazole ring bonds CME NIMD 220.000 1.4762 ! From crystal nucleosides A/G (NF) CAL1 NIMD 220.000 1.4762 ! From crystal nucleosides A/G (NF) NIMD CIM1 400.000 1.3819 ! From imidazole (NF) NIMD CIA1 400.000 1.3366 ! From imidazole (NF) CIM1 CIM1 410.000 1.3610 ! From imidazole (NF) HA CIA1 340.000 1.0779 ! From imidazole (NF) HIM1 CIM1 365.000 1.0775 ! From imidazole (NF) !-- Pyridine ring bonds NIMD CP1 483.000 1.3365 ! From OPLS-AA CP1 CP2 469.000 1.3942 ! From OPLS-AA CP2 CP3 469.000 1.3922 ! From OPLS-AA CP1 HP1 367.000 1.0873 ! From OPLS-AA CP2 HP2 367.000 1.0848 ! From OPLS-AA CP3 HP3 367.000 1.0854 ! From OPLS-AA !-- Choline bonds COH HCO 309.000 1.096 ! carbon next to -OH, for alkanes COH OAL 428.000 1.4174 ! C-OH, from methanol (CT2) COH CMY 222.500 1.5200 ! for alkanes OAL HAL 545.000 0.9650 ! OH group, from methanol CMY HMY 309.000 1.0910 ! for alkanes CMY NQT 261.000 1.5324 ! CME NQT 261.000 1.5100 ! !-- Alkyl chain bonds CME HME 309.000 1.0899 ! methyl C-H bonds CAL1 HAL1 309.0 1.0899 ! From CN8 HN7 (NF) CAL2 CAL2 222.50 1.5314 !Alkanes, sacred CAL2 CTRM 222.50 1.5301 !Alkanes, sacred CAL1 CAL2 200.0 1.5308 ! From exp CAL2 HAL2 309.0 1.0954 !Alkanes, sacred CTRM HTRM 322.0 1.0935 !alkanes !-- Additional Bonds for [Bmmim+] CIA1 C2ME 229.630 1.4873 C2ME H2ME 322.000 1.0915 !-- Anion bonds !-- Fluorinated anions P FP1 280.0 1.6458 ! From DFT Gaussian98 calculations - gas phase B3LYP/6-311+G* P FP2 280.0 1.6458 ! From DFT Gaussian98 calculations - gas phase B3LYP/6-311+G* P FP3 280.0 1.6458 ! From DFT Gaussian98 calculations - gas phase B3LYP/6-311+G* B FB 315.6 1.417 ! From DFT Gaussian98 calculations - gas phase B3LYP/6-311+G* !-- Triflate and bistriflamide CFME FME 936.4 1.350 ! for triflate and bistriflamide (J. Phys. Chem. Vol. 98 #1 p.107) CFME S 483.3 1.780 ! for triflate and bistriflamide (J. Phys. Chem. Vol. 98 #1 p.107) S OTRF 1547.7 1.470 ! for triflate and bistriflamide (J. Phys. Chem. Vol. 98 #1 p.107) !S NTRF !-- Gases O2CC O2CO 1030.00 1.160 ! From Gaussian98 !-- Water models SPCH SPCO 545.00 1.000 ! SPC/E rigid water !SPCH SPCH 0.00 1.630 ! ANGLES ! !V(angle) = Ktheta(Theta - Theta0)**2 ! !V(Urey-Bradley) = Kub(S - S0)**2 ! !Ktheta: kcal/mole/rad**2 !Theta0: degrees !Kub: kcal/mole/A**2 (Urey-Bradley) !S0: A ! !atom types Ktheta Theta0 Kub S0 ! !-- For imidazole, from imidazole alone: CAL2 CAL1 NIMD 140.0 112.34 ! k guessed, theta taken from Gaussian98 results (TIM) CME NIMD CIA1 130.0 125.78 ! k guessed, theta based on Gaussian98 results (TIM) CAL1 NIMD CIA1 130.0 125.78 ! k guessed, theta based on Gaussian98 results (TIM) CME NIMD CIM1 130.0 125.67 ! k guessed, theta based on Gaussian98 results (TIM) CAL1 NIMD CIM1 130.0 125.67 ! k guessed, theta based on Gaussian98 results (TIM) HME CME NIMD 30.0 109.41 ! k guessed, theta based on G98 (TIM) HAL1 CAL1 NIMD 30.0 109.41 ! k guessed, theta based on G98 (TIM) CIA1 NIMD CIM1 130.0 108.25 ! From imidazole (NF), modified to match G98 results (TIM) NIMD CIM1 CIM1 130.0 107.28 ! From imidazole (NF), modified to match G98 (TIM) NIMD CIA1 NIMD 130.0 109.11 ! From imidazole, modified to match G98 (TIM) NIMD CIA1 HA 25.0 125.44 ! From imidazole (NF) HIM1 CIM1 CIM1 25.0 130.74 ! From imidazole (NF) NIMD CIM1 HIM1 25.0 122.04 ! From imidazole (NF) !-- For pyridine: CP1 NIMD CP1 70.0 117.29 ! from OPLS-AA NIMD CP1 CP2 70.0 123.64 ! from OPLS-AA NIMD CP1 HP1 35.0 115.96 ! from OPLS-AA CP1 CP2 CP3 63.0 118.45 ! from OPLS-AA CP1 CP2 HP2 35.0 120.26 ! from OPLS-AA HP1 CP1 CP2 35.0 120.40 ! from OPLS-AA CP2 CP3 CP2 63.0 118.54 ! from OPLS-AA CP2 CP3 HP3 35.0 120.73 ! from OPLS-AA CP3 CP2 HP2 35.0 121.29 ! from OPLS-AA !-- For choline: HCO COH HCO 35.5 107.22 ! HCO COH OAL 45.9 111.81 ! from methanol HCO COH CMY 35.5 105.75 ! OAL COH CMY 75.7 109.39 ! from methanol COH OAL HAL 57.5 111.86 ! from methanol COH CMY HMY 26.5 110.64 ! COH CMY NQT 80.0 116.57 ! HMY CMY HMY 35.5 108.42 ! HMY CMY NQT 51.5 106.18 ! CMY NQT CME 50.0 110.69 ! CME NQT CME 50.0 108.85 ! NQT CME HME 48.0 109.00 ! !-- Alkyl chain bond angles HME CME HME 35.5 108.44 ! HAL1 CAL1 HAL1 35.5 108.44 ! HAL1 CAL1 CAL2 33.4 111.68 ! from alkanes CAL1 CAL2 HAL2 33.4 109.13 ! Theta matched to G98 (TIM) CAL1 CAL2 CAL2 58.35 111.50 ! Theta adjusted (TIM) HAL2 CAL2 HAL2 35.5 106.13 ! Theta matched to G98 (TIM) HAL2 CAL2 CAL2 26.50 108.43 ! HAL2 CAL2 CTRM 34.6 109.47 ! Alkanes, sacred, Theta adjusted (TIM) CAL2 CAL2 CTRM 58.00 112.34 ! ALLOW ALI CAL2 CTRM HTRM 34.60 111.62 ! Alkanes, sacred, Theta adjusted (TIM) HTRM CTRM HTRM 35.50 107.24 !alkane update, adm jr. 3/2/92, adjusted theta (TIM) !-- Additional Angles for [Bmmim+] C2ME CIA1 NIMD 45.80 126.23 CIA1 C2ME H2ME 33.43 111.08 H2ME C2ME H2ME 35.50 107.81 !-- Anion bond angles FP1 P FP1 25.0 180.00 !k and theta from G98 (TIM) FP2 P FP2 25.0 180.00 !k and theta from G98 (TIM) FP3 P FP3 25.0 180.00 !k and theta from G98 (TIM) FP1 P FP2 100.0 90.00 !k and theta from G98 (TIM) FP1 P FP3 100.0 90.00 !k and theta from G98 (TIM) FP2 P FP3 100.0 90.00 !k and theta from G98 (TIM) FB B FB 145.5 109.47 !k and theta from G98 (TIM)*** !-- Triflate and bistriflamide FME CFME FME 194.86 109.4712 ! for triflate and bistriflamide (J. Phys. Chem. Vol. 98 #1 p.107) OTRF S OTRF 208.25 109.4712 ! for triflate and bistriflamide (J. Phys. Chem. Vol. 98 #1 p.107) FME CFME S 262.68 109.4712 ! for triflate and bistriflamide (J. Phys. Chem. Vol. 98 #1 p.107) OTRF S CFME 210.76 109.4712 ! for triflate and bistriflamide (J. Phys. Chem. Vol. 98 #1 p.107) !-- Gases O2CO O2CC O2CO 56.00 180.00 !from EPM2 model !-- Water models SPCH SPCO SPCH 55.0 109.47 ! SPC/E rigid water DIHEDRALS ! !V(dihedral) = Kchi(1 + cos(n(chi) - delta)) ! !Kchi: kcal/mole !n: multiplicity !delta: degrees ! !atom types Kchi n delta ! !-- For imidazole, transferred from imidazole alone: CIA1 NIMD CIM1 CIM1 14.0000 2 180.00 ! From imidazole (NF) NIMD CIM1 CIM1 NIMD 14.0000 2 180.00 ! From imidazole (NF) NIMD CIA1 NIMD CIM1 14.0000 2 180.00 ! From imidazole (NF) HA CIA1 NIMD CIM1 3.0000 2 180.00 ! From imidazole (NF) HIM1 CIM1 CIM1 HIM1 2.0000 2 180.00 ! From imidazole (NF) HIM1 CIM1 NIMD CIA1 3.0000 2 180.00 ! From imidazole (NF) NIMD CIM1 CIM1 HIM1 3.0000 2 180.00 ! From imidazole (NF) NIMD CIA1 NIMD CME 0.0 2 180.00 ! NIMD CIA1 NIMD CAL1 0.0 2 180.00 ! HA CIA1 NIMD CME 0.0 2 180.00 ! HA CIA1 NIMD CAL1 0.0 2 180.00 ! HIM1 CIM1 NIMD CME 0.0 2 180.00 !NF HIM1 CIM1 NIMD CAL1 0.0 2 180.00 !NF CIM1 CIM1 NIMD CME 0.0 1 0.00 ! CIM1 CIM1 NIMD CAL1 0.0 1 0.00 ! CIA1 NIMD CME HME 0.195 2 180.00 ! CIA1 NIMD CAL1 HAL1 0.195 2 180.00 ! CIM1 NIMD CME HME 0.0 3 0.00 ! CIM1 NIMD CAL1 HAL1 0.0 3 0.00 ! CIA1 NIMD CAL1 CAL2 0.1 3 180.00 ! CIM1 NIMD CAL1 CAL2 0.2 4 0.00 ! NIMD CAL1 CAL2 CAL2 0.0 3 0.00 ! NIMD CAL1 CAL2 HAL2 0.0 3 0.00 ! !-- For pyridine: NIMD CP1 CP2 CP3 2.0000 2 0.00 ! adenine NIMD CP1 CP2 HP2 0.5000 2 180.00 ! adenineidazole (NF) CP1 CP2 CP3 CP2 3.1000 2 0.00 ! benzene CP1 CP2 CP3 HP3 4.2000 2 180.00 ! benzene CP2 CP3 CP2 HP2 4.2000 2 180.00 ! benzene CP3 CP2 CP1 HP1 4.2000 2 180.00 ! benzene HP1 CP1 CP2 HP2 2.4000 2 0.00 ! From imidazole (NF) HP2 CP2 CP3 HP3 2.4000 2 0.00 ! benzene CP2 CP1 NIMD CP1 10.0000 2 0.00 ! adenine HP1 CP1 NIMD CP1 8.5000 2 180.00 ! adenine !-- For Choline: HCO COH OAL HAL 0.3000 2 0.00 ! from ethanol CMY COH OAL HAL 1.3000 1 0.00 ! from ethanol HCO COH CMY HMY 2.5000 2 180.00 ! HCO COH CMY NQT 0.6000 2 0.00 ! OAL COH CMY HMY 0.0000 2 180.00 ! OAL COH CMY NQT 0.0000 1 0.00 ! COH CMY NQT CME 2.5000 3 180.00 ! HMY CMY NQT CME 0.0800 3 0.00 ! CMY NQT CME HME 0.0800 3 0.00 ! CME NQT CME HME 0.0800 3 0.00 ! ! -- Alkyl chain dihedral angles HAL1 CAL1 CAL2 CAL2 0.195 3 0.00 ! Alkanes HAL1 CAL1 CAL2 HAL2 0.195 3 0.00 !H-C1'-C2'-H HAL2 CAL2 CAL2 HAL2 0.195 3 0.00 !H-C1'-C2'-H CAL1 CAL2 CAL2 HAL2 0.195 3 0.00 ! Alkanes CAL1 CAL2 CAL2 CTRM 0.15 1 0.00 !Butane gauche term (TIM) HAL2 CAL2 CAL2 CTRM 0.195 3 0.00 ! Alkanes CAL2 CAL2 CTRM HTRM 0.160 3 0.00 ! Alkanes HAL2 CAL2 CTRM HTRM 0.160 3 0.00 ! Alkanes !-- Additional Dihedrals for [Bmmim+] C2ME CIA1 NIMD CIM1 3.0000 2 180.00 C2ME CIA1 NIMD CME 0.0000 2 180.00 C2ME CIA1 NIMD CAL1 0.0000 2 180.00 NIMD CIA1 C2ME H2ME 0.1950 2 180.00 ! ! !-- Anion dihedrals !-- triflate and bistriflamide FME CFME S OTRF 0.280 3 0.00 ! from CHARMM22 H-C-S-C IMPROPER ! !V(improper) = Kpsi(psi - psi0)**2 ! !Kpsi: kcal/mole/rad**2 !psi0: degrees !note that the second column of numbers (0) is ignored ! !atom types Kpsi psi0 ! !----------------------- Added for imidazole -------------------- HA NIMD NIMD CIA1 0.50 0 0.00 ! From imidazole (NF) HIM1 CIM1 NIMD CIM1 0.50 0 0.00 ! From imidazole (NF) HIM1 NIMD CIM1 CIM1 0.50 0 0.00 ! From imidazole (NF) NIMD CIM1 CIA1 CAL1 0.60 0 0.00 ! From imidazole (NF), k increased NIMD CIM1 CIA1 CME 0.60 0 0.00 ! From imidazole (NF), k increased !-- Additional Impropers for [Bmmim+] CIA1 NIMD NIMD C2ME 0.50 0 0.00 ! NONBONDED nbxmod 5 atom cdiel shift vatom vdistance vswitch - cutnb 14.0 ctofnb 12.0 ctonnb 10.0 eps 1.0 e14fac 1.0 wmin 1.5 !adm jr., 5/08/91, suggested cutoff scheme ! !V(Lennard-Jones) = Eps,i,j[(Rmin,i,j/ri,j)**12 - 2(Rmin,i,j/ri,j)**6] ! !epsilon: kcal/mole, Eps,i,j = sqrt(eps,i * eps,j) !Rmin/2: A, Rmin,i,j = Rmin/2,i + Rmin/2,j ! !atom ignored epsilon Rmin/2 ignored eps,1-4 Rmin/2,1-4 ! !-------------- for imidazole -------------- CIA1 0.000000 -0.050000 1.800000 ! From imidazole (NF) CIM1 0.000000 -0.050000 1.800000 ! From imidazole (NF) NIMD 0.000000 -0.200000 1.850000 ! From imidazole (NF) HIM1 0.000000 -0.007800 1.468000 ! From imidazole (NF) HA 0.000000 -0.046000 0.900000 ! From imidazole (NF) !--For pyridine ---------------------------- CP1 0.000000 -0.0700 1.992400 ! from OPLS-AA CP2 0.000000 -0.0700 1.992400 ! from OPLS-AA CP3 0.000000 -0.0700 1.992400 ! from OPLS-AA NPYR 0.000000 -0.1700 1.824000 ! from OPLS-AA HP1 0.000000 -0.0300 1.358000 ! from OPLS-AA HP2 0.0 -0.0300 1.35800 ! from OPLS-AA HP3 0.0 -0.0300 1.35800 ! from OPLS-AA !--For Choline COH 0.0 -0.055000 2.17500 ! propane HCO 0.0 -0.000000 1.0000 ! OAL 0.0 -0.152100 1.7700 ! from methanol HAL 0.0 -0.046000 0.2245 ! from TIP3P CMY 0.0 -0.055000 2.17500 ! propane HMY 0.0 -0.022000 1.32000 ! methane/ethane NQT 0.0 -0.200000 1.85000 !CHARMM27 nitrogen (amine) ! -- Alkyl chain atoms CME 0.0 -0.0200 2.275 ! methane/ethane HME 0.0 -0.0220 1.320 ! methane/ethane HAL1 0.0 -0.0220 1.320 ! HAL2 0.0 -0.0220 1.320 ! HTRM 0.0 -0.0220 1.320 ! CAL1 0.0 -0.0200 2.275 ! CAL2 0.0 -0.0550 2.175 ! CTRM 0.0 -0.0550 2.175 ! !-- Additional Non Bonded for [Bmmim+] C2ME 0.000000 -0.0780 2.040 ! H2ME 0.000000 -0.0240 1.340 ! !-- Anion atoms P 0.0 -0.5850 2.150 ! from CHARMM27 B 0.0 -0.0000 1.000 ! from JPCA Vol. 102, #7, p.1055-1061 FP1 0.0 -0.0900 1.700 ! from CHARMM27, similar to Potter, S.C. value FP2 0.0 -0.0900 1.700 ! from CHARMM27, similar to Potter, S.C. value FP3 0.0 -0.0900 1.700 ! from CHARMM27, similar to Potter, S.C. value FB 0.0 -0.0680 1.684 ! from JPCA Vol. 102, #7, p.1055-1061 CL 0.0 -0.1500 2.270 ! chloride from CHARMM27 !-- Triflate and bistriflamide S 0.0 -0.45000 2.000 ! CHARMM27 sulfur (methanethiol) NTRF 0.0 -0.20000 1.850 ! CHARMM27 nitrogen (amine) OTRF 0.0 -0.12000 1.700 ! CHARMM27 acetic acid carbonyl oxygen CFME 0.0 -0.10843 1.768 ! from Potter, S.C., Mol. Phys., v. 92, #5, 825-833, 1997. FME 0.0 -0.07943 1.670 ! from Potter, S.C., Mol. Phys., v. 92, #5, 825-833, 1997. !-- Gases O2CC 0.0 -0.05300 1.571 ! from TraPPE model O2CO 0.0 -0.15700 1.712 ! from TraPPE model !ARG 0.0 -0.23457 1.964 ! from Prausnitz's book p.144 !KRY 0.0 -0.32316 2.158 ! from Prausnitz's book p.144 ARG 0.0 -0.23333 1.903 ! from Panagiotopoulos (1989) KRY 0.0 -0.31980 2.024 ! from Panagiotopoulos (1989) CH4 0.0 -0.28375 2.251 ! from Prausnitz's book p.144 !-- Water SPCO 0.0 -0.15525 1.774 ! SPC/E Oxygen SPCH 0.0 -0.00000 1.000 ! SPC/E Hydrogen !-- LJ Atom Tests LJ1 0.0 -0.23837 1.911 ! HBOND CUTHB 0.5 ! If you want to do hbond analysis (only), then use ! READ PARAM APPEND CARD ! to append hbond parameters from the file: par_hbond.inp END protomol/examples/argon_400/argon.pdb0100644027616700000500000007647710237151526017145 0ustar pbrenne1dipREMARK FINAL COORDINATES WRITTEN BY NAMD AT TIMESTEP 1500 ATOM 1 ARG ARG 1 28.208 -16.773 -0.213 1.00 0.00 ATOM 2 ARG ARG 2 -24.635 18.990 26.441 1.00 0.00 ATOM 3 ARG ARG 3 -4.206 -9.855 -1.286 1.00 0.00 ATOM 4 ARG ARG 4 23.029 -15.635 -6.423 1.00 0.00 ATOM 5 ARG ARG 5 -4.634 6.319 -8.846 1.00 0.00 ATOM 6 ARG ARG 6 -27.573 10.297 23.736 1.00 0.00 ATOM 7 ARG ARG 7 -22.878 -3.852 14.571 1.00 0.00 ATOM 8 ARG ARG 8 -23.822 23.613 -9.679 1.00 0.00 ATOM 9 ARG ARG 9 7.806 -19.471 14.068 1.00 0.00 ATOM 10 ARG ARG 10 5.327 -0.712 -13.894 1.00 0.00 ATOM 11 ARG ARG 11 -16.703 26.539 21.329 1.00 0.00 ATOM 12 ARG ARG 12 2.148 5.806 22.346 1.00 0.00 ATOM 13 ARG ARG 13 5.218 -11.932 16.180 1.00 0.00 ATOM 14 ARG ARG 14 26.935 -1.994 -2.826 1.00 0.00 ATOM 15 ARG ARG 15 -4.094 -19.654 -18.547 1.00 0.00 ATOM 16 ARG ARG 16 -19.054 6.265 -14.695 1.00 0.00 ATOM 17 ARG ARG 17 13.099 16.431 15.801 1.00 0.00 ATOM 18 ARG ARG 18 -4.114 7.706 -27.992 1.00 0.00 ATOM 19 ARG ARG 19 -8.248 26.357 3.260 1.00 0.00 ATOM 20 ARG ARG 20 4.790 13.751 -16.887 1.00 0.00 ATOM 21 ARG ARG 21 15.888 5.693 10.726 1.00 0.00 ATOM 22 ARG ARG 22 -8.274 -2.482 3.519 1.00 0.00 ATOM 23 ARG ARG 23 25.023 -5.874 10.967 1.00 0.00 ATOM 24 ARG ARG 24 12.821 -16.725 -14.130 1.00 0.00 ATOM 25 ARG ARG 25 12.484 17.759 26.601 1.00 0.00 ATOM 26 ARG ARG 26 -6.504 14.509 -12.919 1.00 0.00 ATOM 27 ARG ARG 27 -8.356 -22.267 4.710 1.00 0.00 ATOM 28 ARG ARG 28 -25.417 -14.898 11.004 1.00 0.00 ATOM 29 ARG ARG 29 -8.886 -8.053 1.332 1.00 0.00 ATOM 30 ARG ARG 30 -18.122 5.428 1.433 1.00 0.00 ATOM 31 ARG ARG 31 21.110 -26.559 -21.984 1.00 0.00 ATOM 32 ARG ARG 32 19.068 -18.802 20.759 1.00 0.00 ATOM 33 ARG ARG 33 22.507 20.180 10.224 1.00 0.00 ATOM 34 ARG ARG 34 -15.832 -25.335 -24.478 1.00 0.00 ATOM 35 ARG ARG 35 -26.221 5.546 -13.615 1.00 0.00 ATOM 36 ARG ARG 36 21.534 18.158 -11.093 1.00 0.00 ATOM 37 ARG ARG 37 -6.469 -19.909 -1.614 1.00 0.00 ATOM 38 ARG ARG 38 20.175 26.295 27.917 1.00 0.00 ATOM 39 ARG ARG 39 -10.152 1.177 13.518 1.00 0.00 ATOM 40 ARG ARG 40 14.965 -21.243 -19.773 1.00 0.00 ATOM 41 ARG ARG 41 12.236 -12.466 -17.598 1.00 0.00 ATOM 42 ARG ARG 42 -7.536 22.580 19.516 1.00 0.00 ATOM 43 ARG ARG 43 21.618 -6.172 5.773 1.00 0.00 ATOM 44 ARG ARG 44 -9.950 -9.601 -22.876 1.00 0.00 ATOM 45 ARG ARG 45 -27.564 -23.342 24.667 1.00 0.00 ATOM 46 ARG ARG 46 -25.149 25.999 -27.232 1.00 0.00 ATOM 47 ARG ARG 47 -10.277 -13.315 14.339 1.00 0.00 ATOM 48 ARG ARG 48 -24.968 23.194 -22.145 1.00 0.00 ATOM 49 ARG ARG 49 13.477 -5.616 -9.870 1.00 0.00 ATOM 50 ARG ARG 50 13.312 -18.827 -7.401 1.00 0.00 ATOM 51 ARG ARG 51 11.598 -4.306 -20.998 1.00 0.00 ATOM 52 ARG ARG 52 -18.974 -4.557 -11.624 1.00 0.00 ATOM 53 ARG ARG 53 -14.876 -13.056 -0.648 1.00 0.00 ATOM 54 ARG ARG 54 -8.110 29.008 9.717 1.00 0.00 ATOM 55 ARG ARG 55 -21.103 -8.268 -25.263 1.00 0.00 ATOM 56 ARG ARG 56 25.269 1.608 5.620 1.00 0.00 ATOM 57 ARG ARG 57 -14.839 -24.028 -21.202 1.00 0.00 ATOM 58 ARG ARG 58 -19.120 0.948 -2.295 1.00 0.00 ATOM 59 ARG ARG 59 7.982 12.873 -18.228 1.00 0.00 ATOM 60 ARG ARG 60 14.315 -24.714 -12.199 1.00 0.00 ATOM 61 ARG ARG 61 9.981 -19.572 11.630 1.00 0.00 ATOM 62 ARG ARG 62 20.266 -27.809 5.304 1.00 0.00 ATOM 63 ARG ARG 63 -8.613 20.095 -18.002 1.00 0.00 ATOM 64 ARG ARG 64 -17.123 -17.245 19.234 1.00 0.00 ATOM 65 ARG ARG 65 26.019 -15.928 -8.130 1.00 0.00 ATOM 66 ARG ARG 66 -9.404 29.117 5.372 1.00 0.00 ATOM 67 ARG ARG 67 -18.180 22.172 -7.044 1.00 0.00 ATOM 68 ARG ARG 68 0.215 8.800 23.364 1.00 0.00 ATOM 69 ARG ARG 69 24.967 20.621 -4.958 1.00 0.00 ATOM 70 ARG ARG 70 -21.105 6.640 -23.314 1.00 0.00 ATOM 71 ARG ARG 71 18.162 26.770 -16.820 1.00 0.00 ATOM 72 ARG ARG 72 -10.477 15.011 11.815 1.00 0.00 ATOM 73 ARG ARG 73 -26.295 -9.635 18.504 1.00 0.00 ATOM 74 ARG ARG 74 12.870 -9.673 10.797 1.00 0.00 ATOM 75 ARG ARG 75 -3.819 4.802 1.323 1.00 0.00 ATOM 76 ARG ARG 76 9.104 -18.353 -13.595 1.00 0.00 ATOM 77 ARG ARG 77 4.885 -3.457 -9.564 1.00 0.00 ATOM 78 ARG ARG 78 19.998 -19.309 2.569 1.00 0.00 ATOM 79 ARG ARG 79 4.600 -10.858 -26.085 1.00 0.00 ATOM 80 ARG ARG 80 17.510 -18.368 7.040 1.00 0.00 ATOM 81 ARG ARG 81 12.778 27.807 -14.388 1.00 0.00 ATOM 82 ARG ARG 82 -14.834 -15.965 31.571 1.00 0.00 ATOM 83 ARG ARG 83 -22.144 3.645 -24.229 1.00 0.00 ATOM 84 ARG ARG 84 13.346 1.192 9.342 1.00 0.00 ATOM 85 ARG ARG 85 27.251 15.457 -0.882 1.00 0.00 ATOM 86 ARG ARG 86 -0.419 35.894 -10.148 1.00 0.00 ATOM 87 ARG ARG 87 -24.963 22.795 -14.357 1.00 0.00 ATOM 88 ARG ARG 88 4.136 -1.091 14.065 1.00 0.00 ATOM 89 ARG ARG 89 2.375 16.461 -16.107 1.00 0.00 ATOM 90 ARG ARG 90 15.366 -0.278 -24.299 1.00 0.00 ATOM 91 ARG ARG 91 3.156 -5.248 -5.096 1.00 0.00 ATOM 92 ARG ARG 92 16.094 9.680 -0.315 1.00 0.00 ATOM 93 ARG ARG 93 27.153 4.315 -10.127 1.00 0.00 ATOM 94 ARG ARG 94 -14.441 27.239 23.879 1.00 0.00 ATOM 95 ARG ARG 95 -26.527 -26.177 -13.585 1.00 0.00 ATOM 96 ARG ARG 96 14.982 10.297 -11.143 1.00 0.00 ATOM 97 ARG ARG 97 -0.015 20.087 20.497 1.00 0.00 ATOM 98 ARG ARG 98 -12.065 -23.583 -3.190 1.00 0.00 ATOM 99 ARG ARG 99 -25.195 -25.411 2.270 1.00 0.00 ATOM 100 ARG ARG 100 11.265 -25.743 21.233 1.00 0.00 ATOM 101 ARG ARG 101 13.599 -11.540 -3.582 1.00 0.00 ATOM 102 ARG ARG 102 10.249 2.978 -18.524 1.00 0.00 ATOM 103 ARG ARG 103 13.315 -30.006 -0.153 1.00 0.00 ATOM 104 ARG ARG 104 1.402 14.569 -23.477 1.00 0.00 ATOM 105 ARG ARG 105 -23.915 -7.831 -16.200 1.00 0.00 ATOM 106 ARG ARG 106 -11.040 22.057 25.545 1.00 0.00 ATOM 107 ARG ARG 107 -15.075 -20.395 25.713 1.00 0.00 ATOM 108 ARG ARG 108 -16.048 -24.556 24.540 1.00 0.00 ATOM 109 ARG ARG 109 26.734 0.946 -7.224 1.00 0.00 ATOM 110 ARG ARG 110 9.205 3.612 25.151 1.00 0.00 ATOM 111 ARG ARG 111 -11.120 13.137 23.263 1.00 0.00 ATOM 112 ARG ARG 112 -2.088 1.096 -22.338 1.00 0.00 ATOM 113 ARG ARG 113 3.838 11.143 0.880 1.00 0.00 ATOM 114 ARG ARG 114 22.134 -0.398 -10.712 1.00 0.00 ATOM 115 ARG ARG 115 13.104 7.182 17.459 1.00 0.00 ATOM 116 ARG ARG 116 -10.309 -2.295 -3.438 1.00 0.00 ATOM 117 ARG ARG 117 1.090 11.168 -13.890 1.00 0.00 ATOM 118 ARG ARG 118 -19.720 -11.850 18.375 1.00 0.00 ATOM 119 ARG ARG 119 0.217 -4.053 -2.885 1.00 0.00 ATOM 120 ARG ARG 120 -8.814 14.554 -26.338 1.00 0.00 ATOM 121 ARG ARG 121 -18.726 -19.210 12.160 1.00 0.00 ATOM 122 ARG ARG 122 -2.236 22.474 -2.099 1.00 0.00 ATOM 123 ARG ARG 123 5.457 2.811 18.991 1.00 0.00 ATOM 124 ARG ARG 124 -8.968 5.462 26.931 1.00 0.00 ATOM 125 ARG ARG 125 -1.850 3.727 5.360 1.00 0.00 ATOM 126 ARG ARG 126 15.603 21.469 -0.359 1.00 0.00 ATOM 127 ARG ARG 127 6.595 10.772 -12.341 1.00 0.00 ATOM 128 ARG ARG 128 8.583 -20.513 -6.985 1.00 0.00 ATOM 129 ARG ARG 129 -4.068 0.740 1.179 1.00 0.00 ATOM 130 ARG ARG 130 -25.306 17.648 8.599 1.00 0.00 ATOM 131 ARG ARG 131 3.553 6.016 -21.959 1.00 0.00 ATOM 132 ARG ARG 132 -4.614 -17.579 -27.192 1.00 0.00 ATOM 133 ARG ARG 133 -8.672 -6.081 -14.258 1.00 0.00 ATOM 134 ARG ARG 134 -0.559 -20.002 5.517 1.00 0.00 ATOM 135 ARG ARG 135 -22.423 -18.764 -1.832 1.00 0.00 ATOM 136 ARG ARG 136 -26.897 6.353 23.204 1.00 0.00 ATOM 137 ARG ARG 137 -18.050 -8.130 -27.937 1.00 0.00 ATOM 138 ARG ARG 138 13.677 -21.612 -10.072 1.00 0.00 ATOM 139 ARG ARG 139 20.373 4.557 16.248 1.00 0.00 ATOM 140 ARG ARG 140 7.821 22.066 -23.996 1.00 0.00 ATOM 141 ARG ARG 141 -24.974 -19.506 -24.992 1.00 0.00 ATOM 142 ARG ARG 142 -6.764 -3.681 -11.482 1.00 0.00 ATOM 143 ARG ARG 143 -5.304 -16.168 -1.770 1.00 0.00 ATOM 144 ARG ARG 144 -3.535 -17.937 2.260 1.00 0.00 ATOM 145 ARG ARG 145 -5.013 16.127 4.949 1.00 0.00 ATOM 146 ARG ARG 146 23.679 -12.227 -5.235 1.00 0.00 ATOM 147 ARG ARG 147 -24.751 7.336 11.326 1.00 0.00 ATOM 148 ARG ARG 148 19.540 -4.854 -8.557 1.00 0.00 ATOM 149 ARG ARG 149 11.447 -2.902 10.058 1.00 0.00 ATOM 150 ARG ARG 150 -1.914 24.540 -13.409 1.00 0.00 ATOM 151 ARG ARG 151 20.258 -1.538 20.202 1.00 0.00 ATOM 152 ARG ARG 152 3.849 -5.569 14.647 1.00 0.00 ATOM 153 ARG ARG 153 -10.745 -16.957 -11.006 1.00 0.00 ATOM 154 ARG ARG 154 6.649 -9.503 13.923 1.00 0.00 ATOM 155 ARG ARG 155 17.469 9.569 14.455 1.00 0.00 ATOM 156 ARG ARG 156 7.643 -24.840 18.292 1.00 0.00 ATOM 157 ARG ARG 157 7.745 8.919 -20.660 1.00 0.00 ATOM 158 ARG ARG 158 22.585 25.974 1.053 1.00 0.00 ATOM 159 ARG ARG 159 -18.295 -23.177 -3.037 1.00 0.00 ATOM 160 ARG ARG 160 14.658 7.005 -21.716 1.00 0.00 ATOM 161 ARG ARG 161 2.873 18.750 -5.152 1.00 0.00 ATOM 162 ARG ARG 162 -20.179 12.734 -23.307 1.00 0.00 ATOM 163 ARG ARG 163 21.616 -19.802 -19.239 1.00 0.00 ATOM 164 ARG ARG 164 19.804 -7.186 11.695 1.00 0.00 ATOM 165 ARG ARG 165 10.292 14.875 25.326 1.00 0.00 ATOM 166 ARG ARG 166 -9.857 4.503 1.084 1.00 0.00 ATOM 167 ARG ARG 167 -26.515 -18.294 14.731 1.00 0.00 ATOM 168 ARG ARG 168 18.210 -26.152 -26.209 1.00 0.00 ATOM 169 ARG ARG 169 -8.384 1.347 17.288 1.00 0.00 ATOM 170 ARG ARG 170 -11.279 -2.155 -14.727 1.00 0.00 ATOM 171 ARG ARG 171 15.995 -11.677 10.173 1.00 0.00 ATOM 172 ARG ARG 172 11.212 -0.055 15.690 1.00 0.00 ATOM 173 ARG ARG 173 20.376 2.141 13.139 1.00 0.00 ATOM 174 ARG ARG 174 15.665 11.714 18.194 1.00 0.00 ATOM 175 ARG ARG 175 10.216 18.361 22.931 1.00 0.00 ATOM 176 ARG ARG 176 22.512 -24.571 -19.001 1.00 0.00 ATOM 177 ARG ARG 177 -2.649 -2.678 -10.567 1.00 0.00 ATOM 178 ARG ARG 178 -24.743 12.154 22.672 1.00 0.00 ATOM 179 ARG ARG 179 27.163 8.964 8.614 1.00 0.00 ATOM 180 ARG ARG 180 3.526 12.905 -12.377 1.00 0.00 ATOM 181 ARG ARG 181 5.508 18.399 -16.030 1.00 0.00 ATOM 182 ARG ARG 182 11.300 -4.898 3.980 1.00 0.00 ATOM 183 ARG ARG 183 19.892 -24.958 26.508 1.00 0.00 ATOM 184 ARG ARG 184 -19.199 -25.681 20.967 1.00 0.00 ATOM 185 ARG ARG 185 13.938 -25.613 -0.914 1.00 0.00 ATOM 186 ARG ARG 186 -23.607 -5.713 7.033 1.00 0.00 ATOM 187 ARG ARG 187 11.640 -23.419 -18.848 1.00 0.00 ATOM 188 ARG ARG 188 24.871 0.861 -1.537 1.00 0.00 ATOM 189 ARG ARG 189 -17.426 -21.962 -23.370 1.00 0.00 ATOM 190 ARG ARG 190 14.535 25.178 -22.964 1.00 0.00 ATOM 191 ARG ARG 191 -2.183 -27.199 -15.245 1.00 0.00 ATOM 192 ARG ARG 192 3.018 19.988 1.107 1.00 0.00 ATOM 193 ARG ARG 193 -14.358 8.925 13.962 1.00 0.00 ATOM 194 ARG ARG 194 -12.461 18.333 -15.561 1.00 0.00 ATOM 195 ARG ARG 195 20.208 -22.068 -5.078 1.00 0.00 ATOM 196 ARG ARG 196 -14.686 18.688 0.370 1.00 0.00 ATOM 197 ARG ARG 197 21.435 4.311 -12.482 1.00 0.00 ATOM 198 ARG ARG 198 8.266 13.640 -14.024 1.00 0.00 ATOM 199 ARG ARG 199 -3.923 -13.156 11.237 1.00 0.00 ATOM 200 ARG ARG 200 7.289 -8.481 17.214 1.00 0.00 ATOM 201 ARG ARG 201 -9.598 23.331 -15.849 1.00 0.00 ATOM 202 ARG ARG 202 1.373 19.542 6.971 1.00 0.00 ATOM 203 ARG ARG 203 10.596 -2.890 19.993 1.00 0.00 ATOM 204 ARG ARG 204 -15.684 9.230 17.798 1.00 0.00 ATOM 205 ARG ARG 205 9.390 18.650 -7.379 1.00 0.00 ATOM 206 ARG ARG 206 -1.301 -22.989 7.795 1.00 0.00 ATOM 207 ARG ARG 207 -24.923 22.688 -26.042 1.00 0.00 ATOM 208 ARG ARG 208 0.704 -11.704 3.596 1.00 0.00 ATOM 209 ARG ARG 209 0.327 -29.591 -6.409 1.00 0.00 ATOM 210 ARG ARG 210 -17.335 -10.311 24.335 1.00 0.00 ATOM 211 ARG ARG 211 -24.420 -6.243 -11.449 1.00 0.00 ATOM 212 ARG ARG 212 10.821 -1.235 -3.224 1.00 0.00 ATOM 213 ARG ARG 213 -11.568 -12.471 11.151 1.00 0.00 ATOM 214 ARG ARG 214 -12.915 26.327 4.646 1.00 0.00 ATOM 215 ARG ARG 215 18.260 7.546 2.087 1.00 0.00 ATOM 216 ARG ARG 216 6.904 6.043 -3.344 1.00 0.00 ATOM 217 ARG ARG 217 -18.304 28.125 23.863 1.00 0.00 ATOM 218 ARG ARG 218 -25.126 -23.965 -16.693 1.00 0.00 ATOM 219 ARG ARG 219 -17.598 18.740 11.401 1.00 0.00 ATOM 220 ARG ARG 220 9.834 -15.837 7.507 1.00 0.00 ATOM 221 ARG ARG 221 -26.580 0.212 -23.166 1.00 0.00 ATOM 222 ARG ARG 222 -0.345 -6.545 1.050 1.00 0.00 ATOM 223 ARG ARG 223 -4.329 0.205 -11.337 1.00 0.00 ATOM 224 ARG ARG 224 26.802 11.212 -9.201 1.00 0.00 ATOM 225 ARG ARG 225 14.587 27.350 12.761 1.00 0.00 ATOM 226 ARG ARG 226 13.891 -16.682 -28.481 1.00 0.00 ATOM 227 ARG ARG 227 11.080 2.653 -0.646 1.00 0.00 ATOM 228 ARG ARG 228 18.860 14.585 -8.862 1.00 0.00 ATOM 229 ARG ARG 229 -10.230 6.492 -11.079 1.00 0.00 ATOM 230 ARG ARG 230 23.759 -14.391 -16.993 1.00 0.00 ATOM 231 ARG ARG 231 -5.332 -19.127 -5.791 1.00 0.00 ATOM 232 ARG ARG 232 15.168 -0.536 6.581 1.00 0.00 ATOM 233 ARG ARG 233 5.288 -24.304 5.399 1.00 0.00 ATOM 234 ARG ARG 234 -20.557 -14.954 26.312 1.00 0.00 ATOM 235 ARG ARG 235 10.555 -22.713 -3.195 1.00 0.00 ATOM 236 ARG ARG 236 -17.456 -6.638 24.152 1.00 0.00 ATOM 237 ARG ARG 237 -24.318 4.598 -6.309 1.00 0.00 ATOM 238 ARG ARG 238 26.413 -26.896 -24.825 1.00 0.00 ATOM 239 ARG ARG 239 -7.387 -16.417 -12.513 1.00 0.00 ATOM 240 ARG ARG 240 8.874 -27.869 4.679 1.00 0.00 ATOM 241 ARG ARG 241 23.068 -26.201 -10.749 1.00 0.00 ATOM 242 ARG ARG 242 1.802 16.401 -3.056 1.00 0.00 ATOM 243 ARG ARG 243 -13.210 -5.099 23.207 1.00 0.00 ATOM 244 ARG ARG 244 8.508 23.558 4.622 1.00 0.00 ATOM 245 ARG ARG 245 -10.878 20.153 -3.508 1.00 0.00 ATOM 246 ARG ARG 246 4.210 4.459 -4.438 1.00 0.00 ATOM 247 ARG ARG 247 -15.578 17.427 -4.757 1.00 0.00 ATOM 248 ARG ARG 248 25.890 14.734 -20.927 1.00 0.00 ATOM 249 ARG ARG 249 24.475 -6.404 27.219 1.00 0.00 ATOM 250 ARG ARG 250 25.207 5.817 -1.764 1.00 0.00 ATOM 251 ARG ARG 251 9.279 22.823 22.891 1.00 0.00 ATOM 252 ARG ARG 252 -8.092 4.346 -8.852 1.00 0.00 ATOM 253 ARG ARG 253 -13.457 -14.446 -13.911 1.00 0.00 ATOM 254 ARG ARG 254 24.961 10.087 -16.881 1.00 0.00 ATOM 255 ARG ARG 255 23.337 30.325 -6.339 1.00 0.00 ATOM 256 ARG ARG 256 4.890 17.262 -25.162 1.00 0.00 ATOM 257 ARG ARG 257 19.520 11.155 -6.893 1.00 0.00 ATOM 258 ARG ARG 258 20.705 -20.918 -23.493 1.00 0.00 ATOM 259 ARG ARG 259 18.162 7.172 6.050 1.00 0.00 ATOM 260 ARG ARG 260 25.744 -13.332 -0.598 1.00 0.00 ATOM 261 ARG ARG 261 -1.388 -14.701 3.252 1.00 0.00 ATOM 262 ARG ARG 262 -10.998 -6.032 27.080 1.00 0.00 ATOM 263 ARG ARG 263 8.852 -14.709 3.648 1.00 0.00 ATOM 264 ARG ARG 264 -23.507 -2.098 8.410 1.00 0.00 ATOM 265 ARG ARG 265 -8.257 -17.215 2.113 1.00 0.00 ATOM 266 ARG ARG 266 -4.269 27.678 0.456 1.00 0.00 ATOM 267 ARG ARG 267 -1.959 -20.927 -14.987 1.00 0.00 ATOM 268 ARG ARG 268 6.606 -17.688 -5.372 1.00 0.00 ATOM 269 ARG ARG 269 14.958 15.461 -4.525 1.00 0.00 ATOM 270 ARG ARG 270 6.543 9.910 8.131 1.00 0.00 ATOM 271 ARG ARG 271 -2.226 18.545 17.564 1.00 0.00 ATOM 272 ARG ARG 272 -18.604 23.981 8.009 1.00 0.00 ATOM 273 ARG ARG 273 -16.236 -22.313 17.892 1.00 0.00 ATOM 274 ARG ARG 274 24.692 -17.638 16.781 1.00 0.00 ATOM 275 ARG ARG 275 15.162 -12.125 13.666 1.00 0.00 ATOM 276 ARG ARG 276 14.916 -18.931 4.783 1.00 0.00 ATOM 277 ARG ARG 277 -5.595 4.890 -11.810 1.00 0.00 ATOM 278 ARG ARG 278 9.876 23.684 -20.213 1.00 0.00 ATOM 279 ARG ARG 279 4.001 6.151 18.844 1.00 0.00 ATOM 280 ARG ARG 280 22.656 -4.284 2.520 1.00 0.00 ATOM 281 KRY KRY 281 27.569 13.591 -17.625 1.00 0.00 ATOM 282 KRY KRY 282 11.944 -13.251 11.703 1.00 0.00 ATOM 283 KRY KRY 283 -21.066 -23.558 17.933 1.00 0.00 ATOM 284 KRY KRY 284 5.225 13.053 -21.734 1.00 0.00 ATOM 285 KRY KRY 285 -9.922 -5.753 -21.785 1.00 0.00 ATOM 286 KRY KRY 286 20.240 12.013 5.141 1.00 0.00 ATOM 287 KRY KRY 287 7.347 -17.289 10.584 1.00 0.00 ATOM 288 KRY KRY 288 11.259 27.027 -18.852 1.00 0.00 ATOM 289 KRY KRY 289 -13.822 -24.038 20.751 1.00 0.00 ATOM 290 KRY KRY 290 0.940 -12.656 13.425 1.00 0.00 ATOM 291 KRY KRY 291 9.762 -19.941 7.161 1.00 0.00 ATOM 292 KRY KRY 292 -12.244 0.868 9.606 1.00 0.00 ATOM 293 KRY KRY 293 -15.025 -5.846 -17.622 1.00 0.00 ATOM 294 KRY KRY 294 25.939 -6.611 -18.202 1.00 0.00 ATOM 295 KRY KRY 295 -7.927 -22.133 21.868 1.00 0.00 ATOM 296 KRY KRY 296 -24.474 -18.227 24.851 1.00 0.00 ATOM 297 KRY KRY 297 2.650 22.650 -3.534 1.00 0.00 ATOM 298 KRY KRY 298 17.040 0.610 20.654 1.00 0.00 ATOM 299 KRY KRY 299 -19.850 -20.014 18.242 1.00 0.00 ATOM 300 KRY KRY 300 7.837 25.631 24.947 1.00 0.00 ATOM 301 KRY KRY 301 17.585 -13.875 22.063 1.00 0.00 ATOM 302 KRY KRY 302 1.606 19.172 16.533 1.00 0.00 ATOM 303 KRY KRY 303 -21.044 -15.161 12.385 1.00 0.00 ATOM 304 KRY KRY 304 6.404 -9.157 -16.912 1.00 0.00 ATOM 305 KRY KRY 305 -22.735 15.406 -2.905 1.00 0.00 ATOM 306 KRY KRY 306 -13.172 3.711 24.062 1.00 0.00 ATOM 307 KRY KRY 307 14.027 -16.069 -0.311 1.00 0.00 ATOM 308 KRY KRY 308 9.840 -15.484 14.716 1.00 0.00 ATOM 309 KRY KRY 309 -7.503 -14.121 2.996 1.00 0.00 ATOM 310 KRY KRY 310 6.520 -0.927 18.029 1.00 0.00 ATOM 311 KRY KRY 311 -18.939 2.157 -21.561 1.00 0.00 ATOM 312 KRY KRY 312 14.198 25.108 -17.385 1.00 0.00 ATOM 313 KRY KRY 313 -16.805 5.636 24.393 1.00 0.00 ATOM 314 KRY KRY 314 4.636 9.005 -22.281 1.00 0.00 ATOM 315 KRY KRY 315 16.124 27.099 -9.695 1.00 0.00 ATOM 316 KRY KRY 316 -20.679 21.451 6.132 1.00 0.00 ATOM 317 KRY KRY 317 9.350 -7.547 11.618 1.00 0.00 ATOM 318 KRY KRY 318 20.443 -11.729 -11.591 1.00 0.00 ATOM 319 KRY KRY 319 -5.211 -14.424 -4.670 1.00 0.00 ATOM 320 KRY KRY 320 -26.355 15.484 25.115 1.00 0.00 ATOM 321 KRY KRY 321 -17.857 -23.364 -14.047 1.00 0.00 ATOM 322 KRY KRY 322 21.306 -11.208 9.484 1.00 0.00 ATOM 323 KRY KRY 323 6.170 20.765 -7.601 1.00 0.00 ATOM 324 KRY KRY 324 -11.875 3.743 20.628 1.00 0.00 ATOM 325 KRY KRY 325 0.021 8.852 4.817 1.00 0.00 ATOM 326 KRY KRY 326 14.997 17.186 1.449 1.00 0.00 ATOM 327 KRY KRY 327 -11.489 -13.476 -10.379 1.00 0.00 ATOM 328 KRY KRY 328 10.683 10.501 -11.054 1.00 0.00 ATOM 329 KRY KRY 329 9.862 17.421 10.864 1.00 0.00 ATOM 330 KRY KRY 330 -10.998 1.332 -2.238 1.00 0.00 ATOM 331 KRY KRY 331 -7.886 20.435 -13.522 1.00 0.00 ATOM 332 KRY KRY 332 -0.806 -5.157 -6.725 1.00 0.00 ATOM 333 KRY KRY 333 -11.437 -12.126 2.140 1.00 0.00 ATOM 334 KRY KRY 334 12.126 -17.594 -10.897 1.00 0.00 ATOM 335 KRY KRY 335 -25.791 -23.446 -1.042 1.00 0.00 ATOM 336 KRY KRY 336 -26.502 17.713 -3.637 1.00 0.00 ATOM 337 KRY KRY 337 -6.986 17.417 7.612 1.00 0.00 ATOM 338 KRY KRY 338 19.307 -7.538 0.444 1.00 0.00 ATOM 339 KRY KRY 339 -5.589 -1.934 13.731 1.00 0.00 ATOM 340 KRY KRY 340 25.085 -9.333 17.163 1.00 0.00 ATOM 341 KRY KRY 341 -7.723 24.894 26.402 1.00 0.00 ATOM 342 KRY KRY 342 -14.458 -15.887 16.826 1.00 0.00 ATOM 343 KRY KRY 343 -4.844 -15.191 16.753 1.00 0.00 ATOM 344 KRY KRY 344 -10.880 -4.817 -10.184 1.00 0.00 ATOM 345 KRY KRY 345 23.748 -0.081 10.189 1.00 0.00 ATOM 346 KRY KRY 346 -25.207 6.454 -17.218 1.00 0.00 ATOM 347 KRY KRY 347 4.136 -54.295 -28.612 1.00 0.00 ATOM 348 KRY KRY 348 3.987 -10.622 -19.954 1.00 0.00 ATOM 349 KRY KRY 349 -16.520 -9.247 0.450 1.00 0.00 ATOM 350 KRY KRY 350 -6.750 12.473 24.926 1.00 0.00 ATOM 351 KRY KRY 351 24.703 0.987 -21.994 1.00 0.00 ATOM 352 KRY KRY 352 26.168 -23.999 6.887 1.00 0.00 ATOM 353 KRY KRY 353 9.626 -16.407 -1.099 1.00 0.00 ATOM 354 KRY KRY 354 -3.220 -13.529 -15.109 1.00 0.00 ATOM 355 KRY KRY 355 19.997 -5.039 26.025 1.00 0.00 ATOM 356 KRY KRY 356 5.554 2.218 -7.126 1.00 0.00 ATOM 357 KRY KRY 357 2.016 -17.753 18.414 1.00 0.00 ATOM 358 KRY KRY 358 -0.415 -15.294 16.510 1.00 0.00 ATOM 359 KRY KRY 359 -12.148 1.214 -19.733 1.00 0.00 ATOM 360 KRY KRY 360 16.145 10.461 4.652 1.00 0.00 ATOM 361 KRY KRY 361 -22.688 6.333 16.513 1.00 0.00 ATOM 362 KRY KRY 362 -25.413 27.073 -22.331 1.00 0.00 ATOM 363 KRY KRY 363 -18.246 6.960 5.522 1.00 0.00 ATOM 364 KRY KRY 364 4.289 16.369 -20.251 1.00 0.00 ATOM 365 KRY KRY 365 6.729 20.588 3.582 1.00 0.00 ATOM 366 KRY KRY 366 -17.561 20.787 8.773 1.00 0.00 ATOM 367 KRY KRY 367 24.676 6.501 10.979 1.00 0.00 ATOM 368 KRY KRY 368 -24.369 5.748 -10.487 1.00 0.00 ATOM 369 KRY KRY 369 -6.863 -20.191 25.506 1.00 0.00 ATOM 370 KRY KRY 370 -4.374 -22.490 11.952 1.00 0.00 ATOM 371 KRY KRY 371 -0.357 22.712 9.565 1.00 0.00 ATOM 372 KRY KRY 372 8.675 -23.448 12.307 1.00 0.00 ATOM 373 KRY KRY 373 -9.585 -20.803 -5.606 1.00 0.00 ATOM 374 KRY KRY 374 9.882 12.644 18.268 1.00 0.00 ATOM 375 KRY KRY 375 27.569 -22.529 -23.017 1.00 0.00 ATOM 376 KRY KRY 376 -2.360 -7.740 13.236 1.00 0.00 ATOM 377 KRY KRY 377 -27.562 -19.171 -19.466 1.00 0.00 ATOM 378 KRY KRY 378 16.124 25.790 -13.281 1.00 0.00 ATOM 379 KRY KRY 379 27.350 -16.386 29.969 1.00 0.00 ATOM 380 KRY KRY 380 18.940 24.582 -1.025 1.00 0.00 ATOM 381 KRY KRY 381 7.170 -14.050 -12.138 1.00 0.00 ATOM 382 KRY KRY 382 0.509 7.728 19.329 1.00 0.00 ATOM 383 KRY KRY 383 2.181 -13.292 -23.307 1.00 0.00 ATOM 384 KRY KRY 384 3.133 15.594 3.641 1.00 0.00 ATOM 385 KRY KRY 385 -22.716 -8.618 0.911 1.00 0.00 ATOM 386 KRY KRY 386 25.335 -21.201 15.042 1.00 0.00 ATOM 387 KRY KRY 387 -22.233 -7.978 17.511 1.00 0.00 ATOM 388 KRY KRY 388 14.843 12.963 -7.588 1.00 0.00 ATOM 389 KRY KRY 389 15.429 19.120 24.680 1.00 0.00 ATOM 390 KRY KRY 390 -18.036 -15.670 9.606 1.00 0.00 ATOM 391 KRY KRY 391 -0.842 -14.289 -18.843 1.00 0.00 ATOM 392 KRY KRY 392 -27.326 -24.500 -26.688 1.00 0.00 ATOM 393 KRY KRY 393 5.970 28.805 -3.780 1.00 0.00 ATOM 394 KRY KRY 394 -26.473 11.147 -0.298 1.00 0.00 ATOM 395 KRY KRY 395 -11.951 22.878 5.827 1.00 0.00 ATOM 396 KRY KRY 396 -1.827 -1.570 11.469 1.00 0.00 ATOM 397 KRY KRY 397 -4.962 -27.238 15.729 1.00 0.00 ATOM 398 KRY KRY 398 1.437 -21.072 -17.968 1.00 0.00 ATOM 399 KRY KRY 399 -20.155 -15.671 20.580 1.00 0.00 ATOM 400 KRY KRY 400 -12.929 7.378 22.219 1.00 0.00 END protomol/examples/argon_400/argon.psf0100644027616700000500000007020410237151526017146 0ustar pbrenne1dipPSF 2 !NTITLE REMARKS Filename= FinalMixture.PSF REMARKS Molecular structure file for 400 molecules. 400 !NATOM 1 ARGN 1 ARG AR ARG 0.000000 39.9500 0 2 ARGN 2 ARG AR ARG 0.000000 39.9500 0 3 ARGN 3 ARG AR ARG 0.000000 39.9500 0 4 ARGN 4 ARG AR ARG 0.000000 39.9500 0 5 ARGN 5 ARG AR ARG 0.000000 39.9500 0 6 ARGN 6 ARG AR ARG 0.000000 39.9500 0 7 ARGN 7 ARG AR ARG 0.000000 39.9500 0 8 ARGN 8 ARG AR ARG 0.000000 39.9500 0 9 ARGN 9 ARG AR ARG 0.000000 39.9500 0 10 ARGN 10 ARG AR ARG 0.000000 39.9500 0 11 ARGN 11 ARG AR ARG 0.000000 39.9500 0 12 ARGN 12 ARG AR ARG 0.000000 39.9500 0 13 ARGN 13 ARG AR ARG 0.000000 39.9500 0 14 ARGN 14 ARG AR ARG 0.000000 39.9500 0 15 ARGN 15 ARG AR ARG 0.000000 39.9500 0 16 ARGN 16 ARG AR ARG 0.000000 39.9500 0 17 ARGN 17 ARG AR ARG 0.000000 39.9500 0 18 ARGN 18 ARG AR ARG 0.000000 39.9500 0 19 ARGN 19 ARG AR ARG 0.000000 39.9500 0 20 ARGN 20 ARG AR ARG 0.000000 39.9500 0 21 ARGN 21 ARG AR ARG 0.000000 39.9500 0 22 ARGN 22 ARG AR ARG 0.000000 39.9500 0 23 ARGN 23 ARG AR ARG 0.000000 39.9500 0 24 ARGN 24 ARG AR ARG 0.000000 39.9500 0 25 ARGN 25 ARG AR ARG 0.000000 39.9500 0 26 ARGN 26 ARG AR ARG 0.000000 39.9500 0 27 ARGN 27 ARG AR ARG 0.000000 39.9500 0 28 ARGN 28 ARG AR ARG 0.000000 39.9500 0 29 ARGN 29 ARG AR ARG 0.000000 39.9500 0 30 ARGN 30 ARG AR ARG 0.000000 39.9500 0 31 ARGN 31 ARG AR ARG 0.000000 39.9500 0 32 ARGN 32 ARG AR ARG 0.000000 39.9500 0 33 ARGN 33 ARG AR ARG 0.000000 39.9500 0 34 ARGN 34 ARG AR ARG 0.000000 39.9500 0 35 ARGN 35 ARG AR ARG 0.000000 39.9500 0 36 ARGN 36 ARG AR ARG 0.000000 39.9500 0 37 ARGN 37 ARG AR ARG 0.000000 39.9500 0 38 ARGN 38 ARG AR ARG 0.000000 39.9500 0 39 ARGN 39 ARG AR ARG 0.000000 39.9500 0 40 ARGN 40 ARG AR ARG 0.000000 39.9500 0 41 ARGN 41 ARG AR ARG 0.000000 39.9500 0 42 ARGN 42 ARG AR ARG 0.000000 39.9500 0 43 ARGN 43 ARG AR ARG 0.000000 39.9500 0 44 ARGN 44 ARG AR ARG 0.000000 39.9500 0 45 ARGN 45 ARG AR ARG 0.000000 39.9500 0 46 ARGN 46 ARG AR ARG 0.000000 39.9500 0 47 ARGN 47 ARG AR ARG 0.000000 39.9500 0 48 ARGN 48 ARG AR ARG 0.000000 39.9500 0 49 ARGN 49 ARG AR ARG 0.000000 39.9500 0 50 ARGN 50 ARG AR ARG 0.000000 39.9500 0 51 ARGN 51 ARG AR ARG 0.000000 39.9500 0 52 ARGN 52 ARG AR ARG 0.000000 39.9500 0 53 ARGN 53 ARG AR ARG 0.000000 39.9500 0 54 ARGN 54 ARG AR ARG 0.000000 39.9500 0 55 ARGN 55 ARG AR ARG 0.000000 39.9500 0 56 ARGN 56 ARG AR ARG 0.000000 39.9500 0 57 ARGN 57 ARG AR ARG 0.000000 39.9500 0 58 ARGN 58 ARG AR ARG 0.000000 39.9500 0 59 ARGN 59 ARG AR ARG 0.000000 39.9500 0 60 ARGN 60 ARG AR ARG 0.000000 39.9500 0 61 ARGN 61 ARG AR ARG 0.000000 39.9500 0 62 ARGN 62 ARG AR ARG 0.000000 39.9500 0 63 ARGN 63 ARG AR ARG 0.000000 39.9500 0 64 ARGN 64 ARG AR ARG 0.000000 39.9500 0 65 ARGN 65 ARG AR ARG 0.000000 39.9500 0 66 ARGN 66 ARG AR ARG 0.000000 39.9500 0 67 ARGN 67 ARG AR ARG 0.000000 39.9500 0 68 ARGN 68 ARG AR ARG 0.000000 39.9500 0 69 ARGN 69 ARG AR ARG 0.000000 39.9500 0 70 ARGN 70 ARG AR ARG 0.000000 39.9500 0 71 ARGN 71 ARG AR ARG 0.000000 39.9500 0 72 ARGN 72 ARG AR ARG 0.000000 39.9500 0 73 ARGN 73 ARG AR ARG 0.000000 39.9500 0 74 ARGN 74 ARG AR ARG 0.000000 39.9500 0 75 ARGN 75 ARG AR ARG 0.000000 39.9500 0 76 ARGN 76 ARG AR ARG 0.000000 39.9500 0 77 ARGN 77 ARG AR ARG 0.000000 39.9500 0 78 ARGN 78 ARG AR ARG 0.000000 39.9500 0 79 ARGN 79 ARG AR ARG 0.000000 39.9500 0 80 ARGN 80 ARG AR ARG 0.000000 39.9500 0 81 ARGN 81 ARG AR ARG 0.000000 39.9500 0 82 ARGN 82 ARG AR ARG 0.000000 39.9500 0 83 ARGN 83 ARG AR ARG 0.000000 39.9500 0 84 ARGN 84 ARG AR ARG 0.000000 39.9500 0 85 ARGN 85 ARG AR ARG 0.000000 39.9500 0 86 ARGN 86 ARG AR ARG 0.000000 39.9500 0 87 ARGN 87 ARG AR ARG 0.000000 39.9500 0 88 ARGN 88 ARG AR ARG 0.000000 39.9500 0 89 ARGN 89 ARG AR ARG 0.000000 39.9500 0 90 ARGN 90 ARG AR ARG 0.000000 39.9500 0 91 ARGN 91 ARG AR ARG 0.000000 39.9500 0 92 ARGN 92 ARG AR ARG 0.000000 39.9500 0 93 ARGN 93 ARG AR ARG 0.000000 39.9500 0 94 ARGN 94 ARG AR ARG 0.000000 39.9500 0 95 ARGN 95 ARG AR ARG 0.000000 39.9500 0 96 ARGN 96 ARG AR ARG 0.000000 39.9500 0 97 ARGN 97 ARG AR ARG 0.000000 39.9500 0 98 ARGN 98 ARG AR ARG 0.000000 39.9500 0 99 ARGN 99 ARG AR ARG 0.000000 39.9500 0 100 ARGN 100 ARG AR ARG 0.000000 39.9500 0 101 ARGN 101 ARG AR ARG 0.000000 39.9500 0 102 ARGN 102 ARG AR ARG 0.000000 39.9500 0 103 ARGN 103 ARG AR ARG 0.000000 39.9500 0 104 ARGN 104 ARG AR ARG 0.000000 39.9500 0 105 ARGN 105 ARG AR ARG 0.000000 39.9500 0 106 ARGN 106 ARG AR ARG 0.000000 39.9500 0 107 ARGN 107 ARG AR ARG 0.000000 39.9500 0 108 ARGN 108 ARG AR ARG 0.000000 39.9500 0 109 ARGN 109 ARG AR ARG 0.000000 39.9500 0 110 ARGN 110 ARG AR ARG 0.000000 39.9500 0 111 ARGN 111 ARG AR ARG 0.000000 39.9500 0 112 ARGN 112 ARG AR ARG 0.000000 39.9500 0 113 ARGN 113 ARG AR ARG 0.000000 39.9500 0 114 ARGN 114 ARG AR ARG 0.000000 39.9500 0 115 ARGN 115 ARG AR ARG 0.000000 39.9500 0 116 ARGN 116 ARG AR ARG 0.000000 39.9500 0 117 ARGN 117 ARG AR ARG 0.000000 39.9500 0 118 ARGN 118 ARG AR ARG 0.000000 39.9500 0 119 ARGN 119 ARG AR ARG 0.000000 39.9500 0 120 ARGN 120 ARG AR ARG 0.000000 39.9500 0 121 ARGN 121 ARG AR ARG 0.000000 39.9500 0 122 ARGN 122 ARG AR ARG 0.000000 39.9500 0 123 ARGN 123 ARG AR ARG 0.000000 39.9500 0 124 ARGN 124 ARG AR ARG 0.000000 39.9500 0 125 ARGN 125 ARG AR ARG 0.000000 39.9500 0 126 ARGN 126 ARG AR ARG 0.000000 39.9500 0 127 ARGN 127 ARG AR ARG 0.000000 39.9500 0 128 ARGN 128 ARG AR ARG 0.000000 39.9500 0 129 ARGN 129 ARG AR ARG 0.000000 39.9500 0 130 ARGN 130 ARG AR ARG 0.000000 39.9500 0 131 ARGN 131 ARG AR ARG 0.000000 39.9500 0 132 ARGN 132 ARG AR ARG 0.000000 39.9500 0 133 ARGN 133 ARG AR ARG 0.000000 39.9500 0 134 ARGN 134 ARG AR ARG 0.000000 39.9500 0 135 ARGN 135 ARG AR ARG 0.000000 39.9500 0 136 ARGN 136 ARG AR ARG 0.000000 39.9500 0 137 ARGN 137 ARG AR ARG 0.000000 39.9500 0 138 ARGN 138 ARG AR ARG 0.000000 39.9500 0 139 ARGN 139 ARG AR ARG 0.000000 39.9500 0 140 ARGN 140 ARG AR ARG 0.000000 39.9500 0 141 ARGN 141 ARG AR ARG 0.000000 39.9500 0 142 ARGN 142 ARG AR ARG 0.000000 39.9500 0 143 ARGN 143 ARG AR ARG 0.000000 39.9500 0 144 ARGN 144 ARG AR ARG 0.000000 39.9500 0 145 ARGN 145 ARG AR ARG 0.000000 39.9500 0 146 ARGN 146 ARG AR ARG 0.000000 39.9500 0 147 ARGN 147 ARG AR ARG 0.000000 39.9500 0 148 ARGN 148 ARG AR ARG 0.000000 39.9500 0 149 ARGN 149 ARG AR ARG 0.000000 39.9500 0 150 ARGN 150 ARG AR ARG 0.000000 39.9500 0 151 ARGN 151 ARG AR ARG 0.000000 39.9500 0 152 ARGN 152 ARG AR ARG 0.000000 39.9500 0 153 ARGN 153 ARG AR ARG 0.000000 39.9500 0 154 ARGN 154 ARG AR ARG 0.000000 39.9500 0 155 ARGN 155 ARG AR ARG 0.000000 39.9500 0 156 ARGN 156 ARG AR ARG 0.000000 39.9500 0 157 ARGN 157 ARG AR ARG 0.000000 39.9500 0 158 ARGN 158 ARG AR ARG 0.000000 39.9500 0 159 ARGN 159 ARG AR ARG 0.000000 39.9500 0 160 ARGN 160 ARG AR ARG 0.000000 39.9500 0 161 ARGN 161 ARG AR ARG 0.000000 39.9500 0 162 ARGN 162 ARG AR ARG 0.000000 39.9500 0 163 ARGN 163 ARG AR ARG 0.000000 39.9500 0 164 ARGN 164 ARG AR ARG 0.000000 39.9500 0 165 ARGN 165 ARG AR ARG 0.000000 39.9500 0 166 ARGN 166 ARG AR ARG 0.000000 39.9500 0 167 ARGN 167 ARG AR ARG 0.000000 39.9500 0 168 ARGN 168 ARG AR ARG 0.000000 39.9500 0 169 ARGN 169 ARG AR ARG 0.000000 39.9500 0 170 ARGN 170 ARG AR ARG 0.000000 39.9500 0 171 ARGN 171 ARG AR ARG 0.000000 39.9500 0 172 ARGN 172 ARG AR ARG 0.000000 39.9500 0 173 ARGN 173 ARG AR ARG 0.000000 39.9500 0 174 ARGN 174 ARG AR ARG 0.000000 39.9500 0 175 ARGN 175 ARG AR ARG 0.000000 39.9500 0 176 ARGN 176 ARG AR ARG 0.000000 39.9500 0 177 ARGN 177 ARG AR ARG 0.000000 39.9500 0 178 ARGN 178 ARG AR ARG 0.000000 39.9500 0 179 ARGN 179 ARG AR ARG 0.000000 39.9500 0 180 ARGN 180 ARG AR ARG 0.000000 39.9500 0 181 ARGN 181 ARG AR ARG 0.000000 39.9500 0 182 ARGN 182 ARG AR ARG 0.000000 39.9500 0 183 ARGN 183 ARG AR ARG 0.000000 39.9500 0 184 ARGN 184 ARG AR ARG 0.000000 39.9500 0 185 ARGN 185 ARG AR ARG 0.000000 39.9500 0 186 ARGN 186 ARG AR ARG 0.000000 39.9500 0 187 ARGN 187 ARG AR ARG 0.000000 39.9500 0 188 ARGN 188 ARG AR ARG 0.000000 39.9500 0 189 ARGN 189 ARG AR ARG 0.000000 39.9500 0 190 ARGN 190 ARG AR ARG 0.000000 39.9500 0 191 ARGN 191 ARG AR ARG 0.000000 39.9500 0 192 ARGN 192 ARG AR ARG 0.000000 39.9500 0 193 ARGN 193 ARG AR ARG 0.000000 39.9500 0 194 ARGN 194 ARG AR ARG 0.000000 39.9500 0 195 ARGN 195 ARG AR ARG 0.000000 39.9500 0 196 ARGN 196 ARG AR ARG 0.000000 39.9500 0 197 ARGN 197 ARG AR ARG 0.000000 39.9500 0 198 ARGN 198 ARG AR ARG 0.000000 39.9500 0 199 ARGN 199 ARG AR ARG 0.000000 39.9500 0 200 ARGN 200 ARG AR ARG 0.000000 39.9500 0 201 ARGN 201 ARG AR ARG 0.000000 39.9500 0 202 ARGN 202 ARG AR ARG 0.000000 39.9500 0 203 ARGN 203 ARG AR ARG 0.000000 39.9500 0 204 ARGN 204 ARG AR ARG 0.000000 39.9500 0 205 ARGN 205 ARG AR ARG 0.000000 39.9500 0 206 ARGN 206 ARG AR ARG 0.000000 39.9500 0 207 ARGN 207 ARG AR ARG 0.000000 39.9500 0 208 ARGN 208 ARG AR ARG 0.000000 39.9500 0 209 ARGN 209 ARG AR ARG 0.000000 39.9500 0 210 ARGN 210 ARG AR ARG 0.000000 39.9500 0 211 ARGN 211 ARG AR ARG 0.000000 39.9500 0 212 ARGN 212 ARG AR ARG 0.000000 39.9500 0 213 ARGN 213 ARG AR ARG 0.000000 39.9500 0 214 ARGN 214 ARG AR ARG 0.000000 39.9500 0 215 ARGN 215 ARG AR ARG 0.000000 39.9500 0 216 ARGN 216 ARG AR ARG 0.000000 39.9500 0 217 ARGN 217 ARG AR ARG 0.000000 39.9500 0 218 ARGN 218 ARG AR ARG 0.000000 39.9500 0 219 ARGN 219 ARG AR ARG 0.000000 39.9500 0 220 ARGN 220 ARG AR ARG 0.000000 39.9500 0 221 ARGN 221 ARG AR ARG 0.000000 39.9500 0 222 ARGN 222 ARG AR ARG 0.000000 39.9500 0 223 ARGN 223 ARG AR ARG 0.000000 39.9500 0 224 ARGN 224 ARG AR ARG 0.000000 39.9500 0 225 ARGN 225 ARG AR ARG 0.000000 39.9500 0 226 ARGN 226 ARG AR ARG 0.000000 39.9500 0 227 ARGN 227 ARG AR ARG 0.000000 39.9500 0 228 ARGN 228 ARG AR ARG 0.000000 39.9500 0 229 ARGN 229 ARG AR ARG 0.000000 39.9500 0 230 ARGN 230 ARG AR ARG 0.000000 39.9500 0 231 ARGN 231 ARG AR ARG 0.000000 39.9500 0 232 ARGN 232 ARG AR ARG 0.000000 39.9500 0 233 ARGN 233 ARG AR ARG 0.000000 39.9500 0 234 ARGN 234 ARG AR ARG 0.000000 39.9500 0 235 ARGN 235 ARG AR ARG 0.000000 39.9500 0 236 ARGN 236 ARG AR ARG 0.000000 39.9500 0 237 ARGN 237 ARG AR ARG 0.000000 39.9500 0 238 ARGN 238 ARG AR ARG 0.000000 39.9500 0 239 ARGN 239 ARG AR ARG 0.000000 39.9500 0 240 ARGN 240 ARG AR ARG 0.000000 39.9500 0 241 ARGN 241 ARG AR ARG 0.000000 39.9500 0 242 ARGN 242 ARG AR ARG 0.000000 39.9500 0 243 ARGN 243 ARG AR ARG 0.000000 39.9500 0 244 ARGN 244 ARG AR ARG 0.000000 39.9500 0 245 ARGN 245 ARG AR ARG 0.000000 39.9500 0 246 ARGN 246 ARG AR ARG 0.000000 39.9500 0 247 ARGN 247 ARG AR ARG 0.000000 39.9500 0 248 ARGN 248 ARG AR ARG 0.000000 39.9500 0 249 ARGN 249 ARG AR ARG 0.000000 39.9500 0 250 ARGN 250 ARG AR ARG 0.000000 39.9500 0 251 ARGN 251 ARG AR ARG 0.000000 39.9500 0 252 ARGN 252 ARG AR ARG 0.000000 39.9500 0 253 ARGN 253 ARG AR ARG 0.000000 39.9500 0 254 ARGN 254 ARG AR ARG 0.000000 39.9500 0 255 ARGN 255 ARG AR ARG 0.000000 39.9500 0 256 ARGN 256 ARG AR ARG 0.000000 39.9500 0 257 ARGN 257 ARG AR ARG 0.000000 39.9500 0 258 ARGN 258 ARG AR ARG 0.000000 39.9500 0 259 ARGN 259 ARG AR ARG 0.000000 39.9500 0 260 ARGN 260 ARG AR ARG 0.000000 39.9500 0 261 ARGN 261 ARG AR ARG 0.000000 39.9500 0 262 ARGN 262 ARG AR ARG 0.000000 39.9500 0 263 ARGN 263 ARG AR ARG 0.000000 39.9500 0 264 ARGN 264 ARG AR ARG 0.000000 39.9500 0 265 ARGN 265 ARG AR ARG 0.000000 39.9500 0 266 ARGN 266 ARG AR ARG 0.000000 39.9500 0 267 ARGN 267 ARG AR ARG 0.000000 39.9500 0 268 ARGN 268 ARG AR ARG 0.000000 39.9500 0 269 ARGN 269 ARG AR ARG 0.000000 39.9500 0 270 ARGN 270 ARG AR ARG 0.000000 39.9500 0 271 ARGN 271 ARG AR ARG 0.000000 39.9500 0 272 ARGN 272 ARG AR ARG 0.000000 39.9500 0 273 ARGN 273 ARG AR ARG 0.000000 39.9500 0 274 ARGN 274 ARG AR ARG 0.000000 39.9500 0 275 ARGN 275 ARG AR ARG 0.000000 39.9500 0 276 ARGN 276 ARG AR ARG 0.000000 39.9500 0 277 ARGN 277 ARG AR ARG 0.000000 39.9500 0 278 ARGN 278 ARG AR ARG 0.000000 39.9500 0 279 ARGN 279 ARG AR ARG 0.000000 39.9500 0 280 ARGN 280 ARG AR ARG 0.000000 39.9500 0 281 KRY 281 KRY KR KRY 0.000000 83.8000 0 282 KRY 282 KRY KR KRY 0.000000 83.8000 0 283 KRY 283 KRY KR KRY 0.000000 83.8000 0 284 KRY 284 KRY KR KRY 0.000000 83.8000 0 285 KRY 285 KRY KR KRY 0.000000 83.8000 0 286 KRY 286 KRY KR KRY 0.000000 83.8000 0 287 KRY 287 KRY KR KRY 0.000000 83.8000 0 288 KRY 288 KRY KR KRY 0.000000 83.8000 0 289 KRY 289 KRY KR KRY 0.000000 83.8000 0 290 KRY 290 KRY KR KRY 0.000000 83.8000 0 291 KRY 291 KRY KR KRY 0.000000 83.8000 0 292 KRY 292 KRY KR KRY 0.000000 83.8000 0 293 KRY 293 KRY KR KRY 0.000000 83.8000 0 294 KRY 294 KRY KR KRY 0.000000 83.8000 0 295 KRY 295 KRY KR KRY 0.000000 83.8000 0 296 KRY 296 KRY KR KRY 0.000000 83.8000 0 297 KRY 297 KRY KR KRY 0.000000 83.8000 0 298 KRY 298 KRY KR KRY 0.000000 83.8000 0 299 KRY 299 KRY KR KRY 0.000000 83.8000 0 300 KRY 300 KRY KR KRY 0.000000 83.8000 0 301 KRY 301 KRY KR KRY 0.000000 83.8000 0 302 KRY 302 KRY KR KRY 0.000000 83.8000 0 303 KRY 303 KRY KR KRY 0.000000 83.8000 0 304 KRY 304 KRY KR KRY 0.000000 83.8000 0 305 KRY 305 KRY KR KRY 0.000000 83.8000 0 306 KRY 306 KRY KR KRY 0.000000 83.8000 0 307 KRY 307 KRY KR KRY 0.000000 83.8000 0 308 KRY 308 KRY KR KRY 0.000000 83.8000 0 309 KRY 309 KRY KR KRY 0.000000 83.8000 0 310 KRY 310 KRY KR KRY 0.000000 83.8000 0 311 KRY 311 KRY KR KRY 0.000000 83.8000 0 312 KRY 312 KRY KR KRY 0.000000 83.8000 0 313 KRY 313 KRY KR KRY 0.000000 83.8000 0 314 KRY 314 KRY KR KRY 0.000000 83.8000 0 315 KRY 315 KRY KR KRY 0.000000 83.8000 0 316 KRY 316 KRY KR KRY 0.000000 83.8000 0 317 KRY 317 KRY KR KRY 0.000000 83.8000 0 318 KRY 318 KRY KR KRY 0.000000 83.8000 0 319 KRY 319 KRY KR KRY 0.000000 83.8000 0 320 KRY 320 KRY KR KRY 0.000000 83.8000 0 321 KRY 321 KRY KR KRY 0.000000 83.8000 0 322 KRY 322 KRY KR KRY 0.000000 83.8000 0 323 KRY 323 KRY KR KRY 0.000000 83.8000 0 324 KRY 324 KRY KR KRY 0.000000 83.8000 0 325 KRY 325 KRY KR KRY 0.000000 83.8000 0 326 KRY 326 KRY KR KRY 0.000000 83.8000 0 327 KRY 327 KRY KR KRY 0.000000 83.8000 0 328 KRY 328 KRY KR KRY 0.000000 83.8000 0 329 KRY 329 KRY KR KRY 0.000000 83.8000 0 330 KRY 330 KRY KR KRY 0.000000 83.8000 0 331 KRY 331 KRY KR KRY 0.000000 83.8000 0 332 KRY 332 KRY KR KRY 0.000000 83.8000 0 333 KRY 333 KRY KR KRY 0.000000 83.8000 0 334 KRY 334 KRY KR KRY 0.000000 83.8000 0 335 KRY 335 KRY KR KRY 0.000000 83.8000 0 336 KRY 336 KRY KR KRY 0.000000 83.8000 0 337 KRY 337 KRY KR KRY 0.000000 83.8000 0 338 KRY 338 KRY KR KRY 0.000000 83.8000 0 339 KRY 339 KRY KR KRY 0.000000 83.8000 0 340 KRY 340 KRY KR KRY 0.000000 83.8000 0 341 KRY 341 KRY KR KRY 0.000000 83.8000 0 342 KRY 342 KRY KR KRY 0.000000 83.8000 0 343 KRY 343 KRY KR KRY 0.000000 83.8000 0 344 KRY 344 KRY KR KRY 0.000000 83.8000 0 345 KRY 345 KRY KR KRY 0.000000 83.8000 0 346 KRY 346 KRY KR KRY 0.000000 83.8000 0 347 KRY 347 KRY KR KRY 0.000000 83.8000 0 348 KRY 348 KRY KR KRY 0.000000 83.8000 0 349 KRY 349 KRY KR KRY 0.000000 83.8000 0 350 KRY 350 KRY KR KRY 0.000000 83.8000 0 351 KRY 351 KRY KR KRY 0.000000 83.8000 0 352 KRY 352 KRY KR KRY 0.000000 83.8000 0 353 KRY 353 KRY KR KRY 0.000000 83.8000 0 354 KRY 354 KRY KR KRY 0.000000 83.8000 0 355 KRY 355 KRY KR KRY 0.000000 83.8000 0 356 KRY 356 KRY KR KRY 0.000000 83.8000 0 357 KRY 357 KRY KR KRY 0.000000 83.8000 0 358 KRY 358 KRY KR KRY 0.000000 83.8000 0 359 KRY 359 KRY KR KRY 0.000000 83.8000 0 360 KRY 360 KRY KR KRY 0.000000 83.8000 0 361 KRY 361 KRY KR KRY 0.000000 83.8000 0 362 KRY 362 KRY KR KRY 0.000000 83.8000 0 363 KRY 363 KRY KR KRY 0.000000 83.8000 0 364 KRY 364 KRY KR KRY 0.000000 83.8000 0 365 KRY 365 KRY KR KRY 0.000000 83.8000 0 366 KRY 366 KRY KR KRY 0.000000 83.8000 0 367 KRY 367 KRY KR KRY 0.000000 83.8000 0 368 KRY 368 KRY KR KRY 0.000000 83.8000 0 369 KRY 369 KRY KR KRY 0.000000 83.8000 0 370 KRY 370 KRY KR KRY 0.000000 83.8000 0 371 KRY 371 KRY KR KRY 0.000000 83.8000 0 372 KRY 372 KRY KR KRY 0.000000 83.8000 0 373 KRY 373 KRY KR KRY 0.000000 83.8000 0 374 KRY 374 KRY KR KRY 0.000000 83.8000 0 375 KRY 375 KRY KR KRY 0.000000 83.8000 0 376 KRY 376 KRY KR KRY 0.000000 83.8000 0 377 KRY 377 KRY KR KRY 0.000000 83.8000 0 378 KRY 378 KRY KR KRY 0.000000 83.8000 0 379 KRY 379 KRY KR KRY 0.000000 83.8000 0 380 KRY 380 KRY KR KRY 0.000000 83.8000 0 381 KRY 381 KRY KR KRY 0.000000 83.8000 0 382 KRY 382 KRY KR KRY 0.000000 83.8000 0 383 KRY 383 KRY KR KRY 0.000000 83.8000 0 384 KRY 384 KRY KR KRY 0.000000 83.8000 0 385 KRY 385 KRY KR KRY 0.000000 83.8000 0 386 KRY 386 KRY KR KRY 0.000000 83.8000 0 387 KRY 387 KRY KR KRY 0.000000 83.8000 0 388 KRY 388 KRY KR KRY 0.000000 83.8000 0 389 KRY 389 KRY KR KRY 0.000000 83.8000 0 390 KRY 390 KRY KR KRY 0.000000 83.8000 0 391 KRY 391 KRY KR KRY 0.000000 83.8000 0 392 KRY 392 KRY KR KRY 0.000000 83.8000 0 393 KRY 393 KRY KR KRY 0.000000 83.8000 0 394 KRY 394 KRY KR KRY 0.000000 83.8000 0 395 KRY 395 KRY KR KRY 0.000000 83.8000 0 396 KRY 396 KRY KR KRY 0.000000 83.8000 0 397 KRY 397 KRY KR KRY 0.000000 83.8000 0 398 KRY 398 KRY KR KRY 0.000000 83.8000 0 399 KRY 399 KRY KR KRY 0.000000 83.8000 0 400 KRY 400 KRY KR KRY 0.000000 83.8000 0 0 !NBOND: bonds ***** 0 !NTHETA: angles ***** 0 !NPHI: dihedrals ***** 0 !NIMPHI: impropers 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 !NGRP protomol/examples/argon_400/argon.vel.pdb0100644027616700000500000007647610237151526017731 0ustar pbrenne1dipREMARK FINAL VELOCITIES WRITTEN BY NAMD AT TIMESTEP 1500 ATOM 1 ARG ARG 1 0.180 1.329 -2.843 1.00 0.00 ATOM 2 ARG ARG 2 -1.627 -0.292 -0.784 1.00 0.00 ATOM 3 ARG ARG 3 -0.049 1.249 -2.709 1.00 0.00 ATOM 4 ARG ARG 4 -4.851 0.269 -1.049 1.00 0.00 ATOM 5 ARG ARG 5 0.138 0.493 1.958 1.00 0.00 ATOM 6 ARG ARG 6 -2.397 2.167 -1.095 1.00 0.00 ATOM 7 ARG ARG 7 -1.707 -2.022 2.243 1.00 0.00 ATOM 8 ARG ARG 8 5.299 -1.015 0.196 1.00 0.00 ATOM 9 ARG ARG 9 -1.798 1.220 -1.196 1.00 0.00 ATOM 10 ARG ARG 10 -2.000 -0.372 1.759 1.00 0.00 ATOM 11 ARG ARG 11 -1.303 1.407 2.115 1.00 0.00 ATOM 12 ARG ARG 12 3.352 2.635 0.144 1.00 0.00 ATOM 13 ARG ARG 13 0.527 -1.165 -1.438 1.00 0.00 ATOM 14 ARG ARG 14 -1.600 0.260 1.425 1.00 0.00 ATOM 15 ARG ARG 15 0.254 -0.869 -2.827 1.00 0.00 ATOM 16 ARG ARG 16 -0.946 1.743 -0.859 1.00 0.00 ATOM 17 ARG ARG 17 0.162 3.981 -2.269 1.00 0.00 ATOM 18 ARG ARG 18 -0.259 0.367 -0.570 1.00 0.00 ATOM 19 ARG ARG 19 2.965 4.794 -0.875 1.00 0.00 ATOM 20 ARG ARG 20 -0.094 -2.377 0.746 1.00 0.00 ATOM 21 ARG ARG 21 1.038 1.635 2.500 1.00 0.00 ATOM 22 ARG ARG 22 1.751 0.090 1.718 1.00 0.00 ATOM 23 ARG ARG 23 -0.073 0.523 -3.151 1.00 0.00 ATOM 24 ARG ARG 24 0.852 -0.675 -1.920 1.00 0.00 ATOM 25 ARG ARG 25 0.031 0.178 -1.565 1.00 0.00 ATOM 26 ARG ARG 26 0.915 0.751 -0.071 1.00 0.00 ATOM 27 ARG ARG 27 1.892 4.236 2.034 1.00 0.00 ATOM 28 ARG ARG 28 -1.078 1.379 0.933 1.00 0.00 ATOM 29 ARG ARG 29 0.791 0.614 -2.975 1.00 0.00 ATOM 30 ARG ARG 30 -2.612 -0.421 -0.790 1.00 0.00 ATOM 31 ARG ARG 31 0.964 0.805 2.479 1.00 0.00 ATOM 32 ARG ARG 32 -2.057 0.185 -1.358 1.00 0.00 ATOM 33 ARG ARG 33 2.228 0.011 -2.051 1.00 0.00 ATOM 34 ARG ARG 34 0.395 -0.003 2.048 1.00 0.00 ATOM 35 ARG ARG 35 1.813 -2.809 0.235 1.00 0.00 ATOM 36 ARG ARG 36 -0.096 -1.016 -2.557 1.00 0.00 ATOM 37 ARG ARG 37 0.411 -1.700 2.856 1.00 0.00 ATOM 38 ARG ARG 38 -0.791 0.532 -2.412 1.00 0.00 ATOM 39 ARG ARG 39 2.289 0.395 0.113 1.00 0.00 ATOM 40 ARG ARG 40 0.025 0.024 -2.196 1.00 0.00 ATOM 41 ARG ARG 41 -0.656 2.538 1.263 1.00 0.00 ATOM 42 ARG ARG 42 -0.109 1.044 0.824 1.00 0.00 ATOM 43 ARG ARG 43 -3.336 -2.106 2.975 1.00 0.00 ATOM 44 ARG ARG 44 1.039 -1.923 -1.393 1.00 0.00 ATOM 45 ARG ARG 45 0.132 -0.387 -3.081 1.00 0.00 ATOM 46 ARG ARG 46 -0.180 -2.511 -1.329 1.00 0.00 ATOM 47 ARG ARG 47 2.076 0.414 0.316 1.00 0.00 ATOM 48 ARG ARG 48 -1.522 0.284 -3.519 1.00 0.00 ATOM 49 ARG ARG 49 1.023 -0.952 -0.909 1.00 0.00 ATOM 50 ARG ARG 50 1.686 -0.757 0.087 1.00 0.00 ATOM 51 ARG ARG 51 -0.300 -0.971 -0.348 1.00 0.00 ATOM 52 ARG ARG 52 0.724 2.717 -0.356 1.00 0.00 ATOM 53 ARG ARG 53 -2.001 -1.575 -0.027 1.00 0.00 ATOM 54 ARG ARG 54 1.715 -0.752 2.685 1.00 0.00 ATOM 55 ARG ARG 55 0.638 -1.474 0.918 1.00 0.00 ATOM 56 ARG ARG 56 -0.379 0.812 -0.392 1.00 0.00 ATOM 57 ARG ARG 57 0.059 -1.232 -0.850 1.00 0.00 ATOM 58 ARG ARG 58 0.831 -2.963 -2.849 1.00 0.00 ATOM 59 ARG ARG 59 1.394 0.112 1.413 1.00 0.00 ATOM 60 ARG ARG 60 -0.507 -0.289 -1.884 1.00 0.00 ATOM 61 ARG ARG 61 0.790 -2.243 1.590 1.00 0.00 ATOM 62 ARG ARG 62 -2.375 1.318 -1.636 1.00 0.00 ATOM 63 ARG ARG 63 0.131 1.167 -2.219 1.00 0.00 ATOM 64 ARG ARG 64 -3.781 -2.293 0.741 1.00 0.00 ATOM 65 ARG ARG 65 0.897 -0.001 -1.935 1.00 0.00 ATOM 66 ARG ARG 66 -0.083 1.366 0.447 1.00 0.00 ATOM 67 ARG ARG 67 -0.138 -1.904 -0.761 1.00 0.00 ATOM 68 ARG ARG 68 -2.218 0.919 0.261 1.00 0.00 ATOM 69 ARG ARG 69 -0.466 1.315 1.893 1.00 0.00 ATOM 70 ARG ARG 70 3.577 -2.013 2.685 1.00 0.00 ATOM 71 ARG ARG 71 2.728 0.112 0.328 1.00 0.00 ATOM 72 ARG ARG 72 0.596 0.192 -0.812 1.00 0.00 ATOM 73 ARG ARG 73 -3.299 0.239 1.817 1.00 0.00 ATOM 74 ARG ARG 74 -0.713 -0.193 0.563 1.00 0.00 ATOM 75 ARG ARG 75 -0.866 1.469 -1.326 1.00 0.00 ATOM 76 ARG ARG 76 1.482 -2.068 0.205 1.00 0.00 ATOM 77 ARG ARG 77 -1.132 1.063 0.075 1.00 0.00 ATOM 78 ARG ARG 78 2.636 0.085 -0.846 1.00 0.00 ATOM 79 ARG ARG 79 -0.290 -1.095 -2.517 1.00 0.00 ATOM 80 ARG ARG 80 -2.268 -1.481 -0.956 1.00 0.00 ATOM 81 ARG ARG 81 0.193 -1.122 -2.235 1.00 0.00 ATOM 82 ARG ARG 82 0.197 3.560 0.808 1.00 0.00 ATOM 83 ARG ARG 83 -1.955 1.320 -1.760 1.00 0.00 ATOM 84 ARG ARG 84 0.250 -1.455 1.124 1.00 0.00 ATOM 85 ARG ARG 85 -1.401 2.055 -3.854 1.00 0.00 ATOM 86 ARG ARG 86 -0.819 2.107 0.920 1.00 0.00 ATOM 87 ARG ARG 87 0.304 -1.443 -1.165 1.00 0.00 ATOM 88 ARG ARG 88 0.191 2.743 0.954 1.00 0.00 ATOM 89 ARG ARG 89 -0.332 -0.408 2.349 1.00 0.00 ATOM 90 ARG ARG 90 -2.061 -0.162 3.305 1.00 0.00 ATOM 91 ARG ARG 91 1.363 3.528 -0.234 1.00 0.00 ATOM 92 ARG ARG 92 -0.371 -0.385 0.442 1.00 0.00 ATOM 93 ARG ARG 93 -0.705 -2.114 -0.997 1.00 0.00 ATOM 94 ARG ARG 94 -1.070 -0.748 -0.005 1.00 0.00 ATOM 95 ARG ARG 95 0.866 -0.012 0.351 1.00 0.00 ATOM 96 ARG ARG 96 -0.417 -0.477 -2.142 1.00 0.00 ATOM 97 ARG ARG 97 -0.348 -0.430 -0.050 1.00 0.00 ATOM 98 ARG ARG 98 3.229 0.227 1.378 1.00 0.00 ATOM 99 ARG ARG 99 -0.594 -0.827 0.314 1.00 0.00 ATOM 100 ARG ARG 100 1.223 -0.883 -2.477 1.00 0.00 ATOM 101 ARG ARG 101 -1.573 0.547 -0.225 1.00 0.00 ATOM 102 ARG ARG 102 3.968 2.176 -1.163 1.00 0.00 ATOM 103 ARG ARG 103 3.074 -1.654 1.709 1.00 0.00 ATOM 104 ARG ARG 104 0.937 -0.838 -1.072 1.00 0.00 ATOM 105 ARG ARG 105 1.434 0.891 -1.803 1.00 0.00 ATOM 106 ARG ARG 106 0.082 1.301 2.288 1.00 0.00 ATOM 107 ARG ARG 107 0.597 0.817 -2.226 1.00 0.00 ATOM 108 ARG ARG 108 2.429 1.116 0.575 1.00 0.00 ATOM 109 ARG ARG 109 0.405 1.952 0.363 1.00 0.00 ATOM 110 ARG ARG 110 0.139 1.048 -1.235 1.00 0.00 ATOM 111 ARG ARG 111 -1.944 0.615 1.981 1.00 0.00 ATOM 112 ARG ARG 112 -1.450 2.198 1.396 1.00 0.00 ATOM 113 ARG ARG 113 1.805 0.020 1.490 1.00 0.00 ATOM 114 ARG ARG 114 1.735 -3.461 -1.601 1.00 0.00 ATOM 115 ARG ARG 115 -1.369 -0.505 -0.357 1.00 0.00 ATOM 116 ARG ARG 116 -2.672 -4.076 -2.541 1.00 0.00 ATOM 117 ARG ARG 117 -0.029 -0.920 -0.560 1.00 0.00 ATOM 118 ARG ARG 118 1.588 -0.206 0.620 1.00 0.00 ATOM 119 ARG ARG 119 2.838 2.139 1.711 1.00 0.00 ATOM 120 ARG ARG 120 -2.488 0.032 0.100 1.00 0.00 ATOM 121 ARG ARG 121 0.189 0.599 0.223 1.00 0.00 ATOM 122 ARG ARG 122 -1.696 -0.251 3.065 1.00 0.00 ATOM 123 ARG ARG 123 -1.105 1.530 2.842 1.00 0.00 ATOM 124 ARG ARG 124 -0.285 -3.086 0.808 1.00 0.00 ATOM 125 ARG ARG 125 -0.788 2.384 -0.865 1.00 0.00 ATOM 126 ARG ARG 126 -1.733 -0.599 -2.528 1.00 0.00 ATOM 127 ARG ARG 127 -0.869 -1.351 0.981 1.00 0.00 ATOM 128 ARG ARG 128 2.386 1.652 -0.806 1.00 0.00 ATOM 129 ARG ARG 129 -1.085 0.054 0.662 1.00 0.00 ATOM 130 ARG ARG 130 -1.146 -1.544 -0.757 1.00 0.00 ATOM 131 ARG ARG 131 0.766 -1.542 -0.293 1.00 0.00 ATOM 132 ARG ARG 132 0.703 1.558 -2.432 1.00 0.00 ATOM 133 ARG ARG 133 2.805 0.575 1.907 1.00 0.00 ATOM 134 ARG ARG 134 0.317 -1.102 1.124 1.00 0.00 ATOM 135 ARG ARG 135 -2.267 -3.018 1.763 1.00 0.00 ATOM 136 ARG ARG 136 -1.184 -2.981 -3.221 1.00 0.00 ATOM 137 ARG ARG 137 1.130 0.596 0.848 1.00 0.00 ATOM 138 ARG ARG 138 3.406 0.569 -0.300 1.00 0.00 ATOM 139 ARG ARG 139 0.579 0.576 2.711 1.00 0.00 ATOM 140 ARG ARG 140 0.243 3.178 1.310 1.00 0.00 ATOM 141 ARG ARG 141 0.372 -0.191 3.425 1.00 0.00 ATOM 142 ARG ARG 142 0.412 1.863 -1.050 1.00 0.00 ATOM 143 ARG ARG 143 3.344 -0.156 2.004 1.00 0.00 ATOM 144 ARG ARG 144 0.949 2.252 -1.606 1.00 0.00 ATOM 145 ARG ARG 145 2.518 0.990 -0.560 1.00 0.00 ATOM 146 ARG ARG 146 2.325 -2.741 -0.380 1.00 0.00 ATOM 147 ARG ARG 147 0.149 -3.698 1.431 1.00 0.00 ATOM 148 ARG ARG 148 0.465 5.335 -1.343 1.00 0.00 ATOM 149 ARG ARG 149 0.538 -0.198 -1.359 1.00 0.00 ATOM 150 ARG ARG 150 0.494 -2.328 -0.811 1.00 0.00 ATOM 151 ARG ARG 151 -2.892 1.167 1.448 1.00 0.00 ATOM 152 ARG ARG 152 -3.555 -2.015 -0.331 1.00 0.00 ATOM 153 ARG ARG 153 1.975 -0.676 1.296 1.00 0.00 ATOM 154 ARG ARG 154 -0.495 -1.603 0.788 1.00 0.00 ATOM 155 ARG ARG 155 -1.563 -1.039 0.796 1.00 0.00 ATOM 156 ARG ARG 156 -0.105 1.577 0.930 1.00 0.00 ATOM 157 ARG ARG 157 0.348 -1.753 1.626 1.00 0.00 ATOM 158 ARG ARG 158 1.553 2.027 0.956 1.00 0.00 ATOM 159 ARG ARG 159 2.777 -2.433 -5.632 1.00 0.00 ATOM 160 ARG ARG 160 1.927 -1.135 -2.407 1.00 0.00 ATOM 161 ARG ARG 161 0.362 0.321 -0.612 1.00 0.00 ATOM 162 ARG ARG 162 0.956 0.287 0.198 1.00 0.00 ATOM 163 ARG ARG 163 -1.025 -0.678 -0.031 1.00 0.00 ATOM 164 ARG ARG 164 -0.676 -1.241 -0.451 1.00 0.00 ATOM 165 ARG ARG 165 -0.577 -1.148 0.669 1.00 0.00 ATOM 166 ARG ARG 166 0.733 0.412 -1.493 1.00 0.00 ATOM 167 ARG ARG 167 -0.377 -3.113 -1.408 1.00 0.00 ATOM 168 ARG ARG 168 -1.126 -1.276 -4.631 1.00 0.00 ATOM 169 ARG ARG 169 -1.546 -2.558 -1.271 1.00 0.00 ATOM 170 ARG ARG 170 -0.180 0.566 0.333 1.00 0.00 ATOM 171 ARG ARG 171 -1.861 2.394 2.505 1.00 0.00 ATOM 172 ARG ARG 172 -0.777 2.170 -1.770 1.00 0.00 ATOM 173 ARG ARG 173 3.001 -1.477 1.502 1.00 0.00 ATOM 174 ARG ARG 174 -1.502 4.158 2.148 1.00 0.00 ATOM 175 ARG ARG 175 0.889 1.076 3.307 1.00 0.00 ATOM 176 ARG ARG 176 3.335 0.208 -0.336 1.00 0.00 ATOM 177 ARG ARG 177 -2.058 0.506 -1.700 1.00 0.00 ATOM 178 ARG ARG 178 0.289 0.284 2.026 1.00 0.00 ATOM 179 ARG ARG 179 1.471 1.077 -0.224 1.00 0.00 ATOM 180 ARG ARG 180 -1.077 -0.300 3.653 1.00 0.00 ATOM 181 ARG ARG 181 1.877 4.523 -0.097 1.00 0.00 ATOM 182 ARG ARG 182 -0.399 2.192 1.832 1.00 0.00 ATOM 183 ARG ARG 183 1.678 1.536 1.235 1.00 0.00 ATOM 184 ARG ARG 184 2.431 -1.439 1.322 1.00 0.00 ATOM 185 ARG ARG 185 -0.300 -1.273 -1.139 1.00 0.00 ATOM 186 ARG ARG 186 -0.796 -0.682 -0.381 1.00 0.00 ATOM 187 ARG ARG 187 1.553 0.335 -0.267 1.00 0.00 ATOM 188 ARG ARG 188 1.363 -2.168 -1.155 1.00 0.00 ATOM 189 ARG ARG 189 -2.019 -1.926 0.179 1.00 0.00 ATOM 190 ARG ARG 190 -1.444 -0.264 1.805 1.00 0.00 ATOM 191 ARG ARG 191 1.090 0.443 -0.375 1.00 0.00 ATOM 192 ARG ARG 192 1.939 1.831 -2.423 1.00 0.00 ATOM 193 ARG ARG 193 2.460 0.951 -2.745 1.00 0.00 ATOM 194 ARG ARG 194 -0.012 -1.184 0.550 1.00 0.00 ATOM 195 ARG ARG 195 0.630 -1.938 -3.951 1.00 0.00 ATOM 196 ARG ARG 196 -0.286 3.901 -1.424 1.00 0.00 ATOM 197 ARG ARG 197 -0.274 -2.216 -0.135 1.00 0.00 ATOM 198 ARG ARG 198 -1.118 4.611 3.277 1.00 0.00 ATOM 199 ARG ARG 199 0.058 1.893 0.528 1.00 0.00 ATOM 200 ARG ARG 200 0.273 -2.452 1.969 1.00 0.00 ATOM 201 ARG ARG 201 -1.334 -1.153 -3.110 1.00 0.00 ATOM 202 ARG ARG 202 1.318 0.857 3.158 1.00 0.00 ATOM 203 ARG ARG 203 0.009 -1.490 1.611 1.00 0.00 ATOM 204 ARG ARG 204 3.174 0.353 1.864 1.00 0.00 ATOM 205 ARG ARG 205 -1.328 -3.276 -0.905 1.00 0.00 ATOM 206 ARG ARG 206 0.631 1.679 -0.240 1.00 0.00 ATOM 207 ARG ARG 207 1.462 0.878 2.284 1.00 0.00 ATOM 208 ARG ARG 208 0.436 0.747 1.679 1.00 0.00 ATOM 209 ARG ARG 209 -0.456 2.147 1.803 1.00 0.00 ATOM 210 ARG ARG 210 -2.246 0.423 0.591 1.00 0.00 ATOM 211 ARG ARG 211 -2.795 2.396 1.050 1.00 0.00 ATOM 212 ARG ARG 212 0.809 -2.790 -0.415 1.00 0.00 ATOM 213 ARG ARG 213 0.670 -1.729 1.721 1.00 0.00 ATOM 214 ARG ARG 214 1.364 0.464 -2.049 1.00 0.00 ATOM 215 ARG ARG 215 -1.673 -0.396 -2.524 1.00 0.00 ATOM 216 ARG ARG 216 1.458 -0.726 1.439 1.00 0.00 ATOM 217 ARG ARG 217 -0.203 -2.435 3.915 1.00 0.00 ATOM 218 ARG ARG 218 -1.647 1.608 0.868 1.00 0.00 ATOM 219 ARG ARG 219 -0.971 -3.909 -2.202 1.00 0.00 ATOM 220 ARG ARG 220 -1.971 1.235 -2.788 1.00 0.00 ATOM 221 ARG ARG 221 5.271 0.451 -0.608 1.00 0.00 ATOM 222 ARG ARG 222 0.607 -4.184 -0.222 1.00 0.00 ATOM 223 ARG ARG 223 -0.384 1.752 1.218 1.00 0.00 ATOM 224 ARG ARG 224 0.271 0.068 -0.751 1.00 0.00 ATOM 225 ARG ARG 225 -0.139 1.380 2.210 1.00 0.00 ATOM 226 ARG ARG 226 2.468 0.908 -0.397 1.00 0.00 ATOM 227 ARG ARG 227 0.876 1.216 -0.446 1.00 0.00 ATOM 228 ARG ARG 228 1.692 -1.714 3.490 1.00 0.00 ATOM 229 ARG ARG 229 0.416 1.061 2.916 1.00 0.00 ATOM 230 ARG ARG 230 -0.964 1.405 -0.181 1.00 0.00 ATOM 231 ARG ARG 231 0.993 -3.693 2.200 1.00 0.00 ATOM 232 ARG ARG 232 -3.007 -2.013 -0.894 1.00 0.00 ATOM 233 ARG ARG 233 -1.092 -0.086 -1.641 1.00 0.00 ATOM 234 ARG ARG 234 -1.147 0.123 1.881 1.00 0.00 ATOM 235 ARG ARG 235 0.721 -1.478 0.328 1.00 0.00 ATOM 236 ARG ARG 236 -0.884 1.614 3.031 1.00 0.00 ATOM 237 ARG ARG 237 -0.274 -2.457 -0.323 1.00 0.00 ATOM 238 ARG ARG 238 2.273 -1.043 0.536 1.00 0.00 ATOM 239 ARG ARG 239 -0.462 -2.530 -2.578 1.00 0.00 ATOM 240 ARG ARG 240 -0.641 -0.499 4.222 1.00 0.00 ATOM 241 ARG ARG 241 0.856 0.998 0.092 1.00 0.00 ATOM 242 ARG ARG 242 0.576 1.398 -1.177 1.00 0.00 ATOM 243 ARG ARG 243 -0.161 0.073 0.266 1.00 0.00 ATOM 244 ARG ARG 244 -1.587 -0.113 2.689 1.00 0.00 ATOM 245 ARG ARG 245 1.002 2.429 1.149 1.00 0.00 ATOM 246 ARG ARG 246 -0.816 -0.905 1.853 1.00 0.00 ATOM 247 ARG ARG 247 -4.173 -0.698 0.958 1.00 0.00 ATOM 248 ARG ARG 248 -2.737 2.134 -1.016 1.00 0.00 ATOM 249 ARG ARG 249 0.901 0.448 3.243 1.00 0.00 ATOM 250 ARG ARG 250 0.786 0.557 -0.529 1.00 0.00 ATOM 251 ARG ARG 251 0.219 0.252 1.135 1.00 0.00 ATOM 252 ARG ARG 252 -0.943 -2.009 -0.664 1.00 0.00 ATOM 253 ARG ARG 253 -2.089 -0.221 -3.570 1.00 0.00 ATOM 254 ARG ARG 254 -1.206 1.439 -1.842 1.00 0.00 ATOM 255 ARG ARG 255 1.342 0.280 0.052 1.00 0.00 ATOM 256 ARG ARG 256 0.947 0.671 1.456 1.00 0.00 ATOM 257 ARG ARG 257 -0.419 -1.251 -2.781 1.00 0.00 ATOM 258 ARG ARG 258 1.915 0.313 -2.341 1.00 0.00 ATOM 259 ARG ARG 259 1.680 0.921 -4.563 1.00 0.00 ATOM 260 ARG ARG 260 -2.510 -3.391 0.406 1.00 0.00 ATOM 261 ARG ARG 261 -1.482 -0.804 -2.410 1.00 0.00 ATOM 262 ARG ARG 262 1.954 -2.505 -1.208 1.00 0.00 ATOM 263 ARG ARG 263 0.558 -0.244 0.898 1.00 0.00 ATOM 264 ARG ARG 264 0.517 -2.747 -1.274 1.00 0.00 ATOM 265 ARG ARG 265 -2.134 1.266 2.527 1.00 0.00 ATOM 266 ARG ARG 266 -0.636 3.466 3.250 1.00 0.00 ATOM 267 ARG ARG 267 0.178 1.067 -2.281 1.00 0.00 ATOM 268 ARG ARG 268 -0.181 -1.297 1.851 1.00 0.00 ATOM 269 ARG ARG 269 1.328 3.420 -2.058 1.00 0.00 ATOM 270 ARG ARG 270 0.022 -2.325 0.764 1.00 0.00 ATOM 271 ARG ARG 271 -0.593 -1.861 3.284 1.00 0.00 ATOM 272 ARG ARG 272 -1.319 -1.048 2.281 1.00 0.00 ATOM 273 ARG ARG 273 -1.388 -0.572 -0.026 1.00 0.00 ATOM 274 ARG ARG 274 -3.014 0.917 3.097 1.00 0.00 ATOM 275 ARG ARG 275 0.742 2.609 1.453 1.00 0.00 ATOM 276 ARG ARG 276 0.293 2.924 0.782 1.00 0.00 ATOM 277 ARG ARG 277 0.569 -2.608 1.155 1.00 0.00 ATOM 278 ARG ARG 278 -2.389 1.955 0.419 1.00 0.00 ATOM 279 ARG ARG 279 0.464 -0.235 -0.492 1.00 0.00 ATOM 280 ARG ARG 280 -2.375 1.754 1.502 1.00 0.00 ATOM 281 KRY KRY 281 1.689 -0.076 2.145 1.00 0.00 ATOM 282 KRY KRY 282 -0.770 0.243 -1.576 1.00 0.00 ATOM 283 KRY KRY 283 -2.594 0.066 0.333 1.00 0.00 ATOM 284 KRY KRY 284 -0.444 -1.078 -0.869 1.00 0.00 ATOM 285 KRY KRY 285 -0.866 0.886 -0.419 1.00 0.00 ATOM 286 KRY KRY 286 0.343 0.759 -0.600 1.00 0.00 ATOM 287 KRY KRY 287 -0.582 0.113 -1.040 1.00 0.00 ATOM 288 KRY KRY 288 1.040 -1.432 0.015 1.00 0.00 ATOM 289 KRY KRY 289 1.494 0.387 1.306 1.00 0.00 ATOM 290 KRY KRY 290 -0.924 0.704 1.441 1.00 0.00 ATOM 291 KRY KRY 291 0.615 -0.287 1.424 1.00 0.00 ATOM 292 KRY KRY 292 -0.683 0.211 -1.213 1.00 0.00 ATOM 293 KRY KRY 293 -0.069 0.488 0.546 1.00 0.00 ATOM 294 KRY KRY 294 1.877 -2.037 0.775 1.00 0.00 ATOM 295 KRY KRY 295 0.663 -0.573 -0.649 1.00 0.00 ATOM 296 KRY KRY 296 0.446 0.129 0.867 1.00 0.00 ATOM 297 KRY KRY 297 0.185 -0.930 -0.566 1.00 0.00 ATOM 298 KRY KRY 298 1.340 -0.283 2.111 1.00 0.00 ATOM 299 KRY KRY 299 0.142 1.592 0.574 1.00 0.00 ATOM 300 KRY KRY 300 -0.533 -0.437 0.566 1.00 0.00 ATOM 301 KRY KRY 301 0.932 -0.591 -0.121 1.00 0.00 ATOM 302 KRY KRY 302 0.619 0.794 -0.765 1.00 0.00 ATOM 303 KRY KRY 303 -1.752 0.293 2.553 1.00 0.00 ATOM 304 KRY KRY 304 2.297 -1.449 -0.049 1.00 0.00 ATOM 305 KRY KRY 305 2.370 -0.161 1.284 1.00 0.00 ATOM 306 KRY KRY 306 -0.010 -1.217 -1.184 1.00 0.00 ATOM 307 KRY KRY 307 -0.665 -0.578 -0.311 1.00 0.00 ATOM 308 KRY KRY 308 -0.251 -0.715 1.386 1.00 0.00 ATOM 309 KRY KRY 309 -0.145 -1.050 1.648 1.00 0.00 ATOM 310 KRY KRY 310 -0.549 0.175 -0.453 1.00 0.00 ATOM 311 KRY KRY 311 -0.591 2.528 -0.501 1.00 0.00 ATOM 312 KRY KRY 312 2.214 1.725 0.630 1.00 0.00 ATOM 313 KRY KRY 313 0.769 -1.023 0.581 1.00 0.00 ATOM 314 KRY KRY 314 -0.681 -2.110 -0.356 1.00 0.00 ATOM 315 KRY KRY 315 1.234 -0.970 0.788 1.00 0.00 ATOM 316 KRY KRY 316 4.556 0.841 0.143 1.00 0.00 ATOM 317 KRY KRY 317 0.510 -1.025 0.364 1.00 0.00 ATOM 318 KRY KRY 318 -1.566 1.295 0.319 1.00 0.00 ATOM 319 KRY KRY 319 -0.415 -0.300 0.917 1.00 0.00 ATOM 320 KRY KRY 320 0.476 1.322 -1.055 1.00 0.00 ATOM 321 KRY KRY 321 1.594 1.711 2.722 1.00 0.00 ATOM 322 KRY KRY 322 2.290 -1.254 1.510 1.00 0.00 ATOM 323 KRY KRY 323 0.784 -0.795 0.632 1.00 0.00 ATOM 324 KRY KRY 324 0.233 -2.192 1.117 1.00 0.00 ATOM 325 KRY KRY 325 -0.840 1.160 1.272 1.00 0.00 ATOM 326 KRY KRY 326 0.793 -1.473 1.102 1.00 0.00 ATOM 327 KRY KRY 327 -1.391 -0.478 -1.845 1.00 0.00 ATOM 328 KRY KRY 328 -0.673 -1.668 -1.156 1.00 0.00 ATOM 329 KRY KRY 329 0.506 -1.380 0.873 1.00 0.00 ATOM 330 KRY KRY 330 -0.551 -0.442 0.546 1.00 0.00 ATOM 331 KRY KRY 331 -0.082 -0.432 -1.859 1.00 0.00 ATOM 332 KRY KRY 332 -0.894 -0.133 1.394 1.00 0.00 ATOM 333 KRY KRY 333 1.077 -1.319 0.167 1.00 0.00 ATOM 334 KRY KRY 334 0.804 1.632 0.487 1.00 0.00 ATOM 335 KRY KRY 335 1.543 -0.561 -1.639 1.00 0.00 ATOM 336 KRY KRY 336 1.056 -1.254 2.350 1.00 0.00 ATOM 337 KRY KRY 337 0.046 -0.818 0.437 1.00 0.00 ATOM 338 KRY KRY 338 -0.830 1.550 0.239 1.00 0.00 ATOM 339 KRY KRY 339 -0.271 -0.228 1.625 1.00 0.00 ATOM 340 KRY KRY 340 1.259 1.096 0.137 1.00 0.00 ATOM 341 KRY KRY 341 2.513 1.603 -0.277 1.00 0.00 ATOM 342 KRY KRY 342 0.225 -1.140 -0.685 1.00 0.00 ATOM 343 KRY KRY 343 -1.830 -1.365 -0.829 1.00 0.00 ATOM 344 KRY KRY 344 -0.962 -1.173 -0.028 1.00 0.00 ATOM 345 KRY KRY 345 -1.172 1.324 1.719 1.00 0.00 ATOM 346 KRY KRY 346 0.737 0.229 -0.315 1.00 0.00 ATOM 347 KRY KRY 347 0.082 -0.088 1.581 1.00 0.00 ATOM 348 KRY KRY 348 -0.084 1.124 1.046 1.00 0.00 ATOM 349 KRY KRY 349 -0.008 -1.344 0.438 1.00 0.00 ATOM 350 KRY KRY 350 1.160 1.502 0.147 1.00 0.00 ATOM 351 KRY KRY 351 0.536 -1.415 -2.295 1.00 0.00 ATOM 352 KRY KRY 352 0.337 -1.605 -0.460 1.00 0.00 ATOM 353 KRY KRY 353 -0.559 0.552 0.674 1.00 0.00 ATOM 354 KRY KRY 354 -0.102 0.794 -1.629 1.00 0.00 ATOM 355 KRY KRY 355 -2.289 0.874 0.129 1.00 0.00 ATOM 356 KRY KRY 356 -0.199 -0.431 -0.127 1.00 0.00 ATOM 357 KRY KRY 357 -0.184 -0.398 0.249 1.00 0.00 ATOM 358 KRY KRY 358 0.826 -0.522 1.331 1.00 0.00 ATOM 359 KRY KRY 359 0.819 -0.750 -0.471 1.00 0.00 ATOM 360 KRY KRY 360 -0.571 0.067 0.959 1.00 0.00 ATOM 361 KRY KRY 361 -1.619 -1.386 -0.112 1.00 0.00 ATOM 362 KRY KRY 362 2.031 -0.070 -0.494 1.00 0.00 ATOM 363 KRY KRY 363 -1.548 -1.474 -1.675 1.00 0.00 ATOM 364 KRY KRY 364 0.525 0.637 1.446 1.00 0.00 ATOM 365 KRY KRY 365 1.698 2.322 -0.578 1.00 0.00 ATOM 366 KRY KRY 366 -1.099 0.427 0.085 1.00 0.00 ATOM 367 KRY KRY 367 1.059 -0.261 0.291 1.00 0.00 ATOM 368 KRY KRY 368 0.561 0.899 1.590 1.00 0.00 ATOM 369 KRY KRY 369 -0.482 0.022 -0.635 1.00 0.00 ATOM 370 KRY KRY 370 1.302 0.888 0.043 1.00 0.00 ATOM 371 KRY KRY 371 2.489 -0.614 0.394 1.00 0.00 ATOM 372 KRY KRY 372 0.384 -0.916 -1.373 1.00 0.00 ATOM 373 KRY KRY 373 0.318 -0.371 -0.499 1.00 0.00 ATOM 374 KRY KRY 374 -0.126 0.943 1.249 1.00 0.00 ATOM 375 KRY KRY 375 1.187 -1.648 -1.451 1.00 0.00 ATOM 376 KRY KRY 376 0.806 -0.136 -0.305 1.00 0.00 ATOM 377 KRY KRY 377 0.191 0.495 1.426 1.00 0.00 ATOM 378 KRY KRY 378 -1.276 0.998 0.566 1.00 0.00 ATOM 379 KRY KRY 379 1.036 1.797 0.689 1.00 0.00 ATOM 380 KRY KRY 380 0.675 -1.587 -0.240 1.00 0.00 ATOM 381 KRY KRY 381 2.149 -0.598 -0.540 1.00 0.00 ATOM 382 KRY KRY 382 0.002 -0.866 0.098 1.00 0.00 ATOM 383 KRY KRY 383 -1.300 -1.342 -0.615 1.00 0.00 ATOM 384 KRY KRY 384 -1.680 -0.298 -0.758 1.00 0.00 ATOM 385 KRY KRY 385 -1.225 0.773 -0.605 1.00 0.00 ATOM 386 KRY KRY 386 0.515 0.304 1.656 1.00 0.00 ATOM 387 KRY KRY 387 0.198 -0.567 -1.141 1.00 0.00 ATOM 388 KRY KRY 388 -0.828 -1.718 -0.253 1.00 0.00 ATOM 389 KRY KRY 389 1.293 -0.482 1.116 1.00 0.00 ATOM 390 KRY KRY 390 1.797 -0.705 1.204 1.00 0.00 ATOM 391 KRY KRY 391 -0.222 -0.669 1.147 1.00 0.00 ATOM 392 KRY KRY 392 -1.029 0.496 0.139 1.00 0.00 ATOM 393 KRY KRY 393 -0.929 1.127 0.395 1.00 0.00 ATOM 394 KRY KRY 394 -0.253 -0.133 -0.655 1.00 0.00 ATOM 395 KRY KRY 395 0.147 -2.088 1.471 1.00 0.00 ATOM 396 KRY KRY 396 0.269 -0.534 -0.262 1.00 0.00 ATOM 397 KRY KRY 397 -1.166 0.288 -0.090 1.00 0.00 ATOM 398 KRY KRY 398 0.457 -1.742 -0.073 1.00 0.00 ATOM 399 KRY KRY 399 0.866 0.891 -1.371 1.00 0.00 ATOM 400 KRY KRY 400 -0.298 -0.972 -0.900 1.00 0.00 END protomol/examples/bpti_water_1101/0040755027616700000500000000000010237151526016437 5ustar pbrenne1dipprotomol/examples/bpti_water_1101/.cvsignore0100644027616700000500000000001710237151526020432 0ustar pbrenne1dip*energ* *out* protomol/examples/bpti_water_1101/bpti.hmc.conf0100644027616700000500000000144110237151526021007 0ustar pbrenne1dipdebug 2 numsteps 10500 firststep 0 # seed 29062783 # seed 1269547 seed 7536031 posfile bpti.pdb psffile bpti.psf parfile bpti.par temperature 300 outputfreq 1 allenergiesfile bpti.out.energies.hmc boundaryConditions Periodic # cellBasisVector1 64.32 0 0 # cellBasisVector2 0 51.167 0 # cellBasisVector3 0 0 51.272 cellManager Cubic cellsize 4 # shadowEnergy true # removeLinearMomentum 1 # removeAngularMomentum 1 Integrator { level 1 HybridMC { temperature 300 cyclelength 50 } level 0 Leapfrog { timestep 0.5 force Improper force Dihedral force Bond force Angle force Coulomb -algorithm NonbondedSimpleFull force LennardJones -algorithm NonbondedSimpleFull } } protomol/examples/bpti_water_1101/bpti.lf.conf0100644027616700000500000000132210237151526020637 0ustar pbrenne1dipdebug 2 numsteps 10500 firststep 0 posfile bpti.pdb psffile bpti.psf parfile bpti.par temperature 300 # seed 29062783 # seed 1269547 seed 7536031 outputfreq 1 allenergiesfile bpti.out.energies.lf boundaryConditions Periodic # cellBasisVector1 64.32 0 0 # cellBasisVector2 0 51.167 0 # cellBasisVector3 0 0 51.272 cellManager Cubic cellsize 4 # shadowEnergy true # removeLinearMomentum 1 # removeAngularMomentum 1 Integrator { level 0 Leapfrog { timestep 0.5 force Improper force Dihedral force Bond force Angle force Coulomb -algorithm NonbondedSimpleFull force LennardJones -algorithm NonbondedSimpleFull } } protomol/examples/bpti_water_1101/bpti.par0100644027616700000500000036203410237151526020106 0ustar pbrenne1dip*>>>> CHARMM22 All-Hydrogen Parameter File for Proteins <<<<<<<<<< *>>>>>>>>>>>>>>>>>>>>>> August 1999 <<<<<<<<<<<<<<<<<<<<<<<<<<<<< *>>>>>>> Direct comments to Alexander D. MacKerell Jr. <<<<<<<<< *>>>>>> 410-706-7442 or email: alex,mmiris.ab.umd.edu <<<<<<<<< * ! references ! !PROTEINS ! !MacKerell, Jr., A. D.; Bashford, D.; Bellott, M.; Dunbrack Jr., R.L.; !Evanseck, J.D.; Field, M.J.; Fischer, S.; Gao, J.; Guo, H.; Ha, S.; !Joseph-McCarthy, D.; Kuchnir, L.; Kuczera, K.; Lau, F.T.K.; Mattos, !C.; Michnick, S.; Ngo, T.; Nguyen, D.T.; Prodhom, B.; Reiher, III, !W.E.; Roux, B.; Schlenkrich, M.; Smith, J.C.; Stote, R.; Straub, J.; !Watanabe, M.; Wiorkiewicz-Kuczera, J.; Yin, D.; Karplus, M. All-atom !empirical potential for molecular modeling and dynamics Studies of !proteins. Journal of Physical Chemistry B, 1998, 102, 3586-3616. ! !PHOSPHOTYROSINE ! !Feng, M.-H., Philippopoulos, M., MacKerell, Jr., A.D. and Lim, C. !Structural Characterization of the Phosphotyrosine Binding Region of a !High-Affinity aSH2 Domain-Phosphopeptide Complex by Molecular Dynamics !Simulation and Chemical Shift Calculations. Journal of the American !Chemical Society, 1996, 118: 11265-11277. ! !IONS (see lipid and nucleic acid topology and parameter files for !additional ions ! !ZINC ! !Roland H. Stote and Martin Karplus, Zinc Binding in Proteins and !Solution: A Simple but Accurate Nonbonded Representation, PROTEINS: !Structure, Function, and Genetics 23:12-31 (1995) ! BONDS ! !V(bond) = Kb(b - b0)**2 ! !Kb: kcal/mole/A**2 !b0: A ! !atom type Kb b0 ! C C 600.000 1.3350 ! ALLOW ARO HEM ! Heme vinyl substituent (KK, from propene (JCS)) CA CA 305.000 1.3750 ! ALLOW ARO ! benzene, JES 8/25/89 CE1 CE1 440.000 1.3400 ! ! for butene; from propene, yin/adm jr., 12/95 CE1 CE2 500.000 1.3420 ! ! for propene, yin/adm jr., 12/95 CE1 CT2 365.000 1.5020 ! ! for butene; from propene, yin/adm jr., 12/95 CE1 CT3 383.000 1.5040 ! ! for butene, yin/adm jr., 12/95 CE2 CE2 510.000 1.3300 ! ! for ethene, yin/adm jr., 12/95 CP1 C 250.000 1.4900 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP1 CC 250.000 1.4900 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP1 CD 200.000 1.4900 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP2 CP1 222.500 1.5270 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP2 CP2 222.500 1.5370 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 CP2 222.500 1.5370 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CPB C 450.000 1.3800 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CPB CPA 299.800 1.4432 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) CPB CPB 340.700 1.3464 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) CPH1 CPH1 410.000 1.3600 ! ALLOW ARO ! histidine, adm jr., 6/27/90 CPM CPA 360.000 1.3716 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) CPT CA 305.000 1.3680 ! ALLOW ARO ! adm jr., 12/30/91, for jwk CPT CPT 360.000 1.4000 ! ALLOW ARO !adm jr., 12/30/91, for jwk CT1 C 250.000 1.4900 ! ALLOW ALI PEP POL ARO ! Ala Dipeptide ab initio calc's (LK) fixed from 10/90 (5/91) CT1 CC 200.000 1.5220 ! ALLOW POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters CT1 CD 200.000 1.5220 ! ALLOW POL ! adm jr. 5/02/91, acetic acid pure solvent CT1 CT1 222.500 1.5000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT2 C 250.000 1.4900 ! ALLOW ALI PEP POL ARO ! Ala Dipeptide ab initio calc's (LK) fixed from 10/90 (5/91) CT2 CA 230.000 1.4900 ! ALLOW ALI ARO ! phe,tyr, JES 8/25/89 CT2 CC 200.000 1.5220 ! ALLOW POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters CT2 CD 200.000 1.5220 ! ALLOW POL ! adm jr. 5/02/91, acetic acid pure solvent CT2 CPB 230.000 1.4900 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CT2 CPH1 229.630 1.5000 ! ALLOW ARO ! his, adm jr., 7/22/89, FC from CT2CT, BL from crystals CT2 CT1 222.500 1.5380 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT2 CT2 222.500 1.5300 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT3 C 250.000 1.4900 ! ALLOW ALI PEP POL ARO ! Ala Dipeptide ab initio calc's (LK) fixed from 10/90 (5/91) CT3 CA 230.000 1.4900 ! ALLOW ALI ARO ! toluene, adm jr. 3/7/92 CT3 CC 200.000 1.5220 ! ALLOW POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters CT3 CD 200.000 1.5220 ! ALLOW POL ! adm jr. 5/02/91, acetic acid pure solvent CT3 CPB 230.000 1.4900 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CT3 CPH1 229.630 1.5000 ! ALLOW ARO ! his, adm jr., 7/22/89, FC from CT2CT, BL from crystals CT3 CS 190.000 1.5310 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 CT3 CT1 222.500 1.5380 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT3 CT2 222.500 1.5280 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT3 CT3 222.500 1.5300 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CY CA 350.000 1.3650 ! ALLOW ARO !adm jr., 5/08/91, indole CCDB structure search CY CPT 350.000 1.4400 ! ALLOW ARO !adm jr., 12/30/91, for jwk CY CT2 230.000 1.5100 ! ALLOW ARO !JWK Kb from alkane freq.. b0 from TRP crystal FE CM 258.000 1.9000 ! ALLOW HEM ! Heme (6-liganded): CO ligand (KK 05/13/91) FE CPM 0.000 3.3814 ! ALLOW HEM ! Heme (6-liganded): for "ic para" only (KK 05/13/91) H CD 330.000 1.1100 ! ALLOW PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent HA C 330.000 1.1000 ! ALLOW ARO HEM ! Heme vinyl substituent (KK, from propene (JCS)) HA CA 340.000 1.0830 ! ALLOW ARO ! trp, adm jr., 10/02/89 HA CC 317.130 1.1000 ! ALLOW POL ! adm jr., 5/13/91, formamide geometry and vibrations HA CP2 309.000 1.1110 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HA CP3 309.000 1.1110 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HA CPM 367.600 1.0900 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) HA CS 300.000 1.1110 ! ALLOW SUL ! methylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 HA CT1 309.000 1.1110 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CT2 309.000 1.1110 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CT3 322.000 1.1110 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CY 330.000 1.0800 ! ALLOW ARO ! JWK 05/14/91 new r0 from indole HE1 CE1 360.500 1.1000 ! ! for propene, yin/adm jr., 12/95 HE2 CE2 365.000 1.1000 ! ! for ethene, yin/adm jr., 12/95 HB CP1 330.000 1.0800 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HB CT1 330.000 1.0800 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT2 330.000 1.0800 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT3 330.000 1.0800 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HP CA 340.000 1.0800 ! ALLOW ARO ! phe,tyr JES 8/25/89 HP CY 350.000 1.0800 ! ALLOW ARO !adm jr., 12/30/91, for jwk HR1 CPH1 375.000 1.0830 ! ALLOW ARO ! his, adm jr., 6/27/90 HR1 CPH2 340.000 1.0900 ! ALLOW ARO ! his, adm jr., 6/28/29 HR2 CPH2 333.000 1.0700 ! ALLOW ARO ! his, adm jr., 6/27/90 HR3 CPH1 365.000 1.0830 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HT HT 0.000 1.5139 ! ALLOW WAT ! FROM TIPS3P GEOMETRY (FOR SHAKE/W PARAM) N C 260.000 1.3000 ! ALLOW PEP POL ARO PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N CP1 320.000 1.4340 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N CP3 320.000 1.4550 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NC2 C 463.000 1.3650 ! ALLOW PEP POL ARO ! 403.0->463.0, 1.305->1.365 guanidinium (KK) NC2 CT2 261.000 1.4900 ! ALLOW ALI POL ! arg, (DS) NC2 CT3 261.000 1.4900 ! ALLOW ALI POL ! methylguanidinium, adm jr., 3/26/92 NC2 HC 455.000 1.0000 ! ALLOW POL ! 405.0->455.0 GUANIDINIUM (KK) NH1 C 370.000 1.3450 ! ALLOW PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) NH1 CT1 320.000 1.4300 ! ALLOW ALI PEP POL ARO ! NMA Gas & Liquid Phase IR Spectra (LK) NH1 CT2 320.000 1.4300 ! ALLOW ALI PEP POL ARO ! NMA Gas & Liquid Phase IR Spectra (LK) NH1 CT3 320.000 1.4300 ! ALLOW ALI PEP POL ARO ! NMA Gas & Liquid Phase IR Spectra (LK) NH1 H 440.000 0.9970 ! ALLOW PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) NH1 HC 405.000 0.9800 ! ALLOW PEP POL ARO ! (DS) NH2 CC 430.000 1.3600 ! ALLOW PEP POL ARO ! adm jr. 4/10/91, acetamide NH2 CT2 240.000 1.4550 ! from NH2 CT3, neutral glycine, adm jr. NH2 CT3 240.000 1.4550 ! ALLOW POL ! methylamine geom/freq, adm jr., 6/2/92 NH2 H 480.000 1.0000 ! ALLOW POL ! adm jr. 8/13/90 acetamide geometry and vibrations NH2 HC 460.000 1.0000 ! ALLOW POL ! methylamine geom/freq, adm jr., 6/2/92 NH3 CT1 200.000 1.4800 ! ALLOW ALI POL ! new stretch and bend; methylammonium (KK 03/10/92) NH3 CT2 200.000 1.4800 ! ALLOW ALI POL ! new stretch and bend; methylammonium (KK 03/10/92) NH3 CT3 200.000 1.4800 ! ALLOW ALI POL ! new stretch and bend; methylammonium (KK 03/10/92) NH3 HC 403.000 1.0400 ! ALLOW POL ! new stretch and bend; methylammonium (KK 03/10/92) NP CP1 320.000 1.4850 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NP CP3 320.000 1.5020 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NP HC 460.000 1.0060 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NPH CPA 377.200 1.3757 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NPH FE 270.200 1.9580 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NR1 CPH1 400.000 1.3800 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR1 CPH2 400.000 1.3600 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR1 H 466.000 1.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR2 CPH1 400.000 1.3800 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR2 CPH2 400.000 1.3200 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR2 FE 65.000 2.2000 ! ALLOW HEM ! Heme (6-liganded): His ligand (KK 05/13/91) NR3 CPH1 380.000 1.3700 ! ALLOW ARO ! his, adm jr., 6/28/90 NR3 CPH2 380.000 1.3200 ! ALLOW ARO ! his, adm jr., 6/27/90 NR3 H 453.000 1.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 NY CA 270.000 1.3700 ! ALLOW ARO !adm jr., 12/30/91, for jwk NY CPT 270.000 1.3750 ! ALLOW ARO !adm jr., 12/30/91, for jwk NY H 465.000 0.9760 ! ALLOW ARO ! indole JWK 08/28/89 O C 620.000 1.2300 ! ALLOW PEP POL ARO ! Peptide geometry, condensed phase (LK) O CC 650.000 1.2300 ! ALLOW PEP POL ARO ! adm jr. 4/10/91, acetamide OB CC 750.000 1.2200 ! ALLOW PEP POL ARO ! adm jr., 10/17/90, acetic acid vibrations and geom. OB CD 750.000 1.2200 ! ALLOW PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent OC CA 525.000 1.2600 ! ALLOW PEP POL ARO ION ! adm jr. 8/27/91, phenoxide OC CC 525.000 1.2600 ! ALLOW PEP POL ARO ION ! adm jr. 7/23/91, acetic acid OC CT2 450.000 1.3300 ! ALLOW ALC ! ethoxide 6-31+G* geom/freq, adm jr., 6/1/92 OC CT3 450.000 1.3300 ! ALLOW ALC ! methoxide 6-31+G* geom/freq, adm jr., 6/1/92 OH1 CA 334.300 1.4110 ! ALLOW ARO ALC ! MeOH, EMB 10/10/89, OH1 CD 230.000 1.4000 ! ALLOW PEP POL ARO ALC ! adm jr. 5/02/91, acetic acid pure solvent OH1 CT1 428.000 1.4200 ! ALLOW ALI ALC ARO ! methanol vib fit EMB 11/21/89 OH1 CT2 428.000 1.4200 ! ALLOW ALI ALC ARO ! methanol vib fit EMB 11/21/89 OH1 CT3 428.000 1.4200 ! ALLOW ALI ALC ARO ! methanol vib fit EMB 11/21/89 OH1 H 545.000 0.9600 ! ALLOW ALC ARO ! EMB 11/21/89 methanol vib fit OM CM 1115.000 1.1280 ! ALLOW HEM ! Heme (6-liganded): CO ligand (KK 05/13/91) OM FE 250.000 1.8000 ! ALLOW HEM ! Heme (6-liganded): O2 ligand (KK 05/13/91) OM OM 600.000 1.2300 ! ALLOW HEM ! Heme (6-liganded): O2 ligand (KK 05/13/91) OS CD 150.000 1.3340 ! ALLOW POL PEP ! adm jr. 5/02/91, acetic acid pure solvent OS CT3 340.000 1.4300 ! ALLOW POL PEP ! adm jr., 4/05/91, for PRES CT1 from methylacetate OT HT 450.000 0.9572 ! ALLOW WAT ! FROM TIPS3P GEOM S CT2 198.000 1.8180 ! ALLOW ALI SUL ION ! fitted to C-S s 9/26/92 (FL) S CT3 240.000 1.8160 ! ALLOW ALI SUL ION ! fitted to C-S s 9/26/92 (FL) S HS 275.000 1.3250 ! ALLOW SUL ION ! methanethiol pure solvent, adm jr., 6/22/92 SM CT2 214.000 1.8160 ! ALLOW SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) SM CT3 214.000 1.8160 ! ALLOW SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) SM SM 173.000 2.0290 ! ALLOW SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) SS CS 205.000 1.8360 ! ALLOW SUL ! methylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 ANGLES ! !V(angle) = Ktheta(Theta - Theta0)**2 ! !V(Urey-Bradley) = Kub(S - S0)**2 ! !Ktheta: kcal/mole/rad**2 !Theta0: degrees !Kub: kcal/mole/A**2 (Urey-Bradley) !S0: A ! !atom types Ktheta Theta0 Kub S0 ! CA CA CA 40.000 120.00 35.00 2.41620 ! ALLOW ARO ! JES 8/25/89 CE1 CE1 CT3 48.00 123.50 ! ! for 2-butene, yin/adm jr., 12/95 CE1 CT2 CT3 32.00 112.20 ! ! for 1-butene; from propene, yin/adm jr., 12/95 CE2 CE1 CT2 48.00 126.00 ! ! for 1-butene; from propene, yin/adm jr., 12/95 CE2 CE1 CT3 47.00 125.20 ! ! for propene, yin/adm jr., 12/95 CP1 N C 60.000 117.0000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP2 CP1 C 52.000 112.3000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP2 CP1 CC 52.000 112.3000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP2 CP1 CD 50.000 112.3000 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP2 CP2 CP1 70.000 108.5000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 CP2 CP2 70.000 108.5000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 N C 60.000 117.0000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 N CP1 100.000 114.2000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 NP CP1 100.000 111.0000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CPA CPB C 70.000 126.7400 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CPA CPM CPA 94.200 125.1200 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) CPA NPH CPA 139.300 103.9000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) CPB C C 70.000 121.5000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CPB CPB C 70.000 126.7500 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CPB CPB CPA 30.800 106.5100 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) CPH2 NR1 CPH1 130.000 107.5000 ! ALLOW ARO ! his, adm jr., 6/27/90 CPH2 NR2 CPH1 130.000 104.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 CPH2 NR3 CPH1 145.000 108.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 CPM CPA CPB 61.600 124.0700 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) CPT CA CA 60.000 118.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk CPT CPT CA 60.000 122.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk CPT CY CA 120.000 107.40 25.00 2.26100 ! ALLOW ARO !adm jr., 12/30/91, for jwk CPT NY CA 110.000 108.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk CT1 CT1 C 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) CT1 CT1 CC 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters CT1 CT1 CT1 53.350 111.00 8.00 2.56100 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT1 CT2 CA 51.800 107.5000 ! ALLOW ALI ARO ! PARALLH19 (JES) CT1 CT2 CC 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters CT1 CT2 CD 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent CT1 CT2 CPH1 58.350 113.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, from CT2CT2CT, U-B omitted CT1 CT2 CT1 58.350 113.50 11.16 2.56100 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) CT1 NH1 C 50.000 120.0000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) CT2 CA CA 45.800 122.3000 ! ALLOW ALI ARO ! PARALLH19 (JES) CT2 CPB CPA 65.000 126.7400 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CT2 CPB CPB 65.000 126.7500 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CT2 CPH1 CPH1 45.800 130.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC=>CT2CA CA,BA=> CRYSTALS CT2 CT1 C 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) CT2 CT1 CC 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters CT2 CT1 CD 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent CT2 CT1 CT1 53.350 111.00 8.00 2.56100 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT2 CT2 C 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! from CT2 CT1 C, for lactams, adm jr. CT2 CT2 CC 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters CT2 CT2 CD 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent CT2 CT2 CPB 70.000 113.0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CT2 CT2 CT1 58.350 113.50 11.16 2.56100 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) CT2 CT2 CT2 58.350 113.60 11.16 2.56100 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT2 CT3 CT1 58.350 113.50 11.16 2.56100 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) CT2 CY CA 45.800 129.4000 ! ALLOW ARO !adm jr., 5/08/91, indole CCDB structure search CT2 CY CPT 45.800 124.0000 ! ALLOW ARO !adm jr., 5/08/91, indole CCDB structure search CT2 NC2 C 62.300 120.0000 ! ALLOW ALI POL PEP ARO ! 107.5->120.0 to make planar Arg (KK) CT2 NH1 C 50.000 120.0000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) CT2 OS CD 40.000 109.60 30.00 2.26510 ! ALLOW POL PEP ! adm jr. 5/02/91, acetic acid pure solvent CT3 CA CA 45.800 122.3000 ! ALLOW ALI ARO ! toluene, adm jr., 3/7/92 CT3 CPB CPA 65.000 126.7400 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CT3 CPB CPB 65.000 126.7500 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CT3 CPH1 CPH1 45.800 130.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC=>CT2CA CA,BA=> CRYSTALS CT3 CT1 C 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) CT3 CT1 CC 52.000 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/09/92, for ALA cter CT3 CT1 CT1 53.350 108.50 8.00 2.56100 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT3 CT1 CT2 53.350 114.00 8.00 2.56100 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT3 CT1 CT3 53.350 114.00 8.00 2.56100 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT3 CT2 CA 51.800 107.5000 ! ALLOW ALI ARO ! ethylbenzene, adm jr., 3/7/92 CT3 CT2 CPH1 58.350 113.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, from CT2CT2CT, U-B omitted CT3 CT2 CT1 58.350 113.50 11.16 2.56100 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) CT3 CT2 CT2 58.000 115.00 8.00 2.56100 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT3 CT2 CT3 53.350 114.00 8.00 2.56100 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CT3 NC2 C 62.300 120.0000 ! ALLOW ALI POL PEP ARO ! methylguanidinium, adm jr., 3/26/92 CT3 NH1 C 50.000 120.0000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) CT3 OS CD 40.000 109.60 30.00 2.26510 ! ALLOW POL PEP ! adm jr. 5/02/91, acetic acid pure solvent CT3 S CT2 34.000 95.0000 ! ALLOW ALI SUL ION ! expt. MeEtS, 3/26/92 (FL) CY CPT CA 160.000 130.6000 ! ALLOW ARO !adm jr., 12/30/91, for jwk CY CPT CPT 110.000 107.4000 ! ALLOW ARO !adm jr., 12/30/91, for jwk CY CT2 CT1 58.350 114.0000 ! ALLOW ARO ! from TRP crystal, JWK CY CT2 CT3 58.350 114.0000 ! ALLOW ARO ! from TRP crystal, JWK FE NPH CPA 96.150 128.0500 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) FE NR2 CPH1 30.000 133.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) FE NR2 CPH2 30.000 123.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) H NH1 C 34.000 123.0000 ! ALLOW PEP POL ARO ! NMA Vib Modes (LK) H NH1 CT1 35.000 117.0000 ! ALLOW PEP POL ARO ALI ! NMA Vibrational Modes (LK) H NH1 CT2 35.000 117.0000 ! ALLOW PEP POL ARO ALI ! NMA Vibrational Modes (LK) H NH1 CT3 35.000 117.0000 ! ALLOW PEP POL ARO ALI ! NMA Vibrational Modes (LK) H NH2 CC 50.000 120.0000 ! ALLOW POL PEP ARO ! his, adm jr. 8/13/90 acetamide geometry and vibrations H NH2 H 23.000 120.0000 ! ALLOW POL ! adm jr. 8/13/90 acetamide geometry and vibrations H NR1 CPH1 30.000 125.50 20.00 2.15000 ! ALLOW ARO ! his, adm jr., 6/27/90 H NR1 CPH2 30.000 127.00 20.00 2.14000 ! ALLOW ARO ! his, adm jr., 6/27/90 H NR3 CPH1 25.000 126.00 15.00 2.13000 ! ALLOW ARO ! his, adm jr., 6/27/90 H NR3 CPH2 25.000 126.00 15.00 2.09000 ! ALLOW ARO ! his, adm jr., 6/27/90 H NY CA 28.000 126.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk H NY CPT 28.000 126.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk H OH1 CA 65.000 108.0000 ! ALLOW ALC ARO ! JES 8/25/89 phenol H OH1 CD 55.000 115.0000 ! ALLOW ALC ARO PEP POL ! adm jr. 5/02/91, acetic acid pure solvent H OH1 CT1 57.500 106.0000 ! ALLOW ALC ARO ALI ! methanol vib fit EMB 11/21/89 H OH1 CT2 57.500 106.0000 ! ALLOW ALC ARO ALI ! methanol vib fit EMB 11/21/89 H OH1 CT3 57.500 106.0000 ! ALLOW ALC ARO ALI ! methanol vib fit EMB 11/21/89 HA C C 50.000 120.5000 ! ALLOW PEP POL ARO ! Heme vinyl substituent (KK from propene (JCS)) HA C CPB 50.000 120.0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) HA C HA 50.000 118.0000 ! ALLOW PEP POL ARO ! Heme vinyl substituent (KK from propene (JCS)) HA CA CA 29.000 120.00 25.00 2.15250 ! ALLOW ARO ! trp, adm jr., 10/02/89 HA CA CPT 41.000 122.0000 ! ALLOW ARO !adm jr., 5/08/91, indole CCDB structure search HA CA CY 32.000 125.00 25.00 2.17300 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole HA CP2 CP1 33.430 110.10 22.53 2.17900 ! ALLOW ALI PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HA CP2 CP2 26.500 110.10 22.53 2.17900 ! ALLOW ALI PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HA CP2 CP3 26.500 110.10 22.53 2.17900 ! ALLOW ALI PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HA CP2 HA 35.500 109.00 5.40 1.80200 ! ALLOW ALI PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HA CP3 CP2 26.500 110.10 22.53 2.17900 ! ALLOW ALI PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HA CP3 HA 35.500 109.00 5.40 1.80200 ! ALLOW ALI PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HA CPM CPA 12.700 117.4400 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) HA CPM FE 0.000 180.0000 ! ALLOW HEM ! Heme (6-liganded): for "ic para" only (KK 05/13/91) HA CS CT3 34.600 110.10 22.53 2.17900 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 HA CS HA 35.500 108.40 14.00 1.77500 ! ALLOW SUL ! methylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 HA CT1 C 33.000 109.50 30.00 2.16300 ! ALLOW ALI PEP POL ARO ! alanine dipeptide, LK, replaced, adm jr., 5/09/91 HA CT1 CD 33.000 109.50 30.00 2.16300 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent HA CT1 CT1 34.500 110.10 22.53 2.17900 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CT1 CT2 34.500 110.10 22.53 2.17900 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CT1 CT3 34.500 110.10 22.53 2.17900 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CT1 HA 35.500 109.00 5.40 1.80200 ! TEST for test cpd ! based on HA CT2 HA HA CT2 C 33.000 109.50 30.00 2.16300 ! ALLOW ALI PEP POL ARO ! alanine dipeptide, LK, replaced, adm jr., 5/09/91 HA CT2 CA 49.300 107.5000 ! ALLOW ALI ARO ! PARALLH19 (JES) HA CT2 CC 33.000 109.50 30.00 2.16300 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters HA CT2 CD 33.000 109.50 30.00 2.16300 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent HA CT2 CE1 45.00 111.50 ! ! for 1-butene; from propene, yin/adm jr., 12/95 HA CT2 CPB 50.000 109.5000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) HA CT2 CPH1 33.430 109.5000 ! ALLOW ARO ! his, ADM JR., 7/22/89, from CT2CT2HA, U-B OMITTED HA CT2 CT1 33.430 110.10 22.53 2.17900 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) HA CT2 CT2 26.500 110.10 22.53 2.17900 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CT2 CT3 34.600 110.10 22.53 2.17900 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CT2 CY 33.430 109.5000 ! ALLOW ARO ! ADM JR., 10/02/89, from CT2CT2HA (U-B OMITTED), FOR JOANNA HA CT2 HA 35.500 109.00 5.40 1.80200 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CT3 C 33.000 109.50 30.00 2.16300 ! ALLOW ALI PEP POL ARO ! alanine dipeptide, LK, replaced, adm jr., 5/09/91 HA CT3 CA 49.300 107.5000 ! ALLOW ALI ARO ! toluene, adm jr. 3/7/92 HA CT3 CC 33.000 109.50 30.00 2.16300 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters HA CT3 CD 33.000 109.50 30.00 2.16300 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent HA CT3 CE1 42.00 111.50 ! ! for 2-butene, yin/adm jr., 12/95 HA CT3 CPB 50.000 109.5000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) HA CT3 CPH1 33.430 109.5000 ! ALLOW ARO ! his, ADM JR., 7/22/89, from CT2CT2HA, U-B OMITTED HA CT3 CS 34.600 110.10 22.53 2.17900 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 HA CT3 CT1 33.430 110.10 22.53 2.17900 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) HA CT3 CT2 34.600 110.10 22.53 2.17900 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CT3 CT3 37.500 110.10 22.53 2.17900 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CT3 HA 35.500 108.40 5.40 1.80200 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 HA CY CA 20.000 126.40 25.00 2.18600 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole HA CY CPT 32.000 126.40 25.00 2.25500 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole HE1 CE1 CE1 52.00 119.50 ! ! for 2-butene, yin/adm jr., 12/95 HE1 CE1 CE2 42.00 118.00 ! ! for propene, yin/adm jr., 12/95 HE1 CE1 CT2 40.00 116.00 ! ! for 1-butene; from propene, yin/adm jr., 12/95 HE1 CE1 CT3 22.00 117.00 ! ! for propene, yin/adm jr., 12/95 HE2 CE2 CE1 45.00 120.50 ! ! for propene, yin/adm jr., 12/95 HE2 CE2 CE2 55.50 120.50 ! ! for ethene, yin/adm jr., 12/95 HE2 CE2 HE2 19.00 119.00 ! ! for propene, yin/adm jr., 12/95 HB CP1 C 50.000 112.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HB CP1 CC 50.000 112.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HB CP1 CD 50.000 112.0000 ! ALLOW PEP POL PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HB CP1 CP2 35.000 118.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HB CT1 C 50.000 109.5000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT1 CC 50.000 109.5000 ! ALLOW PEP POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters HB CT1 CD 50.000 109.5000 ! ALLOW PEP POL ! adm jr. 5/02/91, acetic acid pure solvent HB CT1 CT1 35.000 111.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT1 CT2 35.000 111.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT1 CT3 35.000 111.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT2 C 50.000 109.5000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT2 CC 50.000 109.5000 ! ALLOW PEP POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters HB CT2 CD 50.000 109.5000 ! ALLOW PEP POL ! adm jr. 5/02/91, acetic acid pure solvent HB CT2 HB 36.000 115.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT3 C 50.000 109.5000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HC NC2 C 49.000 120.0000 ! ALLOW POL PEP ARO ! 35.3->49.0 GUANIDINIUM (KK) HC NC2 CT2 40.400 120.0000 ! ALLOW POL ALI ! 107.5->120.0 to make planar Arg (KK) HC NC2 CT3 40.400 120.0000 ! ALLOW POL ALI ! methylguanidinium, adm jr., 3/26/92 HC NC2 HC 25.000 120.0000 ! ALLOW POL ! 40.0->25.0 GUANIDINIUM (KK) HC NH2 CT2 50.000 111.0000 ! ALLOW POL ! from HC NH2 CT3, neutral glycine, adm jr. HC NH2 CT3 50.000 111.0000 ! ALLOW POL ! methylamine geom/freq, adm jr., 6/2/92 HC NH2 HC 39.000 106.5000 ! ALLOW POL ! 40.0->25.0 GUANIDINIUM (KK) HC NH3 CT1 30.000 109.50 20.00 2.07400 ! ALLOW POL ALI ! new stretch and bend; methylammonium (KK 03/10/92) HC NH3 CT2 30.000 109.50 20.00 2.07400 ! ALLOW POL ALI ! new stretch and bend; methylammonium (KK 03/10/92) HC NH3 CT3 30.000 109.50 20.00 2.07400 ! ALLOW POL ALI ! new stretch and bend; methylammonium (KK 03/10/92) HC NH3 HC 44.000 109.5000 ! ALLOW POL ! new stretch and bend; methylammonium (KK 03/10/92) HC NP CP1 33.000 109.50 4.00 2.05600 ! ALLOW POL ALI PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HC NP CP3 33.000 109.50 4.00 2.05600 ! ALLOW POL ALI PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HC NP HC 51.000 107.5000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HP CA CA 30.000 120.00 22.00 2.15250 ! ALLOW ARO ! JES 8/25/89 benzene HP CA CPT 30.000 122.00 22.00 2.14600 ! ALLOW ARO !adm jr., 12/30/91, for jwk HP CA CY 32.000 125.00 25.00 2.17300 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole HP CY CA 32.000 126.40 25.00 2.18600 ! ALLOW ARO !adm jr., 12/30/91, for jwk HP CY CPT 32.000 126.40 25.00 2.25500 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole HR1 CPH1 CPH1 22.000 130.00 15.00 2.21500 ! ALLOW ARO ! adm jr., 6/27/90, his HR3 CPH1 CPH1 25.000 130.00 20.00 2.20000 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HS S CT2 38.800 95.0000 ! ALLOW SUL ION ALI ! methanethiol pure solvent, adm jr., 6/22/92 HS S CT3 43.000 95.0000 ! ALLOW SUL ION ALI ! methanethiol pure solvent, adm jr., 6/22/92 HT OT HT 55.000 104.5200 ! ALLOW WAT ! TIP3P GEOMETRY, ADM JR. N C CP1 20.000 112.5000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CT1 20.000 112.5000 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CT2 20.000 112.5000 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CT3 20.000 112.5000 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N CP1 C 50.000 108.2000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N CP1 CC 50.000 108.2000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N CP1 CD 50.000 108.2000 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N CP1 CP2 70.000 110.8000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N CP1 HB 48.000 112.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N CP3 CP2 70.000 110.5000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N CP3 HA 48.000 108.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NC2 C NC2 52.000 120.00 90.00 2.36420 ! ALLOW POL PEP ARO ! changed from 60.0/120.3 for guanidinium (KK) NC2 CT2 CT2 67.700 107.5000 ! ALLOW ALI POL ! arg, (DS) NC2 CT2 HA 51.500 107.5000 ! ALLOW ALI POL ! arg, (DS) NC2 CT3 HA 51.500 107.5000 ! ALLOW ALI POL ! methylguanidinium, adm jr., 3/26/92 NH1 C CP1 80.000 116.5000 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH1 C CT1 80.000 116.5000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) NH1 C CT2 80.000 116.5000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) NH1 C CT3 80.000 116.5000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) NH1 CT1 C 50.000 107.0000 ! ALLOW PEP POL ARO ALI ! Alanine Dipeptide ab initio calc's (LK) NH1 CT1 CC 50.000 107.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 4/05/91, for asn,asp,gln,glu and cters NH1 CT1 CD 50.000 107.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 5/02/91, acetic acid pure solvent NH1 CT1 CT1 70.000 113.5000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) NH1 CT1 CT2 70.000 113.5000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) NH1 CT1 CT3 70.000 113.5000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) NH1 CT1 HB 48.000 108.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) NH1 CT2 C 50.000 107.0000 ! ALLOW PEP POL ARO ALI ! Alanine Dipeptide ab initio calc's (LK) NH1 CT2 CC 50.000 107.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 5/20/92, for asn,asp,gln,glu and cters NH1 CT2 CD 50.000 107.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 5/02/91, acetic acid pure solvent NH1 CT2 CT2 70.000 113.5000 ! ALLOW ALI PEP POL ARO ! from NH1 CT1 CT2, for lactams, adm jr. NH1 CT2 HA 51.500 109.5000 ! ALLOW ALI PEP POL ARO ! from NH1 CT3 HA, for lactams, adm jr. NH1 CT2 HB 48.000 108.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) NH1 CT3 HA 51.500 109.5000 ! ALLOW ALI PEP POL ARO ! NMA crystal (JCS) NH2 CC CP1 80.000 112.5000 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH2 CC CT1 50.000 116.50 50.00 2.45000 ! ALLOW ALI PEP POL ARO ! adm jr. 8/13/90 acetamide geometry and vibrations NH2 CC CT2 50.000 116.50 50.00 2.45000 ! ALLOW ALI PEP POL ARO ! adm jr. 8/13/90 acetamide geometry and vibrations NH2 CC CT3 50.000 116.50 50.00 2.45000 ! ALLOW ALI PEP POL ARO ! adm jr. 8/13/90 acetamide geometry and vibrations NH2 CC HA 44.000 111.00 50.00 1.98000 ! ALLOW POL ! adm jr., 5/13/91, formamide geometry and vibrations NH2 CT2 HB 38.000 109.50 50.00 2.14000 !from NH2 CT3 HA, neutral glycine, adm jr. NH2 CT2 CD 52.000 108.0000 !from CT2 CT2 CD, neutral glycine, adm jr. NH2 CT3 HA 38.000 109.50 50.00 2.14000 ! ALLOW POL ! methylamine geom/freq, adm jr., 6/2/92 NH3 CT1 C 43.700 110.0000 ! ALLOW PEP POL ARO ALI ! new aliphatics, adm jr., 2/3/92 NH3 CT1 CC 43.700 110.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 4/05/91, for asn,asp,gln,glu and cters NH3 CT1 CT1 67.700 110.0000 ! ALLOW ALI POL ! new aliphatics, adm jr., 2/3/92 NH3 CT1 CT2 67.700 110.0000 ! ALLOW ALI POL ! new aliphatics, adm jr., 2/3/92 NH3 CT1 CT3 67.700 110.0000 ! ALLOW ALI POL ! new aliphatics, adm jr., 2/3/92 NH3 CT1 HB 51.500 107.5000 ! ALLOW ALI POL PEP ! new aliphatics, adm jr., 2/3/92 NH3 CT2 C 43.700 110.0000 ! ALLOW PEP POL ARO ALI ! alanine (JCS) NH3 CT2 CC 43.700 110.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 4/05/91, for asn,asp,gln,glu and cters NH3 CT2 CD 43.700 110.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 5/02/91, acetic acid pure solvent NH3 CT2 CT2 67.700 110.0000 ! ALLOW ALI POL ! alanine (JCS) NH3 CT2 HA 45.000 107.50 35.00 2.10100 ! ALLOW ALI POL ! new stretch and bend; methylammonium (KK 03/10/92) NH3 CT2 HB 51.500 107.5000 ! ALLOW ALI POL PEP ! for use on NTER -- from NH3 CT2HA (JCS) -- (LK) NH3 CT3 HA 45.000 107.50 35.00 2.10100 ! ALLOW ALI POL ! new stretch and bend; methylammonium (KK 03/10/92) NP CP1 C 50.000 106.0000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NP CP1 CC 50.000 106.0000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NP CP1 CD 50.000 106.0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NP CP1 CP2 70.000 108.5000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NP CP1 HB 51.500 107.5000 ! ALLOW ALI POL PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NP CP3 CP2 70.000 108.5000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NP CP3 HA 51.500 109.1500 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NPH CPA CPB 122.000 111.5400 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NPH CPA CPM 88.000 124.3900 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NPH FE CM 50.000 90.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) NPH FE CPM 0.000 45.0000 ! ALLOW HEM ! Heme (6-liganded): for "ic para" only (KK 05/13/91) NPH FE NPH 14.390 90.0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NR1 CPH1 CPH1 130.000 106.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR1 CPH1 CT2 45.800 124.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC FROM CA CT2CT NR1 CPH1 CT3 45.800 124.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC FROM CA CT2CT NR1 CPH1 HR3 25.000 124.00 20.00 2.14000 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params NR1 CPH2 HR1 25.000 122.50 20.00 2.14000 ! ALLOW ARO ! his, adm jr., 6/27/90 NR2 CPH1 CPH1 130.000 110.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR2 CPH1 CT2 45.800 120.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC FROM CA CT2CT NR2 CPH1 HR3 25.000 120.00 20.00 2.14000 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params NR2 CPH2 HR1 25.000 125.00 20.00 2.12000 ! ALLOW ARO ! his, adm jr., 6/27/90 NR2 CPH2 NR1 130.000 112.5000 ! ALLOW ARO ! his, adm jr., 6/27/90 NR2 FE CM 50.000 180.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) NR2 FE NPH 50.000 90.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) NR3 CPH1 CPH1 145.000 108.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR3 CPH1 CT2 45.800 122.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC FROM CA CT2CT NR3 CPH1 HR1 22.000 122.00 15.00 2.18000 ! ALLOW ARO ! his, adm jr., 6/27/90 NR3 CPH2 HR2 32.000 126.00 25.00 2.14000 ! ALLOW ARO ! his, adm jr., 6/27/90 NR3 CPH2 NR3 145.000 108.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 NY CA CY 120.000 110.00 25.00 2.24000 ! ALLOW ARO !adm jr., 12/30/91, for jwk NY CA HA 32.000 125.00 25.00 2.17700 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole NY CA HP 32.000 125.00 25.00 2.17700 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole NY CPT CA 160.000 130.6000 ! ALLOW ARO !adm jr., 12/30/91, for jwk NY CPT CPT 110.000 107.4000 ! ALLOW ARO !adm jr., 12/30/91, for jwk O C CP1 80.000 118.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O C CT1 80.000 121.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) O C CT2 80.000 121.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) O C CT3 80.000 121.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) O C H 50.000 121.7000 ! ALLOW PEP POL ARO ! acetaldehyde (JCS) O C N 80.000 122.5000 ! ALLOW PRO PEP POL ARO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O C NH1 80.000 122.5000 ! ALLOW PEP POL ARO ! NMA Vib Modes (LK) O CC CP1 80.000 118.0000 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O CC CT1 15.000 121.00 50.00 2.44000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/10/91, acetamide update O CC CT2 15.000 121.00 50.00 2.44000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/10/91, acetamide update O CC CT3 15.000 121.00 50.00 2.44000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/10/91, acetamide update O CC HA 44.000 122.0000 ! ALLOW POL ! adm jr., 5/13/91, formamide geometry and vibrations O CC NH2 75.000 122.50 50.00 2.37000 ! ALLOW POL PEP ARO ! adm jr. 4/10/91, acetamide update OB CD CP1 70.000 125.00 20.00 2.44200 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 OB CD CT1 70.000 125.00 20.00 2.44200 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent OB CD CT2 70.000 125.00 20.00 2.44200 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent OB CD CT3 70.000 125.00 20.00 2.44200 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent OC CA CA 40.000 120.0000 ! ALLOW POL ARO ! adm jr. 8/27/91, phenoxide OC CC CP1 40.000 118.00 50.00 2.38800 ! ALLOW ALI PEP POL ARO ION PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 OC CC CT1 40.000 118.00 50.00 2.38800 ! ALLOW ALI PEP POL ARO ION ! adm jr. 7/23/91, correction, ACETATE (KK) OC CC CT2 40.000 118.00 50.00 2.38800 ! ALLOW ALI PEP POL ARO ION ! adm jr. 7/23/91, correction, ACETATE (KK) OC CC CT3 40.000 118.00 50.00 2.38800 ! ALLOW ALI PEP POL ARO ION ! adm jr. 7/23/91, correction, ACETATE (KK) OC CC OC 100.000 124.00 70.00 2.22500 ! ALLOW POL ION PEP ARO ! adm jr. 7/23/91, correction, ACETATE (KK) OC CT2 CT3 65.000 122.0000 ! ALLOW ALC ! ethoxide 6-31+G* geom/freq, adm jr., 6/1/92 OC CT2 HA 65.000 118.3000 ! ALLOW ALC ! ethoxide 6-31+G* geom/freq, adm jr., 6/1/92 OC CT3 HA 65.000 118.3000 ! ALLOW ALC ! methoxide 6-31+G* geom/freq, adm jr., 6/1/92 OH1 CA CA 45.200 120.0000 ! ALLOW ARO ALC ! PARALLH19 WITH [122.3] (JES) OH1 CD CT2 55.000 110.5000 ! ALLOW ALI PEP POL ARO ALC ! adm jr, 10/17/90, acetic acid vibrations OH1 CD CT3 55.000 110.5000 ! ALLOW ALI PEP POL ARO ALC ! adm jr, 10/17/90, acetic acid vibrations OH1 CD OB 50.000 123.00 210.00 2.26200 ! ALLOW PEP POL ARO ALC ! adm jr, 10/17/90, acetic acid vibrations OH1 CT1 CT1 75.700 110.1000 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 OH1 CT1 CT3 75.700 110.1000 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 OH1 CT1 HA 45.900 108.8900 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 OH1 CT2 CT1 75.700 110.1000 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 OH1 CT2 CT2 75.700 110.1000 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 OH1 CT2 CT3 75.700 110.1000 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 OH1 CT2 HA 45.900 108.8900 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 OH1 CT3 HA 45.900 108.8900 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 OM CM FE 35.000 180.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) OM FE NPH 5.000 90.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) OM OM FE 0.000 180.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) OS CD CP1 55.000 109.00 20.00 2.32600 ! ALLOW POL PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 OS CD CT1 55.000 109.00 20.00 2.32600 ! ALLOW POL PEP ! adm jr., 4/05/91, for PRES CT1 from methylacetate OS CD CT2 55.000 109.00 20.00 2.32600 ! ALLOW POL PEP ! adm jr., 4/05/91, for PRES CT1 from methylacetate OS CD CT3 55.000 109.00 20.00 2.32600 ! ALLOW POL PEP ! adm jr., 4/05/91, for PRES CT1 from methylacetate OS CD OB 90.000 125.90 160.00 2.25760 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate OS CT2 HA 60.000 109.5000 ! ALLOW PEP POL ! adm jr. 4/05/91, for PRES CT1 from methyl acetate OS CT3 HA 60.000 109.5000 ! ALLOW PEP POL ! adm jr. 4/05/91, for PRES CT1 from methyl acetate S CT2 CT1 58.000 112.5000 ! ALLOW ALI SUL ION ! as in expt.MeEtS & DALC crystal, 5/15/92 S CT2 CT2 58.000 114.5000 ! ALLOW ALI SUL ION ! expt. MeEtS, 3/26/92 (FL) S CT2 CT3 58.000 114.5000 ! ALLOW ALI SUL ION ! expt. MeEtS, 3/26/92 (FL) S CT2 HA 46.100 111.3000 ! ALLOW ALI SUL ION ! vib. freq. and HF/6-31G* geo. (DTN) 8/24/90 S CT3 HA 46.100 111.3000 ! ALLOW ALI SUL ION ! vib. freq. and HF/6-31G* geo. (DTN) 8/24/90 SM CT2 CT1 58.000 112.5000 ! ALLOW ALI SUL ION ! as in expt.MeEtS & DALC crystal, 5/15/92 SM CT2 HA 38.000 111.0000 ! ALLOW ALI SUL ION ! new S-S atom type 8/24/90 SM CT3 HA 38.000 111.0000 ! ALLOW ALI SUL ION ! new S-S atom type 8/24/90 SM SM CT2 72.500 103.3000 ! ALLOW ALI SUL ION ! expt. dimethyldisulfide, 3/26/92 (FL) SM SM CT3 72.500 103.3000 ! ALLOW ALI SUL ION ! expt. dimethyldisulfide, 3/26/92 (FL) SS CS CT3 55.000 118.0000 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 SS CS HA 40.000 112.3000 ! ALLOW SUL ! methylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 DIHEDRALS ! !V(dihedral) = Kchi(1 + cos(n(chi) - delta)) ! !Kchi: kcal/mole !n: multiplicity !delta: degrees ! !atom types Kchi n delta ! C CT1 NH1 C 0.2000 1 180.00 ! ALLOW PEP ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93c C CT2 NH1 C 0.2000 1 180.00 ! ALLOW PEP ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93c C N CP1 C 0.8000 3 0.00 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CA CA CA CA 3.1000 2 180.00 ! ALLOW ARO ! JES 8/25/89 CA CPT CPT CA 3.1000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole CA CT2 CT1 C 0.0400 3 0.00 ! ALLOW ARO ! 2.7 kcal/mole CH3 rot in ethylbenzene, adm jr, 3/7/92 CA CY CPT CA 3.0000 2 180.00 ! ALLOW ARO ! JWK 09/05/89 CA NY CPT CA 3.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole CC CP1 N C 0.8000 3 0.00 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CC CT1 CT2 CA 0.0400 3 0.00 ! ALLOW ARO ! 2.7 kcal/mole CH3 rot in ethylbenzene, adm jr, 3/7/92 CC CT1 NH1 C 0.2000 1 180.00 ! ALLOW PEP POL ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93c CC CT2 NH1 C 0.2000 1 180.00 ! ALLOW PEP POL ! Alanine dipeptide; NMA; acetate; etc. adm jr., 3/3/93c CD CP1 N C 0.0000 1 180.00 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CD CT1 NH1 C 0.2000 1 180.00 ! ALLOW PEP POL ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93c CD CT2 NH1 C 0.2000 1 180.00 ! ALLOW PEP POL ! Alanine dipeptide; NMA; acetate; etc. backbon adm jr., 3/3/93c CE1 CE1 CT3 HA 0.0300 3 0.00 ! ! for butene, yin/adm jr., 12/95 CE2 CE1 CT2 CT3 0.5000 3 0.00 ! ! for butene, yin/adm jr., 12/95 CE2 CE1 CT2 HA 0.1200 3 0.00 ! ! for butene, yin/adm jr., 12/95 CE2 CE1 CT3 HA 0.0500 3 180.00 ! ! for propene, yin/adm jr., 12/95 CP1 C N CP1 2.7500 2 180.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP1 C N CP1 0.3000 4 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP2 CP1 N C 0.8000 3 0.00 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP2 CP3 N C 0.0000 3 180.00 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP2 CP3 N CP1 0.1000 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP2 CP3 NP CP1 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 N C CP1 2.7500 2 180.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 N C CP1 0.3000 4 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 N CP1 C 0.1000 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 N CP1 CC 0.1000 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 N CP1 CP2 0.1000 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 NP CP1 C 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 NP CP1 CC 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 NP CP1 CD 0.0800 3 0.00 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CP3 NP CP1 CP2 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CPH2 NR1 CPH1 CPH1 14.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/20/89 CPH2 NR2 CPH1 CPH1 14.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/20/89 CPH2 NR3 CPH1 CPH1 12.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/20/89 CPT CA CA CA 3.1000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole CPT CPT CA CA 3.1000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole CPT CPT CY CA 4.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole CPT CPT NY CA 5.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole CT1 C N CP1 2.7500 2 180.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT1 C N CP1 0.3000 4 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT1 C N CP3 2.7500 2 180.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT1 C N CP3 0.3000 4 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT1 C NH1 CT1 1.6000 1 0.00 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) CT1 C NH1 CT1 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) CT1 CT1 NH1 C 1.8000 1 0.00 ! ALLOW PEP ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93c CT1 CT2 CA CA 0.2300 2 180.00 ! ALLOW ARO ALI ! ethylbenzene ethyl rotation, adm jr. 3/7/92 CT1 CT2 CPH1 CPH1 0.2000 1 0.00 ! ALLOW ARO ! 4-ethylimidazole 4-21G rot bar, adm jr. 3/4/92 CT1 CT2 CPH1 CPH1 0.2700 2 0.00 ! ALLOW ARO ! 4-ethylimidazole 4-21G rot bar, adm jr. 3/4/92 CT1 CT2 CPH1 CPH1 0.0000 3 0.00 ! ALLOW ARO ! 4-ethylimidazole 4-21G rot bar, adm jr. 3/4/92 CT1 CT2 CY CA 0.2300 2 180.00 ! ALLOW ARO ! from ethylbenzene, adm jr., 3/7/92 CT1 CT2 CY CPT 0.2300 2 180.00 ! ALLOW ARO ! from ethylbenzene, adm jr., 3/7/92 CT1 NH1 C CP1 1.6000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT1 NH1 C CP1 2.5000 2 180.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT2 C N CP1 2.7500 2 180.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT2 C N CP1 0.3000 4 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT2 C N CP3 2.7500 2 180.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT2 C N CP3 0.3000 4 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT2 C NH1 CT1 1.6000 1 0.00 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) CT2 C NH1 CT1 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) CT2 C NH1 CT2 1.6000 1 0.00 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) CT2 C NH1 CT2 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) CT2 C NH1 CT3 1.6000 1 0.00 ! ALLOW PEP ! from CT2 C NH1 CT2, adm jr. 10/21/96 CT2 C NH1 CT3 2.5000 2 180.00 ! ALLOW PEP ! from CT2 C NH1 CT2, adm jr. 10/21/96 CT2 CA CA CA 3.1000 2 180.00 ! ALLOW ARO ! JES 8/25/89 toluene and ethylbenzene CT2 CPH1 NR1 CPH2 3.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM HA CPH1 NR1 CPH2 CT2 CPH1 NR2 CPH2 3.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM HA CPH1 NR2 CPH2 CT2 CPH1 NR3 CPH2 2.5000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 CT2 CT1 NH1 C 1.8000 1 0.00 ! ALLOW PEP ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93c CT2 CT2 CPH1 CPH1 0.4000 1 0.00 ! ALLOW ARO ! 4-methylimidazole 4-21G//6-31G* rot bar. ADM JR., 9/4/89 CT2 CT2 CT2 CT2 0.1500 1 0.00 ! ALLOW ALI ! alkane update, adm jr., 3/2/92, butane trans/gauche CT2 CT2 NH1 C 1.8000 1 0.00 ! ALLOW PEP ! from CT2 CT1 NH1 C, for lactams, adm jr. CT2 CY CPT CA 3.0000 2 180.00 ! ALLOW ARO ! JWK CT2 CY CPT CPT 3.0000 2 180.00 ! ALLOW ARO !JWK CT2 NH1 C CP1 1.6000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT2 NH1 C CP1 2.5000 2 180.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT2 NH1 C CT1 1.6000 1 0.00 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) CT2 NH1 C CT1 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) CT2 SM SM CT2 1.0000 1 0.00 ! ALLOW ALI SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) CT2 SM SM CT2 4.1000 2 0.00 ! ALLOW ALI SUL ION ! mp 6-311G** dimethyldisulfide, 3/26/92 (FL) CT2 SM SM CT2 0.9000 3 0.00 ! ALLOW ALI SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) CT3 C N CP1 2.7500 2 180.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT3 C N CP1 0.3000 4 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT3 C N CP3 2.7500 2 180.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT3 C N CP3 0.3000 4 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT3 C NH1 CT1 1.6000 1 0.00 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) CT3 C NH1 CT1 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) CT3 C NH1 CT2 1.6000 1 0.00 ! ALLOW PEP ! for acetylated GLY N-terminus, adm jr. CT3 C NH1 CT2 2.5000 2 180.00 ! ALLOW PEP ! for acetylated GLY N-terminus, adm jr. CT3 C NH1 CT3 1.6000 1 0.00 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) CT3 C NH1 CT3 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) CT3 CA CA CA 3.1000 2 180.00 ! ALLOW ARO ! toluene, adm jr., 3/7/92 CT3 CE1 CE2 HE2 5.2000 2 180.00 ! ! for propene, yin/adm jr., 12/95 CT3 CPH1 NR1 CPH2 3.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM HA CPH1 NR1 CPH2 CT3 CT1 NH1 C 1.8000 1 0.00 ! ALLOW PEP ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93c CT3 CT2 CA CA 0.2300 2 180.00 ! ALLOW ARO ALI ! ethylbenzene ethyl rotation, adm jr. 3/7/92 CT3 CT2 CPH1 CPH1 0.2000 1 0.00 ! ALLOW ARO ! 4-ethylimidazole 4-21G rot bar, adm jr. 3/4/92 CT3 CT2 CPH1 CPH1 0.2700 2 0.00 ! ALLOW ARO ! 4-ethylimidazole 4-21G rot bar, adm jr. 3/4/92 CT3 CT2 CPH1 CPH1 0.0000 3 0.00 ! ALLOW ARO ! 4-ethylimidazole 4-21G rot bar, adm jr. 3/4/92 CT3 CT2 CT2 CT2 0.1500 1 0.00 ! ALLOW ALI ! alkane update, adm jr., 3/2/92, butane trans/gauche CT3 CT2 CT2 CT3 0.1500 1 0.00 ! ALLOW ALI ! alkane update, adm jr., 3/2/92, butane trans/gauche CT3 CT2 CY CA 0.2300 2 180.00 ! ALLOW ARO ! from ethylbenzene, adm jr., 3/7/92 CT3 CT2 CY CPT 0.2300 2 180.00 ! ALLOW ARO ! from ethylbenzene, adm jr., 3/7/92 CT3 CT2 S CT3 0.2400 1 180.00 ! ALOW ALI SUL ION ! expt. MeEtS, 3/26/92 (FL) CT3 CT2 S CT3 0.3700 3 0.00 ! ALOW ALI SUL ION ! DTN 8/24/90 CT3 NH1 C CP1 1.6000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT3 NH1 C CP1 2.5000 2 180.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 CT3 NH1 C CT1 1.6000 1 0.00 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) CT3 NH1 C CT1 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) CT3 S CT2 CT2 0.2400 1 180.00 ! ALOW ALI SUL ION ! expt. MeEtS, 3/26/92 (FL) CT3 S CT2 CT2 0.3700 3 0.00 ! ALOW ALI SUL ION ! expt. MeEtS, 3/26/92 (FL) CT3 SM SM CT3 1.0000 1 0.00 ! ALLOW ALI SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) CT3 SM SM CT3 4.1000 2 0.00 ! ALLOW ALI SUL ION ! mp 6-311G** dimethyldisulfide, 3/26/92 (FL) CT3 SM SM CT3 0.9000 3 0.00 ! ALLOW ALI SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) CY CA NY CPT 5.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole CY CPT CA CA 3.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole CY CPT CPT CA 10.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole H NH1 C CP1 2.5000 2 180.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 H NH1 C CT1 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) H NH1 C CT2 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) H NH1 C CT3 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) H NH1 CT1 C 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) H NH1 CT1 CC 0.0000 1 0.00 ! ALLOW PEP POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters H NH1 CT1 CD 0.0000 1 0.00 ! ALLOW PEP POL ! adm jr. 5/02/91, acetic acid pure solvent H NH1 CT1 CT1 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) H NH1 CT1 CT2 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) H NH1 CT1 CT3 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) H NH1 CT2 C 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) H NH1 CT2 CC 0.0000 1 0.00 ! ALLOW PEP POL ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 H NH1 CT2 CD 0.0000 1 0.00 ! ALLOW PEP POL ! adm jr. 5/02/91, acetic acid pure solvent H NH1 CT2 CT2 0.0000 1 0.00 ! ALLOW PEP ! from H NH1 CT2 CT3, for lactams, adm jr. H NH1 CT2 CT3 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) H NH2 CC CT1 1.4000 2 180.00 ! ALLOW PEP POL ARO PRO ! adm jr. 4/10/91, acetamide update H NH2 CC CT2 1.4000 2 180.00 ! ALLOW PEP POL ARO PRO ! adm jr. 4/10/91, acetamide update H NH2 CC CT3 1.4000 2 180.00 ! ALLOW PEP POL ARO PRO ! adm jr. 4/10/91, acetamide update H NH2 CC CP1 2.5000 2 180.00 ! ALLOW PEP POL ARO PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 H NR1 CPH1 CPH1 1.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 7/20/89 H NR1 CPH1 CT2 1.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 7/22/89, FROM HA CPH1 NR1 H H NR1 CPH1 CT3 1.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 7/22/89, FROM HA CPH1 NR1 H H NR3 CPH1 CPH1 1.4000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 H NR3 CPH1 CT2 3.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 7/22/89, FROM HC NR3 CPH1 HA H NR3 CPH1 CT3 3.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 7/22/89, FROM HC NR3 CPH1 HA H NY CA CY 0.8000 2 180.00 ! ALLOW ARO !adm jr., 12/30/91, for jwk H NY CPT CA 0.8000 2 180.00 ! ALLOW ARO !adm jr., 12/30/91, for jwk H NY CPT CPT 0.8000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole H OH1 CA CA 0.9900 2 180.00 ! ALLOW ARO ALC ! phenol OH rot bar, 3.37 kcal/mole, adm jr. 3/7/92 H OH1 CT1 CT1 1.3300 1 0.00 ! ALLOW ALC ! 2-propanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT1 CT1 0.1800 2 0.00 ! ALLOW ALC ! 2-propanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT1 CT1 0.3200 3 0.00 ! ALLOW ALC ! 2-propanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT1 CT3 1.3300 1 0.00 ! ALLOW ALC ! 2-propanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT1 CT3 0.1800 2 0.00 ! ALLOW ALC ! 2-propanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT1 CT3 0.3200 3 0.00 ! ALLOW ALC ! 2-propanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT2 CT1 1.3000 1 0.00 ! ALLOW ALC ! ethanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT2 CT1 0.3000 2 0.00 ! ALLOW ALC ! ethanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT2 CT1 0.4200 3 0.00 ! ALLOW ALC ! ethanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT2 CT2 1.3000 1 0.00 ! ALLOW ALC ! ethanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT2 CT2 0.3000 2 0.00 ! ALLOW ALC ! ethanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT2 CT2 0.4200 3 0.00 ! ALLOW ALC ! ethanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT2 CT3 1.3000 1 0.00 ! ALLOW ALC ! ethanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT2 CT3 0.3000 2 0.00 ! ALLOW ALC ! ethanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 H OH1 CT2 CT3 0.4200 3 0.00 ! ALLOW ALC ! ethanol OH hf/6-31g* torsional surface, adm jr., 3/2/93 HA CA CA CA 3.5000 2 180.00 ! ALLOW ARO ! adm jr., 10/02/89 HA CA CA CPT 3.5000 2 180.00 ! ALLOW ARO ! JWK 09/05/89 HA CA CA HA 2.5000 2 180.00 ! ALLOW ARO ! ADM JR., 10/02/89 HA CA CPT CPT 3.0000 2 180.00 ! ALLOW ARO ! TRP (JES) HA CA CPT CY 4.0000 2 180.00 ! ALLOW ARO ! JWK 09/05/89 HA CA CY CPT 1.2000 2 180.00 ! ALLOW ARO ! JWK HA CA CY CT2 1.2000 2 180.00 ! ALLOW ARO ! JWK HA CA NY CPT 3.0000 2 180.00 ! ALLOW ARO ! JWK 09/05/89 HA CA NY H 1.0000 2 180.00 ! ALLOW ARO ! JWK 09/05/89 HA CC NH2 H 1.4000 2 180.00 ! ALLOW PEP POL ! adm jr. 4/10/91, acetamide update HA CP3 N C 0.0000 3 180.00 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HA CP3 N CP1 0.1000 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HA CP3 NP CP1 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HA CT1 CT2 CA 0.0400 3 0.00 ! ALLOW ARO ! 2.7 kcal/mole CH3 rot in ethylbenzene, adm jr, 3/7/92 HA CT2 CPH1 CPH1 0.0000 3 0.00 ! ALLOW ARO ! 4-methylimidazole 4-21G//6-31G* rot bar. adm jr., 9/4/89 HA CT2 CY CA 0.2500 2 180.00 ! ALLOW ARO ! JWK HA CT2 CY CPT 0.2500 2 180.00 ! ALLOW ARO ! JWK HA CT2 NH1 C 0.0000 3 0.00 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential HA CT2 NH1 H 0.0000 3 0.00 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential HA CT2 S CT3 0.2800 3 0.00 ! ALLOW ALI SUL ION ! DTN 8/24/90 HA CT3 CPH1 CPH1 0.0000 3 0.00 ! ALLOW ARO ! 4-methylimidazole 4-21G//6-31G* rot bar. adm jr., 9/4/89 HA CT3 CS HA 0.1600 3 0.00 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 HA CT3 CT2 CA 0.0400 3 0.00 ! ALLOW ARO ! 2.7 kcal/mole CH3 rot in ethylbenzene, adm jr, 3/7/92 HA CT3 NH1 C 0.0000 3 0.00 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential HA CT3 NH1 H 0.0000 3 0.00 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential HA CT3 S CT2 0.2800 3 0.00 ! ALLOW ALI SUL ION ! DTN 8/24/90 HA CY CA CPT 1.2000 2 180.00 ! ALLOW ARO ! JWK 09/05/89 HA CY CA HA 1.2000 2 180.00 ! ALLOW ARO ! JWK 09/05/89 HA CY CPT CA 3.0000 2 180.00 ! ALLOW ARO ! JWK 09/05/89 HA CY CPT CPT 3.0000 2 180.00 ! ALLOW ARO ! JWK 09/05/89 HE1 CE1 CE2 HE2 5.2000 2 180.00 ! ! for propene, yin/adm jr., 12/95 HE1 CE1 CT2 HA 0.8700 3 0.00 ! ! for butene, yin/adm jr., 12/95 HE1 CE1 CT2 CT3 0.1200 3 0.00 ! ! for butene, yin/adm jr., 12/95 HE1 CE1 CT3 HA 0.3400 3 0.00 ! ! for butene, yin/adm jr., 12/95 HE2 CE2 CE1 CT2 5.2000 2 180.00 ! ! for butene, yin/adm jr., 12/95 HB CP1 N C 0.8000 3 0.00 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HB CP1 N CP3 0.1000 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HB CP1 NP CP3 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HB CT1 NH1 C 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT1 NH1 H 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT2 NH1 C 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT2 NH1 H 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT3 NH1 C 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HB CT3 NH1 H 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) HC NH2 CT2 HB 0.1100 3 0.00 !from X CT3 NH2 X, neutral glycine, adm jr. HC NH2 CT2 CD 0.1100 3 0.00 !from X CT3 NH2 X, neutral glycine, adm jr. HC NP CP1 C 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HC NP CP1 CC 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HC NP CP1 CD 0.0800 3 0.00 ! ALLOW PRO PEP ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HC NP CP1 CP2 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HC NP CP1 HB 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HC NP CP3 CP2 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HC NP CP3 HA 0.0800 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 HP CA CA CA 4.2000 2 180.00 ! ALLOW ARO ! JES 8/25/89 benzene HP CA CA CPT 3.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole HP CA CA CT2 4.2000 2 180.00 ! ALLOW ARO ! JES 8/25/89 toluene and ethylbenzene HP CA CA CT3 4.2000 2 180.00 ! ALLOW ARO ! toluene, adm jr., 3/7/92 HP CA CA HP 2.4000 2 180.00 ! ALLOW ARO ! JES 8/25/89 benzene HP CA CPT CPT 3.0000 2 180.00 ! ALLOW ARO ! JWK indole 05/14/91 HP CA CPT CY 3.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole HP CA CY CPT 2.0000 2 180.00 ! ALLOW ARO !adm jr., 12/30/91, for jwk HP CA CY CT2 1.2000 2 180.00 ! ALLOW ARO ! JWK indole 05/14/91 HP CA NY CPT 2.0000 2 180.00 ! ALLOW ARO !adm jr., 12/30/91, for jwk HP CA NY H 0.4000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole HP CY CA HP 1.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole HP CY CPT CA 2.8000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole HP CY CPT CPT 2.8000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole HR1 CPH1 CPH1 CT2 1.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 HR1 CPH1 CPH1 CT3 1.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 HR1 CPH1 CPH1 HR1 1.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90, his HR1 CPH1 NR3 CPH2 2.5000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 HR1 CPH1 NR3 H 3.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 HR1 CPH2 NR1 CPH1 3.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 HR1 CPH2 NR1 H 1.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 HR1 CPH2 NR2 CPH1 3.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 HR2 CPH2 NR3 CPH1 3.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 HR2 CPH2 NR3 H 0.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90, YES, 0.0 HR3 CPH1 CPH1 CT2 2.0000 2 180.00 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HR3 CPH1 CPH1 CT3 2.0000 2 180.00 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HR3 CPH1 CPH1 HR3 2.0000 2 180.00 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HR3 CPH1 NR1 CPH2 3.0000 2 180.00 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HR3 CPH1 NR1 H 1.0000 2 180.00 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HR3 CPH1 NR2 CPH2 3.0000 2 180.00 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HS S CT2 CT1 0.2400 1 0.00 ! ALLOW ALI SUL ION ! methanethiol pure solvent, adm jr., 6/22/92 HS S CT2 CT1 0.1500 2 0.00 ! ALLOW ALI SUL ION ! methanethiol pure solvent, adm jr., 6/22/92 HS S CT2 CT1 0.2700 3 0.00 ! ALLOW ALI SUL ION ! methanethiol pure solvent, adm jr., 6/22/92 HS S CT2 CT3 0.2400 1 0.00 ! ALLOW ALI SUL ION ! ethanethiol C-C-S-H surface, adm jr., 4/18/93 HS S CT2 CT3 0.1500 2 0.00 ! ALLOW ALI SUL ION ! ethanethiol C-C-S-H surface, adm jr., 4/18/93 HS S CT2 CT3 0.2700 3 0.00 ! ALLOW ALI SUL ION ! ethanethiol C-C-S-H surface, adm jr., 4/18/93 HS S CT2 HA 0.2000 3 0.00 ! ALLOW ALI SUL ION ! methanethiol pure solvent, adm jr., 6/22/92 HS S CT3 HA 0.2000 3 0.00 ! ALLOW ALI SUL ION ! methanethiol pure solvent, adm jr., 6/22/92 N C CP1 CP2 0.4000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CP1 CP2 0.6000 2 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CP1 HB 0.4000 1 180.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CP1 HB 0.6000 2 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CP1 N 0.3000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CP1 N -0.3000 4 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CT1 CT1 0.0000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CT1 CT2 0.0000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CT1 CT3 0.0000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CT1 HB 0.0000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CT2 HB 0.0000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N C CT3 HA 0.0000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 N CT1 CT2 CA 0.0400 3 0.00 ! ALLOW ARO ! 2.7 kcal/mole CH3 rot in ethylbenzene, adm jr, 3/7/92 NH1 C CP1 CP2 0.4000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH1 C CP1 CP2 0.6000 2 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH1 C CP1 HB 0.4000 1 180.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH1 C CP1 HB 0.6000 2 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH1 C CP1 N 0.3000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH1 C CP1 N -0.3000 4 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH1 C CT1 CT1 0.0000 1 0.00 ! ALLOW PEP ! ala dipeptide corrxn for new C VDW Rmin, 4/10/93 (LK) NH1 C CT1 CT2 0.0000 1 0.00 ! ALLOW PEP ! ala dipeptide corrxn for new C VDW Rmin, 4/10/93 (LK) NH1 C CT1 CT3 0.0000 1 0.00 ! ALLOW PEP ! ala dipeptide corrxn for new C VDW Rmin, 4/10/93 (LK) NH1 C CT1 HB 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) NH1 C CT1 NH1 0.6000 1 0.00 ! ALLOW PEP ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93 NH1 C CT2 CT2 0.0000 1 0.00 ! ALLOW PEP ! from NH1 C CT1 CT2, for lactams, adm jr. NH1 C CT2 HA 0.0000 3 0.00 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential NH1 C CT2 HB 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) NH1 C CT2 NH1 0.6000 1 0.00 ! ALLOW PEP ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93 NH1 C CT3 HA 0.0000 3 0.00 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential NH1 CT1 C N 0.4000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH1 CT2 C N 0.4000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH2 CC CP1 CP2 0.4000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH2 CC CP1 CP2 0.6000 2 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH2 CC CP1 HB 0.4000 1 180.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH2 CC CP1 HB 0.6000 2 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH2 CC CP1 N 0.3000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH2 CC CP1 N -0.3000 4 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH2 CC CT2 HA 0.0000 3 180.00 ! ALLOW POL ! adm jr., 8/13/90 acetamide geometry and vibrations NH3 CT1 C N 0.4000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH3 CT1 C NH1 0.6000 1 0.00 ! ALLOW PEP PRO ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93 NH3 CT1 CC NH2 0.4000 1 0.00 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 NH3 CT2 C N 0.4000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NH3 CT2 C NH1 0.4000 1 0.00 ! ALLOW PEP PRO ! adm jr. 3/24/92, for PRES GLYP NH3 CT2 CC NH2 0.4000 1 0.00 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 NP CP1 C N 0.3000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NP CP1 C NH1 0.3000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NP CP1 CC NH2 0.3000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NR1 CPH1 CPH1 CT2 3.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM NR1 CPH1 CPH1 HA NR1 CPH1 CPH1 CT3 3.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM NR1 CPH1 CPH1 HA NR1 CPH1 CPH1 HR3 3.0000 2 180.00 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params NR1 CPH1 CT2 CT1 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR1 CPH1 CT2 CT2 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR1 CPH1 CT2 CT3 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR1 CPH1 CT2 HA 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR1 CPH1 CT3 HA 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR1 CPH2 NR2 CPH1 14.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR2 CPH1 CPH1 CT2 3.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM NR2 CPH1 CPH1 HA NR2 CPH1 CPH1 CT3 3.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM NR2 CPH1 CPH1 HA NR2 CPH1 CPH1 HR3 3.0000 2 180.00 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params NR2 CPH1 CPH1 NR1 14.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR2 CPH1 CT2 CT1 0.1900 3 0.00 ! ALLOW ARO ! HIS CB-CG TORSION, NR2 CPH1 CT2 CT2 0.1900 3 0.00 ! ALLOW ARO ! HIS CB-CG TORSION, NR2 CPH1 CT2 CT3 0.1900 3 0.00 ! ALLOW ARO ! HIS CB-CG TORSION, NR2 CPH1 CT2 HA 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR2 CPH1 CT3 HA 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR2 CPH2 NR1 CPH1 14.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR2 CPH2 NR1 H 1.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR3 CPH1 CPH1 CT2 2.5000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 NR3 CPH1 CPH1 CT3 2.5000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 NR3 CPH1 CPH1 HR1 2.5000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 NR3 CPH1 CPH1 NR3 12.0000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 NR3 CPH1 CT2 CT1 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR3 CPH1 CT2 CT2 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR3 CPH1 CT2 CT3 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR3 CPH1 CT2 HA 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR3 CPH1 CT3 HA 0.1900 3 0.00 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 NR3 CPH2 NR3 CPH1 12.0000 2 180.00 ! ALLOW ARO ! his, ADM JR., 7/20/89 NR3 CPH2 NR3 H 1.4000 2 180.00 ! ALLOW ARO ! his, adm jr., 6/27/90 NY CA CY CPT 4.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole NY CA CY CT2 3.5000 2 180.00 ! ALLOW ARO ! JWK NY CA CY HA 3.5000 2 180.00 ! ALLOW ARO ! JWK 09/05/89 NY CA CY HP 3.5000 2 180.00 ! ALLOW ARO ! JWK indole 05/14/91 NY CPT CA CA 2.8000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole NY CPT CA HA 4.0000 2 180.00 ! ALLOW ARO ! JWK 09/05/89 NY CPT CA HP 3.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole NY CPT CPT CA 10.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole NY CPT CPT CY 5.0000 2 180.00 ! ALLOW ARO ! JWK 05/14/91 fit to indole O C CP1 CP2 0.4000 1 180.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O C CP1 CP2 0.6000 2 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O C CP1 HB 0.4000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O C CP1 HB 0.6000 2 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O C CP1 N -0.3000 4 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O C CT1 CT1 1.4000 1 0.00 ! ALLOW PEP ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93c O C CT1 CT2 1.4000 1 0.00 ! ALLOW PEP ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93c O C CT1 CT3 1.4000 1 0.00 ! ALLOW PEP ! ala dipeptide update for new C VDW Rmin, adm jr., 3/3/93c O C CT1 HB 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) O C CT1 NH1 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) O C CT1 NH3 0.0000 1 0.00 ! ALLOW PEP PRO ! Backbone parameter set made complete RLD 8/8/90 O C CT2 CT2 1.4000 1 0.00 ! ALLOW PEP ! from O C CT1 CT2, for lactams, adm jr. O C CT2 HA 0.0000 3 180.00 ! ALLOW POL ! adm jr., 8/13/90 acetamide geometry and vibrations O C CT2 HB 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) O C CT2 NH1 0.0000 1 0.00 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) O C CT2 NH3 0.0000 1 0.00 ! ALLOW PEP PRO ! Backbone parameter set made complete RLD 8/8/90 O C CT3 HA 0.0000 3 180.00 ! ALLOW POL ! adm jr., 8/13/90 acetamide geometry and vibrations O C N CP1 2.7500 2 180.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O C N CP1 0.3000 4 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O C N CP3 2.7500 2 180.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O C N CP3 0.3000 4 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O C NH1 CT1 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) O C NH1 CT2 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) O C NH1 CT3 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) O C NH1 H 2.5000 2 180.00 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) O CC CP1 CP2 0.4000 1 180.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O CC CP1 CP2 0.6000 2 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O CC CP1 HB 0.4000 1 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O CC CP1 HB 0.6000 2 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O CC CP1 N -0.3000 4 0.00 ! ALLOW PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 O CC CT2 HA 0.0000 3 180.00 ! ALLOW POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters O CC NH2 H 1.4000 2 180.00 ! ALLOW PEP POL ARO PRO ! adm jr. 4/10/91, acetamide update OB CD OS CT2 0.9650 1 180.00 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate OB CD OS CT2 3.8500 2 180.00 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate OB CD OS CT3 0.9650 1 180.00 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate OB CD OS CT3 3.8500 2 180.00 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate OC CA CA CA 3.1000 2 180.00 ! ALLOW ARO ! adm jr. 8/27/91, phenoxide OC CA CA HP 4.2000 2 180.00 ! ALLOW ARO ! adm jr. 8/27/91, phenoxide OC CC CP1 CP2 0.1600 3 0.00 ! ALLOW PEP PRO POL ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 OC CC CP1 HB 0.1600 3 0.00 ! ALLOW PEP PRO POL ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 OC CC CP1 N 0.1600 3 0.00 ! ALLOW PEP PRO POL ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 OC CC CP1 NP 0.1600 3 0.00 ! ALLOW PEP PRO POL ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 OC CC CT1 NH3 3.2000 2 180.00 ! ALLOW PEP PRO ! adm jr. 4/17/94, zwitterionic glycine OC CC CT2 NH3 3.2000 2 180.00 ! ALLOW PEP PRO ! adm jr. 4/17/94, zwitterionic glycine OH1 CA CA CA 3.1000 2 180.00 ! ALLOW ARO ! JES 8/25/89 phenol OH1 CA CA HP 4.2000 2 180.00 ! ALLOW ARO ! JES 8/25/89 phenol S CT2 CT2 HA 0.0100 3 0.00 ! ALLOW ALI SUL ION ! DTN 8/24/90 SM CT2 CT2 HA 0.0100 3 0.00 ! ALLOW ALI SUL ION ! DTN 8/24/90 SM SM CT2 CT1 0.3100 3 0.00 ! ALLOW SUL ALI ! S-S for cys-cys, dummy parameter for now ... DTN 9/04/90 SM SM CT2 CT2 0.3100 3 0.00 ! ALLOW SUL ALI ! S-S for cys-cys, dummy parameter for now ... DTN 9/04/90 SM SM CT2 HA 0.1580 3 0.00 ! ALLOW ALI SUL ION ! expt. dimethyldisulfide, 3/26/92 (FL) SM SM CT3 HA 0.1580 3 0.00 ! ALLOW ALI SUL ION ! expt. dimethyldisulfide, 3/26/92 (FL) SS CS CT3 HA 0.1500 3 0.00 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 X C C X 4.0000 2 180.00 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) X C NC2 X 2.2500 2 180.00 ! ALLOW PEP POL ARO ! 9.0->2.25 GUANIDINIUM (KK) X CD OH1 X 2.0500 2 180.00 ! ALLOW PEP POL ARO ALC ! adm jr, 10/17/90, acetic acid C-Oh rotation barrier X CD OS X 2.0500 2 180.00 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate X CE1 CE1 X 5.2000 2 180.00 ! ! for butene, yin/adm jr., 12/95 X CE2 CE2 X 4.9000 2 180.00 ! ! for ethene, yin/adm jr., 12/95 X CP1 C X 0.0000 6 180.00 ! ALLOW POL PEP PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 X CP1 CC X 0.0000 6 180.00 ! ALLOW POL PEP ! changed to 0.0 RLD 5/19/92 X CP1 CD X 0.0000 6 180.00 ! ALLOW POL PEP ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 X CP1 CP2 X 0.1400 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 X CP2 CP2 X 0.1600 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 X CP3 CP2 X 0.1400 3 0.00 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 X CPA CPB X 0.0000 2 0.00 ! ALLOW HEM ! Heme (6-liganded): dummy for "auto dihe" (KK 05/13/91) X CPA CPM X 0.0000 2 0.00 ! ALLOW HEM ! Heme (6-liganded): dummy for "auto dihe" (KK 05/13/91) X CPB C X 3.0000 2 180.00 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) X CPB CPB X 0.0000 2 0.00 ! ALLOW HEM ! Heme (6-liganded): dummy for "auto dihe" (KK 05/13/91) X CPB CT2 X 0.0000 6 0.00 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) X CPB CT3 X 0.0000 6 0.00 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) X CPT CPT X 0.0000 2 180.00 ! ALLOW ARO ! JWK indole 05/14/91 X CT1 CC X 0.0500 6 180.00 ! ALLOW POL PEP ! For side chains of asp,asn,glu,gln, (n=6) from KK(LK) X CT1 CD X 0.0000 6 180.00 ! ALLOW POL PEP ! adm jr. 3/19/92, from lipid methyl acetate X CT1 CT1 X 0.2000 3 0.00 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 X CT1 CT2 X 0.2000 3 0.00 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 X CT1 CT3 X 0.2000 3 0.00 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 X CT1 NH3 X 0.1000 3 0.00 ! ALLOW ALI POL ! 0.715->0.10 METHYLAMMONIUM (KK) X CT1 OH1 X 0.1400 3 0.00 ! ALLOW ALI ALC ARO ! EMB 11/21/89 methanol vib fit X CT1 OS X -0.1000 3 0.00 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate X CT2 CA X 0.0000 6 0.00 ! ALLOW ALI ARO ! toluene, adm jr., 3/7/92 X CT2 CC X 0.0500 6 180.00 ! ALLOW POL PEP ! For side chains of asp,asn,glu,gln, (n=6) from KK(LK) X CT2 CD X 0.0000 6 180.00 ! ALLOW POL PEP ! adm jr. 3/19/92, from lipid methyl acetate X CT2 CT2 X 0.1950 3 0.00 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 X CT2 CT3 X 0.1600 3 0.00 ! ALLOW ALI ! rotation barrier in Ethane (SF) X CT2 NC2 X 0.0000 6 180.00 ! ALLOW ALI POL ! methylguanidinium, adm jr., 3/26/92 X CT2 NH3 X 0.1000 3 0.00 ! ALLOW ALI POL ! 0.715->0.10 METHYLAMMONIUM (KK) X CT2 OH1 X 0.1400 3 0.00 ! ALLOW ALI ALC ARO ! EMB 11/21/89 methanol vib fit X CT2 OS X -0.1000 3 0.00 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate X CT3 CA X 0.0000 6 0.00 ! ALLOW ALI ARO ! toluene, adm jr., 3/7/92 X CT3 CC X 0.0500 6 180.00 ! ALLOW POL PEP ! For side chains of asp,asn,glu,gln, (n=6) from KK(LK) X CT3 CD X 0.0000 6 180.00 ! ALLOW POL PEP ! adm jr. 3/19/92, from lipid methyl acetate X CT3 CT3 X 0.1550 3 0.00 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 X CT3 NC2 X 0.0000 6 180.00 ! ALLOW ALI POL ! methylguanidinium, adm jr., 3/26/92 X CT3 NH2 X 0.1100 3 0.00 ! ALLOW POL ! methylamine geom/freq, adm jr., 6/2/92 X CT3 NH3 X 0.0900 3 0.00 ! ALLOW ALI POL ! fine-tuned to ab initio; METHYLAMMONIUM, KK 03/10/92 X CT3 OH1 X 0.1400 3 0.00 ! ALLOW ALI ALC ARO ! EMB 11/21/89 methanol vib fit X CT3 OS X -0.1000 3 0.00 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate X FE CM X 0.0500 4 0.00 ! ALLOW HEM ! Heme (6-liganded): ligands (KK 05/13/91) X FE NPH X 0.0000 2 0.00 ! ALLOW HEM ! Heme (6-liganded): for "ic para" only (KK 05/13/91) X FE OM X 0.0000 4 0.00 ! ALLOW HEM ! Heme (6-liganded): ligands (KK 05/13/91) X NPH CPA X 0.0000 2 0.00 ! ALLOW HEM ! Heme (6-liganded): dummy for "auto dihe" (KK 05/13/91) IMPROPER ! !V(improper) = Kpsi(psi - psi0)**2 ! !Kpsi: kcal/mole/rad**2 !psi0: degrees !note that the second column of numbers (0) is ignored ! !atom types Kpsi psi0 ! CPB CPA NPH CPA 20.8000 0 0.0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) CPB X X C 90.0000 0 0.0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CT2 X X CPB 90.0000 0 0.0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) CT3 X X CPB 90.0000 0 0.0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) HA C C HA 20.0000 0 0.0000 ! ALLOW PEP POL ARO ! Heme vinyl substituent (KK, from propene (JCS)) HA CPA CPA CPM 29.4000 0 0.0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) HA CPB C C 20.0000 0 0.0000 ! ALLOW HEM ARO ! Heme (6-liganded): substituents (KK 05/13/91) HA HA C C 20.0000 0 180.0000 ! ALLOW PEP POL ARO ! Heme vinyl substituent (KK, from propene (JCS)) HE2 HE2 CE2 CE2 3.0 0 0.00 ! ! for ethene, yin/adm jr., 12/95 HR1 NR1 NR2 CPH2 0.5000 0 0.0000 ! ALLOW ARO ! his, adm jr., 7/05/90 HR1 NR2 NR1 CPH2 0.5000 0 0.0000 ! ALLOW ARO ! his, adm jr., 7/05/90 HR3 CPH1 NR1 CPH1 0.5000 0 0.0000 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HR3 CPH1 NR2 CPH1 0.5000 0 0.0000 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HR3 CPH1 NR3 CPH1 1.0000 0 0.0000 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HR3 NR1 CPH1 CPH1 0.5000 0 0.0000 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HR3 NR2 CPH1 CPH1 0.5000 0 0.0000 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params N C CP1 CP3 0.0000 0 0.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 NC2 X X C 40.0000 0 0.0000 ! ALLOW PEP POL ARO ! 5.75->40.0 GUANIDINIUM (KK) NH1 X X H 20.0000 0 0.0000 ! ALLOW PEP POL ARO ! NMA Vibrational Modes (LK) NH2 X X H 4.0000 0 0.0000 ! ALLOW POL ! adm jr., 8/13/90 acetamide geometry and vibrations NPH CPA CPA FE 137.4000 0 0.0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NPH CPA CPB CPB 40.6000 0 0.0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NPH CPA CPM CPA 18.3000 0 0.0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NPH CPM CPB CPA 32.7000 0 0.0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NR1 CPH1 CPH2 H 0.4500 0 0.0000 ! ALLOW ARO ! his, adm jr., 7/05/90 NR1 CPH2 CPH1 H 0.4500 0 0.0000 ! ALLOW ARO ! his, adm jr., 7/05/90 NR3 CPH1 CPH2 H 1.2000 0 0.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 NR3 CPH2 CPH1 H 1.2000 0 0.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 NY CA CY CPT 100.0000 0 0.0000 ! ALLOW ARO !adm jr., 5/15/91, indole 3-21G HE1 out-of-plane surf. O CP1 NH2 CC 45.0000 0 0.0000 ! ALLOW PEP POL PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 O CT1 NH2 CC 45.0000 0 0.0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations O CT2 NH2 CC 45.0000 0 0.0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations O CT3 NH2 CC 45.0000 0 0.0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations O HA NH2 CC 45.0000 0 0.0000 ! ALLOW PEP POL PRO ! adm jr., 5/13/91, formamide geometry and vibrations O N CT2 CC 120.0000 0 0.0000 ! ALLOW PEP POL PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 O NH2 CP1 CC 45.0000 0 0.0000 ! ALLOW PEP POL PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 O NH2 CT1 CC 45.0000 0 0.0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations O NH2 CT2 CC 45.0000 0 0.0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations O NH2 CT3 CC 45.0000 0 0.0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations O NH2 HA CC 45.0000 0 0.0000 ! ALLOW PEP POL ! adm jr., 5/13/91, formamide geometry and vibrations O X X C 120.0000 0 0.0000 ! ALLOW PEP POL ARO ! NMA Vibrational Modes (LK) OB X X CD 100.0000 0 0.0000 ! ALLOW ALC ARO POL ! adm jr., 10/17/90, acetic acid vibrations OC X X CC 96.0000 0 0.0000 ! ALLOW PEP POL ARO ION ! 90.0->96.0 acetate, single impr (KK) CC X X CT1 96.0000 0 0.0000 ! ALLOW PEP POL ARO ION ! 90.0->96.0 acetate, single impr (KK) CC X X CT2 96.0000 0 0.0000 ! ALLOW PEP POL ARO ION ! 90.0->96.0 acetate, single impr (KK) CC X X CT3 96.0000 0 0.0000 ! ALLOW PEP POL ARO ION ! 90.0->96.0 acetate, single impr (KK) NONBONDED nbxmod 5 atom cdiel shift vatom vdistance vswitch cutnb 14.0 ctofnb 12.0 ctonnb 10.0 eps 1.0 e14fac 1.0 wmin 1.5 ! adm jr., 5/08/91, suggested cutoff scheme ! !V(Lennard-Jones) = Eps,i,j[(Rmin,i,j/ri,j)**12 - 2(Rmin,i,j/ri,j)**6] ! !epsilon: kcal/mole, Eps,i,j = sqrt(eps,i * eps,j) !Rmin/2: A, Rmin,i,j = Rmin/2,i + Rmin/2,j ! !atom ignored epsilon Rmin/2 ignored eps,1-4 Rmin/2,1-4 ! C 0.000000 -0.110000 2.000000 ! ALLOW PEP POL ARO ! NMA pure solvent, adm jr., 3/3/93 CA 0.000000 -0.070000 1.992400 ! ALLOW ARO ! benzene (JES) CC 0.000000 -0.070000 2.000000 ! ALLOW PEP POL ARO ! adm jr. 3/3/92, acetic acid heat of solvation CD 0.000000 -0.070000 2.000000 ! ALLOW POL ! adm jr. 3/19/92, acetate a.i. and dH of solvation CE1 0.000000 -0.068000 2.090000 ! ! for propene, yin/adm jr., 12/95 CE2 0.000000 -0.064000 2.080000 ! ! for ethene, yin/adm jr., 12/95 CM 0.000000 -0.110000 2.100000 ! ALLOW HEM ! Heme (6-liganded): CO ligand carbon (KK 05/13/91) CP1 0.000000 -0.020000 2.275000 0.000000 -0.010000 1.900000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CP2 0.000000 -0.055000 2.175000 0.000000 -0.010000 1.900000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CP3 0.000000 -0.055000 2.175000 0.000000 -0.010000 1.900000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 CPA 0.000000 -0.090000 1.800000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) CPB 0.000000 -0.090000 1.800000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) CPH1 0.000000 -0.050000 1.800000 ! ALLOW ARO ! adm jr., 10/23/91, imidazole solvation and sublimation CPH2 0.000000 -0.050000 1.800000 ! ALLOW ARO ! adm jr., 10/23/91, imidazole solvation and sublimation CPM 0.000000 -0.090000 1.800000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) CPT 0.000000 -0.090000 1.800000 0.000000 -0.090000 1.900000 ! ALLOW ARO ! benzene (JES) CS 0.000000 -0.110000 2.200000 ! ALLOW SUL ! methylthiolate to water and F.E. of solvation, adm jr. 6/1/92 CT1 0.000000 -0.020000 2.275000 0.000000 -0.010000 1.900000 ! ALLOW ALI ! isobutane pure solvent properties, adm jr, 2/3/92 CT2 0.000000 -0.055000 2.175000 0.000000 -0.010000 1.900000 ! ALLOW ALI ! propane pure solvent properties, adm jr, 2/3/92 CT3 0.000000 -0.080000 2.060000 0.000000 -0.010000 1.900000 ! ALLOW ALI ! methane/ethane a.i. and ethane pure solvent, adm jr, 2/3/92 CY 0.000000 -0.070000 1.992400 ! ALLOW ARO ! TRP, JWK 08/29/89 ! carbon wildcards, following atom order is essential for accurate results !C* 0.000000 -0.070000 2.000000 !CP% 0.000000 -0.090000 1.800000 !C%1 0.000000 -0.020000 2.275000 0.000000 -0.010000 1.900000 !C%2 0.000000 -0.055000 2.175000 0.000000 -0.010000 1.900000 !C%3 0.000000 -0.080000 2.060000 0.000000 -0.010000 1.900000 !CPH+ 0.000000 -0.050000 1.800000 !C 0.000000 -0.110000 2.000000 !CA 0.000000 -0.070000 1.992400 !CE1 0.000000 -0.068000 2.090000 !CE2 0.000000 -0.064000 2.080000 !CM 0.000000 -0.110000 2.100000 !CP3 0.000000 -0.055000 2.175000 0.000000 -0.010000 1.900000 ! ALLOW ALI !CPT 0.000000 -0.090000 1.800000 0.000000 -0.090000 1.900000 !CS 0.000000 -0.110000 2.200000 !CY 0.000000 -0.070000 1.992400 H 0.000000 -0.046000 0.224500 ! ALLOW PEP POL SUL ARO ALC ! same as TIP3P hydrogen, adm jr., 7/20/89 HA 0.000000 -0.022000 1.320000 ! ALLOW PEP ALI POL SUL ARO PRO ALC ! methane/ethane a.i. and ethane pure solvent, adm jr, 2/3/92 HE1 0.000000 -0.031000 1.250000 ! ! for propene, yin/adm jr., 12/95 HE2 0.000000 -0.026000 1.260000 ! ! for ethene, yin/adm jr., 12/95 HB 0.000000 -0.022000 1.320000 ! ALLOW PEP ALI POL SUL ARO PRO ALC ! methane/ethane a.i. and ethane pure solvent, adm jr, 2/3/92 HC 0.000000 -0.046000 0.224500 ! ALLOW POL ! new, small polar Hydrogen, see also adm jr. JG 8/27/89 HP 0.000000 -0.030000 1.358200 0.000000 -0.030000 1.358200 ! ALLOW ARO ! JES 8/25/89 values from Jorgensen fit to hydration energy HR1 0.000000 -0.046000 0.900000 ! ALLOW ARO ! adm jr., 6/27/90, his HR2 0.000000 -0.046000 0.700000 ! ALLOW ARO ! adm jr., 6/27/90, his HR3 0.000000 -0.007800 1.468000 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params HS 0.000000 -0.100000 0.450000 ! ALLOW SUL ! methanethiol pure solvent, adm jr., 6/22/92 HT 0.000000 -0.046000 0.224500 ! ALLOW WAT !TIP3P HYDROGEN PARAMETERS, adm jr., NBFIX obsolete ! hydrogen wildcards !H* 0.000000 -0.046000 0.224500 !HA 0.000000 -0.022000 1.320000 !HE1 0.000000 -0.031000 1.250000 !HE2 0.000000 -0.026000 1.260000 !HB 0.000000 -0.022000 1.320000 !HP 0.000000 -0.030000 1.358200 0.000000 -0.030000 1.358200 !HR1 0.000000 -0.046000 0.900000 !HR2 0.000000 -0.046000 0.700000 !HR3 0.000000 -0.007800 1.468000 !HS 0.000000 -0.100000 0.450000 ! N 0.000000 -0.200000 1.850000 0.000000 -0.000100 1.850000 ! ALLOW PRO ! 6-31g* AcProNH2, ProNH2, 6-31g*//3-21g AcProNHCH3 RLD 4/23/93 NC2 0.000000 -0.200000 1.850000 ! ALLOW POL ! JG 8/27/89; note: NH1 in ARG was changed to NC2. NH1 0.000000 -0.200000 1.850000 0.000000 -0.200000 1.550000 ! ALLOW PEP POL ARO ! This 1,4 vdW allows the C5 dipeptide minimum to exist.(LK) NH2 0.000000 -0.200000 1.850000 ! ALLOW POL ! adm jr. NH3 0.000000 -0.200000 1.850000 ! ALLOW POL ! adm jr. NP 0.000000 -0.200000 1.850000 ! ALLOW PRO ! N-terminal proline; from 6-31g* +ProNH2 RLD 9/28/90 NPH 0.000000 -0.200000 1.850000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NR1 0.000000 -0.200000 1.850000 ! ALLOW ARO ! His, adm jr., 9/4/89 NR2 0.000000 -0.200000 1.850000 ! ALLOW ARO ! His, adm jr., 9/4/89 NR3 0.000000 -0.200000 1.850000 ! ALLOW ARO ! His, adm jr., 9/4/89 NY 0.000000 -0.200000 1.850000 ! ALLOW ARO ! trp, JWK ! nitrogen wildcards !N* 0.000000 -0.200000 1.850000 !N 0.000000 -0.200000 1.850000 0.000000 -0.000100 1.850000 !NH1 0.000000 -0.200000 1.850000 0.000000 -0.200000 1.550000 ! O 0.000000 -0.120000 1.700000 0.000000 -0.120000 1.400000 ! ALLOW PEP POL ! This 1,4 vdW allows the C5 dipeptide minimum to exist.(LK) OB 0.000000 -0.120000 1.700000 0.000000 -0.120000 1.400000 ! ALLOW PEP POL ARO ! adm jr., 10/17/90, acetic acid carbonyl O OC 0.000000 -0.120000 1.700000 ! ALLOW POL ION ! JG 8/27/89 OH1 0.000000 -0.152100 1.770000 ! ALLOW ALC ARO ! adm jr. 8/14/90, MeOH nonbond and solvent (same as TIP3P) OM 0.000000 -0.120000 1.700000 ! ALLOW HEM ! Heme (6-liganded): CO ligand oxygen (KK 05/13/91) OS 0.000000 -0.152100 1.770000 ! ALLOW ALC ARO ! adm jr. 9/17/90, avoid O* wildcard OT 0.000000 -0.152100 1.768200 ! ALLOW WAT !TIP3P OXYGEN PARAMETERS, adm jr., NBFIX obsolete ! oxygen wildcards !O* 0.000000 -0.120000 1.700000 0.000000 -0.120000 1.400000 !OC 0.000000 -0.120000 1.700000 !OH1 0.000000 -0.152100 1.770000 !OM 0.000000 -0.120000 1.700000 !OS 0.000000 -0.152100 1.770000 !OT 0.000000 -0.152100 1.768200 CAL 0.000000 -0.120000 1.710000 ! ALLOW ION !Calcium (BP) FE 0.010000 0.000000 0.650000 ! ALLOW HEM ! Heme (6-liganded): Iron atom (KK 05/13/91) S 0.000000 -0.450000 2.000000 ! ALLOW SUL ION ! adm jr., 3/3/92, methanethiol/ethylmethylsulfide pure solvent SM 0.000000 -0.380000 1.975000 ! ALLOW SUL ION ! adm jr., 3/3/92, dimethyldisulphide pure solvent SS 0.000000 -0.470000 2.200000 ! ALLOW SUL ! methylthiolate to water and F.E. of solvation, adm jr. 6/1/92 ZN 0.000000 -0.250000 1.090000 ! ALLOW ION ! RHS March 18, 1990 DUM 0.000000 -0.000000 0.000000 ! ! dummy atom HE 0.000000 -0.021270 1.4800 ! ! helium, experimental pot. energy surface, adm jr., 12/95 NE 0.000000 -0.086000 1.5300 ! neon, semiempirical pot. energy surface, adm jr., 12/95 HBOND CUTHB 0.5 ! If you want to do hbond analysis (only), then use ! READ PARAM APPEND CARD ! to append hbond parameters from the file: par_hbond.inp END protomol/examples/bpti_water_1101/bpti.pdb0100644027616700000500000025412010237151526020065 0ustar pbrenne1dipREMARK FINAL COORDINATES WRITTEN BY NAMD AT TIMESTEP 21000 ATOM 1 N ARG 1 14.422 -5.395 11.424 1.00 0.00 BPTI ATOM 2 HT1 ARG 1 14.966 -4.518 11.573 0.00 0.00 BPTI ATOM 3 HT2 ARG 1 15.054 -6.091 10.986 0.00 0.00 BPTI ATOM 4 HT3 ARG 1 14.119 -5.767 12.377 0.00 0.00 BPTI ATOM 5 CA ARG 1 13.283 -5.080 10.573 1.00 0.00 BPTI ATOM 6 HA ARG 1 12.641 -4.478 11.172 0.00 0.00 BPTI ATOM 7 CB ARG 1 13.789 -4.228 9.371 1.00 0.00 BPTI ATOM 8 HB1 ARG 1 12.889 -3.908 8.826 0.00 0.00 BPTI ATOM 9 HB2 ARG 1 14.356 -3.298 9.663 0.00 0.00 BPTI ATOM 10 CG ARG 1 14.614 -5.017 8.314 1.00 0.00 BPTI ATOM 11 HG1 ARG 1 15.351 -5.761 8.665 0.00 0.00 BPTI ATOM 12 HG2 ARG 1 13.869 -5.634 7.866 0.00 0.00 BPTI ATOM 13 CD ARG 1 15.288 -4.292 7.165 1.00 0.00 BPTI ATOM 14 HD1 ARG 1 15.924 -5.011 6.596 0.00 0.00 BPTI ATOM 15 HD2 ARG 1 14.554 -3.711 6.545 0.00 0.00 BPTI ATOM 16 NE ARG 1 16.179 -3.254 7.823 1.00 0.00 BPTI ATOM 17 HE ARG 1 15.827 -2.315 7.995 0.00 0.00 BPTI ATOM 18 CZ ARG 1 17.405 -3.499 8.222 1.00 0.00 BPTI ATOM 19 NH1 ARG 1 17.890 -4.731 8.387 1.00 0.00 BPTI ATOM 20 HH11 ARG 1 18.780 -4.749 8.914 0.00 0.00 BPTI ATOM 21 HH12 ARG 1 17.311 -5.498 8.534 0.00 0.00 BPTI ATOM 22 NH2 ARG 1 18.263 -2.535 8.628 1.00 0.00 BPTI ATOM 23 HH21 ARG 1 19.047 -2.905 9.104 0.00 0.00 BPTI ATOM 24 HH22 ARG 1 18.008 -1.571 8.767 0.00 0.00 BPTI ATOM 25 C ARG 1 12.439 -6.359 10.225 1.00 0.00 BPTI ATOM 26 O ARG 1 12.919 -7.491 10.303 1.00 0.00 BPTI ATOM 27 N PRO 2 11.175 -6.179 9.731 1.00 0.00 BPTI ATOM 28 CD PRO 2 10.243 -5.158 10.198 1.00 0.00 BPTI ATOM 29 HD1 PRO 2 10.197 -5.158 11.328 0.00 0.00 BPTI ATOM 30 HD2 PRO 2 10.580 -4.129 9.886 0.00 0.00 BPTI ATOM 31 CA PRO 2 10.422 -7.328 9.143 1.00 0.00 BPTI ATOM 32 HA PRO 2 10.805 -8.322 9.479 0.00 0.00 BPTI ATOM 33 CB PRO 2 8.933 -6.994 9.522 1.00 0.00 BPTI ATOM 34 HB1 PRO 2 8.810 -7.276 10.579 0.00 0.00 BPTI ATOM 35 HB2 PRO 2 8.131 -7.447 8.907 0.00 0.00 BPTI ATOM 36 CG PRO 2 8.911 -5.485 9.529 1.00 0.00 BPTI ATOM 37 HG1 PRO 2 8.069 -5.040 10.130 0.00 0.00 BPTI ATOM 38 HG2 PRO 2 8.794 -5.046 8.507 0.00 0.00 BPTI ATOM 39 C PRO 2 10.619 -7.160 7.652 1.00 0.00 BPTI ATOM 40 O PRO 2 11.417 -6.349 7.259 1.00 0.00 BPTI ATOM 41 N ASP 3 9.762 -7.811 6.779 1.00 0.00 BPTI ATOM 42 HN ASP 3 9.040 -8.406 7.066 0.00 0.00 BPTI ATOM 43 CA ASP 3 10.133 -8.036 5.343 1.00 0.00 BPTI ATOM 44 HA ASP 3 11.254 -8.091 5.357 0.00 0.00 BPTI ATOM 45 CB ASP 3 9.328 -9.224 4.802 1.00 0.00 BPTI ATOM 46 HB1 ASP 3 9.398 -9.334 3.647 0.00 0.00 BPTI ATOM 47 HB2 ASP 3 9.754 -10.137 5.290 0.00 0.00 BPTI ATOM 48 CG ASP 3 7.892 -9.173 5.261 1.00 0.00 BPTI ATOM 49 OD1 ASP 3 7.078 -8.763 4.443 1.00 0.00 BPTI ATOM 50 OD2 ASP 3 7.585 -9.497 6.446 1.00 0.00 BPTI ATOM 51 C ASP 3 9.852 -6.786 4.565 1.00 0.00 BPTI ATOM 52 O ASP 3 10.604 -6.349 3.710 1.00 0.00 BPTI ATOM 53 N PHE 4 8.631 -6.213 4.796 1.00 0.00 BPTI ATOM 54 HN PHE 4 8.054 -6.563 5.457 0.00 0.00 BPTI ATOM 55 CA PHE 4 7.886 -5.106 4.001 1.00 0.00 BPTI ATOM 56 HA PHE 4 7.979 -5.507 2.915 0.00 0.00 BPTI ATOM 57 CB PHE 4 6.420 -4.976 4.487 1.00 0.00 BPTI ATOM 58 HB1 PHE 4 5.869 -4.285 3.809 0.00 0.00 BPTI ATOM 59 HB2 PHE 4 6.057 -6.031 4.285 0.00 0.00 BPTI ATOM 60 CG PHE 4 6.296 -4.478 5.858 1.00 0.00 BPTI ATOM 61 CD1 PHE 4 6.399 -3.056 6.177 1.00 0.00 BPTI ATOM 62 HD1 PHE 4 6.757 -2.298 5.390 0.00 0.00 BPTI ATOM 63 CE1 PHE 4 6.306 -2.597 7.511 1.00 0.00 BPTI ATOM 64 HE1 PHE 4 6.586 -1.564 7.618 0.00 0.00 BPTI ATOM 65 CZ PHE 4 6.040 -3.568 8.516 1.00 0.00 BPTI ATOM 66 HZ PHE 4 5.933 -3.156 9.518 0.00 0.00 BPTI ATOM 67 CD2 PHE 4 6.074 -5.334 6.867 1.00 0.00 BPTI ATOM 68 HD2 PHE 4 5.816 -6.327 6.569 0.00 0.00 BPTI ATOM 69 CE2 PHE 4 5.874 -4.939 8.159 1.00 0.00 BPTI ATOM 70 HE2 PHE 4 5.675 -5.700 8.914 0.00 0.00 BPTI ATOM 71 C PHE 4 8.525 -3.733 3.870 1.00 0.00 BPTI ATOM 72 O PHE 4 8.045 -2.857 3.183 1.00 0.00 BPTI ATOM 73 CB CYS 5 11.368 -2.209 5.803 1.00 0.00 BPTI ATOM 74 SG CYS 5 10.232 -2.000 7.267 1.00 0.00 BPTI ATOM 75 N CYS 5 9.678 -3.587 4.498 1.00 0.00 BPTI ATOM 76 HN CYS 5 10.067 -4.430 4.817 0.00 0.00 BPTI ATOM 77 CA CYS 5 10.585 -2.403 4.451 1.00 0.00 BPTI ATOM 78 HA CYS 5 9.989 -1.499 4.329 0.00 0.00 BPTI ATOM 79 HB1 CYS 5 11.915 -3.075 6.054 0.00 0.00 BPTI ATOM 80 HB2 CYS 5 12.171 -1.425 5.678 0.00 0.00 BPTI ATOM 81 C CYS 5 11.592 -2.471 3.348 1.00 0.00 BPTI ATOM 82 O CYS 5 12.232 -1.535 2.987 1.00 0.00 BPTI ATOM 83 N LEU 6 11.649 -3.706 2.741 1.00 0.00 BPTI ATOM 84 HN LEU 6 11.078 -4.425 3.072 0.00 0.00 BPTI ATOM 85 CA LEU 6 12.284 -3.888 1.469 1.00 0.00 BPTI ATOM 86 HA LEU 6 13.179 -3.314 1.400 0.00 0.00 BPTI ATOM 87 CB LEU 6 12.631 -5.365 1.184 1.00 0.00 BPTI ATOM 88 HB1 LEU 6 11.724 -5.977 0.969 0.00 0.00 BPTI ATOM 89 HB2 LEU 6 13.176 -5.424 0.153 0.00 0.00 BPTI ATOM 90 CG LEU 6 13.572 -5.982 2.312 1.00 0.00 BPTI ATOM 91 HG LEU 6 13.285 -5.511 3.289 0.00 0.00 BPTI ATOM 92 CD1 LEU 6 15.029 -5.434 2.167 1.00 0.00 BPTI ATOM 93 HD11 LEU 6 15.453 -5.509 1.113 0.00 0.00 BPTI ATOM 94 HD12 LEU 6 14.991 -4.338 2.413 0.00 0.00 BPTI ATOM 95 HD13 LEU 6 15.723 -5.879 2.893 0.00 0.00 BPTI ATOM 96 CD2 LEU 6 13.690 -7.461 2.141 1.00 0.00 BPTI ATOM 97 HD21 LEU 6 13.960 -7.823 1.121 0.00 0.00 BPTI ATOM 98 HD22 LEU 6 14.362 -7.900 2.923 0.00 0.00 BPTI ATOM 99 HD23 LEU 6 12.665 -7.905 2.356 0.00 0.00 BPTI ATOM 100 C LEU 6 11.376 -3.387 0.327 1.00 0.00 BPTI ATOM 101 O LEU 6 11.857 -3.335 -0.816 1.00 0.00 BPTI ATOM 102 N GLU 7 10.026 -3.201 0.437 1.00 0.00 BPTI ATOM 103 HN GLU 7 9.542 -3.263 1.319 0.00 0.00 BPTI ATOM 104 CA GLU 7 9.211 -2.825 -0.737 1.00 0.00 BPTI ATOM 105 HA GLU 7 9.351 -3.536 -1.529 0.00 0.00 BPTI ATOM 106 CB GLU 7 7.657 -2.659 -0.503 1.00 0.00 BPTI ATOM 107 HB1 GLU 7 7.484 -2.009 0.369 0.00 0.00 BPTI ATOM 108 HB2 GLU 7 7.187 -2.341 -1.425 0.00 0.00 BPTI ATOM 109 CG GLU 7 6.928 -3.969 -0.119 1.00 0.00 BPTI ATOM 110 HG1 GLU 7 7.209 -4.764 -0.839 0.00 0.00 BPTI ATOM 111 HG2 GLU 7 7.312 -4.271 0.892 0.00 0.00 BPTI ATOM 112 CD GLU 7 5.505 -3.796 -0.090 1.00 0.00 BPTI ATOM 113 OE1 GLU 7 4.949 -2.683 0.119 1.00 0.00 BPTI ATOM 114 OE2 GLU 7 4.815 -4.835 -0.297 1.00 0.00 BPTI ATOM 115 C GLU 7 9.661 -1.515 -1.280 1.00 0.00 BPTI ATOM 116 O GLU 7 9.770 -0.621 -0.418 1.00 0.00 BPTI ATOM 117 N PRO 8 9.824 -1.292 -2.590 1.00 0.00 BPTI ATOM 118 CD PRO 8 10.059 -2.285 -3.645 1.00 0.00 BPTI ATOM 119 HD1 PRO 8 10.626 -3.126 -3.154 0.00 0.00 BPTI ATOM 120 HD2 PRO 8 9.119 -2.624 -4.068 0.00 0.00 BPTI ATOM 121 CA PRO 8 10.129 0.049 -3.094 1.00 0.00 BPTI ATOM 122 HA PRO 8 10.937 0.422 -2.489 0.00 0.00 BPTI ATOM 123 CB PRO 8 10.586 -0.184 -4.588 1.00 0.00 BPTI ATOM 124 HB1 PRO 8 11.371 0.503 -4.740 0.00 0.00 BPTI ATOM 125 HB2 PRO 8 9.787 0.076 -5.262 0.00 0.00 BPTI ATOM 126 CG PRO 8 11.037 -1.577 -4.564 1.00 0.00 BPTI ATOM 127 HG1 PRO 8 12.035 -1.633 -4.056 0.00 0.00 BPTI ATOM 128 HG2 PRO 8 11.184 -2.136 -5.529 0.00 0.00 BPTI ATOM 129 C PRO 8 8.864 0.979 -2.901 1.00 0.00 BPTI ATOM 130 O PRO 8 7.820 0.424 -2.602 1.00 0.00 BPTI ATOM 131 N PRO 9 8.894 2.262 -3.234 1.00 0.00 BPTI ATOM 132 CD PRO 9 10.090 2.970 -3.675 1.00 0.00 BPTI ATOM 133 HD1 PRO 9 10.852 2.875 -2.898 0.00 0.00 BPTI ATOM 134 HD2 PRO 9 10.575 2.487 -4.629 0.00 0.00 BPTI ATOM 135 CA PRO 9 7.877 3.228 -2.789 1.00 0.00 BPTI ATOM 136 HA PRO 9 7.456 2.970 -1.825 0.00 0.00 BPTI ATOM 137 CB PRO 9 8.564 4.593 -2.864 1.00 0.00 BPTI ATOM 138 HB1 PRO 9 9.055 4.656 -1.849 0.00 0.00 BPTI ATOM 139 HB2 PRO 9 7.938 5.491 -2.854 0.00 0.00 BPTI ATOM 140 CG PRO 9 9.594 4.401 -3.940 1.00 0.00 BPTI ATOM 141 HG1 PRO 9 10.394 5.138 -3.963 0.00 0.00 BPTI ATOM 142 HG2 PRO 9 9.044 4.438 -4.936 0.00 0.00 BPTI ATOM 143 C PRO 9 6.561 3.146 -3.615 1.00 0.00 BPTI ATOM 144 O PRO 9 6.603 2.670 -4.760 1.00 0.00 BPTI ATOM 145 N TYR 10 5.431 3.671 -3.039 1.00 0.00 BPTI ATOM 146 HN TYR 10 5.389 4.185 -2.203 0.00 0.00 BPTI ATOM 147 CA TYR 10 4.210 3.612 -3.797 1.00 0.00 BPTI ATOM 148 HA TYR 10 4.336 3.504 -4.868 0.00 0.00 BPTI ATOM 149 CB TYR 10 3.499 2.338 -3.317 1.00 0.00 BPTI ATOM 150 HB1 TYR 10 4.160 1.465 -3.510 0.00 0.00 BPTI ATOM 151 HB2 TYR 10 3.468 2.318 -2.193 0.00 0.00 BPTI ATOM 152 CG TYR 10 2.112 2.197 -3.899 1.00 0.00 BPTI ATOM 153 CD1 TYR 10 2.001 1.797 -5.233 1.00 0.00 BPTI ATOM 154 HD1 TYR 10 2.963 1.809 -5.755 0.00 0.00 BPTI ATOM 155 CE1 TYR 10 0.765 1.502 -5.803 1.00 0.00 BPTI ATOM 156 HE1 TYR 10 0.619 1.208 -6.823 0.00 0.00 BPTI ATOM 157 CZ TYR 10 -0.349 1.593 -4.993 1.00 0.00 BPTI ATOM 158 OH TYR 10 -1.531 1.113 -5.486 1.00 0.00 BPTI ATOM 159 HH TYR 10 -2.194 1.226 -4.823 0.00 0.00 BPTI ATOM 160 CD2 TYR 10 1.000 2.398 -3.099 1.00 0.00 BPTI ATOM 161 HD2 TYR 10 1.265 2.698 -2.121 0.00 0.00 BPTI ATOM 162 CE2 TYR 10 -0.218 2.044 -3.631 1.00 0.00 BPTI ATOM 163 HE2 TYR 10 -1.110 2.000 -2.978 0.00 0.00 BPTI ATOM 164 C TYR 10 3.385 4.874 -3.639 1.00 0.00 BPTI ATOM 165 O TYR 10 2.897 5.206 -2.561 1.00 0.00 BPTI ATOM 166 N THR 11 3.314 5.706 -4.705 1.00 0.00 BPTI ATOM 167 HN THR 11 3.591 5.479 -5.649 0.00 0.00 BPTI ATOM 168 CA THR 11 2.658 7.007 -4.575 1.00 0.00 BPTI ATOM 169 HA THR 11 2.860 7.416 -3.683 0.00 0.00 BPTI ATOM 170 CB THR 11 3.080 7.868 -5.732 1.00 0.00 BPTI ATOM 171 HB THR 11 2.938 7.293 -6.649 0.00 0.00 BPTI ATOM 172 OG1 THR 11 4.476 8.209 -5.524 1.00 0.00 BPTI ATOM 173 HG1 THR 11 4.491 8.756 -4.751 0.00 0.00 BPTI ATOM 174 CG2 THR 11 2.391 9.227 -5.867 1.00 0.00 BPTI ATOM 175 HG21 THR 11 2.753 9.872 -6.638 0.00 0.00 BPTI ATOM 176 HG22 THR 11 1.270 9.097 -5.864 0.00 0.00 BPTI ATOM 177 HG23 THR 11 2.566 9.801 -4.958 0.00 0.00 BPTI ATOM 178 C THR 11 1.140 6.836 -4.637 1.00 0.00 BPTI ATOM 179 O THR 11 0.459 7.460 -3.857 1.00 0.00 BPTI ATOM 180 N GLY 12 0.737 6.013 -5.585 1.00 0.00 BPTI ATOM 181 HN GLY 12 1.356 5.556 -6.184 0.00 0.00 BPTI ATOM 182 CA GLY 12 -0.607 5.510 -5.794 1.00 0.00 BPTI ATOM 183 HA1 GLY 12 -1.232 5.685 -4.908 0.00 0.00 BPTI ATOM 184 HA2 GLY 12 -0.499 4.430 -6.178 0.00 0.00 BPTI ATOM 185 C GLY 12 -1.323 6.241 -6.909 1.00 0.00 BPTI ATOM 186 O GLY 12 -0.819 6.992 -7.748 1.00 0.00 BPTI ATOM 187 N PRO 13 -2.649 6.038 -6.971 1.00 0.00 BPTI ATOM 188 CD PRO 13 -3.277 4.806 -6.606 1.00 0.00 BPTI ATOM 189 HD1 PRO 13 -2.692 3.942 -6.954 0.00 0.00 BPTI ATOM 190 HD2 PRO 13 -3.436 4.736 -5.488 0.00 0.00 BPTI ATOM 191 CA PRO 13 -3.451 6.766 -7.947 1.00 0.00 BPTI ATOM 192 HA PRO 13 -2.989 6.653 -8.893 0.00 0.00 BPTI ATOM 193 CB PRO 13 -4.867 6.112 -7.778 1.00 0.00 BPTI ATOM 194 HB1 PRO 13 -5.533 6.182 -8.677 0.00 0.00 BPTI ATOM 195 HB2 PRO 13 -5.432 6.586 -6.963 0.00 0.00 BPTI ATOM 196 CG PRO 13 -4.599 4.684 -7.420 1.00 0.00 BPTI ATOM 197 HG1 PRO 13 -4.329 4.146 -8.334 0.00 0.00 BPTI ATOM 198 HG2 PRO 13 -5.482 4.249 -6.869 0.00 0.00 BPTI ATOM 199 C PRO 13 -3.557 8.291 -7.814 1.00 0.00 BPTI ATOM 200 O PRO 13 -3.681 8.841 -8.883 1.00 0.00 BPTI ATOM 201 CB CYS 14 -4.800 10.439 -4.992 1.00 0.00 BPTI ATOM 202 SG CYS 14 -6.585 9.758 -4.803 1.00 0.00 BPTI ATOM 203 N CYS 14 -3.519 8.805 -6.632 1.00 0.00 BPTI ATOM 204 HN CYS 14 -3.420 8.168 -5.810 0.00 0.00 BPTI ATOM 205 CA CYS 14 -4.054 10.205 -6.413 1.00 0.00 BPTI ATOM 206 HA CYS 14 -4.704 10.457 -7.236 0.00 0.00 BPTI ATOM 207 HB1 CYS 14 -4.138 10.059 -4.169 0.00 0.00 BPTI ATOM 208 HB2 CYS 14 -4.712 11.550 -4.762 0.00 0.00 BPTI ATOM 209 C CYS 14 -2.903 11.127 -6.502 1.00 0.00 BPTI ATOM 210 O CYS 14 -1.781 10.695 -6.580 1.00 0.00 BPTI ATOM 211 N LYS 15 -3.208 12.426 -6.562 1.00 0.00 BPTI ATOM 212 HN LYS 15 -4.120 12.721 -6.374 0.00 0.00 BPTI ATOM 213 CA LYS 15 -2.348 13.547 -6.902 1.00 0.00 BPTI ATOM 214 HA LYS 15 -1.388 13.184 -6.755 0.00 0.00 BPTI ATOM 215 CB LYS 15 -2.353 14.001 -8.383 1.00 0.00 BPTI ATOM 216 HB1 LYS 15 -3.344 14.400 -8.640 0.00 0.00 BPTI ATOM 217 HB2 LYS 15 -1.597 14.804 -8.370 0.00 0.00 BPTI ATOM 218 CG LYS 15 -2.096 12.863 -9.437 1.00 0.00 BPTI ATOM 219 HG1 LYS 15 -1.648 13.342 -10.364 0.00 0.00 BPTI ATOM 220 HG2 LYS 15 -1.331 12.153 -8.966 0.00 0.00 BPTI ATOM 221 CD LYS 15 -3.301 12.011 -9.893 1.00 0.00 BPTI ATOM 222 HD1 LYS 15 -3.725 11.514 -9.051 0.00 0.00 BPTI ATOM 223 HD2 LYS 15 -4.055 12.765 -10.319 0.00 0.00 BPTI ATOM 224 CE LYS 15 -3.085 11.011 -10.995 1.00 0.00 BPTI ATOM 225 HE1 LYS 15 -4.021 10.314 -11.060 0.00 0.00 BPTI ATOM 226 HE2 LYS 15 -2.957 11.565 -11.879 0.00 0.00 BPTI ATOM 227 NZ LYS 15 -1.968 10.151 -10.854 1.00 0.00 BPTI ATOM 228 HZ1 LYS 15 -1.792 9.673 -11.774 0.00 0.00 BPTI ATOM 229 HZ2 LYS 15 -1.112 10.716 -10.610 0.00 0.00 BPTI ATOM 230 HZ3 LYS 15 -2.105 9.447 -10.105 0.00 0.00 BPTI ATOM 231 C LYS 15 -2.408 14.689 -5.956 1.00 0.00 BPTI ATOM 232 O LYS 15 -2.399 15.850 -6.445 1.00 0.00 BPTI ATOM 233 N ALA 16 -2.414 14.466 -4.635 1.00 0.00 BPTI ATOM 234 HN ALA 16 -2.430 13.460 -4.339 0.00 0.00 BPTI ATOM 235 CA ALA 16 -2.142 15.526 -3.679 1.00 0.00 BPTI ATOM 236 HA ALA 16 -2.686 16.436 -4.052 0.00 0.00 BPTI ATOM 237 CB ALA 16 -2.839 14.954 -2.451 1.00 0.00 BPTI ATOM 238 HB1 ALA 16 -3.844 14.521 -2.694 0.00 0.00 BPTI ATOM 239 HB2 ALA 16 -2.265 14.120 -2.005 0.00 0.00 BPTI ATOM 240 HB3 ALA 16 -3.139 15.826 -1.798 0.00 0.00 BPTI ATOM 241 C ALA 16 -0.634 15.632 -3.414 1.00 0.00 BPTI ATOM 242 O ALA 16 0.174 15.033 -4.115 1.00 0.00 BPTI ATOM 243 N ARG 17 -0.163 16.311 -2.375 1.00 0.00 BPTI ATOM 244 HN ARG 17 -0.770 16.832 -1.762 0.00 0.00 BPTI ATOM 245 CA ARG 17 1.337 16.392 -2.180 1.00 0.00 BPTI ATOM 246 HA ARG 17 1.896 15.691 -2.822 0.00 0.00 BPTI ATOM 247 CB ARG 17 1.958 17.851 -2.412 1.00 0.00 BPTI ATOM 248 HB1 ARG 17 1.644 18.633 -1.732 0.00 0.00 BPTI ATOM 249 HB2 ARG 17 3.048 17.801 -2.304 0.00 0.00 BPTI ATOM 250 CG ARG 17 1.540 18.549 -3.754 1.00 0.00 BPTI ATOM 251 HG1 ARG 17 1.575 17.846 -4.585 0.00 0.00 BPTI ATOM 252 HG2 ARG 17 0.439 18.793 -3.595 0.00 0.00 BPTI ATOM 253 CD ARG 17 2.348 19.826 -4.064 1.00 0.00 BPTI ATOM 254 HD1 ARG 17 1.955 20.343 -4.959 0.00 0.00 BPTI ATOM 255 HD2 ARG 17 2.152 20.527 -3.186 0.00 0.00 BPTI ATOM 256 NE ARG 17 3.778 19.452 -4.281 1.00 0.00 BPTI ATOM 257 HE ARG 17 4.384 19.604 -3.542 0.00 0.00 BPTI ATOM 258 CZ ARG 17 4.231 18.869 -5.384 1.00 0.00 BPTI ATOM 259 NH1 ARG 17 5.539 18.459 -5.374 1.00 0.00 BPTI ATOM 260 HH11 ARG 17 5.797 18.062 -6.283 0.00 0.00 BPTI ATOM 261 HH12 ARG 17 6.181 18.989 -4.770 0.00 0.00 BPTI ATOM 262 NH2 ARG 17 3.482 18.427 -6.371 1.00 0.00 BPTI ATOM 263 HH21 ARG 17 3.814 17.799 -7.081 0.00 0.00 BPTI ATOM 264 HH22 ARG 17 2.592 18.846 -6.390 0.00 0.00 BPTI ATOM 265 C ARG 17 1.819 16.050 -0.752 1.00 0.00 BPTI ATOM 266 O ARG 17 2.642 16.710 -0.130 1.00 0.00 BPTI ATOM 267 N ILE 18 1.359 14.974 -0.280 1.00 0.00 BPTI ATOM 268 HN ILE 18 0.809 14.392 -0.841 0.00 0.00 BPTI ATOM 269 CA ILE 18 1.773 14.377 0.981 1.00 0.00 BPTI ATOM 270 HA ILE 18 1.732 15.236 1.599 0.00 0.00 BPTI ATOM 271 CB ILE 18 0.861 13.396 1.628 1.00 0.00 BPTI ATOM 272 HB ILE 18 0.966 12.359 1.180 0.00 0.00 BPTI ATOM 273 CG2 ILE 18 0.994 13.479 3.176 1.00 0.00 BPTI ATOM 274 HG21 ILE 18 0.375 12.570 3.603 0.00 0.00 BPTI ATOM 275 HG22 ILE 18 2.055 13.232 3.443 0.00 0.00 BPTI ATOM 276 HG23 ILE 18 0.653 14.491 3.533 0.00 0.00 BPTI ATOM 277 CG1 ILE 18 -0.640 13.609 1.383 1.00 0.00 BPTI ATOM 278 HG11 ILE 18 -1.071 14.458 1.982 0.00 0.00 BPTI ATOM 279 HG12 ILE 18 -0.849 13.794 0.327 0.00 0.00 BPTI ATOM 280 CD ILE 18 -1.587 12.405 1.687 1.00 0.00 BPTI ATOM 281 HD1 ILE 18 -2.652 12.547 1.410 0.00 0.00 BPTI ATOM 282 HD2 ILE 18 -1.226 11.406 1.317 0.00 0.00 BPTI ATOM 283 HD3 ILE 18 -1.612 12.117 2.762 0.00 0.00 BPTI ATOM 284 C ILE 18 3.164 13.848 1.005 1.00 0.00 BPTI ATOM 285 O ILE 18 3.559 12.860 0.368 1.00 0.00 BPTI ATOM 286 N ILE 19 4.059 14.553 1.769 1.00 0.00 BPTI ATOM 287 HN ILE 19 3.818 15.415 2.110 0.00 0.00 BPTI ATOM 288 CA ILE 19 5.436 14.152 1.918 1.00 0.00 BPTI ATOM 289 HA ILE 19 5.860 13.783 0.968 0.00 0.00 BPTI ATOM 290 CB ILE 19 6.346 15.298 2.283 1.00 0.00 BPTI ATOM 291 HB ILE 19 5.804 15.839 3.094 0.00 0.00 BPTI ATOM 292 CG2 ILE 19 7.745 14.866 2.815 1.00 0.00 BPTI ATOM 293 HG21 ILE 19 8.246 15.836 3.080 0.00 0.00 BPTI ATOM 294 HG22 ILE 19 7.555 14.291 3.733 0.00 0.00 BPTI ATOM 295 HG23 ILE 19 8.326 14.345 2.042 0.00 0.00 BPTI ATOM 296 CG1 ILE 19 6.505 16.373 1.186 1.00 0.00 BPTI ATOM 297 HG11 ILE 19 5.482 16.728 0.852 0.00 0.00 BPTI ATOM 298 HG12 ILE 19 7.063 17.247 1.588 0.00 0.00 BPTI ATOM 299 CD ILE 19 7.161 15.922 -0.144 1.00 0.00 BPTI ATOM 300 HD1 ILE 19 6.921 16.557 -1.039 0.00 0.00 BPTI ATOM 301 HD2 ILE 19 8.182 15.661 -0.017 0.00 0.00 BPTI ATOM 302 HD3 ILE 19 6.795 14.943 -0.437 0.00 0.00 BPTI ATOM 303 C ILE 19 5.559 12.949 2.890 1.00 0.00 BPTI ATOM 304 O ILE 19 5.274 13.106 4.071 1.00 0.00 BPTI ATOM 305 N ARG 20 6.071 11.795 2.473 1.00 0.00 BPTI ATOM 306 HN ARG 20 6.453 11.735 1.527 0.00 0.00 BPTI ATOM 307 CA ARG 20 6.170 10.586 3.306 1.00 0.00 BPTI ATOM 308 HA ARG 20 5.906 10.927 4.375 0.00 0.00 BPTI ATOM 309 CB ARG 20 5.139 9.520 2.817 1.00 0.00 BPTI ATOM 310 HB1 ARG 20 5.348 9.479 1.748 0.00 0.00 BPTI ATOM 311 HB2 ARG 20 5.353 8.562 3.336 0.00 0.00 BPTI ATOM 312 CG ARG 20 3.665 9.927 3.079 1.00 0.00 BPTI ATOM 313 HG1 ARG 20 3.332 10.879 2.602 0.00 0.00 BPTI ATOM 314 HG2 ARG 20 2.879 9.197 2.706 0.00 0.00 BPTI ATOM 315 CD ARG 20 3.430 10.066 4.557 1.00 0.00 BPTI ATOM 316 HD1 ARG 20 3.613 9.105 5.083 0.00 0.00 BPTI ATOM 317 HD2 ARG 20 4.090 10.872 4.919 0.00 0.00 BPTI ATOM 318 NE ARG 20 2.048 10.579 4.785 1.00 0.00 BPTI ATOM 319 HE ARG 20 1.936 11.414 5.448 0.00 0.00 BPTI ATOM 320 CZ ARG 20 0.954 9.776 4.801 1.00 0.00 BPTI ATOM 321 NH1 ARG 20 1.022 8.579 4.351 1.00 0.00 BPTI ATOM 322 HH11 ARG 20 0.286 8.029 4.532 0.00 0.00 BPTI ATOM 323 HH12 ARG 20 1.874 8.101 4.525 0.00 0.00 BPTI ATOM 324 NH2 ARG 20 -0.197 10.302 5.252 1.00 0.00 BPTI ATOM 325 HH21 ARG 20 -0.979 9.631 5.256 0.00 0.00 BPTI ATOM 326 HH22 ARG 20 -0.214 11.260 5.626 0.00 0.00 BPTI ATOM 327 C ARG 20 7.519 10.036 3.307 1.00 0.00 BPTI ATOM 328 O ARG 20 8.339 10.312 2.383 1.00 0.00 BPTI ATOM 329 N TYR 21 7.934 9.259 4.333 1.00 0.00 BPTI ATOM 330 HN TYR 21 7.267 8.971 4.976 0.00 0.00 BPTI ATOM 331 CA TYR 21 9.194 8.529 4.498 1.00 0.00 BPTI ATOM 332 HA TYR 21 9.884 8.950 3.805 0.00 0.00 BPTI ATOM 333 CB TYR 21 9.704 8.637 6.018 1.00 0.00 BPTI ATOM 334 HB1 TYR 21 8.946 8.559 6.811 0.00 0.00 BPTI ATOM 335 HB2 TYR 21 10.522 7.893 6.173 0.00 0.00 BPTI ATOM 336 CG TYR 21 10.387 9.971 6.182 1.00 0.00 BPTI ATOM 337 CD1 TYR 21 9.572 11.032 6.554 1.00 0.00 BPTI ATOM 338 HD1 TYR 21 8.462 10.910 6.661 0.00 0.00 BPTI ATOM 339 CE1 TYR 21 10.127 12.331 6.537 1.00 0.00 BPTI ATOM 340 HE1 TYR 21 9.473 13.165 6.634 0.00 0.00 BPTI ATOM 341 CZ TYR 21 11.448 12.560 6.377 1.00 0.00 BPTI ATOM 342 OH TYR 21 11.877 13.858 6.165 1.00 0.00 BPTI ATOM 343 HH TYR 21 11.152 14.469 6.354 0.00 0.00 BPTI ATOM 344 CD2 TYR 21 11.749 10.179 5.895 1.00 0.00 BPTI ATOM 345 HD2 TYR 21 12.391 9.385 5.670 0.00 0.00 BPTI ATOM 346 CE2 TYR 21 12.298 11.480 6.105 1.00 0.00 BPTI ATOM 347 HE2 TYR 21 13.367 11.642 5.827 0.00 0.00 BPTI ATOM 348 C TYR 21 8.995 7.067 4.032 1.00 0.00 BPTI ATOM 349 O TYR 21 7.891 6.510 4.155 1.00 0.00 BPTI ATOM 350 N PHE 22 10.070 6.490 3.504 1.00 0.00 BPTI ATOM 351 HN PHE 22 10.986 6.880 3.477 0.00 0.00 BPTI ATOM 352 CA PHE 22 10.168 5.041 3.283 1.00 0.00 BPTI ATOM 353 HA PHE 22 9.456 4.506 3.932 0.00 0.00 BPTI ATOM 354 CB PHE 22 9.864 4.545 1.771 1.00 0.00 BPTI ATOM 355 HB1 PHE 22 9.775 3.435 1.745 0.00 0.00 BPTI ATOM 356 HB2 PHE 22 8.924 5.038 1.501 0.00 0.00 BPTI ATOM 357 CG PHE 22 11.015 4.944 0.876 1.00 0.00 BPTI ATOM 358 CD1 PHE 22 11.732 3.906 0.165 1.00 0.00 BPTI ATOM 359 HD1 PHE 22 11.592 2.840 0.533 0.00 0.00 BPTI ATOM 360 CE1 PHE 22 12.617 4.325 -0.782 1.00 0.00 BPTI ATOM 361 HE1 PHE 22 13.220 3.558 -1.276 0.00 0.00 BPTI ATOM 362 CZ PHE 22 12.916 5.655 -1.095 1.00 0.00 BPTI ATOM 363 HZ PHE 22 13.610 5.817 -1.863 0.00 0.00 BPTI ATOM 364 CD2 PHE 22 11.149 6.287 0.503 1.00 0.00 BPTI ATOM 365 HD2 PHE 22 10.606 7.028 0.952 0.00 0.00 BPTI ATOM 366 CE2 PHE 22 12.080 6.620 -0.508 1.00 0.00 BPTI ATOM 367 HE2 PHE 22 12.249 7.678 -0.801 0.00 0.00 BPTI ATOM 368 C PHE 22 11.581 4.644 3.809 1.00 0.00 BPTI ATOM 369 O PHE 22 12.513 5.490 3.934 1.00 0.00 BPTI ATOM 370 N TYR 23 11.761 3.364 4.025 1.00 0.00 BPTI ATOM 371 HN TYR 23 10.983 2.737 3.859 0.00 0.00 BPTI ATOM 372 CA TYR 23 13.033 2.841 4.332 1.00 0.00 BPTI ATOM 373 HA TYR 23 13.661 3.561 4.789 0.00 0.00 BPTI ATOM 374 CB TYR 23 12.865 1.716 5.377 1.00 0.00 BPTI ATOM 375 HB1 TYR 23 12.309 2.062 6.246 0.00 0.00 BPTI ATOM 376 HB2 TYR 23 12.204 0.878 4.982 0.00 0.00 BPTI ATOM 377 CG TYR 23 14.200 1.093 5.803 1.00 0.00 BPTI ATOM 378 CD1 TYR 23 14.759 -0.080 5.188 1.00 0.00 BPTI ATOM 379 HD1 TYR 23 14.224 -0.680 4.452 0.00 0.00 BPTI ATOM 380 CE1 TYR 23 16.012 -0.593 5.446 1.00 0.00 BPTI ATOM 381 HE1 TYR 23 16.463 -1.515 5.017 0.00 0.00 BPTI ATOM 382 CZ TYR 23 16.796 0.110 6.359 1.00 0.00 BPTI ATOM 383 OH TYR 23 18.059 -0.367 6.670 1.00 0.00 BPTI ATOM 384 HH TYR 23 18.727 0.136 6.205 0.00 0.00 BPTI ATOM 385 CD2 TYR 23 15.001 1.766 6.713 1.00 0.00 BPTI ATOM 386 HD2 TYR 23 14.662 2.639 7.218 0.00 0.00 BPTI ATOM 387 CE2 TYR 23 16.262 1.217 7.101 1.00 0.00 BPTI ATOM 388 HE2 TYR 23 16.887 1.752 7.851 0.00 0.00 BPTI ATOM 389 C TYR 23 13.751 2.388 3.051 1.00 0.00 BPTI ATOM 390 O TYR 23 13.238 1.541 2.350 1.00 0.00 BPTI ATOM 391 N ASN 24 14.897 2.931 2.684 1.00 0.00 BPTI ATOM 392 HN ASN 24 15.329 3.610 3.253 0.00 0.00 BPTI ATOM 393 CA ASN 24 15.585 2.573 1.461 1.00 0.00 BPTI ATOM 394 HA ASN 24 15.002 1.865 0.859 0.00 0.00 BPTI ATOM 395 CB ASN 24 15.871 3.939 0.624 1.00 0.00 BPTI ATOM 396 HB1 ASN 24 15.083 4.660 0.624 0.00 0.00 BPTI ATOM 397 HB2 ASN 24 16.668 4.487 0.939 0.00 0.00 BPTI ATOM 398 CG ASN 24 16.110 3.560 -0.817 1.00 0.00 BPTI ATOM 399 OD1 ASN 24 15.942 2.379 -1.152 1.00 0.00 BPTI ATOM 400 ND2 ASN 24 16.419 4.535 -1.670 1.00 0.00 BPTI ATOM 401 HD21 ASN 24 16.557 4.352 -2.679 0.00 0.00 BPTI ATOM 402 HD22 ASN 24 16.520 5.480 -1.404 0.00 0.00 BPTI ATOM 403 C ASN 24 16.918 1.843 1.681 1.00 0.00 BPTI ATOM 404 O ASN 24 17.985 2.472 1.911 1.00 0.00 BPTI ATOM 405 N ALA 25 16.880 0.539 1.589 1.00 0.00 BPTI ATOM 406 HN ALA 25 15.973 0.042 1.460 0.00 0.00 BPTI ATOM 407 CA ALA 25 18.084 -0.284 1.780 1.00 0.00 BPTI ATOM 408 HA ALA 25 18.479 -0.170 2.822 0.00 0.00 BPTI ATOM 409 CB ALA 25 17.653 -1.776 1.647 1.00 0.00 BPTI ATOM 410 HB1 ALA 25 16.760 -2.070 2.263 0.00 0.00 BPTI ATOM 411 HB2 ALA 25 17.459 -1.954 0.525 0.00 0.00 BPTI ATOM 412 HB3 ALA 25 18.543 -2.340 2.133 0.00 0.00 BPTI ATOM 413 C ALA 25 19.403 -0.060 0.927 1.00 0.00 BPTI ATOM 414 O ALA 25 20.522 -0.031 1.430 1.00 0.00 BPTI ATOM 415 N LYS 26 19.188 0.218 -0.391 1.00 0.00 BPTI ATOM 416 HN LYS 26 18.280 0.204 -0.858 0.00 0.00 BPTI ATOM 417 CA LYS 26 20.186 0.777 -1.370 1.00 0.00 BPTI ATOM 418 HA LYS 26 20.965 0.064 -1.430 0.00 0.00 BPTI ATOM 419 CB LYS 26 19.513 1.100 -2.759 1.00 0.00 BPTI ATOM 420 HB1 LYS 26 19.309 0.159 -3.259 0.00 0.00 BPTI ATOM 421 HB2 LYS 26 18.540 1.529 -2.609 0.00 0.00 BPTI ATOM 422 CG LYS 26 20.395 1.913 -3.762 1.00 0.00 BPTI ATOM 423 HG1 LYS 26 19.728 2.085 -4.644 0.00 0.00 BPTI ATOM 424 HG2 LYS 26 20.596 2.914 -3.390 0.00 0.00 BPTI ATOM 425 CD LYS 26 21.676 1.177 -4.241 1.00 0.00 BPTI ATOM 426 HD1 LYS 26 22.076 0.463 -3.494 0.00 0.00 BPTI ATOM 427 HD2 LYS 26 21.415 0.619 -5.135 0.00 0.00 BPTI ATOM 428 CE LYS 26 22.759 2.223 -4.584 1.00 0.00 BPTI ATOM 429 HE1 LYS 26 23.545 1.848 -5.288 0.00 0.00 BPTI ATOM 430 HE2 LYS 26 22.335 3.148 -4.959 0.00 0.00 BPTI ATOM 431 NZ LYS 26 23.471 2.719 -3.347 1.00 0.00 BPTI ATOM 432 HZ1 LYS 26 23.954 3.609 -3.550 0.00 0.00 BPTI ATOM 433 HZ2 LYS 26 22.674 2.786 -2.680 0.00 0.00 BPTI ATOM 434 HZ3 LYS 26 24.189 2.152 -2.896 0.00 0.00 BPTI ATOM 435 C LYS 26 20.926 1.994 -0.951 1.00 0.00 BPTI ATOM 436 O LYS 26 22.118 2.140 -1.023 1.00 0.00 BPTI ATOM 437 N ALA 27 20.154 2.944 -0.351 1.00 0.00 BPTI ATOM 438 HN ALA 27 19.149 2.763 -0.245 0.00 0.00 BPTI ATOM 439 CA ALA 27 20.823 4.063 0.259 1.00 0.00 BPTI ATOM 440 HA ALA 27 21.614 4.344 -0.353 0.00 0.00 BPTI ATOM 441 CB ALA 27 19.744 5.218 0.532 1.00 0.00 BPTI ATOM 442 HB1 ALA 27 19.267 5.546 -0.474 0.00 0.00 BPTI ATOM 443 HB2 ALA 27 18.939 4.949 1.272 0.00 0.00 BPTI ATOM 444 HB3 ALA 27 20.446 6.030 0.842 0.00 0.00 BPTI ATOM 445 C ALA 27 21.544 3.734 1.627 1.00 0.00 BPTI ATOM 446 O ALA 27 22.764 3.699 1.847 1.00 0.00 BPTI ATOM 447 N GLY 28 20.634 3.318 2.506 1.00 0.00 BPTI ATOM 448 HN GLY 28 19.658 3.155 2.286 0.00 0.00 BPTI ATOM 449 CA GLY 28 21.167 2.994 3.867 1.00 0.00 BPTI ATOM 450 HA1 GLY 28 21.961 3.644 4.195 0.00 0.00 BPTI ATOM 451 HA2 GLY 28 21.510 1.988 3.883 0.00 0.00 BPTI ATOM 452 C GLY 28 20.115 2.850 4.830 1.00 0.00 BPTI ATOM 453 O GLY 28 19.916 1.784 5.351 1.00 0.00 BPTI ATOM 454 N LEU 29 19.487 3.955 5.168 1.00 0.00 BPTI ATOM 455 HN LEU 29 19.815 4.771 4.775 0.00 0.00 BPTI ATOM 456 CA LEU 29 18.378 4.018 6.134 1.00 0.00 BPTI ATOM 457 HA LEU 29 18.096 2.978 6.350 0.00 0.00 BPTI ATOM 458 CB LEU 29 18.788 4.787 7.435 1.00 0.00 BPTI ATOM 459 HB1 LEU 29 18.834 5.919 7.289 0.00 0.00 BPTI ATOM 460 HB2 LEU 29 18.059 4.586 8.207 0.00 0.00 BPTI ATOM 461 CG LEU 29 20.224 4.439 7.990 1.00 0.00 BPTI ATOM 462 HG LEU 29 20.751 4.431 7.069 0.00 0.00 BPTI ATOM 463 CD1 LEU 29 20.732 5.542 8.957 1.00 0.00 BPTI ATOM 464 HD11 LEU 29 21.783 5.263 9.135 0.00 0.00 BPTI ATOM 465 HD12 LEU 29 20.701 6.559 8.567 0.00 0.00 BPTI ATOM 466 HD13 LEU 29 20.165 5.511 9.899 0.00 0.00 BPTI ATOM 467 CD2 LEU 29 20.262 3.112 8.797 1.00 0.00 BPTI ATOM 468 HD21 LEU 29 21.269 2.903 9.284 0.00 0.00 BPTI ATOM 469 HD22 LEU 29 19.621 3.206 9.652 0.00 0.00 BPTI ATOM 470 HD23 LEU 29 20.058 2.262 8.098 0.00 0.00 BPTI ATOM 471 C LEU 29 17.154 4.614 5.456 1.00 0.00 BPTI ATOM 472 O LEU 29 16.758 4.097 4.457 1.00 0.00 BPTI ATOM 473 CB CYS 30 14.388 6.592 6.770 1.00 0.00 BPTI ATOM 474 SG CYS 30 14.107 5.210 7.810 1.00 0.00 BPTI ATOM 475 N CYS 30 16.506 5.625 6.004 1.00 0.00 BPTI ATOM 476 HN CYS 30 16.999 6.042 6.736 0.00 0.00 BPTI ATOM 477 CA CYS 30 15.198 6.170 5.493 1.00 0.00 BPTI ATOM 478 HA CYS 30 14.737 5.379 5.046 0.00 0.00 BPTI ATOM 479 HB1 CYS 30 14.834 7.485 7.323 0.00 0.00 BPTI ATOM 480 HB2 CYS 30 13.345 6.867 6.242 0.00 0.00 BPTI ATOM 481 C CYS 30 15.334 7.339 4.606 1.00 0.00 BPTI ATOM 482 O CYS 30 16.349 8.101 4.642 1.00 0.00 BPTI ATOM 483 N GLN 31 14.408 7.487 3.608 1.00 0.00 BPTI ATOM 484 HN GLN 31 13.695 6.738 3.477 0.00 0.00 BPTI ATOM 485 CA GLN 31 14.421 8.602 2.633 1.00 0.00 BPTI ATOM 486 HA GLN 31 14.916 9.450 3.097 0.00 0.00 BPTI ATOM 487 CB GLN 31 15.044 8.286 1.230 1.00 0.00 BPTI ATOM 488 HB1 GLN 31 14.383 7.538 0.747 0.00 0.00 BPTI ATOM 489 HB2 GLN 31 15.008 9.175 0.585 0.00 0.00 BPTI ATOM 490 CG GLN 31 16.555 7.794 1.292 1.00 0.00 BPTI ATOM 491 HG1 GLN 31 17.029 8.447 2.027 0.00 0.00 BPTI ATOM 492 HG2 GLN 31 16.712 6.819 1.774 0.00 0.00 BPTI ATOM 493 CD GLN 31 17.175 7.887 -0.086 1.00 0.00 BPTI ATOM 494 OE1 GLN 31 16.735 7.169 -0.968 1.00 0.00 BPTI ATOM 495 NE2 GLN 31 18.202 8.737 -0.206 1.00 0.00 BPTI ATOM 496 HE21 GLN 31 18.662 8.970 -1.056 0.00 0.00 BPTI ATOM 497 HE22 GLN 31 18.180 9.395 0.508 0.00 0.00 BPTI ATOM 498 C GLN 31 13.046 9.203 2.438 1.00 0.00 BPTI ATOM 499 O GLN 31 12.087 8.627 2.934 1.00 0.00 BPTI ATOM 500 N THR 32 12.932 10.340 1.745 1.00 0.00 BPTI ATOM 501 HN THR 32 13.771 10.716 1.413 0.00 0.00 BPTI ATOM 502 CA THR 32 11.652 10.995 1.530 1.00 0.00 BPTI ATOM 503 HA THR 32 10.864 10.720 2.254 0.00 0.00 BPTI ATOM 504 CB THR 32 11.753 12.550 1.526 1.00 0.00 BPTI ATOM 505 HB THR 32 10.824 13.052 1.175 0.00 0.00 BPTI ATOM 506 OG1 THR 32 12.796 13.089 0.693 1.00 0.00 BPTI ATOM 507 HG1 THR 32 12.894 14.033 1.044 0.00 0.00 BPTI ATOM 508 CG2 THR 32 11.914 12.992 3.024 1.00 0.00 BPTI ATOM 509 HG21 THR 32 11.875 14.101 3.225 0.00 0.00 BPTI ATOM 510 HG22 THR 32 10.946 12.624 3.416 0.00 0.00 BPTI ATOM 511 HG23 THR 32 12.679 12.412 3.556 0.00 0.00 BPTI ATOM 512 C THR 32 11.016 10.718 0.156 1.00 0.00 BPTI ATOM 513 O THR 32 11.717 10.716 -0.883 1.00 0.00 BPTI ATOM 514 N PHE 33 9.707 10.451 0.168 1.00 0.00 BPTI ATOM 515 HN PHE 33 9.220 10.265 1.030 0.00 0.00 BPTI ATOM 516 CA PHE 33 8.932 10.389 -1.052 1.00 0.00 BPTI ATOM 517 HA PHE 33 9.562 10.832 -1.874 0.00 0.00 BPTI ATOM 518 CB PHE 33 8.867 8.928 -1.521 1.00 0.00 BPTI ATOM 519 HB1 PHE 33 8.664 8.859 -2.650 0.00 0.00 BPTI ATOM 520 HB2 PHE 33 9.845 8.444 -1.282 0.00 0.00 BPTI ATOM 521 CG PHE 33 7.700 8.127 -0.941 1.00 0.00 BPTI ATOM 522 CD1 PHE 33 6.667 7.651 -1.752 1.00 0.00 BPTI ATOM 523 HD1 PHE 33 6.715 7.824 -2.808 0.00 0.00 BPTI ATOM 524 CE1 PHE 33 5.605 6.995 -1.155 1.00 0.00 BPTI ATOM 525 HE1 PHE 33 4.745 6.617 -1.725 0.00 0.00 BPTI ATOM 526 CZ PHE 33 5.561 6.803 0.205 1.00 0.00 BPTI ATOM 527 HZ PHE 33 4.796 6.125 0.632 0.00 0.00 BPTI ATOM 528 CD2 PHE 33 7.773 7.736 0.371 1.00 0.00 BPTI ATOM 529 HD2 PHE 33 8.518 8.044 1.063 0.00 0.00 BPTI ATOM 530 CE2 PHE 33 6.668 7.083 0.970 1.00 0.00 BPTI ATOM 531 HE2 PHE 33 6.761 6.761 2.057 0.00 0.00 BPTI ATOM 532 C PHE 33 7.686 11.293 -1.181 1.00 0.00 BPTI ATOM 533 O PHE 33 7.234 11.859 -0.179 1.00 0.00 BPTI ATOM 534 N VAL 34 7.161 11.426 -2.428 1.00 0.00 BPTI ATOM 535 HN VAL 34 7.540 10.995 -3.270 0.00 0.00 BPTI ATOM 536 CA VAL 34 5.752 12.006 -2.487 1.00 0.00 BPTI ATOM 537 HA VAL 34 5.538 12.564 -1.583 0.00 0.00 BPTI ATOM 538 CB VAL 34 5.656 12.857 -3.689 1.00 0.00 BPTI ATOM 539 HB VAL 34 5.941 12.198 -4.513 0.00 0.00 BPTI ATOM 540 CG1 VAL 34 4.221 13.294 -3.958 1.00 0.00 BPTI ATOM 541 HG11 VAL 34 4.134 13.729 -4.995 0.00 0.00 BPTI ATOM 542 HG12 VAL 34 3.438 12.461 -3.857 0.00 0.00 BPTI ATOM 543 HG13 VAL 34 3.925 14.044 -3.178 0.00 0.00 BPTI ATOM 544 CG2 VAL 34 6.642 14.023 -3.621 1.00 0.00 BPTI ATOM 545 HG21 VAL 34 6.659 14.663 -4.532 0.00 0.00 BPTI ATOM 546 HG22 VAL 34 6.391 14.778 -2.794 0.00 0.00 BPTI ATOM 547 HG23 VAL 34 7.626 13.721 -3.541 0.00 0.00 BPTI ATOM 548 C VAL 34 4.638 10.817 -2.523 1.00 0.00 BPTI ATOM 549 O VAL 34 4.680 9.912 -3.407 1.00 0.00 BPTI ATOM 550 N TYR 35 3.673 10.875 -1.599 1.00 0.00 BPTI ATOM 551 HN TYR 35 3.691 11.596 -0.877 0.00 0.00 BPTI ATOM 552 CA TYR 35 2.578 9.957 -1.538 1.00 0.00 BPTI ATOM 553 HA TYR 35 2.800 9.136 -2.148 0.00 0.00 BPTI ATOM 554 CB TYR 35 2.377 9.552 -0.043 1.00 0.00 BPTI ATOM 555 HB1 TYR 35 3.214 8.863 0.284 0.00 0.00 BPTI ATOM 556 HB2 TYR 35 2.363 10.438 0.669 0.00 0.00 BPTI ATOM 557 CG TYR 35 1.175 8.675 0.226 1.00 0.00 BPTI ATOM 558 CD1 TYR 35 0.980 7.574 -0.532 1.00 0.00 BPTI ATOM 559 HD1 TYR 35 1.686 7.248 -1.235 0.00 0.00 BPTI ATOM 560 CE1 TYR 35 -0.355 6.942 -0.505 1.00 0.00 BPTI ATOM 561 HE1 TYR 35 -0.451 5.998 -1.088 0.00 0.00 BPTI ATOM 562 CZ TYR 35 -1.384 7.444 0.347 1.00 0.00 BPTI ATOM 563 OH TYR 35 -2.581 6.922 0.660 1.00 0.00 BPTI ATOM 564 HH TYR 35 -2.876 7.375 1.444 0.00 0.00 BPTI ATOM 565 CD2 TYR 35 0.228 9.193 1.124 1.00 0.00 BPTI ATOM 566 HD2 TYR 35 0.377 10.133 1.725 0.00 0.00 BPTI ATOM 567 CE2 TYR 35 -1.018 8.535 1.112 1.00 0.00 BPTI ATOM 568 HE2 TYR 35 -1.724 8.940 1.829 0.00 0.00 BPTI ATOM 569 C TYR 35 1.368 10.666 -2.045 1.00 0.00 BPTI ATOM 570 O TYR 35 1.158 11.837 -1.809 1.00 0.00 BPTI ATOM 571 N GLY 36 0.495 9.955 -2.825 1.00 0.00 BPTI ATOM 572 HN GLY 36 0.727 9.061 -2.963 0.00 0.00 BPTI ATOM 573 CA GLY 36 -0.692 10.468 -3.463 1.00 0.00 BPTI ATOM 574 HA1 GLY 36 -1.032 9.772 -4.149 0.00 0.00 BPTI ATOM 575 HA2 GLY 36 -0.412 11.388 -3.982 0.00 0.00 BPTI ATOM 576 C GLY 36 -1.898 10.862 -2.611 1.00 0.00 BPTI ATOM 577 O GLY 36 -2.601 11.796 -3.000 1.00 0.00 BPTI ATOM 578 N GLY 37 -2.236 10.067 -1.615 1.00 0.00 BPTI ATOM 579 HN GLY 37 -1.607 9.324 -1.296 0.00 0.00 BPTI ATOM 580 CA GLY 37 -3.445 10.415 -0.810 1.00 0.00 BPTI ATOM 581 HA1 GLY 37 -4.026 11.154 -1.320 0.00 0.00 BPTI ATOM 582 HA2 GLY 37 -3.048 10.805 0.078 0.00 0.00 BPTI ATOM 583 C GLY 37 -4.386 9.280 -0.519 1.00 0.00 BPTI ATOM 584 O GLY 37 -4.982 9.266 0.511 1.00 0.00 BPTI ATOM 585 SG CYS 38 -6.244 7.792 -4.283 1.00 0.00 BPTI ATOM 586 CB CYS 38 -6.762 7.617 -2.490 1.00 0.00 BPTI ATOM 587 N CYS 38 -4.559 8.334 -1.514 1.00 0.00 BPTI ATOM 588 HN CYS 38 -4.110 8.486 -2.410 0.00 0.00 BPTI ATOM 589 CA CYS 38 -5.646 7.385 -1.444 1.00 0.00 BPTI ATOM 590 HA CYS 38 -6.065 7.431 -0.409 0.00 0.00 BPTI ATOM 591 HB1 CYS 38 -7.478 6.755 -2.577 0.00 0.00 BPTI ATOM 592 HB2 CYS 38 -7.304 8.534 -2.186 0.00 0.00 BPTI ATOM 593 C CYS 38 -5.092 5.980 -1.500 1.00 0.00 BPTI ATOM 594 O CYS 38 -4.654 5.418 -2.457 1.00 0.00 BPTI ATOM 595 N ARG 39 -5.247 5.263 -0.356 1.00 0.00 BPTI ATOM 596 HN ARG 39 -5.590 5.721 0.490 0.00 0.00 BPTI ATOM 597 CA ARG 39 -4.773 3.869 -0.171 1.00 0.00 BPTI ATOM 598 HA ARG 39 -5.041 3.603 0.815 0.00 0.00 BPTI ATOM 599 CB ARG 39 -5.485 2.792 -1.004 1.00 0.00 BPTI ATOM 600 HB1 ARG 39 -5.011 2.970 -1.957 0.00 0.00 BPTI ATOM 601 HB2 ARG 39 -5.187 1.783 -0.665 0.00 0.00 BPTI ATOM 602 CG ARG 39 -6.967 2.792 -1.050 1.00 0.00 BPTI ATOM 603 HG1 ARG 39 -7.502 2.896 -0.103 0.00 0.00 BPTI ATOM 604 HG2 ARG 39 -7.310 3.565 -1.778 0.00 0.00 BPTI ATOM 605 CD ARG 39 -7.349 1.409 -1.647 1.00 0.00 BPTI ATOM 606 HD1 ARG 39 -6.754 1.014 -2.544 0.00 0.00 BPTI ATOM 607 HD2 ARG 39 -7.115 0.575 -0.936 0.00 0.00 BPTI ATOM 608 NE ARG 39 -8.804 1.502 -1.948 1.00 0.00 BPTI ATOM 609 HE ARG 39 -9.505 1.565 -1.224 0.00 0.00 BPTI ATOM 610 CZ ARG 39 -9.237 1.589 -3.221 1.00 0.00 BPTI ATOM 611 NH1 ARG 39 -8.547 2.050 -4.239 1.00 0.00 BPTI ATOM 612 HH11 ARG 39 -9.015 2.575 -4.936 0.00 0.00 BPTI ATOM 613 HH12 ARG 39 -7.596 2.383 -4.232 0.00 0.00 BPTI ATOM 614 NH2 ARG 39 -10.508 1.313 -3.524 1.00 0.00 BPTI ATOM 615 HH21 ARG 39 -10.768 1.350 -4.499 0.00 0.00 BPTI ATOM 616 HH22 ARG 39 -10.991 0.940 -2.807 0.00 0.00 BPTI ATOM 617 C ARG 39 -3.280 3.511 -0.309 1.00 0.00 BPTI ATOM 618 O ARG 39 -2.758 3.342 -1.410 1.00 0.00 BPTI ATOM 619 N ALA 40 -2.594 3.349 0.879 1.00 0.00 BPTI ATOM 620 HN ALA 40 -3.155 3.478 1.641 0.00 0.00 BPTI ATOM 621 CA ALA 40 -1.155 3.015 0.868 1.00 0.00 BPTI ATOM 622 HA ALA 40 -0.646 3.580 0.035 0.00 0.00 BPTI ATOM 623 CB ALA 40 -0.420 3.632 2.152 1.00 0.00 BPTI ATOM 624 HB1 ALA 40 -0.330 4.744 2.046 0.00 0.00 BPTI ATOM 625 HB2 ALA 40 -1.211 3.470 2.915 0.00 0.00 BPTI ATOM 626 HB3 ALA 40 0.586 3.237 2.218 0.00 0.00 BPTI ATOM 627 C ALA 40 -0.766 1.580 0.648 1.00 0.00 BPTI ATOM 628 O ALA 40 -1.551 0.641 0.521 1.00 0.00 BPTI ATOM 629 N LYS 41 0.532 1.352 0.516 1.00 0.00 BPTI ATOM 630 HN LYS 41 1.231 2.106 0.571 0.00 0.00 BPTI ATOM 631 CA LYS 41 1.150 0.061 0.737 1.00 0.00 BPTI ATOM 632 HA LYS 41 0.406 -0.634 0.921 0.00 0.00 BPTI ATOM 633 CB LYS 41 1.951 -0.296 -0.493 1.00 0.00 BPTI ATOM 634 HB1 LYS 41 2.506 0.627 -0.804 0.00 0.00 BPTI ATOM 635 HB2 LYS 41 2.651 -1.113 -0.202 0.00 0.00 BPTI ATOM 636 CG LYS 41 1.092 -0.819 -1.644 1.00 0.00 BPTI ATOM 637 HG1 LYS 41 0.649 -1.780 -1.298 0.00 0.00 BPTI ATOM 638 HG2 LYS 41 0.281 -0.043 -1.874 0.00 0.00 BPTI ATOM 639 CD LYS 41 1.730 -1.128 -3.027 1.00 0.00 BPTI ATOM 640 HD1 LYS 41 0.871 -1.104 -3.722 0.00 0.00 BPTI ATOM 641 HD2 LYS 41 2.344 -0.318 -3.397 0.00 0.00 BPTI ATOM 642 CE LYS 41 2.396 -2.491 -3.167 1.00 0.00 BPTI ATOM 643 HE1 LYS 41 1.809 -3.443 -3.067 0.00 0.00 BPTI ATOM 644 HE2 LYS 41 2.780 -2.613 -4.147 0.00 0.00 BPTI ATOM 645 NZ LYS 41 3.520 -2.592 -2.297 1.00 0.00 BPTI ATOM 646 HZ1 LYS 41 4.012 -3.441 -2.581 0.00 0.00 BPTI ATOM 647 HZ2 LYS 41 4.109 -1.675 -2.504 0.00 0.00 BPTI ATOM 648 HZ3 LYS 41 3.245 -2.656 -1.281 0.00 0.00 BPTI ATOM 649 C LYS 41 2.028 0.237 2.067 1.00 0.00 BPTI ATOM 650 O LYS 41 2.172 1.359 2.603 1.00 0.00 BPTI ATOM 651 N ARG 42 2.591 -0.843 2.615 1.00 0.00 BPTI ATOM 652 HN ARG 42 2.395 -1.663 2.075 0.00 0.00 BPTI ATOM 653 CA ARG 42 3.331 -0.962 3.874 1.00 0.00 BPTI ATOM 654 HA ARG 42 2.645 -0.982 4.714 0.00 0.00 BPTI ATOM 655 CB ARG 42 3.953 -2.347 3.799 1.00 0.00 BPTI ATOM 656 HB1 ARG 42 4.307 -2.379 2.717 0.00 0.00 BPTI ATOM 657 HB2 ARG 42 4.781 -2.511 4.496 0.00 0.00 BPTI ATOM 658 CG ARG 42 2.996 -3.488 4.048 1.00 0.00 BPTI ATOM 659 HG1 ARG 42 2.029 -3.413 3.584 0.00 0.00 BPTI ATOM 660 HG2 ARG 42 3.530 -4.389 3.700 0.00 0.00 BPTI ATOM 661 CD ARG 42 2.785 -3.822 5.571 1.00 0.00 BPTI ATOM 662 HD1 ARG 42 3.701 -3.562 6.125 0.00 0.00 BPTI ATOM 663 HD2 ARG 42 2.011 -3.178 5.931 0.00 0.00 BPTI ATOM 664 NE ARG 42 2.517 -5.256 5.755 1.00 0.00 BPTI ATOM 665 HE ARG 42 2.704 -5.934 5.015 0.00 0.00 BPTI ATOM 666 CZ ARG 42 2.656 -5.837 6.948 1.00 0.00 BPTI ATOM 667 NH1 ARG 42 2.936 -7.147 6.971 1.00 0.00 BPTI ATOM 668 HH11 ARG 42 3.457 -7.481 7.768 0.00 0.00 BPTI ATOM 669 HH12 ARG 42 3.213 -7.504 6.085 0.00 0.00 BPTI ATOM 670 NH2 ARG 42 2.566 -5.282 8.139 1.00 0.00 BPTI ATOM 671 HH21 ARG 42 2.863 -5.753 8.941 0.00 0.00 BPTI ATOM 672 HH22 ARG 42 2.557 -4.329 8.201 0.00 0.00 BPTI ATOM 673 C ARG 42 4.465 -0.035 4.222 1.00 0.00 BPTI ATOM 674 O ARG 42 4.475 0.538 5.329 1.00 0.00 BPTI ATOM 675 N ASN 43 5.320 0.265 3.253 1.00 0.00 BPTI ATOM 676 HN ASN 43 5.165 -0.054 2.284 0.00 0.00 BPTI ATOM 677 CA ASN 43 6.555 1.006 3.440 1.00 0.00 BPTI ATOM 678 HA ASN 43 6.819 1.037 4.489 0.00 0.00 BPTI ATOM 679 CB ASN 43 7.682 0.528 2.484 1.00 0.00 BPTI ATOM 680 HB1 ASN 43 7.730 -0.624 2.442 0.00 0.00 BPTI ATOM 681 HB2 ASN 43 7.484 0.813 1.391 0.00 0.00 BPTI ATOM 682 CG ASN 43 9.013 1.052 2.921 1.00 0.00 BPTI ATOM 683 OD1 ASN 43 9.274 1.814 3.828 1.00 0.00 BPTI ATOM 684 ND2 ASN 43 10.088 0.629 2.283 1.00 0.00 BPTI ATOM 685 HD21 ASN 43 10.887 1.042 2.626 0.00 0.00 BPTI ATOM 686 HD22 ASN 43 10.040 0.346 1.332 0.00 0.00 BPTI ATOM 687 C ASN 43 6.122 2.497 3.275 1.00 0.00 BPTI ATOM 688 O ASN 43 6.552 3.137 2.332 1.00 0.00 BPTI ATOM 689 N ASN 44 5.228 3.045 4.179 1.00 0.00 BPTI ATOM 690 HN ASN 44 4.707 2.500 4.866 0.00 0.00 BPTI ATOM 691 CA ASN 44 4.786 4.456 4.175 1.00 0.00 BPTI ATOM 692 HA ASN 44 5.451 5.054 3.539 0.00 0.00 BPTI ATOM 693 CB ASN 44 3.314 4.445 3.738 1.00 0.00 BPTI ATOM 694 HB1 ASN 44 3.166 3.722 2.914 0.00 0.00 BPTI ATOM 695 HB2 ASN 44 2.615 4.118 4.522 0.00 0.00 BPTI ATOM 696 CG ASN 44 2.963 5.836 3.278 1.00 0.00 BPTI ATOM 697 OD1 ASN 44 3.101 6.779 4.118 1.00 0.00 BPTI ATOM 698 ND2 ASN 44 2.487 6.077 2.031 1.00 0.00 BPTI ATOM 699 HD21 ASN 44 2.121 6.959 1.820 0.00 0.00 BPTI ATOM 700 HD22 ASN 44 2.587 5.372 1.295 0.00 0.00 BPTI ATOM 701 C ASN 44 4.902 4.881 5.625 1.00 0.00 BPTI ATOM 702 O ASN 44 4.308 4.226 6.505 1.00 0.00 BPTI ATOM 703 N PHE 45 5.656 5.913 5.957 1.00 0.00 BPTI ATOM 704 HN PHE 45 6.106 6.377 5.199 0.00 0.00 BPTI ATOM 705 CA PHE 45 5.796 6.384 7.342 1.00 0.00 BPTI ATOM 706 HA PHE 45 5.025 5.909 7.929 0.00 0.00 BPTI ATOM 707 CB PHE 45 7.170 6.196 7.916 1.00 0.00 BPTI ATOM 708 HB1 PHE 45 7.848 6.624 7.183 0.00 0.00 BPTI ATOM 709 HB2 PHE 45 7.280 6.580 8.917 0.00 0.00 BPTI ATOM 710 CG PHE 45 7.276 4.740 7.956 1.00 0.00 BPTI ATOM 711 CD1 PHE 45 8.104 4.003 7.072 1.00 0.00 BPTI ATOM 712 HD1 PHE 45 8.551 4.559 6.315 0.00 0.00 BPTI ATOM 713 CE1 PHE 45 8.211 2.598 7.169 1.00 0.00 BPTI ATOM 714 HE1 PHE 45 8.907 2.066 6.453 0.00 0.00 BPTI ATOM 715 CZ PHE 45 7.609 1.954 8.304 1.00 0.00 BPTI ATOM 716 HZ PHE 45 7.695 0.861 8.409 0.00 0.00 BPTI ATOM 717 CD2 PHE 45 6.635 4.094 8.996 1.00 0.00 BPTI ATOM 718 HD2 PHE 45 6.053 4.650 9.703 0.00 0.00 BPTI ATOM 719 CE2 PHE 45 6.765 2.728 9.162 1.00 0.00 BPTI ATOM 720 HE2 PHE 45 6.327 2.314 10.037 0.00 0.00 BPTI ATOM 721 C PHE 45 5.468 7.820 7.234 1.00 0.00 BPTI ATOM 722 O PHE 45 5.506 8.511 6.153 1.00 0.00 BPTI ATOM 723 N LYS 46 5.028 8.426 8.384 1.00 0.00 BPTI ATOM 724 HN LYS 46 4.899 7.842 9.230 0.00 0.00 BPTI ATOM 725 CA LYS 46 4.622 9.813 8.584 1.00 0.00 BPTI ATOM 726 HA LYS 46 4.020 10.110 7.676 0.00 0.00 BPTI ATOM 727 CB LYS 46 3.719 10.048 9.909 1.00 0.00 BPTI ATOM 728 HB1 LYS 46 4.376 9.864 10.824 0.00 0.00 BPTI ATOM 729 HB2 LYS 46 3.404 11.134 9.932 0.00 0.00 BPTI ATOM 730 CG LYS 46 2.459 9.132 9.916 1.00 0.00 BPTI ATOM 731 HG1 LYS 46 1.731 9.412 9.137 0.00 0.00 BPTI ATOM 732 HG2 LYS 46 2.772 8.135 9.586 0.00 0.00 BPTI ATOM 733 CD LYS 46 1.778 9.115 11.345 1.00 0.00 BPTI ATOM 734 HD1 LYS 46 2.375 9.740 12.079 0.00 0.00 BPTI ATOM 735 HD2 LYS 46 0.802 9.583 11.205 0.00 0.00 BPTI ATOM 736 CE LYS 46 1.677 7.745 12.016 1.00 0.00 BPTI ATOM 737 HE1 LYS 46 1.066 7.868 12.958 0.00 0.00 BPTI ATOM 738 HE2 LYS 46 1.312 6.930 11.255 0.00 0.00 BPTI ATOM 739 NZ LYS 46 3.064 7.371 12.451 1.00 0.00 BPTI ATOM 740 HZ1 LYS 46 3.219 6.430 12.863 0.00 0.00 BPTI ATOM 741 HZ2 LYS 46 3.787 7.427 11.680 0.00 0.00 BPTI ATOM 742 HZ3 LYS 46 3.308 8.079 13.151 0.00 0.00 BPTI ATOM 743 C LYS 46 5.827 10.764 8.465 1.00 0.00 BPTI ATOM 744 O LYS 46 5.934 11.614 7.545 1.00 0.00 BPTI ATOM 745 N SER 47 6.736 10.656 9.505 1.00 0.00 BPTI ATOM 746 HN SER 47 6.522 10.021 10.230 0.00 0.00 BPTI ATOM 747 CA SER 47 7.905 11.480 9.720 1.00 0.00 BPTI ATOM 748 HA SER 47 8.049 12.214 8.881 0.00 0.00 BPTI ATOM 749 CB SER 47 7.616 12.321 11.002 1.00 0.00 BPTI ATOM 750 HB1 SER 47 8.549 12.856 11.344 0.00 0.00 BPTI ATOM 751 HB2 SER 47 6.831 13.145 10.873 0.00 0.00 BPTI ATOM 752 OG SER 47 7.218 11.485 12.083 1.00 0.00 BPTI ATOM 753 HG1 SER 47 8.048 11.220 12.549 0.00 0.00 BPTI ATOM 754 C SER 47 9.123 10.637 9.869 1.00 0.00 BPTI ATOM 755 O SER 47 9.115 9.405 9.845 1.00 0.00 BPTI ATOM 756 N ALA 48 10.354 11.219 10.023 1.00 0.00 BPTI ATOM 757 HN ALA 48 10.317 12.205 10.111 0.00 0.00 BPTI ATOM 758 CA ALA 48 11.652 10.449 9.981 1.00 0.00 BPTI ATOM 759 HA ALA 48 11.773 9.869 9.034 0.00 0.00 BPTI ATOM 760 CB ALA 48 12.756 11.532 10.139 1.00 0.00 BPTI ATOM 761 HB1 ALA 48 12.451 12.270 9.333 0.00 0.00 BPTI ATOM 762 HB2 ALA 48 12.900 11.934 11.164 0.00 0.00 BPTI ATOM 763 HB3 ALA 48 13.733 11.162 9.749 0.00 0.00 BPTI ATOM 764 C ALA 48 11.940 9.375 11.076 1.00 0.00 BPTI ATOM 765 O ALA 48 12.403 8.275 10.723 1.00 0.00 BPTI ATOM 766 N GLU 49 11.568 9.586 12.337 1.00 0.00 BPTI ATOM 767 HN GLU 49 11.046 10.432 12.614 0.00 0.00 BPTI ATOM 768 CA GLU 49 11.857 8.646 13.398 1.00 0.00 BPTI ATOM 769 HA GLU 49 12.849 8.226 13.173 0.00 0.00 BPTI ATOM 770 CB GLU 49 11.936 9.293 14.764 1.00 0.00 BPTI ATOM 771 HB1 GLU 49 11.503 8.578 15.500 0.00 0.00 BPTI ATOM 772 HB2 GLU 49 12.988 9.357 14.948 0.00 0.00 BPTI ATOM 773 CG GLU 49 11.429 10.704 14.900 1.00 0.00 BPTI ATOM 774 HG1 GLU 49 11.620 11.089 15.866 0.00 0.00 BPTI ATOM 775 HG2 GLU 49 11.889 11.420 14.242 0.00 0.00 BPTI ATOM 776 CD GLU 49 9.893 10.848 14.606 1.00 0.00 BPTI ATOM 777 OE1 GLU 49 9.553 11.341 13.519 1.00 0.00 BPTI ATOM 778 OE2 GLU 49 9.125 10.557 15.526 1.00 0.00 BPTI ATOM 779 C GLU 49 10.835 7.488 13.362 1.00 0.00 BPTI ATOM 780 O GLU 49 11.034 6.460 13.918 1.00 0.00 BPTI ATOM 781 N ASP 50 9.675 7.716 12.716 1.00 0.00 BPTI ATOM 782 HN ASP 50 9.554 8.552 12.156 0.00 0.00 BPTI ATOM 783 CA ASP 50 8.591 6.752 12.476 1.00 0.00 BPTI ATOM 784 HA ASP 50 8.255 6.294 13.378 0.00 0.00 BPTI ATOM 785 CB ASP 50 7.401 7.547 11.950 1.00 0.00 BPTI ATOM 786 HB1 ASP 50 7.198 8.384 12.636 0.00 0.00 BPTI ATOM 787 HB2 ASP 50 7.681 7.950 10.957 0.00 0.00 BPTI ATOM 788 CG ASP 50 6.050 6.791 11.781 1.00 0.00 BPTI ATOM 789 OD1 ASP 50 5.216 7.221 10.960 1.00 0.00 BPTI ATOM 790 OD2 ASP 50 5.873 5.688 12.327 1.00 0.00 BPTI ATOM 791 C ASP 50 9.076 5.471 11.652 1.00 0.00 BPTI ATOM 792 O ASP 50 8.965 4.335 12.140 1.00 0.00 BPTI ATOM 793 SG CYS 51 12.149 4.649 7.440 1.00 0.00 BPTI ATOM 794 CB CYS 51 11.206 5.717 8.507 1.00 0.00 BPTI ATOM 795 N CYS 51 9.775 5.801 10.506 1.00 0.00 BPTI ATOM 796 HN CYS 51 9.747 6.716 10.262 0.00 0.00 BPTI ATOM 797 CA CYS 51 10.628 4.954 9.734 1.00 0.00 BPTI ATOM 798 HA CYS 51 10.046 4.104 9.578 0.00 0.00 BPTI ATOM 799 HB1 CYS 51 10.318 6.074 7.941 0.00 0.00 BPTI ATOM 800 HB2 CYS 51 11.740 6.600 8.790 0.00 0.00 BPTI ATOM 801 C CYS 51 11.760 4.359 10.527 1.00 0.00 BPTI ATOM 802 O CYS 51 11.925 3.143 10.456 1.00 0.00 BPTI ATOM 803 N MET 52 12.663 5.091 11.182 1.00 0.00 BPTI ATOM 804 HN MET 52 12.665 6.084 11.077 0.00 0.00 BPTI ATOM 805 CA MET 52 13.825 4.597 11.867 1.00 0.00 BPTI ATOM 806 HA MET 52 14.375 4.074 11.130 0.00 0.00 BPTI ATOM 807 CB MET 52 14.675 5.656 12.502 1.00 0.00 BPTI ATOM 808 HB1 MET 52 13.978 6.248 13.144 0.00 0.00 BPTI ATOM 809 HB2 MET 52 15.552 5.271 13.089 0.00 0.00 BPTI ATOM 810 CG MET 52 15.454 6.565 11.521 1.00 0.00 BPTI ATOM 811 HG1 MET 52 14.691 7.015 10.883 0.00 0.00 BPTI ATOM 812 HG2 MET 52 16.039 7.350 12.103 0.00 0.00 BPTI ATOM 813 SD MET 52 16.687 5.676 10.442 1.00 0.00 BPTI ATOM 814 CE MET 52 17.802 7.114 10.315 1.00 0.00 BPTI ATOM 815 HE1 MET 52 18.576 7.055 9.537 0.00 0.00 BPTI ATOM 816 HE2 MET 52 17.236 8.010 10.096 0.00 0.00 BPTI ATOM 817 HE3 MET 52 18.379 7.270 11.236 0.00 0.00 BPTI ATOM 818 C MET 52 13.516 3.485 12.889 1.00 0.00 BPTI ATOM 819 O MET 52 14.375 2.626 13.188 1.00 0.00 BPTI ATOM 820 N ARG 53 12.368 3.592 13.590 1.00 0.00 BPTI ATOM 821 HN ARG 53 11.749 4.439 13.459 0.00 0.00 BPTI ATOM 822 CA ARG 53 11.776 2.585 14.467 1.00 0.00 BPTI ATOM 823 HA ARG 53 12.432 2.258 15.348 0.00 0.00 BPTI ATOM 824 CB ARG 53 10.488 3.045 15.238 1.00 0.00 BPTI ATOM 825 HB1 ARG 53 9.767 3.349 14.440 0.00 0.00 BPTI ATOM 826 HB2 ARG 53 10.093 2.151 15.845 0.00 0.00 BPTI ATOM 827 CG ARG 53 10.560 4.133 16.271 1.00 0.00 BPTI ATOM 828 HG1 ARG 53 11.394 4.057 17.045 0.00 0.00 BPTI ATOM 829 HG2 ARG 53 10.690 5.071 15.634 0.00 0.00 BPTI ATOM 830 CD ARG 53 9.274 4.120 17.062 1.00 0.00 BPTI ATOM 831 HD1 ARG 53 8.358 3.844 16.490 0.00 0.00 BPTI ATOM 832 HD2 ARG 53 9.211 3.365 17.882 0.00 0.00 BPTI ATOM 833 NE ARG 53 9.111 5.586 17.380 1.00 0.00 BPTI ATOM 834 HE ARG 53 9.684 6.131 17.990 0.00 0.00 BPTI ATOM 835 CZ ARG 53 8.355 6.438 16.707 1.00 0.00 BPTI ATOM 836 NH1 ARG 53 8.489 7.782 16.943 1.00 0.00 BPTI ATOM 837 HH11 ARG 53 7.905 8.405 16.459 0.00 0.00 BPTI ATOM 838 HH12 ARG 53 9.315 8.040 17.418 0.00 0.00 BPTI ATOM 839 NH2 ARG 53 7.330 6.154 15.869 1.00 0.00 BPTI ATOM 840 HH21 ARG 53 6.833 6.898 15.422 0.00 0.00 BPTI ATOM 841 HH22 ARG 53 7.207 5.254 15.516 0.00 0.00 BPTI ATOM 842 C ARG 53 11.317 1.223 13.801 1.00 0.00 BPTI ATOM 843 O ARG 53 11.707 0.170 14.198 1.00 0.00 BPTI ATOM 844 N THR 54 10.386 1.319 12.860 1.00 0.00 BPTI ATOM 845 HN THR 54 10.062 2.276 12.743 0.00 0.00 BPTI ATOM 846 CA THR 54 9.670 0.253 12.166 1.00 0.00 BPTI ATOM 847 HA THR 54 9.176 -0.366 12.876 0.00 0.00 BPTI ATOM 848 CB THR 54 8.604 0.807 11.306 1.00 0.00 BPTI ATOM 849 HB THR 54 9.008 1.377 10.436 0.00 0.00 BPTI ATOM 850 OG1 THR 54 7.793 1.680 12.057 1.00 0.00 BPTI ATOM 851 HG1 THR 54 8.213 2.535 12.047 0.00 0.00 BPTI ATOM 852 CG2 THR 54 7.720 -0.374 10.911 1.00 0.00 BPTI ATOM 853 HG21 THR 54 6.864 -0.121 10.263 0.00 0.00 BPTI ATOM 854 HG22 THR 54 8.247 -1.206 10.338 0.00 0.00 BPTI ATOM 855 HG23 THR 54 7.325 -0.931 11.843 0.00 0.00 BPTI ATOM 856 C THR 54 10.608 -0.591 11.295 1.00 0.00 BPTI ATOM 857 O THR 54 10.750 -1.845 11.240 1.00 0.00 BPTI ATOM 858 SG CYS 55 10.354 -0.079 7.572 1.00 0.00 BPTI ATOM 859 CB CYS 55 11.962 0.185 8.189 1.00 0.00 BPTI ATOM 860 N CYS 55 11.510 0.100 10.582 1.00 0.00 BPTI ATOM 861 HN CYS 55 11.492 1.093 10.621 0.00 0.00 BPTI ATOM 862 CA CYS 55 12.290 -0.448 9.511 1.00 0.00 BPTI ATOM 863 HA CYS 55 12.073 -1.493 9.316 0.00 0.00 BPTI ATOM 864 HB1 CYS 55 12.264 1.271 8.339 0.00 0.00 BPTI ATOM 865 HB2 CYS 55 12.660 -0.327 7.497 0.00 0.00 BPTI ATOM 866 C CYS 55 13.766 -0.170 9.582 1.00 0.00 BPTI ATOM 867 O CYS 55 14.497 -0.790 8.762 1.00 0.00 BPTI ATOM 868 N GLY 56 14.249 0.741 10.503 1.00 0.00 BPTI ATOM 869 HN GLY 56 13.641 1.197 11.175 0.00 0.00 BPTI ATOM 870 CA GLY 56 15.646 1.147 10.541 1.00 0.00 BPTI ATOM 871 HA1 GLY 56 15.778 1.933 11.263 0.00 0.00 BPTI ATOM 872 HA2 GLY 56 15.832 1.554 9.595 0.00 0.00 BPTI ATOM 873 C GLY 56 16.668 0.096 10.738 1.00 0.00 BPTI ATOM 874 O GLY 56 17.565 -0.049 9.879 1.00 0.00 BPTI ATOM 875 C GLY 57 17.095 -3.034 12.061 0.00 0.00 BPTI ATOM 876 OT1 GLY 57 18.095 -3.799 11.945 0.00 0.00 BPTI ATOM 877 OT2 GLY 57 15.912 -3.370 12.076 0.00 0.00 BPTI ATOM 878 N GLY 57 16.587 -0.603 11.819 1.00 0.00 BPTI ATOM 879 HN GLY 57 15.900 -0.450 12.575 0.00 0.00 BPTI ATOM 880 CA GLY 57 17.574 -1.582 12.325 0.00 0.00 BPTI ATOM 881 HA1 GLY 57 17.757 -1.439 13.364 0.00 0.00 BPTI ATOM 882 HA2 GLY 57 18.466 -1.396 11.720 0.00 0.00 BPTI ATOM 883 OH2 TIP3 103 14.512 0.008 13.724 1.00 0.00 SOLV ATOM 884 H1 TIP3 103 14.695 0.956 13.531 0.00 0.00 SOLV ATOM 885 H2 TIP3 103 13.602 0.083 14.052 0.00 0.00 SOLV ATOM 886 OH2 TIP3 105 11.548 -3.843 13.185 1.00 0.00 SOLV ATOM 887 H1 TIP3 105 12.360 -3.313 13.434 0.00 0.00 SOLV ATOM 888 H2 TIP3 105 11.021 -3.050 12.941 0.00 0.00 SOLV ATOM 889 OH2 TIP3 108 3.194 -0.159 7.554 1.00 0.00 SOLV ATOM 890 H1 TIP3 108 3.755 -0.038 6.803 0.00 0.00 SOLV ATOM 891 H2 TIP3 108 3.212 0.766 7.912 0.00 0.00 SOLV ATOM 892 OH2 TIP3 110 2.501 -3.286 0.560 1.00 0.00 SOLV ATOM 893 H1 TIP3 110 2.322 -4.170 0.982 0.00 0.00 SOLV ATOM 894 H2 TIP3 110 3.442 -3.290 0.546 0.00 0.00 SOLV ATOM 895 OH2 TIP3 111 5.569 -0.879 -3.322 1.00 0.00 SOLV ATOM 896 H1 TIP3 111 6.330 -0.257 -3.094 0.00 0.00 SOLV ATOM 897 H2 TIP3 111 5.725 -1.103 -4.254 0.00 0.00 SOLV ATOM 898 OH2 TIP3 112 5.102 2.789 0.003 1.00 0.00 SOLV ATOM 899 H1 TIP3 112 5.289 1.832 0.084 0.00 0.00 SOLV ATOM 900 H2 TIP3 112 5.590 3.092 0.823 0.00 0.00 SOLV ATOM 901 OH2 TIP3 113 2.645 4.187 0.035 1.00 0.00 SOLV ATOM 902 H1 TIP3 113 3.520 3.746 0.137 0.00 0.00 SOLV ATOM 903 H2 TIP3 113 2.635 4.526 -0.859 0.00 0.00 SOLV ATOM 904 OH2 TIP3 115 10.463 9.752 17.703 1.00 0.00 SOLV ATOM 905 H1 TIP3 115 11.221 10.309 17.484 0.00 0.00 SOLV ATOM 906 H2 TIP3 115 9.888 9.947 16.964 0.00 0.00 SOLV ATOM 907 OH2 TIP3 121 1.479 13.156 -5.538 1.00 0.00 SOLV ATOM 908 H1 TIP3 121 1.184 14.086 -5.572 0.00 0.00 SOLV ATOM 909 H2 TIP3 121 1.261 12.970 -4.613 0.00 0.00 SOLV ATOM 910 OH2 TIP3 122 -2.898 7.605 -3.853 1.00 0.00 SOLV ATOM 911 H1 TIP3 122 -1.994 7.667 -3.504 0.00 0.00 SOLV ATOM 912 H2 TIP3 122 -3.304 6.950 -3.286 0.00 0.00 SOLV ATOM 913 OH2 TIP3 126 20.014 -4.030 10.327 1.00 0.00 SOLV ATOM 914 H1 TIP3 126 19.241 -3.863 10.938 0.00 0.00 SOLV ATOM 915 H2 TIP3 126 20.767 -4.006 10.896 0.00 0.00 SOLV ATOM 916 OH2 TIP3 129 3.120 13.268 6.383 1.00 0.00 SOLV ATOM 917 H1 TIP3 129 3.582 13.758 7.102 0.00 0.00 SOLV ATOM 918 H2 TIP3 129 3.811 13.349 5.689 0.00 0.00 SOLV ATOM 919 OH2 TIP3 130 16.593 -0.148 -1.505 1.00 0.00 SOLV ATOM 920 H1 TIP3 130 15.721 -0.595 -1.742 0.00 0.00 SOLV ATOM 921 H2 TIP3 130 16.400 0.794 -1.390 0.00 0.00 SOLV ATOM 922 OH2 TIP3 134 -4.207 7.943 2.696 1.00 0.00 SOLV ATOM 923 H1 TIP3 134 -4.881 7.280 2.763 0.00 0.00 SOLV ATOM 924 H2 TIP3 134 -4.452 8.561 1.970 0.00 0.00 SOLV ATOM 925 OH2 TIP3 138 3.618 4.538 12.438 1.00 0.00 SOLV ATOM 926 H1 TIP3 138 3.541 3.853 11.788 0.00 0.00 SOLV ATOM 927 H2 TIP3 138 4.500 4.922 12.217 0.00 0.00 SOLV ATOM 928 OH2 TIP3 143 14.081 -0.440 0.957 1.00 0.00 SOLV ATOM 929 H1 TIP3 143 13.728 0.377 1.344 0.00 0.00 SOLV ATOM 930 H2 TIP3 143 13.638 -1.163 1.472 0.00 0.00 SOLV ATOM 931 OH2 TIP3 144 24.310 4.704 -1.229 1.00 0.00 SOLV ATOM 932 H1 TIP3 144 24.589 5.216 -0.460 0.00 0.00 SOLV ATOM 933 H2 TIP3 144 24.622 3.841 -0.872 0.00 0.00 SOLV ATOM 934 OH2 TIP3 149 15.357 8.022 -3.165 1.00 0.00 SOLV ATOM 935 H1 TIP3 149 15.899 7.728 -2.456 0.00 0.00 SOLV ATOM 936 H2 TIP3 149 15.113 8.852 -2.774 0.00 0.00 SOLV ATOM 937 OH2 TIP3 151 4.573 -9.360 5.053 1.00 0.00 SOLV ATOM 938 H1 TIP3 151 4.623 -10.299 4.926 0.00 0.00 SOLV ATOM 939 H2 TIP3 151 5.515 -9.119 4.829 0.00 0.00 SOLV ATOM 940 OH2 TIP3 152 13.407 0.928 -3.009 1.00 0.00 SOLV ATOM 941 H1 TIP3 152 13.937 1.640 -2.617 0.00 0.00 SOLV ATOM 942 H2 TIP3 152 13.489 0.202 -2.306 0.00 0.00 SOLV ATOM 943 OH2 TIP3 153 6.779 3.873 14.272 1.00 0.00 SOLV ATOM 944 H1 TIP3 153 6.759 2.935 14.003 0.00 0.00 SOLV ATOM 945 H2 TIP3 153 6.334 4.351 13.571 0.00 0.00 SOLV ATOM 946 OH2 TIP3 156 -0.292 9.478 -8.393 1.00 0.00 SOLV ATOM 947 H1 TIP3 156 -0.795 9.781 -7.596 0.00 0.00 SOLV ATOM 948 H2 TIP3 156 -0.060 8.580 -8.126 0.00 0.00 SOLV ATOM 949 OH2 TIP3 157 -6.739 6.556 2.501 1.00 0.00 SOLV ATOM 950 H1 TIP3 157 -7.310 6.064 3.050 0.00 0.00 SOLV ATOM 951 H2 TIP3 157 -7.293 7.269 2.289 0.00 0.00 SOLV ATOM 952 OH2 TIP3 158 2.564 4.160 -7.021 1.00 0.00 SOLV ATOM 953 H1 TIP3 158 2.330 3.975 -7.884 0.00 0.00 SOLV ATOM 954 H2 TIP3 158 3.131 3.431 -6.722 0.00 0.00 SOLV ATOM 955 OH2 TIP3 159 5.066 11.080 13.581 1.00 0.00 SOLV ATOM 956 H1 TIP3 159 5.684 11.271 12.836 0.00 0.00 SOLV ATOM 957 H2 TIP3 159 5.510 11.597 14.278 0.00 0.00 SOLV ATOM 958 OH2 TIP3 160 4.532 -5.212 -2.946 1.00 0.00 SOLV ATOM 959 H1 TIP3 160 4.720 -5.299 -2.001 0.00 0.00 SOLV ATOM 960 H2 TIP3 160 5.055 -5.952 -3.252 0.00 0.00 SOLV ATOM 961 OH2 TIP3 201 4.256 -6.466 1.686 1.00 0.00 SOLV ATOM 962 H1 TIP3 201 5.002 -7.020 1.565 0.00 0.00 SOLV ATOM 963 H2 TIP3 201 4.402 -5.852 0.978 0.00 0.00 SOLV ATOM 964 OH2 TIP3 202 5.067 -0.132 0.154 1.00 0.00 SOLV ATOM 965 H1 TIP3 202 4.971 -1.105 0.302 0.00 0.00 SOLV ATOM 966 H2 TIP3 202 5.680 0.012 -0.568 0.00 0.00 SOLV ATOM 967 OH2 TIP3 203 7.156 9.565 -5.272 1.00 0.00 SOLV ATOM 968 H1 TIP3 203 7.368 8.837 -5.820 0.00 0.00 SOLV ATOM 969 H2 TIP3 203 6.199 9.575 -5.276 0.00 0.00 SOLV ATOM 970 OH2 TIP3 204 5.025 2.449 -7.171 1.00 0.00 SOLV ATOM 971 H1 TIP3 204 5.785 2.432 -6.592 0.00 0.00 SOLV ATOM 972 H2 TIP3 204 5.409 2.004 -7.944 0.00 0.00 SOLV ATOM 973 OH2 TIP3 205 3.232 -7.348 4.056 1.00 0.00 SOLV ATOM 974 H1 TIP3 205 3.521 -7.104 3.188 0.00 0.00 SOLV ATOM 975 H2 TIP3 205 3.700 -8.172 4.167 0.00 0.00 SOLV ATOM 976 OH2 TIP3 206 1.233 19.760 -7.136 1.00 0.00 SOLV ATOM 977 H1 TIP3 206 0.362 19.214 -7.051 0.00 0.00 SOLV ATOM 978 H2 TIP3 206 0.953 20.318 -7.828 0.00 0.00 SOLV ATOM 979 OH2 TIP3 207 15.161 11.682 0.166 1.00 0.00 SOLV ATOM 980 H1 TIP3 207 15.095 11.275 -0.747 0.00 0.00 SOLV ATOM 981 H2 TIP3 207 14.305 12.009 0.312 0.00 0.00 SOLV ATOM 982 OH2 TIP3 208 15.147 1.753 -4.989 1.00 0.00 SOLV ATOM 983 H1 TIP3 208 14.421 1.382 -4.397 0.00 0.00 SOLV ATOM 984 H2 TIP3 208 15.879 1.121 -4.889 0.00 0.00 SOLV ATOM 985 OH2 TIP3 209 17.462 11.075 1.726 1.00 0.00 SOLV ATOM 986 H1 TIP3 209 16.658 11.466 1.412 0.00 0.00 SOLV ATOM 987 H2 TIP3 209 17.867 11.844 2.144 0.00 0.00 SOLV ATOM 988 OH2 TIP3 210 3.805 8.964 14.469 1.00 0.00 SOLV ATOM 989 H1 TIP3 210 4.105 9.791 13.997 0.00 0.00 SOLV ATOM 990 H2 TIP3 210 4.009 9.195 15.343 0.00 0.00 SOLV ATOM 991 OH2 TIP3 211 14.406 10.423 -2.093 1.00 0.00 SOLV ATOM 992 H1 TIP3 211 13.527 10.338 -1.767 0.00 0.00 SOLV ATOM 993 H2 TIP3 211 14.215 10.812 -2.991 0.00 0.00 SOLV ATOM 994 OH2 TIP3 212 4.653 14.488 8.359 1.00 0.00 SOLV ATOM 995 H1 TIP3 212 4.762 15.289 8.918 0.00 0.00 SOLV ATOM 996 H2 TIP3 212 5.490 14.451 7.880 0.00 0.00 SOLV ATOM 997 OH2 TIP3 213 0.382 12.604 6.722 1.00 0.00 SOLV ATOM 998 H1 TIP3 213 -0.238 13.264 7.089 0.00 0.00 SOLV ATOM 999 H2 TIP3 213 1.281 13.028 6.839 0.00 0.00 SOLV ATOM 1000 OH2 TIP3 214 0.741 11.150 -10.201 1.00 0.00 SOLV ATOM 1001 H1 TIP3 214 1.663 11.446 -10.043 0.00 0.00 SOLV ATOM 1002 H2 TIP3 214 0.667 10.466 -9.518 0.00 0.00 SOLV ATOM 1003 OH2 TIP3 215 10.027 13.898 13.313 1.00 0.00 SOLV ATOM 1004 H1 TIP3 215 9.667 12.962 13.492 0.00 0.00 SOLV ATOM 1005 H2 TIP3 215 9.666 14.438 14.007 0.00 0.00 SOLV ATOM 1006 OH2 TIP3 216 18.944 6.956 4.017 1.00 0.00 SOLV ATOM 1007 H1 TIP3 216 19.209 7.708 3.559 0.00 0.00 SOLV ATOM 1008 H2 TIP3 216 18.075 7.266 4.213 0.00 0.00 SOLV ATOM 1009 OH2 TIP3 217 -1.961 7.770 4.764 1.00 0.00 SOLV ATOM 1010 H1 TIP3 217 -2.539 7.284 5.335 0.00 0.00 SOLV ATOM 1011 H2 TIP3 217 -2.580 7.958 4.019 0.00 0.00 SOLV ATOM 1012 OH2 TIP3 218 -1.190 18.455 -6.820 1.00 0.00 SOLV ATOM 1013 H1 TIP3 218 -1.154 17.501 -6.806 0.00 0.00 SOLV ATOM 1014 H2 TIP3 218 -2.021 18.733 -6.522 0.00 0.00 SOLV ATOM 1015 OH2 TIP3 219 -7.892 5.062 5.044 1.00 0.00 SOLV ATOM 1016 H1 TIP3 219 -8.035 5.840 5.603 0.00 0.00 SOLV ATOM 1017 H2 TIP3 219 -7.887 4.440 5.743 0.00 0.00 SOLV ATOM 1018 OH2 TIP3 220 14.630 6.392 -5.105 1.00 0.00 SOLV ATOM 1019 H1 TIP3 220 14.511 7.178 -5.694 0.00 0.00 SOLV ATOM 1020 H2 TIP3 220 14.981 6.849 -4.277 0.00 0.00 SOLV ATOM 1021 OH2 TIP3 221 6.920 9.157 14.934 1.00 0.00 SOLV ATOM 1022 H1 TIP3 221 6.424 9.618 14.226 0.00 0.00 SOLV ATOM 1023 H2 TIP3 221 7.786 9.625 14.855 0.00 0.00 SOLV ATOM 1024 OH2 TIP3 222 13.778 -1.443 -1.692 1.00 0.00 SOLV ATOM 1025 H1 TIP3 222 14.082 -1.058 -0.821 0.00 0.00 SOLV ATOM 1026 H2 TIP3 222 13.203 -2.219 -1.467 0.00 0.00 SOLV ATOM 1027 OH2 TIP3 223 24.791 2.414 0.659 1.00 0.00 SOLV ATOM 1028 H1 TIP3 223 24.685 2.773 1.579 0.00 0.00 SOLV ATOM 1029 H2 TIP3 223 23.833 2.115 0.590 0.00 0.00 SOLV ATOM 1030 OH2 TIP3 224 16.694 4.372 -4.623 1.00 0.00 SOLV ATOM 1031 H1 TIP3 224 16.170 3.656 -5.004 0.00 0.00 SOLV ATOM 1032 H2 TIP3 224 16.237 5.195 -4.917 0.00 0.00 SOLV ATOM 1033 OH2 TIP3 225 6.305 -7.964 1.999 1.00 0.00 SOLV ATOM 1034 H1 TIP3 225 7.014 -8.357 1.481 0.00 0.00 SOLV ATOM 1035 H2 TIP3 225 6.597 -8.110 2.932 0.00 0.00 SOLV ATOM 1036 OH2 TIP3 226 3.379 13.495 -7.467 1.00 0.00 SOLV ATOM 1037 H1 TIP3 226 3.725 12.664 -7.575 0.00 0.00 SOLV ATOM 1038 H2 TIP3 226 2.686 13.398 -6.778 0.00 0.00 SOLV ATOM 1039 OH2 TIP3 227 3.096 16.213 -8.114 1.00 0.00 SOLV ATOM 1040 H1 TIP3 227 2.757 16.084 -9.020 0.00 0.00 SOLV ATOM 1041 H2 TIP3 227 3.380 15.256 -7.815 0.00 0.00 SOLV ATOM 1042 OH2 TIP3 228 13.095 -6.182 13.916 1.00 0.00 SOLV ATOM 1043 H1 TIP3 228 12.257 -5.655 13.991 0.00 0.00 SOLV ATOM 1044 H2 TIP3 228 13.154 -6.531 14.805 0.00 0.00 SOLV ATOM 1045 OH2 TIP3 229 6.981 12.138 15.953 1.00 0.00 SOLV ATOM 1046 H1 TIP3 229 7.096 12.178 16.882 0.00 0.00 SOLV ATOM 1047 H2 TIP3 229 7.844 11.657 15.746 0.00 0.00 SOLV ATOM 1048 OH2 TIP3 230 -1.303 8.802 -13.265 1.00 0.00 SOLV ATOM 1049 H1 TIP3 230 -0.485 9.052 -13.751 0.00 0.00 SOLV ATOM 1050 H2 TIP3 230 -1.457 7.895 -13.648 0.00 0.00 SOLV ATOM 1051 OH2 TIP3 231 10.773 14.572 10.415 1.00 0.00 SOLV ATOM 1052 H1 TIP3 231 11.719 14.924 10.248 0.00 0.00 SOLV ATOM 1053 H2 TIP3 231 10.610 14.538 11.362 0.00 0.00 SOLV ATOM 1054 OH2 TIP3 232 10.866 7.203 19.003 1.00 0.00 SOLV ATOM 1055 H1 TIP3 232 10.849 8.123 18.686 0.00 0.00 SOLV ATOM 1056 H2 TIP3 232 11.047 7.258 19.981 0.00 0.00 SOLV ATOM 1057 OH2 TIP3 233 24.315 5.260 -4.007 1.00 0.00 SOLV ATOM 1058 H1 TIP3 233 24.112 5.911 -3.358 0.00 0.00 SOLV ATOM 1059 H2 TIP3 233 25.009 5.658 -4.572 0.00 0.00 SOLV ATOM 1060 OH2 TIP3 234 24.932 1.139 -1.861 1.00 0.00 SOLV ATOM 1061 H1 TIP3 234 25.286 0.254 -1.657 0.00 0.00 SOLV ATOM 1062 H2 TIP3 234 25.035 1.627 -0.968 0.00 0.00 SOLV ATOM 1063 OH2 TIP3 235 -2.734 -0.503 -1.841 1.00 0.00 SOLV ATOM 1064 H1 TIP3 235 -2.438 -0.321 -0.956 0.00 0.00 SOLV ATOM 1065 H2 TIP3 235 -2.249 -1.290 -2.133 0.00 0.00 SOLV ATOM 1066 OH2 TIP3 236 -1.685 18.375 -1.158 1.00 0.00 SOLV ATOM 1067 H1 TIP3 236 -2.542 18.553 -0.841 0.00 0.00 SOLV ATOM 1068 H2 TIP3 236 -1.171 18.984 -0.599 0.00 0.00 SOLV ATOM 1069 OH2 TIP3 237 17.088 -6.016 11.148 1.00 0.00 SOLV ATOM 1070 H1 TIP3 237 17.258 -5.030 11.507 0.00 0.00 SOLV ATOM 1071 H2 TIP3 237 17.448 -6.557 11.832 0.00 0.00 SOLV ATOM 1072 OH2 TIP3 238 3.220 2.314 8.493 1.00 0.00 SOLV ATOM 1073 H1 TIP3 238 2.264 2.473 8.325 0.00 0.00 SOLV ATOM 1074 H2 TIP3 238 3.689 3.001 8.007 0.00 0.00 SOLV ATOM 1075 OH2 TIP3 239 2.476 -2.399 8.879 1.00 0.00 SOLV ATOM 1076 H1 TIP3 239 2.032 -2.100 9.683 0.00 0.00 SOLV ATOM 1077 H2 TIP3 239 2.728 -1.544 8.468 0.00 0.00 SOLV ATOM 1078 OH2 TIP3 240 5.519 -8.622 8.026 1.00 0.00 SOLV ATOM 1079 H1 TIP3 240 6.381 -8.835 7.663 0.00 0.00 SOLV ATOM 1080 H2 TIP3 240 4.991 -9.129 7.346 0.00 0.00 SOLV ATOM 1081 OH2 TIP3 241 13.876 -2.676 13.456 1.00 0.00 SOLV ATOM 1082 H1 TIP3 241 14.709 -2.988 13.151 0.00 0.00 SOLV ATOM 1083 H2 TIP3 241 14.110 -1.716 13.516 0.00 0.00 SOLV ATOM 1084 OH2 TIP3 242 6.350 14.024 6.397 1.00 0.00 SOLV ATOM 1085 H1 TIP3 242 6.097 13.792 5.520 0.00 0.00 SOLV ATOM 1086 H2 TIP3 242 6.390 13.145 6.785 0.00 0.00 SOLV ATOM 1087 OH2 TIP3 243 -5.872 3.435 -4.330 1.00 0.00 SOLV ATOM 1088 H1 TIP3 243 -5.731 4.371 -4.066 0.00 0.00 SOLV ATOM 1089 H2 TIP3 243 -5.086 2.965 -4.050 0.00 0.00 SOLV ATOM 1090 OH2 TIP3 244 -3.609 1.508 -3.510 1.00 0.00 SOLV ATOM 1091 H1 TIP3 244 -3.419 2.197 -2.845 0.00 0.00 SOLV ATOM 1092 H2 TIP3 244 -3.411 0.782 -2.874 0.00 0.00 SOLV ATOM 1093 OH2 TIP3 245 7.088 -0.826 -5.685 1.00 0.00 SOLV ATOM 1094 H1 TIP3 245 7.265 -0.281 -4.959 0.00 0.00 SOLV ATOM 1095 H2 TIP3 245 7.096 -0.244 -6.438 0.00 0.00 SOLV ATOM 1096 OH2 TIP3 246 5.724 16.735 -7.411 1.00 0.00 SOLV ATOM 1097 H1 TIP3 246 5.177 16.116 -7.013 0.00 0.00 SOLV ATOM 1098 H2 TIP3 246 5.482 16.742 -8.358 0.00 0.00 SOLV ATOM 1099 OH2 TIP3 247 3.901 -7.235 9.738 1.00 0.00 SOLV ATOM 1100 H1 TIP3 247 4.690 -7.503 9.183 0.00 0.00 SOLV ATOM 1101 H2 TIP3 247 3.980 -7.798 10.513 0.00 0.00 SOLV END protomol/examples/bpti_water_1101/bpti.psf0100644027616700000500000067504010237151526020120 0ustar pbrenne1dipPSF 1 !NTITLE REMARKS original generated structure x-plor psf file 1101 !NATOM 1 BPTI 1 ARG N NH3 -0.300000 14.0070 0 2 BPTI 1 ARG HT1 HC 0.330000 1.0080 0 3 BPTI 1 ARG HT2 HC 0.330000 1.0080 0 4 BPTI 1 ARG HT3 HC 0.330000 1.0080 0 5 BPTI 1 ARG CA CT1 0.210000 12.0110 0 6 BPTI 1 ARG HA HB 0.100000 1.0080 0 7 BPTI 1 ARG CB CT2 -0.180000 12.0110 0 8 BPTI 1 ARG HB1 HA 0.090000 1.0080 0 9 BPTI 1 ARG HB2 HA 0.090000 1.0080 0 10 BPTI 1 ARG CG CT2 -0.180000 12.0110 0 11 BPTI 1 ARG HG1 HA 0.090000 1.0080 0 12 BPTI 1 ARG HG2 HA 0.090000 1.0080 0 13 BPTI 1 ARG CD CT2 0.200000 12.0110 0 14 BPTI 1 ARG HD1 HA 0.090000 1.0080 0 15 BPTI 1 ARG HD2 HA 0.090000 1.0080 0 16 BPTI 1 ARG NE NC2 -0.700000 14.0070 0 17 BPTI 1 ARG HE HC 0.440000 1.0080 0 18 BPTI 1 ARG CZ C 0.640000 12.0110 0 19 BPTI 1 ARG NH1 NC2 -0.800000 14.0070 0 20 BPTI 1 ARG HH11 HC 0.460000 1.0080 0 21 BPTI 1 ARG HH12 HC 0.460000 1.0080 0 22 BPTI 1 ARG NH2 NC2 -0.800000 14.0070 0 23 BPTI 1 ARG HH21 HC 0.460000 1.0080 0 24 BPTI 1 ARG HH22 HC 0.460000 1.0080 0 25 BPTI 1 ARG C C 0.510000 12.0110 0 26 BPTI 1 ARG O O -0.510000 15.9990 0 27 BPTI 2 PRO N N -0.290000 14.0070 0 28 BPTI 2 PRO CD CP3 0.000000 12.0110 0 29 BPTI 2 PRO HD1 HA 0.090000 1.0080 0 30 BPTI 2 PRO HD2 HA 0.090000 1.0080 0 31 BPTI 2 PRO CA CP1 0.020000 12.0110 0 32 BPTI 2 PRO HA HB 0.090000 1.0080 0 33 BPTI 2 PRO CB CP2 -0.180000 12.0110 0 34 BPTI 2 PRO HB1 HA 0.090000 1.0080 0 35 BPTI 2 PRO HB2 HA 0.090000 1.0080 0 36 BPTI 2 PRO CG CP2 -0.180000 12.0110 0 37 BPTI 2 PRO HG1 HA 0.090000 1.0080 0 38 BPTI 2 PRO HG2 HA 0.090000 1.0080 0 39 BPTI 2 PRO C C 0.510000 12.0110 0 40 BPTI 2 PRO O O -0.510000 15.9990 0 41 BPTI 3 ASP N NH1 -0.470000 14.0070 0 42 BPTI 3 ASP HN H 0.310000 1.0080 0 43 BPTI 3 ASP CA CT1 0.070000 12.0110 0 44 BPTI 3 ASP HA HB 0.090000 1.0080 0 45 BPTI 3 ASP CB CT2 -0.280000 12.0110 0 46 BPTI 3 ASP HB1 HA 0.090000 1.0080 0 47 BPTI 3 ASP HB2 HA 0.090000 1.0080 0 48 BPTI 3 ASP CG CC 0.620000 12.0110 0 49 BPTI 3 ASP OD1 OC -0.760000 15.9990 0 50 BPTI 3 ASP OD2 OC -0.760000 15.9990 0 51 BPTI 3 ASP C C 0.510000 12.0110 0 52 BPTI 3 ASP O O -0.510000 15.9990 0 53 BPTI 4 PHE N NH1 -0.470000 14.0070 0 54 BPTI 4 PHE HN H 0.310000 1.0080 0 55 BPTI 4 PHE CA CT1 0.070000 12.0110 0 56 BPTI 4 PHE HA HB 0.090000 1.0080 0 57 BPTI 4 PHE CB CT2 -0.180000 12.0110 0 58 BPTI 4 PHE HB1 HA 0.090000 1.0080 0 59 BPTI 4 PHE HB2 HA 0.090000 1.0080 0 60 BPTI 4 PHE CG CA 0.000000 12.0110 0 61 BPTI 4 PHE CD1 CA -0.115000 12.0110 0 62 BPTI 4 PHE HD1 HP 0.115000 1.0080 0 63 BPTI 4 PHE CE1 CA -0.115000 12.0110 0 64 BPTI 4 PHE HE1 HP 0.115000 1.0080 0 65 BPTI 4 PHE CZ CA -0.115000 12.0110 0 66 BPTI 4 PHE HZ HP 0.115000 1.0080 0 67 BPTI 4 PHE CD2 CA -0.115000 12.0110 0 68 BPTI 4 PHE HD2 HP 0.115000 1.0080 0 69 BPTI 4 PHE CE2 CA -0.115000 12.0110 0 70 BPTI 4 PHE HE2 HP 0.115000 1.0080 0 71 BPTI 4 PHE C C 0.510000 12.0110 0 72 BPTI 4 PHE O O -0.510000 15.9990 0 73 BPTI 5 CYS CB CT2 -0.100000 12.0110 0 74 BPTI 5 CYS SG SM -0.080000 32.0600 0 75 BPTI 5 CYS N NH1 -0.470000 14.0070 0 76 BPTI 5 CYS HN H 0.310000 1.0080 0 77 BPTI 5 CYS CA CT1 0.070000 12.0110 0 78 BPTI 5 CYS HA HB 0.090000 1.0080 0 79 BPTI 5 CYS HB1 HA 0.090000 1.0080 0 80 BPTI 5 CYS HB2 HA 0.090000 1.0080 0 81 BPTI 5 CYS C C 0.510000 12.0110 0 82 BPTI 5 CYS O O -0.510000 15.9990 0 83 BPTI 6 LEU N NH1 -0.470000 14.0070 0 84 BPTI 6 LEU HN H 0.310000 1.0080 0 85 BPTI 6 LEU CA CT1 0.070000 12.0110 0 86 BPTI 6 LEU HA HB 0.090000 1.0080 0 87 BPTI 6 LEU CB CT2 -0.180000 12.0110 0 88 BPTI 6 LEU HB1 HA 0.090000 1.0080 0 89 BPTI 6 LEU HB2 HA 0.090000 1.0080 0 90 BPTI 6 LEU CG CT1 -0.090000 12.0110 0 91 BPTI 6 LEU HG HA 0.090000 1.0080 0 92 BPTI 6 LEU CD1 CT3 -0.270000 12.0110 0 93 BPTI 6 LEU HD11 HA 0.090000 1.0080 0 94 BPTI 6 LEU HD12 HA 0.090000 1.0080 0 95 BPTI 6 LEU HD13 HA 0.090000 1.0080 0 96 BPTI 6 LEU CD2 CT3 -0.270000 12.0110 0 97 BPTI 6 LEU HD21 HA 0.090000 1.0080 0 98 BPTI 6 LEU HD22 HA 0.090000 1.0080 0 99 BPTI 6 LEU HD23 HA 0.090000 1.0080 0 100 BPTI 6 LEU C C 0.510000 12.0110 0 101 BPTI 6 LEU O O -0.510000 15.9990 0 102 BPTI 7 GLU N NH1 -0.470000 14.0070 0 103 BPTI 7 GLU HN H 0.310000 1.0080 0 104 BPTI 7 GLU CA CT1 0.070000 12.0110 0 105 BPTI 7 GLU HA HB 0.090000 1.0080 0 106 BPTI 7 GLU CB CT2 -0.180000 12.0110 0 107 BPTI 7 GLU HB1 HA 0.090000 1.0080 0 108 BPTI 7 GLU HB2 HA 0.090000 1.0080 0 109 BPTI 7 GLU CG CT2 -0.280000 12.0110 0 110 BPTI 7 GLU HG1 HA 0.090000 1.0080 0 111 BPTI 7 GLU HG2 HA 0.090000 1.0080 0 112 BPTI 7 GLU CD CC 0.620000 12.0110 0 113 BPTI 7 GLU OE1 OC -0.760000 15.9990 0 114 BPTI 7 GLU OE2 OC -0.760000 15.9990 0 115 BPTI 7 GLU C C 0.510000 12.0110 0 116 BPTI 7 GLU O O -0.510000 15.9990 0 117 BPTI 8 PRO N N -0.290000 14.0070 0 118 BPTI 8 PRO CD CP3 0.000000 12.0110 0 119 BPTI 8 PRO HD1 HA 0.090000 1.0080 0 120 BPTI 8 PRO HD2 HA 0.090000 1.0080 0 121 BPTI 8 PRO CA CP1 0.020000 12.0110 0 122 BPTI 8 PRO HA HB 0.090000 1.0080 0 123 BPTI 8 PRO CB CP2 -0.180000 12.0110 0 124 BPTI 8 PRO HB1 HA 0.090000 1.0080 0 125 BPTI 8 PRO HB2 HA 0.090000 1.0080 0 126 BPTI 8 PRO CG CP2 -0.180000 12.0110 0 127 BPTI 8 PRO HG1 HA 0.090000 1.0080 0 128 BPTI 8 PRO HG2 HA 0.090000 1.0080 0 129 BPTI 8 PRO C C 0.510000 12.0110 0 130 BPTI 8 PRO O O -0.510000 15.9990 0 131 BPTI 9 PRO N N -0.290000 14.0070 0 132 BPTI 9 PRO CD CP3 0.000000 12.0110 0 133 BPTI 9 PRO HD1 HA 0.090000 1.0080 0 134 BPTI 9 PRO HD2 HA 0.090000 1.0080 0 135 BPTI 9 PRO CA CP1 0.020000 12.0110 0 136 BPTI 9 PRO HA HB 0.090000 1.0080 0 137 BPTI 9 PRO CB CP2 -0.180000 12.0110 0 138 BPTI 9 PRO HB1 HA 0.090000 1.0080 0 139 BPTI 9 PRO HB2 HA 0.090000 1.0080 0 140 BPTI 9 PRO CG CP2 -0.180000 12.0110 0 141 BPTI 9 PRO HG1 HA 0.090000 1.0080 0 142 BPTI 9 PRO HG2 HA 0.090000 1.0080 0 143 BPTI 9 PRO C C 0.510000 12.0110 0 144 BPTI 9 PRO O O -0.510000 15.9990 0 145 BPTI 10 TYR N NH1 -0.470000 14.0070 0 146 BPTI 10 TYR HN H 0.310000 1.0080 0 147 BPTI 10 TYR CA CT1 0.070000 12.0110 0 148 BPTI 10 TYR HA HB 0.090000 1.0080 0 149 BPTI 10 TYR CB CT2 -0.180000 12.0110 0 150 BPTI 10 TYR HB1 HA 0.090000 1.0080 0 151 BPTI 10 TYR HB2 HA 0.090000 1.0080 0 152 BPTI 10 TYR CG CA 0.000000 12.0110 0 153 BPTI 10 TYR CD1 CA -0.115000 12.0110 0 154 BPTI 10 TYR HD1 HP 0.115000 1.0080 0 155 BPTI 10 TYR CE1 CA -0.115000 12.0110 0 156 BPTI 10 TYR HE1 HP 0.115000 1.0080 0 157 BPTI 10 TYR CZ CA 0.110000 12.0110 0 158 BPTI 10 TYR OH OH1 -0.540000 15.9990 0 159 BPTI 10 TYR HH H 0.430000 1.0080 0 160 BPTI 10 TYR CD2 CA -0.115000 12.0110 0 161 BPTI 10 TYR HD2 HP 0.115000 1.0080 0 162 BPTI 10 TYR CE2 CA -0.115000 12.0110 0 163 BPTI 10 TYR HE2 HP 0.115000 1.0080 0 164 BPTI 10 TYR C C 0.510000 12.0110 0 165 BPTI 10 TYR O O -0.510000 15.9990 0 166 BPTI 11 THR N NH1 -0.470000 14.0070 0 167 BPTI 11 THR HN H 0.310000 1.0080 0 168 BPTI 11 THR CA CT1 0.070000 12.0110 0 169 BPTI 11 THR HA HB 0.090000 1.0080 0 170 BPTI 11 THR CB CT1 0.140000 12.0110 0 171 BPTI 11 THR HB HA 0.090000 1.0080 0 172 BPTI 11 THR OG1 OH1 -0.660000 15.9990 0 173 BPTI 11 THR HG1 H 0.430000 1.0080 0 174 BPTI 11 THR CG2 CT3 -0.270000 12.0110 0 175 BPTI 11 THR HG21 HA 0.090000 1.0080 0 176 BPTI 11 THR HG22 HA 0.090000 1.0080 0 177 BPTI 11 THR HG23 HA 0.090000 1.0080 0 178 BPTI 11 THR C C 0.510000 12.0110 0 179 BPTI 11 THR O O -0.510000 15.9990 0 180 BPTI 12 GLY N NH1 -0.470000 14.0070 0 181 BPTI 12 GLY HN H 0.310000 1.0080 0 182 BPTI 12 GLY CA CT2 -0.020000 12.0110 0 183 BPTI 12 GLY HA1 HB 0.090000 1.0080 0 184 BPTI 12 GLY HA2 HB 0.090000 1.0080 0 185 BPTI 12 GLY C C 0.510000 12.0110 0 186 BPTI 12 GLY O O -0.510000 15.9990 0 187 BPTI 13 PRO N N -0.290000 14.0070 0 188 BPTI 13 PRO CD CP3 0.000000 12.0110 0 189 BPTI 13 PRO HD1 HA 0.090000 1.0080 0 190 BPTI 13 PRO HD2 HA 0.090000 1.0080 0 191 BPTI 13 PRO CA CP1 0.020000 12.0110 0 192 BPTI 13 PRO HA HB 0.090000 1.0080 0 193 BPTI 13 PRO CB CP2 -0.180000 12.0110 0 194 BPTI 13 PRO HB1 HA 0.090000 1.0080 0 195 BPTI 13 PRO HB2 HA 0.090000 1.0080 0 196 BPTI 13 PRO CG CP2 -0.180000 12.0110 0 197 BPTI 13 PRO HG1 HA 0.090000 1.0080 0 198 BPTI 13 PRO HG2 HA 0.090000 1.0080 0 199 BPTI 13 PRO C C 0.510000 12.0110 0 200 BPTI 13 PRO O O -0.510000 15.9990 0 201 BPTI 14 CYS CB CT2 -0.100000 12.0110 0 202 BPTI 14 CYS SG SM -0.080000 32.0600 0 203 BPTI 14 CYS N NH1 -0.470000 14.0070 0 204 BPTI 14 CYS HN H 0.310000 1.0080 0 205 BPTI 14 CYS CA CT1 0.070000 12.0110 0 206 BPTI 14 CYS HA HB 0.090000 1.0080 0 207 BPTI 14 CYS HB1 HA 0.090000 1.0080 0 208 BPTI 14 CYS HB2 HA 0.090000 1.0080 0 209 BPTI 14 CYS C C 0.510000 12.0110 0 210 BPTI 14 CYS O O -0.510000 15.9990 0 211 BPTI 15 LYS N NH1 -0.470000 14.0070 0 212 BPTI 15 LYS HN H 0.310000 1.0080 0 213 BPTI 15 LYS CA CT1 0.070000 12.0110 0 214 BPTI 15 LYS HA HB 0.090000 1.0080 0 215 BPTI 15 LYS CB CT2 -0.180000 12.0110 0 216 BPTI 15 LYS HB1 HA 0.090000 1.0080 0 217 BPTI 15 LYS HB2 HA 0.090000 1.0080 0 218 BPTI 15 LYS CG CT2 -0.180000 12.0110 0 219 BPTI 15 LYS HG1 HA 0.090000 1.0080 0 220 BPTI 15 LYS HG2 HA 0.090000 1.0080 0 221 BPTI 15 LYS CD CT2 -0.180000 12.0110 0 222 BPTI 15 LYS HD1 HA 0.090000 1.0080 0 223 BPTI 15 LYS HD2 HA 0.090000 1.0080 0 224 BPTI 15 LYS CE CT2 0.210000 12.0110 0 225 BPTI 15 LYS HE1 HA 0.050000 1.0080 0 226 BPTI 15 LYS HE2 HA 0.050000 1.0080 0 227 BPTI 15 LYS NZ NH3 -0.300000 14.0070 0 228 BPTI 15 LYS HZ1 HC 0.330000 1.0080 0 229 BPTI 15 LYS HZ2 HC 0.330000 1.0080 0 230 BPTI 15 LYS HZ3 HC 0.330000 1.0080 0 231 BPTI 15 LYS C C 0.510000 12.0110 0 232 BPTI 15 LYS O O -0.510000 15.9990 0 233 BPTI 16 ALA N NH1 -0.470000 14.0070 0 234 BPTI 16 ALA HN H 0.310000 1.0080 0 235 BPTI 16 ALA CA CT1 0.070000 12.0110 0 236 BPTI 16 ALA HA HB 0.090000 1.0080 0 237 BPTI 16 ALA CB CT3 -0.270000 12.0110 0 238 BPTI 16 ALA HB1 HA 0.090000 1.0080 0 239 BPTI 16 ALA HB2 HA 0.090000 1.0080 0 240 BPTI 16 ALA HB3 HA 0.090000 1.0080 0 241 BPTI 16 ALA C C 0.510000 12.0110 0 242 BPTI 16 ALA O O -0.510000 15.9990 0 243 BPTI 17 ARG N NH1 -0.470000 14.0070 0 244 BPTI 17 ARG HN H 0.310000 1.0080 0 245 BPTI 17 ARG CA CT1 0.070000 12.0110 0 246 BPTI 17 ARG HA HB 0.090000 1.0080 0 247 BPTI 17 ARG CB CT2 -0.180000 12.0110 0 248 BPTI 17 ARG HB1 HA 0.090000 1.0080 0 249 BPTI 17 ARG HB2 HA 0.090000 1.0080 0 250 BPTI 17 ARG CG CT2 -0.180000 12.0110 0 251 BPTI 17 ARG HG1 HA 0.090000 1.0080 0 252 BPTI 17 ARG HG2 HA 0.090000 1.0080 0 253 BPTI 17 ARG CD CT2 0.200000 12.0110 0 254 BPTI 17 ARG HD1 HA 0.090000 1.0080 0 255 BPTI 17 ARG HD2 HA 0.090000 1.0080 0 256 BPTI 17 ARG NE NC2 -0.700000 14.0070 0 257 BPTI 17 ARG HE HC 0.440000 1.0080 0 258 BPTI 17 ARG CZ C 0.640000 12.0110 0 259 BPTI 17 ARG NH1 NC2 -0.800000 14.0070 0 260 BPTI 17 ARG HH11 HC 0.460000 1.0080 0 261 BPTI 17 ARG HH12 HC 0.460000 1.0080 0 262 BPTI 17 ARG NH2 NC2 -0.800000 14.0070 0 263 BPTI 17 ARG HH21 HC 0.460000 1.0080 0 264 BPTI 17 ARG HH22 HC 0.460000 1.0080 0 265 BPTI 17 ARG C C 0.510000 12.0110 0 266 BPTI 17 ARG O O -0.510000 15.9990 0 267 BPTI 18 ILE N NH1 -0.470000 14.0070 0 268 BPTI 18 ILE HN H 0.310000 1.0080 0 269 BPTI 18 ILE CA CT1 0.070000 12.0110 0 270 BPTI 18 ILE HA HB 0.090000 1.0080 0 271 BPTI 18 ILE CB CT1 -0.090000 12.0110 0 272 BPTI 18 ILE HB HA 0.090000 1.0080 0 273 BPTI 18 ILE CG2 CT3 -0.270000 12.0110 0 274 BPTI 18 ILE HG21 HA 0.090000 1.0080 0 275 BPTI 18 ILE HG22 HA 0.090000 1.0080 0 276 BPTI 18 ILE HG23 HA 0.090000 1.0080 0 277 BPTI 18 ILE CG1 CT2 -0.180000 12.0110 0 278 BPTI 18 ILE HG11 HA 0.090000 1.0080 0 279 BPTI 18 ILE HG12 HA 0.090000 1.0080 0 280 BPTI 18 ILE CD CT3 -0.270000 12.0110 0 281 BPTI 18 ILE HD1 HA 0.090000 1.0080 0 282 BPTI 18 ILE HD2 HA 0.090000 1.0080 0 283 BPTI 18 ILE HD3 HA 0.090000 1.0080 0 284 BPTI 18 ILE C C 0.510000 12.0110 0 285 BPTI 18 ILE O O -0.510000 15.9990 0 286 BPTI 19 ILE N NH1 -0.470000 14.0070 0 287 BPTI 19 ILE HN H 0.310000 1.0080 0 288 BPTI 19 ILE CA CT1 0.070000 12.0110 0 289 BPTI 19 ILE HA HB 0.090000 1.0080 0 290 BPTI 19 ILE CB CT1 -0.090000 12.0110 0 291 BPTI 19 ILE HB HA 0.090000 1.0080 0 292 BPTI 19 ILE CG2 CT3 -0.270000 12.0110 0 293 BPTI 19 ILE HG21 HA 0.090000 1.0080 0 294 BPTI 19 ILE HG22 HA 0.090000 1.0080 0 295 BPTI 19 ILE HG23 HA 0.090000 1.0080 0 296 BPTI 19 ILE CG1 CT2 -0.180000 12.0110 0 297 BPTI 19 ILE HG11 HA 0.090000 1.0080 0 298 BPTI 19 ILE HG12 HA 0.090000 1.0080 0 299 BPTI 19 ILE CD CT3 -0.270000 12.0110 0 300 BPTI 19 ILE HD1 HA 0.090000 1.0080 0 301 BPTI 19 ILE HD2 HA 0.090000 1.0080 0 302 BPTI 19 ILE HD3 HA 0.090000 1.0080 0 303 BPTI 19 ILE C C 0.510000 12.0110 0 304 BPTI 19 ILE O O -0.510000 15.9990 0 305 BPTI 20 ARG N NH1 -0.470000 14.0070 0 306 BPTI 20 ARG HN H 0.310000 1.0080 0 307 BPTI 20 ARG CA CT1 0.070000 12.0110 0 308 BPTI 20 ARG HA HB 0.090000 1.0080 0 309 BPTI 20 ARG CB CT2 -0.180000 12.0110 0 310 BPTI 20 ARG HB1 HA 0.090000 1.0080 0 311 BPTI 20 ARG HB2 HA 0.090000 1.0080 0 312 BPTI 20 ARG CG CT2 -0.180000 12.0110 0 313 BPTI 20 ARG HG1 HA 0.090000 1.0080 0 314 BPTI 20 ARG HG2 HA 0.090000 1.0080 0 315 BPTI 20 ARG CD CT2 0.200000 12.0110 0 316 BPTI 20 ARG HD1 HA 0.090000 1.0080 0 317 BPTI 20 ARG HD2 HA 0.090000 1.0080 0 318 BPTI 20 ARG NE NC2 -0.700000 14.0070 0 319 BPTI 20 ARG HE HC 0.440000 1.0080 0 320 BPTI 20 ARG CZ C 0.640000 12.0110 0 321 BPTI 20 ARG NH1 NC2 -0.800000 14.0070 0 322 BPTI 20 ARG HH11 HC 0.460000 1.0080 0 323 BPTI 20 ARG HH12 HC 0.460000 1.0080 0 324 BPTI 20 ARG NH2 NC2 -0.800000 14.0070 0 325 BPTI 20 ARG HH21 HC 0.460000 1.0080 0 326 BPTI 20 ARG HH22 HC 0.460000 1.0080 0 327 BPTI 20 ARG C C 0.510000 12.0110 0 328 BPTI 20 ARG O O -0.510000 15.9990 0 329 BPTI 21 TYR N NH1 -0.470000 14.0070 0 330 BPTI 21 TYR HN H 0.310000 1.0080 0 331 BPTI 21 TYR CA CT1 0.070000 12.0110 0 332 BPTI 21 TYR HA HB 0.090000 1.0080 0 333 BPTI 21 TYR CB CT2 -0.180000 12.0110 0 334 BPTI 21 TYR HB1 HA 0.090000 1.0080 0 335 BPTI 21 TYR HB2 HA 0.090000 1.0080 0 336 BPTI 21 TYR CG CA 0.000000 12.0110 0 337 BPTI 21 TYR CD1 CA -0.115000 12.0110 0 338 BPTI 21 TYR HD1 HP 0.115000 1.0080 0 339 BPTI 21 TYR CE1 CA -0.115000 12.0110 0 340 BPTI 21 TYR HE1 HP 0.115000 1.0080 0 341 BPTI 21 TYR CZ CA 0.110000 12.0110 0 342 BPTI 21 TYR OH OH1 -0.540000 15.9990 0 343 BPTI 21 TYR HH H 0.430000 1.0080 0 344 BPTI 21 TYR CD2 CA -0.115000 12.0110 0 345 BPTI 21 TYR HD2 HP 0.115000 1.0080 0 346 BPTI 21 TYR CE2 CA -0.115000 12.0110 0 347 BPTI 21 TYR HE2 HP 0.115000 1.0080 0 348 BPTI 21 TYR C C 0.510000 12.0110 0 349 BPTI 21 TYR O O -0.510000 15.9990 0 350 BPTI 22 PHE N NH1 -0.470000 14.0070 0 351 BPTI 22 PHE HN H 0.310000 1.0080 0 352 BPTI 22 PHE CA CT1 0.070000 12.0110 0 353 BPTI 22 PHE HA HB 0.090000 1.0080 0 354 BPTI 22 PHE CB CT2 -0.180000 12.0110 0 355 BPTI 22 PHE HB1 HA 0.090000 1.0080 0 356 BPTI 22 PHE HB2 HA 0.090000 1.0080 0 357 BPTI 22 PHE CG CA 0.000000 12.0110 0 358 BPTI 22 PHE CD1 CA -0.115000 12.0110 0 359 BPTI 22 PHE HD1 HP 0.115000 1.0080 0 360 BPTI 22 PHE CE1 CA -0.115000 12.0110 0 361 BPTI 22 PHE HE1 HP 0.115000 1.0080 0 362 BPTI 22 PHE CZ CA -0.115000 12.0110 0 363 BPTI 22 PHE HZ HP 0.115000 1.0080 0 364 BPTI 22 PHE CD2 CA -0.115000 12.0110 0 365 BPTI 22 PHE HD2 HP 0.115000 1.0080 0 366 BPTI 22 PHE CE2 CA -0.115000 12.0110 0 367 BPTI 22 PHE HE2 HP 0.115000 1.0080 0 368 BPTI 22 PHE C C 0.510000 12.0110 0 369 BPTI 22 PHE O O -0.510000 15.9990 0 370 BPTI 23 TYR N NH1 -0.470000 14.0070 0 371 BPTI 23 TYR HN H 0.310000 1.0080 0 372 BPTI 23 TYR CA CT1 0.070000 12.0110 0 373 BPTI 23 TYR HA HB 0.090000 1.0080 0 374 BPTI 23 TYR CB CT2 -0.180000 12.0110 0 375 BPTI 23 TYR HB1 HA 0.090000 1.0080 0 376 BPTI 23 TYR HB2 HA 0.090000 1.0080 0 377 BPTI 23 TYR CG CA 0.000000 12.0110 0 378 BPTI 23 TYR CD1 CA -0.115000 12.0110 0 379 BPTI 23 TYR HD1 HP 0.115000 1.0080 0 380 BPTI 23 TYR CE1 CA -0.115000 12.0110 0 381 BPTI 23 TYR HE1 HP 0.115000 1.0080 0 382 BPTI 23 TYR CZ CA 0.110000 12.0110 0 383 BPTI 23 TYR OH OH1 -0.540000 15.9990 0 384 BPTI 23 TYR HH H 0.430000 1.0080 0 385 BPTI 23 TYR CD2 CA -0.115000 12.0110 0 386 BPTI 23 TYR HD2 HP 0.115000 1.0080 0 387 BPTI 23 TYR CE2 CA -0.115000 12.0110 0 388 BPTI 23 TYR HE2 HP 0.115000 1.0080 0 389 BPTI 23 TYR C C 0.510000 12.0110 0 390 BPTI 23 TYR O O -0.510000 15.9990 0 391 BPTI 24 ASN N NH1 -0.470000 14.0070 0 392 BPTI 24 ASN HN H 0.310000 1.0080 0 393 BPTI 24 ASN CA CT1 0.070000 12.0110 0 394 BPTI 24 ASN HA HB 0.090000 1.0080 0 395 BPTI 24 ASN CB CT2 -0.180000 12.0110 0 396 BPTI 24 ASN HB1 HA 0.090000 1.0080 0 397 BPTI 24 ASN HB2 HA 0.090000 1.0080 0 398 BPTI 24 ASN CG CC 0.550000 12.0110 0 399 BPTI 24 ASN OD1 O -0.550000 15.9990 0 400 BPTI 24 ASN ND2 NH2 -0.620000 14.0070 0 401 BPTI 24 ASN HD21 H 0.320000 1.0080 0 402 BPTI 24 ASN HD22 H 0.300000 1.0080 0 403 BPTI 24 ASN C C 0.510000 12.0110 0 404 BPTI 24 ASN O O -0.510000 15.9990 0 405 BPTI 25 ALA N NH1 -0.470000 14.0070 0 406 BPTI 25 ALA HN H 0.310000 1.0080 0 407 BPTI 25 ALA CA CT1 0.070000 12.0110 0 408 BPTI 25 ALA HA HB 0.090000 1.0080 0 409 BPTI 25 ALA CB CT3 -0.270000 12.0110 0 410 BPTI 25 ALA HB1 HA 0.090000 1.0080 0 411 BPTI 25 ALA HB2 HA 0.090000 1.0080 0 412 BPTI 25 ALA HB3 HA 0.090000 1.0080 0 413 BPTI 25 ALA C C 0.510000 12.0110 0 414 BPTI 25 ALA O O -0.510000 15.9990 0 415 BPTI 26 LYS N NH1 -0.470000 14.0070 0 416 BPTI 26 LYS HN H 0.310000 1.0080 0 417 BPTI 26 LYS CA CT1 0.070000 12.0110 0 418 BPTI 26 LYS HA HB 0.090000 1.0080 0 419 BPTI 26 LYS CB CT2 -0.180000 12.0110 0 420 BPTI 26 LYS HB1 HA 0.090000 1.0080 0 421 BPTI 26 LYS HB2 HA 0.090000 1.0080 0 422 BPTI 26 LYS CG CT2 -0.180000 12.0110 0 423 BPTI 26 LYS HG1 HA 0.090000 1.0080 0 424 BPTI 26 LYS HG2 HA 0.090000 1.0080 0 425 BPTI 26 LYS CD CT2 -0.180000 12.0110 0 426 BPTI 26 LYS HD1 HA 0.090000 1.0080 0 427 BPTI 26 LYS HD2 HA 0.090000 1.0080 0 428 BPTI 26 LYS CE CT2 0.210000 12.0110 0 429 BPTI 26 LYS HE1 HA 0.050000 1.0080 0 430 BPTI 26 LYS HE2 HA 0.050000 1.0080 0 431 BPTI 26 LYS NZ NH3 -0.300000 14.0070 0 432 BPTI 26 LYS HZ1 HC 0.330000 1.0080 0 433 BPTI 26 LYS HZ2 HC 0.330000 1.0080 0 434 BPTI 26 LYS HZ3 HC 0.330000 1.0080 0 435 BPTI 26 LYS C C 0.510000 12.0110 0 436 BPTI 26 LYS O O -0.510000 15.9990 0 437 BPTI 27 ALA N NH1 -0.470000 14.0070 0 438 BPTI 27 ALA HN H 0.310000 1.0080 0 439 BPTI 27 ALA CA CT1 0.070000 12.0110 0 440 BPTI 27 ALA HA HB 0.090000 1.0080 0 441 BPTI 27 ALA CB CT3 -0.270000 12.0110 0 442 BPTI 27 ALA HB1 HA 0.090000 1.0080 0 443 BPTI 27 ALA HB2 HA 0.090000 1.0080 0 444 BPTI 27 ALA HB3 HA 0.090000 1.0080 0 445 BPTI 27 ALA C C 0.510000 12.0110 0 446 BPTI 27 ALA O O -0.510000 15.9990 0 447 BPTI 28 GLY N NH1 -0.470000 14.0070 0 448 BPTI 28 GLY HN H 0.310000 1.0080 0 449 BPTI 28 GLY CA CT2 -0.020000 12.0110 0 450 BPTI 28 GLY HA1 HB 0.090000 1.0080 0 451 BPTI 28 GLY HA2 HB 0.090000 1.0080 0 452 BPTI 28 GLY C C 0.510000 12.0110 0 453 BPTI 28 GLY O O -0.510000 15.9990 0 454 BPTI 29 LEU N NH1 -0.470000 14.0070 0 455 BPTI 29 LEU HN H 0.310000 1.0080 0 456 BPTI 29 LEU CA CT1 0.070000 12.0110 0 457 BPTI 29 LEU HA HB 0.090000 1.0080 0 458 BPTI 29 LEU CB CT2 -0.180000 12.0110 0 459 BPTI 29 LEU HB1 HA 0.090000 1.0080 0 460 BPTI 29 LEU HB2 HA 0.090000 1.0080 0 461 BPTI 29 LEU CG CT1 -0.090000 12.0110 0 462 BPTI 29 LEU HG HA 0.090000 1.0080 0 463 BPTI 29 LEU CD1 CT3 -0.270000 12.0110 0 464 BPTI 29 LEU HD11 HA 0.090000 1.0080 0 465 BPTI 29 LEU HD12 HA 0.090000 1.0080 0 466 BPTI 29 LEU HD13 HA 0.090000 1.0080 0 467 BPTI 29 LEU CD2 CT3 -0.270000 12.0110 0 468 BPTI 29 LEU HD21 HA 0.090000 1.0080 0 469 BPTI 29 LEU HD22 HA 0.090000 1.0080 0 470 BPTI 29 LEU HD23 HA 0.090000 1.0080 0 471 BPTI 29 LEU C C 0.510000 12.0110 0 472 BPTI 29 LEU O O -0.510000 15.9990 0 473 BPTI 30 CYS CB CT2 -0.100000 12.0110 0 474 BPTI 30 CYS SG SM -0.080000 32.0600 0 475 BPTI 30 CYS N NH1 -0.470000 14.0070 0 476 BPTI 30 CYS HN H 0.310000 1.0080 0 477 BPTI 30 CYS CA CT1 0.070000 12.0110 0 478 BPTI 30 CYS HA HB 0.090000 1.0080 0 479 BPTI 30 CYS HB1 HA 0.090000 1.0080 0 480 BPTI 30 CYS HB2 HA 0.090000 1.0080 0 481 BPTI 30 CYS C C 0.510000 12.0110 0 482 BPTI 30 CYS O O -0.510000 15.9990 0 483 BPTI 31 GLN N NH1 -0.470000 14.0070 0 484 BPTI 31 GLN HN H 0.310000 1.0080 0 485 BPTI 31 GLN CA CT1 0.070000 12.0110 0 486 BPTI 31 GLN HA HB 0.090000 1.0080 0 487 BPTI 31 GLN CB CT2 -0.180000 12.0110 0 488 BPTI 31 GLN HB1 HA 0.090000 1.0080 0 489 BPTI 31 GLN HB2 HA 0.090000 1.0080 0 490 BPTI 31 GLN CG CT2 -0.180000 12.0110 0 491 BPTI 31 GLN HG1 HA 0.090000 1.0080 0 492 BPTI 31 GLN HG2 HA 0.090000 1.0080 0 493 BPTI 31 GLN CD CC 0.550000 12.0110 0 494 BPTI 31 GLN OE1 O -0.550000 15.9990 0 495 BPTI 31 GLN NE2 NH2 -0.620000 14.0070 0 496 BPTI 31 GLN HE21 H 0.320000 1.0080 0 497 BPTI 31 GLN HE22 H 0.300000 1.0080 0 498 BPTI 31 GLN C C 0.510000 12.0110 0 499 BPTI 31 GLN O O -0.510000 15.9990 0 500 BPTI 32 THR N NH1 -0.470000 14.0070 0 501 BPTI 32 THR HN H 0.310000 1.0080 0 502 BPTI 32 THR CA CT1 0.070000 12.0110 0 503 BPTI 32 THR HA HB 0.090000 1.0080 0 504 BPTI 32 THR CB CT1 0.140000 12.0110 0 505 BPTI 32 THR HB HA 0.090000 1.0080 0 506 BPTI 32 THR OG1 OH1 -0.660000 15.9990 0 507 BPTI 32 THR HG1 H 0.430000 1.0080 0 508 BPTI 32 THR CG2 CT3 -0.270000 12.0110 0 509 BPTI 32 THR HG21 HA 0.090000 1.0080 0 510 BPTI 32 THR HG22 HA 0.090000 1.0080 0 511 BPTI 32 THR HG23 HA 0.090000 1.0080 0 512 BPTI 32 THR C C 0.510000 12.0110 0 513 BPTI 32 THR O O -0.510000 15.9990 0 514 BPTI 33 PHE N NH1 -0.470000 14.0070 0 515 BPTI 33 PHE HN H 0.310000 1.0080 0 516 BPTI 33 PHE CA CT1 0.070000 12.0110 0 517 BPTI 33 PHE HA HB 0.090000 1.0080 0 518 BPTI 33 PHE CB CT2 -0.180000 12.0110 0 519 BPTI 33 PHE HB1 HA 0.090000 1.0080 0 520 BPTI 33 PHE HB2 HA 0.090000 1.0080 0 521 BPTI 33 PHE CG CA 0.000000 12.0110 0 522 BPTI 33 PHE CD1 CA -0.115000 12.0110 0 523 BPTI 33 PHE HD1 HP 0.115000 1.0080 0 524 BPTI 33 PHE CE1 CA -0.115000 12.0110 0 525 BPTI 33 PHE HE1 HP 0.115000 1.0080 0 526 BPTI 33 PHE CZ CA -0.115000 12.0110 0 527 BPTI 33 PHE HZ HP 0.115000 1.0080 0 528 BPTI 33 PHE CD2 CA -0.115000 12.0110 0 529 BPTI 33 PHE HD2 HP 0.115000 1.0080 0 530 BPTI 33 PHE CE2 CA -0.115000 12.0110 0 531 BPTI 33 PHE HE2 HP 0.115000 1.0080 0 532 BPTI 33 PHE C C 0.510000 12.0110 0 533 BPTI 33 PHE O O -0.510000 15.9990 0 534 BPTI 34 VAL N NH1 -0.470000 14.0070 0 535 BPTI 34 VAL HN H 0.310000 1.0080 0 536 BPTI 34 VAL CA CT1 0.070000 12.0110 0 537 BPTI 34 VAL HA HB 0.090000 1.0080 0 538 BPTI 34 VAL CB CT1 -0.090000 12.0110 0 539 BPTI 34 VAL HB HA 0.090000 1.0080 0 540 BPTI 34 VAL CG1 CT3 -0.270000 12.0110 0 541 BPTI 34 VAL HG11 HA 0.090000 1.0080 0 542 BPTI 34 VAL HG12 HA 0.090000 1.0080 0 543 BPTI 34 VAL HG13 HA 0.090000 1.0080 0 544 BPTI 34 VAL CG2 CT3 -0.270000 12.0110 0 545 BPTI 34 VAL HG21 HA 0.090000 1.0080 0 546 BPTI 34 VAL HG22 HA 0.090000 1.0080 0 547 BPTI 34 VAL HG23 HA 0.090000 1.0080 0 548 BPTI 34 VAL C C 0.510000 12.0110 0 549 BPTI 34 VAL O O -0.510000 15.9990 0 550 BPTI 35 TYR N NH1 -0.470000 14.0070 0 551 BPTI 35 TYR HN H 0.310000 1.0080 0 552 BPTI 35 TYR CA CT1 0.070000 12.0110 0 553 BPTI 35 TYR HA HB 0.090000 1.0080 0 554 BPTI 35 TYR CB CT2 -0.180000 12.0110 0 555 BPTI 35 TYR HB1 HA 0.090000 1.0080 0 556 BPTI 35 TYR HB2 HA 0.090000 1.0080 0 557 BPTI 35 TYR CG CA 0.000000 12.0110 0 558 BPTI 35 TYR CD1 CA -0.115000 12.0110 0 559 BPTI 35 TYR HD1 HP 0.115000 1.0080 0 560 BPTI 35 TYR CE1 CA -0.115000 12.0110 0 561 BPTI 35 TYR HE1 HP 0.115000 1.0080 0 562 BPTI 35 TYR CZ CA 0.110000 12.0110 0 563 BPTI 35 TYR OH OH1 -0.540000 15.9990 0 564 BPTI 35 TYR HH H 0.430000 1.0080 0 565 BPTI 35 TYR CD2 CA -0.115000 12.0110 0 566 BPTI 35 TYR HD2 HP 0.115000 1.0080 0 567 BPTI 35 TYR CE2 CA -0.115000 12.0110 0 568 BPTI 35 TYR HE2 HP 0.115000 1.0080 0 569 BPTI 35 TYR C C 0.510000 12.0110 0 570 BPTI 35 TYR O O -0.510000 15.9990 0 571 BPTI 36 GLY N NH1 -0.470000 14.0070 0 572 BPTI 36 GLY HN H 0.310000 1.0080 0 573 BPTI 36 GLY CA CT2 -0.020000 12.0110 0 574 BPTI 36 GLY HA1 HB 0.090000 1.0080 0 575 BPTI 36 GLY HA2 HB 0.090000 1.0080 0 576 BPTI 36 GLY C C 0.510000 12.0110 0 577 BPTI 36 GLY O O -0.510000 15.9990 0 578 BPTI 37 GLY N NH1 -0.470000 14.0070 0 579 BPTI 37 GLY HN H 0.310000 1.0080 0 580 BPTI 37 GLY CA CT2 -0.020000 12.0110 0 581 BPTI 37 GLY HA1 HB 0.090000 1.0080 0 582 BPTI 37 GLY HA2 HB 0.090000 1.0080 0 583 BPTI 37 GLY C C 0.510000 12.0110 0 584 BPTI 37 GLY O O -0.510000 15.9990 0 585 BPTI 38 CYS SG SM -0.080000 32.0600 0 586 BPTI 38 CYS CB CT2 -0.100000 12.0110 0 587 BPTI 38 CYS N NH1 -0.470000 14.0070 0 588 BPTI 38 CYS HN H 0.310000 1.0080 0 589 BPTI 38 CYS CA CT1 0.070000 12.0110 0 590 BPTI 38 CYS HA HB 0.090000 1.0080 0 591 BPTI 38 CYS HB1 HA 0.090000 1.0080 0 592 BPTI 38 CYS HB2 HA 0.090000 1.0080 0 593 BPTI 38 CYS C C 0.510000 12.0110 0 594 BPTI 38 CYS O O -0.510000 15.9990 0 595 BPTI 39 ARG N NH1 -0.470000 14.0070 0 596 BPTI 39 ARG HN H 0.310000 1.0080 0 597 BPTI 39 ARG CA CT1 0.070000 12.0110 0 598 BPTI 39 ARG HA HB 0.090000 1.0080 0 599 BPTI 39 ARG CB CT2 -0.180000 12.0110 0 600 BPTI 39 ARG HB1 HA 0.090000 1.0080 0 601 BPTI 39 ARG HB2 HA 0.090000 1.0080 0 602 BPTI 39 ARG CG CT2 -0.180000 12.0110 0 603 BPTI 39 ARG HG1 HA 0.090000 1.0080 0 604 BPTI 39 ARG HG2 HA 0.090000 1.0080 0 605 BPTI 39 ARG CD CT2 0.200000 12.0110 0 606 BPTI 39 ARG HD1 HA 0.090000 1.0080 0 607 BPTI 39 ARG HD2 HA 0.090000 1.0080 0 608 BPTI 39 ARG NE NC2 -0.700000 14.0070 0 609 BPTI 39 ARG HE HC 0.440000 1.0080 0 610 BPTI 39 ARG CZ C 0.640000 12.0110 0 611 BPTI 39 ARG NH1 NC2 -0.800000 14.0070 0 612 BPTI 39 ARG HH11 HC 0.460000 1.0080 0 613 BPTI 39 ARG HH12 HC 0.460000 1.0080 0 614 BPTI 39 ARG NH2 NC2 -0.800000 14.0070 0 615 BPTI 39 ARG HH21 HC 0.460000 1.0080 0 616 BPTI 39 ARG HH22 HC 0.460000 1.0080 0 617 BPTI 39 ARG C C 0.510000 12.0110 0 618 BPTI 39 ARG O O -0.510000 15.9990 0 619 BPTI 40 ALA N NH1 -0.470000 14.0070 0 620 BPTI 40 ALA HN H 0.310000 1.0080 0 621 BPTI 40 ALA CA CT1 0.070000 12.0110 0 622 BPTI 40 ALA HA HB 0.090000 1.0080 0 623 BPTI 40 ALA CB CT3 -0.270000 12.0110 0 624 BPTI 40 ALA HB1 HA 0.090000 1.0080 0 625 BPTI 40 ALA HB2 HA 0.090000 1.0080 0 626 BPTI 40 ALA HB3 HA 0.090000 1.0080 0 627 BPTI 40 ALA C C 0.510000 12.0110 0 628 BPTI 40 ALA O O -0.510000 15.9990 0 629 BPTI 41 LYS N NH1 -0.470000 14.0070 0 630 BPTI 41 LYS HN H 0.310000 1.0080 0 631 BPTI 41 LYS CA CT1 0.070000 12.0110 0 632 BPTI 41 LYS HA HB 0.090000 1.0080 0 633 BPTI 41 LYS CB CT2 -0.180000 12.0110 0 634 BPTI 41 LYS HB1 HA 0.090000 1.0080 0 635 BPTI 41 LYS HB2 HA 0.090000 1.0080 0 636 BPTI 41 LYS CG CT2 -0.180000 12.0110 0 637 BPTI 41 LYS HG1 HA 0.090000 1.0080 0 638 BPTI 41 LYS HG2 HA 0.090000 1.0080 0 639 BPTI 41 LYS CD CT2 -0.180000 12.0110 0 640 BPTI 41 LYS HD1 HA 0.090000 1.0080 0 641 BPTI 41 LYS HD2 HA 0.090000 1.0080 0 642 BPTI 41 LYS CE CT2 0.210000 12.0110 0 643 BPTI 41 LYS HE1 HA 0.050000 1.0080 0 644 BPTI 41 LYS HE2 HA 0.050000 1.0080 0 645 BPTI 41 LYS NZ NH3 -0.300000 14.0070 0 646 BPTI 41 LYS HZ1 HC 0.330000 1.0080 0 647 BPTI 41 LYS HZ2 HC 0.330000 1.0080 0 648 BPTI 41 LYS HZ3 HC 0.330000 1.0080 0 649 BPTI 41 LYS C C 0.510000 12.0110 0 650 BPTI 41 LYS O O -0.510000 15.9990 0 651 BPTI 42 ARG N NH1 -0.470000 14.0070 0 652 BPTI 42 ARG HN H 0.310000 1.0080 0 653 BPTI 42 ARG CA CT1 0.070000 12.0110 0 654 BPTI 42 ARG HA HB 0.090000 1.0080 0 655 BPTI 42 ARG CB CT2 -0.180000 12.0110 0 656 BPTI 42 ARG HB1 HA 0.090000 1.0080 0 657 BPTI 42 ARG HB2 HA 0.090000 1.0080 0 658 BPTI 42 ARG CG CT2 -0.180000 12.0110 0 659 BPTI 42 ARG HG1 HA 0.090000 1.0080 0 660 BPTI 42 ARG HG2 HA 0.090000 1.0080 0 661 BPTI 42 ARG CD CT2 0.200000 12.0110 0 662 BPTI 42 ARG HD1 HA 0.090000 1.0080 0 663 BPTI 42 ARG HD2 HA 0.090000 1.0080 0 664 BPTI 42 ARG NE NC2 -0.700000 14.0070 0 665 BPTI 42 ARG HE HC 0.440000 1.0080 0 666 BPTI 42 ARG CZ C 0.640000 12.0110 0 667 BPTI 42 ARG NH1 NC2 -0.800000 14.0070 0 668 BPTI 42 ARG HH11 HC 0.460000 1.0080 0 669 BPTI 42 ARG HH12 HC 0.460000 1.0080 0 670 BPTI 42 ARG NH2 NC2 -0.800000 14.0070 0 671 BPTI 42 ARG HH21 HC 0.460000 1.0080 0 672 BPTI 42 ARG HH22 HC 0.460000 1.0080 0 673 BPTI 42 ARG C C 0.510000 12.0110 0 674 BPTI 42 ARG O O -0.510000 15.9990 0 675 BPTI 43 ASN N NH1 -0.470000 14.0070 0 676 BPTI 43 ASN HN H 0.310000 1.0080 0 677 BPTI 43 ASN CA CT1 0.070000 12.0110 0 678 BPTI 43 ASN HA HB 0.090000 1.0080 0 679 BPTI 43 ASN CB CT2 -0.180000 12.0110 0 680 BPTI 43 ASN HB1 HA 0.090000 1.0080 0 681 BPTI 43 ASN HB2 HA 0.090000 1.0080 0 682 BPTI 43 ASN CG CC 0.550000 12.0110 0 683 BPTI 43 ASN OD1 O -0.550000 15.9990 0 684 BPTI 43 ASN ND2 NH2 -0.620000 14.0070 0 685 BPTI 43 ASN HD21 H 0.320000 1.0080 0 686 BPTI 43 ASN HD22 H 0.300000 1.0080 0 687 BPTI 43 ASN C C 0.510000 12.0110 0 688 BPTI 43 ASN O O -0.510000 15.9990 0 689 BPTI 44 ASN N NH1 -0.470000 14.0070 0 690 BPTI 44 ASN HN H 0.310000 1.0080 0 691 BPTI 44 ASN CA CT1 0.070000 12.0110 0 692 BPTI 44 ASN HA HB 0.090000 1.0080 0 693 BPTI 44 ASN CB CT2 -0.180000 12.0110 0 694 BPTI 44 ASN HB1 HA 0.090000 1.0080 0 695 BPTI 44 ASN HB2 HA 0.090000 1.0080 0 696 BPTI 44 ASN CG CC 0.550000 12.0110 0 697 BPTI 44 ASN OD1 O -0.550000 15.9990 0 698 BPTI 44 ASN ND2 NH2 -0.620000 14.0070 0 699 BPTI 44 ASN HD21 H 0.320000 1.0080 0 700 BPTI 44 ASN HD22 H 0.300000 1.0080 0 701 BPTI 44 ASN C C 0.510000 12.0110 0 702 BPTI 44 ASN O O -0.510000 15.9990 0 703 BPTI 45 PHE N NH1 -0.470000 14.0070 0 704 BPTI 45 PHE HN H 0.310000 1.0080 0 705 BPTI 45 PHE CA CT1 0.070000 12.0110 0 706 BPTI 45 PHE HA HB 0.090000 1.0080 0 707 BPTI 45 PHE CB CT2 -0.180000 12.0110 0 708 BPTI 45 PHE HB1 HA 0.090000 1.0080 0 709 BPTI 45 PHE HB2 HA 0.090000 1.0080 0 710 BPTI 45 PHE CG CA 0.000000 12.0110 0 711 BPTI 45 PHE CD1 CA -0.115000 12.0110 0 712 BPTI 45 PHE HD1 HP 0.115000 1.0080 0 713 BPTI 45 PHE CE1 CA -0.115000 12.0110 0 714 BPTI 45 PHE HE1 HP 0.115000 1.0080 0 715 BPTI 45 PHE CZ CA -0.115000 12.0110 0 716 BPTI 45 PHE HZ HP 0.115000 1.0080 0 717 BPTI 45 PHE CD2 CA -0.115000 12.0110 0 718 BPTI 45 PHE HD2 HP 0.115000 1.0080 0 719 BPTI 45 PHE CE2 CA -0.115000 12.0110 0 720 BPTI 45 PHE HE2 HP 0.115000 1.0080 0 721 BPTI 45 PHE C C 0.510000 12.0110 0 722 BPTI 45 PHE O O -0.510000 15.9990 0 723 BPTI 46 LYS N NH1 -0.470000 14.0070 0 724 BPTI 46 LYS HN H 0.310000 1.0080 0 725 BPTI 46 LYS CA CT1 0.070000 12.0110 0 726 BPTI 46 LYS HA HB 0.090000 1.0080 0 727 BPTI 46 LYS CB CT2 -0.180000 12.0110 0 728 BPTI 46 LYS HB1 HA 0.090000 1.0080 0 729 BPTI 46 LYS HB2 HA 0.090000 1.0080 0 730 BPTI 46 LYS CG CT2 -0.180000 12.0110 0 731 BPTI 46 LYS HG1 HA 0.090000 1.0080 0 732 BPTI 46 LYS HG2 HA 0.090000 1.0080 0 733 BPTI 46 LYS CD CT2 -0.180000 12.0110 0 734 BPTI 46 LYS HD1 HA 0.090000 1.0080 0 735 BPTI 46 LYS HD2 HA 0.090000 1.0080 0 736 BPTI 46 LYS CE CT2 0.210000 12.0110 0 737 BPTI 46 LYS HE1 HA 0.050000 1.0080 0 738 BPTI 46 LYS HE2 HA 0.050000 1.0080 0 739 BPTI 46 LYS NZ NH3 -0.300000 14.0070 0 740 BPTI 46 LYS HZ1 HC 0.330000 1.0080 0 741 BPTI 46 LYS HZ2 HC 0.330000 1.0080 0 742 BPTI 46 LYS HZ3 HC 0.330000 1.0080 0 743 BPTI 46 LYS C C 0.510000 12.0110 0 744 BPTI 46 LYS O O -0.510000 15.9990 0 745 BPTI 47 SER N NH1 -0.470000 14.0070 0 746 BPTI 47 SER HN H 0.310000 1.0080 0 747 BPTI 47 SER CA CT1 0.070000 12.0110 0 748 BPTI 47 SER HA HB 0.090000 1.0080 0 749 BPTI 47 SER CB CT2 0.050000 12.0110 0 750 BPTI 47 SER HB1 HA 0.090000 1.0080 0 751 BPTI 47 SER HB2 HA 0.090000 1.0080 0 752 BPTI 47 SER OG OH1 -0.660000 15.9990 0 753 BPTI 47 SER HG1 H 0.430000 1.0080 0 754 BPTI 47 SER C C 0.510000 12.0110 0 755 BPTI 47 SER O O -0.510000 15.9990 0 756 BPTI 48 ALA N NH1 -0.470000 14.0070 0 757 BPTI 48 ALA HN H 0.310000 1.0080 0 758 BPTI 48 ALA CA CT1 0.070000 12.0110 0 759 BPTI 48 ALA HA HB 0.090000 1.0080 0 760 BPTI 48 ALA CB CT3 -0.270000 12.0110 0 761 BPTI 48 ALA HB1 HA 0.090000 1.0080 0 762 BPTI 48 ALA HB2 HA 0.090000 1.0080 0 763 BPTI 48 ALA HB3 HA 0.090000 1.0080 0 764 BPTI 48 ALA C C 0.510000 12.0110 0 765 BPTI 48 ALA O O -0.510000 15.9990 0 766 BPTI 49 GLU N NH1 -0.470000 14.0070 0 767 BPTI 49 GLU HN H 0.310000 1.0080 0 768 BPTI 49 GLU CA CT1 0.070000 12.0110 0 769 BPTI 49 GLU HA HB 0.090000 1.0080 0 770 BPTI 49 GLU CB CT2 -0.180000 12.0110 0 771 BPTI 49 GLU HB1 HA 0.090000 1.0080 0 772 BPTI 49 GLU HB2 HA 0.090000 1.0080 0 773 BPTI 49 GLU CG CT2 -0.280000 12.0110 0 774 BPTI 49 GLU HG1 HA 0.090000 1.0080 0 775 BPTI 49 GLU HG2 HA 0.090000 1.0080 0 776 BPTI 49 GLU CD CC 0.620000 12.0110 0 777 BPTI 49 GLU OE1 OC -0.760000 15.9990 0 778 BPTI 49 GLU OE2 OC -0.760000 15.9990 0 779 BPTI 49 GLU C C 0.510000 12.0110 0 780 BPTI 49 GLU O O -0.510000 15.9990 0 781 BPTI 50 ASP N NH1 -0.470000 14.0070 0 782 BPTI 50 ASP HN H 0.310000 1.0080 0 783 BPTI 50 ASP CA CT1 0.070000 12.0110 0 784 BPTI 50 ASP HA HB 0.090000 1.0080 0 785 BPTI 50 ASP CB CT2 -0.280000 12.0110 0 786 BPTI 50 ASP HB1 HA 0.090000 1.0080 0 787 BPTI 50 ASP HB2 HA 0.090000 1.0080 0 788 BPTI 50 ASP CG CC 0.620000 12.0110 0 789 BPTI 50 ASP OD1 OC -0.760000 15.9990 0 790 BPTI 50 ASP OD2 OC -0.760000 15.9990 0 791 BPTI 50 ASP C C 0.510000 12.0110 0 792 BPTI 50 ASP O O -0.510000 15.9990 0 793 BPTI 51 CYS SG SM -0.080000 32.0600 0 794 BPTI 51 CYS CB CT2 -0.100000 12.0110 0 795 BPTI 51 CYS N NH1 -0.470000 14.0070 0 796 BPTI 51 CYS HN H 0.310000 1.0080 0 797 BPTI 51 CYS CA CT1 0.070000 12.0110 0 798 BPTI 51 CYS HA HB 0.090000 1.0080 0 799 BPTI 51 CYS HB1 HA 0.090000 1.0080 0 800 BPTI 51 CYS HB2 HA 0.090000 1.0080 0 801 BPTI 51 CYS C C 0.510000 12.0110 0 802 BPTI 51 CYS O O -0.510000 15.9990 0 803 BPTI 52 MET N NH1 -0.470000 14.0070 0 804 BPTI 52 MET HN H 0.310000 1.0080 0 805 BPTI 52 MET CA CT1 0.070000 12.0110 0 806 BPTI 52 MET HA HB 0.090000 1.0080 0 807 BPTI 52 MET CB CT2 -0.180000 12.0110 0 808 BPTI 52 MET HB1 HA 0.090000 1.0080 0 809 BPTI 52 MET HB2 HA 0.090000 1.0080 0 810 BPTI 52 MET CG CT2 -0.140000 12.0110 0 811 BPTI 52 MET HG1 HA 0.090000 1.0080 0 812 BPTI 52 MET HG2 HA 0.090000 1.0080 0 813 BPTI 52 MET SD S -0.090000 32.0600 0 814 BPTI 52 MET CE CT3 -0.220000 12.0110 0 815 BPTI 52 MET HE1 HA 0.090000 1.0080 0 816 BPTI 52 MET HE2 HA 0.090000 1.0080 0 817 BPTI 52 MET HE3 HA 0.090000 1.0080 0 818 BPTI 52 MET C C 0.510000 12.0110 0 819 BPTI 52 MET O O -0.510000 15.9990 0 820 BPTI 53 ARG N NH1 -0.470000 14.0070 0 821 BPTI 53 ARG HN H 0.310000 1.0080 0 822 BPTI 53 ARG CA CT1 0.070000 12.0110 0 823 BPTI 53 ARG HA HB 0.090000 1.0080 0 824 BPTI 53 ARG CB CT2 -0.180000 12.0110 0 825 BPTI 53 ARG HB1 HA 0.090000 1.0080 0 826 BPTI 53 ARG HB2 HA 0.090000 1.0080 0 827 BPTI 53 ARG CG CT2 -0.180000 12.0110 0 828 BPTI 53 ARG HG1 HA 0.090000 1.0080 0 829 BPTI 53 ARG HG2 HA 0.090000 1.0080 0 830 BPTI 53 ARG CD CT2 0.200000 12.0110 0 831 BPTI 53 ARG HD1 HA 0.090000 1.0080 0 832 BPTI 53 ARG HD2 HA 0.090000 1.0080 0 833 BPTI 53 ARG NE NC2 -0.700000 14.0070 0 834 BPTI 53 ARG HE HC 0.440000 1.0080 0 835 BPTI 53 ARG CZ C 0.640000 12.0110 0 836 BPTI 53 ARG NH1 NC2 -0.800000 14.0070 0 837 BPTI 53 ARG HH11 HC 0.460000 1.0080 0 838 BPTI 53 ARG HH12 HC 0.460000 1.0080 0 839 BPTI 53 ARG NH2 NC2 -0.800000 14.0070 0 840 BPTI 53 ARG HH21 HC 0.460000 1.0080 0 841 BPTI 53 ARG HH22 HC 0.460000 1.0080 0 842 BPTI 53 ARG C C 0.510000 12.0110 0 843 BPTI 53 ARG O O -0.510000 15.9990 0 844 BPTI 54 THR N NH1 -0.470000 14.0070 0 845 BPTI 54 THR HN H 0.310000 1.0080 0 846 BPTI 54 THR CA CT1 0.070000 12.0110 0 847 BPTI 54 THR HA HB 0.090000 1.0080 0 848 BPTI 54 THR CB CT1 0.140000 12.0110 0 849 BPTI 54 THR HB HA 0.090000 1.0080 0 850 BPTI 54 THR OG1 OH1 -0.660000 15.9990 0 851 BPTI 54 THR HG1 H 0.430000 1.0080 0 852 BPTI 54 THR CG2 CT3 -0.270000 12.0110 0 853 BPTI 54 THR HG21 HA 0.090000 1.0080 0 854 BPTI 54 THR HG22 HA 0.090000 1.0080 0 855 BPTI 54 THR HG23 HA 0.090000 1.0080 0 856 BPTI 54 THR C C 0.510000 12.0110 0 857 BPTI 54 THR O O -0.510000 15.9990 0 858 BPTI 55 CYS SG SM -0.080000 32.0600 0 859 BPTI 55 CYS CB CT2 -0.100000 12.0110 0 860 BPTI 55 CYS N NH1 -0.470000 14.0070 0 861 BPTI 55 CYS HN H 0.310000 1.0080 0 862 BPTI 55 CYS CA CT1 0.070000 12.0110 0 863 BPTI 55 CYS HA HB 0.090000 1.0080 0 864 BPTI 55 CYS HB1 HA 0.090000 1.0080 0 865 BPTI 55 CYS HB2 HA 0.090000 1.0080 0 866 BPTI 55 CYS C C 0.510000 12.0110 0 867 BPTI 55 CYS O O -0.510000 15.9990 0 868 BPTI 56 GLY N NH1 -0.470000 14.0070 0 869 BPTI 56 GLY HN H 0.310000 1.0080 0 870 BPTI 56 GLY CA CT2 -0.020000 12.0110 0 871 BPTI 56 GLY HA1 HB 0.090000 1.0080 0 872 BPTI 56 GLY HA2 HB 0.090000 1.0080 0 873 BPTI 56 GLY C C 0.510000 12.0110 0 874 BPTI 56 GLY O O -0.510000 15.9990 0 875 BPTI 57 GLY C CC 0.340000 12.0110 0 876 BPTI 57 GLY OT1 OC -0.670000 15.9990 0 877 BPTI 57 GLY OT2 OC -0.670000 15.9990 0 878 BPTI 57 GLY N NH1 -0.470000 14.0070 0 879 BPTI 57 GLY HN H 0.310000 1.0080 0 880 BPTI 57 GLY CA CT2 -0.020000 12.0110 0 881 BPTI 57 GLY HA1 HB 0.090000 1.0080 0 882 BPTI 57 GLY HA2 HB 0.090000 1.0080 0 883 SOLV 103 TIP3 OH2 OT -0.834000 15.9994 0 884 SOLV 103 TIP3 H1 HT 0.417000 1.0080 0 885 SOLV 103 TIP3 H2 HT 0.417000 1.0080 0 886 SOLV 105 TIP3 OH2 OT -0.834000 15.9994 0 887 SOLV 105 TIP3 H1 HT 0.417000 1.0080 0 888 SOLV 105 TIP3 H2 HT 0.417000 1.0080 0 889 SOLV 108 TIP3 OH2 OT -0.834000 15.9994 0 890 SOLV 108 TIP3 H1 HT 0.417000 1.0080 0 891 SOLV 108 TIP3 H2 HT 0.417000 1.0080 0 892 SOLV 110 TIP3 OH2 OT -0.834000 15.9994 0 893 SOLV 110 TIP3 H1 HT 0.417000 1.0080 0 894 SOLV 110 TIP3 H2 HT 0.417000 1.0080 0 895 SOLV 111 TIP3 OH2 OT -0.834000 15.9994 0 896 SOLV 111 TIP3 H1 HT 0.417000 1.0080 0 897 SOLV 111 TIP3 H2 HT 0.417000 1.0080 0 898 SOLV 112 TIP3 OH2 OT -0.834000 15.9994 0 899 SOLV 112 TIP3 H1 HT 0.417000 1.0080 0 900 SOLV 112 TIP3 H2 HT 0.417000 1.0080 0 901 SOLV 113 TIP3 OH2 OT -0.834000 15.9994 0 902 SOLV 113 TIP3 H1 HT 0.417000 1.0080 0 903 SOLV 113 TIP3 H2 HT 0.417000 1.0080 0 904 SOLV 115 TIP3 OH2 OT -0.834000 15.9994 0 905 SOLV 115 TIP3 H1 HT 0.417000 1.0080 0 906 SOLV 115 TIP3 H2 HT 0.417000 1.0080 0 907 SOLV 121 TIP3 OH2 OT -0.834000 15.9994 0 908 SOLV 121 TIP3 H1 HT 0.417000 1.0080 0 909 SOLV 121 TIP3 H2 HT 0.417000 1.0080 0 910 SOLV 122 TIP3 OH2 OT -0.834000 15.9994 0 911 SOLV 122 TIP3 H1 HT 0.417000 1.0080 0 912 SOLV 122 TIP3 H2 HT 0.417000 1.0080 0 913 SOLV 126 TIP3 OH2 OT -0.834000 15.9994 0 914 SOLV 126 TIP3 H1 HT 0.417000 1.0080 0 915 SOLV 126 TIP3 H2 HT 0.417000 1.0080 0 916 SOLV 129 TIP3 OH2 OT -0.834000 15.9994 0 917 SOLV 129 TIP3 H1 HT 0.417000 1.0080 0 918 SOLV 129 TIP3 H2 HT 0.417000 1.0080 0 919 SOLV 130 TIP3 OH2 OT -0.834000 15.9994 0 920 SOLV 130 TIP3 H1 HT 0.417000 1.0080 0 921 SOLV 130 TIP3 H2 HT 0.417000 1.0080 0 922 SOLV 134 TIP3 OH2 OT -0.834000 15.9994 0 923 SOLV 134 TIP3 H1 HT 0.417000 1.0080 0 924 SOLV 134 TIP3 H2 HT 0.417000 1.0080 0 925 SOLV 138 TIP3 OH2 OT -0.834000 15.9994 0 926 SOLV 138 TIP3 H1 HT 0.417000 1.0080 0 927 SOLV 138 TIP3 H2 HT 0.417000 1.0080 0 928 SOLV 143 TIP3 OH2 OT -0.834000 15.9994 0 929 SOLV 143 TIP3 H1 HT 0.417000 1.0080 0 930 SOLV 143 TIP3 H2 HT 0.417000 1.0080 0 931 SOLV 144 TIP3 OH2 OT -0.834000 15.9994 0 932 SOLV 144 TIP3 H1 HT 0.417000 1.0080 0 933 SOLV 144 TIP3 H2 HT 0.417000 1.0080 0 934 SOLV 149 TIP3 OH2 OT -0.834000 15.9994 0 935 SOLV 149 TIP3 H1 HT 0.417000 1.0080 0 936 SOLV 149 TIP3 H2 HT 0.417000 1.0080 0 937 SOLV 151 TIP3 OH2 OT -0.834000 15.9994 0 938 SOLV 151 TIP3 H1 HT 0.417000 1.0080 0 939 SOLV 151 TIP3 H2 HT 0.417000 1.0080 0 940 SOLV 152 TIP3 OH2 OT -0.834000 15.9994 0 941 SOLV 152 TIP3 H1 HT 0.417000 1.0080 0 942 SOLV 152 TIP3 H2 HT 0.417000 1.0080 0 943 SOLV 153 TIP3 OH2 OT -0.834000 15.9994 0 944 SOLV 153 TIP3 H1 HT 0.417000 1.0080 0 945 SOLV 153 TIP3 H2 HT 0.417000 1.0080 0 946 SOLV 156 TIP3 OH2 OT -0.834000 15.9994 0 947 SOLV 156 TIP3 H1 HT 0.417000 1.0080 0 948 SOLV 156 TIP3 H2 HT 0.417000 1.0080 0 949 SOLV 157 TIP3 OH2 OT -0.834000 15.9994 0 950 SOLV 157 TIP3 H1 HT 0.417000 1.0080 0 951 SOLV 157 TIP3 H2 HT 0.417000 1.0080 0 952 SOLV 158 TIP3 OH2 OT -0.834000 15.9994 0 953 SOLV 158 TIP3 H1 HT 0.417000 1.0080 0 954 SOLV 158 TIP3 H2 HT 0.417000 1.0080 0 955 SOLV 159 TIP3 OH2 OT -0.834000 15.9994 0 956 SOLV 159 TIP3 H1 HT 0.417000 1.0080 0 957 SOLV 159 TIP3 H2 HT 0.417000 1.0080 0 958 SOLV 160 TIP3 OH2 OT -0.834000 15.9994 0 959 SOLV 160 TIP3 H1 HT 0.417000 1.0080 0 960 SOLV 160 TIP3 H2 HT 0.417000 1.0080 0 961 SOLV 201 TIP3 OH2 OT -0.834000 15.9994 0 962 SOLV 201 TIP3 H1 HT 0.417000 1.0080 0 963 SOLV 201 TIP3 H2 HT 0.417000 1.0080 0 964 SOLV 202 TIP3 OH2 OT -0.834000 15.9994 0 965 SOLV 202 TIP3 H1 HT 0.417000 1.0080 0 966 SOLV 202 TIP3 H2 HT 0.417000 1.0080 0 967 SOLV 203 TIP3 OH2 OT -0.834000 15.9994 0 968 SOLV 203 TIP3 H1 HT 0.417000 1.0080 0 969 SOLV 203 TIP3 H2 HT 0.417000 1.0080 0 970 SOLV 204 TIP3 OH2 OT -0.834000 15.9994 0 971 SOLV 204 TIP3 H1 HT 0.417000 1.0080 0 972 SOLV 204 TIP3 H2 HT 0.417000 1.0080 0 973 SOLV 205 TIP3 OH2 OT -0.834000 15.9994 0 974 SOLV 205 TIP3 H1 HT 0.417000 1.0080 0 975 SOLV 205 TIP3 H2 HT 0.417000 1.0080 0 976 SOLV 206 TIP3 OH2 OT -0.834000 15.9994 0 977 SOLV 206 TIP3 H1 HT 0.417000 1.0080 0 978 SOLV 206 TIP3 H2 HT 0.417000 1.0080 0 979 SOLV 207 TIP3 OH2 OT -0.834000 15.9994 0 980 SOLV 207 TIP3 H1 HT 0.417000 1.0080 0 981 SOLV 207 TIP3 H2 HT 0.417000 1.0080 0 982 SOLV 208 TIP3 OH2 OT -0.834000 15.9994 0 983 SOLV 208 TIP3 H1 HT 0.417000 1.0080 0 984 SOLV 208 TIP3 H2 HT 0.417000 1.0080 0 985 SOLV 209 TIP3 OH2 OT -0.834000 15.9994 0 986 SOLV 209 TIP3 H1 HT 0.417000 1.0080 0 987 SOLV 209 TIP3 H2 HT 0.417000 1.0080 0 988 SOLV 210 TIP3 OH2 OT -0.834000 15.9994 0 989 SOLV 210 TIP3 H1 HT 0.417000 1.0080 0 990 SOLV 210 TIP3 H2 HT 0.417000 1.0080 0 991 SOLV 211 TIP3 OH2 OT -0.834000 15.9994 0 992 SOLV 211 TIP3 H1 HT 0.417000 1.0080 0 993 SOLV 211 TIP3 H2 HT 0.417000 1.0080 0 994 SOLV 212 TIP3 OH2 OT -0.834000 15.9994 0 995 SOLV 212 TIP3 H1 HT 0.417000 1.0080 0 996 SOLV 212 TIP3 H2 HT 0.417000 1.0080 0 997 SOLV 213 TIP3 OH2 OT -0.834000 15.9994 0 998 SOLV 213 TIP3 H1 HT 0.417000 1.0080 0 999 SOLV 213 TIP3 H2 HT 0.417000 1.0080 0 1000 SOLV 214 TIP3 OH2 OT -0.834000 15.9994 0 1001 SOLV 214 TIP3 H1 HT 0.417000 1.0080 0 1002 SOLV 214 TIP3 H2 HT 0.417000 1.0080 0 1003 SOLV 215 TIP3 OH2 OT -0.834000 15.9994 0 1004 SOLV 215 TIP3 H1 HT 0.417000 1.0080 0 1005 SOLV 215 TIP3 H2 HT 0.417000 1.0080 0 1006 SOLV 216 TIP3 OH2 OT -0.834000 15.9994 0 1007 SOLV 216 TIP3 H1 HT 0.417000 1.0080 0 1008 SOLV 216 TIP3 H2 HT 0.417000 1.0080 0 1009 SOLV 217 TIP3 OH2 OT -0.834000 15.9994 0 1010 SOLV 217 TIP3 H1 HT 0.417000 1.0080 0 1011 SOLV 217 TIP3 H2 HT 0.417000 1.0080 0 1012 SOLV 218 TIP3 OH2 OT -0.834000 15.9994 0 1013 SOLV 218 TIP3 H1 HT 0.417000 1.0080 0 1014 SOLV 218 TIP3 H2 HT 0.417000 1.0080 0 1015 SOLV 219 TIP3 OH2 OT -0.834000 15.9994 0 1016 SOLV 219 TIP3 H1 HT 0.417000 1.0080 0 1017 SOLV 219 TIP3 H2 HT 0.417000 1.0080 0 1018 SOLV 220 TIP3 OH2 OT -0.834000 15.9994 0 1019 SOLV 220 TIP3 H1 HT 0.417000 1.0080 0 1020 SOLV 220 TIP3 H2 HT 0.417000 1.0080 0 1021 SOLV 221 TIP3 OH2 OT -0.834000 15.9994 0 1022 SOLV 221 TIP3 H1 HT 0.417000 1.0080 0 1023 SOLV 221 TIP3 H2 HT 0.417000 1.0080 0 1024 SOLV 222 TIP3 OH2 OT -0.834000 15.9994 0 1025 SOLV 222 TIP3 H1 HT 0.417000 1.0080 0 1026 SOLV 222 TIP3 H2 HT 0.417000 1.0080 0 1027 SOLV 223 TIP3 OH2 OT -0.834000 15.9994 0 1028 SOLV 223 TIP3 H1 HT 0.417000 1.0080 0 1029 SOLV 223 TIP3 H2 HT 0.417000 1.0080 0 1030 SOLV 224 TIP3 OH2 OT -0.834000 15.9994 0 1031 SOLV 224 TIP3 H1 HT 0.417000 1.0080 0 1032 SOLV 224 TIP3 H2 HT 0.417000 1.0080 0 1033 SOLV 225 TIP3 OH2 OT -0.834000 15.9994 0 1034 SOLV 225 TIP3 H1 HT 0.417000 1.0080 0 1035 SOLV 225 TIP3 H2 HT 0.417000 1.0080 0 1036 SOLV 226 TIP3 OH2 OT -0.834000 15.9994 0 1037 SOLV 226 TIP3 H1 HT 0.417000 1.0080 0 1038 SOLV 226 TIP3 H2 HT 0.417000 1.0080 0 1039 SOLV 227 TIP3 OH2 OT -0.834000 15.9994 0 1040 SOLV 227 TIP3 H1 HT 0.417000 1.0080 0 1041 SOLV 227 TIP3 H2 HT 0.417000 1.0080 0 1042 SOLV 228 TIP3 OH2 OT -0.834000 15.9994 0 1043 SOLV 228 TIP3 H1 HT 0.417000 1.0080 0 1044 SOLV 228 TIP3 H2 HT 0.417000 1.0080 0 1045 SOLV 229 TIP3 OH2 OT -0.834000 15.9994 0 1046 SOLV 229 TIP3 H1 HT 0.417000 1.0080 0 1047 SOLV 229 TIP3 H2 HT 0.417000 1.0080 0 1048 SOLV 230 TIP3 OH2 OT -0.834000 15.9994 0 1049 SOLV 230 TIP3 H1 HT 0.417000 1.0080 0 1050 SOLV 230 TIP3 H2 HT 0.417000 1.0080 0 1051 SOLV 231 TIP3 OH2 OT -0.834000 15.9994 0 1052 SOLV 231 TIP3 H1 HT 0.417000 1.0080 0 1053 SOLV 231 TIP3 H2 HT 0.417000 1.0080 0 1054 SOLV 232 TIP3 OH2 OT -0.834000 15.9994 0 1055 SOLV 232 TIP3 H1 HT 0.417000 1.0080 0 1056 SOLV 232 TIP3 H2 HT 0.417000 1.0080 0 1057 SOLV 233 TIP3 OH2 OT -0.834000 15.9994 0 1058 SOLV 233 TIP3 H1 HT 0.417000 1.0080 0 1059 SOLV 233 TIP3 H2 HT 0.417000 1.0080 0 1060 SOLV 234 TIP3 OH2 OT -0.834000 15.9994 0 1061 SOLV 234 TIP3 H1 HT 0.417000 1.0080 0 1062 SOLV 234 TIP3 H2 HT 0.417000 1.0080 0 1063 SOLV 235 TIP3 OH2 OT -0.834000 15.9994 0 1064 SOLV 235 TIP3 H1 HT 0.417000 1.0080 0 1065 SOLV 235 TIP3 H2 HT 0.417000 1.0080 0 1066 SOLV 236 TIP3 OH2 OT -0.834000 15.9994 0 1067 SOLV 236 TIP3 H1 HT 0.417000 1.0080 0 1068 SOLV 236 TIP3 H2 HT 0.417000 1.0080 0 1069 SOLV 237 TIP3 OH2 OT -0.834000 15.9994 0 1070 SOLV 237 TIP3 H1 HT 0.417000 1.0080 0 1071 SOLV 237 TIP3 H2 HT 0.417000 1.0080 0 1072 SOLV 238 TIP3 OH2 OT -0.834000 15.9994 0 1073 SOLV 238 TIP3 H1 HT 0.417000 1.0080 0 1074 SOLV 238 TIP3 H2 HT 0.417000 1.0080 0 1075 SOLV 239 TIP3 OH2 OT -0.834000 15.9994 0 1076 SOLV 239 TIP3 H1 HT 0.417000 1.0080 0 1077 SOLV 239 TIP3 H2 HT 0.417000 1.0080 0 1078 SOLV 240 TIP3 OH2 OT -0.834000 15.9994 0 1079 SOLV 240 TIP3 H1 HT 0.417000 1.0080 0 1080 SOLV 240 TIP3 H2 HT 0.417000 1.0080 0 1081 SOLV 241 TIP3 OH2 OT -0.834000 15.9994 0 1082 SOLV 241 TIP3 H1 HT 0.417000 1.0080 0 1083 SOLV 241 TIP3 H2 HT 0.417000 1.0080 0 1084 SOLV 242 TIP3 OH2 OT -0.834000 15.9994 0 1085 SOLV 242 TIP3 H1 HT 0.417000 1.0080 0 1086 SOLV 242 TIP3 H2 HT 0.417000 1.0080 0 1087 SOLV 243 TIP3 OH2 OT -0.834000 15.9994 0 1088 SOLV 243 TIP3 H1 HT 0.417000 1.0080 0 1089 SOLV 243 TIP3 H2 HT 0.417000 1.0080 0 1090 SOLV 244 TIP3 OH2 OT -0.834000 15.9994 0 1091 SOLV 244 TIP3 H1 HT 0.417000 1.0080 0 1092 SOLV 244 TIP3 H2 HT 0.417000 1.0080 0 1093 SOLV 245 TIP3 OH2 OT -0.834000 15.9994 0 1094 SOLV 245 TIP3 H1 HT 0.417000 1.0080 0 1095 SOLV 245 TIP3 H2 HT 0.417000 1.0080 0 1096 SOLV 246 TIP3 OH2 OT -0.834000 15.9994 0 1097 SOLV 246 TIP3 H1 HT 0.417000 1.0080 0 1098 SOLV 246 TIP3 H2 HT 0.417000 1.0080 0 1099 SOLV 247 TIP3 OH2 OT -0.834000 15.9994 0 1100 SOLV 247 TIP3 H1 HT 0.417000 1.0080 0 1101 SOLV 247 TIP3 H2 HT 0.417000 1.0080 0 1115 !NBOND: bonds 1 5 2 1 3 1 4 1 5 6 7 5 7 8 7 9 10 7 10 11 10 12 13 10 13 14 13 15 16 13 16 17 18 16 18 19 19 20 19 21 22 18 22 23 22 24 25 5 25 27 26 25 27 31 27 28 29 28 30 28 31 33 32 31 33 36 34 33 35 33 36 28 37 36 38 36 39 31 39 41 40 39 41 42 41 43 43 44 45 43 45 46 45 47 48 45 48 49 50 48 51 43 51 53 52 51 53 54 53 55 55 56 57 55 57 58 57 59 60 57 61 62 61 60 63 61 63 64 65 69 65 63 65 66 67 60 67 68 69 67 69 70 71 55 71 75 72 71 73 77 73 79 73 80 74 858 74 73 75 76 75 77 77 78 81 77 81 83 82 81 83 84 83 85 85 86 87 85 87 88 87 89 90 87 90 91 92 90 92 93 92 94 92 95 96 90 96 97 96 98 96 99 100 85 100 102 101 100 102 103 102 104 104 105 106 104 106 107 106 108 109 106 109 110 109 111 112 109 112 113 114 112 115 104 115 117 116 115 117 121 117 118 119 118 120 118 121 123 122 121 123 126 124 123 125 123 126 118 127 126 128 126 129 121 129 131 130 129 131 135 131 132 133 132 134 132 135 137 136 135 137 140 138 137 139 137 140 132 141 140 142 140 143 135 143 145 144 143 145 146 145 147 147 148 149 147 149 150 149 151 152 149 153 154 153 152 155 153 155 156 155 157 157 162 158 157 158 159 160 152 160 161 162 163 162 160 164 147 164 166 165 164 166 167 166 168 168 169 170 168 170 171 172 170 172 173 174 170 174 175 174 176 174 177 178 168 178 180 179 178 180 181 180 182 182 183 182 184 185 182 185 187 186 185 187 191 187 188 189 188 190 188 191 193 192 191 193 196 194 193 195 193 196 188 197 196 198 196 199 191 199 203 200 199 201 205 201 207 201 208 202 585 202 201 203 204 203 205 205 206 209 205 209 211 210 209 211 212 211 213 213 214 215 213 215 216 215 217 218 215 218 219 218 220 221 218 221 222 221 223 224 221 224 225 224 226 227 224 227 228 227 229 227 230 231 213 231 233 232 231 233 234 233 235 235 236 237 235 237 238 237 239 237 240 241 235 241 243 242 241 243 244 243 245 245 246 247 245 247 248 247 249 250 247 250 251 250 252 253 250 253 254 253 255 256 253 256 257 258 256 258 259 259 260 259 261 262 258 262 263 262 264 265 245 265 267 266 265 267 268 267 269 269 270 271 269 271 272 273 271 273 274 273 275 273 276 277 271 277 278 277 279 280 277 280 281 280 282 280 283 284 269 284 286 285 284 286 287 286 288 288 289 290 288 290 291 292 290 292 293 292 294 292 295 296 290 296 297 296 298 299 296 299 300 299 301 299 302 303 288 303 305 304 303 305 306 305 307 307 308 309 307 309 310 309 311 312 309 312 313 312 314 315 312 315 316 315 317 318 315 318 319 320 318 320 321 321 322 321 323 324 320 324 325 324 326 327 307 327 329 328 327 329 330 329 331 331 332 333 331 333 334 333 335 336 333 337 338 337 336 339 337 339 340 339 341 341 346 342 341 342 343 344 336 344 345 346 347 346 344 348 331 348 350 349 348 350 351 350 352 352 353 354 352 354 355 354 356 357 354 358 359 358 357 360 358 360 361 362 366 362 360 362 363 364 357 364 365 366 364 366 367 368 352 368 370 369 368 370 371 370 372 372 373 374 372 374 375 374 376 377 374 378 379 378 377 380 378 380 381 380 382 382 387 383 382 383 384 385 377 385 386 387 388 387 385 389 372 389 391 390 389 391 392 391 393 393 394 395 393 395 396 395 397 398 395 398 399 400 398 400 401 400 402 403 393 403 405 403 404 405 406 405 407 407 408 409 407 409 410 409 411 409 412 413 407 413 415 414 413 415 416 415 417 417 418 419 417 419 420 419 421 422 419 422 423 422 424 425 422 425 426 425 427 428 425 428 429 428 430 431 428 431 432 431 433 431 434 435 417 435 437 436 435 437 438 437 439 439 440 441 439 441 442 441 443 441 444 445 439 445 447 446 445 447 448 447 449 449 450 449 451 452 449 452 454 453 452 454 455 454 456 456 457 458 456 458 459 458 460 461 458 461 462 463 461 463 464 463 465 463 466 467 461 467 468 467 469 467 470 471 456 471 475 472 471 473 477 473 479 473 480 474 793 474 473 475 476 475 477 477 478 481 477 481 483 482 481 483 484 483 485 485 486 487 485 487 488 487 489 490 487 490 491 490 492 493 490 493 494 495 493 495 496 495 497 498 485 498 500 499 498 500 501 500 502 502 503 504 502 504 505 506 504 506 507 508 504 508 509 508 510 508 511 512 502 512 514 513 512 514 515 514 516 516 517 518 516 518 519 518 520 521 518 522 523 522 521 524 522 524 525 526 530 526 524 526 527 528 521 528 529 530 528 530 531 532 516 532 534 533 532 534 535 534 536 536 537 538 536 538 539 540 538 540 541 540 542 540 543 544 538 544 545 544 546 544 547 548 536 548 550 549 548 550 551 550 552 552 553 554 552 554 555 554 556 557 554 558 559 558 557 560 558 560 561 560 562 562 567 563 562 563 564 565 557 565 566 567 568 567 565 569 552 569 571 570 569 571 572 571 573 573 574 573 575 576 573 576 578 577 576 578 579 578 580 580 581 580 582 583 580 583 587 584 583 585 586 586 589 586 591 586 592 587 588 587 589 589 590 593 589 593 595 594 593 595 596 595 597 597 598 599 597 599 600 599 601 602 599 602 603 602 604 605 602 605 606 605 607 608 605 608 609 610 608 610 611 611 612 611 613 614 610 614 615 614 616 617 597 617 619 618 617 619 620 619 621 621 622 623 621 623 624 623 625 623 626 627 621 627 629 628 627 629 630 629 631 631 632 633 631 633 634 633 635 636 633 636 637 636 638 639 636 639 640 639 641 642 639 642 643 642 644 645 642 645 646 645 647 645 648 649 631 649 651 650 649 651 652 651 653 653 654 655 653 655 656 655 657 658 655 658 659 658 660 661 658 661 662 661 663 664 661 664 665 666 664 666 667 667 668 667 669 670 666 670 671 670 672 673 653 673 675 674 673 675 676 675 677 677 678 679 677 679 680 679 681 682 679 682 683 684 682 684 685 684 686 687 677 687 689 687 688 689 690 689 691 691 692 693 691 693 694 693 695 696 693 696 697 698 696 698 699 698 700 701 691 701 703 701 702 703 704 703 705 705 706 707 705 707 708 707 709 710 707 711 712 711 710 713 711 713 714 715 719 715 713 715 716 717 710 717 718 719 717 719 720 721 705 721 723 722 721 723 724 723 725 725 726 727 725 727 728 727 729 730 727 730 731 730 732 733 730 733 734 733 735 736 733 736 737 736 738 739 736 739 740 739 741 739 742 743 725 743 745 744 743 745 746 745 747 747 748 749 747 749 750 749 751 752 749 752 753 754 747 754 756 755 754 756 757 756 758 758 759 760 758 760 761 760 762 760 763 764 758 764 766 765 764 766 767 766 768 768 769 770 768 770 771 770 772 773 770 773 774 773 775 776 773 776 777 778 776 779 768 779 781 780 779 781 782 781 783 783 784 785 783 785 786 785 787 788 785 788 789 790 788 791 783 791 795 792 791 793 794 794 797 794 799 794 800 795 796 795 797 797 798 801 797 801 803 802 801 803 804 803 805 805 806 807 805 807 808 807 809 810 807 810 811 810 812 813 810 814 813 814 815 814 816 814 817 818 805 818 820 819 818 820 821 820 822 822 823 824 822 824 825 824 826 827 824 827 828 827 829 830 827 830 831 830 832 833 830 833 834 835 833 835 836 836 837 836 838 839 835 839 840 839 841 842 822 842 844 843 842 844 845 844 846 846 847 848 846 848 849 850 848 850 851 852 848 852 853 852 854 852 855 856 846 856 860 857 856 858 859 859 862 859 864 859 865 860 861 860 862 862 863 866 862 866 868 867 866 868 869 868 870 870 871 870 872 873 870 873 878 874 873 875 877 875 876 875 880 878 879 878 880 880 881 880 882 883 884 883 885 884 885 886 887 886 888 887 888 889 890 889 891 890 891 892 893 892 894 893 894 895 896 895 897 896 897 898 899 898 900 899 900 901 902 901 903 902 903 904 905 904 906 905 906 907 908 907 909 908 909 910 911 910 912 911 912 913 914 913 915 914 915 916 917 916 918 917 918 919 920 919 921 920 921 922 923 922 924 923 924 925 926 925 927 926 927 928 929 928 930 929 930 931 932 931 933 932 933 934 935 934 936 935 936 937 938 937 939 938 939 940 941 940 942 941 942 943 944 943 945 944 945 946 947 946 948 947 948 949 950 949 951 950 951 952 953 952 954 953 954 955 956 955 957 956 957 958 959 958 960 959 960 961 962 961 963 962 963 964 965 964 966 965 966 967 968 967 969 968 969 970 971 970 972 971 972 973 974 973 975 974 975 976 977 976 978 977 978 979 980 979 981 980 981 982 983 982 984 983 984 985 986 985 987 986 987 988 989 988 990 989 990 991 992 991 993 992 993 994 995 994 996 995 996 997 998 997 999 998 999 1000 1001 1000 1002 1001 1002 1003 1004 1003 1005 1004 1005 1006 1007 1006 1008 1007 1008 1009 1010 1009 1011 1010 1011 1012 1013 1012 1014 1013 1014 1015 1016 1015 1017 1016 1017 1018 1019 1018 1020 1019 1020 1021 1022 1021 1023 1022 1023 1024 1025 1024 1026 1025 1026 1027 1028 1027 1029 1028 1029 1030 1031 1030 1032 1031 1032 1033 1034 1033 1035 1034 1035 1036 1037 1036 1038 1037 1038 1039 1040 1039 1041 1040 1041 1042 1043 1042 1044 1043 1044 1045 1046 1045 1047 1046 1047 1048 1049 1048 1050 1049 1050 1051 1052 1051 1053 1052 1053 1054 1055 1054 1056 1055 1056 1057 1058 1057 1059 1058 1059 1060 1061 1060 1062 1061 1062 1063 1064 1063 1065 1064 1065 1066 1067 1066 1068 1067 1068 1069 1070 1069 1071 1070 1071 1072 1073 1072 1074 1073 1074 1075 1076 1075 1077 1076 1077 1078 1079 1078 1080 1079 1080 1081 1082 1081 1083 1082 1083 1084 1085 1084 1086 1085 1086 1087 1088 1087 1089 1088 1089 1090 1091 1090 1092 1091 1092 1093 1094 1093 1095 1094 1095 1096 1097 1096 1098 1097 1098 1099 1100 1099 1101 1100 1101 1681 !NTHETA: angles 1 5 6 1 5 25 2 1 5 2 1 4 2 1 3 3 1 5 3 1 4 4 1 5 5 25 26 5 25 27 5 7 9 5 7 8 5 7 10 7 10 12 7 10 11 7 10 13 7 5 6 7 5 25 7 5 1 8 7 9 10 13 15 10 13 14 10 13 16 10 7 9 10 7 8 11 10 12 13 16 17 13 16 18 13 10 12 13 10 11 14 13 15 16 18 19 16 18 22 16 13 15 16 13 14 18 22 24 18 22 23 18 16 17 20 19 18 20 19 21 21 19 18 22 18 19 23 22 24 25 5 6 27 31 32 27 31 33 27 28 30 27 28 29 27 25 26 28 36 38 28 36 37 28 27 25 29 28 30 31 39 40 31 39 41 31 33 35 31 33 34 31 33 36 31 27 25 31 27 28 33 36 38 33 36 37 33 36 28 33 31 32 34 33 35 36 33 35 36 33 34 36 28 30 36 28 29 36 28 27 37 36 38 39 31 32 39 31 33 39 31 27 41 43 44 41 43 51 41 39 40 42 41 39 42 41 43 43 51 52 43 51 53 43 45 47 43 45 46 43 45 48 43 41 39 45 48 49 45 48 50 45 43 44 45 43 51 45 43 41 46 45 47 48 45 47 48 45 46 50 48 49 51 43 44 53 55 56 53 55 71 53 51 52 54 53 51 54 53 55 55 71 72 55 71 75 55 57 59 55 57 58 55 57 60 55 53 51 57 60 61 57 60 67 57 55 56 57 55 71 57 55 53 58 57 59 60 67 69 60 67 68 60 57 59 60 57 58 61 63 65 61 63 64 62 61 60 63 65 66 63 61 60 63 61 62 64 63 65 65 69 70 65 69 67 67 69 70 67 60 61 68 67 69 69 65 66 69 65 63 71 55 56 73 74 858 73 77 78 73 77 81 73 77 75 74 858 859 74 73 80 74 73 79 75 77 78 75 77 81 75 71 72 76 75 71 76 75 77 77 81 82 77 81 83 77 73 80 77 73 79 77 73 74 77 75 71 79 73 80 81 77 78 83 85 86 83 85 100 83 81 82 84 83 81 84 83 85 85 100 101 85 100 102 85 87 89 85 87 88 85 87 90 85 83 81 87 90 91 87 90 96 87 90 92 87 85 86 87 85 100 87 85 83 88 87 89 90 96 99 90 96 98 90 96 97 90 92 95 90 92 94 90 92 93 90 87 89 90 87 88 92 90 91 92 90 96 93 92 95 93 92 94 94 92 95 96 90 91 97 96 99 97 96 98 98 96 99 100 85 86 102 104 105 102 104 115 102 100 101 103 102 100 103 102 104 104 115 116 104 115 117 104 106 108 104 106 107 104 106 109 104 102 100 106 109 111 106 109 110 106 109 112 106 104 105 106 104 115 106 104 102 107 106 108 109 112 113 109 112 114 109 106 108 109 106 107 110 109 111 112 109 111 112 109 110 114 112 113 115 104 105 117 121 122 117 121 123 117 118 120 117 118 119 117 115 116 118 126 128 118 126 127 118 117 115 119 118 120 121 129 130 121 129 131 121 123 125 121 123 124 121 123 126 121 117 115 121 117 118 123 126 128 123 126 127 123 126 118 123 121 122 124 123 125 126 123 125 126 123 124 126 118 120 126 118 119 126 118 117 127 126 128 129 121 122 129 121 123 129 121 117 131 135 136 131 135 137 131 132 134 131 132 133 131 129 130 132 140 142 132 140 141 132 131 129 133 132 134 135 143 144 135 143 145 135 137 139 135 137 138 135 137 140 135 131 129 135 131 132 137 140 142 137 140 141 137 140 132 137 135 136 138 137 139 140 137 139 140 137 138 140 132 134 140 132 133 140 132 131 141 140 142 143 135 136 143 135 137 143 135 131 145 147 148 145 147 164 145 143 144 146 145 143 146 145 147 147 164 165 147 164 166 147 149 151 147 149 150 147 149 152 147 145 143 149 152 153 149 152 160 149 147 148 149 147 164 149 147 145 150 149 151 152 160 162 152 160 161 152 149 151 152 149 150 153 155 157 153 155 156 154 153 152 155 153 152 155 153 154 156 155 157 157 162 160 157 162 163 157 158 159 158 157 155 160 152 153 161 160 162 162 157 155 162 157 158 163 162 160 164 147 148 166 168 169 166 168 178 166 164 165 167 166 164 167 166 168 168 178 179 168 178 180 168 170 171 168 170 174 168 170 172 168 166 164 170 174 177 170 174 176 170 174 175 170 172 173 170 168 169 170 168 178 170 168 166 172 170 171 172 170 174 174 170 171 175 174 177 175 174 176 176 174 177 178 168 169 180 182 184 180 182 183 180 182 185 180 178 179 181 180 178 181 180 182 182 185 186 182 185 187 182 180 178 183 182 184 185 182 184 185 182 183 187 191 192 187 191 193 187 188 190 187 188 189 187 185 186 188 196 198 188 196 197 188 187 185 189 188 190 191 199 200 191 199 203 191 193 195 191 193 194 191 193 196 191 187 185 191 187 188 193 196 198 193 196 197 193 196 188 193 191 192 194 193 195 196 193 195 196 193 194 196 188 190 196 188 189 196 188 187 197 196 198 199 191 192 199 191 193 199 191 187 201 202 585 201 205 206 201 205 209 201 205 203 202 585 586 202 201 208 202 201 207 203 205 206 203 205 209 203 199 200 204 203 199 204 203 205 205 209 210 205 209 211 205 201 208 205 201 207 205 201 202 205 203 199 207 201 208 209 205 206 211 213 214 211 213 231 211 209 210 212 211 209 212 211 213 213 231 232 213 231 233 213 215 217 213 215 216 213 215 218 213 211 209 215 218 220 215 218 219 215 218 221 215 213 214 215 213 231 215 213 211 216 215 217 218 221 223 218 221 222 218 221 224 218 215 217 218 215 216 219 218 220 221 224 226 221 224 225 221 224 227 221 218 220 221 218 219 222 221 223 224 227 230 224 227 229 224 227 228 224 221 223 224 221 222 225 224 226 227 224 226 227 224 225 228 227 230 228 227 229 229 227 230 231 213 214 233 235 236 233 235 241 233 231 232 234 233 231 234 233 235 235 241 242 235 241 243 235 237 240 235 237 239 235 237 238 235 233 231 237 235 236 237 235 241 237 235 233 238 237 240 238 237 239 239 237 240 241 235 236 243 245 246 243 245 265 243 241 242 244 243 241 244 243 245 245 265 266 245 265 267 245 247 249 245 247 248 245 247 250 245 243 241 247 250 252 247 250 251 247 250 253 247 245 246 247 245 265 247 245 243 248 247 249 250 253 255 250 253 254 250 253 256 250 247 249 250 247 248 251 250 252 253 256 257 253 256 258 253 250 252 253 250 251 254 253 255 256 258 259 256 258 262 256 253 255 256 253 254 258 262 264 258 262 263 258 256 257 260 259 258 260 259 261 261 259 258 262 258 259 263 262 264 265 245 246 267 269 270 267 269 284 267 265 266 268 267 265 268 267 269 269 284 285 269 284 286 269 271 272 269 271 273 269 271 277 269 267 265 271 277 279 271 277 278 271 277 280 271 273 276 271 273 275 271 273 274 271 269 270 271 269 284 271 269 267 273 271 272 274 273 276 274 273 275 275 273 276 277 280 283 277 280 282 277 280 281 277 271 272 277 271 273 278 277 279 280 277 279 280 277 278 281 280 283 281 280 282 282 280 283 284 269 270 286 288 289 286 288 303 286 284 285 287 286 284 287 286 288 288 303 304 288 303 305 288 290 291 288 290 292 288 290 296 288 286 284 290 296 298 290 296 297 290 296 299 290 292 295 290 292 294 290 292 293 290 288 289 290 288 303 290 288 286 292 290 291 293 292 295 293 292 294 294 292 295 296 299 302 296 299 301 296 299 300 296 290 291 296 290 292 297 296 298 299 296 298 299 296 297 300 299 302 300 299 301 301 299 302 303 288 289 305 307 308 305 307 327 305 303 304 306 305 303 306 305 307 307 327 328 307 327 329 307 309 311 307 309 310 307 309 312 307 305 303 309 312 314 309 312 313 309 312 315 309 307 308 309 307 327 309 307 305 310 309 311 312 315 317 312 315 316 312 315 318 312 309 311 312 309 310 313 312 314 315 318 319 315 318 320 315 312 314 315 312 313 316 315 317 318 320 321 318 320 324 318 315 317 318 315 316 320 324 326 320 324 325 320 318 319 322 321 320 322 321 323 323 321 320 324 320 321 325 324 326 327 307 308 329 331 332 329 331 348 329 327 328 330 329 327 330 329 331 331 348 349 331 348 350 331 333 335 331 333 334 331 333 336 331 329 327 333 336 337 333 336 344 333 331 332 333 331 348 333 331 329 334 333 335 336 344 346 336 344 345 336 333 335 336 333 334 337 339 341 337 339 340 338 337 336 339 337 336 339 337 338 340 339 341 341 346 344 341 346 347 341 342 343 342 341 339 344 336 337 345 344 346 346 341 339 346 341 342 347 346 344 348 331 332 350 352 353 350 352 368 350 348 349 351 350 348 351 350 352 352 368 369 352 368 370 352 354 356 352 354 355 352 354 357 352 350 348 354 357 358 354 357 364 354 352 353 354 352 368 354 352 350 355 354 356 357 364 366 357 364 365 357 354 356 357 354 355 358 360 362 358 360 361 359 358 357 360 362 363 360 358 357 360 358 359 361 360 362 362 366 367 362 366 364 364 366 367 364 357 358 365 364 366 366 362 363 366 362 360 368 352 353 370 372 373 370 372 389 370 368 369 371 370 368 371 370 372 372 389 390 372 389 391 372 374 376 372 374 375 372 374 377 372 370 368 374 377 378 374 377 385 374 372 373 374 372 389 374 372 370 375 374 376 377 385 387 377 385 386 377 374 376 377 374 375 378 380 382 378 380 381 379 378 377 380 378 377 380 378 379 381 380 382 382 387 385 382 387 388 382 383 384 383 382 380 385 377 378 386 385 387 387 382 380 387 382 383 388 387 385 389 372 373 391 393 394 391 393 403 391 389 390 392 391 389 392 391 393 393 403 404 393 403 405 393 395 397 393 395 396 393 395 398 393 391 389 395 398 399 395 398 400 395 393 394 395 393 403 395 393 391 396 395 397 398 400 402 398 400 401 398 395 397 398 395 396 400 398 399 401 400 402 403 393 394 405 407 408 405 407 413 405 403 404 406 405 403 406 405 407 407 413 414 407 413 415 407 409 412 407 409 411 407 409 410 407 405 403 409 407 408 409 407 413 409 407 405 410 409 412 410 409 411 411 409 412 413 407 408 415 417 418 415 417 435 415 413 414 416 415 413 416 415 417 417 435 436 417 435 437 417 419 421 417 419 420 417 419 422 417 415 413 419 422 424 419 422 423 419 422 425 419 417 418 419 417 435 419 417 415 420 419 421 422 425 427 422 425 426 422 425 428 422 419 421 422 419 420 423 422 424 425 428 430 425 428 429 425 428 431 425 422 424 425 422 423 426 425 427 428 431 434 428 431 433 428 431 432 428 425 427 428 425 426 429 428 430 431 428 430 431 428 429 432 431 434 432 431 433 433 431 434 435 417 418 437 439 440 437 439 445 437 435 436 438 437 435 438 437 439 439 445 446 439 445 447 439 441 444 439 441 443 439 441 442 439 437 435 441 439 440 441 439 445 441 439 437 442 441 444 442 441 443 443 441 444 445 439 440 447 449 451 447 449 450 447 449 452 447 445 446 448 447 445 448 447 449 449 452 453 449 452 454 449 447 445 450 449 451 452 449 451 452 449 450 454 456 457 454 456 471 454 452 453 455 454 452 455 454 456 456 471 472 456 471 475 456 458 460 456 458 459 456 458 461 456 454 452 458 461 462 458 461 467 458 461 463 458 456 457 458 456 471 458 456 454 459 458 460 461 467 470 461 467 469 461 467 468 461 463 466 461 463 465 461 463 464 461 458 460 461 458 459 463 461 462 463 461 467 464 463 466 464 463 465 465 463 466 467 461 462 468 467 470 468 467 469 469 467 470 471 456 457 473 474 793 473 477 478 473 477 481 473 477 475 474 793 794 474 473 480 474 473 479 475 477 478 475 477 481 475 471 472 476 475 471 476 475 477 477 481 482 477 481 483 477 473 480 477 473 479 477 473 474 477 475 471 479 473 480 481 477 478 483 485 486 483 485 498 483 481 482 484 483 481 484 483 485 485 498 499 485 498 500 485 487 489 485 487 488 485 487 490 485 483 481 487 490 492 487 490 491 487 490 493 487 485 486 487 485 498 487 485 483 488 487 489 490 493 494 490 493 495 490 487 489 490 487 488 491 490 492 493 495 497 493 495 496 493 490 492 493 490 491 495 493 494 496 495 497 498 485 486 500 502 503 500 502 512 500 498 499 501 500 498 501 500 502 502 512 513 502 512 514 502 504 505 502 504 508 502 504 506 502 500 498 504 508 511 504 508 510 504 508 509 504 506 507 504 502 503 504 502 512 504 502 500 506 504 505 506 504 508 508 504 505 509 508 511 509 508 510 510 508 511 512 502 503 514 516 517 514 516 532 514 512 513 515 514 512 515 514 516 516 532 533 516 532 534 516 518 520 516 518 519 516 518 521 516 514 512 518 521 522 518 521 528 518 516 517 518 516 532 518 516 514 519 518 520 521 528 530 521 528 529 521 518 520 521 518 519 522 524 526 522 524 525 523 522 521 524 526 527 524 522 521 524 522 523 525 524 526 526 530 531 526 530 528 528 530 531 528 521 522 529 528 530 530 526 527 530 526 524 532 516 517 534 536 537 534 536 548 534 532 533 535 534 532 535 534 536 536 548 549 536 548 550 536 538 539 536 538 544 536 538 540 536 534 532 538 544 547 538 544 546 538 544 545 538 540 543 538 540 542 538 540 541 538 536 537 538 536 548 538 536 534 540 538 539 540 538 544 541 540 543 541 540 542 542 540 543 544 538 539 545 544 547 545 544 546 546 544 547 548 536 537 550 552 553 550 552 569 550 548 549 551 550 548 551 550 552 552 569 570 552 569 571 552 554 556 552 554 555 552 554 557 552 550 548 554 557 558 554 557 565 554 552 553 554 552 569 554 552 550 555 554 556 557 565 567 557 565 566 557 554 556 557 554 555 558 560 562 558 560 561 559 558 557 560 558 557 560 558 559 561 560 562 562 567 565 562 567 568 562 563 564 563 562 560 565 557 558 566 565 567 567 562 560 567 562 563 568 567 565 569 552 553 571 573 575 571 573 574 571 573 576 571 569 570 572 571 569 572 571 573 573 576 577 573 576 578 573 571 569 574 573 575 576 573 575 576 573 574 578 580 582 578 580 581 578 580 583 578 576 577 579 578 576 579 578 580 580 583 584 580 583 587 580 578 576 581 580 582 583 580 582 583 580 581 585 586 592 585 586 591 586 589 590 586 589 593 586 589 587 587 589 590 587 589 593 587 583 584 588 587 583 588 587 589 589 593 594 589 593 595 589 586 592 589 586 591 589 586 585 589 587 583 591 586 592 593 589 590 595 597 598 595 597 617 595 593 594 596 595 593 596 595 597 597 617 618 597 617 619 597 599 601 597 599 600 597 599 602 597 595 593 599 602 604 599 602 603 599 602 605 599 597 598 599 597 617 599 597 595 600 599 601 602 605 607 602 605 606 602 605 608 602 599 601 602 599 600 603 602 604 605 608 609 605 608 610 605 602 604 605 602 603 606 605 607 608 610 611 608 610 614 608 605 607 608 605 606 610 614 616 610 614 615 610 608 609 612 611 610 612 611 613 613 611 610 614 610 611 615 614 616 617 597 598 619 621 622 619 621 627 619 617 618 620 619 617 620 619 621 621 627 628 621 627 629 621 623 626 621 623 625 621 623 624 621 619 617 623 621 622 623 621 627 623 621 619 624 623 626 624 623 625 625 623 626 627 621 622 629 631 632 629 631 649 629 627 628 630 629 627 630 629 631 631 649 650 631 649 651 631 633 635 631 633 634 631 633 636 631 629 627 633 636 638 633 636 637 633 636 639 633 631 632 633 631 649 633 631 629 634 633 635 636 639 641 636 639 640 636 639 642 636 633 635 636 633 634 637 636 638 639 642 644 639 642 643 639 642 645 639 636 638 639 636 637 640 639 641 642 645 648 642 645 647 642 645 646 642 639 641 642 639 640 643 642 644 645 642 644 645 642 643 646 645 648 646 645 647 647 645 648 649 631 632 651 653 654 651 653 673 651 649 650 652 651 649 652 651 653 653 673 674 653 673 675 653 655 657 653 655 656 653 655 658 653 651 649 655 658 660 655 658 659 655 658 661 655 653 654 655 653 673 655 653 651 656 655 657 658 661 663 658 661 662 658 661 664 658 655 657 658 655 656 659 658 660 661 664 665 661 664 666 661 658 660 661 658 659 662 661 663 664 666 667 664 666 670 664 661 663 664 661 662 666 670 672 666 670 671 666 664 665 668 667 666 668 667 669 669 667 666 670 666 667 671 670 672 673 653 654 675 677 678 675 677 687 675 673 674 676 675 673 676 675 677 677 687 688 677 687 689 677 679 681 677 679 680 677 679 682 677 675 673 679 682 683 679 682 684 679 677 678 679 677 687 679 677 675 680 679 681 682 684 686 682 684 685 682 679 681 682 679 680 684 682 683 685 684 686 687 677 678 689 691 692 689 691 701 689 687 688 690 689 687 690 689 691 691 701 702 691 701 703 691 693 695 691 693 694 691 693 696 691 689 687 693 696 697 693 696 698 693 691 692 693 691 701 693 691 689 694 693 695 696 698 700 696 698 699 696 693 695 696 693 694 698 696 697 699 698 700 701 691 692 703 705 706 703 705 721 703 701 702 704 703 701 704 703 705 705 721 722 705 721 723 705 707 709 705 707 708 705 707 710 705 703 701 707 710 711 707 710 717 707 705 706 707 705 721 707 705 703 708 707 709 710 717 719 710 717 718 710 707 709 710 707 708 711 713 715 711 713 714 712 711 710 713 715 716 713 711 710 713 711 712 714 713 715 715 719 720 715 719 717 717 719 720 717 710 711 718 717 719 719 715 716 719 715 713 721 705 706 723 725 726 723 725 743 723 721 722 724 723 721 724 723 725 725 743 744 725 743 745 725 727 729 725 727 728 725 727 730 725 723 721 727 730 732 727 730 731 727 730 733 727 725 726 727 725 743 727 725 723 728 727 729 730 733 735 730 733 734 730 733 736 730 727 729 730 727 728 731 730 732 733 736 738 733 736 737 733 736 739 733 730 732 733 730 731 734 733 735 736 739 742 736 739 741 736 739 740 736 733 735 736 733 734 737 736 738 739 736 738 739 736 737 740 739 742 740 739 741 741 739 742 743 725 726 745 747 748 745 747 754 745 743 744 746 745 743 746 745 747 747 754 755 747 754 756 747 749 751 747 749 750 747 749 752 747 745 743 749 752 753 749 747 748 749 747 754 749 747 745 750 749 751 752 749 751 752 749 750 754 747 748 756 758 759 756 758 764 756 754 755 757 756 754 757 756 758 758 764 765 758 764 766 758 760 763 758 760 762 758 760 761 758 756 754 760 758 759 760 758 764 760 758 756 761 760 763 761 760 762 762 760 763 764 758 759 766 768 769 766 768 779 766 764 765 767 766 764 767 766 768 768 779 780 768 779 781 768 770 772 768 770 771 768 770 773 768 766 764 770 773 775 770 773 774 770 773 776 770 768 769 770 768 779 770 768 766 771 770 772 773 776 777 773 776 778 773 770 772 773 770 771 774 773 775 776 773 775 776 773 774 778 776 777 779 768 769 781 783 784 781 783 791 781 779 780 782 781 779 782 781 783 783 791 792 783 791 795 783 785 787 783 785 786 783 785 788 783 781 779 785 788 789 785 788 790 785 783 784 785 783 791 785 783 781 786 785 787 788 785 787 788 785 786 790 788 789 791 783 784 793 794 800 793 794 799 794 797 798 794 797 801 794 797 795 795 797 798 795 797 801 795 791 792 796 795 791 796 795 797 797 801 802 797 801 803 797 794 800 797 794 799 797 794 793 797 795 791 799 794 800 801 797 798 803 805 806 803 805 818 803 801 802 804 803 801 804 803 805 805 818 819 805 818 820 805 807 809 805 807 808 805 807 810 805 803 801 807 810 812 807 810 811 807 810 813 807 805 806 807 805 818 807 805 803 808 807 809 810 813 814 810 807 809 810 807 808 811 810 812 813 814 817 813 814 816 813 814 815 813 810 812 813 810 811 815 814 817 815 814 816 816 814 817 818 805 806 820 822 823 820 822 842 820 818 819 821 820 818 821 820 822 822 842 843 822 842 844 822 824 826 822 824 825 822 824 827 822 820 818 824 827 829 824 827 828 824 827 830 824 822 823 824 822 842 824 822 820 825 824 826 827 830 832 827 830 831 827 830 833 827 824 826 827 824 825 828 827 829 830 833 834 830 833 835 830 827 829 830 827 828 831 830 832 833 835 836 833 835 839 833 830 832 833 830 831 835 839 841 835 839 840 835 833 834 837 836 835 837 836 838 838 836 835 839 835 836 840 839 841 842 822 823 844 846 847 844 846 856 844 842 843 845 844 842 845 844 846 846 856 857 846 856 860 846 848 849 846 848 852 846 848 850 846 844 842 848 852 855 848 852 854 848 852 853 848 850 851 848 846 847 848 846 856 848 846 844 850 848 849 850 848 852 852 848 849 853 852 855 853 852 854 854 852 855 856 846 847 858 859 865 858 859 864 859 862 863 859 862 866 859 862 860 860 862 863 860 862 866 860 856 857 861 860 856 861 860 862 862 866 867 862 866 868 862 859 865 862 859 864 862 859 858 862 860 856 864 859 865 866 862 863 868 870 872 868 870 871 868 870 873 868 866 867 869 868 866 869 868 870 870 873 874 870 873 878 870 868 866 871 870 872 873 870 872 873 870 871 875 880 882 875 880 881 876 875 880 877 875 880 877 875 876 878 880 882 878 880 881 878 880 875 878 873 874 879 878 873 879 878 880 880 878 873 881 880 882 884 883 885 887 886 888 890 889 891 893 892 894 896 895 897 899 898 900 902 901 903 905 904 906 908 907 909 911 910 912 914 913 915 917 916 918 920 919 921 923 922 924 926 925 927 929 928 930 932 931 933 935 934 936 938 937 939 941 940 942 944 943 945 947 946 948 950 949 951 953 952 954 956 955 957 959 958 960 962 961 963 965 964 966 968 967 969 971 970 972 974 973 975 977 976 978 980 979 981 983 982 984 986 985 987 989 988 990 992 991 993 995 994 996 998 997 999 1001 1000 1002 1004 1003 1005 1007 1006 1008 1010 1009 1011 1013 1012 1014 1016 1015 1017 1019 1018 1020 1022 1021 1023 1025 1024 1026 1028 1027 1029 1031 1030 1032 1034 1033 1035 1037 1036 1038 1040 1039 1041 1043 1042 1044 1046 1045 1047 1049 1048 1050 1052 1051 1053 1055 1054 1056 1058 1057 1059 1061 1060 1062 1064 1063 1065 1067 1066 1068 1070 1069 1071 1073 1072 1074 1076 1075 1077 1079 1078 1080 1082 1081 1083 1085 1084 1086 1088 1087 1089 1091 1090 1092 1094 1093 1095 1097 1096 1098 1100 1099 1101 2366 !NPHI: dihedrals 1 5 7 10 1 5 7 8 1 5 7 9 1 5 25 27 1 5 25 26 2 1 5 7 2 1 5 25 2 1 5 6 3 1 5 7 3 1 5 25 3 1 5 6 4 1 5 7 4 1 5 25 4 1 5 6 5 25 27 31 5 25 27 28 5 7 10 13 5 7 10 11 5 7 10 12 6 5 7 10 6 5 7 8 6 5 7 9 6 5 25 27 6 5 25 26 7 10 13 16 7 10 13 14 7 10 13 15 7 5 25 27 7 5 25 26 8 7 5 25 8 7 10 13 8 7 10 11 8 7 10 12 9 7 5 25 9 7 10 13 9 7 10 11 9 7 10 12 10 13 16 18 10 13 16 17 10 7 5 25 11 10 13 16 11 10 13 14 11 10 13 15 12 10 13 16 12 10 13 14 12 10 13 15 13 16 18 22 13 16 18 19 14 13 16 18 14 13 16 17 15 13 16 18 15 13 16 17 16 18 22 23 16 18 22 24 16 18 19 20 16 18 19 21 17 16 18 22 17 16 18 19 19 18 22 23 19 18 22 24 20 19 18 22 21 19 18 22 25 27 31 39 25 27 31 33 25 27 31 32 25 27 28 36 25 27 28 29 25 27 28 30 26 25 27 31 26 25 27 28 27 31 39 41 27 31 39 40 27 31 33 36 27 31 33 34 27 31 33 35 27 28 36 33 27 28 36 37 27 28 36 38 28 36 33 31 28 36 33 34 28 36 33 35 28 27 31 39 28 27 31 33 28 27 31 32 29 28 36 33 29 28 36 37 29 28 36 38 29 28 27 31 30 28 36 33 30 28 36 37 30 28 36 38 30 28 27 31 31 39 41 42 31 39 41 43 31 33 36 37 31 33 36 38 31 27 28 36 32 31 39 41 32 31 39 40 32 31 33 36 32 31 33 34 32 31 33 35 33 31 39 41 33 31 39 40 34 33 31 39 34 33 36 37 34 33 36 38 35 33 31 39 35 33 36 37 35 33 36 38 36 33 31 39 39 41 43 45 39 41 43 51 39 41 43 44 40 39 41 42 40 39 41 43 41 43 45 48 41 43 45 46 41 43 45 47 41 43 51 53 41 43 51 52 42 41 43 45 42 41 43 51 42 41 43 44 43 51 53 54 43 51 53 55 43 45 48 50 43 45 48 49 44 43 45 48 44 43 45 46 44 43 45 47 44 43 51 53 44 43 51 52 45 43 51 53 45 43 51 52 46 45 43 51 46 45 48 50 46 45 48 49 47 45 43 51 47 45 48 50 47 45 48 49 48 45 43 51 51 53 55 57 51 53 55 71 51 53 55 56 52 51 53 54 52 51 53 55 53 55 57 60 53 55 57 58 53 55 57 59 53 55 71 75 53 55 71 72 54 53 55 57 54 53 55 71 54 53 55 56 55 71 75 76 55 71 75 77 55 57 60 67 55 57 60 61 56 55 57 60 56 55 57 58 56 55 57 59 56 55 71 75 56 55 71 72 57 60 67 68 57 60 67 69 57 60 61 63 57 60 61 62 57 55 71 75 57 55 71 72 58 57 55 71 58 57 60 67 58 57 60 61 59 57 55 71 59 57 60 67 59 57 60 61 60 67 69 65 60 67 69 70 60 61 63 64 60 61 63 65 60 57 55 71 61 63 65 69 61 63 65 66 61 60 67 68 61 60 67 69 62 61 63 64 62 61 63 65 62 61 60 67 63 65 69 67 63 65 69 70 63 61 60 67 64 63 65 69 64 63 65 66 65 69 67 68 66 65 69 67 66 65 69 70 68 67 69 70 71 75 77 73 71 75 77 81 71 75 77 78 72 71 75 76 72 71 75 77 73 74 858 859 73 77 81 83 73 77 81 82 74 858 859 862 74 73 77 81 75 77 73 74 75 77 73 79 75 77 73 80 75 77 81 83 75 77 81 82 76 75 77 73 76 75 77 81 76 75 77 78 77 73 74 858 77 81 83 84 77 81 83 85 78 77 73 74 78 77 73 79 78 77 73 80 78 77 81 83 78 77 81 82 79 73 74 858 79 73 77 81 80 73 74 858 80 73 77 81 81 83 85 87 81 83 85 100 81 83 85 86 82 81 83 84 82 81 83 85 83 85 87 90 83 85 87 88 83 85 87 89 83 85 100 102 83 85 100 101 84 83 85 87 84 83 85 100 84 83 85 86 85 100 102 103 85 100 102 104 85 87 90 92 85 87 90 96 85 87 90 91 86 85 87 90 86 85 87 88 86 85 87 89 86 85 100 102 86 85 100 101 87 90 92 93 87 90 92 94 87 90 92 95 87 90 96 97 87 90 96 98 87 90 96 99 87 85 100 102 87 85 100 101 88 87 85 100 88 87 90 92 88 87 90 96 88 87 90 91 89 87 85 100 89 87 90 92 89 87 90 96 89 87 90 91 90 87 85 100 91 90 92 93 91 90 92 94 91 90 92 95 91 90 96 97 91 90 96 98 91 90 96 99 92 90 96 97 92 90 96 98 92 90 96 99 93 92 90 96 94 92 90 96 95 92 90 96 100 102 104 106 100 102 104 115 100 102 104 105 101 100 102 103 101 100 102 104 102 104 106 109 102 104 106 107 102 104 106 108 102 104 115 117 102 104 115 116 103 102 104 106 103 102 104 115 103 102 104 105 104 115 117 121 104 115 117 118 104 106 109 112 104 106 109 110 104 106 109 111 105 104 106 109 105 104 106 107 105 104 106 108 105 104 115 117 105 104 115 116 106 109 112 114 106 109 112 113 106 104 115 117 106 104 115 116 107 106 104 115 107 106 109 112 107 106 109 110 107 106 109 111 108 106 104 115 108 106 109 112 108 106 109 110 108 106 109 111 109 106 104 115 110 109 112 114 110 109 112 113 111 109 112 114 111 109 112 113 115 117 121 129 115 117 121 123 115 117 121 122 115 117 118 126 115 117 118 119 115 117 118 120 116 115 117 121 116 115 117 118 117 121 129 131 117 121 129 130 117 121 123 126 117 121 123 124 117 121 123 125 117 118 126 123 117 118 126 127 117 118 126 128 118 126 123 121 118 126 123 124 118 126 123 125 118 117 121 129 118 117 121 123 118 117 121 122 119 118 126 123 119 118 126 127 119 118 126 128 119 118 117 121 120 118 126 123 120 118 126 127 120 118 126 128 120 118 117 121 121 129 131 135 121 129 131 132 121 123 126 127 121 123 126 128 121 117 118 126 122 121 129 131 122 121 129 130 122 121 123 126 122 121 123 124 122 121 123 125 123 121 129 131 123 121 129 130 124 123 121 129 124 123 126 127 124 123 126 128 125 123 121 129 125 123 126 127 125 123 126 128 126 123 121 129 129 131 135 143 129 131 135 137 129 131 135 136 129 131 132 140 129 131 132 133 129 131 132 134 130 129 131 135 130 129 131 132 131 135 143 145 131 135 143 144 131 135 137 140 131 135 137 138 131 135 137 139 131 132 140 137 131 132 140 141 131 132 140 142 132 140 137 135 132 140 137 138 132 140 137 139 132 131 135 143 132 131 135 137 132 131 135 136 133 132 140 137 133 132 140 141 133 132 140 142 133 132 131 135 134 132 140 137 134 132 140 141 134 132 140 142 134 132 131 135 135 143 145 146 135 143 145 147 135 137 140 141 135 137 140 142 135 131 132 140 136 135 143 145 136 135 143 144 136 135 137 140 136 135 137 138 136 135 137 139 137 135 143 145 137 135 143 144 138 137 135 143 138 137 140 141 138 137 140 142 139 137 135 143 139 137 140 141 139 137 140 142 140 137 135 143 143 145 147 149 143 145 147 164 143 145 147 148 144 143 145 146 144 143 145 147 145 147 149 152 145 147 149 150 145 147 149 151 145 147 164 166 145 147 164 165 146 145 147 149 146 145 147 164 146 145 147 148 147 164 166 167 147 164 166 168 147 149 152 160 147 149 152 153 148 147 149 152 148 147 149 150 148 147 149 151 148 147 164 166 148 147 164 165 149 152 160 161 149 152 160 162 149 152 153 155 149 152 153 154 149 147 164 166 149 147 164 165 150 149 147 164 150 149 152 160 150 149 152 153 151 149 147 164 151 149 152 160 151 149 152 153 152 160 162 157 152 160 162 163 152 153 155 156 152 153 155 157 152 149 147 164 153 155 157 162 153 155 157 158 153 152 160 161 153 152 160 162 154 153 155 156 154 153 155 157 154 153 152 160 155 157 162 163 155 157 162 160 155 157 158 159 155 153 152 160 156 155 157 162 156 155 157 158 157 162 160 161 158 157 162 163 158 157 162 160 159 158 157 162 161 160 162 163 164 166 168 170 164 166 168 178 164 166 168 169 165 164 166 167 165 164 166 168 166 168 170 172 166 168 170 174 166 168 170 171 166 168 178 180 166 168 178 179 167 166 168 170 167 166 168 178 167 166 168 169 168 178 180 181 168 178 180 182 168 170 172 173 168 170 174 175 168 170 174 176 168 170 174 177 169 168 170 172 169 168 170 174 169 168 170 171 169 168 178 180 169 168 178 179 170 168 178 180 170 168 178 179 171 170 168 178 171 170 172 173 171 170 174 175 171 170 174 176 171 170 174 177 172 170 168 178 172 170 174 175 172 170 174 176 172 170 174 177 173 172 170 174 174 170 168 178 178 180 182 185 178 180 182 183 178 180 182 184 179 178 180 181 179 178 180 182 180 182 185 187 180 182 185 186 181 180 182 185 181 180 182 183 181 180 182 184 182 185 187 191 182 185 187 188 183 182 185 187 183 182 185 186 184 182 185 187 184 182 185 186 185 187 191 199 185 187 191 193 185 187 191 192 185 187 188 196 185 187 188 189 185 187 188 190 186 185 187 191 186 185 187 188 187 191 199 203 187 191 199 200 187 191 193 196 187 191 193 194 187 191 193 195 187 188 196 193 187 188 196 197 187 188 196 198 188 196 193 191 188 196 193 194 188 196 193 195 188 187 191 199 188 187 191 193 188 187 191 192 189 188 196 193 189 188 196 197 189 188 196 198 189 188 187 191 190 188 196 193 190 188 196 197 190 188 196 198 190 188 187 191 191 199 203 204 191 199 203 205 191 193 196 197 191 193 196 198 191 187 188 196 192 191 199 203 192 191 199 200 192 191 193 196 192 191 193 194 192 191 193 195 193 191 199 203 193 191 199 200 194 193 191 199 194 193 196 197 194 193 196 198 195 193 191 199 195 193 196 197 195 193 196 198 196 193 191 199 199 203 205 201 199 203 205 209 199 203 205 206 200 199 203 204 200 199 203 205 201 202 585 586 201 205 209 211 201 205 209 210 202 585 586 589 202 201 205 209 203 205 201 202 203 205 201 207 203 205 201 208 203 205 209 211 203 205 209 210 204 203 205 201 204 203 205 209 204 203 205 206 205 201 202 585 205 209 211 212 205 209 211 213 206 205 201 202 206 205 201 207 206 205 201 208 206 205 209 211 206 205 209 210 207 201 202 585 207 201 205 209 208 201 202 585 208 201 205 209 209 211 213 215 209 211 213 231 209 211 213 214 210 209 211 212 210 209 211 213 211 213 215 218 211 213 215 216 211 213 215 217 211 213 231 233 211 213 231 232 212 211 213 215 212 211 213 231 212 211 213 214 213 231 233 234 213 231 233 235 213 215 218 221 213 215 218 219 213 215 218 220 214 213 215 218 214 213 215 216 214 213 215 217 214 213 231 233 214 213 231 232 215 218 221 224 215 218 221 222 215 218 221 223 215 213 231 233 215 213 231 232 216 215 213 231 216 215 218 221 216 215 218 219 216 215 218 220 217 215 213 231 217 215 218 221 217 215 218 219 217 215 218 220 218 221 224 227 218 221 224 225 218 221 224 226 218 215 213 231 219 218 221 224 219 218 221 222 219 218 221 223 220 218 221 224 220 218 221 222 220 218 221 223 221 224 227 228 221 224 227 229 221 224 227 230 222 221 224 227 222 221 224 225 222 221 224 226 223 221 224 227 223 221 224 225 223 221 224 226 225 224 227 228 225 224 227 229 225 224 227 230 226 224 227 228 226 224 227 229 226 224 227 230 231 233 235 237 231 233 235 241 231 233 235 236 232 231 233 234 232 231 233 235 233 235 237 238 233 235 237 239 233 235 237 240 233 235 241 243 233 235 241 242 234 233 235 237 234 233 235 241 234 233 235 236 235 241 243 244 235 241 243 245 236 235 237 238 236 235 237 239 236 235 237 240 236 235 241 243 236 235 241 242 237 235 241 243 237 235 241 242 238 237 235 241 239 237 235 241 240 237 235 241 241 243 245 247 241 243 245 265 241 243 245 246 242 241 243 244 242 241 243 245 243 245 247 250 243 245 247 248 243 245 247 249 243 245 265 267 243 245 265 266 244 243 245 247 244 243 245 265 244 243 245 246 245 265 267 268 245 265 267 269 245 247 250 253 245 247 250 251 245 247 250 252 246 245 247 250 246 245 247 248 246 245 247 249 246 245 265 267 246 245 265 266 247 250 253 256 247 250 253 254 247 250 253 255 247 245 265 267 247 245 265 266 248 247 245 265 248 247 250 253 248 247 250 251 248 247 250 252 249 247 245 265 249 247 250 253 249 247 250 251 249 247 250 252 250 253 256 258 250 253 256 257 250 247 245 265 251 250 253 256 251 250 253 254 251 250 253 255 252 250 253 256 252 250 253 254 252 250 253 255 253 256 258 262 253 256 258 259 254 253 256 258 254 253 256 257 255 253 256 258 255 253 256 257 256 258 262 263 256 258 262 264 256 258 259 260 256 258 259 261 257 256 258 262 257 256 258 259 259 258 262 263 259 258 262 264 260 259 258 262 261 259 258 262 265 267 269 271 265 267 269 284 265 267 269 270 266 265 267 268 266 265 267 269 267 269 271 277 267 269 271 273 267 269 271 272 267 269 284 286 267 269 284 285 268 267 269 271 268 267 269 284 268 267 269 270 269 284 286 287 269 284 286 288 269 271 277 280 269 271 277 278 269 271 277 279 269 271 273 274 269 271 273 275 269 271 273 276 270 269 271 277 270 269 271 273 270 269 271 272 270 269 284 286 270 269 284 285 271 277 280 281 271 277 280 282 271 277 280 283 271 269 284 286 271 269 284 285 272 271 269 284 272 271 277 280 272 271 277 278 272 271 277 279 272 271 273 274 272 271 273 275 272 271 273 276 273 271 269 284 273 271 277 280 273 271 277 278 273 271 277 279 274 273 271 277 275 273 271 277 276 273 271 277 277 271 269 284 278 277 280 281 278 277 280 282 278 277 280 283 279 277 280 281 279 277 280 282 279 277 280 283 284 286 288 290 284 286 288 303 284 286 288 289 285 284 286 287 285 284 286 288 286 288 290 296 286 288 290 292 286 288 290 291 286 288 303 305 286 288 303 304 287 286 288 290 287 286 288 303 287 286 288 289 288 303 305 306 288 303 305 307 288 290 296 299 288 290 296 297 288 290 296 298 288 290 292 293 288 290 292 294 288 290 292 295 289 288 290 296 289 288 290 292 289 288 290 291 289 288 303 305 289 288 303 304 290 296 299 300 290 296 299 301 290 296 299 302 290 288 303 305 290 288 303 304 291 290 288 303 291 290 296 299 291 290 296 297 291 290 296 298 291 290 292 293 291 290 292 294 291 290 292 295 292 290 288 303 292 290 296 299 292 290 296 297 292 290 296 298 293 292 290 296 294 292 290 296 295 292 290 296 296 290 288 303 297 296 299 300 297 296 299 301 297 296 299 302 298 296 299 300 298 296 299 301 298 296 299 302 303 305 307 309 303 305 307 327 303 305 307 308 304 303 305 306 304 303 305 307 305 307 309 312 305 307 309 310 305 307 309 311 305 307 327 329 305 307 327 328 306 305 307 309 306 305 307 327 306 305 307 308 307 327 329 330 307 327 329 331 307 309 312 315 307 309 312 313 307 309 312 314 308 307 309 312 308 307 309 310 308 307 309 311 308 307 327 329 308 307 327 328 309 312 315 318 309 312 315 316 309 312 315 317 309 307 327 329 309 307 327 328 310 309 307 327 310 309 312 315 310 309 312 313 310 309 312 314 311 309 307 327 311 309 312 315 311 309 312 313 311 309 312 314 312 315 318 320 312 315 318 319 312 309 307 327 313 312 315 318 313 312 315 316 313 312 315 317 314 312 315 318 314 312 315 316 314 312 315 317 315 318 320 324 315 318 320 321 316 315 318 320 316 315 318 319 317 315 318 320 317 315 318 319 318 320 324 325 318 320 324 326 318 320 321 322 318 320 321 323 319 318 320 324 319 318 320 321 321 320 324 325 321 320 324 326 322 321 320 324 323 321 320 324 327 329 331 333 327 329 331 348 327 329 331 332 328 327 329 330 328 327 329 331 329 331 333 336 329 331 333 334 329 331 333 335 329 331 348 350 329 331 348 349 330 329 331 333 330 329 331 348 330 329 331 332 331 348 350 351 331 348 350 352 331 333 336 344 331 333 336 337 332 331 333 336 332 331 333 334 332 331 333 335 332 331 348 350 332 331 348 349 333 336 344 345 333 336 344 346 333 336 337 339 333 336 337 338 333 331 348 350 333 331 348 349 334 333 331 348 334 333 336 344 334 333 336 337 335 333 331 348 335 333 336 344 335 333 336 337 336 344 346 341 336 344 346 347 336 337 339 340 336 337 339 341 336 333 331 348 337 339 341 346 337 339 341 342 337 336 344 345 337 336 344 346 338 337 339 340 338 337 339 341 338 337 336 344 339 341 346 347 339 341 346 344 339 341 342 343 339 337 336 344 340 339 341 346 340 339 341 342 341 346 344 345 342 341 346 347 342 341 346 344 343 342 341 346 345 344 346 347 348 350 352 354 348 350 352 368 348 350 352 353 349 348 350 351 349 348 350 352 350 352 354 357 350 352 354 355 350 352 354 356 350 352 368 370 350 352 368 369 351 350 352 354 351 350 352 368 351 350 352 353 352 368 370 371 352 368 370 372 352 354 357 364 352 354 357 358 353 352 354 357 353 352 354 355 353 352 354 356 353 352 368 370 353 352 368 369 354 357 364 365 354 357 364 366 354 357 358 360 354 357 358 359 354 352 368 370 354 352 368 369 355 354 352 368 355 354 357 364 355 354 357 358 356 354 352 368 356 354 357 364 356 354 357 358 357 364 366 362 357 364 366 367 357 358 360 361 357 358 360 362 357 354 352 368 358 360 362 366 358 360 362 363 358 357 364 365 358 357 364 366 359 358 360 361 359 358 360 362 359 358 357 364 360 362 366 364 360 362 366 367 360 358 357 364 361 360 362 366 361 360 362 363 362 366 364 365 363 362 366 364 363 362 366 367 365 364 366 367 368 370 372 374 368 370 372 389 368 370 372 373 369 368 370 371 369 368 370 372 370 372 374 377 370 372 374 375 370 372 374 376 370 372 389 391 370 372 389 390 371 370 372 374 371 370 372 389 371 370 372 373 372 389 391 392 372 389 391 393 372 374 377 385 372 374 377 378 373 372 374 377 373 372 374 375 373 372 374 376 373 372 389 391 373 372 389 390 374 377 385 386 374 377 385 387 374 377 378 380 374 377 378 379 374 372 389 391 374 372 389 390 375 374 372 389 375 374 377 385 375 374 377 378 376 374 372 389 376 374 377 385 376 374 377 378 377 385 387 382 377 385 387 388 377 378 380 381 377 378 380 382 377 374 372 389 378 380 382 387 378 380 382 383 378 377 385 386 378 377 385 387 379 378 380 381 379 378 380 382 379 378 377 385 380 382 387 388 380 382 387 385 380 382 383 384 380 378 377 385 381 380 382 387 381 380 382 383 382 387 385 386 383 382 387 388 383 382 387 385 384 383 382 387 386 385 387 388 389 391 393 395 389 391 393 403 389 391 393 394 390 389 391 392 390 389 391 393 391 393 395 398 391 393 395 396 391 393 395 397 391 393 403 405 391 393 403 404 392 391 393 395 392 391 393 403 392 391 393 394 393 403 405 406 393 403 405 407 393 395 398 400 393 395 398 399 394 393 395 398 394 393 395 396 394 393 395 397 394 393 403 405 394 393 403 404 395 398 400 401 395 398 400 402 395 393 403 405 395 393 403 404 396 395 393 403 396 395 398 400 396 395 398 399 397 395 393 403 397 395 398 400 397 395 398 399 398 395 393 403 399 398 400 401 399 398 400 402 403 405 407 409 403 405 407 413 403 405 407 408 404 403 405 406 404 403 405 407 405 407 409 410 405 407 409 411 405 407 409 412 405 407 413 415 405 407 413 414 406 405 407 409 406 405 407 413 406 405 407 408 407 413 415 416 407 413 415 417 408 407 409 410 408 407 409 411 408 407 409 412 408 407 413 415 408 407 413 414 409 407 413 415 409 407 413 414 410 409 407 413 411 409 407 413 412 409 407 413 413 415 417 419 413 415 417 435 413 415 417 418 414 413 415 416 414 413 415 417 415 417 419 422 415 417 419 420 415 417 419 421 415 417 435 437 415 417 435 436 416 415 417 419 416 415 417 435 416 415 417 418 417 435 437 438 417 435 437 439 417 419 422 425 417 419 422 423 417 419 422 424 418 417 419 422 418 417 419 420 418 417 419 421 418 417 435 437 418 417 435 436 419 422 425 428 419 422 425 426 419 422 425 427 419 417 435 437 419 417 435 436 420 419 417 435 420 419 422 425 420 419 422 423 420 419 422 424 421 419 417 435 421 419 422 425 421 419 422 423 421 419 422 424 422 425 428 431 422 425 428 429 422 425 428 430 422 419 417 435 423 422 425 428 423 422 425 426 423 422 425 427 424 422 425 428 424 422 425 426 424 422 425 427 425 428 431 432 425 428 431 433 425 428 431 434 426 425 428 431 426 425 428 429 426 425 428 430 427 425 428 431 427 425 428 429 427 425 428 430 429 428 431 432 429 428 431 433 429 428 431 434 430 428 431 432 430 428 431 433 430 428 431 434 435 437 439 441 435 437 439 445 435 437 439 440 436 435 437 438 436 435 437 439 437 439 441 442 437 439 441 443 437 439 441 444 437 439 445 447 437 439 445 446 438 437 439 441 438 437 439 445 438 437 439 440 439 445 447 448 439 445 447 449 440 439 441 442 440 439 441 443 440 439 441 444 440 439 445 447 440 439 445 446 441 439 445 447 441 439 445 446 442 441 439 445 443 441 439 445 444 441 439 445 445 447 449 452 445 447 449 450 445 447 449 451 446 445 447 448 446 445 447 449 447 449 452 454 447 449 452 453 448 447 449 452 448 447 449 450 448 447 449 451 449 452 454 455 449 452 454 456 450 449 452 454 450 449 452 453 451 449 452 454 451 449 452 453 452 454 456 458 452 454 456 471 452 454 456 457 453 452 454 455 453 452 454 456 454 456 458 461 454 456 458 459 454 456 458 460 454 456 471 475 454 456 471 472 455 454 456 458 455 454 456 471 455 454 456 457 456 471 475 476 456 471 475 477 456 458 461 463 456 458 461 467 456 458 461 462 457 456 458 461 457 456 458 459 457 456 458 460 457 456 471 475 457 456 471 472 458 461 463 464 458 461 463 465 458 461 463 466 458 461 467 468 458 461 467 469 458 461 467 470 458 456 471 475 458 456 471 472 459 458 456 471 459 458 461 463 459 458 461 467 459 458 461 462 460 458 456 471 460 458 461 463 460 458 461 467 460 458 461 462 461 458 456 471 462 461 463 464 462 461 463 465 462 461 463 466 462 461 467 468 462 461 467 469 462 461 467 470 463 461 467 468 463 461 467 469 463 461 467 470 464 463 461 467 465 463 461 467 466 463 461 467 471 475 477 473 471 475 477 481 471 475 477 478 472 471 475 476 472 471 475 477 473 474 793 794 473 477 481 483 473 477 481 482 474 793 794 797 474 473 477 481 475 477 473 474 475 477 473 479 475 477 473 480 475 477 481 483 475 477 481 482 476 475 477 473 476 475 477 481 476 475 477 478 477 473 474 793 477 481 483 484 477 481 483 485 478 477 473 474 478 477 473 479 478 477 473 480 478 477 481 483 478 477 481 482 479 473 474 793 479 473 477 481 480 473 474 793 480 473 477 481 481 483 485 487 481 483 485 498 481 483 485 486 482 481 483 484 482 481 483 485 483 485 487 490 483 485 487 488 483 485 487 489 483 485 498 500 483 485 498 499 484 483 485 487 484 483 485 498 484 483 485 486 485 498 500 501 485 498 500 502 485 487 490 493 485 487 490 491 485 487 490 492 486 485 487 490 486 485 487 488 486 485 487 489 486 485 498 500 486 485 498 499 487 490 493 495 487 490 493 494 487 485 498 500 487 485 498 499 488 487 485 498 488 487 490 493 488 487 490 491 488 487 490 492 489 487 485 498 489 487 490 493 489 487 490 491 489 487 490 492 490 493 495 496 490 493 495 497 490 487 485 498 491 490 493 495 491 490 493 494 492 490 493 495 492 490 493 494 494 493 495 496 494 493 495 497 498 500 502 504 498 500 502 512 498 500 502 503 499 498 500 501 499 498 500 502 500 502 504 506 500 502 504 508 500 502 504 505 500 502 512 514 500 502 512 513 501 500 502 504 501 500 502 512 501 500 502 503 502 512 514 515 502 512 514 516 502 504 506 507 502 504 508 509 502 504 508 510 502 504 508 511 503 502 504 506 503 502 504 508 503 502 504 505 503 502 512 514 503 502 512 513 504 502 512 514 504 502 512 513 505 504 502 512 505 504 506 507 505 504 508 509 505 504 508 510 505 504 508 511 506 504 502 512 506 504 508 509 506 504 508 510 506 504 508 511 507 506 504 508 508 504 502 512 512 514 516 518 512 514 516 532 512 514 516 517 513 512 514 515 513 512 514 516 514 516 518 521 514 516 518 519 514 516 518 520 514 516 532 534 514 516 532 533 515 514 516 518 515 514 516 532 515 514 516 517 516 532 534 535 516 532 534 536 516 518 521 528 516 518 521 522 517 516 518 521 517 516 518 519 517 516 518 520 517 516 532 534 517 516 532 533 518 521 528 529 518 521 528 530 518 521 522 524 518 521 522 523 518 516 532 534 518 516 532 533 519 518 516 532 519 518 521 528 519 518 521 522 520 518 516 532 520 518 521 528 520 518 521 522 521 528 530 526 521 528 530 531 521 522 524 525 521 522 524 526 521 518 516 532 522 524 526 530 522 524 526 527 522 521 528 529 522 521 528 530 523 522 524 525 523 522 524 526 523 522 521 528 524 526 530 528 524 526 530 531 524 522 521 528 525 524 526 530 525 524 526 527 526 530 528 529 527 526 530 528 527 526 530 531 529 528 530 531 532 534 536 538 532 534 536 548 532 534 536 537 533 532 534 535 533 532 534 536 534 536 538 540 534 536 538 544 534 536 538 539 534 536 548 550 534 536 548 549 535 534 536 538 535 534 536 548 535 534 536 537 536 548 550 551 536 548 550 552 536 538 540 541 536 538 540 542 536 538 540 543 536 538 544 545 536 538 544 546 536 538 544 547 537 536 538 540 537 536 538 544 537 536 538 539 537 536 548 550 537 536 548 549 538 536 548 550 538 536 548 549 539 538 536 548 539 538 540 541 539 538 540 542 539 538 540 543 539 538 544 545 539 538 544 546 539 538 544 547 540 538 536 548 540 538 544 545 540 538 544 546 540 538 544 547 541 540 538 544 542 540 538 544 543 540 538 544 544 538 536 548 548 550 552 554 548 550 552 569 548 550 552 553 549 548 550 551 549 548 550 552 550 552 554 557 550 552 554 555 550 552 554 556 550 552 569 571 550 552 569 570 551 550 552 554 551 550 552 569 551 550 552 553 552 569 571 572 552 569 571 573 552 554 557 565 552 554 557 558 553 552 554 557 553 552 554 555 553 552 554 556 553 552 569 571 553 552 569 570 554 557 565 566 554 557 565 567 554 557 558 560 554 557 558 559 554 552 569 571 554 552 569 570 555 554 552 569 555 554 557 565 555 554 557 558 556 554 552 569 556 554 557 565 556 554 557 558 557 565 567 562 557 565 567 568 557 558 560 561 557 558 560 562 557 554 552 569 558 560 562 567 558 560 562 563 558 557 565 566 558 557 565 567 559 558 560 561 559 558 560 562 559 558 557 565 560 562 567 568 560 562 567 565 560 562 563 564 560 558 557 565 561 560 562 567 561 560 562 563 562 567 565 566 563 562 567 568 563 562 567 565 564 563 562 567 566 565 567 568 569 571 573 576 569 571 573 574 569 571 573 575 570 569 571 572 570 569 571 573 571 573 576 578 571 573 576 577 572 571 573 576 572 571 573 574 572 571 573 575 573 576 578 579 573 576 578 580 574 573 576 578 574 573 576 577 575 573 576 578 575 573 576 577 576 578 580 583 576 578 580 581 576 578 580 582 577 576 578 579 577 576 578 580 578 580 583 587 578 580 583 584 579 578 580 583 579 578 580 581 579 578 580 582 580 583 587 588 580 583 587 589 581 580 583 587 581 580 583 584 582 580 583 587 582 580 583 584 583 587 589 586 583 587 589 593 583 587 589 590 584 583 587 588 584 583 587 589 585 586 589 593 586 589 593 595 586 589 593 594 587 589 586 585 587 589 586 591 587 589 586 592 587 589 593 595 587 589 593 594 588 587 589 586 588 587 589 593 588 587 589 590 589 593 595 596 589 593 595 597 590 589 586 585 590 589 586 591 590 589 586 592 590 589 593 595 590 589 593 594 591 586 585 202 591 586 589 593 592 586 585 202 592 586 589 593 593 595 597 599 593 595 597 617 593 595 597 598 594 593 595 596 594 593 595 597 595 597 599 602 595 597 599 600 595 597 599 601 595 597 617 619 595 597 617 618 596 595 597 599 596 595 597 617 596 595 597 598 597 617 619 620 597 617 619 621 597 599 602 605 597 599 602 603 597 599 602 604 598 597 599 602 598 597 599 600 598 597 599 601 598 597 617 619 598 597 617 618 599 602 605 608 599 602 605 606 599 602 605 607 599 597 617 619 599 597 617 618 600 599 597 617 600 599 602 605 600 599 602 603 600 599 602 604 601 599 597 617 601 599 602 605 601 599 602 603 601 599 602 604 602 605 608 610 602 605 608 609 602 599 597 617 603 602 605 608 603 602 605 606 603 602 605 607 604 602 605 608 604 602 605 606 604 602 605 607 605 608 610 614 605 608 610 611 606 605 608 610 606 605 608 609 607 605 608 610 607 605 608 609 608 610 614 615 608 610 614 616 608 610 611 612 608 610 611 613 609 608 610 614 609 608 610 611 611 610 614 615 611 610 614 616 612 611 610 614 613 611 610 614 617 619 621 623 617 619 621 627 617 619 621 622 618 617 619 620 618 617 619 621 619 621 623 624 619 621 623 625 619 621 623 626 619 621 627 629 619 621 627 628 620 619 621 623 620 619 621 627 620 619 621 622 621 627 629 630 621 627 629 631 622 621 623 624 622 621 623 625 622 621 623 626 622 621 627 629 622 621 627 628 623 621 627 629 623 621 627 628 624 623 621 627 625 623 621 627 626 623 621 627 627 629 631 633 627 629 631 649 627 629 631 632 628 627 629 630 628 627 629 631 629 631 633 636 629 631 633 634 629 631 633 635 629 631 649 651 629 631 649 650 630 629 631 633 630 629 631 649 630 629 631 632 631 649 651 652 631 649 651 653 631 633 636 639 631 633 636 637 631 633 636 638 632 631 633 636 632 631 633 634 632 631 633 635 632 631 649 651 632 631 649 650 633 636 639 642 633 636 639 640 633 636 639 641 633 631 649 651 633 631 649 650 634 633 631 649 634 633 636 639 634 633 636 637 634 633 636 638 635 633 631 649 635 633 636 639 635 633 636 637 635 633 636 638 636 639 642 645 636 639 642 643 636 639 642 644 636 633 631 649 637 636 639 642 637 636 639 640 637 636 639 641 638 636 639 642 638 636 639 640 638 636 639 641 639 642 645 646 639 642 645 647 639 642 645 648 640 639 642 645 640 639 642 643 640 639 642 644 641 639 642 645 641 639 642 643 641 639 642 644 643 642 645 646 643 642 645 647 643 642 645 648 644 642 645 646 644 642 645 647 644 642 645 648 649 651 653 655 649 651 653 673 649 651 653 654 650 649 651 652 650 649 651 653 651 653 655 658 651 653 655 656 651 653 655 657 651 653 673 675 651 653 673 674 652 651 653 655 652 651 653 673 652 651 653 654 653 673 675 676 653 673 675 677 653 655 658 661 653 655 658 659 653 655 658 660 654 653 655 658 654 653 655 656 654 653 655 657 654 653 673 675 654 653 673 674 655 658 661 664 655 658 661 662 655 658 661 663 655 653 673 675 655 653 673 674 656 655 653 673 656 655 658 661 656 655 658 659 656 655 658 660 657 655 653 673 657 655 658 661 657 655 658 659 657 655 658 660 658 661 664 666 658 661 664 665 658 655 653 673 659 658 661 664 659 658 661 662 659 658 661 663 660 658 661 664 660 658 661 662 660 658 661 663 661 664 666 670 661 664 666 667 662 661 664 666 662 661 664 665 663 661 664 666 663 661 664 665 664 666 670 671 664 666 670 672 664 666 667 668 664 666 667 669 665 664 666 670 665 664 666 667 667 666 670 671 667 666 670 672 668 667 666 670 669 667 666 670 673 675 677 679 673 675 677 687 673 675 677 678 674 673 675 676 674 673 675 677 675 677 679 682 675 677 679 680 675 677 679 681 675 677 687 689 675 677 687 688 676 675 677 679 676 675 677 687 676 675 677 678 677 687 689 690 677 687 689 691 677 679 682 684 677 679 682 683 678 677 679 682 678 677 679 680 678 677 679 681 678 677 687 689 678 677 687 688 679 682 684 685 679 682 684 686 679 677 687 689 679 677 687 688 680 679 677 687 680 679 682 684 680 679 682 683 681 679 677 687 681 679 682 684 681 679 682 683 682 679 677 687 683 682 684 685 683 682 684 686 687 689 691 693 687 689 691 701 687 689 691 692 688 687 689 690 688 687 689 691 689 691 693 696 689 691 693 694 689 691 693 695 689 691 701 703 689 691 701 702 690 689 691 693 690 689 691 701 690 689 691 692 691 701 703 704 691 701 703 705 691 693 696 698 691 693 696 697 692 691 693 696 692 691 693 694 692 691 693 695 692 691 701 703 692 691 701 702 693 696 698 699 693 696 698 700 693 691 701 703 693 691 701 702 694 693 691 701 694 693 696 698 694 693 696 697 695 693 691 701 695 693 696 698 695 693 696 697 696 693 691 701 697 696 698 699 697 696 698 700 701 703 705 707 701 703 705 721 701 703 705 706 702 701 703 704 702 701 703 705 703 705 707 710 703 705 707 708 703 705 707 709 703 705 721 723 703 705 721 722 704 703 705 707 704 703 705 721 704 703 705 706 705 721 723 724 705 721 723 725 705 707 710 717 705 707 710 711 706 705 707 710 706 705 707 708 706 705 707 709 706 705 721 723 706 705 721 722 707 710 717 718 707 710 717 719 707 710 711 713 707 710 711 712 707 705 721 723 707 705 721 722 708 707 705 721 708 707 710 717 708 707 710 711 709 707 705 721 709 707 710 717 709 707 710 711 710 717 719 715 710 717 719 720 710 711 713 714 710 711 713 715 710 707 705 721 711 713 715 719 711 713 715 716 711 710 717 718 711 710 717 719 712 711 713 714 712 711 713 715 712 711 710 717 713 715 719 717 713 715 719 720 713 711 710 717 714 713 715 719 714 713 715 716 715 719 717 718 716 715 719 717 716 715 719 720 718 717 719 720 721 723 725 727 721 723 725 743 721 723 725 726 722 721 723 724 722 721 723 725 723 725 727 730 723 725 727 728 723 725 727 729 723 725 743 745 723 725 743 744 724 723 725 727 724 723 725 743 724 723 725 726 725 743 745 746 725 743 745 747 725 727 730 733 725 727 730 731 725 727 730 732 726 725 727 730 726 725 727 728 726 725 727 729 726 725 743 745 726 725 743 744 727 730 733 736 727 730 733 734 727 730 733 735 727 725 743 745 727 725 743 744 728 727 725 743 728 727 730 733 728 727 730 731 728 727 730 732 729 727 725 743 729 727 730 733 729 727 730 731 729 727 730 732 730 733 736 739 730 733 736 737 730 733 736 738 730 727 725 743 731 730 733 736 731 730 733 734 731 730 733 735 732 730 733 736 732 730 733 734 732 730 733 735 733 736 739 740 733 736 739 741 733 736 739 742 734 733 736 739 734 733 736 737 734 733 736 738 735 733 736 739 735 733 736 737 735 733 736 738 737 736 739 740 737 736 739 741 737 736 739 742 738 736 739 740 738 736 739 741 738 736 739 742 743 745 747 749 743 745 747 754 743 745 747 748 744 743 745 746 744 743 745 747 745 747 749 752 745 747 749 750 745 747 749 751 745 747 754 756 745 747 754 755 746 745 747 749 746 745 747 754 746 745 747 748 747 754 756 757 747 754 756 758 747 749 752 753 748 747 749 752 748 747 749 750 748 747 749 751 748 747 754 756 748 747 754 755 749 747 754 756 749 747 754 755 750 749 747 754 750 749 752 753 751 749 747 754 751 749 752 753 752 749 747 754 754 756 758 760 754 756 758 764 754 756 758 759 755 754 756 757 755 754 756 758 756 758 760 761 756 758 760 762 756 758 760 763 756 758 764 766 756 758 764 765 757 756 758 760 757 756 758 764 757 756 758 759 758 764 766 767 758 764 766 768 759 758 760 761 759 758 760 762 759 758 760 763 759 758 764 766 759 758 764 765 760 758 764 766 760 758 764 765 761 760 758 764 762 760 758 764 763 760 758 764 764 766 768 770 764 766 768 779 764 766 768 769 765 764 766 767 765 764 766 768 766 768 770 773 766 768 770 771 766 768 770 772 766 768 779 781 766 768 779 780 767 766 768 770 767 766 768 779 767 766 768 769 768 779 781 782 768 779 781 783 768 770 773 776 768 770 773 774 768 770 773 775 769 768 770 773 769 768 770 771 769 768 770 772 769 768 779 781 769 768 779 780 770 773 776 778 770 773 776 777 770 768 779 781 770 768 779 780 771 770 768 779 771 770 773 776 771 770 773 774 771 770 773 775 772 770 768 779 772 770 773 776 772 770 773 774 772 770 773 775 773 770 768 779 774 773 776 778 774 773 776 777 775 773 776 778 775 773 776 777 779 781 783 785 779 781 783 791 779 781 783 784 780 779 781 782 780 779 781 783 781 783 785 788 781 783 785 786 781 783 785 787 781 783 791 795 781 783 791 792 782 781 783 785 782 781 783 791 782 781 783 784 783 791 795 796 783 791 795 797 783 785 788 790 783 785 788 789 784 783 785 788 784 783 785 786 784 783 785 787 784 783 791 795 784 783 791 792 785 783 791 795 785 783 791 792 786 785 783 791 786 785 788 790 786 785 788 789 787 785 783 791 787 785 788 790 787 785 788 789 788 785 783 791 791 795 797 794 791 795 797 801 791 795 797 798 792 791 795 796 792 791 795 797 793 794 797 801 794 797 801 803 794 797 801 802 795 797 794 793 795 797 794 799 795 797 794 800 795 797 801 803 795 797 801 802 796 795 797 794 796 795 797 801 796 795 797 798 797 801 803 804 797 801 803 805 798 797 794 793 798 797 794 799 798 797 794 800 798 797 801 803 798 797 801 802 799 794 793 474 799 794 797 801 800 794 793 474 800 794 797 801 801 803 805 807 801 803 805 818 801 803 805 806 802 801 803 804 802 801 803 805 803 805 807 810 803 805 807 808 803 805 807 809 803 805 818 820 803 805 818 819 804 803 805 807 804 803 805 818 804 803 805 806 805 818 820 821 805 818 820 822 805 807 810 813 805 807 810 811 805 807 810 812 806 805 807 810 806 805 807 808 806 805 807 809 806 805 818 820 806 805 818 819 807 810 813 814 807 805 818 820 807 805 818 819 808 807 805 818 808 807 810 813 808 807 810 811 808 807 810 812 809 807 805 818 809 807 810 813 809 807 810 811 809 807 810 812 810 813 814 815 810 813 814 816 810 813 814 817 810 807 805 818 811 810 813 814 812 810 813 814 818 820 822 824 818 820 822 842 818 820 822 823 819 818 820 821 819 818 820 822 820 822 824 827 820 822 824 825 820 822 824 826 820 822 842 844 820 822 842 843 821 820 822 824 821 820 822 842 821 820 822 823 822 842 844 845 822 842 844 846 822 824 827 830 822 824 827 828 822 824 827 829 823 822 824 827 823 822 824 825 823 822 824 826 823 822 842 844 823 822 842 843 824 827 830 833 824 827 830 831 824 827 830 832 824 822 842 844 824 822 842 843 825 824 822 842 825 824 827 830 825 824 827 828 825 824 827 829 826 824 822 842 826 824 827 830 826 824 827 828 826 824 827 829 827 830 833 835 827 830 833 834 827 824 822 842 828 827 830 833 828 827 830 831 828 827 830 832 829 827 830 833 829 827 830 831 829 827 830 832 830 833 835 839 830 833 835 836 831 830 833 835 831 830 833 834 832 830 833 835 832 830 833 834 833 835 839 840 833 835 839 841 833 835 836 837 833 835 836 838 834 833 835 839 834 833 835 836 836 835 839 840 836 835 839 841 837 836 835 839 838 836 835 839 842 844 846 848 842 844 846 856 842 844 846 847 843 842 844 845 843 842 844 846 844 846 848 850 844 846 848 852 844 846 848 849 844 846 856 860 844 846 856 857 845 844 846 848 845 844 846 856 845 844 846 847 846 856 860 861 846 856 860 862 846 848 850 851 846 848 852 853 846 848 852 854 846 848 852 855 847 846 848 850 847 846 848 852 847 846 848 849 847 846 856 860 847 846 856 857 848 846 856 860 848 846 856 857 849 848 846 856 849 848 850 851 849 848 852 853 849 848 852 854 849 848 852 855 850 848 846 856 850 848 852 853 850 848 852 854 850 848 852 855 851 850 848 852 852 848 846 856 856 860 862 859 856 860 862 866 856 860 862 863 857 856 860 861 857 856 860 862 858 859 862 866 859 862 866 868 859 862 866 867 860 862 859 858 860 862 859 864 860 862 859 865 860 862 866 868 860 862 866 867 861 860 862 859 861 860 862 866 861 860 862 863 862 866 868 869 862 866 868 870 863 862 859 858 863 862 859 864 863 862 859 865 863 862 866 868 863 862 866 867 864 859 858 74 864 859 862 866 865 859 858 74 865 859 862 866 866 868 870 873 866 868 870 871 866 868 870 872 867 866 868 869 867 866 868 870 868 870 873 878 868 870 873 874 869 868 870 873 869 868 870 871 869 868 870 872 870 873 878 879 870 873 878 880 871 870 873 878 871 870 873 874 872 870 873 878 872 870 873 874 873 878 880 875 873 878 880 881 873 878 880 882 874 873 878 879 874 873 878 880 875 880 878 879 876 875 880 878 876 875 880 881 876 875 880 882 877 875 880 878 877 875 880 881 877 875 880 882 879 878 880 881 879 878 880 882 139 !NIMPHI: impropers 18 19 22 16 25 5 27 26 27 25 31 28 39 31 41 40 41 39 43 42 48 45 50 49 51 43 53 52 53 51 55 54 71 55 75 72 75 71 77 76 81 77 83 82 83 81 85 84 100 85 102 101 102 100 104 103 112 109 114 113 115 104 117 116 117 115 121 118 129 121 131 130 131 129 135 132 143 135 145 144 145 143 147 146 164 147 166 165 166 164 168 167 178 168 180 179 180 178 182 181 185 182 187 186 187 185 191 188 199 191 203 200 203 199 205 204 209 205 211 210 211 209 213 212 231 213 233 232 233 231 235 234 241 235 243 242 243 241 245 244 258 259 262 256 265 245 267 266 267 265 269 268 284 269 286 285 286 284 288 287 303 288 305 304 305 303 307 306 320 321 324 318 327 307 329 328 329 327 331 330 348 331 350 349 350 348 352 351 368 352 370 369 370 368 372 371 389 372 391 390 391 389 393 392 398 400 395 399 398 395 400 399 400 398 401 402 400 398 402 401 403 393 405 404 405 403 407 406 413 407 415 414 415 413 417 416 435 417 437 436 437 435 439 438 445 439 447 446 447 445 449 448 452 449 454 453 454 452 456 455 471 456 475 472 475 471 477 476 481 477 483 482 483 481 485 484 493 495 490 494 493 490 495 494 495 493 496 497 495 493 497 496 498 485 500 499 500 498 502 501 512 502 514 513 514 512 516 515 532 516 534 533 534 532 536 535 548 536 550 549 550 548 552 551 569 552 571 570 571 569 573 572 576 573 578 577 578 576 580 579 583 580 587 584 587 583 589 588 593 589 595 594 595 593 597 596 610 611 614 608 617 597 619 618 619 617 621 620 627 621 629 628 629 627 631 630 649 631 651 650 651 649 653 652 666 667 670 664 673 653 675 674 675 673 677 676 682 684 679 683 682 679 684 683 684 682 685 686 684 682 686 685 687 677 689 688 689 687 691 690 696 698 693 697 696 693 698 697 698 696 699 700 698 696 700 699 701 691 703 702 703 701 705 704 721 705 723 722 723 721 725 724 743 725 745 744 745 743 747 746 754 747 756 755 756 754 758 757 764 758 766 765 766 764 768 767 776 773 778 777 779 768 781 780 781 779 783 782 788 785 790 789 791 783 795 792 795 791 797 796 801 797 803 802 803 801 805 804 818 805 820 819 820 818 822 821 835 836 839 833 842 822 844 843 844 842 846 845 856 846 860 857 860 856 862 861 866 862 868 867 868 866 870 869 873 870 878 874 875 880 877 876 878 873 880 879 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 !NGRP 0 0 0 protomol/examples/bpti_water_1101/bpti.shmc.conf0100644027616700000500000000143410237151526021174 0ustar pbrenne1dipdebug 0 numsteps 10 firststep 0 seed 7536031 posfile bpti.pdb psffile bpti.psf parfile bpti.par temperature 300 outputfreq 1 allenergiesfile bpti.out.energies.shmc boundaryConditions Periodic # cellBasisVector1 64.32 0 0 # cellBasisVector2 0 51.167 0 # cellBasisVector3 0 0 51.272 cellManager Cubic cellsize 4 # removeLinearMomentum 1 # removeAngularMomentum 1 shadowEnergy true Integrator { level 1 ShadowHMC { temperature 300 cyclelength 25 order 8 c 0 } level 0 Leapfrog { timestep 0.5 force Improper force Dihedral force Bond force Angle force Coulomb -algorithm NonbondedSimpleFull force LennardJones -algorithm NonbondedSimpleFull } } protomol/examples/bpti_water_14281/0040755027616700000500000000000010237151526016534 5ustar pbrenne1dipprotomol/examples/bpti_water_14281/.cvsignore0100644027616700000500000000001710237151526020527 0ustar pbrenne1dip*energ* *out* protomol/examples/bpti_water_14281/bpti.ewald.conf0100644027616700000500000000132410237151526021431 0ustar pbrenne1dipfirststep 0 numsteps 10 seed 1234 outputfreq 10 restartfreq 1000 posfile bpti.pdb psffile bpti.psf parfile bpti.par temperature 0 #allenergiesfile bpti.out.energy boundaryConditions periodic cellBasisVector1 63.0 0.0 0.0 cellBasisVector2 0.0 50.0 0.0 cellBasisVector3 0.0 0.0 50.0 cellOrigin 0.0 0.0 0.0 cellManager Cubic cellsize 10 Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones -switchingFunction C2 -algorithm NonbondedCutoff -switchon 0.1 -cutoff 10.0 force time Coulomb -algorithm FullEwald -correction -real -reciprocal -accuracy 1e-18 } } protomol/examples/bpti_water_14281/bpti.mg.conf0100644027616700000500000000154010237151526020740 0ustar pbrenne1dipfirststep 0 numsteps 10 seed 1234 posfile bpti.pdb psffile bpti.psf parfile bpti.par temperature 0 outputfreq 10 #allenergiesfile bpti.out.energy boundaryConditions Normal cellBasisVector1 63.0 0.0 0.0 cellBasisVector2 0.0 50.0 0.0 cellBasisVector3 0.0 0.0 50.0 cellOrigin 0.0 0.0 0.0 cellManager Cubic cellsize 5 Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones -switchingFunction C2 -algorithm NonbondedCutoff -switchon 0.1 -cutoff 10.0 force compare time Coulomb -algorithm MultiGrid -interpolation Hermite -kernel C3 -levels 2 -s 10 -order 6 -ratio 2 -h 3 3 3 -origin 0 0 0 force compare time Coulomb -algorithm NonbondedSimpleFull } } protomol/examples/bpti_water_14281/bpti.namd0100644027616700000500000000125410237151526020332 0ustar pbrenne1dipcellBasisVector1 63.0 0.0 0.0 cellBasisVector2 0.0 50.0 0.0 cellBasisVector3 0.0 0.0 50.0 cellOrigin 0.0 0.0 0.0 coordinates bpti.pdb temperature 0 seed 1234 switching on switchdist 1 cutoff 10 pairlistdist 13.5 margin 0 stepspercycle 20 #PME on #PMEGridSizeX 108 #PMEGridSizeY 108 #PMEGridSizeZ 80 structure bpti.psf parameters bpti.par exclude 1-3 1-4scaling 1.0 timestep 1.0 #fullElectFrequency 1 numsteps 10 outputtiming 10 outputname bpti.out protomol/examples/bpti_water_14281/bpti.par0100644027616700000500000046420110237151526020202 0ustar pbrenne1dip REMARKS Charmm parameter set for proteins v22 b4 REMARKS FILENAME="parallh22x.pro" SET ECHO=FALSE END {>>>>>>>>>> Developmental Parameter File for Proteins <<<<<<<<<< >>>>>>>>>>>>>>>>> Using All Hydrogens (ALLH) <<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>> Jan 1993 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>> Direct comments to Alexander D. MacKerell Jr. <<<<<<<<< >>>>>> 410-706-7442 or bitnet: alex,tammy.harvard.edu <<<<<<<<< These files are a beta release; additional parameter development and testing may lead to alteration of the contents.} BOND C C 600.000 {SD= .022} 1.335 ! ALLOW ARO HEM ! Heme vinyl substituent (KK, from propene (JCS)) BOND CA CA 305.000 {SD= .031} 1.375 ! ALLOW ARO ! benzene, JES 8/25/89 BOND CP1 C 250.000 {SD= .034} 1.490 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 BOND CP1 CC 250.000 {SD= .034} 1.490 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 BOND CP1 CD 200.000 {SD= .038} 1.490 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 BOND CP2 CP1 222.500 {SD= .036} 1.527 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 BOND CP2 CP2 222.500 {SD= .036} 1.537 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 BOND CP3 CP2 222.500 {SD= .036} 1.537 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 BOND CPB C 450.000 {SD= .026} 1.380 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) BOND CPB CPA 299.800 {SD= .031} 1.443 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) BOND CPB CPB 340.700 {SD= .029} 1.346 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) BOND CPH1 CPH1 410.000 {SD= .027} 1.360 ! ALLOW ARO ! histidine, adm jr., 6/27/90 BOND CPM CPA 360.000 {SD= .029} 1.372 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) BOND CPT CA 305.000 {SD= .031} 1.368 ! ALLOW ARO ! adm jr., 12/30/91, for jwk BOND CPT CPT 360.000 {SD= .029} 1.400 ! ALLOW ARO !adm jr., 12/30/91, for jwk BOND CT1 C 250.000 {SD= .034} 1.490 ! ALLOW ALI PEP POL ARO ! Ala Dipeptide ab initio calc's (LK) fixed from 10/90 (5/91) BOND CT1 CC 200.000 {SD= .038} 1.522 ! ALLOW POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters BOND CT1 CD 200.000 {SD= .038} 1.522 ! ALLOW POL ! adm jr. 5/02/91, acetic acid pure solvent BOND CT1 CT1 222.500 {SD= .036} 1.500 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 BOND CT2 C 250.000 {SD= .034} 1.490 ! ALLOW ALI PEP POL ARO ! Ala Dipeptide ab initio calc's (LK) fixed from 10/90 (5/91) BOND CT2 CA 230.000 {SD= .036} 1.490 ! ALLOW ALI ARO ! phe,tyr, JES 8/25/89 BOND CT2 CC 200.000 {SD= .038} 1.522 ! ALLOW POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters BOND CT2 CD 200.000 {SD= .038} 1.522 ! ALLOW POL ! adm jr. 5/02/91, acetic acid pure solvent BOND CT2 CPB 230.000 {SD= .036} 1.490 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) BOND CT2 CPH1 229.630 {SD= .036} 1.500 ! ALLOW ARO ! his, adm jr., 7/22/89, FC from CT2CT, BL from crystals BOND CT2 CT1 222.500 {SD= .036} 1.538 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 BOND CT2 CT2 222.500 {SD= .036} 1.530 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 BOND CT3 C 250.000 {SD= .034} 1.490 ! ALLOW ALI PEP POL ARO ! Ala Dipeptide ab initio calc's (LK) fixed from 10/90 (5/91) BOND CT3 CA 230.000 {SD= .036} 1.490 ! ALLOW ALI ARO ! toluene, adm jr. 3/7/92 BOND CT3 CC 200.000 {SD= .038} 1.522 ! ALLOW POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters BOND CT3 CD 200.000 {SD= .038} 1.522 ! ALLOW POL ! adm jr. 5/02/91, acetic acid pure solvent BOND CT3 CPB 230.000 {SD= .036} 1.490 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) BOND CT3 CPH1 229.630 {SD= .036} 1.500 ! ALLOW ARO ! his, adm jr., 7/22/89, FC from CT2CT, BL from crystals BOND CT3 CS 190.000 {SD= .039} 1.531 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 BOND CT3 CT1 222.500 {SD= .036} 1.538 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 BOND CT3 CT2 222.500 {SD= .036} 1.528 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 BOND CT3 CT3 222.500 {SD= .036} 1.530 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 BOND CY CA 350.000 {SD= .029} 1.365 ! ALLOW ARO !adm jr., 5/08/91, indole CCDB structure search BOND CY CPT 350.000 {SD= .029} 1.440 ! ALLOW ARO !adm jr., 12/30/91, for jwk BOND CY CT2 230.000 {SD= .036} 1.510 ! ALLOW ARO !JWK Kb from alkane freq.. b0 from TRP crystal BOND FE CM 258.000 {SD= .034} 1.900 ! ALLOW HEM ! Heme (6-liganded): CO ligand (KK 05/13/91) BOND FE CPM .000 {SD=999999.000} 3.381 ! ALLOW HEM ! Heme (6-liganded): for "ic para" only (KK 05/13/91) BOND H CD 330.000 {SD= .030} 1.110 ! ALLOW PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent BOND HA C 330.000 {SD= .030} 1.100 ! ALLOW ARO HEM ! Heme vinyl substituent (KK, from propene (JCS)) BOND HA CA 340.000 {SD= .030} 1.083 ! ALLOW ARO ! trp, adm jr., 10/02/89 BOND HA CC 317.130 {SD= .031} 1.100 ! ALLOW POL ! adm jr., 5/13/91, formamide geometry and vibrations BOND HA CP2 309.000 {SD= .031} 1.111 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 BOND HA CP3 309.000 {SD= .031} 1.111 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 BOND HA CPM 367.600 {SD= .028} 1.090 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) BOND HA CS 300.000 {SD= .031} 1.111 ! ALLOW SUL ! methylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 BOND HA CT1 309.000 {SD= .031} 1.111 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 BOND HA CT2 309.000 {SD= .031} 1.111 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 BOND HA CT3 322.000 {SD= .030} 1.111 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 BOND HA CY 330.000 {SD= .030} 1.080 ! ALLOW ARO ! JWK 05/14/91 new r0 from indole BOND HB CP1 330.000 {SD= .030} 1.080 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 BOND HB CT1 330.000 {SD= .030} 1.080 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) BOND HB CT2 330.000 {SD= .030} 1.080 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) BOND HB CT3 330.000 {SD= .030} 1.080 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) BOND HP CA 340.000 {SD= .030} 1.080 ! ALLOW ARO ! phe,tyr JES 8/25/89 BOND HP CY 350.000 {SD= .029} 1.080 ! ALLOW ARO !adm jr., 12/30/91, for jwk BOND HR1 CPH1 375.000 {SD= .028} 1.083 ! ALLOW ARO ! his, adm jr., 6/27/90 BOND HR1 CPH2 340.000 {SD= .030} 1.090 ! ALLOW ARO ! his, adm jr., 6/28/29 BOND HR2 CPH2 333.000 {SD= .030} 1.070 ! ALLOW ARO ! his, adm jr., 6/27/90 BOND HR3 CPH1 365.000 {SD= .028} 1.083 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS BOND HT HT .000 {SD=999999.000} 1.514 ! ALLOW WAT ! FROM TIPS3P GEOMETRY (FOR SHAKE/W PARAM) BOND N C 260.000 {SD= .034} 1.300 ! ALLOW PEP POL ARO PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 BOND N CP1 320.000 {SD= .030} 1.424 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 BOND N CP3 320.000 {SD= .030} 1.447 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 BOND NC2 C 463.000 {SD= .025} 1.365 ! ALLOW PEP POL ARO ! 403.0->463.0, 1.305->1.365 guanidinium (KK) BOND NC2 CT2 261.000 {SD= .034} 1.490 ! ALLOW ALI POL ! arg, (DS) BOND NC2 CT3 261.000 {SD= .034} 1.490 ! ALLOW ALI POL ! methylguanidinium, adm jr., 3/26/92 BOND NC2 HC 455.000 {SD= .026} 1.000 ! ALLOW POL ! 405.0->455.0 GUANIDINIUM (KK) BOND NH1 C 370.000 {SD= .028} 1.345 ! ALLOW PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) BOND NH1 CT1 320.000 {SD= .030} 1.430 ! ALLOW ALI PEP POL ARO ! NMA Gas & Liquid Phase IR Spectra (LK) BOND NH1 CT2 320.000 {SD= .030} 1.430 ! ALLOW ALI PEP POL ARO ! NMA Gas & Liquid Phase IR Spectra (LK) BOND NH1 CT3 320.000 {SD= .030} 1.430 ! ALLOW ALI PEP POL ARO ! NMA Gas & Liquid Phase IR Spectra (LK) BOND NH1 H 440.000 {SD= .026} .997 ! ALLOW PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) BOND NH1 HC 405.000 {SD= .027} .980 ! ALLOW PEP POL ARO ! (DS) BOND NH2 CC 430.000 {SD= .026} 1.360 ! ALLOW PEP POL ARO ! adm jr. 4/10/91, acetamide BOND NH2 CT3 240.000 {SD= .035} 1.455 ! ALLOW POL ! methylamine geom/freq, adm jr., 6/2/92 BOND NH2 H 480.000 {SD= .025} 1.000 ! ALLOW POL ! adm jr. 8/13/90 acetamide geometry and vibrations BOND NH2 HC 460.000 {SD= .025} 1.000 ! ALLOW POL ! methylamine geom/freq, adm jr., 6/2/92 BOND NH3 CT1 200.000 {SD= .038} 1.480 ! ALLOW ALI POL ! new stretch and bend; methylammonium (KK 03/10/92) BOND NH3 CT2 200.000 {SD= .038} 1.480 ! ALLOW ALI POL ! new stretch and bend; methylammonium (KK 03/10/92) BOND NH3 CT3 200.000 {SD= .038} 1.480 ! ALLOW ALI POL ! new stretch and bend; methylammonium (KK 03/10/92) BOND NH3 HC 403.000 {SD= .027} 1.040 ! ALLOW POL ! new stretch and bend; methylammonium (KK 03/10/92) BOND NP CP1 320.000 {SD= .030} 1.485 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 BOND NP CP3 320.000 {SD= .030} 1.502 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 BOND NP HC 460.000 {SD= .025} 1.006 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 BOND NPH CPA 377.200 {SD= .028} 1.376 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) BOND NPH FE 270.200 {SD= .033} 1.958 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) BOND NR1 CPH1 400.000 {SD= .027} 1.380 ! ALLOW ARO ! his, ADM JR., 7/20/89 BOND NR1 CPH2 400.000 {SD= .027} 1.360 ! ALLOW ARO ! his, ADM JR., 7/20/89 BOND NR1 H 466.000 {SD= .025} 1.000 ! ALLOW ARO ! his, ADM JR., 7/20/89 BOND NR2 CPH1 400.000 {SD= .027} 1.380 ! ALLOW ARO ! his, ADM JR., 7/20/89 BOND NR2 CPH2 400.000 {SD= .027} 1.320 ! ALLOW ARO ! his, ADM JR., 7/20/89 BOND NR2 FE 65.000 {SD= .067} 2.200 ! ALLOW HEM ! Heme (6-liganded): His ligand (KK 05/13/91) BOND NR3 CPH1 380.000 {SD= .028} 1.370 ! ALLOW ARO ! his, adm jr., 6/28/90 BOND NR3 CPH2 380.000 {SD= .028} 1.320 ! ALLOW ARO ! his, adm jr., 6/27/90 BOND NR3 H 453.000 {SD= .026} 1.000 ! ALLOW ARO ! his, adm jr., 6/27/90 BOND NY CA 270.000 {SD= .033} 1.370 ! ALLOW ARO !adm jr., 12/30/91, for jwk BOND NY CPT 270.000 {SD= .033} 1.375 ! ALLOW ARO !adm jr., 12/30/91, for jwk BOND NY H 465.000 {SD= .025} .976 ! ALLOW ARO ! indole JWK 08/28/89 BOND O C 620.000 {SD= .022} 1.230 ! ALLOW PEP POL ARO ! Peptide geometry, condensed phase (LK) BOND O CC 650.000 {SD= .021} 1.230 ! ALLOW PEP POL ARO ! adm jr. 4/10/91, acetamide BOND OB CC 750.000 {SD= .020} 1.220 ! ALLOW PEP POL ARO ! adm jr., 10/17/90, acetic acid vibrations and geom. BOND OB CD 750.000 {SD= .020} 1.220 ! ALLOW PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent BOND OC CA 525.000 {SD= .024} 1.260 ! ALLOW PEP POL ARO ION ! adm jr. 8/27/91, phenoxide BOND OC CC 525.000 {SD= .024} 1.260 ! ALLOW PEP POL ARO ION ! adm jr. 7/23/91, acetic acid BOND OC CT2 450.000 {SD= .026} 1.330 ! ALLOW ALC ! ethoxide 6-31+G* geom/freq, adm jr., 6/1/92 BOND OC CT3 450.000 {SD= .026} 1.330 ! ALLOW ALC ! methoxide 6-31+G* geom/freq, adm jr., 6/1/92 BOND OH1 CA 334.300 {SD= .030} 1.411 ! ALLOW ARO ALC ! MeOH, EMB 10/10/89, BOND OH1 CD 230.000 {SD= .036} 1.400 ! ALLOW PEP POL ARO ALC ! adm jr. 5/02/91, acetic acid pure solvent BOND OH1 CT1 428.000 {SD= .026} 1.420 ! ALLOW ALI ALC ARO ! methanol vib fit EMB 11/21/89 BOND OH1 CT2 428.000 {SD= .026} 1.420 ! ALLOW ALI ALC ARO ! methanol vib fit EMB 11/21/89 BOND OH1 CT3 428.000 {SD= .026} 1.420 ! ALLOW ALI ALC ARO ! methanol vib fit EMB 11/21/89 BOND OH1 H 545.000 {SD= .023} .960 ! ALLOW ALC ARO ! EMB 11/21/89 methanol vib fit BOND OM CM 1115.000 {SD= .016} 1.128 ! ALLOW HEM ! Heme (6-liganded): CO ligand (KK 05/13/91) BOND OM FE 250.000 {SD= .034} 1.800 ! ALLOW HEM ! Heme (6-liganded): O2 ligand (KK 05/13/91) BOND OM OM 600.000 {SD= .022} 1.230 ! ALLOW HEM ! Heme (6-liganded): O2 ligand (KK 05/13/91) BOND OS CD 150.000 {SD= .044} 1.334 ! ALLOW POL PEP ! adm jr. 5/02/91, acetic acid pure solvent BOND OS CT3 340.000 {SD= .030} 1.430 ! ALLOW POL PEP ! adm jr., 4/05/91, for PRES CT1 from methylacetate BOND OT HT 450.000 {SD= .026} .957 ! ALLOW WAT ! FROM TIPS3P GEOM BOND S CT2 198.000 {SD= .039} 1.818 ! ALLOW ALI SUL ION ! fitted to C-S s 9/26/92 (FL) BOND S CT3 240.000 {SD= .035} 1.816 ! ALLOW ALI SUL ION ! fitted to C-S s 9/26/92 (FL) BOND S HS 275.000 {SD= .033} 1.325 ! ALLOW SUL ION ! methanethiol pure solvent, adm jr., 6/22/92 BOND SM CT2 214.000 {SD= .037} 1.816 ! ALLOW SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) BOND SM CT3 214.000 {SD= .037} 1.816 ! ALLOW SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) BOND SM SM 173.000 {SD= .041} 2.029 ! ALLOW SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) BOND SS CS 205.000 {SD= .038} 1.836 ! ALLOW SUL ! methylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 ANGLE CA CA CA 40.00 {SD= .086} 120.0000 UB 35.000 2.416 ! ALLOW ARO ! JES 8/25/89 ANGLE CP1 N C 60.00 {SD= .070} 117.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE CP2 CP1 C 52.00 {SD= .075} 114.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE CP2 CP1 CC 52.00 {SD= .075} 114.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE CP2 CP1 CD 50.00 {SD= .077} 114.0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE CP2 CP2 CP1 70.00 {SD= .065} 109.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE CP3 CP2 CP2 70.00 {SD= .065} 109.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE CP3 N C 60.00 {SD= .070} 117.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE CP3 N CP1 100.00 {SD= .054} 115.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE CP3 NP CP1 100.00 {SD= .054} 111.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE CPA CPB C 70.00 {SD= .065} 126.7400 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) ANGLE CPA CPM CPA 94.20 {SD= .056} 125.1200 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) ANGLE CPA NPH CPA 139.30 {SD= .046} 103.9000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) ANGLE CPB C C 70.00 {SD= .065} 121.5000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) ANGLE CPB CPB C 70.00 {SD= .065} 126.7500 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) ANGLE CPB CPB CPA 30.80 {SD= .098} 106.5100 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) ANGLE CPH2 NR1 CPH1 130.00 {SD= .048} 107.5000 ! ALLOW ARO ! his, adm jr., 6/27/90 ANGLE CPH2 NR2 CPH1 130.00 {SD= .048} 104.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 ANGLE CPH2 NR3 CPH1 145.00 {SD= .045} 108.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 ANGLE CPM CPA CPB 61.60 {SD= .069} 124.0700 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) ANGLE CPT CA CA 60.00 {SD= .070} 118.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE CPT CPT CA 60.00 {SD= .070} 122.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE CPT CY CA 120.00 {SD= .050} 107.4000 UB 25.000 2.261 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE CPT NY CA 110.00 {SD= .052} 108.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE CT1 CT1 C 52.00 {SD= .075} 108.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) ANGLE CT1 CT1 CC 52.00 {SD= .075} 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters ANGLE CT1 CT1 CT1 53.35 {SD= .074} 111.0000 UB 8.000 2.561 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE CT1 CT2 CA 51.80 {SD= .076} 107.5000 ! ALLOW ALI ARO ! PARALLH19 (JES) ANGLE CT1 CT2 CC 52.00 {SD= .075} 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters ANGLE CT1 CT2 CD 52.00 {SD= .075} 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent ANGLE CT1 CT2 CPH1 58.35 {SD= .071} 113.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, from CT2CT2CT, U-B omitted ANGLE CT1 CT2 CT1 58.35 {SD= .071} 113.5000 UB 11.160 2.561 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) ANGLE CT1 NH1 C 50.00 {SD= .077} 120.0000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) ANGLE CT2 CA CA 45.80 {SD= .080} 122.3000 ! ALLOW ALI ARO ! PARALLH19 (JES) ANGLE CT2 CPB CPA 65.00 {SD= .067} 126.7400 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) ANGLE CT2 CPB CPB 65.00 {SD= .067} 126.7500 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) ANGLE CT2 CPH1 CPH1 45.80 {SD= .080} 130.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC=>CT2CA CA,BA=> CRYSTALS ANGLE CT2 CT1 C 52.00 {SD= .075} 108.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) ANGLE CT2 CT1 CC 52.00 {SD= .075} 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters ANGLE CT2 CT1 CD 52.00 {SD= .075} 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent ANGLE CT2 CT1 CT1 53.35 {SD= .074} 111.0000 UB 8.000 2.561 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE CT2 CT2 CC 52.00 {SD= .075} 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters ANGLE CT2 CT2 CD 52.00 {SD= .075} 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent ANGLE CT2 CT2 CPB 70.00 {SD= .065} 113.0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) ANGLE CT2 CT2 CT1 58.35 {SD= .071} 113.5000 UB 11.160 2.561 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) ANGLE CT2 CT2 CT2 58.35 {SD= .071} 113.6000 UB 11.160 2.561 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE CT2 CT3 CT1 58.35 {SD= .071} 113.5000 UB 11.160 2.561 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) ANGLE CT2 CY CA 45.80 {SD= .080} 129.4000 ! ALLOW ARO !adm jr., 5/08/91, indole CCDB structure search ANGLE CT2 CY CPT 45.80 {SD= .080} 124.0000 ! ALLOW ARO !adm jr., 5/08/91, indole CCDB structure search ANGLE CT2 NC2 C 62.30 {SD= .069} 120.0000 ! ALLOW ALI POL PEP ARO ! 107.5->120.0 to make planar Arg (KK) ANGLE CT2 NH1 C 50.00 {SD= .077} 120.0000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) ANGLE CT2 OS CD 40.00 {SD= .086} 109.6000 UB 30.000 2.265 ! ALLOW POL PEP ! adm jr. 5/02/91, acetic acid pure solvent ANGLE CT3 CA CA 45.80 {SD= .080} 122.3000 ! ALLOW ALI ARO ! toluene, adm jr., 3/7/92 ANGLE CT3 CPB CPA 65.00 {SD= .067} 126.7400 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) ANGLE CT3 CPB CPB 65.00 {SD= .067} 126.7500 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) ANGLE CT3 CPH1 CPH1 45.80 {SD= .080} 130.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC=>CT2CA CA,BA=> CRYSTALS ANGLE CT3 CT1 C 52.00 {SD= .075} 108.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) ANGLE CT3 CT1 CC 52.00 {SD= .075} 108.0000 ! ALLOW ALI PEP POL ARO ! adm jr. 4/09/92, for ALA cter ANGLE CT3 CT1 CT1 53.35 {SD= .074} 108.5000 UB 8.000 2.561 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE CT3 CT1 CT2 53.35 {SD= .074} 114.0000 UB 8.000 2.561 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE CT3 CT1 CT3 53.35 {SD= .074} 114.0000 UB 8.000 2.561 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE CT3 CT2 CA 51.80 {SD= .076} 107.5000 ! ALLOW ALI ARO ! ethylbenzene, adm jr., 3/7/92 ANGLE CT3 CT2 CPH1 58.35 {SD= .071} 113.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, from CT2CT2CT, U-B omitted ANGLE CT3 CT2 CT1 58.35 {SD= .071} 113.5000 UB 11.160 2.561 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) ANGLE CT3 CT2 CT2 58.00 {SD= .071} 115.0000 UB 8.000 2.561 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE CT3 CT2 CT3 53.35 {SD= .074} 114.0000 UB 8.000 2.561 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE CT3 NC2 C 62.30 {SD= .069} 120.0000 ! ALLOW ALI POL PEP ARO ! methylguanidinium, adm jr., 3/26/92 ANGLE CT3 NH1 C 50.00 {SD= .077} 120.0000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) ANGLE CT3 OS CD 40.00 {SD= .086} 109.6000 UB 30.000 2.265 ! ALLOW POL PEP ! adm jr. 5/02/91, acetic acid pure solvent ANGLE CT3 S CT2 34.00 {SD= .093} 95.0000 ! ALLOW ALI SUL ION ! expt. MeEtS, 3/26/92 (FL) ANGLE CY CPT CA 160.00 {SD= .043} 130.6000 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE CY CPT CPT 110.00 {SD= .052} 107.4000 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE CY CT2 CT1 58.35 {SD= .071} 114.0000 ! ALLOW ARO ! from TRP crystal, JWK ANGLE CY CT2 CT3 58.35 {SD= .071} 114.0000 ! ALLOW ARO ! from TRP crystal, JWK ANGLE FE NPH CPA 96.15 {SD= .055} 128.0500 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) ANGLE FE NR2 CPH1 30.00 {SD= .099} 133.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) ANGLE FE NR2 CPH2 30.00 {SD= .099} 123.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) ANGLE H NH1 C 34.00 {SD= .093} 123.0000 ! ALLOW PEP POL ARO ! NMA Vib Modes (LK) ANGLE H NH1 CT1 35.00 {SD= .092} 117.0000 ! ALLOW PEP POL ARO ALI ! NMA Vibrational Modes (LK) ANGLE H NH1 CT2 35.00 {SD= .092} 117.0000 ! ALLOW PEP POL ARO ALI ! NMA Vibrational Modes (LK) ANGLE H NH1 CT3 35.00 {SD= .092} 117.0000 ! ALLOW PEP POL ARO ALI ! NMA Vibrational Modes (LK) ANGLE H NH2 CC 50.00 {SD= .077} 120.0000 ! ALLOW POL PEP ARO ! his, adm jr. 8/13/90 acetamide geometry and vibrations ANGLE H NH2 H 23.00 {SD= .113} 120.0000 ! ALLOW POL ! adm jr. 8/13/90 acetamide geometry and vibrations ANGLE H NR1 CPH1 30.00 {SD= .099} 125.5000 UB 20.000 2.150 ! ALLOW ARO ! his, adm jr., 6/27/90 ANGLE H NR1 CPH2 30.00 {SD= .099} 127.0000 UB 20.000 2.140 ! ALLOW ARO ! his, adm jr., 6/27/90 ANGLE H NR3 CPH1 25.00 {SD= .109} 126.0000 UB 15.000 2.130 ! ALLOW ARO ! his, adm jr., 6/27/90 ANGLE H NR3 CPH2 25.00 {SD= .109} 126.0000 UB 15.000 2.090 ! ALLOW ARO ! his, adm jr., 6/27/90 ANGLE H NY CA 28.00 {SD= .103} 126.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE H NY CPT 28.00 {SD= .103} 126.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE H OH1 CA 65.00 {SD= .067} 108.0000 ! ALLOW ALC ARO ! JES 8/25/89 phenol ANGLE H OH1 CD 55.00 {SD= .073} 115.0000 ! ALLOW ALC ARO PEP POL ! adm jr. 5/02/91, acetic acid pure solvent ANGLE H OH1 CT1 57.50 {SD= .072} 106.0000 ! ALLOW ALC ARO ALI ! methanol vib fit EMB 11/21/89 ANGLE H OH1 CT2 57.50 {SD= .072} 106.0000 ! ALLOW ALC ARO ALI ! methanol vib fit EMB 11/21/89 ANGLE H OH1 CT3 57.50 {SD= .072} 106.0000 ! ALLOW ALC ARO ALI ! methanol vib fit EMB 11/21/89 ANGLE HA C C 50.00 {SD= .077} 120.5000 ! ALLOW PEP POL ARO ! Heme vinyl substituent (KK from propene (JCS)) ANGLE HA C CPB 50.00 {SD= .077} 120.0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) ANGLE HA C HA 50.00 {SD= .077} 118.0000 ! ALLOW PEP POL ARO ! Heme vinyl substituent (KK from propene (JCS)) ANGLE HA CA CA 29.00 {SD= .101} 120.0000 UB 25.000 2.152 ! ALLOW ARO ! trp, adm jr., 10/02/89 ANGLE HA CA CPT 41.00 {SD= .085} 122.0000 ! ALLOW ARO !adm jr., 5/08/91, indole CCDB structure search ANGLE HA CA CY 32.00 {SD= .096} 125.0000 UB 25.000 2.173 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole ANGLE HA CP2 CP1 33.43 {SD= .094} 110.1000 UB 22.530 2.179 ! ALLOW ALI PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE HA CP2 CP2 26.50 {SD= .106} 110.1000 UB 22.530 2.179 ! ALLOW ALI PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE HA CP2 CP3 26.50 {SD= .106} 110.1000 UB 22.530 2.179 ! ALLOW ALI PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE HA CP2 HA 35.50 {SD= .091} 109.0000 UB 5.400 1.802 ! ALLOW ALI PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE HA CP3 CP2 26.50 {SD= .106} 110.1000 UB 22.530 2.179 ! ALLOW ALI PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE HA CP3 HA 35.50 {SD= .091} 109.0000 UB 5.400 1.802 ! ALLOW ALI PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE HA CPM CPA 12.70 {SD= .153} 117.4400 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) ANGLE HA CPM FE .00 {SD=999999.000} 180.0000 ! ALLOW HEM ! Heme (6-liganded): for "ic para" only (KK 05/13/91) ANGLE HA CS CT3 34.60 {SD= .093} 110.1000 UB 22.530 2.179 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 ANGLE HA CS HA 35.50 {SD= .091} 108.4000 UB 14.000 1.775 ! ALLOW SUL ! methylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 ANGLE HA CT1 C 33.00 {SD= .095} 109.5000 UB 30.000 2.163 ! ALLOW ALI PEP POL ARO ! alanine dipeptide, LK, replaced, adm jr., 5/09/91 ANGLE HA CT1 CD 33.00 {SD= .095} 109.5000 UB 30.000 2.163 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent ANGLE HA CT1 CT1 34.50 {SD= .093} 110.1000 UB 22.530 2.179 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE HA CT1 CT2 34.50 {SD= .093} 110.1000 UB 22.530 2.179 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE HA CT1 CT3 34.50 {SD= .093} 110.1000 UB 22.530 2.179 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE HA CT1 HA 35.50 {SD= .091} 109.0000 UB 5.400 1.802 !for model cpd, untested ANGLE HA CT2 C 33.00 {SD= .095} 109.5000 UB 30.000 2.163 ! ALLOW ALI PEP POL ARO ! alanine dipeptide, LK, replaced, adm jr., 5/09/91 ANGLE HA CT2 CA 49.30 {SD= .077} 107.5000 ! ALLOW ALI ARO ! PARALLH19 (JES) ANGLE HA CT2 CC 33.00 {SD= .095} 109.5000 UB 30.000 2.163 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters ANGLE HA CT2 CD 33.00 {SD= .095} 109.5000 UB 30.000 2.163 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent ANGLE HA CT2 CPB 50.00 {SD= .077} 109.5000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) ANGLE HA CT2 CPH1 33.43 {SD= .094} 109.5000 ! ALLOW ARO ! his, ADM JR., 7/22/89, from CT2CT2HA, U-B OMITTED ANGLE HA CT2 CT1 33.43 {SD= .094} 110.1000 UB 22.530 2.179 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) ANGLE HA CT2 CT2 26.50 {SD= .106} 110.1000 UB 22.530 2.179 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE HA CT2 CT3 34.60 {SD= .093} 110.1000 UB 22.530 2.179 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE HA CT2 CY 33.43 {SD= .094} 109.5000 ! ALLOW ARO ! ADM JR., 10/02/89, from CT2CT2HA (U-B OMITTED), FOR JOANNA ANGLE HA CT2 HA 35.50 {SD= .091} 109.0000 UB 5.400 1.802 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE HA CT3 C 33.00 {SD= .095} 109.5000 UB 30.000 2.163 ! ALLOW ALI PEP POL ARO ! alanine dipeptide, LK, replaced, adm jr., 5/09/91 ANGLE HA CT3 CA 49.30 {SD= .077} 107.5000 ! ALLOW ALI ARO ! toluene, adm jr. 3/7/92 ANGLE HA CT3 CC 33.00 {SD= .095} 109.5000 UB 30.000 2.163 ! ALLOW ALI PEP POL ARO ! adm jr. 4/05/91, for asn,asp,gln,glu and cters ANGLE HA CT3 CD 33.00 {SD= .095} 109.5000 UB 30.000 2.163 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent ANGLE HA CT3 CPB 50.00 {SD= .077} 109.5000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) ANGLE HA CT3 CPH1 33.43 {SD= .094} 109.5000 ! ALLOW ARO ! his, ADM JR., 7/22/89, from CT2CT2HA, U-B OMITTED ANGLE HA CT3 CS 34.60 {SD= .093} 110.1000 UB 22.530 2.179 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 ANGLE HA CT3 CT1 33.43 {SD= .094} 110.1000 UB 22.530 2.179 ! ALLOW ALI ! alkane frequencies (MJF), alkane geometries (SF) ANGLE HA CT3 CT2 34.60 {SD= .093} 110.1000 UB 22.530 2.179 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE HA CT3 CT3 37.50 {SD= .089} 110.1000 UB 22.530 2.179 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE HA CT3 HA 35.50 {SD= .091} 108.4000 UB 5.400 1.802 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 ANGLE HA CY CA 20.00 {SD= .122} 126.4000 UB 25.000 2.186 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole ANGLE HA CY CPT 32.00 {SD= .096} 126.4000 UB 25.000 2.255 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole ANGLE HB CP1 C 50.00 {SD= .077} 112.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE HB CP1 CC 50.00 {SD= .077} 112.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE HB CP1 CD 50.00 {SD= .077} 112.0000 ! ALLOW PEP POL PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE HB CP1 CP2 35.00 {SD= .092} 118.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE HB CT1 C 50.00 {SD= .077} 109.5000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) ANGLE HB CT1 CC 50.00 {SD= .077} 109.5000 ! ALLOW PEP POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters ANGLE HB CT1 CD 50.00 {SD= .077} 109.5000 ! ALLOW PEP POL ! adm jr. 5/02/91, acetic acid pure solvent ANGLE HB CT1 CT1 35.00 {SD= .092} 111.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) ANGLE HB CT1 CT2 35.00 {SD= .092} 111.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) ANGLE HB CT1 CT3 35.00 {SD= .092} 111.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) ANGLE HB CT2 C 50.00 {SD= .077} 109.5000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) ANGLE HB CT2 CC 50.00 {SD= .077} 109.5000 ! ALLOW PEP POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters ANGLE HB CT2 CD 50.00 {SD= .077} 109.5000 ! ALLOW PEP POL ! adm jr. 5/02/91, acetic acid pure solvent ANGLE HB CT2 HB 36.00 {SD= .091} 115.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) ANGLE HB CT3 C 50.00 {SD= .077} 109.5000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) ANGLE HC NC2 C 49.00 {SD= .078} 120.0000 ! ALLOW POL PEP ARO ! 35.3->49.0 GUANIDINIUM (KK) ANGLE HC NC2 CT2 40.40 {SD= .086} 120.0000 ! ALLOW POL ALI ! 107.5->120.0 to make planar Arg (KK) ANGLE HC NC2 CT3 40.40 {SD= .086} 120.0000 ! ALLOW POL ALI ! methylguanidinium, adm jr., 3/26/92 ANGLE HC NC2 HC 25.00 {SD= .109} 120.0000 ! ALLOW POL ! 40.0->25.0 GUANIDINIUM (KK) ANGLE HC NH2 CT3 50.00 {SD= .077} 111.0000 ! ALLOW POL ! methylamine geom/freq, adm jr., 6/2/92 ANGLE HC NH2 HC 39.00 {SD= .087} 106.5000 ! ALLOW POL ! 40.0->25.0 GUANIDINIUM (KK) ANGLE HC NH3 CT1 30.00 {SD= .099} 109.5000 UB 20.000 2.074 ! ALLOW POL ALI ! new stretch and bend; methylammonium (KK 03/10/92) ANGLE HC NH3 CT2 30.00 {SD= .099} 109.5000 UB 20.000 2.074 ! ALLOW POL ALI ! new stretch and bend; methylammonium (KK 03/10/92) ANGLE HC NH3 CT3 30.00 {SD= .099} 109.5000 UB 20.000 2.074 ! ALLOW POL ALI ! new stretch and bend; methylammonium (KK 03/10/92) ANGLE HC NH3 HC 44.00 {SD= .082} 109.5000 ! ALLOW POL ! new stretch and bend; methylammonium (KK 03/10/92) ANGLE HC NP CP1 33.00 {SD= .095} 109.5000 UB 4.000 2.056 ! ALLOW POL ALI PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE HC NP CP3 33.00 {SD= .095} 109.5000 UB 4.000 2.056 ! ALLOW POL ALI PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE HC NP HC 51.00 {SD= .076} 107.5000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE HP CA CA 30.00 {SD= .099} 120.0000 UB 22.000 2.152 ! ALLOW ARO ! JES 8/25/89 benzene ANGLE HP CA CPT 30.00 {SD= .099} 122.0000 UB 22.000 2.146 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE HP CA CY 32.00 {SD= .096} 125.0000 UB 25.000 2.173 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole ANGLE HP CY CA 32.00 {SD= .096} 126.4000 UB 25.000 2.186 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE HP CY CPT 32.00 {SD= .096} 126.4000 UB 25.000 2.255 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole ANGLE HR1 CPH1 CPH1 22.00 {SD= .116} 130.0000 UB 15.000 2.215 ! ALLOW ARO ! adm jr., 6/27/90, his ANGLE HR3 CPH1 CPH1 25.00 {SD= .109} 130.0000 UB 20.000 2.200 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS ANGLE HS S CT2 38.80 {SD= .087} 95.0000 ! ALLOW SUL ION ALI ! methanethiol pure solvent, adm jr., 6/22/92 ANGLE HS S CT3 43.00 {SD= .083} 95.0000 ! ALLOW SUL ION ALI ! methanethiol pure solvent, adm jr., 6/22/92 ANGLE HT OT HT 55.00 {SD= .073} 104.5200 ! ALLOW WAT ! TIP3P GEOMETRY, ADM JR. ANGLE N C CP1 20.00 {SD= .122} 112.5000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE N C CT1 20.00 {SD= .122} 112.5000 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE N C CT2 20.00 {SD= .122} 112.5000 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE N C CT3 20.00 {SD= .122} 112.5000 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE N CP1 C 50.00 {SD= .077} 104.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE N CP1 CC 50.00 {SD= .077} 104.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE N CP1 CD 50.00 {SD= .077} 104.0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE N CP1 CP2 70.00 {SD= .065} 111.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE N CP1 HB 48.00 {SD= .079} 112.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE N CP3 CP2 70.00 {SD= .065} 111.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE N CP3 HA 48.00 {SD= .079} 108.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE NC2 C NC2 52.00 {SD= .075} 120.0000 UB 90.000 2.364 ! ALLOW POL PEP ARO ! changed from 60.0/120.3 for guanidinium (KK) ANGLE NC2 CT2 CT2 67.70 {SD= .066} 107.5000 ! ALLOW ALI POL ! arg, (DS) ANGLE NC2 CT2 HA 51.50 {SD= .076} 107.5000 ! ALLOW ALI POL ! arg, (DS) ANGLE NC2 CT3 HA 51.50 {SD= .076} 107.5000 ! ALLOW ALI POL ! methylguanidinium, adm jr., 3/26/92 ANGLE NH1 C CP1 80.00 {SD= .061} 116.5000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE NH1 C CT1 80.00 {SD= .061} 116.5000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) ANGLE NH1 C CT2 80.00 {SD= .061} 116.5000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) ANGLE NH1 C CT3 80.00 {SD= .061} 116.5000 ! ALLOW ALI PEP POL ARO ! NMA Vib Modes (LK) ANGLE NH1 CT1 C 50.00 {SD= .077} 107.0000 ! ALLOW PEP POL ARO ALI ! Alanine Dipeptide ab initio calc's (LK) ANGLE NH1 CT1 CC 50.00 {SD= .077} 107.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 4/05/91, for asn,asp,gln,glu and cters ANGLE NH1 CT1 CD 50.00 {SD= .077} 107.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 5/02/91, acetic acid pure solvent ANGLE NH1 CT1 CT1 70.00 {SD= .065} 113.5000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) ANGLE NH1 CT1 CT2 70.00 {SD= .065} 113.5000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) ANGLE NH1 CT1 CT3 70.00 {SD= .065} 113.5000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) ANGLE NH1 CT1 HB 48.00 {SD= .079} 108.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) ANGLE NH1 CT2 C 50.00 {SD= .077} 107.0000 ! ALLOW PEP POL ARO ALI ! Alanine Dipeptide ab initio calc's (LK) ANGLE NH1 CT2 CC 50.00 {SD= .077} 107.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 5/20/92, for asn,asp,gln,glu and cters ANGLE NH1 CT2 CD 50.00 {SD= .077} 107.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 5/02/91, acetic acid pure solvent ANGLE NH1 CT2 HB 48.00 {SD= .079} 108.0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) ANGLE NH1 CT3 HA 51.50 {SD= .076} 109.5000 ! ALLOW ALI PEP POL ARO ! NMA crystal (JCS) ANGLE NH2 CC CP1 80.00 {SD= .061} 113.5000 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE NH2 CC CT1 50.00 {SD= .077} 116.5000 UB 50.000 2.450 ! ALLOW ALI PEP POL ARO ! adm jr. 8/13/90 acetamide geometry and vibrations ANGLE NH2 CC CT2 50.00 {SD= .077} 116.5000 UB 50.000 2.450 ! ALLOW ALI PEP POL ARO ! adm jr. 8/13/90 acetamide geometry and vibrations ANGLE NH2 CC CT3 50.00 {SD= .077} 116.5000 UB 50.000 2.450 ! ALLOW ALI PEP POL ARO ! adm jr. 8/13/90 acetamide geometry and vibrations ANGLE NH2 CC HA 44.00 {SD= .082} 111.0000 UB 50.000 1.980 ! ALLOW POL ! adm jr., 5/13/91, formamide geometry and vibrations ANGLE NH2 CT3 HA 38.00 {SD= .088} 109.5000 UB 50.000 2.140 ! ALLOW POL ! methylamine geom/freq, adm jr., 6/2/92 ANGLE NH3 CT1 C 43.70 {SD= .082} 110.0000 ! ALLOW PEP POL ARO ALI ! new aliphatics, adm jr., 2/3/92 ANGLE NH3 CT1 CC 43.70 {SD= .082} 110.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 4/05/91, for asn,asp,gln,glu and cters ANGLE NH3 CT1 CT1 67.70 {SD= .066} 110.0000 ! ALLOW ALI POL ! new aliphatics, adm jr., 2/3/92 ANGLE NH3 CT1 CT2 67.70 {SD= .066} 110.0000 ! ALLOW ALI POL ! new aliphatics, adm jr., 2/3/92 ANGLE NH3 CT1 CT3 67.70 {SD= .066} 110.0000 ! ALLOW ALI POL ! new aliphatics, adm jr., 2/3/92 ANGLE NH3 CT1 HB 51.50 {SD= .076} 107.5000 ! ALLOW ALI POL PEP ! new aliphatics, adm jr., 2/3/92 ANGLE NH3 CT2 C 43.70 {SD= .082} 110.0000 ! ALLOW PEP POL ARO ALI ! alanine (JCS) ANGLE NH3 CT2 CC 43.70 {SD= .082} 110.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 4/05/91, for asn,asp,gln,glu and cters ANGLE NH3 CT2 CD 43.70 {SD= .082} 110.0000 ! ALLOW PEP POL ARO ALI ! adm jr. 5/02/91, acetic acid pure solvent ANGLE NH3 CT2 CT2 67.70 {SD= .066} 110.0000 ! ALLOW ALI POL ! alanine (JCS) ANGLE NH3 CT2 HA 45.00 {SD= .081} 107.5000 UB 35.000 2.101 ! ALLOW ALI POL ! new stretch and bend; methylammonium (KK 03/10/92) ANGLE NH3 CT2 HB 51.50 {SD= .076} 107.5000 ! ALLOW ALI POL PEP ! for use on NTER -- from NH3 CT2HA (JCS) -- (LK) ANGLE NH3 CT3 HA 45.00 {SD= .081} 107.5000 UB 35.000 2.101 ! ALLOW ALI POL ! new stretch and bend; methylammonium (KK 03/10/92) ANGLE NP CP1 C 50.00 {SD= .077} 106.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE NP CP1 CC 50.00 {SD= .077} 106.0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE NP CP1 CD 50.00 {SD= .077} 106.0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE NP CP1 CP2 70.00 {SD= .065} 108.5000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE NP CP1 HB 51.50 {SD= .076} 107.5000 ! ALLOW ALI POL PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE NP CP3 CP2 70.00 {SD= .065} 108.5000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE NP CP3 HA 51.50 {SD= .076} 109.1500 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE NPH CPA CPB 122.00 {SD= .049} 111.5400 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) ANGLE NPH CPA CPM 88.00 {SD= .058} 124.3900 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) ANGLE NPH FE CM 50.00 {SD= .077} 90.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) ANGLE NPH FE CPM .00 {SD=999999.000} 45.0000 ! ALLOW HEM ! Heme (6-liganded): for "ic para" only (KK 05/13/91) ANGLE NPH FE NPH 14.39 {SD= .143} 90.0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) ANGLE NR1 CPH1 CPH1 130.00 {SD= .048} 106.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 ANGLE NR1 CPH1 CT2 45.80 {SD= .080} 124.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC FROM CA CT2CT ANGLE NR1 CPH1 CT3 45.80 {SD= .080} 124.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC FROM CA CT2CT ANGLE NR1 CPH1 HR3 25.00 {SD= .109} 124.0000 UB 20.000 2.140 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS ANGLE NR1 CPH2 HR1 25.00 {SD= .109} 122.5000 UB 20.000 2.140 ! ALLOW ARO ! his, adm jr., 6/27/90 ANGLE NR2 CPH1 CPH1 130.00 {SD= .048} 110.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 ANGLE NR2 CPH1 CT2 45.80 {SD= .080} 120.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC FROM CA CT2CT ANGLE NR2 CPH1 HR3 25.00 {SD= .109} 120.0000 UB 20.000 2.140 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS ANGLE NR2 CPH2 HR1 25.00 {SD= .109} 125.0000 UB 20.000 2.120 ! ALLOW ARO ! his, adm jr., 6/27/90 ANGLE NR2 CPH2 NR1 130.00 {SD= .048} 112.5000 ! ALLOW ARO ! his, adm jr., 6/27/90 ANGLE NR2 FE CM 50.00 {SD= .077} 180.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) ANGLE NR2 FE NPH 50.00 {SD= .077} 90.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) ANGLE NR3 CPH1 CPH1 145.00 {SD= .045} 108.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 ANGLE NR3 CPH1 CT2 45.80 {SD= .080} 122.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FC FROM CA CT2CT ANGLE NR3 CPH1 HR1 22.00 {SD= .116} 122.0000 UB 15.000 2.180 ! ALLOW ARO ! his, adm jr., 6/27/90 ANGLE NR3 CPH2 HR2 32.00 {SD= .096} 126.0000 UB 25.000 2.140 ! ALLOW ARO ! his, adm jr., 6/27/90 ANGLE NR3 CPH2 NR3 145.00 {SD= .045} 108.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 ANGLE NY CA CY 120.00 {SD= .050} 110.0000 UB 25.000 2.240 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE NY CA HA 32.00 {SD= .096} 125.0000 UB 25.000 2.177 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole ANGLE NY CA HP 32.00 {SD= .096} 125.0000 UB 25.000 2.177 ! ALLOW ARO ! JWK 05/14/91 new theta0 and r0UB from indole ANGLE NY CPT CA 160.00 {SD= .043} 130.6000 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE NY CPT CPT 110.00 {SD= .052} 107.4000 ! ALLOW ARO !adm jr., 12/30/91, for jwk ANGLE O C CP1 80.00 {SD= .061} 118.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE O C CT1 80.00 {SD= .061} 121.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) ANGLE O C CT2 80.00 {SD= .061} 121.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) ANGLE O C CT3 80.00 {SD= .061} 121.0000 ! ALLOW ALI PEP POL ARO ! Alanine Dipeptide ab initio calc's (LK) ANGLE O C H 50.00 {SD= .077} 121.7000 ! ALLOW PEP POL ARO ! acetaldehyde (JCS), untested ANGLE O C N 80.00 {SD= .061} 122.5000 ! ALLOW PRO PEP POL ARO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE O C NH1 80.00 {SD= .061} 122.5000 ! ALLOW PEP POL ARO ! NMA Vib Modes (LK) ANGLE O CC CP1 80.00 {SD= .061} 118.0000 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 ANGLE O CC CT1 15.00 {SD= .140} 121.0000 UB 50.000 2.440 ! ALLOW ALI PEP POL ARO ! adm jr. 4/10/91, acetamide update ANGLE O CC CT2 15.00 {SD= .140} 121.0000 UB 50.000 2.440 ! ALLOW ALI PEP POL ARO ! adm jr. 4/10/91, acetamide update ANGLE O CC CT3 15.00 {SD= .140} 121.0000 UB 50.000 2.440 ! ALLOW ALI PEP POL ARO ! adm jr. 4/10/91, acetamide update ANGLE O CC HA 44.00 {SD= .082} 122.0000 ! ALLOW POL ! adm jr., 5/13/91, formamide geometry and vibrations ANGLE O CC NH2 75.00 {SD= .063} 122.5000 UB 50.000 2.370 ! ALLOW POL PEP ARO ! adm jr. 4/10/91, acetamide update ANGLE OB CD CP1 70.00 {SD= .065} 125.0000 UB 20.000 2.442 ! ALLOW ALI PEP POL ARO PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE OB CD CT1 70.00 {SD= .065} 125.0000 UB 20.000 2.442 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent ANGLE OB CD CT2 70.00 {SD= .065} 125.0000 UB 20.000 2.442 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent ANGLE OB CD CT3 70.00 {SD= .065} 125.0000 UB 20.000 2.442 ! ALLOW ALI PEP POL ARO ! adm jr. 5/02/91, acetic acid pure solvent ANGLE OC CA CA 40.00 {SD= .086} 120.0000 ! ALLOW POL ARO ! adm jr. 8/27/91, phenoxide ANGLE OC CC CP1 40.00 {SD= .086} 118.0000 UB 50.000 2.388 ! ALLOW ALI PEP POL ARO ION PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE OC CC CT1 40.00 {SD= .086} 118.0000 UB 50.000 2.388 ! ALLOW ALI PEP POL ARO ION ! adm jr. 7/23/91, correction, ACETATE (KK) ANGLE OC CC CT2 40.00 {SD= .086} 118.0000 UB 50.000 2.388 ! ALLOW ALI PEP POL ARO ION ! adm jr. 7/23/91, correction, ACETATE (KK) ANGLE OC CC CT3 40.00 {SD= .086} 118.0000 UB 50.000 2.388 ! ALLOW ALI PEP POL ARO ION ! adm jr. 7/23/91, correction, ACETATE (KK) ANGLE OC CC OC 100.00 {SD= .054} 124.0000 UB 70.000 2.225 ! ALLOW POL ION PEP ARO ! adm jr. 7/23/91, correction, ACETATE (KK) ANGLE OC CT2 CT3 65.00 {SD= .067} 122.0000 ! ALLOW ALC ! ethoxide 6-31+G* geom/freq, adm jr., 6/1/92 ANGLE OC CT2 HA 65.00 {SD= .067} 118.3000 ! ALLOW ALC ! ethoxide 6-31+G* geom/freq, adm jr., 6/1/92 ANGLE OC CT3 HA 65.00 {SD= .067} 118.3000 ! ALLOW ALC ! methoxide 6-31+G* geom/freq, adm jr., 6/1/92 ANGLE OH1 CA CA 45.20 {SD= .081} 120.0000 ! ALLOW ARO ALC ! PARALLH19 WITH [122.3] (JES) ANGLE OH1 CD CT2 55.00 {SD= .073} 110.5000 ! ALLOW ALI PEP POL ARO ALC ! adm jr, 10/17/90, acetic acid vibrations ANGLE OH1 CD CT3 55.00 {SD= .073} 110.5000 ! ALLOW ALI PEP POL ARO ALC ! adm jr, 10/17/90, acetic acid vibrations ANGLE OH1 CD OB 50.00 {SD= .077} 123.0000 UB 210.000 2.262 ! ALLOW PEP POL ARO ALC ! adm jr, 10/17/90, acetic acid vibrations ANGLE OH1 CT1 CT1 75.70 {SD= .063} 110.1000 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 ANGLE OH1 CT1 CT3 75.70 {SD= .063} 110.1000 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 ANGLE OH1 CT1 HA 45.90 {SD= .080} 108.8900 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 ANGLE OH1 CT2 CT1 75.70 {SD= .063} 110.1000 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 ANGLE OH1 CT2 CT3 75.70 {SD= .063} 110.1000 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 ANGLE OH1 CT2 HA 45.90 {SD= .080} 108.8900 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 ANGLE OH1 CT3 HA 45.90 {SD= .080} 108.8900 ! ALLOW ALI ALC ARO ! MeOH, EMB, 10/10/89 ANGLE OM CM FE 35.00 {SD= .092} 180.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) ANGLE OM FE NPH 5.00 {SD= .243} 90.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) ANGLE OM OM FE .00 {SD=999999.000} 180.0000 ! ALLOW HEM ! Heme (6-liganded): ligand links (KK 05/13/91) ANGLE OS CD CP1 55.00 {SD= .073} 109.0000 UB 20.000 2.326 ! ALLOW POL PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 ANGLE OS CD CT1 55.00 {SD= .073} 109.0000 UB 20.000 2.326 ! ALLOW POL PEP ! adm jr., 4/05/91, for PRES CT1 from methylacetate ANGLE OS CD CT2 55.00 {SD= .073} 109.0000 UB 20.000 2.326 ! ALLOW POL PEP ! adm jr., 4/05/91, for PRES CT1 from methylacetate ANGLE OS CD CT3 55.00 {SD= .073} 109.0000 UB 20.000 2.326 ! ALLOW POL PEP ! adm jr., 4/05/91, for PRES CT1 from methylacetate ANGLE OS CD OB 90.00 {SD= .057} 125.9000 UB 160.000 2.258 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate ANGLE OS CT2 HA 60.00 {SD= .070} 109.5000 ! ALLOW PEP POL ! adm jr. 4/05/91, for PRES CT1 from methyl acetate ANGLE OS CT3 HA 60.00 {SD= .070} 109.5000 ! ALLOW PEP POL ! adm jr. 4/05/91, for PRES CT1 from methyl acetate ANGLE S CT2 CT1 58.00 {SD= .071} 112.5000 ! ALLOW ALI SUL ION ! as in expt.MeEtS & DALC crystal, 5/15/92 ANGLE S CT2 CT2 58.00 {SD= .071} 114.5000 ! ALLOW ALI SUL ION ! expt. MeEtS, 3/26/92 (FL) ANGLE S CT2 CT3 58.00 {SD= .071} 114.5000 ! ALLOW ALI SUL ION ! expt. MeEtS, 3/26/92 (FL) ANGLE S CT2 HA 46.10 {SD= .080} 111.3000 ! ALLOW ALI SUL ION ! vib. freq. and HF/6-31G* geo. (DTN) 8/24/90 ANGLE S CT3 HA 46.10 {SD= .080} 111.3000 ! ALLOW ALI SUL ION ! vib. freq. and HF/6-31G* geo. (DTN) 8/24/90 ANGLE SM CT2 CT1 58.00 {SD= .071} 112.5000 ! ALLOW ALI SUL ION ! as in expt.MeEtS & DALC crystal, 5/15/92 ANGLE SM CT2 HA 38.00 {SD= .088} 111.0000 ! ALLOW ALI SUL ION ! new S-S atom type 8/24/90 ANGLE SM CT3 HA 38.00 {SD= .088} 111.0000 ! ALLOW ALI SUL ION ! new S-S atom type 8/24/90 ANGLE SM SM CT2 72.50 {SD= .064} 103.3000 ! ALLOW ALI SUL ION ! expt. dimethyldisulfide, 3/26/92 (FL) ANGLE SM SM CT3 72.50 {SD= .064} 103.3000 ! ALLOW ALI SUL ION ! expt. dimethyldisulfide, 3/26/92 (FL) ANGLE SS CS CT3 55.00 {SD= .073} 118.0000 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 ANGLE SS CS HA 40.00 {SD= .086} 112.3000 ! ALLOW SUL ! methylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 DIHEDRAL C CT1 NH1 C 1.60 {SD= .430} 1 180.0000 ! ALLOW PEP ! Alanine Dipeptide Relative Minimum ab initio Energies (LK) DIHEDRAL C CT2 NH1 C 1.60 {SD= .430} 1 180.0000 ! ALLOW PEP ! Alanine Dipeptide Relative Minimum ab initio Energies (LK) DIHEDRAL C N CP1 C .80 {SD= .608} 3 .0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CA CA CA CA 3.10 {SD= .309} 2 180.0000 ! ALLOW ARO ! JES 8/25/89 DIHEDRAL CA CPT CPT CA 3.10 {SD= .309} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL CA CT2 CT1 C .04 {SD= 2.721} 3 .0000 ! ALLOW ARO ! 2.7 kcal/mole CH3 rot in ethylbenzene, adm jr, 3/7/92 DIHEDRAL CA CY CPT CA 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! JWK 09/05/89 DIHEDRAL CA NY CPT CA 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL CC CP1 N C .80 {SD= .608} 3 .0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CC CT1 CT2 CA .04 {SD= 2.721} 3 .0000 ! ALLOW ARO ! 2.7 kcal/mole CH3 rot in ethylbenzene, adm jr, 3/7/92 DIHEDRAL CC CT1 NH1 C 1.60 {SD= .430} 1 180.0000 ! ALLOW PEP POL ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL CC CT2 NH1 C 1.60 {SD= .430} 1 180.0000 ! ALLOW PEP POL ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL CD CP1 N C .00 {SD=999999.000} 1 180.0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL CD CT1 NH1 C 1.60 {SD= .430} 1 180.0000 ! ALLOW PEP POL ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL CD CT2 NH1 C 1.60 {SD= .430} 1 180.0000 ! ALLOW PEP POL ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL CP1 C N CP1 MULTIPLE= 2 3.25 2 180.0000 ! ALLOW PRO .60 4 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP2 CP1 N C .80 {SD= .608} 3 .0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP2 CP3 N C .10 {SD= 1.721} 3 180.0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP2 CP3 N CP1 .10 {SD= 1.721} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP2 CP3 NP CP1 .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP3 N C CP1 MULTIPLE= 2 3.25 2 180.0000 ! ALLOW PRO .60 4 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP3 N CP1 C .10 {SD= 1.721} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP3 N CP1 CC .10 {SD= 1.721} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP3 N CP1 CP2 .10 {SD= 1.721} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP3 NP CP1 C .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP3 NP CP1 CC .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP3 NP CP1 CD .08 {SD= 1.924} 3 .0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CP3 NP CP1 CP2 .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CPH2 NR1 CPH1 CPH1 14.00 {SD= .145} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 DIHEDRAL CPH2 NR2 CPH1 CPH1 14.00 {SD= .145} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 DIHEDRAL CPH2 NR3 CPH1 CPH1 12.00 {SD= .157} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 DIHEDRAL CPT CA CA CA 3.10 {SD= .309} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL CPT CPT CA CA 3.10 {SD= .309} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL CPT CPT CY CA 4.00 {SD= .272} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL CPT CPT NY CA 5.00 {SD= .243} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL CT1 C N CP1 MULTIPLE= 2 3.25 2 180.0000 ! ALLOW PRO .60 4 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CT1 C N CP3 MULTIPLE= 2 3.25 2 180.0000 ! ALLOW PRO .60 4 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CT1 C NH1 CT1 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) 2.50 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL CT1 CT1 NH1 C .30 {SD= .993} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide Relative Minimum ab initio Energies (LK) DIHEDRAL CT1 CT2 CA CA .23 {SD= 1.135} 2 180.0000 ! ALLOW ARO ALI ! ethylbenzene ethyl rotation, adm jr. 3/7/92 DIHEDRAL CT1 CT2 CPH1 CPH1 MULTIPLE= 3 .20 1 .0000 ! ALLOW ARO .27 2 .0000 ! ALLOW ARO .00 3 .0000 ! ALLOW ARO ! 4-ethylimidazole 4-21G rot bar, adm jr. 3/4/92 DIHEDRAL CT1 CT2 CY CA .23 {SD= 1.135} 2 180.0000 ! ALLOW ARO ! from ethylbenzene, adm jr., 3/7/92 DIHEDRAL CT1 CT2 CY CPT .23 {SD= 1.135} 2 180.0000 ! ALLOW ARO ! from ethylbenzene, adm jr., 3/7/92 DIHEDRAL CT1 NH1 C CP1 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP PRO 2.50 2 180.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL CT2 C N CP1 MULTIPLE= 2 3.25 2 180.0000 ! ALLOW PRO .60 4 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CT2 C N CP3 MULTIPLE= 2 3.25 2 180.0000 ! ALLOW PRO .60 4 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CT2 C NH1 CT1 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) 2.50 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL CT2 C NH1 CT2 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) 2.50 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL CT2 CA CA CA 3.10 {SD= .309} 2 180.0000 ! ALLOW ARO ! JES 8/25/89 toluene and ethylbenzene DIHEDRAL CT2 CPH1 NR1 CPH2 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM HA CPH1 NR1 CPH2 DIHEDRAL CT2 CPH1 NR2 CPH2 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM HA CPH1 NR2 CPH2 DIHEDRAL CT2 CPH1 NR3 CPH2 2.50 {SD= .344} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL CT2 CT1 NH1 C .30 {SD= .993} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide Relative Minimum ab initio Energies (LK) DIHEDRAL CT2 CT2 CPH1 CPH1 .40 {SD= .860} 1 .0000 ! ALLOW ARO ! 4-methylimidazole 4-21G//6-31G* rot bar. ADM JR., 9/4/89 DIHEDRAL CT2 CT2 CT2 CT2 .15 {SD= 1.405} 1 .0000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92, butane trans/gauche DIHEDRAL CT2 CY CPT CA 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! JWK DIHEDRAL CT2 CY CPT CPT 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO !JWK DIHEDRAL CT2 NH1 C CP1 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP PRO 2.50 2 180.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL CT2 NH1 C CT1 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) 2.50 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL CT2 SM SM CT2 MULTIPLE= 3 1.00 1 .0000 ! ALLOW ALI SUL ION 4.10 2 .0000 ! ALLOW ALI SUL ION ! mp 6-311G** dimethyldisulfide, 3/26/92 (FL) .90 3 .0000 ! ALLOW ALI SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) DIHEDRAL CT3 C N CP1 MULTIPLE= 2 3.25 2 180.0000 ! ALLOW PRO .60 4 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CT3 C N CP3 MULTIPLE= 2 3.25 2 180.0000 ! ALLOW PRO .60 4 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL CT3 C NH1 CT1 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) 2.50 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL CT3 C NH1 CT2 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP PRO 2.50 2 180.0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL CT3 C NH1 CT3 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) 2.50 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL CT3 CA CA CA 3.10 {SD= .309} 2 180.0000 ! ALLOW ARO ! toluene, adm jr., 3/7/92 DIHEDRAL CT3 CPH1 NR1 CPH2 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM HA CPH1 NR1 CPH2 DIHEDRAL CT3 CT1 NH1 C .30 {SD= .993} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL CT3 CT2 CA CA .23 {SD= 1.135} 2 180.0000 ! ALLOW ARO ALI ! ethylbenzene ethyl rotation, adm jr. 3/7/92 DIHEDRAL CT3 CT2 CPH1 CPH1 MULTIPLE= 3 .20 1 .0000 ! ALLOW ARO .27 2 .0000 ! ALLOW ARO .00 3 .0000 ! ALLOW ARO ! 4-ethylimidazole 4-21G rot bar, adm jr. 3/4/92 DIHEDRAL CT3 CT2 CT2 CT2 .15 {SD= 1.405} 1 .0000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92, butane trans/gauche DIHEDRAL CT3 CT2 CT2 CT3 .15 {SD= 1.405} 1 .0000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92, butane trans/gauche DIHEDRAL CT3 CT2 CY CA .23 {SD= 1.135} 2 180.0000 ! ALLOW ARO ! from ethylbenzene, adm jr., 3/7/92 DIHEDRAL CT3 CT2 CY CPT .23 {SD= 1.135} 2 180.0000 ! ALLOW ARO ! from ethylbenzene, adm jr., 3/7/92 DIHEDRAL CT3 CT2 S CT3 MULTIPLE= 2 .24 1 180.0000 ! ALOW ALI SUL ION .37 3 .0000 ! ALOW ALI SUL ION ! expt. MeEtS, 3/26/92 (FL) DIHEDRAL CT3 NH1 C CP1 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP PRO 2.50 2 180.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL CT3 NH1 C CT1 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP ! Revised to adjust NMA cis/trans energy difference. (LK) 2.50 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL CT3 NH1 C CT2 MULTIPLE= 2 1.60 1 .0000 ! ALLOW PEP PRO 2.50 2 180.0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL CT3 S CT2 CT2 MULTIPLE= 2 .24 1 180.0000 ! ALOW ALI SUL ION .37 3 .0000 ! ALOW ALI SUL ION ! expt. MeEtS, 3/26/92 (FL) DIHEDRAL CT3 SM SM CT3 MULTIPLE= 3 1.00 1 .0000 ! ALLOW ALI SUL ION 4.10 2 .0000 ! ALLOW ALI SUL ION ! mp 6-311G** dimethyldisulfide, 3/26/92 (FL) .90 3 .0000 ! ALLOW ALI SUL ION ! improved CSSC dihedral in DMDS 5/15/92 (FL) DIHEDRAL CY CA NY CPT 5.00 {SD= .243} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL CY CPT CA CA 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL CY CPT CPT CA 10.00 {SD= .172} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL H NH1 C CP1 2.50 {SD= .344} 2 180.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL H NH1 C CT1 2.50 {SD= .344} 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL H NH1 C CT2 2.50 {SD= .344} 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL H NH1 C CT3 2.50 {SD= .344} 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL H NH1 CT1 C .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL H NH1 CT1 CC .00 {SD=999999.000} 1 .0000 ! ALLOW PEP POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters DIHEDRAL H NH1 CT1 CD .00 {SD=999999.000} 1 .0000 ! ALLOW PEP POL ! adm jr. 5/02/91, acetic acid pure solvent DIHEDRAL H NH1 CT1 CT1 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL H NH1 CT1 CT2 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL H NH1 CT1 CT3 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL H NH1 CT2 C .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL H NH1 CT2 CC .00 {SD=999999.000} 1 .0000 ! ALLOW PEP POL ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL H NH1 CT2 CD .00 {SD=999999.000} 1 .0000 ! ALLOW PEP POL ! adm jr. 5/02/91, acetic acid pure solvent DIHEDRAL H NH1 CT2 CT3 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL H NH2 CC CP1 2.50 {SD= .344} 2 180.0000 ! ALLOW PEP POL ARO PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL H NH2 CC CT1 1.40 {SD= .460} 2 180.0000 ! ALLOW PEP POL ARO PRO ! adm jr. 4/10/91, acetamide update DIHEDRAL H NH2 CC CT2 1.40 {SD= .460} 2 180.0000 ! ALLOW PEP POL ARO PRO ! adm jr. 4/10/91, acetamide update DIHEDRAL H NH2 CC CT3 1.40 {SD= .460} 2 180.0000 ! ALLOW PEP POL ARO PRO ! adm jr. 4/10/91, acetamide update DIHEDRAL H NR1 CPH1 CPH1 1.00 {SD= .544} 2 180.0000 ! ALLOW ARO ! his, adm jr., 7/20/89 DIHEDRAL H NR1 CPH1 CT2 1.00 {SD= .544} 2 180.0000 ! ALLOW ARO ! his, adm jr., 7/22/89, FROM HA CPH1 NR1 H DIHEDRAL H NR1 CPH1 CT3 1.00 {SD= .544} 2 180.0000 ! ALLOW ARO ! his, adm jr., 7/22/89, FROM HA CPH1 NR1 H DIHEDRAL H NR3 CPH1 CPH1 1.40 {SD= .460} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL H NR3 CPH1 CT2 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, adm jr., 7/22/89, FROM HC NR3 CPH1 HA DIHEDRAL H NR3 CPH1 CT3 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, adm jr., 7/22/89, FROM HC NR3 CPH1 HA DIHEDRAL H NY CA CY .80 {SD= .608} 2 180.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk DIHEDRAL H NY CPT CA .80 {SD= .608} 2 180.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk DIHEDRAL H NY CPT CPT .80 {SD= .608} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL H OH1 CA CA .99 {SD= .547} 2 180.0000 ! ALLOW ARO ALC ! phenol OH rot bar, 3.37 kcal/mole, adm jr. 3/7/92 DIHEDRAL HA CA CA CA 3.50 {SD= .291} 2 180.0000 ! ALLOW ARO ! adm jr., 10/02/89 DIHEDRAL HA CA CA CPT 3.50 {SD= .291} 2 180.0000 ! ALLOW ARO ! JWK 09/05/89 DIHEDRAL HA CA CA HA 2.50 {SD= .344} 2 180.0000 ! ALLOW ARO ! ADM JR., 10/02/89 DIHEDRAL HA CA CPT CPT 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! TRP (JES) DIHEDRAL HA CA CPT CY 4.00 {SD= .272} 2 180.0000 ! ALLOW ARO ! JWK 09/05/89 DIHEDRAL HA CA CY CPT 1.20 {SD= .497} 2 180.0000 ! ALLOW ARO ! JWK DIHEDRAL HA CA CY CT2 1.20 {SD= .497} 2 180.0000 ! ALLOW ARO ! JWK DIHEDRAL HA CA NY CPT 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! JWK 09/05/89 DIHEDRAL HA CA NY H 1.00 {SD= .544} 2 180.0000 ! ALLOW ARO ! JWK 09/05/89 DIHEDRAL HA CC NH2 H 1.40 {SD= .460} 2 180.0000 ! ALLOW PEP POL ! adm jr. 4/10/91, acetamide update DIHEDRAL HA CP3 N C .10 {SD= 1.721} 3 180.0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HA CP3 N CP1 .10 {SD= 1.721} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HA CP3 NP CP1 .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HA CT1 CT2 CA .04 {SD= 2.721} 3 .0000 ! ALLOW ARO ! 2.7 kcal/mole CH3 rot in ethylbenzene, adm jr, 3/7/92 DIHEDRAL HA CT2 CPH1 CPH1 .00 {SD=999999.000} 3 .0000 ! ALLOW ARO ! 4-methylimidazole 4-21G//6-31G* rot bar. adm jr., 9/4/89 DIHEDRAL HA CT2 CY CA .25 {SD= 1.088} 2 180.0000 ! ALLOW ARO ! JWK DIHEDRAL HA CT2 CY CPT .25 {SD= 1.088} 2 180.0000 ! ALLOW ARO ! JWK DIHEDRAL HA CT2 NH1 C .00 {SD=999999.000} 3 .0000 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential DIHEDRAL HA CT2 NH1 H .00 {SD=999999.000} 3 .0000 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential DIHEDRAL HA CT2 S CT3 .28 {SD= 1.028} 3 .0000 ! ALLOW ALI SUL ION ! DTN 8/24/90 DIHEDRAL HA CT3 CPH1 CPH1 .00 {SD=999999.000} 3 .0000 ! ALLOW ARO ! 4-methylimidazole 4-21G//6-31G* rot bar. adm jr., 9/4/89 DIHEDRAL HA CT3 CS HA .16 {SD= 1.360} 3 .0000 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 DIHEDRAL HA CT3 CT2 CA .04 {SD= 2.721} 3 .0000 ! ALLOW ARO ! 2.7 kcal/mole CH3 rot in ethylbenzene, adm jr, 3/7/92 DIHEDRAL HA CT3 NH1 C .00 {SD=999999.000} 3 .0000 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential DIHEDRAL HA CT3 NH1 H .00 {SD=999999.000} 3 .0000 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential DIHEDRAL HA CT3 S CT2 .28 {SD= 1.028} 3 .0000 ! ALLOW ALI SUL ION ! DTN 8/24/90 DIHEDRAL HA CY CA CPT 1.20 {SD= .497} 2 180.0000 ! ALLOW ARO ! JWK 09/05/89 DIHEDRAL HA CY CA HA 1.20 {SD= .497} 2 180.0000 ! ALLOW ARO ! JWK 09/05/89 DIHEDRAL HA CY CPT CA 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! JWK 09/05/89 DIHEDRAL HA CY CPT CPT 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! JWK 09/05/89 DIHEDRAL HB CP1 N C .80 {SD= .608} 3 .0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HB CP1 N CP3 .10 {SD= 1.721} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HB CP1 NP CP3 .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HB CT1 NH1 C .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL HB CT1 NH1 H .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL HB CT2 NH1 C .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL HB CT2 NH1 H .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL HB CT3 NH1 C .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL HB CT3 NH1 H .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL HC NP CP1 C .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HC NP CP1 CC .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HC NP CP1 CD .08 {SD= 1.924} 3 .0000 ! ALLOW PRO PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HC NP CP1 CP2 .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HC NP CP1 HB .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HC NP CP3 CP2 .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HC NP CP3 HA .08 {SD= 1.924} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL HP CA CA CA 4.20 {SD= .266} 2 180.0000 ! ALLOW ARO ! JES 8/25/89 benzene DIHEDRAL HP CA CA CPT 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL HP CA CA CT2 4.20 {SD= .266} 2 180.0000 ! ALLOW ARO ! JES 8/25/89 toluene and ethylbenzene DIHEDRAL HP CA CA CT3 4.20 {SD= .266} 2 180.0000 ! ALLOW ARO ! toluene, adm jr., 3/7/92 DIHEDRAL HP CA CA HP 2.40 {SD= .351} 2 180.0000 ! ALLOW ARO ! JES 8/25/89 benzene DIHEDRAL HP CA CPT CPT 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! JWK indole 05/14/91 DIHEDRAL HP CA CPT CY 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL HP CA CY CPT 2.00 {SD= .385} 2 180.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk DIHEDRAL HP CA CY CT2 1.20 {SD= .497} 2 180.0000 ! ALLOW ARO ! JWK indole 05/14/91 DIHEDRAL HP CA NY CPT 2.00 {SD= .385} 2 180.0000 ! ALLOW ARO !adm jr., 12/30/91, for jwk DIHEDRAL HP CA NY H .40 {SD= .860} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL HP CY CA HP 1.00 {SD= .544} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL HP CY CPT CA 2.80 {SD= .325} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL HP CY CPT CPT 2.80 {SD= .325} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL HR1 CPH1 CPH1 CT2 1.00 {SD= .544} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL HR1 CPH1 CPH1 CT3 1.00 {SD= .544} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL HR1 CPH1 CPH1 HR1 1.00 {SD= .544} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90, his DIHEDRAL HR1 CPH1 NR3 CPH2 2.50 {SD= .344} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL HR1 CPH1 NR3 H 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL HR1 CPH2 NR1 CPH1 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL HR1 CPH2 NR1 H 1.00 {SD= .544} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL HR1 CPH2 NR2 CPH1 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL HR2 CPH2 NR3 CPH1 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL HR2 CPH2 NR3 H .00 {SD=999999.000} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90, YES, 0.0 DIHEDRAL HR3 CPH1 CPH1 CT2 2.00 {SD= .385} 2 180.0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS DIHEDRAL HR3 CPH1 CPH1 CT3 2.00 {SD= .385} 2 180.0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS DIHEDRAL HR3 CPH1 CPH1 HR3 2.00 {SD= .385} 2 180.0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS DIHEDRAL HR3 CPH1 NR1 CPH2 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS DIHEDRAL HR3 CPH1 NR1 H 1.00 {SD= .544} 2 180.0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS DIHEDRAL HR3 CPH1 NR2 CPH2 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS {* check HS S CT2 CT1 multiple dih., ct1 should be ct3, adm jr. *} ! DIHEDRAL HS S CT2 CT1 MULTIPLE= 3 .24 1 .0000 ! ALLOW ALI SUL ION ! .15 2 .0000 ! ALLOW ALI SUL ION ! .27 3 .0000 ! ALLOW ALI SUL ION ! ! methanethiol pure solvent, adm jr., 6/22/92 ! DIHEDRAL HS S CT2 CT3 .24 {SD= 1.111} 3.0000 ! ALLOW ALI SUL ION ! ! methanethiol pure solvent, adm jr., 6/22/92 {* the following 2 dihedrals may revert to the above values, adm jr. *} DIHEDRAL HS S CT2 CT3 MULTIPLE= 3 .24 1 .0000 ! ALLOW ALI SUL ION .15 2 .0000 ! ALLOW ALI SUL ION .27 3 .0000 ! ALLOW ALI SUL ION ! methanethiol pure solvent, adm jr., 6/22/92 DIHEDRAL HS S CT2 CT1 .24 {SD= 1.111} 3 .0000 ! ALLOW ALI SUL ION ! methanethiol pure solvent, adm jr., 6/22/92 DIHEDRAL HS S CT2 HA .20 {SD= 1.217} 3 .0000 ! ALLOW ALI SUL ION ! methanethiol pure solvent, adm jr., 6/22/92 DIHEDRAL HS S CT3 HA .20 {SD= 1.217} 3 .0000 ! ALLOW ALI SUL ION ! methanethiol pure solvent, adm jr., 6/22/92 DIHEDRAL N C CP1 CP2 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL N C CP1 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL N C CT1 CT1 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL N C CT1 CT2 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL N C CT1 CT3 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL N C CT1 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL N C CT2 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL N C CT3 HA .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL N CP1 C N .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL N CT1 CT2 CA .04 {SD= 2.721} 3 .0000 ! ALLOW ARO ! 2.7 kcal/mole CH3 rot in ethylbenzene, adm jr, 3/7/92 DIHEDRAL NH1 C CP1 CP2 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NH1 C CP1 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NH1 C CP1 N .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NH1 C CT1 CT1 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL NH1 C CT1 CT2 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL NH1 C CT1 CT3 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL NH1 C CT1 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL NH1 C CT1 NH1 .40 {SD= .860} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide Relative Minimum ab initio Energies (LK) DIHEDRAL NH1 C CT2 HA .00 {SD=999999.000} 3 .0000 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential DIHEDRAL NH1 C CT2 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL NH1 C CT2 NH1 .40 {SD= .860} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide Relative Minimum ab initio Energies (LK) DIHEDRAL NH1 C CT3 HA .00 {SD=999999.000} 3 .0000 ! ALLOW PEP ! LK for autogenerate dihe, sp2-methyl, no dihedral potential DIHEDRAL NH1 CT1 C N .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NH1 CT2 C N .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NH2 CC CP1 CP2 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NH2 CC CP1 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NH2 CC CP1 N .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NH2 CC CT1 CT1 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL NH2 CC CT1 CT2 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL NH2 CC CT1 CT3 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL NH2 CC CT1 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL NH2 CC CT1 NH1 .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL NH2 CC CT2 HA .00 {SD=999999.000} 3 180.0000 ! ALLOW POL ! adm jr., 8/13/90 acetamide geometry and vibrations DIHEDRAL NH2 CC CT2 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL NH2 CC CT2 NH1 .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL NH3 CT1 C N .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NH3 CT1 C NH1 .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL NH3 CT1 CC NH2 .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL NH3 CT2 C N .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NH3 CT2 C NH1 .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! adm jr. 3/24/92, for PRES GLYP DIHEDRAL NH3 CT2 CC NH2 .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL NP CP1 C N .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NP CP1 C NH1 .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NP CP1 CC NH2 .40 {SD= .860} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL NR1 CPH1 CPH1 CT2 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM NR1 CPH1 CPH1 HA DIHEDRAL NR1 CPH1 CPH1 CT3 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM NR1 CPH1 CPH1 HA DIHEDRAL NR1 CPH1 CPH1 HR3 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS DIHEDRAL NR1 CPH1 CT2 CT1 .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR1 CPH1 CT2 CT2 .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR1 CPH1 CT2 CT3 .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR1 CPH1 CT2 HA .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR1 CPH1 CT3 HA .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR1 CPH2 NR2 CPH1 14.00 {SD= .145} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 DIHEDRAL NR2 CPH1 CPH1 CT2 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM NR2 CPH1 CPH1 HA DIHEDRAL NR2 CPH1 CPH1 CT3 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/22/89, FROM NR2 CPH1 CPH1 HA DIHEDRAL NR2 CPH1 CPH1 HR3 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS DIHEDRAL NR2 CPH1 CPH1 NR1 14.00 {SD= .145} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 DIHEDRAL NR2 CPH1 CT2 CT1 .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! HIS CB-CG TORSION, DIHEDRAL NR2 CPH1 CT2 CT2 .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! HIS CB-CG TORSION, DIHEDRAL NR2 CPH1 CT2 CT3 .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! HIS CB-CG TORSION, DIHEDRAL NR2 CPH1 CT2 HA .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR2 CPH1 CT3 HA .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR2 CPH2 NR1 CPH1 14.00 {SD= .145} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 DIHEDRAL NR2 CPH2 NR1 H 1.00 {SD= .544} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 DIHEDRAL NR3 CPH1 CPH1 CT2 2.50 {SD= .344} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL NR3 CPH1 CPH1 CT3 2.50 {SD= .344} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL NR3 CPH1 CPH1 HR1 2.50 {SD= .344} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL NR3 CPH1 CPH1 NR3 12.00 {SD= .157} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL NR3 CPH1 CT2 CT1 .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR3 CPH1 CT2 CT2 .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR3 CPH1 CT2 CT3 .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR3 CPH1 CT2 HA .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR3 CPH1 CT3 HA .19 {SD= 1.248} 3 .0000 ! ALLOW ARO ! 4-METHYLIMIDAZOLE 4-21G//6-31G* ROT BAR. ADM JR., 9/4/89 DIHEDRAL NR3 CPH2 NR3 CPH1 12.00 {SD= .157} 2 180.0000 ! ALLOW ARO ! his, ADM JR., 7/20/89 DIHEDRAL NR3 CPH2 NR3 H 1.40 {SD= .460} 2 180.0000 ! ALLOW ARO ! his, adm jr., 6/27/90 DIHEDRAL NY CA CY CPT 4.00 {SD= .272} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL NY CA CY CT2 3.50 {SD= .291} 2 180.0000 ! ALLOW ARO ! JWK DIHEDRAL NY CA CY HA 3.50 {SD= .291} 2 180.0000 ! ALLOW ARO ! JWK 09/05/89 DIHEDRAL NY CA CY HP 3.50 {SD= .291} 2 180.0000 ! ALLOW ARO ! JWK indole 05/14/91 DIHEDRAL NY CPT CA CA 2.80 {SD= .325} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL NY CPT CA HA 4.00 {SD= .272} 2 180.0000 ! ALLOW ARO ! JWK 09/05/89 DIHEDRAL NY CPT CA HP 3.00 {SD= .314} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL NY CPT CPT CA 10.00 {SD= .172} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL NY CPT CPT CY 5.00 {SD= .243} 2 180.0000 ! ALLOW ARO ! JWK 05/14/91 fit to indole DIHEDRAL O C CP1 CP2 .40 {SD= .860} 1 180.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL O C CP1 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL O C CP1 N .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL O C CP1 NP .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL O C CT1 CT1 .40 {SD= .860} 1 180.0000 ! ALLOW PEP ! Alanine Dipeptide Relative Minimum ab initio Energies (LK) DIHEDRAL O C CT1 CT2 .40 {SD= .860} 1 180.0000 ! ALLOW PEP ! Alanine Dipeptide Relative Minimum ab initio Energies (LK) DIHEDRAL O C CT1 CT3 .40 {SD= .860} 1 180.0000 ! ALLOW PEP ! Alanine Dipeptide Relative Minimum ab initio Energies (LK) DIHEDRAL O C CT1 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL O C CT1 NH1 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL O C CT1 NH3 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Backbone parameter set made complete RLD 8/8/90 DIHEDRAL O C CT2 HA .00 {SD=999999.000} 3 180.0000 ! ALLOW POL ! adm jr., 8/13/90 acetamide geometry and vibrations DIHEDRAL O C CT2 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL O C CT2 NH1 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP ! Alanine Dipeptide ab initio calc's (LK) DIHEDRAL O C CT2 NH3 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Backbone parameter set made complete RLD 8/8/90 DIHEDRAL O C CT3 HA .00 {SD=999999.000} 3 180.0000 ! ALLOW POL ! adm jr., 8/13/90 acetamide geometry and vibrations DIHEDRAL O C N CP1 MULTIPLE= 2 3.25 2 180.0000 ! ALLOW PRO .60 4 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL O C N CP3 MULTIPLE= 2 3.25 2 180.0000 ! ALLOW PRO .60 4 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL O C NH1 CT1 2.50 {SD= .344} 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL O C NH1 CT2 2.50 {SD= .344} 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL O C NH1 CT3 2.50 {SD= .344} 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL O C NH1 H 2.50 {SD= .344} 2 180.0000 ! ALLOW PEP ! Gives appropriate NMA cis/trans barrier. (LK) DIHEDRAL O CC CP1 CP2 .40 {SD= .860} 1 180.0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL O CC CP1 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL O CC CP1 N .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL O CC CP1 NP .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL O CC CT1 CT1 .40 {SD= .860} 1 180.0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL O CC CT1 CT2 .40 {SD= .860} 1 180.0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL O CC CT1 CT3 .40 {SD= .860} 1 180.0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL O CC CT1 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL O CC CT1 NH1 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL O CC CT1 NH3 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL O CC CT2 HA .00 {SD=999999.000} 3 180.0000 ! ALLOW POL ! adm jr. 4/05/91, for asn,asp,gln,glu and cters DIHEDRAL O CC CT2 HB .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! for Acetyl-proline RLD 5/1/91 DIHEDRAL O CC CT2 NH1 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL O CC CT2 NH3 .00 {SD=999999.000} 1 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL O CC NH2 H 1.40 {SD= .460} 2 180.0000 ! ALLOW PEP POL ARO PRO ! adm jr. 4/10/91, acetamide update DIHEDRAL OB CD OS CT2 MULTIPLE= 2 .96 1 180.0000 ! ALLOW PEP POL 3.85 2 180.0000 ! ALLOW PEP POL ! adm jr. 4/05/91, for PRES CT1 from methyl acetate ! adm jr. 3/19/92, from lipid methyl acetate DIHEDRAL OB CD OS CT3 MULTIPLE= 2 .96 1 180.0000 ! ALLOW PEP POL 3.85 2 180.0000 ! ALLOW PEP POL ! adm jr. 4/05/91, for PRES CT1 from methyl acetate ! adm jr. 3/19/92, from lipid methyl acetate DIHEDRAL OC CA CA CA 3.10 {SD= .309} 2 180.0000 ! ALLOW ARO ! adm jr. 8/27/91, phenoxide DIHEDRAL OC CA CA HP 4.20 {SD= .266} 2 180.0000 ! ALLOW ARO ! adm jr. 8/27/91, phenoxide DIHEDRAL OC CC CP1 CP2 .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO POL ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL OC CC CP1 HB .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO POL ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL OC CC CP1 N .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO POL ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL OC CC CP1 NP .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO POL ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 DIHEDRAL OC CC CT1 CT1 .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL OC CC CT1 CT2 .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL OC CC CT1 CT3 .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL OC CC CT1 HB .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL OC CC CT1 NH1 .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL OC CC CT1 NH3 .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL OC CC CT2 HB .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL OC CC CT2 NH1 .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL OC CC CT2 NH3 .16 {SD= 1.360} 3 .0000 ! ALLOW PEP PRO ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL OH1 CA CA CA 3.10 {SD= .309} 2 180.0000 ! ALLOW ARO ! JES 8/25/89 phenol DIHEDRAL OH1 CA CA HP 4.20 {SD= .266} 2 180.0000 ! ALLOW ARO ! JES 8/25/89 phenol DIHEDRAL S CT2 CT2 HA .01 {SD= 5.441} 3 .0000 ! ALLOW ALI SUL ION ! DTN 8/24/90 DIHEDRAL SM CT2 CT2 HA .01 {SD= 5.441} 3 .0000 ! ALLOW ALI SUL ION ! DTN 8/24/90 DIHEDRAL SM SM CT2 CT1 .31 {SD= .977} 3 .0000 ! ALLOW SUL ALI ! S-S for cys-cys, dummy parameter for now ... DTN 9/04/90 DIHEDRAL SM SM CT2 CT2 .31 {SD= .977} 3 .0000 ! ALLOW SUL ALI ! S-S for cys-cys, dummy parameter for now ... DTN 9/04/90 DIHEDRAL SM SM CT2 HA .16 {SD= 1.369} 3 .0000 ! ALLOW ALI SUL ION ! expt. dimethyldisulfide, 3/26/92 (FL) DIHEDRAL SM SM CT3 HA .16 {SD= 1.369} 3 .0000 ! ALLOW ALI SUL ION ! expt. dimethyldisulfide, 3/26/92 (FL) DIHEDRAL SS CS CT3 HA .15 {SD= 1.405} 3 .0000 ! ALLOW SUL ! ethylthiolate 6-31+G* geom/freq, adm jr., 6/1/92 DIHEDRAL X C C X 4.00 {SD= .272} 2 180.0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) DIHEDRAL X C NC2 X 2.25 {SD= .363} 2 180.0000 ! ALLOW PEP POL ARO ! 9.0->2.25 GUANIDINIUM (KK) DIHEDRAL X CD OH1 X 2.05 {SD= .380} 2 180.0000 ! ALLOW PEP POL ARO ALC ! adm jr, 10/17/90, acetic acid C-Oh rotation barrier DIHEDRAL X CD OS X 2.05 {SD= .380} 2 180.0000 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate DIHEDRAL X CP1 CC X .00 {SD=999999.000} 6 180.0000 ! ALLOW POL PEP ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL X CP1 CD X .00 {SD=999999.000} 6 180.0000 ! ALLOW POL PEP ! Alanine dipeptide; NMA; acetate; etc. backbone param. RLD 3/22/92 DIHEDRAL X CP1 CP2 X .14 {SD= 1.454} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL X CP2 CP2 X .16 {SD= 1.360} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL X CP3 CP2 X .14 {SD= 1.454} 3 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2, changed RLD 12/11/92 DIHEDRAL X CPA CPB X .00 {SD=999999.000} 2 .0000 ! ALLOW HEM ! Heme (6-liganded): dummy for "auto dihe" (KK 05/13/91) DIHEDRAL X CPA CPM X .00 {SD=999999.000} 2 .0000 ! ALLOW HEM ! Heme (6-liganded): dummy for "auto dihe" (KK 05/13/91) DIHEDRAL X CPB C X 3.00 {SD= .314} 2 180.0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) DIHEDRAL X CPB CPB X .00 {SD=999999.000} 2 .0000 ! ALLOW HEM ! Heme (6-liganded): dummy for "auto dihe" (KK 05/13/91) DIHEDRAL X CPB CT2 X .00 {SD=999999.000} 6 .0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) DIHEDRAL X CPB CT3 X .00 {SD=999999.000} 6 .0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) DIHEDRAL X CPT CPT X .00 {SD=999999.000} 2 180.0000 ! ALLOW ARO ! JWK indole 05/14/91 DIHEDRAL X CT1 CC X .05 {SD= 2.433} 6 180.0000 ! ALLOW POL PEP ! For side chains of asp,asn,glu,gln, (n=6) from KK(LK) DIHEDRAL X CT1 CD X .00 {SD=999999.000} 6 180.0000 ! ALLOW POL PEP ! adm jr. 3/19/92, from lipid methyl acetate DIHEDRAL X CT1 CT1 X .20 {SD= 1.217} 3 .0000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 DIHEDRAL X CT1 CT2 X .20 {SD= 1.217} 3 .0000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 DIHEDRAL X CT1 CT3 X .20 {SD= 1.217} 3 .0000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 DIHEDRAL X CT1 NH3 X .10 {SD= 1.721} 3 .0000 ! ALLOW ALI POL ! 0.715->0.10 METHYLAMMONIUM (KK) DIHEDRAL X CT1 OH1 X .14 {SD= 1.454} 3 .0000 ! ALLOW ALI ALC ARO ! EMB 11/21/89 methanol vib fit DIHEDRAL X CT1 OS X -.10 {SD=999999.000} 3 .0000 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate DIHEDRAL X CT2 CA X .00 {SD=999999.000} 6 .0000 ! ALLOW ALI ARO ! toluene, adm jr., 3/7/92 DIHEDRAL X CT2 CC X .05 {SD= 2.433} 6 180.0000 ! ALLOW POL PEP ! For side chains of asp,asn,glu,gln, (n=6) from KK(LK) DIHEDRAL X CT2 CD X .00 {SD=999999.000} 6 180.0000 ! ALLOW POL PEP ! adm jr. 3/19/92, from lipid methyl acetate DIHEDRAL X CT2 CT2 X .20 {SD= 1.232} 3 .0000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 DIHEDRAL X CT2 CT3 X .16 {SD= 1.360} 3 .0000 ! ALLOW ALI ! rotation barrier in Ethane (SF) DIHEDRAL X CT2 NC2 X .00 {SD=999999.000} 6 180.0000 ! ALLOW ALI POL ! methylguanidinium, adm jr., 3/26/92 DIHEDRAL X CT2 NH3 X .10 {SD= 1.721} 3 .0000 ! ALLOW ALI POL ! 0.715->0.10 METHYLAMMONIUM (KK) DIHEDRAL X CT2 OH1 X .14 {SD= 1.454} 3 .0000 ! ALLOW ALI ALC ARO ! EMB 11/21/89 methanol vib fit DIHEDRAL X CT2 OS X -.10 {SD=999999.000} 3 .0000 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate DIHEDRAL X CT3 CA X .00 {SD=999999.000} 6 .0000 ! ALLOW ALI ARO ! toluene, adm jr., 3/7/92 DIHEDRAL X CT3 CC X .05 {SD= 2.433} 6 180.0000 ! ALLOW POL PEP ! For side chains of asp,asn,glu,gln, (n=6) from KK(LK) DIHEDRAL X CT3 CD X .00 {SD=999999.000} 6 180.0000 ! ALLOW POL PEP ! adm jr. 3/19/92, from lipid methyl acetate DIHEDRAL X CT3 CT3 X .15 {SD= 1.382} 3 .0000 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 DIHEDRAL X CT3 NC2 X .00 {SD=999999.000} 6 180.0000 ! ALLOW ALI POL ! methylguanidinium, adm jr., 3/26/92 DIHEDRAL X CT3 NH2 X .11 {SD= 1.641} 3 .0000 ! ALLOW POL ! methylamine geom/freq, adm jr., 6/2/92 DIHEDRAL X CT3 NH3 X .09 {SD= 1.814} 3 .0000 ! ALLOW ALI POL ! fine-tuned to ab initio; METHYLAMMONIUM, KK 03/10/92 DIHEDRAL X CT3 OH1 X .14 {SD= 1.454} 3 .0000 ! ALLOW ALI ALC ARO ! EMB 11/21/89 methanol vib fit DIHEDRAL X CT3 OS X -.10 {SD=999999.000} 3 .0000 ! ALLOW PEP POL ! adm jr. 3/19/92, from lipid methyl acetate DIHEDRAL X FE CM X .05 {SD= 2.433} 4 .0000 ! ALLOW HEM ! Heme (6-liganded): ligands (KK 05/13/91) DIHEDRAL X FE NPH X .00 {SD=999999.000} 2 .0000 ! ALLOW HEM ! Heme (6-liganded): for "ic para" only (KK 05/13/91) DIHEDRAL X FE OM X .00 {SD=999999.000} 4 .0000 ! ALLOW HEM ! Heme (6-liganded): ligands (KK 05/13/91) DIHEDRAL X NPH CPA X .00 {SD=999999.000} 2 .0000 ! ALLOW HEM ! Heme (6-liganded): dummy for "auto dihe" (KK 05/13/91) IMPROPER CPB CPA NPH CPA 20.80 {SD= .119} 0 .0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) IMPROPER CPB X X C 90.00 {SD= .057} 0 .0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) IMPROPER CT2 X X CPB 90.00 {SD= .057} 0 .0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) IMPROPER CT3 X X CPB 90.00 {SD= .057} 0 .0000 ! ALLOW HEM ! Heme (6-liganded): substituents (KK 05/13/91) IMPROPER HA C C HA 20.00 {SD= .122} 0 .0000 ! ALLOW PEP POL ARO ! Heme vinyl substituent (KK, from propene (JCS)) IMPROPER HA CPA CPA CPM 29.40 {SD= .100} 0 .0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) IMPROPER HA CPB C C 20.00 {SD= .122} 0 .0000 ! ALLOW HEM ARO ! Heme (6-liganded): substituents (KK 05/13/91) IMPROPER HA HA C C 20.00 {SD= .122} 0 180.0000 ! ALLOW PEP POL ARO ! Heme vinyl substituent (KK, from propene (JCS)) IMPROPER HR1 NR1 NR2 CPH2 .50 {SD= .770} 0 .0000 ! ALLOW ARO ! his, adm jr., 7/05/90 IMPROPER HR1 NR2 NR1 CPH2 .50 {SD= .770} 0 .0000 ! ALLOW ARO ! his, adm jr., 7/05/90 IMPROPER HR3 CPH1 NR1 CPH1 .50 {SD= .770} 0 .0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS IMPROPER HR3 CPH1 NR2 CPH1 .50 {SD= .770} 0 .0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS IMPROPER HR3 CPH1 NR3 CPH1 1.00 {SD= .544} 0 .0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS IMPROPER HR3 NR1 CPH1 CPH1 .50 {SD= .770} 0 .0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS IMPROPER HR3 NR2 CPH1 CPH1 .50 {SD= .770} 0 .0000 ! ALLOW ARO ! adm jr., 3/24/92, old aliphatic H VDW params for HIS IMPROPER N C CP1 CP3 .00 {SD=999999.000} 0 .0000 ! ALLOW PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 IMPROPER NC2 X X C 40.00 {SD= .086} 0 .0000 ! ALLOW PEP POL ARO ! 5.75->40.0 GUANIDINIUM (KK) IMPROPER NH1 X X H 20.00 {SD= .122} 0 .0000 ! ALLOW PEP POL ARO ! NMA Vibrational Modes (LK) IMPROPER NH2 X X H 4.00 {SD= .272} 0 .0000 ! ALLOW POL ! adm jr., 8/13/90 acetamide geometry and vibrations IMPROPER NPH CPA CPA FE 137.40 {SD= .046} 0 .0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) IMPROPER NPH CPA CPB CPB 40.60 {SD= .085} 0 .0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) IMPROPER NPH CPA CPM CPA 18.30 {SD= .127} 0 .0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) IMPROPER NPH CPM CPB CPA 32.70 {SD= .095} 0 .0000 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) IMPROPER NR1 CPH1 CPH2 H .45 {SD= .811} 0 .0000 ! ALLOW ARO ! his, adm jr., 7/05/90 IMPROPER NR1 CPH2 CPH1 H .45 {SD= .811} 0 .0000 ! ALLOW ARO ! his, adm jr., 7/05/90 IMPROPER NR3 CPH1 CPH2 H 1.20 {SD= .497} 0 .0000 ! ALLOW ARO ! his, adm jr., 6/27/90 IMPROPER NR3 CPH2 CPH1 H 1.20 {SD= .497} 0 .0000 ! ALLOW ARO ! his, adm jr., 6/27/90 IMPROPER NY CA CY CPT 100.00 {SD= .054} 0 .0000 ! ALLOW ARO !adm jr., 5/15/91, indole 3-21G HE1 out-of-plane surf. IMPROPER O CP1 NH2 CC 45.00 {SD= .081} 0 .0000 ! ALLOW PEP POL PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 IMPROPER O CT1 NH2 CC 45.00 {SD= .081} 0 .0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations IMPROPER O CT2 NH2 CC 45.00 {SD= .081} 0 .0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations IMPROPER O CT3 NH2 CC 45.00 {SD= .081} 0 .0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations IMPROPER O HA NH2 CC 45.00 {SD= .081} 0 .0000 ! ALLOW PEP POL PRO ! adm jr., 5/13/91, formamide geometry and vibrations IMPROPER O N CT2 CC 120.00 {SD= .050} 0 .0000 ! ALLOW PEP POL PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 IMPROPER O NH2 CP1 CC 45.00 {SD= .081} 0 .0000 ! ALLOW PEP POL PRO ! 6-31g* AcProNH2 and ProNH2 RLD 5/19/92 IMPROPER O NH2 CT1 CC 45.00 {SD= .081} 0 .0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations IMPROPER O NH2 CT2 CC 45.00 {SD= .081} 0 .0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations IMPROPER O NH2 CT3 CC 45.00 {SD= .081} 0 .0000 ! ALLOW PEP POL ! adm jr., 8/13/90 acetamide geometry and vibrations IMPROPER O NH2 HA CC 45.00 {SD= .081} 0 .0000 ! ALLOW PEP POL ! adm jr., 5/13/91, formamide geometry and vibrations IMPROPER O X X C 120.00 {SD= .050} 0 .0000 ! ALLOW PEP POL ARO ! NMA Vibrational Modes (LK) IMPROPER OB X X CD 100.00 {SD= .054} 0 .0000 ! ALLOW ALC ARO POL ! adm jr., 10/17/90, acetic acid vibrations IMPROPER OC X X CC 96.00 {SD= .056} 0 .0000 ! ALLOW PEP POL ARO ION ! 90.0->96.0 acetate, single impr (KK) NBONDS ! -----NONBONDED-LIST-OPTIONS------------------------------- CUTNB= 13.000 TOLERANCE= .500 WMIN= 1.500 ATOM INHIBIT= .250 ! -----ELECTROSTATIC OPTIONS-------------------------------- EPS= 1.000 E14FAC= 1.000 CDIELECTRIC SHIFT ! -----VAN DER WAALS OPTIONS-------------------------------- VSWITCH ! -----SWITCHING /SHIFTING PARAMETERS----------------------- CTONNB= 10.000 CTOFNB= 12.000 ! -----EXCLUSION LIST OPTIONS------------------------------- NBXMOD= 5 ! ---------------------------------------------------------- END ! EPS SIGMA EPS(1:4) SIGMA(1:4) NONBONDED C .1100 4.0090 .1100 4.0090 ! ALLOW PEP POL ARO ! NMA nonbond and solvent properties, adm jr., 2/3/92 NONBONDED CA .0700 3.5501 .0700 3.5501 ! ALLOW ARO ! benzene (JES) NONBONDED CAL .1200 3.0469 .1200 3.0469 ! ALLOW ION ! optimized before july 89, and need polarization term (BP) NONBONDED CC .0700 3.5636 .0700 3.5636 ! ALLOW PEP POL ARO ! adm jr. 3/3/92, acetic acid heat of solvation NONBONDED CD .0700 3.5636 .0700 3.5636 ! ALLOW POL ! adm jr. 3/19/92, acetate a.i. and dH of solvation NONBONDED CM .1100 3.7418 .1100 3.7418 ! ALLOW HEM ! Heme (6-liganded): CO ligand carbon (KK 05/13/91) NONBONDED CP1 .0200 4.0536 .0100 3.3854 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 NONBONDED CP2 .0550 3.8754 .0100 3.3854 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 NONBONDED CP3 .0550 3.8754 .0100 3.3854 ! ALLOW ALI ! alkane update, adm jr., 3/2/92 NONBONDED CPA .0900 3.2072 .0900 3.2072 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NONBONDED CPB .0900 3.2072 .0900 3.2072 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NONBONDED CPH1 .0500 3.2072 .0500 3.2072 ! ALLOW ARO ! adm jr., 10/23/91, imidazole solvation and sublimation NONBONDED CPH2 .0500 3.2072 .0500 3.2072 ! ALLOW ARO ! adm jr., 10/23/91, imidazole solvation and sublimation NONBONDED CPM .0900 3.2072 .0900 3.2072 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NONBONDED CPT .0900 3.2072 .0900 3.3854 ! ALLOW ARO ! benzene (JES) NONBONDED CS .1100 3.9200 .1100 3.9200 ! ALLOW SUL ! methylthiolate to water and F.E. of solvation, adm jr. 6/1/92 NONBONDED CT1 .0200 4.0536 .0100 3.3854 ! ALLOW ALI ! isobutane pure solvent properties, adm jr, 2/3/92 NONBONDED CT2 .0550 3.8754 .0100 3.3854 ! ALLOW ALI ! propane pure solvent properties, adm jr, 2/3/92 NONBONDED CT3 .0800 3.6705 .0100 3.3854 ! ALLOW ALI ! methane/ethane a.i. and ethane pure solvent, adm jr, 2/3/92 NONBONDED CY .0700 3.5501 .0700 3.5501 ! ALLOW ARO ! TRP, JWK 08/29/89 NONBONDED FE .0001 1.1582 .0001 1.1582 ! ALLOW HEM ! Heme (6-liganded): Iron atom (KK 05/13/91) ! changed by adm jr.: .0000 to .0001 NONBONDED H .0460 .4000 .0460 .4000 ! ALLOW PEP POL SUL ARO ALC ! same as TIP3P hydrogen, adm jr., 7/20/89 NONBONDED HA .0220 2.3520 .0220 2.3520 ! ALLOW PEP ALI POL SUL ARO PRO ALC ! methane/ethane a.i. and ethane pure solvent, adm jr, 2/3/92 NONBONDED HB .0220 2.3520 .0220 2.3520 ! ALLOW PEP ALI POL SUL ARO PRO ALC ! methane/ethane a.i. and ethane pure solvent, adm jr, 2/3/92 NONBONDED HC .0460 .4000 .0460 .4000 ! ALLOW POL ! new, small polar Hydrogen, see also adm jr. JG 8/27/89 NONBONDED HP .0300 2.4200 .0300 2.4200 ! ALLOW ARO ! JES 8/25/89 values from Jorgensen fit to hydration energy NONBONDED HR1 .0460 1.6036 .0460 1.6036 ! ALLOW ARO ! adm jr., 6/27/90, his NONBONDED HR2 .0460 1.2473 .0460 1.2473 ! ALLOW ARO ! adm jr., 6/27/90, his NONBONDED HR3 .0078 2.6157 .0078 2.6157 ! ALLOW ARO ! adm jr., 3/24/92, maintain old aliphatic H VDW params NONBONDED HS .1000 .8018 .1000 .8018 ! ALLOW SUL ! methanethiol pure solvent, adm jr., 6/22/92 NONBONDED HT .0460 .4000 .0460 .4000 ! ALLOW WAT !TIP3P HYDROGEN PARAMETERS, adm jr., NBFIX obsolete NONBONDED N .2000 3.2963 .2000 3.2963 ! ALLOW PRO ! ALL NITROGENS NOW IDENTICAL, ADM JR., 10/3/89 NONBONDED NC2 .2000 3.2963 .2000 3.2963 ! ALLOW POL ! JG 8/27/89; note: NH1 in ARG was changed to NC2. NONBONDED NH1 .2000 3.2963 .2000 2.7618 ! ALLOW PEP POL ARO ! This 1,4 vdW allows the C5 dipeptide minimum to exist.(LK) NONBONDED NH2 .2000 3.2963 .2000 3.2963 ! ALLOW POL ! adm jr. NONBONDED NH3 .2000 3.2963 .2000 3.2963 ! ALLOW POL ! adm jr. NONBONDED NP .2000 3.2963 .2000 3.2963 ! ALLOW PRO ! N-terminal proline; from 6-31g* +ProNH2 RLD 9/28/90 NONBONDED NPH .2000 3.2963 .2000 3.2963 ! ALLOW HEM ! Heme (6-liganded): porphyrin macrocycle (KK 05/13/91) NONBONDED NR1 .2000 3.2963 .2000 3.2963 ! ALLOW ARO ! His, adm jr., 9/4/89 NONBONDED NR2 .2000 3.2963 .2000 3.2963 ! ALLOW ARO ! His, adm jr., 9/4/89 NONBONDED NR3 .2000 3.2963 .2000 3.2963 ! ALLOW ARO ! His, adm jr., 9/4/89 NONBONDED NY .2000 3.2963 .2000 3.2963 ! ALLOW ARO ! trp, JWK NONBONDED O .1200 3.0291 .1200 2.4945 ! ALLOW PEP POL ! This 1,4 vdW allows the C5 dipeptide minimum to exist.(LK) NONBONDED OB .1200 3.0291 .1200 2.4945 ! ALLOW PEP POL ARO ! adm jr., 10/17/90, acetic acid carbonyl O NONBONDED OC .1200 3.0291 .1200 3.0291 ! ALLOW POL ION ! JG 8/27/89 NONBONDED OH1 .1521 3.1538 .1521 3.1538 ! ALLOW ALC ARO ! adm jr. 8/14/90, MeOH nonbond and solvent (same as TIP3P) NONBONDED OM .1200 3.0291 .1200 3.0291 ! ALLOW HEM ! Heme (6-liganded): CO ligand oxygen (KK 05/13/91) NONBONDED OS .1521 3.1538 .1521 3.1538 ! ALLOW ALC ARO ! adm jr. 9/17/90, avoid O* wildcard NONBONDED OT .1521 3.1506 .1521 3.1506 ! ALLOW WAT !TIP3P OXYGEN PARAMETERS, adm jr., NBFIX obsolete NONBONDED S .4500 3.5636 .4500 3.5636 ! ALLOW SUL ION ! adm jr., 3/3/92, methanethiol/ethylmethylsulfide pure solvent NONBONDED SM .3800 3.5190 .3800 3.5190 ! ALLOW SUL ION ! adm jr., 3/3/92, dimethyldisulphide pure solvent NONBONDED SS .4700 3.9200 .4700 3.9200 ! ALLOW SUL ! methylthiolate to water and F.E. of solvation, adm jr. 6/1/92 NONBONDED ZN .2500 1.9422 .2500 1.9422 ! ALLOW ION ! RHS March 18, 1990 ! HBOND for analysis only ! HBONDS ! -----HYDROGEN-BOND-LIST-OPTIONS--------------------------- ! TOLERANCE= .500 ! DCUTOFF= 7.50 DOFF= 6.50 DON= 5.50 ! ACUTOFF=100.00 AOFF= 80.00 AON= 60.00 ! ACCEPTOR= TRUE REXP= 6 AEXP= 4 HAEX= 0 AAEX= 0 ! ---------------------------------------------------------- ! END ! HBOND EMIN RMIN HBOND N*+* N% .0000 3.0000 HBOND O* N*+* .0000 2.9000 HBOND OH* N% .0000 2.8500 HBOND OH* O* .0000 2.7500 HBOND S N% .0000 3.0000 HBOND S O* .0000 2.9000 SET ECHO=TRUE END REMARKS Charmm parameter set for lipids v22 b4 REMARKS FILENAME="parallh22x.lip" SET ECHO=FALSE END { \\\\\\\\\\ All-Hydrogen Lipid Parameter File //////////// \\\\\\\\\\\\\\\\\\ Developmental /////////////////////// Alexander D. MacKerell Jr. and Michael Schlenkrich Version 4.0, January, 1993 All comments to ADM jr. bitnet:alex,tammy.harvard.edu telephone: 410-706-7442 These files are a beta release; additional parameter development and testing may lead to alteration of the contents.} BOND CTL3 CL 200.000 {SD= .038} 1.522 ! methyl acetate BOND CTL2 CL 200.000 {SD= .038} 1.522 ! methyl acetate BOND CTL1 CL 200.000 {SD= .038} 1.522 ! methyl acetate BOND OBL CL 750.000 {SD= .020} 1.220 ! methyl acetate BOND OSL CL 150.000 {SD= .044} 1.334 ! methyl acetate BOND OHL CL 230.000 {SD= .036} 1.400 ! methyl acetate BOND HOL OHL 545.000 {SD= .023} .960 ! acetic acid BOND CTL3 HAL 322.000 {SD= .030} 1.111 ! alkanes, 3/92 BOND CTL2 HAL 309.000 {SD= .031} 1.111 ! alkanes, 3/92 BOND CTL1 HAL 309.000 {SD= .031} 1.111 ! alkanes, 3/92 BOND CTL3 OSL 340.000 {SD= .030} 1.430 ! phosphate BOND CTL2 OSL 340.000 {SD= .030} 1.430 ! phosphate BOND CTL1 OSL 340.000 {SD= .030} 1.430 ! phosphate BOND OSL PL 270.000 {SD= .033} 1.600 ! phosphate BOND O2L PL 580.000 {SD= .023} 1.480 ! phosphate BOND OHL PL 237.000 {SD= .035} 1.590 ! phosphate BOND NH3L HCL 410.000 {SD= .027} 1.040 ! ethanolamine BOND NH3L CTL2 261.000 {SD= .034} 1.510 ! ethanolamine BOND NTL CTL2 215.000 {SD= .037} 1.510 ! tetramethylammonium BOND NTL CTL3 215.000 {SD= .037} 1.510 ! tetramethylammonium BOND CTL3 HL 300.000 {SD= .031} 1.080 ! tetramethylammonium BOND CTL2 HL 300.000 {SD= .031} 1.080 ! tetramethylammonium BOND CTL1 CTL1 222.500 {SD= .036} 1.500 ! alkanes, 3/92 BOND CTL1 CTL2 222.500 {SD= .036} 1.538 ! alkanes, 3/92 BOND CTL1 CTL3 222.500 {SD= .036} 1.538 ! alkanes, 3/92 BOND CTL2 CTL2 222.500 {SD= .036} 1.530 ! alkanes, 3/92 BOND CTL2 CTL3 222.500 {SD= .036} 1.528 ! alkanes, 3/92 BOND CTL3 CTL3 222.500 {SD= .036} 1.530 ! alkanes, 3/92 BOND OHL CTL1 428.000 {SD= .026} 1.420 ! glycerol BOND OHL CTL2 428.000 {SD= .026} 1.420 ! glycerol BOND OHL CTL3 428.000 {SD= .026} 1.420 ! glycerol BOND SL O2L 540.000 {SD= .023} 1.448 ! methylsulfate BOND SL OSL 250.000 {SD= .034} 1.575 ! methylsulfate BOND HT HT .000 {SD=999999.000} 1.514 ! from TIPS3P geometry (for SHAKE w/PARAM) BOND HT OT 450.000 {SD= .026} .957 ! from TIPS3P geometry ANGLE OBL CL CTL3 70.00 {SD= .065} 125.0000 UB 20.000 2.442 ! methyl acetate ANGLE OBL CL CTL2 70.00 {SD= .065} 125.0000 UB 20.000 2.442 ! methyl acetate ANGLE OBL CL CTL1 70.00 {SD= .065} 125.0000 UB 20.000 2.442 ! methyl acetate ANGLE OSL CL OBL 90.00 {SD= .057} 125.9000 UB 160.000 2.258 ! acetic acid ANGLE CL OSL CTL1 40.00 {SD= .086} 109.6000 UB 30.000 2.265 ! methyl acetate ANGLE CL OSL CTL2 40.00 {SD= .086} 109.6000 UB 30.000 2.265 ! methyl acetate ANGLE CL OSL CTL3 40.00 {SD= .086} 109.6000 UB 30.000 2.265 ! methyl acetate ANGLE HAL CTL2 CL 33.00 {SD= .095} 109.5000 UB 30.000 2.163 ! methyl acetate ANGLE HAL CTL3 CL 33.00 {SD= .095} 109.5000 UB 30.000 2.163 ! methyl acetate ANGLE CTL2 CTL2 CL 52.00 {SD= .075} 108.0000 ! alkane ANGLE CTL3 CTL2 CL 52.00 {SD= .075} 108.0000 ! alkane ANGLE OSL CL CTL3 55.00 {SD= .073} 109.0000 UB 20.000 2.326 ! methyl acetate ANGLE OSL CL CTL2 55.00 {SD= .073} 109.0000 UB 20.000 2.326 ! methyl acetate ANGLE OHL CL OBL 50.00 {SD= .077} 123.0000 UB 210.000 2.262 ! acetic acid ANGLE OHL CL CTL3 55.00 {SD= .073} 110.5000 ! acetic acid ANGLE OHL CL CTL2 55.00 {SD= .073} 110.5000 ! acetic acid ANGLE HOL OHL CL 55.00 {SD= .073} 115.0000 ! acetic acid ANGLE OSL CTL1 CTL2 75.70 {SD= .063} 110.1000 ! acetic acid ANGLE OSL CTL1 CTL3 75.70 {SD= .063} 110.1000 ! acetic acid ANGLE OSL CTL2 CTL1 75.70 {SD= .063} 110.1000 ! acetic acid ANGLE OSL CTL2 CTL2 75.70 {SD= .063} 110.1000 ! acetic acid ANGLE OSL CTL2 CTL3 75.70 {SD= .063} 110.1000 ! acetic acid ANGLE HAL CTL2 HAL 35.50 {SD= .091} 109.0000 UB 5.400 1.802 ! alkane, 3/92 ANGLE HAL CTL3 HAL 35.50 {SD= .091} 108.4000 UB 5.400 1.802 ! alkane, 3/92 ANGLE HAL CTL1 OSL 60.00 {SD= .070} 109.5000 ! phosphate ANGLE HAL CTL2 OSL 60.00 {SD= .070} 109.5000 ! phosphate ANGLE HAL CTL3 OSL 60.00 {SD= .070} 109.5000 ! phosphate ANGLE CTL2 OSL PL 20.00 {SD= .122} 120.0000 UB 35.000 2.330 ! phosphate ANGLE CTL3 OSL PL 20.00 {SD= .122} 120.0000 UB 35.000 2.330 ! phosphate ANGLE HOL OHL PL 30.00 {SD= .099} 115.0000 UB 40.000 2.300 ! phosphate ANGLE OSL PL OSL 80.00 {SD= .061} 104.3000 ! phosphate ANGLE OSL PL O2L 98.90 {SD= .055} 111.6000 ! phosphate ANGLE OSL PL OHL 48.10 {SD= .078} 108.0000 ! phosphate ANGLE O2L PL O2L 120.00 {SD= .050} 120.0000 ! phosphate ANGLE O2L PL OHL 98.90 {SD= .055} 108.2300 ! phosphate ANGLE NTL CTL2 HL 40.00 {SD= .086} 109.5000 UB 27.000 2.130 ! tetramethylammonium ANGLE NTL CTL3 HL 40.00 {SD= .086} 109.5000 UB 27.000 2.130 ! tetramethylammonium ANGLE HL CTL2 HL 24.00 {SD= .111} 109.5000 UB 28.000 1.767 ! tetramethylammonium ANGLE HL CTL3 HL 24.00 {SD= .111} 109.5000 UB 28.000 1.767 ! tetramethylammonium ANGLE CTL3 NTL CTL2 60.00 {SD= .070} 109.5000 UB 26.000 2.466 ! tetramethylammonium ANGLE CTL3 NTL CTL3 60.00 {SD= .070} 109.5000 UB 26.000 2.466 ! tetramethylammonium ANGLE HL CTL2 CTL2 33.43 {SD= .094} 110.1000 UB 22.530 2.179 ! alkane ANGLE HL CTL2 CTL3 33.43 {SD= .094} 110.1000 UB 22.530 2.179 ! alkane ANGLE HAL CTL1 CTL1 34.50 {SD= .093} 110.1000 UB 22.530 2.179 ! alkane, 3/92 ANGLE HAL CTL1 CTL2 34.50 {SD= .093} 110.1000 UB 22.530 2.179 ! alkane, 3/92 ANGLE HAL CTL1 CTL3 34.50 {SD= .093} 110.1000 UB 22.530 2.179 ! alkane, 3/92 ANGLE HAL CTL2 CTL1 26.50 {SD= .106} 110.1000 UB 22.530 2.179 ! alkane, 3/92 ANGLE HAL CTL2 CTL2 26.50 {SD= .106} 110.1000 UB 22.530 2.179 ! alkane, 3/92 ANGLE HAL CTL2 CTL3 34.60 {SD= .093} 110.1000 UB 22.530 2.179 ! alkane, 3/92 ANGLE HAL CTL3 CTL1 33.43 {SD= .094} 110.1000 UB 22.530 2.179 ! alkane, 3/92 ANGLE HAL CTL3 CTL2 34.60 {SD= .093} 110.1000 UB 22.530 2.179 ! alkane, 3/92 ANGLE HAL CTL3 CTL3 37.50 {SD= .089} 110.1000 UB 22.530 2.179 ! alkane, 3/92 ANGLE NTL CTL2 CTL2 67.70 {SD= .066} 115.0000 ! tetramethylammonium ANGLE NTL CTL2 CTL3 67.70 {SD= .066} 115.0000 ! tetramethylammonium ANGLE HCL NH3L CTL2 33.00 {SD= .095} 109.5000 UB 4.000 2.056 ! ethanolamine ANGLE HCL NH3L HCL 41.00 {SD= .085} 109.5000 ! ethanolamine ANGLE NH3L CTL2 CTL2 67.70 {SD= .066} 110.0000 ! ethanolamine ANGLE NH3L CTL2 HAL 45.00 {SD= .081} 107.5000 UB 35.000 2.084 ! ethanolamine ANGLE CTL1 CTL1 CTL1 53.35 {SD= .074} 111.0000 UB 8.000 2.561 ! alkane, 3/92 ANGLE CTL1 CTL1 CTL2 58.35 {SD= .071} 113.5000 UB 11.160 2.561 ! glycerol ANGLE CTL1 CTL1 CTL3 53.35 {SD= .074} 108.5000 UB 8.000 2.561 ! alkane, 3/92 ANGLE CTL1 CTL2 CTL1 58.35 {SD= .071} 113.5000 UB 11.160 2.561 ! glycerol ANGLE CTL1 CTL2 CTL2 58.35 {SD= .071} 113.5000 UB 11.160 2.561 ! glycerol ANGLE CTL1 CTL2 CTL3 58.35 {SD= .071} 113.5000 UB 11.160 2.561 ! glycerol ANGLE CTL2 CTL1 CTL2 58.35 {SD= .071} 113.5000 UB 11.160 2.561 ! glycerol ANGLE CTL2 CTL1 CTL3 58.35 {SD= .071} 113.5000 UB 11.160 2.561 ! glycerol ANGLE CTL2 CTL2 CTL2 58.35 {SD= .071} 113.6000 UB 11.160 2.561 ! alkane, 3/92 ANGLE CTL2 CTL2 CTL3 58.00 {SD= .071} 115.0000 UB 8.000 2.561 ! alkane, 3/92 ANGLE HOL OHL CTL1 57.50 {SD= .072} 106.0000 ! glycerol ANGLE HOL OHL CTL2 57.50 {SD= .072} 106.0000 ! glycerol ANGLE HOL OHL CTL3 57.50 {SD= .072} 106.0000 ! glycerol ANGLE OHL CTL1 CTL2 75.70 {SD= .063} 110.1000 ! glycerol ANGLE OHL CTL2 CTL1 75.70 {SD= .063} 110.1000 ! glycerol ANGLE OHL CTL2 CTL2 75.70 {SD= .063} 110.1000 ! glycerol ANGLE OHL CTL2 CTL3 75.70 {SD= .063} 110.1000 ! glycerol ANGLE OHL CTL1 HAL 45.90 {SD= .080} 108.8900 ! glycerol ANGLE OHL CTL2 HAL 45.90 {SD= .080} 108.8900 ! glycerol ANGLE OHL CTL3 HAL 45.90 {SD= .080} 108.8900 ! glycerol ANGLE O2L SL O2L 130.00 {SD= .048} 109.4700 UB 35.000 2.450 ! methylsulfate ANGLE O2L SL OSL 85.00 {SD= .059} 98.0000 ! methylsulfate ANGLE CTL2 OSL SL 15.00 {SD= .140} 109.0000 UB 27.000 1.900 ! methylsulfate ANGLE CTL3 OSL SL 15.00 {SD= .140} 109.0000 UB 27.000 1.900 ! methylsulfate ANGLE HT OT HT 55.00 {SD= .073} 104.5200 ! FROM TIPS3P GEOMETRY ANGLE OT HT HT .00 {SD=999999.000} 104.5200 ! FROM TIPS3P GEOMETRY DIHEDRAL X CTL1 OHL X .14 {SD= 1.454} 3 .0000 ! glycerol DIHEDRAL X CTL2 OHL X .14 {SD= 1.454} 3 .0000 ! glycerol DIHEDRAL X CTL3 OHL X .14 {SD= 1.454} 3 .0000 ! glycerol DIHEDRAL OBL CL CTL2 HAL .00 {SD=999999.000} 6 180.0000 ! acetic acid DIHEDRAL OBL CL CTL3 HAL .00 {SD=999999.000} 6 180.0000 ! acetic acid DIHEDRAL OSL CL CTL2 HAL .00 {SD=999999.000} 6 180.0000 ! acetic acid DIHEDRAL OSL CL CTL3 HAL .00 {SD=999999.000} 6 180.0000 ! acetic acid DIHEDRAL OBL CL OSL CTL1 MULTIPLE= 2 .965 1 180.0000 ! methyl acetate 3.85 2 180.0000 ! methyl acetate DIHEDRAL OBL CL OSL CTL2 MULTIPLE= 2 .965 1 180.0000 ! methyl acetate 3.85 2 180.0000 ! methyl acetate DIHEDRAL OBL CL OSL CTL3 MULTIPLE= 2 .965 1 180.0000 ! methyl acetate 3.85 2 180.0000 ! methyl acetate DIHEDRAL X CL OSL X 2.05 {SD= .380} 2 180.0000 ! methyl acetate DIHEDRAL X CTL2 CL X .05 {SD= 2.433} 6 180.0000 ! methyl acetate DIHEDRAL X CTL3 CL X .05 {SD= 2.433} 6 180.0000 ! methyl acetate DIHEDRAL X CL OHL X 2.05 {SD= .380} 2 180.0000 ! acetic acid DIHEDRAL HAL CTL2 CL OHL .00 {SD=999999.000} 6 180.0000 DIHEDRAL HAL CTL3 CL OHL .00 {SD=999999.000} 6 180.0000 DIHEDRAL OSL PL OSL CTL2 MULTIPLE= 2 .95 2 .0000 ! phosphate .50 3 .0000 ! phosphate DIHEDRAL O2L PL OSL CTL2 .10 {SD= 1.721} 3 .0000 ! phosphate DIHEDRAL OSL PL OSL CTL3 MULTIPLE= 2 .95 2 .0000 ! phosphate .50 3 .0000 ! phosphate DIHEDRAL O2L PL OSL CTL3 .10 {SD= 1.721} 3 .0000 ! phosphate DIHEDRAL OHL PL OSL CTL2 MULTIPLE= 2 .95 2 .0000 ! phosphate .50 3 .0000 ! phosphate DIHEDRAL OHL PL OSL CTL3 MULTIPLE= 2 .95 2 .0000 ! phosphate .50 3 .0000 ! phosphate DIHEDRAL X OHL PL X .30 {SD= .993} 3 .0000 ! phosphate DIHEDRAL X CTL1 OSL X -.10 {SD=999999.000} 3 .0000 ! phosphate DIHEDRAL X CTL2 OSL X -.10 {SD=999999.000} 3 .0000 ! phosphate DIHEDRAL X CTL3 OSL X -.10 {SD=999999.000} 3 .0000 ! phosphate DIHEDRAL CTL3 CTL2 OSL CL .70 {SD= .650} 1 180.0000 ! ethyl acetate, 12/92 DIHEDRAL CTL2 CTL2 OSL CL .70 {SD= .650} 1 180.0000 ! ethyl acetate, 12/92 DIHEDRAL CTL3 CTL1 OSL CL .70 {SD= .650} 1 180.0000 ! ethyl acetate, 12/92 DIHEDRAL CTL2 CTL1 OSL CL .70 {SD= .650} 1 180.0000 ! ethyl acetate, 12/92 DIHEDRAL CTL2 CTL2 CL OSL MULTIPLE= 2 -.15 1 180.0000 ! methyl propionate, 12/92 .53 2 180.0000 ! methyl propionate, 12/92 DIHEDRAL CTL3 CTL2 CL OSL MULTIPLE= 2 -.15 1 180.0000 ! methyl propionate, 12/92 .53 2 180.0000 ! methyl propionate, 12/92 DIHEDRAL X CTL2 NTL X .26 {SD= 1.067} 3 .0000 ! tetramethylammonium DIHEDRAL X CTL3 NTL X .23 {SD= 1.135} 3 .0000 ! tetramethylammonium DIHEDRAL X CTL2 NH3L X .10 {SD= 1.721} 3 .0000 ! ethanolamine DIHEDRAL NH3L CTL2 CTL2 OHL .70 {SD= .650} 1 180.0000 ! ethanolamine DIHEDRAL NH3L CTL2 CTL2 OSL .70 {SD= .650} 1 180.0000 ! ethanolamine DIHEDRAL NTL CTL2 CTL2 OHL MULTIPLE= 2 4.30 1 180.0000 ! choline, 12/92 -.40 3 180.0000 DIHEDRAL NTL CTL2 CTL2 OSL MULTIPLE= 2 3.30 1 180.0000 ! choline, 12/92 -.40 3 180.0000 DIHEDRAL CTL3 CTL2 CTL2 CTL3 .15 {SD= 1.405} 1 .0000 ! alkane, 3/92 DIHEDRAL CTL2 CTL2 CTL2 CTL2 .15 {SD= 1.405} 1 .0000 ! alkane, 3/92 DIHEDRAL CTL2 CTL2 CTL2 CTL3 .15 {SD= 1.405} 1 .0000 ! alkane, 3/92 DIHEDRAL X CTL1 CTL1 X .20 {SD= 1.217} 3 .0000 ! alkane, 3/92 DIHEDRAL X CTL1 CTL2 X .20 {SD= 1.217} 3 .0000 ! alkane, 3/92 DIHEDRAL X CTL1 CTL3 X .20 {SD= 1.217} 3 .0000 ! alkane, 3/92 DIHEDRAL X CTL2 CTL2 X .195{SD= 1.232} 3 .0000 ! alkane, 3/92 DIHEDRAL X CTL2 CTL3 X .16 {SD= 1.360} 3 .0000 ! alkane, 3/92 DIHEDRAL X CTL3 CTL3 X .155{SD= 1.382} 3 .0000 ! alkane, 3/92 DIHEDRAL HAL CTL3 OSL SL .00 {SD=999999.000} 3 .0000 ! methylsulfate DIHEDRAL CTL2 OSL SL O2L .00 {SD=999999.000} 3 .0000 ! methylsulfate DIHEDRAL CTL3 OSL SL O2L .00 {SD=999999.000} 3 .0000 ! methylsulfate IMPROPER OBL X X CL 100.00 {SD= .054} 0 .0000 ! acetic acid NBONDS ! -----NONBONDED-LIST-OPTIONS------------------------------- CUTNB= 13.000 TOLERANCE= .500 WMIN= 1.500 ATOM INHIBIT= .250 ! -----ELECTROSTATIC OPTIONS-------------------------------- EPS= 1.000 E14FAC= 1.000 CDIELECTRIC SHIFT ! -----VAN DER WAALS OPTIONS-------------------------------- VSWITCH ! -----SWITCHING /SHIFTING PARAMETERS----------------------- CTONNB= 10.000 CTOFNB= 12.000 ! -----EXCLUSION LIST OPTIONS------------------------------- NBXMOD= 5 ! ---------------------------------------------------------- END ! EPS SIGMA EPS(1:4) SIGMA(1:4) NONBONDED HOL .0460 .4000 .0460 .4000 NONBONDED HAL .0220 2.3520 .0220 2.3520 ! alkane, 3/92 NONBONDED HCL .0460 .4000 .0460 .4000 ! ethanolamine NONBONDED HT .0460 .4000 .0460 .4000 NONBONDED HL .0460 1.2473 .0460 1.2473 ! polar H on NC4+ NONBONDED CL .0700 3.5636 .0700 3.5636 ! methyl acetate update NONBONDED CTL1 .0200 4.0536 .0100 3.3854 ! alkane, 3/92 NONBONDED CTL2 .0550 3.8754 .0100 3.3854 ! alkane, 3/92 NONBONDED CTL3 .0800 3.6705 .0100 3.3854 ! alkane, 3/92 NONBONDED OBL .1200 3.0291 .1200 2.4945 NONBONDED O2L .1200 3.0291 .1200 3.0291 NONBONDED OHL .1521 3.1538 .1521 3.1538 NONBONDED OSL .1521 3.1538 .1521 3.1538 NONBONDED OT .1521 3.1506 .1521 3.1506 ! NONBONDED NH3L .2000 3.2963 .2000 3.2963 ! ethanolamine NONBONDED NTL .2000 3.2963 .2000 3.2963 ! as all other Nitogens in Charmm NONBONDED PL .5850 3.8309 .5850 3.8309 ! ADM Jr. NONBONDED SOD .1000 2.7297 .1000 2.7297 ! FROM BENOIT ROUX NONBONDED MG .0010 2.9400 .0010 2.9400 ! from Blaise Prodhom NONBONDED CLA .1500 4.2763 .1500 4.2763 ! chloride NONBONDED SL .4700 3.7418 .4700 3.7418 ! methylsulfate ! A B A(1:4) B(1:4) NBFIX SOD OT 82964.866 439.895 82964.866 439.895 ! FROM BENOIT ROUX NBFIX MG OT 84928.658 1626.769 84928.658 1626.769 ! From Blaise Prodhom NBFIX MG OSL 84928.658 1626.769 84928.658 1626.769 ! From Blaise Prodhom NBFIX MG O2L 36779.138 857.661 36779.138 857.661 ! From Blaise Prodhom NBFIX MG OHL 84928.658 1626.769 84928.658 1626.769 ! From Blaise Prodhom SET ECHO=TRUE END protomol/examples/bpti_water_14281/bpti.pbc.conf0100644027616700000500000000116310237151526021102 0ustar pbrenne1dipfirststep 0 numsteps 10 seed 1234 posfile bpti.pdb psffile bpti.psf parfile bpti.par temperature 0 outputfreq 10 #allenergiesfile bpti.out.energy boundaryConditions periodic cellBasisVector1 63.0 0.0 0.0 cellBasisVector2 0.0 50.0 0.0 cellBasisVector3 0.0 0.0 50.0 cellOrigin 0.0 0.0 0.0 cellManager Cubic cellsize 5.0 Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones Coulomb -switchingFunction C2 -switchingFunction Shift -algorithm NonbondedCutoff -switchon 1.0 -cutoff 10.0 } } protomol/examples/bpti_water_14281/bpti.pdb0100644027616700000500000414417610237151526020177 0ustar pbrenne1dipREMARK PDB FOR BR BUILT FROM PARAMETER FILE REMARK RESIDUES 36 102 AND 194 NON PROTONATED REMARK DATE: 2/22/99 17:14:42 CREATED BY USER: izaguirr ATOM 1 N ARG 1 14.682 -4.095 3.529 .00 25.18 BPTI ATOM 2 HT1 ARG 1 14.745 -4.436 4.522 .00 .00 BPTI ATOM 3 HT2 ARG 1 15.118 -3.167 3.445 .00 .00 BPTI ATOM 4 HT3 ARG 1 15.126 -4.824 2.881 .00 .00 BPTI ATOM 5 CA ARG 1 13.195 -3.986 3.308 .00 17.63 BPTI ATOM 6 HA ARG 1 12.867 -3.115 3.883 .00 .00 BPTI ATOM 7 CB ARG 1 12.943 -3.963 1.760 .00 23.27 BPTI ATOM 8 HB1 ARG 1 11.816 -3.803 1.536 .00 .00 BPTI ATOM 9 HB2 ARG 1 13.224 -4.991 1.264 .00 .00 BPTI ATOM 10 CG ARG 1 13.704 -2.908 1.032 .00 13.42 BPTI ATOM 11 HG1 ARG 1 14.712 -3.279 1.037 .00 .00 BPTI ATOM 12 HG2 ARG 1 13.702 -1.934 1.479 .00 .00 BPTI ATOM 13 CD ARG 1 13.232 -2.700 -.389 .00 17.32 BPTI ATOM 14 HD1 ARG 1 12.191 -2.248 -.394 .00 .00 BPTI ATOM 15 HD2 ARG 1 13.298 -3.651 -1.050 .00 .00 BPTI ATOM 16 NE ARG 1 14.143 -1.693 -1.019 .00 17.90 BPTI ATOM 17 HE ARG 1 14.033 -.715 -.786 .00 .00 BPTI ATOM 18 CZ ARG 1 15.344 -1.909 -1.536 .00 19.71 BPTI ATOM 19 NH1 ARG 1 15.848 -3.089 -1.764 .00 24.10 BPTI ATOM 20 HH11 ARG 1 16.658 -3.164 -2.353 .00 .00 BPTI ATOM 21 HH12 ARG 1 15.334 -3.921 -1.511 .00 .00 BPTI ATOM 22 NH2 ARG 1 16.115 -.860 -1.878 .00 14.01 BPTI ATOM 23 HH21 ARG 1 15.806 .058 -1.559 .00 .00 BPTI ATOM 24 HH22 ARG 1 17.097 -1.036 -1.927 .00 .00 BPTI ATOM 25 C ARG 1 12.545 -5.181 3.879 .00 17.26 BPTI ATOM 26 O ARG 1 13.214 -6.249 3.940 .00 21.07 BPTI ATOM 27 N PRO 2 11.339 -5.252 4.414 .00 10.92 BPTI ATOM 28 CA PRO 2 10.582 -6.427 4.817 .00 9.21 BPTI ATOM 29 HA PRO 2 11.210 -7.097 5.297 .00 .00 BPTI ATOM 30 CD PRO 2 10.721 -4.015 4.928 .00 11.88 BPTI ATOM 31 HD1 PRO 2 10.666 -3.252 4.106 .00 .00 BPTI ATOM 32 HD2 PRO 2 11.294 -3.721 5.857 .00 .00 BPTI ATOM 33 CB PRO 2 9.499 -5.858 5.767 .00 13.09 BPTI ATOM 34 HB1 PRO 2 9.897 -5.822 6.873 .00 .00 BPTI ATOM 35 HB2 PRO 2 8.534 -6.386 5.743 .00 .00 BPTI ATOM 36 CG PRO 2 9.305 -4.432 5.283 .00 11.42 BPTI ATOM 37 HG1 PRO 2 8.725 -4.650 4.344 .00 .00 BPTI ATOM 38 HG2 PRO 2 8.770 -3.688 5.905 .00 .00 BPTI ATOM 39 C PRO 2 10.041 -7.128 3.577 .00 12.15 BPTI ATOM 40 O PRO 2 10.376 -6.820 2.455 .00 14.46 BPTI ATOM 41 N ASP 3 9.238 -8.209 3.752 .00 18.23 BPTI ATOM 42 HN ASP 3 8.978 -8.396 4.691 .00 .00 BPTI ATOM 43 CA ASP 3 8.674 -9.088 2.746 .00 10.58 BPTI ATOM 44 HA ASP 3 9.424 -9.220 1.975 .00 .00 BPTI ATOM 45 CB ASP 3 8.472 -10.430 3.503 .00 18.87 BPTI ATOM 46 HB1 ASP 3 7.653 -10.408 4.197 .00 .00 BPTI ATOM 47 HB2 ASP 3 9.413 -10.573 4.177 .00 .00 BPTI ATOM 48 CG ASP 3 8.604 -11.677 2.558 .00 34.90 BPTI ATOM 49 OD1 ASP 3 8.246 -12.800 2.943 .00 26.81 BPTI ATOM 50 OD2 ASP 3 9.066 -11.507 1.442 .00 30.82 BPTI ATOM 51 C ASP 3 7.505 -8.560 2.016 .00 15.62 BPTI ATOM 52 O ASP 3 7.386 -8.807 .762 .00 12.96 BPTI ATOM 53 N PHE 4 6.667 -7.709 2.682 .00 11.71 BPTI ATOM 54 HN PHE 4 6.701 -7.466 3.625 .00 .00 BPTI ATOM 55 CA PHE 4 5.492 -7.222 1.984 .00 17.01 BPTI ATOM 56 HA PHE 4 5.075 -8.032 1.379 .00 .00 BPTI ATOM 57 CB PHE 4 4.245 -6.812 2.817 .00 7.95 BPTI ATOM 58 HB1 PHE 4 3.986 -7.711 3.513 .00 .00 BPTI ATOM 59 HB2 PHE 4 3.386 -6.663 2.220 .00 .00 BPTI ATOM 60 CG PHE 4 4.496 -5.707 3.802 .00 13.77 BPTI ATOM 61 CD1 PHE 4 4.089 -4.435 3.491 .00 16.46 BPTI ATOM 62 HD1 PHE 4 3.748 -4.170 2.505 .00 .00 BPTI ATOM 63 CD2 PHE 4 5.103 -5.964 5.045 .00 14.06 BPTI ATOM 64 HD2 PHE 4 5.327 -6.913 5.395 .00 .00 BPTI ATOM 65 CE1 PHE 4 4.168 -3.436 4.427 .00 19.88 BPTI ATOM 66 HE1 PHE 4 3.791 -2.404 4.289 .00 .00 BPTI ATOM 67 CE2 PHE 4 5.375 -4.911 5.912 .00 23.77 BPTI ATOM 68 HE2 PHE 4 5.737 -5.070 6.940 .00 .00 BPTI ATOM 69 CZ PHE 4 4.808 -3.672 5.633 .00 21.73 BPTI ATOM 70 HZ PHE 4 5.007 -2.938 6.418 .00 .00 BPTI ATOM 71 C PHE 4 5.745 -6.177 .894 .00 10.30 BPTI ATOM 72 O PHE 4 4.816 -5.593 .356 .00 13.86 BPTI ATOM 73 N CYS 5 7.038 -5.861 .599 .00 7.84 BPTI ATOM 74 HN CYS 5 7.767 -6.269 1.157 .00 .00 BPTI ATOM 75 CA CYS 5 7.502 -4.993 -.517 .00 9.61 BPTI ATOM 76 HA CYS 5 6.716 -4.223 -.585 .00 .00 BPTI ATOM 77 CB CYS 5 8.932 -4.519 -.275 .00 10.97 BPTI ATOM 78 HB1 CYS 5 9.144 -3.888 -1.190 .00 .00 BPTI ATOM 79 HB2 CYS 5 9.567 -5.426 -.303 .00 .00 BPTI ATOM 80 SG CYS 5 9.081 -3.567 1.283 .00 12.56 BPTI ATOM 81 HG1 CYS 5 10.400 -3.374 1.234 .00 .00 BPTI ATOM 82 C CYS 5 7.355 -5.688 -1.881 .00 10.97 BPTI ATOM 83 O CYS 5 7.046 -4.987 -2.886 .00 9.33 BPTI ATOM 84 N LEU 6 7.526 -7.001 -1.920 .00 13.81 BPTI ATOM 85 HN LEU 6 7.573 -7.502 -1.027 .00 .00 BPTI ATOM 86 CA LEU 6 7.571 -7.775 -3.117 .00 16.06 BPTI ATOM 87 HA LEU 6 7.859 -7.138 -3.951 .00 .00 BPTI ATOM 88 CB LEU 6 8.531 -8.957 -2.835 .00 14.78 BPTI ATOM 89 HB1 LEU 6 8.370 -9.702 -3.597 .00 .00 BPTI ATOM 90 HB2 LEU 6 8.380 -9.539 -1.901 .00 .00 BPTI ATOM 91 CG LEU 6 10.027 -8.509 -2.901 .00 20.58 BPTI ATOM 92 HG LEU 6 10.158 -7.545 -2.408 .00 .00 BPTI ATOM 93 CD1 LEU 6 10.942 -9.411 -2.180 .00 24.65 BPTI ATOM 94 HD11 LEU 6 10.836 -10.459 -2.517 .00 .00 BPTI ATOM 95 HD12 LEU 6 10.829 -9.451 -1.031 .00 .00 BPTI ATOM 96 HD13 LEU 6 11.981 -9.060 -2.232 .00 .00 BPTI ATOM 97 CD2 LEU 6 10.448 -8.215 -4.314 .00 22.62 BPTI ATOM 98 HD21 LEU 6 9.863 -7.408 -4.822 .00 .00 BPTI ATOM 99 HD22 LEU 6 10.398 -9.140 -4.993 .00 .00 BPTI ATOM 100 HD23 LEU 6 11.565 -7.987 -4.255 .00 .00 BPTI ATOM 101 C LEU 6 6.127 -8.264 -3.435 .00 17.38 BPTI ATOM 102 O LEU 6 5.938 -9.143 -4.264 .00 21.19 BPTI ATOM 103 N GLU 7 5.066 -7.685 -2.783 .00 14.54 BPTI ATOM 104 HN GLU 7 5.244 -7.031 -2.128 .00 .00 BPTI ATOM 105 CA GLU 7 3.657 -8.140 -2.762 .00 13.10 BPTI ATOM 106 HA GLU 7 3.670 -9.038 -3.300 .00 .00 BPTI ATOM 107 CB GLU 7 3.222 -8.494 -1.308 .00 15.51 BPTI ATOM 108 HB1 GLU 7 2.069 -8.585 -1.314 .00 .00 BPTI ATOM 109 HB2 GLU 7 3.356 -7.591 -.669 .00 .00 BPTI ATOM 110 CG GLU 7 4.095 -9.511 -.653 .00 29.71 BPTI ATOM 111 HG1 GLU 7 5.139 -9.145 -.544 .00 .00 BPTI ATOM 112 HG2 GLU 7 4.279 -10.331 -1.463 .00 .00 BPTI ATOM 113 CD GLU 7 3.545 -10.133 .521 .00 34.39 BPTI ATOM 114 OE1 GLU 7 4.223 -11.059 1.000 .00 33.37 BPTI ATOM 115 OE2 GLU 7 2.445 -9.795 1.101 .00 27.84 BPTI ATOM 116 C GLU 7 2.690 -7.202 -3.511 .00 15.02 BPTI ATOM 117 O GLU 7 2.986 -5.964 -3.612 .00 15.45 BPTI ATOM 118 N PRO 8 1.661 -7.760 -4.094 .00 16.29 BPTI ATOM 119 CA PRO 8 .698 -6.893 -4.847 .00 12.90 BPTI ATOM 120 HA PRO 8 1.141 -6.115 -5.419 .00 .00 BPTI ATOM 121 CD PRO 8 1.301 -9.174 -4.226 .00 24.74 BPTI ATOM 122 HD1 PRO 8 1.213 -9.729 -3.218 .00 .00 BPTI ATOM 123 HD2 PRO 8 2.107 -9.734 -4.792 .00 .00 BPTI ATOM 124 CB PRO 8 -.145 -7.899 -5.632 .00 23.06 BPTI ATOM 125 HB1 PRO 8 .304 -7.990 -6.646 .00 .00 BPTI ATOM 126 HB2 PRO 8 -1.213 -7.712 -5.791 .00 .00 BPTI ATOM 127 CG PRO 8 .004 -9.247 -4.946 .00 27.88 BPTI ATOM 128 HG1 PRO 8 -.781 -9.488 -4.194 .00 .00 BPTI ATOM 129 HG2 PRO 8 -.131 -10.045 -5.723 .00 .00 BPTI ATOM 130 C PRO 8 -.183 -6.155 -3.781 .00 13.75 BPTI ATOM 131 O PRO 8 -.243 -6.558 -2.599 .00 14.39 BPTI ATOM 132 N PRO 9 -.876 -5.077 -4.157 .00 12.97 BPTI ATOM 133 CA PRO 9 -1.798 -4.436 -3.231 .00 9.50 BPTI ATOM 134 HA PRO 9 -1.389 -4.409 -2.278 .00 .00 BPTI ATOM 135 CD PRO 9 -1.045 -4.490 -5.532 .00 9.02 BPTI ATOM 136 HD1 PRO 9 -1.602 -5.222 -6.142 .00 .00 BPTI ATOM 137 HD2 PRO 9 -.188 -4.120 -6.046 .00 .00 BPTI ATOM 138 CB PRO 9 -2.071 -3.100 -3.827 .00 10.39 BPTI ATOM 139 HB1 PRO 9 -1.246 -2.333 -3.612 .00 .00 BPTI ATOM 140 HB2 PRO 9 -3.006 -2.616 -3.526 .00 .00 BPTI ATOM 141 CG PRO 9 -2.089 -3.315 -5.313 .00 10.65 BPTI ATOM 142 HG1 PRO 9 -3.055 -3.679 -5.685 .00 .00 BPTI ATOM 143 HG2 PRO 9 -1.734 -2.384 -5.803 .00 .00 BPTI ATOM 144 C PRO 9 -3.153 -5.182 -3.045 .00 10.82 BPTI ATOM 145 O PRO 9 -3.285 -6.171 -3.682 .00 14.89 BPTI ATOM 146 N TYR 10 -4.030 -4.807 -2.126 .00 12.11 BPTI ATOM 147 HN TYR 10 -3.826 -4.095 -1.429 .00 .00 BPTI ATOM 148 CA TYR 10 -5.301 -5.518 -2.051 .00 10.93 BPTI ATOM 149 HA TYR 10 -5.556 -5.860 -3.001 .00 .00 BPTI ATOM 150 CB TYR 10 -5.312 -6.654 -1.049 .00 10.47 BPTI ATOM 151 HB1 TYR 10 -5.297 -6.312 .028 .00 .00 BPTI ATOM 152 HB2 TYR 10 -4.436 -7.248 -1.130 .00 .00 BPTI ATOM 153 CG TYR 10 -6.487 -7.574 -1.141 .00 9.25 BPTI ATOM 154 CD1 TYR 10 -6.782 -8.239 -2.329 .00 13.54 BPTI ATOM 155 HD1 TYR 10 -6.170 -8.022 -3.205 .00 .00 BPTI ATOM 156 CD2 TYR 10 -7.456 -7.711 -.082 .00 10.81 BPTI ATOM 157 HD2 TYR 10 -7.226 -7.251 .841 .00 .00 BPTI ATOM 158 CE1 TYR 10 -7.876 -9.122 -2.471 .00 17.69 BPTI ATOM 159 HE1 TYR 10 -8.046 -9.638 -3.458 .00 .00 BPTI ATOM 160 CE2 TYR 10 -8.573 -8.575 -.182 .00 16.50 BPTI ATOM 161 HE2 TYR 10 -9.231 -8.790 .703 .00 .00 BPTI ATOM 162 CZ TYR 10 -8.748 -9.320 -1.425 .00 18.81 BPTI ATOM 163 OH TYR 10 -9.858 -10.175 -1.518 .00 23.02 BPTI ATOM 164 HH TYR 10 -9.843 -10.582 -2.456 .00 .00 BPTI ATOM 165 C TYR 10 -6.454 -4.555 -1.679 .00 10.14 BPTI ATOM 166 O TYR 10 -6.473 -3.828 -.694 .00 12.43 BPTI ATOM 167 N THR 11 -7.412 -4.494 -2.624 .00 10.32 BPTI ATOM 168 HN THR 11 -7.462 -5.325 -3.249 .00 .00 BPTI ATOM 169 CA THR 11 -8.592 -3.622 -2.618 .00 10.34 BPTI ATOM 170 HA THR 11 -8.342 -2.712 -1.997 .00 .00 BPTI ATOM 171 CB THR 11 -8.981 -3.112 -4.007 .00 16.96 BPTI ATOM 172 HB THR 11 -9.241 -3.951 -4.705 .00 .00 BPTI ATOM 173 OG1 THR 11 -7.882 -2.521 -4.681 .00 23.58 BPTI ATOM 174 HG1 THR 11 -7.571 -1.885 -3.982 .00 .00 BPTI ATOM 175 CG2 THR 11 -10.256 -2.305 -4.127 .00 23.47 BPTI ATOM 176 HG21 THR 11 -10.023 -1.369 -3.572 .00 .00 BPTI ATOM 177 HG22 THR 11 -11.094 -2.779 -3.649 .00 .00 BPTI ATOM 178 HG23 THR 11 -10.532 -2.093 -5.162 .00 .00 BPTI ATOM 179 C THR 11 -9.743 -4.343 -1.959 .00 9.93 BPTI ATOM 180 O THR 11 -10.214 -3.798 -.984 .00 11.46 BPTI ATOM 181 N GLY 12 -10.200 -5.502 -2.498 .00 12.98 BPTI ATOM 182 HN GLY 12 -9.870 -5.967 -3.348 .00 .00 BPTI ATOM 183 CA GLY 12 -11.250 -6.348 -1.829 .00 8.45 BPTI ATOM 184 HA1 GLY 12 -11.156 -6.157 -.776 .00 .00 BPTI ATOM 185 HA2 GLY 12 -10.990 -7.342 -2.027 .00 .00 BPTI ATOM 186 C GLY 12 -12.628 -6.021 -2.285 .00 10.62 BPTI ATOM 187 O GLY 12 -12.874 -5.365 -3.348 .00 16.15 BPTI ATOM 188 N PRO 13 -13.583 -6.545 -1.545 .00 16.20 BPTI ATOM 189 CA PRO 13 -14.998 -6.640 -1.972 .00 16.32 BPTI ATOM 190 HA PRO 13 -14.958 -6.646 -3.000 .00 .00 BPTI ATOM 191 CD PRO 13 -13.333 -7.542 -.432 .00 15.86 BPTI ATOM 192 HD1 PRO 13 -13.107 -6.940 .509 .00 .00 BPTI ATOM 193 HD2 PRO 13 -12.456 -8.190 -.592 .00 .00 BPTI ATOM 194 CB PRO 13 -15.526 -7.993 -1.344 .00 17.84 BPTI ATOM 195 HB1 PRO 13 -15.293 -8.770 -2.189 .00 .00 BPTI ATOM 196 HB2 PRO 13 -16.627 -8.046 -1.201 .00 .00 BPTI ATOM 197 CG PRO 13 -14.619 -8.277 -.161 .00 15.31 BPTI ATOM 198 HG1 PRO 13 -15.061 -7.845 .779 .00 .00 BPTI ATOM 199 HG2 PRO 13 -14.346 -9.337 -.135 .00 .00 BPTI ATOM 200 C PRO 13 -15.714 -5.349 -1.602 .00 12.33 BPTI ATOM 201 O PRO 13 -16.910 -5.432 -1.847 .00 18.86 BPTI ATOM 202 N CYS 14 -15.165 -4.293 -1.042 .00 13.35 BPTI ATOM 203 HN CYS 14 -14.129 -4.219 -.969 .00 .00 BPTI ATOM 204 CA CYS 14 -15.899 -3.012 -.709 .00 12.04 BPTI ATOM 205 HA CYS 14 -16.964 -3.072 -.950 .00 .00 BPTI ATOM 206 CB CYS 14 -15.717 -2.584 .750 .00 7.04 BPTI ATOM 207 HB1 CYS 14 -16.169 -1.549 .934 .00 .00 BPTI ATOM 208 HB2 CYS 14 -14.650 -2.469 .929 .00 .00 BPTI ATOM 209 SG CYS 14 -16.418 -3.836 1.854 .00 11.46 BPTI ATOM 210 HG1 CYS 14 -16.067 -3.258 3.004 .00 .00 BPTI ATOM 211 C CYS 14 -15.272 -1.855 -1.494 .00 13.32 BPTI ATOM 212 O CYS 14 -14.212 -2.002 -2.105 .00 13.30 BPTI ATOM 213 N LYS 15 -16.049 -.720 -1.471 .00 9.45 BPTI ATOM 214 HN LYS 15 -16.894 -.627 -.925 .00 .00 BPTI ATOM 215 CA LYS 15 -15.616 .498 -2.150 .00 19.55 BPTI ATOM 216 HA LYS 15 -14.545 .413 -2.365 .00 .00 BPTI ATOM 217 CB LYS 15 -16.390 .685 -3.483 .00 21.75 BPTI ATOM 218 HB1 LYS 15 -15.934 1.365 -4.249 .00 .00 BPTI ATOM 219 HB2 LYS 15 -17.476 1.052 -3.224 .00 .00 BPTI ATOM 220 CG LYS 15 -16.779 -.573 -4.285 .00 32.27 BPTI ATOM 221 HG1 LYS 15 -17.337 -1.259 -3.602 .00 .00 BPTI ATOM 222 HG2 LYS 15 -15.819 -1.064 -4.660 .00 .00 BPTI ATOM 223 CD LYS 15 -17.713 -.258 -5.471 .00 32.10 BPTI ATOM 224 HD1 LYS 15 -17.230 .397 -6.187 .00 .00 BPTI ATOM 225 HD2 LYS 15 -18.638 .180 -5.079 .00 .00 BPTI ATOM 226 CE LYS 15 -18.274 -1.459 -6.199 .00 .00 BPTI ATOM 227 HE1 LYS 15 -18.673 -1.000 -7.176 .00 .00 BPTI ATOM 228 HE2 LYS 15 -19.084 -2.023 -5.743 .00 .00 BPTI ATOM 229 NZ LYS 15 -17.210 -2.476 -6.469 .00 .00 BPTI ATOM 230 HZ1 LYS 15 -16.554 -2.671 -5.667 .00 .00 BPTI ATOM 231 HZ2 LYS 15 -16.533 -2.148 -7.180 .00 .00 BPTI ATOM 232 HZ3 LYS 15 -17.574 -3.381 -6.743 .00 .00 BPTI ATOM 233 C LYS 15 -15.721 1.779 -1.392 .00 14.91 BPTI ATOM 234 O LYS 15 -16.636 1.937 -.588 .00 23.09 BPTI ATOM 235 N ALA 16 -14.819 2.724 -1.626 .00 11.63 BPTI ATOM 236 HN ALA 16 -14.047 2.498 -2.202 .00 .00 BPTI ATOM 237 CA ALA 16 -14.781 4.077 -1.024 .00 9.98 BPTI ATOM 238 HA ALA 16 -15.722 4.570 -1.189 .00 .00 BPTI ATOM 239 CB ALA 16 -14.526 4.008 .512 .00 11.90 BPTI ATOM 240 HB1 ALA 16 -13.525 3.517 .746 .00 .00 BPTI ATOM 241 HB2 ALA 16 -15.314 3.346 .968 .00 .00 BPTI ATOM 242 HB3 ALA 16 -14.674 4.979 1.001 .00 .00 BPTI ATOM 243 C ALA 16 -13.583 4.904 -1.636 .00 8.78 BPTI ATOM 244 O ALA 16 -12.530 4.389 -1.916 .00 12.62 BPTI ATOM 245 N ARG 17 -13.775 6.297 -1.830 .00 9.82 BPTI ATOM 246 HN ARG 17 -14.640 6.766 -1.566 .00 .00 BPTI ATOM 247 CA ARG 17 -12.865 7.170 -2.440 .00 10.09 BPTI ATOM 248 HA ARG 17 -12.398 6.703 -3.232 .00 .00 BPTI ATOM 249 CB ARG 17 -13.588 8.370 -3.077 .00 9.33 BPTI ATOM 250 HB1 ARG 17 -12.934 9.147 -3.310 .00 .00 BPTI ATOM 251 HB2 ARG 17 -14.221 8.742 -2.186 .00 .00 BPTI ATOM 252 CG ARG 17 -14.524 7.954 -4.236 .00 9.73 BPTI ATOM 253 HG1 ARG 17 -15.073 7.073 -3.824 .00 .00 BPTI ATOM 254 HG2 ARG 17 -14.030 7.675 -5.123 .00 .00 BPTI ATOM 255 CD ARG 17 -15.542 9.019 -4.776 .00 20.38 BPTI ATOM 256 HD1 ARG 17 -16.012 8.757 -5.656 .00 .00 BPTI ATOM 257 HD2 ARG 17 -15.079 10.023 -4.997 .00 .00 BPTI ATOM 258 NE ARG 17 -16.482 9.154 -3.665 .00 35.16 BPTI ATOM 259 HE ARG 17 -16.178 9.558 -2.770 .00 .00 BPTI ATOM 260 CZ ARG 17 -17.736 8.532 -3.639 .00 31.15 BPTI ATOM 261 NH1 ARG 17 -18.247 7.987 -4.706 .00 30.73 BPTI ATOM 262 HH11 ARG 17 -17.585 7.742 -5.461 .00 .00 BPTI ATOM 263 HH12 ARG 17 -19.092 7.475 -4.538 .00 .00 BPTI ATOM 264 NH2 ARG 17 -18.420 8.579 -2.486 .00 35.87 BPTI ATOM 265 HH21 ARG 17 -19.300 8.055 -2.367 .00 .00 BPTI ATOM 266 HH22 ARG 17 -18.066 8.910 -1.590 .00 .00 BPTI ATOM 267 C ARG 17 -11.713 7.692 -1.531 .00 15.35 BPTI ATOM 268 O ARG 17 -11.692 8.877 -1.080 .00 17.74 BPTI ATOM 269 N ILE 18 -10.929 6.740 -1.194 .00 15.43 BPTI ATOM 270 HN ILE 18 -11.097 5.777 -1.585 .00 .00 BPTI ATOM 271 CA ILE 18 -9.871 6.915 -.204 .00 13.44 BPTI ATOM 272 HA ILE 18 -9.904 7.986 .104 .00 .00 BPTI ATOM 273 CB ILE 18 -10.041 5.955 .986 .00 12.22 BPTI ATOM 274 HB ILE 18 -9.957 4.875 .718 .00 .00 BPTI ATOM 275 CG2 ILE 18 -8.887 6.242 2.038 .00 11.08 BPTI ATOM 276 HG21 ILE 18 -8.909 7.366 2.283 .00 .00 BPTI ATOM 277 HG22 ILE 18 -7.954 5.991 1.515 .00 .00 BPTI ATOM 278 HG23 ILE 18 -9.079 5.674 2.938 .00 .00 BPTI ATOM 279 CG1 ILE 18 -11.422 6.161 1.648 .00 15.59 BPTI ATOM 280 HG11 ILE 18 -12.236 5.708 .972 .00 .00 BPTI ATOM 281 HG12 ILE 18 -11.718 7.213 1.815 .00 .00 BPTI ATOM 282 CD ILE 18 -11.588 5.406 2.982 .00 21.94 BPTI ATOM 283 HD1 ILE 18 -10.783 5.343 3.741 .00 .00 BPTI ATOM 284 HD2 ILE 18 -11.693 4.306 2.650 .00 .00 BPTI ATOM 285 HD3 ILE 18 -12.555 5.644 3.446 .00 .00 BPTI ATOM 286 C ILE 18 -8.504 6.792 -.860 .00 12.23 BPTI ATOM 287 O ILE 18 -8.279 5.785 -1.507 .00 13.07 BPTI ATOM 288 N ILE 19 -7.612 7.780 -.697 .00 10.43 BPTI ATOM 289 HN ILE 19 -7.835 8.606 -.172 .00 .00 BPTI ATOM 290 CA ILE 19 -6.389 7.699 -1.454 .00 7.64 BPTI ATOM 291 HA ILE 19 -6.564 7.258 -2.394 .00 .00 BPTI ATOM 292 CB ILE 19 -5.947 9.071 -2.094 .00 13.10 BPTI ATOM 293 HB ILE 19 -5.738 9.792 -1.364 .00 .00 BPTI ATOM 294 CG2 ILE 19 -4.737 8.859 -2.907 .00 14.39 BPTI ATOM 295 HG21 ILE 19 -4.784 8.032 -3.535 .00 .00 BPTI ATOM 296 HG22 ILE 19 -3.860 8.702 -2.178 .00 .00 BPTI ATOM 297 HG23 ILE 19 -4.522 9.754 -3.545 .00 .00 BPTI ATOM 298 CG1 ILE 19 -7.140 9.688 -2.964 .00 18.92 BPTI ATOM 299 HG11 ILE 19 -6.930 10.773 -3.130 .00 .00 BPTI ATOM 300 HG12 ILE 19 -8.123 9.717 -2.438 .00 .00 BPTI ATOM 301 CD ILE 19 -7.247 8.967 -4.369 .00 20.69 BPTI ATOM 302 HD1 ILE 19 -7.394 7.895 -4.192 .00 .00 BPTI ATOM 303 HD2 ILE 19 -6.328 9.026 -4.987 .00 .00 BPTI ATOM 304 HD3 ILE 19 -8.031 9.397 -5.016 .00 .00 BPTI ATOM 305 C ILE 19 -5.231 6.943 -.781 .00 8.62 BPTI ATOM 306 O ILE 19 -4.676 7.479 .187 .00 12.56 BPTI ATOM 307 N ARG 20 -4.822 5.689 -1.144 .00 9.77 BPTI ATOM 308 HN ARG 20 -5.075 5.217 -1.973 .00 .00 BPTI ATOM 309 CA ARG 20 -3.869 4.976 -.289 .00 7.78 BPTI ATOM 310 HA ARG 20 -3.352 5.700 .343 .00 .00 BPTI ATOM 311 CB ARG 20 -4.518 3.828 .487 .00 7.22 BPTI ATOM 312 HB1 ARG 20 -3.832 3.172 1.003 .00 .00 BPTI ATOM 313 HB2 ARG 20 -5.013 3.221 -.325 .00 .00 BPTI ATOM 314 CG ARG 20 -5.547 4.252 1.486 .00 11.46 BPTI ATOM 315 HG1 ARG 20 -6.145 3.351 1.732 .00 .00 BPTI ATOM 316 HG2 ARG 20 -6.252 4.898 1.078 .00 .00 BPTI ATOM 317 CD ARG 20 -4.962 4.697 2.817 .00 13.04 BPTI ATOM 318 HD1 ARG 20 -4.478 5.669 2.674 .00 .00 BPTI ATOM 319 HD2 ARG 20 -4.293 3.921 3.198 .00 .00 BPTI ATOM 320 NE ARG 20 -5.968 5.080 3.803 .00 22.93 BPTI ATOM 321 HE ARG 20 -6.426 5.983 3.753 .00 .00 BPTI ATOM 322 CZ ARG 20 -6.347 4.311 4.816 .00 24.10 BPTI ATOM 323 NH1 ARG 20 -5.665 3.184 5.044 .00 16.40 BPTI ATOM 324 HH11 ARG 20 -5.801 2.731 5.944 .00 .00 BPTI ATOM 325 HH12 ARG 20 -4.708 3.151 4.747 .00 .00 BPTI ATOM 326 NH2 ARG 20 -7.297 4.703 5.619 .00 21.77 BPTI ATOM 327 HH21 ARG 20 -7.689 5.634 5.557 .00 .00 BPTI ATOM 328 HH22 ARG 20 -7.474 4.314 6.487 .00 .00 BPTI ATOM 329 C ARG 20 -2.761 4.382 -1.224 .00 7.07 BPTI ATOM 330 O ARG 20 -2.927 4.345 -2.445 .00 7.01 BPTI ATOM 331 N TYR 21 -1.571 4.058 -.691 .00 13.97 BPTI ATOM 332 HN TYR 21 -1.428 4.045 .355 .00 .00 BPTI ATOM 333 CA TYR 21 -.369 3.755 -1.443 .00 12.57 BPTI ATOM 334 HA TYR 21 -.581 3.904 -2.506 .00 .00 BPTI ATOM 335 CB TYR 21 .734 4.664 -1.156 .00 8.08 BPTI ATOM 336 HB1 TYR 21 1.658 4.299 -1.694 .00 .00 BPTI ATOM 337 HB2 TYR 21 1.026 4.644 -.081 .00 .00 BPTI ATOM 338 CG TYR 21 .512 6.153 -1.655 .00 5.50 BPTI ATOM 339 CD1 TYR 21 -.357 7.006 -.979 .00 11.01 BPTI ATOM 340 HD1 TYR 21 -.849 6.719 -.053 .00 .00 BPTI ATOM 341 CD2 TYR 21 1.329 6.606 -2.729 .00 4.65 BPTI ATOM 342 HD2 TYR 21 1.966 5.930 -3.347 .00 .00 BPTI ATOM 343 CE1 TYR 21 -.511 8.288 -1.508 .00 16.81 BPTI ATOM 344 HE1 TYR 21 -1.186 8.944 -.964 .00 .00 BPTI ATOM 345 CE2 TYR 21 1.164 7.987 -3.144 .00 8.39 BPTI ATOM 346 HE2 TYR 21 1.711 8.281 -4.039 .00 .00 BPTI ATOM 347 CZ TYR 21 .201 8.769 -2.542 .00 16.64 BPTI ATOM 348 OH TYR 21 .057 10.129 -2.850 .00 24.69 BPTI ATOM 349 HH TYR 21 .055 10.691 -2.038 .00 .00 BPTI ATOM 350 C TYR 21 .136 2.331 -1.314 .00 12.33 BPTI ATOM 351 O TYR 21 -.037 1.695 -.276 .00 7.69 BPTI ATOM 352 N PHE 22 .786 1.770 -2.340 .00 8.06 BPTI ATOM 353 HN PHE 22 .722 2.232 -3.195 .00 .00 BPTI ATOM 354 CA PHE 22 1.590 .554 -2.290 .00 4.10 BPTI ATOM 355 HA PHE 22 1.775 .511 -1.227 .00 .00 BPTI ATOM 356 CB PHE 22 .883 -.683 -2.748 .00 12.74 BPTI ATOM 357 HB1 PHE 22 -.177 -.659 -2.531 .00 .00 BPTI ATOM 358 HB2 PHE 22 1.344 -1.542 -2.239 .00 .00 BPTI ATOM 359 CG PHE 22 .868 -.801 -4.254 .00 10.98 BPTI ATOM 360 CD1 PHE 22 1.645 -1.772 -4.951 .00 10.97 BPTI ATOM 361 HD1 PHE 22 2.162 -2.541 -4.347 .00 .00 BPTI ATOM 362 CD2 PHE 22 .078 .064 -5.040 .00 15.57 BPTI ATOM 363 HD2 PHE 22 -.570 .691 -4.476 .00 .00 BPTI ATOM 364 CE1 PHE 22 1.430 -1.938 -6.315 .00 10.93 BPTI ATOM 365 HE1 PHE 22 2.103 -2.537 -6.909 .00 .00 BPTI ATOM 366 CE2 PHE 22 .001 .025 -6.418 .00 16.55 BPTI ATOM 367 HE2 PHE 22 -.726 .637 -7.009 .00 .00 BPTI ATOM 368 CZ PHE 22 .641 -1.022 -7.101 .00 13.98 BPTI ATOM 369 HZ PHE 22 .397 -1.177 -8.123 .00 .00 BPTI ATOM 370 C PHE 22 2.981 .863 -2.875 .00 11.98 BPTI ATOM 371 O PHE 22 3.209 1.867 -3.551 .00 7.85 BPTI ATOM 372 N TYR 23 3.878 -.089 -2.714 .00 6.65 BPTI ATOM 373 HN TYR 23 3.504 -.850 -2.230 .00 .00 BPTI ATOM 374 CA TYR 23 5.191 -.072 -3.285 .00 4.91 BPTI ATOM 375 HA TYR 23 5.432 .852 -3.662 .00 .00 BPTI ATOM 376 CB TYR 23 6.271 -.425 -2.163 .00 6.50 BPTI ATOM 377 HB1 TYR 23 6.066 -1.346 -1.713 .00 .00 BPTI ATOM 378 HB2 TYR 23 6.099 .295 -1.373 .00 .00 BPTI ATOM 379 CG TYR 23 7.720 -.275 -2.652 .00 6.41 BPTI ATOM 380 CD1 TYR 23 8.460 -1.477 -2.710 .00 7.92 BPTI ATOM 381 HD1 TYR 23 8.006 -2.501 -2.651 .00 .00 BPTI ATOM 382 CD2 TYR 23 8.420 .927 -2.973 .00 9.16 BPTI ATOM 383 HD2 TYR 23 7.952 1.897 -2.803 .00 .00 BPTI ATOM 384 CE1 TYR 23 9.838 -1.459 -2.964 .00 6.88 BPTI ATOM 385 HE1 TYR 23 10.450 -2.403 -2.870 .00 .00 BPTI ATOM 386 CE2 TYR 23 9.783 .994 -3.202 .00 10.07 BPTI ATOM 387 HE2 TYR 23 10.152 1.896 -3.541 .00 .00 BPTI ATOM 388 CZ TYR 23 10.465 -.198 -3.185 .00 7.31 BPTI ATOM 389 OH TYR 23 11.839 -.409 -3.505 .00 12.56 BPTI ATOM 390 HH TYR 23 11.893 -1.386 -3.603 .00 .00 BPTI ATOM 391 C TYR 23 5.451 -.938 -4.562 .00 9.11 BPTI ATOM 392 O TYR 23 4.903 -1.983 -4.776 .00 9.54 BPTI ATOM 393 N ASN 24 6.251 -.401 -5.491 .00 9.79 BPTI ATOM 394 HN ASN 24 6.604 .486 -5.275 .00 .00 BPTI ATOM 395 CA ASN 24 6.659 -.982 -6.766 .00 9.31 BPTI ATOM 396 HA ASN 24 6.274 -1.936 -6.984 .00 .00 BPTI ATOM 397 CB ASN 24 6.277 -.062 -7.928 .00 9.63 BPTI ATOM 398 HB1 ASN 24 6.772 .941 -7.791 .00 .00 BPTI ATOM 399 HB2 ASN 24 5.198 .057 -7.943 .00 .00 BPTI ATOM 400 CG ASN 24 6.765 -.672 -9.254 .00 22.83 BPTI ATOM 401 OD1 ASN 24 7.510 -1.658 -9.420 .00 15.68 BPTI ATOM 402 ND2 ASN 24 6.299 .018 -10.349 .00 21.16 BPTI ATOM 403 HD21 ASN 24 5.702 .834 -10.249 .00 .00 BPTI ATOM 404 HD22 ASN 24 6.499 -.392 -11.234 .00 .00 BPTI ATOM 405 C ASN 24 8.200 -1.284 -6.635 .00 11.20 BPTI ATOM 406 O ASN 24 9.004 -.392 -6.791 .00 10.96 BPTI ATOM 407 N ALA 25 8.574 -2.614 -6.356 .00 11.55 BPTI ATOM 408 HN ALA 25 7.943 -3.341 -6.203 .00 .00 BPTI ATOM 409 CA ALA 25 9.949 -3.008 -6.275 .00 15.09 BPTI ATOM 410 HA ALA 25 10.331 -2.407 -5.487 .00 .00 BPTI ATOM 411 CB ALA 25 10.034 -4.414 -5.881 .00 13.47 BPTI ATOM 412 HB1 ALA 25 9.668 -5.225 -6.615 .00 .00 BPTI ATOM 413 HB2 ALA 25 9.347 -4.505 -5.072 .00 .00 BPTI ATOM 414 HB3 ALA 25 11.076 -4.578 -5.616 .00 .00 BPTI ATOM 415 C ALA 25 10.836 -2.763 -7.512 .00 11.71 BPTI ATOM 416 O ALA 25 12.020 -2.490 -7.463 .00 18.95 BPTI ATOM 417 N LYS 26 10.206 -2.890 -8.726 .00 14.47 BPTI ATOM 418 HN LYS 26 9.233 -2.989 -8.668 .00 .00 BPTI ATOM 419 CA LYS 26 10.864 -2.755 -10.008 .00 14.48 BPTI ATOM 420 HA LYS 26 11.694 -3.449 -10.096 .00 .00 BPTI ATOM 421 CB LYS 26 9.959 -3.099 -11.166 .00 15.92 BPTI ATOM 422 HB1 LYS 26 10.434 -2.936 -12.206 .00 .00 BPTI ATOM 423 HB2 LYS 26 9.072 -2.434 -11.154 .00 .00 BPTI ATOM 424 CG LYS 26 9.671 -4.648 -11.076 .00 26.23 BPTI ATOM 425 HG1 LYS 26 9.354 -4.871 -10.005 .00 .00 BPTI ATOM 426 HG2 LYS 26 10.656 -5.080 -11.317 .00 .00 BPTI ATOM 427 CD LYS 26 8.473 -5.112 -11.944 .00 38.15 BPTI ATOM 428 HD1 LYS 26 8.516 -4.686 -12.979 .00 .00 BPTI ATOM 429 HD2 LYS 26 7.418 -4.810 -11.555 .00 .00 BPTI ATOM 430 CE LYS 26 8.430 -6.678 -12.281 .00 .00 BPTI ATOM 431 HE1 LYS 26 9.401 -7.110 -12.633 .00 .00 BPTI ATOM 432 HE2 LYS 26 7.626 -6.897 -13.043 .00 .00 BPTI ATOM 433 NZ LYS 26 8.004 -7.358 -10.990 .00 .00 BPTI ATOM 434 HZ1 LYS 26 7.046 -7.211 -10.627 .00 .00 BPTI ATOM 435 HZ2 LYS 26 8.617 -7.022 -10.304 .00 .00 BPTI ATOM 436 HZ3 LYS 26 8.119 -8.437 -11.043 .00 .00 BPTI ATOM 437 C LYS 26 11.469 -1.401 -10.292 .00 19.07 BPTI ATOM 438 O LYS 26 12.606 -1.221 -10.787 .00 17.43 BPTI ATOM 439 N ALA 27 10.639 -.366 -10.022 .00 13.55 BPTI ATOM 440 HN ALA 27 9.789 -.596 -9.635 .00 .00 BPTI ATOM 441 CA ALA 27 11.017 1.065 -10.088 .00 11.73 BPTI ATOM 442 HA ALA 27 11.846 1.077 -10.788 .00 .00 BPTI ATOM 443 CB ALA 27 9.745 1.822 -10.567 .00 14.62 BPTI ATOM 444 HB1 ALA 27 9.055 1.906 -9.785 .00 .00 BPTI ATOM 445 HB2 ALA 27 9.162 1.353 -11.358 .00 .00 BPTI ATOM 446 HB3 ALA 27 10.060 2.847 -10.784 .00 .00 BPTI ATOM 447 C ALA 27 11.636 1.672 -8.865 .00 13.19 BPTI ATOM 448 O ALA 27 12.579 2.481 -8.909 .00 17.25 BPTI ATOM 449 N GLY 28 11.147 1.262 -7.647 .00 10.36 BPTI ATOM 450 HN GLY 28 10.338 .702 -7.511 .00 .00 BPTI ATOM 451 CA GLY 28 11.667 1.840 -6.388 .00 8.56 BPTI ATOM 452 HA1 GLY 28 12.684 2.281 -6.468 .00 .00 BPTI ATOM 453 HA2 GLY 28 11.601 1.081 -5.674 .00 .00 BPTI ATOM 454 C GLY 28 10.882 3.041 -5.949 .00 14.70 BPTI ATOM 455 O GLY 28 11.422 4.033 -5.450 .00 15.08 BPTI ATOM 456 N LEU 29 9.533 3.062 -6.178 .00 13.64 BPTI ATOM 457 HN LEU 29 9.045 2.299 -6.544 .00 .00 BPTI ATOM 458 CA LEU 29 8.679 4.186 -5.890 .00 10.25 BPTI ATOM 459 HA LEU 29 9.142 4.682 -5.020 .00 .00 BPTI ATOM 460 CB LEU 29 8.533 5.085 -7.128 .00 17.62 BPTI ATOM 461 HB1 LEU 29 9.509 5.520 -7.451 .00 .00 BPTI ATOM 462 HB2 LEU 29 7.882 5.968 -6.805 .00 .00 BPTI ATOM 463 CG LEU 29 7.955 4.365 -8.398 .00 14.01 BPTI ATOM 464 HG LEU 29 8.297 3.284 -8.507 .00 .00 BPTI ATOM 465 CD1 LEU 29 6.433 4.487 -8.471 .00 17.94 BPTI ATOM 466 HD11 LEU 29 6.189 5.533 -8.199 .00 .00 BPTI ATOM 467 HD12 LEU 29 5.937 3.900 -7.617 .00 .00 BPTI ATOM 468 HD13 LEU 29 6.004 4.220 -9.465 .00 .00 BPTI ATOM 469 CD2 LEU 29 8.470 5.069 -9.633 .00 17.04 BPTI ATOM 470 HD21 LEU 29 9.589 5.196 -9.562 .00 .00 BPTI ATOM 471 HD22 LEU 29 8.109 6.119 -9.664 .00 .00 BPTI ATOM 472 HD23 LEU 29 8.250 4.584 -10.597 .00 .00 BPTI ATOM 473 C LEU 29 7.337 3.605 -5.324 .00 6.40 BPTI ATOM 474 O LEU 29 6.941 2.414 -5.504 .00 7.85 BPTI ATOM 475 N CYS 30 6.526 4.488 -4.678 .00 8.14 BPTI ATOM 476 HN CYS 30 6.697 5.456 -4.692 .00 .00 BPTI ATOM 477 CA CYS 30 5.245 4.171 -4.034 .00 7.89 BPTI ATOM 478 HA CYS 30 5.106 3.074 -4.074 .00 .00 BPTI ATOM 479 CB CYS 30 5.130 4.697 -2.555 .00 10.61 BPTI ATOM 480 HB1 CYS 30 4.071 4.569 -2.158 .00 .00 BPTI ATOM 481 HB2 CYS 30 5.383 5.746 -2.564 .00 .00 BPTI ATOM 482 SG CYS 30 6.186 3.739 -1.399 .00 8.67 BPTI ATOM 483 HG1 CYS 30 5.923 4.452 -.303 .00 .00 BPTI ATOM 484 C CYS 30 4.174 4.787 -4.878 .00 11.36 BPTI ATOM 485 O CYS 30 4.266 5.969 -5.203 .00 14.86 BPTI ATOM 486 N GLN 31 3.256 3.988 -5.413 .00 9.45 BPTI ATOM 487 HN GLN 31 3.221 3.095 -5.008 .00 .00 BPTI ATOM 488 CA GLN 31 2.183 4.387 -6.269 .00 9.28 BPTI ATOM 489 HA GLN 31 2.332 5.377 -6.643 .00 .00 BPTI ATOM 490 CB GLN 31 1.975 3.319 -7.381 .00 10.23 BPTI ATOM 491 HB1 GLN 31 1.062 3.588 -8.034 .00 .00 BPTI ATOM 492 HB2 GLN 31 1.744 2.361 -6.853 .00 .00 BPTI ATOM 493 CG GLN 31 3.009 3.251 -8.472 .00 17.66 BPTI ATOM 494 HG1 GLN 31 4.025 3.207 -8.011 .00 .00 BPTI ATOM 495 HG2 GLN 31 2.834 4.114 -9.172 .00 .00 BPTI ATOM 496 CD GLN 31 2.987 2.040 -9.413 .00 31.47 BPTI ATOM 497 OE1 GLN 31 4.004 1.389 -9.641 .00 35.23 BPTI ATOM 498 NE2 GLN 31 1.745 1.722 -9.911 .00 21.47 BPTI ATOM 499 HE21 GLN 31 1.624 .922 -10.482 .00 .00 BPTI ATOM 500 HE22 GLN 31 .926 2.106 -9.492 .00 .00 BPTI ATOM 501 C GLN 31 .851 4.362 -5.494 .00 10.28 BPTI ATOM 502 O GLN 31 .833 3.567 -4.519 .00 8.18 BPTI ATOM 503 N THR 32 -.236 5.045 -5.865 .00 10.14 BPTI ATOM 504 HN THR 32 -.236 5.562 -6.770 .00 .00 BPTI ATOM 505 CA THR 32 -1.543 4.682 -5.309 .00 10.49 BPTI ATOM 506 HA THR 32 -1.547 4.480 -4.281 .00 .00 BPTI ATOM 507 CB THR 32 -2.587 5.843 -5.447 .00 13.90 BPTI ATOM 508 HB THR 32 -3.502 5.522 -4.937 .00 .00 BPTI ATOM 509 OG1 THR 32 -2.929 6.176 -6.793 .00 16.93 BPTI ATOM 510 HG1 THR 32 -3.591 5.501 -6.997 .00 .00 BPTI ATOM 511 CG2 THR 32 -1.937 7.110 -4.823 .00 14.64 BPTI ATOM 512 HG21 THR 32 -1.079 7.423 -5.383 .00 .00 BPTI ATOM 513 HG22 THR 32 -1.680 6.949 -3.765 .00 .00 BPTI ATOM 514 HG23 THR 32 -2.694 7.960 -4.766 .00 .00 BPTI ATOM 515 C THR 32 -2.143 3.471 -6.017 .00 8.89 BPTI ATOM 516 O THR 32 -1.994 3.155 -7.177 .00 10.49 BPTI ATOM 517 N PHE 33 -2.940 2.799 -5.282 .00 8.47 BPTI ATOM 518 HN PHE 33 -3.087 3.076 -4.333 .00 .00 BPTI ATOM 519 CA PHE 33 -3.889 1.735 -5.744 .00 10.15 BPTI ATOM 520 HA PHE 33 -3.733 1.689 -6.854 .00 .00 BPTI ATOM 521 CB PHE 33 -3.705 .331 -4.991 .00 5.08 BPTI ATOM 522 HB1 PHE 33 -2.585 .127 -5.269 .00 .00 BPTI ATOM 523 HB2 PHE 33 -4.385 -.322 -5.512 .00 .00 BPTI ATOM 524 CG PHE 33 -3.785 .203 -3.490 .00 6.68 BPTI ATOM 525 CD1 PHE 33 -4.892 -.437 -2.982 .00 10.17 BPTI ATOM 526 HD1 PHE 33 -5.632 -.813 -3.630 .00 .00 BPTI ATOM 527 CD2 PHE 33 -2.944 .857 -2.571 .00 5.65 BPTI ATOM 528 HD2 PHE 33 -2.069 1.441 -2.934 .00 .00 BPTI ATOM 529 CE1 PHE 33 -5.075 -.568 -1.593 .00 9.58 BPTI ATOM 530 HE1 PHE 33 -5.959 -1.136 -1.274 .00 .00 BPTI ATOM 531 CE2 PHE 33 -3.098 .727 -1.192 .00 10.39 BPTI ATOM 532 HE2 PHE 33 -2.305 1.091 -.564 .00 .00 BPTI ATOM 533 CZ PHE 33 -4.136 -.034 -.695 .00 8.51 BPTI ATOM 534 HZ PHE 33 -4.225 -.163 .338 .00 .00 BPTI ATOM 535 C PHE 33 -5.247 2.292 -5.481 .00 7.60 BPTI ATOM 536 O PHE 33 -5.378 3.471 -5.366 .00 9.10 BPTI ATOM 537 N VAL 34 -6.231 1.442 -5.511 .00 9.74 BPTI ATOM 538 HN VAL 34 -6.024 .506 -5.759 .00 .00 BPTI ATOM 539 CA VAL 34 -7.607 1.804 -5.180 .00 7.47 BPTI ATOM 540 HA VAL 34 -7.721 2.809 -5.019 .00 .00 BPTI ATOM 541 CB VAL 34 -8.554 1.411 -6.279 .00 11.69 BPTI ATOM 542 HB VAL 34 -8.376 .297 -6.472 .00 .00 BPTI ATOM 543 CG1 VAL 34 -10.043 1.579 -5.940 .00 10.78 BPTI ATOM 544 HG11 VAL 34 -10.357 .885 -5.130 .00 .00 BPTI ATOM 545 HG12 VAL 34 -10.693 1.359 -6.876 .00 .00 BPTI ATOM 546 HG13 VAL 34 -10.269 2.578 -5.642 .00 .00 BPTI ATOM 547 CG2 VAL 34 -8.149 2.243 -7.484 .00 15.81 BPTI ATOM 548 HG21 VAL 34 -7.097 2.059 -7.768 .00 .00 BPTI ATOM 549 HG22 VAL 34 -8.246 3.334 -7.305 .00 .00 BPTI ATOM 550 HG23 VAL 34 -8.817 1.961 -8.385 .00 .00 BPTI ATOM 551 C VAL 34 -7.953 1.170 -3.871 .00 5.42 BPTI ATOM 552 O VAL 34 -7.825 -.004 -3.701 .00 13.19 BPTI ATOM 553 N TYR 35 -8.507 1.947 -2.896 .00 10.23 BPTI ATOM 554 HN TYR 35 -8.556 2.989 -2.874 .00 .00 BPTI ATOM 555 CA TYR 35 -8.703 1.410 -1.581 .00 8.02 BPTI ATOM 556 HA TYR 35 -8.167 .541 -1.443 .00 .00 BPTI ATOM 557 CB TYR 35 -8.245 2.356 -.364 .00 7.63 BPTI ATOM 558 HB1 TYR 35 -8.770 3.304 -.468 .00 .00 BPTI ATOM 559 HB2 TYR 35 -7.188 2.653 -.444 .00 .00 BPTI ATOM 560 CG TYR 35 -8.450 1.752 .935 .00 10.18 BPTI ATOM 561 CD1 TYR 35 -7.495 .805 1.321 .00 11.33 BPTI ATOM 562 HD1 TYR 35 -6.725 .530 .660 .00 .00 BPTI ATOM 563 CD2 TYR 35 -9.450 2.180 1.850 .00 11.08 BPTI ATOM 564 HD2 TYR 35 -10.161 2.942 1.609 .00 .00 BPTI ATOM 565 CE1 TYR 35 -7.649 .239 2.555 .00 13.35 BPTI ATOM 566 HE1 TYR 35 -6.947 -.477 3.008 .00 .00 BPTI ATOM 567 CE2 TYR 35 -9.527 1.605 3.151 .00 12.42 BPTI ATOM 568 HE2 TYR 35 -10.265 1.982 3.798 .00 .00 BPTI ATOM 569 CZ TYR 35 -8.644 .617 3.503 .00 10.23 BPTI ATOM 570 OH TYR 35 -8.611 -.110 4.719 .00 12.98 BPTI ATOM 571 HH TYR 35 -9.410 .053 5.206 .00 .00 BPTI ATOM 572 C TYR 35 -10.208 1.132 -1.598 .00 14.45 BPTI ATOM 573 O TYR 35 -10.971 1.559 -2.469 .00 8.91 BPTI ATOM 574 N GLY 36 -10.772 .339 -.669 .00 13.02 BPTI ATOM 575 HN GLY 36 -10.116 -.005 .085 .00 .00 BPTI ATOM 576 CA GLY 36 -12.122 -.029 -.671 .00 8.05 BPTI ATOM 577 HA1 GLY 36 -12.135 -1.145 -.872 .00 .00 BPTI ATOM 578 HA2 GLY 36 -12.679 .490 -1.437 .00 .00 BPTI ATOM 579 C GLY 36 -12.836 .217 .610 .00 6.82 BPTI ATOM 580 O GLY 36 -13.890 .812 .647 .00 11.95 BPTI ATOM 581 N GLY 37 -12.226 -.148 1.722 .00 6.75 BPTI ATOM 582 HN GLY 37 -11.371 -.641 1.750 .00 .00 BPTI ATOM 583 CA GLY 37 -12.734 .057 3.086 .00 7.09 BPTI ATOM 584 HA1 GLY 37 -13.691 .479 3.146 .00 .00 BPTI ATOM 585 HA2 GLY 37 -11.986 .596 3.553 .00 .00 BPTI ATOM 586 C GLY 37 -12.756 -1.236 3.788 .00 10.82 BPTI ATOM 587 O GLY 37 -12.836 -1.184 5.035 .00 14.39 BPTI ATOM 588 N CYS 38 -12.691 -2.371 3.075 .00 10.99 BPTI ATOM 589 HN CYS 38 -12.552 -2.417 2.046 .00 .00 BPTI ATOM 590 CA CYS 38 -12.775 -3.575 3.869 .00 6.52 BPTI ATOM 591 HA CYS 38 -12.549 -3.374 4.917 .00 .00 BPTI ATOM 592 CB CYS 38 -14.225 -4.206 3.836 .00 8.56 BPTI ATOM 593 HB1 CYS 38 -14.987 -3.446 4.120 .00 .00 BPTI ATOM 594 HB2 CYS 38 -14.381 -4.795 4.741 .00 .00 BPTI ATOM 595 SG CYS 38 -14.889 -5.015 2.322 .00 11.70 BPTI ATOM 596 HG1 CYS 38 -16.052 -5.411 2.842 .00 .00 BPTI ATOM 597 C CYS 38 -11.759 -4.555 3.536 .00 8.51 BPTI ATOM 598 O CYS 38 -11.086 -4.455 2.486 .00 10.70 BPTI ATOM 599 N ARG 39 -11.624 -5.659 4.280 .00 12.08 BPTI ATOM 600 HN ARG 39 -12.302 -5.829 5.016 .00 .00 BPTI ATOM 601 CA ARG 39 -10.720 -6.776 4.079 .00 11.96 BPTI ATOM 602 HA ARG 39 -10.603 -7.322 4.970 .00 .00 BPTI ATOM 603 CB ARG 39 -11.369 -7.810 3.062 .00 9.59 BPTI ATOM 604 HB1 ARG 39 -10.539 -8.549 2.976 .00 .00 BPTI ATOM 605 HB2 ARG 39 -11.473 -7.251 2.133 .00 .00 BPTI ATOM 606 CG ARG 39 -12.675 -8.401 3.390 .00 12.04 BPTI ATOM 607 HG1 ARG 39 -13.121 -8.938 2.554 .00 .00 BPTI ATOM 608 HG2 ARG 39 -13.335 -7.602 3.813 .00 .00 BPTI ATOM 609 CD ARG 39 -12.489 -9.388 4.529 .00 12.01 BPTI ATOM 610 HD1 ARG 39 -11.984 -8.825 5.407 .00 .00 BPTI ATOM 611 HD2 ARG 39 -11.839 -10.295 4.275 .00 .00 BPTI ATOM 612 NE ARG 39 -13.895 -9.798 4.905 .00 10.34 BPTI ATOM 613 HE ARG 39 -14.584 -9.081 5.004 .00 .00 BPTI ATOM 614 CZ ARG 39 -14.309 -11.048 4.941 .00 11.83 BPTI ATOM 615 NH1 ARG 39 -13.446 -12.034 4.934 .00 11.53 BPTI ATOM 616 HH11 ARG 39 -12.470 -11.869 4.891 .00 .00 BPTI ATOM 617 HH12 ARG 39 -13.870 -12.940 4.950 .00 .00 BPTI ATOM 618 NH2 ARG 39 -15.529 -11.314 5.436 .00 10.10 BPTI ATOM 619 HH21 ARG 39 -15.666 -12.253 5.872 .00 .00 BPTI ATOM 620 HH22 ARG 39 -16.089 -10.547 5.747 .00 .00 BPTI ATOM 621 C ARG 39 -9.191 -6.401 3.702 .00 12.54 BPTI ATOM 622 O ARG 39 -8.519 -6.958 2.847 .00 12.66 BPTI ATOM 623 N ALA 40 -8.572 -5.410 4.362 .00 11.43 BPTI ATOM 624 HN ALA 40 -9.049 -4.935 5.111 .00 .00 BPTI ATOM 625 CA ALA 40 -7.252 -4.964 3.890 .00 15.30 BPTI ATOM 626 HA ALA 40 -7.306 -4.919 2.794 .00 .00 BPTI ATOM 627 CB ALA 40 -6.914 -3.550 4.230 .00 12.75 BPTI ATOM 628 HB1 ALA 40 -5.957 -3.193 3.807 .00 .00 BPTI ATOM 629 HB2 ALA 40 -6.886 -3.374 5.310 .00 .00 BPTI ATOM 630 HB3 ALA 40 -7.705 -2.890 3.781 .00 .00 BPTI ATOM 631 C ALA 40 -6.205 -5.909 4.362 .00 19.47 BPTI ATOM 632 O ALA 40 -6.455 -6.772 5.230 .00 15.43 BPTI ATOM 633 N LYS 41 -4.996 -5.773 3.739 .00 12.08 BPTI ATOM 634 HN LYS 41 -5.026 -5.323 2.828 .00 .00 BPTI ATOM 635 CA LYS 41 -3.848 -6.586 4.063 .00 12.46 BPTI ATOM 636 HA LYS 41 -4.015 -7.361 4.797 .00 .00 BPTI ATOM 637 CB LYS 41 -3.336 -7.347 2.812 .00 13.75 BPTI ATOM 638 HB1 LYS 41 -2.278 -7.806 2.918 .00 .00 BPTI ATOM 639 HB2 LYS 41 -3.177 -6.559 1.970 .00 .00 BPTI ATOM 640 CG LYS 41 -4.166 -8.605 2.556 .00 14.28 BPTI ATOM 641 HG1 LYS 41 -5.232 -8.369 2.611 .00 .00 BPTI ATOM 642 HG2 LYS 41 -3.795 -9.286 3.326 .00 .00 BPTI ATOM 643 CD LYS 41 -3.731 -9.290 1.246 .00 23.16 BPTI ATOM 644 HD1 LYS 41 -2.677 -9.606 1.376 .00 .00 BPTI ATOM 645 HD2 LYS 41 -3.837 -8.631 .340 .00 .00 BPTI ATOM 646 CE LYS 41 -4.563 -10.483 .787 .00 32.66 BPTI ATOM 647 HE1 LYS 41 -5.668 -10.197 .617 .00 .00 BPTI ATOM 648 HE2 LYS 41 -4.357 -11.243 1.560 .00 .00 BPTI ATOM 649 NZ LYS 41 -4.039 -11.022 -.486 .00 38.35 BPTI ATOM 650 HZ1 LYS 41 -3.134 -11.464 -.374 .00 .00 BPTI ATOM 651 HZ2 LYS 41 -3.866 -10.274 -1.138 .00 .00 BPTI ATOM 652 HZ3 LYS 41 -4.758 -11.714 -.833 .00 .00 BPTI ATOM 653 C LYS 41 -2.736 -5.722 4.684 .00 16.50 BPTI ATOM 654 O LYS 41 -2.945 -4.590 5.178 .00 12.64 BPTI ATOM 655 N ARG 42 -1.410 -6.167 4.847 .00 8.39 BPTI ATOM 656 HN ARG 42 -1.105 -7.139 4.608 .00 .00 BPTI ATOM 657 CA ARG 42 -.444 -5.251 5.423 .00 7.00 BPTI ATOM 658 HA ARG 42 -.936 -4.685 6.149 .00 .00 BPTI ATOM 659 CB ARG 42 .819 -5.927 6.026 .00 13.40 BPTI ATOM 660 HB1 ARG 42 1.568 -5.114 6.223 .00 .00 BPTI ATOM 661 HB2 ARG 42 1.184 -6.655 5.325 .00 .00 BPTI ATOM 662 CG ARG 42 .322 -6.722 7.301 .00 21.62 BPTI ATOM 663 HG1 ARG 42 -.397 -7.481 6.965 .00 .00 BPTI ATOM 664 HG2 ARG 42 -.349 -6.064 7.945 .00 .00 BPTI ATOM 665 CD ARG 42 1.532 -7.284 8.106 .00 17.50 BPTI ATOM 666 HD1 ARG 42 2.312 -7.712 7.470 .00 .00 BPTI ATOM 667 HD2 ARG 42 1.281 -8.010 8.914 .00 .00 BPTI ATOM 668 NE ARG 42 2.249 -6.152 8.654 .00 26.56 BPTI ATOM 669 HE ARG 42 1.993 -5.231 8.446 .00 .00 BPTI ATOM 670 CZ ARG 42 3.546 -6.280 8.962 .00 28.07 BPTI ATOM 671 NH1 ARG 42 4.121 -7.393 9.268 .00 22.57 BPTI ATOM 672 HH11 ARG 42 3.604 -8.293 9.217 .00 .00 BPTI ATOM 673 HH12 ARG 42 4.949 -7.255 9.796 .00 .00 BPTI ATOM 674 NH2 ARG 42 4.347 -5.224 9.022 .00 27.89 BPTI ATOM 675 HH21 ARG 42 5.241 -5.435 9.479 .00 .00 BPTI ATOM 676 HH22 ARG 42 3.958 -4.303 9.195 .00 .00 BPTI ATOM 677 C ARG 42 .096 -4.273 4.445 .00 5.22 BPTI ATOM 678 O ARG 42 .681 -3.294 4.916 .00 12.09 BPTI ATOM 679 N ASN 43 -.055 -4.416 3.116 .00 6.57 BPTI ATOM 680 HN ASN 43 -.591 -5.176 2.777 .00 .00 BPTI ATOM 681 CA ASN 43 .618 -3.574 2.148 .00 6.83 BPTI ATOM 682 HA ASN 43 1.623 -3.431 2.498 .00 .00 BPTI ATOM 683 CB ASN 43 .671 -4.348 .816 .00 9.70 BPTI ATOM 684 HB1 ASN 43 -.320 -4.282 .337 .00 .00 BPTI ATOM 685 HB2 ASN 43 .869 -5.406 .902 .00 .00 BPTI ATOM 686 CG ASN 43 1.720 -3.859 -.236 .00 7.77 BPTI ATOM 687 OD1 ASN 43 2.260 -2.752 -.099 .00 8.17 BPTI ATOM 688 ND2 ASN 43 2.006 -4.643 -1.258 .00 10.41 BPTI ATOM 689 HD21 ASN 43 1.387 -5.401 -1.522 .00 .00 BPTI ATOM 690 HD22 ASN 43 2.734 -4.346 -1.870 .00 .00 BPTI ATOM 691 C ASN 43 -.056 -2.164 1.922 .00 8.89 BPTI ATOM 692 O ASN 43 -.614 -1.898 .911 .00 9.74 BPTI ATOM 693 N ASN 44 -.046 -1.298 2.925 .00 9.34 BPTI ATOM 694 HN ASN 44 .519 -1.505 3.708 .00 .00 BPTI ATOM 695 CA ASN 44 -1.069 -.332 2.999 .00 10.77 BPTI ATOM 696 HA ASN 44 -.846 .335 2.223 .00 .00 BPTI ATOM 697 CB ASN 44 -2.537 -.902 3.127 .00 14.67 BPTI ATOM 698 HB1 ASN 44 -2.575 -1.600 4.048 .00 .00 BPTI ATOM 699 HB2 ASN 44 -2.804 -1.605 2.338 .00 .00 BPTI ATOM 700 CG ASN 44 -3.736 .075 3.350 .00 7.36 BPTI ATOM 701 OD1 ASN 44 -4.180 .757 2.423 .00 12.52 BPTI ATOM 702 ND2 ASN 44 -3.996 .165 4.684 .00 8.42 BPTI ATOM 703 HD21 ASN 44 -3.579 -.539 5.303 .00 .00 BPTI ATOM 704 HD22 ASN 44 -4.606 .953 4.976 .00 .00 BPTI ATOM 705 C ASN 44 -.872 .388 4.315 .00 10.38 BPTI ATOM 706 O ASN 44 -.877 -.209 5.373 .00 12.54 BPTI ATOM 707 N PHE 45 -.629 1.678 4.320 .00 8.13 BPTI ATOM 708 HN PHE 45 -.628 2.264 3.504 .00 .00 BPTI ATOM 709 CA PHE 45 -.735 2.538 5.607 .00 5.68 BPTI ATOM 710 HA PHE 45 -1.160 1.945 6.347 .00 .00 BPTI ATOM 711 CB PHE 45 .661 3.046 5.900 .00 4.32 BPTI ATOM 712 HB1 PHE 45 .630 3.740 6.732 .00 .00 BPTI ATOM 713 HB2 PHE 45 1.158 3.537 5.036 .00 .00 BPTI ATOM 714 CG PHE 45 1.556 1.905 6.358 .00 10.01 BPTI ATOM 715 CD1 PHE 45 2.671 1.480 5.584 .00 13.01 BPTI ATOM 716 HD1 PHE 45 2.953 1.874 4.653 .00 .00 BPTI ATOM 717 CD2 PHE 45 1.092 1.121 7.447 .00 13.79 BPTI ATOM 718 HD2 PHE 45 .164 1.323 7.991 .00 .00 BPTI ATOM 719 CE1 PHE 45 3.337 .298 5.979 .00 7.14 BPTI ATOM 720 HE1 PHE 45 4.265 .071 5.451 .00 .00 BPTI ATOM 721 CE2 PHE 45 1.840 .015 7.861 .00 12.51 BPTI ATOM 722 HE2 PHE 45 1.387 -.622 8.595 .00 .00 BPTI ATOM 723 CZ PHE 45 2.976 -.408 7.133 .00 8.01 BPTI ATOM 724 HZ PHE 45 3.534 -1.326 7.388 .00 .00 BPTI ATOM 725 C PHE 45 -1.716 3.656 5.329 .00 9.90 BPTI ATOM 726 O PHE 45 -2.878 3.296 5.089 .00 7.88 BPTI ATOM 727 N LYS 46 -1.314 4.945 5.205 .00 7.95 BPTI ATOM 728 HN LYS 46 -.378 5.227 5.334 .00 .00 BPTI ATOM 729 CA LYS 46 -2.340 5.942 5.046 .00 8.58 BPTI ATOM 730 HA LYS 46 -3.290 5.537 4.678 .00 .00 BPTI ATOM 731 CB LYS 46 -2.546 6.704 6.395 .00 15.28 BPTI ATOM 732 HB1 LYS 46 -2.932 7.711 6.129 .00 .00 BPTI ATOM 733 HB2 LYS 46 -1.604 6.629 6.943 .00 .00 BPTI ATOM 734 CG LYS 46 -3.787 6.173 7.159 .00 22.12 BPTI ATOM 735 HG1 LYS 46 -3.637 5.125 7.526 .00 .00 BPTI ATOM 736 HG2 LYS 46 -4.657 5.901 6.468 .00 .00 BPTI ATOM 737 CD LYS 46 -4.232 7.145 8.253 .00 31.50 BPTI ATOM 738 HD1 LYS 46 -4.809 8.053 8.067 .00 .00 BPTI ATOM 739 HD2 LYS 46 -3.320 7.483 8.863 .00 .00 BPTI ATOM 740 CE LYS 46 -5.065 6.286 9.264 .00 38.89 BPTI ATOM 741 HE1 LYS 46 -4.530 5.357 9.512 .00 .00 BPTI ATOM 742 HE2 LYS 46 -6.111 5.935 8.851 .00 .00 BPTI ATOM 743 NZ LYS 46 -5.248 7.078 10.456 .00 .00 BPTI ATOM 744 HZ1 LYS 46 -5.760 7.910 10.190 .00 .00 BPTI ATOM 745 HZ2 LYS 46 -4.344 7.212 11.012 .00 .00 BPTI ATOM 746 HZ3 LYS 46 -5.892 6.651 11.157 .00 .00 BPTI ATOM 747 C LYS 46 -1.827 6.892 3.881 .00 14.75 BPTI ATOM 748 O LYS 46 -2.476 7.007 2.848 .00 19.19 BPTI ATOM 749 N SER 47 -.694 7.628 4.049 .00 6.99 BPTI ATOM 750 HN SER 47 -.107 7.411 4.858 .00 .00 BPTI ATOM 751 CA SER 47 -.083 8.485 3.034 .00 7.49 BPTI ATOM 752 HA SER 47 -.882 8.966 2.468 .00 .00 BPTI ATOM 753 CB SER 47 .491 9.742 3.705 .00 8.28 BPTI ATOM 754 HB1 SER 47 -.313 10.129 4.473 .00 .00 BPTI ATOM 755 HB2 SER 47 .687 10.523 2.983 .00 .00 BPTI ATOM 756 OG SER 47 1.729 9.402 4.368 .00 14.67 BPTI ATOM 757 HG1 SER 47 2.104 10.264 4.529 .00 .00 BPTI ATOM 758 C SER 47 .864 7.898 2.102 .00 9.19 BPTI ATOM 759 O SER 47 .744 6.701 1.859 .00 7.82 BPTI ATOM 760 N ALA 48 1.871 8.599 1.576 .00 7.00 BPTI ATOM 761 HN ALA 48 2.090 9.503 1.888 .00 .00 BPTI ATOM 762 CA ALA 48 2.946 8.005 .859 .00 6.49 BPTI ATOM 763 HA ALA 48 2.653 7.070 .329 .00 .00 BPTI ATOM 764 CB ALA 48 3.368 8.871 -.329 .00 4.66 BPTI ATOM 765 HB1 ALA 48 3.530 9.946 -.075 .00 .00 BPTI ATOM 766 HB2 ALA 48 2.577 8.832 -1.083 .00 .00 BPTI ATOM 767 HB3 ALA 48 4.330 8.374 -.783 .00 .00 BPTI ATOM 768 C ALA 48 4.246 7.814 1.641 .00 10.01 BPTI ATOM 769 O ALA 48 5.121 7.040 1.337 .00 10.20 BPTI ATOM 770 N GLU 49 4.283 8.525 2.721 .00 7.01 BPTI ATOM 771 HN GLU 49 3.498 9.089 3.056 .00 .00 BPTI ATOM 772 CA GLU 49 5.431 8.489 3.645 .00 6.16 BPTI ATOM 773 HA GLU 49 6.291 8.801 3.063 .00 .00 BPTI ATOM 774 CB GLU 49 5.293 9.582 4.741 .00 7.14 BPTI ATOM 775 HB1 GLU 49 6.193 9.316 5.427 .00 .00 BPTI ATOM 776 HB2 GLU 49 4.359 9.409 5.333 .00 .00 BPTI ATOM 777 CG GLU 49 5.465 11.089 4.326 .00 5.98 BPTI ATOM 778 HG1 GLU 49 6.315 11.277 3.656 .00 .00 BPTI ATOM 779 HG2 GLU 49 5.611 11.644 5.235 .00 .00 BPTI ATOM 780 CD GLU 49 4.105 11.541 3.857 .00 11.21 BPTI ATOM 781 OE1 GLU 49 3.907 11.914 2.652 .00 11.30 BPTI ATOM 782 OE2 GLU 49 3.164 11.571 4.719 .00 10.01 BPTI ATOM 783 C GLU 49 5.919 7.147 4.175 .00 12.66 BPTI ATOM 784 O GLU 49 7.105 6.827 4.067 .00 9.69 BPTI ATOM 785 N ASP 50 5.043 6.438 4.840 .00 11.55 BPTI ATOM 786 HN ASP 50 4.152 6.901 4.963 .00 .00 BPTI ATOM 787 CA ASP 50 5.339 5.214 5.544 .00 10.77 BPTI ATOM 788 HA ASP 50 6.239 5.319 6.146 .00 .00 BPTI ATOM 789 CB ASP 50 4.159 4.830 6.534 .00 12.07 BPTI ATOM 790 HB1 ASP 50 4.326 3.827 6.910 .00 .00 BPTI ATOM 791 HB2 ASP 50 3.226 4.705 5.965 .00 .00 BPTI ATOM 792 CG ASP 50 4.046 5.912 7.610 .00 31.36 BPTI ATOM 793 OD1 ASP 50 5.031 5.974 8.379 .00 29.45 BPTI ATOM 794 OD2 ASP 50 3.054 6.719 7.703 .00 40.90 BPTI ATOM 795 C ASP 50 5.641 4.044 4.670 .00 11.13 BPTI ATOM 796 O ASP 50 6.520 3.286 4.969 .00 14.83 BPTI ATOM 797 N CYS 51 4.989 3.963 3.523 .00 9.98 BPTI ATOM 798 HN CYS 51 4.176 4.556 3.434 .00 .00 BPTI ATOM 799 CA CYS 51 5.378 3.214 2.312 .00 12.87 BPTI ATOM 800 HA CYS 51 5.152 2.199 2.546 .00 .00 BPTI ATOM 801 CB CYS 51 4.484 3.533 1.078 .00 9.24 BPTI ATOM 802 HB1 CYS 51 4.628 4.589 .822 .00 .00 BPTI ATOM 803 HB2 CYS 51 3.397 3.436 1.347 .00 .00 BPTI ATOM 804 SG CYS 51 4.896 2.536 -.392 .00 8.50 BPTI ATOM 805 HG1 CYS 51 3.931 3.004 -1.185 .00 .00 BPTI ATOM 806 C CYS 51 6.875 3.228 1.960 .00 13.35 BPTI ATOM 807 O CYS 51 7.525 2.159 1.867 .00 8.69 BPTI ATOM 808 N MET 52 7.417 4.431 1.709 .00 4.57 BPTI ATOM 809 HN MET 52 6.883 5.260 1.718 .00 .00 BPTI ATOM 810 CA MET 52 8.856 4.714 1.456 .00 8.29 BPTI ATOM 811 HA MET 52 9.225 3.946 .839 .00 .00 BPTI ATOM 812 CB MET 52 9.089 6.073 .853 .00 9.41 BPTI ATOM 813 HB1 MET 52 10.162 6.290 .849 .00 .00 BPTI ATOM 814 HB2 MET 52 8.561 6.782 1.477 .00 .00 BPTI ATOM 815 CG MET 52 8.451 6.310 -.579 .00 9.44 BPTI ATOM 816 HG1 MET 52 8.407 7.433 -.735 .00 .00 BPTI ATOM 817 HG2 MET 52 7.322 6.087 -.587 .00 .00 BPTI ATOM 818 SD MET 52 9.242 5.456 -2.048 .00 11.63 BPTI ATOM 819 CE MET 52 10.782 4.677 -1.414 .00 9.61 BPTI ATOM 820 HE1 MET 52 10.662 3.943 -.605 .00 .00 BPTI ATOM 821 HE2 MET 52 11.385 5.467 -1.007 .00 .00 BPTI ATOM 822 HE3 MET 52 11.348 4.301 -2.294 .00 .00 BPTI ATOM 823 C MET 52 9.758 4.594 2.649 .00 12.61 BPTI ATOM 824 O MET 52 10.914 4.404 2.383 .00 11.74 BPTI ATOM 825 N ARG 53 9.188 4.637 3.891 .00 10.38 BPTI ATOM 826 HN ARG 53 8.239 4.855 3.998 .00 .00 BPTI ATOM 827 CA ARG 53 9.899 4.330 5.131 .00 11.60 BPTI ATOM 828 HA ARG 53 10.796 4.870 5.048 .00 .00 BPTI ATOM 829 CB ARG 53 9.086 4.796 6.386 .00 12.91 BPTI ATOM 830 HB1 ARG 53 8.149 4.245 6.480 .00 .00 BPTI ATOM 831 HB2 ARG 53 8.839 5.847 6.387 .00 .00 BPTI ATOM 832 CG ARG 53 9.769 4.587 7.758 .00 29.13 BPTI ATOM 833 HG1 ARG 53 10.453 5.424 7.869 .00 .00 BPTI ATOM 834 HG2 ARG 53 10.363 3.601 7.739 .00 .00 BPTI ATOM 835 CD ARG 53 8.950 4.384 9.014 .00 33.78 BPTI ATOM 836 HD1 ARG 53 9.570 4.280 9.951 .00 .00 BPTI ATOM 837 HD2 ARG 53 8.361 3.437 8.921 .00 .00 BPTI ATOM 838 NE ARG 53 7.866 5.411 9.186 .00 23.43 BPTI ATOM 839 HE ARG 53 6.869 5.219 9.116 .00 .00 BPTI ATOM 840 CZ ARG 53 8.066 6.704 9.112 .00 18.89 BPTI ATOM 841 NH1 ARG 53 9.261 7.283 9.282 .00 27.14 BPTI ATOM 842 HH11 ARG 53 9.897 6.851 9.953 .00 .00 BPTI ATOM 843 HH12 ARG 53 9.283 8.274 9.346 .00 .00 BPTI ATOM 844 NH2 ARG 53 7.049 7.539 8.811 .00 29.31 BPTI ATOM 845 HH21 ARG 53 7.268 8.477 8.618 .00 .00 BPTI ATOM 846 HH22 ARG 53 6.164 7.089 8.574 .00 .00 BPTI ATOM 847 C ARG 53 10.214 2.835 5.165 .00 23.55 BPTI ATOM 848 O ARG 53 11.319 2.327 5.064 .00 19.87 BPTI ATOM 849 N THR 54 9.081 2.083 5.076 .00 12.23 BPTI ATOM 850 HN THR 54 8.192 2.553 4.989 .00 .00 BPTI ATOM 851 CA THR 54 9.012 .666 4.934 .00 9.55 BPTI ATOM 852 HA THR 54 9.396 .340 5.823 .00 .00 BPTI ATOM 853 CB THR 54 7.597 .171 4.908 .00 11.77 BPTI ATOM 854 HB THR 54 7.107 .445 3.963 .00 .00 BPTI ATOM 855 OG1 THR 54 6.819 .660 5.997 .00 14.15 BPTI ATOM 856 HG1 THR 54 6.437 1.534 5.662 .00 .00 BPTI ATOM 857 CG2 THR 54 7.671 -1.371 5.125 .00 12.27 BPTI ATOM 858 HG21 THR 54 8.358 -1.769 5.890 .00 .00 BPTI ATOM 859 HG22 THR 54 8.074 -1.723 4.179 .00 .00 BPTI ATOM 860 HG23 THR 54 6.654 -1.812 5.177 .00 .00 BPTI ATOM 861 C THR 54 9.873 -.032 3.917 .00 8.91 BPTI ATOM 862 O THR 54 10.730 -.889 4.270 .00 14.28 BPTI ATOM 863 N CYS 55 9.696 .279 2.678 .00 8.18 BPTI ATOM 864 HN CYS 55 8.884 .872 2.453 .00 .00 BPTI ATOM 865 CA CYS 55 10.433 -.244 1.557 .00 10.08 BPTI ATOM 866 HA CYS 55 10.955 -1.160 1.889 .00 .00 BPTI ATOM 867 CB CYS 55 9.354 -.564 .485 .00 9.68 BPTI ATOM 868 HB1 CYS 55 9.891 -1.012 -.359 .00 .00 BPTI ATOM 869 HB2 CYS 55 8.990 .406 .013 .00 .00 BPTI ATOM 870 SG CYS 55 8.124 -1.802 .855 .00 13.27 BPTI ATOM 871 HG1 CYS 55 7.419 -1.678 -.271 .00 .00 BPTI ATOM 872 C CYS 55 11.535 .683 .901 .00 9.94 BPTI ATOM 873 O CYS 55 11.784 .564 -.314 .00 14.51 BPTI ATOM 874 N GLY 56 12.194 1.556 1.630 .00 10.21 BPTI ATOM 875 HN GLY 56 12.076 1.828 2.557 .00 .00 BPTI ATOM 876 CA GLY 56 13.280 2.349 1.065 .00 16.38 BPTI ATOM 877 HA1 GLY 56 13.477 3.148 1.784 .00 .00 BPTI ATOM 878 HA2 GLY 56 12.918 2.793 .184 .00 .00 BPTI ATOM 879 C GLY 56 14.578 1.694 .714 .00 25.90 BPTI ATOM 880 O GLY 56 14.704 1.072 -.329 .00 30.75 BPTI ATOM 881 N GLY 57 15.652 1.965 1.535 .00 26.24 BPTI ATOM 882 HN GLY 57 15.698 2.443 2.469 .00 .00 BPTI ATOM 883 CA GLY 57 16.951 1.372 1.320 .00 28.53 BPTI ATOM 884 HA1 GLY 57 17.354 1.664 .350 .00 .00 BPTI ATOM 885 HA2 GLY 57 16.898 .284 1.483 .00 .00 BPTI ATOM 886 C GLY 57 17.943 1.844 2.283 .00 40.53 BPTI ATOM 887 O GLY 57 17.631 2.718 3.116 .00 37.75 BPTI ATOM 888 N ALA 58 19.234 1.397 2.142 .00 46.21 BPTI ATOM 889 HN ALA 58 19.349 .564 1.577 .00 .00 BPTI ATOM 890 CA ALA 58 20.293 1.961 2.915 .00 45.05 BPTI ATOM 891 HA ALA 58 19.986 2.294 3.882 .00 .00 BPTI ATOM 892 CB ALA 58 21.248 .737 3.134 .00 50.07 BPTI ATOM 893 HB1 ALA 58 21.407 .138 2.260 .00 .00 BPTI ATOM 894 HB2 ALA 58 20.773 .036 3.845 .00 .00 BPTI ATOM 895 HB3 ALA 58 22.184 .954 3.512 .00 .00 BPTI ATOM 896 C ALA 58 21.130 3.052 2.256 .00 46.90 BPTI ATOM 897 OT1 ALA 58 21.132 4.169 2.854 .00 39.78 BPTI ATOM 898 OT2 ALA 58 21.778 2.733 1.207 .00 43.54 BPTI ATOM 899 OH2 TIP3 1 9.469 8.308 4.766 .00 16.73 BULK ATOM 900 H1 TIP3 1 9.652 8.948 4.038 .00 .00 BULK ATOM 901 H2 TIP3 1 8.816 7.727 4.293 .00 .00 BULK ATOM 902 OH2 TIP3 2 -18.775 -2.089 3.800 .00 25.35 BULK ATOM 903 H1 TIP3 2 -19.100 -2.856 3.322 .00 .00 BULK ATOM 904 H2 TIP3 2 -18.961 -1.382 3.195 .00 .00 BULK ATOM 905 OH2 TIP3 3 13.427 5.445 2.632 .00 30.52 BULK ATOM 906 H1 TIP3 3 12.526 5.074 2.556 .00 .00 BULK ATOM 907 H2 TIP3 3 13.225 6.112 3.340 .00 .00 BULK ATOM 908 OH2 TIP3 4 18.457 -.569 8.431 .00 34.15 BULK ATOM 909 H1 TIP3 4 18.466 -1.095 9.245 .00 .00 BULK ATOM 910 H2 TIP3 4 17.699 -.952 8.002 .00 .00 BULK ATOM 911 OH2 TIP3 5 14.196 -1.829 5.660 .00 35.13 BULK ATOM 912 H1 TIP3 5 14.552 -1.603 6.522 .00 .00 BULK ATOM 913 H2 TIP3 5 14.186 -.882 5.274 .00 .00 BULK ATOM 914 OH2 TIP3 6 -10.282 -8.753 9.439 .00 29.19 BULK ATOM 915 H1 TIP3 6 -10.435 -8.273 8.603 .00 .00 BULK ATOM 916 H2 TIP3 6 -11.234 -8.989 9.498 .00 .00 BULK ATOM 917 OH2 TIP3 7 -4.034 -2.247 6.083 .00 27.91 BULK ATOM 918 H1 TIP3 7 -3.419 -2.283 6.821 .00 .00 BULK ATOM 919 H2 TIP3 7 -3.974 -3.184 5.693 .00 .00 BULK ATOM 920 OH2 TIP3 8 -4.230 .244 11.210 .00 31.88 BULK ATOM 921 H1 TIP3 8 -3.883 .639 12.052 .00 .00 BULK ATOM 922 H2 TIP3 8 -4.961 -.292 11.580 .00 .00 BULK ATOM 923 OH2 TIP3 9 3.206 -2.674 9.549 .00 36.56 BULK ATOM 924 H1 TIP3 9 3.957 -1.992 9.575 .00 .00 BULK ATOM 925 H2 TIP3 9 2.618 -2.401 10.226 .00 .00 BULK ATOM 926 OH2 TIP3 10 2.012 -10.059 6.341 .00 24.91 BULK ATOM 927 H1 TIP3 10 1.338 -10.479 6.877 .00 .00 BULK ATOM 928 H2 TIP3 10 1.487 -9.432 5.835 .00 .00 BULK ATOM 929 OH2 TIP3 11 -.739 -8.162 -.405 .00 15.93 BULK ATOM 930 H1 TIP3 11 -.474 -9.020 -.734 .00 .00 BULK ATOM 931 H2 TIP3 11 -.628 -7.681 -1.218 .00 .00 BULK ATOM 932 OH2 TIP3 12 -2.788 -2.983 -.624 .00 9.57 BULK ATOM 933 H1 TIP3 12 -2.047 -2.479 -.200 .00 .00 BULK ATOM 934 H2 TIP3 12 -3.069 -2.236 -1.215 .00 .00 BULK ATOM 935 OH2 TIP3 13 -4.452 -3.489 1.577 .00 11.81 BULK ATOM 936 H1 TIP3 13 -3.723 -3.584 .924 .00 .00 BULK ATOM 937 H2 TIP3 13 -5.199 -3.265 .927 .00 .00 BULK ATOM 938 OH2 TIP3 14 4.764 4.594 10.491 .00 35.93 BULK ATOM 939 H1 TIP3 14 4.961 4.956 9.577 .00 .00 BULK ATOM 940 H2 TIP3 14 4.863 3.589 10.394 .00 .00 BULK ATOM 941 OH2 TIP3 15 3.762 11.404 7.302 .00 27.52 BULK ATOM 942 H1 TIP3 15 4.345 12.242 7.397 .00 .00 BULK ATOM 943 H2 TIP3 15 3.607 11.365 6.362 .00 .00 BULK ATOM 944 OH2 TIP3 16 -.646 3.090 -9.503 .00 27.11 BULK ATOM 945 H1 TIP3 16 -1.246 2.998 -10.214 .00 .00 BULK ATOM 946 H2 TIP3 16 -1.101 2.731 -8.708 .00 .00 BULK ATOM 947 OH2 TIP3 17 -5.828 -.474 -8.132 .00 28.39 BULK ATOM 948 H1 TIP3 17 -5.312 .188 -8.587 .00 .00 BULK ATOM 949 H2 TIP3 17 -5.214 -1.197 -8.161 .00 .00 BULK ATOM 950 OH2 TIP3 18 14.617 -5.536 -1.448 .00 26.14 BULK ATOM 951 H1 TIP3 18 14.772 -6.155 -.675 .00 .00 BULK ATOM 952 H2 TIP3 18 14.504 -6.223 -2.179 .00 .00 BULK ATOM 953 OH2 TIP3 19 13.906 -7.483 -2.907 .00 14.38 BULK ATOM 954 H1 TIP3 19 14.161 -7.485 -3.845 .00 .00 BULK ATOM 955 H2 TIP3 19 14.254 -8.370 -2.683 .00 .00 BULK ATOM 956 OH2 TIP3 20 15.327 -5.345 -7.105 .00 27.26 BULK ATOM 957 H1 TIP3 20 15.024 -4.597 -7.643 .00 .00 BULK ATOM 958 H2 TIP3 20 15.157 -6.103 -7.706 .00 .00 BULK ATOM 959 OH2 TIP3 21 -13.006 1.941 -4.073 .00 30.06 BULK ATOM 960 H1 TIP3 21 -12.189 1.882 -3.526 .00 .00 BULK ATOM 961 H2 TIP3 21 -13.061 .986 -4.318 .00 .00 BULK ATOM 962 OH2 TIP3 22 -12.638 -3.350 .177 .00 10.13 BULK ATOM 963 H1 TIP3 22 -12.200 -3.471 -.682 .00 .00 BULK ATOM 964 H2 TIP3 22 -12.222 -3.943 .827 .00 .00 BULK ATOM 965 OH2 TIP3 23 3.670 -13.230 4.637 .00 34.77 BULK ATOM 966 H1 TIP3 23 3.056 -12.603 4.216 .00 .00 BULK ATOM 967 H2 TIP3 23 4.364 -13.275 4.012 .00 .00 BULK ATOM 968 OH2 TIP3 24 -17.150 3.285 -10.826 .00 37.07 BULK ATOM 969 H1 TIP3 24 -17.087 2.304 -10.861 .00 .00 BULK ATOM 970 H2 TIP3 24 -17.379 3.437 -11.779 .00 .00 BULK ATOM 971 OH2 TIP3 25 -14.067 8.594 1.475 .00 25.81 BULK ATOM 972 H1 TIP3 25 -14.338 8.209 2.317 .00 .00 BULK ATOM 973 H2 TIP3 25 -14.528 8.011 .924 .00 .00 BULK ATOM 974 OH2 TIP3 26 17.214 2.220 -2.408 .00 29.06 BULK ATOM 975 H1 TIP3 26 18.117 2.628 -2.400 .00 .00 BULK ATOM 976 H2 TIP3 26 16.848 3.120 -2.376 .00 .00 BULK ATOM 977 OH2 TIP3 27 -8.426 7.197 5.418 .00 32.81 BULK ATOM 978 H1 TIP3 27 -9.406 7.198 5.730 .00 .00 BULK ATOM 979 H2 TIP3 27 -8.530 7.732 4.641 .00 .00 BULK ATOM 980 OH2 TIP3 28 7.331 10.348 7.912 .00 41.27 BULK ATOM 981 H1 TIP3 28 7.459 10.999 8.588 .00 .00 BULK ATOM 982 H2 TIP3 28 7.340 10.857 7.155 .00 .00 BULK ATOM 983 OH2 TIP3 29 -10.496 11.495 -1.416 .00 24.00 BULK ATOM 984 H1 TIP3 29 -10.726 10.749 -1.974 .00 .00 BULK ATOM 985 H2 TIP3 29 -9.963 11.965 -2.063 .00 .00 BULK ATOM 986 OH2 TIP3 30 7.931 -9.083 -6.743 .00 36.90 BULK ATOM 987 H1 TIP3 30 8.349 -9.684 -6.116 .00 .00 BULK ATOM 988 H2 TIP3 30 7.473 -9.775 -7.309 .00 .00 BULK ATOM 989 OH2 TIP3 31 9.157 -16.256 -5.876 .00 30.02 BULK ATOM 990 H1 TIP3 31 8.947 -17.171 -6.014 .00 .00 BULK ATOM 991 H2 TIP3 31 8.730 -15.761 -6.643 .00 .00 BULK ATOM 992 OH2 TIP3 32 4.715 8.448 -3.327 .00 30.67 BULK ATOM 993 H1 TIP3 32 5.578 7.959 -3.322 .00 .00 BULK ATOM 994 H2 TIP3 32 4.201 7.706 -3.753 .00 .00 BULK ATOM 995 OH2 TIP3 33 -11.107 -6.802 7.620 .00 19.75 BULK ATOM 996 H1 TIP3 33 -10.862 -5.939 7.237 .00 .00 BULK ATOM 997 H2 TIP3 33 -12.051 -6.515 7.632 .00 .00 BULK ATOM 998 OH2 TIP3 34 -14.053 -1.316 7.515 .00 22.83 BULK ATOM 999 H1 TIP3 34 -13.672 -.832 6.757 .00 .00 BULK ATOM 1000 H2 TIP3 34 -14.856 -1.632 7.082 .00 .00 BULK ATOM 1001 OH2 TIP3 35 7.055 20.356 1.811 .00 29.12 BULK ATOM 1002 H1 TIP3 35 6.953 20.712 .864 .00 .00 BULK ATOM 1003 H2 TIP3 35 6.177 20.384 2.167 .00 .00 BULK ATOM 1004 OH2 TIP3 36 -15.857 -11.543 9.636 .00 23.41 BULK ATOM 1005 H1 TIP3 36 -16.144 -11.595 10.537 .00 .00 BULK ATOM 1006 H2 TIP3 36 -15.694 -10.596 9.559 .00 .00 BULK ATOM 1007 OH2 TIP3 37 -2.354 9.581 9.526 .00 37.92 BULK ATOM 1008 H1 TIP3 37 -2.726 9.394 8.686 .00 .00 BULK ATOM 1009 H2 TIP3 37 -2.021 8.719 9.854 .00 .00 BULK ATOM 1010 OH2 TIP3 38 2.175 5.592 10.146 .00 24.03 BULK ATOM 1011 H1 TIP3 38 3.033 5.064 10.215 .00 .00 BULK ATOM 1012 H2 TIP3 38 2.447 6.019 9.312 .00 .00 BULK ATOM 1013 OH2 TIP3 39 2.224 -3.608 13.576 .00 34.67 BULK ATOM 1014 H1 TIP3 39 1.339 -3.257 13.442 .00 .00 BULK ATOM 1015 H2 TIP3 39 2.230 -4.342 13.000 .00 .00 BULK ATOM 1016 OH2 TIP3 40 -11.597 3.562 12.456 .00 35.64 BULK ATOM 1017 H1 TIP3 40 -11.788 4.409 12.888 .00 .00 BULK ATOM 1018 H2 TIP3 40 -11.874 3.750 11.531 .00 .00 BULK ATOM 1019 OH2 TIP3 41 -8.563 -2.399 8.066 .00 30.28 BULK ATOM 1020 H1 TIP3 41 -7.701 -2.055 7.827 .00 .00 BULK ATOM 1021 H2 TIP3 41 -8.325 -3.221 8.529 .00 .00 BULK ATOM 1022 OH2 TIP3 42 -13.053 -.157 9.752 .00 21.51 BULK ATOM 1023 H1 TIP3 42 -13.338 -.741 9.004 .00 .00 BULK ATOM 1024 H2 TIP3 42 -12.679 -.913 10.345 .00 .00 BULK ATOM 1025 OH2 TIP3 43 3.915 -4.472 -5.677 .00 28.14 BULK ATOM 1026 H1 TIP3 43 3.685 -4.779 -4.769 .00 .00 BULK ATOM 1027 H2 TIP3 43 4.279 -3.564 -5.506 .00 .00 BULK ATOM 1028 OH2 TIP3 44 .692 -.376 -11.591 .00 35.00 BULK ATOM 1029 H1 TIP3 44 1.062 .209 -12.357 .00 .00 BULK ATOM 1030 H2 TIP3 44 .677 -1.312 -12.009 .00 .00 BULK ATOM 1031 OH2 TIP3 45 -20.583 -3.689 -.979 .00 28.59 BULK ATOM 1032 H1 TIP3 45 -20.910 -3.079 -.290 .00 .00 BULK ATOM 1033 H2 TIP3 45 -19.978 -4.301 -.586 .00 .00 BULK ATOM 1034 OH2 TIP3 46 6.045 -12.564 7.821 .00 32.42 BULK ATOM 1035 H1 TIP3 46 5.505 -12.380 7.032 .00 .00 BULK ATOM 1036 H2 TIP3 46 6.122 -11.712 8.281 .00 .00 BULK ATOM 1037 OH2 TIP3 47 1.570 4.315 -11.758 .00 30.09 BULK ATOM 1038 H1 TIP3 47 1.792 3.690 -11.062 .00 .00 BULK ATOM 1039 H2 TIP3 47 2.223 5.000 -11.579 .00 .00 BULK ATOM 1040 OH2 TIP3 48 13.829 2.896 4.671 .00 34.23 BULK ATOM 1041 H1 TIP3 48 13.884 3.767 4.182 .00 .00 BULK ATOM 1042 H2 TIP3 48 12.851 2.830 4.798 .00 .00 BULK ATOM 1043 OH2 TIP3 49 -1.359 -3.313 -8.895 .00 34.72 BULK ATOM 1044 H1 TIP3 49 -1.267 -2.326 -8.726 .00 .00 BULK ATOM 1045 H2 TIP3 49 -.624 -3.594 -9.497 .00 .00 BULK ATOM 1046 OH2 TIP3 50 -.272 5.722 -8.766 .00 33.85 BULK ATOM 1047 H1 TIP3 50 -1.245 5.595 -8.598 .00 .00 BULK ATOM 1048 H2 TIP3 50 -.029 4.830 -8.983 .00 .00 BULK ATOM 1049 OH2 TIP3 51 13.284 -12.526 -1.363 .00 35.15 BULK ATOM 1050 H1 TIP3 51 13.601 -12.589 -.464 .00 .00 BULK ATOM 1051 H2 TIP3 51 12.300 -12.653 -1.197 .00 .00 BULK ATOM 1052 OH2 TIP3 52 .556 -8.050 -9.140 .00 34.51 BULK ATOM 1053 H1 TIP3 52 1.166 -7.289 -9.133 .00 .00 BULK ATOM 1054 H2 TIP3 52 -.219 -7.567 -8.930 .00 .00 BULK ATOM 1055 OH2 TIP3 53 4.172 1.737 10.033 .00 35.03 BULK ATOM 1056 H1 TIP3 53 3.251 1.752 10.450 .00 .00 BULK ATOM 1057 H2 TIP3 53 4.385 .820 10.093 .00 .00 BULK ATOM 1058 OH2 TIP3 54 4.300 9.019 8.827 .00 34.82 BULK ATOM 1059 H1 TIP3 54 3.946 8.169 8.493 .00 .00 BULK ATOM 1060 H2 TIP3 54 4.187 9.724 8.144 .00 .00 BULK ATOM 1061 OH2 TIP3 55 -3.229 -9.411 -2.535 .00 33.62 BULK ATOM 1062 H1 TIP3 55 -3.353 -8.429 -2.633 .00 .00 BULK ATOM 1063 H2 TIP3 55 -3.065 -9.725 -3.437 .00 .00 BULK ATOM 1064 OH2 TIP3 56 -13.132 -.871 -4.136 .00 33.72 BULK ATOM 1065 H1 TIP3 56 -12.542 -1.463 -4.634 .00 .00 BULK ATOM 1066 H2 TIP3 56 -13.338 -1.451 -3.380 .00 .00 BULK ATOM 1067 OH2 TIP3 57 -10.082 -4.357 6.669 .00 32.28 BULK ATOM 1068 H1 TIP3 57 -10.939 -4.145 6.998 .00 .00 BULK ATOM 1069 H2 TIP3 57 -9.730 -3.594 7.072 .00 .00 BULK ATOM 1070 OH2 TIP3 58 -10.288 -8.113 -4.636 .00 38.96 BULK ATOM 1071 H1 TIP3 58 -10.951 -7.871 -5.262 .00 .00 BULK ATOM 1072 H2 TIP3 58 -10.499 -9.074 -4.356 .00 .00 BULK ATOM 1073 OH2 TIP3 59 1.525 8.839 7.103 .00 38.78 BULK ATOM 1074 H1 TIP3 59 1.470 9.005 6.146 .00 .00 BULK ATOM 1075 H2 TIP3 59 1.775 7.938 7.137 .00 .00 BULK ATOM 1076 OH2 TIP3 60 6.641 -11.495 -.379 .00 38.42 BULK ATOM 1077 H1 TIP3 60 5.915 -11.047 .003 .00 .00 BULK ATOM 1078 H2 TIP3 60 7.347 -11.016 .089 .00 .00 BULK ATOM 1079 OH2 TIP3 61 -4.244 11.870 -15.168 .00 .00 BULK ATOM 1080 H1 TIP3 61 -4.268 11.261 -15.885 .00 .00 BULK ATOM 1081 H2 TIP3 61 -4.705 11.414 -14.417 .00 .00 BULK ATOM 1082 OH2 TIP3 62 10.195 14.277 17.137 .00 .00 BULK ATOM 1083 H1 TIP3 62 10.837 13.565 17.141 .00 .00 BULK ATOM 1084 H2 TIP3 62 10.098 14.296 16.198 .00 .00 BULK ATOM 1085 OH2 TIP3 63 -4.068 4.917 -8.793 .00 .00 BULK ATOM 1086 H1 TIP3 63 -4.379 4.057 -8.445 .00 .00 BULK ATOM 1087 H2 TIP3 63 -3.659 4.638 -9.644 .00 .00 BULK ATOM 1088 OH2 TIP3 64 -11.143 14.879 -19.915 .00 .00 BULK ATOM 1089 H1 TIP3 64 -10.704 14.383 -20.642 .00 .00 BULK ATOM 1090 H2 TIP3 64 -10.502 15.590 -19.680 .00 .00 BULK ATOM 1091 OH2 TIP3 65 7.952 21.821 -16.895 .00 .00 BULK ATOM 1092 H1 TIP3 65 8.308 21.110 -16.303 .00 .00 BULK ATOM 1093 H2 TIP3 65 7.462 22.318 -16.205 .00 .00 BULK ATOM 1094 OH2 TIP3 66 -3.328 -4.752 -10.496 .00 .00 BULK ATOM 1095 H1 TIP3 66 -2.944 -4.506 -9.610 .00 .00 BULK ATOM 1096 H2 TIP3 66 -4.256 -4.976 -10.127 .00 .00 BULK ATOM 1097 OH2 TIP3 67 19.651 3.886 -8.816 .00 .00 BULK ATOM 1098 H1 TIP3 67 20.115 3.653 -7.994 .00 .00 BULK ATOM 1099 H2 TIP3 67 19.437 4.825 -8.633 .00 .00 BULK ATOM 1100 OH2 TIP3 68 -15.950 -22.048 21.216 .00 .00 BULK ATOM 1101 H1 TIP3 68 -15.236 -22.636 20.860 .00 .00 BULK ATOM 1102 H2 TIP3 68 -15.567 -21.414 21.775 .00 .00 BULK ATOM 1103 OH2 TIP3 69 .574 17.492 -4.077 .00 .00 BULK ATOM 1104 H1 TIP3 69 .383 17.986 -3.264 .00 .00 BULK ATOM 1105 H2 TIP3 69 1.303 18.029 -4.430 .00 .00 BULK ATOM 1106 OH2 TIP3 70 -27.298 -19.620 .662 .00 .00 BULK ATOM 1107 H1 TIP3 70 -27.704 -18.806 1.026 .00 .00 BULK ATOM 1108 H2 TIP3 70 -26.675 -19.836 1.452 .00 .00 BULK ATOM 1109 OH2 TIP3 71 13.637 18.761 4.157 .00 .00 BULK ATOM 1110 H1 TIP3 71 14.054 19.590 4.413 .00 .00 BULK ATOM 1111 H2 TIP3 71 12.684 18.960 4.212 .00 .00 BULK ATOM 1112 OH2 TIP3 72 30.039 -14.583 -23.109 .00 .00 BULK ATOM 1113 H1 TIP3 72 29.220 -14.344 -22.674 .00 .00 BULK ATOM 1114 H2 TIP3 72 29.883 -14.125 -23.960 .00 .00 BULK ATOM 1115 OH2 TIP3 73 29.417 16.853 -15.402 .00 .00 BULK ATOM 1116 H1 TIP3 73 29.531 15.912 -15.626 .00 .00 BULK ATOM 1117 H2 TIP3 73 28.460 17.008 -15.544 .00 .00 BULK ATOM 1118 OH2 TIP3 74 1.699 15.010 -3.625 .00 .00 BULK ATOM 1119 H1 TIP3 74 1.099 15.759 -3.852 .00 .00 BULK ATOM 1120 H2 TIP3 74 1.789 15.207 -2.661 .00 .00 BULK ATOM 1121 OH2 TIP3 75 6.719 14.995 1.007 .00 .00 BULK ATOM 1122 H1 TIP3 75 6.023 14.365 .741 .00 .00 BULK ATOM 1123 H2 TIP3 75 6.322 15.795 .782 .00 .00 BULK ATOM 1124 OH2 TIP3 76 -27.812 -7.028 -7.681 .00 .00 BULK ATOM 1125 H1 TIP3 76 -27.987 -7.935 -7.393 .00 .00 BULK ATOM 1126 H2 TIP3 76 -27.193 -7.194 -8.366 .00 .00 BULK ATOM 1127 OH2 TIP3 77 26.791 16.881 -3.020 .00 .00 BULK ATOM 1128 H1 TIP3 77 27.191 17.664 -2.617 .00 .00 BULK ATOM 1129 H2 TIP3 77 27.298 16.174 -2.543 .00 .00 BULK ATOM 1130 OH2 TIP3 78 -.245 21.265 1.385 .00 .00 BULK ATOM 1131 H1 TIP3 78 .698 21.305 1.336 .00 .00 BULK ATOM 1132 H2 TIP3 78 -.443 20.312 1.603 .00 .00 BULK ATOM 1133 OH2 TIP3 79 30.107 4.041 5.684 .00 .00 BULK ATOM 1134 H1 TIP3 79 29.307 3.513 5.414 .00 .00 BULK ATOM 1135 H2 TIP3 79 30.440 4.251 4.810 .00 .00 BULK ATOM 1136 OH2 TIP3 80 .624 -10.652 -.649 .00 .00 BULK ATOM 1137 H1 TIP3 80 1.278 -10.249 -.016 .00 .00 BULK ATOM 1138 H2 TIP3 80 1.223 -11.271 -1.181 .00 .00 BULK ATOM 1139 OH2 TIP3 81 -22.568 21.681 11.677 .00 .00 BULK ATOM 1140 H1 TIP3 81 -21.687 21.460 11.829 .00 .00 BULK ATOM 1141 H2 TIP3 81 -22.560 22.505 11.066 .00 .00 BULK ATOM 1142 OH2 TIP3 82 22.423 -16.285 -3.064 .00 .00 BULK ATOM 1143 H1 TIP3 82 22.256 -17.236 -2.871 .00 .00 BULK ATOM 1144 H2 TIP3 82 23.319 -16.138 -2.653 .00 .00 BULK ATOM 1145 OH2 TIP3 83 12.015 23.503 -4.686 .00 .00 BULK ATOM 1146 H1 TIP3 83 12.110 23.431 -3.688 .00 .00 BULK ATOM 1147 H2 TIP3 83 12.538 22.718 -4.918 .00 .00 BULK ATOM 1148 OH2 TIP3 84 -6.898 22.626 21.417 .00 .00 BULK ATOM 1149 H1 TIP3 84 -7.477 22.876 20.683 .00 .00 BULK ATOM 1150 H2 TIP3 84 -6.013 22.913 21.234 .00 .00 BULK ATOM 1151 OH2 TIP3 85 -20.454 20.787 4.563 .00 .00 BULK ATOM 1152 H1 TIP3 85 -20.441 21.744 4.306 .00 .00 BULK ATOM 1153 H2 TIP3 85 -21.387 20.705 4.519 .00 .00 BULK ATOM 1154 OH2 TIP3 86 10.876 9.738 .462 .00 .00 BULK ATOM 1155 H1 TIP3 86 11.622 9.076 .639 .00 .00 BULK ATOM 1156 H2 TIP3 86 11.181 9.883 -.395 .00 .00 BULK ATOM 1157 OH2 TIP3 87 4.569 -11.269 -20.419 .00 .00 BULK ATOM 1158 H1 TIP3 87 5.278 -11.388 -21.103 .00 .00 BULK ATOM 1159 H2 TIP3 87 4.968 -11.789 -19.698 .00 .00 BULK ATOM 1160 OH2 TIP3 88 11.083 -19.752 -6.319 .00 .00 BULK ATOM 1161 H1 TIP3 88 11.077 -19.205 -7.144 .00 .00 BULK ATOM 1162 H2 TIP3 88 10.231 -19.362 -6.000 .00 .00 BULK ATOM 1163 OH2 TIP3 89 10.224 -11.685 16.384 .00 .00 BULK ATOM 1164 H1 TIP3 89 10.445 -10.803 15.985 .00 .00 BULK ATOM 1165 H2 TIP3 89 9.714 -11.995 15.595 .00 .00 BULK ATOM 1166 OH2 TIP3 90 14.924 22.019 -12.153 .00 .00 BULK ATOM 1167 H1 TIP3 90 14.289 22.745 -11.959 .00 .00 BULK ATOM 1168 H2 TIP3 90 14.503 21.158 -11.982 .00 .00 BULK ATOM 1169 OH2 TIP3 91 26.314 -16.090 -7.925 .00 .00 BULK ATOM 1170 H1 TIP3 91 26.696 -15.918 -8.803 .00 .00 BULK ATOM 1171 H2 TIP3 91 25.382 -15.719 -8.064 .00 .00 BULK ATOM 1172 OH2 TIP3 92 -12.880 -14.321 2.739 .00 .00 BULK ATOM 1173 H1 TIP3 92 -13.748 -14.357 3.213 .00 .00 BULK ATOM 1174 H2 TIP3 92 -12.614 -15.216 2.662 .00 .00 BULK ATOM 1175 OH2 TIP3 93 22.184 21.642 -15.146 .00 .00 BULK ATOM 1176 H1 TIP3 93 22.376 22.154 -14.372 .00 .00 BULK ATOM 1177 H2 TIP3 93 21.230 21.691 -15.284 .00 .00 BULK ATOM 1178 OH2 TIP3 94 13.247 10.950 10.161 .00 .00 BULK ATOM 1179 H1 TIP3 94 13.083 11.669 9.546 .00 .00 BULK ATOM 1180 H2 TIP3 94 12.662 11.226 10.942 .00 .00 BULK ATOM 1181 OH2 TIP3 95 11.161 -21.664 -10.739 .00 .00 BULK ATOM 1182 H1 TIP3 95 10.960 -20.810 -10.299 .00 .00 BULK ATOM 1183 H2 TIP3 95 11.311 -22.169 -9.929 .00 .00 BULK ATOM 1184 OH2 TIP3 96 .551 -13.819 6.011 .00 .00 BULK ATOM 1185 H1 TIP3 96 .645 -13.949 5.038 .00 .00 BULK ATOM 1186 H2 TIP3 96 -.408 -13.813 6.089 .00 .00 BULK ATOM 1187 OH2 TIP3 97 .024 13.059 12.794 .00 .00 BULK ATOM 1188 H1 TIP3 97 -.328 13.352 11.976 .00 .00 BULK ATOM 1189 H2 TIP3 97 -.113 12.130 12.646 .00 .00 BULK ATOM 1190 OH2 TIP3 98 16.875 .898 -5.000 .00 .00 BULK ATOM 1191 H1 TIP3 98 17.571 1.628 -4.995 .00 .00 BULK ATOM 1192 H2 TIP3 98 16.421 1.229 -4.221 .00 .00 BULK ATOM 1193 OH2 TIP3 99 13.691 21.500 3.072 .00 .00 BULK ATOM 1194 H1 TIP3 99 14.489 22.127 2.954 .00 .00 BULK ATOM 1195 H2 TIP3 99 13.026 22.013 3.598 .00 .00 BULK ATOM 1196 OH2 TIP3 100 .087 6.975 -22.227 .00 .00 BULK ATOM 1197 H1 TIP3 100 -.734 7.240 -21.826 .00 .00 BULK ATOM 1198 H2 TIP3 100 .277 6.013 -21.918 .00 .00 BULK ATOM 1199 OH2 TIP3 101 -20.253 20.534 -7.266 .00 .00 BULK ATOM 1200 H1 TIP3 101 -21.074 20.526 -6.773 .00 .00 BULK ATOM 1201 H2 TIP3 101 -20.407 21.274 -7.816 .00 .00 BULK ATOM 1202 OH2 TIP3 102 26.683 9.795 -2.809 .00 .00 BULK ATOM 1203 H1 TIP3 102 25.777 9.862 -2.414 .00 .00 BULK ATOM 1204 H2 TIP3 102 26.386 9.972 -3.707 .00 .00 BULK ATOM 1205 OH2 TIP3 103 22.525 -3.310 20.626 .00 .00 BULK ATOM 1206 H1 TIP3 103 22.450 -2.806 21.403 .00 .00 BULK ATOM 1207 H2 TIP3 103 23.229 -3.905 20.853 .00 .00 BULK ATOM 1208 OH2 TIP3 104 3.542 21.233 -13.566 .00 .00 BULK ATOM 1209 H1 TIP3 104 2.724 21.485 -13.173 .00 .00 BULK ATOM 1210 H2 TIP3 104 3.975 22.102 -13.476 .00 .00 BULK ATOM 1211 OH2 TIP3 105 25.105 -15.609 -14.310 .00 .00 BULK ATOM 1212 H1 TIP3 105 25.586 -16.211 -14.915 .00 .00 BULK ATOM 1213 H2 TIP3 105 24.833 -16.153 -13.570 .00 .00 BULK ATOM 1214 OH2 TIP3 106 -16.323 11.892 -7.843 .00 .00 BULK ATOM 1215 H1 TIP3 106 -15.607 11.363 -8.187 .00 .00 BULK ATOM 1216 H2 TIP3 106 -15.863 12.730 -7.668 .00 .00 BULK ATOM 1217 OH2 TIP3 107 22.368 11.165 -.878 .00 .00 BULK ATOM 1218 H1 TIP3 107 22.059 10.247 -.994 .00 .00 BULK ATOM 1219 H2 TIP3 107 21.545 11.645 -.928 .00 .00 BULK ATOM 1220 OH2 TIP3 108 21.961 2.130 -10.489 .00 .00 BULK ATOM 1221 H1 TIP3 108 22.545 2.945 -10.353 .00 .00 BULK ATOM 1222 H2 TIP3 108 22.389 1.422 -9.904 .00 .00 BULK ATOM 1223 OH2 TIP3 109 2.307 12.620 -12.145 .00 .00 BULK ATOM 1224 H1 TIP3 109 2.507 13.065 -13.039 .00 .00 BULK ATOM 1225 H2 TIP3 109 1.344 12.714 -12.061 .00 .00 BULK ATOM 1226 OH2 TIP3 110 17.348 -9.256 1.587 .00 .00 BULK ATOM 1227 H1 TIP3 110 16.398 -9.297 1.802 .00 .00 BULK ATOM 1228 H2 TIP3 110 17.254 -9.270 .631 .00 .00 BULK ATOM 1229 OH2 TIP3 111 -29.892 22.946 -3.807 .00 .00 BULK ATOM 1230 H1 TIP3 111 -30.455 22.154 -3.944 .00 .00 BULK ATOM 1231 H2 TIP3 111 -29.011 22.616 -3.550 .00 .00 BULK ATOM 1232 OH2 TIP3 112 26.429 -18.649 -6.924 .00 .00 BULK ATOM 1233 H1 TIP3 112 26.382 -17.689 -7.223 .00 .00 BULK ATOM 1234 H2 TIP3 112 25.546 -18.934 -7.169 .00 .00 BULK ATOM 1235 OH2 TIP3 113 24.432 -17.081 -11.678 .00 .00 BULK ATOM 1236 H1 TIP3 113 24.746 -17.964 -11.398 .00 .00 BULK ATOM 1237 H2 TIP3 113 25.088 -16.458 -11.189 .00 .00 BULK ATOM 1238 OH2 TIP3 114 -26.259 21.464 20.588 .00 .00 BULK ATOM 1239 H1 TIP3 114 -25.566 21.014 20.003 .00 .00 BULK ATOM 1240 H2 TIP3 114 -27.055 21.520 20.061 .00 .00 BULK ATOM 1241 OH2 TIP3 115 20.935 23.209 14.358 .00 .00 BULK ATOM 1242 H1 TIP3 115 20.256 23.850 13.968 .00 .00 BULK ATOM 1243 H2 TIP3 115 20.479 22.386 14.134 .00 .00 BULK ATOM 1244 OH2 TIP3 116 10.278 -16.339 18.445 .00 .00 BULK ATOM 1245 H1 TIP3 116 10.926 -15.985 19.061 .00 .00 BULK ATOM 1246 H2 TIP3 116 10.349 -17.240 18.616 .00 .00 BULK ATOM 1247 OH2 TIP3 117 5.375 2.120 18.144 .00 .00 BULK ATOM 1248 H1 TIP3 117 5.868 2.544 17.396 .00 .00 BULK ATOM 1249 H2 TIP3 117 5.549 1.160 18.027 .00 .00 BULK ATOM 1250 OH2 TIP3 118 22.321 -9.488 .191 .00 .00 BULK ATOM 1251 H1 TIP3 118 22.907 -9.786 -.482 .00 .00 BULK ATOM 1252 H2 TIP3 118 22.488 -8.568 .109 .00 .00 BULK ATOM 1253 OH2 TIP3 119 23.708 -18.135 .810 .00 .00 BULK ATOM 1254 H1 TIP3 119 24.417 -18.047 1.448 .00 .00 BULK ATOM 1255 H2 TIP3 119 23.435 -19.016 1.098 .00 .00 BULK ATOM 1256 OH2 TIP3 120 11.617 -19.497 -21.283 .00 .00 BULK ATOM 1257 H1 TIP3 120 12.545 -19.743 -21.546 .00 .00 BULK ATOM 1258 H2 TIP3 120 11.368 -18.809 -21.968 .00 .00 BULK ATOM 1259 OH2 TIP3 121 24.575 .424 -12.787 .00 .00 BULK ATOM 1260 H1 TIP3 121 23.683 .101 -12.618 .00 .00 BULK ATOM 1261 H2 TIP3 121 24.731 .812 -11.928 .00 .00 BULK ATOM 1262 OH2 TIP3 122 16.696 6.166 -12.993 .00 .00 BULK ATOM 1263 H1 TIP3 122 17.621 6.401 -13.096 .00 .00 BULK ATOM 1264 H2 TIP3 122 16.206 6.854 -13.523 .00 .00 BULK ATOM 1265 OH2 TIP3 123 18.371 -22.480 9.019 .00 .00 BULK ATOM 1266 H1 TIP3 123 18.669 -21.757 9.687 .00 .00 BULK ATOM 1267 H2 TIP3 123 19.219 -22.733 8.641 .00 .00 BULK ATOM 1268 OH2 TIP3 124 -1.933 11.381 -11.128 .00 .00 BULK ATOM 1269 H1 TIP3 124 -2.594 12.153 -11.135 .00 .00 BULK ATOM 1270 H2 TIP3 124 -1.555 11.426 -12.080 .00 .00 BULK ATOM 1271 OH2 TIP3 125 -27.705 -6.833 15.514 .00 .00 BULK ATOM 1272 H1 TIP3 125 -27.709 -7.331 16.379 .00 .00 BULK ATOM 1273 H2 TIP3 125 -27.405 -5.973 15.883 .00 .00 BULK ATOM 1274 OH2 TIP3 126 29.654 22.641 4.947 .00 .00 BULK ATOM 1275 H1 TIP3 126 29.591 23.130 4.227 .00 .00 BULK ATOM 1276 H2 TIP3 126 30.086 21.878 4.505 .00 .00 BULK ATOM 1277 OH2 TIP3 127 27.350 .141 9.261 .00 .00 BULK ATOM 1278 H1 TIP3 127 27.633 1.014 9.619 .00 .00 BULK ATOM 1279 H2 TIP3 127 26.769 .397 8.496 .00 .00 BULK ATOM 1280 OH2 TIP3 128 23.777 -8.487 4.644 .00 .00 BULK ATOM 1281 H1 TIP3 128 24.057 -7.804 4.027 .00 .00 BULK ATOM 1282 H2 TIP3 128 23.112 -8.982 4.141 .00 .00 BULK ATOM 1283 OH2 TIP3 129 18.044 22.789 -22.313 .00 .00 BULK ATOM 1284 H1 TIP3 129 17.660 22.527 -23.157 .00 .00 BULK ATOM 1285 H2 TIP3 129 18.836 23.259 -22.554 .00 .00 BULK ATOM 1286 OH2 TIP3 130 18.925 -6.355 4.480 .00 .00 BULK ATOM 1287 H1 TIP3 130 18.238 -5.735 4.348 .00 .00 BULK ATOM 1288 H2 TIP3 130 19.626 -5.751 4.806 .00 .00 BULK ATOM 1289 OH2 TIP3 131 -23.629 9.797 -13.849 .00 .00 BULK ATOM 1290 H1 TIP3 131 -23.821 9.696 -14.846 .00 .00 BULK ATOM 1291 H2 TIP3 131 -22.673 10.021 -13.832 .00 .00 BULK ATOM 1292 OH2 TIP3 132 -2.998 18.938 15.595 .00 .00 BULK ATOM 1293 H1 TIP3 132 -2.263 18.478 15.141 .00 .00 BULK ATOM 1294 H2 TIP3 132 -2.623 19.698 16.078 .00 .00 BULK ATOM 1295 OH2 TIP3 133 -23.300 21.425 4.721 .00 .00 BULK ATOM 1296 H1 TIP3 133 -23.349 22.106 5.439 .00 .00 BULK ATOM 1297 H2 TIP3 133 -23.469 21.930 3.909 .00 .00 BULK ATOM 1298 OH2 TIP3 134 18.863 -3.878 7.626 .00 .00 BULK ATOM 1299 H1 TIP3 134 18.049 -3.712 8.030 .00 .00 BULK ATOM 1300 H2 TIP3 134 19.461 -4.168 8.396 .00 .00 BULK ATOM 1301 OH2 TIP3 135 11.073 -12.755 5.324 .00 .00 BULK ATOM 1302 H1 TIP3 135 10.463 -12.401 6.022 .00 .00 BULK ATOM 1303 H2 TIP3 135 10.553 -13.473 5.029 .00 .00 BULK ATOM 1304 OH2 TIP3 136 27.726 -9.748 -9.461 .00 .00 BULK ATOM 1305 H1 TIP3 136 26.930 -9.704 -8.881 .00 .00 BULK ATOM 1306 H2 TIP3 136 27.977 -8.777 -9.430 .00 .00 BULK ATOM 1307 OH2 TIP3 137 -26.730 -10.524 8.454 .00 .00 BULK ATOM 1308 H1 TIP3 137 -27.264 -10.664 7.638 .00 .00 BULK ATOM 1309 H2 TIP3 137 -26.247 -11.404 8.585 .00 .00 BULK ATOM 1310 OH2 TIP3 138 21.111 14.730 4.211 .00 .00 BULK ATOM 1311 H1 TIP3 138 21.679 15.491 3.893 .00 .00 BULK ATOM 1312 H2 TIP3 138 20.245 15.096 4.486 .00 .00 BULK ATOM 1313 OH2 TIP3 139 23.731 -5.540 -13.276 .00 .00 BULK ATOM 1314 H1 TIP3 139 23.111 -5.845 -13.985 .00 .00 BULK ATOM 1315 H2 TIP3 139 24.329 -6.256 -13.130 .00 .00 BULK ATOM 1316 OH2 TIP3 140 19.671 -11.329 9.595 .00 .00 BULK ATOM 1317 H1 TIP3 140 19.140 -11.378 8.756 .00 .00 BULK ATOM 1318 H2 TIP3 140 20.375 -10.714 9.437 .00 .00 BULK ATOM 1319 OH2 TIP3 141 16.016 -9.721 14.490 .00 .00 BULK ATOM 1320 H1 TIP3 141 15.845 -8.763 14.659 .00 .00 BULK ATOM 1321 H2 TIP3 141 15.699 -9.988 15.373 .00 .00 BULK ATOM 1322 OH2 TIP3 142 -22.066 .530 -11.754 .00 .00 BULK ATOM 1323 H1 TIP3 142 -22.582 .172 -12.548 .00 .00 BULK ATOM 1324 H2 TIP3 142 -21.346 1.113 -12.298 .00 .00 BULK ATOM 1325 OH2 TIP3 143 21.548 17.446 7.568 .00 .00 BULK ATOM 1326 H1 TIP3 143 20.711 17.336 7.970 .00 .00 BULK ATOM 1327 H2 TIP3 143 21.753 16.508 7.535 .00 .00 BULK ATOM 1328 OH2 TIP3 144 -15.613 -21.571 -10.315 .00 .00 BULK ATOM 1329 H1 TIP3 144 -16.124 -22.345 -10.081 .00 .00 BULK ATOM 1330 H2 TIP3 144 -15.153 -21.937 -11.117 .00 .00 BULK ATOM 1331 OH2 TIP3 145 .949 -18.705 9.324 .00 .00 BULK ATOM 1332 H1 TIP3 145 .624 -19.421 8.776 .00 .00 BULK ATOM 1333 H2 TIP3 145 1.722 -18.533 8.813 .00 .00 BULK ATOM 1334 OH2 TIP3 146 25.968 20.336 17.671 .00 .00 BULK ATOM 1335 H1 TIP3 146 26.298 19.411 17.692 .00 .00 BULK ATOM 1336 H2 TIP3 146 26.124 20.601 18.585 .00 .00 BULK ATOM 1337 OH2 TIP3 147 12.639 14.633 -5.638 .00 .00 BULK ATOM 1338 H1 TIP3 147 12.223 15.485 -5.649 .00 .00 BULK ATOM 1339 H2 TIP3 147 13.520 14.821 -5.292 .00 .00 BULK ATOM 1340 OH2 TIP3 148 12.278 -19.211 -3.089 .00 .00 BULK ATOM 1341 H1 TIP3 148 12.785 -19.117 -3.894 .00 .00 BULK ATOM 1342 H2 TIP3 148 11.915 -18.294 -3.116 .00 .00 BULK ATOM 1343 OH2 TIP3 149 14.597 -8.593 3.145 .00 .00 BULK ATOM 1344 H1 TIP3 149 14.544 -9.545 3.417 .00 .00 BULK ATOM 1345 H2 TIP3 149 13.776 -8.473 2.609 .00 .00 BULK ATOM 1346 OH2 TIP3 150 10.518 16.430 -6.641 .00 .00 BULK ATOM 1347 H1 TIP3 150 9.822 15.752 -6.447 .00 .00 BULK ATOM 1348 H2 TIP3 150 10.078 16.907 -7.341 .00 .00 BULK ATOM 1349 OH2 TIP3 151 19.455 -14.971 9.272 .00 .00 BULK ATOM 1350 H1 TIP3 151 20.174 -14.323 9.394 .00 .00 BULK ATOM 1351 H2 TIP3 151 19.459 -15.211 10.233 .00 .00 BULK ATOM 1352 OH2 TIP3 152 27.291 -3.919 -11.829 .00 .00 BULK ATOM 1353 H1 TIP3 152 27.219 -2.946 -11.701 .00 .00 BULK ATOM 1354 H2 TIP3 152 28.279 -3.962 -12.009 .00 .00 BULK ATOM 1355 OH2 TIP3 153 .755 16.930 -13.201 .00 .00 BULK ATOM 1356 H1 TIP3 153 .654 17.283 -14.135 .00 .00 BULK ATOM 1357 H2 TIP3 153 1.731 16.916 -13.145 .00 .00 BULK ATOM 1358 OH2 TIP3 154 -26.544 -17.718 23.446 .00 .00 BULK ATOM 1359 H1 TIP3 154 -27.209 -18.214 23.986 .00 .00 BULK ATOM 1360 H2 TIP3 154 -26.093 -18.461 23.021 .00 .00 BULK ATOM 1361 OH2 TIP3 155 8.731 21.272 -1.847 .00 .00 BULK ATOM 1362 H1 TIP3 155 8.846 22.230 -2.106 .00 .00 BULK ATOM 1363 H2 TIP3 155 9.250 20.905 -2.633 .00 .00 BULK ATOM 1364 OH2 TIP3 156 29.346 21.420 .164 .00 .00 BULK ATOM 1365 H1 TIP3 156 29.407 21.115 1.063 .00 .00 BULK ATOM 1366 H2 TIP3 156 29.586 20.628 -.366 .00 .00 BULK ATOM 1367 OH2 TIP3 157 -22.655 -10.424 -7.320 .00 .00 BULK ATOM 1368 H1 TIP3 157 -22.485 -10.540 -6.378 .00 .00 BULK ATOM 1369 H2 TIP3 157 -23.475 -10.948 -7.430 .00 .00 BULK ATOM 1370 OH2 TIP3 158 18.982 -22.450 12.866 .00 .00 BULK ATOM 1371 H1 TIP3 158 19.212 -23.227 12.350 .00 .00 BULK ATOM 1372 H2 TIP3 158 19.570 -21.753 12.533 .00 .00 BULK ATOM 1373 OH2 TIP3 159 12.829 -7.552 -18.780 .00 .00 BULK ATOM 1374 H1 TIP3 159 13.719 -7.978 -18.525 .00 .00 BULK ATOM 1375 H2 TIP3 159 12.273 -8.422 -19.031 .00 .00 BULK ATOM 1376 OH2 TIP3 160 -28.327 6.855 6.599 .00 .00 BULK ATOM 1377 H1 TIP3 160 -27.798 6.420 5.919 .00 .00 BULK ATOM 1378 H2 TIP3 160 -28.609 6.103 7.085 .00 .00 BULK ATOM 1379 OH2 TIP3 161 23.565 23.408 13.396 .00 .00 BULK ATOM 1380 H1 TIP3 161 23.304 23.779 12.556 .00 .00 BULK ATOM 1381 H2 TIP3 161 22.760 22.921 13.534 .00 .00 BULK ATOM 1382 OH2 TIP3 162 -.375 -15.030 -8.656 .00 .00 BULK ATOM 1383 H1 TIP3 162 -.112 -14.311 -8.100 .00 .00 BULK ATOM 1384 H2 TIP3 162 .434 -15.533 -8.783 .00 .00 BULK ATOM 1385 OH2 TIP3 163 13.040 -17.443 15.375 .00 .00 BULK ATOM 1386 H1 TIP3 163 13.276 -17.322 16.280 .00 .00 BULK ATOM 1387 H2 TIP3 163 12.752 -18.423 15.359 .00 .00 BULK ATOM 1388 OH2 TIP3 164 12.006 -2.076 -19.739 .00 .00 BULK ATOM 1389 H1 TIP3 164 11.137 -1.700 -19.762 .00 .00 BULK ATOM 1390 H2 TIP3 164 11.745 -2.966 -19.583 .00 .00 BULK ATOM 1391 OH2 TIP3 165 28.598 13.712 10.637 .00 .00 BULK ATOM 1392 H1 TIP3 165 28.442 14.606 10.733 .00 .00 BULK ATOM 1393 H2 TIP3 165 28.593 13.476 11.584 .00 .00 BULK ATOM 1394 OH2 TIP3 166 -28.345 -12.856 6.525 .00 .00 BULK ATOM 1395 H1 TIP3 166 -29.059 -12.472 7.058 .00 .00 BULK ATOM 1396 H2 TIP3 166 -28.449 -13.801 6.788 .00 .00 BULK ATOM 1397 OH2 TIP3 167 9.219 -11.645 7.199 .00 .00 BULK ATOM 1398 H1 TIP3 167 9.450 -12.039 8.045 .00 .00 BULK ATOM 1399 H2 TIP3 167 8.486 -12.202 6.960 .00 .00 BULK ATOM 1400 OH2 TIP3 168 28.575 -14.109 2.597 .00 .00 BULK ATOM 1401 H1 TIP3 168 28.266 -13.335 2.088 .00 .00 BULK ATOM 1402 H2 TIP3 168 29.314 -13.586 3.074 .00 .00 BULK ATOM 1403 OH2 TIP3 169 -24.731 3.090 -2.149 .00 .00 BULK ATOM 1404 H1 TIP3 169 -25.018 3.548 -1.371 .00 .00 BULK ATOM 1405 H2 TIP3 169 -25.096 3.640 -2.836 .00 .00 BULK ATOM 1406 OH2 TIP3 170 29.745 12.273 13.205 .00 .00 BULK ATOM 1407 H1 TIP3 170 29.198 11.731 12.582 .00 .00 BULK ATOM 1408 H2 TIP3 170 30.568 11.833 13.011 .00 .00 BULK ATOM 1409 OH2 TIP3 171 -21.614 -13.650 22.423 .00 .00 BULK ATOM 1410 H1 TIP3 171 -21.765 -13.086 21.691 .00 .00 BULK ATOM 1411 H2 TIP3 171 -22.416 -13.553 22.920 .00 .00 BULK ATOM 1412 OH2 TIP3 172 4.103 -23.622 -17.287 .00 .00 BULK ATOM 1413 H1 TIP3 172 3.309 -23.159 -17.492 .00 .00 BULK ATOM 1414 H2 TIP3 172 4.868 -22.920 -17.480 .00 .00 BULK ATOM 1415 OH2 TIP3 173 12.311 -15.418 20.219 .00 .00 BULK ATOM 1416 H1 TIP3 173 13.193 -15.507 19.875 .00 .00 BULK ATOM 1417 H2 TIP3 173 12.275 -14.452 20.336 .00 .00 BULK ATOM 1418 OH2 TIP3 174 16.977 20.308 10.493 .00 .00 BULK ATOM 1419 H1 TIP3 174 16.962 20.160 11.422 .00 .00 BULK ATOM 1420 H2 TIP3 174 17.069 19.403 10.060 .00 .00 BULK ATOM 1421 OH2 TIP3 175 21.912 -15.509 5.346 .00 .00 BULK ATOM 1422 H1 TIP3 175 21.086 -15.121 5.717 .00 .00 BULK ATOM 1423 H2 TIP3 175 21.967 -14.977 4.471 .00 .00 BULK ATOM 1424 OH2 TIP3 176 -20.607 9.957 .663 .00 .00 BULK ATOM 1425 H1 TIP3 176 -20.972 10.526 -.035 .00 .00 BULK ATOM 1426 H2 TIP3 176 -19.971 10.638 1.067 .00 .00 BULK ATOM 1427 OH2 TIP3 177 -11.773 9.282 21.235 .00 .00 BULK ATOM 1428 H1 TIP3 177 -10.911 9.284 21.585 .00 .00 BULK ATOM 1429 H2 TIP3 177 -12.155 9.581 22.073 .00 .00 BULK ATOM 1430 OH2 TIP3 178 23.808 9.535 -10.534 .00 .00 BULK ATOM 1431 H1 TIP3 178 23.883 8.746 -11.052 .00 .00 BULK ATOM 1432 H2 TIP3 178 23.671 9.279 -9.599 .00 .00 BULK ATOM 1433 OH2 TIP3 179 -26.761 -22.577 -17.067 .00 .00 BULK ATOM 1434 H1 TIP3 179 -27.650 -22.840 -16.714 .00 .00 BULK ATOM 1435 H2 TIP3 179 -26.632 -23.145 -17.795 .00 .00 BULK ATOM 1436 OH2 TIP3 180 20.553 -18.542 16.987 .00 .00 BULK ATOM 1437 H1 TIP3 180 20.920 -19.260 16.452 .00 .00 BULK ATOM 1438 H2 TIP3 180 20.635 -17.844 16.326 .00 .00 BULK ATOM 1439 OH2 TIP3 181 12.805 -19.744 -18.434 .00 .00 BULK ATOM 1440 H1 TIP3 181 12.484 -20.711 -18.470 .00 .00 BULK ATOM 1441 H2 TIP3 181 12.160 -19.427 -19.138 .00 .00 BULK ATOM 1442 OH2 TIP3 182 23.198 -12.224 4.301 .00 .00 BULK ATOM 1443 H1 TIP3 182 22.860 -11.496 3.767 .00 .00 BULK ATOM 1444 H2 TIP3 182 22.930 -12.937 3.743 .00 .00 BULK ATOM 1445 OH2 TIP3 183 10.539 -14.419 -9.385 .00 .00 BULK ATOM 1446 H1 TIP3 183 10.290 -13.502 -9.707 .00 .00 BULK ATOM 1447 H2 TIP3 183 11.168 -14.731 -10.038 .00 .00 BULK ATOM 1448 OH2 TIP3 184 -29.046 -19.964 -8.807 .00 .00 BULK ATOM 1449 H1 TIP3 184 -29.183 -20.505 -8.070 .00 .00 BULK ATOM 1450 H2 TIP3 184 -29.516 -19.135 -8.492 .00 .00 BULK ATOM 1451 OH2 TIP3 185 17.800 -14.013 -.615 .00 .00 BULK ATOM 1452 H1 TIP3 185 17.210 -14.394 .081 .00 .00 BULK ATOM 1453 H2 TIP3 185 18.598 -14.561 -.539 .00 .00 BULK ATOM 1454 OH2 TIP3 186 -23.022 22.177 -9.424 .00 .00 BULK ATOM 1455 H1 TIP3 186 -22.607 22.924 -9.959 .00 .00 BULK ATOM 1456 H2 TIP3 186 -23.235 21.451 -10.080 .00 .00 BULK ATOM 1457 OH2 TIP3 187 -6.418 -14.925 1.778 .00 .00 BULK ATOM 1458 H1 TIP3 187 -6.261 -14.971 2.769 .00 .00 BULK ATOM 1459 H2 TIP3 187 -6.692 -15.813 1.649 .00 .00 BULK ATOM 1460 OH2 TIP3 188 -9.259 18.124 -6.207 .00 .00 BULK ATOM 1461 H1 TIP3 188 -10.039 18.553 -5.852 .00 .00 BULK ATOM 1462 H2 TIP3 188 -9.464 18.118 -7.111 .00 .00 BULK ATOM 1463 OH2 TIP3 189 15.635 -22.606 -.648 .00 .00 BULK ATOM 1464 H1 TIP3 189 14.787 -22.270 -1.048 .00 .00 BULK ATOM 1465 H2 TIP3 189 16.166 -22.074 -1.180 .00 .00 BULK ATOM 1466 OH2 TIP3 190 28.889 23.264 7.492 .00 .00 BULK ATOM 1467 H1 TIP3 190 29.001 22.891 6.593 .00 .00 BULK ATOM 1468 H2 TIP3 190 29.792 23.127 7.873 .00 .00 BULK ATOM 1469 OH2 TIP3 191 10.055 -20.655 -2.438 .00 .00 BULK ATOM 1470 H1 TIP3 191 9.702 -19.744 -2.325 .00 .00 BULK ATOM 1471 H2 TIP3 191 10.836 -20.463 -2.955 .00 .00 BULK ATOM 1472 OH2 TIP3 192 16.760 -19.057 -5.015 .00 .00 BULK ATOM 1473 H1 TIP3 192 16.046 -18.705 -5.593 .00 .00 BULK ATOM 1474 H2 TIP3 192 16.474 -18.613 -4.246 .00 .00 BULK ATOM 1475 OH2 TIP3 193 -14.527 12.863 -5.136 .00 .00 BULK ATOM 1476 H1 TIP3 193 -14.755 13.819 -5.362 .00 .00 BULK ATOM 1477 H2 TIP3 193 -13.576 12.831 -4.940 .00 .00 BULK ATOM 1478 OH2 TIP3 194 29.093 -.067 -13.314 .00 .00 BULK ATOM 1479 H1 TIP3 194 28.835 .868 -13.194 .00 .00 BULK ATOM 1480 H2 TIP3 194 28.273 -.427 -13.639 .00 .00 BULK ATOM 1481 OH2 TIP3 195 17.833 14.464 -11.887 .00 .00 BULK ATOM 1482 H1 TIP3 195 17.401 14.857 -11.104 .00 .00 BULK ATOM 1483 H2 TIP3 195 17.778 15.174 -12.527 .00 .00 BULK ATOM 1484 OH2 TIP3 196 -12.732 -20.715 -2.919 .00 .00 BULK ATOM 1485 H1 TIP3 196 -12.998 -21.660 -2.636 .00 .00 BULK ATOM 1486 H2 TIP3 196 -12.536 -20.976 -3.863 .00 .00 BULK ATOM 1487 OH2 TIP3 197 28.837 18.409 23.212 .00 .00 BULK ATOM 1488 H1 TIP3 197 28.454 19.259 22.797 .00 .00 BULK ATOM 1489 H2 TIP3 197 28.682 18.749 24.067 .00 .00 BULK ATOM 1490 OH2 TIP3 198 -29.505 -15.948 -9.553 .00 .00 BULK ATOM 1491 H1 TIP3 198 -30.002 -16.759 -9.436 .00 .00 BULK ATOM 1492 H2 TIP3 198 -29.760 -15.425 -8.768 .00 .00 BULK ATOM 1493 OH2 TIP3 199 25.927 -8.370 1.819 .00 .00 BULK ATOM 1494 H1 TIP3 199 26.056 -7.837 2.603 .00 .00 BULK ATOM 1495 H2 TIP3 199 26.450 -9.091 2.061 .00 .00 BULK ATOM 1496 OH2 TIP3 200 16.156 18.617 -6.228 .00 .00 BULK ATOM 1497 H1 TIP3 200 17.086 18.339 -6.464 .00 .00 BULK ATOM 1498 H2 TIP3 200 16.435 18.672 -5.258 .00 .00 BULK ATOM 1499 OH2 TIP3 201 -20.685 20.260 .492 .00 .00 BULK ATOM 1500 H1 TIP3 201 -20.238 20.937 -.069 .00 .00 BULK ATOM 1501 H2 TIP3 201 -21.021 20.763 1.177 .00 .00 BULK ATOM 1502 OH2 TIP3 202 24.998 -1.824 17.033 .00 .00 BULK ATOM 1503 H1 TIP3 202 24.097 -1.784 17.413 .00 .00 BULK ATOM 1504 H2 TIP3 202 25.148 -2.770 17.229 .00 .00 BULK ATOM 1505 OH2 TIP3 203 12.694 -10.434 5.002 .00 .00 BULK ATOM 1506 H1 TIP3 203 12.327 -10.353 4.136 .00 .00 BULK ATOM 1507 H2 TIP3 203 12.290 -11.264 5.289 .00 .00 BULK ATOM 1508 OH2 TIP3 204 -21.659 -22.320 16.897 .00 .00 BULK ATOM 1509 H1 TIP3 204 -22.051 -21.667 16.206 .00 .00 BULK ATOM 1510 H2 TIP3 204 -22.219 -23.123 16.885 .00 .00 BULK ATOM 1511 OH2 TIP3 205 -28.262 -9.632 -9.871 .00 .00 BULK ATOM 1512 H1 TIP3 205 -27.243 -9.772 -9.998 .00 .00 BULK ATOM 1513 H2 TIP3 205 -28.382 -9.231 -10.802 .00 .00 BULK ATOM 1514 OH2 TIP3 206 -22.220 10.791 -20.351 .00 .00 BULK ATOM 1515 H1 TIP3 206 -22.638 11.664 -20.362 .00 .00 BULK ATOM 1516 H2 TIP3 206 -22.609 10.339 -21.135 .00 .00 BULK ATOM 1517 OH2 TIP3 207 -1.659 -.727 -9.916 .00 .00 BULK ATOM 1518 H1 TIP3 207 -.726 -.577 -10.110 .00 .00 BULK ATOM 1519 H2 TIP3 207 -2.052 -1.120 -10.738 .00 .00 BULK ATOM 1520 OH2 TIP3 208 -20.960 5.165 -12.916 .00 .00 BULK ATOM 1521 H1 TIP3 208 -20.313 5.611 -12.404 .00 .00 BULK ATOM 1522 H2 TIP3 208 -21.249 4.573 -12.200 .00 .00 BULK ATOM 1523 OH2 TIP3 209 11.163 16.063 2.940 .00 .00 BULK ATOM 1524 H1 TIP3 209 11.518 16.963 2.748 .00 .00 BULK ATOM 1525 H2 TIP3 209 10.497 16.025 2.308 .00 .00 BULK ATOM 1526 OH2 TIP3 210 17.293 -12.685 5.174 .00 .00 BULK ATOM 1527 H1 TIP3 210 17.231 -11.985 4.474 .00 .00 BULK ATOM 1528 H2 TIP3 210 16.829 -13.409 4.693 .00 .00 BULK ATOM 1529 OH2 TIP3 211 -4.882 -4.942 20.191 .00 .00 BULK ATOM 1530 H1 TIP3 211 -4.909 -5.365 19.334 .00 .00 BULK ATOM 1531 H2 TIP3 211 -4.142 -4.241 20.138 .00 .00 BULK ATOM 1532 OH2 TIP3 212 12.568 -15.642 5.228 .00 .00 BULK ATOM 1533 H1 TIP3 212 13.295 -16.051 5.716 .00 .00 BULK ATOM 1534 H2 TIP3 212 11.984 -16.469 5.203 .00 .00 BULK ATOM 1535 OH2 TIP3 213 -11.794 6.586 22.451 .00 .00 BULK ATOM 1536 H1 TIP3 213 -12.118 7.311 21.951 .00 .00 BULK ATOM 1537 H2 TIP3 213 -12.538 6.399 23.012 .00 .00 BULK ATOM 1538 OH2 TIP3 214 -16.682 7.887 -21.235 .00 .00 BULK ATOM 1539 H1 TIP3 214 -17.286 7.973 -20.513 .00 .00 BULK ATOM 1540 H2 TIP3 214 -16.033 8.496 -20.948 .00 .00 BULK ATOM 1541 OH2 TIP3 215 26.849 6.718 13.404 .00 .00 BULK ATOM 1542 H1 TIP3 215 26.317 6.148 13.972 .00 .00 BULK ATOM 1543 H2 TIP3 215 27.453 7.049 14.055 .00 .00 BULK ATOM 1544 OH2 TIP3 216 10.326 -10.889 -7.785 .00 .00 BULK ATOM 1545 H1 TIP3 216 9.441 -11.265 -7.557 .00 .00 BULK ATOM 1546 H2 TIP3 216 10.861 -11.656 -7.402 .00 .00 BULK ATOM 1547 OH2 TIP3 217 -22.621 -16.113 -13.165 .00 .00 BULK ATOM 1548 H1 TIP3 217 -23.565 -16.392 -13.224 .00 .00 BULK ATOM 1549 H2 TIP3 217 -22.820 -15.192 -12.969 .00 .00 BULK ATOM 1550 OH2 TIP3 218 21.732 -18.126 6.516 .00 .00 BULK ATOM 1551 H1 TIP3 218 20.867 -17.936 6.851 .00 .00 BULK ATOM 1552 H2 TIP3 218 22.032 -17.247 6.225 .00 .00 BULK ATOM 1553 OH2 TIP3 219 -18.200 -22.730 13.387 .00 .00 BULK ATOM 1554 H1 TIP3 219 -17.497 -22.846 14.060 .00 .00 BULK ATOM 1555 H2 TIP3 219 -18.594 -21.881 13.745 .00 .00 BULK ATOM 1556 OH2 TIP3 220 -29.240 18.710 -.909 .00 .00 BULK ATOM 1557 H1 TIP3 220 -28.351 19.138 -.846 .00 .00 BULK ATOM 1558 H2 TIP3 220 -29.018 17.802 -.925 .00 .00 BULK ATOM 1559 OH2 TIP3 221 8.841 -22.977 -20.870 .00 .00 BULK ATOM 1560 H1 TIP3 221 7.827 -23.145 -20.943 .00 .00 BULK ATOM 1561 H2 TIP3 221 8.969 -22.329 -21.610 .00 .00 BULK ATOM 1562 OH2 TIP3 222 18.331 -13.854 18.890 .00 .00 BULK ATOM 1563 H1 TIP3 222 18.160 -14.632 19.411 .00 .00 BULK ATOM 1564 H2 TIP3 222 17.451 -13.305 19.064 .00 .00 BULK ATOM 1565 OH2 TIP3 223 16.960 -21.134 -6.775 .00 .00 BULK ATOM 1566 H1 TIP3 223 17.140 -20.803 -5.912 .00 .00 BULK ATOM 1567 H2 TIP3 223 16.028 -21.317 -6.860 .00 .00 BULK ATOM 1568 OH2 TIP3 224 -26.294 -15.567 -21.744 .00 .00 BULK ATOM 1569 H1 TIP3 224 -26.279 -16.071 -20.855 .00 .00 BULK ATOM 1570 H2 TIP3 224 -26.734 -16.306 -22.183 .00 .00 BULK ATOM 1571 OH2 TIP3 225 26.146 4.668 -3.835 .00 .00 BULK ATOM 1572 H1 TIP3 225 26.428 5.324 -3.151 .00 .00 BULK ATOM 1573 H2 TIP3 225 25.532 4.041 -3.352 .00 .00 BULK ATOM 1574 OH2 TIP3 226 -15.536 2.487 19.665 .00 .00 BULK ATOM 1575 H1 TIP3 226 -16.144 2.231 18.943 .00 .00 BULK ATOM 1576 H2 TIP3 226 -16.211 2.960 20.211 .00 .00 BULK ATOM 1577 OH2 TIP3 227 19.031 14.556 8.804 .00 .00 BULK ATOM 1578 H1 TIP3 227 19.951 14.518 8.596 .00 .00 BULK ATOM 1579 H2 TIP3 227 18.759 13.604 8.723 .00 .00 BULK ATOM 1580 OH2 TIP3 228 -21.947 -13.305 11.955 .00 .00 BULK ATOM 1581 H1 TIP3 228 -22.207 -12.484 11.577 .00 .00 BULK ATOM 1582 H2 TIP3 228 -21.064 -13.399 11.586 .00 .00 BULK ATOM 1583 OH2 TIP3 229 -9.419 20.737 -2.112 .00 .00 BULK ATOM 1584 H1 TIP3 229 -9.087 21.532 -1.702 .00 .00 BULK ATOM 1585 H2 TIP3 229 -9.730 21.229 -2.855 .00 .00 BULK ATOM 1586 OH2 TIP3 230 20.911 -19.218 -8.696 .00 .00 BULK ATOM 1587 H1 TIP3 230 21.087 -18.525 -9.344 .00 .00 BULK ATOM 1588 H2 TIP3 230 19.924 -19.270 -8.792 .00 .00 BULK ATOM 1589 OH2 TIP3 231 -23.028 20.970 14.579 .00 .00 BULK ATOM 1590 H1 TIP3 231 -22.061 20.813 14.249 .00 .00 BULK ATOM 1591 H2 TIP3 231 -23.157 21.761 14.062 .00 .00 BULK ATOM 1592 OH2 TIP3 232 29.039 -2.571 2.511 .00 .00 BULK ATOM 1593 H1 TIP3 232 29.286 -3.052 1.688 .00 .00 BULK ATOM 1594 H2 TIP3 232 28.189 -2.111 2.264 .00 .00 BULK ATOM 1595 OH2 TIP3 233 28.377 -18.478 7.249 .00 .00 BULK ATOM 1596 H1 TIP3 233 28.509 -17.621 7.675 .00 .00 BULK ATOM 1597 H2 TIP3 233 29.071 -18.589 6.575 .00 .00 BULK ATOM 1598 OH2 TIP3 234 -29.172 -17.287 -21.449 .00 .00 BULK ATOM 1599 H1 TIP3 234 -29.541 -17.742 -20.685 .00 .00 BULK ATOM 1600 H2 TIP3 234 -29.190 -16.377 -21.176 .00 .00 BULK ATOM 1601 OH2 TIP3 235 25.416 16.209 -7.643 .00 .00 BULK ATOM 1602 H1 TIP3 235 25.270 15.747 -6.847 .00 .00 BULK ATOM 1603 H2 TIP3 235 25.083 15.547 -8.237 .00 .00 BULK ATOM 1604 OH2 TIP3 236 23.424 14.193 -8.075 .00 .00 BULK ATOM 1605 H1 TIP3 236 24.093 13.481 -8.113 .00 .00 BULK ATOM 1606 H2 TIP3 236 22.941 13.947 -7.251 .00 .00 BULK ATOM 1607 OH2 TIP3 237 7.798 23.244 -.205 .00 .00 BULK ATOM 1608 H1 TIP3 237 8.632 22.996 .266 .00 .00 BULK ATOM 1609 H2 TIP3 237 8.144 23.735 -1.012 .00 .00 BULK ATOM 1610 OH2 TIP3 238 12.695 -10.161 12.548 .00 .00 BULK ATOM 1611 H1 TIP3 238 12.741 -11.206 12.679 .00 .00 BULK ATOM 1612 H2 TIP3 238 13.496 -9.974 12.055 .00 .00 BULK ATOM 1613 OH2 TIP3 239 -24.629 18.234 -1.304 .00 .00 BULK ATOM 1614 H1 TIP3 239 -24.821 18.974 -1.973 .00 .00 BULK ATOM 1615 H2 TIP3 239 -23.716 18.487 -.984 .00 .00 BULK ATOM 1616 OH2 TIP3 240 -3.020 -12.457 -21.674 .00 .00 BULK ATOM 1617 H1 TIP3 240 -2.218 -12.006 -21.976 .00 .00 BULK ATOM 1618 H2 TIP3 240 -2.694 -13.108 -21.030 .00 .00 BULK ATOM 1619 OH2 TIP3 241 -2.632 -17.008 -2.204 .00 .00 BULK ATOM 1620 H1 TIP3 241 -2.196 -17.597 -1.509 .00 .00 BULK ATOM 1621 H2 TIP3 241 -2.535 -16.068 -1.848 .00 .00 BULK ATOM 1622 OH2 TIP3 242 -17.459 23.832 -8.870 .00 .00 BULK ATOM 1623 H1 TIP3 242 -17.133 23.076 -9.464 .00 .00 BULK ATOM 1624 H2 TIP3 242 -18.458 23.795 -8.920 .00 .00 BULK ATOM 1625 OH2 TIP3 243 -28.921 -16.486 14.799 .00 .00 BULK ATOM 1626 H1 TIP3 243 -28.862 -17.369 14.453 .00 .00 BULK ATOM 1627 H2 TIP3 243 -28.085 -16.507 15.330 .00 .00 BULK ATOM 1628 OH2 TIP3 244 16.309 -21.287 7.301 .00 .00 BULK ATOM 1629 H1 TIP3 244 16.391 -20.431 7.725 .00 .00 BULK ATOM 1630 H2 TIP3 244 16.894 -21.760 7.919 .00 .00 BULK ATOM 1631 OH2 TIP3 245 -25.435 23.020 -22.255 .00 .00 BULK ATOM 1632 H1 TIP3 245 -26.312 22.649 -22.445 .00 .00 BULK ATOM 1633 H2 TIP3 245 -24.907 22.609 -23.014 .00 .00 BULK ATOM 1634 OH2 TIP3 246 28.142 14.482 -2.005 .00 .00 BULK ATOM 1635 H1 TIP3 246 28.895 14.730 -2.428 .00 .00 BULK ATOM 1636 H2 TIP3 246 28.382 14.121 -1.103 .00 .00 BULK ATOM 1637 OH2 TIP3 247 -25.405 -19.521 21.783 .00 .00 BULK ATOM 1638 H1 TIP3 247 -25.132 -20.464 22.049 .00 .00 BULK ATOM 1639 H2 TIP3 247 -24.637 -19.256 21.253 .00 .00 BULK ATOM 1640 OH2 TIP3 248 -29.355 -20.410 5.235 .00 .00 BULK ATOM 1641 H1 TIP3 248 -29.818 -19.767 4.675 .00 .00 BULK ATOM 1642 H2 TIP3 248 -28.656 -20.747 4.680 .00 .00 BULK ATOM 1643 OH2 TIP3 249 -2.890 9.097 1.269 .00 .00 BULK ATOM 1644 H1 TIP3 249 -3.580 8.842 .553 .00 .00 BULK ATOM 1645 H2 TIP3 249 -2.620 8.212 1.710 .00 .00 BULK ATOM 1646 OH2 TIP3 250 28.553 -14.615 -14.412 .00 .00 BULK ATOM 1647 H1 TIP3 250 27.860 -13.979 -14.416 .00 .00 BULK ATOM 1648 H2 TIP3 250 29.371 -13.974 -14.529 .00 .00 BULK ATOM 1649 OH2 TIP3 251 -1.884 8.980 21.027 .00 .00 BULK ATOM 1650 H1 TIP3 251 -2.850 8.735 21.147 .00 .00 BULK ATOM 1651 H2 TIP3 251 -1.800 9.841 21.566 .00 .00 BULK ATOM 1652 OH2 TIP3 252 26.642 17.639 18.050 .00 .00 BULK ATOM 1653 H1 TIP3 252 27.590 17.795 18.003 .00 .00 BULK ATOM 1654 H2 TIP3 252 26.485 17.171 18.857 .00 .00 BULK ATOM 1655 OH2 TIP3 253 -26.600 17.311 .437 .00 .00 BULK ATOM 1656 H1 TIP3 253 -26.138 16.532 .717 .00 .00 BULK ATOM 1657 H2 TIP3 253 -25.937 17.836 -.049 .00 .00 BULK ATOM 1658 OH2 TIP3 254 29.693 20.436 2.690 .00 .00 BULK ATOM 1659 H1 TIP3 254 29.265 20.048 3.469 .00 .00 BULK ATOM 1660 H2 TIP3 254 30.498 19.842 2.674 .00 .00 BULK ATOM 1661 OH2 TIP3 255 2.606 -21.592 -14.845 .00 .00 BULK ATOM 1662 H1 TIP3 255 2.713 -20.636 -14.976 .00 .00 BULK ATOM 1663 H2 TIP3 255 2.737 -21.868 -15.753 .00 .00 BULK ATOM 1664 OH2 TIP3 256 -26.690 -10.990 -23.767 .00 .00 BULK ATOM 1665 H1 TIP3 256 -27.446 -10.371 -23.575 .00 .00 BULK ATOM 1666 H2 TIP3 256 -26.846 -11.663 -23.126 .00 .00 BULK ATOM 1667 OH2 TIP3 257 16.747 -14.749 3.398 .00 .00 BULK ATOM 1668 H1 TIP3 257 15.820 -15.007 3.157 .00 .00 BULK ATOM 1669 H2 TIP3 257 17.151 -15.635 3.400 .00 .00 BULK ATOM 1670 OH2 TIP3 258 -2.432 -4.738 -22.219 .00 .00 BULK ATOM 1671 H1 TIP3 258 -2.861 -4.441 -21.390 .00 .00 BULK ATOM 1672 H2 TIP3 258 -3.251 -4.942 -22.674 .00 .00 BULK ATOM 1673 OH2 TIP3 259 -26.274 -2.617 -2.946 .00 .00 BULK ATOM 1674 H1 TIP3 259 -27.259 -2.650 -2.821 .00 .00 BULK ATOM 1675 H2 TIP3 259 -26.286 -2.390 -3.921 .00 .00 BULK ATOM 1676 OH2 TIP3 260 15.392 -9.858 -10.941 .00 .00 BULK ATOM 1677 H1 TIP3 260 16.332 -9.892 -10.586 .00 .00 BULK ATOM 1678 H2 TIP3 260 15.577 -9.408 -11.754 .00 .00 BULK ATOM 1679 OH2 TIP3 261 -8.893 18.394 -16.955 .00 .00 BULK ATOM 1680 H1 TIP3 261 -8.986 19.372 -17.140 .00 .00 BULK ATOM 1681 H2 TIP3 261 -8.388 18.444 -16.114 .00 .00 BULK ATOM 1682 OH2 TIP3 262 21.238 -18.942 10.100 .00 .00 BULK ATOM 1683 H1 TIP3 262 20.583 -18.671 9.468 .00 .00 BULK ATOM 1684 H2 TIP3 262 21.990 -19.327 9.668 .00 .00 BULK ATOM 1685 OH2 TIP3 263 -19.481 2.604 1.612 .00 .00 BULK ATOM 1686 H1 TIP3 263 -19.804 3.491 1.888 .00 .00 BULK ATOM 1687 H2 TIP3 263 -19.324 2.753 .701 .00 .00 BULK ATOM 1688 OH2 TIP3 264 22.423 -2.162 18.118 .00 .00 BULK ATOM 1689 H1 TIP3 264 21.832 -2.731 17.592 .00 .00 BULK ATOM 1690 H2 TIP3 264 22.365 -2.553 18.972 .00 .00 BULK ATOM 1691 OH2 TIP3 265 26.015 20.072 -4.841 .00 .00 BULK ATOM 1692 H1 TIP3 265 26.690 20.404 -4.271 .00 .00 BULK ATOM 1693 H2 TIP3 265 25.988 20.790 -5.508 .00 .00 BULK ATOM 1694 OH2 TIP3 266 12.495 -8.313 .983 .00 .00 BULK ATOM 1695 H1 TIP3 266 11.753 -7.728 1.223 .00 .00 BULK ATOM 1696 H2 TIP3 266 12.244 -9.184 1.270 .00 .00 BULK ATOM 1697 OH2 TIP3 267 -18.006 22.155 -14.132 .00 .00 BULK ATOM 1698 H1 TIP3 267 -17.967 21.177 -14.090 .00 .00 BULK ATOM 1699 H2 TIP3 267 -17.262 22.379 -14.771 .00 .00 BULK ATOM 1700 OH2 TIP3 268 -21.786 -23.487 -11.389 .00 .00 BULK ATOM 1701 H1 TIP3 268 -21.424 -23.991 -12.162 .00 .00 BULK ATOM 1702 H2 TIP3 268 -21.700 -22.620 -11.772 .00 .00 BULK ATOM 1703 OH2 TIP3 269 -19.903 -15.499 -2.100 .00 .00 BULK ATOM 1704 H1 TIP3 269 -19.922 -14.496 -2.075 .00 .00 BULK ATOM 1705 H2 TIP3 269 -18.937 -15.527 -2.149 .00 .00 BULK ATOM 1706 OH2 TIP3 270 24.291 -20.994 -5.110 .00 .00 BULK ATOM 1707 H1 TIP3 270 24.361 -21.626 -5.892 .00 .00 BULK ATOM 1708 H2 TIP3 270 23.966 -21.643 -4.478 .00 .00 BULK ATOM 1709 OH2 TIP3 271 -27.161 -3.014 2.254 .00 .00 BULK ATOM 1710 H1 TIP3 271 -27.781 -2.297 1.910 .00 .00 BULK ATOM 1711 H2 TIP3 271 -26.397 -2.897 1.736 .00 .00 BULK ATOM 1712 OH2 TIP3 272 16.290 21.794 -20.277 .00 .00 BULK ATOM 1713 H1 TIP3 272 17.236 21.642 -19.993 .00 .00 BULK ATOM 1714 H2 TIP3 272 16.393 22.114 -21.183 .00 .00 BULK ATOM 1715 OH2 TIP3 273 -24.626 16.971 7.754 .00 .00 BULK ATOM 1716 H1 TIP3 273 -24.845 17.052 8.656 .00 .00 BULK ATOM 1717 H2 TIP3 273 -23.732 17.418 7.722 .00 .00 BULK ATOM 1718 OH2 TIP3 274 -12.881 -15.242 16.161 .00 .00 BULK ATOM 1719 H1 TIP3 274 -12.417 -15.432 15.321 .00 .00 BULK ATOM 1720 H2 TIP3 274 -12.275 -15.552 16.804 .00 .00 BULK ATOM 1721 OH2 TIP3 275 -22.437 14.248 -2.259 .00 .00 BULK ATOM 1722 H1 TIP3 275 -22.655 14.990 -2.927 .00 .00 BULK ATOM 1723 H2 TIP3 275 -21.636 13.946 -2.673 .00 .00 BULK ATOM 1724 OH2 TIP3 276 -23.483 -19.412 2.252 .00 .00 BULK ATOM 1725 H1 TIP3 276 -22.923 -20.101 1.841 .00 .00 BULK ATOM 1726 H2 TIP3 276 -24.352 -19.830 2.383 .00 .00 BULK ATOM 1727 OH2 TIP3 277 -17.121 -19.495 1.404 .00 .00 BULK ATOM 1728 H1 TIP3 277 -17.932 -19.751 1.955 .00 .00 BULK ATOM 1729 H2 TIP3 277 -17.543 -18.725 .921 .00 .00 BULK ATOM 1730 OH2 TIP3 278 -24.332 -16.074 -15.681 .00 .00 BULK ATOM 1731 H1 TIP3 278 -23.532 -16.450 -16.082 .00 .00 BULK ATOM 1732 H2 TIP3 278 -24.811 -16.836 -15.269 .00 .00 BULK ATOM 1733 OH2 TIP3 279 -10.368 1.018 -16.293 .00 .00 BULK ATOM 1734 H1 TIP3 279 -9.784 1.564 -16.828 .00 .00 BULK ATOM 1735 H2 TIP3 279 -9.797 1.186 -15.542 .00 .00 BULK ATOM 1736 OH2 TIP3 280 -24.455 -8.574 8.080 .00 .00 BULK ATOM 1737 H1 TIP3 280 -24.111 -9.228 7.434 .00 .00 BULK ATOM 1738 H2 TIP3 280 -25.224 -9.063 8.385 .00 .00 BULK ATOM 1739 OH2 TIP3 281 -28.837 22.780 8.729 .00 .00 BULK ATOM 1740 H1 TIP3 281 -28.214 23.405 9.061 .00 .00 BULK ATOM 1741 H2 TIP3 281 -28.167 22.060 8.742 .00 .00 BULK ATOM 1742 OH2 TIP3 282 -29.183 3.186 15.816 .00 .00 BULK ATOM 1743 H1 TIP3 282 -29.540 3.627 16.598 .00 .00 BULK ATOM 1744 H2 TIP3 282 -28.456 2.636 16.156 .00 .00 BULK ATOM 1745 OH2 TIP3 283 5.214 -6.013 -23.320 .00 .00 BULK ATOM 1746 H1 TIP3 283 4.290 -6.033 -23.082 .00 .00 BULK ATOM 1747 H2 TIP3 283 5.546 -5.387 -22.641 .00 .00 BULK ATOM 1748 OH2 TIP3 284 28.650 -10.907 18.329 .00 .00 BULK ATOM 1749 H1 TIP3 284 28.586 -10.144 17.683 .00 .00 BULK ATOM 1750 H2 TIP3 284 28.004 -11.532 17.996 .00 .00 BULK ATOM 1751 OH2 TIP3 285 22.402 -2.290 1.339 .00 .00 BULK ATOM 1752 H1 TIP3 285 22.403 -2.643 .410 .00 .00 BULK ATOM 1753 H2 TIP3 285 22.970 -1.489 1.289 .00 .00 BULK ATOM 1754 OH2 TIP3 286 9.854 16.573 -3.563 .00 .00 BULK ATOM 1755 H1 TIP3 286 9.566 16.800 -4.487 .00 .00 BULK ATOM 1756 H2 TIP3 286 9.421 15.711 -3.372 .00 .00 BULK ATOM 1757 OH2 TIP3 287 -1.934 17.709 -2.256 .00 .00 BULK ATOM 1758 H1 TIP3 287 -1.228 18.332 -1.957 .00 .00 BULK ATOM 1759 H2 TIP3 287 -2.308 17.328 -1.422 .00 .00 BULK ATOM 1760 OH2 TIP3 288 -19.006 4.629 -2.514 .00 .00 BULK ATOM 1761 H1 TIP3 288 -18.260 4.401 -3.080 .00 .00 BULK ATOM 1762 H2 TIP3 288 -18.510 5.170 -1.821 .00 .00 BULK ATOM 1763 OH2 TIP3 289 -1.987 -15.190 2.907 .00 .00 BULK ATOM 1764 H1 TIP3 289 -1.287 -14.566 2.884 .00 .00 BULK ATOM 1765 H2 TIP3 289 -2.676 -14.629 3.365 .00 .00 BULK ATOM 1766 OH2 TIP3 290 -12.031 -21.730 .399 .00 .00 BULK ATOM 1767 H1 TIP3 290 -12.861 -21.358 .077 .00 .00 BULK ATOM 1768 H2 TIP3 290 -11.706 -22.319 -.262 .00 .00 BULK ATOM 1769 OH2 TIP3 291 26.791 10.952 -16.542 .00 .00 BULK ATOM 1770 H1 TIP3 291 26.967 11.627 -17.230 .00 .00 BULK ATOM 1771 H2 TIP3 291 26.222 11.489 -15.980 .00 .00 BULK ATOM 1772 OH2 TIP3 292 -19.892 -7.282 22.116 .00 .00 BULK ATOM 1773 H1 TIP3 292 -20.034 -6.486 22.638 .00 .00 BULK ATOM 1774 H2 TIP3 292 -20.127 -7.820 22.860 .00 .00 BULK ATOM 1775 OH2 TIP3 293 -23.782 21.159 -14.807 .00 .00 BULK ATOM 1776 H1 TIP3 293 -23.980 22.004 -15.224 .00 .00 BULK ATOM 1777 H2 TIP3 293 -22.954 21.347 -14.304 .00 .00 BULK ATOM 1778 OH2 TIP3 294 -22.439 16.293 -6.131 .00 .00 BULK ATOM 1779 H1 TIP3 294 -21.782 17.033 -6.068 .00 .00 BULK ATOM 1780 H2 TIP3 294 -22.852 16.430 -5.283 .00 .00 BULK ATOM 1781 OH2 TIP3 295 25.804 -8.132 15.717 .00 .00 BULK ATOM 1782 H1 TIP3 295 26.709 -8.451 15.698 .00 .00 BULK ATOM 1783 H2 TIP3 295 26.055 -7.159 15.803 .00 .00 BULK ATOM 1784 OH2 TIP3 296 6.118 -12.664 -15.301 .00 .00 BULK ATOM 1785 H1 TIP3 296 5.218 -12.522 -15.639 .00 .00 BULK ATOM 1786 H2 TIP3 296 6.024 -12.130 -14.506 .00 .00 BULK ATOM 1787 OH2 TIP3 297 24.928 -14.398 .484 .00 .00 BULK ATOM 1788 H1 TIP3 297 25.726 -14.909 .879 .00 .00 BULK ATOM 1789 H2 TIP3 297 25.370 -13.536 .344 .00 .00 BULK ATOM 1790 OH2 TIP3 298 -18.625 -.508 6.486 .00 .00 BULK ATOM 1791 H1 TIP3 298 -18.488 -1.033 5.680 .00 .00 BULK ATOM 1792 H2 TIP3 298 -17.778 -.747 6.952 .00 .00 BULK ATOM 1793 OH2 TIP3 299 20.307 -12.183 -5.415 .00 .00 BULK ATOM 1794 H1 TIP3 299 21.129 -12.709 -5.199 .00 .00 BULK ATOM 1795 H2 TIP3 299 20.540 -11.291 -5.062 .00 .00 BULK ATOM 1796 OH2 TIP3 300 27.807 -22.639 16.712 .00 .00 BULK ATOM 1797 H1 TIP3 300 26.927 -22.558 16.250 .00 .00 BULK ATOM 1798 H2 TIP3 300 27.740 -21.786 17.240 .00 .00 BULK ATOM 1799 OH2 TIP3 301 -24.117 -18.905 -10.133 .00 .00 BULK ATOM 1800 H1 TIP3 301 -23.937 -19.218 -9.281 .00 .00 BULK ATOM 1801 H2 TIP3 301 -24.631 -18.103 -9.918 .00 .00 BULK ATOM 1802 OH2 TIP3 302 11.871 -17.939 -13.402 .00 .00 BULK ATOM 1803 H1 TIP3 302 12.413 -17.207 -13.654 .00 .00 BULK ATOM 1804 H2 TIP3 302 11.416 -18.095 -14.217 .00 .00 BULK ATOM 1805 OH2 TIP3 303 -25.351 -10.010 -3.584 .00 .00 BULK ATOM 1806 H1 TIP3 303 -25.852 -9.695 -4.356 .00 .00 BULK ATOM 1807 H2 TIP3 303 -25.697 -10.943 -3.528 .00 .00 BULK ATOM 1808 OH2 TIP3 304 2.914 -9.796 9.312 .00 .00 BULK ATOM 1809 H1 TIP3 304 2.583 -10.163 10.199 .00 .00 BULK ATOM 1810 H2 TIP3 304 2.331 -10.215 8.623 .00 .00 BULK ATOM 1811 OH2 TIP3 305 -22.338 -16.660 -1.800 .00 .00 BULK ATOM 1812 H1 TIP3 305 -22.055 -17.574 -1.762 .00 .00 BULK ATOM 1813 H2 TIP3 305 -21.424 -16.331 -1.979 .00 .00 BULK ATOM 1814 OH2 TIP3 306 -13.556 -14.955 -.019 .00 .00 BULK ATOM 1815 H1 TIP3 306 -13.861 -14.052 .048 .00 .00 BULK ATOM 1816 H2 TIP3 306 -14.066 -15.324 .752 .00 .00 BULK ATOM 1817 OH2 TIP3 307 -17.683 -19.819 -9.342 .00 .00 BULK ATOM 1818 H1 TIP3 307 -17.126 -20.514 -9.690 .00 .00 BULK ATOM 1819 H2 TIP3 307 -17.855 -19.351 -10.203 .00 .00 BULK ATOM 1820 OH2 TIP3 308 -19.807 -19.903 3.154 .00 .00 BULK ATOM 1821 H1 TIP3 308 -20.709 -20.230 3.499 .00 .00 BULK ATOM 1822 H2 TIP3 308 -19.827 -18.960 3.396 .00 .00 BULK ATOM 1823 OH2 TIP3 309 21.463 2.985 16.134 .00 .00 BULK ATOM 1824 H1 TIP3 309 22.206 2.915 16.725 .00 .00 BULK ATOM 1825 H2 TIP3 309 21.750 2.186 15.547 .00 .00 BULK ATOM 1826 OH2 TIP3 310 -8.552 16.708 14.924 .00 .00 BULK ATOM 1827 H1 TIP3 310 -8.809 15.838 15.292 .00 .00 BULK ATOM 1828 H2 TIP3 310 -7.627 16.648 14.642 .00 .00 BULK ATOM 1829 OH2 TIP3 311 -28.044 .342 10.910 .00 .00 BULK ATOM 1830 H1 TIP3 311 -28.189 1.254 11.189 .00 .00 BULK ATOM 1831 H2 TIP3 311 -28.334 .292 9.964 .00 .00 BULK ATOM 1832 OH2 TIP3 312 -2.348 7.504 11.372 .00 .00 BULK ATOM 1833 H1 TIP3 312 -2.114 7.496 12.269 .00 .00 BULK ATOM 1834 H2 TIP3 312 -1.534 7.236 10.924 .00 .00 BULK ATOM 1835 OH2 TIP3 313 -27.337 -19.075 -12.622 .00 .00 BULK ATOM 1836 H1 TIP3 313 -27.576 -19.744 -11.972 .00 .00 BULK ATOM 1837 H2 TIP3 313 -27.395 -18.286 -12.074 .00 .00 BULK ATOM 1838 OH2 TIP3 314 1.416 2.789 2.136 .00 .00 BULK ATOM 1839 H1 TIP3 314 1.197 2.604 1.192 .00 .00 BULK ATOM 1840 H2 TIP3 314 1.896 1.976 2.356 .00 .00 BULK ATOM 1841 OH2 TIP3 315 16.524 -21.860 12.133 .00 .00 BULK ATOM 1842 H1 TIP3 315 17.378 -22.120 12.506 .00 .00 BULK ATOM 1843 H2 TIP3 315 16.787 -21.909 11.153 .00 .00 BULK ATOM 1844 OH2 TIP3 316 20.825 -9.285 18.948 .00 .00 BULK ATOM 1845 H1 TIP3 316 20.313 -8.487 18.694 .00 .00 BULK ATOM 1846 H2 TIP3 316 21.505 -8.909 19.484 .00 .00 BULK ATOM 1847 OH2 TIP3 317 -14.956 21.619 3.735 .00 .00 BULK ATOM 1848 H1 TIP3 317 -15.010 20.728 3.391 .00 .00 BULK ATOM 1849 H2 TIP3 317 -14.688 21.406 4.629 .00 .00 BULK ATOM 1850 OH2 TIP3 318 .937 19.161 19.098 .00 .00 BULK ATOM 1851 H1 TIP3 318 .889 18.185 18.963 .00 .00 BULK ATOM 1852 H2 TIP3 318 1.812 19.380 18.756 .00 .00 BULK ATOM 1853 OH2 TIP3 319 -29.083 15.859 -.989 .00 .00 BULK ATOM 1854 H1 TIP3 319 -29.767 16.011 -.348 .00 .00 BULK ATOM 1855 H2 TIP3 319 -28.395 15.226 -.560 .00 .00 BULK ATOM 1856 OH2 TIP3 320 26.419 -23.174 8.372 .00 .00 BULK ATOM 1857 H1 TIP3 320 27.204 -23.544 7.906 .00 .00 BULK ATOM 1858 H2 TIP3 320 26.793 -22.391 8.656 .00 .00 BULK ATOM 1859 OH2 TIP3 321 -10.428 22.068 1.916 .00 .00 BULK ATOM 1860 H1 TIP3 321 -9.892 22.863 2.010 .00 .00 BULK ATOM 1861 H2 TIP3 321 -9.770 21.434 1.655 .00 .00 BULK ATOM 1862 OH2 TIP3 322 -29.990 16.162 -3.643 .00 .00 BULK ATOM 1863 H1 TIP3 322 -29.640 17.030 -3.931 .00 .00 BULK ATOM 1864 H2 TIP3 322 -29.451 15.979 -2.846 .00 .00 BULK ATOM 1865 OH2 TIP3 323 -27.801 8.704 -1.154 .00 .00 BULK ATOM 1866 H1 TIP3 323 -26.964 8.665 -.665 .00 .00 BULK ATOM 1867 H2 TIP3 323 -28.115 7.817 -.982 .00 .00 BULK ATOM 1868 OH2 TIP3 324 -24.153 -14.131 18.285 .00 .00 BULK ATOM 1869 H1 TIP3 324 -23.947 -13.175 18.429 .00 .00 BULK ATOM 1870 H2 TIP3 324 -24.653 -13.986 17.418 .00 .00 BULK ATOM 1871 OH2 TIP3 325 12.382 -.276 10.387 .00 .00 BULK ATOM 1872 H1 TIP3 325 11.985 .636 10.540 .00 .00 BULK ATOM 1873 H2 TIP3 325 13.363 -.172 10.598 .00 .00 BULK ATOM 1874 OH2 TIP3 326 25.334 -17.923 14.631 .00 .00 BULK ATOM 1875 H1 TIP3 326 24.638 -18.585 14.774 .00 .00 BULK ATOM 1876 H2 TIP3 326 25.017 -17.267 15.362 .00 .00 BULK ATOM 1877 OH2 TIP3 327 24.051 -13.143 -3.161 .00 .00 BULK ATOM 1878 H1 TIP3 327 24.943 -13.527 -3.343 .00 .00 BULK ATOM 1879 H2 TIP3 327 23.509 -13.571 -3.917 .00 .00 BULK ATOM 1880 OH2 TIP3 328 -12.159 11.082 -6.776 .00 .00 BULK ATOM 1881 H1 TIP3 328 -13.027 10.925 -7.157 .00 .00 BULK ATOM 1882 H2 TIP3 328 -12.047 12.003 -7.003 .00 .00 BULK ATOM 1883 OH2 TIP3 329 -20.099 -14.534 -10.709 .00 .00 BULK ATOM 1884 H1 TIP3 329 -20.646 -14.954 -11.440 .00 .00 BULK ATOM 1885 H2 TIP3 329 -20.800 -13.988 -10.249 .00 .00 BULK ATOM 1886 OH2 TIP3 330 -25.130 20.849 17.930 .00 .00 BULK ATOM 1887 H1 TIP3 330 -25.835 21.005 17.251 .00 .00 BULK ATOM 1888 H2 TIP3 330 -24.763 20.082 17.445 .00 .00 BULK ATOM 1889 OH2 TIP3 331 29.058 -12.043 15.419 .00 .00 BULK ATOM 1890 H1 TIP3 331 29.621 -11.385 14.878 .00 .00 BULK ATOM 1891 H2 TIP3 331 29.805 -12.531 15.922 .00 .00 BULK ATOM 1892 OH2 TIP3 332 -22.613 16.183 -20.563 .00 .00 BULK ATOM 1893 H1 TIP3 332 -23.394 16.653 -20.816 .00 .00 BULK ATOM 1894 H2 TIP3 332 -22.310 16.028 -21.483 .00 .00 BULK ATOM 1895 OH2 TIP3 333 -3.265 -16.443 11.399 .00 .00 BULK ATOM 1896 H1 TIP3 333 -2.268 -16.575 11.431 .00 .00 BULK ATOM 1897 H2 TIP3 333 -3.488 -16.389 12.393 .00 .00 BULK ATOM 1898 OH2 TIP3 334 -14.666 -7.431 -9.912 .00 .00 BULK ATOM 1899 H1 TIP3 334 -14.421 -7.984 -10.738 .00 .00 BULK ATOM 1900 H2 TIP3 334 -14.460 -7.971 -9.130 .00 .00 BULK ATOM 1901 OH2 TIP3 335 -18.416 -12.511 14.060 .00 .00 BULK ATOM 1902 H1 TIP3 335 -18.777 -12.783 14.934 .00 .00 BULK ATOM 1903 H2 TIP3 335 -17.762 -13.175 14.009 .00 .00 BULK ATOM 1904 OH2 TIP3 336 -10.967 18.505 -1.977 .00 .00 BULK ATOM 1905 H1 TIP3 336 -10.549 19.411 -2.112 .00 .00 BULK ATOM 1906 H2 TIP3 336 -10.967 18.477 -1.032 .00 .00 BULK ATOM 1907 OH2 TIP3 337 -20.790 -18.231 6.665 .00 .00 BULK ATOM 1908 H1 TIP3 337 -20.785 -18.705 7.497 .00 .00 BULK ATOM 1909 H2 TIP3 337 -19.935 -17.937 6.534 .00 .00 BULK ATOM 1910 OH2 TIP3 338 -14.645 10.974 19.579 .00 .00 BULK ATOM 1911 H1 TIP3 338 -14.646 10.034 19.840 .00 .00 BULK ATOM 1912 H2 TIP3 338 -14.866 10.901 18.623 .00 .00 BULK ATOM 1913 OH2 TIP3 339 13.112 14.133 1.089 .00 .00 BULK ATOM 1914 H1 TIP3 339 12.249 13.960 .716 .00 .00 BULK ATOM 1915 H2 TIP3 339 13.084 13.328 1.524 .00 .00 BULK ATOM 1916 OH2 TIP3 340 1.164 17.957 6.120 .00 .00 BULK ATOM 1917 H1 TIP3 340 1.616 17.327 5.543 .00 .00 BULK ATOM 1918 H2 TIP3 340 1.484 17.668 6.988 .00 .00 BULK ATOM 1919 OH2 TIP3 341 26.644 -6.027 -1.943 .00 .00 BULK ATOM 1920 H1 TIP3 341 26.415 -6.877 -1.508 .00 .00 BULK ATOM 1921 H2 TIP3 341 26.380 -5.515 -1.165 .00 .00 BULK ATOM 1922 OH2 TIP3 342 -18.821 -7.291 -2.522 .00 .00 BULK ATOM 1923 H1 TIP3 342 -18.344 -6.487 -2.671 .00 .00 BULK ATOM 1924 H2 TIP3 342 -19.727 -7.062 -2.310 .00 .00 BULK ATOM 1925 OH2 TIP3 343 -4.275 14.059 -7.172 .00 .00 BULK ATOM 1926 H1 TIP3 343 -3.756 13.387 -7.655 .00 .00 BULK ATOM 1927 H2 TIP3 343 -3.629 14.867 -7.209 .00 .00 BULK ATOM 1928 OH2 TIP3 344 -1.210 -21.023 -9.553 .00 .00 BULK ATOM 1929 H1 TIP3 344 -.578 -20.756 -10.167 .00 .00 BULK ATOM 1930 H2 TIP3 344 -1.666 -21.753 -10.011 .00 .00 BULK ATOM 1931 OH2 TIP3 345 -28.791 13.697 -13.513 .00 .00 BULK ATOM 1932 H1 TIP3 345 -28.488 12.842 -13.782 .00 .00 BULK ATOM 1933 H2 TIP3 345 -28.135 14.259 -13.957 .00 .00 BULK ATOM 1934 OH2 TIP3 346 -25.868 -18.045 8.369 .00 .00 BULK ATOM 1935 H1 TIP3 346 -26.082 -17.098 8.311 .00 .00 BULK ATOM 1936 H2 TIP3 346 -26.615 -18.530 8.018 .00 .00 BULK ATOM 1937 OH2 TIP3 347 -24.915 17.229 3.356 .00 .00 BULK ATOM 1938 H1 TIP3 347 -24.990 17.772 4.181 .00 .00 BULK ATOM 1939 H2 TIP3 347 -24.467 17.805 2.739 .00 .00 BULK ATOM 1940 OH2 TIP3 348 -21.385 -18.385 14.580 .00 .00 BULK ATOM 1941 H1 TIP3 348 -21.007 -17.664 15.134 .00 .00 BULK ATOM 1942 H2 TIP3 348 -22.277 -17.950 14.346 .00 .00 BULK ATOM 1943 OH2 TIP3 349 -5.316 20.571 5.646 .00 .00 BULK ATOM 1944 H1 TIP3 349 -5.060 21.105 6.428 .00 .00 BULK ATOM 1945 H2 TIP3 349 -4.579 19.907 5.715 .00 .00 BULK ATOM 1946 OH2 TIP3 350 -14.717 -20.796 .050 .00 .00 BULK ATOM 1947 H1 TIP3 350 -15.496 -20.537 .438 .00 .00 BULK ATOM 1948 H2 TIP3 350 -14.861 -20.602 -.868 .00 .00 BULK ATOM 1949 OH2 TIP3 351 12.710 9.546 -5.029 .00 .00 BULK ATOM 1950 H1 TIP3 351 13.155 10.452 -4.865 .00 .00 BULK ATOM 1951 H2 TIP3 351 12.546 9.500 -5.969 .00 .00 BULK ATOM 1952 OH2 TIP3 352 -20.653 .695 9.594 .00 .00 BULK ATOM 1953 H1 TIP3 352 -21.351 .254 9.088 .00 .00 BULK ATOM 1954 H2 TIP3 352 -21.024 1.563 9.821 .00 .00 BULK ATOM 1955 OH2 TIP3 353 20.175 20.336 23.729 .00 .00 BULK ATOM 1956 H1 TIP3 353 19.724 20.871 23.089 .00 .00 BULK ATOM 1957 H2 TIP3 353 20.074 19.450 23.320 .00 .00 BULK ATOM 1958 OH2 TIP3 354 -23.505 6.612 13.319 .00 .00 BULK ATOM 1959 H1 TIP3 354 -23.851 7.474 13.607 .00 .00 BULK ATOM 1960 H2 TIP3 354 -22.845 6.921 12.588 .00 .00 BULK ATOM 1961 OH2 TIP3 355 7.077 14.661 -17.505 .00 .00 BULK ATOM 1962 H1 TIP3 355 7.953 14.395 -17.118 .00 .00 BULK ATOM 1963 H2 TIP3 355 6.796 13.907 -17.988 .00 .00 BULK ATOM 1964 OH2 TIP3 356 -28.204 -7.208 -4.262 .00 .00 BULK ATOM 1965 H1 TIP3 356 -28.135 -8.107 -4.689 .00 .00 BULK ATOM 1966 H2 TIP3 356 -29.060 -7.287 -3.787 .00 .00 BULK ATOM 1967 OH2 TIP3 357 -24.651 -2.453 11.037 .00 .00 BULK ATOM 1968 H1 TIP3 357 -25.055 -1.580 11.130 .00 .00 BULK ATOM 1969 H2 TIP3 357 -23.761 -2.121 10.869 .00 .00 BULK ATOM 1970 OH2 TIP3 358 6.100 -19.507 -12.704 .00 .00 BULK ATOM 1971 H1 TIP3 358 6.540 -19.592 -11.777 .00 .00 BULK ATOM 1972 H2 TIP3 358 5.780 -18.598 -12.689 .00 .00 BULK ATOM 1973 OH2 TIP3 359 -11.852 17.546 -21.515 .00 .00 BULK ATOM 1974 H1 TIP3 359 -11.556 17.281 -20.673 .00 .00 BULK ATOM 1975 H2 TIP3 359 -12.130 18.528 -21.462 .00 .00 BULK ATOM 1976 OH2 TIP3 360 -18.015 18.766 -19.332 .00 .00 BULK ATOM 1977 H1 TIP3 360 -18.262 19.007 -18.459 .00 .00 BULK ATOM 1978 H2 TIP3 360 -18.909 18.522 -19.574 .00 .00 BULK ATOM 1979 OH2 TIP3 361 16.452 -17.383 18.908 .00 .00 BULK ATOM 1980 H1 TIP3 361 17.177 -18.005 18.721 .00 .00 BULK ATOM 1981 H2 TIP3 361 16.379 -17.590 19.852 .00 .00 BULK ATOM 1982 OH2 TIP3 362 29.363 8.203 -11.156 .00 .00 BULK ATOM 1983 H1 TIP3 362 28.834 7.716 -11.860 .00 .00 BULK ATOM 1984 H2 TIP3 362 29.945 7.463 -10.844 .00 .00 BULK ATOM 1985 OH2 TIP3 363 .752 -15.279 15.488 .00 .00 BULK ATOM 1986 H1 TIP3 363 .108 -15.382 14.743 .00 .00 BULK ATOM 1987 H2 TIP3 363 1.209 -16.138 15.446 .00 .00 BULK ATOM 1988 OH2 TIP3 364 23.842 13.062 -17.789 .00 .00 BULK ATOM 1989 H1 TIP3 364 24.466 13.455 -17.135 .00 .00 BULK ATOM 1990 H2 TIP3 364 23.280 13.808 -18.029 .00 .00 BULK ATOM 1991 OH2 TIP3 365 -15.743 12.692 11.755 .00 .00 BULK ATOM 1992 H1 TIP3 365 -15.731 12.585 10.749 .00 .00 BULK ATOM 1993 H2 TIP3 365 -14.830 12.957 11.893 .00 .00 BULK ATOM 1994 OH2 TIP3 366 -13.472 -18.698 -10.872 .00 .00 BULK ATOM 1995 H1 TIP3 366 -13.041 -18.177 -10.178 .00 .00 BULK ATOM 1996 H2 TIP3 366 -13.624 -19.539 -10.331 .00 .00 BULK ATOM 1997 OH2 TIP3 367 12.847 -9.176 -9.848 .00 .00 BULK ATOM 1998 H1 TIP3 367 13.766 -9.301 -10.143 .00 .00 BULK ATOM 1999 H2 TIP3 367 13.105 -9.497 -8.900 .00 .00 BULK ATOM 2000 OH2 TIP3 368 -17.738 8.145 2.853 .00 .00 BULK ATOM 2001 H1 TIP3 368 -18.034 7.460 3.507 .00 .00 BULK ATOM 2002 H2 TIP3 368 -17.744 8.893 3.494 .00 .00 BULK ATOM 2003 OH2 TIP3 369 -9.691 -12.271 -21.587 .00 .00 BULK ATOM 2004 H1 TIP3 369 -10.497 -11.978 -21.138 .00 .00 BULK ATOM 2005 H2 TIP3 369 -9.210 -12.784 -20.887 .00 .00 BULK ATOM 2006 OH2 TIP3 370 13.790 -20.713 -1.282 .00 .00 BULK ATOM 2007 H1 TIP3 370 14.688 -20.407 -1.423 .00 .00 BULK ATOM 2008 H2 TIP3 370 13.322 -20.437 -2.137 .00 .00 BULK ATOM 2009 OH2 TIP3 371 -1.111 -2.655 -19.148 .00 .00 BULK ATOM 2010 H1 TIP3 371 -2.001 -2.517 -19.555 .00 .00 BULK ATOM 2011 H2 TIP3 371 -1.163 -3.546 -18.859 .00 .00 BULK ATOM 2012 OH2 TIP3 372 -2.273 -5.144 17.424 .00 .00 BULK ATOM 2013 H1 TIP3 372 -1.857 -4.774 16.644 .00 .00 BULK ATOM 2014 H2 TIP3 372 -3.124 -4.577 17.361 .00 .00 BULK ATOM 2015 OH2 TIP3 373 -15.934 13.945 -22.477 .00 .00 BULK ATOM 2016 H1 TIP3 373 -15.234 13.544 -21.963 .00 .00 BULK ATOM 2017 H2 TIP3 373 -15.456 14.796 -22.599 .00 .00 BULK ATOM 2018 OH2 TIP3 374 26.648 20.006 2.504 .00 .00 BULK ATOM 2019 H1 TIP3 374 26.390 19.350 3.178 .00 .00 BULK ATOM 2020 H2 TIP3 374 27.601 20.080 2.644 .00 .00 BULK ATOM 2021 OH2 TIP3 375 24.426 -22.932 -7.204 .00 .00 BULK ATOM 2022 H1 TIP3 375 24.590 -22.562 -8.103 .00 .00 BULK ATOM 2023 H2 TIP3 375 23.488 -22.779 -7.094 .00 .00 BULK ATOM 2024 OH2 TIP3 376 10.805 11.967 11.329 .00 .00 BULK ATOM 2025 H1 TIP3 376 10.129 11.364 11.067 .00 .00 BULK ATOM 2026 H2 TIP3 376 10.361 12.757 11.595 .00 .00 BULK ATOM 2027 OH2 TIP3 377 29.179 15.341 4.747 .00 .00 BULK ATOM 2028 H1 TIP3 377 28.386 15.168 5.312 .00 .00 BULK ATOM 2029 H2 TIP3 377 28.761 15.495 3.863 .00 .00 BULK ATOM 2030 OH2 TIP3 378 -.073 -18.587 -20.559 .00 .00 BULK ATOM 2031 H1 TIP3 378 .603 -19.030 -20.022 .00 .00 BULK ATOM 2032 H2 TIP3 378 -.230 -17.687 -20.147 .00 .00 BULK ATOM 2033 OH2 TIP3 379 .852 -17.942 -23.768 .00 .00 BULK ATOM 2034 H1 TIP3 379 .039 -17.455 -23.870 .00 .00 BULK ATOM 2035 H2 TIP3 379 .984 -17.991 -22.788 .00 .00 BULK ATOM 2036 OH2 TIP3 380 22.982 16.722 3.121 .00 .00 BULK ATOM 2037 H1 TIP3 380 23.669 17.006 2.493 .00 .00 BULK ATOM 2038 H2 TIP3 380 22.388 17.544 3.144 .00 .00 BULK ATOM 2039 OH2 TIP3 381 10.385 -11.755 -10.425 .00 .00 BULK ATOM 2040 H1 TIP3 381 11.318 -11.752 -10.709 .00 .00 BULK ATOM 2041 H2 TIP3 381 10.379 -11.180 -9.609 .00 .00 BULK ATOM 2042 OH2 TIP3 382 9.620 -23.275 -2.219 .00 .00 BULK ATOM 2043 H1 TIP3 382 9.615 -22.265 -2.359 .00 .00 BULK ATOM 2044 H2 TIP3 382 10.614 -23.419 -2.180 .00 .00 BULK ATOM 2045 OH2 TIP3 383 15.457 23.069 1.796 .00 .00 BULK ATOM 2046 H1 TIP3 383 15.285 23.553 .916 .00 .00 BULK ATOM 2047 H2 TIP3 383 16.426 22.972 1.771 .00 .00 BULK ATOM 2048 OH2 TIP3 384 2.476 -19.291 -11.322 .00 .00 BULK ATOM 2049 H1 TIP3 384 2.700 -19.757 -10.529 .00 .00 BULK ATOM 2050 H2 TIP3 384 1.805 -19.978 -11.673 .00 .00 BULK ATOM 2051 OH2 TIP3 385 28.626 1.042 12.897 .00 .00 BULK ATOM 2052 H1 TIP3 385 28.949 .108 12.976 .00 .00 BULK ATOM 2053 H2 TIP3 385 28.762 1.224 11.969 .00 .00 BULK ATOM 2054 OH2 TIP3 386 10.583 12.715 -4.938 .00 .00 BULK ATOM 2055 H1 TIP3 386 9.998 13.462 -5.025 .00 .00 BULK ATOM 2056 H2 TIP3 386 11.470 13.173 -5.063 .00 .00 BULK ATOM 2057 OH2 TIP3 387 -18.160 -9.643 4.244 .00 .00 BULK ATOM 2058 H1 TIP3 387 -18.055 -9.661 5.205 .00 .00 BULK ATOM 2059 H2 TIP3 387 -18.977 -10.263 4.229 .00 .00 BULK ATOM 2060 OH2 TIP3 388 -6.054 14.230 11.978 .00 .00 BULK ATOM 2061 H1 TIP3 388 -6.010 13.303 12.312 .00 .00 BULK ATOM 2062 H2 TIP3 388 -5.297 14.161 11.397 .00 .00 BULK ATOM 2063 OH2 TIP3 389 -20.937 4.931 1.813 .00 .00 BULK ATOM 2064 H1 TIP3 389 -21.184 5.638 1.173 .00 .00 BULK ATOM 2065 H2 TIP3 389 -20.945 5.337 2.677 .00 .00 BULK ATOM 2066 OH2 TIP3 390 -14.513 13.215 6.562 .00 .00 BULK ATOM 2067 H1 TIP3 390 -13.900 12.715 6.025 .00 .00 BULK ATOM 2068 H2 TIP3 390 -15.329 13.222 6.019 .00 .00 BULK ATOM 2069 OH2 TIP3 391 -20.693 5.852 21.738 .00 .00 BULK ATOM 2070 H1 TIP3 391 -21.365 6.343 22.211 .00 .00 BULK ATOM 2071 H2 TIP3 391 -21.268 5.434 21.116 .00 .00 BULK ATOM 2072 OH2 TIP3 392 13.555 18.552 -4.045 .00 .00 BULK ATOM 2073 H1 TIP3 392 12.725 18.667 -3.573 .00 .00 BULK ATOM 2074 H2 TIP3 392 14.066 17.994 -3.399 .00 .00 BULK ATOM 2075 OH2 TIP3 393 -9.898 -18.257 -.252 .00 .00 BULK ATOM 2076 H1 TIP3 393 -10.770 -18.376 -.656 .00 .00 BULK ATOM 2077 H2 TIP3 393 -9.376 -18.877 -.855 .00 .00 BULK ATOM 2078 OH2 TIP3 394 10.961 -18.899 19.286 .00 .00 BULK ATOM 2079 H1 TIP3 394 11.239 -19.543 18.570 .00 .00 BULK ATOM 2080 H2 TIP3 394 11.552 -19.015 20.032 .00 .00 BULK ATOM 2081 OH2 TIP3 395 -6.430 18.500 -19.669 .00 .00 BULK ATOM 2082 H1 TIP3 395 -6.204 18.270 -18.756 .00 .00 BULK ATOM 2083 H2 TIP3 395 -7.386 18.504 -19.760 .00 .00 BULK ATOM 2084 OH2 TIP3 396 28.293 1.538 -1.243 .00 .00 BULK ATOM 2085 H1 TIP3 396 27.377 1.228 -1.234 .00 .00 BULK ATOM 2086 H2 TIP3 396 28.678 1.060 -2.007 .00 .00 BULK ATOM 2087 OH2 TIP3 397 -11.165 -3.730 -13.313 .00 .00 BULK ATOM 2088 H1 TIP3 397 -12.133 -3.834 -13.139 .00 .00 BULK ATOM 2089 H2 TIP3 397 -11.066 -2.808 -13.060 .00 .00 BULK ATOM 2090 OH2 TIP3 398 13.643 17.677 -6.641 .00 .00 BULK ATOM 2091 H1 TIP3 398 14.631 17.996 -6.691 .00 .00 BULK ATOM 2092 H2 TIP3 398 13.607 17.894 -5.668 .00 .00 BULK ATOM 2093 OH2 TIP3 399 10.920 11.043 -21.436 .00 .00 BULK ATOM 2094 H1 TIP3 399 9.998 10.729 -21.409 .00 .00 BULK ATOM 2095 H2 TIP3 399 10.769 11.660 -22.179 .00 .00 BULK ATOM 2096 OH2 TIP3 400 8.299 -7.084 -23.500 .00 .00 BULK ATOM 2097 H1 TIP3 400 8.103 -6.302 -22.921 .00 .00 BULK ATOM 2098 H2 TIP3 400 9.013 -7.459 -22.987 .00 .00 BULK ATOM 2099 OH2 TIP3 401 20.372 17.233 -12.053 .00 .00 BULK ATOM 2100 H1 TIP3 401 20.499 17.442 -11.168 .00 .00 BULK ATOM 2101 H2 TIP3 401 19.398 17.171 -12.071 .00 .00 BULK ATOM 2102 OH2 TIP3 402 17.226 14.949 -6.528 .00 .00 BULK ATOM 2103 H1 TIP3 402 18.039 15.114 -5.968 .00 .00 BULK ATOM 2104 H2 TIP3 402 17.544 15.399 -7.331 .00 .00 BULK ATOM 2105 OH2 TIP3 403 16.648 16.447 -9.135 .00 .00 BULK ATOM 2106 H1 TIP3 403 15.833 16.044 -8.804 .00 .00 BULK ATOM 2107 H2 TIP3 403 16.150 16.861 -9.850 .00 .00 BULK ATOM 2108 OH2 TIP3 404 12.008 14.285 -15.184 .00 .00 BULK ATOM 2109 H1 TIP3 404 12.955 14.164 -15.254 .00 .00 BULK ATOM 2110 H2 TIP3 404 11.613 13.711 -14.526 .00 .00 BULK ATOM 2111 OH2 TIP3 405 23.247 -20.639 16.324 .00 .00 BULK ATOM 2112 H1 TIP3 405 23.204 -20.358 15.441 .00 .00 BULK ATOM 2113 H2 TIP3 405 24.016 -21.317 16.343 .00 .00 BULK ATOM 2114 OH2 TIP3 406 -1.916 18.495 -16.898 .00 .00 BULK ATOM 2115 H1 TIP3 406 -1.742 17.768 -17.536 .00 .00 BULK ATOM 2116 H2 TIP3 406 -2.424 19.188 -17.325 .00 .00 BULK ATOM 2117 OH2 TIP3 407 -19.232 5.128 6.170 .00 .00 BULK ATOM 2118 H1 TIP3 407 -18.840 4.214 6.174 .00 .00 BULK ATOM 2119 H2 TIP3 407 -19.547 5.101 7.107 .00 .00 BULK ATOM 2120 OH2 TIP3 408 -26.574 16.898 -2.632 .00 .00 BULK ATOM 2121 H1 TIP3 408 -26.922 16.227 -2.022 .00 .00 BULK ATOM 2122 H2 TIP3 408 -25.900 17.412 -2.073 .00 .00 BULK ATOM 2123 OH2 TIP3 409 -27.510 22.536 16.433 .00 .00 BULK ATOM 2124 H1 TIP3 409 -26.860 22.598 15.729 .00 .00 BULK ATOM 2125 H2 TIP3 409 -28.291 22.977 16.043 .00 .00 BULK ATOM 2126 OH2 TIP3 410 29.072 -.547 -3.387 .00 .00 BULK ATOM 2127 H1 TIP3 410 29.284 -1.115 -4.133 .00 .00 BULK ATOM 2128 H2 TIP3 410 28.715 -1.191 -2.848 .00 .00 BULK ATOM 2129 OH2 TIP3 411 .330 12.031 -19.393 .00 .00 BULK ATOM 2130 H1 TIP3 411 .228 11.088 -19.679 .00 .00 BULK ATOM 2131 H2 TIP3 411 -.086 12.500 -20.203 .00 .00 BULK ATOM 2132 OH2 TIP3 412 28.711 21.170 -11.704 .00 .00 BULK ATOM 2133 H1 TIP3 412 29.627 21.038 -12.039 .00 .00 BULK ATOM 2134 H2 TIP3 412 28.201 20.720 -12.452 .00 .00 BULK ATOM 2135 OH2 TIP3 413 18.063 21.964 16.667 .00 .00 BULK ATOM 2136 H1 TIP3 413 17.602 22.308 15.841 .00 .00 BULK ATOM 2137 H2 TIP3 413 17.360 22.079 17.341 .00 .00 BULK ATOM 2138 OH2 TIP3 414 -10.127 21.839 -13.839 .00 .00 BULK ATOM 2139 H1 TIP3 414 -9.753 21.855 -14.681 .00 .00 BULK ATOM 2140 H2 TIP3 414 -9.874 22.751 -13.496 .00 .00 BULK ATOM 2141 OH2 TIP3 415 23.960 4.652 6.672 .00 .00 BULK ATOM 2142 H1 TIP3 415 23.597 4.510 7.585 .00 .00 BULK ATOM 2143 H2 TIP3 415 24.875 5.000 6.920 .00 .00 BULK ATOM 2144 OH2 TIP3 416 17.784 11.397 -.786 .00 .00 BULK ATOM 2145 H1 TIP3 416 18.130 10.484 -.476 .00 .00 BULK ATOM 2146 H2 TIP3 416 16.934 11.315 -.396 .00 .00 BULK ATOM 2147 OH2 TIP3 417 21.425 8.201 -13.615 .00 .00 BULK ATOM 2148 H1 TIP3 417 22.006 8.203 -14.378 .00 .00 BULK ATOM 2149 H2 TIP3 417 22.019 7.759 -12.960 .00 .00 BULK ATOM 2150 OH2 TIP3 418 -29.051 -2.792 -.155 .00 .00 BULK ATOM 2151 H1 TIP3 418 -29.363 -2.922 -1.055 .00 .00 BULK ATOM 2152 H2 TIP3 418 -28.981 -1.813 -.146 .00 .00 BULK ATOM 2153 OH2 TIP3 419 -26.519 9.748 2.946 .00 .00 BULK ATOM 2154 H1 TIP3 419 -25.904 9.449 3.663 .00 .00 BULK ATOM 2155 H2 TIP3 419 -27.265 9.890 3.499 .00 .00 BULK ATOM 2156 OH2 TIP3 420 -21.167 -14.938 17.735 .00 .00 BULK ATOM 2157 H1 TIP3 420 -22.053 -14.509 17.709 .00 .00 BULK ATOM 2158 H2 TIP3 420 -21.208 -15.227 18.608 .00 .00 BULK ATOM 2159 OH2 TIP3 421 18.594 5.682 -2.760 .00 .00 BULK ATOM 2160 H1 TIP3 421 17.669 5.435 -2.631 .00 .00 BULK ATOM 2161 H2 TIP3 421 18.671 5.730 -3.790 .00 .00 BULK ATOM 2162 OH2 TIP3 422 10.213 19.458 -.142 .00 .00 BULK ATOM 2163 H1 TIP3 422 9.709 18.834 -.733 .00 .00 BULK ATOM 2164 H2 TIP3 422 9.620 20.242 -.398 .00 .00 BULK ATOM 2165 OH2 TIP3 423 17.311 5.610 1.823 .00 .00 BULK ATOM 2166 H1 TIP3 423 17.773 4.871 2.275 .00 .00 BULK ATOM 2167 H2 TIP3 423 17.937 5.731 1.072 .00 .00 BULK ATOM 2168 OH2 TIP3 424 -28.311 21.313 18.755 .00 .00 BULK ATOM 2169 H1 TIP3 424 -27.836 21.636 17.987 .00 .00 BULK ATOM 2170 H2 TIP3 424 -29.242 21.484 18.501 .00 .00 BULK ATOM 2171 OH2 TIP3 425 29.627 16.014 17.960 .00 .00 BULK ATOM 2172 H1 TIP3 425 29.280 15.146 18.161 .00 .00 BULK ATOM 2173 H2 TIP3 425 29.415 16.042 17.064 .00 .00 BULK ATOM 2174 OH2 TIP3 426 27.649 4.679 2.449 .00 .00 BULK ATOM 2175 H1 TIP3 426 28.012 3.760 2.459 .00 .00 BULK ATOM 2176 H2 TIP3 426 28.462 5.140 2.371 .00 .00 BULK ATOM 2177 OH2 TIP3 427 20.546 -23.616 -11.837 .00 .00 BULK ATOM 2178 H1 TIP3 427 21.037 -23.303 -12.603 .00 .00 BULK ATOM 2179 H2 TIP3 427 20.528 -22.767 -11.396 .00 .00 BULK ATOM 2180 OH2 TIP3 428 21.819 -12.739 -19.547 .00 .00 BULK ATOM 2181 H1 TIP3 428 21.176 -13.230 -19.031 .00 .00 BULK ATOM 2182 H2 TIP3 428 21.235 -12.582 -20.284 .00 .00 BULK ATOM 2183 OH2 TIP3 429 -9.759 10.139 9.952 .00 .00 BULK ATOM 2184 H1 TIP3 429 -9.786 10.509 10.857 .00 .00 BULK ATOM 2185 H2 TIP3 429 -9.055 10.654 9.544 .00 .00 BULK ATOM 2186 OH2 TIP3 430 27.517 5.898 -18.664 .00 .00 BULK ATOM 2187 H1 TIP3 430 27.046 6.257 -17.932 .00 .00 BULK ATOM 2188 H2 TIP3 430 27.551 6.620 -19.349 .00 .00 BULK ATOM 2189 OH2 TIP3 431 28.953 7.354 15.311 .00 .00 BULK ATOM 2190 H1 TIP3 431 29.878 6.900 15.418 .00 .00 BULK ATOM 2191 H2 TIP3 431 29.300 8.192 15.483 .00 .00 BULK ATOM 2192 OH2 TIP3 432 -18.400 -5.987 -15.960 .00 .00 BULK ATOM 2193 H1 TIP3 432 -19.217 -5.450 -15.915 .00 .00 BULK ATOM 2194 H2 TIP3 432 -18.250 -6.134 -15.002 .00 .00 BULK ATOM 2195 OH2 TIP3 433 -21.755 7.887 8.594 .00 .00 BULK ATOM 2196 H1 TIP3 433 -21.157 8.525 8.191 .00 .00 BULK ATOM 2197 H2 TIP3 433 -22.530 8.227 8.210 .00 .00 BULK ATOM 2198 OH2 TIP3 434 -4.828 -7.220 -18.991 .00 .00 BULK ATOM 2199 H1 TIP3 434 -4.752 -7.748 -18.195 .00 .00 BULK ATOM 2200 H2 TIP3 434 -3.851 -7.259 -19.223 .00 .00 BULK ATOM 2201 OH2 TIP3 435 27.698 2.804 5.267 .00 .00 BULK ATOM 2202 H1 TIP3 435 27.164 2.725 6.053 .00 .00 BULK ATOM 2203 H2 TIP3 435 27.113 2.596 4.525 .00 .00 BULK ATOM 2204 OH2 TIP3 436 29.535 11.035 7.209 .00 .00 BULK ATOM 2205 H1 TIP3 436 28.636 11.266 6.934 .00 .00 BULK ATOM 2206 H2 TIP3 436 29.891 11.926 7.538 .00 .00 BULK ATOM 2207 OH2 TIP3 437 -17.666 10.508 -14.545 .00 .00 BULK ATOM 2208 H1 TIP3 437 -18.317 10.105 -15.167 .00 .00 BULK ATOM 2209 H2 TIP3 437 -17.775 11.433 -14.901 .00 .00 BULK ATOM 2210 OH2 TIP3 438 8.129 23.284 -7.748 .00 .00 BULK ATOM 2211 H1 TIP3 438 8.647 23.783 -7.051 .00 .00 BULK ATOM 2212 H2 TIP3 438 8.902 22.789 -8.187 .00 .00 BULK ATOM 2213 OH2 TIP3 439 -9.935 -21.902 -7.621 .00 .00 BULK ATOM 2214 H1 TIP3 439 -9.131 -21.291 -7.695 .00 .00 BULK ATOM 2215 H2 TIP3 439 -10.483 -21.299 -8.193 .00 .00 BULK ATOM 2216 OH2 TIP3 440 24.737 22.869 -17.112 .00 .00 BULK ATOM 2217 H1 TIP3 440 24.584 23.710 -16.610 .00 .00 BULK ATOM 2218 H2 TIP3 440 23.860 22.775 -17.580 .00 .00 BULK ATOM 2219 OH2 TIP3 441 -25.291 11.545 5.790 .00 .00 BULK ATOM 2220 H1 TIP3 441 -25.372 12.188 5.020 .00 .00 BULK ATOM 2221 H2 TIP3 441 -26.226 11.195 5.728 .00 .00 BULK ATOM 2222 OH2 TIP3 442 -11.574 4.628 -12.616 .00 .00 BULK ATOM 2223 H1 TIP3 442 -10.944 5.339 -12.822 .00 .00 BULK ATOM 2224 H2 TIP3 442 -11.910 4.841 -11.730 .00 .00 BULK ATOM 2225 OH2 TIP3 443 -25.478 -21.578 9.330 .00 .00 BULK ATOM 2226 H1 TIP3 443 -26.190 -21.954 9.914 .00 .00 BULK ATOM 2227 H2 TIP3 443 -25.981 -21.485 8.479 .00 .00 BULK ATOM 2228 OH2 TIP3 444 6.541 -2.169 11.946 .00 .00 BULK ATOM 2229 H1 TIP3 444 7.069 -2.694 11.360 .00 .00 BULK ATOM 2230 H2 TIP3 444 7.069 -2.085 12.690 .00 .00 BULK ATOM 2231 OH2 TIP3 445 -15.175 -9.812 -17.063 .00 .00 BULK ATOM 2232 H1 TIP3 445 -15.678 -10.144 -17.858 .00 .00 BULK ATOM 2233 H2 TIP3 445 -14.504 -9.231 -17.508 .00 .00 BULK ATOM 2234 OH2 TIP3 446 -28.226 17.698 -14.234 .00 .00 BULK ATOM 2235 H1 TIP3 446 -27.587 16.905 -14.288 .00 .00 BULK ATOM 2236 H2 TIP3 446 -29.032 17.240 -14.707 .00 .00 BULK ATOM 2237 OH2 TIP3 447 25.946 -11.869 -.088 .00 .00 BULK ATOM 2238 H1 TIP3 447 26.473 -12.328 -.821 .00 .00 BULK ATOM 2239 H2 TIP3 447 26.673 -11.425 .248 .00 .00 BULK ATOM 2240 OH2 TIP3 448 21.692 -22.512 -6.822 .00 .00 BULK ATOM 2241 H1 TIP3 448 21.593 -21.556 -6.566 .00 .00 BULK ATOM 2242 H2 TIP3 448 21.473 -22.429 -7.850 .00 .00 BULK ATOM 2243 OH2 TIP3 449 28.304 -16.761 14.327 .00 .00 BULK ATOM 2244 H1 TIP3 449 29.214 -16.512 14.652 .00 .00 BULK ATOM 2245 H2 TIP3 449 27.893 -17.158 15.057 .00 .00 BULK ATOM 2246 OH2 TIP3 450 -23.183 19.067 -9.254 .00 .00 BULK ATOM 2247 H1 TIP3 450 -23.582 19.663 -8.595 .00 .00 BULK ATOM 2248 H2 TIP3 450 -23.335 18.220 -8.735 .00 .00 BULK ATOM 2249 OH2 TIP3 451 28.397 18.826 -2.144 .00 .00 BULK ATOM 2250 H1 TIP3 451 29.363 18.748 -1.967 .00 .00 BULK ATOM 2251 H2 TIP3 451 28.057 18.803 -1.234 .00 .00 BULK ATOM 2252 OH2 TIP3 452 26.002 -5.617 -4.530 .00 .00 BULK ATOM 2253 H1 TIP3 452 26.450 -5.625 -3.646 .00 .00 BULK ATOM 2254 H2 TIP3 452 25.048 -5.732 -4.224 .00 .00 BULK ATOM 2255 OH2 TIP3 453 13.330 -.909 -17.615 .00 .00 BULK ATOM 2256 H1 TIP3 453 13.490 -.013 -17.926 .00 .00 BULK ATOM 2257 H2 TIP3 453 13.074 -1.450 -18.365 .00 .00 BULK ATOM 2258 OH2 TIP3 454 4.683 -8.978 -18.729 .00 .00 BULK ATOM 2259 H1 TIP3 454 4.576 -9.888 -19.008 .00 .00 BULK ATOM 2260 H2 TIP3 454 4.450 -8.506 -19.558 .00 .00 BULK ATOM 2261 OH2 TIP3 455 -26.553 -15.670 2.214 .00 .00 BULK ATOM 2262 H1 TIP3 455 -26.000 -16.298 1.851 .00 .00 BULK ATOM 2263 H2 TIP3 455 -25.821 -15.051 2.608 .00 .00 BULK ATOM 2264 OH2 TIP3 456 3.730 -10.519 -6.777 .00 .00 BULK ATOM 2265 H1 TIP3 456 3.493 -9.661 -7.086 .00 .00 BULK ATOM 2266 H2 TIP3 456 4.015 -10.909 -7.627 .00 .00 BULK ATOM 2267 OH2 TIP3 457 -26.046 -18.968 5.511 .00 .00 BULK ATOM 2268 H1 TIP3 457 -26.917 -18.968 5.976 .00 .00 BULK ATOM 2269 H2 TIP3 457 -25.786 -18.064 5.630 .00 .00 BULK ATOM 2270 OH2 TIP3 458 10.689 -7.709 -22.184 .00 .00 BULK ATOM 2271 H1 TIP3 458 10.665 -8.653 -21.940 .00 .00 BULK ATOM 2272 H2 TIP3 458 11.587 -7.656 -22.601 .00 .00 BULK ATOM 2273 OH2 TIP3 459 14.572 -12.598 -9.918 .00 .00 BULK ATOM 2274 H1 TIP3 459 14.736 -12.908 -9.021 .00 .00 BULK ATOM 2275 H2 TIP3 459 15.474 -12.331 -10.208 .00 .00 BULK ATOM 2276 OH2 TIP3 460 2.323 -12.079 -10.140 .00 .00 BULK ATOM 2277 H1 TIP3 460 2.667 -12.969 -10.222 .00 .00 BULK ATOM 2278 H2 TIP3 460 2.981 -11.640 -9.538 .00 .00 BULK ATOM 2279 OH2 TIP3 461 25.227 -.052 -3.630 .00 .00 BULK ATOM 2280 H1 TIP3 461 24.923 -.962 -3.597 .00 .00 BULK ATOM 2281 H2 TIP3 461 25.683 -.125 -4.445 .00 .00 BULK ATOM 2282 OH2 TIP3 462 15.572 7.703 -14.747 .00 .00 BULK ATOM 2283 H1 TIP3 462 14.847 8.320 -14.600 .00 .00 BULK ATOM 2284 H2 TIP3 462 15.090 7.159 -15.385 .00 .00 BULK ATOM 2285 OH2 TIP3 463 23.902 -5.634 -.727 .00 .00 BULK ATOM 2286 H1 TIP3 463 23.073 -5.665 -.232 .00 .00 BULK ATOM 2287 H2 TIP3 463 24.293 -6.583 -.683 .00 .00 BULK ATOM 2288 OH2 TIP3 464 27.097 -16.169 .573 .00 .00 BULK ATOM 2289 H1 TIP3 464 27.049 -16.582 -.353 .00 .00 BULK ATOM 2290 H2 TIP3 464 28.037 -15.845 .488 .00 .00 BULK ATOM 2291 OH2 TIP3 465 24.101 -11.388 -18.113 .00 .00 BULK ATOM 2292 H1 TIP3 465 23.984 -11.272 -17.121 .00 .00 BULK ATOM 2293 H2 TIP3 465 23.330 -11.939 -18.314 .00 .00 BULK ATOM 2294 OH2 TIP3 466 21.758 4.910 -14.371 .00 .00 BULK ATOM 2295 H1 TIP3 466 20.951 5.407 -14.122 .00 .00 BULK ATOM 2296 H2 TIP3 466 21.751 4.184 -13.674 .00 .00 BULK ATOM 2297 OH2 TIP3 467 14.228 4.252 -12.845 .00 .00 BULK ATOM 2298 H1 TIP3 467 15.096 4.385 -12.408 .00 .00 BULK ATOM 2299 H2 TIP3 467 14.541 3.730 -13.642 .00 .00 BULK ATOM 2300 OH2 TIP3 468 26.118 18.919 -21.366 .00 .00 BULK ATOM 2301 H1 TIP3 468 26.078 18.334 -22.112 .00 .00 BULK ATOM 2302 H2 TIP3 468 27.029 19.238 -21.372 .00 .00 BULK ATOM 2303 OH2 TIP3 469 18.165 -23.558 -7.785 .00 .00 BULK ATOM 2304 H1 TIP3 469 17.349 -23.911 -7.368 .00 .00 BULK ATOM 2305 H2 TIP3 469 17.969 -22.616 -7.680 .00 .00 BULK ATOM 2306 OH2 TIP3 470 28.029 3.669 -21.089 .00 .00 BULK ATOM 2307 H1 TIP3 470 27.350 4.270 -21.546 .00 .00 BULK ATOM 2308 H2 TIP3 470 28.809 4.244 -21.027 .00 .00 BULK ATOM 2309 OH2 TIP3 471 23.927 4.113 -9.037 .00 .00 BULK ATOM 2310 H1 TIP3 471 23.472 4.980 -8.852 .00 .00 BULK ATOM 2311 H2 TIP3 471 24.262 3.833 -8.098 .00 .00 BULK ATOM 2312 OH2 TIP3 472 -15.374 -22.055 9.828 .00 .00 BULK ATOM 2313 H1 TIP3 472 -15.285 -22.069 8.833 .00 .00 BULK ATOM 2314 H2 TIP3 472 -16.321 -22.010 9.952 .00 .00 BULK ATOM 2315 OH2 TIP3 473 7.773 11.255 -3.394 .00 .00 BULK ATOM 2316 H1 TIP3 473 8.737 11.278 -3.311 .00 .00 BULK ATOM 2317 H2 TIP3 473 7.456 11.914 -2.816 .00 .00 BULK ATOM 2318 OH2 TIP3 474 13.178 21.142 -5.174 .00 .00 BULK ATOM 2319 H1 TIP3 474 13.141 20.206 -4.906 .00 .00 BULK ATOM 2320 H2 TIP3 474 13.840 21.418 -4.459 .00 .00 BULK ATOM 2321 OH2 TIP3 475 -29.178 -15.572 7.240 .00 .00 BULK ATOM 2322 H1 TIP3 475 -29.997 -15.679 7.768 .00 .00 BULK ATOM 2323 H2 TIP3 475 -29.317 -16.113 6.524 .00 .00 BULK ATOM 2324 OH2 TIP3 476 18.679 -16.719 -2.819 .00 .00 BULK ATOM 2325 H1 TIP3 476 17.689 -16.631 -2.884 .00 .00 BULK ATOM 2326 H2 TIP3 476 19.067 -15.836 -2.744 .00 .00 BULK ATOM 2327 OH2 TIP3 477 16.914 -18.763 8.371 .00 .00 BULK ATOM 2328 H1 TIP3 477 16.607 -17.947 8.753 .00 .00 BULK ATOM 2329 H2 TIP3 477 17.563 -18.351 7.760 .00 .00 BULK ATOM 2330 OH2 TIP3 478 21.451 -16.698 1.598 .00 .00 BULK ATOM 2331 H1 TIP3 478 21.599 -17.090 2.495 .00 .00 BULK ATOM 2332 H2 TIP3 478 22.285 -16.967 1.190 .00 .00 BULK ATOM 2333 OH2 TIP3 479 20.810 -22.299 7.991 .00 .00 BULK ATOM 2334 H1 TIP3 479 21.639 -22.327 8.544 .00 .00 BULK ATOM 2335 H2 TIP3 479 21.105 -23.035 7.437 .00 .00 BULK ATOM 2336 OH2 TIP3 480 -28.269 -15.377 9.970 .00 .00 BULK ATOM 2337 H1 TIP3 480 -29.117 -15.420 9.482 .00 .00 BULK ATOM 2338 H2 TIP3 480 -28.374 -16.147 10.622 .00 .00 BULK ATOM 2339 OH2 TIP3 481 -30.172 -22.092 -22.538 .00 .00 BULK ATOM 2340 H1 TIP3 481 -30.417 -21.394 -23.240 .00 .00 BULK ATOM 2341 H2 TIP3 481 -29.199 -22.096 -22.688 .00 .00 BULK ATOM 2342 OH2 TIP3 482 -22.720 -22.647 10.982 .00 .00 BULK ATOM 2343 H1 TIP3 482 -23.372 -22.293 10.302 .00 .00 BULK ATOM 2344 H2 TIP3 482 -22.060 -21.946 11.106 .00 .00 BULK ATOM 2345 OH2 TIP3 483 16.061 .895 -16.730 .00 .00 BULK ATOM 2346 H1 TIP3 483 16.533 .560 -17.514 .00 .00 BULK ATOM 2347 H2 TIP3 483 16.818 1.341 -16.295 .00 .00 BULK ATOM 2348 OH2 TIP3 484 25.242 -10.888 5.630 .00 .00 BULK ATOM 2349 H1 TIP3 484 24.834 -10.097 5.193 .00 .00 BULK ATOM 2350 H2 TIP3 484 24.723 -11.583 5.219 .00 .00 BULK ATOM 2351 OH2 TIP3 485 -26.644 .869 -6.209 .00 .00 BULK ATOM 2352 H1 TIP3 485 -25.865 1.375 -6.548 .00 .00 BULK ATOM 2353 H2 TIP3 485 -27.321 1.519 -6.406 .00 .00 BULK ATOM 2354 OH2 TIP3 486 -4.115 -2.457 -8.432 .00 .00 BULK ATOM 2355 H1 TIP3 486 -3.507 -2.355 -9.227 .00 .00 BULK ATOM 2356 H2 TIP3 486 -3.604 -3.132 -7.984 .00 .00 BULK ATOM 2357 OH2 TIP3 487 24.728 14.923 -5.518 .00 .00 BULK ATOM 2358 H1 TIP3 487 24.376 14.076 -5.351 .00 .00 BULK ATOM 2359 H2 TIP3 487 25.462 15.030 -4.891 .00 .00 BULK ATOM 2360 OH2 TIP3 488 -25.034 3.743 -15.735 .00 .00 BULK ATOM 2361 H1 TIP3 488 -24.304 4.287 -15.513 .00 .00 BULK ATOM 2362 H2 TIP3 488 -25.507 3.695 -14.853 .00 .00 BULK ATOM 2363 OH2 TIP3 489 26.093 -22.651 -13.467 .00 .00 BULK ATOM 2364 H1 TIP3 489 26.606 -22.637 -12.663 .00 .00 BULK ATOM 2365 H2 TIP3 489 26.775 -23.090 -13.978 .00 .00 BULK ATOM 2366 OH2 TIP3 490 21.489 -20.474 -11.939 .00 .00 BULK ATOM 2367 H1 TIP3 490 21.527 -19.583 -11.475 .00 .00 BULK ATOM 2368 H2 TIP3 490 21.825 -20.304 -12.809 .00 .00 BULK ATOM 2369 OH2 TIP3 491 27.713 -4.718 -18.727 .00 .00 BULK ATOM 2370 H1 TIP3 491 27.966 -4.247 -19.551 .00 .00 BULK ATOM 2371 H2 TIP3 491 28.291 -5.514 -18.821 .00 .00 BULK ATOM 2372 OH2 TIP3 492 1.785 -10.428 15.820 .00 .00 BULK ATOM 2373 H1 TIP3 492 2.062 -11.140 16.436 .00 .00 BULK ATOM 2374 H2 TIP3 492 1.671 -9.644 16.445 .00 .00 BULK ATOM 2375 OH2 TIP3 493 -21.983 -5.290 -7.035 .00 .00 BULK ATOM 2376 H1 TIP3 493 -22.960 -5.185 -6.963 .00 .00 BULK ATOM 2377 H2 TIP3 493 -21.941 -6.196 -7.339 .00 .00 BULK ATOM 2378 OH2 TIP3 494 -2.960 -15.407 13.984 .00 .00 BULK ATOM 2379 H1 TIP3 494 -2.882 -15.628 14.906 .00 .00 BULK ATOM 2380 H2 TIP3 494 -2.145 -14.951 13.838 .00 .00 BULK ATOM 2381 OH2 TIP3 495 13.437 -10.225 21.416 .00 .00 BULK ATOM 2382 H1 TIP3 495 14.281 -9.862 21.696 .00 .00 BULK ATOM 2383 H2 TIP3 495 13.475 -10.117 20.459 .00 .00 BULK ATOM 2384 OH2 TIP3 496 -15.519 -19.145 -5.975 .00 .00 BULK ATOM 2385 H1 TIP3 496 -14.852 -19.525 -5.382 .00 .00 BULK ATOM 2386 H2 TIP3 496 -15.580 -19.860 -6.600 .00 .00 BULK ATOM 2387 OH2 TIP3 497 -30.138 -16.812 -16.010 .00 .00 BULK ATOM 2388 H1 TIP3 497 -29.217 -16.515 -16.166 .00 .00 BULK ATOM 2389 H2 TIP3 497 -30.449 -16.047 -15.518 .00 .00 BULK ATOM 2390 OH2 TIP3 498 -25.281 -16.843 -12.849 .00 .00 BULK ATOM 2391 H1 TIP3 498 -25.997 -16.512 -12.253 .00 .00 BULK ATOM 2392 H2 TIP3 498 -25.627 -17.730 -13.086 .00 .00 BULK ATOM 2393 OH2 TIP3 499 27.224 -9.118 20.306 .00 .00 BULK ATOM 2394 H1 TIP3 499 26.640 -8.546 19.713 .00 .00 BULK ATOM 2395 H2 TIP3 499 27.603 -9.737 19.761 .00 .00 BULK ATOM 2396 OH2 TIP3 500 -27.441 3.583 -10.819 .00 .00 BULK ATOM 2397 H1 TIP3 500 -27.502 2.628 -10.695 .00 .00 BULK ATOM 2398 H2 TIP3 500 -26.816 3.729 -10.098 .00 .00 BULK ATOM 2399 OH2 TIP3 501 -13.289 -21.179 22.759 .00 .00 BULK ATOM 2400 H1 TIP3 501 -12.442 -21.346 23.083 .00 .00 BULK ATOM 2401 H2 TIP3 501 -13.150 -21.106 21.803 .00 .00 BULK ATOM 2402 OH2 TIP3 502 -27.084 23.765 10.822 .00 .00 BULK ATOM 2403 H1 TIP3 502 -26.462 22.946 10.674 .00 .00 BULK ATOM 2404 H2 TIP3 502 -27.610 23.509 11.603 .00 .00 BULK ATOM 2405 OH2 TIP3 503 -19.911 -20.747 -19.050 .00 .00 BULK ATOM 2406 H1 TIP3 503 -19.981 -19.954 -18.558 .00 .00 BULK ATOM 2407 H2 TIP3 503 -20.576 -20.594 -19.751 .00 .00 BULK ATOM 2408 OH2 TIP3 504 -16.404 -14.113 13.488 .00 .00 BULK ATOM 2409 H1 TIP3 504 -15.658 -14.593 13.140 .00 .00 BULK ATOM 2410 H2 TIP3 504 -16.860 -14.865 13.989 .00 .00 BULK ATOM 2411 OH2 TIP3 505 -27.053 -8.027 -21.996 .00 .00 BULK ATOM 2412 H1 TIP3 505 -26.187 -8.338 -22.485 .00 .00 BULK ATOM 2413 H2 TIP3 505 -27.269 -8.817 -21.407 .00 .00 BULK ATOM 2414 OH2 TIP3 506 22.938 -7.260 -17.709 .00 .00 BULK ATOM 2415 H1 TIP3 506 22.843 -8.141 -17.317 .00 .00 BULK ATOM 2416 H2 TIP3 506 23.884 -7.145 -17.904 .00 .00 BULK ATOM 2417 OH2 TIP3 507 -25.308 -20.244 -17.188 .00 .00 BULK ATOM 2418 H1 TIP3 507 -25.114 -21.135 -16.921 .00 .00 BULK ATOM 2419 H2 TIP3 507 -25.963 -20.494 -17.841 .00 .00 BULK ATOM 2420 OH2 TIP3 508 -23.263 -18.952 -18.634 .00 .00 BULK ATOM 2421 H1 TIP3 508 -23.550 -18.776 -19.603 .00 .00 BULK ATOM 2422 H2 TIP3 508 -23.896 -19.566 -18.302 .00 .00 BULK ATOM 2423 OH2 TIP3 509 24.316 17.865 21.359 .00 .00 BULK ATOM 2424 H1 TIP3 509 24.100 16.982 21.647 .00 .00 BULK ATOM 2425 H2 TIP3 509 25.257 17.721 21.206 .00 .00 BULK ATOM 2426 OH2 TIP3 510 -13.875 20.586 -19.855 .00 .00 BULK ATOM 2427 H1 TIP3 510 -14.161 20.813 -20.759 .00 .00 BULK ATOM 2428 H2 TIP3 510 -13.974 21.434 -19.333 .00 .00 BULK ATOM 2429 OH2 TIP3 511 -29.600 -1.109 12.902 .00 .00 BULK ATOM 2430 H1 TIP3 511 -29.112 -.605 12.251 .00 .00 BULK ATOM 2431 H2 TIP3 511 -28.848 -1.147 13.529 .00 .00 BULK ATOM 2432 OH2 TIP3 512 29.358 9.775 -6.620 .00 .00 BULK ATOM 2433 H1 TIP3 512 29.775 10.577 -6.912 .00 .00 BULK ATOM 2434 H2 TIP3 512 29.335 9.247 -7.400 .00 .00 BULK ATOM 2435 OH2 TIP3 513 -11.557 -15.890 13.893 .00 .00 BULK ATOM 2436 H1 TIP3 513 -11.820 -16.707 13.369 .00 .00 BULK ATOM 2437 H2 TIP3 513 -10.639 -16.123 14.134 .00 .00 BULK ATOM 2438 OH2 TIP3 514 14.115 7.680 -3.473 .00 .00 BULK ATOM 2439 H1 TIP3 514 13.602 8.173 -4.122 .00 .00 BULK ATOM 2440 H2 TIP3 514 14.190 6.819 -3.824 .00 .00 BULK ATOM 2441 OH2 TIP3 515 19.535 1.707 11.927 .00 .00 BULK ATOM 2442 H1 TIP3 515 20.533 1.600 11.902 .00 .00 BULK ATOM 2443 H2 TIP3 515 19.414 2.060 11.094 .00 .00 BULK ATOM 2444 OH2 TIP3 516 21.548 12.813 -6.198 .00 .00 BULK ATOM 2445 H1 TIP3 516 21.358 12.060 -6.765 .00 .00 BULK ATOM 2446 H2 TIP3 516 22.169 12.412 -5.563 .00 .00 BULK ATOM 2447 OH2 TIP3 517 26.976 3.128 19.780 .00 .00 BULK ATOM 2448 H1 TIP3 517 26.299 2.358 19.789 .00 .00 BULK ATOM 2449 H2 TIP3 517 27.104 3.121 18.794 .00 .00 BULK ATOM 2450 OH2 TIP3 518 20.142 12.063 23.524 .00 .00 BULK ATOM 2451 H1 TIP3 518 20.580 11.268 23.166 .00 .00 BULK ATOM 2452 H2 TIP3 518 19.284 11.636 23.837 .00 .00 BULK ATOM 2453 OH2 TIP3 519 -16.070 4.441 17.184 .00 .00 BULK ATOM 2454 H1 TIP3 519 -16.936 4.083 16.880 .00 .00 BULK ATOM 2455 H2 TIP3 519 -16.285 5.210 17.718 .00 .00 BULK ATOM 2456 OH2 TIP3 520 11.907 -10.792 2.129 .00 .00 BULK ATOM 2457 H1 TIP3 520 12.580 -11.475 1.941 .00 .00 BULK ATOM 2458 H2 TIP3 520 11.039 -11.087 1.899 .00 .00 BULK ATOM 2459 OH2 TIP3 521 23.569 18.803 5.981 .00 .00 BULK ATOM 2460 H1 TIP3 521 23.011 18.868 6.765 .00 .00 BULK ATOM 2461 H2 TIP3 521 23.105 18.965 5.151 .00 .00 BULK ATOM 2462 OH2 TIP3 522 13.024 -12.408 16.830 .00 .00 BULK ATOM 2463 H1 TIP3 522 13.100 -13.344 16.697 .00 .00 BULK ATOM 2464 H2 TIP3 522 12.124 -12.316 16.480 .00 .00 BULK ATOM 2465 OH2 TIP3 523 24.635 -15.475 23.212 .00 .00 BULK ATOM 2466 H1 TIP3 523 24.295 -15.592 22.313 .00 .00 BULK ATOM 2467 H2 TIP3 523 23.855 -15.433 23.727 .00 .00 BULK ATOM 2468 OH2 TIP3 524 18.698 19.268 16.937 .00 .00 BULK ATOM 2469 H1 TIP3 524 18.848 19.448 17.892 .00 .00 BULK ATOM 2470 H2 TIP3 524 18.588 20.187 16.654 .00 .00 BULK ATOM 2471 OH2 TIP3 525 18.576 9.042 6.129 .00 .00 BULK ATOM 2472 H1 TIP3 525 18.072 8.201 5.946 .00 .00 BULK ATOM 2473 H2 TIP3 525 19.285 8.737 6.740 .00 .00 BULK ATOM 2474 OH2 TIP3 526 2.036 12.627 .847 .00 .00 BULK ATOM 2475 H1 TIP3 526 2.756 12.326 1.475 .00 .00 BULK ATOM 2476 H2 TIP3 526 1.512 13.044 1.567 .00 .00 BULK ATOM 2477 OH2 TIP3 527 9.423 19.666 -19.459 .00 .00 BULK ATOM 2478 H1 TIP3 527 8.568 20.162 -19.410 .00 .00 BULK ATOM 2479 H2 TIP3 527 9.962 20.097 -18.744 .00 .00 BULK ATOM 2480 OH2 TIP3 528 18.281 -11.072 7.242 .00 .00 BULK ATOM 2481 H1 TIP3 528 18.462 -10.216 6.782 .00 .00 BULK ATOM 2482 H2 TIP3 528 18.218 -11.761 6.519 .00 .00 BULK ATOM 2483 OH2 TIP3 529 11.761 18.252 -15.893 .00 .00 BULK ATOM 2484 H1 TIP3 529 10.909 17.777 -15.522 .00 .00 BULK ATOM 2485 H2 TIP3 529 12.218 17.501 -16.245 .00 .00 BULK ATOM 2486 OH2 TIP3 530 29.193 .583 1.301 .00 .00 BULK ATOM 2487 H1 TIP3 530 28.274 .728 1.655 .00 .00 BULK ATOM 2488 H2 TIP3 530 29.010 .759 .408 .00 .00 BULK ATOM 2489 OH2 TIP3 531 16.428 20.552 5.344 .00 .00 BULK ATOM 2490 H1 TIP3 531 16.456 21.206 6.066 .00 .00 BULK ATOM 2491 H2 TIP3 531 17.165 20.816 4.853 .00 .00 BULK ATOM 2492 OH2 TIP3 532 -28.408 6.564 15.454 .00 .00 BULK ATOM 2493 H1 TIP3 532 -27.812 7.215 15.109 .00 .00 BULK ATOM 2494 H2 TIP3 532 -27.953 6.226 16.279 .00 .00 BULK ATOM 2495 OH2 TIP3 533 8.545 5.289 16.534 .00 .00 BULK ATOM 2496 H1 TIP3 533 9.492 5.468 16.357 .00 .00 BULK ATOM 2497 H2 TIP3 533 8.202 6.237 16.584 .00 .00 BULK ATOM 2498 OH2 TIP3 534 16.809 6.931 -7.775 .00 .00 BULK ATOM 2499 H1 TIP3 534 16.545 6.564 -8.596 .00 .00 BULK ATOM 2500 H2 TIP3 534 16.354 7.848 -7.811 .00 .00 BULK ATOM 2501 OH2 TIP3 535 2.351 11.211 20.517 .00 .00 BULK ATOM 2502 H1 TIP3 535 2.459 11.290 21.514 .00 .00 BULK ATOM 2503 H2 TIP3 535 3.281 10.941 20.288 .00 .00 BULK ATOM 2504 OH2 TIP3 536 19.342 22.470 19.345 .00 .00 BULK ATOM 2505 H1 TIP3 536 18.786 23.009 18.783 .00 .00 BULK ATOM 2506 H2 TIP3 536 20.168 22.653 18.937 .00 .00 BULK ATOM 2507 OH2 TIP3 537 3.812 -22.280 -7.137 .00 .00 BULK ATOM 2508 H1 TIP3 537 3.504 -22.118 -6.249 .00 .00 BULK ATOM 2509 H2 TIP3 537 4.162 -23.211 -7.034 .00 .00 BULK ATOM 2510 OH2 TIP3 538 1.493 20.693 6.003 .00 .00 BULK ATOM 2511 H1 TIP3 538 1.363 19.738 5.735 .00 .00 BULK ATOM 2512 H2 TIP3 538 1.706 20.543 6.940 .00 .00 BULK ATOM 2513 OH2 TIP3 539 24.845 5.007 -6.360 .00 .00 BULK ATOM 2514 H1 TIP3 539 25.441 5.784 -6.502 .00 .00 BULK ATOM 2515 H2 TIP3 539 25.139 4.788 -5.455 .00 .00 BULK ATOM 2516 OH2 TIP3 540 24.320 20.345 -8.053 .00 .00 BULK ATOM 2517 H1 TIP3 540 24.947 20.921 -7.539 .00 .00 BULK ATOM 2518 H2 TIP3 540 23.959 20.985 -8.675 .00 .00 BULK ATOM 2519 OH2 TIP3 541 -4.229 -21.371 11.418 .00 .00 BULK ATOM 2520 H1 TIP3 541 -4.277 -22.161 11.972 .00 .00 BULK ATOM 2521 H2 TIP3 541 -5.108 -21.449 10.919 .00 .00 BULK ATOM 2522 OH2 TIP3 542 18.155 -1.861 10.741 .00 .00 BULK ATOM 2523 H1 TIP3 542 18.027 -2.780 11.108 .00 .00 BULK ATOM 2524 H2 TIP3 542 17.916 -1.285 11.496 .00 .00 BULK ATOM 2525 OH2 TIP3 543 12.068 3.581 19.149 .00 .00 BULK ATOM 2526 H1 TIP3 543 12.556 3.230 19.908 .00 .00 BULK ATOM 2527 H2 TIP3 543 11.383 4.035 19.681 .00 .00 BULK ATOM 2528 OH2 TIP3 544 18.947 12.553 5.803 .00 .00 BULK ATOM 2529 H1 TIP3 544 19.330 12.423 6.693 .00 .00 BULK ATOM 2530 H2 TIP3 544 19.510 11.917 5.351 .00 .00 BULK ATOM 2531 OH2 TIP3 545 29.661 23.641 -10.571 .00 .00 BULK ATOM 2532 H1 TIP3 545 30.468 23.411 -10.093 .00 .00 BULK ATOM 2533 H2 TIP3 545 29.497 22.798 -11.026 .00 .00 BULK ATOM 2534 OH2 TIP3 546 1.753 22.312 -23.022 .00 .00 BULK ATOM 2535 H1 TIP3 546 2.200 21.860 -23.737 .00 .00 BULK ATOM 2536 H2 TIP3 546 1.175 22.705 -23.670 .00 .00 BULK ATOM 2537 OH2 TIP3 547 -12.018 -10.591 18.871 .00 .00 BULK ATOM 2538 H1 TIP3 547 -12.428 -11.300 18.347 .00 .00 BULK ATOM 2539 H2 TIP3 547 -12.781 -9.991 18.889 .00 .00 BULK ATOM 2540 OH2 TIP3 548 21.833 1.514 -19.465 .00 .00 BULK ATOM 2541 H1 TIP3 548 22.698 1.051 -19.595 .00 .00 BULK ATOM 2542 H2 TIP3 548 21.868 1.835 -18.578 .00 .00 BULK ATOM 2543 OH2 TIP3 549 27.282 13.882 -13.995 .00 .00 BULK ATOM 2544 H1 TIP3 549 27.801 13.316 -13.429 .00 .00 BULK ATOM 2545 H2 TIP3 549 28.031 14.147 -14.628 .00 .00 BULK ATOM 2546 OH2 TIP3 550 19.203 16.947 -16.487 .00 .00 BULK ATOM 2547 H1 TIP3 550 18.400 17.325 -16.077 .00 .00 BULK ATOM 2548 H2 TIP3 550 19.065 15.999 -16.388 .00 .00 BULK ATOM 2549 OH2 TIP3 551 24.936 19.941 14.550 .00 .00 BULK ATOM 2550 H1 TIP3 551 24.119 20.291 14.932 .00 .00 BULK ATOM 2551 H2 TIP3 551 25.069 19.138 15.002 .00 .00 BULK ATOM 2552 OH2 TIP3 552 -6.401 21.814 -3.961 .00 .00 BULK ATOM 2553 H1 TIP3 552 -5.591 22.368 -3.927 .00 .00 BULK ATOM 2554 H2 TIP3 552 -6.033 21.064 -4.448 .00 .00 BULK ATOM 2555 OH2 TIP3 553 25.415 4.792 -11.933 .00 .00 BULK ATOM 2556 H1 TIP3 553 25.704 5.268 -11.142 .00 .00 BULK ATOM 2557 H2 TIP3 553 25.683 3.906 -11.663 .00 .00 BULK ATOM 2558 OH2 TIP3 554 -26.959 14.032 -.364 .00 .00 BULK ATOM 2559 H1 TIP3 554 -26.103 13.604 -.407 .00 .00 BULK ATOM 2560 H2 TIP3 554 -27.442 13.463 .287 .00 .00 BULK ATOM 2561 OH2 TIP3 555 18.384 10.230 14.323 .00 .00 BULK ATOM 2562 H1 TIP3 555 19.183 10.632 13.965 .00 .00 BULK ATOM 2563 H2 TIP3 555 18.377 10.833 15.090 .00 .00 BULK ATOM 2564 OH2 TIP3 556 23.575 9.278 10.571 .00 .00 BULK ATOM 2565 H1 TIP3 556 24.427 9.280 10.923 .00 .00 BULK ATOM 2566 H2 TIP3 556 23.204 8.427 10.887 .00 .00 BULK ATOM 2567 OH2 TIP3 557 3.947 -13.115 20.434 .00 .00 BULK ATOM 2568 H1 TIP3 557 4.018 -12.150 20.452 .00 .00 BULK ATOM 2569 H2 TIP3 557 4.870 -13.317 20.614 .00 .00 BULK ATOM 2570 OH2 TIP3 558 13.340 22.077 .326 .00 .00 BULK ATOM 2571 H1 TIP3 558 13.953 21.307 .477 .00 .00 BULK ATOM 2572 H2 TIP3 558 13.844 22.707 .909 .00 .00 BULK ATOM 2573 OH2 TIP3 559 9.527 14.555 11.503 .00 .00 BULK ATOM 2574 H1 TIP3 559 10.013 15.409 11.214 .00 .00 BULK ATOM 2575 H2 TIP3 559 8.701 14.875 11.197 .00 .00 BULK ATOM 2576 OH2 TIP3 560 -28.636 -5.890 -14.762 .00 .00 BULK ATOM 2577 H1 TIP3 560 -28.017 -5.441 -14.169 .00 .00 BULK ATOM 2578 H2 TIP3 560 -28.899 -6.538 -14.136 .00 .00 BULK ATOM 2579 OH2 TIP3 561 19.430 -22.983 -17.129 .00 .00 BULK ATOM 2580 H1 TIP3 561 20.429 -23.004 -17.079 .00 .00 BULK ATOM 2581 H2 TIP3 561 19.272 -23.288 -18.073 .00 .00 BULK ATOM 2582 OH2 TIP3 562 21.229 -13.379 10.633 .00 .00 BULK ATOM 2583 H1 TIP3 562 20.520 -12.667 10.687 .00 .00 BULK ATOM 2584 H2 TIP3 562 21.974 -12.980 11.103 .00 .00 BULK ATOM 2585 OH2 TIP3 563 -18.570 15.843 13.589 .00 .00 BULK ATOM 2586 H1 TIP3 563 -18.551 16.138 12.648 .00 .00 BULK ATOM 2587 H2 TIP3 563 -18.981 16.611 14.129 .00 .00 BULK ATOM 2588 OH2 TIP3 564 23.239 14.424 14.240 .00 .00 BULK ATOM 2589 H1 TIP3 564 23.054 15.344 14.405 .00 .00 BULK ATOM 2590 H2 TIP3 564 23.875 14.395 13.564 .00 .00 BULK ATOM 2591 OH2 TIP3 565 11.869 2.458 10.405 .00 .00 BULK ATOM 2592 H1 TIP3 565 12.355 3.287 10.168 .00 .00 BULK ATOM 2593 H2 TIP3 565 11.849 2.573 11.383 .00 .00 BULK ATOM 2594 OH2 TIP3 566 24.693 -.180 11.310 .00 .00 BULK ATOM 2595 H1 TIP3 566 25.100 -.774 10.667 .00 .00 BULK ATOM 2596 H2 TIP3 566 24.728 .681 10.857 .00 .00 BULK ATOM 2597 OH2 TIP3 567 29.059 18.429 19.279 .00 .00 BULK ATOM 2598 H1 TIP3 567 29.505 17.553 18.938 .00 .00 BULK ATOM 2599 H2 TIP3 567 28.285 18.151 19.835 .00 .00 BULK ATOM 2600 OH2 TIP3 568 16.660 -14.779 8.920 .00 .00 BULK ATOM 2601 H1 TIP3 568 17.614 -14.467 8.903 .00 .00 BULK ATOM 2602 H2 TIP3 568 16.200 -14.124 8.343 .00 .00 BULK ATOM 2603 OH2 TIP3 569 22.436 5.380 -5.160 .00 .00 BULK ATOM 2604 H1 TIP3 569 23.187 5.070 -5.670 .00 .00 BULK ATOM 2605 H2 TIP3 569 22.582 4.971 -4.293 .00 .00 BULK ATOM 2606 OH2 TIP3 570 -29.335 -17.482 11.215 .00 .00 BULK ATOM 2607 H1 TIP3 570 -29.119 -18.005 12.041 .00 .00 BULK ATOM 2608 H2 TIP3 570 -30.317 -17.643 11.292 .00 .00 BULK ATOM 2609 OH2 TIP3 571 29.387 16.462 -18.522 .00 .00 BULK ATOM 2610 H1 TIP3 571 28.441 16.752 -18.551 .00 .00 BULK ATOM 2611 H2 TIP3 571 29.805 17.288 -18.205 .00 .00 BULK ATOM 2612 OH2 TIP3 572 -21.948 -12.846 -9.057 .00 .00 BULK ATOM 2613 H1 TIP3 572 -21.724 -11.901 -8.938 .00 .00 BULK ATOM 2614 H2 TIP3 572 -22.237 -12.848 -9.977 .00 .00 BULK ATOM 2615 OH2 TIP3 573 -10.956 11.064 -17.844 .00 .00 BULK ATOM 2616 H1 TIP3 573 -10.874 10.330 -17.257 .00 .00 BULK ATOM 2617 H2 TIP3 573 -10.033 11.186 -18.139 .00 .00 BULK ATOM 2618 OH2 TIP3 574 -8.483 -.014 16.561 .00 .00 BULK ATOM 2619 H1 TIP3 574 -9.346 .385 16.724 .00 .00 BULK ATOM 2620 H2 TIP3 574 -8.710 -.661 15.932 .00 .00 BULK ATOM 2621 OH2 TIP3 575 -6.611 14.620 21.766 .00 .00 BULK ATOM 2622 H1 TIP3 575 -6.817 15.431 21.267 .00 .00 BULK ATOM 2623 H2 TIP3 575 -6.967 14.871 22.705 .00 .00 BULK ATOM 2624 OH2 TIP3 576 -22.988 -10.367 11.677 .00 .00 BULK ATOM 2625 H1 TIP3 576 -22.133 -9.995 11.640 .00 .00 BULK ATOM 2626 H2 TIP3 576 -23.037 -10.513 10.711 .00 .00 BULK ATOM 2627 OH2 TIP3 577 28.862 -2.514 19.870 .00 .00 BULK ATOM 2628 H1 TIP3 577 28.433 -1.808 20.370 .00 .00 BULK ATOM 2629 H2 TIP3 577 28.173 -2.714 19.271 .00 .00 BULK ATOM 2630 OH2 TIP3 578 26.028 -16.565 8.657 .00 .00 BULK ATOM 2631 H1 TIP3 578 25.145 -16.564 8.217 .00 .00 BULK ATOM 2632 H2 TIP3 578 25.711 -16.783 9.525 .00 .00 BULK ATOM 2633 OH2 TIP3 579 -12.791 -10.165 9.635 .00 .00 BULK ATOM 2634 H1 TIP3 579 -12.842 -11.029 9.238 .00 .00 BULK ATOM 2635 H2 TIP3 579 -13.550 -9.682 9.209 .00 .00 BULK ATOM 2636 OH2 TIP3 580 -.844 -21.580 9.673 .00 .00 BULK ATOM 2637 H1 TIP3 580 -1.567 -21.189 9.125 .00 .00 BULK ATOM 2638 H2 TIP3 580 -.461 -22.298 9.073 .00 .00 BULK ATOM 2639 OH2 TIP3 581 18.460 -20.204 10.322 .00 .00 BULK ATOM 2640 H1 TIP3 581 18.584 -19.661 11.075 .00 .00 BULK ATOM 2641 H2 TIP3 581 18.085 -19.471 9.809 .00 .00 BULK ATOM 2642 OH2 TIP3 582 13.876 -7.973 5.981 .00 .00 BULK ATOM 2643 H1 TIP3 582 13.185 -8.601 5.979 .00 .00 BULK ATOM 2644 H2 TIP3 582 13.867 -7.597 5.039 .00 .00 BULK ATOM 2645 OH2 TIP3 583 -28.347 4.772 8.480 .00 .00 BULK ATOM 2646 H1 TIP3 583 -29.307 4.509 8.487 .00 .00 BULK ATOM 2647 H2 TIP3 583 -27.884 3.925 8.171 .00 .00 BULK ATOM 2648 OH2 TIP3 584 16.649 -11.402 21.873 .00 .00 BULK ATOM 2649 H1 TIP3 584 17.455 -11.009 21.648 .00 .00 BULK ATOM 2650 H2 TIP3 584 16.096 -10.687 22.231 .00 .00 BULK ATOM 2651 OH2 TIP3 585 24.528 -.372 2.698 .00 .00 BULK ATOM 2652 H1 TIP3 585 24.068 -.304 3.550 .00 .00 BULK ATOM 2653 H2 TIP3 585 24.509 .575 2.349 .00 .00 BULK ATOM 2654 OH2 TIP3 586 -13.355 11.362 -18.969 .00 .00 BULK ATOM 2655 H1 TIP3 586 -13.194 11.943 -19.718 .00 .00 BULK ATOM 2656 H2 TIP3 586 -12.457 11.107 -18.530 .00 .00 BULK ATOM 2657 OH2 TIP3 587 24.542 -7.626 10.786 .00 .00 BULK ATOM 2658 H1 TIP3 587 25.250 -7.528 10.131 .00 .00 BULK ATOM 2659 H2 TIP3 587 24.578 -8.581 10.632 .00 .00 BULK ATOM 2660 OH2 TIP3 588 25.054 -2.019 9.052 .00 .00 BULK ATOM 2661 H1 TIP3 588 25.071 -3.012 9.042 .00 .00 BULK ATOM 2662 H2 TIP3 588 24.205 -1.848 8.589 .00 .00 BULK ATOM 2663 OH2 TIP3 589 -.147 -18.364 -.562 .00 .00 BULK ATOM 2664 H1 TIP3 589 .050 -17.745 .199 .00 .00 BULK ATOM 2665 H2 TIP3 589 -.427 -19.123 .004 .00 .00 BULK ATOM 2666 OH2 TIP3 590 11.565 -15.103 16.405 .00 .00 BULK ATOM 2667 H1 TIP3 590 11.140 -15.625 17.089 .00 .00 BULK ATOM 2668 H2 TIP3 590 11.329 -15.731 15.747 .00 .00 BULK ATOM 2669 OH2 TIP3 591 3.034 -14.564 -7.040 .00 .00 BULK ATOM 2670 H1 TIP3 591 2.300 -15.195 -6.955 .00 .00 BULK ATOM 2671 H2 TIP3 591 3.161 -14.571 -8.019 .00 .00 BULK ATOM 2672 OH2 TIP3 592 -25.553 -12.670 9.484 .00 .00 BULK ATOM 2673 H1 TIP3 592 -25.545 -13.643 9.287 .00 .00 BULK ATOM 2674 H2 TIP3 592 -24.644 -12.512 9.298 .00 .00 BULK ATOM 2675 OH2 TIP3 593 2.430 -18.076 -17.120 .00 .00 BULK ATOM 2676 H1 TIP3 593 1.922 -18.078 -16.307 .00 .00 BULK ATOM 2677 H2 TIP3 593 3.195 -17.588 -16.771 .00 .00 BULK ATOM 2678 OH2 TIP3 594 15.624 -22.997 20.809 .00 .00 BULK ATOM 2679 H1 TIP3 594 14.803 -22.685 20.334 .00 .00 BULK ATOM 2680 H2 TIP3 594 16.344 -22.288 20.682 .00 .00 BULK ATOM 2681 OH2 TIP3 595 19.408 -5.456 14.050 .00 .00 BULK ATOM 2682 H1 TIP3 595 18.715 -5.856 14.592 .00 .00 BULK ATOM 2683 H2 TIP3 595 20.193 -5.909 14.500 .00 .00 BULK ATOM 2684 OH2 TIP3 596 19.721 4.112 21.862 .00 .00 BULK ATOM 2685 H1 TIP3 596 20.487 3.503 21.844 .00 .00 BULK ATOM 2686 H2 TIP3 596 19.696 4.139 22.809 .00 .00 BULK ATOM 2687 OH2 TIP3 597 5.742 -15.808 -4.621 .00 .00 BULK ATOM 2688 H1 TIP3 597 6.118 -16.413 -5.295 .00 .00 BULK ATOM 2689 H2 TIP3 597 5.664 -16.511 -3.904 .00 .00 BULK ATOM 2690 OH2 TIP3 598 19.249 6.722 -16.511 .00 .00 BULK ATOM 2691 H1 TIP3 598 19.518 7.165 -17.295 .00 .00 BULK ATOM 2692 H2 TIP3 598 19.901 5.990 -16.670 .00 .00 BULK ATOM 2693 OH2 TIP3 599 21.601 3.523 12.946 .00 .00 BULK ATOM 2694 H1 TIP3 599 22.576 3.751 12.947 .00 .00 BULK ATOM 2695 H2 TIP3 599 21.525 3.315 13.900 .00 .00 BULK ATOM 2696 OH2 TIP3 600 5.728 -17.551 3.372 .00 .00 BULK ATOM 2697 H1 TIP3 600 5.744 -16.772 2.817 .00 .00 BULK ATOM 2698 H2 TIP3 600 5.729 -18.267 2.695 .00 .00 BULK ATOM 2699 OH2 TIP3 601 -4.862 -13.075 14.866 .00 .00 BULK ATOM 2700 H1 TIP3 601 -5.008 -12.980 15.810 .00 .00 BULK ATOM 2701 H2 TIP3 601 -3.964 -12.869 14.701 .00 .00 BULK ATOM 2702 OH2 TIP3 602 29.572 -22.290 -1.816 .00 .00 BULK ATOM 2703 H1 TIP3 602 29.688 -22.888 -2.500 .00 .00 BULK ATOM 2704 H2 TIP3 602 28.760 -21.873 -2.086 .00 .00 BULK ATOM 2705 OH2 TIP3 603 20.361 4.454 8.668 .00 .00 BULK ATOM 2706 H1 TIP3 603 20.179 4.600 9.625 .00 .00 BULK ATOM 2707 H2 TIP3 603 20.177 3.513 8.527 .00 .00 BULK ATOM 2708 OH2 TIP3 604 27.490 -.315 20.790 .00 .00 BULK ATOM 2709 H1 TIP3 604 26.583 -.331 20.438 .00 .00 BULK ATOM 2710 H2 TIP3 604 27.791 .629 20.561 .00 .00 BULK ATOM 2711 OH2 TIP3 605 -30.121 8.072 4.933 .00 .00 BULK ATOM 2712 H1 TIP3 605 -29.480 7.638 4.257 .00 .00 BULK ATOM 2713 H2 TIP3 605 -29.641 7.793 5.737 .00 .00 BULK ATOM 2714 OH2 TIP3 606 21.994 5.109 -.271 .00 .00 BULK ATOM 2715 H1 TIP3 606 22.264 5.587 .486 .00 .00 BULK ATOM 2716 H2 TIP3 606 21.989 4.144 .067 .00 .00 BULK ATOM 2717 OH2 TIP3 607 12.892 -.434 -23.045 .00 .00 BULK ATOM 2718 H1 TIP3 607 13.035 -.609 -23.965 .00 .00 BULK ATOM 2719 H2 TIP3 607 13.406 -1.138 -22.618 .00 .00 BULK ATOM 2720 OH2 TIP3 608 19.041 -9.335 21.741 .00 .00 BULK ATOM 2721 H1 TIP3 608 19.437 -10.098 21.278 .00 .00 BULK ATOM 2722 H2 TIP3 608 19.518 -8.576 21.377 .00 .00 BULK ATOM 2723 OH2 TIP3 609 -15.430 -2.218 -17.664 .00 .00 BULK ATOM 2724 H1 TIP3 609 -14.964 -2.969 -17.970 .00 .00 BULK ATOM 2725 H2 TIP3 609 -16.192 -2.680 -17.269 .00 .00 BULK ATOM 2726 OH2 TIP3 610 -16.642 21.166 7.939 .00 .00 BULK ATOM 2727 H1 TIP3 610 -17.072 21.414 7.062 .00 .00 BULK ATOM 2728 H2 TIP3 610 -15.805 20.770 7.561 .00 .00 BULK ATOM 2729 OH2 TIP3 611 8.730 -.707 23.634 .00 .00 BULK ATOM 2730 H1 TIP3 611 9.436 -.216 24.079 .00 .00 BULK ATOM 2731 H2 TIP3 611 8.729 -.199 22.828 .00 .00 BULK ATOM 2732 OH2 TIP3 612 13.032 -17.858 23.719 .00 .00 BULK ATOM 2733 H1 TIP3 612 12.622 -17.031 23.370 .00 .00 BULK ATOM 2734 H2 TIP3 612 13.307 -18.303 22.875 .00 .00 BULK ATOM 2735 OH2 TIP3 613 -6.592 -5.243 15.473 .00 .00 BULK ATOM 2736 H1 TIP3 613 -6.627 -5.233 16.454 .00 .00 BULK ATOM 2737 H2 TIP3 613 -5.898 -4.578 15.308 .00 .00 BULK ATOM 2738 OH2 TIP3 614 -21.530 -11.910 19.657 .00 .00 BULK ATOM 2739 H1 TIP3 614 -21.539 -11.251 20.273 .00 .00 BULK ATOM 2740 H2 TIP3 614 -22.350 -11.961 19.211 .00 .00 BULK ATOM 2741 OH2 TIP3 615 7.232 -18.891 16.264 .00 .00 BULK ATOM 2742 H1 TIP3 615 7.342 -17.960 16.660 .00 .00 BULK ATOM 2743 H2 TIP3 615 7.209 -19.399 17.098 .00 .00 BULK ATOM 2744 OH2 TIP3 616 -29.530 -23.084 15.440 .00 .00 BULK ATOM 2745 H1 TIP3 616 -29.798 -23.570 14.665 .00 .00 BULK ATOM 2746 H2 TIP3 616 -30.375 -22.913 15.795 .00 .00 BULK ATOM 2747 OH2 TIP3 617 -17.690 -2.757 -22.775 .00 .00 BULK ATOM 2748 H1 TIP3 617 -17.938 -2.541 -23.684 .00 .00 BULK ATOM 2749 H2 TIP3 617 -16.760 -2.983 -22.820 .00 .00 BULK ATOM 2750 OH2 TIP3 618 22.915 1.117 14.337 .00 .00 BULK ATOM 2751 H1 TIP3 618 23.814 .681 14.448 .00 .00 BULK ATOM 2752 H2 TIP3 618 22.702 .899 13.414 .00 .00 BULK ATOM 2753 OH2 TIP3 619 18.441 -3.728 17.652 .00 .00 BULK ATOM 2754 H1 TIP3 619 18.191 -3.039 18.358 .00 .00 BULK ATOM 2755 H2 TIP3 619 18.065 -3.256 16.903 .00 .00 BULK ATOM 2756 OH2 TIP3 620 26.587 2.871 16.870 .00 .00 BULK ATOM 2757 H1 TIP3 620 27.089 2.110 16.603 .00 .00 BULK ATOM 2758 H2 TIP3 620 26.488 3.386 16.064 .00 .00 BULK ATOM 2759 OH2 TIP3 621 27.234 -14.040 -4.858 .00 .00 BULK ATOM 2760 H1 TIP3 621 26.559 -14.714 -5.051 .00 .00 BULK ATOM 2761 H2 TIP3 621 27.442 -13.674 -5.751 .00 .00 BULK ATOM 2762 OH2 TIP3 622 28.818 -7.648 6.725 .00 .00 BULK ATOM 2763 H1 TIP3 622 29.102 -8.572 6.792 .00 .00 BULK ATOM 2764 H2 TIP3 622 28.421 -7.470 7.592 .00 .00 BULK ATOM 2765 OH2 TIP3 623 -26.291 -19.558 17.845 .00 .00 BULK ATOM 2766 H1 TIP3 623 -26.325 -20.462 17.549 .00 .00 BULK ATOM 2767 H2 TIP3 623 -25.346 -19.373 17.646 .00 .00 BULK ATOM 2768 OH2 TIP3 624 -7.077 -17.671 1.776 .00 .00 BULK ATOM 2769 H1 TIP3 624 -7.201 -18.617 1.984 .00 .00 BULK ATOM 2770 H2 TIP3 624 -7.961 -17.445 2.217 .00 .00 BULK ATOM 2771 OH2 TIP3 625 16.070 -17.844 15.419 .00 .00 BULK ATOM 2772 H1 TIP3 625 16.657 -18.548 15.663 .00 .00 BULK ATOM 2773 H2 TIP3 625 15.307 -18.404 15.344 .00 .00 BULK ATOM 2774 OH2 TIP3 626 -27.286 4.921 4.639 .00 .00 BULK ATOM 2775 H1 TIP3 626 -27.117 4.252 5.347 .00 .00 BULK ATOM 2776 H2 TIP3 626 -27.405 4.376 3.829 .00 .00 BULK ATOM 2777 OH2 TIP3 627 -25.624 -1.520 4.383 .00 .00 BULK ATOM 2778 H1 TIP3 627 -25.675 -2.271 3.768 .00 .00 BULK ATOM 2779 H2 TIP3 627 -24.952 -1.861 5.013 .00 .00 BULK ATOM 2780 OH2 TIP3 628 -27.893 11.398 16.122 .00 .00 BULK ATOM 2781 H1 TIP3 628 -27.288 11.441 16.925 .00 .00 BULK ATOM 2782 H2 TIP3 628 -27.156 11.290 15.461 .00 .00 BULK ATOM 2783 OH2 TIP3 629 -27.168 6.638 10.264 .00 .00 BULK ATOM 2784 H1 TIP3 629 -27.624 5.909 9.758 .00 .00 BULK ATOM 2785 H2 TIP3 629 -27.807 6.998 10.866 .00 .00 BULK ATOM 2786 OH2 TIP3 630 29.321 -18.933 -1.919 .00 .00 BULK ATOM 2787 H1 TIP3 630 29.201 -19.407 -1.059 .00 .00 BULK ATOM 2788 H2 TIP3 630 28.429 -18.747 -2.197 .00 .00 BULK ATOM 2789 OH2 TIP3 631 -9.289 -20.756 -11.536 .00 .00 BULK ATOM 2790 H1 TIP3 631 -8.670 -21.452 -11.098 .00 .00 BULK ATOM 2791 H2 TIP3 631 -8.885 -19.885 -11.373 .00 .00 BULK ATOM 2792 OH2 TIP3 632 -15.282 15.096 -6.611 .00 .00 BULK ATOM 2793 H1 TIP3 632 -15.139 15.996 -6.231 .00 .00 BULK ATOM 2794 H2 TIP3 632 -16.228 14.907 -6.618 .00 .00 BULK ATOM 2795 OH2 TIP3 633 -12.902 19.520 2.804 .00 .00 BULK ATOM 2796 H1 TIP3 633 -12.187 19.111 3.368 .00 .00 BULK ATOM 2797 H2 TIP3 633 -13.715 19.079 3.099 .00 .00 BULK ATOM 2798 OH2 TIP3 634 -18.685 -12.129 -11.222 .00 .00 BULK ATOM 2799 H1 TIP3 634 -19.089 -13.056 -11.289 .00 .00 BULK ATOM 2800 H2 TIP3 634 -17.913 -12.258 -10.635 .00 .00 BULK ATOM 2801 OH2 TIP3 635 26.089 7.493 -6.895 .00 .00 BULK ATOM 2802 H1 TIP3 635 26.247 8.187 -6.257 .00 .00 BULK ATOM 2803 H2 TIP3 635 25.637 8.064 -7.550 .00 .00 BULK ATOM 2804 OH2 TIP3 636 -22.323 -1.702 -18.289 .00 .00 BULK ATOM 2805 H1 TIP3 636 -23.147 -1.450 -17.852 .00 .00 BULK ATOM 2806 H2 TIP3 636 -22.610 -1.454 -19.178 .00 .00 BULK ATOM 2807 OH2 TIP3 637 10.051 4.265 -14.050 .00 .00 BULK ATOM 2808 H1 TIP3 637 10.369 4.220 -13.127 .00 .00 BULK ATOM 2809 H2 TIP3 637 10.151 3.424 -14.316 .00 .00 BULK ATOM 2810 OH2 TIP3 638 26.260 8.868 11.966 .00 .00 BULK ATOM 2811 H1 TIP3 638 26.838 9.178 12.727 .00 .00 BULK ATOM 2812 H2 TIP3 638 26.059 7.944 12.202 .00 .00 BULK ATOM 2813 OH2 TIP3 639 -24.221 -22.238 18.965 .00 .00 BULK ATOM 2814 H1 TIP3 639 -23.974 -22.218 18.064 .00 .00 BULK ATOM 2815 H2 TIP3 639 -23.513 -22.707 19.416 .00 .00 BULK ATOM 2816 OH2 TIP3 640 -30.099 -2.847 -5.817 .00 .00 BULK ATOM 2817 H1 TIP3 640 -29.445 -3.585 -5.987 .00 .00 BULK ATOM 2818 H2 TIP3 640 -29.631 -2.107 -6.273 .00 .00 BULK ATOM 2819 OH2 TIP3 641 -12.950 16.141 -13.072 .00 .00 BULK ATOM 2820 H1 TIP3 641 -12.988 15.222 -12.921 .00 .00 BULK ATOM 2821 H2 TIP3 641 -12.668 16.162 -14.018 .00 .00 BULK ATOM 2822 OH2 TIP3 642 -15.819 7.286 -.262 .00 .00 BULK ATOM 2823 H1 TIP3 642 -16.147 8.159 .052 .00 .00 BULK ATOM 2824 H2 TIP3 642 -16.621 6.684 -.449 .00 .00 BULK ATOM 2825 OH2 TIP3 643 -12.862 8.672 -20.579 .00 .00 BULK ATOM 2826 H1 TIP3 643 -11.928 8.641 -20.374 .00 .00 BULK ATOM 2827 H2 TIP3 643 -13.179 8.845 -19.651 .00 .00 BULK ATOM 2828 OH2 TIP3 644 -21.349 -23.277 1.394 .00 .00 BULK ATOM 2829 H1 TIP3 644 -20.777 -23.225 2.169 .00 .00 BULK ATOM 2830 H2 TIP3 644 -22.177 -23.616 1.746 .00 .00 BULK ATOM 2831 OH2 TIP3 645 -19.545 -1.137 11.673 .00 .00 BULK ATOM 2832 H1 TIP3 645 -20.479 -1.106 12.104 .00 .00 BULK ATOM 2833 H2 TIP3 645 -19.505 -.317 11.180 .00 .00 BULK ATOM 2834 OH2 TIP3 646 -20.292 21.711 -22.865 .00 .00 BULK ATOM 2835 H1 TIP3 646 -20.990 21.536 -22.257 .00 .00 BULK ATOM 2836 H2 TIP3 646 -19.608 21.811 -22.204 .00 .00 BULK ATOM 2837 OH2 TIP3 647 -28.538 9.613 13.097 .00 .00 BULK ATOM 2838 H1 TIP3 647 -27.867 9.275 13.676 .00 .00 BULK ATOM 2839 H2 TIP3 647 -28.951 8.769 12.701 .00 .00 BULK ATOM 2840 OH2 TIP3 648 -11.555 -1.538 -16.036 .00 .00 BULK ATOM 2841 H1 TIP3 648 -11.020 -.745 -16.249 .00 .00 BULK ATOM 2842 H2 TIP3 648 -11.733 -1.270 -15.125 .00 .00 BULK ATOM 2843 OH2 TIP3 649 16.400 23.296 -4.772 .00 .00 BULK ATOM 2844 H1 TIP3 649 17.137 22.653 -4.758 .00 .00 BULK ATOM 2845 H2 TIP3 649 15.994 23.075 -3.913 .00 .00 BULK ATOM 2846 OH2 TIP3 650 -8.798 22.209 -11.192 .00 .00 BULK ATOM 2847 H1 TIP3 650 -9.673 22.461 -10.739 .00 .00 BULK ATOM 2848 H2 TIP3 650 -8.293 23.029 -11.084 .00 .00 BULK ATOM 2849 OH2 TIP3 651 -22.513 10.144 -10.349 .00 .00 BULK ATOM 2850 H1 TIP3 651 -22.650 11.091 -10.116 .00 .00 BULK ATOM 2851 H2 TIP3 651 -21.937 10.235 -11.153 .00 .00 BULK ATOM 2852 OH2 TIP3 652 -24.468 -6.034 3.791 .00 .00 BULK ATOM 2853 H1 TIP3 652 -24.185 -6.476 4.651 .00 .00 BULK ATOM 2854 H2 TIP3 652 -23.849 -5.320 3.810 .00 .00 BULK ATOM 2855 OH2 TIP3 653 -20.784 10.374 7.570 .00 .00 BULK ATOM 2856 H1 TIP3 653 -21.515 10.782 8.032 .00 .00 BULK ATOM 2857 H2 TIP3 653 -20.689 10.944 6.813 .00 .00 BULK ATOM 2858 OH2 TIP3 654 -20.853 -15.454 1.048 .00 .00 BULK ATOM 2859 H1 TIP3 654 -21.587 -15.170 .504 .00 .00 BULK ATOM 2860 H2 TIP3 654 -21.255 -16.263 1.399 .00 .00 BULK ATOM 2861 OH2 TIP3 655 -21.980 -6.911 -12.788 .00 .00 BULK ATOM 2862 H1 TIP3 655 -21.998 -5.974 -13.069 .00 .00 BULK ATOM 2863 H2 TIP3 655 -21.326 -6.815 -12.076 .00 .00 BULK ATOM 2864 OH2 TIP3 656 -13.756 -9.016 -11.909 .00 .00 BULK ATOM 2865 H1 TIP3 656 -14.519 -9.649 -12.088 .00 .00 BULK ATOM 2866 H2 TIP3 656 -13.115 -9.360 -12.529 .00 .00 BULK ATOM 2867 OH2 TIP3 657 -8.735 -9.357 -17.265 .00 .00 BULK ATOM 2868 H1 TIP3 657 -8.440 -9.162 -18.153 .00 .00 BULK ATOM 2869 H2 TIP3 657 -7.921 -9.476 -16.857 .00 .00 BULK ATOM 2870 OH2 TIP3 658 -14.929 19.810 -9.099 .00 .00 BULK ATOM 2871 H1 TIP3 658 -14.893 19.419 -8.223 .00 .00 BULK ATOM 2872 H2 TIP3 658 -15.857 19.607 -9.410 .00 .00 BULK ATOM 2873 OH2 TIP3 659 -14.930 -17.417 -12.750 .00 .00 BULK ATOM 2874 H1 TIP3 659 -15.558 -17.000 -12.155 .00 .00 BULK ATOM 2875 H2 TIP3 659 -14.296 -17.801 -12.078 .00 .00 BULK ATOM 2876 OH2 TIP3 660 -28.433 18.165 -4.245 .00 .00 BULK ATOM 2877 H1 TIP3 660 -27.676 17.784 -3.676 .00 .00 BULK ATOM 2878 H2 TIP3 660 -27.994 18.560 -4.981 .00 .00 BULK ATOM 2879 OH2 TIP3 661 -24.662 12.917 -1.288 .00 .00 BULK ATOM 2880 H1 TIP3 661 -24.633 12.529 -2.180 .00 .00 BULK ATOM 2881 H2 TIP3 661 -23.793 13.390 -1.272 .00 .00 BULK ATOM 2882 OH2 TIP3 662 -27.676 -12.778 -11.197 .00 .00 BULK ATOM 2883 H1 TIP3 662 -28.463 -12.291 -11.085 .00 .00 BULK ATOM 2884 H2 TIP3 662 -27.985 -13.665 -11.474 .00 .00 BULK ATOM 2885 OH2 TIP3 663 -24.924 14.489 6.509 .00 .00 BULK ATOM 2886 H1 TIP3 663 -25.410 13.867 7.120 .00 .00 BULK ATOM 2887 H2 TIP3 663 -24.840 15.316 6.968 .00 .00 BULK ATOM 2888 OH2 TIP3 664 6.631 -22.133 21.228 .00 .00 BULK ATOM 2889 H1 TIP3 664 6.379 -21.333 20.738 .00 .00 BULK ATOM 2890 H2 TIP3 664 6.120 -22.774 20.713 .00 .00 BULK ATOM 2891 OH2 TIP3 665 -23.181 -20.685 14.838 .00 .00 BULK ATOM 2892 H1 TIP3 665 -22.664 -19.958 14.550 .00 .00 BULK ATOM 2893 H2 TIP3 665 -24.044 -20.300 14.563 .00 .00 BULK ATOM 2894 OH2 TIP3 666 19.669 22.294 11.480 .00 .00 BULK ATOM 2895 H1 TIP3 666 19.249 21.982 10.717 .00 .00 BULK ATOM 2896 H2 TIP3 666 20.466 21.716 11.525 .00 .00 BULK ATOM 2897 OH2 TIP3 667 -29.283 11.617 -21.377 .00 .00 BULK ATOM 2898 H1 TIP3 667 -29.608 11.032 -20.616 .00 .00 BULK ATOM 2899 H2 TIP3 667 -29.224 12.514 -20.953 .00 .00 BULK ATOM 2900 OH2 TIP3 668 -14.598 -11.295 23.674 .00 .00 BULK ATOM 2901 H1 TIP3 668 -14.275 -10.483 24.134 .00 .00 BULK ATOM 2902 H2 TIP3 668 -14.933 -10.986 22.747 .00 .00 BULK ATOM 2903 OH2 TIP3 669 -18.540 17.148 6.733 .00 .00 BULK ATOM 2904 H1 TIP3 669 -18.960 17.239 5.801 .00 .00 BULK ATOM 2905 H2 TIP3 669 -19.258 16.664 7.142 .00 .00 BULK ATOM 2906 OH2 TIP3 670 -29.514 7.113 -17.347 .00 .00 BULK ATOM 2907 H1 TIP3 670 -30.074 7.372 -16.583 .00 .00 BULK ATOM 2908 H2 TIP3 670 -28.984 6.389 -17.046 .00 .00 BULK ATOM 2909 OH2 TIP3 671 1.762 -22.631 -18.175 .00 .00 BULK ATOM 2910 H1 TIP3 671 1.177 -21.849 -18.263 .00 .00 BULK ATOM 2911 H2 TIP3 671 1.870 -23.055 -19.095 .00 .00 BULK ATOM 2912 OH2 TIP3 672 -8.487 10.860 -19.084 .00 .00 BULK ATOM 2913 H1 TIP3 672 -7.648 10.363 -19.068 .00 .00 BULK ATOM 2914 H2 TIP3 672 -8.270 11.719 -19.526 .00 .00 BULK ATOM 2915 OH2 TIP3 673 -19.450 20.980 -11.582 .00 .00 BULK ATOM 2916 H1 TIP3 673 -19.262 21.671 -12.221 .00 .00 BULK ATOM 2917 H2 TIP3 673 -18.653 20.416 -11.649 .00 .00 BULK ATOM 2918 OH2 TIP3 674 -19.366 -12.995 16.690 .00 .00 BULK ATOM 2919 H1 TIP3 674 -20.137 -13.562 16.871 .00 .00 BULK ATOM 2920 H2 TIP3 674 -19.729 -12.159 16.977 .00 .00 BULK ATOM 2921 OH2 TIP3 675 -29.683 7.620 11.571 .00 .00 BULK ATOM 2922 H1 TIP3 675 -30.226 6.805 11.496 .00 .00 BULK ATOM 2923 H2 TIP3 675 -30.193 8.201 10.923 .00 .00 BULK ATOM 2924 OH2 TIP3 676 -19.288 15.963 19.683 .00 .00 BULK ATOM 2925 H1 TIP3 676 -19.092 15.777 20.602 .00 .00 BULK ATOM 2926 H2 TIP3 676 -18.559 15.528 19.208 .00 .00 BULK ATOM 2927 OH2 TIP3 677 1.213 -1.440 -19.349 .00 .00 BULK ATOM 2928 H1 TIP3 677 1.172 -.407 -19.276 .00 .00 BULK ATOM 2929 H2 TIP3 677 .250 -1.600 -19.086 .00 .00 BULK ATOM 2930 OH2 TIP3 678 -16.445 -21.663 -6.301 .00 .00 BULK ATOM 2931 H1 TIP3 678 -16.042 -22.554 -6.238 .00 .00 BULK ATOM 2932 H2 TIP3 678 -17.173 -21.789 -6.944 .00 .00 BULK ATOM 2933 OH2 TIP3 679 -11.741 2.235 -9.460 .00 .00 BULK ATOM 2934 H1 TIP3 679 -12.545 2.408 -10.042 .00 .00 BULK ATOM 2935 H2 TIP3 679 -11.604 3.063 -8.965 .00 .00 BULK ATOM 2936 OH2 TIP3 680 8.459 21.755 -22.450 .00 .00 BULK ATOM 2937 H1 TIP3 680 9.068 20.964 -22.466 .00 .00 BULK ATOM 2938 H2 TIP3 680 8.542 22.083 -21.519 .00 .00 BULK ATOM 2939 OH2 TIP3 681 -20.213 17.912 -5.411 .00 .00 BULK ATOM 2940 H1 TIP3 681 -19.557 17.507 -4.775 .00 .00 BULK ATOM 2941 H2 TIP3 681 -19.623 18.272 -6.056 .00 .00 BULK ATOM 2942 OH2 TIP3 682 22.638 22.197 9.714 .00 .00 BULK ATOM 2943 H1 TIP3 682 22.005 21.928 9.046 .00 .00 BULK ATOM 2944 H2 TIP3 682 23.437 22.172 9.150 .00 .00 BULK ATOM 2945 OH2 TIP3 683 26.257 17.927 11.255 .00 .00 BULK ATOM 2946 H1 TIP3 683 27.158 18.233 11.520 .00 .00 BULK ATOM 2947 H2 TIP3 683 25.885 18.740 10.958 .00 .00 BULK ATOM 2948 OH2 TIP3 684 -11.645 21.869 -.442 .00 .00 BULK ATOM 2949 H1 TIP3 684 -11.140 22.685 -.695 .00 .00 BULK ATOM 2950 H2 TIP3 684 -11.492 22.010 .519 .00 .00 BULK ATOM 2951 OH2 TIP3 685 -9.396 13.514 -2.916 .00 .00 BULK ATOM 2952 H1 TIP3 685 -8.543 13.968 -3.088 .00 .00 BULK ATOM 2953 H2 TIP3 685 -9.861 14.322 -2.566 .00 .00 BULK ATOM 2954 OH2 TIP3 686 4.382 19.072 7.383 .00 .00 BULK ATOM 2955 H1 TIP3 686 3.497 19.103 7.836 .00 .00 BULK ATOM 2956 H2 TIP3 686 4.643 18.156 7.567 .00 .00 BULK ATOM 2957 OH2 TIP3 687 -2.976 11.513 -7.146 .00 .00 BULK ATOM 2958 H1 TIP3 687 -2.175 12.150 -7.203 .00 .00 BULK ATOM 2959 H2 TIP3 687 -2.718 10.866 -6.429 .00 .00 BULK ATOM 2960 OH2 TIP3 688 -1.650 13.338 -14.789 .00 .00 BULK ATOM 2961 H1 TIP3 688 -2.631 13.343 -14.877 .00 .00 BULK ATOM 2962 H2 TIP3 688 -1.433 13.576 -15.672 .00 .00 BULK ATOM 2963 OH2 TIP3 689 -1.918 23.565 -10.802 .00 .00 BULK ATOM 2964 H1 TIP3 689 -1.757 23.096 -11.586 .00 .00 BULK ATOM 2965 H2 TIP3 689 -1.459 23.021 -10.142 .00 .00 BULK ATOM 2966 OH2 TIP3 690 -17.478 -17.666 -7.552 .00 .00 BULK ATOM 2967 H1 TIP3 690 -17.374 -18.305 -8.287 .00 .00 BULK ATOM 2968 H2 TIP3 690 -16.722 -17.995 -7.001 .00 .00 BULK ATOM 2969 OH2 TIP3 691 -9.993 11.240 -22.307 .00 .00 BULK ATOM 2970 H1 TIP3 691 -10.452 11.891 -22.918 .00 .00 BULK ATOM 2971 H2 TIP3 691 -9.323 11.828 -21.935 .00 .00 BULK ATOM 2972 OH2 TIP3 692 -10.431 7.447 -4.853 .00 .00 BULK ATOM 2973 H1 TIP3 692 -10.125 8.297 -4.645 .00 .00 BULK ATOM 2974 H2 TIP3 692 -11.147 7.703 -5.520 .00 .00 BULK ATOM 2975 OH2 TIP3 693 -21.507 -10.842 1.394 .00 .00 BULK ATOM 2976 H1 TIP3 693 -21.982 -11.714 1.564 .00 .00 BULK ATOM 2977 H2 TIP3 693 -22.059 -10.416 .656 .00 .00 BULK ATOM 2978 OH2 TIP3 694 -21.765 16.153 11.915 .00 .00 BULK ATOM 2979 H1 TIP3 694 -22.100 17.069 11.896 .00 .00 BULK ATOM 2980 H2 TIP3 694 -21.060 16.216 11.207 .00 .00 BULK ATOM 2981 OH2 TIP3 695 -11.588 12.862 -11.201 .00 .00 BULK ATOM 2982 H1 TIP3 695 -12.010 13.394 -11.840 .00 .00 BULK ATOM 2983 H2 TIP3 695 -10.641 13.113 -11.445 .00 .00 BULK ATOM 2984 OH2 TIP3 696 -8.914 12.229 -5.661 .00 .00 BULK ATOM 2985 H1 TIP3 696 -7.881 12.325 -5.522 .00 .00 BULK ATOM 2986 H2 TIP3 696 -9.148 13.192 -5.933 .00 .00 BULK ATOM 2987 OH2 TIP3 697 -4.001 19.506 1.590 .00 .00 BULK ATOM 2988 H1 TIP3 697 -4.402 19.574 .727 .00 .00 BULK ATOM 2989 H2 TIP3 697 -4.599 18.800 1.887 .00 .00 BULK ATOM 2990 OH2 TIP3 698 -20.616 20.284 -15.703 .00 .00 BULK ATOM 2991 H1 TIP3 698 -20.946 19.453 -15.388 .00 .00 BULK ATOM 2992 H2 TIP3 698 -19.714 19.990 -15.835 .00 .00 BULK ATOM 2993 OH2 TIP3 699 -13.302 -19.674 -15.244 .00 .00 BULK ATOM 2994 H1 TIP3 699 -12.783 -20.039 -14.542 .00 .00 BULK ATOM 2995 H2 TIP3 699 -14.153 -20.066 -14.964 .00 .00 BULK ATOM 2996 OH2 TIP3 700 12.789 15.122 12.071 .00 .00 BULK ATOM 2997 H1 TIP3 700 13.599 14.748 11.683 .00 .00 BULK ATOM 2998 H2 TIP3 700 12.345 15.410 11.290 .00 .00 BULK ATOM 2999 OH2 TIP3 701 10.813 -22.811 15.694 .00 .00 BULK ATOM 3000 H1 TIP3 701 10.717 -23.688 16.040 .00 .00 BULK ATOM 3001 H2 TIP3 701 10.227 -22.764 14.987 .00 .00 BULK ATOM 3002 OH2 TIP3 702 -29.783 -6.898 -19.156 .00 .00 BULK ATOM 3003 H1 TIP3 702 -28.926 -6.616 -19.500 .00 .00 BULK ATOM 3004 H2 TIP3 702 -29.560 -7.242 -18.249 .00 .00 BULK ATOM 3005 OH2 TIP3 703 -28.339 -10.004 4.953 .00 .00 BULK ATOM 3006 H1 TIP3 703 -29.206 -10.304 5.270 .00 .00 BULK ATOM 3007 H2 TIP3 703 -28.305 -9.204 5.470 .00 .00 BULK ATOM 3008 OH2 TIP3 704 -6.898 -20.865 -17.873 .00 .00 BULK ATOM 3009 H1 TIP3 704 -7.652 -21.479 -18.019 .00 .00 BULK ATOM 3010 H2 TIP3 704 -6.218 -21.136 -18.522 .00 .00 BULK ATOM 3011 OH2 TIP3 705 -7.658 -17.456 6.483 .00 .00 BULK ATOM 3012 H1 TIP3 705 -7.259 -16.594 6.682 .00 .00 BULK ATOM 3013 H2 TIP3 705 -7.095 -18.125 6.938 .00 .00 BULK ATOM 3014 OH2 TIP3 706 14.848 -21.984 -9.228 .00 .00 BULK ATOM 3015 H1 TIP3 706 15.150 -22.528 -8.467 .00 .00 BULK ATOM 3016 H2 TIP3 706 13.956 -22.328 -9.434 .00 .00 BULK ATOM 3017 OH2 TIP3 707 3.153 -22.725 .730 .00 .00 BULK ATOM 3018 H1 TIP3 707 2.846 -23.458 .195 .00 .00 BULK ATOM 3019 H2 TIP3 707 3.737 -22.253 .218 .00 .00 BULK ATOM 3020 OH2 TIP3 708 3.947 -17.209 -12.290 .00 .00 BULK ATOM 3021 H1 TIP3 708 3.377 -16.487 -12.656 .00 .00 BULK ATOM 3022 H2 TIP3 708 3.289 -17.785 -11.909 .00 .00 BULK ATOM 3023 OH2 TIP3 709 22.239 -17.992 3.740 .00 .00 BULK ATOM 3024 H1 TIP3 709 21.379 -18.466 3.901 .00 .00 BULK ATOM 3025 H2 TIP3 709 22.444 -17.773 4.664 .00 .00 BULK ATOM 3026 OH2 TIP3 710 -20.426 -8.781 -14.645 .00 .00 BULK ATOM 3027 H1 TIP3 710 -20.806 -8.014 -14.187 .00 .00 BULK ATOM 3028 H2 TIP3 710 -19.894 -9.119 -13.867 .00 .00 BULK ATOM 3029 OH2 TIP3 711 -25.324 -13.743 -14.375 .00 .00 BULK ATOM 3030 H1 TIP3 711 -25.691 -13.171 -15.094 .00 .00 BULK ATOM 3031 H2 TIP3 711 -24.850 -14.414 -14.931 .00 .00 BULK ATOM 3032 OH2 TIP3 712 3.646 21.179 -10.481 .00 .00 BULK ATOM 3033 H1 TIP3 712 3.722 20.848 -9.565 .00 .00 BULK ATOM 3034 H2 TIP3 712 4.271 21.919 -10.500 .00 .00 BULK ATOM 3035 OH2 TIP3 713 -14.921 -6.136 -14.163 .00 .00 BULK ATOM 3036 H1 TIP3 713 -14.008 -6.466 -14.237 .00 .00 BULK ATOM 3037 H2 TIP3 713 -14.685 -5.245 -13.791 .00 .00 BULK ATOM 3038 OH2 TIP3 714 -26.649 1.995 -19.575 .00 .00 BULK ATOM 3039 H1 TIP3 714 -27.392 2.586 -19.551 .00 .00 BULK ATOM 3040 H2 TIP3 714 -26.864 1.301 -20.202 .00 .00 BULK ATOM 3041 OH2 TIP3 715 -8.855 -15.200 -21.713 .00 .00 BULK ATOM 3042 H1 TIP3 715 -8.264 -14.697 -21.113 .00 .00 BULK ATOM 3043 H2 TIP3 715 -9.724 -14.723 -21.601 .00 .00 BULK ATOM 3044 OH2 TIP3 716 -3.754 12.298 -4.173 .00 .00 BULK ATOM 3045 H1 TIP3 716 -3.145 11.598 -4.497 .00 .00 BULK ATOM 3046 H2 TIP3 716 -3.255 13.115 -4.434 .00 .00 BULK ATOM 3047 OH2 TIP3 717 -29.276 14.286 2.340 .00 .00 BULK ATOM 3048 H1 TIP3 717 -28.702 13.476 2.346 .00 .00 BULK ATOM 3049 H2 TIP3 717 -28.725 14.836 2.972 .00 .00 BULK ATOM 3050 OH2 TIP3 718 -29.441 -21.887 -19.188 .00 .00 BULK ATOM 3051 H1 TIP3 718 -29.881 -21.557 -18.367 .00 .00 BULK ATOM 3052 H2 TIP3 718 -30.171 -21.887 -19.823 .00 .00 BULK ATOM 3053 OH2 TIP3 719 -30.033 -20.844 -16.679 .00 .00 BULK ATOM 3054 H1 TIP3 719 -29.615 -20.291 -16.031 .00 .00 BULK ATOM 3055 H2 TIP3 719 -29.802 -21.769 -16.462 .00 .00 BULK ATOM 3056 OH2 TIP3 720 -23.595 -10.740 -14.914 .00 .00 BULK ATOM 3057 H1 TIP3 720 -23.623 -9.891 -15.374 .00 .00 BULK ATOM 3058 H2 TIP3 720 -23.999 -10.670 -14.020 .00 .00 BULK ATOM 3059 OH2 TIP3 721 26.064 7.863 -17.046 .00 .00 BULK ATOM 3060 H1 TIP3 721 25.974 8.761 -17.304 .00 .00 BULK ATOM 3061 H2 TIP3 721 25.155 7.665 -17.202 .00 .00 BULK ATOM 3062 OH2 TIP3 722 -27.534 -15.720 -16.381 .00 .00 BULK ATOM 3063 H1 TIP3 722 -27.404 -15.254 -17.212 .00 .00 BULK ATOM 3064 H2 TIP3 722 -26.746 -16.314 -16.313 .00 .00 BULK ATOM 3065 OH2 TIP3 723 -13.927 -22.735 16.660 .00 .00 BULK ATOM 3066 H1 TIP3 723 -14.699 -22.313 16.175 .00 .00 BULK ATOM 3067 H2 TIP3 723 -14.404 -23.280 17.284 .00 .00 BULK ATOM 3068 OH2 TIP3 724 -24.452 -22.130 -.975 .00 .00 BULK ATOM 3069 H1 TIP3 724 -25.352 -22.450 -.735 .00 .00 BULK ATOM 3070 H2 TIP3 724 -23.943 -23.020 -.990 .00 .00 BULK ATOM 3071 OH2 TIP3 725 -9.971 -7.560 -15.430 .00 .00 BULK ATOM 3072 H1 TIP3 725 -9.300 -8.129 -15.897 .00 .00 BULK ATOM 3073 H2 TIP3 725 -9.394 -7.081 -14.852 .00 .00 BULK ATOM 3074 OH2 TIP3 726 4.393 -21.978 13.061 .00 .00 BULK ATOM 3075 H1 TIP3 726 4.445 -21.182 13.657 .00 .00 BULK ATOM 3076 H2 TIP3 726 5.321 -22.182 12.982 .00 .00 BULK ATOM 3077 OH2 TIP3 727 -10.554 -8.576 -20.420 .00 .00 BULK ATOM 3078 H1 TIP3 727 -9.673 -8.936 -20.104 .00 .00 BULK ATOM 3079 H2 TIP3 727 -10.683 -7.849 -19.765 .00 .00 BULK ATOM 3080 OH2 TIP3 728 -2.510 -9.406 6.851 .00 .00 BULK ATOM 3081 H1 TIP3 728 -3.440 -9.284 6.658 .00 .00 BULK ATOM 3082 H2 TIP3 728 -2.317 -10.195 6.444 .00 .00 BULK ATOM 3083 OH2 TIP3 729 -9.570 -9.398 -11.017 .00 .00 BULK ATOM 3084 H1 TIP3 729 -9.907 -8.547 -11.324 .00 .00 BULK ATOM 3085 H2 TIP3 729 -9.741 -9.961 -11.783 .00 .00 BULK ATOM 3086 OH2 TIP3 730 -5.476 -10.027 -15.089 .00 .00 BULK ATOM 3087 H1 TIP3 730 -4.772 -9.906 -15.783 .00 .00 BULK ATOM 3088 H2 TIP3 730 -4.976 -9.909 -14.249 .00 .00 BULK ATOM 3089 OH2 TIP3 731 -8.778 -.745 -18.530 .00 .00 BULK ATOM 3090 H1 TIP3 731 -9.396 -.864 -19.219 .00 .00 BULK ATOM 3091 H2 TIP3 731 -9.211 -1.027 -17.748 .00 .00 BULK ATOM 3092 OH2 TIP3 732 9.148 22.878 -12.555 .00 .00 BULK ATOM 3093 H1 TIP3 732 8.439 22.252 -12.660 .00 .00 BULK ATOM 3094 H2 TIP3 732 8.699 23.708 -12.845 .00 .00 BULK ATOM 3095 OH2 TIP3 733 17.207 -12.046 -10.468 .00 .00 BULK ATOM 3096 H1 TIP3 733 17.855 -11.374 -10.516 .00 .00 BULK ATOM 3097 H2 TIP3 733 17.668 -12.850 -10.821 .00 .00 BULK ATOM 3098 OH2 TIP3 734 28.621 -18.355 -12.105 .00 .00 BULK ATOM 3099 H1 TIP3 734 29.289 -17.646 -12.251 .00 .00 BULK ATOM 3100 H2 TIP3 734 28.899 -18.908 -11.373 .00 .00 BULK ATOM 3101 OH2 TIP3 735 15.975 -17.854 -2.765 .00 .00 BULK ATOM 3102 H1 TIP3 735 16.255 -17.384 -1.994 .00 .00 BULK ATOM 3103 H2 TIP3 735 15.099 -17.413 -2.825 .00 .00 BULK ATOM 3104 OH2 TIP3 736 3.757 15.741 -20.963 .00 .00 BULK ATOM 3105 H1 TIP3 736 4.123 16.496 -20.457 .00 .00 BULK ATOM 3106 H2 TIP3 736 4.511 15.115 -20.997 .00 .00 BULK ATOM 3107 OH2 TIP3 737 -17.450 19.376 -10.069 .00 .00 BULK ATOM 3108 H1 TIP3 737 -17.282 18.778 -10.855 .00 .00 BULK ATOM 3109 H2 TIP3 737 -18.284 18.960 -9.754 .00 .00 BULK ATOM 3110 OH2 TIP3 738 26.059 -17.812 2.251 .00 .00 BULK ATOM 3111 H1 TIP3 738 26.332 -17.391 3.138 .00 .00 BULK ATOM 3112 H2 TIP3 738 26.480 -17.169 1.684 .00 .00 BULK ATOM 3113 OH2 TIP3 739 -19.895 -12.819 -2.423 .00 .00 BULK ATOM 3114 H1 TIP3 739 -19.547 -11.941 -2.483 .00 .00 BULK ATOM 3115 H2 TIP3 739 -20.828 -12.671 -2.586 .00 .00 BULK ATOM 3116 OH2 TIP3 740 -10.885 -19.780 -9.374 .00 .00 BULK ATOM 3117 H1 TIP3 740 -11.142 -18.879 -9.083 .00 .00 BULK ATOM 3118 H2 TIP3 740 -10.041 -19.576 -9.874 .00 .00 BULK ATOM 3119 OH2 TIP3 741 22.727 3.963 -2.731 .00 .00 BULK ATOM 3120 H1 TIP3 741 23.587 3.569 -2.577 .00 .00 BULK ATOM 3121 H2 TIP3 741 22.520 4.285 -1.787 .00 .00 BULK ATOM 3122 OH2 TIP3 742 -14.672 -22.066 -18.325 .00 .00 BULK ATOM 3123 H1 TIP3 742 -15.110 -21.415 -18.943 .00 .00 BULK ATOM 3124 H2 TIP3 742 -15.315 -22.037 -17.567 .00 .00 BULK ATOM 3125 OH2 TIP3 743 -9.399 -16.151 -7.768 .00 .00 BULK ATOM 3126 H1 TIP3 743 -8.793 -15.800 -8.482 .00 .00 BULK ATOM 3127 H2 TIP3 743 -9.466 -15.343 -7.228 .00 .00 BULK ATOM 3128 OH2 TIP3 744 -19.475 -18.667 18.472 .00 .00 BULK ATOM 3129 H1 TIP3 744 -20.091 -18.290 19.104 .00 .00 BULK ATOM 3130 H2 TIP3 744 -19.221 -19.510 18.964 .00 .00 BULK ATOM 3131 OH2 TIP3 745 -29.640 -17.702 -18.498 .00 .00 BULK ATOM 3132 H1 TIP3 745 -28.767 -17.984 -18.141 .00 .00 BULK ATOM 3133 H2 TIP3 745 -30.091 -17.338 -17.697 .00 .00 BULK ATOM 3134 OH2 TIP3 746 -19.471 -14.471 -7.432 .00 .00 BULK ATOM 3135 H1 TIP3 746 -19.674 -13.531 -7.585 .00 .00 BULK ATOM 3136 H2 TIP3 746 -19.567 -14.897 -8.308 .00 .00 BULK ATOM 3137 OH2 TIP3 747 29.745 -9.492 1.276 .00 .00 BULK ATOM 3138 H1 TIP3 747 29.223 -8.812 1.704 .00 .00 BULK ATOM 3139 H2 TIP3 747 30.569 -9.198 1.736 .00 .00 BULK ATOM 3140 OH2 TIP3 748 3.064 20.116 -7.859 .00 .00 BULK ATOM 3141 H1 TIP3 748 3.932 19.710 -7.715 .00 .00 BULK ATOM 3142 H2 TIP3 748 2.930 20.798 -7.194 .00 .00 BULK ATOM 3143 OH2 TIP3 749 -2.431 -12.086 -13.178 .00 .00 BULK ATOM 3144 H1 TIP3 749 -2.222 -11.834 -12.280 .00 .00 BULK ATOM 3145 H2 TIP3 749 -3.271 -12.530 -13.025 .00 .00 BULK ATOM 3146 OH2 TIP3 750 -5.754 -2.985 -21.666 .00 .00 BULK ATOM 3147 H1 TIP3 750 -5.960 -3.756 -21.193 .00 .00 BULK ATOM 3148 H2 TIP3 750 -6.387 -2.334 -21.347 .00 .00 BULK ATOM 3149 OH2 TIP3 751 -18.155 2.211 -8.094 .00 .00 BULK ATOM 3150 H1 TIP3 751 -17.146 2.050 -8.147 .00 .00 BULK ATOM 3151 H2 TIP3 751 -18.508 1.587 -8.819 .00 .00 BULK ATOM 3152 OH2 TIP3 752 13.063 -19.468 -9.503 .00 .00 BULK ATOM 3153 H1 TIP3 752 13.162 -19.554 -10.471 .00 .00 BULK ATOM 3154 H2 TIP3 752 13.975 -19.760 -9.316 .00 .00 BULK ATOM 3155 OH2 TIP3 753 -7.328 -10.431 -13.030 .00 .00 BULK ATOM 3156 H1 TIP3 753 -6.905 -10.135 -13.810 .00 .00 BULK ATOM 3157 H2 TIP3 753 -8.243 -10.171 -13.267 .00 .00 BULK ATOM 3158 OH2 TIP3 754 -5.868 -15.369 7.527 .00 .00 BULK ATOM 3159 H1 TIP3 754 -6.455 -14.745 7.927 .00 .00 BULK ATOM 3160 H2 TIP3 754 -5.589 -15.703 8.415 .00 .00 BULK ATOM 3161 OH2 TIP3 755 -8.969 .414 8.225 .00 .00 BULK ATOM 3162 H1 TIP3 755 -9.779 .528 7.721 .00 .00 BULK ATOM 3163 H2 TIP3 755 -8.590 -.400 7.815 .00 .00 BULK ATOM 3164 OH2 TIP3 756 29.217 -13.039 10.753 .00 .00 BULK ATOM 3165 H1 TIP3 756 29.900 -13.204 11.427 .00 .00 BULK ATOM 3166 H2 TIP3 756 28.426 -13.585 10.971 .00 .00 BULK ATOM 3167 OH2 TIP3 757 28.971 16.277 .944 .00 .00 BULK ATOM 3168 H1 TIP3 757 28.159 15.947 1.460 .00 .00 BULK ATOM 3169 H2 TIP3 757 29.508 15.584 1.335 .00 .00 BULK ATOM 3170 OH2 TIP3 758 -3.835 14.561 -17.578 .00 .00 BULK ATOM 3171 H1 TIP3 758 -4.163 13.664 -17.420 .00 .00 BULK ATOM 3172 H2 TIP3 758 -4.032 15.111 -16.767 .00 .00 BULK ATOM 3173 OH2 TIP3 759 -15.741 -4.814 -21.674 .00 .00 BULK ATOM 3174 H1 TIP3 759 -15.689 -5.196 -22.606 .00 .00 BULK ATOM 3175 H2 TIP3 759 -16.175 -5.527 -21.201 .00 .00 BULK ATOM 3176 OH2 TIP3 760 -11.570 -16.005 -11.666 .00 .00 BULK ATOM 3177 H1 TIP3 760 -11.643 -15.082 -11.539 .00 .00 BULK ATOM 3178 H2 TIP3 760 -11.587 -16.483 -10.778 .00 .00 BULK ATOM 3179 OH2 TIP3 761 -22.334 -20.131 -8.109 .00 .00 BULK ATOM 3180 H1 TIP3 761 -22.289 -19.491 -7.354 .00 .00 BULK ATOM 3181 H2 TIP3 761 -22.962 -20.775 -7.674 .00 .00 BULK ATOM 3182 OH2 TIP3 762 29.843 .305 22.881 .00 .00 BULK ATOM 3183 H1 TIP3 762 30.416 .902 23.396 .00 .00 BULK ATOM 3184 H2 TIP3 762 29.386 .987 22.390 .00 .00 BULK ATOM 3185 OH2 TIP3 763 -29.833 14.796 -20.345 .00 .00 BULK ATOM 3186 H1 TIP3 763 -30.410 15.150 -19.612 .00 .00 BULK ATOM 3187 H2 TIP3 763 -29.124 15.488 -20.316 .00 .00 BULK ATOM 3188 OH2 TIP3 764 15.433 -1.978 8.275 .00 .00 BULK ATOM 3189 H1 TIP3 764 15.705 -2.791 8.835 .00 .00 BULK ATOM 3190 H2 TIP3 764 15.361 -1.345 9.012 .00 .00 BULK ATOM 3191 OH2 TIP3 765 -24.983 17.218 10.510 .00 .00 BULK ATOM 3192 H1 TIP3 765 -25.279 16.605 11.226 .00 .00 BULK ATOM 3193 H2 TIP3 765 -24.272 17.748 10.932 .00 .00 BULK ATOM 3194 OH2 TIP3 766 -8.866 -10.773 11.234 .00 .00 BULK ATOM 3195 H1 TIP3 766 -7.951 -10.443 11.113 .00 .00 BULK ATOM 3196 H2 TIP3 766 -9.307 -10.059 11.706 .00 .00 BULK ATOM 3197 OH2 TIP3 767 27.073 -16.706 17.232 .00 .00 BULK ATOM 3198 H1 TIP3 767 26.399 -17.199 17.682 .00 .00 BULK ATOM 3199 H2 TIP3 767 27.809 -17.317 17.406 .00 .00 BULK ATOM 3200 OH2 TIP3 768 20.850 -12.165 18.294 .00 .00 BULK ATOM 3201 H1 TIP3 768 19.963 -12.446 18.190 .00 .00 BULK ATOM 3202 H2 TIP3 768 20.864 -11.174 18.391 .00 .00 BULK ATOM 3203 OH2 TIP3 769 24.589 21.857 7.915 .00 .00 BULK ATOM 3204 H1 TIP3 769 25.137 21.094 7.740 .00 .00 BULK ATOM 3205 H2 TIP3 769 25.254 22.524 7.905 .00 .00 BULK ATOM 3206 OH2 TIP3 770 -28.229 -3.616 14.963 .00 .00 BULK ATOM 3207 H1 TIP3 770 -27.453 -3.675 15.512 .00 .00 BULK ATOM 3208 H2 TIP3 770 -28.681 -2.954 15.543 .00 .00 BULK ATOM 3209 OH2 TIP3 771 -27.096 -3.498 9.342 .00 .00 BULK ATOM 3210 H1 TIP3 771 -27.845 -3.050 8.857 .00 .00 BULK ATOM 3211 H2 TIP3 771 -27.130 -3.161 10.267 .00 .00 BULK ATOM 3212 OH2 TIP3 772 -8.567 9.098 20.235 .00 .00 BULK ATOM 3213 H1 TIP3 772 -7.866 9.768 20.228 .00 .00 BULK ATOM 3214 H2 TIP3 772 -8.742 9.139 21.200 .00 .00 BULK ATOM 3215 OH2 TIP3 773 -11.164 11.192 18.692 .00 .00 BULK ATOM 3216 H1 TIP3 773 -11.277 10.386 19.312 .00 .00 BULK ATOM 3217 H2 TIP3 773 -11.855 11.090 17.925 .00 .00 BULK ATOM 3218 OH2 TIP3 774 -2.573 5.852 16.823 .00 .00 BULK ATOM 3219 H1 TIP3 774 -2.355 6.706 17.225 .00 .00 BULK ATOM 3220 H2 TIP3 774 -2.887 5.453 17.622 .00 .00 BULK ATOM 3221 OH2 TIP3 775 21.676 19.464 10.755 .00 .00 BULK ATOM 3222 H1 TIP3 775 21.262 19.116 11.551 .00 .00 BULK ATOM 3223 H2 TIP3 775 22.624 19.711 10.997 .00 .00 BULK ATOM 3224 OH2 TIP3 776 28.668 13.101 .968 .00 .00 BULK ATOM 3225 H1 TIP3 776 28.798 12.270 .444 .00 .00 BULK ATOM 3226 H2 TIP3 776 29.514 13.278 1.391 .00 .00 BULK ATOM 3227 OH2 TIP3 777 -23.273 1.909 21.599 .00 .00 BULK ATOM 3228 H1 TIP3 777 -23.461 2.430 22.428 .00 .00 BULK ATOM 3229 H2 TIP3 777 -23.858 1.098 21.638 .00 .00 BULK ATOM 3230 OH2 TIP3 778 -13.064 -11.626 -3.696 .00 .00 BULK ATOM 3231 H1 TIP3 778 -12.858 -12.627 -3.901 .00 .00 BULK ATOM 3232 H2 TIP3 778 -12.291 -11.176 -4.091 .00 .00 BULK ATOM 3233 OH2 TIP3 779 -13.059 12.631 -1.980 .00 .00 BULK ATOM 3234 H1 TIP3 779 -12.277 12.389 -1.537 .00 .00 BULK ATOM 3235 H2 TIP3 779 -12.782 12.671 -2.896 .00 .00 BULK ATOM 3236 OH2 TIP3 780 -22.024 2.739 5.759 .00 .00 BULK ATOM 3237 H1 TIP3 780 -21.132 3.209 5.843 .00 .00 BULK ATOM 3238 H2 TIP3 780 -21.807 1.799 5.577 .00 .00 BULK ATOM 3239 OH2 TIP3 781 -23.617 -17.818 12.956 .00 .00 BULK ATOM 3240 H1 TIP3 781 -24.015 -18.415 12.339 .00 .00 BULK ATOM 3241 H2 TIP3 781 -23.256 -17.174 12.290 .00 .00 BULK ATOM 3242 OH2 TIP3 782 -2.821 -14.354 -19.648 .00 .00 BULK ATOM 3243 H1 TIP3 782 -3.551 -15.020 -19.733 .00 .00 BULK ATOM 3244 H2 TIP3 782 -3.026 -14.104 -18.704 .00 .00 BULK ATOM 3245 OH2 TIP3 783 -21.268 -6.721 14.617 .00 .00 BULK ATOM 3246 H1 TIP3 783 -20.674 -6.558 13.895 .00 .00 BULK ATOM 3247 H2 TIP3 783 -20.871 -6.171 15.340 .00 .00 BULK ATOM 3248 OH2 TIP3 784 14.363 10.050 13.253 .00 .00 BULK ATOM 3249 H1 TIP3 784 13.459 9.865 13.593 .00 .00 BULK ATOM 3250 H2 TIP3 784 14.276 9.781 12.342 .00 .00 BULK ATOM 3251 OH2 TIP3 785 14.661 7.798 -22.722 .00 .00 BULK ATOM 3252 H1 TIP3 785 14.376 7.391 -21.929 .00 .00 BULK ATOM 3253 H2 TIP3 785 13.948 8.338 -23.057 .00 .00 BULK ATOM 3254 OH2 TIP3 786 -26.395 9.837 20.166 .00 .00 BULK ATOM 3255 H1 TIP3 786 -26.700 10.622 20.598 .00 .00 BULK ATOM 3256 H2 TIP3 786 -25.735 9.498 20.858 .00 .00 BULK ATOM 3257 OH2 TIP3 787 -29.135 8.085 -13.670 .00 .00 BULK ATOM 3258 H1 TIP3 787 -28.561 7.272 -13.901 .00 .00 BULK ATOM 3259 H2 TIP3 787 -29.631 7.682 -12.958 .00 .00 BULK ATOM 3260 OH2 TIP3 788 -27.502 15.982 15.263 .00 .00 BULK ATOM 3261 H1 TIP3 788 -27.560 15.016 15.032 .00 .00 BULK ATOM 3262 H2 TIP3 788 -28.467 16.110 15.415 .00 .00 BULK ATOM 3263 OH2 TIP3 789 -22.859 4.716 20.502 .00 .00 BULK ATOM 3264 H1 TIP3 789 -22.842 5.105 19.611 .00 .00 BULK ATOM 3265 H2 TIP3 789 -22.947 3.726 20.325 .00 .00 BULK ATOM 3266 OH2 TIP3 790 -22.364 -7.239 9.026 .00 .00 BULK ATOM 3267 H1 TIP3 790 -23.204 -7.683 8.860 .00 .00 BULK ATOM 3268 H2 TIP3 790 -22.451 -6.948 9.941 .00 .00 BULK ATOM 3269 OH2 TIP3 791 -.328 -16.296 11.558 .00 .00 BULK ATOM 3270 H1 TIP3 791 -.258 -17.249 11.793 .00 .00 BULK ATOM 3271 H2 TIP3 791 .528 -16.133 11.128 .00 .00 BULK ATOM 3272 OH2 TIP3 792 .214 16.735 3.129 .00 .00 BULK ATOM 3273 H1 TIP3 792 .952 16.385 3.564 .00 .00 BULK ATOM 3274 H2 TIP3 792 -.380 16.959 3.843 .00 .00 BULK ATOM 3275 OH2 TIP3 793 -3.587 -20.431 18.770 .00 .00 BULK ATOM 3276 H1 TIP3 793 -2.855 -21.144 18.834 .00 .00 BULK ATOM 3277 H2 TIP3 793 -3.906 -20.560 19.695 .00 .00 BULK ATOM 3278 OH2 TIP3 794 -15.717 4.376 -8.849 .00 .00 BULK ATOM 3279 H1 TIP3 794 -16.305 3.965 -9.526 .00 .00 BULK ATOM 3280 H2 TIP3 794 -15.514 3.573 -8.261 .00 .00 BULK ATOM 3281 OH2 TIP3 795 -21.186 -1.369 -14.329 .00 .00 BULK ATOM 3282 H1 TIP3 795 -20.505 -.696 -14.656 .00 .00 BULK ATOM 3283 H2 TIP3 795 -22.044 -.931 -14.644 .00 .00 BULK ATOM 3284 OH2 TIP3 796 -12.803 -21.005 2.920 .00 .00 BULK ATOM 3285 H1 TIP3 796 -13.178 -20.188 2.531 .00 .00 BULK ATOM 3286 H2 TIP3 796 -12.488 -21.414 2.061 .00 .00 BULK ATOM 3287 OH2 TIP3 797 -20.278 18.378 18.942 .00 .00 BULK ATOM 3288 H1 TIP3 797 -21.212 18.171 18.857 .00 .00 BULK ATOM 3289 H2 TIP3 797 -19.938 17.597 19.374 .00 .00 BULK ATOM 3290 OH2 TIP3 798 -18.494 21.454 -1.099 .00 .00 BULK ATOM 3291 H1 TIP3 798 -17.756 20.841 -.794 .00 .00 BULK ATOM 3292 H2 TIP3 798 -18.190 22.277 -.619 .00 .00 BULK ATOM 3293 OH2 TIP3 799 -6.669 .640 14.520 .00 .00 BULK ATOM 3294 H1 TIP3 799 -7.436 .683 15.100 .00 .00 BULK ATOM 3295 H2 TIP3 799 -6.715 -.247 14.009 .00 .00 BULK ATOM 3296 OH2 TIP3 800 2.567 6.190 -14.547 .00 .00 BULK ATOM 3297 H1 TIP3 800 3.524 6.181 -14.801 .00 .00 BULK ATOM 3298 H2 TIP3 800 2.529 7.011 -14.045 .00 .00 BULK ATOM 3299 OH2 TIP3 801 -10.748 1.074 18.159 .00 .00 BULK ATOM 3300 H1 TIP3 801 -11.525 1.742 18.237 .00 .00 BULK ATOM 3301 H2 TIP3 801 -10.215 1.399 18.875 .00 .00 BULK ATOM 3302 OH2 TIP3 802 -12.762 -1.084 -8.635 .00 .00 BULK ATOM 3303 H1 TIP3 802 -13.343 -.632 -9.236 .00 .00 BULK ATOM 3304 H2 TIP3 802 -11.873 -.808 -8.943 .00 .00 BULK ATOM 3305 OH2 TIP3 803 -10.941 -5.095 -20.454 .00 .00 BULK ATOM 3306 H1 TIP3 803 -11.111 -5.914 -19.954 .00 .00 BULK ATOM 3307 H2 TIP3 803 -11.125 -4.420 -19.789 .00 .00 BULK ATOM 3308 OH2 TIP3 804 -24.303 9.378 -16.475 .00 .00 BULK ATOM 3309 H1 TIP3 804 -24.057 9.054 -17.354 .00 .00 BULK ATOM 3310 H2 TIP3 804 -25.145 8.856 -16.404 .00 .00 BULK ATOM 3311 OH2 TIP3 805 28.091 2.428 -14.354 .00 .00 BULK ATOM 3312 H1 TIP3 805 27.642 3.252 -14.192 .00 .00 BULK ATOM 3313 H2 TIP3 805 27.573 2.053 -15.066 .00 .00 BULK ATOM 3314 OH2 TIP3 806 15.462 -6.957 15.921 .00 .00 BULK ATOM 3315 H1 TIP3 806 15.034 -6.356 16.483 .00 .00 BULK ATOM 3316 H2 TIP3 806 15.714 -6.334 15.228 .00 .00 BULK ATOM 3317 OH2 TIP3 807 -7.635 -9.208 8.976 .00 .00 BULK ATOM 3318 H1 TIP3 807 -7.645 -8.704 8.145 .00 .00 BULK ATOM 3319 H2 TIP3 807 -8.497 -8.961 9.374 .00 .00 BULK ATOM 3320 OH2 TIP3 808 28.386 -14.231 20.826 .00 .00 BULK ATOM 3321 H1 TIP3 808 28.114 -14.351 19.951 .00 .00 BULK ATOM 3322 H2 TIP3 808 27.569 -13.799 21.092 .00 .00 BULK ATOM 3323 OH2 TIP3 809 2.679 8.173 -6.480 .00 .00 BULK ATOM 3324 H1 TIP3 809 3.174 7.358 -6.485 .00 .00 BULK ATOM 3325 H2 TIP3 809 3.320 8.906 -6.593 .00 .00 BULK ATOM 3326 OH2 TIP3 810 28.412 11.889 15.511 .00 .00 BULK ATOM 3327 H1 TIP3 810 28.891 12.101 14.659 .00 .00 BULK ATOM 3328 H2 TIP3 810 28.756 10.961 15.683 .00 .00 BULK ATOM 3329 OH2 TIP3 811 -.055 -6.770 -14.885 .00 .00 BULK ATOM 3330 H1 TIP3 811 .490 -6.766 -15.676 .00 .00 BULK ATOM 3331 H2 TIP3 811 -.534 -7.612 -14.986 .00 .00 BULK ATOM 3332 OH2 TIP3 812 -25.289 -22.010 5.391 .00 .00 BULK ATOM 3333 H1 TIP3 812 -25.685 -22.765 4.986 .00 .00 BULK ATOM 3334 H2 TIP3 812 -26.000 -21.723 5.920 .00 .00 BULK ATOM 3335 OH2 TIP3 813 5.511 -2.810 16.071 .00 .00 BULK ATOM 3336 H1 TIP3 813 4.712 -2.380 15.728 .00 .00 BULK ATOM 3337 H2 TIP3 813 5.242 -3.667 16.274 .00 .00 BULK ATOM 3338 OH2 TIP3 814 -17.410 -15.596 21.047 .00 .00 BULK ATOM 3339 H1 TIP3 814 -17.541 -14.664 20.731 .00 .00 BULK ATOM 3340 H2 TIP3 814 -17.393 -15.592 22.042 .00 .00 BULK ATOM 3341 OH2 TIP3 815 -15.454 22.516 -15.341 .00 .00 BULK ATOM 3342 H1 TIP3 815 -15.290 21.773 -15.936 .00 .00 BULK ATOM 3343 H2 TIP3 815 -14.572 22.648 -14.892 .00 .00 BULK ATOM 3344 OH2 TIP3 816 5.603 -8.376 -13.672 .00 .00 BULK ATOM 3345 H1 TIP3 816 5.062 -8.164 -14.524 .00 .00 BULK ATOM 3346 H2 TIP3 816 4.879 -8.472 -13.026 .00 .00 BULK ATOM 3347 OH2 TIP3 817 -27.878 19.463 -9.378 .00 .00 BULK ATOM 3348 H1 TIP3 817 -28.896 19.584 -9.383 .00 .00 BULK ATOM 3349 H2 TIP3 817 -27.600 19.145 -10.233 .00 .00 BULK ATOM 3350 OH2 TIP3 818 -22.223 -5.060 11.313 .00 .00 BULK ATOM 3351 H1 TIP3 818 -22.113 -4.160 10.919 .00 .00 BULK ATOM 3352 H2 TIP3 818 -23.177 -5.238 11.426 .00 .00 BULK ATOM 3353 OH2 TIP3 819 -1.924 12.160 7.301 .00 .00 BULK ATOM 3354 H1 TIP3 819 -.977 11.824 7.383 .00 .00 BULK ATOM 3355 H2 TIP3 819 -1.691 13.016 7.670 .00 .00 BULK ATOM 3356 OH2 TIP3 820 -4.358 8.754 19.904 .00 .00 BULK ATOM 3357 H1 TIP3 820 -5.086 9.422 19.732 .00 .00 BULK ATOM 3358 H2 TIP3 820 -3.695 9.281 19.468 .00 .00 BULK ATOM 3359 OH2 TIP3 821 -10.298 19.675 -9.264 .00 .00 BULK ATOM 3360 H1 TIP3 821 -11.061 20.088 -9.672 .00 .00 BULK ATOM 3361 H2 TIP3 821 -9.814 19.391 -10.069 .00 .00 BULK ATOM 3362 OH2 TIP3 822 -6.821 -20.464 17.901 .00 .00 BULK ATOM 3363 H1 TIP3 822 -6.354 -20.426 18.708 .00 .00 BULK ATOM 3364 H2 TIP3 822 -7.381 -19.686 17.929 .00 .00 BULK ATOM 3365 OH2 TIP3 823 -25.880 -7.244 -10.084 .00 .00 BULK ATOM 3366 H1 TIP3 823 -24.978 -7.560 -10.340 .00 .00 BULK ATOM 3367 H2 TIP3 823 -26.430 -7.847 -10.570 .00 .00 BULK ATOM 3368 OH2 TIP3 824 8.394 -15.155 -8.129 .00 .00 BULK ATOM 3369 H1 TIP3 824 7.769 -14.453 -8.434 .00 .00 BULK ATOM 3370 H2 TIP3 824 9.177 -14.968 -8.717 .00 .00 BULK ATOM 3371 OH2 TIP3 825 -20.951 11.462 11.070 .00 .00 BULK ATOM 3372 H1 TIP3 825 -20.035 11.857 10.986 .00 .00 BULK ATOM 3373 H2 TIP3 825 -20.681 10.546 10.937 .00 .00 BULK ATOM 3374 OH2 TIP3 826 -21.464 1.081 -6.291 .00 .00 BULK ATOM 3375 H1 TIP3 826 -22.286 1.206 -5.729 .00 .00 BULK ATOM 3376 H2 TIP3 826 -21.136 .253 -5.945 .00 .00 BULK ATOM 3377 OH2 TIP3 827 -16.924 13.746 5.378 .00 .00 BULK ATOM 3378 H1 TIP3 827 -17.385 13.169 4.782 .00 .00 BULK ATOM 3379 H2 TIP3 827 -17.361 13.556 6.264 .00 .00 BULK ATOM 3380 OH2 TIP3 828 -3.762 -1.339 15.569 .00 .00 BULK ATOM 3381 H1 TIP3 828 -4.561 -.893 15.910 .00 .00 BULK ATOM 3382 H2 TIP3 828 -4.148 -2.004 14.942 .00 .00 BULK ATOM 3383 OH2 TIP3 829 .316 -17.191 1.919 .00 .00 BULK ATOM 3384 H1 TIP3 829 -.378 -16.846 2.496 .00 .00 BULK ATOM 3385 H2 TIP3 829 .993 -16.533 2.153 .00 .00 BULK ATOM 3386 OH2 TIP3 830 -19.561 3.742 13.560 .00 .00 BULK ATOM 3387 H1 TIP3 830 -19.853 2.946 13.063 .00 .00 BULK ATOM 3388 H2 TIP3 830 -20.186 3.722 14.288 .00 .00 BULK ATOM 3389 OH2 TIP3 831 -27.441 16.165 3.298 .00 .00 BULK ATOM 3390 H1 TIP3 831 -27.738 16.428 4.192 .00 .00 BULK ATOM 3391 H2 TIP3 831 -26.736 16.811 3.169 .00 .00 BULK ATOM 3392 OH2 TIP3 832 28.399 21.389 -18.840 .00 .00 BULK ATOM 3393 H1 TIP3 832 28.080 21.164 -17.954 .00 .00 BULK ATOM 3394 H2 TIP3 832 27.587 21.840 -19.166 .00 .00 BULK ATOM 3395 OH2 TIP3 833 29.586 -16.003 -6.537 .00 .00 BULK ATOM 3396 H1 TIP3 833 29.273 -15.097 -6.600 .00 .00 BULK ATOM 3397 H2 TIP3 833 29.256 -16.169 -5.686 .00 .00 BULK ATOM 3398 OH2 TIP3 834 13.033 -13.147 8.339 .00 .00 BULK ATOM 3399 H1 TIP3 834 13.512 -12.941 9.216 .00 .00 BULK ATOM 3400 H2 TIP3 834 13.777 -13.010 7.656 .00 .00 BULK ATOM 3401 OH2 TIP3 835 -20.046 -10.217 -22.722 .00 .00 BULK ATOM 3402 H1 TIP3 835 -20.253 -9.282 -22.604 .00 .00 BULK ATOM 3403 H2 TIP3 835 -19.140 -10.202 -23.086 .00 .00 BULK ATOM 3404 OH2 TIP3 836 -11.923 -1.522 17.917 .00 .00 BULK ATOM 3405 H1 TIP3 836 -11.206 -2.194 18.204 .00 .00 BULK ATOM 3406 H2 TIP3 836 -11.356 -.741 17.845 .00 .00 BULK ATOM 3407 OH2 TIP3 837 -14.274 -16.960 -15.427 .00 .00 BULK ATOM 3408 H1 TIP3 837 -14.787 -16.877 -14.615 .00 .00 BULK ATOM 3409 H2 TIP3 837 -13.742 -17.758 -15.227 .00 .00 BULK ATOM 3410 OH2 TIP3 838 -27.714 -22.041 13.374 .00 .00 BULK ATOM 3411 H1 TIP3 838 -27.118 -22.772 13.754 .00 .00 BULK ATOM 3412 H2 TIP3 838 -28.242 -21.849 14.200 .00 .00 BULK ATOM 3413 OH2 TIP3 839 13.812 -2.795 -21.919 .00 .00 BULK ATOM 3414 H1 TIP3 839 13.363 -2.871 -21.092 .00 .00 BULK ATOM 3415 H2 TIP3 839 13.356 -3.511 -22.425 .00 .00 BULK ATOM 3416 OH2 TIP3 840 -7.185 -18.610 11.560 .00 .00 BULK ATOM 3417 H1 TIP3 840 -7.530 -19.109 10.838 .00 .00 BULK ATOM 3418 H2 TIP3 840 -7.787 -17.841 11.445 .00 .00 BULK ATOM 3419 OH2 TIP3 841 -26.040 -8.230 4.199 .00 .00 BULK ATOM 3420 H1 TIP3 841 -26.716 -8.125 4.867 .00 .00 BULK ATOM 3421 H2 TIP3 841 -25.928 -7.308 3.868 .00 .00 BULK ATOM 3422 OH2 TIP3 842 -24.724 22.388 -7.112 .00 .00 BULK ATOM 3423 H1 TIP3 842 -25.307 21.839 -7.645 .00 .00 BULK ATOM 3424 H2 TIP3 842 -23.957 22.438 -7.688 .00 .00 BULK ATOM 3425 OH2 TIP3 843 -23.574 -23.211 13.519 .00 .00 BULK ATOM 3426 H1 TIP3 843 -23.118 -23.251 12.657 .00 .00 BULK ATOM 3427 H2 TIP3 843 -23.284 -22.340 13.821 .00 .00 BULK ATOM 3428 OH2 TIP3 844 -8.188 .242 -12.316 .00 .00 BULK ATOM 3429 H1 TIP3 844 -8.440 .873 -12.990 .00 .00 BULK ATOM 3430 H2 TIP3 844 -7.247 .405 -12.298 .00 .00 BULK ATOM 3431 OH2 TIP3 845 -23.792 1.798 -4.640 .00 .00 BULK ATOM 3432 H1 TIP3 845 -23.908 1.653 -3.724 .00 .00 BULK ATOM 3433 H2 TIP3 845 -24.333 2.636 -4.754 .00 .00 BULK ATOM 3434 OH2 TIP3 846 -11.574 -4.612 -7.680 .00 .00 BULK ATOM 3435 H1 TIP3 846 -10.928 -4.054 -8.258 .00 .00 BULK ATOM 3436 H2 TIP3 846 -11.775 -5.256 -8.331 .00 .00 BULK ATOM 3437 OH2 TIP3 847 -10.470 -.100 12.891 .00 .00 BULK ATOM 3438 H1 TIP3 847 -10.533 -1.064 13.091 .00 .00 BULK ATOM 3439 H2 TIP3 847 -9.842 -.155 12.177 .00 .00 BULK ATOM 3440 OH2 TIP3 848 -7.866 -17.934 18.337 .00 .00 BULK ATOM 3441 H1 TIP3 848 -7.330 -17.254 17.969 .00 .00 BULK ATOM 3442 H2 TIP3 848 -8.008 -17.624 19.238 .00 .00 BULK ATOM 3443 OH2 TIP3 849 6.623 19.370 -2.075 .00 .00 BULK ATOM 3444 H1 TIP3 849 6.658 19.321 -3.043 .00 .00 BULK ATOM 3445 H2 TIP3 849 7.046 20.286 -1.955 .00 .00 BULK ATOM 3446 OH2 TIP3 850 -19.733 8.908 11.631 .00 .00 BULK ATOM 3447 H1 TIP3 850 -19.386 9.033 12.519 .00 .00 BULK ATOM 3448 H2 TIP3 850 -18.851 8.897 11.159 .00 .00 BULK ATOM 3449 OH2 TIP3 851 -23.265 -9.677 -.066 .00 .00 BULK ATOM 3450 H1 TIP3 851 -23.659 -10.521 -.300 .00 .00 BULK ATOM 3451 H2 TIP3 851 -23.529 -9.094 -.819 .00 .00 BULK ATOM 3452 OH2 TIP3 852 -15.669 -20.653 -20.374 .00 .00 BULK ATOM 3453 H1 TIP3 852 -16.322 -19.945 -20.022 .00 .00 BULK ATOM 3454 H2 TIP3 852 -15.315 -19.981 -20.987 .00 .00 BULK ATOM 3455 OH2 TIP3 853 -5.738 12.536 5.778 .00 .00 BULK ATOM 3456 H1 TIP3 853 -6.537 13.015 5.604 .00 .00 BULK ATOM 3457 H2 TIP3 853 -5.429 12.546 4.879 .00 .00 BULK ATOM 3458 OH2 TIP3 854 4.252 -15.198 14.419 .00 .00 BULK ATOM 3459 H1 TIP3 854 5.091 -14.789 14.619 .00 .00 BULK ATOM 3460 H2 TIP3 854 4.070 -15.483 15.330 .00 .00 BULK ATOM 3461 OH2 TIP3 855 -1.246 11.197 1.302 .00 .00 BULK ATOM 3462 H1 TIP3 855 -1.890 10.463 1.460 .00 .00 BULK ATOM 3463 H2 TIP3 855 -1.696 11.905 1.801 .00 .00 BULK ATOM 3464 OH2 TIP3 856 6.251 1.804 12.334 .00 .00 BULK ATOM 3465 H1 TIP3 856 7.068 2.085 11.904 .00 .00 BULK ATOM 3466 H2 TIP3 856 5.713 1.387 11.671 .00 .00 BULK ATOM 3467 OH2 TIP3 857 -18.929 -11.283 .038 .00 .00 BULK ATOM 3468 H1 TIP3 857 -19.897 -11.179 .313 .00 .00 BULK ATOM 3469 H2 TIP3 857 -18.794 -10.692 -.787 .00 .00 BULK ATOM 3470 OH2 TIP3 858 19.985 -4.531 -16.654 .00 .00 BULK ATOM 3471 H1 TIP3 858 19.162 -4.128 -16.772 .00 .00 BULK ATOM 3472 H2 TIP3 858 20.430 -4.380 -17.548 .00 .00 BULK ATOM 3473 OH2 TIP3 859 -25.582 -3.783 19.151 .00 .00 BULK ATOM 3474 H1 TIP3 859 -25.291 -4.683 19.079 .00 .00 BULK ATOM 3475 H2 TIP3 859 -25.565 -3.718 20.083 .00 .00 BULK ATOM 3476 OH2 TIP3 860 -20.062 -23.513 21.982 .00 .00 BULK ATOM 3477 H1 TIP3 860 -19.383 -22.934 22.386 .00 .00 BULK ATOM 3478 H2 TIP3 860 -20.415 -24.020 22.744 .00 .00 BULK ATOM 3479 OH2 TIP3 861 -22.685 -4.427 19.046 .00 .00 BULK ATOM 3480 H1 TIP3 861 -22.254 -5.112 18.434 .00 .00 BULK ATOM 3481 H2 TIP3 861 -22.586 -4.867 19.885 .00 .00 BULK ATOM 3482 OH2 TIP3 862 -18.734 13.290 22.367 .00 .00 BULK ATOM 3483 H1 TIP3 862 -18.314 13.486 21.566 .00 .00 BULK ATOM 3484 H2 TIP3 862 -18.380 12.412 22.539 .00 .00 BULK ATOM 3485 OH2 TIP3 863 -20.375 -6.950 -10.754 .00 .00 BULK ATOM 3486 H1 TIP3 863 -20.411 -7.518 -9.963 .00 .00 BULK ATOM 3487 H2 TIP3 863 -19.522 -7.312 -11.214 .00 .00 BULK ATOM 3488 OH2 TIP3 864 -21.804 -17.143 -20.621 .00 .00 BULK ATOM 3489 H1 TIP3 864 -21.025 -17.704 -20.646 .00 .00 BULK ATOM 3490 H2 TIP3 864 -22.050 -17.417 -21.508 .00 .00 BULK ATOM 3491 OH2 TIP3 865 -11.489 23.082 19.203 .00 .00 BULK ATOM 3492 H1 TIP3 865 -10.983 22.405 19.703 .00 .00 BULK ATOM 3493 H2 TIP3 865 -11.591 22.676 18.357 .00 .00 BULK ATOM 3494 OH2 TIP3 866 8.376 20.753 11.946 .00 .00 BULK ATOM 3495 H1 TIP3 866 8.840 20.493 11.105 .00 .00 BULK ATOM 3496 H2 TIP3 866 8.863 21.579 12.064 .00 .00 BULK ATOM 3497 OH2 TIP3 867 -16.285 -10.513 -5.274 .00 .00 BULK ATOM 3498 H1 TIP3 867 -15.995 -9.653 -5.614 .00 .00 BULK ATOM 3499 H2 TIP3 867 -16.594 -10.240 -4.453 .00 .00 BULK ATOM 3500 OH2 TIP3 868 -21.998 .719 15.851 .00 .00 BULK ATOM 3501 H1 TIP3 868 -22.660 .872 15.059 .00 .00 BULK ATOM 3502 H2 TIP3 868 -22.006 -.196 16.020 .00 .00 BULK ATOM 3503 OH2 TIP3 869 -8.821 20.855 13.105 .00 .00 BULK ATOM 3504 H1 TIP3 869 -9.433 21.431 13.545 .00 .00 BULK ATOM 3505 H2 TIP3 869 -8.857 20.124 13.691 .00 .00 BULK ATOM 3506 OH2 TIP3 870 -5.843 -4.207 -12.292 .00 .00 BULK ATOM 3507 H1 TIP3 870 -5.971 -4.222 -11.274 .00 .00 BULK ATOM 3508 H2 TIP3 870 -5.549 -5.128 -12.346 .00 .00 BULK ATOM 3509 OH2 TIP3 871 -26.963 -12.187 19.696 .00 .00 BULK ATOM 3510 H1 TIP3 871 -26.448 -12.132 20.539 .00 .00 BULK ATOM 3511 H2 TIP3 871 -27.205 -13.098 19.654 .00 .00 BULK ATOM 3512 OH2 TIP3 872 -16.253 -3.757 18.065 .00 .00 BULK ATOM 3513 H1 TIP3 872 -15.775 -2.904 18.004 .00 .00 BULK ATOM 3514 H2 TIP3 872 -15.467 -4.237 18.408 .00 .00 BULK ATOM 3515 OH2 TIP3 873 -29.229 -13.484 17.081 .00 .00 BULK ATOM 3516 H1 TIP3 873 -28.647 -13.985 17.717 .00 .00 BULK ATOM 3517 H2 TIP3 873 -29.907 -13.117 17.669 .00 .00 BULK ATOM 3518 OH2 TIP3 874 -4.843 -18.814 -14.005 .00 .00 BULK ATOM 3519 H1 TIP3 874 -4.969 -19.452 -14.799 .00 .00 BULK ATOM 3520 H2 TIP3 874 -4.618 -17.987 -14.454 .00 .00 BULK ATOM 3521 OH2 TIP3 875 -17.541 -19.339 16.721 .00 .00 BULK ATOM 3522 H1 TIP3 875 -17.077 -19.764 17.501 .00 .00 BULK ATOM 3523 H2 TIP3 875 -18.330 -18.905 17.147 .00 .00 BULK ATOM 3524 OH2 TIP3 876 -19.424 20.854 15.739 .00 .00 BULK ATOM 3525 H1 TIP3 876 -18.608 21.287 16.064 .00 .00 BULK ATOM 3526 H2 TIP3 876 -19.979 21.160 16.494 .00 .00 BULK ATOM 3527 OH2 TIP3 877 3.971 -16.789 16.493 .00 .00 BULK ATOM 3528 H1 TIP3 877 3.928 -16.741 17.429 .00 .00 BULK ATOM 3529 H2 TIP3 877 3.241 -17.342 16.234 .00 .00 BULK ATOM 3530 OH2 TIP3 878 -6.723 -22.070 3.825 .00 .00 BULK ATOM 3531 H1 TIP3 878 -6.367 -21.256 4.147 .00 .00 BULK ATOM 3532 H2 TIP3 878 -5.866 -22.596 3.609 .00 .00 BULK ATOM 3533 OH2 TIP3 879 21.875 -22.611 -14.216 .00 .00 BULK ATOM 3534 H1 TIP3 879 22.616 -23.001 -13.798 .00 .00 BULK ATOM 3535 H2 TIP3 879 22.122 -22.589 -15.189 .00 .00 BULK ATOM 3536 OH2 TIP3 880 3.433 -18.305 -6.579 .00 .00 BULK ATOM 3537 H1 TIP3 880 3.032 -18.678 -5.723 .00 .00 BULK ATOM 3538 H2 TIP3 880 2.771 -17.633 -6.807 .00 .00 BULK ATOM 3539 OH2 TIP3 881 10.927 -4.106 19.266 .00 .00 BULK ATOM 3540 H1 TIP3 881 10.457 -4.895 19.625 .00 .00 BULK ATOM 3541 H2 TIP3 881 11.291 -3.777 20.092 .00 .00 BULK ATOM 3542 OH2 TIP3 882 17.097 16.368 12.160 .00 .00 BULK ATOM 3543 H1 TIP3 882 16.215 16.436 12.523 .00 .00 BULK ATOM 3544 H2 TIP3 882 17.194 15.430 12.021 .00 .00 BULK ATOM 3545 OH2 TIP3 883 10.252 -8.963 12.519 .00 .00 BULK ATOM 3546 H1 TIP3 883 11.255 -9.111 12.517 .00 .00 BULK ATOM 3547 H2 TIP3 883 9.925 -9.869 12.396 .00 .00 BULK ATOM 3548 OH2 TIP3 884 3.656 2.963 19.994 .00 .00 BULK ATOM 3549 H1 TIP3 884 3.171 3.452 19.338 .00 .00 BULK ATOM 3550 H2 TIP3 884 4.060 2.336 19.322 .00 .00 BULK ATOM 3551 OH2 TIP3 885 5.686 13.830 -20.450 .00 .00 BULK ATOM 3552 H1 TIP3 885 6.520 13.859 -20.935 .00 .00 BULK ATOM 3553 H2 TIP3 885 5.596 12.893 -20.407 .00 .00 BULK ATOM 3554 OH2 TIP3 886 12.698 -3.049 -3.722 .00 .00 BULK ATOM 3555 H1 TIP3 886 12.321 -3.991 -3.660 .00 .00 BULK ATOM 3556 H2 TIP3 886 13.573 -3.186 -4.071 .00 .00 BULK ATOM 3557 OH2 TIP3 887 25.360 9.752 -20.237 .00 .00 BULK ATOM 3558 H1 TIP3 887 24.754 9.245 -20.843 .00 .00 BULK ATOM 3559 H2 TIP3 887 25.241 10.673 -20.643 .00 .00 BULK ATOM 3560 OH2 TIP3 888 -15.035 4.893 -20.583 .00 .00 BULK ATOM 3561 H1 TIP3 888 -14.928 5.214 -19.669 .00 .00 BULK ATOM 3562 H2 TIP3 888 -15.048 3.962 -20.368 .00 .00 BULK ATOM 3563 OH2 TIP3 889 -3.580 15.675 -4.352 .00 .00 BULK ATOM 3564 H1 TIP3 889 -3.344 16.453 -4.862 .00 .00 BULK ATOM 3565 H2 TIP3 889 -2.679 15.387 -4.057 .00 .00 BULK ATOM 3566 OH2 TIP3 890 -17.706 17.124 -4.232 .00 .00 BULK ATOM 3567 H1 TIP3 890 -17.693 17.294 -3.244 .00 .00 BULK ATOM 3568 H2 TIP3 890 -16.714 17.024 -4.340 .00 .00 BULK ATOM 3569 OH2 TIP3 891 -10.060 2.412 -22.989 .00 .00 BULK ATOM 3570 H1 TIP3 891 -10.962 2.752 -23.011 .00 .00 BULK ATOM 3571 H2 TIP3 891 -9.597 3.111 -23.506 .00 .00 BULK ATOM 3572 OH2 TIP3 892 -10.397 22.394 -20.099 .00 .00 BULK ATOM 3573 H1 TIP3 892 -11.194 22.994 -20.032 .00 .00 BULK ATOM 3574 H2 TIP3 892 -9.789 22.978 -20.595 .00 .00 BULK ATOM 3575 OH2 TIP3 893 -8.537 10.929 -14.990 .00 .00 BULK ATOM 3576 H1 TIP3 893 -9.137 10.365 -15.530 .00 .00 BULK ATOM 3577 H2 TIP3 893 -8.281 10.290 -14.299 .00 .00 BULK ATOM 3578 OH2 TIP3 894 -6.508 20.090 -22.408 .00 .00 BULK ATOM 3579 H1 TIP3 894 -6.955 20.073 -21.532 .00 .00 BULK ATOM 3580 H2 TIP3 894 -7.288 20.343 -22.933 .00 .00 BULK ATOM 3581 OH2 TIP3 895 26.799 16.848 -18.999 .00 .00 BULK ATOM 3582 H1 TIP3 895 26.177 16.965 -18.298 .00 .00 BULK ATOM 3583 H2 TIP3 895 26.527 17.513 -19.646 .00 .00 BULK ATOM 3584 OH2 TIP3 896 18.012 10.127 -6.516 .00 .00 BULK ATOM 3585 H1 TIP3 896 17.234 10.714 -6.739 .00 .00 BULK ATOM 3586 H2 TIP3 896 18.316 9.974 -7.419 .00 .00 BULK ATOM 3587 OH2 TIP3 897 8.640 4.296 -18.102 .00 .00 BULK ATOM 3588 H1 TIP3 897 8.795 3.453 -17.741 .00 .00 BULK ATOM 3589 H2 TIP3 897 8.156 4.727 -17.374 .00 .00 BULK ATOM 3590 OH2 TIP3 898 23.592 18.127 -1.205 .00 .00 BULK ATOM 3591 H1 TIP3 898 24.049 18.988 -1.084 .00 .00 BULK ATOM 3592 H2 TIP3 898 23.581 18.021 -2.158 .00 .00 BULK ATOM 3593 OH2 TIP3 899 2.679 4.060 17.598 .00 .00 BULK ATOM 3594 H1 TIP3 899 3.336 4.268 16.858 .00 .00 BULK ATOM 3595 H2 TIP3 899 2.331 4.989 17.677 .00 .00 BULK ATOM 3596 OH2 TIP3 900 10.444 -4.359 -22.991 .00 .00 BULK ATOM 3597 H1 TIP3 900 10.955 -4.804 -22.344 .00 .00 BULK ATOM 3598 H2 TIP3 900 9.518 -4.509 -22.634 .00 .00 BULK ATOM 3599 OH2 TIP3 901 -20.387 6.529 -3.985 .00 .00 BULK ATOM 3600 H1 TIP3 901 -19.983 5.679 -3.685 .00 .00 BULK ATOM 3601 H2 TIP3 901 -21.289 6.285 -4.304 .00 .00 BULK ATOM 3602 OH2 TIP3 902 2.097 11.393 -23.782 .00 .00 BULK ATOM 3603 H1 TIP3 902 2.362 11.665 -22.907 .00 .00 BULK ATOM 3604 H2 TIP3 902 2.131 10.424 -23.509 .00 .00 BULK ATOM 3605 OH2 TIP3 903 -12.382 -2.542 11.272 .00 .00 BULK ATOM 3606 H1 TIP3 903 -12.486 -3.568 11.284 .00 .00 BULK ATOM 3607 H2 TIP3 903 -11.656 -2.408 11.860 .00 .00 BULK ATOM 3608 OH2 TIP3 904 -2.484 -22.855 1.483 .00 .00 BULK ATOM 3609 H1 TIP3 904 -2.447 -23.391 .688 .00 .00 BULK ATOM 3610 H2 TIP3 904 -2.426 -23.492 2.167 .00 .00 BULK ATOM 3611 OH2 TIP3 905 -4.776 7.345 -14.914 .00 .00 BULK ATOM 3612 H1 TIP3 905 -5.536 7.833 -14.457 .00 .00 BULK ATOM 3613 H2 TIP3 905 -4.410 8.004 -15.469 .00 .00 BULK ATOM 3614 OH2 TIP3 906 4.610 6.858 -17.960 .00 .00 BULK ATOM 3615 H1 TIP3 906 4.860 6.026 -18.467 .00 .00 BULK ATOM 3616 H2 TIP3 906 4.585 6.666 -17.005 .00 .00 BULK ATOM 3617 OH2 TIP3 907 29.158 .314 -17.804 .00 .00 BULK ATOM 3618 H1 TIP3 907 28.359 -.262 -18.045 .00 .00 BULK ATOM 3619 H2 TIP3 907 28.765 1.182 -17.756 .00 .00 BULK ATOM 3620 OH2 TIP3 908 -16.830 1.671 11.827 .00 .00 BULK ATOM 3621 H1 TIP3 908 -16.203 1.685 11.088 .00 .00 BULK ATOM 3622 H2 TIP3 908 -16.197 1.458 12.537 .00 .00 BULK ATOM 3623 OH2 TIP3 909 15.358 9.512 2.539 .00 .00 BULK ATOM 3624 H1 TIP3 909 16.317 9.251 2.600 .00 .00 BULK ATOM 3625 H2 TIP3 909 15.201 9.878 3.424 .00 .00 BULK ATOM 3626 OH2 TIP3 910 -3.719 18.952 -20.801 .00 .00 BULK ATOM 3627 H1 TIP3 910 -3.967 18.035 -20.506 .00 .00 BULK ATOM 3628 H2 TIP3 910 -4.598 19.341 -20.858 .00 .00 BULK ATOM 3629 OH2 TIP3 911 .187 22.891 -16.093 .00 .00 BULK ATOM 3630 H1 TIP3 911 .757 23.182 -16.857 .00 .00 BULK ATOM 3631 H2 TIP3 911 .017 23.662 -15.581 .00 .00 BULK ATOM 3632 OH2 TIP3 912 20.086 16.001 -20.484 .00 .00 BULK ATOM 3633 H1 TIP3 912 20.296 15.651 -21.339 .00 .00 BULK ATOM 3634 H2 TIP3 912 19.851 16.952 -20.699 .00 .00 BULK ATOM 3635 OH2 TIP3 913 9.981 12.627 23.600 .00 .00 BULK ATOM 3636 H1 TIP3 913 10.328 13.480 23.255 .00 .00 BULK ATOM 3637 H2 TIP3 913 9.581 12.254 22.784 .00 .00 BULK ATOM 3638 OH2 TIP3 914 .593 7.384 -16.014 .00 .00 BULK ATOM 3639 H1 TIP3 914 1.296 7.165 -15.353 .00 .00 BULK ATOM 3640 H2 TIP3 914 1.010 8.186 -16.386 .00 .00 BULK ATOM 3641 OH2 TIP3 915 -11.331 18.461 .771 .00 .00 BULK ATOM 3642 H1 TIP3 915 -12.053 18.694 1.294 .00 .00 BULK ATOM 3643 H2 TIP3 915 -11.061 17.750 1.395 .00 .00 BULK ATOM 3644 OH2 TIP3 916 11.379 19.289 -6.781 .00 .00 BULK ATOM 3645 H1 TIP3 916 11.013 18.845 -7.582 .00 .00 BULK ATOM 3646 H2 TIP3 916 11.884 18.528 -6.441 .00 .00 BULK ATOM 3647 OH2 TIP3 917 -1.592 -12.035 .005 .00 .00 BULK ATOM 3648 H1 TIP3 917 -.953 -12.853 .057 .00 .00 BULK ATOM 3649 H2 TIP3 917 -.856 -11.375 -.005 .00 .00 BULK ATOM 3650 OH2 TIP3 918 20.454 9.436 22.655 .00 .00 BULK ATOM 3651 H1 TIP3 918 20.909 9.402 23.490 .00 .00 BULK ATOM 3652 H2 TIP3 918 19.668 8.930 22.821 .00 .00 BULK ATOM 3653 OH2 TIP3 919 12.102 9.996 -8.008 .00 .00 BULK ATOM 3654 H1 TIP3 919 12.723 10.713 -8.210 .00 .00 BULK ATOM 3655 H2 TIP3 919 12.746 9.259 -8.172 .00 .00 BULK ATOM 3656 OH2 TIP3 920 17.337 19.196 13.221 .00 .00 BULK ATOM 3657 H1 TIP3 920 16.423 19.189 13.564 .00 .00 BULK ATOM 3658 H2 TIP3 920 17.425 18.284 13.045 .00 .00 BULK ATOM 3659 OH2 TIP3 921 23.476 13.155 .549 .00 .00 BULK ATOM 3660 H1 TIP3 921 23.006 12.591 -.121 .00 .00 BULK ATOM 3661 H2 TIP3 921 23.291 14.023 .093 .00 .00 BULK ATOM 3662 OH2 TIP3 922 -25.976 -18.435 -15.004 .00 .00 BULK ATOM 3663 H1 TIP3 922 -26.091 -18.806 -15.940 .00 .00 BULK ATOM 3664 H2 TIP3 922 -26.531 -19.001 -14.486 .00 .00 BULK ATOM 3665 OH2 TIP3 923 6.378 -12.296 -18.569 .00 .00 BULK ATOM 3666 H1 TIP3 923 6.778 -13.105 -18.936 .00 .00 BULK ATOM 3667 H2 TIP3 923 6.534 -12.486 -17.641 .00 .00 BULK ATOM 3668 OH2 TIP3 924 19.899 22.837 -.045 .00 .00 BULK ATOM 3669 H1 TIP3 924 19.935 23.729 -.459 .00 .00 BULK ATOM 3670 H2 TIP3 924 20.247 22.406 -.943 .00 .00 BULK ATOM 3671 OH2 TIP3 925 -7.919 -13.236 -19.809 .00 .00 BULK ATOM 3672 H1 TIP3 925 -7.874 -12.744 -18.929 .00 .00 BULK ATOM 3673 H2 TIP3 925 -7.005 -13.546 -19.989 .00 .00 BULK ATOM 3674 OH2 TIP3 926 29.154 -11.655 -12.334 .00 .00 BULK ATOM 3675 H1 TIP3 926 28.385 -11.195 -12.068 .00 .00 BULK ATOM 3676 H2 TIP3 926 29.707 -11.049 -12.934 .00 .00 BULK ATOM 3677 OH2 TIP3 927 28.359 22.689 -22.019 .00 .00 BULK ATOM 3678 H1 TIP3 927 27.674 23.065 -21.487 .00 .00 BULK ATOM 3679 H2 TIP3 927 28.909 23.499 -22.164 .00 .00 BULK ATOM 3680 OH2 TIP3 928 11.590 23.257 -21.762 .00 .00 BULK ATOM 3681 H1 TIP3 928 11.765 22.821 -20.900 .00 .00 BULK ATOM 3682 H2 TIP3 928 10.800 23.800 -21.515 .00 .00 BULK ATOM 3683 OH2 TIP3 929 11.417 -7.276 -16.525 .00 .00 BULK ATOM 3684 H1 TIP3 929 11.959 -7.102 -17.311 .00 .00 BULK ATOM 3685 H2 TIP3 929 10.557 -7.295 -16.979 .00 .00 BULK ATOM 3686 OH2 TIP3 930 -4.025 16.744 -10.152 .00 .00 BULK ATOM 3687 H1 TIP3 930 -3.596 17.058 -9.372 .00 .00 BULK ATOM 3688 H2 TIP3 930 -3.311 16.166 -10.459 .00 .00 BULK ATOM 3689 OH2 TIP3 931 -11.334 7.134 -15.784 .00 .00 BULK ATOM 3690 H1 TIP3 931 -11.018 7.295 -14.853 .00 .00 BULK ATOM 3691 H2 TIP3 931 -11.201 6.177 -15.826 .00 .00 BULK ATOM 3692 OH2 TIP3 932 17.174 -22.418 -15.471 .00 .00 BULK ATOM 3693 H1 TIP3 932 18.001 -22.380 -16.046 .00 .00 BULK ATOM 3694 H2 TIP3 932 17.486 -22.290 -14.512 .00 .00 BULK ATOM 3695 OH2 TIP3 933 -6.573 6.019 -9.985 .00 .00 BULK ATOM 3696 H1 TIP3 933 -6.756 5.918 -9.064 .00 .00 BULK ATOM 3697 H2 TIP3 933 -5.777 5.482 -10.127 .00 .00 BULK ATOM 3698 OH2 TIP3 934 .074 22.724 -6.334 .00 .00 BULK ATOM 3699 H1 TIP3 934 -.146 23.699 -6.387 .00 .00 BULK ATOM 3700 H2 TIP3 934 -.780 22.335 -6.055 .00 .00 BULK ATOM 3701 OH2 TIP3 935 -15.237 17.003 .422 .00 .00 BULK ATOM 3702 H1 TIP3 935 -14.855 16.092 .428 .00 .00 BULK ATOM 3703 H2 TIP3 935 -14.896 17.451 1.229 .00 .00 BULK ATOM 3704 OH2 TIP3 936 9.103 16.291 -23.770 .00 .00 BULK ATOM 3705 H1 TIP3 936 8.752 16.348 -22.854 .00 .00 BULK ATOM 3706 H2 TIP3 936 9.150 17.240 -23.943 .00 .00 BULK ATOM 3707 OH2 TIP3 937 18.280 10.322 3.683 .00 .00 BULK ATOM 3708 H1 TIP3 937 18.612 10.218 4.624 .00 .00 BULK ATOM 3709 H2 TIP3 937 17.997 9.424 3.605 .00 .00 BULK ATOM 3710 OH2 TIP3 938 10.687 9.615 -17.615 .00 .00 BULK ATOM 3711 H1 TIP3 938 11.095 10.526 -17.802 .00 .00 BULK ATOM 3712 H2 TIP3 938 10.446 9.744 -16.640 .00 .00 BULK ATOM 3713 OH2 TIP3 939 -18.819 -5.678 .370 .00 .00 BULK ATOM 3714 H1 TIP3 939 -19.229 -6.586 .359 .00 .00 BULK ATOM 3715 H2 TIP3 939 -18.111 -5.773 -.246 .00 .00 BULK ATOM 3716 OH2 TIP3 940 10.518 -13.215 -19.394 .00 .00 BULK ATOM 3717 H1 TIP3 940 10.135 -13.308 -18.479 .00 .00 BULK ATOM 3718 H2 TIP3 940 9.757 -12.873 -19.904 .00 .00 BULK ATOM 3719 OH2 TIP3 941 20.965 8.627 -.084 .00 .00 BULK ATOM 3720 H1 TIP3 941 20.408 7.859 .016 .00 .00 BULK ATOM 3721 H2 TIP3 941 20.421 9.309 .291 .00 .00 BULK ATOM 3722 OH2 TIP3 942 .779 18.925 -8.781 .00 .00 BULK ATOM 3723 H1 TIP3 942 .768 19.441 -9.594 .00 .00 BULK ATOM 3724 H2 TIP3 942 1.561 19.315 -8.366 .00 .00 BULK ATOM 3725 OH2 TIP3 943 18.369 -20.693 -21.937 .00 .00 BULK ATOM 3726 H1 TIP3 943 19.119 -21.286 -22.112 .00 .00 BULK ATOM 3727 H2 TIP3 943 18.038 -20.976 -21.065 .00 .00 BULK ATOM 3728 OH2 TIP3 944 -2.319 -18.796 3.501 .00 .00 BULK ATOM 3729 H1 TIP3 944 -3.226 -18.514 3.789 .00 .00 BULK ATOM 3730 H2 TIP3 944 -1.902 -18.401 4.287 .00 .00 BULK ATOM 3731 OH2 TIP3 945 22.642 -16.634 -16.574 .00 .00 BULK ATOM 3732 H1 TIP3 945 22.676 -17.410 -17.124 .00 .00 BULK ATOM 3733 H2 TIP3 945 23.409 -16.149 -16.676 .00 .00 BULK ATOM 3734 OH2 TIP3 946 -4.620 16.245 -1.745 .00 .00 BULK ATOM 3735 H1 TIP3 946 -4.384 16.266 -2.656 .00 .00 BULK ATOM 3736 H2 TIP3 946 -4.604 15.229 -1.701 .00 .00 BULK ATOM 3737 OH2 TIP3 947 4.151 11.139 -10.838 .00 .00 BULK ATOM 3738 H1 TIP3 947 3.381 11.626 -11.294 .00 .00 BULK ATOM 3739 H2 TIP3 947 3.767 10.456 -10.199 .00 .00 BULK ATOM 3740 OH2 TIP3 948 2.541 -21.144 -21.666 .00 .00 BULK ATOM 3741 H1 TIP3 948 2.986 -20.907 -22.511 .00 .00 BULK ATOM 3742 H2 TIP3 948 3.021 -20.609 -20.994 .00 .00 BULK ATOM 3743 OH2 TIP3 949 -8.646 -14.682 -1.896 .00 .00 BULK ATOM 3744 H1 TIP3 949 -9.383 -15.252 -1.621 .00 .00 BULK ATOM 3745 H2 TIP3 949 -9.137 -14.065 -2.429 .00 .00 BULK ATOM 3746 OH2 TIP3 950 14.775 -1.030 -6.139 .00 .00 BULK ATOM 3747 H1 TIP3 950 14.192 -.525 -6.669 .00 .00 BULK ATOM 3748 H2 TIP3 950 15.403 -.326 -5.845 .00 .00 BULK ATOM 3749 OH2 TIP3 951 8.989 -18.159 -2.191 .00 .00 BULK ATOM 3750 H1 TIP3 951 9.793 -17.754 -1.840 .00 .00 BULK ATOM 3751 H2 TIP3 951 8.295 -17.553 -1.877 .00 .00 BULK ATOM 3752 OH2 TIP3 952 -14.761 -4.404 -10.444 .00 .00 BULK ATOM 3753 H1 TIP3 952 -15.018 -4.136 -9.509 .00 .00 BULK ATOM 3754 H2 TIP3 952 -15.013 -5.353 -10.472 .00 .00 BULK ATOM 3755 OH2 TIP3 953 13.103 9.158 -20.173 .00 .00 BULK ATOM 3756 H1 TIP3 953 12.871 9.852 -20.738 .00 .00 BULK ATOM 3757 H2 TIP3 953 12.272 9.181 -19.720 .00 .00 BULK ATOM 3758 OH2 TIP3 954 -24.018 16.156 -3.821 .00 .00 BULK ATOM 3759 H1 TIP3 954 -24.597 15.492 -4.242 .00 .00 BULK ATOM 3760 H2 TIP3 954 -24.753 16.568 -3.311 .00 .00 BULK ATOM 3761 OH2 TIP3 955 -1.287 13.756 -7.557 .00 .00 BULK ATOM 3762 H1 TIP3 955 -.735 13.496 -8.359 .00 .00 BULK ATOM 3763 H2 TIP3 955 -.678 14.385 -7.127 .00 .00 BULK ATOM 3764 OH2 TIP3 956 .135 -14.175 .167 .00 .00 BULK ATOM 3765 H1 TIP3 956 .938 -13.710 .379 .00 .00 BULK ATOM 3766 H2 TIP3 956 .376 -14.608 -.695 .00 .00 BULK ATOM 3767 OH2 TIP3 957 14.956 -9.102 -18.069 .00 .00 BULK ATOM 3768 H1 TIP3 957 15.648 -9.759 -18.427 .00 .00 BULK ATOM 3769 H2 TIP3 957 14.262 -9.699 -17.665 .00 .00 BULK ATOM 3770 OH2 TIP3 958 -16.905 7.743 13.208 .00 .00 BULK ATOM 3771 H1 TIP3 958 -17.623 7.197 13.480 .00 .00 BULK ATOM 3772 H2 TIP3 958 -16.062 7.251 13.287 .00 .00 BULK ATOM 3773 OH2 TIP3 959 19.108 -16.645 -13.115 .00 .00 BULK ATOM 3774 H1 TIP3 959 19.210 -16.860 -12.134 .00 .00 BULK ATOM 3775 H2 TIP3 959 19.905 -17.092 -13.577 .00 .00 BULK ATOM 3776 OH2 TIP3 960 20.711 -19.350 -16.994 .00 .00 BULK ATOM 3777 H1 TIP3 960 21.665 -19.533 -17.100 .00 .00 BULK ATOM 3778 H2 TIP3 960 20.630 -19.048 -17.925 .00 .00 BULK ATOM 3779 OH2 TIP3 961 19.160 -17.861 -21.666 .00 .00 BULK ATOM 3780 H1 TIP3 961 18.572 -17.749 -20.862 .00 .00 BULK ATOM 3781 H2 TIP3 961 18.954 -18.836 -21.766 .00 .00 BULK ATOM 3782 OH2 TIP3 962 3.353 -14.533 -9.639 .00 .00 BULK ATOM 3783 H1 TIP3 962 2.715 -14.928 -10.299 .00 .00 BULK ATOM 3784 H2 TIP3 962 4.247 -14.783 -9.984 .00 .00 BULK ATOM 3785 OH2 TIP3 963 12.295 23.429 -1.897 .00 .00 BULK ATOM 3786 H1 TIP3 963 12.715 22.714 -1.380 .00 .00 BULK ATOM 3787 H2 TIP3 963 12.312 24.120 -1.173 .00 .00 BULK ATOM 3788 OH2 TIP3 964 21.046 -9.054 -13.958 .00 .00 BULK ATOM 3789 H1 TIP3 964 21.330 -9.506 -14.789 .00 .00 BULK ATOM 3790 H2 TIP3 964 20.065 -8.903 -14.201 .00 .00 BULK ATOM 3791 OH2 TIP3 965 -8.748 12.775 -11.467 .00 .00 BULK ATOM 3792 H1 TIP3 965 -8.851 11.954 -10.922 .00 .00 BULK ATOM 3793 H2 TIP3 965 -8.384 13.391 -10.805 .00 .00 BULK ATOM 3794 OH2 TIP3 966 1.084 17.852 -15.839 .00 .00 BULK ATOM 3795 H1 TIP3 966 .416 18.295 -16.407 .00 .00 BULK ATOM 3796 H2 TIP3 966 1.884 18.348 -16.082 .00 .00 BULK ATOM 3797 OH2 TIP3 967 -11.133 5.258 17.807 .00 .00 BULK ATOM 3798 H1 TIP3 967 -10.501 5.752 18.367 .00 .00 BULK ATOM 3799 H2 TIP3 967 -11.511 4.695 18.508 .00 .00 BULK ATOM 3800 OH2 TIP3 968 13.250 5.643 -16.856 .00 .00 BULK ATOM 3801 H1 TIP3 968 12.772 6.248 -17.439 .00 .00 BULK ATOM 3802 H2 TIP3 968 12.769 5.960 -16.039 .00 .00 BULK ATOM 3803 OH2 TIP3 969 25.314 -11.663 -21.479 .00 .00 BULK ATOM 3804 H1 TIP3 969 25.569 -11.475 -22.393 .00 .00 BULK ATOM 3805 H2 TIP3 969 25.464 -10.802 -21.035 .00 .00 BULK ATOM 3806 OH2 TIP3 970 -5.194 -15.240 -6.094 .00 .00 BULK ATOM 3807 H1 TIP3 970 -4.751 -16.006 -5.629 .00 .00 BULK ATOM 3808 H2 TIP3 970 -4.672 -14.456 -5.712 .00 .00 BULK ATOM 3809 OH2 TIP3 971 22.246 -1.105 -12.746 .00 .00 BULK ATOM 3810 H1 TIP3 971 22.724 -1.978 -12.847 .00 .00 BULK ATOM 3811 H2 TIP3 971 21.801 -1.351 -11.878 .00 .00 BULK ATOM 3812 OH2 TIP3 972 2.685 19.764 -20.249 .00 .00 BULK ATOM 3813 H1 TIP3 972 3.392 19.122 -20.181 .00 .00 BULK ATOM 3814 H2 TIP3 972 2.129 19.248 -20.918 .00 .00 BULK ATOM 3815 OH2 TIP3 973 12.851 20.507 -14.542 .00 .00 BULK ATOM 3816 H1 TIP3 973 12.190 21.107 -14.104 .00 .00 BULK ATOM 3817 H2 TIP3 973 12.356 19.690 -14.850 .00 .00 BULK ATOM 3818 OH2 TIP3 974 20.056 14.587 -10.227 .00 .00 BULK ATOM 3819 H1 TIP3 974 20.692 13.853 -10.058 .00 .00 BULK ATOM 3820 H2 TIP3 974 19.343 14.128 -10.710 .00 .00 BULK ATOM 3821 OH2 TIP3 975 7.652 -11.810 -7.742 .00 .00 BULK ATOM 3822 H1 TIP3 975 7.062 -12.362 -7.135 .00 .00 BULK ATOM 3823 H2 TIP3 975 7.409 -12.224 -8.622 .00 .00 BULK ATOM 3824 OH2 TIP3 976 22.285 -18.092 21.980 .00 .00 BULK ATOM 3825 H1 TIP3 976 22.439 -18.744 21.319 .00 .00 BULK ATOM 3826 H2 TIP3 976 23.114 -18.083 22.511 .00 .00 BULK ATOM 3827 OH2 TIP3 977 23.240 -22.764 -2.547 .00 .00 BULK ATOM 3828 H1 TIP3 977 23.030 -22.285 -1.765 .00 .00 BULK ATOM 3829 H2 TIP3 977 22.426 -23.277 -2.605 .00 .00 BULK ATOM 3830 OH2 TIP3 978 -4.916 7.885 -7.919 .00 .00 BULK ATOM 3831 H1 TIP3 978 -5.682 7.484 -7.525 .00 .00 BULK ATOM 3832 H2 TIP3 978 -4.395 7.069 -7.880 .00 .00 BULK ATOM 3833 OH2 TIP3 979 25.692 2.070 23.563 .00 .00 BULK ATOM 3834 H1 TIP3 979 25.650 1.876 22.624 .00 .00 BULK ATOM 3835 H2 TIP3 979 26.391 2.682 23.649 .00 .00 BULK ATOM 3836 OH2 TIP3 980 23.021 6.940 -11.636 .00 .00 BULK ATOM 3837 H1 TIP3 980 22.771 6.476 -10.770 .00 .00 BULK ATOM 3838 H2 TIP3 980 23.748 6.306 -11.910 .00 .00 BULK ATOM 3839 OH2 TIP3 981 22.554 -9.303 -21.134 .00 .00 BULK ATOM 3840 H1 TIP3 981 23.410 -8.871 -20.974 .00 .00 BULK ATOM 3841 H2 TIP3 981 22.803 -10.150 -21.628 .00 .00 BULK ATOM 3842 OH2 TIP3 982 6.052 -20.058 2.094 .00 .00 BULK ATOM 3843 H1 TIP3 982 6.618 -20.044 1.245 .00 .00 BULK ATOM 3844 H2 TIP3 982 6.288 -20.905 2.485 .00 .00 BULK ATOM 3845 OH2 TIP3 983 -.032 12.493 -9.739 .00 .00 BULK ATOM 3846 H1 TIP3 983 .001 13.309 -10.296 .00 .00 BULK ATOM 3847 H2 TIP3 983 -.828 12.048 -10.066 .00 .00 BULK ATOM 3848 OH2 TIP3 984 -1.041 -9.547 9.380 .00 .00 BULK ATOM 3849 H1 TIP3 984 -1.483 -9.605 8.488 .00 .00 BULK ATOM 3850 H2 TIP3 984 -1.078 -10.454 9.704 .00 .00 BULK ATOM 3851 OH2 TIP3 985 2.142 10.636 -17.209 .00 .00 BULK ATOM 3852 H1 TIP3 985 2.861 11.024 -17.803 .00 .00 BULK ATOM 3853 H2 TIP3 985 1.461 11.185 -17.621 .00 .00 BULK ATOM 3854 OH2 TIP3 986 -25.231 14.101 -21.648 .00 .00 BULK ATOM 3855 H1 TIP3 986 -24.865 14.087 -22.576 .00 .00 BULK ATOM 3856 H2 TIP3 986 -25.962 14.723 -21.726 .00 .00 BULK ATOM 3857 OH2 TIP3 987 2.399 21.789 -5.354 .00 .00 BULK ATOM 3858 H1 TIP3 987 1.529 22.179 -5.563 .00 .00 BULK ATOM 3859 H2 TIP3 987 2.838 22.450 -4.748 .00 .00 BULK ATOM 3860 OH2 TIP3 988 7.890 5.261 12.819 .00 .00 BULK ATOM 3861 H1 TIP3 988 7.439 4.539 12.364 .00 .00 BULK ATOM 3862 H2 TIP3 988 8.749 4.898 13.036 .00 .00 BULK ATOM 3863 OH2 TIP3 989 4.089 15.581 -.306 .00 .00 BULK ATOM 3864 H1 TIP3 989 3.944 15.360 .612 .00 .00 BULK ATOM 3865 H2 TIP3 989 3.142 15.617 -.608 .00 .00 BULK ATOM 3866 OH2 TIP3 990 18.705 3.120 -5.426 .00 .00 BULK ATOM 3867 H1 TIP3 990 19.517 2.547 -5.261 .00 .00 BULK ATOM 3868 H2 TIP3 990 19.128 3.981 -5.367 .00 .00 BULK ATOM 3869 OH2 TIP3 991 -7.492 -16.308 -12.473 .00 .00 BULK ATOM 3870 H1 TIP3 991 -7.109 -15.412 -12.463 .00 .00 BULK ATOM 3871 H2 TIP3 991 -7.971 -16.303 -13.326 .00 .00 BULK ATOM 3872 OH2 TIP3 992 22.432 6.405 -8.631 .00 .00 BULK ATOM 3873 H1 TIP3 992 21.438 6.418 -8.404 .00 .00 BULK ATOM 3874 H2 TIP3 992 22.852 7.096 -8.081 .00 .00 BULK ATOM 3875 OH2 TIP3 993 10.679 20.914 -10.894 .00 .00 BULK ATOM 3876 H1 TIP3 993 10.351 21.636 -11.443 .00 .00 BULK ATOM 3877 H2 TIP3 993 9.930 20.222 -10.924 .00 .00 BULK ATOM 3878 OH2 TIP3 994 27.640 -19.050 20.703 .00 .00 BULK ATOM 3879 H1 TIP3 994 28.078 -18.127 20.598 .00 .00 BULK ATOM 3880 H2 TIP3 994 26.687 -18.811 20.716 .00 .00 BULK ATOM 3881 OH2 TIP3 995 19.966 -20.548 20.315 .00 .00 BULK ATOM 3882 H1 TIP3 995 20.817 -20.620 20.758 .00 .00 BULK ATOM 3883 H2 TIP3 995 20.237 -20.966 19.466 .00 .00 BULK ATOM 3884 OH2 TIP3 996 -2.083 .749 22.776 .00 .00 BULK ATOM 3885 H1 TIP3 996 -1.525 .107 22.325 .00 .00 BULK ATOM 3886 H2 TIP3 996 -1.820 .588 23.687 .00 .00 BULK ATOM 3887 OH2 TIP3 997 -23.992 -21.470 -6.558 .00 .00 BULK ATOM 3888 H1 TIP3 997 -24.016 -21.165 -5.629 .00 .00 BULK ATOM 3889 H2 TIP3 997 -24.179 -22.393 -6.451 .00 .00 BULK ATOM 3890 OH2 TIP3 998 17.769 -14.258 -11.779 .00 .00 BULK ATOM 3891 H1 TIP3 998 17.082 -14.623 -11.182 .00 .00 BULK ATOM 3892 H2 TIP3 998 17.874 -15.011 -12.397 .00 .00 BULK ATOM 3893 OH2 TIP3 999 5.568 10.989 -20.376 .00 .00 BULK ATOM 3894 H1 TIP3 999 5.230 10.133 -20.745 .00 .00 BULK ATOM 3895 H2 TIP3 999 6.460 10.874 -20.706 .00 .00 BULK ATOM 3896 OH2 TIP3 1000 -28.747 19.306 12.703 .00 .00 BULK ATOM 3897 H1 TIP3 1000 -28.230 19.353 13.484 .00 .00 BULK ATOM 3898 H2 TIP3 1000 -29.081 18.393 12.764 .00 .00 BULK ATOM 3899 OH2 TIP3 1001 19.382 21.670 -15.406 .00 .00 BULK ATOM 3900 H1 TIP3 1001 19.111 22.474 -15.835 .00 .00 BULK ATOM 3901 H2 TIP3 1001 18.631 21.501 -14.887 .00 .00 BULK ATOM 3902 OH2 TIP3 1002 24.998 -1.554 20.265 .00 .00 BULK ATOM 3903 H1 TIP3 1002 24.511 -2.167 19.778 .00 .00 BULK ATOM 3904 H2 TIP3 1002 24.245 -1.057 20.667 .00 .00 BULK ATOM 3905 OH2 TIP3 1003 -4.246 -14.109 -8.367 .00 .00 BULK ATOM 3906 H1 TIP3 1003 -3.808 -14.852 -8.844 .00 .00 BULK ATOM 3907 H2 TIP3 1003 -4.780 -14.631 -7.724 .00 .00 BULK ATOM 3908 OH2 TIP3 1004 25.136 -9.214 -8.483 .00 .00 BULK ATOM 3909 H1 TIP3 1004 24.456 -8.984 -9.167 .00 .00 BULK ATOM 3910 H2 TIP3 1004 24.670 -8.927 -7.660 .00 .00 BULK ATOM 3911 OH2 TIP3 1005 -13.983 -3.910 -13.065 .00 .00 BULK ATOM 3912 H1 TIP3 1005 -14.560 -3.199 -13.382 .00 .00 BULK ATOM 3913 H2 TIP3 1005 -14.361 -3.871 -12.194 .00 .00 BULK ATOM 3914 OH2 TIP3 1006 21.254 -9.530 -4.719 .00 .00 BULK ATOM 3915 H1 TIP3 1006 20.603 -8.889 -4.635 .00 .00 BULK ATOM 3916 H2 TIP3 1006 22.074 -9.065 -4.450 .00 .00 BULK ATOM 3917 OH2 TIP3 1007 15.774 -7.344 -22.383 .00 .00 BULK ATOM 3918 H1 TIP3 1007 16.219 -6.725 -21.782 .00 .00 BULK ATOM 3919 H2 TIP3 1007 16.538 -7.896 -22.602 .00 .00 BULK ATOM 3920 OH2 TIP3 1008 6.618 17.525 -18.171 .00 .00 BULK ATOM 3921 H1 TIP3 1008 6.905 16.632 -18.171 .00 .00 BULK ATOM 3922 H2 TIP3 1008 6.872 17.738 -17.265 .00 .00 BULK ATOM 3923 OH2 TIP3 1009 7.132 -2.949 -15.371 .00 .00 BULK ATOM 3924 H1 TIP3 1009 6.546 -2.607 -16.043 .00 .00 BULK ATOM 3925 H2 TIP3 1009 7.947 -3.210 -15.844 .00 .00 BULK ATOM 3926 OH2 TIP3 1010 29.114 4.081 8.094 .00 .00 BULK ATOM 3927 H1 TIP3 1010 28.137 4.091 8.182 .00 .00 BULK ATOM 3928 H2 TIP3 1010 29.413 4.141 7.191 .00 .00 BULK ATOM 3929 OH2 TIP3 1011 13.396 21.241 -8.161 .00 .00 BULK ATOM 3930 H1 TIP3 1011 12.820 21.091 -7.433 .00 .00 BULK ATOM 3931 H2 TIP3 1011 14.322 21.173 -7.807 .00 .00 BULK ATOM 3932 OH2 TIP3 1012 29.722 -22.818 2.767 .00 .00 BULK ATOM 3933 H1 TIP3 1012 28.858 -22.504 2.365 .00 .00 BULK ATOM 3934 H2 TIP3 1012 30.204 -22.998 1.994 .00 .00 BULK ATOM 3935 OH2 TIP3 1013 3.510 4.988 21.857 .00 .00 BULK ATOM 3936 H1 TIP3 1013 3.547 4.146 21.258 .00 .00 BULK ATOM 3937 H2 TIP3 1013 2.518 5.081 21.797 .00 .00 BULK ATOM 3938 OH2 TIP3 1014 1.223 18.327 -21.920 .00 .00 BULK ATOM 3939 H1 TIP3 1014 .941 17.789 -21.203 .00 .00 BULK ATOM 3940 H2 TIP3 1014 .739 17.954 -22.762 .00 .00 BULK ATOM 3941 OH2 TIP3 1015 15.676 -13.698 -18.787 .00 .00 BULK ATOM 3942 H1 TIP3 1015 14.782 -13.426 -18.550 .00 .00 BULK ATOM 3943 H2 TIP3 1015 15.708 -14.545 -18.381 .00 .00 BULK ATOM 3944 OH2 TIP3 1016 9.880 -15.160 -12.583 .00 .00 BULK ATOM 3945 H1 TIP3 1016 10.483 -14.639 -13.090 .00 .00 BULK ATOM 3946 H2 TIP3 1016 9.277 -14.517 -12.303 .00 .00 BULK ATOM 3947 OH2 TIP3 1017 9.368 21.412 3.859 .00 .00 BULK ATOM 3948 H1 TIP3 1017 8.622 21.246 3.248 .00 .00 BULK ATOM 3949 H2 TIP3 1017 8.913 21.430 4.652 .00 .00 BULK ATOM 3950 OH2 TIP3 1018 19.816 12.130 18.633 .00 .00 BULK ATOM 3951 H1 TIP3 1018 19.230 12.129 19.381 .00 .00 BULK ATOM 3952 H2 TIP3 1018 20.329 12.912 18.777 .00 .00 BULK ATOM 3953 OH2 TIP3 1019 6.778 9.803 -11.383 .00 .00 BULK ATOM 3954 H1 TIP3 1019 6.639 9.201 -10.638 .00 .00 BULK ATOM 3955 H2 TIP3 1019 5.888 10.240 -11.605 .00 .00 BULK ATOM 3956 OH2 TIP3 1020 -5.189 -20.395 -23.031 .00 .00 BULK ATOM 3957 H1 TIP3 1020 -6.158 -20.282 -23.149 .00 .00 BULK ATOM 3958 H2 TIP3 1020 -5.037 -21.123 -22.367 .00 .00 BULK ATOM 3959 OH2 TIP3 1021 4.892 4.252 -12.420 .00 .00 BULK ATOM 3960 H1 TIP3 1021 4.711 5.142 -12.393 .00 .00 BULK ATOM 3961 H2 TIP3 1021 5.871 4.172 -12.206 .00 .00 BULK ATOM 3962 OH2 TIP3 1022 24.690 -4.340 17.532 .00 .00 BULK ATOM 3963 H1 TIP3 1022 24.452 -4.413 16.570 .00 .00 BULK ATOM 3964 H2 TIP3 1022 24.056 -5.024 17.844 .00 .00 BULK ATOM 3965 OH2 TIP3 1023 22.212 -10.769 -6.987 .00 .00 BULK ATOM 3966 H1 TIP3 1023 23.047 -10.191 -7.010 .00 .00 BULK ATOM 3967 H2 TIP3 1023 21.898 -10.371 -6.175 .00 .00 BULK ATOM 3968 OH2 TIP3 1024 13.122 -10.572 18.662 .00 .00 BULK ATOM 3969 H1 TIP3 1024 12.883 -11.281 18.035 .00 .00 BULK ATOM 3970 H2 TIP3 1024 12.971 -9.815 18.084 .00 .00 BULK ATOM 3971 OH2 TIP3 1025 1.486 6.854 12.496 .00 .00 BULK ATOM 3972 H1 TIP3 1025 1.851 6.561 11.621 .00 .00 BULK ATOM 3973 H2 TIP3 1025 2.178 7.473 12.682 .00 .00 BULK ATOM 3974 OH2 TIP3 1026 12.253 -12.722 20.838 .00 .00 BULK ATOM 3975 H1 TIP3 1026 11.509 -12.524 20.307 .00 .00 BULK ATOM 3976 H2 TIP3 1026 12.420 -11.818 21.277 .00 .00 BULK ATOM 3977 OH2 TIP3 1027 16.680 10.664 17.708 .00 .00 BULK ATOM 3978 H1 TIP3 1027 16.847 10.000 17.101 .00 .00 BULK ATOM 3979 H2 TIP3 1027 16.528 11.430 17.129 .00 .00 BULK ATOM 3980 OH2 TIP3 1028 17.832 15.034 -18.859 .00 .00 BULK ATOM 3981 H1 TIP3 1028 18.351 15.662 -19.324 .00 .00 BULK ATOM 3982 H2 TIP3 1028 18.396 14.250 -18.946 .00 .00 BULK ATOM 3983 OH2 TIP3 1029 -7.819 -7.074 -13.075 .00 .00 BULK ATOM 3984 H1 TIP3 1029 -8.003 -6.103 -13.016 .00 .00 BULK ATOM 3985 H2 TIP3 1029 -6.837 -7.162 -12.807 .00 .00 BULK ATOM 3986 OH2 TIP3 1030 21.581 2.269 -16.894 .00 .00 BULK ATOM 3987 H1 TIP3 1030 22.029 2.428 -16.011 .00 .00 BULK ATOM 3988 H2 TIP3 1030 21.032 1.451 -16.672 .00 .00 BULK ATOM 3989 OH2 TIP3 1031 17.305 2.726 -19.258 .00 .00 BULK ATOM 3990 H1 TIP3 1031 17.214 3.602 -19.727 .00 .00 BULK ATOM 3991 H2 TIP3 1031 16.489 2.781 -18.666 .00 .00 BULK ATOM 3992 OH2 TIP3 1032 25.937 .654 .011 .00 .00 BULK ATOM 3993 H1 TIP3 1032 24.997 .478 -.019 .00 .00 BULK ATOM 3994 H2 TIP3 1032 26.217 -.136 .513 .00 .00 BULK ATOM 3995 OH2 TIP3 1033 -11.421 -10.120 22.330 .00 .00 BULK ATOM 3996 H1 TIP3 1033 -11.152 -9.510 23.063 .00 .00 BULK ATOM 3997 H2 TIP3 1033 -12.354 -9.781 22.043 .00 .00 BULK ATOM 3998 OH2 TIP3 1034 11.458 16.902 15.673 .00 .00 BULK ATOM 3999 H1 TIP3 1034 12.136 16.226 15.739 .00 .00 BULK ATOM 4000 H2 TIP3 1034 10.828 16.424 15.146 .00 .00 BULK ATOM 4001 OH2 TIP3 1035 -24.114 19.085 16.263 .00 .00 BULK ATOM 4002 H1 TIP3 1035 -24.727 18.853 15.603 .00 .00 BULK ATOM 4003 H2 TIP3 1035 -23.560 19.599 15.613 .00 .00 BULK ATOM 4004 OH2 TIP3 1036 19.654 20.789 14.114 .00 .00 BULK ATOM 4005 H1 TIP3 1036 18.972 20.877 14.796 .00 .00 BULK ATOM 4006 H2 TIP3 1036 19.183 20.105 13.630 .00 .00 BULK ATOM 4007 OH2 TIP3 1037 3.001 2.937 -16.672 .00 .00 BULK ATOM 4008 H1 TIP3 1037 3.690 2.672 -17.355 .00 .00 BULK ATOM 4009 H2 TIP3 1037 3.481 2.791 -15.820 .00 .00 BULK ATOM 4010 OH2 TIP3 1038 9.891 6.516 -23.451 .00 .00 BULK ATOM 4011 H1 TIP3 1038 9.025 6.166 -23.220 .00 .00 BULK ATOM 4012 H2 TIP3 1038 10.112 7.001 -22.625 .00 .00 BULK ATOM 4013 OH2 TIP3 1039 6.902 -6.386 -16.536 .00 .00 BULK ATOM 4014 H1 TIP3 1039 6.015 -6.631 -16.231 .00 .00 BULK ATOM 4015 H2 TIP3 1039 6.666 -5.650 -17.152 .00 .00 BULK ATOM 4016 OH2 TIP3 1040 -1.708 10.767 -4.954 .00 .00 BULK ATOM 4017 H1 TIP3 1040 -.978 10.914 -5.596 .00 .00 BULK ATOM 4018 H2 TIP3 1040 -1.135 10.346 -4.354 .00 .00 BULK ATOM 4019 OH2 TIP3 1041 18.563 15.445 5.492 .00 .00 BULK ATOM 4020 H1 TIP3 1041 18.933 14.512 5.472 .00 .00 BULK ATOM 4021 H2 TIP3 1041 17.689 15.230 5.875 .00 .00 BULK ATOM 4022 OH2 TIP3 1042 23.346 16.015 -14.796 .00 .00 BULK ATOM 4023 H1 TIP3 1042 23.124 16.867 -14.467 .00 .00 BULK ATOM 4024 H2 TIP3 1042 22.873 15.419 -14.219 .00 .00 BULK ATOM 4025 OH2 TIP3 1043 22.291 -15.750 -19.578 .00 .00 BULK ATOM 4026 H1 TIP3 1043 21.584 -15.216 -19.110 .00 .00 BULK ATOM 4027 H2 TIP3 1043 21.777 -16.582 -19.678 .00 .00 BULK ATOM 4028 OH2 TIP3 1044 14.030 -15.212 13.785 .00 .00 BULK ATOM 4029 H1 TIP3 1044 14.926 -15.132 14.242 .00 .00 BULK ATOM 4030 H2 TIP3 1044 13.679 -15.952 14.343 .00 .00 BULK ATOM 4031 OH2 TIP3 1045 18.518 15.168 -23.264 .00 .00 BULK ATOM 4032 H1 TIP3 1045 18.207 14.581 -22.597 .00 .00 BULK ATOM 4033 H2 TIP3 1045 19.412 14.845 -23.369 .00 .00 BULK ATOM 4034 OH2 TIP3 1046 8.868 9.932 2.443 .00 .00 BULK ATOM 4035 H1 TIP3 1046 8.098 9.757 1.926 .00 .00 BULK ATOM 4036 H2 TIP3 1046 9.534 9.970 1.701 .00 .00 BULK ATOM 4037 OH2 TIP3 1047 22.112 6.355 5.985 .00 .00 BULK ATOM 4038 H1 TIP3 1047 22.798 6.901 5.501 .00 .00 BULK ATOM 4039 H2 TIP3 1047 22.766 5.625 6.262 .00 .00 BULK ATOM 4040 OH2 TIP3 1048 13.024 -7.228 -6.828 .00 .00 BULK ATOM 4041 H1 TIP3 1048 13.180 -8.081 -7.286 .00 .00 BULK ATOM 4042 H2 TIP3 1048 13.813 -7.105 -6.312 .00 .00 BULK ATOM 4043 OH2 TIP3 1049 4.691 -3.118 -22.628 .00 .00 BULK ATOM 4044 H1 TIP3 1049 3.945 -2.457 -22.348 .00 .00 BULK ATOM 4045 H2 TIP3 1049 5.517 -2.685 -22.281 .00 .00 BULK ATOM 4046 OH2 TIP3 1050 29.737 13.293 -4.686 .00 .00 BULK ATOM 4047 H1 TIP3 1050 29.403 14.178 -4.557 .00 .00 BULK ATOM 4048 H2 TIP3 1050 30.497 13.357 -4.049 .00 .00 BULK ATOM 4049 OH2 TIP3 1051 -10.714 4.285 -15.437 .00 .00 BULK ATOM 4050 H1 TIP3 1051 -10.917 4.088 -14.515 .00 .00 BULK ATOM 4051 H2 TIP3 1051 -11.489 3.984 -15.900 .00 .00 BULK ATOM 4052 OH2 TIP3 1052 -11.235 -1.720 23.483 .00 .00 BULK ATOM 4053 H1 TIP3 1052 -11.033 -1.358 22.561 .00 .00 BULK ATOM 4054 H2 TIP3 1052 -11.980 -1.125 23.808 .00 .00 BULK ATOM 4055 OH2 TIP3 1053 12.932 8.157 -10.288 .00 .00 BULK ATOM 4056 H1 TIP3 1053 12.160 7.710 -10.059 .00 .00 BULK ATOM 4057 H2 TIP3 1053 12.901 7.976 -11.267 .00 .00 BULK ATOM 4058 OH2 TIP3 1054 1.325 14.597 -20.901 .00 .00 BULK ATOM 4059 H1 TIP3 1054 1.079 15.461 -20.511 .00 .00 BULK ATOM 4060 H2 TIP3 1054 2.282 14.718 -20.801 .00 .00 BULK ATOM 4061 OH2 TIP3 1055 15.894 9.434 -8.305 .00 .00 BULK ATOM 4062 H1 TIP3 1055 16.024 9.752 -9.258 .00 .00 BULK ATOM 4063 H2 TIP3 1055 15.257 10.094 -8.042 .00 .00 BULK ATOM 4064 OH2 TIP3 1056 4.603 7.050 -12.054 .00 .00 BULK ATOM 4065 H1 TIP3 1056 4.101 7.122 -11.237 .00 .00 BULK ATOM 4066 H2 TIP3 1056 4.089 7.616 -12.708 .00 .00 BULK ATOM 4067 OH2 TIP3 1057 -4.578 15.811 -19.866 .00 .00 BULK ATOM 4068 H1 TIP3 1057 -5.370 15.286 -20.073 .00 .00 BULK ATOM 4069 H2 TIP3 1057 -4.438 15.537 -18.942 .00 .00 BULK ATOM 4070 OH2 TIP3 1058 16.037 13.079 16.602 .00 .00 BULK ATOM 4071 H1 TIP3 1058 16.740 12.875 15.965 .00 .00 BULK ATOM 4072 H2 TIP3 1058 15.962 14.062 16.605 .00 .00 BULK ATOM 4073 OH2 TIP3 1059 6.690 11.649 -16.977 .00 .00 BULK ATOM 4074 H1 TIP3 1059 6.619 10.713 -17.068 .00 .00 BULK ATOM 4075 H2 TIP3 1059 7.387 11.847 -17.571 .00 .00 BULK ATOM 4076 OH2 TIP3 1060 -20.148 1.729 -22.436 .00 .00 BULK ATOM 4077 H1 TIP3 1060 -19.903 1.289 -21.610 .00 .00 BULK ATOM 4078 H2 TIP3 1060 -19.829 1.141 -23.154 .00 .00 BULK ATOM 4079 OH2 TIP3 1061 15.924 22.127 18.371 .00 .00 BULK ATOM 4080 H1 TIP3 1061 15.234 22.297 17.680 .00 .00 BULK ATOM 4081 H2 TIP3 1061 15.803 22.814 19.021 .00 .00 BULK ATOM 4082 OH2 TIP3 1062 -13.851 17.267 -18.971 .00 .00 BULK ATOM 4083 H1 TIP3 1062 -14.593 17.596 -19.481 .00 .00 BULK ATOM 4084 H2 TIP3 1062 -14.020 16.292 -18.980 .00 .00 BULK ATOM 4085 OH2 TIP3 1063 -7.243 15.892 -15.024 .00 .00 BULK ATOM 4086 H1 TIP3 1063 -8.021 16.181 -14.542 .00 .00 BULK ATOM 4087 H2 TIP3 1063 -7.187 14.953 -14.778 .00 .00 BULK ATOM 4088 OH2 TIP3 1064 20.778 15.083 -2.527 .00 .00 BULK ATOM 4089 H1 TIP3 1064 20.485 14.206 -2.093 .00 .00 BULK ATOM 4090 H2 TIP3 1064 21.615 14.806 -2.783 .00 .00 BULK ATOM 4091 OH2 TIP3 1065 -2.694 4.361 14.305 .00 .00 BULK ATOM 4092 H1 TIP3 1065 -2.007 4.980 14.562 .00 .00 BULK ATOM 4093 H2 TIP3 1065 -3.138 4.369 15.148 .00 .00 BULK ATOM 4094 OH2 TIP3 1066 -16.087 -1.716 -8.967 .00 .00 BULK ATOM 4095 H1 TIP3 1066 -15.295 -1.680 -9.601 .00 .00 BULK ATOM 4096 H2 TIP3 1066 -16.900 -1.837 -9.440 .00 .00 BULK ATOM 4097 OH2 TIP3 1067 7.484 -21.816 -17.340 .00 .00 BULK ATOM 4098 H1 TIP3 1067 8.023 -21.031 -17.070 .00 .00 BULK ATOM 4099 H2 TIP3 1067 8.260 -22.479 -17.495 .00 .00 BULK ATOM 4100 OH2 TIP3 1068 -16.151 -2.381 -13.859 .00 .00 BULK ATOM 4101 H1 TIP3 1068 -16.969 -2.313 -14.295 .00 .00 BULK ATOM 4102 H2 TIP3 1068 -15.821 -1.466 -13.982 .00 .00 BULK ATOM 4103 OH2 TIP3 1069 5.224 -8.807 -9.471 .00 .00 BULK ATOM 4104 H1 TIP3 1069 4.821 -8.745 -8.614 .00 .00 BULK ATOM 4105 H2 TIP3 1069 5.243 -7.861 -9.639 .00 .00 BULK ATOM 4106 OH2 TIP3 1070 -1.950 -9.587 -21.363 .00 .00 BULK ATOM 4107 H1 TIP3 1070 -1.933 -9.548 -22.364 .00 .00 BULK ATOM 4108 H2 TIP3 1070 -1.209 -10.181 -21.309 .00 .00 BULK ATOM 4109 OH2 TIP3 1071 10.606 17.638 18.166 .00 .00 BULK ATOM 4110 H1 TIP3 1071 10.293 16.729 18.348 .00 .00 BULK ATOM 4111 H2 TIP3 1071 10.896 17.433 17.259 .00 .00 BULK ATOM 4112 OH2 TIP3 1072 -17.828 -12.764 -18.677 .00 .00 BULK ATOM 4113 H1 TIP3 1072 -17.672 -13.279 -19.469 .00 .00 BULK ATOM 4114 H2 TIP3 1072 -17.309 -12.052 -18.975 .00 .00 BULK ATOM 4115 OH2 TIP3 1073 29.300 13.988 -15.894 .00 .00 BULK ATOM 4116 H1 TIP3 1073 29.998 13.618 -15.308 .00 .00 BULK ATOM 4117 H2 TIP3 1073 29.663 13.606 -16.700 .00 .00 BULK ATOM 4118 OH2 TIP3 1074 -9.725 18.127 -23.370 .00 .00 BULK ATOM 4119 H1 TIP3 1074 -9.394 19.013 -23.624 .00 .00 BULK ATOM 4120 H2 TIP3 1074 -10.483 18.414 -22.818 .00 .00 BULK ATOM 4121 OH2 TIP3 1075 23.013 6.196 2.331 .00 .00 BULK ATOM 4122 H1 TIP3 1075 23.972 5.961 2.742 .00 .00 BULK ATOM 4123 H2 TIP3 1075 22.516 5.332 2.517 .00 .00 BULK ATOM 4124 OH2 TIP3 1076 10.062 8.504 -9.487 .00 .00 BULK ATOM 4125 H1 TIP3 1076 10.179 7.774 -8.921 .00 .00 BULK ATOM 4126 H2 TIP3 1076 10.862 8.993 -9.271 .00 .00 BULK ATOM 4127 OH2 TIP3 1077 -28.475 1.969 -15.952 .00 .00 BULK ATOM 4128 H1 TIP3 1077 -28.925 1.078 -15.918 .00 .00 BULK ATOM 4129 H2 TIP3 1077 -27.891 1.871 -16.675 .00 .00 BULK ATOM 4130 OH2 TIP3 1078 -7.096 13.247 -14.517 .00 .00 BULK ATOM 4131 H1 TIP3 1078 -7.555 12.384 -14.447 .00 .00 BULK ATOM 4132 H2 TIP3 1078 -6.380 13.088 -13.841 .00 .00 BULK ATOM 4133 OH2 TIP3 1079 -.251 -4.056 10.243 .00 .00 BULK ATOM 4134 H1 TIP3 1079 -.019 -3.746 9.332 .00 .00 BULK ATOM 4135 H2 TIP3 1079 -.118 -3.333 10.794 .00 .00 BULK ATOM 4136 OH2 TIP3 1080 -12.988 10.498 -11.229 .00 .00 BULK ATOM 4137 H1 TIP3 1080 -12.397 11.273 -11.191 .00 .00 BULK ATOM 4138 H2 TIP3 1080 -13.711 10.776 -11.783 .00 .00 BULK ATOM 4139 OH2 TIP3 1081 15.455 -11.879 12.557 .00 .00 BULK ATOM 4140 H1 TIP3 1081 15.634 -11.106 13.056 .00 .00 BULK ATOM 4141 H2 TIP3 1081 15.700 -12.626 13.125 .00 .00 BULK ATOM 4142 OH2 TIP3 1082 11.650 -12.226 -15.971 .00 .00 BULK ATOM 4143 H1 TIP3 1082 11.546 -12.333 -15.023 .00 .00 BULK ATOM 4144 H2 TIP3 1082 10.779 -12.369 -16.342 .00 .00 BULK ATOM 4145 OH2 TIP3 1083 -21.541 -7.840 -7.714 .00 .00 BULK ATOM 4146 H1 TIP3 1083 -21.235 -7.781 -6.807 .00 .00 BULK ATOM 4147 H2 TIP3 1083 -21.730 -8.777 -7.622 .00 .00 BULK ATOM 4148 OH2 TIP3 1084 -20.574 -.863 -2.518 .00 .00 BULK ATOM 4149 H1 TIP3 1084 -21.312 -.465 -2.004 .00 .00 BULK ATOM 4150 H2 TIP3 1084 -21.072 -1.602 -2.793 .00 .00 BULK ATOM 4151 OH2 TIP3 1085 28.691 17.564 -10.569 .00 .00 BULK ATOM 4152 H1 TIP3 1085 28.051 17.693 -9.831 .00 .00 BULK ATOM 4153 H2 TIP3 1085 28.054 17.782 -11.278 .00 .00 BULK ATOM 4154 OH2 TIP3 1086 19.507 2.928 18.077 .00 .00 BULK ATOM 4155 H1 TIP3 1086 20.209 2.696 17.385 .00 .00 BULK ATOM 4156 H2 TIP3 1086 19.327 3.893 17.900 .00 .00 BULK ATOM 4157 OH2 TIP3 1087 21.452 10.886 -8.400 .00 .00 BULK ATOM 4158 H1 TIP3 1087 20.687 10.297 -8.502 .00 .00 BULK ATOM 4159 H2 TIP3 1087 21.409 11.486 -9.197 .00 .00 BULK ATOM 4160 OH2 TIP3 1088 -18.999 -22.410 16.931 .00 .00 BULK ATOM 4161 H1 TIP3 1088 -20.018 -22.472 16.795 .00 .00 BULK ATOM 4162 H2 TIP3 1088 -18.895 -22.553 17.902 .00 .00 BULK ATOM 4163 OH2 TIP3 1089 -28.425 -5.044 -6.026 .00 .00 BULK ATOM 4164 H1 TIP3 1089 -28.324 -5.565 -6.804 .00 .00 BULK ATOM 4165 H2 TIP3 1089 -28.202 -5.772 -5.362 .00 .00 BULK ATOM 4166 OH2 TIP3 1090 11.645 6.558 -5.105 .00 .00 BULK ATOM 4167 H1 TIP3 1090 11.917 5.567 -5.106 .00 .00 BULK ATOM 4168 H2 TIP3 1090 11.855 6.798 -4.196 .00 .00 BULK ATOM 4169 OH2 TIP3 1091 22.329 -2.815 8.492 .00 .00 BULK ATOM 4170 H1 TIP3 1091 21.799 -3.223 9.119 .00 .00 BULK ATOM 4171 H2 TIP3 1091 22.724 -3.590 8.132 .00 .00 BULK ATOM 4172 OH2 TIP3 1092 10.142 14.986 14.177 .00 .00 BULK ATOM 4173 H1 TIP3 1092 9.880 14.919 13.199 .00 .00 BULK ATOM 4174 H2 TIP3 1092 10.856 14.320 14.177 .00 .00 BULK ATOM 4175 OH2 TIP3 1093 15.033 5.471 .383 .00 .00 BULK ATOM 4176 H1 TIP3 1093 15.819 5.836 .791 .00 .00 BULK ATOM 4177 H2 TIP3 1093 14.422 5.590 1.201 .00 .00 BULK ATOM 4178 OH2 TIP3 1094 21.257 20.156 -10.548 .00 .00 BULK ATOM 4179 H1 TIP3 1094 21.179 19.178 -10.417 .00 .00 BULK ATOM 4180 H2 TIP3 1094 20.505 20.593 -9.993 .00 .00 BULK ATOM 4181 OH2 TIP3 1095 19.649 3.298 -2.263 .00 .00 BULK ATOM 4182 H1 TIP3 1095 20.517 3.526 -2.553 .00 .00 BULK ATOM 4183 H2 TIP3 1095 19.287 4.198 -2.326 .00 .00 BULK ATOM 4184 OH2 TIP3 1096 13.944 6.762 20.913 .00 .00 BULK ATOM 4185 H1 TIP3 1096 14.464 6.355 21.634 .00 .00 BULK ATOM 4186 H2 TIP3 1096 14.154 6.047 20.249 .00 .00 BULK ATOM 4187 OH2 TIP3 1097 -21.435 18.395 -11.479 .00 .00 BULK ATOM 4188 H1 TIP3 1097 -21.850 18.650 -10.619 .00 .00 BULK ATOM 4189 H2 TIP3 1097 -20.546 18.412 -11.126 .00 .00 BULK ATOM 4190 OH2 TIP3 1098 23.628 18.173 -3.885 .00 .00 BULK ATOM 4191 H1 TIP3 1098 23.815 17.383 -4.373 .00 .00 BULK ATOM 4192 H2 TIP3 1098 24.546 18.522 -3.929 .00 .00 BULK ATOM 4193 OH2 TIP3 1099 -26.587 -4.385 4.681 .00 .00 BULK ATOM 4194 H1 TIP3 1099 -26.921 -3.943 3.858 .00 .00 BULK ATOM 4195 H2 TIP3 1099 -25.878 -4.920 4.298 .00 .00 BULK ATOM 4196 OH2 TIP3 1100 4.336 -7.767 -15.889 .00 .00 BULK ATOM 4197 H1 TIP3 1100 3.684 -6.986 -15.812 .00 .00 BULK ATOM 4198 H2 TIP3 1100 4.301 -7.812 -16.863 .00 .00 BULK ATOM 4199 OH2 TIP3 1101 8.146 15.463 -14.562 .00 .00 BULK ATOM 4200 H1 TIP3 1101 7.523 14.673 -14.567 .00 .00 BULK ATOM 4201 H2 TIP3 1101 8.786 15.094 -15.243 .00 .00 BULK ATOM 4202 OH2 TIP3 1102 -14.346 -23.045 13.544 .00 .00 BULK ATOM 4203 H1 TIP3 1102 -15.164 -22.864 14.001 .00 .00 BULK ATOM 4204 H2 TIP3 1102 -14.050 -23.766 14.096 .00 .00 BULK ATOM 4205 OH2 TIP3 1103 -.160 10.099 17.726 .00 .00 BULK ATOM 4206 H1 TIP3 1103 -1.096 9.914 17.912 .00 .00 BULK ATOM 4207 H2 TIP3 1103 -.125 11.040 18.128 .00 .00 BULK ATOM 4208 OH2 TIP3 1104 15.418 3.914 7.178 .00 .00 BULK ATOM 4209 H1 TIP3 1104 15.112 4.767 7.508 .00 .00 BULK ATOM 4210 H2 TIP3 1104 14.771 3.781 6.509 .00 .00 BULK ATOM 4211 OH2 TIP3 1105 20.134 10.004 -12.244 .00 .00 BULK ATOM 4212 H1 TIP3 1105 20.657 9.317 -12.689 .00 .00 BULK ATOM 4213 H2 TIP3 1105 19.276 9.833 -12.650 .00 .00 BULK ATOM 4214 OH2 TIP3 1106 22.094 -22.294 .053 .00 .00 BULK ATOM 4215 H1 TIP3 1106 22.599 -21.840 .719 .00 .00 BULK ATOM 4216 H2 TIP3 1106 21.170 -21.950 .017 .00 .00 BULK ATOM 4217 OH2 TIP3 1107 4.693 10.037 -6.869 .00 .00 BULK ATOM 4218 H1 TIP3 1107 4.472 10.496 -6.016 .00 .00 BULK ATOM 4219 H2 TIP3 1107 5.666 9.892 -6.738 .00 .00 BULK ATOM 4220 OH2 TIP3 1108 13.563 -17.157 -17.534 .00 .00 BULK ATOM 4221 H1 TIP3 1108 13.269 -17.817 -18.120 .00 .00 BULK ATOM 4222 H2 TIP3 1108 12.854 -16.490 -17.501 .00 .00 BULK ATOM 4223 OH2 TIP3 1109 6.121 -23.096 -21.490 .00 .00 BULK ATOM 4224 H1 TIP3 1109 5.522 -23.488 -20.841 .00 .00 BULK ATOM 4225 H2 TIP3 1109 5.930 -23.614 -22.314 .00 .00 BULK ATOM 4226 OH2 TIP3 1110 9.924 20.159 -3.856 .00 .00 BULK ATOM 4227 H1 TIP3 1110 10.619 20.340 -4.496 .00 .00 BULK ATOM 4228 H2 TIP3 1110 9.339 19.680 -4.412 .00 .00 BULK ATOM 4229 OH2 TIP3 1111 23.870 .087 5.258 .00 .00 BULK ATOM 4230 H1 TIP3 1111 23.826 1.061 5.142 .00 .00 BULK ATOM 4231 H2 TIP3 1111 23.952 .003 6.289 .00 .00 BULK ATOM 4232 OH2 TIP3 1112 5.953 17.952 -11.416 .00 .00 BULK ATOM 4233 H1 TIP3 1112 5.068 17.639 -11.455 .00 .00 BULK ATOM 4234 H2 TIP3 1112 6.375 17.099 -11.201 .00 .00 BULK ATOM 4235 OH2 TIP3 1113 -28.786 6.147 -10.342 .00 .00 BULK ATOM 4236 H1 TIP3 1113 -28.774 5.192 -10.319 .00 .00 BULK ATOM 4237 H2 TIP3 1113 -28.121 6.276 -11.060 .00 .00 BULK ATOM 4238 OH2 TIP3 1114 .019 -23.362 -2.828 .00 .00 BULK ATOM 4239 H1 TIP3 1114 -.615 -22.699 -2.361 .00 .00 BULK ATOM 4240 H2 TIP3 1114 -.651 -23.951 -3.234 .00 .00 BULK ATOM 4241 OH2 TIP3 1115 13.415 6.069 12.437 .00 .00 BULK ATOM 4242 H1 TIP3 1115 13.315 6.326 13.339 .00 .00 BULK ATOM 4243 H2 TIP3 1115 13.979 5.251 12.520 .00 .00 BULK ATOM 4244 OH2 TIP3 1116 17.290 -16.385 -6.826 .00 .00 BULK ATOM 4245 H1 TIP3 1116 17.384 -15.531 -6.426 .00 .00 BULK ATOM 4246 H2 TIP3 1116 18.036 -16.868 -6.470 .00 .00 BULK ATOM 4247 OH2 TIP3 1117 23.863 -5.200 8.136 .00 .00 BULK ATOM 4248 H1 TIP3 1117 24.448 -5.431 8.845 .00 .00 BULK ATOM 4249 H2 TIP3 1117 23.512 -6.055 7.818 .00 .00 BULK ATOM 4250 OH2 TIP3 1118 18.448 4.750 -22.730 .00 .00 BULK ATOM 4251 H1 TIP3 1118 17.808 5.323 -22.356 .00 .00 BULK ATOM 4252 H2 TIP3 1118 17.936 3.955 -22.921 .00 .00 BULK ATOM 4253 OH2 TIP3 1119 -10.634 -10.726 -4.432 .00 .00 BULK ATOM 4254 H1 TIP3 1119 -9.760 -11.228 -4.336 .00 .00 BULK ATOM 4255 H2 TIP3 1119 -10.654 -10.620 -5.453 .00 .00 BULK ATOM 4256 OH2 TIP3 1120 15.257 9.386 -10.831 .00 .00 BULK ATOM 4257 H1 TIP3 1120 14.621 8.666 -10.570 .00 .00 BULK ATOM 4258 H2 TIP3 1120 14.542 10.016 -11.123 .00 .00 BULK ATOM 4259 OH2 TIP3 1121 -17.875 -20.119 -4.577 .00 .00 BULK ATOM 4260 H1 TIP3 1121 -18.730 -20.239 -4.951 .00 .00 BULK ATOM 4261 H2 TIP3 1121 -17.238 -20.145 -5.328 .00 .00 BULK ATOM 4262 OH2 TIP3 1122 8.625 12.398 -18.768 .00 .00 BULK ATOM 4263 H1 TIP3 1122 9.374 12.983 -18.868 .00 .00 BULK ATOM 4264 H2 TIP3 1122 8.181 12.723 -19.580 .00 .00 BULK ATOM 4265 OH2 TIP3 1123 10.488 4.482 13.824 .00 .00 BULK ATOM 4266 H1 TIP3 1123 10.883 3.626 13.780 .00 .00 BULK ATOM 4267 H2 TIP3 1123 11.033 4.843 14.544 .00 .00 BULK ATOM 4268 OH2 TIP3 1124 15.319 3.639 -17.289 .00 .00 BULK ATOM 4269 H1 TIP3 1124 15.823 4.308 -16.736 .00 .00 BULK ATOM 4270 H2 TIP3 1124 14.527 4.254 -17.405 .00 .00 BULK ATOM 4271 OH2 TIP3 1125 13.745 -22.246 5.087 .00 .00 BULK ATOM 4272 H1 TIP3 1125 13.105 -22.908 5.305 .00 .00 BULK ATOM 4273 H2 TIP3 1125 14.614 -22.828 4.926 .00 .00 BULK ATOM 4274 OH2 TIP3 1126 14.379 19.603 -20.435 .00 .00 BULK ATOM 4275 H1 TIP3 1126 14.974 20.224 -20.994 .00 .00 BULK ATOM 4276 H2 TIP3 1126 14.346 20.145 -19.608 .00 .00 BULK ATOM 4277 OH2 TIP3 1127 20.495 23.218 16.887 .00 .00 BULK ATOM 4278 H1 TIP3 1127 19.695 22.698 16.666 .00 .00 BULK ATOM 4279 H2 TIP3 1127 21.002 23.219 16.049 .00 .00 BULK ATOM 4280 OH2 TIP3 1128 13.343 4.780 10.107 .00 .00 BULK ATOM 4281 H1 TIP3 1128 12.959 5.569 10.501 .00 .00 BULK ATOM 4282 H2 TIP3 1128 13.784 5.165 9.394 .00 .00 BULK ATOM 4283 OH2 TIP3 1129 10.697 14.382 -18.875 .00 .00 BULK ATOM 4284 H1 TIP3 1129 10.491 15.301 -19.209 .00 .00 BULK ATOM 4285 H2 TIP3 1129 11.651 14.309 -18.831 .00 .00 BULK ATOM 4286 OH2 TIP3 1130 .507 14.216 6.060 .00 .00 BULK ATOM 4287 H1 TIP3 1130 .749 13.608 6.776 .00 .00 BULK ATOM 4288 H2 TIP3 1130 -.193 14.696 6.620 .00 .00 BULK ATOM 4289 OH2 TIP3 1131 3.364 18.764 12.953 .00 .00 BULK ATOM 4290 H1 TIP3 1131 2.563 19.125 13.414 .00 .00 BULK ATOM 4291 H2 TIP3 1131 3.703 18.181 13.682 .00 .00 BULK ATOM 4292 OH2 TIP3 1132 23.166 4.327 9.223 .00 .00 BULK ATOM 4293 H1 TIP3 1132 23.114 5.089 9.868 .00 .00 BULK ATOM 4294 H2 TIP3 1132 22.248 4.348 8.936 .00 .00 BULK ATOM 4295 OH2 TIP3 1133 24.023 -8.908 -6.092 .00 .00 BULK ATOM 4296 H1 TIP3 1133 24.335 -9.011 -5.136 .00 .00 BULK ATOM 4297 H2 TIP3 1133 23.792 -8.006 -6.078 .00 .00 BULK ATOM 4298 OH2 TIP3 1134 9.483 -10.603 -13.585 .00 .00 BULK ATOM 4299 H1 TIP3 1134 10.409 -10.249 -13.564 .00 .00 BULK ATOM 4300 H2 TIP3 1134 9.161 -9.838 -14.163 .00 .00 BULK ATOM 4301 OH2 TIP3 1135 19.752 -11.532 -8.398 .00 .00 BULK ATOM 4302 H1 TIP3 1135 20.137 -10.622 -8.518 .00 .00 BULK ATOM 4303 H2 TIP3 1135 20.238 -11.685 -7.592 .00 .00 BULK ATOM 4304 OH2 TIP3 1136 -3.412 -6.957 21.744 .00 .00 BULK ATOM 4305 H1 TIP3 1136 -3.263 -6.475 20.909 .00 .00 BULK ATOM 4306 H2 TIP3 1136 -3.740 -6.355 22.434 .00 .00 BULK ATOM 4307 OH2 TIP3 1137 23.900 12.069 -4.986 .00 .00 BULK ATOM 4308 H1 TIP3 1137 24.850 12.288 -5.002 .00 .00 BULK ATOM 4309 H2 TIP3 1137 23.949 11.092 -4.856 .00 .00 BULK ATOM 4310 OH2 TIP3 1138 -2.810 8.958 -9.267 .00 .00 BULK ATOM 4311 H1 TIP3 1138 -2.964 9.895 -9.237 .00 .00 BULK ATOM 4312 H2 TIP3 1138 -3.631 8.580 -9.017 .00 .00 BULK ATOM 4313 OH2 TIP3 1139 9.746 -.552 -18.443 .00 .00 BULK ATOM 4314 H1 TIP3 1139 10.422 .000 -18.026 .00 .00 BULK ATOM 4315 H2 TIP3 1139 9.292 .087 -19.018 .00 .00 BULK ATOM 4316 OH2 TIP3 1140 22.875 -7.452 7.047 .00 .00 BULK ATOM 4317 H1 TIP3 1140 22.105 -8.100 7.156 .00 .00 BULK ATOM 4318 H2 TIP3 1140 23.324 -7.855 6.249 .00 .00 BULK ATOM 4319 OH2 TIP3 1141 5.768 17.585 3.924 .00 .00 BULK ATOM 4320 H1 TIP3 1141 5.639 16.614 3.785 .00 .00 BULK ATOM 4321 H2 TIP3 1141 6.723 17.690 3.492 .00 .00 BULK ATOM 4322 OH2 TIP3 1142 -9.319 9.251 23.069 .00 .00 BULK ATOM 4323 H1 TIP3 1142 -9.703 8.571 23.642 .00 .00 BULK ATOM 4324 H2 TIP3 1142 -9.535 10.049 23.563 .00 .00 BULK ATOM 4325 OH2 TIP3 1143 -5.040 -7.286 -9.281 .00 .00 BULK ATOM 4326 H1 TIP3 1143 -5.558 -7.894 -8.774 .00 .00 BULK ATOM 4327 H2 TIP3 1143 -4.690 -6.775 -8.536 .00 .00 BULK ATOM 4328 OH2 TIP3 1144 -13.217 23.124 -5.163 .00 .00 BULK ATOM 4329 H1 TIP3 1144 -13.201 23.408 -4.211 .00 .00 BULK ATOM 4330 H2 TIP3 1144 -13.451 22.202 -5.039 .00 .00 BULK ATOM 4331 OH2 TIP3 1145 22.268 13.179 6.205 .00 .00 BULK ATOM 4332 H1 TIP3 1145 22.169 12.245 5.886 .00 .00 BULK ATOM 4333 H2 TIP3 1145 21.879 13.577 5.380 .00 .00 BULK ATOM 4334 OH2 TIP3 1146 14.392 3.392 -20.787 .00 .00 BULK ATOM 4335 H1 TIP3 1146 14.953 2.996 -21.408 .00 .00 BULK ATOM 4336 H2 TIP3 1146 14.538 4.347 -20.900 .00 .00 BULK ATOM 4337 OH2 TIP3 1147 14.323 4.667 -3.943 .00 .00 BULK ATOM 4338 H1 TIP3 1147 14.036 3.719 -3.765 .00 .00 BULK ATOM 4339 H2 TIP3 1147 14.831 4.479 -4.754 .00 .00 BULK ATOM 4340 OH2 TIP3 1148 -24.791 13.342 10.670 .00 .00 BULK ATOM 4341 H1 TIP3 1148 -25.338 12.960 9.990 .00 .00 BULK ATOM 4342 H2 TIP3 1148 -24.008 12.857 10.625 .00 .00 BULK ATOM 4343 OH2 TIP3 1149 14.682 15.218 -12.162 .00 .00 BULK ATOM 4344 H1 TIP3 1149 14.742 16.191 -11.975 .00 .00 BULK ATOM 4345 H2 TIP3 1149 13.773 15.077 -12.252 .00 .00 BULK ATOM 4346 OH2 TIP3 1150 -5.283 20.301 10.689 .00 .00 BULK ATOM 4347 H1 TIP3 1150 -5.748 20.643 10.002 .00 .00 BULK ATOM 4348 H2 TIP3 1150 -5.718 20.784 11.440 .00 .00 BULK ATOM 4349 OH2 TIP3 1151 17.593 -1.568 5.428 .00 .00 BULK ATOM 4350 H1 TIP3 1151 18.324 -1.098 5.828 .00 .00 BULK ATOM 4351 H2 TIP3 1151 16.938 -.900 5.433 .00 .00 BULK ATOM 4352 OH2 TIP3 1152 -6.054 8.010 3.101 .00 .00 BULK ATOM 4353 H1 TIP3 1152 -5.565 7.773 2.321 .00 .00 BULK ATOM 4354 H2 TIP3 1152 -5.474 8.650 3.583 .00 .00 BULK ATOM 4355 OH2 TIP3 1153 -1.994 21.943 -.504 .00 .00 BULK ATOM 4356 H1 TIP3 1153 -1.255 21.914 .136 .00 .00 BULK ATOM 4357 H2 TIP3 1153 -1.740 21.226 -1.079 .00 .00 BULK ATOM 4358 OH2 TIP3 1154 .983 9.947 -11.424 .00 .00 BULK ATOM 4359 H1 TIP3 1154 .177 9.856 -10.985 .00 .00 BULK ATOM 4360 H2 TIP3 1154 .736 10.429 -12.246 .00 .00 BULK ATOM 4361 OH2 TIP3 1155 9.596 16.997 7.888 .00 .00 BULK ATOM 4362 H1 TIP3 1155 9.661 16.458 7.075 .00 .00 BULK ATOM 4363 H2 TIP3 1155 9.420 17.768 7.386 .00 .00 BULK ATOM 4364 OH2 TIP3 1156 6.958 1.229 20.575 .00 .00 BULK ATOM 4365 H1 TIP3 1156 7.393 2.018 20.098 .00 .00 BULK ATOM 4366 H2 TIP3 1156 7.750 .999 21.121 .00 .00 BULK ATOM 4367 OH2 TIP3 1157 21.926 -4.971 2.852 .00 .00 BULK ATOM 4368 H1 TIP3 1157 22.846 -4.848 3.104 .00 .00 BULK ATOM 4369 H2 TIP3 1157 21.519 -4.723 3.739 .00 .00 BULK ATOM 4370 OH2 TIP3 1158 16.536 22.510 14.609 .00 .00 BULK ATOM 4371 H1 TIP3 1158 15.748 21.907 14.841 .00 .00 BULK ATOM 4372 H2 TIP3 1158 16.089 23.001 13.932 .00 .00 BULK ATOM 4373 OH2 TIP3 1159 -8.545 -12.314 -3.838 .00 .00 BULK ATOM 4374 H1 TIP3 1159 -7.879 -12.805 -4.364 .00 .00 BULK ATOM 4375 H2 TIP3 1159 -7.937 -12.057 -3.069 .00 .00 BULK ATOM 4376 OH2 TIP3 1160 7.364 -1.852 -18.052 .00 .00 BULK ATOM 4377 H1 TIP3 1160 8.217 -1.411 -18.244 .00 .00 BULK ATOM 4378 H2 TIP3 1160 6.701 -1.120 -17.825 .00 .00 BULK ATOM 4379 OH2 TIP3 1161 22.948 -19.010 -3.788 .00 .00 BULK ATOM 4380 H1 TIP3 1161 23.412 -19.519 -4.476 .00 .00 BULK ATOM 4381 H2 TIP3 1161 23.612 -19.301 -3.091 .00 .00 BULK ATOM 4382 OH2 TIP3 1162 2.708 14.355 8.672 .00 .00 BULK ATOM 4383 H1 TIP3 1162 2.500 13.937 9.495 .00 .00 BULK ATOM 4384 H2 TIP3 1162 3.668 14.403 8.724 .00 .00 BULK ATOM 4385 OH2 TIP3 1163 25.256 -8.121 -.937 .00 .00 BULK ATOM 4386 H1 TIP3 1163 25.313 -8.084 .018 .00 .00 BULK ATOM 4387 H2 TIP3 1163 25.572 -8.996 -1.213 .00 .00 BULK ATOM 4388 OH2 TIP3 1164 24.042 10.355 -17.797 .00 .00 BULK ATOM 4389 H1 TIP3 1164 24.550 10.336 -18.651 .00 .00 BULK ATOM 4390 H2 TIP3 1164 23.879 11.337 -17.645 .00 .00 BULK ATOM 4391 OH2 TIP3 1165 23.876 7.158 -1.379 .00 .00 BULK ATOM 4392 H1 TIP3 1165 23.399 6.457 -.975 .00 .00 BULK ATOM 4393 H2 TIP3 1165 23.166 7.639 -1.876 .00 .00 BULK ATOM 4394 OH2 TIP3 1166 -29.927 9.780 16.420 .00 .00 BULK ATOM 4395 H1 TIP3 1166 -29.495 9.291 17.175 .00 .00 BULK ATOM 4396 H2 TIP3 1166 -29.292 10.472 16.229 .00 .00 BULK ATOM 4397 OH2 TIP3 1167 13.661 -16.362 -2.474 .00 .00 BULK ATOM 4398 H1 TIP3 1167 13.756 -15.405 -2.594 .00 .00 BULK ATOM 4399 H2 TIP3 1167 12.909 -16.591 -3.125 .00 .00 BULK ATOM 4400 OH2 TIP3 1168 20.299 13.739 1.362 .00 .00 BULK ATOM 4401 H1 TIP3 1168 19.621 14.451 1.589 .00 .00 BULK ATOM 4402 H2 TIP3 1168 21.035 13.959 1.884 .00 .00 BULK ATOM 4403 OH2 TIP3 1169 20.693 20.715 5.072 .00 .00 BULK ATOM 4404 H1 TIP3 1169 21.148 21.443 5.563 .00 .00 BULK ATOM 4405 H2 TIP3 1169 20.364 20.150 5.816 .00 .00 BULK ATOM 4406 OH2 TIP3 1170 21.676 -6.217 -15.255 .00 .00 BULK ATOM 4407 H1 TIP3 1170 21.041 -5.589 -15.676 .00 .00 BULK ATOM 4408 H2 TIP3 1170 21.731 -6.844 -15.971 .00 .00 BULK ATOM 4409 OH2 TIP3 1171 -8.191 -2.293 -11.119 .00 .00 BULK ATOM 4410 H1 TIP3 1171 -8.331 -1.423 -11.606 .00 .00 BULK ATOM 4411 H2 TIP3 1171 -7.530 -2.087 -10.458 .00 .00 BULK ATOM 4412 OH2 TIP3 1172 -6.881 -6.863 20.648 .00 .00 BULK ATOM 4413 H1 TIP3 1172 -6.255 -6.045 20.572 .00 .00 BULK ATOM 4414 H2 TIP3 1172 -7.824 -6.592 20.669 .00 .00 BULK ATOM 4415 OH2 TIP3 1173 -27.845 10.914 5.239 .00 .00 BULK ATOM 4416 H1 TIP3 1173 -28.684 10.394 5.309 .00 .00 BULK ATOM 4417 H2 TIP3 1173 -28.241 11.805 5.187 .00 .00 BULK ATOM 4418 OH2 TIP3 1174 7.296 18.160 9.374 .00 .00 BULK ATOM 4419 H1 TIP3 1174 7.364 19.133 9.296 .00 .00 BULK ATOM 4420 H2 TIP3 1174 7.701 17.812 8.553 .00 .00 BULK ATOM 4421 OH2 TIP3 1175 6.286 17.799 20.803 .00 .00 BULK ATOM 4422 H1 TIP3 1175 6.696 17.616 19.931 .00 .00 BULK ATOM 4423 H2 TIP3 1175 6.185 16.929 21.007 .00 .00 BULK ATOM 4424 OH2 TIP3 1176 -15.369 10.895 -1.567 .00 .00 BULK ATOM 4425 H1 TIP3 1176 -15.598 11.058 -.647 .00 .00 BULK ATOM 4426 H2 TIP3 1176 -14.449 11.247 -1.518 .00 .00 BULK ATOM 4427 OH2 TIP3 1177 -28.001 14.130 18.707 .00 .00 BULK ATOM 4428 H1 TIP3 1177 -28.596 13.579 19.190 .00 .00 BULK ATOM 4429 H2 TIP3 1177 -28.578 14.829 18.273 .00 .00 BULK ATOM 4430 OH2 TIP3 1178 18.883 -21.619 -3.275 .00 .00 BULK ATOM 4431 H1 TIP3 1178 19.099 -22.204 -4.083 .00 .00 BULK ATOM 4432 H2 TIP3 1178 19.061 -20.682 -3.560 .00 .00 BULK ATOM 4433 OH2 TIP3 1179 20.557 22.350 -2.639 .00 .00 BULK ATOM 4434 H1 TIP3 1179 20.334 22.728 -3.558 .00 .00 BULK ATOM 4435 H2 TIP3 1179 21.180 21.670 -2.952 .00 .00 BULK ATOM 4436 OH2 TIP3 1180 -24.472 7.908 -7.949 .00 .00 BULK ATOM 4437 H1 TIP3 1180 -25.064 8.624 -8.332 .00 .00 BULK ATOM 4438 H2 TIP3 1180 -24.235 7.560 -8.846 .00 .00 BULK ATOM 4439 OH2 TIP3 1181 -17.086 12.670 -3.936 .00 .00 BULK ATOM 4440 H1 TIP3 1181 -16.357 12.631 -4.567 .00 .00 BULK ATOM 4441 H2 TIP3 1181 -16.689 12.400 -3.094 .00 .00 BULK ATOM 4442 OH2 TIP3 1182 23.606 -19.360 -7.673 .00 .00 BULK ATOM 4443 H1 TIP3 1182 23.175 -19.247 -6.812 .00 .00 BULK ATOM 4444 H2 TIP3 1182 22.884 -19.597 -8.332 .00 .00 BULK ATOM 4445 OH2 TIP3 1183 -8.515 -22.910 8.448 .00 .00 BULK ATOM 4446 H1 TIP3 1183 -9.483 -22.672 8.548 .00 .00 BULK ATOM 4447 H2 TIP3 1183 -8.147 -22.211 7.792 .00 .00 BULK ATOM 4448 OH2 TIP3 1184 26.660 5.076 -14.320 .00 .00 BULK ATOM 4449 H1 TIP3 1184 26.126 5.041 -15.092 .00 .00 BULK ATOM 4450 H2 TIP3 1184 26.058 4.938 -13.585 .00 .00 BULK ATOM 4451 OH2 TIP3 1185 -26.362 20.670 2.840 .00 .00 BULK ATOM 4452 H1 TIP3 1185 -25.585 20.425 2.457 .00 .00 BULK ATOM 4453 H2 TIP3 1185 -27.056 20.016 2.462 .00 .00 BULK ATOM 4454 OH2 TIP3 1186 -16.358 -4.875 13.243 .00 .00 BULK ATOM 4455 H1 TIP3 1186 -16.489 -4.923 14.201 .00 .00 BULK ATOM 4456 H2 TIP3 1186 -15.404 -4.634 13.321 .00 .00 BULK ATOM 4457 OH2 TIP3 1187 27.941 -17.384 11.283 .00 .00 BULK ATOM 4458 H1 TIP3 1187 27.724 -16.784 12.062 .00 .00 BULK ATOM 4459 H2 TIP3 1187 27.215 -18.062 11.452 .00 .00 BULK ATOM 4460 OH2 TIP3 1188 10.162 -21.436 12.924 .00 .00 BULK ATOM 4461 H1 TIP3 1188 9.802 -20.848 13.634 .00 .00 BULK ATOM 4462 H2 TIP3 1188 10.195 -20.770 12.201 .00 .00 BULK ATOM 4463 OH2 TIP3 1189 2.613 11.887 -21.121 .00 .00 BULK ATOM 4464 H1 TIP3 1189 3.386 11.659 -20.616 .00 .00 BULK ATOM 4465 H2 TIP3 1189 2.187 12.547 -20.614 .00 .00 BULK ATOM 4466 OH2 TIP3 1190 -13.113 -20.492 13.003 .00 .00 BULK ATOM 4467 H1 TIP3 1190 -13.630 -20.259 12.166 .00 .00 BULK ATOM 4468 H2 TIP3 1190 -13.497 -21.315 13.373 .00 .00 BULK ATOM 4469 OH2 TIP3 1191 9.014 4.222 -20.740 .00 .00 BULK ATOM 4470 H1 TIP3 1191 9.161 4.429 -19.767 .00 .00 BULK ATOM 4471 H2 TIP3 1191 8.292 4.820 -20.903 .00 .00 BULK ATOM 4472 OH2 TIP3 1192 -29.587 -4.971 1.262 .00 .00 BULK ATOM 4473 H1 TIP3 1192 -28.641 -5.208 1.592 .00 .00 BULK ATOM 4474 H2 TIP3 1192 -29.388 -4.047 1.047 .00 .00 BULK ATOM 4475 OH2 TIP3 1193 -15.613 22.617 -19.376 .00 .00 BULK ATOM 4476 H1 TIP3 1193 -15.423 23.420 -18.876 .00 .00 BULK ATOM 4477 H2 TIP3 1193 -16.392 22.363 -18.931 .00 .00 BULK ATOM 4478 OH2 TIP3 1194 27.313 -16.270 -10.425 .00 .00 BULK ATOM 4479 H1 TIP3 1194 27.627 -15.503 -10.989 .00 .00 BULK ATOM 4480 H2 TIP3 1194 27.744 -17.027 -10.818 .00 .00 BULK ATOM 4481 OH2 TIP3 1195 -12.543 13.271 .931 .00 .00 BULK ATOM 4482 H1 TIP3 1195 -13.376 13.528 1.284 .00 .00 BULK ATOM 4483 H2 TIP3 1195 -12.590 12.336 1.058 .00 .00 BULK ATOM 4484 OH2 TIP3 1196 -5.985 11.177 -12.953 .00 .00 BULK ATOM 4485 H1 TIP3 1196 -6.098 11.507 -12.103 .00 .00 BULK ATOM 4486 H2 TIP3 1196 -6.210 10.276 -12.852 .00 .00 BULK ATOM 4487 OH2 TIP3 1197 23.272 -11.225 -15.140 .00 .00 BULK ATOM 4488 H1 TIP3 1197 23.485 -12.191 -15.111 .00 .00 BULK ATOM 4489 H2 TIP3 1197 22.298 -11.268 -15.319 .00 .00 BULK ATOM 4490 OH2 TIP3 1198 3.704 -11.584 -16.077 .00 .00 BULK ATOM 4491 H1 TIP3 1198 3.921 -10.689 -15.880 .00 .00 BULK ATOM 4492 H2 TIP3 1198 3.141 -11.510 -16.947 .00 .00 BULK ATOM 4493 OH2 TIP3 1199 -19.707 17.178 -16.849 .00 .00 BULK ATOM 4494 H1 TIP3 1199 -20.151 16.732 -16.085 .00 .00 BULK ATOM 4495 H2 TIP3 1199 -19.171 16.452 -17.146 .00 .00 BULK ATOM 4496 OH2 TIP3 1200 2.932 22.349 8.748 .00 .00 BULK ATOM 4497 H1 TIP3 1200 3.372 21.623 9.290 .00 .00 BULK ATOM 4498 H2 TIP3 1200 3.550 23.032 9.068 .00 .00 BULK ATOM 4499 OH2 TIP3 1201 8.261 10.273 -13.650 .00 .00 BULK ATOM 4500 H1 TIP3 1201 8.023 10.272 -12.704 .00 .00 BULK ATOM 4501 H2 TIP3 1201 7.371 10.276 -14.068 .00 .00 BULK ATOM 4502 OH2 TIP3 1202 -5.563 11.692 22.342 .00 .00 BULK ATOM 4503 H1 TIP3 1202 -6.037 12.539 22.192 .00 .00 BULK ATOM 4504 H2 TIP3 1202 -4.683 11.990 22.494 .00 .00 BULK ATOM 4505 OH2 TIP3 1203 5.968 -15.776 5.498 .00 .00 BULK ATOM 4506 H1 TIP3 1203 5.681 -16.360 4.808 .00 .00 BULK ATOM 4507 H2 TIP3 1203 5.019 -15.629 5.758 .00 .00 BULK ATOM 4508 OH2 TIP3 1204 16.528 2.377 -23.022 .00 .00 BULK ATOM 4509 H1 TIP3 1204 16.705 2.132 -23.981 .00 .00 BULK ATOM 4510 H2 TIP3 1204 16.683 1.468 -22.669 .00 .00 BULK ATOM 4511 OH2 TIP3 1205 -4.084 21.717 19.262 .00 .00 BULK ATOM 4512 H1 TIP3 1205 -4.266 22.681 19.291 .00 .00 BULK ATOM 4513 H2 TIP3 1205 -3.425 21.569 19.908 .00 .00 BULK ATOM 4514 OH2 TIP3 1206 -.214 16.111 -6.561 .00 .00 BULK ATOM 4515 H1 TIP3 1206 -.095 16.863 -6.000 .00 .00 BULK ATOM 4516 H2 TIP3 1206 .677 16.067 -6.967 .00 .00 BULK ATOM 4517 OH2 TIP3 1207 28.986 22.126 13.940 .00 .00 BULK ATOM 4518 H1 TIP3 1207 28.050 22.291 13.543 .00 .00 BULK ATOM 4519 H2 TIP3 1207 28.790 21.651 14.790 .00 .00 BULK ATOM 4520 OH2 TIP3 1208 23.699 -12.987 19.072 .00 .00 BULK ATOM 4521 H1 TIP3 1208 22.792 -12.772 18.710 .00 .00 BULK ATOM 4522 H2 TIP3 1208 24.072 -13.089 18.179 .00 .00 BULK ATOM 4523 OH2 TIP3 1209 13.873 11.739 -3.897 .00 .00 BULK ATOM 4524 H1 TIP3 1209 14.261 11.712 -3.036 .00 .00 BULK ATOM 4525 H2 TIP3 1209 13.981 12.696 -4.107 .00 .00 BULK ATOM 4526 OH2 TIP3 1210 26.361 7.112 -2.724 .00 .00 BULK ATOM 4527 H1 TIP3 1210 25.474 6.894 -2.354 .00 .00 BULK ATOM 4528 H2 TIP3 1210 26.475 8.023 -2.408 .00 .00 BULK ATOM 4529 OH2 TIP3 1211 5.010 19.941 5.068 .00 .00 BULK ATOM 4530 H1 TIP3 1211 4.969 19.717 5.991 .00 .00 BULK ATOM 4531 H2 TIP3 1211 5.330 19.097 4.747 .00 .00 BULK ATOM 4532 OH2 TIP3 1212 -2.270 -14.541 9.368 .00 .00 BULK ATOM 4533 H1 TIP3 1212 -3.019 -14.543 9.970 .00 .00 BULK ATOM 4534 H2 TIP3 1212 -1.940 -15.433 9.483 .00 .00 BULK ATOM 4535 OH2 TIP3 1213 -3.662 -15.948 5.799 .00 .00 BULK ATOM 4536 H1 TIP3 1213 -4.094 -16.096 6.650 .00 .00 BULK ATOM 4537 H2 TIP3 1213 -2.932 -15.409 6.089 .00 .00 BULK ATOM 4538 OH2 TIP3 1214 21.793 -18.095 -11.048 .00 .00 BULK ATOM 4539 H1 TIP3 1214 21.503 -17.832 -11.928 .00 .00 BULK ATOM 4540 H2 TIP3 1214 22.612 -17.595 -11.029 .00 .00 BULK ATOM 4541 OH2 TIP3 1215 -5.282 -.572 -17.417 .00 .00 BULK ATOM 4542 H1 TIP3 1215 -5.703 -.686 -18.262 .00 .00 BULK ATOM 4543 H2 TIP3 1215 -5.200 .401 -17.525 .00 .00 BULK ATOM 4544 OH2 TIP3 1216 20.331 .283 15.641 .00 .00 BULK ATOM 4545 H1 TIP3 1216 21.244 .295 15.449 .00 .00 BULK ATOM 4546 H2 TIP3 1216 19.972 1.025 15.130 .00 .00 BULK ATOM 4547 OH2 TIP3 1217 8.517 14.624 -5.223 .00 .00 BULK ATOM 4548 H1 TIP3 1217 8.391 14.901 -4.265 .00 .00 BULK ATOM 4549 H2 TIP3 1217 7.717 14.029 -5.241 .00 .00 BULK ATOM 4550 OH2 TIP3 1218 4.328 -13.956 17.850 .00 .00 BULK ATOM 4551 H1 TIP3 1218 4.276 -13.669 18.787 .00 .00 BULK ATOM 4552 H2 TIP3 1218 3.400 -13.889 17.608 .00 .00 BULK ATOM 4553 OH2 TIP3 1219 1.940 -.884 11.488 .00 .00 BULK ATOM 4554 H1 TIP3 1219 1.441 -.766 12.293 .00 .00 BULK ATOM 4555 H2 TIP3 1219 1.632 -.073 11.045 .00 .00 BULK ATOM 4556 OH2 TIP3 1220 9.538 9.703 20.799 .00 .00 BULK ATOM 4557 H1 TIP3 1220 8.930 9.016 20.988 .00 .00 BULK ATOM 4558 H2 TIP3 1220 10.379 9.280 20.974 .00 .00 BULK ATOM 4559 OH2 TIP3 1221 -29.479 -11.001 13.414 .00 .00 BULK ATOM 4560 H1 TIP3 1221 -29.385 -10.087 13.587 .00 .00 BULK ATOM 4561 H2 TIP3 1221 -28.571 -11.369 13.402 .00 .00 BULK ATOM 4562 OH2 TIP3 1222 1.881 -20.191 16.499 .00 .00 BULK ATOM 4563 H1 TIP3 1222 1.253 -20.649 15.935 .00 .00 BULK ATOM 4564 H2 TIP3 1222 2.599 -20.863 16.560 .00 .00 BULK ATOM 4565 OH2 TIP3 1223 -1.478 1.985 -12.051 .00 .00 BULK ATOM 4566 H1 TIP3 1223 -.813 1.451 -12.515 .00 .00 BULK ATOM 4567 H2 TIP3 1223 -2.245 1.606 -12.535 .00 .00 BULK ATOM 4568 OH2 TIP3 1224 3.050 -1.376 -9.260 .00 .00 BULK ATOM 4569 H1 TIP3 1224 2.607 -.852 -8.586 .00 .00 BULK ATOM 4570 H2 TIP3 1224 3.530 -.699 -9.704 .00 .00 BULK ATOM 4571 OH2 TIP3 1225 12.871 -5.137 12.649 .00 .00 BULK ATOM 4572 H1 TIP3 1225 12.670 -5.174 11.673 .00 .00 BULK ATOM 4573 H2 TIP3 1225 12.675 -6.021 12.920 .00 .00 BULK ATOM 4574 OH2 TIP3 1226 15.838 -1.580 2.970 .00 .00 BULK ATOM 4575 H1 TIP3 1226 16.685 -1.459 2.529 .00 .00 BULK ATOM 4576 H2 TIP3 1226 15.780 -.707 3.466 .00 .00 BULK ATOM 4577 OH2 TIP3 1227 22.031 22.165 -21.959 .00 .00 BULK ATOM 4578 H1 TIP3 1227 22.626 22.196 -22.779 .00 .00 BULK ATOM 4579 H2 TIP3 1227 21.551 21.333 -22.104 .00 .00 BULK ATOM 4580 OH2 TIP3 1228 24.831 -21.340 -15.590 .00 .00 BULK ATOM 4581 H1 TIP3 1228 25.605 -21.169 -16.128 .00 .00 BULK ATOM 4582 H2 TIP3 1228 25.255 -21.764 -14.820 .00 .00 BULK ATOM 4583 OH2 TIP3 1229 6.231 -14.802 9.552 .00 .00 BULK ATOM 4584 H1 TIP3 1229 7.000 -15.081 8.954 .00 .00 BULK ATOM 4585 H2 TIP3 1229 5.957 -13.957 9.063 .00 .00 BULK ATOM 4586 OH2 TIP3 1230 7.166 12.010 12.705 .00 .00 BULK ATOM 4587 H1 TIP3 1230 6.430 12.274 13.267 .00 .00 BULK ATOM 4588 H2 TIP3 1230 7.924 12.185 13.265 .00 .00 BULK ATOM 4589 OH2 TIP3 1231 -9.575 -14.158 13.503 .00 .00 BULK ATOM 4590 H1 TIP3 1231 -9.709 -13.550 14.278 .00 .00 BULK ATOM 4591 H2 TIP3 1231 -10.494 -14.564 13.580 .00 .00 BULK ATOM 4592 OH2 TIP3 1232 -10.814 9.417 -13.825 .00 .00 BULK ATOM 4593 H1 TIP3 1232 -11.159 8.900 -13.085 .00 .00 BULK ATOM 4594 H2 TIP3 1232 -10.008 9.695 -13.493 .00 .00 BULK ATOM 4595 OH2 TIP3 1233 4.920 -20.423 4.756 .00 .00 BULK ATOM 4596 H1 TIP3 1233 4.795 -20.574 3.800 .00 .00 BULK ATOM 4597 H2 TIP3 1233 4.488 -21.187 5.153 .00 .00 BULK ATOM 4598 OH2 TIP3 1234 15.162 -7.583 18.920 .00 .00 BULK ATOM 4599 H1 TIP3 1234 15.200 -6.582 18.781 .00 .00 BULK ATOM 4600 H2 TIP3 1234 14.448 -7.787 18.299 .00 .00 BULK ATOM 4601 OH2 TIP3 1235 -26.455 2.909 -22.944 .00 .00 BULK ATOM 4602 H1 TIP3 1235 -27.277 3.208 -22.611 .00 .00 BULK ATOM 4603 H2 TIP3 1235 -25.793 3.408 -22.421 .00 .00 BULK ATOM 4604 OH2 TIP3 1236 -5.098 -6.995 -12.174 .00 .00 BULK ATOM 4605 H1 TIP3 1236 -5.019 -7.940 -12.393 .00 .00 BULK ATOM 4606 H2 TIP3 1236 -4.743 -6.963 -11.238 .00 .00 BULK ATOM 4607 OH2 TIP3 1237 -15.879 -20.638 -13.429 .00 .00 BULK ATOM 4608 H1 TIP3 1237 -16.554 -20.459 -12.721 .00 .00 BULK ATOM 4609 H2 TIP3 1237 -15.333 -21.296 -13.022 .00 .00 BULK ATOM 4610 OH2 TIP3 1238 -18.744 -10.067 -2.729 .00 .00 BULK ATOM 4611 H1 TIP3 1238 -18.371 -9.110 -2.690 .00 .00 BULK ATOM 4612 H2 TIP3 1238 -18.873 -10.020 -3.706 .00 .00 BULK ATOM 4613 OH2 TIP3 1239 15.135 -7.794 -.096 .00 .00 BULK ATOM 4614 H1 TIP3 1239 14.211 -8.099 .154 .00 .00 BULK ATOM 4615 H2 TIP3 1239 15.490 -8.511 -.613 .00 .00 BULK ATOM 4616 OH2 TIP3 1240 19.485 -3.967 -10.903 .00 .00 BULK ATOM 4617 H1 TIP3 1240 18.520 -3.908 -10.745 .00 .00 BULK ATOM 4618 H2 TIP3 1240 19.529 -4.720 -11.508 .00 .00 BULK ATOM 4619 OH2 TIP3 1241 -17.332 -7.443 2.830 .00 .00 BULK ATOM 4620 H1 TIP3 1241 -17.813 -8.253 3.132 .00 .00 BULK ATOM 4621 H2 TIP3 1241 -17.587 -7.413 1.846 .00 .00 BULK ATOM 4622 OH2 TIP3 1242 -6.958 23.319 -15.825 .00 .00 BULK ATOM 4623 H1 TIP3 1242 -6.043 23.301 -16.131 .00 .00 BULK ATOM 4624 H2 TIP3 1242 -6.820 22.798 -14.998 .00 .00 BULK ATOM 4625 OH2 TIP3 1243 24.084 -20.036 6.535 .00 .00 BULK ATOM 4626 H1 TIP3 1243 24.781 -19.682 6.019 .00 .00 BULK ATOM 4627 H2 TIP3 1243 23.488 -19.316 6.441 .00 .00 BULK ATOM 4628 OH2 TIP3 1244 18.908 7.854 -5.380 .00 .00 BULK ATOM 4629 H1 TIP3 1244 18.341 7.903 -4.579 .00 .00 BULK ATOM 4630 H2 TIP3 1244 18.420 8.509 -5.924 .00 .00 BULK ATOM 4631 OH2 TIP3 1245 24.322 -13.631 -15.982 .00 .00 BULK ATOM 4632 H1 TIP3 1245 24.536 -14.215 -15.204 .00 .00 BULK ATOM 4633 H2 TIP3 1245 24.620 -14.172 -16.706 .00 .00 BULK ATOM 4634 OH2 TIP3 1246 24.836 19.177 -14.494 .00 .00 BULK ATOM 4635 H1 TIP3 1246 24.988 19.493 -13.592 .00 .00 BULK ATOM 4636 H2 TIP3 1246 23.937 18.827 -14.447 .00 .00 BULK ATOM 4637 OH2 TIP3 1247 21.312 12.460 -14.674 .00 .00 BULK ATOM 4638 H1 TIP3 1247 21.047 11.895 -13.935 .00 .00 BULK ATOM 4639 H2 TIP3 1247 21.103 13.299 -14.231 .00 .00 BULK ATOM 4640 OH2 TIP3 1248 -2.873 11.779 4.731 .00 .00 BULK ATOM 4641 H1 TIP3 1248 -2.497 12.203 5.544 .00 .00 BULK ATOM 4642 H2 TIP3 1248 -2.474 12.276 4.041 .00 .00 BULK ATOM 4643 OH2 TIP3 1249 4.008 2.574 -14.282 .00 .00 BULK ATOM 4644 H1 TIP3 1249 4.065 3.204 -13.458 .00 .00 BULK ATOM 4645 H2 TIP3 1249 4.861 2.121 -14.107 .00 .00 BULK ATOM 4646 OH2 TIP3 1250 15.372 12.976 -1.647 .00 .00 BULK ATOM 4647 H1 TIP3 1250 15.421 13.860 -1.269 .00 .00 BULK ATOM 4648 H2 TIP3 1250 15.165 12.451 -.859 .00 .00 BULK ATOM 4649 OH2 TIP3 1251 16.690 -13.111 14.583 .00 .00 BULK ATOM 4650 H1 TIP3 1251 16.540 -12.336 15.162 .00 .00 BULK ATOM 4651 H2 TIP3 1251 16.558 -13.860 15.114 .00 .00 BULK ATOM 4652 OH2 TIP3 1252 -18.035 -14.740 -16.862 .00 .00 BULK ATOM 4653 H1 TIP3 1252 -18.083 -13.842 -17.301 .00 .00 BULK ATOM 4654 H2 TIP3 1252 -18.277 -14.401 -15.932 .00 .00 BULK ATOM 4655 OH2 TIP3 1253 -29.574 -9.863 -13.945 .00 .00 BULK ATOM 4656 H1 TIP3 1253 -28.895 -10.316 -14.470 .00 .00 BULK ATOM 4657 H2 TIP3 1253 -30.131 -9.548 -14.693 .00 .00 BULK ATOM 4658 OH2 TIP3 1254 17.820 -19.708 16.629 .00 .00 BULK ATOM 4659 H1 TIP3 1254 17.775 -20.574 16.209 .00 .00 BULK ATOM 4660 H2 TIP3 1254 18.741 -19.475 16.521 .00 .00 BULK ATOM 4661 OH2 TIP3 1255 12.487 -15.766 -7.449 .00 .00 BULK ATOM 4662 H1 TIP3 1255 11.789 -16.438 -7.482 .00 .00 BULK ATOM 4663 H2 TIP3 1255 13.029 -16.104 -8.237 .00 .00 BULK ATOM 4664 OH2 TIP3 1256 9.881 17.546 -14.038 .00 .00 BULK ATOM 4665 H1 TIP3 1256 9.575 16.617 -13.999 .00 .00 BULK ATOM 4666 H2 TIP3 1256 10.706 17.407 -13.574 .00 .00 BULK ATOM 4667 OH2 TIP3 1257 24.512 14.154 3.087 .00 .00 BULK ATOM 4668 H1 TIP3 1257 23.825 14.813 3.237 .00 .00 BULK ATOM 4669 H2 TIP3 1257 24.311 13.899 2.175 .00 .00 BULK ATOM 4670 OH2 TIP3 1258 9.015 18.626 -11.525 .00 .00 BULK ATOM 4671 H1 TIP3 1258 8.190 18.999 -11.977 .00 .00 BULK ATOM 4672 H2 TIP3 1258 9.315 18.154 -12.318 .00 .00 BULK ATOM 4673 OH2 TIP3 1259 29.489 -8.422 -3.304 .00 .00 BULK ATOM 4674 H1 TIP3 1259 29.942 -8.603 -2.478 .00 .00 BULK ATOM 4675 H2 TIP3 1259 28.874 -9.150 -3.301 .00 .00 BULK ATOM 4676 OH2 TIP3 1260 28.482 -5.206 21.263 .00 .00 BULK ATOM 4677 H1 TIP3 1260 28.822 -4.302 21.155 .00 .00 BULK ATOM 4678 H2 TIP3 1260 27.707 -5.131 20.655 .00 .00 BULK ATOM 4679 OH2 TIP3 1261 12.418 18.829 12.750 .00 .00 BULK ATOM 4680 H1 TIP3 1261 11.525 18.410 12.856 .00 .00 BULK ATOM 4681 H2 TIP3 1261 12.619 18.669 11.812 .00 .00 BULK ATOM 4682 OH2 TIP3 1262 9.009 14.344 19.536 .00 .00 BULK ATOM 4683 H1 TIP3 1262 9.350 14.317 18.628 .00 .00 BULK ATOM 4684 H2 TIP3 1262 9.774 14.822 20.013 .00 .00 BULK ATOM 4685 OH2 TIP3 1263 8.278 -8.766 -15.519 .00 .00 BULK ATOM 4686 H1 TIP3 1263 8.519 -7.833 -15.612 .00 .00 BULK ATOM 4687 H2 TIP3 1263 7.315 -8.620 -15.406 .00 .00 BULK ATOM 4688 OH2 TIP3 1264 14.381 17.996 -13.879 .00 .00 BULK ATOM 4689 H1 TIP3 1264 14.047 18.842 -14.144 .00 .00 BULK ATOM 4690 H2 TIP3 1264 15.191 18.011 -14.415 .00 .00 BULK ATOM 4691 OH2 TIP3 1265 19.538 -12.724 -21.816 .00 .00 BULK ATOM 4692 H1 TIP3 1265 19.123 -13.478 -21.420 .00 .00 BULK ATOM 4693 H2 TIP3 1265 19.921 -13.021 -22.609 .00 .00 BULK ATOM 4694 OH2 TIP3 1266 -21.913 -1.265 13.092 .00 .00 BULK ATOM 4695 H1 TIP3 1266 -22.472 -.523 12.737 .00 .00 BULK ATOM 4696 H2 TIP3 1266 -22.646 -1.889 13.297 .00 .00 BULK ATOM 4697 OH2 TIP3 1267 28.245 21.218 16.352 .00 .00 BULK ATOM 4698 H1 TIP3 1267 28.546 21.567 17.242 .00 .00 BULK ATOM 4699 H2 TIP3 1267 27.380 20.921 16.722 .00 .00 BULK ATOM 4700 OH2 TIP3 1268 -1.654 -4.860 -17.606 .00 .00 BULK ATOM 4701 H1 TIP3 1268 -1.275 -5.676 -17.888 .00 .00 BULK ATOM 4702 H2 TIP3 1268 -2.612 -4.985 -17.792 .00 .00 BULK ATOM 4703 OH2 TIP3 1269 -25.347 19.410 5.362 .00 .00 BULK ATOM 4704 H1 TIP3 1269 -25.186 20.107 4.646 .00 .00 BULK ATOM 4705 H2 TIP3 1269 -24.784 19.715 6.130 .00 .00 BULK ATOM 4706 OH2 TIP3 1270 14.654 -3.080 -8.115 .00 .00 BULK ATOM 4707 H1 TIP3 1270 13.712 -2.977 -7.856 .00 .00 BULK ATOM 4708 H2 TIP3 1270 15.100 -2.477 -7.493 .00 .00 BULK ATOM 4709 OH2 TIP3 1271 -10.943 -17.599 -14.088 .00 .00 BULK ATOM 4710 H1 TIP3 1271 -11.243 -17.145 -13.291 .00 .00 BULK ATOM 4711 H2 TIP3 1271 -11.037 -18.538 -13.862 .00 .00 BULK ATOM 4712 OH2 TIP3 1272 16.662 -17.362 .069 .00 .00 BULK ATOM 4713 H1 TIP3 1272 17.476 -17.175 .526 .00 .00 BULK ATOM 4714 H2 TIP3 1272 16.003 -16.917 .600 .00 .00 BULK ATOM 4715 OH2 TIP3 1273 8.494 -17.092 22.291 .00 .00 BULK ATOM 4716 H1 TIP3 1273 8.579 -18.033 22.162 .00 .00 BULK ATOM 4717 H2 TIP3 1273 8.966 -16.619 21.526 .00 .00 BULK ATOM 4718 OH2 TIP3 1274 -4.320 23.323 21.966 .00 .00 BULK ATOM 4719 H1 TIP3 1274 -3.598 23.965 22.036 .00 .00 BULK ATOM 4720 H2 TIP3 1274 -3.961 22.786 22.709 .00 .00 BULK ATOM 4721 OH2 TIP3 1275 -12.400 -11.361 -.779 .00 .00 BULK ATOM 4722 H1 TIP3 1275 -12.422 -11.053 -1.718 .00 .00 BULK ATOM 4723 H2 TIP3 1275 -11.479 -11.468 -.554 .00 .00 BULK ATOM 4724 OH2 TIP3 1276 13.209 -7.738 23.573 .00 .00 BULK ATOM 4725 H1 TIP3 1276 14.083 -7.824 24.040 .00 .00 BULK ATOM 4726 H2 TIP3 1276 13.503 -7.713 22.639 .00 .00 BULK ATOM 4727 OH2 TIP3 1277 11.142 20.595 -17.205 .00 .00 BULK ATOM 4728 H1 TIP3 1277 11.747 19.824 -16.886 .00 .00 BULK ATOM 4729 H2 TIP3 1277 10.559 20.709 -16.391 .00 .00 BULK ATOM 4730 OH2 TIP3 1278 23.326 -4.778 -4.182 .00 .00 BULK ATOM 4731 H1 TIP3 1278 22.562 -4.439 -4.677 .00 .00 BULK ATOM 4732 H2 TIP3 1278 22.863 -5.221 -3.431 .00 .00 BULK ATOM 4733 OH2 TIP3 1279 2.672 -13.057 .427 .00 .00 BULK ATOM 4734 H1 TIP3 1279 3.216 -13.360 -.361 .00 .00 BULK ATOM 4735 H2 TIP3 1279 3.181 -12.263 .775 .00 .00 BULK ATOM 4736 OH2 TIP3 1280 -26.733 3.543 -8.288 .00 .00 BULK ATOM 4737 H1 TIP3 1280 -27.223 3.669 -7.470 .00 .00 BULK ATOM 4738 H2 TIP3 1280 -25.872 3.996 -8.087 .00 .00 BULK ATOM 4739 OH2 TIP3 1281 17.924 -1.567 1.050 .00 .00 BULK ATOM 4740 H1 TIP3 1281 18.667 -1.999 1.399 .00 .00 BULK ATOM 4741 H2 TIP3 1281 18.004 -1.673 .072 .00 .00 BULK ATOM 4742 OH2 TIP3 1282 4.090 -5.595 14.362 .00 .00 BULK ATOM 4743 H1 TIP3 1282 3.401 -4.932 14.476 .00 .00 BULK ATOM 4744 H2 TIP3 1282 4.018 -6.165 15.183 .00 .00 BULK ATOM 4745 OH2 TIP3 1283 -7.061 2.682 20.113 .00 .00 BULK ATOM 4746 H1 TIP3 1283 -6.403 2.416 20.784 .00 .00 BULK ATOM 4747 H2 TIP3 1283 -6.805 2.298 19.293 .00 .00 BULK ATOM 4748 OH2 TIP3 1284 19.065 -21.122 2.211 .00 .00 BULK ATOM 4749 H1 TIP3 1284 19.086 -21.348 1.241 .00 .00 BULK ATOM 4750 H2 TIP3 1284 18.237 -21.459 2.463 .00 .00 BULK ATOM 4751 OH2 TIP3 1285 -3.936 -17.196 -4.700 .00 .00 BULK ATOM 4752 H1 TIP3 1285 -2.968 -17.210 -4.934 .00 .00 BULK ATOM 4753 H2 TIP3 1285 -3.737 -17.161 -3.749 .00 .00 BULK ATOM 4754 OH2 TIP3 1286 1.940 15.096 -16.652 .00 .00 BULK ATOM 4755 H1 TIP3 1286 1.354 15.905 -16.507 .00 .00 BULK ATOM 4756 H2 TIP3 1286 2.723 15.384 -17.249 .00 .00 BULK ATOM 4757 OH2 TIP3 1287 -8.188 9.363 -12.701 .00 .00 BULK ATOM 4758 H1 TIP3 1287 -8.479 9.700 -11.785 .00 .00 BULK ATOM 4759 H2 TIP3 1287 -7.489 8.627 -12.437 .00 .00 BULK ATOM 4760 OH2 TIP3 1288 -6.105 -18.799 8.284 .00 .00 BULK ATOM 4761 H1 TIP3 1288 -5.667 -19.688 8.443 .00 .00 BULK ATOM 4762 H2 TIP3 1288 -5.439 -18.186 8.612 .00 .00 BULK ATOM 4763 OH2 TIP3 1289 -5.604 -8.697 22.045 .00 .00 BULK ATOM 4764 H1 TIP3 1289 -6.252 -8.203 21.573 .00 .00 BULK ATOM 4765 H2 TIP3 1289 -4.770 -8.127 22.042 .00 .00 BULK ATOM 4766 OH2 TIP3 1290 27.061 -6.657 -11.554 .00 .00 BULK ATOM 4767 H1 TIP3 1290 27.312 -5.638 -11.610 .00 .00 BULK ATOM 4768 H2 TIP3 1290 27.130 -6.779 -10.588 .00 .00 BULK ATOM 4769 OH2 TIP3 1291 6.357 -21.364 -8.488 .00 .00 BULK ATOM 4770 H1 TIP3 1291 5.426 -21.474 -8.247 .00 .00 BULK ATOM 4771 H2 TIP3 1291 6.886 -21.782 -7.787 .00 .00 BULK ATOM 4772 OH2 TIP3 1292 27.203 -1.320 -10.034 .00 .00 BULK ATOM 4773 H1 TIP3 1292 27.474 -.417 -10.154 .00 .00 BULK ATOM 4774 H2 TIP3 1292 28.114 -1.726 -9.930 .00 .00 BULK ATOM 4775 OH2 TIP3 1293 13.488 19.164 18.071 .00 .00 BULK ATOM 4776 H1 TIP3 1293 12.866 18.500 18.384 .00 .00 BULK ATOM 4777 H2 TIP3 1293 13.625 19.750 18.845 .00 .00 BULK ATOM 4778 OH2 TIP3 1294 16.306 18.896 -1.288 .00 .00 BULK ATOM 4779 H1 TIP3 1294 15.900 19.544 -.692 .00 .00 BULK ATOM 4780 H2 TIP3 1294 15.621 18.261 -1.559 .00 .00 BULK ATOM 4781 OH2 TIP3 1295 -22.273 -21.076 4.272 .00 .00 BULK ATOM 4782 H1 TIP3 1295 -23.021 -20.508 3.988 .00 .00 BULK ATOM 4783 H2 TIP3 1295 -22.643 -21.329 5.086 .00 .00 BULK ATOM 4784 OH2 TIP3 1296 23.812 -8.827 -3.383 .00 .00 BULK ATOM 4785 H1 TIP3 1296 24.207 -8.114 -2.897 .00 .00 BULK ATOM 4786 H2 TIP3 1296 24.014 -9.538 -2.811 .00 .00 BULK ATOM 4787 OH2 TIP3 1297 -9.514 -20.487 4.125 .00 .00 BULK ATOM 4788 H1 TIP3 1297 -8.770 -21.102 4.255 .00 .00 BULK ATOM 4789 H2 TIP3 1297 -9.276 -20.290 3.193 .00 .00 BULK ATOM 4790 OH2 TIP3 1298 4.726 8.596 -21.318 .00 .00 BULK ATOM 4791 H1 TIP3 1298 3.988 8.838 -21.859 .00 .00 BULK ATOM 4792 H2 TIP3 1298 4.458 7.769 -20.951 .00 .00 BULK ATOM 4793 OH2 TIP3 1299 16.761 21.857 -.873 .00 .00 BULK ATOM 4794 H1 TIP3 1299 17.320 22.346 -.274 .00 .00 BULK ATOM 4795 H2 TIP3 1299 16.140 22.582 -1.101 .00 .00 BULK ATOM 4796 OH2 TIP3 1300 11.195 -12.834 -13.284 .00 .00 BULK ATOM 4797 H1 TIP3 1300 10.524 -12.417 -12.786 .00 .00 BULK ATOM 4798 H2 TIP3 1300 11.959 -12.383 -12.818 .00 .00 BULK ATOM 4799 OH2 TIP3 1301 .806 -13.955 -20.960 .00 .00 BULK ATOM 4800 H1 TIP3 1301 .470 -14.655 -20.380 .00 .00 BULK ATOM 4801 H2 TIP3 1301 1.782 -14.167 -20.969 .00 .00 BULK ATOM 4802 OH2 TIP3 1302 -28.597 -19.651 -3.495 .00 .00 BULK ATOM 4803 H1 TIP3 1302 -28.190 -20.179 -2.799 .00 .00 BULK ATOM 4804 H2 TIP3 1302 -29.329 -19.312 -2.911 .00 .00 BULK ATOM 4805 OH2 TIP3 1303 19.101 -15.835 16.862 .00 .00 BULK ATOM 4806 H1 TIP3 1303 18.434 -16.271 16.303 .00 .00 BULK ATOM 4807 H2 TIP3 1303 18.507 -15.042 17.122 .00 .00 BULK ATOM 4808 OH2 TIP3 1304 -16.377 22.080 -10.484 .00 .00 BULK ATOM 4809 H1 TIP3 1304 -16.545 21.286 -9.999 .00 .00 BULK ATOM 4810 H2 TIP3 1304 -15.919 21.761 -11.280 .00 .00 BULK ATOM 4811 OH2 TIP3 1305 -26.305 -21.932 -8.162 .00 .00 BULK ATOM 4812 H1 TIP3 1305 -25.508 -22.454 -8.095 .00 .00 BULK ATOM 4813 H2 TIP3 1305 -26.560 -21.873 -7.181 .00 .00 BULK ATOM 4814 OH2 TIP3 1306 27.138 21.458 -1.777 .00 .00 BULK ATOM 4815 H1 TIP3 1306 27.692 21.005 -2.440 .00 .00 BULK ATOM 4816 H2 TIP3 1306 27.797 21.547 -1.061 .00 .00 BULK ATOM 4817 OH2 TIP3 1307 24.740 -19.860 -1.687 .00 .00 BULK ATOM 4818 H1 TIP3 1307 24.515 -20.817 -1.548 .00 .00 BULK ATOM 4819 H2 TIP3 1307 25.378 -19.725 -.891 .00 .00 BULK ATOM 4820 OH2 TIP3 1308 16.528 -4.238 9.584 .00 .00 BULK ATOM 4821 H1 TIP3 1308 16.175 -5.150 9.571 .00 .00 BULK ATOM 4822 H2 TIP3 1308 17.050 -4.229 10.362 .00 .00 BULK ATOM 4823 OH2 TIP3 1309 -8.807 -20.433 20.265 .00 .00 BULK ATOM 4824 H1 TIP3 1309 -8.555 -21.344 19.919 .00 .00 BULK ATOM 4825 H2 TIP3 1309 -8.855 -19.956 19.459 .00 .00 BULK ATOM 4826 OH2 TIP3 1310 11.265 -20.343 8.100 .00 .00 BULK ATOM 4827 H1 TIP3 1310 10.941 -19.483 8.385 .00 .00 BULK ATOM 4828 H2 TIP3 1310 10.521 -20.709 7.595 .00 .00 BULK ATOM 4829 OH2 TIP3 1311 27.209 12.281 6.858 .00 .00 BULK ATOM 4830 H1 TIP3 1311 26.924 12.469 5.906 .00 .00 BULK ATOM 4831 H2 TIP3 1311 27.099 13.192 7.224 .00 .00 BULK ATOM 4832 OH2 TIP3 1312 10.091 -17.273 -22.450 .00 .00 BULK ATOM 4833 H1 TIP3 1312 10.601 -16.658 -23.058 .00 .00 BULK ATOM 4834 H2 TIP3 1312 9.576 -17.823 -23.033 .00 .00 BULK ATOM 4835 OH2 TIP3 1313 22.858 -14.337 2.586 .00 .00 BULK ATOM 4836 H1 TIP3 1313 23.648 -14.195 2.013 .00 .00 BULK ATOM 4837 H2 TIP3 1313 22.443 -15.127 2.225 .00 .00 BULK ATOM 4838 OH2 TIP3 1314 13.265 -4.298 -13.098 .00 .00 BULK ATOM 4839 H1 TIP3 1314 13.338 -3.368 -12.954 .00 .00 BULK ATOM 4840 H2 TIP3 1314 13.706 -4.588 -12.288 .00 .00 BULK ATOM 4841 OH2 TIP3 1315 26.033 -19.463 -10.669 .00 .00 BULK ATOM 4842 H1 TIP3 1315 26.874 -19.921 -10.917 .00 .00 BULK ATOM 4843 H2 TIP3 1315 26.341 -19.074 -9.832 .00 .00 BULK ATOM 4844 OH2 TIP3 1316 17.538 5.509 20.710 .00 .00 BULK ATOM 4845 H1 TIP3 1316 17.021 5.705 21.513 .00 .00 BULK ATOM 4846 H2 TIP3 1316 18.281 5.008 21.017 .00 .00 BULK ATOM 4847 OH2 TIP3 1317 -3.454 -17.301 1.366 .00 .00 BULK ATOM 4848 H1 TIP3 1317 -3.115 -18.076 1.875 .00 .00 BULK ATOM 4849 H2 TIP3 1317 -2.990 -16.675 1.842 .00 .00 BULK ATOM 4850 OH2 TIP3 1318 6.355 -.679 -13.324 .00 .00 BULK ATOM 4851 H1 TIP3 1318 5.724 -1.437 -13.338 .00 .00 BULK ATOM 4852 H2 TIP3 1318 6.949 -1.033 -14.012 .00 .00 BULK ATOM 4853 OH2 TIP3 1319 23.149 11.444 22.776 .00 .00 BULK ATOM 4854 H1 TIP3 1319 23.664 11.711 23.613 .00 .00 BULK ATOM 4855 H2 TIP3 1319 23.457 10.504 22.737 .00 .00 BULK ATOM 4856 OH2 TIP3 1320 6.803 2.015 -13.460 .00 .00 BULK ATOM 4857 H1 TIP3 1320 6.782 1.062 -13.218 .00 .00 BULK ATOM 4858 H2 TIP3 1320 7.733 2.117 -13.732 .00 .00 BULK ATOM 4859 OH2 TIP3 1321 18.828 7.505 -14.071 .00 .00 BULK ATOM 4860 H1 TIP3 1321 19.729 7.692 -13.757 .00 .00 BULK ATOM 4861 H2 TIP3 1321 19.017 7.483 -15.051 .00 .00 BULK ATOM 4862 OH2 TIP3 1322 19.483 -2.583 -7.851 .00 .00 BULK ATOM 4863 H1 TIP3 1322 18.753 -1.976 -7.747 .00 .00 BULK ATOM 4864 H2 TIP3 1322 20.129 -2.118 -8.407 .00 .00 BULK ATOM 4865 OH2 TIP3 1323 12.849 -19.318 21.171 .00 .00 BULK ATOM 4866 H1 TIP3 1323 13.334 -19.571 20.379 .00 .00 BULK ATOM 4867 H2 TIP3 1323 12.975 -20.130 21.766 .00 .00 BULK ATOM 4868 OH2 TIP3 1324 11.555 2.063 13.120 .00 .00 BULK ATOM 4869 H1 TIP3 1324 11.263 1.117 13.146 .00 .00 BULK ATOM 4870 H2 TIP3 1324 12.263 2.164 13.731 .00 .00 BULK ATOM 4871 OH2 TIP3 1325 .689 -7.971 -22.492 .00 .00 BULK ATOM 4872 H1 TIP3 1325 .115 -8.088 -23.231 .00 .00 BULK ATOM 4873 H2 TIP3 1325 1.293 -8.680 -22.747 .00 .00 BULK ATOM 4874 OH2 TIP3 1326 -6.490 -13.287 12.562 .00 .00 BULK ATOM 4875 H1 TIP3 1326 -5.893 -13.266 13.391 .00 .00 BULK ATOM 4876 H2 TIP3 1326 -7.339 -13.353 13.035 .00 .00 BULK ATOM 4877 OH2 TIP3 1327 -17.570 9.407 .101 .00 .00 BULK ATOM 4878 H1 TIP3 1327 -17.792 9.014 .966 .00 .00 BULK ATOM 4879 H2 TIP3 1327 -17.308 10.317 .336 .00 .00 BULK ATOM 4880 OH2 TIP3 1328 -23.052 13.507 -12.955 .00 .00 BULK ATOM 4881 H1 TIP3 1328 -23.422 13.566 -13.914 .00 .00 BULK ATOM 4882 H2 TIP3 1328 -23.527 14.099 -12.346 .00 .00 BULK ATOM 4883 OH2 TIP3 1329 16.786 -19.141 -23.593 .00 .00 BULK ATOM 4884 H1 TIP3 1329 16.917 -18.378 -23.034 .00 .00 BULK ATOM 4885 H2 TIP3 1329 17.414 -19.824 -23.205 .00 .00 BULK ATOM 4886 OH2 TIP3 1330 9.814 -22.252 -6.070 .00 .00 BULK ATOM 4887 H1 TIP3 1330 10.286 -21.418 -6.231 .00 .00 BULK ATOM 4888 H2 TIP3 1330 10.523 -22.728 -5.545 .00 .00 BULK ATOM 4889 OH2 TIP3 1331 14.595 -14.384 21.792 .00 .00 BULK ATOM 4890 H1 TIP3 1331 14.445 -14.068 22.687 .00 .00 BULK ATOM 4891 H2 TIP3 1331 13.837 -14.001 21.297 .00 .00 BULK ATOM 4892 OH2 TIP3 1332 7.274 21.505 -19.476 .00 .00 BULK ATOM 4893 H1 TIP3 1332 6.267 21.547 -19.771 .00 .00 BULK ATOM 4894 H2 TIP3 1332 7.276 21.671 -18.497 .00 .00 BULK ATOM 4895 OH2 TIP3 1333 19.892 -19.880 14.751 .00 .00 BULK ATOM 4896 H1 TIP3 1333 20.641 -20.031 14.131 .00 .00 BULK ATOM 4897 H2 TIP3 1333 19.341 -19.425 14.081 .00 .00 BULK ATOM 4898 OH2 TIP3 1334 13.445 -13.901 -5.839 .00 .00 BULK ATOM 4899 H1 TIP3 1334 13.268 -14.788 -6.288 .00 .00 BULK ATOM 4900 H2 TIP3 1334 12.766 -13.379 -6.260 .00 .00 BULK ATOM 4901 OH2 TIP3 1335 -26.373 .965 -10.918 .00 .00 BULK ATOM 4902 H1 TIP3 1335 -25.540 1.316 -10.578 .00 .00 BULK ATOM 4903 H2 TIP3 1335 -26.109 .017 -11.170 .00 .00 BULK ATOM 4904 OH2 TIP3 1336 17.604 -10.205 -4.879 .00 .00 BULK ATOM 4905 H1 TIP3 1336 17.865 -10.919 -4.296 .00 .00 BULK ATOM 4906 H2 TIP3 1336 18.118 -9.345 -4.591 .00 .00 BULK ATOM 4907 OH2 TIP3 1337 -3.033 -10.915 13.213 .00 .00 BULK ATOM 4908 H1 TIP3 1337 -2.056 -10.731 13.212 .00 .00 BULK ATOM 4909 H2 TIP3 1337 -2.985 -11.745 12.724 .00 .00 BULK ATOM 4910 OH2 TIP3 1338 5.026 7.052 11.429 .00 .00 BULK ATOM 4911 H1 TIP3 1338 5.198 7.508 10.550 .00 .00 BULK ATOM 4912 H2 TIP3 1338 4.724 6.086 11.286 .00 .00 BULK ATOM 4913 OH2 TIP3 1339 -.483 -11.691 -17.939 .00 .00 BULK ATOM 4914 H1 TIP3 1339 .002 -12.298 -18.525 .00 .00 BULK ATOM 4915 H2 TIP3 1339 -.121 -11.814 -17.037 .00 .00 BULK ATOM 4916 OH2 TIP3 1340 10.103 -18.803 -10.871 .00 .00 BULK ATOM 4917 H1 TIP3 1340 10.577 -18.668 -11.752 .00 .00 BULK ATOM 4918 H2 TIP3 1340 9.428 -19.502 -11.053 .00 .00 BULK ATOM 4919 OH2 TIP3 1341 25.123 -5.282 11.949 .00 .00 BULK ATOM 4920 H1 TIP3 1341 24.561 -5.959 11.492 .00 .00 BULK ATOM 4921 H2 TIP3 1341 25.544 -4.843 11.242 .00 .00 BULK ATOM 4922 OH2 TIP3 1342 24.523 -16.558 -1.178 .00 .00 BULK ATOM 4923 H1 TIP3 1342 24.599 -15.879 -.495 .00 .00 BULK ATOM 4924 H2 TIP3 1342 24.163 -17.298 -.670 .00 .00 BULK ATOM 4925 OH2 TIP3 1343 12.134 -5.655 -21.161 .00 .00 BULK ATOM 4926 H1 TIP3 1343 11.428 -6.258 -21.462 .00 .00 BULK ATOM 4927 H2 TIP3 1343 12.171 -5.787 -20.190 .00 .00 BULK ATOM 4928 OH2 TIP3 1344 10.162 18.313 -8.914 .00 .00 BULK ATOM 4929 H1 TIP3 1344 10.789 17.710 -9.371 .00 .00 BULK ATOM 4930 H2 TIP3 1344 9.484 18.337 -9.581 .00 .00 BULK ATOM 4931 OH2 TIP3 1345 22.364 -7.403 20.501 .00 .00 BULK ATOM 4932 H1 TIP3 1345 23.268 -7.406 20.932 .00 .00 BULK ATOM 4933 H2 TIP3 1345 21.926 -7.087 21.328 .00 .00 BULK ATOM 4934 OH2 TIP3 1346 12.814 -.560 -13.476 .00 .00 BULK ATOM 4935 H1 TIP3 1346 12.935 -.892 -12.564 .00 .00 BULK ATOM 4936 H2 TIP3 1346 13.735 -.399 -13.629 .00 .00 BULK ATOM 4937 OH2 TIP3 1347 2.709 12.764 17.344 .00 .00 BULK ATOM 4938 H1 TIP3 1347 1.888 12.844 17.780 .00 .00 BULK ATOM 4939 H2 TIP3 1347 3.337 13.029 18.028 .00 .00 BULK ATOM 4940 OH2 TIP3 1348 -1.142 -17.517 -4.920 .00 .00 BULK ATOM 4941 H1 TIP3 1348 -.887 -17.366 -3.968 .00 .00 BULK ATOM 4942 H2 TIP3 1348 -.990 -18.428 -5.126 .00 .00 BULK ATOM 4943 OH2 TIP3 1349 -12.340 -14.207 -3.944 .00 .00 BULK ATOM 4944 H1 TIP3 1349 -12.059 -14.615 -3.076 .00 .00 BULK ATOM 4945 H2 TIP3 1349 -13.040 -14.827 -4.209 .00 .00 BULK ATOM 4946 OH2 TIP3 1350 23.954 5.734 11.392 .00 .00 BULK ATOM 4947 H1 TIP3 1350 24.422 5.395 12.143 .00 .00 BULK ATOM 4948 H2 TIP3 1350 23.308 6.324 11.841 .00 .00 BULK ATOM 4949 OH2 TIP3 1351 1.763 -10.030 12.291 .00 .00 BULK ATOM 4950 H1 TIP3 1351 2.333 -9.216 12.293 .00 .00 BULK ATOM 4951 H2 TIP3 1351 2.346 -10.615 12.771 .00 .00 BULK ATOM 4952 OH2 TIP3 1352 23.326 1.451 -6.449 .00 .00 BULK ATOM 4953 H1 TIP3 1352 24.262 1.193 -6.367 .00 .00 BULK ATOM 4954 H2 TIP3 1352 23.168 1.040 -7.328 .00 .00 BULK ATOM 4955 OH2 TIP3 1353 -27.046 -5.738 -17.274 .00 .00 BULK ATOM 4956 H1 TIP3 1353 -27.464 -5.022 -17.786 .00 .00 BULK ATOM 4957 H2 TIP3 1353 -27.698 -5.916 -16.526 .00 .00 BULK ATOM 4958 OH2 TIP3 1354 21.703 -22.683 22.064 .00 .00 BULK ATOM 4959 H1 TIP3 1354 22.618 -22.834 22.245 .00 .00 BULK ATOM 4960 H2 TIP3 1354 21.772 -22.639 21.064 .00 .00 BULK ATOM 4961 OH2 TIP3 1355 -28.976 -8.884 -1.044 .00 .00 BULK ATOM 4962 H1 TIP3 1355 -28.573 -8.024 -.780 .00 .00 BULK ATOM 4963 H2 TIP3 1355 -29.690 -9.087 -.409 .00 .00 BULK ATOM 4964 OH2 TIP3 1356 17.471 8.712 -3.413 .00 .00 BULK ATOM 4965 H1 TIP3 1356 17.780 9.619 -3.171 .00 .00 BULK ATOM 4966 H2 TIP3 1356 17.044 8.506 -2.568 .00 .00 BULK ATOM 4967 OH2 TIP3 1357 12.975 -11.728 -11.726 .00 .00 BULK ATOM 4968 H1 TIP3 1357 13.229 -10.814 -11.687 .00 .00 BULK ATOM 4969 H2 TIP3 1357 13.618 -12.076 -11.077 .00 .00 BULK ATOM 4970 OH2 TIP3 1358 -.071 -14.637 -23.513 .00 .00 BULK ATOM 4971 H1 TIP3 1358 -.453 -15.531 -23.474 .00 .00 BULK ATOM 4972 H2 TIP3 1358 .023 -14.446 -22.575 .00 .00 BULK ATOM 4973 OH2 TIP3 1359 26.012 -13.195 21.215 .00 .00 BULK ATOM 4974 H1 TIP3 1359 25.413 -13.842 21.615 .00 .00 BULK ATOM 4975 H2 TIP3 1359 25.493 -12.797 20.474 .00 .00 BULK ATOM 4976 OH2 TIP3 1360 18.347 -7.349 15.768 .00 .00 BULK ATOM 4977 H1 TIP3 1360 17.534 -7.509 16.327 .00 .00 BULK ATOM 4978 H2 TIP3 1360 18.856 -8.188 15.873 .00 .00 BULK ATOM 4979 OH2 TIP3 1361 11.588 -15.865 22.644 .00 .00 BULK ATOM 4980 H1 TIP3 1361 12.161 -15.077 22.950 .00 .00 BULK ATOM 4981 H2 TIP3 1361 11.740 -15.824 21.684 .00 .00 BULK ATOM 4982 OH2 TIP3 1362 29.493 -7.695 9.923 .00 .00 BULK ATOM 4983 H1 TIP3 1362 30.092 -7.441 10.606 .00 .00 BULK ATOM 4984 H2 TIP3 1362 29.974 -8.475 9.574 .00 .00 BULK ATOM 4985 OH2 TIP3 1363 9.872 -22.119 2.599 .00 .00 BULK ATOM 4986 H1 TIP3 1363 9.629 -22.319 3.552 .00 .00 BULK ATOM 4987 H2 TIP3 1363 9.971 -22.921 2.051 .00 .00 BULK ATOM 4988 OH2 TIP3 1364 -21.980 23.169 -1.142 .00 .00 BULK ATOM 4989 H1 TIP3 1364 -21.497 23.292 -1.930 .00 .00 BULK ATOM 4990 H2 TIP3 1364 -21.435 23.560 -.420 .00 .00 BULK ATOM 4991 OH2 TIP3 1365 29.621 -11.893 21.742 .00 .00 BULK ATOM 4992 H1 TIP3 1365 29.384 -12.823 21.637 .00 .00 BULK ATOM 4993 H2 TIP3 1365 29.404 -11.564 20.876 .00 .00 BULK ATOM 4994 OH2 TIP3 1366 17.839 7.675 3.618 .00 .00 BULK ATOM 4995 H1 TIP3 1366 17.565 6.899 3.094 .00 .00 BULK ATOM 4996 H2 TIP3 1366 18.797 7.574 3.617 .00 .00 BULK ATOM 4997 OH2 TIP3 1367 18.811 -15.803 1.375 .00 .00 BULK ATOM 4998 H1 TIP3 1367 19.755 -16.069 1.564 .00 .00 BULK ATOM 4999 H2 TIP3 1367 18.388 -16.343 2.125 .00 .00 BULK ATOM 5000 OH2 TIP3 1368 8.183 -8.616 10.794 .00 .00 BULK ATOM 5001 H1 TIP3 1368 8.672 -8.790 9.960 .00 .00 BULK ATOM 5002 H2 TIP3 1368 8.980 -8.566 11.372 .00 .00 BULK ATOM 5003 OH2 TIP3 1369 .399 -13.546 3.105 .00 .00 BULK ATOM 5004 H1 TIP3 1369 .690 -13.999 2.274 .00 .00 BULK ATOM 5005 H2 TIP3 1369 .801 -12.673 2.930 .00 .00 BULK ATOM 5006 OH2 TIP3 1370 .563 1.648 -16.159 .00 .00 BULK ATOM 5007 H1 TIP3 1370 1.477 1.901 -16.299 .00 .00 BULK ATOM 5008 H2 TIP3 1370 .507 1.627 -15.214 .00 .00 BULK ATOM 5009 OH2 TIP3 1371 4.914 -9.481 6.044 .00 .00 BULK ATOM 5010 H1 TIP3 1371 5.108 -9.834 5.143 .00 .00 BULK ATOM 5011 H2 TIP3 1371 3.929 -9.507 6.120 .00 .00 BULK ATOM 5012 OH2 TIP3 1372 21.302 9.421 -5.631 .00 .00 BULK ATOM 5013 H1 TIP3 1372 20.541 8.848 -5.932 .00 .00 BULK ATOM 5014 H2 TIP3 1372 20.808 10.015 -5.044 .00 .00 BULK ATOM 5015 OH2 TIP3 1373 24.585 -4.913 21.608 .00 .00 BULK ATOM 5016 H1 TIP3 1373 25.042 -4.623 22.378 .00 .00 BULK ATOM 5017 H2 TIP3 1373 24.517 -5.884 21.731 .00 .00 BULK ATOM 5018 OH2 TIP3 1374 3.212 -2.197 -17.561 .00 .00 BULK ATOM 5019 H1 TIP3 1374 2.496 -2.589 -17.040 .00 .00 BULK ATOM 5020 H2 TIP3 1374 2.800 -2.070 -18.466 .00 .00 BULK ATOM 5021 OH2 TIP3 1375 16.514 -9.895 -1.052 .00 .00 BULK ATOM 5022 H1 TIP3 1375 15.606 -9.983 -1.481 .00 .00 BULK ATOM 5023 H2 TIP3 1375 17.009 -10.665 -1.422 .00 .00 BULK ATOM 5024 OH2 TIP3 1376 21.187 10.298 17.054 .00 .00 BULK ATOM 5025 H1 TIP3 1376 20.583 10.920 17.507 .00 .00 BULK ATOM 5026 H2 TIP3 1376 21.771 10.847 16.548 .00 .00 BULK ATOM 5027 OH2 TIP3 1377 16.287 -19.237 2.070 .00 .00 BULK ATOM 5028 H1 TIP3 1377 16.230 -19.048 1.070 .00 .00 BULK ATOM 5029 H2 TIP3 1377 15.312 -19.220 2.260 .00 .00 BULK ATOM 5030 OH2 TIP3 1378 15.225 14.904 -4.727 .00 .00 BULK ATOM 5031 H1 TIP3 1378 15.952 14.986 -4.105 .00 .00 BULK ATOM 5032 H2 TIP3 1378 15.770 15.147 -5.531 .00 .00 BULK ATOM 5033 OH2 TIP3 1379 -17.239 17.461 -1.533 .00 .00 BULK ATOM 5034 H1 TIP3 1379 -17.076 18.344 -1.068 .00 .00 BULK ATOM 5035 H2 TIP3 1379 -16.427 17.060 -1.226 .00 .00 BULK ATOM 5036 OH2 TIP3 1380 4.531 -21.587 8.654 .00 .00 BULK ATOM 5037 H1 TIP3 1380 4.257 -21.904 9.524 .00 .00 BULK ATOM 5038 H2 TIP3 1380 5.238 -20.971 8.845 .00 .00 BULK ATOM 5039 OH2 TIP3 1381 5.099 -.319 -16.798 .00 .00 BULK ATOM 5040 H1 TIP3 1381 4.942 .309 -17.450 .00 .00 BULK ATOM 5041 H2 TIP3 1381 4.444 -1.123 -16.982 .00 .00 BULK ATOM 5042 OH2 TIP3 1382 6.372 .285 -19.860 .00 .00 BULK ATOM 5043 H1 TIP3 1382 5.711 .151 -20.655 .00 .00 BULK ATOM 5044 H2 TIP3 1382 7.164 .670 -20.284 .00 .00 BULK ATOM 5045 OH2 TIP3 1383 -25.434 .172 11.837 .00 .00 BULK ATOM 5046 H1 TIP3 1383 -26.201 .019 12.454 .00 .00 BULK ATOM 5047 H2 TIP3 1383 -25.913 .761 11.271 .00 .00 BULK ATOM 5048 OH2 TIP3 1384 16.022 -5.939 -13.975 .00 .00 BULK ATOM 5049 H1 TIP3 1384 15.904 -4.967 -13.920 .00 .00 BULK ATOM 5050 H2 TIP3 1384 16.459 -6.130 -14.845 .00 .00 BULK ATOM 5051 OH2 TIP3 1385 18.210 -22.155 15.523 .00 .00 BULK ATOM 5052 H1 TIP3 1385 18.992 -21.708 15.209 .00 .00 BULK ATOM 5053 H2 TIP3 1385 18.131 -22.760 14.749 .00 .00 BULK ATOM 5054 OH2 TIP3 1386 -14.428 .057 -10.635 .00 .00 BULK ATOM 5055 H1 TIP3 1386 -14.181 .926 -10.965 .00 .00 BULK ATOM 5056 H2 TIP3 1386 -15.310 .021 -11.052 .00 .00 BULK ATOM 5057 OH2 TIP3 1387 10.260 -8.442 -9.587 .00 .00 BULK ATOM 5058 H1 TIP3 1387 11.204 -8.607 -9.774 .00 .00 BULK ATOM 5059 H2 TIP3 1387 10.112 -9.206 -9.055 .00 .00 BULK ATOM 5060 OH2 TIP3 1388 -5.982 -14.392 4.646 .00 .00 BULK ATOM 5061 H1 TIP3 1388 -6.812 -13.952 4.928 .00 .00 BULK ATOM 5062 H2 TIP3 1388 -5.698 -14.912 5.471 .00 .00 BULK ATOM 5063 OH2 TIP3 1389 9.551 -20.217 6.072 .00 .00 BULK ATOM 5064 H1 TIP3 1389 8.910 -19.587 5.648 .00 .00 BULK ATOM 5065 H2 TIP3 1389 8.982 -21.040 5.806 .00 .00 BULK ATOM 5066 OH2 TIP3 1390 19.789 -19.218 4.035 .00 .00 BULK ATOM 5067 H1 TIP3 1390 19.678 -19.935 3.323 .00 .00 BULK ATOM 5068 H2 TIP3 1390 19.408 -19.683 4.782 .00 .00 BULK ATOM 5069 OH2 TIP3 1391 -28.774 -15.775 3.715 .00 .00 BULK ATOM 5070 H1 TIP3 1391 -27.922 -15.864 3.245 .00 .00 BULK ATOM 5071 H2 TIP3 1391 -28.905 -14.780 3.617 .00 .00 BULK ATOM 5072 OH2 TIP3 1392 2.603 9.436 -9.126 .00 .00 BULK ATOM 5073 H1 TIP3 1392 2.094 8.938 -8.519 .00 .00 BULK ATOM 5074 H2 TIP3 1392 2.006 9.483 -9.894 .00 .00 BULK ATOM 5075 OH2 TIP3 1393 .425 9.533 -20.720 .00 .00 BULK ATOM 5076 H1 TIP3 1393 .937 9.144 -21.452 .00 .00 BULK ATOM 5077 H2 TIP3 1393 .799 9.075 -19.931 .00 .00 BULK ATOM 5078 OH2 TIP3 1394 -23.469 -8.422 -10.832 .00 .00 BULK ATOM 5079 H1 TIP3 1394 -22.962 -7.848 -11.468 .00 .00 BULK ATOM 5080 H2 TIP3 1394 -22.751 -8.709 -10.247 .00 .00 BULK ATOM 5081 OH2 TIP3 1395 14.354 -15.814 2.309 .00 .00 BULK ATOM 5082 H1 TIP3 1395 13.947 -16.706 2.263 .00 .00 BULK ATOM 5083 H2 TIP3 1395 13.733 -15.202 2.737 .00 .00 BULK ATOM 5084 OH2 TIP3 1396 2.736 6.576 -9.972 .00 .00 BULK ATOM 5085 H1 TIP3 1396 2.038 6.955 -9.408 .00 .00 BULK ATOM 5086 H2 TIP3 1396 3.457 7.054 -9.534 .00 .00 BULK ATOM 5087 OH2 TIP3 1397 13.106 13.888 18.262 .00 .00 BULK ATOM 5088 H1 TIP3 1397 14.020 14.032 18.627 .00 .00 BULK ATOM 5089 H2 TIP3 1397 13.139 14.285 17.346 .00 .00 BULK ATOM 5090 OH2 TIP3 1398 12.312 -2.167 15.394 .00 .00 BULK ATOM 5091 H1 TIP3 1398 11.347 -1.834 15.188 .00 .00 BULK ATOM 5092 H2 TIP3 1398 12.001 -3.163 15.362 .00 .00 BULK ATOM 5093 OH2 TIP3 1399 24.047 -16.164 16.398 .00 .00 BULK ATOM 5094 H1 TIP3 1399 23.153 -16.052 15.983 .00 .00 BULK ATOM 5095 H2 TIP3 1399 23.785 -16.670 17.187 .00 .00 BULK ATOM 5096 OH2 TIP3 1400 3.047 13.743 -14.575 .00 .00 BULK ATOM 5097 H1 TIP3 1400 2.560 14.095 -15.316 .00 .00 BULK ATOM 5098 H2 TIP3 1400 3.783 14.423 -14.497 .00 .00 BULK ATOM 5099 OH2 TIP3 1401 17.213 .339 11.962 .00 .00 BULK ATOM 5100 H1 TIP3 1401 18.032 .768 11.731 .00 .00 BULK ATOM 5101 H2 TIP3 1401 16.560 1.015 11.679 .00 .00 BULK ATOM 5102 OH2 TIP3 1402 9.787 17.321 10.600 .00 .00 BULK ATOM 5103 H1 TIP3 1402 9.385 17.348 9.647 .00 .00 BULK ATOM 5104 H2 TIP3 1402 10.121 18.225 10.550 .00 .00 BULK ATOM 5105 OH2 TIP3 1403 -.358 -21.568 -15.068 .00 .00 BULK ATOM 5106 H1 TIP3 1403 -.992 -21.481 -15.853 .00 .00 BULK ATOM 5107 H2 TIP3 1403 .272 -20.741 -15.123 .00 .00 BULK ATOM 5108 OH2 TIP3 1404 22.975 -6.307 -7.017 .00 .00 BULK ATOM 5109 H1 TIP3 1404 22.687 -5.774 -7.796 .00 .00 BULK ATOM 5110 H2 TIP3 1404 22.272 -5.990 -6.444 .00 .00 BULK ATOM 5111 OH2 TIP3 1405 7.099 -19.704 -10.342 .00 .00 BULK ATOM 5112 H1 TIP3 1405 6.831 -20.416 -9.682 .00 .00 BULK ATOM 5113 H2 TIP3 1405 7.353 -18.945 -9.775 .00 .00 BULK ATOM 5114 OH2 TIP3 1406 17.269 -7.824 -6.906 .00 .00 BULK ATOM 5115 H1 TIP3 1406 18.195 -7.944 -7.202 .00 .00 BULK ATOM 5116 H2 TIP3 1406 17.399 -6.861 -6.793 .00 .00 BULK ATOM 5117 OH2 TIP3 1407 -1.585 21.093 16.436 .00 .00 BULK ATOM 5118 H1 TIP3 1407 -1.665 21.176 17.406 .00 .00 BULK ATOM 5119 H2 TIP3 1407 -.707 21.516 16.249 .00 .00 BULK ATOM 5120 OH2 TIP3 1408 19.931 -14.235 -7.930 .00 .00 BULK ATOM 5121 H1 TIP3 1408 19.362 -13.445 -8.088 .00 .00 BULK ATOM 5122 H2 TIP3 1408 19.454 -14.683 -7.187 .00 .00 BULK ATOM 5123 OH2 TIP3 1409 15.087 -21.953 -17.287 .00 .00 BULK ATOM 5124 H1 TIP3 1409 14.499 -22.533 -16.794 .00 .00 BULK ATOM 5125 H2 TIP3 1409 15.879 -22.039 -16.803 .00 .00 BULK ATOM 5126 OH2 TIP3 1410 12.988 2.332 21.308 .00 .00 BULK ATOM 5127 H1 TIP3 1410 13.899 2.043 21.549 .00 .00 BULK ATOM 5128 H2 TIP3 1410 12.603 1.441 21.038 .00 .00 BULK ATOM 5129 OH2 TIP3 1411 27.751 -9.559 -22.877 .00 .00 BULK ATOM 5130 H1 TIP3 1411 27.131 -10.152 -23.388 .00 .00 BULK ATOM 5131 H2 TIP3 1411 27.779 -8.784 -23.381 .00 .00 BULK ATOM 5132 OH2 TIP3 1412 -8.342 -18.299 -10.487 .00 .00 BULK ATOM 5133 H1 TIP3 1412 -8.102 -17.791 -9.701 .00 .00 BULK ATOM 5134 H2 TIP3 1412 -8.136 -17.608 -11.165 .00 .00 BULK ATOM 5135 OH2 TIP3 1413 25.762 -10.973 22.982 .00 .00 BULK ATOM 5136 H1 TIP3 1413 24.861 -10.685 22.671 .00 .00 BULK ATOM 5137 H2 TIP3 1413 25.942 -11.610 22.292 .00 .00 BULK ATOM 5138 OH2 TIP3 1414 27.604 -22.782 .998 .00 .00 BULK ATOM 5139 H1 TIP3 1414 27.539 -23.193 .109 .00 .00 BULK ATOM 5140 H2 TIP3 1414 27.132 -23.501 1.505 .00 .00 BULK ATOM 5141 OH2 TIP3 1415 -4.630 6.208 -19.422 .00 .00 BULK ATOM 5142 H1 TIP3 1415 -5.324 6.647 -20.015 .00 .00 BULK ATOM 5143 H2 TIP3 1415 -5.057 5.343 -19.278 .00 .00 BULK ATOM 5144 OH2 TIP3 1416 19.370 -12.897 2.828 .00 .00 BULK ATOM 5145 H1 TIP3 1416 19.494 -13.871 2.831 .00 .00 BULK ATOM 5146 H2 TIP3 1416 19.882 -12.710 2.042 .00 .00 BULK ATOM 5147 OH2 TIP3 1417 7.732 -13.910 .583 .00 .00 BULK ATOM 5148 H1 TIP3 1417 8.249 -13.463 1.293 .00 .00 BULK ATOM 5149 H2 TIP3 1417 7.664 -13.070 .067 .00 .00 BULK ATOM 5150 OH2 TIP3 1418 28.903 -20.426 .175 .00 .00 BULK ATOM 5151 H1 TIP3 1418 28.646 -21.302 .296 .00 .00 BULK ATOM 5152 H2 TIP3 1418 28.100 -19.994 .380 .00 .00 BULK ATOM 5153 OH2 TIP3 1419 3.350 -21.155 19.432 .00 .00 BULK ATOM 5154 H1 TIP3 1419 3.989 -20.564 19.867 .00 .00 BULK ATOM 5155 H2 TIP3 1419 3.581 -21.206 18.519 .00 .00 BULK ATOM 5156 OH2 TIP3 1420 24.916 -14.309 -20.570 .00 .00 BULK ATOM 5157 H1 TIP3 1420 24.973 -13.360 -20.591 .00 .00 BULK ATOM 5158 H2 TIP3 1420 24.054 -14.388 -20.994 .00 .00 BULK ATOM 5159 OH2 TIP3 1421 20.722 5.276 19.442 .00 .00 BULK ATOM 5160 H1 TIP3 1421 20.462 4.708 20.177 .00 .00 BULK ATOM 5161 H2 TIP3 1421 20.635 6.221 19.758 .00 .00 BULK ATOM 5162 OH2 TIP3 1422 -21.858 18.253 7.869 .00 .00 BULK ATOM 5163 H1 TIP3 1422 -21.510 17.524 7.373 .00 .00 BULK ATOM 5164 H2 TIP3 1422 -21.274 18.328 8.649 .00 .00 BULK ATOM 5165 OH2 TIP3 1423 20.432 -.427 6.750 .00 .00 BULK ATOM 5166 H1 TIP3 1423 20.456 .531 6.628 .00 .00 BULK ATOM 5167 H2 TIP3 1423 19.773 -.425 7.475 .00 .00 BULK ATOM 5168 OH2 TIP3 1424 -22.463 -13.404 1.832 .00 .00 BULK ATOM 5169 H1 TIP3 1424 -21.839 -14.118 2.122 .00 .00 BULK ATOM 5170 H2 TIP3 1424 -22.847 -13.761 1.024 .00 .00 BULK ATOM 5171 OH2 TIP3 1425 -2.865 -16.044 -9.443 .00 .00 BULK ATOM 5172 H1 TIP3 1425 -2.572 -16.980 -9.390 .00 .00 BULK ATOM 5173 H2 TIP3 1425 -2.030 -15.602 -9.083 .00 .00 BULK ATOM 5174 OH2 TIP3 1426 .276 -2.617 -13.284 .00 .00 BULK ATOM 5175 H1 TIP3 1426 -.296 -3.417 -13.325 .00 .00 BULK ATOM 5176 H2 TIP3 1426 .045 -2.137 -14.132 .00 .00 BULK ATOM 5177 OH2 TIP3 1427 13.312 20.610 20.366 .00 .00 BULK ATOM 5178 H1 TIP3 1427 13.860 20.980 21.019 .00 .00 BULK ATOM 5179 H2 TIP3 1427 12.468 21.167 20.429 .00 .00 BULK ATOM 5180 OH2 TIP3 1428 16.163 10.292 5.693 .00 .00 BULK ATOM 5181 H1 TIP3 1428 16.437 11.185 5.268 .00 .00 BULK ATOM 5182 H2 TIP3 1428 16.666 10.364 6.543 .00 .00 BULK ATOM 5183 OH2 TIP3 1429 -18.410 22.030 11.925 .00 .00 BULK ATOM 5184 H1 TIP3 1429 -19.020 21.356 12.332 .00 .00 BULK ATOM 5185 H2 TIP3 1429 -18.498 22.720 12.638 .00 .00 BULK ATOM 5186 OH2 TIP3 1430 19.161 5.343 14.151 .00 .00 BULK ATOM 5187 H1 TIP3 1430 18.891 6.289 14.068 .00 .00 BULK ATOM 5188 H2 TIP3 1430 20.109 5.478 13.976 .00 .00 BULK ATOM 5189 OH2 TIP3 1431 -10.104 20.891 20.140 .00 .00 BULK ATOM 5190 H1 TIP3 1431 -9.785 20.355 19.376 .00 .00 BULK ATOM 5191 H2 TIP3 1431 -10.912 20.392 20.447 .00 .00 BULK ATOM 5192 OH2 TIP3 1432 -24.717 5.586 10.910 .00 .00 BULK ATOM 5193 H1 TIP3 1432 -25.595 6.039 10.674 .00 .00 BULK ATOM 5194 H2 TIP3 1432 -24.656 5.657 11.909 .00 .00 BULK ATOM 5195 OH2 TIP3 1433 12.294 12.896 13.653 .00 .00 BULK ATOM 5196 H1 TIP3 1433 12.581 13.381 12.909 .00 .00 BULK ATOM 5197 H2 TIP3 1433 12.280 12.019 13.238 .00 .00 BULK ATOM 5198 OH2 TIP3 1434 12.961 6.658 -12.454 .00 .00 BULK ATOM 5199 H1 TIP3 1434 12.394 6.645 -13.249 .00 .00 BULK ATOM 5200 H2 TIP3 1434 13.458 5.811 -12.567 .00 .00 BULK ATOM 5201 OH2 TIP3 1435 15.677 -2.201 22.816 .00 .00 BULK ATOM 5202 H1 TIP3 1435 15.234 -2.646 22.011 .00 .00 BULK ATOM 5203 H2 TIP3 1435 15.713 -2.800 23.514 .00 .00 BULK ATOM 5204 OH2 TIP3 1436 -21.750 15.331 -23.016 .00 .00 BULK ATOM 5205 H1 TIP3 1436 -20.865 15.511 -23.265 .00 .00 BULK ATOM 5206 H2 TIP3 1436 -21.799 14.366 -23.122 .00 .00 BULK ATOM 5207 OH2 TIP3 1437 -3.943 18.309 -13.662 .00 .00 BULK ATOM 5208 H1 TIP3 1437 -3.097 18.398 -13.169 .00 .00 BULK ATOM 5209 H2 TIP3 1437 -4.598 18.027 -12.948 .00 .00 BULK ATOM 5210 OH2 TIP3 1438 -16.097 20.476 11.916 .00 .00 BULK ATOM 5211 H1 TIP3 1438 -15.976 20.394 10.972 .00 .00 BULK ATOM 5212 H2 TIP3 1438 -16.796 21.126 11.998 .00 .00 BULK ATOM 5213 OH2 TIP3 1439 -1.033 15.829 11.627 .00 .00 BULK ATOM 5214 H1 TIP3 1439 -1.487 14.989 11.566 .00 .00 BULK ATOM 5215 H2 TIP3 1439 -.864 15.933 10.710 .00 .00 BULK ATOM 5216 OH2 TIP3 1440 3.185 22.359 13.498 .00 .00 BULK ATOM 5217 H1 TIP3 1440 3.948 21.892 13.096 .00 .00 BULK ATOM 5218 H2 TIP3 1440 3.306 23.332 13.291 .00 .00 BULK ATOM 5219 OH2 TIP3 1441 26.034 13.409 -3.414 .00 .00 BULK ATOM 5220 H1 TIP3 1441 26.411 12.615 -3.795 .00 .00 BULK ATOM 5221 H2 TIP3 1441 26.794 13.903 -3.011 .00 .00 BULK ATOM 5222 OH2 TIP3 1442 16.967 .455 14.702 .00 .00 BULK ATOM 5223 H1 TIP3 1442 16.948 .191 13.765 .00 .00 BULK ATOM 5224 H2 TIP3 1442 17.680 1.122 14.673 .00 .00 BULK ATOM 5225 OH2 TIP3 1443 -10.301 -4.223 16.427 .00 .00 BULK ATOM 5226 H1 TIP3 1443 -10.812 -5.062 16.312 .00 .00 BULK ATOM 5227 H2 TIP3 1443 -10.098 -4.224 17.385 .00 .00 BULK ATOM 5228 OH2 TIP3 1444 -3.168 9.903 14.582 .00 .00 BULK ATOM 5229 H1 TIP3 1444 -2.236 9.662 14.787 .00 .00 BULK ATOM 5230 H2 TIP3 1444 -3.382 9.205 13.999 .00 .00 BULK ATOM 5231 OH2 TIP3 1445 14.509 -23.848 12.513 .00 .00 BULK ATOM 5232 H1 TIP3 1445 15.054 -23.081 12.266 .00 .00 BULK ATOM 5233 H2 TIP3 1445 14.062 -23.589 13.357 .00 .00 BULK ATOM 5234 OH2 TIP3 1446 -28.720 18.044 -22.195 .00 .00 BULK ATOM 5235 H1 TIP3 1446 -28.382 18.871 -22.522 .00 .00 BULK ATOM 5236 H2 TIP3 1446 -29.660 18.283 -22.397 .00 .00 BULK ATOM 5237 OH2 TIP3 1447 8.250 10.117 -21.667 .00 .00 BULK ATOM 5238 H1 TIP3 1447 8.054 10.030 -22.622 .00 .00 BULK ATOM 5239 H2 TIP3 1447 7.951 9.224 -21.422 .00 .00 BULK ATOM 5240 OH2 TIP3 1448 -2.892 -7.268 11.545 .00 .00 BULK ATOM 5241 H1 TIP3 1448 -3.092 -7.265 10.588 .00 .00 BULK ATOM 5242 H2 TIP3 1448 -1.962 -7.492 11.655 .00 .00 BULK ATOM 5243 OH2 TIP3 1449 -6.950 19.805 20.942 .00 .00 BULK ATOM 5244 H1 TIP3 1449 -7.142 20.639 21.451 .00 .00 BULK ATOM 5245 H2 TIP3 1449 -7.125 20.168 20.085 .00 .00 BULK ATOM 5246 OH2 TIP3 1450 15.816 -11.561 16.477 .00 .00 BULK ATOM 5247 H1 TIP3 1450 14.929 -11.915 16.461 .00 .00 BULK ATOM 5248 H2 TIP3 1450 16.186 -11.761 17.327 .00 .00 BULK ATOM 5249 OH2 TIP3 1451 17.642 -14.498 -20.524 .00 .00 BULK ATOM 5250 H1 TIP3 1451 17.231 -14.304 -21.421 .00 .00 BULK ATOM 5251 H2 TIP3 1451 16.971 -14.055 -20.013 .00 .00 BULK ATOM 5252 OH2 TIP3 1452 19.322 23.126 4.810 .00 .00 BULK ATOM 5253 H1 TIP3 1452 19.886 22.388 5.025 .00 .00 BULK ATOM 5254 H2 TIP3 1452 19.003 22.887 3.920 .00 .00 BULK ATOM 5255 OH2 TIP3 1453 15.501 .550 4.596 .00 .00 BULK ATOM 5256 H1 TIP3 1453 14.876 1.252 4.460 .00 .00 BULK ATOM 5257 H2 TIP3 1453 16.251 .913 5.083 .00 .00 BULK ATOM 5258 OH2 TIP3 1454 -2.492 9.088 -15.924 .00 .00 BULK ATOM 5259 H1 TIP3 1454 -1.613 9.271 -16.342 .00 .00 BULK ATOM 5260 H2 TIP3 1454 -2.976 9.640 -16.599 .00 .00 BULK ATOM 5261 OH2 TIP3 1455 -9.321 17.794 6.688 .00 .00 BULK ATOM 5262 H1 TIP3 1455 -8.399 18.048 6.874 .00 .00 BULK ATOM 5263 H2 TIP3 1455 -9.801 18.060 7.430 .00 .00 BULK ATOM 5264 OH2 TIP3 1456 17.880 -22.246 18.162 .00 .00 BULK ATOM 5265 H1 TIP3 1456 17.823 -22.439 17.215 .00 .00 BULK ATOM 5266 H2 TIP3 1456 17.988 -21.256 18.148 .00 .00 BULK ATOM 5267 OH2 TIP3 1457 12.562 18.447 7.611 .00 .00 BULK ATOM 5268 H1 TIP3 1457 13.411 18.996 7.614 .00 .00 BULK ATOM 5269 H2 TIP3 1457 11.940 19.203 7.473 .00 .00 BULK ATOM 5270 OH2 TIP3 1458 1.557 21.685 -1.929 .00 .00 BULK ATOM 5271 H1 TIP3 1458 1.085 22.563 -2.123 .00 .00 BULK ATOM 5272 H2 TIP3 1458 2.494 22.025 -2.162 .00 .00 BULK ATOM 5273 OH2 TIP3 1459 14.518 -2.825 17.005 .00 .00 BULK ATOM 5274 H1 TIP3 1459 13.612 -2.726 16.504 .00 .00 BULK ATOM 5275 H2 TIP3 1459 14.774 -1.896 16.953 .00 .00 BULK ATOM 5276 OH2 TIP3 1460 -9.136 8.945 -16.928 .00 .00 BULK ATOM 5277 H1 TIP3 1460 -9.908 8.300 -16.800 .00 .00 BULK ATOM 5278 H2 TIP3 1460 -8.484 8.537 -16.356 .00 .00 BULK ATOM 5279 OH2 TIP3 1461 21.168 -2.140 -2.675 .00 .00 BULK ATOM 5280 H1 TIP3 1461 21.369 -1.451 -3.377 .00 .00 BULK ATOM 5281 H2 TIP3 1461 20.965 -2.879 -3.313 .00 .00 BULK ATOM 5282 OH2 TIP3 1462 22.034 .554 11.697 .00 .00 BULK ATOM 5283 H1 TIP3 1462 21.572 -.315 11.786 .00 .00 BULK ATOM 5284 H2 TIP3 1462 22.922 .318 11.361 .00 .00 BULK ATOM 5285 OH2 TIP3 1463 26.234 -12.854 8.830 .00 .00 BULK ATOM 5286 H1 TIP3 1463 26.635 -13.429 9.520 .00 .00 BULK ATOM 5287 H2 TIP3 1463 25.332 -13.096 8.881 .00 .00 BULK ATOM 5288 OH2 TIP3 1464 16.531 19.949 19.960 .00 .00 BULK ATOM 5289 H1 TIP3 1464 16.159 20.133 20.834 .00 .00 BULK ATOM 5290 H2 TIP3 1464 16.108 20.691 19.424 .00 .00 BULK ATOM 5291 OH2 TIP3 1465 3.962 7.716 21.122 .00 .00 BULK ATOM 5292 H1 TIP3 1465 4.162 6.896 21.702 .00 .00 BULK ATOM 5293 H2 TIP3 1465 3.002 7.925 21.405 .00 .00 BULK ATOM 5294 OH2 TIP3 1466 12.288 21.545 13.409 .00 .00 BULK ATOM 5295 H1 TIP3 1466 12.250 20.612 13.475 .00 .00 BULK ATOM 5296 H2 TIP3 1466 13.143 21.640 12.977 .00 .00 BULK ATOM 5297 OH2 TIP3 1467 -26.953 -22.285 18.314 .00 .00 BULK ATOM 5298 H1 TIP3 1467 -26.024 -22.006 18.335 .00 .00 BULK ATOM 5299 H2 TIP3 1467 -26.890 -23.088 17.707 .00 .00 BULK ATOM 5300 OH2 TIP3 1468 10.732 -17.908 -8.185 .00 .00 BULK ATOM 5301 H1 TIP3 1468 10.939 -18.227 -9.072 .00 .00 BULK ATOM 5302 H2 TIP3 1468 9.771 -17.690 -8.369 .00 .00 BULK ATOM 5303 OH2 TIP3 1469 -3.180 16.489 -7.420 .00 .00 BULK ATOM 5304 H1 TIP3 1469 -3.415 17.409 -7.090 .00 .00 BULK ATOM 5305 H2 TIP3 1469 -2.211 16.460 -7.208 .00 .00 BULK ATOM 5306 OH2 TIP3 1470 6.194 -6.698 11.003 .00 .00 BULK ATOM 5307 H1 TIP3 1470 6.228 -6.379 11.878 .00 .00 BULK ATOM 5308 H2 TIP3 1470 7.145 -7.033 10.838 .00 .00 BULK ATOM 5309 OH2 TIP3 1471 17.240 -16.967 10.634 .00 .00 BULK ATOM 5310 H1 TIP3 1471 17.208 -16.180 10.077 .00 .00 BULK ATOM 5311 H2 TIP3 1471 16.293 -17.050 10.902 .00 .00 BULK ATOM 5312 OH2 TIP3 1472 21.719 8.733 -2.655 .00 .00 BULK ATOM 5313 H1 TIP3 1472 21.030 8.876 -3.320 .00 .00 BULK ATOM 5314 H2 TIP3 1472 21.148 8.520 -1.930 .00 .00 BULK ATOM 5315 OH2 TIP3 1473 17.223 2.192 21.161 .00 .00 BULK ATOM 5316 H1 TIP3 1473 16.669 2.170 20.344 .00 .00 BULK ATOM 5317 H2 TIP3 1473 18.031 2.693 20.918 .00 .00 BULK ATOM 5318 OH2 TIP3 1474 -1.443 -22.202 18.443 .00 .00 BULK ATOM 5319 H1 TIP3 1474 -.566 -22.170 18.832 .00 .00 BULK ATOM 5320 H2 TIP3 1474 -1.570 -23.136 18.465 .00 .00 BULK ATOM 5321 OH2 TIP3 1475 18.963 -13.231 12.941 .00 .00 BULK ATOM 5322 H1 TIP3 1475 19.238 -12.372 13.365 .00 .00 BULK ATOM 5323 H2 TIP3 1475 18.046 -13.317 13.272 .00 .00 BULK ATOM 5324 OH2 TIP3 1476 7.494 14.290 3.529 .00 .00 BULK ATOM 5325 H1 TIP3 1476 7.530 14.480 2.588 .00 .00 BULK ATOM 5326 H2 TIP3 1476 7.959 13.390 3.496 .00 .00 BULK ATOM 5327 OH2 TIP3 1477 27.637 -13.348 13.241 .00 .00 BULK ATOM 5328 H1 TIP3 1477 27.929 -12.753 13.953 .00 .00 BULK ATOM 5329 H2 TIP3 1477 28.422 -13.827 13.132 .00 .00 BULK ATOM 5330 OH2 TIP3 1478 -30.146 -13.995 -2.311 .00 .00 BULK ATOM 5331 H1 TIP3 1478 -29.553 -13.300 -2.071 .00 .00 BULK ATOM 5332 H2 TIP3 1478 -29.952 -13.964 -3.308 .00 .00 BULK ATOM 5333 OH2 TIP3 1479 -11.188 20.274 -22.072 .00 .00 BULK ATOM 5334 H1 TIP3 1479 -11.858 20.338 -22.823 .00 .00 BULK ATOM 5335 H2 TIP3 1479 -11.143 21.212 -21.951 .00 .00 BULK ATOM 5336 OH2 TIP3 1480 -3.434 -21.216 -6.831 .00 .00 BULK ATOM 5337 H1 TIP3 1480 -4.053 -20.543 -7.002 .00 .00 BULK ATOM 5338 H2 TIP3 1480 -3.549 -21.843 -7.593 .00 .00 BULK ATOM 5339 OH2 TIP3 1481 4.079 22.636 -2.264 .00 .00 BULK ATOM 5340 H1 TIP3 1481 4.373 22.682 -3.208 .00 .00 BULK ATOM 5341 H2 TIP3 1481 4.420 23.519 -1.856 .00 .00 BULK ATOM 5342 OH2 TIP3 1482 23.122 15.458 -.601 .00 .00 BULK ATOM 5343 H1 TIP3 1482 23.143 16.414 -.827 .00 .00 BULK ATOM 5344 H2 TIP3 1482 23.032 15.089 -1.459 .00 .00 BULK ATOM 5345 OH2 TIP3 1483 -1.427 -6.707 14.702 .00 .00 BULK ATOM 5346 H1 TIP3 1483 -2.033 -7.475 14.538 .00 .00 BULK ATOM 5347 H2 TIP3 1483 -1.460 -6.134 13.877 .00 .00 BULK ATOM 5348 OH2 TIP3 1484 18.264 16.741 21.685 .00 .00 BULK ATOM 5349 H1 TIP3 1484 18.226 16.136 22.417 .00 .00 BULK ATOM 5350 H2 TIP3 1484 17.972 17.568 22.170 .00 .00 BULK ATOM 5351 OH2 TIP3 1485 -6.743 21.024 2.500 .00 .00 BULK ATOM 5352 H1 TIP3 1485 -7.269 21.495 3.198 .00 .00 BULK ATOM 5353 H2 TIP3 1485 -7.511 20.778 1.895 .00 .00 BULK ATOM 5354 OH2 TIP3 1486 18.341 15.130 14.786 .00 .00 BULK ATOM 5355 H1 TIP3 1486 18.416 15.410 13.814 .00 .00 BULK ATOM 5356 H2 TIP3 1486 19.095 14.649 14.881 .00 .00 BULK ATOM 5357 OH2 TIP3 1487 -7.330 18.858 -2.250 .00 .00 BULK ATOM 5358 H1 TIP3 1487 -7.268 18.523 -3.135 .00 .00 BULK ATOM 5359 H2 TIP3 1487 -8.108 19.425 -2.397 .00 .00 BULK ATOM 5360 OH2 TIP3 1488 2.053 -18.617 -4.343 .00 .00 BULK ATOM 5361 H1 TIP3 1488 1.194 -19.099 -4.432 .00 .00 BULK ATOM 5362 H2 TIP3 1488 2.097 -18.343 -3.420 .00 .00 BULK ATOM 5363 OH2 TIP3 1489 26.878 1.572 2.945 .00 .00 BULK ATOM 5364 H1 TIP3 1489 26.572 .635 3.032 .00 .00 BULK ATOM 5365 H2 TIP3 1489 26.053 2.076 2.671 .00 .00 BULK ATOM 5366 OH2 TIP3 1490 16.839 -19.394 5.258 .00 .00 BULK ATOM 5367 H1 TIP3 1490 17.108 -20.187 5.843 .00 .00 BULK ATOM 5368 H2 TIP3 1490 16.184 -19.801 4.546 .00 .00 BULK ATOM 5369 OH2 TIP3 1491 24.468 1.784 9.217 .00 .00 BULK ATOM 5370 H1 TIP3 1491 23.899 1.187 8.729 .00 .00 BULK ATOM 5371 H2 TIP3 1491 24.047 2.648 9.164 .00 .00 BULK ATOM 5372 OH2 TIP3 1492 14.808 -17.011 11.788 .00 .00 BULK ATOM 5373 H1 TIP3 1492 14.528 -16.366 12.477 .00 .00 BULK ATOM 5374 H2 TIP3 1492 14.949 -17.894 12.233 .00 .00 BULK ATOM 5375 OH2 TIP3 1493 9.164 -18.751 14.090 .00 .00 BULK ATOM 5376 H1 TIP3 1493 8.627 -19.041 14.826 .00 .00 BULK ATOM 5377 H2 TIP3 1493 8.959 -17.787 14.289 .00 .00 BULK ATOM 5378 OH2 TIP3 1494 -27.592 19.332 15.627 .00 .00 BULK ATOM 5379 H1 TIP3 1494 -27.299 18.689 16.277 .00 .00 BULK ATOM 5380 H2 TIP3 1494 -28.512 19.307 15.516 .00 .00 BULK ATOM 5381 OH2 TIP3 1495 12.708 -13.120 12.474 .00 .00 BULK ATOM 5382 H1 TIP3 1495 13.351 -13.161 11.771 .00 .00 BULK ATOM 5383 H2 TIP3 1495 13.019 -13.828 12.972 .00 .00 BULK ATOM 5384 OH2 TIP3 1496 22.931 -17.381 18.503 .00 .00 BULK ATOM 5385 H1 TIP3 1496 22.415 -17.982 18.025 .00 .00 BULK ATOM 5386 H2 TIP3 1496 22.277 -17.049 19.140 .00 .00 BULK ATOM 5387 OH2 TIP3 1497 19.085 19.757 19.451 .00 .00 BULK ATOM 5388 H1 TIP3 1497 18.144 19.619 19.671 .00 .00 BULK ATOM 5389 H2 TIP3 1497 19.095 20.706 19.586 .00 .00 BULK ATOM 5390 OH2 TIP3 1498 1.248 12.618 -6.111 .00 .00 BULK ATOM 5391 H1 TIP3 1498 .941 12.883 -6.985 .00 .00 BULK ATOM 5392 H2 TIP3 1498 1.169 11.633 -6.168 .00 .00 BULK ATOM 5393 OH2 TIP3 1499 7.691 8.495 23.235 .00 .00 BULK ATOM 5394 H1 TIP3 1499 7.565 7.584 23.404 .00 .00 BULK ATOM 5395 H2 TIP3 1499 7.030 8.670 22.510 .00 .00 BULK ATOM 5396 OH2 TIP3 1500 22.648 16.891 15.519 .00 .00 BULK ATOM 5397 H1 TIP3 1500 21.718 17.089 15.317 .00 .00 BULK ATOM 5398 H2 TIP3 1500 22.706 17.551 16.243 .00 .00 BULK ATOM 5399 OH2 TIP3 1501 -24.276 -14.273 -23.328 .00 .00 BULK ATOM 5400 H1 TIP3 1501 -25.143 -14.562 -22.924 .00 .00 BULK ATOM 5401 H2 TIP3 1501 -23.741 -14.164 -22.481 .00 .00 BULK ATOM 5402 OH2 TIP3 1502 5.152 -19.765 15.011 .00 .00 BULK ATOM 5403 H1 TIP3 1502 5.961 -19.666 15.509 .00 .00 BULK ATOM 5404 H2 TIP3 1502 5.034 -18.833 14.724 .00 .00 BULK ATOM 5405 OH2 TIP3 1503 9.896 21.463 15.953 .00 .00 BULK ATOM 5406 H1 TIP3 1503 10.567 21.141 15.367 .00 .00 BULK ATOM 5407 H2 TIP3 1503 9.611 20.650 16.388 .00 .00 BULK ATOM 5408 OH2 TIP3 1504 25.501 -11.664 12.242 .00 .00 BULK ATOM 5409 H1 TIP3 1504 25.964 -10.863 12.425 .00 .00 BULK ATOM 5410 H2 TIP3 1504 25.877 -12.245 12.938 .00 .00 BULK ATOM 5411 OH2 TIP3 1505 -25.601 -16.057 13.853 .00 .00 BULK ATOM 5412 H1 TIP3 1505 -25.283 -15.205 13.512 .00 .00 BULK ATOM 5413 H2 TIP3 1505 -26.030 -16.446 13.019 .00 .00 BULK ATOM 5414 OH2 TIP3 1506 -5.889 -15.811 20.195 .00 .00 BULK ATOM 5415 H1 TIP3 1506 -6.637 -15.228 20.481 .00 .00 BULK ATOM 5416 H2 TIP3 1506 -5.286 -15.167 19.752 .00 .00 BULK ATOM 5417 OH2 TIP3 1507 17.929 -17.901 -19.351 .00 .00 BULK ATOM 5418 H1 TIP3 1507 17.838 -17.160 -18.709 .00 .00 BULK ATOM 5419 H2 TIP3 1507 17.080 -18.325 -19.198 .00 .00 BULK ATOM 5420 OH2 TIP3 1508 -14.897 -1.903 11.894 .00 .00 BULK ATOM 5421 H1 TIP3 1508 -13.914 -1.928 11.792 .00 .00 BULK ATOM 5422 H2 TIP3 1508 -15.055 -2.009 12.840 .00 .00 BULK ATOM 5423 OH2 TIP3 1509 15.621 -12.930 7.289 .00 .00 BULK ATOM 5424 H1 TIP3 1509 16.312 -12.580 6.719 .00 .00 BULK ATOM 5425 H2 TIP3 1509 15.741 -12.288 8.073 .00 .00 BULK ATOM 5426 OH2 TIP3 1510 25.072 -22.551 15.828 .00 .00 BULK ATOM 5427 H1 TIP3 1510 24.701 -23.227 16.459 .00 .00 BULK ATOM 5428 H2 TIP3 1510 24.511 -22.720 15.026 .00 .00 BULK ATOM 5429 OH2 TIP3 1511 26.121 5.302 21.792 .00 .00 BULK ATOM 5430 H1 TIP3 1511 26.629 6.083 21.506 .00 .00 BULK ATOM 5431 H2 TIP3 1511 26.293 4.637 21.147 .00 .00 BULK ATOM 5432 OH2 TIP3 1512 27.101 -14.747 6.380 .00 .00 BULK ATOM 5433 H1 TIP3 1512 26.115 -14.777 6.313 .00 .00 BULK ATOM 5434 H2 TIP3 1512 27.158 -14.916 7.320 .00 .00 BULK ATOM 5435 OH2 TIP3 1513 25.226 12.524 10.133 .00 .00 BULK ATOM 5436 H1 TIP3 1513 25.890 13.270 9.970 .00 .00 BULK ATOM 5437 H2 TIP3 1513 24.718 12.509 9.341 .00 .00 BULK ATOM 5438 OH2 TIP3 1514 -5.700 -12.901 9.703 .00 .00 BULK ATOM 5439 H1 TIP3 1514 -6.131 -12.504 10.416 .00 .00 BULK ATOM 5440 H2 TIP3 1514 -5.614 -13.716 10.221 .00 .00 BULK ATOM 5441 OH2 TIP3 1515 4.235 -21.640 16.863 .00 .00 BULK ATOM 5442 H1 TIP3 1515 4.809 -20.984 16.339 .00 .00 BULK ATOM 5443 H2 TIP3 1515 4.767 -22.393 16.761 .00 .00 BULK ATOM 5444 OH2 TIP3 1516 16.298 4.978 13.803 .00 .00 BULK ATOM 5445 H1 TIP3 1516 16.740 5.797 13.972 .00 .00 BULK ATOM 5446 H2 TIP3 1516 16.763 4.615 13.036 .00 .00 BULK ATOM 5447 OH2 TIP3 1517 -20.493 -4.812 -23.471 .00 .00 BULK ATOM 5448 H1 TIP3 1517 -20.680 -4.404 -22.520 .00 .00 BULK ATOM 5449 H2 TIP3 1517 -19.935 -4.117 -23.896 .00 .00 BULK ATOM 5450 OH2 TIP3 1518 4.609 20.035 20.128 .00 .00 BULK ATOM 5451 H1 TIP3 1518 4.165 19.869 19.206 .00 .00 BULK ATOM 5452 H2 TIP3 1518 4.934 19.169 20.440 .00 .00 BULK ATOM 5453 OH2 TIP3 1519 25.537 6.283 18.719 .00 .00 BULK ATOM 5454 H1 TIP3 1519 24.992 6.466 19.516 .00 .00 BULK ATOM 5455 H2 TIP3 1519 24.809 6.258 18.057 .00 .00 BULK ATOM 5456 OH2 TIP3 1520 13.230 5.913 -20.907 .00 .00 BULK ATOM 5457 H1 TIP3 1520 13.694 6.287 -20.151 .00 .00 BULK ATOM 5458 H2 TIP3 1520 12.252 6.060 -20.798 .00 .00 BULK ATOM 5459 OH2 TIP3 1521 16.253 17.366 3.521 .00 .00 BULK ATOM 5460 H1 TIP3 1521 15.818 17.263 2.669 .00 .00 BULK ATOM 5461 H2 TIP3 1521 15.439 17.373 4.014 .00 .00 BULK ATOM 5462 OH2 TIP3 1522 16.160 2.846 18.259 .00 .00 BULK ATOM 5463 H1 TIP3 1522 17.062 2.996 18.024 .00 .00 BULK ATOM 5464 H2 TIP3 1522 16.000 3.800 18.256 .00 .00 BULK ATOM 5465 OH2 TIP3 1523 -19.940 -17.006 16.416 .00 .00 BULK ATOM 5466 H1 TIP3 1523 -19.813 -17.681 17.058 .00 .00 BULK ATOM 5467 H2 TIP3 1523 -20.237 -16.195 16.850 .00 .00 BULK ATOM 5468 OH2 TIP3 1524 20.935 10.813 5.183 .00 .00 BULK ATOM 5469 H1 TIP3 1524 21.530 10.921 4.374 .00 .00 BULK ATOM 5470 H2 TIP3 1524 20.935 9.814 5.148 .00 .00 BULK ATOM 5471 OH2 TIP3 1525 13.674 -10.065 -7.355 .00 .00 BULK ATOM 5472 H1 TIP3 1525 13.612 -10.328 -6.392 .00 .00 BULK ATOM 5473 H2 TIP3 1525 14.617 -10.269 -7.613 .00 .00 BULK ATOM 5474 OH2 TIP3 1526 21.477 -19.951 -6.102 .00 .00 BULK ATOM 5475 H1 TIP3 1526 20.858 -19.675 -6.811 .00 .00 BULK ATOM 5476 H2 TIP3 1526 21.015 -19.615 -5.316 .00 .00 BULK ATOM 5477 OH2 TIP3 1527 1.043 -11.493 -12.637 .00 .00 BULK ATOM 5478 H1 TIP3 1527 1.315 -10.652 -12.205 .00 .00 BULK ATOM 5479 H2 TIP3 1527 1.023 -11.944 -11.802 .00 .00 BULK ATOM 5480 OH2 TIP3 1528 19.542 -10.332 13.738 .00 .00 BULK ATOM 5481 H1 TIP3 1528 20.477 -10.127 13.762 .00 .00 BULK ATOM 5482 H2 TIP3 1528 19.366 -10.448 14.695 .00 .00 BULK ATOM 5483 OH2 TIP3 1529 25.578 -7.697 -22.224 .00 .00 BULK ATOM 5484 H1 TIP3 1529 26.201 -7.129 -21.786 .00 .00 BULK ATOM 5485 H2 TIP3 1529 25.694 -8.512 -21.691 .00 .00 BULK ATOM 5486 OH2 TIP3 1530 7.581 16.690 14.909 .00 .00 BULK ATOM 5487 H1 TIP3 1530 7.615 15.740 15.080 .00 .00 BULK ATOM 5488 H2 TIP3 1530 8.499 16.845 14.587 .00 .00 BULK ATOM 5489 OH2 TIP3 1531 28.644 -3.324 -20.960 .00 .00 BULK ATOM 5490 H1 TIP3 1531 28.921 -2.406 -21.120 .00 .00 BULK ATOM 5491 H2 TIP3 1531 29.118 -3.722 -21.713 .00 .00 BULK ATOM 5492 OH2 TIP3 1532 11.530 -1.205 6.975 .00 .00 BULK ATOM 5493 H1 TIP3 1532 12.311 -1.839 6.837 .00 .00 BULK ATOM 5494 H2 TIP3 1532 11.473 -.824 6.086 .00 .00 BULK ATOM 5495 OH2 TIP3 1533 -2.150 -20.993 -17.141 .00 .00 BULK ATOM 5496 H1 TIP3 1533 -3.002 -21.514 -16.924 .00 .00 BULK ATOM 5497 H2 TIP3 1533 -2.267 -20.756 -18.022 .00 .00 BULK ATOM 5498 OH2 TIP3 1534 18.978 2.313 14.450 .00 .00 BULK ATOM 5499 H1 TIP3 1534 19.030 3.214 14.596 .00 .00 BULK ATOM 5500 H2 TIP3 1534 18.932 2.205 13.408 .00 .00 BULK ATOM 5501 OH2 TIP3 1535 -8.978 -6.168 10.785 .00 .00 BULK ATOM 5502 H1 TIP3 1535 -9.198 -6.989 10.259 .00 .00 BULK ATOM 5503 H2 TIP3 1535 -8.517 -5.633 10.060 .00 .00 BULK ATOM 5504 OH2 TIP3 1536 -3.175 7.243 -11.405 .00 .00 BULK ATOM 5505 H1 TIP3 1536 -2.774 7.666 -10.648 .00 .00 BULK ATOM 5506 H2 TIP3 1536 -2.435 7.247 -12.033 .00 .00 BULK ATOM 5507 OH2 TIP3 1537 6.870 -11.175 18.038 .00 .00 BULK ATOM 5508 H1 TIP3 1537 6.878 -10.657 17.236 .00 .00 BULK ATOM 5509 H2 TIP3 1537 7.201 -10.601 18.780 .00 .00 BULK ATOM 5510 OH2 TIP3 1538 11.489 9.511 13.312 .00 .00 BULK ATOM 5511 H1 TIP3 1538 11.715 8.707 13.828 .00 .00 BULK ATOM 5512 H2 TIP3 1538 10.511 9.353 13.373 .00 .00 BULK ATOM 5513 OH2 TIP3 1539 -23.275 .106 2.559 .00 .00 BULK ATOM 5514 H1 TIP3 1539 -22.975 -.499 1.867 .00 .00 BULK ATOM 5515 H2 TIP3 1539 -22.556 .099 3.257 .00 .00 BULK ATOM 5516 OH2 TIP3 1540 4.138 14.998 16.322 .00 .00 BULK ATOM 5517 H1 TIP3 1540 3.125 14.933 16.439 .00 .00 BULK ATOM 5518 H2 TIP3 1540 4.266 15.351 17.252 .00 .00 BULK ATOM 5519 OH2 TIP3 1541 .704 17.000 -19.653 .00 .00 BULK ATOM 5520 H1 TIP3 1541 1.233 17.248 -18.882 .00 .00 BULK ATOM 5521 H2 TIP3 1541 -.171 16.918 -19.231 .00 .00 BULK ATOM 5522 OH2 TIP3 1542 16.980 -5.837 -3.960 .00 .00 BULK ATOM 5523 H1 TIP3 1542 16.567 -6.458 -4.575 .00 .00 BULK ATOM 5524 H2 TIP3 1542 16.359 -5.109 -4.144 .00 .00 BULK ATOM 5525 OH2 TIP3 1543 -19.472 -17.019 10.938 .00 .00 BULK ATOM 5526 H1 TIP3 1543 -19.323 -16.740 11.878 .00 .00 BULK ATOM 5527 H2 TIP3 1543 -18.521 -17.272 10.729 .00 .00 BULK ATOM 5528 OH2 TIP3 1544 -18.823 9.926 14.333 .00 .00 BULK ATOM 5529 H1 TIP3 1544 -19.152 10.826 14.221 .00 .00 BULK ATOM 5530 H2 TIP3 1544 -17.899 10.132 14.061 .00 .00 BULK ATOM 5531 OH2 TIP3 1545 7.324 -4.647 -8.503 .00 .00 BULK ATOM 5532 H1 TIP3 1545 7.111 -4.945 -7.612 .00 .00 BULK ATOM 5533 H2 TIP3 1545 6.399 -4.496 -8.799 .00 .00 BULK ATOM 5534 OH2 TIP3 1546 21.446 18.887 3.167 .00 .00 BULK ATOM 5535 H1 TIP3 1546 20.730 19.212 3.789 .00 .00 BULK ATOM 5536 H2 TIP3 1546 21.319 19.489 2.433 .00 .00 BULK ATOM 5537 OH2 TIP3 1547 29.706 -22.853 20.627 .00 .00 BULK ATOM 5538 H1 TIP3 1547 29.682 -22.561 21.550 .00 .00 BULK ATOM 5539 H2 TIP3 1547 30.002 -22.076 20.210 .00 .00 BULK ATOM 5540 OH2 TIP3 1548 -3.434 4.501 18.910 .00 .00 BULK ATOM 5541 H1 TIP3 1548 -3.684 3.660 18.490 .00 .00 BULK ATOM 5542 H2 TIP3 1548 -3.002 4.205 19.722 .00 .00 BULK ATOM 5543 OH2 TIP3 1549 17.369 -.001 -19.221 .00 .00 BULK ATOM 5544 H1 TIP3 1549 17.486 .973 -19.388 .00 .00 BULK ATOM 5545 H2 TIP3 1549 16.540 -.338 -19.745 .00 .00 BULK ATOM 5546 OH2 TIP3 1550 26.945 -5.706 15.770 .00 .00 BULK ATOM 5547 H1 TIP3 1550 27.762 -5.475 16.191 .00 .00 BULK ATOM 5548 H2 TIP3 1550 26.576 -4.890 15.409 .00 .00 BULK ATOM 5549 OH2 TIP3 1551 29.593 -15.422 -.021 .00 .00 BULK ATOM 5550 H1 TIP3 1551 30.355 -14.837 .334 .00 .00 BULK ATOM 5551 H2 TIP3 1551 29.421 -14.925 -.805 .00 .00 BULK ATOM 5552 OH2 TIP3 1552 21.633 -6.596 .623 .00 .00 BULK ATOM 5553 H1 TIP3 1552 20.783 -6.226 .420 .00 .00 BULK ATOM 5554 H2 TIP3 1552 21.864 -6.265 1.481 .00 .00 BULK ATOM 5555 OH2 TIP3 1553 22.718 11.958 -21.021 .00 .00 BULK ATOM 5556 H1 TIP3 1553 22.566 12.693 -20.357 .00 .00 BULK ATOM 5557 H2 TIP3 1553 23.709 11.968 -21.051 .00 .00 BULK ATOM 5558 OH2 TIP3 1554 16.909 -3.390 -20.349 .00 .00 BULK ATOM 5559 H1 TIP3 1554 16.398 -3.072 -21.131 .00 .00 BULK ATOM 5560 H2 TIP3 1554 16.089 -3.477 -19.762 .00 .00 BULK ATOM 5561 OH2 TIP3 1555 -8.068 -13.086 -12.447 .00 .00 BULK ATOM 5562 H1 TIP3 1555 -7.730 -12.163 -12.654 .00 .00 BULK ATOM 5563 H2 TIP3 1555 -8.851 -13.138 -13.049 .00 .00 BULK ATOM 5564 OH2 TIP3 1556 -12.053 12.702 23.514 .00 .00 BULK ATOM 5565 H1 TIP3 1556 -12.223 12.826 22.518 .00 .00 BULK ATOM 5566 H2 TIP3 1556 -11.815 13.638 23.740 .00 .00 BULK ATOM 5567 OH2 TIP3 1557 -14.483 9.778 9.965 .00 .00 BULK ATOM 5568 H1 TIP3 1557 -14.194 9.937 9.059 .00 .00 BULK ATOM 5569 H2 TIP3 1557 -13.792 10.342 10.394 .00 .00 BULK ATOM 5570 OH2 TIP3 1558 -8.459 -4.408 -13.562 .00 .00 BULK ATOM 5571 H1 TIP3 1558 -8.009 -3.725 -12.968 .00 .00 BULK ATOM 5572 H2 TIP3 1558 -9.347 -4.095 -13.491 .00 .00 BULK ATOM 5573 OH2 TIP3 1559 -6.230 1.775 7.524 .00 .00 BULK ATOM 5574 H1 TIP3 1559 -7.172 1.880 7.618 .00 .00 BULK ATOM 5575 H2 TIP3 1559 -6.153 .776 7.567 .00 .00 BULK ATOM 5576 OH2 TIP3 1560 15.525 -19.296 -19.211 .00 .00 BULK ATOM 5577 H1 TIP3 1560 14.914 -19.735 -18.608 .00 .00 BULK ATOM 5578 H2 TIP3 1560 14.959 -18.726 -19.771 .00 .00 BULK ATOM 5579 OH2 TIP3 1561 27.130 -13.182 -9.481 .00 .00 BULK ATOM 5580 H1 TIP3 1561 27.609 -13.309 -10.302 .00 .00 BULK ATOM 5581 H2 TIP3 1561 26.207 -13.054 -9.851 .00 .00 BULK ATOM 5582 OH2 TIP3 1562 15.966 18.325 16.788 .00 .00 BULK ATOM 5583 H1 TIP3 1562 15.481 18.548 17.634 .00 .00 BULK ATOM 5584 H2 TIP3 1562 16.742 18.823 16.949 .00 .00 BULK ATOM 5585 OH2 TIP3 1563 15.593 7.863 -1.278 .00 .00 BULK ATOM 5586 H1 TIP3 1563 15.087 7.839 -2.135 .00 .00 BULK ATOM 5587 H2 TIP3 1563 15.489 6.911 -1.026 .00 .00 BULK ATOM 5588 OH2 TIP3 1564 14.408 11.661 -8.115 .00 .00 BULK ATOM 5589 H1 TIP3 1564 13.907 12.572 -8.195 .00 .00 BULK ATOM 5590 H2 TIP3 1564 15.137 11.884 -7.451 .00 .00 BULK ATOM 5591 OH2 TIP3 1565 17.005 5.208 -15.699 .00 .00 BULK ATOM 5592 H1 TIP3 1565 17.664 5.677 -16.174 .00 .00 BULK ATOM 5593 H2 TIP3 1565 16.901 5.688 -14.880 .00 .00 BULK ATOM 5594 OH2 TIP3 1566 18.737 20.477 -19.396 .00 .00 BULK ATOM 5595 H1 TIP3 1566 18.721 19.948 -20.222 .00 .00 BULK ATOM 5596 H2 TIP3 1566 19.308 19.861 -18.900 .00 .00 BULK ATOM 5597 OH2 TIP3 1567 24.711 7.211 -14.101 .00 .00 BULK ATOM 5598 H1 TIP3 1567 24.461 8.053 -14.429 .00 .00 BULK ATOM 5599 H2 TIP3 1567 24.847 6.745 -14.925 .00 .00 BULK ATOM 5600 OH2 TIP3 1568 19.810 -20.370 -14.724 .00 .00 BULK ATOM 5601 H1 TIP3 1568 20.624 -20.942 -14.645 .00 .00 BULK ATOM 5602 H2 TIP3 1568 19.976 -19.806 -15.578 .00 .00 BULK ATOM 5603 OH2 TIP3 1569 13.333 9.147 -14.835 .00 .00 BULK ATOM 5604 H1 TIP3 1569 12.424 8.805 -14.894 .00 .00 BULK ATOM 5605 H2 TIP3 1569 13.401 9.689 -15.638 .00 .00 BULK ATOM 5606 OH2 TIP3 1570 17.395 20.209 1.993 .00 .00 BULK ATOM 5607 H1 TIP3 1570 17.684 19.299 2.157 .00 .00 BULK ATOM 5608 H2 TIP3 1570 16.418 20.099 1.988 .00 .00 BULK ATOM 5609 OH2 TIP3 1571 25.992 14.392 -16.676 .00 .00 BULK ATOM 5610 H1 TIP3 1571 26.101 15.328 -16.419 .00 .00 BULK ATOM 5611 H2 TIP3 1571 25.800 14.043 -15.754 .00 .00 BULK ATOM 5612 OH2 TIP3 1572 25.059 1.910 -10.599 .00 .00 BULK ATOM 5613 H1 TIP3 1572 24.630 2.704 -10.150 .00 .00 BULK ATOM 5614 H2 TIP3 1572 25.978 1.809 -10.214 .00 .00 BULK ATOM 5615 OH2 TIP3 1573 11.583 3.454 -21.710 .00 .00 BULK ATOM 5616 H1 TIP3 1573 10.786 3.941 -21.473 .00 .00 BULK ATOM 5617 H2 TIP3 1573 12.282 3.943 -21.233 .00 .00 BULK ATOM 5618 OH2 TIP3 1574 14.876 .292 21.981 .00 .00 BULK ATOM 5619 H1 TIP3 1574 15.406 -.490 22.366 .00 .00 BULK ATOM 5620 H2 TIP3 1574 15.037 .118 21.066 .00 .00 BULK ATOM 5621 OH2 TIP3 1575 12.602 18.191 .823 .00 .00 BULK ATOM 5622 H1 TIP3 1575 12.048 17.918 .052 .00 .00 BULK ATOM 5623 H2 TIP3 1575 11.870 18.526 1.384 .00 .00 BULK ATOM 5624 OH2 TIP3 1576 23.516 -19.357 -17.239 .00 .00 BULK ATOM 5625 H1 TIP3 1576 24.123 -19.509 -17.977 .00 .00 BULK ATOM 5626 H2 TIP3 1576 24.093 -19.483 -16.422 .00 .00 BULK ATOM 5627 OH2 TIP3 1577 23.959 19.835 19.759 .00 .00 BULK ATOM 5628 H1 TIP3 1577 23.924 19.164 20.477 .00 .00 BULK ATOM 5629 H2 TIP3 1577 24.817 20.254 20.026 .00 .00 BULK ATOM 5630 OH2 TIP3 1578 22.361 -22.172 -16.840 .00 .00 BULK ATOM 5631 H1 TIP3 1578 23.043 -21.509 -16.543 .00 .00 BULK ATOM 5632 H2 TIP3 1578 22.646 -22.436 -17.732 .00 .00 BULK ATOM 5633 OH2 TIP3 1579 -13.971 -22.444 -12.350 .00 .00 BULK ATOM 5634 H1 TIP3 1579 -13.595 -23.342 -12.667 .00 .00 BULK ATOM 5635 H2 TIP3 1579 -13.329 -22.285 -11.628 .00 .00 BULK ATOM 5636 OH2 TIP3 1580 26.339 16.845 -15.151 .00 .00 BULK ATOM 5637 H1 TIP3 1580 25.940 17.683 -14.968 .00 .00 BULK ATOM 5638 H2 TIP3 1580 26.122 16.296 -14.409 .00 .00 BULK ATOM 5639 OH2 TIP3 1581 -23.364 -5.947 -4.502 .00 .00 BULK ATOM 5640 H1 TIP3 1581 -23.953 -6.696 -4.860 .00 .00 BULK ATOM 5641 H2 TIP3 1581 -23.405 -5.237 -5.194 .00 .00 BULK ATOM 5642 OH2 TIP3 1582 -6.045 12.038 -10.137 .00 .00 BULK ATOM 5643 H1 TIP3 1582 -6.541 12.797 -9.798 .00 .00 BULK ATOM 5644 H2 TIP3 1582 -5.895 11.525 -9.268 .00 .00 BULK ATOM 5645 OH2 TIP3 1583 7.201 -2.150 -21.480 .00 .00 BULK ATOM 5646 H1 TIP3 1583 7.163 -1.628 -20.689 .00 .00 BULK ATOM 5647 H2 TIP3 1583 7.852 -1.674 -22.019 .00 .00 BULK ATOM 5648 OH2 TIP3 1584 -21.129 -1.914 -8.303 .00 .00 BULK ATOM 5649 H1 TIP3 1584 -21.366 -2.005 -7.326 .00 .00 BULK ATOM 5650 H2 TIP3 1584 -21.086 -2.809 -8.726 .00 .00 BULK ATOM 5651 OH2 TIP3 1585 16.659 17.740 9.922 .00 .00 BULK ATOM 5652 H1 TIP3 1585 16.676 17.435 10.864 .00 .00 BULK ATOM 5653 H2 TIP3 1585 16.234 16.994 9.460 .00 .00 BULK ATOM 5654 OH2 TIP3 1586 21.861 16.710 -9.499 .00 .00 BULK ATOM 5655 H1 TIP3 1586 22.517 16.178 -10.037 .00 .00 BULK ATOM 5656 H2 TIP3 1586 21.084 16.177 -9.787 .00 .00 BULK ATOM 5657 OH2 TIP3 1587 -4.575 16.368 -15.714 .00 .00 BULK ATOM 5658 H1 TIP3 1587 -5.544 16.083 -15.474 .00 .00 BULK ATOM 5659 H2 TIP3 1587 -4.301 16.854 -14.942 .00 .00 BULK ATOM 5660 OH2 TIP3 1588 27.026 13.169 -10.889 .00 .00 BULK ATOM 5661 H1 TIP3 1588 27.673 12.731 -11.453 .00 .00 BULK ATOM 5662 H2 TIP3 1588 27.520 13.901 -10.612 .00 .00 BULK ATOM 5663 OH2 TIP3 1589 -27.839 -21.496 22.946 .00 .00 BULK ATOM 5664 H1 TIP3 1589 -27.989 -20.868 22.221 .00 .00 BULK ATOM 5665 H2 TIP3 1589 -27.311 -22.201 22.452 .00 .00 BULK ATOM 5666 OH2 TIP3 1590 -10.229 -13.546 -6.116 .00 .00 BULK ATOM 5667 H1 TIP3 1590 -9.353 -13.851 -5.968 .00 .00 BULK ATOM 5668 H2 TIP3 1590 -10.495 -13.642 -5.183 .00 .00 BULK ATOM 5669 OH2 TIP3 1591 17.400 8.084 10.974 .00 .00 BULK ATOM 5670 H1 TIP3 1591 17.414 7.378 10.275 .00 .00 BULK ATOM 5671 H2 TIP3 1591 16.416 8.259 11.144 .00 .00 BULK ATOM 5672 OH2 TIP3 1592 -14.183 20.760 6.419 .00 .00 BULK ATOM 5673 H1 TIP3 1592 -13.595 21.408 6.760 .00 .00 BULK ATOM 5674 H2 TIP3 1592 -13.631 19.951 6.432 .00 .00 BULK ATOM 5675 OH2 TIP3 1593 21.463 2.272 -4.631 .00 .00 BULK ATOM 5676 H1 TIP3 1593 22.111 2.803 -4.169 .00 .00 BULK ATOM 5677 H2 TIP3 1593 21.983 2.005 -5.399 .00 .00 BULK ATOM 5678 OH2 TIP3 1594 16.079 14.937 9.523 .00 .00 BULK ATOM 5679 H1 TIP3 1594 17.022 14.847 9.854 .00 .00 BULK ATOM 5680 H2 TIP3 1594 15.674 14.211 10.024 .00 .00 BULK ATOM 5681 OH2 TIP3 1595 4.805 -11.715 -8.973 .00 .00 BULK ATOM 5682 H1 TIP3 1595 5.302 -10.996 -9.417 .00 .00 BULK ATOM 5683 H2 TIP3 1595 5.132 -12.563 -9.324 .00 .00 BULK ATOM 5684 OH2 TIP3 1596 -9.002 -20.353 -20.166 .00 .00 BULK ATOM 5685 H1 TIP3 1596 -9.171 -21.043 -19.509 .00 .00 BULK ATOM 5686 H2 TIP3 1596 -8.748 -20.986 -20.895 .00 .00 BULK ATOM 5687 OH2 TIP3 1597 -22.684 10.812 18.764 .00 .00 BULK ATOM 5688 H1 TIP3 1597 -21.936 11.389 18.429 .00 .00 BULK ATOM 5689 H2 TIP3 1597 -23.247 11.465 19.227 .00 .00 BULK ATOM 5690 OH2 TIP3 1598 18.336 11.130 -17.500 .00 .00 BULK ATOM 5691 H1 TIP3 1598 19.204 11.062 -17.953 .00 .00 BULK ATOM 5692 H2 TIP3 1598 17.985 10.227 -17.504 .00 .00 BULK ATOM 5693 OH2 TIP3 1599 -15.773 7.883 -9.343 .00 .00 BULK ATOM 5694 H1 TIP3 1599 -15.767 8.325 -10.205 .00 .00 BULK ATOM 5695 H2 TIP3 1599 -16.673 8.025 -9.031 .00 .00 BULK ATOM 5696 OH2 TIP3 1600 3.925 19.520 -2.230 .00 .00 BULK ATOM 5697 H1 TIP3 1600 4.900 19.450 -2.145 .00 .00 BULK ATOM 5698 H2 TIP3 1600 3.790 20.340 -1.823 .00 .00 BULK ATOM 5699 OH2 TIP3 1601 1.414 22.893 15.586 .00 .00 BULK ATOM 5700 H1 TIP3 1601 2.153 22.863 14.931 .00 .00 BULK ATOM 5701 H2 TIP3 1601 1.054 23.792 15.518 .00 .00 BULK ATOM 5702 OH2 TIP3 1602 -14.745 7.661 3.922 .00 .00 BULK ATOM 5703 H1 TIP3 1602 -15.671 7.451 4.280 .00 .00 BULK ATOM 5704 H2 TIP3 1602 -14.112 7.173 4.518 .00 .00 BULK ATOM 5705 OH2 TIP3 1603 20.754 18.066 22.405 .00 .00 BULK ATOM 5706 H1 TIP3 1603 21.315 17.235 22.507 .00 .00 BULK ATOM 5707 H2 TIP3 1603 20.323 17.812 21.563 .00 .00 BULK ATOM 5708 OH2 TIP3 1604 25.118 2.512 -2.241 .00 .00 BULK ATOM 5709 H1 TIP3 1604 25.636 2.363 -1.416 .00 .00 BULK ATOM 5710 H2 TIP3 1604 25.137 1.581 -2.658 .00 .00 BULK ATOM 5711 OH2 TIP3 1605 29.259 -22.680 -6.048 .00 .00 BULK ATOM 5712 H1 TIP3 1605 29.299 -22.886 -5.061 .00 .00 BULK ATOM 5713 H2 TIP3 1605 29.083 -21.787 -5.886 .00 .00 BULK ATOM 5714 OH2 TIP3 1606 -29.338 -10.515 -18.240 .00 .00 BULK ATOM 5715 H1 TIP3 1606 -29.240 -9.614 -17.884 .00 .00 BULK ATOM 5716 H2 TIP3 1606 -28.777 -10.495 -19.066 .00 .00 BULK ATOM 5717 OH2 TIP3 1607 28.190 -7.486 -14.371 .00 .00 BULK ATOM 5718 H1 TIP3 1607 28.914 -7.050 -13.859 .00 .00 BULK ATOM 5719 H2 TIP3 1607 27.429 -7.498 -13.741 .00 .00 BULK ATOM 5720 OH2 TIP3 1608 29.678 6.158 -21.175 .00 .00 BULK ATOM 5721 H1 TIP3 1608 29.005 6.732 -20.805 .00 .00 BULK ATOM 5722 H2 TIP3 1608 30.406 6.328 -20.573 .00 .00 BULK ATOM 5723 OH2 TIP3 1609 -19.018 4.587 -8.963 .00 .00 BULK ATOM 5724 H1 TIP3 1609 -18.887 3.993 -8.224 .00 .00 BULK ATOM 5725 H2 TIP3 1609 -18.256 4.334 -9.563 .00 .00 BULK ATOM 5726 OH2 TIP3 1610 -23.724 -1.900 -1.840 .00 .00 BULK ATOM 5727 H1 TIP3 1610 -24.431 -2.472 -2.063 .00 .00 BULK ATOM 5728 H2 TIP3 1610 -24.177 -1.203 -1.348 .00 .00 BULK ATOM 5729 OH2 TIP3 1611 .141 4.257 -21.806 .00 .00 BULK ATOM 5730 H1 TIP3 1611 -.513 3.823 -21.250 .00 .00 BULK ATOM 5731 H2 TIP3 1611 -.266 4.415 -22.632 .00 .00 BULK ATOM 5732 OH2 TIP3 1612 -27.694 21.907 -11.745 .00 .00 BULK ATOM 5733 H1 TIP3 1612 -28.189 21.414 -12.408 .00 .00 BULK ATOM 5734 H2 TIP3 1612 -26.774 21.737 -12.076 .00 .00 BULK ATOM 5735 OH2 TIP3 1613 -22.646 7.592 -18.408 .00 .00 BULK ATOM 5736 H1 TIP3 1613 -23.175 7.135 -19.052 .00 .00 BULK ATOM 5737 H2 TIP3 1613 -22.477 6.848 -17.805 .00 .00 BULK ATOM 5738 OH2 TIP3 1614 29.554 15.024 -9.926 .00 .00 BULK ATOM 5739 H1 TIP3 1614 29.193 15.597 -10.589 .00 .00 BULK ATOM 5740 H2 TIP3 1614 29.519 15.586 -9.111 .00 .00 BULK ATOM 5741 OH2 TIP3 1615 -26.126 14.166 -11.911 .00 .00 BULK ATOM 5742 H1 TIP3 1615 -26.436 14.445 -12.786 .00 .00 BULK ATOM 5743 H2 TIP3 1615 -26.827 14.493 -11.285 .00 .00 BULK ATOM 5744 OH2 TIP3 1616 -21.027 -4.202 -10.025 .00 .00 BULK ATOM 5745 H1 TIP3 1616 -20.549 -4.021 -10.844 .00 .00 BULK ATOM 5746 H2 TIP3 1616 -20.513 -4.969 -9.719 .00 .00 BULK ATOM 5747 OH2 TIP3 1617 -23.517 3.234 -18.651 .00 .00 BULK ATOM 5748 H1 TIP3 1617 -22.909 2.486 -18.863 .00 .00 BULK ATOM 5749 H2 TIP3 1617 -23.062 3.831 -18.023 .00 .00 BULK ATOM 5750 OH2 TIP3 1618 -1.981 -22.532 22.952 .00 .00 BULK ATOM 5751 H1 TIP3 1618 -1.288 -21.940 23.263 .00 .00 BULK ATOM 5752 H2 TIP3 1618 -1.305 -23.125 22.571 .00 .00 BULK ATOM 5753 OH2 TIP3 1619 -19.415 -3.118 21.957 .00 .00 BULK ATOM 5754 H1 TIP3 1619 -19.750 -2.549 21.264 .00 .00 BULK ATOM 5755 H2 TIP3 1619 -18.877 -3.826 21.494 .00 .00 BULK ATOM 5756 OH2 TIP3 1620 -26.503 -4.462 -22.919 .00 .00 BULK ATOM 5757 H1 TIP3 1620 -26.785 -4.807 -23.849 .00 .00 BULK ATOM 5758 H2 TIP3 1620 -25.828 -5.075 -22.663 .00 .00 BULK ATOM 5759 OH2 TIP3 1621 -23.136 12.685 -10.035 .00 .00 BULK ATOM 5760 H1 TIP3 1621 -23.003 13.580 -10.315 .00 .00 BULK ATOM 5761 H2 TIP3 1621 -23.881 12.796 -9.460 .00 .00 BULK ATOM 5762 OH2 TIP3 1622 -6.449 16.596 -7.493 .00 .00 BULK ATOM 5763 H1 TIP3 1622 -6.683 15.889 -6.829 .00 .00 BULK ATOM 5764 H2 TIP3 1622 -5.551 16.341 -7.646 .00 .00 BULK ATOM 5765 OH2 TIP3 1623 -12.045 -16.981 4.994 .00 .00 BULK ATOM 5766 H1 TIP3 1623 -12.113 -17.867 5.324 .00 .00 BULK ATOM 5767 H2 TIP3 1623 -11.850 -17.231 4.065 .00 .00 BULK ATOM 5768 OH2 TIP3 1624 -25.683 -16.771 -8.722 .00 .00 BULK ATOM 5769 H1 TIP3 1624 -26.106 -17.306 -7.988 .00 .00 BULK ATOM 5770 H2 TIP3 1624 -25.220 -16.140 -8.160 .00 .00 BULK ATOM 5771 OH2 TIP3 1625 -15.157 20.291 -17.193 .00 .00 BULK ATOM 5772 H1 TIP3 1625 -15.993 20.411 -17.616 .00 .00 BULK ATOM 5773 H2 TIP3 1625 -14.554 20.101 -17.935 .00 .00 BULK ATOM 5774 OH2 TIP3 1626 7.283 -13.450 -10.134 .00 .00 BULK ATOM 5775 H1 TIP3 1626 6.735 -14.147 -10.516 .00 .00 BULK ATOM 5776 H2 TIP3 1626 7.931 -13.238 -10.830 .00 .00 BULK ATOM 5777 OH2 TIP3 1627 -23.600 7.480 16.230 .00 .00 BULK ATOM 5778 H1 TIP3 1627 -22.712 7.618 15.817 .00 .00 BULK ATOM 5779 H2 TIP3 1627 -23.754 8.403 16.458 .00 .00 BULK ATOM 5780 OH2 TIP3 1628 -17.751 -7.723 -11.145 .00 .00 BULK ATOM 5781 H1 TIP3 1628 -17.114 -7.127 -10.669 .00 .00 BULK ATOM 5782 H2 TIP3 1628 -17.402 -8.585 -10.824 .00 .00 BULK ATOM 5783 OH2 TIP3 1629 -1.554 7.392 -13.939 .00 .00 BULK ATOM 5784 H1 TIP3 1629 -1.812 8.084 -14.596 .00 .00 BULK ATOM 5785 H2 TIP3 1629 -.715 7.117 -14.372 .00 .00 BULK ATOM 5786 OH2 TIP3 1630 14.758 -6.032 -20.229 .00 .00 BULK ATOM 5787 H1 TIP3 1630 14.233 -5.990 -21.039 .00 .00 BULK ATOM 5788 H2 TIP3 1630 14.152 -6.526 -19.593 .00 .00 BULK ATOM 5789 OH2 TIP3 1631 9.164 -5.827 21.078 .00 .00 BULK ATOM 5790 H1 TIP3 1631 8.689 -6.463 20.525 .00 .00 BULK ATOM 5791 H2 TIP3 1631 8.987 -6.192 21.977 .00 .00 BULK ATOM 5792 OH2 TIP3 1632 22.798 18.518 17.566 .00 .00 BULK ATOM 5793 H1 TIP3 1632 23.607 18.934 17.968 .00 .00 BULK ATOM 5794 H2 TIP3 1632 22.238 18.354 18.359 .00 .00 BULK ATOM 5795 OH2 TIP3 1633 -29.277 20.376 -13.553 .00 .00 BULK ATOM 5796 H1 TIP3 1633 -28.597 19.716 -13.551 .00 .00 BULK ATOM 5797 H2 TIP3 1633 -30.020 19.888 -13.927 .00 .00 BULK ATOM 5798 OH2 TIP3 1634 19.507 -4.161 -20.763 .00 .00 BULK ATOM 5799 H1 TIP3 1634 18.688 -3.808 -20.437 .00 .00 BULK ATOM 5800 H2 TIP3 1634 20.155 -3.575 -20.352 .00 .00 BULK ATOM 5801 OH2 TIP3 1635 -21.469 12.703 23.591 .00 .00 BULK ATOM 5802 H1 TIP3 1635 -21.065 12.593 22.729 .00 .00 BULK ATOM 5803 H2 TIP3 1635 -22.246 12.135 23.489 .00 .00 BULK ATOM 5804 OH2 TIP3 1636 19.185 3.693 -11.433 .00 .00 BULK ATOM 5805 H1 TIP3 1636 19.499 3.615 -10.551 .00 .00 BULK ATOM 5806 H2 TIP3 1636 19.917 3.357 -12.040 .00 .00 BULK ATOM 5807 OH2 TIP3 1637 -28.217 12.137 1.391 .00 .00 BULK ATOM 5808 H1 TIP3 1637 -27.415 11.761 1.490 .00 .00 BULK ATOM 5809 H2 TIP3 1637 -28.758 11.404 1.708 .00 .00 BULK ATOM 5810 OH2 TIP3 1638 28.505 6.810 20.722 .00 .00 BULK ATOM 5811 H1 TIP3 1638 28.986 7.658 20.678 .00 .00 BULK ATOM 5812 H2 TIP3 1638 28.463 6.536 19.797 .00 .00 BULK ATOM 5813 OH2 TIP3 1639 -28.953 -20.057 -6.170 .00 .00 BULK ATOM 5814 H1 TIP3 1639 -28.731 -19.549 -5.437 .00 .00 BULK ATOM 5815 H2 TIP3 1639 -29.954 -20.066 -6.115 .00 .00 BULK ATOM 5816 OH2 TIP3 1640 23.164 -11.427 21.636 .00 .00 BULK ATOM 5817 H1 TIP3 1640 22.204 -11.272 21.605 .00 .00 BULK ATOM 5818 H2 TIP3 1640 23.247 -11.993 20.816 .00 .00 BULK ATOM 5819 OH2 TIP3 1641 27.390 -15.595 -23.048 .00 .00 BULK ATOM 5820 H1 TIP3 1641 27.447 -14.633 -22.878 .00 .00 BULK ATOM 5821 H2 TIP3 1641 26.374 -15.661 -23.044 .00 .00 BULK ATOM 5822 OH2 TIP3 1642 17.940 8.212 22.428 .00 .00 BULK ATOM 5823 H1 TIP3 1642 17.333 8.794 21.904 .00 .00 BULK ATOM 5824 H2 TIP3 1642 17.414 7.425 22.395 .00 .00 BULK ATOM 5825 OH2 TIP3 1643 15.469 -1.557 -11.942 .00 .00 BULK ATOM 5826 H1 TIP3 1643 15.094 -.694 -11.716 .00 .00 BULK ATOM 5827 H2 TIP3 1643 16.478 -1.190 -11.783 .00 .00 BULK ATOM 5828 OH2 TIP3 1644 -19.418 -19.348 -13.929 .00 .00 BULK ATOM 5829 H1 TIP3 1644 -18.563 -18.865 -14.003 .00 .00 BULK ATOM 5830 H2 TIP3 1644 -20.069 -18.605 -14.219 .00 .00 BULK ATOM 5831 OH2 TIP3 1645 -23.599 -.106 -14.183 .00 .00 BULK ATOM 5832 H1 TIP3 1645 -24.221 -.489 -14.911 .00 .00 BULK ATOM 5833 H2 TIP3 1645 -24.300 .484 -13.866 .00 .00 BULK ATOM 5834 OH2 TIP3 1646 -26.584 -17.863 -1.555 .00 .00 BULK ATOM 5835 H1 TIP3 1646 -27.111 -18.408 -.918 .00 .00 BULK ATOM 5836 H2 TIP3 1646 -25.925 -18.486 -1.832 .00 .00 BULK ATOM 5837 OH2 TIP3 1647 -17.610 -21.385 5.399 .00 .00 BULK ATOM 5838 H1 TIP3 1647 -18.490 -21.179 5.048 .00 .00 BULK ATOM 5839 H2 TIP3 1647 -17.791 -21.394 6.340 .00 .00 BULK ATOM 5840 OH2 TIP3 1648 29.235 -12.740 -19.327 .00 .00 BULK ATOM 5841 H1 TIP3 1648 29.699 -11.998 -18.905 .00 .00 BULK ATOM 5842 H2 TIP3 1648 28.373 -12.588 -18.953 .00 .00 BULK ATOM 5843 OH2 TIP3 1649 27.088 15.429 14.351 .00 .00 BULK ATOM 5844 H1 TIP3 1649 26.511 15.375 13.515 .00 .00 BULK ATOM 5845 H2 TIP3 1649 26.554 16.073 14.892 .00 .00 BULK ATOM 5846 OH2 TIP3 1650 -16.011 -14.178 -12.293 .00 .00 BULK ATOM 5847 H1 TIP3 1650 -15.595 -13.984 -11.453 .00 .00 BULK ATOM 5848 H2 TIP3 1650 -16.602 -14.948 -12.134 .00 .00 BULK ATOM 5849 OH2 TIP3 1651 -10.646 -1.210 20.883 .00 .00 BULK ATOM 5850 H1 TIP3 1651 -10.099 -1.800 20.296 .00 .00 BULK ATOM 5851 H2 TIP3 1651 -10.351 -.379 20.500 .00 .00 BULK ATOM 5852 OH2 TIP3 1652 10.090 22.840 20.788 .00 .00 BULK ATOM 5853 H1 TIP3 1652 9.203 22.616 20.975 .00 .00 BULK ATOM 5854 H2 TIP3 1652 10.026 23.785 21.122 .00 .00 BULK ATOM 5855 OH2 TIP3 1653 -15.859 -10.985 -12.575 .00 .00 BULK ATOM 5856 H1 TIP3 1653 -15.674 -11.914 -12.815 .00 .00 BULK ATOM 5857 H2 TIP3 1653 -16.037 -10.731 -13.595 .00 .00 BULK ATOM 5858 OH2 TIP3 1654 -22.195 -8.825 17.995 .00 .00 BULK ATOM 5859 H1 TIP3 1654 -22.801 -8.693 17.232 .00 .00 BULK ATOM 5860 H2 TIP3 1654 -22.683 -8.505 18.812 .00 .00 BULK ATOM 5861 OH2 TIP3 1655 -28.465 -8.535 21.795 .00 .00 BULK ATOM 5862 H1 TIP3 1655 -29.447 -8.208 21.804 .00 .00 BULK ATOM 5863 H2 TIP3 1655 -28.475 -9.380 21.354 .00 .00 BULK ATOM 5864 OH2 TIP3 1656 -13.545 13.889 13.271 .00 .00 BULK ATOM 5865 H1 TIP3 1656 -14.401 14.399 13.213 .00 .00 BULK ATOM 5866 H2 TIP3 1656 -13.026 14.569 13.691 .00 .00 BULK ATOM 5867 OH2 TIP3 1657 -29.250 -.681 -15.914 .00 .00 BULK ATOM 5868 H1 TIP3 1657 -29.731 -.589 -16.782 .00 .00 BULK ATOM 5869 H2 TIP3 1657 -29.720 -1.543 -15.588 .00 .00 BULK ATOM 5870 OH2 TIP3 1658 -28.806 -13.893 -14.501 .00 .00 BULK ATOM 5871 H1 TIP3 1658 -28.515 -13.132 -15.038 .00 .00 BULK ATOM 5872 H2 TIP3 1658 -28.164 -14.563 -14.828 .00 .00 BULK ATOM 5873 OH2 TIP3 1659 27.478 -10.316 -2.805 .00 .00 BULK ATOM 5874 H1 TIP3 1659 27.467 -11.196 -2.486 .00 .00 BULK ATOM 5875 H2 TIP3 1659 26.958 -10.496 -3.622 .00 .00 BULK ATOM 5876 OH2 TIP3 1660 -10.637 -6.779 -18.423 .00 .00 BULK ATOM 5877 H1 TIP3 1660 -9.724 -6.433 -18.309 .00 .00 BULK ATOM 5878 H2 TIP3 1660 -10.936 -6.960 -17.545 .00 .00 BULK ATOM 5879 OH2 TIP3 1661 27.484 -18.048 -17.476 .00 .00 BULK ATOM 5880 H1 TIP3 1661 27.325 -17.199 -17.884 .00 .00 BULK ATOM 5881 H2 TIP3 1661 28.253 -17.811 -16.947 .00 .00 BULK ATOM 5882 OH2 TIP3 1662 -20.722 2.924 16.654 .00 .00 BULK ATOM 5883 H1 TIP3 1662 -21.256 2.145 16.434 .00 .00 BULK ATOM 5884 H2 TIP3 1662 -21.446 3.579 16.682 .00 .00 BULK ATOM 5885 OH2 TIP3 1663 -21.632 -18.003 -11.082 .00 .00 BULK ATOM 5886 H1 TIP3 1663 -21.864 -17.202 -11.556 .00 .00 BULK ATOM 5887 H2 TIP3 1663 -22.534 -18.316 -10.856 .00 .00 BULK ATOM 5888 OH2 TIP3 1664 -14.240 3.102 -13.962 .00 .00 BULK ATOM 5889 H1 TIP3 1664 -13.698 2.978 -14.735 .00 .00 BULK ATOM 5890 H2 TIP3 1664 -14.234 4.085 -13.858 .00 .00 BULK ATOM 5891 OH2 TIP3 1665 -28.148 -19.622 20.767 .00 .00 BULK ATOM 5892 H1 TIP3 1665 -28.317 -18.949 21.468 .00 .00 BULK ATOM 5893 H2 TIP3 1665 -27.273 -19.344 20.455 .00 .00 BULK ATOM 5894 OH2 TIP3 1666 4.642 -7.015 21.231 .00 .00 BULK ATOM 5895 H1 TIP3 1666 3.711 -7.181 21.263 .00 .00 BULK ATOM 5896 H2 TIP3 1666 4.723 -6.411 21.987 .00 .00 BULK ATOM 5897 OH2 TIP3 1667 9.070 -19.664 -17.239 .00 .00 BULK ATOM 5898 H1 TIP3 1667 9.359 -19.964 -18.108 .00 .00 BULK ATOM 5899 H2 TIP3 1667 9.870 -19.197 -16.888 .00 .00 BULK ATOM 5900 OH2 TIP3 1668 -12.753 2.667 -16.604 .00 .00 BULK ATOM 5901 H1 TIP3 1668 -12.059 1.992 -16.576 .00 .00 BULK ATOM 5902 H2 TIP3 1668 -13.544 2.074 -16.787 .00 .00 BULK ATOM 5903 OH2 TIP3 1669 -17.775 -1.950 -20.228 .00 .00 BULK ATOM 5904 H1 TIP3 1669 -17.670 -2.760 -19.741 .00 .00 BULK ATOM 5905 H2 TIP3 1669 -17.463 -2.226 -21.132 .00 .00 BULK ATOM 5906 OH2 TIP3 1670 -29.605 .933 -11.223 .00 .00 BULK ATOM 5907 H1 TIP3 1670 -29.449 1.592 -11.994 .00 .00 BULK ATOM 5908 H2 TIP3 1670 -29.467 .091 -11.697 .00 .00 BULK ATOM 5909 OH2 TIP3 1671 22.080 -16.777 -6.331 .00 .00 BULK ATOM 5910 H1 TIP3 1671 21.189 -17.090 -6.548 .00 .00 BULK ATOM 5911 H2 TIP3 1671 22.192 -17.170 -5.456 .00 .00 BULK ATOM 5912 OH2 TIP3 1672 28.337 -20.031 -5.618 .00 .00 BULK ATOM 5913 H1 TIP3 1672 28.010 -20.143 -4.695 .00 .00 BULK ATOM 5914 H2 TIP3 1672 27.587 -19.497 -5.981 .00 .00 BULK ATOM 5915 OH2 TIP3 1673 -24.712 -4.414 -18.267 .00 .00 BULK ATOM 5916 H1 TIP3 1673 -25.487 -5.064 -17.984 .00 .00 BULK ATOM 5917 H2 TIP3 1673 -25.134 -3.616 -18.626 .00 .00 BULK ATOM 5918 OH2 TIP3 1674 23.419 -6.676 18.179 .00 .00 BULK ATOM 5919 H1 TIP3 1674 23.027 -6.994 18.996 .00 .00 BULK ATOM 5920 H2 TIP3 1674 22.676 -6.817 17.606 .00 .00 BULK ATOM 5921 OH2 TIP3 1675 -25.116 -6.435 19.906 .00 .00 BULK ATOM 5922 H1 TIP3 1675 -24.270 -6.655 20.269 .00 .00 BULK ATOM 5923 H2 TIP3 1675 -25.521 -7.319 19.680 .00 .00 BULK ATOM 5924 OH2 TIP3 1676 -14.102 -4.780 19.247 .00 .00 BULK ATOM 5925 H1 TIP3 1676 -13.455 -5.504 19.298 .00 .00 BULK ATOM 5926 H2 TIP3 1676 -13.784 -4.141 19.901 .00 .00 BULK ATOM 5927 OH2 TIP3 1677 -24.162 14.358 22.904 .00 .00 BULK ATOM 5928 H1 TIP3 1677 -23.438 15.039 22.816 .00 .00 BULK ATOM 5929 H2 TIP3 1677 -24.926 14.741 22.415 .00 .00 BULK ATOM 5930 OH2 TIP3 1678 -6.226 -.603 -19.976 .00 .00 BULK ATOM 5931 H1 TIP3 1678 -7.132 -.405 -19.638 .00 .00 BULK ATOM 5932 H2 TIP3 1678 -6.170 -.117 -20.765 .00 .00 BULK ATOM 5933 OH2 TIP3 1679 -26.075 15.273 -6.462 .00 .00 BULK ATOM 5934 H1 TIP3 1679 -27.058 15.132 -6.508 .00 .00 BULK ATOM 5935 H2 TIP3 1679 -25.793 14.643 -5.777 .00 .00 BULK ATOM 5936 OH2 TIP3 1680 -21.579 11.874 -15.109 .00 .00 BULK ATOM 5937 H1 TIP3 1680 -21.572 12.342 -14.256 .00 .00 BULK ATOM 5938 H2 TIP3 1680 -22.489 12.171 -15.320 .00 .00 BULK ATOM 5939 OH2 TIP3 1681 -17.059 -12.538 -8.498 .00 .00 BULK ATOM 5940 H1 TIP3 1681 -16.802 -13.374 -8.101 .00 .00 BULK ATOM 5941 H2 TIP3 1681 -17.795 -12.283 -7.939 .00 .00 BULK ATOM 5942 OH2 TIP3 1682 -12.057 -17.233 19.313 .00 .00 BULK ATOM 5943 H1 TIP3 1682 -11.600 -17.470 20.131 .00 .00 BULK ATOM 5944 H2 TIP3 1682 -11.396 -16.580 18.905 .00 .00 BULK ATOM 5945 OH2 TIP3 1683 -16.908 -16.191 -21.044 .00 .00 BULK ATOM 5946 H1 TIP3 1683 -16.683 -16.415 -21.977 .00 .00 BULK ATOM 5947 H2 TIP3 1683 -16.074 -16.397 -20.666 .00 .00 BULK ATOM 5948 OH2 TIP3 1684 5.015 -19.902 -15.461 .00 .00 BULK ATOM 5949 H1 TIP3 1684 4.962 -19.094 -14.994 .00 .00 BULK ATOM 5950 H2 TIP3 1684 5.528 -20.439 -14.886 .00 .00 BULK ATOM 5951 OH2 TIP3 1685 -20.999 11.714 20.912 .00 .00 BULK ATOM 5952 H1 TIP3 1685 -20.418 11.503 20.056 .00 .00 BULK ATOM 5953 H2 TIP3 1685 -21.061 12.697 20.833 .00 .00 BULK ATOM 5954 OH2 TIP3 1686 -1.875 20.129 -14.587 .00 .00 BULK ATOM 5955 H1 TIP3 1686 -2.193 19.281 -14.807 .00 .00 BULK ATOM 5956 H2 TIP3 1686 -1.575 20.492 -15.488 .00 .00 BULK ATOM 5957 OH2 TIP3 1687 25.054 -22.083 -9.778 .00 .00 BULK ATOM 5958 H1 TIP3 1687 25.538 -22.855 -10.208 .00 .00 BULK ATOM 5959 H2 TIP3 1687 25.417 -21.315 -10.225 .00 .00 BULK ATOM 5960 OH2 TIP3 1688 9.751 -12.774 23.057 .00 .00 BULK ATOM 5961 H1 TIP3 1688 9.989 -13.384 22.332 .00 .00 BULK ATOM 5962 H2 TIP3 1688 10.272 -12.019 22.883 .00 .00 BULK ATOM 5963 OH2 TIP3 1689 -14.032 2.642 -11.197 .00 .00 BULK ATOM 5964 H1 TIP3 1689 -13.964 3.609 -11.137 .00 .00 BULK ATOM 5965 H2 TIP3 1689 -14.071 2.628 -12.182 .00 .00 BULK ATOM 5966 OH2 TIP3 1690 -7.268 -11.988 7.455 .00 .00 BULK ATOM 5967 H1 TIP3 1690 -7.477 -11.127 7.742 .00 .00 BULK ATOM 5968 H2 TIP3 1690 -6.935 -12.355 8.330 .00 .00 BULK ATOM 5969 OH2 TIP3 1691 26.353 5.578 -22.490 .00 .00 BULK ATOM 5970 H1 TIP3 1691 26.488 6.612 -22.527 .00 .00 BULK ATOM 5971 H2 TIP3 1691 25.955 5.414 -23.365 .00 .00 BULK ATOM 5972 OH2 TIP3 1692 -29.687 12.037 20.334 .00 .00 BULK ATOM 5973 H1 TIP3 1692 -30.256 11.491 19.789 .00 .00 BULK ATOM 5974 H2 TIP3 1692 -30.363 12.427 20.981 .00 .00 BULK ATOM 5975 OH2 TIP3 1693 -28.752 -18.873 13.524 .00 .00 BULK ATOM 5976 H1 TIP3 1693 -28.163 -19.604 13.629 .00 .00 BULK ATOM 5977 H2 TIP3 1693 -29.584 -19.406 13.712 .00 .00 BULK ATOM 5978 OH2 TIP3 1694 .167 -14.848 -16.526 .00 .00 BULK ATOM 5979 H1 TIP3 1694 .411 -14.353 -15.739 .00 .00 BULK ATOM 5980 H2 TIP3 1694 .947 -15.391 -16.754 .00 .00 BULK ATOM 5981 OH2 TIP3 1695 22.683 -11.611 12.528 .00 .00 BULK ATOM 5982 H1 TIP3 1695 23.653 -11.478 12.532 .00 .00 BULK ATOM 5983 H2 TIP3 1695 22.528 -11.762 13.454 .00 .00 BULK ATOM 5984 OH2 TIP3 1696 -25.979 11.338 -20.022 .00 .00 BULK ATOM 5985 H1 TIP3 1696 -25.468 11.644 -20.750 .00 .00 BULK ATOM 5986 H2 TIP3 1696 -26.110 10.352 -20.187 .00 .00 BULK ATOM 5987 OH2 TIP3 1697 29.627 -5.354 8.712 .00 .00 BULK ATOM 5988 H1 TIP3 1697 29.636 -6.210 9.124 .00 .00 BULK ATOM 5989 H2 TIP3 1697 29.964 -5.593 7.829 .00 .00 BULK ATOM 5990 OH2 TIP3 1698 -7.573 -20.587 -7.694 .00 .00 BULK ATOM 5991 H1 TIP3 1698 -7.079 -20.378 -8.524 .00 .00 BULK ATOM 5992 H2 TIP3 1698 -7.128 -19.947 -7.065 .00 .00 BULK ATOM 5993 OH2 TIP3 1699 -15.792 15.944 -14.724 .00 .00 BULK ATOM 5994 H1 TIP3 1699 -15.160 15.357 -15.157 .00 .00 BULK ATOM 5995 H2 TIP3 1699 -16.636 15.558 -15.033 .00 .00 BULK ATOM 5996 OH2 TIP3 1700 -8.403 -4.303 -20.894 .00 .00 BULK ATOM 5997 H1 TIP3 1700 -9.275 -4.596 -20.662 .00 .00 BULK ATOM 5998 H2 TIP3 1700 -8.537 -3.309 -20.951 .00 .00 BULK ATOM 5999 OH2 TIP3 1701 1.946 5.721 15.126 .00 .00 BULK ATOM 6000 H1 TIP3 1701 2.058 6.637 15.429 .00 .00 BULK ATOM 6001 H2 TIP3 1701 2.090 5.810 14.127 .00 .00 BULK ATOM 6002 OH2 TIP3 1702 28.916 11.780 -12.298 .00 .00 BULK ATOM 6003 H1 TIP3 1702 28.998 11.023 -12.881 .00 .00 BULK ATOM 6004 H2 TIP3 1702 29.825 11.973 -12.134 .00 .00 BULK ATOM 6005 OH2 TIP3 1703 -25.921 11.880 14.297 .00 .00 BULK ATOM 6006 H1 TIP3 1703 -25.259 12.436 13.805 .00 .00 BULK ATOM 6007 H2 TIP3 1703 -26.717 12.327 13.983 .00 .00 BULK ATOM 6008 OH2 TIP3 1704 -5.166 -8.754 -22.153 .00 .00 BULK ATOM 6009 H1 TIP3 1704 -4.286 -9.161 -22.169 .00 .00 BULK ATOM 6010 H2 TIP3 1704 -5.307 -8.629 -23.125 .00 .00 BULK ATOM 6011 OH2 TIP3 1705 -25.678 13.843 -4.053 .00 .00 BULK ATOM 6012 H1 TIP3 1705 -26.451 13.563 -3.533 .00 .00 BULK ATOM 6013 H2 TIP3 1705 -25.195 12.979 -4.090 .00 .00 BULK ATOM 6014 OH2 TIP3 1706 2.573 19.178 -4.810 .00 .00 BULK ATOM 6015 H1 TIP3 1706 3.089 19.212 -3.945 .00 .00 BULK ATOM 6016 H2 TIP3 1706 2.382 20.105 -4.944 .00 .00 BULK ATOM 6017 OH2 TIP3 1707 10.396 22.678 .974 .00 .00 BULK ATOM 6018 H1 TIP3 1707 10.977 21.928 .895 .00 .00 BULK ATOM 6019 H2 TIP3 1707 11.077 23.276 .668 .00 .00 BULK ATOM 6020 OH2 TIP3 1708 -26.371 2.873 21.243 .00 .00 BULK ATOM 6021 H1 TIP3 1708 -26.455 1.898 21.161 .00 .00 BULK ATOM 6022 H2 TIP3 1708 -26.521 2.976 22.197 .00 .00 BULK ATOM 6023 OH2 TIP3 1709 -29.172 3.143 -19.597 .00 .00 BULK ATOM 6024 H1 TIP3 1709 -29.188 3.593 -20.419 .00 .00 BULK ATOM 6025 H2 TIP3 1709 -30.148 3.183 -19.404 .00 .00 BULK ATOM 6026 OH2 TIP3 1710 15.301 -14.984 19.229 .00 .00 BULK ATOM 6027 H1 TIP3 1710 15.950 -15.699 18.927 .00 .00 BULK ATOM 6028 H2 TIP3 1710 15.294 -15.140 20.143 .00 .00 BULK ATOM 6029 OH2 TIP3 1711 -26.532 6.991 -11.682 .00 .00 BULK ATOM 6030 H1 TIP3 1711 -25.756 7.266 -12.227 .00 .00 BULK ATOM 6031 H2 TIP3 1711 -26.146 6.230 -11.188 .00 .00 BULK ATOM 6032 OH2 TIP3 1712 -5.377 -17.796 16.235 .00 .00 BULK ATOM 6033 H1 TIP3 1712 -5.969 -17.089 15.906 .00 .00 BULK ATOM 6034 H2 TIP3 1712 -5.464 -18.510 15.623 .00 .00 BULK ATOM 6035 OH2 TIP3 1713 20.513 -14.670 -11.085 .00 .00 BULK ATOM 6036 H1 TIP3 1713 19.711 -15.208 -11.104 .00 .00 BULK ATOM 6037 H2 TIP3 1713 20.375 -14.233 -10.272 .00 .00 BULK ATOM 6038 OH2 TIP3 1714 22.545 -13.761 -5.342 .00 .00 BULK ATOM 6039 H1 TIP3 1714 22.741 -13.219 -6.111 .00 .00 BULK ATOM 6040 H2 TIP3 1714 22.123 -14.516 -5.754 .00 .00 BULK ATOM 6041 OH2 TIP3 1715 16.440 -12.843 -14.056 .00 .00 BULK ATOM 6042 H1 TIP3 1715 16.072 -11.959 -13.947 .00 .00 BULK ATOM 6043 H2 TIP3 1715 16.641 -13.052 -13.159 .00 .00 BULK ATOM 6044 OH2 TIP3 1716 24.687 21.343 -20.795 .00 .00 BULK ATOM 6045 H1 TIP3 1716 23.837 21.069 -21.134 .00 .00 BULK ATOM 6046 H2 TIP3 1716 25.133 20.479 -20.983 .00 .00 BULK ATOM 6047 OH2 TIP3 1717 20.006 -14.637 -18.613 .00 .00 BULK ATOM 6048 H1 TIP3 1717 19.725 -15.040 -17.788 .00 .00 BULK ATOM 6049 H2 TIP3 1717 19.127 -14.637 -19.043 .00 .00 BULK ATOM 6050 OH2 TIP3 1718 -27.924 7.061 3.004 .00 .00 BULK ATOM 6051 H1 TIP3 1718 -27.502 6.414 3.609 .00 .00 BULK ATOM 6052 H2 TIP3 1718 -27.163 7.622 2.693 .00 .00 BULK ATOM 6053 OH2 TIP3 1719 21.843 -6.493 10.976 .00 .00 BULK ATOM 6054 H1 TIP3 1719 21.397 -7.294 11.274 .00 .00 BULK ATOM 6055 H2 TIP3 1719 22.525 -7.025 10.643 .00 .00 BULK ATOM 6056 OH2 TIP3 1720 -28.821 -3.805 -17.756 .00 .00 BULK ATOM 6057 H1 TIP3 1720 -28.689 -2.919 -18.092 .00 .00 BULK ATOM 6058 H2 TIP3 1720 -29.825 -3.915 -17.788 .00 .00 BULK ATOM 6059 OH2 TIP3 1721 -29.526 -6.956 -22.548 .00 .00 BULK ATOM 6060 H1 TIP3 1721 -28.652 -7.409 -22.309 .00 .00 BULK ATOM 6061 H2 TIP3 1721 -29.648 -7.247 -23.488 .00 .00 BULK ATOM 6062 OH2 TIP3 1722 -26.447 -22.988 21.106 .00 .00 BULK ATOM 6063 H1 TIP3 1722 -26.338 -22.524 20.196 .00 .00 BULK ATOM 6064 H2 TIP3 1722 -26.470 -23.902 20.802 .00 .00 BULK ATOM 6065 OH2 TIP3 1723 -28.242 23.124 -8.896 .00 .00 BULK ATOM 6066 H1 TIP3 1723 -27.655 22.431 -9.321 .00 .00 BULK ATOM 6067 H2 TIP3 1723 -27.633 23.860 -8.658 .00 .00 BULK ATOM 6068 OH2 TIP3 1724 27.857 8.169 -20.160 .00 .00 BULK ATOM 6069 H1 TIP3 1724 27.055 8.630 -20.361 .00 .00 BULK ATOM 6070 H2 TIP3 1724 28.409 8.904 -19.739 .00 .00 BULK ATOM 6071 OH2 TIP3 1725 -15.430 14.740 -19.068 .00 .00 BULK ATOM 6072 H1 TIP3 1725 -16.357 14.955 -18.769 .00 .00 BULK ATOM 6073 H2 TIP3 1725 -15.577 13.891 -19.405 .00 .00 BULK ATOM 6074 OH2 TIP3 1726 -29.261 9.720 -9.300 .00 .00 BULK ATOM 6075 H1 TIP3 1726 -29.824 9.293 -10.029 .00 .00 BULK ATOM 6076 H2 TIP3 1726 -28.772 10.376 -9.811 .00 .00 BULK ATOM 6077 OH2 TIP3 1727 -24.574 -3.828 21.872 .00 .00 BULK ATOM 6078 H1 TIP3 1727 -24.515 -3.909 22.826 .00 .00 BULK ATOM 6079 H2 TIP3 1727 -24.022 -4.554 21.559 .00 .00 BULK ATOM 6080 OH2 TIP3 1728 -15.700 -18.677 14.669 .00 .00 BULK ATOM 6081 H1 TIP3 1728 -16.492 -18.525 15.211 .00 .00 BULK ATOM 6082 H2 TIP3 1728 -15.066 -18.874 15.329 .00 .00 BULK ATOM 6083 OH2 TIP3 1729 16.617 -8.862 -13.078 .00 .00 BULK ATOM 6084 H1 TIP3 1729 17.029 -8.371 -13.790 .00 .00 BULK ATOM 6085 H2 TIP3 1729 17.424 -9.024 -12.626 .00 .00 BULK ATOM 6086 OH2 TIP3 1730 -18.529 -13.453 22.623 .00 .00 BULK ATOM 6087 H1 TIP3 1730 -19.468 -13.719 22.541 .00 .00 BULK ATOM 6088 H2 TIP3 1730 -18.455 -13.030 21.749 .00 .00 BULK ATOM 6089 OH2 TIP3 1731 24.733 1.998 21.028 .00 .00 BULK ATOM 6090 H1 TIP3 1731 24.189 2.489 20.332 .00 .00 BULK ATOM 6091 H2 TIP3 1731 24.196 1.249 21.194 .00 .00 BULK ATOM 6092 OH2 TIP3 1732 -23.129 -.415 -9.630 .00 .00 BULK ATOM 6093 H1 TIP3 1732 -22.375 -.923 -9.142 .00 .00 BULK ATOM 6094 H2 TIP3 1732 -22.666 -.222 -10.507 .00 .00 BULK ATOM 6095 OH2 TIP3 1733 -26.950 12.361 21.391 .00 .00 BULK ATOM 6096 H1 TIP3 1733 -27.886 12.296 21.052 .00 .00 BULK ATOM 6097 H2 TIP3 1733 -27.102 11.967 22.270 .00 .00 BULK ATOM 6098 OH2 TIP3 1734 -18.101 6.423 21.349 .00 .00 BULK ATOM 6099 H1 TIP3 1734 -18.962 6.413 21.761 .00 .00 BULK ATOM 6100 H2 TIP3 1734 -17.599 6.328 22.163 .00 .00 BULK ATOM 6101 OH2 TIP3 1735 26.598 -.655 -14.187 .00 .00 BULK ATOM 6102 H1 TIP3 1735 26.228 -.227 -14.984 .00 .00 BULK ATOM 6103 H2 TIP3 1735 25.827 -.530 -13.601 .00 .00 BULK ATOM 6104 OH2 TIP3 1736 23.710 6.751 -17.881 .00 .00 BULK ATOM 6105 H1 TIP3 1736 23.738 6.011 -17.268 .00 .00 BULK ATOM 6106 H2 TIP3 1736 23.893 6.360 -18.778 .00 .00 BULK ATOM 6107 OH2 TIP3 1737 11.356 6.539 -14.598 .00 .00 BULK ATOM 6108 H1 TIP3 1737 10.871 7.023 -13.837 .00 .00 BULK ATOM 6109 H2 TIP3 1737 10.768 5.679 -14.632 .00 .00 BULK ATOM 6110 OH2 TIP3 1738 10.720 9.016 7.378 .00 .00 BULK ATOM 6111 H1 TIP3 1738 11.210 9.580 6.761 .00 .00 BULK ATOM 6112 H2 TIP3 1738 9.955 8.693 6.823 .00 .00 BULK ATOM 6113 OH2 TIP3 1739 -28.061 22.306 -22.056 .00 .00 BULK ATOM 6114 H1 TIP3 1739 -28.715 21.926 -22.735 .00 .00 BULK ATOM 6115 H2 TIP3 1739 -28.528 22.012 -21.271 .00 .00 BULK ATOM 6116 OH2 TIP3 1740 17.093 18.884 -14.625 .00 .00 BULK ATOM 6117 H1 TIP3 1740 17.153 19.793 -14.249 .00 .00 BULK ATOM 6118 H2 TIP3 1740 17.081 19.118 -15.626 .00 .00 BULK ATOM 6119 OH2 TIP3 1741 -9.309 -7.676 -8.048 .00 .00 BULK ATOM 6120 H1 TIP3 1741 -9.275 -7.708 -9.001 .00 .00 BULK ATOM 6121 H2 TIP3 1741 -10.265 -7.794 -7.764 .00 .00 BULK ATOM 6122 OH2 TIP3 1742 -29.883 -6.333 4.479 .00 .00 BULK ATOM 6123 H1 TIP3 1742 -30.113 -6.590 5.419 .00 .00 BULK ATOM 6124 H2 TIP3 1742 -30.060 -5.384 4.519 .00 .00 BULK ATOM 6125 OH2 TIP3 1743 24.196 -2.778 -14.399 .00 .00 BULK ATOM 6126 H1 TIP3 1743 24.131 -3.620 -13.889 .00 .00 BULK ATOM 6127 H2 TIP3 1743 23.198 -2.714 -14.500 .00 .00 BULK ATOM 6128 OH2 TIP3 1744 12.148 -15.158 -15.926 .00 .00 BULK ATOM 6129 H1 TIP3 1744 13.066 -15.084 -15.590 .00 .00 BULK ATOM 6130 H2 TIP3 1744 11.737 -14.284 -15.788 .00 .00 BULK ATOM 6131 OH2 TIP3 1745 -16.211 1.108 7.775 .00 .00 BULK ATOM 6132 H1 TIP3 1745 -17.055 1.626 7.968 .00 .00 BULK ATOM 6133 H2 TIP3 1745 -16.167 .359 8.410 .00 .00 BULK ATOM 6134 OH2 TIP3 1746 -24.890 -12.374 -19.676 .00 .00 BULK ATOM 6135 H1 TIP3 1746 -24.448 -12.817 -18.908 .00 .00 BULK ATOM 6136 H2 TIP3 1746 -24.352 -11.640 -19.919 .00 .00 BULK ATOM 6137 OH2 TIP3 1747 -24.969 -13.225 6.488 .00 .00 BULK ATOM 6138 H1 TIP3 1747 -25.548 -13.886 6.933 .00 .00 BULK ATOM 6139 H2 TIP3 1747 -25.469 -13.168 5.609 .00 .00 BULK ATOM 6140 OH2 TIP3 1748 4.301 -5.753 -13.243 .00 .00 BULK ATOM 6141 H1 TIP3 1748 4.176 -5.468 -14.173 .00 .00 BULK ATOM 6142 H2 TIP3 1748 3.354 -5.970 -13.023 .00 .00 BULK ATOM 6143 OH2 TIP3 1749 -21.607 -20.450 22.841 .00 .00 BULK ATOM 6144 H1 TIP3 1749 -22.376 -21.009 22.503 .00 .00 BULK ATOM 6145 H2 TIP3 1749 -20.790 -20.870 22.738 .00 .00 BULK ATOM 6146 OH2 TIP3 1750 28.659 -14.451 -11.790 .00 .00 BULK ATOM 6147 H1 TIP3 1750 28.599 -14.750 -12.675 .00 .00 BULK ATOM 6148 H2 TIP3 1750 28.905 -13.542 -12.033 .00 .00 BULK ATOM 6149 OH2 TIP3 1751 23.597 -.449 -16.075 .00 .00 BULK ATOM 6150 H1 TIP3 1751 24.017 -1.206 -15.574 .00 .00 BULK ATOM 6151 H2 TIP3 1751 22.771 -.938 -16.402 .00 .00 BULK ATOM 6152 OH2 TIP3 1752 19.717 -5.797 -13.204 .00 .00 BULK ATOM 6153 H1 TIP3 1752 19.343 -6.520 -13.678 .00 .00 BULK ATOM 6154 H2 TIP3 1752 20.223 -5.455 -13.931 .00 .00 BULK ATOM 6155 OH2 TIP3 1753 -9.448 2.820 -18.278 .00 .00 BULK ATOM 6156 H1 TIP3 1753 -10.201 3.342 -18.563 .00 .00 BULK ATOM 6157 H2 TIP3 1753 -9.163 2.438 -19.135 .00 .00 BULK ATOM 6158 OH2 TIP3 1754 -.606 -12.513 -3.456 .00 .00 BULK ATOM 6159 H1 TIP3 1754 .310 -12.159 -3.280 .00 .00 BULK ATOM 6160 H2 TIP3 1754 -.378 -13.435 -3.534 .00 .00 BULK ATOM 6161 OH2 TIP3 1755 -10.009 -18.019 21.680 .00 .00 BULK ATOM 6162 H1 TIP3 1755 -9.542 -18.776 21.297 .00 .00 BULK ATOM 6163 H2 TIP3 1755 -9.267 -17.373 21.672 .00 .00 BULK ATOM 6164 OH2 TIP3 1756 -27.922 -2.064 -10.769 .00 .00 BULK ATOM 6165 H1 TIP3 1756 -26.951 -2.069 -10.581 .00 .00 BULK ATOM 6166 H2 TIP3 1756 -27.954 -1.533 -11.601 .00 .00 BULK ATOM 6167 OH2 TIP3 1757 -23.577 -12.875 -17.210 .00 .00 BULK ATOM 6168 H1 TIP3 1757 -23.498 -13.759 -16.763 .00 .00 BULK ATOM 6169 H2 TIP3 1757 -22.622 -12.837 -17.444 .00 .00 BULK ATOM 6170 OH2 TIP3 1758 -27.233 -5.877 -20.394 .00 .00 BULK ATOM 6171 H1 TIP3 1758 -27.016 -6.699 -20.809 .00 .00 BULK ATOM 6172 H2 TIP3 1758 -27.119 -5.291 -21.172 .00 .00 BULK ATOM 6173 OH2 TIP3 1759 -27.954 -7.492 6.436 .00 .00 BULK ATOM 6174 H1 TIP3 1759 -27.762 -7.285 7.398 .00 .00 BULK ATOM 6175 H2 TIP3 1759 -27.961 -6.607 6.059 .00 .00 BULK ATOM 6176 OH2 TIP3 1760 -26.107 .955 -14.488 .00 .00 BULK ATOM 6177 H1 TIP3 1760 -26.227 1.186 -15.413 .00 .00 BULK ATOM 6178 H2 TIP3 1760 -26.092 1.751 -13.915 .00 .00 BULK ATOM 6179 OH2 TIP3 1761 -14.202 10.048 -8.338 .00 .00 BULK ATOM 6180 H1 TIP3 1761 -14.891 9.446 -8.496 .00 .00 BULK ATOM 6181 H2 TIP3 1761 -13.878 10.429 -9.193 .00 .00 BULK ATOM 6182 OH2 TIP3 1762 -18.924 -13.196 -14.594 .00 .00 BULK ATOM 6183 H1 TIP3 1762 -19.769 -12.700 -14.566 .00 .00 BULK ATOM 6184 H2 TIP3 1762 -18.182 -12.549 -14.374 .00 .00 BULK ATOM 6185 OH2 TIP3 1763 -20.665 -16.932 -14.835 .00 .00 BULK ATOM 6186 H1 TIP3 1763 -21.058 -17.223 -15.674 .00 .00 BULK ATOM 6187 H2 TIP3 1763 -21.468 -16.674 -14.277 .00 .00 BULK ATOM 6188 OH2 TIP3 1764 -7.601 -3.528 20.125 .00 .00 BULK ATOM 6189 H1 TIP3 1764 -7.511 -2.882 20.816 .00 .00 BULK ATOM 6190 H2 TIP3 1764 -6.721 -3.920 20.067 .00 .00 BULK ATOM 6191 OH2 TIP3 1765 -9.263 17.174 -11.330 .00 .00 BULK ATOM 6192 H1 TIP3 1765 -9.378 16.891 -12.250 .00 .00 BULK ATOM 6193 H2 TIP3 1765 -9.296 18.151 -11.422 .00 .00 BULK ATOM 6194 OH2 TIP3 1766 -14.022 12.261 15.927 .00 .00 BULK ATOM 6195 H1 TIP3 1766 -14.232 11.508 16.523 .00 .00 BULK ATOM 6196 H2 TIP3 1766 -14.830 12.721 15.962 .00 .00 BULK ATOM 6197 OH2 TIP3 1767 -10.419 -.182 -9.775 .00 .00 BULK ATOM 6198 H1 TIP3 1767 -9.836 -.332 -10.541 .00 .00 BULK ATOM 6199 H2 TIP3 1767 -10.728 .736 -9.775 .00 .00 BULK ATOM 6200 OH2 TIP3 1768 -7.895 -16.566 22.606 .00 .00 BULK ATOM 6201 H1 TIP3 1768 -8.296 -16.381 23.437 .00 .00 BULK ATOM 6202 H2 TIP3 1768 -7.692 -15.644 22.330 .00 .00 BULK ATOM 6203 OH2 TIP3 1769 -27.242 3.059 2.464 .00 .00 BULK ATOM 6204 H1 TIP3 1769 -26.415 3.507 2.199 .00 .00 BULK ATOM 6205 H2 TIP3 1769 -26.927 2.148 2.330 .00 .00 BULK ATOM 6206 OH2 TIP3 1770 -22.402 14.589 5.532 .00 .00 BULK ATOM 6207 H1 TIP3 1770 -23.300 14.517 5.815 .00 .00 BULK ATOM 6208 H2 TIP3 1770 -22.483 15.068 4.653 .00 .00 BULK ATOM 6209 OH2 TIP3 1771 -1.300 16.867 14.674 .00 .00 BULK ATOM 6210 H1 TIP3 1771 -1.320 16.606 13.705 .00 .00 BULK ATOM 6211 H2 TIP3 1771 -1.977 16.242 14.981 .00 .00 BULK ATOM 6212 OH2 TIP3 1772 11.238 9.547 -2.885 .00 .00 BULK ATOM 6213 H1 TIP3 1772 11.609 9.327 -3.748 .00 .00 BULK ATOM 6214 H2 TIP3 1772 12.049 9.443 -2.368 .00 .00 BULK ATOM 6215 OH2 TIP3 1773 22.588 -13.264 -8.344 .00 .00 BULK ATOM 6216 H1 TIP3 1773 21.685 -13.588 -8.333 .00 .00 BULK ATOM 6217 H2 TIP3 1773 22.338 -12.330 -8.297 .00 .00 BULK ATOM 6218 OH2 TIP3 1774 -8.187 5.027 -17.424 .00 .00 BULK ATOM 6219 H1 TIP3 1774 -8.452 5.275 -16.519 .00 .00 BULK ATOM 6220 H2 TIP3 1774 -8.693 4.202 -17.610 .00 .00 BULK ATOM 6221 OH2 TIP3 1775 4.456 -11.415 -4.329 .00 .00 BULK ATOM 6222 H1 TIP3 1775 4.001 -11.340 -5.205 .00 .00 BULK ATOM 6223 H2 TIP3 1775 5.012 -10.650 -4.366 .00 .00 BULK ATOM 6224 OH2 TIP3 1776 -28.647 -11.565 -15.844 .00 .00 BULK ATOM 6225 H1 TIP3 1776 -27.724 -11.502 -15.752 .00 .00 BULK ATOM 6226 H2 TIP3 1776 -28.838 -11.362 -16.803 .00 .00 BULK ATOM 6227 OH2 TIP3 1777 26.449 2.958 13.907 .00 .00 BULK ATOM 6228 H1 TIP3 1777 27.189 3.016 13.341 .00 .00 BULK ATOM 6229 H2 TIP3 1777 26.542 2.057 14.264 .00 .00 BULK ATOM 6230 OH2 TIP3 1778 24.246 10.435 6.746 .00 .00 BULK ATOM 6231 H1 TIP3 1778 24.800 10.621 5.980 .00 .00 BULK ATOM 6232 H2 TIP3 1778 23.852 9.592 6.412 .00 .00 BULK ATOM 6233 OH2 TIP3 1779 -28.701 17.844 -11.609 .00 .00 BULK ATOM 6234 H1 TIP3 1779 -29.677 17.684 -11.368 .00 .00 BULK ATOM 6235 H2 TIP3 1779 -28.693 17.781 -12.589 .00 .00 BULK ATOM 6236 OH2 TIP3 1780 -23.978 -9.989 3.988 .00 .00 BULK ATOM 6237 H1 TIP3 1780 -23.546 -9.806 3.149 .00 .00 BULK ATOM 6238 H2 TIP3 1780 -24.424 -9.169 4.253 .00 .00 BULK ATOM 6239 OH2 TIP3 1781 -12.636 -1.407 -19.895 .00 .00 BULK ATOM 6240 H1 TIP3 1781 -13.546 -1.696 -20.132 .00 .00 BULK ATOM 6241 H2 TIP3 1781 -12.439 -2.035 -19.197 .00 .00 BULK ATOM 6242 OH2 TIP3 1782 -25.843 21.614 -9.364 .00 .00 BULK ATOM 6243 H1 TIP3 1782 -26.443 20.849 -9.479 .00 .00 BULK ATOM 6244 H2 TIP3 1782 -25.399 21.602 -10.242 .00 .00 BULK ATOM 6245 OH2 TIP3 1783 -24.906 -12.415 21.700 .00 .00 BULK ATOM 6246 H1 TIP3 1783 -25.216 -11.776 22.373 .00 .00 BULK ATOM 6247 H2 TIP3 1783 -24.635 -13.158 22.338 .00 .00 BULK ATOM 6248 OH2 TIP3 1784 28.850 19.412 4.971 .00 .00 BULK ATOM 6249 H1 TIP3 1784 27.912 19.204 5.184 .00 .00 BULK ATOM 6250 H2 TIP3 1784 29.193 19.697 5.871 .00 .00 BULK ATOM 6251 OH2 TIP3 1785 -9.270 -9.640 19.817 .00 .00 BULK ATOM 6252 H1 TIP3 1785 -9.803 -10.190 20.364 .00 .00 BULK ATOM 6253 H2 TIP3 1785 -8.547 -10.274 19.549 .00 .00 BULK ATOM 6254 OH2 TIP3 1786 11.996 -22.737 -8.463 .00 .00 BULK ATOM 6255 H1 TIP3 1786 11.729 -23.664 -8.396 .00 .00 BULK ATOM 6256 H2 TIP3 1786 12.620 -22.642 -7.723 .00 .00 BULK ATOM 6257 OH2 TIP3 1787 2.978 12.420 -1.768 .00 .00 BULK ATOM 6258 H1 TIP3 1787 2.622 12.716 -.921 .00 .00 BULK ATOM 6259 H2 TIP3 1787 2.320 12.712 -2.422 .00 .00 BULK ATOM 6260 OH2 TIP3 1788 -30.289 -2.214 -9.530 .00 .00 BULK ATOM 6261 H1 TIP3 1788 -30.196 -1.749 -8.671 .00 .00 BULK ATOM 6262 H2 TIP3 1788 -29.342 -2.254 -9.903 .00 .00 BULK ATOM 6263 OH2 TIP3 1789 20.150 -7.053 -6.715 .00 .00 BULK ATOM 6264 H1 TIP3 1789 19.961 -6.119 -6.920 .00 .00 BULK ATOM 6265 H2 TIP3 1789 19.837 -7.080 -5.752 .00 .00 BULK ATOM 6266 OH2 TIP3 1790 -16.787 8.686 -17.416 .00 .00 BULK ATOM 6267 H1 TIP3 1790 -16.309 9.520 -17.053 .00 .00 BULK ATOM 6268 H2 TIP3 1790 -16.493 8.806 -18.307 .00 .00 BULK ATOM 6269 OH2 TIP3 1791 9.021 -18.470 -14.264 .00 .00 BULK ATOM 6270 H1 TIP3 1791 9.475 -18.106 -14.974 .00 .00 BULK ATOM 6271 H2 TIP3 1791 9.685 -19.021 -13.796 .00 .00 BULK ATOM 6272 OH2 TIP3 1792 28.785 -11.994 .163 .00 .00 BULK ATOM 6273 H1 TIP3 1792 29.619 -12.122 -.388 .00 .00 BULK ATOM 6274 H2 TIP3 1792 28.884 -11.040 .348 .00 .00 BULK ATOM 6275 OH2 TIP3 1793 23.035 -9.035 -10.475 .00 .00 BULK ATOM 6276 H1 TIP3 1793 22.427 -8.337 -10.846 .00 .00 BULK ATOM 6277 H2 TIP3 1793 22.704 -9.759 -11.012 .00 .00 BULK ATOM 6278 OH2 TIP3 1794 -3.572 -22.908 -1.130 .00 .00 BULK ATOM 6279 H1 TIP3 1794 -2.947 -23.603 -.944 .00 .00 BULK ATOM 6280 H2 TIP3 1794 -4.312 -23.082 -.507 .00 .00 BULK ATOM 6281 OH2 TIP3 1795 16.374 -10.728 -7.563 .00 .00 BULK ATOM 6282 H1 TIP3 1795 16.771 -11.384 -8.196 .00 .00 BULK ATOM 6283 H2 TIP3 1795 17.042 -10.768 -6.862 .00 .00 BULK ATOM 6284 OH2 TIP3 1796 26.396 11.390 1.476 .00 .00 BULK ATOM 6285 H1 TIP3 1796 27.097 11.985 1.150 .00 .00 BULK ATOM 6286 H2 TIP3 1796 25.906 11.214 .651 .00 .00 BULK ATOM 6287 OH2 TIP3 1797 28.188 -5.962 -6.481 .00 .00 BULK ATOM 6288 H1 TIP3 1797 27.537 -5.803 -5.823 .00 .00 BULK ATOM 6289 H2 TIP3 1797 28.897 -5.638 -5.983 .00 .00 BULK ATOM 6290 OH2 TIP3 1798 -16.904 8.809 10.696 .00 .00 BULK ATOM 6291 H1 TIP3 1798 -15.936 9.109 10.640 .00 .00 BULK ATOM 6292 H2 TIP3 1798 -16.981 8.512 11.658 .00 .00 BULK ATOM 6293 OH2 TIP3 1799 22.618 .706 18.297 .00 .00 BULK ATOM 6294 H1 TIP3 1799 22.377 -.145 17.990 .00 .00 BULK ATOM 6295 H2 TIP3 1799 22.538 .524 19.248 .00 .00 BULK ATOM 6296 OH2 TIP3 1800 30.192 14.999 22.789 .00 .00 BULK ATOM 6297 H1 TIP3 1800 29.919 15.104 23.686 .00 .00 BULK ATOM 6298 H2 TIP3 1800 29.563 14.336 22.425 .00 .00 BULK ATOM 6299 OH2 TIP3 1801 -12.780 18.668 -12.172 .00 .00 BULK ATOM 6300 H1 TIP3 1801 -12.319 18.936 -12.973 .00 .00 BULK ATOM 6301 H2 TIP3 1801 -12.784 17.704 -12.389 .00 .00 BULK ATOM 6302 OH2 TIP3 1802 4.995 -22.020 -1.414 .00 .00 BULK ATOM 6303 H1 TIP3 1802 5.802 -21.584 -1.044 .00 .00 BULK ATOM 6304 H2 TIP3 1802 4.760 -21.318 -2.094 .00 .00 BULK ATOM 6305 OH2 TIP3 1803 -18.751 -16.583 -18.703 .00 .00 BULK ATOM 6306 H1 TIP3 1803 -18.480 -15.996 -18.002 .00 .00 BULK ATOM 6307 H2 TIP3 1803 -18.587 -16.109 -19.511 .00 .00 BULK ATOM 6308 OH2 TIP3 1804 28.252 4.252 -.919 .00 .00 BULK ATOM 6309 H1 TIP3 1804 28.851 4.549 -.235 .00 .00 BULK ATOM 6310 H2 TIP3 1804 28.392 3.273 -.846 .00 .00 BULK ATOM 6311 OH2 TIP3 1805 -18.572 12.918 11.134 .00 .00 BULK ATOM 6312 H1 TIP3 1805 -17.630 12.983 11.316 .00 .00 BULK ATOM 6313 H2 TIP3 1805 -18.626 13.523 10.414 .00 .00 BULK ATOM 6314 OH2 TIP3 1806 7.012 7.220 -13.426 .00 .00 BULK ATOM 6315 H1 TIP3 1806 6.675 8.154 -13.637 .00 .00 BULK ATOM 6316 H2 TIP3 1806 6.306 6.850 -12.886 .00 .00 BULK ATOM 6317 OH2 TIP3 1807 19.744 -23.553 -5.342 .00 .00 BULK ATOM 6318 H1 TIP3 1807 19.191 -23.652 -6.050 .00 .00 BULK ATOM 6319 H2 TIP3 1807 20.483 -23.192 -5.807 .00 .00 BULK ATOM 6320 OH2 TIP3 1808 2.024 -20.813 7.606 .00 .00 BULK ATOM 6321 H1 TIP3 1808 3.039 -20.860 7.618 .00 .00 BULK ATOM 6322 H2 TIP3 1808 1.797 -21.628 8.053 .00 .00 BULK ATOM 6323 OH2 TIP3 1809 16.141 -15.583 -9.688 .00 .00 BULK ATOM 6324 H1 TIP3 1809 15.418 -16.214 -9.576 .00 .00 BULK ATOM 6325 H2 TIP3 1809 15.923 -14.938 -8.982 .00 .00 BULK ATOM 6326 OH2 TIP3 1810 14.942 21.323 -2.989 .00 .00 BULK ATOM 6327 H1 TIP3 1810 14.334 20.653 -2.568 .00 .00 BULK ATOM 6328 H2 TIP3 1810 15.830 21.038 -2.642 .00 .00 BULK ATOM 6329 OH2 TIP3 1811 -27.603 -6.543 9.326 .00 .00 BULK ATOM 6330 H1 TIP3 1811 -28.248 -6.360 10.025 .00 .00 BULK ATOM 6331 H2 TIP3 1811 -27.480 -5.628 9.005 .00 .00 BULK ATOM 6332 OH2 TIP3 1812 7.978 -17.953 -8.352 .00 .00 BULK ATOM 6333 H1 TIP3 1812 7.392 -18.296 -7.635 .00 .00 BULK ATOM 6334 H2 TIP3 1812 7.776 -16.969 -8.232 .00 .00 BULK ATOM 6335 OH2 TIP3 1813 11.443 7.006 -7.898 .00 .00 BULK ATOM 6336 H1 TIP3 1813 11.565 7.117 -6.963 .00 .00 BULK ATOM 6337 H2 TIP3 1813 11.934 6.167 -8.025 .00 .00 BULK ATOM 6338 OH2 TIP3 1814 13.645 -19.777 10.226 .00 .00 BULK ATOM 6339 H1 TIP3 1814 13.009 -20.392 9.823 .00 .00 BULK ATOM 6340 H2 TIP3 1814 13.479 -18.978 9.629 .00 .00 BULK ATOM 6341 OH2 TIP3 1815 -7.475 14.002 -8.793 .00 .00 BULK ATOM 6342 H1 TIP3 1815 -8.209 14.003 -8.160 .00 .00 BULK ATOM 6343 H2 TIP3 1815 -7.146 14.860 -8.647 .00 .00 BULK ATOM 6344 OH2 TIP3 1816 -18.645 16.899 11.204 .00 .00 BULK ATOM 6345 H1 TIP3 1816 -18.157 17.229 10.444 .00 .00 BULK ATOM 6346 H2 TIP3 1816 -18.864 15.957 10.991 .00 .00 BULK ATOM 6347 OH2 TIP3 1817 22.880 12.062 16.220 .00 .00 BULK ATOM 6348 H1 TIP3 1817 22.996 12.402 15.304 .00 .00 BULK ATOM 6349 H2 TIP3 1817 22.743 12.935 16.698 .00 .00 BULK ATOM 6350 OH2 TIP3 1818 15.860 16.882 -18.206 .00 .00 BULK ATOM 6351 H1 TIP3 1818 16.518 16.185 -18.078 .00 .00 BULK ATOM 6352 H2 TIP3 1818 15.573 16.844 -19.118 .00 .00 BULK ATOM 6353 OH2 TIP3 1819 16.336 -20.737 -2.361 .00 .00 BULK ATOM 6354 H1 TIP3 1819 16.390 -19.797 -2.566 .00 .00 BULK ATOM 6355 H2 TIP3 1819 17.109 -20.972 -2.961 .00 .00 BULK ATOM 6356 OH2 TIP3 1820 -14.290 8.007 15.441 .00 .00 BULK ATOM 6357 H1 TIP3 1820 -14.153 7.160 15.941 .00 .00 BULK ATOM 6358 H2 TIP3 1820 -14.449 7.771 14.525 .00 .00 BULK ATOM 6359 OH2 TIP3 1821 23.835 8.471 4.886 .00 .00 BULK ATOM 6360 H1 TIP3 1821 23.560 8.996 4.121 .00 .00 BULK ATOM 6361 H2 TIP3 1821 24.699 8.134 4.630 .00 .00 BULK ATOM 6362 OH2 TIP3 1822 28.920 -4.723 -8.767 .00 .00 BULK ATOM 6363 H1 TIP3 1822 28.476 -4.946 -7.909 .00 .00 BULK ATOM 6364 H2 TIP3 1822 28.894 -3.747 -8.851 .00 .00 BULK ATOM 6365 OH2 TIP3 1823 18.973 -7.266 11.837 .00 .00 BULK ATOM 6366 H1 TIP3 1823 19.281 -6.457 12.293 .00 .00 BULK ATOM 6367 H2 TIP3 1823 19.697 -7.876 12.109 .00 .00 BULK ATOM 6368 OH2 TIP3 1824 24.198 9.889 -15.105 .00 .00 BULK ATOM 6369 H1 TIP3 1824 24.453 10.779 -14.850 .00 .00 BULK ATOM 6370 H2 TIP3 1824 24.018 9.987 -16.125 .00 .00 BULK ATOM 6371 OH2 TIP3 1825 -22.588 -21.257 -4.038 .00 .00 BULK ATOM 6372 H1 TIP3 1825 -21.948 -20.855 -4.647 .00 .00 BULK ATOM 6373 H2 TIP3 1825 -22.011 -21.463 -3.291 .00 .00 BULK ATOM 6374 OH2 TIP3 1826 23.153 10.500 19.000 .00 .00 BULK ATOM 6375 H1 TIP3 1826 22.617 9.724 18.865 .00 .00 BULK ATOM 6376 H2 TIP3 1826 22.713 11.279 18.838 .00 .00 BULK ATOM 6377 OH2 TIP3 1827 -11.831 -15.809 -16.240 .00 .00 BULK ATOM 6378 H1 TIP3 1827 -11.935 -16.281 -15.405 .00 .00 BULK ATOM 6379 H2 TIP3 1827 -12.740 -15.495 -16.328 .00 .00 BULK ATOM 6380 OH2 TIP3 1828 24.497 -15.202 6.569 .00 .00 BULK ATOM 6381 H1 TIP3 1828 24.226 -14.454 7.093 .00 .00 BULK ATOM 6382 H2 TIP3 1828 23.606 -15.539 6.334 .00 .00 BULK ATOM 6383 OH2 TIP3 1829 -27.941 -17.549 18.033 .00 .00 BULK ATOM 6384 H1 TIP3 1829 -27.518 -18.465 17.992 .00 .00 BULK ATOM 6385 H2 TIP3 1829 -27.253 -17.039 17.545 .00 .00 BULK ATOM 6386 OH2 TIP3 1830 5.344 -.147 1.333 .00 .00 BULK ATOM 6387 H1 TIP3 1830 5.094 -.931 .821 .00 .00 BULK ATOM 6388 H2 TIP3 1830 6.293 -.033 1.221 .00 .00 BULK ATOM 6389 OH2 TIP3 1831 -17.437 8.260 16.123 .00 .00 BULK ATOM 6390 H1 TIP3 1831 -17.292 8.859 15.362 .00 .00 BULK ATOM 6391 H2 TIP3 1831 -17.816 7.536 15.646 .00 .00 BULK ATOM 6392 OH2 TIP3 1832 19.942 -2.998 2.113 .00 .00 BULK ATOM 6393 H1 TIP3 1832 20.311 -3.803 2.468 .00 .00 BULK ATOM 6394 H2 TIP3 1832 20.779 -2.559 1.925 .00 .00 BULK ATOM 6395 OH2 TIP3 1833 9.355 14.366 -8.596 .00 .00 BULK ATOM 6396 H1 TIP3 1833 9.929 13.662 -8.945 .00 .00 BULK ATOM 6397 H2 TIP3 1833 8.604 13.878 -8.241 .00 .00 BULK ATOM 6398 OH2 TIP3 1834 -22.883 15.320 3.018 .00 .00 BULK ATOM 6399 H1 TIP3 1834 -22.575 15.879 2.236 .00 .00 BULK ATOM 6400 H2 TIP3 1834 -23.823 15.714 3.117 .00 .00 BULK ATOM 6401 OH2 TIP3 1835 24.151 -11.064 -1.787 .00 .00 BULK ATOM 6402 H1 TIP3 1835 24.191 -11.856 -2.416 .00 .00 BULK ATOM 6403 H2 TIP3 1835 24.910 -11.281 -1.253 .00 .00 BULK ATOM 6404 OH2 TIP3 1836 23.248 8.864 1.696 .00 .00 BULK ATOM 6405 H1 TIP3 1836 22.514 8.919 1.007 .00 .00 BULK ATOM 6406 H2 TIP3 1836 23.433 7.909 1.807 .00 .00 BULK ATOM 6407 OH2 TIP3 1837 14.646 -14.891 -14.783 .00 .00 BULK ATOM 6408 H1 TIP3 1837 15.055 -14.092 -14.546 .00 .00 BULK ATOM 6409 H2 TIP3 1837 15.388 -15.530 -14.661 .00 .00 BULK ATOM 6410 OH2 TIP3 1838 -25.287 13.413 17.757 .00 .00 BULK ATOM 6411 H1 TIP3 1838 -24.906 13.186 18.626 .00 .00 BULK ATOM 6412 H2 TIP3 1838 -26.096 13.860 18.028 .00 .00 BULK ATOM 6413 OH2 TIP3 1839 26.120 -10.777 -5.057 .00 .00 BULK ATOM 6414 H1 TIP3 1839 26.029 -11.423 -5.759 .00 .00 BULK ATOM 6415 H2 TIP3 1839 26.475 -10.064 -5.631 .00 .00 BULK ATOM 6416 OH2 TIP3 1840 -26.777 -2.823 -5.624 .00 .00 BULK ATOM 6417 H1 TIP3 1840 -27.257 -3.670 -5.675 .00 .00 BULK ATOM 6418 H2 TIP3 1840 -27.300 -2.280 -6.271 .00 .00 BULK ATOM 6419 OH2 TIP3 1841 -16.119 17.027 8.324 .00 .00 BULK ATOM 6420 H1 TIP3 1841 -15.539 16.768 7.580 .00 .00 BULK ATOM 6421 H2 TIP3 1841 -16.974 16.911 7.858 .00 .00 BULK ATOM 6422 OH2 TIP3 1842 8.910 -12.980 -16.779 .00 .00 BULK ATOM 6423 H1 TIP3 1842 8.346 -13.663 -17.226 .00 .00 BULK ATOM 6424 H2 TIP3 1842 8.375 -12.757 -15.996 .00 .00 BULK ATOM 6425 OH2 TIP3 1843 26.257 .243 -6.475 .00 .00 BULK ATOM 6426 H1 TIP3 1843 27.111 .708 -6.337 .00 .00 BULK ATOM 6427 H2 TIP3 1843 26.550 -.562 -6.978 .00 .00 BULK ATOM 6428 OH2 TIP3 1844 -29.145 1.426 -4.072 .00 .00 BULK ATOM 6429 H1 TIP3 1844 -29.602 .610 -3.792 .00 .00 BULK ATOM 6430 H2 TIP3 1844 -29.945 2.008 -4.170 .00 .00 BULK ATOM 6431 OH2 TIP3 1845 -23.886 -17.954 -6.495 .00 .00 BULK ATOM 6432 H1 TIP3 1845 -23.568 -18.014 -5.612 .00 .00 BULK ATOM 6433 H2 TIP3 1845 -24.732 -18.417 -6.324 .00 .00 BULK ATOM 6434 OH2 TIP3 1846 .619 -12.913 -7.186 .00 .00 BULK ATOM 6435 H1 TIP3 1846 .833 -12.094 -7.660 .00 .00 BULK ATOM 6436 H2 TIP3 1846 1.418 -13.127 -6.658 .00 .00 BULK ATOM 6437 OH2 TIP3 1847 29.555 -10.416 6.450 .00 .00 BULK ATOM 6438 H1 TIP3 1847 29.629 -10.546 7.425 .00 .00 BULK ATOM 6439 H2 TIP3 1847 28.819 -11.096 6.399 .00 .00 BULK ATOM 6440 OH2 TIP3 1848 19.837 5.453 -5.329 .00 .00 BULK ATOM 6441 H1 TIP3 1848 19.714 6.445 -5.462 .00 .00 BULK ATOM 6442 H2 TIP3 1848 20.810 5.338 -5.426 .00 .00 BULK ATOM 6443 OH2 TIP3 1849 18.928 2.168 9.159 .00 .00 BULK ATOM 6444 H1 TIP3 1849 18.261 2.191 8.478 .00 .00 BULK ATOM 6445 H2 TIP3 1849 18.967 1.132 9.227 .00 .00 BULK ATOM 6446 OH2 TIP3 1850 -6.990 17.926 18.094 .00 .00 BULK ATOM 6447 H1 TIP3 1850 -6.422 17.158 17.825 .00 .00 BULK ATOM 6448 H2 TIP3 1850 -6.271 18.468 18.607 .00 .00 BULK ATOM 6449 OH2 TIP3 1851 21.580 9.594 -21.990 .00 .00 BULK ATOM 6450 H1 TIP3 1851 22.465 9.190 -21.967 .00 .00 BULK ATOM 6451 H2 TIP3 1851 21.873 10.464 -21.579 .00 .00 BULK ATOM 6452 OH2 TIP3 1852 14.566 20.135 7.427 .00 .00 BULK ATOM 6453 H1 TIP3 1852 15.032 20.862 7.964 .00 .00 BULK ATOM 6454 H2 TIP3 1852 15.039 20.142 6.558 .00 .00 BULK ATOM 6455 OH2 TIP3 1853 -25.475 8.767 .346 .00 .00 BULK ATOM 6456 H1 TIP3 1853 -24.814 9.491 .263 .00 .00 BULK ATOM 6457 H2 TIP3 1853 -26.087 9.144 1.006 .00 .00 BULK ATOM 6458 OH2 TIP3 1854 -21.839 .910 -19.105 .00 .00 BULK ATOM 6459 H1 TIP3 1854 -22.272 .234 -19.550 .00 .00 BULK ATOM 6460 H2 TIP3 1854 -20.936 .638 -19.422 .00 .00 BULK ATOM 6461 OH2 TIP3 1855 26.549 9.542 8.547 .00 .00 BULK ATOM 6462 H1 TIP3 1855 25.616 9.472 8.793 .00 .00 BULK ATOM 6463 H2 TIP3 1855 26.585 10.341 8.029 .00 .00 BULK ATOM 6464 OH2 TIP3 1856 28.486 2.444 10.604 .00 .00 BULK ATOM 6465 H1 TIP3 1856 29.148 3.108 10.462 .00 .00 BULK ATOM 6466 H2 TIP3 1856 27.690 3.048 10.359 .00 .00 BULK ATOM 6467 OH2 TIP3 1857 -22.763 5.518 -1.746 .00 .00 BULK ATOM 6468 H1 TIP3 1857 -23.026 5.770 -.867 .00 .00 BULK ATOM 6469 H2 TIP3 1857 -23.322 6.052 -2.310 .00 .00 BULK ATOM 6470 OH2 TIP3 1858 23.042 -20.478 2.252 .00 .00 BULK ATOM 6471 H1 TIP3 1858 22.667 -19.885 2.894 .00 .00 BULK ATOM 6472 H2 TIP3 1858 23.602 -20.900 2.939 .00 .00 BULK ATOM 6473 OH2 TIP3 1859 17.376 9.707 -12.824 .00 .00 BULK ATOM 6474 H1 TIP3 1859 16.650 9.367 -12.258 .00 .00 BULK ATOM 6475 H2 TIP3 1859 17.672 8.950 -13.337 .00 .00 BULK ATOM 6476 OH2 TIP3 1860 -26.848 -5.875 21.896 .00 .00 BULK ATOM 6477 H1 TIP3 1860 -26.331 -5.886 21.108 .00 .00 BULK ATOM 6478 H2 TIP3 1860 -27.273 -6.740 21.938 .00 .00 BULK ATOM 6479 OH2 TIP3 1861 -26.805 -4.202 -.645 .00 .00 BULK ATOM 6480 H1 TIP3 1861 -27.504 -3.523 -.437 .00 .00 BULK ATOM 6481 H2 TIP3 1861 -26.315 -3.746 -1.366 .00 .00 BULK ATOM 6482 OH2 TIP3 1862 -4.926 -.088 -12.160 .00 .00 BULK ATOM 6483 H1 TIP3 1862 -5.281 -.847 -12.667 .00 .00 BULK ATOM 6484 H2 TIP3 1862 -4.083 .112 -12.564 .00 .00 BULK ATOM 6485 OH2 TIP3 1863 -22.194 -13.769 -6.527 .00 .00 BULK ATOM 6486 H1 TIP3 1863 -22.052 -13.401 -7.411 .00 .00 BULK ATOM 6487 H2 TIP3 1863 -21.261 -13.711 -6.254 .00 .00 BULK ATOM 6488 OH2 TIP3 1864 16.645 -16.756 -14.172 .00 .00 BULK ATOM 6489 H1 TIP3 1864 17.517 -16.626 -13.802 .00 .00 BULK ATOM 6490 H2 TIP3 1864 16.707 -17.716 -14.341 .00 .00 BULK ATOM 6491 OH2 TIP3 1865 1.329 -12.799 10.502 .00 .00 BULK ATOM 6492 H1 TIP3 1865 1.633 -13.739 10.308 .00 .00 BULK ATOM 6493 H2 TIP3 1865 1.846 -12.721 11.340 .00 .00 BULK ATOM 6494 OH2 TIP3 1866 22.514 15.922 22.479 .00 .00 BULK ATOM 6495 H1 TIP3 1866 22.131 15.145 22.982 .00 .00 BULK ATOM 6496 H2 TIP3 1866 22.938 15.395 21.758 .00 .00 BULK ATOM 6497 OH2 TIP3 1867 -25.226 5.485 15.599 .00 .00 BULK ATOM 6498 H1 TIP3 1867 -24.711 6.333 15.927 .00 .00 BULK ATOM 6499 H2 TIP3 1867 -25.900 5.550 16.272 .00 .00 BULK ATOM 6500 OH2 TIP3 1868 24.887 10.731 -1.060 .00 .00 BULK ATOM 6501 H1 TIP3 1868 24.674 11.671 -1.281 .00 .00 BULK ATOM 6502 H2 TIP3 1868 23.911 10.454 -.911 .00 .00 BULK ATOM 6503 OH2 TIP3 1869 -22.927 -17.070 5.353 .00 .00 BULK ATOM 6504 H1 TIP3 1869 -22.693 -16.169 5.794 .00 .00 BULK ATOM 6505 H2 TIP3 1869 -22.562 -17.668 5.991 .00 .00 BULK ATOM 6506 OH2 TIP3 1870 -29.288 -16.313 -12.745 .00 .00 BULK ATOM 6507 H1 TIP3 1870 -29.307 -15.579 -13.348 .00 .00 BULK ATOM 6508 H2 TIP3 1870 -29.453 -15.921 -11.909 .00 .00 BULK ATOM 6509 OH2 TIP3 1871 27.640 -2.354 -2.002 .00 .00 BULK ATOM 6510 H1 TIP3 1871 26.856 -1.958 -2.452 .00 .00 BULK ATOM 6511 H2 TIP3 1871 27.110 -2.588 -1.243 .00 .00 BULK ATOM 6512 OH2 TIP3 1872 28.640 20.068 -21.377 .00 .00 BULK ATOM 6513 H1 TIP3 1872 29.246 20.428 -20.712 .00 .00 BULK ATOM 6514 H2 TIP3 1872 28.303 20.951 -21.736 .00 .00 BULK ATOM 6515 OH2 TIP3 1873 -27.943 -13.917 .591 .00 .00 BULK ATOM 6516 H1 TIP3 1873 -27.937 -13.020 .938 .00 .00 BULK ATOM 6517 H2 TIP3 1873 -27.545 -14.481 1.305 .00 .00 BULK ATOM 6518 OH2 TIP3 1874 6.924 -5.208 -5.784 .00 .00 BULK ATOM 6519 H1 TIP3 1874 6.009 -5.430 -5.843 .00 .00 BULK ATOM 6520 H2 TIP3 1874 7.094 -5.179 -4.836 .00 .00 BULK ATOM 6521 OH2 TIP3 1875 21.636 14.781 8.323 .00 .00 BULK ATOM 6522 H1 TIP3 1875 21.892 14.305 7.527 .00 .00 BULK ATOM 6523 H2 TIP3 1875 22.072 14.355 9.030 .00 .00 BULK ATOM 6524 OH2 TIP3 1876 -28.777 .824 8.197 .00 .00 BULK ATOM 6525 H1 TIP3 1876 -28.283 .787 7.351 .00 .00 BULK ATOM 6526 H2 TIP3 1876 -29.649 1.275 7.924 .00 .00 BULK ATOM 6527 OH2 TIP3 1877 26.098 -20.148 .510 .00 .00 BULK ATOM 6528 H1 TIP3 1877 25.864 -19.516 1.224 .00 .00 BULK ATOM 6529 H2 TIP3 1877 25.991 -21.005 .979 .00 .00 BULK ATOM 6530 OH2 TIP3 1878 -20.828 -10.331 -9.918 .00 .00 BULK ATOM 6531 H1 TIP3 1878 -20.021 -10.013 -9.482 .00 .00 BULK ATOM 6532 H2 TIP3 1878 -20.410 -10.884 -10.589 .00 .00 BULK ATOM 6533 OH2 TIP3 1879 -25.572 17.999 20.212 .00 .00 BULK ATOM 6534 H1 TIP3 1879 -26.386 18.153 19.633 .00 .00 BULK ATOM 6535 H2 TIP3 1879 -25.854 18.335 21.052 .00 .00 BULK ATOM 6536 OH2 TIP3 1880 4.581 19.083 -14.977 .00 .00 BULK ATOM 6537 H1 TIP3 1880 4.428 19.634 -15.800 .00 .00 BULK ATOM 6538 H2 TIP3 1880 4.115 19.740 -14.400 .00 .00 BULK ATOM 6539 OH2 TIP3 1881 -27.582 -11.577 1.667 .00 .00 BULK ATOM 6540 H1 TIP3 1881 -27.985 -10.925 1.135 .00 .00 BULK ATOM 6541 H2 TIP3 1881 -27.140 -11.070 2.351 .00 .00 BULK ATOM 6542 OH2 TIP3 1882 -29.975 9.128 -4.149 .00 .00 BULK ATOM 6543 H1 TIP3 1882 -30.384 9.656 -4.839 .00 .00 BULK ATOM 6544 H2 TIP3 1882 -29.465 9.719 -3.598 .00 .00 BULK ATOM 6545 OH2 TIP3 1883 -13.859 -11.959 -7.334 .00 .00 BULK ATOM 6546 H1 TIP3 1883 -13.555 -11.904 -6.410 .00 .00 BULK ATOM 6547 H2 TIP3 1883 -13.507 -12.808 -7.612 .00 .00 BULK ATOM 6548 OH2 TIP3 1884 -15.384 20.308 -12.410 .00 .00 BULK ATOM 6549 H1 TIP3 1884 -15.039 20.547 -13.254 .00 .00 BULK ATOM 6550 H2 TIP3 1884 -14.667 19.821 -11.942 .00 .00 BULK ATOM 6551 OH2 TIP3 1885 28.809 -7.120 18.147 .00 .00 BULK ATOM 6552 H1 TIP3 1885 27.839 -6.934 18.381 .00 .00 BULK ATOM 6553 H2 TIP3 1885 29.102 -6.163 18.003 .00 .00 BULK ATOM 6554 OH2 TIP3 1886 19.893 -8.402 2.760 .00 .00 BULK ATOM 6555 H1 TIP3 1886 19.026 -8.491 2.393 .00 .00 BULK ATOM 6556 H2 TIP3 1886 19.810 -7.501 3.118 .00 .00 BULK ATOM 6557 OH2 TIP3 1887 -19.407 -21.393 -7.663 .00 .00 BULK ATOM 6558 H1 TIP3 1887 -19.203 -20.554 -8.043 .00 .00 BULK ATOM 6559 H2 TIP3 1887 -19.551 -21.840 -8.553 .00 .00 BULK ATOM 6560 OH2 TIP3 1888 19.661 5.627 -20.084 .00 .00 BULK ATOM 6561 H1 TIP3 1888 19.691 5.403 -21.002 .00 .00 BULK ATOM 6562 H2 TIP3 1888 19.569 6.574 -20.193 .00 .00 BULK ATOM 6563 OH2 TIP3 1889 29.891 5.593 -6.262 .00 .00 BULK ATOM 6564 H1 TIP3 1889 30.208 6.191 -6.971 .00 .00 BULK ATOM 6565 H2 TIP3 1889 29.070 5.991 -5.856 .00 .00 BULK ATOM 6566 OH2 TIP3 1890 -18.737 -.631 -.535 .00 .00 BULK ATOM 6567 H1 TIP3 1890 -19.256 -.961 -1.318 .00 .00 BULK ATOM 6568 H2 TIP3 1890 -18.803 .294 -.731 .00 .00 BULK ATOM 6569 OH2 TIP3 1891 -20.540 6.876 -8.901 .00 .00 BULK ATOM 6570 H1 TIP3 1891 -21.326 6.488 -8.380 .00 .00 BULK ATOM 6571 H2 TIP3 1891 -19.921 6.111 -8.848 .00 .00 BULK ATOM 6572 OH2 TIP3 1892 -4.603 -3.726 17.432 .00 .00 BULK ATOM 6573 H1 TIP3 1892 -4.655 -3.262 16.571 .00 .00 BULK ATOM 6574 H2 TIP3 1892 -4.267 -2.979 18.061 .00 .00 BULK ATOM 6575 OH2 TIP3 1893 -7.558 -12.688 .856 .00 .00 BULK ATOM 6576 H1 TIP3 1893 -7.605 -12.666 -.074 .00 .00 BULK ATOM 6577 H2 TIP3 1893 -7.527 -13.616 1.051 .00 .00 BULK ATOM 6578 OH2 TIP3 1894 -10.825 12.875 6.954 .00 .00 BULK ATOM 6579 H1 TIP3 1894 -10.256 13.459 7.359 .00 .00 BULK ATOM 6580 H2 TIP3 1894 -11.602 13.467 7.059 .00 .00 BULK ATOM 6581 OH2 TIP3 1895 -5.964 18.342 -16.976 .00 .00 BULK ATOM 6582 H1 TIP3 1895 -6.719 17.960 -16.594 .00 .00 BULK ATOM 6583 H2 TIP3 1895 -5.267 17.747 -16.600 .00 .00 BULK ATOM 6584 OH2 TIP3 1896 3.045 22.964 17.970 .00 .00 BULK ATOM 6585 H1 TIP3 1896 3.891 23.190 17.575 .00 .00 BULK ATOM 6586 H2 TIP3 1896 2.632 22.599 17.121 .00 .00 BULK ATOM 6587 OH2 TIP3 1897 23.115 -2.429 -23.819 .00 .00 BULK ATOM 6588 H1 TIP3 1897 24.004 -2.509 -23.316 .00 .00 BULK ATOM 6589 H2 TIP3 1897 22.476 -2.772 -23.170 .00 .00 BULK ATOM 6590 OH2 TIP3 1898 26.444 17.630 8.137 .00 .00 BULK ATOM 6591 H1 TIP3 1898 25.494 17.719 8.449 .00 .00 BULK ATOM 6592 H2 TIP3 1898 26.658 18.530 7.855 .00 .00 BULK ATOM 6593 OH2 TIP3 1899 -19.822 10.067 -16.017 .00 .00 BULK ATOM 6594 H1 TIP3 1899 -20.507 10.739 -15.700 .00 .00 BULK ATOM 6595 H2 TIP3 1899 -20.323 9.854 -16.828 .00 .00 BULK ATOM 6596 OH2 TIP3 1900 -7.785 22.575 4.750 .00 .00 BULK ATOM 6597 H1 TIP3 1900 -7.171 22.481 5.547 .00 .00 BULK ATOM 6598 H2 TIP3 1900 -7.571 23.509 4.474 .00 .00 BULK ATOM 6599 OH2 TIP3 1901 25.352 5.706 3.603 .00 .00 BULK ATOM 6600 H1 TIP3 1901 26.148 5.153 3.400 .00 .00 BULK ATOM 6601 H2 TIP3 1901 25.784 6.230 4.296 .00 .00 BULK ATOM 6602 OH2 TIP3 1902 -10.319 -19.777 18.052 .00 .00 BULK ATOM 6603 H1 TIP3 1902 -10.834 -20.234 17.333 .00 .00 BULK ATOM 6604 H2 TIP3 1902 -10.630 -18.876 17.925 .00 .00 BULK ATOM 6605 OH2 TIP3 1903 19.323 -21.423 5.739 .00 .00 BULK ATOM 6606 H1 TIP3 1903 19.545 -21.723 6.647 .00 .00 BULK ATOM 6607 H2 TIP3 1903 19.583 -22.232 5.171 .00 .00 BULK ATOM 6608 OH2 TIP3 1904 22.245 -21.994 -9.577 .00 .00 BULK ATOM 6609 H1 TIP3 1904 22.996 -21.416 -9.652 .00 .00 BULK ATOM 6610 H2 TIP3 1904 21.694 -21.526 -10.251 .00 .00 BULK ATOM 6611 OH2 TIP3 1905 27.246 7.333 5.074 .00 .00 BULK ATOM 6612 H1 TIP3 1905 28.181 7.666 5.047 .00 .00 BULK ATOM 6613 H2 TIP3 1905 26.908 7.976 4.402 .00 .00 BULK ATOM 6614 OH2 TIP3 1906 28.745 -1.733 7.618 .00 .00 BULK ATOM 6615 H1 TIP3 1906 29.013 -1.142 6.919 .00 .00 BULK ATOM 6616 H2 TIP3 1906 28.112 -1.108 8.037 .00 .00 BULK ATOM 6617 OH2 TIP3 1907 27.439 -12.157 4.705 .00 .00 BULK ATOM 6618 H1 TIP3 1907 27.383 -13.089 4.841 .00 .00 BULK ATOM 6619 H2 TIP3 1907 26.601 -11.818 5.173 .00 .00 BULK ATOM 6620 OH2 TIP3 1908 23.927 17.848 9.084 .00 .00 BULK ATOM 6621 H1 TIP3 1908 23.639 18.174 9.955 .00 .00 BULK ATOM 6622 H2 TIP3 1908 23.090 17.783 8.642 .00 .00 BULK ATOM 6623 OH2 TIP3 1909 20.510 -10.581 -16.023 .00 .00 BULK ATOM 6624 H1 TIP3 1909 20.513 -11.531 -16.179 .00 .00 BULK ATOM 6625 H2 TIP3 1909 20.000 -10.262 -16.753 .00 .00 BULK ATOM 6626 OH2 TIP3 1910 27.482 -1.566 11.471 .00 .00 BULK ATOM 6627 H1 TIP3 1910 27.237 -.988 10.769 .00 .00 BULK ATOM 6628 H2 TIP3 1910 27.882 -2.277 10.923 .00 .00 BULK ATOM 6629 OH2 TIP3 1911 3.106 -15.483 -16.452 .00 .00 BULK ATOM 6630 H1 TIP3 1911 3.985 -15.865 -16.258 .00 .00 BULK ATOM 6631 H2 TIP3 1911 3.105 -14.576 -16.256 .00 .00 BULK ATOM 6632 OH2 TIP3 1912 -25.723 9.232 -9.955 .00 .00 BULK ATOM 6633 H1 TIP3 1912 -26.103 8.659 -10.574 .00 .00 BULK ATOM 6634 H2 TIP3 1912 -25.267 9.884 -10.528 .00 .00 BULK ATOM 6635 OH2 TIP3 1913 -24.697 -14.023 3.267 .00 .00 BULK ATOM 6636 H1 TIP3 1913 -25.000 -13.040 3.307 .00 .00 BULK ATOM 6637 H2 TIP3 1913 -23.693 -13.905 3.086 .00 .00 BULK ATOM 6638 OH2 TIP3 1914 -29.204 21.745 -19.823 .00 .00 BULK ATOM 6639 H1 TIP3 1914 -29.277 22.691 -19.563 .00 .00 BULK ATOM 6640 H2 TIP3 1914 -29.818 21.289 -19.286 .00 .00 BULK ATOM 6641 OH2 TIP3 1915 27.652 -9.604 3.565 .00 .00 BULK ATOM 6642 H1 TIP3 1915 27.666 -10.518 3.816 .00 .00 BULK ATOM 6643 H2 TIP3 1915 27.849 -9.177 4.390 .00 .00 BULK ATOM 6644 OH2 TIP3 1916 -22.666 8.439 -5.743 .00 .00 BULK ATOM 6645 H1 TIP3 1916 -23.333 8.405 -6.495 .00 .00 BULK ATOM 6646 H2 TIP3 1916 -21.779 8.503 -6.145 .00 .00 BULK ATOM 6647 OH2 TIP3 1917 -22.255 20.915 -12.555 .00 .00 BULK ATOM 6648 H1 TIP3 1917 -21.636 20.282 -12.028 .00 .00 BULK ATOM 6649 H2 TIP3 1917 -21.579 21.502 -12.933 .00 .00 BULK ATOM 6650 OH2 TIP3 1918 -28.780 9.813 -17.199 .00 .00 BULK ATOM 6651 H1 TIP3 1918 -28.839 8.827 -17.221 .00 .00 BULK ATOM 6652 H2 TIP3 1918 -28.328 9.905 -16.350 .00 .00 BULK ATOM 6653 OH2 TIP3 1919 -21.301 11.503 -1.933 .00 .00 BULK ATOM 6654 H1 TIP3 1919 -20.832 11.507 -2.787 .00 .00 BULK ATOM 6655 H2 TIP3 1919 -21.959 10.987 -2.289 .00 .00 BULK ATOM 6656 OH2 TIP3 1920 -23.401 -22.107 -18.254 .00 .00 BULK ATOM 6657 H1 TIP3 1920 -23.737 -22.832 -18.828 .00 .00 BULK ATOM 6658 H2 TIP3 1920 -22.919 -21.613 -18.958 .00 .00 BULK ATOM 6659 OH2 TIP3 1921 -28.039 7.004 -19.706 .00 .00 BULK ATOM 6660 H1 TIP3 1921 -27.354 6.360 -19.433 .00 .00 BULK ATOM 6661 H2 TIP3 1921 -28.487 7.288 -18.888 .00 .00 BULK ATOM 6662 OH2 TIP3 1922 -23.451 -14.786 -.168 .00 .00 BULK ATOM 6663 H1 TIP3 1922 -23.987 -15.506 .299 .00 .00 BULK ATOM 6664 H2 TIP3 1922 -23.133 -15.236 -.945 .00 .00 BULK ATOM 6665 OH2 TIP3 1923 -15.929 16.752 15.836 .00 .00 BULK ATOM 6666 H1 TIP3 1923 -16.137 17.030 14.954 .00 .00 BULK ATOM 6667 H2 TIP3 1923 -16.372 17.406 16.407 .00 .00 BULK ATOM 6668 OH2 TIP3 1924 26.285 21.979 -7.084 .00 .00 BULK ATOM 6669 H1 TIP3 1924 25.816 22.851 -7.106 .00 .00 BULK ATOM 6670 H2 TIP3 1924 27.112 22.113 -7.513 .00 .00 BULK ATOM 6671 OH2 TIP3 1925 -16.210 -1.031 3.568 .00 .00 BULK ATOM 6672 H1 TIP3 1925 -17.168 -1.265 3.604 .00 .00 BULK ATOM 6673 H2 TIP3 1925 -16.205 -.343 2.830 .00 .00 BULK ATOM 6674 OH2 TIP3 1926 -16.516 -17.172 10.961 .00 .00 BULK ATOM 6675 H1 TIP3 1926 -15.835 -16.817 11.539 .00 .00 BULK ATOM 6676 H2 TIP3 1926 -16.732 -17.939 11.513 .00 .00 BULK ATOM 6677 OH2 TIP3 1927 -13.500 .230 23.612 .00 .00 BULK ATOM 6678 H1 TIP3 1927 -14.418 .555 23.775 .00 .00 BULK ATOM 6679 H2 TIP3 1927 -13.557 .179 22.641 .00 .00 BULK ATOM 6680 OH2 TIP3 1928 -17.427 -15.127 9.649 .00 .00 BULK ATOM 6681 H1 TIP3 1928 -16.878 -15.687 10.229 .00 .00 BULK ATOM 6682 H2 TIP3 1928 -16.910 -15.284 8.845 .00 .00 BULK ATOM 6683 OH2 TIP3 1929 -15.377 -3.299 -4.662 .00 .00 BULK ATOM 6684 H1 TIP3 1929 -14.958 -3.760 -3.914 .00 .00 BULK ATOM 6685 H2 TIP3 1929 -14.624 -3.258 -5.337 .00 .00 BULK ATOM 6686 OH2 TIP3 1930 -16.618 21.533 19.635 .00 .00 BULK ATOM 6687 H1 TIP3 1930 -17.018 20.846 20.186 .00 .00 BULK ATOM 6688 H2 TIP3 1930 -16.920 22.371 20.025 .00 .00 BULK ATOM 6689 OH2 TIP3 1931 30.077 -8.138 -16.765 .00 .00 BULK ATOM 6690 H1 TIP3 1931 29.201 -8.497 -16.669 .00 .00 BULK ATOM 6691 H2 TIP3 1931 29.900 -7.338 -16.264 .00 .00 BULK ATOM 6692 OH2 TIP3 1932 22.455 13.412 10.902 .00 .00 BULK ATOM 6693 H1 TIP3 1932 23.376 13.565 11.060 .00 .00 BULK ATOM 6694 H2 TIP3 1932 22.451 12.710 10.191 .00 .00 BULK ATOM 6695 OH2 TIP3 1933 16.656 -13.487 -22.784 .00 .00 BULK ATOM 6696 H1 TIP3 1933 16.322 -12.637 -22.386 .00 .00 BULK ATOM 6697 H2 TIP3 1933 16.822 -13.087 -23.644 .00 .00 BULK ATOM 6698 OH2 TIP3 1934 25.738 15.686 -12.671 .00 .00 BULK ATOM 6699 H1 TIP3 1934 26.216 14.889 -13.069 .00 .00 BULK ATOM 6700 H2 TIP3 1934 25.115 15.233 -12.174 .00 .00 BULK ATOM 6701 OH2 TIP3 1935 -10.585 -6.593 -11.593 .00 .00 BULK ATOM 6702 H1 TIP3 1935 -11.208 -6.178 -12.238 .00 .00 BULK ATOM 6703 H2 TIP3 1935 -9.870 -6.668 -12.294 .00 .00 BULK ATOM 6704 OH2 TIP3 1936 -13.633 -6.933 -20.203 .00 .00 BULK ATOM 6705 H1 TIP3 1936 -13.692 -6.652 -21.120 .00 .00 BULK ATOM 6706 H2 TIP3 1936 -14.113 -6.199 -19.783 .00 .00 BULK ATOM 6707 OH2 TIP3 1937 8.344 -2.990 21.765 .00 .00 BULK ATOM 6708 H1 TIP3 1937 8.867 -2.493 22.374 .00 .00 BULK ATOM 6709 H2 TIP3 1937 8.918 -3.703 21.487 .00 .00 BULK ATOM 6710 OH2 TIP3 1938 29.253 3.566 13.623 .00 .00 BULK ATOM 6711 H1 TIP3 1938 28.982 2.672 13.462 .00 .00 BULK ATOM 6712 H2 TIP3 1938 29.901 3.454 14.413 .00 .00 BULK ATOM 6713 OH2 TIP3 1939 -23.801 -19.768 7.307 .00 .00 BULK ATOM 6714 H1 TIP3 1939 -24.520 -19.348 7.808 .00 .00 BULK ATOM 6715 H2 TIP3 1939 -24.184 -19.628 6.441 .00 .00 BULK ATOM 6716 OH2 TIP3 1940 21.302 -6.462 22.668 .00 .00 BULK ATOM 6717 H1 TIP3 1940 21.724 -5.593 22.833 .00 .00 BULK ATOM 6718 H2 TIP3 1940 21.033 -6.732 23.628 .00 .00 BULK ATOM 6719 OH2 TIP3 1941 17.801 8.943 .268 .00 .00 BULK ATOM 6720 H1 TIP3 1941 17.022 8.491 -.033 .00 .00 BULK ATOM 6721 H2 TIP3 1941 18.266 8.160 .694 .00 .00 BULK ATOM 6722 OH2 TIP3 1942 10.941 -23.470 7.551 .00 .00 BULK ATOM 6723 H1 TIP3 1942 11.891 -23.443 7.803 .00 .00 BULK ATOM 6724 H2 TIP3 1942 10.626 -22.601 7.782 .00 .00 BULK ATOM 6725 OH2 TIP3 1943 28.628 -19.334 3.205 .00 .00 BULK ATOM 6726 H1 TIP3 1943 29.232 -18.830 2.592 .00 .00 BULK ATOM 6727 H2 TIP3 1943 27.916 -19.571 2.643 .00 .00 BULK ATOM 6728 OH2 TIP3 1944 -17.745 -13.784 -21.396 .00 .00 BULK ATOM 6729 H1 TIP3 1944 -17.401 -14.630 -21.267 .00 .00 BULK ATOM 6730 H2 TIP3 1944 -17.941 -13.786 -22.341 .00 .00 BULK ATOM 6731 OH2 TIP3 1945 -20.572 -23.415 4.168 .00 .00 BULK ATOM 6732 H1 TIP3 1945 -20.560 -23.284 5.150 .00 .00 BULK ATOM 6733 H2 TIP3 1945 -21.260 -22.723 4.037 .00 .00 BULK ATOM 6734 OH2 TIP3 1946 10.357 19.972 10.323 .00 .00 BULK ATOM 6735 H1 TIP3 1946 10.941 20.585 10.762 .00 .00 BULK ATOM 6736 H2 TIP3 1946 10.532 20.183 9.389 .00 .00 BULK ATOM 6737 OH2 TIP3 1947 -20.346 -11.324 4.069 .00 .00 BULK ATOM 6738 H1 TIP3 1947 -20.764 -11.406 3.250 .00 .00 BULK ATOM 6739 H2 TIP3 1947 -20.301 -12.265 4.281 .00 .00 BULK ATOM 6740 OH2 TIP3 1948 5.162 -.846 10.125 .00 .00 BULK ATOM 6741 H1 TIP3 1948 5.887 -.495 9.553 .00 .00 BULK ATOM 6742 H2 TIP3 1948 5.754 -1.119 10.831 .00 .00 BULK ATOM 6743 OH2 TIP3 1949 29.064 -12.641 7.980 .00 .00 BULK ATOM 6744 H1 TIP3 1949 28.144 -12.918 7.839 .00 .00 BULK ATOM 6745 H2 TIP3 1949 29.150 -12.883 8.937 .00 .00 BULK ATOM 6746 OH2 TIP3 1950 10.624 13.830 -.228 .00 .00 BULK ATOM 6747 H1 TIP3 1950 9.653 13.881 -.080 .00 .00 BULK ATOM 6748 H2 TIP3 1950 10.555 13.078 -.847 .00 .00 BULK ATOM 6749 OH2 TIP3 1951 -22.292 20.429 20.976 .00 .00 BULK ATOM 6750 H1 TIP3 1951 -21.572 19.914 21.405 .00 .00 BULK ATOM 6751 H2 TIP3 1951 -22.640 19.740 20.346 .00 .00 BULK ATOM 6752 OH2 TIP3 1952 -10.874 -12.607 4.346 .00 .00 BULK ATOM 6753 H1 TIP3 1952 -10.099 -12.366 3.756 .00 .00 BULK ATOM 6754 H2 TIP3 1952 -11.389 -13.232 3.743 .00 .00 BULK ATOM 6755 OH2 TIP3 1953 6.839 -12.338 -3.013 .00 .00 BULK ATOM 6756 H1 TIP3 1953 5.972 -12.003 -3.425 .00 .00 BULK ATOM 6757 H2 TIP3 1953 6.908 -12.008 -2.098 .00 .00 BULK ATOM 6758 OH2 TIP3 1954 16.668 -11.714 2.499 .00 .00 BULK ATOM 6759 H1 TIP3 1954 17.348 -11.081 2.467 .00 .00 BULK ATOM 6760 H2 TIP3 1954 17.152 -12.474 2.168 .00 .00 BULK ATOM 6761 OH2 TIP3 1955 -20.743 -12.779 8.104 .00 .00 BULK ATOM 6762 H1 TIP3 1955 -20.049 -12.979 7.494 .00 .00 BULK ATOM 6763 H2 TIP3 1955 -20.360 -13.153 8.926 .00 .00 BULK ATOM 6764 OH2 TIP3 1956 -6.979 22.078 -13.381 .00 .00 BULK ATOM 6765 H1 TIP3 1956 -7.826 22.426 -13.086 .00 .00 BULK ATOM 6766 H2 TIP3 1956 -6.543 21.830 -12.525 .00 .00 BULK ATOM 6767 OH2 TIP3 1957 17.065 -14.383 -3.416 .00 .00 BULK ATOM 6768 H1 TIP3 1957 16.154 -14.135 -3.389 .00 .00 BULK ATOM 6769 H2 TIP3 1957 17.333 -14.111 -2.507 .00 .00 BULK ATOM 6770 OH2 TIP3 1958 18.963 14.344 -15.934 .00 .00 BULK ATOM 6771 H1 TIP3 1958 18.450 13.786 -15.367 .00 .00 BULK ATOM 6772 H2 TIP3 1958 19.441 13.701 -16.381 .00 .00 BULK ATOM 6773 OH2 TIP3 1959 -6.649 22.263 9.032 .00 .00 BULK ATOM 6774 H1 TIP3 1959 -7.351 22.838 8.705 .00 .00 BULK ATOM 6775 H2 TIP3 1959 -6.338 22.724 9.820 .00 .00 BULK ATOM 6776 OH2 TIP3 1960 1.757 18.072 .619 .00 .00 BULK ATOM 6777 H1 TIP3 1960 2.582 18.473 .951 .00 .00 BULK ATOM 6778 H2 TIP3 1960 1.019 18.241 1.296 .00 .00 BULK ATOM 6779 OH2 TIP3 1961 9.722 -16.686 3.411 .00 .00 BULK ATOM 6780 H1 TIP3 1961 10.127 -17.187 4.125 .00 .00 BULK ATOM 6781 H2 TIP3 1961 9.210 -16.146 3.977 .00 .00 BULK ATOM 6782 OH2 TIP3 1962 8.866 -14.401 5.036 .00 .00 BULK ATOM 6783 H1 TIP3 1962 7.951 -14.739 4.982 .00 .00 BULK ATOM 6784 H2 TIP3 1962 8.701 -13.694 4.393 .00 .00 BULK ATOM 6785 OH2 TIP3 1963 -13.722 -6.382 6.544 .00 .00 BULK ATOM 6786 H1 TIP3 1963 -14.466 -6.701 5.983 .00 .00 BULK ATOM 6787 H2 TIP3 1963 -14.287 -5.887 7.156 .00 .00 BULK ATOM 6788 OH2 TIP3 1964 20.335 17.568 12.469 .00 .00 BULK ATOM 6789 H1 TIP3 1964 20.659 16.658 12.620 .00 .00 BULK ATOM 6790 H2 TIP3 1964 20.100 17.857 13.379 .00 .00 BULK ATOM 6791 OH2 TIP3 1965 19.370 10.207 -20.701 .00 .00 BULK ATOM 6792 H1 TIP3 1965 18.672 10.095 -21.373 .00 .00 BULK ATOM 6793 H2 TIP3 1965 20.151 9.934 -21.174 .00 .00 BULK ATOM 6794 OH2 TIP3 1966 -.425 -17.393 -12.425 .00 .00 BULK ATOM 6795 H1 TIP3 1966 -1.042 -16.615 -12.369 .00 .00 BULK ATOM 6796 H2 TIP3 1966 -1.094 -18.082 -12.357 .00 .00 BULK ATOM 6797 OH2 TIP3 1967 23.253 -3.092 -1.134 .00 .00 BULK ATOM 6798 H1 TIP3 1967 23.527 -3.999 -1.065 .00 .00 BULK ATOM 6799 H2 TIP3 1967 22.492 -3.190 -1.768 .00 .00 BULK ATOM 6800 OH2 TIP3 1968 26.793 -10.245 7.760 .00 .00 BULK ATOM 6801 H1 TIP3 1968 26.387 -10.163 6.912 .00 .00 BULK ATOM 6802 H2 TIP3 1968 26.485 -11.109 8.025 .00 .00 BULK ATOM 6803 OH2 TIP3 1969 20.177 4.637 5.226 .00 .00 BULK ATOM 6804 H1 TIP3 1969 20.327 4.407 4.297 .00 .00 BULK ATOM 6805 H2 TIP3 1969 20.785 5.362 5.289 .00 .00 BULK ATOM 6806 OH2 TIP3 1970 9.635 8.004 15.834 .00 .00 BULK ATOM 6807 H1 TIP3 1970 9.009 8.748 15.939 .00 .00 BULK ATOM 6808 H2 TIP3 1970 9.990 7.810 16.723 .00 .00 BULK ATOM 6809 OH2 TIP3 1971 20.728 4.820 -17.650 .00 .00 BULK ATOM 6810 H1 TIP3 1971 20.384 4.857 -18.557 .00 .00 BULK ATOM 6811 H2 TIP3 1971 21.435 4.208 -17.819 .00 .00 BULK ATOM 6812 OH2 TIP3 1972 24.769 -12.595 -11.265 .00 .00 BULK ATOM 6813 H1 TIP3 1972 24.322 -13.438 -11.364 .00 .00 BULK ATOM 6814 H2 TIP3 1972 23.959 -12.073 -11.431 .00 .00 BULK ATOM 6815 OH2 TIP3 1973 5.123 -17.051 -2.339 .00 .00 BULK ATOM 6816 H1 TIP3 1973 5.828 -16.741 -1.770 .00 .00 BULK ATOM 6817 H2 TIP3 1973 4.293 -16.752 -1.973 .00 .00 BULK ATOM 6818 OH2 TIP3 1974 -17.439 7.002 5.591 .00 .00 BULK ATOM 6819 H1 TIP3 1974 -18.089 6.303 5.798 .00 .00 BULK ATOM 6820 H2 TIP3 1974 -17.583 7.456 6.355 .00 .00 BULK ATOM 6821 OH2 TIP3 1975 25.891 8.529 .319 .00 .00 BULK ATOM 6822 H1 TIP3 1975 25.513 9.365 -.019 .00 .00 BULK ATOM 6823 H2 TIP3 1975 25.217 7.811 .092 .00 .00 BULK ATOM 6824 OH2 TIP3 1976 -20.300 21.063 18.300 .00 .00 BULK ATOM 6825 H1 TIP3 1976 -21.171 21.089 18.721 .00 .00 BULK ATOM 6826 H2 TIP3 1976 -20.238 20.065 18.478 .00 .00 BULK ATOM 6827 OH2 TIP3 1977 17.760 -10.191 11.222 .00 .00 BULK ATOM 6828 H1 TIP3 1977 18.268 -9.988 12.033 .00 .00 BULK ATOM 6829 H2 TIP3 1977 18.402 -10.834 10.870 .00 .00 BULK ATOM 6830 OH2 TIP3 1978 27.032 8.852 17.007 .00 .00 BULK ATOM 6831 H1 TIP3 1978 26.368 8.857 16.307 .00 .00 BULK ATOM 6832 H2 TIP3 1978 27.759 8.483 16.470 .00 .00 BULK ATOM 6833 OH2 TIP3 1979 11.573 11.957 2.467 .00 .00 BULK ATOM 6834 H1 TIP3 1979 11.333 11.304 1.803 .00 .00 BULK ATOM 6835 H2 TIP3 1979 12.367 11.558 2.845 .00 .00 BULK ATOM 6836 OH2 TIP3 1980 21.401 -13.230 -15.692 .00 .00 BULK ATOM 6837 H1 TIP3 1980 20.508 -13.477 -15.775 .00 .00 BULK ATOM 6838 H2 TIP3 1980 21.936 -13.995 -15.421 .00 .00 BULK ATOM 6839 OH2 TIP3 1981 28.739 3.509 -17.596 .00 .00 BULK ATOM 6840 H1 TIP3 1981 28.230 4.128 -18.125 .00 .00 BULK ATOM 6841 H2 TIP3 1981 28.030 3.148 -17.073 .00 .00 BULK ATOM 6842 OH2 TIP3 1982 16.351 -16.409 -22.206 .00 .00 BULK ATOM 6843 H1 TIP3 1982 16.793 -16.203 -21.358 .00 .00 BULK ATOM 6844 H2 TIP3 1982 16.098 -15.539 -22.465 .00 .00 BULK ATOM 6845 OH2 TIP3 1983 9.711 23.816 -18.287 .00 .00 BULK ATOM 6846 H1 TIP3 1983 9.480 22.869 -18.032 .00 .00 BULK ATOM 6847 H2 TIP3 1983 9.431 23.887 -19.207 .00 .00 BULK ATOM 6848 OH2 TIP3 1984 12.863 -20.188 -15.702 .00 .00 BULK ATOM 6849 H1 TIP3 1984 12.719 -20.859 -16.390 .00 .00 BULK ATOM 6850 H2 TIP3 1984 12.887 -19.537 -16.349 .00 .00 BULK ATOM 6851 OH2 TIP3 1985 5.659 -12.827 2.784 .00 .00 BULK ATOM 6852 H1 TIP3 1985 5.402 -12.109 2.117 .00 .00 BULK ATOM 6853 H2 TIP3 1985 6.647 -12.981 2.595 .00 .00 BULK ATOM 6854 OH2 TIP3 1986 24.028 3.130 18.022 .00 .00 BULK ATOM 6855 H1 TIP3 1986 24.881 2.936 17.734 .00 .00 BULK ATOM 6856 H2 TIP3 1986 23.744 2.194 18.317 .00 .00 BULK ATOM 6857 OH2 TIP3 1987 26.283 -11.484 15.666 .00 .00 BULK ATOM 6858 H1 TIP3 1987 27.261 -11.632 15.664 .00 .00 BULK ATOM 6859 H2 TIP3 1987 26.219 -10.672 15.122 .00 .00 BULK ATOM 6860 OH2 TIP3 1988 14.814 13.311 11.296 .00 .00 BULK ATOM 6861 H1 TIP3 1988 14.410 12.812 10.581 .00 .00 BULK ATOM 6862 H2 TIP3 1988 15.208 12.520 11.784 .00 .00 BULK ATOM 6863 OH2 TIP3 1989 18.313 -9.024 -10.709 .00 .00 BULK ATOM 6864 H1 TIP3 1989 18.217 -8.117 -10.652 .00 .00 BULK ATOM 6865 H2 TIP3 1989 19.212 -9.112 -10.289 .00 .00 BULK ATOM 6866 OH2 TIP3 1990 20.155 -15.636 11.951 .00 .00 BULK ATOM 6867 H1 TIP3 1990 19.578 -14.957 12.413 .00 .00 BULK ATOM 6868 H2 TIP3 1990 20.867 -15.052 11.579 .00 .00 BULK ATOM 6869 OH2 TIP3 1991 26.673 -17.152 -2.649 .00 .00 BULK ATOM 6870 H1 TIP3 1991 26.403 -17.022 -3.609 .00 .00 BULK ATOM 6871 H2 TIP3 1991 25.853 -16.936 -2.176 .00 .00 BULK ATOM 6872 OH2 TIP3 1992 11.288 -5.528 -2.887 .00 .00 BULK ATOM 6873 H1 TIP3 1992 11.208 -5.801 -3.816 .00 .00 BULK ATOM 6874 H2 TIP3 1992 11.924 -6.177 -2.558 .00 .00 BULK ATOM 6875 OH2 TIP3 1993 16.339 22.080 -14.404 .00 .00 BULK ATOM 6876 H1 TIP3 1993 15.793 22.135 -13.627 .00 .00 BULK ATOM 6877 H2 TIP3 1993 16.403 23.012 -14.651 .00 .00 BULK ATOM 6878 OH2 TIP3 1994 -24.542 -17.262 .750 .00 .00 BULK ATOM 6879 H1 TIP3 1994 -24.727 -17.882 .065 .00 .00 BULK ATOM 6880 H2 TIP3 1994 -23.970 -17.935 1.190 .00 .00 BULK ATOM 6881 OH2 TIP3 1995 -20.931 -20.066 12.108 .00 .00 BULK ATOM 6882 H1 TIP3 1995 -20.193 -20.363 12.688 .00 .00 BULK ATOM 6883 H2 TIP3 1995 -21.112 -19.239 12.416 .00 .00 BULK ATOM 6884 OH2 TIP3 1996 -12.881 -9.984 -14.340 .00 .00 BULK ATOM 6885 H1 TIP3 1996 -12.145 -10.249 -14.883 .00 .00 BULK ATOM 6886 H2 TIP3 1996 -13.549 -10.607 -14.615 .00 .00 BULK ATOM 6887 OH2 TIP3 1997 -10.168 -3.477 19.312 .00 .00 BULK ATOM 6888 H1 TIP3 1997 -9.290 -3.622 19.697 .00 .00 BULK ATOM 6889 H2 TIP3 1997 -10.610 -4.190 19.757 .00 .00 BULK ATOM 6890 OH2 TIP3 1998 -12.056 9.564 16.276 .00 .00 BULK ATOM 6891 H1 TIP3 1998 -12.037 9.130 17.150 .00 .00 BULK ATOM 6892 H2 TIP3 1998 -12.973 9.297 16.050 .00 .00 BULK ATOM 6893 OH2 TIP3 1999 -23.748 13.959 -15.799 .00 .00 BULK ATOM 6894 H1 TIP3 1999 -24.085 14.884 -15.996 .00 .00 BULK ATOM 6895 H2 TIP3 1999 -24.277 13.426 -16.463 .00 .00 BULK ATOM 6896 OH2 TIP3 2000 10.145 -12.001 11.842 .00 .00 BULK ATOM 6897 H1 TIP3 2000 11.035 -12.371 11.958 .00 .00 BULK ATOM 6898 H2 TIP3 2000 10.056 -12.339 10.953 .00 .00 BULK ATOM 6899 OH2 TIP3 2001 -15.536 1.729 -8.212 .00 .00 BULK ATOM 6900 H1 TIP3 2001 -15.280 .947 -7.705 .00 .00 BULK ATOM 6901 H2 TIP3 2001 -14.903 1.713 -8.939 .00 .00 BULK ATOM 6902 OH2 TIP3 2002 -25.127 -12.259 -12.052 .00 .00 BULK ATOM 6903 H1 TIP3 2002 -25.107 -12.902 -12.824 .00 .00 BULK ATOM 6904 H2 TIP3 2002 -26.096 -12.313 -11.918 .00 .00 BULK ATOM 6905 OH2 TIP3 2003 8.675 -5.488 15.681 .00 .00 BULK ATOM 6906 H1 TIP3 2003 8.260 -5.208 14.874 .00 .00 BULK ATOM 6907 H2 TIP3 2003 7.844 -5.506 16.247 .00 .00 BULK ATOM 6908 OH2 TIP3 2004 21.663 -2.461 -9.985 .00 .00 BULK ATOM 6909 H1 TIP3 2004 22.417 -3.003 -10.337 .00 .00 BULK ATOM 6910 H2 TIP3 2004 20.911 -2.917 -10.363 .00 .00 BULK ATOM 6911 OH2 TIP3 2005 13.927 18.252 -23.131 .00 .00 BULK ATOM 6912 H1 TIP3 2005 13.869 18.598 -22.237 .00 .00 BULK ATOM 6913 H2 TIP3 2005 12.975 18.449 -23.408 .00 .00 BULK ATOM 6914 OH2 TIP3 2006 9.622 15.529 -11.991 .00 .00 BULK ATOM 6915 H1 TIP3 2006 8.802 15.996 -11.721 .00 .00 BULK ATOM 6916 H2 TIP3 2006 9.323 14.586 -12.187 .00 .00 BULK ATOM 6917 OH2 TIP3 2007 26.299 -5.827 .728 .00 .00 BULK ATOM 6918 H1 TIP3 2007 27.091 -6.315 1.112 .00 .00 BULK ATOM 6919 H2 TIP3 2007 25.678 -6.057 1.444 .00 .00 BULK ATOM 6920 OH2 TIP3 2008 -25.636 -21.487 -3.483 .00 .00 BULK ATOM 6921 H1 TIP3 2008 -26.272 -21.454 -2.704 .00 .00 BULK ATOM 6922 H2 TIP3 2008 -24.791 -21.365 -3.105 .00 .00 BULK ATOM 6923 OH2 TIP3 2009 -20.804 6.209 11.919 .00 .00 BULK ATOM 6924 H1 TIP3 2009 -20.257 5.598 11.453 .00 .00 BULK ATOM 6925 H2 TIP3 2009 -20.364 7.053 11.851 .00 .00 BULK ATOM 6926 OH2 TIP3 2010 -25.344 1.198 -17.358 .00 .00 BULK ATOM 6927 H1 TIP3 2010 -24.958 2.103 -17.202 .00 .00 BULK ATOM 6928 H2 TIP3 2010 -25.932 1.361 -18.150 .00 .00 BULK ATOM 6929 OH2 TIP3 2011 10.010 22.901 12.249 .00 .00 BULK ATOM 6930 H1 TIP3 2011 10.043 23.820 12.533 .00 .00 BULK ATOM 6931 H2 TIP3 2011 10.798 22.568 12.637 .00 .00 BULK ATOM 6932 OH2 TIP3 2012 -7.787 -19.387 23.434 .00 .00 BULK ATOM 6933 H1 TIP3 2012 -7.964 -18.717 22.766 .00 .00 BULK ATOM 6934 H2 TIP3 2012 -8.490 -19.156 24.089 .00 .00 BULK ATOM 6935 OH2 TIP3 2013 -20.742 -19.083 9.360 .00 .00 BULK ATOM 6936 H1 TIP3 2013 -21.081 -19.489 10.197 .00 .00 BULK ATOM 6937 H2 TIP3 2013 -20.061 -18.573 9.788 .00 .00 BULK ATOM 6938 OH2 TIP3 2014 28.832 -13.382 -7.164 .00 .00 BULK ATOM 6939 H1 TIP3 2014 28.212 -13.527 -8.003 .00 .00 BULK ATOM 6940 H2 TIP3 2014 29.285 -12.640 -7.511 .00 .00 BULK ATOM 6941 OH2 TIP3 2015 28.343 14.586 -22.143 .00 .00 BULK ATOM 6942 H1 TIP3 2015 29.084 14.507 -21.568 .00 .00 BULK ATOM 6943 H2 TIP3 2015 28.158 13.618 -22.157 .00 .00 BULK ATOM 6944 OH2 TIP3 2016 -27.948 -.955 -13.426 .00 .00 BULK ATOM 6945 H1 TIP3 2016 -28.626 -.778 -14.106 .00 .00 BULK ATOM 6946 H2 TIP3 2016 -27.267 -.415 -13.801 .00 .00 BULK ATOM 6947 OH2 TIP3 2017 -25.693 18.949 -11.106 .00 .00 BULK ATOM 6948 H1 TIP3 2017 -25.392 18.363 -11.842 .00 .00 BULK ATOM 6949 H2 TIP3 2017 -24.930 18.940 -10.583 .00 .00 BULK ATOM 6950 OH2 TIP3 2018 -9.092 3.020 13.127 .00 .00 BULK ATOM 6951 H1 TIP3 2018 -9.938 2.945 12.666 .00 .00 BULK ATOM 6952 H2 TIP3 2018 -9.475 3.544 13.850 .00 .00 BULK ATOM 6953 OH2 TIP3 2019 24.758 16.210 5.745 .00 .00 BULK ATOM 6954 H1 TIP3 2019 24.282 17.034 6.042 .00 .00 BULK ATOM 6955 H2 TIP3 2019 24.526 16.322 4.846 .00 .00 BULK ATOM 6956 OH2 TIP3 2020 -10.391 -8.141 -23.189 .00 .00 BULK ATOM 6957 H1 TIP3 2020 -10.906 -8.304 -22.400 .00 .00 BULK ATOM 6958 H2 TIP3 2020 -9.614 -7.702 -22.818 .00 .00 BULK ATOM 6959 OH2 TIP3 2021 22.441 10.464 12.863 .00 .00 BULK ATOM 6960 H1 TIP3 2021 23.076 10.183 12.214 .00 .00 BULK ATOM 6961 H2 TIP3 2021 22.958 10.353 13.615 .00 .00 BULK ATOM 6962 OH2 TIP3 2022 -19.208 12.290 -8.393 .00 .00 BULK ATOM 6963 H1 TIP3 2022 -18.255 12.117 -8.214 .00 .00 BULK ATOM 6964 H2 TIP3 2022 -19.541 12.286 -7.511 .00 .00 BULK ATOM 6965 OH2 TIP3 2023 16.884 -20.813 -10.587 .00 .00 BULK ATOM 6966 H1 TIP3 2023 16.928 -21.462 -11.314 .00 .00 BULK ATOM 6967 H2 TIP3 2023 16.136 -21.236 -9.988 .00 .00 BULK ATOM 6968 OH2 TIP3 2024 28.041 -9.988 -15.462 .00 .00 BULK ATOM 6969 H1 TIP3 2024 27.770 -10.783 -15.122 .00 .00 BULK ATOM 6970 H2 TIP3 2024 27.844 -9.224 -14.863 .00 .00 BULK ATOM 6971 OH2 TIP3 2025 -23.895 -2.236 17.329 .00 .00 BULK ATOM 6972 H1 TIP3 2025 -24.055 -2.920 18.006 .00 .00 BULK ATOM 6973 H2 TIP3 2025 -23.520 -2.807 16.633 .00 .00 BULK ATOM 6974 OH2 TIP3 2026 24.275 17.535 -17.118 .00 .00 BULK ATOM 6975 H1 TIP3 2026 23.703 18.196 -16.781 .00 .00 BULK ATOM 6976 H2 TIP3 2026 24.613 17.152 -16.291 .00 .00 BULK ATOM 6977 OH2 TIP3 2027 16.784 17.075 19.486 .00 .00 BULK ATOM 6978 H1 TIP3 2027 16.473 18.008 19.669 .00 .00 BULK ATOM 6979 H2 TIP3 2027 17.393 16.974 20.201 .00 .00 BULK ATOM 6980 OH2 TIP3 2028 25.837 13.997 -19.735 .00 .00 BULK ATOM 6981 H1 TIP3 2028 26.066 14.821 -20.133 .00 .00 BULK ATOM 6982 H2 TIP3 2028 25.669 14.268 -18.797 .00 .00 BULK ATOM 6983 OH2 TIP3 2029 -11.872 13.258 -4.304 .00 .00 BULK ATOM 6984 H1 TIP3 2029 -10.913 13.399 -3.984 .00 .00 BULK ATOM 6985 H2 TIP3 2029 -11.843 13.765 -5.151 .00 .00 BULK ATOM 6986 OH2 TIP3 2030 -19.611 -3.511 -14.710 .00 .00 BULK ATOM 6987 H1 TIP3 2030 -20.355 -4.129 -14.958 .00 .00 BULK ATOM 6988 H2 TIP3 2030 -20.162 -2.771 -14.547 .00 .00 BULK ATOM 6989 OH2 TIP3 2031 26.250 -4.865 9.445 .00 .00 BULK ATOM 6990 H1 TIP3 2031 26.551 -5.677 9.045 .00 .00 BULK ATOM 6991 H2 TIP3 2031 26.911 -4.266 9.191 .00 .00 BULK ATOM 6992 OH2 TIP3 2032 -26.033 -10.776 12.492 .00 .00 BULK ATOM 6993 H1 TIP3 2032 -26.547 -10.268 13.088 .00 .00 BULK ATOM 6994 H2 TIP3 2032 -25.989 -10.171 11.761 .00 .00 BULK ATOM 6995 OH2 TIP3 2033 -26.532 -1.062 18.460 .00 .00 BULK ATOM 6996 H1 TIP3 2033 -27.210 -1.307 19.044 .00 .00 BULK ATOM 6997 H2 TIP3 2033 -26.212 -1.929 18.203 .00 .00 BULK ATOM 6998 OH2 TIP3 2034 -7.488 -18.114 -17.530 .00 .00 BULK ATOM 6999 H1 TIP3 2034 -8.392 -18.297 -17.306 .00 .00 BULK ATOM 7000 H2 TIP3 2034 -7.324 -19.025 -17.779 .00 .00 BULK ATOM 7001 OH2 TIP3 2035 -24.057 -7.906 -14.054 .00 .00 BULK ATOM 7002 H1 TIP3 2035 -24.762 -7.314 -13.761 .00 .00 BULK ATOM 7003 H2 TIP3 2035 -23.267 -7.448 -13.683 .00 .00 BULK ATOM 7004 OH2 TIP3 2036 23.784 14.847 -10.664 .00 .00 BULK ATOM 7005 H1 TIP3 2036 23.578 13.958 -11.101 .00 .00 BULK ATOM 7006 H2 TIP3 2036 23.694 14.562 -9.691 .00 .00 BULK ATOM 7007 OH2 TIP3 2037 -15.302 2.129 -22.869 .00 .00 BULK ATOM 7008 H1 TIP3 2037 -15.874 2.311 -22.089 .00 .00 BULK ATOM 7009 H2 TIP3 2037 -15.848 1.586 -23.478 .00 .00 BULK ATOM 7010 OH2 TIP3 2038 -24.344 -2.663 1.354 .00 .00 BULK ATOM 7011 H1 TIP3 2038 -23.814 -2.589 2.129 .00 .00 BULK ATOM 7012 H2 TIP3 2038 -23.633 -2.661 .691 .00 .00 BULK ATOM 7013 OH2 TIP3 2039 25.699 -20.866 3.996 .00 .00 BULK ATOM 7014 H1 TIP3 2039 25.893 -20.021 4.501 .00 .00 BULK ATOM 7015 H2 TIP3 2039 26.617 -21.192 4.129 .00 .00 BULK ATOM 7016 OH2 TIP3 2040 -25.582 22.433 -4.394 .00 .00 BULK ATOM 7017 H1 TIP3 2040 -25.664 23.353 -4.225 .00 .00 BULK ATOM 7018 H2 TIP3 2040 -25.636 22.463 -5.400 .00 .00 BULK ATOM 7019 OH2 TIP3 2041 -24.927 -7.887 -5.758 .00 .00 BULK ATOM 7020 H1 TIP3 2041 -25.765 -8.418 -5.659 .00 .00 BULK ATOM 7021 H2 TIP3 2041 -24.441 -8.405 -6.364 .00 .00 BULK ATOM 7022 OH2 TIP3 2042 -23.163 -19.309 20.323 .00 .00 BULK ATOM 7023 H1 TIP3 2042 -23.134 -19.012 19.406 .00 .00 BULK ATOM 7024 H2 TIP3 2042 -22.739 -20.176 20.222 .00 .00 BULK ATOM 7025 OH2 TIP3 2043 -16.144 -2.260 6.124 .00 .00 BULK ATOM 7026 H1 TIP3 2043 -16.038 -1.755 5.248 .00 .00 BULK ATOM 7027 H2 TIP3 2043 -16.958 -2.706 5.913 .00 .00 BULK ATOM 7028 OH2 TIP3 2044 28.211 13.358 -6.936 .00 .00 BULK ATOM 7029 H1 TIP3 2044 28.638 13.240 -6.102 .00 .00 BULK ATOM 7030 H2 TIP3 2044 28.994 13.411 -7.500 .00 .00 BULK ATOM 7031 OH2 TIP3 2045 10.254 -8.455 8.861 .00 .00 BULK ATOM 7032 H1 TIP3 2045 9.933 -8.497 7.981 .00 .00 BULK ATOM 7033 H2 TIP3 2045 10.850 -9.213 8.880 .00 .00 BULK ATOM 7034 OH2 TIP3 2046 28.494 2.396 21.820 .00 .00 BULK ATOM 7035 H1 TIP3 2046 27.757 2.694 21.235 .00 .00 BULK ATOM 7036 H2 TIP3 2046 29.013 3.222 22.080 .00 .00 BULK ATOM 7037 OH2 TIP3 2047 -22.738 2.761 1.136 .00 .00 BULK ATOM 7038 H1 TIP3 2047 -22.711 1.936 1.645 .00 .00 BULK ATOM 7039 H2 TIP3 2047 -21.886 3.228 1.163 .00 .00 BULK ATOM 7040 OH2 TIP3 2048 23.782 -4.663 5.122 .00 .00 BULK ATOM 7041 H1 TIP3 2048 23.390 -3.778 5.154 .00 .00 BULK ATOM 7042 H2 TIP3 2048 23.687 -4.832 6.097 .00 .00 BULK ATOM 7043 OH2 TIP3 2049 -24.095 6.357 .407 .00 .00 BULK ATOM 7044 H1 TIP3 2049 -24.578 7.272 .324 .00 .00 BULK ATOM 7045 H2 TIP3 2049 -23.831 6.419 1.312 .00 .00 BULK ATOM 7046 OH2 TIP3 2050 -15.748 21.979 -2.412 .00 .00 BULK ATOM 7047 H1 TIP3 2050 -16.672 21.874 -2.584 .00 .00 BULK ATOM 7048 H2 TIP3 2050 -15.641 21.559 -1.574 .00 .00 BULK ATOM 7049 OH2 TIP3 2051 29.211 .635 6.300 .00 .00 BULK ATOM 7050 H1 TIP3 2051 29.643 .388 5.446 .00 .00 BULK ATOM 7051 H2 TIP3 2051 28.624 1.334 6.157 .00 .00 BULK ATOM 7052 OH2 TIP3 2052 -21.598 -3.849 -3.454 .00 .00 BULK ATOM 7053 H1 TIP3 2052 -21.480 -3.590 -2.501 .00 .00 BULK ATOM 7054 H2 TIP3 2052 -22.319 -4.437 -3.372 .00 .00 BULK ATOM 7055 OH2 TIP3 2053 11.522 -10.110 -19.023 .00 .00 BULK ATOM 7056 H1 TIP3 2053 11.706 -11.038 -18.928 .00 .00 BULK ATOM 7057 H2 TIP3 2053 10.733 -10.024 -18.498 .00 .00 BULK ATOM 7058 OH2 TIP3 2054 29.069 -18.029 -8.306 .00 .00 BULK ATOM 7059 H1 TIP3 2054 29.179 -17.337 -7.615 .00 .00 BULK ATOM 7060 H2 TIP3 2054 28.259 -18.505 -7.919 .00 .00 BULK ATOM 7061 OH2 TIP3 2055 27.542 -.965 23.655 .00 .00 BULK ATOM 7062 H1 TIP3 2055 28.436 -.549 23.450 .00 .00 BULK ATOM 7063 H2 TIP3 2055 27.145 -.831 22.752 .00 .00 BULK ATOM 7064 OH2 TIP3 2056 -20.606 -7.521 -22.128 .00 .00 BULK ATOM 7065 H1 TIP3 2056 -20.737 -7.577 -21.165 .00 .00 BULK ATOM 7066 H2 TIP3 2056 -20.464 -6.608 -22.197 .00 .00 BULK ATOM 7067 OH2 TIP3 2057 -10.513 -3.358 -18.272 .00 .00 BULK ATOM 7068 H1 TIP3 2057 -11.131 -3.252 -17.559 .00 .00 BULK ATOM 7069 H2 TIP3 2057 -9.664 -3.174 -17.818 .00 .00 BULK ATOM 7070 OH2 TIP3 2058 19.916 -1.065 -22.317 .00 .00 BULK ATOM 7071 H1 TIP3 2058 20.105 -1.280 -21.373 .00 .00 BULK ATOM 7072 H2 TIP3 2058 19.775 -.082 -22.206 .00 .00 BULK ATOM 7073 OH2 TIP3 2059 -11.863 18.939 19.347 .00 .00 BULK ATOM 7074 H1 TIP3 2059 -12.076 17.957 19.396 .00 .00 BULK ATOM 7075 H2 TIP3 2059 -11.122 18.930 18.670 .00 .00 BULK ATOM 7076 OH2 TIP3 2060 -10.378 -21.108 13.546 .00 .00 BULK ATOM 7077 H1 TIP3 2060 -11.227 -20.659 13.693 .00 .00 BULK ATOM 7078 H2 TIP3 2060 -10.291 -21.047 12.578 .00 .00 BULK ATOM 7079 OH2 TIP3 2061 -29.159 -13.023 3.653 .00 .00 BULK ATOM 7080 H1 TIP3 2061 -28.918 -12.759 4.518 .00 .00 BULK ATOM 7081 H2 TIP3 2061 -28.695 -12.348 3.080 .00 .00 BULK ATOM 7082 OH2 TIP3 2062 -23.339 1.012 13.196 .00 .00 BULK ATOM 7083 H1 TIP3 2062 -23.390 1.987 13.233 .00 .00 BULK ATOM 7084 H2 TIP3 2062 -24.218 .836 12.873 .00 .00 BULK ATOM 7085 OH2 TIP3 2063 24.111 -9.899 17.561 .00 .00 BULK ATOM 7086 H1 TIP3 2063 24.813 -9.679 16.926 .00 .00 BULK ATOM 7087 H2 TIP3 2063 24.634 -10.373 18.216 .00 .00 BULK ATOM 7088 OH2 TIP3 2064 24.786 17.852 1.437 .00 .00 BULK ATOM 7089 H1 TIP3 2064 24.393 17.786 .565 .00 .00 BULK ATOM 7090 H2 TIP3 2064 24.771 18.791 1.599 .00 .00 BULK ATOM 7091 OH2 TIP3 2065 -19.941 4.288 -19.157 .00 .00 BULK ATOM 7092 H1 TIP3 2065 -20.517 4.731 -18.415 .00 .00 BULK ATOM 7093 H2 TIP3 2065 -19.130 4.095 -18.690 .00 .00 BULK ATOM 7094 OH2 TIP3 2066 -29.638 9.795 2.347 .00 .00 BULK ATOM 7095 H1 TIP3 2066 -30.145 9.656 3.128 .00 .00 BULK ATOM 7096 H2 TIP3 2066 -30.206 9.310 1.682 .00 .00 BULK ATOM 7097 OH2 TIP3 2067 13.704 23.011 -15.877 .00 .00 BULK ATOM 7098 H1 TIP3 2067 13.759 22.147 -15.442 .00 .00 BULK ATOM 7099 H2 TIP3 2067 12.801 23.228 -15.522 .00 .00 BULK ATOM 7100 OH2 TIP3 2068 -14.510 -17.073 -19.788 .00 .00 BULK ATOM 7101 H1 TIP3 2068 -14.865 -16.590 -19.039 .00 .00 BULK ATOM 7102 H2 TIP3 2068 -14.176 -17.881 -19.313 .00 .00 BULK ATOM 7103 OH2 TIP3 2069 -18.283 2.375 -16.589 .00 .00 BULK ATOM 7104 H1 TIP3 2069 -18.365 3.281 -16.257 .00 .00 BULK ATOM 7105 H2 TIP3 2069 -17.914 2.401 -17.446 .00 .00 BULK ATOM 7106 OH2 TIP3 2070 -16.856 4.922 8.879 .00 .00 BULK ATOM 7107 H1 TIP3 2070 -17.011 4.939 9.856 .00 .00 BULK ATOM 7108 H2 TIP3 2070 -17.475 4.226 8.674 .00 .00 BULK ATOM 7109 OH2 TIP3 2071 -18.200 -16.831 6.513 .00 .00 BULK ATOM 7110 H1 TIP3 2071 -17.432 -16.944 5.906 .00 .00 BULK ATOM 7111 H2 TIP3 2071 -18.017 -17.482 7.245 .00 .00 BULK ATOM 7112 OH2 TIP3 2072 -21.288 7.663 1.484 .00 .00 BULK ATOM 7113 H1 TIP3 2072 -20.773 8.338 1.026 .00 .00 BULK ATOM 7114 H2 TIP3 2072 -21.357 8.105 2.341 .00 .00 BULK ATOM 7115 OH2 TIP3 2073 18.703 -1.860 22.527 .00 .00 BULK ATOM 7116 H1 TIP3 2073 19.159 -1.718 23.409 .00 .00 BULK ATOM 7117 H2 TIP3 2073 17.776 -1.592 22.799 .00 .00 BULK ATOM 7118 OH2 TIP3 2074 -27.442 -8.499 -12.027 .00 .00 BULK ATOM 7119 H1 TIP3 2074 -27.047 -8.068 -12.801 .00 .00 BULK ATOM 7120 H2 TIP3 2074 -28.284 -8.574 -12.481 .00 .00 BULK ATOM 7121 OH2 TIP3 2075 -13.171 -8.615 -18.271 .00 .00 BULK ATOM 7122 H1 TIP3 2075 -12.206 -8.475 -18.363 .00 .00 BULK ATOM 7123 H2 TIP3 2075 -13.485 -8.008 -18.976 .00 .00 BULK ATOM 7124 OH2 TIP3 2076 25.511 -6.278 3.577 .00 .00 BULK ATOM 7125 H1 TIP3 2076 24.930 -5.850 4.288 .00 .00 BULK ATOM 7126 H2 TIP3 2076 26.278 -5.739 3.733 .00 .00 BULK ATOM 7127 OH2 TIP3 2077 20.442 -14.748 -2.043 .00 .00 BULK ATOM 7128 H1 TIP3 2077 21.106 -14.251 -1.466 .00 .00 BULK ATOM 7129 H2 TIP3 2077 21.009 -15.241 -2.704 .00 .00 BULK ATOM 7130 OH2 TIP3 2078 -25.619 -19.788 14.239 .00 .00 BULK ATOM 7131 H1 TIP3 2078 -25.680 -20.045 13.288 .00 .00 BULK ATOM 7132 H2 TIP3 2078 -25.518 -18.813 14.138 .00 .00 BULK ATOM 7133 OH2 TIP3 2079 -14.244 -15.203 -5.399 .00 .00 BULK ATOM 7134 H1 TIP3 2079 -14.938 -14.542 -5.477 .00 .00 BULK ATOM 7135 H2 TIP3 2079 -14.718 -15.909 -4.945 .00 .00 BULK ATOM 7136 OH2 TIP3 2080 -12.418 1.501 14.210 .00 .00 BULK ATOM 7137 H1 TIP3 2080 -12.126 2.264 13.718 .00 .00 BULK ATOM 7138 H2 TIP3 2080 -11.759 .855 13.954 .00 .00 BULK ATOM 7139 OH2 TIP3 2081 18.925 -.912 -1.415 .00 .00 BULK ATOM 7140 H1 TIP3 2081 19.304 -.177 -1.005 .00 .00 BULK ATOM 7141 H2 TIP3 2081 19.699 -1.373 -1.807 .00 .00 BULK ATOM 7142 OH2 TIP3 2082 -21.907 18.483 -1.063 .00 .00 BULK ATOM 7143 H1 TIP3 2082 -21.854 18.681 -2.036 .00 .00 BULK ATOM 7144 H2 TIP3 2082 -21.157 19.004 -.680 .00 .00 BULK ATOM 7145 OH2 TIP3 2083 28.824 5.474 11.629 .00 .00 BULK ATOM 7146 H1 TIP3 2083 29.022 4.738 12.232 .00 .00 BULK ATOM 7147 H2 TIP3 2083 28.095 5.953 12.147 .00 .00 BULK ATOM 7148 OH2 TIP3 2084 -19.076 -18.859 -2.369 .00 .00 BULK ATOM 7149 H1 TIP3 2084 -18.539 -19.483 -2.879 .00 .00 BULK ATOM 7150 H2 TIP3 2084 -19.326 -18.255 -3.093 .00 .00 BULK ATOM 7151 OH2 TIP3 2085 -2.210 -14.407 -1.615 .00 .00 BULK ATOM 7152 H1 TIP3 2085 -1.387 -14.100 -1.207 .00 .00 BULK ATOM 7153 H2 TIP3 2085 -2.891 -14.076 -1.010 .00 .00 BULK ATOM 7154 OH2 TIP3 2086 -11.286 -22.032 8.253 .00 .00 BULK ATOM 7155 H1 TIP3 2086 -11.099 -22.131 7.236 .00 .00 BULK ATOM 7156 H2 TIP3 2086 -12.205 -21.608 8.206 .00 .00 BULK ATOM 7157 OH2 TIP3 2087 -17.375 -7.312 10.158 .00 .00 BULK ATOM 7158 H1 TIP3 2087 -18.242 -7.043 9.820 .00 .00 BULK ATOM 7159 H2 TIP3 2087 -17.203 -6.668 10.889 .00 .00 BULK ATOM 7160 OH2 TIP3 2088 -9.846 11.125 12.341 .00 .00 BULK ATOM 7161 H1 TIP3 2088 -10.823 11.146 12.631 .00 .00 BULK ATOM 7162 H2 TIP3 2088 -9.411 11.240 13.231 .00 .00 BULK ATOM 7163 OH2 TIP3 2089 -21.814 -21.472 8.383 .00 .00 BULK ATOM 7164 H1 TIP3 2089 -21.361 -20.677 8.614 .00 .00 BULK ATOM 7165 H2 TIP3 2089 -22.551 -21.069 7.756 .00 .00 BULK ATOM 7166 OH2 TIP3 2090 .995 -22.236 4.575 .00 .00 BULK ATOM 7167 H1 TIP3 2090 1.453 -23.127 4.377 .00 .00 BULK ATOM 7168 H2 TIP3 2090 1.042 -21.733 3.719 .00 .00 BULK ATOM 7169 OH2 TIP3 2091 -15.164 -9.853 15.749 .00 .00 BULK ATOM 7170 H1 TIP3 2091 -15.231 -10.662 15.166 .00 .00 BULK ATOM 7171 H2 TIP3 2091 -15.971 -10.041 16.376 .00 .00 BULK ATOM 7172 OH2 TIP3 2092 8.641 -18.843 -5.094 .00 .00 BULK ATOM 7173 H1 TIP3 2092 7.719 -19.204 -5.030 .00 .00 BULK ATOM 7174 H2 TIP3 2092 8.723 -18.336 -4.303 .00 .00 BULK ATOM 7175 OH2 TIP3 2093 -18.634 13.127 7.348 .00 .00 BULK ATOM 7176 H1 TIP3 2093 -19.662 13.064 7.231 .00 .00 BULK ATOM 7177 H2 TIP3 2093 -18.425 12.241 7.660 .00 .00 BULK ATOM 7178 OH2 TIP3 2094 -1.595 2.088 13.283 .00 .00 BULK ATOM 7179 H1 TIP3 2094 -2.060 2.861 13.688 .00 .00 BULK ATOM 7180 H2 TIP3 2094 -2.288 1.524 13.604 .00 .00 BULK ATOM 7181 OH2 TIP3 2095 -12.376 18.685 -17.020 .00 .00 BULK ATOM 7182 H1 TIP3 2095 -12.816 18.314 -17.823 .00 .00 BULK ATOM 7183 H2 TIP3 2095 -11.848 19.393 -17.528 .00 .00 BULK ATOM 7184 OH2 TIP3 2096 5.512 -19.701 20.349 .00 .00 BULK ATOM 7185 H1 TIP3 2096 6.050 -19.048 19.801 .00 .00 BULK ATOM 7186 H2 TIP3 2096 5.176 -18.969 20.959 .00 .00 BULK ATOM 7187 OH2 TIP3 2097 26.216 3.703 9.771 .00 .00 BULK ATOM 7188 H1 TIP3 2097 25.818 4.574 9.715 .00 .00 BULK ATOM 7189 H2 TIP3 2097 25.452 3.140 10.035 .00 .00 BULK ATOM 7190 OH2 TIP3 2098 .969 -19.066 -14.946 .00 .00 BULK ATOM 7191 H1 TIP3 2098 .130 -18.687 -15.302 .00 .00 BULK ATOM 7192 H2 TIP3 2098 1.161 -18.478 -14.194 .00 .00 BULK ATOM 7193 OH2 TIP3 2099 1.180 -9.104 -11.471 .00 .00 BULK ATOM 7194 H1 TIP3 2099 .886 -8.613 -10.700 .00 .00 BULK ATOM 7195 H2 TIP3 2099 1.182 -8.418 -12.141 .00 .00 BULK ATOM 7196 OH2 TIP3 2100 16.269 6.009 -10.333 .00 .00 BULK ATOM 7197 H1 TIP3 2100 16.341 6.232 -11.315 .00 .00 BULK ATOM 7198 H2 TIP3 2100 16.048 5.066 -10.419 .00 .00 BULK ATOM 7199 OH2 TIP3 2101 -23.677 5.833 3.221 .00 .00 BULK ATOM 7200 H1 TIP3 2101 -23.967 4.898 3.263 .00 .00 BULK ATOM 7201 H2 TIP3 2101 -22.725 5.800 3.362 .00 .00 BULK ATOM 7202 OH2 TIP3 2102 -5.194 -5.694 8.240 .00 .00 BULK ATOM 7203 H1 TIP3 2102 -4.440 -5.154 8.416 .00 .00 BULK ATOM 7204 H2 TIP3 2102 -4.745 -6.539 8.581 .00 .00 BULK ATOM 7205 OH2 TIP3 2103 -29.483 -13.445 -4.871 .00 .00 BULK ATOM 7206 H1 TIP3 2103 -30.123 -13.541 -5.582 .00 .00 BULK ATOM 7207 H2 TIP3 2103 -28.640 -13.523 -5.346 .00 .00 BULK ATOM 7208 OH2 TIP3 2104 -18.889 9.767 4.921 .00 .00 BULK ATOM 7209 H1 TIP3 2104 -19.745 9.334 4.943 .00 .00 BULK ATOM 7210 H2 TIP3 2104 -18.919 10.031 5.831 .00 .00 BULK ATOM 7211 OH2 TIP3 2105 -3.878 -12.897 3.871 .00 .00 BULK ATOM 7212 H1 TIP3 2105 -4.597 -12.291 3.699 .00 .00 BULK ATOM 7213 H2 TIP3 2105 -4.341 -13.611 4.394 .00 .00 BULK ATOM 7214 OH2 TIP3 2106 15.332 -5.152 5.915 .00 .00 BULK ATOM 7215 H1 TIP3 2106 15.773 -5.988 5.985 .00 .00 BULK ATOM 7216 H2 TIP3 2106 16.049 -4.702 6.502 .00 .00 BULK ATOM 7217 OH2 TIP3 2107 -26.894 3.168 6.711 .00 .00 BULK ATOM 7218 H1 TIP3 2107 -27.252 2.292 6.674 .00 .00 BULK ATOM 7219 H2 TIP3 2107 -25.945 3.048 6.728 .00 .00 BULK ATOM 7220 OH2 TIP3 2108 -20.596 20.392 13.247 .00 .00 BULK ATOM 7221 H1 TIP3 2108 -20.285 20.677 14.128 .00 .00 BULK ATOM 7222 H2 TIP3 2108 -20.236 19.478 13.273 .00 .00 BULK ATOM 7223 OH2 TIP3 2109 -5.586 9.876 5.965 .00 .00 BULK ATOM 7224 H1 TIP3 2109 -5.599 10.852 6.032 .00 .00 BULK ATOM 7225 H2 TIP3 2109 -4.897 9.807 5.278 .00 .00 BULK ATOM 7226 OH2 TIP3 2110 -1.362 18.910 7.420 .00 .00 BULK ATOM 7227 H1 TIP3 2110 -.459 18.960 7.150 .00 .00 BULK ATOM 7228 H2 TIP3 2110 -1.782 19.095 6.623 .00 .00 BULK ATOM 7229 OH2 TIP3 2111 -2.073 -6.982 -8.496 .00 .00 BULK ATOM 7230 H1 TIP3 2111 -2.734 -6.677 -7.891 .00 .00 BULK ATOM 7231 H2 TIP3 2111 -2.136 -7.887 -8.241 .00 .00 BULK ATOM 7232 OH2 TIP3 2112 2.545 -5.695 -23.116 .00 .00 BULK ATOM 7233 H1 TIP3 2112 2.240 -6.615 -23.178 .00 .00 BULK ATOM 7234 H2 TIP3 2112 1.687 -5.250 -22.820 .00 .00 BULK ATOM 7235 OH2 TIP3 2113 20.930 -20.568 12.218 .00 .00 BULK ATOM 7236 H1 TIP3 2113 20.868 -19.945 11.442 .00 .00 BULK ATOM 7237 H2 TIP3 2113 21.391 -21.367 11.785 .00 .00 BULK ATOM 7238 OH2 TIP3 2114 -6.077 3.011 13.243 .00 .00 BULK ATOM 7239 H1 TIP3 2114 -6.243 2.367 13.943 .00 .00 BULK ATOM 7240 H2 TIP3 2114 -6.996 3.048 12.833 .00 .00 BULK ATOM 7241 OH2 TIP3 2115 25.382 10.368 15.115 .00 .00 BULK ATOM 7242 H1 TIP3 2115 25.646 11.266 15.343 .00 .00 BULK ATOM 7243 H2 TIP3 2115 25.450 10.502 14.113 .00 .00 BULK ATOM 7244 OH2 TIP3 2116 -4.418 -4.178 -15.884 .00 .00 BULK ATOM 7245 H1 TIP3 2116 -4.946 -4.078 -16.708 .00 .00 BULK ATOM 7246 H2 TIP3 2116 -4.495 -5.129 -15.764 .00 .00 BULK ATOM 7247 OH2 TIP3 2117 16.697 6.541 8.799 .00 .00 BULK ATOM 7248 H1 TIP3 2117 17.276 6.075 8.168 .00 .00 BULK ATOM 7249 H2 TIP3 2117 15.860 6.588 8.267 .00 .00 BULK ATOM 7250 OH2 TIP3 2118 -24.235 -8.832 23.032 .00 .00 BULK ATOM 7251 H1 TIP3 2118 -24.441 -9.677 23.457 .00 .00 BULK ATOM 7252 H2 TIP3 2118 -24.220 -8.162 23.730 .00 .00 BULK ATOM 7253 OH2 TIP3 2119 5.917 -10.310 9.310 .00 .00 BULK ATOM 7254 H1 TIP3 2119 4.897 -10.168 9.373 .00 .00 BULK ATOM 7255 H2 TIP3 2119 6.106 -10.280 10.276 .00 .00 BULK ATOM 7256 OH2 TIP3 2120 22.446 -14.681 13.704 .00 .00 BULK ATOM 7257 H1 TIP3 2120 22.094 -13.807 13.989 .00 .00 BULK ATOM 7258 H2 TIP3 2120 23.380 -14.636 13.531 .00 .00 BULK ATOM 7259 OH2 TIP3 2121 19.191 -1.267 13.705 .00 .00 BULK ATOM 7260 H1 TIP3 2121 19.632 -.733 14.376 .00 .00 BULK ATOM 7261 H2 TIP3 2121 19.972 -1.451 13.112 .00 .00 BULK ATOM 7262 OH2 TIP3 2122 20.675 18.598 -.759 .00 .00 BULK ATOM 7263 H1 TIP3 2122 21.603 18.378 -.992 .00 .00 BULK ATOM 7264 H2 TIP3 2122 20.223 18.246 -1.568 .00 .00 BULK ATOM 7265 OH2 TIP3 2123 -2.779 -.362 18.961 .00 .00 BULK ATOM 7266 H1 TIP3 2123 -2.607 -1.295 19.072 .00 .00 BULK ATOM 7267 H2 TIP3 2123 -2.057 -.032 19.490 .00 .00 BULK ATOM 7268 OH2 TIP3 2124 -9.613 -15.740 .835 .00 .00 BULK ATOM 7269 H1 TIP3 2124 -9.700 -16.093 1.736 .00 .00 BULK ATOM 7270 H2 TIP3 2124 -9.650 -16.531 .358 .00 .00 BULK ATOM 7271 OH2 TIP3 2125 22.146 16.459 -6.735 .00 .00 BULK ATOM 7272 H1 TIP3 2125 22.081 16.507 -7.683 .00 .00 BULK ATOM 7273 H2 TIP3 2125 23.002 16.018 -6.665 .00 .00 BULK ATOM 7274 OH2 TIP3 2126 4.207 15.861 18.906 .00 .00 BULK ATOM 7275 H1 TIP3 2126 4.513 15.484 19.737 .00 .00 BULK ATOM 7276 H2 TIP3 2126 3.377 16.282 19.194 .00 .00 BULK ATOM 7277 OH2 TIP3 2127 20.551 15.556 18.917 .00 .00 BULK ATOM 7278 H1 TIP3 2127 20.417 16.563 18.886 .00 .00 BULK ATOM 7279 H2 TIP3 2127 20.293 15.389 19.805 .00 .00 BULK ATOM 7280 OH2 TIP3 2128 13.600 -6.190 -10.792 .00 .00 BULK ATOM 7281 H1 TIP3 2128 14.123 -6.743 -10.204 .00 .00 BULK ATOM 7282 H2 TIP3 2128 12.809 -5.835 -10.266 .00 .00 BULK ATOM 7283 OH2 TIP3 2129 -25.842 -.925 8.968 .00 .00 BULK ATOM 7284 H1 TIP3 2129 -26.645 -.551 8.634 .00 .00 BULK ATOM 7285 H2 TIP3 2129 -26.110 -1.832 9.053 .00 .00 BULK ATOM 7286 OH2 TIP3 2130 17.239 11.652 -9.556 .00 .00 BULK ATOM 7287 H1 TIP3 2130 16.866 12.057 -8.806 .00 .00 BULK ATOM 7288 H2 TIP3 2130 16.571 11.883 -10.217 .00 .00 BULK ATOM 7289 OH2 TIP3 2131 12.064 19.522 15.737 .00 .00 BULK ATOM 7290 H1 TIP3 2131 11.546 18.669 15.511 .00 .00 BULK ATOM 7291 H2 TIP3 2131 12.510 19.261 16.534 .00 .00 BULK ATOM 7292 OH2 TIP3 2132 9.925 -12.219 19.136 .00 .00 BULK ATOM 7293 H1 TIP3 2132 9.661 -11.299 19.263 .00 .00 BULK ATOM 7294 H2 TIP3 2132 10.041 -12.159 18.165 .00 .00 BULK ATOM 7295 OH2 TIP3 2133 12.835 17.495 -19.076 .00 .00 BULK ATOM 7296 H1 TIP3 2133 13.069 17.059 -18.244 .00 .00 BULK ATOM 7297 H2 TIP3 2133 13.613 18.122 -19.198 .00 .00 BULK ATOM 7298 OH2 TIP3 2134 4.165 22.329 6.289 .00 .00 BULK ATOM 7299 H1 TIP3 2134 3.544 22.329 7.058 .00 .00 BULK ATOM 7300 H2 TIP3 2134 3.816 21.535 5.896 .00 .00 BULK ATOM 7301 OH2 TIP3 2135 8.028 11.984 21.519 .00 .00 BULK ATOM 7302 H1 TIP3 2135 8.564 12.391 20.804 .00 .00 BULK ATOM 7303 H2 TIP3 2135 8.048 11.056 21.348 .00 .00 BULK ATOM 7304 OH2 TIP3 2136 7.342 5.683 -23.181 .00 .00 BULK ATOM 7305 H1 TIP3 2136 7.174 5.132 -23.992 .00 .00 BULK ATOM 7306 H2 TIP3 2136 6.483 5.636 -22.729 .00 .00 BULK ATOM 7307 OH2 TIP3 2137 19.212 9.508 -9.483 .00 .00 BULK ATOM 7308 H1 TIP3 2137 18.644 10.329 -9.566 .00 .00 BULK ATOM 7309 H2 TIP3 2137 19.260 9.401 -10.427 .00 .00 BULK ATOM 7310 OH2 TIP3 2138 6.141 13.382 -5.331 .00 .00 BULK ATOM 7311 H1 TIP3 2138 5.767 12.656 -4.812 .00 .00 BULK ATOM 7312 H2 TIP3 2138 5.266 13.753 -5.464 .00 .00 BULK ATOM 7313 OH2 TIP3 2139 25.914 .454 18.459 .00 .00 BULK ATOM 7314 H1 TIP3 2139 25.525 -.378 18.765 .00 .00 BULK ATOM 7315 H2 TIP3 2139 25.844 .282 17.514 .00 .00 BULK ATOM 7316 OH2 TIP3 2140 28.701 22.113 10.685 .00 .00 BULK ATOM 7317 H1 TIP3 2140 29.453 22.400 11.263 .00 .00 BULK ATOM 7318 H2 TIP3 2140 29.149 22.102 9.861 .00 .00 BULK ATOM 7319 OH2 TIP3 2141 28.197 21.119 22.311 .00 .00 BULK ATOM 7320 H1 TIP3 2141 29.164 21.242 22.201 .00 .00 BULK ATOM 7321 H2 TIP3 2141 27.966 22.025 22.601 .00 .00 BULK ATOM 7322 OH2 TIP3 2142 -26.326 15.153 21.339 .00 .00 BULK ATOM 7323 H1 TIP3 2142 -26.940 14.596 20.900 .00 .00 BULK ATOM 7324 H2 TIP3 2142 -26.993 15.811 21.617 .00 .00 BULK ATOM 7325 OH2 TIP3 2143 20.514 -4.285 5.271 .00 .00 BULK ATOM 7326 H1 TIP3 2143 21.034 -3.501 5.393 .00 .00 BULK ATOM 7327 H2 TIP3 2143 19.859 -4.201 6.037 .00 .00 BULK ATOM 7328 OH2 TIP3 2144 -1.539 4.954 22.827 .00 .00 BULK ATOM 7329 H1 TIP3 2144 -2.395 5.437 22.857 .00 .00 BULK ATOM 7330 H2 TIP3 2144 -1.800 4.098 22.352 .00 .00 BULK ATOM 7331 OH2 TIP3 2145 1.152 19.227 3.190 .00 .00 BULK ATOM 7332 H1 TIP3 2145 1.556 18.683 3.843 .00 .00 BULK ATOM 7333 H2 TIP3 2145 .354 18.733 2.878 .00 .00 BULK ATOM 7334 OH2 TIP3 2146 16.194 14.916 6.895 .00 .00 BULK ATOM 7335 H1 TIP3 2146 16.276 14.742 7.871 .00 .00 BULK ATOM 7336 H2 TIP3 2146 15.582 15.590 6.725 .00 .00 BULK ATOM 7337 OH2 TIP3 2147 18.647 11.990 16.252 .00 .00 BULK ATOM 7338 H1 TIP3 2147 19.009 12.000 17.193 .00 .00 BULK ATOM 7339 H2 TIP3 2147 19.371 12.477 15.823 .00 .00 BULK ATOM 7340 OH2 TIP3 2148 -28.901 23.551 .456 .00 .00 BULK ATOM 7341 H1 TIP3 2148 -29.369 22.740 .487 .00 .00 BULK ATOM 7342 H2 TIP3 2148 -29.366 24.007 -.231 .00 .00 BULK ATOM 7343 OH2 TIP3 2149 13.360 14.947 15.565 .00 .00 BULK ATOM 7344 H1 TIP3 2149 13.471 14.259 14.877 .00 .00 BULK ATOM 7345 H2 TIP3 2149 14.252 15.299 15.682 .00 .00 BULK ATOM 7346 OH2 TIP3 2150 -29.091 16.568 12.656 .00 .00 BULK ATOM 7347 H1 TIP3 2150 -29.010 15.931 13.378 .00 .00 BULK ATOM 7348 H2 TIP3 2150 -28.676 16.068 12.002 .00 .00 BULK ATOM 7349 OH2 TIP3 2151 -28.459 -1.390 -19.158 .00 .00 BULK ATOM 7350 H1 TIP3 2151 -28.338 -1.915 -19.979 .00 .00 BULK ATOM 7351 H2 TIP3 2151 -29.355 -.971 -19.292 .00 .00 BULK ATOM 7352 OH2 TIP3 2152 6.498 -11.526 -22.409 .00 .00 BULK ATOM 7353 H1 TIP3 2152 6.623 -11.882 -23.302 .00 .00 BULK ATOM 7354 H2 TIP3 2152 6.480 -10.567 -22.639 .00 .00 BULK ATOM 7355 OH2 TIP3 2153 -9.014 10.120 -10.163 .00 .00 BULK ATOM 7356 H1 TIP3 2153 -9.708 9.498 -10.276 .00 .00 BULK ATOM 7357 H2 TIP3 2153 -8.906 9.954 -9.224 .00 .00 BULK ATOM 7358 OH2 TIP3 2154 26.397 -1.280 -20.479 .00 .00 BULK ATOM 7359 H1 TIP3 2154 26.496 -1.963 -21.108 .00 .00 BULK ATOM 7360 H2 TIP3 2154 26.966 -.648 -20.822 .00 .00 BULK ATOM 7361 OH2 TIP3 2155 11.541 23.230 -14.321 .00 .00 BULK ATOM 7362 H1 TIP3 2155 10.779 22.998 -13.670 .00 .00 BULK ATOM 7363 H2 TIP3 2155 12.170 23.674 -13.743 .00 .00 BULK ATOM 7364 OH2 TIP3 2156 23.010 2.690 5.025 .00 .00 BULK ATOM 7365 H1 TIP3 2156 23.445 3.424 5.577 .00 .00 BULK ATOM 7366 H2 TIP3 2156 22.547 3.165 4.319 .00 .00 BULK ATOM 7367 OH2 TIP3 2157 27.896 1.330 -9.967 .00 .00 BULK ATOM 7368 H1 TIP3 2157 28.760 1.124 -10.439 .00 .00 BULK ATOM 7369 H2 TIP3 2157 28.344 1.598 -9.114 .00 .00 BULK ATOM 7370 OH2 TIP3 2158 3.917 12.377 10.156 .00 .00 BULK ATOM 7371 H1 TIP3 2158 4.818 12.250 9.931 .00 .00 BULK ATOM 7372 H2 TIP3 2158 3.785 11.509 10.636 .00 .00 BULK ATOM 7373 OH2 TIP3 2159 8.708 -9.555 19.494 .00 .00 BULK ATOM 7374 H1 TIP3 2159 8.946 -8.796 18.934 .00 .00 BULK ATOM 7375 H2 TIP3 2159 7.976 -9.201 20.045 .00 .00 BULK ATOM 7376 OH2 TIP3 2160 9.312 11.411 18.813 .00 .00 BULK ATOM 7377 H1 TIP3 2160 10.174 11.630 18.491 .00 .00 BULK ATOM 7378 H2 TIP3 2160 9.503 10.796 19.565 .00 .00 BULK ATOM 7379 OH2 TIP3 2161 20.140 12.830 -1.100 .00 .00 BULK ATOM 7380 H1 TIP3 2161 19.247 12.377 -1.114 .00 .00 BULK ATOM 7381 H2 TIP3 2161 20.103 13.225 -.216 .00 .00 BULK ATOM 7382 OH2 TIP3 2162 18.958 .398 18.209 .00 .00 BULK ATOM 7383 H1 TIP3 2162 19.395 .303 17.377 .00 .00 BULK ATOM 7384 H2 TIP3 2162 19.082 1.406 18.371 .00 .00 BULK ATOM 7385 OH2 TIP3 2163 25.260 12.186 -21.693 .00 .00 BULK ATOM 7386 H1 TIP3 2163 26.141 12.043 -22.058 .00 .00 BULK ATOM 7387 H2 TIP3 2163 25.518 12.864 -21.051 .00 .00 BULK ATOM 7388 OH2 TIP3 2164 10.696 -9.252 15.327 .00 .00 BULK ATOM 7389 H1 TIP3 2164 10.328 -9.348 14.454 .00 .00 BULK ATOM 7390 H2 TIP3 2164 11.433 -8.656 15.101 .00 .00 BULK ATOM 7391 OH2 TIP3 2165 -22.163 9.808 22.406 .00 .00 BULK ATOM 7392 H1 TIP3 2165 -21.735 10.491 21.840 .00 .00 BULK ATOM 7393 H2 TIP3 2165 -21.333 9.389 22.708 .00 .00 BULK ATOM 7394 OH2 TIP3 2166 -18.237 2.177 9.459 .00 .00 BULK ATOM 7395 H1 TIP3 2166 -19.143 1.850 9.665 .00 .00 BULK ATOM 7396 H2 TIP3 2166 -17.827 2.096 10.353 .00 .00 BULK ATOM 7397 OH2 TIP3 2167 -21.665 5.098 -21.131 .00 .00 BULK ATOM 7398 H1 TIP3 2167 -21.050 4.696 -20.485 .00 .00 BULK ATOM 7399 H2 TIP3 2167 -21.089 5.857 -21.329 .00 .00 BULK ATOM 7400 OH2 TIP3 2168 20.200 7.653 17.208 .00 .00 BULK ATOM 7401 H1 TIP3 2168 19.688 7.838 18.011 .00 .00 BULK ATOM 7402 H2 TIP3 2168 20.330 8.522 16.813 .00 .00 BULK ATOM 7403 OH2 TIP3 2169 2.581 3.779 -20.779 .00 .00 BULK ATOM 7404 H1 TIP3 2169 2.363 2.790 -20.624 .00 .00 BULK ATOM 7405 H2 TIP3 2169 1.644 4.016 -20.971 .00 .00 BULK ATOM 7406 OH2 TIP3 2170 19.822 15.295 -5.856 .00 .00 BULK ATOM 7407 H1 TIP3 2170 19.949 14.405 -6.213 .00 .00 BULK ATOM 7408 H2 TIP3 2170 20.561 15.774 -6.318 .00 .00 BULK ATOM 7409 OH2 TIP3 2171 .532 .306 13.614 .00 .00 BULK ATOM 7410 H1 TIP3 2171 1.154 1.041 13.870 .00 .00 BULK ATOM 7411 H2 TIP3 2171 -.183 1.013 13.685 .00 .00 BULK ATOM 7412 OH2 TIP3 2172 9.637 -19.150 10.976 .00 .00 BULK ATOM 7413 H1 TIP3 2172 9.422 -18.673 11.802 .00 .00 BULK ATOM 7414 H2 TIP3 2172 9.947 -18.498 10.303 .00 .00 BULK ATOM 7415 OH2 TIP3 2173 26.110 13.011 15.530 .00 .00 BULK ATOM 7416 H1 TIP3 2173 26.166 13.898 15.084 .00 .00 BULK ATOM 7417 H2 TIP3 2173 27.027 12.676 15.425 .00 .00 BULK ATOM 7418 OH2 TIP3 2174 -1.217 -20.091 1.189 .00 .00 BULK ATOM 7419 H1 TIP3 2174 -1.679 -19.771 2.054 .00 .00 BULK ATOM 7420 H2 TIP3 2174 -1.814 -20.819 .951 .00 .00 BULK ATOM 7421 OH2 TIP3 2175 -23.774 22.701 1.867 .00 .00 BULK ATOM 7422 H1 TIP3 2175 -23.688 22.084 1.130 .00 .00 BULK ATOM 7423 H2 TIP3 2175 -24.605 23.118 1.657 .00 .00 BULK ATOM 7424 OH2 TIP3 2176 -5.952 -10.765 16.699 .00 .00 BULK ATOM 7425 H1 TIP3 2176 -5.912 -9.801 16.696 .00 .00 BULK ATOM 7426 H2 TIP3 2176 -6.357 -10.893 15.794 .00 .00 BULK ATOM 7427 OH2 TIP3 2177 21.604 -6.918 14.586 .00 .00 BULK ATOM 7428 H1 TIP3 2177 21.822 -7.435 13.715 .00 .00 BULK ATOM 7429 H2 TIP3 2177 21.694 -7.671 15.184 .00 .00 BULK ATOM 7430 OH2 TIP3 2178 17.534 17.160 -12.508 .00 .00 BULK ATOM 7431 H1 TIP3 2178 17.582 17.843 -13.230 .00 .00 BULK ATOM 7432 H2 TIP3 2178 16.846 17.510 -11.952 .00 .00 BULK ATOM 7433 OH2 TIP3 2179 -21.074 -17.573 20.254 .00 .00 BULK ATOM 7434 H1 TIP3 2179 -21.722 -18.229 20.514 .00 .00 BULK ATOM 7435 H2 TIP3 2179 -21.699 -16.831 20.228 .00 .00 BULK ATOM 7436 OH2 TIP3 2180 14.334 -17.348 6.298 .00 .00 BULK ATOM 7437 H1 TIP3 2180 14.289 -17.336 7.313 .00 .00 BULK ATOM 7438 H2 TIP3 2180 13.876 -18.217 6.037 .00 .00 BULK ATOM 7439 OH2 TIP3 2181 -20.025 14.399 16.490 .00 .00 BULK ATOM 7440 H1 TIP3 2181 -19.576 14.460 15.677 .00 .00 BULK ATOM 7441 H2 TIP3 2181 -20.832 14.938 16.316 .00 .00 BULK ATOM 7442 OH2 TIP3 2182 -18.197 15.215 9.169 .00 .00 BULK ATOM 7443 H1 TIP3 2182 -17.292 15.090 8.993 .00 .00 BULK ATOM 7444 H2 TIP3 2182 -18.627 14.842 8.358 .00 .00 BULK ATOM 7445 OH2 TIP3 2183 -5.348 19.968 -5.701 .00 .00 BULK ATOM 7446 H1 TIP3 2183 -4.541 19.346 -5.783 .00 .00 BULK ATOM 7447 H2 TIP3 2183 -5.993 19.310 -5.427 .00 .00 BULK ATOM 7448 OH2 TIP3 2184 -6.642 8.145 17.670 .00 .00 BULK ATOM 7449 H1 TIP3 2184 -7.324 8.592 18.183 .00 .00 BULK ATOM 7450 H2 TIP3 2184 -6.328 7.628 18.385 .00 .00 BULK ATOM 7451 OH2 TIP3 2185 -26.552 -15.136 -1.791 .00 .00 BULK ATOM 7452 H1 TIP3 2185 -26.799 -16.038 -1.641 .00 .00 BULK ATOM 7453 H2 TIP3 2185 -26.908 -14.716 -.967 .00 .00 BULK ATOM 7454 OH2 TIP3 2186 -11.697 8.645 8.809 .00 .00 BULK ATOM 7455 H1 TIP3 2186 -11.442 9.093 8.001 .00 .00 BULK ATOM 7456 H2 TIP3 2186 -11.077 9.119 9.391 .00 .00 BULK ATOM 7457 OH2 TIP3 2187 -17.750 11.894 16.683 .00 .00 BULK ATOM 7458 H1 TIP3 2187 -17.000 11.250 16.582 .00 .00 BULK ATOM 7459 H2 TIP3 2187 -17.585 12.583 16.078 .00 .00 BULK ATOM 7460 OH2 TIP3 2188 -12.119 22.044 7.582 .00 .00 BULK ATOM 7461 H1 TIP3 2188 -11.796 22.940 7.808 .00 .00 BULK ATOM 7462 H2 TIP3 2188 -11.381 21.682 7.034 .00 .00 BULK ATOM 7463 OH2 TIP3 2189 -5.298 20.369 15.893 .00 .00 BULK ATOM 7464 H1 TIP3 2189 -4.718 21.058 15.499 .00 .00 BULK ATOM 7465 H2 TIP3 2189 -4.643 19.646 15.841 .00 .00 BULK ATOM 7466 OH2 TIP3 2190 17.583 -2.004 15.715 .00 .00 BULK ATOM 7467 H1 TIP3 2190 18.082 -2.094 14.923 .00 .00 BULK ATOM 7468 H2 TIP3 2190 17.351 -1.092 15.737 .00 .00 BULK ATOM 7469 OH2 TIP3 2191 9.285 -8.086 17.362 .00 .00 BULK ATOM 7470 H1 TIP3 2191 10.087 -8.363 16.902 .00 .00 BULK ATOM 7471 H2 TIP3 2191 9.223 -7.201 17.041 .00 .00 BULK ATOM 7472 OH2 TIP3 2192 -13.914 .522 16.177 .00 .00 BULK ATOM 7473 H1 TIP3 2192 -13.258 .826 15.495 .00 .00 BULK ATOM 7474 H2 TIP3 2192 -13.504 .806 17.037 .00 .00 BULK ATOM 7475 OH2 TIP3 2193 -16.337 18.338 13.624 .00 .00 BULK ATOM 7476 H1 TIP3 2193 -16.351 19.140 13.009 .00 .00 BULK ATOM 7477 H2 TIP3 2193 -17.276 18.134 13.585 .00 .00 BULK ATOM 7478 OH2 TIP3 2194 -2.057 21.540 -16.941 .00 .00 BULK ATOM 7479 H1 TIP3 2194 -1.224 21.987 -16.820 .00 .00 BULK ATOM 7480 H2 TIP3 2194 -1.927 21.196 -17.830 .00 .00 BULK ATOM 7481 OH2 TIP3 2195 -10.446 17.889 13.140 .00 .00 BULK ATOM 7482 H1 TIP3 2195 -9.756 17.370 13.585 .00 .00 BULK ATOM 7483 H2 TIP3 2195 -10.576 18.509 13.870 .00 .00 BULK ATOM 7484 OH2 TIP3 2196 -22.656 -13.463 -21.587 .00 .00 BULK ATOM 7485 H1 TIP3 2196 -22.820 -13.859 -20.687 .00 .00 BULK ATOM 7486 H2 TIP3 2196 -21.681 -13.421 -21.668 .00 .00 BULK ATOM 7487 OH2 TIP3 2197 -27.876 -13.015 11.372 .00 .00 BULK ATOM 7488 H1 TIP3 2197 -27.176 -12.518 10.976 .00 .00 BULK ATOM 7489 H2 TIP3 2197 -27.944 -13.774 10.795 .00 .00 BULK ATOM 7490 OH2 TIP3 2198 8.596 19.238 21.701 .00 .00 BULK ATOM 7491 H1 TIP3 2198 8.205 20.165 21.551 .00 .00 BULK ATOM 7492 H2 TIP3 2198 7.805 18.683 21.550 .00 .00 BULK ATOM 7493 OH2 TIP3 2199 -24.597 10.450 9.816 .00 .00 BULK ATOM 7494 H1 TIP3 2199 -24.533 10.064 10.646 .00 .00 BULK ATOM 7495 H2 TIP3 2199 -25.247 9.830 9.360 .00 .00 BULK ATOM 7496 OH2 TIP3 2200 13.452 -4.713 -16.284 .00 .00 BULK ATOM 7497 H1 TIP3 2200 12.476 -4.686 -16.261 .00 .00 BULK ATOM 7498 H2 TIP3 2200 13.560 -5.050 -15.362 .00 .00 BULK ATOM 7499 OH2 TIP3 2201 16.067 6.015 22.947 .00 .00 BULK ATOM 7500 H1 TIP3 2201 15.618 6.725 23.436 .00 .00 BULK ATOM 7501 H2 TIP3 2201 15.892 5.290 23.534 .00 .00 BULK ATOM 7502 OH2 TIP3 2202 10.867 20.739 7.675 .00 .00 BULK ATOM 7503 H1 TIP3 2202 10.620 21.701 7.754 .00 .00 BULK ATOM 7504 H2 TIP3 2202 10.522 20.644 6.775 .00 .00 BULK ATOM 7505 OH2 TIP3 2203 -30.005 -7.668 14.255 .00 .00 BULK ATOM 7506 H1 TIP3 2203 -30.345 -6.796 14.041 .00 .00 BULK ATOM 7507 H2 TIP3 2203 -29.159 -7.375 14.676 .00 .00 BULK ATOM 7508 OH2 TIP3 2204 -24.366 21.526 22.679 .00 .00 BULK ATOM 7509 H1 TIP3 2204 -23.691 21.305 22.082 .00 .00 BULK ATOM 7510 H2 TIP3 2204 -25.201 21.244 22.214 .00 .00 BULK ATOM 7511 OH2 TIP3 2205 26.580 -12.376 -18.895 .00 .00 BULK ATOM 7512 H1 TIP3 2205 26.296 -11.853 -19.640 .00 .00 BULK ATOM 7513 H2 TIP3 2205 25.751 -12.349 -18.425 .00 .00 BULK ATOM 7514 OH2 TIP3 2206 5.815 9.694 -14.493 .00 .00 BULK ATOM 7515 H1 TIP3 2206 5.903 9.174 -15.333 .00 .00 BULK ATOM 7516 H2 TIP3 2206 4.929 10.097 -14.580 .00 .00 BULK ATOM 7517 OH2 TIP3 2207 -20.560 -13.909 4.239 .00 .00 BULK ATOM 7518 H1 TIP3 2207 -21.303 -14.337 4.733 .00 .00 BULK ATOM 7519 H2 TIP3 2207 -19.832 -14.313 4.718 .00 .00 BULK ATOM 7520 OH2 TIP3 2208 19.644 1.722 -22.157 .00 .00 BULK ATOM 7521 H1 TIP3 2208 19.910 1.744 -21.220 .00 .00 BULK ATOM 7522 H2 TIP3 2208 19.952 2.515 -22.534 .00 .00 BULK ATOM 7523 OH2 TIP3 2209 8.985 12.075 14.757 .00 .00 BULK ATOM 7524 H1 TIP3 2209 9.837 11.893 15.210 .00 .00 BULK ATOM 7525 H2 TIP3 2209 8.521 11.309 15.085 .00 .00 BULK ATOM 7526 OH2 TIP3 2210 -27.906 4.901 20.031 .00 .00 BULK ATOM 7527 H1 TIP3 2210 -27.610 5.641 20.527 .00 .00 BULK ATOM 7528 H2 TIP3 2210 -27.328 4.168 20.413 .00 .00 BULK ATOM 7529 OH2 TIP3 2211 17.242 4.889 11.287 .00 .00 BULK ATOM 7530 H1 TIP3 2211 17.028 5.390 10.465 .00 .00 BULK ATOM 7531 H2 TIP3 2211 18.226 4.888 11.166 .00 .00 BULK ATOM 7532 OH2 TIP3 2212 -8.389 3.673 7.788 .00 .00 BULK ATOM 7533 H1 TIP3 2212 -8.967 4.475 7.947 .00 .00 BULK ATOM 7534 H2 TIP3 2212 -8.803 3.011 8.375 .00 .00 BULK ATOM 7535 OH2 TIP3 2213 21.853 3.645 -21.326 .00 .00 BULK ATOM 7536 H1 TIP3 2213 21.675 3.331 -20.435 .00 .00 BULK ATOM 7537 H2 TIP3 2213 22.356 2.882 -21.708 .00 .00 BULK ATOM 7538 OH2 TIP3 2214 -10.387 13.772 13.597 .00 .00 BULK ATOM 7539 H1 TIP3 2214 -10.179 12.863 14.015 .00 .00 BULK ATOM 7540 H2 TIP3 2214 -10.900 14.151 14.286 .00 .00 BULK ATOM 7541 OH2 TIP3 2215 16.912 -19.674 -14.698 .00 .00 BULK ATOM 7542 H1 TIP3 2215 16.959 -20.526 -15.180 .00 .00 BULK ATOM 7543 H2 TIP3 2215 17.765 -19.626 -14.290 .00 .00 BULK ATOM 7544 OH2 TIP3 2216 -6.100 -20.887 15.103 .00 .00 BULK ATOM 7545 H1 TIP3 2216 -6.484 -21.758 15.165 .00 .00 BULK ATOM 7546 H2 TIP3 2216 -6.545 -20.537 15.892 .00 .00 BULK ATOM 7547 OH2 TIP3 2217 26.038 23.927 -2.095 .00 .00 BULK ATOM 7548 H1 TIP3 2217 26.316 22.948 -2.269 .00 .00 BULK ATOM 7549 H2 TIP3 2217 25.135 23.814 -2.372 .00 .00 BULK ATOM 7550 OH2 TIP3 2218 -6.910 -12.086 -16.346 .00 .00 BULK ATOM 7551 H1 TIP3 2218 -6.344 -12.485 -17.115 .00 .00 BULK ATOM 7552 H2 TIP3 2218 -6.208 -11.672 -15.824 .00 .00 BULK ATOM 7553 OH2 TIP3 2219 -9.157 5.205 -21.246 .00 .00 BULK ATOM 7554 H1 TIP3 2219 -9.504 5.099 -22.198 .00 .00 BULK ATOM 7555 H2 TIP3 2219 -9.845 4.759 -20.732 .00 .00 BULK ATOM 7556 OH2 TIP3 2220 24.052 22.419 17.254 .00 .00 BULK ATOM 7557 H1 TIP3 2220 24.820 21.879 17.103 .00 .00 BULK ATOM 7558 H2 TIP3 2220 23.450 21.958 16.756 .00 .00 BULK ATOM 7559 OH2 TIP3 2221 -28.170 17.765 19.467 .00 .00 BULK ATOM 7560 H1 TIP3 2221 -28.140 17.279 20.360 .00 .00 BULK ATOM 7561 H2 TIP3 2221 -28.895 18.419 19.564 .00 .00 BULK ATOM 7562 OH2 TIP3 2222 .171 -17.580 5.923 .00 .00 BULK ATOM 7563 H1 TIP3 2222 .616 -18.354 5.498 .00 .00 BULK ATOM 7564 H2 TIP3 2222 .715 -16.869 5.485 .00 .00 BULK ATOM 7565 OH2 TIP3 2223 13.183 -8.000 14.088 .00 .00 BULK ATOM 7566 H1 TIP3 2223 12.985 -8.811 13.587 .00 .00 BULK ATOM 7567 H2 TIP3 2223 13.947 -7.693 13.558 .00 .00 BULK ATOM 7568 OH2 TIP3 2224 5.223 2.510 -18.092 .00 .00 BULK ATOM 7569 H1 TIP3 2224 5.623 1.858 -18.602 .00 .00 BULK ATOM 7570 H2 TIP3 2224 5.840 2.533 -17.296 .00 .00 BULK ATOM 7571 OH2 TIP3 2225 26.763 21.019 -16.590 .00 .00 BULK ATOM 7572 H1 TIP3 2225 26.272 21.795 -16.776 .00 .00 BULK ATOM 7573 H2 TIP3 2225 26.151 20.455 -17.027 .00 .00 BULK ATOM 7574 OH2 TIP3 2226 -27.972 13.906 -9.538 .00 .00 BULK ATOM 7575 H1 TIP3 2226 -28.897 14.143 -9.804 .00 .00 BULK ATOM 7576 H2 TIP3 2226 -27.603 14.858 -9.275 .00 .00 BULK ATOM 7577 OH2 TIP3 2227 19.324 17.258 9.057 .00 .00 BULK ATOM 7578 H1 TIP3 2227 19.683 17.359 9.959 .00 .00 BULK ATOM 7579 H2 TIP3 2227 19.038 16.298 9.059 .00 .00 BULK ATOM 7580 OH2 TIP3 2228 23.600 22.110 22.352 .00 .00 BULK ATOM 7581 H1 TIP3 2228 23.930 21.190 22.224 .00 .00 BULK ATOM 7582 H2 TIP3 2228 23.503 22.389 21.420 .00 .00 BULK ATOM 7583 OH2 TIP3 2229 -24.652 21.646 -11.795 .00 .00 BULK ATOM 7584 H1 TIP3 2229 -23.986 21.362 -12.437 .00 .00 BULK ATOM 7585 H2 TIP3 2229 -24.958 22.476 -12.241 .00 .00 BULK ATOM 7586 OH2 TIP3 2230 16.323 5.533 18.279 .00 .00 BULK ATOM 7587 H1 TIP3 2230 17.062 5.481 17.687 .00 .00 BULK ATOM 7588 H2 TIP3 2230 16.784 5.509 19.104 .00 .00 BULK ATOM 7589 OH2 TIP3 2231 -9.876 -21.304 10.517 .00 .00 BULK ATOM 7590 H1 TIP3 2231 -9.674 -20.415 10.199 .00 .00 BULK ATOM 7591 H2 TIP3 2231 -10.378 -21.522 9.720 .00 .00 BULK ATOM 7592 OH2 TIP3 2232 20.500 -6.499 17.719 .00 .00 BULK ATOM 7593 H1 TIP3 2232 19.786 -6.466 17.069 .00 .00 BULK ATOM 7594 H2 TIP3 2232 20.062 -6.099 18.538 .00 .00 BULK ATOM 7595 OH2 TIP3 2233 -26.248 8.667 -20.972 .00 .00 BULK ATOM 7596 H1 TIP3 2233 -27.016 8.138 -20.639 .00 .00 BULK ATOM 7597 H2 TIP3 2233 -25.771 7.929 -21.404 .00 .00 BULK ATOM 7598 OH2 TIP3 2234 -15.166 17.570 19.182 .00 .00 BULK ATOM 7599 H1 TIP3 2234 -15.402 17.796 20.065 .00 .00 BULK ATOM 7600 H2 TIP3 2234 -14.988 16.617 19.203 .00 .00 BULK ATOM 7601 OH2 TIP3 2235 -11.107 -5.121 21.279 .00 .00 BULK ATOM 7602 H1 TIP3 2235 -10.602 -5.950 21.517 .00 .00 BULK ATOM 7603 H2 TIP3 2235 -11.113 -4.643 22.144 .00 .00 BULK ATOM 7604 OH2 TIP3 2236 -24.696 10.133 16.525 .00 .00 BULK ATOM 7605 H1 TIP3 2236 -24.828 10.882 15.910 .00 .00 BULK ATOM 7606 H2 TIP3 2236 -24.187 10.685 17.149 .00 .00 BULK ATOM 7607 OH2 TIP3 2237 -19.779 12.725 3.059 .00 .00 BULK ATOM 7608 H1 TIP3 2237 -19.885 13.707 3.041 .00 .00 BULK ATOM 7609 H2 TIP3 2237 -20.089 12.432 2.204 .00 .00 BULK ATOM 7610 OH2 TIP3 2238 -21.293 9.008 15.279 .00 .00 BULK ATOM 7611 H1 TIP3 2238 -21.595 9.858 15.002 .00 .00 BULK ATOM 7612 H2 TIP3 2238 -20.387 9.150 15.012 .00 .00 BULK ATOM 7613 OH2 TIP3 2239 -15.441 10.206 -20.602 .00 .00 BULK ATOM 7614 H1 TIP3 2239 -14.708 10.574 -20.118 .00 .00 BULK ATOM 7615 H2 TIP3 2239 -15.154 10.258 -21.541 .00 .00 BULK ATOM 7616 OH2 TIP3 2240 -20.670 1.648 12.400 .00 .00 BULK ATOM 7617 H1 TIP3 2240 -21.442 1.264 12.768 .00 .00 BULK ATOM 7618 H2 TIP3 2240 -21.070 2.058 11.606 .00 .00 BULK ATOM 7619 OH2 TIP3 2241 14.139 9.438 19.515 .00 .00 BULK ATOM 7620 H1 TIP3 2241 14.351 9.149 18.597 .00 .00 BULK ATOM 7621 H2 TIP3 2241 13.628 8.655 19.915 .00 .00 BULK ATOM 7622 OH2 TIP3 2242 -24.325 9.232 13.332 .00 .00 BULK ATOM 7623 H1 TIP3 2242 -23.813 9.956 13.788 .00 .00 BULK ATOM 7624 H2 TIP3 2242 -23.697 9.196 12.533 .00 .00 BULK ATOM 7625 OH2 TIP3 2243 28.834 9.139 9.783 .00 .00 BULK ATOM 7626 H1 TIP3 2243 27.966 9.187 9.237 .00 .00 BULK ATOM 7627 H2 TIP3 2243 29.549 9.120 9.162 .00 .00 BULK ATOM 7628 OH2 TIP3 2244 -22.317 -11.111 -19.827 .00 .00 BULK ATOM 7629 H1 TIP3 2244 -21.667 -11.493 -20.428 .00 .00 BULK ATOM 7630 H2 TIP3 2244 -22.060 -11.538 -18.973 .00 .00 BULK ATOM 7631 OH2 TIP3 2245 -20.588 22.886 -13.645 .00 .00 BULK ATOM 7632 H1 TIP3 2245 -20.815 23.729 -14.125 .00 .00 BULK ATOM 7633 H2 TIP3 2245 -19.691 22.909 -14.002 .00 .00 BULK ATOM 7634 OH2 TIP3 2246 -29.401 -2.242 17.130 .00 .00 BULK ATOM 7635 H1 TIP3 2246 -29.532 -1.293 16.905 .00 .00 BULK ATOM 7636 H2 TIP3 2246 -29.997 -2.365 17.907 .00 .00 BULK ATOM 7637 OH2 TIP3 2247 29.880 -16.754 -3.589 .00 .00 BULK ATOM 7638 H1 TIP3 2247 29.759 -17.386 -2.849 .00 .00 BULK ATOM 7639 H2 TIP3 2247 29.894 -15.893 -3.110 .00 .00 BULK ATOM 7640 OH2 TIP3 2248 -14.178 19.495 23.547 .00 .00 BULK ATOM 7641 H1 TIP3 2248 -14.890 19.416 24.213 .00 .00 BULK ATOM 7642 H2 TIP3 2248 -14.612 19.062 22.833 .00 .00 BULK ATOM 7643 OH2 TIP3 2249 -24.905 -18.790 -20.960 .00 .00 BULK ATOM 7644 H1 TIP3 2249 -25.585 -19.459 -21.061 .00 .00 BULK ATOM 7645 H2 TIP3 2249 -24.474 -18.741 -21.836 .00 .00 BULK ATOM 7646 OH2 TIP3 2250 18.088 -9.044 -22.756 .00 .00 BULK ATOM 7647 H1 TIP3 2250 18.629 -9.077 -23.610 .00 .00 BULK ATOM 7648 H2 TIP3 2250 18.695 -9.313 -22.116 .00 .00 BULK ATOM 7649 OH2 TIP3 2251 -11.637 18.991 15.486 .00 .00 BULK ATOM 7650 H1 TIP3 2251 -11.634 18.128 15.996 .00 .00 BULK ATOM 7651 H2 TIP3 2251 -12.554 19.261 15.490 .00 .00 BULK ATOM 7652 OH2 TIP3 2252 -24.595 -5.095 -6.704 .00 .00 BULK ATOM 7653 H1 TIP3 2252 -24.945 -5.957 -6.506 .00 .00 BULK ATOM 7654 H2 TIP3 2252 -25.111 -4.767 -7.407 .00 .00 BULK ATOM 7655 OH2 TIP3 2253 -19.108 -20.229 14.508 .00 .00 BULK ATOM 7656 H1 TIP3 2253 -19.939 -19.770 14.796 .00 .00 BULK ATOM 7657 H2 TIP3 2253 -18.608 -20.139 15.313 .00 .00 BULK ATOM 7658 OH2 TIP3 2254 24.391 -13.251 16.489 .00 .00 BULK ATOM 7659 H1 TIP3 2254 25.130 -12.693 16.135 .00 .00 BULK ATOM 7660 H2 TIP3 2254 24.694 -14.143 16.239 .00 .00 BULK ATOM 7661 OH2 TIP3 2255 -29.965 16.215 8.212 .00 .00 BULK ATOM 7662 H1 TIP3 2255 -29.046 16.420 8.506 .00 .00 BULK ATOM 7663 H2 TIP3 2255 -30.454 16.470 9.038 .00 .00 BULK ATOM 7664 OH2 TIP3 2256 14.842 -20.014 18.824 .00 .00 BULK ATOM 7665 H1 TIP3 2256 15.327 -20.153 18.008 .00 .00 BULK ATOM 7666 H2 TIP3 2256 15.536 -20.318 19.455 .00 .00 BULK ATOM 7667 OH2 TIP3 2257 -13.586 23.144 10.929 .00 .00 BULK ATOM 7668 H1 TIP3 2257 -14.329 23.465 10.367 .00 .00 BULK ATOM 7669 H2 TIP3 2257 -13.853 23.578 11.796 .00 .00 BULK ATOM 7670 OH2 TIP3 2258 -23.708 23.040 6.903 .00 .00 BULK ATOM 7671 H1 TIP3 2258 -23.172 23.531 7.533 .00 .00 BULK ATOM 7672 H2 TIP3 2258 -24.502 23.599 6.688 .00 .00 BULK ATOM 7673 OH2 TIP3 2259 -17.160 12.149 20.217 .00 .00 BULK ATOM 7674 H1 TIP3 2259 -16.241 12.206 20.117 .00 .00 BULK ATOM 7675 H2 TIP3 2259 -17.457 11.254 19.827 .00 .00 BULK ATOM 7676 OH2 TIP3 2260 29.804 4.511 21.820 .00 .00 BULK ATOM 7677 H1 TIP3 2260 30.611 4.599 21.231 .00 .00 BULK ATOM 7678 H2 TIP3 2260 29.265 5.312 21.540 .00 .00 BULK ATOM 7679 OH2 TIP3 2261 -11.988 -6.411 16.388 .00 .00 BULK ATOM 7680 H1 TIP3 2261 -12.078 -6.785 17.286 .00 .00 BULK ATOM 7681 H2 TIP3 2261 -12.896 -6.456 16.091 .00 .00 BULK ATOM 7682 OH2 TIP3 2262 -13.331 -6.855 12.785 .00 .00 BULK ATOM 7683 H1 TIP3 2262 -13.511 -6.131 13.423 .00 .00 BULK ATOM 7684 H2 TIP3 2262 -12.319 -6.837 12.697 .00 .00 BULK ATOM 7685 OH2 TIP3 2263 -25.870 3.559 -13.072 .00 .00 BULK ATOM 7686 H1 TIP3 2263 -25.179 3.300 -12.426 .00 .00 BULK ATOM 7687 H2 TIP3 2263 -26.655 3.664 -12.516 .00 .00 BULK ATOM 7688 OH2 TIP3 2264 -4.715 -14.300 17.683 .00 .00 BULK ATOM 7689 H1 TIP3 2264 -4.327 -13.404 17.728 .00 .00 BULK ATOM 7690 H2 TIP3 2264 -3.832 -14.681 17.290 .00 .00 BULK ATOM 7691 OH2 TIP3 2265 -23.935 -9.457 16.014 .00 .00 BULK ATOM 7692 H1 TIP3 2265 -24.666 -10.004 16.380 .00 .00 BULK ATOM 7693 H2 TIP3 2265 -23.751 -9.943 15.190 .00 .00 BULK ATOM 7694 OH2 TIP3 2266 20.648 14.945 12.358 .00 .00 BULK ATOM 7695 H1 TIP3 2266 21.239 14.354 11.837 .00 .00 BULK ATOM 7696 H2 TIP3 2266 19.792 14.740 11.967 .00 .00 BULK ATOM 7697 OH2 TIP3 2267 -26.084 22.778 -19.281 .00 .00 BULK ATOM 7698 H1 TIP3 2267 -25.955 21.830 -19.000 .00 .00 BULK ATOM 7699 H2 TIP3 2267 -26.287 22.653 -20.236 .00 .00 BULK ATOM 7700 OH2 TIP3 2268 -16.602 .234 -19.034 .00 .00 BULK ATOM 7701 H1 TIP3 2268 -15.964 -.079 -18.381 .00 .00 BULK ATOM 7702 H2 TIP3 2268 -17.006 -.566 -19.470 .00 .00 BULK ATOM 7703 OH2 TIP3 2269 -3.893 -11.768 18.101 .00 .00 BULK ATOM 7704 H1 TIP3 2269 -3.121 -11.461 17.602 .00 .00 BULK ATOM 7705 H2 TIP3 2269 -4.646 -11.232 17.699 .00 .00 BULK ATOM 7706 OH2 TIP3 2270 -21.010 -8.925 5.110 .00 .00 BULK ATOM 7707 H1 TIP3 2270 -20.764 -9.840 4.779 .00 .00 BULK ATOM 7708 H2 TIP3 2270 -20.859 -9.002 6.095 .00 .00 BULK ATOM 7709 OH2 TIP3 2271 27.085 17.290 21.601 .00 .00 BULK ATOM 7710 H1 TIP3 2271 27.805 17.576 22.210 .00 .00 BULK ATOM 7711 H2 TIP3 2271 27.071 16.361 21.591 .00 .00 BULK ATOM 7712 OH2 TIP3 2272 -5.806 9.774 9.716 .00 .00 BULK ATOM 7713 H1 TIP3 2272 -5.122 10.284 9.295 .00 .00 BULK ATOM 7714 H2 TIP3 2272 -6.494 9.836 9.022 .00 .00 BULK ATOM 7715 OH2 TIP3 2273 -27.489 -21.928 7.336 .00 .00 BULK ATOM 7716 H1 TIP3 2273 -28.163 -21.790 6.680 .00 .00 BULK ATOM 7717 H2 TIP3 2273 -28.121 -21.838 8.039 .00 .00 BULK ATOM 7718 OH2 TIP3 2274 -13.944 23.249 20.548 .00 .00 BULK ATOM 7719 H1 TIP3 2274 -13.215 23.371 19.930 .00 .00 BULK ATOM 7720 H2 TIP3 2274 -14.160 22.281 20.381 .00 .00 BULK ATOM 7721 OH2 TIP3 2275 -6.261 12.641 18.048 .00 .00 BULK ATOM 7722 H1 TIP3 2275 -6.124 12.003 17.300 .00 .00 BULK ATOM 7723 H2 TIP3 2275 -6.168 13.486 17.650 .00 .00 BULK ATOM 7724 OH2 TIP3 2276 -3.188 20.019 21.653 .00 .00 BULK ATOM 7725 H1 TIP3 2276 -3.812 20.558 22.157 .00 .00 BULK ATOM 7726 H2 TIP3 2276 -2.946 19.475 22.385 .00 .00 BULK ATOM 7727 OH2 TIP3 2277 -2.214 4.276 9.846 .00 .00 BULK ATOM 7728 H1 TIP3 2277 -2.815 4.440 10.622 .00 .00 BULK ATOM 7729 H2 TIP3 2277 -2.778 3.537 9.535 .00 .00 BULK ATOM 7730 OH2 TIP3 2278 -14.745 10.088 5.455 .00 .00 BULK ATOM 7731 H1 TIP3 2278 -15.077 10.054 6.340 .00 .00 BULK ATOM 7732 H2 TIP3 2278 -14.696 9.180 5.098 .00 .00 BULK ATOM 7733 OH2 TIP3 2279 24.667 -10.162 9.833 .00 .00 BULK ATOM 7734 H1 TIP3 2279 25.083 -11.014 10.176 .00 .00 BULK ATOM 7735 H2 TIP3 2279 25.207 -10.001 9.012 .00 .00 BULK ATOM 7736 OH2 TIP3 2280 -9.815 17.336 -19.295 .00 .00 BULK ATOM 7737 H1 TIP3 2280 -9.562 17.989 -19.941 .00 .00 BULK ATOM 7738 H2 TIP3 2280 -9.487 17.752 -18.447 .00 .00 BULK ATOM 7739 OH2 TIP3 2281 1.629 15.825 17.067 .00 .00 BULK ATOM 7740 H1 TIP3 2281 1.467 16.685 16.492 .00 .00 BULK ATOM 7741 H2 TIP3 2281 1.465 16.126 17.980 .00 .00 BULK ATOM 7742 OH2 TIP3 2282 -5.988 -15.596 10.461 .00 .00 BULK ATOM 7743 H1 TIP3 2282 -5.659 -15.869 11.343 .00 .00 BULK ATOM 7744 H2 TIP3 2282 -6.922 -15.880 10.505 .00 .00 BULK ATOM 7745 OH2 TIP3 2283 4.993 17.485 15.153 .00 .00 BULK ATOM 7746 H1 TIP3 2283 4.746 16.553 15.442 .00 .00 BULK ATOM 7747 H2 TIP3 2283 5.940 17.350 14.979 .00 .00 BULK ATOM 7748 OH2 TIP3 2284 15.851 -3.937 14.532 .00 .00 BULK ATOM 7749 H1 TIP3 2284 15.171 -3.478 13.999 .00 .00 BULK ATOM 7750 H2 TIP3 2284 15.926 -3.410 15.362 .00 .00 BULK ATOM 7751 OH2 TIP3 2285 -26.585 .896 -3.472 .00 .00 BULK ATOM 7752 H1 TIP3 2285 -26.342 .881 -4.410 .00 .00 BULK ATOM 7753 H2 TIP3 2285 -27.533 1.087 -3.622 .00 .00 BULK ATOM 7754 OH2 TIP3 2286 23.258 6.847 20.618 .00 .00 BULK ATOM 7755 H1 TIP3 2286 22.404 6.917 20.178 .00 .00 BULK ATOM 7756 H2 TIP3 2286 23.201 5.942 21.012 .00 .00 BULK ATOM 7757 OH2 TIP3 2287 -6.987 15.441 8.647 .00 .00 BULK ATOM 7758 H1 TIP3 2287 -6.788 16.144 9.332 .00 .00 BULK ATOM 7759 H2 TIP3 2287 -6.694 15.824 7.749 .00 .00 BULK ATOM 7760 OH2 TIP3 2288 23.127 22.344 .815 .00 .00 BULK ATOM 7761 H1 TIP3 2288 22.192 21.963 .972 .00 .00 BULK ATOM 7762 H2 TIP3 2288 22.896 23.183 .424 .00 .00 BULK ATOM 7763 OH2 TIP3 2289 18.593 -18.150 12.697 .00 .00 BULK ATOM 7764 H1 TIP3 2289 17.733 -17.916 12.360 .00 .00 BULK ATOM 7765 H2 TIP3 2289 19.218 -17.543 12.201 .00 .00 BULK ATOM 7766 OH2 TIP3 2290 -12.442 8.521 18.796 .00 .00 BULK ATOM 7767 H1 TIP3 2290 -13.166 8.002 19.077 .00 .00 BULK ATOM 7768 H2 TIP3 2290 -12.039 8.743 19.666 .00 .00 BULK ATOM 7769 OH2 TIP3 2291 -2.945 -14.240 21.886 .00 .00 BULK ATOM 7770 H1 TIP3 2291 -3.213 -14.579 22.836 .00 .00 BULK ATOM 7771 H2 TIP3 2291 -2.907 -15.117 21.401 .00 .00 BULK ATOM 7772 OH2 TIP3 2292 6.661 12.162 17.883 .00 .00 BULK ATOM 7773 H1 TIP3 2292 6.223 12.156 18.713 .00 .00 BULK ATOM 7774 H2 TIP3 2292 7.589 11.871 18.243 .00 .00 BULK ATOM 7775 OH2 TIP3 2293 -1.724 -13.002 15.837 .00 .00 BULK ATOM 7776 H1 TIP3 2293 -.906 -13.031 15.263 .00 .00 BULK ATOM 7777 H2 TIP3 2293 -1.302 -13.327 16.690 .00 .00 BULK ATOM 7778 OH2 TIP3 2294 -.059 -1.451 18.151 .00 .00 BULK ATOM 7779 H1 TIP3 2294 .098 -2.262 18.662 .00 .00 BULK ATOM 7780 H2 TIP3 2294 .817 -1.221 17.874 .00 .00 BULK ATOM 7781 OH2 TIP3 2295 -22.992 -11.577 9.182 .00 .00 BULK ATOM 7782 H1 TIP3 2295 -22.269 -11.975 8.597 .00 .00 BULK ATOM 7783 H2 TIP3 2295 -23.368 -10.992 8.395 .00 .00 BULK ATOM 7784 OH2 TIP3 2296 26.187 -10.418 -11.760 .00 .00 BULK ATOM 7785 H1 TIP3 2296 25.751 -11.320 -11.533 .00 .00 BULK ATOM 7786 H2 TIP3 2296 26.700 -10.119 -10.955 .00 .00 BULK ATOM 7787 OH2 TIP3 2297 3.171 -1.647 15.402 .00 .00 BULK ATOM 7788 H1 TIP3 2297 2.467 -2.368 15.278 .00 .00 BULK ATOM 7789 H2 TIP3 2297 3.349 -1.213 14.571 .00 .00 BULK ATOM 7790 OH2 TIP3 2298 24.593 20.094 11.772 .00 .00 BULK ATOM 7791 H1 TIP3 2298 25.324 20.601 11.283 .00 .00 BULK ATOM 7792 H2 TIP3 2298 24.910 19.879 12.714 .00 .00 BULK ATOM 7793 OH2 TIP3 2299 -23.067 4.135 16.833 .00 .00 BULK ATOM 7794 H1 TIP3 2299 -23.697 4.566 16.271 .00 .00 BULK ATOM 7795 H2 TIP3 2299 -23.640 3.313 16.960 .00 .00 BULK ATOM 7796 OH2 TIP3 2300 -17.225 11.571 3.207 .00 .00 BULK ATOM 7797 H1 TIP3 2300 -17.879 12.247 2.911 .00 .00 BULK ATOM 7798 H2 TIP3 2300 -17.832 10.892 3.612 .00 .00 BULK ATOM 7799 OH2 TIP3 2301 6.386 9.229 21.115 .00 .00 BULK ATOM 7800 H1 TIP3 2301 5.422 9.101 21.153 .00 .00 BULK ATOM 7801 H2 TIP3 2301 6.630 9.574 20.210 .00 .00 BULK ATOM 7802 OH2 TIP3 2302 16.361 -23.045 5.149 .00 .00 BULK ATOM 7803 H1 TIP3 2302 16.602 -22.702 6.056 .00 .00 BULK ATOM 7804 H2 TIP3 2302 17.084 -23.594 4.960 .00 .00 BULK ATOM 7805 OH2 TIP3 2303 29.125 5.721 -13.118 .00 .00 BULK ATOM 7806 H1 TIP3 2303 28.158 5.817 -13.385 .00 .00 BULK ATOM 7807 H2 TIP3 2303 29.019 4.963 -12.475 .00 .00 BULK ATOM 7808 OH2 TIP3 2304 16.911 22.194 7.735 .00 .00 BULK ATOM 7809 H1 TIP3 2304 17.305 21.512 8.342 .00 .00 BULK ATOM 7810 H2 TIP3 2304 17.223 22.899 8.249 .00 .00 BULK ATOM 7811 OH2 TIP3 2305 17.060 20.435 -11.021 .00 .00 BULK ATOM 7812 H1 TIP3 2305 16.436 21.094 -11.218 .00 .00 BULK ATOM 7813 H2 TIP3 2305 17.740 20.569 -11.733 .00 .00 BULK ATOM 7814 OH2 TIP3 2306 -19.978 -6.137 12.046 .00 .00 BULK ATOM 7815 H1 TIP3 2306 -20.715 -5.862 11.536 .00 .00 BULK ATOM 7816 H2 TIP3 2306 -19.695 -5.185 12.330 .00 .00 BULK ATOM 7817 OH2 TIP3 2307 16.249 -10.884 -21.569 .00 .00 BULK ATOM 7818 H1 TIP3 2307 16.983 -10.435 -22.034 .00 .00 BULK ATOM 7819 H2 TIP3 2307 16.715 -11.015 -20.765 .00 .00 BULK ATOM 7820 OH2 TIP3 2308 20.751 7.755 20.358 .00 .00 BULK ATOM 7821 H1 TIP3 2308 19.954 7.966 19.872 .00 .00 BULK ATOM 7822 H2 TIP3 2308 20.616 8.364 21.092 .00 .00 BULK ATOM 7823 OH2 TIP3 2309 28.545 13.428 18.209 .00 .00 BULK ATOM 7824 H1 TIP3 2309 28.749 13.051 17.355 .00 .00 BULK ATOM 7825 H2 TIP3 2309 28.622 12.512 18.646 .00 .00 BULK ATOM 7826 OH2 TIP3 2310 25.293 -22.083 19.869 .00 .00 BULK ATOM 7827 H1 TIP3 2310 26.083 -21.565 19.428 .00 .00 BULK ATOM 7828 H2 TIP3 2310 25.737 -22.325 20.722 .00 .00 BULK ATOM 7829 OH2 TIP3 2311 -13.711 -18.532 16.513 .00 .00 BULK ATOM 7830 H1 TIP3 2311 -12.883 -17.993 16.486 .00 .00 BULK ATOM 7831 H2 TIP3 2311 -13.387 -19.357 16.959 .00 .00 BULK ATOM 7832 OH2 TIP3 2312 22.645 -11.566 -22.542 .00 .00 BULK ATOM 7833 H1 TIP3 2312 22.974 -11.552 -23.417 .00 .00 BULK ATOM 7834 H2 TIP3 2312 22.822 -12.475 -22.340 .00 .00 BULK ATOM 7835 OH2 TIP3 2313 29.201 -18.102 17.851 .00 .00 BULK ATOM 7836 H1 TIP3 2313 29.311 -19.011 17.679 .00 .00 BULK ATOM 7837 H2 TIP3 2313 30.121 -17.798 17.797 .00 .00 BULK ATOM 7838 OH2 TIP3 2314 9.773 7.374 18.762 .00 .00 BULK ATOM 7839 H1 TIP3 2314 9.728 6.556 19.250 .00 .00 BULK ATOM 7840 H2 TIP3 2314 10.582 7.628 19.198 .00 .00 BULK ATOM 7841 OH2 TIP3 2315 -7.878 -5.380 -23.418 .00 .00 BULK ATOM 7842 H1 TIP3 2315 -7.947 -6.315 -23.222 .00 .00 BULK ATOM 7843 H2 TIP3 2315 -8.022 -5.004 -22.554 .00 .00 BULK ATOM 7844 OH2 TIP3 2316 -28.506 7.214 -7.802 .00 .00 BULK ATOM 7845 H1 TIP3 2316 -28.318 6.853 -8.660 .00 .00 BULK ATOM 7846 H2 TIP3 2316 -28.555 8.116 -8.200 .00 .00 BULK ATOM 7847 OH2 TIP3 2317 -20.589 -20.252 -5.590 .00 .00 BULK ATOM 7848 H1 TIP3 2317 -20.498 -20.764 -6.439 .00 .00 BULK ATOM 7849 H2 TIP3 2317 -20.531 -19.376 -5.971 .00 .00 BULK ATOM 7850 OH2 TIP3 2318 7.906 -22.826 -4.289 .00 .00 BULK ATOM 7851 H1 TIP3 2318 8.586 -22.999 -3.589 .00 .00 BULK ATOM 7852 H2 TIP3 2318 8.566 -22.809 -4.983 .00 .00 BULK ATOM 7853 OH2 TIP3 2319 28.272 12.013 -22.624 .00 .00 BULK ATOM 7854 H1 TIP3 2319 28.339 11.114 -22.958 .00 .00 BULK ATOM 7855 H2 TIP3 2319 29.166 12.122 -22.159 .00 .00 BULK ATOM 7856 OH2 TIP3 2320 24.018 8.957 22.096 .00 .00 BULK ATOM 7857 H1 TIP3 2320 24.486 9.146 21.285 .00 .00 BULK ATOM 7858 H2 TIP3 2320 23.627 8.055 21.823 .00 .00 BULK ATOM 7859 OH2 TIP3 2321 2.275 -15.663 3.424 .00 .00 BULK ATOM 7860 H1 TIP3 2321 2.721 -16.494 3.747 .00 .00 BULK ATOM 7861 H2 TIP3 2321 2.675 -14.973 4.007 .00 .00 BULK ATOM 7862 OH2 TIP3 2322 12.368 -4.736 9.935 .00 .00 BULK ATOM 7863 H1 TIP3 2322 12.827 -5.121 9.132 .00 .00 BULK ATOM 7864 H2 TIP3 2322 12.208 -3.828 9.767 .00 .00 BULK ATOM 7865 OH2 TIP3 2323 22.346 19.755 -19.925 .00 .00 BULK ATOM 7866 H1 TIP3 2323 22.507 19.332 -20.805 .00 .00 BULK ATOM 7867 H2 TIP3 2323 21.785 19.092 -19.473 .00 .00 BULK ATOM 7868 OH2 TIP3 2324 -17.655 14.621 -.968 .00 .00 BULK ATOM 7869 H1 TIP3 2324 -16.678 14.606 -1.183 .00 .00 BULK ATOM 7870 H2 TIP3 2324 -17.844 15.511 -1.240 .00 .00 BULK ATOM 7871 OH2 TIP3 2325 -25.549 3.843 -4.768 .00 .00 BULK ATOM 7872 H1 TIP3 2325 -26.494 3.863 -4.967 .00 .00 BULK ATOM 7873 H2 TIP3 2325 -25.335 4.662 -5.262 .00 .00 BULK ATOM 7874 OH2 TIP3 2326 -28.768 16.911 5.604 .00 .00 BULK ATOM 7875 H1 TIP3 2326 -29.531 16.507 5.155 .00 .00 BULK ATOM 7876 H2 TIP3 2326 -29.074 16.801 6.531 .00 .00 BULK ATOM 7877 OH2 TIP3 2327 29.044 -20.638 22.298 .00 .00 BULK ATOM 7878 H1 TIP3 2327 29.640 -19.999 22.785 .00 .00 BULK ATOM 7879 H2 TIP3 2327 28.744 -20.036 21.550 .00 .00 BULK ATOM 7880 OH2 TIP3 2328 -24.344 2.795 10.672 .00 .00 BULK ATOM 7881 H1 TIP3 2328 -24.196 3.197 11.605 .00 .00 BULK ATOM 7882 H2 TIP3 2328 -24.795 3.536 10.319 .00 .00 BULK ATOM 7883 OH2 TIP3 2329 25.365 11.455 12.586 .00 .00 BULK ATOM 7884 H1 TIP3 2329 25.240 12.092 11.859 .00 .00 BULK ATOM 7885 H2 TIP3 2329 25.943 10.846 12.076 .00 .00 BULK ATOM 7886 OH2 TIP3 2330 13.778 16.503 -16.604 .00 .00 BULK ATOM 7887 H1 TIP3 2330 14.067 15.724 -16.150 .00 .00 BULK ATOM 7888 H2 TIP3 2330 14.579 16.700 -17.086 .00 .00 BULK ATOM 7889 OH2 TIP3 2331 -18.831 -15.691 -13.363 .00 .00 BULK ATOM 7890 H1 TIP3 2331 -18.886 -14.727 -13.682 .00 .00 BULK ATOM 7891 H2 TIP3 2331 -19.523 -16.143 -13.990 .00 .00 BULK ATOM 7892 OH2 TIP3 2332 28.710 -3.206 9.903 .00 .00 BULK ATOM 7893 H1 TIP3 2332 29.403 -3.884 9.675 .00 .00 BULK ATOM 7894 H2 TIP3 2332 28.659 -2.782 9.038 .00 .00 BULK ATOM 7895 OH2 TIP3 2333 29.071 20.402 -4.319 .00 .00 BULK ATOM 7896 H1 TIP3 2333 28.659 20.137 -5.117 .00 .00 BULK ATOM 7897 H2 TIP3 2333 29.150 19.537 -3.898 .00 .00 BULK ATOM 7898 OH2 TIP3 2334 -22.220 18.491 -17.646 .00 .00 BULK ATOM 7899 H1 TIP3 2334 -21.603 18.689 -16.946 .00 .00 BULK ATOM 7900 H2 TIP3 2334 -22.778 17.795 -17.222 .00 .00 BULK ATOM 7901 OH2 TIP3 2335 -15.690 15.541 13.060 .00 .00 BULK ATOM 7902 H1 TIP3 2335 -16.650 15.478 13.123 .00 .00 BULK ATOM 7903 H2 TIP3 2335 -15.598 16.477 12.853 .00 .00 BULK ATOM 7904 OH2 TIP3 2336 -22.647 5.669 -14.902 .00 .00 BULK ATOM 7905 H1 TIP3 2336 -23.310 6.276 -14.433 .00 .00 BULK ATOM 7906 H2 TIP3 2336 -22.078 5.351 -14.133 .00 .00 BULK ATOM 7907 OH2 TIP3 2337 23.030 1.424 -22.428 .00 .00 BULK ATOM 7908 H1 TIP3 2337 23.970 1.533 -22.647 .00 .00 BULK ATOM 7909 H2 TIP3 2337 23.029 .637 -21.856 .00 .00 BULK ATOM 7910 OH2 TIP3 2338 -23.676 -11.259 14.060 .00 .00 BULK ATOM 7911 H1 TIP3 2338 -23.029 -11.038 13.341 .00 .00 BULK ATOM 7912 H2 TIP3 2338 -24.492 -11.065 13.604 .00 .00 BULK ATOM 7913 OH2 TIP3 2339 14.363 16.368 1.971 .00 .00 BULK ATOM 7914 H1 TIP3 2339 13.817 16.935 1.493 .00 .00 BULK ATOM 7915 H2 TIP3 2339 14.030 15.540 1.581 .00 .00 BULK ATOM 7916 OH2 TIP3 2340 -19.069 -10.700 19.362 .00 .00 BULK ATOM 7917 H1 TIP3 2340 -19.792 -11.206 19.799 .00 .00 BULK ATOM 7918 H2 TIP3 2340 -19.468 -10.476 18.484 .00 .00 BULK ATOM 7919 OH2 TIP3 2341 -23.286 -2.858 -12.898 .00 .00 BULK ATOM 7920 H1 TIP3 2341 -22.759 -2.177 -13.238 .00 .00 BULK ATOM 7921 H2 TIP3 2341 -23.721 -3.069 -13.711 .00 .00 BULK ATOM 7922 OH2 TIP3 2342 -16.214 -4.960 22.283 .00 .00 BULK ATOM 7923 H1 TIP3 2342 -16.929 -4.980 21.636 .00 .00 BULK ATOM 7924 H2 TIP3 2342 -15.772 -4.111 22.069 .00 .00 BULK ATOM 7925 OH2 TIP3 2343 -25.238 -19.520 11.583 .00 .00 BULK ATOM 7926 H1 TIP3 2343 -25.765 -18.918 11.097 .00 .00 BULK ATOM 7927 H2 TIP3 2343 -24.928 -20.094 10.824 .00 .00 BULK ATOM 7928 OH2 TIP3 2344 -10.142 -15.535 18.167 .00 .00 BULK ATOM 7929 H1 TIP3 2344 -10.461 -14.679 18.605 .00 .00 BULK ATOM 7930 H2 TIP3 2344 -9.312 -15.174 17.759 .00 .00 BULK ATOM 7931 OH2 TIP3 2345 -12.585 16.936 17.064 .00 .00 BULK ATOM 7932 H1 TIP3 2345 -12.563 16.515 17.896 .00 .00 BULK ATOM 7933 H2 TIP3 2345 -12.572 16.120 16.540 .00 .00 BULK ATOM 7934 OH2 TIP3 2346 12.570 -13.832 3.276 .00 .00 BULK ATOM 7935 H1 TIP3 2346 12.190 -13.058 3.761 .00 .00 BULK ATOM 7936 H2 TIP3 2346 12.622 -14.490 4.023 .00 .00 BULK ATOM 7937 OH2 TIP3 2347 -24.215 .359 19.155 .00 .00 BULK ATOM 7938 H1 TIP3 2347 -24.213 -.274 19.888 .00 .00 BULK ATOM 7939 H2 TIP3 2347 -24.279 -.410 18.545 .00 .00 BULK ATOM 7940 OH2 TIP3 2348 -9.654 -9.697 6.569 .00 .00 BULK ATOM 7941 H1 TIP3 2348 -8.998 -9.884 5.880 .00 .00 BULK ATOM 7942 H2 TIP3 2348 -9.446 -8.769 6.807 .00 .00 BULK ATOM 7943 OH2 TIP3 2349 -8.224 -4.750 13.122 .00 .00 BULK ATOM 7944 H1 TIP3 2349 -7.561 -5.287 13.627 .00 .00 BULK ATOM 7945 H2 TIP3 2349 -8.456 -5.377 12.443 .00 .00 BULK ATOM 7946 OH2 TIP3 2350 -15.000 16.834 -3.784 .00 .00 BULK ATOM 7947 H1 TIP3 2350 -14.741 17.482 -3.114 .00 .00 BULK ATOM 7948 H2 TIP3 2350 -14.150 16.680 -4.352 .00 .00 BULK ATOM 7949 OH2 TIP3 2351 14.790 -19.604 12.707 .00 .00 BULK ATOM 7950 H1 TIP3 2351 14.319 -19.599 11.874 .00 .00 BULK ATOM 7951 H2 TIP3 2351 15.345 -20.367 12.628 .00 .00 BULK ATOM 7952 OH2 TIP3 2352 1.029 -21.411 -12.036 .00 .00 BULK ATOM 7953 H1 TIP3 2352 1.024 -22.373 -11.870 .00 .00 BULK ATOM 7954 H2 TIP3 2352 .825 -21.441 -12.992 .00 .00 BULK ATOM 7955 OH2 TIP3 2353 -26.422 -8.747 10.569 .00 .00 BULK ATOM 7956 H1 TIP3 2353 -26.779 -7.907 10.334 .00 .00 BULK ATOM 7957 H2 TIP3 2353 -26.614 -9.277 9.702 .00 .00 BULK ATOM 7958 OH2 TIP3 2354 -17.133 -9.167 -21.942 .00 .00 BULK ATOM 7959 H1 TIP3 2354 -17.451 -9.973 -22.399 .00 .00 BULK ATOM 7960 H2 TIP3 2354 -16.703 -8.688 -22.678 .00 .00 BULK ATOM 7961 OH2 TIP3 2355 -23.936 1.118 -22.389 .00 .00 BULK ATOM 7962 H1 TIP3 2355 -23.291 1.850 -22.394 .00 .00 BULK ATOM 7963 H2 TIP3 2355 -24.808 1.472 -22.537 .00 .00 BULK ATOM 7964 OH2 TIP3 2356 -20.181 -4.658 -20.609 .00 .00 BULK ATOM 7965 H1 TIP3 2356 -20.723 -4.866 -19.778 .00 .00 BULK ATOM 7966 H2 TIP3 2356 -19.357 -5.083 -20.302 .00 .00 BULK ATOM 7967 OH2 TIP3 2357 -17.132 9.632 19.200 .00 .00 BULK ATOM 7968 H1 TIP3 2357 -16.503 8.942 19.446 .00 .00 BULK ATOM 7969 H2 TIP3 2357 -17.814 9.183 18.707 .00 .00 BULK ATOM 7970 OH2 TIP3 2358 -26.617 -6.516 12.945 .00 .00 BULK ATOM 7971 H1 TIP3 2358 -25.924 -7.164 13.105 .00 .00 BULK ATOM 7972 H2 TIP3 2358 -27.023 -6.685 13.783 .00 .00 BULK ATOM 7973 OH2 TIP3 2359 -14.094 4.493 7.821 .00 .00 BULK ATOM 7974 H1 TIP3 2359 -14.972 4.422 8.225 .00 .00 BULK ATOM 7975 H2 TIP3 2359 -13.554 4.553 8.586 .00 .00 BULK ATOM 7976 OH2 TIP3 2360 -20.415 -2.694 15.388 .00 .00 BULK ATOM 7977 H1 TIP3 2360 -20.416 -2.388 14.445 .00 .00 BULK ATOM 7978 H2 TIP3 2360 -21.336 -2.672 15.711 .00 .00 BULK ATOM 7979 OH2 TIP3 2361 29.548 9.118 -22.673 .00 .00 BULK ATOM 7980 H1 TIP3 2361 29.809 9.493 -21.845 .00 .00 BULK ATOM 7981 H2 TIP3 2361 30.073 8.314 -22.676 .00 .00 BULK ATOM 7982 OH2 TIP3 2362 21.769 6.065 14.878 .00 .00 BULK ATOM 7983 H1 TIP3 2362 21.658 6.232 15.788 .00 .00 BULK ATOM 7984 H2 TIP3 2362 22.403 5.370 14.833 .00 .00 BULK ATOM 7985 OH2 TIP3 2363 4.643 21.833 -20.183 .00 .00 BULK ATOM 7986 H1 TIP3 2363 4.172 21.119 -20.547 .00 .00 BULK ATOM 7987 H2 TIP3 2363 3.961 22.492 -19.976 .00 .00 BULK ATOM 7988 OH2 TIP3 2364 -15.775 -11.308 18.182 .00 .00 BULK ATOM 7989 H1 TIP3 2364 -16.298 -11.960 17.638 .00 .00 BULK ATOM 7990 H2 TIP3 2364 -15.224 -11.887 18.740 .00 .00 BULK ATOM 7991 OH2 TIP3 2365 -25.820 -16.921 -19.338 .00 .00 BULK ATOM 7992 H1 TIP3 2365 -26.143 -17.472 -18.626 .00 .00 BULK ATOM 7993 H2 TIP3 2365 -25.470 -17.579 -19.947 .00 .00 BULK ATOM 7994 OH2 TIP3 2366 -4.683 -12.385 -17.868 .00 .00 BULK ATOM 7995 H1 TIP3 2366 -4.121 -12.149 -17.140 .00 .00 BULK ATOM 7996 H2 TIP3 2366 -4.331 -11.840 -18.484 .00 .00 BULK ATOM 7997 OH2 TIP3 2367 8.309 7.874 13.060 .00 .00 BULK ATOM 7998 H1 TIP3 2367 8.503 7.708 14.005 .00 .00 BULK ATOM 7999 H2 TIP3 2367 7.931 6.954 12.823 .00 .00 BULK ATOM 8000 OH2 TIP3 2368 -15.871 18.841 -21.004 .00 .00 BULK ATOM 8001 H1 TIP3 2368 -15.322 19.447 -20.562 .00 .00 BULK ATOM 8002 H2 TIP3 2368 -16.677 18.731 -20.397 .00 .00 BULK ATOM 8003 OH2 TIP3 2369 3.047 -8.061 -7.586 .00 .00 BULK ATOM 8004 H1 TIP3 2369 2.407 -7.489 -7.180 .00 .00 BULK ATOM 8005 H2 TIP3 2369 3.839 -7.828 -7.116 .00 .00 BULK ATOM 8006 OH2 TIP3 2370 15.503 -7.611 -8.938 .00 .00 BULK ATOM 8007 H1 TIP3 2370 16.243 -8.163 -8.556 .00 .00 BULK ATOM 8008 H2 TIP3 2370 15.834 -7.530 -9.856 .00 .00 BULK ATOM 8009 OH2 TIP3 2371 .031 10.240 12.090 .00 .00 BULK ATOM 8010 H1 TIP3 2371 .407 9.971 11.203 .00 .00 BULK ATOM 8011 H2 TIP3 2371 .738 9.823 12.566 .00 .00 BULK ATOM 8012 OH2 TIP3 2372 -14.133 4.301 -4.835 .00 .00 BULK ATOM 8013 H1 TIP3 2372 -13.547 3.540 -4.711 .00 .00 BULK ATOM 8014 H2 TIP3 2372 -13.677 4.698 -5.567 .00 .00 BULK ATOM 8015 OH2 TIP3 2373 -29.149 18.801 -18.379 .00 .00 BULK ATOM 8016 H1 TIP3 2373 -28.285 18.337 -18.568 .00 .00 BULK ATOM 8017 H2 TIP3 2373 -29.395 19.231 -19.221 .00 .00 BULK ATOM 8018 OH2 TIP3 2374 -13.140 17.579 -9.604 .00 .00 BULK ATOM 8019 H1 TIP3 2374 -14.014 17.137 -9.660 .00 .00 BULK ATOM 8020 H2 TIP3 2374 -13.165 18.010 -10.509 .00 .00 BULK ATOM 8021 OH2 TIP3 2375 -16.767 5.999 -6.709 .00 .00 BULK ATOM 8022 H1 TIP3 2375 -17.437 5.354 -6.492 .00 .00 BULK ATOM 8023 H2 TIP3 2375 -16.272 5.750 -7.520 .00 .00 BULK ATOM 8024 OH2 TIP3 2376 -26.158 -6.266 -13.213 .00 .00 BULK ATOM 8025 H1 TIP3 2376 -25.823 -6.108 -12.314 .00 .00 BULK ATOM 8026 H2 TIP3 2376 -26.280 -5.377 -13.568 .00 .00 BULK ATOM 8027 OH2 TIP3 2377 26.712 16.136 2.613 .00 .00 BULK ATOM 8028 H1 TIP3 2377 26.024 15.450 2.683 .00 .00 BULK ATOM 8029 H2 TIP3 2377 26.143 16.845 2.190 .00 .00 BULK ATOM 8030 OH2 TIP3 2378 29.733 10.039 -19.330 .00 .00 BULK ATOM 8031 H1 TIP3 2378 30.378 10.047 -18.532 .00 .00 BULK ATOM 8032 H2 TIP3 2378 29.179 10.758 -18.968 .00 .00 BULK ATOM 8033 OH2 TIP3 2379 25.728 -8.207 -13.236 .00 .00 BULK ATOM 8034 H1 TIP3 2379 25.728 -8.940 -12.533 .00 .00 BULK ATOM 8035 H2 TIP3 2379 26.192 -7.492 -12.708 .00 .00 BULK ATOM 8036 OH2 TIP3 2380 -25.672 2.431 14.965 .00 .00 BULK ATOM 8037 H1 TIP3 2380 -26.062 2.772 15.812 .00 .00 BULK ATOM 8038 H2 TIP3 2380 -25.682 1.520 15.096 .00 .00 BULK ATOM 8039 OH2 TIP3 2381 -14.601 18.635 -14.709 .00 .00 BULK ATOM 8040 H1 TIP3 2381 -14.678 19.143 -15.513 .00 .00 BULK ATOM 8041 H2 TIP3 2381 -14.683 17.740 -15.043 .00 .00 BULK ATOM 8042 OH2 TIP3 2382 -2.974 14.774 18.816 .00 .00 BULK ATOM 8043 H1 TIP3 2382 -3.344 15.384 18.205 .00 .00 BULK ATOM 8044 H2 TIP3 2382 -2.726 14.085 18.145 .00 .00 BULK ATOM 8045 OH2 TIP3 2383 -21.775 -1.819 22.790 .00 .00 BULK ATOM 8046 H1 TIP3 2383 -21.252 -1.815 21.937 .00 .00 BULK ATOM 8047 H2 TIP3 2383 -21.337 -1.168 23.365 .00 .00 BULK ATOM 8048 OH2 TIP3 2384 -.025 22.155 -9.081 .00 .00 BULK ATOM 8049 H1 TIP3 2384 .208 22.046 -8.132 .00 .00 BULK ATOM 8050 H2 TIP3 2384 -.724 21.540 -9.130 .00 .00 BULK ATOM 8051 OH2 TIP3 2385 -24.674 20.078 -3.221 .00 .00 BULK ATOM 8052 H1 TIP3 2385 -24.976 20.930 -3.573 .00 .00 BULK ATOM 8053 H2 TIP3 2385 -24.076 19.693 -3.955 .00 .00 BULK ATOM 8054 OH2 TIP3 2386 -20.996 -9.400 14.568 .00 .00 BULK ATOM 8055 H1 TIP3 2386 -20.929 -8.425 14.690 .00 .00 BULK ATOM 8056 H2 TIP3 2386 -21.147 -9.349 13.590 .00 .00 BULK ATOM 8057 OH2 TIP3 2387 21.214 12.341 -17.563 .00 .00 BULK ATOM 8058 H1 TIP3 2387 20.900 12.112 -16.665 .00 .00 BULK ATOM 8059 H2 TIP3 2387 22.144 12.609 -17.331 .00 .00 BULK ATOM 8060 OH2 TIP3 2388 -10.971 -17.549 16.402 .00 .00 BULK ATOM 8061 H1 TIP3 2388 -10.349 -17.673 15.666 .00 .00 BULK ATOM 8062 H2 TIP3 2388 -10.369 -17.130 17.058 .00 .00 BULK ATOM 8063 OH2 TIP3 2389 9.080 -1.288 -14.265 .00 .00 BULK ATOM 8064 H1 TIP3 2389 9.941 -1.424 -14.700 .00 .00 BULK ATOM 8065 H2 TIP3 2389 8.730 -2.177 -14.387 .00 .00 BULK ATOM 8066 OH2 TIP3 2390 -13.660 5.533 16.542 .00 .00 BULK ATOM 8067 H1 TIP3 2390 -14.458 4.989 16.765 .00 .00 BULK ATOM 8068 H2 TIP3 2390 -12.940 5.233 17.126 .00 .00 BULK ATOM 8069 OH2 TIP3 2391 8.416 -8.862 -20.123 .00 .00 BULK ATOM 8070 H1 TIP3 2391 8.532 -9.525 -19.426 .00 .00 BULK ATOM 8071 H2 TIP3 2391 9.063 -9.265 -20.799 .00 .00 BULK ATOM 8072 OH2 TIP3 2392 -17.562 12.158 -16.653 .00 .00 BULK ATOM 8073 H1 TIP3 2392 -17.920 11.834 -17.524 .00 .00 BULK ATOM 8074 H2 TIP3 2392 -16.798 11.579 -16.604 .00 .00 BULK ATOM 8075 OH2 TIP3 2393 29.275 -7.329 -9.634 .00 .00 BULK ATOM 8076 H1 TIP3 2393 30.202 -7.392 -9.463 .00 .00 BULK ATOM 8077 H2 TIP3 2393 29.115 -6.429 -9.273 .00 .00 BULK ATOM 8078 OH2 TIP3 2394 4.897 20.204 23.415 .00 .00 BULK ATOM 8079 H1 TIP3 2394 3.948 20.270 23.142 .00 .00 BULK ATOM 8080 H2 TIP3 2394 5.151 21.145 23.298 .00 .00 BULK ATOM 8081 OH2 TIP3 2395 -1.772 2.911 -14.936 .00 .00 BULK ATOM 8082 H1 TIP3 2395 -2.415 3.678 -14.788 .00 .00 BULK ATOM 8083 H2 TIP3 2395 -.934 3.423 -14.771 .00 .00 BULK ATOM 8084 OH2 TIP3 2396 3.380 -20.289 -8.945 .00 .00 BULK ATOM 8085 H1 TIP3 2396 3.463 -21.004 -8.259 .00 .00 BULK ATOM 8086 H2 TIP3 2396 3.590 -19.541 -8.405 .00 .00 BULK ATOM 8087 OH2 TIP3 2397 -20.095 -12.212 -21.048 .00 .00 BULK ATOM 8088 H1 TIP3 2397 -19.165 -12.511 -20.964 .00 .00 BULK ATOM 8089 H2 TIP3 2397 -20.031 -11.419 -21.625 .00 .00 BULK ATOM 8090 OH2 TIP3 2398 15.407 14.598 -21.011 .00 .00 BULK ATOM 8091 H1 TIP3 2398 14.955 14.428 -21.860 .00 .00 BULK ATOM 8092 H2 TIP3 2398 16.216 14.052 -21.032 .00 .00 BULK ATOM 8093 OH2 TIP3 2399 -14.113 20.742 -4.209 .00 .00 BULK ATOM 8094 H1 TIP3 2399 -14.632 21.267 -3.562 .00 .00 BULK ATOM 8095 H2 TIP3 2399 -14.008 19.970 -3.609 .00 .00 BULK ATOM 8096 OH2 TIP3 2400 27.138 -20.676 -16.789 .00 .00 BULK ATOM 8097 H1 TIP3 2400 27.128 -19.768 -17.117 .00 .00 BULK ATOM 8098 H2 TIP3 2400 28.086 -20.839 -16.635 .00 .00 BULK ATOM 8099 OH2 TIP3 2401 1.005 20.536 13.396 .00 .00 BULK ATOM 8100 H1 TIP3 2401 1.109 20.787 12.444 .00 .00 BULK ATOM 8101 H2 TIP3 2401 1.273 21.363 13.732 .00 .00 BULK ATOM 8102 OH2 TIP3 2402 -27.099 16.522 -9.923 .00 .00 BULK ATOM 8103 H1 TIP3 2402 -27.780 16.851 -10.629 .00 .00 BULK ATOM 8104 H2 TIP3 2402 -26.630 17.352 -9.792 .00 .00 BULK ATOM 8105 OH2 TIP3 2403 -.145 8.435 -8.902 .00 .00 BULK ATOM 8106 H1 TIP3 2403 -.339 7.518 -8.933 .00 .00 BULK ATOM 8107 H2 TIP3 2403 -1.055 8.758 -9.076 .00 .00 BULK ATOM 8108 OH2 TIP3 2404 -7.494 6.877 -19.818 .00 .00 BULK ATOM 8109 H1 TIP3 2404 -7.631 6.548 -18.967 .00 .00 BULK ATOM 8110 H2 TIP3 2404 -8.230 6.474 -20.261 .00 .00 BULK ATOM 8111 OH2 TIP3 2405 -2.701 -3.047 19.723 .00 .00 BULK ATOM 8112 H1 TIP3 2405 -2.959 -2.863 20.660 .00 .00 BULK ATOM 8113 H2 TIP3 2405 -1.778 -3.296 19.901 .00 .00 BULK ATOM 8114 OH2 TIP3 2406 4.805 7.715 -8.570 .00 .00 BULK ATOM 8115 H1 TIP3 2406 5.775 7.945 -8.629 .00 .00 BULK ATOM 8116 H2 TIP3 2406 4.524 8.604 -8.307 .00 .00 BULK ATOM 8117 OH2 TIP3 2407 -16.105 -19.907 -2.311 .00 .00 BULK ATOM 8118 H1 TIP3 2407 -16.556 -19.683 -3.142 .00 .00 BULK ATOM 8119 H2 TIP3 2407 -16.469 -19.203 -1.820 .00 .00 BULK ATOM 8120 OH2 TIP3 2408 -21.599 -19.194 -1.431 .00 .00 BULK ATOM 8121 H1 TIP3 2408 -21.477 -19.729 -.653 .00 .00 BULK ATOM 8122 H2 TIP3 2408 -20.704 -19.103 -1.689 .00 .00 BULK ATOM 8123 OH2 TIP3 2409 12.045 22.693 22.671 .00 .00 BULK ATOM 8124 H1 TIP3 2409 11.254 22.493 22.064 .00 .00 BULK ATOM 8125 H2 TIP3 2409 11.521 22.960 23.456 .00 .00 BULK ATOM 8126 OH2 TIP3 2410 -18.441 6.135 -.217 .00 .00 BULK ATOM 8127 H1 TIP3 2410 -18.631 6.108 .744 .00 .00 BULK ATOM 8128 H2 TIP3 2410 -19.356 6.522 -.529 .00 .00 BULK ATOM 8129 OH2 TIP3 2411 5.152 14.841 4.979 .00 .00 BULK ATOM 8130 H1 TIP3 2411 5.321 14.444 5.853 .00 .00 BULK ATOM 8131 H2 TIP3 2411 6.001 14.732 4.649 .00 .00 BULK ATOM 8132 OH2 TIP3 2412 13.908 -22.933 14.936 .00 .00 BULK ATOM 8133 H1 TIP3 2412 14.349 -23.491 15.632 .00 .00 BULK ATOM 8134 H2 TIP3 2412 12.949 -23.075 15.086 .00 .00 BULK ATOM 8135 OH2 TIP3 2413 -13.868 -.102 -16.941 .00 .00 BULK ATOM 8136 H1 TIP3 2413 -13.065 -.669 -16.909 .00 .00 BULK ATOM 8137 H2 TIP3 2413 -14.537 -.789 -17.222 .00 .00 BULK ATOM 8138 OH2 TIP3 2414 -25.404 12.820 -8.286 .00 .00 BULK ATOM 8139 H1 TIP3 2414 -26.048 13.476 -8.431 .00 .00 BULK ATOM 8140 H2 TIP3 2414 -25.977 12.063 -7.992 .00 .00 BULK ATOM 8141 OH2 TIP3 2415 -12.419 -21.727 -10.249 .00 .00 BULK ATOM 8142 H1 TIP3 2415 -11.936 -20.964 -9.869 .00 .00 BULK ATOM 8143 H2 TIP3 2415 -11.651 -22.392 -10.262 .00 .00 BULK ATOM 8144 OH2 TIP3 2416 -23.474 -11.269 -22.899 .00 .00 BULK ATOM 8145 H1 TIP3 2416 -23.830 -10.768 -22.172 .00 .00 BULK ATOM 8146 H2 TIP3 2416 -22.926 -12.015 -22.499 .00 .00 BULK ATOM 8147 OH2 TIP3 2417 -25.926 9.642 -5.133 .00 .00 BULK ATOM 8148 H1 TIP3 2417 -25.951 9.939 -6.087 .00 .00 BULK ATOM 8149 H2 TIP3 2417 -26.538 8.875 -5.112 .00 .00 BULK ATOM 8150 OH2 TIP3 2418 -14.767 -17.337 -8.243 .00 .00 BULK ATOM 8151 H1 TIP3 2418 -14.587 -17.987 -8.955 .00 .00 BULK ATOM 8152 H2 TIP3 2418 -14.747 -17.886 -7.400 .00 .00 BULK ATOM 8153 OH2 TIP3 2419 -.799 -7.653 -18.207 .00 .00 BULK ATOM 8154 H1 TIP3 2419 .066 -7.616 -18.636 .00 .00 BULK ATOM 8155 H2 TIP3 2419 -1.328 -7.572 -18.996 .00 .00 BULK ATOM 8156 OH2 TIP3 2420 -18.572 -14.069 .541 .00 .00 BULK ATOM 8157 H1 TIP3 2420 -18.884 -13.334 -.045 .00 .00 BULK ATOM 8158 H2 TIP3 2420 -19.376 -14.607 .587 .00 .00 BULK ATOM 8159 OH2 TIP3 2421 -21.499 -20.684 -21.114 .00 .00 BULK ATOM 8160 H1 TIP3 2421 -21.184 -20.509 -22.022 .00 .00 BULK ATOM 8161 H2 TIP3 2421 -21.998 -21.521 -21.255 .00 .00 BULK ATOM 8162 OH2 TIP3 2422 -29.403 -18.368 22.976 .00 .00 BULK ATOM 8163 H1 TIP3 2422 -29.314 -18.001 23.841 .00 .00 BULK ATOM 8164 H2 TIP3 2422 -30.118 -17.745 22.707 .00 .00 BULK ATOM 8165 OH2 TIP3 2423 -14.187 -4.811 -18.630 .00 .00 BULK ATOM 8166 H1 TIP3 2423 -14.811 -5.400 -18.135 .00 .00 BULK ATOM 8167 H2 TIP3 2423 -13.582 -4.779 -17.884 .00 .00 BULK ATOM 8168 OH2 TIP3 2424 -9.838 16.937 -14.150 .00 .00 BULK ATOM 8169 H1 TIP3 2424 -9.563 17.883 -14.354 .00 .00 BULK ATOM 8170 H2 TIP3 2424 -10.747 16.783 -14.610 .00 .00 BULK ATOM 8171 OH2 TIP3 2425 -2.505 2.857 21.012 .00 .00 BULK ATOM 8172 H1 TIP3 2425 -1.852 2.910 20.266 .00 .00 BULK ATOM 8173 H2 TIP3 2425 -2.104 2.044 21.441 .00 .00 BULK ATOM 8174 OH2 TIP3 2426 -24.581 5.613 22.433 .00 .00 BULK ATOM 8175 H1 TIP3 2426 -23.791 6.003 22.889 .00 .00 BULK ATOM 8176 H2 TIP3 2426 -24.090 5.000 21.893 .00 .00 BULK ATOM 8177 OH2 TIP3 2427 13.672 -23.411 7.952 .00 .00 BULK ATOM 8178 H1 TIP3 2427 14.144 -23.801 8.705 .00 .00 BULK ATOM 8179 H2 TIP3 2427 14.411 -22.945 7.490 .00 .00 BULK ATOM 8180 OH2 TIP3 2428 -8.626 -16.420 -14.944 .00 .00 BULK ATOM 8181 H1 TIP3 2428 -8.337 -17.087 -15.559 .00 .00 BULK ATOM 8182 H2 TIP3 2428 -9.540 -16.597 -14.937 .00 .00 BULK ATOM 8183 OH2 TIP3 2429 -28.736 -11.656 -1.451 .00 .00 BULK ATOM 8184 H1 TIP3 2429 -27.771 -11.761 -1.493 .00 .00 BULK ATOM 8185 H2 TIP3 2429 -28.797 -10.719 -1.339 .00 .00 BULK ATOM 8186 OH2 TIP3 2430 1.467 -15.434 -11.567 .00 .00 BULK ATOM 8187 H1 TIP3 2430 .716 -14.907 -12.063 .00 .00 BULK ATOM 8188 H2 TIP3 2430 1.064 -16.271 -11.584 .00 .00 BULK ATOM 8189 OH2 TIP3 2431 -8.225 -18.100 -6.066 .00 .00 BULK ATOM 8190 H1 TIP3 2431 -8.674 -17.507 -6.725 .00 .00 BULK ATOM 8191 H2 TIP3 2431 -7.472 -18.316 -6.665 .00 .00 BULK ATOM 8192 OH2 TIP3 2432 1.166 -16.880 -6.915 .00 .00 BULK ATOM 8193 H1 TIP3 2432 .864 -17.497 -7.643 .00 .00 BULK ATOM 8194 H2 TIP3 2432 .432 -16.989 -6.308 .00 .00 BULK ATOM 8195 OH2 TIP3 2433 -24.673 11.462 -3.512 .00 .00 BULK ATOM 8196 H1 TIP3 2433 -24.025 10.857 -3.149 .00 .00 BULK ATOM 8197 H2 TIP3 2433 -25.307 10.856 -3.902 .00 .00 BULK ATOM 8198 OH2 TIP3 2434 6.217 -1.367 22.174 .00 .00 BULK ATOM 8199 H1 TIP3 2434 6.539 -.786 22.845 .00 .00 BULK ATOM 8200 H2 TIP3 2434 6.948 -2.013 22.018 .00 .00 BULK ATOM 8201 OH2 TIP3 2435 -10.340 22.800 23.268 .00 .00 BULK ATOM 8202 H1 TIP3 2435 -10.438 23.669 22.840 .00 .00 BULK ATOM 8203 H2 TIP3 2435 -11.327 22.500 23.011 .00 .00 BULK ATOM 8204 OH2 TIP3 2436 -26.186 -12.564 -2.900 .00 .00 BULK ATOM 8205 H1 TIP3 2436 -26.251 -12.998 -3.801 .00 .00 BULK ATOM 8206 H2 TIP3 2436 -26.052 -13.405 -2.433 .00 .00 BULK ATOM 8207 OH2 TIP3 2437 -9.623 6.262 -13.084 .00 .00 BULK ATOM 8208 H1 TIP3 2437 -9.007 5.551 -12.852 .00 .00 BULK ATOM 8209 H2 TIP3 2437 -9.794 6.691 -12.231 .00 .00 BULK ATOM 8210 OH2 TIP3 2438 20.693 -18.366 -1.078 .00 .00 BULK ATOM 8211 H1 TIP3 2438 21.408 -18.124 -.493 .00 .00 BULK ATOM 8212 H2 TIP3 2438 20.205 -17.535 -1.102 .00 .00 BULK ATOM 8213 OH2 TIP3 2439 19.387 -17.779 -6.132 .00 .00 BULK ATOM 8214 H1 TIP3 2439 18.647 -18.346 -6.343 .00 .00 BULK ATOM 8215 H2 TIP3 2439 19.608 -18.056 -5.192 .00 .00 BULK ATOM 8216 OH2 TIP3 2440 2.402 15.699 4.801 .00 .00 BULK ATOM 8217 H1 TIP3 2440 1.837 14.932 5.099 .00 .00 BULK ATOM 8218 H2 TIP3 2440 3.245 15.460 5.103 .00 .00 BULK ATOM 8219 OH2 TIP3 2441 -14.884 14.751 2.466 .00 .00 BULK ATOM 8220 H1 TIP3 2441 -15.860 14.709 2.120 .00 .00 BULK ATOM 8221 H2 TIP3 2441 -14.837 13.923 2.943 .00 .00 BULK ATOM 8222 OH2 TIP3 2442 9.618 -9.996 22.473 .00 .00 BULK ATOM 8223 H1 TIP3 2442 10.257 -9.690 23.218 .00 .00 BULK ATOM 8224 H2 TIP3 2442 9.992 -9.684 21.602 .00 .00 BULK ATOM 8225 OH2 TIP3 2443 10.606 -4.702 -18.829 .00 .00 BULK ATOM 8226 H1 TIP3 2443 10.134 -4.288 -18.047 .00 .00 BULK ATOM 8227 H2 TIP3 2443 10.138 -5.524 -18.877 .00 .00 BULK ATOM 8228 OH2 TIP3 2444 -6.065 -1.002 16.955 .00 .00 BULK ATOM 8229 H1 TIP3 2444 -6.430 -1.578 17.683 .00 .00 BULK ATOM 8230 H2 TIP3 2444 -6.913 -.819 16.525 .00 .00 BULK ATOM 8231 OH2 TIP3 2445 -4.857 -13.389 -13.086 .00 .00 BULK ATOM 8232 H1 TIP3 2445 -5.256 -14.159 -13.631 .00 .00 BULK ATOM 8233 H2 TIP3 2445 -5.703 -12.961 -12.860 .00 .00 BULK ATOM 8234 OH2 TIP3 2446 -29.759 1.364 19.025 .00 .00 BULK ATOM 8235 H1 TIP3 2446 -29.570 2.318 19.215 .00 .00 BULK ATOM 8236 H2 TIP3 2446 -30.226 1.057 19.779 .00 .00 BULK ATOM 8237 OH2 TIP3 2447 -19.206 12.044 -21.815 .00 .00 BULK ATOM 8238 H1 TIP3 2447 -19.959 12.022 -22.343 .00 .00 BULK ATOM 8239 H2 TIP3 2447 -19.135 12.998 -21.914 .00 .00 BULK ATOM 8240 OH2 TIP3 2448 -1.799 13.846 -1.393 .00 .00 BULK ATOM 8241 H1 TIP3 2448 -1.625 14.145 -2.350 .00 .00 BULK ATOM 8242 H2 TIP3 2448 -1.101 13.165 -1.239 .00 .00 BULK ATOM 8243 OH2 TIP3 2449 1.244 -20.738 2.576 .00 .00 BULK ATOM 8244 H1 TIP3 2449 1.873 -21.047 1.946 .00 .00 BULK ATOM 8245 H2 TIP3 2449 .643 -20.166 2.155 .00 .00 BULK ATOM 8246 OH2 TIP3 2450 19.021 18.597 -21.266 .00 .00 BULK ATOM 8247 H1 TIP3 2450 18.171 18.105 -21.453 .00 .00 BULK ATOM 8248 H2 TIP3 2450 19.209 19.139 -22.049 .00 .00 BULK ATOM 8249 OH2 TIP3 2451 -19.534 -1.325 -11.748 .00 .00 BULK ATOM 8250 H1 TIP3 2451 -20.168 -1.136 -12.468 .00 .00 BULK ATOM 8251 H2 TIP3 2451 -19.359 -2.269 -11.784 .00 .00 BULK ATOM 8252 OH2 TIP3 2452 -12.316 11.493 10.120 .00 .00 BULK ATOM 8253 H1 TIP3 2452 -12.263 12.316 10.622 .00 .00 BULK ATOM 8254 H2 TIP3 2452 -11.390 11.326 9.849 .00 .00 BULK ATOM 8255 OH2 TIP3 2453 28.947 22.184 -15.413 .00 .00 BULK ATOM 8256 H1 TIP3 2453 28.115 21.816 -15.802 .00 .00 BULK ATOM 8257 H2 TIP3 2453 29.295 21.341 -15.157 .00 .00 BULK ATOM 8258 OH2 TIP3 2454 -21.351 -17.386 -17.397 .00 .00 BULK ATOM 8259 H1 TIP3 2454 -21.933 -17.837 -17.980 .00 .00 BULK ATOM 8260 H2 TIP3 2454 -20.570 -17.434 -17.970 .00 .00 BULK ATOM 8261 OH2 TIP3 2455 -15.424 -12.305 -2.782 .00 .00 BULK ATOM 8262 H1 TIP3 2455 -15.382 -12.152 -1.826 .00 .00 BULK ATOM 8263 H2 TIP3 2455 -14.528 -11.987 -3.052 .00 .00 BULK ATOM 8264 OH2 TIP3 2456 -19.787 18.353 -9.306 .00 .00 BULK ATOM 8265 H1 TIP3 2456 -19.916 17.411 -8.998 .00 .00 BULK ATOM 8266 H2 TIP3 2456 -20.184 19.009 -8.678 .00 .00 BULK ATOM 8267 OH2 TIP3 2457 3.302 10.983 -14.545 .00 .00 BULK ATOM 8268 H1 TIP3 2457 3.244 10.863 -15.563 .00 .00 BULK ATOM 8269 H2 TIP3 2457 2.931 11.928 -14.461 .00 .00 BULK ATOM 8270 OH2 TIP3 2458 18.185 22.735 2.264 .00 .00 BULK ATOM 8271 H1 TIP3 2458 18.684 22.840 1.460 .00 .00 BULK ATOM 8272 H2 TIP3 2458 17.926 21.776 2.232 .00 .00 BULK ATOM 8273 OH2 TIP3 2459 7.831 -.080 8.714 .00 .00 BULK ATOM 8274 H1 TIP3 2459 7.854 .258 7.775 .00 .00 BULK ATOM 8275 H2 TIP3 2459 8.718 .129 9.070 .00 .00 BULK ATOM 8276 OH2 TIP3 2460 5.984 -11.076 -13.163 .00 .00 BULK ATOM 8277 H1 TIP3 2460 5.298 -11.008 -12.455 .00 .00 BULK ATOM 8278 H2 TIP3 2460 6.049 -10.113 -13.508 .00 .00 BULK ATOM 8279 OH2 TIP3 2461 -18.095 15.936 -11.101 .00 .00 BULK ATOM 8280 H1 TIP3 2461 -18.418 15.945 -10.193 .00 .00 BULK ATOM 8281 H2 TIP3 2461 -17.149 15.863 -10.932 .00 .00 BULK ATOM 8282 OH2 TIP3 2462 -3.348 -9.420 -16.880 .00 .00 BULK ATOM 8283 H1 TIP3 2462 -3.219 -9.881 -17.683 .00 .00 BULK ATOM 8284 H2 TIP3 2462 -2.364 -9.232 -16.561 .00 .00 BULK ATOM 8285 OH2 TIP3 2463 -16.896 -19.246 -16.743 .00 .00 BULK ATOM 8286 H1 TIP3 2463 -16.660 -18.634 -16.045 .00 .00 BULK ATOM 8287 H2 TIP3 2463 -16.572 -19.992 -16.296 .00 .00 BULK ATOM 8288 OH2 TIP3 2464 -1.489 16.067 -11.086 .00 .00 BULK ATOM 8289 H1 TIP3 2464 -1.392 15.495 -11.828 .00 .00 BULK ATOM 8290 H2 TIP3 2464 -.617 16.061 -10.696 .00 .00 BULK ATOM 8291 OH2 TIP3 2465 26.663 -5.305 -22.595 .00 .00 BULK ATOM 8292 H1 TIP3 2465 26.827 -6.087 -23.129 .00 .00 BULK ATOM 8293 H2 TIP3 2465 27.523 -5.230 -22.127 .00 .00 BULK ATOM 8294 OH2 TIP3 2466 -13.853 -8.588 22.054 .00 .00 BULK ATOM 8295 H1 TIP3 2466 -14.284 -9.299 21.531 .00 .00 BULK ATOM 8296 H2 TIP3 2466 -14.553 -8.289 22.694 .00 .00 BULK ATOM 8297 OH2 TIP3 2467 -8.836 22.878 16.855 .00 .00 BULK ATOM 8298 H1 TIP3 2467 -9.749 22.508 16.696 .00 .00 BULK ATOM 8299 H2 TIP3 2467 -8.314 22.108 16.923 .00 .00 BULK ATOM 8300 OH2 TIP3 2468 5.439 2.180 22.465 .00 .00 BULK ATOM 8301 H1 TIP3 2468 5.903 2.992 22.623 .00 .00 BULK ATOM 8302 H2 TIP3 2468 5.730 2.032 21.557 .00 .00 BULK ATOM 8303 OH2 TIP3 2469 1.308 -15.058 -1.978 .00 .00 BULK ATOM 8304 H1 TIP3 2469 2.024 -14.833 -2.596 .00 .00 BULK ATOM 8305 H2 TIP3 2469 1.695 -15.673 -1.470 .00 .00 BULK ATOM 8306 OH2 TIP3 2470 -.397 -14.095 13.259 .00 .00 BULK ATOM 8307 H1 TIP3 2470 -.471 -14.852 12.721 .00 .00 BULK ATOM 8308 H2 TIP3 2470 .489 -13.725 13.135 .00 .00 BULK ATOM 8309 OH2 TIP3 2471 -7.647 -13.935 21.186 .00 .00 BULK ATOM 8310 H1 TIP3 2471 -7.522 -13.305 20.423 .00 .00 BULK ATOM 8311 H2 TIP3 2471 -8.231 -13.401 21.748 .00 .00 BULK ATOM 8312 OH2 TIP3 2472 16.403 12.842 5.024 .00 .00 BULK ATOM 8313 H1 TIP3 2472 17.265 12.802 5.333 .00 .00 BULK ATOM 8314 H2 TIP3 2472 15.964 13.576 5.541 .00 .00 BULK ATOM 8315 OH2 TIP3 2473 10.271 2.276 17.290 .00 .00 BULK ATOM 8316 H1 TIP3 2473 10.473 2.511 18.207 .00 .00 BULK ATOM 8317 H2 TIP3 2473 9.585 1.604 17.501 .00 .00 BULK ATOM 8318 OH2 TIP3 2474 -12.026 -17.224 -21.196 .00 .00 BULK ATOM 8319 H1 TIP3 2474 -12.922 -17.256 -20.898 .00 .00 BULK ATOM 8320 H2 TIP3 2474 -11.590 -17.523 -20.351 .00 .00 BULK ATOM 8321 OH2 TIP3 2475 -12.273 4.158 20.480 .00 .00 BULK ATOM 8322 H1 TIP3 2475 -13.164 4.064 20.906 .00 .00 BULK ATOM 8323 H2 TIP3 2475 -11.847 4.867 20.947 .00 .00 BULK ATOM 8324 OH2 TIP3 2476 -13.518 17.342 -6.105 .00 .00 BULK ATOM 8325 H1 TIP3 2476 -14.215 17.806 -6.623 .00 .00 BULK ATOM 8326 H2 TIP3 2476 -12.714 17.911 -6.070 .00 .00 BULK ATOM 8327 OH2 TIP3 2477 17.379 -21.424 -19.563 .00 .00 BULK ATOM 8328 H1 TIP3 2477 17.046 -20.608 -19.194 .00 .00 BULK ATOM 8329 H2 TIP3 2477 16.590 -21.976 -19.583 .00 .00 BULK ATOM 8330 OH2 TIP3 2478 -13.682 23.716 -2.552 .00 .00 BULK ATOM 8331 H1 TIP3 2478 -13.032 23.251 -1.953 .00 .00 BULK ATOM 8332 H2 TIP3 2478 -14.519 23.283 -2.310 .00 .00 BULK ATOM 8333 OH2 TIP3 2479 -6.252 7.619 -12.263 .00 .00 BULK ATOM 8334 H1 TIP3 2479 -5.279 7.545 -12.038 .00 .00 BULK ATOM 8335 H2 TIP3 2479 -6.602 7.192 -11.454 .00 .00 BULK ATOM 8336 OH2 TIP3 2480 9.073 -6.947 -18.070 .00 .00 BULK ATOM 8337 H1 TIP3 2480 8.338 -7.049 -17.458 .00 .00 BULK ATOM 8338 H2 TIP3 2480 8.850 -7.589 -18.818 .00 .00 BULK ATOM 8339 OH2 TIP3 2481 -19.116 -13.167 10.610 .00 .00 BULK ATOM 8340 H1 TIP3 2481 -18.682 -13.783 10.042 .00 .00 BULK ATOM 8341 H2 TIP3 2481 -18.504 -12.957 11.240 .00 .00 BULK ATOM 8342 OH2 TIP3 2482 -5.173 -11.771 -4.172 .00 .00 BULK ATOM 8343 H1 TIP3 2482 -5.352 -11.544 -5.123 .00 .00 BULK ATOM 8344 H2 TIP3 2482 -4.182 -11.787 -4.230 .00 .00 BULK ATOM 8345 OH2 TIP3 2483 3.463 -16.128 .153 .00 .00 BULK ATOM 8346 H1 TIP3 2483 2.984 -15.839 .965 .00 .00 BULK ATOM 8347 H2 TIP3 2483 4.363 -15.850 .421 .00 .00 BULK ATOM 8348 OH2 TIP3 2484 -23.685 -3.689 -15.784 .00 .00 BULK ATOM 8349 H1 TIP3 2484 -23.813 -2.758 -16.120 .00 .00 BULK ATOM 8350 H2 TIP3 2484 -24.192 -4.179 -16.489 .00 .00 BULK ATOM 8351 OH2 TIP3 2485 -28.954 15.107 -6.579 .00 .00 BULK ATOM 8352 H1 TIP3 2485 -28.929 15.469 -5.676 .00 .00 BULK ATOM 8353 H2 TIP3 2485 -29.346 15.877 -7.055 .00 .00 BULK ATOM 8354 OH2 TIP3 2486 -16.270 -13.264 -5.271 .00 .00 BULK ATOM 8355 H1 TIP3 2486 -16.100 -13.159 -4.310 .00 .00 BULK ATOM 8356 H2 TIP3 2486 -16.238 -12.352 -5.558 .00 .00 BULK ATOM 8357 OH2 TIP3 2487 20.604 -9.025 -8.952 .00 .00 BULK ATOM 8358 H1 TIP3 2487 21.478 -8.941 -9.359 .00 .00 BULK ATOM 8359 H2 TIP3 2487 20.667 -8.323 -8.264 .00 .00 BULK ATOM 8360 OH2 TIP3 2488 -18.648 -.693 16.656 .00 .00 BULK ATOM 8361 H1 TIP3 2488 -18.618 -.291 15.695 .00 .00 BULK ATOM 8362 H2 TIP3 2488 -19.233 -1.479 16.561 .00 .00 BULK ATOM 8363 OH2 TIP3 2489 -21.149 -2.166 20.056 .00 .00 BULK ATOM 8364 H1 TIP3 2489 -20.990 -1.439 19.407 .00 .00 BULK ATOM 8365 H2 TIP3 2489 -21.776 -2.704 19.519 .00 .00 BULK ATOM 8366 OH2 TIP3 2490 -2.125 -12.162 -7.482 .00 .00 BULK ATOM 8367 H1 TIP3 2490 -2.647 -12.977 -7.660 .00 .00 BULK ATOM 8368 H2 TIP3 2490 -1.210 -12.445 -7.380 .00 .00 BULK ATOM 8369 OH2 TIP3 2491 26.760 -8.522 -17.510 .00 .00 BULK ATOM 8370 H1 TIP3 2491 26.115 -8.198 -16.857 .00 .00 BULK ATOM 8371 H2 TIP3 2491 27.201 -9.164 -16.956 .00 .00 BULK ATOM 8372 OH2 TIP3 2492 -7.420 22.277 -19.970 .00 .00 BULK ATOM 8373 H1 TIP3 2492 -6.664 22.502 -19.438 .00 .00 BULK ATOM 8374 H2 TIP3 2492 -7.117 22.445 -20.852 .00 .00 BULK ATOM 8375 OH2 TIP3 2493 -5.634 17.662 2.440 .00 .00 BULK ATOM 8376 H1 TIP3 2493 -6.070 17.595 3.304 .00 .00 BULK ATOM 8377 H2 TIP3 2493 -6.410 17.850 1.881 .00 .00 BULK ATOM 8378 OH2 TIP3 2494 -22.514 3.400 -23.191 .00 .00 BULK ATOM 8379 H1 TIP3 2494 -21.736 2.911 -23.014 .00 .00 BULK ATOM 8380 H2 TIP3 2494 -22.368 4.097 -22.523 .00 .00 BULK ATOM 8381 OH2 TIP3 2495 -17.016 .253 -12.055 .00 .00 BULK ATOM 8382 H1 TIP3 2495 -17.674 -.474 -12.043 .00 .00 BULK ATOM 8383 H2 TIP3 2495 -17.162 .560 -12.965 .00 .00 BULK ATOM 8384 OH2 TIP3 2496 -17.502 -22.511 -1.866 .00 .00 BULK ATOM 8385 H1 TIP3 2496 -16.896 -21.752 -2.079 .00 .00 BULK ATOM 8386 H2 TIP3 2496 -17.150 -22.861 -1.036 .00 .00 BULK ATOM 8387 OH2 TIP3 2497 7.345 3.995 18.871 .00 .00 BULK ATOM 8388 H1 TIP3 2497 6.690 3.451 18.395 .00 .00 BULK ATOM 8389 H2 TIP3 2497 7.787 4.316 18.075 .00 .00 BULK ATOM 8390 OH2 TIP3 2498 -4.096 -22.709 -22.183 .00 .00 BULK ATOM 8391 H1 TIP3 2498 -3.308 -22.459 -22.780 .00 .00 BULK ATOM 8392 H2 TIP3 2498 -3.837 -23.545 -21.724 .00 .00 BULK ATOM 8393 OH2 TIP3 2499 9.012 2.201 -16.220 .00 .00 BULK ATOM 8394 H1 TIP3 2499 9.886 1.961 -16.633 .00 .00 BULK ATOM 8395 H2 TIP3 2499 9.120 1.783 -15.384 .00 .00 BULK ATOM 8396 OH2 TIP3 2500 19.240 -7.692 -3.706 .00 .00 BULK ATOM 8397 H1 TIP3 2500 19.189 -8.187 -2.827 .00 .00 BULK ATOM 8398 H2 TIP3 2500 18.626 -6.959 -3.548 .00 .00 BULK ATOM 8399 OH2 TIP3 2501 -.280 -7.815 21.860 .00 .00 BULK ATOM 8400 H1 TIP3 2501 -.158 -8.691 21.465 .00 .00 BULK ATOM 8401 H2 TIP3 2501 -1.206 -7.789 21.737 .00 .00 BULK ATOM 8402 OH2 TIP3 2502 -4.447 -5.759 -7.145 .00 .00 BULK ATOM 8403 H1 TIP3 2502 -4.974 -5.020 -6.761 .00 .00 BULK ATOM 8404 H2 TIP3 2502 -4.553 -6.435 -6.403 .00 .00 BULK ATOM 8405 OH2 TIP3 2503 -4.906 -20.530 -3.935 .00 .00 BULK ATOM 8406 H1 TIP3 2503 -5.033 -19.674 -4.404 .00 .00 BULK ATOM 8407 H2 TIP3 2503 -4.611 -20.146 -3.039 .00 .00 BULK ATOM 8408 OH2 TIP3 2504 11.997 7.124 14.537 .00 .00 BULK ATOM 8409 H1 TIP3 2504 12.500 6.781 15.249 .00 .00 BULK ATOM 8410 H2 TIP3 2504 11.073 6.983 14.837 .00 .00 BULK ATOM 8411 OH2 TIP3 2505 -5.385 -9.466 5.747 .00 .00 BULK ATOM 8412 H1 TIP3 2505 -5.755 -8.576 5.879 .00 .00 BULK ATOM 8413 H2 TIP3 2505 -6.044 -9.743 5.096 .00 .00 BULK ATOM 8414 OH2 TIP3 2506 15.541 -8.674 21.656 .00 .00 BULK ATOM 8415 H1 TIP3 2506 16.206 -8.130 22.079 .00 .00 BULK ATOM 8416 H2 TIP3 2506 15.661 -8.501 20.724 .00 .00 BULK ATOM 8417 OH2 TIP3 2507 5.062 -16.998 -19.209 .00 .00 BULK ATOM 8418 H1 TIP3 2507 4.933 -17.634 -19.940 .00 .00 BULK ATOM 8419 H2 TIP3 2507 5.792 -17.495 -18.765 .00 .00 BULK ATOM 8420 OH2 TIP3 2508 -14.469 -.302 -6.706 .00 .00 BULK ATOM 8421 H1 TIP3 2508 -13.841 -.726 -7.240 .00 .00 BULK ATOM 8422 H2 TIP3 2508 -14.017 -.121 -5.906 .00 .00 BULK ATOM 8423 OH2 TIP3 2509 -.379 -14.175 -12.828 .00 .00 BULK ATOM 8424 H1 TIP3 2509 -.225 -13.220 -12.548 .00 .00 BULK ATOM 8425 H2 TIP3 2509 -1.371 -14.175 -12.790 .00 .00 BULK ATOM 8426 OH2 TIP3 2510 -.819 6.758 13.896 .00 .00 BULK ATOM 8427 H1 TIP3 2510 .005 6.609 13.458 .00 .00 BULK ATOM 8428 H2 TIP3 2510 -.649 7.524 14.409 .00 .00 BULK ATOM 8429 OH2 TIP3 2511 -18.500 -.221 -15.182 .00 .00 BULK ATOM 8430 H1 TIP3 2511 -18.405 .676 -15.544 .00 .00 BULK ATOM 8431 H2 TIP3 2511 -18.926 -.620 -15.969 .00 .00 BULK ATOM 8432 OH2 TIP3 2512 16.748 19.348 -17.571 .00 .00 BULK ATOM 8433 H1 TIP3 2512 16.514 18.476 -17.994 .00 .00 BULK ATOM 8434 H2 TIP3 2512 17.544 19.715 -18.116 .00 .00 BULK ATOM 8435 OH2 TIP3 2513 2.805 -5.254 -15.681 .00 .00 BULK ATOM 8436 H1 TIP3 2513 2.957 -5.055 -16.628 .00 .00 BULK ATOM 8437 H2 TIP3 2513 1.933 -4.816 -15.558 .00 .00 BULK ATOM 8438 OH2 TIP3 2514 -14.981 3.935 12.239 .00 .00 BULK ATOM 8439 H1 TIP3 2514 -14.882 3.532 11.370 .00 .00 BULK ATOM 8440 H2 TIP3 2514 -14.916 3.103 12.729 .00 .00 BULK ATOM 8441 OH2 TIP3 2515 25.942 -18.206 -14.908 .00 .00 BULK ATOM 8442 H1 TIP3 2515 26.505 -18.925 -14.603 .00 .00 BULK ATOM 8443 H2 TIP3 2515 26.433 -18.076 -15.702 .00 .00 BULK ATOM 8444 OH2 TIP3 2516 -13.656 -13.476 -13.523 .00 .00 BULK ATOM 8445 H1 TIP3 2516 -14.495 -13.854 -13.223 .00 .00 BULK ATOM 8446 H2 TIP3 2516 -13.949 -13.204 -14.414 .00 .00 BULK ATOM 8447 OH2 TIP3 2517 -19.368 -4.466 -6.266 .00 .00 BULK ATOM 8448 H1 TIP3 2517 -20.341 -4.489 -6.373 .00 .00 BULK ATOM 8449 H2 TIP3 2517 -19.358 -4.634 -5.293 .00 .00 BULK ATOM 8450 OH2 TIP3 2518 -13.764 -9.132 -21.812 .00 .00 BULK ATOM 8451 H1 TIP3 2518 -13.750 -8.259 -22.213 .00 .00 BULK ATOM 8452 H2 TIP3 2518 -13.341 -8.935 -20.923 .00 .00 BULK ATOM 8453 OH2 TIP3 2519 -12.982 21.930 23.117 .00 .00 BULK ATOM 8454 H1 TIP3 2519 -13.384 21.071 23.143 .00 .00 BULK ATOM 8455 H2 TIP3 2519 -13.287 22.199 22.248 .00 .00 BULK ATOM 8456 OH2 TIP3 2520 -14.973 4.364 -17.102 .00 .00 BULK ATOM 8457 H1 TIP3 2520 -14.970 3.571 -17.704 .00 .00 BULK ATOM 8458 H2 TIP3 2520 -14.045 4.619 -17.191 .00 .00 BULK ATOM 8459 OH2 TIP3 2521 .821 16.313 -9.629 .00 .00 BULK ATOM 8460 H1 TIP3 2521 .903 17.172 -9.065 .00 .00 BULK ATOM 8461 H2 TIP3 2521 1.373 15.759 -9.122 .00 .00 BULK ATOM 8462 OH2 TIP3 2522 5.709 14.571 -2.478 .00 .00 BULK ATOM 8463 H1 TIP3 2522 5.646 15.132 -3.268 .00 .00 BULK ATOM 8464 H2 TIP3 2522 5.079 14.884 -1.778 .00 .00 BULK ATOM 8465 OH2 TIP3 2523 4.919 20.169 15.165 .00 .00 BULK ATOM 8466 H1 TIP3 2523 5.055 19.198 15.337 .00 .00 BULK ATOM 8467 H2 TIP3 2523 4.992 20.200 14.190 .00 .00 BULK ATOM 8468 OH2 TIP3 2524 26.647 6.525 9.427 .00 .00 BULK ATOM 8469 H1 TIP3 2524 26.516 7.513 9.433 .00 .00 BULK ATOM 8470 H2 TIP3 2524 27.454 6.398 9.910 .00 .00 BULK ATOM 8471 OH2 TIP3 2525 -24.560 .687 5.645 .00 .00 BULK ATOM 8472 H1 TIP3 2525 -24.352 -.247 5.390 .00 .00 BULK ATOM 8473 H2 TIP3 2525 -23.995 .721 6.480 .00 .00 BULK ATOM 8474 OH2 TIP3 2526 11.136 -14.181 -3.034 .00 .00 BULK ATOM 8475 H1 TIP3 2526 10.286 -13.982 -3.425 .00 .00 BULK ATOM 8476 H2 TIP3 2526 11.276 -13.338 -2.639 .00 .00 BULK ATOM 8477 OH2 TIP3 2527 -25.785 8.237 8.340 .00 .00 BULK ATOM 8478 H1 TIP3 2527 -26.591 7.837 8.796 .00 .00 BULK ATOM 8479 H2 TIP3 2527 -25.536 7.449 7.811 .00 .00 BULK ATOM 8480 OH2 TIP3 2528 8.314 -22.328 5.078 .00 .00 BULK ATOM 8481 H1 TIP3 2528 7.894 -22.472 4.212 .00 .00 BULK ATOM 8482 H2 TIP3 2528 7.527 -22.462 5.636 .00 .00 BULK ATOM 8483 OH2 TIP3 2529 -3.464 1.429 -9.579 .00 .00 BULK ATOM 8484 H1 TIP3 2529 -2.982 .559 -9.468 .00 .00 BULK ATOM 8485 H2 TIP3 2529 -2.991 1.808 -10.382 .00 .00 BULK ATOM 8486 OH2 TIP3 2530 -10.832 -3.364 13.442 .00 .00 BULK ATOM 8487 H1 TIP3 2530 -10.803 -3.308 14.377 .00 .00 BULK ATOM 8488 H2 TIP3 2530 -9.937 -3.777 13.256 .00 .00 BULK ATOM 8489 OH2 TIP3 2531 -10.659 -12.869 -14.008 .00 .00 BULK ATOM 8490 H1 TIP3 2531 -11.630 -13.160 -14.073 .00 .00 BULK ATOM 8491 H2 TIP3 2531 -10.448 -12.761 -14.984 .00 .00 BULK ATOM 8492 OH2 TIP3 2532 25.199 -9.451 -19.902 .00 .00 BULK ATOM 8493 H1 TIP3 2532 25.719 -9.008 -19.219 .00 .00 BULK ATOM 8494 H2 TIP3 2532 24.909 -10.199 -19.350 .00 .00 BULK ATOM 8495 OH2 TIP3 2533 12.868 10.000 6.003 .00 .00 BULK ATOM 8496 H1 TIP3 2533 13.553 10.423 6.576 .00 .00 BULK ATOM 8497 H2 TIP3 2533 12.809 10.723 5.338 .00 .00 BULK ATOM 8498 OH2 TIP3 2534 -15.140 7.966 19.761 .00 .00 BULK ATOM 8499 H1 TIP3 2534 -15.199 7.958 20.736 .00 .00 BULK ATOM 8500 H2 TIP3 2534 -15.468 7.106 19.517 .00 .00 BULK ATOM 8501 OH2 TIP3 2535 6.442 3.335 16.034 .00 .00 BULK ATOM 8502 H1 TIP3 2535 7.213 3.844 15.841 .00 .00 BULK ATOM 8503 H2 TIP3 2535 5.733 3.982 15.818 .00 .00 BULK ATOM 8504 OH2 TIP3 2536 -4.031 -17.231 8.932 .00 .00 BULK ATOM 8505 H1 TIP3 2536 -3.936 -16.947 9.870 .00 .00 BULK ATOM 8506 H2 TIP3 2536 -3.091 -17.372 8.796 .00 .00 BULK ATOM 8507 OH2 TIP3 2537 -17.936 -2.990 -16.946 .00 .00 BULK ATOM 8508 H1 TIP3 2537 -18.340 -2.175 -17.265 .00 .00 BULK ATOM 8509 H2 TIP3 2537 -18.689 -3.204 -16.359 .00 .00 BULK ATOM 8510 OH2 TIP3 2538 -3.675 22.592 15.162 .00 .00 BULK ATOM 8511 H1 TIP3 2538 -2.684 22.504 15.190 .00 .00 BULK ATOM 8512 H2 TIP3 2538 -3.795 23.482 15.592 .00 .00 BULK ATOM 8513 OH2 TIP3 2539 -27.986 13.040 -2.969 .00 .00 BULK ATOM 8514 H1 TIP3 2539 -27.747 13.434 -2.123 .00 .00 BULK ATOM 8515 H2 TIP3 2539 -28.067 12.082 -2.638 .00 .00 BULK ATOM 8516 OH2 TIP3 2540 -16.836 6.097 -23.343 .00 .00 BULK ATOM 8517 H1 TIP3 2540 -17.283 5.295 -23.120 .00 .00 BULK ATOM 8518 H2 TIP3 2540 -16.871 6.612 -22.543 .00 .00 BULK ATOM 8519 OH2 TIP3 2541 -26.838 15.368 -14.402 .00 .00 BULK ATOM 8520 H1 TIP3 2541 -27.083 15.197 -15.316 .00 .00 BULK ATOM 8521 H2 TIP3 2541 -25.942 15.692 -14.583 .00 .00 BULK ATOM 8522 OH2 TIP3 2542 -18.313 -7.224 -6.258 .00 .00 BULK ATOM 8523 H1 TIP3 2542 -18.261 -6.340 -5.807 .00 .00 BULK ATOM 8524 H2 TIP3 2542 -17.531 -7.588 -5.945 .00 .00 BULK ATOM 8525 OH2 TIP3 2543 -8.949 -17.180 3.711 .00 .00 BULK ATOM 8526 H1 TIP3 2543 -9.165 -16.390 4.324 .00 .00 BULK ATOM 8527 H2 TIP3 2543 -8.729 -17.896 4.352 .00 .00 BULK ATOM 8528 OH2 TIP3 2544 23.028 4.610 22.264 .00 .00 BULK ATOM 8529 H1 TIP3 2544 22.714 3.819 21.815 .00 .00 BULK ATOM 8530 H2 TIP3 2544 23.929 4.264 22.405 .00 .00 BULK ATOM 8531 OH2 TIP3 2545 -23.791 -1.906 6.265 .00 .00 BULK ATOM 8532 H1 TIP3 2545 -23.947 -2.138 7.204 .00 .00 BULK ATOM 8533 H2 TIP3 2545 -22.804 -1.916 6.298 .00 .00 BULK ATOM 8534 OH2 TIP3 2546 -10.569 22.371 -4.072 .00 .00 BULK ATOM 8535 H1 TIP3 2546 -10.329 23.289 -4.375 .00 .00 BULK ATOM 8536 H2 TIP3 2546 -11.084 21.996 -4.797 .00 .00 BULK ATOM 8537 OH2 TIP3 2547 -3.983 21.114 7.950 .00 .00 BULK ATOM 8538 H1 TIP3 2547 -2.985 21.176 8.191 .00 .00 BULK ATOM 8539 H2 TIP3 2547 -4.323 21.989 8.286 .00 .00 BULK ATOM 8540 OH2 TIP3 2548 16.382 -3.223 -13.905 .00 .00 BULK ATOM 8541 H1 TIP3 2548 16.089 -2.713 -13.131 .00 .00 BULK ATOM 8542 H2 TIP3 2548 15.962 -2.772 -14.667 .00 .00 BULK ATOM 8543 OH2 TIP3 2549 -4.094 15.365 2.205 .00 .00 BULK ATOM 8544 H1 TIP3 2549 -4.749 14.792 2.444 .00 .00 BULK ATOM 8545 H2 TIP3 2549 -4.640 16.132 2.144 .00 .00 BULK ATOM 8546 OH2 TIP3 2550 26.506 21.006 10.113 .00 .00 BULK ATOM 8547 H1 TIP3 2550 26.569 21.039 9.190 .00 .00 BULK ATOM 8548 H2 TIP3 2550 27.237 21.595 10.310 .00 .00 BULK ATOM 8549 OH2 TIP3 2551 -3.590 -14.349 -4.086 .00 .00 BULK ATOM 8550 H1 TIP3 2551 -2.935 -14.222 -3.364 .00 .00 BULK ATOM 8551 H2 TIP3 2551 -4.394 -14.383 -3.585 .00 .00 BULK ATOM 8552 OH2 TIP3 2552 -21.131 -7.332 -4.873 .00 .00 BULK ATOM 8553 H1 TIP3 2552 -20.884 -7.024 -4.003 .00 .00 BULK ATOM 8554 H2 TIP3 2552 -21.951 -6.803 -4.908 .00 .00 BULK ATOM 8555 OH2 TIP3 2553 16.494 12.342 -6.589 .00 .00 BULK ATOM 8556 H1 TIP3 2553 16.481 12.215 -5.569 .00 .00 BULK ATOM 8557 H2 TIP3 2553 16.730 13.286 -6.406 .00 .00 BULK ATOM 8558 OH2 TIP3 2554 -21.042 11.621 -12.284 .00 .00 BULK ATOM 8559 H1 TIP3 2554 -20.295 12.277 -11.999 .00 .00 BULK ATOM 8560 H2 TIP3 2554 -21.779 12.272 -12.239 .00 .00 BULK ATOM 8561 OH2 TIP3 2555 -7.046 17.901 -4.708 .00 .00 BULK ATOM 8562 H1 TIP3 2555 -6.795 16.903 -4.793 .00 .00 BULK ATOM 8563 H2 TIP3 2555 -7.783 17.980 -5.359 .00 .00 BULK ATOM 8564 OH2 TIP3 2556 -.374 12.665 9.965 .00 .00 BULK ATOM 8565 H1 TIP3 2556 -1.049 11.918 10.035 .00 .00 BULK ATOM 8566 H2 TIP3 2556 .253 12.453 9.298 .00 .00 BULK ATOM 8567 OH2 TIP3 2557 -27.381 16.179 9.507 .00 .00 BULK ATOM 8568 H1 TIP3 2557 -27.211 15.227 9.342 .00 .00 BULK ATOM 8569 H2 TIP3 2557 -26.521 16.460 9.771 .00 .00 BULK ATOM 8570 OH2 TIP3 2558 -13.559 6.709 6.074 .00 .00 BULK ATOM 8571 H1 TIP3 2558 -13.631 5.832 6.379 .00 .00 BULK ATOM 8572 H2 TIP3 2558 -14.085 7.147 6.818 .00 .00 BULK ATOM 8573 OH2 TIP3 2559 -17.070 16.239 4.328 .00 .00 BULK ATOM 8574 H1 TIP3 2559 -17.843 15.911 3.841 .00 .00 BULK ATOM 8575 H2 TIP3 2559 -17.000 15.574 4.993 .00 .00 BULK ATOM 8576 OH2 TIP3 2560 -21.198 5.884 4.508 .00 .00 BULK ATOM 8577 H1 TIP3 2560 -20.464 5.855 5.075 .00 .00 BULK ATOM 8578 H2 TIP3 2560 -21.408 6.784 4.731 .00 .00 BULK ATOM 8579 OH2 TIP3 2561 9.136 -10.380 -17.841 .00 .00 BULK ATOM 8580 H1 TIP3 2561 8.936 -9.794 -17.087 .00 .00 BULK ATOM 8581 H2 TIP3 2561 8.961 -11.279 -17.438 .00 .00 BULK ATOM 8582 OH2 TIP3 2562 -28.300 8.808 18.322 .00 .00 BULK ATOM 8583 H1 TIP3 2562 -27.714 9.213 18.945 .00 .00 BULK ATOM 8584 H2 TIP3 2562 -27.793 8.130 17.945 .00 .00 BULK ATOM 8585 OH2 TIP3 2563 -15.267 21.710 -21.910 .00 .00 BULK ATOM 8586 H1 TIP3 2563 -15.674 22.129 -21.117 .00 .00 BULK ATOM 8587 H2 TIP3 2563 -14.824 22.415 -22.456 .00 .00 BULK ATOM 8588 OH2 TIP3 2564 -28.252 21.998 -6.406 .00 .00 BULK ATOM 8589 H1 TIP3 2564 -28.388 22.800 -5.877 .00 .00 BULK ATOM 8590 H2 TIP3 2564 -28.120 22.404 -7.303 .00 .00 BULK ATOM 8591 OH2 TIP3 2565 -9.348 6.504 19.410 .00 .00 BULK ATOM 8592 H1 TIP3 2565 -8.752 5.968 19.933 .00 .00 BULK ATOM 8593 H2 TIP3 2565 -9.072 7.441 19.629 .00 .00 BULK ATOM 8594 OH2 TIP3 2566 -4.006 -6.893 -16.100 .00 .00 BULK ATOM 8595 H1 TIP3 2566 -3.884 -7.858 -16.267 .00 .00 BULK ATOM 8596 H2 TIP3 2566 -3.545 -6.886 -15.216 .00 .00 BULK ATOM 8597 OH2 TIP3 2567 -23.711 11.035 .536 .00 .00 BULK ATOM 8598 H1 TIP3 2567 -23.361 11.654 1.143 .00 .00 BULK ATOM 8599 H2 TIP3 2567 -23.958 11.597 -.206 .00 .00 BULK ATOM 8600 OH2 TIP3 2568 -11.883 5.898 14.186 .00 .00 BULK ATOM 8601 H1 TIP3 2568 -11.793 6.811 13.935 .00 .00 BULK ATOM 8602 H2 TIP3 2568 -12.770 6.007 14.605 .00 .00 BULK ATOM 8603 OH2 TIP3 2569 -21.974 5.489 -6.971 .00 .00 BULK ATOM 8604 H1 TIP3 2569 -21.742 4.774 -6.332 .00 .00 BULK ATOM 8605 H2 TIP3 2569 -22.908 5.249 -7.204 .00 .00 BULK ATOM 8606 OH2 TIP3 2570 -14.301 5.477 -10.996 .00 .00 BULK ATOM 8607 H1 TIP3 2570 -14.787 6.131 -11.614 .00 .00 BULK ATOM 8608 H2 TIP3 2570 -15.066 5.314 -10.364 .00 .00 BULK ATOM 8609 OH2 TIP3 2571 3.317 14.380 -10.226 .00 .00 BULK ATOM 8610 H1 TIP3 2571 3.013 13.670 -9.556 .00 .00 BULK ATOM 8611 H2 TIP3 2571 3.032 13.868 -11.009 .00 .00 BULK ATOM 8612 OH2 TIP3 2572 19.472 -21.242 -.551 .00 .00 BULK ATOM 8613 H1 TIP3 2572 19.940 -20.417 -.826 .00 .00 BULK ATOM 8614 H2 TIP3 2572 18.918 -21.473 -1.346 .00 .00 BULK ATOM 8615 OH2 TIP3 2573 -6.055 -15.011 -2.081 .00 .00 BULK ATOM 8616 H1 TIP3 2573 -7.031 -15.046 -2.167 .00 .00 BULK ATOM 8617 H2 TIP3 2573 -5.927 -15.924 -1.755 .00 .00 BULK ATOM 8618 OH2 TIP3 2574 -26.660 17.938 -18.206 .00 .00 BULK ATOM 8619 H1 TIP3 2574 -26.331 18.515 -17.509 .00 .00 BULK ATOM 8620 H2 TIP3 2574 -26.192 18.324 -18.976 .00 .00 BULK ATOM 8621 OH2 TIP3 2575 8.129 12.818 6.186 .00 .00 BULK ATOM 8622 H1 TIP3 2575 8.989 12.928 6.660 .00 .00 BULK ATOM 8623 H2 TIP3 2575 8.451 12.986 5.272 .00 .00 BULK ATOM 8624 OH2 TIP3 2576 -23.132 -15.748 11.060 .00 .00 BULK ATOM 8625 H1 TIP3 2576 -22.576 -15.894 10.237 .00 .00 BULK ATOM 8626 H2 TIP3 2576 -22.759 -14.910 11.448 .00 .00 BULK ATOM 8627 OH2 TIP3 2577 -8.047 17.247 .931 .00 .00 BULK ATOM 8628 H1 TIP3 2577 -7.759 16.415 .543 .00 .00 BULK ATOM 8629 H2 TIP3 2577 -8.755 16.958 1.556 .00 .00 BULK ATOM 8630 OH2 TIP3 2578 -18.436 21.918 5.897 .00 .00 BULK ATOM 8631 H1 TIP3 2578 -19.082 21.212 5.624 .00 .00 BULK ATOM 8632 H2 TIP3 2578 -19.082 22.588 6.195 .00 .00 BULK ATOM 8633 OH2 TIP3 2579 -14.867 19.569 -6.474 .00 .00 BULK ATOM 8634 H1 TIP3 2579 -15.722 19.857 -6.063 .00 .00 BULK ATOM 8635 H2 TIP3 2579 -14.246 20.036 -5.905 .00 .00 BULK ATOM 8636 OH2 TIP3 2580 28.385 10.741 -.749 .00 .00 BULK ATOM 8637 H1 TIP3 2580 27.749 10.381 -1.460 .00 .00 BULK ATOM 8638 H2 TIP3 2580 28.476 9.973 -.145 .00 .00 BULK ATOM 8639 OH2 TIP3 2581 -20.082 11.015 -4.407 .00 .00 BULK ATOM 8640 H1 TIP3 2581 -20.546 10.788 -5.204 .00 .00 BULK ATOM 8641 H2 TIP3 2581 -19.538 10.200 -4.249 .00 .00 BULK ATOM 8642 OH2 TIP3 2582 -.863 -20.548 6.450 .00 .00 BULK ATOM 8643 H1 TIP3 2582 -.929 -21.317 5.837 .00 .00 BULK ATOM 8644 H2 TIP3 2582 .074 -20.610 6.804 .00 .00 BULK ATOM 8645 OH2 TIP3 2583 -2.573 19.440 4.948 .00 .00 BULK ATOM 8646 H1 TIP3 2583 -2.734 19.991 4.139 .00 .00 BULK ATOM 8647 H2 TIP3 2583 -2.437 18.588 4.495 .00 .00 BULK ATOM 8648 OH2 TIP3 2584 -12.007 -4.887 -16.052 .00 .00 BULK ATOM 8649 H1 TIP3 2584 -11.619 -4.203 -15.488 .00 .00 BULK ATOM 8650 H2 TIP3 2584 -12.385 -5.521 -15.437 .00 .00 BULK ATOM 8651 OH2 TIP3 2585 -10.993 .425 6.101 .00 .00 BULK ATOM 8652 H1 TIP3 2585 -11.609 1.246 6.224 .00 .00 BULK ATOM 8653 H2 TIP3 2585 -11.700 -.210 5.956 .00 .00 BULK ATOM 8654 OH2 TIP3 2586 -2.656 21.535 2.576 .00 .00 BULK ATOM 8655 H1 TIP3 2586 -3.352 20.910 2.190 .00 .00 BULK ATOM 8656 H2 TIP3 2586 -2.045 21.508 1.749 .00 .00 BULK ATOM 8657 OH2 TIP3 2587 .783 -3.098 7.939 .00 .00 BULK ATOM 8658 H1 TIP3 2587 1.713 -2.765 8.052 .00 .00 BULK ATOM 8659 H2 TIP3 2587 .468 -2.606 7.170 .00 .00 BULK ATOM 8660 OH2 TIP3 2588 6.110 -18.346 -6.386 .00 .00 BULK ATOM 8661 H1 TIP3 2588 6.232 -19.191 -5.865 .00 .00 BULK ATOM 8662 H2 TIP3 2588 5.105 -18.384 -6.493 .00 .00 BULK ATOM 8663 OH2 TIP3 2589 -23.900 16.275 17.059 .00 .00 BULK ATOM 8664 H1 TIP3 2589 -24.215 17.193 16.981 .00 .00 BULK ATOM 8665 H2 TIP3 2589 -23.701 16.203 18.017 .00 .00 BULK ATOM 8666 OH2 TIP3 2590 -19.794 9.197 -12.353 .00 .00 BULK ATOM 8667 H1 TIP3 2590 -20.273 10.082 -12.386 .00 .00 BULK ATOM 8668 H2 TIP3 2590 -18.986 9.574 -12.664 .00 .00 BULK ATOM 8669 OH2 TIP3 2591 22.984 -.226 7.824 .00 .00 BULK ATOM 8670 H1 TIP3 2591 22.873 -1.138 8.167 .00 .00 BULK ATOM 8671 H2 TIP3 2591 22.160 -.080 7.345 .00 .00 BULK ATOM 8672 OH2 TIP3 2592 -28.601 -6.309 -1.032 .00 .00 BULK ATOM 8673 H1 TIP3 2592 -28.975 -6.126 -.167 .00 .00 BULK ATOM 8674 H2 TIP3 2592 -27.669 -5.975 -1.031 .00 .00 BULK ATOM 8675 OH2 TIP3 2593 3.520 13.943 -5.191 .00 .00 BULK ATOM 8676 H1 TIP3 2593 2.908 13.248 -5.171 .00 .00 BULK ATOM 8677 H2 TIP3 2593 3.053 14.513 -4.542 .00 .00 BULK ATOM 8678 OH2 TIP3 2594 4.274 -9.528 -11.768 .00 .00 BULK ATOM 8679 H1 TIP3 2594 4.635 -9.251 -10.933 .00 .00 BULK ATOM 8680 H2 TIP3 2594 3.347 -9.396 -11.527 .00 .00 BULK ATOM 8681 OH2 TIP3 2595 -22.487 .601 -.566 .00 .00 BULK ATOM 8682 H1 TIP3 2595 -22.404 1.556 -.334 .00 .00 BULK ATOM 8683 H2 TIP3 2595 -23.458 .473 -.564 .00 .00 BULK ATOM 8684 OH2 TIP3 2596 -11.617 13.809 11.211 .00 .00 BULK ATOM 8685 H1 TIP3 2596 -10.795 13.819 11.683 .00 .00 BULK ATOM 8686 H2 TIP3 2596 -12.237 14.267 11.829 .00 .00 BULK ATOM 8687 OH2 TIP3 2597 -23.717 -10.699 6.673 .00 .00 BULK ATOM 8688 H1 TIP3 2597 -23.510 -10.536 5.763 .00 .00 BULK ATOM 8689 H2 TIP3 2597 -24.300 -11.458 6.508 .00 .00 BULK ATOM 8690 OH2 TIP3 2598 -6.314 -4.812 -9.777 .00 .00 BULK ATOM 8691 H1 TIP3 2598 -6.769 -4.303 -9.053 .00 .00 BULK ATOM 8692 H2 TIP3 2598 -6.271 -5.690 -9.404 .00 .00 BULK ATOM 8693 OH2 TIP3 2599 3.554 19.138 17.691 .00 .00 BULK ATOM 8694 H1 TIP3 2599 3.685 19.751 16.951 .00 .00 BULK ATOM 8695 H2 TIP3 2599 3.831 18.274 17.322 .00 .00 BULK ATOM 8696 OH2 TIP3 2600 -24.320 16.266 -8.137 .00 .00 BULK ATOM 8697 H1 TIP3 2600 -25.074 16.029 -7.509 .00 .00 BULK ATOM 8698 H2 TIP3 2600 -23.613 15.846 -7.620 .00 .00 BULK ATOM 8699 OH2 TIP3 2601 -28.878 -3.289 -3.242 .00 .00 BULK ATOM 8700 H1 TIP3 2601 -29.142 -4.188 -3.057 .00 .00 BULK ATOM 8701 H2 TIP3 2601 -29.621 -3.101 -3.922 .00 .00 BULK ATOM 8702 OH2 TIP3 2602 5.909 16.847 -4.250 .00 .00 BULK ATOM 8703 H1 TIP3 2602 5.770 17.729 -3.981 .00 .00 BULK ATOM 8704 H2 TIP3 2602 5.216 16.847 -4.898 .00 .00 BULK ATOM 8705 OH2 TIP3 2603 2.703 8.628 -13.338 .00 .00 BULK ATOM 8706 H1 TIP3 2603 3.085 9.420 -13.812 .00 .00 BULK ATOM 8707 H2 TIP3 2603 2.074 9.119 -12.773 .00 .00 BULK ATOM 8708 OH2 TIP3 2604 -7.859 11.178 8.345 .00 .00 BULK ATOM 8709 H1 TIP3 2604 -8.017 11.024 7.366 .00 .00 BULK ATOM 8710 H2 TIP3 2604 -7.734 12.100 8.363 .00 .00 BULK ATOM 8711 OH2 TIP3 2605 -27.918 7.461 -5.075 .00 .00 BULK ATOM 8712 H1 TIP3 2605 -28.186 7.290 -5.953 .00 .00 BULK ATOM 8713 H2 TIP3 2605 -28.679 8.033 -4.808 .00 .00 BULK ATOM 8714 OH2 TIP3 2606 -8.154 -5.208 -7.334 .00 .00 BULK ATOM 8715 H1 TIP3 2606 -8.228 -4.356 -7.779 .00 .00 BULK ATOM 8716 H2 TIP3 2606 -8.798 -5.798 -7.718 .00 .00 BULK ATOM 8717 OH2 TIP3 2607 -1.273 -2.320 15.806 .00 .00 BULK ATOM 8718 H1 TIP3 2607 -.877 -2.077 16.535 .00 .00 BULK ATOM 8719 H2 TIP3 2607 -1.948 -1.623 15.650 .00 .00 BULK ATOM 8720 OH2 TIP3 2608 -8.646 -14.523 8.535 .00 .00 BULK ATOM 8721 H1 TIP3 2608 -8.895 -14.198 9.399 .00 .00 BULK ATOM 8722 H2 TIP3 2608 -8.390 -13.759 8.065 .00 .00 BULK ATOM 8723 OH2 TIP3 2609 7.446 20.867 8.834 .00 .00 BULK ATOM 8724 H1 TIP3 2609 7.708 21.730 9.174 .00 .00 BULK ATOM 8725 H2 TIP3 2609 6.509 20.916 8.788 .00 .00 BULK ATOM 8726 OH2 TIP3 2610 7.242 18.027 -15.516 .00 .00 BULK ATOM 8727 H1 TIP3 2610 7.378 17.201 -15.079 .00 .00 BULK ATOM 8728 H2 TIP3 2610 6.374 18.395 -15.215 .00 .00 BULK ATOM 8729 OH2 TIP3 2611 26.960 18.325 -8.359 .00 .00 BULK ATOM 8730 H1 TIP3 2611 26.480 17.641 -7.821 .00 .00 BULK ATOM 8731 H2 TIP3 2611 26.393 19.076 -8.293 .00 .00 BULK ATOM 8732 OH2 TIP3 2612 1.819 22.257 3.764 .00 .00 BULK ATOM 8733 H1 TIP3 2612 1.894 21.591 4.488 .00 .00 BULK ATOM 8734 H2 TIP3 2612 1.662 21.776 2.915 .00 .00 BULK ATOM 8735 OH2 TIP3 2613 -.188 -7.784 11.600 .00 .00 BULK ATOM 8736 H1 TIP3 2613 -.375 -8.098 10.735 .00 .00 BULK ATOM 8737 H2 TIP3 2613 .202 -8.541 12.123 .00 .00 BULK ATOM 8738 OH2 TIP3 2614 17.929 15.387 1.954 .00 .00 BULK ATOM 8739 H1 TIP3 2614 17.706 15.643 2.905 .00 .00 BULK ATOM 8740 H2 TIP3 2614 18.121 16.312 1.613 .00 .00 BULK ATOM 8741 OH2 TIP3 2615 15.093 7.980 17.333 .00 .00 BULK ATOM 8742 H1 TIP3 2615 15.775 7.377 17.635 .00 .00 BULK ATOM 8743 H2 TIP3 2615 14.465 7.396 16.894 .00 .00 BULK ATOM 8744 OH2 TIP3 2616 -20.588 7.238 -1.406 .00 .00 BULK ATOM 8745 H1 TIP3 2616 -21.361 7.296 -.702 .00 .00 BULK ATOM 8746 H2 TIP3 2616 -21.067 6.720 -2.059 .00 .00 BULK ATOM 8747 OH2 TIP3 2617 14.289 16.893 -1.816 .00 .00 BULK ATOM 8748 H1 TIP3 2617 13.452 16.372 -1.588 .00 .00 BULK ATOM 8749 H2 TIP3 2617 14.939 16.530 -1.198 .00 .00 BULK ATOM 8750 OH2 TIP3 2618 14.087 15.956 -8.676 .00 .00 BULK ATOM 8751 H1 TIP3 2618 13.531 16.198 -9.420 .00 .00 BULK ATOM 8752 H2 TIP3 2618 13.862 16.686 -8.044 .00 .00 BULK ATOM 8753 OH2 TIP3 2619 .363 -13.972 19.144 .00 .00 BULK ATOM 8754 H1 TIP3 2619 .404 -14.800 19.723 .00 .00 BULK ATOM 8755 H2 TIP3 2619 -.099 -13.412 19.724 .00 .00 BULK ATOM 8756 OH2 TIP3 2620 4.385 -4.042 -9.679 .00 .00 BULK ATOM 8757 H1 TIP3 2620 3.866 -3.828 -10.471 .00 .00 BULK ATOM 8758 H2 TIP3 2620 4.114 -3.245 -9.172 .00 .00 BULK ATOM 8759 OH2 TIP3 2621 -8.300 14.320 .270 .00 .00 BULK ATOM 8760 H1 TIP3 2621 -9.141 13.877 .155 .00 .00 BULK ATOM 8761 H2 TIP3 2621 -8.209 14.856 -.549 .00 .00 BULK ATOM 8762 OH2 TIP3 2622 -4.115 17.039 17.440 .00 .00 BULK ATOM 8763 H1 TIP3 2622 -3.860 17.666 18.207 .00 .00 BULK ATOM 8764 H2 TIP3 2622 -3.899 17.580 16.645 .00 .00 BULK ATOM 8765 OH2 TIP3 2623 12.131 11.327 19.311 .00 .00 BULK ATOM 8766 H1 TIP3 2623 12.594 12.167 19.114 .00 .00 BULK ATOM 8767 H2 TIP3 2623 12.572 10.757 18.650 .00 .00 BULK ATOM 8768 OH2 TIP3 2624 10.812 19.840 -21.750 .00 .00 BULK ATOM 8769 H1 TIP3 2624 11.518 20.509 -21.567 .00 .00 BULK ATOM 8770 H2 TIP3 2624 10.453 19.693 -20.872 .00 .00 BULK ATOM 8771 OH2 TIP3 2625 7.428 12.760 -7.684 .00 .00 BULK ATOM 8772 H1 TIP3 2625 6.969 13.268 -6.971 .00 .00 BULK ATOM 8773 H2 TIP3 2625 7.419 11.805 -7.513 .00 .00 BULK ATOM 8774 OH2 TIP3 2626 -2.345 -7.001 -20.246 .00 .00 BULK ATOM 8775 H1 TIP3 2626 -2.265 -7.889 -20.655 .00 .00 BULK ATOM 8776 H2 TIP3 2626 -2.174 -6.371 -20.997 .00 .00 BULK ATOM 8777 OH2 TIP3 2627 -3.680 -20.071 9.172 .00 .00 BULK ATOM 8778 H1 TIP3 2627 -3.589 -20.356 10.132 .00 .00 BULK ATOM 8779 H2 TIP3 2627 -3.599 -19.100 9.095 .00 .00 BULK ATOM 8780 OH2 TIP3 2628 25.807 12.755 -8.263 .00 .00 BULK ATOM 8781 H1 TIP3 2628 26.163 12.492 -9.133 .00 .00 BULK ATOM 8782 H2 TIP3 2628 26.551 13.177 -7.787 .00 .00 BULK ATOM 8783 OH2 TIP3 2629 19.683 -17.362 8.170 .00 .00 BULK ATOM 8784 H1 TIP3 2629 19.044 -16.923 7.525 .00 .00 BULK ATOM 8785 H2 TIP3 2629 19.655 -16.580 8.719 .00 .00 BULK ATOM 8786 OH2 TIP3 2630 -7.324 -.314 21.817 .00 .00 BULK ATOM 8787 H1 TIP3 2630 -6.485 -.529 21.338 .00 .00 BULK ATOM 8788 H2 TIP3 2630 -7.513 -1.037 22.329 .00 .00 BULK ATOM 8789 OH2 TIP3 2631 -.191 19.330 22.299 .00 .00 BULK ATOM 8790 H1 TIP3 2631 -.813 18.925 22.927 .00 .00 BULK ATOM 8791 H2 TIP3 2631 .208 18.499 22.004 .00 .00 BULK ATOM 8792 OH2 TIP3 2632 -25.098 11.150 -11.796 .00 .00 BULK ATOM 8793 H1 TIP3 2632 -24.527 11.944 -11.605 .00 .00 BULK ATOM 8794 H2 TIP3 2632 -24.611 10.935 -12.608 .00 .00 BULK ATOM 8795 OH2 TIP3 2633 -2.790 -10.802 -19.220 .00 .00 BULK ATOM 8796 H1 TIP3 2633 -1.907 -11.262 -19.055 .00 .00 BULK ATOM 8797 H2 TIP3 2633 -2.644 -10.301 -20.069 .00 .00 BULK ATOM 8798 OH2 TIP3 2634 -4.031 15.897 6.970 .00 .00 BULK ATOM 8799 H1 TIP3 2634 -4.951 15.885 6.588 .00 .00 BULK ATOM 8800 H2 TIP3 2634 -4.108 16.817 7.391 .00 .00 BULK ATOM 8801 OH2 TIP3 2635 -23.631 21.020 -.591 .00 .00 BULK ATOM 8802 H1 TIP3 2635 -24.170 21.175 -1.414 .00 .00 BULK ATOM 8803 H2 TIP3 2635 -22.854 21.615 -.847 .00 .00 BULK ATOM 8804 OH2 TIP3 2636 -18.334 14.453 -18.866 .00 .00 BULK ATOM 8805 H1 TIP3 2636 -19.297 14.432 -18.961 .00 .00 BULK ATOM 8806 H2 TIP3 2636 -18.208 13.566 -18.475 .00 .00 BULK ATOM 8807 OH2 TIP3 2637 -14.147 15.755 9.649 .00 .00 BULK ATOM 8808 H1 TIP3 2637 -14.784 16.468 9.348 .00 .00 BULK ATOM 8809 H2 TIP3 2637 -13.873 15.973 10.553 .00 .00 BULK ATOM 8810 OH2 TIP3 2638 -13.629 18.858 -2.416 .00 .00 BULK ATOM 8811 H1 TIP3 2638 -13.810 18.995 -1.473 .00 .00 BULK ATOM 8812 H2 TIP3 2638 -12.828 18.478 -2.222 .00 .00 BULK ATOM 8813 OH2 TIP3 2639 7.389 10.541 -6.218 .00 .00 BULK ATOM 8814 H1 TIP3 2639 8.398 10.572 -6.315 .00 .00 BULK ATOM 8815 H2 TIP3 2639 7.289 11.029 -5.312 .00 .00 BULK ATOM 8816 OH2 TIP3 2640 -21.514 -6.661 -2.301 .00 .00 BULK ATOM 8817 H1 TIP3 2640 -21.960 -6.948 -1.511 .00 .00 BULK ATOM 8818 H2 TIP3 2640 -22.213 -6.529 -2.912 .00 .00 BULK ATOM 8819 OH2 TIP3 2641 -17.305 -16.542 -11.431 .00 .00 BULK ATOM 8820 H1 TIP3 2641 -17.765 -16.661 -10.569 .00 .00 BULK ATOM 8821 H2 TIP3 2641 -18.074 -16.189 -11.942 .00 .00 BULK ATOM 8822 OH2 TIP3 2642 8.158 21.514 6.234 .00 .00 BULK ATOM 8823 H1 TIP3 2642 7.993 21.375 7.221 .00 .00 BULK ATOM 8824 H2 TIP3 2642 7.629 22.282 6.103 .00 .00 BULK ATOM 8825 OH2 TIP3 2643 -26.784 22.705 4.775 .00 .00 BULK ATOM 8826 H1 TIP3 2643 -26.597 22.042 4.053 .00 .00 BULK ATOM 8827 H2 TIP3 2643 -27.436 22.229 5.222 .00 .00 BULK ATOM 8828 OH2 TIP3 2644 -14.479 23.153 1.379 .00 .00 BULK ATOM 8829 H1 TIP3 2644 -13.515 23.331 1.312 .00 .00 BULK ATOM 8830 H2 TIP3 2644 -14.508 22.564 2.151 .00 .00 BULK ATOM 8831 OH2 TIP3 2645 -9.183 14.723 -6.751 .00 .00 BULK ATOM 8832 H1 TIP3 2645 -9.630 15.127 -5.982 .00 .00 BULK ATOM 8833 H2 TIP3 2645 -9.790 15.053 -7.410 .00 .00 BULK ATOM 8834 OH2 TIP3 2646 -16.790 -10.795 1.603 .00 .00 BULK ATOM 8835 H1 TIP3 2646 -16.940 -10.718 2.518 .00 .00 BULK ATOM 8836 H2 TIP3 2646 -17.674 -10.994 1.155 .00 .00 BULK ATOM 8837 OH2 TIP3 2647 1.029 -3.154 -16.244 .00 .00 BULK ATOM 8838 H1 TIP3 2647 .278 -3.565 -16.656 .00 .00 BULK ATOM 8839 H2 TIP3 2647 .625 -2.352 -15.968 .00 .00 BULK ATOM 8840 OH2 TIP3 2648 -6.015 20.920 -17.525 .00 .00 BULK ATOM 8841 H1 TIP3 2648 -6.369 19.982 -17.650 .00 .00 BULK ATOM 8842 H2 TIP3 2648 -5.715 20.883 -16.591 .00 .00 BULK ATOM 8843 OH2 TIP3 2649 -11.407 -15.921 -1.918 .00 .00 BULK ATOM 8844 H1 TIP3 2649 -11.768 -15.623 -1.091 .00 .00 BULK ATOM 8845 H2 TIP3 2649 -11.739 -16.863 -1.871 .00 .00 BULK ATOM 8846 OH2 TIP3 2650 -5.675 -10.774 -6.982 .00 .00 BULK ATOM 8847 H1 TIP3 2650 -6.205 -11.289 -7.632 .00 .00 BULK ATOM 8848 H2 TIP3 2650 -6.084 -9.925 -7.022 .00 .00 BULK ATOM 8849 OH2 TIP3 2651 -6.221 -17.024 -8.578 .00 .00 BULK ATOM 8850 H1 TIP3 2651 -5.451 -16.876 -9.212 .00 .00 BULK ATOM 8851 H2 TIP3 2651 -6.643 -16.125 -8.596 .00 .00 BULK ATOM 8852 OH2 TIP3 2652 -12.658 2.259 6.564 .00 .00 BULK ATOM 8853 H1 TIP3 2652 -13.425 2.135 5.955 .00 .00 BULK ATOM 8854 H2 TIP3 2652 -12.804 3.194 6.776 .00 .00 BULK ATOM 8855 OH2 TIP3 2653 -10.763 2.015 9.809 .00 .00 BULK ATOM 8856 H1 TIP3 2653 -11.266 1.172 9.733 .00 .00 BULK ATOM 8857 H2 TIP3 2653 -11.465 2.644 9.621 .00 .00 BULK ATOM 8858 OH2 TIP3 2654 -3.559 20.306 -2.907 .00 .00 BULK ATOM 8859 H1 TIP3 2654 -3.165 19.447 -2.868 .00 .00 BULK ATOM 8860 H2 TIP3 2654 -4.346 20.238 -2.329 .00 .00 BULK ATOM 8861 OH2 TIP3 2655 18.261 -5.869 -22.577 .00 .00 BULK ATOM 8862 H1 TIP3 2655 18.948 -6.580 -22.572 .00 .00 BULK ATOM 8863 H2 TIP3 2655 18.706 -5.359 -21.913 .00 .00 BULK ATOM 8864 OH2 TIP3 2656 -20.068 -16.041 13.306 .00 .00 BULK ATOM 8865 H1 TIP3 2656 -20.756 -15.522 13.769 .00 .00 BULK ATOM 8866 H2 TIP3 2656 -19.290 -16.009 13.879 .00 .00 BULK ATOM 8867 OH2 TIP3 2657 3.414 -18.267 21.452 .00 .00 BULK ATOM 8868 H1 TIP3 2657 3.449 -17.622 20.681 .00 .00 BULK ATOM 8869 H2 TIP3 2657 2.914 -17.696 22.091 .00 .00 BULK ATOM 8870 OH2 TIP3 2658 11.729 -9.127 -14.352 .00 .00 BULK ATOM 8871 H1 TIP3 2658 12.467 -8.564 -13.951 .00 .00 BULK ATOM 8872 H2 TIP3 2658 11.476 -8.493 -15.048 .00 .00 BULK ATOM 8873 OH2 TIP3 2659 30.152 -7.070 -12.438 .00 .00 BULK ATOM 8874 H1 TIP3 2659 29.241 -7.307 -12.025 .00 .00 BULK ATOM 8875 H2 TIP3 2659 30.514 -6.625 -11.717 .00 .00 BULK ATOM 8876 OH2 TIP3 2660 15.768 -6.236 2.219 .00 .00 BULK ATOM 8877 H1 TIP3 2660 15.884 -6.675 1.361 .00 .00 BULK ATOM 8878 H2 TIP3 2660 15.494 -7.056 2.642 .00 .00 BULK ATOM 8879 OH2 TIP3 2661 30.026 13.483 8.270 .00 .00 BULK ATOM 8880 H1 TIP3 2661 29.507 13.349 9.069 .00 .00 BULK ATOM 8881 H2 TIP3 2661 29.981 14.430 8.240 .00 .00 BULK ATOM 8882 OH2 TIP3 2662 -23.314 15.812 -.163 .00 .00 BULK ATOM 8883 H1 TIP3 2662 -23.511 16.431 -.915 .00 .00 BULK ATOM 8884 H2 TIP3 2662 -22.922 15.078 -.685 .00 .00 BULK ATOM 8885 OH2 TIP3 2663 8.031 12.757 -.225 .00 .00 BULK ATOM 8886 H1 TIP3 2663 8.246 11.828 -.352 .00 .00 BULK ATOM 8887 H2 TIP3 2663 7.101 12.833 .076 .00 .00 BULK ATOM 8888 OH2 TIP3 2664 -11.332 -4.541 -23.157 .00 .00 BULK ATOM 8889 H1 TIP3 2664 -11.387 -3.576 -23.131 .00 .00 BULK ATOM 8890 H2 TIP3 2664 -10.987 -4.749 -22.222 .00 .00 BULK ATOM 8891 OH2 TIP3 2665 -30.231 -3.386 -12.467 .00 .00 BULK ATOM 8892 H1 TIP3 2665 -29.815 -3.756 -11.688 .00 .00 BULK ATOM 8893 H2 TIP3 2665 -29.853 -2.412 -12.457 .00 .00 BULK ATOM 8894 OH2 TIP3 2666 4.303 15.782 11.114 .00 .00 BULK ATOM 8895 H1 TIP3 2666 4.017 15.402 11.949 .00 .00 BULK ATOM 8896 H2 TIP3 2666 3.485 16.159 10.764 .00 .00 BULK ATOM 8897 OH2 TIP3 2667 16.678 2.867 -13.676 .00 .00 BULK ATOM 8898 H1 TIP3 2667 17.134 3.581 -13.113 .00 .00 BULK ATOM 8899 H2 TIP3 2667 17.425 2.809 -14.289 .00 .00 BULK ATOM 8900 OH2 TIP3 2668 -17.948 22.076 -18.115 .00 .00 BULK ATOM 8901 H1 TIP3 2668 -18.334 21.702 -17.360 .00 .00 BULK ATOM 8902 H2 TIP3 2668 -18.487 22.929 -18.238 .00 .00 BULK ATOM 8903 OH2 TIP3 2669 -17.415 20.375 -5.758 .00 .00 BULK ATOM 8904 H1 TIP3 2669 -18.263 20.531 -6.216 .00 .00 BULK ATOM 8905 H2 TIP3 2669 -17.779 20.602 -4.856 .00 .00 BULK ATOM 8906 OH2 TIP3 2670 5.307 23.201 -4.773 .00 .00 BULK ATOM 8907 H1 TIP3 2670 6.200 23.489 -4.579 .00 .00 BULK ATOM 8908 H2 TIP3 2670 5.476 22.882 -5.612 .00 .00 BULK ATOM 8909 OH2 TIP3 2671 -11.752 19.719 -14.406 .00 .00 BULK ATOM 8910 H1 TIP3 2671 -11.039 20.300 -14.715 .00 .00 BULK ATOM 8911 H2 TIP3 2671 -12.339 19.768 -15.189 .00 .00 BULK ATOM 8912 OH2 TIP3 2672 -2.517 14.328 21.737 .00 .00 BULK ATOM 8913 H1 TIP3 2672 -2.947 14.483 20.914 .00 .00 BULK ATOM 8914 H2 TIP3 2672 -2.921 14.947 22.357 .00 .00 BULK ATOM 8915 OH2 TIP3 2673 -20.405 -20.944 -10.140 .00 .00 BULK ATOM 8916 H1 TIP3 2673 -20.993 -20.567 -9.513 .00 .00 BULK ATOM 8917 H2 TIP3 2673 -20.961 -20.929 -10.937 .00 .00 BULK ATOM 8918 OH2 TIP3 2674 -10.927 21.227 -6.649 .00 .00 BULK ATOM 8919 H1 TIP3 2674 -11.737 21.751 -6.962 .00 .00 BULK ATOM 8920 H2 TIP3 2674 -10.614 20.828 -7.497 .00 .00 BULK ATOM 8921 OH2 TIP3 2675 -5.642 1.972 -14.787 .00 .00 BULK ATOM 8922 H1 TIP3 2675 -5.234 1.845 -15.669 .00 .00 BULK ATOM 8923 H2 TIP3 2675 -4.951 1.599 -14.162 .00 .00 BULK ATOM 8924 OH2 TIP3 2676 -11.678 -10.370 -9.384 .00 .00 BULK ATOM 8925 H1 TIP3 2676 -11.063 -9.896 -9.888 .00 .00 BULK ATOM 8926 H2 TIP3 2676 -11.848 -11.163 -9.910 .00 .00 BULK ATOM 8927 OH2 TIP3 2677 .855 -10.601 -8.391 .00 .00 BULK ATOM 8928 H1 TIP3 2677 .747 -9.670 -8.619 .00 .00 BULK ATOM 8929 H2 TIP3 2677 1.358 -10.885 -9.142 .00 .00 BULK ATOM 8930 OH2 TIP3 2678 -8.684 -20.105 1.549 .00 .00 BULK ATOM 8931 H1 TIP3 2678 -8.244 -20.526 .859 .00 .00 BULK ATOM 8932 H2 TIP3 2678 -9.140 -19.338 1.100 .00 .00 BULK ATOM 8933 OH2 TIP3 2679 23.716 -21.940 8.633 .00 .00 BULK ATOM 8934 H1 TIP3 2679 24.629 -22.320 8.733 .00 .00 BULK ATOM 8935 H2 TIP3 2679 23.810 -21.378 7.834 .00 .00 BULK ATOM 8936 OH2 TIP3 2680 -4.150 -19.361 -1.574 .00 .00 BULK ATOM 8937 H1 TIP3 2680 -3.922 -18.426 -1.541 .00 .00 BULK ATOM 8938 H2 TIP3 2680 -4.648 -19.475 -.773 .00 .00 BULK ATOM 8939 OH2 TIP3 2681 -16.474 -16.924 4.298 .00 .00 BULK ATOM 8940 H1 TIP3 2681 -15.856 -17.168 3.557 .00 .00 BULK ATOM 8941 H2 TIP3 2681 -17.331 -16.840 3.779 .00 .00 BULK ATOM 8942 OH2 TIP3 2682 11.582 -18.896 -.093 .00 .00 BULK ATOM 8943 H1 TIP3 2682 11.464 -18.006 -.549 .00 .00 BULK ATOM 8944 H2 TIP3 2682 11.841 -19.463 -.798 .00 .00 BULK ATOM 8945 OH2 TIP3 2683 13.224 -19.754 6.197 .00 .00 BULK ATOM 8946 H1 TIP3 2683 12.500 -20.168 6.741 .00 .00 BULK ATOM 8947 H2 TIP3 2683 13.613 -20.548 5.730 .00 .00 BULK ATOM 8948 OH2 TIP3 2684 -19.470 -16.993 -9.591 .00 .00 BULK ATOM 8949 H1 TIP3 2684 -20.066 -17.661 -9.970 .00 .00 BULK ATOM 8950 H2 TIP3 2684 -19.777 -16.234 -10.073 .00 .00 BULK ATOM 8951 OH2 TIP3 2685 -11.192 -12.402 15.218 .00 .00 BULK ATOM 8952 H1 TIP3 2685 -11.743 -12.186 15.995 .00 .00 BULK ATOM 8953 H2 TIP3 2685 -11.914 -12.490 14.540 .00 .00 BULK ATOM 8954 OH2 TIP3 2686 -7.494 22.871 -1.618 .00 .00 BULK ATOM 8955 H1 TIP3 2686 -7.176 22.609 -2.468 .00 .00 BULK ATOM 8956 H2 TIP3 2686 -7.192 23.795 -1.575 .00 .00 BULK ATOM 8957 OH2 TIP3 2687 -15.181 -16.884 -1.322 .00 .00 BULK ATOM 8958 H1 TIP3 2687 -14.498 -16.259 -.960 .00 .00 BULK ATOM 8959 H2 TIP3 2687 -15.927 -16.277 -1.661 .00 .00 BULK ATOM 8960 OH2 TIP3 2688 -18.633 11.591 -19.079 .00 .00 BULK ATOM 8961 H1 TIP3 2688 -19.437 10.995 -18.947 .00 .00 BULK ATOM 8962 H2 TIP3 2688 -18.640 11.628 -20.042 .00 .00 BULK ATOM 8963 OH2 TIP3 2689 -16.089 10.690 13.933 .00 .00 BULK ATOM 8964 H1 TIP3 2689 -15.523 10.035 13.532 .00 .00 BULK ATOM 8965 H2 TIP3 2689 -15.943 11.455 13.355 .00 .00 BULK ATOM 8966 OH2 TIP3 2690 -2.592 9.351 -21.036 .00 .00 BULK ATOM 8967 H1 TIP3 2690 -2.824 8.811 -20.285 .00 .00 BULK ATOM 8968 H2 TIP3 2690 -1.641 9.655 -20.773 .00 .00 BULK ATOM 8969 OH2 TIP3 2691 14.523 -13.958 -3.255 .00 .00 BULK ATOM 8970 H1 TIP3 2691 13.934 -14.015 -4.044 .00 .00 BULK ATOM 8971 H2 TIP3 2691 14.139 -13.351 -2.651 .00 .00 BULK ATOM 8972 OH2 TIP3 2692 -8.179 1.565 -14.581 .00 .00 BULK ATOM 8973 H1 TIP3 2692 -8.242 2.576 -14.686 .00 .00 BULK ATOM 8974 H2 TIP3 2692 -7.250 1.383 -14.760 .00 .00 BULK ATOM 8975 OH2 TIP3 2693 -10.727 -7.016 13.830 .00 .00 BULK ATOM 8976 H1 TIP3 2693 -9.722 -6.842 13.941 .00 .00 BULK ATOM 8977 H2 TIP3 2693 -11.154 -6.792 14.672 .00 .00 BULK ATOM 8978 OH2 TIP3 2694 22.412 14.693 -20.289 .00 .00 BULK ATOM 8979 H1 TIP3 2694 23.063 15.475 -20.136 .00 .00 BULK ATOM 8980 H2 TIP3 2694 21.565 15.141 -20.007 .00 .00 BULK ATOM 8981 OH2 TIP3 2695 -11.436 20.281 -18.847 .00 .00 BULK ATOM 8982 H1 TIP3 2695 -11.071 20.991 -19.385 .00 .00 BULK ATOM 8983 H2 TIP3 2695 -12.334 20.155 -19.274 .00 .00 BULK ATOM 8984 OH2 TIP3 2696 -20.366 12.021 17.773 .00 .00 BULK ATOM 8985 H1 TIP3 2696 -19.538 11.529 17.593 .00 .00 BULK ATOM 8986 H2 TIP3 2696 -20.277 12.736 17.112 .00 .00 BULK ATOM 8987 OH2 TIP3 2697 -22.979 20.701 -5.792 .00 .00 BULK ATOM 8988 H1 TIP3 2697 -23.644 21.320 -6.219 .00 .00 BULK ATOM 8989 H2 TIP3 2697 -23.517 19.865 -5.921 .00 .00 BULK ATOM 8990 OH2 TIP3 2698 -26.153 -12.544 -16.665 .00 .00 BULK ATOM 8991 H1 TIP3 2698 -26.317 -13.150 -17.397 .00 .00 BULK ATOM 8992 H2 TIP3 2698 -25.283 -12.293 -16.968 .00 .00 BULK ATOM 8993 OH2 TIP3 2699 -1.109 22.852 5.891 .00 .00 BULK ATOM 8994 H1 TIP3 2699 -.519 23.020 5.149 .00 .00 BULK ATOM 8995 H2 TIP3 2699 -1.096 21.870 5.964 .00 .00 BULK ATOM 8996 OH2 TIP3 2700 5.169 -3.968 21.812 .00 .00 BULK ATOM 8997 H1 TIP3 2700 4.915 -3.796 22.734 .00 .00 BULK ATOM 8998 H2 TIP3 2700 5.793 -4.698 22.034 .00 .00 BULK ATOM 8999 OH2 TIP3 2701 -17.505 -18.975 12.680 .00 .00 BULK ATOM 9000 H1 TIP3 2701 -16.752 -18.906 13.300 .00 .00 BULK ATOM 9001 H2 TIP3 2701 -18.224 -19.382 13.214 .00 .00 BULK ATOM 9002 OH2 TIP3 2702 7.197 7.272 -3.732 .00 .00 BULK ATOM 9003 H1 TIP3 2702 7.798 6.678 -3.419 .00 .00 BULK ATOM 9004 H2 TIP3 2702 7.811 7.791 -4.261 .00 .00 BULK ATOM 9005 OH2 TIP3 2703 -2.931 -9.472 -8.008 .00 .00 BULK ATOM 9006 H1 TIP3 2703 -2.603 -10.352 -7.780 .00 .00 BULK ATOM 9007 H2 TIP3 2703 -3.737 -9.511 -7.434 .00 .00 BULK ATOM 9008 OH2 TIP3 2704 -16.450 -22.939 15.396 .00 .00 BULK ATOM 9009 H1 TIP3 2704 -16.574 -23.943 15.596 .00 .00 BULK ATOM 9010 H2 TIP3 2704 -17.144 -22.526 15.928 .00 .00 BULK ATOM 9011 OH2 TIP3 2705 26.410 17.952 -11.705 .00 .00 BULK ATOM 9012 H1 TIP3 2705 25.563 18.295 -11.346 .00 .00 BULK ATOM 9013 H2 TIP3 2705 26.125 17.074 -12.068 .00 .00 BULK ATOM 9014 OH2 TIP3 2706 -14.930 -13.657 19.870 .00 .00 BULK ATOM 9015 H1 TIP3 2706 -14.674 -14.206 19.073 .00 .00 BULK ATOM 9016 H2 TIP3 2706 -14.432 -14.031 20.610 .00 .00 BULK ATOM 9017 OH2 TIP3 2707 -22.284 -7.511 1.565 .00 .00 BULK ATOM 9018 H1 TIP3 2707 -22.845 -8.270 1.338 .00 .00 BULK ATOM 9019 H2 TIP3 2707 -22.839 -6.879 1.167 .00 .00 BULK ATOM 9020 OH2 TIP3 2708 12.855 8.487 8.950 .00 .00 BULK ATOM 9021 H1 TIP3 2708 11.937 8.540 8.567 .00 .00 BULK ATOM 9022 H2 TIP3 2708 12.842 9.317 9.447 .00 .00 BULK ATOM 9023 OH2 TIP3 2709 -2.679 -14.687 -16.427 .00 .00 BULK ATOM 9024 H1 TIP3 2709 -1.774 -14.964 -16.405 .00 .00 BULK ATOM 9025 H2 TIP3 2709 -2.629 -13.804 -16.202 .00 .00 BULK ATOM 9026 OH2 TIP3 2710 17.641 13.113 -21.832 .00 .00 BULK ATOM 9027 H1 TIP3 2710 17.419 12.183 -21.844 .00 .00 BULK ATOM 9028 H2 TIP3 2710 18.427 13.186 -21.190 .00 .00 BULK ATOM 9029 OH2 TIP3 2711 -20.966 3.513 -5.059 .00 .00 BULK ATOM 9030 H1 TIP3 2711 -20.916 2.607 -5.498 .00 .00 BULK ATOM 9031 H2 TIP3 2711 -21.357 3.352 -4.216 .00 .00 BULK ATOM 9032 OH2 TIP3 2712 -6.512 -15.587 -17.770 .00 .00 BULK ATOM 9033 H1 TIP3 2712 -6.716 -16.534 -17.693 .00 .00 BULK ATOM 9034 H2 TIP3 2712 -7.438 -15.235 -17.970 .00 .00 BULK ATOM 9035 OH2 TIP3 2713 6.687 22.938 -14.667 .00 .00 BULK ATOM 9036 H1 TIP3 2713 7.012 23.744 -14.234 .00 .00 BULK ATOM 9037 H2 TIP3 2713 5.753 23.145 -14.655 .00 .00 BULK ATOM 9038 OH2 TIP3 2714 15.218 -17.947 -7.177 .00 .00 BULK ATOM 9039 H1 TIP3 2714 15.976 -17.325 -7.055 .00 .00 BULK ATOM 9040 H2 TIP3 2714 14.738 -17.610 -7.948 .00 .00 BULK ATOM 9041 OH2 TIP3 2715 -11.117 8.087 -10.895 .00 .00 BULK ATOM 9042 H1 TIP3 2715 -11.141 7.350 -10.293 .00 .00 BULK ATOM 9043 H2 TIP3 2715 -12.033 8.476 -10.861 .00 .00 BULK ATOM 9044 OH2 TIP3 2716 -2.387 -16.238 16.443 .00 .00 BULK ATOM 9045 H1 TIP3 2716 -1.524 -16.645 16.501 .00 .00 BULK ATOM 9046 H2 TIP3 2716 -2.931 -16.729 17.075 .00 .00 BULK ATOM 9047 OH2 TIP3 2717 -21.603 14.366 20.264 .00 .00 BULK ATOM 9048 H1 TIP3 2717 -20.893 14.865 19.769 .00 .00 BULK ATOM 9049 H2 TIP3 2717 -22.433 14.844 19.999 .00 .00 BULK ATOM 9050 OH2 TIP3 2718 -18.488 -22.171 -23.030 .00 .00 BULK ATOM 9051 H1 TIP3 2718 -18.298 -22.285 -22.161 .00 .00 BULK ATOM 9052 H2 TIP3 2718 -18.050 -21.251 -23.204 .00 .00 BULK ATOM 9053 OH2 TIP3 2719 14.392 -20.391 -13.437 .00 .00 BULK ATOM 9054 H1 TIP3 2719 13.609 -20.272 -13.986 .00 .00 BULK ATOM 9055 H2 TIP3 2719 15.161 -20.229 -14.031 .00 .00 BULK ATOM 9056 OH2 TIP3 2720 -5.820 2.483 -11.649 .00 .00 BULK ATOM 9057 H1 TIP3 2720 -4.989 3.033 -11.532 .00 .00 BULK ATOM 9058 H2 TIP3 2720 -5.446 1.582 -11.654 .00 .00 BULK ATOM 9059 OH2 TIP3 2721 -4.093 23.407 -16.220 .00 .00 BULK ATOM 9060 H1 TIP3 2721 -3.492 22.745 -16.578 .00 .00 BULK ATOM 9061 H2 TIP3 2721 -4.223 23.162 -15.324 .00 .00 BULK ATOM 9062 OH2 TIP3 2722 3.067 -16.577 19.146 .00 .00 BULK ATOM 9063 H1 TIP3 2722 2.688 -15.995 19.863 .00 .00 BULK ATOM 9064 H2 TIP3 2722 2.338 -17.238 19.000 .00 .00 BULK ATOM 9065 OH2 TIP3 2723 6.426 20.212 -9.580 .00 .00 BULK ATOM 9066 H1 TIP3 2723 6.450 19.740 -10.481 .00 .00 BULK ATOM 9067 H2 TIP3 2723 6.434 21.154 -9.883 .00 .00 BULK ATOM 9068 OH2 TIP3 2724 -10.506 16.263 -9.074 .00 .00 BULK ATOM 9069 H1 TIP3 2724 -10.067 16.570 -9.962 .00 .00 BULK ATOM 9070 H2 TIP3 2724 -11.397 16.714 -9.131 .00 .00 BULK ATOM 9071 OH2 TIP3 2725 -8.403 14.080 16.189 .00 .00 BULK ATOM 9072 H1 TIP3 2725 -7.735 13.653 15.622 .00 .00 BULK ATOM 9073 H2 TIP3 2725 -9.145 13.529 16.188 .00 .00 BULK ATOM 9074 OH2 TIP3 2726 -9.159 -11.305 2.421 .00 .00 BULK ATOM 9075 H1 TIP3 2726 -9.832 -11.725 1.835 .00 .00 BULK ATOM 9076 H2 TIP3 2726 -8.453 -11.427 1.767 .00 .00 BULK ATOM 9077 OH2 TIP3 2727 -10.784 -10.512 -16.035 .00 .00 BULK ATOM 9078 H1 TIP3 2727 -10.325 -9.934 -16.620 .00 .00 BULK ATOM 9079 H2 TIP3 2727 -10.568 -11.354 -16.495 .00 .00 BULK ATOM 9080 OH2 TIP3 2728 8.438 -3.539 10.362 .00 .00 BULK ATOM 9081 H1 TIP3 2728 8.987 -4.291 10.165 .00 .00 BULK ATOM 9082 H2 TIP3 2728 9.079 -2.875 10.154 .00 .00 BULK ATOM 9083 OH2 TIP3 2729 .288 -4.551 -22.328 .00 .00 BULK ATOM 9084 H1 TIP3 2729 -.024 -3.752 -22.763 .00 .00 BULK ATOM 9085 H2 TIP3 2729 -.520 -5.063 -22.113 .00 .00 BULK ATOM 9086 OH2 TIP3 2730 -10.672 -18.188 -18.948 .00 .00 BULK ATOM 9087 H1 TIP3 2730 -10.676 -18.431 -18.009 .00 .00 BULK ATOM 9088 H2 TIP3 2730 -10.040 -18.750 -19.461 .00 .00 BULK ATOM 9089 OH2 TIP3 2731 5.937 -17.799 12.274 .00 .00 BULK ATOM 9090 H1 TIP3 2731 5.476 -18.031 11.488 .00 .00 BULK ATOM 9091 H2 TIP3 2731 6.333 -16.956 12.030 .00 .00 BULK ATOM 9092 OH2 TIP3 2732 9.839 -17.359 8.759 .00 .00 BULK ATOM 9093 H1 TIP3 2732 9.060 -16.979 8.288 .00 .00 BULK ATOM 9094 H2 TIP3 2732 10.537 -16.755 8.489 .00 .00 BULK ATOM 9095 OH2 TIP3 2733 10.540 -13.167 9.254 .00 .00 BULK ATOM 9096 H1 TIP3 2733 10.612 -14.172 9.129 .00 .00 BULK ATOM 9097 H2 TIP3 2733 11.268 -12.883 8.651 .00 .00 BULK ATOM 9098 OH2 TIP3 2734 -19.179 -4.304 -12.315 .00 .00 BULK ATOM 9099 H1 TIP3 2734 -18.635 -5.007 -12.688 .00 .00 BULK ATOM 9100 H2 TIP3 2734 -19.372 -3.856 -13.174 .00 .00 BULK ATOM 9101 OH2 TIP3 2735 -24.024 2.253 -11.094 .00 .00 BULK ATOM 9102 H1 TIP3 2735 -23.417 1.528 -11.228 .00 .00 BULK ATOM 9103 H2 TIP3 2735 -23.523 2.774 -10.469 .00 .00 BULK ATOM 9104 OH2 TIP3 2736 2.537 21.081 1.241 .00 .00 BULK ATOM 9105 H1 TIP3 2736 3.303 21.218 .634 .00 .00 BULK ATOM 9106 H2 TIP3 2736 2.856 20.253 1.683 .00 .00 BULK ATOM 9107 OH2 TIP3 2737 -9.616 20.718 5.652 .00 .00 BULK ATOM 9108 H1 TIP3 2737 -9.059 20.449 6.456 .00 .00 BULK ATOM 9109 H2 TIP3 2737 -8.936 21.335 5.296 .00 .00 BULK ATOM 9110 OH2 TIP3 2738 1.241 6.298 5.763 .00 .00 BULK ATOM 9111 H1 TIP3 2738 1.943 6.386 6.457 .00 .00 BULK ATOM 9112 H2 TIP3 2738 1.864 6.079 5.027 .00 .00 BULK ATOM 9113 OH2 TIP3 2739 -24.266 -6.481 6.412 .00 .00 BULK ATOM 9114 H1 TIP3 2739 -24.566 -5.865 7.045 .00 .00 BULK ATOM 9115 H2 TIP3 2739 -24.223 -7.220 7.028 .00 .00 BULK ATOM 9116 OH2 TIP3 2740 -5.601 22.854 .506 .00 .00 BULK ATOM 9117 H1 TIP3 2740 -5.792 22.218 1.174 .00 .00 BULK ATOM 9118 H2 TIP3 2740 -6.076 22.453 -.274 .00 .00 BULK ATOM 9119 OH2 TIP3 2741 24.182 9.245 -5.023 .00 .00 BULK ATOM 9120 H1 TIP3 2741 23.224 9.207 -5.016 .00 .00 BULK ATOM 9121 H2 TIP3 2741 24.422 8.397 -4.652 .00 .00 BULK ATOM 9122 OH2 TIP3 2742 -4.394 5.604 23.344 .00 .00 BULK ATOM 9123 H1 TIP3 2742 -4.804 5.649 22.451 .00 .00 BULK ATOM 9124 H2 TIP3 2742 -4.308 6.524 23.562 .00 .00 BULK ATOM 9125 OH2 TIP3 2743 17.208 18.891 -3.719 .00 .00 BULK ATOM 9126 H1 TIP3 2743 17.852 18.317 -3.348 .00 .00 BULK ATOM 9127 H2 TIP3 2743 16.712 19.061 -2.854 .00 .00 BULK ATOM 9128 OH2 TIP3 2744 -19.581 .139 -9.365 .00 .00 BULK ATOM 9129 H1 TIP3 2744 -19.993 -.638 -8.971 .00 .00 BULK ATOM 9130 H2 TIP3 2744 -19.496 -.159 -10.283 .00 .00 BULK ATOM 9131 OH2 TIP3 2745 -27.671 -22.056 3.543 .00 .00 BULK ATOM 9132 H1 TIP3 2745 -28.567 -22.227 3.155 .00 .00 BULK ATOM 9133 H2 TIP3 2745 -27.259 -22.971 3.550 .00 .00 BULK ATOM 9134 OH2 TIP3 2746 4.396 16.453 -14.073 .00 .00 BULK ATOM 9135 H1 TIP3 2746 4.580 17.340 -14.473 .00 .00 BULK ATOM 9136 H2 TIP3 2746 4.125 16.818 -13.212 .00 .00 BULK ATOM 9137 OH2 TIP3 2747 25.405 -2.865 -4.286 .00 .00 BULK ATOM 9138 H1 TIP3 2747 25.968 -3.667 -4.257 .00 .00 BULK ATOM 9139 H2 TIP3 2747 24.605 -3.358 -4.255 .00 .00 BULK ATOM 9140 OH2 TIP3 2748 -2.424 -16.578 20.670 .00 .00 BULK ATOM 9141 H1 TIP3 2748 -2.646 -16.772 19.726 .00 .00 BULK ATOM 9142 H2 TIP3 2748 -3.093 -17.199 21.095 .00 .00 BULK ATOM 9143 OH2 TIP3 2749 -27.747 -15.729 21.731 .00 .00 BULK ATOM 9144 H1 TIP3 2749 -27.602 -15.197 22.523 .00 .00 BULK ATOM 9145 H2 TIP3 2749 -27.655 -16.685 21.954 .00 .00 BULK ATOM 9146 OH2 TIP3 2750 -21.911 -12.772 -14.491 .00 .00 BULK ATOM 9147 H1 TIP3 2750 -22.663 -12.159 -14.744 .00 .00 BULK ATOM 9148 H2 TIP3 2750 -21.998 -13.467 -15.172 .00 .00 BULK ATOM 9149 OH2 TIP3 2751 5.955 -14.572 -20.838 .00 .00 BULK ATOM 9150 H1 TIP3 2751 6.040 -14.840 -21.788 .00 .00 BULK ATOM 9151 H2 TIP3 2751 5.830 -15.494 -20.522 .00 .00 BULK ATOM 9152 OH2 TIP3 2752 22.015 14.648 17.003 .00 .00 BULK ATOM 9153 H1 TIP3 2752 21.367 15.038 17.653 .00 .00 BULK ATOM 9154 H2 TIP3 2752 22.567 15.353 16.634 .00 .00 BULK ATOM 9155 OH2 TIP3 2753 -20.107 19.671 22.233 .00 .00 BULK ATOM 9156 H1 TIP3 2753 -19.808 20.188 22.999 .00 .00 BULK ATOM 9157 H2 TIP3 2753 -19.266 19.670 21.697 .00 .00 BULK ATOM 9158 OH2 TIP3 2754 -8.837 19.723 1.110 .00 .00 BULK ATOM 9159 H1 TIP3 2754 -9.757 19.382 .871 .00 .00 BULK ATOM 9160 H2 TIP3 2754 -8.361 18.907 .993 .00 .00 BULK ATOM 9161 OH2 TIP3 2755 14.747 -10.495 -14.241 .00 .00 BULK ATOM 9162 H1 TIP3 2755 15.336 -9.758 -13.917 .00 .00 BULK ATOM 9163 H2 TIP3 2755 13.895 -10.075 -14.106 .00 .00 BULK ATOM 9164 OH2 TIP3 2756 28.983 -7.565 22.030 .00 .00 BULK ATOM 9165 H1 TIP3 2756 28.545 -8.156 21.424 .00 .00 BULK ATOM 9166 H2 TIP3 2756 28.916 -6.674 21.558 .00 .00 BULK ATOM 9167 OH2 TIP3 2757 -7.297 8.549 7.550 .00 .00 BULK ATOM 9168 H1 TIP3 2757 -7.901 8.164 6.827 .00 .00 BULK ATOM 9169 H2 TIP3 2757 -6.573 9.022 7.046 .00 .00 BULK ATOM 9170 OH2 TIP3 2758 -29.235 21.770 21.275 .00 .00 BULK ATOM 9171 H1 TIP3 2758 -29.448 22.678 21.001 .00 .00 BULK ATOM 9172 H2 TIP3 2758 -28.807 21.373 20.460 .00 .00 BULK ATOM 9173 OH2 TIP3 2759 -4.851 -21.115 -16.053 .00 .00 BULK ATOM 9174 H1 TIP3 2759 -5.504 -20.956 -16.753 .00 .00 BULK ATOM 9175 H2 TIP3 2759 -4.573 -22.064 -16.206 .00 .00 BULK ATOM 9176 OH2 TIP3 2760 6.576 19.699 -4.884 .00 .00 BULK ATOM 9177 H1 TIP3 2760 7.321 19.493 -5.505 .00 .00 BULK ATOM 9178 H2 TIP3 2760 6.002 20.166 -5.448 .00 .00 BULK ATOM 9179 OH2 TIP3 2761 11.722 -22.047 .412 .00 .00 BULK ATOM 9180 H1 TIP3 2761 12.235 -21.299 .100 .00 .00 BULK ATOM 9181 H2 TIP3 2761 11.751 -21.793 1.341 .00 .00 BULK ATOM 9182 OH2 TIP3 2762 -12.955 18.326 6.602 .00 .00 BULK ATOM 9183 H1 TIP3 2762 -13.593 17.602 6.357 .00 .00 BULK ATOM 9184 H2 TIP3 2762 -12.592 17.915 7.413 .00 .00 BULK ATOM 9185 OH2 TIP3 2763 -7.286 6.582 12.250 .00 .00 BULK ATOM 9186 H1 TIP3 2763 -7.525 7.263 12.870 .00 .00 BULK ATOM 9187 H2 TIP3 2763 -8.206 6.273 12.068 .00 .00 BULK ATOM 9188 OH2 TIP3 2764 -21.135 17.783 -14.373 .00 .00 BULK ATOM 9189 H1 TIP3 2764 -20.406 17.274 -13.941 .00 .00 BULK ATOM 9190 H2 TIP3 2764 -21.720 17.907 -13.545 .00 .00 BULK ATOM 9191 OH2 TIP3 2765 8.600 9.755 11.142 .00 .00 BULK ATOM 9192 H1 TIP3 2765 8.299 9.134 11.851 .00 .00 BULK ATOM 9193 H2 TIP3 2765 8.165 10.565 11.386 .00 .00 BULK ATOM 9194 OH2 TIP3 2766 -12.792 -21.477 -6.567 .00 .00 BULK ATOM 9195 H1 TIP3 2766 -11.923 -21.818 -6.740 .00 .00 BULK ATOM 9196 H2 TIP3 2766 -13.279 -22.285 -6.228 .00 .00 BULK ATOM 9197 OH2 TIP3 2767 -26.772 10.312 -7.760 .00 .00 BULK ATOM 9198 H1 TIP3 2767 -26.535 10.289 -8.713 .00 .00 BULK ATOM 9199 H2 TIP3 2767 -27.710 10.346 -7.879 .00 .00 BULK ATOM 9200 OH2 TIP3 2768 11.108 -5.311 -14.172 .00 .00 BULK ATOM 9201 H1 TIP3 2768 11.892 -4.922 -13.659 .00 .00 BULK ATOM 9202 H2 TIP3 2768 11.387 -6.183 -14.386 .00 .00 BULK ATOM 9203 OH2 TIP3 2769 -5.414 -17.555 -11.617 .00 .00 BULK ATOM 9204 H1 TIP3 2769 -5.196 -18.020 -12.449 .00 .00 BULK ATOM 9205 H2 TIP3 2769 -6.130 -16.991 -11.876 .00 .00 BULK ATOM 9206 OH2 TIP3 2770 13.683 -20.164 15.195 .00 .00 BULK ATOM 9207 H1 TIP3 2770 13.884 -19.820 14.265 .00 .00 BULK ATOM 9208 H2 TIP3 2770 13.779 -21.127 15.013 .00 .00 BULK ATOM 9209 OH2 TIP3 2771 -8.598 7.728 9.783 .00 .00 BULK ATOM 9210 H1 TIP3 2771 -8.115 8.111 9.053 .00 .00 BULK ATOM 9211 H2 TIP3 2771 -8.971 8.514 10.169 .00 .00 BULK ATOM 9212 OH2 TIP3 2772 -19.954 -23.187 -17.655 .00 .00 BULK ATOM 9213 H1 TIP3 2772 -20.309 -22.776 -16.809 .00 .00 BULK ATOM 9214 H2 TIP3 2772 -19.717 -22.328 -18.167 .00 .00 BULK ATOM 9215 OH2 TIP3 2773 -1.241 -12.259 10.092 .00 .00 BULK ATOM 9216 H1 TIP3 2773 -1.613 -13.068 9.791 .00 .00 BULK ATOM 9217 H2 TIP3 2773 -.384 -12.539 10.453 .00 .00 BULK ATOM 9218 OH2 TIP3 2774 -.141 -20.067 -4.889 .00 .00 BULK ATOM 9219 H1 TIP3 2774 -.354 -20.592 -5.671 .00 .00 BULK ATOM 9220 H2 TIP3 2774 -.834 -20.519 -4.287 .00 .00 BULK ATOM 9221 OH2 TIP3 2775 20.599 6.968 3.593 .00 .00 BULK ATOM 9222 H1 TIP3 2775 21.473 7.160 3.229 .00 .00 BULK ATOM 9223 H2 TIP3 2775 20.611 5.980 3.394 .00 .00 BULK ATOM 9224 OH2 TIP3 2776 20.683 20.659 1.296 .00 .00 BULK ATOM 9225 H1 TIP3 2776 19.968 21.362 1.077 .00 .00 BULK ATOM 9226 H2 TIP3 2776 20.577 19.974 .625 .00 .00 BULK ATOM 9227 OH2 TIP3 2777 -1.334 -18.683 -15.984 .00 .00 BULK ATOM 9228 H1 TIP3 2777 -1.803 -19.522 -16.113 .00 .00 BULK ATOM 9229 H2 TIP3 2777 -2.128 -18.116 -15.822 .00 .00 BULK ATOM 9230 OH2 TIP3 2778 -2.224 22.476 -4.026 .00 .00 BULK ATOM 9231 H1 TIP3 2778 -2.996 23.033 -4.026 .00 .00 BULK ATOM 9232 H2 TIP3 2778 -2.581 21.684 -3.598 .00 .00 BULK ATOM 9233 OH2 TIP3 2779 -19.048 17.776 .998 .00 .00 BULK ATOM 9234 H1 TIP3 2779 -19.443 18.580 .669 .00 .00 BULK ATOM 9235 H2 TIP3 2779 -18.388 17.552 .323 .00 .00 BULK ATOM 9236 OH2 TIP3 2780 23.698 23.010 -12.647 .00 .00 BULK ATOM 9237 H1 TIP3 2780 23.753 23.084 -11.647 .00 .00 BULK ATOM 9238 H2 TIP3 2780 24.567 23.433 -12.764 .00 .00 BULK ATOM 9239 OH2 TIP3 2781 -23.648 .571 8.424 .00 .00 BULK ATOM 9240 H1 TIP3 2781 -23.873 1.399 8.956 .00 .00 BULK ATOM 9241 H2 TIP3 2781 -24.406 .090 8.789 .00 .00 BULK ATOM 9242 OH2 TIP3 2782 7.807 16.663 -8.592 .00 .00 BULK ATOM 9243 H1 TIP3 2782 8.437 15.920 -8.796 .00 .00 BULK ATOM 9244 H2 TIP3 2782 6.936 16.270 -8.611 .00 .00 BULK ATOM 9245 OH2 TIP3 2783 -3.518 -23.132 6.287 .00 .00 BULK ATOM 9246 H1 TIP3 2783 -3.863 -23.447 5.480 .00 .00 BULK ATOM 9247 H2 TIP3 2783 -2.658 -23.602 6.171 .00 .00 BULK ATOM 9248 OH2 TIP3 2784 14.719 19.789 1.304 .00 .00 BULK ATOM 9249 H1 TIP3 2784 14.251 20.377 1.935 .00 .00 BULK ATOM 9250 H2 TIP3 2784 13.970 19.182 1.122 .00 .00 BULK ATOM 9251 OH2 TIP3 2785 -6.664 -1.082 6.683 .00 .00 BULK ATOM 9252 H1 TIP3 2785 -6.974 -.891 5.776 .00 .00 BULK ATOM 9253 H2 TIP3 2785 -5.880 -1.576 6.456 .00 .00 BULK ATOM 9254 OH2 TIP3 2786 -12.116 16.621 -15.506 .00 .00 BULK ATOM 9255 H1 TIP3 2786 -12.153 17.562 -15.873 .00 .00 BULK ATOM 9256 H2 TIP3 2786 -12.604 16.048 -16.153 .00 .00 BULK ATOM 9257 OH2 TIP3 2787 -2.754 13.679 11.840 .00 .00 BULK ATOM 9258 H1 TIP3 2787 -3.143 14.043 10.952 .00 .00 BULK ATOM 9259 H2 TIP3 2787 -2.480 12.766 11.690 .00 .00 BULK ATOM 9260 OH2 TIP3 2788 1.630 -19.601 5.055 .00 .00 BULK ATOM 9261 H1 TIP3 2788 1.650 -20.193 5.843 .00 .00 BULK ATOM 9262 H2 TIP3 2788 1.387 -20.225 4.302 .00 .00 BULK ATOM 9263 OH2 TIP3 2789 2.125 -5.261 -7.659 .00 .00 BULK ATOM 9264 H1 TIP3 2789 1.722 -4.520 -8.188 .00 .00 BULK ATOM 9265 H2 TIP3 2789 2.776 -4.867 -7.015 .00 .00 BULK ATOM 9266 OH2 TIP3 2790 19.676 -12.330 -12.541 .00 .00 BULK ATOM 9267 H1 TIP3 2790 19.912 -13.190 -12.271 .00 .00 BULK ATOM 9268 H2 TIP3 2790 18.953 -12.530 -13.190 .00 .00 BULK ATOM 9269 OH2 TIP3 2791 -11.804 -19.981 -13.026 .00 .00 BULK ATOM 9270 H1 TIP3 2791 -12.403 -19.660 -12.299 .00 .00 BULK ATOM 9271 H2 TIP3 2791 -11.046 -20.313 -12.496 .00 .00 BULK ATOM 9272 OH2 TIP3 2792 -21.782 -1.763 .819 .00 .00 BULK ATOM 9273 H1 TIP3 2792 -21.978 -1.196 .059 .00 .00 BULK ATOM 9274 H2 TIP3 2792 -21.010 -1.307 1.179 .00 .00 BULK ATOM 9275 OH2 TIP3 2793 .470 23.476 8.270 .00 .00 BULK ATOM 9276 H1 TIP3 2793 .117 23.031 7.501 .00 .00 BULK ATOM 9277 H2 TIP3 2793 1.283 22.917 8.435 .00 .00 BULK ATOM 9278 OH2 TIP3 2794 1.120 23.061 -11.333 .00 .00 BULK ATOM 9279 H1 TIP3 2794 .737 22.739 -10.465 .00 .00 BULK ATOM 9280 H2 TIP3 2794 .710 22.364 -11.878 .00 .00 BULK ATOM 9281 OH2 TIP3 2795 23.081 -20.329 20.533 .00 .00 BULK ATOM 9282 H1 TIP3 2795 23.195 -20.604 21.444 .00 .00 BULK ATOM 9283 H2 TIP3 2795 23.821 -20.824 20.125 .00 .00 BULK ATOM 9284 OH2 TIP3 2796 -5.284 -17.847 21.769 .00 .00 BULK ATOM 9285 H1 TIP3 2796 -5.252 -17.231 21.019 .00 .00 BULK ATOM 9286 H2 TIP3 2796 -6.218 -17.741 22.005 .00 .00 BULK ATOM 9287 OH2 TIP3 2797 5.653 17.697 -.083 .00 .00 BULK ATOM 9288 H1 TIP3 2797 5.030 16.992 -.450 .00 .00 BULK ATOM 9289 H2 TIP3 2797 5.563 18.394 -.779 .00 .00 BULK ATOM 9290 OH2 TIP3 2798 -16.736 -10.070 -10.281 .00 .00 BULK ATOM 9291 H1 TIP3 2798 -16.503 -10.876 -9.849 .00 .00 BULK ATOM 9292 H2 TIP3 2798 -16.372 -10.284 -11.168 .00 .00 BULK ATOM 9293 OH2 TIP3 2799 -22.962 -.819 -20.830 .00 .00 BULK ATOM 9294 H1 TIP3 2799 -23.277 -.184 -21.547 .00 .00 BULK ATOM 9295 H2 TIP3 2799 -22.111 -1.077 -21.310 .00 .00 BULK ATOM 9296 OH2 TIP3 2800 -2.859 -19.606 13.545 .00 .00 BULK ATOM 9297 H1 TIP3 2800 -3.204 -20.018 12.753 .00 .00 BULK ATOM 9298 H2 TIP3 2800 -3.514 -18.920 13.659 .00 .00 BULK ATOM 9299 OH2 TIP3 2801 14.457 -11.281 -5.108 .00 .00 BULK ATOM 9300 H1 TIP3 2801 15.392 -11.478 -5.194 .00 .00 BULK ATOM 9301 H2 TIP3 2801 14.107 -12.178 -5.335 .00 .00 BULK ATOM 9302 OH2 TIP3 2802 -20.185 -22.163 -2.599 .00 .00 BULK ATOM 9303 H1 TIP3 2802 -19.754 -22.297 -3.437 .00 .00 BULK ATOM 9304 H2 TIP3 2802 -19.410 -21.927 -2.146 .00 .00 BULK ATOM 9305 OH2 TIP3 2803 -27.211 -14.241 -18.674 .00 .00 BULK ATOM 9306 H1 TIP3 2803 -26.447 -14.073 -19.316 .00 .00 BULK ATOM 9307 H2 TIP3 2803 -27.968 -14.534 -19.262 .00 .00 BULK ATOM 9308 OH2 TIP3 2804 10.176 -3.685 -16.152 .00 .00 BULK ATOM 9309 H1 TIP3 2804 10.641 -2.803 -16.090 .00 .00 BULK ATOM 9310 H2 TIP3 2804 10.530 -4.237 -15.394 .00 .00 BULK ATOM 9311 OH2 TIP3 2805 -7.968 15.609 -17.830 .00 .00 BULK ATOM 9312 H1 TIP3 2805 -8.740 16.190 -17.902 .00 .00 BULK ATOM 9313 H2 TIP3 2805 -7.908 15.623 -16.880 .00 .00 BULK ATOM 9314 OH2 TIP3 2806 -16.938 -13.692 2.469 .00 .00 BULK ATOM 9315 H1 TIP3 2806 -17.821 -13.827 2.052 .00 .00 BULK ATOM 9316 H2 TIP3 2806 -16.607 -12.989 1.862 .00 .00 BULK ATOM 9317 OH2 TIP3 2807 -3.973 -9.620 -12.538 .00 .00 BULK ATOM 9318 H1 TIP3 2807 -3.020 -9.327 -12.371 .00 .00 BULK ATOM 9319 H2 TIP3 2807 -4.119 -10.347 -11.863 .00 .00 BULK ATOM 9320 OH2 TIP3 2808 -8.108 17.348 20.687 .00 .00 BULK ATOM 9321 H1 TIP3 2808 -7.782 18.219 20.932 .00 .00 BULK ATOM 9322 H2 TIP3 2808 -7.638 17.302 19.860 .00 .00 BULK ATOM 9323 OH2 TIP3 2809 -26.424 7.423 -16.371 .00 .00 BULK ATOM 9324 H1 TIP3 2809 -26.871 7.044 -15.576 .00 .00 BULK ATOM 9325 H2 TIP3 2809 -26.396 6.542 -16.832 .00 .00 BULK ATOM 9326 OH2 TIP3 2810 -27.161 -9.768 -5.701 .00 .00 BULK ATOM 9327 H1 TIP3 2810 -28.007 -10.261 -5.725 .00 .00 BULK ATOM 9328 H2 TIP3 2810 -26.708 -10.387 -6.272 .00 .00 BULK ATOM 9329 OH2 TIP3 2811 -20.782 -12.472 -17.799 .00 .00 BULK ATOM 9330 H1 TIP3 2811 -19.901 -12.681 -18.202 .00 .00 BULK ATOM 9331 H2 TIP3 2811 -20.520 -11.658 -17.248 .00 .00 BULK ATOM 9332 OH2 TIP3 2812 18.160 13.536 11.904 .00 .00 BULK ATOM 9333 H1 TIP3 2812 17.414 13.074 12.292 .00 .00 BULK ATOM 9334 H2 TIP3 2812 18.915 12.872 12.035 .00 .00 BULK ATOM 9335 OH2 TIP3 2813 -19.214 12.688 13.871 .00 .00 BULK ATOM 9336 H1 TIP3 2813 -19.010 12.609 12.919 .00 .00 BULK ATOM 9337 H2 TIP3 2813 -20.054 13.118 13.863 .00 .00 BULK ATOM 9338 OH2 TIP3 2814 4.733 5.052 -22.431 .00 .00 BULK ATOM 9339 H1 TIP3 2814 3.928 4.620 -22.057 .00 .00 BULK ATOM 9340 H2 TIP3 2814 4.379 5.270 -23.342 .00 .00 BULK ATOM 9341 OH2 TIP3 2815 -17.788 -10.616 22.747 .00 .00 BULK ATOM 9342 H1 TIP3 2815 -17.766 -11.459 22.337 .00 .00 BULK ATOM 9343 H2 TIP3 2815 -17.528 -10.051 22.020 .00 .00 BULK ATOM 9344 OH2 TIP3 2816 27.449 -13.144 -1.862 .00 .00 BULK ATOM 9345 H1 TIP3 2816 27.308 -13.473 -2.766 .00 .00 BULK ATOM 9346 H2 TIP3 2816 28.401 -13.210 -1.898 .00 .00 BULK ATOM 9347 OH2 TIP3 2817 -10.724 -21.605 -15.776 .00 .00 BULK ATOM 9348 H1 TIP3 2817 -10.174 -21.855 -15.007 .00 .00 BULK ATOM 9349 H2 TIP3 2817 -11.344 -22.333 -15.796 .00 .00 BULK ATOM 9350 OH2 TIP3 2818 -19.608 -11.769 -7.311 .00 .00 BULK ATOM 9351 H1 TIP3 2818 -20.153 -11.199 -7.798 .00 .00 BULK ATOM 9352 H2 TIP3 2818 -19.602 -11.337 -6.469 .00 .00 BULK ATOM 9353 OH2 TIP3 2819 -18.519 -8.069 -17.703 .00 .00 BULK ATOM 9354 H1 TIP3 2819 -17.864 -7.655 -18.288 .00 .00 BULK ATOM 9355 H2 TIP3 2819 -18.400 -7.390 -17.003 .00 .00 BULK ATOM 9356 OH2 TIP3 2820 -7.507 -13.968 -5.873 .00 .00 BULK ATOM 9357 H1 TIP3 2820 -6.702 -14.506 -5.945 .00 .00 BULK ATOM 9358 H2 TIP3 2820 -7.402 -13.430 -6.632 .00 .00 BULK ATOM 9359 OH2 TIP3 2821 -6.401 -1.467 12.445 .00 .00 BULK ATOM 9360 H1 TIP3 2821 -6.091 -2.098 11.784 .00 .00 BULK ATOM 9361 H2 TIP3 2821 -6.834 -.779 11.862 .00 .00 BULK ATOM 9362 OH2 TIP3 2822 -19.203 2.433 5.969 .00 .00 BULK ATOM 9363 H1 TIP3 2822 -19.689 1.619 6.297 .00 .00 BULK ATOM 9364 H2 TIP3 2822 -18.480 2.042 5.466 .00 .00 BULK ATOM 9365 OH2 TIP3 2823 -20.738 12.418 5.631 .00 .00 BULK ATOM 9366 H1 TIP3 2823 -21.435 13.140 5.528 .00 .00 BULK ATOM 9367 H2 TIP3 2823 -20.363 12.402 4.694 .00 .00 BULK ATOM 9368 OH2 TIP3 2824 -28.781 22.160 12.103 .00 .00 BULK ATOM 9369 H1 TIP3 2824 -28.277 21.362 12.312 .00 .00 BULK ATOM 9370 H2 TIP3 2824 -29.367 22.259 12.833 .00 .00 BULK ATOM 9371 OH2 TIP3 2825 24.059 -9.076 13.768 .00 .00 BULK ATOM 9372 H1 TIP3 2825 24.540 -8.540 14.457 .00 .00 BULK ATOM 9373 H2 TIP3 2825 24.781 -9.617 13.433 .00 .00 BULK ATOM 9374 OH2 TIP3 2826 -23.737 -5.539 -.327 .00 .00 BULK ATOM 9375 H1 TIP3 2826 -24.439 -5.758 -.949 .00 .00 BULK ATOM 9376 H2 TIP3 2826 -23.714 -4.575 -.495 .00 .00 BULK ATOM 9377 OH2 TIP3 2827 -10.442 -22.770 -1.447 .00 .00 BULK ATOM 9378 H1 TIP3 2827 -10.462 -22.976 -2.386 .00 .00 BULK ATOM 9379 H2 TIP3 2827 -10.082 -21.863 -1.429 .00 .00 BULK ATOM 9380 OH2 TIP3 2828 24.520 -8.884 -15.715 .00 .00 BULK ATOM 9381 H1 TIP3 2828 24.067 -9.656 -15.373 .00 .00 BULK ATOM 9382 H2 TIP3 2828 24.741 -8.450 -14.771 .00 .00 BULK ATOM 9383 OH2 TIP3 2829 16.654 12.833 1.858 .00 .00 BULK ATOM 9384 H1 TIP3 2829 16.689 12.590 2.801 .00 .00 BULK ATOM 9385 H2 TIP3 2829 17.336 13.540 1.794 .00 .00 BULK ATOM 9386 OH2 TIP3 2830 -25.257 -1.600 -11.325 .00 .00 BULK ATOM 9387 H1 TIP3 2830 -24.611 -1.896 -11.882 .00 .00 BULK ATOM 9388 H2 TIP3 2830 -24.705 -1.483 -10.514 .00 .00 BULK ATOM 9389 OH2 TIP3 2831 -1.371 -17.312 8.599 .00 .00 BULK ATOM 9390 H1 TIP3 2831 -.619 -17.484 9.163 .00 .00 BULK ATOM 9391 H2 TIP3 2831 -1.041 -17.258 7.678 .00 .00 BULK ATOM 9392 OH2 TIP3 2832 7.301 -16.164 -1.001 .00 .00 BULK ATOM 9393 H1 TIP3 2832 7.424 -15.280 -.590 .00 .00 BULK ATOM 9394 H2 TIP3 2832 7.394 -16.710 -.179 .00 .00 BULK ATOM 9395 OH2 TIP3 2833 -7.155 -21.731 -3.118 .00 .00 BULK ATOM 9396 H1 TIP3 2833 -6.329 -21.259 -3.369 .00 .00 BULK ATOM 9397 H2 TIP3 2833 -7.311 -22.223 -3.993 .00 .00 BULK ATOM 9398 OH2 TIP3 2834 18.916 -8.400 6.362 .00 .00 BULK ATOM 9399 H1 TIP3 2834 19.120 -7.682 5.787 .00 .00 BULK ATOM 9400 H2 TIP3 2834 17.953 -8.201 6.590 .00 .00 BULK ATOM 9401 OH2 TIP3 2835 -3.011 18.282 -5.123 .00 .00 BULK ATOM 9402 H1 TIP3 2835 -2.391 18.344 -4.321 .00 .00 BULK ATOM 9403 H2 TIP3 2835 -2.396 18.645 -5.816 .00 .00 BULK ATOM 9404 OH2 TIP3 2836 28.273 6.786 -4.520 .00 .00 BULK ATOM 9405 H1 TIP3 2836 27.403 6.684 -4.083 .00 .00 BULK ATOM 9406 H2 TIP3 2836 28.615 7.593 -4.187 .00 .00 BULK ATOM 9407 OH2 TIP3 2837 -21.398 .215 4.661 .00 .00 BULK ATOM 9408 H1 TIP3 2837 -20.520 .152 4.214 .00 .00 BULK ATOM 9409 H2 TIP3 2837 -21.369 -.603 5.202 .00 .00 BULK ATOM 9410 OH2 TIP3 2838 -6.348 1.779 17.469 .00 .00 BULK ATOM 9411 H1 TIP3 2838 -6.378 .809 17.306 .00 .00 BULK ATOM 9412 H2 TIP3 2838 -5.358 1.858 17.638 .00 .00 BULK ATOM 9413 OH2 TIP3 2839 -1.672 -11.358 4.406 .00 .00 BULK ATOM 9414 H1 TIP3 2839 -1.172 -11.935 3.813 .00 .00 BULK ATOM 9415 H2 TIP3 2839 -2.505 -11.852 4.470 .00 .00 BULK ATOM 9416 OH2 TIP3 2840 -1.666 15.036 7.706 .00 .00 BULK ATOM 9417 H1 TIP3 2840 -1.552 15.724 8.432 .00 .00 BULK ATOM 9418 H2 TIP3 2840 -2.490 15.302 7.225 .00 .00 BULK ATOM 9419 OH2 TIP3 2841 -13.931 14.808 -16.731 .00 .00 BULK ATOM 9420 H1 TIP3 2841 -14.514 14.527 -17.456 .00 .00 BULK ATOM 9421 H2 TIP3 2841 -13.114 14.301 -16.955 .00 .00 BULK ATOM 9422 OH2 TIP3 2842 2.830 -16.900 12.614 .00 .00 BULK ATOM 9423 H1 TIP3 2842 3.450 -16.592 13.279 .00 .00 BULK ATOM 9424 H2 TIP3 2842 2.228 -17.341 13.209 .00 .00 BULK ATOM 9425 OH2 TIP3 2843 -16.175 -1.213 9.432 .00 .00 BULK ATOM 9426 H1 TIP3 2843 -15.471 -1.459 8.805 .00 .00 BULK ATOM 9427 H2 TIP3 2843 -15.630 -1.274 10.233 .00 .00 BULK ATOM 9428 OH2 TIP3 2844 21.269 -7.522 -11.777 .00 .00 BULK ATOM 9429 H1 TIP3 2844 21.308 -6.748 -12.349 .00 .00 BULK ATOM 9430 H2 TIP3 2844 20.986 -8.204 -12.421 .00 .00 BULK ATOM 9431 OH2 TIP3 2845 -8.844 7.376 -7.891 .00 .00 BULK ATOM 9432 H1 TIP3 2845 -8.516 8.298 -7.991 .00 .00 BULK ATOM 9433 H2 TIP3 2845 -9.737 7.676 -7.664 .00 .00 BULK ATOM 9434 OH2 TIP3 2846 4.104 3.118 13.565 .00 .00 BULK ATOM 9435 H1 TIP3 2846 4.769 3.636 14.047 .00 .00 BULK ATOM 9436 H2 TIP3 2846 4.747 2.695 12.982 .00 .00 BULK ATOM 9437 OH2 TIP3 2847 -2.105 -13.725 6.715 .00 .00 BULK ATOM 9438 H1 TIP3 2847 -1.898 -13.993 7.625 .00 .00 BULK ATOM 9439 H2 TIP3 2847 -2.781 -13.011 6.832 .00 .00 BULK ATOM 9440 OH2 TIP3 2848 -10.298 -22.076 -4.358 .00 .00 BULK ATOM 9441 H1 TIP3 2848 -9.950 -21.182 -4.206 .00 .00 BULK ATOM 9442 H2 TIP3 2848 -9.702 -22.327 -5.154 .00 .00 BULK ATOM 9443 OH2 TIP3 2849 -22.411 -14.640 6.496 .00 .00 BULK ATOM 9444 H1 TIP3 2849 -23.351 -14.348 6.679 .00 .00 BULK ATOM 9445 H2 TIP3 2849 -21.936 -14.424 7.351 .00 .00 BULK ATOM 9446 OH2 TIP3 2850 -27.381 -16.837 -4.541 .00 .00 BULK ATOM 9447 H1 TIP3 2850 -28.413 -16.889 -4.414 .00 .00 BULK ATOM 9448 H2 TIP3 2850 -27.166 -17.144 -3.699 .00 .00 BULK ATOM 9449 OH2 TIP3 2851 25.689 15.024 22.039 .00 .00 BULK ATOM 9450 H1 TIP3 2851 25.542 14.527 21.157 .00 .00 BULK ATOM 9451 H2 TIP3 2851 25.038 14.552 22.587 .00 .00 BULK ATOM 9452 OH2 TIP3 2852 -28.057 -18.874 7.115 .00 .00 BULK ATOM 9453 H1 TIP3 2852 -28.529 -18.706 6.312 .00 .00 BULK ATOM 9454 H2 TIP3 2852 -28.587 -19.522 7.615 .00 .00 BULK ATOM 9455 OH2 TIP3 2853 -15.986 22.758 -6.519 .00 .00 BULK ATOM 9456 H1 TIP3 2853 -16.411 22.874 -7.417 .00 .00 BULK ATOM 9457 H2 TIP3 2853 -16.589 22.080 -6.261 .00 .00 BULK ATOM 9458 OH2 TIP3 2854 -8.201 -5.691 -17.938 .00 .00 BULK ATOM 9459 H1 TIP3 2854 -8.367 -4.905 -17.359 .00 .00 BULK ATOM 9460 H2 TIP3 2854 -7.341 -6.032 -17.566 .00 .00 BULK ATOM 9461 OH2 TIP3 2855 -21.960 -16.337 -8.397 .00 .00 BULK ATOM 9462 H1 TIP3 2855 -22.855 -16.657 -8.346 .00 .00 BULK ATOM 9463 H2 TIP3 2855 -21.983 -15.535 -7.829 .00 .00 BULK ATOM 9464 OH2 TIP3 2856 -11.301 10.211 6.649 .00 .00 BULK ATOM 9465 H1 TIP3 2856 -10.968 11.059 7.064 .00 .00 BULK ATOM 9466 H2 TIP3 2856 -11.530 10.534 5.761 .00 .00 BULK ATOM 9467 OH2 TIP3 2857 -25.429 -10.152 -10.385 .00 .00 BULK ATOM 9468 H1 TIP3 2857 -24.854 -9.497 -10.815 .00 .00 BULK ATOM 9469 H2 TIP3 2857 -25.333 -10.981 -10.915 .00 .00 BULK ATOM 9470 OH2 TIP3 2858 -11.764 13.532 -17.593 .00 .00 BULK ATOM 9471 H1 TIP3 2858 -11.485 12.579 -17.771 .00 .00 BULK ATOM 9472 H2 TIP3 2858 -11.638 13.993 -18.413 .00 .00 BULK ATOM 9473 OH2 TIP3 2859 -5.578 10.515 16.298 .00 .00 BULK ATOM 9474 H1 TIP3 2859 -4.674 10.313 16.065 .00 .00 BULK ATOM 9475 H2 TIP3 2859 -5.849 9.611 16.612 .00 .00 BULK ATOM 9476 OH2 TIP3 2860 28.021 -15.388 -18.607 .00 .00 BULK ATOM 9477 H1 TIP3 2860 28.856 -15.082 -18.297 .00 .00 BULK ATOM 9478 H2 TIP3 2860 28.027 -15.084 -19.550 .00 .00 BULK ATOM 9479 OH2 TIP3 2861 18.232 -11.751 -2.023 .00 .00 BULK ATOM 9480 H1 TIP3 2861 18.074 -12.463 -1.398 .00 .00 BULK ATOM 9481 H2 TIP3 2861 19.240 -11.634 -2.013 .00 .00 BULK ATOM 9482 OH2 TIP3 2862 7.285 -14.908 12.111 .00 .00 BULK ATOM 9483 H1 TIP3 2862 6.935 -14.068 12.437 .00 .00 BULK ATOM 9484 H2 TIP3 2862 7.054 -14.803 11.186 .00 .00 BULK ATOM 9485 OH2 TIP3 2863 -19.554 -8.331 .956 .00 .00 BULK ATOM 9486 H1 TIP3 2863 -19.332 -8.992 1.558 .00 .00 BULK ATOM 9487 H2 TIP3 2863 -20.453 -8.095 1.244 .00 .00 BULK ATOM 9488 OH2 TIP3 2864 -13.397 -16.063 10.283 .00 .00 BULK ATOM 9489 H1 TIP3 2864 -12.920 -15.193 10.461 .00 .00 BULK ATOM 9490 H2 TIP3 2864 -13.078 -16.674 10.981 .00 .00 BULK ATOM 9491 OH2 TIP3 2865 -19.524 13.894 -3.204 .00 .00 BULK ATOM 9492 H1 TIP3 2865 -18.570 13.830 -2.906 .00 .00 BULK ATOM 9493 H2 TIP3 2865 -19.683 13.205 -3.878 .00 .00 BULK ATOM 9494 OH2 TIP3 2866 -19.099 -3.720 12.967 .00 .00 BULK ATOM 9495 H1 TIP3 2866 -18.178 -3.638 12.978 .00 .00 BULK ATOM 9496 H2 TIP3 2866 -19.311 -2.907 12.618 .00 .00 BULK ATOM 9497 OH2 TIP3 2867 -26.697 -3.553 -13.677 .00 .00 BULK ATOM 9498 H1 TIP3 2867 -27.317 -3.299 -14.333 .00 .00 BULK ATOM 9499 H2 TIP3 2867 -26.849 -2.839 -12.970 .00 .00 BULK ATOM 9500 OH2 TIP3 2868 -1.630 -.269 10.123 .00 .00 BULK ATOM 9501 H1 TIP3 2868 -2.567 -.075 10.458 .00 .00 BULK ATOM 9502 H2 TIP3 2868 -1.216 .649 10.241 .00 .00 BULK ATOM 9503 OH2 TIP3 2869 -4.532 -7.723 -5.316 .00 .00 BULK ATOM 9504 H1 TIP3 2869 -4.560 -8.381 -4.618 .00 .00 BULK ATOM 9505 H2 TIP3 2869 -4.283 -6.880 -4.800 .00 .00 BULK ATOM 9506 OH2 TIP3 2870 -24.845 5.310 -10.193 .00 .00 BULK ATOM 9507 H1 TIP3 2870 -24.064 5.696 -10.531 .00 .00 BULK ATOM 9508 H2 TIP3 2870 -24.385 4.804 -9.497 .00 .00 BULK ATOM 9509 OH2 TIP3 2871 -13.572 13.123 -21.068 .00 .00 BULK ATOM 9510 H1 TIP3 2871 -13.336 14.050 -21.099 .00 .00 BULK ATOM 9511 H2 TIP3 2871 -13.119 12.798 -21.857 .00 .00 BULK ATOM 9512 OH2 TIP3 2872 7.507 -4.971 -21.878 .00 .00 BULK ATOM 9513 H1 TIP3 2872 7.619 -4.032 -21.956 .00 .00 BULK ATOM 9514 H2 TIP3 2872 6.929 -5.013 -21.100 .00 .00 BULK ATOM 9515 OH2 TIP3 2873 .555 -11.784 7.796 .00 .00 BULK ATOM 9516 H1 TIP3 2873 .408 -12.550 7.187 .00 .00 BULK ATOM 9517 H2 TIP3 2873 .511 -12.139 8.633 .00 .00 BULK ATOM 9518 OH2 TIP3 2874 -4.624 2.045 -17.476 .00 .00 BULK ATOM 9519 H1 TIP3 2874 -3.754 2.433 -17.558 .00 .00 BULK ATOM 9520 H2 TIP3 2874 -5.026 2.679 -18.135 .00 .00 BULK ATOM 9521 OH2 TIP3 2875 -10.812 23.265 -9.457 .00 .00 BULK ATOM 9522 H1 TIP3 2875 -11.598 22.881 -8.937 .00 .00 BULK ATOM 9523 H2 TIP3 2875 -10.445 23.836 -8.763 .00 .00 BULK ATOM 9524 OH2 TIP3 2876 -19.436 .067 22.415 .00 .00 BULK ATOM 9525 H1 TIP3 2876 -18.580 .430 22.087 .00 .00 BULK ATOM 9526 H2 TIP3 2876 -19.972 .769 21.948 .00 .00 BULK ATOM 9527 OH2 TIP3 2877 -23.380 -7.082 -19.833 .00 .00 BULK ATOM 9528 H1 TIP3 2877 -23.508 -6.821 -18.908 .00 .00 BULK ATOM 9529 H2 TIP3 2877 -22.421 -7.177 -19.739 .00 .00 BULK ATOM 9530 OH2 TIP3 2878 -6.494 9.798 -22.735 .00 .00 BULK ATOM 9531 H1 TIP3 2878 -7.231 9.517 -23.289 .00 .00 BULK ATOM 9532 H2 TIP3 2878 -6.130 10.470 -23.414 .00 .00 BULK ATOM 9533 OH2 TIP3 2879 -11.737 -17.191 -9.001 .00 .00 BULK ATOM 9534 H1 TIP3 2879 -11.086 -16.909 -8.361 .00 .00 BULK ATOM 9535 H2 TIP3 2879 -12.563 -16.804 -8.547 .00 .00 BULK ATOM 9536 OH2 TIP3 2880 -23.994 3.409 7.252 .00 .00 BULK ATOM 9537 H1 TIP3 2880 -23.607 3.735 8.122 .00 .00 BULK ATOM 9538 H2 TIP3 2880 -23.220 3.141 6.768 .00 .00 BULK ATOM 9539 OH2 TIP3 2881 -1.317 14.047 -4.359 .00 .00 BULK ATOM 9540 H1 TIP3 2881 -1.249 13.601 -5.189 .00 .00 BULK ATOM 9541 H2 TIP3 2881 -.446 14.395 -4.212 .00 .00 BULK ATOM 9542 OH2 TIP3 2882 -17.143 -9.734 7.080 .00 .00 BULK ATOM 9543 H1 TIP3 2882 -16.584 -9.186 7.624 .00 .00 BULK ATOM 9544 H2 TIP3 2882 -17.816 -9.934 7.665 .00 .00 BULK ATOM 9545 OH2 TIP3 2883 -15.267 -15.229 -17.409 .00 .00 BULK ATOM 9546 H1 TIP3 2883 -16.237 -15.283 -17.189 .00 .00 BULK ATOM 9547 H2 TIP3 2883 -14.979 -15.978 -16.820 .00 .00 BULK ATOM 9548 OH2 TIP3 2884 -13.865 -5.826 -5.725 .00 .00 BULK ATOM 9549 H1 TIP3 2884 -13.161 -5.660 -6.350 .00 .00 BULK ATOM 9550 H2 TIP3 2884 -13.393 -5.792 -4.889 .00 .00 BULK ATOM 9551 OH2 TIP3 2885 -21.638 4.596 -17.048 .00 .00 BULK ATOM 9552 H1 TIP3 2885 -21.127 3.960 -16.444 .00 .00 BULK ATOM 9553 H2 TIP3 2885 -22.073 5.259 -16.401 .00 .00 BULK ATOM 9554 OH2 TIP3 2886 19.956 -10.141 -20.881 .00 .00 BULK ATOM 9555 H1 TIP3 2886 20.869 -9.857 -21.039 .00 .00 BULK ATOM 9556 H2 TIP3 2886 19.997 -11.051 -21.297 .00 .00 BULK ATOM 9557 OH2 TIP3 2887 -13.155 -20.176 7.619 .00 .00 BULK ATOM 9558 H1 TIP3 2887 -12.694 -20.006 6.777 .00 .00 BULK ATOM 9559 H2 TIP3 2887 -13.922 -19.728 7.330 .00 .00 BULK ATOM 9560 OH2 TIP3 2888 -15.885 -4.616 -7.857 .00 .00 BULK ATOM 9561 H1 TIP3 2888 -15.091 -4.910 -7.380 .00 .00 BULK ATOM 9562 H2 TIP3 2888 -16.475 -5.379 -7.963 .00 .00 BULK ATOM 9563 OH2 TIP3 2889 10.953 -2.386 9.381 .00 .00 BULK ATOM 9564 H1 TIP3 2889 11.177 -2.397 8.448 .00 .00 BULK ATOM 9565 H2 TIP3 2889 11.162 -1.401 9.508 .00 .00 BULK ATOM 9566 OH2 TIP3 2890 19.458 21.497 -9.212 .00 .00 BULK ATOM 9567 H1 TIP3 2890 18.495 21.560 -9.474 .00 .00 BULK ATOM 9568 H2 TIP3 2890 19.434 22.238 -8.564 .00 .00 BULK ATOM 9569 OH2 TIP3 2891 -6.945 -7.397 -15.956 .00 .00 BULK ATOM 9570 H1 TIP3 2891 -7.027 -7.494 -14.991 .00 .00 BULK ATOM 9571 H2 TIP3 2891 -5.954 -7.556 -16.010 .00 .00 BULK ATOM 9572 OH2 TIP3 2892 -28.523 -1.798 7.938 .00 .00 BULK ATOM 9573 H1 TIP3 2892 -28.388 -.876 7.668 .00 .00 BULK ATOM 9574 H2 TIP3 2892 -29.469 -1.766 7.967 .00 .00 BULK ATOM 9575 OH2 TIP3 2893 -12.829 -12.471 12.996 .00 .00 BULK ATOM 9576 H1 TIP3 2893 -12.661 -11.569 12.662 .00 .00 BULK ATOM 9577 H2 TIP3 2893 -12.666 -12.998 12.220 .00 .00 BULK ATOM 9578 OH2 TIP3 2894 -29.628 -20.944 8.627 .00 .00 BULK ATOM 9579 H1 TIP3 2894 -30.593 -21.218 8.557 .00 .00 BULK ATOM 9580 H2 TIP3 2894 -29.495 -21.052 9.581 .00 .00 BULK ATOM 9581 OH2 TIP3 2895 -4.177 -20.786 2.112 .00 .00 BULK ATOM 9582 H1 TIP3 2895 -3.807 -21.649 1.888 .00 .00 BULK ATOM 9583 H2 TIP3 2895 -3.626 -20.533 2.809 .00 .00 BULK ATOM 9584 OH2 TIP3 2896 -21.501 -5.316 -15.178 .00 .00 BULK ATOM 9585 H1 TIP3 2896 -21.568 -5.999 -15.886 .00 .00 BULK ATOM 9586 H2 TIP3 2896 -22.312 -4.793 -15.323 .00 .00 BULK ATOM 9587 OH2 TIP3 2897 10.732 13.817 6.892 .00 .00 BULK ATOM 9588 H1 TIP3 2897 11.569 13.536 6.573 .00 .00 BULK ATOM 9589 H2 TIP3 2897 10.487 14.410 6.141 .00 .00 BULK ATOM 9590 OH2 TIP3 2898 -6.307 -7.458 12.497 .00 .00 BULK ATOM 9591 H1 TIP3 2898 -6.895 -7.639 13.255 .00 .00 BULK ATOM 9592 H2 TIP3 2898 -6.156 -8.366 12.117 .00 .00 BULK ATOM 9593 OH2 TIP3 2899 -15.635 -7.825 -5.750 .00 .00 BULK ATOM 9594 H1 TIP3 2899 -15.257 -8.117 -6.539 .00 .00 BULK ATOM 9595 H2 TIP3 2899 -15.002 -7.071 -5.515 .00 .00 BULK ATOM 9596 OH2 TIP3 2900 -7.138 12.224 14.435 .00 .00 BULK ATOM 9597 H1 TIP3 2900 -6.956 11.953 13.494 .00 .00 BULK ATOM 9598 H2 TIP3 2900 -6.957 11.363 14.883 .00 .00 BULK ATOM 9599 OH2 TIP3 2901 -11.990 -7.856 -6.859 .00 .00 BULK ATOM 9600 H1 TIP3 2901 -12.547 -8.580 -7.196 .00 .00 BULK ATOM 9601 H2 TIP3 2901 -11.961 -7.290 -7.676 .00 .00 BULK ATOM 9602 OH2 TIP3 2902 8.065 -16.844 -11.088 .00 .00 BULK ATOM 9603 H1 TIP3 2902 8.860 -16.847 -11.621 .00 .00 BULK ATOM 9604 H2 TIP3 2902 8.322 -17.475 -10.362 .00 .00 BULK ATOM 9605 OH2 TIP3 2903 12.929 -14.580 -11.043 .00 .00 BULK ATOM 9606 H1 TIP3 2903 13.409 -13.842 -10.537 .00 .00 BULK ATOM 9607 H2 TIP3 2903 12.951 -14.279 -11.949 .00 .00 BULK ATOM 9608 OH2 TIP3 2904 -16.241 -16.809 -4.201 .00 .00 BULK ATOM 9609 H1 TIP3 2904 -17.048 -16.350 -4.550 .00 .00 BULK ATOM 9610 H2 TIP3 2904 -16.513 -17.699 -4.486 .00 .00 BULK ATOM 9611 OH2 TIP3 2905 28.276 17.859 -5.285 .00 .00 BULK ATOM 9612 H1 TIP3 2905 27.448 18.111 -4.888 .00 .00 BULK ATOM 9613 H2 TIP3 2905 28.515 17.077 -4.791 .00 .00 BULK ATOM 9614 OH2 TIP3 2906 -10.210 -11.104 -7.180 .00 .00 BULK ATOM 9615 H1 TIP3 2906 -10.350 -12.026 -7.107 .00 .00 BULK ATOM 9616 H2 TIP3 2906 -10.646 -10.896 -8.035 .00 .00 BULK ATOM 9617 OH2 TIP3 2907 23.184 22.548 -10.054 .00 .00 BULK ATOM 9618 H1 TIP3 2907 22.889 23.444 -9.855 .00 .00 BULK ATOM 9619 H2 TIP3 2907 22.391 22.173 -10.544 .00 .00 BULK ATOM 9620 OH2 TIP3 2908 4.639 14.805 21.516 .00 .00 BULK ATOM 9621 H1 TIP3 2908 5.565 14.895 21.700 .00 .00 BULK ATOM 9622 H2 TIP3 2908 4.076 15.180 22.235 .00 .00 BULK ATOM 9623 OH2 TIP3 2909 2.076 7.602 -19.180 .00 .00 BULK ATOM 9624 H1 TIP3 2909 2.241 6.627 -18.986 .00 .00 BULK ATOM 9625 H2 TIP3 2909 2.875 7.911 -18.745 .00 .00 BULK ATOM 9626 OH2 TIP3 2910 -2.955 .705 -13.949 .00 .00 BULK ATOM 9627 H1 TIP3 2910 -2.575 1.475 -14.393 .00 .00 BULK ATOM 9628 H2 TIP3 2910 -2.988 .083 -14.718 .00 .00 BULK ATOM 9629 OH2 TIP3 2911 -26.953 16.373 -21.203 .00 .00 BULK ATOM 9630 H1 TIP3 2911 -27.604 16.938 -21.556 .00 .00 BULK ATOM 9631 H2 TIP3 2911 -26.275 17.071 -21.042 .00 .00 BULK ATOM 9632 OH2 TIP3 2912 -17.215 -14.982 -1.576 .00 .00 BULK ATOM 9633 H1 TIP3 2912 -17.498 -14.503 -.834 .00 .00 BULK ATOM 9634 H2 TIP3 2912 -17.308 -14.227 -2.242 .00 .00 BULK ATOM 9635 OH2 TIP3 2913 13.338 -4.364 22.922 .00 .00 BULK ATOM 9636 H1 TIP3 2913 14.204 -4.660 22.520 .00 .00 BULK ATOM 9637 H2 TIP3 2913 12.867 -5.174 23.146 .00 .00 BULK ATOM 9638 OH2 TIP3 2914 -11.634 -5.463 10.549 .00 .00 BULK ATOM 9639 H1 TIP3 2914 -10.716 -5.848 10.663 .00 .00 BULK ATOM 9640 H2 TIP3 2914 -11.428 -4.737 9.892 .00 .00 BULK ATOM 9641 OH2 TIP3 2915 -19.383 13.611 -11.378 .00 .00 BULK ATOM 9642 H1 TIP3 2915 -19.274 13.559 -10.408 .00 .00 BULK ATOM 9643 H2 TIP3 2915 -18.877 14.402 -11.504 .00 .00 BULK ATOM 9644 OH2 TIP3 2916 -12.644 5.542 -18.449 .00 .00 BULK ATOM 9645 H1 TIP3 2916 -12.021 6.258 -18.689 .00 .00 BULK ATOM 9646 H2 TIP3 2916 -12.202 4.741 -18.749 .00 .00 BULK ATOM 9647 OH2 TIP3 2917 -17.757 -4.539 -19.308 .00 .00 BULK ATOM 9648 H1 TIP3 2917 -17.637 -4.497 -18.352 .00 .00 BULK ATOM 9649 H2 TIP3 2917 -17.209 -5.296 -19.435 .00 .00 BULK ATOM 9650 OH2 TIP3 2918 -3.803 -4.091 -19.735 .00 .00 BULK ATOM 9651 H1 TIP3 2918 -4.184 -4.934 -20.039 .00 .00 BULK ATOM 9652 H2 TIP3 2918 -4.575 -3.998 -19.047 .00 .00 BULK ATOM 9653 OH2 TIP3 2919 -5.760 -19.953 5.030 .00 .00 BULK ATOM 9654 H1 TIP3 2919 -5.037 -19.980 5.636 .00 .00 BULK ATOM 9655 H2 TIP3 2919 -5.716 -18.987 4.836 .00 .00 BULK ATOM 9656 OH2 TIP3 2920 .697 -17.803 -9.557 .00 .00 BULK ATOM 9657 H1 TIP3 2920 -.241 -17.958 -9.590 .00 .00 BULK ATOM 9658 H2 TIP3 2920 1.055 -18.260 -10.320 .00 .00 BULK ATOM 9659 OH2 TIP3 2921 -10.715 2.058 -12.800 .00 .00 BULK ATOM 9660 H1 TIP3 2921 -9.887 2.440 -12.478 .00 .00 BULK ATOM 9661 H2 TIP3 2921 -11.332 2.799 -12.611 .00 .00 BULK ATOM 9662 OH2 TIP3 2922 28.437 3.919 -11.288 .00 .00 BULK ATOM 9663 H1 TIP3 2922 27.980 4.377 -10.584 .00 .00 BULK ATOM 9664 H2 TIP3 2922 28.482 3.110 -10.792 .00 .00 BULK ATOM 9665 OH2 TIP3 2923 -7.478 18.594 -9.125 .00 .00 BULK ATOM 9666 H1 TIP3 2923 -8.287 19.057 -8.754 .00 .00 BULK ATOM 9667 H2 TIP3 2923 -7.214 17.945 -8.421 .00 .00 BULK ATOM 9668 OH2 TIP3 2924 -.333 13.889 -17.631 .00 .00 BULK ATOM 9669 H1 TIP3 2924 .555 14.182 -17.355 .00 .00 BULK ATOM 9670 H2 TIP3 2924 -.179 13.160 -18.277 .00 .00 BULK ATOM 9671 OH2 TIP3 2925 -25.254 6.264 -5.957 .00 .00 BULK ATOM 9672 H1 TIP3 2925 -26.059 6.771 -5.770 .00 .00 BULK ATOM 9673 H2 TIP3 2925 -24.917 6.726 -6.785 .00 .00 BULK ATOM 9674 OH2 TIP3 2926 19.635 .776 -9.735 .00 .00 BULK ATOM 9675 H1 TIP3 2926 19.145 1.216 -9.020 .00 .00 BULK ATOM 9676 H2 TIP3 2926 20.431 1.301 -9.766 .00 .00 BULK ATOM 9677 OH2 TIP3 2927 8.269 5.788 -15.438 .00 .00 BULK ATOM 9678 H1 TIP3 2927 8.913 5.291 -14.876 .00 .00 BULK ATOM 9679 H2 TIP3 2927 7.841 6.396 -14.810 .00 .00 BULK ATOM 9680 OH2 TIP3 2928 -5.677 -2.045 -13.977 .00 .00 BULK ATOM 9681 H1 TIP3 2928 -5.254 -2.742 -14.430 .00 .00 BULK ATOM 9682 H2 TIP3 2928 -5.870 -2.554 -13.205 .00 .00 BULK ATOM 9683 OH2 TIP3 2929 22.611 -13.561 -.884 .00 .00 BULK ATOM 9684 H1 TIP3 2929 23.120 -13.362 -1.687 .00 .00 BULK ATOM 9685 H2 TIP3 2929 23.412 -13.674 -.224 .00 .00 BULK ATOM 9686 OH2 TIP3 2930 -11.864 -15.094 7.048 .00 .00 BULK ATOM 9687 H1 TIP3 2930 -11.753 -15.843 7.650 .00 .00 BULK ATOM 9688 H2 TIP3 2930 -12.108 -15.548 6.204 .00 .00 BULK ATOM 9689 OH2 TIP3 2931 -26.633 -6.306 1.274 .00 .00 BULK ATOM 9690 H1 TIP3 2931 -25.664 -6.229 1.426 .00 .00 BULK ATOM 9691 H2 TIP3 2931 -26.688 -5.500 .787 .00 .00 BULK ATOM 9692 OH2 TIP3 2932 -12.550 -12.659 8.235 .00 .00 BULK ATOM 9693 H1 TIP3 2932 -11.677 -12.259 7.936 .00 .00 BULK ATOM 9694 H2 TIP3 2932 -12.517 -13.510 7.778 .00 .00 BULK ATOM 9695 OH2 TIP3 2933 19.438 11.169 -4.482 .00 .00 BULK ATOM 9696 H1 TIP3 2933 19.131 12.035 -4.693 .00 .00 BULK ATOM 9697 H2 TIP3 2933 18.711 10.625 -4.833 .00 .00 BULK ATOM 9698 OH2 TIP3 2934 -2.297 -9.817 22.939 .00 .00 BULK ATOM 9699 H1 TIP3 2934 -2.887 -10.481 22.444 .00 .00 BULK ATOM 9700 H2 TIP3 2934 -2.415 -9.125 22.313 .00 .00 BULK ATOM 9701 OH2 TIP3 2935 -3.268 -2.701 22.411 .00 .00 BULK ATOM 9702 H1 TIP3 2935 -3.379 -3.071 23.281 .00 .00 BULK ATOM 9703 H2 TIP3 2935 -2.377 -2.286 22.595 .00 .00 BULK ATOM 9704 OH2 TIP3 2936 1.828 -9.509 18.464 .00 .00 BULK ATOM 9705 H1 TIP3 2936 1.373 -10.007 19.200 .00 .00 BULK ATOM 9706 H2 TIP3 2936 1.164 -8.767 18.409 .00 .00 BULK ATOM 9707 OH2 TIP3 2937 13.763 3.553 17.161 .00 .00 BULK ATOM 9708 H1 TIP3 2937 14.413 2.885 17.245 .00 .00 BULK ATOM 9709 H2 TIP3 2937 13.189 3.416 18.016 .00 .00 BULK ATOM 9710 OH2 TIP3 2938 -19.660 9.054 23.067 .00 .00 BULK ATOM 9711 H1 TIP3 2938 -19.031 9.738 23.236 .00 .00 BULK ATOM 9712 H2 TIP3 2938 -19.600 8.913 22.090 .00 .00 BULK ATOM 9713 OH2 TIP3 2939 10.680 -20.405 -13.383 .00 .00 BULK ATOM 9714 H1 TIP3 2939 11.563 -20.337 -13.677 .00 .00 BULK ATOM 9715 H2 TIP3 2939 10.871 -21.188 -12.775 .00 .00 BULK ATOM 9716 OH2 TIP3 2940 -9.981 -11.846 8.233 .00 .00 BULK ATOM 9717 H1 TIP3 2940 -9.970 -11.438 9.129 .00 .00 BULK ATOM 9718 H2 TIP3 2940 -9.874 -11.157 7.569 .00 .00 BULK ATOM 9719 OH2 TIP3 2941 -1.780 7.888 18.500 .00 .00 BULK ATOM 9720 H1 TIP3 2941 -.862 7.442 18.485 .00 .00 BULK ATOM 9721 H2 TIP3 2941 -1.892 8.129 19.448 .00 .00 BULK ATOM 9722 OH2 TIP3 2942 -9.579 4.906 23.191 .00 .00 BULK ATOM 9723 H1 TIP3 2942 -10.257 5.389 22.684 .00 .00 BULK ATOM 9724 H2 TIP3 2942 -8.800 4.965 22.564 .00 .00 BULK ATOM 9725 OH2 TIP3 2943 -7.604 4.055 16.282 .00 .00 BULK ATOM 9726 H1 TIP3 2943 -8.542 3.909 16.101 .00 .00 BULK ATOM 9727 H2 TIP3 2943 -7.305 3.101 16.404 .00 .00 BULK ATOM 9728 OH2 TIP3 2944 -15.339 -18.609 6.672 .00 .00 BULK ATOM 9729 H1 TIP3 2944 -15.222 -18.032 5.871 .00 .00 BULK ATOM 9730 H2 TIP3 2944 -15.404 -19.454 6.144 .00 .00 BULK ATOM 9731 OH2 TIP3 2945 .023 -6.424 18.346 .00 .00 BULK ATOM 9732 H1 TIP3 2945 -.798 -5.953 18.133 .00 .00 BULK ATOM 9733 H2 TIP3 2945 .061 -7.117 17.650 .00 .00 BULK ATOM 9734 OH2 TIP3 2946 -4.180 18.968 19.202 .00 .00 BULK ATOM 9735 H1 TIP3 2946 -4.298 19.811 18.803 .00 .00 BULK ATOM 9736 H2 TIP3 2946 -3.984 19.267 20.113 .00 .00 BULK ATOM 9737 OH2 TIP3 2947 17.406 7.514 14.379 .00 .00 BULK ATOM 9738 H1 TIP3 2947 17.699 8.163 14.991 .00 .00 BULK ATOM 9739 H2 TIP3 2947 16.841 8.052 13.839 .00 .00 BULK ATOM 9740 OH2 TIP3 2948 -.705 2.306 10.645 .00 .00 BULK ATOM 9741 H1 TIP3 2948 -1.394 2.977 10.315 .00 .00 BULK ATOM 9742 H2 TIP3 2948 -.984 2.407 11.581 .00 .00 BULK ATOM 9743 OH2 TIP3 2949 -22.594 18.784 11.627 .00 .00 BULK ATOM 9744 H1 TIP3 2949 -22.620 19.758 11.938 .00 .00 BULK ATOM 9745 H2 TIP3 2949 -21.849 18.959 11.034 .00 .00 BULK ATOM 9746 OH2 TIP3 2950 -20.269 -8.389 7.887 .00 .00 BULK ATOM 9747 H1 TIP3 2950 -21.080 -8.077 8.290 .00 .00 BULK ATOM 9748 H2 TIP3 2950 -20.054 -9.266 8.254 .00 .00 BULK ATOM 9749 OH2 TIP3 2951 21.901 -4.318 -22.450 .00 .00 BULK ATOM 9750 H1 TIP3 2951 22.488 -4.588 -21.745 .00 .00 BULK ATOM 9751 H2 TIP3 2951 21.172 -4.314 -21.888 .00 .00 BULK ATOM 9752 OH2 TIP3 2952 -19.295 .404 -20.009 .00 .00 BULK ATOM 9753 H1 TIP3 2952 -18.393 .472 -19.675 .00 .00 BULK ATOM 9754 H2 TIP3 2952 -19.343 -.552 -20.051 .00 .00 BULK ATOM 9755 OH2 TIP3 2953 -3.773 .766 13.959 .00 .00 BULK ATOM 9756 H1 TIP3 2953 -4.650 1.027 14.287 .00 .00 BULK ATOM 9757 H2 TIP3 2953 -3.313 .368 14.685 .00 .00 BULK ATOM 9758 OH2 TIP3 2954 -15.800 -7.473 5.118 .00 .00 BULK ATOM 9759 H1 TIP3 2954 -16.430 -7.560 5.817 .00 .00 BULK ATOM 9760 H2 TIP3 2954 -16.387 -7.517 4.343 .00 .00 BULK ATOM 9761 OH2 TIP3 2955 -17.813 -4.536 20.169 .00 .00 BULK ATOM 9762 H1 TIP3 2955 -18.253 -5.381 19.861 .00 .00 BULK ATOM 9763 H2 TIP3 2955 -17.407 -4.103 19.415 .00 .00 BULK ATOM 9764 OH2 TIP3 2956 -22.984 -15.785 20.052 .00 .00 BULK ATOM 9765 H1 TIP3 2956 -23.485 -16.143 20.823 .00 .00 BULK ATOM 9766 H2 TIP3 2956 -23.488 -15.006 19.812 .00 .00 BULK ATOM 9767 OH2 TIP3 2957 20.227 7.740 8.110 .00 .00 BULK ATOM 9768 H1 TIP3 2957 19.539 7.062 7.790 .00 .00 BULK ATOM 9769 H2 TIP3 2957 20.974 7.483 7.515 .00 .00 BULK ATOM 9770 OH2 TIP3 2958 -14.859 -16.732 13.016 .00 .00 BULK ATOM 9771 H1 TIP3 2958 -14.879 -17.413 13.644 .00 .00 BULK ATOM 9772 H2 TIP3 2958 -14.009 -16.453 13.104 .00 .00 BULK ATOM 9773 OH2 TIP3 2959 14.577 17.035 12.799 .00 .00 BULK ATOM 9774 H1 TIP3 2959 13.901 16.532 12.274 .00 .00 BULK ATOM 9775 H2 TIP3 2959 13.986 17.710 13.128 .00 .00 BULK ATOM 9776 OH2 TIP3 2960 -9.641 14.327 8.812 .00 .00 BULK ATOM 9777 H1 TIP3 2960 -8.789 14.895 8.879 .00 .00 BULK ATOM 9778 H2 TIP3 2960 -9.897 14.115 9.739 .00 .00 BULK ATOM 9779 OH2 TIP3 2961 -2.974 22.320 -13.375 .00 .00 BULK ATOM 9780 H1 TIP3 2961 -3.708 22.139 -12.827 .00 .00 BULK ATOM 9781 H2 TIP3 2961 -2.553 21.460 -13.624 .00 .00 BULK ATOM 9782 OH2 TIP3 2962 -5.450 10.761 -7.957 .00 .00 BULK ATOM 9783 H1 TIP3 2962 -4.610 11.038 -7.497 .00 .00 BULK ATOM 9784 H2 TIP3 2962 -5.238 9.834 -8.277 .00 .00 BULK ATOM 9785 OH2 TIP3 2963 16.157 -7.172 -16.537 .00 .00 BULK ATOM 9786 H1 TIP3 2963 15.718 -6.494 -17.034 .00 .00 BULK ATOM 9787 H2 TIP3 2963 15.882 -8.005 -16.961 .00 .00 BULK ATOM 9788 OH2 TIP3 2964 11.393 22.332 18.544 .00 .00 BULK ATOM 9789 H1 TIP3 2964 10.883 22.494 19.358 .00 .00 BULK ATOM 9790 H2 TIP3 2964 10.711 21.707 18.244 .00 .00 BULK ATOM 9791 OH2 TIP3 2965 -18.486 -5.809 -8.620 .00 .00 BULK ATOM 9792 H1 TIP3 2965 -18.938 -5.510 -7.808 .00 .00 BULK ATOM 9793 H2 TIP3 2965 -18.584 -6.779 -8.656 .00 .00 BULK ATOM 9794 OH2 TIP3 2966 -6.033 5.129 -3.547 .00 .00 BULK ATOM 9795 H1 TIP3 2966 -5.656 4.372 -3.970 .00 .00 BULK ATOM 9796 H2 TIP3 2966 -6.892 5.176 -3.891 .00 .00 BULK ATOM 9797 OH2 TIP3 2967 19.846 11.708 8.238 .00 .00 BULK ATOM 9798 H1 TIP3 2967 19.456 10.974 8.760 .00 .00 BULK ATOM 9799 H2 TIP3 2967 20.816 11.772 8.506 .00 .00 BULK ATOM 9800 OH2 TIP3 2968 -27.167 -12.868 -21.493 .00 .00 BULK ATOM 9801 H1 TIP3 2968 -27.147 -13.825 -21.372 .00 .00 BULK ATOM 9802 H2 TIP3 2968 -26.490 -12.532 -20.896 .00 .00 BULK ATOM 9803 OH2 TIP3 2969 8.589 12.994 -12.209 .00 .00 BULK ATOM 9804 H1 TIP3 2969 8.383 12.685 -11.288 .00 .00 BULK ATOM 9805 H2 TIP3 2969 8.132 12.307 -12.722 .00 .00 BULK ATOM 9806 OH2 TIP3 2970 1.039 11.503 7.555 .00 .00 BULK ATOM 9807 H1 TIP3 2970 1.859 11.985 7.476 .00 .00 BULK ATOM 9808 H2 TIP3 2970 1.349 10.649 7.259 .00 .00 BULK ATOM 9809 OH2 TIP3 2971 -14.903 10.730 23.695 .00 .00 BULK ATOM 9810 H1 TIP3 2971 -13.987 10.433 23.766 .00 .00 BULK ATOM 9811 H2 TIP3 2971 -14.815 11.606 23.207 .00 .00 BULK ATOM 9812 OH2 TIP3 2972 -14.889 -12.341 .210 .00 .00 BULK ATOM 9813 H1 TIP3 2972 -13.975 -11.926 .005 .00 .00 BULK ATOM 9814 H2 TIP3 2972 -15.420 -11.583 .642 .00 .00 BULK ATOM 9815 OH2 TIP3 2973 -6.551 12.015 .113 .00 .00 BULK ATOM 9816 H1 TIP3 2973 -5.883 12.032 -.614 .00 .00 BULK ATOM 9817 H2 TIP3 2973 -7.110 12.809 .000 .00 .00 BULK ATOM 9818 OH2 TIP3 2974 15.134 2.333 11.041 .00 .00 BULK ATOM 9819 H1 TIP3 2974 14.869 3.054 10.456 .00 .00 BULK ATOM 9820 H2 TIP3 2974 14.731 2.516 11.874 .00 .00 BULK ATOM 9821 OH2 TIP3 2975 8.700 18.824 5.935 .00 .00 BULK ATOM 9822 H1 TIP3 2975 8.317 18.278 5.198 .00 .00 BULK ATOM 9823 H2 TIP3 2975 8.166 19.620 5.993 .00 .00 BULK ATOM 9824 OH2 TIP3 2976 28.077 -13.094 -21.964 .00 .00 BULK ATOM 9825 H1 TIP3 2976 28.578 -12.507 -21.337 .00 .00 BULK ATOM 9826 H2 TIP3 2976 27.172 -12.799 -21.734 .00 .00 BULK ATOM 9827 OH2 TIP3 2977 -4.050 7.374 13.521 .00 .00 BULK ATOM 9828 H1 TIP3 2977 -3.479 6.672 13.895 .00 .00 BULK ATOM 9829 H2 TIP3 2977 -4.752 7.623 14.229 .00 .00 BULK ATOM 9830 OH2 TIP3 2978 23.148 -.213 21.695 .00 .00 BULK ATOM 9831 H1 TIP3 2978 23.309 -.622 22.603 .00 .00 BULK ATOM 9832 H2 TIP3 2978 22.146 -.289 21.651 .00 .00 BULK ATOM 9833 OH2 TIP3 2979 -10.330 8.895 -20.277 .00 .00 BULK ATOM 9834 H1 TIP3 2979 -10.005 9.758 -19.975 .00 .00 BULK ATOM 9835 H2 TIP3 2979 -9.464 8.495 -20.187 .00 .00 BULK ATOM 9836 OH2 TIP3 2980 4.665 -10.337 20.618 .00 .00 BULK ATOM 9837 H1 TIP3 2980 5.555 -10.250 20.970 .00 .00 BULK ATOM 9838 H2 TIP3 2980 4.525 -9.423 20.209 .00 .00 BULK ATOM 9839 OH2 TIP3 2981 11.696 16.253 -1.433 .00 .00 BULK ATOM 9840 H1 TIP3 2981 11.446 15.465 -.942 .00 .00 BULK ATOM 9841 H2 TIP3 2981 10.968 16.595 -1.962 .00 .00 BULK ATOM 9842 OH2 TIP3 2982 8.277 -12.891 -12.806 .00 .00 BULK ATOM 9843 H1 TIP3 2982 8.747 -12.064 -13.081 .00 .00 BULK ATOM 9844 H2 TIP3 2982 7.396 -12.717 -13.142 .00 .00 BULK ATOM 9845 OH2 TIP3 2983 -10.300 13.465 2.895 .00 .00 BULK ATOM 9846 H1 TIP3 2983 -10.966 13.543 2.206 .00 .00 BULK ATOM 9847 H2 TIP3 2983 -10.250 12.469 3.065 .00 .00 BULK ATOM 9848 OH2 TIP3 2984 -17.401 18.597 17.577 .00 .00 BULK ATOM 9849 H1 TIP3 2984 -18.208 18.608 18.095 .00 .00 BULK ATOM 9850 H2 TIP3 2984 -16.689 18.442 18.246 .00 .00 BULK ATOM 9851 OH2 TIP3 2985 -7.485 15.511 -2.060 .00 .00 BULK ATOM 9852 H1 TIP3 2985 -6.541 15.439 -2.344 .00 .00 BULK ATOM 9853 H2 TIP3 2985 -7.823 16.233 -2.649 .00 .00 BULK ATOM 9854 OH2 TIP3 2986 -14.885 14.581 -1.229 .00 .00 BULK ATOM 9855 H1 TIP3 2986 -14.272 14.514 -.482 .00 .00 BULK ATOM 9856 H2 TIP3 2986 -14.719 13.670 -1.581 .00 .00 BULK ATOM 9857 OH2 TIP3 2987 16.237 -11.016 9.073 .00 .00 BULK ATOM 9858 H1 TIP3 2987 16.581 -10.842 9.996 .00 .00 BULK ATOM 9859 H2 TIP3 2987 16.933 -10.581 8.590 .00 .00 BULK ATOM 9860 OH2 TIP3 2988 -3.372 11.674 -22.703 .00 .00 BULK ATOM 9861 H1 TIP3 2988 -2.886 12.304 -22.185 .00 .00 BULK ATOM 9862 H2 TIP3 2988 -3.309 10.904 -22.125 .00 .00 BULK ATOM 9863 OH2 TIP3 2989 -5.688 18.658 -11.278 .00 .00 BULK ATOM 9864 H1 TIP3 2989 -6.466 18.643 -10.708 .00 .00 BULK ATOM 9865 H2 TIP3 2989 -5.120 18.011 -10.839 .00 .00 BULK ATOM 9866 OH2 TIP3 2990 2.229 -11.459 3.270 .00 .00 BULK ATOM 9867 H1 TIP3 2990 2.412 -11.237 2.331 .00 .00 BULK ATOM 9868 H2 TIP3 2990 2.253 -10.535 3.632 .00 .00 BULK ATOM 9869 OH2 TIP3 2991 -24.346 14.232 15.202 .00 .00 BULK ATOM 9870 H1 TIP3 2991 -24.395 14.964 15.828 .00 .00 BULK ATOM 9871 H2 TIP3 2991 -24.338 13.434 15.762 .00 .00 BULK ATOM 9872 OH2 TIP3 2992 -9.576 -13.134 -16.323 .00 .00 BULK ATOM 9873 H1 TIP3 2992 -8.658 -12.862 -16.370 .00 .00 BULK ATOM 9874 H2 TIP3 2992 -9.534 -14.014 -16.773 .00 .00 BULK ATOM 9875 OH2 TIP3 2993 -13.386 -14.843 21.849 .00 .00 BULK ATOM 9876 H1 TIP3 2993 -12.932 -15.599 22.246 .00 .00 BULK ATOM 9877 H2 TIP3 2993 -12.720 -14.136 21.803 .00 .00 BULK ATOM 9878 OH2 TIP3 2994 21.415 18.054 19.752 .00 .00 BULK ATOM 9879 H1 TIP3 2994 20.770 18.700 19.597 .00 .00 BULK ATOM 9880 H2 TIP3 2994 21.872 18.355 20.541 .00 .00 BULK ATOM 9881 OH2 TIP3 2995 -5.555 -3.562 10.604 .00 .00 BULK ATOM 9882 H1 TIP3 2995 -5.332 -4.299 11.214 .00 .00 BULK ATOM 9883 H2 TIP3 2995 -4.757 -3.538 10.049 .00 .00 BULK ATOM 9884 OH2 TIP3 2996 -14.403 16.264 -22.066 .00 .00 BULK ATOM 9885 H1 TIP3 2996 -14.985 17.067 -22.148 .00 .00 BULK ATOM 9886 H2 TIP3 2996 -13.527 16.669 -21.839 .00 .00 BULK ATOM 9887 OH2 TIP3 2997 10.439 1.050 8.653 .00 .00 BULK ATOM 9888 H1 TIP3 2997 10.954 1.633 9.235 .00 .00 BULK ATOM 9889 H2 TIP3 2997 11.114 .622 8.078 .00 .00 BULK ATOM 9890 OH2 TIP3 2998 2.517 -15.345 -19.097 .00 .00 BULK ATOM 9891 H1 TIP3 2998 3.347 -15.652 -19.498 .00 .00 BULK ATOM 9892 H2 TIP3 2998 2.756 -15.660 -18.167 .00 .00 BULK ATOM 9893 OH2 TIP3 2999 -7.744 .515 10.839 .00 .00 BULK ATOM 9894 H1 TIP3 2999 -8.235 1.287 11.070 .00 .00 BULK ATOM 9895 H2 TIP3 2999 -8.177 .449 9.953 .00 .00 BULK ATOM 9896 OH2 TIP3 3000 -15.229 -22.252 7.172 .00 .00 BULK ATOM 9897 H1 TIP3 3000 -14.396 -22.176 6.582 .00 .00 BULK ATOM 9898 H2 TIP3 3000 -15.931 -22.580 6.578 .00 .00 BULK ATOM 9899 OH2 TIP3 3001 -14.303 -20.113 -8.386 .00 .00 BULK ATOM 9900 H1 TIP3 3001 -13.646 -20.766 -8.100 .00 .00 BULK ATOM 9901 H2 TIP3 3001 -14.855 -20.775 -8.945 .00 .00 BULK ATOM 9902 OH2 TIP3 3002 -23.117 -18.525 -22.936 .00 .00 BULK ATOM 9903 H1 TIP3 3002 -23.364 -17.838 -23.560 .00 .00 BULK ATOM 9904 H2 TIP3 3002 -22.636 -19.127 -23.540 .00 .00 BULK ATOM 9905 OH2 TIP3 3003 -18.666 -3.005 9.146 .00 .00 BULK ATOM 9906 H1 TIP3 3003 -17.779 -2.500 9.089 .00 .00 BULK ATOM 9907 H2 TIP3 3003 -18.650 -3.169 10.077 .00 .00 BULK ATOM 9908 OH2 TIP3 3004 -12.375 9.751 -22.936 .00 .00 BULK ATOM 9909 H1 TIP3 3004 -12.630 9.325 -22.100 .00 .00 BULK ATOM 9910 H2 TIP3 3004 -11.613 10.248 -22.614 .00 .00 BULK ATOM 9911 OH2 TIP3 3005 14.756 -3.578 20.438 .00 .00 BULK ATOM 9912 H1 TIP3 3005 15.292 -4.259 19.995 .00 .00 BULK ATOM 9913 H2 TIP3 3005 14.298 -3.140 19.704 .00 .00 BULK ATOM 9914 OH2 TIP3 3006 -10.018 15.226 21.199 .00 .00 BULK ATOM 9915 H1 TIP3 3006 -9.504 16.074 21.121 .00 .00 BULK ATOM 9916 H2 TIP3 3006 -9.568 14.637 20.573 .00 .00 BULK ATOM 9917 OH2 TIP3 3007 -3.760 -10.655 9.974 .00 .00 BULK ATOM 9918 H1 TIP3 3007 -2.847 -10.863 10.067 .00 .00 BULK ATOM 9919 H2 TIP3 3007 -4.130 -11.508 9.806 .00 .00 BULK ATOM 9920 OH2 TIP3 3008 -5.145 -17.650 -21.486 .00 .00 BULK ATOM 9921 H1 TIP3 3008 -5.234 -18.462 -22.037 .00 .00 BULK ATOM 9922 H2 TIP3 3008 -6.100 -17.576 -21.202 .00 .00 BULK ATOM 9923 OH2 TIP3 3009 -15.248 -12.543 -20.856 .00 .00 BULK ATOM 9924 H1 TIP3 3009 -14.917 -12.200 -21.664 .00 .00 BULK ATOM 9925 H2 TIP3 3009 -15.982 -13.140 -21.047 .00 .00 BULK ATOM 9926 OH2 TIP3 3010 1.750 19.537 8.633 .00 .00 BULK ATOM 9927 H1 TIP3 3010 1.460 18.615 8.718 .00 .00 BULK ATOM 9928 H2 TIP3 3010 1.445 20.015 9.462 .00 .00 BULK ATOM 9929 OH2 TIP3 3011 -3.012 -2.255 -12.154 .00 .00 BULK ATOM 9930 H1 TIP3 3011 -2.670 -2.666 -12.959 .00 .00 BULK ATOM 9931 H2 TIP3 3011 -3.150 -3.157 -11.747 .00 .00 BULK ATOM 9932 OH2 TIP3 3012 29.287 18.950 14.938 .00 .00 BULK ATOM 9933 H1 TIP3 3012 29.236 19.385 14.057 .00 .00 BULK ATOM 9934 H2 TIP3 3012 28.881 19.536 15.547 .00 .00 BULK ATOM 9935 OH2 TIP3 3013 -5.215 21.239 -11.675 .00 .00 BULK ATOM 9936 H1 TIP3 3013 -5.362 21.327 -10.726 .00 .00 BULK ATOM 9937 H2 TIP3 3013 -5.341 20.260 -11.770 .00 .00 BULK ATOM 9938 OH2 TIP3 3014 2.265 -9.390 22.205 .00 .00 BULK ATOM 9939 H1 TIP3 3014 1.630 -10.069 22.032 .00 .00 BULK ATOM 9940 H2 TIP3 3014 3.062 -9.806 21.889 .00 .00 BULK ATOM 9941 OH2 TIP3 3015 6.674 .893 14.986 .00 .00 BULK ATOM 9942 H1 TIP3 3015 6.639 1.816 15.256 .00 .00 BULK ATOM 9943 H2 TIP3 3015 6.042 .844 14.207 .00 .00 BULK ATOM 9944 OH2 TIP3 3016 -26.986 4.915 13.406 .00 .00 BULK ATOM 9945 H1 TIP3 3016 -26.243 4.933 14.005 .00 .00 BULK ATOM 9946 H2 TIP3 3016 -27.641 5.520 13.905 .00 .00 BULK ATOM 9947 OH2 TIP3 3017 4.814 -10.289 3.525 .00 .00 BULK ATOM 9948 H1 TIP3 3017 4.471 -10.342 2.618 .00 .00 BULK ATOM 9949 H2 TIP3 3017 5.119 -11.229 3.573 .00 .00 BULK ATOM 9950 OH2 TIP3 3018 -24.057 -6.503 -22.469 .00 .00 BULK ATOM 9951 H1 TIP3 3018 -23.594 -5.657 -22.491 .00 .00 BULK ATOM 9952 H2 TIP3 3018 -23.921 -6.729 -21.507 .00 .00 BULK ATOM 9953 OH2 TIP3 3019 -9.600 17.168 10.640 .00 .00 BULK ATOM 9954 H1 TIP3 3019 -9.253 16.268 10.671 .00 .00 BULK ATOM 9955 H2 TIP3 3019 -9.775 17.321 11.575 .00 .00 BULK ATOM 9956 OH2 TIP3 3020 -6.672 21.033 18.290 .00 .00 BULK ATOM 9957 H1 TIP3 3020 -5.894 21.498 18.582 .00 .00 BULK ATOM 9958 H2 TIP3 3020 -6.231 20.596 17.529 .00 .00 BULK ATOM 9959 OH2 TIP3 3021 -24.599 20.363 -18.257 .00 .00 BULK ATOM 9960 H1 TIP3 3021 -23.720 20.716 -18.395 .00 .00 BULK ATOM 9961 H2 TIP3 3021 -24.602 20.307 -17.323 .00 .00 BULK ATOM 9962 OH2 TIP3 3022 -.397 9.145 15.148 .00 .00 BULK ATOM 9963 H1 TIP3 3022 .398 9.580 14.895 .00 .00 BULK ATOM 9964 H2 TIP3 3022 -.331 9.170 16.111 .00 .00 BULK ATOM 9965 OH2 TIP3 3023 8.079 .547 17.332 .00 .00 BULK ATOM 9966 H1 TIP3 3023 7.692 -.227 17.695 .00 .00 BULK ATOM 9967 H2 TIP3 3023 7.765 .524 16.425 .00 .00 BULK ATOM 9968 OH2 TIP3 3024 .427 21.443 -13.677 .00 .00 BULK ATOM 9969 H1 TIP3 3024 -.408 20.916 -13.682 .00 .00 BULK ATOM 9970 H2 TIP3 3024 .388 21.888 -14.544 .00 .00 BULK ATOM 9971 OH2 TIP3 3025 7.860 -16.306 17.027 .00 .00 BULK ATOM 9972 H1 TIP3 3025 8.848 -16.306 17.046 .00 .00 BULK ATOM 9973 H2 TIP3 3025 7.645 -16.117 16.106 .00 .00 BULK ATOM 9974 OH2 TIP3 3026 -8.563 -23.233 19.559 .00 .00 BULK ATOM 9975 H1 TIP3 3026 -8.340 -23.321 18.681 .00 .00 BULK ATOM 9976 H2 TIP3 3026 -9.374 -23.742 19.584 .00 .00 BULK ATOM 9977 OH2 TIP3 3027 -4.956 22.765 -6.349 .00 .00 BULK ATOM 9978 H1 TIP3 3027 -5.174 21.838 -6.136 .00 .00 BULK ATOM 9979 H2 TIP3 3027 -5.093 23.209 -5.492 .00 .00 BULK ATOM 9980 OH2 TIP3 3028 1.409 -19.074 19.097 .00 .00 BULK ATOM 9981 H1 TIP3 3028 1.580 -19.703 19.854 .00 .00 BULK ATOM 9982 H2 TIP3 3028 1.581 -19.617 18.274 .00 .00 BULK ATOM 9983 OH2 TIP3 3029 20.969 -15.741 19.505 .00 .00 BULK ATOM 9984 H1 TIP3 3029 20.225 -15.650 20.091 .00 .00 BULK ATOM 9985 H2 TIP3 3029 20.601 -15.640 18.603 .00 .00 BULK ATOM 9986 OH2 TIP3 3030 -1.942 17.304 9.523 .00 .00 BULK ATOM 9987 H1 TIP3 3030 -2.520 18.004 9.902 .00 .00 BULK ATOM 9988 H2 TIP3 3030 -1.538 17.812 8.749 .00 .00 BULK ATOM 9989 OH2 TIP3 3031 4.789 10.862 16.428 .00 .00 BULK ATOM 9990 H1 TIP3 3031 4.016 11.430 16.707 .00 .00 BULK ATOM 9991 H2 TIP3 3031 5.521 11.296 16.890 .00 .00 BULK ATOM 9992 OH2 TIP3 3032 -15.125 18.067 3.060 .00 .00 BULK ATOM 9993 H1 TIP3 3032 -15.844 18.167 3.664 .00 .00 BULK ATOM 9994 H2 TIP3 3032 -14.773 17.171 3.329 .00 .00 BULK ATOM 9995 OH2 TIP3 3033 -10.200 4.111 15.518 .00 .00 BULK ATOM 9996 H1 TIP3 3033 -10.756 4.776 15.018 .00 .00 BULK ATOM 9997 H2 TIP3 3033 -10.512 4.250 16.443 .00 .00 BULK ATOM 9998 OH2 TIP3 3034 19.288 6.192 -.139 .00 .00 BULK ATOM 9999 H1 TIP3 3034 20.041 5.640 .041 .00 .00 BULK ATOM 10000 H2 TIP3 3034 19.210 6.124 -1.121 .00 .00 BULK ATOM 10001 OH2 TIP3 3035 -4.891 1.903 21.759 .00 .00 BULK ATOM 10002 H1 TIP3 3035 -4.658 .972 21.509 .00 .00 BULK ATOM 10003 H2 TIP3 3035 -4.064 2.354 21.457 .00 .00 BULK ATOM 10004 OH2 TIP3 3036 17.131 -7.533 9.814 .00 .00 BULK ATOM 10005 H1 TIP3 3036 17.793 -7.368 10.499 .00 .00 BULK ATOM 10006 H2 TIP3 3036 17.157 -8.500 9.839 .00 .00 BULK ATOM 10007 OH2 TIP3 3037 7.503 16.538 18.550 .00 .00 BULK ATOM 10008 H1 TIP3 3037 7.708 15.577 18.835 .00 .00 BULK ATOM 10009 H2 TIP3 3037 7.607 16.449 17.589 .00 .00 BULK ATOM 10010 OH2 TIP3 3038 -6.652 -21.543 7.194 .00 .00 BULK ATOM 10011 H1 TIP3 3038 -5.752 -21.742 6.950 .00 .00 BULK ATOM 10012 H2 TIP3 3038 -6.845 -20.875 6.512 .00 .00 BULK ATOM 10013 OH2 TIP3 3039 6.447 -5.416 17.218 .00 .00 BULK ATOM 10014 H1 TIP3 3039 5.743 -5.981 17.535 .00 .00 BULK ATOM 10015 H2 TIP3 3039 6.308 -4.701 17.843 .00 .00 BULK ATOM 10016 OH2 TIP3 3040 8.950 2.203 11.238 .00 .00 BULK ATOM 10017 H1 TIP3 3040 9.578 2.271 11.997 .00 .00 BULK ATOM 10018 H2 TIP3 3040 9.521 1.829 10.517 .00 .00 BULK ATOM 10019 OH2 TIP3 3041 2.519 6.616 17.919 .00 .00 BULK ATOM 10020 H1 TIP3 3041 2.030 7.316 18.375 .00 .00 BULK ATOM 10021 H2 TIP3 3041 2.882 7.064 17.134 .00 .00 BULK ATOM 10022 OH2 TIP3 3042 4.625 5.296 16.141 .00 .00 BULK ATOM 10023 H1 TIP3 3042 4.654 5.880 15.383 .00 .00 BULK ATOM 10024 H2 TIP3 3042 4.721 5.788 16.947 .00 .00 BULK ATOM 10025 OH2 TIP3 3043 -3.137 -7.600 17.855 .00 .00 BULK ATOM 10026 H1 TIP3 3043 -2.861 -6.678 17.896 .00 .00 BULK ATOM 10027 H2 TIP3 3043 -3.748 -7.572 17.119 .00 .00 BULK ATOM 10028 OH2 TIP3 3044 -18.577 -16.806 2.631 .00 .00 BULK ATOM 10029 H1 TIP3 3044 -18.626 -16.727 1.726 .00 .00 BULK ATOM 10030 H2 TIP3 3044 -19.526 -16.575 2.921 .00 .00 BULK ATOM 10031 OH2 TIP3 3045 -11.723 -21.393 20.157 .00 .00 BULK ATOM 10032 H1 TIP3 3045 -11.672 -22.373 19.931 .00 .00 BULK ATOM 10033 H2 TIP3 3045 -11.001 -21.087 19.486 .00 .00 BULK ATOM 10034 OH2 TIP3 3046 -18.682 -20.912 8.020 .00 .00 BULK ATOM 10035 H1 TIP3 3046 -18.220 -20.126 8.296 .00 .00 BULK ATOM 10036 H2 TIP3 3046 -18.786 -21.318 8.894 .00 .00 BULK ATOM 10037 OH2 TIP3 3047 14.802 14.262 -15.640 .00 .00 BULK ATOM 10038 H1 TIP3 3047 15.286 14.281 -14.768 .00 .00 BULK ATOM 10039 H2 TIP3 3047 15.332 13.677 -16.251 .00 .00 BULK ATOM 10040 OH2 TIP3 3048 1.886 2.301 14.783 .00 .00 BULK ATOM 10041 H1 TIP3 3048 2.652 2.696 14.299 .00 .00 BULK ATOM 10042 H2 TIP3 3048 1.820 2.717 15.618 .00 .00 BULK ATOM 10043 OH2 TIP3 3049 -13.254 -6.604 -22.977 .00 .00 BULK ATOM 10044 H1 TIP3 3049 -12.531 -5.909 -22.964 .00 .00 BULK ATOM 10045 H2 TIP3 3049 -13.305 -6.836 -23.898 .00 .00 BULK ATOM 10046 OH2 TIP3 3050 -1.364 1.653 16.342 .00 .00 BULK ATOM 10047 H1 TIP3 3050 -.758 1.223 15.704 .00 .00 BULK ATOM 10048 H2 TIP3 3050 -.660 1.901 17.027 .00 .00 BULK ATOM 10049 OH2 TIP3 3051 -3.843 -17.411 18.392 .00 .00 BULK ATOM 10050 H1 TIP3 3051 -4.538 -17.209 17.724 .00 .00 BULK ATOM 10051 H2 TIP3 3051 -3.649 -18.412 18.263 .00 .00 BULK ATOM 10052 OH2 TIP3 3052 14.953 17.862 -11.181 .00 .00 BULK ATOM 10053 H1 TIP3 3052 14.712 18.197 -12.113 .00 .00 BULK ATOM 10054 H2 TIP3 3052 14.745 18.681 -10.621 .00 .00 BULK ATOM 10055 OH2 TIP3 3053 8.335 -21.169 10.061 .00 .00 BULK ATOM 10056 H1 TIP3 3053 8.847 -20.406 10.376 .00 .00 BULK ATOM 10057 H2 TIP3 3053 7.599 -20.693 9.587 .00 .00 BULK ATOM 10058 OH2 TIP3 3054 20.217 10.878 1.430 .00 .00 BULK ATOM 10059 H1 TIP3 3054 19.437 10.872 1.995 .00 .00 BULK ATOM 10060 H2 TIP3 3054 20.364 11.886 1.480 .00 .00 BULK ATOM 10061 OH2 TIP3 3055 7.105 15.586 10.606 .00 .00 BULK ATOM 10062 H1 TIP3 3055 6.258 15.685 11.090 .00 .00 BULK ATOM 10063 H2 TIP3 3055 7.279 16.544 10.308 .00 .00 BULK ATOM 10064 OH2 TIP3 3056 .909 -22.403 19.456 .00 .00 BULK ATOM 10065 H1 TIP3 3056 1.699 -21.779 19.576 .00 .00 BULK ATOM 10066 H2 TIP3 3056 1.335 -23.089 18.918 .00 .00 BULK ATOM 10067 OH2 TIP3 3057 10.385 -21.476 21.293 .00 .00 BULK ATOM 10068 H1 TIP3 3057 11.159 -21.139 21.691 .00 .00 BULK ATOM 10069 H2 TIP3 3057 9.811 -21.679 22.011 .00 .00 BULK ATOM 10070 OH2 TIP3 3058 -10.140 -8.989 16.875 .00 .00 BULK ATOM 10071 H1 TIP3 3058 -10.144 -9.826 17.441 .00 .00 BULK ATOM 10072 H2 TIP3 3058 -11.044 -8.983 16.458 .00 .00 BULK ATOM 10073 OH2 TIP3 3059 -27.260 -20.402 -19.823 .00 .00 BULK ATOM 10074 H1 TIP3 3059 -27.882 -21.057 -19.457 .00 .00 BULK ATOM 10075 H2 TIP3 3059 -27.251 -20.657 -20.798 .00 .00 BULK ATOM 10076 OH2 TIP3 3060 -14.978 .806 13.512 .00 .00 BULK ATOM 10077 H1 TIP3 3060 -14.104 1.228 13.720 .00 .00 BULK ATOM 10078 H2 TIP3 3060 -14.914 -.048 13.929 .00 .00 BULK ATOM 10079 OH2 TIP3 3061 -15.454 13.499 9.117 .00 .00 BULK ATOM 10080 H1 TIP3 3061 -14.935 14.265 9.430 .00 .00 BULK ATOM 10081 H2 TIP3 3061 -15.069 13.306 8.247 .00 .00 BULK ATOM 10082 OH2 TIP3 3062 -28.079 19.845 5.175 .00 .00 BULK ATOM 10083 H1 TIP3 3062 -27.137 19.823 5.268 .00 .00 BULK ATOM 10084 H2 TIP3 3062 -28.296 18.901 5.330 .00 .00 BULK ATOM 10085 OH2 TIP3 3063 22.708 5.879 -22.502 .00 .00 BULK ATOM 10086 H1 TIP3 3063 22.720 5.506 -23.481 .00 .00 BULK ATOM 10087 H2 TIP3 3063 22.094 5.209 -22.117 .00 .00 BULK ATOM 10088 OH2 TIP3 3064 30.274 .386 16.504 .00 .00 BULK ATOM 10089 H1 TIP3 3064 30.388 .831 17.352 .00 .00 BULK ATOM 10090 H2 TIP3 3064 29.475 .861 16.137 .00 .00 BULK ATOM 10091 OH2 TIP3 3065 -26.181 -10.907 17.020 .00 .00 BULK ATOM 10092 H1 TIP3 3065 -26.344 -11.257 17.935 .00 .00 BULK ATOM 10093 H2 TIP3 3065 -25.865 -11.689 16.549 .00 .00 BULK ATOM 10094 OH2 TIP3 3066 14.122 -17.019 9.005 .00 .00 BULK ATOM 10095 H1 TIP3 3066 14.250 -16.981 10.023 .00 .00 BULK ATOM 10096 H2 TIP3 3066 13.512 -16.281 8.839 .00 .00 BULK ATOM 10097 OH2 TIP3 3067 7.798 -15.613 7.420 .00 .00 BULK ATOM 10098 H1 TIP3 3067 8.281 -15.041 6.812 .00 .00 BULK ATOM 10099 H2 TIP3 3067 6.933 -15.623 6.940 .00 .00 BULK ATOM 10100 OH2 TIP3 3068 -22.986 5.260 9.053 .00 .00 BULK ATOM 10101 H1 TIP3 3068 -22.672 6.171 9.068 .00 .00 BULK ATOM 10102 H2 TIP3 3068 -23.551 5.319 9.823 .00 .00 BULK ATOM 10103 OH2 TIP3 3069 -5.309 11.583 12.242 .00 .00 BULK ATOM 10104 H1 TIP3 3069 -4.333 11.623 12.200 .00 .00 BULK ATOM 10105 H2 TIP3 3069 -5.522 10.914 11.555 .00 .00 BULK ATOM 10106 OH2 TIP3 3070 -26.060 -11.535 4.386 .00 .00 BULK ATOM 10107 H1 TIP3 3070 -25.465 -10.802 4.194 .00 .00 BULK ATOM 10108 H2 TIP3 3070 -26.850 -11.034 4.687 .00 .00 BULK ATOM 10109 OH2 TIP3 3071 -6.486 4.730 -14.792 .00 .00 BULK ATOM 10110 H1 TIP3 3071 -6.088 3.787 -14.652 .00 .00 BULK ATOM 10111 H2 TIP3 3071 -5.701 5.296 -14.865 .00 .00 BULK ATOM 10112 OH2 TIP3 3072 1.822 2.070 11.243 .00 .00 BULK ATOM 10113 H1 TIP3 3072 .968 2.295 10.897 .00 .00 BULK ATOM 10114 H2 TIP3 3072 1.982 2.746 11.928 .00 .00 BULK ATOM 10115 OH2 TIP3 3073 -17.960 10.273 8.190 .00 .00 BULK ATOM 10116 H1 TIP3 3073 -18.602 9.527 8.228 .00 .00 BULK ATOM 10117 H2 TIP3 3073 -17.393 10.144 8.976 .00 .00 BULK ATOM 10118 OH2 TIP3 3074 14.855 -7.847 11.573 .00 .00 BULK ATOM 10119 H1 TIP3 3074 14.885 -7.937 10.553 .00 .00 BULK ATOM 10120 H2 TIP3 3074 15.769 -7.644 11.806 .00 .00 BULK ATOM 10121 OH2 TIP3 3075 -18.472 7.452 8.624 .00 .00 BULK ATOM 10122 H1 TIP3 3075 -18.554 6.532 8.993 .00 .00 BULK ATOM 10123 H2 TIP3 3075 -18.046 7.906 9.333 .00 .00 BULK ATOM 10124 OH2 TIP3 3076 4.414 14.798 -17.919 .00 .00 BULK ATOM 10125 H1 TIP3 3076 5.068 14.858 -18.705 .00 .00 BULK ATOM 10126 H2 TIP3 3076 4.981 15.140 -17.203 .00 .00 BULK ATOM 10127 OH2 TIP3 3077 -27.583 -21.441 -1.449 .00 .00 BULK ATOM 10128 H1 TIP3 3077 -27.612 -20.693 -.815 .00 .00 BULK ATOM 10129 H2 TIP3 3077 -28.149 -21.968 -.864 .00 .00 BULK ATOM 10130 OH2 TIP3 3078 -12.474 -18.075 12.341 .00 .00 BULK ATOM 10131 H1 TIP3 3078 -12.093 -18.354 11.452 .00 .00 BULK ATOM 10132 H2 TIP3 3078 -12.882 -18.895 12.686 .00 .00 BULK ATOM 10133 OH2 TIP3 3079 7.129 -18.861 -19.977 .00 .00 BULK ATOM 10134 H1 TIP3 3079 7.847 -19.538 -19.915 .00 .00 BULK ATOM 10135 H2 TIP3 3079 6.761 -19.082 -20.854 .00 .00 BULK ATOM 10136 OH2 TIP3 3080 23.828 -5.602 -20.925 .00 .00 BULK ATOM 10137 H1 TIP3 3080 24.418 -5.896 -21.654 .00 .00 BULK ATOM 10138 H2 TIP3 3080 24.280 -5.985 -20.166 .00 .00 BULK ATOM 10139 OH2 TIP3 3081 -.202 14.953 1.232 .00 .00 BULK ATOM 10140 H1 TIP3 3081 .270 14.371 1.849 .00 .00 BULK ATOM 10141 H2 TIP3 3081 -.288 15.725 1.803 .00 .00 BULK ATOM 10142 OH2 TIP3 3082 -24.245 7.228 -3.480 .00 .00 BULK ATOM 10143 H1 TIP3 3082 -24.032 7.514 -4.396 .00 .00 BULK ATOM 10144 H2 TIP3 3082 -25.063 6.779 -3.502 .00 .00 BULK ATOM 10145 OH2 TIP3 3083 -10.246 11.579 15.267 .00 .00 BULK ATOM 10146 H1 TIP3 3083 -11.179 11.365 15.174 .00 .00 BULK ATOM 10147 H2 TIP3 3083 -10.129 10.867 15.919 .00 .00 BULK ATOM 10148 OH2 TIP3 3084 5.118 6.689 18.933 .00 .00 BULK ATOM 10149 H1 TIP3 3084 4.195 6.477 18.695 .00 .00 BULK ATOM 10150 H2 TIP3 3084 5.016 7.337 19.685 .00 .00 BULK ATOM 10151 OH2 TIP3 3085 -26.193 .599 2.556 .00 .00 BULK ATOM 10152 H1 TIP3 3085 -25.778 .114 3.296 .00 .00 BULK ATOM 10153 H2 TIP3 3085 -25.384 .617 2.117 .00 .00 BULK ATOM 10154 OH2 TIP3 3086 -22.702 8.495 11.221 .00 .00 BULK ATOM 10155 H1 TIP3 3086 -22.464 8.013 10.444 .00 .00 BULK ATOM 10156 H2 TIP3 3086 -21.713 8.713 11.423 .00 .00 BULK ATOM 10157 OH2 TIP3 3087 -4.119 21.449 -22.800 .00 .00 BULK ATOM 10158 H1 TIP3 3087 -5.053 21.138 -22.782 .00 .00 BULK ATOM 10159 H2 TIP3 3087 -3.790 20.889 -22.087 .00 .00 BULK ATOM 10160 OH2 TIP3 3088 -1.586 -4.768 12.951 .00 .00 BULK ATOM 10161 H1 TIP3 3088 -1.071 -4.061 13.431 .00 .00 BULK ATOM 10162 H2 TIP3 3088 -2.078 -4.177 12.311 .00 .00 BULK ATOM 10163 OH2 TIP3 3089 1.119 9.204 9.875 .00 .00 BULK ATOM 10164 H1 TIP3 3089 .450 8.574 9.651 .00 .00 BULK ATOM 10165 H2 TIP3 3089 1.409 9.243 8.999 .00 .00 BULK ATOM 10166 OH2 TIP3 3090 -28.095 -3.460 11.784 .00 .00 BULK ATOM 10167 H1 TIP3 3090 -27.913 -2.887 12.549 .00 .00 BULK ATOM 10168 H2 TIP3 3090 -28.909 -3.150 11.449 .00 .00 BULK ATOM 10169 OH2 TIP3 3091 -25.855 -16.795 11.172 .00 .00 BULK ATOM 10170 H1 TIP3 3091 -24.920 -16.566 11.070 .00 .00 BULK ATOM 10171 H2 TIP3 3091 -26.339 -16.475 10.410 .00 .00 BULK ATOM 10172 OH2 TIP3 3092 -21.351 8.676 5.206 .00 .00 BULK ATOM 10173 H1 TIP3 3092 -21.688 9.338 4.551 .00 .00 BULK ATOM 10174 H2 TIP3 3092 -22.079 8.666 5.826 .00 .00 BULK ATOM 10175 OH2 TIP3 3093 -9.357 -13.559 10.892 .00 .00 BULK ATOM 10176 H1 TIP3 3093 -9.474 -13.722 11.885 .00 .00 BULK ATOM 10177 H2 TIP3 3093 -9.044 -12.616 10.955 .00 .00 BULK ATOM 10178 OH2 TIP3 3094 -14.699 -12.360 14.831 .00 .00 BULK ATOM 10179 H1 TIP3 3094 -15.505 -12.868 14.572 .00 .00 BULK ATOM 10180 H2 TIP3 3094 -14.050 -12.635 14.181 .00 .00 BULK ATOM 10181 OH2 TIP3 3095 20.795 -7.194 -21.805 .00 .00 BULK ATOM 10182 H1 TIP3 3095 21.284 -7.898 -21.332 .00 .00 BULK ATOM 10183 H2 TIP3 3095 20.857 -6.429 -21.150 .00 .00 BULK ATOM 10184 OH2 TIP3 3096 25.905 9.999 -7.650 .00 .00 BULK ATOM 10185 H1 TIP3 3096 25.644 10.947 -7.730 .00 .00 BULK ATOM 10186 H2 TIP3 3096 26.374 9.899 -8.520 .00 .00 BULK ATOM 10187 OH2 TIP3 3097 -4.258 15.834 23.050 .00 .00 BULK ATOM 10188 H1 TIP3 3097 -4.799 15.240 22.443 .00 .00 BULK ATOM 10189 H2 TIP3 3097 -4.875 16.551 22.973 .00 .00 BULK ATOM 10190 OH2 TIP3 3098 22.222 7.513 12.567 .00 .00 BULK ATOM 10191 H1 TIP3 3098 22.106 7.319 13.441 .00 .00 BULK ATOM 10192 H2 TIP3 3098 21.434 8.178 12.552 .00 .00 BULK ATOM 10193 OH2 TIP3 3099 -13.427 20.226 12.586 .00 .00 BULK ATOM 10194 H1 TIP3 3099 -13.059 20.426 11.731 .00 .00 BULK ATOM 10195 H2 TIP3 3099 -14.403 20.243 12.413 .00 .00 BULK ATOM 10196 OH2 TIP3 3100 -19.904 1.906 -13.358 .00 .00 BULK ATOM 10197 H1 TIP3 3100 -20.260 2.375 -14.124 .00 .00 BULK ATOM 10198 H2 TIP3 3100 -18.907 2.082 -13.459 .00 .00 BULK ATOM 10199 OH2 TIP3 3101 13.242 -22.621 -12.263 .00 .00 BULK ATOM 10200 H1 TIP3 3101 12.562 -22.246 -11.647 .00 .00 BULK ATOM 10201 H2 TIP3 3101 13.736 -21.815 -12.550 .00 .00 BULK ATOM 10202 OH2 TIP3 3102 18.543 19.339 7.631 .00 .00 BULK ATOM 10203 H1 TIP3 3102 18.644 18.870 6.795 .00 .00 BULK ATOM 10204 H2 TIP3 3102 18.542 18.549 8.174 .00 .00 BULK ATOM 10205 OH2 TIP3 3103 -10.367 16.762 2.718 .00 .00 BULK ATOM 10206 H1 TIP3 3103 -10.580 17.519 3.305 .00 .00 BULK ATOM 10207 H2 TIP3 3103 -10.253 16.023 3.310 .00 .00 BULK ATOM 10208 OH2 TIP3 3104 -13.696 -19.479 19.694 .00 .00 BULK ATOM 10209 H1 TIP3 3104 -13.067 -18.798 19.456 .00 .00 BULK ATOM 10210 H2 TIP3 3104 -13.230 -20.325 19.441 .00 .00 BULK ATOM 10211 OH2 TIP3 3105 21.186 14.466 -22.674 .00 .00 BULK ATOM 10212 H1 TIP3 3105 20.845 13.513 -22.847 .00 .00 BULK ATOM 10213 H2 TIP3 3105 21.738 14.255 -21.917 .00 .00 BULK ATOM 10214 OH2 TIP3 3106 12.148 2.492 -12.754 .00 .00 BULK ATOM 10215 H1 TIP3 3106 12.795 3.244 -12.658 .00 .00 BULK ATOM 10216 H2 TIP3 3106 12.667 1.657 -12.850 .00 .00 BULK ATOM 10217 OH2 TIP3 3107 7.686 -21.237 14.762 .00 .00 BULK ATOM 10218 H1 TIP3 3107 7.435 -20.357 15.016 .00 .00 BULK ATOM 10219 H2 TIP3 3107 7.781 -21.543 15.654 .00 .00 BULK ATOM 10220 OH2 TIP3 3108 28.761 -6.885 1.995 .00 .00 BULK ATOM 10221 H1 TIP3 3108 29.284 -6.082 1.730 .00 .00 BULK ATOM 10222 H2 TIP3 3108 29.110 -6.873 2.979 .00 .00 BULK ATOM 10223 OH2 TIP3 3109 4.162 14.457 2.510 .00 .00 BULK ATOM 10224 H1 TIP3 3109 4.157 13.494 2.665 .00 .00 BULK ATOM 10225 H2 TIP3 3109 4.300 14.721 3.421 .00 .00 BULK ATOM 10226 OH2 TIP3 3110 6.037 -17.292 18.834 .00 .00 BULK ATOM 10227 H1 TIP3 3110 5.244 -16.748 18.917 .00 .00 BULK ATOM 10228 H2 TIP3 3110 6.685 -16.642 18.458 .00 .00 BULK ATOM 10229 OH2 TIP3 3111 5.723 4.958 -19.517 .00 .00 BULK ATOM 10230 H1 TIP3 3111 5.574 4.070 -19.063 .00 .00 BULK ATOM 10231 H2 TIP3 3111 5.419 4.826 -20.397 .00 .00 BULK ATOM 10232 OH2 TIP3 3112 -20.716 -7.454 -19.254 .00 .00 BULK ATOM 10233 H1 TIP3 3112 -21.095 -6.877 -18.557 .00 .00 BULK ATOM 10234 H2 TIP3 3112 -19.894 -7.710 -18.764 .00 .00 BULK ATOM 10235 OH2 TIP3 3113 -2.837 -15.450 -12.216 .00 .00 BULK ATOM 10236 H1 TIP3 3113 -3.510 -14.836 -12.514 .00 .00 BULK ATOM 10237 H2 TIP3 3113 -3.232 -15.768 -11.423 .00 .00 BULK ATOM 10238 OH2 TIP3 3114 21.534 -.639 -4.958 .00 .00 BULK ATOM 10239 H1 TIP3 3114 21.432 .349 -4.868 .00 .00 BULK ATOM 10240 H2 TIP3 3114 21.983 -.750 -5.810 .00 .00 BULK ATOM 10241 OH2 TIP3 3115 -8.300 -9.904 -20.097 .00 .00 BULK ATOM 10242 H1 TIP3 3115 -7.365 -10.090 -20.022 .00 .00 BULK ATOM 10243 H2 TIP3 3115 -8.572 -10.725 -20.526 .00 .00 BULK ATOM 10244 OH2 TIP3 3116 26.591 11.319 -5.349 .00 .00 BULK ATOM 10245 H1 TIP3 3116 26.278 10.772 -6.117 .00 .00 BULK ATOM 10246 H2 TIP3 3116 27.561 11.119 -5.398 .00 .00 BULK ATOM 10247 OH2 TIP3 3117 -25.610 19.235 -15.731 .00 .00 BULK ATOM 10248 H1 TIP3 3117 -26.391 19.180 -15.138 .00 .00 BULK ATOM 10249 H2 TIP3 3117 -25.012 19.849 -15.158 .00 .00 BULK ATOM 10250 OH2 TIP3 3118 -8.170 -3.583 -16.270 .00 .00 BULK ATOM 10251 H1 TIP3 3118 -7.872 -4.107 -15.543 .00 .00 BULK ATOM 10252 H2 TIP3 3118 -8.450 -2.741 -15.812 .00 .00 BULK ATOM 10253 OH2 TIP3 3119 28.601 7.489 -15.568 .00 .00 BULK ATOM 10254 H1 TIP3 3119 27.776 7.405 -16.033 .00 .00 BULK ATOM 10255 H2 TIP3 3119 28.667 6.741 -14.930 .00 .00 BULK ATOM 10256 OH2 TIP3 3120 -17.719 -12.945 20.012 .00 .00 BULK ATOM 10257 H1 TIP3 3120 -18.149 -12.200 19.571 .00 .00 BULK ATOM 10258 H2 TIP3 3120 -17.324 -13.340 19.207 .00 .00 BULK ATOM 10259 OH2 TIP3 3121 10.835 .762 -22.166 .00 .00 BULK ATOM 10260 H1 TIP3 3121 11.619 .192 -22.458 .00 .00 BULK ATOM 10261 H2 TIP3 3121 11.360 1.605 -22.016 .00 .00 BULK ATOM 10262 OH2 TIP3 3122 -1.403 -11.824 -10.448 .00 .00 BULK ATOM 10263 H1 TIP3 3122 -1.150 -12.709 -10.183 .00 .00 BULK ATOM 10264 H2 TIP3 3122 -1.985 -11.745 -9.670 .00 .00 BULK ATOM 10265 OH2 TIP3 3123 -14.669 14.791 21.193 .00 .00 BULK ATOM 10266 H1 TIP3 3123 -13.994 14.145 21.276 .00 .00 BULK ATOM 10267 H2 TIP3 3123 -15.112 14.550 20.354 .00 .00 BULK ATOM 10268 OH2 TIP3 3124 28.847 -16.249 8.964 .00 .00 BULK ATOM 10269 H1 TIP3 3124 28.973 -16.882 9.709 .00 .00 BULK ATOM 10270 H2 TIP3 3124 27.856 -16.186 8.843 .00 .00 BULK ATOM 10271 OH2 TIP3 3125 -19.448 18.311 14.668 .00 .00 BULK ATOM 10272 H1 TIP3 3125 -20.080 17.972 15.385 .00 .00 BULK ATOM 10273 H2 TIP3 3125 -19.052 19.028 15.119 .00 .00 BULK ATOM 10274 OH2 TIP3 3126 -11.285 13.491 -14.485 .00 .00 BULK ATOM 10275 H1 TIP3 3126 -11.364 13.391 -15.437 .00 .00 BULK ATOM 10276 H2 TIP3 3126 -10.349 13.472 -14.353 .00 .00 BULK ATOM 10277 OH2 TIP3 3127 -7.653 -11.976 19.044 .00 .00 BULK ATOM 10278 H1 TIP3 3127 -8.114 -12.264 18.241 .00 .00 BULK ATOM 10279 H2 TIP3 3127 -6.786 -11.578 18.699 .00 .00 BULK ATOM 10280 OH2 TIP3 3128 -11.153 13.784 18.006 .00 .00 BULK ATOM 10281 H1 TIP3 3128 -10.513 14.082 18.679 .00 .00 BULK ATOM 10282 H2 TIP3 3128 -11.076 12.792 18.097 .00 .00 BULK ATOM 10283 OH2 TIP3 3129 -3.760 1.777 17.914 .00 .00 BULK ATOM 10284 H1 TIP3 3129 -3.456 .869 18.071 .00 .00 BULK ATOM 10285 H2 TIP3 3129 -2.981 2.027 17.440 .00 .00 BULK ATOM 10286 OH2 TIP3 3130 -26.033 -21.436 -22.076 .00 .00 BULK ATOM 10287 H1 TIP3 3130 -26.658 -21.616 -22.777 .00 .00 BULK ATOM 10288 H2 TIP3 3130 -25.787 -22.351 -21.974 .00 .00 BULK ATOM 10289 OH2 TIP3 3131 -4.122 23.018 12.538 .00 .00 BULK ATOM 10290 H1 TIP3 3131 -5.030 22.623 12.364 .00 .00 BULK ATOM 10291 H2 TIP3 3131 -4.086 22.835 13.505 .00 .00 BULK ATOM 10292 OH2 TIP3 3132 9.419 -20.452 -19.919 .00 .00 BULK ATOM 10293 H1 TIP3 3132 9.114 -21.382 -20.121 .00 .00 BULK ATOM 10294 H2 TIP3 3132 10.234 -20.371 -20.464 .00 .00 BULK ATOM 10295 OH2 TIP3 3133 29.690 -4.476 -23.144 .00 .00 BULK ATOM 10296 H1 TIP3 3133 30.205 -5.220 -22.828 .00 .00 BULK ATOM 10297 H2 TIP3 3133 29.376 -4.910 -23.990 .00 .00 BULK ATOM 10298 OH2 TIP3 3134 -2.495 -22.005 -13.383 .00 .00 BULK ATOM 10299 H1 TIP3 3134 -2.467 -22.982 -13.445 .00 .00 BULK ATOM 10300 H2 TIP3 3134 -1.562 -21.808 -13.575 .00 .00 BULK ATOM 10301 OH2 TIP3 3135 6.512 -5.282 13.380 .00 .00 BULK ATOM 10302 H1 TIP3 3135 6.169 -4.392 13.423 .00 .00 BULK ATOM 10303 H2 TIP3 3135 5.715 -5.790 13.771 .00 .00 BULK ATOM 10304 OH2 TIP3 3136 -19.227 -18.339 -21.567 .00 .00 BULK ATOM 10305 H1 TIP3 3136 -18.920 -18.988 -22.257 .00 .00 BULK ATOM 10306 H2 TIP3 3136 -18.551 -18.481 -20.876 .00 .00 BULK ATOM 10307 OH2 TIP3 3137 -9.178 -22.315 -21.774 .00 .00 BULK ATOM 10308 H1 TIP3 3137 -8.276 -22.692 -21.895 .00 .00 BULK ATOM 10309 H2 TIP3 3137 -9.638 -22.803 -22.497 .00 .00 BULK ATOM 10310 OH2 TIP3 3138 -12.892 22.454 -14.193 .00 .00 BULK ATOM 10311 H1 TIP3 3138 -12.253 22.012 -13.694 .00 .00 BULK ATOM 10312 H2 TIP3 3138 -12.453 22.171 -15.090 .00 .00 BULK ATOM 10313 OH2 TIP3 3139 -15.583 17.341 21.852 .00 .00 BULK ATOM 10314 H1 TIP3 3139 -15.852 17.069 22.745 .00 .00 BULK ATOM 10315 H2 TIP3 3139 -15.181 16.503 21.604 .00 .00 BULK ATOM 10316 OH2 TIP3 3140 14.987 -18.948 -11.162 .00 .00 BULK ATOM 10317 H1 TIP3 3140 14.878 -19.426 -11.992 .00 .00 BULK ATOM 10318 H2 TIP3 3140 15.707 -19.548 -10.823 .00 .00 BULK ATOM 10319 OH2 TIP3 3141 15.132 12.540 -11.369 .00 .00 BULK ATOM 10320 H1 TIP3 3141 15.018 12.143 -12.283 .00 .00 BULK ATOM 10321 H2 TIP3 3141 15.264 13.513 -11.561 .00 .00 BULK ATOM 10322 OH2 TIP3 3142 -7.813 -12.354 -7.967 .00 .00 BULK ATOM 10323 H1 TIP3 3142 -7.714 -11.909 -8.842 .00 .00 BULK ATOM 10324 H2 TIP3 3142 -8.431 -11.722 -7.585 .00 .00 BULK ATOM 10325 OH2 TIP3 3143 -7.855 .887 -22.752 .00 .00 BULK ATOM 10326 H1 TIP3 3143 -8.664 1.411 -22.732 .00 .00 BULK ATOM 10327 H2 TIP3 3143 -7.683 .771 -23.694 .00 .00 BULK ATOM 10328 OH2 TIP3 3144 2.725 .429 1.979 .00 .00 BULK ATOM 10329 H1 TIP3 3144 2.403 -.491 1.920 .00 .00 BULK ATOM 10330 H2 TIP3 3144 3.708 .309 1.849 .00 .00 BULK ATOM 10331 OH2 TIP3 3145 .351 12.524 18.673 .00 .00 BULK ATOM 10332 H1 TIP3 3145 .247 13.552 18.869 .00 .00 BULK ATOM 10333 H2 TIP3 3145 .894 12.266 19.434 .00 .00 BULK ATOM 10334 OH2 TIP3 3146 -28.111 16.747 22.047 .00 .00 BULK ATOM 10335 H1 TIP3 3146 -28.245 17.282 22.848 .00 .00 BULK ATOM 10336 H2 TIP3 3146 -28.851 16.095 22.074 .00 .00 BULK ATOM 10337 OH2 TIP3 3147 1.780 -7.879 -19.992 .00 .00 BULK ATOM 10338 H1 TIP3 3147 2.587 -8.103 -20.419 .00 .00 BULK ATOM 10339 H2 TIP3 3147 1.196 -7.867 -20.773 .00 .00 BULK ATOM 10340 OH2 TIP3 3148 -23.352 -15.188 -19.606 .00 .00 BULK ATOM 10341 H1 TIP3 3148 -22.689 -15.888 -19.792 .00 .00 BULK ATOM 10342 H2 TIP3 3148 -24.200 -15.631 -19.555 .00 .00 BULK ATOM 10343 OH2 TIP3 3149 6.309 13.461 -14.743 .00 .00 BULK ATOM 10344 H1 TIP3 3149 5.618 13.075 -14.182 .00 .00 BULK ATOM 10345 H2 TIP3 3149 6.474 12.881 -15.528 .00 .00 BULK ATOM 10346 OH2 TIP3 3150 -13.307 -12.687 17.205 .00 .00 BULK ATOM 10347 H1 TIP3 3150 -13.993 -12.445 16.485 .00 .00 BULK ATOM 10348 H2 TIP3 3150 -13.208 -13.664 16.894 .00 .00 BULK ATOM 10349 OH2 TIP3 3151 -8.758 -19.333 9.041 .00 .00 BULK ATOM 10350 H1 TIP3 3151 -7.845 -19.179 8.782 .00 .00 BULK ATOM 10351 H2 TIP3 3151 -9.117 -18.563 8.671 .00 .00 BULK ATOM 10352 OH2 TIP3 3152 23.512 -3.738 -11.352 .00 .00 BULK ATOM 10353 H1 TIP3 3152 23.557 -4.536 -11.998 .00 .00 BULK ATOM 10354 H2 TIP3 3152 24.162 -4.028 -10.691 .00 .00 BULK ATOM 10355 OH2 TIP3 3153 -1.358 20.769 19.876 .00 .00 BULK ATOM 10356 H1 TIP3 3153 -.738 20.023 19.692 .00 .00 BULK ATOM 10357 H2 TIP3 3153 -1.747 20.327 20.665 .00 .00 BULK ATOM 10358 OH2 TIP3 3154 -13.866 -18.739 -17.750 .00 .00 BULK ATOM 10359 H1 TIP3 3154 -13.407 -19.414 -17.268 .00 .00 BULK ATOM 10360 H2 TIP3 3154 -14.288 -18.306 -16.991 .00 .00 BULK ATOM 10361 OH2 TIP3 3155 2.870 13.450 12.670 .00 .00 BULK ATOM 10362 H1 TIP3 3155 1.922 13.153 12.677 .00 .00 BULK ATOM 10363 H2 TIP3 3155 3.164 13.371 11.714 .00 .00 BULK ATOM 10364 OH2 TIP3 3156 -19.493 15.596 2.951 .00 .00 BULK ATOM 10365 H1 TIP3 3156 -19.486 16.452 2.462 .00 .00 BULK ATOM 10366 H2 TIP3 3156 -19.879 15.911 3.800 .00 .00 BULK ATOM 10367 OH2 TIP3 3157 -7.520 -4.726 9.072 .00 .00 BULK ATOM 10368 H1 TIP3 3157 -6.858 -5.324 8.609 .00 .00 BULK ATOM 10369 H2 TIP3 3157 -6.934 -4.247 9.684 .00 .00 BULK ATOM 10370 OH2 TIP3 3158 -6.213 9.135 -19.853 .00 .00 BULK ATOM 10371 H1 TIP3 3158 -6.681 8.284 -19.856 .00 .00 BULK ATOM 10372 H2 TIP3 3158 -6.439 9.407 -20.769 .00 .00 BULK ATOM 10373 OH2 TIP3 3159 -19.021 6.670 -11.638 .00 .00 BULK ATOM 10374 H1 TIP3 3159 -18.741 7.089 -10.801 .00 .00 BULK ATOM 10375 H2 TIP3 3159 -19.457 7.437 -12.143 .00 .00 BULK ATOM 10376 OH2 TIP3 3160 -5.625 -18.783 -6.693 .00 .00 BULK ATOM 10377 H1 TIP3 3160 -5.143 -18.086 -6.193 .00 .00 BULK ATOM 10378 H2 TIP3 3160 -5.711 -18.330 -7.541 .00 .00 BULK ATOM 10379 OH2 TIP3 3161 11.504 -15.418 7.678 .00 .00 BULK ATOM 10380 H1 TIP3 3161 12.084 -14.641 7.809 .00 .00 BULK ATOM 10381 H2 TIP3 3161 11.573 -15.482 6.690 .00 .00 BULK ATOM 10382 OH2 TIP3 3162 12.881 .550 15.687 .00 .00 BULK ATOM 10383 H1 TIP3 3162 12.121 .632 16.308 .00 .00 BULK ATOM 10384 H2 TIP3 3162 12.742 -.395 15.445 .00 .00 BULK ATOM 10385 OH2 TIP3 3163 -18.100 -21.633 10.860 .00 .00 BULK ATOM 10386 H1 TIP3 3163 -18.031 -20.733 11.311 .00 .00 BULK ATOM 10387 H2 TIP3 3163 -18.237 -22.264 11.606 .00 .00 BULK ATOM 10388 OH2 TIP3 3164 -.549 6.715 9.569 .00 .00 BULK ATOM 10389 H1 TIP3 3164 .318 6.264 9.551 .00 .00 BULK ATOM 10390 H2 TIP3 3164 -1.167 5.944 9.529 .00 .00 BULK ATOM 10391 OH2 TIP3 3165 -6.172 -11.548 3.329 .00 .00 BULK ATOM 10392 H1 TIP3 3165 -6.607 -11.853 2.517 .00 .00 BULK ATOM 10393 H2 TIP3 3165 -6.793 -11.871 4.039 .00 .00 BULK ATOM 10394 OH2 TIP3 3166 -24.399 -6.656 15.459 .00 .00 BULK ATOM 10395 H1 TIP3 3166 -24.299 -6.712 14.502 .00 .00 BULK ATOM 10396 H2 TIP3 3166 -24.409 -7.554 15.794 .00 .00 BULK ATOM 10397 OH2 TIP3 3167 8.537 17.487 -1.117 .00 .00 BULK ATOM 10398 H1 TIP3 3167 8.795 17.247 -1.966 .00 .00 BULK ATOM 10399 H2 TIP3 3167 7.727 17.996 -1.131 .00 .00 BULK ATOM 10400 OH2 TIP3 3168 -15.517 8.332 22.278 .00 .00 BULK ATOM 10401 H1 TIP3 3168 -15.427 8.930 23.086 .00 .00 BULK ATOM 10402 H2 TIP3 3168 -15.875 7.455 22.667 .00 .00 BULK ATOM 10403 OH2 TIP3 3169 -20.291 17.610 4.723 .00 .00 BULK ATOM 10404 H1 TIP3 3169 -20.491 18.542 4.929 .00 .00 BULK ATOM 10405 H2 TIP3 3169 -21.092 17.342 4.295 .00 .00 BULK ATOM 10406 OH2 TIP3 3170 -17.009 17.772 -6.993 .00 .00 BULK ATOM 10407 H1 TIP3 3170 -17.088 18.787 -6.870 .00 .00 BULK ATOM 10408 H2 TIP3 3170 -16.974 17.512 -6.035 .00 .00 BULK ATOM 10409 OH2 TIP3 3171 -16.245 9.248 -11.678 .00 .00 BULK ATOM 10410 H1 TIP3 3171 -15.585 9.595 -12.192 .00 .00 BULK ATOM 10411 H2 TIP3 3171 -16.833 10.068 -11.501 .00 .00 BULK ATOM 10412 OH2 TIP3 3172 12.113 -10.783 -23.242 .00 .00 BULK ATOM 10413 H1 TIP3 3172 12.600 -10.533 -24.059 .00 .00 BULK ATOM 10414 H2 TIP3 3172 12.653 -10.350 -22.620 .00 .00 BULK ATOM 10415 OH2 TIP3 3173 -21.397 -16.039 8.959 .00 .00 BULK ATOM 10416 H1 TIP3 3173 -20.743 -15.983 9.687 .00 .00 BULK ATOM 10417 H2 TIP3 3173 -20.939 -16.500 8.250 .00 .00 BULK ATOM 10418 OH2 TIP3 3174 -22.699 -12.903 -3.843 .00 .00 BULK ATOM 10419 H1 TIP3 3174 -22.481 -13.395 -4.649 .00 .00 BULK ATOM 10420 H2 TIP3 3174 -23.310 -13.477 -3.461 .00 .00 BULK ATOM 10421 OH2 TIP3 3175 7.185 -18.969 5.286 .00 .00 BULK ATOM 10422 H1 TIP3 3175 6.971 -18.342 4.515 .00 .00 BULK ATOM 10423 H2 TIP3 3175 6.316 -19.458 5.303 .00 .00 BULK ATOM 10424 OH2 TIP3 3176 -.474 -16.175 -19.322 .00 .00 BULK ATOM 10425 H1 TIP3 3176 -.048 -15.907 -18.461 .00 .00 BULK ATOM 10426 H2 TIP3 3176 -1.241 -15.527 -19.465 .00 .00 BULK ATOM 10427 OH2 TIP3 3177 -24.431 -1.188 -16.456 .00 .00 BULK ATOM 10428 H1 TIP3 3177 -24.751 -.260 -16.903 .00 .00 BULK ATOM 10429 H2 TIP3 3177 -25.327 -1.584 -16.517 .00 .00 BULK ATOM 10430 OH2 TIP3 3178 -7.647 5.074 21.186 .00 .00 BULK ATOM 10431 H1 TIP3 3178 -7.496 4.148 20.887 .00 .00 BULK ATOM 10432 H2 TIP3 3178 -6.773 5.477 21.047 .00 .00 BULK ATOM 10433 OH2 TIP3 3179 -22.403 -12.863 -11.897 .00 .00 BULK ATOM 10434 H1 TIP3 3179 -23.405 -12.534 -12.069 .00 .00 BULK ATOM 10435 H2 TIP3 3179 -21.904 -12.737 -12.739 .00 .00 BULK ATOM 10436 OH2 TIP3 3180 6.409 3.300 -15.739 .00 .00 BULK ATOM 10437 H1 TIP3 3180 7.157 2.888 -16.149 .00 .00 BULK ATOM 10438 H2 TIP3 3180 6.453 2.803 -14.878 .00 .00 BULK ATOM 10439 OH2 TIP3 3181 7.799 16.366 -21.162 .00 .00 BULK ATOM 10440 H1 TIP3 3181 7.346 17.244 -21.320 .00 .00 BULK ATOM 10441 H2 TIP3 3181 8.564 16.779 -20.744 .00 .00 BULK ATOM 10442 OH2 TIP3 3182 -28.253 -.475 1.143 .00 .00 BULK ATOM 10443 H1 TIP3 3182 -27.526 -.143 1.773 .00 .00 BULK ATOM 10444 H2 TIP3 3182 -29.055 .063 1.295 .00 .00 BULK ATOM 10445 OH2 TIP3 3183 -1.869 -21.223 -2.382 .00 .00 BULK ATOM 10446 H1 TIP3 3183 -2.363 -20.455 -2.155 .00 .00 BULK ATOM 10447 H2 TIP3 3183 -2.341 -21.850 -1.823 .00 .00 BULK ATOM 10448 OH2 TIP3 3184 -13.824 -4.510 13.955 .00 .00 BULK ATOM 10449 H1 TIP3 3184 -13.103 -3.989 13.563 .00 .00 BULK ATOM 10450 H2 TIP3 3184 -13.600 -4.361 14.887 .00 .00 BULK ATOM 10451 OH2 TIP3 3185 -3.785 -15.445 -22.626 .00 .00 BULK ATOM 10452 H1 TIP3 3185 -4.312 -14.768 -22.316 .00 .00 BULK ATOM 10453 H2 TIP3 3185 -4.302 -16.237 -22.330 .00 .00 BULK ATOM 10454 OH2 TIP3 3186 6.084 -12.822 13.025 .00 .00 BULK ATOM 10455 H1 TIP3 3186 5.844 -11.974 12.590 .00 .00 BULK ATOM 10456 H2 TIP3 3186 5.529 -12.748 13.851 .00 .00 BULK ATOM 10457 OH2 TIP3 3187 -21.512 4.404 -10.449 .00 .00 BULK ATOM 10458 H1 TIP3 3187 -20.731 4.889 -10.020 .00 .00 BULK ATOM 10459 H2 TIP3 3187 -21.425 3.638 -9.887 .00 .00 BULK ATOM 10460 OH2 TIP3 3188 -2.418 -10.293 16.199 .00 .00 BULK ATOM 10461 H1 TIP3 3188 -3.065 -9.824 15.684 .00 .00 BULK ATOM 10462 H2 TIP3 3188 -2.295 -11.110 15.691 .00 .00 BULK ATOM 10463 OH2 TIP3 3189 4.024 -20.650 22.955 .00 .00 BULK ATOM 10464 H1 TIP3 3189 3.456 -19.968 22.551 .00 .00 BULK ATOM 10465 H2 TIP3 3189 3.706 -21.484 22.526 .00 .00 BULK ATOM 10466 OH2 TIP3 3190 -12.355 14.413 15.662 .00 .00 BULK ATOM 10467 H1 TIP3 3190 -12.992 13.670 15.558 .00 .00 BULK ATOM 10468 H2 TIP3 3190 -11.924 14.152 16.456 .00 .00 BULK ATOM 10469 OH2 TIP3 3191 -23.131 -8.299 20.544 .00 .00 BULK ATOM 10470 H1 TIP3 3191 -22.430 -9.006 20.561 .00 .00 BULK ATOM 10471 H2 TIP3 3191 -23.575 -8.546 21.389 .00 .00 BULK ATOM 10472 OH2 TIP3 3192 28.259 -1.751 14.288 .00 .00 BULK ATOM 10473 H1 TIP3 3192 29.206 -1.401 14.145 .00 .00 BULK ATOM 10474 H2 TIP3 3192 27.979 -1.869 13.294 .00 .00 BULK ATOM 10475 OH2 TIP3 3193 -24.209 -9.557 -20.825 .00 .00 BULK ATOM 10476 H1 TIP3 3193 -24.084 -8.711 -20.446 .00 .00 BULK ATOM 10477 H2 TIP3 3193 -23.467 -10.002 -20.387 .00 .00 BULK ATOM 10478 OH2 TIP3 3194 -6.558 21.323 -9.003 .00 .00 BULK ATOM 10479 H1 TIP3 3194 -6.996 21.187 -8.127 .00 .00 BULK ATOM 10480 H2 TIP3 3194 -7.239 21.762 -9.542 .00 .00 BULK ATOM 10481 OH2 TIP3 3195 -5.805 -3.581 -18.187 .00 .00 BULK ATOM 10482 H1 TIP3 3195 -5.590 -2.687 -17.859 .00 .00 BULK ATOM 10483 H2 TIP3 3195 -6.777 -3.553 -17.883 .00 .00 BULK ATOM 10484 OH2 TIP3 3196 2.036 -15.600 10.129 .00 .00 BULK ATOM 10485 H1 TIP3 3196 2.473 -16.085 10.869 .00 .00 BULK ATOM 10486 H2 TIP3 3196 2.325 -16.172 9.361 .00 .00 BULK ATOM 10487 OH2 TIP3 3197 7.619 -1.682 14.754 .00 .00 BULK ATOM 10488 H1 TIP3 3197 6.951 -2.151 15.281 .00 .00 BULK ATOM 10489 H2 TIP3 3197 7.387 -.727 14.808 .00 .00 BULK ATOM 10490 OH2 TIP3 3198 -3.143 14.811 14.519 .00 .00 BULK ATOM 10491 H1 TIP3 3198 -3.030 14.547 13.543 .00 .00 BULK ATOM 10492 H2 TIP3 3198 -3.579 14.007 14.857 .00 .00 BULK ATOM 10493 OH2 TIP3 3199 -7.688 -14.797 -9.215 .00 .00 BULK ATOM 10494 H1 TIP3 3199 -7.781 -13.872 -8.827 .00 .00 BULK ATOM 10495 H2 TIP3 3199 -7.931 -14.478 -10.048 .00 .00 BULK ATOM 10496 OH2 TIP3 3200 14.772 -3.822 -18.685 .00 .00 BULK ATOM 10497 H1 TIP3 3200 14.401 -4.002 -17.794 .00 .00 BULK ATOM 10498 H2 TIP3 3200 14.756 -4.594 -19.227 .00 .00 BULK ATOM 10499 OH2 TIP3 3201 -17.316 20.654 -23.364 .00 .00 BULK ATOM 10500 H1 TIP3 3201 -16.450 20.902 -22.932 .00 .00 BULK ATOM 10501 H2 TIP3 3201 -17.933 21.087 -22.727 .00 .00 BULK ATOM 10502 OH2 TIP3 3202 -12.705 -23.201 -19.688 .00 .00 BULK ATOM 10503 H1 TIP3 3202 -13.234 -22.597 -19.079 .00 .00 BULK ATOM 10504 H2 TIP3 3202 -13.189 -23.089 -20.536 .00 .00 BULK ATOM 10505 OH2 TIP3 3203 -9.103 -22.642 -13.740 .00 .00 BULK ATOM 10506 H1 TIP3 3203 -8.942 -21.951 -13.078 .00 .00 BULK ATOM 10507 H2 TIP3 3203 -8.143 -22.797 -14.052 .00 .00 BULK ATOM 10508 OH2 TIP3 3204 2.353 -23.603 -20.701 .00 .00 BULK ATOM 10509 H1 TIP3 3204 2.496 -22.690 -20.912 .00 .00 BULK ATOM 10510 H2 TIP3 3204 2.301 -23.981 -21.600 .00 .00 BULK ATOM 10511 OH2 TIP3 3205 -12.679 7.109 11.041 .00 .00 BULK ATOM 10512 H1 TIP3 3205 -12.842 7.806 10.349 .00 .00 BULK ATOM 10513 H2 TIP3 3205 -12.213 7.628 11.684 .00 .00 BULK ATOM 10514 OH2 TIP3 3206 -4.779 22.780 4.106 .00 .00 BULK ATOM 10515 H1 TIP3 3206 -4.043 22.421 3.555 .00 .00 BULK ATOM 10516 H2 TIP3 3206 -5.174 21.979 4.420 .00 .00 BULK ATOM 10517 OH2 TIP3 3207 -11.635 3.599 -20.025 .00 .00 BULK ATOM 10518 H1 TIP3 3207 -11.936 2.653 -20.110 .00 .00 BULK ATOM 10519 H2 TIP3 3207 -11.860 3.990 -20.867 .00 .00 BULK ATOM 10520 OH2 TIP3 3208 -13.106 22.312 -7.829 .00 .00 BULK ATOM 10521 H1 TIP3 3208 -13.663 22.859 -7.326 .00 .00 BULK ATOM 10522 H2 TIP3 3208 -13.770 21.885 -8.403 .00 .00 BULK ATOM 10523 OH2 TIP3 3209 19.081 -5.014 -.369 .00 .00 BULK ATOM 10524 H1 TIP3 3209 18.726 -4.342 -.982 .00 .00 BULK ATOM 10525 H2 TIP3 3209 18.671 -4.882 .465 .00 .00 BULK ATOM 10526 OH2 TIP3 3210 .128 -10.205 20.661 .00 .00 BULK ATOM 10527 H1 TIP3 3210 -.508 -10.258 19.915 .00 .00 BULK ATOM 10528 H2 TIP3 3210 -.105 -11.030 21.161 .00 .00 BULK ATOM 10529 OH2 TIP3 3211 -2.061 13.437 2.545 .00 .00 BULK ATOM 10530 H1 TIP3 3211 -2.539 14.218 2.299 .00 .00 BULK ATOM 10531 H2 TIP3 3211 -1.180 13.861 2.410 .00 .00 BULK ATOM 10532 OH2 TIP3 3212 -24.317 -16.710 22.268 .00 .00 BULK ATOM 10533 H1 TIP3 3212 -25.199 -17.004 22.542 .00 .00 BULK ATOM 10534 H2 TIP3 3212 -24.191 -15.844 22.737 .00 .00 BULK ATOM 10535 OH2 TIP3 3213 -.413 9.319 -17.935 .00 .00 BULK ATOM 10536 H1 TIP3 3213 .515 9.061 -17.980 .00 .00 BULK ATOM 10537 H2 TIP3 3213 -.910 8.861 -18.667 .00 .00 BULK ATOM 10538 OH2 TIP3 3214 7.546 -21.808 -13.542 .00 .00 BULK ATOM 10539 H1 TIP3 3214 8.295 -21.325 -13.956 .00 .00 BULK ATOM 10540 H2 TIP3 3214 7.129 -21.034 -13.076 .00 .00 BULK ATOM 10541 OH2 TIP3 3215 -23.739 12.140 7.937 .00 .00 BULK ATOM 10542 H1 TIP3 3215 -24.094 11.457 8.549 .00 .00 BULK ATOM 10543 H2 TIP3 3215 -24.327 11.886 7.210 .00 .00 BULK ATOM 10544 OH2 TIP3 3216 -18.881 -8.791 -8.553 .00 .00 BULK ATOM 10545 H1 TIP3 3216 -18.096 -9.359 -8.554 .00 .00 BULK ATOM 10546 H2 TIP3 3216 -18.954 -8.338 -7.663 .00 .00 BULK ATOM 10547 OH2 TIP3 3217 -13.691 -7.181 10.230 .00 .00 BULK ATOM 10548 H1 TIP3 3217 -14.074 -6.946 11.077 .00 .00 BULK ATOM 10549 H2 TIP3 3217 -12.918 -6.589 10.193 .00 .00 BULK ATOM 10550 OH2 TIP3 3218 -17.143 -18.784 -19.266 .00 .00 BULK ATOM 10551 H1 TIP3 3218 -17.169 -19.147 -18.335 .00 .00 BULK ATOM 10552 H2 TIP3 3218 -17.397 -17.872 -19.153 .00 .00 BULK ATOM 10553 OH2 TIP3 3219 9.606 4.808 19.991 .00 .00 BULK ATOM 10554 H1 TIP3 3219 9.662 4.538 20.953 .00 .00 BULK ATOM 10555 H2 TIP3 3219 8.780 4.465 19.700 .00 .00 BULK ATOM 10556 OH2 TIP3 3220 -14.452 19.286 16.058 .00 .00 BULK ATOM 10557 H1 TIP3 3220 -14.818 18.657 15.398 .00 .00 BULK ATOM 10558 H2 TIP3 3220 -14.134 18.587 16.735 .00 .00 BULK ATOM 10559 OH2 TIP3 3221 17.230 12.501 20.221 .00 .00 BULK ATOM 10560 H1 TIP3 3221 16.782 13.345 20.087 .00 .00 BULK ATOM 10561 H2 TIP3 3221 16.853 12.247 19.380 .00 .00 BULK ATOM 10562 OH2 TIP3 3222 7.874 21.757 17.970 .00 .00 BULK ATOM 10563 H1 TIP3 3222 8.311 20.953 18.312 .00 .00 BULK ATOM 10564 H2 TIP3 3222 8.177 21.834 17.047 .00 .00 BULK ATOM 10565 OH2 TIP3 3223 -7.482 -14.633 17.261 .00 .00 BULK ATOM 10566 H1 TIP3 3223 -6.572 -14.360 17.439 .00 .00 BULK ATOM 10567 H2 TIP3 3223 -7.824 -13.864 16.798 .00 .00 BULK ATOM 10568 OH2 TIP3 3224 1.055 18.138 15.149 .00 .00 BULK ATOM 10569 H1 TIP3 3224 .959 19.019 14.782 .00 .00 BULK ATOM 10570 H2 TIP3 3224 .178 17.791 14.871 .00 .00 BULK ATOM 10571 OH2 TIP3 3225 28.731 -20.795 -10.308 .00 .00 BULK ATOM 10572 H1 TIP3 3225 28.771 -21.738 -10.311 .00 .00 BULK ATOM 10573 H2 TIP3 3225 29.616 -20.528 -9.974 .00 .00 BULK ATOM 10574 OH2 TIP3 3226 -8.294 14.286 4.826 .00 .00 BULK ATOM 10575 H1 TIP3 3226 -9.206 14.458 5.228 .00 .00 BULK ATOM 10576 H2 TIP3 3226 -8.475 13.447 4.352 .00 .00 BULK ATOM 10577 OH2 TIP3 3227 2.279 -22.228 -4.541 .00 .00 BULK ATOM 10578 H1 TIP3 3227 1.855 -21.490 -5.055 .00 .00 BULK ATOM 10579 H2 TIP3 3227 1.541 -22.621 -3.971 .00 .00 BULK ATOM 10580 OH2 TIP3 3228 12.903 -14.017 -22.963 .00 .00 BULK ATOM 10581 H1 TIP3 3228 12.834 -13.067 -22.815 .00 .00 BULK ATOM 10582 H2 TIP3 3228 12.442 -14.381 -22.165 .00 .00 BULK ATOM 10583 OH2 TIP3 3229 -17.949 -3.486 -9.921 .00 .00 BULK ATOM 10584 H1 TIP3 3229 -18.337 -3.578 -10.759 .00 .00 BULK ATOM 10585 H2 TIP3 3229 -18.071 -4.340 -9.443 .00 .00 BULK ATOM 10586 OH2 TIP3 3230 10.600 -16.344 -1.053 .00 .00 BULK ATOM 10587 H1 TIP3 3230 10.763 -15.912 -.207 .00 .00 BULK ATOM 10588 H2 TIP3 3230 11.191 -15.800 -1.662 .00 .00 BULK ATOM 10589 OH2 TIP3 3231 -15.749 -15.902 1.353 .00 .00 BULK ATOM 10590 H1 TIP3 3231 -16.330 -15.157 1.646 .00 .00 BULK ATOM 10591 H2 TIP3 3231 -16.095 -16.044 .497 .00 .00 BULK ATOM 10592 OH2 TIP3 3232 24.223 -21.215 22.626 .00 .00 BULK ATOM 10593 H1 TIP3 3232 24.509 -20.447 23.201 .00 .00 BULK ATOM 10594 H2 TIP3 3232 24.668 -21.937 23.087 .00 .00 BULK ATOM 10595 OH2 TIP3 3233 -18.335 3.832 -5.565 .00 .00 BULK ATOM 10596 H1 TIP3 3233 -18.079 3.017 -5.988 .00 .00 BULK ATOM 10597 H2 TIP3 3233 -19.267 3.731 -5.364 .00 .00 BULK ATOM 10598 OH2 TIP3 3234 -6.505 13.747 -19.268 .00 .00 BULK ATOM 10599 H1 TIP3 3234 -6.022 13.153 -18.700 .00 .00 BULK ATOM 10600 H2 TIP3 3234 -6.876 14.368 -18.579 .00 .00 BULK ATOM 10601 OH2 TIP3 3235 13.787 -16.837 -9.405 .00 .00 BULK ATOM 10602 H1 TIP3 3235 13.506 -17.840 -9.402 .00 .00 BULK ATOM 10603 H2 TIP3 3235 13.410 -16.491 -10.242 .00 .00 BULK ATOM 10604 OH2 TIP3 3236 25.272 -.496 13.958 .00 .00 BULK ATOM 10605 H1 TIP3 3236 25.325 -1.427 14.190 .00 .00 BULK ATOM 10606 H2 TIP3 3236 25.304 -.602 12.988 .00 .00 BULK ATOM 10607 OH2 TIP3 3237 -21.741 19.366 -3.696 .00 .00 BULK ATOM 10608 H1 TIP3 3237 -20.957 18.816 -4.012 .00 .00 BULK ATOM 10609 H2 TIP3 3237 -21.846 19.900 -4.559 .00 .00 BULK ATOM 10610 OH2 TIP3 3238 -8.833 -12.495 16.365 .00 .00 BULK ATOM 10611 H1 TIP3 3238 -9.694 -12.369 15.879 .00 .00 BULK ATOM 10612 H2 TIP3 3238 -8.418 -11.749 16.028 .00 .00 BULK ATOM 10613 OH2 TIP3 3239 -7.561 -17.631 -20.434 .00 .00 BULK ATOM 10614 H1 TIP3 3239 -8.142 -16.960 -20.869 .00 .00 BULK ATOM 10615 H2 TIP3 3239 -8.100 -18.413 -20.276 .00 .00 BULK ATOM 10616 OH2 TIP3 3240 14.737 -22.747 -19.844 .00 .00 BULK ATOM 10617 H1 TIP3 3240 14.701 -22.565 -18.876 .00 .00 BULK ATOM 10618 H2 TIP3 3240 15.059 -23.626 -19.824 .00 .00 BULK ATOM 10619 OH2 TIP3 3241 -2.461 22.193 10.673 .00 .00 BULK ATOM 10620 H1 TIP3 3241 -2.602 23.040 10.149 .00 .00 BULK ATOM 10621 H2 TIP3 3241 -3.217 22.339 11.286 .00 .00 BULK ATOM 10622 OH2 TIP3 3242 20.996 -11.961 .859 .00 .00 BULK ATOM 10623 H1 TIP3 3242 21.337 -12.454 .098 .00 .00 BULK ATOM 10624 H2 TIP3 3242 21.142 -11.027 .535 .00 .00 BULK ATOM 10625 OH2 TIP3 3243 16.934 -20.422 20.591 .00 .00 BULK ATOM 10626 H1 TIP3 3243 16.667 -19.903 21.375 .00 .00 BULK ATOM 10627 H2 TIP3 3243 17.916 -20.454 20.753 .00 .00 BULK ATOM 10628 OH2 TIP3 3244 -4.031 14.571 9.686 .00 .00 BULK ATOM 10629 H1 TIP3 3244 -4.359 13.765 9.191 .00 .00 BULK ATOM 10630 H2 TIP3 3244 -4.242 15.263 9.021 .00 .00 BULK ATOM 10631 OH2 TIP3 3245 -8.953 -17.038 14.319 .00 .00 BULK ATOM 10632 H1 TIP3 3245 -8.004 -16.680 14.395 .00 .00 BULK ATOM 10633 H2 TIP3 3245 -8.855 -17.951 14.651 .00 .00 BULK ATOM 10634 OH2 TIP3 3246 -10.776 -13.109 .957 .00 .00 BULK ATOM 10635 H1 TIP3 3246 -10.310 -13.945 .814 .00 .00 BULK ATOM 10636 H2 TIP3 3246 -11.666 -13.441 .970 .00 .00 BULK ATOM 10637 OH2 TIP3 3247 1.037 1.853 17.636 .00 .00 BULK ATOM 10638 H1 TIP3 3247 1.619 2.602 17.714 .00 .00 BULK ATOM 10639 H2 TIP3 3247 1.668 1.110 17.595 .00 .00 BULK ATOM 10640 OH2 TIP3 3248 8.564 -22.863 23.105 .00 .00 BULK ATOM 10641 H1 TIP3 3248 8.505 -23.744 23.580 .00 .00 BULK ATOM 10642 H2 TIP3 3248 7.623 -22.769 22.834 .00 .00 BULK ATOM 10643 OH2 TIP3 3249 -6.027 -5.619 -20.711 .00 .00 BULK ATOM 10644 H1 TIP3 3249 -5.780 -6.143 -19.890 .00 .00 BULK ATOM 10645 H2 TIP3 3249 -6.936 -5.312 -20.512 .00 .00 BULK ATOM 10646 OH2 TIP3 3250 -.622 -20.622 -22.430 .00 .00 BULK ATOM 10647 H1 TIP3 3250 .040 -20.633 -21.765 .00 .00 BULK ATOM 10648 H2 TIP3 3250 -1.188 -19.813 -22.222 .00 .00 BULK ATOM 10649 OH2 TIP3 3251 -8.881 -19.454 15.240 .00 .00 BULK ATOM 10650 H1 TIP3 3251 -9.035 -20.006 16.052 .00 .00 BULK ATOM 10651 H2 TIP3 3251 -9.311 -20.050 14.616 .00 .00 BULK ATOM 10652 OH2 TIP3 3252 -12.059 -18.796 9.682 .00 .00 BULK ATOM 10653 H1 TIP3 3252 -11.472 -18.161 9.234 .00 .00 BULK ATOM 10654 H2 TIP3 3252 -12.432 -19.334 8.978 .00 .00 BULK ATOM 10655 OH2 TIP3 3253 -19.620 8.674 17.603 .00 .00 BULK ATOM 10656 H1 TIP3 3253 -18.914 8.401 16.996 .00 .00 BULK ATOM 10657 H2 TIP3 3253 -20.286 8.845 16.918 .00 .00 BULK ATOM 10658 OH2 TIP3 3254 3.808 -22.719 3.454 .00 .00 BULK ATOM 10659 H1 TIP3 3254 3.222 -23.444 3.628 .00 .00 BULK ATOM 10660 H2 TIP3 3254 4.188 -22.856 2.565 .00 .00 BULK ATOM 10661 OH2 TIP3 3255 15.850 -15.300 16.249 .00 .00 BULK ATOM 10662 H1 TIP3 3255 15.556 -15.241 17.216 .00 .00 BULK ATOM 10663 H2 TIP3 3255 15.762 -16.287 16.092 .00 .00 BULK ATOM 10664 OH2 TIP3 3256 5.183 -17.433 9.546 .00 .00 BULK ATOM 10665 H1 TIP3 3256 4.271 -17.219 9.170 .00 .00 BULK ATOM 10666 H2 TIP3 3256 5.679 -16.574 9.406 .00 .00 BULK ATOM 10667 OH2 TIP3 3257 -20.046 -.737 -17.138 .00 .00 BULK ATOM 10668 H1 TIP3 3257 -20.211 .202 -17.253 .00 .00 BULK ATOM 10669 H2 TIP3 3257 -20.870 -1.125 -17.535 .00 .00 BULK ATOM 10670 OH2 TIP3 3258 -6.917 23.273 -22.593 .00 .00 BULK ATOM 10671 H1 TIP3 3258 -6.018 23.678 -22.797 .00 .00 BULK ATOM 10672 H2 TIP3 3258 -6.989 22.829 -23.460 .00 .00 BULK ATOM 10673 OH2 TIP3 3259 3.564 -19.702 -19.469 .00 .00 BULK ATOM 10674 H1 TIP3 3259 3.699 -19.044 -18.766 .00 .00 BULK ATOM 10675 H2 TIP3 3259 4.137 -20.406 -19.118 .00 .00 BULK ATOM 10676 OH2 TIP3 3260 7.355 20.703 -13.220 .00 .00 BULK ATOM 10677 H1 TIP3 3260 6.544 20.244 -13.260 .00 .00 BULK ATOM 10678 H2 TIP3 3260 7.013 21.483 -13.740 .00 .00 BULK ATOM 10679 OH2 TIP3 3261 8.811 -13.689 -4.208 .00 .00 BULK ATOM 10680 H1 TIP3 3261 8.472 -14.589 -4.334 .00 .00 BULK ATOM 10681 H2 TIP3 3261 7.978 -13.303 -3.908 .00 .00 BULK ATOM 10682 OH2 TIP3 3262 -1.563 3.194 -17.744 .00 .00 BULK ATOM 10683 H1 TIP3 3262 -1.494 2.878 -16.764 .00 .00 BULK ATOM 10684 H2 TIP3 3262 -1.197 4.086 -17.614 .00 .00 BULK ATOM 10685 OH2 TIP3 3263 2.323 -17.741 -1.690 .00 .00 BULK ATOM 10686 H1 TIP3 3263 2.743 -17.125 -1.071 .00 .00 BULK ATOM 10687 H2 TIP3 3263 1.442 -17.956 -1.288 .00 .00 BULK ATOM 10688 OH2 TIP3 3264 23.915 2.176 -15.162 .00 .00 BULK ATOM 10689 H1 TIP3 3264 23.909 1.303 -15.595 .00 .00 BULK ATOM 10690 H2 TIP3 3264 24.290 1.859 -14.305 .00 .00 BULK ATOM 10691 OH2 TIP3 3265 5.114 22.896 19.735 .00 .00 BULK ATOM 10692 H1 TIP3 3265 5.145 21.914 19.616 .00 .00 BULK ATOM 10693 H2 TIP3 3265 4.235 23.043 19.252 .00 .00 BULK ATOM 10694 OH2 TIP3 3266 -1.938 20.550 -19.486 .00 .00 BULK ATOM 10695 H1 TIP3 3266 -2.479 19.743 -19.674 .00 .00 BULK ATOM 10696 H2 TIP3 3266 -1.523 20.626 -20.391 .00 .00 BULK ATOM 10697 OH2 TIP3 3267 23.014 -14.759 -11.619 .00 .00 BULK ATOM 10698 H1 TIP3 3267 22.028 -14.682 -11.488 .00 .00 BULK ATOM 10699 H2 TIP3 3267 23.145 -15.678 -11.822 .00 .00 BULK ATOM 10700 OH2 TIP3 3268 19.598 8.215 12.683 .00 .00 BULK ATOM 10701 H1 TIP3 3268 19.286 8.785 13.380 .00 .00 BULK ATOM 10702 H2 TIP3 3268 18.779 8.149 12.175 .00 .00 BULK ATOM 10703 OH2 TIP3 3269 23.591 -13.304 8.671 .00 .00 BULK ATOM 10704 H1 TIP3 3269 22.969 -12.912 7.999 .00 .00 BULK ATOM 10705 H2 TIP3 3269 22.977 -13.408 9.418 .00 .00 BULK ATOM 10706 OH2 TIP3 3270 -9.545 -7.353 21.366 .00 .00 BULK ATOM 10707 H1 TIP3 3270 -9.354 -8.134 20.797 .00 .00 BULK ATOM 10708 H2 TIP3 3270 -9.822 -7.854 22.182 .00 .00 BULK ATOM 10709 OH2 TIP3 3271 -18.358 -15.020 -4.971 .00 .00 BULK ATOM 10710 H1 TIP3 3271 -17.685 -14.308 -5.195 .00 .00 BULK ATOM 10711 H2 TIP3 3271 -18.935 -14.866 -5.801 .00 .00 BULK ATOM 10712 OH2 TIP3 3272 4.536 -19.689 -2.753 .00 .00 BULK ATOM 10713 H1 TIP3 3272 3.628 -19.350 -2.975 .00 .00 BULK ATOM 10714 H2 TIP3 3272 4.821 -18.843 -2.354 .00 .00 BULK ATOM 10715 OH2 TIP3 3273 10.410 21.647 -8.286 .00 .00 BULK ATOM 10716 H1 TIP3 3273 10.530 21.546 -9.282 .00 .00 BULK ATOM 10717 H2 TIP3 3273 10.845 20.800 -8.006 .00 .00 BULK ATOM 10718 OH2 TIP3 3274 28.655 22.555 -8.090 .00 .00 BULK ATOM 10719 H1 TIP3 3274 28.977 22.953 -7.256 .00 .00 BULK ATOM 10720 H2 TIP3 3274 29.190 23.081 -8.669 .00 .00 BULK ATOM 10721 OH2 TIP3 3275 -24.534 -20.706 -12.058 .00 .00 BULK ATOM 10722 H1 TIP3 3275 -25.196 -20.107 -12.412 .00 .00 BULK ATOM 10723 H2 TIP3 3275 -24.321 -20.200 -11.219 .00 .00 BULK ATOM 10724 OH2 TIP3 3276 -22.012 -14.445 14.609 .00 .00 BULK ATOM 10725 H1 TIP3 3276 -22.033 -13.728 15.254 .00 .00 BULK ATOM 10726 H2 TIP3 3276 -21.716 -13.922 13.847 .00 .00 BULK ATOM 10727 OH2 TIP3 3277 27.425 -18.628 -22.380 .00 .00 BULK ATOM 10728 H1 TIP3 3277 28.189 -18.933 -21.863 .00 .00 BULK ATOM 10729 H2 TIP3 3277 27.700 -17.755 -22.560 .00 .00 BULK ATOM 10730 OH2 TIP3 3278 -2.030 -9.130 -10.477 .00 .00 BULK ATOM 10731 H1 TIP3 3278 -2.675 -8.992 -9.699 .00 .00 BULK ATOM 10732 H2 TIP3 3278 -1.239 -9.464 -10.046 .00 .00 BULK ATOM 10733 OH2 TIP3 3279 3.078 -17.058 7.810 .00 .00 BULK ATOM 10734 H1 TIP3 3279 3.073 -16.074 7.641 .00 .00 BULK ATOM 10735 H2 TIP3 3279 3.265 -17.409 6.909 .00 .00 BULK ATOM 10736 OH2 TIP3 3280 -12.232 -12.635 -11.172 .00 .00 BULK ATOM 10737 H1 TIP3 3280 -12.638 -12.685 -12.079 .00 .00 BULK ATOM 10738 H2 TIP3 3280 -13.009 -12.948 -10.692 .00 .00 BULK ATOM 10739 OH2 TIP3 3281 -21.326 2.197 -8.732 .00 .00 BULK ATOM 10740 H1 TIP3 3281 -20.925 1.377 -8.933 .00 .00 BULK ATOM 10741 H2 TIP3 3281 -21.533 1.995 -7.784 .00 .00 BULK ATOM 10742 OH2 TIP3 3282 6.857 19.166 -22.003 .00 .00 BULK ATOM 10743 H1 TIP3 3282 6.017 19.449 -22.470 .00 .00 BULK ATOM 10744 H2 TIP3 3282 7.217 20.066 -21.901 .00 .00 BULK ATOM 10745 OH2 TIP3 3283 -8.923 -16.707 11.649 .00 .00 BULK ATOM 10746 H1 TIP3 3283 -8.786 -16.766 12.646 .00 .00 BULK ATOM 10747 H2 TIP3 3283 -9.379 -15.772 11.661 .00 .00 BULK ATOM 10748 OH2 TIP3 3284 26.581 -6.880 -8.801 .00 .00 BULK ATOM 10749 H1 TIP3 3284 27.251 -7.069 -8.096 .00 .00 BULK ATOM 10750 H2 TIP3 3284 25.930 -7.547 -8.515 .00 .00 BULK ATOM 10751 OH2 TIP3 3285 -16.174 16.226 -9.171 .00 .00 BULK ATOM 10752 H1 TIP3 3285 -16.473 16.918 -8.476 .00 .00 BULK ATOM 10753 H2 TIP3 3285 -15.719 15.641 -8.541 .00 .00 BULK ATOM 10754 OH2 TIP3 3286 16.012 -5.215 22.763 .00 .00 BULK ATOM 10755 H1 TIP3 3286 16.714 -4.964 22.166 .00 .00 BULK ATOM 10756 H2 TIP3 3286 16.475 -5.795 23.495 .00 .00 BULK ATOM 10757 OH2 TIP3 3287 2.855 -5.676 18.434 .00 .00 BULK ATOM 10758 H1 TIP3 3287 2.732 -5.873 19.403 .00 .00 BULK ATOM 10759 H2 TIP3 3287 2.007 -5.951 18.064 .00 .00 BULK ATOM 10760 OH2 TIP3 3288 -24.042 20.333 7.616 .00 .00 BULK ATOM 10761 H1 TIP3 3288 -23.678 21.220 7.219 .00 .00 BULK ATOM 10762 H2 TIP3 3288 -23.287 19.807 7.825 .00 .00 BULK ATOM 10763 OH2 TIP3 3289 -29.035 18.717 9.762 .00 .00 BULK ATOM 10764 H1 TIP3 3289 -28.197 18.670 9.295 .00 .00 BULK ATOM 10765 H2 TIP3 3289 -28.653 18.723 10.624 .00 .00 BULK ATOM 10766 OH2 TIP3 3290 18.014 -2.324 -16.932 .00 .00 BULK ATOM 10767 H1 TIP3 3290 17.870 -2.212 -17.894 .00 .00 BULK ATOM 10768 H2 TIP3 3290 17.098 -2.373 -16.558 .00 .00 BULK ATOM 10769 OH2 TIP3 3291 19.972 -1.082 -19.435 .00 .00 BULK ATOM 10770 H1 TIP3 3291 20.476 -.299 -19.225 .00 .00 BULK ATOM 10771 H2 TIP3 3291 19.028 -.848 -19.459 .00 .00 BULK ATOM 10772 OH2 TIP3 3292 21.883 -9.539 16.139 .00 .00 BULK ATOM 10773 H1 TIP3 3292 21.376 -9.556 16.939 .00 .00 BULK ATOM 10774 H2 TIP3 3292 22.809 -9.669 16.465 .00 .00 BULK ATOM 10775 OH2 TIP3 3293 5.956 13.104 -10.184 .00 .00 BULK ATOM 10776 H1 TIP3 3293 5.412 12.297 -10.303 .00 .00 BULK ATOM 10777 H2 TIP3 3293 6.086 13.052 -9.227 .00 .00 BULK ATOM 10778 OH2 TIP3 3294 8.313 -12.573 -20.712 .00 .00 BULK ATOM 10779 H1 TIP3 3294 7.910 -13.507 -20.604 .00 .00 BULK ATOM 10780 H2 TIP3 3294 7.700 -12.126 -21.349 .00 .00 BULK ATOM 10781 OH2 TIP3 3295 -13.119 16.176 4.011 .00 .00 BULK ATOM 10782 H1 TIP3 3295 -12.218 15.935 4.069 .00 .00 BULK ATOM 10783 H2 TIP3 3295 -13.416 15.438 3.473 .00 .00 BULK ATOM 10784 OH2 TIP3 3296 15.418 -1.840 -16.144 .00 .00 BULK ATOM 10785 H1 TIP3 3296 15.288 -.872 -16.133 .00 .00 BULK ATOM 10786 H2 TIP3 3296 14.658 -2.056 -16.764 .00 .00 BULK ATOM 10787 OH2 TIP3 3297 -9.334 19.412 17.843 .00 .00 BULK ATOM 10788 H1 TIP3 3297 -9.274 19.515 16.841 .00 .00 BULK ATOM 10789 H2 TIP3 3297 -8.563 18.879 18.065 .00 .00 BULK ATOM 10790 OH2 TIP3 3298 8.529 -19.775 22.876 .00 .00 BULK ATOM 10791 H1 TIP3 3298 7.716 -19.721 23.390 .00 .00 BULK ATOM 10792 H2 TIP3 3298 8.510 -20.729 22.653 .00 .00 BULK ATOM 10793 OH2 TIP3 3299 19.215 9.701 9.873 .00 .00 BULK ATOM 10794 H1 TIP3 3299 19.416 8.916 9.362 .00 .00 BULK ATOM 10795 H2 TIP3 3299 18.391 9.402 10.295 .00 .00 BULK ATOM 10796 OH2 TIP3 3300 14.025 -11.576 -17.140 .00 .00 BULK ATOM 10797 H1 TIP3 3300 13.055 -11.808 -16.902 .00 .00 BULK ATOM 10798 H2 TIP3 3300 14.484 -11.301 -16.276 .00 .00 BULK ATOM 10799 OH2 TIP3 3301 -18.171 19.624 -16.549 .00 .00 BULK ATOM 10800 H1 TIP3 3301 -17.891 19.727 -15.598 .00 .00 BULK ATOM 10801 H2 TIP3 3301 -18.460 18.716 -16.550 .00 .00 BULK ATOM 10802 OH2 TIP3 3302 .154 11.890 -1.023 .00 .00 BULK ATOM 10803 H1 TIP3 3302 1.013 11.989 -.598 .00 .00 BULK ATOM 10804 H2 TIP3 3302 -.282 11.410 -.226 .00 .00 BULK ATOM 10805 OH2 TIP3 3303 9.687 20.055 19.211 .00 .00 BULK ATOM 10806 H1 TIP3 3303 9.760 19.119 19.053 .00 .00 BULK ATOM 10807 H2 TIP3 3303 9.378 20.035 20.113 .00 .00 BULK ATOM 10808 OH2 TIP3 3304 6.833 15.522 -11.466 .00 .00 BULK ATOM 10809 H1 TIP3 3304 6.688 15.407 -12.418 .00 .00 BULK ATOM 10810 H2 TIP3 3304 6.454 14.669 -11.177 .00 .00 BULK ATOM 10811 OH2 TIP3 3305 -21.718 21.760 -18.064 .00 .00 BULK ATOM 10812 H1 TIP3 3305 -21.666 21.332 -17.162 .00 .00 BULK ATOM 10813 H2 TIP3 3305 -21.215 22.619 -17.906 .00 .00 BULK ATOM 10814 OH2 TIP3 3306 7.049 -11.314 21.887 .00 .00 BULK ATOM 10815 H1 TIP3 3306 7.388 -11.936 21.168 .00 .00 BULK ATOM 10816 H2 TIP3 3306 7.903 -10.786 22.061 .00 .00 BULK ATOM 10817 OH2 TIP3 3307 7.779 -16.517 14.297 .00 .00 BULK ATOM 10818 H1 TIP3 3307 7.878 -15.667 13.741 .00 .00 BULK ATOM 10819 H2 TIP3 3307 6.977 -16.921 13.895 .00 .00 BULK ATOM 10820 OH2 TIP3 3308 -13.019 8.219 -17.638 .00 .00 BULK ATOM 10821 H1 TIP3 3308 -12.500 7.735 -16.935 .00 .00 BULK ATOM 10822 H2 TIP3 3308 -13.597 7.492 -17.893 .00 .00 BULK ATOM 10823 OH2 TIP3 3309 -.871 -9.395 -15.571 .00 .00 BULK ATOM 10824 H1 TIP3 3309 -.415 -10.032 -15.094 .00 .00 BULK ATOM 10825 H2 TIP3 3309 -.220 -9.479 -16.297 .00 .00 BULK ATOM 10826 OH2 TIP3 3310 9.378 -5.277 12.733 .00 .00 BULK ATOM 10827 H1 TIP3 3310 8.448 -5.351 12.581 .00 .00 BULK ATOM 10828 H2 TIP3 3310 9.726 -5.374 11.848 .00 .00 BULK ATOM 10829 OH2 TIP3 3311 -5.786 15.247 16.688 .00 .00 BULK ATOM 10830 H1 TIP3 3311 -5.113 15.806 17.016 .00 .00 BULK ATOM 10831 H2 TIP3 3311 -5.562 15.254 15.727 .00 .00 BULK ATOM 10832 OH2 TIP3 3312 -10.710 15.888 5.544 .00 .00 BULK ATOM 10833 H1 TIP3 3312 -11.229 15.641 6.292 .00 .00 BULK ATOM 10834 H2 TIP3 3312 -10.129 16.549 5.978 .00 .00 BULK ATOM 10835 OH2 TIP3 3313 -9.787 -15.500 -18.122 .00 .00 BULK ATOM 10836 H1 TIP3 3313 -10.340 -15.714 -17.392 .00 .00 BULK ATOM 10837 H2 TIP3 3313 -10.028 -16.246 -18.711 .00 .00 BULK ATOM 10838 OH2 TIP3 3314 22.224 15.246 -17.181 .00 .00 BULK ATOM 10839 H1 TIP3 3314 21.311 15.521 -17.070 .00 .00 BULK ATOM 10840 H2 TIP3 3314 22.620 15.609 -16.371 .00 .00 BULK ATOM 10841 OH2 TIP3 3315 14.174 -12.419 1.224 .00 .00 BULK ATOM 10842 H1 TIP3 3315 13.984 -13.040 1.941 .00 .00 BULK ATOM 10843 H2 TIP3 3315 14.860 -11.866 1.698 .00 .00 BULK ATOM 10844 OH2 TIP3 3316 -29.695 -14.168 13.156 .00 .00 BULK ATOM 10845 H1 TIP3 3316 -28.877 -13.774 12.980 .00 .00 BULK ATOM 10846 H2 TIP3 3316 -29.353 -15.046 13.460 .00 .00 BULK ATOM 10847 OH2 TIP3 3317 -13.954 20.424 20.337 .00 .00 BULK ATOM 10848 H1 TIP3 3317 -14.780 20.263 19.851 .00 .00 BULK ATOM 10849 H2 TIP3 3317 -13.278 19.857 19.888 .00 .00 BULK ATOM 10850 OH2 TIP3 3318 12.077 -22.211 -17.581 .00 .00 BULK ATOM 10851 H1 TIP3 3318 11.259 -22.655 -17.909 .00 .00 BULK ATOM 10852 H2 TIP3 3318 12.569 -22.944 -17.231 .00 .00 BULK ATOM 10853 OH2 TIP3 3319 9.060 12.332 3.418 .00 .00 BULK ATOM 10854 H1 TIP3 3319 8.941 11.443 3.033 .00 .00 BULK ATOM 10855 H2 TIP3 3319 9.965 12.594 3.078 .00 .00 BULK ATOM 10856 OH2 TIP3 3320 7.057 -7.940 20.940 .00 .00 BULK ATOM 10857 H1 TIP3 3320 6.073 -7.695 21.125 .00 .00 BULK ATOM 10858 H2 TIP3 3320 7.407 -7.841 21.823 .00 .00 BULK ATOM 10859 OH2 TIP3 3321 5.439 22.575 16.791 .00 .00 BULK ATOM 10860 H1 TIP3 3321 5.338 21.852 16.110 .00 .00 BULK ATOM 10861 H2 TIP3 3321 6.274 22.326 17.274 .00 .00 BULK ATOM 10862 OH2 TIP3 3322 -2.042 12.915 17.037 .00 .00 BULK ATOM 10863 H1 TIP3 3322 -2.592 12.594 16.210 .00 .00 BULK ATOM 10864 H2 TIP3 3322 -1.164 13.160 16.671 .00 .00 BULK ATOM 10865 OH2 TIP3 3323 -17.533 14.249 1.646 .00 .00 BULK ATOM 10866 H1 TIP3 3323 -18.349 14.560 2.098 .00 .00 BULK ATOM 10867 H2 TIP3 3323 -17.643 14.360 .679 .00 .00 BULK ATOM 10868 OH2 TIP3 3324 -.387 -10.276 13.839 .00 .00 BULK ATOM 10869 H1 TIP3 3324 .193 -10.202 14.601 .00 .00 BULK ATOM 10870 H2 TIP3 3324 .263 -10.519 13.244 .00 .00 BULK ATOM 10871 OH2 TIP3 3325 16.981 -6.304 -11.495 .00 .00 BULK ATOM 10872 H1 TIP3 3325 16.736 -5.426 -11.165 .00 .00 BULK ATOM 10873 H2 TIP3 3325 16.602 -6.251 -12.409 .00 .00 BULK ATOM 10874 OH2 TIP3 3326 27.656 -13.893 17.417 .00 .00 BULK ATOM 10875 H1 TIP3 3326 28.301 -13.974 16.721 .00 .00 BULK ATOM 10876 H2 TIP3 3326 27.159 -14.740 17.312 .00 .00 BULK ATOM 10877 OH2 TIP3 3327 5.407 -.477 19.241 .00 .00 BULK ATOM 10878 H1 TIP3 3327 6.075 -1.094 18.998 .00 .00 BULK ATOM 10879 H2 TIP3 3327 5.956 .075 19.872 .00 .00 BULK ATOM 10880 OH2 TIP3 3328 -5.089 -22.160 -19.203 .00 .00 BULK ATOM 10881 H1 TIP3 3328 -4.522 -21.979 -19.934 .00 .00 BULK ATOM 10882 H2 TIP3 3328 -4.977 -23.134 -19.174 .00 .00 BULK ATOM 10883 OH2 TIP3 3329 22.671 18.803 -22.704 .00 .00 BULK ATOM 10884 H1 TIP3 3329 22.764 17.932 -23.122 .00 .00 BULK ATOM 10885 H2 TIP3 3329 21.950 19.165 -23.279 .00 .00 BULK ATOM 10886 OH2 TIP3 3330 21.129 -5.554 -9.329 .00 .00 BULK ATOM 10887 H1 TIP3 3330 21.196 -6.219 -10.018 .00 .00 BULK ATOM 10888 H2 TIP3 3330 20.464 -4.842 -9.596 .00 .00 BULK ATOM 10889 OH2 TIP3 3331 14.325 22.245 -22.570 .00 .00 BULK ATOM 10890 H1 TIP3 3331 14.236 22.687 -21.720 .00 .00 BULK ATOM 10891 H2 TIP3 3331 13.411 22.423 -22.816 .00 .00 BULK ATOM 10892 OH2 TIP3 3332 -26.674 6.903 21.440 .00 .00 BULK ATOM 10893 H1 TIP3 3332 -26.072 7.512 20.954 .00 .00 BULK ATOM 10894 H2 TIP3 3332 -25.988 6.389 21.884 .00 .00 BULK ATOM 10895 OH2 TIP3 3333 -12.912 17.398 12.118 .00 .00 BULK ATOM 10896 H1 TIP3 3333 -12.042 17.693 12.495 .00 .00 BULK ATOM 10897 H2 TIP3 3333 -13.522 18.006 12.655 .00 .00 BULK ATOM 10898 OH2 TIP3 3334 6.624 -17.185 -22.352 .00 .00 BULK ATOM 10899 H1 TIP3 3334 5.833 -16.787 -22.825 .00 .00 BULK ATOM 10900 H2 TIP3 3334 7.283 -17.205 -23.092 .00 .00 BULK ATOM 10901 OH2 TIP3 3335 -13.395 6.232 -22.512 .00 .00 BULK ATOM 10902 H1 TIP3 3335 -13.303 6.989 -21.933 .00 .00 BULK ATOM 10903 H2 TIP3 3335 -14.114 5.748 -22.035 .00 .00 BULK ATOM 10904 OH2 TIP3 3336 12.170 -14.914 -20.632 .00 .00 BULK ATOM 10905 H1 TIP3 3336 11.650 -15.763 -20.618 .00 .00 BULK ATOM 10906 H2 TIP3 3336 11.642 -14.254 -20.129 .00 .00 BULK ATOM 10907 OH2 TIP3 3337 23.450 13.840 -2.887 .00 .00 BULK ATOM 10908 H1 TIP3 3337 23.251 13.175 -3.564 .00 .00 BULK ATOM 10909 H2 TIP3 3337 24.416 14.065 -2.950 .00 .00 BULK ATOM 10910 OH2 TIP3 3338 -13.504 13.504 -13.067 .00 .00 BULK ATOM 10911 H1 TIP3 3338 -14.059 12.751 -13.346 .00 .00 BULK ATOM 10912 H2 TIP3 3338 -12.775 13.406 -13.679 .00 .00 BULK ATOM 10913 OH2 TIP3 3339 -13.624 -13.165 -18.450 .00 .00 BULK ATOM 10914 H1 TIP3 3339 -14.308 -13.863 -18.335 .00 .00 BULK ATOM 10915 H2 TIP3 3339 -13.902 -12.695 -19.271 .00 .00 BULK ATOM 10916 OH2 TIP3 3340 29.808 -11.058 -8.210 .00 .00 BULK ATOM 10917 H1 TIP3 3340 30.599 -10.493 -8.363 .00 .00 BULK ATOM 10918 H2 TIP3 3340 29.188 -10.603 -8.857 .00 .00 BULK ATOM 10919 OH2 TIP3 3341 -22.456 -5.532 21.534 .00 .00 BULK ATOM 10920 H1 TIP3 3341 -22.262 -6.444 21.740 .00 .00 BULK ATOM 10921 H2 TIP3 3341 -21.895 -5.131 22.203 .00 .00 BULK ATOM 10922 OH2 TIP3 3342 7.247 -17.626 -17.600 .00 .00 BULK ATOM 10923 H1 TIP3 3342 7.605 -17.913 -18.446 .00 .00 BULK ATOM 10924 H2 TIP3 3342 7.708 -18.258 -17.050 .00 .00 BULK ATOM 10925 OH2 TIP3 3343 -27.578 -8.763 2.053 .00 .00 BULK ATOM 10926 H1 TIP3 3343 -27.265 -7.894 1.866 .00 .00 BULK ATOM 10927 H2 TIP3 3343 -27.106 -8.973 2.852 .00 .00 BULK ATOM 10928 OH2 TIP3 3344 9.635 1.460 -13.778 .00 .00 BULK ATOM 10929 H1 TIP3 3344 10.550 1.579 -13.325 .00 .00 BULK ATOM 10930 H2 TIP3 3344 9.605 .531 -14.064 .00 .00 BULK ATOM 10931 OH2 TIP3 3345 15.385 -3.585 -4.845 .00 .00 BULK ATOM 10932 H1 TIP3 3345 15.355 -2.612 -5.014 .00 .00 BULK ATOM 10933 H2 TIP3 3345 15.331 -3.826 -5.774 .00 .00 BULK ATOM 10934 OH2 TIP3 3346 17.722 -1.845 -5.243 .00 .00 BULK ATOM 10935 H1 TIP3 3346 17.388 -1.060 -4.701 .00 .00 BULK ATOM 10936 H2 TIP3 3346 17.271 -1.548 -6.068 .00 .00 BULK ATOM 10937 OH2 TIP3 3347 -20.802 9.482 -18.488 .00 .00 BULK ATOM 10938 H1 TIP3 3347 -21.379 9.935 -19.129 .00 .00 BULK ATOM 10939 H2 TIP3 3347 -21.503 8.790 -18.372 .00 .00 BULK ATOM 10940 OH2 TIP3 3348 16.292 -16.236 -17.579 .00 .00 BULK ATOM 10941 H1 TIP3 3348 16.586 -16.315 -16.698 .00 .00 BULK ATOM 10942 H2 TIP3 3348 15.386 -16.594 -17.403 .00 .00 BULK ATOM 10943 OH2 TIP3 3349 -26.639 8.533 14.802 .00 .00 BULK ATOM 10944 H1 TIP3 3349 -25.876 8.753 14.226 .00 .00 BULK ATOM 10945 H2 TIP3 3349 -26.246 8.883 15.595 .00 .00 BULK ATOM 10946 OH2 TIP3 3350 23.516 -15.433 20.618 .00 .00 BULK ATOM 10947 H1 TIP3 3350 22.731 -15.920 20.402 .00 .00 BULK ATOM 10948 H2 TIP3 3350 23.392 -14.722 19.917 .00 .00 BULK ATOM 10949 OH2 TIP3 3351 -19.698 -10.253 -16.651 .00 .00 BULK ATOM 10950 H1 TIP3 3351 -19.281 -9.471 -17.107 .00 .00 BULK ATOM 10951 H2 TIP3 3351 -20.107 -9.664 -15.936 .00 .00 BULK ATOM 10952 OH2 TIP3 3352 -23.501 12.709 2.638 .00 .00 BULK ATOM 10953 H1 TIP3 3352 -23.279 13.692 2.679 .00 .00 BULK ATOM 10954 H2 TIP3 3352 -24.425 12.784 2.756 .00 .00 BULK ATOM 10955 OH2 TIP3 3353 .878 -20.045 -18.340 .00 .00 BULK ATOM 10956 H1 TIP3 3353 .207 -19.762 -17.746 .00 .00 BULK ATOM 10957 H2 TIP3 3353 1.650 -19.482 -17.978 .00 .00 BULK ATOM 10958 OH2 TIP3 3354 -15.553 -15.795 16.884 .00 .00 BULK ATOM 10959 H1 TIP3 3354 -14.564 -15.788 16.842 .00 .00 BULK ATOM 10960 H2 TIP3 3354 -15.743 -16.572 17.483 .00 .00 BULK ATOM 10961 OH2 TIP3 3355 16.039 15.735 15.981 .00 .00 BULK ATOM 10962 H1 TIP3 3355 15.866 16.719 16.167 .00 .00 BULK ATOM 10963 H2 TIP3 3355 16.796 15.834 15.313 .00 .00 BULK ATOM 10964 OH2 TIP3 3356 -5.437 -22.883 19.277 .00 .00 BULK ATOM 10965 H1 TIP3 3356 -5.375 -22.619 20.233 .00 .00 BULK ATOM 10966 H2 TIP3 3356 -6.175 -22.336 18.884 .00 .00 BULK ATOM 10967 OH2 TIP3 3357 -18.556 16.696 -13.640 .00 .00 BULK ATOM 10968 H1 TIP3 3357 -18.219 16.012 -14.254 .00 .00 BULK ATOM 10969 H2 TIP3 3357 -18.420 16.375 -12.727 .00 .00 BULK ATOM 10970 OH2 TIP3 3358 -17.998 -15.826 15.102 .00 .00 BULK ATOM 10971 H1 TIP3 3358 -18.730 -16.185 15.637 .00 .00 BULK ATOM 10972 H2 TIP3 3358 -17.283 -15.770 15.755 .00 .00 BULK ATOM 10973 OH2 TIP3 3359 -24.589 12.717 20.263 .00 .00 BULK ATOM 10974 H1 TIP3 3359 -25.545 12.889 20.446 .00 .00 BULK ATOM 10975 H2 TIP3 3359 -24.184 12.997 21.156 .00 .00 BULK ATOM 10976 OH2 TIP3 3360 20.687 -21.207 -19.744 .00 .00 BULK ATOM 10977 H1 TIP3 3360 20.270 -21.007 -18.933 .00 .00 BULK ATOM 10978 H2 TIP3 3360 20.543 -22.183 -19.789 .00 .00 BULK ATOM 10979 OH2 TIP3 3361 -24.068 19.488 1.647 .00 .00 BULK ATOM 10980 H1 TIP3 3361 -23.900 19.923 .774 .00 .00 BULK ATOM 10981 H2 TIP3 3361 -23.247 18.970 1.645 .00 .00 BULK ATOM 10982 OH2 TIP3 3362 -20.986 16.979 16.535 .00 .00 BULK ATOM 10983 H1 TIP3 3362 -21.020 16.839 17.447 .00 .00 BULK ATOM 10984 H2 TIP3 3362 -21.961 17.105 16.430 .00 .00 BULK ATOM 10985 OH2 TIP3 3363 26.325 21.275 20.337 .00 .00 BULK ATOM 10986 H1 TIP3 3363 26.393 22.233 20.276 .00 .00 BULK ATOM 10987 H2 TIP3 3363 27.026 21.081 21.024 .00 .00 BULK ATOM 10988 OH2 TIP3 3364 12.736 9.603 -23.216 .00 .00 BULK ATOM 10989 H1 TIP3 3364 12.727 10.167 -24.016 .00 .00 BULK ATOM 10990 H2 TIP3 3364 11.909 9.915 -22.815 .00 .00 BULK ATOM 10991 OH2 TIP3 3365 -10.482 -23.919 11.155 .00 .00 BULK ATOM 10992 H1 TIP3 3365 -10.101 -23.184 10.743 .00 .00 BULK ATOM 10993 H2 TIP3 3365 -11.328 -23.863 10.704 .00 .00 BULK ATOM 10994 OH2 TIP3 3366 -18.038 -9.194 16.495 .00 .00 BULK ATOM 10995 H1 TIP3 3366 -17.872 -9.047 15.567 .00 .00 BULK ATOM 10996 H2 TIP3 3366 -18.874 -9.639 16.600 .00 .00 BULK ATOM 10997 OH2 TIP3 3367 -2.312 16.350 .336 .00 .00 BULK ATOM 10998 H1 TIP3 3367 -3.096 15.922 .860 .00 .00 BULK ATOM 10999 H2 TIP3 3367 -2.042 15.558 -.228 .00 .00 BULK ATOM 11000 OH2 TIP3 3368 -6.022 18.100 22.872 .00 .00 BULK ATOM 11001 H1 TIP3 3368 -6.296 18.638 22.119 .00 .00 BULK ATOM 11002 H2 TIP3 3368 -6.195 18.751 23.670 .00 .00 BULK ATOM 11003 OH2 TIP3 3369 -12.377 -7.190 -14.493 .00 .00 BULK ATOM 11004 H1 TIP3 3369 -11.522 -7.280 -14.977 .00 .00 BULK ATOM 11005 H2 TIP3 3369 -12.651 -8.118 -14.378 .00 .00 BULK ATOM 11006 OH2 TIP3 3370 -3.312 17.007 12.520 .00 .00 BULK ATOM 11007 H1 TIP3 3370 -3.520 17.755 11.991 .00 .00 BULK ATOM 11008 H2 TIP3 3370 -2.372 16.767 12.166 .00 .00 BULK ATOM 11009 OH2 TIP3 3371 -14.497 16.007 6.450 .00 .00 BULK ATOM 11010 H1 TIP3 3371 -14.134 15.199 6.743 .00 .00 BULK ATOM 11011 H2 TIP3 3371 -14.321 15.814 5.570 .00 .00 BULK ATOM 11012 OH2 TIP3 3372 7.074 12.793 10.016 .00 .00 BULK ATOM 11013 H1 TIP3 3372 7.430 13.704 10.025 .00 .00 BULK ATOM 11014 H2 TIP3 3372 7.320 12.513 10.903 .00 .00 BULK ATOM 11015 OH2 TIP3 3373 -29.023 4.472 -16.543 .00 .00 BULK ATOM 11016 H1 TIP3 3373 -28.963 3.553 -16.249 .00 .00 BULK ATOM 11017 H2 TIP3 3373 -29.819 4.304 -17.132 .00 .00 BULK ATOM 11018 OH2 TIP3 3374 7.281 -21.998 17.235 .00 .00 BULK ATOM 11019 H1 TIP3 3374 7.818 -21.745 18.014 .00 .00 BULK ATOM 11020 H2 TIP3 3374 7.239 -22.988 17.367 .00 .00 BULK ATOM 11021 OH2 TIP3 3375 -8.655 20.676 23.010 .00 .00 BULK ATOM 11022 H1 TIP3 3375 -8.716 20.589 22.066 .00 .00 BULK ATOM 11023 H2 TIP3 3375 -9.005 21.576 23.164 .00 .00 BULK ATOM 11024 OH2 TIP3 3376 -28.099 -10.296 -20.804 .00 .00 BULK ATOM 11025 H1 TIP3 3376 -28.863 -10.307 -21.480 .00 .00 BULK ATOM 11026 H2 TIP3 3376 -27.777 -11.163 -21.040 .00 .00 BULK ATOM 11027 OH2 TIP3 3377 -25.277 18.685 22.866 .00 .00 BULK ATOM 11028 H1 TIP3 3377 -24.671 18.122 22.432 .00 .00 BULK ATOM 11029 H2 TIP3 3377 -24.742 18.984 23.649 .00 .00 BULK ATOM 11030 OH2 TIP3 3378 -25.525 -13.343 16.120 .00 .00 BULK ATOM 11031 H1 TIP3 3378 -25.260 -13.424 15.208 .00 .00 BULK ATOM 11032 H2 TIP3 3378 -26.290 -13.888 16.103 .00 .00 BULK ATOM 11033 OH2 TIP3 3379 -11.230 21.787 16.878 .00 .00 BULK ATOM 11034 H1 TIP3 3379 -11.450 22.005 15.926 .00 .00 BULK ATOM 11035 H2 TIP3 3379 -11.201 20.786 16.791 .00 .00 BULK ATOM 11036 OH2 TIP3 3380 -27.544 5.795 -14.430 .00 .00 BULK ATOM 11037 H1 TIP3 3380 -27.651 5.454 -13.517 .00 .00 BULK ATOM 11038 H2 TIP3 3380 -27.996 5.063 -14.892 .00 .00 BULK ATOM 11039 OH2 TIP3 3381 4.809 21.052 10.030 .00 .00 BULK ATOM 11040 H1 TIP3 3381 4.740 20.041 9.950 .00 .00 BULK ATOM 11041 H2 TIP3 3381 5.309 21.237 10.896 .00 .00 BULK ATOM 11042 OH2 TIP3 3382 2.772 -.372 17.903 .00 .00 BULK ATOM 11043 H1 TIP3 3382 2.830 -.866 16.992 .00 .00 BULK ATOM 11044 H2 TIP3 3382 3.706 -.154 18.066 .00 .00 BULK ATOM 11045 OH2 TIP3 3383 -23.902 15.440 -10.858 .00 .00 BULK ATOM 11046 H1 TIP3 3383 -24.820 15.038 -11.059 .00 .00 BULK ATOM 11047 H2 TIP3 3383 -24.123 15.793 -10.007 .00 .00 BULK ATOM 11048 OH2 TIP3 3384 -12.841 12.803 20.581 .00 .00 BULK ATOM 11049 H1 TIP3 3384 -13.408 12.140 20.124 .00 .00 BULK ATOM 11050 H2 TIP3 3384 -12.059 12.741 20.038 .00 .00 BULK ATOM 11051 OH2 TIP3 3385 4.807 17.919 -20.009 .00 .00 BULK ATOM 11052 H1 TIP3 3385 5.517 17.989 -19.320 .00 .00 BULK ATOM 11053 H2 TIP3 3385 5.408 18.207 -20.795 .00 .00 BULK ATOM 11054 OH2 TIP3 3386 -19.152 21.687 9.303 .00 .00 BULK ATOM 11055 H1 TIP3 3386 -18.363 21.518 8.804 .00 .00 BULK ATOM 11056 H2 TIP3 3386 -18.701 21.966 10.121 .00 .00 BULK ATOM 11057 OH2 TIP3 3387 5.286 11.846 .421 .00 .00 BULK ATOM 11058 H1 TIP3 3387 4.720 11.821 1.224 .00 .00 BULK ATOM 11059 H2 TIP3 3387 4.631 12.248 -.230 .00 .00 BULK ATOM 11060 OH2 TIP3 3388 -6.013 -4.125 -5.805 .00 .00 BULK ATOM 11061 H1 TIP3 3388 -6.357 -3.659 -4.964 .00 .00 BULK ATOM 11062 H2 TIP3 3388 -6.792 -3.926 -6.400 .00 .00 BULK ATOM 11063 OH2 TIP3 3389 -26.803 -1.371 13.759 .00 .00 BULK ATOM 11064 H1 TIP3 3389 -26.144 -2.101 13.736 .00 .00 BULK ATOM 11065 H2 TIP3 3389 -26.663 -.993 14.632 .00 .00 BULK ATOM 11066 OH2 TIP3 3390 28.147 10.712 18.841 .00 .00 BULK ATOM 11067 H1 TIP3 3390 28.266 10.179 18.006 .00 .00 BULK ATOM 11068 H2 TIP3 3390 27.196 10.729 18.933 .00 .00 BULK ATOM 11069 OH2 TIP3 3391 -20.398 -2.028 -21.694 .00 .00 BULK ATOM 11070 H1 TIP3 3391 -19.537 -1.987 -22.152 .00 .00 BULK ATOM 11071 H2 TIP3 3391 -20.428 -2.867 -21.172 .00 .00 BULK ATOM 11072 OH2 TIP3 3392 -11.030 -13.501 19.536 .00 .00 BULK ATOM 11073 H1 TIP3 3392 -11.273 -12.638 19.074 .00 .00 BULK ATOM 11074 H2 TIP3 3392 -10.822 -13.155 20.434 .00 .00 BULK ATOM 11075 OH2 TIP3 3393 .842 13.365 3.195 .00 .00 BULK ATOM 11076 H1 TIP3 3393 .491 13.652 4.110 .00 .00 BULK ATOM 11077 H2 TIP3 3393 1.642 12.971 3.527 .00 .00 BULK ATOM 11078 OH2 TIP3 3394 -11.906 1.432 21.535 .00 .00 BULK ATOM 11079 H1 TIP3 3394 -11.882 2.378 21.334 .00 .00 BULK ATOM 11080 H2 TIP3 3394 -10.964 1.134 21.590 .00 .00 BULK ATOM 11081 OH2 TIP3 3395 -4.444 12.078 8.157 .00 .00 BULK ATOM 11082 H1 TIP3 3395 -4.861 12.292 7.256 .00 .00 BULK ATOM 11083 H2 TIP3 3395 -3.473 12.255 7.934 .00 .00 BULK ATOM 11084 OH2 TIP3 3396 -23.734 20.072 -22.227 .00 .00 BULK ATOM 11085 H1 TIP3 3396 -22.985 20.536 -21.695 .00 .00 BULK ATOM 11086 H2 TIP3 3396 -23.863 20.731 -22.930 .00 .00 BULK ATOM 11087 OH2 TIP3 3397 -20.639 -9.023 11.711 .00 .00 BULK ATOM 11088 H1 TIP3 3397 -19.793 -9.408 11.420 .00 .00 BULK ATOM 11089 H2 TIP3 3397 -20.295 -8.021 11.806 .00 .00 BULK ATOM 11090 OH2 TIP3 3398 -16.357 -7.590 22.792 .00 .00 BULK ATOM 11091 H1 TIP3 3398 -16.134 -6.668 22.541 .00 .00 BULK ATOM 11092 H2 TIP3 3398 -16.954 -7.763 22.028 .00 .00 BULK ATOM 11093 OH2 TIP3 3399 -15.644 11.451 .915 .00 .00 BULK ATOM 11094 H1 TIP3 3399 -16.088 11.704 1.751 .00 .00 BULK ATOM 11095 H2 TIP3 3399 -14.836 11.021 1.150 .00 .00 BULK ATOM 11096 OH2 TIP3 3400 -20.748 14.553 -16.323 .00 .00 BULK ATOM 11097 H1 TIP3 3400 -20.945 14.480 -17.283 .00 .00 BULK ATOM 11098 H2 TIP3 3400 -21.560 14.211 -15.922 .00 .00 BULK ATOM 11099 OH2 TIP3 3401 -25.742 13.961 3.794 .00 .00 BULK ATOM 11100 H1 TIP3 3401 -26.345 14.613 3.407 .00 .00 BULK ATOM 11101 H2 TIP3 3401 -25.576 14.319 4.675 .00 .00 BULK ATOM 11102 OH2 TIP3 3402 -20.196 -22.929 6.739 .00 .00 BULK ATOM 11103 H1 TIP3 3402 -20.844 -23.045 7.466 .00 .00 BULK ATOM 11104 H2 TIP3 3402 -19.667 -22.283 7.297 .00 .00 BULK ATOM 11105 OH2 TIP3 3403 -21.676 14.099 13.725 .00 .00 BULK ATOM 11106 H1 TIP3 3403 -22.494 14.340 14.127 .00 .00 BULK ATOM 11107 H2 TIP3 3403 -21.710 14.605 12.917 .00 .00 BULK ATOM 11108 OH2 TIP3 3404 -11.301 15.263 -22.936 .00 .00 BULK ATOM 11109 H1 TIP3 3404 -11.469 15.830 -22.144 .00 .00 BULK ATOM 11110 H2 TIP3 3404 -10.958 15.799 -23.716 .00 .00 BULK ATOM 11111 OH2 TIP3 3405 -12.504 -9.592 15.695 .00 .00 BULK ATOM 11112 H1 TIP3 3405 -12.930 -9.526 14.809 .00 .00 BULK ATOM 11113 H2 TIP3 3405 -13.255 -9.832 16.277 .00 .00 BULK ATOM 11114 OH2 TIP3 3406 1.305 -.819 21.782 .00 .00 BULK ATOM 11115 H1 TIP3 3406 2.129 -1.228 21.414 .00 .00 BULK ATOM 11116 H2 TIP3 3406 1.766 -.006 22.135 .00 .00 BULK ATOM 11117 OH2 TIP3 3407 -10.749 -12.752 -19.119 .00 .00 BULK ATOM 11118 H1 TIP3 3407 -11.710 -12.890 -19.016 .00 .00 BULK ATOM 11119 H2 TIP3 3407 -10.354 -13.459 -18.601 .00 .00 BULK ATOM 11120 OH2 TIP3 3408 5.234 7.152 14.075 .00 .00 BULK ATOM 11121 H1 TIP3 3408 5.216 8.060 14.230 .00 .00 BULK ATOM 11122 H2 TIP3 3408 5.396 7.126 13.086 .00 .00 BULK ATOM 11123 OH2 TIP3 3409 -5.870 16.272 13.894 .00 .00 BULK ATOM 11124 H1 TIP3 3409 -5.935 15.622 13.218 .00 .00 BULK ATOM 11125 H2 TIP3 3409 -4.932 16.598 13.878 .00 .00 BULK ATOM 11126 OH2 TIP3 3410 4.508 -23.079 -13.217 .00 .00 BULK ATOM 11127 H1 TIP3 3410 4.755 -23.029 -12.267 .00 .00 BULK ATOM 11128 H2 TIP3 3410 3.841 -22.387 -13.294 .00 .00 BULK ATOM 11129 OH2 TIP3 3411 -26.033 22.665 14.328 .00 .00 BULK ATOM 11130 H1 TIP3 3411 -25.167 22.970 13.900 .00 .00 BULK ATOM 11131 H2 TIP3 3411 -26.246 21.840 13.739 .00 .00 BULK ATOM 11132 OH2 TIP3 3412 -4.090 4.233 11.891 .00 .00 BULK ATOM 11133 H1 TIP3 3412 -3.809 4.367 12.795 .00 .00 BULK ATOM 11134 H2 TIP3 3412 -4.814 3.652 11.974 .00 .00 BULK ATOM 11135 OH2 TIP3 3413 26.647 22.739 -11.214 .00 .00 BULK ATOM 11136 H1 TIP3 3413 26.157 21.841 -11.091 .00 .00 BULK ATOM 11137 H2 TIP3 3413 27.520 22.388 -11.453 .00 .00 BULK ATOM 11138 OH2 TIP3 3414 13.430 -22.644 19.006 .00 .00 BULK ATOM 11139 H1 TIP3 3414 12.728 -23.373 18.912 .00 .00 BULK ATOM 11140 H2 TIP3 3414 12.956 -21.873 18.675 .00 .00 BULK ATOM 11141 OH2 TIP3 3415 -1.682 18.780 -11.976 .00 .00 BULK ATOM 11142 H1 TIP3 3415 -.779 19.126 -12.149 .00 .00 BULK ATOM 11143 H2 TIP3 3415 -1.561 17.889 -11.627 .00 .00 BULK ATOM 11144 OH2 TIP3 3416 -15.371 -10.912 20.794 .00 .00 BULK ATOM 11145 H1 TIP3 3416 -15.906 -10.780 19.972 .00 .00 BULK ATOM 11146 H2 TIP3 3416 -15.185 -11.873 20.771 .00 .00 BULK ATOM 11147 OH2 TIP3 3417 -9.985 -4.525 -9.827 .00 .00 BULK ATOM 11148 H1 TIP3 3417 -9.344 -3.823 -10.156 .00 .00 BULK ATOM 11149 H2 TIP3 3417 -10.168 -5.122 -10.527 .00 .00 BULK ATOM 11150 OH2 TIP3 3418 -18.777 -20.598 20.378 .00 .00 BULK ATOM 11151 H1 TIP3 3418 -18.169 -21.097 20.850 .00 .00 BULK ATOM 11152 H2 TIP3 3418 -18.614 -19.706 20.695 .00 .00 BULK ATOM 11153 OH2 TIP3 3419 7.289 8.523 18.179 .00 .00 BULK ATOM 11154 H1 TIP3 3419 8.140 8.156 18.468 .00 .00 BULK ATOM 11155 H2 TIP3 3419 6.596 7.851 18.410 .00 .00 BULK ATOM 11156 OH2 TIP3 3420 -17.477 18.892 9.677 .00 .00 BULK ATOM 11157 H1 TIP3 3420 -17.399 19.629 9.090 .00 .00 BULK ATOM 11158 H2 TIP3 3420 -16.932 18.238 9.130 .00 .00 BULK ATOM 11159 OH2 TIP3 3421 22.670 -17.496 12.031 .00 .00 BULK ATOM 11160 H1 TIP3 3421 21.977 -16.985 12.474 .00 .00 BULK ATOM 11161 H2 TIP3 3421 22.103 -18.004 11.445 .00 .00 BULK ATOM 11162 OH2 TIP3 3422 5.976 22.266 4.146 .00 .00 BULK ATOM 11163 H1 TIP3 3422 5.290 22.726 4.667 .00 .00 BULK ATOM 11164 H2 TIP3 3422 5.836 21.383 4.530 .00 .00 BULK ATOM 11165 OH2 TIP3 3423 -25.333 6.356 -22.163 .00 .00 BULK ATOM 11166 H1 TIP3 3423 -25.456 6.021 -23.044 .00 .00 BULK ATOM 11167 H2 TIP3 3423 -25.033 5.516 -21.880 .00 .00 BULK ATOM 11168 OH2 TIP3 3424 -20.716 1.545 20.383 .00 .00 BULK ATOM 11169 H1 TIP3 3424 -21.592 1.684 20.700 .00 .00 BULK ATOM 11170 H2 TIP3 3424 -20.840 .932 19.652 .00 .00 BULK ATOM 11171 OH2 TIP3 3425 -1.468 -16.941 -22.785 .00 .00 BULK ATOM 11172 H1 TIP3 3425 -1.305 -17.218 -21.875 .00 .00 BULK ATOM 11173 H2 TIP3 3425 -2.342 -16.532 -22.739 .00 .00 BULK ATOM 11174 OH2 TIP3 3426 -24.524 8.641 21.702 .00 .00 BULK ATOM 11175 H1 TIP3 3426 -23.672 8.769 21.206 .00 .00 BULK ATOM 11176 H2 TIP3 3426 -24.112 8.364 22.547 .00 .00 BULK ATOM 11177 OH2 TIP3 3427 -18.818 -10.687 9.325 .00 .00 BULK ATOM 11178 H1 TIP3 3427 -19.071 -11.533 9.706 .00 .00 BULK ATOM 11179 H2 TIP3 3427 -18.089 -10.535 9.958 .00 .00 BULK ATOM 11180 OH2 TIP3 3428 -8.003 -6.673 -4.794 .00 .00 BULK ATOM 11181 H1 TIP3 3428 -8.058 -6.177 -5.580 .00 .00 BULK ATOM 11182 H2 TIP3 3428 -8.798 -7.223 -4.644 .00 .00 BULK ATOM 11183 OH2 TIP3 3429 -12.488 11.148 13.587 .00 .00 BULK ATOM 11184 H1 TIP3 3429 -12.806 12.000 13.297 .00 .00 BULK ATOM 11185 H2 TIP3 3429 -13.026 11.028 14.378 .00 .00 BULK ATOM 11186 OH2 TIP3 3430 20.820 -1.889 11.598 .00 .00 BULK ATOM 11187 H1 TIP3 3430 20.045 -2.229 11.118 .00 .00 BULK ATOM 11188 H2 TIP3 3430 21.425 -2.697 11.663 .00 .00 BULK ATOM 11189 OH2 TIP3 3431 -10.419 10.180 -4.380 .00 .00 BULK ATOM 11190 H1 TIP3 3431 -11.091 10.646 -4.873 .00 .00 BULK ATOM 11191 H2 TIP3 3431 -9.718 10.819 -4.535 .00 .00 BULK ATOM 11192 OH2 TIP3 3432 2.459 -12.309 -18.739 .00 .00 BULK ATOM 11193 H1 TIP3 3432 2.984 -12.157 -19.597 .00 .00 BULK ATOM 11194 H2 TIP3 3432 2.546 -13.276 -18.622 .00 .00 BULK ATOM 11195 OH2 TIP3 3433 -20.089 -9.614 -5.379 .00 .00 BULK ATOM 11196 H1 TIP3 3433 -20.120 -8.659 -5.202 .00 .00 BULK ATOM 11197 H2 TIP3 3433 -20.932 -9.856 -4.937 .00 .00 BULK ATOM 11198 OH2 TIP3 3434 -20.676 18.424 -19.958 .00 .00 BULK ATOM 11199 H1 TIP3 3434 -21.200 18.653 -19.158 .00 .00 BULK ATOM 11200 H2 TIP3 3434 -21.094 17.634 -20.209 .00 .00 BULK ATOM 11201 OH2 TIP3 3435 3.662 -1.631 21.014 .00 .00 BULK ATOM 11202 H1 TIP3 3435 4.419 -1.709 21.657 .00 .00 BULK ATOM 11203 H2 TIP3 3435 4.084 -1.261 20.206 .00 .00 BULK ATOM 11204 OH2 TIP3 3436 12.969 8.451 1.888 .00 .00 BULK ATOM 11205 H1 TIP3 3436 13.941 8.636 1.864 .00 .00 BULK ATOM 11206 H2 TIP3 3436 12.957 7.818 2.629 .00 .00 BULK ATOM 11207 OH2 TIP3 3437 -7.875 -7.693 -22.034 .00 .00 BULK ATOM 11208 H1 TIP3 3437 -6.996 -7.459 -21.554 .00 .00 BULK ATOM 11209 H2 TIP3 3437 -8.187 -8.420 -21.456 .00 .00 BULK ATOM 11210 OH2 TIP3 3438 -26.563 17.444 17.186 .00 .00 BULK ATOM 11211 H1 TIP3 3438 -27.071 17.365 17.966 .00 .00 BULK ATOM 11212 H2 TIP3 3438 -26.848 16.690 16.604 .00 .00 BULK ATOM 11213 OH2 TIP3 3439 19.738 -4.788 10.027 .00 .00 BULK ATOM 11214 H1 TIP3 3439 20.544 -5.313 10.229 .00 .00 BULK ATOM 11215 H2 TIP3 3439 19.124 -5.300 10.577 .00 .00 BULK ATOM 11216 OH2 TIP3 3440 23.834 18.326 -10.171 .00 .00 BULK ATOM 11217 H1 TIP3 3440 23.163 17.753 -9.783 .00 .00 BULK ATOM 11218 H2 TIP3 3440 24.114 18.979 -9.454 .00 .00 BULK ATOM 11219 OH2 TIP3 3441 -12.639 -14.505 -7.553 .00 .00 BULK ATOM 11220 H1 TIP3 3441 -13.084 -14.785 -6.720 .00 .00 BULK ATOM 11221 H2 TIP3 3441 -11.738 -14.421 -7.296 .00 .00 BULK ATOM 11222 OH2 TIP3 3442 -23.336 -19.061 17.321 .00 .00 BULK ATOM 11223 H1 TIP3 3442 -23.337 -18.154 16.987 .00 .00 BULK ATOM 11224 H2 TIP3 3442 -22.888 -19.500 16.589 .00 .00 BULK ATOM 11225 OH2 TIP3 3443 11.596 -16.699 -4.225 .00 .00 BULK ATOM 11226 H1 TIP3 3443 11.724 -15.784 -4.119 .00 .00 BULK ATOM 11227 H2 TIP3 3443 10.741 -16.804 -4.723 .00 .00 BULK ATOM 11228 OH2 TIP3 3444 -4.539 -20.430 21.274 .00 .00 BULK ATOM 11229 H1 TIP3 3444 -4.986 -19.514 21.435 .00 .00 BULK ATOM 11230 H2 TIP3 3444 -4.358 -20.560 22.245 .00 .00 BULK ATOM 11231 OH2 TIP3 3445 -3.399 -22.841 9.001 .00 .00 BULK ATOM 11232 H1 TIP3 3445 -3.177 -22.816 8.041 .00 .00 BULK ATOM 11233 H2 TIP3 3445 -3.988 -22.052 9.036 .00 .00 BULK ATOM 11234 OH2 TIP3 3446 27.153 15.014 6.646 .00 .00 BULK ATOM 11235 H1 TIP3 3446 27.464 15.722 7.282 .00 .00 BULK ATOM 11236 H2 TIP3 3446 26.410 15.477 6.243 .00 .00 BULK ATOM 11237 OH2 TIP3 3447 -16.572 19.707 -.103 .00 .00 BULK ATOM 11238 H1 TIP3 3447 -17.022 19.545 .768 .00 .00 BULK ATOM 11239 H2 TIP3 3447 -15.639 19.841 .126 .00 .00 BULK ATOM 11240 OH2 TIP3 3448 -28.458 -1.681 20.356 .00 .00 BULK ATOM 11241 H1 TIP3 3448 -28.948 -2.383 19.893 .00 .00 BULK ATOM 11242 H2 TIP3 3448 -29.190 -1.407 20.881 .00 .00 BULK ATOM 11243 OH2 TIP3 3449 15.060 22.300 10.040 .00 .00 BULK ATOM 11244 H1 TIP3 3449 15.926 21.921 10.241 .00 .00 BULK ATOM 11245 H2 TIP3 3449 14.711 22.469 10.923 .00 .00 BULK ATOM 11246 OH2 TIP3 3450 20.939 -4.016 -5.268 .00 .00 BULK ATOM 11247 H1 TIP3 3450 20.050 -4.128 -5.600 .00 .00 BULK ATOM 11248 H2 TIP3 3450 21.398 -3.542 -6.026 .00 .00 BULK ATOM 11249 OH2 TIP3 3451 20.404 -22.805 -22.612 .00 .00 BULK ATOM 11250 H1 TIP3 3451 21.068 -23.367 -22.098 .00 .00 BULK ATOM 11251 H2 TIP3 3451 20.770 -22.717 -23.498 .00 .00 BULK ATOM 11252 OH2 TIP3 3452 8.354 -14.392 19.690 .00 .00 BULK ATOM 11253 H1 TIP3 3452 8.672 -15.075 19.145 .00 .00 BULK ATOM 11254 H2 TIP3 3452 8.893 -13.633 19.362 .00 .00 BULK ATOM 11255 OH2 TIP3 3453 -4.402 -21.792 -11.172 .00 .00 BULK ATOM 11256 H1 TIP3 3453 -4.353 -22.160 -10.282 .00 .00 BULK ATOM 11257 H2 TIP3 3453 -3.718 -22.242 -11.705 .00 .00 BULK ATOM 11258 OH2 TIP3 3454 26.839 -3.462 -14.904 .00 .00 BULK ATOM 11259 H1 TIP3 3454 26.906 -4.119 -14.242 .00 .00 BULK ATOM 11260 H2 TIP3 3454 26.266 -2.878 -14.406 .00 .00 BULK ATOM 11261 OH2 TIP3 3455 26.756 -14.572 10.883 .00 .00 BULK ATOM 11262 H1 TIP3 3455 26.524 -15.461 11.173 .00 .00 BULK ATOM 11263 H2 TIP3 3455 26.687 -14.147 11.802 .00 .00 BULK ATOM 11264 OH2 TIP3 3456 21.377 -3.105 -14.798 .00 .00 BULK ATOM 11265 H1 TIP3 3456 20.652 -2.483 -14.565 .00 .00 BULK ATOM 11266 H2 TIP3 3456 21.016 -3.585 -15.603 .00 .00 BULK ATOM 11267 OH2 TIP3 3457 2.577 -10.001 -21.979 .00 .00 BULK ATOM 11268 H1 TIP3 3457 3.112 -9.219 -22.056 .00 .00 BULK ATOM 11269 H2 TIP3 3457 3.164 -10.657 -21.594 .00 .00 BULK ATOM 11270 OH2 TIP3 3458 2.405 -13.498 12.738 .00 .00 BULK ATOM 11271 H1 TIP3 3458 2.967 -12.816 13.171 .00 .00 BULK ATOM 11272 H2 TIP3 3458 2.810 -14.375 12.976 .00 .00 BULK ATOM 11273 OH2 TIP3 3459 27.554 -16.385 4.087 .00 .00 BULK ATOM 11274 H1 TIP3 3459 27.488 -15.833 4.918 .00 .00 BULK ATOM 11275 H2 TIP3 3459 27.992 -15.843 3.404 .00 .00 BULK ATOM 11276 OH2 TIP3 3460 -5.166 6.253 20.719 .00 .00 BULK ATOM 11277 H1 TIP3 3460 -4.604 5.918 19.957 .00 .00 BULK ATOM 11278 H2 TIP3 3460 -4.916 7.199 20.695 .00 .00 BULK ATOM 11279 OH2 TIP3 3461 -12.150 -16.909 23.092 .00 .00 BULK ATOM 11280 H1 TIP3 3461 -11.963 -16.761 24.048 .00 .00 BULK ATOM 11281 H2 TIP3 3461 -11.280 -16.925 22.706 .00 .00 BULK ATOM 11282 OH2 TIP3 3462 -25.754 -2.017 -19.285 .00 .00 BULK ATOM 11283 H1 TIP3 3462 -26.672 -1.932 -18.933 .00 .00 BULK ATOM 11284 H2 TIP3 3462 -25.645 -1.250 -19.898 .00 .00 BULK ATOM 11285 OH2 TIP3 3463 -27.252 -16.930 -10.853 .00 .00 BULK ATOM 11286 H1 TIP3 3463 -26.661 -17.009 -10.113 .00 .00 BULK ATOM 11287 H2 TIP3 3463 -28.042 -16.608 -10.448 .00 .00 BULK ATOM 11288 OH2 TIP3 3464 -19.141 4.706 -15.409 .00 .00 BULK ATOM 11289 H1 TIP3 3464 -19.508 4.787 -14.511 .00 .00 BULK ATOM 11290 H2 TIP3 3464 -19.049 5.597 -15.728 .00 .00 BULK ATOM 11291 OH2 TIP3 3465 -13.211 2.321 17.992 .00 .00 BULK ATOM 11292 H1 TIP3 3465 -13.718 2.533 18.774 .00 .00 BULK ATOM 11293 H2 TIP3 3465 -13.812 2.569 17.234 .00 .00 BULK ATOM 11294 OH2 TIP3 3466 -24.145 -7.939 12.947 .00 .00 BULK ATOM 11295 H1 TIP3 3466 -24.347 -8.828 12.598 .00 .00 BULK ATOM 11296 H2 TIP3 3466 -23.307 -7.843 12.464 .00 .00 BULK ATOM 11297 OH2 TIP3 3467 -8.093 20.255 7.782 .00 .00 BULK ATOM 11298 H1 TIP3 3467 -8.564 20.231 8.627 .00 .00 BULK ATOM 11299 H2 TIP3 3467 -7.280 20.692 8.119 .00 .00 BULK ATOM 11300 OH2 TIP3 3468 -.513 -12.730 21.637 .00 .00 BULK ATOM 11301 H1 TIP3 3468 -1.339 -13.296 21.678 .00 .00 BULK ATOM 11302 H2 TIP3 3468 -.009 -13.159 22.391 .00 .00 BULK ATOM 11303 OH2 TIP3 3469 -18.707 6.253 14.565 .00 .00 BULK ATOM 11304 H1 TIP3 3469 -18.303 5.381 14.424 .00 .00 BULK ATOM 11305 H2 TIP3 3469 -19.581 5.950 14.606 .00 .00 BULK ATOM 11306 OH2 TIP3 3470 -16.283 -4.140 10.551 .00 .00 BULK ATOM 11307 H1 TIP3 3470 -16.223 -4.556 11.420 .00 .00 BULK ATOM 11308 H2 TIP3 3470 -15.901 -3.255 10.809 .00 .00 BULK ATOM 11309 OH2 TIP3 3471 -4.349 -11.357 -10.325 .00 .00 BULK ATOM 11310 H1 TIP3 3471 -4.383 -11.932 -9.549 .00 .00 BULK ATOM 11311 H2 TIP3 3471 -4.438 -10.427 -10.036 .00 .00 BULK ATOM 11312 OH2 TIP3 3472 -14.225 .313 20.629 .00 .00 BULK ATOM 11313 H1 TIP3 3472 -13.524 .984 20.708 .00 .00 BULK ATOM 11314 H2 TIP3 3472 -14.954 .859 20.330 .00 .00 BULK ATOM 11315 OH2 TIP3 3473 5.913 -9.898 12.144 .00 .00 BULK ATOM 11316 H1 TIP3 3473 6.423 -9.125 11.872 .00 .00 BULK ATOM 11317 H2 TIP3 3473 5.716 -9.671 13.067 .00 .00 BULK ATOM 11318 OH2 TIP3 3474 -17.190 17.093 -22.870 .00 .00 BULK ATOM 11319 H1 TIP3 3474 -17.273 17.865 -22.263 .00 .00 BULK ATOM 11320 H2 TIP3 3474 -17.591 16.455 -22.248 .00 .00 BULK ATOM 11321 OH2 TIP3 3475 27.702 -19.998 -14.153 .00 .00 BULK ATOM 11322 H1 TIP3 3475 28.104 -20.892 -14.157 .00 .00 BULK ATOM 11323 H2 TIP3 3475 28.128 -19.530 -13.428 .00 .00 BULK ATOM 11324 OH2 TIP3 3476 -6.416 3.402 -23.086 .00 .00 BULK ATOM 11325 H1 TIP3 3476 -6.041 4.311 -23.032 .00 .00 BULK ATOM 11326 H2 TIP3 3476 -5.988 2.969 -23.848 .00 .00 BULK ATOM 11327 OH2 TIP3 3477 -24.760 2.889 19.068 .00 .00 BULK ATOM 11328 H1 TIP3 3477 -25.138 3.133 19.937 .00 .00 BULK ATOM 11329 H2 TIP3 3477 -24.533 1.918 19.268 .00 .00 BULK ATOM 11330 OH2 TIP3 3478 -23.942 -21.984 21.994 .00 .00 BULK ATOM 11331 H1 TIP3 3478 -23.894 -21.805 21.024 .00 .00 BULK ATOM 11332 H2 TIP3 3478 -24.692 -22.605 21.982 .00 .00 BULK ATOM 11333 OH2 TIP3 3479 1.474 16.630 19.679 .00 .00 BULK ATOM 11334 H1 TIP3 3479 1.620 16.847 20.661 .00 .00 BULK ATOM 11335 H2 TIP3 3479 .664 16.002 19.828 .00 .00 BULK ATOM 11336 OH2 TIP3 3480 -5.400 -10.268 -19.824 .00 .00 BULK ATOM 11337 H1 TIP3 3480 -5.391 -9.573 -20.550 .00 .00 BULK ATOM 11338 H2 TIP3 3480 -4.531 -10.634 -19.927 .00 .00 BULK ATOM 11339 OH2 TIP3 3481 -6.436 -21.908 -13.293 .00 .00 BULK ATOM 11340 H1 TIP3 3481 -5.719 -21.441 -12.797 .00 .00 BULK ATOM 11341 H2 TIP3 3481 -6.142 -21.663 -14.146 .00 .00 BULK ATOM 11342 OH2 TIP3 3482 -17.730 -8.396 20.530 .00 .00 BULK ATOM 11343 H1 TIP3 3482 -18.440 -7.746 20.770 .00 .00 BULK ATOM 11344 H2 TIP3 3482 -18.177 -9.241 20.157 .00 .00 BULK ATOM 11345 OH2 TIP3 3483 -.302 .565 20.151 .00 .00 BULK ATOM 11346 H1 TIP3 3483 .468 .437 20.694 .00 .00 BULK ATOM 11347 H2 TIP3 3483 .008 .172 19.344 .00 .00 BULK ATOM 11348 OH2 TIP3 3484 -9.808 5.634 -9.968 .00 .00 BULK ATOM 11349 H1 TIP3 3484 -10.419 5.031 -9.505 .00 .00 BULK ATOM 11350 H2 TIP3 3484 -9.135 5.917 -9.305 .00 .00 BULK ATOM 11351 OH2 TIP3 3485 -6.538 -6.238 18.114 .00 .00 BULK ATOM 11352 H1 TIP3 3485 -7.487 -6.009 18.047 .00 .00 BULK ATOM 11353 H2 TIP3 3485 -6.629 -6.755 18.942 .00 .00 BULK ATOM 11354 OH2 TIP3 3486 23.236 8.656 15.880 .00 .00 BULK ATOM 11355 H1 TIP3 3486 22.513 8.880 16.538 .00 .00 BULK ATOM 11356 H2 TIP3 3486 23.871 9.425 15.857 .00 .00 BULK ATOM 11357 OH2 TIP3 3487 -16.442 -17.061 19.007 .00 .00 BULK ATOM 11358 H1 TIP3 3487 -16.921 -16.601 19.685 .00 .00 BULK ATOM 11359 H2 TIP3 3487 -16.858 -17.928 19.057 .00 .00 BULK ATOM 11360 OH2 TIP3 3488 5.296 -6.349 -10.654 .00 .00 BULK ATOM 11361 H1 TIP3 3488 4.761 -5.637 -10.299 .00 .00 BULK ATOM 11362 H2 TIP3 3488 4.813 -6.383 -11.519 .00 .00 BULK ATOM 11363 OH2 TIP3 3489 -29.019 -10.380 19.813 .00 .00 BULK ATOM 11364 H1 TIP3 3489 -29.703 -10.815 19.290 .00 .00 BULK ATOM 11365 H2 TIP3 3489 -28.434 -11.119 19.935 .00 .00 BULK ATOM 11366 OH2 TIP3 3490 -.627 -18.470 14.425 .00 .00 BULK ATOM 11367 H1 TIP3 3490 -.420 -18.710 13.556 .00 .00 BULK ATOM 11368 H2 TIP3 3490 -1.506 -18.979 14.360 .00 .00 BULK ATOM 11369 OH2 TIP3 3491 6.743 -22.679 2.476 .00 .00 BULK ATOM 11370 H1 TIP3 3491 6.970 -23.080 1.636 .00 .00 BULK ATOM 11371 H2 TIP3 3491 6.261 -23.471 2.937 .00 .00 BULK ATOM 11372 OH2 TIP3 3492 -24.182 10.366 -22.620 .00 .00 BULK ATOM 11373 H1 TIP3 3492 -23.743 9.936 -23.411 .00 .00 BULK ATOM 11374 H2 TIP3 3492 -25.090 9.989 -22.601 .00 .00 BULK ATOM 11375 OH2 TIP3 3493 -11.630 -21.438 16.353 .00 .00 BULK ATOM 11376 H1 TIP3 3493 -11.276 -21.897 15.520 .00 .00 BULK ATOM 11377 H2 TIP3 3493 -12.514 -21.885 16.436 .00 .00 BULK ATOM 11378 OH2 TIP3 3494 -14.854 -1.647 14.750 .00 .00 BULK ATOM 11379 H1 TIP3 3494 -14.754 -.828 15.311 .00 .00 BULK ATOM 11380 H2 TIP3 3494 -14.776 -2.281 15.451 .00 .00 BULK ATOM 11381 OH2 TIP3 3495 4.186 -7.116 16.517 .00 .00 BULK ATOM 11382 H1 TIP3 3495 4.287 -8.004 16.923 .00 .00 BULK ATOM 11383 H2 TIP3 3495 3.664 -6.613 17.196 .00 .00 BULK ATOM 11384 OH2 TIP3 3496 -2.560 -12.068 -15.941 .00 .00 BULK ATOM 11385 H1 TIP3 3496 -1.804 -11.466 -16.131 .00 .00 BULK ATOM 11386 H2 TIP3 3496 -2.550 -11.992 -14.910 .00 .00 BULK ATOM 11387 OH2 TIP3 3497 -17.387 -1.480 19.777 .00 .00 BULK ATOM 11388 H1 TIP3 3497 -16.684 -1.364 19.100 .00 .00 BULK ATOM 11389 H2 TIP3 3497 -18.143 -1.312 19.204 .00 .00 BULK ATOM 11390 OH2 TIP3 3498 -17.427 22.723 3.133 .00 .00 BULK ATOM 11391 H1 TIP3 3498 -18.013 22.873 3.945 .00 .00 BULK ATOM 11392 H2 TIP3 3498 -16.563 22.761 3.556 .00 .00 BULK ATOM 11393 OH2 TIP3 3499 -8.798 14.648 11.626 .00 .00 BULK ATOM 11394 H1 TIP3 3499 -7.825 14.534 11.732 .00 .00 BULK ATOM 11395 H2 TIP3 3499 -9.010 14.537 12.516 .00 .00 BULK ATOM 11396 OH2 TIP3 3500 7.632 -2.002 19.185 .00 .00 BULK ATOM 11397 H1 TIP3 3500 7.142 -2.631 18.642 .00 .00 BULK ATOM 11398 H2 TIP3 3500 7.864 -2.557 19.917 .00 .00 BULK ATOM 11399 OH2 TIP3 3501 -27.161 6.003 17.697 .00 .00 BULK ATOM 11400 H1 TIP3 3501 -26.313 6.419 18.117 .00 .00 BULK ATOM 11401 H2 TIP3 3501 -27.524 5.395 18.385 .00 .00 BULK ATOM 11402 OH2 TIP3 3502 21.117 -6.187 -19.297 .00 .00 BULK ATOM 11403 H1 TIP3 3502 21.937 -6.624 -19.060 .00 .00 BULK ATOM 11404 H2 TIP3 3502 21.428 -5.292 -19.065 .00 .00 BULK ATOM 11405 OH2 TIP3 3503 -2.892 -6.645 -13.741 .00 .00 BULK ATOM 11406 H1 TIP3 3503 -3.695 -6.421 -13.227 .00 .00 BULK ATOM 11407 H2 TIP3 3503 -2.146 -6.479 -13.119 .00 .00 BULK ATOM 11408 OH2 TIP3 3504 -28.706 -4.893 -10.604 .00 .00 BULK ATOM 11409 H1 TIP3 3504 -27.921 -4.390 -10.278 .00 .00 BULK ATOM 11410 H2 TIP3 3504 -29.188 -4.920 -9.788 .00 .00 BULK ATOM 11411 OH2 TIP3 3505 -.154 13.884 15.515 .00 .00 BULK ATOM 11412 H1 TIP3 3505 -.260 13.613 14.570 .00 .00 BULK ATOM 11413 H2 TIP3 3505 .118 14.804 15.526 .00 .00 BULK ATOM 11414 OH2 TIP3 3506 -2.660 -19.216 -12.364 .00 .00 BULK ATOM 11415 H1 TIP3 3506 -3.361 -18.736 -12.763 .00 .00 BULK ATOM 11416 H2 TIP3 3506 -2.756 -20.050 -12.820 .00 .00 BULK ATOM 11417 OH2 TIP3 3507 -24.018 7.159 -12.967 .00 .00 BULK ATOM 11418 H1 TIP3 3507 -23.956 8.075 -13.306 .00 .00 BULK ATOM 11419 H2 TIP3 3507 -23.652 7.205 -12.050 .00 .00 BULK ATOM 11420 OH2 TIP3 3508 27.037 -12.504 -15.090 .00 .00 BULK ATOM 11421 H1 TIP3 3508 27.232 -12.642 -16.041 .00 .00 BULK ATOM 11422 H2 TIP3 3508 26.069 -12.463 -15.181 .00 .00 BULK ATOM 11423 OH2 TIP3 3509 -16.508 5.154 -3.689 .00 .00 BULK ATOM 11424 H1 TIP3 3509 -15.602 4.823 -3.882 .00 .00 BULK ATOM 11425 H2 TIP3 3509 -16.849 5.377 -4.597 .00 .00 BULK ATOM 11426 OH2 TIP3 3510 -18.010 -22.316 -20.348 .00 .00 BULK ATOM 11427 H1 TIP3 3510 -17.157 -21.911 -20.199 .00 .00 BULK ATOM 11428 H2 TIP3 3510 -18.677 -21.741 -19.889 .00 .00 BULK ATOM 11429 OH2 TIP3 3511 23.187 8.927 -7.980 .00 .00 BULK ATOM 11430 H1 TIP3 3511 22.589 9.688 -7.959 .00 .00 BULK ATOM 11431 H2 TIP3 3511 23.860 9.221 -7.266 .00 .00 BULK ATOM 11432 OH2 TIP3 3512 -25.334 11.769 -17.394 .00 .00 BULK ATOM 11433 H1 TIP3 3512 -25.533 11.595 -18.358 .00 .00 BULK ATOM 11434 H2 TIP3 3512 -24.709 11.046 -17.151 .00 .00 BULK ATOM 11435 OH2 TIP3 3513 -.486 21.111 -21.750 .00 .00 BULK ATOM 11436 H1 TIP3 3513 -.122 20.667 -22.536 .00 .00 BULK ATOM 11437 H2 TIP3 3513 .316 21.625 -21.427 .00 .00 BULK ATOM 11438 OH2 TIP3 3514 13.639 -18.629 1.865 .00 .00 BULK ATOM 11439 H1 TIP3 3514 13.161 -19.437 1.974 .00 .00 BULK ATOM 11440 H2 TIP3 3514 13.360 -18.421 .998 .00 .00 BULK ATOM 11441 OH2 TIP3 3515 27.783 19.748 -13.864 .00 .00 BULK ATOM 11442 H1 TIP3 3515 27.408 19.928 -14.743 .00 .00 BULK ATOM 11443 H2 TIP3 3515 27.306 18.970 -13.631 .00 .00 BULK ATOM 11444 OH2 TIP3 3516 -24.126 -23.179 -15.725 .00 .00 BULK ATOM 11445 H1 TIP3 3516 -25.063 -22.928 -15.987 .00 .00 BULK ATOM 11446 H2 TIP3 3516 -23.543 -22.981 -16.582 .00 .00 BULK ATOM 11447 OH2 TIP3 3517 29.631 19.515 -16.005 .00 .00 BULK ATOM 11448 H1 TIP3 3517 29.533 18.561 -15.836 .00 .00 BULK ATOM 11449 H2 TIP3 3517 30.282 19.462 -16.690 .00 .00 BULK ATOM 11450 OH2 TIP3 3518 -20.160 -17.877 -6.949 .00 .00 BULK ATOM 11451 H1 TIP3 3518 -19.255 -17.605 -7.359 .00 .00 BULK ATOM 11452 H2 TIP3 3518 -20.755 -17.657 -7.667 .00 .00 BULK ATOM 11453 OH2 TIP3 3519 13.197 5.134 -8.376 .00 .00 BULK ATOM 11454 H1 TIP3 3519 12.843 4.265 -8.225 .00 .00 BULK ATOM 11455 H2 TIP3 3519 13.065 5.024 -9.313 .00 .00 BULK ATOM 11456 OH2 TIP3 3520 13.099 19.895 -1.505 .00 .00 BULK ATOM 11457 H1 TIP3 3520 13.147 18.972 -1.058 .00 .00 BULK ATOM 11458 H2 TIP3 3520 12.414 20.342 -1.023 .00 .00 BULK ATOM 11459 OH2 TIP3 3521 -6.492 11.846 -16.945 .00 .00 BULK ATOM 11460 H1 TIP3 3521 -6.534 12.433 -16.160 .00 .00 BULK ATOM 11461 H2 TIP3 3521 -7.291 11.270 -16.868 .00 .00 BULK ATOM 11462 OH2 TIP3 3522 9.283 20.244 -15.024 .00 .00 BULK ATOM 11463 H1 TIP3 3522 9.183 19.298 -15.156 .00 .00 BULK ATOM 11464 H2 TIP3 3522 8.715 20.329 -14.213 .00 .00 BULK ATOM 11465 OH2 TIP3 3523 27.846 -21.340 -19.490 .00 .00 BULK ATOM 11466 H1 TIP3 3523 27.705 -22.103 -18.880 .00 .00 BULK ATOM 11467 H2 TIP3 3523 26.973 -20.922 -19.396 .00 .00 BULK ATOM 11468 OH2 TIP3 3524 -28.976 -19.117 -14.844 .00 .00 BULK ATOM 11469 H1 TIP3 3524 -28.596 -19.026 -13.960 .00 .00 BULK ATOM 11470 H2 TIP3 3524 -29.527 -18.348 -14.920 .00 .00 BULK ATOM 11471 OH2 TIP3 3525 -22.167 -2.734 9.840 .00 .00 BULK ATOM 11472 H1 TIP3 3525 -21.232 -2.720 9.715 .00 .00 BULK ATOM 11473 H2 TIP3 3525 -22.345 -3.361 9.055 .00 .00 BULK ATOM 11474 OH2 TIP3 3526 16.244 -3.957 -10.347 .00 .00 BULK ATOM 11475 H1 TIP3 3526 15.657 -3.604 -9.610 .00 .00 BULK ATOM 11476 H2 TIP3 3526 16.052 -3.257 -10.971 .00 .00 BULK ATOM 11477 OH2 TIP3 3527 -4.819 -17.721 4.037 .00 .00 BULK ATOM 11478 H1 TIP3 3527 -4.615 -16.953 4.617 .00 .00 BULK ATOM 11479 H2 TIP3 3527 -5.508 -17.420 3.413 .00 .00 BULK ATOM 11480 OH2 TIP3 3528 -18.094 14.664 -15.744 .00 .00 BULK ATOM 11481 H1 TIP3 3528 -17.835 13.811 -16.190 .00 .00 BULK ATOM 11482 H2 TIP3 3528 -18.993 14.655 -15.991 .00 .00 BULK ATOM 11483 OH2 TIP3 3529 -24.138 .993 -7.692 .00 .00 BULK ATOM 11484 H1 TIP3 3529 -23.846 .424 -6.907 .00 .00 BULK ATOM 11485 H2 TIP3 3529 -23.636 .583 -8.422 .00 .00 BULK ATOM 11486 OH2 TIP3 3530 -27.739 .520 -22.048 .00 .00 BULK ATOM 11487 H1 TIP3 3530 -27.180 .842 -22.823 .00 .00 BULK ATOM 11488 H2 TIP3 3530 -27.473 -.453 -22.062 .00 .00 BULK ATOM 11489 OH2 TIP3 3531 -11.672 18.972 -5.186 .00 .00 BULK ATOM 11490 H1 TIP3 3531 -11.838 18.658 -4.289 .00 .00 BULK ATOM 11491 H2 TIP3 3531 -11.597 19.970 -5.144 .00 .00 BULK ATOM 11492 OH2 TIP3 3532 21.880 8.534 -17.506 .00 .00 BULK ATOM 11493 H1 TIP3 3532 22.508 7.791 -17.624 .00 .00 BULK ATOM 11494 H2 TIP3 3532 22.474 9.278 -17.485 .00 .00 BULK ATOM 11495 OH2 TIP3 3533 18.036 12.598 -13.951 .00 .00 BULK ATOM 11496 H1 TIP3 3533 18.038 13.185 -13.153 .00 .00 BULK ATOM 11497 H2 TIP3 3533 17.826 11.757 -13.468 .00 .00 BULK ATOM 11498 OH2 TIP3 3534 -21.028 10.325 -7.759 .00 .00 BULK ATOM 11499 H1 TIP3 3534 -21.620 9.893 -8.365 .00 .00 BULK ATOM 11500 H2 TIP3 3534 -20.719 11.103 -8.302 .00 .00 BULK ATOM 11501 OH2 TIP3 3535 -25.174 3.823 .620 .00 .00 BULK ATOM 11502 H1 TIP3 3535 -24.361 3.363 .773 .00 .00 BULK ATOM 11503 H2 TIP3 3535 -24.837 4.683 .403 .00 .00 BULK ATOM 11504 OH2 TIP3 3536 -22.467 6.806 -23.343 .00 .00 BULK ATOM 11505 H1 TIP3 3536 -22.987 7.011 -22.526 .00 .00 BULK ATOM 11506 H2 TIP3 3536 -21.585 6.506 -23.096 .00 .00 BULK ATOM 11507 OH2 TIP3 3537 -18.973 4.178 -23.372 .00 .00 BULK ATOM 11508 H1 TIP3 3537 -19.535 3.501 -22.984 .00 .00 BULK ATOM 11509 H2 TIP3 3537 -19.655 4.697 -23.869 .00 .00 BULK ATOM 11510 OH2 TIP3 3538 -21.132 -20.660 .756 .00 .00 BULK ATOM 11511 H1 TIP3 3538 -20.489 -20.288 1.348 .00 .00 BULK ATOM 11512 H2 TIP3 3538 -21.121 -21.609 1.039 .00 .00 BULK ATOM 11513 OH2 TIP3 3539 24.201 20.403 -12.120 .00 .00 BULK ATOM 11514 H1 TIP3 3539 23.560 20.293 -11.379 .00 .00 BULK ATOM 11515 H2 TIP3 3539 23.942 21.220 -12.589 .00 .00 BULK ATOM 11516 OH2 TIP3 3540 -26.421 19.248 8.615 .00 .00 BULK ATOM 11517 H1 TIP3 3540 -25.779 19.866 8.199 .00 .00 BULK ATOM 11518 H2 TIP3 3540 -26.041 18.393 8.344 .00 .00 BULK ATOM 11519 OH2 TIP3 3541 -27.532 19.265 -6.559 .00 .00 BULK ATOM 11520 H1 TIP3 3541 -27.682 19.308 -7.547 .00 .00 BULK ATOM 11521 H2 TIP3 3541 -27.890 20.125 -6.285 .00 .00 BULK ATOM 11522 OH2 TIP3 3542 -25.367 6.076 6.797 .00 .00 BULK ATOM 11523 H1 TIP3 3542 -25.977 5.327 6.831 .00 .00 BULK ATOM 11524 H2 TIP3 3542 -24.480 5.668 6.870 .00 .00 BULK ATOM 11525 OH2 TIP3 3543 -26.722 13.844 -19.161 .00 .00 BULK ATOM 11526 H1 TIP3 3543 -26.894 12.970 -19.648 .00 .00 BULK ATOM 11527 H2 TIP3 3543 -26.561 14.412 -19.954 .00 .00 BULK ATOM 11528 OH2 TIP3 3544 -23.584 13.215 -19.756 .00 .00 BULK ATOM 11529 H1 TIP3 3544 -24.168 13.486 -20.502 .00 .00 BULK ATOM 11530 H2 TIP3 3544 -24.128 13.695 -19.118 .00 .00 BULK ATOM 11531 OH2 TIP3 3545 28.655 8.523 .576 .00 .00 BULK ATOM 11532 H1 TIP3 3545 28.992 7.658 .951 .00 .00 BULK ATOM 11533 H2 TIP3 3545 27.682 8.387 .582 .00 .00 BULK ATOM 11534 OH2 TIP3 3546 -20.321 5.291 8.529 .00 .00 BULK ATOM 11535 H1 TIP3 3546 -21.199 5.191 8.099 .00 .00 BULK ATOM 11536 H2 TIP3 3546 -20.283 6.255 8.519 .00 .00 BULK ATOM 11537 OH2 TIP3 3547 -24.683 18.859 -6.715 .00 .00 BULK ATOM 11538 H1 TIP3 3547 -24.798 18.122 -7.321 .00 .00 BULK ATOM 11539 H2 TIP3 3547 -25.620 18.988 -6.606 .00 .00 BULK ATOM 11540 OH2 TIP3 3548 5.262 6.013 -15.248 .00 .00 BULK ATOM 11541 H1 TIP3 3548 6.171 6.191 -14.966 .00 .00 BULK ATOM 11542 H2 TIP3 3548 5.297 5.063 -15.373 .00 .00 BULK ATOM 11543 OH2 TIP3 3549 -8.094 19.131 -14.443 .00 .00 BULK ATOM 11544 H1 TIP3 3549 -8.312 19.360 -13.555 .00 .00 BULK ATOM 11545 H2 TIP3 3549 -7.335 19.590 -14.629 .00 .00 BULK ATOM 11546 OH2 TIP3 3550 -16.079 -20.265 18.785 .00 .00 BULK ATOM 11547 H1 TIP3 3550 -15.280 -19.818 19.141 .00 .00 BULK ATOM 11548 H2 TIP3 3550 -16.368 -20.883 19.449 .00 .00 BULK ATOM 11549 OH2 TIP3 3551 -17.627 4.976 -17.773 .00 .00 BULK ATOM 11550 H1 TIP3 3551 -16.843 4.694 -17.262 .00 .00 BULK ATOM 11551 H2 TIP3 3551 -17.768 5.893 -17.468 .00 .00 BULK ATOM 11552 OH2 TIP3 3552 -17.273 -8.257 13.523 .00 .00 BULK ATOM 11553 H1 TIP3 3552 -17.751 -7.410 13.670 .00 .00 BULK ATOM 11554 H2 TIP3 3552 -16.359 -7.865 13.484 .00 .00 BULK ATOM 11555 OH2 TIP3 3553 -24.086 15.806 19.903 .00 .00 BULK ATOM 11556 H1 TIP3 3553 -24.844 16.417 20.088 .00 .00 BULK ATOM 11557 H2 TIP3 3553 -24.691 15.010 19.999 .00 .00 BULK ATOM 11558 OH2 TIP3 3554 -27.799 15.826 -16.923 .00 .00 BULK ATOM 11559 H1 TIP3 3554 -27.329 16.610 -17.388 .00 .00 BULK ATOM 11560 H2 TIP3 3554 -27.442 15.096 -17.521 .00 .00 BULK ATOM 11561 OH2 TIP3 3555 17.037 12.559 -3.969 .00 .00 BULK ATOM 11562 H1 TIP3 3555 17.520 13.246 -3.510 .00 .00 BULK ATOM 11563 H2 TIP3 3555 16.341 12.454 -3.314 .00 .00 BULK ATOM 11564 OH2 TIP3 3556 1.904 -17.962 15.064 .00 .00 BULK ATOM 11565 H1 TIP3 3556 1.968 -18.791 15.578 .00 .00 BULK ATOM 11566 H2 TIP3 3556 .956 -18.055 14.875 .00 .00 BULK ATOM 11567 OH2 TIP3 3557 -15.787 17.128 -12.124 .00 .00 BULK ATOM 11568 H1 TIP3 3557 -16.021 16.544 -12.831 .00 .00 BULK ATOM 11569 H2 TIP3 3557 -14.901 17.364 -12.503 .00 .00 BULK ATOM 11570 OH2 TIP3 3558 6.440 4.624 21.591 .00 .00 BULK ATOM 11571 H1 TIP3 3558 5.548 4.922 21.275 .00 .00 BULK ATOM 11572 H2 TIP3 3558 6.898 4.622 20.736 .00 .00 BULK ATOM 11573 OH2 TIP3 3559 -29.118 10.922 -2.026 .00 .00 BULK ATOM 11574 H1 TIP3 3559 -29.988 10.782 -1.662 .00 .00 BULK ATOM 11575 H2 TIP3 3559 -28.736 10.122 -1.632 .00 .00 BULK ATOM 11576 OH2 TIP3 3560 25.285 -12.442 -6.987 .00 .00 BULK ATOM 11577 H1 TIP3 3560 24.365 -12.257 -7.295 .00 .00 BULK ATOM 11578 H2 TIP3 3560 25.780 -12.610 -7.799 .00 .00 BULK ATOM 11579 OH2 TIP3 3561 10.796 -17.547 -16.059 .00 .00 BULK ATOM 11580 H1 TIP3 3561 10.321 -17.353 -16.852 .00 .00 BULK ATOM 11581 H2 TIP3 3561 11.391 -16.760 -16.092 .00 .00 BULK ATOM 11582 OH2 TIP3 3562 -18.920 7.377 -19.528 .00 .00 BULK ATOM 11583 H1 TIP3 3562 -18.931 6.498 -19.147 .00 .00 BULK ATOM 11584 H2 TIP3 3562 -19.475 7.945 -18.949 .00 .00 BULK ATOM 11585 OH2 TIP3 3563 27.876 -21.728 5.383 .00 .00 BULK ATOM 11586 H1 TIP3 3563 27.473 -21.796 6.269 .00 .00 BULK ATOM 11587 H2 TIP3 3563 28.692 -21.350 5.531 .00 .00 BULK ATOM 11588 OH2 TIP3 3564 -20.415 19.241 10.032 .00 .00 BULK ATOM 11589 H1 TIP3 3564 -20.022 20.131 9.711 .00 .00 BULK ATOM 11590 H2 TIP3 3564 -19.557 18.857 10.354 .00 .00 BULK ATOM 11591 OH2 TIP3 3565 10.572 -1.587 18.339 .00 .00 BULK ATOM 11592 H1 TIP3 3565 9.679 -1.256 18.197 .00 .00 BULK ATOM 11593 H2 TIP3 3565 10.511 -2.546 18.498 .00 .00 BULK ATOM 11594 OH2 TIP3 3566 15.294 7.582 -19.581 .00 .00 BULK ATOM 11595 H1 TIP3 3566 15.698 8.070 -18.831 .00 .00 BULK ATOM 11596 H2 TIP3 3566 14.680 8.189 -19.988 .00 .00 BULK ATOM 11597 OH2 TIP3 3567 -5.168 18.607 -.657 .00 .00 BULK ATOM 11598 H1 TIP3 3567 -4.890 17.895 -1.244 .00 .00 BULK ATOM 11599 H2 TIP3 3567 -6.134 18.497 -.927 .00 .00 BULK ATOM 11600 OH2 TIP3 3568 -14.421 -22.723 -21.889 .00 .00 BULK ATOM 11601 H1 TIP3 3568 -15.029 -21.996 -21.445 .00 .00 BULK ATOM 11602 H2 TIP3 3568 -14.243 -22.278 -22.702 .00 .00 BULK ATOM 11603 OH2 TIP3 3569 -26.529 -14.940 8.030 .00 .00 BULK ATOM 11604 H1 TIP3 3569 -26.959 -15.238 8.856 .00 .00 BULK ATOM 11605 H2 TIP3 3569 -27.257 -14.925 7.391 .00 .00 BULK ATOM 11606 OH2 TIP3 3570 -4.295 12.206 -1.558 .00 .00 BULK ATOM 11607 H1 TIP3 3570 -4.167 11.958 -2.486 .00 .00 BULK ATOM 11608 H2 TIP3 3570 -3.451 12.743 -1.447 .00 .00 BULK ATOM 11609 OH2 TIP3 3571 17.658 -16.715 6.124 .00 .00 BULK ATOM 11610 H1 TIP3 3571 17.707 -17.325 5.402 .00 .00 BULK ATOM 11611 H2 TIP3 3571 16.745 -16.880 6.190 .00 .00 BULK ATOM 11612 OH2 TIP3 3572 -12.134 15.069 -6.374 .00 .00 BULK ATOM 11613 H1 TIP3 3572 -12.791 15.794 -6.167 .00 .00 BULK ATOM 11614 H2 TIP3 3572 -12.507 14.844 -7.239 .00 .00 BULK ATOM 11615 OH2 TIP3 3573 -16.856 -9.975 -14.749 .00 .00 BULK ATOM 11616 H1 TIP3 3573 -16.272 -9.966 -15.560 .00 .00 BULK ATOM 11617 H2 TIP3 3573 -17.648 -9.566 -15.077 .00 .00 BULK ATOM 11618 OH2 TIP3 3574 -16.261 -21.940 -16.114 .00 .00 BULK ATOM 11619 H1 TIP3 3574 -16.089 -21.542 -15.215 .00 .00 BULK ATOM 11620 H2 TIP3 3574 -16.395 -22.791 -15.699 .00 .00 BULK ATOM 11621 OH2 TIP3 3575 -23.895 17.494 -12.849 .00 .00 BULK ATOM 11622 H1 TIP3 3575 -23.708 16.656 -12.272 .00 .00 BULK ATOM 11623 H2 TIP3 3575 -23.279 18.041 -12.355 .00 .00 BULK ATOM 11624 OH2 TIP3 3576 -19.655 -.193 2.151 .00 .00 BULK ATOM 11625 H1 TIP3 3576 -19.608 .780 2.131 .00 .00 BULK ATOM 11626 H2 TIP3 3576 -19.260 -.384 1.312 .00 .00 BULK ATOM 11627 OH2 TIP3 3577 -7.201 -22.462 -10.440 .00 .00 BULK ATOM 11628 H1 TIP3 3577 -6.701 -21.836 -9.895 .00 .00 BULK ATOM 11629 H2 TIP3 3577 -6.540 -22.710 -11.173 .00 .00 BULK ATOM 11630 OH2 TIP3 3578 -20.156 7.083 -21.965 .00 .00 BULK ATOM 11631 H1 TIP3 3578 -19.644 7.157 -21.151 .00 .00 BULK ATOM 11632 H2 TIP3 3578 -19.657 7.625 -22.611 .00 .00 BULK ATOM 11633 OH2 TIP3 3579 -4.370 -16.696 -19.115 .00 .00 BULK ATOM 11634 H1 TIP3 3579 -5.052 -16.130 -18.542 .00 .00 BULK ATOM 11635 H2 TIP3 3579 -4.839 -16.884 -19.923 .00 .00 BULK ATOM 11636 OH2 TIP3 3580 -22.415 -19.979 -15.888 .00 .00 BULK ATOM 11637 H1 TIP3 3580 -22.772 -19.239 -16.438 .00 .00 BULK ATOM 11638 H2 TIP3 3580 -22.484 -20.794 -16.400 .00 .00 BULK ATOM 11639 OH2 TIP3 3581 -16.370 -15.086 -7.699 .00 .00 BULK ATOM 11640 H1 TIP3 3581 -15.569 -15.510 -7.869 .00 .00 BULK ATOM 11641 H2 TIP3 3581 -16.861 -15.911 -7.755 .00 .00 BULK ATOM 11642 OH2 TIP3 3582 18.912 22.308 22.016 .00 .00 BULK ATOM 11643 H1 TIP3 3582 19.471 23.089 22.176 .00 .00 BULK ATOM 11644 H2 TIP3 3582 18.868 22.414 21.013 .00 .00 BULK ATOM 11645 OH2 TIP3 3583 -23.790 3.676 -8.150 .00 .00 BULK ATOM 11646 H1 TIP3 3583 -22.890 3.522 -8.457 .00 .00 BULK ATOM 11647 H2 TIP3 3583 -24.148 2.762 -8.143 .00 .00 BULK ATOM 11648 OH2 TIP3 3584 19.292 -6.572 20.641 .00 .00 BULK ATOM 11649 H1 TIP3 3584 19.842 -6.646 21.401 .00 .00 BULK ATOM 11650 H2 TIP3 3584 18.869 -5.709 20.937 .00 .00 BULK ATOM 11651 OH2 TIP3 3585 -13.533 21.787 14.757 .00 .00 BULK ATOM 11652 H1 TIP3 3585 -13.279 21.135 14.011 .00 .00 BULK ATOM 11653 H2 TIP3 3585 -13.967 21.209 15.367 .00 .00 BULK ATOM 11654 OH2 TIP3 3586 28.564 -9.109 16.322 .00 .00 BULK ATOM 11655 H1 TIP3 3586 28.695 -8.280 16.879 .00 .00 BULK ATOM 11656 H2 TIP3 3586 28.779 -8.762 15.457 .00 .00 BULK ATOM 11657 OH2 TIP3 3587 -20.558 -21.832 -15.530 .00 .00 BULK ATOM 11658 H1 TIP3 3587 -21.282 -21.172 -15.416 .00 .00 BULK ATOM 11659 H2 TIP3 3587 -19.861 -21.331 -15.196 .00 .00 BULK ATOM 11660 OH2 TIP3 3588 20.111 -16.219 -16.406 .00 .00 BULK ATOM 11661 H1 TIP3 3588 21.072 -16.256 -16.573 .00 .00 BULK ATOM 11662 H2 TIP3 3588 20.065 -17.130 -16.102 .00 .00 BULK ATOM 11663 OH2 TIP3 3589 28.835 -16.719 21.815 .00 .00 BULK ATOM 11664 H1 TIP3 3589 29.105 -15.935 21.420 .00 .00 BULK ATOM 11665 H2 TIP3 3589 28.336 -16.296 22.536 .00 .00 BULK ATOM 11666 OH2 TIP3 3590 5.391 -16.803 -15.854 .00 .00 BULK ATOM 11667 H1 TIP3 3590 5.943 -16.727 -15.008 .00 .00 BULK ATOM 11668 H2 TIP3 3590 6.067 -17.116 -16.476 .00 .00 BULK ATOM 11669 OH2 TIP3 3591 -6.733 -21.480 10.010 .00 .00 BULK ATOM 11670 H1 TIP3 3591 -6.785 -21.718 9.052 .00 .00 BULK ATOM 11671 H2 TIP3 3591 -7.663 -21.603 10.198 .00 .00 BULK ATOM 11672 OH2 TIP3 3592 22.291 22.597 6.357 .00 .00 BULK ATOM 11673 H1 TIP3 3592 22.985 22.148 6.889 .00 .00 BULK ATOM 11674 H2 TIP3 3592 22.802 23.142 5.734 .00 .00 BULK ATOM 11675 OH2 TIP3 3593 -21.980 -4.522 -18.611 .00 .00 BULK ATOM 11676 H1 TIP3 3593 -22.953 -4.620 -18.505 .00 .00 BULK ATOM 11677 H2 TIP3 3593 -21.919 -3.701 -18.104 .00 .00 BULK ATOM 11678 OH2 TIP3 3594 -16.667 .515 22.564 .00 .00 BULK ATOM 11679 H1 TIP3 3594 -16.465 -.501 22.448 .00 .00 BULK ATOM 11680 H2 TIP3 3594 -16.486 .944 21.743 .00 .00 BULK ATOM 11681 OH2 TIP3 3595 -12.178 -6.570 -9.434 .00 .00 BULK ATOM 11682 H1 TIP3 3595 -11.643 -6.326 -10.158 .00 .00 BULK ATOM 11683 H2 TIP3 3595 -13.064 -6.606 -9.780 .00 .00 BULK ATOM 11684 OH2 TIP3 3596 -6.522 -21.476 .443 .00 .00 BULK ATOM 11685 H1 TIP3 3596 -6.204 -22.392 .601 .00 .00 BULK ATOM 11686 H2 TIP3 3596 -5.771 -20.970 .896 .00 .00 BULK ATOM 11687 OH2 TIP3 3597 26.582 -20.171 11.218 .00 .00 BULK ATOM 11688 H1 TIP3 3597 26.483 -21.080 11.192 .00 .00 BULK ATOM 11689 H2 TIP3 3597 26.513 -20.046 12.201 .00 .00 BULK ATOM 11690 OH2 TIP3 3598 -11.478 -12.907 22.173 .00 .00 BULK ATOM 11691 H1 TIP3 3598 -11.838 -12.027 21.992 .00 .00 BULK ATOM 11692 H2 TIP3 3598 -10.576 -12.675 22.474 .00 .00 BULK ATOM 11693 OH2 TIP3 3599 -2.655 16.062 -21.748 .00 .00 BULK ATOM 11694 H1 TIP3 3599 -3.118 15.931 -22.596 .00 .00 BULK ATOM 11695 H2 TIP3 3599 -3.236 15.887 -20.973 .00 .00 BULK ATOM 11696 OH2 TIP3 3600 29.651 16.121 15.224 .00 .00 BULK ATOM 11697 H1 TIP3 3600 29.524 17.146 15.185 .00 .00 BULK ATOM 11698 H2 TIP3 3600 28.743 15.910 14.978 .00 .00 BULK ATOM 11699 OH2 TIP3 3601 18.621 5.738 7.168 .00 .00 BULK ATOM 11700 H1 TIP3 3601 19.189 5.218 7.734 .00 .00 BULK ATOM 11701 H2 TIP3 3601 18.632 5.065 6.453 .00 .00 BULK ATOM 11702 OH2 TIP3 3602 -12.678 20.705 -10.271 .00 .00 BULK ATOM 11703 H1 TIP3 3602 -13.497 20.458 -9.880 .00 .00 BULK ATOM 11704 H2 TIP3 3602 -12.630 20.065 -10.969 .00 .00 BULK ATOM 11705 OH2 TIP3 3603 -2.285 20.765 -10.101 .00 .00 BULK ATOM 11706 H1 TIP3 3603 -3.056 20.505 -9.466 .00 .00 BULK ATOM 11707 H2 TIP3 3603 -2.296 20.024 -10.738 .00 .00 BULK ATOM 11708 OH2 TIP3 3604 -4.279 23.779 -8.967 .00 .00 BULK ATOM 11709 H1 TIP3 3604 -3.493 23.267 -9.286 .00 .00 BULK ATOM 11710 H2 TIP3 3604 -4.487 23.430 -8.087 .00 .00 BULK ATOM 11711 OH2 TIP3 3605 -6.150 -16.064 14.328 .00 .00 BULK ATOM 11712 H1 TIP3 3605 -5.556 -15.318 14.346 .00 .00 BULK ATOM 11713 H2 TIP3 3605 -5.568 -16.773 14.060 .00 .00 BULK ATOM 11714 OH2 TIP3 3606 9.249 -19.880 1.284 .00 .00 BULK ATOM 11715 H1 TIP3 3606 9.447 -20.713 1.752 .00 .00 BULK ATOM 11716 H2 TIP3 3606 10.195 -19.657 1.098 .00 .00 BULK ATOM 11717 OH2 TIP3 3607 11.106 12.305 -13.410 .00 .00 BULK ATOM 11718 H1 TIP3 3607 11.558 12.810 -12.701 .00 .00 BULK ATOM 11719 H2 TIP3 3607 10.295 12.164 -12.974 .00 .00 BULK ATOM 11720 OH2 TIP3 3608 -5.703 -19.815 -9.847 .00 .00 BULK ATOM 11721 H1 TIP3 3608 -5.769 -18.885 -10.220 .00 .00 BULK ATOM 11722 H2 TIP3 3608 -5.304 -20.267 -10.600 .00 .00 BULK ATOM 11723 OH2 TIP3 3609 -29.240 -14.618 -20.497 .00 .00 BULK ATOM 11724 H1 TIP3 3609 -29.383 -14.663 -21.483 .00 .00 BULK ATOM 11725 H2 TIP3 3609 -29.756 -13.818 -20.109 .00 .00 BULK ATOM 11726 OH2 TIP3 3610 -20.961 -.060 18.242 .00 .00 BULK ATOM 11727 H1 TIP3 3610 -21.268 .487 17.504 .00 .00 BULK ATOM 11728 H2 TIP3 3610 -20.021 -.308 17.951 .00 .00 BULK ATOM 11729 OH2 TIP3 3611 -21.792 -14.768 -16.731 .00 .00 BULK ATOM 11730 H1 TIP3 3611 -21.381 -15.530 -17.090 .00 .00 BULK ATOM 11731 H2 TIP3 3611 -21.446 -14.069 -17.306 .00 .00 BULK ATOM 11732 OH2 TIP3 3612 11.189 4.908 16.597 .00 .00 BULK ATOM 11733 H1 TIP3 3612 10.767 4.120 16.994 .00 .00 BULK ATOM 11734 H2 TIP3 3612 12.097 4.603 16.670 .00 .00 BULK ATOM 11735 OH2 TIP3 3613 -.433 -1.058 -15.384 .00 .00 BULK ATOM 11736 H1 TIP3 3613 -1.371 -1.232 -15.520 .00 .00 BULK ATOM 11737 H2 TIP3 3613 -.427 -.109 -15.654 .00 .00 BULK ATOM 11738 OH2 TIP3 3614 27.920 12.322 -18.836 .00 .00 BULK ATOM 11739 H1 TIP3 3614 27.309 12.997 -19.145 .00 .00 BULK ATOM 11740 H2 TIP3 3614 28.648 12.914 -18.490 .00 .00 BULK ATOM 11741 OH2 TIP3 3615 -9.876 -10.357 -13.418 .00 .00 BULK ATOM 11742 H1 TIP3 3615 -9.787 -10.056 -14.332 .00 .00 BULK ATOM 11743 H2 TIP3 3615 -10.380 -11.174 -13.613 .00 .00 BULK ATOM 11744 OH2 TIP3 3616 -8.774 -12.120 22.781 .00 .00 BULK ATOM 11745 H1 TIP3 3616 -9.168 -12.198 23.695 .00 .00 BULK ATOM 11746 H2 TIP3 3616 -7.935 -11.730 22.994 .00 .00 BULK ATOM 11747 OH2 TIP3 3617 28.496 3.086 -5.290 .00 .00 BULK ATOM 11748 H1 TIP3 3617 28.792 3.951 -5.726 .00 .00 BULK ATOM 11749 H2 TIP3 3617 27.940 3.441 -4.525 .00 .00 BULK ATOM 11750 OH2 TIP3 3618 23.585 17.183 -19.875 .00 .00 BULK ATOM 11751 H1 TIP3 3618 24.376 17.687 -20.242 .00 .00 BULK ATOM 11752 H2 TIP3 3618 23.631 17.428 -18.908 .00 .00 BULK ATOM 11753 OH2 TIP3 3619 -2.926 -19.399 -19.126 .00 .00 BULK ATOM 11754 H1 TIP3 3619 -3.491 -18.591 -19.141 .00 .00 BULK ATOM 11755 H2 TIP3 3619 -2.330 -19.166 -19.862 .00 .00 BULK ATOM 11756 OH2 TIP3 3620 -21.892 -4.656 7.398 .00 .00 BULK ATOM 11757 H1 TIP3 3620 -22.270 -5.008 6.578 .00 .00 BULK ATOM 11758 H2 TIP3 3620 -21.789 -5.498 7.804 .00 .00 BULK ATOM 11759 OH2 TIP3 3621 1.315 16.807 22.367 .00 .00 BULK ATOM 11760 H1 TIP3 3621 2.305 16.657 22.552 .00 .00 BULK ATOM 11761 H2 TIP3 3621 .909 15.914 22.500 .00 .00 BULK ATOM 11762 OH2 TIP3 3622 25.435 -16.050 -5.098 .00 .00 BULK ATOM 11763 H1 TIP3 3622 24.546 -16.115 -5.294 .00 .00 BULK ATOM 11764 H2 TIP3 3622 25.794 -16.015 -5.986 .00 .00 BULK ATOM 11765 OH2 TIP3 3623 5.750 -4.308 -17.849 .00 .00 BULK ATOM 11766 H1 TIP3 3623 4.975 -3.737 -17.967 .00 .00 BULK ATOM 11767 H2 TIP3 3623 6.439 -3.683 -18.219 .00 .00 BULK ATOM 11768 OH2 TIP3 3624 -19.420 -5.269 16.079 .00 .00 BULK ATOM 11769 H1 TIP3 3624 -18.453 -5.403 16.018 .00 .00 BULK ATOM 11770 H2 TIP3 3624 -19.458 -4.402 15.783 .00 .00 BULK ATOM 11771 OH2 TIP3 3625 -4.098 12.517 15.103 .00 .00 BULK ATOM 11772 H1 TIP3 3625 -5.025 12.140 15.176 .00 .00 BULK ATOM 11773 H2 TIP3 3625 -3.633 11.747 14.728 .00 .00 BULK ATOM 11774 OH2 TIP3 3626 -9.473 19.778 -12.004 .00 .00 BULK ATOM 11775 H1 TIP3 3626 -10.023 20.253 -12.639 .00 .00 BULK ATOM 11776 H2 TIP3 3626 -9.009 20.507 -11.579 .00 .00 BULK ATOM 11777 OH2 TIP3 3627 12.106 22.026 -19.440 .00 .00 BULK ATOM 11778 H1 TIP3 3627 13.099 21.981 -19.360 .00 .00 BULK ATOM 11779 H2 TIP3 3627 11.886 21.573 -18.666 .00 .00 BULK ATOM 11780 OH2 TIP3 3628 1.382 -3.527 -9.699 .00 .00 BULK ATOM 11781 H1 TIP3 3628 1.817 -2.687 -9.621 .00 .00 BULK ATOM 11782 H2 TIP3 3628 1.778 -3.680 -10.551 .00 .00 BULK ATOM 11783 OH2 TIP3 3629 -14.282 -9.445 -8.018 .00 .00 BULK ATOM 11784 H1 TIP3 3629 -13.448 -9.767 -8.475 .00 .00 BULK ATOM 11785 H2 TIP3 3629 -14.596 -10.377 -7.805 .00 .00 BULK ATOM 11786 OH2 TIP3 3630 -18.875 -3.800 6.447 .00 .00 BULK ATOM 11787 H1 TIP3 3630 -19.004 -4.644 5.938 .00 .00 BULK ATOM 11788 H2 TIP3 3630 -18.804 -4.000 7.368 .00 .00 BULK ATOM 11789 OH2 TIP3 3631 -12.166 4.956 9.762 .00 .00 BULK ATOM 11790 H1 TIP3 3631 -11.336 5.146 9.335 .00 .00 BULK ATOM 11791 H2 TIP3 3631 -12.322 5.821 10.178 .00 .00 BULK ATOM 11792 OH2 TIP3 3632 -.082 -8.297 16.333 .00 .00 BULK ATOM 11793 H1 TIP3 3632 -1.064 -8.421 16.492 .00 .00 BULK ATOM 11794 H2 TIP3 3632 -.294 -7.626 15.702 .00 .00 BULK ATOM 11795 OH2 TIP3 3633 18.559 -22.147 -13.001 .00 .00 BULK ATOM 11796 H1 TIP3 3633 18.968 -21.351 -13.363 .00 .00 BULK ATOM 11797 H2 TIP3 3633 19.175 -22.805 -13.343 .00 .00 BULK ATOM 11798 OH2 TIP3 3634 17.730 -3.844 4.041 .00 .00 BULK ATOM 11799 H1 TIP3 3634 17.497 -2.898 4.316 .00 .00 BULK ATOM 11800 H2 TIP3 3634 18.653 -3.840 4.256 .00 .00 BULK ATOM 11801 OH2 TIP3 3635 3.232 -6.286 -18.243 .00 .00 BULK ATOM 11802 H1 TIP3 3635 2.677 -6.992 -18.636 .00 .00 BULK ATOM 11803 H2 TIP3 3635 3.059 -5.648 -18.946 .00 .00 BULK ATOM 11804 OH2 TIP3 3636 -5.503 20.211 -14.884 .00 .00 BULK ATOM 11805 H1 TIP3 3636 -4.768 19.721 -14.560 .00 .00 BULK ATOM 11806 H2 TIP3 3636 -5.730 20.793 -14.162 .00 .00 BULK ATOM 11807 OH2 TIP3 3637 -17.087 6.096 19.059 .00 .00 BULK ATOM 11808 H1 TIP3 3637 -17.368 6.649 19.812 .00 .00 BULK ATOM 11809 H2 TIP3 3637 -17.713 5.338 19.155 .00 .00 BULK ATOM 11810 OH2 TIP3 3638 -12.178 -17.348 2.400 .00 .00 BULK ATOM 11811 H1 TIP3 3638 -13.095 -17.778 2.349 .00 .00 BULK ATOM 11812 H2 TIP3 3638 -11.657 -17.909 1.818 .00 .00 BULK ATOM 11813 OH2 TIP3 3639 -6.051 -11.235 23.033 .00 .00 BULK ATOM 11814 H1 TIP3 3639 -5.616 -10.536 22.519 .00 .00 BULK ATOM 11815 H2 TIP3 3639 -5.707 -12.054 22.505 .00 .00 BULK ATOM 11816 OH2 TIP3 3640 -19.106 -22.931 -5.020 .00 .00 BULK ATOM 11817 H1 TIP3 3640 -19.389 -22.531 -5.906 .00 .00 BULK ATOM 11818 H2 TIP3 3640 -18.133 -22.619 -5.022 .00 .00 BULK ATOM 11819 OH2 TIP3 3641 -4.491 21.960 -19.578 .00 .00 BULK ATOM 11820 H1 TIP3 3641 -3.571 21.755 -19.415 .00 .00 BULK ATOM 11821 H2 TIP3 3641 -4.921 21.417 -18.895 .00 .00 BULK ATOM 11822 OH2 TIP3 3642 -28.412 -22.712 -12.864 .00 .00 BULK ATOM 11823 H1 TIP3 3642 -27.886 -22.084 -12.292 .00 .00 BULK ATOM 11824 H2 TIP3 3642 -28.202 -23.515 -12.320 .00 .00 BULK ATOM 11825 OH2 TIP3 3643 -9.100 -19.294 -3.913 .00 .00 BULK ATOM 11826 H1 TIP3 3643 -8.924 -18.782 -4.678 .00 .00 BULK ATOM 11827 H2 TIP3 3643 -8.382 -18.979 -3.332 .00 .00 BULK ATOM 11828 OH2 TIP3 3644 2.967 -22.735 21.502 .00 .00 BULK ATOM 11829 H1 TIP3 3644 2.174 -22.090 21.583 .00 .00 BULK ATOM 11830 H2 TIP3 3644 3.182 -22.590 20.549 .00 .00 BULK ATOM 11831 OH2 TIP3 3645 18.495 -16.954 -10.251 .00 .00 BULK ATOM 11832 H1 TIP3 3645 17.587 -16.608 -10.097 .00 .00 BULK ATOM 11833 H2 TIP3 3645 18.514 -17.609 -9.547 .00 .00 BULK ATOM 11834 OH2 TIP3 3646 -9.237 -22.641 1.766 .00 .00 BULK ATOM 11835 H1 TIP3 3646 -8.333 -22.282 1.673 .00 .00 BULK ATOM 11836 H2 TIP3 3646 -9.866 -21.974 1.329 .00 .00 BULK ATOM 11837 OH2 TIP3 3647 3.488 -11.331 13.914 .00 .00 BULK ATOM 11838 H1 TIP3 3647 2.883 -10.839 14.516 .00 .00 BULK ATOM 11839 H2 TIP3 3647 4.141 -11.545 14.606 .00 .00 BULK ATOM 11840 OH2 TIP3 3648 5.193 22.927 22.837 .00 .00 BULK ATOM 11841 H1 TIP3 3648 4.324 23.027 22.488 .00 .00 BULK ATOM 11842 H2 TIP3 3648 5.559 23.675 22.351 .00 .00 BULK ATOM 11843 OH2 TIP3 3649 -22.617 17.745 22.303 .00 .00 BULK ATOM 11844 H1 TIP3 3649 -22.029 18.486 22.250 .00 .00 BULK ATOM 11845 H2 TIP3 3649 -22.059 17.212 22.863 .00 .00 BULK ATOM 11846 OH2 TIP3 3650 -18.543 .611 14.213 .00 .00 BULK ATOM 11847 H1 TIP3 3650 -17.767 .759 13.704 .00 .00 BULK ATOM 11848 H2 TIP3 3650 -19.207 .751 13.543 .00 .00 BULK ATOM 11849 OH2 TIP3 3651 7.090 -23.142 12.922 .00 .00 BULK ATOM 11850 H1 TIP3 3651 7.233 -22.567 13.727 .00 .00 BULK ATOM 11851 H2 TIP3 3651 8.010 -23.092 12.610 .00 .00 BULK ATOM 11852 OH2 TIP3 3652 18.634 -10.249 16.398 .00 .00 BULK ATOM 11853 H1 TIP3 3652 17.822 -10.682 16.061 .00 .00 BULK ATOM 11854 H2 TIP3 3652 18.387 -10.099 17.315 .00 .00 BULK ATOM 11855 OH2 TIP3 3653 17.505 -4.287 12.318 .00 .00 BULK ATOM 11856 H1 TIP3 3653 18.208 -4.429 12.950 .00 .00 BULK ATOM 11857 H2 TIP3 3653 16.761 -4.002 12.895 .00 .00 BULK ATOM 11858 OH2 TIP3 3654 -8.839 8.646 13.916 .00 .00 BULK ATOM 11859 H1 TIP3 3654 -9.188 8.091 14.627 .00 .00 BULK ATOM 11860 H2 TIP3 3654 -7.867 8.681 14.135 .00 .00 BULK ATOM 11861 OH2 TIP3 3655 -9.318 1.167 20.483 .00 .00 BULK ATOM 11862 H1 TIP3 3655 -8.693 .492 20.805 .00 .00 BULK ATOM 11863 H2 TIP3 3655 -8.570 1.725 20.182 .00 .00 BULK ATOM 11864 OH2 TIP3 3656 12.999 7.331 4.405 .00 .00 BULK ATOM 11865 H1 TIP3 3656 13.889 7.410 4.761 .00 .00 BULK ATOM 11866 H2 TIP3 3656 12.549 8.030 4.957 .00 .00 BULK ATOM 11867 OH2 TIP3 3657 2.325 -12.231 -2.806 .00 .00 BULK ATOM 11868 H1 TIP3 3657 3.081 -11.870 -3.358 .00 .00 BULK ATOM 11869 H2 TIP3 3657 2.745 -13.126 -2.683 .00 .00 BULK ATOM 11870 OH2 TIP3 3658 10.693 6.374 11.576 .00 .00 BULK ATOM 11871 H1 TIP3 3658 9.868 6.704 11.953 .00 .00 BULK ATOM 11872 H2 TIP3 3658 11.140 6.130 12.402 .00 .00 BULK ATOM 11873 OH2 TIP3 3659 28.316 13.027 21.798 .00 .00 BULK ATOM 11874 H1 TIP3 3659 28.210 12.682 22.697 .00 .00 BULK ATOM 11875 H2 TIP3 3659 27.390 12.925 21.410 .00 .00 BULK ATOM 11876 OH2 TIP3 3660 13.795 11.207 17.058 .00 .00 BULK ATOM 11877 H1 TIP3 3660 14.456 10.530 17.170 .00 .00 BULK ATOM 11878 H2 TIP3 3660 14.415 11.974 16.972 .00 .00 BULK ATOM 11879 OH2 TIP3 3661 1.567 15.583 -.788 .00 .00 BULK ATOM 11880 H1 TIP3 3661 .894 15.108 -.282 .00 .00 BULK ATOM 11881 H2 TIP3 3661 1.451 16.457 -.324 .00 .00 BULK ATOM 11882 OH2 TIP3 3662 -6.319 17.770 10.353 .00 .00 BULK ATOM 11883 H1 TIP3 3662 -5.872 17.978 11.186 .00 .00 BULK ATOM 11884 H2 TIP3 3662 -6.988 18.514 10.428 .00 .00 BULK ATOM 11885 OH2 TIP3 3663 -3.694 13.314 -10.525 .00 .00 BULK ATOM 11886 H1 TIP3 3663 -4.508 12.708 -10.655 .00 .00 BULK ATOM 11887 H2 TIP3 3663 -4.127 14.170 -10.438 .00 .00 BULK ATOM 11888 OH2 TIP3 3664 -5.393 -7.985 16.227 .00 .00 BULK ATOM 11889 H1 TIP3 3664 -5.143 -7.982 15.309 .00 .00 BULK ATOM 11890 H2 TIP3 3664 -5.658 -7.107 16.550 .00 .00 BULK ATOM 11891 OH2 TIP3 3665 17.908 -13.692 -5.978 .00 .00 BULK ATOM 11892 H1 TIP3 3665 17.716 -13.768 -5.026 .00 .00 BULK ATOM 11893 H2 TIP3 3665 18.630 -13.089 -5.930 .00 .00 BULK ATOM 11894 OH2 TIP3 3666 -28.786 -8.348 17.895 .00 .00 BULK ATOM 11895 H1 TIP3 3666 -29.481 -7.760 18.090 .00 .00 BULK ATOM 11896 H2 TIP3 3666 -29.056 -8.938 18.585 .00 .00 BULK ATOM 11897 OH2 TIP3 3667 28.143 11.156 11.394 .00 .00 BULK ATOM 11898 H1 TIP3 3667 27.900 11.894 10.888 .00 .00 BULK ATOM 11899 H2 TIP3 3667 28.271 10.430 10.741 .00 .00 BULK ATOM 11900 OH2 TIP3 3668 2.155 20.594 21.640 .00 .00 BULK ATOM 11901 H1 TIP3 3668 1.288 20.214 21.453 .00 .00 BULK ATOM 11902 H2 TIP3 3668 2.609 20.593 20.800 .00 .00 BULK ATOM 11903 OH2 TIP3 3669 22.942 -23.576 19.636 .00 .00 BULK ATOM 11904 H1 TIP3 3669 23.317 -24.047 18.914 .00 .00 BULK ATOM 11905 H2 TIP3 3669 23.527 -22.774 19.640 .00 .00 BULK ATOM 11906 OH2 TIP3 3670 7.630 -14.852 -18.169 .00 .00 BULK ATOM 11907 H1 TIP3 3670 7.941 -15.368 -18.923 .00 .00 BULK ATOM 11908 H2 TIP3 3670 6.881 -15.353 -17.904 .00 .00 BULK ATOM 11909 OH2 TIP3 3671 -12.060 15.315 7.819 .00 .00 BULK ATOM 11910 H1 TIP3 3671 -11.250 15.139 8.285 .00 .00 BULK ATOM 11911 H2 TIP3 3671 -12.731 15.431 8.613 .00 .00 BULK ATOM 11912 OH2 TIP3 3672 -.134 -21.579 15.440 .00 .00 BULK ATOM 11913 H1 TIP3 3672 -.891 -21.051 15.910 .00 .00 BULK ATOM 11914 H2 TIP3 3672 -.712 -21.978 14.694 .00 .00 BULK ATOM 11915 OH2 TIP3 3673 4.179 18.996 1.798 .00 .00 BULK ATOM 11916 H1 TIP3 3673 4.887 18.781 1.169 .00 .00 BULK ATOM 11917 H2 TIP3 3673 4.400 18.328 2.474 .00 .00 BULK ATOM 11918 OH2 TIP3 3674 -13.056 10.247 -15.411 .00 .00 BULK ATOM 11919 H1 TIP3 3674 -12.402 9.819 -14.814 .00 .00 BULK ATOM 11920 H2 TIP3 3674 -12.836 9.754 -16.169 .00 .00 BULK ATOM 11921 OH2 TIP3 3675 -6.901 -2.838 22.909 .00 .00 BULK ATOM 11922 H1 TIP3 3675 -7.313 -3.772 22.750 .00 .00 BULK ATOM 11923 H2 TIP3 3675 -6.410 -2.852 23.731 .00 .00 BULK ATOM 11924 OH2 TIP3 3676 -1.261 18.723 1.171 .00 .00 BULK ATOM 11925 H1 TIP3 3676 -2.155 18.794 1.508 .00 .00 BULK ATOM 11926 H2 TIP3 3676 -1.418 17.850 .728 .00 .00 BULK ATOM 11927 OH2 TIP3 3677 .373 21.755 11.101 .00 .00 BULK ATOM 11928 H1 TIP3 3677 .817 22.560 10.777 .00 .00 BULK ATOM 11929 H2 TIP3 3677 -.548 22.017 10.877 .00 .00 BULK ATOM 11930 OH2 TIP3 3678 -11.528 8.408 -7.376 .00 .00 BULK ATOM 11931 H1 TIP3 3678 -11.929 9.282 -7.569 .00 .00 BULK ATOM 11932 H2 TIP3 3678 -12.120 7.828 -7.899 .00 .00 BULK ATOM 11933 OH2 TIP3 3679 2.867 -22.428 10.759 .00 .00 BULK ATOM 11934 H1 TIP3 3679 3.388 -22.135 11.568 .00 .00 BULK ATOM 11935 H2 TIP3 3679 1.961 -22.501 11.129 .00 .00 BULK ATOM 11936 OH2 TIP3 3680 -27.561 .602 5.850 .00 .00 BULK ATOM 11937 H1 TIP3 3680 -27.913 .602 4.963 .00 .00 BULK ATOM 11938 H2 TIP3 3680 -26.587 .421 5.696 .00 .00 BULK ATOM 11939 OH2 TIP3 3681 13.709 -17.561 -20.663 .00 .00 BULK ATOM 11940 H1 TIP3 3681 13.597 -17.674 -21.666 .00 .00 BULK ATOM 11941 H2 TIP3 3681 13.829 -16.581 -20.588 .00 .00 BULK ATOM 11942 OH2 TIP3 3682 27.390 -20.829 18.731 .00 .00 BULK ATOM 11943 H1 TIP3 3682 27.374 -20.082 19.357 .00 .00 BULK ATOM 11944 H2 TIP3 3682 28.329 -20.992 18.684 .00 .00 BULK ATOM 11945 OH2 TIP3 3683 -11.528 22.003 -16.644 .00 .00 BULK ATOM 11946 H1 TIP3 3683 -12.260 22.007 -17.298 .00 .00 BULK ATOM 11947 H2 TIP3 3683 -10.753 21.853 -17.180 .00 .00 BULK ATOM 11948 OH2 TIP3 3684 -27.164 -9.717 14.749 .00 .00 BULK ATOM 11949 H1 TIP3 3684 -27.332 -10.069 15.622 .00 .00 BULK ATOM 11950 H2 TIP3 3684 -27.131 -8.741 14.984 .00 .00 BULK ATOM 11951 OH2 TIP3 3685 16.151 12.843 -17.823 .00 .00 BULK ATOM 11952 H1 TIP3 3685 16.943 12.256 -17.558 .00 .00 BULK ATOM 11953 H2 TIP3 3685 16.590 13.668 -17.996 .00 .00 BULK ATOM 11954 OH2 TIP3 3686 26.290 18.470 4.813 .00 .00 BULK ATOM 11955 H1 TIP3 3686 25.657 18.876 5.462 .00 .00 BULK ATOM 11956 H2 TIP3 3686 26.436 17.657 5.229 .00 .00 BULK ATOM 11957 OH2 TIP3 3687 -6.715 22.369 12.214 .00 .00 BULK ATOM 11958 H1 TIP3 3687 -6.949 22.932 12.966 .00 .00 BULK ATOM 11959 H2 TIP3 3687 -7.532 21.877 12.182 .00 .00 BULK ATOM 11960 OH2 TIP3 3688 -21.718 1.501 -15.738 .00 .00 BULK ATOM 11961 H1 TIP3 3688 -22.223 1.718 -16.550 .00 .00 BULK ATOM 11962 H2 TIP3 3688 -22.382 1.015 -15.185 .00 .00 BULK ATOM 11963 OH2 TIP3 3689 5.098 .098 -22.241 .00 .00 BULK ATOM 11964 H1 TIP3 3689 5.115 .766 -22.928 .00 .00 BULK ATOM 11965 H2 TIP3 3689 4.268 -.462 -22.462 .00 .00 BULK ATOM 11966 OH2 TIP3 3690 21.538 -8.768 12.290 .00 .00 BULK ATOM 11967 H1 TIP3 3690 22.338 -9.055 12.821 .00 .00 BULK ATOM 11968 H2 TIP3 3690 21.609 -9.483 11.572 .00 .00 BULK ATOM 11969 OH2 TIP3 3691 9.589 18.794 13.626 .00 .00 BULK ATOM 11970 H1 TIP3 3691 9.207 19.438 13.032 .00 .00 BULK ATOM 11971 H2 TIP3 3691 8.935 18.683 14.277 .00 .00 BULK ATOM 11972 OH2 TIP3 3692 -2.362 16.645 4.407 .00 .00 BULK ATOM 11973 H1 TIP3 3692 -2.723 16.276 5.175 .00 .00 BULK ATOM 11974 H2 TIP3 3692 -2.652 16.030 3.657 .00 .00 BULK ATOM 11975 OH2 TIP3 3693 -24.303 -1.204 21.444 .00 .00 BULK ATOM 11976 H1 TIP3 3693 -24.372 -2.140 21.792 .00 .00 BULK ATOM 11977 H2 TIP3 3693 -23.354 -1.190 21.736 .00 .00 BULK ATOM 11978 OH2 TIP3 3694 11.036 -.627 12.618 .00 .00 BULK ATOM 11979 H1 TIP3 3694 10.749 -1.508 13.003 .00 .00 BULK ATOM 11980 H2 TIP3 3694 11.598 -.811 11.807 .00 .00 BULK ATOM 11981 OH2 TIP3 3695 -8.498 10.946 5.608 .00 .00 BULK ATOM 11982 H1 TIP3 3695 -7.989 10.323 5.056 .00 .00 BULK ATOM 11983 H2 TIP3 3695 -9.214 11.222 5.044 .00 .00 BULK ATOM 11984 OH2 TIP3 3696 11.397 15.531 19.829 .00 .00 BULK ATOM 11985 H1 TIP3 3696 12.016 16.277 19.764 .00 .00 BULK ATOM 11986 H2 TIP3 3696 11.928 14.933 19.205 .00 .00 BULK ATOM 11987 OH2 TIP3 3697 -10.187 -9.759 13.542 .00 .00 BULK ATOM 11988 H1 TIP3 3697 -10.213 -8.744 13.595 .00 .00 BULK ATOM 11989 H2 TIP3 3697 -11.080 -9.921 13.900 .00 .00 BULK ATOM 11990 OH2 TIP3 3698 10.146 -2.777 14.206 .00 .00 BULK ATOM 11991 H1 TIP3 3698 9.206 -2.568 14.419 .00 .00 BULK ATOM 11992 H2 TIP3 3698 10.075 -3.701 13.800 .00 .00 BULK ATOM 11993 OH2 TIP3 3699 20.935 -21.449 18.022 .00 .00 BULK ATOM 11994 H1 TIP3 3699 20.855 -22.345 17.690 .00 .00 BULK ATOM 11995 H2 TIP3 3699 21.652 -21.085 17.502 .00 .00 BULK ATOM 11996 OH2 TIP3 3700 -21.956 -7.372 -16.795 .00 .00 BULK ATOM 11997 H1 TIP3 3700 -22.908 -7.379 -16.811 .00 .00 BULK ATOM 11998 H2 TIP3 3700 -21.717 -8.300 -16.498 .00 .00 BULK ATOM 11999 OH2 TIP3 3701 3.841 17.180 -5.889 .00 .00 BULK ATOM 12000 H1 TIP3 3701 4.438 17.733 -6.519 .00 .00 BULK ATOM 12001 H2 TIP3 3701 3.181 17.881 -5.526 .00 .00 BULK ATOM 12002 OH2 TIP3 3702 -3.487 -8.309 13.949 .00 .00 BULK ATOM 12003 H1 TIP3 3702 -3.593 -7.892 13.047 .00 .00 BULK ATOM 12004 H2 TIP3 3702 -3.491 -9.259 13.621 .00 .00 BULK ATOM 12005 OH2 TIP3 3703 -8.939 19.731 -20.369 .00 .00 BULK ATOM 12006 H1 TIP3 3703 -9.732 20.101 -20.796 .00 .00 BULK ATOM 12007 H2 TIP3 3703 -8.689 20.324 -19.663 .00 .00 BULK ATOM 12008 OH2 TIP3 3704 14.659 8.042 11.046 .00 .00 BULK ATOM 12009 H1 TIP3 3704 14.288 7.306 11.566 .00 .00 BULK ATOM 12010 H2 TIP3 3704 14.144 8.061 10.237 .00 .00 BULK ATOM 12011 OH2 TIP3 3705 9.561 15.414 4.998 .00 .00 BULK ATOM 12012 H1 TIP3 3705 8.764 15.367 4.443 .00 .00 BULK ATOM 12013 H2 TIP3 3705 10.329 15.675 4.405 .00 .00 BULK ATOM 12014 OH2 TIP3 3706 13.660 16.441 5.887 .00 .00 BULK ATOM 12015 H1 TIP3 3706 13.163 16.985 6.636 .00 .00 BULK ATOM 12016 H2 TIP3 3706 13.807 17.101 5.178 .00 .00 BULK ATOM 12017 OH2 TIP3 3707 11.117 18.849 22.738 .00 .00 BULK ATOM 12018 H1 TIP3 3707 10.360 19.159 22.216 .00 .00 BULK ATOM 12019 H2 TIP3 3707 10.920 19.248 23.622 .00 .00 BULK ATOM 12020 OH2 TIP3 3708 -8.634 21.361 -17.154 .00 .00 BULK ATOM 12021 H1 TIP3 3708 -7.817 21.341 -16.580 .00 .00 BULK ATOM 12022 H2 TIP3 3708 -8.228 21.758 -17.958 .00 .00 BULK ATOM 12023 OH2 TIP3 3709 -17.139 19.370 21.440 .00 .00 BULK ATOM 12024 H1 TIP3 3709 -16.993 18.440 21.749 .00 .00 BULK ATOM 12025 H2 TIP3 3709 -17.056 19.811 22.287 .00 .00 BULK ATOM 12026 OH2 TIP3 3710 22.857 11.388 3.127 .00 .00 BULK ATOM 12027 H1 TIP3 3710 23.298 12.044 2.534 .00 .00 BULK ATOM 12028 H2 TIP3 3710 22.819 10.652 2.501 .00 .00 BULK ATOM 12029 OH2 TIP3 3711 4.455 -9.615 17.750 .00 .00 BULK ATOM 12030 H1 TIP3 3711 3.521 -9.739 18.050 .00 .00 BULK ATOM 12031 H2 TIP3 3711 4.780 -10.356 18.281 .00 .00 BULK ATOM 12032 OH2 TIP3 3712 22.759 -20.382 -21.279 .00 .00 BULK ATOM 12033 H1 TIP3 3712 22.641 -20.219 -22.200 .00 .00 BULK ATOM 12034 H2 TIP3 3712 22.039 -21.033 -21.036 .00 .00 BULK ATOM 12035 OH2 TIP3 3713 11.169 -17.932 5.479 .00 .00 BULK ATOM 12036 H1 TIP3 3713 11.879 -18.538 5.351 .00 .00 BULK ATOM 12037 H2 TIP3 3713 10.583 -18.511 5.960 .00 .00 BULK ATOM 12038 OH2 TIP3 3714 23.088 5.692 17.575 .00 .00 BULK ATOM 12039 H1 TIP3 3714 22.172 5.847 17.847 .00 .00 BULK ATOM 12040 H2 TIP3 3714 23.314 4.798 17.923 .00 .00 BULK ATOM 12041 OH2 TIP3 3715 -3.630 -7.956 8.970 .00 .00 BULK ATOM 12042 H1 TIP3 3715 -2.881 -8.089 8.323 .00 .00 BULK ATOM 12043 H2 TIP3 3715 -3.713 -8.942 9.201 .00 .00 BULK ATOM 12044 OH2 TIP3 3716 .598 -12.076 -15.458 .00 .00 BULK ATOM 12045 H1 TIP3 3716 .257 -12.190 -14.515 .00 .00 BULK ATOM 12046 H2 TIP3 3716 1.531 -11.866 -15.215 .00 .00 BULK ATOM 12047 OH2 TIP3 3717 14.878 -.942 10.860 .00 .00 BULK ATOM 12048 H1 TIP3 3717 14.617 -1.659 11.443 .00 .00 BULK ATOM 12049 H2 TIP3 3717 15.688 -.532 11.305 .00 .00 BULK ATOM 12050 OH2 TIP3 3718 -12.116 -19.684 5.126 .00 .00 BULK ATOM 12051 H1 TIP3 3718 -11.185 -19.989 4.905 .00 .00 BULK ATOM 12052 H2 TIP3 3718 -12.629 -20.056 4.400 .00 .00 BULK ATOM 12053 OH2 TIP3 3719 14.264 2.810 13.886 .00 .00 BULK ATOM 12054 H1 TIP3 3719 14.972 3.252 14.273 .00 .00 BULK ATOM 12055 H2 TIP3 3719 13.905 2.263 14.584 .00 .00 BULK ATOM 12056 OH2 TIP3 3720 -6.813 18.597 4.829 .00 .00 BULK ATOM 12057 H1 TIP3 3720 -7.606 19.105 4.588 .00 .00 BULK ATOM 12058 H2 TIP3 3720 -6.153 19.362 4.971 .00 .00 BULK ATOM 12059 OH2 TIP3 3721 20.669 -16.426 23.352 .00 .00 BULK ATOM 12060 H1 TIP3 3721 21.081 -17.129 22.810 .00 .00 BULK ATOM 12061 H2 TIP3 3721 20.171 -16.894 24.061 .00 .00 BULK ATOM 12062 OH2 TIP3 3722 -12.123 -13.694 10.625 .00 .00 BULK ATOM 12063 H1 TIP3 3722 -12.479 -13.291 9.844 .00 .00 BULK ATOM 12064 H2 TIP3 3722 -11.247 -13.829 10.227 .00 .00 BULK ATOM 12065 OH2 TIP3 3723 -10.478 -21.554 22.649 .00 .00 BULK ATOM 12066 H1 TIP3 3723 -10.741 -21.235 21.723 .00 .00 BULK ATOM 12067 H2 TIP3 3723 -9.674 -21.003 22.770 .00 .00 BULK ATOM 12068 OH2 TIP3 3724 -5.543 -17.104 -.321 .00 .00 BULK ATOM 12069 H1 TIP3 3724 -6.306 -17.291 .295 .00 .00 BULK ATOM 12070 H2 TIP3 3724 -4.732 -17.168 .250 .00 .00 BULK ATOM 12071 OH2 TIP3 3725 16.761 -10.984 -18.937 .00 .00 BULK ATOM 12072 H1 TIP3 3725 16.433 -11.895 -18.712 .00 .00 BULK ATOM 12073 H2 TIP3 3725 17.648 -10.914 -18.525 .00 .00 BULK ATOM 12074 OH2 TIP3 3726 -7.486 -10.659 14.574 .00 .00 BULK ATOM 12075 H1 TIP3 3726 -7.039 -10.807 13.746 .00 .00 BULK ATOM 12076 H2 TIP3 3726 -8.330 -10.338 14.232 .00 .00 BULK ATOM 12077 OH2 TIP3 3727 .400 18.809 10.911 .00 .00 BULK ATOM 12078 H1 TIP3 3727 -.495 18.500 10.869 .00 .00 BULK ATOM 12079 H2 TIP3 3727 .364 19.525 11.519 .00 .00 BULK ATOM 12080 OH2 TIP3 3728 -24.171 -12.158 -.577 .00 .00 BULK ATOM 12081 H1 TIP3 3728 -23.956 -13.093 -.451 .00 .00 BULK ATOM 12082 H2 TIP3 3728 -25.031 -12.235 -.953 .00 .00 BULK ATOM 12083 OH2 TIP3 3729 2.817 -2.967 -11.961 .00 .00 BULK ATOM 12084 H1 TIP3 3729 3.577 -2.697 -12.443 .00 .00 BULK ATOM 12085 H2 TIP3 3729 2.055 -3.079 -12.577 .00 .00 BULK ATOM 12086 OH2 TIP3 3730 15.103 -8.240 -5.237 .00 .00 BULK ATOM 12087 H1 TIP3 3730 15.859 -8.124 -5.856 .00 .00 BULK ATOM 12088 H2 TIP3 3730 15.029 -9.200 -5.278 .00 .00 BULK ATOM 12089 OH2 TIP3 3731 .630 1.078 -18.881 .00 .00 BULK ATOM 12090 H1 TIP3 3731 .013 1.827 -18.932 .00 .00 BULK ATOM 12091 H2 TIP3 3731 .510 .855 -17.913 .00 .00 BULK ATOM 12092 OH2 TIP3 3732 25.319 -14.909 14.006 .00 .00 BULK ATOM 12093 H1 TIP3 3732 26.163 -14.537 13.694 .00 .00 BULK ATOM 12094 H2 TIP3 3732 25.592 -15.574 14.609 .00 .00 BULK ATOM 12095 OH2 TIP3 3733 11.181 -2.825 22.035 .00 .00 BULK ATOM 12096 H1 TIP3 3733 12.137 -3.147 22.222 .00 .00 BULK ATOM 12097 H2 TIP3 3733 10.875 -3.215 22.882 .00 .00 BULK ATOM 12098 OH2 TIP3 3734 -25.203 7.681 4.357 .00 .00 BULK ATOM 12099 H1 TIP3 3734 -24.541 7.061 3.867 .00 .00 BULK ATOM 12100 H2 TIP3 3734 -25.332 7.174 5.150 .00 .00 BULK ATOM 12101 OH2 TIP3 3735 26.759 -22.280 22.080 .00 .00 BULK ATOM 12102 H1 TIP3 3735 27.460 -21.660 21.899 .00 .00 BULK ATOM 12103 H2 TIP3 3735 26.704 -22.178 23.022 .00 .00 BULK ATOM 12104 OH2 TIP3 3736 3.474 -8.068 12.175 .00 .00 BULK ATOM 12105 H1 TIP3 3736 4.219 -7.939 12.780 .00 .00 BULK ATOM 12106 H2 TIP3 3736 3.158 -7.194 12.164 .00 .00 BULK ATOM 12107 OH2 TIP3 3737 25.961 -18.389 5.769 .00 .00 BULK ATOM 12108 H1 TIP3 3737 26.726 -18.529 6.346 .00 .00 BULK ATOM 12109 H2 TIP3 3737 26.222 -17.550 5.360 .00 .00 BULK ATOM 12110 OH2 TIP3 3738 13.577 -19.203 -5.474 .00 .00 BULK ATOM 12111 H1 TIP3 3738 12.680 -19.399 -5.648 .00 .00 BULK ATOM 12112 H2 TIP3 3738 13.947 -18.815 -6.265 .00 .00 BULK ATOM 12113 OH2 TIP3 3739 27.775 -2.062 17.124 .00 .00 BULK ATOM 12114 H1 TIP3 3739 27.897 -1.748 16.190 .00 .00 BULK ATOM 12115 H2 TIP3 3739 26.779 -1.954 17.287 .00 .00 BULK ATOM 12116 OH2 TIP3 3740 27.247 5.848 -9.798 .00 .00 BULK ATOM 12117 H1 TIP3 3740 27.130 6.585 -10.386 .00 .00 BULK ATOM 12118 H2 TIP3 3740 27.191 6.186 -8.910 .00 .00 BULK ATOM 12119 OH2 TIP3 3741 .477 4.573 -14.206 .00 .00 BULK ATOM 12120 H1 TIP3 3741 1.314 4.973 -14.527 .00 .00 BULK ATOM 12121 H2 TIP3 3741 .624 4.822 -13.252 .00 .00 BULK ATOM 12122 OH2 TIP3 3742 12.352 -10.334 7.935 .00 .00 BULK ATOM 12123 H1 TIP3 3742 12.608 -10.281 6.993 .00 .00 BULK ATOM 12124 H2 TIP3 3742 12.828 -11.149 8.183 .00 .00 BULK ATOM 12125 OH2 TIP3 3743 -8.136 -2.404 15.071 .00 .00 BULK ATOM 12126 H1 TIP3 3743 -8.722 -2.952 15.656 .00 .00 BULK ATOM 12127 H2 TIP3 3743 -7.864 -3.094 14.447 .00 .00 BULK ATOM 12128 OH2 TIP3 3744 26.653 16.738 -22.616 .00 .00 BULK ATOM 12129 H1 TIP3 3744 27.352 16.085 -22.539 .00 .00 BULK ATOM 12130 H2 TIP3 3744 26.178 16.493 -23.450 .00 .00 BULK ATOM 12131 OH2 TIP3 3745 -15.096 11.036 -13.397 .00 .00 BULK ATOM 12132 H1 TIP3 3745 -14.569 10.565 -14.120 .00 .00 BULK ATOM 12133 H2 TIP3 3745 -15.963 10.801 -13.660 .00 .00 BULK ATOM 12134 OH2 TIP3 3746 -15.168 10.956 -16.982 .00 .00 BULK ATOM 12135 H1 TIP3 3746 -14.430 10.832 -16.306 .00 .00 BULK ATOM 12136 H2 TIP3 3746 -14.646 11.349 -17.684 .00 .00 BULK ATOM 12137 OH2 TIP3 3747 -14.744 5.039 21.505 .00 .00 BULK ATOM 12138 H1 TIP3 3747 -15.359 4.389 21.144 .00 .00 BULK ATOM 12139 H2 TIP3 3747 -15.295 5.493 22.191 .00 .00 BULK ATOM 12140 OH2 TIP3 3748 24.645 -18.662 -22.692 .00 .00 BULK ATOM 12141 H1 TIP3 3748 25.681 -18.602 -22.688 .00 .00 BULK ATOM 12142 H2 TIP3 3748 24.556 -18.336 -21.751 .00 .00 BULK ATOM 12143 OH2 TIP3 3749 17.555 -1.840 19.314 .00 .00 BULK ATOM 12144 H1 TIP3 3749 16.728 -1.382 19.167 .00 .00 BULK ATOM 12145 H2 TIP3 3749 18.091 -1.045 19.158 .00 .00 BULK ATOM 12146 OH2 TIP3 3750 15.639 7.612 5.689 .00 .00 BULK ATOM 12147 H1 TIP3 3750 16.377 7.288 5.125 .00 .00 BULK ATOM 12148 H2 TIP3 3750 15.782 8.584 5.687 .00 .00 BULK ATOM 12149 OH2 TIP3 3751 1.207 -12.860 16.868 .00 .00 BULK ATOM 12150 H1 TIP3 3751 1.034 -13.182 17.813 .00 .00 BULK ATOM 12151 H2 TIP3 3751 1.128 -13.733 16.446 .00 .00 BULK ATOM 12152 OH2 TIP3 3752 -4.305 10.207 -17.558 .00 .00 BULK ATOM 12153 H1 TIP3 3752 -5.163 10.681 -17.406 .00 .00 BULK ATOM 12154 H2 TIP3 3752 -4.611 9.616 -18.360 .00 .00 BULK ATOM 12155 OH2 TIP3 3753 20.321 -11.322 4.923 .00 .00 BULK ATOM 12156 H1 TIP3 3753 20.776 -10.735 4.332 .00 .00 BULK ATOM 12157 H2 TIP3 3753 19.734 -11.914 4.431 .00 .00 BULK ATOM 12158 OH2 TIP3 3754 9.839 -10.352 -21.564 .00 .00 BULK ATOM 12159 H1 TIP3 3754 9.261 -11.154 -21.671 .00 .00 BULK ATOM 12160 H2 TIP3 3754 10.718 -10.817 -21.439 .00 .00 BULK ATOM 12161 OH2 TIP3 3755 10.742 -12.885 -.414 .00 .00 BULK ATOM 12162 H1 TIP3 3755 10.739 -13.545 .305 .00 .00 BULK ATOM 12163 H2 TIP3 3755 9.991 -12.293 -.099 .00 .00 BULK ATOM 12164 OH2 TIP3 3756 -4.420 -12.018 6.913 .00 .00 BULK ATOM 12165 H1 TIP3 3756 -5.216 -12.269 7.421 .00 .00 BULK ATOM 12166 H2 TIP3 3756 -4.756 -11.169 6.585 .00 .00 BULK ATOM 12167 OH2 TIP3 3757 -21.609 -20.735 -12.564 .00 .00 BULK ATOM 12168 H1 TIP3 3757 -22.531 -20.314 -12.714 .00 .00 BULK ATOM 12169 H2 TIP3 3757 -21.168 -20.156 -13.129 .00 .00 BULK ATOM 12170 OH2 TIP3 3758 -4.533 2.448 -20.868 .00 .00 BULK ATOM 12171 H1 TIP3 3758 -4.527 3.406 -20.916 .00 .00 BULK ATOM 12172 H2 TIP3 3758 -5.087 2.267 -21.655 .00 .00 BULK ATOM 12173 OH2 TIP3 3759 -7.732 -22.750 -5.688 .00 .00 BULK ATOM 12174 H1 TIP3 3759 -7.751 -23.620 -6.103 .00 .00 BULK ATOM 12175 H2 TIP3 3759 -7.681 -22.179 -6.457 .00 .00 BULK ATOM 12176 OH2 TIP3 3760 -18.344 14.925 -21.806 .00 .00 BULK ATOM 12177 H1 TIP3 3760 -18.349 14.772 -20.775 .00 .00 BULK ATOM 12178 H2 TIP3 3760 -17.614 14.362 -22.200 .00 .00 BULK ATOM 12179 OH2 TIP3 3761 -14.929 .304 -14.376 .00 .00 BULK ATOM 12180 H1 TIP3 3761 -14.464 .264 -15.240 .00 .00 BULK ATOM 12181 H2 TIP3 3761 -15.018 1.257 -14.241 .00 .00 BULK ATOM 12182 OH2 TIP3 3762 -8.205 -12.650 5.171 .00 .00 BULK ATOM 12183 H1 TIP3 3762 -7.918 -12.599 6.105 .00 .00 BULK ATOM 12184 H2 TIP3 3762 -9.171 -12.667 5.222 .00 .00 BULK ATOM 12185 OH2 TIP3 3763 -8.186 21.717 -6.506 .00 .00 BULK ATOM 12186 H1 TIP3 3763 -7.865 21.164 -5.727 .00 .00 BULK ATOM 12187 H2 TIP3 3763 -9.193 21.521 -6.451 .00 .00 BULK ATOM 12188 OH2 TIP3 3764 .519 19.209 -1.681 .00 .00 BULK ATOM 12189 H1 TIP3 3764 1.128 18.778 -1.023 .00 .00 BULK ATOM 12190 H2 TIP3 3764 .850 20.107 -1.675 .00 .00 BULK ATOM 12191 OH2 TIP3 3765 -15.076 14.715 18.117 .00 .00 BULK ATOM 12192 H1 TIP3 3765 -14.759 14.998 17.222 .00 .00 BULK ATOM 12193 H2 TIP3 3765 -16.055 14.574 17.885 .00 .00 BULK ATOM 12194 OH2 TIP3 3766 14.076 6.307 7.688 .00 .00 BULK ATOM 12195 H1 TIP3 3766 14.411 6.468 6.812 .00 .00 BULK ATOM 12196 H2 TIP3 3766 13.549 7.131 7.816 .00 .00 BULK ATOM 12197 OH2 TIP3 3767 -1.521 16.192 -18.250 .00 .00 BULK ATOM 12198 H1 TIP3 3767 -1.210 15.275 -17.964 .00 .00 BULK ATOM 12199 H2 TIP3 3767 -2.461 15.995 -18.023 .00 .00 BULK ATOM 12200 OH2 TIP3 3768 -14.454 -12.321 -15.813 .00 .00 BULK ATOM 12201 H1 TIP3 3768 -14.473 -11.370 -16.093 .00 .00 BULK ATOM 12202 H2 TIP3 3768 -14.491 -12.815 -16.684 .00 .00 BULK ATOM 12203 OH2 TIP3 3769 -3.176 -1.401 -15.781 .00 .00 BULK ATOM 12204 H1 TIP3 3769 -3.709 -2.185 -15.554 .00 .00 BULK ATOM 12205 H2 TIP3 3769 -3.725 -.990 -16.398 .00 .00 BULK ATOM 12206 OH2 TIP3 3770 -19.012 21.413 -3.820 .00 .00 BULK ATOM 12207 H1 TIP3 3770 -19.547 22.155 -4.007 .00 .00 BULK ATOM 12208 H2 TIP3 3770 -19.015 21.455 -2.830 .00 .00 BULK ATOM 12209 OH2 TIP3 3771 -9.248 -22.370 -18.279 .00 .00 BULK ATOM 12210 H1 TIP3 3771 -9.059 -23.273 -18.385 .00 .00 BULK ATOM 12211 H2 TIP3 3771 -9.823 -22.361 -17.500 .00 .00 BULK ATOM 12212 OH2 TIP3 3772 -17.630 4.979 11.540 .00 .00 BULK ATOM 12213 H1 TIP3 3772 -17.002 4.562 12.088 .00 .00 BULK ATOM 12214 H2 TIP3 3772 -18.406 4.757 12.040 .00 .00 BULK ATOM 12215 OH2 TIP3 3773 -8.450 19.551 10.429 .00 .00 BULK ATOM 12216 H1 TIP3 3773 -8.763 19.950 11.215 .00 .00 BULK ATOM 12217 H2 TIP3 3773 -8.873 18.680 10.447 .00 .00 BULK ATOM 12218 OH2 TIP3 3774 -4.881 -.978 20.747 .00 .00 BULK ATOM 12219 H1 TIP3 3774 -4.441 -1.456 21.499 .00 .00 BULK ATOM 12220 H2 TIP3 3774 -4.175 -.854 20.066 .00 .00 BULK ATOM 12221 OH2 TIP3 3775 -21.001 13.467 -6.224 .00 .00 BULK ATOM 12222 H1 TIP3 3775 -21.836 12.957 -6.237 .00 .00 BULK ATOM 12223 H2 TIP3 3775 -21.385 14.261 -5.791 .00 .00 BULK ATOM 12224 OH2 TIP3 3776 8.165 9.409 -18.956 .00 .00 BULK ATOM 12225 H1 TIP3 3776 9.050 9.534 -18.560 .00 .00 BULK ATOM 12226 H2 TIP3 3776 8.341 10.096 -19.625 .00 .00 BULK ATOM 12227 OH2 TIP3 3777 -3.868 9.361 4.002 .00 .00 BULK ATOM 12228 H1 TIP3 3777 -3.499 10.221 4.374 .00 .00 BULK ATOM 12229 H2 TIP3 3777 -3.460 9.381 3.131 .00 .00 BULK ATOM 12230 OH2 TIP3 3778 5.791 21.589 12.512 .00 .00 BULK ATOM 12231 H1 TIP3 3778 6.121 22.547 12.611 .00 .00 BULK ATOM 12232 H2 TIP3 3778 6.622 21.129 12.513 .00 .00 BULK ATOM 12233 OH2 TIP3 3779 5.343 18.374 -7.667 .00 .00 BULK ATOM 12234 H1 TIP3 3779 5.412 17.537 -8.093 .00 .00 BULK ATOM 12235 H2 TIP3 3779 5.880 18.857 -8.339 .00 .00 BULK ATOM 12236 OH2 TIP3 3780 18.682 18.369 -9.912 .00 .00 BULK ATOM 12237 H1 TIP3 3780 18.020 17.770 -9.578 .00 .00 BULK ATOM 12238 H2 TIP3 3780 18.084 19.101 -10.129 .00 .00 BULK ATOM 12239 OH2 TIP3 3781 15.322 21.505 21.931 .00 .00 BULK ATOM 12240 H1 TIP3 3781 15.065 21.755 22.878 .00 .00 BULK ATOM 12241 H2 TIP3 3781 15.563 22.433 21.672 .00 .00 BULK ATOM 12242 OH2 TIP3 3782 26.072 15.156 9.505 .00 .00 BULK ATOM 12243 H1 TIP3 3782 26.449 16.002 9.296 .00 .00 BULK ATOM 12244 H2 TIP3 3782 25.459 15.103 8.745 .00 .00 BULK ATOM 12245 OH2 TIP3 3783 -6.179 15.321 -4.605 .00 .00 BULK ATOM 12246 H1 TIP3 3783 -6.250 14.443 -5.021 .00 .00 BULK ATOM 12247 H2 TIP3 3783 -5.199 15.397 -4.488 .00 .00 BULK ATOM 12248 OH2 TIP3 3784 -14.739 -6.964 16.199 .00 .00 BULK ATOM 12249 H1 TIP3 3784 -15.030 -7.029 17.086 .00 .00 BULK ATOM 12250 H2 TIP3 3784 -14.558 -7.920 16.006 .00 .00 BULK ATOM 12251 OH2 TIP3 3785 -27.483 -18.800 -17.579 .00 .00 BULK ATOM 12252 H1 TIP3 3785 -27.569 -19.377 -18.371 .00 .00 BULK ATOM 12253 H2 TIP3 3785 -28.046 -19.328 -17.053 .00 .00 BULK ATOM 12254 OH2 TIP3 3786 -1.027 -.314 -21.677 .00 .00 BULK ATOM 12255 H1 TIP3 3786 -1.090 .518 -21.134 .00 .00 BULK ATOM 12256 H2 TIP3 3786 -1.783 -.786 -21.284 .00 .00 BULK ATOM 12257 OH2 TIP3 3787 13.314 18.123 10.232 .00 .00 BULK ATOM 12258 H1 TIP3 3787 14.175 18.469 10.161 .00 .00 BULK ATOM 12259 H2 TIP3 3787 12.961 18.377 9.324 .00 .00 BULK ATOM 12260 OH2 TIP3 3788 -21.136 -1.936 6.194 .00 .00 BULK ATOM 12261 H1 TIP3 3788 -20.288 -1.559 6.427 .00 .00 BULK ATOM 12262 H2 TIP3 3788 -20.836 -2.850 6.234 .00 .00 BULK ATOM 12263 OH2 TIP3 3789 17.719 10.359 -22.860 .00 .00 BULK ATOM 12264 H1 TIP3 3789 16.741 10.469 -22.640 .00 .00 BULK ATOM 12265 H2 TIP3 3789 17.633 9.607 -23.442 .00 .00 BULK ATOM 12266 OH2 TIP3 3790 -6.179 13.435 2.783 .00 .00 BULK ATOM 12267 H1 TIP3 3790 -6.294 12.809 2.008 .00 .00 BULK ATOM 12268 H2 TIP3 3790 -6.944 13.977 2.943 .00 .00 BULK ATOM 12269 OH2 TIP3 3791 21.622 12.294 -10.660 .00 .00 BULK ATOM 12270 H1 TIP3 3791 21.301 11.659 -11.348 .00 .00 BULK ATOM 12271 H2 TIP3 3791 22.518 12.103 -10.547 .00 .00 BULK ATOM 12272 OH2 TIP3 3792 -19.097 7.199 -16.452 .00 .00 BULK ATOM 12273 H1 TIP3 3792 -19.624 7.905 -16.003 .00 .00 BULK ATOM 12274 H2 TIP3 3792 -18.380 7.705 -16.850 .00 .00 BULK ATOM 12275 OH2 TIP3 3793 11.686 16.466 -10.564 .00 .00 BULK ATOM 12276 H1 TIP3 3793 11.872 16.746 -11.498 .00 .00 BULK ATOM 12277 H2 TIP3 3793 10.915 15.868 -10.732 .00 .00 BULK ATOM 12278 OH2 TIP3 3794 27.092 -22.693 11.567 .00 .00 BULK ATOM 12279 H1 TIP3 3794 27.050 -23.235 12.409 .00 .00 BULK ATOM 12280 H2 TIP3 3794 27.514 -23.242 10.891 .00 .00 BULK ATOM 12281 OH2 TIP3 3795 -14.668 5.816 -14.713 .00 .00 BULK ATOM 12282 H1 TIP3 3795 -15.404 5.870 -14.079 .00 .00 BULK ATOM 12283 H2 TIP3 3795 -15.056 5.635 -15.638 .00 .00 BULK ATOM 12284 OH2 TIP3 3796 8.596 -23.902 9.769 .00 .00 BULK ATOM 12285 H1 TIP3 3796 8.392 -22.958 9.758 .00 .00 BULK ATOM 12286 H2 TIP3 3796 9.318 -23.883 10.435 .00 .00 BULK ATOM 12287 OH2 TIP3 3797 12.095 11.576 -18.969 .00 .00 BULK ATOM 12288 H1 TIP3 3797 11.645 11.410 -19.848 .00 .00 BULK ATOM 12289 H2 TIP3 3797 12.419 12.523 -19.030 .00 .00 BULK ATOM 12290 OH2 TIP3 3798 -15.809 -6.107 -16.920 .00 .00 BULK ATOM 12291 H1 TIP3 3798 -16.601 -6.227 -16.436 .00 .00 BULK ATOM 12292 H2 TIP3 3798 -15.131 -6.164 -16.225 .00 .00 BULK ATOM 12293 OH2 TIP3 3799 19.461 20.877 -12.460 .00 .00 BULK ATOM 12294 H1 TIP3 3799 19.655 21.760 -12.181 .00 .00 BULK ATOM 12295 H2 TIP3 3799 20.229 20.451 -11.957 .00 .00 BULK ATOM 12296 OH2 TIP3 3800 5.471 22.016 .424 .00 .00 BULK ATOM 12297 H1 TIP3 3800 4.869 22.447 -.188 .00 .00 BULK ATOM 12298 H2 TIP3 3800 6.354 22.419 .196 .00 .00 BULK ATOM 12299 OH2 TIP3 3801 -29.460 -10.613 -22.958 .00 .00 BULK ATOM 12300 H1 TIP3 3801 -30.047 -9.805 -22.985 .00 .00 BULK ATOM 12301 H2 TIP3 3801 -29.886 -11.127 -23.678 .00 .00 BULK ATOM 12302 OH2 TIP3 3802 28.027 -8.808 -6.383 .00 .00 BULK ATOM 12303 H1 TIP3 3802 28.483 -8.942 -5.544 .00 .00 BULK ATOM 12304 H2 TIP3 3802 28.166 -7.841 -6.542 .00 .00 BULK ATOM 12305 OH2 TIP3 3803 29.198 -19.207 -20.522 .00 .00 BULK ATOM 12306 H1 TIP3 3803 28.785 -19.935 -20.088 .00 .00 BULK ATOM 12307 H2 TIP3 3803 29.363 -18.653 -19.719 .00 .00 BULK ATOM 12308 OH2 TIP3 3804 -17.569 -6.439 -13.480 .00 .00 BULK ATOM 12309 H1 TIP3 3804 -16.663 -6.486 -13.865 .00 .00 BULK ATOM 12310 H2 TIP3 3804 -17.525 -7.072 -12.739 .00 .00 BULK ATOM 12311 OH2 TIP3 3805 -19.030 23.564 19.429 .00 .00 BULK ATOM 12312 H1 TIP3 3805 -19.345 22.745 19.062 .00 .00 BULK ATOM 12313 H2 TIP3 3805 -19.494 23.515 20.274 .00 .00 BULK ATOM 12314 OH2 TIP3 3806 11.510 1.207 -17.641 .00 .00 BULK ATOM 12315 H1 TIP3 3806 12.331 1.237 -18.098 .00 .00 BULK ATOM 12316 H2 TIP3 3806 11.711 1.838 -16.928 .00 .00 BULK ATOM 12317 OH2 TIP3 3807 10.804 -17.474 -19.268 .00 .00 BULK ATOM 12318 H1 TIP3 3807 11.049 -17.981 -20.094 .00 .00 BULK ATOM 12319 H2 TIP3 3807 10.075 -16.827 -19.574 .00 .00 BULK ATOM 12320 OH2 TIP3 3808 -4.484 -23.110 -3.733 .00 .00 BULK ATOM 12321 H1 TIP3 3808 -4.531 -22.190 -4.078 .00 .00 BULK ATOM 12322 H2 TIP3 3808 -4.323 -23.043 -2.812 .00 .00 BULK ATOM 12323 OH2 TIP3 3809 -14.785 1.918 10.212 .00 .00 BULK ATOM 12324 H1 TIP3 3809 -14.926 2.033 9.265 .00 .00 BULK ATOM 12325 H2 TIP3 3809 -14.133 1.190 10.123 .00 .00 BULK ATOM 12326 OH2 TIP3 3810 5.976 21.784 -7.051 .00 .00 BULK ATOM 12327 H1 TIP3 3810 6.847 22.269 -7.237 .00 .00 BULK ATOM 12328 H2 TIP3 3810 6.009 21.082 -7.751 .00 .00 BULK ATOM 12329 OH2 TIP3 3811 -6.160 -15.174 -14.557 .00 .00 BULK ATOM 12330 H1 TIP3 3811 -7.066 -15.374 -14.892 .00 .00 BULK ATOM 12331 H2 TIP3 3811 -5.679 -15.483 -15.388 .00 .00 BULK ATOM 12332 OH2 TIP3 3812 -27.794 21.284 -3.377 .00 .00 BULK ATOM 12333 H1 TIP3 3812 -28.337 21.037 -4.150 .00 .00 BULK ATOM 12334 H2 TIP3 3812 -26.973 21.678 -3.767 .00 .00 BULK ATOM 12335 OH2 TIP3 3813 11.200 -.391 20.837 .00 .00 BULK ATOM 12336 H1 TIP3 3813 11.146 -1.194 21.382 .00 .00 BULK ATOM 12337 H2 TIP3 3813 11.302 -.856 19.907 .00 .00 BULK ATOM 12338 OH2 TIP3 3814 -3.079 5.188 -14.482 .00 .00 BULK ATOM 12339 H1 TIP3 3814 -2.270 5.731 -14.251 .00 .00 BULK ATOM 12340 H2 TIP3 3814 -3.733 5.906 -14.648 .00 .00 BULK ATOM 12341 OH2 TIP3 3815 10.481 3.967 22.685 .00 .00 BULK ATOM 12342 H1 TIP3 3815 11.263 3.674 23.179 .00 .00 BULK ATOM 12343 H2 TIP3 3815 10.224 4.787 23.185 .00 .00 BULK ATOM 12344 OH2 TIP3 3816 22.096 -9.941 2.952 .00 .00 BULK ATOM 12345 H1 TIP3 3816 21.292 -9.322 2.799 .00 .00 BULK ATOM 12346 H2 TIP3 3816 22.321 -9.968 2.017 .00 .00 BULK ATOM 12347 OH2 TIP3 3817 -27.134 20.304 -.796 .00 .00 BULK ATOM 12348 H1 TIP3 3817 -26.443 19.686 -1.018 .00 .00 BULK ATOM 12349 H2 TIP3 3817 -27.443 20.642 -1.663 .00 .00 BULK ATOM 12350 OH2 TIP3 3818 16.928 16.816 -21.486 .00 .00 BULK ATOM 12351 H1 TIP3 3818 17.112 16.411 -22.352 .00 .00 BULK ATOM 12352 H2 TIP3 3818 16.317 16.169 -21.112 .00 .00 BULK ATOM 12353 OH2 TIP3 3819 -25.470 -10.825 -7.720 .00 .00 BULK ATOM 12354 H1 TIP3 3819 -25.619 -11.695 -8.086 .00 .00 BULK ATOM 12355 H2 TIP3 3819 -25.540 -10.359 -8.606 .00 .00 BULK ATOM 12356 OH2 TIP3 3820 11.438 -1.208 -15.680 .00 .00 BULK ATOM 12357 H1 TIP3 3820 12.097 -.954 -16.395 .00 .00 BULK ATOM 12358 H2 TIP3 3820 11.904 -1.016 -14.918 .00 .00 BULK ATOM 12359 OH2 TIP3 3821 -1.997 -22.282 13.610 .00 .00 BULK ATOM 12360 H1 TIP3 3821 -2.398 -21.453 13.933 .00 .00 BULK ATOM 12361 H2 TIP3 3821 -2.782 -22.698 13.254 .00 .00 BULK ATOM 12362 OH2 TIP3 3822 1.225 -9.720 -17.385 .00 .00 BULK ATOM 12363 H1 TIP3 3822 .823 -10.382 -18.003 .00 .00 BULK ATOM 12364 H2 TIP3 3822 1.645 -9.089 -18.017 .00 .00 BULK ATOM 12365 OH2 TIP3 3823 22.460 -2.643 -7.019 .00 .00 BULK ATOM 12366 H1 TIP3 3823 22.023 -2.654 -7.922 .00 .00 BULK ATOM 12367 H2 TIP3 3823 23.348 -2.331 -7.265 .00 .00 BULK ATOM 12368 OH2 TIP3 3824 9.047 10.957 -10.277 .00 .00 BULK ATOM 12369 H1 TIP3 3824 9.465 10.117 -10.111 .00 .00 BULK ATOM 12370 H2 TIP3 3824 8.282 10.666 -10.665 .00 .00 BULK ATOM 12371 OH2 TIP3 3825 19.801 23.148 -19.706 .00 .00 BULK ATOM 12372 H1 TIP3 3825 18.913 23.108 -20.179 .00 .00 BULK ATOM 12373 H2 TIP3 3825 20.219 22.309 -19.950 .00 .00 BULK ATOM 12374 OH2 TIP3 3826 -12.967 1.231 -20.447 .00 .00 BULK ATOM 12375 H1 TIP3 3826 -12.809 .266 -20.460 .00 .00 BULK ATOM 12376 H2 TIP3 3826 -13.292 1.329 -21.355 .00 .00 BULK ATOM 12377 OH2 TIP3 3827 -8.690 13.672 -21.112 .00 .00 BULK ATOM 12378 H1 TIP3 3827 -7.980 13.885 -20.456 .00 .00 BULK ATOM 12379 H2 TIP3 3827 -8.798 14.431 -21.702 .00 .00 BULK ATOM 12380 OH2 TIP3 3828 -6.211 12.861 -5.694 .00 .00 BULK ATOM 12381 H1 TIP3 3828 -5.920 12.924 -6.597 .00 .00 BULK ATOM 12382 H2 TIP3 3828 -5.395 12.540 -5.300 .00 .00 BULK ATOM 12383 OH2 TIP3 3829 12.543 17.985 20.432 .00 .00 BULK ATOM 12384 H1 TIP3 3829 12.794 18.924 20.474 .00 .00 BULK ATOM 12385 H2 TIP3 3829 12.133 17.823 21.296 .00 .00 BULK ATOM 12386 OH2 TIP3 3830 5.650 9.917 13.957 .00 .00 BULK ATOM 12387 H1 TIP3 3830 5.956 10.557 13.322 .00 .00 BULK ATOM 12388 H2 TIP3 3830 5.310 10.521 14.661 .00 .00 BULK ATOM 12389 OH2 TIP3 3831 1.311 1.733 -13.316 .00 .00 BULK ATOM 12390 H1 TIP3 3831 2.189 1.819 -13.621 .00 .00 BULK ATOM 12391 H2 TIP3 3831 1.095 2.687 -13.052 .00 .00 BULK ATOM 12392 OH2 TIP3 3832 -21.595 -1.645 -5.613 .00 .00 BULK ATOM 12393 H1 TIP3 3832 -22.563 -1.437 -5.675 .00 .00 BULK ATOM 12394 H2 TIP3 3832 -21.633 -2.048 -4.742 .00 .00 BULK ATOM 12395 OH2 TIP3 3833 18.072 -4.101 21.198 .00 .00 BULK ATOM 12396 H1 TIP3 3833 17.946 -3.500 20.436 .00 .00 BULK ATOM 12397 H2 TIP3 3833 18.316 -3.415 21.864 .00 .00 BULK ATOM 12398 OH2 TIP3 3834 5.055 -21.116 -17.826 .00 .00 BULK ATOM 12399 H1 TIP3 3834 4.960 -20.794 -16.890 .00 .00 BULK ATOM 12400 H2 TIP3 3834 6.038 -21.184 -17.746 .00 .00 BULK ATOM 12401 OH2 TIP3 3835 -5.764 -13.192 -21.835 .00 .00 BULK ATOM 12402 H1 TIP3 3835 -4.965 -12.707 -21.778 .00 .00 BULK ATOM 12403 H2 TIP3 3835 -6.257 -12.590 -22.347 .00 .00 BULK ATOM 12404 OH2 TIP3 3836 25.198 -16.616 11.796 .00 .00 BULK ATOM 12405 H1 TIP3 3836 24.320 -17.109 11.902 .00 .00 BULK ATOM 12406 H2 TIP3 3836 25.208 -16.112 12.657 .00 .00 BULK ATOM 12407 OH2 TIP3 3837 4.120 12.213 -18.373 .00 .00 BULK ATOM 12408 H1 TIP3 3837 4.894 12.000 -18.969 .00 .00 BULK ATOM 12409 H2 TIP3 3837 4.316 13.142 -18.173 .00 .00 BULK ATOM 12410 OH2 TIP3 3838 25.602 -4.402 -9.630 .00 .00 BULK ATOM 12411 H1 TIP3 3838 25.528 -5.353 -9.479 .00 .00 BULK ATOM 12412 H2 TIP3 3838 26.311 -4.137 -10.250 .00 .00 BULK ATOM 12413 OH2 TIP3 3839 8.666 -16.267 -20.442 .00 .00 BULK ATOM 12414 H1 TIP3 3839 9.321 -16.489 -21.132 .00 .00 BULK ATOM 12415 H2 TIP3 3839 7.855 -16.438 -20.939 .00 .00 BULK ATOM 12416 OH2 TIP3 3840 -2.346 -18.655 -9.705 .00 .00 BULK ATOM 12417 H1 TIP3 3840 -2.144 -19.580 -9.482 .00 .00 BULK ATOM 12418 H2 TIP3 3840 -2.450 -18.781 -10.644 .00 .00 BULK ATOM 12419 OH2 TIP3 3841 3.025 17.124 -11.606 .00 .00 BULK ATOM 12420 H1 TIP3 3841 2.340 17.781 -11.394 .00 .00 BULK ATOM 12421 H2 TIP3 3841 2.925 16.420 -10.945 .00 .00 BULK ATOM 12422 OH2 TIP3 3842 -19.791 22.778 -8.985 .00 .00 BULK ATOM 12423 H1 TIP3 3842 -19.983 21.968 -9.544 .00 .00 BULK ATOM 12424 H2 TIP3 3842 -20.431 23.469 -9.390 .00 .00 BULK ATOM 12425 OH2 TIP3 3843 10.365 12.018 -2.270 .00 .00 BULK ATOM 12426 H1 TIP3 3843 10.592 12.252 -3.206 .00 .00 BULK ATOM 12427 H2 TIP3 3843 10.642 11.072 -2.342 .00 .00 BULK ATOM 12428 OH2 TIP3 3844 10.925 -15.388 1.439 .00 .00 BULK ATOM 12429 H1 TIP3 3844 10.400 -15.908 2.108 .00 .00 BULK ATOM 12430 H2 TIP3 3844 11.468 -14.764 1.937 .00 .00 BULK ATOM 12431 OH2 TIP3 3845 -21.545 13.335 9.037 .00 .00 BULK ATOM 12432 H1 TIP3 3845 -21.575 13.000 9.942 .00 .00 BULK ATOM 12433 H2 TIP3 3845 -22.285 12.842 8.621 .00 .00 BULK ATOM 12434 OH2 TIP3 3846 27.176 .728 15.429 .00 .00 BULK ATOM 12435 H1 TIP3 3846 27.584 .664 14.573 .00 .00 BULK ATOM 12436 H2 TIP3 3846 26.349 .276 15.162 .00 .00 BULK ATOM 12437 OH2 TIP3 3847 25.312 15.249 12.126 .00 .00 BULK ATOM 12438 H1 TIP3 3847 25.518 14.856 11.203 .00 .00 BULK ATOM 12439 H2 TIP3 3847 25.198 16.195 11.850 .00 .00 BULK ATOM 12440 OH2 TIP3 3848 -24.826 21.703 10.032 .00 .00 BULK ATOM 12441 H1 TIP3 3848 -24.643 21.177 9.210 .00 .00 BULK ATOM 12442 H2 TIP3 3848 -24.060 21.520 10.610 .00 .00 BULK ATOM 12443 OH2 TIP3 3849 -17.267 3.084 -13.844 .00 .00 BULK ATOM 12444 H1 TIP3 3849 -17.699 3.663 -14.492 .00 .00 BULK ATOM 12445 H2 TIP3 3849 -16.326 3.049 -14.074 .00 .00 BULK ATOM 12446 OH2 TIP3 3850 -5.300 -18.740 13.581 .00 .00 BULK ATOM 12447 H1 TIP3 3850 -5.967 -18.643 12.899 .00 .00 BULK ATOM 12448 H2 TIP3 3850 -5.597 -19.543 14.030 .00 .00 BULK ATOM 12449 OH2 TIP3 3851 -9.769 -13.182 -10.077 .00 .00 BULK ATOM 12450 H1 TIP3 3851 -9.194 -13.102 -10.843 .00 .00 BULK ATOM 12451 H2 TIP3 3851 -10.681 -12.992 -10.576 .00 .00 BULK ATOM 12452 OH2 TIP3 3852 -15.054 7.169 8.242 .00 .00 BULK ATOM 12453 H1 TIP3 3852 -15.195 7.839 8.906 .00 .00 BULK ATOM 12454 H2 TIP3 3852 -15.829 6.601 8.453 .00 .00 BULK ATOM 12455 OH2 TIP3 3853 13.078 -8.228 17.098 .00 .00 BULK ATOM 12456 H1 TIP3 3853 12.801 -7.280 17.405 .00 .00 BULK ATOM 12457 H2 TIP3 3853 13.384 -8.041 16.214 .00 .00 BULK ATOM 12458 OH2 TIP3 3854 -27.638 10.652 -23.500 .00 .00 BULK ATOM 12459 H1 TIP3 3854 -27.878 9.718 -23.473 .00 .00 BULK ATOM 12460 H2 TIP3 3854 -28.261 11.033 -22.824 .00 .00 BULK ATOM 12461 OH2 TIP3 3855 -27.013 12.518 8.989 .00 .00 BULK ATOM 12462 H1 TIP3 3855 -27.407 11.843 9.579 .00 .00 BULK ATOM 12463 H2 TIP3 3855 -27.595 12.493 8.286 .00 .00 BULK ATOM 12464 OH2 TIP3 3856 19.006 -1.751 -14.655 .00 .00 BULK ATOM 12465 H1 TIP3 3856 18.587 -2.264 -13.914 .00 .00 BULK ATOM 12466 H2 TIP3 3856 18.506 -1.964 -15.498 .00 .00 BULK ATOM 12467 OH2 TIP3 3857 1.940 -6.488 21.074 .00 .00 BULK ATOM 12468 H1 TIP3 3857 1.873 -5.560 21.503 .00 .00 BULK ATOM 12469 H2 TIP3 3857 1.136 -6.934 21.560 .00 .00 BULK ATOM 12470 OH2 TIP3 3858 22.747 20.713 -4.248 .00 .00 BULK ATOM 12471 H1 TIP3 3858 23.091 19.771 -4.217 .00 .00 BULK ATOM 12472 H2 TIP3 3858 23.142 21.068 -5.065 .00 .00 BULK ATOM 12473 OH2 TIP3 3859 -17.181 1.223 18.199 .00 .00 BULK ATOM 12474 H1 TIP3 3859 -17.382 .414 17.715 .00 .00 BULK ATOM 12475 H2 TIP3 3859 -17.458 1.816 17.511 .00 .00 BULK ATOM 12476 OH2 TIP3 3860 -29.606 -21.356 11.218 .00 .00 BULK ATOM 12477 H1 TIP3 3860 -28.923 -21.751 11.731 .00 .00 BULK ATOM 12478 H2 TIP3 3860 -29.975 -20.770 11.925 .00 .00 BULK ATOM 12479 OH2 TIP3 3861 -17.762 14.538 -5.776 .00 .00 BULK ATOM 12480 H1 TIP3 3861 -17.908 15.210 -5.034 .00 .00 BULK ATOM 12481 H2 TIP3 3861 -17.970 13.753 -5.293 .00 .00 BULK ATOM 12482 OH2 TIP3 3862 16.873 18.923 22.650 .00 .00 BULK ATOM 12483 H1 TIP3 3862 16.779 19.838 22.595 .00 .00 BULK ATOM 12484 H2 TIP3 3862 15.919 18.813 22.777 .00 .00 BULK ATOM 12485 OH2 TIP3 3863 -28.956 13.415 5.259 .00 .00 BULK ATOM 12486 H1 TIP3 3863 -29.174 13.801 6.159 .00 .00 BULK ATOM 12487 H2 TIP3 3863 -29.508 14.053 4.720 .00 .00 BULK ATOM 12488 OH2 TIP3 3864 26.765 20.188 7.164 .00 .00 BULK ATOM 12489 H1 TIP3 3864 27.789 20.117 7.330 .00 .00 BULK ATOM 12490 H2 TIP3 3864 26.646 20.933 6.545 .00 .00 BULK ATOM 12491 OH2 TIP3 3865 25.349 17.317 15.612 .00 .00 BULK ATOM 12492 H1 TIP3 3865 24.394 17.133 15.680 .00 .00 BULK ATOM 12493 H2 TIP3 3865 25.612 17.427 16.559 .00 .00 BULK ATOM 12494 OH2 TIP3 3866 -8.051 9.890 3.133 .00 .00 BULK ATOM 12495 H1 TIP3 3866 -8.248 10.044 2.180 .00 .00 BULK ATOM 12496 H2 TIP3 3866 -7.376 9.257 3.088 .00 .00 BULK ATOM 12497 OH2 TIP3 3867 26.747 -1.473 1.743 .00 .00 BULK ATOM 12498 H1 TIP3 3867 25.849 -1.364 2.104 .00 .00 BULK ATOM 12499 H2 TIP3 3867 26.628 -2.214 1.065 .00 .00 BULK ATOM 12500 OH2 TIP3 3868 12.646 13.333 9.270 .00 .00 BULK ATOM 12501 H1 TIP3 3868 11.715 13.178 9.104 .00 .00 BULK ATOM 12502 H2 TIP3 3868 12.584 14.342 9.220 .00 .00 BULK ATOM 12503 OH2 TIP3 3869 5.935 13.664 7.422 .00 .00 BULK ATOM 12504 H1 TIP3 3869 6.338 13.511 8.280 .00 .00 BULK ATOM 12505 H2 TIP3 3869 6.668 13.422 6.767 .00 .00 BULK ATOM 12506 OH2 TIP3 3870 -23.178 -3.450 3.798 .00 .00 BULK ATOM 12507 H1 TIP3 3870 -22.218 -3.634 3.768 .00 .00 BULK ATOM 12508 H2 TIP3 3870 -23.275 -3.129 4.745 .00 .00 BULK ATOM 12509 OH2 TIP3 3871 23.943 4.151 13.865 .00 .00 BULK ATOM 12510 H1 TIP3 3871 24.802 3.690 13.910 .00 .00 BULK ATOM 12511 H2 TIP3 3871 24.099 4.955 14.365 .00 .00 BULK ATOM 12512 OH2 TIP3 3872 22.551 11.243 9.137 .00 .00 BULK ATOM 12513 H1 TIP3 3872 22.762 10.392 9.559 .00 .00 BULK ATOM 12514 H2 TIP3 3872 23.007 11.012 8.310 .00 .00 BULK ATOM 12515 OH2 TIP3 3873 13.331 14.115 -19.279 .00 .00 BULK ATOM 12516 H1 TIP3 3873 13.786 14.460 -20.090 .00 .00 BULK ATOM 12517 H2 TIP3 3873 14.102 14.027 -18.729 .00 .00 BULK ATOM 12518 OH2 TIP3 3874 26.894 -7.668 9.006 .00 .00 BULK ATOM 12519 H1 TIP3 3874 27.045 -8.473 8.528 .00 .00 BULK ATOM 12520 H2 TIP3 3874 27.674 -7.745 9.614 .00 .00 BULK ATOM 12521 OH2 TIP3 3875 22.514 20.435 15.530 .00 .00 BULK ATOM 12522 H1 TIP3 3875 22.461 19.922 16.319 .00 .00 BULK ATOM 12523 H2 TIP3 3875 21.612 20.521 15.267 .00 .00 BULK ATOM 12524 OH2 TIP3 3876 -27.994 2.541 12.670 .00 .00 BULK ATOM 12525 H1 TIP3 3876 -27.567 2.260 13.466 .00 .00 BULK ATOM 12526 H2 TIP3 3876 -27.880 3.475 12.838 .00 .00 BULK ATOM 12527 OH2 TIP3 3877 -14.491 -18.674 2.607 .00 .00 BULK ATOM 12528 H1 TIP3 3877 -14.926 -19.098 3.369 .00 .00 BULK ATOM 12529 H2 TIP3 3877 -15.291 -18.920 2.112 .00 .00 BULK ATOM 12530 OH2 TIP3 3878 16.011 15.465 -.396 .00 .00 BULK ATOM 12531 H1 TIP3 3878 15.768 15.283 .541 .00 .00 BULK ATOM 12532 H2 TIP3 3878 16.859 15.781 -.208 .00 .00 BULK ATOM 12533 OH2 TIP3 3879 -16.619 -5.013 15.872 .00 .00 BULK ATOM 12534 H1 TIP3 3879 -16.415 -4.368 16.613 .00 .00 BULK ATOM 12535 H2 TIP3 3879 -15.821 -5.540 15.986 .00 .00 BULK ATOM 12536 OH2 TIP3 3880 -9.931 5.894 8.003 .00 .00 BULK ATOM 12537 H1 TIP3 3880 -9.406 6.428 8.670 .00 .00 BULK ATOM 12538 H2 TIP3 3880 -10.452 6.543 7.462 .00 .00 BULK ATOM 12539 OH2 TIP3 3881 -21.232 -21.273 19.649 .00 .00 BULK ATOM 12540 H1 TIP3 3881 -20.312 -21.143 19.872 .00 .00 BULK ATOM 12541 H2 TIP3 3881 -21.099 -21.806 18.856 .00 .00 BULK ATOM 12542 OH2 TIP3 3882 28.992 1.037 -7.169 .00 .00 BULK ATOM 12543 H1 TIP3 3882 29.048 1.733 -6.429 .00 .00 BULK ATOM 12544 H2 TIP3 3882 29.504 1.448 -7.931 .00 .00 BULK ATOM 12545 OH2 TIP3 3883 20.128 5.250 11.282 .00 .00 BULK ATOM 12546 H1 TIP3 3883 20.061 5.945 11.950 .00 .00 BULK ATOM 12547 H2 TIP3 3883 20.626 4.601 11.765 .00 .00 BULK ATOM 12548 OH2 TIP3 3884 24.447 13.933 7.621 .00 .00 BULK ATOM 12549 H1 TIP3 3884 24.815 14.435 6.867 .00 .00 BULK ATOM 12550 H2 TIP3 3884 23.816 13.348 7.134 .00 .00 BULK ATOM 12551 OH2 TIP3 3885 -23.259 22.601 16.699 .00 .00 BULK ATOM 12552 H1 TIP3 3885 -23.656 22.125 17.421 .00 .00 BULK ATOM 12553 H2 TIP3 3885 -23.376 21.866 16.017 .00 .00 BULK ATOM 12554 OH2 TIP3 3886 14.951 20.001 14.926 .00 .00 BULK ATOM 12555 H1 TIP3 3886 15.294 19.256 15.513 .00 .00 BULK ATOM 12556 H2 TIP3 3886 14.029 19.803 14.737 .00 .00 BULK ATOM 12557 OH2 TIP3 3887 -24.610 -15.085 -6.725 .00 .00 BULK ATOM 12558 H1 TIP3 3887 -23.958 -14.397 -6.633 .00 .00 BULK ATOM 12559 H2 TIP3 3887 -24.182 -15.867 -6.360 .00 .00 BULK ATOM 12560 OH2 TIP3 3888 -20.686 15.545 7.581 .00 .00 BULK ATOM 12561 H1 TIP3 3888 -21.179 15.277 6.803 .00 .00 BULK ATOM 12562 H2 TIP3 3888 -20.966 14.816 8.203 .00 .00 BULK ATOM 12563 OH2 TIP3 3889 -22.004 17.688 1.752 .00 .00 BULK ATOM 12564 H1 TIP3 3889 -22.096 17.559 .768 .00 .00 BULK ATOM 12565 H2 TIP3 3889 -21.041 17.893 1.848 .00 .00 BULK ATOM 12566 OH2 TIP3 3890 -9.269 -6.739 18.078 .00 .00 BULK ATOM 12567 H1 TIP3 3890 -9.644 -7.544 17.618 .00 .00 BULK ATOM 12568 H2 TIP3 3890 -9.831 -6.731 18.870 .00 .00 BULK ATOM 12569 OH2 TIP3 3891 .229 -22.211 11.901 .00 .00 BULK ATOM 12570 H1 TIP3 3891 -.348 -21.974 11.139 .00 .00 BULK ATOM 12571 H2 TIP3 3891 -.484 -22.402 12.478 .00 .00 BULK ATOM 12572 OH2 TIP3 3892 -2.743 19.474 11.031 .00 .00 BULK ATOM 12573 H1 TIP3 3892 -2.478 20.403 11.236 .00 .00 BULK ATOM 12574 H2 TIP3 3892 -3.710 19.695 10.975 .00 .00 BULK ATOM 12575 OH2 TIP3 3893 -26.325 -4.505 -9.278 .00 .00 BULK ATOM 12576 H1 TIP3 3893 -26.296 -5.409 -9.639 .00 .00 BULK ATOM 12577 H2 TIP3 3893 -25.493 -4.135 -9.588 .00 .00 BULK ATOM 12578 OH2 TIP3 3894 -20.447 -10.479 16.911 .00 .00 BULK ATOM 12579 H1 TIP3 3894 -20.892 -10.302 16.024 .00 .00 BULK ATOM 12580 H2 TIP3 3894 -21.163 -9.988 17.449 .00 .00 BULK ATOM 12581 OH2 TIP3 3895 -25.728 20.156 12.827 .00 .00 BULK ATOM 12582 H1 TIP3 3895 -25.422 19.389 13.334 .00 .00 BULK ATOM 12583 H2 TIP3 3895 -25.092 20.118 12.103 .00 .00 BULK ATOM 12584 OH2 TIP3 3896 -28.546 -4.807 6.706 .00 .00 BULK ATOM 12585 H1 TIP3 3896 -27.859 -4.593 6.077 .00 .00 BULK ATOM 12586 H2 TIP3 3896 -28.862 -3.909 6.867 .00 .00 BULK ATOM 12587 OH2 TIP3 3897 -19.723 12.593 .230 .00 .00 BULK ATOM 12588 H1 TIP3 3897 -20.368 12.244 -.410 .00 .00 BULK ATOM 12589 H2 TIP3 3897 -18.988 13.012 -.251 .00 .00 BULK ATOM 12590 OH2 TIP3 3898 -22.479 -12.483 16.640 .00 .00 BULK ATOM 12591 H1 TIP3 3898 -22.775 -11.977 15.785 .00 .00 BULK ATOM 12592 H2 TIP3 3898 -21.968 -11.807 17.053 .00 .00 BULK ATOM 12593 OH2 TIP3 3899 22.113 -12.387 15.058 .00 .00 BULK ATOM 12594 H1 TIP3 3899 21.767 -11.885 15.781 .00 .00 BULK ATOM 12595 H2 TIP3 3899 23.000 -12.709 15.456 .00 .00 BULK ATOM 12596 OH2 TIP3 3900 28.840 16.307 10.785 .00 .00 BULK ATOM 12597 H1 TIP3 3900 28.398 17.116 10.669 .00 .00 BULK ATOM 12598 H2 TIP3 3900 29.249 16.521 11.629 .00 .00 BULK ATOM 12599 OH2 TIP3 3901 5.412 12.316 20.543 .00 .00 BULK ATOM 12600 H1 TIP3 3901 5.059 13.176 20.852 .00 .00 BULK ATOM 12601 H2 TIP3 3901 6.275 12.199 21.046 .00 .00 BULK ATOM 12602 OH2 TIP3 3902 -28.054 3.700 -5.900 .00 .00 BULK ATOM 12603 H1 TIP3 3902 -28.528 4.470 -5.763 .00 .00 BULK ATOM 12604 H2 TIP3 3902 -28.572 3.003 -5.433 .00 .00 BULK ATOM 12605 OH2 TIP3 3903 -12.349 -18.448 -1.534 .00 .00 BULK ATOM 12606 H1 TIP3 3903 -13.281 -18.108 -1.497 .00 .00 BULK ATOM 12607 H2 TIP3 3903 -12.537 -19.368 -1.945 .00 .00 BULK ATOM 12608 OH2 TIP3 3904 28.531 10.043 -14.606 .00 .00 BULK ATOM 12609 H1 TIP3 3904 28.086 10.387 -15.404 .00 .00 BULK ATOM 12610 H2 TIP3 3904 28.782 9.157 -15.024 .00 .00 BULK ATOM 12611 OH2 TIP3 3905 26.764 22.573 5.546 .00 .00 BULK ATOM 12612 H1 TIP3 3905 26.754 22.543 4.587 .00 .00 BULK ATOM 12613 H2 TIP3 3905 27.362 23.303 5.607 .00 .00 BULK ATOM 12614 OH2 TIP3 3906 24.503 -18.824 9.984 .00 .00 BULK ATOM 12615 H1 TIP3 3906 25.016 -19.197 10.739 .00 .00 BULK ATOM 12616 H2 TIP3 3906 24.918 -19.291 9.265 .00 .00 BULK ATOM 12617 OH2 TIP3 3907 21.366 -10.915 -2.143 .00 .00 BULK ATOM 12618 H1 TIP3 3907 21.459 -10.733 -3.112 .00 .00 BULK ATOM 12619 H2 TIP3 3907 22.273 -11.135 -1.993 .00 .00 BULK ATOM 12620 OH2 TIP3 3908 12.674 -21.466 22.808 .00 .00 BULK ATOM 12621 H1 TIP3 3908 12.812 -22.458 22.775 .00 .00 BULK ATOM 12622 H2 TIP3 3908 13.123 -21.290 23.678 .00 .00 BULK ATOM 12623 OH2 TIP3 3909 -27.800 -2.344 -21.657 .00 .00 BULK ATOM 12624 H1 TIP3 3909 -28.610 -2.509 -22.183 .00 .00 BULK ATOM 12625 H2 TIP3 3909 -27.214 -2.863 -22.147 .00 .00 BULK ATOM 12626 OH2 TIP3 3910 27.045 -20.456 8.491 .00 .00 BULK ATOM 12627 H1 TIP3 3910 27.475 -19.684 8.028 .00 .00 BULK ATOM 12628 H2 TIP3 3910 26.939 -20.104 9.384 .00 .00 BULK ATOM 12629 OH2 TIP3 3911 -28.916 -6.166 11.505 .00 .00 BULK ATOM 12630 H1 TIP3 3911 -28.127 -5.872 11.984 .00 .00 BULK ATOM 12631 H2 TIP3 3911 -29.485 -5.507 11.871 .00 .00 BULK ATOM 12632 OH2 TIP3 3912 -29.896 -20.698 18.534 .00 .00 BULK ATOM 12633 H1 TIP3 3912 -29.418 -19.963 19.021 .00 .00 BULK ATOM 12634 H2 TIP3 3912 -29.106 -21.009 18.010 .00 .00 BULK ATOM 12635 OH2 TIP3 3913 21.364 -9.672 6.970 .00 .00 BULK ATOM 12636 H1 TIP3 3913 20.475 -9.430 6.570 .00 .00 BULK ATOM 12637 H2 TIP3 3913 21.300 -10.622 6.886 .00 .00 BULK ATOM 12638 OH2 TIP3 3914 5.321 -12.192 15.741 .00 .00 BULK ATOM 12639 H1 TIP3 3914 5.822 -11.630 16.303 .00 .00 BULK ATOM 12640 H2 TIP3 3914 4.946 -12.788 16.422 .00 .00 BULK ATOM 12641 OH2 TIP3 3915 25.347 -20.065 -19.987 .00 .00 BULK ATOM 12642 H1 TIP3 3915 24.535 -20.400 -20.370 .00 .00 BULK ATOM 12643 H2 TIP3 3915 25.214 -19.080 -20.018 .00 .00 BULK ATOM 12644 OH2 TIP3 3916 5.101 -3.982 18.994 .00 .00 BULK ATOM 12645 H1 TIP3 3916 4.149 -4.197 18.879 .00 .00 BULK ATOM 12646 H2 TIP3 3916 5.211 -4.072 19.967 .00 .00 BULK ATOM 12647 OH2 TIP3 3917 -24.737 -7.311 -16.890 .00 .00 BULK ATOM 12648 H1 TIP3 3917 -24.762 -7.541 -15.941 .00 .00 BULK ATOM 12649 H2 TIP3 3917 -25.633 -6.936 -17.095 .00 .00 BULK ATOM 12650 OH2 TIP3 3918 19.757 -13.803 22.524 .00 .00 BULK ATOM 12651 H1 TIP3 3918 18.914 -14.096 22.155 .00 .00 BULK ATOM 12652 H2 TIP3 3918 20.111 -14.690 22.718 .00 .00 BULK ATOM 12653 OH2 TIP3 3919 29.625 17.154 -7.716 .00 .00 BULK ATOM 12654 H1 TIP3 3919 29.673 17.986 -8.213 .00 .00 BULK ATOM 12655 H2 TIP3 3919 29.158 17.447 -6.938 .00 .00 BULK ATOM 12656 OH2 TIP3 3920 -15.427 -4.615 7.714 .00 .00 BULK ATOM 12657 H1 TIP3 3920 -15.901 -4.628 8.578 .00 .00 BULK ATOM 12658 H2 TIP3 3920 -15.864 -3.811 7.274 .00 .00 BULK ATOM 12659 OH2 TIP3 3921 -14.332 -18.138 21.863 .00 .00 BULK ATOM 12660 H1 TIP3 3921 -14.072 -18.873 21.249 .00 .00 BULK ATOM 12661 H2 TIP3 3921 -13.515 -17.709 22.115 .00 .00 BULK ATOM 12662 OH2 TIP3 3922 8.393 18.102 3.237 .00 .00 BULK ATOM 12663 H1 TIP3 3922 8.360 18.934 2.710 .00 .00 BULK ATOM 12664 H2 TIP3 3922 8.589 17.433 2.564 .00 .00 BULK ATOM 12665 OH2 TIP3 3923 18.240 -.689 -11.512 .00 .00 BULK ATOM 12666 H1 TIP3 3923 19.051 -.743 -12.087 .00 .00 BULK ATOM 12667 H2 TIP3 3923 18.672 -.437 -10.639 .00 .00 BULK ATOM 12668 OH2 TIP3 3924 23.403 -19.793 13.656 .00 .00 BULK ATOM 12669 H1 TIP3 3924 22.982 -19.007 13.354 .00 .00 BULK ATOM 12670 H2 TIP3 3924 23.074 -20.440 12.952 .00 .00 BULK ATOM 12671 OH2 TIP3 3925 -.512 -19.077 11.716 .00 .00 BULK ATOM 12672 H1 TIP3 3925 -.444 -20.011 11.911 .00 .00 BULK ATOM 12673 H2 TIP3 3925 -.249 -18.994 10.790 .00 .00 BULK ATOM 12674 OH2 TIP3 3926 -21.903 2.853 -2.643 .00 .00 BULK ATOM 12675 H1 TIP3 3926 -22.046 3.803 -2.299 .00 .00 BULK ATOM 12676 H2 TIP3 3926 -22.864 2.563 -2.506 .00 .00 BULK ATOM 12677 OH2 TIP3 3927 18.720 18.398 -6.920 .00 .00 BULK ATOM 12678 H1 TIP3 3927 19.124 18.503 -7.806 .00 .00 BULK ATOM 12679 H2 TIP3 3927 19.447 18.502 -6.302 .00 .00 BULK ATOM 12680 OH2 TIP3 3928 2.396 -4.284 -20.075 .00 .00 BULK ATOM 12681 H1 TIP3 3928 1.873 -3.583 -19.628 .00 .00 BULK ATOM 12682 H2 TIP3 3928 1.861 -4.442 -20.925 .00 .00 BULK ATOM 12683 OH2 TIP3 3929 -17.225 -17.735 -14.224 .00 .00 BULK ATOM 12684 H1 TIP3 3929 -17.570 -16.886 -13.917 .00 .00 BULK ATOM 12685 H2 TIP3 3929 -16.309 -17.724 -13.901 .00 .00 BULK ATOM 12686 OH2 TIP3 3930 25.995 -3.126 -17.403 .00 .00 BULK ATOM 12687 H1 TIP3 3930 26.683 -3.740 -17.749 .00 .00 BULK ATOM 12688 H2 TIP3 3930 26.070 -3.276 -16.426 .00 .00 BULK ATOM 12689 OH2 TIP3 3931 20.804 18.267 -5.156 .00 .00 BULK ATOM 12690 H1 TIP3 3931 21.253 17.704 -5.747 .00 .00 BULK ATOM 12691 H2 TIP3 3931 21.522 18.434 -4.537 .00 .00 BULK ATOM 12692 OH2 TIP3 3932 19.390 -14.340 5.548 .00 .00 BULK ATOM 12693 H1 TIP3 3932 18.629 -14.991 5.748 .00 .00 BULK ATOM 12694 H2 TIP3 3932 18.810 -13.637 5.184 .00 .00 BULK ATOM 12695 OH2 TIP3 3933 -23.167 -3.790 -22.770 .00 .00 BULK ATOM 12696 H1 TIP3 3933 -23.485 -3.265 -22.077 .00 .00 BULK ATOM 12697 H2 TIP3 3933 -22.480 -3.239 -23.210 .00 .00 BULK ATOM 12698 OH2 TIP3 3934 26.505 12.539 4.036 .00 .00 BULK ATOM 12699 H1 TIP3 3934 26.489 11.966 3.235 .00 .00 BULK ATOM 12700 H2 TIP3 3934 25.883 13.259 3.851 .00 .00 BULK ATOM 12701 OH2 TIP3 3935 25.861 9.356 19.562 .00 .00 BULK ATOM 12702 H1 TIP3 3935 25.134 9.600 18.950 .00 .00 BULK ATOM 12703 H2 TIP3 3935 26.361 8.878 18.838 .00 .00 BULK ATOM 12704 OH2 TIP3 3936 20.375 -11.635 21.050 .00 .00 BULK ATOM 12705 H1 TIP3 3936 20.277 -12.206 20.241 .00 .00 BULK ATOM 12706 H2 TIP3 3936 20.027 -12.246 21.767 .00 .00 BULK ATOM 12707 OH2 TIP3 3937 26.346 23.130 -19.390 .00 .00 BULK ATOM 12708 H1 TIP3 3937 25.879 22.535 -19.983 .00 .00 BULK ATOM 12709 H2 TIP3 3937 25.699 23.384 -18.671 .00 .00 BULK ATOM 12710 OH2 TIP3 3938 27.439 -4.320 3.645 .00 .00 BULK ATOM 12711 H1 TIP3 3938 26.777 -3.645 3.981 .00 .00 BULK ATOM 12712 H2 TIP3 3938 28.234 -3.855 3.337 .00 .00 BULK ATOM 12713 OH2 TIP3 3939 5.451 -7.944 -6.781 .00 .00 BULK ATOM 12714 H1 TIP3 3939 5.220 -8.295 -5.938 .00 .00 BULK ATOM 12715 H2 TIP3 3939 6.380 -8.235 -6.773 .00 .00 BULK ATOM 12716 OH2 TIP3 3940 -15.461 -20.307 4.553 .00 .00 BULK ATOM 12717 H1 TIP3 3940 -16.286 -20.725 4.730 .00 .00 BULK ATOM 12718 H2 TIP3 3940 -14.963 -21.077 4.262 .00 .00 BULK ATOM 12719 OH2 TIP3 3941 -17.977 -10.761 11.864 .00 .00 BULK ATOM 12720 H1 TIP3 3941 -18.001 -11.365 12.609 .00 .00 BULK ATOM 12721 H2 TIP3 3941 -18.032 -10.023 12.439 .00 .00 BULK ATOM 12722 OH2 TIP3 3942 -10.930 22.685 14.009 .00 .00 BULK ATOM 12723 H1 TIP3 3942 -10.893 22.995 13.087 .00 .00 BULK ATOM 12724 H2 TIP3 3942 -11.823 22.481 14.192 .00 .00 BULK ATOM 12725 OH2 TIP3 3943 -28.156 13.685 13.945 .00 .00 BULK ATOM 12726 H1 TIP3 3943 -28.958 13.328 14.434 .00 .00 BULK ATOM 12727 H2 TIP3 3943 -28.554 13.509 13.079 .00 .00 BULK ATOM 12728 OH2 TIP3 3944 -10.836 10.929 3.537 .00 .00 BULK ATOM 12729 H1 TIP3 3944 -10.347 10.123 3.191 .00 .00 BULK ATOM 12730 H2 TIP3 3944 -11.569 10.884 2.863 .00 .00 BULK ATOM 12731 OH2 TIP3 3945 -15.856 -16.616 23.596 .00 .00 BULK ATOM 12732 H1 TIP3 3945 -15.275 -16.992 22.867 .00 .00 BULK ATOM 12733 H2 TIP3 3945 -15.805 -15.634 23.374 .00 .00 BULK ATOM 12734 OH2 TIP3 3946 -18.476 8.532 -8.686 .00 .00 BULK ATOM 12735 H1 TIP3 3946 -19.271 7.945 -8.726 .00 .00 BULK ATOM 12736 H2 TIP3 3946 -18.829 9.319 -8.276 .00 .00 BULK ATOM 12737 OH2 TIP3 3947 -27.664 5.500 -2.832 .00 .00 BULK ATOM 12738 H1 TIP3 3947 -27.724 6.303 -3.391 .00 .00 BULK ATOM 12739 H2 TIP3 3947 -28.570 5.190 -2.796 .00 .00 BULK ATOM 12740 OH2 TIP3 3948 27.162 9.625 -10.204 .00 .00 BULK ATOM 12741 H1 TIP3 3948 27.810 8.928 -10.464 .00 .00 BULK ATOM 12742 H2 TIP3 3948 26.986 9.988 -11.057 .00 .00 BULK ATOM 12743 OH2 TIP3 3949 27.237 -20.702 -3.031 .00 .00 BULK ATOM 12744 H1 TIP3 3949 26.429 -20.261 -3.453 .00 .00 BULK ATOM 12745 H2 TIP3 3949 26.750 -21.377 -2.521 .00 .00 BULK ATOM 12746 OH2 TIP3 3950 -10.132 -16.980 8.202 .00 .00 BULK ATOM 12747 H1 TIP3 3950 -9.565 -17.222 7.429 .00 .00 BULK ATOM 12748 H2 TIP3 3950 -9.790 -16.045 8.375 .00 .00 BULK ATOM 12749 OH2 TIP3 3951 -23.065 18.201 19.188 .00 .00 BULK ATOM 12750 H1 TIP3 3951 -23.345 17.501 19.798 .00 .00 BULK ATOM 12751 H2 TIP3 3951 -23.915 18.446 18.758 .00 .00 BULK ATOM 12752 OH2 TIP3 3952 27.226 15.207 19.638 .00 .00 BULK ATOM 12753 H1 TIP3 3952 27.416 14.684 20.448 .00 .00 BULK ATOM 12754 H2 TIP3 3952 27.639 14.606 18.956 .00 .00 BULK ATOM 12755 OH2 TIP3 3953 24.859 6.352 15.540 .00 .00 BULK ATOM 12756 H1 TIP3 3953 24.487 7.257 15.633 .00 .00 BULK ATOM 12757 H2 TIP3 3953 24.309 5.968 16.217 .00 .00 BULK ATOM 12758 OH2 TIP3 3954 15.457 14.817 19.405 .00 .00 BULK ATOM 12759 H1 TIP3 3954 15.335 15.169 20.285 .00 .00 BULK ATOM 12760 H2 TIP3 3954 16.042 15.501 19.011 .00 .00 BULK ATOM 12761 OH2 TIP3 3955 20.087 -19.120 -3.832 .00 .00 BULK ATOM 12762 H1 TIP3 3955 19.669 -18.578 -3.122 .00 .00 BULK ATOM 12763 H2 TIP3 3955 20.990 -19.203 -3.429 .00 .00 BULK ATOM 12764 OH2 TIP3 3956 -17.240 -18.510 8.664 .00 .00 BULK ATOM 12765 H1 TIP3 3956 -16.348 -18.586 8.243 .00 .00 BULK ATOM 12766 H2 TIP3 3956 -16.964 -18.020 9.457 .00 .00 BULK ATOM 12767 OH2 TIP3 3957 -18.515 21.936 -20.956 .00 .00 BULK ATOM 12768 H1 TIP3 3957 -18.408 22.895 -20.809 .00 .00 BULK ATOM 12769 H2 TIP3 3957 -18.349 21.666 -20.073 .00 .00 BULK ATOM 12770 OH2 TIP3 3958 -26.168 -16.519 16.501 .00 .00 BULK ATOM 12771 H1 TIP3 3958 -25.242 -16.697 16.760 .00 .00 BULK ATOM 12772 H2 TIP3 3958 -26.090 -16.316 15.542 .00 .00 BULK ATOM 12773 OH2 TIP3 3959 -3.530 -19.783 6.520 .00 .00 BULK ATOM 12774 H1 TIP3 3959 -2.547 -19.681 6.370 .00 .00 BULK ATOM 12775 H2 TIP3 3959 -3.578 -20.226 7.341 .00 .00 BULK ATOM 12776 OH2 TIP3 3960 -8.238 -7.492 6.960 .00 .00 BULK ATOM 12777 H1 TIP3 3960 -7.518 -7.127 6.410 .00 .00 BULK ATOM 12778 H2 TIP3 3960 -8.602 -6.645 7.269 .00 .00 BULK ATOM 12779 OH2 TIP3 3961 -23.905 3.796 13.150 .00 .00 BULK ATOM 12780 H1 TIP3 3961 -24.595 3.568 13.733 .00 .00 BULK ATOM 12781 H2 TIP3 3961 -23.644 4.670 13.533 .00 .00 BULK ATOM 12782 OH2 TIP3 3962 -27.518 -22.216 -5.628 .00 .00 BULK ATOM 12783 H1 TIP3 3962 -28.029 -21.418 -5.851 .00 .00 BULK ATOM 12784 H2 TIP3 3962 -27.166 -21.842 -4.807 .00 .00 BULK ATOM 12785 OH2 TIP3 3963 29.473 -5.563 -3.026 .00 .00 BULK ATOM 12786 H1 TIP3 3963 28.635 -6.066 -2.937 .00 .00 BULK ATOM 12787 H2 TIP3 3963 29.993 -5.830 -2.308 .00 .00 BULK ATOM 12788 OH2 TIP3 3964 9.213 -20.780 18.868 .00 .00 BULK ATOM 12789 H1 TIP3 3964 9.683 -21.195 19.636 .00 .00 BULK ATOM 12790 H2 TIP3 3964 9.804 -20.041 18.645 .00 .00 BULK ATOM 12791 OH2 TIP3 3965 8.770 -11.750 14.080 .00 .00 BULK ATOM 12792 H1 TIP3 3965 9.188 -11.724 13.215 .00 .00 BULK ATOM 12793 H2 TIP3 3965 7.992 -12.311 13.953 .00 .00 BULK ATOM 12794 OH2 TIP3 3966 -27.040 2.012 17.358 .00 .00 BULK ATOM 12795 H1 TIP3 3966 -26.311 2.135 17.893 .00 .00 BULK ATOM 12796 H2 TIP3 3966 -27.611 1.494 17.950 .00 .00 BULK ATOM 12797 OH2 TIP3 3967 25.278 -3.702 14.438 .00 .00 BULK ATOM 12798 H1 TIP3 3967 24.402 -4.075 14.676 .00 .00 BULK ATOM 12799 H2 TIP3 3967 25.230 -3.958 13.526 .00 .00 BULK ATOM 12800 OH2 TIP3 3968 -22.505 -10.325 -4.505 .00 .00 BULK ATOM 12801 H1 TIP3 3968 -23.203 -9.882 -3.984 .00 .00 BULK ATOM 12802 H2 TIP3 3968 -22.465 -11.260 -4.261 .00 .00 BULK ATOM 12803 OH2 TIP3 3969 21.353 -18.125 -19.594 .00 .00 BULK ATOM 12804 H1 TIP3 3969 21.767 -18.960 -19.958 .00 .00 BULK ATOM 12805 H2 TIP3 3969 20.484 -18.226 -20.023 .00 .00 BULK ATOM 12806 OH2 TIP3 3970 -8.648 5.444 -4.533 .00 .00 BULK ATOM 12807 H1 TIP3 3970 -8.843 5.143 -3.600 .00 .00 BULK ATOM 12808 H2 TIP3 3970 -9.249 6.214 -4.645 .00 .00 BULK ATOM 12809 OH2 TIP3 3971 -29.622 -10.690 -5.403 .00 .00 BULK ATOM 12810 H1 TIP3 3971 -30.320 -10.784 -6.073 .00 .00 BULK ATOM 12811 H2 TIP3 3971 -29.466 -11.611 -5.039 .00 .00 BULK ATOM 12812 OH2 TIP3 3972 -14.842 -19.017 -22.328 .00 .00 BULK ATOM 12813 H1 TIP3 3972 -14.087 -19.284 -22.909 .00 .00 BULK ATOM 12814 H2 TIP3 3972 -14.870 -18.007 -22.492 .00 .00 BULK ATOM 12815 OH2 TIP3 3973 -24.394 -1.174 -5.942 .00 .00 BULK ATOM 12816 H1 TIP3 3973 -24.647 -2.007 -5.496 .00 .00 BULK ATOM 12817 H2 TIP3 3973 -25.303 -.968 -6.271 .00 .00 BULK ATOM 12818 OH2 TIP3 3974 -26.684 -.147 21.838 .00 .00 BULK ATOM 12819 H1 TIP3 3974 -27.279 -.618 21.178 .00 .00 BULK ATOM 12820 H2 TIP3 3974 -25.875 -.696 21.752 .00 .00 BULK ATOM 12821 OH2 TIP3 3975 -27.943 4.858 .242 .00 .00 BULK ATOM 12822 H1 TIP3 3975 -27.343 4.864 -.521 .00 .00 BULK ATOM 12823 H2 TIP3 3975 -27.433 4.343 .946 .00 .00 BULK ATOM 12824 OH2 TIP3 3976 -24.882 -4.379 8.077 .00 .00 BULK ATOM 12825 H1 TIP3 3976 -24.534 -4.219 8.975 .00 .00 BULK ATOM 12826 H2 TIP3 3976 -25.769 -4.010 8.269 .00 .00 BULK ATOM 12827 OH2 TIP3 3977 -24.885 -5.752 10.787 .00 .00 BULK ATOM 12828 H1 TIP3 3977 -25.391 -6.283 11.436 .00 .00 BULK ATOM 12829 H2 TIP3 3977 -25.541 -5.829 10.130 .00 .00 BULK ATOM 12830 OH2 TIP3 3978 -17.348 2.023 3.935 .00 .00 BULK ATOM 12831 H1 TIP3 3978 -16.957 1.629 3.141 .00 .00 BULK ATOM 12832 H2 TIP3 3978 -17.908 2.698 3.527 .00 .00 BULK ATOM 12833 OH2 TIP3 3979 -19.563 15.658 -8.290 .00 .00 BULK ATOM 12834 H1 TIP3 3979 -18.980 15.164 -7.625 .00 .00 BULK ATOM 12835 H2 TIP3 3979 -20.355 15.206 -8.205 .00 .00 BULK ATOM 12836 OH2 TIP3 3980 29.563 -4.550 14.059 .00 .00 BULK ATOM 12837 H1 TIP3 3980 30.523 -4.308 14.297 .00 .00 BULK ATOM 12838 H2 TIP3 3980 29.090 -3.808 14.446 .00 .00 BULK ATOM 12839 OH2 TIP3 3981 -23.049 7.437 -10.429 .00 .00 BULK ATOM 12840 H1 TIP3 3981 -22.107 7.284 -10.277 .00 .00 BULK ATOM 12841 H2 TIP3 3981 -22.974 8.406 -10.483 .00 .00 BULK ATOM 12842 OH2 TIP3 3982 22.867 -4.670 15.467 .00 .00 BULK ATOM 12843 H1 TIP3 3982 22.465 -5.514 15.253 .00 .00 BULK ATOM 12844 H2 TIP3 3982 21.999 -4.223 15.500 .00 .00 BULK ATOM 12845 OH2 TIP3 3983 18.942 -18.342 19.248 .00 .00 BULK ATOM 12846 H1 TIP3 3983 19.435 -19.071 19.663 .00 .00 BULK ATOM 12847 H2 TIP3 3983 19.595 -18.132 18.464 .00 .00 BULK ATOM 12848 OH2 TIP3 3984 -16.739 -13.477 17.019 .00 .00 BULK ATOM 12849 H1 TIP3 3984 -16.313 -14.229 16.607 .00 .00 BULK ATOM 12850 H2 TIP3 3984 -17.697 -13.635 16.717 .00 .00 BULK ATOM 12851 OH2 TIP3 3985 14.128 1.474 -18.806 .00 .00 BULK ATOM 12852 H1 TIP3 3985 14.701 1.699 -18.073 .00 .00 BULK ATOM 12853 H2 TIP3 3985 14.377 2.188 -19.446 .00 .00 BULK ATOM 12854 OH2 TIP3 3986 -27.942 -14.875 19.092 .00 .00 BULK ATOM 12855 H1 TIP3 3986 -27.959 -15.736 18.656 .00 .00 BULK ATOM 12856 H2 TIP3 3986 -27.914 -15.202 20.017 .00 .00 BULK ATOM 12857 OH2 TIP3 3987 -25.257 -22.143 16.091 .00 .00 BULK ATOM 12858 H1 TIP3 3987 -25.214 -21.380 15.490 .00 .00 BULK ATOM 12859 H2 TIP3 3987 -25.085 -22.886 15.464 .00 .00 BULK ATOM 12860 OH2 TIP3 3988 18.111 8.187 19.161 .00 .00 BULK ATOM 12861 H1 TIP3 3988 17.926 7.307 19.674 .00 .00 BULK ATOM 12862 H2 TIP3 3988 17.602 8.795 19.772 .00 .00 BULK ATOM 12863 OH2 TIP3 3989 26.319 -4.496 19.678 .00 .00 BULK ATOM 12864 H1 TIP3 3989 25.598 -4.627 20.324 .00 .00 BULK ATOM 12865 H2 TIP3 3989 25.808 -4.094 18.988 .00 .00 BULK ATOM 12866 OH2 TIP3 3990 1.641 -5.610 11.744 .00 .00 BULK ATOM 12867 H1 TIP3 3990 1.056 -5.262 11.027 .00 .00 BULK ATOM 12868 H2 TIP3 3990 1.129 -6.446 11.786 .00 .00 BULK ATOM 12869 OH2 TIP3 3991 -25.371 -16.176 5.015 .00 .00 BULK ATOM 12870 H1 TIP3 3991 -24.464 -16.513 4.938 .00 .00 BULK ATOM 12871 H2 TIP3 3991 -25.288 -15.499 4.315 .00 .00 BULK ATOM 12872 OH2 TIP3 3992 -21.911 10.160 3.019 .00 .00 BULK ATOM 12873 H1 TIP3 3992 -21.799 10.096 2.017 .00 .00 BULK ATOM 12874 H2 TIP3 3992 -22.292 11.057 3.071 .00 .00 BULK ATOM 12875 OH2 TIP3 3993 -25.125 .505 -1.152 .00 .00 BULK ATOM 12876 H1 TIP3 3993 -25.199 1.451 -1.383 .00 .00 BULK ATOM 12877 H2 TIP3 3993 -25.830 .218 -1.803 .00 .00 BULK ATOM 12878 OH2 TIP3 3994 -26.049 -9.086 19.268 .00 .00 BULK ATOM 12879 H1 TIP3 3994 -26.530 -9.148 18.417 .00 .00 BULK ATOM 12880 H2 TIP3 3994 -26.760 -9.020 19.910 .00 .00 BULK ATOM 12881 OH2 TIP3 3995 -21.211 14.185 -19.181 .00 .00 BULK ATOM 12882 H1 TIP3 3995 -21.815 14.796 -19.669 .00 .00 BULK ATOM 12883 H2 TIP3 3995 -21.700 13.349 -19.485 .00 .00 BULK ATOM 12884 OH2 TIP3 3996 21.389 -16.496 15.369 .00 .00 BULK ATOM 12885 H1 TIP3 3996 20.786 -15.836 15.782 .00 .00 BULK ATOM 12886 H2 TIP3 3996 21.561 -16.027 14.541 .00 .00 BULK ATOM 12887 OH2 TIP3 3997 -8.547 -1.410 -21.508 .00 .00 BULK ATOM 12888 H1 TIP3 3997 -8.191 -.785 -22.132 .00 .00 BULK ATOM 12889 H2 TIP3 3997 -9.359 -1.574 -22.008 .00 .00 BULK ATOM 12890 OH2 TIP3 3998 3.601 -17.854 5.112 .00 .00 BULK ATOM 12891 H1 TIP3 3998 4.278 -18.277 4.599 .00 .00 BULK ATOM 12892 H2 TIP3 3998 2.948 -18.521 4.961 .00 .00 BULK ATOM 12893 OH2 TIP3 3999 -13.348 -3.606 16.531 .00 .00 BULK ATOM 12894 H1 TIP3 3999 -13.447 -4.316 17.193 .00 .00 BULK ATOM 12895 H2 TIP3 3999 -12.827 -2.905 17.089 .00 .00 BULK ATOM 12896 OH2 TIP3 4000 -7.990 19.515 15.455 .00 .00 BULK ATOM 12897 H1 TIP3 4000 -7.099 19.752 15.784 .00 .00 BULK ATOM 12898 H2 TIP3 4000 -8.068 18.552 15.593 .00 .00 BULK ATOM 12899 OH2 TIP3 4001 -29.927 -17.538 5.238 .00 .00 BULK ATOM 12900 H1 TIP3 4001 -30.709 -17.317 4.757 .00 .00 BULK ATOM 12901 H2 TIP3 4001 -29.318 -16.929 4.721 .00 .00 BULK ATOM 12902 OH2 TIP3 4002 -4.572 -5.244 12.439 .00 .00 BULK ATOM 12903 H1 TIP3 4002 -3.759 -5.795 12.176 .00 .00 BULK ATOM 12904 H2 TIP3 4002 -5.178 -6.010 12.646 .00 .00 BULK ATOM 12905 OH2 TIP3 4003 -.733 -21.702 -6.976 .00 .00 BULK ATOM 12906 H1 TIP3 4003 -.653 -21.561 -7.971 .00 .00 BULK ATOM 12907 H2 TIP3 4003 -1.668 -21.622 -6.874 .00 .00 BULK ATOM 12908 OH2 TIP3 4004 26.173 10.013 -12.907 .00 .00 BULK ATOM 12909 H1 TIP3 4004 27.013 10.009 -13.430 .00 .00 BULK ATOM 12910 H2 TIP3 4004 25.472 9.854 -13.586 .00 .00 BULK ATOM 12911 OH2 TIP3 4005 -26.505 -18.342 -6.624 .00 .00 BULK ATOM 12912 H1 TIP3 4005 -27.005 -17.770 -6.010 .00 .00 BULK ATOM 12913 H2 TIP3 4005 -26.895 -19.188 -6.408 .00 .00 BULK ATOM 12914 OH2 TIP3 4006 -28.953 12.280 -7.370 .00 .00 BULK ATOM 12915 H1 TIP3 4006 -29.092 12.875 -6.642 .00 .00 BULK ATOM 12916 H2 TIP3 4006 -28.783 12.964 -8.033 .00 .00 BULK ATOM 12917 OH2 TIP3 4007 26.322 8.907 2.981 .00 .00 BULK ATOM 12918 H1 TIP3 4007 26.272 9.875 2.869 .00 .00 BULK ATOM 12919 H2 TIP3 4007 25.994 8.680 2.094 .00 .00 BULK ATOM 12920 OH2 TIP3 4008 24.549 20.515 -.631 .00 .00 BULK ATOM 12921 H1 TIP3 4008 25.307 21.126 -.845 .00 .00 BULK ATOM 12922 H2 TIP3 4008 23.931 21.066 -.177 .00 .00 BULK ATOM 12923 OH2 TIP3 4009 18.694 5.236 16.851 .00 .00 BULK ATOM 12924 H1 TIP3 4009 18.803 5.167 15.841 .00 .00 BULK ATOM 12925 H2 TIP3 4009 19.577 5.658 17.085 .00 .00 BULK ATOM 12926 OH2 TIP3 4010 29.137 22.598 18.367 .00 .00 BULK ATOM 12927 H1 TIP3 4010 28.513 23.165 17.813 .00 .00 BULK ATOM 12928 H2 TIP3 4010 29.406 23.231 19.039 .00 .00 BULK ATOM 12929 OH2 TIP3 4011 -2.542 11.090 11.659 .00 .00 BULK ATOM 12930 H1 TIP3 4011 -2.576 10.562 10.835 .00 .00 BULK ATOM 12931 H2 TIP3 4011 -1.798 10.607 12.067 .00 .00 BULK ATOM 12932 OH2 TIP3 4012 -30.359 20.170 7.581 .00 .00 BULK ATOM 12933 H1 TIP3 4012 -29.536 20.668 7.468 .00 .00 BULK ATOM 12934 H2 TIP3 4012 -30.027 19.502 8.202 .00 .00 BULK ATOM 12935 OH2 TIP3 4013 -29.517 12.937 -18.252 .00 .00 BULK ATOM 12936 H1 TIP3 4013 -28.878 12.432 -17.707 .00 .00 BULK ATOM 12937 H2 TIP3 4013 -29.030 13.748 -18.374 .00 .00 BULK ATOM 12938 OH2 TIP3 4014 21.089 2.498 -13.048 .00 .00 BULK ATOM 12939 H1 TIP3 4014 21.598 2.314 -12.204 .00 .00 BULK ATOM 12940 H2 TIP3 4014 20.759 1.581 -13.147 .00 .00 BULK ATOM 12941 OH2 TIP3 4015 22.357 -22.383 10.873 .00 .00 BULK ATOM 12942 H1 TIP3 4015 23.023 -22.215 10.211 .00 .00 BULK ATOM 12943 H2 TIP3 4015 22.358 -23.298 10.577 .00 .00 BULK ATOM 12944 OH2 TIP3 4016 -25.230 15.383 12.417 .00 .00 BULK ATOM 12945 H1 TIP3 4016 -24.552 15.071 13.081 .00 .00 BULK ATOM 12946 H2 TIP3 4016 -25.156 14.627 11.855 .00 .00 BULK ATOM 12947 OH2 TIP3 4017 14.539 21.413 -18.394 .00 .00 BULK ATOM 12948 H1 TIP3 4017 15.477 21.180 -18.414 .00 .00 BULK ATOM 12949 H2 TIP3 4017 14.568 21.884 -17.517 .00 .00 BULK ATOM 12950 OH2 TIP3 4018 -28.764 10.705 -14.227 .00 .00 BULK ATOM 12951 H1 TIP3 4018 -29.633 10.280 -14.364 .00 .00 BULK ATOM 12952 H2 TIP3 4018 -28.530 10.011 -13.576 .00 .00 BULK ATOM 12953 OH2 TIP3 4019 -5.335 5.000 15.087 .00 .00 BULK ATOM 12954 H1 TIP3 4019 -5.544 4.667 14.203 .00 .00 BULK ATOM 12955 H2 TIP3 4019 -6.045 4.619 15.641 .00 .00 BULK ATOM 12956 OH2 TIP3 4020 17.543 15.233 -3.110 .00 .00 BULK ATOM 12957 H1 TIP3 4020 17.356 15.186 -2.156 .00 .00 BULK ATOM 12958 H2 TIP3 4020 18.460 15.601 -3.152 .00 .00 BULK ATOM 12959 OH2 TIP3 4021 -11.179 -22.550 5.602 .00 .00 BULK ATOM 12960 H1 TIP3 4021 -11.613 -23.163 5.082 .00 .00 BULK ATOM 12961 H2 TIP3 4021 -10.814 -21.994 4.927 .00 .00 BULK ATOM 12962 OH2 TIP3 4022 22.510 -3.999 11.743 .00 .00 BULK ATOM 12963 H1 TIP3 4022 23.220 -4.348 12.370 .00 .00 BULK ATOM 12964 H2 TIP3 4022 22.140 -4.843 11.459 .00 .00 BULK ATOM 12965 OH2 TIP3 4023 -17.340 18.801 5.072 .00 .00 BULK ATOM 12966 H1 TIP3 4023 -17.446 17.894 4.726 .00 .00 BULK ATOM 12967 H2 TIP3 4023 -17.535 18.624 6.037 .00 .00 BULK ATOM 12968 OH2 TIP3 4024 24.226 -3.061 -19.307 .00 .00 BULK ATOM 12969 H1 TIP3 4024 24.917 -3.069 -18.581 .00 .00 BULK ATOM 12970 H2 TIP3 4024 24.258 -3.984 -19.662 .00 .00 BULK ATOM 12971 OH2 TIP3 4025 22.304 -2.162 5.414 .00 .00 BULK ATOM 12972 H1 TIP3 4025 21.663 -1.673 5.850 .00 .00 BULK ATOM 12973 H2 TIP3 4025 22.945 -1.444 5.106 .00 .00 BULK ATOM 12974 OH2 TIP3 4026 -1.188 13.469 -21.405 .00 .00 BULK ATOM 12975 H1 TIP3 4026 -1.726 14.302 -21.419 .00 .00 BULK ATOM 12976 H2 TIP3 4026 -.290 13.821 -21.468 .00 .00 BULK ATOM 12977 OH2 TIP3 4027 15.610 -13.770 -7.615 .00 .00 BULK ATOM 12978 H1 TIP3 4027 15.081 -13.954 -6.830 .00 .00 BULK ATOM 12979 H2 TIP3 4027 16.419 -13.577 -7.086 .00 .00 BULK ATOM 12980 OH2 TIP3 4028 -19.307 15.979 22.342 .00 .00 BULK ATOM 12981 H1 TIP3 4028 -18.420 16.253 22.751 .00 .00 BULK ATOM 12982 H2 TIP3 4028 -19.314 15.011 22.397 .00 .00 BULK ATOM 12983 OH2 TIP3 4029 -28.394 10.997 10.579 .00 .00 BULK ATOM 12984 H1 TIP3 4029 -28.477 10.340 9.917 .00 .00 BULK ATOM 12985 H2 TIP3 4029 -28.524 10.525 11.411 .00 .00 BULK ATOM 12986 OH2 TIP3 4030 -6.632 -8.388 -7.367 .00 .00 BULK ATOM 12987 H1 TIP3 4030 -6.588 -7.704 -6.703 .00 .00 BULK ATOM 12988 H2 TIP3 4030 -7.617 -8.306 -7.546 .00 .00 BULK ATOM 12989 OH2 TIP3 4031 24.666 2.963 -18.280 .00 .00 BULK ATOM 12990 H1 TIP3 4031 23.830 2.716 -17.833 .00 .00 BULK ATOM 12991 H2 TIP3 4031 24.584 3.814 -18.798 .00 .00 BULK ATOM 12992 OH2 TIP3 4032 10.027 -5.834 9.869 .00 .00 BULK ATOM 12993 H1 TIP3 4032 10.279 -6.687 9.425 .00 .00 BULK ATOM 12994 H2 TIP3 4032 10.897 -5.384 9.953 .00 .00 BULK ATOM 12995 OH2 TIP3 4033 -6.779 5.397 -7.240 .00 .00 BULK ATOM 12996 H1 TIP3 4033 -6.705 4.908 -6.390 .00 .00 BULK ATOM 12997 H2 TIP3 4033 -7.451 6.121 -7.013 .00 .00 BULK ATOM 12998 OH2 TIP3 4034 -9.825 7.802 16.273 .00 .00 BULK ATOM 12999 H1 TIP3 4034 -10.456 7.163 16.753 .00 .00 BULK ATOM 13000 H2 TIP3 4034 -10.145 8.681 16.555 .00 .00 BULK ATOM 13001 OH2 TIP3 4035 29.450 -.776 -20.986 .00 .00 BULK ATOM 13002 H1 TIP3 4035 28.737 -.172 -21.236 .00 .00 BULK ATOM 13003 H2 TIP3 4035 30.160 -.494 -21.560 .00 .00 BULK ATOM 13004 OH2 TIP3 4036 19.906 13.749 21.322 .00 .00 BULK ATOM 13005 H1 TIP3 4036 20.038 13.300 22.220 .00 .00 BULK ATOM 13006 H2 TIP3 4036 18.936 13.659 21.195 .00 .00 BULK ATOM 13007 OH2 TIP3 4037 13.675 22.085 16.937 .00 .00 BULK ATOM 13008 H1 TIP3 4037 13.520 21.165 16.642 .00 .00 BULK ATOM 13009 H2 TIP3 4037 12.815 22.346 17.347 .00 .00 BULK ATOM 13010 OH2 TIP3 4038 -25.550 18.968 -20.452 .00 .00 BULK ATOM 13011 H1 TIP3 4038 -24.921 19.292 -21.135 .00 .00 BULK ATOM 13012 H2 TIP3 4038 -25.268 19.594 -19.788 .00 .00 BULK ATOM 13013 OH2 TIP3 4039 -26.498 5.142 -18.005 .00 .00 BULK ATOM 13014 H1 TIP3 4039 -25.696 4.664 -17.677 .00 .00 BULK ATOM 13015 H2 TIP3 4039 -27.234 4.557 -17.715 .00 .00 BULK ATOM 13016 OH2 TIP3 4040 -28.450 9.572 8.319 .00 .00 BULK ATOM 13017 H1 TIP3 4040 -27.920 9.117 7.595 .00 .00 BULK ATOM 13018 H2 TIP3 4040 -29.172 10.019 7.902 .00 .00 BULK ATOM 13019 OH2 TIP3 4041 26.573 -20.222 13.904 .00 .00 BULK ATOM 13020 H1 TIP3 4041 26.243 -19.289 14.165 .00 .00 BULK ATOM 13021 H2 TIP3 4041 26.016 -20.777 14.461 .00 .00 BULK ATOM 13022 OH2 TIP3 4042 -25.272 -3.774 13.198 .00 .00 BULK ATOM 13023 H1 TIP3 4042 -25.053 -3.386 12.336 .00 .00 BULK ATOM 13024 H2 TIP3 4042 -25.868 -4.447 12.858 .00 .00 BULK ATOM 13025 OH2 TIP3 4043 27.655 9.715 21.667 .00 .00 BULK ATOM 13026 H1 TIP3 4043 27.125 9.800 20.876 .00 .00 BULK ATOM 13027 H2 TIP3 4043 28.585 9.633 21.395 .00 .00 BULK ATOM 13028 OH2 TIP3 4044 15.837 21.539 -7.002 .00 .00 BULK ATOM 13029 H1 TIP3 4044 15.462 21.830 -6.213 .00 .00 BULK ATOM 13030 H2 TIP3 4044 16.083 20.643 -6.760 .00 .00 BULK ATOM 13031 OH2 TIP3 4045 -2.426 21.616 -6.557 .00 .00 BULK ATOM 13032 H1 TIP3 4045 -2.398 21.770 -5.591 .00 .00 BULK ATOM 13033 H2 TIP3 4045 -3.345 21.882 -6.634 .00 .00 BULK ATOM 13034 OH2 TIP3 4046 -16.796 21.706 16.847 .00 .00 BULK ATOM 13035 H1 TIP3 4046 -16.302 20.929 16.831 .00 .00 BULK ATOM 13036 H2 TIP3 4046 -16.915 21.751 17.816 .00 .00 BULK ATOM 13037 OH2 TIP3 4047 -25.466 -13.457 13.461 .00 .00 BULK ATOM 13038 H1 TIP3 4047 -24.798 -12.854 13.077 .00 .00 BULK ATOM 13039 H2 TIP3 4047 -26.206 -13.287 12.860 .00 .00 BULK ATOM 13040 OH2 TIP3 4048 19.367 6.733 -8.752 .00 .00 BULK ATOM 13041 H1 TIP3 4048 18.503 6.830 -8.352 .00 .00 BULK ATOM 13042 H2 TIP3 4048 19.485 7.678 -9.016 .00 .00 BULK ATOM 13043 OH2 TIP3 4049 28.482 19.274 11.862 .00 .00 BULK ATOM 13044 H1 TIP3 4049 29.440 19.279 12.086 .00 .00 BULK ATOM 13045 H2 TIP3 4049 28.268 20.238 11.893 .00 .00 BULK ATOM 13046 OH2 TIP3 4050 26.701 5.362 7.041 .00 .00 BULK ATOM 13047 H1 TIP3 4050 27.234 5.998 6.503 .00 .00 BULK ATOM 13048 H2 TIP3 4050 26.790 5.807 7.880 .00 .00 BULK ATOM 13049 OH2 TIP3 4051 19.658 8.181 -18.972 .00 .00 BULK ATOM 13050 H1 TIP3 4051 20.503 8.184 -18.461 .00 .00 BULK ATOM 13051 H2 TIP3 4051 19.594 9.017 -19.513 .00 .00 BULK ATOM 13052 OH2 TIP3 4052 25.663 -2.837 -22.938 .00 .00 BULK ATOM 13053 H1 TIP3 4052 25.980 -3.696 -22.576 .00 .00 BULK ATOM 13054 H2 TIP3 4052 26.556 -2.371 -23.144 .00 .00 BULK ATOM 13055 OH2 TIP3 4053 -11.441 8.501 13.253 .00 .00 BULK ATOM 13056 H1 TIP3 4053 -10.478 8.729 13.363 .00 .00 BULK ATOM 13057 H2 TIP3 4053 -11.985 9.332 13.491 .00 .00 BULK ATOM 13058 OH2 TIP3 4054 -25.467 17.697 14.130 .00 .00 BULK ATOM 13059 H1 TIP3 4054 -26.037 17.334 14.824 .00 .00 BULK ATOM 13060 H2 TIP3 4054 -25.412 16.878 13.584 .00 .00 BULK ATOM 13061 OH2 TIP3 4055 -21.386 3.051 10.226 .00 .00 BULK ATOM 13062 H1 TIP3 4055 -20.961 3.723 9.634 .00 .00 BULK ATOM 13063 H2 TIP3 4055 -22.246 3.314 10.317 .00 .00 BULK ATOM 13064 OH2 TIP3 4056 -27.923 19.907 22.903 .00 .00 BULK ATOM 13065 H1 TIP3 4056 -27.029 19.520 22.720 .00 .00 BULK ATOM 13066 H2 TIP3 4056 -28.094 20.494 22.122 .00 .00 BULK ATOM 13067 OH2 TIP3 4057 -24.548 16.642 -15.518 .00 .00 BULK ATOM 13068 H1 TIP3 4057 -24.809 17.556 -15.745 .00 .00 BULK ATOM 13069 H2 TIP3 4057 -24.194 16.745 -14.607 .00 .00 BULK ATOM 13070 OH2 TIP3 4058 29.450 -3.154 -15.300 .00 .00 BULK ATOM 13071 H1 TIP3 4058 29.601 -3.636 -14.471 .00 .00 BULK ATOM 13072 H2 TIP3 4058 28.512 -2.773 -15.289 .00 .00 BULK ATOM 13073 OH2 TIP3 4059 -23.138 -3.650 14.993 .00 .00 BULK ATOM 13074 H1 TIP3 4059 -22.927 -4.591 15.030 .00 .00 BULK ATOM 13075 H2 TIP3 4059 -23.847 -3.635 14.366 .00 .00 BULK ATOM 13076 OH2 TIP3 4060 25.460 11.896 18.089 .00 .00 BULK ATOM 13077 H1 TIP3 4060 24.573 11.478 17.997 .00 .00 BULK ATOM 13078 H2 TIP3 4060 25.657 12.262 17.231 .00 .00 BULK ATOM 13079 OH2 TIP3 4061 -22.664 8.290 19.777 .00 .00 BULK ATOM 13080 H1 TIP3 4061 -21.804 8.137 20.203 .00 .00 BULK ATOM 13081 H2 TIP3 4061 -22.565 9.123 19.221 .00 .00 BULK ATOM 13082 OH2 TIP3 4062 19.940 -8.623 -1.227 .00 .00 BULK ATOM 13083 H1 TIP3 4062 20.462 -9.467 -1.468 .00 .00 BULK ATOM 13084 H2 TIP3 4062 19.822 -8.704 -.315 .00 .00 BULK ATOM 13085 OH2 TIP3 4063 -16.243 -10.175 -19.551 .00 .00 BULK ATOM 13086 H1 TIP3 4063 -16.946 -9.779 -20.121 .00 .00 BULK ATOM 13087 H2 TIP3 4063 -15.645 -10.638 -20.166 .00 .00 BULK ATOM 13088 OH2 TIP3 4064 -17.981 2.899 15.835 .00 .00 BULK ATOM 13089 H1 TIP3 4064 -18.135 2.326 15.075 .00 .00 BULK ATOM 13090 H2 TIP3 4064 -18.914 3.173 16.084 .00 .00 BULK ATOM 13091 OH2 TIP3 4065 -16.940 23.222 .406 .00 .00 BULK ATOM 13092 H1 TIP3 4065 -17.216 23.269 1.325 .00 .00 BULK ATOM 13093 H2 TIP3 4065 -15.973 23.127 .602 .00 .00 BULK ATOM 13094 OH2 TIP3 4066 -28.049 18.595 2.259 .00 .00 BULK ATOM 13095 H1 TIP3 4066 -27.768 18.433 1.347 .00 .00 BULK ATOM 13096 H2 TIP3 4066 -28.261 17.692 2.569 .00 .00 BULK ATOM 13097 OH2 TIP3 4067 -23.924 9.074 6.556 .00 .00 BULK ATOM 13098 H1 TIP3 4067 -24.805 8.686 6.773 .00 .00 BULK ATOM 13099 H2 TIP3 4067 -24.216 9.888 6.185 .00 .00 BULK ATOM 13100 OH2 TIP3 4068 -14.849 -1.396 18.110 .00 .00 BULK ATOM 13101 H1 TIP3 4068 -13.918 -1.696 18.329 .00 .00 BULK ATOM 13102 H2 TIP3 4068 -14.703 -.810 17.366 .00 .00 BULK ATOM 13103 OH2 TIP3 4069 -8.183 -7.677 14.625 .00 .00 BULK ATOM 13104 H1 TIP3 4069 -7.675 -7.241 15.306 .00 .00 BULK ATOM 13105 H2 TIP3 4069 -8.881 -8.032 15.183 .00 .00 BULK ATOM 13106 OH2 TIP3 4070 7.418 13.958 15.859 .00 .00 BULK ATOM 13107 H1 TIP3 4070 6.835 13.600 16.564 .00 .00 BULK ATOM 13108 H2 TIP3 4070 7.827 13.232 15.513 .00 .00 BULK ATOM 13109 OH2 TIP3 4071 -24.180 -11.254 19.394 .00 .00 BULK ATOM 13110 H1 TIP3 4071 -24.601 -11.772 20.151 .00 .00 BULK ATOM 13111 H2 TIP3 4071 -24.691 -10.445 19.327 .00 .00 BULK ATOM 13112 OH2 TIP3 4072 -22.735 9.554 -2.939 .00 .00 BULK ATOM 13113 H1 TIP3 4072 -22.548 9.237 -3.881 .00 .00 BULK ATOM 13114 H2 TIP3 4072 -22.857 8.687 -2.519 .00 .00 BULK ATOM 13115 OH2 TIP3 4073 -23.464 -22.478 -21.114 .00 .00 BULK ATOM 13116 H1 TIP3 4073 -24.052 -23.219 -21.478 .00 .00 BULK ATOM 13117 H2 TIP3 4073 -24.068 -21.719 -21.377 .00 .00 BULK ATOM 13118 OH2 TIP3 4074 -19.297 3.671 19.153 .00 .00 BULK ATOM 13119 H1 TIP3 4074 -19.811 3.729 18.335 .00 .00 BULK ATOM 13120 H2 TIP3 4074 -19.754 2.909 19.477 .00 .00 BULK ATOM 13121 OH2 TIP3 4075 -26.913 -2.032 -16.221 .00 .00 BULK ATOM 13122 H1 TIP3 4075 -27.705 -1.453 -16.046 .00 .00 BULK ATOM 13123 H2 TIP3 4075 -27.305 -2.730 -16.687 .00 .00 BULK ATOM 13124 OH2 TIP3 4076 -16.500 14.059 15.421 .00 .00 BULK ATOM 13125 H1 TIP3 4076 -17.216 14.029 14.756 .00 .00 BULK ATOM 13126 H2 TIP3 4076 -16.393 14.963 15.619 .00 .00 BULK ATOM 13127 OH2 TIP3 4077 -25.204 7.524 18.696 .00 .00 BULK ATOM 13128 H1 TIP3 4077 -24.241 7.571 18.989 .00 .00 BULK ATOM 13129 H2 TIP3 4077 -25.389 8.427 18.731 .00 .00 BULK ATOM 13130 OH2 TIP3 4078 12.617 -5.707 17.450 .00 .00 BULK ATOM 13131 H1 TIP3 4078 12.107 -5.412 16.634 .00 .00 BULK ATOM 13132 H2 TIP3 4078 12.416 -4.975 18.111 .00 .00 BULK ATOM 13133 OH2 TIP3 4079 -17.327 3.767 21.301 .00 .00 BULK ATOM 13134 H1 TIP3 4079 -18.077 3.950 20.664 .00 .00 BULK ATOM 13135 H2 TIP3 4079 -17.755 3.956 22.210 .00 .00 BULK ATOM 13136 OH2 TIP3 4080 -25.461 -.119 15.927 .00 .00 BULK ATOM 13137 H1 TIP3 4080 -26.118 .104 16.612 .00 .00 BULK ATOM 13138 H2 TIP3 4080 -24.770 -.668 16.412 .00 .00 BULK ATOM 13139 OH2 TIP3 4081 -12.382 16.072 19.837 .00 .00 BULK ATOM 13140 H1 TIP3 4081 -11.793 15.580 20.522 .00 .00 BULK ATOM 13141 H2 TIP3 4081 -13.054 15.479 19.655 .00 .00 BULK ATOM 13142 OH2 TIP3 4082 -14.608 -13.593 -10.021 .00 .00 BULK ATOM 13143 H1 TIP3 4082 -15.328 -13.206 -9.513 .00 .00 BULK ATOM 13144 H2 TIP3 4082 -14.365 -14.257 -9.379 .00 .00 BULK ATOM 13145 OH2 TIP3 4083 -19.095 -6.654 18.657 .00 .00 BULK ATOM 13146 H1 TIP3 4083 -19.547 -7.510 18.648 .00 .00 BULK ATOM 13147 H2 TIP3 4083 -19.271 -6.346 17.813 .00 .00 BULK ATOM 13148 OH2 TIP3 4084 10.655 10.040 -14.902 .00 .00 BULK ATOM 13149 H1 TIP3 4084 9.713 10.112 -14.759 .00 .00 BULK ATOM 13150 H2 TIP3 4084 10.891 10.806 -14.304 .00 .00 BULK ATOM 13151 OH2 TIP3 4085 -22.651 11.299 13.815 .00 .00 BULK ATOM 13152 H1 TIP3 4085 -22.225 11.401 12.981 .00 .00 BULK ATOM 13153 H2 TIP3 4085 -22.650 12.207 14.212 .00 .00 BULK ATOM 13154 OH2 TIP3 4086 -28.922 23.631 -15.893 .00 .00 BULK ATOM 13155 H1 TIP3 4086 -28.822 23.935 -14.992 .00 .00 BULK ATOM 13156 H2 TIP3 4086 -29.568 22.896 -15.697 .00 .00 BULK ATOM 13157 OH2 TIP3 4087 -17.109 20.008 2.561 .00 .00 BULK ATOM 13158 H1 TIP3 4087 -17.200 19.616 3.467 .00 .00 BULK ATOM 13159 H2 TIP3 4087 -17.430 20.900 2.683 .00 .00 BULK ATOM 13160 OH2 TIP3 4088 7.602 -14.305 23.629 .00 .00 BULK ATOM 13161 H1 TIP3 4088 7.924 -15.028 23.070 .00 .00 BULK ATOM 13162 H2 TIP3 4088 8.258 -13.655 23.603 .00 .00 BULK ATOM 13163 OH2 TIP3 4089 18.323 -8.043 -15.236 .00 .00 BULK ATOM 13164 H1 TIP3 4089 18.547 -8.578 -15.971 .00 .00 BULK ATOM 13165 H2 TIP3 4089 17.663 -7.479 -15.723 .00 .00 BULK ATOM 13166 OH2 TIP3 4090 -.027 -11.474 -21.725 .00 .00 BULK ATOM 13167 H1 TIP3 4090 .825 -11.000 -21.631 .00 .00 BULK ATOM 13168 H2 TIP3 4090 .355 -12.345 -21.685 .00 .00 BULK ATOM 13169 OH2 TIP3 4091 24.327 -17.383 -20.204 .00 .00 BULK ATOM 13170 H1 TIP3 4091 24.916 -16.613 -20.273 .00 .00 BULK ATOM 13171 H2 TIP3 4091 23.545 -16.862 -20.033 .00 .00 BULK ATOM 13172 OH2 TIP3 4092 -7.928 7.237 -15.242 .00 .00 BULK ATOM 13173 H1 TIP3 4092 -7.455 6.421 -15.165 .00 .00 BULK ATOM 13174 H2 TIP3 4092 -8.578 7.265 -14.549 .00 .00 BULK ATOM 13175 OH2 TIP3 4093 25.576 -17.352 19.990 .00 .00 BULK ATOM 13176 H1 TIP3 4093 25.545 -16.419 20.051 .00 .00 BULK ATOM 13177 H2 TIP3 4093 24.656 -17.532 19.791 .00 .00 BULK ATOM 13178 OH2 TIP3 4094 28.019 -6.953 -20.909 .00 .00 BULK ATOM 13179 H1 TIP3 4094 28.494 -7.608 -21.441 .00 .00 BULK ATOM 13180 H2 TIP3 4094 28.738 -6.840 -20.291 .00 .00 BULK ATOM 13181 OH2 TIP3 4095 -18.773 -9.914 -12.802 .00 .00 BULK ATOM 13182 H1 TIP3 4095 -18.940 -10.669 -12.231 .00 .00 BULK ATOM 13183 H2 TIP3 4095 -17.833 -10.075 -12.848 .00 .00 BULK ATOM 13184 OH2 TIP3 4096 25.835 -3.196 -.058 .00 .00 BULK ATOM 13185 H1 TIP3 4096 24.892 -2.967 -.210 .00 .00 BULK ATOM 13186 H2 TIP3 4096 25.817 -4.147 .136 .00 .00 BULK ATOM 13187 OH2 TIP3 4097 18.618 -4.777 -6.857 .00 .00 BULK ATOM 13188 H1 TIP3 4097 18.058 -4.257 -6.294 .00 .00 BULK ATOM 13189 H2 TIP3 4097 18.853 -4.158 -7.561 .00 .00 BULK ATOM 13190 OH2 TIP3 4098 18.771 18.117 4.885 .00 .00 BULK ATOM 13191 H1 TIP3 4098 17.892 17.868 4.545 .00 .00 BULK ATOM 13192 H2 TIP3 4098 19.006 17.264 5.221 .00 .00 BULK ATOM 13193 OH2 TIP3 4099 -4.299 -13.817 .173 .00 .00 BULK ATOM 13194 H1 TIP3 4099 -4.159 -14.450 .965 .00 .00 BULK ATOM 13195 H2 TIP3 4099 -5.103 -14.241 -.226 .00 .00 BULK ATOM 13196 OH2 TIP3 4100 -25.846 -20.267 3.023 .00 .00 BULK ATOM 13197 H1 TIP3 4100 -26.375 -20.965 3.372 .00 .00 BULK ATOM 13198 H2 TIP3 4100 -25.807 -19.780 3.858 .00 .00 BULK ATOM 13199 OH2 TIP3 4101 6.255 -13.347 -6.184 .00 .00 BULK ATOM 13200 H1 TIP3 4101 6.509 -13.799 -5.365 .00 .00 BULK ATOM 13201 H2 TIP3 4101 5.420 -13.790 -6.205 .00 .00 BULK ATOM 13202 OH2 TIP3 4102 -21.804 21.085 -20.637 .00 .00 BULK ATOM 13203 H1 TIP3 4102 -21.300 20.352 -20.388 .00 .00 BULK ATOM 13204 H2 TIP3 4102 -21.731 21.641 -19.802 .00 .00 BULK ATOM 13205 OH2 TIP3 4103 27.399 1.138 -21.375 .00 .00 BULK ATOM 13206 H1 TIP3 4103 27.878 1.950 -21.194 .00 .00 BULK ATOM 13207 H2 TIP3 4103 26.647 1.590 -21.857 .00 .00 BULK ATOM 13208 OH2 TIP3 4104 21.308 -5.945 -2.638 .00 .00 BULK ATOM 13209 H1 TIP3 4104 20.638 -6.464 -3.045 .00 .00 BULK ATOM 13210 H2 TIP3 4104 21.218 -6.069 -1.679 .00 .00 BULK ATOM 13211 OH2 TIP3 4105 5.297 15.786 -8.569 .00 .00 BULK ATOM 13212 H1 TIP3 4105 5.040 15.192 -9.327 .00 .00 BULK ATOM 13213 H2 TIP3 4105 4.978 15.143 -7.901 .00 .00 BULK ATOM 13214 OH2 TIP3 4106 19.116 -9.784 -18.260 .00 .00 BULK ATOM 13215 H1 TIP3 4106 18.729 -8.927 -18.509 .00 .00 BULK ATOM 13216 H2 TIP3 4106 19.355 -10.096 -19.114 .00 .00 BULK ATOM 13217 OH2 TIP3 4107 26.105 -7.109 18.999 .00 .00 BULK ATOM 13218 H1 TIP3 4107 25.290 -7.129 18.468 .00 .00 BULK ATOM 13219 H2 TIP3 4107 26.182 -6.182 19.293 .00 .00 BULK ATOM 13220 OH2 TIP3 4108 4.188 -22.596 -10.279 .00 .00 BULK ATOM 13221 H1 TIP3 4108 3.243 -22.770 -10.473 .00 .00 BULK ATOM 13222 H2 TIP3 4108 4.178 -21.651 -10.125 .00 .00 BULK ATOM 13223 OH2 TIP3 4109 -24.146 3.027 3.933 .00 .00 BULK ATOM 13224 H1 TIP3 4109 -24.753 2.257 4.206 .00 .00 BULK ATOM 13225 H2 TIP3 4109 -23.319 2.762 4.314 .00 .00 BULK ATOM 13226 OH2 TIP3 4110 -21.707 -10.420 21.827 .00 .00 BULK ATOM 13227 H1 TIP3 4110 -21.114 -10.495 22.600 .00 .00 BULK ATOM 13228 H2 TIP3 4110 -22.638 -10.532 22.288 .00 .00 BULK ATOM 13229 OH2 TIP3 4111 -12.843 -9.761 12.486 .00 .00 BULK ATOM 13230 H1 TIP3 4111 -12.775 -9.891 11.481 .00 .00 BULK ATOM 13231 H2 TIP3 4111 -13.142 -8.810 12.532 .00 .00 BULK ATOM 13232 OH2 TIP3 4112 15.178 11.517 -13.704 .00 .00 BULK ATOM 13233 H1 TIP3 4112 14.768 11.184 -14.482 .00 .00 BULK ATOM 13234 H2 TIP3 4112 15.959 10.911 -13.680 .00 .00 BULK ATOM 13235 OH2 TIP3 4113 20.331 13.457 14.942 .00 .00 BULK ATOM 13236 H1 TIP3 4113 21.119 13.926 15.354 .00 .00 BULK ATOM 13237 H2 TIP3 4113 20.471 13.704 14.045 .00 .00 BULK ATOM 13238 OH2 TIP3 4114 -27.551 -21.053 -10.756 .00 .00 BULK ATOM 13239 H1 TIP3 4114 -26.884 -21.632 -10.263 .00 .00 BULK ATOM 13240 H2 TIP3 4114 -27.973 -20.607 -10.010 .00 .00 BULK ATOM 13241 OH2 TIP3 4115 -12.203 10.502 1.400 .00 .00 BULK ATOM 13242 H1 TIP3 4115 -12.087 10.241 .492 .00 .00 BULK ATOM 13243 H2 TIP3 4115 -12.887 9.726 1.598 .00 .00 BULK ATOM 13244 OH2 TIP3 4116 -22.734 -18.301 -4.194 .00 .00 BULK ATOM 13245 H1 TIP3 4116 -22.563 -19.107 -3.674 .00 .00 BULK ATOM 13246 H2 TIP3 4116 -21.930 -17.768 -4.129 .00 .00 BULK ATOM 13247 OH2 TIP3 4117 12.113 2.938 -15.630 .00 .00 BULK ATOM 13248 H1 TIP3 4117 12.763 2.408 -15.077 .00 .00 BULK ATOM 13249 H2 TIP3 4117 12.686 3.508 -16.175 .00 .00 BULK ATOM 13250 OH2 TIP3 4118 23.233 -.111 -.271 .00 .00 BULK ATOM 13251 H1 TIP3 4118 23.032 -.815 -.895 .00 .00 BULK ATOM 13252 H2 TIP3 4118 22.630 .516 -.647 .00 .00 BULK ATOM 13253 OH2 TIP3 4119 -17.510 19.373 -13.936 .00 .00 BULK ATOM 13254 H1 TIP3 4119 -17.791 18.489 -13.706 .00 .00 BULK ATOM 13255 H2 TIP3 4119 -16.632 19.350 -13.546 .00 .00 BULK ATOM 13256 OH2 TIP3 4120 -30.012 3.243 2.449 .00 .00 BULK ATOM 13257 H1 TIP3 4120 -30.093 2.278 2.415 .00 .00 BULK ATOM 13258 H2 TIP3 4120 -29.003 3.266 2.346 .00 .00 BULK ATOM 13259 OH2 TIP3 4121 -16.229 .821 1.725 .00 .00 BULK ATOM 13260 H1 TIP3 4121 -15.313 .815 1.382 .00 .00 BULK ATOM 13261 H2 TIP3 4121 -16.704 1.206 .981 .00 .00 BULK ATOM 13262 OH2 TIP3 4122 1.235 -6.332 -12.524 .00 .00 BULK ATOM 13263 H1 TIP3 4122 .376 -6.398 -12.041 .00 .00 BULK ATOM 13264 H2 TIP3 4122 1.021 -6.327 -13.493 .00 .00 BULK ATOM 13265 OH2 TIP3 4123 -13.280 7.058 -8.829 .00 .00 BULK ATOM 13266 H1 TIP3 4123 -14.228 7.371 -8.586 .00 .00 BULK ATOM 13267 H2 TIP3 4123 -13.532 6.662 -9.684 .00 .00 BULK ATOM 13268 OH2 TIP3 4124 14.507 1.738 -14.575 .00 .00 BULK ATOM 13269 H1 TIP3 4124 15.307 2.201 -14.323 .00 .00 BULK ATOM 13270 H2 TIP3 4124 14.804 1.335 -15.450 .00 .00 BULK ATOM 13271 OH2 TIP3 4125 -9.465 -1.747 .689 .00 .00 BULK ATOM 13272 H1 TIP3 4125 -8.706 -1.972 1.165 .00 .00 BULK ATOM 13273 H2 TIP3 4125 -9.748 -2.560 .230 .00 .00 BULK ATOM 13274 OH2 TIP3 4126 20.628 20.738 8.615 .00 .00 BULK ATOM 13275 H1 TIP3 4126 19.867 20.182 8.372 .00 .00 BULK ATOM 13276 H2 TIP3 4126 21.063 20.177 9.272 .00 .00 BULK ATOM 13277 OH2 TIP3 4127 4.710 -13.227 -1.486 .00 .00 BULK ATOM 13278 H1 TIP3 4127 5.290 -12.841 -.785 .00 .00 BULK ATOM 13279 H2 TIP3 4127 5.303 -13.571 -2.178 .00 .00 BULK ATOM 13280 OH2 TIP3 4128 -6.134 -9.719 11.171 .00 .00 BULK ATOM 13281 H1 TIP3 4128 -6.505 -9.358 10.397 .00 .00 BULK ATOM 13282 H2 TIP3 4128 -5.236 -9.789 10.947 .00 .00 BULK ATOM 13283 OH2 TIP3 4129 -13.392 12.909 -8.920 .00 .00 BULK ATOM 13284 H1 TIP3 4129 -13.930 13.464 -9.576 .00 .00 BULK ATOM 13285 H2 TIP3 4129 -12.591 12.886 -9.454 .00 .00 BULK ATOM 13286 OH2 TIP3 4130 -7.950 -23.043 14.557 .00 .00 BULK ATOM 13287 H1 TIP3 4130 -8.818 -22.805 14.193 .00 .00 BULK ATOM 13288 H2 TIP3 4130 -8.240 -23.361 15.474 .00 .00 BULK ATOM 13289 OH2 TIP3 4131 2.426 -15.315 21.864 .00 .00 BULK ATOM 13290 H1 TIP3 4131 1.814 -14.923 22.503 .00 .00 BULK ATOM 13291 H2 TIP3 4131 2.431 -14.654 21.249 .00 .00 BULK ATOM 13292 OH2 TIP3 4132 -2.620 -11.546 -4.883 .00 .00 BULK ATOM 13293 H1 TIP3 4132 -2.513 -11.897 -5.790 .00 .00 BULK ATOM 13294 H2 TIP3 4132 -1.991 -12.018 -4.395 .00 .00 BULK ATOM 13295 OH2 TIP3 4133 14.608 -22.813 -6.787 .00 .00 BULK ATOM 13296 H1 TIP3 4133 13.915 -22.535 -6.213 .00 .00 BULK ATOM 13297 H2 TIP3 4133 15.326 -23.137 -6.192 .00 .00 BULK ATOM 13298 OH2 TIP3 4134 6.490 -19.687 8.501 .00 .00 BULK ATOM 13299 H1 TIP3 4134 6.044 -18.975 8.972 .00 .00 BULK ATOM 13300 H2 TIP3 4134 6.848 -19.173 7.765 .00 .00 BULK ATOM 13301 OH2 TIP3 4135 -10.119 -19.100 -16.386 .00 .00 BULK ATOM 13302 H1 TIP3 4135 -10.187 -20.065 -16.158 .00 .00 BULK ATOM 13303 H2 TIP3 4135 -10.737 -18.736 -15.712 .00 .00 BULK ATOM 13304 OH2 TIP3 4136 14.767 11.458 .505 .00 .00 BULK ATOM 13305 H1 TIP3 4136 15.316 12.175 .874 .00 .00 BULK ATOM 13306 H2 TIP3 4136 14.942 10.729 1.181 .00 .00 BULK ATOM 13307 OH2 TIP3 4137 -18.409 -17.281 -.065 .00 .00 BULK ATOM 13308 H1 TIP3 4137 -17.792 -16.622 -.454 .00 .00 BULK ATOM 13309 H2 TIP3 4137 -18.860 -17.697 -.826 .00 .00 BULK ATOM 13310 OH2 TIP3 4138 7.196 -16.620 -13.882 .00 .00 BULK ATOM 13311 H1 TIP3 4138 7.859 -16.280 -13.238 .00 .00 BULK ATOM 13312 H2 TIP3 4138 7.594 -17.489 -14.051 .00 .00 BULK ATOM 13313 OH2 TIP3 4139 24.841 -7.595 22.118 .00 .00 BULK ATOM 13314 H1 TIP3 4139 25.042 -7.764 23.074 .00 .00 BULK ATOM 13315 H2 TIP3 4139 25.519 -8.066 21.696 .00 .00 BULK ATOM 13316 OH2 TIP3 4140 3.056 -14.627 6.877 .00 .00 BULK ATOM 13317 H1 TIP3 4140 3.448 -14.055 6.232 .00 .00 BULK ATOM 13318 H2 TIP3 4140 2.106 -14.299 6.759 .00 .00 BULK ATOM 13319 OH2 TIP3 4141 21.640 2.201 22.207 .00 .00 BULK ATOM 13320 H1 TIP3 4141 22.104 1.864 23.020 .00 .00 BULK ATOM 13321 H2 TIP3 4141 21.142 1.430 21.842 .00 .00 BULK ATOM 13322 OH2 TIP3 4142 -16.665 -6.973 -19.663 .00 .00 BULK ATOM 13323 H1 TIP3 4142 -15.945 -7.255 -19.109 .00 .00 BULK ATOM 13324 H2 TIP3 4142 -16.648 -7.659 -20.408 .00 .00 BULK ATOM 13325 OH2 TIP3 4143 2.725 -1.600 -21.788 .00 .00 BULK ATOM 13326 H1 TIP3 4143 2.256 -.742 -22.069 .00 .00 BULK ATOM 13327 H2 TIP3 4143 2.361 -1.670 -20.836 .00 .00 BULK ATOM 13328 OH2 TIP3 4144 -3.424 4.522 -11.698 .00 .00 BULK ATOM 13329 H1 TIP3 4144 -2.761 4.393 -12.357 .00 .00 BULK ATOM 13330 H2 TIP3 4144 -3.553 5.482 -11.687 .00 .00 BULK ATOM 13331 OH2 TIP3 4145 -10.564 15.435 -1.520 .00 .00 BULK ATOM 13332 H1 TIP3 4145 -10.403 16.358 -1.283 .00 .00 BULK ATOM 13333 H2 TIP3 4145 -11.471 15.252 -1.202 .00 .00 BULK ATOM 13334 OH2 TIP3 4146 -13.004 -2.780 -6.235 .00 .00 BULK ATOM 13335 H1 TIP3 4146 -12.927 -2.314 -7.081 .00 .00 BULK ATOM 13336 H2 TIP3 4146 -12.390 -3.494 -6.526 .00 .00 BULK ATOM 13337 OH2 TIP3 4147 15.521 4.907 -6.326 .00 .00 BULK ATOM 13338 H1 TIP3 4147 14.850 5.005 -7.035 .00 .00 BULK ATOM 13339 H2 TIP3 4147 16.148 5.561 -6.671 .00 .00 BULK ATOM 13340 OH2 TIP3 4148 13.402 9.785 -1.240 .00 .00 BULK ATOM 13341 H1 TIP3 4148 14.274 9.273 -1.304 .00 .00 BULK ATOM 13342 H2 TIP3 4148 13.578 10.500 -.596 .00 .00 BULK ATOM 13343 OH2 TIP3 4149 -23.479 12.563 -6.211 .00 .00 BULK ATOM 13344 H1 TIP3 4149 -24.202 12.630 -6.829 .00 .00 BULK ATOM 13345 H2 TIP3 4149 -23.929 12.146 -5.480 .00 .00 BULK ATOM 13346 OH2 TIP3 4150 -14.955 -2.291 -21.099 .00 .00 BULK ATOM 13347 H1 TIP3 4150 -15.232 -3.229 -21.139 .00 .00 BULK ATOM 13348 H2 TIP3 4150 -14.898 -2.084 -22.050 .00 .00 BULK ATOM 13349 OH2 TIP3 4151 27.419 18.433 .216 .00 .00 BULK ATOM 13350 H1 TIP3 4151 28.078 17.748 .497 .00 .00 BULK ATOM 13351 H2 TIP3 4151 27.010 18.721 1.056 .00 .00 BULK ATOM 13352 OH2 TIP3 4152 -2.022 7.281 -19.229 .00 .00 BULK ATOM 13353 H1 TIP3 4152 -2.898 7.013 -19.015 .00 .00 BULK ATOM 13354 H2 TIP3 4152 -1.498 6.570 -18.761 .00 .00 BULK ATOM 13355 OH2 TIP3 4153 21.466 -12.725 6.896 .00 .00 BULK ATOM 13356 H1 TIP3 4153 21.708 -12.366 6.047 .00 .00 BULK ATOM 13357 H2 TIP3 4153 20.622 -13.190 6.668 .00 .00 BULK ATOM 13358 OH2 TIP3 4154 24.749 -1.719 -8.712 .00 .00 BULK ATOM 13359 H1 TIP3 4154 24.711 -2.679 -8.930 .00 .00 BULK ATOM 13360 H2 TIP3 4154 25.521 -1.443 -9.277 .00 .00 BULK ATOM 13361 OH2 TIP3 4155 24.296 2.288 2.029 .00 .00 BULK ATOM 13362 H1 TIP3 4155 24.711 2.683 1.229 .00 .00 BULK ATOM 13363 H2 TIP3 4155 23.353 2.406 1.687 .00 .00 BULK ATOM 13364 OH2 TIP3 4156 -15.445 -13.881 23.479 .00 .00 BULK ATOM 13365 H1 TIP3 4156 -15.154 -12.983 23.615 .00 .00 BULK ATOM 13366 H2 TIP3 4156 -14.792 -14.138 22.714 .00 .00 BULK ATOM 13367 OH2 TIP3 4157 3.070 18.013 -17.950 .00 .00 BULK ATOM 13368 H1 TIP3 4157 3.890 17.828 -18.428 .00 .00 BULK ATOM 13369 H2 TIP3 4157 3.314 18.874 -17.599 .00 .00 BULK ATOM 13370 OH2 TIP3 4158 14.605 -8.800 9.030 .00 .00 BULK ATOM 13371 H1 TIP3 4158 14.989 -9.599 8.708 .00 .00 BULK ATOM 13372 H2 TIP3 4158 13.650 -8.948 8.889 .00 .00 BULK ATOM 13373 OH2 TIP3 4159 10.914 -13.227 -6.583 .00 .00 BULK ATOM 13374 H1 TIP3 4159 10.857 -13.891 -7.276 .00 .00 BULK ATOM 13375 H2 TIP3 4159 10.107 -13.341 -5.984 .00 .00 BULK ATOM 13376 OH2 TIP3 4160 -7.919 2.819 -20.436 .00 .00 BULK ATOM 13377 H1 TIP3 4160 -7.672 2.286 -21.269 .00 .00 BULK ATOM 13378 H2 TIP3 4160 -8.223 3.648 -20.822 .00 .00 BULK ATOM 13379 OH2 TIP3 4161 9.369 1.601 21.559 .00 .00 BULK ATOM 13380 H1 TIP3 4161 9.959 2.303 21.915 .00 .00 BULK ATOM 13381 H2 TIP3 4161 10.119 .949 21.413 .00 .00 BULK ATOM 13382 OH2 TIP3 4162 -14.578 6.507 13.117 .00 .00 BULK ATOM 13383 H1 TIP3 4162 -14.883 5.616 12.991 .00 .00 BULK ATOM 13384 H2 TIP3 4162 -13.880 6.606 12.402 .00 .00 BULK ATOM 13385 OH2 TIP3 4163 11.361 14.912 22.540 .00 .00 BULK ATOM 13386 H1 TIP3 4163 10.743 15.627 22.782 .00 .00 BULK ATOM 13387 H2 TIP3 4163 11.498 15.261 21.646 .00 .00 BULK ATOM 13388 OH2 TIP3 4164 13.469 -5.755 7.771 .00 .00 BULK ATOM 13389 H1 TIP3 4164 13.710 -6.591 7.261 .00 .00 BULK ATOM 13390 H2 TIP3 4164 13.742 -5.048 7.169 .00 .00 BULK ATOM 13391 OH2 TIP3 4165 8.575 18.863 -6.365 .00 .00 BULK ATOM 13392 H1 TIP3 4165 8.158 18.241 -6.963 .00 .00 BULK ATOM 13393 H2 TIP3 4165 9.462 18.939 -6.773 .00 .00 BULK ATOM 13394 OH2 TIP3 4166 8.010 -10.079 -10.985 .00 .00 BULK ATOM 13395 H1 TIP3 4166 7.640 -10.584 -11.716 .00 .00 BULK ATOM 13396 H2 TIP3 4166 8.748 -10.668 -10.698 .00 .00 BULK ATOM 13397 OH2 TIP3 4167 8.454 14.479 -2.398 .00 .00 BULK ATOM 13398 H1 TIP3 4167 8.513 13.847 -1.671 .00 .00 BULK ATOM 13399 H2 TIP3 4167 7.461 14.519 -2.402 .00 .00 BULK ATOM 13400 OH2 TIP3 4168 -26.085 -4.590 16.489 .00 .00 BULK ATOM 13401 H1 TIP3 4168 -25.172 -4.879 16.236 .00 .00 BULK ATOM 13402 H2 TIP3 4168 -26.083 -4.171 17.420 .00 .00 BULK ATOM 13403 OH2 TIP3 4169 3.151 8.582 15.800 .00 .00 BULK ATOM 13404 H1 TIP3 4169 2.917 9.090 14.946 .00 .00 BULK ATOM 13405 H2 TIP3 4169 3.848 9.159 16.201 .00 .00 BULK ATOM 13406 OH2 TIP3 4170 13.433 20.214 -10.675 .00 .00 BULK ATOM 13407 H1 TIP3 4170 12.539 20.407 -10.936 .00 .00 BULK ATOM 13408 H2 TIP3 4170 13.491 20.529 -9.776 .00 .00 BULK ATOM 13409 OH2 TIP3 4171 -26.099 22.766 .235 .00 .00 BULK ATOM 13410 H1 TIP3 4171 -27.035 23.001 .358 .00 .00 BULK ATOM 13411 H2 TIP3 4171 -26.155 21.819 .037 .00 .00 BULK ATOM 13412 OH2 TIP3 4172 11.447 11.852 16.192 .00 .00 BULK ATOM 13413 H1 TIP3 4172 12.261 11.615 16.704 .00 .00 BULK ATOM 13414 H2 TIP3 4172 11.848 11.867 15.290 .00 .00 BULK ATOM 13415 OH2 TIP3 4173 2.279 15.649 -7.501 .00 .00 BULK ATOM 13416 H1 TIP3 4173 2.568 14.883 -6.979 .00 .00 BULK ATOM 13417 H2 TIP3 4173 2.930 16.292 -7.079 .00 .00 BULK ATOM 13418 OH2 TIP3 4174 -2.101 18.375 -23.081 .00 .00 BULK ATOM 13419 H1 TIP3 4174 -2.582 17.544 -23.001 .00 .00 BULK ATOM 13420 H2 TIP3 4174 -2.273 18.663 -22.157 .00 .00 BULK ATOM 13421 OH2 TIP3 4175 23.688 -15.700 -8.284 .00 .00 BULK ATOM 13422 H1 TIP3 4175 22.940 -16.028 -7.734 .00 .00 BULK ATOM 13423 H2 TIP3 4175 23.432 -14.837 -8.529 .00 .00 BULK ATOM 13424 OH2 TIP3 4176 -24.340 -7.912 -1.965 .00 .00 BULK ATOM 13425 H1 TIP3 4176 -25.088 -7.383 -2.270 .00 .00 BULK ATOM 13426 H2 TIP3 4176 -24.517 -8.707 -2.528 .00 .00 BULK ATOM 13427 OH2 TIP3 4177 -8.290 -20.045 -1.450 .00 .00 BULK ATOM 13428 H1 TIP3 4177 -7.482 -20.633 -1.589 .00 .00 BULK ATOM 13429 H2 TIP3 4177 -8.786 -20.230 -2.272 .00 .00 BULK ATOM 13430 OH2 TIP3 4178 -11.038 18.825 4.426 .00 .00 BULK ATOM 13431 H1 TIP3 4178 -11.236 18.547 5.355 .00 .00 BULK ATOM 13432 H2 TIP3 4178 -10.360 19.540 4.652 .00 .00 BULK ATOM 13433 OH2 TIP3 4179 -29.926 8.869 20.478 .00 .00 BULK ATOM 13434 H1 TIP3 4179 -29.183 9.098 21.062 .00 .00 BULK ATOM 13435 H2 TIP3 4179 -29.413 8.701 19.684 .00 .00 BULK ATOM 13436 OH2 TIP3 4180 24.270 -23.133 5.019 .00 .00 BULK ATOM 13437 H1 TIP3 4180 25.026 -23.524 5.475 .00 .00 BULK ATOM 13438 H2 TIP3 4180 24.654 -22.293 4.676 .00 .00 BULK ATOM 13439 OH2 TIP3 4181 7.530 -9.770 15.647 .00 .00 BULK ATOM 13440 H1 TIP3 4181 8.047 -10.250 15.030 .00 .00 BULK ATOM 13441 H2 TIP3 4181 8.291 -9.322 16.158 .00 .00 BULK ATOM 13442 OH2 TIP3 4182 3.382 -13.500 -21.863 .00 .00 BULK ATOM 13443 H1 TIP3 4182 3.766 -12.983 -22.620 .00 .00 BULK ATOM 13444 H2 TIP3 4182 4.169 -13.834 -21.372 .00 .00 BULK ATOM 13445 OH2 TIP3 4183 12.420 -21.008 2.954 .00 .00 BULK ATOM 13446 H1 TIP3 4183 12.866 -21.321 3.699 .00 .00 BULK ATOM 13447 H2 TIP3 4183 11.557 -21.144 3.351 .00 .00 BULK ATOM 13448 OH2 TIP3 4184 -5.138 -3.171 14.216 .00 .00 BULK ATOM 13449 H1 TIP3 4184 -5.627 -2.524 13.648 .00 .00 BULK ATOM 13450 H2 TIP3 4184 -4.981 -3.875 13.506 .00 .00 BULK ATOM 13451 OH2 TIP3 4185 -18.801 -18.096 21.461 .00 .00 BULK ATOM 13452 H1 TIP3 4185 -19.707 -17.969 21.054 .00 .00 BULK ATOM 13453 H2 TIP3 4185 -18.426 -17.260 21.244 .00 .00 BULK ATOM 13454 OH2 TIP3 4186 -6.550 16.152 6.040 .00 .00 BULK ATOM 13455 H1 TIP3 4186 -7.169 15.690 5.431 .00 .00 BULK ATOM 13456 H2 TIP3 4186 -6.605 17.051 5.653 .00 .00 BULK ATOM 13457 OH2 TIP3 4187 20.841 2.365 6.611 .00 .00 BULK ATOM 13458 H1 TIP3 4187 21.797 2.271 6.405 .00 .00 BULK ATOM 13459 H2 TIP3 4187 20.718 3.344 6.430 .00 .00 BULK ATOM 13460 OH2 TIP3 4188 -1.895 -1.496 7.704 .00 .00 BULK ATOM 13461 H1 TIP3 4188 -1.731 -.880 8.454 .00 .00 BULK ATOM 13462 H2 TIP3 4188 -1.511 -1.027 6.870 .00 .00 BULK ATOM 13463 OH2 TIP3 4189 13.467 -7.427 -13.283 .00 .00 BULK ATOM 13464 H1 TIP3 4189 13.715 -7.121 -12.388 .00 .00 BULK ATOM 13465 H2 TIP3 4189 14.246 -7.055 -13.736 .00 .00 BULK ATOM 13466 OH2 TIP3 4190 18.220 21.297 -4.776 .00 .00 BULK ATOM 13467 H1 TIP3 4190 17.769 20.589 -4.281 .00 .00 BULK ATOM 13468 H2 TIP3 4190 18.750 20.815 -5.422 .00 .00 BULK ATOM 13469 OH2 TIP3 4191 16.321 3.354 -10.006 .00 .00 BULK ATOM 13470 H1 TIP3 4191 16.262 2.803 -9.156 .00 .00 BULK ATOM 13471 H2 TIP3 4191 17.289 3.528 -10.108 .00 .00 BULK ATOM 13472 OH2 TIP3 4192 16.274 -7.406 7.178 .00 .00 BULK ATOM 13473 H1 TIP3 4192 16.135 -7.460 8.163 .00 .00 BULK ATOM 13474 H2 TIP3 4192 15.401 -7.680 6.853 .00 .00 BULK ATOM 13475 OH2 TIP3 4193 15.306 11.029 -22.175 .00 .00 BULK ATOM 13476 H1 TIP3 4193 14.687 10.504 -22.734 .00 .00 BULK ATOM 13477 H2 TIP3 4193 14.636 11.733 -21.896 .00 .00 BULK ATOM 13478 OH2 TIP3 4194 7.176 21.593 21.150 .00 .00 BULK ATOM 13479 H1 TIP3 4194 6.903 22.071 20.327 .00 .00 BULK ATOM 13480 H2 TIP3 4194 6.370 21.697 21.648 .00 .00 BULK ATOM 13481 OH2 TIP3 4195 -14.688 -19.639 11.002 .00 .00 BULK ATOM 13482 H1 TIP3 4195 -14.102 -19.752 10.180 .00 .00 BULK ATOM 13483 H2 TIP3 4195 -15.414 -20.266 10.768 .00 .00 BULK ATOM 13484 OH2 TIP3 4196 27.051 -9.774 13.271 .00 .00 BULK ATOM 13485 H1 TIP3 4196 27.982 -9.988 13.193 .00 .00 BULK ATOM 13486 H2 TIP3 4196 27.071 -8.796 13.264 .00 .00 BULK ATOM 13487 OH2 TIP3 4197 6.500 -20.486 -22.588 .00 .00 BULK ATOM 13488 H1 TIP3 4197 5.667 -20.209 -23.026 .00 .00 BULK ATOM 13489 H2 TIP3 4197 6.230 -21.179 -21.939 .00 .00 BULK ATOM 13490 OH2 TIP3 4198 17.868 -8.407 18.875 .00 .00 BULK ATOM 13491 H1 TIP3 4198 16.931 -8.293 18.907 .00 .00 BULK ATOM 13492 H2 TIP3 4198 18.172 -7.767 19.545 .00 .00 BULK ATOM 13493 OH2 TIP3 4199 14.417 16.185 21.686 .00 .00 BULK ATOM 13494 H1 TIP3 4199 14.591 16.864 22.321 .00 .00 BULK ATOM 13495 H2 TIP3 4199 14.386 16.763 20.913 .00 .00 BULK ATOM 13496 OH2 TIP3 4200 -.622 -2.014 23.129 .00 .00 BULK ATOM 13497 H1 TIP3 4200 -.398 -1.605 23.973 .00 .00 BULK ATOM 13498 H2 TIP3 4200 .180 -1.713 22.561 .00 .00 BULK ATOM 13499 OH2 TIP3 4201 9.868 7.348 -12.460 .00 .00 BULK ATOM 13500 H1 TIP3 4201 9.823 7.783 -11.623 .00 .00 BULK ATOM 13501 H2 TIP3 4201 8.947 7.522 -12.870 .00 .00 BULK ATOM 13502 OH2 TIP3 4202 -12.626 -3.712 7.627 .00 .00 BULK ATOM 13503 H1 TIP3 4202 -12.837 -2.790 7.452 .00 .00 BULK ATOM 13504 H2 TIP3 4202 -13.478 -4.122 7.462 .00 .00 BULK ATOM 13505 OH2 TIP3 4203 6.393 -20.409 -4.657 .00 .00 BULK ATOM 13506 H1 TIP3 4203 6.632 -21.342 -4.436 .00 .00 BULK ATOM 13507 H2 TIP3 4203 5.802 -20.178 -3.899 .00 .00 BULK ATOM 13508 OH2 TIP3 4204 10.961 19.213 4.213 .00 .00 BULK ATOM 13509 H1 TIP3 4204 10.204 18.794 4.500 .00 .00 BULK ATOM 13510 H2 TIP3 4204 10.522 20.042 4.071 .00 .00 BULK ATOM 13511 OH2 TIP3 4205 9.139 -9.085 6.448 .00 .00 BULK ATOM 13512 H1 TIP3 4205 9.203 -10.079 6.665 .00 .00 BULK ATOM 13513 H2 TIP3 4205 8.282 -8.859 6.888 .00 .00 BULK ATOM 13514 OH2 TIP3 4206 -26.097 -5.984 -2.936 .00 .00 BULK ATOM 13515 H1 TIP3 4206 -26.993 -6.182 -3.204 .00 .00 BULK ATOM 13516 H2 TIP3 4206 -25.943 -5.205 -3.468 .00 .00 BULK ATOM 13517 OH2 TIP3 4207 -.672 10.994 -13.664 .00 .00 BULK ATOM 13518 H1 TIP3 4207 -1.351 10.455 -14.136 .00 .00 BULK ATOM 13519 H2 TIP3 4207 -.695 11.839 -14.096 .00 .00 BULK ATOM 13520 OH2 TIP3 4208 -24.276 -15.103 -3.317 .00 .00 BULK ATOM 13521 H1 TIP3 4208 -24.997 -15.194 -2.654 .00 .00 BULK ATOM 13522 H2 TIP3 4208 -23.789 -15.935 -3.223 .00 .00 BULK ATOM 13523 OH2 TIP3 4209 18.298 -3.365 -2.958 .00 .00 BULK ATOM 13524 H1 TIP3 4209 18.291 -2.800 -3.770 .00 .00 BULK ATOM 13525 H2 TIP3 4209 18.446 -4.227 -3.416 .00 .00 BULK ATOM 13526 OH2 TIP3 4210 2.763 1.464 22.252 .00 .00 BULK ATOM 13527 H1 TIP3 4210 2.848 2.053 21.496 .00 .00 BULK ATOM 13528 H2 TIP3 4210 3.685 1.615 22.460 .00 .00 BULK ATOM 13529 OH2 TIP3 4211 21.280 15.002 -13.313 .00 .00 BULK ATOM 13530 H1 TIP3 4211 20.323 15.307 -13.461 .00 .00 BULK ATOM 13531 H2 TIP3 4211 21.457 15.493 -12.456 .00 .00 BULK ATOM 13532 OH2 TIP3 4212 -19.559 2.138 -1.192 .00 .00 BULK ATOM 13533 H1 TIP3 4212 -19.202 2.968 -1.380 .00 .00 BULK ATOM 13534 H2 TIP3 4212 -20.369 2.289 -1.723 .00 .00 BULK ATOM 13535 OH2 TIP3 4213 -.231 -2.352 13.484 .00 .00 BULK ATOM 13536 H1 TIP3 4213 -.505 -2.360 14.389 .00 .00 BULK ATOM 13537 H2 TIP3 4213 -.097 -1.433 13.416 .00 .00 BULK ATOM 13538 OH2 TIP3 4214 3.220 -14.746 -3.953 .00 .00 BULK ATOM 13539 H1 TIP3 4214 3.058 -14.696 -4.863 .00 .00 BULK ATOM 13540 H2 TIP3 4214 4.136 -15.125 -3.955 .00 .00 BULK ATOM 13541 OH2 TIP3 4215 1.059 8.542 19.312 .00 .00 BULK ATOM 13542 H1 TIP3 4215 1.440 9.114 20.008 .00 .00 BULK ATOM 13543 H2 TIP3 4215 .771 9.236 18.663 .00 .00 BULK ATOM 13544 OH2 TIP3 4216 26.081 22.434 13.747 .00 .00 BULK ATOM 13545 H1 TIP3 4216 25.334 23.056 13.748 .00 .00 BULK ATOM 13546 H2 TIP3 4216 25.646 21.557 13.807 .00 .00 BULK ATOM 13547 OH2 TIP3 4217 10.178 10.350 -6.203 .00 .00 BULK ATOM 13548 H1 TIP3 4217 10.827 10.295 -6.961 .00 .00 BULK ATOM 13549 H2 TIP3 4217 10.449 11.169 -5.728 .00 .00 BULK ATOM 13550 OH2 TIP3 4218 4.723 -5.094 -20.686 .00 .00 BULK ATOM 13551 H1 TIP3 4218 3.965 -4.967 -20.166 .00 .00 BULK ATOM 13552 H2 TIP3 4218 4.618 -4.320 -21.282 .00 .00 BULK ATOM 13553 OH2 TIP3 4219 2.599 12.359 -8.630 .00 .00 BULK ATOM 13554 H1 TIP3 4219 2.796 11.475 -8.234 .00 .00 BULK ATOM 13555 H2 TIP3 4219 1.832 12.046 -9.172 .00 .00 BULK ATOM 13556 OH2 TIP3 4220 7.235 15.009 21.713 .00 .00 BULK ATOM 13557 H1 TIP3 4220 7.800 15.584 22.230 .00 .00 BULK ATOM 13558 H2 TIP3 4220 7.815 14.580 21.030 .00 .00 BULK ATOM 13559 OH2 TIP3 4221 11.319 -5.102 15.122 .00 .00 BULK ATOM 13560 H1 TIP3 4221 10.358 -5.220 15.236 .00 .00 BULK ATOM 13561 H2 TIP3 4221 11.362 -5.423 14.182 .00 .00 BULK ATOM 13562 OH2 TIP3 4222 9.026 16.284 1.277 .00 .00 BULK ATOM 13563 H1 TIP3 4222 8.964 16.834 .496 .00 .00 BULK ATOM 13564 H2 TIP3 4222 8.378 15.597 1.092 .00 .00 BULK ATOM 13565 OH2 TIP3 4223 -13.095 20.747 9.750 .00 .00 BULK ATOM 13566 H1 TIP3 4223 -13.238 21.697 10.018 .00 .00 BULK ATOM 13567 H2 TIP3 4223 -13.221 20.936 8.805 .00 .00 BULK ATOM 13568 OH2 TIP3 4224 19.345 17.232 -3.153 .00 .00 BULK ATOM 13569 H1 TIP3 4224 19.664 17.378 -4.036 .00 .00 BULK ATOM 13570 H2 TIP3 4224 19.821 16.405 -2.947 .00 .00 BULK ATOM 13571 OH2 TIP3 4225 19.482 12.784 -19.719 .00 .00 BULK ATOM 13572 H1 TIP3 4225 19.588 11.888 -20.059 .00 .00 BULK ATOM 13573 H2 TIP3 4225 20.082 12.899 -18.962 .00 .00 BULK ATOM 13574 OH2 TIP3 4226 -.019 5.120 17.303 .00 .00 BULK ATOM 13575 H1 TIP3 4226 -.922 5.382 16.888 .00 .00 BULK ATOM 13576 H2 TIP3 4226 .486 5.220 16.464 .00 .00 BULK ATOM 13577 OH2 TIP3 4227 29.261 -20.607 14.707 .00 .00 BULK ATOM 13578 H1 TIP3 4227 29.188 -21.301 15.425 .00 .00 BULK ATOM 13579 H2 TIP3 4227 28.353 -20.491 14.301 .00 .00 BULK ATOM 13580 OH2 TIP3 4228 -1.973 -4.113 -14.490 .00 .00 BULK ATOM 13581 H1 TIP3 4228 -1.609 -5.020 -14.710 .00 .00 BULK ATOM 13582 H2 TIP3 4228 -2.631 -4.118 -15.185 .00 .00 BULK ATOM 13583 OH2 TIP3 4229 1.626 16.375 11.175 .00 .00 BULK ATOM 13584 H1 TIP3 4229 .710 16.248 11.453 .00 .00 BULK ATOM 13585 H2 TIP3 4229 1.532 17.358 10.899 .00 .00 BULK ATOM 13586 OH2 TIP3 4230 14.266 10.741 -16.917 .00 .00 BULK ATOM 13587 H1 TIP3 4230 14.908 11.501 -17.055 .00 .00 BULK ATOM 13588 H2 TIP3 4230 13.778 10.784 -17.771 .00 .00 BULK ATOM 13589 OH2 TIP3 4231 -16.052 -2.128 21.986 .00 .00 BULK ATOM 13590 H1 TIP3 4231 -15.197 -2.270 21.496 .00 .00 BULK ATOM 13591 H2 TIP3 4231 -16.641 -1.965 21.194 .00 .00 BULK ATOM 13592 OH2 TIP3 4232 -.215 14.262 -12.580 .00 .00 BULK ATOM 13593 H1 TIP3 4232 .091 15.111 -12.732 .00 .00 BULK ATOM 13594 H2 TIP3 4232 -.829 14.025 -13.294 .00 .00 BULK ATOM 13595 OH2 TIP3 4233 29.516 4.739 -3.220 .00 .00 BULK ATOM 13596 H1 TIP3 4233 29.038 4.644 -2.379 .00 .00 BULK ATOM 13597 H2 TIP3 4233 29.179 5.593 -3.503 .00 .00 BULK ATOM 13598 OH2 TIP3 4234 .398 -16.643 20.127 .00 .00 BULK ATOM 13599 H1 TIP3 4234 .599 -17.432 19.615 .00 .00 BULK ATOM 13600 H2 TIP3 4234 -.516 -16.804 20.380 .00 .00 BULK ATOM 13601 OH2 TIP3 4235 -12.216 -7.090 19.239 .00 .00 BULK ATOM 13602 H1 TIP3 4235 -11.692 -7.169 20.094 .00 .00 BULK ATOM 13603 H2 TIP3 4235 -12.747 -7.877 19.219 .00 .00 BULK ATOM 13604 OH2 TIP3 4236 26.834 8.206 -23.109 .00 .00 BULK ATOM 13605 H1 TIP3 4236 26.884 8.789 -23.896 .00 .00 BULK ATOM 13606 H2 TIP3 4236 27.572 8.549 -22.537 .00 .00 BULK ATOM 13607 OH2 TIP3 4237 -8.031 -1.224 -14.918 .00 .00 BULK ATOM 13608 H1 TIP3 4237 -8.038 -.277 -14.677 .00 .00 BULK ATOM 13609 H2 TIP3 4237 -7.100 -1.431 -14.549 .00 .00 BULK ATOM 13610 OH2 TIP3 4238 24.437 12.135 -11.448 .00 .00 BULK ATOM 13611 H1 TIP3 4238 24.284 11.170 -11.287 .00 .00 BULK ATOM 13612 H2 TIP3 4238 25.417 12.198 -11.478 .00 .00 BULK ATOM 13613 OH2 TIP3 4239 5.063 13.058 14.124 .00 .00 BULK ATOM 13614 H1 TIP3 4239 4.800 13.665 14.804 .00 .00 BULK ATOM 13615 H2 TIP3 4239 4.312 13.196 13.518 .00 .00 BULK ATOM 13616 OH2 TIP3 4240 -3.836 -13.724 11.819 .00 .00 BULK ATOM 13617 H1 TIP3 4240 -3.575 -14.546 12.235 .00 .00 BULK ATOM 13618 H2 TIP3 4240 -4.732 -13.560 12.062 .00 .00 BULK ATOM 13619 OH2 TIP3 4241 1.726 16.911 8.529 .00 .00 BULK ATOM 13620 H1 TIP3 4241 2.062 16.084 8.150 .00 .00 BULK ATOM 13621 H2 TIP3 4241 1.321 16.509 9.365 .00 .00 BULK ATOM 13622 OH2 TIP3 4242 11.340 7.707 21.136 .00 .00 BULK ATOM 13623 H1 TIP3 4242 12.286 7.445 21.179 .00 .00 BULK ATOM 13624 H2 TIP3 4242 10.931 7.202 21.919 .00 .00 BULK ATOM 13625 OH2 TIP3 4243 26.694 7.461 -11.952 .00 .00 BULK ATOM 13626 H1 TIP3 4243 26.534 8.394 -11.837 .00 .00 BULK ATOM 13627 H2 TIP3 4243 26.045 7.065 -12.571 .00 .00 BULK ATOM 13628 OH2 TIP3 4244 28.186 5.972 18.064 .00 .00 BULK ATOM 13629 H1 TIP3 4244 28.185 6.394 17.218 .00 .00 BULK ATOM 13630 H2 TIP3 4244 27.248 5.915 18.320 .00 .00 BULK ATOM 13631 OH2 TIP3 4245 -21.095 -6.524 3.706 .00 .00 BULK ATOM 13632 H1 TIP3 4245 -21.219 -7.411 4.151 .00 .00 BULK ATOM 13633 H2 TIP3 4245 -21.429 -6.586 2.802 .00 .00 BULK ATOM 13634 OH2 TIP3 4246 18.197 2.385 -16.091 .00 .00 BULK ATOM 13635 H1 TIP3 4246 19.072 2.387 -16.508 .00 .00 BULK ATOM 13636 H2 TIP3 4246 18.040 3.360 -16.168 .00 .00 BULK ATOM 13637 OH2 TIP3 4247 16.495 11.511 12.727 .00 .00 BULK ATOM 13638 H1 TIP3 4247 15.720 10.882 12.868 .00 .00 BULK ATOM 13639 H2 TIP3 4247 17.175 11.126 13.284 .00 .00 BULK ATOM 13640 OH2 TIP3 4248 4.160 18.345 10.400 .00 .00 BULK ATOM 13641 H1 TIP3 4248 4.629 17.552 10.656 .00 .00 BULK ATOM 13642 H2 TIP3 4248 3.785 18.621 11.335 .00 .00 BULK ATOM 13643 OH2 TIP3 4249 16.188 4.649 -1.906 .00 .00 BULK ATOM 13644 H1 TIP3 4249 15.639 4.798 -1.058 .00 .00 BULK ATOM 13645 H2 TIP3 4249 15.470 4.847 -2.587 .00 .00 BULK ATOM 13646 OH2 TIP3 4250 -15.858 -13.177 7.459 .00 .00 BULK ATOM 13647 H1 TIP3 4250 -15.619 -12.621 8.243 .00 .00 BULK ATOM 13648 H2 TIP3 4250 -15.620 -14.076 7.774 .00 .00 BULK ATOM 13649 OH2 TIP3 4251 9.219 7.794 -5.427 .00 .00 BULK ATOM 13650 H1 TIP3 4251 10.035 7.348 -5.126 .00 .00 BULK ATOM 13651 H2 TIP3 4251 9.398 8.716 -5.478 .00 .00 BULK ATOM 13652 OH2 TIP3 4252 -6.285 10.674 19.947 .00 .00 BULK ATOM 13653 H1 TIP3 4252 -6.412 11.406 19.248 .00 .00 BULK ATOM 13654 H2 TIP3 4252 -5.872 11.168 20.684 .00 .00 BULK ATOM 13655 OH2 TIP3 4253 5.986 -22.635 6.442 .00 .00 BULK ATOM 13656 H1 TIP3 4253 5.375 -23.447 6.493 .00 .00 BULK ATOM 13657 H2 TIP3 4253 5.517 -21.997 7.075 .00 .00 BULK ATOM 13658 OH2 TIP3 4254 -14.630 12.176 3.798 .00 .00 BULK ATOM 13659 H1 TIP3 4254 -14.419 11.382 4.255 .00 .00 BULK ATOM 13660 H2 TIP3 4254 -15.421 11.819 3.389 .00 .00 BULK ATOM 13661 OH2 TIP3 4255 12.618 14.347 4.662 .00 .00 BULK ATOM 13662 H1 TIP3 4255 12.998 15.086 5.259 .00 .00 BULK ATOM 13663 H2 TIP3 4255 12.097 14.918 4.110 .00 .00 BULK ATOM 13664 OH2 TIP3 4256 23.742 -.567 -20.334 .00 .00 BULK ATOM 13665 H1 TIP3 4256 24.695 -.582 -20.580 .00 .00 BULK ATOM 13666 H2 TIP3 4256 23.803 -1.440 -19.838 .00 .00 BULK ATOM 13667 OH2 TIP3 4257 -.502 3.374 19.382 .00 .00 BULK ATOM 13668 H1 TIP3 4257 -.158 2.469 19.123 .00 .00 BULK ATOM 13669 H2 TIP3 4257 -.107 3.958 18.759 .00 .00 BULK ATOM 13670 OH2 TIP3 4258 -3.888 -11.383 21.034 .00 .00 BULK ATOM 13671 H1 TIP3 4258 -3.597 -12.196 21.446 .00 .00 BULK ATOM 13672 H2 TIP3 4258 -3.651 -11.592 20.069 .00 .00 BULK ATOM 13673 OH2 TIP3 4259 4.388 9.873 11.223 .00 .00 BULK ATOM 13674 H1 TIP3 4259 4.219 9.570 10.263 .00 .00 BULK ATOM 13675 H2 TIP3 4259 4.974 9.134 11.544 .00 .00 BULK ATOM 13676 OH2 TIP3 4260 1.138 14.303 23.136 .00 .00 BULK ATOM 13677 H1 TIP3 4260 1.157 13.391 22.833 .00 .00 BULK ATOM 13678 H2 TIP3 4260 1.112 14.087 24.137 .00 .00 BULK ATOM 13679 OH2 TIP3 4261 -6.537 7.603 15.063 .00 .00 BULK ATOM 13680 H1 TIP3 4261 -6.200 6.668 14.959 .00 .00 BULK ATOM 13681 H2 TIP3 4261 -6.850 7.505 15.972 .00 .00 BULK ATOM 13682 OH2 TIP3 4262 6.183 8.756 -16.957 .00 .00 BULK ATOM 13683 H1 TIP3 4262 5.574 8.149 -17.430 .00 .00 BULK ATOM 13684 H2 TIP3 4262 6.901 8.743 -17.639 .00 .00 BULK ATOM 13685 OH2 TIP3 4263 2.232 5.115 -18.331 .00 .00 BULK ATOM 13686 H1 TIP3 4263 2.385 4.460 -17.635 .00 .00 BULK ATOM 13687 H2 TIP3 4263 2.760 4.804 -19.051 .00 .00 BULK ATOM 13688 OH2 TIP3 4264 29.138 -4.553 17.421 .00 .00 BULK ATOM 13689 H1 TIP3 4264 28.721 -3.687 17.516 .00 .00 BULK ATOM 13690 H2 TIP3 4264 29.888 -4.206 16.887 .00 .00 BULK ATOM 13691 OH2 TIP3 4265 16.579 2.373 -7.585 .00 .00 BULK ATOM 13692 H1 TIP3 4265 17.351 2.589 -7.085 .00 .00 BULK ATOM 13693 H2 TIP3 4265 15.986 3.090 -7.213 .00 .00 BULK ATOM 13694 OH2 TIP3 4266 -29.782 -.213 4.030 .00 .00 BULK ATOM 13695 H1 TIP3 4266 -29.600 -1.037 3.643 .00 .00 BULK ATOM 13696 H2 TIP3 4266 -30.127 .276 3.275 .00 .00 BULK ATOM 13697 OH2 TIP3 4267 -14.914 -15.542 8.117 .00 .00 BULK ATOM 13698 H1 TIP3 4267 -14.461 -16.200 7.584 .00 .00 BULK ATOM 13699 H2 TIP3 4267 -14.514 -15.790 8.993 .00 .00 BULK ATOM 13700 OH2 TIP3 4268 -9.763 -18.425 -21.931 .00 .00 BULK ATOM 13701 H1 TIP3 4268 -10.692 -18.189 -21.753 .00 .00 BULK ATOM 13702 H2 TIP3 4268 -9.659 -19.187 -21.304 .00 .00 BULK ATOM 13703 OH2 TIP3 4269 -3.567 -21.648 15.995 .00 .00 BULK ATOM 13704 H1 TIP3 4269 -4.472 -21.390 15.716 .00 .00 BULK ATOM 13705 H2 TIP3 4269 -3.510 -21.041 16.746 .00 .00 BULK ATOM 13706 OH2 TIP3 4270 12.684 13.521 -8.268 .00 .00 BULK ATOM 13707 H1 TIP3 4270 13.040 14.432 -8.521 .00 .00 BULK ATOM 13708 H2 TIP3 4270 12.115 13.825 -7.544 .00 .00 BULK ATOM 13709 OH2 TIP3 4271 22.513 18.243 -13.666 .00 .00 BULK ATOM 13710 H1 TIP3 4271 22.757 18.686 -12.813 .00 .00 BULK ATOM 13711 H2 TIP3 4271 21.800 17.588 -13.389 .00 .00 BULK ATOM 13712 OH2 TIP3 4272 14.744 -13.685 10.323 .00 .00 BULK ATOM 13713 H1 TIP3 4272 15.406 -14.318 9.856 .00 .00 BULK ATOM 13714 H2 TIP3 4272 15.397 -13.143 10.746 .00 .00 BULK ATOM 13715 OH2 TIP3 4273 -14.053 -22.767 4.566 .00 .00 BULK ATOM 13716 H1 TIP3 4273 -13.482 -22.374 3.926 .00 .00 BULK ATOM 13717 H2 TIP3 4273 -13.809 -23.742 4.467 .00 .00 BULK ATOM 13718 OH2 TIP3 4274 -7.668 -2.598 -7.627 .00 .00 BULK ATOM 13719 H1 TIP3 4274 -8.147 -2.530 -6.779 .00 .00 BULK ATOM 13720 H2 TIP3 4274 -7.372 -1.694 -7.833 .00 .00 BULK ATOM 13721 OH2 TIP3 4275 -6.100 4.135 -18.712 .00 .00 BULK ATOM 13722 H1 TIP3 4275 -6.745 4.576 -18.131 .00 .00 BULK ATOM 13723 H2 TIP3 4275 -6.615 3.421 -19.140 .00 .00 BULK ATOM 13724 OH2 TIP3 4276 -2.815 10.854 18.867 .00 .00 BULK ATOM 13725 H1 TIP3 4276 -2.776 11.681 18.482 .00 .00 BULK ATOM 13726 H2 TIP3 4276 -2.411 11.017 19.753 .00 .00 BULK ATOM 13727 OH2 TIP3 4277 28.914 -22.460 -14.014 .00 .00 BULK ATOM 13728 H1 TIP3 4277 29.004 -23.220 -14.590 .00 .00 BULK ATOM 13729 H2 TIP3 4277 29.814 -22.442 -13.530 .00 .00 BULK ATOM 13730 OH2 TIP3 4278 17.329 -.915 -7.884 .00 .00 BULK ATOM 13731 H1 TIP3 4278 17.484 .058 -7.900 .00 .00 BULK ATOM 13732 H2 TIP3 4278 16.392 -.879 -8.187 .00 .00 BULK ATOM 13733 OH2 TIP3 4279 -4.057 2.363 9.318 .00 .00 BULK ATOM 13734 H1 TIP3 4279 -4.815 2.254 8.697 .00 .00 BULK ATOM 13735 H2 TIP3 4279 -4.021 1.582 9.917 .00 .00 BULK ATOM 13736 OH2 TIP3 4280 5.462 -15.076 1.201 .00 .00 BULK ATOM 13737 H1 TIP3 4280 6.340 -14.808 .933 .00 .00 BULK ATOM 13738 H2 TIP3 4280 5.279 -14.333 1.745 .00 .00 BULK ATOM 13739 OH2 TIP3 4281 25.298 -15.269 -17.808 .00 .00 BULK ATOM 13740 H1 TIP3 4281 26.267 -15.151 -17.837 .00 .00 BULK ATOM 13741 H2 TIP3 4281 25.129 -14.968 -18.742 .00 .00 BULK ATOM 13742 OH2 TIP3 4282 2.423 9.491 13.171 .00 .00 BULK ATOM 13743 H1 TIP3 4282 2.326 10.316 13.700 .00 .00 BULK ATOM 13744 H2 TIP3 4282 3.090 9.689 12.449 .00 .00 BULK ATOM 13745 OH2 TIP3 4283 18.654 -13.777 -15.508 .00 .00 BULK ATOM 13746 H1 TIP3 4283 18.054 -14.480 -15.431 .00 .00 BULK ATOM 13747 H2 TIP3 4283 18.145 -13.040 -15.185 .00 .00 BULK ATOM 13748 OH2 TIP3 4284 16.737 5.498 -20.404 .00 .00 BULK ATOM 13749 H1 TIP3 4284 16.202 6.326 -20.291 .00 .00 BULK ATOM 13750 H2 TIP3 4284 17.591 5.816 -20.121 .00 .00 BULK ATOM 13751 OH2 TIP3 4285 -6.256 -12.272 -1.789 .00 .00 BULK ATOM 13752 H1 TIP3 4285 -5.877 -11.971 -2.656 .00 .00 BULK ATOM 13753 H2 TIP3 4285 -6.139 -13.214 -1.940 .00 .00 BULK ATOM 13754 OH2 TIP3 4286 -.077 23.121 21.551 .00 .00 BULK ATOM 13755 H1 TIP3 4286 .042 22.275 21.118 .00 .00 BULK ATOM 13756 H2 TIP3 4286 .128 23.799 20.786 .00 .00 BULK ATOM 13757 OH2 TIP3 4287 -.426 5.621 -17.808 .00 .00 BULK ATOM 13758 H1 TIP3 4287 .485 5.468 -18.203 .00 .00 BULK ATOM 13759 H2 TIP3 4287 -.206 6.272 -17.112 .00 .00 BULK ATOM 13760 OH2 TIP3 4288 5.512 -15.413 -10.893 .00 .00 BULK ATOM 13761 H1 TIP3 4288 5.119 -16.004 -11.495 .00 .00 BULK ATOM 13762 H2 TIP3 4288 6.344 -16.014 -10.632 .00 .00 BULK ATOM 13763 OH2 TIP3 4289 -18.408 -20.946 -11.952 .00 .00 BULK ATOM 13764 H1 TIP3 4289 -18.878 -20.590 -12.762 .00 .00 BULK ATOM 13765 H2 TIP3 4289 -19.224 -20.998 -11.359 .00 .00 BULK ATOM 13766 OH2 TIP3 4290 11.899 15.918 9.300 .00 .00 BULK ATOM 13767 H1 TIP3 4290 12.322 16.756 9.501 .00 .00 BULK ATOM 13768 H2 TIP3 4290 11.069 16.292 8.952 .00 .00 BULK ATOM 13769 OH2 TIP3 4291 -26.907 -14.198 -5.664 .00 .00 BULK ATOM 13770 H1 TIP3 4291 -26.154 -14.336 -6.196 .00 .00 BULK ATOM 13771 H2 TIP3 4291 -26.868 -15.071 -5.300 .00 .00 BULK ATOM 13772 OH2 TIP3 4292 -4.961 -5.736 -23.229 .00 .00 BULK ATOM 13773 H1 TIP3 4292 -5.232 -5.747 -22.268 .00 .00 BULK ATOM 13774 H2 TIP3 4292 -5.902 -5.742 -23.641 .00 .00 BULK ATOM 13775 OH2 TIP3 4293 5.267 -3.166 -13.417 .00 .00 BULK ATOM 13776 H1 TIP3 4293 5.949 -3.326 -14.123 .00 .00 BULK ATOM 13777 H2 TIP3 4293 5.108 -4.068 -13.103 .00 .00 BULK ATOM 13778 OH2 TIP3 4294 -12.247 22.233 3.927 .00 .00 BULK ATOM 13779 H1 TIP3 4294 -11.471 22.089 3.329 .00 .00 BULK ATOM 13780 H2 TIP3 4294 -12.657 21.354 3.760 .00 .00 BULK ATOM 13781 OH2 TIP3 4295 -11.537 5.166 -7.817 .00 .00 BULK ATOM 13782 H1 TIP3 4295 -12.190 5.878 -7.897 .00 .00 BULK ATOM 13783 H2 TIP3 4295 -10.974 5.354 -7.088 .00 .00 BULK ATOM 13784 OH2 TIP3 4296 18.236 17.553 .305 .00 .00 BULK ATOM 13785 H1 TIP3 4296 17.600 17.836 -.433 .00 .00 BULK ATOM 13786 H2 TIP3 4296 19.030 18.010 .045 .00 .00 BULK ATOM 13787 OH2 TIP3 4297 -15.041 1.821 5.458 .00 .00 BULK ATOM 13788 H1 TIP3 4297 -15.479 1.765 6.363 .00 .00 BULK ATOM 13789 H2 TIP3 4297 -15.824 1.761 4.868 .00 .00 BULK ATOM 13790 OH2 TIP3 4298 23.523 -19.755 -13.843 .00 .00 BULK ATOM 13791 H1 TIP3 4298 23.781 -20.444 -14.420 .00 .00 BULK ATOM 13792 H2 TIP3 4298 24.357 -19.516 -13.513 .00 .00 BULK ATOM 13793 OH2 TIP3 4299 4.694 -15.644 23.336 .00 .00 BULK ATOM 13794 H1 TIP3 4299 5.123 -15.386 22.467 .00 .00 BULK ATOM 13795 H2 TIP3 4299 3.803 -15.341 23.123 .00 .00 BULK ATOM 13796 OH2 TIP3 4300 -19.063 -4.520 -3.538 .00 .00 BULK ATOM 13797 H1 TIP3 4300 -18.373 -4.160 -2.972 .00 .00 BULK ATOM 13798 H2 TIP3 4300 -19.910 -4.143 -3.155 .00 .00 BULK ATOM 13799 OH2 TIP3 4301 24.770 5.055 -19.916 .00 .00 BULK ATOM 13800 H1 TIP3 4301 25.708 5.333 -19.721 .00 .00 BULK ATOM 13801 H2 TIP3 4301 24.773 5.325 -20.859 .00 .00 BULK ATOM 13802 OH2 TIP3 4302 3.553 20.681 -16.909 .00 .00 BULK ATOM 13803 H1 TIP3 4302 3.785 21.624 -17.163 .00 .00 BULK ATOM 13804 H2 TIP3 4302 2.628 20.768 -16.599 .00 .00 BULK ATOM 13805 OH2 TIP3 4303 22.343 19.152 -16.135 .00 .00 BULK ATOM 13806 H1 TIP3 4303 22.167 19.147 -15.205 .00 .00 BULK ATOM 13807 H2 TIP3 4303 22.549 20.053 -16.377 .00 .00 BULK ATOM 13808 OH2 TIP3 4304 -25.173 -23.070 -13.160 .00 .00 BULK ATOM 13809 H1 TIP3 4304 -24.609 -22.988 -14.041 .00 .00 BULK ATOM 13810 H2 TIP3 4304 -24.776 -22.256 -12.808 .00 .00 BULK ATOM 13811 OH2 TIP3 4305 27.130 -6.939 13.293 .00 .00 BULK ATOM 13812 H1 TIP3 4305 27.462 -6.294 14.074 .00 .00 BULK ATOM 13813 H2 TIP3 4305 26.618 -6.331 12.703 .00 .00 BULK ATOM 13814 OH2 TIP3 4306 14.009 5.644 15.755 .00 .00 BULK ATOM 13815 H1 TIP3 4306 13.987 4.850 16.347 .00 .00 BULK ATOM 13816 H2 TIP3 4306 14.796 5.409 15.230 .00 .00 BULK ATOM 13817 OH2 TIP3 4307 7.540 -20.811 -1.283 .00 .00 BULK ATOM 13818 H1 TIP3 4307 8.050 -20.626 -2.063 .00 .00 BULK ATOM 13819 H2 TIP3 4307 8.175 -20.516 -.618 .00 .00 BULK ATOM 13820 OH2 TIP3 4308 24.218 4.892 -15.695 .00 .00 BULK ATOM 13821 H1 TIP3 4308 23.376 5.042 -15.199 .00 .00 BULK ATOM 13822 H2 TIP3 4308 24.277 3.867 -15.694 .00 .00 BULK ATOM 13823 OH2 TIP3 4309 -29.953 6.415 1.377 .00 .00 BULK ATOM 13824 H1 TIP3 4309 -29.165 6.767 1.896 .00 .00 BULK ATOM 13825 H2 TIP3 4309 -29.459 5.779 .890 .00 .00 BULK ATOM 13826 OH2 TIP3 4310 17.634 -17.378 3.398 .00 .00 BULK ATOM 13827 H1 TIP3 4310 17.058 -18.105 3.077 .00 .00 BULK ATOM 13828 H2 TIP3 4310 18.355 -17.913 3.752 .00 .00 BULK ATOM 13829 OH2 TIP3 4311 15.243 -.272 16.567 .00 .00 BULK ATOM 13830 H1 TIP3 4311 14.341 .037 16.198 .00 .00 BULK ATOM 13831 H2 TIP3 4311 15.800 .044 15.815 .00 .00 BULK ATOM 13832 OH2 TIP3 4312 -14.805 14.217 -10.789 .00 .00 BULK ATOM 13833 H1 TIP3 4312 -14.384 13.953 -11.615 .00 .00 BULK ATOM 13834 H2 TIP3 4312 -14.947 15.154 -10.845 .00 .00 BULK ATOM 13835 OH2 TIP3 4313 18.270 -7.165 -18.974 .00 .00 BULK ATOM 13836 H1 TIP3 4313 19.178 -6.829 -19.263 .00 .00 BULK ATOM 13837 H2 TIP3 4313 17.636 -6.699 -19.542 .00 .00 BULK ATOM 13838 OH2 TIP3 4314 -8.639 13.952 19.145 .00 .00 BULK ATOM 13839 H1 TIP3 4314 -7.786 13.628 19.459 .00 .00 BULK ATOM 13840 H2 TIP3 4314 -8.430 13.954 18.174 .00 .00 BULK ATOM 13841 OH2 TIP3 4315 -14.098 -8.882 18.802 .00 .00 BULK ATOM 13842 H1 TIP3 4315 -14.842 -8.229 18.621 .00 .00 BULK ATOM 13843 H2 TIP3 4315 -14.581 -9.657 18.469 .00 .00 BULK ATOM 13844 OH2 TIP3 4316 12.394 13.377 -11.346 .00 .00 BULK ATOM 13845 H1 TIP3 4316 12.915 12.765 -10.800 .00 .00 BULK ATOM 13846 H2 TIP3 4316 12.051 14.047 -10.754 .00 .00 BULK ATOM 13847 OH2 TIP3 4317 13.531 -17.649 17.957 .00 .00 BULK ATOM 13848 H1 TIP3 4317 14.342 -18.131 18.083 .00 .00 BULK ATOM 13849 H2 TIP3 4317 12.828 -18.091 18.521 .00 .00 BULK ATOM 13850 OH2 TIP3 4318 4.275 -.626 13.059 .00 .00 BULK ATOM 13851 H1 TIP3 4318 4.761 -1.287 12.563 .00 .00 BULK ATOM 13852 H2 TIP3 4318 3.442 -.564 12.525 .00 .00 BULK ATOM 13853 OH2 TIP3 4319 8.648 1.466 -20.716 .00 .00 BULK ATOM 13854 H1 TIP3 4319 8.741 2.440 -20.687 .00 .00 BULK ATOM 13855 H2 TIP3 4319 9.479 1.162 -21.059 .00 .00 BULK ATOM 13856 OH2 TIP3 4320 -28.934 1.803 -8.865 .00 .00 BULK ATOM 13857 H1 TIP3 4320 -28.877 1.341 -9.690 .00 .00 BULK ATOM 13858 H2 TIP3 4320 -28.155 2.425 -8.950 .00 .00 BULK ATOM 13859 OH2 TIP3 4321 -7.186 -10.796 -9.934 .00 .00 BULK ATOM 13860 H1 TIP3 4321 -7.840 -10.226 -10.454 .00 .00 BULK ATOM 13861 H2 TIP3 4321 -6.387 -10.875 -10.545 .00 .00 BULK ATOM 13862 OH2 TIP3 4322 26.394 -21.225 -22.381 .00 .00 BULK ATOM 13863 H1 TIP3 4322 26.291 -21.213 -21.381 .00 .00 BULK ATOM 13864 H2 TIP3 4322 26.692 -20.248 -22.611 .00 .00 BULK ATOM 13865 OH2 TIP3 4323 11.728 -20.602 17.163 .00 .00 BULK ATOM 13866 H1 TIP3 4323 12.444 -20.468 16.508 .00 .00 BULK ATOM 13867 H2 TIP3 4323 11.326 -21.321 16.784 .00 .00 BULK ATOM 13868 OH2 TIP3 4324 -1.052 19.042 -6.755 .00 .00 BULK ATOM 13869 H1 TIP3 4324 -1.481 19.841 -7.134 .00 .00 BULK ATOM 13870 H2 TIP3 4324 -.349 18.848 -7.440 .00 .00 BULK ATOM 13871 OH2 TIP3 4325 12.155 16.488 -13.223 .00 .00 BULK ATOM 13872 H1 TIP3 4325 13.045 16.955 -13.424 .00 .00 BULK ATOM 13873 H2 TIP3 4325 11.988 15.902 -13.963 .00 .00 BULK ATOM 13874 OH2 TIP3 4326 7.445 8.700 -8.796 .00 .00 BULK ATOM 13875 H1 TIP3 4326 7.854 9.125 -7.993 .00 .00 BULK ATOM 13876 H2 TIP3 4326 8.308 8.516 -9.300 .00 .00 BULK ATOM 13877 OH2 TIP3 4327 -28.800 -.994 -7.146 .00 .00 BULK ATOM 13878 H1 TIP3 4327 -27.915 -.613 -7.072 .00 .00 BULK ATOM 13879 H2 TIP3 4327 -29.410 -.263 -7.182 .00 .00 BULK ATOM 13880 OH2 TIP3 4328 14.169 -20.850 -21.824 .00 .00 BULK ATOM 13881 H1 TIP3 4328 13.979 -21.398 -21.052 .00 .00 BULK ATOM 13882 H2 TIP3 4328 14.772 -20.255 -21.505 .00 .00 BULK ATOM 13883 OH2 TIP3 4329 11.469 22.969 4.499 .00 .00 BULK ATOM 13884 H1 TIP3 4329 11.216 23.387 5.365 .00 .00 BULK ATOM 13885 H2 TIP3 4329 10.692 22.565 4.149 .00 .00 BULK ATOM 13886 OH2 TIP3 4330 -16.323 6.531 -12.504 .00 .00 BULK ATOM 13887 H1 TIP3 4330 -16.405 7.512 -12.293 .00 .00 BULK ATOM 13888 H2 TIP3 4330 -17.050 6.122 -12.077 .00 .00 BULK ATOM 13889 OH2 TIP3 4331 9.559 14.283 -16.434 .00 .00 BULK ATOM 13890 H1 TIP3 4331 9.856 14.451 -17.330 .00 .00 BULK ATOM 13891 H2 TIP3 4331 10.476 14.302 -16.043 .00 .00 BULK ATOM 13892 OH2 TIP3 4332 -17.619 14.014 18.392 .00 .00 BULK ATOM 13893 H1 TIP3 4332 -18.299 13.590 17.895 .00 .00 BULK ATOM 13894 H2 TIP3 4332 -17.710 13.538 19.204 .00 .00 BULK ATOM 13895 OH2 TIP3 4333 .017 -3.529 20.026 .00 .00 BULK ATOM 13896 H1 TIP3 4333 .507 -3.375 20.871 .00 .00 BULK ATOM 13897 H2 TIP3 4333 .456 -4.290 19.598 .00 .00 BULK ATOM 13898 OH2 TIP3 4334 7.665 9.868 15.808 .00 .00 BULK ATOM 13899 H1 TIP3 4334 7.307 9.691 16.714 .00 .00 BULK ATOM 13900 H2 TIP3 4334 6.914 9.718 15.257 .00 .00 BULK ATOM 13901 OH2 TIP3 4335 15.818 -4.946 18.079 .00 .00 BULK ATOM 13902 H1 TIP3 4335 15.153 -4.286 17.756 .00 .00 BULK ATOM 13903 H2 TIP3 4335 16.673 -4.500 17.870 .00 .00 BULK ATOM 13904 OH2 TIP3 4336 10.572 6.856 -20.414 .00 .00 BULK ATOM 13905 H1 TIP3 4336 9.591 6.708 -20.331 .00 .00 BULK ATOM 13906 H2 TIP3 4336 10.862 7.004 -19.490 .00 .00 BULK ATOM 13907 OH2 TIP3 4337 12.870 11.463 21.854 .00 .00 BULK ATOM 13908 H1 TIP3 4337 12.104 12.082 21.788 .00 .00 BULK ATOM 13909 H2 TIP3 4337 12.848 11.113 20.965 .00 .00 BULK ATOM 13910 OH2 TIP3 4338 13.799 11.907 4.015 .00 .00 BULK ATOM 13911 H1 TIP3 4338 13.286 12.796 4.090 .00 .00 BULK ATOM 13912 H2 TIP3 4338 14.630 12.195 4.444 .00 .00 BULK ATOM 13913 OH2 TIP3 4339 -21.682 5.501 14.899 .00 .00 BULK ATOM 13914 H1 TIP3 4339 -22.121 6.097 14.286 .00 .00 BULK ATOM 13915 H2 TIP3 4339 -22.263 5.372 15.699 .00 .00 BULK ATOM 13916 OH2 TIP3 4340 -29.480 -10.583 9.580 .00 .00 BULK ATOM 13917 H1 TIP3 4340 -29.781 -11.319 10.179 .00 .00 BULK ATOM 13918 H2 TIP3 4340 -28.583 -10.936 9.276 .00 .00 BULK ATOM 13919 OH2 TIP3 4341 20.473 -3.662 15.732 .00 .00 BULK ATOM 13920 H1 TIP3 4341 19.765 -3.740 16.404 .00 .00 BULK ATOM 13921 H2 TIP3 4341 19.977 -3.900 14.948 .00 .00 BULK ATOM 13922 OH2 TIP3 4342 23.998 8.398 -22.078 .00 .00 BULK ATOM 13923 H1 TIP3 4342 24.349 8.465 -23.005 .00 .00 BULK ATOM 13924 H2 TIP3 4342 23.487 7.562 -22.114 .00 .00 BULK ATOM 13925 OH2 TIP3 4343 6.574 -8.832 -22.229 .00 .00 BULK ATOM 13926 H1 TIP3 4343 6.938 -8.824 -21.313 .00 .00 BULK ATOM 13927 H2 TIP3 4343 7.327 -8.368 -22.666 .00 .00 BULK ATOM 13928 OH2 TIP3 4344 1.067 -20.288 21.755 .00 .00 BULK ATOM 13929 H1 TIP3 4344 1.122 -19.349 22.038 .00 .00 BULK ATOM 13930 H2 TIP3 4344 .611 -20.717 22.480 .00 .00 BULK ATOM 13931 OH2 TIP3 4345 16.101 -12.235 19.214 .00 .00 BULK ATOM 13932 H1 TIP3 4345 15.912 -12.019 20.164 .00 .00 BULK ATOM 13933 H2 TIP3 4345 15.271 -12.689 18.988 .00 .00 BULK ATOM 13934 OH2 TIP3 4346 22.761 22.606 -18.988 .00 .00 BULK ATOM 13935 H1 TIP3 4346 22.473 21.640 -19.038 .00 .00 BULK ATOM 13936 H2 TIP3 4346 23.109 22.578 -19.870 .00 .00 BULK ATOM 13937 OH2 TIP3 4347 8.386 13.596 -21.320 .00 .00 BULK ATOM 13938 H1 TIP3 4347 8.190 14.581 -21.418 .00 .00 BULK ATOM 13939 H2 TIP3 4347 9.169 13.466 -21.872 .00 .00 BULK ATOM 13940 OH2 TIP3 4348 21.932 -9.764 9.521 .00 .00 BULK ATOM 13941 H1 TIP3 4348 21.907 -9.562 8.606 .00 .00 BULK ATOM 13942 H2 TIP3 4348 22.742 -10.205 9.688 .00 .00 BULK ATOM 13943 OH2 TIP3 4349 22.160 -11.645 -11.382 .00 .00 BULK ATOM 13944 H1 TIP3 4349 21.365 -11.790 -11.979 .00 .00 BULK ATOM 13945 H2 TIP3 4349 21.902 -12.049 -10.578 .00 .00 BULK ATOM 13946 OH2 TIP3 4350 16.516 9.761 21.006 .00 .00 BULK ATOM 13947 H1 TIP3 4350 16.634 10.709 20.816 .00 .00 BULK ATOM 13948 H2 TIP3 4350 15.678 9.660 20.468 .00 .00 BULK ATOM 13949 OH2 TIP3 4351 20.042 11.219 12.071 .00 .00 BULK ATOM 13950 H1 TIP3 4351 19.892 10.675 11.280 .00 .00 BULK ATOM 13951 H2 TIP3 4351 20.931 10.888 12.362 .00 .00 BULK ATOM 13952 OH2 TIP3 4352 20.190 18.686 -18.303 .00 .00 BULK ATOM 13953 H1 TIP3 4352 20.886 18.910 -17.686 .00 .00 BULK ATOM 13954 H2 TIP3 4352 19.774 18.014 -17.767 .00 .00 BULK ATOM 13955 OH2 TIP3 4353 -4.336 19.702 -8.723 .00 .00 BULK ATOM 13956 H1 TIP3 4353 -4.908 19.006 -8.938 .00 .00 BULK ATOM 13957 H2 TIP3 4353 -5.067 20.401 -8.695 .00 .00 BULK ATOM 13958 OH2 TIP3 4354 16.308 -17.199 21.630 .00 .00 BULK ATOM 13959 H1 TIP3 4354 16.297 -17.989 22.217 .00 .00 BULK ATOM 13960 H2 TIP3 4354 15.948 -16.601 22.306 .00 .00 BULK ATOM 13961 OH2 TIP3 4355 25.735 22.493 1.943 .00 .00 BULK ATOM 13962 H1 TIP3 4355 25.759 21.500 1.922 .00 .00 BULK ATOM 13963 H2 TIP3 4355 24.741 22.543 1.881 .00 .00 BULK ATOM 13964 OH2 TIP3 4356 15.181 -.837 -20.524 .00 .00 BULK ATOM 13965 H1 TIP3 4356 14.646 -1.534 -20.982 .00 .00 BULK ATOM 13966 H2 TIP3 4356 14.541 -.106 -20.596 .00 .00 BULK ATOM 13967 OH2 TIP3 4357 .813 20.196 -18.335 .00 .00 BULK ATOM 13968 H1 TIP3 4357 .140 20.439 -18.987 .00 .00 BULK ATOM 13969 H2 TIP3 4357 1.602 20.087 -18.946 .00 .00 BULK ATOM 13970 OH2 TIP3 4358 10.921 6.928 -17.711 .00 .00 BULK ATOM 13971 H1 TIP3 4358 10.345 6.527 -17.004 .00 .00 BULK ATOM 13972 H2 TIP3 4358 10.676 7.901 -17.517 .00 .00 BULK ATOM 13973 OH2 TIP3 4359 -20.236 -17.235 -4.295 .00 .00 BULK ATOM 13974 H1 TIP3 4359 -19.871 -16.312 -4.289 .00 .00 BULK ATOM 13975 H2 TIP3 4359 -20.140 -17.582 -5.215 .00 .00 BULK ATOM 13976 OH2 TIP3 4360 -16.313 -7.649 18.250 .00 .00 BULK ATOM 13977 H1 TIP3 4360 -16.823 -7.822 19.043 .00 .00 BULK ATOM 13978 H2 TIP3 4360 -16.988 -7.826 17.583 .00 .00 BULK ATOM 13979 OH2 TIP3 4361 20.205 .166 21.017 .00 .00 BULK ATOM 13980 H1 TIP3 4361 19.601 -.556 21.241 .00 .00 BULK ATOM 13981 H2 TIP3 4361 19.916 .275 20.135 .00 .00 BULK ATOM 13982 OH2 TIP3 4362 -28.221 7.747 23.578 .00 .00 BULK ATOM 13983 H1 TIP3 4362 -27.671 7.238 24.127 .00 .00 BULK ATOM 13984 H2 TIP3 4362 -28.143 7.249 22.729 .00 .00 BULK ATOM 13985 OH2 TIP3 4363 14.101 14.248 23.638 .00 .00 BULK ATOM 13986 H1 TIP3 4363 13.078 14.266 23.542 .00 .00 BULK ATOM 13987 H2 TIP3 4363 14.295 14.629 22.781 .00 .00 BULK ATOM 13988 OH2 TIP3 4364 29.972 4.002 18.391 .00 .00 BULK ATOM 13989 H1 TIP3 4364 30.570 4.466 19.015 .00 .00 BULK ATOM 13990 H2 TIP3 4364 29.302 4.721 18.297 .00 .00 BULK ATOM 13991 OH2 TIP3 4365 19.632 17.500 15.224 .00 .00 BULK ATOM 13992 H1 TIP3 4365 19.250 16.705 15.586 .00 .00 BULK ATOM 13993 H2 TIP3 4365 19.366 18.234 15.807 .00 .00 BULK ATOM 13994 OH2 TIP3 4366 -15.335 -8.813 9.051 .00 .00 BULK ATOM 13995 H1 TIP3 4366 -16.027 -8.403 9.538 .00 .00 BULK ATOM 13996 H2 TIP3 4366 -14.593 -8.172 9.243 .00 .00 BULK ATOM 13997 OH2 TIP3 4367 -20.018 8.341 20.306 .00 .00 BULK ATOM 13998 H1 TIP3 4367 -19.308 7.800 20.578 .00 .00 BULK ATOM 13999 H2 TIP3 4367 -19.826 8.566 19.344 .00 .00 BULK ATOM 14000 OH2 TIP3 4368 -18.782 -14.065 6.863 .00 .00 BULK ATOM 14001 H1 TIP3 4368 -17.850 -13.954 6.760 .00 .00 BULK ATOM 14002 H2 TIP3 4368 -18.756 -14.998 6.882 .00 .00 BULK ATOM 14003 OH2 TIP3 4369 22.714 13.686 21.064 .00 .00 BULK ATOM 14004 H1 TIP3 4369 22.927 12.792 21.448 .00 .00 BULK ATOM 14005 H2 TIP3 4369 21.743 13.591 21.101 .00 .00 BULK ATOM 14006 OH2 TIP3 4370 -2.154 11.553 21.974 .00 .00 BULK ATOM 14007 H1 TIP3 4370 -2.451 11.572 22.935 .00 .00 BULK ATOM 14008 H2 TIP3 4370 -2.326 12.503 21.786 .00 .00 BULK ATOM 14009 OH2 TIP3 4371 2.314 8.614 -22.668 .00 .00 BULK ATOM 14010 H1 TIP3 4371 1.751 8.352 -23.442 .00 .00 BULK ATOM 14011 H2 TIP3 4371 2.010 7.861 -22.113 .00 .00 BULK ATOM 14012 OH2 TIP3 4372 21.475 -3.390 -18.995 .00 .00 BULK ATOM 14013 H1 TIP3 4372 21.177 -2.470 -19.144 .00 .00 BULK ATOM 14014 H2 TIP3 4372 22.458 -3.288 -19.006 .00 .00 BULK ATOM 14015 OH2 TIP3 4373 -4.491 18.416 8.017 .00 .00 BULK ATOM 14016 H1 TIP3 4373 -4.934 18.504 8.871 .00 .00 BULK ATOM 14017 H2 TIP3 4373 -4.416 19.363 7.837 .00 .00 BULK ATOM 14018 OH2 TIP3 4374 -28.482 13.924 11.179 .00 .00 BULK ATOM 14019 H1 TIP3 4374 -27.724 13.624 10.564 .00 .00 BULK ATOM 14020 H2 TIP3 4374 -29.156 13.292 10.980 .00 .00 BULK ATOM 14021 OH2 TIP3 4375 20.020 -.014 -16.623 .00 .00 BULK ATOM 14022 H1 TIP3 4375 19.280 -.220 -17.172 .00 .00 BULK ATOM 14023 H2 TIP3 4375 19.842 -.420 -15.780 .00 .00 BULK ATOM 14024 OH2 TIP3 4376 -13.853 20.154 .039 .00 .00 BULK ATOM 14025 H1 TIP3 4376 -13.107 20.650 -.319 .00 .00 BULK ATOM 14026 H2 TIP3 4376 -13.517 19.722 .871 .00 .00 BULK ATOM 14027 OH2 TIP3 4377 -11.168 18.650 8.909 .00 .00 BULK ATOM 14028 H1 TIP3 4377 -10.953 18.005 9.588 .00 .00 BULK ATOM 14029 H2 TIP3 4377 -11.525 19.346 9.454 .00 .00 BULK ATOM 14030 OH2 TIP3 4378 22.438 -14.799 -22.344 .00 .00 BULK ATOM 14031 H1 TIP3 4378 22.207 -14.923 -21.379 .00 .00 BULK ATOM 14032 H2 TIP3 4378 21.891 -15.495 -22.858 .00 .00 BULK ATOM 14033 OH2 TIP3 4379 26.517 -.547 -17.823 .00 .00 BULK ATOM 14034 H1 TIP3 4379 26.513 -.592 -18.840 .00 .00 BULK ATOM 14035 H2 TIP3 4379 26.332 -1.519 -17.716 .00 .00 BULK ATOM 14036 OH2 TIP3 4380 -22.457 23.071 20.200 .00 .00 BULK ATOM 14037 H1 TIP3 4380 -22.647 22.130 20.513 .00 .00 BULK ATOM 14038 H2 TIP3 4380 -21.776 23.347 20.806 .00 .00 BULK ATOM 14039 OH2 TIP3 4381 13.674 -9.980 -21.270 .00 .00 BULK ATOM 14040 H1 TIP3 4381 14.496 -10.448 -21.438 .00 .00 BULK ATOM 14041 H2 TIP3 4381 13.784 -9.906 -20.329 .00 .00 BULK ATOM 14042 OH2 TIP3 4382 -14.873 2.482 -18.871 .00 .00 BULK ATOM 14043 H1 TIP3 4382 -13.994 2.128 -19.084 .00 .00 BULK ATOM 14044 H2 TIP3 4382 -15.438 1.667 -18.923 .00 .00 BULK ATOM 14045 OH2 TIP3 4383 1.769 .993 -21.664 .00 .00 BULK ATOM 14046 H1 TIP3 4383 .948 .882 -21.085 .00 .00 BULK ATOM 14047 H2 TIP3 4383 1.495 1.240 -22.512 .00 .00 BULK ATOM 14048 OH2 TIP3 4384 -15.019 -14.311 4.485 .00 .00 BULK ATOM 14049 H1 TIP3 4384 -15.663 -14.106 3.805 .00 .00 BULK ATOM 14050 H2 TIP3 4384 -15.418 -15.101 4.862 .00 .00 BULK ATOM 14051 OH2 TIP3 4385 -23.342 -16.602 15.723 .00 .00 BULK ATOM 14052 H1 TIP3 4385 -22.763 -15.884 15.450 .00 .00 BULK ATOM 14053 H2 TIP3 4385 -23.987 -16.395 15.028 .00 .00 BULK ATOM 14054 OH2 TIP3 4386 -1.684 -9.738 18.681 .00 .00 BULK ATOM 14055 H1 TIP3 4386 -2.278 -9.018 18.696 .00 .00 BULK ATOM 14056 H2 TIP3 4386 -1.805 -9.953 17.723 .00 .00 BULK ATOM 14057 OH2 TIP3 4387 -29.073 4.063 -22.580 .00 .00 BULK ATOM 14058 H1 TIP3 4387 -29.378 4.031 -23.488 .00 .00 BULK ATOM 14059 H2 TIP3 4387 -29.442 4.849 -22.123 .00 .00 BULK ATOM 14060 OH2 TIP3 4388 -18.034 11.155 -11.079 .00 .00 BULK ATOM 14061 H1 TIP3 4388 -18.323 12.109 -11.335 .00 .00 BULK ATOM 14062 H2 TIP3 4388 -18.458 11.009 -10.227 .00 .00 BULK ATOM 14063 OH2 TIP3 4389 4.248 -7.760 -21.088 .00 .00 BULK ATOM 14064 H1 TIP3 4389 4.394 -6.787 -20.927 .00 .00 BULK ATOM 14065 H2 TIP3 4389 4.781 -7.907 -21.869 .00 .00 BULK ATOM 14066 OH2 TIP3 4390 -15.071 10.104 17.067 .00 .00 BULK ATOM 14067 H1 TIP3 4390 -14.917 9.528 16.301 .00 .00 BULK ATOM 14068 H2 TIP3 4390 -15.542 9.604 17.757 .00 .00 BULK ATOM 14069 OH2 TIP3 4391 -8.780 3.480 -11.313 .00 .00 BULK ATOM 14070 H1 TIP3 4391 -8.935 4.225 -10.749 .00 .00 BULK ATOM 14071 H2 TIP3 4391 -7.787 3.365 -11.287 .00 .00 BULK ATOM 14072 OH2 TIP3 4392 7.950 -17.433 1.352 .00 .00 BULK ATOM 14073 H1 TIP3 4392 8.532 -17.079 2.070 .00 .00 BULK ATOM 14074 H2 TIP3 4392 8.217 -18.312 1.361 .00 .00 BULK ATOM 14075 OH2 TIP3 4393 -8.133 -9.474 4.314 .00 .00 BULK ATOM 14076 H1 TIP3 4393 -8.487 -10.183 3.733 .00 .00 BULK ATOM 14077 H2 TIP3 4393 -8.138 -8.719 3.689 .00 .00 BULK ATOM 14078 OH2 TIP3 4394 13.959 -2.624 13.141 .00 .00 BULK ATOM 14079 H1 TIP3 4394 13.528 -3.469 12.853 .00 .00 BULK ATOM 14080 H2 TIP3 4394 13.288 -2.218 13.738 .00 .00 BULK ATOM 14081 OH2 TIP3 4395 -1.603 2.371 -20.730 .00 .00 BULK ATOM 14082 H1 TIP3 4395 -2.541 2.627 -21.014 .00 .00 BULK ATOM 14083 H2 TIP3 4395 -1.632 2.644 -19.824 .00 .00 BULK ATOM 14084 OH2 TIP3 4396 -7.577 15.991 -23.061 .00 .00 BULK ATOM 14085 H1 TIP3 4396 -6.819 16.540 -23.410 .00 .00 BULK ATOM 14086 H2 TIP3 4396 -8.275 16.706 -23.087 .00 .00 BULK ATOM 14087 OH2 TIP3 4397 15.694 .121 19.190 .00 .00 BULK ATOM 14088 H1 TIP3 4397 15.400 -.150 18.293 .00 .00 BULK ATOM 14089 H2 TIP3 4397 15.772 1.091 18.993 .00 .00 BULK ATOM 14090 OH2 TIP3 4398 -19.236 -6.423 5.769 .00 .00 BULK ATOM 14091 H1 TIP3 4398 -20.056 -6.417 5.238 .00 .00 BULK ATOM 14092 H2 TIP3 4398 -19.366 -7.013 6.455 .00 .00 BULK ATOM 14093 OH2 TIP3 4399 25.785 4.311 .244 .00 .00 BULK ATOM 14094 H1 TIP3 4399 26.108 4.779 1.070 .00 .00 BULK ATOM 14095 H2 TIP3 4399 26.587 4.432 -.351 .00 .00 BULK ATOM 14096 OH2 TIP3 4400 6.226 -13.966 21.431 .00 .00 BULK ATOM 14097 H1 TIP3 4400 6.893 -14.119 20.699 .00 .00 BULK ATOM 14098 H2 TIP3 4400 6.824 -13.918 22.167 .00 .00 BULK ATOM 14099 OH2 TIP3 4401 -3.477 -1.314 -20.524 .00 .00 BULK ATOM 14100 H1 TIP3 4401 -4.088 -.590 -20.271 .00 .00 BULK ATOM 14101 H2 TIP3 4401 -4.078 -2.082 -20.580 .00 .00 BULK ATOM 14102 OH2 TIP3 4402 -23.817 -4.134 -10.439 .00 .00 BULK ATOM 14103 H1 TIP3 4402 -22.932 -4.186 -10.092 .00 .00 BULK ATOM 14104 H2 TIP3 4402 -23.575 -4.023 -11.391 .00 .00 BULK ATOM 14105 OH2 TIP3 4403 -24.233 -19.354 -1.310 .00 .00 BULK ATOM 14106 H1 TIP3 4403 -24.252 -20.328 -1.113 .00 .00 BULK ATOM 14107 H2 TIP3 4403 -23.262 -19.188 -1.395 .00 .00 BULK ATOM 14108 OH2 TIP3 4404 7.902 6.857 -19.808 .00 .00 BULK ATOM 14109 H1 TIP3 4404 7.188 6.293 -19.308 .00 .00 BULK ATOM 14110 H2 TIP3 4404 7.915 7.676 -19.350 .00 .00 BULK ATOM 14111 OH2 TIP3 4405 -17.612 10.703 -23.328 .00 .00 BULK ATOM 14112 H1 TIP3 4405 -16.654 10.712 -23.182 .00 .00 BULK ATOM 14113 H2 TIP3 4405 -18.062 11.209 -22.602 .00 .00 BULK ATOM 14114 OH2 TIP3 4406 -21.811 -17.278 2.834 .00 .00 BULK ATOM 14115 H1 TIP3 4406 -22.439 -17.995 2.586 .00 .00 BULK ATOM 14116 H2 TIP3 4406 -22.209 -17.012 3.678 .00 .00 BULK ATOM 14117 OH2 TIP3 4407 -3.867 -17.186 -15.976 .00 .00 BULK ATOM 14118 H1 TIP3 4407 -3.501 -16.300 -16.086 .00 .00 BULK ATOM 14119 H2 TIP3 4407 -4.021 -17.386 -16.927 .00 .00 BULK ATOM 14120 OH2 TIP3 4408 -29.411 2.534 -13.238 .00 .00 BULK ATOM 14121 H1 TIP3 4408 -30.248 2.806 -13.464 .00 .00 BULK ATOM 14122 H2 TIP3 4408 -29.039 2.314 -14.104 .00 .00 BULK ATOM 14123 OH2 TIP3 4409 -17.572 -19.754 23.284 .00 .00 BULK ATOM 14124 H1 TIP3 4409 -17.963 -19.129 22.705 .00 .00 BULK ATOM 14125 H2 TIP3 4409 -16.749 -19.297 23.586 .00 .00 BULK ATOM 14126 OH2 TIP3 4410 -10.782 -1.090 -13.045 .00 .00 BULK ATOM 14127 H1 TIP3 4410 -11.061 -.254 -12.573 .00 .00 BULK ATOM 14128 H2 TIP3 4410 -9.853 -.767 -13.245 .00 .00 BULK ATOM 14129 OH2 TIP3 4411 5.470 -8.595 14.436 .00 .00 BULK ATOM 14130 H1 TIP3 4411 6.139 -9.177 14.863 .00 .00 BULK ATOM 14131 H2 TIP3 4411 4.980 -8.061 15.164 .00 .00 BULK ATOM 14132 OH2 TIP3 4412 -25.853 -13.178 -9.181 .00 .00 BULK ATOM 14133 H1 TIP3 4412 -26.398 -12.992 -9.980 .00 .00 BULK ATOM 14134 H2 TIP3 4412 -25.502 -14.035 -9.454 .00 .00 BULK ATOM 14135 OH2 TIP3 4413 -12.632 3.425 -22.924 .00 .00 BULK ATOM 14136 H1 TIP3 4413 -13.497 3.040 -22.841 .00 .00 BULK ATOM 14137 H2 TIP3 4413 -12.840 4.181 -23.449 .00 .00 BULK ATOM 14138 OH2 TIP3 4414 -27.457 12.718 -16.207 .00 .00 BULK ATOM 14139 H1 TIP3 4414 -27.451 11.921 -15.648 .00 .00 BULK ATOM 14140 H2 TIP3 4414 -26.655 12.577 -16.801 .00 .00 BULK ATOM 14141 OH2 TIP3 4415 26.249 2.346 7.400 .00 .00 BULK ATOM 14142 H1 TIP3 4415 26.232 3.339 7.341 .00 .00 BULK ATOM 14143 H2 TIP3 4415 25.593 2.272 8.168 .00 .00 BULK ATOM 14144 OH2 TIP3 4416 .680 5.163 21.503 .00 .00 BULK ATOM 14145 H1 TIP3 4416 .324 4.688 20.785 .00 .00 BULK ATOM 14146 H2 TIP3 4416 -.122 5.159 22.111 .00 .00 BULK ATOM 14147 OH2 TIP3 4417 4.108 11.038 -4.361 .00 .00 BULK ATOM 14148 H1 TIP3 4417 4.140 10.093 -4.032 .00 .00 BULK ATOM 14149 H2 TIP3 4417 3.758 11.496 -3.528 .00 .00 BULK ATOM 14150 OH2 TIP3 4418 -13.483 -2.418 20.630 .00 .00 BULK ATOM 14151 H1 TIP3 4418 -13.701 -1.506 20.432 .00 .00 BULK ATOM 14152 H2 TIP3 4418 -12.541 -2.228 20.884 .00 .00 BULK ATOM 14153 OH2 TIP3 4419 18.180 -19.460 -8.624 .00 .00 BULK ATOM 14154 H1 TIP3 4419 17.656 -19.694 -7.873 .00 .00 BULK ATOM 14155 H2 TIP3 4419 17.713 -19.936 -9.382 .00 .00 BULK ATOM 14156 OH2 TIP3 4420 -29.493 -17.484 1.618 .00 .00 BULK ATOM 14157 H1 TIP3 4420 -29.680 -16.994 .765 .00 .00 BULK ATOM 14158 H2 TIP3 4420 -29.544 -16.691 2.280 .00 .00 BULK ATOM 14159 OH2 TIP3 4421 29.639 19.808 -8.591 .00 .00 BULK ATOM 14160 H1 TIP3 4421 28.691 19.738 -8.777 .00 .00 BULK ATOM 14161 H2 TIP3 4421 29.710 20.775 -8.334 .00 .00 BULK ATOM 14162 OH2 TIP3 4422 -4.287 8.221 -22.656 .00 .00 BULK ATOM 14163 H1 TIP3 4422 -3.763 8.829 -22.103 .00 .00 BULK ATOM 14164 H2 TIP3 4422 -5.142 8.565 -22.543 .00 .00 BULK ATOM 14165 OH2 TIP3 4423 18.475 -16.007 20.712 .00 .00 BULK ATOM 14166 H1 TIP3 4423 18.531 -16.795 20.117 .00 .00 BULK ATOM 14167 H2 TIP3 4423 17.667 -16.210 21.245 .00 .00 BULK ATOM 14168 OH2 TIP3 4424 6.807 -8.492 7.614 .00 .00 BULK ATOM 14169 H1 TIP3 4424 6.008 -8.460 7.117 .00 .00 BULK ATOM 14170 H2 TIP3 4424 6.505 -9.175 8.265 .00 .00 BULK ATOM 14171 OH2 TIP3 4425 25.381 -6.323 -18.566 .00 .00 BULK ATOM 14172 H1 TIP3 4425 25.977 -5.499 -18.557 .00 .00 BULK ATOM 14173 H2 TIP3 4425 26.012 -7.052 -18.342 .00 .00 BULK ATOM 14174 OH2 TIP3 4426 .747 10.050 -6.423 .00 .00 BULK ATOM 14175 H1 TIP3 4426 1.228 9.287 -6.124 .00 .00 BULK ATOM 14176 H2 TIP3 4426 .207 9.637 -7.128 .00 .00 BULK ATOM 14177 OH2 TIP3 4427 4.051 16.802 -23.532 .00 .00 BULK ATOM 14178 H1 TIP3 4427 3.988 17.723 -23.655 .00 .00 BULK ATOM 14179 H2 TIP3 4427 3.652 16.592 -22.664 .00 .00 BULK ATOM 14180 OH2 TIP3 4428 24.120 12.763 -14.665 .00 .00 BULK ATOM 14181 H1 TIP3 4428 23.147 12.979 -14.769 .00 .00 BULK ATOM 14182 H2 TIP3 4428 24.288 12.925 -13.710 .00 .00 BULK ATOM 14183 OH2 TIP3 4429 1.087 7.867 22.089 .00 .00 BULK ATOM 14184 H1 TIP3 4429 .332 8.129 21.549 .00 .00 BULK ATOM 14185 H2 TIP3 4429 .835 6.950 22.214 .00 .00 BULK ATOM 14186 OH2 TIP3 4430 1.912 -3.809 21.861 .00 .00 BULK ATOM 14187 H1 TIP3 4430 2.671 -3.468 21.404 .00 .00 BULK ATOM 14188 H2 TIP3 4430 2.051 -3.859 22.806 .00 .00 BULK ATOM 14189 OH2 TIP3 4431 16.108 8.800 -17.261 .00 .00 BULK ATOM 14190 H1 TIP3 4431 15.379 9.420 -17.080 .00 .00 BULK ATOM 14191 H2 TIP3 4431 16.368 8.528 -16.417 .00 .00 BULK ATOM 14192 OH2 TIP3 4432 -27.895 11.381 -10.941 .00 .00 BULK ATOM 14193 H1 TIP3 4432 -27.082 11.197 -11.449 .00 .00 BULK ATOM 14194 H2 TIP3 4432 -27.602 12.183 -10.352 .00 .00 BULK ATOM 14195 OH2 TIP3 4433 6.783 23.028 -10.001 .00 .00 BULK ATOM 14196 H1 TIP3 4433 6.074 23.598 -9.963 .00 .00 BULK ATOM 14197 H2 TIP3 4433 7.384 23.334 -9.287 .00 .00 BULK ATOM 14198 OH2 TIP3 4434 -1.337 -6.500 -11.422 .00 .00 BULK ATOM 14199 H1 TIP3 4434 -1.811 -5.860 -10.785 .00 .00 BULK ATOM 14200 H2 TIP3 4434 -1.843 -7.325 -11.212 .00 .00 BULK ATOM 14201 OH2 TIP3 4435 21.694 -17.589 -13.867 .00 .00 BULK ATOM 14202 H1 TIP3 4435 22.237 -18.418 -14.033 .00 .00 BULK ATOM 14203 H2 TIP3 4435 22.155 -17.129 -14.536 .00 .00 BULK ATOM 14204 OH2 TIP3 4436 13.540 1.875 -3.091 .00 .00 BULK ATOM 14205 H1 TIP3 4436 12.832 1.237 -3.178 .00 .00 BULK ATOM 14206 H2 TIP3 4436 13.787 1.604 -2.197 .00 .00 BULK ATOM 14207 OH2 TIP3 4437 -11.019 7.507 6.077 .00 .00 BULK ATOM 14208 H1 TIP3 4437 -11.072 8.470 6.161 .00 .00 BULK ATOM 14209 H2 TIP3 4437 -11.936 7.297 5.952 .00 .00 BULK ATOM 14210 OH2 TIP3 4438 10.172 16.982 -19.561 .00 .00 BULK ATOM 14211 H1 TIP3 4438 9.933 17.928 -19.609 .00 .00 BULK ATOM 14212 H2 TIP3 4438 11.125 17.036 -19.296 .00 .00 BULK ATOM 14213 OH2 TIP3 4439 25.886 12.332 20.589 .00 .00 BULK ATOM 14214 H1 TIP3 4439 25.419 11.495 20.805 .00 .00 BULK ATOM 14215 H2 TIP3 4439 25.861 12.280 19.574 .00 .00 BULK ATOM 14216 OH2 TIP3 4440 -.438 14.782 20.076 .00 .00 BULK ATOM 14217 H1 TIP3 4440 -1.271 15.114 19.731 .00 .00 BULK ATOM 14218 H2 TIP3 4440 -.781 14.356 20.927 .00 .00 BULK ATOM 14219 OH2 TIP3 4441 1.804 11.486 14.911 .00 .00 BULK ATOM 14220 H1 TIP3 4441 1.058 12.040 14.847 .00 .00 BULK ATOM 14221 H2 TIP3 4441 2.344 12.016 15.565 .00 .00 BULK ATOM 14222 OH2 TIP3 4442 1.553 19.722 -11.279 .00 .00 BULK ATOM 14223 H1 TIP3 4442 1.746 19.689 -12.224 .00 .00 BULK ATOM 14224 H2 TIP3 4442 2.305 20.310 -10.993 .00 .00 BULK ATOM 14225 OH2 TIP3 4443 22.683 -.078 -8.911 .00 .00 BULK ATOM 14226 H1 TIP3 4443 23.585 -.476 -8.658 .00 .00 BULK ATOM 14227 H2 TIP3 4443 22.320 -.951 -9.149 .00 .00 BULK ATOM 14228 OH2 TIP3 4444 7.016 9.863 .581 .00 .00 BULK ATOM 14229 H1 TIP3 4444 6.531 10.677 .759 .00 .00 BULK ATOM 14230 H2 TIP3 4444 6.813 9.550 -.279 .00 .00 BULK ATOM 14231 OH2 TIP3 4445 14.249 -10.221 -2.430 .00 .00 BULK ATOM 14232 H1 TIP3 4445 14.390 -10.556 -3.326 .00 .00 BULK ATOM 14233 H2 TIP3 4445 13.805 -11.024 -1.966 .00 .00 BULK ATOM 14234 OH2 TIP3 4446 -24.790 3.835 -21.008 .00 .00 BULK ATOM 14235 H1 TIP3 4446 -25.157 3.092 -20.458 .00 .00 BULK ATOM 14236 H2 TIP3 4446 -24.050 4.034 -20.414 .00 .00 BULK ATOM 14237 OH2 TIP3 4447 26.610 1.937 -16.758 .00 .00 BULK ATOM 14238 H1 TIP3 4447 25.925 2.244 -17.388 .00 .00 BULK ATOM 14239 H2 TIP3 4447 26.480 1.031 -16.923 .00 .00 BULK ATOM 14240 OH2 TIP3 4448 17.221 2.077 5.968 .00 .00 BULK ATOM 14241 H1 TIP3 4448 16.785 2.829 6.432 .00 .00 BULK ATOM 14242 H2 TIP3 4448 17.932 2.527 5.502 .00 .00 BULK ATOM 14243 OH2 TIP3 4449 2.488 5.277 3.300 .00 .00 BULK ATOM 14244 H1 TIP3 4449 1.954 4.576 3.013 .00 .00 BULK ATOM 14245 H2 TIP3 4449 1.990 5.918 2.737 .00 .00 BULK ATOM 14246 OH2 TIP3 4450 .554 -8.109 1.985 .00 .00 BULK ATOM 14247 H1 TIP3 4450 1.236 -8.677 1.628 .00 .00 BULK ATOM 14248 H2 TIP3 4450 .082 -7.873 1.149 .00 .00 BULK ATOM 14249 OH2 TIP3 4451 -8.289 10.084 -7.548 .00 .00 BULK ATOM 14250 H1 TIP3 4451 -7.324 10.041 -7.472 .00 .00 BULK ATOM 14251 H2 TIP3 4451 -8.552 10.889 -6.997 .00 .00 BULK ATOM 14252 OH2 TIP3 4452 15.066 -.427 -9.224 .00 .00 BULK ATOM 14253 H1 TIP3 4452 15.061 .100 -10.019 .00 .00 BULK ATOM 14254 H2 TIP3 4452 14.216 -.840 -9.460 .00 .00 BULK ATOM 14255 OH2 TIP3 4453 -.128 -9.021 4.606 .00 .00 BULK ATOM 14256 H1 TIP3 4453 -.646 -9.809 4.529 .00 .00 BULK ATOM 14257 H2 TIP3 4453 .142 -8.952 3.689 .00 .00 BULK ATOM 14258 OH2 TIP3 4454 11.686 -6.204 -9.037 .00 .00 BULK ATOM 14259 H1 TIP3 4454 11.072 -6.989 -9.169 .00 .00 BULK ATOM 14260 H2 TIP3 4454 12.144 -6.560 -8.260 .00 .00 BULK ATOM 14261 OH2 TIP3 4455 15.213 1.116 -11.544 .00 .00 BULK ATOM 14262 H1 TIP3 4455 15.213 1.917 -10.976 .00 .00 BULK ATOM 14263 H2 TIP3 4455 15.885 1.381 -12.203 .00 .00 BULK ATOM 14264 OH2 TIP3 4456 -19.827 -4.332 2.734 .00 .00 BULK ATOM 14265 H1 TIP3 4456 -20.360 -5.034 3.231 .00 .00 BULK ATOM 14266 H2 TIP3 4456 -19.371 -4.914 2.141 .00 .00 BULK ATOM 14267 OH2 TIP3 4457 -8.577 10.168 .491 .00 .00 BULK ATOM 14268 H1 TIP3 4457 -9.243 10.330 -.205 .00 .00 BULK ATOM 14269 H2 TIP3 4457 -7.845 10.838 .339 .00 .00 BULK ATOM 14270 OH2 TIP3 4458 20.584 1.132 -.530 .00 .00 BULK ATOM 14271 H1 TIP3 4458 20.204 1.857 -1.046 .00 .00 BULK ATOM 14272 H2 TIP3 4458 21.073 1.655 .212 .00 .00 BULK ATOM 14273 OH2 TIP3 4459 -1.237 4.503 2.156 .00 .00 BULK ATOM 14274 H1 TIP3 4459 -1.543 5.395 2.302 .00 .00 BULK ATOM 14275 H2 TIP3 4459 -.259 4.578 2.279 .00 .00 BULK ATOM 14276 OH2 TIP3 4460 4.854 -2.484 .319 .00 .00 BULK ATOM 14277 H1 TIP3 4460 3.950 -2.494 .055 .00 .00 BULK ATOM 14278 H2 TIP3 4460 5.199 -3.406 .231 .00 .00 BULK ATOM 14279 OH2 TIP3 4461 -3.040 -3.374 9.571 .00 .00 BULK ATOM 14280 H1 TIP3 4461 -2.253 -3.741 10.059 .00 .00 BULK ATOM 14281 H2 TIP3 4461 -2.603 -2.858 8.865 .00 .00 BULK END protomol/examples/bpti_water_14281/bpti.psf0100644027616700000500000663433110237151526020221 0ustar pbrenne1dipPSF 4 !NTITLE * PSF FOR BR * RESIDUES 36 102 AND 194 NON PROTONATED * XPLOR FORMAT * DATE: 2/22/99 17:14:36 CREATED BY USER: izaguirr 14281 !NATOM 1 BPTI 1 ARG N NH3 -.300000 14.0070 0 2 BPTI 1 ARG HT1 HC .330000 1.00800 0 3 BPTI 1 ARG HT2 HC .330000 1.00800 0 4 BPTI 1 ARG HT3 HC .330000 1.00800 0 5 BPTI 1 ARG CA CT1 .210000 12.0110 0 6 BPTI 1 ARG HA HB .100000 1.00800 0 7 BPTI 1 ARG CB CT2 -.180000 12.0110 0 8 BPTI 1 ARG HB1 HA .900000E-01 1.00800 0 9 BPTI 1 ARG HB2 HA .900000E-01 1.00800 0 10 BPTI 1 ARG CG CT2 -.180000 12.0110 0 11 BPTI 1 ARG HG1 HA .900000E-01 1.00800 0 12 BPTI 1 ARG HG2 HA .900000E-01 1.00800 0 13 BPTI 1 ARG CD CT2 .200000 12.0110 0 14 BPTI 1 ARG HD1 HA .900000E-01 1.00800 0 15 BPTI 1 ARG HD2 HA .900000E-01 1.00800 0 16 BPTI 1 ARG NE NC2 -.700000 14.0070 0 17 BPTI 1 ARG HE HC .440000 1.00800 0 18 BPTI 1 ARG CZ C .640000 12.0110 0 19 BPTI 1 ARG NH1 NC2 -.800000 14.0070 0 20 BPTI 1 ARG HH11 HC .460000 1.00800 0 21 BPTI 1 ARG HH12 HC .460000 1.00800 0 22 BPTI 1 ARG NH2 NC2 -.800000 14.0070 0 23 BPTI 1 ARG HH21 HC .460000 1.00800 0 24 BPTI 1 ARG HH22 HC .460000 1.00800 0 25 BPTI 1 ARG C C .510000 12.0110 0 26 BPTI 1 ARG O O -.510000 15.9990 0 27 BPTI 2 PRO N N -.290000 14.0070 0 28 BPTI 2 PRO CA CP1 .200000E-01 12.0110 0 29 BPTI 2 PRO HA HB .900000E-01 1.00800 0 30 BPTI 2 PRO CD CP3 .000000E+00 12.0110 0 31 BPTI 2 PRO HD1 HA .900000E-01 1.00800 0 32 BPTI 2 PRO HD2 HA .900000E-01 1.00800 0 33 BPTI 2 PRO CB CP2 -.180000 12.0110 0 34 BPTI 2 PRO HB1 HA .900000E-01 1.00800 0 35 BPTI 2 PRO HB2 HA .900000E-01 1.00800 0 36 BPTI 2 PRO CG CP2 -.180000 12.0110 0 37 BPTI 2 PRO HG1 HA .900000E-01 1.00800 0 38 BPTI 2 PRO HG2 HA .900000E-01 1.00800 0 39 BPTI 2 PRO C C .510000 12.0110 0 40 BPTI 2 PRO O O -.510000 15.9990 0 41 BPTI 3 ASP N NH1 -.470000 14.0070 0 42 BPTI 3 ASP HN H .310000 1.00800 0 43 BPTI 3 ASP CA CT1 .700000E-01 12.0110 0 44 BPTI 3 ASP HA HB .900000E-01 1.00800 0 45 BPTI 3 ASP CB CT2 -.280000 12.0110 0 46 BPTI 3 ASP HB1 HA .900000E-01 1.00800 0 47 BPTI 3 ASP HB2 HA .900000E-01 1.00800 0 48 BPTI 3 ASP CG CC .620000 12.0110 0 49 BPTI 3 ASP OD1 OC -.760000 15.9990 0 50 BPTI 3 ASP OD2 OC -.760000 15.9990 0 51 BPTI 3 ASP C C .510000 12.0110 0 52 BPTI 3 ASP O O -.510000 15.9990 0 53 BPTI 4 PHE N NH1 -.470000 14.0070 0 54 BPTI 4 PHE HN H .310000 1.00800 0 55 BPTI 4 PHE CA CT1 .700000E-01 12.0110 0 56 BPTI 4 PHE HA HB .900000E-01 1.00800 0 57 BPTI 4 PHE CB CT2 -.180000 12.0110 0 58 BPTI 4 PHE HB1 HA .900000E-01 1.00800 0 59 BPTI 4 PHE HB2 HA .900000E-01 1.00800 0 60 BPTI 4 PHE CG CA .000000E+00 12.0110 0 61 BPTI 4 PHE CD1 CA -.115000 12.0110 0 62 BPTI 4 PHE HD1 HP .115000 1.00800 0 63 BPTI 4 PHE CD2 CA -.115000 12.0110 0 64 BPTI 4 PHE HD2 HP .115000 1.00800 0 65 BPTI 4 PHE CE1 CA -.115000 12.0110 0 66 BPTI 4 PHE HE1 HP .115000 1.00800 0 67 BPTI 4 PHE CE2 CA -.115000 12.0110 0 68 BPTI 4 PHE HE2 HP .115000 1.00800 0 69 BPTI 4 PHE CZ CA -.115000 12.0110 0 70 BPTI 4 PHE HZ HP .115000 1.00800 0 71 BPTI 4 PHE C C .510000 12.0110 0 72 BPTI 4 PHE O O -.510000 15.9990 0 73 BPTI 5 CYS N NH1 -.470000 14.0070 0 74 BPTI 5 CYS HN H .310000 1.00800 0 75 BPTI 5 CYS CA CT1 .700000E-01 12.0110 0 76 BPTI 5 CYS HA HB .900000E-01 1.00800 0 77 BPTI 5 CYS CB CT2 -.110000 12.0110 0 78 BPTI 5 CYS HB1 HA .900000E-01 1.00800 0 79 BPTI 5 CYS HB2 HA .900000E-01 1.00800 0 80 BPTI 5 CYS SG S -.230000 32.0600 0 81 BPTI 5 CYS HG1 HS .160000 1.00800 0 82 BPTI 5 CYS C C .510000 12.0110 0 83 BPTI 5 CYS O O -.510000 15.9990 0 84 BPTI 6 LEU N NH1 -.470000 14.0070 0 85 BPTI 6 LEU HN H .310000 1.00800 0 86 BPTI 6 LEU CA CT1 .700000E-01 12.0110 0 87 BPTI 6 LEU HA HB .900000E-01 1.00800 0 88 BPTI 6 LEU CB CT2 -.180000 12.0110 0 89 BPTI 6 LEU HB1 HA .900000E-01 1.00800 0 90 BPTI 6 LEU HB2 HA .900000E-01 1.00800 0 91 BPTI 6 LEU CG CT1 -.900000E-01 12.0110 0 92 BPTI 6 LEU HG HA .900000E-01 1.00800 0 93 BPTI 6 LEU CD1 CT3 -.270000 12.0110 0 94 BPTI 6 LEU HD11 HA .900000E-01 1.00800 0 95 BPTI 6 LEU HD12 HA .900000E-01 1.00800 0 96 BPTI 6 LEU HD13 HA .900000E-01 1.00800 0 97 BPTI 6 LEU CD2 CT3 -.270000 12.0110 0 98 BPTI 6 LEU HD21 HA .900000E-01 1.00800 0 99 BPTI 6 LEU HD22 HA .900000E-01 1.00800 0 100 BPTI 6 LEU HD23 HA .900000E-01 1.00800 0 101 BPTI 6 LEU C C .510000 12.0110 0 102 BPTI 6 LEU O O -.510000 15.9990 0 103 BPTI 7 GLU N NH1 -.470000 14.0070 0 104 BPTI 7 GLU HN H .310000 1.00800 0 105 BPTI 7 GLU CA CT1 .700000E-01 12.0110 0 106 BPTI 7 GLU HA HB .900000E-01 1.00800 0 107 BPTI 7 GLU CB CT2 -.180000 12.0110 0 108 BPTI 7 GLU HB1 HA .900000E-01 1.00800 0 109 BPTI 7 GLU HB2 HA .900000E-01 1.00800 0 110 BPTI 7 GLU CG CT2 -.280000 12.0110 0 111 BPTI 7 GLU HG1 HA .900000E-01 1.00800 0 112 BPTI 7 GLU HG2 HA .900000E-01 1.00800 0 113 BPTI 7 GLU CD CC .620000 12.0110 0 114 BPTI 7 GLU OE1 OC -.760000 15.9990 0 115 BPTI 7 GLU OE2 OC -.760000 15.9990 0 116 BPTI 7 GLU C C .510000 12.0110 0 117 BPTI 7 GLU O O -.510000 15.9990 0 118 BPTI 8 PRO N N -.290000 14.0070 0 119 BPTI 8 PRO CA CP1 .200000E-01 12.0110 0 120 BPTI 8 PRO HA HB .900000E-01 1.00800 0 121 BPTI 8 PRO CD CP3 .000000E+00 12.0110 0 122 BPTI 8 PRO HD1 HA .900000E-01 1.00800 0 123 BPTI 8 PRO HD2 HA .900000E-01 1.00800 0 124 BPTI 8 PRO CB CP2 -.180000 12.0110 0 125 BPTI 8 PRO HB1 HA .900000E-01 1.00800 0 126 BPTI 8 PRO HB2 HA .900000E-01 1.00800 0 127 BPTI 8 PRO CG CP2 -.180000 12.0110 0 128 BPTI 8 PRO HG1 HA .900000E-01 1.00800 0 129 BPTI 8 PRO HG2 HA .900000E-01 1.00800 0 130 BPTI 8 PRO C C .510000 12.0110 0 131 BPTI 8 PRO O O -.510000 15.9990 0 132 BPTI 9 PRO N N -.290000 14.0070 0 133 BPTI 9 PRO CA CP1 .200000E-01 12.0110 0 134 BPTI 9 PRO HA HB .900000E-01 1.00800 0 135 BPTI 9 PRO CD CP3 .000000E+00 12.0110 0 136 BPTI 9 PRO HD1 HA .900000E-01 1.00800 0 137 BPTI 9 PRO HD2 HA .900000E-01 1.00800 0 138 BPTI 9 PRO CB CP2 -.180000 12.0110 0 139 BPTI 9 PRO HB1 HA .900000E-01 1.00800 0 140 BPTI 9 PRO HB2 HA .900000E-01 1.00800 0 141 BPTI 9 PRO CG CP2 -.180000 12.0110 0 142 BPTI 9 PRO HG1 HA .900000E-01 1.00800 0 143 BPTI 9 PRO HG2 HA .900000E-01 1.00800 0 144 BPTI 9 PRO C C .510000 12.0110 0 145 BPTI 9 PRO O O -.510000 15.9990 0 146 BPTI 10 TYR N NH1 -.470000 14.0070 0 147 BPTI 10 TYR HN H .310000 1.00800 0 148 BPTI 10 TYR CA CT1 .700000E-01 12.0110 0 149 BPTI 10 TYR HA HB .900000E-01 1.00800 0 150 BPTI 10 TYR CB CT2 -.180000 12.0110 0 151 BPTI 10 TYR HB1 HA .900000E-01 1.00800 0 152 BPTI 10 TYR HB2 HA .900000E-01 1.00800 0 153 BPTI 10 TYR CG CA .000000E+00 12.0110 0 154 BPTI 10 TYR CD1 CA -.115000 12.0110 0 155 BPTI 10 TYR HD1 HP .115000 1.00800 0 156 BPTI 10 TYR CD2 CA -.115000 12.0110 0 157 BPTI 10 TYR HD2 HP .115000 1.00800 0 158 BPTI 10 TYR CE1 CA -.115000 12.0110 0 159 BPTI 10 TYR HE1 HP .115000 1.00800 0 160 BPTI 10 TYR CE2 CA -.115000 12.0110 0 161 BPTI 10 TYR HE2 HP .115000 1.00800 0 162 BPTI 10 TYR CZ CA .110000 12.0110 0 163 BPTI 10 TYR OH OH1 -.540000 15.9990 0 164 BPTI 10 TYR HH H .430000 1.00800 0 165 BPTI 10 TYR C C .510000 12.0110 0 166 BPTI 10 TYR O O -.510000 15.9990 0 167 BPTI 11 THR N NH1 -.470000 14.0070 0 168 BPTI 11 THR HN H .310000 1.00800 0 169 BPTI 11 THR CA CT1 .700000E-01 12.0110 0 170 BPTI 11 THR HA HB .900000E-01 1.00800 0 171 BPTI 11 THR CB CT1 .140000 12.0110 0 172 BPTI 11 THR HB HA .900000E-01 1.00800 0 173 BPTI 11 THR OG1 OH1 -.660000 15.9990 0 174 BPTI 11 THR HG1 H .430000 1.00800 0 175 BPTI 11 THR CG2 CT3 -.270000 12.0110 0 176 BPTI 11 THR HG21 HA .900000E-01 1.00800 0 177 BPTI 11 THR HG22 HA .900000E-01 1.00800 0 178 BPTI 11 THR HG23 HA .900000E-01 1.00800 0 179 BPTI 11 THR C C .510000 12.0110 0 180 BPTI 11 THR O O -.510000 15.9990 0 181 BPTI 12 GLY N NH1 -.470000 14.0070 0 182 BPTI 12 GLY HN H .310000 1.00800 0 183 BPTI 12 GLY CA CT2 -.200000E-01 12.0110 0 184 BPTI 12 GLY HA1 HB .900000E-01 1.00800 0 185 BPTI 12 GLY HA2 HB .900000E-01 1.00800 0 186 BPTI 12 GLY C C .510000 12.0110 0 187 BPTI 12 GLY O O -.510000 15.9990 0 188 BPTI 13 PRO N N -.290000 14.0070 0 189 BPTI 13 PRO CA CP1 .200000E-01 12.0110 0 190 BPTI 13 PRO HA HB .900000E-01 1.00800 0 191 BPTI 13 PRO CD CP3 .000000E+00 12.0110 0 192 BPTI 13 PRO HD1 HA .900000E-01 1.00800 0 193 BPTI 13 PRO HD2 HA .900000E-01 1.00800 0 194 BPTI 13 PRO CB CP2 -.180000 12.0110 0 195 BPTI 13 PRO HB1 HA .900000E-01 1.00800 0 196 BPTI 13 PRO HB2 HA .900000E-01 1.00800 0 197 BPTI 13 PRO CG CP2 -.180000 12.0110 0 198 BPTI 13 PRO HG1 HA .900000E-01 1.00800 0 199 BPTI 13 PRO HG2 HA .900000E-01 1.00800 0 200 BPTI 13 PRO C C .510000 12.0110 0 201 BPTI 13 PRO O O -.510000 15.9990 0 202 BPTI 14 CYS N NH1 -.470000 14.0070 0 203 BPTI 14 CYS HN H .310000 1.00800 0 204 BPTI 14 CYS CA CT1 .700000E-01 12.0110 0 205 BPTI 14 CYS HA HB .900000E-01 1.00800 0 206 BPTI 14 CYS CB CT2 -.110000 12.0110 0 207 BPTI 14 CYS HB1 HA .900000E-01 1.00800 0 208 BPTI 14 CYS HB2 HA .900000E-01 1.00800 0 209 BPTI 14 CYS SG S -.230000 32.0600 0 210 BPTI 14 CYS HG1 HS .160000 1.00800 0 211 BPTI 14 CYS C C .510000 12.0110 0 212 BPTI 14 CYS O O -.510000 15.9990 0 213 BPTI 15 LYS N NH1 -.470000 14.0070 0 214 BPTI 15 LYS HN H .310000 1.00800 0 215 BPTI 15 LYS CA CT1 .700000E-01 12.0110 0 216 BPTI 15 LYS HA HB .900000E-01 1.00800 0 217 BPTI 15 LYS CB CT2 -.180000 12.0110 0 218 BPTI 15 LYS HB1 HA .900000E-01 1.00800 0 219 BPTI 15 LYS HB2 HA .900000E-01 1.00800 0 220 BPTI 15 LYS CG CT2 -.180000 12.0110 0 221 BPTI 15 LYS HG1 HA .900000E-01 1.00800 0 222 BPTI 15 LYS HG2 HA .900000E-01 1.00800 0 223 BPTI 15 LYS CD CT2 -.180000 12.0110 0 224 BPTI 15 LYS HD1 HA .900000E-01 1.00800 0 225 BPTI 15 LYS HD2 HA .900000E-01 1.00800 0 226 BPTI 15 LYS CE CT2 .210000 12.0110 0 227 BPTI 15 LYS HE1 HA .500000E-01 1.00800 0 228 BPTI 15 LYS HE2 HA .500000E-01 1.00800 0 229 BPTI 15 LYS NZ NH3 -.300000 14.0070 0 230 BPTI 15 LYS HZ1 HC .330000 1.00800 0 231 BPTI 15 LYS HZ2 HC .330000 1.00800 0 232 BPTI 15 LYS HZ3 HC .330000 1.00800 0 233 BPTI 15 LYS C C .510000 12.0110 0 234 BPTI 15 LYS O O -.510000 15.9990 0 235 BPTI 16 ALA N NH1 -.470000 14.0070 0 236 BPTI 16 ALA HN H .310000 1.00800 0 237 BPTI 16 ALA CA CT1 .700000E-01 12.0110 0 238 BPTI 16 ALA HA HB .900000E-01 1.00800 0 239 BPTI 16 ALA CB CT3 -.270000 12.0110 0 240 BPTI 16 ALA HB1 HA .900000E-01 1.00800 0 241 BPTI 16 ALA HB2 HA .900000E-01 1.00800 0 242 BPTI 16 ALA HB3 HA .900000E-01 1.00800 0 243 BPTI 16 ALA C C .510000 12.0110 0 244 BPTI 16 ALA O O -.510000 15.9990 0 245 BPTI 17 ARG N NH1 -.470000 14.0070 0 246 BPTI 17 ARG HN H .310000 1.00800 0 247 BPTI 17 ARG CA CT1 .700000E-01 12.0110 0 248 BPTI 17 ARG HA HB .900000E-01 1.00800 0 249 BPTI 17 ARG CB CT2 -.180000 12.0110 0 250 BPTI 17 ARG HB1 HA .900000E-01 1.00800 0 251 BPTI 17 ARG HB2 HA .900000E-01 1.00800 0 252 BPTI 17 ARG CG CT2 -.180000 12.0110 0 253 BPTI 17 ARG HG1 HA .900000E-01 1.00800 0 254 BPTI 17 ARG HG2 HA .900000E-01 1.00800 0 255 BPTI 17 ARG CD CT2 .200000 12.0110 0 256 BPTI 17 ARG HD1 HA .900000E-01 1.00800 0 257 BPTI 17 ARG HD2 HA .900000E-01 1.00800 0 258 BPTI 17 ARG NE NC2 -.700000 14.0070 0 259 BPTI 17 ARG HE HC .440000 1.00800 0 260 BPTI 17 ARG CZ C .640000 12.0110 0 261 BPTI 17 ARG NH1 NC2 -.800000 14.0070 0 262 BPTI 17 ARG HH11 HC .460000 1.00800 0 263 BPTI 17 ARG HH12 HC .460000 1.00800 0 264 BPTI 17 ARG NH2 NC2 -.800000 14.0070 0 265 BPTI 17 ARG HH21 HC .460000 1.00800 0 266 BPTI 17 ARG HH22 HC .460000 1.00800 0 267 BPTI 17 ARG C C .510000 12.0110 0 268 BPTI 17 ARG O O -.510000 15.9990 0 269 BPTI 18 ILE N NH1 -.470000 14.0070 0 270 BPTI 18 ILE HN H .310000 1.00800 0 271 BPTI 18 ILE CA CT1 .700000E-01 12.0110 0 272 BPTI 18 ILE HA HB .900000E-01 1.00800 0 273 BPTI 18 ILE CB CT1 -.900000E-01 12.0110 0 274 BPTI 18 ILE HB HA .900000E-01 1.00800 0 275 BPTI 18 ILE CG2 CT3 -.270000 12.0110 0 276 BPTI 18 ILE HG21 HA .900000E-01 1.00800 0 277 BPTI 18 ILE HG22 HA .900000E-01 1.00800 0 278 BPTI 18 ILE HG23 HA .900000E-01 1.00800 0 279 BPTI 18 ILE CG1 CT2 -.180000 12.0110 0 280 BPTI 18 ILE HG11 HA .900000E-01 1.00800 0 281 BPTI 18 ILE HG12 HA .900000E-01 1.00800 0 282 BPTI 18 ILE CD CT3 -.270000 12.0110 0 283 BPTI 18 ILE HD1 HA .900000E-01 1.00800 0 284 BPTI 18 ILE HD2 HA .900000E-01 1.00800 0 285 BPTI 18 ILE HD3 HA .900000E-01 1.00800 0 286 BPTI 18 ILE C C .510000 12.0110 0 287 BPTI 18 ILE O O -.510000 15.9990 0 288 BPTI 19 ILE N NH1 -.470000 14.0070 0 289 BPTI 19 ILE HN H .310000 1.00800 0 290 BPTI 19 ILE CA CT1 .700000E-01 12.0110 0 291 BPTI 19 ILE HA HB .900000E-01 1.00800 0 292 BPTI 19 ILE CB CT1 -.900000E-01 12.0110 0 293 BPTI 19 ILE HB HA .900000E-01 1.00800 0 294 BPTI 19 ILE CG2 CT3 -.270000 12.0110 0 295 BPTI 19 ILE HG21 HA .900000E-01 1.00800 0 296 BPTI 19 ILE HG22 HA .900000E-01 1.00800 0 297 BPTI 19 ILE HG23 HA .900000E-01 1.00800 0 298 BPTI 19 ILE CG1 CT2 -.180000 12.0110 0 299 BPTI 19 ILE HG11 HA .900000E-01 1.00800 0 300 BPTI 19 ILE HG12 HA .900000E-01 1.00800 0 301 BPTI 19 ILE CD CT3 -.270000 12.0110 0 302 BPTI 19 ILE HD1 HA .900000E-01 1.00800 0 303 BPTI 19 ILE HD2 HA .900000E-01 1.00800 0 304 BPTI 19 ILE HD3 HA .900000E-01 1.00800 0 305 BPTI 19 ILE C C .510000 12.0110 0 306 BPTI 19 ILE O O -.510000 15.9990 0 307 BPTI 20 ARG N NH1 -.470000 14.0070 0 308 BPTI 20 ARG HN H .310000 1.00800 0 309 BPTI 20 ARG CA CT1 .700000E-01 12.0110 0 310 BPTI 20 ARG HA HB .900000E-01 1.00800 0 311 BPTI 20 ARG CB CT2 -.180000 12.0110 0 312 BPTI 20 ARG HB1 HA .900000E-01 1.00800 0 313 BPTI 20 ARG HB2 HA .900000E-01 1.00800 0 314 BPTI 20 ARG CG CT2 -.180000 12.0110 0 315 BPTI 20 ARG HG1 HA .900000E-01 1.00800 0 316 BPTI 20 ARG HG2 HA .900000E-01 1.00800 0 317 BPTI 20 ARG CD CT2 .200000 12.0110 0 318 BPTI 20 ARG HD1 HA .900000E-01 1.00800 0 319 BPTI 20 ARG HD2 HA .900000E-01 1.00800 0 320 BPTI 20 ARG NE NC2 -.700000 14.0070 0 321 BPTI 20 ARG HE HC .440000 1.00800 0 322 BPTI 20 ARG CZ C .640000 12.0110 0 323 BPTI 20 ARG NH1 NC2 -.800000 14.0070 0 324 BPTI 20 ARG HH11 HC .460000 1.00800 0 325 BPTI 20 ARG HH12 HC .460000 1.00800 0 326 BPTI 20 ARG NH2 NC2 -.800000 14.0070 0 327 BPTI 20 ARG HH21 HC .460000 1.00800 0 328 BPTI 20 ARG HH22 HC .460000 1.00800 0 329 BPTI 20 ARG C C .510000 12.0110 0 330 BPTI 20 ARG O O -.510000 15.9990 0 331 BPTI 21 TYR N NH1 -.470000 14.0070 0 332 BPTI 21 TYR HN H .310000 1.00800 0 333 BPTI 21 TYR CA CT1 .700000E-01 12.0110 0 334 BPTI 21 TYR HA HB .900000E-01 1.00800 0 335 BPTI 21 TYR CB CT2 -.180000 12.0110 0 336 BPTI 21 TYR HB1 HA .900000E-01 1.00800 0 337 BPTI 21 TYR HB2 HA .900000E-01 1.00800 0 338 BPTI 21 TYR CG CA .000000E+00 12.0110 0 339 BPTI 21 TYR CD1 CA -.115000 12.0110 0 340 BPTI 21 TYR HD1 HP .115000 1.00800 0 341 BPTI 21 TYR CD2 CA -.115000 12.0110 0 342 BPTI 21 TYR HD2 HP .115000 1.00800 0 343 BPTI 21 TYR CE1 CA -.115000 12.0110 0 344 BPTI 21 TYR HE1 HP .115000 1.00800 0 345 BPTI 21 TYR CE2 CA -.115000 12.0110 0 346 BPTI 21 TYR HE2 HP .115000 1.00800 0 347 BPTI 21 TYR CZ CA .110000 12.0110 0 348 BPTI 21 TYR OH OH1 -.540000 15.9990 0 349 BPTI 21 TYR HH H .430000 1.00800 0 350 BPTI 21 TYR C C .510000 12.0110 0 351 BPTI 21 TYR O O -.510000 15.9990 0 352 BPTI 22 PHE N NH1 -.470000 14.0070 0 353 BPTI 22 PHE HN H .310000 1.00800 0 354 BPTI 22 PHE CA CT1 .700000E-01 12.0110 0 355 BPTI 22 PHE HA HB .900000E-01 1.00800 0 356 BPTI 22 PHE CB CT2 -.180000 12.0110 0 357 BPTI 22 PHE HB1 HA .900000E-01 1.00800 0 358 BPTI 22 PHE HB2 HA .900000E-01 1.00800 0 359 BPTI 22 PHE CG CA .000000E+00 12.0110 0 360 BPTI 22 PHE CD1 CA -.115000 12.0110 0 361 BPTI 22 PHE HD1 HP .115000 1.00800 0 362 BPTI 22 PHE CD2 CA -.115000 12.0110 0 363 BPTI 22 PHE HD2 HP .115000 1.00800 0 364 BPTI 22 PHE CE1 CA -.115000 12.0110 0 365 BPTI 22 PHE HE1 HP .115000 1.00800 0 366 BPTI 22 PHE CE2 CA -.115000 12.0110 0 367 BPTI 22 PHE HE2 HP .115000 1.00800 0 368 BPTI 22 PHE CZ CA -.115000 12.0110 0 369 BPTI 22 PHE HZ HP .115000 1.00800 0 370 BPTI 22 PHE C C .510000 12.0110 0 371 BPTI 22 PHE O O -.510000 15.9990 0 372 BPTI 23 TYR N NH1 -.470000 14.0070 0 373 BPTI 23 TYR HN H .310000 1.00800 0 374 BPTI 23 TYR CA CT1 .700000E-01 12.0110 0 375 BPTI 23 TYR HA HB .900000E-01 1.00800 0 376 BPTI 23 TYR CB CT2 -.180000 12.0110 0 377 BPTI 23 TYR HB1 HA .900000E-01 1.00800 0 378 BPTI 23 TYR HB2 HA .900000E-01 1.00800 0 379 BPTI 23 TYR CG CA .000000E+00 12.0110 0 380 BPTI 23 TYR CD1 CA -.115000 12.0110 0 381 BPTI 23 TYR HD1 HP .115000 1.00800 0 382 BPTI 23 TYR CD2 CA -.115000 12.0110 0 383 BPTI 23 TYR HD2 HP .115000 1.00800 0 384 BPTI 23 TYR CE1 CA -.115000 12.0110 0 385 BPTI 23 TYR HE1 HP .115000 1.00800 0 386 BPTI 23 TYR CE2 CA -.115000 12.0110 0 387 BPTI 23 TYR HE2 HP .115000 1.00800 0 388 BPTI 23 TYR CZ CA .110000 12.0110 0 389 BPTI 23 TYR OH OH1 -.540000 15.9990 0 390 BPTI 23 TYR HH H .430000 1.00800 0 391 BPTI 23 TYR C C .510000 12.0110 0 392 BPTI 23 TYR O O -.510000 15.9990 0 393 BPTI 24 ASN N NH1 -.470000 14.0070 0 394 BPTI 24 ASN HN H .310000 1.00800 0 395 BPTI 24 ASN CA CT1 .700000E-01 12.0110 0 396 BPTI 24 ASN HA HB .900000E-01 1.00800 0 397 BPTI 24 ASN CB CT2 -.180000 12.0110 0 398 BPTI 24 ASN HB1 HA .900000E-01 1.00800 0 399 BPTI 24 ASN HB2 HA .900000E-01 1.00800 0 400 BPTI 24 ASN CG CC .550000 12.0110 0 401 BPTI 24 ASN OD1 O -.550000 15.9990 0 402 BPTI 24 ASN ND2 NH2 -.620000 14.0070 0 403 BPTI 24 ASN HD21 H .320000 1.00800 0 404 BPTI 24 ASN HD22 H .300000 1.00800 0 405 BPTI 24 ASN C C .510000 12.0110 0 406 BPTI 24 ASN O O -.510000 15.9990 0 407 BPTI 25 ALA N NH1 -.470000 14.0070 0 408 BPTI 25 ALA HN H .310000 1.00800 0 409 BPTI 25 ALA CA CT1 .700000E-01 12.0110 0 410 BPTI 25 ALA HA HB .900000E-01 1.00800 0 411 BPTI 25 ALA CB CT3 -.270000 12.0110 0 412 BPTI 25 ALA HB1 HA .900000E-01 1.00800 0 413 BPTI 25 ALA HB2 HA .900000E-01 1.00800 0 414 BPTI 25 ALA HB3 HA .900000E-01 1.00800 0 415 BPTI 25 ALA C C .510000 12.0110 0 416 BPTI 25 ALA O O -.510000 15.9990 0 417 BPTI 26 LYS N NH1 -.470000 14.0070 0 418 BPTI 26 LYS HN H .310000 1.00800 0 419 BPTI 26 LYS CA CT1 .700000E-01 12.0110 0 420 BPTI 26 LYS HA HB .900000E-01 1.00800 0 421 BPTI 26 LYS CB CT2 -.180000 12.0110 0 422 BPTI 26 LYS HB1 HA .900000E-01 1.00800 0 423 BPTI 26 LYS HB2 HA .900000E-01 1.00800 0 424 BPTI 26 LYS CG CT2 -.180000 12.0110 0 425 BPTI 26 LYS HG1 HA .900000E-01 1.00800 0 426 BPTI 26 LYS HG2 HA .900000E-01 1.00800 0 427 BPTI 26 LYS CD CT2 -.180000 12.0110 0 428 BPTI 26 LYS HD1 HA .900000E-01 1.00800 0 429 BPTI 26 LYS HD2 HA .900000E-01 1.00800 0 430 BPTI 26 LYS CE CT2 .210000 12.0110 0 431 BPTI 26 LYS HE1 HA .500000E-01 1.00800 0 432 BPTI 26 LYS HE2 HA .500000E-01 1.00800 0 433 BPTI 26 LYS NZ NH3 -.300000 14.0070 0 434 BPTI 26 LYS HZ1 HC .330000 1.00800 0 435 BPTI 26 LYS HZ2 HC .330000 1.00800 0 436 BPTI 26 LYS HZ3 HC .330000 1.00800 0 437 BPTI 26 LYS C C .510000 12.0110 0 438 BPTI 26 LYS O O -.510000 15.9990 0 439 BPTI 27 ALA N NH1 -.470000 14.0070 0 440 BPTI 27 ALA HN H .310000 1.00800 0 441 BPTI 27 ALA CA CT1 .700000E-01 12.0110 0 442 BPTI 27 ALA HA HB .900000E-01 1.00800 0 443 BPTI 27 ALA CB CT3 -.270000 12.0110 0 444 BPTI 27 ALA HB1 HA .900000E-01 1.00800 0 445 BPTI 27 ALA HB2 HA .900000E-01 1.00800 0 446 BPTI 27 ALA HB3 HA .900000E-01 1.00800 0 447 BPTI 27 ALA C C .510000 12.0110 0 448 BPTI 27 ALA O O -.510000 15.9990 0 449 BPTI 28 GLY N NH1 -.470000 14.0070 0 450 BPTI 28 GLY HN H .310000 1.00800 0 451 BPTI 28 GLY CA CT2 -.200000E-01 12.0110 0 452 BPTI 28 GLY HA1 HB .900000E-01 1.00800 0 453 BPTI 28 GLY HA2 HB .900000E-01 1.00800 0 454 BPTI 28 GLY C C .510000 12.0110 0 455 BPTI 28 GLY O O -.510000 15.9990 0 456 BPTI 29 LEU N NH1 -.470000 14.0070 0 457 BPTI 29 LEU HN H .310000 1.00800 0 458 BPTI 29 LEU CA CT1 .700000E-01 12.0110 0 459 BPTI 29 LEU HA HB .900000E-01 1.00800 0 460 BPTI 29 LEU CB CT2 -.180000 12.0110 0 461 BPTI 29 LEU HB1 HA .900000E-01 1.00800 0 462 BPTI 29 LEU HB2 HA .900000E-01 1.00800 0 463 BPTI 29 LEU CG CT1 -.900000E-01 12.0110 0 464 BPTI 29 LEU HG HA .900000E-01 1.00800 0 465 BPTI 29 LEU CD1 CT3 -.270000 12.0110 0 466 BPTI 29 LEU HD11 HA .900000E-01 1.00800 0 467 BPTI 29 LEU HD12 HA .900000E-01 1.00800 0 468 BPTI 29 LEU HD13 HA .900000E-01 1.00800 0 469 BPTI 29 LEU CD2 CT3 -.270000 12.0110 0 470 BPTI 29 LEU HD21 HA .900000E-01 1.00800 0 471 BPTI 29 LEU HD22 HA .900000E-01 1.00800 0 472 BPTI 29 LEU HD23 HA .900000E-01 1.00800 0 473 BPTI 29 LEU C C .510000 12.0110 0 474 BPTI 29 LEU O O -.510000 15.9990 0 475 BPTI 30 CYS N NH1 -.470000 14.0070 0 476 BPTI 30 CYS HN H .310000 1.00800 0 477 BPTI 30 CYS CA CT1 .700000E-01 12.0110 0 478 BPTI 30 CYS HA HB .900000E-01 1.00800 0 479 BPTI 30 CYS CB CT2 -.110000 12.0110 0 480 BPTI 30 CYS HB1 HA .900000E-01 1.00800 0 481 BPTI 30 CYS HB2 HA .900000E-01 1.00800 0 482 BPTI 30 CYS SG S -.230000 32.0600 0 483 BPTI 30 CYS HG1 HS .160000 1.00800 0 484 BPTI 30 CYS C C .510000 12.0110 0 485 BPTI 30 CYS O O -.510000 15.9990 0 486 BPTI 31 GLN N NH1 -.470000 14.0070 0 487 BPTI 31 GLN HN H .310000 1.00800 0 488 BPTI 31 GLN CA CT1 .700000E-01 12.0110 0 489 BPTI 31 GLN HA HB .900000E-01 1.00800 0 490 BPTI 31 GLN CB CT2 -.180000 12.0110 0 491 BPTI 31 GLN HB1 HA .900000E-01 1.00800 0 492 BPTI 31 GLN HB2 HA .900000E-01 1.00800 0 493 BPTI 31 GLN CG CT2 -.180000 12.0110 0 494 BPTI 31 GLN HG1 HA .900000E-01 1.00800 0 495 BPTI 31 GLN HG2 HA .900000E-01 1.00800 0 496 BPTI 31 GLN CD CC .550000 12.0110 0 497 BPTI 31 GLN OE1 O -.550000 15.9990 0 498 BPTI 31 GLN NE2 NH2 -.620000 14.0070 0 499 BPTI 31 GLN HE21 H .320000 1.00800 0 500 BPTI 31 GLN HE22 H .300000 1.00800 0 501 BPTI 31 GLN C C .510000 12.0110 0 502 BPTI 31 GLN O O -.510000 15.9990 0 503 BPTI 32 THR N NH1 -.470000 14.0070 0 504 BPTI 32 THR HN H .310000 1.00800 0 505 BPTI 32 THR CA CT1 .700000E-01 12.0110 0 506 BPTI 32 THR HA HB .900000E-01 1.00800 0 507 BPTI 32 THR CB CT1 .140000 12.0110 0 508 BPTI 32 THR HB HA .900000E-01 1.00800 0 509 BPTI 32 THR OG1 OH1 -.660000 15.9990 0 510 BPTI 32 THR HG1 H .430000 1.00800 0 511 BPTI 32 THR CG2 CT3 -.270000 12.0110 0 512 BPTI 32 THR HG21 HA .900000E-01 1.00800 0 513 BPTI 32 THR HG22 HA .900000E-01 1.00800 0 514 BPTI 32 THR HG23 HA .900000E-01 1.00800 0 515 BPTI 32 THR C C .510000 12.0110 0 516 BPTI 32 THR O O -.510000 15.9990 0 517 BPTI 33 PHE N NH1 -.470000 14.0070 0 518 BPTI 33 PHE HN H .310000 1.00800 0 519 BPTI 33 PHE CA CT1 .700000E-01 12.0110 0 520 BPTI 33 PHE HA HB .900000E-01 1.00800 0 521 BPTI 33 PHE CB CT2 -.180000 12.0110 0 522 BPTI 33 PHE HB1 HA .900000E-01 1.00800 0 523 BPTI 33 PHE HB2 HA .900000E-01 1.00800 0 524 BPTI 33 PHE CG CA .000000E+00 12.0110 0 525 BPTI 33 PHE CD1 CA -.115000 12.0110 0 526 BPTI 33 PHE HD1 HP .115000 1.00800 0 527 BPTI 33 PHE CD2 CA -.115000 12.0110 0 528 BPTI 33 PHE HD2 HP .115000 1.00800 0 529 BPTI 33 PHE CE1 CA -.115000 12.0110 0 530 BPTI 33 PHE HE1 HP .115000 1.00800 0 531 BPTI 33 PHE CE2 CA -.115000 12.0110 0 532 BPTI 33 PHE HE2 HP .115000 1.00800 0 533 BPTI 33 PHE CZ CA -.115000 12.0110 0 534 BPTI 33 PHE HZ HP .115000 1.00800 0 535 BPTI 33 PHE C C .510000 12.0110 0 536 BPTI 33 PHE O O -.510000 15.9990 0 537 BPTI 34 VAL N NH1 -.470000 14.0070 0 538 BPTI 34 VAL HN H .310000 1.00800 0 539 BPTI 34 VAL CA CT1 .700000E-01 12.0110 0 540 BPTI 34 VAL HA HB .900000E-01 1.00800 0 541 BPTI 34 VAL CB CT1 -.900000E-01 12.0110 0 542 BPTI 34 VAL HB HA .900000E-01 1.00800 0 543 BPTI 34 VAL CG1 CT3 -.270000 12.0110 0 544 BPTI 34 VAL HG11 HA .900000E-01 1.00800 0 545 BPTI 34 VAL HG12 HA .900000E-01 1.00800 0 546 BPTI 34 VAL HG13 HA .900000E-01 1.00800 0 547 BPTI 34 VAL CG2 CT3 -.270000 12.0110 0 548 BPTI 34 VAL HG21 HA .900000E-01 1.00800 0 549 BPTI 34 VAL HG22 HA .900000E-01 1.00800 0 550 BPTI 34 VAL HG23 HA .900000E-01 1.00800 0 551 BPTI 34 VAL C C .510000 12.0110 0 552 BPTI 34 VAL O O -.510000 15.9990 0 553 BPTI 35 TYR N NH1 -.470000 14.0070 0 554 BPTI 35 TYR HN H .310000 1.00800 0 555 BPTI 35 TYR CA CT1 .700000E-01 12.0110 0 556 BPTI 35 TYR HA HB .900000E-01 1.00800 0 557 BPTI 35 TYR CB CT2 -.180000 12.0110 0 558 BPTI 35 TYR HB1 HA .900000E-01 1.00800 0 559 BPTI 35 TYR HB2 HA .900000E-01 1.00800 0 560 BPTI 35 TYR CG CA .000000E+00 12.0110 0 561 BPTI 35 TYR CD1 CA -.115000 12.0110 0 562 BPTI 35 TYR HD1 HP .115000 1.00800 0 563 BPTI 35 TYR CD2 CA -.115000 12.0110 0 564 BPTI 35 TYR HD2 HP .115000 1.00800 0 565 BPTI 35 TYR CE1 CA -.115000 12.0110 0 566 BPTI 35 TYR HE1 HP .115000 1.00800 0 567 BPTI 35 TYR CE2 CA -.115000 12.0110 0 568 BPTI 35 TYR HE2 HP .115000 1.00800 0 569 BPTI 35 TYR CZ CA .110000 12.0110 0 570 BPTI 35 TYR OH OH1 -.540000 15.9990 0 571 BPTI 35 TYR HH H .430000 1.00800 0 572 BPTI 35 TYR C C .510000 12.0110 0 573 BPTI 35 TYR O O -.510000 15.9990 0 574 BPTI 36 GLY N NH1 -.470000 14.0070 0 575 BPTI 36 GLY HN H .310000 1.00800 0 576 BPTI 36 GLY CA CT2 -.200000E-01 12.0110 0 577 BPTI 36 GLY HA1 HB .900000E-01 1.00800 0 578 BPTI 36 GLY HA2 HB .900000E-01 1.00800 0 579 BPTI 36 GLY C C .510000 12.0110 0 580 BPTI 36 GLY O O -.510000 15.9990 0 581 BPTI 37 GLY N NH1 -.470000 14.0070 0 582 BPTI 37 GLY HN H .310000 1.00800 0 583 BPTI 37 GLY CA CT2 -.200000E-01 12.0110 0 584 BPTI 37 GLY HA1 HB .900000E-01 1.00800 0 585 BPTI 37 GLY HA2 HB .900000E-01 1.00800 0 586 BPTI 37 GLY C C .510000 12.0110 0 587 BPTI 37 GLY O O -.510000 15.9990 0 588 BPTI 38 CYS N NH1 -.470000 14.0070 0 589 BPTI 38 CYS HN H .310000 1.00800 0 590 BPTI 38 CYS CA CT1 .700000E-01 12.0110 0 591 BPTI 38 CYS HA HB .900000E-01 1.00800 0 592 BPTI 38 CYS CB CT2 -.110000 12.0110 0 593 BPTI 38 CYS HB1 HA .900000E-01 1.00800 0 594 BPTI 38 CYS HB2 HA .900000E-01 1.00800 0 595 BPTI 38 CYS SG S -.230000 32.0600 0 596 BPTI 38 CYS HG1 HS .160000 1.00800 0 597 BPTI 38 CYS C C .510000 12.0110 0 598 BPTI 38 CYS O O -.510000 15.9990 0 599 BPTI 39 ARG N NH1 -.470000 14.0070 0 600 BPTI 39 ARG HN H .310000 1.00800 0 601 BPTI 39 ARG CA CT1 .700000E-01 12.0110 0 602 BPTI 39 ARG HA HB .900000E-01 1.00800 0 603 BPTI 39 ARG CB CT2 -.180000 12.0110 0 604 BPTI 39 ARG HB1 HA .900000E-01 1.00800 0 605 BPTI 39 ARG HB2 HA .900000E-01 1.00800 0 606 BPTI 39 ARG CG CT2 -.180000 12.0110 0 607 BPTI 39 ARG HG1 HA .900000E-01 1.00800 0 608 BPTI 39 ARG HG2 HA .900000E-01 1.00800 0 609 BPTI 39 ARG CD CT2 .200000 12.0110 0 610 BPTI 39 ARG HD1 HA .900000E-01 1.00800 0 611 BPTI 39 ARG HD2 HA .900000E-01 1.00800 0 612 BPTI 39 ARG NE NC2 -.700000 14.0070 0 613 BPTI 39 ARG HE HC .440000 1.00800 0 614 BPTI 39 ARG CZ C .640000 12.0110 0 615 BPTI 39 ARG NH1 NC2 -.800000 14.0070 0 616 BPTI 39 ARG HH11 HC .460000 1.00800 0 617 BPTI 39 ARG HH12 HC .460000 1.00800 0 618 BPTI 39 ARG NH2 NC2 -.800000 14.0070 0 619 BPTI 39 ARG HH21 HC .460000 1.00800 0 620 BPTI 39 ARG HH22 HC .460000 1.00800 0 621 BPTI 39 ARG C C .510000 12.0110 0 622 BPTI 39 ARG O O -.510000 15.9990 0 623 BPTI 40 ALA N NH1 -.470000 14.0070 0 624 BPTI 40 ALA HN H .310000 1.00800 0 625 BPTI 40 ALA CA CT1 .700000E-01 12.0110 0 626 BPTI 40 ALA HA HB .900000E-01 1.00800 0 627 BPTI 40 ALA CB CT3 -.270000 12.0110 0 628 BPTI 40 ALA HB1 HA .900000E-01 1.00800 0 629 BPTI 40 ALA HB2 HA .900000E-01 1.00800 0 630 BPTI 40 ALA HB3 HA .900000E-01 1.00800 0 631 BPTI 40 ALA C C .510000 12.0110 0 632 BPTI 40 ALA O O -.510000 15.9990 0 633 BPTI 41 LYS N NH1 -.470000 14.0070 0 634 BPTI 41 LYS HN H .310000 1.00800 0 635 BPTI 41 LYS CA CT1 .700000E-01 12.0110 0 636 BPTI 41 LYS HA HB .900000E-01 1.00800 0 637 BPTI 41 LYS CB CT2 -.180000 12.0110 0 638 BPTI 41 LYS HB1 HA .900000E-01 1.00800 0 639 BPTI 41 LYS HB2 HA .900000E-01 1.00800 0 640 BPTI 41 LYS CG CT2 -.180000 12.0110 0 641 BPTI 41 LYS HG1 HA .900000E-01 1.00800 0 642 BPTI 41 LYS HG2 HA .900000E-01 1.00800 0 643 BPTI 41 LYS CD CT2 -.180000 12.0110 0 644 BPTI 41 LYS HD1 HA .900000E-01 1.00800 0 645 BPTI 41 LYS HD2 HA .900000E-01 1.00800 0 646 BPTI 41 LYS CE CT2 .210000 12.0110 0 647 BPTI 41 LYS HE1 HA .500000E-01 1.00800 0 648 BPTI 41 LYS HE2 HA .500000E-01 1.00800 0 649 BPTI 41 LYS NZ NH3 -.300000 14.0070 0 650 BPTI 41 LYS HZ1 HC .330000 1.00800 0 651 BPTI 41 LYS HZ2 HC .330000 1.00800 0 652 BPTI 41 LYS HZ3 HC .330000 1.00800 0 653 BPTI 41 LYS C C .510000 12.0110 0 654 BPTI 41 LYS O O -.510000 15.9990 0 655 BPTI 42 ARG N NH1 -.470000 14.0070 0 656 BPTI 42 ARG HN H .310000 1.00800 0 657 BPTI 42 ARG CA CT1 .700000E-01 12.0110 0 658 BPTI 42 ARG HA HB .900000E-01 1.00800 0 659 BPTI 42 ARG CB CT2 -.180000 12.0110 0 660 BPTI 42 ARG HB1 HA .900000E-01 1.00800 0 661 BPTI 42 ARG HB2 HA .900000E-01 1.00800 0 662 BPTI 42 ARG CG CT2 -.180000 12.0110 0 663 BPTI 42 ARG HG1 HA .900000E-01 1.00800 0 664 BPTI 42 ARG HG2 HA .900000E-01 1.00800 0 665 BPTI 42 ARG CD CT2 .200000 12.0110 0 666 BPTI 42 ARG HD1 HA .900000E-01 1.00800 0 667 BPTI 42 ARG HD2 HA .900000E-01 1.00800 0 668 BPTI 42 ARG NE NC2 -.700000 14.0070 0 669 BPTI 42 ARG HE HC .440000 1.00800 0 670 BPTI 42 ARG CZ C .640000 12.0110 0 671 BPTI 42 ARG NH1 NC2 -.800000 14.0070 0 672 BPTI 42 ARG HH11 HC .460000 1.00800 0 673 BPTI 42 ARG HH12 HC .460000 1.00800 0 674 BPTI 42 ARG NH2 NC2 -.800000 14.0070 0 675 BPTI 42 ARG HH21 HC .460000 1.00800 0 676 BPTI 42 ARG HH22 HC .460000 1.00800 0 677 BPTI 42 ARG C C .510000 12.0110 0 678 BPTI 42 ARG O O -.510000 15.9990 0 679 BPTI 43 ASN N NH1 -.470000 14.0070 0 680 BPTI 43 ASN HN H .310000 1.00800 0 681 BPTI 43 ASN CA CT1 .700000E-01 12.0110 0 682 BPTI 43 ASN HA HB .900000E-01 1.00800 0 683 BPTI 43 ASN CB CT2 -.180000 12.0110 0 684 BPTI 43 ASN HB1 HA .900000E-01 1.00800 0 685 BPTI 43 ASN HB2 HA .900000E-01 1.00800 0 686 BPTI 43 ASN CG CC .550000 12.0110 0 687 BPTI 43 ASN OD1 O -.550000 15.9990 0 688 BPTI 43 ASN ND2 NH2 -.620000 14.0070 0 689 BPTI 43 ASN HD21 H .320000 1.00800 0 690 BPTI 43 ASN HD22 H .300000 1.00800 0 691 BPTI 43 ASN C C .510000 12.0110 0 692 BPTI 43 ASN O O -.510000 15.9990 0 693 BPTI 44 ASN N NH1 -.470000 14.0070 0 694 BPTI 44 ASN HN H .310000 1.00800 0 695 BPTI 44 ASN CA CT1 .700000E-01 12.0110 0 696 BPTI 44 ASN HA HB .900000E-01 1.00800 0 697 BPTI 44 ASN CB CT2 -.180000 12.0110 0 698 BPTI 44 ASN HB1 HA .900000E-01 1.00800 0 699 BPTI 44 ASN HB2 HA .900000E-01 1.00800 0 700 BPTI 44 ASN CG CC .550000 12.0110 0 701 BPTI 44 ASN OD1 O -.550000 15.9990 0 702 BPTI 44 ASN ND2 NH2 -.620000 14.0070 0 703 BPTI 44 ASN HD21 H .320000 1.00800 0 704 BPTI 44 ASN HD22 H .300000 1.00800 0 705 BPTI 44 ASN C C .510000 12.0110 0 706 BPTI 44 ASN O O -.510000 15.9990 0 707 BPTI 45 PHE N NH1 -.470000 14.0070 0 708 BPTI 45 PHE HN H .310000 1.00800 0 709 BPTI 45 PHE CA CT1 .700000E-01 12.0110 0 710 BPTI 45 PHE HA HB .900000E-01 1.00800 0 711 BPTI 45 PHE CB CT2 -.180000 12.0110 0 712 BPTI 45 PHE HB1 HA .900000E-01 1.00800 0 713 BPTI 45 PHE HB2 HA .900000E-01 1.00800 0 714 BPTI 45 PHE CG CA .000000E+00 12.0110 0 715 BPTI 45 PHE CD1 CA -.115000 12.0110 0 716 BPTI 45 PHE HD1 HP .115000 1.00800 0 717 BPTI 45 PHE CD2 CA -.115000 12.0110 0 718 BPTI 45 PHE HD2 HP .115000 1.00800 0 719 BPTI 45 PHE CE1 CA -.115000 12.0110 0 720 BPTI 45 PHE HE1 HP .115000 1.00800 0 721 BPTI 45 PHE CE2 CA -.115000 12.0110 0 722 BPTI 45 PHE HE2 HP .115000 1.00800 0 723 BPTI 45 PHE CZ CA -.115000 12.0110 0 724 BPTI 45 PHE HZ HP .115000 1.00800 0 725 BPTI 45 PHE C C .510000 12.0110 0 726 BPTI 45 PHE O O -.510000 15.9990 0 727 BPTI 46 LYS N NH1 -.470000 14.0070 0 728 BPTI 46 LYS HN H .310000 1.00800 0 729 BPTI 46 LYS CA CT1 .700000E-01 12.0110 0 730 BPTI 46 LYS HA HB .900000E-01 1.00800 0 731 BPTI 46 LYS CB CT2 -.180000 12.0110 0 732 BPTI 46 LYS HB1 HA .900000E-01 1.00800 0 733 BPTI 46 LYS HB2 HA .900000E-01 1.00800 0 734 BPTI 46 LYS CG CT2 -.180000 12.0110 0 735 BPTI 46 LYS HG1 HA .900000E-01 1.00800 0 736 BPTI 46 LYS HG2 HA .900000E-01 1.00800 0 737 BPTI 46 LYS CD CT2 -.180000 12.0110 0 738 BPTI 46 LYS HD1 HA .900000E-01 1.00800 0 739 BPTI 46 LYS HD2 HA .900000E-01 1.00800 0 740 BPTI 46 LYS CE CT2 .210000 12.0110 0 741 BPTI 46 LYS HE1 HA .500000E-01 1.00800 0 742 BPTI 46 LYS HE2 HA .500000E-01 1.00800 0 743 BPTI 46 LYS NZ NH3 -.300000 14.0070 0 744 BPTI 46 LYS HZ1 HC .330000 1.00800 0 745 BPTI 46 LYS HZ2 HC .330000 1.00800 0 746 BPTI 46 LYS HZ3 HC .330000 1.00800 0 747 BPTI 46 LYS C C .510000 12.0110 0 748 BPTI 46 LYS O O -.510000 15.9990 0 749 BPTI 47 SER N NH1 -.470000 14.0070 0 750 BPTI 47 SER HN H .310000 1.00800 0 751 BPTI 47 SER CA CT1 .700000E-01 12.0110 0 752 BPTI 47 SER HA HB .900000E-01 1.00800 0 753 BPTI 47 SER CB CT2 .500000E-01 12.0110 0 754 BPTI 47 SER HB1 HA .900000E-01 1.00800 0 755 BPTI 47 SER HB2 HA .900000E-01 1.00800 0 756 BPTI 47 SER OG OH1 -.660000 15.9990 0 757 BPTI 47 SER HG1 H .430000 1.00800 0 758 BPTI 47 SER C C .510000 12.0110 0 759 BPTI 47 SER O O -.510000 15.9990 0 760 BPTI 48 ALA N NH1 -.470000 14.0070 0 761 BPTI 48 ALA HN H .310000 1.00800 0 762 BPTI 48 ALA CA CT1 .700000E-01 12.0110 0 763 BPTI 48 ALA HA HB .900000E-01 1.00800 0 764 BPTI 48 ALA CB CT3 -.270000 12.0110 0 765 BPTI 48 ALA HB1 HA .900000E-01 1.00800 0 766 BPTI 48 ALA HB2 HA .900000E-01 1.00800 0 767 BPTI 48 ALA HB3 HA .900000E-01 1.00800 0 768 BPTI 48 ALA C C .510000 12.0110 0 769 BPTI 48 ALA O O -.510000 15.9990 0 770 BPTI 49 GLU N NH1 -.470000 14.0070 0 771 BPTI 49 GLU HN H .310000 1.00800 0 772 BPTI 49 GLU CA CT1 .700000E-01 12.0110 0 773 BPTI 49 GLU HA HB .900000E-01 1.00800 0 774 BPTI 49 GLU CB CT2 -.180000 12.0110 0 775 BPTI 49 GLU HB1 HA .900000E-01 1.00800 0 776 BPTI 49 GLU HB2 HA .900000E-01 1.00800 0 777 BPTI 49 GLU CG CT2 -.280000 12.0110 0 778 BPTI 49 GLU HG1 HA .900000E-01 1.00800 0 779 BPTI 49 GLU HG2 HA .900000E-01 1.00800 0 780 BPTI 49 GLU CD CC .620000 12.0110 0 781 BPTI 49 GLU OE1 OC -.760000 15.9990 0 782 BPTI 49 GLU OE2 OC -.760000 15.9990 0 783 BPTI 49 GLU C C .510000 12.0110 0 784 BPTI 49 GLU O O -.510000 15.9990 0 785 BPTI 50 ASP N NH1 -.470000 14.0070 0 786 BPTI 50 ASP HN H .310000 1.00800 0 787 BPTI 50 ASP CA CT1 .700000E-01 12.0110 0 788 BPTI 50 ASP HA HB .900000E-01 1.00800 0 789 BPTI 50 ASP CB CT2 -.280000 12.0110 0 790 BPTI 50 ASP HB1 HA .900000E-01 1.00800 0 791 BPTI 50 ASP HB2 HA .900000E-01 1.00800 0 792 BPTI 50 ASP CG CC .620000 12.0110 0 793 BPTI 50 ASP OD1 OC -.760000 15.9990 0 794 BPTI 50 ASP OD2 OC -.760000 15.9990 0 795 BPTI 50 ASP C C .510000 12.0110 0 796 BPTI 50 ASP O O -.510000 15.9990 0 797 BPTI 51 CYS N NH1 -.470000 14.0070 0 798 BPTI 51 CYS HN H .310000 1.00800 0 799 BPTI 51 CYS CA CT1 .700000E-01 12.0110 0 800 BPTI 51 CYS HA HB .900000E-01 1.00800 0 801 BPTI 51 CYS CB CT2 -.110000 12.0110 0 802 BPTI 51 CYS HB1 HA .900000E-01 1.00800 0 803 BPTI 51 CYS HB2 HA .900000E-01 1.00800 0 804 BPTI 51 CYS SG S -.230000 32.0600 0 805 BPTI 51 CYS HG1 HS .160000 1.00800 0 806 BPTI 51 CYS C C .510000 12.0110 0 807 BPTI 51 CYS O O -.510000 15.9990 0 808 BPTI 52 MET N NH1 -.470000 14.0070 0 809 BPTI 52 MET HN H .310000 1.00800 0 810 BPTI 52 MET CA CT1 .700000E-01 12.0110 0 811 BPTI 52 MET HA HB .900000E-01 1.00800 0 812 BPTI 52 MET CB CT2 -.180000 12.0110 0 813 BPTI 52 MET HB1 HA .900000E-01 1.00800 0 814 BPTI 52 MET HB2 HA .900000E-01 1.00800 0 815 BPTI 52 MET CG CT2 -.140000 12.0110 0 816 BPTI 52 MET HG1 HA .900000E-01 1.00800 0 817 BPTI 52 MET HG2 HA .900000E-01 1.00800 0 818 BPTI 52 MET SD S -.900000E-01 32.0600 0 819 BPTI 52 MET CE CT3 -.220000 12.0110 0 820 BPTI 52 MET HE1 HA .900000E-01 1.00800 0 821 BPTI 52 MET HE2 HA .900000E-01 1.00800 0 822 BPTI 52 MET HE3 HA .900000E-01 1.00800 0 823 BPTI 52 MET C C .510000 12.0110 0 824 BPTI 52 MET O O -.510000 15.9990 0 825 BPTI 53 ARG N NH1 -.470000 14.0070 0 826 BPTI 53 ARG HN H .310000 1.00800 0 827 BPTI 53 ARG CA CT1 .700000E-01 12.0110 0 828 BPTI 53 ARG HA HB .900000E-01 1.00800 0 829 BPTI 53 ARG CB CT2 -.180000 12.0110 0 830 BPTI 53 ARG HB1 HA .900000E-01 1.00800 0 831 BPTI 53 ARG HB2 HA .900000E-01 1.00800 0 832 BPTI 53 ARG CG CT2 -.180000 12.0110 0 833 BPTI 53 ARG HG1 HA .900000E-01 1.00800 0 834 BPTI 53 ARG HG2 HA .900000E-01 1.00800 0 835 BPTI 53 ARG CD CT2 .200000 12.0110 0 836 BPTI 53 ARG HD1 HA .900000E-01 1.00800 0 837 BPTI 53 ARG HD2 HA .900000E-01 1.00800 0 838 BPTI 53 ARG NE NC2 -.700000 14.0070 0 839 BPTI 53 ARG HE HC .440000 1.00800 0 840 BPTI 53 ARG CZ C .640000 12.0110 0 841 BPTI 53 ARG NH1 NC2 -.800000 14.0070 0 842 BPTI 53 ARG HH11 HC .460000 1.00800 0 843 BPTI 53 ARG HH12 HC .460000 1.00800 0 844 BPTI 53 ARG NH2 NC2 -.800000 14.0070 0 845 BPTI 53 ARG HH21 HC .460000 1.00800 0 846 BPTI 53 ARG HH22 HC .460000 1.00800 0 847 BPTI 53 ARG C C .510000 12.0110 0 848 BPTI 53 ARG O O -.510000 15.9990 0 849 BPTI 54 THR N NH1 -.470000 14.0070 0 850 BPTI 54 THR HN H .310000 1.00800 0 851 BPTI 54 THR CA CT1 .700000E-01 12.0110 0 852 BPTI 54 THR HA HB .900000E-01 1.00800 0 853 BPTI 54 THR CB CT1 .140000 12.0110 0 854 BPTI 54 THR HB HA .900000E-01 1.00800 0 855 BPTI 54 THR OG1 OH1 -.660000 15.9990 0 856 BPTI 54 THR HG1 H .430000 1.00800 0 857 BPTI 54 THR CG2 CT3 -.270000 12.0110 0 858 BPTI 54 THR HG21 HA .900000E-01 1.00800 0 859 BPTI 54 THR HG22 HA .900000E-01 1.00800 0 860 BPTI 54 THR HG23 HA .900000E-01 1.00800 0 861 BPTI 54 THR C C .510000 12.0110 0 862 BPTI 54 THR O O -.510000 15.9990 0 863 BPTI 55 CYS N NH1 -.470000 14.0070 0 864 BPTI 55 CYS HN H .310000 1.00800 0 865 BPTI 55 CYS CA CT1 .700000E-01 12.0110 0 866 BPTI 55 CYS HA HB .900000E-01 1.00800 0 867 BPTI 55 CYS CB CT2 -.110000 12.0110 0 868 BPTI 55 CYS HB1 HA .900000E-01 1.00800 0 869 BPTI 55 CYS HB2 HA .900000E-01 1.00800 0 870 BPTI 55 CYS SG S -.230000 32.0600 0 871 BPTI 55 CYS HG1 HS .160000 1.00800 0 872 BPTI 55 CYS C C .510000 12.0110 0 873 BPTI 55 CYS O O -.510000 15.9990 0 874 BPTI 56 GLY N NH1 -.470000 14.0070 0 875 BPTI 56 GLY HN H .310000 1.00800 0 876 BPTI 56 GLY CA CT2 -.200000E-01 12.0110 0 877 BPTI 56 GLY HA1 HB .900000E-01 1.00800 0 878 BPTI 56 GLY HA2 HB .900000E-01 1.00800 0 879 BPTI 56 GLY C C .510000 12.0110 0 880 BPTI 56 GLY O O -.510000 15.9990 0 881 BPTI 57 GLY N NH1 -.470000 14.0070 0 882 BPTI 57 GLY HN H .310000 1.00800 0 883 BPTI 57 GLY CA CT2 -.200000E-01 12.0110 0 884 BPTI 57 GLY HA1 HB .900000E-01 1.00800 0 885 BPTI 57 GLY HA2 HB .900000E-01 1.00800 0 886 BPTI 57 GLY C C .510000 12.0110 0 887 BPTI 57 GLY O O -.510000 15.9990 0 888 BPTI 58 ALA N NH1 -.470000 14.0070 0 889 BPTI 58 ALA HN H .310000 1.00800 0 890 BPTI 58 ALA CA CT1 .700000E-01 12.0110 0 891 BPTI 58 ALA HA HB .900000E-01 1.00800 0 892 BPTI 58 ALA CB CT3 -.270000 12.0110 0 893 BPTI 58 ALA HB1 HA .900000E-01 1.00800 0 894 BPTI 58 ALA HB2 HA .900000E-01 1.00800 0 895 BPTI 58 ALA HB3 HA .900000E-01 1.00800 0 896 BPTI 58 ALA C CC .340000 12.0110 0 897 BPTI 58 ALA OT1 OC -.670000 15.9990 0 898 BPTI 58 ALA OT2 OC -.670000 15.9990 0 899 BULK 1 TIP3 OH2 OT -.834000 15.9994 0 900 BULK 1 TIP3 H1 HT .417000 1.00800 0 901 BULK 1 TIP3 H2 HT .417000 1.00800 0 902 BULK 2 TIP3 OH2 OT -.834000 15.9994 0 903 BULK 2 TIP3 H1 HT .417000 1.00800 0 904 BULK 2 TIP3 H2 HT .417000 1.00800 0 905 BULK 3 TIP3 OH2 OT -.834000 15.9994 0 906 BULK 3 TIP3 H1 HT .417000 1.00800 0 907 BULK 3 TIP3 H2 HT .417000 1.00800 0 908 BULK 4 TIP3 OH2 OT -.834000 15.9994 0 909 BULK 4 TIP3 H1 HT .417000 1.00800 0 910 BULK 4 TIP3 H2 HT .417000 1.00800 0 911 BULK 5 TIP3 OH2 OT -.834000 15.9994 0 912 BULK 5 TIP3 H1 HT .417000 1.00800 0 913 BULK 5 TIP3 H2 HT .417000 1.00800 0 914 BULK 6 TIP3 OH2 OT -.834000 15.9994 0 915 BULK 6 TIP3 H1 HT .417000 1.00800 0 916 BULK 6 TIP3 H2 HT .417000 1.00800 0 917 BULK 7 TIP3 OH2 OT -.834000 15.9994 0 918 BULK 7 TIP3 H1 HT .417000 1.00800 0 919 BULK 7 TIP3 H2 HT .417000 1.00800 0 920 BULK 8 TIP3 OH2 OT -.834000 15.9994 0 921 BULK 8 TIP3 H1 HT .417000 1.00800 0 922 BULK 8 TIP3 H2 HT .417000 1.00800 0 923 BULK 9 TIP3 OH2 OT -.834000 15.9994 0 924 BULK 9 TIP3 H1 HT .417000 1.00800 0 925 BULK 9 TIP3 H2 HT .417000 1.00800 0 926 BULK 10 TIP3 OH2 OT -.834000 15.9994 0 927 BULK 10 TIP3 H1 HT .417000 1.00800 0 928 BULK 10 TIP3 H2 HT .417000 1.00800 0 929 BULK 11 TIP3 OH2 OT -.834000 15.9994 0 930 BULK 11 TIP3 H1 HT .417000 1.00800 0 931 BULK 11 TIP3 H2 HT .417000 1.00800 0 932 BULK 12 TIP3 OH2 OT -.834000 15.9994 0 933 BULK 12 TIP3 H1 HT .417000 1.00800 0 934 BULK 12 TIP3 H2 HT .417000 1.00800 0 935 BULK 13 TIP3 OH2 OT -.834000 15.9994 0 936 BULK 13 TIP3 H1 HT .417000 1.00800 0 937 BULK 13 TIP3 H2 HT .417000 1.00800 0 938 BULK 14 TIP3 OH2 OT -.834000 15.9994 0 939 BULK 14 TIP3 H1 HT .417000 1.00800 0 940 BULK 14 TIP3 H2 HT .417000 1.00800 0 941 BULK 15 TIP3 OH2 OT -.834000 15.9994 0 942 BULK 15 TIP3 H1 HT .417000 1.00800 0 943 BULK 15 TIP3 H2 HT .417000 1.00800 0 944 BULK 16 TIP3 OH2 OT -.834000 15.9994 0 945 BULK 16 TIP3 H1 HT .417000 1.00800 0 946 BULK 16 TIP3 H2 HT .417000 1.00800 0 947 BULK 17 TIP3 OH2 OT -.834000 15.9994 0 948 BULK 17 TIP3 H1 HT .417000 1.00800 0 949 BULK 17 TIP3 H2 HT .417000 1.00800 0 950 BULK 18 TIP3 OH2 OT -.834000 15.9994 0 951 BULK 18 TIP3 H1 HT .417000 1.00800 0 952 BULK 18 TIP3 H2 HT .417000 1.00800 0 953 BULK 19 TIP3 OH2 OT -.834000 15.9994 0 954 BULK 19 TIP3 H1 HT .417000 1.00800 0 955 BULK 19 TIP3 H2 HT .417000 1.00800 0 956 BULK 20 TIP3 OH2 OT -.834000 15.9994 0 957 BULK 20 TIP3 H1 HT .417000 1.00800 0 958 BULK 20 TIP3 H2 HT .417000 1.00800 0 959 BULK 21 TIP3 OH2 OT -.834000 15.9994 0 960 BULK 21 TIP3 H1 HT .417000 1.00800 0 961 BULK 21 TIP3 H2 HT .417000 1.00800 0 962 BULK 22 TIP3 OH2 OT -.834000 15.9994 0 963 BULK 22 TIP3 H1 HT .417000 1.00800 0 964 BULK 22 TIP3 H2 HT .417000 1.00800 0 965 BULK 23 TIP3 OH2 OT -.834000 15.9994 0 966 BULK 23 TIP3 H1 HT .417000 1.00800 0 967 BULK 23 TIP3 H2 HT .417000 1.00800 0 968 BULK 24 TIP3 OH2 OT -.834000 15.9994 0 969 BULK 24 TIP3 H1 HT .417000 1.00800 0 970 BULK 24 TIP3 H2 HT .417000 1.00800 0 971 BULK 25 TIP3 OH2 OT -.834000 15.9994 0 972 BULK 25 TIP3 H1 HT .417000 1.00800 0 973 BULK 25 TIP3 H2 HT .417000 1.00800 0 974 BULK 26 TIP3 OH2 OT -.834000 15.9994 0 975 BULK 26 TIP3 H1 HT .417000 1.00800 0 976 BULK 26 TIP3 H2 HT .417000 1.00800 0 977 BULK 27 TIP3 OH2 OT -.834000 15.9994 0 978 BULK 27 TIP3 H1 HT .417000 1.00800 0 979 BULK 27 TIP3 H2 HT .417000 1.00800 0 980 BULK 28 TIP3 OH2 OT -.834000 15.9994 0 981 BULK 28 TIP3 H1 HT .417000 1.00800 0 982 BULK 28 TIP3 H2 HT .417000 1.00800 0 983 BULK 29 TIP3 OH2 OT -.834000 15.9994 0 984 BULK 29 TIP3 H1 HT .417000 1.00800 0 985 BULK 29 TIP3 H2 HT .417000 1.00800 0 986 BULK 30 TIP3 OH2 OT -.834000 15.9994 0 987 BULK 30 TIP3 H1 HT .417000 1.00800 0 988 BULK 30 TIP3 H2 HT .417000 1.00800 0 989 BULK 31 TIP3 OH2 OT -.834000 15.9994 0 990 BULK 31 TIP3 H1 HT .417000 1.00800 0 991 BULK 31 TIP3 H2 HT .417000 1.00800 0 992 BULK 32 TIP3 OH2 OT -.834000 15.9994 0 993 BULK 32 TIP3 H1 HT .417000 1.00800 0 994 BULK 32 TIP3 H2 HT .417000 1.00800 0 995 BULK 33 TIP3 OH2 OT -.834000 15.9994 0 996 BULK 33 TIP3 H1 HT .417000 1.00800 0 997 BULK 33 TIP3 H2 HT .417000 1.00800 0 998 BULK 34 TIP3 OH2 OT -.834000 15.9994 0 999 BULK 34 TIP3 H1 HT .417000 1.00800 0 1000 BULK 34 TIP3 H2 HT .417000 1.00800 0 1001 BULK 35 TIP3 OH2 OT -.834000 15.9994 0 1002 BULK 35 TIP3 H1 HT .417000 1.00800 0 1003 BULK 35 TIP3 H2 HT .417000 1.00800 0 1004 BULK 36 TIP3 OH2 OT -.834000 15.9994 0 1005 BULK 36 TIP3 H1 HT .417000 1.00800 0 1006 BULK 36 TIP3 H2 HT .417000 1.00800 0 1007 BULK 37 TIP3 OH2 OT -.834000 15.9994 0 1008 BULK 37 TIP3 H1 HT .417000 1.00800 0 1009 BULK 37 TIP3 H2 HT .417000 1.00800 0 1010 BULK 38 TIP3 OH2 OT -.834000 15.9994 0 1011 BULK 38 TIP3 H1 HT .417000 1.00800 0 1012 BULK 38 TIP3 H2 HT .417000 1.00800 0 1013 BULK 39 TIP3 OH2 OT -.834000 15.9994 0 1014 BULK 39 TIP3 H1 HT .417000 1.00800 0 1015 BULK 39 TIP3 H2 HT .417000 1.00800 0 1016 BULK 40 TIP3 OH2 OT -.834000 15.9994 0 1017 BULK 40 TIP3 H1 HT .417000 1.00800 0 1018 BULK 40 TIP3 H2 HT .417000 1.00800 0 1019 BULK 41 TIP3 OH2 OT -.834000 15.9994 0 1020 BULK 41 TIP3 H1 HT .417000 1.00800 0 1021 BULK 41 TIP3 H2 HT .417000 1.00800 0 1022 BULK 42 TIP3 OH2 OT -.834000 15.9994 0 1023 BULK 42 TIP3 H1 HT .417000 1.00800 0 1024 BULK 42 TIP3 H2 HT .417000 1.00800 0 1025 BULK 43 TIP3 OH2 OT -.834000 15.9994 0 1026 BULK 43 TIP3 H1 HT .417000 1.00800 0 1027 BULK 43 TIP3 H2 HT .417000 1.00800 0 1028 BULK 44 TIP3 OH2 OT -.834000 15.9994 0 1029 BULK 44 TIP3 H1 HT .417000 1.00800 0 1030 BULK 44 TIP3 H2 HT .417000 1.00800 0 1031 BULK 45 TIP3 OH2 OT -.834000 15.9994 0 1032 BULK 45 TIP3 H1 HT .417000 1.00800 0 1033 BULK 45 TIP3 H2 HT .417000 1.00800 0 1034 BULK 46 TIP3 OH2 OT -.834000 15.9994 0 1035 BULK 46 TIP3 H1 HT .417000 1.00800 0 1036 BULK 46 TIP3 H2 HT .417000 1.00800 0 1037 BULK 47 TIP3 OH2 OT -.834000 15.9994 0 1038 BULK 47 TIP3 H1 HT .417000 1.00800 0 1039 BULK 47 TIP3 H2 HT .417000 1.00800 0 1040 BULK 48 TIP3 OH2 OT -.834000 15.9994 0 1041 BULK 48 TIP3 H1 HT .417000 1.00800 0 1042 BULK 48 TIP3 H2 HT .417000 1.00800 0 1043 BULK 49 TIP3 OH2 OT -.834000 15.9994 0 1044 BULK 49 TIP3 H1 HT .417000 1.00800 0 1045 BULK 49 TIP3 H2 HT .417000 1.00800 0 1046 BULK 50 TIP3 OH2 OT -.834000 15.9994 0 1047 BULK 50 TIP3 H1 HT .417000 1.00800 0 1048 BULK 50 TIP3 H2 HT .417000 1.00800 0 1049 BULK 51 TIP3 OH2 OT -.834000 15.9994 0 1050 BULK 51 TIP3 H1 HT .417000 1.00800 0 1051 BULK 51 TIP3 H2 HT .417000 1.00800 0 1052 BULK 52 TIP3 OH2 OT -.834000 15.9994 0 1053 BULK 52 TIP3 H1 HT .417000 1.00800 0 1054 BULK 52 TIP3 H2 HT .417000 1.00800 0 1055 BULK 53 TIP3 OH2 OT -.834000 15.9994 0 1056 BULK 53 TIP3 H1 HT .417000 1.00800 0 1057 BULK 53 TIP3 H2 HT .417000 1.00800 0 1058 BULK 54 TIP3 OH2 OT -.834000 15.9994 0 1059 BULK 54 TIP3 H1 HT .417000 1.00800 0 1060 BULK 54 TIP3 H2 HT .417000 1.00800 0 1061 BULK 55 TIP3 OH2 OT -.834000 15.9994 0 1062 BULK 55 TIP3 H1 HT .417000 1.00800 0 1063 BULK 55 TIP3 H2 HT .417000 1.00800 0 1064 BULK 56 TIP3 OH2 OT -.834000 15.9994 0 1065 BULK 56 TIP3 H1 HT .417000 1.00800 0 1066 BULK 56 TIP3 H2 HT .417000 1.00800 0 1067 BULK 57 TIP3 OH2 OT -.834000 15.9994 0 1068 BULK 57 TIP3 H1 HT .417000 1.00800 0 1069 BULK 57 TIP3 H2 HT .417000 1.00800 0 1070 BULK 58 TIP3 OH2 OT -.834000 15.9994 0 1071 BULK 58 TIP3 H1 HT .417000 1.00800 0 1072 BULK 58 TIP3 H2 HT .417000 1.00800 0 1073 BULK 59 TIP3 OH2 OT -.834000 15.9994 0 1074 BULK 59 TIP3 H1 HT .417000 1.00800 0 1075 BULK 59 TIP3 H2 HT .417000 1.00800 0 1076 BULK 60 TIP3 OH2 OT -.834000 15.9994 0 1077 BULK 60 TIP3 H1 HT .417000 1.00800 0 1078 BULK 60 TIP3 H2 HT .417000 1.00800 0 1079 BULK 61 TIP3 OH2 OT -.834000 15.9994 0 1080 BULK 61 TIP3 H1 HT .417000 1.00800 0 1081 BULK 61 TIP3 H2 HT .417000 1.00800 0 1082 BULK 62 TIP3 OH2 OT -.834000 15.9994 0 1083 BULK 62 TIP3 H1 HT .417000 1.00800 0 1084 BULK 62 TIP3 H2 HT .417000 1.00800 0 1085 BULK 63 TIP3 OH2 OT -.834000 15.9994 0 1086 BULK 63 TIP3 H1 HT .417000 1.00800 0 1087 BULK 63 TIP3 H2 HT .417000 1.00800 0 1088 BULK 64 TIP3 OH2 OT -.834000 15.9994 0 1089 BULK 64 TIP3 H1 HT .417000 1.00800 0 1090 BULK 64 TIP3 H2 HT .417000 1.00800 0 1091 BULK 65 TIP3 OH2 OT -.834000 15.9994 0 1092 BULK 65 TIP3 H1 HT .417000 1.00800 0 1093 BULK 65 TIP3 H2 HT .417000 1.00800 0 1094 BULK 66 TIP3 OH2 OT -.834000 15.9994 0 1095 BULK 66 TIP3 H1 HT .417000 1.00800 0 1096 BULK 66 TIP3 H2 HT .417000 1.00800 0 1097 BULK 67 TIP3 OH2 OT -.834000 15.9994 0 1098 BULK 67 TIP3 H1 HT .417000 1.00800 0 1099 BULK 67 TIP3 H2 HT .417000 1.00800 0 1100 BULK 68 TIP3 OH2 OT -.834000 15.9994 0 1101 BULK 68 TIP3 H1 HT .417000 1.00800 0 1102 BULK 68 TIP3 H2 HT .417000 1.00800 0 1103 BULK 69 TIP3 OH2 OT -.834000 15.9994 0 1104 BULK 69 TIP3 H1 HT .417000 1.00800 0 1105 BULK 69 TIP3 H2 HT .417000 1.00800 0 1106 BULK 70 TIP3 OH2 OT -.834000 15.9994 0 1107 BULK 70 TIP3 H1 HT .417000 1.00800 0 1108 BULK 70 TIP3 H2 HT .417000 1.00800 0 1109 BULK 71 TIP3 OH2 OT -.834000 15.9994 0 1110 BULK 71 TIP3 H1 HT .417000 1.00800 0 1111 BULK 71 TIP3 H2 HT .417000 1.00800 0 1112 BULK 72 TIP3 OH2 OT -.834000 15.9994 0 1113 BULK 72 TIP3 H1 HT .417000 1.00800 0 1114 BULK 72 TIP3 H2 HT .417000 1.00800 0 1115 BULK 73 TIP3 OH2 OT -.834000 15.9994 0 1116 BULK 73 TIP3 H1 HT .417000 1.00800 0 1117 BULK 73 TIP3 H2 HT .417000 1.00800 0 1118 BULK 74 TIP3 OH2 OT -.834000 15.9994 0 1119 BULK 74 TIP3 H1 HT .417000 1.00800 0 1120 BULK 74 TIP3 H2 HT .417000 1.00800 0 1121 BULK 75 TIP3 OH2 OT -.834000 15.9994 0 1122 BULK 75 TIP3 H1 HT .417000 1.00800 0 1123 BULK 75 TIP3 H2 HT .417000 1.00800 0 1124 BULK 76 TIP3 OH2 OT -.834000 15.9994 0 1125 BULK 76 TIP3 H1 HT .417000 1.00800 0 1126 BULK 76 TIP3 H2 HT .417000 1.00800 0 1127 BULK 77 TIP3 OH2 OT -.834000 15.9994 0 1128 BULK 77 TIP3 H1 HT .417000 1.00800 0 1129 BULK 77 TIP3 H2 HT .417000 1.00800 0 1130 BULK 78 TIP3 OH2 OT -.834000 15.9994 0 1131 BULK 78 TIP3 H1 HT .417000 1.00800 0 1132 BULK 78 TIP3 H2 HT .417000 1.00800 0 1133 BULK 79 TIP3 OH2 OT -.834000 15.9994 0 1134 BULK 79 TIP3 H1 HT .417000 1.00800 0 1135 BULK 79 TIP3 H2 HT .417000 1.00800 0 1136 BULK 80 TIP3 OH2 OT -.834000 15.9994 0 1137 BULK 80 TIP3 H1 HT .417000 1.00800 0 1138 BULK 80 TIP3 H2 HT .417000 1.00800 0 1139 BULK 81 TIP3 OH2 OT -.834000 15.9994 0 1140 BULK 81 TIP3 H1 HT .417000 1.00800 0 1141 BULK 81 TIP3 H2 HT .417000 1.00800 0 1142 BULK 82 TIP3 OH2 OT -.834000 15.9994 0 1143 BULK 82 TIP3 H1 HT .417000 1.00800 0 1144 BULK 82 TIP3 H2 HT .417000 1.00800 0 1145 BULK 83 TIP3 OH2 OT -.834000 15.9994 0 1146 BULK 83 TIP3 H1 HT .417000 1.00800 0 1147 BULK 83 TIP3 H2 HT .417000 1.00800 0 1148 BULK 84 TIP3 OH2 OT -.834000 15.9994 0 1149 BULK 84 TIP3 H1 HT .417000 1.00800 0 1150 BULK 84 TIP3 H2 HT .417000 1.00800 0 1151 BULK 85 TIP3 OH2 OT -.834000 15.9994 0 1152 BULK 85 TIP3 H1 HT .417000 1.00800 0 1153 BULK 85 TIP3 H2 HT .417000 1.00800 0 1154 BULK 86 TIP3 OH2 OT -.834000 15.9994 0 1155 BULK 86 TIP3 H1 HT .417000 1.00800 0 1156 BULK 86 TIP3 H2 HT .417000 1.00800 0 1157 BULK 87 TIP3 OH2 OT -.834000 15.9994 0 1158 BULK 87 TIP3 H1 HT .417000 1.00800 0 1159 BULK 87 TIP3 H2 HT .417000 1.00800 0 1160 BULK 88 TIP3 OH2 OT -.834000 15.9994 0 1161 BULK 88 TIP3 H1 HT .417000 1.00800 0 1162 BULK 88 TIP3 H2 HT .417000 1.00800 0 1163 BULK 89 TIP3 OH2 OT -.834000 15.9994 0 1164 BULK 89 TIP3 H1 HT .417000 1.00800 0 1165 BULK 89 TIP3 H2 HT .417000 1.00800 0 1166 BULK 90 TIP3 OH2 OT -.834000 15.9994 0 1167 BULK 90 TIP3 H1 HT .417000 1.00800 0 1168 BULK 90 TIP3 H2 HT .417000 1.00800 0 1169 BULK 91 TIP3 OH2 OT -.834000 15.9994 0 1170 BULK 91 TIP3 H1 HT .417000 1.00800 0 1171 BULK 91 TIP3 H2 HT .417000 1.00800 0 1172 BULK 92 TIP3 OH2 OT -.834000 15.9994 0 1173 BULK 92 TIP3 H1 HT .417000 1.00800 0 1174 BULK 92 TIP3 H2 HT .417000 1.00800 0 1175 BULK 93 TIP3 OH2 OT -.834000 15.9994 0 1176 BULK 93 TIP3 H1 HT .417000 1.00800 0 1177 BULK 93 TIP3 H2 HT .417000 1.00800 0 1178 BULK 94 TIP3 OH2 OT -.834000 15.9994 0 1179 BULK 94 TIP3 H1 HT .417000 1.00800 0 1180 BULK 94 TIP3 H2 HT .417000 1.00800 0 1181 BULK 95 TIP3 OH2 OT -.834000 15.9994 0 1182 BULK 95 TIP3 H1 HT .417000 1.00800 0 1183 BULK 95 TIP3 H2 HT .417000 1.00800 0 1184 BULK 96 TIP3 OH2 OT -.834000 15.9994 0 1185 BULK 96 TIP3 H1 HT .417000 1.00800 0 1186 BULK 96 TIP3 H2 HT .417000 1.00800 0 1187 BULK 97 TIP3 OH2 OT -.834000 15.9994 0 1188 BULK 97 TIP3 H1 HT .417000 1.00800 0 1189 BULK 97 TIP3 H2 HT .417000 1.00800 0 1190 BULK 98 TIP3 OH2 OT -.834000 15.9994 0 1191 BULK 98 TIP3 H1 HT .417000 1.00800 0 1192 BULK 98 TIP3 H2 HT .417000 1.00800 0 1193 BULK 99 TIP3 OH2 OT -.834000 15.9994 0 1194 BULK 99 TIP3 H1 HT .417000 1.00800 0 1195 BULK 99 TIP3 H2 HT .417000 1.00800 0 1196 BULK 100 TIP3 OH2 OT -.834000 15.9994 0 1197 BULK 100 TIP3 H1 HT .417000 1.00800 0 1198 BULK 100 TIP3 H2 HT .417000 1.00800 0 1199 BULK 101 TIP3 OH2 OT -.834000 15.9994 0 1200 BULK 101 TIP3 H1 HT .417000 1.00800 0 1201 BULK 101 TIP3 H2 HT .417000 1.00800 0 1202 BULK 102 TIP3 OH2 OT -.834000 15.9994 0 1203 BULK 102 TIP3 H1 HT .417000 1.00800 0 1204 BULK 102 TIP3 H2 HT .417000 1.00800 0 1205 BULK 103 TIP3 OH2 OT -.834000 15.9994 0 1206 BULK 103 TIP3 H1 HT .417000 1.00800 0 1207 BULK 103 TIP3 H2 HT .417000 1.00800 0 1208 BULK 104 TIP3 OH2 OT -.834000 15.9994 0 1209 BULK 104 TIP3 H1 HT .417000 1.00800 0 1210 BULK 104 TIP3 H2 HT .417000 1.00800 0 1211 BULK 105 TIP3 OH2 OT -.834000 15.9994 0 1212 BULK 105 TIP3 H1 HT .417000 1.00800 0 1213 BULK 105 TIP3 H2 HT .417000 1.00800 0 1214 BULK 106 TIP3 OH2 OT -.834000 15.9994 0 1215 BULK 106 TIP3 H1 HT .417000 1.00800 0 1216 BULK 106 TIP3 H2 HT .417000 1.00800 0 1217 BULK 107 TIP3 OH2 OT -.834000 15.9994 0 1218 BULK 107 TIP3 H1 HT .417000 1.00800 0 1219 BULK 107 TIP3 H2 HT .417000 1.00800 0 1220 BULK 108 TIP3 OH2 OT -.834000 15.9994 0 1221 BULK 108 TIP3 H1 HT .417000 1.00800 0 1222 BULK 108 TIP3 H2 HT .417000 1.00800 0 1223 BULK 109 TIP3 OH2 OT -.834000 15.9994 0 1224 BULK 109 TIP3 H1 HT .417000 1.00800 0 1225 BULK 109 TIP3 H2 HT .417000 1.00800 0 1226 BULK 110 TIP3 OH2 OT -.834000 15.9994 0 1227 BULK 110 TIP3 H1 HT .417000 1.00800 0 1228 BULK 110 TIP3 H2 HT .417000 1.00800 0 1229 BULK 111 TIP3 OH2 OT -.834000 15.9994 0 1230 BULK 111 TIP3 H1 HT .417000 1.00800 0 1231 BULK 111 TIP3 H2 HT .417000 1.00800 0 1232 BULK 112 TIP3 OH2 OT -.834000 15.9994 0 1233 BULK 112 TIP3 H1 HT .417000 1.00800 0 1234 BULK 112 TIP3 H2 HT .417000 1.00800 0 1235 BULK 113 TIP3 OH2 OT -.834000 15.9994 0 1236 BULK 113 TIP3 H1 HT .417000 1.00800 0 1237 BULK 113 TIP3 H2 HT .417000 1.00800 0 1238 BULK 114 TIP3 OH2 OT -.834000 15.9994 0 1239 BULK 114 TIP3 H1 HT .417000 1.00800 0 1240 BULK 114 TIP3 H2 HT .417000 1.00800 0 1241 BULK 115 TIP3 OH2 OT -.834000 15.9994 0 1242 BULK 115 TIP3 H1 HT .417000 1.00800 0 1243 BULK 115 TIP3 H2 HT .417000 1.00800 0 1244 BULK 116 TIP3 OH2 OT -.834000 15.9994 0 1245 BULK 116 TIP3 H1 HT .417000 1.00800 0 1246 BULK 116 TIP3 H2 HT .417000 1.00800 0 1247 BULK 117 TIP3 OH2 OT -.834000 15.9994 0 1248 BULK 117 TIP3 H1 HT .417000 1.00800 0 1249 BULK 117 TIP3 H2 HT .417000 1.00800 0 1250 BULK 118 TIP3 OH2 OT -.834000 15.9994 0 1251 BULK 118 TIP3 H1 HT .417000 1.00800 0 1252 BULK 118 TIP3 H2 HT .417000 1.00800 0 1253 BULK 119 TIP3 OH2 OT -.834000 15.9994 0 1254 BULK 119 TIP3 H1 HT .417000 1.00800 0 1255 BULK 119 TIP3 H2 HT .417000 1.00800 0 1256 BULK 120 TIP3 OH2 OT -.834000 15.9994 0 1257 BULK 120 TIP3 H1 HT .417000 1.00800 0 1258 BULK 120 TIP3 H2 HT .417000 1.00800 0 1259 BULK 121 TIP3 OH2 OT -.834000 15.9994 0 1260 BULK 121 TIP3 H1 HT .417000 1.00800 0 1261 BULK 121 TIP3 H2 HT .417000 1.00800 0 1262 BULK 122 TIP3 OH2 OT -.834000 15.9994 0 1263 BULK 122 TIP3 H1 HT .417000 1.00800 0 1264 BULK 122 TIP3 H2 HT .417000 1.00800 0 1265 BULK 123 TIP3 OH2 OT -.834000 15.9994 0 1266 BULK 123 TIP3 H1 HT .417000 1.00800 0 1267 BULK 123 TIP3 H2 HT .417000 1.00800 0 1268 BULK 124 TIP3 OH2 OT -.834000 15.9994 0 1269 BULK 124 TIP3 H1 HT .417000 1.00800 0 1270 BULK 124 TIP3 H2 HT .417000 1.00800 0 1271 BULK 125 TIP3 OH2 OT -.834000 15.9994 0 1272 BULK 125 TIP3 H1 HT .417000 1.00800 0 1273 BULK 125 TIP3 H2 HT .417000 1.00800 0 1274 BULK 126 TIP3 OH2 OT -.834000 15.9994 0 1275 BULK 126 TIP3 H1 HT .417000 1.00800 0 1276 BULK 126 TIP3 H2 HT .417000 1.00800 0 1277 BULK 127 TIP3 OH2 OT -.834000 15.9994 0 1278 BULK 127 TIP3 H1 HT .417000 1.00800 0 1279 BULK 127 TIP3 H2 HT .417000 1.00800 0 1280 BULK 128 TIP3 OH2 OT -.834000 15.9994 0 1281 BULK 128 TIP3 H1 HT .417000 1.00800 0 1282 BULK 128 TIP3 H2 HT .417000 1.00800 0 1283 BULK 129 TIP3 OH2 OT -.834000 15.9994 0 1284 BULK 129 TIP3 H1 HT .417000 1.00800 0 1285 BULK 129 TIP3 H2 HT .417000 1.00800 0 1286 BULK 130 TIP3 OH2 OT -.834000 15.9994 0 1287 BULK 130 TIP3 H1 HT .417000 1.00800 0 1288 BULK 130 TIP3 H2 HT .417000 1.00800 0 1289 BULK 131 TIP3 OH2 OT -.834000 15.9994 0 1290 BULK 131 TIP3 H1 HT .417000 1.00800 0 1291 BULK 131 TIP3 H2 HT .417000 1.00800 0 1292 BULK 132 TIP3 OH2 OT -.834000 15.9994 0 1293 BULK 132 TIP3 H1 HT .417000 1.00800 0 1294 BULK 132 TIP3 H2 HT .417000 1.00800 0 1295 BULK 133 TIP3 OH2 OT -.834000 15.9994 0 1296 BULK 133 TIP3 H1 HT .417000 1.00800 0 1297 BULK 133 TIP3 H2 HT .417000 1.00800 0 1298 BULK 134 TIP3 OH2 OT -.834000 15.9994 0 1299 BULK 134 TIP3 H1 HT .417000 1.00800 0 1300 BULK 134 TIP3 H2 HT .417000 1.00800 0 1301 BULK 135 TIP3 OH2 OT -.834000 15.9994 0 1302 BULK 135 TIP3 H1 HT .417000 1.00800 0 1303 BULK 135 TIP3 H2 HT .417000 1.00800 0 1304 BULK 136 TIP3 OH2 OT -.834000 15.9994 0 1305 BULK 136 TIP3 H1 HT .417000 1.00800 0 1306 BULK 136 TIP3 H2 HT .417000 1.00800 0 1307 BULK 137 TIP3 OH2 OT -.834000 15.9994 0 1308 BULK 137 TIP3 H1 HT .417000 1.00800 0 1309 BULK 137 TIP3 H2 HT .417000 1.00800 0 1310 BULK 138 TIP3 OH2 OT -.834000 15.9994 0 1311 BULK 138 TIP3 H1 HT .417000 1.00800 0 1312 BULK 138 TIP3 H2 HT .417000 1.00800 0 1313 BULK 139 TIP3 OH2 OT -.834000 15.9994 0 1314 BULK 139 TIP3 H1 HT .417000 1.00800 0 1315 BULK 139 TIP3 H2 HT .417000 1.00800 0 1316 BULK 140 TIP3 OH2 OT -.834000 15.9994 0 1317 BULK 140 TIP3 H1 HT .417000 1.00800 0 1318 BULK 140 TIP3 H2 HT .417000 1.00800 0 1319 BULK 141 TIP3 OH2 OT -.834000 15.9994 0 1320 BULK 141 TIP3 H1 HT .417000 1.00800 0 1321 BULK 141 TIP3 H2 HT .417000 1.00800 0 1322 BULK 142 TIP3 OH2 OT -.834000 15.9994 0 1323 BULK 142 TIP3 H1 HT .417000 1.00800 0 1324 BULK 142 TIP3 H2 HT .417000 1.00800 0 1325 BULK 143 TIP3 OH2 OT -.834000 15.9994 0 1326 BULK 143 TIP3 H1 HT .417000 1.00800 0 1327 BULK 143 TIP3 H2 HT .417000 1.00800 0 1328 BULK 144 TIP3 OH2 OT -.834000 15.9994 0 1329 BULK 144 TIP3 H1 HT .417000 1.00800 0 1330 BULK 144 TIP3 H2 HT .417000 1.00800 0 1331 BULK 145 TIP3 OH2 OT -.834000 15.9994 0 1332 BULK 145 TIP3 H1 HT .417000 1.00800 0 1333 BULK 145 TIP3 H2 HT .417000 1.00800 0 1334 BULK 146 TIP3 OH2 OT -.834000 15.9994 0 1335 BULK 146 TIP3 H1 HT .417000 1.00800 0 1336 BULK 146 TIP3 H2 HT .417000 1.00800 0 1337 BULK 147 TIP3 OH2 OT -.834000 15.9994 0 1338 BULK 147 TIP3 H1 HT .417000 1.00800 0 1339 BULK 147 TIP3 H2 HT .417000 1.00800 0 1340 BULK 148 TIP3 OH2 OT -.834000 15.9994 0 1341 BULK 148 TIP3 H1 HT .417000 1.00800 0 1342 BULK 148 TIP3 H2 HT .417000 1.00800 0 1343 BULK 149 TIP3 OH2 OT -.834000 15.9994 0 1344 BULK 149 TIP3 H1 HT .417000 1.00800 0 1345 BULK 149 TIP3 H2 HT .417000 1.00800 0 1346 BULK 150 TIP3 OH2 OT -.834000 15.9994 0 1347 BULK 150 TIP3 H1 HT .417000 1.00800 0 1348 BULK 150 TIP3 H2 HT .417000 1.00800 0 1349 BULK 151 TIP3 OH2 OT -.834000 15.9994 0 1350 BULK 151 TIP3 H1 HT .417000 1.00800 0 1351 BULK 151 TIP3 H2 HT .417000 1.00800 0 1352 BULK 152 TIP3 OH2 OT -.834000 15.9994 0 1353 BULK 152 TIP3 H1 HT .417000 1.00800 0 1354 BULK 152 TIP3 H2 HT .417000 1.00800 0 1355 BULK 153 TIP3 OH2 OT -.834000 15.9994 0 1356 BULK 153 TIP3 H1 HT .417000 1.00800 0 1357 BULK 153 TIP3 H2 HT .417000 1.00800 0 1358 BULK 154 TIP3 OH2 OT -.834000 15.9994 0 1359 BULK 154 TIP3 H1 HT .417000 1.00800 0 1360 BULK 154 TIP3 H2 HT .417000 1.00800 0 1361 BULK 155 TIP3 OH2 OT -.834000 15.9994 0 1362 BULK 155 TIP3 H1 HT .417000 1.00800 0 1363 BULK 155 TIP3 H2 HT .417000 1.00800 0 1364 BULK 156 TIP3 OH2 OT -.834000 15.9994 0 1365 BULK 156 TIP3 H1 HT .417000 1.00800 0 1366 BULK 156 TIP3 H2 HT .417000 1.00800 0 1367 BULK 157 TIP3 OH2 OT -.834000 15.9994 0 1368 BULK 157 TIP3 H1 HT .417000 1.00800 0 1369 BULK 157 TIP3 H2 HT .417000 1.00800 0 1370 BULK 158 TIP3 OH2 OT -.834000 15.9994 0 1371 BULK 158 TIP3 H1 HT .417000 1.00800 0 1372 BULK 158 TIP3 H2 HT .417000 1.00800 0 1373 BULK 159 TIP3 OH2 OT -.834000 15.9994 0 1374 BULK 159 TIP3 H1 HT .417000 1.00800 0 1375 BULK 159 TIP3 H2 HT .417000 1.00800 0 1376 BULK 160 TIP3 OH2 OT -.834000 15.9994 0 1377 BULK 160 TIP3 H1 HT .417000 1.00800 0 1378 BULK 160 TIP3 H2 HT .417000 1.00800 0 1379 BULK 161 TIP3 OH2 OT -.834000 15.9994 0 1380 BULK 161 TIP3 H1 HT .417000 1.00800 0 1381 BULK 161 TIP3 H2 HT .417000 1.00800 0 1382 BULK 162 TIP3 OH2 OT -.834000 15.9994 0 1383 BULK 162 TIP3 H1 HT .417000 1.00800 0 1384 BULK 162 TIP3 H2 HT .417000 1.00800 0 1385 BULK 163 TIP3 OH2 OT -.834000 15.9994 0 1386 BULK 163 TIP3 H1 HT .417000 1.00800 0 1387 BULK 163 TIP3 H2 HT .417000 1.00800 0 1388 BULK 164 TIP3 OH2 OT -.834000 15.9994 0 1389 BULK 164 TIP3 H1 HT .417000 1.00800 0 1390 BULK 164 TIP3 H2 HT .417000 1.00800 0 1391 BULK 165 TIP3 OH2 OT -.834000 15.9994 0 1392 BULK 165 TIP3 H1 HT .417000 1.00800 0 1393 BULK 165 TIP3 H2 HT .417000 1.00800 0 1394 BULK 166 TIP3 OH2 OT -.834000 15.9994 0 1395 BULK 166 TIP3 H1 HT .417000 1.00800 0 1396 BULK 166 TIP3 H2 HT .417000 1.00800 0 1397 BULK 167 TIP3 OH2 OT -.834000 15.9994 0 1398 BULK 167 TIP3 H1 HT .417000 1.00800 0 1399 BULK 167 TIP3 H2 HT .417000 1.00800 0 1400 BULK 168 TIP3 OH2 OT -.834000 15.9994 0 1401 BULK 168 TIP3 H1 HT .417000 1.00800 0 1402 BULK 168 TIP3 H2 HT .417000 1.00800 0 1403 BULK 169 TIP3 OH2 OT -.834000 15.9994 0 1404 BULK 169 TIP3 H1 HT .417000 1.00800 0 1405 BULK 169 TIP3 H2 HT .417000 1.00800 0 1406 BULK 170 TIP3 OH2 OT -.834000 15.9994 0 1407 BULK 170 TIP3 H1 HT .417000 1.00800 0 1408 BULK 170 TIP3 H2 HT .417000 1.00800 0 1409 BULK 171 TIP3 OH2 OT -.834000 15.9994 0 1410 BULK 171 TIP3 H1 HT .417000 1.00800 0 1411 BULK 171 TIP3 H2 HT .417000 1.00800 0 1412 BULK 172 TIP3 OH2 OT -.834000 15.9994 0 1413 BULK 172 TIP3 H1 HT .417000 1.00800 0 1414 BULK 172 TIP3 H2 HT .417000 1.00800 0 1415 BULK 173 TIP3 OH2 OT -.834000 15.9994 0 1416 BULK 173 TIP3 H1 HT .417000 1.00800 0 1417 BULK 173 TIP3 H2 HT .417000 1.00800 0 1418 BULK 174 TIP3 OH2 OT -.834000 15.9994 0 1419 BULK 174 TIP3 H1 HT .417000 1.00800 0 1420 BULK 174 TIP3 H2 HT .417000 1.00800 0 1421 BULK 175 TIP3 OH2 OT -.834000 15.9994 0 1422 BULK 175 TIP3 H1 HT .417000 1.00800 0 1423 BULK 175 TIP3 H2 HT .417000 1.00800 0 1424 BULK 176 TIP3 OH2 OT -.834000 15.9994 0 1425 BULK 176 TIP3 H1 HT .417000 1.00800 0 1426 BULK 176 TIP3 H2 HT .417000 1.00800 0 1427 BULK 177 TIP3 OH2 OT -.834000 15.9994 0 1428 BULK 177 TIP3 H1 HT .417000 1.00800 0 1429 BULK 177 TIP3 H2 HT .417000 1.00800 0 1430 BULK 178 TIP3 OH2 OT -.834000 15.9994 0 1431 BULK 178 TIP3 H1 HT .417000 1.00800 0 1432 BULK 178 TIP3 H2 HT .417000 1.00800 0 1433 BULK 179 TIP3 OH2 OT -.834000 15.9994 0 1434 BULK 179 TIP3 H1 HT .417000 1.00800 0 1435 BULK 179 TIP3 H2 HT .417000 1.00800 0 1436 BULK 180 TIP3 OH2 OT -.834000 15.9994 0 1437 BULK 180 TIP3 H1 HT .417000 1.00800 0 1438 BULK 180 TIP3 H2 HT .417000 1.00800 0 1439 BULK 181 TIP3 OH2 OT -.834000 15.9994 0 1440 BULK 181 TIP3 H1 HT .417000 1.00800 0 1441 BULK 181 TIP3 H2 HT .417000 1.00800 0 1442 BULK 182 TIP3 OH2 OT -.834000 15.9994 0 1443 BULK 182 TIP3 H1 HT .417000 1.00800 0 1444 BULK 182 TIP3 H2 HT .417000 1.00800 0 1445 BULK 183 TIP3 OH2 OT -.834000 15.9994 0 1446 BULK 183 TIP3 H1 HT .417000 1.00800 0 1447 BULK 183 TIP3 H2 HT .417000 1.00800 0 1448 BULK 184 TIP3 OH2 OT -.834000 15.9994 0 1449 BULK 184 TIP3 H1 HT .417000 1.00800 0 1450 BULK 184 TIP3 H2 HT .417000 1.00800 0 1451 BULK 185 TIP3 OH2 OT -.834000 15.9994 0 1452 BULK 185 TIP3 H1 HT .417000 1.00800 0 1453 BULK 185 TIP3 H2 HT .417000 1.00800 0 1454 BULK 186 TIP3 OH2 OT -.834000 15.9994 0 1455 BULK 186 TIP3 H1 HT .417000 1.00800 0 1456 BULK 186 TIP3 H2 HT .417000 1.00800 0 1457 BULK 187 TIP3 OH2 OT -.834000 15.9994 0 1458 BULK 187 TIP3 H1 HT .417000 1.00800 0 1459 BULK 187 TIP3 H2 HT .417000 1.00800 0 1460 BULK 188 TIP3 OH2 OT -.834000 15.9994 0 1461 BULK 188 TIP3 H1 HT .417000 1.00800 0 1462 BULK 188 TIP3 H2 HT .417000 1.00800 0 1463 BULK 189 TIP3 OH2 OT -.834000 15.9994 0 1464 BULK 189 TIP3 H1 HT .417000 1.00800 0 1465 BULK 189 TIP3 H2 HT .417000 1.00800 0 1466 BULK 190 TIP3 OH2 OT -.834000 15.9994 0 1467 BULK 190 TIP3 H1 HT .417000 1.00800 0 1468 BULK 190 TIP3 H2 HT .417000 1.00800 0 1469 BULK 191 TIP3 OH2 OT -.834000 15.9994 0 1470 BULK 191 TIP3 H1 HT .417000 1.00800 0 1471 BULK 191 TIP3 H2 HT .417000 1.00800 0 1472 BULK 192 TIP3 OH2 OT -.834000 15.9994 0 1473 BULK 192 TIP3 H1 HT .417000 1.00800 0 1474 BULK 192 TIP3 H2 HT .417000 1.00800 0 1475 BULK 193 TIP3 OH2 OT -.834000 15.9994 0 1476 BULK 193 TIP3 H1 HT .417000 1.00800 0 1477 BULK 193 TIP3 H2 HT .417000 1.00800 0 1478 BULK 194 TIP3 OH2 OT -.834000 15.9994 0 1479 BULK 194 TIP3 H1 HT .417000 1.00800 0 1480 BULK 194 TIP3 H2 HT .417000 1.00800 0 1481 BULK 195 TIP3 OH2 OT -.834000 15.9994 0 1482 BULK 195 TIP3 H1 HT .417000 1.00800 0 1483 BULK 195 TIP3 H2 HT .417000 1.00800 0 1484 BULK 196 TIP3 OH2 OT -.834000 15.9994 0 1485 BULK 196 TIP3 H1 HT .417000 1.00800 0 1486 BULK 196 TIP3 H2 HT .417000 1.00800 0 1487 BULK 197 TIP3 OH2 OT -.834000 15.9994 0 1488 BULK 197 TIP3 H1 HT .417000 1.00800 0 1489 BULK 197 TIP3 H2 HT .417000 1.00800 0 1490 BULK 198 TIP3 OH2 OT -.834000 15.9994 0 1491 BULK 198 TIP3 H1 HT .417000 1.00800 0 1492 BULK 198 TIP3 H2 HT .417000 1.00800 0 1493 BULK 199 TIP3 OH2 OT -.834000 15.9994 0 1494 BULK 199 TIP3 H1 HT .417000 1.00800 0 1495 BULK 199 TIP3 H2 HT .417000 1.00800 0 1496 BULK 200 TIP3 OH2 OT -.834000 15.9994 0 1497 BULK 200 TIP3 H1 HT .417000 1.00800 0 1498 BULK 200 TIP3 H2 HT .417000 1.00800 0 1499 BULK 201 TIP3 OH2 OT -.834000 15.9994 0 1500 BULK 201 TIP3 H1 HT .417000 1.00800 0 1501 BULK 201 TIP3 H2 HT .417000 1.00800 0 1502 BULK 202 TIP3 OH2 OT -.834000 15.9994 0 1503 BULK 202 TIP3 H1 HT .417000 1.00800 0 1504 BULK 202 TIP3 H2 HT .417000 1.00800 0 1505 BULK 203 TIP3 OH2 OT -.834000 15.9994 0 1506 BULK 203 TIP3 H1 HT .417000 1.00800 0 1507 BULK 203 TIP3 H2 HT .417000 1.00800 0 1508 BULK 204 TIP3 OH2 OT -.834000 15.9994 0 1509 BULK 204 TIP3 H1 HT .417000 1.00800 0 1510 BULK 204 TIP3 H2 HT .417000 1.00800 0 1511 BULK 205 TIP3 OH2 OT -.834000 15.9994 0 1512 BULK 205 TIP3 H1 HT .417000 1.00800 0 1513 BULK 205 TIP3 H2 HT .417000 1.00800 0 1514 BULK 206 TIP3 OH2 OT -.834000 15.9994 0 1515 BULK 206 TIP3 H1 HT .417000 1.00800 0 1516 BULK 206 TIP3 H2 HT .417000 1.00800 0 1517 BULK 207 TIP3 OH2 OT -.834000 15.9994 0 1518 BULK 207 TIP3 H1 HT .417000 1.00800 0 1519 BULK 207 TIP3 H2 HT .417000 1.00800 0 1520 BULK 208 TIP3 OH2 OT -.834000 15.9994 0 1521 BULK 208 TIP3 H1 HT .417000 1.00800 0 1522 BULK 208 TIP3 H2 HT .417000 1.00800 0 1523 BULK 209 TIP3 OH2 OT -.834000 15.9994 0 1524 BULK 209 TIP3 H1 HT .417000 1.00800 0 1525 BULK 209 TIP3 H2 HT .417000 1.00800 0 1526 BULK 210 TIP3 OH2 OT -.834000 15.9994 0 1527 BULK 210 TIP3 H1 HT .417000 1.00800 0 1528 BULK 210 TIP3 H2 HT .417000 1.00800 0 1529 BULK 211 TIP3 OH2 OT -.834000 15.9994 0 1530 BULK 211 TIP3 H1 HT .417000 1.00800 0 1531 BULK 211 TIP3 H2 HT .417000 1.00800 0 1532 BULK 212 TIP3 OH2 OT -.834000 15.9994 0 1533 BULK 212 TIP3 H1 HT .417000 1.00800 0 1534 BULK 212 TIP3 H2 HT .417000 1.00800 0 1535 BULK 213 TIP3 OH2 OT -.834000 15.9994 0 1536 BULK 213 TIP3 H1 HT .417000 1.00800 0 1537 BULK 213 TIP3 H2 HT .417000 1.00800 0 1538 BULK 214 TIP3 OH2 OT -.834000 15.9994 0 1539 BULK 214 TIP3 H1 HT .417000 1.00800 0 1540 BULK 214 TIP3 H2 HT .417000 1.00800 0 1541 BULK 215 TIP3 OH2 OT -.834000 15.9994 0 1542 BULK 215 TIP3 H1 HT .417000 1.00800 0 1543 BULK 215 TIP3 H2 HT .417000 1.00800 0 1544 BULK 216 TIP3 OH2 OT -.834000 15.9994 0 1545 BULK 216 TIP3 H1 HT .417000 1.00800 0 1546 BULK 216 TIP3 H2 HT .417000 1.00800 0 1547 BULK 217 TIP3 OH2 OT -.834000 15.9994 0 1548 BULK 217 TIP3 H1 HT .417000 1.00800 0 1549 BULK 217 TIP3 H2 HT .417000 1.00800 0 1550 BULK 218 TIP3 OH2 OT -.834000 15.9994 0 1551 BULK 218 TIP3 H1 HT .417000 1.00800 0 1552 BULK 218 TIP3 H2 HT .417000 1.00800 0 1553 BULK 219 TIP3 OH2 OT -.834000 15.9994 0 1554 BULK 219 TIP3 H1 HT .417000 1.00800 0 1555 BULK 219 TIP3 H2 HT .417000 1.00800 0 1556 BULK 220 TIP3 OH2 OT -.834000 15.9994 0 1557 BULK 220 TIP3 H1 HT .417000 1.00800 0 1558 BULK 220 TIP3 H2 HT .417000 1.00800 0 1559 BULK 221 TIP3 OH2 OT -.834000 15.9994 0 1560 BULK 221 TIP3 H1 HT .417000 1.00800 0 1561 BULK 221 TIP3 H2 HT .417000 1.00800 0 1562 BULK 222 TIP3 OH2 OT -.834000 15.9994 0 1563 BULK 222 TIP3 H1 HT .417000 1.00800 0 1564 BULK 222 TIP3 H2 HT .417000 1.00800 0 1565 BULK 223 TIP3 OH2 OT -.834000 15.9994 0 1566 BULK 223 TIP3 H1 HT .417000 1.00800 0 1567 BULK 223 TIP3 H2 HT .417000 1.00800 0 1568 BULK 224 TIP3 OH2 OT -.834000 15.9994 0 1569 BULK 224 TIP3 H1 HT .417000 1.00800 0 1570 BULK 224 TIP3 H2 HT .417000 1.00800 0 1571 BULK 225 TIP3 OH2 OT -.834000 15.9994 0 1572 BULK 225 TIP3 H1 HT .417000 1.00800 0 1573 BULK 225 TIP3 H2 HT .417000 1.00800 0 1574 BULK 226 TIP3 OH2 OT -.834000 15.9994 0 1575 BULK 226 TIP3 H1 HT .417000 1.00800 0 1576 BULK 226 TIP3 H2 HT .417000 1.00800 0 1577 BULK 227 TIP3 OH2 OT -.834000 15.9994 0 1578 BULK 227 TIP3 H1 HT .417000 1.00800 0 1579 BULK 227 TIP3 H2 HT .417000 1.00800 0 1580 BULK 228 TIP3 OH2 OT -.834000 15.9994 0 1581 BULK 228 TIP3 H1 HT .417000 1.00800 0 1582 BULK 228 TIP3 H2 HT .417000 1.00800 0 1583 BULK 229 TIP3 OH2 OT -.834000 15.9994 0 1584 BULK 229 TIP3 H1 HT .417000 1.00800 0 1585 BULK 229 TIP3 H2 HT .417000 1.00800 0 1586 BULK 230 TIP3 OH2 OT -.834000 15.9994 0 1587 BULK 230 TIP3 H1 HT .417000 1.00800 0 1588 BULK 230 TIP3 H2 HT .417000 1.00800 0 1589 BULK 231 TIP3 OH2 OT -.834000 15.9994 0 1590 BULK 231 TIP3 H1 HT .417000 1.00800 0 1591 BULK 231 TIP3 H2 HT .417000 1.00800 0 1592 BULK 232 TIP3 OH2 OT -.834000 15.9994 0 1593 BULK 232 TIP3 H1 HT .417000 1.00800 0 1594 BULK 232 TIP3 H2 HT .417000 1.00800 0 1595 BULK 233 TIP3 OH2 OT -.834000 15.9994 0 1596 BULK 233 TIP3 H1 HT .417000 1.00800 0 1597 BULK 233 TIP3 H2 HT .417000 1.00800 0 1598 BULK 234 TIP3 OH2 OT -.834000 15.9994 0 1599 BULK 234 TIP3 H1 HT .417000 1.00800 0 1600 BULK 234 TIP3 H2 HT .417000 1.00800 0 1601 BULK 235 TIP3 OH2 OT -.834000 15.9994 0 1602 BULK 235 TIP3 H1 HT .417000 1.00800 0 1603 BULK 235 TIP3 H2 HT .417000 1.00800 0 1604 BULK 236 TIP3 OH2 OT -.834000 15.9994 0 1605 BULK 236 TIP3 H1 HT .417000 1.00800 0 1606 BULK 236 TIP3 H2 HT .417000 1.00800 0 1607 BULK 237 TIP3 OH2 OT -.834000 15.9994 0 1608 BULK 237 TIP3 H1 HT .417000 1.00800 0 1609 BULK 237 TIP3 H2 HT .417000 1.00800 0 1610 BULK 238 TIP3 OH2 OT -.834000 15.9994 0 1611 BULK 238 TIP3 H1 HT .417000 1.00800 0 1612 BULK 238 TIP3 H2 HT .417000 1.00800 0 1613 BULK 239 TIP3 OH2 OT -.834000 15.9994 0 1614 BULK 239 TIP3 H1 HT .417000 1.00800 0 1615 BULK 239 TIP3 H2 HT .417000 1.00800 0 1616 BULK 240 TIP3 OH2 OT -.834000 15.9994 0 1617 BULK 240 TIP3 H1 HT .417000 1.00800 0 1618 BULK 240 TIP3 H2 HT .417000 1.00800 0 1619 BULK 241 TIP3 OH2 OT -.834000 15.9994 0 1620 BULK 241 TIP3 H1 HT .417000 1.00800 0 1621 BULK 241 TIP3 H2 HT .417000 1.00800 0 1622 BULK 242 TIP3 OH2 OT -.834000 15.9994 0 1623 BULK 242 TIP3 H1 HT .417000 1.00800 0 1624 BULK 242 TIP3 H2 HT .417000 1.00800 0 1625 BULK 243 TIP3 OH2 OT -.834000 15.9994 0 1626 BULK 243 TIP3 H1 HT .417000 1.00800 0 1627 BULK 243 TIP3 H2 HT .417000 1.00800 0 1628 BULK 244 TIP3 OH2 OT -.834000 15.9994 0 1629 BULK 244 TIP3 H1 HT .417000 1.00800 0 1630 BULK 244 TIP3 H2 HT .417000 1.00800 0 1631 BULK 245 TIP3 OH2 OT -.834000 15.9994 0 1632 BULK 245 TIP3 H1 HT .417000 1.00800 0 1633 BULK 245 TIP3 H2 HT .417000 1.00800 0 1634 BULK 246 TIP3 OH2 OT -.834000 15.9994 0 1635 BULK 246 TIP3 H1 HT .417000 1.00800 0 1636 BULK 246 TIP3 H2 HT .417000 1.00800 0 1637 BULK 247 TIP3 OH2 OT -.834000 15.9994 0 1638 BULK 247 TIP3 H1 HT .417000 1.00800 0 1639 BULK 247 TIP3 H2 HT .417000 1.00800 0 1640 BULK 248 TIP3 OH2 OT -.834000 15.9994 0 1641 BULK 248 TIP3 H1 HT .417000 1.00800 0 1642 BULK 248 TIP3 H2 HT .417000 1.00800 0 1643 BULK 249 TIP3 OH2 OT -.834000 15.9994 0 1644 BULK 249 TIP3 H1 HT .417000 1.00800 0 1645 BULK 249 TIP3 H2 HT .417000 1.00800 0 1646 BULK 250 TIP3 OH2 OT -.834000 15.9994 0 1647 BULK 250 TIP3 H1 HT .417000 1.00800 0 1648 BULK 250 TIP3 H2 HT .417000 1.00800 0 1649 BULK 251 TIP3 OH2 OT -.834000 15.9994 0 1650 BULK 251 TIP3 H1 HT .417000 1.00800 0 1651 BULK 251 TIP3 H2 HT .417000 1.00800 0 1652 BULK 252 TIP3 OH2 OT -.834000 15.9994 0 1653 BULK 252 TIP3 H1 HT .417000 1.00800 0 1654 BULK 252 TIP3 H2 HT .417000 1.00800 0 1655 BULK 253 TIP3 OH2 OT -.834000 15.9994 0 1656 BULK 253 TIP3 H1 HT .417000 1.00800 0 1657 BULK 253 TIP3 H2 HT .417000 1.00800 0 1658 BULK 254 TIP3 OH2 OT -.834000 15.9994 0 1659 BULK 254 TIP3 H1 HT .417000 1.00800 0 1660 BULK 254 TIP3 H2 HT .417000 1.00800 0 1661 BULK 255 TIP3 OH2 OT -.834000 15.9994 0 1662 BULK 255 TIP3 H1 HT .417000 1.00800 0 1663 BULK 255 TIP3 H2 HT .417000 1.00800 0 1664 BULK 256 TIP3 OH2 OT -.834000 15.9994 0 1665 BULK 256 TIP3 H1 HT .417000 1.00800 0 1666 BULK 256 TIP3 H2 HT .417000 1.00800 0 1667 BULK 257 TIP3 OH2 OT -.834000 15.9994 0 1668 BULK 257 TIP3 H1 HT .417000 1.00800 0 1669 BULK 257 TIP3 H2 HT .417000 1.00800 0 1670 BULK 258 TIP3 OH2 OT -.834000 15.9994 0 1671 BULK 258 TIP3 H1 HT .417000 1.00800 0 1672 BULK 258 TIP3 H2 HT .417000 1.00800 0 1673 BULK 259 TIP3 OH2 OT -.834000 15.9994 0 1674 BULK 259 TIP3 H1 HT .417000 1.00800 0 1675 BULK 259 TIP3 H2 HT .417000 1.00800 0 1676 BULK 260 TIP3 OH2 OT -.834000 15.9994 0 1677 BULK 260 TIP3 H1 HT .417000 1.00800 0 1678 BULK 260 TIP3 H2 HT .417000 1.00800 0 1679 BULK 261 TIP3 OH2 OT -.834000 15.9994 0 1680 BULK 261 TIP3 H1 HT .417000 1.00800 0 1681 BULK 261 TIP3 H2 HT .417000 1.00800 0 1682 BULK 262 TIP3 OH2 OT -.834000 15.9994 0 1683 BULK 262 TIP3 H1 HT .417000 1.00800 0 1684 BULK 262 TIP3 H2 HT .417000 1.00800 0 1685 BULK 263 TIP3 OH2 OT -.834000 15.9994 0 1686 BULK 263 TIP3 H1 HT .417000 1.00800 0 1687 BULK 263 TIP3 H2 HT .417000 1.00800 0 1688 BULK 264 TIP3 OH2 OT -.834000 15.9994 0 1689 BULK 264 TIP3 H1 HT .417000 1.00800 0 1690 BULK 264 TIP3 H2 HT .417000 1.00800 0 1691 BULK 265 TIP3 OH2 OT -.834000 15.9994 0 1692 BULK 265 TIP3 H1 HT .417000 1.00800 0 1693 BULK 265 TIP3 H2 HT .417000 1.00800 0 1694 BULK 266 TIP3 OH2 OT -.834000 15.9994 0 1695 BULK 266 TIP3 H1 HT .417000 1.00800 0 1696 BULK 266 TIP3 H2 HT .417000 1.00800 0 1697 BULK 267 TIP3 OH2 OT -.834000 15.9994 0 1698 BULK 267 TIP3 H1 HT .417000 1.00800 0 1699 BULK 267 TIP3 H2 HT .417000 1.00800 0 1700 BULK 268 TIP3 OH2 OT -.834000 15.9994 0 1701 BULK 268 TIP3 H1 HT .417000 1.00800 0 1702 BULK 268 TIP3 H2 HT .417000 1.00800 0 1703 BULK 269 TIP3 OH2 OT -.834000 15.9994 0 1704 BULK 269 TIP3 H1 HT .417000 1.00800 0 1705 BULK 269 TIP3 H2 HT .417000 1.00800 0 1706 BULK 270 TIP3 OH2 OT -.834000 15.9994 0 1707 BULK 270 TIP3 H1 HT .417000 1.00800 0 1708 BULK 270 TIP3 H2 HT .417000 1.00800 0 1709 BULK 271 TIP3 OH2 OT -.834000 15.9994 0 1710 BULK 271 TIP3 H1 HT .417000 1.00800 0 1711 BULK 271 TIP3 H2 HT .417000 1.00800 0 1712 BULK 272 TIP3 OH2 OT -.834000 15.9994 0 1713 BULK 272 TIP3 H1 HT .417000 1.00800 0 1714 BULK 272 TIP3 H2 HT .417000 1.00800 0 1715 BULK 273 TIP3 OH2 OT -.834000 15.9994 0 1716 BULK 273 TIP3 H1 HT .417000 1.00800 0 1717 BULK 273 TIP3 H2 HT .417000 1.00800 0 1718 BULK 274 TIP3 OH2 OT -.834000 15.9994 0 1719 BULK 274 TIP3 H1 HT .417000 1.00800 0 1720 BULK 274 TIP3 H2 HT .417000 1.00800 0 1721 BULK 275 TIP3 OH2 OT -.834000 15.9994 0 1722 BULK 275 TIP3 H1 HT .417000 1.00800 0 1723 BULK 275 TIP3 H2 HT .417000 1.00800 0 1724 BULK 276 TIP3 OH2 OT -.834000 15.9994 0 1725 BULK 276 TIP3 H1 HT .417000 1.00800 0 1726 BULK 276 TIP3 H2 HT .417000 1.00800 0 1727 BULK 277 TIP3 OH2 OT -.834000 15.9994 0 1728 BULK 277 TIP3 H1 HT .417000 1.00800 0 1729 BULK 277 TIP3 H2 HT .417000 1.00800 0 1730 BULK 278 TIP3 OH2 OT -.834000 15.9994 0 1731 BULK 278 TIP3 H1 HT .417000 1.00800 0 1732 BULK 278 TIP3 H2 HT .417000 1.00800 0 1733 BULK 279 TIP3 OH2 OT -.834000 15.9994 0 1734 BULK 279 TIP3 H1 HT .417000 1.00800 0 1735 BULK 279 TIP3 H2 HT .417000 1.00800 0 1736 BULK 280 TIP3 OH2 OT -.834000 15.9994 0 1737 BULK 280 TIP3 H1 HT .417000 1.00800 0 1738 BULK 280 TIP3 H2 HT .417000 1.00800 0 1739 BULK 281 TIP3 OH2 OT -.834000 15.9994 0 1740 BULK 281 TIP3 H1 HT .417000 1.00800 0 1741 BULK 281 TIP3 H2 HT .417000 1.00800 0 1742 BULK 282 TIP3 OH2 OT -.834000 15.9994 0 1743 BULK 282 TIP3 H1 HT .417000 1.00800 0 1744 BULK 282 TIP3 H2 HT .417000 1.00800 0 1745 BULK 283 TIP3 OH2 OT -.834000 15.9994 0 1746 BULK 283 TIP3 H1 HT .417000 1.00800 0 1747 BULK 283 TIP3 H2 HT .417000 1.00800 0 1748 BULK 284 TIP3 OH2 OT -.834000 15.9994 0 1749 BULK 284 TIP3 H1 HT .417000 1.00800 0 1750 BULK 284 TIP3 H2 HT .417000 1.00800 0 1751 BULK 285 TIP3 OH2 OT -.834000 15.9994 0 1752 BULK 285 TIP3 H1 HT .417000 1.00800 0 1753 BULK 285 TIP3 H2 HT .417000 1.00800 0 1754 BULK 286 TIP3 OH2 OT -.834000 15.9994 0 1755 BULK 286 TIP3 H1 HT .417000 1.00800 0 1756 BULK 286 TIP3 H2 HT .417000 1.00800 0 1757 BULK 287 TIP3 OH2 OT -.834000 15.9994 0 1758 BULK 287 TIP3 H1 HT .417000 1.00800 0 1759 BULK 287 TIP3 H2 HT .417000 1.00800 0 1760 BULK 288 TIP3 OH2 OT -.834000 15.9994 0 1761 BULK 288 TIP3 H1 HT .417000 1.00800 0 1762 BULK 288 TIP3 H2 HT .417000 1.00800 0 1763 BULK 289 TIP3 OH2 OT -.834000 15.9994 0 1764 BULK 289 TIP3 H1 HT .417000 1.00800 0 1765 BULK 289 TIP3 H2 HT .417000 1.00800 0 1766 BULK 290 TIP3 OH2 OT -.834000 15.9994 0 1767 BULK 290 TIP3 H1 HT .417000 1.00800 0 1768 BULK 290 TIP3 H2 HT .417000 1.00800 0 1769 BULK 291 TIP3 OH2 OT -.834000 15.9994 0 1770 BULK 291 TIP3 H1 HT .417000 1.00800 0 1771 BULK 291 TIP3 H2 HT .417000 1.00800 0 1772 BULK 292 TIP3 OH2 OT -.834000 15.9994 0 1773 BULK 292 TIP3 H1 HT .417000 1.00800 0 1774 BULK 292 TIP3 H2 HT .417000 1.00800 0 1775 BULK 293 TIP3 OH2 OT -.834000 15.9994 0 1776 BULK 293 TIP3 H1 HT .417000 1.00800 0 1777 BULK 293 TIP3 H2 HT .417000 1.00800 0 1778 BULK 294 TIP3 OH2 OT -.834000 15.9994 0 1779 BULK 294 TIP3 H1 HT .417000 1.00800 0 1780 BULK 294 TIP3 H2 HT .417000 1.00800 0 1781 BULK 295 TIP3 OH2 OT -.834000 15.9994 0 1782 BULK 295 TIP3 H1 HT .417000 1.00800 0 1783 BULK 295 TIP3 H2 HT .417000 1.00800 0 1784 BULK 296 TIP3 OH2 OT -.834000 15.9994 0 1785 BULK 296 TIP3 H1 HT .417000 1.00800 0 1786 BULK 296 TIP3 H2 HT .417000 1.00800 0 1787 BULK 297 TIP3 OH2 OT -.834000 15.9994 0 1788 BULK 297 TIP3 H1 HT .417000 1.00800 0 1789 BULK 297 TIP3 H2 HT .417000 1.00800 0 1790 BULK 298 TIP3 OH2 OT -.834000 15.9994 0 1791 BULK 298 TIP3 H1 HT .417000 1.00800 0 1792 BULK 298 TIP3 H2 HT .417000 1.00800 0 1793 BULK 299 TIP3 OH2 OT -.834000 15.9994 0 1794 BULK 299 TIP3 H1 HT .417000 1.00800 0 1795 BULK 299 TIP3 H2 HT .417000 1.00800 0 1796 BULK 300 TIP3 OH2 OT -.834000 15.9994 0 1797 BULK 300 TIP3 H1 HT .417000 1.00800 0 1798 BULK 300 TIP3 H2 HT .417000 1.00800 0 1799 BULK 301 TIP3 OH2 OT -.834000 15.9994 0 1800 BULK 301 TIP3 H1 HT .417000 1.00800 0 1801 BULK 301 TIP3 H2 HT .417000 1.00800 0 1802 BULK 302 TIP3 OH2 OT -.834000 15.9994 0 1803 BULK 302 TIP3 H1 HT .417000 1.00800 0 1804 BULK 302 TIP3 H2 HT .417000 1.00800 0 1805 BULK 303 TIP3 OH2 OT -.834000 15.9994 0 1806 BULK 303 TIP3 H1 HT .417000 1.00800 0 1807 BULK 303 TIP3 H2 HT .417000 1.00800 0 1808 BULK 304 TIP3 OH2 OT -.834000 15.9994 0 1809 BULK 304 TIP3 H1 HT .417000 1.00800 0 1810 BULK 304 TIP3 H2 HT .417000 1.00800 0 1811 BULK 305 TIP3 OH2 OT -.834000 15.9994 0 1812 BULK 305 TIP3 H1 HT .417000 1.00800 0 1813 BULK 305 TIP3 H2 HT .417000 1.00800 0 1814 BULK 306 TIP3 OH2 OT -.834000 15.9994 0 1815 BULK 306 TIP3 H1 HT .417000 1.00800 0 1816 BULK 306 TIP3 H2 HT .417000 1.00800 0 1817 BULK 307 TIP3 OH2 OT -.834000 15.9994 0 1818 BULK 307 TIP3 H1 HT .417000 1.00800 0 1819 BULK 307 TIP3 H2 HT .417000 1.00800 0 1820 BULK 308 TIP3 OH2 OT -.834000 15.9994 0 1821 BULK 308 TIP3 H1 HT .417000 1.00800 0 1822 BULK 308 TIP3 H2 HT .417000 1.00800 0 1823 BULK 309 TIP3 OH2 OT -.834000 15.9994 0 1824 BULK 309 TIP3 H1 HT .417000 1.00800 0 1825 BULK 309 TIP3 H2 HT .417000 1.00800 0 1826 BULK 310 TIP3 OH2 OT -.834000 15.9994 0 1827 BULK 310 TIP3 H1 HT .417000 1.00800 0 1828 BULK 310 TIP3 H2 HT .417000 1.00800 0 1829 BULK 311 TIP3 OH2 OT -.834000 15.9994 0 1830 BULK 311 TIP3 H1 HT .417000 1.00800 0 1831 BULK 311 TIP3 H2 HT .417000 1.00800 0 1832 BULK 312 TIP3 OH2 OT -.834000 15.9994 0 1833 BULK 312 TIP3 H1 HT .417000 1.00800 0 1834 BULK 312 TIP3 H2 HT .417000 1.00800 0 1835 BULK 313 TIP3 OH2 OT -.834000 15.9994 0 1836 BULK 313 TIP3 H1 HT .417000 1.00800 0 1837 BULK 313 TIP3 H2 HT .417000 1.00800 0 1838 BULK 314 TIP3 OH2 OT -.834000 15.9994 0 1839 BULK 314 TIP3 H1 HT .417000 1.00800 0 1840 BULK 314 TIP3 H2 HT .417000 1.00800 0 1841 BULK 315 TIP3 OH2 OT -.834000 15.9994 0 1842 BULK 315 TIP3 H1 HT .417000 1.00800 0 1843 BULK 315 TIP3 H2 HT .417000 1.00800 0 1844 BULK 316 TIP3 OH2 OT -.834000 15.9994 0 1845 BULK 316 TIP3 H1 HT .417000 1.00800 0 1846 BULK 316 TIP3 H2 HT .417000 1.00800 0 1847 BULK 317 TIP3 OH2 OT -.834000 15.9994 0 1848 BULK 317 TIP3 H1 HT .417000 1.00800 0 1849 BULK 317 TIP3 H2 HT .417000 1.00800 0 1850 BULK 318 TIP3 OH2 OT -.834000 15.9994 0 1851 BULK 318 TIP3 H1 HT .417000 1.00800 0 1852 BULK 318 TIP3 H2 HT .417000 1.00800 0 1853 BULK 319 TIP3 OH2 OT -.834000 15.9994 0 1854 BULK 319 TIP3 H1 HT .417000 1.00800 0 1855 BULK 319 TIP3 H2 HT .417000 1.00800 0 1856 BULK 320 TIP3 OH2 OT -.834000 15.9994 0 1857 BULK 320 TIP3 H1 HT .417000 1.00800 0 1858 BULK 320 TIP3 H2 HT .417000 1.00800 0 1859 BULK 321 TIP3 OH2 OT -.834000 15.9994 0 1860 BULK 321 TIP3 H1 HT .417000 1.00800 0 1861 BULK 321 TIP3 H2 HT .417000 1.00800 0 1862 BULK 322 TIP3 OH2 OT -.834000 15.9994 0 1863 BULK 322 TIP3 H1 HT .417000 1.00800 0 1864 BULK 322 TIP3 H2 HT .417000 1.00800 0 1865 BULK 323 TIP3 OH2 OT -.834000 15.9994 0 1866 BULK 323 TIP3 H1 HT .417000 1.00800 0 1867 BULK 323 TIP3 H2 HT .417000 1.00800 0 1868 BULK 324 TIP3 OH2 OT -.834000 15.9994 0 1869 BULK 324 TIP3 H1 HT .417000 1.00800 0 1870 BULK 324 TIP3 H2 HT .417000 1.00800 0 1871 BULK 325 TIP3 OH2 OT -.834000 15.9994 0 1872 BULK 325 TIP3 H1 HT .417000 1.00800 0 1873 BULK 325 TIP3 H2 HT .417000 1.00800 0 1874 BULK 326 TIP3 OH2 OT -.834000 15.9994 0 1875 BULK 326 TIP3 H1 HT .417000 1.00800 0 1876 BULK 326 TIP3 H2 HT .417000 1.00800 0 1877 BULK 327 TIP3 OH2 OT -.834000 15.9994 0 1878 BULK 327 TIP3 H1 HT .417000 1.00800 0 1879 BULK 327 TIP3 H2 HT .417000 1.00800 0 1880 BULK 328 TIP3 OH2 OT -.834000 15.9994 0 1881 BULK 328 TIP3 H1 HT .417000 1.00800 0 1882 BULK 328 TIP3 H2 HT .417000 1.00800 0 1883 BULK 329 TIP3 OH2 OT -.834000 15.9994 0 1884 BULK 329 TIP3 H1 HT .417000 1.00800 0 1885 BULK 329 TIP3 H2 HT .417000 1.00800 0 1886 BULK 330 TIP3 OH2 OT -.834000 15.9994 0 1887 BULK 330 TIP3 H1 HT .417000 1.00800 0 1888 BULK 330 TIP3 H2 HT .417000 1.00800 0 1889 BULK 331 TIP3 OH2 OT -.834000 15.9994 0 1890 BULK 331 TIP3 H1 HT .417000 1.00800 0 1891 BULK 331 TIP3 H2 HT .417000 1.00800 0 1892 BULK 332 TIP3 OH2 OT -.834000 15.9994 0 1893 BULK 332 TIP3 H1 HT .417000 1.00800 0 1894 BULK 332 TIP3 H2 HT .417000 1.00800 0 1895 BULK 333 TIP3 OH2 OT -.834000 15.9994 0 1896 BULK 333 TIP3 H1 HT .417000 1.00800 0 1897 BULK 333 TIP3 H2 HT .417000 1.00800 0 1898 BULK 334 TIP3 OH2 OT -.834000 15.9994 0 1899 BULK 334 TIP3 H1 HT .417000 1.00800 0 1900 BULK 334 TIP3 H2 HT .417000 1.00800 0 1901 BULK 335 TIP3 OH2 OT -.834000 15.9994 0 1902 BULK 335 TIP3 H1 HT .417000 1.00800 0 1903 BULK 335 TIP3 H2 HT .417000 1.00800 0 1904 BULK 336 TIP3 OH2 OT -.834000 15.9994 0 1905 BULK 336 TIP3 H1 HT .417000 1.00800 0 1906 BULK 336 TIP3 H2 HT .417000 1.00800 0 1907 BULK 337 TIP3 OH2 OT -.834000 15.9994 0 1908 BULK 337 TIP3 H1 HT .417000 1.00800 0 1909 BULK 337 TIP3 H2 HT .417000 1.00800 0 1910 BULK 338 TIP3 OH2 OT -.834000 15.9994 0 1911 BULK 338 TIP3 H1 HT .417000 1.00800 0 1912 BULK 338 TIP3 H2 HT .417000 1.00800 0 1913 BULK 339 TIP3 OH2 OT -.834000 15.9994 0 1914 BULK 339 TIP3 H1 HT .417000 1.00800 0 1915 BULK 339 TIP3 H2 HT .417000 1.00800 0 1916 BULK 340 TIP3 OH2 OT -.834000 15.9994 0 1917 BULK 340 TIP3 H1 HT .417000 1.00800 0 1918 BULK 340 TIP3 H2 HT .417000 1.00800 0 1919 BULK 341 TIP3 OH2 OT -.834000 15.9994 0 1920 BULK 341 TIP3 H1 HT .417000 1.00800 0 1921 BULK 341 TIP3 H2 HT .417000 1.00800 0 1922 BULK 342 TIP3 OH2 OT -.834000 15.9994 0 1923 BULK 342 TIP3 H1 HT .417000 1.00800 0 1924 BULK 342 TIP3 H2 HT .417000 1.00800 0 1925 BULK 343 TIP3 OH2 OT -.834000 15.9994 0 1926 BULK 343 TIP3 H1 HT .417000 1.00800 0 1927 BULK 343 TIP3 H2 HT .417000 1.00800 0 1928 BULK 344 TIP3 OH2 OT -.834000 15.9994 0 1929 BULK 344 TIP3 H1 HT .417000 1.00800 0 1930 BULK 344 TIP3 H2 HT .417000 1.00800 0 1931 BULK 345 TIP3 OH2 OT -.834000 15.9994 0 1932 BULK 345 TIP3 H1 HT .417000 1.00800 0 1933 BULK 345 TIP3 H2 HT .417000 1.00800 0 1934 BULK 346 TIP3 OH2 OT -.834000 15.9994 0 1935 BULK 346 TIP3 H1 HT .417000 1.00800 0 1936 BULK 346 TIP3 H2 HT .417000 1.00800 0 1937 BULK 347 TIP3 OH2 OT -.834000 15.9994 0 1938 BULK 347 TIP3 H1 HT .417000 1.00800 0 1939 BULK 347 TIP3 H2 HT .417000 1.00800 0 1940 BULK 348 TIP3 OH2 OT -.834000 15.9994 0 1941 BULK 348 TIP3 H1 HT .417000 1.00800 0 1942 BULK 348 TIP3 H2 HT .417000 1.00800 0 1943 BULK 349 TIP3 OH2 OT -.834000 15.9994 0 1944 BULK 349 TIP3 H1 HT .417000 1.00800 0 1945 BULK 349 TIP3 H2 HT .417000 1.00800 0 1946 BULK 350 TIP3 OH2 OT -.834000 15.9994 0 1947 BULK 350 TIP3 H1 HT .417000 1.00800 0 1948 BULK 350 TIP3 H2 HT .417000 1.00800 0 1949 BULK 351 TIP3 OH2 OT -.834000 15.9994 0 1950 BULK 351 TIP3 H1 HT .417000 1.00800 0 1951 BULK 351 TIP3 H2 HT .417000 1.00800 0 1952 BULK 352 TIP3 OH2 OT -.834000 15.9994 0 1953 BULK 352 TIP3 H1 HT .417000 1.00800 0 1954 BULK 352 TIP3 H2 HT .417000 1.00800 0 1955 BULK 353 TIP3 OH2 OT -.834000 15.9994 0 1956 BULK 353 TIP3 H1 HT .417000 1.00800 0 1957 BULK 353 TIP3 H2 HT .417000 1.00800 0 1958 BULK 354 TIP3 OH2 OT -.834000 15.9994 0 1959 BULK 354 TIP3 H1 HT .417000 1.00800 0 1960 BULK 354 TIP3 H2 HT .417000 1.00800 0 1961 BULK 355 TIP3 OH2 OT -.834000 15.9994 0 1962 BULK 355 TIP3 H1 HT .417000 1.00800 0 1963 BULK 355 TIP3 H2 HT .417000 1.00800 0 1964 BULK 356 TIP3 OH2 OT -.834000 15.9994 0 1965 BULK 356 TIP3 H1 HT .417000 1.00800 0 1966 BULK 356 TIP3 H2 HT .417000 1.00800 0 1967 BULK 357 TIP3 OH2 OT -.834000 15.9994 0 1968 BULK 357 TIP3 H1 HT .417000 1.00800 0 1969 BULK 357 TIP3 H2 HT .417000 1.00800 0 1970 BULK 358 TIP3 OH2 OT -.834000 15.9994 0 1971 BULK 358 TIP3 H1 HT .417000 1.00800 0 1972 BULK 358 TIP3 H2 HT .417000 1.00800 0 1973 BULK 359 TIP3 OH2 OT -.834000 15.9994 0 1974 BULK 359 TIP3 H1 HT .417000 1.00800 0 1975 BULK 359 TIP3 H2 HT .417000 1.00800 0 1976 BULK 360 TIP3 OH2 OT -.834000 15.9994 0 1977 BULK 360 TIP3 H1 HT .417000 1.00800 0 1978 BULK 360 TIP3 H2 HT .417000 1.00800 0 1979 BULK 361 TIP3 OH2 OT -.834000 15.9994 0 1980 BULK 361 TIP3 H1 HT .417000 1.00800 0 1981 BULK 361 TIP3 H2 HT .417000 1.00800 0 1982 BULK 362 TIP3 OH2 OT -.834000 15.9994 0 1983 BULK 362 TIP3 H1 HT .417000 1.00800 0 1984 BULK 362 TIP3 H2 HT .417000 1.00800 0 1985 BULK 363 TIP3 OH2 OT -.834000 15.9994 0 1986 BULK 363 TIP3 H1 HT .417000 1.00800 0 1987 BULK 363 TIP3 H2 HT .417000 1.00800 0 1988 BULK 364 TIP3 OH2 OT -.834000 15.9994 0 1989 BULK 364 TIP3 H1 HT .417000 1.00800 0 1990 BULK 364 TIP3 H2 HT .417000 1.00800 0 1991 BULK 365 TIP3 OH2 OT -.834000 15.9994 0 1992 BULK 365 TIP3 H1 HT .417000 1.00800 0 1993 BULK 365 TIP3 H2 HT .417000 1.00800 0 1994 BULK 366 TIP3 OH2 OT -.834000 15.9994 0 1995 BULK 366 TIP3 H1 HT .417000 1.00800 0 1996 BULK 366 TIP3 H2 HT .417000 1.00800 0 1997 BULK 367 TIP3 OH2 OT -.834000 15.9994 0 1998 BULK 367 TIP3 H1 HT .417000 1.00800 0 1999 BULK 367 TIP3 H2 HT .417000 1.00800 0 2000 BULK 368 TIP3 OH2 OT -.834000 15.9994 0 2001 BULK 368 TIP3 H1 HT .417000 1.00800 0 2002 BULK 368 TIP3 H2 HT .417000 1.00800 0 2003 BULK 369 TIP3 OH2 OT -.834000 15.9994 0 2004 BULK 369 TIP3 H1 HT .417000 1.00800 0 2005 BULK 369 TIP3 H2 HT .417000 1.00800 0 2006 BULK 370 TIP3 OH2 OT -.834000 15.9994 0 2007 BULK 370 TIP3 H1 HT .417000 1.00800 0 2008 BULK 370 TIP3 H2 HT .417000 1.00800 0 2009 BULK 371 TIP3 OH2 OT -.834000 15.9994 0 2010 BULK 371 TIP3 H1 HT .417000 1.00800 0 2011 BULK 371 TIP3 H2 HT .417000 1.00800 0 2012 BULK 372 TIP3 OH2 OT -.834000 15.9994 0 2013 BULK 372 TIP3 H1 HT .417000 1.00800 0 2014 BULK 372 TIP3 H2 HT .417000 1.00800 0 2015 BULK 373 TIP3 OH2 OT -.834000 15.9994 0 2016 BULK 373 TIP3 H1 HT .417000 1.00800 0 2017 BULK 373 TIP3 H2 HT .417000 1.00800 0 2018 BULK 374 TIP3 OH2 OT -.834000 15.9994 0 2019 BULK 374 TIP3 H1 HT .417000 1.00800 0 2020 BULK 374 TIP3 H2 HT .417000 1.00800 0 2021 BULK 375 TIP3 OH2 OT -.834000 15.9994 0 2022 BULK 375 TIP3 H1 HT .417000 1.00800 0 2023 BULK 375 TIP3 H2 HT .417000 1.00800 0 2024 BULK 376 TIP3 OH2 OT -.834000 15.9994 0 2025 BULK 376 TIP3 H1 HT .417000 1.00800 0 2026 BULK 376 TIP3 H2 HT .417000 1.00800 0 2027 BULK 377 TIP3 OH2 OT -.834000 15.9994 0 2028 BULK 377 TIP3 H1 HT .417000 1.00800 0 2029 BULK 377 TIP3 H2 HT .417000 1.00800 0 2030 BULK 378 TIP3 OH2 OT -.834000 15.9994 0 2031 BULK 378 TIP3 H1 HT .417000 1.00800 0 2032 BULK 378 TIP3 H2 HT .417000 1.00800 0 2033 BULK 379 TIP3 OH2 OT -.834000 15.9994 0 2034 BULK 379 TIP3 H1 HT .417000 1.00800 0 2035 BULK 379 TIP3 H2 HT .417000 1.00800 0 2036 BULK 380 TIP3 OH2 OT -.834000 15.9994 0 2037 BULK 380 TIP3 H1 HT .417000 1.00800 0 2038 BULK 380 TIP3 H2 HT .417000 1.00800 0 2039 BULK 381 TIP3 OH2 OT -.834000 15.9994 0 2040 BULK 381 TIP3 H1 HT .417000 1.00800 0 2041 BULK 381 TIP3 H2 HT .417000 1.00800 0 2042 BULK 382 TIP3 OH2 OT -.834000 15.9994 0 2043 BULK 382 TIP3 H1 HT .417000 1.00800 0 2044 BULK 382 TIP3 H2 HT .417000 1.00800 0 2045 BULK 383 TIP3 OH2 OT -.834000 15.9994 0 2046 BULK 383 TIP3 H1 HT .417000 1.00800 0 2047 BULK 383 TIP3 H2 HT .417000 1.00800 0 2048 BULK 384 TIP3 OH2 OT -.834000 15.9994 0 2049 BULK 384 TIP3 H1 HT .417000 1.00800 0 2050 BULK 384 TIP3 H2 HT .417000 1.00800 0 2051 BULK 385 TIP3 OH2 OT -.834000 15.9994 0 2052 BULK 385 TIP3 H1 HT .417000 1.00800 0 2053 BULK 385 TIP3 H2 HT .417000 1.00800 0 2054 BULK 386 TIP3 OH2 OT -.834000 15.9994 0 2055 BULK 386 TIP3 H1 HT .417000 1.00800 0 2056 BULK 386 TIP3 H2 HT .417000 1.00800 0 2057 BULK 387 TIP3 OH2 OT -.834000 15.9994 0 2058 BULK 387 TIP3 H1 HT .417000 1.00800 0 2059 BULK 387 TIP3 H2 HT .417000 1.00800 0 2060 BULK 388 TIP3 OH2 OT -.834000 15.9994 0 2061 BULK 388 TIP3 H1 HT .417000 1.00800 0 2062 BULK 388 TIP3 H2 HT .417000 1.00800 0 2063 BULK 389 TIP3 OH2 OT -.834000 15.9994 0 2064 BULK 389 TIP3 H1 HT .417000 1.00800 0 2065 BULK 389 TIP3 H2 HT .417000 1.00800 0 2066 BULK 390 TIP3 OH2 OT -.834000 15.9994 0 2067 BULK 390 TIP3 H1 HT .417000 1.00800 0 2068 BULK 390 TIP3 H2 HT .417000 1.00800 0 2069 BULK 391 TIP3 OH2 OT -.834000 15.9994 0 2070 BULK 391 TIP3 H1 HT .417000 1.00800 0 2071 BULK 391 TIP3 H2 HT .417000 1.00800 0 2072 BULK 392 TIP3 OH2 OT -.834000 15.9994 0 2073 BULK 392 TIP3 H1 HT .417000 1.00800 0 2074 BULK 392 TIP3 H2 HT .417000 1.00800 0 2075 BULK 393 TIP3 OH2 OT -.834000 15.9994 0 2076 BULK 393 TIP3 H1 HT .417000 1.00800 0 2077 BULK 393 TIP3 H2 HT .417000 1.00800 0 2078 BULK 394 TIP3 OH2 OT -.834000 15.9994 0 2079 BULK 394 TIP3 H1 HT .417000 1.00800 0 2080 BULK 394 TIP3 H2 HT .417000 1.00800 0 2081 BULK 395 TIP3 OH2 OT -.834000 15.9994 0 2082 BULK 395 TIP3 H1 HT .417000 1.00800 0 2083 BULK 395 TIP3 H2 HT .417000 1.00800 0 2084 BULK 396 TIP3 OH2 OT -.834000 15.9994 0 2085 BULK 396 TIP3 H1 HT .417000 1.00800 0 2086 BULK 396 TIP3 H2 HT .417000 1.00800 0 2087 BULK 397 TIP3 OH2 OT -.834000 15.9994 0 2088 BULK 397 TIP3 H1 HT .417000 1.00800 0 2089 BULK 397 TIP3 H2 HT .417000 1.00800 0 2090 BULK 398 TIP3 OH2 OT -.834000 15.9994 0 2091 BULK 398 TIP3 H1 HT .417000 1.00800 0 2092 BULK 398 TIP3 H2 HT .417000 1.00800 0 2093 BULK 399 TIP3 OH2 OT -.834000 15.9994 0 2094 BULK 399 TIP3 H1 HT .417000 1.00800 0 2095 BULK 399 TIP3 H2 HT .417000 1.00800 0 2096 BULK 400 TIP3 OH2 OT -.834000 15.9994 0 2097 BULK 400 TIP3 H1 HT .417000 1.00800 0 2098 BULK 400 TIP3 H2 HT .417000 1.00800 0 2099 BULK 401 TIP3 OH2 OT -.834000 15.9994 0 2100 BULK 401 TIP3 H1 HT .417000 1.00800 0 2101 BULK 401 TIP3 H2 HT .417000 1.00800 0 2102 BULK 402 TIP3 OH2 OT -.834000 15.9994 0 2103 BULK 402 TIP3 H1 HT .417000 1.00800 0 2104 BULK 402 TIP3 H2 HT .417000 1.00800 0 2105 BULK 403 TIP3 OH2 OT -.834000 15.9994 0 2106 BULK 403 TIP3 H1 HT .417000 1.00800 0 2107 BULK 403 TIP3 H2 HT .417000 1.00800 0 2108 BULK 404 TIP3 OH2 OT -.834000 15.9994 0 2109 BULK 404 TIP3 H1 HT .417000 1.00800 0 2110 BULK 404 TIP3 H2 HT .417000 1.00800 0 2111 BULK 405 TIP3 OH2 OT -.834000 15.9994 0 2112 BULK 405 TIP3 H1 HT .417000 1.00800 0 2113 BULK 405 TIP3 H2 HT .417000 1.00800 0 2114 BULK 406 TIP3 OH2 OT -.834000 15.9994 0 2115 BULK 406 TIP3 H1 HT .417000 1.00800 0 2116 BULK 406 TIP3 H2 HT .417000 1.00800 0 2117 BULK 407 TIP3 OH2 OT -.834000 15.9994 0 2118 BULK 407 TIP3 H1 HT .417000 1.00800 0 2119 BULK 407 TIP3 H2 HT .417000 1.00800 0 2120 BULK 408 TIP3 OH2 OT -.834000 15.9994 0 2121 BULK 408 TIP3 H1 HT .417000 1.00800 0 2122 BULK 408 TIP3 H2 HT .417000 1.00800 0 2123 BULK 409 TIP3 OH2 OT -.834000 15.9994 0 2124 BULK 409 TIP3 H1 HT .417000 1.00800 0 2125 BULK 409 TIP3 H2 HT .417000 1.00800 0 2126 BULK 410 TIP3 OH2 OT -.834000 15.9994 0 2127 BULK 410 TIP3 H1 HT .417000 1.00800 0 2128 BULK 410 TIP3 H2 HT .417000 1.00800 0 2129 BULK 411 TIP3 OH2 OT -.834000 15.9994 0 2130 BULK 411 TIP3 H1 HT .417000 1.00800 0 2131 BULK 411 TIP3 H2 HT .417000 1.00800 0 2132 BULK 412 TIP3 OH2 OT -.834000 15.9994 0 2133 BULK 412 TIP3 H1 HT .417000 1.00800 0 2134 BULK 412 TIP3 H2 HT .417000 1.00800 0 2135 BULK 413 TIP3 OH2 OT -.834000 15.9994 0 2136 BULK 413 TIP3 H1 HT .417000 1.00800 0 2137 BULK 413 TIP3 H2 HT .417000 1.00800 0 2138 BULK 414 TIP3 OH2 OT -.834000 15.9994 0 2139 BULK 414 TIP3 H1 HT .417000 1.00800 0 2140 BULK 414 TIP3 H2 HT .417000 1.00800 0 2141 BULK 415 TIP3 OH2 OT -.834000 15.9994 0 2142 BULK 415 TIP3 H1 HT .417000 1.00800 0 2143 BULK 415 TIP3 H2 HT .417000 1.00800 0 2144 BULK 416 TIP3 OH2 OT -.834000 15.9994 0 2145 BULK 416 TIP3 H1 HT .417000 1.00800 0 2146 BULK 416 TIP3 H2 HT .417000 1.00800 0 2147 BULK 417 TIP3 OH2 OT -.834000 15.9994 0 2148 BULK 417 TIP3 H1 HT .417000 1.00800 0 2149 BULK 417 TIP3 H2 HT .417000 1.00800 0 2150 BULK 418 TIP3 OH2 OT -.834000 15.9994 0 2151 BULK 418 TIP3 H1 HT .417000 1.00800 0 2152 BULK 418 TIP3 H2 HT .417000 1.00800 0 2153 BULK 419 TIP3 OH2 OT -.834000 15.9994 0 2154 BULK 419 TIP3 H1 HT .417000 1.00800 0 2155 BULK 419 TIP3 H2 HT .417000 1.00800 0 2156 BULK 420 TIP3 OH2 OT -.834000 15.9994 0 2157 BULK 420 TIP3 H1 HT .417000 1.00800 0 2158 BULK 420 TIP3 H2 HT .417000 1.00800 0 2159 BULK 421 TIP3 OH2 OT -.834000 15.9994 0 2160 BULK 421 TIP3 H1 HT .417000 1.00800 0 2161 BULK 421 TIP3 H2 HT .417000 1.00800 0 2162 BULK 422 TIP3 OH2 OT -.834000 15.9994 0 2163 BULK 422 TIP3 H1 HT .417000 1.00800 0 2164 BULK 422 TIP3 H2 HT .417000 1.00800 0 2165 BULK 423 TIP3 OH2 OT -.834000 15.9994 0 2166 BULK 423 TIP3 H1 HT .417000 1.00800 0 2167 BULK 423 TIP3 H2 HT .417000 1.00800 0 2168 BULK 424 TIP3 OH2 OT -.834000 15.9994 0 2169 BULK 424 TIP3 H1 HT .417000 1.00800 0 2170 BULK 424 TIP3 H2 HT .417000 1.00800 0 2171 BULK 425 TIP3 OH2 OT -.834000 15.9994 0 2172 BULK 425 TIP3 H1 HT .417000 1.00800 0 2173 BULK 425 TIP3 H2 HT .417000 1.00800 0 2174 BULK 426 TIP3 OH2 OT -.834000 15.9994 0 2175 BULK 426 TIP3 H1 HT .417000 1.00800 0 2176 BULK 426 TIP3 H2 HT .417000 1.00800 0 2177 BULK 427 TIP3 OH2 OT -.834000 15.9994 0 2178 BULK 427 TIP3 H1 HT .417000 1.00800 0 2179 BULK 427 TIP3 H2 HT .417000 1.00800 0 2180 BULK 428 TIP3 OH2 OT -.834000 15.9994 0 2181 BULK 428 TIP3 H1 HT .417000 1.00800 0 2182 BULK 428 TIP3 H2 HT .417000 1.00800 0 2183 BULK 429 TIP3 OH2 OT -.834000 15.9994 0 2184 BULK 429 TIP3 H1 HT .417000 1.00800 0 2185 BULK 429 TIP3 H2 HT .417000 1.00800 0 2186 BULK 430 TIP3 OH2 OT -.834000 15.9994 0 2187 BULK 430 TIP3 H1 HT .417000 1.00800 0 2188 BULK 430 TIP3 H2 HT .417000 1.00800 0 2189 BULK 431 TIP3 OH2 OT -.834000 15.9994 0 2190 BULK 431 TIP3 H1 HT .417000 1.00800 0 2191 BULK 431 TIP3 H2 HT .417000 1.00800 0 2192 BULK 432 TIP3 OH2 OT -.834000 15.9994 0 2193 BULK 432 TIP3 H1 HT .417000 1.00800 0 2194 BULK 432 TIP3 H2 HT .417000 1.00800 0 2195 BULK 433 TIP3 OH2 OT -.834000 15.9994 0 2196 BULK 433 TIP3 H1 HT .417000 1.00800 0 2197 BULK 433 TIP3 H2 HT .417000 1.00800 0 2198 BULK 434 TIP3 OH2 OT -.834000 15.9994 0 2199 BULK 434 TIP3 H1 HT .417000 1.00800 0 2200 BULK 434 TIP3 H2 HT .417000 1.00800 0 2201 BULK 435 TIP3 OH2 OT -.834000 15.9994 0 2202 BULK 435 TIP3 H1 HT .417000 1.00800 0 2203 BULK 435 TIP3 H2 HT .417000 1.00800 0 2204 BULK 436 TIP3 OH2 OT -.834000 15.9994 0 2205 BULK 436 TIP3 H1 HT .417000 1.00800 0 2206 BULK 436 TIP3 H2 HT .417000 1.00800 0 2207 BULK 437 TIP3 OH2 OT -.834000 15.9994 0 2208 BULK 437 TIP3 H1 HT .417000 1.00800 0 2209 BULK 437 TIP3 H2 HT .417000 1.00800 0 2210 BULK 438 TIP3 OH2 OT -.834000 15.9994 0 2211 BULK 438 TIP3 H1 HT .417000 1.00800 0 2212 BULK 438 TIP3 H2 HT .417000 1.00800 0 2213 BULK 439 TIP3 OH2 OT -.834000 15.9994 0 2214 BULK 439 TIP3 H1 HT .417000 1.00800 0 2215 BULK 439 TIP3 H2 HT .417000 1.00800 0 2216 BULK 440 TIP3 OH2 OT -.834000 15.9994 0 2217 BULK 440 TIP3 H1 HT .417000 1.00800 0 2218 BULK 440 TIP3 H2 HT .417000 1.00800 0 2219 BULK 441 TIP3 OH2 OT -.834000 15.9994 0 2220 BULK 441 TIP3 H1 HT .417000 1.00800 0 2221 BULK 441 TIP3 H2 HT .417000 1.00800 0 2222 BULK 442 TIP3 OH2 OT -.834000 15.9994 0 2223 BULK 442 TIP3 H1 HT .417000 1.00800 0 2224 BULK 442 TIP3 H2 HT .417000 1.00800 0 2225 BULK 443 TIP3 OH2 OT -.834000 15.9994 0 2226 BULK 443 TIP3 H1 HT .417000 1.00800 0 2227 BULK 443 TIP3 H2 HT .417000 1.00800 0 2228 BULK 444 TIP3 OH2 OT -.834000 15.9994 0 2229 BULK 444 TIP3 H1 HT .417000 1.00800 0 2230 BULK 444 TIP3 H2 HT .417000 1.00800 0 2231 BULK 445 TIP3 OH2 OT -.834000 15.9994 0 2232 BULK 445 TIP3 H1 HT .417000 1.00800 0 2233 BULK 445 TIP3 H2 HT .417000 1.00800 0 2234 BULK 446 TIP3 OH2 OT -.834000 15.9994 0 2235 BULK 446 TIP3 H1 HT .417000 1.00800 0 2236 BULK 446 TIP3 H2 HT .417000 1.00800 0 2237 BULK 447 TIP3 OH2 OT -.834000 15.9994 0 2238 BULK 447 TIP3 H1 HT .417000 1.00800 0 2239 BULK 447 TIP3 H2 HT .417000 1.00800 0 2240 BULK 448 TIP3 OH2 OT -.834000 15.9994 0 2241 BULK 448 TIP3 H1 HT .417000 1.00800 0 2242 BULK 448 TIP3 H2 HT .417000 1.00800 0 2243 BULK 449 TIP3 OH2 OT -.834000 15.9994 0 2244 BULK 449 TIP3 H1 HT .417000 1.00800 0 2245 BULK 449 TIP3 H2 HT .417000 1.00800 0 2246 BULK 450 TIP3 OH2 OT -.834000 15.9994 0 2247 BULK 450 TIP3 H1 HT .417000 1.00800 0 2248 BULK 450 TIP3 H2 HT .417000 1.00800 0 2249 BULK 451 TIP3 OH2 OT -.834000 15.9994 0 2250 BULK 451 TIP3 H1 HT .417000 1.00800 0 2251 BULK 451 TIP3 H2 HT .417000 1.00800 0 2252 BULK 452 TIP3 OH2 OT -.834000 15.9994 0 2253 BULK 452 TIP3 H1 HT .417000 1.00800 0 2254 BULK 452 TIP3 H2 HT .417000 1.00800 0 2255 BULK 453 TIP3 OH2 OT -.834000 15.9994 0 2256 BULK 453 TIP3 H1 HT .417000 1.00800 0 2257 BULK 453 TIP3 H2 HT .417000 1.00800 0 2258 BULK 454 TIP3 OH2 OT -.834000 15.9994 0 2259 BULK 454 TIP3 H1 HT .417000 1.00800 0 2260 BULK 454 TIP3 H2 HT .417000 1.00800 0 2261 BULK 455 TIP3 OH2 OT -.834000 15.9994 0 2262 BULK 455 TIP3 H1 HT .417000 1.00800 0 2263 BULK 455 TIP3 H2 HT .417000 1.00800 0 2264 BULK 456 TIP3 OH2 OT -.834000 15.9994 0 2265 BULK 456 TIP3 H1 HT .417000 1.00800 0 2266 BULK 456 TIP3 H2 HT .417000 1.00800 0 2267 BULK 457 TIP3 OH2 OT -.834000 15.9994 0 2268 BULK 457 TIP3 H1 HT .417000 1.00800 0 2269 BULK 457 TIP3 H2 HT .417000 1.00800 0 2270 BULK 458 TIP3 OH2 OT -.834000 15.9994 0 2271 BULK 458 TIP3 H1 HT .417000 1.00800 0 2272 BULK 458 TIP3 H2 HT .417000 1.00800 0 2273 BULK 459 TIP3 OH2 OT -.834000 15.9994 0 2274 BULK 459 TIP3 H1 HT .417000 1.00800 0 2275 BULK 459 TIP3 H2 HT .417000 1.00800 0 2276 BULK 460 TIP3 OH2 OT -.834000 15.9994 0 2277 BULK 460 TIP3 H1 HT .417000 1.00800 0 2278 BULK 460 TIP3 H2 HT .417000 1.00800 0 2279 BULK 461 TIP3 OH2 OT -.834000 15.9994 0 2280 BULK 461 TIP3 H1 HT .417000 1.00800 0 2281 BULK 461 TIP3 H2 HT .417000 1.00800 0 2282 BULK 462 TIP3 OH2 OT -.834000 15.9994 0 2283 BULK 462 TIP3 H1 HT .417000 1.00800 0 2284 BULK 462 TIP3 H2 HT .417000 1.00800 0 2285 BULK 463 TIP3 OH2 OT -.834000 15.9994 0 2286 BULK 463 TIP3 H1 HT .417000 1.00800 0 2287 BULK 463 TIP3 H2 HT .417000 1.00800 0 2288 BULK 464 TIP3 OH2 OT -.834000 15.9994 0 2289 BULK 464 TIP3 H1 HT .417000 1.00800 0 2290 BULK 464 TIP3 H2 HT .417000 1.00800 0 2291 BULK 465 TIP3 OH2 OT -.834000 15.9994 0 2292 BULK 465 TIP3 H1 HT .417000 1.00800 0 2293 BULK 465 TIP3 H2 HT .417000 1.00800 0 2294 BULK 466 TIP3 OH2 OT -.834000 15.9994 0 2295 BULK 466 TIP3 H1 HT .417000 1.00800 0 2296 BULK 466 TIP3 H2 HT .417000 1.00800 0 2297 BULK 467 TIP3 OH2 OT -.834000 15.9994 0 2298 BULK 467 TIP3 H1 HT .417000 1.00800 0 2299 BULK 467 TIP3 H2 HT .417000 1.00800 0 2300 BULK 468 TIP3 OH2 OT -.834000 15.9994 0 2301 BULK 468 TIP3 H1 HT .417000 1.00800 0 2302 BULK 468 TIP3 H2 HT .417000 1.00800 0 2303 BULK 469 TIP3 OH2 OT -.834000 15.9994 0 2304 BULK 469 TIP3 H1 HT .417000 1.00800 0 2305 BULK 469 TIP3 H2 HT .417000 1.00800 0 2306 BULK 470 TIP3 OH2 OT -.834000 15.9994 0 2307 BULK 470 TIP3 H1 HT .417000 1.00800 0 2308 BULK 470 TIP3 H2 HT .417000 1.00800 0 2309 BULK 471 TIP3 OH2 OT -.834000 15.9994 0 2310 BULK 471 TIP3 H1 HT .417000 1.00800 0 2311 BULK 471 TIP3 H2 HT .417000 1.00800 0 2312 BULK 472 TIP3 OH2 OT -.834000 15.9994 0 2313 BULK 472 TIP3 H1 HT .417000 1.00800 0 2314 BULK 472 TIP3 H2 HT .417000 1.00800 0 2315 BULK 473 TIP3 OH2 OT -.834000 15.9994 0 2316 BULK 473 TIP3 H1 HT .417000 1.00800 0 2317 BULK 473 TIP3 H2 HT .417000 1.00800 0 2318 BULK 474 TIP3 OH2 OT -.834000 15.9994 0 2319 BULK 474 TIP3 H1 HT .417000 1.00800 0 2320 BULK 474 TIP3 H2 HT .417000 1.00800 0 2321 BULK 475 TIP3 OH2 OT -.834000 15.9994 0 2322 BULK 475 TIP3 H1 HT .417000 1.00800 0 2323 BULK 475 TIP3 H2 HT .417000 1.00800 0 2324 BULK 476 TIP3 OH2 OT -.834000 15.9994 0 2325 BULK 476 TIP3 H1 HT .417000 1.00800 0 2326 BULK 476 TIP3 H2 HT .417000 1.00800 0 2327 BULK 477 TIP3 OH2 OT -.834000 15.9994 0 2328 BULK 477 TIP3 H1 HT .417000 1.00800 0 2329 BULK 477 TIP3 H2 HT .417000 1.00800 0 2330 BULK 478 TIP3 OH2 OT -.834000 15.9994 0 2331 BULK 478 TIP3 H1 HT .417000 1.00800 0 2332 BULK 478 TIP3 H2 HT .417000 1.00800 0 2333 BULK 479 TIP3 OH2 OT -.834000 15.9994 0 2334 BULK 479 TIP3 H1 HT .417000 1.00800 0 2335 BULK 479 TIP3 H2 HT .417000 1.00800 0 2336 BULK 480 TIP3 OH2 OT -.834000 15.9994 0 2337 BULK 480 TIP3 H1 HT .417000 1.00800 0 2338 BULK 480 TIP3 H2 HT .417000 1.00800 0 2339 BULK 481 TIP3 OH2 OT -.834000 15.9994 0 2340 BULK 481 TIP3 H1 HT .417000 1.00800 0 2341 BULK 481 TIP3 H2 HT .417000 1.00800 0 2342 BULK 482 TIP3 OH2 OT -.834000 15.9994 0 2343 BULK 482 TIP3 H1 HT .417000 1.00800 0 2344 BULK 482 TIP3 H2 HT .417000 1.00800 0 2345 BULK 483 TIP3 OH2 OT -.834000 15.9994 0 2346 BULK 483 TIP3 H1 HT .417000 1.00800 0 2347 BULK 483 TIP3 H2 HT .417000 1.00800 0 2348 BULK 484 TIP3 OH2 OT -.834000 15.9994 0 2349 BULK 484 TIP3 H1 HT .417000 1.00800 0 2350 BULK 484 TIP3 H2 HT .417000 1.00800 0 2351 BULK 485 TIP3 OH2 OT -.834000 15.9994 0 2352 BULK 485 TIP3 H1 HT .417000 1.00800 0 2353 BULK 485 TIP3 H2 HT .417000 1.00800 0 2354 BULK 486 TIP3 OH2 OT -.834000 15.9994 0 2355 BULK 486 TIP3 H1 HT .417000 1.00800 0 2356 BULK 486 TIP3 H2 HT .417000 1.00800 0 2357 BULK 487 TIP3 OH2 OT -.834000 15.9994 0 2358 BULK 487 TIP3 H1 HT .417000 1.00800 0 2359 BULK 487 TIP3 H2 HT .417000 1.00800 0 2360 BULK 488 TIP3 OH2 OT -.834000 15.9994 0 2361 BULK 488 TIP3 H1 HT .417000 1.00800 0 2362 BULK 488 TIP3 H2 HT .417000 1.00800 0 2363 BULK 489 TIP3 OH2 OT -.834000 15.9994 0 2364 BULK 489 TIP3 H1 HT .417000 1.00800 0 2365 BULK 489 TIP3 H2 HT .417000 1.00800 0 2366 BULK 490 TIP3 OH2 OT -.834000 15.9994 0 2367 BULK 490 TIP3 H1 HT .417000 1.00800 0 2368 BULK 490 TIP3 H2 HT .417000 1.00800 0 2369 BULK 491 TIP3 OH2 OT -.834000 15.9994 0 2370 BULK 491 TIP3 H1 HT .417000 1.00800 0 2371 BULK 491 TIP3 H2 HT .417000 1.00800 0 2372 BULK 492 TIP3 OH2 OT -.834000 15.9994 0 2373 BULK 492 TIP3 H1 HT .417000 1.00800 0 2374 BULK 492 TIP3 H2 HT .417000 1.00800 0 2375 BULK 493 TIP3 OH2 OT -.834000 15.9994 0 2376 BULK 493 TIP3 H1 HT .417000 1.00800 0 2377 BULK 493 TIP3 H2 HT .417000 1.00800 0 2378 BULK 494 TIP3 OH2 OT -.834000 15.9994 0 2379 BULK 494 TIP3 H1 HT .417000 1.00800 0 2380 BULK 494 TIP3 H2 HT .417000 1.00800 0 2381 BULK 495 TIP3 OH2 OT -.834000 15.9994 0 2382 BULK 495 TIP3 H1 HT .417000 1.00800 0 2383 BULK 495 TIP3 H2 HT .417000 1.00800 0 2384 BULK 496 TIP3 OH2 OT -.834000 15.9994 0 2385 BULK 496 TIP3 H1 HT .417000 1.00800 0 2386 BULK 496 TIP3 H2 HT .417000 1.00800 0 2387 BULK 497 TIP3 OH2 OT -.834000 15.9994 0 2388 BULK 497 TIP3 H1 HT .417000 1.00800 0 2389 BULK 497 TIP3 H2 HT .417000 1.00800 0 2390 BULK 498 TIP3 OH2 OT -.834000 15.9994 0 2391 BULK 498 TIP3 H1 HT .417000 1.00800 0 2392 BULK 498 TIP3 H2 HT .417000 1.00800 0 2393 BULK 499 TIP3 OH2 OT -.834000 15.9994 0 2394 BULK 499 TIP3 H1 HT .417000 1.00800 0 2395 BULK 499 TIP3 H2 HT .417000 1.00800 0 2396 BULK 500 TIP3 OH2 OT -.834000 15.9994 0 2397 BULK 500 TIP3 H1 HT .417000 1.00800 0 2398 BULK 500 TIP3 H2 HT .417000 1.00800 0 2399 BULK 501 TIP3 OH2 OT -.834000 15.9994 0 2400 BULK 501 TIP3 H1 HT .417000 1.00800 0 2401 BULK 501 TIP3 H2 HT .417000 1.00800 0 2402 BULK 502 TIP3 OH2 OT -.834000 15.9994 0 2403 BULK 502 TIP3 H1 HT .417000 1.00800 0 2404 BULK 502 TIP3 H2 HT .417000 1.00800 0 2405 BULK 503 TIP3 OH2 OT -.834000 15.9994 0 2406 BULK 503 TIP3 H1 HT .417000 1.00800 0 2407 BULK 503 TIP3 H2 HT .417000 1.00800 0 2408 BULK 504 TIP3 OH2 OT -.834000 15.9994 0 2409 BULK 504 TIP3 H1 HT .417000 1.00800 0 2410 BULK 504 TIP3 H2 HT .417000 1.00800 0 2411 BULK 505 TIP3 OH2 OT -.834000 15.9994 0 2412 BULK 505 TIP3 H1 HT .417000 1.00800 0 2413 BULK 505 TIP3 H2 HT .417000 1.00800 0 2414 BULK 506 TIP3 OH2 OT -.834000 15.9994 0 2415 BULK 506 TIP3 H1 HT .417000 1.00800 0 2416 BULK 506 TIP3 H2 HT .417000 1.00800 0 2417 BULK 507 TIP3 OH2 OT -.834000 15.9994 0 2418 BULK 507 TIP3 H1 HT .417000 1.00800 0 2419 BULK 507 TIP3 H2 HT .417000 1.00800 0 2420 BULK 508 TIP3 OH2 OT -.834000 15.9994 0 2421 BULK 508 TIP3 H1 HT .417000 1.00800 0 2422 BULK 508 TIP3 H2 HT .417000 1.00800 0 2423 BULK 509 TIP3 OH2 OT -.834000 15.9994 0 2424 BULK 509 TIP3 H1 HT .417000 1.00800 0 2425 BULK 509 TIP3 H2 HT .417000 1.00800 0 2426 BULK 510 TIP3 OH2 OT -.834000 15.9994 0 2427 BULK 510 TIP3 H1 HT .417000 1.00800 0 2428 BULK 510 TIP3 H2 HT .417000 1.00800 0 2429 BULK 511 TIP3 OH2 OT -.834000 15.9994 0 2430 BULK 511 TIP3 H1 HT .417000 1.00800 0 2431 BULK 511 TIP3 H2 HT .417000 1.00800 0 2432 BULK 512 TIP3 OH2 OT -.834000 15.9994 0 2433 BULK 512 TIP3 H1 HT .417000 1.00800 0 2434 BULK 512 TIP3 H2 HT .417000 1.00800 0 2435 BULK 513 TIP3 OH2 OT -.834000 15.9994 0 2436 BULK 513 TIP3 H1 HT .417000 1.00800 0 2437 BULK 513 TIP3 H2 HT .417000 1.00800 0 2438 BULK 514 TIP3 OH2 OT -.834000 15.9994 0 2439 BULK 514 TIP3 H1 HT .417000 1.00800 0 2440 BULK 514 TIP3 H2 HT .417000 1.00800 0 2441 BULK 515 TIP3 OH2 OT -.834000 15.9994 0 2442 BULK 515 TIP3 H1 HT .417000 1.00800 0 2443 BULK 515 TIP3 H2 HT .417000 1.00800 0 2444 BULK 516 TIP3 OH2 OT -.834000 15.9994 0 2445 BULK 516 TIP3 H1 HT .417000 1.00800 0 2446 BULK 516 TIP3 H2 HT .417000 1.00800 0 2447 BULK 517 TIP3 OH2 OT -.834000 15.9994 0 2448 BULK 517 TIP3 H1 HT .417000 1.00800 0 2449 BULK 517 TIP3 H2 HT .417000 1.00800 0 2450 BULK 518 TIP3 OH2 OT -.834000 15.9994 0 2451 BULK 518 TIP3 H1 HT .417000 1.00800 0 2452 BULK 518 TIP3 H2 HT .417000 1.00800 0 2453 BULK 519 TIP3 OH2 OT -.834000 15.9994 0 2454 BULK 519 TIP3 H1 HT .417000 1.00800 0 2455 BULK 519 TIP3 H2 HT .417000 1.00800 0 2456 BULK 520 TIP3 OH2 OT -.834000 15.9994 0 2457 BULK 520 TIP3 H1 HT .417000 1.00800 0 2458 BULK 520 TIP3 H2 HT .417000 1.00800 0 2459 BULK 521 TIP3 OH2 OT -.834000 15.9994 0 2460 BULK 521 TIP3 H1 HT .417000 1.00800 0 2461 BULK 521 TIP3 H2 HT .417000 1.00800 0 2462 BULK 522 TIP3 OH2 OT -.834000 15.9994 0 2463 BULK 522 TIP3 H1 HT .417000 1.00800 0 2464 BULK 522 TIP3 H2 HT .417000 1.00800 0 2465 BULK 523 TIP3 OH2 OT -.834000 15.9994 0 2466 BULK 523 TIP3 H1 HT .417000 1.00800 0 2467 BULK 523 TIP3 H2 HT .417000 1.00800 0 2468 BULK 524 TIP3 OH2 OT -.834000 15.9994 0 2469 BULK 524 TIP3 H1 HT .417000 1.00800 0 2470 BULK 524 TIP3 H2 HT .417000 1.00800 0 2471 BULK 525 TIP3 OH2 OT -.834000 15.9994 0 2472 BULK 525 TIP3 H1 HT .417000 1.00800 0 2473 BULK 525 TIP3 H2 HT .417000 1.00800 0 2474 BULK 526 TIP3 OH2 OT -.834000 15.9994 0 2475 BULK 526 TIP3 H1 HT .417000 1.00800 0 2476 BULK 526 TIP3 H2 HT .417000 1.00800 0 2477 BULK 527 TIP3 OH2 OT -.834000 15.9994 0 2478 BULK 527 TIP3 H1 HT .417000 1.00800 0 2479 BULK 527 TIP3 H2 HT .417000 1.00800 0 2480 BULK 528 TIP3 OH2 OT -.834000 15.9994 0 2481 BULK 528 TIP3 H1 HT .417000 1.00800 0 2482 BULK 528 TIP3 H2 HT .417000 1.00800 0 2483 BULK 529 TIP3 OH2 OT -.834000 15.9994 0 2484 BULK 529 TIP3 H1 HT .417000 1.00800 0 2485 BULK 529 TIP3 H2 HT .417000 1.00800 0 2486 BULK 530 TIP3 OH2 OT -.834000 15.9994 0 2487 BULK 530 TIP3 H1 HT .417000 1.00800 0 2488 BULK 530 TIP3 H2 HT .417000 1.00800 0 2489 BULK 531 TIP3 OH2 OT -.834000 15.9994 0 2490 BULK 531 TIP3 H1 HT .417000 1.00800 0 2491 BULK 531 TIP3 H2 HT .417000 1.00800 0 2492 BULK 532 TIP3 OH2 OT -.834000 15.9994 0 2493 BULK 532 TIP3 H1 HT .417000 1.00800 0 2494 BULK 532 TIP3 H2 HT .417000 1.00800 0 2495 BULK 533 TIP3 OH2 OT -.834000 15.9994 0 2496 BULK 533 TIP3 H1 HT .417000 1.00800 0 2497 BULK 533 TIP3 H2 HT .417000 1.00800 0 2498 BULK 534 TIP3 OH2 OT -.834000 15.9994 0 2499 BULK 534 TIP3 H1 HT .417000 1.00800 0 2500 BULK 534 TIP3 H2 HT .417000 1.00800 0 2501 BULK 535 TIP3 OH2 OT -.834000 15.9994 0 2502 BULK 535 TIP3 H1 HT .417000 1.00800 0 2503 BULK 535 TIP3 H2 HT .417000 1.00800 0 2504 BULK 536 TIP3 OH2 OT -.834000 15.9994 0 2505 BULK 536 TIP3 H1 HT .417000 1.00800 0 2506 BULK 536 TIP3 H2 HT .417000 1.00800 0 2507 BULK 537 TIP3 OH2 OT -.834000 15.9994 0 2508 BULK 537 TIP3 H1 HT .417000 1.00800 0 2509 BULK 537 TIP3 H2 HT .417000 1.00800 0 2510 BULK 538 TIP3 OH2 OT -.834000 15.9994 0 2511 BULK 538 TIP3 H1 HT .417000 1.00800 0 2512 BULK 538 TIP3 H2 HT .417000 1.00800 0 2513 BULK 539 TIP3 OH2 OT -.834000 15.9994 0 2514 BULK 539 TIP3 H1 HT .417000 1.00800 0 2515 BULK 539 TIP3 H2 HT .417000 1.00800 0 2516 BULK 540 TIP3 OH2 OT -.834000 15.9994 0 2517 BULK 540 TIP3 H1 HT .417000 1.00800 0 2518 BULK 540 TIP3 H2 HT .417000 1.00800 0 2519 BULK 541 TIP3 OH2 OT -.834000 15.9994 0 2520 BULK 541 TIP3 H1 HT .417000 1.00800 0 2521 BULK 541 TIP3 H2 HT .417000 1.00800 0 2522 BULK 542 TIP3 OH2 OT -.834000 15.9994 0 2523 BULK 542 TIP3 H1 HT .417000 1.00800 0 2524 BULK 542 TIP3 H2 HT .417000 1.00800 0 2525 BULK 543 TIP3 OH2 OT -.834000 15.9994 0 2526 BULK 543 TIP3 H1 HT .417000 1.00800 0 2527 BULK 543 TIP3 H2 HT .417000 1.00800 0 2528 BULK 544 TIP3 OH2 OT -.834000 15.9994 0 2529 BULK 544 TIP3 H1 HT .417000 1.00800 0 2530 BULK 544 TIP3 H2 HT .417000 1.00800 0 2531 BULK 545 TIP3 OH2 OT -.834000 15.9994 0 2532 BULK 545 TIP3 H1 HT .417000 1.00800 0 2533 BULK 545 TIP3 H2 HT .417000 1.00800 0 2534 BULK 546 TIP3 OH2 OT -.834000 15.9994 0 2535 BULK 546 TIP3 H1 HT .417000 1.00800 0 2536 BULK 546 TIP3 H2 HT .417000 1.00800 0 2537 BULK 547 TIP3 OH2 OT -.834000 15.9994 0 2538 BULK 547 TIP3 H1 HT .417000 1.00800 0 2539 BULK 547 TIP3 H2 HT .417000 1.00800 0 2540 BULK 548 TIP3 OH2 OT -.834000 15.9994 0 2541 BULK 548 TIP3 H1 HT .417000 1.00800 0 2542 BULK 548 TIP3 H2 HT .417000 1.00800 0 2543 BULK 549 TIP3 OH2 OT -.834000 15.9994 0 2544 BULK 549 TIP3 H1 HT .417000 1.00800 0 2545 BULK 549 TIP3 H2 HT .417000 1.00800 0 2546 BULK 550 TIP3 OH2 OT -.834000 15.9994 0 2547 BULK 550 TIP3 H1 HT .417000 1.00800 0 2548 BULK 550 TIP3 H2 HT .417000 1.00800 0 2549 BULK 551 TIP3 OH2 OT -.834000 15.9994 0 2550 BULK 551 TIP3 H1 HT .417000 1.00800 0 2551 BULK 551 TIP3 H2 HT .417000 1.00800 0 2552 BULK 552 TIP3 OH2 OT -.834000 15.9994 0 2553 BULK 552 TIP3 H1 HT .417000 1.00800 0 2554 BULK 552 TIP3 H2 HT .417000 1.00800 0 2555 BULK 553 TIP3 OH2 OT -.834000 15.9994 0 2556 BULK 553 TIP3 H1 HT .417000 1.00800 0 2557 BULK 553 TIP3 H2 HT .417000 1.00800 0 2558 BULK 554 TIP3 OH2 OT -.834000 15.9994 0 2559 BULK 554 TIP3 H1 HT .417000 1.00800 0 2560 BULK 554 TIP3 H2 HT .417000 1.00800 0 2561 BULK 555 TIP3 OH2 OT -.834000 15.9994 0 2562 BULK 555 TIP3 H1 HT .417000 1.00800 0 2563 BULK 555 TIP3 H2 HT .417000 1.00800 0 2564 BULK 556 TIP3 OH2 OT -.834000 15.9994 0 2565 BULK 556 TIP3 H1 HT .417000 1.00800 0 2566 BULK 556 TIP3 H2 HT .417000 1.00800 0 2567 BULK 557 TIP3 OH2 OT -.834000 15.9994 0 2568 BULK 557 TIP3 H1 HT .417000 1.00800 0 2569 BULK 557 TIP3 H2 HT .417000 1.00800 0 2570 BULK 558 TIP3 OH2 OT -.834000 15.9994 0 2571 BULK 558 TIP3 H1 HT .417000 1.00800 0 2572 BULK 558 TIP3 H2 HT .417000 1.00800 0 2573 BULK 559 TIP3 OH2 OT -.834000 15.9994 0 2574 BULK 559 TIP3 H1 HT .417000 1.00800 0 2575 BULK 559 TIP3 H2 HT .417000 1.00800 0 2576 BULK 560 TIP3 OH2 OT -.834000 15.9994 0 2577 BULK 560 TIP3 H1 HT .417000 1.00800 0 2578 BULK 560 TIP3 H2 HT .417000 1.00800 0 2579 BULK 561 TIP3 OH2 OT -.834000 15.9994 0 2580 BULK 561 TIP3 H1 HT .417000 1.00800 0 2581 BULK 561 TIP3 H2 HT .417000 1.00800 0 2582 BULK 562 TIP3 OH2 OT -.834000 15.9994 0 2583 BULK 562 TIP3 H1 HT .417000 1.00800 0 2584 BULK 562 TIP3 H2 HT .417000 1.00800 0 2585 BULK 563 TIP3 OH2 OT -.834000 15.9994 0 2586 BULK 563 TIP3 H1 HT .417000 1.00800 0 2587 BULK 563 TIP3 H2 HT .417000 1.00800 0 2588 BULK 564 TIP3 OH2 OT -.834000 15.9994 0 2589 BULK 564 TIP3 H1 HT .417000 1.00800 0 2590 BULK 564 TIP3 H2 HT .417000 1.00800 0 2591 BULK 565 TIP3 OH2 OT -.834000 15.9994 0 2592 BULK 565 TIP3 H1 HT .417000 1.00800 0 2593 BULK 565 TIP3 H2 HT .417000 1.00800 0 2594 BULK 566 TIP3 OH2 OT -.834000 15.9994 0 2595 BULK 566 TIP3 H1 HT .417000 1.00800 0 2596 BULK 566 TIP3 H2 HT .417000 1.00800 0 2597 BULK 567 TIP3 OH2 OT -.834000 15.9994 0 2598 BULK 567 TIP3 H1 HT .417000 1.00800 0 2599 BULK 567 TIP3 H2 HT .417000 1.00800 0 2600 BULK 568 TIP3 OH2 OT -.834000 15.9994 0 2601 BULK 568 TIP3 H1 HT .417000 1.00800 0 2602 BULK 568 TIP3 H2 HT .417000 1.00800 0 2603 BULK 569 TIP3 OH2 OT -.834000 15.9994 0 2604 BULK 569 TIP3 H1 HT .417000 1.00800 0 2605 BULK 569 TIP3 H2 HT .417000 1.00800 0 2606 BULK 570 TIP3 OH2 OT -.834000 15.9994 0 2607 BULK 570 TIP3 H1 HT .417000 1.00800 0 2608 BULK 570 TIP3 H2 HT .417000 1.00800 0 2609 BULK 571 TIP3 OH2 OT -.834000 15.9994 0 2610 BULK 571 TIP3 H1 HT .417000 1.00800 0 2611 BULK 571 TIP3 H2 HT .417000 1.00800 0 2612 BULK 572 TIP3 OH2 OT -.834000 15.9994 0 2613 BULK 572 TIP3 H1 HT .417000 1.00800 0 2614 BULK 572 TIP3 H2 HT .417000 1.00800 0 2615 BULK 573 TIP3 OH2 OT -.834000 15.9994 0 2616 BULK 573 TIP3 H1 HT .417000 1.00800 0 2617 BULK 573 TIP3 H2 HT .417000 1.00800 0 2618 BULK 574 TIP3 OH2 OT -.834000 15.9994 0 2619 BULK 574 TIP3 H1 HT .417000 1.00800 0 2620 BULK 574 TIP3 H2 HT .417000 1.00800 0 2621 BULK 575 TIP3 OH2 OT -.834000 15.9994 0 2622 BULK 575 TIP3 H1 HT .417000 1.00800 0 2623 BULK 575 TIP3 H2 HT .417000 1.00800 0 2624 BULK 576 TIP3 OH2 OT -.834000 15.9994 0 2625 BULK 576 TIP3 H1 HT .417000 1.00800 0 2626 BULK 576 TIP3 H2 HT .417000 1.00800 0 2627 BULK 577 TIP3 OH2 OT -.834000 15.9994 0 2628 BULK 577 TIP3 H1 HT .417000 1.00800 0 2629 BULK 577 TIP3 H2 HT .417000 1.00800 0 2630 BULK 578 TIP3 OH2 OT -.834000 15.9994 0 2631 BULK 578 TIP3 H1 HT .417000 1.00800 0 2632 BULK 578 TIP3 H2 HT .417000 1.00800 0 2633 BULK 579 TIP3 OH2 OT -.834000 15.9994 0 2634 BULK 579 TIP3 H1 HT .417000 1.00800 0 2635 BULK 579 TIP3 H2 HT .417000 1.00800 0 2636 BULK 580 TIP3 OH2 OT -.834000 15.9994 0 2637 BULK 580 TIP3 H1 HT .417000 1.00800 0 2638 BULK 580 TIP3 H2 HT .417000 1.00800 0 2639 BULK 581 TIP3 OH2 OT -.834000 15.9994 0 2640 BULK 581 TIP3 H1 HT .417000 1.00800 0 2641 BULK 581 TIP3 H2 HT .417000 1.00800 0 2642 BULK 582 TIP3 OH2 OT -.834000 15.9994 0 2643 BULK 582 TIP3 H1 HT .417000 1.00800 0 2644 BULK 582 TIP3 H2 HT .417000 1.00800 0 2645 BULK 583 TIP3 OH2 OT -.834000 15.9994 0 2646 BULK 583 TIP3 H1 HT .417000 1.00800 0 2647 BULK 583 TIP3 H2 HT .417000 1.00800 0 2648 BULK 584 TIP3 OH2 OT -.834000 15.9994 0 2649 BULK 584 TIP3 H1 HT .417000 1.00800 0 2650 BULK 584 TIP3 H2 HT .417000 1.00800 0 2651 BULK 585 TIP3 OH2 OT -.834000 15.9994 0 2652 BULK 585 TIP3 H1 HT .417000 1.00800 0 2653 BULK 585 TIP3 H2 HT .417000 1.00800 0 2654 BULK 586 TIP3 OH2 OT -.834000 15.9994 0 2655 BULK 586 TIP3 H1 HT .417000 1.00800 0 2656 BULK 586 TIP3 H2 HT .417000 1.00800 0 2657 BULK 587 TIP3 OH2 OT -.834000 15.9994 0 2658 BULK 587 TIP3 H1 HT .417000 1.00800 0 2659 BULK 587 TIP3 H2 HT .417000 1.00800 0 2660 BULK 588 TIP3 OH2 OT -.834000 15.9994 0 2661 BULK 588 TIP3 H1 HT .417000 1.00800 0 2662 BULK 588 TIP3 H2 HT .417000 1.00800 0 2663 BULK 589 TIP3 OH2 OT -.834000 15.9994 0 2664 BULK 589 TIP3 H1 HT .417000 1.00800 0 2665 BULK 589 TIP3 H2 HT .417000 1.00800 0 2666 BULK 590 TIP3 OH2 OT -.834000 15.9994 0 2667 BULK 590 TIP3 H1 HT .417000 1.00800 0 2668 BULK 590 TIP3 H2 HT .417000 1.00800 0 2669 BULK 591 TIP3 OH2 OT -.834000 15.9994 0 2670 BULK 591 TIP3 H1 HT .417000 1.00800 0 2671 BULK 591 TIP3 H2 HT .417000 1.00800 0 2672 BULK 592 TIP3 OH2 OT -.834000 15.9994 0 2673 BULK 592 TIP3 H1 HT .417000 1.00800 0 2674 BULK 592 TIP3 H2 HT .417000 1.00800 0 2675 BULK 593 TIP3 OH2 OT -.834000 15.9994 0 2676 BULK 593 TIP3 H1 HT .417000 1.00800 0 2677 BULK 593 TIP3 H2 HT .417000 1.00800 0 2678 BULK 594 TIP3 OH2 OT -.834000 15.9994 0 2679 BULK 594 TIP3 H1 HT .417000 1.00800 0 2680 BULK 594 TIP3 H2 HT .417000 1.00800 0 2681 BULK 595 TIP3 OH2 OT -.834000 15.9994 0 2682 BULK 595 TIP3 H1 HT .417000 1.00800 0 2683 BULK 595 TIP3 H2 HT .417000 1.00800 0 2684 BULK 596 TIP3 OH2 OT -.834000 15.9994 0 2685 BULK 596 TIP3 H1 HT .417000 1.00800 0 2686 BULK 596 TIP3 H2 HT .417000 1.00800 0 2687 BULK 597 TIP3 OH2 OT -.834000 15.9994 0 2688 BULK 597 TIP3 H1 HT .417000 1.00800 0 2689 BULK 597 TIP3 H2 HT .417000 1.00800 0 2690 BULK 598 TIP3 OH2 OT -.834000 15.9994 0 2691 BULK 598 TIP3 H1 HT .417000 1.00800 0 2692 BULK 598 TIP3 H2 HT .417000 1.00800 0 2693 BULK 599 TIP3 OH2 OT -.834000 15.9994 0 2694 BULK 599 TIP3 H1 HT .417000 1.00800 0 2695 BULK 599 TIP3 H2 HT .417000 1.00800 0 2696 BULK 600 TIP3 OH2 OT -.834000 15.9994 0 2697 BULK 600 TIP3 H1 HT .417000 1.00800 0 2698 BULK 600 TIP3 H2 HT .417000 1.00800 0 2699 BULK 601 TIP3 OH2 OT -.834000 15.9994 0 2700 BULK 601 TIP3 H1 HT .417000 1.00800 0 2701 BULK 601 TIP3 H2 HT .417000 1.00800 0 2702 BULK 602 TIP3 OH2 OT -.834000 15.9994 0 2703 BULK 602 TIP3 H1 HT .417000 1.00800 0 2704 BULK 602 TIP3 H2 HT .417000 1.00800 0 2705 BULK 603 TIP3 OH2 OT -.834000 15.9994 0 2706 BULK 603 TIP3 H1 HT .417000 1.00800 0 2707 BULK 603 TIP3 H2 HT .417000 1.00800 0 2708 BULK 604 TIP3 OH2 OT -.834000 15.9994 0 2709 BULK 604 TIP3 H1 HT .417000 1.00800 0 2710 BULK 604 TIP3 H2 HT .417000 1.00800 0 2711 BULK 605 TIP3 OH2 OT -.834000 15.9994 0 2712 BULK 605 TIP3 H1 HT .417000 1.00800 0 2713 BULK 605 TIP3 H2 HT .417000 1.00800 0 2714 BULK 606 TIP3 OH2 OT -.834000 15.9994 0 2715 BULK 606 TIP3 H1 HT .417000 1.00800 0 2716 BULK 606 TIP3 H2 HT .417000 1.00800 0 2717 BULK 607 TIP3 OH2 OT -.834000 15.9994 0 2718 BULK 607 TIP3 H1 HT .417000 1.00800 0 2719 BULK 607 TIP3 H2 HT .417000 1.00800 0 2720 BULK 608 TIP3 OH2 OT -.834000 15.9994 0 2721 BULK 608 TIP3 H1 HT .417000 1.00800 0 2722 BULK 608 TIP3 H2 HT .417000 1.00800 0 2723 BULK 609 TIP3 OH2 OT -.834000 15.9994 0 2724 BULK 609 TIP3 H1 HT .417000 1.00800 0 2725 BULK 609 TIP3 H2 HT .417000 1.00800 0 2726 BULK 610 TIP3 OH2 OT -.834000 15.9994 0 2727 BULK 610 TIP3 H1 HT .417000 1.00800 0 2728 BULK 610 TIP3 H2 HT .417000 1.00800 0 2729 BULK 611 TIP3 OH2 OT -.834000 15.9994 0 2730 BULK 611 TIP3 H1 HT .417000 1.00800 0 2731 BULK 611 TIP3 H2 HT .417000 1.00800 0 2732 BULK 612 TIP3 OH2 OT -.834000 15.9994 0 2733 BULK 612 TIP3 H1 HT .417000 1.00800 0 2734 BULK 612 TIP3 H2 HT .417000 1.00800 0 2735 BULK 613 TIP3 OH2 OT -.834000 15.9994 0 2736 BULK 613 TIP3 H1 HT .417000 1.00800 0 2737 BULK 613 TIP3 H2 HT .417000 1.00800 0 2738 BULK 614 TIP3 OH2 OT -.834000 15.9994 0 2739 BULK 614 TIP3 H1 HT .417000 1.00800 0 2740 BULK 614 TIP3 H2 HT .417000 1.00800 0 2741 BULK 615 TIP3 OH2 OT -.834000 15.9994 0 2742 BULK 615 TIP3 H1 HT .417000 1.00800 0 2743 BULK 615 TIP3 H2 HT .417000 1.00800 0 2744 BULK 616 TIP3 OH2 OT -.834000 15.9994 0 2745 BULK 616 TIP3 H1 HT .417000 1.00800 0 2746 BULK 616 TIP3 H2 HT .417000 1.00800 0 2747 BULK 617 TIP3 OH2 OT -.834000 15.9994 0 2748 BULK 617 TIP3 H1 HT .417000 1.00800 0 2749 BULK 617 TIP3 H2 HT .417000 1.00800 0 2750 BULK 618 TIP3 OH2 OT -.834000 15.9994 0 2751 BULK 618 TIP3 H1 HT .417000 1.00800 0 2752 BULK 618 TIP3 H2 HT .417000 1.00800 0 2753 BULK 619 TIP3 OH2 OT -.834000 15.9994 0 2754 BULK 619 TIP3 H1 HT .417000 1.00800 0 2755 BULK 619 TIP3 H2 HT .417000 1.00800 0 2756 BULK 620 TIP3 OH2 OT -.834000 15.9994 0 2757 BULK 620 TIP3 H1 HT .417000 1.00800 0 2758 BULK 620 TIP3 H2 HT .417000 1.00800 0 2759 BULK 621 TIP3 OH2 OT -.834000 15.9994 0 2760 BULK 621 TIP3 H1 HT .417000 1.00800 0 2761 BULK 621 TIP3 H2 HT .417000 1.00800 0 2762 BULK 622 TIP3 OH2 OT -.834000 15.9994 0 2763 BULK 622 TIP3 H1 HT .417000 1.00800 0 2764 BULK 622 TIP3 H2 HT .417000 1.00800 0 2765 BULK 623 TIP3 OH2 OT -.834000 15.9994 0 2766 BULK 623 TIP3 H1 HT .417000 1.00800 0 2767 BULK 623 TIP3 H2 HT .417000 1.00800 0 2768 BULK 624 TIP3 OH2 OT -.834000 15.9994 0 2769 BULK 624 TIP3 H1 HT .417000 1.00800 0 2770 BULK 624 TIP3 H2 HT .417000 1.00800 0 2771 BULK 625 TIP3 OH2 OT -.834000 15.9994 0 2772 BULK 625 TIP3 H1 HT .417000 1.00800 0 2773 BULK 625 TIP3 H2 HT .417000 1.00800 0 2774 BULK 626 TIP3 OH2 OT -.834000 15.9994 0 2775 BULK 626 TIP3 H1 HT .417000 1.00800 0 2776 BULK 626 TIP3 H2 HT .417000 1.00800 0 2777 BULK 627 TIP3 OH2 OT -.834000 15.9994 0 2778 BULK 627 TIP3 H1 HT .417000 1.00800 0 2779 BULK 627 TIP3 H2 HT .417000 1.00800 0 2780 BULK 628 TIP3 OH2 OT -.834000 15.9994 0 2781 BULK 628 TIP3 H1 HT .417000 1.00800 0 2782 BULK 628 TIP3 H2 HT .417000 1.00800 0 2783 BULK 629 TIP3 OH2 OT -.834000 15.9994 0 2784 BULK 629 TIP3 H1 HT .417000 1.00800 0 2785 BULK 629 TIP3 H2 HT .417000 1.00800 0 2786 BULK 630 TIP3 OH2 OT -.834000 15.9994 0 2787 BULK 630 TIP3 H1 HT .417000 1.00800 0 2788 BULK 630 TIP3 H2 HT .417000 1.00800 0 2789 BULK 631 TIP3 OH2 OT -.834000 15.9994 0 2790 BULK 631 TIP3 H1 HT .417000 1.00800 0 2791 BULK 631 TIP3 H2 HT .417000 1.00800 0 2792 BULK 632 TIP3 OH2 OT -.834000 15.9994 0 2793 BULK 632 TIP3 H1 HT .417000 1.00800 0 2794 BULK 632 TIP3 H2 HT .417000 1.00800 0 2795 BULK 633 TIP3 OH2 OT -.834000 15.9994 0 2796 BULK 633 TIP3 H1 HT .417000 1.00800 0 2797 BULK 633 TIP3 H2 HT .417000 1.00800 0 2798 BULK 634 TIP3 OH2 OT -.834000 15.9994 0 2799 BULK 634 TIP3 H1 HT .417000 1.00800 0 2800 BULK 634 TIP3 H2 HT .417000 1.00800 0 2801 BULK 635 TIP3 OH2 OT -.834000 15.9994 0 2802 BULK 635 TIP3 H1 HT .417000 1.00800 0 2803 BULK 635 TIP3 H2 HT .417000 1.00800 0 2804 BULK 636 TIP3 OH2 OT -.834000 15.9994 0 2805 BULK 636 TIP3 H1 HT .417000 1.00800 0 2806 BULK 636 TIP3 H2 HT .417000 1.00800 0 2807 BULK 637 TIP3 OH2 OT -.834000 15.9994 0 2808 BULK 637 TIP3 H1 HT .417000 1.00800 0 2809 BULK 637 TIP3 H2 HT .417000 1.00800 0 2810 BULK 638 TIP3 OH2 OT -.834000 15.9994 0 2811 BULK 638 TIP3 H1 HT .417000 1.00800 0 2812 BULK 638 TIP3 H2 HT .417000 1.00800 0 2813 BULK 639 TIP3 OH2 OT -.834000 15.9994 0 2814 BULK 639 TIP3 H1 HT .417000 1.00800 0 2815 BULK 639 TIP3 H2 HT .417000 1.00800 0 2816 BULK 640 TIP3 OH2 OT -.834000 15.9994 0 2817 BULK 640 TIP3 H1 HT .417000 1.00800 0 2818 BULK 640 TIP3 H2 HT .417000 1.00800 0 2819 BULK 641 TIP3 OH2 OT -.834000 15.9994 0 2820 BULK 641 TIP3 H1 HT .417000 1.00800 0 2821 BULK 641 TIP3 H2 HT .417000 1.00800 0 2822 BULK 642 TIP3 OH2 OT -.834000 15.9994 0 2823 BULK 642 TIP3 H1 HT .417000 1.00800 0 2824 BULK 642 TIP3 H2 HT .417000 1.00800 0 2825 BULK 643 TIP3 OH2 OT -.834000 15.9994 0 2826 BULK 643 TIP3 H1 HT .417000 1.00800 0 2827 BULK 643 TIP3 H2 HT .417000 1.00800 0 2828 BULK 644 TIP3 OH2 OT -.834000 15.9994 0 2829 BULK 644 TIP3 H1 HT .417000 1.00800 0 2830 BULK 644 TIP3 H2 HT .417000 1.00800 0 2831 BULK 645 TIP3 OH2 OT -.834000 15.9994 0 2832 BULK 645 TIP3 H1 HT .417000 1.00800 0 2833 BULK 645 TIP3 H2 HT .417000 1.00800 0 2834 BULK 646 TIP3 OH2 OT -.834000 15.9994 0 2835 BULK 646 TIP3 H1 HT .417000 1.00800 0 2836 BULK 646 TIP3 H2 HT .417000 1.00800 0 2837 BULK 647 TIP3 OH2 OT -.834000 15.9994 0 2838 BULK 647 TIP3 H1 HT .417000 1.00800 0 2839 BULK 647 TIP3 H2 HT .417000 1.00800 0 2840 BULK 648 TIP3 OH2 OT -.834000 15.9994 0 2841 BULK 648 TIP3 H1 HT .417000 1.00800 0 2842 BULK 648 TIP3 H2 HT .417000 1.00800 0 2843 BULK 649 TIP3 OH2 OT -.834000 15.9994 0 2844 BULK 649 TIP3 H1 HT .417000 1.00800 0 2845 BULK 649 TIP3 H2 HT .417000 1.00800 0 2846 BULK 650 TIP3 OH2 OT -.834000 15.9994 0 2847 BULK 650 TIP3 H1 HT .417000 1.00800 0 2848 BULK 650 TIP3 H2 HT .417000 1.00800 0 2849 BULK 651 TIP3 OH2 OT -.834000 15.9994 0 2850 BULK 651 TIP3 H1 HT .417000 1.00800 0 2851 BULK 651 TIP3 H2 HT .417000 1.00800 0 2852 BULK 652 TIP3 OH2 OT -.834000 15.9994 0 2853 BULK 652 TIP3 H1 HT .417000 1.00800 0 2854 BULK 652 TIP3 H2 HT .417000 1.00800 0 2855 BULK 653 TIP3 OH2 OT -.834000 15.9994 0 2856 BULK 653 TIP3 H1 HT .417000 1.00800 0 2857 BULK 653 TIP3 H2 HT .417000 1.00800 0 2858 BULK 654 TIP3 OH2 OT -.834000 15.9994 0 2859 BULK 654 TIP3 H1 HT .417000 1.00800 0 2860 BULK 654 TIP3 H2 HT .417000 1.00800 0 2861 BULK 655 TIP3 OH2 OT -.834000 15.9994 0 2862 BULK 655 TIP3 H1 HT .417000 1.00800 0 2863 BULK 655 TIP3 H2 HT .417000 1.00800 0 2864 BULK 656 TIP3 OH2 OT -.834000 15.9994 0 2865 BULK 656 TIP3 H1 HT .417000 1.00800 0 2866 BULK 656 TIP3 H2 HT .417000 1.00800 0 2867 BULK 657 TIP3 OH2 OT -.834000 15.9994 0 2868 BULK 657 TIP3 H1 HT .417000 1.00800 0 2869 BULK 657 TIP3 H2 HT .417000 1.00800 0 2870 BULK 658 TIP3 OH2 OT -.834000 15.9994 0 2871 BULK 658 TIP3 H1 HT .417000 1.00800 0 2872 BULK 658 TIP3 H2 HT .417000 1.00800 0 2873 BULK 659 TIP3 OH2 OT -.834000 15.9994 0 2874 BULK 659 TIP3 H1 HT .417000 1.00800 0 2875 BULK 659 TIP3 H2 HT .417000 1.00800 0 2876 BULK 660 TIP3 OH2 OT -.834000 15.9994 0 2877 BULK 660 TIP3 H1 HT .417000 1.00800 0 2878 BULK 660 TIP3 H2 HT .417000 1.00800 0 2879 BULK 661 TIP3 OH2 OT -.834000 15.9994 0 2880 BULK 661 TIP3 H1 HT .417000 1.00800 0 2881 BULK 661 TIP3 H2 HT .417000 1.00800 0 2882 BULK 662 TIP3 OH2 OT -.834000 15.9994 0 2883 BULK 662 TIP3 H1 HT .417000 1.00800 0 2884 BULK 662 TIP3 H2 HT .417000 1.00800 0 2885 BULK 663 TIP3 OH2 OT -.834000 15.9994 0 2886 BULK 663 TIP3 H1 HT .417000 1.00800 0 2887 BULK 663 TIP3 H2 HT .417000 1.00800 0 2888 BULK 664 TIP3 OH2 OT -.834000 15.9994 0 2889 BULK 664 TIP3 H1 HT .417000 1.00800 0 2890 BULK 664 TIP3 H2 HT .417000 1.00800 0 2891 BULK 665 TIP3 OH2 OT -.834000 15.9994 0 2892 BULK 665 TIP3 H1 HT .417000 1.00800 0 2893 BULK 665 TIP3 H2 HT .417000 1.00800 0 2894 BULK 666 TIP3 OH2 OT -.834000 15.9994 0 2895 BULK 666 TIP3 H1 HT .417000 1.00800 0 2896 BULK 666 TIP3 H2 HT .417000 1.00800 0 2897 BULK 667 TIP3 OH2 OT -.834000 15.9994 0 2898 BULK 667 TIP3 H1 HT .417000 1.00800 0 2899 BULK 667 TIP3 H2 HT .417000 1.00800 0 2900 BULK 668 TIP3 OH2 OT -.834000 15.9994 0 2901 BULK 668 TIP3 H1 HT .417000 1.00800 0 2902 BULK 668 TIP3 H2 HT .417000 1.00800 0 2903 BULK 669 TIP3 OH2 OT -.834000 15.9994 0 2904 BULK 669 TIP3 H1 HT .417000 1.00800 0 2905 BULK 669 TIP3 H2 HT .417000 1.00800 0 2906 BULK 670 TIP3 OH2 OT -.834000 15.9994 0 2907 BULK 670 TIP3 H1 HT .417000 1.00800 0 2908 BULK 670 TIP3 H2 HT .417000 1.00800 0 2909 BULK 671 TIP3 OH2 OT -.834000 15.9994 0 2910 BULK 671 TIP3 H1 HT .417000 1.00800 0 2911 BULK 671 TIP3 H2 HT .417000 1.00800 0 2912 BULK 672 TIP3 OH2 OT -.834000 15.9994 0 2913 BULK 672 TIP3 H1 HT .417000 1.00800 0 2914 BULK 672 TIP3 H2 HT .417000 1.00800 0 2915 BULK 673 TIP3 OH2 OT -.834000 15.9994 0 2916 BULK 673 TIP3 H1 HT .417000 1.00800 0 2917 BULK 673 TIP3 H2 HT .417000 1.00800 0 2918 BULK 674 TIP3 OH2 OT -.834000 15.9994 0 2919 BULK 674 TIP3 H1 HT .417000 1.00800 0 2920 BULK 674 TIP3 H2 HT .417000 1.00800 0 2921 BULK 675 TIP3 OH2 OT -.834000 15.9994 0 2922 BULK 675 TIP3 H1 HT .417000 1.00800 0 2923 BULK 675 TIP3 H2 HT .417000 1.00800 0 2924 BULK 676 TIP3 OH2 OT -.834000 15.9994 0 2925 BULK 676 TIP3 H1 HT .417000 1.00800 0 2926 BULK 676 TIP3 H2 HT .417000 1.00800 0 2927 BULK 677 TIP3 OH2 OT -.834000 15.9994 0 2928 BULK 677 TIP3 H1 HT .417000 1.00800 0 2929 BULK 677 TIP3 H2 HT .417000 1.00800 0 2930 BULK 678 TIP3 OH2 OT -.834000 15.9994 0 2931 BULK 678 TIP3 H1 HT .417000 1.00800 0 2932 BULK 678 TIP3 H2 HT .417000 1.00800 0 2933 BULK 679 TIP3 OH2 OT -.834000 15.9994 0 2934 BULK 679 TIP3 H1 HT .417000 1.00800 0 2935 BULK 679 TIP3 H2 HT .417000 1.00800 0 2936 BULK 680 TIP3 OH2 OT -.834000 15.9994 0 2937 BULK 680 TIP3 H1 HT .417000 1.00800 0 2938 BULK 680 TIP3 H2 HT .417000 1.00800 0 2939 BULK 681 TIP3 OH2 OT -.834000 15.9994 0 2940 BULK 681 TIP3 H1 HT .417000 1.00800 0 2941 BULK 681 TIP3 H2 HT .417000 1.00800 0 2942 BULK 682 TIP3 OH2 OT -.834000 15.9994 0 2943 BULK 682 TIP3 H1 HT .417000 1.00800 0 2944 BULK 682 TIP3 H2 HT .417000 1.00800 0 2945 BULK 683 TIP3 OH2 OT -.834000 15.9994 0 2946 BULK 683 TIP3 H1 HT .417000 1.00800 0 2947 BULK 683 TIP3 H2 HT .417000 1.00800 0 2948 BULK 684 TIP3 OH2 OT -.834000 15.9994 0 2949 BULK 684 TIP3 H1 HT .417000 1.00800 0 2950 BULK 684 TIP3 H2 HT .417000 1.00800 0 2951 BULK 685 TIP3 OH2 OT -.834000 15.9994 0 2952 BULK 685 TIP3 H1 HT .417000 1.00800 0 2953 BULK 685 TIP3 H2 HT .417000 1.00800 0 2954 BULK 686 TIP3 OH2 OT -.834000 15.9994 0 2955 BULK 686 TIP3 H1 HT .417000 1.00800 0 2956 BULK 686 TIP3 H2 HT .417000 1.00800 0 2957 BULK 687 TIP3 OH2 OT -.834000 15.9994 0 2958 BULK 687 TIP3 H1 HT .417000 1.00800 0 2959 BULK 687 TIP3 H2 HT .417000 1.00800 0 2960 BULK 688 TIP3 OH2 OT -.834000 15.9994 0 2961 BULK 688 TIP3 H1 HT .417000 1.00800 0 2962 BULK 688 TIP3 H2 HT .417000 1.00800 0 2963 BULK 689 TIP3 OH2 OT -.834000 15.9994 0 2964 BULK 689 TIP3 H1 HT .417000 1.00800 0 2965 BULK 689 TIP3 H2 HT .417000 1.00800 0 2966 BULK 690 TIP3 OH2 OT -.834000 15.9994 0 2967 BULK 690 TIP3 H1 HT .417000 1.00800 0 2968 BULK 690 TIP3 H2 HT .417000 1.00800 0 2969 BULK 691 TIP3 OH2 OT -.834000 15.9994 0 2970 BULK 691 TIP3 H1 HT .417000 1.00800 0 2971 BULK 691 TIP3 H2 HT .417000 1.00800 0 2972 BULK 692 TIP3 OH2 OT -.834000 15.9994 0 2973 BULK 692 TIP3 H1 HT .417000 1.00800 0 2974 BULK 692 TIP3 H2 HT .417000 1.00800 0 2975 BULK 693 TIP3 OH2 OT -.834000 15.9994 0 2976 BULK 693 TIP3 H1 HT .417000 1.00800 0 2977 BULK 693 TIP3 H2 HT .417000 1.00800 0 2978 BULK 694 TIP3 OH2 OT -.834000 15.9994 0 2979 BULK 694 TIP3 H1 HT .417000 1.00800 0 2980 BULK 694 TIP3 H2 HT .417000 1.00800 0 2981 BULK 695 TIP3 OH2 OT -.834000 15.9994 0 2982 BULK 695 TIP3 H1 HT .417000 1.00800 0 2983 BULK 695 TIP3 H2 HT .417000 1.00800 0 2984 BULK 696 TIP3 OH2 OT -.834000 15.9994 0 2985 BULK 696 TIP3 H1 HT .417000 1.00800 0 2986 BULK 696 TIP3 H2 HT .417000 1.00800 0 2987 BULK 697 TIP3 OH2 OT -.834000 15.9994 0 2988 BULK 697 TIP3 H1 HT .417000 1.00800 0 2989 BULK 697 TIP3 H2 HT .417000 1.00800 0 2990 BULK 698 TIP3 OH2 OT -.834000 15.9994 0 2991 BULK 698 TIP3 H1 HT .417000 1.00800 0 2992 BULK 698 TIP3 H2 HT .417000 1.00800 0 2993 BULK 699 TIP3 OH2 OT -.834000 15.9994 0 2994 BULK 699 TIP3 H1 HT .417000 1.00800 0 2995 BULK 699 TIP3 H2 HT .417000 1.00800 0 2996 BULK 700 TIP3 OH2 OT -.834000 15.9994 0 2997 BULK 700 TIP3 H1 HT .417000 1.00800 0 2998 BULK 700 TIP3 H2 HT .417000 1.00800 0 2999 BULK 701 TIP3 OH2 OT -.834000 15.9994 0 3000 BULK 701 TIP3 H1 HT .417000 1.00800 0 3001 BULK 701 TIP3 H2 HT .417000 1.00800 0 3002 BULK 702 TIP3 OH2 OT -.834000 15.9994 0 3003 BULK 702 TIP3 H1 HT .417000 1.00800 0 3004 BULK 702 TIP3 H2 HT .417000 1.00800 0 3005 BULK 703 TIP3 OH2 OT -.834000 15.9994 0 3006 BULK 703 TIP3 H1 HT .417000 1.00800 0 3007 BULK 703 TIP3 H2 HT .417000 1.00800 0 3008 BULK 704 TIP3 OH2 OT -.834000 15.9994 0 3009 BULK 704 TIP3 H1 HT .417000 1.00800 0 3010 BULK 704 TIP3 H2 HT .417000 1.00800 0 3011 BULK 705 TIP3 OH2 OT -.834000 15.9994 0 3012 BULK 705 TIP3 H1 HT .417000 1.00800 0 3013 BULK 705 TIP3 H2 HT .417000 1.00800 0 3014 BULK 706 TIP3 OH2 OT -.834000 15.9994 0 3015 BULK 706 TIP3 H1 HT .417000 1.00800 0 3016 BULK 706 TIP3 H2 HT .417000 1.00800 0 3017 BULK 707 TIP3 OH2 OT -.834000 15.9994 0 3018 BULK 707 TIP3 H1 HT .417000 1.00800 0 3019 BULK 707 TIP3 H2 HT .417000 1.00800 0 3020 BULK 708 TIP3 OH2 OT -.834000 15.9994 0 3021 BULK 708 TIP3 H1 HT .417000 1.00800 0 3022 BULK 708 TIP3 H2 HT .417000 1.00800 0 3023 BULK 709 TIP3 OH2 OT -.834000 15.9994 0 3024 BULK 709 TIP3 H1 HT .417000 1.00800 0 3025 BULK 709 TIP3 H2 HT .417000 1.00800 0 3026 BULK 710 TIP3 OH2 OT -.834000 15.9994 0 3027 BULK 710 TIP3 H1 HT .417000 1.00800 0 3028 BULK 710 TIP3 H2 HT .417000 1.00800 0 3029 BULK 711 TIP3 OH2 OT -.834000 15.9994 0 3030 BULK 711 TIP3 H1 HT .417000 1.00800 0 3031 BULK 711 TIP3 H2 HT .417000 1.00800 0 3032 BULK 712 TIP3 OH2 OT -.834000 15.9994 0 3033 BULK 712 TIP3 H1 HT .417000 1.00800 0 3034 BULK 712 TIP3 H2 HT .417000 1.00800 0 3035 BULK 713 TIP3 OH2 OT -.834000 15.9994 0 3036 BULK 713 TIP3 H1 HT .417000 1.00800 0 3037 BULK 713 TIP3 H2 HT .417000 1.00800 0 3038 BULK 714 TIP3 OH2 OT -.834000 15.9994 0 3039 BULK 714 TIP3 H1 HT .417000 1.00800 0 3040 BULK 714 TIP3 H2 HT .417000 1.00800 0 3041 BULK 715 TIP3 OH2 OT -.834000 15.9994 0 3042 BULK 715 TIP3 H1 HT .417000 1.00800 0 3043 BULK 715 TIP3 H2 HT .417000 1.00800 0 3044 BULK 716 TIP3 OH2 OT -.834000 15.9994 0 3045 BULK 716 TIP3 H1 HT .417000 1.00800 0 3046 BULK 716 TIP3 H2 HT .417000 1.00800 0 3047 BULK 717 TIP3 OH2 OT -.834000 15.9994 0 3048 BULK 717 TIP3 H1 HT .417000 1.00800 0 3049 BULK 717 TIP3 H2 HT .417000 1.00800 0 3050 BULK 718 TIP3 OH2 OT -.834000 15.9994 0 3051 BULK 718 TIP3 H1 HT .417000 1.00800 0 3052 BULK 718 TIP3 H2 HT .417000 1.00800 0 3053 BULK 719 TIP3 OH2 OT -.834000 15.9994 0 3054 BULK 719 TIP3 H1 HT .417000 1.00800 0 3055 BULK 719 TIP3 H2 HT .417000 1.00800 0 3056 BULK 720 TIP3 OH2 OT -.834000 15.9994 0 3057 BULK 720 TIP3 H1 HT .417000 1.00800 0 3058 BULK 720 TIP3 H2 HT .417000 1.00800 0 3059 BULK 721 TIP3 OH2 OT -.834000 15.9994 0 3060 BULK 721 TIP3 H1 HT .417000 1.00800 0 3061 BULK 721 TIP3 H2 HT .417000 1.00800 0 3062 BULK 722 TIP3 OH2 OT -.834000 15.9994 0 3063 BULK 722 TIP3 H1 HT .417000 1.00800 0 3064 BULK 722 TIP3 H2 HT .417000 1.00800 0 3065 BULK 723 TIP3 OH2 OT -.834000 15.9994 0 3066 BULK 723 TIP3 H1 HT .417000 1.00800 0 3067 BULK 723 TIP3 H2 HT .417000 1.00800 0 3068 BULK 724 TIP3 OH2 OT -.834000 15.9994 0 3069 BULK 724 TIP3 H1 HT .417000 1.00800 0 3070 BULK 724 TIP3 H2 HT .417000 1.00800 0 3071 BULK 725 TIP3 OH2 OT -.834000 15.9994 0 3072 BULK 725 TIP3 H1 HT .417000 1.00800 0 3073 BULK 725 TIP3 H2 HT .417000 1.00800 0 3074 BULK 726 TIP3 OH2 OT -.834000 15.9994 0 3075 BULK 726 TIP3 H1 HT .417000 1.00800 0 3076 BULK 726 TIP3 H2 HT .417000 1.00800 0 3077 BULK 727 TIP3 OH2 OT -.834000 15.9994 0 3078 BULK 727 TIP3 H1 HT .417000 1.00800 0 3079 BULK 727 TIP3 H2 HT .417000 1.00800 0 3080 BULK 728 TIP3 OH2 OT -.834000 15.9994 0 3081 BULK 728 TIP3 H1 HT .417000 1.00800 0 3082 BULK 728 TIP3 H2 HT .417000 1.00800 0 3083 BULK 729 TIP3 OH2 OT -.834000 15.9994 0 3084 BULK 729 TIP3 H1 HT .417000 1.00800 0 3085 BULK 729 TIP3 H2 HT .417000 1.00800 0 3086 BULK 730 TIP3 OH2 OT -.834000 15.9994 0 3087 BULK 730 TIP3 H1 HT .417000 1.00800 0 3088 BULK 730 TIP3 H2 HT .417000 1.00800 0 3089 BULK 731 TIP3 OH2 OT -.834000 15.9994 0 3090 BULK 731 TIP3 H1 HT .417000 1.00800 0 3091 BULK 731 TIP3 H2 HT .417000 1.00800 0 3092 BULK 732 TIP3 OH2 OT -.834000 15.9994 0 3093 BULK 732 TIP3 H1 HT .417000 1.00800 0 3094 BULK 732 TIP3 H2 HT .417000 1.00800 0 3095 BULK 733 TIP3 OH2 OT -.834000 15.9994 0 3096 BULK 733 TIP3 H1 HT .417000 1.00800 0 3097 BULK 733 TIP3 H2 HT .417000 1.00800 0 3098 BULK 734 TIP3 OH2 OT -.834000 15.9994 0 3099 BULK 734 TIP3 H1 HT .417000 1.00800 0 3100 BULK 734 TIP3 H2 HT .417000 1.00800 0 3101 BULK 735 TIP3 OH2 OT -.834000 15.9994 0 3102 BULK 735 TIP3 H1 HT .417000 1.00800 0 3103 BULK 735 TIP3 H2 HT .417000 1.00800 0 3104 BULK 736 TIP3 OH2 OT -.834000 15.9994 0 3105 BULK 736 TIP3 H1 HT .417000 1.00800 0 3106 BULK 736 TIP3 H2 HT .417000 1.00800 0 3107 BULK 737 TIP3 OH2 OT -.834000 15.9994 0 3108 BULK 737 TIP3 H1 HT .417000 1.00800 0 3109 BULK 737 TIP3 H2 HT .417000 1.00800 0 3110 BULK 738 TIP3 OH2 OT -.834000 15.9994 0 3111 BULK 738 TIP3 H1 HT .417000 1.00800 0 3112 BULK 738 TIP3 H2 HT .417000 1.00800 0 3113 BULK 739 TIP3 OH2 OT -.834000 15.9994 0 3114 BULK 739 TIP3 H1 HT .417000 1.00800 0 3115 BULK 739 TIP3 H2 HT .417000 1.00800 0 3116 BULK 740 TIP3 OH2 OT -.834000 15.9994 0 3117 BULK 740 TIP3 H1 HT .417000 1.00800 0 3118 BULK 740 TIP3 H2 HT .417000 1.00800 0 3119 BULK 741 TIP3 OH2 OT -.834000 15.9994 0 3120 BULK 741 TIP3 H1 HT .417000 1.00800 0 3121 BULK 741 TIP3 H2 HT .417000 1.00800 0 3122 BULK 742 TIP3 OH2 OT -.834000 15.9994 0 3123 BULK 742 TIP3 H1 HT .417000 1.00800 0 3124 BULK 742 TIP3 H2 HT .417000 1.00800 0 3125 BULK 743 TIP3 OH2 OT -.834000 15.9994 0 3126 BULK 743 TIP3 H1 HT .417000 1.00800 0 3127 BULK 743 TIP3 H2 HT .417000 1.00800 0 3128 BULK 744 TIP3 OH2 OT -.834000 15.9994 0 3129 BULK 744 TIP3 H1 HT .417000 1.00800 0 3130 BULK 744 TIP3 H2 HT .417000 1.00800 0 3131 BULK 745 TIP3 OH2 OT -.834000 15.9994 0 3132 BULK 745 TIP3 H1 HT .417000 1.00800 0 3133 BULK 745 TIP3 H2 HT .417000 1.00800 0 3134 BULK 746 TIP3 OH2 OT -.834000 15.9994 0 3135 BULK 746 TIP3 H1 HT .417000 1.00800 0 3136 BULK 746 TIP3 H2 HT .417000 1.00800 0 3137 BULK 747 TIP3 OH2 OT -.834000 15.9994 0 3138 BULK 747 TIP3 H1 HT .417000 1.00800 0 3139 BULK 747 TIP3 H2 HT .417000 1.00800 0 3140 BULK 748 TIP3 OH2 OT -.834000 15.9994 0 3141 BULK 748 TIP3 H1 HT .417000 1.00800 0 3142 BULK 748 TIP3 H2 HT .417000 1.00800 0 3143 BULK 749 TIP3 OH2 OT -.834000 15.9994 0 3144 BULK 749 TIP3 H1 HT .417000 1.00800 0 3145 BULK 749 TIP3 H2 HT .417000 1.00800 0 3146 BULK 750 TIP3 OH2 OT -.834000 15.9994 0 3147 BULK 750 TIP3 H1 HT .417000 1.00800 0 3148 BULK 750 TIP3 H2 HT .417000 1.00800 0 3149 BULK 751 TIP3 OH2 OT -.834000 15.9994 0 3150 BULK 751 TIP3 H1 HT .417000 1.00800 0 3151 BULK 751 TIP3 H2 HT .417000 1.00800 0 3152 BULK 752 TIP3 OH2 OT -.834000 15.9994 0 3153 BULK 752 TIP3 H1 HT .417000 1.00800 0 3154 BULK 752 TIP3 H2 HT .417000 1.00800 0 3155 BULK 753 TIP3 OH2 OT -.834000 15.9994 0 3156 BULK 753 TIP3 H1 HT .417000 1.00800 0 3157 BULK 753 TIP3 H2 HT .417000 1.00800 0 3158 BULK 754 TIP3 OH2 OT -.834000 15.9994 0 3159 BULK 754 TIP3 H1 HT .417000 1.00800 0 3160 BULK 754 TIP3 H2 HT .417000 1.00800 0 3161 BULK 755 TIP3 OH2 OT -.834000 15.9994 0 3162 BULK 755 TIP3 H1 HT .417000 1.00800 0 3163 BULK 755 TIP3 H2 HT .417000 1.00800 0 3164 BULK 756 TIP3 OH2 OT -.834000 15.9994 0 3165 BULK 756 TIP3 H1 HT .417000 1.00800 0 3166 BULK 756 TIP3 H2 HT .417000 1.00800 0 3167 BULK 757 TIP3 OH2 OT -.834000 15.9994 0 3168 BULK 757 TIP3 H1 HT .417000 1.00800 0 3169 BULK 757 TIP3 H2 HT .417000 1.00800 0 3170 BULK 758 TIP3 OH2 OT -.834000 15.9994 0 3171 BULK 758 TIP3 H1 HT .417000 1.00800 0 3172 BULK 758 TIP3 H2 HT .417000 1.00800 0 3173 BULK 759 TIP3 OH2 OT -.834000 15.9994 0 3174 BULK 759 TIP3 H1 HT .417000 1.00800 0 3175 BULK 759 TIP3 H2 HT .417000 1.00800 0 3176 BULK 760 TIP3 OH2 OT -.834000 15.9994 0 3177 BULK 760 TIP3 H1 HT .417000 1.00800 0 3178 BULK 760 TIP3 H2 HT .417000 1.00800 0 3179 BULK 761 TIP3 OH2 OT -.834000 15.9994 0 3180 BULK 761 TIP3 H1 HT .417000 1.00800 0 3181 BULK 761 TIP3 H2 HT .417000 1.00800 0 3182 BULK 762 TIP3 OH2 OT -.834000 15.9994 0 3183 BULK 762 TIP3 H1 HT .417000 1.00800 0 3184 BULK 762 TIP3 H2 HT .417000 1.00800 0 3185 BULK 763 TIP3 OH2 OT -.834000 15.9994 0 3186 BULK 763 TIP3 H1 HT .417000 1.00800 0 3187 BULK 763 TIP3 H2 HT .417000 1.00800 0 3188 BULK 764 TIP3 OH2 OT -.834000 15.9994 0 3189 BULK 764 TIP3 H1 HT .417000 1.00800 0 3190 BULK 764 TIP3 H2 HT .417000 1.00800 0 3191 BULK 765 TIP3 OH2 OT -.834000 15.9994 0 3192 BULK 765 TIP3 H1 HT .417000 1.00800 0 3193 BULK 765 TIP3 H2 HT .417000 1.00800 0 3194 BULK 766 TIP3 OH2 OT -.834000 15.9994 0 3195 BULK 766 TIP3 H1 HT .417000 1.00800 0 3196 BULK 766 TIP3 H2 HT .417000 1.00800 0 3197 BULK 767 TIP3 OH2 OT -.834000 15.9994 0 3198 BULK 767 TIP3 H1 HT .417000 1.00800 0 3199 BULK 767 TIP3 H2 HT .417000 1.00800 0 3200 BULK 768 TIP3 OH2 OT -.834000 15.9994 0 3201 BULK 768 TIP3 H1 HT .417000 1.00800 0 3202 BULK 768 TIP3 H2 HT .417000 1.00800 0 3203 BULK 769 TIP3 OH2 OT -.834000 15.9994 0 3204 BULK 769 TIP3 H1 HT .417000 1.00800 0 3205 BULK 769 TIP3 H2 HT .417000 1.00800 0 3206 BULK 770 TIP3 OH2 OT -.834000 15.9994 0 3207 BULK 770 TIP3 H1 HT .417000 1.00800 0 3208 BULK 770 TIP3 H2 HT .417000 1.00800 0 3209 BULK 771 TIP3 OH2 OT -.834000 15.9994 0 3210 BULK 771 TIP3 H1 HT .417000 1.00800 0 3211 BULK 771 TIP3 H2 HT .417000 1.00800 0 3212 BULK 772 TIP3 OH2 OT -.834000 15.9994 0 3213 BULK 772 TIP3 H1 HT .417000 1.00800 0 3214 BULK 772 TIP3 H2 HT .417000 1.00800 0 3215 BULK 773 TIP3 OH2 OT -.834000 15.9994 0 3216 BULK 773 TIP3 H1 HT .417000 1.00800 0 3217 BULK 773 TIP3 H2 HT .417000 1.00800 0 3218 BULK 774 TIP3 OH2 OT -.834000 15.9994 0 3219 BULK 774 TIP3 H1 HT .417000 1.00800 0 3220 BULK 774 TIP3 H2 HT .417000 1.00800 0 3221 BULK 775 TIP3 OH2 OT -.834000 15.9994 0 3222 BULK 775 TIP3 H1 HT .417000 1.00800 0 3223 BULK 775 TIP3 H2 HT .417000 1.00800 0 3224 BULK 776 TIP3 OH2 OT -.834000 15.9994 0 3225 BULK 776 TIP3 H1 HT .417000 1.00800 0 3226 BULK 776 TIP3 H2 HT .417000 1.00800 0 3227 BULK 777 TIP3 OH2 OT -.834000 15.9994 0 3228 BULK 777 TIP3 H1 HT .417000 1.00800 0 3229 BULK 777 TIP3 H2 HT .417000 1.00800 0 3230 BULK 778 TIP3 OH2 OT -.834000 15.9994 0 3231 BULK 778 TIP3 H1 HT .417000 1.00800 0 3232 BULK 778 TIP3 H2 HT .417000 1.00800 0 3233 BULK 779 TIP3 OH2 OT -.834000 15.9994 0 3234 BULK 779 TIP3 H1 HT .417000 1.00800 0 3235 BULK 779 TIP3 H2 HT .417000 1.00800 0 3236 BULK 780 TIP3 OH2 OT -.834000 15.9994 0 3237 BULK 780 TIP3 H1 HT .417000 1.00800 0 3238 BULK 780 TIP3 H2 HT .417000 1.00800 0 3239 BULK 781 TIP3 OH2 OT -.834000 15.9994 0 3240 BULK 781 TIP3 H1 HT .417000 1.00800 0 3241 BULK 781 TIP3 H2 HT .417000 1.00800 0 3242 BULK 782 TIP3 OH2 OT -.834000 15.9994 0 3243 BULK 782 TIP3 H1 HT .417000 1.00800 0 3244 BULK 782 TIP3 H2 HT .417000 1.00800 0 3245 BULK 783 TIP3 OH2 OT -.834000 15.9994 0 3246 BULK 783 TIP3 H1 HT .417000 1.00800 0 3247 BULK 783 TIP3 H2 HT .417000 1.00800 0 3248 BULK 784 TIP3 OH2 OT -.834000 15.9994 0 3249 BULK 784 TIP3 H1 HT .417000 1.00800 0 3250 BULK 784 TIP3 H2 HT .417000 1.00800 0 3251 BULK 785 TIP3 OH2 OT -.834000 15.9994 0 3252 BULK 785 TIP3 H1 HT .417000 1.00800 0 3253 BULK 785 TIP3 H2 HT .417000 1.00800 0 3254 BULK 786 TIP3 OH2 OT -.834000 15.9994 0 3255 BULK 786 TIP3 H1 HT .417000 1.00800 0 3256 BULK 786 TIP3 H2 HT .417000 1.00800 0 3257 BULK 787 TIP3 OH2 OT -.834000 15.9994 0 3258 BULK 787 TIP3 H1 HT .417000 1.00800 0 3259 BULK 787 TIP3 H2 HT .417000 1.00800 0 3260 BULK 788 TIP3 OH2 OT -.834000 15.9994 0 3261 BULK 788 TIP3 H1 HT .417000 1.00800 0 3262 BULK 788 TIP3 H2 HT .417000 1.00800 0 3263 BULK 789 TIP3 OH2 OT -.834000 15.9994 0 3264 BULK 789 TIP3 H1 HT .417000 1.00800 0 3265 BULK 789 TIP3 H2 HT .417000 1.00800 0 3266 BULK 790 TIP3 OH2 OT -.834000 15.9994 0 3267 BULK 790 TIP3 H1 HT .417000 1.00800 0 3268 BULK 790 TIP3 H2 HT .417000 1.00800 0 3269 BULK 791 TIP3 OH2 OT -.834000 15.9994 0 3270 BULK 791 TIP3 H1 HT .417000 1.00800 0 3271 BULK 791 TIP3 H2 HT .417000 1.00800 0 3272 BULK 792 TIP3 OH2 OT -.834000 15.9994 0 3273 BULK 792 TIP3 H1 HT .417000 1.00800 0 3274 BULK 792 TIP3 H2 HT .417000 1.00800 0 3275 BULK 793 TIP3 OH2 OT -.834000 15.9994 0 3276 BULK 793 TIP3 H1 HT .417000 1.00800 0 3277 BULK 793 TIP3 H2 HT .417000 1.00800 0 3278 BULK 794 TIP3 OH2 OT -.834000 15.9994 0 3279 BULK 794 TIP3 H1 HT .417000 1.00800 0 3280 BULK 794 TIP3 H2 HT .417000 1.00800 0 3281 BULK 795 TIP3 OH2 OT -.834000 15.9994 0 3282 BULK 795 TIP3 H1 HT .417000 1.00800 0 3283 BULK 795 TIP3 H2 HT .417000 1.00800 0 3284 BULK 796 TIP3 OH2 OT -.834000 15.9994 0 3285 BULK 796 TIP3 H1 HT .417000 1.00800 0 3286 BULK 796 TIP3 H2 HT .417000 1.00800 0 3287 BULK 797 TIP3 OH2 OT -.834000 15.9994 0 3288 BULK 797 TIP3 H1 HT .417000 1.00800 0 3289 BULK 797 TIP3 H2 HT .417000 1.00800 0 3290 BULK 798 TIP3 OH2 OT -.834000 15.9994 0 3291 BULK 798 TIP3 H1 HT .417000 1.00800 0 3292 BULK 798 TIP3 H2 HT .417000 1.00800 0 3293 BULK 799 TIP3 OH2 OT -.834000 15.9994 0 3294 BULK 799 TIP3 H1 HT .417000 1.00800 0 3295 BULK 799 TIP3 H2 HT .417000 1.00800 0 3296 BULK 800 TIP3 OH2 OT -.834000 15.9994 0 3297 BULK 800 TIP3 H1 HT .417000 1.00800 0 3298 BULK 800 TIP3 H2 HT .417000 1.00800 0 3299 BULK 801 TIP3 OH2 OT -.834000 15.9994 0 3300 BULK 801 TIP3 H1 HT .417000 1.00800 0 3301 BULK 801 TIP3 H2 HT .417000 1.00800 0 3302 BULK 802 TIP3 OH2 OT -.834000 15.9994 0 3303 BULK 802 TIP3 H1 HT .417000 1.00800 0 3304 BULK 802 TIP3 H2 HT .417000 1.00800 0 3305 BULK 803 TIP3 OH2 OT -.834000 15.9994 0 3306 BULK 803 TIP3 H1 HT .417000 1.00800 0 3307 BULK 803 TIP3 H2 HT .417000 1.00800 0 3308 BULK 804 TIP3 OH2 OT -.834000 15.9994 0 3309 BULK 804 TIP3 H1 HT .417000 1.00800 0 3310 BULK 804 TIP3 H2 HT .417000 1.00800 0 3311 BULK 805 TIP3 OH2 OT -.834000 15.9994 0 3312 BULK 805 TIP3 H1 HT .417000 1.00800 0 3313 BULK 805 TIP3 H2 HT .417000 1.00800 0 3314 BULK 806 TIP3 OH2 OT -.834000 15.9994 0 3315 BULK 806 TIP3 H1 HT .417000 1.00800 0 3316 BULK 806 TIP3 H2 HT .417000 1.00800 0 3317 BULK 807 TIP3 OH2 OT -.834000 15.9994 0 3318 BULK 807 TIP3 H1 HT .417000 1.00800 0 3319 BULK 807 TIP3 H2 HT .417000 1.00800 0 3320 BULK 808 TIP3 OH2 OT -.834000 15.9994 0 3321 BULK 808 TIP3 H1 HT .417000 1.00800 0 3322 BULK 808 TIP3 H2 HT .417000 1.00800 0 3323 BULK 809 TIP3 OH2 OT -.834000 15.9994 0 3324 BULK 809 TIP3 H1 HT .417000 1.00800 0 3325 BULK 809 TIP3 H2 HT .417000 1.00800 0 3326 BULK 810 TIP3 OH2 OT -.834000 15.9994 0 3327 BULK 810 TIP3 H1 HT .417000 1.00800 0 3328 BULK 810 TIP3 H2 HT .417000 1.00800 0 3329 BULK 811 TIP3 OH2 OT -.834000 15.9994 0 3330 BULK 811 TIP3 H1 HT .417000 1.00800 0 3331 BULK 811 TIP3 H2 HT .417000 1.00800 0 3332 BULK 812 TIP3 OH2 OT -.834000 15.9994 0 3333 BULK 812 TIP3 H1 HT .417000 1.00800 0 3334 BULK 812 TIP3 H2 HT .417000 1.00800 0 3335 BULK 813 TIP3 OH2 OT -.834000 15.9994 0 3336 BULK 813 TIP3 H1 HT .417000 1.00800 0 3337 BULK 813 TIP3 H2 HT .417000 1.00800 0 3338 BULK 814 TIP3 OH2 OT -.834000 15.9994 0 3339 BULK 814 TIP3 H1 HT .417000 1.00800 0 3340 BULK 814 TIP3 H2 HT .417000 1.00800 0 3341 BULK 815 TIP3 OH2 OT -.834000 15.9994 0 3342 BULK 815 TIP3 H1 HT .417000 1.00800 0 3343 BULK 815 TIP3 H2 HT .417000 1.00800 0 3344 BULK 816 TIP3 OH2 OT -.834000 15.9994 0 3345 BULK 816 TIP3 H1 HT .417000 1.00800 0 3346 BULK 816 TIP3 H2 HT .417000 1.00800 0 3347 BULK 817 TIP3 OH2 OT -.834000 15.9994 0 3348 BULK 817 TIP3 H1 HT .417000 1.00800 0 3349 BULK 817 TIP3 H2 HT .417000 1.00800 0 3350 BULK 818 TIP3 OH2 OT -.834000 15.9994 0 3351 BULK 818 TIP3 H1 HT .417000 1.00800 0 3352 BULK 818 TIP3 H2 HT .417000 1.00800 0 3353 BULK 819 TIP3 OH2 OT -.834000 15.9994 0 3354 BULK 819 TIP3 H1 HT .417000 1.00800 0 3355 BULK 819 TIP3 H2 HT .417000 1.00800 0 3356 BULK 820 TIP3 OH2 OT -.834000 15.9994 0 3357 BULK 820 TIP3 H1 HT .417000 1.00800 0 3358 BULK 820 TIP3 H2 HT .417000 1.00800 0 3359 BULK 821 TIP3 OH2 OT -.834000 15.9994 0 3360 BULK 821 TIP3 H1 HT .417000 1.00800 0 3361 BULK 821 TIP3 H2 HT .417000 1.00800 0 3362 BULK 822 TIP3 OH2 OT -.834000 15.9994 0 3363 BULK 822 TIP3 H1 HT .417000 1.00800 0 3364 BULK 822 TIP3 H2 HT .417000 1.00800 0 3365 BULK 823 TIP3 OH2 OT -.834000 15.9994 0 3366 BULK 823 TIP3 H1 HT .417000 1.00800 0 3367 BULK 823 TIP3 H2 HT .417000 1.00800 0 3368 BULK 824 TIP3 OH2 OT -.834000 15.9994 0 3369 BULK 824 TIP3 H1 HT .417000 1.00800 0 3370 BULK 824 TIP3 H2 HT .417000 1.00800 0 3371 BULK 825 TIP3 OH2 OT -.834000 15.9994 0 3372 BULK 825 TIP3 H1 HT .417000 1.00800 0 3373 BULK 825 TIP3 H2 HT .417000 1.00800 0 3374 BULK 826 TIP3 OH2 OT -.834000 15.9994 0 3375 BULK 826 TIP3 H1 HT .417000 1.00800 0 3376 BULK 826 TIP3 H2 HT .417000 1.00800 0 3377 BULK 827 TIP3 OH2 OT -.834000 15.9994 0 3378 BULK 827 TIP3 H1 HT .417000 1.00800 0 3379 BULK 827 TIP3 H2 HT .417000 1.00800 0 3380 BULK 828 TIP3 OH2 OT -.834000 15.9994 0 3381 BULK 828 TIP3 H1 HT .417000 1.00800 0 3382 BULK 828 TIP3 H2 HT .417000 1.00800 0 3383 BULK 829 TIP3 OH2 OT -.834000 15.9994 0 3384 BULK 829 TIP3 H1 HT .417000 1.00800 0 3385 BULK 829 TIP3 H2 HT .417000 1.00800 0 3386 BULK 830 TIP3 OH2 OT -.834000 15.9994 0 3387 BULK 830 TIP3 H1 HT .417000 1.00800 0 3388 BULK 830 TIP3 H2 HT .417000 1.00800 0 3389 BULK 831 TIP3 OH2 OT -.834000 15.9994 0 3390 BULK 831 TIP3 H1 HT .417000 1.00800 0 3391 BULK 831 TIP3 H2 HT .417000 1.00800 0 3392 BULK 832 TIP3 OH2 OT -.834000 15.9994 0 3393 BULK 832 TIP3 H1 HT .417000 1.00800 0 3394 BULK 832 TIP3 H2 HT .417000 1.00800 0 3395 BULK 833 TIP3 OH2 OT -.834000 15.9994 0 3396 BULK 833 TIP3 H1 HT .417000 1.00800 0 3397 BULK 833 TIP3 H2 HT .417000 1.00800 0 3398 BULK 834 TIP3 OH2 OT -.834000 15.9994 0 3399 BULK 834 TIP3 H1 HT .417000 1.00800 0 3400 BULK 834 TIP3 H2 HT .417000 1.00800 0 3401 BULK 835 TIP3 OH2 OT -.834000 15.9994 0 3402 BULK 835 TIP3 H1 HT .417000 1.00800 0 3403 BULK 835 TIP3 H2 HT .417000 1.00800 0 3404 BULK 836 TIP3 OH2 OT -.834000 15.9994 0 3405 BULK 836 TIP3 H1 HT .417000 1.00800 0 3406 BULK 836 TIP3 H2 HT .417000 1.00800 0 3407 BULK 837 TIP3 OH2 OT -.834000 15.9994 0 3408 BULK 837 TIP3 H1 HT .417000 1.00800 0 3409 BULK 837 TIP3 H2 HT .417000 1.00800 0 3410 BULK 838 TIP3 OH2 OT -.834000 15.9994 0 3411 BULK 838 TIP3 H1 HT .417000 1.00800 0 3412 BULK 838 TIP3 H2 HT .417000 1.00800 0 3413 BULK 839 TIP3 OH2 OT -.834000 15.9994 0 3414 BULK 839 TIP3 H1 HT .417000 1.00800 0 3415 BULK 839 TIP3 H2 HT .417000 1.00800 0 3416 BULK 840 TIP3 OH2 OT -.834000 15.9994 0 3417 BULK 840 TIP3 H1 HT .417000 1.00800 0 3418 BULK 840 TIP3 H2 HT .417000 1.00800 0 3419 BULK 841 TIP3 OH2 OT -.834000 15.9994 0 3420 BULK 841 TIP3 H1 HT .417000 1.00800 0 3421 BULK 841 TIP3 H2 HT .417000 1.00800 0 3422 BULK 842 TIP3 OH2 OT -.834000 15.9994 0 3423 BULK 842 TIP3 H1 HT .417000 1.00800 0 3424 BULK 842 TIP3 H2 HT .417000 1.00800 0 3425 BULK 843 TIP3 OH2 OT -.834000 15.9994 0 3426 BULK 843 TIP3 H1 HT .417000 1.00800 0 3427 BULK 843 TIP3 H2 HT .417000 1.00800 0 3428 BULK 844 TIP3 OH2 OT -.834000 15.9994 0 3429 BULK 844 TIP3 H1 HT .417000 1.00800 0 3430 BULK 844 TIP3 H2 HT .417000 1.00800 0 3431 BULK 845 TIP3 OH2 OT -.834000 15.9994 0 3432 BULK 845 TIP3 H1 HT .417000 1.00800 0 3433 BULK 845 TIP3 H2 HT .417000 1.00800 0 3434 BULK 846 TIP3 OH2 OT -.834000 15.9994 0 3435 BULK 846 TIP3 H1 HT .417000 1.00800 0 3436 BULK 846 TIP3 H2 HT .417000 1.00800 0 3437 BULK 847 TIP3 OH2 OT -.834000 15.9994 0 3438 BULK 847 TIP3 H1 HT .417000 1.00800 0 3439 BULK 847 TIP3 H2 HT .417000 1.00800 0 3440 BULK 848 TIP3 OH2 OT -.834000 15.9994 0 3441 BULK 848 TIP3 H1 HT .417000 1.00800 0 3442 BULK 848 TIP3 H2 HT .417000 1.00800 0 3443 BULK 849 TIP3 OH2 OT -.834000 15.9994 0 3444 BULK 849 TIP3 H1 HT .417000 1.00800 0 3445 BULK 849 TIP3 H2 HT .417000 1.00800 0 3446 BULK 850 TIP3 OH2 OT -.834000 15.9994 0 3447 BULK 850 TIP3 H1 HT .417000 1.00800 0 3448 BULK 850 TIP3 H2 HT .417000 1.00800 0 3449 BULK 851 TIP3 OH2 OT -.834000 15.9994 0 3450 BULK 851 TIP3 H1 HT .417000 1.00800 0 3451 BULK 851 TIP3 H2 HT .417000 1.00800 0 3452 BULK 852 TIP3 OH2 OT -.834000 15.9994 0 3453 BULK 852 TIP3 H1 HT .417000 1.00800 0 3454 BULK 852 TIP3 H2 HT .417000 1.00800 0 3455 BULK 853 TIP3 OH2 OT -.834000 15.9994 0 3456 BULK 853 TIP3 H1 HT .417000 1.00800 0 3457 BULK 853 TIP3 H2 HT .417000 1.00800 0 3458 BULK 854 TIP3 OH2 OT -.834000 15.9994 0 3459 BULK 854 TIP3 H1 HT .417000 1.00800 0 3460 BULK 854 TIP3 H2 HT .417000 1.00800 0 3461 BULK 855 TIP3 OH2 OT -.834000 15.9994 0 3462 BULK 855 TIP3 H1 HT .417000 1.00800 0 3463 BULK 855 TIP3 H2 HT .417000 1.00800 0 3464 BULK 856 TIP3 OH2 OT -.834000 15.9994 0 3465 BULK 856 TIP3 H1 HT .417000 1.00800 0 3466 BULK 856 TIP3 H2 HT .417000 1.00800 0 3467 BULK 857 TIP3 OH2 OT -.834000 15.9994 0 3468 BULK 857 TIP3 H1 HT .417000 1.00800 0 3469 BULK 857 TIP3 H2 HT .417000 1.00800 0 3470 BULK 858 TIP3 OH2 OT -.834000 15.9994 0 3471 BULK 858 TIP3 H1 HT .417000 1.00800 0 3472 BULK 858 TIP3 H2 HT .417000 1.00800 0 3473 BULK 859 TIP3 OH2 OT -.834000 15.9994 0 3474 BULK 859 TIP3 H1 HT .417000 1.00800 0 3475 BULK 859 TIP3 H2 HT .417000 1.00800 0 3476 BULK 860 TIP3 OH2 OT -.834000 15.9994 0 3477 BULK 860 TIP3 H1 HT .417000 1.00800 0 3478 BULK 860 TIP3 H2 HT .417000 1.00800 0 3479 BULK 861 TIP3 OH2 OT -.834000 15.9994 0 3480 BULK 861 TIP3 H1 HT .417000 1.00800 0 3481 BULK 861 TIP3 H2 HT .417000 1.00800 0 3482 BULK 862 TIP3 OH2 OT -.834000 15.9994 0 3483 BULK 862 TIP3 H1 HT .417000 1.00800 0 3484 BULK 862 TIP3 H2 HT .417000 1.00800 0 3485 BULK 863 TIP3 OH2 OT -.834000 15.9994 0 3486 BULK 863 TIP3 H1 HT .417000 1.00800 0 3487 BULK 863 TIP3 H2 HT .417000 1.00800 0 3488 BULK 864 TIP3 OH2 OT -.834000 15.9994 0 3489 BULK 864 TIP3 H1 HT .417000 1.00800 0 3490 BULK 864 TIP3 H2 HT .417000 1.00800 0 3491 BULK 865 TIP3 OH2 OT -.834000 15.9994 0 3492 BULK 865 TIP3 H1 HT .417000 1.00800 0 3493 BULK 865 TIP3 H2 HT .417000 1.00800 0 3494 BULK 866 TIP3 OH2 OT -.834000 15.9994 0 3495 BULK 866 TIP3 H1 HT .417000 1.00800 0 3496 BULK 866 TIP3 H2 HT .417000 1.00800 0 3497 BULK 867 TIP3 OH2 OT -.834000 15.9994 0 3498 BULK 867 TIP3 H1 HT .417000 1.00800 0 3499 BULK 867 TIP3 H2 HT .417000 1.00800 0 3500 BULK 868 TIP3 OH2 OT -.834000 15.9994 0 3501 BULK 868 TIP3 H1 HT .417000 1.00800 0 3502 BULK 868 TIP3 H2 HT .417000 1.00800 0 3503 BULK 869 TIP3 OH2 OT -.834000 15.9994 0 3504 BULK 869 TIP3 H1 HT .417000 1.00800 0 3505 BULK 869 TIP3 H2 HT .417000 1.00800 0 3506 BULK 870 TIP3 OH2 OT -.834000 15.9994 0 3507 BULK 870 TIP3 H1 HT .417000 1.00800 0 3508 BULK 870 TIP3 H2 HT .417000 1.00800 0 3509 BULK 871 TIP3 OH2 OT -.834000 15.9994 0 3510 BULK 871 TIP3 H1 HT .417000 1.00800 0 3511 BULK 871 TIP3 H2 HT .417000 1.00800 0 3512 BULK 872 TIP3 OH2 OT -.834000 15.9994 0 3513 BULK 872 TIP3 H1 HT .417000 1.00800 0 3514 BULK 872 TIP3 H2 HT .417000 1.00800 0 3515 BULK 873 TIP3 OH2 OT -.834000 15.9994 0 3516 BULK 873 TIP3 H1 HT .417000 1.00800 0 3517 BULK 873 TIP3 H2 HT .417000 1.00800 0 3518 BULK 874 TIP3 OH2 OT -.834000 15.9994 0 3519 BULK 874 TIP3 H1 HT .417000 1.00800 0 3520 BULK 874 TIP3 H2 HT .417000 1.00800 0 3521 BULK 875 TIP3 OH2 OT -.834000 15.9994 0 3522 BULK 875 TIP3 H1 HT .417000 1.00800 0 3523 BULK 875 TIP3 H2 HT .417000 1.00800 0 3524 BULK 876 TIP3 OH2 OT -.834000 15.9994 0 3525 BULK 876 TIP3 H1 HT .417000 1.00800 0 3526 BULK 876 TIP3 H2 HT .417000 1.00800 0 3527 BULK 877 TIP3 OH2 OT -.834000 15.9994 0 3528 BULK 877 TIP3 H1 HT .417000 1.00800 0 3529 BULK 877 TIP3 H2 HT .417000 1.00800 0 3530 BULK 878 TIP3 OH2 OT -.834000 15.9994 0 3531 BULK 878 TIP3 H1 HT .417000 1.00800 0 3532 BULK 878 TIP3 H2 HT .417000 1.00800 0 3533 BULK 879 TIP3 OH2 OT -.834000 15.9994 0 3534 BULK 879 TIP3 H1 HT .417000 1.00800 0 3535 BULK 879 TIP3 H2 HT .417000 1.00800 0 3536 BULK 880 TIP3 OH2 OT -.834000 15.9994 0 3537 BULK 880 TIP3 H1 HT .417000 1.00800 0 3538 BULK 880 TIP3 H2 HT .417000 1.00800 0 3539 BULK 881 TIP3 OH2 OT -.834000 15.9994 0 3540 BULK 881 TIP3 H1 HT .417000 1.00800 0 3541 BULK 881 TIP3 H2 HT .417000 1.00800 0 3542 BULK 882 TIP3 OH2 OT -.834000 15.9994 0 3543 BULK 882 TIP3 H1 HT .417000 1.00800 0 3544 BULK 882 TIP3 H2 HT .417000 1.00800 0 3545 BULK 883 TIP3 OH2 OT -.834000 15.9994 0 3546 BULK 883 TIP3 H1 HT .417000 1.00800 0 3547 BULK 883 TIP3 H2 HT .417000 1.00800 0 3548 BULK 884 TIP3 OH2 OT -.834000 15.9994 0 3549 BULK 884 TIP3 H1 HT .417000 1.00800 0 3550 BULK 884 TIP3 H2 HT .417000 1.00800 0 3551 BULK 885 TIP3 OH2 OT -.834000 15.9994 0 3552 BULK 885 TIP3 H1 HT .417000 1.00800 0 3553 BULK 885 TIP3 H2 HT .417000 1.00800 0 3554 BULK 886 TIP3 OH2 OT -.834000 15.9994 0 3555 BULK 886 TIP3 H1 HT .417000 1.00800 0 3556 BULK 886 TIP3 H2 HT .417000 1.00800 0 3557 BULK 887 TIP3 OH2 OT -.834000 15.9994 0 3558 BULK 887 TIP3 H1 HT .417000 1.00800 0 3559 BULK 887 TIP3 H2 HT .417000 1.00800 0 3560 BULK 888 TIP3 OH2 OT -.834000 15.9994 0 3561 BULK 888 TIP3 H1 HT .417000 1.00800 0 3562 BULK 888 TIP3 H2 HT .417000 1.00800 0 3563 BULK 889 TIP3 OH2 OT -.834000 15.9994 0 3564 BULK 889 TIP3 H1 HT .417000 1.00800 0 3565 BULK 889 TIP3 H2 HT .417000 1.00800 0 3566 BULK 890 TIP3 OH2 OT -.834000 15.9994 0 3567 BULK 890 TIP3 H1 HT .417000 1.00800 0 3568 BULK 890 TIP3 H2 HT .417000 1.00800 0 3569 BULK 891 TIP3 OH2 OT -.834000 15.9994 0 3570 BULK 891 TIP3 H1 HT .417000 1.00800 0 3571 BULK 891 TIP3 H2 HT .417000 1.00800 0 3572 BULK 892 TIP3 OH2 OT -.834000 15.9994 0 3573 BULK 892 TIP3 H1 HT .417000 1.00800 0 3574 BULK 892 TIP3 H2 HT .417000 1.00800 0 3575 BULK 893 TIP3 OH2 OT -.834000 15.9994 0 3576 BULK 893 TIP3 H1 HT .417000 1.00800 0 3577 BULK 893 TIP3 H2 HT .417000 1.00800 0 3578 BULK 894 TIP3 OH2 OT -.834000 15.9994 0 3579 BULK 894 TIP3 H1 HT .417000 1.00800 0 3580 BULK 894 TIP3 H2 HT .417000 1.00800 0 3581 BULK 895 TIP3 OH2 OT -.834000 15.9994 0 3582 BULK 895 TIP3 H1 HT .417000 1.00800 0 3583 BULK 895 TIP3 H2 HT .417000 1.00800 0 3584 BULK 896 TIP3 OH2 OT -.834000 15.9994 0 3585 BULK 896 TIP3 H1 HT .417000 1.00800 0 3586 BULK 896 TIP3 H2 HT .417000 1.00800 0 3587 BULK 897 TIP3 OH2 OT -.834000 15.9994 0 3588 BULK 897 TIP3 H1 HT .417000 1.00800 0 3589 BULK 897 TIP3 H2 HT .417000 1.00800 0 3590 BULK 898 TIP3 OH2 OT -.834000 15.9994 0 3591 BULK 898 TIP3 H1 HT .417000 1.00800 0 3592 BULK 898 TIP3 H2 HT .417000 1.00800 0 3593 BULK 899 TIP3 OH2 OT -.834000 15.9994 0 3594 BULK 899 TIP3 H1 HT .417000 1.00800 0 3595 BULK 899 TIP3 H2 HT .417000 1.00800 0 3596 BULK 900 TIP3 OH2 OT -.834000 15.9994 0 3597 BULK 900 TIP3 H1 HT .417000 1.00800 0 3598 BULK 900 TIP3 H2 HT .417000 1.00800 0 3599 BULK 901 TIP3 OH2 OT -.834000 15.9994 0 3600 BULK 901 TIP3 H1 HT .417000 1.00800 0 3601 BULK 901 TIP3 H2 HT .417000 1.00800 0 3602 BULK 902 TIP3 OH2 OT -.834000 15.9994 0 3603 BULK 902 TIP3 H1 HT .417000 1.00800 0 3604 BULK 902 TIP3 H2 HT .417000 1.00800 0 3605 BULK 903 TIP3 OH2 OT -.834000 15.9994 0 3606 BULK 903 TIP3 H1 HT .417000 1.00800 0 3607 BULK 903 TIP3 H2 HT .417000 1.00800 0 3608 BULK 904 TIP3 OH2 OT -.834000 15.9994 0 3609 BULK 904 TIP3 H1 HT .417000 1.00800 0 3610 BULK 904 TIP3 H2 HT .417000 1.00800 0 3611 BULK 905 TIP3 OH2 OT -.834000 15.9994 0 3612 BULK 905 TIP3 H1 HT .417000 1.00800 0 3613 BULK 905 TIP3 H2 HT .417000 1.00800 0 3614 BULK 906 TIP3 OH2 OT -.834000 15.9994 0 3615 BULK 906 TIP3 H1 HT .417000 1.00800 0 3616 BULK 906 TIP3 H2 HT .417000 1.00800 0 3617 BULK 907 TIP3 OH2 OT -.834000 15.9994 0 3618 BULK 907 TIP3 H1 HT .417000 1.00800 0 3619 BULK 907 TIP3 H2 HT .417000 1.00800 0 3620 BULK 908 TIP3 OH2 OT -.834000 15.9994 0 3621 BULK 908 TIP3 H1 HT .417000 1.00800 0 3622 BULK 908 TIP3 H2 HT .417000 1.00800 0 3623 BULK 909 TIP3 OH2 OT -.834000 15.9994 0 3624 BULK 909 TIP3 H1 HT .417000 1.00800 0 3625 BULK 909 TIP3 H2 HT .417000 1.00800 0 3626 BULK 910 TIP3 OH2 OT -.834000 15.9994 0 3627 BULK 910 TIP3 H1 HT .417000 1.00800 0 3628 BULK 910 TIP3 H2 HT .417000 1.00800 0 3629 BULK 911 TIP3 OH2 OT -.834000 15.9994 0 3630 BULK 911 TIP3 H1 HT .417000 1.00800 0 3631 BULK 911 TIP3 H2 HT .417000 1.00800 0 3632 BULK 912 TIP3 OH2 OT -.834000 15.9994 0 3633 BULK 912 TIP3 H1 HT .417000 1.00800 0 3634 BULK 912 TIP3 H2 HT .417000 1.00800 0 3635 BULK 913 TIP3 OH2 OT -.834000 15.9994 0 3636 BULK 913 TIP3 H1 HT .417000 1.00800 0 3637 BULK 913 TIP3 H2 HT .417000 1.00800 0 3638 BULK 914 TIP3 OH2 OT -.834000 15.9994 0 3639 BULK 914 TIP3 H1 HT .417000 1.00800 0 3640 BULK 914 TIP3 H2 HT .417000 1.00800 0 3641 BULK 915 TIP3 OH2 OT -.834000 15.9994 0 3642 BULK 915 TIP3 H1 HT .417000 1.00800 0 3643 BULK 915 TIP3 H2 HT .417000 1.00800 0 3644 BULK 916 TIP3 OH2 OT -.834000 15.9994 0 3645 BULK 916 TIP3 H1 HT .417000 1.00800 0 3646 BULK 916 TIP3 H2 HT .417000 1.00800 0 3647 BULK 917 TIP3 OH2 OT -.834000 15.9994 0 3648 BULK 917 TIP3 H1 HT .417000 1.00800 0 3649 BULK 917 TIP3 H2 HT .417000 1.00800 0 3650 BULK 918 TIP3 OH2 OT -.834000 15.9994 0 3651 BULK 918 TIP3 H1 HT .417000 1.00800 0 3652 BULK 918 TIP3 H2 HT .417000 1.00800 0 3653 BULK 919 TIP3 OH2 OT -.834000 15.9994 0 3654 BULK 919 TIP3 H1 HT .417000 1.00800 0 3655 BULK 919 TIP3 H2 HT .417000 1.00800 0 3656 BULK 920 TIP3 OH2 OT -.834000 15.9994 0 3657 BULK 920 TIP3 H1 HT .417000 1.00800 0 3658 BULK 920 TIP3 H2 HT .417000 1.00800 0 3659 BULK 921 TIP3 OH2 OT -.834000 15.9994 0 3660 BULK 921 TIP3 H1 HT .417000 1.00800 0 3661 BULK 921 TIP3 H2 HT .417000 1.00800 0 3662 BULK 922 TIP3 OH2 OT -.834000 15.9994 0 3663 BULK 922 TIP3 H1 HT .417000 1.00800 0 3664 BULK 922 TIP3 H2 HT .417000 1.00800 0 3665 BULK 923 TIP3 OH2 OT -.834000 15.9994 0 3666 BULK 923 TIP3 H1 HT .417000 1.00800 0 3667 BULK 923 TIP3 H2 HT .417000 1.00800 0 3668 BULK 924 TIP3 OH2 OT -.834000 15.9994 0 3669 BULK 924 TIP3 H1 HT .417000 1.00800 0 3670 BULK 924 TIP3 H2 HT .417000 1.00800 0 3671 BULK 925 TIP3 OH2 OT -.834000 15.9994 0 3672 BULK 925 TIP3 H1 HT .417000 1.00800 0 3673 BULK 925 TIP3 H2 HT .417000 1.00800 0 3674 BULK 926 TIP3 OH2 OT -.834000 15.9994 0 3675 BULK 926 TIP3 H1 HT .417000 1.00800 0 3676 BULK 926 TIP3 H2 HT .417000 1.00800 0 3677 BULK 927 TIP3 OH2 OT -.834000 15.9994 0 3678 BULK 927 TIP3 H1 HT .417000 1.00800 0 3679 BULK 927 TIP3 H2 HT .417000 1.00800 0 3680 BULK 928 TIP3 OH2 OT -.834000 15.9994 0 3681 BULK 928 TIP3 H1 HT .417000 1.00800 0 3682 BULK 928 TIP3 H2 HT .417000 1.00800 0 3683 BULK 929 TIP3 OH2 OT -.834000 15.9994 0 3684 BULK 929 TIP3 H1 HT .417000 1.00800 0 3685 BULK 929 TIP3 H2 HT .417000 1.00800 0 3686 BULK 930 TIP3 OH2 OT -.834000 15.9994 0 3687 BULK 930 TIP3 H1 HT .417000 1.00800 0 3688 BULK 930 TIP3 H2 HT .417000 1.00800 0 3689 BULK 931 TIP3 OH2 OT -.834000 15.9994 0 3690 BULK 931 TIP3 H1 HT .417000 1.00800 0 3691 BULK 931 TIP3 H2 HT .417000 1.00800 0 3692 BULK 932 TIP3 OH2 OT -.834000 15.9994 0 3693 BULK 932 TIP3 H1 HT .417000 1.00800 0 3694 BULK 932 TIP3 H2 HT .417000 1.00800 0 3695 BULK 933 TIP3 OH2 OT -.834000 15.9994 0 3696 BULK 933 TIP3 H1 HT .417000 1.00800 0 3697 BULK 933 TIP3 H2 HT .417000 1.00800 0 3698 BULK 934 TIP3 OH2 OT -.834000 15.9994 0 3699 BULK 934 TIP3 H1 HT .417000 1.00800 0 3700 BULK 934 TIP3 H2 HT .417000 1.00800 0 3701 BULK 935 TIP3 OH2 OT -.834000 15.9994 0 3702 BULK 935 TIP3 H1 HT .417000 1.00800 0 3703 BULK 935 TIP3 H2 HT .417000 1.00800 0 3704 BULK 936 TIP3 OH2 OT -.834000 15.9994 0 3705 BULK 936 TIP3 H1 HT .417000 1.00800 0 3706 BULK 936 TIP3 H2 HT .417000 1.00800 0 3707 BULK 937 TIP3 OH2 OT -.834000 15.9994 0 3708 BULK 937 TIP3 H1 HT .417000 1.00800 0 3709 BULK 937 TIP3 H2 HT .417000 1.00800 0 3710 BULK 938 TIP3 OH2 OT -.834000 15.9994 0 3711 BULK 938 TIP3 H1 HT .417000 1.00800 0 3712 BULK 938 TIP3 H2 HT .417000 1.00800 0 3713 BULK 939 TIP3 OH2 OT -.834000 15.9994 0 3714 BULK 939 TIP3 H1 HT .417000 1.00800 0 3715 BULK 939 TIP3 H2 HT .417000 1.00800 0 3716 BULK 940 TIP3 OH2 OT -.834000 15.9994 0 3717 BULK 940 TIP3 H1 HT .417000 1.00800 0 3718 BULK 940 TIP3 H2 HT .417000 1.00800 0 3719 BULK 941 TIP3 OH2 OT -.834000 15.9994 0 3720 BULK 941 TIP3 H1 HT .417000 1.00800 0 3721 BULK 941 TIP3 H2 HT .417000 1.00800 0 3722 BULK 942 TIP3 OH2 OT -.834000 15.9994 0 3723 BULK 942 TIP3 H1 HT .417000 1.00800 0 3724 BULK 942 TIP3 H2 HT .417000 1.00800 0 3725 BULK 943 TIP3 OH2 OT -.834000 15.9994 0 3726 BULK 943 TIP3 H1 HT .417000 1.00800 0 3727 BULK 943 TIP3 H2 HT .417000 1.00800 0 3728 BULK 944 TIP3 OH2 OT -.834000 15.9994 0 3729 BULK 944 TIP3 H1 HT .417000 1.00800 0 3730 BULK 944 TIP3 H2 HT .417000 1.00800 0 3731 BULK 945 TIP3 OH2 OT -.834000 15.9994 0 3732 BULK 945 TIP3 H1 HT .417000 1.00800 0 3733 BULK 945 TIP3 H2 HT .417000 1.00800 0 3734 BULK 946 TIP3 OH2 OT -.834000 15.9994 0 3735 BULK 946 TIP3 H1 HT .417000 1.00800 0 3736 BULK 946 TIP3 H2 HT .417000 1.00800 0 3737 BULK 947 TIP3 OH2 OT -.834000 15.9994 0 3738 BULK 947 TIP3 H1 HT .417000 1.00800 0 3739 BULK 947 TIP3 H2 HT .417000 1.00800 0 3740 BULK 948 TIP3 OH2 OT -.834000 15.9994 0 3741 BULK 948 TIP3 H1 HT .417000 1.00800 0 3742 BULK 948 TIP3 H2 HT .417000 1.00800 0 3743 BULK 949 TIP3 OH2 OT -.834000 15.9994 0 3744 BULK 949 TIP3 H1 HT .417000 1.00800 0 3745 BULK 949 TIP3 H2 HT .417000 1.00800 0 3746 BULK 950 TIP3 OH2 OT -.834000 15.9994 0 3747 BULK 950 TIP3 H1 HT .417000 1.00800 0 3748 BULK 950 TIP3 H2 HT .417000 1.00800 0 3749 BULK 951 TIP3 OH2 OT -.834000 15.9994 0 3750 BULK 951 TIP3 H1 HT .417000 1.00800 0 3751 BULK 951 TIP3 H2 HT .417000 1.00800 0 3752 BULK 952 TIP3 OH2 OT -.834000 15.9994 0 3753 BULK 952 TIP3 H1 HT .417000 1.00800 0 3754 BULK 952 TIP3 H2 HT .417000 1.00800 0 3755 BULK 953 TIP3 OH2 OT -.834000 15.9994 0 3756 BULK 953 TIP3 H1 HT .417000 1.00800 0 3757 BULK 953 TIP3 H2 HT .417000 1.00800 0 3758 BULK 954 TIP3 OH2 OT -.834000 15.9994 0 3759 BULK 954 TIP3 H1 HT .417000 1.00800 0 3760 BULK 954 TIP3 H2 HT .417000 1.00800 0 3761 BULK 955 TIP3 OH2 OT -.834000 15.9994 0 3762 BULK 955 TIP3 H1 HT .417000 1.00800 0 3763 BULK 955 TIP3 H2 HT .417000 1.00800 0 3764 BULK 956 TIP3 OH2 OT -.834000 15.9994 0 3765 BULK 956 TIP3 H1 HT .417000 1.00800 0 3766 BULK 956 TIP3 H2 HT .417000 1.00800 0 3767 BULK 957 TIP3 OH2 OT -.834000 15.9994 0 3768 BULK 957 TIP3 H1 HT .417000 1.00800 0 3769 BULK 957 TIP3 H2 HT .417000 1.00800 0 3770 BULK 958 TIP3 OH2 OT -.834000 15.9994 0 3771 BULK 958 TIP3 H1 HT .417000 1.00800 0 3772 BULK 958 TIP3 H2 HT .417000 1.00800 0 3773 BULK 959 TIP3 OH2 OT -.834000 15.9994 0 3774 BULK 959 TIP3 H1 HT .417000 1.00800 0 3775 BULK 959 TIP3 H2 HT .417000 1.00800 0 3776 BULK 960 TIP3 OH2 OT -.834000 15.9994 0 3777 BULK 960 TIP3 H1 HT .417000 1.00800 0 3778 BULK 960 TIP3 H2 HT .417000 1.00800 0 3779 BULK 961 TIP3 OH2 OT -.834000 15.9994 0 3780 BULK 961 TIP3 H1 HT .417000 1.00800 0 3781 BULK 961 TIP3 H2 HT .417000 1.00800 0 3782 BULK 962 TIP3 OH2 OT -.834000 15.9994 0 3783 BULK 962 TIP3 H1 HT .417000 1.00800 0 3784 BULK 962 TIP3 H2 HT .417000 1.00800 0 3785 BULK 963 TIP3 OH2 OT -.834000 15.9994 0 3786 BULK 963 TIP3 H1 HT .417000 1.00800 0 3787 BULK 963 TIP3 H2 HT .417000 1.00800 0 3788 BULK 964 TIP3 OH2 OT -.834000 15.9994 0 3789 BULK 964 TIP3 H1 HT .417000 1.00800 0 3790 BULK 964 TIP3 H2 HT .417000 1.00800 0 3791 BULK 965 TIP3 OH2 OT -.834000 15.9994 0 3792 BULK 965 TIP3 H1 HT .417000 1.00800 0 3793 BULK 965 TIP3 H2 HT .417000 1.00800 0 3794 BULK 966 TIP3 OH2 OT -.834000 15.9994 0 3795 BULK 966 TIP3 H1 HT .417000 1.00800 0 3796 BULK 966 TIP3 H2 HT .417000 1.00800 0 3797 BULK 967 TIP3 OH2 OT -.834000 15.9994 0 3798 BULK 967 TIP3 H1 HT .417000 1.00800 0 3799 BULK 967 TIP3 H2 HT .417000 1.00800 0 3800 BULK 968 TIP3 OH2 OT -.834000 15.9994 0 3801 BULK 968 TIP3 H1 HT .417000 1.00800 0 3802 BULK 968 TIP3 H2 HT .417000 1.00800 0 3803 BULK 969 TIP3 OH2 OT -.834000 15.9994 0 3804 BULK 969 TIP3 H1 HT .417000 1.00800 0 3805 BULK 969 TIP3 H2 HT .417000 1.00800 0 3806 BULK 970 TIP3 OH2 OT -.834000 15.9994 0 3807 BULK 970 TIP3 H1 HT .417000 1.00800 0 3808 BULK 970 TIP3 H2 HT .417000 1.00800 0 3809 BULK 971 TIP3 OH2 OT -.834000 15.9994 0 3810 BULK 971 TIP3 H1 HT .417000 1.00800 0 3811 BULK 971 TIP3 H2 HT .417000 1.00800 0 3812 BULK 972 TIP3 OH2 OT -.834000 15.9994 0 3813 BULK 972 TIP3 H1 HT .417000 1.00800 0 3814 BULK 972 TIP3 H2 HT .417000 1.00800 0 3815 BULK 973 TIP3 OH2 OT -.834000 15.9994 0 3816 BULK 973 TIP3 H1 HT .417000 1.00800 0 3817 BULK 973 TIP3 H2 HT .417000 1.00800 0 3818 BULK 974 TIP3 OH2 OT -.834000 15.9994 0 3819 BULK 974 TIP3 H1 HT .417000 1.00800 0 3820 BULK 974 TIP3 H2 HT .417000 1.00800 0 3821 BULK 975 TIP3 OH2 OT -.834000 15.9994 0 3822 BULK 975 TIP3 H1 HT .417000 1.00800 0 3823 BULK 975 TIP3 H2 HT .417000 1.00800 0 3824 BULK 976 TIP3 OH2 OT -.834000 15.9994 0 3825 BULK 976 TIP3 H1 HT .417000 1.00800 0 3826 BULK 976 TIP3 H2 HT .417000 1.00800 0 3827 BULK 977 TIP3 OH2 OT -.834000 15.9994 0 3828 BULK 977 TIP3 H1 HT .417000 1.00800 0 3829 BULK 977 TIP3 H2 HT .417000 1.00800 0 3830 BULK 978 TIP3 OH2 OT -.834000 15.9994 0 3831 BULK 978 TIP3 H1 HT .417000 1.00800 0 3832 BULK 978 TIP3 H2 HT .417000 1.00800 0 3833 BULK 979 TIP3 OH2 OT -.834000 15.9994 0 3834 BULK 979 TIP3 H1 HT .417000 1.00800 0 3835 BULK 979 TIP3 H2 HT .417000 1.00800 0 3836 BULK 980 TIP3 OH2 OT -.834000 15.9994 0 3837 BULK 980 TIP3 H1 HT .417000 1.00800 0 3838 BULK 980 TIP3 H2 HT .417000 1.00800 0 3839 BULK 981 TIP3 OH2 OT -.834000 15.9994 0 3840 BULK 981 TIP3 H1 HT .417000 1.00800 0 3841 BULK 981 TIP3 H2 HT .417000 1.00800 0 3842 BULK 982 TIP3 OH2 OT -.834000 15.9994 0 3843 BULK 982 TIP3 H1 HT .417000 1.00800 0 3844 BULK 982 TIP3 H2 HT .417000 1.00800 0 3845 BULK 983 TIP3 OH2 OT -.834000 15.9994 0 3846 BULK 983 TIP3 H1 HT .417000 1.00800 0 3847 BULK 983 TIP3 H2 HT .417000 1.00800 0 3848 BULK 984 TIP3 OH2 OT -.834000 15.9994 0 3849 BULK 984 TIP3 H1 HT .417000 1.00800 0 3850 BULK 984 TIP3 H2 HT .417000 1.00800 0 3851 BULK 985 TIP3 OH2 OT -.834000 15.9994 0 3852 BULK 985 TIP3 H1 HT .417000 1.00800 0 3853 BULK 985 TIP3 H2 HT .417000 1.00800 0 3854 BULK 986 TIP3 OH2 OT -.834000 15.9994 0 3855 BULK 986 TIP3 H1 HT .417000 1.00800 0 3856 BULK 986 TIP3 H2 HT .417000 1.00800 0 3857 BULK 987 TIP3 OH2 OT -.834000 15.9994 0 3858 BULK 987 TIP3 H1 HT .417000 1.00800 0 3859 BULK 987 TIP3 H2 HT .417000 1.00800 0 3860 BULK 988 TIP3 OH2 OT -.834000 15.9994 0 3861 BULK 988 TIP3 H1 HT .417000 1.00800 0 3862 BULK 988 TIP3 H2 HT .417000 1.00800 0 3863 BULK 989 TIP3 OH2 OT -.834000 15.9994 0 3864 BULK 989 TIP3 H1 HT .417000 1.00800 0 3865 BULK 989 TIP3 H2 HT .417000 1.00800 0 3866 BULK 990 TIP3 OH2 OT -.834000 15.9994 0 3867 BULK 990 TIP3 H1 HT .417000 1.00800 0 3868 BULK 990 TIP3 H2 HT .417000 1.00800 0 3869 BULK 991 TIP3 OH2 OT -.834000 15.9994 0 3870 BULK 991 TIP3 H1 HT .417000 1.00800 0 3871 BULK 991 TIP3 H2 HT .417000 1.00800 0 3872 BULK 992 TIP3 OH2 OT -.834000 15.9994 0 3873 BULK 992 TIP3 H1 HT .417000 1.00800 0 3874 BULK 992 TIP3 H2 HT .417000 1.00800 0 3875 BULK 993 TIP3 OH2 OT -.834000 15.9994 0 3876 BULK 993 TIP3 H1 HT .417000 1.00800 0 3877 BULK 993 TIP3 H2 HT .417000 1.00800 0 3878 BULK 994 TIP3 OH2 OT -.834000 15.9994 0 3879 BULK 994 TIP3 H1 HT .417000 1.00800 0 3880 BULK 994 TIP3 H2 HT .417000 1.00800 0 3881 BULK 995 TIP3 OH2 OT -.834000 15.9994 0 3882 BULK 995 TIP3 H1 HT .417000 1.00800 0 3883 BULK 995 TIP3 H2 HT .417000 1.00800 0 3884 BULK 996 TIP3 OH2 OT -.834000 15.9994 0 3885 BULK 996 TIP3 H1 HT .417000 1.00800 0 3886 BULK 996 TIP3 H2 HT .417000 1.00800 0 3887 BULK 997 TIP3 OH2 OT -.834000 15.9994 0 3888 BULK 997 TIP3 H1 HT .417000 1.00800 0 3889 BULK 997 TIP3 H2 HT .417000 1.00800 0 3890 BULK 998 TIP3 OH2 OT -.834000 15.9994 0 3891 BULK 998 TIP3 H1 HT .417000 1.00800 0 3892 BULK 998 TIP3 H2 HT .417000 1.00800 0 3893 BULK 999 TIP3 OH2 OT -.834000 15.9994 0 3894 BULK 999 TIP3 H1 HT .417000 1.00800 0 3895 BULK 999 TIP3 H2 HT .417000 1.00800 0 3896 BULK 1000 TIP3 OH2 OT -.834000 15.9994 0 3897 BULK 1000 TIP3 H1 HT .417000 1.00800 0 3898 BULK 1000 TIP3 H2 HT .417000 1.00800 0 3899 BULK 1001 TIP3 OH2 OT -.834000 15.9994 0 3900 BULK 1001 TIP3 H1 HT .417000 1.00800 0 3901 BULK 1001 TIP3 H2 HT .417000 1.00800 0 3902 BULK 1002 TIP3 OH2 OT -.834000 15.9994 0 3903 BULK 1002 TIP3 H1 HT .417000 1.00800 0 3904 BULK 1002 TIP3 H2 HT .417000 1.00800 0 3905 BULK 1003 TIP3 OH2 OT -.834000 15.9994 0 3906 BULK 1003 TIP3 H1 HT .417000 1.00800 0 3907 BULK 1003 TIP3 H2 HT .417000 1.00800 0 3908 BULK 1004 TIP3 OH2 OT -.834000 15.9994 0 3909 BULK 1004 TIP3 H1 HT .417000 1.00800 0 3910 BULK 1004 TIP3 H2 HT .417000 1.00800 0 3911 BULK 1005 TIP3 OH2 OT -.834000 15.9994 0 3912 BULK 1005 TIP3 H1 HT .417000 1.00800 0 3913 BULK 1005 TIP3 H2 HT .417000 1.00800 0 3914 BULK 1006 TIP3 OH2 OT -.834000 15.9994 0 3915 BULK 1006 TIP3 H1 HT .417000 1.00800 0 3916 BULK 1006 TIP3 H2 HT .417000 1.00800 0 3917 BULK 1007 TIP3 OH2 OT -.834000 15.9994 0 3918 BULK 1007 TIP3 H1 HT .417000 1.00800 0 3919 BULK 1007 TIP3 H2 HT .417000 1.00800 0 3920 BULK 1008 TIP3 OH2 OT -.834000 15.9994 0 3921 BULK 1008 TIP3 H1 HT .417000 1.00800 0 3922 BULK 1008 TIP3 H2 HT .417000 1.00800 0 3923 BULK 1009 TIP3 OH2 OT -.834000 15.9994 0 3924 BULK 1009 TIP3 H1 HT .417000 1.00800 0 3925 BULK 1009 TIP3 H2 HT .417000 1.00800 0 3926 BULK 1010 TIP3 OH2 OT -.834000 15.9994 0 3927 BULK 1010 TIP3 H1 HT .417000 1.00800 0 3928 BULK 1010 TIP3 H2 HT .417000 1.00800 0 3929 BULK 1011 TIP3 OH2 OT -.834000 15.9994 0 3930 BULK 1011 TIP3 H1 HT .417000 1.00800 0 3931 BULK 1011 TIP3 H2 HT .417000 1.00800 0 3932 BULK 1012 TIP3 OH2 OT -.834000 15.9994 0 3933 BULK 1012 TIP3 H1 HT .417000 1.00800 0 3934 BULK 1012 TIP3 H2 HT .417000 1.00800 0 3935 BULK 1013 TIP3 OH2 OT -.834000 15.9994 0 3936 BULK 1013 TIP3 H1 HT .417000 1.00800 0 3937 BULK 1013 TIP3 H2 HT .417000 1.00800 0 3938 BULK 1014 TIP3 OH2 OT -.834000 15.9994 0 3939 BULK 1014 TIP3 H1 HT .417000 1.00800 0 3940 BULK 1014 TIP3 H2 HT .417000 1.00800 0 3941 BULK 1015 TIP3 OH2 OT -.834000 15.9994 0 3942 BULK 1015 TIP3 H1 HT .417000 1.00800 0 3943 BULK 1015 TIP3 H2 HT .417000 1.00800 0 3944 BULK 1016 TIP3 OH2 OT -.834000 15.9994 0 3945 BULK 1016 TIP3 H1 HT .417000 1.00800 0 3946 BULK 1016 TIP3 H2 HT .417000 1.00800 0 3947 BULK 1017 TIP3 OH2 OT -.834000 15.9994 0 3948 BULK 1017 TIP3 H1 HT .417000 1.00800 0 3949 BULK 1017 TIP3 H2 HT .417000 1.00800 0 3950 BULK 1018 TIP3 OH2 OT -.834000 15.9994 0 3951 BULK 1018 TIP3 H1 HT .417000 1.00800 0 3952 BULK 1018 TIP3 H2 HT .417000 1.00800 0 3953 BULK 1019 TIP3 OH2 OT -.834000 15.9994 0 3954 BULK 1019 TIP3 H1 HT .417000 1.00800 0 3955 BULK 1019 TIP3 H2 HT .417000 1.00800 0 3956 BULK 1020 TIP3 OH2 OT -.834000 15.9994 0 3957 BULK 1020 TIP3 H1 HT .417000 1.00800 0 3958 BULK 1020 TIP3 H2 HT .417000 1.00800 0 3959 BULK 1021 TIP3 OH2 OT -.834000 15.9994 0 3960 BULK 1021 TIP3 H1 HT .417000 1.00800 0 3961 BULK 1021 TIP3 H2 HT .417000 1.00800 0 3962 BULK 1022 TIP3 OH2 OT -.834000 15.9994 0 3963 BULK 1022 TIP3 H1 HT .417000 1.00800 0 3964 BULK 1022 TIP3 H2 HT .417000 1.00800 0 3965 BULK 1023 TIP3 OH2 OT -.834000 15.9994 0 3966 BULK 1023 TIP3 H1 HT .417000 1.00800 0 3967 BULK 1023 TIP3 H2 HT .417000 1.00800 0 3968 BULK 1024 TIP3 OH2 OT -.834000 15.9994 0 3969 BULK 1024 TIP3 H1 HT .417000 1.00800 0 3970 BULK 1024 TIP3 H2 HT .417000 1.00800 0 3971 BULK 1025 TIP3 OH2 OT -.834000 15.9994 0 3972 BULK 1025 TIP3 H1 HT .417000 1.00800 0 3973 BULK 1025 TIP3 H2 HT .417000 1.00800 0 3974 BULK 1026 TIP3 OH2 OT -.834000 15.9994 0 3975 BULK 1026 TIP3 H1 HT .417000 1.00800 0 3976 BULK 1026 TIP3 H2 HT .417000 1.00800 0 3977 BULK 1027 TIP3 OH2 OT -.834000 15.9994 0 3978 BULK 1027 TIP3 H1 HT .417000 1.00800 0 3979 BULK 1027 TIP3 H2 HT .417000 1.00800 0 3980 BULK 1028 TIP3 OH2 OT -.834000 15.9994 0 3981 BULK 1028 TIP3 H1 HT .417000 1.00800 0 3982 BULK 1028 TIP3 H2 HT .417000 1.00800 0 3983 BULK 1029 TIP3 OH2 OT -.834000 15.9994 0 3984 BULK 1029 TIP3 H1 HT .417000 1.00800 0 3985 BULK 1029 TIP3 H2 HT .417000 1.00800 0 3986 BULK 1030 TIP3 OH2 OT -.834000 15.9994 0 3987 BULK 1030 TIP3 H1 HT .417000 1.00800 0 3988 BULK 1030 TIP3 H2 HT .417000 1.00800 0 3989 BULK 1031 TIP3 OH2 OT -.834000 15.9994 0 3990 BULK 1031 TIP3 H1 HT .417000 1.00800 0 3991 BULK 1031 TIP3 H2 HT .417000 1.00800 0 3992 BULK 1032 TIP3 OH2 OT -.834000 15.9994 0 3993 BULK 1032 TIP3 H1 HT .417000 1.00800 0 3994 BULK 1032 TIP3 H2 HT .417000 1.00800 0 3995 BULK 1033 TIP3 OH2 OT -.834000 15.9994 0 3996 BULK 1033 TIP3 H1 HT .417000 1.00800 0 3997 BULK 1033 TIP3 H2 HT .417000 1.00800 0 3998 BULK 1034 TIP3 OH2 OT -.834000 15.9994 0 3999 BULK 1034 TIP3 H1 HT .417000 1.00800 0 4000 BULK 1034 TIP3 H2 HT .417000 1.00800 0 4001 BULK 1035 TIP3 OH2 OT -.834000 15.9994 0 4002 BULK 1035 TIP3 H1 HT .417000 1.00800 0 4003 BULK 1035 TIP3 H2 HT .417000 1.00800 0 4004 BULK 1036 TIP3 OH2 OT -.834000 15.9994 0 4005 BULK 1036 TIP3 H1 HT .417000 1.00800 0 4006 BULK 1036 TIP3 H2 HT .417000 1.00800 0 4007 BULK 1037 TIP3 OH2 OT -.834000 15.9994 0 4008 BULK 1037 TIP3 H1 HT .417000 1.00800 0 4009 BULK 1037 TIP3 H2 HT .417000 1.00800 0 4010 BULK 1038 TIP3 OH2 OT -.834000 15.9994 0 4011 BULK 1038 TIP3 H1 HT .417000 1.00800 0 4012 BULK 1038 TIP3 H2 HT .417000 1.00800 0 4013 BULK 1039 TIP3 OH2 OT -.834000 15.9994 0 4014 BULK 1039 TIP3 H1 HT .417000 1.00800 0 4015 BULK 1039 TIP3 H2 HT .417000 1.00800 0 4016 BULK 1040 TIP3 OH2 OT -.834000 15.9994 0 4017 BULK 1040 TIP3 H1 HT .417000 1.00800 0 4018 BULK 1040 TIP3 H2 HT .417000 1.00800 0 4019 BULK 1041 TIP3 OH2 OT -.834000 15.9994 0 4020 BULK 1041 TIP3 H1 HT .417000 1.00800 0 4021 BULK 1041 TIP3 H2 HT .417000 1.00800 0 4022 BULK 1042 TIP3 OH2 OT -.834000 15.9994 0 4023 BULK 1042 TIP3 H1 HT .417000 1.00800 0 4024 BULK 1042 TIP3 H2 HT .417000 1.00800 0 4025 BULK 1043 TIP3 OH2 OT -.834000 15.9994 0 4026 BULK 1043 TIP3 H1 HT .417000 1.00800 0 4027 BULK 1043 TIP3 H2 HT .417000 1.00800 0 4028 BULK 1044 TIP3 OH2 OT -.834000 15.9994 0 4029 BULK 1044 TIP3 H1 HT .417000 1.00800 0 4030 BULK 1044 TIP3 H2 HT .417000 1.00800 0 4031 BULK 1045 TIP3 OH2 OT -.834000 15.9994 0 4032 BULK 1045 TIP3 H1 HT .417000 1.00800 0 4033 BULK 1045 TIP3 H2 HT .417000 1.00800 0 4034 BULK 1046 TIP3 OH2 OT -.834000 15.9994 0 4035 BULK 1046 TIP3 H1 HT .417000 1.00800 0 4036 BULK 1046 TIP3 H2 HT .417000 1.00800 0 4037 BULK 1047 TIP3 OH2 OT -.834000 15.9994 0 4038 BULK 1047 TIP3 H1 HT .417000 1.00800 0 4039 BULK 1047 TIP3 H2 HT .417000 1.00800 0 4040 BULK 1048 TIP3 OH2 OT -.834000 15.9994 0 4041 BULK 1048 TIP3 H1 HT .417000 1.00800 0 4042 BULK 1048 TIP3 H2 HT .417000 1.00800 0 4043 BULK 1049 TIP3 OH2 OT -.834000 15.9994 0 4044 BULK 1049 TIP3 H1 HT .417000 1.00800 0 4045 BULK 1049 TIP3 H2 HT .417000 1.00800 0 4046 BULK 1050 TIP3 OH2 OT -.834000 15.9994 0 4047 BULK 1050 TIP3 H1 HT .417000 1.00800 0 4048 BULK 1050 TIP3 H2 HT .417000 1.00800 0 4049 BULK 1051 TIP3 OH2 OT -.834000 15.9994 0 4050 BULK 1051 TIP3 H1 HT .417000 1.00800 0 4051 BULK 1051 TIP3 H2 HT .417000 1.00800 0 4052 BULK 1052 TIP3 OH2 OT -.834000 15.9994 0 4053 BULK 1052 TIP3 H1 HT .417000 1.00800 0 4054 BULK 1052 TIP3 H2 HT .417000 1.00800 0 4055 BULK 1053 TIP3 OH2 OT -.834000 15.9994 0 4056 BULK 1053 TIP3 H1 HT .417000 1.00800 0 4057 BULK 1053 TIP3 H2 HT .417000 1.00800 0 4058 BULK 1054 TIP3 OH2 OT -.834000 15.9994 0 4059 BULK 1054 TIP3 H1 HT .417000 1.00800 0 4060 BULK 1054 TIP3 H2 HT .417000 1.00800 0 4061 BULK 1055 TIP3 OH2 OT -.834000 15.9994 0 4062 BULK 1055 TIP3 H1 HT .417000 1.00800 0 4063 BULK 1055 TIP3 H2 HT .417000 1.00800 0 4064 BULK 1056 TIP3 OH2 OT -.834000 15.9994 0 4065 BULK 1056 TIP3 H1 HT .417000 1.00800 0 4066 BULK 1056 TIP3 H2 HT .417000 1.00800 0 4067 BULK 1057 TIP3 OH2 OT -.834000 15.9994 0 4068 BULK 1057 TIP3 H1 HT .417000 1.00800 0 4069 BULK 1057 TIP3 H2 HT .417000 1.00800 0 4070 BULK 1058 TIP3 OH2 OT -.834000 15.9994 0 4071 BULK 1058 TIP3 H1 HT .417000 1.00800 0 4072 BULK 1058 TIP3 H2 HT .417000 1.00800 0 4073 BULK 1059 TIP3 OH2 OT -.834000 15.9994 0 4074 BULK 1059 TIP3 H1 HT .417000 1.00800 0 4075 BULK 1059 TIP3 H2 HT .417000 1.00800 0 4076 BULK 1060 TIP3 OH2 OT -.834000 15.9994 0 4077 BULK 1060 TIP3 H1 HT .417000 1.00800 0 4078 BULK 1060 TIP3 H2 HT .417000 1.00800 0 4079 BULK 1061 TIP3 OH2 OT -.834000 15.9994 0 4080 BULK 1061 TIP3 H1 HT .417000 1.00800 0 4081 BULK 1061 TIP3 H2 HT .417000 1.00800 0 4082 BULK 1062 TIP3 OH2 OT -.834000 15.9994 0 4083 BULK 1062 TIP3 H1 HT .417000 1.00800 0 4084 BULK 1062 TIP3 H2 HT .417000 1.00800 0 4085 BULK 1063 TIP3 OH2 OT -.834000 15.9994 0 4086 BULK 1063 TIP3 H1 HT .417000 1.00800 0 4087 BULK 1063 TIP3 H2 HT .417000 1.00800 0 4088 BULK 1064 TIP3 OH2 OT -.834000 15.9994 0 4089 BULK 1064 TIP3 H1 HT .417000 1.00800 0 4090 BULK 1064 TIP3 H2 HT .417000 1.00800 0 4091 BULK 1065 TIP3 OH2 OT -.834000 15.9994 0 4092 BULK 1065 TIP3 H1 HT .417000 1.00800 0 4093 BULK 1065 TIP3 H2 HT .417000 1.00800 0 4094 BULK 1066 TIP3 OH2 OT -.834000 15.9994 0 4095 BULK 1066 TIP3 H1 HT .417000 1.00800 0 4096 BULK 1066 TIP3 H2 HT .417000 1.00800 0 4097 BULK 1067 TIP3 OH2 OT -.834000 15.9994 0 4098 BULK 1067 TIP3 H1 HT .417000 1.00800 0 4099 BULK 1067 TIP3 H2 HT .417000 1.00800 0 4100 BULK 1068 TIP3 OH2 OT -.834000 15.9994 0 4101 BULK 1068 TIP3 H1 HT .417000 1.00800 0 4102 BULK 1068 TIP3 H2 HT .417000 1.00800 0 4103 BULK 1069 TIP3 OH2 OT -.834000 15.9994 0 4104 BULK 1069 TIP3 H1 HT .417000 1.00800 0 4105 BULK 1069 TIP3 H2 HT .417000 1.00800 0 4106 BULK 1070 TIP3 OH2 OT -.834000 15.9994 0 4107 BULK 1070 TIP3 H1 HT .417000 1.00800 0 4108 BULK 1070 TIP3 H2 HT .417000 1.00800 0 4109 BULK 1071 TIP3 OH2 OT -.834000 15.9994 0 4110 BULK 1071 TIP3 H1 HT .417000 1.00800 0 4111 BULK 1071 TIP3 H2 HT .417000 1.00800 0 4112 BULK 1072 TIP3 OH2 OT -.834000 15.9994 0 4113 BULK 1072 TIP3 H1 HT .417000 1.00800 0 4114 BULK 1072 TIP3 H2 HT .417000 1.00800 0 4115 BULK 1073 TIP3 OH2 OT -.834000 15.9994 0 4116 BULK 1073 TIP3 H1 HT .417000 1.00800 0 4117 BULK 1073 TIP3 H2 HT .417000 1.00800 0 4118 BULK 1074 TIP3 OH2 OT -.834000 15.9994 0 4119 BULK 1074 TIP3 H1 HT .417000 1.00800 0 4120 BULK 1074 TIP3 H2 HT .417000 1.00800 0 4121 BULK 1075 TIP3 OH2 OT -.834000 15.9994 0 4122 BULK 1075 TIP3 H1 HT .417000 1.00800 0 4123 BULK 1075 TIP3 H2 HT .417000 1.00800 0 4124 BULK 1076 TIP3 OH2 OT -.834000 15.9994 0 4125 BULK 1076 TIP3 H1 HT .417000 1.00800 0 4126 BULK 1076 TIP3 H2 HT .417000 1.00800 0 4127 BULK 1077 TIP3 OH2 OT -.834000 15.9994 0 4128 BULK 1077 TIP3 H1 HT .417000 1.00800 0 4129 BULK 1077 TIP3 H2 HT .417000 1.00800 0 4130 BULK 1078 TIP3 OH2 OT -.834000 15.9994 0 4131 BULK 1078 TIP3 H1 HT .417000 1.00800 0 4132 BULK 1078 TIP3 H2 HT .417000 1.00800 0 4133 BULK 1079 TIP3 OH2 OT -.834000 15.9994 0 4134 BULK 1079 TIP3 H1 HT .417000 1.00800 0 4135 BULK 1079 TIP3 H2 HT .417000 1.00800 0 4136 BULK 1080 TIP3 OH2 OT -.834000 15.9994 0 4137 BULK 1080 TIP3 H1 HT .417000 1.00800 0 4138 BULK 1080 TIP3 H2 HT .417000 1.00800 0 4139 BULK 1081 TIP3 OH2 OT -.834000 15.9994 0 4140 BULK 1081 TIP3 H1 HT .417000 1.00800 0 4141 BULK 1081 TIP3 H2 HT .417000 1.00800 0 4142 BULK 1082 TIP3 OH2 OT -.834000 15.9994 0 4143 BULK 1082 TIP3 H1 HT .417000 1.00800 0 4144 BULK 1082 TIP3 H2 HT .417000 1.00800 0 4145 BULK 1083 TIP3 OH2 OT -.834000 15.9994 0 4146 BULK 1083 TIP3 H1 HT .417000 1.00800 0 4147 BULK 1083 TIP3 H2 HT .417000 1.00800 0 4148 BULK 1084 TIP3 OH2 OT -.834000 15.9994 0 4149 BULK 1084 TIP3 H1 HT .417000 1.00800 0 4150 BULK 1084 TIP3 H2 HT .417000 1.00800 0 4151 BULK 1085 TIP3 OH2 OT -.834000 15.9994 0 4152 BULK 1085 TIP3 H1 HT .417000 1.00800 0 4153 BULK 1085 TIP3 H2 HT .417000 1.00800 0 4154 BULK 1086 TIP3 OH2 OT -.834000 15.9994 0 4155 BULK 1086 TIP3 H1 HT .417000 1.00800 0 4156 BULK 1086 TIP3 H2 HT .417000 1.00800 0 4157 BULK 1087 TIP3 OH2 OT -.834000 15.9994 0 4158 BULK 1087 TIP3 H1 HT .417000 1.00800 0 4159 BULK 1087 TIP3 H2 HT .417000 1.00800 0 4160 BULK 1088 TIP3 OH2 OT -.834000 15.9994 0 4161 BULK 1088 TIP3 H1 HT .417000 1.00800 0 4162 BULK 1088 TIP3 H2 HT .417000 1.00800 0 4163 BULK 1089 TIP3 OH2 OT -.834000 15.9994 0 4164 BULK 1089 TIP3 H1 HT .417000 1.00800 0 4165 BULK 1089 TIP3 H2 HT .417000 1.00800 0 4166 BULK 1090 TIP3 OH2 OT -.834000 15.9994 0 4167 BULK 1090 TIP3 H1 HT .417000 1.00800 0 4168 BULK 1090 TIP3 H2 HT .417000 1.00800 0 4169 BULK 1091 TIP3 OH2 OT -.834000 15.9994 0 4170 BULK 1091 TIP3 H1 HT .417000 1.00800 0 4171 BULK 1091 TIP3 H2 HT .417000 1.00800 0 4172 BULK 1092 TIP3 OH2 OT -.834000 15.9994 0 4173 BULK 1092 TIP3 H1 HT .417000 1.00800 0 4174 BULK 1092 TIP3 H2 HT .417000 1.00800 0 4175 BULK 1093 TIP3 OH2 OT -.834000 15.9994 0 4176 BULK 1093 TIP3 H1 HT .417000 1.00800 0 4177 BULK 1093 TIP3 H2 HT .417000 1.00800 0 4178 BULK 1094 TIP3 OH2 OT -.834000 15.9994 0 4179 BULK 1094 TIP3 H1 HT .417000 1.00800 0 4180 BULK 1094 TIP3 H2 HT .417000 1.00800 0 4181 BULK 1095 TIP3 OH2 OT -.834000 15.9994 0 4182 BULK 1095 TIP3 H1 HT .417000 1.00800 0 4183 BULK 1095 TIP3 H2 HT .417000 1.00800 0 4184 BULK 1096 TIP3 OH2 OT -.834000 15.9994 0 4185 BULK 1096 TIP3 H1 HT .417000 1.00800 0 4186 BULK 1096 TIP3 H2 HT .417000 1.00800 0 4187 BULK 1097 TIP3 OH2 OT -.834000 15.9994 0 4188 BULK 1097 TIP3 H1 HT .417000 1.00800 0 4189 BULK 1097 TIP3 H2 HT .417000 1.00800 0 4190 BULK 1098 TIP3 OH2 OT -.834000 15.9994 0 4191 BULK 1098 TIP3 H1 HT .417000 1.00800 0 4192 BULK 1098 TIP3 H2 HT .417000 1.00800 0 4193 BULK 1099 TIP3 OH2 OT -.834000 15.9994 0 4194 BULK 1099 TIP3 H1 HT .417000 1.00800 0 4195 BULK 1099 TIP3 H2 HT .417000 1.00800 0 4196 BULK 1100 TIP3 OH2 OT -.834000 15.9994 0 4197 BULK 1100 TIP3 H1 HT .417000 1.00800 0 4198 BULK 1100 TIP3 H2 HT .417000 1.00800 0 4199 BULK 1101 TIP3 OH2 OT -.834000 15.9994 0 4200 BULK 1101 TIP3 H1 HT .417000 1.00800 0 4201 BULK 1101 TIP3 H2 HT .417000 1.00800 0 4202 BULK 1102 TIP3 OH2 OT -.834000 15.9994 0 4203 BULK 1102 TIP3 H1 HT .417000 1.00800 0 4204 BULK 1102 TIP3 H2 HT .417000 1.00800 0 4205 BULK 1103 TIP3 OH2 OT -.834000 15.9994 0 4206 BULK 1103 TIP3 H1 HT .417000 1.00800 0 4207 BULK 1103 TIP3 H2 HT .417000 1.00800 0 4208 BULK 1104 TIP3 OH2 OT -.834000 15.9994 0 4209 BULK 1104 TIP3 H1 HT .417000 1.00800 0 4210 BULK 1104 TIP3 H2 HT .417000 1.00800 0 4211 BULK 1105 TIP3 OH2 OT -.834000 15.9994 0 4212 BULK 1105 TIP3 H1 HT .417000 1.00800 0 4213 BULK 1105 TIP3 H2 HT .417000 1.00800 0 4214 BULK 1106 TIP3 OH2 OT -.834000 15.9994 0 4215 BULK 1106 TIP3 H1 HT .417000 1.00800 0 4216 BULK 1106 TIP3 H2 HT .417000 1.00800 0 4217 BULK 1107 TIP3 OH2 OT -.834000 15.9994 0 4218 BULK 1107 TIP3 H1 HT .417000 1.00800 0 4219 BULK 1107 TIP3 H2 HT .417000 1.00800 0 4220 BULK 1108 TIP3 OH2 OT -.834000 15.9994 0 4221 BULK 1108 TIP3 H1 HT .417000 1.00800 0 4222 BULK 1108 TIP3 H2 HT .417000 1.00800 0 4223 BULK 1109 TIP3 OH2 OT -.834000 15.9994 0 4224 BULK 1109 TIP3 H1 HT .417000 1.00800 0 4225 BULK 1109 TIP3 H2 HT .417000 1.00800 0 4226 BULK 1110 TIP3 OH2 OT -.834000 15.9994 0 4227 BULK 1110 TIP3 H1 HT .417000 1.00800 0 4228 BULK 1110 TIP3 H2 HT .417000 1.00800 0 4229 BULK 1111 TIP3 OH2 OT -.834000 15.9994 0 4230 BULK 1111 TIP3 H1 HT .417000 1.00800 0 4231 BULK 1111 TIP3 H2 HT .417000 1.00800 0 4232 BULK 1112 TIP3 OH2 OT -.834000 15.9994 0 4233 BULK 1112 TIP3 H1 HT .417000 1.00800 0 4234 BULK 1112 TIP3 H2 HT .417000 1.00800 0 4235 BULK 1113 TIP3 OH2 OT -.834000 15.9994 0 4236 BULK 1113 TIP3 H1 HT .417000 1.00800 0 4237 BULK 1113 TIP3 H2 HT .417000 1.00800 0 4238 BULK 1114 TIP3 OH2 OT -.834000 15.9994 0 4239 BULK 1114 TIP3 H1 HT .417000 1.00800 0 4240 BULK 1114 TIP3 H2 HT .417000 1.00800 0 4241 BULK 1115 TIP3 OH2 OT -.834000 15.9994 0 4242 BULK 1115 TIP3 H1 HT .417000 1.00800 0 4243 BULK 1115 TIP3 H2 HT .417000 1.00800 0 4244 BULK 1116 TIP3 OH2 OT -.834000 15.9994 0 4245 BULK 1116 TIP3 H1 HT .417000 1.00800 0 4246 BULK 1116 TIP3 H2 HT .417000 1.00800 0 4247 BULK 1117 TIP3 OH2 OT -.834000 15.9994 0 4248 BULK 1117 TIP3 H1 HT .417000 1.00800 0 4249 BULK 1117 TIP3 H2 HT .417000 1.00800 0 4250 BULK 1118 TIP3 OH2 OT -.834000 15.9994 0 4251 BULK 1118 TIP3 H1 HT .417000 1.00800 0 4252 BULK 1118 TIP3 H2 HT .417000 1.00800 0 4253 BULK 1119 TIP3 OH2 OT -.834000 15.9994 0 4254 BULK 1119 TIP3 H1 HT .417000 1.00800 0 4255 BULK 1119 TIP3 H2 HT .417000 1.00800 0 4256 BULK 1120 TIP3 OH2 OT -.834000 15.9994 0 4257 BULK 1120 TIP3 H1 HT .417000 1.00800 0 4258 BULK 1120 TIP3 H2 HT .417000 1.00800 0 4259 BULK 1121 TIP3 OH2 OT -.834000 15.9994 0 4260 BULK 1121 TIP3 H1 HT .417000 1.00800 0 4261 BULK 1121 TIP3 H2 HT .417000 1.00800 0 4262 BULK 1122 TIP3 OH2 OT -.834000 15.9994 0 4263 BULK 1122 TIP3 H1 HT .417000 1.00800 0 4264 BULK 1122 TIP3 H2 HT .417000 1.00800 0 4265 BULK 1123 TIP3 OH2 OT -.834000 15.9994 0 4266 BULK 1123 TIP3 H1 HT .417000 1.00800 0 4267 BULK 1123 TIP3 H2 HT .417000 1.00800 0 4268 BULK 1124 TIP3 OH2 OT -.834000 15.9994 0 4269 BULK 1124 TIP3 H1 HT .417000 1.00800 0 4270 BULK 1124 TIP3 H2 HT .417000 1.00800 0 4271 BULK 1125 TIP3 OH2 OT -.834000 15.9994 0 4272 BULK 1125 TIP3 H1 HT .417000 1.00800 0 4273 BULK 1125 TIP3 H2 HT .417000 1.00800 0 4274 BULK 1126 TIP3 OH2 OT -.834000 15.9994 0 4275 BULK 1126 TIP3 H1 HT .417000 1.00800 0 4276 BULK 1126 TIP3 H2 HT .417000 1.00800 0 4277 BULK 1127 TIP3 OH2 OT -.834000 15.9994 0 4278 BULK 1127 TIP3 H1 HT .417000 1.00800 0 4279 BULK 1127 TIP3 H2 HT .417000 1.00800 0 4280 BULK 1128 TIP3 OH2 OT -.834000 15.9994 0 4281 BULK 1128 TIP3 H1 HT .417000 1.00800 0 4282 BULK 1128 TIP3 H2 HT .417000 1.00800 0 4283 BULK 1129 TIP3 OH2 OT -.834000 15.9994 0 4284 BULK 1129 TIP3 H1 HT .417000 1.00800 0 4285 BULK 1129 TIP3 H2 HT .417000 1.00800 0 4286 BULK 1130 TIP3 OH2 OT -.834000 15.9994 0 4287 BULK 1130 TIP3 H1 HT .417000 1.00800 0 4288 BULK 1130 TIP3 H2 HT .417000 1.00800 0 4289 BULK 1131 TIP3 OH2 OT -.834000 15.9994 0 4290 BULK 1131 TIP3 H1 HT .417000 1.00800 0 4291 BULK 1131 TIP3 H2 HT .417000 1.00800 0 4292 BULK 1132 TIP3 OH2 OT -.834000 15.9994 0 4293 BULK 1132 TIP3 H1 HT .417000 1.00800 0 4294 BULK 1132 TIP3 H2 HT .417000 1.00800 0 4295 BULK 1133 TIP3 OH2 OT -.834000 15.9994 0 4296 BULK 1133 TIP3 H1 HT .417000 1.00800 0 4297 BULK 1133 TIP3 H2 HT .417000 1.00800 0 4298 BULK 1134 TIP3 OH2 OT -.834000 15.9994 0 4299 BULK 1134 TIP3 H1 HT .417000 1.00800 0 4300 BULK 1134 TIP3 H2 HT .417000 1.00800 0 4301 BULK 1135 TIP3 OH2 OT -.834000 15.9994 0 4302 BULK 1135 TIP3 H1 HT .417000 1.00800 0 4303 BULK 1135 TIP3 H2 HT .417000 1.00800 0 4304 BULK 1136 TIP3 OH2 OT -.834000 15.9994 0 4305 BULK 1136 TIP3 H1 HT .417000 1.00800 0 4306 BULK 1136 TIP3 H2 HT .417000 1.00800 0 4307 BULK 1137 TIP3 OH2 OT -.834000 15.9994 0 4308 BULK 1137 TIP3 H1 HT .417000 1.00800 0 4309 BULK 1137 TIP3 H2 HT .417000 1.00800 0 4310 BULK 1138 TIP3 OH2 OT -.834000 15.9994 0 4311 BULK 1138 TIP3 H1 HT .417000 1.00800 0 4312 BULK 1138 TIP3 H2 HT .417000 1.00800 0 4313 BULK 1139 TIP3 OH2 OT -.834000 15.9994 0 4314 BULK 1139 TIP3 H1 HT .417000 1.00800 0 4315 BULK 1139 TIP3 H2 HT .417000 1.00800 0 4316 BULK 1140 TIP3 OH2 OT -.834000 15.9994 0 4317 BULK 1140 TIP3 H1 HT .417000 1.00800 0 4318 BULK 1140 TIP3 H2 HT .417000 1.00800 0 4319 BULK 1141 TIP3 OH2 OT -.834000 15.9994 0 4320 BULK 1141 TIP3 H1 HT .417000 1.00800 0 4321 BULK 1141 TIP3 H2 HT .417000 1.00800 0 4322 BULK 1142 TIP3 OH2 OT -.834000 15.9994 0 4323 BULK 1142 TIP3 H1 HT .417000 1.00800 0 4324 BULK 1142 TIP3 H2 HT .417000 1.00800 0 4325 BULK 1143 TIP3 OH2 OT -.834000 15.9994 0 4326 BULK 1143 TIP3 H1 HT .417000 1.00800 0 4327 BULK 1143 TIP3 H2 HT .417000 1.00800 0 4328 BULK 1144 TIP3 OH2 OT -.834000 15.9994 0 4329 BULK 1144 TIP3 H1 HT .417000 1.00800 0 4330 BULK 1144 TIP3 H2 HT .417000 1.00800 0 4331 BULK 1145 TIP3 OH2 OT -.834000 15.9994 0 4332 BULK 1145 TIP3 H1 HT .417000 1.00800 0 4333 BULK 1145 TIP3 H2 HT .417000 1.00800 0 4334 BULK 1146 TIP3 OH2 OT -.834000 15.9994 0 4335 BULK 1146 TIP3 H1 HT .417000 1.00800 0 4336 BULK 1146 TIP3 H2 HT .417000 1.00800 0 4337 BULK 1147 TIP3 OH2 OT -.834000 15.9994 0 4338 BULK 1147 TIP3 H1 HT .417000 1.00800 0 4339 BULK 1147 TIP3 H2 HT .417000 1.00800 0 4340 BULK 1148 TIP3 OH2 OT -.834000 15.9994 0 4341 BULK 1148 TIP3 H1 HT .417000 1.00800 0 4342 BULK 1148 TIP3 H2 HT .417000 1.00800 0 4343 BULK 1149 TIP3 OH2 OT -.834000 15.9994 0 4344 BULK 1149 TIP3 H1 HT .417000 1.00800 0 4345 BULK 1149 TIP3 H2 HT .417000 1.00800 0 4346 BULK 1150 TIP3 OH2 OT -.834000 15.9994 0 4347 BULK 1150 TIP3 H1 HT .417000 1.00800 0 4348 BULK 1150 TIP3 H2 HT .417000 1.00800 0 4349 BULK 1151 TIP3 OH2 OT -.834000 15.9994 0 4350 BULK 1151 TIP3 H1 HT .417000 1.00800 0 4351 BULK 1151 TIP3 H2 HT .417000 1.00800 0 4352 BULK 1152 TIP3 OH2 OT -.834000 15.9994 0 4353 BULK 1152 TIP3 H1 HT .417000 1.00800 0 4354 BULK 1152 TIP3 H2 HT .417000 1.00800 0 4355 BULK 1153 TIP3 OH2 OT -.834000 15.9994 0 4356 BULK 1153 TIP3 H1 HT .417000 1.00800 0 4357 BULK 1153 TIP3 H2 HT .417000 1.00800 0 4358 BULK 1154 TIP3 OH2 OT -.834000 15.9994 0 4359 BULK 1154 TIP3 H1 HT .417000 1.00800 0 4360 BULK 1154 TIP3 H2 HT .417000 1.00800 0 4361 BULK 1155 TIP3 OH2 OT -.834000 15.9994 0 4362 BULK 1155 TIP3 H1 HT .417000 1.00800 0 4363 BULK 1155 TIP3 H2 HT .417000 1.00800 0 4364 BULK 1156 TIP3 OH2 OT -.834000 15.9994 0 4365 BULK 1156 TIP3 H1 HT .417000 1.00800 0 4366 BULK 1156 TIP3 H2 HT .417000 1.00800 0 4367 BULK 1157 TIP3 OH2 OT -.834000 15.9994 0 4368 BULK 1157 TIP3 H1 HT .417000 1.00800 0 4369 BULK 1157 TIP3 H2 HT .417000 1.00800 0 4370 BULK 1158 TIP3 OH2 OT -.834000 15.9994 0 4371 BULK 1158 TIP3 H1 HT .417000 1.00800 0 4372 BULK 1158 TIP3 H2 HT .417000 1.00800 0 4373 BULK 1159 TIP3 OH2 OT -.834000 15.9994 0 4374 BULK 1159 TIP3 H1 HT .417000 1.00800 0 4375 BULK 1159 TIP3 H2 HT .417000 1.00800 0 4376 BULK 1160 TIP3 OH2 OT -.834000 15.9994 0 4377 BULK 1160 TIP3 H1 HT .417000 1.00800 0 4378 BULK 1160 TIP3 H2 HT .417000 1.00800 0 4379 BULK 1161 TIP3 OH2 OT -.834000 15.9994 0 4380 BULK 1161 TIP3 H1 HT .417000 1.00800 0 4381 BULK 1161 TIP3 H2 HT .417000 1.00800 0 4382 BULK 1162 TIP3 OH2 OT -.834000 15.9994 0 4383 BULK 1162 TIP3 H1 HT .417000 1.00800 0 4384 BULK 1162 TIP3 H2 HT .417000 1.00800 0 4385 BULK 1163 TIP3 OH2 OT -.834000 15.9994 0 4386 BULK 1163 TIP3 H1 HT .417000 1.00800 0 4387 BULK 1163 TIP3 H2 HT .417000 1.00800 0 4388 BULK 1164 TIP3 OH2 OT -.834000 15.9994 0 4389 BULK 1164 TIP3 H1 HT .417000 1.00800 0 4390 BULK 1164 TIP3 H2 HT .417000 1.00800 0 4391 BULK 1165 TIP3 OH2 OT -.834000 15.9994 0 4392 BULK 1165 TIP3 H1 HT .417000 1.00800 0 4393 BULK 1165 TIP3 H2 HT .417000 1.00800 0 4394 BULK 1166 TIP3 OH2 OT -.834000 15.9994 0 4395 BULK 1166 TIP3 H1 HT .417000 1.00800 0 4396 BULK 1166 TIP3 H2 HT .417000 1.00800 0 4397 BULK 1167 TIP3 OH2 OT -.834000 15.9994 0 4398 BULK 1167 TIP3 H1 HT .417000 1.00800 0 4399 BULK 1167 TIP3 H2 HT .417000 1.00800 0 4400 BULK 1168 TIP3 OH2 OT -.834000 15.9994 0 4401 BULK 1168 TIP3 H1 HT .417000 1.00800 0 4402 BULK 1168 TIP3 H2 HT .417000 1.00800 0 4403 BULK 1169 TIP3 OH2 OT -.834000 15.9994 0 4404 BULK 1169 TIP3 H1 HT .417000 1.00800 0 4405 BULK 1169 TIP3 H2 HT .417000 1.00800 0 4406 BULK 1170 TIP3 OH2 OT -.834000 15.9994 0 4407 BULK 1170 TIP3 H1 HT .417000 1.00800 0 4408 BULK 1170 TIP3 H2 HT .417000 1.00800 0 4409 BULK 1171 TIP3 OH2 OT -.834000 15.9994 0 4410 BULK 1171 TIP3 H1 HT .417000 1.00800 0 4411 BULK 1171 TIP3 H2 HT .417000 1.00800 0 4412 BULK 1172 TIP3 OH2 OT -.834000 15.9994 0 4413 BULK 1172 TIP3 H1 HT .417000 1.00800 0 4414 BULK 1172 TIP3 H2 HT .417000 1.00800 0 4415 BULK 1173 TIP3 OH2 OT -.834000 15.9994 0 4416 BULK 1173 TIP3 H1 HT .417000 1.00800 0 4417 BULK 1173 TIP3 H2 HT .417000 1.00800 0 4418 BULK 1174 TIP3 OH2 OT -.834000 15.9994 0 4419 BULK 1174 TIP3 H1 HT .417000 1.00800 0 4420 BULK 1174 TIP3 H2 HT .417000 1.00800 0 4421 BULK 1175 TIP3 OH2 OT -.834000 15.9994 0 4422 BULK 1175 TIP3 H1 HT .417000 1.00800 0 4423 BULK 1175 TIP3 H2 HT .417000 1.00800 0 4424 BULK 1176 TIP3 OH2 OT -.834000 15.9994 0 4425 BULK 1176 TIP3 H1 HT .417000 1.00800 0 4426 BULK 1176 TIP3 H2 HT .417000 1.00800 0 4427 BULK 1177 TIP3 OH2 OT -.834000 15.9994 0 4428 BULK 1177 TIP3 H1 HT .417000 1.00800 0 4429 BULK 1177 TIP3 H2 HT .417000 1.00800 0 4430 BULK 1178 TIP3 OH2 OT -.834000 15.9994 0 4431 BULK 1178 TIP3 H1 HT .417000 1.00800 0 4432 BULK 1178 TIP3 H2 HT .417000 1.00800 0 4433 BULK 1179 TIP3 OH2 OT -.834000 15.9994 0 4434 BULK 1179 TIP3 H1 HT .417000 1.00800 0 4435 BULK 1179 TIP3 H2 HT .417000 1.00800 0 4436 BULK 1180 TIP3 OH2 OT -.834000 15.9994 0 4437 BULK 1180 TIP3 H1 HT .417000 1.00800 0 4438 BULK 1180 TIP3 H2 HT .417000 1.00800 0 4439 BULK 1181 TIP3 OH2 OT -.834000 15.9994 0 4440 BULK 1181 TIP3 H1 HT .417000 1.00800 0 4441 BULK 1181 TIP3 H2 HT .417000 1.00800 0 4442 BULK 1182 TIP3 OH2 OT -.834000 15.9994 0 4443 BULK 1182 TIP3 H1 HT .417000 1.00800 0 4444 BULK 1182 TIP3 H2 HT .417000 1.00800 0 4445 BULK 1183 TIP3 OH2 OT -.834000 15.9994 0 4446 BULK 1183 TIP3 H1 HT .417000 1.00800 0 4447 BULK 1183 TIP3 H2 HT .417000 1.00800 0 4448 BULK 1184 TIP3 OH2 OT -.834000 15.9994 0 4449 BULK 1184 TIP3 H1 HT .417000 1.00800 0 4450 BULK 1184 TIP3 H2 HT .417000 1.00800 0 4451 BULK 1185 TIP3 OH2 OT -.834000 15.9994 0 4452 BULK 1185 TIP3 H1 HT .417000 1.00800 0 4453 BULK 1185 TIP3 H2 HT .417000 1.00800 0 4454 BULK 1186 TIP3 OH2 OT -.834000 15.9994 0 4455 BULK 1186 TIP3 H1 HT .417000 1.00800 0 4456 BULK 1186 TIP3 H2 HT .417000 1.00800 0 4457 BULK 1187 TIP3 OH2 OT -.834000 15.9994 0 4458 BULK 1187 TIP3 H1 HT .417000 1.00800 0 4459 BULK 1187 TIP3 H2 HT .417000 1.00800 0 4460 BULK 1188 TIP3 OH2 OT -.834000 15.9994 0 4461 BULK 1188 TIP3 H1 HT .417000 1.00800 0 4462 BULK 1188 TIP3 H2 HT .417000 1.00800 0 4463 BULK 1189 TIP3 OH2 OT -.834000 15.9994 0 4464 BULK 1189 TIP3 H1 HT .417000 1.00800 0 4465 BULK 1189 TIP3 H2 HT .417000 1.00800 0 4466 BULK 1190 TIP3 OH2 OT -.834000 15.9994 0 4467 BULK 1190 TIP3 H1 HT .417000 1.00800 0 4468 BULK 1190 TIP3 H2 HT .417000 1.00800 0 4469 BULK 1191 TIP3 OH2 OT -.834000 15.9994 0 4470 BULK 1191 TIP3 H1 HT .417000 1.00800 0 4471 BULK 1191 TIP3 H2 HT .417000 1.00800 0 4472 BULK 1192 TIP3 OH2 OT -.834000 15.9994 0 4473 BULK 1192 TIP3 H1 HT .417000 1.00800 0 4474 BULK 1192 TIP3 H2 HT .417000 1.00800 0 4475 BULK 1193 TIP3 OH2 OT -.834000 15.9994 0 4476 BULK 1193 TIP3 H1 HT .417000 1.00800 0 4477 BULK 1193 TIP3 H2 HT .417000 1.00800 0 4478 BULK 1194 TIP3 OH2 OT -.834000 15.9994 0 4479 BULK 1194 TIP3 H1 HT .417000 1.00800 0 4480 BULK 1194 TIP3 H2 HT .417000 1.00800 0 4481 BULK 1195 TIP3 OH2 OT -.834000 15.9994 0 4482 BULK 1195 TIP3 H1 HT .417000 1.00800 0 4483 BULK 1195 TIP3 H2 HT .417000 1.00800 0 4484 BULK 1196 TIP3 OH2 OT -.834000 15.9994 0 4485 BULK 1196 TIP3 H1 HT .417000 1.00800 0 4486 BULK 1196 TIP3 H2 HT .417000 1.00800 0 4487 BULK 1197 TIP3 OH2 OT -.834000 15.9994 0 4488 BULK 1197 TIP3 H1 HT .417000 1.00800 0 4489 BULK 1197 TIP3 H2 HT .417000 1.00800 0 4490 BULK 1198 TIP3 OH2 OT -.834000 15.9994 0 4491 BULK 1198 TIP3 H1 HT .417000 1.00800 0 4492 BULK 1198 TIP3 H2 HT .417000 1.00800 0 4493 BULK 1199 TIP3 OH2 OT -.834000 15.9994 0 4494 BULK 1199 TIP3 H1 HT .417000 1.00800 0 4495 BULK 1199 TIP3 H2 HT .417000 1.00800 0 4496 BULK 1200 TIP3 OH2 OT -.834000 15.9994 0 4497 BULK 1200 TIP3 H1 HT .417000 1.00800 0 4498 BULK 1200 TIP3 H2 HT .417000 1.00800 0 4499 BULK 1201 TIP3 OH2 OT -.834000 15.9994 0 4500 BULK 1201 TIP3 H1 HT .417000 1.00800 0 4501 BULK 1201 TIP3 H2 HT .417000 1.00800 0 4502 BULK 1202 TIP3 OH2 OT -.834000 15.9994 0 4503 BULK 1202 TIP3 H1 HT .417000 1.00800 0 4504 BULK 1202 TIP3 H2 HT .417000 1.00800 0 4505 BULK 1203 TIP3 OH2 OT -.834000 15.9994 0 4506 BULK 1203 TIP3 H1 HT .417000 1.00800 0 4507 BULK 1203 TIP3 H2 HT .417000 1.00800 0 4508 BULK 1204 TIP3 OH2 OT -.834000 15.9994 0 4509 BULK 1204 TIP3 H1 HT .417000 1.00800 0 4510 BULK 1204 TIP3 H2 HT .417000 1.00800 0 4511 BULK 1205 TIP3 OH2 OT -.834000 15.9994 0 4512 BULK 1205 TIP3 H1 HT .417000 1.00800 0 4513 BULK 1205 TIP3 H2 HT .417000 1.00800 0 4514 BULK 1206 TIP3 OH2 OT -.834000 15.9994 0 4515 BULK 1206 TIP3 H1 HT .417000 1.00800 0 4516 BULK 1206 TIP3 H2 HT .417000 1.00800 0 4517 BULK 1207 TIP3 OH2 OT -.834000 15.9994 0 4518 BULK 1207 TIP3 H1 HT .417000 1.00800 0 4519 BULK 1207 TIP3 H2 HT .417000 1.00800 0 4520 BULK 1208 TIP3 OH2 OT -.834000 15.9994 0 4521 BULK 1208 TIP3 H1 HT .417000 1.00800 0 4522 BULK 1208 TIP3 H2 HT .417000 1.00800 0 4523 BULK 1209 TIP3 OH2 OT -.834000 15.9994 0 4524 BULK 1209 TIP3 H1 HT .417000 1.00800 0 4525 BULK 1209 TIP3 H2 HT .417000 1.00800 0 4526 BULK 1210 TIP3 OH2 OT -.834000 15.9994 0 4527 BULK 1210 TIP3 H1 HT .417000 1.00800 0 4528 BULK 1210 TIP3 H2 HT .417000 1.00800 0 4529 BULK 1211 TIP3 OH2 OT -.834000 15.9994 0 4530 BULK 1211 TIP3 H1 HT .417000 1.00800 0 4531 BULK 1211 TIP3 H2 HT .417000 1.00800 0 4532 BULK 1212 TIP3 OH2 OT -.834000 15.9994 0 4533 BULK 1212 TIP3 H1 HT .417000 1.00800 0 4534 BULK 1212 TIP3 H2 HT .417000 1.00800 0 4535 BULK 1213 TIP3 OH2 OT -.834000 15.9994 0 4536 BULK 1213 TIP3 H1 HT .417000 1.00800 0 4537 BULK 1213 TIP3 H2 HT .417000 1.00800 0 4538 BULK 1214 TIP3 OH2 OT -.834000 15.9994 0 4539 BULK 1214 TIP3 H1 HT .417000 1.00800 0 4540 BULK 1214 TIP3 H2 HT .417000 1.00800 0 4541 BULK 1215 TIP3 OH2 OT -.834000 15.9994 0 4542 BULK 1215 TIP3 H1 HT .417000 1.00800 0 4543 BULK 1215 TIP3 H2 HT .417000 1.00800 0 4544 BULK 1216 TIP3 OH2 OT -.834000 15.9994 0 4545 BULK 1216 TIP3 H1 HT .417000 1.00800 0 4546 BULK 1216 TIP3 H2 HT .417000 1.00800 0 4547 BULK 1217 TIP3 OH2 OT -.834000 15.9994 0 4548 BULK 1217 TIP3 H1 HT .417000 1.00800 0 4549 BULK 1217 TIP3 H2 HT .417000 1.00800 0 4550 BULK 1218 TIP3 OH2 OT -.834000 15.9994 0 4551 BULK 1218 TIP3 H1 HT .417000 1.00800 0 4552 BULK 1218 TIP3 H2 HT .417000 1.00800 0 4553 BULK 1219 TIP3 OH2 OT -.834000 15.9994 0 4554 BULK 1219 TIP3 H1 HT .417000 1.00800 0 4555 BULK 1219 TIP3 H2 HT .417000 1.00800 0 4556 BULK 1220 TIP3 OH2 OT -.834000 15.9994 0 4557 BULK 1220 TIP3 H1 HT .417000 1.00800 0 4558 BULK 1220 TIP3 H2 HT .417000 1.00800 0 4559 BULK 1221 TIP3 OH2 OT -.834000 15.9994 0 4560 BULK 1221 TIP3 H1 HT .417000 1.00800 0 4561 BULK 1221 TIP3 H2 HT .417000 1.00800 0 4562 BULK 1222 TIP3 OH2 OT -.834000 15.9994 0 4563 BULK 1222 TIP3 H1 HT .417000 1.00800 0 4564 BULK 1222 TIP3 H2 HT .417000 1.00800 0 4565 BULK 1223 TIP3 OH2 OT -.834000 15.9994 0 4566 BULK 1223 TIP3 H1 HT .417000 1.00800 0 4567 BULK 1223 TIP3 H2 HT .417000 1.00800 0 4568 BULK 1224 TIP3 OH2 OT -.834000 15.9994 0 4569 BULK 1224 TIP3 H1 HT .417000 1.00800 0 4570 BULK 1224 TIP3 H2 HT .417000 1.00800 0 4571 BULK 1225 TIP3 OH2 OT -.834000 15.9994 0 4572 BULK 1225 TIP3 H1 HT .417000 1.00800 0 4573 BULK 1225 TIP3 H2 HT .417000 1.00800 0 4574 BULK 1226 TIP3 OH2 OT -.834000 15.9994 0 4575 BULK 1226 TIP3 H1 HT .417000 1.00800 0 4576 BULK 1226 TIP3 H2 HT .417000 1.00800 0 4577 BULK 1227 TIP3 OH2 OT -.834000 15.9994 0 4578 BULK 1227 TIP3 H1 HT .417000 1.00800 0 4579 BULK 1227 TIP3 H2 HT .417000 1.00800 0 4580 BULK 1228 TIP3 OH2 OT -.834000 15.9994 0 4581 BULK 1228 TIP3 H1 HT .417000 1.00800 0 4582 BULK 1228 TIP3 H2 HT .417000 1.00800 0 4583 BULK 1229 TIP3 OH2 OT -.834000 15.9994 0 4584 BULK 1229 TIP3 H1 HT .417000 1.00800 0 4585 BULK 1229 TIP3 H2 HT .417000 1.00800 0 4586 BULK 1230 TIP3 OH2 OT -.834000 15.9994 0 4587 BULK 1230 TIP3 H1 HT .417000 1.00800 0 4588 BULK 1230 TIP3 H2 HT .417000 1.00800 0 4589 BULK 1231 TIP3 OH2 OT -.834000 15.9994 0 4590 BULK 1231 TIP3 H1 HT .417000 1.00800 0 4591 BULK 1231 TIP3 H2 HT .417000 1.00800 0 4592 BULK 1232 TIP3 OH2 OT -.834000 15.9994 0 4593 BULK 1232 TIP3 H1 HT .417000 1.00800 0 4594 BULK 1232 TIP3 H2 HT .417000 1.00800 0 4595 BULK 1233 TIP3 OH2 OT -.834000 15.9994 0 4596 BULK 1233 TIP3 H1 HT .417000 1.00800 0 4597 BULK 1233 TIP3 H2 HT .417000 1.00800 0 4598 BULK 1234 TIP3 OH2 OT -.834000 15.9994 0 4599 BULK 1234 TIP3 H1 HT .417000 1.00800 0 4600 BULK 1234 TIP3 H2 HT .417000 1.00800 0 4601 BULK 1235 TIP3 OH2 OT -.834000 15.9994 0 4602 BULK 1235 TIP3 H1 HT .417000 1.00800 0 4603 BULK 1235 TIP3 H2 HT .417000 1.00800 0 4604 BULK 1236 TIP3 OH2 OT -.834000 15.9994 0 4605 BULK 1236 TIP3 H1 HT .417000 1.00800 0 4606 BULK 1236 TIP3 H2 HT .417000 1.00800 0 4607 BULK 1237 TIP3 OH2 OT -.834000 15.9994 0 4608 BULK 1237 TIP3 H1 HT .417000 1.00800 0 4609 BULK 1237 TIP3 H2 HT .417000 1.00800 0 4610 BULK 1238 TIP3 OH2 OT -.834000 15.9994 0 4611 BULK 1238 TIP3 H1 HT .417000 1.00800 0 4612 BULK 1238 TIP3 H2 HT .417000 1.00800 0 4613 BULK 1239 TIP3 OH2 OT -.834000 15.9994 0 4614 BULK 1239 TIP3 H1 HT .417000 1.00800 0 4615 BULK 1239 TIP3 H2 HT .417000 1.00800 0 4616 BULK 1240 TIP3 OH2 OT -.834000 15.9994 0 4617 BULK 1240 TIP3 H1 HT .417000 1.00800 0 4618 BULK 1240 TIP3 H2 HT .417000 1.00800 0 4619 BULK 1241 TIP3 OH2 OT -.834000 15.9994 0 4620 BULK 1241 TIP3 H1 HT .417000 1.00800 0 4621 BULK 1241 TIP3 H2 HT .417000 1.00800 0 4622 BULK 1242 TIP3 OH2 OT -.834000 15.9994 0 4623 BULK 1242 TIP3 H1 HT .417000 1.00800 0 4624 BULK 1242 TIP3 H2 HT .417000 1.00800 0 4625 BULK 1243 TIP3 OH2 OT -.834000 15.9994 0 4626 BULK 1243 TIP3 H1 HT .417000 1.00800 0 4627 BULK 1243 TIP3 H2 HT .417000 1.00800 0 4628 BULK 1244 TIP3 OH2 OT -.834000 15.9994 0 4629 BULK 1244 TIP3 H1 HT .417000 1.00800 0 4630 BULK 1244 TIP3 H2 HT .417000 1.00800 0 4631 BULK 1245 TIP3 OH2 OT -.834000 15.9994 0 4632 BULK 1245 TIP3 H1 HT .417000 1.00800 0 4633 BULK 1245 TIP3 H2 HT .417000 1.00800 0 4634 BULK 1246 TIP3 OH2 OT -.834000 15.9994 0 4635 BULK 1246 TIP3 H1 HT .417000 1.00800 0 4636 BULK 1246 TIP3 H2 HT .417000 1.00800 0 4637 BULK 1247 TIP3 OH2 OT -.834000 15.9994 0 4638 BULK 1247 TIP3 H1 HT .417000 1.00800 0 4639 BULK 1247 TIP3 H2 HT .417000 1.00800 0 4640 BULK 1248 TIP3 OH2 OT -.834000 15.9994 0 4641 BULK 1248 TIP3 H1 HT .417000 1.00800 0 4642 BULK 1248 TIP3 H2 HT .417000 1.00800 0 4643 BULK 1249 TIP3 OH2 OT -.834000 15.9994 0 4644 BULK 1249 TIP3 H1 HT .417000 1.00800 0 4645 BULK 1249 TIP3 H2 HT .417000 1.00800 0 4646 BULK 1250 TIP3 OH2 OT -.834000 15.9994 0 4647 BULK 1250 TIP3 H1 HT .417000 1.00800 0 4648 BULK 1250 TIP3 H2 HT .417000 1.00800 0 4649 BULK 1251 TIP3 OH2 OT -.834000 15.9994 0 4650 BULK 1251 TIP3 H1 HT .417000 1.00800 0 4651 BULK 1251 TIP3 H2 HT .417000 1.00800 0 4652 BULK 1252 TIP3 OH2 OT -.834000 15.9994 0 4653 BULK 1252 TIP3 H1 HT .417000 1.00800 0 4654 BULK 1252 TIP3 H2 HT .417000 1.00800 0 4655 BULK 1253 TIP3 OH2 OT -.834000 15.9994 0 4656 BULK 1253 TIP3 H1 HT .417000 1.00800 0 4657 BULK 1253 TIP3 H2 HT .417000 1.00800 0 4658 BULK 1254 TIP3 OH2 OT -.834000 15.9994 0 4659 BULK 1254 TIP3 H1 HT .417000 1.00800 0 4660 BULK 1254 TIP3 H2 HT .417000 1.00800 0 4661 BULK 1255 TIP3 OH2 OT -.834000 15.9994 0 4662 BULK 1255 TIP3 H1 HT .417000 1.00800 0 4663 BULK 1255 TIP3 H2 HT .417000 1.00800 0 4664 BULK 1256 TIP3 OH2 OT -.834000 15.9994 0 4665 BULK 1256 TIP3 H1 HT .417000 1.00800 0 4666 BULK 1256 TIP3 H2 HT .417000 1.00800 0 4667 BULK 1257 TIP3 OH2 OT -.834000 15.9994 0 4668 BULK 1257 TIP3 H1 HT .417000 1.00800 0 4669 BULK 1257 TIP3 H2 HT .417000 1.00800 0 4670 BULK 1258 TIP3 OH2 OT -.834000 15.9994 0 4671 BULK 1258 TIP3 H1 HT .417000 1.00800 0 4672 BULK 1258 TIP3 H2 HT .417000 1.00800 0 4673 BULK 1259 TIP3 OH2 OT -.834000 15.9994 0 4674 BULK 1259 TIP3 H1 HT .417000 1.00800 0 4675 BULK 1259 TIP3 H2 HT .417000 1.00800 0 4676 BULK 1260 TIP3 OH2 OT -.834000 15.9994 0 4677 BULK 1260 TIP3 H1 HT .417000 1.00800 0 4678 BULK 1260 TIP3 H2 HT .417000 1.00800 0 4679 BULK 1261 TIP3 OH2 OT -.834000 15.9994 0 4680 BULK 1261 TIP3 H1 HT .417000 1.00800 0 4681 BULK 1261 TIP3 H2 HT .417000 1.00800 0 4682 BULK 1262 TIP3 OH2 OT -.834000 15.9994 0 4683 BULK 1262 TIP3 H1 HT .417000 1.00800 0 4684 BULK 1262 TIP3 H2 HT .417000 1.00800 0 4685 BULK 1263 TIP3 OH2 OT -.834000 15.9994 0 4686 BULK 1263 TIP3 H1 HT .417000 1.00800 0 4687 BULK 1263 TIP3 H2 HT .417000 1.00800 0 4688 BULK 1264 TIP3 OH2 OT -.834000 15.9994 0 4689 BULK 1264 TIP3 H1 HT .417000 1.00800 0 4690 BULK 1264 TIP3 H2 HT .417000 1.00800 0 4691 BULK 1265 TIP3 OH2 OT -.834000 15.9994 0 4692 BULK 1265 TIP3 H1 HT .417000 1.00800 0 4693 BULK 1265 TIP3 H2 HT .417000 1.00800 0 4694 BULK 1266 TIP3 OH2 OT -.834000 15.9994 0 4695 BULK 1266 TIP3 H1 HT .417000 1.00800 0 4696 BULK 1266 TIP3 H2 HT .417000 1.00800 0 4697 BULK 1267 TIP3 OH2 OT -.834000 15.9994 0 4698 BULK 1267 TIP3 H1 HT .417000 1.00800 0 4699 BULK 1267 TIP3 H2 HT .417000 1.00800 0 4700 BULK 1268 TIP3 OH2 OT -.834000 15.9994 0 4701 BULK 1268 TIP3 H1 HT .417000 1.00800 0 4702 BULK 1268 TIP3 H2 HT .417000 1.00800 0 4703 BULK 1269 TIP3 OH2 OT -.834000 15.9994 0 4704 BULK 1269 TIP3 H1 HT .417000 1.00800 0 4705 BULK 1269 TIP3 H2 HT .417000 1.00800 0 4706 BULK 1270 TIP3 OH2 OT -.834000 15.9994 0 4707 BULK 1270 TIP3 H1 HT .417000 1.00800 0 4708 BULK 1270 TIP3 H2 HT .417000 1.00800 0 4709 BULK 1271 TIP3 OH2 OT -.834000 15.9994 0 4710 BULK 1271 TIP3 H1 HT .417000 1.00800 0 4711 BULK 1271 TIP3 H2 HT .417000 1.00800 0 4712 BULK 1272 TIP3 OH2 OT -.834000 15.9994 0 4713 BULK 1272 TIP3 H1 HT .417000 1.00800 0 4714 BULK 1272 TIP3 H2 HT .417000 1.00800 0 4715 BULK 1273 TIP3 OH2 OT -.834000 15.9994 0 4716 BULK 1273 TIP3 H1 HT .417000 1.00800 0 4717 BULK 1273 TIP3 H2 HT .417000 1.00800 0 4718 BULK 1274 TIP3 OH2 OT -.834000 15.9994 0 4719 BULK 1274 TIP3 H1 HT .417000 1.00800 0 4720 BULK 1274 TIP3 H2 HT .417000 1.00800 0 4721 BULK 1275 TIP3 OH2 OT -.834000 15.9994 0 4722 BULK 1275 TIP3 H1 HT .417000 1.00800 0 4723 BULK 1275 TIP3 H2 HT .417000 1.00800 0 4724 BULK 1276 TIP3 OH2 OT -.834000 15.9994 0 4725 BULK 1276 TIP3 H1 HT .417000 1.00800 0 4726 BULK 1276 TIP3 H2 HT .417000 1.00800 0 4727 BULK 1277 TIP3 OH2 OT -.834000 15.9994 0 4728 BULK 1277 TIP3 H1 HT .417000 1.00800 0 4729 BULK 1277 TIP3 H2 HT .417000 1.00800 0 4730 BULK 1278 TIP3 OH2 OT -.834000 15.9994 0 4731 BULK 1278 TIP3 H1 HT .417000 1.00800 0 4732 BULK 1278 TIP3 H2 HT .417000 1.00800 0 4733 BULK 1279 TIP3 OH2 OT -.834000 15.9994 0 4734 BULK 1279 TIP3 H1 HT .417000 1.00800 0 4735 BULK 1279 TIP3 H2 HT .417000 1.00800 0 4736 BULK 1280 TIP3 OH2 OT -.834000 15.9994 0 4737 BULK 1280 TIP3 H1 HT .417000 1.00800 0 4738 BULK 1280 TIP3 H2 HT .417000 1.00800 0 4739 BULK 1281 TIP3 OH2 OT -.834000 15.9994 0 4740 BULK 1281 TIP3 H1 HT .417000 1.00800 0 4741 BULK 1281 TIP3 H2 HT .417000 1.00800 0 4742 BULK 1282 TIP3 OH2 OT -.834000 15.9994 0 4743 BULK 1282 TIP3 H1 HT .417000 1.00800 0 4744 BULK 1282 TIP3 H2 HT .417000 1.00800 0 4745 BULK 1283 TIP3 OH2 OT -.834000 15.9994 0 4746 BULK 1283 TIP3 H1 HT .417000 1.00800 0 4747 BULK 1283 TIP3 H2 HT .417000 1.00800 0 4748 BULK 1284 TIP3 OH2 OT -.834000 15.9994 0 4749 BULK 1284 TIP3 H1 HT .417000 1.00800 0 4750 BULK 1284 TIP3 H2 HT .417000 1.00800 0 4751 BULK 1285 TIP3 OH2 OT -.834000 15.9994 0 4752 BULK 1285 TIP3 H1 HT .417000 1.00800 0 4753 BULK 1285 TIP3 H2 HT .417000 1.00800 0 4754 BULK 1286 TIP3 OH2 OT -.834000 15.9994 0 4755 BULK 1286 TIP3 H1 HT .417000 1.00800 0 4756 BULK 1286 TIP3 H2 HT .417000 1.00800 0 4757 BULK 1287 TIP3 OH2 OT -.834000 15.9994 0 4758 BULK 1287 TIP3 H1 HT .417000 1.00800 0 4759 BULK 1287 TIP3 H2 HT .417000 1.00800 0 4760 BULK 1288 TIP3 OH2 OT -.834000 15.9994 0 4761 BULK 1288 TIP3 H1 HT .417000 1.00800 0 4762 BULK 1288 TIP3 H2 HT .417000 1.00800 0 4763 BULK 1289 TIP3 OH2 OT -.834000 15.9994 0 4764 BULK 1289 TIP3 H1 HT .417000 1.00800 0 4765 BULK 1289 TIP3 H2 HT .417000 1.00800 0 4766 BULK 1290 TIP3 OH2 OT -.834000 15.9994 0 4767 BULK 1290 TIP3 H1 HT .417000 1.00800 0 4768 BULK 1290 TIP3 H2 HT .417000 1.00800 0 4769 BULK 1291 TIP3 OH2 OT -.834000 15.9994 0 4770 BULK 1291 TIP3 H1 HT .417000 1.00800 0 4771 BULK 1291 TIP3 H2 HT .417000 1.00800 0 4772 BULK 1292 TIP3 OH2 OT -.834000 15.9994 0 4773 BULK 1292 TIP3 H1 HT .417000 1.00800 0 4774 BULK 1292 TIP3 H2 HT .417000 1.00800 0 4775 BULK 1293 TIP3 OH2 OT -.834000 15.9994 0 4776 BULK 1293 TIP3 H1 HT .417000 1.00800 0 4777 BULK 1293 TIP3 H2 HT .417000 1.00800 0 4778 BULK 1294 TIP3 OH2 OT -.834000 15.9994 0 4779 BULK 1294 TIP3 H1 HT .417000 1.00800 0 4780 BULK 1294 TIP3 H2 HT .417000 1.00800 0 4781 BULK 1295 TIP3 OH2 OT -.834000 15.9994 0 4782 BULK 1295 TIP3 H1 HT .417000 1.00800 0 4783 BULK 1295 TIP3 H2 HT .417000 1.00800 0 4784 BULK 1296 TIP3 OH2 OT -.834000 15.9994 0 4785 BULK 1296 TIP3 H1 HT .417000 1.00800 0 4786 BULK 1296 TIP3 H2 HT .417000 1.00800 0 4787 BULK 1297 TIP3 OH2 OT -.834000 15.9994 0 4788 BULK 1297 TIP3 H1 HT .417000 1.00800 0 4789 BULK 1297 TIP3 H2 HT .417000 1.00800 0 4790 BULK 1298 TIP3 OH2 OT -.834000 15.9994 0 4791 BULK 1298 TIP3 H1 HT .417000 1.00800 0 4792 BULK 1298 TIP3 H2 HT .417000 1.00800 0 4793 BULK 1299 TIP3 OH2 OT -.834000 15.9994 0 4794 BULK 1299 TIP3 H1 HT .417000 1.00800 0 4795 BULK 1299 TIP3 H2 HT .417000 1.00800 0 4796 BULK 1300 TIP3 OH2 OT -.834000 15.9994 0 4797 BULK 1300 TIP3 H1 HT .417000 1.00800 0 4798 BULK 1300 TIP3 H2 HT .417000 1.00800 0 4799 BULK 1301 TIP3 OH2 OT -.834000 15.9994 0 4800 BULK 1301 TIP3 H1 HT .417000 1.00800 0 4801 BULK 1301 TIP3 H2 HT .417000 1.00800 0 4802 BULK 1302 TIP3 OH2 OT -.834000 15.9994 0 4803 BULK 1302 TIP3 H1 HT .417000 1.00800 0 4804 BULK 1302 TIP3 H2 HT .417000 1.00800 0 4805 BULK 1303 TIP3 OH2 OT -.834000 15.9994 0 4806 BULK 1303 TIP3 H1 HT .417000 1.00800 0 4807 BULK 1303 TIP3 H2 HT .417000 1.00800 0 4808 BULK 1304 TIP3 OH2 OT -.834000 15.9994 0 4809 BULK 1304 TIP3 H1 HT .417000 1.00800 0 4810 BULK 1304 TIP3 H2 HT .417000 1.00800 0 4811 BULK 1305 TIP3 OH2 OT -.834000 15.9994 0 4812 BULK 1305 TIP3 H1 HT .417000 1.00800 0 4813 BULK 1305 TIP3 H2 HT .417000 1.00800 0 4814 BULK 1306 TIP3 OH2 OT -.834000 15.9994 0 4815 BULK 1306 TIP3 H1 HT .417000 1.00800 0 4816 BULK 1306 TIP3 H2 HT .417000 1.00800 0 4817 BULK 1307 TIP3 OH2 OT -.834000 15.9994 0 4818 BULK 1307 TIP3 H1 HT .417000 1.00800 0 4819 BULK 1307 TIP3 H2 HT .417000 1.00800 0 4820 BULK 1308 TIP3 OH2 OT -.834000 15.9994 0 4821 BULK 1308 TIP3 H1 HT .417000 1.00800 0 4822 BULK 1308 TIP3 H2 HT .417000 1.00800 0 4823 BULK 1309 TIP3 OH2 OT -.834000 15.9994 0 4824 BULK 1309 TIP3 H1 HT .417000 1.00800 0 4825 BULK 1309 TIP3 H2 HT .417000 1.00800 0 4826 BULK 1310 TIP3 OH2 OT -.834000 15.9994 0 4827 BULK 1310 TIP3 H1 HT .417000 1.00800 0 4828 BULK 1310 TIP3 H2 HT .417000 1.00800 0 4829 BULK 1311 TIP3 OH2 OT -.834000 15.9994 0 4830 BULK 1311 TIP3 H1 HT .417000 1.00800 0 4831 BULK 1311 TIP3 H2 HT .417000 1.00800 0 4832 BULK 1312 TIP3 OH2 OT -.834000 15.9994 0 4833 BULK 1312 TIP3 H1 HT .417000 1.00800 0 4834 BULK 1312 TIP3 H2 HT .417000 1.00800 0 4835 BULK 1313 TIP3 OH2 OT -.834000 15.9994 0 4836 BULK 1313 TIP3 H1 HT .417000 1.00800 0 4837 BULK 1313 TIP3 H2 HT .417000 1.00800 0 4838 BULK 1314 TIP3 OH2 OT -.834000 15.9994 0 4839 BULK 1314 TIP3 H1 HT .417000 1.00800 0 4840 BULK 1314 TIP3 H2 HT .417000 1.00800 0 4841 BULK 1315 TIP3 OH2 OT -.834000 15.9994 0 4842 BULK 1315 TIP3 H1 HT .417000 1.00800 0 4843 BULK 1315 TIP3 H2 HT .417000 1.00800 0 4844 BULK 1316 TIP3 OH2 OT -.834000 15.9994 0 4845 BULK 1316 TIP3 H1 HT .417000 1.00800 0 4846 BULK 1316 TIP3 H2 HT .417000 1.00800 0 4847 BULK 1317 TIP3 OH2 OT -.834000 15.9994 0 4848 BULK 1317 TIP3 H1 HT .417000 1.00800 0 4849 BULK 1317 TIP3 H2 HT .417000 1.00800 0 4850 BULK 1318 TIP3 OH2 OT -.834000 15.9994 0 4851 BULK 1318 TIP3 H1 HT .417000 1.00800 0 4852 BULK 1318 TIP3 H2 HT .417000 1.00800 0 4853 BULK 1319 TIP3 OH2 OT -.834000 15.9994 0 4854 BULK 1319 TIP3 H1 HT .417000 1.00800 0 4855 BULK 1319 TIP3 H2 HT .417000 1.00800 0 4856 BULK 1320 TIP3 OH2 OT -.834000 15.9994 0 4857 BULK 1320 TIP3 H1 HT .417000 1.00800 0 4858 BULK 1320 TIP3 H2 HT .417000 1.00800 0 4859 BULK 1321 TIP3 OH2 OT -.834000 15.9994 0 4860 BULK 1321 TIP3 H1 HT .417000 1.00800 0 4861 BULK 1321 TIP3 H2 HT .417000 1.00800 0 4862 BULK 1322 TIP3 OH2 OT -.834000 15.9994 0 4863 BULK 1322 TIP3 H1 HT .417000 1.00800 0 4864 BULK 1322 TIP3 H2 HT .417000 1.00800 0 4865 BULK 1323 TIP3 OH2 OT -.834000 15.9994 0 4866 BULK 1323 TIP3 H1 HT .417000 1.00800 0 4867 BULK 1323 TIP3 H2 HT .417000 1.00800 0 4868 BULK 1324 TIP3 OH2 OT -.834000 15.9994 0 4869 BULK 1324 TIP3 H1 HT .417000 1.00800 0 4870 BULK 1324 TIP3 H2 HT .417000 1.00800 0 4871 BULK 1325 TIP3 OH2 OT -.834000 15.9994 0 4872 BULK 1325 TIP3 H1 HT .417000 1.00800 0 4873 BULK 1325 TIP3 H2 HT .417000 1.00800 0 4874 BULK 1326 TIP3 OH2 OT -.834000 15.9994 0 4875 BULK 1326 TIP3 H1 HT .417000 1.00800 0 4876 BULK 1326 TIP3 H2 HT .417000 1.00800 0 4877 BULK 1327 TIP3 OH2 OT -.834000 15.9994 0 4878 BULK 1327 TIP3 H1 HT .417000 1.00800 0 4879 BULK 1327 TIP3 H2 HT .417000 1.00800 0 4880 BULK 1328 TIP3 OH2 OT -.834000 15.9994 0 4881 BULK 1328 TIP3 H1 HT .417000 1.00800 0 4882 BULK 1328 TIP3 H2 HT .417000 1.00800 0 4883 BULK 1329 TIP3 OH2 OT -.834000 15.9994 0 4884 BULK 1329 TIP3 H1 HT .417000 1.00800 0 4885 BULK 1329 TIP3 H2 HT .417000 1.00800 0 4886 BULK 1330 TIP3 OH2 OT -.834000 15.9994 0 4887 BULK 1330 TIP3 H1 HT .417000 1.00800 0 4888 BULK 1330 TIP3 H2 HT .417000 1.00800 0 4889 BULK 1331 TIP3 OH2 OT -.834000 15.9994 0 4890 BULK 1331 TIP3 H1 HT .417000 1.00800 0 4891 BULK 1331 TIP3 H2 HT .417000 1.00800 0 4892 BULK 1332 TIP3 OH2 OT -.834000 15.9994 0 4893 BULK 1332 TIP3 H1 HT .417000 1.00800 0 4894 BULK 1332 TIP3 H2 HT .417000 1.00800 0 4895 BULK 1333 TIP3 OH2 OT -.834000 15.9994 0 4896 BULK 1333 TIP3 H1 HT .417000 1.00800 0 4897 BULK 1333 TIP3 H2 HT .417000 1.00800 0 4898 BULK 1334 TIP3 OH2 OT -.834000 15.9994 0 4899 BULK 1334 TIP3 H1 HT .417000 1.00800 0 4900 BULK 1334 TIP3 H2 HT .417000 1.00800 0 4901 BULK 1335 TIP3 OH2 OT -.834000 15.9994 0 4902 BULK 1335 TIP3 H1 HT .417000 1.00800 0 4903 BULK 1335 TIP3 H2 HT .417000 1.00800 0 4904 BULK 1336 TIP3 OH2 OT -.834000 15.9994 0 4905 BULK 1336 TIP3 H1 HT .417000 1.00800 0 4906 BULK 1336 TIP3 H2 HT .417000 1.00800 0 4907 BULK 1337 TIP3 OH2 OT -.834000 15.9994 0 4908 BULK 1337 TIP3 H1 HT .417000 1.00800 0 4909 BULK 1337 TIP3 H2 HT .417000 1.00800 0 4910 BULK 1338 TIP3 OH2 OT -.834000 15.9994 0 4911 BULK 1338 TIP3 H1 HT .417000 1.00800 0 4912 BULK 1338 TIP3 H2 HT .417000 1.00800 0 4913 BULK 1339 TIP3 OH2 OT -.834000 15.9994 0 4914 BULK 1339 TIP3 H1 HT .417000 1.00800 0 4915 BULK 1339 TIP3 H2 HT .417000 1.00800 0 4916 BULK 1340 TIP3 OH2 OT -.834000 15.9994 0 4917 BULK 1340 TIP3 H1 HT .417000 1.00800 0 4918 BULK 1340 TIP3 H2 HT .417000 1.00800 0 4919 BULK 1341 TIP3 OH2 OT -.834000 15.9994 0 4920 BULK 1341 TIP3 H1 HT .417000 1.00800 0 4921 BULK 1341 TIP3 H2 HT .417000 1.00800 0 4922 BULK 1342 TIP3 OH2 OT -.834000 15.9994 0 4923 BULK 1342 TIP3 H1 HT .417000 1.00800 0 4924 BULK 1342 TIP3 H2 HT .417000 1.00800 0 4925 BULK 1343 TIP3 OH2 OT -.834000 15.9994 0 4926 BULK 1343 TIP3 H1 HT .417000 1.00800 0 4927 BULK 1343 TIP3 H2 HT .417000 1.00800 0 4928 BULK 1344 TIP3 OH2 OT -.834000 15.9994 0 4929 BULK 1344 TIP3 H1 HT .417000 1.00800 0 4930 BULK 1344 TIP3 H2 HT .417000 1.00800 0 4931 BULK 1345 TIP3 OH2 OT -.834000 15.9994 0 4932 BULK 1345 TIP3 H1 HT .417000 1.00800 0 4933 BULK 1345 TIP3 H2 HT .417000 1.00800 0 4934 BULK 1346 TIP3 OH2 OT -.834000 15.9994 0 4935 BULK 1346 TIP3 H1 HT .417000 1.00800 0 4936 BULK 1346 TIP3 H2 HT .417000 1.00800 0 4937 BULK 1347 TIP3 OH2 OT -.834000 15.9994 0 4938 BULK 1347 TIP3 H1 HT .417000 1.00800 0 4939 BULK 1347 TIP3 H2 HT .417000 1.00800 0 4940 BULK 1348 TIP3 OH2 OT -.834000 15.9994 0 4941 BULK 1348 TIP3 H1 HT .417000 1.00800 0 4942 BULK 1348 TIP3 H2 HT .417000 1.00800 0 4943 BULK 1349 TIP3 OH2 OT -.834000 15.9994 0 4944 BULK 1349 TIP3 H1 HT .417000 1.00800 0 4945 BULK 1349 TIP3 H2 HT .417000 1.00800 0 4946 BULK 1350 TIP3 OH2 OT -.834000 15.9994 0 4947 BULK 1350 TIP3 H1 HT .417000 1.00800 0 4948 BULK 1350 TIP3 H2 HT .417000 1.00800 0 4949 BULK 1351 TIP3 OH2 OT -.834000 15.9994 0 4950 BULK 1351 TIP3 H1 HT .417000 1.00800 0 4951 BULK 1351 TIP3 H2 HT .417000 1.00800 0 4952 BULK 1352 TIP3 OH2 OT -.834000 15.9994 0 4953 BULK 1352 TIP3 H1 HT .417000 1.00800 0 4954 BULK 1352 TIP3 H2 HT .417000 1.00800 0 4955 BULK 1353 TIP3 OH2 OT -.834000 15.9994 0 4956 BULK 1353 TIP3 H1 HT .417000 1.00800 0 4957 BULK 1353 TIP3 H2 HT .417000 1.00800 0 4958 BULK 1354 TIP3 OH2 OT -.834000 15.9994 0 4959 BULK 1354 TIP3 H1 HT .417000 1.00800 0 4960 BULK 1354 TIP3 H2 HT .417000 1.00800 0 4961 BULK 1355 TIP3 OH2 OT -.834000 15.9994 0 4962 BULK 1355 TIP3 H1 HT .417000 1.00800 0 4963 BULK 1355 TIP3 H2 HT .417000 1.00800 0 4964 BULK 1356 TIP3 OH2 OT -.834000 15.9994 0 4965 BULK 1356 TIP3 H1 HT .417000 1.00800 0 4966 BULK 1356 TIP3 H2 HT .417000 1.00800 0 4967 BULK 1357 TIP3 OH2 OT -.834000 15.9994 0 4968 BULK 1357 TIP3 H1 HT .417000 1.00800 0 4969 BULK 1357 TIP3 H2 HT .417000 1.00800 0 4970 BULK 1358 TIP3 OH2 OT -.834000 15.9994 0 4971 BULK 1358 TIP3 H1 HT .417000 1.00800 0 4972 BULK 1358 TIP3 H2 HT .417000 1.00800 0 4973 BULK 1359 TIP3 OH2 OT -.834000 15.9994 0 4974 BULK 1359 TIP3 H1 HT .417000 1.00800 0 4975 BULK 1359 TIP3 H2 HT .417000 1.00800 0 4976 BULK 1360 TIP3 OH2 OT -.834000 15.9994 0 4977 BULK 1360 TIP3 H1 HT .417000 1.00800 0 4978 BULK 1360 TIP3 H2 HT .417000 1.00800 0 4979 BULK 1361 TIP3 OH2 OT -.834000 15.9994 0 4980 BULK 1361 TIP3 H1 HT .417000 1.00800 0 4981 BULK 1361 TIP3 H2 HT .417000 1.00800 0 4982 BULK 1362 TIP3 OH2 OT -.834000 15.9994 0 4983 BULK 1362 TIP3 H1 HT .417000 1.00800 0 4984 BULK 1362 TIP3 H2 HT .417000 1.00800 0 4985 BULK 1363 TIP3 OH2 OT -.834000 15.9994 0 4986 BULK 1363 TIP3 H1 HT .417000 1.00800 0 4987 BULK 1363 TIP3 H2 HT .417000 1.00800 0 4988 BULK 1364 TIP3 OH2 OT -.834000 15.9994 0 4989 BULK 1364 TIP3 H1 HT .417000 1.00800 0 4990 BULK 1364 TIP3 H2 HT .417000 1.00800 0 4991 BULK 1365 TIP3 OH2 OT -.834000 15.9994 0 4992 BULK 1365 TIP3 H1 HT .417000 1.00800 0 4993 BULK 1365 TIP3 H2 HT .417000 1.00800 0 4994 BULK 1366 TIP3 OH2 OT -.834000 15.9994 0 4995 BULK 1366 TIP3 H1 HT .417000 1.00800 0 4996 BULK 1366 TIP3 H2 HT .417000 1.00800 0 4997 BULK 1367 TIP3 OH2 OT -.834000 15.9994 0 4998 BULK 1367 TIP3 H1 HT .417000 1.00800 0 4999 BULK 1367 TIP3 H2 HT .417000 1.00800 0 5000 BULK 1368 TIP3 OH2 OT -.834000 15.9994 0 5001 BULK 1368 TIP3 H1 HT .417000 1.00800 0 5002 BULK 1368 TIP3 H2 HT .417000 1.00800 0 5003 BULK 1369 TIP3 OH2 OT -.834000 15.9994 0 5004 BULK 1369 TIP3 H1 HT .417000 1.00800 0 5005 BULK 1369 TIP3 H2 HT .417000 1.00800 0 5006 BULK 1370 TIP3 OH2 OT -.834000 15.9994 0 5007 BULK 1370 TIP3 H1 HT .417000 1.00800 0 5008 BULK 1370 TIP3 H2 HT .417000 1.00800 0 5009 BULK 1371 TIP3 OH2 OT -.834000 15.9994 0 5010 BULK 1371 TIP3 H1 HT .417000 1.00800 0 5011 BULK 1371 TIP3 H2 HT .417000 1.00800 0 5012 BULK 1372 TIP3 OH2 OT -.834000 15.9994 0 5013 BULK 1372 TIP3 H1 HT .417000 1.00800 0 5014 BULK 1372 TIP3 H2 HT .417000 1.00800 0 5015 BULK 1373 TIP3 OH2 OT -.834000 15.9994 0 5016 BULK 1373 TIP3 H1 HT .417000 1.00800 0 5017 BULK 1373 TIP3 H2 HT .417000 1.00800 0 5018 BULK 1374 TIP3 OH2 OT -.834000 15.9994 0 5019 BULK 1374 TIP3 H1 HT .417000 1.00800 0 5020 BULK 1374 TIP3 H2 HT .417000 1.00800 0 5021 BULK 1375 TIP3 OH2 OT -.834000 15.9994 0 5022 BULK 1375 TIP3 H1 HT .417000 1.00800 0 5023 BULK 1375 TIP3 H2 HT .417000 1.00800 0 5024 BULK 1376 TIP3 OH2 OT -.834000 15.9994 0 5025 BULK 1376 TIP3 H1 HT .417000 1.00800 0 5026 BULK 1376 TIP3 H2 HT .417000 1.00800 0 5027 BULK 1377 TIP3 OH2 OT -.834000 15.9994 0 5028 BULK 1377 TIP3 H1 HT .417000 1.00800 0 5029 BULK 1377 TIP3 H2 HT .417000 1.00800 0 5030 BULK 1378 TIP3 OH2 OT -.834000 15.9994 0 5031 BULK 1378 TIP3 H1 HT .417000 1.00800 0 5032 BULK 1378 TIP3 H2 HT .417000 1.00800 0 5033 BULK 1379 TIP3 OH2 OT -.834000 15.9994 0 5034 BULK 1379 TIP3 H1 HT .417000 1.00800 0 5035 BULK 1379 TIP3 H2 HT .417000 1.00800 0 5036 BULK 1380 TIP3 OH2 OT -.834000 15.9994 0 5037 BULK 1380 TIP3 H1 HT .417000 1.00800 0 5038 BULK 1380 TIP3 H2 HT .417000 1.00800 0 5039 BULK 1381 TIP3 OH2 OT -.834000 15.9994 0 5040 BULK 1381 TIP3 H1 HT .417000 1.00800 0 5041 BULK 1381 TIP3 H2 HT .417000 1.00800 0 5042 BULK 1382 TIP3 OH2 OT -.834000 15.9994 0 5043 BULK 1382 TIP3 H1 HT .417000 1.00800 0 5044 BULK 1382 TIP3 H2 HT .417000 1.00800 0 5045 BULK 1383 TIP3 OH2 OT -.834000 15.9994 0 5046 BULK 1383 TIP3 H1 HT .417000 1.00800 0 5047 BULK 1383 TIP3 H2 HT .417000 1.00800 0 5048 BULK 1384 TIP3 OH2 OT -.834000 15.9994 0 5049 BULK 1384 TIP3 H1 HT .417000 1.00800 0 5050 BULK 1384 TIP3 H2 HT .417000 1.00800 0 5051 BULK 1385 TIP3 OH2 OT -.834000 15.9994 0 5052 BULK 1385 TIP3 H1 HT .417000 1.00800 0 5053 BULK 1385 TIP3 H2 HT .417000 1.00800 0 5054 BULK 1386 TIP3 OH2 OT -.834000 15.9994 0 5055 BULK 1386 TIP3 H1 HT .417000 1.00800 0 5056 BULK 1386 TIP3 H2 HT .417000 1.00800 0 5057 BULK 1387 TIP3 OH2 OT -.834000 15.9994 0 5058 BULK 1387 TIP3 H1 HT .417000 1.00800 0 5059 BULK 1387 TIP3 H2 HT .417000 1.00800 0 5060 BULK 1388 TIP3 OH2 OT -.834000 15.9994 0 5061 BULK 1388 TIP3 H1 HT .417000 1.00800 0 5062 BULK 1388 TIP3 H2 HT .417000 1.00800 0 5063 BULK 1389 TIP3 OH2 OT -.834000 15.9994 0 5064 BULK 1389 TIP3 H1 HT .417000 1.00800 0 5065 BULK 1389 TIP3 H2 HT .417000 1.00800 0 5066 BULK 1390 TIP3 OH2 OT -.834000 15.9994 0 5067 BULK 1390 TIP3 H1 HT .417000 1.00800 0 5068 BULK 1390 TIP3 H2 HT .417000 1.00800 0 5069 BULK 1391 TIP3 OH2 OT -.834000 15.9994 0 5070 BULK 1391 TIP3 H1 HT .417000 1.00800 0 5071 BULK 1391 TIP3 H2 HT .417000 1.00800 0 5072 BULK 1392 TIP3 OH2 OT -.834000 15.9994 0 5073 BULK 1392 TIP3 H1 HT .417000 1.00800 0 5074 BULK 1392 TIP3 H2 HT .417000 1.00800 0 5075 BULK 1393 TIP3 OH2 OT -.834000 15.9994 0 5076 BULK 1393 TIP3 H1 HT .417000 1.00800 0 5077 BULK 1393 TIP3 H2 HT .417000 1.00800 0 5078 BULK 1394 TIP3 OH2 OT -.834000 15.9994 0 5079 BULK 1394 TIP3 H1 HT .417000 1.00800 0 5080 BULK 1394 TIP3 H2 HT .417000 1.00800 0 5081 BULK 1395 TIP3 OH2 OT -.834000 15.9994 0 5082 BULK 1395 TIP3 H1 HT .417000 1.00800 0 5083 BULK 1395 TIP3 H2 HT .417000 1.00800 0 5084 BULK 1396 TIP3 OH2 OT -.834000 15.9994 0 5085 BULK 1396 TIP3 H1 HT .417000 1.00800 0 5086 BULK 1396 TIP3 H2 HT .417000 1.00800 0 5087 BULK 1397 TIP3 OH2 OT -.834000 15.9994 0 5088 BULK 1397 TIP3 H1 HT .417000 1.00800 0 5089 BULK 1397 TIP3 H2 HT .417000 1.00800 0 5090 BULK 1398 TIP3 OH2 OT -.834000 15.9994 0 5091 BULK 1398 TIP3 H1 HT .417000 1.00800 0 5092 BULK 1398 TIP3 H2 HT .417000 1.00800 0 5093 BULK 1399 TIP3 OH2 OT -.834000 15.9994 0 5094 BULK 1399 TIP3 H1 HT .417000 1.00800 0 5095 BULK 1399 TIP3 H2 HT .417000 1.00800 0 5096 BULK 1400 TIP3 OH2 OT -.834000 15.9994 0 5097 BULK 1400 TIP3 H1 HT .417000 1.00800 0 5098 BULK 1400 TIP3 H2 HT .417000 1.00800 0 5099 BULK 1401 TIP3 OH2 OT -.834000 15.9994 0 5100 BULK 1401 TIP3 H1 HT .417000 1.00800 0 5101 BULK 1401 TIP3 H2 HT .417000 1.00800 0 5102 BULK 1402 TIP3 OH2 OT -.834000 15.9994 0 5103 BULK 1402 TIP3 H1 HT .417000 1.00800 0 5104 BULK 1402 TIP3 H2 HT .417000 1.00800 0 5105 BULK 1403 TIP3 OH2 OT -.834000 15.9994 0 5106 BULK 1403 TIP3 H1 HT .417000 1.00800 0 5107 BULK 1403 TIP3 H2 HT .417000 1.00800 0 5108 BULK 1404 TIP3 OH2 OT -.834000 15.9994 0 5109 BULK 1404 TIP3 H1 HT .417000 1.00800 0 5110 BULK 1404 TIP3 H2 HT .417000 1.00800 0 5111 BULK 1405 TIP3 OH2 OT -.834000 15.9994 0 5112 BULK 1405 TIP3 H1 HT .417000 1.00800 0 5113 BULK 1405 TIP3 H2 HT .417000 1.00800 0 5114 BULK 1406 TIP3 OH2 OT -.834000 15.9994 0 5115 BULK 1406 TIP3 H1 HT .417000 1.00800 0 5116 BULK 1406 TIP3 H2 HT .417000 1.00800 0 5117 BULK 1407 TIP3 OH2 OT -.834000 15.9994 0 5118 BULK 1407 TIP3 H1 HT .417000 1.00800 0 5119 BULK 1407 TIP3 H2 HT .417000 1.00800 0 5120 BULK 1408 TIP3 OH2 OT -.834000 15.9994 0 5121 BULK 1408 TIP3 H1 HT .417000 1.00800 0 5122 BULK 1408 TIP3 H2 HT .417000 1.00800 0 5123 BULK 1409 TIP3 OH2 OT -.834000 15.9994 0 5124 BULK 1409 TIP3 H1 HT .417000 1.00800 0 5125 BULK 1409 TIP3 H2 HT .417000 1.00800 0 5126 BULK 1410 TIP3 OH2 OT -.834000 15.9994 0 5127 BULK 1410 TIP3 H1 HT .417000 1.00800 0 5128 BULK 1410 TIP3 H2 HT .417000 1.00800 0 5129 BULK 1411 TIP3 OH2 OT -.834000 15.9994 0 5130 BULK 1411 TIP3 H1 HT .417000 1.00800 0 5131 BULK 1411 TIP3 H2 HT .417000 1.00800 0 5132 BULK 1412 TIP3 OH2 OT -.834000 15.9994 0 5133 BULK 1412 TIP3 H1 HT .417000 1.00800 0 5134 BULK 1412 TIP3 H2 HT .417000 1.00800 0 5135 BULK 1413 TIP3 OH2 OT -.834000 15.9994 0 5136 BULK 1413 TIP3 H1 HT .417000 1.00800 0 5137 BULK 1413 TIP3 H2 HT .417000 1.00800 0 5138 BULK 1414 TIP3 OH2 OT -.834000 15.9994 0 5139 BULK 1414 TIP3 H1 HT .417000 1.00800 0 5140 BULK 1414 TIP3 H2 HT .417000 1.00800 0 5141 BULK 1415 TIP3 OH2 OT -.834000 15.9994 0 5142 BULK 1415 TIP3 H1 HT .417000 1.00800 0 5143 BULK 1415 TIP3 H2 HT .417000 1.00800 0 5144 BULK 1416 TIP3 OH2 OT -.834000 15.9994 0 5145 BULK 1416 TIP3 H1 HT .417000 1.00800 0 5146 BULK 1416 TIP3 H2 HT .417000 1.00800 0 5147 BULK 1417 TIP3 OH2 OT -.834000 15.9994 0 5148 BULK 1417 TIP3 H1 HT .417000 1.00800 0 5149 BULK 1417 TIP3 H2 HT .417000 1.00800 0 5150 BULK 1418 TIP3 OH2 OT -.834000 15.9994 0 5151 BULK 1418 TIP3 H1 HT .417000 1.00800 0 5152 BULK 1418 TIP3 H2 HT .417000 1.00800 0 5153 BULK 1419 TIP3 OH2 OT -.834000 15.9994 0 5154 BULK 1419 TIP3 H1 HT .417000 1.00800 0 5155 BULK 1419 TIP3 H2 HT .417000 1.00800 0 5156 BULK 1420 TIP3 OH2 OT -.834000 15.9994 0 5157 BULK 1420 TIP3 H1 HT .417000 1.00800 0 5158 BULK 1420 TIP3 H2 HT .417000 1.00800 0 5159 BULK 1421 TIP3 OH2 OT -.834000 15.9994 0 5160 BULK 1421 TIP3 H1 HT .417000 1.00800 0 5161 BULK 1421 TIP3 H2 HT .417000 1.00800 0 5162 BULK 1422 TIP3 OH2 OT -.834000 15.9994 0 5163 BULK 1422 TIP3 H1 HT .417000 1.00800 0 5164 BULK 1422 TIP3 H2 HT .417000 1.00800 0 5165 BULK 1423 TIP3 OH2 OT -.834000 15.9994 0 5166 BULK 1423 TIP3 H1 HT .417000 1.00800 0 5167 BULK 1423 TIP3 H2 HT .417000 1.00800 0 5168 BULK 1424 TIP3 OH2 OT -.834000 15.9994 0 5169 BULK 1424 TIP3 H1 HT .417000 1.00800 0 5170 BULK 1424 TIP3 H2 HT .417000 1.00800 0 5171 BULK 1425 TIP3 OH2 OT -.834000 15.9994 0 5172 BULK 1425 TIP3 H1 HT .417000 1.00800 0 5173 BULK 1425 TIP3 H2 HT .417000 1.00800 0 5174 BULK 1426 TIP3 OH2 OT -.834000 15.9994 0 5175 BULK 1426 TIP3 H1 HT .417000 1.00800 0 5176 BULK 1426 TIP3 H2 HT .417000 1.00800 0 5177 BULK 1427 TIP3 OH2 OT -.834000 15.9994 0 5178 BULK 1427 TIP3 H1 HT .417000 1.00800 0 5179 BULK 1427 TIP3 H2 HT .417000 1.00800 0 5180 BULK 1428 TIP3 OH2 OT -.834000 15.9994 0 5181 BULK 1428 TIP3 H1 HT .417000 1.00800 0 5182 BULK 1428 TIP3 H2 HT .417000 1.00800 0 5183 BULK 1429 TIP3 OH2 OT -.834000 15.9994 0 5184 BULK 1429 TIP3 H1 HT .417000 1.00800 0 5185 BULK 1429 TIP3 H2 HT .417000 1.00800 0 5186 BULK 1430 TIP3 OH2 OT -.834000 15.9994 0 5187 BULK 1430 TIP3 H1 HT .417000 1.00800 0 5188 BULK 1430 TIP3 H2 HT .417000 1.00800 0 5189 BULK 1431 TIP3 OH2 OT -.834000 15.9994 0 5190 BULK 1431 TIP3 H1 HT .417000 1.00800 0 5191 BULK 1431 TIP3 H2 HT .417000 1.00800 0 5192 BULK 1432 TIP3 OH2 OT -.834000 15.9994 0 5193 BULK 1432 TIP3 H1 HT .417000 1.00800 0 5194 BULK 1432 TIP3 H2 HT .417000 1.00800 0 5195 BULK 1433 TIP3 OH2 OT -.834000 15.9994 0 5196 BULK 1433 TIP3 H1 HT .417000 1.00800 0 5197 BULK 1433 TIP3 H2 HT .417000 1.00800 0 5198 BULK 1434 TIP3 OH2 OT -.834000 15.9994 0 5199 BULK 1434 TIP3 H1 HT .417000 1.00800 0 5200 BULK 1434 TIP3 H2 HT .417000 1.00800 0 5201 BULK 1435 TIP3 OH2 OT -.834000 15.9994 0 5202 BULK 1435 TIP3 H1 HT .417000 1.00800 0 5203 BULK 1435 TIP3 H2 HT .417000 1.00800 0 5204 BULK 1436 TIP3 OH2 OT -.834000 15.9994 0 5205 BULK 1436 TIP3 H1 HT .417000 1.00800 0 5206 BULK 1436 TIP3 H2 HT .417000 1.00800 0 5207 BULK 1437 TIP3 OH2 OT -.834000 15.9994 0 5208 BULK 1437 TIP3 H1 HT .417000 1.00800 0 5209 BULK 1437 TIP3 H2 HT .417000 1.00800 0 5210 BULK 1438 TIP3 OH2 OT -.834000 15.9994 0 5211 BULK 1438 TIP3 H1 HT .417000 1.00800 0 5212 BULK 1438 TIP3 H2 HT .417000 1.00800 0 5213 BULK 1439 TIP3 OH2 OT -.834000 15.9994 0 5214 BULK 1439 TIP3 H1 HT .417000 1.00800 0 5215 BULK 1439 TIP3 H2 HT .417000 1.00800 0 5216 BULK 1440 TIP3 OH2 OT -.834000 15.9994 0 5217 BULK 1440 TIP3 H1 HT .417000 1.00800 0 5218 BULK 1440 TIP3 H2 HT .417000 1.00800 0 5219 BULK 1441 TIP3 OH2 OT -.834000 15.9994 0 5220 BULK 1441 TIP3 H1 HT .417000 1.00800 0 5221 BULK 1441 TIP3 H2 HT .417000 1.00800 0 5222 BULK 1442 TIP3 OH2 OT -.834000 15.9994 0 5223 BULK 1442 TIP3 H1 HT .417000 1.00800 0 5224 BULK 1442 TIP3 H2 HT .417000 1.00800 0 5225 BULK 1443 TIP3 OH2 OT -.834000 15.9994 0 5226 BULK 1443 TIP3 H1 HT .417000 1.00800 0 5227 BULK 1443 TIP3 H2 HT .417000 1.00800 0 5228 BULK 1444 TIP3 OH2 OT -.834000 15.9994 0 5229 BULK 1444 TIP3 H1 HT .417000 1.00800 0 5230 BULK 1444 TIP3 H2 HT .417000 1.00800 0 5231 BULK 1445 TIP3 OH2 OT -.834000 15.9994 0 5232 BULK 1445 TIP3 H1 HT .417000 1.00800 0 5233 BULK 1445 TIP3 H2 HT .417000 1.00800 0 5234 BULK 1446 TIP3 OH2 OT -.834000 15.9994 0 5235 BULK 1446 TIP3 H1 HT .417000 1.00800 0 5236 BULK 1446 TIP3 H2 HT .417000 1.00800 0 5237 BULK 1447 TIP3 OH2 OT -.834000 15.9994 0 5238 BULK 1447 TIP3 H1 HT .417000 1.00800 0 5239 BULK 1447 TIP3 H2 HT .417000 1.00800 0 5240 BULK 1448 TIP3 OH2 OT -.834000 15.9994 0 5241 BULK 1448 TIP3 H1 HT .417000 1.00800 0 5242 BULK 1448 TIP3 H2 HT .417000 1.00800 0 5243 BULK 1449 TIP3 OH2 OT -.834000 15.9994 0 5244 BULK 1449 TIP3 H1 HT .417000 1.00800 0 5245 BULK 1449 TIP3 H2 HT .417000 1.00800 0 5246 BULK 1450 TIP3 OH2 OT -.834000 15.9994 0 5247 BULK 1450 TIP3 H1 HT .417000 1.00800 0 5248 BULK 1450 TIP3 H2 HT .417000 1.00800 0 5249 BULK 1451 TIP3 OH2 OT -.834000 15.9994 0 5250 BULK 1451 TIP3 H1 HT .417000 1.00800 0 5251 BULK 1451 TIP3 H2 HT .417000 1.00800 0 5252 BULK 1452 TIP3 OH2 OT -.834000 15.9994 0 5253 BULK 1452 TIP3 H1 HT .417000 1.00800 0 5254 BULK 1452 TIP3 H2 HT .417000 1.00800 0 5255 BULK 1453 TIP3 OH2 OT -.834000 15.9994 0 5256 BULK 1453 TIP3 H1 HT .417000 1.00800 0 5257 BULK 1453 TIP3 H2 HT .417000 1.00800 0 5258 BULK 1454 TIP3 OH2 OT -.834000 15.9994 0 5259 BULK 1454 TIP3 H1 HT .417000 1.00800 0 5260 BULK 1454 TIP3 H2 HT .417000 1.00800 0 5261 BULK 1455 TIP3 OH2 OT -.834000 15.9994 0 5262 BULK 1455 TIP3 H1 HT .417000 1.00800 0 5263 BULK 1455 TIP3 H2 HT .417000 1.00800 0 5264 BULK 1456 TIP3 OH2 OT -.834000 15.9994 0 5265 BULK 1456 TIP3 H1 HT .417000 1.00800 0 5266 BULK 1456 TIP3 H2 HT .417000 1.00800 0 5267 BULK 1457 TIP3 OH2 OT -.834000 15.9994 0 5268 BULK 1457 TIP3 H1 HT .417000 1.00800 0 5269 BULK 1457 TIP3 H2 HT .417000 1.00800 0 5270 BULK 1458 TIP3 OH2 OT -.834000 15.9994 0 5271 BULK 1458 TIP3 H1 HT .417000 1.00800 0 5272 BULK 1458 TIP3 H2 HT .417000 1.00800 0 5273 BULK 1459 TIP3 OH2 OT -.834000 15.9994 0 5274 BULK 1459 TIP3 H1 HT .417000 1.00800 0 5275 BULK 1459 TIP3 H2 HT .417000 1.00800 0 5276 BULK 1460 TIP3 OH2 OT -.834000 15.9994 0 5277 BULK 1460 TIP3 H1 HT .417000 1.00800 0 5278 BULK 1460 TIP3 H2 HT .417000 1.00800 0 5279 BULK 1461 TIP3 OH2 OT -.834000 15.9994 0 5280 BULK 1461 TIP3 H1 HT .417000 1.00800 0 5281 BULK 1461 TIP3 H2 HT .417000 1.00800 0 5282 BULK 1462 TIP3 OH2 OT -.834000 15.9994 0 5283 BULK 1462 TIP3 H1 HT .417000 1.00800 0 5284 BULK 1462 TIP3 H2 HT .417000 1.00800 0 5285 BULK 1463 TIP3 OH2 OT -.834000 15.9994 0 5286 BULK 1463 TIP3 H1 HT .417000 1.00800 0 5287 BULK 1463 TIP3 H2 HT .417000 1.00800 0 5288 BULK 1464 TIP3 OH2 OT -.834000 15.9994 0 5289 BULK 1464 TIP3 H1 HT .417000 1.00800 0 5290 BULK 1464 TIP3 H2 HT .417000 1.00800 0 5291 BULK 1465 TIP3 OH2 OT -.834000 15.9994 0 5292 BULK 1465 TIP3 H1 HT .417000 1.00800 0 5293 BULK 1465 TIP3 H2 HT .417000 1.00800 0 5294 BULK 1466 TIP3 OH2 OT -.834000 15.9994 0 5295 BULK 1466 TIP3 H1 HT .417000 1.00800 0 5296 BULK 1466 TIP3 H2 HT .417000 1.00800 0 5297 BULK 1467 TIP3 OH2 OT -.834000 15.9994 0 5298 BULK 1467 TIP3 H1 HT .417000 1.00800 0 5299 BULK 1467 TIP3 H2 HT .417000 1.00800 0 5300 BULK 1468 TIP3 OH2 OT -.834000 15.9994 0 5301 BULK 1468 TIP3 H1 HT .417000 1.00800 0 5302 BULK 1468 TIP3 H2 HT .417000 1.00800 0 5303 BULK 1469 TIP3 OH2 OT -.834000 15.9994 0 5304 BULK 1469 TIP3 H1 HT .417000 1.00800 0 5305 BULK 1469 TIP3 H2 HT .417000 1.00800 0 5306 BULK 1470 TIP3 OH2 OT -.834000 15.9994 0 5307 BULK 1470 TIP3 H1 HT .417000 1.00800 0 5308 BULK 1470 TIP3 H2 HT .417000 1.00800 0 5309 BULK 1471 TIP3 OH2 OT -.834000 15.9994 0 5310 BULK 1471 TIP3 H1 HT .417000 1.00800 0 5311 BULK 1471 TIP3 H2 HT .417000 1.00800 0 5312 BULK 1472 TIP3 OH2 OT -.834000 15.9994 0 5313 BULK 1472 TIP3 H1 HT .417000 1.00800 0 5314 BULK 1472 TIP3 H2 HT .417000 1.00800 0 5315 BULK 1473 TIP3 OH2 OT -.834000 15.9994 0 5316 BULK 1473 TIP3 H1 HT .417000 1.00800 0 5317 BULK 1473 TIP3 H2 HT .417000 1.00800 0 5318 BULK 1474 TIP3 OH2 OT -.834000 15.9994 0 5319 BULK 1474 TIP3 H1 HT .417000 1.00800 0 5320 BULK 1474 TIP3 H2 HT .417000 1.00800 0 5321 BULK 1475 TIP3 OH2 OT -.834000 15.9994 0 5322 BULK 1475 TIP3 H1 HT .417000 1.00800 0 5323 BULK 1475 TIP3 H2 HT .417000 1.00800 0 5324 BULK 1476 TIP3 OH2 OT -.834000 15.9994 0 5325 BULK 1476 TIP3 H1 HT .417000 1.00800 0 5326 BULK 1476 TIP3 H2 HT .417000 1.00800 0 5327 BULK 1477 TIP3 OH2 OT -.834000 15.9994 0 5328 BULK 1477 TIP3 H1 HT .417000 1.00800 0 5329 BULK 1477 TIP3 H2 HT .417000 1.00800 0 5330 BULK 1478 TIP3 OH2 OT -.834000 15.9994 0 5331 BULK 1478 TIP3 H1 HT .417000 1.00800 0 5332 BULK 1478 TIP3 H2 HT .417000 1.00800 0 5333 BULK 1479 TIP3 OH2 OT -.834000 15.9994 0 5334 BULK 1479 TIP3 H1 HT .417000 1.00800 0 5335 BULK 1479 TIP3 H2 HT .417000 1.00800 0 5336 BULK 1480 TIP3 OH2 OT -.834000 15.9994 0 5337 BULK 1480 TIP3 H1 HT .417000 1.00800 0 5338 BULK 1480 TIP3 H2 HT .417000 1.00800 0 5339 BULK 1481 TIP3 OH2 OT -.834000 15.9994 0 5340 BULK 1481 TIP3 H1 HT .417000 1.00800 0 5341 BULK 1481 TIP3 H2 HT .417000 1.00800 0 5342 BULK 1482 TIP3 OH2 OT -.834000 15.9994 0 5343 BULK 1482 TIP3 H1 HT .417000 1.00800 0 5344 BULK 1482 TIP3 H2 HT .417000 1.00800 0 5345 BULK 1483 TIP3 OH2 OT -.834000 15.9994 0 5346 BULK 1483 TIP3 H1 HT .417000 1.00800 0 5347 BULK 1483 TIP3 H2 HT .417000 1.00800 0 5348 BULK 1484 TIP3 OH2 OT -.834000 15.9994 0 5349 BULK 1484 TIP3 H1 HT .417000 1.00800 0 5350 BULK 1484 TIP3 H2 HT .417000 1.00800 0 5351 BULK 1485 TIP3 OH2 OT -.834000 15.9994 0 5352 BULK 1485 TIP3 H1 HT .417000 1.00800 0 5353 BULK 1485 TIP3 H2 HT .417000 1.00800 0 5354 BULK 1486 TIP3 OH2 OT -.834000 15.9994 0 5355 BULK 1486 TIP3 H1 HT .417000 1.00800 0 5356 BULK 1486 TIP3 H2 HT .417000 1.00800 0 5357 BULK 1487 TIP3 OH2 OT -.834000 15.9994 0 5358 BULK 1487 TIP3 H1 HT .417000 1.00800 0 5359 BULK 1487 TIP3 H2 HT .417000 1.00800 0 5360 BULK 1488 TIP3 OH2 OT -.834000 15.9994 0 5361 BULK 1488 TIP3 H1 HT .417000 1.00800 0 5362 BULK 1488 TIP3 H2 HT .417000 1.00800 0 5363 BULK 1489 TIP3 OH2 OT -.834000 15.9994 0 5364 BULK 1489 TIP3 H1 HT .417000 1.00800 0 5365 BULK 1489 TIP3 H2 HT .417000 1.00800 0 5366 BULK 1490 TIP3 OH2 OT -.834000 15.9994 0 5367 BULK 1490 TIP3 H1 HT .417000 1.00800 0 5368 BULK 1490 TIP3 H2 HT .417000 1.00800 0 5369 BULK 1491 TIP3 OH2 OT -.834000 15.9994 0 5370 BULK 1491 TIP3 H1 HT .417000 1.00800 0 5371 BULK 1491 TIP3 H2 HT .417000 1.00800 0 5372 BULK 1492 TIP3 OH2 OT -.834000 15.9994 0 5373 BULK 1492 TIP3 H1 HT .417000 1.00800 0 5374 BULK 1492 TIP3 H2 HT .417000 1.00800 0 5375 BULK 1493 TIP3 OH2 OT -.834000 15.9994 0 5376 BULK 1493 TIP3 H1 HT .417000 1.00800 0 5377 BULK 1493 TIP3 H2 HT .417000 1.00800 0 5378 BULK 1494 TIP3 OH2 OT -.834000 15.9994 0 5379 BULK 1494 TIP3 H1 HT .417000 1.00800 0 5380 BULK 1494 TIP3 H2 HT .417000 1.00800 0 5381 BULK 1495 TIP3 OH2 OT -.834000 15.9994 0 5382 BULK 1495 TIP3 H1 HT .417000 1.00800 0 5383 BULK 1495 TIP3 H2 HT .417000 1.00800 0 5384 BULK 1496 TIP3 OH2 OT -.834000 15.9994 0 5385 BULK 1496 TIP3 H1 HT .417000 1.00800 0 5386 BULK 1496 TIP3 H2 HT .417000 1.00800 0 5387 BULK 1497 TIP3 OH2 OT -.834000 15.9994 0 5388 BULK 1497 TIP3 H1 HT .417000 1.00800 0 5389 BULK 1497 TIP3 H2 HT .417000 1.00800 0 5390 BULK 1498 TIP3 OH2 OT -.834000 15.9994 0 5391 BULK 1498 TIP3 H1 HT .417000 1.00800 0 5392 BULK 1498 TIP3 H2 HT .417000 1.00800 0 5393 BULK 1499 TIP3 OH2 OT -.834000 15.9994 0 5394 BULK 1499 TIP3 H1 HT .417000 1.00800 0 5395 BULK 1499 TIP3 H2 HT .417000 1.00800 0 5396 BULK 1500 TIP3 OH2 OT -.834000 15.9994 0 5397 BULK 1500 TIP3 H1 HT .417000 1.00800 0 5398 BULK 1500 TIP3 H2 HT .417000 1.00800 0 5399 BULK 1501 TIP3 OH2 OT -.834000 15.9994 0 5400 BULK 1501 TIP3 H1 HT .417000 1.00800 0 5401 BULK 1501 TIP3 H2 HT .417000 1.00800 0 5402 BULK 1502 TIP3 OH2 OT -.834000 15.9994 0 5403 BULK 1502 TIP3 H1 HT .417000 1.00800 0 5404 BULK 1502 TIP3 H2 HT .417000 1.00800 0 5405 BULK 1503 TIP3 OH2 OT -.834000 15.9994 0 5406 BULK 1503 TIP3 H1 HT .417000 1.00800 0 5407 BULK 1503 TIP3 H2 HT .417000 1.00800 0 5408 BULK 1504 TIP3 OH2 OT -.834000 15.9994 0 5409 BULK 1504 TIP3 H1 HT .417000 1.00800 0 5410 BULK 1504 TIP3 H2 HT .417000 1.00800 0 5411 BULK 1505 TIP3 OH2 OT -.834000 15.9994 0 5412 BULK 1505 TIP3 H1 HT .417000 1.00800 0 5413 BULK 1505 TIP3 H2 HT .417000 1.00800 0 5414 BULK 1506 TIP3 OH2 OT -.834000 15.9994 0 5415 BULK 1506 TIP3 H1 HT .417000 1.00800 0 5416 BULK 1506 TIP3 H2 HT .417000 1.00800 0 5417 BULK 1507 TIP3 OH2 OT -.834000 15.9994 0 5418 BULK 1507 TIP3 H1 HT .417000 1.00800 0 5419 BULK 1507 TIP3 H2 HT .417000 1.00800 0 5420 BULK 1508 TIP3 OH2 OT -.834000 15.9994 0 5421 BULK 1508 TIP3 H1 HT .417000 1.00800 0 5422 BULK 1508 TIP3 H2 HT .417000 1.00800 0 5423 BULK 1509 TIP3 OH2 OT -.834000 15.9994 0 5424 BULK 1509 TIP3 H1 HT .417000 1.00800 0 5425 BULK 1509 TIP3 H2 HT .417000 1.00800 0 5426 BULK 1510 TIP3 OH2 OT -.834000 15.9994 0 5427 BULK 1510 TIP3 H1 HT .417000 1.00800 0 5428 BULK 1510 TIP3 H2 HT .417000 1.00800 0 5429 BULK 1511 TIP3 OH2 OT -.834000 15.9994 0 5430 BULK 1511 TIP3 H1 HT .417000 1.00800 0 5431 BULK 1511 TIP3 H2 HT .417000 1.00800 0 5432 BULK 1512 TIP3 OH2 OT -.834000 15.9994 0 5433 BULK 1512 TIP3 H1 HT .417000 1.00800 0 5434 BULK 1512 TIP3 H2 HT .417000 1.00800 0 5435 BULK 1513 TIP3 OH2 OT -.834000 15.9994 0 5436 BULK 1513 TIP3 H1 HT .417000 1.00800 0 5437 BULK 1513 TIP3 H2 HT .417000 1.00800 0 5438 BULK 1514 TIP3 OH2 OT -.834000 15.9994 0 5439 BULK 1514 TIP3 H1 HT .417000 1.00800 0 5440 BULK 1514 TIP3 H2 HT .417000 1.00800 0 5441 BULK 1515 TIP3 OH2 OT -.834000 15.9994 0 5442 BULK 1515 TIP3 H1 HT .417000 1.00800 0 5443 BULK 1515 TIP3 H2 HT .417000 1.00800 0 5444 BULK 1516 TIP3 OH2 OT -.834000 15.9994 0 5445 BULK 1516 TIP3 H1 HT .417000 1.00800 0 5446 BULK 1516 TIP3 H2 HT .417000 1.00800 0 5447 BULK 1517 TIP3 OH2 OT -.834000 15.9994 0 5448 BULK 1517 TIP3 H1 HT .417000 1.00800 0 5449 BULK 1517 TIP3 H2 HT .417000 1.00800 0 5450 BULK 1518 TIP3 OH2 OT -.834000 15.9994 0 5451 BULK 1518 TIP3 H1 HT .417000 1.00800 0 5452 BULK 1518 TIP3 H2 HT .417000 1.00800 0 5453 BULK 1519 TIP3 OH2 OT -.834000 15.9994 0 5454 BULK 1519 TIP3 H1 HT .417000 1.00800 0 5455 BULK 1519 TIP3 H2 HT .417000 1.00800 0 5456 BULK 1520 TIP3 OH2 OT -.834000 15.9994 0 5457 BULK 1520 TIP3 H1 HT .417000 1.00800 0 5458 BULK 1520 TIP3 H2 HT .417000 1.00800 0 5459 BULK 1521 TIP3 OH2 OT -.834000 15.9994 0 5460 BULK 1521 TIP3 H1 HT .417000 1.00800 0 5461 BULK 1521 TIP3 H2 HT .417000 1.00800 0 5462 BULK 1522 TIP3 OH2 OT -.834000 15.9994 0 5463 BULK 1522 TIP3 H1 HT .417000 1.00800 0 5464 BULK 1522 TIP3 H2 HT .417000 1.00800 0 5465 BULK 1523 TIP3 OH2 OT -.834000 15.9994 0 5466 BULK 1523 TIP3 H1 HT .417000 1.00800 0 5467 BULK 1523 TIP3 H2 HT .417000 1.00800 0 5468 BULK 1524 TIP3 OH2 OT -.834000 15.9994 0 5469 BULK 1524 TIP3 H1 HT .417000 1.00800 0 5470 BULK 1524 TIP3 H2 HT .417000 1.00800 0 5471 BULK 1525 TIP3 OH2 OT -.834000 15.9994 0 5472 BULK 1525 TIP3 H1 HT .417000 1.00800 0 5473 BULK 1525 TIP3 H2 HT .417000 1.00800 0 5474 BULK 1526 TIP3 OH2 OT -.834000 15.9994 0 5475 BULK 1526 TIP3 H1 HT .417000 1.00800 0 5476 BULK 1526 TIP3 H2 HT .417000 1.00800 0 5477 BULK 1527 TIP3 OH2 OT -.834000 15.9994 0 5478 BULK 1527 TIP3 H1 HT .417000 1.00800 0 5479 BULK 1527 TIP3 H2 HT .417000 1.00800 0 5480 BULK 1528 TIP3 OH2 OT -.834000 15.9994 0 5481 BULK 1528 TIP3 H1 HT .417000 1.00800 0 5482 BULK 1528 TIP3 H2 HT .417000 1.00800 0 5483 BULK 1529 TIP3 OH2 OT -.834000 15.9994 0 5484 BULK 1529 TIP3 H1 HT .417000 1.00800 0 5485 BULK 1529 TIP3 H2 HT .417000 1.00800 0 5486 BULK 1530 TIP3 OH2 OT -.834000 15.9994 0 5487 BULK 1530 TIP3 H1 HT .417000 1.00800 0 5488 BULK 1530 TIP3 H2 HT .417000 1.00800 0 5489 BULK 1531 TIP3 OH2 OT -.834000 15.9994 0 5490 BULK 1531 TIP3 H1 HT .417000 1.00800 0 5491 BULK 1531 TIP3 H2 HT .417000 1.00800 0 5492 BULK 1532 TIP3 OH2 OT -.834000 15.9994 0 5493 BULK 1532 TIP3 H1 HT .417000 1.00800 0 5494 BULK 1532 TIP3 H2 HT .417000 1.00800 0 5495 BULK 1533 TIP3 OH2 OT -.834000 15.9994 0 5496 BULK 1533 TIP3 H1 HT .417000 1.00800 0 5497 BULK 1533 TIP3 H2 HT .417000 1.00800 0 5498 BULK 1534 TIP3 OH2 OT -.834000 15.9994 0 5499 BULK 1534 TIP3 H1 HT .417000 1.00800 0 5500 BULK 1534 TIP3 H2 HT .417000 1.00800 0 5501 BULK 1535 TIP3 OH2 OT -.834000 15.9994 0 5502 BULK 1535 TIP3 H1 HT .417000 1.00800 0 5503 BULK 1535 TIP3 H2 HT .417000 1.00800 0 5504 BULK 1536 TIP3 OH2 OT -.834000 15.9994 0 5505 BULK 1536 TIP3 H1 HT .417000 1.00800 0 5506 BULK 1536 TIP3 H2 HT .417000 1.00800 0 5507 BULK 1537 TIP3 OH2 OT -.834000 15.9994 0 5508 BULK 1537 TIP3 H1 HT .417000 1.00800 0 5509 BULK 1537 TIP3 H2 HT .417000 1.00800 0 5510 BULK 1538 TIP3 OH2 OT -.834000 15.9994 0 5511 BULK 1538 TIP3 H1 HT .417000 1.00800 0 5512 BULK 1538 TIP3 H2 HT .417000 1.00800 0 5513 BULK 1539 TIP3 OH2 OT -.834000 15.9994 0 5514 BULK 1539 TIP3 H1 HT .417000 1.00800 0 5515 BULK 1539 TIP3 H2 HT .417000 1.00800 0 5516 BULK 1540 TIP3 OH2 OT -.834000 15.9994 0 5517 BULK 1540 TIP3 H1 HT .417000 1.00800 0 5518 BULK 1540 TIP3 H2 HT .417000 1.00800 0 5519 BULK 1541 TIP3 OH2 OT -.834000 15.9994 0 5520 BULK 1541 TIP3 H1 HT .417000 1.00800 0 5521 BULK 1541 TIP3 H2 HT .417000 1.00800 0 5522 BULK 1542 TIP3 OH2 OT -.834000 15.9994 0 5523 BULK 1542 TIP3 H1 HT .417000 1.00800 0 5524 BULK 1542 TIP3 H2 HT .417000 1.00800 0 5525 BULK 1543 TIP3 OH2 OT -.834000 15.9994 0 5526 BULK 1543 TIP3 H1 HT .417000 1.00800 0 5527 BULK 1543 TIP3 H2 HT .417000 1.00800 0 5528 BULK 1544 TIP3 OH2 OT -.834000 15.9994 0 5529 BULK 1544 TIP3 H1 HT .417000 1.00800 0 5530 BULK 1544 TIP3 H2 HT .417000 1.00800 0 5531 BULK 1545 TIP3 OH2 OT -.834000 15.9994 0 5532 BULK 1545 TIP3 H1 HT .417000 1.00800 0 5533 BULK 1545 TIP3 H2 HT .417000 1.00800 0 5534 BULK 1546 TIP3 OH2 OT -.834000 15.9994 0 5535 BULK 1546 TIP3 H1 HT .417000 1.00800 0 5536 BULK 1546 TIP3 H2 HT .417000 1.00800 0 5537 BULK 1547 TIP3 OH2 OT -.834000 15.9994 0 5538 BULK 1547 TIP3 H1 HT .417000 1.00800 0 5539 BULK 1547 TIP3 H2 HT .417000 1.00800 0 5540 BULK 1548 TIP3 OH2 OT -.834000 15.9994 0 5541 BULK 1548 TIP3 H1 HT .417000 1.00800 0 5542 BULK 1548 TIP3 H2 HT .417000 1.00800 0 5543 BULK 1549 TIP3 OH2 OT -.834000 15.9994 0 5544 BULK 1549 TIP3 H1 HT .417000 1.00800 0 5545 BULK 1549 TIP3 H2 HT .417000 1.00800 0 5546 BULK 1550 TIP3 OH2 OT -.834000 15.9994 0 5547 BULK 1550 TIP3 H1 HT .417000 1.00800 0 5548 BULK 1550 TIP3 H2 HT .417000 1.00800 0 5549 BULK 1551 TIP3 OH2 OT -.834000 15.9994 0 5550 BULK 1551 TIP3 H1 HT .417000 1.00800 0 5551 BULK 1551 TIP3 H2 HT .417000 1.00800 0 5552 BULK 1552 TIP3 OH2 OT -.834000 15.9994 0 5553 BULK 1552 TIP3 H1 HT .417000 1.00800 0 5554 BULK 1552 TIP3 H2 HT .417000 1.00800 0 5555 BULK 1553 TIP3 OH2 OT -.834000 15.9994 0 5556 BULK 1553 TIP3 H1 HT .417000 1.00800 0 5557 BULK 1553 TIP3 H2 HT .417000 1.00800 0 5558 BULK 1554 TIP3 OH2 OT -.834000 15.9994 0 5559 BULK 1554 TIP3 H1 HT .417000 1.00800 0 5560 BULK 1554 TIP3 H2 HT .417000 1.00800 0 5561 BULK 1555 TIP3 OH2 OT -.834000 15.9994 0 5562 BULK 1555 TIP3 H1 HT .417000 1.00800 0 5563 BULK 1555 TIP3 H2 HT .417000 1.00800 0 5564 BULK 1556 TIP3 OH2 OT -.834000 15.9994 0 5565 BULK 1556 TIP3 H1 HT .417000 1.00800 0 5566 BULK 1556 TIP3 H2 HT .417000 1.00800 0 5567 BULK 1557 TIP3 OH2 OT -.834000 15.9994 0 5568 BULK 1557 TIP3 H1 HT .417000 1.00800 0 5569 BULK 1557 TIP3 H2 HT .417000 1.00800 0 5570 BULK 1558 TIP3 OH2 OT -.834000 15.9994 0 5571 BULK 1558 TIP3 H1 HT .417000 1.00800 0 5572 BULK 1558 TIP3 H2 HT .417000 1.00800 0 5573 BULK 1559 TIP3 OH2 OT -.834000 15.9994 0 5574 BULK 1559 TIP3 H1 HT .417000 1.00800 0 5575 BULK 1559 TIP3 H2 HT .417000 1.00800 0 5576 BULK 1560 TIP3 OH2 OT -.834000 15.9994 0 5577 BULK 1560 TIP3 H1 HT .417000 1.00800 0 5578 BULK 1560 TIP3 H2 HT .417000 1.00800 0 5579 BULK 1561 TIP3 OH2 OT -.834000 15.9994 0 5580 BULK 1561 TIP3 H1 HT .417000 1.00800 0 5581 BULK 1561 TIP3 H2 HT .417000 1.00800 0 5582 BULK 1562 TIP3 OH2 OT -.834000 15.9994 0 5583 BULK 1562 TIP3 H1 HT .417000 1.00800 0 5584 BULK 1562 TIP3 H2 HT .417000 1.00800 0 5585 BULK 1563 TIP3 OH2 OT -.834000 15.9994 0 5586 BULK 1563 TIP3 H1 HT .417000 1.00800 0 5587 BULK 1563 TIP3 H2 HT .417000 1.00800 0 5588 BULK 1564 TIP3 OH2 OT -.834000 15.9994 0 5589 BULK 1564 TIP3 H1 HT .417000 1.00800 0 5590 BULK 1564 TIP3 H2 HT .417000 1.00800 0 5591 BULK 1565 TIP3 OH2 OT -.834000 15.9994 0 5592 BULK 1565 TIP3 H1 HT .417000 1.00800 0 5593 BULK 1565 TIP3 H2 HT .417000 1.00800 0 5594 BULK 1566 TIP3 OH2 OT -.834000 15.9994 0 5595 BULK 1566 TIP3 H1 HT .417000 1.00800 0 5596 BULK 1566 TIP3 H2 HT .417000 1.00800 0 5597 BULK 1567 TIP3 OH2 OT -.834000 15.9994 0 5598 BULK 1567 TIP3 H1 HT .417000 1.00800 0 5599 BULK 1567 TIP3 H2 HT .417000 1.00800 0 5600 BULK 1568 TIP3 OH2 OT -.834000 15.9994 0 5601 BULK 1568 TIP3 H1 HT .417000 1.00800 0 5602 BULK 1568 TIP3 H2 HT .417000 1.00800 0 5603 BULK 1569 TIP3 OH2 OT -.834000 15.9994 0 5604 BULK 1569 TIP3 H1 HT .417000 1.00800 0 5605 BULK 1569 TIP3 H2 HT .417000 1.00800 0 5606 BULK 1570 TIP3 OH2 OT -.834000 15.9994 0 5607 BULK 1570 TIP3 H1 HT .417000 1.00800 0 5608 BULK 1570 TIP3 H2 HT .417000 1.00800 0 5609 BULK 1571 TIP3 OH2 OT -.834000 15.9994 0 5610 BULK 1571 TIP3 H1 HT .417000 1.00800 0 5611 BULK 1571 TIP3 H2 HT .417000 1.00800 0 5612 BULK 1572 TIP3 OH2 OT -.834000 15.9994 0 5613 BULK 1572 TIP3 H1 HT .417000 1.00800 0 5614 BULK 1572 TIP3 H2 HT .417000 1.00800 0 5615 BULK 1573 TIP3 OH2 OT -.834000 15.9994 0 5616 BULK 1573 TIP3 H1 HT .417000 1.00800 0 5617 BULK 1573 TIP3 H2 HT .417000 1.00800 0 5618 BULK 1574 TIP3 OH2 OT -.834000 15.9994 0 5619 BULK 1574 TIP3 H1 HT .417000 1.00800 0 5620 BULK 1574 TIP3 H2 HT .417000 1.00800 0 5621 BULK 1575 TIP3 OH2 OT -.834000 15.9994 0 5622 BULK 1575 TIP3 H1 HT .417000 1.00800 0 5623 BULK 1575 TIP3 H2 HT .417000 1.00800 0 5624 BULK 1576 TIP3 OH2 OT -.834000 15.9994 0 5625 BULK 1576 TIP3 H1 HT .417000 1.00800 0 5626 BULK 1576 TIP3 H2 HT .417000 1.00800 0 5627 BULK 1577 TIP3 OH2 OT -.834000 15.9994 0 5628 BULK 1577 TIP3 H1 HT .417000 1.00800 0 5629 BULK 1577 TIP3 H2 HT .417000 1.00800 0 5630 BULK 1578 TIP3 OH2 OT -.834000 15.9994 0 5631 BULK 1578 TIP3 H1 HT .417000 1.00800 0 5632 BULK 1578 TIP3 H2 HT .417000 1.00800 0 5633 BULK 1579 TIP3 OH2 OT -.834000 15.9994 0 5634 BULK 1579 TIP3 H1 HT .417000 1.00800 0 5635 BULK 1579 TIP3 H2 HT .417000 1.00800 0 5636 BULK 1580 TIP3 OH2 OT -.834000 15.9994 0 5637 BULK 1580 TIP3 H1 HT .417000 1.00800 0 5638 BULK 1580 TIP3 H2 HT .417000 1.00800 0 5639 BULK 1581 TIP3 OH2 OT -.834000 15.9994 0 5640 BULK 1581 TIP3 H1 HT .417000 1.00800 0 5641 BULK 1581 TIP3 H2 HT .417000 1.00800 0 5642 BULK 1582 TIP3 OH2 OT -.834000 15.9994 0 5643 BULK 1582 TIP3 H1 HT .417000 1.00800 0 5644 BULK 1582 TIP3 H2 HT .417000 1.00800 0 5645 BULK 1583 TIP3 OH2 OT -.834000 15.9994 0 5646 BULK 1583 TIP3 H1 HT .417000 1.00800 0 5647 BULK 1583 TIP3 H2 HT .417000 1.00800 0 5648 BULK 1584 TIP3 OH2 OT -.834000 15.9994 0 5649 BULK 1584 TIP3 H1 HT .417000 1.00800 0 5650 BULK 1584 TIP3 H2 HT .417000 1.00800 0 5651 BULK 1585 TIP3 OH2 OT -.834000 15.9994 0 5652 BULK 1585 TIP3 H1 HT .417000 1.00800 0 5653 BULK 1585 TIP3 H2 HT .417000 1.00800 0 5654 BULK 1586 TIP3 OH2 OT -.834000 15.9994 0 5655 BULK 1586 TIP3 H1 HT .417000 1.00800 0 5656 BULK 1586 TIP3 H2 HT .417000 1.00800 0 5657 BULK 1587 TIP3 OH2 OT -.834000 15.9994 0 5658 BULK 1587 TIP3 H1 HT .417000 1.00800 0 5659 BULK 1587 TIP3 H2 HT .417000 1.00800 0 5660 BULK 1588 TIP3 OH2 OT -.834000 15.9994 0 5661 BULK 1588 TIP3 H1 HT .417000 1.00800 0 5662 BULK 1588 TIP3 H2 HT .417000 1.00800 0 5663 BULK 1589 TIP3 OH2 OT -.834000 15.9994 0 5664 BULK 1589 TIP3 H1 HT .417000 1.00800 0 5665 BULK 1589 TIP3 H2 HT .417000 1.00800 0 5666 BULK 1590 TIP3 OH2 OT -.834000 15.9994 0 5667 BULK 1590 TIP3 H1 HT .417000 1.00800 0 5668 BULK 1590 TIP3 H2 HT .417000 1.00800 0 5669 BULK 1591 TIP3 OH2 OT -.834000 15.9994 0 5670 BULK 1591 TIP3 H1 HT .417000 1.00800 0 5671 BULK 1591 TIP3 H2 HT .417000 1.00800 0 5672 BULK 1592 TIP3 OH2 OT -.834000 15.9994 0 5673 BULK 1592 TIP3 H1 HT .417000 1.00800 0 5674 BULK 1592 TIP3 H2 HT .417000 1.00800 0 5675 BULK 1593 TIP3 OH2 OT -.834000 15.9994 0 5676 BULK 1593 TIP3 H1 HT .417000 1.00800 0 5677 BULK 1593 TIP3 H2 HT .417000 1.00800 0 5678 BULK 1594 TIP3 OH2 OT -.834000 15.9994 0 5679 BULK 1594 TIP3 H1 HT .417000 1.00800 0 5680 BULK 1594 TIP3 H2 HT .417000 1.00800 0 5681 BULK 1595 TIP3 OH2 OT -.834000 15.9994 0 5682 BULK 1595 TIP3 H1 HT .417000 1.00800 0 5683 BULK 1595 TIP3 H2 HT .417000 1.00800 0 5684 BULK 1596 TIP3 OH2 OT -.834000 15.9994 0 5685 BULK 1596 TIP3 H1 HT .417000 1.00800 0 5686 BULK 1596 TIP3 H2 HT .417000 1.00800 0 5687 BULK 1597 TIP3 OH2 OT -.834000 15.9994 0 5688 BULK 1597 TIP3 H1 HT .417000 1.00800 0 5689 BULK 1597 TIP3 H2 HT .417000 1.00800 0 5690 BULK 1598 TIP3 OH2 OT -.834000 15.9994 0 5691 BULK 1598 TIP3 H1 HT .417000 1.00800 0 5692 BULK 1598 TIP3 H2 HT .417000 1.00800 0 5693 BULK 1599 TIP3 OH2 OT -.834000 15.9994 0 5694 BULK 1599 TIP3 H1 HT .417000 1.00800 0 5695 BULK 1599 TIP3 H2 HT .417000 1.00800 0 5696 BULK 1600 TIP3 OH2 OT -.834000 15.9994 0 5697 BULK 1600 TIP3 H1 HT .417000 1.00800 0 5698 BULK 1600 TIP3 H2 HT .417000 1.00800 0 5699 BULK 1601 TIP3 OH2 OT -.834000 15.9994 0 5700 BULK 1601 TIP3 H1 HT .417000 1.00800 0 5701 BULK 1601 TIP3 H2 HT .417000 1.00800 0 5702 BULK 1602 TIP3 OH2 OT -.834000 15.9994 0 5703 BULK 1602 TIP3 H1 HT .417000 1.00800 0 5704 BULK 1602 TIP3 H2 HT .417000 1.00800 0 5705 BULK 1603 TIP3 OH2 OT -.834000 15.9994 0 5706 BULK 1603 TIP3 H1 HT .417000 1.00800 0 5707 BULK 1603 TIP3 H2 HT .417000 1.00800 0 5708 BULK 1604 TIP3 OH2 OT -.834000 15.9994 0 5709 BULK 1604 TIP3 H1 HT .417000 1.00800 0 5710 BULK 1604 TIP3 H2 HT .417000 1.00800 0 5711 BULK 1605 TIP3 OH2 OT -.834000 15.9994 0 5712 BULK 1605 TIP3 H1 HT .417000 1.00800 0 5713 BULK 1605 TIP3 H2 HT .417000 1.00800 0 5714 BULK 1606 TIP3 OH2 OT -.834000 15.9994 0 5715 BULK 1606 TIP3 H1 HT .417000 1.00800 0 5716 BULK 1606 TIP3 H2 HT .417000 1.00800 0 5717 BULK 1607 TIP3 OH2 OT -.834000 15.9994 0 5718 BULK 1607 TIP3 H1 HT .417000 1.00800 0 5719 BULK 1607 TIP3 H2 HT .417000 1.00800 0 5720 BULK 1608 TIP3 OH2 OT -.834000 15.9994 0 5721 BULK 1608 TIP3 H1 HT .417000 1.00800 0 5722 BULK 1608 TIP3 H2 HT .417000 1.00800 0 5723 BULK 1609 TIP3 OH2 OT -.834000 15.9994 0 5724 BULK 1609 TIP3 H1 HT .417000 1.00800 0 5725 BULK 1609 TIP3 H2 HT .417000 1.00800 0 5726 BULK 1610 TIP3 OH2 OT -.834000 15.9994 0 5727 BULK 1610 TIP3 H1 HT .417000 1.00800 0 5728 BULK 1610 TIP3 H2 HT .417000 1.00800 0 5729 BULK 1611 TIP3 OH2 OT -.834000 15.9994 0 5730 BULK 1611 TIP3 H1 HT .417000 1.00800 0 5731 BULK 1611 TIP3 H2 HT .417000 1.00800 0 5732 BULK 1612 TIP3 OH2 OT -.834000 15.9994 0 5733 BULK 1612 TIP3 H1 HT .417000 1.00800 0 5734 BULK 1612 TIP3 H2 HT .417000 1.00800 0 5735 BULK 1613 TIP3 OH2 OT -.834000 15.9994 0 5736 BULK 1613 TIP3 H1 HT .417000 1.00800 0 5737 BULK 1613 TIP3 H2 HT .417000 1.00800 0 5738 BULK 1614 TIP3 OH2 OT -.834000 15.9994 0 5739 BULK 1614 TIP3 H1 HT .417000 1.00800 0 5740 BULK 1614 TIP3 H2 HT .417000 1.00800 0 5741 BULK 1615 TIP3 OH2 OT -.834000 15.9994 0 5742 BULK 1615 TIP3 H1 HT .417000 1.00800 0 5743 BULK 1615 TIP3 H2 HT .417000 1.00800 0 5744 BULK 1616 TIP3 OH2 OT -.834000 15.9994 0 5745 BULK 1616 TIP3 H1 HT .417000 1.00800 0 5746 BULK 1616 TIP3 H2 HT .417000 1.00800 0 5747 BULK 1617 TIP3 OH2 OT -.834000 15.9994 0 5748 BULK 1617 TIP3 H1 HT .417000 1.00800 0 5749 BULK 1617 TIP3 H2 HT .417000 1.00800 0 5750 BULK 1618 TIP3 OH2 OT -.834000 15.9994 0 5751 BULK 1618 TIP3 H1 HT .417000 1.00800 0 5752 BULK 1618 TIP3 H2 HT .417000 1.00800 0 5753 BULK 1619 TIP3 OH2 OT -.834000 15.9994 0 5754 BULK 1619 TIP3 H1 HT .417000 1.00800 0 5755 BULK 1619 TIP3 H2 HT .417000 1.00800 0 5756 BULK 1620 TIP3 OH2 OT -.834000 15.9994 0 5757 BULK 1620 TIP3 H1 HT .417000 1.00800 0 5758 BULK 1620 TIP3 H2 HT .417000 1.00800 0 5759 BULK 1621 TIP3 OH2 OT -.834000 15.9994 0 5760 BULK 1621 TIP3 H1 HT .417000 1.00800 0 5761 BULK 1621 TIP3 H2 HT .417000 1.00800 0 5762 BULK 1622 TIP3 OH2 OT -.834000 15.9994 0 5763 BULK 1622 TIP3 H1 HT .417000 1.00800 0 5764 BULK 1622 TIP3 H2 HT .417000 1.00800 0 5765 BULK 1623 TIP3 OH2 OT -.834000 15.9994 0 5766 BULK 1623 TIP3 H1 HT .417000 1.00800 0 5767 BULK 1623 TIP3 H2 HT .417000 1.00800 0 5768 BULK 1624 TIP3 OH2 OT -.834000 15.9994 0 5769 BULK 1624 TIP3 H1 HT .417000 1.00800 0 5770 BULK 1624 TIP3 H2 HT .417000 1.00800 0 5771 BULK 1625 TIP3 OH2 OT -.834000 15.9994 0 5772 BULK 1625 TIP3 H1 HT .417000 1.00800 0 5773 BULK 1625 TIP3 H2 HT .417000 1.00800 0 5774 BULK 1626 TIP3 OH2 OT -.834000 15.9994 0 5775 BULK 1626 TIP3 H1 HT .417000 1.00800 0 5776 BULK 1626 TIP3 H2 HT .417000 1.00800 0 5777 BULK 1627 TIP3 OH2 OT -.834000 15.9994 0 5778 BULK 1627 TIP3 H1 HT .417000 1.00800 0 5779 BULK 1627 TIP3 H2 HT .417000 1.00800 0 5780 BULK 1628 TIP3 OH2 OT -.834000 15.9994 0 5781 BULK 1628 TIP3 H1 HT .417000 1.00800 0 5782 BULK 1628 TIP3 H2 HT .417000 1.00800 0 5783 BULK 1629 TIP3 OH2 OT -.834000 15.9994 0 5784 BULK 1629 TIP3 H1 HT .417000 1.00800 0 5785 BULK 1629 TIP3 H2 HT .417000 1.00800 0 5786 BULK 1630 TIP3 OH2 OT -.834000 15.9994 0 5787 BULK 1630 TIP3 H1 HT .417000 1.00800 0 5788 BULK 1630 TIP3 H2 HT .417000 1.00800 0 5789 BULK 1631 TIP3 OH2 OT -.834000 15.9994 0 5790 BULK 1631 TIP3 H1 HT .417000 1.00800 0 5791 BULK 1631 TIP3 H2 HT .417000 1.00800 0 5792 BULK 1632 TIP3 OH2 OT -.834000 15.9994 0 5793 BULK 1632 TIP3 H1 HT .417000 1.00800 0 5794 BULK 1632 TIP3 H2 HT .417000 1.00800 0 5795 BULK 1633 TIP3 OH2 OT -.834000 15.9994 0 5796 BULK 1633 TIP3 H1 HT .417000 1.00800 0 5797 BULK 1633 TIP3 H2 HT .417000 1.00800 0 5798 BULK 1634 TIP3 OH2 OT -.834000 15.9994 0 5799 BULK 1634 TIP3 H1 HT .417000 1.00800 0 5800 BULK 1634 TIP3 H2 HT .417000 1.00800 0 5801 BULK 1635 TIP3 OH2 OT -.834000 15.9994 0 5802 BULK 1635 TIP3 H1 HT .417000 1.00800 0 5803 BULK 1635 TIP3 H2 HT .417000 1.00800 0 5804 BULK 1636 TIP3 OH2 OT -.834000 15.9994 0 5805 BULK 1636 TIP3 H1 HT .417000 1.00800 0 5806 BULK 1636 TIP3 H2 HT .417000 1.00800 0 5807 BULK 1637 TIP3 OH2 OT -.834000 15.9994 0 5808 BULK 1637 TIP3 H1 HT .417000 1.00800 0 5809 BULK 1637 TIP3 H2 HT .417000 1.00800 0 5810 BULK 1638 TIP3 OH2 OT -.834000 15.9994 0 5811 BULK 1638 TIP3 H1 HT .417000 1.00800 0 5812 BULK 1638 TIP3 H2 HT .417000 1.00800 0 5813 BULK 1639 TIP3 OH2 OT -.834000 15.9994 0 5814 BULK 1639 TIP3 H1 HT .417000 1.00800 0 5815 BULK 1639 TIP3 H2 HT .417000 1.00800 0 5816 BULK 1640 TIP3 OH2 OT -.834000 15.9994 0 5817 BULK 1640 TIP3 H1 HT .417000 1.00800 0 5818 BULK 1640 TIP3 H2 HT .417000 1.00800 0 5819 BULK 1641 TIP3 OH2 OT -.834000 15.9994 0 5820 BULK 1641 TIP3 H1 HT .417000 1.00800 0 5821 BULK 1641 TIP3 H2 HT .417000 1.00800 0 5822 BULK 1642 TIP3 OH2 OT -.834000 15.9994 0 5823 BULK 1642 TIP3 H1 HT .417000 1.00800 0 5824 BULK 1642 TIP3 H2 HT .417000 1.00800 0 5825 BULK 1643 TIP3 OH2 OT -.834000 15.9994 0 5826 BULK 1643 TIP3 H1 HT .417000 1.00800 0 5827 BULK 1643 TIP3 H2 HT .417000 1.00800 0 5828 BULK 1644 TIP3 OH2 OT -.834000 15.9994 0 5829 BULK 1644 TIP3 H1 HT .417000 1.00800 0 5830 BULK 1644 TIP3 H2 HT .417000 1.00800 0 5831 BULK 1645 TIP3 OH2 OT -.834000 15.9994 0 5832 BULK 1645 TIP3 H1 HT .417000 1.00800 0 5833 BULK 1645 TIP3 H2 HT .417000 1.00800 0 5834 BULK 1646 TIP3 OH2 OT -.834000 15.9994 0 5835 BULK 1646 TIP3 H1 HT .417000 1.00800 0 5836 BULK 1646 TIP3 H2 HT .417000 1.00800 0 5837 BULK 1647 TIP3 OH2 OT -.834000 15.9994 0 5838 BULK 1647 TIP3 H1 HT .417000 1.00800 0 5839 BULK 1647 TIP3 H2 HT .417000 1.00800 0 5840 BULK 1648 TIP3 OH2 OT -.834000 15.9994 0 5841 BULK 1648 TIP3 H1 HT .417000 1.00800 0 5842 BULK 1648 TIP3 H2 HT .417000 1.00800 0 5843 BULK 1649 TIP3 OH2 OT -.834000 15.9994 0 5844 BULK 1649 TIP3 H1 HT .417000 1.00800 0 5845 BULK 1649 TIP3 H2 HT .417000 1.00800 0 5846 BULK 1650 TIP3 OH2 OT -.834000 15.9994 0 5847 BULK 1650 TIP3 H1 HT .417000 1.00800 0 5848 BULK 1650 TIP3 H2 HT .417000 1.00800 0 5849 BULK 1651 TIP3 OH2 OT -.834000 15.9994 0 5850 BULK 1651 TIP3 H1 HT .417000 1.00800 0 5851 BULK 1651 TIP3 H2 HT .417000 1.00800 0 5852 BULK 1652 TIP3 OH2 OT -.834000 15.9994 0 5853 BULK 1652 TIP3 H1 HT .417000 1.00800 0 5854 BULK 1652 TIP3 H2 HT .417000 1.00800 0 5855 BULK 1653 TIP3 OH2 OT -.834000 15.9994 0 5856 BULK 1653 TIP3 H1 HT .417000 1.00800 0 5857 BULK 1653 TIP3 H2 HT .417000 1.00800 0 5858 BULK 1654 TIP3 OH2 OT -.834000 15.9994 0 5859 BULK 1654 TIP3 H1 HT .417000 1.00800 0 5860 BULK 1654 TIP3 H2 HT .417000 1.00800 0 5861 BULK 1655 TIP3 OH2 OT -.834000 15.9994 0 5862 BULK 1655 TIP3 H1 HT .417000 1.00800 0 5863 BULK 1655 TIP3 H2 HT .417000 1.00800 0 5864 BULK 1656 TIP3 OH2 OT -.834000 15.9994 0 5865 BULK 1656 TIP3 H1 HT .417000 1.00800 0 5866 BULK 1656 TIP3 H2 HT .417000 1.00800 0 5867 BULK 1657 TIP3 OH2 OT -.834000 15.9994 0 5868 BULK 1657 TIP3 H1 HT .417000 1.00800 0 5869 BULK 1657 TIP3 H2 HT .417000 1.00800 0 5870 BULK 1658 TIP3 OH2 OT -.834000 15.9994 0 5871 BULK 1658 TIP3 H1 HT .417000 1.00800 0 5872 BULK 1658 TIP3 H2 HT .417000 1.00800 0 5873 BULK 1659 TIP3 OH2 OT -.834000 15.9994 0 5874 BULK 1659 TIP3 H1 HT .417000 1.00800 0 5875 BULK 1659 TIP3 H2 HT .417000 1.00800 0 5876 BULK 1660 TIP3 OH2 OT -.834000 15.9994 0 5877 BULK 1660 TIP3 H1 HT .417000 1.00800 0 5878 BULK 1660 TIP3 H2 HT .417000 1.00800 0 5879 BULK 1661 TIP3 OH2 OT -.834000 15.9994 0 5880 BULK 1661 TIP3 H1 HT .417000 1.00800 0 5881 BULK 1661 TIP3 H2 HT .417000 1.00800 0 5882 BULK 1662 TIP3 OH2 OT -.834000 15.9994 0 5883 BULK 1662 TIP3 H1 HT .417000 1.00800 0 5884 BULK 1662 TIP3 H2 HT .417000 1.00800 0 5885 BULK 1663 TIP3 OH2 OT -.834000 15.9994 0 5886 BULK 1663 TIP3 H1 HT .417000 1.00800 0 5887 BULK 1663 TIP3 H2 HT .417000 1.00800 0 5888 BULK 1664 TIP3 OH2 OT -.834000 15.9994 0 5889 BULK 1664 TIP3 H1 HT .417000 1.00800 0 5890 BULK 1664 TIP3 H2 HT .417000 1.00800 0 5891 BULK 1665 TIP3 OH2 OT -.834000 15.9994 0 5892 BULK 1665 TIP3 H1 HT .417000 1.00800 0 5893 BULK 1665 TIP3 H2 HT .417000 1.00800 0 5894 BULK 1666 TIP3 OH2 OT -.834000 15.9994 0 5895 BULK 1666 TIP3 H1 HT .417000 1.00800 0 5896 BULK 1666 TIP3 H2 HT .417000 1.00800 0 5897 BULK 1667 TIP3 OH2 OT -.834000 15.9994 0 5898 BULK 1667 TIP3 H1 HT .417000 1.00800 0 5899 BULK 1667 TIP3 H2 HT .417000 1.00800 0 5900 BULK 1668 TIP3 OH2 OT -.834000 15.9994 0 5901 BULK 1668 TIP3 H1 HT .417000 1.00800 0 5902 BULK 1668 TIP3 H2 HT .417000 1.00800 0 5903 BULK 1669 TIP3 OH2 OT -.834000 15.9994 0 5904 BULK 1669 TIP3 H1 HT .417000 1.00800 0 5905 BULK 1669 TIP3 H2 HT .417000 1.00800 0 5906 BULK 1670 TIP3 OH2 OT -.834000 15.9994 0 5907 BULK 1670 TIP3 H1 HT .417000 1.00800 0 5908 BULK 1670 TIP3 H2 HT .417000 1.00800 0 5909 BULK 1671 TIP3 OH2 OT -.834000 15.9994 0 5910 BULK 1671 TIP3 H1 HT .417000 1.00800 0 5911 BULK 1671 TIP3 H2 HT .417000 1.00800 0 5912 BULK 1672 TIP3 OH2 OT -.834000 15.9994 0 5913 BULK 1672 TIP3 H1 HT .417000 1.00800 0 5914 BULK 1672 TIP3 H2 HT .417000 1.00800 0 5915 BULK 1673 TIP3 OH2 OT -.834000 15.9994 0 5916 BULK 1673 TIP3 H1 HT .417000 1.00800 0 5917 BULK 1673 TIP3 H2 HT .417000 1.00800 0 5918 BULK 1674 TIP3 OH2 OT -.834000 15.9994 0 5919 BULK 1674 TIP3 H1 HT .417000 1.00800 0 5920 BULK 1674 TIP3 H2 HT .417000 1.00800 0 5921 BULK 1675 TIP3 OH2 OT -.834000 15.9994 0 5922 BULK 1675 TIP3 H1 HT .417000 1.00800 0 5923 BULK 1675 TIP3 H2 HT .417000 1.00800 0 5924 BULK 1676 TIP3 OH2 OT -.834000 15.9994 0 5925 BULK 1676 TIP3 H1 HT .417000 1.00800 0 5926 BULK 1676 TIP3 H2 HT .417000 1.00800 0 5927 BULK 1677 TIP3 OH2 OT -.834000 15.9994 0 5928 BULK 1677 TIP3 H1 HT .417000 1.00800 0 5929 BULK 1677 TIP3 H2 HT .417000 1.00800 0 5930 BULK 1678 TIP3 OH2 OT -.834000 15.9994 0 5931 BULK 1678 TIP3 H1 HT .417000 1.00800 0 5932 BULK 1678 TIP3 H2 HT .417000 1.00800 0 5933 BULK 1679 TIP3 OH2 OT -.834000 15.9994 0 5934 BULK 1679 TIP3 H1 HT .417000 1.00800 0 5935 BULK 1679 TIP3 H2 HT .417000 1.00800 0 5936 BULK 1680 TIP3 OH2 OT -.834000 15.9994 0 5937 BULK 1680 TIP3 H1 HT .417000 1.00800 0 5938 BULK 1680 TIP3 H2 HT .417000 1.00800 0 5939 BULK 1681 TIP3 OH2 OT -.834000 15.9994 0 5940 BULK 1681 TIP3 H1 HT .417000 1.00800 0 5941 BULK 1681 TIP3 H2 HT .417000 1.00800 0 5942 BULK 1682 TIP3 OH2 OT -.834000 15.9994 0 5943 BULK 1682 TIP3 H1 HT .417000 1.00800 0 5944 BULK 1682 TIP3 H2 HT .417000 1.00800 0 5945 BULK 1683 TIP3 OH2 OT -.834000 15.9994 0 5946 BULK 1683 TIP3 H1 HT .417000 1.00800 0 5947 BULK 1683 TIP3 H2 HT .417000 1.00800 0 5948 BULK 1684 TIP3 OH2 OT -.834000 15.9994 0 5949 BULK 1684 TIP3 H1 HT .417000 1.00800 0 5950 BULK 1684 TIP3 H2 HT .417000 1.00800 0 5951 BULK 1685 TIP3 OH2 OT -.834000 15.9994 0 5952 BULK 1685 TIP3 H1 HT .417000 1.00800 0 5953 BULK 1685 TIP3 H2 HT .417000 1.00800 0 5954 BULK 1686 TIP3 OH2 OT -.834000 15.9994 0 5955 BULK 1686 TIP3 H1 HT .417000 1.00800 0 5956 BULK 1686 TIP3 H2 HT .417000 1.00800 0 5957 BULK 1687 TIP3 OH2 OT -.834000 15.9994 0 5958 BULK 1687 TIP3 H1 HT .417000 1.00800 0 5959 BULK 1687 TIP3 H2 HT .417000 1.00800 0 5960 BULK 1688 TIP3 OH2 OT -.834000 15.9994 0 5961 BULK 1688 TIP3 H1 HT .417000 1.00800 0 5962 BULK 1688 TIP3 H2 HT .417000 1.00800 0 5963 BULK 1689 TIP3 OH2 OT -.834000 15.9994 0 5964 BULK 1689 TIP3 H1 HT .417000 1.00800 0 5965 BULK 1689 TIP3 H2 HT .417000 1.00800 0 5966 BULK 1690 TIP3 OH2 OT -.834000 15.9994 0 5967 BULK 1690 TIP3 H1 HT .417000 1.00800 0 5968 BULK 1690 TIP3 H2 HT .417000 1.00800 0 5969 BULK 1691 TIP3 OH2 OT -.834000 15.9994 0 5970 BULK 1691 TIP3 H1 HT .417000 1.00800 0 5971 BULK 1691 TIP3 H2 HT .417000 1.00800 0 5972 BULK 1692 TIP3 OH2 OT -.834000 15.9994 0 5973 BULK 1692 TIP3 H1 HT .417000 1.00800 0 5974 BULK 1692 TIP3 H2 HT .417000 1.00800 0 5975 BULK 1693 TIP3 OH2 OT -.834000 15.9994 0 5976 BULK 1693 TIP3 H1 HT .417000 1.00800 0 5977 BULK 1693 TIP3 H2 HT .417000 1.00800 0 5978 BULK 1694 TIP3 OH2 OT -.834000 15.9994 0 5979 BULK 1694 TIP3 H1 HT .417000 1.00800 0 5980 BULK 1694 TIP3 H2 HT .417000 1.00800 0 5981 BULK 1695 TIP3 OH2 OT -.834000 15.9994 0 5982 BULK 1695 TIP3 H1 HT .417000 1.00800 0 5983 BULK 1695 TIP3 H2 HT .417000 1.00800 0 5984 BULK 1696 TIP3 OH2 OT -.834000 15.9994 0 5985 BULK 1696 TIP3 H1 HT .417000 1.00800 0 5986 BULK 1696 TIP3 H2 HT .417000 1.00800 0 5987 BULK 1697 TIP3 OH2 OT -.834000 15.9994 0 5988 BULK 1697 TIP3 H1 HT .417000 1.00800 0 5989 BULK 1697 TIP3 H2 HT .417000 1.00800 0 5990 BULK 1698 TIP3 OH2 OT -.834000 15.9994 0 5991 BULK 1698 TIP3 H1 HT .417000 1.00800 0 5992 BULK 1698 TIP3 H2 HT .417000 1.00800 0 5993 BULK 1699 TIP3 OH2 OT -.834000 15.9994 0 5994 BULK 1699 TIP3 H1 HT .417000 1.00800 0 5995 BULK 1699 TIP3 H2 HT .417000 1.00800 0 5996 BULK 1700 TIP3 OH2 OT -.834000 15.9994 0 5997 BULK 1700 TIP3 H1 HT .417000 1.00800 0 5998 BULK 1700 TIP3 H2 HT .417000 1.00800 0 5999 BULK 1701 TIP3 OH2 OT -.834000 15.9994 0 6000 BULK 1701 TIP3 H1 HT .417000 1.00800 0 6001 BULK 1701 TIP3 H2 HT .417000 1.00800 0 6002 BULK 1702 TIP3 OH2 OT -.834000 15.9994 0 6003 BULK 1702 TIP3 H1 HT .417000 1.00800 0 6004 BULK 1702 TIP3 H2 HT .417000 1.00800 0 6005 BULK 1703 TIP3 OH2 OT -.834000 15.9994 0 6006 BULK 1703 TIP3 H1 HT .417000 1.00800 0 6007 BULK 1703 TIP3 H2 HT .417000 1.00800 0 6008 BULK 1704 TIP3 OH2 OT -.834000 15.9994 0 6009 BULK 1704 TIP3 H1 HT .417000 1.00800 0 6010 BULK 1704 TIP3 H2 HT .417000 1.00800 0 6011 BULK 1705 TIP3 OH2 OT -.834000 15.9994 0 6012 BULK 1705 TIP3 H1 HT .417000 1.00800 0 6013 BULK 1705 TIP3 H2 HT .417000 1.00800 0 6014 BULK 1706 TIP3 OH2 OT -.834000 15.9994 0 6015 BULK 1706 TIP3 H1 HT .417000 1.00800 0 6016 BULK 1706 TIP3 H2 HT .417000 1.00800 0 6017 BULK 1707 TIP3 OH2 OT -.834000 15.9994 0 6018 BULK 1707 TIP3 H1 HT .417000 1.00800 0 6019 BULK 1707 TIP3 H2 HT .417000 1.00800 0 6020 BULK 1708 TIP3 OH2 OT -.834000 15.9994 0 6021 BULK 1708 TIP3 H1 HT .417000 1.00800 0 6022 BULK 1708 TIP3 H2 HT .417000 1.00800 0 6023 BULK 1709 TIP3 OH2 OT -.834000 15.9994 0 6024 BULK 1709 TIP3 H1 HT .417000 1.00800 0 6025 BULK 1709 TIP3 H2 HT .417000 1.00800 0 6026 BULK 1710 TIP3 OH2 OT -.834000 15.9994 0 6027 BULK 1710 TIP3 H1 HT .417000 1.00800 0 6028 BULK 1710 TIP3 H2 HT .417000 1.00800 0 6029 BULK 1711 TIP3 OH2 OT -.834000 15.9994 0 6030 BULK 1711 TIP3 H1 HT .417000 1.00800 0 6031 BULK 1711 TIP3 H2 HT .417000 1.00800 0 6032 BULK 1712 TIP3 OH2 OT -.834000 15.9994 0 6033 BULK 1712 TIP3 H1 HT .417000 1.00800 0 6034 BULK 1712 TIP3 H2 HT .417000 1.00800 0 6035 BULK 1713 TIP3 OH2 OT -.834000 15.9994 0 6036 BULK 1713 TIP3 H1 HT .417000 1.00800 0 6037 BULK 1713 TIP3 H2 HT .417000 1.00800 0 6038 BULK 1714 TIP3 OH2 OT -.834000 15.9994 0 6039 BULK 1714 TIP3 H1 HT .417000 1.00800 0 6040 BULK 1714 TIP3 H2 HT .417000 1.00800 0 6041 BULK 1715 TIP3 OH2 OT -.834000 15.9994 0 6042 BULK 1715 TIP3 H1 HT .417000 1.00800 0 6043 BULK 1715 TIP3 H2 HT .417000 1.00800 0 6044 BULK 1716 TIP3 OH2 OT -.834000 15.9994 0 6045 BULK 1716 TIP3 H1 HT .417000 1.00800 0 6046 BULK 1716 TIP3 H2 HT .417000 1.00800 0 6047 BULK 1717 TIP3 OH2 OT -.834000 15.9994 0 6048 BULK 1717 TIP3 H1 HT .417000 1.00800 0 6049 BULK 1717 TIP3 H2 HT .417000 1.00800 0 6050 BULK 1718 TIP3 OH2 OT -.834000 15.9994 0 6051 BULK 1718 TIP3 H1 HT .417000 1.00800 0 6052 BULK 1718 TIP3 H2 HT .417000 1.00800 0 6053 BULK 1719 TIP3 OH2 OT -.834000 15.9994 0 6054 BULK 1719 TIP3 H1 HT .417000 1.00800 0 6055 BULK 1719 TIP3 H2 HT .417000 1.00800 0 6056 BULK 1720 TIP3 OH2 OT -.834000 15.9994 0 6057 BULK 1720 TIP3 H1 HT .417000 1.00800 0 6058 BULK 1720 TIP3 H2 HT .417000 1.00800 0 6059 BULK 1721 TIP3 OH2 OT -.834000 15.9994 0 6060 BULK 1721 TIP3 H1 HT .417000 1.00800 0 6061 BULK 1721 TIP3 H2 HT .417000 1.00800 0 6062 BULK 1722 TIP3 OH2 OT -.834000 15.9994 0 6063 BULK 1722 TIP3 H1 HT .417000 1.00800 0 6064 BULK 1722 TIP3 H2 HT .417000 1.00800 0 6065 BULK 1723 TIP3 OH2 OT -.834000 15.9994 0 6066 BULK 1723 TIP3 H1 HT .417000 1.00800 0 6067 BULK 1723 TIP3 H2 HT .417000 1.00800 0 6068 BULK 1724 TIP3 OH2 OT -.834000 15.9994 0 6069 BULK 1724 TIP3 H1 HT .417000 1.00800 0 6070 BULK 1724 TIP3 H2 HT .417000 1.00800 0 6071 BULK 1725 TIP3 OH2 OT -.834000 15.9994 0 6072 BULK 1725 TIP3 H1 HT .417000 1.00800 0 6073 BULK 1725 TIP3 H2 HT .417000 1.00800 0 6074 BULK 1726 TIP3 OH2 OT -.834000 15.9994 0 6075 BULK 1726 TIP3 H1 HT .417000 1.00800 0 6076 BULK 1726 TIP3 H2 HT .417000 1.00800 0 6077 BULK 1727 TIP3 OH2 OT -.834000 15.9994 0 6078 BULK 1727 TIP3 H1 HT .417000 1.00800 0 6079 BULK 1727 TIP3 H2 HT .417000 1.00800 0 6080 BULK 1728 TIP3 OH2 OT -.834000 15.9994 0 6081 BULK 1728 TIP3 H1 HT .417000 1.00800 0 6082 BULK 1728 TIP3 H2 HT .417000 1.00800 0 6083 BULK 1729 TIP3 OH2 OT -.834000 15.9994 0 6084 BULK 1729 TIP3 H1 HT .417000 1.00800 0 6085 BULK 1729 TIP3 H2 HT .417000 1.00800 0 6086 BULK 1730 TIP3 OH2 OT -.834000 15.9994 0 6087 BULK 1730 TIP3 H1 HT .417000 1.00800 0 6088 BULK 1730 TIP3 H2 HT .417000 1.00800 0 6089 BULK 1731 TIP3 OH2 OT -.834000 15.9994 0 6090 BULK 1731 TIP3 H1 HT .417000 1.00800 0 6091 BULK 1731 TIP3 H2 HT .417000 1.00800 0 6092 BULK 1732 TIP3 OH2 OT -.834000 15.9994 0 6093 BULK 1732 TIP3 H1 HT .417000 1.00800 0 6094 BULK 1732 TIP3 H2 HT .417000 1.00800 0 6095 BULK 1733 TIP3 OH2 OT -.834000 15.9994 0 6096 BULK 1733 TIP3 H1 HT .417000 1.00800 0 6097 BULK 1733 TIP3 H2 HT .417000 1.00800 0 6098 BULK 1734 TIP3 OH2 OT -.834000 15.9994 0 6099 BULK 1734 TIP3 H1 HT .417000 1.00800 0 6100 BULK 1734 TIP3 H2 HT .417000 1.00800 0 6101 BULK 1735 TIP3 OH2 OT -.834000 15.9994 0 6102 BULK 1735 TIP3 H1 HT .417000 1.00800 0 6103 BULK 1735 TIP3 H2 HT .417000 1.00800 0 6104 BULK 1736 TIP3 OH2 OT -.834000 15.9994 0 6105 BULK 1736 TIP3 H1 HT .417000 1.00800 0 6106 BULK 1736 TIP3 H2 HT .417000 1.00800 0 6107 BULK 1737 TIP3 OH2 OT -.834000 15.9994 0 6108 BULK 1737 TIP3 H1 HT .417000 1.00800 0 6109 BULK 1737 TIP3 H2 HT .417000 1.00800 0 6110 BULK 1738 TIP3 OH2 OT -.834000 15.9994 0 6111 BULK 1738 TIP3 H1 HT .417000 1.00800 0 6112 BULK 1738 TIP3 H2 HT .417000 1.00800 0 6113 BULK 1739 TIP3 OH2 OT -.834000 15.9994 0 6114 BULK 1739 TIP3 H1 HT .417000 1.00800 0 6115 BULK 1739 TIP3 H2 HT .417000 1.00800 0 6116 BULK 1740 TIP3 OH2 OT -.834000 15.9994 0 6117 BULK 1740 TIP3 H1 HT .417000 1.00800 0 6118 BULK 1740 TIP3 H2 HT .417000 1.00800 0 6119 BULK 1741 TIP3 OH2 OT -.834000 15.9994 0 6120 BULK 1741 TIP3 H1 HT .417000 1.00800 0 6121 BULK 1741 TIP3 H2 HT .417000 1.00800 0 6122 BULK 1742 TIP3 OH2 OT -.834000 15.9994 0 6123 BULK 1742 TIP3 H1 HT .417000 1.00800 0 6124 BULK 1742 TIP3 H2 HT .417000 1.00800 0 6125 BULK 1743 TIP3 OH2 OT -.834000 15.9994 0 6126 BULK 1743 TIP3 H1 HT .417000 1.00800 0 6127 BULK 1743 TIP3 H2 HT .417000 1.00800 0 6128 BULK 1744 TIP3 OH2 OT -.834000 15.9994 0 6129 BULK 1744 TIP3 H1 HT .417000 1.00800 0 6130 BULK 1744 TIP3 H2 HT .417000 1.00800 0 6131 BULK 1745 TIP3 OH2 OT -.834000 15.9994 0 6132 BULK 1745 TIP3 H1 HT .417000 1.00800 0 6133 BULK 1745 TIP3 H2 HT .417000 1.00800 0 6134 BULK 1746 TIP3 OH2 OT -.834000 15.9994 0 6135 BULK 1746 TIP3 H1 HT .417000 1.00800 0 6136 BULK 1746 TIP3 H2 HT .417000 1.00800 0 6137 BULK 1747 TIP3 OH2 OT -.834000 15.9994 0 6138 BULK 1747 TIP3 H1 HT .417000 1.00800 0 6139 BULK 1747 TIP3 H2 HT .417000 1.00800 0 6140 BULK 1748 TIP3 OH2 OT -.834000 15.9994 0 6141 BULK 1748 TIP3 H1 HT .417000 1.00800 0 6142 BULK 1748 TIP3 H2 HT .417000 1.00800 0 6143 BULK 1749 TIP3 OH2 OT -.834000 15.9994 0 6144 BULK 1749 TIP3 H1 HT .417000 1.00800 0 6145 BULK 1749 TIP3 H2 HT .417000 1.00800 0 6146 BULK 1750 TIP3 OH2 OT -.834000 15.9994 0 6147 BULK 1750 TIP3 H1 HT .417000 1.00800 0 6148 BULK 1750 TIP3 H2 HT .417000 1.00800 0 6149 BULK 1751 TIP3 OH2 OT -.834000 15.9994 0 6150 BULK 1751 TIP3 H1 HT .417000 1.00800 0 6151 BULK 1751 TIP3 H2 HT .417000 1.00800 0 6152 BULK 1752 TIP3 OH2 OT -.834000 15.9994 0 6153 BULK 1752 TIP3 H1 HT .417000 1.00800 0 6154 BULK 1752 TIP3 H2 HT .417000 1.00800 0 6155 BULK 1753 TIP3 OH2 OT -.834000 15.9994 0 6156 BULK 1753 TIP3 H1 HT .417000 1.00800 0 6157 BULK 1753 TIP3 H2 HT .417000 1.00800 0 6158 BULK 1754 TIP3 OH2 OT -.834000 15.9994 0 6159 BULK 1754 TIP3 H1 HT .417000 1.00800 0 6160 BULK 1754 TIP3 H2 HT .417000 1.00800 0 6161 BULK 1755 TIP3 OH2 OT -.834000 15.9994 0 6162 BULK 1755 TIP3 H1 HT .417000 1.00800 0 6163 BULK 1755 TIP3 H2 HT .417000 1.00800 0 6164 BULK 1756 TIP3 OH2 OT -.834000 15.9994 0 6165 BULK 1756 TIP3 H1 HT .417000 1.00800 0 6166 BULK 1756 TIP3 H2 HT .417000 1.00800 0 6167 BULK 1757 TIP3 OH2 OT -.834000 15.9994 0 6168 BULK 1757 TIP3 H1 HT .417000 1.00800 0 6169 BULK 1757 TIP3 H2 HT .417000 1.00800 0 6170 BULK 1758 TIP3 OH2 OT -.834000 15.9994 0 6171 BULK 1758 TIP3 H1 HT .417000 1.00800 0 6172 BULK 1758 TIP3 H2 HT .417000 1.00800 0 6173 BULK 1759 TIP3 OH2 OT -.834000 15.9994 0 6174 BULK 1759 TIP3 H1 HT .417000 1.00800 0 6175 BULK 1759 TIP3 H2 HT .417000 1.00800 0 6176 BULK 1760 TIP3 OH2 OT -.834000 15.9994 0 6177 BULK 1760 TIP3 H1 HT .417000 1.00800 0 6178 BULK 1760 TIP3 H2 HT .417000 1.00800 0 6179 BULK 1761 TIP3 OH2 OT -.834000 15.9994 0 6180 BULK 1761 TIP3 H1 HT .417000 1.00800 0 6181 BULK 1761 TIP3 H2 HT .417000 1.00800 0 6182 BULK 1762 TIP3 OH2 OT -.834000 15.9994 0 6183 BULK 1762 TIP3 H1 HT .417000 1.00800 0 6184 BULK 1762 TIP3 H2 HT .417000 1.00800 0 6185 BULK 1763 TIP3 OH2 OT -.834000 15.9994 0 6186 BULK 1763 TIP3 H1 HT .417000 1.00800 0 6187 BULK 1763 TIP3 H2 HT .417000 1.00800 0 6188 BULK 1764 TIP3 OH2 OT -.834000 15.9994 0 6189 BULK 1764 TIP3 H1 HT .417000 1.00800 0 6190 BULK 1764 TIP3 H2 HT .417000 1.00800 0 6191 BULK 1765 TIP3 OH2 OT -.834000 15.9994 0 6192 BULK 1765 TIP3 H1 HT .417000 1.00800 0 6193 BULK 1765 TIP3 H2 HT .417000 1.00800 0 6194 BULK 1766 TIP3 OH2 OT -.834000 15.9994 0 6195 BULK 1766 TIP3 H1 HT .417000 1.00800 0 6196 BULK 1766 TIP3 H2 HT .417000 1.00800 0 6197 BULK 1767 TIP3 OH2 OT -.834000 15.9994 0 6198 BULK 1767 TIP3 H1 HT .417000 1.00800 0 6199 BULK 1767 TIP3 H2 HT .417000 1.00800 0 6200 BULK 1768 TIP3 OH2 OT -.834000 15.9994 0 6201 BULK 1768 TIP3 H1 HT .417000 1.00800 0 6202 BULK 1768 TIP3 H2 HT .417000 1.00800 0 6203 BULK 1769 TIP3 OH2 OT -.834000 15.9994 0 6204 BULK 1769 TIP3 H1 HT .417000 1.00800 0 6205 BULK 1769 TIP3 H2 HT .417000 1.00800 0 6206 BULK 1770 TIP3 OH2 OT -.834000 15.9994 0 6207 BULK 1770 TIP3 H1 HT .417000 1.00800 0 6208 BULK 1770 TIP3 H2 HT .417000 1.00800 0 6209 BULK 1771 TIP3 OH2 OT -.834000 15.9994 0 6210 BULK 1771 TIP3 H1 HT .417000 1.00800 0 6211 BULK 1771 TIP3 H2 HT .417000 1.00800 0 6212 BULK 1772 TIP3 OH2 OT -.834000 15.9994 0 6213 BULK 1772 TIP3 H1 HT .417000 1.00800 0 6214 BULK 1772 TIP3 H2 HT .417000 1.00800 0 6215 BULK 1773 TIP3 OH2 OT -.834000 15.9994 0 6216 BULK 1773 TIP3 H1 HT .417000 1.00800 0 6217 BULK 1773 TIP3 H2 HT .417000 1.00800 0 6218 BULK 1774 TIP3 OH2 OT -.834000 15.9994 0 6219 BULK 1774 TIP3 H1 HT .417000 1.00800 0 6220 BULK 1774 TIP3 H2 HT .417000 1.00800 0 6221 BULK 1775 TIP3 OH2 OT -.834000 15.9994 0 6222 BULK 1775 TIP3 H1 HT .417000 1.00800 0 6223 BULK 1775 TIP3 H2 HT .417000 1.00800 0 6224 BULK 1776 TIP3 OH2 OT -.834000 15.9994 0 6225 BULK 1776 TIP3 H1 HT .417000 1.00800 0 6226 BULK 1776 TIP3 H2 HT .417000 1.00800 0 6227 BULK 1777 TIP3 OH2 OT -.834000 15.9994 0 6228 BULK 1777 TIP3 H1 HT .417000 1.00800 0 6229 BULK 1777 TIP3 H2 HT .417000 1.00800 0 6230 BULK 1778 TIP3 OH2 OT -.834000 15.9994 0 6231 BULK 1778 TIP3 H1 HT .417000 1.00800 0 6232 BULK 1778 TIP3 H2 HT .417000 1.00800 0 6233 BULK 1779 TIP3 OH2 OT -.834000 15.9994 0 6234 BULK 1779 TIP3 H1 HT .417000 1.00800 0 6235 BULK 1779 TIP3 H2 HT .417000 1.00800 0 6236 BULK 1780 TIP3 OH2 OT -.834000 15.9994 0 6237 BULK 1780 TIP3 H1 HT .417000 1.00800 0 6238 BULK 1780 TIP3 H2 HT .417000 1.00800 0 6239 BULK 1781 TIP3 OH2 OT -.834000 15.9994 0 6240 BULK 1781 TIP3 H1 HT .417000 1.00800 0 6241 BULK 1781 TIP3 H2 HT .417000 1.00800 0 6242 BULK 1782 TIP3 OH2 OT -.834000 15.9994 0 6243 BULK 1782 TIP3 H1 HT .417000 1.00800 0 6244 BULK 1782 TIP3 H2 HT .417000 1.00800 0 6245 BULK 1783 TIP3 OH2 OT -.834000 15.9994 0 6246 BULK 1783 TIP3 H1 HT .417000 1.00800 0 6247 BULK 1783 TIP3 H2 HT .417000 1.00800 0 6248 BULK 1784 TIP3 OH2 OT -.834000 15.9994 0 6249 BULK 1784 TIP3 H1 HT .417000 1.00800 0 6250 BULK 1784 TIP3 H2 HT .417000 1.00800 0 6251 BULK 1785 TIP3 OH2 OT -.834000 15.9994 0 6252 BULK 1785 TIP3 H1 HT .417000 1.00800 0 6253 BULK 1785 TIP3 H2 HT .417000 1.00800 0 6254 BULK 1786 TIP3 OH2 OT -.834000 15.9994 0 6255 BULK 1786 TIP3 H1 HT .417000 1.00800 0 6256 BULK 1786 TIP3 H2 HT .417000 1.00800 0 6257 BULK 1787 TIP3 OH2 OT -.834000 15.9994 0 6258 BULK 1787 TIP3 H1 HT .417000 1.00800 0 6259 BULK 1787 TIP3 H2 HT .417000 1.00800 0 6260 BULK 1788 TIP3 OH2 OT -.834000 15.9994 0 6261 BULK 1788 TIP3 H1 HT .417000 1.00800 0 6262 BULK 1788 TIP3 H2 HT .417000 1.00800 0 6263 BULK 1789 TIP3 OH2 OT -.834000 15.9994 0 6264 BULK 1789 TIP3 H1 HT .417000 1.00800 0 6265 BULK 1789 TIP3 H2 HT .417000 1.00800 0 6266 BULK 1790 TIP3 OH2 OT -.834000 15.9994 0 6267 BULK 1790 TIP3 H1 HT .417000 1.00800 0 6268 BULK 1790 TIP3 H2 HT .417000 1.00800 0 6269 BULK 1791 TIP3 OH2 OT -.834000 15.9994 0 6270 BULK 1791 TIP3 H1 HT .417000 1.00800 0 6271 BULK 1791 TIP3 H2 HT .417000 1.00800 0 6272 BULK 1792 TIP3 OH2 OT -.834000 15.9994 0 6273 BULK 1792 TIP3 H1 HT .417000 1.00800 0 6274 BULK 1792 TIP3 H2 HT .417000 1.00800 0 6275 BULK 1793 TIP3 OH2 OT -.834000 15.9994 0 6276 BULK 1793 TIP3 H1 HT .417000 1.00800 0 6277 BULK 1793 TIP3 H2 HT .417000 1.00800 0 6278 BULK 1794 TIP3 OH2 OT -.834000 15.9994 0 6279 BULK 1794 TIP3 H1 HT .417000 1.00800 0 6280 BULK 1794 TIP3 H2 HT .417000 1.00800 0 6281 BULK 1795 TIP3 OH2 OT -.834000 15.9994 0 6282 BULK 1795 TIP3 H1 HT .417000 1.00800 0 6283 BULK 1795 TIP3 H2 HT .417000 1.00800 0 6284 BULK 1796 TIP3 OH2 OT -.834000 15.9994 0 6285 BULK 1796 TIP3 H1 HT .417000 1.00800 0 6286 BULK 1796 TIP3 H2 HT .417000 1.00800 0 6287 BULK 1797 TIP3 OH2 OT -.834000 15.9994 0 6288 BULK 1797 TIP3 H1 HT .417000 1.00800 0 6289 BULK 1797 TIP3 H2 HT .417000 1.00800 0 6290 BULK 1798 TIP3 OH2 OT -.834000 15.9994 0 6291 BULK 1798 TIP3 H1 HT .417000 1.00800 0 6292 BULK 1798 TIP3 H2 HT .417000 1.00800 0 6293 BULK 1799 TIP3 OH2 OT -.834000 15.9994 0 6294 BULK 1799 TIP3 H1 HT .417000 1.00800 0 6295 BULK 1799 TIP3 H2 HT .417000 1.00800 0 6296 BULK 1800 TIP3 OH2 OT -.834000 15.9994 0 6297 BULK 1800 TIP3 H1 HT .417000 1.00800 0 6298 BULK 1800 TIP3 H2 HT .417000 1.00800 0 6299 BULK 1801 TIP3 OH2 OT -.834000 15.9994 0 6300 BULK 1801 TIP3 H1 HT .417000 1.00800 0 6301 BULK 1801 TIP3 H2 HT .417000 1.00800 0 6302 BULK 1802 TIP3 OH2 OT -.834000 15.9994 0 6303 BULK 1802 TIP3 H1 HT .417000 1.00800 0 6304 BULK 1802 TIP3 H2 HT .417000 1.00800 0 6305 BULK 1803 TIP3 OH2 OT -.834000 15.9994 0 6306 BULK 1803 TIP3 H1 HT .417000 1.00800 0 6307 BULK 1803 TIP3 H2 HT .417000 1.00800 0 6308 BULK 1804 TIP3 OH2 OT -.834000 15.9994 0 6309 BULK 1804 TIP3 H1 HT .417000 1.00800 0 6310 BULK 1804 TIP3 H2 HT .417000 1.00800 0 6311 BULK 1805 TIP3 OH2 OT -.834000 15.9994 0 6312 BULK 1805 TIP3 H1 HT .417000 1.00800 0 6313 BULK 1805 TIP3 H2 HT .417000 1.00800 0 6314 BULK 1806 TIP3 OH2 OT -.834000 15.9994 0 6315 BULK 1806 TIP3 H1 HT .417000 1.00800 0 6316 BULK 1806 TIP3 H2 HT .417000 1.00800 0 6317 BULK 1807 TIP3 OH2 OT -.834000 15.9994 0 6318 BULK 1807 TIP3 H1 HT .417000 1.00800 0 6319 BULK 1807 TIP3 H2 HT .417000 1.00800 0 6320 BULK 1808 TIP3 OH2 OT -.834000 15.9994 0 6321 BULK 1808 TIP3 H1 HT .417000 1.00800 0 6322 BULK 1808 TIP3 H2 HT .417000 1.00800 0 6323 BULK 1809 TIP3 OH2 OT -.834000 15.9994 0 6324 BULK 1809 TIP3 H1 HT .417000 1.00800 0 6325 BULK 1809 TIP3 H2 HT .417000 1.00800 0 6326 BULK 1810 TIP3 OH2 OT -.834000 15.9994 0 6327 BULK 1810 TIP3 H1 HT .417000 1.00800 0 6328 BULK 1810 TIP3 H2 HT .417000 1.00800 0 6329 BULK 1811 TIP3 OH2 OT -.834000 15.9994 0 6330 BULK 1811 TIP3 H1 HT .417000 1.00800 0 6331 BULK 1811 TIP3 H2 HT .417000 1.00800 0 6332 BULK 1812 TIP3 OH2 OT -.834000 15.9994 0 6333 BULK 1812 TIP3 H1 HT .417000 1.00800 0 6334 BULK 1812 TIP3 H2 HT .417000 1.00800 0 6335 BULK 1813 TIP3 OH2 OT -.834000 15.9994 0 6336 BULK 1813 TIP3 H1 HT .417000 1.00800 0 6337 BULK 1813 TIP3 H2 HT .417000 1.00800 0 6338 BULK 1814 TIP3 OH2 OT -.834000 15.9994 0 6339 BULK 1814 TIP3 H1 HT .417000 1.00800 0 6340 BULK 1814 TIP3 H2 HT .417000 1.00800 0 6341 BULK 1815 TIP3 OH2 OT -.834000 15.9994 0 6342 BULK 1815 TIP3 H1 HT .417000 1.00800 0 6343 BULK 1815 TIP3 H2 HT .417000 1.00800 0 6344 BULK 1816 TIP3 OH2 OT -.834000 15.9994 0 6345 BULK 1816 TIP3 H1 HT .417000 1.00800 0 6346 BULK 1816 TIP3 H2 HT .417000 1.00800 0 6347 BULK 1817 TIP3 OH2 OT -.834000 15.9994 0 6348 BULK 1817 TIP3 H1 HT .417000 1.00800 0 6349 BULK 1817 TIP3 H2 HT .417000 1.00800 0 6350 BULK 1818 TIP3 OH2 OT -.834000 15.9994 0 6351 BULK 1818 TIP3 H1 HT .417000 1.00800 0 6352 BULK 1818 TIP3 H2 HT .417000 1.00800 0 6353 BULK 1819 TIP3 OH2 OT -.834000 15.9994 0 6354 BULK 1819 TIP3 H1 HT .417000 1.00800 0 6355 BULK 1819 TIP3 H2 HT .417000 1.00800 0 6356 BULK 1820 TIP3 OH2 OT -.834000 15.9994 0 6357 BULK 1820 TIP3 H1 HT .417000 1.00800 0 6358 BULK 1820 TIP3 H2 HT .417000 1.00800 0 6359 BULK 1821 TIP3 OH2 OT -.834000 15.9994 0 6360 BULK 1821 TIP3 H1 HT .417000 1.00800 0 6361 BULK 1821 TIP3 H2 HT .417000 1.00800 0 6362 BULK 1822 TIP3 OH2 OT -.834000 15.9994 0 6363 BULK 1822 TIP3 H1 HT .417000 1.00800 0 6364 BULK 1822 TIP3 H2 HT .417000 1.00800 0 6365 BULK 1823 TIP3 OH2 OT -.834000 15.9994 0 6366 BULK 1823 TIP3 H1 HT .417000 1.00800 0 6367 BULK 1823 TIP3 H2 HT .417000 1.00800 0 6368 BULK 1824 TIP3 OH2 OT -.834000 15.9994 0 6369 BULK 1824 TIP3 H1 HT .417000 1.00800 0 6370 BULK 1824 TIP3 H2 HT .417000 1.00800 0 6371 BULK 1825 TIP3 OH2 OT -.834000 15.9994 0 6372 BULK 1825 TIP3 H1 HT .417000 1.00800 0 6373 BULK 1825 TIP3 H2 HT .417000 1.00800 0 6374 BULK 1826 TIP3 OH2 OT -.834000 15.9994 0 6375 BULK 1826 TIP3 H1 HT .417000 1.00800 0 6376 BULK 1826 TIP3 H2 HT .417000 1.00800 0 6377 BULK 1827 TIP3 OH2 OT -.834000 15.9994 0 6378 BULK 1827 TIP3 H1 HT .417000 1.00800 0 6379 BULK 1827 TIP3 H2 HT .417000 1.00800 0 6380 BULK 1828 TIP3 OH2 OT -.834000 15.9994 0 6381 BULK 1828 TIP3 H1 HT .417000 1.00800 0 6382 BULK 1828 TIP3 H2 HT .417000 1.00800 0 6383 BULK 1829 TIP3 OH2 OT -.834000 15.9994 0 6384 BULK 1829 TIP3 H1 HT .417000 1.00800 0 6385 BULK 1829 TIP3 H2 HT .417000 1.00800 0 6386 BULK 1830 TIP3 OH2 OT -.834000 15.9994 0 6387 BULK 1830 TIP3 H1 HT .417000 1.00800 0 6388 BULK 1830 TIP3 H2 HT .417000 1.00800 0 6389 BULK 1831 TIP3 OH2 OT -.834000 15.9994 0 6390 BULK 1831 TIP3 H1 HT .417000 1.00800 0 6391 BULK 1831 TIP3 H2 HT .417000 1.00800 0 6392 BULK 1832 TIP3 OH2 OT -.834000 15.9994 0 6393 BULK 1832 TIP3 H1 HT .417000 1.00800 0 6394 BULK 1832 TIP3 H2 HT .417000 1.00800 0 6395 BULK 1833 TIP3 OH2 OT -.834000 15.9994 0 6396 BULK 1833 TIP3 H1 HT .417000 1.00800 0 6397 BULK 1833 TIP3 H2 HT .417000 1.00800 0 6398 BULK 1834 TIP3 OH2 OT -.834000 15.9994 0 6399 BULK 1834 TIP3 H1 HT .417000 1.00800 0 6400 BULK 1834 TIP3 H2 HT .417000 1.00800 0 6401 BULK 1835 TIP3 OH2 OT -.834000 15.9994 0 6402 BULK 1835 TIP3 H1 HT .417000 1.00800 0 6403 BULK 1835 TIP3 H2 HT .417000 1.00800 0 6404 BULK 1836 TIP3 OH2 OT -.834000 15.9994 0 6405 BULK 1836 TIP3 H1 HT .417000 1.00800 0 6406 BULK 1836 TIP3 H2 HT .417000 1.00800 0 6407 BULK 1837 TIP3 OH2 OT -.834000 15.9994 0 6408 BULK 1837 TIP3 H1 HT .417000 1.00800 0 6409 BULK 1837 TIP3 H2 HT .417000 1.00800 0 6410 BULK 1838 TIP3 OH2 OT -.834000 15.9994 0 6411 BULK 1838 TIP3 H1 HT .417000 1.00800 0 6412 BULK 1838 TIP3 H2 HT .417000 1.00800 0 6413 BULK 1839 TIP3 OH2 OT -.834000 15.9994 0 6414 BULK 1839 TIP3 H1 HT .417000 1.00800 0 6415 BULK 1839 TIP3 H2 HT .417000 1.00800 0 6416 BULK 1840 TIP3 OH2 OT -.834000 15.9994 0 6417 BULK 1840 TIP3 H1 HT .417000 1.00800 0 6418 BULK 1840 TIP3 H2 HT .417000 1.00800 0 6419 BULK 1841 TIP3 OH2 OT -.834000 15.9994 0 6420 BULK 1841 TIP3 H1 HT .417000 1.00800 0 6421 BULK 1841 TIP3 H2 HT .417000 1.00800 0 6422 BULK 1842 TIP3 OH2 OT -.834000 15.9994 0 6423 BULK 1842 TIP3 H1 HT .417000 1.00800 0 6424 BULK 1842 TIP3 H2 HT .417000 1.00800 0 6425 BULK 1843 TIP3 OH2 OT -.834000 15.9994 0 6426 BULK 1843 TIP3 H1 HT .417000 1.00800 0 6427 BULK 1843 TIP3 H2 HT .417000 1.00800 0 6428 BULK 1844 TIP3 OH2 OT -.834000 15.9994 0 6429 BULK 1844 TIP3 H1 HT .417000 1.00800 0 6430 BULK 1844 TIP3 H2 HT .417000 1.00800 0 6431 BULK 1845 TIP3 OH2 OT -.834000 15.9994 0 6432 BULK 1845 TIP3 H1 HT .417000 1.00800 0 6433 BULK 1845 TIP3 H2 HT .417000 1.00800 0 6434 BULK 1846 TIP3 OH2 OT -.834000 15.9994 0 6435 BULK 1846 TIP3 H1 HT .417000 1.00800 0 6436 BULK 1846 TIP3 H2 HT .417000 1.00800 0 6437 BULK 1847 TIP3 OH2 OT -.834000 15.9994 0 6438 BULK 1847 TIP3 H1 HT .417000 1.00800 0 6439 BULK 1847 TIP3 H2 HT .417000 1.00800 0 6440 BULK 1848 TIP3 OH2 OT -.834000 15.9994 0 6441 BULK 1848 TIP3 H1 HT .417000 1.00800 0 6442 BULK 1848 TIP3 H2 HT .417000 1.00800 0 6443 BULK 1849 TIP3 OH2 OT -.834000 15.9994 0 6444 BULK 1849 TIP3 H1 HT .417000 1.00800 0 6445 BULK 1849 TIP3 H2 HT .417000 1.00800 0 6446 BULK 1850 TIP3 OH2 OT -.834000 15.9994 0 6447 BULK 1850 TIP3 H1 HT .417000 1.00800 0 6448 BULK 1850 TIP3 H2 HT .417000 1.00800 0 6449 BULK 1851 TIP3 OH2 OT -.834000 15.9994 0 6450 BULK 1851 TIP3 H1 HT .417000 1.00800 0 6451 BULK 1851 TIP3 H2 HT .417000 1.00800 0 6452 BULK 1852 TIP3 OH2 OT -.834000 15.9994 0 6453 BULK 1852 TIP3 H1 HT .417000 1.00800 0 6454 BULK 1852 TIP3 H2 HT .417000 1.00800 0 6455 BULK 1853 TIP3 OH2 OT -.834000 15.9994 0 6456 BULK 1853 TIP3 H1 HT .417000 1.00800 0 6457 BULK 1853 TIP3 H2 HT .417000 1.00800 0 6458 BULK 1854 TIP3 OH2 OT -.834000 15.9994 0 6459 BULK 1854 TIP3 H1 HT .417000 1.00800 0 6460 BULK 1854 TIP3 H2 HT .417000 1.00800 0 6461 BULK 1855 TIP3 OH2 OT -.834000 15.9994 0 6462 BULK 1855 TIP3 H1 HT .417000 1.00800 0 6463 BULK 1855 TIP3 H2 HT .417000 1.00800 0 6464 BULK 1856 TIP3 OH2 OT -.834000 15.9994 0 6465 BULK 1856 TIP3 H1 HT .417000 1.00800 0 6466 BULK 1856 TIP3 H2 HT .417000 1.00800 0 6467 BULK 1857 TIP3 OH2 OT -.834000 15.9994 0 6468 BULK 1857 TIP3 H1 HT .417000 1.00800 0 6469 BULK 1857 TIP3 H2 HT .417000 1.00800 0 6470 BULK 1858 TIP3 OH2 OT -.834000 15.9994 0 6471 BULK 1858 TIP3 H1 HT .417000 1.00800 0 6472 BULK 1858 TIP3 H2 HT .417000 1.00800 0 6473 BULK 1859 TIP3 OH2 OT -.834000 15.9994 0 6474 BULK 1859 TIP3 H1 HT .417000 1.00800 0 6475 BULK 1859 TIP3 H2 HT .417000 1.00800 0 6476 BULK 1860 TIP3 OH2 OT -.834000 15.9994 0 6477 BULK 1860 TIP3 H1 HT .417000 1.00800 0 6478 BULK 1860 TIP3 H2 HT .417000 1.00800 0 6479 BULK 1861 TIP3 OH2 OT -.834000 15.9994 0 6480 BULK 1861 TIP3 H1 HT .417000 1.00800 0 6481 BULK 1861 TIP3 H2 HT .417000 1.00800 0 6482 BULK 1862 TIP3 OH2 OT -.834000 15.9994 0 6483 BULK 1862 TIP3 H1 HT .417000 1.00800 0 6484 BULK 1862 TIP3 H2 HT .417000 1.00800 0 6485 BULK 1863 TIP3 OH2 OT -.834000 15.9994 0 6486 BULK 1863 TIP3 H1 HT .417000 1.00800 0 6487 BULK 1863 TIP3 H2 HT .417000 1.00800 0 6488 BULK 1864 TIP3 OH2 OT -.834000 15.9994 0 6489 BULK 1864 TIP3 H1 HT .417000 1.00800 0 6490 BULK 1864 TIP3 H2 HT .417000 1.00800 0 6491 BULK 1865 TIP3 OH2 OT -.834000 15.9994 0 6492 BULK 1865 TIP3 H1 HT .417000 1.00800 0 6493 BULK 1865 TIP3 H2 HT .417000 1.00800 0 6494 BULK 1866 TIP3 OH2 OT -.834000 15.9994 0 6495 BULK 1866 TIP3 H1 HT .417000 1.00800 0 6496 BULK 1866 TIP3 H2 HT .417000 1.00800 0 6497 BULK 1867 TIP3 OH2 OT -.834000 15.9994 0 6498 BULK 1867 TIP3 H1 HT .417000 1.00800 0 6499 BULK 1867 TIP3 H2 HT .417000 1.00800 0 6500 BULK 1868 TIP3 OH2 OT -.834000 15.9994 0 6501 BULK 1868 TIP3 H1 HT .417000 1.00800 0 6502 BULK 1868 TIP3 H2 HT .417000 1.00800 0 6503 BULK 1869 TIP3 OH2 OT -.834000 15.9994 0 6504 BULK 1869 TIP3 H1 HT .417000 1.00800 0 6505 BULK 1869 TIP3 H2 HT .417000 1.00800 0 6506 BULK 1870 TIP3 OH2 OT -.834000 15.9994 0 6507 BULK 1870 TIP3 H1 HT .417000 1.00800 0 6508 BULK 1870 TIP3 H2 HT .417000 1.00800 0 6509 BULK 1871 TIP3 OH2 OT -.834000 15.9994 0 6510 BULK 1871 TIP3 H1 HT .417000 1.00800 0 6511 BULK 1871 TIP3 H2 HT .417000 1.00800 0 6512 BULK 1872 TIP3 OH2 OT -.834000 15.9994 0 6513 BULK 1872 TIP3 H1 HT .417000 1.00800 0 6514 BULK 1872 TIP3 H2 HT .417000 1.00800 0 6515 BULK 1873 TIP3 OH2 OT -.834000 15.9994 0 6516 BULK 1873 TIP3 H1 HT .417000 1.00800 0 6517 BULK 1873 TIP3 H2 HT .417000 1.00800 0 6518 BULK 1874 TIP3 OH2 OT -.834000 15.9994 0 6519 BULK 1874 TIP3 H1 HT .417000 1.00800 0 6520 BULK 1874 TIP3 H2 HT .417000 1.00800 0 6521 BULK 1875 TIP3 OH2 OT -.834000 15.9994 0 6522 BULK 1875 TIP3 H1 HT .417000 1.00800 0 6523 BULK 1875 TIP3 H2 HT .417000 1.00800 0 6524 BULK 1876 TIP3 OH2 OT -.834000 15.9994 0 6525 BULK 1876 TIP3 H1 HT .417000 1.00800 0 6526 BULK 1876 TIP3 H2 HT .417000 1.00800 0 6527 BULK 1877 TIP3 OH2 OT -.834000 15.9994 0 6528 BULK 1877 TIP3 H1 HT .417000 1.00800 0 6529 BULK 1877 TIP3 H2 HT .417000 1.00800 0 6530 BULK 1878 TIP3 OH2 OT -.834000 15.9994 0 6531 BULK 1878 TIP3 H1 HT .417000 1.00800 0 6532 BULK 1878 TIP3 H2 HT .417000 1.00800 0 6533 BULK 1879 TIP3 OH2 OT -.834000 15.9994 0 6534 BULK 1879 TIP3 H1 HT .417000 1.00800 0 6535 BULK 1879 TIP3 H2 HT .417000 1.00800 0 6536 BULK 1880 TIP3 OH2 OT -.834000 15.9994 0 6537 BULK 1880 TIP3 H1 HT .417000 1.00800 0 6538 BULK 1880 TIP3 H2 HT .417000 1.00800 0 6539 BULK 1881 TIP3 OH2 OT -.834000 15.9994 0 6540 BULK 1881 TIP3 H1 HT .417000 1.00800 0 6541 BULK 1881 TIP3 H2 HT .417000 1.00800 0 6542 BULK 1882 TIP3 OH2 OT -.834000 15.9994 0 6543 BULK 1882 TIP3 H1 HT .417000 1.00800 0 6544 BULK 1882 TIP3 H2 HT .417000 1.00800 0 6545 BULK 1883 TIP3 OH2 OT -.834000 15.9994 0 6546 BULK 1883 TIP3 H1 HT .417000 1.00800 0 6547 BULK 1883 TIP3 H2 HT .417000 1.00800 0 6548 BULK 1884 TIP3 OH2 OT -.834000 15.9994 0 6549 BULK 1884 TIP3 H1 HT .417000 1.00800 0 6550 BULK 1884 TIP3 H2 HT .417000 1.00800 0 6551 BULK 1885 TIP3 OH2 OT -.834000 15.9994 0 6552 BULK 1885 TIP3 H1 HT .417000 1.00800 0 6553 BULK 1885 TIP3 H2 HT .417000 1.00800 0 6554 BULK 1886 TIP3 OH2 OT -.834000 15.9994 0 6555 BULK 1886 TIP3 H1 HT .417000 1.00800 0 6556 BULK 1886 TIP3 H2 HT .417000 1.00800 0 6557 BULK 1887 TIP3 OH2 OT -.834000 15.9994 0 6558 BULK 1887 TIP3 H1 HT .417000 1.00800 0 6559 BULK 1887 TIP3 H2 HT .417000 1.00800 0 6560 BULK 1888 TIP3 OH2 OT -.834000 15.9994 0 6561 BULK 1888 TIP3 H1 HT .417000 1.00800 0 6562 BULK 1888 TIP3 H2 HT .417000 1.00800 0 6563 BULK 1889 TIP3 OH2 OT -.834000 15.9994 0 6564 BULK 1889 TIP3 H1 HT .417000 1.00800 0 6565 BULK 1889 TIP3 H2 HT .417000 1.00800 0 6566 BULK 1890 TIP3 OH2 OT -.834000 15.9994 0 6567 BULK 1890 TIP3 H1 HT .417000 1.00800 0 6568 BULK 1890 TIP3 H2 HT .417000 1.00800 0 6569 BULK 1891 TIP3 OH2 OT -.834000 15.9994 0 6570 BULK 1891 TIP3 H1 HT .417000 1.00800 0 6571 BULK 1891 TIP3 H2 HT .417000 1.00800 0 6572 BULK 1892 TIP3 OH2 OT -.834000 15.9994 0 6573 BULK 1892 TIP3 H1 HT .417000 1.00800 0 6574 BULK 1892 TIP3 H2 HT .417000 1.00800 0 6575 BULK 1893 TIP3 OH2 OT -.834000 15.9994 0 6576 BULK 1893 TIP3 H1 HT .417000 1.00800 0 6577 BULK 1893 TIP3 H2 HT .417000 1.00800 0 6578 BULK 1894 TIP3 OH2 OT -.834000 15.9994 0 6579 BULK 1894 TIP3 H1 HT .417000 1.00800 0 6580 BULK 1894 TIP3 H2 HT .417000 1.00800 0 6581 BULK 1895 TIP3 OH2 OT -.834000 15.9994 0 6582 BULK 1895 TIP3 H1 HT .417000 1.00800 0 6583 BULK 1895 TIP3 H2 HT .417000 1.00800 0 6584 BULK 1896 TIP3 OH2 OT -.834000 15.9994 0 6585 BULK 1896 TIP3 H1 HT .417000 1.00800 0 6586 BULK 1896 TIP3 H2 HT .417000 1.00800 0 6587 BULK 1897 TIP3 OH2 OT -.834000 15.9994 0 6588 BULK 1897 TIP3 H1 HT .417000 1.00800 0 6589 BULK 1897 TIP3 H2 HT .417000 1.00800 0 6590 BULK 1898 TIP3 OH2 OT -.834000 15.9994 0 6591 BULK 1898 TIP3 H1 HT .417000 1.00800 0 6592 BULK 1898 TIP3 H2 HT .417000 1.00800 0 6593 BULK 1899 TIP3 OH2 OT -.834000 15.9994 0 6594 BULK 1899 TIP3 H1 HT .417000 1.00800 0 6595 BULK 1899 TIP3 H2 HT .417000 1.00800 0 6596 BULK 1900 TIP3 OH2 OT -.834000 15.9994 0 6597 BULK 1900 TIP3 H1 HT .417000 1.00800 0 6598 BULK 1900 TIP3 H2 HT .417000 1.00800 0 6599 BULK 1901 TIP3 OH2 OT -.834000 15.9994 0 6600 BULK 1901 TIP3 H1 HT .417000 1.00800 0 6601 BULK 1901 TIP3 H2 HT .417000 1.00800 0 6602 BULK 1902 TIP3 OH2 OT -.834000 15.9994 0 6603 BULK 1902 TIP3 H1 HT .417000 1.00800 0 6604 BULK 1902 TIP3 H2 HT .417000 1.00800 0 6605 BULK 1903 TIP3 OH2 OT -.834000 15.9994 0 6606 BULK 1903 TIP3 H1 HT .417000 1.00800 0 6607 BULK 1903 TIP3 H2 HT .417000 1.00800 0 6608 BULK 1904 TIP3 OH2 OT -.834000 15.9994 0 6609 BULK 1904 TIP3 H1 HT .417000 1.00800 0 6610 BULK 1904 TIP3 H2 HT .417000 1.00800 0 6611 BULK 1905 TIP3 OH2 OT -.834000 15.9994 0 6612 BULK 1905 TIP3 H1 HT .417000 1.00800 0 6613 BULK 1905 TIP3 H2 HT .417000 1.00800 0 6614 BULK 1906 TIP3 OH2 OT -.834000 15.9994 0 6615 BULK 1906 TIP3 H1 HT .417000 1.00800 0 6616 BULK 1906 TIP3 H2 HT .417000 1.00800 0 6617 BULK 1907 TIP3 OH2 OT -.834000 15.9994 0 6618 BULK 1907 TIP3 H1 HT .417000 1.00800 0 6619 BULK 1907 TIP3 H2 HT .417000 1.00800 0 6620 BULK 1908 TIP3 OH2 OT -.834000 15.9994 0 6621 BULK 1908 TIP3 H1 HT .417000 1.00800 0 6622 BULK 1908 TIP3 H2 HT .417000 1.00800 0 6623 BULK 1909 TIP3 OH2 OT -.834000 15.9994 0 6624 BULK 1909 TIP3 H1 HT .417000 1.00800 0 6625 BULK 1909 TIP3 H2 HT .417000 1.00800 0 6626 BULK 1910 TIP3 OH2 OT -.834000 15.9994 0 6627 BULK 1910 TIP3 H1 HT .417000 1.00800 0 6628 BULK 1910 TIP3 H2 HT .417000 1.00800 0 6629 BULK 1911 TIP3 OH2 OT -.834000 15.9994 0 6630 BULK 1911 TIP3 H1 HT .417000 1.00800 0 6631 BULK 1911 TIP3 H2 HT .417000 1.00800 0 6632 BULK 1912 TIP3 OH2 OT -.834000 15.9994 0 6633 BULK 1912 TIP3 H1 HT .417000 1.00800 0 6634 BULK 1912 TIP3 H2 HT .417000 1.00800 0 6635 BULK 1913 TIP3 OH2 OT -.834000 15.9994 0 6636 BULK 1913 TIP3 H1 HT .417000 1.00800 0 6637 BULK 1913 TIP3 H2 HT .417000 1.00800 0 6638 BULK 1914 TIP3 OH2 OT -.834000 15.9994 0 6639 BULK 1914 TIP3 H1 HT .417000 1.00800 0 6640 BULK 1914 TIP3 H2 HT .417000 1.00800 0 6641 BULK 1915 TIP3 OH2 OT -.834000 15.9994 0 6642 BULK 1915 TIP3 H1 HT .417000 1.00800 0 6643 BULK 1915 TIP3 H2 HT .417000 1.00800 0 6644 BULK 1916 TIP3 OH2 OT -.834000 15.9994 0 6645 BULK 1916 TIP3 H1 HT .417000 1.00800 0 6646 BULK 1916 TIP3 H2 HT .417000 1.00800 0 6647 BULK 1917 TIP3 OH2 OT -.834000 15.9994 0 6648 BULK 1917 TIP3 H1 HT .417000 1.00800 0 6649 BULK 1917 TIP3 H2 HT .417000 1.00800 0 6650 BULK 1918 TIP3 OH2 OT -.834000 15.9994 0 6651 BULK 1918 TIP3 H1 HT .417000 1.00800 0 6652 BULK 1918 TIP3 H2 HT .417000 1.00800 0 6653 BULK 1919 TIP3 OH2 OT -.834000 15.9994 0 6654 BULK 1919 TIP3 H1 HT .417000 1.00800 0 6655 BULK 1919 TIP3 H2 HT .417000 1.00800 0 6656 BULK 1920 TIP3 OH2 OT -.834000 15.9994 0 6657 BULK 1920 TIP3 H1 HT .417000 1.00800 0 6658 BULK 1920 TIP3 H2 HT .417000 1.00800 0 6659 BULK 1921 TIP3 OH2 OT -.834000 15.9994 0 6660 BULK 1921 TIP3 H1 HT .417000 1.00800 0 6661 BULK 1921 TIP3 H2 HT .417000 1.00800 0 6662 BULK 1922 TIP3 OH2 OT -.834000 15.9994 0 6663 BULK 1922 TIP3 H1 HT .417000 1.00800 0 6664 BULK 1922 TIP3 H2 HT .417000 1.00800 0 6665 BULK 1923 TIP3 OH2 OT -.834000 15.9994 0 6666 BULK 1923 TIP3 H1 HT .417000 1.00800 0 6667 BULK 1923 TIP3 H2 HT .417000 1.00800 0 6668 BULK 1924 TIP3 OH2 OT -.834000 15.9994 0 6669 BULK 1924 TIP3 H1 HT .417000 1.00800 0 6670 BULK 1924 TIP3 H2 HT .417000 1.00800 0 6671 BULK 1925 TIP3 OH2 OT -.834000 15.9994 0 6672 BULK 1925 TIP3 H1 HT .417000 1.00800 0 6673 BULK 1925 TIP3 H2 HT .417000 1.00800 0 6674 BULK 1926 TIP3 OH2 OT -.834000 15.9994 0 6675 BULK 1926 TIP3 H1 HT .417000 1.00800 0 6676 BULK 1926 TIP3 H2 HT .417000 1.00800 0 6677 BULK 1927 TIP3 OH2 OT -.834000 15.9994 0 6678 BULK 1927 TIP3 H1 HT .417000 1.00800 0 6679 BULK 1927 TIP3 H2 HT .417000 1.00800 0 6680 BULK 1928 TIP3 OH2 OT -.834000 15.9994 0 6681 BULK 1928 TIP3 H1 HT .417000 1.00800 0 6682 BULK 1928 TIP3 H2 HT .417000 1.00800 0 6683 BULK 1929 TIP3 OH2 OT -.834000 15.9994 0 6684 BULK 1929 TIP3 H1 HT .417000 1.00800 0 6685 BULK 1929 TIP3 H2 HT .417000 1.00800 0 6686 BULK 1930 TIP3 OH2 OT -.834000 15.9994 0 6687 BULK 1930 TIP3 H1 HT .417000 1.00800 0 6688 BULK 1930 TIP3 H2 HT .417000 1.00800 0 6689 BULK 1931 TIP3 OH2 OT -.834000 15.9994 0 6690 BULK 1931 TIP3 H1 HT .417000 1.00800 0 6691 BULK 1931 TIP3 H2 HT .417000 1.00800 0 6692 BULK 1932 TIP3 OH2 OT -.834000 15.9994 0 6693 BULK 1932 TIP3 H1 HT .417000 1.00800 0 6694 BULK 1932 TIP3 H2 HT .417000 1.00800 0 6695 BULK 1933 TIP3 OH2 OT -.834000 15.9994 0 6696 BULK 1933 TIP3 H1 HT .417000 1.00800 0 6697 BULK 1933 TIP3 H2 HT .417000 1.00800 0 6698 BULK 1934 TIP3 OH2 OT -.834000 15.9994 0 6699 BULK 1934 TIP3 H1 HT .417000 1.00800 0 6700 BULK 1934 TIP3 H2 HT .417000 1.00800 0 6701 BULK 1935 TIP3 OH2 OT -.834000 15.9994 0 6702 BULK 1935 TIP3 H1 HT .417000 1.00800 0 6703 BULK 1935 TIP3 H2 HT .417000 1.00800 0 6704 BULK 1936 TIP3 OH2 OT -.834000 15.9994 0 6705 BULK 1936 TIP3 H1 HT .417000 1.00800 0 6706 BULK 1936 TIP3 H2 HT .417000 1.00800 0 6707 BULK 1937 TIP3 OH2 OT -.834000 15.9994 0 6708 BULK 1937 TIP3 H1 HT .417000 1.00800 0 6709 BULK 1937 TIP3 H2 HT .417000 1.00800 0 6710 BULK 1938 TIP3 OH2 OT -.834000 15.9994 0 6711 BULK 1938 TIP3 H1 HT .417000 1.00800 0 6712 BULK 1938 TIP3 H2 HT .417000 1.00800 0 6713 BULK 1939 TIP3 OH2 OT -.834000 15.9994 0 6714 BULK 1939 TIP3 H1 HT .417000 1.00800 0 6715 BULK 1939 TIP3 H2 HT .417000 1.00800 0 6716 BULK 1940 TIP3 OH2 OT -.834000 15.9994 0 6717 BULK 1940 TIP3 H1 HT .417000 1.00800 0 6718 BULK 1940 TIP3 H2 HT .417000 1.00800 0 6719 BULK 1941 TIP3 OH2 OT -.834000 15.9994 0 6720 BULK 1941 TIP3 H1 HT .417000 1.00800 0 6721 BULK 1941 TIP3 H2 HT .417000 1.00800 0 6722 BULK 1942 TIP3 OH2 OT -.834000 15.9994 0 6723 BULK 1942 TIP3 H1 HT .417000 1.00800 0 6724 BULK 1942 TIP3 H2 HT .417000 1.00800 0 6725 BULK 1943 TIP3 OH2 OT -.834000 15.9994 0 6726 BULK 1943 TIP3 H1 HT .417000 1.00800 0 6727 BULK 1943 TIP3 H2 HT .417000 1.00800 0 6728 BULK 1944 TIP3 OH2 OT -.834000 15.9994 0 6729 BULK 1944 TIP3 H1 HT .417000 1.00800 0 6730 BULK 1944 TIP3 H2 HT .417000 1.00800 0 6731 BULK 1945 TIP3 OH2 OT -.834000 15.9994 0 6732 BULK 1945 TIP3 H1 HT .417000 1.00800 0 6733 BULK 1945 TIP3 H2 HT .417000 1.00800 0 6734 BULK 1946 TIP3 OH2 OT -.834000 15.9994 0 6735 BULK 1946 TIP3 H1 HT .417000 1.00800 0 6736 BULK 1946 TIP3 H2 HT .417000 1.00800 0 6737 BULK 1947 TIP3 OH2 OT -.834000 15.9994 0 6738 BULK 1947 TIP3 H1 HT .417000 1.00800 0 6739 BULK 1947 TIP3 H2 HT .417000 1.00800 0 6740 BULK 1948 TIP3 OH2 OT -.834000 15.9994 0 6741 BULK 1948 TIP3 H1 HT .417000 1.00800 0 6742 BULK 1948 TIP3 H2 HT .417000 1.00800 0 6743 BULK 1949 TIP3 OH2 OT -.834000 15.9994 0 6744 BULK 1949 TIP3 H1 HT .417000 1.00800 0 6745 BULK 1949 TIP3 H2 HT .417000 1.00800 0 6746 BULK 1950 TIP3 OH2 OT -.834000 15.9994 0 6747 BULK 1950 TIP3 H1 HT .417000 1.00800 0 6748 BULK 1950 TIP3 H2 HT .417000 1.00800 0 6749 BULK 1951 TIP3 OH2 OT -.834000 15.9994 0 6750 BULK 1951 TIP3 H1 HT .417000 1.00800 0 6751 BULK 1951 TIP3 H2 HT .417000 1.00800 0 6752 BULK 1952 TIP3 OH2 OT -.834000 15.9994 0 6753 BULK 1952 TIP3 H1 HT .417000 1.00800 0 6754 BULK 1952 TIP3 H2 HT .417000 1.00800 0 6755 BULK 1953 TIP3 OH2 OT -.834000 15.9994 0 6756 BULK 1953 TIP3 H1 HT .417000 1.00800 0 6757 BULK 1953 TIP3 H2 HT .417000 1.00800 0 6758 BULK 1954 TIP3 OH2 OT -.834000 15.9994 0 6759 BULK 1954 TIP3 H1 HT .417000 1.00800 0 6760 BULK 1954 TIP3 H2 HT .417000 1.00800 0 6761 BULK 1955 TIP3 OH2 OT -.834000 15.9994 0 6762 BULK 1955 TIP3 H1 HT .417000 1.00800 0 6763 BULK 1955 TIP3 H2 HT .417000 1.00800 0 6764 BULK 1956 TIP3 OH2 OT -.834000 15.9994 0 6765 BULK 1956 TIP3 H1 HT .417000 1.00800 0 6766 BULK 1956 TIP3 H2 HT .417000 1.00800 0 6767 BULK 1957 TIP3 OH2 OT -.834000 15.9994 0 6768 BULK 1957 TIP3 H1 HT .417000 1.00800 0 6769 BULK 1957 TIP3 H2 HT .417000 1.00800 0 6770 BULK 1958 TIP3 OH2 OT -.834000 15.9994 0 6771 BULK 1958 TIP3 H1 HT .417000 1.00800 0 6772 BULK 1958 TIP3 H2 HT .417000 1.00800 0 6773 BULK 1959 TIP3 OH2 OT -.834000 15.9994 0 6774 BULK 1959 TIP3 H1 HT .417000 1.00800 0 6775 BULK 1959 TIP3 H2 HT .417000 1.00800 0 6776 BULK 1960 TIP3 OH2 OT -.834000 15.9994 0 6777 BULK 1960 TIP3 H1 HT .417000 1.00800 0 6778 BULK 1960 TIP3 H2 HT .417000 1.00800 0 6779 BULK 1961 TIP3 OH2 OT -.834000 15.9994 0 6780 BULK 1961 TIP3 H1 HT .417000 1.00800 0 6781 BULK 1961 TIP3 H2 HT .417000 1.00800 0 6782 BULK 1962 TIP3 OH2 OT -.834000 15.9994 0 6783 BULK 1962 TIP3 H1 HT .417000 1.00800 0 6784 BULK 1962 TIP3 H2 HT .417000 1.00800 0 6785 BULK 1963 TIP3 OH2 OT -.834000 15.9994 0 6786 BULK 1963 TIP3 H1 HT .417000 1.00800 0 6787 BULK 1963 TIP3 H2 HT .417000 1.00800 0 6788 BULK 1964 TIP3 OH2 OT -.834000 15.9994 0 6789 BULK 1964 TIP3 H1 HT .417000 1.00800 0 6790 BULK 1964 TIP3 H2 HT .417000 1.00800 0 6791 BULK 1965 TIP3 OH2 OT -.834000 15.9994 0 6792 BULK 1965 TIP3 H1 HT .417000 1.00800 0 6793 BULK 1965 TIP3 H2 HT .417000 1.00800 0 6794 BULK 1966 TIP3 OH2 OT -.834000 15.9994 0 6795 BULK 1966 TIP3 H1 HT .417000 1.00800 0 6796 BULK 1966 TIP3 H2 HT .417000 1.00800 0 6797 BULK 1967 TIP3 OH2 OT -.834000 15.9994 0 6798 BULK 1967 TIP3 H1 HT .417000 1.00800 0 6799 BULK 1967 TIP3 H2 HT .417000 1.00800 0 6800 BULK 1968 TIP3 OH2 OT -.834000 15.9994 0 6801 BULK 1968 TIP3 H1 HT .417000 1.00800 0 6802 BULK 1968 TIP3 H2 HT .417000 1.00800 0 6803 BULK 1969 TIP3 OH2 OT -.834000 15.9994 0 6804 BULK 1969 TIP3 H1 HT .417000 1.00800 0 6805 BULK 1969 TIP3 H2 HT .417000 1.00800 0 6806 BULK 1970 TIP3 OH2 OT -.834000 15.9994 0 6807 BULK 1970 TIP3 H1 HT .417000 1.00800 0 6808 BULK 1970 TIP3 H2 HT .417000 1.00800 0 6809 BULK 1971 TIP3 OH2 OT -.834000 15.9994 0 6810 BULK 1971 TIP3 H1 HT .417000 1.00800 0 6811 BULK 1971 TIP3 H2 HT .417000 1.00800 0 6812 BULK 1972 TIP3 OH2 OT -.834000 15.9994 0 6813 BULK 1972 TIP3 H1 HT .417000 1.00800 0 6814 BULK 1972 TIP3 H2 HT .417000 1.00800 0 6815 BULK 1973 TIP3 OH2 OT -.834000 15.9994 0 6816 BULK 1973 TIP3 H1 HT .417000 1.00800 0 6817 BULK 1973 TIP3 H2 HT .417000 1.00800 0 6818 BULK 1974 TIP3 OH2 OT -.834000 15.9994 0 6819 BULK 1974 TIP3 H1 HT .417000 1.00800 0 6820 BULK 1974 TIP3 H2 HT .417000 1.00800 0 6821 BULK 1975 TIP3 OH2 OT -.834000 15.9994 0 6822 BULK 1975 TIP3 H1 HT .417000 1.00800 0 6823 BULK 1975 TIP3 H2 HT .417000 1.00800 0 6824 BULK 1976 TIP3 OH2 OT -.834000 15.9994 0 6825 BULK 1976 TIP3 H1 HT .417000 1.00800 0 6826 BULK 1976 TIP3 H2 HT .417000 1.00800 0 6827 BULK 1977 TIP3 OH2 OT -.834000 15.9994 0 6828 BULK 1977 TIP3 H1 HT .417000 1.00800 0 6829 BULK 1977 TIP3 H2 HT .417000 1.00800 0 6830 BULK 1978 TIP3 OH2 OT -.834000 15.9994 0 6831 BULK 1978 TIP3 H1 HT .417000 1.00800 0 6832 BULK 1978 TIP3 H2 HT .417000 1.00800 0 6833 BULK 1979 TIP3 OH2 OT -.834000 15.9994 0 6834 BULK 1979 TIP3 H1 HT .417000 1.00800 0 6835 BULK 1979 TIP3 H2 HT .417000 1.00800 0 6836 BULK 1980 TIP3 OH2 OT -.834000 15.9994 0 6837 BULK 1980 TIP3 H1 HT .417000 1.00800 0 6838 BULK 1980 TIP3 H2 HT .417000 1.00800 0 6839 BULK 1981 TIP3 OH2 OT -.834000 15.9994 0 6840 BULK 1981 TIP3 H1 HT .417000 1.00800 0 6841 BULK 1981 TIP3 H2 HT .417000 1.00800 0 6842 BULK 1982 TIP3 OH2 OT -.834000 15.9994 0 6843 BULK 1982 TIP3 H1 HT .417000 1.00800 0 6844 BULK 1982 TIP3 H2 HT .417000 1.00800 0 6845 BULK 1983 TIP3 OH2 OT -.834000 15.9994 0 6846 BULK 1983 TIP3 H1 HT .417000 1.00800 0 6847 BULK 1983 TIP3 H2 HT .417000 1.00800 0 6848 BULK 1984 TIP3 OH2 OT -.834000 15.9994 0 6849 BULK 1984 TIP3 H1 HT .417000 1.00800 0 6850 BULK 1984 TIP3 H2 HT .417000 1.00800 0 6851 BULK 1985 TIP3 OH2 OT -.834000 15.9994 0 6852 BULK 1985 TIP3 H1 HT .417000 1.00800 0 6853 BULK 1985 TIP3 H2 HT .417000 1.00800 0 6854 BULK 1986 TIP3 OH2 OT -.834000 15.9994 0 6855 BULK 1986 TIP3 H1 HT .417000 1.00800 0 6856 BULK 1986 TIP3 H2 HT .417000 1.00800 0 6857 BULK 1987 TIP3 OH2 OT -.834000 15.9994 0 6858 BULK 1987 TIP3 H1 HT .417000 1.00800 0 6859 BULK 1987 TIP3 H2 HT .417000 1.00800 0 6860 BULK 1988 TIP3 OH2 OT -.834000 15.9994 0 6861 BULK 1988 TIP3 H1 HT .417000 1.00800 0 6862 BULK 1988 TIP3 H2 HT .417000 1.00800 0 6863 BULK 1989 TIP3 OH2 OT -.834000 15.9994 0 6864 BULK 1989 TIP3 H1 HT .417000 1.00800 0 6865 BULK 1989 TIP3 H2 HT .417000 1.00800 0 6866 BULK 1990 TIP3 OH2 OT -.834000 15.9994 0 6867 BULK 1990 TIP3 H1 HT .417000 1.00800 0 6868 BULK 1990 TIP3 H2 HT .417000 1.00800 0 6869 BULK 1991 TIP3 OH2 OT -.834000 15.9994 0 6870 BULK 1991 TIP3 H1 HT .417000 1.00800 0 6871 BULK 1991 TIP3 H2 HT .417000 1.00800 0 6872 BULK 1992 TIP3 OH2 OT -.834000 15.9994 0 6873 BULK 1992 TIP3 H1 HT .417000 1.00800 0 6874 BULK 1992 TIP3 H2 HT .417000 1.00800 0 6875 BULK 1993 TIP3 OH2 OT -.834000 15.9994 0 6876 BULK 1993 TIP3 H1 HT .417000 1.00800 0 6877 BULK 1993 TIP3 H2 HT .417000 1.00800 0 6878 BULK 1994 TIP3 OH2 OT -.834000 15.9994 0 6879 BULK 1994 TIP3 H1 HT .417000 1.00800 0 6880 BULK 1994 TIP3 H2 HT .417000 1.00800 0 6881 BULK 1995 TIP3 OH2 OT -.834000 15.9994 0 6882 BULK 1995 TIP3 H1 HT .417000 1.00800 0 6883 BULK 1995 TIP3 H2 HT .417000 1.00800 0 6884 BULK 1996 TIP3 OH2 OT -.834000 15.9994 0 6885 BULK 1996 TIP3 H1 HT .417000 1.00800 0 6886 BULK 1996 TIP3 H2 HT .417000 1.00800 0 6887 BULK 1997 TIP3 OH2 OT -.834000 15.9994 0 6888 BULK 1997 TIP3 H1 HT .417000 1.00800 0 6889 BULK 1997 TIP3 H2 HT .417000 1.00800 0 6890 BULK 1998 TIP3 OH2 OT -.834000 15.9994 0 6891 BULK 1998 TIP3 H1 HT .417000 1.00800 0 6892 BULK 1998 TIP3 H2 HT .417000 1.00800 0 6893 BULK 1999 TIP3 OH2 OT -.834000 15.9994 0 6894 BULK 1999 TIP3 H1 HT .417000 1.00800 0 6895 BULK 1999 TIP3 H2 HT .417000 1.00800 0 6896 BULK 2000 TIP3 OH2 OT -.834000 15.9994 0 6897 BULK 2000 TIP3 H1 HT .417000 1.00800 0 6898 BULK 2000 TIP3 H2 HT .417000 1.00800 0 6899 BULK 2001 TIP3 OH2 OT -.834000 15.9994 0 6900 BULK 2001 TIP3 H1 HT .417000 1.00800 0 6901 BULK 2001 TIP3 H2 HT .417000 1.00800 0 6902 BULK 2002 TIP3 OH2 OT -.834000 15.9994 0 6903 BULK 2002 TIP3 H1 HT .417000 1.00800 0 6904 BULK 2002 TIP3 H2 HT .417000 1.00800 0 6905 BULK 2003 TIP3 OH2 OT -.834000 15.9994 0 6906 BULK 2003 TIP3 H1 HT .417000 1.00800 0 6907 BULK 2003 TIP3 H2 HT .417000 1.00800 0 6908 BULK 2004 TIP3 OH2 OT -.834000 15.9994 0 6909 BULK 2004 TIP3 H1 HT .417000 1.00800 0 6910 BULK 2004 TIP3 H2 HT .417000 1.00800 0 6911 BULK 2005 TIP3 OH2 OT -.834000 15.9994 0 6912 BULK 2005 TIP3 H1 HT .417000 1.00800 0 6913 BULK 2005 TIP3 H2 HT .417000 1.00800 0 6914 BULK 2006 TIP3 OH2 OT -.834000 15.9994 0 6915 BULK 2006 TIP3 H1 HT .417000 1.00800 0 6916 BULK 2006 TIP3 H2 HT .417000 1.00800 0 6917 BULK 2007 TIP3 OH2 OT -.834000 15.9994 0 6918 BULK 2007 TIP3 H1 HT .417000 1.00800 0 6919 BULK 2007 TIP3 H2 HT .417000 1.00800 0 6920 BULK 2008 TIP3 OH2 OT -.834000 15.9994 0 6921 BULK 2008 TIP3 H1 HT .417000 1.00800 0 6922 BULK 2008 TIP3 H2 HT .417000 1.00800 0 6923 BULK 2009 TIP3 OH2 OT -.834000 15.9994 0 6924 BULK 2009 TIP3 H1 HT .417000 1.00800 0 6925 BULK 2009 TIP3 H2 HT .417000 1.00800 0 6926 BULK 2010 TIP3 OH2 OT -.834000 15.9994 0 6927 BULK 2010 TIP3 H1 HT .417000 1.00800 0 6928 BULK 2010 TIP3 H2 HT .417000 1.00800 0 6929 BULK 2011 TIP3 OH2 OT -.834000 15.9994 0 6930 BULK 2011 TIP3 H1 HT .417000 1.00800 0 6931 BULK 2011 TIP3 H2 HT .417000 1.00800 0 6932 BULK 2012 TIP3 OH2 OT -.834000 15.9994 0 6933 BULK 2012 TIP3 H1 HT .417000 1.00800 0 6934 BULK 2012 TIP3 H2 HT .417000 1.00800 0 6935 BULK 2013 TIP3 OH2 OT -.834000 15.9994 0 6936 BULK 2013 TIP3 H1 HT .417000 1.00800 0 6937 BULK 2013 TIP3 H2 HT .417000 1.00800 0 6938 BULK 2014 TIP3 OH2 OT -.834000 15.9994 0 6939 BULK 2014 TIP3 H1 HT .417000 1.00800 0 6940 BULK 2014 TIP3 H2 HT .417000 1.00800 0 6941 BULK 2015 TIP3 OH2 OT -.834000 15.9994 0 6942 BULK 2015 TIP3 H1 HT .417000 1.00800 0 6943 BULK 2015 TIP3 H2 HT .417000 1.00800 0 6944 BULK 2016 TIP3 OH2 OT -.834000 15.9994 0 6945 BULK 2016 TIP3 H1 HT .417000 1.00800 0 6946 BULK 2016 TIP3 H2 HT .417000 1.00800 0 6947 BULK 2017 TIP3 OH2 OT -.834000 15.9994 0 6948 BULK 2017 TIP3 H1 HT .417000 1.00800 0 6949 BULK 2017 TIP3 H2 HT .417000 1.00800 0 6950 BULK 2018 TIP3 OH2 OT -.834000 15.9994 0 6951 BULK 2018 TIP3 H1 HT .417000 1.00800 0 6952 BULK 2018 TIP3 H2 HT .417000 1.00800 0 6953 BULK 2019 TIP3 OH2 OT -.834000 15.9994 0 6954 BULK 2019 TIP3 H1 HT .417000 1.00800 0 6955 BULK 2019 TIP3 H2 HT .417000 1.00800 0 6956 BULK 2020 TIP3 OH2 OT -.834000 15.9994 0 6957 BULK 2020 TIP3 H1 HT .417000 1.00800 0 6958 BULK 2020 TIP3 H2 HT .417000 1.00800 0 6959 BULK 2021 TIP3 OH2 OT -.834000 15.9994 0 6960 BULK 2021 TIP3 H1 HT .417000 1.00800 0 6961 BULK 2021 TIP3 H2 HT .417000 1.00800 0 6962 BULK 2022 TIP3 OH2 OT -.834000 15.9994 0 6963 BULK 2022 TIP3 H1 HT .417000 1.00800 0 6964 BULK 2022 TIP3 H2 HT .417000 1.00800 0 6965 BULK 2023 TIP3 OH2 OT -.834000 15.9994 0 6966 BULK 2023 TIP3 H1 HT .417000 1.00800 0 6967 BULK 2023 TIP3 H2 HT .417000 1.00800 0 6968 BULK 2024 TIP3 OH2 OT -.834000 15.9994 0 6969 BULK 2024 TIP3 H1 HT .417000 1.00800 0 6970 BULK 2024 TIP3 H2 HT .417000 1.00800 0 6971 BULK 2025 TIP3 OH2 OT -.834000 15.9994 0 6972 BULK 2025 TIP3 H1 HT .417000 1.00800 0 6973 BULK 2025 TIP3 H2 HT .417000 1.00800 0 6974 BULK 2026 TIP3 OH2 OT -.834000 15.9994 0 6975 BULK 2026 TIP3 H1 HT .417000 1.00800 0 6976 BULK 2026 TIP3 H2 HT .417000 1.00800 0 6977 BULK 2027 TIP3 OH2 OT -.834000 15.9994 0 6978 BULK 2027 TIP3 H1 HT .417000 1.00800 0 6979 BULK 2027 TIP3 H2 HT .417000 1.00800 0 6980 BULK 2028 TIP3 OH2 OT -.834000 15.9994 0 6981 BULK 2028 TIP3 H1 HT .417000 1.00800 0 6982 BULK 2028 TIP3 H2 HT .417000 1.00800 0 6983 BULK 2029 TIP3 OH2 OT -.834000 15.9994 0 6984 BULK 2029 TIP3 H1 HT .417000 1.00800 0 6985 BULK 2029 TIP3 H2 HT .417000 1.00800 0 6986 BULK 2030 TIP3 OH2 OT -.834000 15.9994 0 6987 BULK 2030 TIP3 H1 HT .417000 1.00800 0 6988 BULK 2030 TIP3 H2 HT .417000 1.00800 0 6989 BULK 2031 TIP3 OH2 OT -.834000 15.9994 0 6990 BULK 2031 TIP3 H1 HT .417000 1.00800 0 6991 BULK 2031 TIP3 H2 HT .417000 1.00800 0 6992 BULK 2032 TIP3 OH2 OT -.834000 15.9994 0 6993 BULK 2032 TIP3 H1 HT .417000 1.00800 0 6994 BULK 2032 TIP3 H2 HT .417000 1.00800 0 6995 BULK 2033 TIP3 OH2 OT -.834000 15.9994 0 6996 BULK 2033 TIP3 H1 HT .417000 1.00800 0 6997 BULK 2033 TIP3 H2 HT .417000 1.00800 0 6998 BULK 2034 TIP3 OH2 OT -.834000 15.9994 0 6999 BULK 2034 TIP3 H1 HT .417000 1.00800 0 7000 BULK 2034 TIP3 H2 HT .417000 1.00800 0 7001 BULK 2035 TIP3 OH2 OT -.834000 15.9994 0 7002 BULK 2035 TIP3 H1 HT .417000 1.00800 0 7003 BULK 2035 TIP3 H2 HT .417000 1.00800 0 7004 BULK 2036 TIP3 OH2 OT -.834000 15.9994 0 7005 BULK 2036 TIP3 H1 HT .417000 1.00800 0 7006 BULK 2036 TIP3 H2 HT .417000 1.00800 0 7007 BULK 2037 TIP3 OH2 OT -.834000 15.9994 0 7008 BULK 2037 TIP3 H1 HT .417000 1.00800 0 7009 BULK 2037 TIP3 H2 HT .417000 1.00800 0 7010 BULK 2038 TIP3 OH2 OT -.834000 15.9994 0 7011 BULK 2038 TIP3 H1 HT .417000 1.00800 0 7012 BULK 2038 TIP3 H2 HT .417000 1.00800 0 7013 BULK 2039 TIP3 OH2 OT -.834000 15.9994 0 7014 BULK 2039 TIP3 H1 HT .417000 1.00800 0 7015 BULK 2039 TIP3 H2 HT .417000 1.00800 0 7016 BULK 2040 TIP3 OH2 OT -.834000 15.9994 0 7017 BULK 2040 TIP3 H1 HT .417000 1.00800 0 7018 BULK 2040 TIP3 H2 HT .417000 1.00800 0 7019 BULK 2041 TIP3 OH2 OT -.834000 15.9994 0 7020 BULK 2041 TIP3 H1 HT .417000 1.00800 0 7021 BULK 2041 TIP3 H2 HT .417000 1.00800 0 7022 BULK 2042 TIP3 OH2 OT -.834000 15.9994 0 7023 BULK 2042 TIP3 H1 HT .417000 1.00800 0 7024 BULK 2042 TIP3 H2 HT .417000 1.00800 0 7025 BULK 2043 TIP3 OH2 OT -.834000 15.9994 0 7026 BULK 2043 TIP3 H1 HT .417000 1.00800 0 7027 BULK 2043 TIP3 H2 HT .417000 1.00800 0 7028 BULK 2044 TIP3 OH2 OT -.834000 15.9994 0 7029 BULK 2044 TIP3 H1 HT .417000 1.00800 0 7030 BULK 2044 TIP3 H2 HT .417000 1.00800 0 7031 BULK 2045 TIP3 OH2 OT -.834000 15.9994 0 7032 BULK 2045 TIP3 H1 HT .417000 1.00800 0 7033 BULK 2045 TIP3 H2 HT .417000 1.00800 0 7034 BULK 2046 TIP3 OH2 OT -.834000 15.9994 0 7035 BULK 2046 TIP3 H1 HT .417000 1.00800 0 7036 BULK 2046 TIP3 H2 HT .417000 1.00800 0 7037 BULK 2047 TIP3 OH2 OT -.834000 15.9994 0 7038 BULK 2047 TIP3 H1 HT .417000 1.00800 0 7039 BULK 2047 TIP3 H2 HT .417000 1.00800 0 7040 BULK 2048 TIP3 OH2 OT -.834000 15.9994 0 7041 BULK 2048 TIP3 H1 HT .417000 1.00800 0 7042 BULK 2048 TIP3 H2 HT .417000 1.00800 0 7043 BULK 2049 TIP3 OH2 OT -.834000 15.9994 0 7044 BULK 2049 TIP3 H1 HT .417000 1.00800 0 7045 BULK 2049 TIP3 H2 HT .417000 1.00800 0 7046 BULK 2050 TIP3 OH2 OT -.834000 15.9994 0 7047 BULK 2050 TIP3 H1 HT .417000 1.00800 0 7048 BULK 2050 TIP3 H2 HT .417000 1.00800 0 7049 BULK 2051 TIP3 OH2 OT -.834000 15.9994 0 7050 BULK 2051 TIP3 H1 HT .417000 1.00800 0 7051 BULK 2051 TIP3 H2 HT .417000 1.00800 0 7052 BULK 2052 TIP3 OH2 OT -.834000 15.9994 0 7053 BULK 2052 TIP3 H1 HT .417000 1.00800 0 7054 BULK 2052 TIP3 H2 HT .417000 1.00800 0 7055 BULK 2053 TIP3 OH2 OT -.834000 15.9994 0 7056 BULK 2053 TIP3 H1 HT .417000 1.00800 0 7057 BULK 2053 TIP3 H2 HT .417000 1.00800 0 7058 BULK 2054 TIP3 OH2 OT -.834000 15.9994 0 7059 BULK 2054 TIP3 H1 HT .417000 1.00800 0 7060 BULK 2054 TIP3 H2 HT .417000 1.00800 0 7061 BULK 2055 TIP3 OH2 OT -.834000 15.9994 0 7062 BULK 2055 TIP3 H1 HT .417000 1.00800 0 7063 BULK 2055 TIP3 H2 HT .417000 1.00800 0 7064 BULK 2056 TIP3 OH2 OT -.834000 15.9994 0 7065 BULK 2056 TIP3 H1 HT .417000 1.00800 0 7066 BULK 2056 TIP3 H2 HT .417000 1.00800 0 7067 BULK 2057 TIP3 OH2 OT -.834000 15.9994 0 7068 BULK 2057 TIP3 H1 HT .417000 1.00800 0 7069 BULK 2057 TIP3 H2 HT .417000 1.00800 0 7070 BULK 2058 TIP3 OH2 OT -.834000 15.9994 0 7071 BULK 2058 TIP3 H1 HT .417000 1.00800 0 7072 BULK 2058 TIP3 H2 HT .417000 1.00800 0 7073 BULK 2059 TIP3 OH2 OT -.834000 15.9994 0 7074 BULK 2059 TIP3 H1 HT .417000 1.00800 0 7075 BULK 2059 TIP3 H2 HT .417000 1.00800 0 7076 BULK 2060 TIP3 OH2 OT -.834000 15.9994 0 7077 BULK 2060 TIP3 H1 HT .417000 1.00800 0 7078 BULK 2060 TIP3 H2 HT .417000 1.00800 0 7079 BULK 2061 TIP3 OH2 OT -.834000 15.9994 0 7080 BULK 2061 TIP3 H1 HT .417000 1.00800 0 7081 BULK 2061 TIP3 H2 HT .417000 1.00800 0 7082 BULK 2062 TIP3 OH2 OT -.834000 15.9994 0 7083 BULK 2062 TIP3 H1 HT .417000 1.00800 0 7084 BULK 2062 TIP3 H2 HT .417000 1.00800 0 7085 BULK 2063 TIP3 OH2 OT -.834000 15.9994 0 7086 BULK 2063 TIP3 H1 HT .417000 1.00800 0 7087 BULK 2063 TIP3 H2 HT .417000 1.00800 0 7088 BULK 2064 TIP3 OH2 OT -.834000 15.9994 0 7089 BULK 2064 TIP3 H1 HT .417000 1.00800 0 7090 BULK 2064 TIP3 H2 HT .417000 1.00800 0 7091 BULK 2065 TIP3 OH2 OT -.834000 15.9994 0 7092 BULK 2065 TIP3 H1 HT .417000 1.00800 0 7093 BULK 2065 TIP3 H2 HT .417000 1.00800 0 7094 BULK 2066 TIP3 OH2 OT -.834000 15.9994 0 7095 BULK 2066 TIP3 H1 HT .417000 1.00800 0 7096 BULK 2066 TIP3 H2 HT .417000 1.00800 0 7097 BULK 2067 TIP3 OH2 OT -.834000 15.9994 0 7098 BULK 2067 TIP3 H1 HT .417000 1.00800 0 7099 BULK 2067 TIP3 H2 HT .417000 1.00800 0 7100 BULK 2068 TIP3 OH2 OT -.834000 15.9994 0 7101 BULK 2068 TIP3 H1 HT .417000 1.00800 0 7102 BULK 2068 TIP3 H2 HT .417000 1.00800 0 7103 BULK 2069 TIP3 OH2 OT -.834000 15.9994 0 7104 BULK 2069 TIP3 H1 HT .417000 1.00800 0 7105 BULK 2069 TIP3 H2 HT .417000 1.00800 0 7106 BULK 2070 TIP3 OH2 OT -.834000 15.9994 0 7107 BULK 2070 TIP3 H1 HT .417000 1.00800 0 7108 BULK 2070 TIP3 H2 HT .417000 1.00800 0 7109 BULK 2071 TIP3 OH2 OT -.834000 15.9994 0 7110 BULK 2071 TIP3 H1 HT .417000 1.00800 0 7111 BULK 2071 TIP3 H2 HT .417000 1.00800 0 7112 BULK 2072 TIP3 OH2 OT -.834000 15.9994 0 7113 BULK 2072 TIP3 H1 HT .417000 1.00800 0 7114 BULK 2072 TIP3 H2 HT .417000 1.00800 0 7115 BULK 2073 TIP3 OH2 OT -.834000 15.9994 0 7116 BULK 2073 TIP3 H1 HT .417000 1.00800 0 7117 BULK 2073 TIP3 H2 HT .417000 1.00800 0 7118 BULK 2074 TIP3 OH2 OT -.834000 15.9994 0 7119 BULK 2074 TIP3 H1 HT .417000 1.00800 0 7120 BULK 2074 TIP3 H2 HT .417000 1.00800 0 7121 BULK 2075 TIP3 OH2 OT -.834000 15.9994 0 7122 BULK 2075 TIP3 H1 HT .417000 1.00800 0 7123 BULK 2075 TIP3 H2 HT .417000 1.00800 0 7124 BULK 2076 TIP3 OH2 OT -.834000 15.9994 0 7125 BULK 2076 TIP3 H1 HT .417000 1.00800 0 7126 BULK 2076 TIP3 H2 HT .417000 1.00800 0 7127 BULK 2077 TIP3 OH2 OT -.834000 15.9994 0 7128 BULK 2077 TIP3 H1 HT .417000 1.00800 0 7129 BULK 2077 TIP3 H2 HT .417000 1.00800 0 7130 BULK 2078 TIP3 OH2 OT -.834000 15.9994 0 7131 BULK 2078 TIP3 H1 HT .417000 1.00800 0 7132 BULK 2078 TIP3 H2 HT .417000 1.00800 0 7133 BULK 2079 TIP3 OH2 OT -.834000 15.9994 0 7134 BULK 2079 TIP3 H1 HT .417000 1.00800 0 7135 BULK 2079 TIP3 H2 HT .417000 1.00800 0 7136 BULK 2080 TIP3 OH2 OT -.834000 15.9994 0 7137 BULK 2080 TIP3 H1 HT .417000 1.00800 0 7138 BULK 2080 TIP3 H2 HT .417000 1.00800 0 7139 BULK 2081 TIP3 OH2 OT -.834000 15.9994 0 7140 BULK 2081 TIP3 H1 HT .417000 1.00800 0 7141 BULK 2081 TIP3 H2 HT .417000 1.00800 0 7142 BULK 2082 TIP3 OH2 OT -.834000 15.9994 0 7143 BULK 2082 TIP3 H1 HT .417000 1.00800 0 7144 BULK 2082 TIP3 H2 HT .417000 1.00800 0 7145 BULK 2083 TIP3 OH2 OT -.834000 15.9994 0 7146 BULK 2083 TIP3 H1 HT .417000 1.00800 0 7147 BULK 2083 TIP3 H2 HT .417000 1.00800 0 7148 BULK 2084 TIP3 OH2 OT -.834000 15.9994 0 7149 BULK 2084 TIP3 H1 HT .417000 1.00800 0 7150 BULK 2084 TIP3 H2 HT .417000 1.00800 0 7151 BULK 2085 TIP3 OH2 OT -.834000 15.9994 0 7152 BULK 2085 TIP3 H1 HT .417000 1.00800 0 7153 BULK 2085 TIP3 H2 HT .417000 1.00800 0 7154 BULK 2086 TIP3 OH2 OT -.834000 15.9994 0 7155 BULK 2086 TIP3 H1 HT .417000 1.00800 0 7156 BULK 2086 TIP3 H2 HT .417000 1.00800 0 7157 BULK 2087 TIP3 OH2 OT -.834000 15.9994 0 7158 BULK 2087 TIP3 H1 HT .417000 1.00800 0 7159 BULK 2087 TIP3 H2 HT .417000 1.00800 0 7160 BULK 2088 TIP3 OH2 OT -.834000 15.9994 0 7161 BULK 2088 TIP3 H1 HT .417000 1.00800 0 7162 BULK 2088 TIP3 H2 HT .417000 1.00800 0 7163 BULK 2089 TIP3 OH2 OT -.834000 15.9994 0 7164 BULK 2089 TIP3 H1 HT .417000 1.00800 0 7165 BULK 2089 TIP3 H2 HT .417000 1.00800 0 7166 BULK 2090 TIP3 OH2 OT -.834000 15.9994 0 7167 BULK 2090 TIP3 H1 HT .417000 1.00800 0 7168 BULK 2090 TIP3 H2 HT .417000 1.00800 0 7169 BULK 2091 TIP3 OH2 OT -.834000 15.9994 0 7170 BULK 2091 TIP3 H1 HT .417000 1.00800 0 7171 BULK 2091 TIP3 H2 HT .417000 1.00800 0 7172 BULK 2092 TIP3 OH2 OT -.834000 15.9994 0 7173 BULK 2092 TIP3 H1 HT .417000 1.00800 0 7174 BULK 2092 TIP3 H2 HT .417000 1.00800 0 7175 BULK 2093 TIP3 OH2 OT -.834000 15.9994 0 7176 BULK 2093 TIP3 H1 HT .417000 1.00800 0 7177 BULK 2093 TIP3 H2 HT .417000 1.00800 0 7178 BULK 2094 TIP3 OH2 OT -.834000 15.9994 0 7179 BULK 2094 TIP3 H1 HT .417000 1.00800 0 7180 BULK 2094 TIP3 H2 HT .417000 1.00800 0 7181 BULK 2095 TIP3 OH2 OT -.834000 15.9994 0 7182 BULK 2095 TIP3 H1 HT .417000 1.00800 0 7183 BULK 2095 TIP3 H2 HT .417000 1.00800 0 7184 BULK 2096 TIP3 OH2 OT -.834000 15.9994 0 7185 BULK 2096 TIP3 H1 HT .417000 1.00800 0 7186 BULK 2096 TIP3 H2 HT .417000 1.00800 0 7187 BULK 2097 TIP3 OH2 OT -.834000 15.9994 0 7188 BULK 2097 TIP3 H1 HT .417000 1.00800 0 7189 BULK 2097 TIP3 H2 HT .417000 1.00800 0 7190 BULK 2098 TIP3 OH2 OT -.834000 15.9994 0 7191 BULK 2098 TIP3 H1 HT .417000 1.00800 0 7192 BULK 2098 TIP3 H2 HT .417000 1.00800 0 7193 BULK 2099 TIP3 OH2 OT -.834000 15.9994 0 7194 BULK 2099 TIP3 H1 HT .417000 1.00800 0 7195 BULK 2099 TIP3 H2 HT .417000 1.00800 0 7196 BULK 2100 TIP3 OH2 OT -.834000 15.9994 0 7197 BULK 2100 TIP3 H1 HT .417000 1.00800 0 7198 BULK 2100 TIP3 H2 HT .417000 1.00800 0 7199 BULK 2101 TIP3 OH2 OT -.834000 15.9994 0 7200 BULK 2101 TIP3 H1 HT .417000 1.00800 0 7201 BULK 2101 TIP3 H2 HT .417000 1.00800 0 7202 BULK 2102 TIP3 OH2 OT -.834000 15.9994 0 7203 BULK 2102 TIP3 H1 HT .417000 1.00800 0 7204 BULK 2102 TIP3 H2 HT .417000 1.00800 0 7205 BULK 2103 TIP3 OH2 OT -.834000 15.9994 0 7206 BULK 2103 TIP3 H1 HT .417000 1.00800 0 7207 BULK 2103 TIP3 H2 HT .417000 1.00800 0 7208 BULK 2104 TIP3 OH2 OT -.834000 15.9994 0 7209 BULK 2104 TIP3 H1 HT .417000 1.00800 0 7210 BULK 2104 TIP3 H2 HT .417000 1.00800 0 7211 BULK 2105 TIP3 OH2 OT -.834000 15.9994 0 7212 BULK 2105 TIP3 H1 HT .417000 1.00800 0 7213 BULK 2105 TIP3 H2 HT .417000 1.00800 0 7214 BULK 2106 TIP3 OH2 OT -.834000 15.9994 0 7215 BULK 2106 TIP3 H1 HT .417000 1.00800 0 7216 BULK 2106 TIP3 H2 HT .417000 1.00800 0 7217 BULK 2107 TIP3 OH2 OT -.834000 15.9994 0 7218 BULK 2107 TIP3 H1 HT .417000 1.00800 0 7219 BULK 2107 TIP3 H2 HT .417000 1.00800 0 7220 BULK 2108 TIP3 OH2 OT -.834000 15.9994 0 7221 BULK 2108 TIP3 H1 HT .417000 1.00800 0 7222 BULK 2108 TIP3 H2 HT .417000 1.00800 0 7223 BULK 2109 TIP3 OH2 OT -.834000 15.9994 0 7224 BULK 2109 TIP3 H1 HT .417000 1.00800 0 7225 BULK 2109 TIP3 H2 HT .417000 1.00800 0 7226 BULK 2110 TIP3 OH2 OT -.834000 15.9994 0 7227 BULK 2110 TIP3 H1 HT .417000 1.00800 0 7228 BULK 2110 TIP3 H2 HT .417000 1.00800 0 7229 BULK 2111 TIP3 OH2 OT -.834000 15.9994 0 7230 BULK 2111 TIP3 H1 HT .417000 1.00800 0 7231 BULK 2111 TIP3 H2 HT .417000 1.00800 0 7232 BULK 2112 TIP3 OH2 OT -.834000 15.9994 0 7233 BULK 2112 TIP3 H1 HT .417000 1.00800 0 7234 BULK 2112 TIP3 H2 HT .417000 1.00800 0 7235 BULK 2113 TIP3 OH2 OT -.834000 15.9994 0 7236 BULK 2113 TIP3 H1 HT .417000 1.00800 0 7237 BULK 2113 TIP3 H2 HT .417000 1.00800 0 7238 BULK 2114 TIP3 OH2 OT -.834000 15.9994 0 7239 BULK 2114 TIP3 H1 HT .417000 1.00800 0 7240 BULK 2114 TIP3 H2 HT .417000 1.00800 0 7241 BULK 2115 TIP3 OH2 OT -.834000 15.9994 0 7242 BULK 2115 TIP3 H1 HT .417000 1.00800 0 7243 BULK 2115 TIP3 H2 HT .417000 1.00800 0 7244 BULK 2116 TIP3 OH2 OT -.834000 15.9994 0 7245 BULK 2116 TIP3 H1 HT .417000 1.00800 0 7246 BULK 2116 TIP3 H2 HT .417000 1.00800 0 7247 BULK 2117 TIP3 OH2 OT -.834000 15.9994 0 7248 BULK 2117 TIP3 H1 HT .417000 1.00800 0 7249 BULK 2117 TIP3 H2 HT .417000 1.00800 0 7250 BULK 2118 TIP3 OH2 OT -.834000 15.9994 0 7251 BULK 2118 TIP3 H1 HT .417000 1.00800 0 7252 BULK 2118 TIP3 H2 HT .417000 1.00800 0 7253 BULK 2119 TIP3 OH2 OT -.834000 15.9994 0 7254 BULK 2119 TIP3 H1 HT .417000 1.00800 0 7255 BULK 2119 TIP3 H2 HT .417000 1.00800 0 7256 BULK 2120 TIP3 OH2 OT -.834000 15.9994 0 7257 BULK 2120 TIP3 H1 HT .417000 1.00800 0 7258 BULK 2120 TIP3 H2 HT .417000 1.00800 0 7259 BULK 2121 TIP3 OH2 OT -.834000 15.9994 0 7260 BULK 2121 TIP3 H1 HT .417000 1.00800 0 7261 BULK 2121 TIP3 H2 HT .417000 1.00800 0 7262 BULK 2122 TIP3 OH2 OT -.834000 15.9994 0 7263 BULK 2122 TIP3 H1 HT .417000 1.00800 0 7264 BULK 2122 TIP3 H2 HT .417000 1.00800 0 7265 BULK 2123 TIP3 OH2 OT -.834000 15.9994 0 7266 BULK 2123 TIP3 H1 HT .417000 1.00800 0 7267 BULK 2123 TIP3 H2 HT .417000 1.00800 0 7268 BULK 2124 TIP3 OH2 OT -.834000 15.9994 0 7269 BULK 2124 TIP3 H1 HT .417000 1.00800 0 7270 BULK 2124 TIP3 H2 HT .417000 1.00800 0 7271 BULK 2125 TIP3 OH2 OT -.834000 15.9994 0 7272 BULK 2125 TIP3 H1 HT .417000 1.00800 0 7273 BULK 2125 TIP3 H2 HT .417000 1.00800 0 7274 BULK 2126 TIP3 OH2 OT -.834000 15.9994 0 7275 BULK 2126 TIP3 H1 HT .417000 1.00800 0 7276 BULK 2126 TIP3 H2 HT .417000 1.00800 0 7277 BULK 2127 TIP3 OH2 OT -.834000 15.9994 0 7278 BULK 2127 TIP3 H1 HT .417000 1.00800 0 7279 BULK 2127 TIP3 H2 HT .417000 1.00800 0 7280 BULK 2128 TIP3 OH2 OT -.834000 15.9994 0 7281 BULK 2128 TIP3 H1 HT .417000 1.00800 0 7282 BULK 2128 TIP3 H2 HT .417000 1.00800 0 7283 BULK 2129 TIP3 OH2 OT -.834000 15.9994 0 7284 BULK 2129 TIP3 H1 HT .417000 1.00800 0 7285 BULK 2129 TIP3 H2 HT .417000 1.00800 0 7286 BULK 2130 TIP3 OH2 OT -.834000 15.9994 0 7287 BULK 2130 TIP3 H1 HT .417000 1.00800 0 7288 BULK 2130 TIP3 H2 HT .417000 1.00800 0 7289 BULK 2131 TIP3 OH2 OT -.834000 15.9994 0 7290 BULK 2131 TIP3 H1 HT .417000 1.00800 0 7291 BULK 2131 TIP3 H2 HT .417000 1.00800 0 7292 BULK 2132 TIP3 OH2 OT -.834000 15.9994 0 7293 BULK 2132 TIP3 H1 HT .417000 1.00800 0 7294 BULK 2132 TIP3 H2 HT .417000 1.00800 0 7295 BULK 2133 TIP3 OH2 OT -.834000 15.9994 0 7296 BULK 2133 TIP3 H1 HT .417000 1.00800 0 7297 BULK 2133 TIP3 H2 HT .417000 1.00800 0 7298 BULK 2134 TIP3 OH2 OT -.834000 15.9994 0 7299 BULK 2134 TIP3 H1 HT .417000 1.00800 0 7300 BULK 2134 TIP3 H2 HT .417000 1.00800 0 7301 BULK 2135 TIP3 OH2 OT -.834000 15.9994 0 7302 BULK 2135 TIP3 H1 HT .417000 1.00800 0 7303 BULK 2135 TIP3 H2 HT .417000 1.00800 0 7304 BULK 2136 TIP3 OH2 OT -.834000 15.9994 0 7305 BULK 2136 TIP3 H1 HT .417000 1.00800 0 7306 BULK 2136 TIP3 H2 HT .417000 1.00800 0 7307 BULK 2137 TIP3 OH2 OT -.834000 15.9994 0 7308 BULK 2137 TIP3 H1 HT .417000 1.00800 0 7309 BULK 2137 TIP3 H2 HT .417000 1.00800 0 7310 BULK 2138 TIP3 OH2 OT -.834000 15.9994 0 7311 BULK 2138 TIP3 H1 HT .417000 1.00800 0 7312 BULK 2138 TIP3 H2 HT .417000 1.00800 0 7313 BULK 2139 TIP3 OH2 OT -.834000 15.9994 0 7314 BULK 2139 TIP3 H1 HT .417000 1.00800 0 7315 BULK 2139 TIP3 H2 HT .417000 1.00800 0 7316 BULK 2140 TIP3 OH2 OT -.834000 15.9994 0 7317 BULK 2140 TIP3 H1 HT .417000 1.00800 0 7318 BULK 2140 TIP3 H2 HT .417000 1.00800 0 7319 BULK 2141 TIP3 OH2 OT -.834000 15.9994 0 7320 BULK 2141 TIP3 H1 HT .417000 1.00800 0 7321 BULK 2141 TIP3 H2 HT .417000 1.00800 0 7322 BULK 2142 TIP3 OH2 OT -.834000 15.9994 0 7323 BULK 2142 TIP3 H1 HT .417000 1.00800 0 7324 BULK 2142 TIP3 H2 HT .417000 1.00800 0 7325 BULK 2143 TIP3 OH2 OT -.834000 15.9994 0 7326 BULK 2143 TIP3 H1 HT .417000 1.00800 0 7327 BULK 2143 TIP3 H2 HT .417000 1.00800 0 7328 BULK 2144 TIP3 OH2 OT -.834000 15.9994 0 7329 BULK 2144 TIP3 H1 HT .417000 1.00800 0 7330 BULK 2144 TIP3 H2 HT .417000 1.00800 0 7331 BULK 2145 TIP3 OH2 OT -.834000 15.9994 0 7332 BULK 2145 TIP3 H1 HT .417000 1.00800 0 7333 BULK 2145 TIP3 H2 HT .417000 1.00800 0 7334 BULK 2146 TIP3 OH2 OT -.834000 15.9994 0 7335 BULK 2146 TIP3 H1 HT .417000 1.00800 0 7336 BULK 2146 TIP3 H2 HT .417000 1.00800 0 7337 BULK 2147 TIP3 OH2 OT -.834000 15.9994 0 7338 BULK 2147 TIP3 H1 HT .417000 1.00800 0 7339 BULK 2147 TIP3 H2 HT .417000 1.00800 0 7340 BULK 2148 TIP3 OH2 OT -.834000 15.9994 0 7341 BULK 2148 TIP3 H1 HT .417000 1.00800 0 7342 BULK 2148 TIP3 H2 HT .417000 1.00800 0 7343 BULK 2149 TIP3 OH2 OT -.834000 15.9994 0 7344 BULK 2149 TIP3 H1 HT .417000 1.00800 0 7345 BULK 2149 TIP3 H2 HT .417000 1.00800 0 7346 BULK 2150 TIP3 OH2 OT -.834000 15.9994 0 7347 BULK 2150 TIP3 H1 HT .417000 1.00800 0 7348 BULK 2150 TIP3 H2 HT .417000 1.00800 0 7349 BULK 2151 TIP3 OH2 OT -.834000 15.9994 0 7350 BULK 2151 TIP3 H1 HT .417000 1.00800 0 7351 BULK 2151 TIP3 H2 HT .417000 1.00800 0 7352 BULK 2152 TIP3 OH2 OT -.834000 15.9994 0 7353 BULK 2152 TIP3 H1 HT .417000 1.00800 0 7354 BULK 2152 TIP3 H2 HT .417000 1.00800 0 7355 BULK 2153 TIP3 OH2 OT -.834000 15.9994 0 7356 BULK 2153 TIP3 H1 HT .417000 1.00800 0 7357 BULK 2153 TIP3 H2 HT .417000 1.00800 0 7358 BULK 2154 TIP3 OH2 OT -.834000 15.9994 0 7359 BULK 2154 TIP3 H1 HT .417000 1.00800 0 7360 BULK 2154 TIP3 H2 HT .417000 1.00800 0 7361 BULK 2155 TIP3 OH2 OT -.834000 15.9994 0 7362 BULK 2155 TIP3 H1 HT .417000 1.00800 0 7363 BULK 2155 TIP3 H2 HT .417000 1.00800 0 7364 BULK 2156 TIP3 OH2 OT -.834000 15.9994 0 7365 BULK 2156 TIP3 H1 HT .417000 1.00800 0 7366 BULK 2156 TIP3 H2 HT .417000 1.00800 0 7367 BULK 2157 TIP3 OH2 OT -.834000 15.9994 0 7368 BULK 2157 TIP3 H1 HT .417000 1.00800 0 7369 BULK 2157 TIP3 H2 HT .417000 1.00800 0 7370 BULK 2158 TIP3 OH2 OT -.834000 15.9994 0 7371 BULK 2158 TIP3 H1 HT .417000 1.00800 0 7372 BULK 2158 TIP3 H2 HT .417000 1.00800 0 7373 BULK 2159 TIP3 OH2 OT -.834000 15.9994 0 7374 BULK 2159 TIP3 H1 HT .417000 1.00800 0 7375 BULK 2159 TIP3 H2 HT .417000 1.00800 0 7376 BULK 2160 TIP3 OH2 OT -.834000 15.9994 0 7377 BULK 2160 TIP3 H1 HT .417000 1.00800 0 7378 BULK 2160 TIP3 H2 HT .417000 1.00800 0 7379 BULK 2161 TIP3 OH2 OT -.834000 15.9994 0 7380 BULK 2161 TIP3 H1 HT .417000 1.00800 0 7381 BULK 2161 TIP3 H2 HT .417000 1.00800 0 7382 BULK 2162 TIP3 OH2 OT -.834000 15.9994 0 7383 BULK 2162 TIP3 H1 HT .417000 1.00800 0 7384 BULK 2162 TIP3 H2 HT .417000 1.00800 0 7385 BULK 2163 TIP3 OH2 OT -.834000 15.9994 0 7386 BULK 2163 TIP3 H1 HT .417000 1.00800 0 7387 BULK 2163 TIP3 H2 HT .417000 1.00800 0 7388 BULK 2164 TIP3 OH2 OT -.834000 15.9994 0 7389 BULK 2164 TIP3 H1 HT .417000 1.00800 0 7390 BULK 2164 TIP3 H2 HT .417000 1.00800 0 7391 BULK 2165 TIP3 OH2 OT -.834000 15.9994 0 7392 BULK 2165 TIP3 H1 HT .417000 1.00800 0 7393 BULK 2165 TIP3 H2 HT .417000 1.00800 0 7394 BULK 2166 TIP3 OH2 OT -.834000 15.9994 0 7395 BULK 2166 TIP3 H1 HT .417000 1.00800 0 7396 BULK 2166 TIP3 H2 HT .417000 1.00800 0 7397 BULK 2167 TIP3 OH2 OT -.834000 15.9994 0 7398 BULK 2167 TIP3 H1 HT .417000 1.00800 0 7399 BULK 2167 TIP3 H2 HT .417000 1.00800 0 7400 BULK 2168 TIP3 OH2 OT -.834000 15.9994 0 7401 BULK 2168 TIP3 H1 HT .417000 1.00800 0 7402 BULK 2168 TIP3 H2 HT .417000 1.00800 0 7403 BULK 2169 TIP3 OH2 OT -.834000 15.9994 0 7404 BULK 2169 TIP3 H1 HT .417000 1.00800 0 7405 BULK 2169 TIP3 H2 HT .417000 1.00800 0 7406 BULK 2170 TIP3 OH2 OT -.834000 15.9994 0 7407 BULK 2170 TIP3 H1 HT .417000 1.00800 0 7408 BULK 2170 TIP3 H2 HT .417000 1.00800 0 7409 BULK 2171 TIP3 OH2 OT -.834000 15.9994 0 7410 BULK 2171 TIP3 H1 HT .417000 1.00800 0 7411 BULK 2171 TIP3 H2 HT .417000 1.00800 0 7412 BULK 2172 TIP3 OH2 OT -.834000 15.9994 0 7413 BULK 2172 TIP3 H1 HT .417000 1.00800 0 7414 BULK 2172 TIP3 H2 HT .417000 1.00800 0 7415 BULK 2173 TIP3 OH2 OT -.834000 15.9994 0 7416 BULK 2173 TIP3 H1 HT .417000 1.00800 0 7417 BULK 2173 TIP3 H2 HT .417000 1.00800 0 7418 BULK 2174 TIP3 OH2 OT -.834000 15.9994 0 7419 BULK 2174 TIP3 H1 HT .417000 1.00800 0 7420 BULK 2174 TIP3 H2 HT .417000 1.00800 0 7421 BULK 2175 TIP3 OH2 OT -.834000 15.9994 0 7422 BULK 2175 TIP3 H1 HT .417000 1.00800 0 7423 BULK 2175 TIP3 H2 HT .417000 1.00800 0 7424 BULK 2176 TIP3 OH2 OT -.834000 15.9994 0 7425 BULK 2176 TIP3 H1 HT .417000 1.00800 0 7426 BULK 2176 TIP3 H2 HT .417000 1.00800 0 7427 BULK 2177 TIP3 OH2 OT -.834000 15.9994 0 7428 BULK 2177 TIP3 H1 HT .417000 1.00800 0 7429 BULK 2177 TIP3 H2 HT .417000 1.00800 0 7430 BULK 2178 TIP3 OH2 OT -.834000 15.9994 0 7431 BULK 2178 TIP3 H1 HT .417000 1.00800 0 7432 BULK 2178 TIP3 H2 HT .417000 1.00800 0 7433 BULK 2179 TIP3 OH2 OT -.834000 15.9994 0 7434 BULK 2179 TIP3 H1 HT .417000 1.00800 0 7435 BULK 2179 TIP3 H2 HT .417000 1.00800 0 7436 BULK 2180 TIP3 OH2 OT -.834000 15.9994 0 7437 BULK 2180 TIP3 H1 HT .417000 1.00800 0 7438 BULK 2180 TIP3 H2 HT .417000 1.00800 0 7439 BULK 2181 TIP3 OH2 OT -.834000 15.9994 0 7440 BULK 2181 TIP3 H1 HT .417000 1.00800 0 7441 BULK 2181 TIP3 H2 HT .417000 1.00800 0 7442 BULK 2182 TIP3 OH2 OT -.834000 15.9994 0 7443 BULK 2182 TIP3 H1 HT .417000 1.00800 0 7444 BULK 2182 TIP3 H2 HT .417000 1.00800 0 7445 BULK 2183 TIP3 OH2 OT -.834000 15.9994 0 7446 BULK 2183 TIP3 H1 HT .417000 1.00800 0 7447 BULK 2183 TIP3 H2 HT .417000 1.00800 0 7448 BULK 2184 TIP3 OH2 OT -.834000 15.9994 0 7449 BULK 2184 TIP3 H1 HT .417000 1.00800 0 7450 BULK 2184 TIP3 H2 HT .417000 1.00800 0 7451 BULK 2185 TIP3 OH2 OT -.834000 15.9994 0 7452 BULK 2185 TIP3 H1 HT .417000 1.00800 0 7453 BULK 2185 TIP3 H2 HT .417000 1.00800 0 7454 BULK 2186 TIP3 OH2 OT -.834000 15.9994 0 7455 BULK 2186 TIP3 H1 HT .417000 1.00800 0 7456 BULK 2186 TIP3 H2 HT .417000 1.00800 0 7457 BULK 2187 TIP3 OH2 OT -.834000 15.9994 0 7458 BULK 2187 TIP3 H1 HT .417000 1.00800 0 7459 BULK 2187 TIP3 H2 HT .417000 1.00800 0 7460 BULK 2188 TIP3 OH2 OT -.834000 15.9994 0 7461 BULK 2188 TIP3 H1 HT .417000 1.00800 0 7462 BULK 2188 TIP3 H2 HT .417000 1.00800 0 7463 BULK 2189 TIP3 OH2 OT -.834000 15.9994 0 7464 BULK 2189 TIP3 H1 HT .417000 1.00800 0 7465 BULK 2189 TIP3 H2 HT .417000 1.00800 0 7466 BULK 2190 TIP3 OH2 OT -.834000 15.9994 0 7467 BULK 2190 TIP3 H1 HT .417000 1.00800 0 7468 BULK 2190 TIP3 H2 HT .417000 1.00800 0 7469 BULK 2191 TIP3 OH2 OT -.834000 15.9994 0 7470 BULK 2191 TIP3 H1 HT .417000 1.00800 0 7471 BULK 2191 TIP3 H2 HT .417000 1.00800 0 7472 BULK 2192 TIP3 OH2 OT -.834000 15.9994 0 7473 BULK 2192 TIP3 H1 HT .417000 1.00800 0 7474 BULK 2192 TIP3 H2 HT .417000 1.00800 0 7475 BULK 2193 TIP3 OH2 OT -.834000 15.9994 0 7476 BULK 2193 TIP3 H1 HT .417000 1.00800 0 7477 BULK 2193 TIP3 H2 HT .417000 1.00800 0 7478 BULK 2194 TIP3 OH2 OT -.834000 15.9994 0 7479 BULK 2194 TIP3 H1 HT .417000 1.00800 0 7480 BULK 2194 TIP3 H2 HT .417000 1.00800 0 7481 BULK 2195 TIP3 OH2 OT -.834000 15.9994 0 7482 BULK 2195 TIP3 H1 HT .417000 1.00800 0 7483 BULK 2195 TIP3 H2 HT .417000 1.00800 0 7484 BULK 2196 TIP3 OH2 OT -.834000 15.9994 0 7485 BULK 2196 TIP3 H1 HT .417000 1.00800 0 7486 BULK 2196 TIP3 H2 HT .417000 1.00800 0 7487 BULK 2197 TIP3 OH2 OT -.834000 15.9994 0 7488 BULK 2197 TIP3 H1 HT .417000 1.00800 0 7489 BULK 2197 TIP3 H2 HT .417000 1.00800 0 7490 BULK 2198 TIP3 OH2 OT -.834000 15.9994 0 7491 BULK 2198 TIP3 H1 HT .417000 1.00800 0 7492 BULK 2198 TIP3 H2 HT .417000 1.00800 0 7493 BULK 2199 TIP3 OH2 OT -.834000 15.9994 0 7494 BULK 2199 TIP3 H1 HT .417000 1.00800 0 7495 BULK 2199 TIP3 H2 HT .417000 1.00800 0 7496 BULK 2200 TIP3 OH2 OT -.834000 15.9994 0 7497 BULK 2200 TIP3 H1 HT .417000 1.00800 0 7498 BULK 2200 TIP3 H2 HT .417000 1.00800 0 7499 BULK 2201 TIP3 OH2 OT -.834000 15.9994 0 7500 BULK 2201 TIP3 H1 HT .417000 1.00800 0 7501 BULK 2201 TIP3 H2 HT .417000 1.00800 0 7502 BULK 2202 TIP3 OH2 OT -.834000 15.9994 0 7503 BULK 2202 TIP3 H1 HT .417000 1.00800 0 7504 BULK 2202 TIP3 H2 HT .417000 1.00800 0 7505 BULK 2203 TIP3 OH2 OT -.834000 15.9994 0 7506 BULK 2203 TIP3 H1 HT .417000 1.00800 0 7507 BULK 2203 TIP3 H2 HT .417000 1.00800 0 7508 BULK 2204 TIP3 OH2 OT -.834000 15.9994 0 7509 BULK 2204 TIP3 H1 HT .417000 1.00800 0 7510 BULK 2204 TIP3 H2 HT .417000 1.00800 0 7511 BULK 2205 TIP3 OH2 OT -.834000 15.9994 0 7512 BULK 2205 TIP3 H1 HT .417000 1.00800 0 7513 BULK 2205 TIP3 H2 HT .417000 1.00800 0 7514 BULK 2206 TIP3 OH2 OT -.834000 15.9994 0 7515 BULK 2206 TIP3 H1 HT .417000 1.00800 0 7516 BULK 2206 TIP3 H2 HT .417000 1.00800 0 7517 BULK 2207 TIP3 OH2 OT -.834000 15.9994 0 7518 BULK 2207 TIP3 H1 HT .417000 1.00800 0 7519 BULK 2207 TIP3 H2 HT .417000 1.00800 0 7520 BULK 2208 TIP3 OH2 OT -.834000 15.9994 0 7521 BULK 2208 TIP3 H1 HT .417000 1.00800 0 7522 BULK 2208 TIP3 H2 HT .417000 1.00800 0 7523 BULK 2209 TIP3 OH2 OT -.834000 15.9994 0 7524 BULK 2209 TIP3 H1 HT .417000 1.00800 0 7525 BULK 2209 TIP3 H2 HT .417000 1.00800 0 7526 BULK 2210 TIP3 OH2 OT -.834000 15.9994 0 7527 BULK 2210 TIP3 H1 HT .417000 1.00800 0 7528 BULK 2210 TIP3 H2 HT .417000 1.00800 0 7529 BULK 2211 TIP3 OH2 OT -.834000 15.9994 0 7530 BULK 2211 TIP3 H1 HT .417000 1.00800 0 7531 BULK 2211 TIP3 H2 HT .417000 1.00800 0 7532 BULK 2212 TIP3 OH2 OT -.834000 15.9994 0 7533 BULK 2212 TIP3 H1 HT .417000 1.00800 0 7534 BULK 2212 TIP3 H2 HT .417000 1.00800 0 7535 BULK 2213 TIP3 OH2 OT -.834000 15.9994 0 7536 BULK 2213 TIP3 H1 HT .417000 1.00800 0 7537 BULK 2213 TIP3 H2 HT .417000 1.00800 0 7538 BULK 2214 TIP3 OH2 OT -.834000 15.9994 0 7539 BULK 2214 TIP3 H1 HT .417000 1.00800 0 7540 BULK 2214 TIP3 H2 HT .417000 1.00800 0 7541 BULK 2215 TIP3 OH2 OT -.834000 15.9994 0 7542 BULK 2215 TIP3 H1 HT .417000 1.00800 0 7543 BULK 2215 TIP3 H2 HT .417000 1.00800 0 7544 BULK 2216 TIP3 OH2 OT -.834000 15.9994 0 7545 BULK 2216 TIP3 H1 HT .417000 1.00800 0 7546 BULK 2216 TIP3 H2 HT .417000 1.00800 0 7547 BULK 2217 TIP3 OH2 OT -.834000 15.9994 0 7548 BULK 2217 TIP3 H1 HT .417000 1.00800 0 7549 BULK 2217 TIP3 H2 HT .417000 1.00800 0 7550 BULK 2218 TIP3 OH2 OT -.834000 15.9994 0 7551 BULK 2218 TIP3 H1 HT .417000 1.00800 0 7552 BULK 2218 TIP3 H2 HT .417000 1.00800 0 7553 BULK 2219 TIP3 OH2 OT -.834000 15.9994 0 7554 BULK 2219 TIP3 H1 HT .417000 1.00800 0 7555 BULK 2219 TIP3 H2 HT .417000 1.00800 0 7556 BULK 2220 TIP3 OH2 OT -.834000 15.9994 0 7557 BULK 2220 TIP3 H1 HT .417000 1.00800 0 7558 BULK 2220 TIP3 H2 HT .417000 1.00800 0 7559 BULK 2221 TIP3 OH2 OT -.834000 15.9994 0 7560 BULK 2221 TIP3 H1 HT .417000 1.00800 0 7561 BULK 2221 TIP3 H2 HT .417000 1.00800 0 7562 BULK 2222 TIP3 OH2 OT -.834000 15.9994 0 7563 BULK 2222 TIP3 H1 HT .417000 1.00800 0 7564 BULK 2222 TIP3 H2 HT .417000 1.00800 0 7565 BULK 2223 TIP3 OH2 OT -.834000 15.9994 0 7566 BULK 2223 TIP3 H1 HT .417000 1.00800 0 7567 BULK 2223 TIP3 H2 HT .417000 1.00800 0 7568 BULK 2224 TIP3 OH2 OT -.834000 15.9994 0 7569 BULK 2224 TIP3 H1 HT .417000 1.00800 0 7570 BULK 2224 TIP3 H2 HT .417000 1.00800 0 7571 BULK 2225 TIP3 OH2 OT -.834000 15.9994 0 7572 BULK 2225 TIP3 H1 HT .417000 1.00800 0 7573 BULK 2225 TIP3 H2 HT .417000 1.00800 0 7574 BULK 2226 TIP3 OH2 OT -.834000 15.9994 0 7575 BULK 2226 TIP3 H1 HT .417000 1.00800 0 7576 BULK 2226 TIP3 H2 HT .417000 1.00800 0 7577 BULK 2227 TIP3 OH2 OT -.834000 15.9994 0 7578 BULK 2227 TIP3 H1 HT .417000 1.00800 0 7579 BULK 2227 TIP3 H2 HT .417000 1.00800 0 7580 BULK 2228 TIP3 OH2 OT -.834000 15.9994 0 7581 BULK 2228 TIP3 H1 HT .417000 1.00800 0 7582 BULK 2228 TIP3 H2 HT .417000 1.00800 0 7583 BULK 2229 TIP3 OH2 OT -.834000 15.9994 0 7584 BULK 2229 TIP3 H1 HT .417000 1.00800 0 7585 BULK 2229 TIP3 H2 HT .417000 1.00800 0 7586 BULK 2230 TIP3 OH2 OT -.834000 15.9994 0 7587 BULK 2230 TIP3 H1 HT .417000 1.00800 0 7588 BULK 2230 TIP3 H2 HT .417000 1.00800 0 7589 BULK 2231 TIP3 OH2 OT -.834000 15.9994 0 7590 BULK 2231 TIP3 H1 HT .417000 1.00800 0 7591 BULK 2231 TIP3 H2 HT .417000 1.00800 0 7592 BULK 2232 TIP3 OH2 OT -.834000 15.9994 0 7593 BULK 2232 TIP3 H1 HT .417000 1.00800 0 7594 BULK 2232 TIP3 H2 HT .417000 1.00800 0 7595 BULK 2233 TIP3 OH2 OT -.834000 15.9994 0 7596 BULK 2233 TIP3 H1 HT .417000 1.00800 0 7597 BULK 2233 TIP3 H2 HT .417000 1.00800 0 7598 BULK 2234 TIP3 OH2 OT -.834000 15.9994 0 7599 BULK 2234 TIP3 H1 HT .417000 1.00800 0 7600 BULK 2234 TIP3 H2 HT .417000 1.00800 0 7601 BULK 2235 TIP3 OH2 OT -.834000 15.9994 0 7602 BULK 2235 TIP3 H1 HT .417000 1.00800 0 7603 BULK 2235 TIP3 H2 HT .417000 1.00800 0 7604 BULK 2236 TIP3 OH2 OT -.834000 15.9994 0 7605 BULK 2236 TIP3 H1 HT .417000 1.00800 0 7606 BULK 2236 TIP3 H2 HT .417000 1.00800 0 7607 BULK 2237 TIP3 OH2 OT -.834000 15.9994 0 7608 BULK 2237 TIP3 H1 HT .417000 1.00800 0 7609 BULK 2237 TIP3 H2 HT .417000 1.00800 0 7610 BULK 2238 TIP3 OH2 OT -.834000 15.9994 0 7611 BULK 2238 TIP3 H1 HT .417000 1.00800 0 7612 BULK 2238 TIP3 H2 HT .417000 1.00800 0 7613 BULK 2239 TIP3 OH2 OT -.834000 15.9994 0 7614 BULK 2239 TIP3 H1 HT .417000 1.00800 0 7615 BULK 2239 TIP3 H2 HT .417000 1.00800 0 7616 BULK 2240 TIP3 OH2 OT -.834000 15.9994 0 7617 BULK 2240 TIP3 H1 HT .417000 1.00800 0 7618 BULK 2240 TIP3 H2 HT .417000 1.00800 0 7619 BULK 2241 TIP3 OH2 OT -.834000 15.9994 0 7620 BULK 2241 TIP3 H1 HT .417000 1.00800 0 7621 BULK 2241 TIP3 H2 HT .417000 1.00800 0 7622 BULK 2242 TIP3 OH2 OT -.834000 15.9994 0 7623 BULK 2242 TIP3 H1 HT .417000 1.00800 0 7624 BULK 2242 TIP3 H2 HT .417000 1.00800 0 7625 BULK 2243 TIP3 OH2 OT -.834000 15.9994 0 7626 BULK 2243 TIP3 H1 HT .417000 1.00800 0 7627 BULK 2243 TIP3 H2 HT .417000 1.00800 0 7628 BULK 2244 TIP3 OH2 OT -.834000 15.9994 0 7629 BULK 2244 TIP3 H1 HT .417000 1.00800 0 7630 BULK 2244 TIP3 H2 HT .417000 1.00800 0 7631 BULK 2245 TIP3 OH2 OT -.834000 15.9994 0 7632 BULK 2245 TIP3 H1 HT .417000 1.00800 0 7633 BULK 2245 TIP3 H2 HT .417000 1.00800 0 7634 BULK 2246 TIP3 OH2 OT -.834000 15.9994 0 7635 BULK 2246 TIP3 H1 HT .417000 1.00800 0 7636 BULK 2246 TIP3 H2 HT .417000 1.00800 0 7637 BULK 2247 TIP3 OH2 OT -.834000 15.9994 0 7638 BULK 2247 TIP3 H1 HT .417000 1.00800 0 7639 BULK 2247 TIP3 H2 HT .417000 1.00800 0 7640 BULK 2248 TIP3 OH2 OT -.834000 15.9994 0 7641 BULK 2248 TIP3 H1 HT .417000 1.00800 0 7642 BULK 2248 TIP3 H2 HT .417000 1.00800 0 7643 BULK 2249 TIP3 OH2 OT -.834000 15.9994 0 7644 BULK 2249 TIP3 H1 HT .417000 1.00800 0 7645 BULK 2249 TIP3 H2 HT .417000 1.00800 0 7646 BULK 2250 TIP3 OH2 OT -.834000 15.9994 0 7647 BULK 2250 TIP3 H1 HT .417000 1.00800 0 7648 BULK 2250 TIP3 H2 HT .417000 1.00800 0 7649 BULK 2251 TIP3 OH2 OT -.834000 15.9994 0 7650 BULK 2251 TIP3 H1 HT .417000 1.00800 0 7651 BULK 2251 TIP3 H2 HT .417000 1.00800 0 7652 BULK 2252 TIP3 OH2 OT -.834000 15.9994 0 7653 BULK 2252 TIP3 H1 HT .417000 1.00800 0 7654 BULK 2252 TIP3 H2 HT .417000 1.00800 0 7655 BULK 2253 TIP3 OH2 OT -.834000 15.9994 0 7656 BULK 2253 TIP3 H1 HT .417000 1.00800 0 7657 BULK 2253 TIP3 H2 HT .417000 1.00800 0 7658 BULK 2254 TIP3 OH2 OT -.834000 15.9994 0 7659 BULK 2254 TIP3 H1 HT .417000 1.00800 0 7660 BULK 2254 TIP3 H2 HT .417000 1.00800 0 7661 BULK 2255 TIP3 OH2 OT -.834000 15.9994 0 7662 BULK 2255 TIP3 H1 HT .417000 1.00800 0 7663 BULK 2255 TIP3 H2 HT .417000 1.00800 0 7664 BULK 2256 TIP3 OH2 OT -.834000 15.9994 0 7665 BULK 2256 TIP3 H1 HT .417000 1.00800 0 7666 BULK 2256 TIP3 H2 HT .417000 1.00800 0 7667 BULK 2257 TIP3 OH2 OT -.834000 15.9994 0 7668 BULK 2257 TIP3 H1 HT .417000 1.00800 0 7669 BULK 2257 TIP3 H2 HT .417000 1.00800 0 7670 BULK 2258 TIP3 OH2 OT -.834000 15.9994 0 7671 BULK 2258 TIP3 H1 HT .417000 1.00800 0 7672 BULK 2258 TIP3 H2 HT .417000 1.00800 0 7673 BULK 2259 TIP3 OH2 OT -.834000 15.9994 0 7674 BULK 2259 TIP3 H1 HT .417000 1.00800 0 7675 BULK 2259 TIP3 H2 HT .417000 1.00800 0 7676 BULK 2260 TIP3 OH2 OT -.834000 15.9994 0 7677 BULK 2260 TIP3 H1 HT .417000 1.00800 0 7678 BULK 2260 TIP3 H2 HT .417000 1.00800 0 7679 BULK 2261 TIP3 OH2 OT -.834000 15.9994 0 7680 BULK 2261 TIP3 H1 HT .417000 1.00800 0 7681 BULK 2261 TIP3 H2 HT .417000 1.00800 0 7682 BULK 2262 TIP3 OH2 OT -.834000 15.9994 0 7683 BULK 2262 TIP3 H1 HT .417000 1.00800 0 7684 BULK 2262 TIP3 H2 HT .417000 1.00800 0 7685 BULK 2263 TIP3 OH2 OT -.834000 15.9994 0 7686 BULK 2263 TIP3 H1 HT .417000 1.00800 0 7687 BULK 2263 TIP3 H2 HT .417000 1.00800 0 7688 BULK 2264 TIP3 OH2 OT -.834000 15.9994 0 7689 BULK 2264 TIP3 H1 HT .417000 1.00800 0 7690 BULK 2264 TIP3 H2 HT .417000 1.00800 0 7691 BULK 2265 TIP3 OH2 OT -.834000 15.9994 0 7692 BULK 2265 TIP3 H1 HT .417000 1.00800 0 7693 BULK 2265 TIP3 H2 HT .417000 1.00800 0 7694 BULK 2266 TIP3 OH2 OT -.834000 15.9994 0 7695 BULK 2266 TIP3 H1 HT .417000 1.00800 0 7696 BULK 2266 TIP3 H2 HT .417000 1.00800 0 7697 BULK 2267 TIP3 OH2 OT -.834000 15.9994 0 7698 BULK 2267 TIP3 H1 HT .417000 1.00800 0 7699 BULK 2267 TIP3 H2 HT .417000 1.00800 0 7700 BULK 2268 TIP3 OH2 OT -.834000 15.9994 0 7701 BULK 2268 TIP3 H1 HT .417000 1.00800 0 7702 BULK 2268 TIP3 H2 HT .417000 1.00800 0 7703 BULK 2269 TIP3 OH2 OT -.834000 15.9994 0 7704 BULK 2269 TIP3 H1 HT .417000 1.00800 0 7705 BULK 2269 TIP3 H2 HT .417000 1.00800 0 7706 BULK 2270 TIP3 OH2 OT -.834000 15.9994 0 7707 BULK 2270 TIP3 H1 HT .417000 1.00800 0 7708 BULK 2270 TIP3 H2 HT .417000 1.00800 0 7709 BULK 2271 TIP3 OH2 OT -.834000 15.9994 0 7710 BULK 2271 TIP3 H1 HT .417000 1.00800 0 7711 BULK 2271 TIP3 H2 HT .417000 1.00800 0 7712 BULK 2272 TIP3 OH2 OT -.834000 15.9994 0 7713 BULK 2272 TIP3 H1 HT .417000 1.00800 0 7714 BULK 2272 TIP3 H2 HT .417000 1.00800 0 7715 BULK 2273 TIP3 OH2 OT -.834000 15.9994 0 7716 BULK 2273 TIP3 H1 HT .417000 1.00800 0 7717 BULK 2273 TIP3 H2 HT .417000 1.00800 0 7718 BULK 2274 TIP3 OH2 OT -.834000 15.9994 0 7719 BULK 2274 TIP3 H1 HT .417000 1.00800 0 7720 BULK 2274 TIP3 H2 HT .417000 1.00800 0 7721 BULK 2275 TIP3 OH2 OT -.834000 15.9994 0 7722 BULK 2275 TIP3 H1 HT .417000 1.00800 0 7723 BULK 2275 TIP3 H2 HT .417000 1.00800 0 7724 BULK 2276 TIP3 OH2 OT -.834000 15.9994 0 7725 BULK 2276 TIP3 H1 HT .417000 1.00800 0 7726 BULK 2276 TIP3 H2 HT .417000 1.00800 0 7727 BULK 2277 TIP3 OH2 OT -.834000 15.9994 0 7728 BULK 2277 TIP3 H1 HT .417000 1.00800 0 7729 BULK 2277 TIP3 H2 HT .417000 1.00800 0 7730 BULK 2278 TIP3 OH2 OT -.834000 15.9994 0 7731 BULK 2278 TIP3 H1 HT .417000 1.00800 0 7732 BULK 2278 TIP3 H2 HT .417000 1.00800 0 7733 BULK 2279 TIP3 OH2 OT -.834000 15.9994 0 7734 BULK 2279 TIP3 H1 HT .417000 1.00800 0 7735 BULK 2279 TIP3 H2 HT .417000 1.00800 0 7736 BULK 2280 TIP3 OH2 OT -.834000 15.9994 0 7737 BULK 2280 TIP3 H1 HT .417000 1.00800 0 7738 BULK 2280 TIP3 H2 HT .417000 1.00800 0 7739 BULK 2281 TIP3 OH2 OT -.834000 15.9994 0 7740 BULK 2281 TIP3 H1 HT .417000 1.00800 0 7741 BULK 2281 TIP3 H2 HT .417000 1.00800 0 7742 BULK 2282 TIP3 OH2 OT -.834000 15.9994 0 7743 BULK 2282 TIP3 H1 HT .417000 1.00800 0 7744 BULK 2282 TIP3 H2 HT .417000 1.00800 0 7745 BULK 2283 TIP3 OH2 OT -.834000 15.9994 0 7746 BULK 2283 TIP3 H1 HT .417000 1.00800 0 7747 BULK 2283 TIP3 H2 HT .417000 1.00800 0 7748 BULK 2284 TIP3 OH2 OT -.834000 15.9994 0 7749 BULK 2284 TIP3 H1 HT .417000 1.00800 0 7750 BULK 2284 TIP3 H2 HT .417000 1.00800 0 7751 BULK 2285 TIP3 OH2 OT -.834000 15.9994 0 7752 BULK 2285 TIP3 H1 HT .417000 1.00800 0 7753 BULK 2285 TIP3 H2 HT .417000 1.00800 0 7754 BULK 2286 TIP3 OH2 OT -.834000 15.9994 0 7755 BULK 2286 TIP3 H1 HT .417000 1.00800 0 7756 BULK 2286 TIP3 H2 HT .417000 1.00800 0 7757 BULK 2287 TIP3 OH2 OT -.834000 15.9994 0 7758 BULK 2287 TIP3 H1 HT .417000 1.00800 0 7759 BULK 2287 TIP3 H2 HT .417000 1.00800 0 7760 BULK 2288 TIP3 OH2 OT -.834000 15.9994 0 7761 BULK 2288 TIP3 H1 HT .417000 1.00800 0 7762 BULK 2288 TIP3 H2 HT .417000 1.00800 0 7763 BULK 2289 TIP3 OH2 OT -.834000 15.9994 0 7764 BULK 2289 TIP3 H1 HT .417000 1.00800 0 7765 BULK 2289 TIP3 H2 HT .417000 1.00800 0 7766 BULK 2290 TIP3 OH2 OT -.834000 15.9994 0 7767 BULK 2290 TIP3 H1 HT .417000 1.00800 0 7768 BULK 2290 TIP3 H2 HT .417000 1.00800 0 7769 BULK 2291 TIP3 OH2 OT -.834000 15.9994 0 7770 BULK 2291 TIP3 H1 HT .417000 1.00800 0 7771 BULK 2291 TIP3 H2 HT .417000 1.00800 0 7772 BULK 2292 TIP3 OH2 OT -.834000 15.9994 0 7773 BULK 2292 TIP3 H1 HT .417000 1.00800 0 7774 BULK 2292 TIP3 H2 HT .417000 1.00800 0 7775 BULK 2293 TIP3 OH2 OT -.834000 15.9994 0 7776 BULK 2293 TIP3 H1 HT .417000 1.00800 0 7777 BULK 2293 TIP3 H2 HT .417000 1.00800 0 7778 BULK 2294 TIP3 OH2 OT -.834000 15.9994 0 7779 BULK 2294 TIP3 H1 HT .417000 1.00800 0 7780 BULK 2294 TIP3 H2 HT .417000 1.00800 0 7781 BULK 2295 TIP3 OH2 OT -.834000 15.9994 0 7782 BULK 2295 TIP3 H1 HT .417000 1.00800 0 7783 BULK 2295 TIP3 H2 HT .417000 1.00800 0 7784 BULK 2296 TIP3 OH2 OT -.834000 15.9994 0 7785 BULK 2296 TIP3 H1 HT .417000 1.00800 0 7786 BULK 2296 TIP3 H2 HT .417000 1.00800 0 7787 BULK 2297 TIP3 OH2 OT -.834000 15.9994 0 7788 BULK 2297 TIP3 H1 HT .417000 1.00800 0 7789 BULK 2297 TIP3 H2 HT .417000 1.00800 0 7790 BULK 2298 TIP3 OH2 OT -.834000 15.9994 0 7791 BULK 2298 TIP3 H1 HT .417000 1.00800 0 7792 BULK 2298 TIP3 H2 HT .417000 1.00800 0 7793 BULK 2299 TIP3 OH2 OT -.834000 15.9994 0 7794 BULK 2299 TIP3 H1 HT .417000 1.00800 0 7795 BULK 2299 TIP3 H2 HT .417000 1.00800 0 7796 BULK 2300 TIP3 OH2 OT -.834000 15.9994 0 7797 BULK 2300 TIP3 H1 HT .417000 1.00800 0 7798 BULK 2300 TIP3 H2 HT .417000 1.00800 0 7799 BULK 2301 TIP3 OH2 OT -.834000 15.9994 0 7800 BULK 2301 TIP3 H1 HT .417000 1.00800 0 7801 BULK 2301 TIP3 H2 HT .417000 1.00800 0 7802 BULK 2302 TIP3 OH2 OT -.834000 15.9994 0 7803 BULK 2302 TIP3 H1 HT .417000 1.00800 0 7804 BULK 2302 TIP3 H2 HT .417000 1.00800 0 7805 BULK 2303 TIP3 OH2 OT -.834000 15.9994 0 7806 BULK 2303 TIP3 H1 HT .417000 1.00800 0 7807 BULK 2303 TIP3 H2 HT .417000 1.00800 0 7808 BULK 2304 TIP3 OH2 OT -.834000 15.9994 0 7809 BULK 2304 TIP3 H1 HT .417000 1.00800 0 7810 BULK 2304 TIP3 H2 HT .417000 1.00800 0 7811 BULK 2305 TIP3 OH2 OT -.834000 15.9994 0 7812 BULK 2305 TIP3 H1 HT .417000 1.00800 0 7813 BULK 2305 TIP3 H2 HT .417000 1.00800 0 7814 BULK 2306 TIP3 OH2 OT -.834000 15.9994 0 7815 BULK 2306 TIP3 H1 HT .417000 1.00800 0 7816 BULK 2306 TIP3 H2 HT .417000 1.00800 0 7817 BULK 2307 TIP3 OH2 OT -.834000 15.9994 0 7818 BULK 2307 TIP3 H1 HT .417000 1.00800 0 7819 BULK 2307 TIP3 H2 HT .417000 1.00800 0 7820 BULK 2308 TIP3 OH2 OT -.834000 15.9994 0 7821 BULK 2308 TIP3 H1 HT .417000 1.00800 0 7822 BULK 2308 TIP3 H2 HT .417000 1.00800 0 7823 BULK 2309 TIP3 OH2 OT -.834000 15.9994 0 7824 BULK 2309 TIP3 H1 HT .417000 1.00800 0 7825 BULK 2309 TIP3 H2 HT .417000 1.00800 0 7826 BULK 2310 TIP3 OH2 OT -.834000 15.9994 0 7827 BULK 2310 TIP3 H1 HT .417000 1.00800 0 7828 BULK 2310 TIP3 H2 HT .417000 1.00800 0 7829 BULK 2311 TIP3 OH2 OT -.834000 15.9994 0 7830 BULK 2311 TIP3 H1 HT .417000 1.00800 0 7831 BULK 2311 TIP3 H2 HT .417000 1.00800 0 7832 BULK 2312 TIP3 OH2 OT -.834000 15.9994 0 7833 BULK 2312 TIP3 H1 HT .417000 1.00800 0 7834 BULK 2312 TIP3 H2 HT .417000 1.00800 0 7835 BULK 2313 TIP3 OH2 OT -.834000 15.9994 0 7836 BULK 2313 TIP3 H1 HT .417000 1.00800 0 7837 BULK 2313 TIP3 H2 HT .417000 1.00800 0 7838 BULK 2314 TIP3 OH2 OT -.834000 15.9994 0 7839 BULK 2314 TIP3 H1 HT .417000 1.00800 0 7840 BULK 2314 TIP3 H2 HT .417000 1.00800 0 7841 BULK 2315 TIP3 OH2 OT -.834000 15.9994 0 7842 BULK 2315 TIP3 H1 HT .417000 1.00800 0 7843 BULK 2315 TIP3 H2 HT .417000 1.00800 0 7844 BULK 2316 TIP3 OH2 OT -.834000 15.9994 0 7845 BULK 2316 TIP3 H1 HT .417000 1.00800 0 7846 BULK 2316 TIP3 H2 HT .417000 1.00800 0 7847 BULK 2317 TIP3 OH2 OT -.834000 15.9994 0 7848 BULK 2317 TIP3 H1 HT .417000 1.00800 0 7849 BULK 2317 TIP3 H2 HT .417000 1.00800 0 7850 BULK 2318 TIP3 OH2 OT -.834000 15.9994 0 7851 BULK 2318 TIP3 H1 HT .417000 1.00800 0 7852 BULK 2318 TIP3 H2 HT .417000 1.00800 0 7853 BULK 2319 TIP3 OH2 OT -.834000 15.9994 0 7854 BULK 2319 TIP3 H1 HT .417000 1.00800 0 7855 BULK 2319 TIP3 H2 HT .417000 1.00800 0 7856 BULK 2320 TIP3 OH2 OT -.834000 15.9994 0 7857 BULK 2320 TIP3 H1 HT .417000 1.00800 0 7858 BULK 2320 TIP3 H2 HT .417000 1.00800 0 7859 BULK 2321 TIP3 OH2 OT -.834000 15.9994 0 7860 BULK 2321 TIP3 H1 HT .417000 1.00800 0 7861 BULK 2321 TIP3 H2 HT .417000 1.00800 0 7862 BULK 2322 TIP3 OH2 OT -.834000 15.9994 0 7863 BULK 2322 TIP3 H1 HT .417000 1.00800 0 7864 BULK 2322 TIP3 H2 HT .417000 1.00800 0 7865 BULK 2323 TIP3 OH2 OT -.834000 15.9994 0 7866 BULK 2323 TIP3 H1 HT .417000 1.00800 0 7867 BULK 2323 TIP3 H2 HT .417000 1.00800 0 7868 BULK 2324 TIP3 OH2 OT -.834000 15.9994 0 7869 BULK 2324 TIP3 H1 HT .417000 1.00800 0 7870 BULK 2324 TIP3 H2 HT .417000 1.00800 0 7871 BULK 2325 TIP3 OH2 OT -.834000 15.9994 0 7872 BULK 2325 TIP3 H1 HT .417000 1.00800 0 7873 BULK 2325 TIP3 H2 HT .417000 1.00800 0 7874 BULK 2326 TIP3 OH2 OT -.834000 15.9994 0 7875 BULK 2326 TIP3 H1 HT .417000 1.00800 0 7876 BULK 2326 TIP3 H2 HT .417000 1.00800 0 7877 BULK 2327 TIP3 OH2 OT -.834000 15.9994 0 7878 BULK 2327 TIP3 H1 HT .417000 1.00800 0 7879 BULK 2327 TIP3 H2 HT .417000 1.00800 0 7880 BULK 2328 TIP3 OH2 OT -.834000 15.9994 0 7881 BULK 2328 TIP3 H1 HT .417000 1.00800 0 7882 BULK 2328 TIP3 H2 HT .417000 1.00800 0 7883 BULK 2329 TIP3 OH2 OT -.834000 15.9994 0 7884 BULK 2329 TIP3 H1 HT .417000 1.00800 0 7885 BULK 2329 TIP3 H2 HT .417000 1.00800 0 7886 BULK 2330 TIP3 OH2 OT -.834000 15.9994 0 7887 BULK 2330 TIP3 H1 HT .417000 1.00800 0 7888 BULK 2330 TIP3 H2 HT .417000 1.00800 0 7889 BULK 2331 TIP3 OH2 OT -.834000 15.9994 0 7890 BULK 2331 TIP3 H1 HT .417000 1.00800 0 7891 BULK 2331 TIP3 H2 HT .417000 1.00800 0 7892 BULK 2332 TIP3 OH2 OT -.834000 15.9994 0 7893 BULK 2332 TIP3 H1 HT .417000 1.00800 0 7894 BULK 2332 TIP3 H2 HT .417000 1.00800 0 7895 BULK 2333 TIP3 OH2 OT -.834000 15.9994 0 7896 BULK 2333 TIP3 H1 HT .417000 1.00800 0 7897 BULK 2333 TIP3 H2 HT .417000 1.00800 0 7898 BULK 2334 TIP3 OH2 OT -.834000 15.9994 0 7899 BULK 2334 TIP3 H1 HT .417000 1.00800 0 7900 BULK 2334 TIP3 H2 HT .417000 1.00800 0 7901 BULK 2335 TIP3 OH2 OT -.834000 15.9994 0 7902 BULK 2335 TIP3 H1 HT .417000 1.00800 0 7903 BULK 2335 TIP3 H2 HT .417000 1.00800 0 7904 BULK 2336 TIP3 OH2 OT -.834000 15.9994 0 7905 BULK 2336 TIP3 H1 HT .417000 1.00800 0 7906 BULK 2336 TIP3 H2 HT .417000 1.00800 0 7907 BULK 2337 TIP3 OH2 OT -.834000 15.9994 0 7908 BULK 2337 TIP3 H1 HT .417000 1.00800 0 7909 BULK 2337 TIP3 H2 HT .417000 1.00800 0 7910 BULK 2338 TIP3 OH2 OT -.834000 15.9994 0 7911 BULK 2338 TIP3 H1 HT .417000 1.00800 0 7912 BULK 2338 TIP3 H2 HT .417000 1.00800 0 7913 BULK 2339 TIP3 OH2 OT -.834000 15.9994 0 7914 BULK 2339 TIP3 H1 HT .417000 1.00800 0 7915 BULK 2339 TIP3 H2 HT .417000 1.00800 0 7916 BULK 2340 TIP3 OH2 OT -.834000 15.9994 0 7917 BULK 2340 TIP3 H1 HT .417000 1.00800 0 7918 BULK 2340 TIP3 H2 HT .417000 1.00800 0 7919 BULK 2341 TIP3 OH2 OT -.834000 15.9994 0 7920 BULK 2341 TIP3 H1 HT .417000 1.00800 0 7921 BULK 2341 TIP3 H2 HT .417000 1.00800 0 7922 BULK 2342 TIP3 OH2 OT -.834000 15.9994 0 7923 BULK 2342 TIP3 H1 HT .417000 1.00800 0 7924 BULK 2342 TIP3 H2 HT .417000 1.00800 0 7925 BULK 2343 TIP3 OH2 OT -.834000 15.9994 0 7926 BULK 2343 TIP3 H1 HT .417000 1.00800 0 7927 BULK 2343 TIP3 H2 HT .417000 1.00800 0 7928 BULK 2344 TIP3 OH2 OT -.834000 15.9994 0 7929 BULK 2344 TIP3 H1 HT .417000 1.00800 0 7930 BULK 2344 TIP3 H2 HT .417000 1.00800 0 7931 BULK 2345 TIP3 OH2 OT -.834000 15.9994 0 7932 BULK 2345 TIP3 H1 HT .417000 1.00800 0 7933 BULK 2345 TIP3 H2 HT .417000 1.00800 0 7934 BULK 2346 TIP3 OH2 OT -.834000 15.9994 0 7935 BULK 2346 TIP3 H1 HT .417000 1.00800 0 7936 BULK 2346 TIP3 H2 HT .417000 1.00800 0 7937 BULK 2347 TIP3 OH2 OT -.834000 15.9994 0 7938 BULK 2347 TIP3 H1 HT .417000 1.00800 0 7939 BULK 2347 TIP3 H2 HT .417000 1.00800 0 7940 BULK 2348 TIP3 OH2 OT -.834000 15.9994 0 7941 BULK 2348 TIP3 H1 HT .417000 1.00800 0 7942 BULK 2348 TIP3 H2 HT .417000 1.00800 0 7943 BULK 2349 TIP3 OH2 OT -.834000 15.9994 0 7944 BULK 2349 TIP3 H1 HT .417000 1.00800 0 7945 BULK 2349 TIP3 H2 HT .417000 1.00800 0 7946 BULK 2350 TIP3 OH2 OT -.834000 15.9994 0 7947 BULK 2350 TIP3 H1 HT .417000 1.00800 0 7948 BULK 2350 TIP3 H2 HT .417000 1.00800 0 7949 BULK 2351 TIP3 OH2 OT -.834000 15.9994 0 7950 BULK 2351 TIP3 H1 HT .417000 1.00800 0 7951 BULK 2351 TIP3 H2 HT .417000 1.00800 0 7952 BULK 2352 TIP3 OH2 OT -.834000 15.9994 0 7953 BULK 2352 TIP3 H1 HT .417000 1.00800 0 7954 BULK 2352 TIP3 H2 HT .417000 1.00800 0 7955 BULK 2353 TIP3 OH2 OT -.834000 15.9994 0 7956 BULK 2353 TIP3 H1 HT .417000 1.00800 0 7957 BULK 2353 TIP3 H2 HT .417000 1.00800 0 7958 BULK 2354 TIP3 OH2 OT -.834000 15.9994 0 7959 BULK 2354 TIP3 H1 HT .417000 1.00800 0 7960 BULK 2354 TIP3 H2 HT .417000 1.00800 0 7961 BULK 2355 TIP3 OH2 OT -.834000 15.9994 0 7962 BULK 2355 TIP3 H1 HT .417000 1.00800 0 7963 BULK 2355 TIP3 H2 HT .417000 1.00800 0 7964 BULK 2356 TIP3 OH2 OT -.834000 15.9994 0 7965 BULK 2356 TIP3 H1 HT .417000 1.00800 0 7966 BULK 2356 TIP3 H2 HT .417000 1.00800 0 7967 BULK 2357 TIP3 OH2 OT -.834000 15.9994 0 7968 BULK 2357 TIP3 H1 HT .417000 1.00800 0 7969 BULK 2357 TIP3 H2 HT .417000 1.00800 0 7970 BULK 2358 TIP3 OH2 OT -.834000 15.9994 0 7971 BULK 2358 TIP3 H1 HT .417000 1.00800 0 7972 BULK 2358 TIP3 H2 HT .417000 1.00800 0 7973 BULK 2359 TIP3 OH2 OT -.834000 15.9994 0 7974 BULK 2359 TIP3 H1 HT .417000 1.00800 0 7975 BULK 2359 TIP3 H2 HT .417000 1.00800 0 7976 BULK 2360 TIP3 OH2 OT -.834000 15.9994 0 7977 BULK 2360 TIP3 H1 HT .417000 1.00800 0 7978 BULK 2360 TIP3 H2 HT .417000 1.00800 0 7979 BULK 2361 TIP3 OH2 OT -.834000 15.9994 0 7980 BULK 2361 TIP3 H1 HT .417000 1.00800 0 7981 BULK 2361 TIP3 H2 HT .417000 1.00800 0 7982 BULK 2362 TIP3 OH2 OT -.834000 15.9994 0 7983 BULK 2362 TIP3 H1 HT .417000 1.00800 0 7984 BULK 2362 TIP3 H2 HT .417000 1.00800 0 7985 BULK 2363 TIP3 OH2 OT -.834000 15.9994 0 7986 BULK 2363 TIP3 H1 HT .417000 1.00800 0 7987 BULK 2363 TIP3 H2 HT .417000 1.00800 0 7988 BULK 2364 TIP3 OH2 OT -.834000 15.9994 0 7989 BULK 2364 TIP3 H1 HT .417000 1.00800 0 7990 BULK 2364 TIP3 H2 HT .417000 1.00800 0 7991 BULK 2365 TIP3 OH2 OT -.834000 15.9994 0 7992 BULK 2365 TIP3 H1 HT .417000 1.00800 0 7993 BULK 2365 TIP3 H2 HT .417000 1.00800 0 7994 BULK 2366 TIP3 OH2 OT -.834000 15.9994 0 7995 BULK 2366 TIP3 H1 HT .417000 1.00800 0 7996 BULK 2366 TIP3 H2 HT .417000 1.00800 0 7997 BULK 2367 TIP3 OH2 OT -.834000 15.9994 0 7998 BULK 2367 TIP3 H1 HT .417000 1.00800 0 7999 BULK 2367 TIP3 H2 HT .417000 1.00800 0 8000 BULK 2368 TIP3 OH2 OT -.834000 15.9994 0 8001 BULK 2368 TIP3 H1 HT .417000 1.00800 0 8002 BULK 2368 TIP3 H2 HT .417000 1.00800 0 8003 BULK 2369 TIP3 OH2 OT -.834000 15.9994 0 8004 BULK 2369 TIP3 H1 HT .417000 1.00800 0 8005 BULK 2369 TIP3 H2 HT .417000 1.00800 0 8006 BULK 2370 TIP3 OH2 OT -.834000 15.9994 0 8007 BULK 2370 TIP3 H1 HT .417000 1.00800 0 8008 BULK 2370 TIP3 H2 HT .417000 1.00800 0 8009 BULK 2371 TIP3 OH2 OT -.834000 15.9994 0 8010 BULK 2371 TIP3 H1 HT .417000 1.00800 0 8011 BULK 2371 TIP3 H2 HT .417000 1.00800 0 8012 BULK 2372 TIP3 OH2 OT -.834000 15.9994 0 8013 BULK 2372 TIP3 H1 HT .417000 1.00800 0 8014 BULK 2372 TIP3 H2 HT .417000 1.00800 0 8015 BULK 2373 TIP3 OH2 OT -.834000 15.9994 0 8016 BULK 2373 TIP3 H1 HT .417000 1.00800 0 8017 BULK 2373 TIP3 H2 HT .417000 1.00800 0 8018 BULK 2374 TIP3 OH2 OT -.834000 15.9994 0 8019 BULK 2374 TIP3 H1 HT .417000 1.00800 0 8020 BULK 2374 TIP3 H2 HT .417000 1.00800 0 8021 BULK 2375 TIP3 OH2 OT -.834000 15.9994 0 8022 BULK 2375 TIP3 H1 HT .417000 1.00800 0 8023 BULK 2375 TIP3 H2 HT .417000 1.00800 0 8024 BULK 2376 TIP3 OH2 OT -.834000 15.9994 0 8025 BULK 2376 TIP3 H1 HT .417000 1.00800 0 8026 BULK 2376 TIP3 H2 HT .417000 1.00800 0 8027 BULK 2377 TIP3 OH2 OT -.834000 15.9994 0 8028 BULK 2377 TIP3 H1 HT .417000 1.00800 0 8029 BULK 2377 TIP3 H2 HT .417000 1.00800 0 8030 BULK 2378 TIP3 OH2 OT -.834000 15.9994 0 8031 BULK 2378 TIP3 H1 HT .417000 1.00800 0 8032 BULK 2378 TIP3 H2 HT .417000 1.00800 0 8033 BULK 2379 TIP3 OH2 OT -.834000 15.9994 0 8034 BULK 2379 TIP3 H1 HT .417000 1.00800 0 8035 BULK 2379 TIP3 H2 HT .417000 1.00800 0 8036 BULK 2380 TIP3 OH2 OT -.834000 15.9994 0 8037 BULK 2380 TIP3 H1 HT .417000 1.00800 0 8038 BULK 2380 TIP3 H2 HT .417000 1.00800 0 8039 BULK 2381 TIP3 OH2 OT -.834000 15.9994 0 8040 BULK 2381 TIP3 H1 HT .417000 1.00800 0 8041 BULK 2381 TIP3 H2 HT .417000 1.00800 0 8042 BULK 2382 TIP3 OH2 OT -.834000 15.9994 0 8043 BULK 2382 TIP3 H1 HT .417000 1.00800 0 8044 BULK 2382 TIP3 H2 HT .417000 1.00800 0 8045 BULK 2383 TIP3 OH2 OT -.834000 15.9994 0 8046 BULK 2383 TIP3 H1 HT .417000 1.00800 0 8047 BULK 2383 TIP3 H2 HT .417000 1.00800 0 8048 BULK 2384 TIP3 OH2 OT -.834000 15.9994 0 8049 BULK 2384 TIP3 H1 HT .417000 1.00800 0 8050 BULK 2384 TIP3 H2 HT .417000 1.00800 0 8051 BULK 2385 TIP3 OH2 OT -.834000 15.9994 0 8052 BULK 2385 TIP3 H1 HT .417000 1.00800 0 8053 BULK 2385 TIP3 H2 HT .417000 1.00800 0 8054 BULK 2386 TIP3 OH2 OT -.834000 15.9994 0 8055 BULK 2386 TIP3 H1 HT .417000 1.00800 0 8056 BULK 2386 TIP3 H2 HT .417000 1.00800 0 8057 BULK 2387 TIP3 OH2 OT -.834000 15.9994 0 8058 BULK 2387 TIP3 H1 HT .417000 1.00800 0 8059 BULK 2387 TIP3 H2 HT .417000 1.00800 0 8060 BULK 2388 TIP3 OH2 OT -.834000 15.9994 0 8061 BULK 2388 TIP3 H1 HT .417000 1.00800 0 8062 BULK 2388 TIP3 H2 HT .417000 1.00800 0 8063 BULK 2389 TIP3 OH2 OT -.834000 15.9994 0 8064 BULK 2389 TIP3 H1 HT .417000 1.00800 0 8065 BULK 2389 TIP3 H2 HT .417000 1.00800 0 8066 BULK 2390 TIP3 OH2 OT -.834000 15.9994 0 8067 BULK 2390 TIP3 H1 HT .417000 1.00800 0 8068 BULK 2390 TIP3 H2 HT .417000 1.00800 0 8069 BULK 2391 TIP3 OH2 OT -.834000 15.9994 0 8070 BULK 2391 TIP3 H1 HT .417000 1.00800 0 8071 BULK 2391 TIP3 H2 HT .417000 1.00800 0 8072 BULK 2392 TIP3 OH2 OT -.834000 15.9994 0 8073 BULK 2392 TIP3 H1 HT .417000 1.00800 0 8074 BULK 2392 TIP3 H2 HT .417000 1.00800 0 8075 BULK 2393 TIP3 OH2 OT -.834000 15.9994 0 8076 BULK 2393 TIP3 H1 HT .417000 1.00800 0 8077 BULK 2393 TIP3 H2 HT .417000 1.00800 0 8078 BULK 2394 TIP3 OH2 OT -.834000 15.9994 0 8079 BULK 2394 TIP3 H1 HT .417000 1.00800 0 8080 BULK 2394 TIP3 H2 HT .417000 1.00800 0 8081 BULK 2395 TIP3 OH2 OT -.834000 15.9994 0 8082 BULK 2395 TIP3 H1 HT .417000 1.00800 0 8083 BULK 2395 TIP3 H2 HT .417000 1.00800 0 8084 BULK 2396 TIP3 OH2 OT -.834000 15.9994 0 8085 BULK 2396 TIP3 H1 HT .417000 1.00800 0 8086 BULK 2396 TIP3 H2 HT .417000 1.00800 0 8087 BULK 2397 TIP3 OH2 OT -.834000 15.9994 0 8088 BULK 2397 TIP3 H1 HT .417000 1.00800 0 8089 BULK 2397 TIP3 H2 HT .417000 1.00800 0 8090 BULK 2398 TIP3 OH2 OT -.834000 15.9994 0 8091 BULK 2398 TIP3 H1 HT .417000 1.00800 0 8092 BULK 2398 TIP3 H2 HT .417000 1.00800 0 8093 BULK 2399 TIP3 OH2 OT -.834000 15.9994 0 8094 BULK 2399 TIP3 H1 HT .417000 1.00800 0 8095 BULK 2399 TIP3 H2 HT .417000 1.00800 0 8096 BULK 2400 TIP3 OH2 OT -.834000 15.9994 0 8097 BULK 2400 TIP3 H1 HT .417000 1.00800 0 8098 BULK 2400 TIP3 H2 HT .417000 1.00800 0 8099 BULK 2401 TIP3 OH2 OT -.834000 15.9994 0 8100 BULK 2401 TIP3 H1 HT .417000 1.00800 0 8101 BULK 2401 TIP3 H2 HT .417000 1.00800 0 8102 BULK 2402 TIP3 OH2 OT -.834000 15.9994 0 8103 BULK 2402 TIP3 H1 HT .417000 1.00800 0 8104 BULK 2402 TIP3 H2 HT .417000 1.00800 0 8105 BULK 2403 TIP3 OH2 OT -.834000 15.9994 0 8106 BULK 2403 TIP3 H1 HT .417000 1.00800 0 8107 BULK 2403 TIP3 H2 HT .417000 1.00800 0 8108 BULK 2404 TIP3 OH2 OT -.834000 15.9994 0 8109 BULK 2404 TIP3 H1 HT .417000 1.00800 0 8110 BULK 2404 TIP3 H2 HT .417000 1.00800 0 8111 BULK 2405 TIP3 OH2 OT -.834000 15.9994 0 8112 BULK 2405 TIP3 H1 HT .417000 1.00800 0 8113 BULK 2405 TIP3 H2 HT .417000 1.00800 0 8114 BULK 2406 TIP3 OH2 OT -.834000 15.9994 0 8115 BULK 2406 TIP3 H1 HT .417000 1.00800 0 8116 BULK 2406 TIP3 H2 HT .417000 1.00800 0 8117 BULK 2407 TIP3 OH2 OT -.834000 15.9994 0 8118 BULK 2407 TIP3 H1 HT .417000 1.00800 0 8119 BULK 2407 TIP3 H2 HT .417000 1.00800 0 8120 BULK 2408 TIP3 OH2 OT -.834000 15.9994 0 8121 BULK 2408 TIP3 H1 HT .417000 1.00800 0 8122 BULK 2408 TIP3 H2 HT .417000 1.00800 0 8123 BULK 2409 TIP3 OH2 OT -.834000 15.9994 0 8124 BULK 2409 TIP3 H1 HT .417000 1.00800 0 8125 BULK 2409 TIP3 H2 HT .417000 1.00800 0 8126 BULK 2410 TIP3 OH2 OT -.834000 15.9994 0 8127 BULK 2410 TIP3 H1 HT .417000 1.00800 0 8128 BULK 2410 TIP3 H2 HT .417000 1.00800 0 8129 BULK 2411 TIP3 OH2 OT -.834000 15.9994 0 8130 BULK 2411 TIP3 H1 HT .417000 1.00800 0 8131 BULK 2411 TIP3 H2 HT .417000 1.00800 0 8132 BULK 2412 TIP3 OH2 OT -.834000 15.9994 0 8133 BULK 2412 TIP3 H1 HT .417000 1.00800 0 8134 BULK 2412 TIP3 H2 HT .417000 1.00800 0 8135 BULK 2413 TIP3 OH2 OT -.834000 15.9994 0 8136 BULK 2413 TIP3 H1 HT .417000 1.00800 0 8137 BULK 2413 TIP3 H2 HT .417000 1.00800 0 8138 BULK 2414 TIP3 OH2 OT -.834000 15.9994 0 8139 BULK 2414 TIP3 H1 HT .417000 1.00800 0 8140 BULK 2414 TIP3 H2 HT .417000 1.00800 0 8141 BULK 2415 TIP3 OH2 OT -.834000 15.9994 0 8142 BULK 2415 TIP3 H1 HT .417000 1.00800 0 8143 BULK 2415 TIP3 H2 HT .417000 1.00800 0 8144 BULK 2416 TIP3 OH2 OT -.834000 15.9994 0 8145 BULK 2416 TIP3 H1 HT .417000 1.00800 0 8146 BULK 2416 TIP3 H2 HT .417000 1.00800 0 8147 BULK 2417 TIP3 OH2 OT -.834000 15.9994 0 8148 BULK 2417 TIP3 H1 HT .417000 1.00800 0 8149 BULK 2417 TIP3 H2 HT .417000 1.00800 0 8150 BULK 2418 TIP3 OH2 OT -.834000 15.9994 0 8151 BULK 2418 TIP3 H1 HT .417000 1.00800 0 8152 BULK 2418 TIP3 H2 HT .417000 1.00800 0 8153 BULK 2419 TIP3 OH2 OT -.834000 15.9994 0 8154 BULK 2419 TIP3 H1 HT .417000 1.00800 0 8155 BULK 2419 TIP3 H2 HT .417000 1.00800 0 8156 BULK 2420 TIP3 OH2 OT -.834000 15.9994 0 8157 BULK 2420 TIP3 H1 HT .417000 1.00800 0 8158 BULK 2420 TIP3 H2 HT .417000 1.00800 0 8159 BULK 2421 TIP3 OH2 OT -.834000 15.9994 0 8160 BULK 2421 TIP3 H1 HT .417000 1.00800 0 8161 BULK 2421 TIP3 H2 HT .417000 1.00800 0 8162 BULK 2422 TIP3 OH2 OT -.834000 15.9994 0 8163 BULK 2422 TIP3 H1 HT .417000 1.00800 0 8164 BULK 2422 TIP3 H2 HT .417000 1.00800 0 8165 BULK 2423 TIP3 OH2 OT -.834000 15.9994 0 8166 BULK 2423 TIP3 H1 HT .417000 1.00800 0 8167 BULK 2423 TIP3 H2 HT .417000 1.00800 0 8168 BULK 2424 TIP3 OH2 OT -.834000 15.9994 0 8169 BULK 2424 TIP3 H1 HT .417000 1.00800 0 8170 BULK 2424 TIP3 H2 HT .417000 1.00800 0 8171 BULK 2425 TIP3 OH2 OT -.834000 15.9994 0 8172 BULK 2425 TIP3 H1 HT .417000 1.00800 0 8173 BULK 2425 TIP3 H2 HT .417000 1.00800 0 8174 BULK 2426 TIP3 OH2 OT -.834000 15.9994 0 8175 BULK 2426 TIP3 H1 HT .417000 1.00800 0 8176 BULK 2426 TIP3 H2 HT .417000 1.00800 0 8177 BULK 2427 TIP3 OH2 OT -.834000 15.9994 0 8178 BULK 2427 TIP3 H1 HT .417000 1.00800 0 8179 BULK 2427 TIP3 H2 HT .417000 1.00800 0 8180 BULK 2428 TIP3 OH2 OT -.834000 15.9994 0 8181 BULK 2428 TIP3 H1 HT .417000 1.00800 0 8182 BULK 2428 TIP3 H2 HT .417000 1.00800 0 8183 BULK 2429 TIP3 OH2 OT -.834000 15.9994 0 8184 BULK 2429 TIP3 H1 HT .417000 1.00800 0 8185 BULK 2429 TIP3 H2 HT .417000 1.00800 0 8186 BULK 2430 TIP3 OH2 OT -.834000 15.9994 0 8187 BULK 2430 TIP3 H1 HT .417000 1.00800 0 8188 BULK 2430 TIP3 H2 HT .417000 1.00800 0 8189 BULK 2431 TIP3 OH2 OT -.834000 15.9994 0 8190 BULK 2431 TIP3 H1 HT .417000 1.00800 0 8191 BULK 2431 TIP3 H2 HT .417000 1.00800 0 8192 BULK 2432 TIP3 OH2 OT -.834000 15.9994 0 8193 BULK 2432 TIP3 H1 HT .417000 1.00800 0 8194 BULK 2432 TIP3 H2 HT .417000 1.00800 0 8195 BULK 2433 TIP3 OH2 OT -.834000 15.9994 0 8196 BULK 2433 TIP3 H1 HT .417000 1.00800 0 8197 BULK 2433 TIP3 H2 HT .417000 1.00800 0 8198 BULK 2434 TIP3 OH2 OT -.834000 15.9994 0 8199 BULK 2434 TIP3 H1 HT .417000 1.00800 0 8200 BULK 2434 TIP3 H2 HT .417000 1.00800 0 8201 BULK 2435 TIP3 OH2 OT -.834000 15.9994 0 8202 BULK 2435 TIP3 H1 HT .417000 1.00800 0 8203 BULK 2435 TIP3 H2 HT .417000 1.00800 0 8204 BULK 2436 TIP3 OH2 OT -.834000 15.9994 0 8205 BULK 2436 TIP3 H1 HT .417000 1.00800 0 8206 BULK 2436 TIP3 H2 HT .417000 1.00800 0 8207 BULK 2437 TIP3 OH2 OT -.834000 15.9994 0 8208 BULK 2437 TIP3 H1 HT .417000 1.00800 0 8209 BULK 2437 TIP3 H2 HT .417000 1.00800 0 8210 BULK 2438 TIP3 OH2 OT -.834000 15.9994 0 8211 BULK 2438 TIP3 H1 HT .417000 1.00800 0 8212 BULK 2438 TIP3 H2 HT .417000 1.00800 0 8213 BULK 2439 TIP3 OH2 OT -.834000 15.9994 0 8214 BULK 2439 TIP3 H1 HT .417000 1.00800 0 8215 BULK 2439 TIP3 H2 HT .417000 1.00800 0 8216 BULK 2440 TIP3 OH2 OT -.834000 15.9994 0 8217 BULK 2440 TIP3 H1 HT .417000 1.00800 0 8218 BULK 2440 TIP3 H2 HT .417000 1.00800 0 8219 BULK 2441 TIP3 OH2 OT -.834000 15.9994 0 8220 BULK 2441 TIP3 H1 HT .417000 1.00800 0 8221 BULK 2441 TIP3 H2 HT .417000 1.00800 0 8222 BULK 2442 TIP3 OH2 OT -.834000 15.9994 0 8223 BULK 2442 TIP3 H1 HT .417000 1.00800 0 8224 BULK 2442 TIP3 H2 HT .417000 1.00800 0 8225 BULK 2443 TIP3 OH2 OT -.834000 15.9994 0 8226 BULK 2443 TIP3 H1 HT .417000 1.00800 0 8227 BULK 2443 TIP3 H2 HT .417000 1.00800 0 8228 BULK 2444 TIP3 OH2 OT -.834000 15.9994 0 8229 BULK 2444 TIP3 H1 HT .417000 1.00800 0 8230 BULK 2444 TIP3 H2 HT .417000 1.00800 0 8231 BULK 2445 TIP3 OH2 OT -.834000 15.9994 0 8232 BULK 2445 TIP3 H1 HT .417000 1.00800 0 8233 BULK 2445 TIP3 H2 HT .417000 1.00800 0 8234 BULK 2446 TIP3 OH2 OT -.834000 15.9994 0 8235 BULK 2446 TIP3 H1 HT .417000 1.00800 0 8236 BULK 2446 TIP3 H2 HT .417000 1.00800 0 8237 BULK 2447 TIP3 OH2 OT -.834000 15.9994 0 8238 BULK 2447 TIP3 H1 HT .417000 1.00800 0 8239 BULK 2447 TIP3 H2 HT .417000 1.00800 0 8240 BULK 2448 TIP3 OH2 OT -.834000 15.9994 0 8241 BULK 2448 TIP3 H1 HT .417000 1.00800 0 8242 BULK 2448 TIP3 H2 HT .417000 1.00800 0 8243 BULK 2449 TIP3 OH2 OT -.834000 15.9994 0 8244 BULK 2449 TIP3 H1 HT .417000 1.00800 0 8245 BULK 2449 TIP3 H2 HT .417000 1.00800 0 8246 BULK 2450 TIP3 OH2 OT -.834000 15.9994 0 8247 BULK 2450 TIP3 H1 HT .417000 1.00800 0 8248 BULK 2450 TIP3 H2 HT .417000 1.00800 0 8249 BULK 2451 TIP3 OH2 OT -.834000 15.9994 0 8250 BULK 2451 TIP3 H1 HT .417000 1.00800 0 8251 BULK 2451 TIP3 H2 HT .417000 1.00800 0 8252 BULK 2452 TIP3 OH2 OT -.834000 15.9994 0 8253 BULK 2452 TIP3 H1 HT .417000 1.00800 0 8254 BULK 2452 TIP3 H2 HT .417000 1.00800 0 8255 BULK 2453 TIP3 OH2 OT -.834000 15.9994 0 8256 BULK 2453 TIP3 H1 HT .417000 1.00800 0 8257 BULK 2453 TIP3 H2 HT .417000 1.00800 0 8258 BULK 2454 TIP3 OH2 OT -.834000 15.9994 0 8259 BULK 2454 TIP3 H1 HT .417000 1.00800 0 8260 BULK 2454 TIP3 H2 HT .417000 1.00800 0 8261 BULK 2455 TIP3 OH2 OT -.834000 15.9994 0 8262 BULK 2455 TIP3 H1 HT .417000 1.00800 0 8263 BULK 2455 TIP3 H2 HT .417000 1.00800 0 8264 BULK 2456 TIP3 OH2 OT -.834000 15.9994 0 8265 BULK 2456 TIP3 H1 HT .417000 1.00800 0 8266 BULK 2456 TIP3 H2 HT .417000 1.00800 0 8267 BULK 2457 TIP3 OH2 OT -.834000 15.9994 0 8268 BULK 2457 TIP3 H1 HT .417000 1.00800 0 8269 BULK 2457 TIP3 H2 HT .417000 1.00800 0 8270 BULK 2458 TIP3 OH2 OT -.834000 15.9994 0 8271 BULK 2458 TIP3 H1 HT .417000 1.00800 0 8272 BULK 2458 TIP3 H2 HT .417000 1.00800 0 8273 BULK 2459 TIP3 OH2 OT -.834000 15.9994 0 8274 BULK 2459 TIP3 H1 HT .417000 1.00800 0 8275 BULK 2459 TIP3 H2 HT .417000 1.00800 0 8276 BULK 2460 TIP3 OH2 OT -.834000 15.9994 0 8277 BULK 2460 TIP3 H1 HT .417000 1.00800 0 8278 BULK 2460 TIP3 H2 HT .417000 1.00800 0 8279 BULK 2461 TIP3 OH2 OT -.834000 15.9994 0 8280 BULK 2461 TIP3 H1 HT .417000 1.00800 0 8281 BULK 2461 TIP3 H2 HT .417000 1.00800 0 8282 BULK 2462 TIP3 OH2 OT -.834000 15.9994 0 8283 BULK 2462 TIP3 H1 HT .417000 1.00800 0 8284 BULK 2462 TIP3 H2 HT .417000 1.00800 0 8285 BULK 2463 TIP3 OH2 OT -.834000 15.9994 0 8286 BULK 2463 TIP3 H1 HT .417000 1.00800 0 8287 BULK 2463 TIP3 H2 HT .417000 1.00800 0 8288 BULK 2464 TIP3 OH2 OT -.834000 15.9994 0 8289 BULK 2464 TIP3 H1 HT .417000 1.00800 0 8290 BULK 2464 TIP3 H2 HT .417000 1.00800 0 8291 BULK 2465 TIP3 OH2 OT -.834000 15.9994 0 8292 BULK 2465 TIP3 H1 HT .417000 1.00800 0 8293 BULK 2465 TIP3 H2 HT .417000 1.00800 0 8294 BULK 2466 TIP3 OH2 OT -.834000 15.9994 0 8295 BULK 2466 TIP3 H1 HT .417000 1.00800 0 8296 BULK 2466 TIP3 H2 HT .417000 1.00800 0 8297 BULK 2467 TIP3 OH2 OT -.834000 15.9994 0 8298 BULK 2467 TIP3 H1 HT .417000 1.00800 0 8299 BULK 2467 TIP3 H2 HT .417000 1.00800 0 8300 BULK 2468 TIP3 OH2 OT -.834000 15.9994 0 8301 BULK 2468 TIP3 H1 HT .417000 1.00800 0 8302 BULK 2468 TIP3 H2 HT .417000 1.00800 0 8303 BULK 2469 TIP3 OH2 OT -.834000 15.9994 0 8304 BULK 2469 TIP3 H1 HT .417000 1.00800 0 8305 BULK 2469 TIP3 H2 HT .417000 1.00800 0 8306 BULK 2470 TIP3 OH2 OT -.834000 15.9994 0 8307 BULK 2470 TIP3 H1 HT .417000 1.00800 0 8308 BULK 2470 TIP3 H2 HT .417000 1.00800 0 8309 BULK 2471 TIP3 OH2 OT -.834000 15.9994 0 8310 BULK 2471 TIP3 H1 HT .417000 1.00800 0 8311 BULK 2471 TIP3 H2 HT .417000 1.00800 0 8312 BULK 2472 TIP3 OH2 OT -.834000 15.9994 0 8313 BULK 2472 TIP3 H1 HT .417000 1.00800 0 8314 BULK 2472 TIP3 H2 HT .417000 1.00800 0 8315 BULK 2473 TIP3 OH2 OT -.834000 15.9994 0 8316 BULK 2473 TIP3 H1 HT .417000 1.00800 0 8317 BULK 2473 TIP3 H2 HT .417000 1.00800 0 8318 BULK 2474 TIP3 OH2 OT -.834000 15.9994 0 8319 BULK 2474 TIP3 H1 HT .417000 1.00800 0 8320 BULK 2474 TIP3 H2 HT .417000 1.00800 0 8321 BULK 2475 TIP3 OH2 OT -.834000 15.9994 0 8322 BULK 2475 TIP3 H1 HT .417000 1.00800 0 8323 BULK 2475 TIP3 H2 HT .417000 1.00800 0 8324 BULK 2476 TIP3 OH2 OT -.834000 15.9994 0 8325 BULK 2476 TIP3 H1 HT .417000 1.00800 0 8326 BULK 2476 TIP3 H2 HT .417000 1.00800 0 8327 BULK 2477 TIP3 OH2 OT -.834000 15.9994 0 8328 BULK 2477 TIP3 H1 HT .417000 1.00800 0 8329 BULK 2477 TIP3 H2 HT .417000 1.00800 0 8330 BULK 2478 TIP3 OH2 OT -.834000 15.9994 0 8331 BULK 2478 TIP3 H1 HT .417000 1.00800 0 8332 BULK 2478 TIP3 H2 HT .417000 1.00800 0 8333 BULK 2479 TIP3 OH2 OT -.834000 15.9994 0 8334 BULK 2479 TIP3 H1 HT .417000 1.00800 0 8335 BULK 2479 TIP3 H2 HT .417000 1.00800 0 8336 BULK 2480 TIP3 OH2 OT -.834000 15.9994 0 8337 BULK 2480 TIP3 H1 HT .417000 1.00800 0 8338 BULK 2480 TIP3 H2 HT .417000 1.00800 0 8339 BULK 2481 TIP3 OH2 OT -.834000 15.9994 0 8340 BULK 2481 TIP3 H1 HT .417000 1.00800 0 8341 BULK 2481 TIP3 H2 HT .417000 1.00800 0 8342 BULK 2482 TIP3 OH2 OT -.834000 15.9994 0 8343 BULK 2482 TIP3 H1 HT .417000 1.00800 0 8344 BULK 2482 TIP3 H2 HT .417000 1.00800 0 8345 BULK 2483 TIP3 OH2 OT -.834000 15.9994 0 8346 BULK 2483 TIP3 H1 HT .417000 1.00800 0 8347 BULK 2483 TIP3 H2 HT .417000 1.00800 0 8348 BULK 2484 TIP3 OH2 OT -.834000 15.9994 0 8349 BULK 2484 TIP3 H1 HT .417000 1.00800 0 8350 BULK 2484 TIP3 H2 HT .417000 1.00800 0 8351 BULK 2485 TIP3 OH2 OT -.834000 15.9994 0 8352 BULK 2485 TIP3 H1 HT .417000 1.00800 0 8353 BULK 2485 TIP3 H2 HT .417000 1.00800 0 8354 BULK 2486 TIP3 OH2 OT -.834000 15.9994 0 8355 BULK 2486 TIP3 H1 HT .417000 1.00800 0 8356 BULK 2486 TIP3 H2 HT .417000 1.00800 0 8357 BULK 2487 TIP3 OH2 OT -.834000 15.9994 0 8358 BULK 2487 TIP3 H1 HT .417000 1.00800 0 8359 BULK 2487 TIP3 H2 HT .417000 1.00800 0 8360 BULK 2488 TIP3 OH2 OT -.834000 15.9994 0 8361 BULK 2488 TIP3 H1 HT .417000 1.00800 0 8362 BULK 2488 TIP3 H2 HT .417000 1.00800 0 8363 BULK 2489 TIP3 OH2 OT -.834000 15.9994 0 8364 BULK 2489 TIP3 H1 HT .417000 1.00800 0 8365 BULK 2489 TIP3 H2 HT .417000 1.00800 0 8366 BULK 2490 TIP3 OH2 OT -.834000 15.9994 0 8367 BULK 2490 TIP3 H1 HT .417000 1.00800 0 8368 BULK 2490 TIP3 H2 HT .417000 1.00800 0 8369 BULK 2491 TIP3 OH2 OT -.834000 15.9994 0 8370 BULK 2491 TIP3 H1 HT .417000 1.00800 0 8371 BULK 2491 TIP3 H2 HT .417000 1.00800 0 8372 BULK 2492 TIP3 OH2 OT -.834000 15.9994 0 8373 BULK 2492 TIP3 H1 HT .417000 1.00800 0 8374 BULK 2492 TIP3 H2 HT .417000 1.00800 0 8375 BULK 2493 TIP3 OH2 OT -.834000 15.9994 0 8376 BULK 2493 TIP3 H1 HT .417000 1.00800 0 8377 BULK 2493 TIP3 H2 HT .417000 1.00800 0 8378 BULK 2494 TIP3 OH2 OT -.834000 15.9994 0 8379 BULK 2494 TIP3 H1 HT .417000 1.00800 0 8380 BULK 2494 TIP3 H2 HT .417000 1.00800 0 8381 BULK 2495 TIP3 OH2 OT -.834000 15.9994 0 8382 BULK 2495 TIP3 H1 HT .417000 1.00800 0 8383 BULK 2495 TIP3 H2 HT .417000 1.00800 0 8384 BULK 2496 TIP3 OH2 OT -.834000 15.9994 0 8385 BULK 2496 TIP3 H1 HT .417000 1.00800 0 8386 BULK 2496 TIP3 H2 HT .417000 1.00800 0 8387 BULK 2497 TIP3 OH2 OT -.834000 15.9994 0 8388 BULK 2497 TIP3 H1 HT .417000 1.00800 0 8389 BULK 2497 TIP3 H2 HT .417000 1.00800 0 8390 BULK 2498 TIP3 OH2 OT -.834000 15.9994 0 8391 BULK 2498 TIP3 H1 HT .417000 1.00800 0 8392 BULK 2498 TIP3 H2 HT .417000 1.00800 0 8393 BULK 2499 TIP3 OH2 OT -.834000 15.9994 0 8394 BULK 2499 TIP3 H1 HT .417000 1.00800 0 8395 BULK 2499 TIP3 H2 HT .417000 1.00800 0 8396 BULK 2500 TIP3 OH2 OT -.834000 15.9994 0 8397 BULK 2500 TIP3 H1 HT .417000 1.00800 0 8398 BULK 2500 TIP3 H2 HT .417000 1.00800 0 8399 BULK 2501 TIP3 OH2 OT -.834000 15.9994 0 8400 BULK 2501 TIP3 H1 HT .417000 1.00800 0 8401 BULK 2501 TIP3 H2 HT .417000 1.00800 0 8402 BULK 2502 TIP3 OH2 OT -.834000 15.9994 0 8403 BULK 2502 TIP3 H1 HT .417000 1.00800 0 8404 BULK 2502 TIP3 H2 HT .417000 1.00800 0 8405 BULK 2503 TIP3 OH2 OT -.834000 15.9994 0 8406 BULK 2503 TIP3 H1 HT .417000 1.00800 0 8407 BULK 2503 TIP3 H2 HT .417000 1.00800 0 8408 BULK 2504 TIP3 OH2 OT -.834000 15.9994 0 8409 BULK 2504 TIP3 H1 HT .417000 1.00800 0 8410 BULK 2504 TIP3 H2 HT .417000 1.00800 0 8411 BULK 2505 TIP3 OH2 OT -.834000 15.9994 0 8412 BULK 2505 TIP3 H1 HT .417000 1.00800 0 8413 BULK 2505 TIP3 H2 HT .417000 1.00800 0 8414 BULK 2506 TIP3 OH2 OT -.834000 15.9994 0 8415 BULK 2506 TIP3 H1 HT .417000 1.00800 0 8416 BULK 2506 TIP3 H2 HT .417000 1.00800 0 8417 BULK 2507 TIP3 OH2 OT -.834000 15.9994 0 8418 BULK 2507 TIP3 H1 HT .417000 1.00800 0 8419 BULK 2507 TIP3 H2 HT .417000 1.00800 0 8420 BULK 2508 TIP3 OH2 OT -.834000 15.9994 0 8421 BULK 2508 TIP3 H1 HT .417000 1.00800 0 8422 BULK 2508 TIP3 H2 HT .417000 1.00800 0 8423 BULK 2509 TIP3 OH2 OT -.834000 15.9994 0 8424 BULK 2509 TIP3 H1 HT .417000 1.00800 0 8425 BULK 2509 TIP3 H2 HT .417000 1.00800 0 8426 BULK 2510 TIP3 OH2 OT -.834000 15.9994 0 8427 BULK 2510 TIP3 H1 HT .417000 1.00800 0 8428 BULK 2510 TIP3 H2 HT .417000 1.00800 0 8429 BULK 2511 TIP3 OH2 OT -.834000 15.9994 0 8430 BULK 2511 TIP3 H1 HT .417000 1.00800 0 8431 BULK 2511 TIP3 H2 HT .417000 1.00800 0 8432 BULK 2512 TIP3 OH2 OT -.834000 15.9994 0 8433 BULK 2512 TIP3 H1 HT .417000 1.00800 0 8434 BULK 2512 TIP3 H2 HT .417000 1.00800 0 8435 BULK 2513 TIP3 OH2 OT -.834000 15.9994 0 8436 BULK 2513 TIP3 H1 HT .417000 1.00800 0 8437 BULK 2513 TIP3 H2 HT .417000 1.00800 0 8438 BULK 2514 TIP3 OH2 OT -.834000 15.9994 0 8439 BULK 2514 TIP3 H1 HT .417000 1.00800 0 8440 BULK 2514 TIP3 H2 HT .417000 1.00800 0 8441 BULK 2515 TIP3 OH2 OT -.834000 15.9994 0 8442 BULK 2515 TIP3 H1 HT .417000 1.00800 0 8443 BULK 2515 TIP3 H2 HT .417000 1.00800 0 8444 BULK 2516 TIP3 OH2 OT -.834000 15.9994 0 8445 BULK 2516 TIP3 H1 HT .417000 1.00800 0 8446 BULK 2516 TIP3 H2 HT .417000 1.00800 0 8447 BULK 2517 TIP3 OH2 OT -.834000 15.9994 0 8448 BULK 2517 TIP3 H1 HT .417000 1.00800 0 8449 BULK 2517 TIP3 H2 HT .417000 1.00800 0 8450 BULK 2518 TIP3 OH2 OT -.834000 15.9994 0 8451 BULK 2518 TIP3 H1 HT .417000 1.00800 0 8452 BULK 2518 TIP3 H2 HT .417000 1.00800 0 8453 BULK 2519 TIP3 OH2 OT -.834000 15.9994 0 8454 BULK 2519 TIP3 H1 HT .417000 1.00800 0 8455 BULK 2519 TIP3 H2 HT .417000 1.00800 0 8456 BULK 2520 TIP3 OH2 OT -.834000 15.9994 0 8457 BULK 2520 TIP3 H1 HT .417000 1.00800 0 8458 BULK 2520 TIP3 H2 HT .417000 1.00800 0 8459 BULK 2521 TIP3 OH2 OT -.834000 15.9994 0 8460 BULK 2521 TIP3 H1 HT .417000 1.00800 0 8461 BULK 2521 TIP3 H2 HT .417000 1.00800 0 8462 BULK 2522 TIP3 OH2 OT -.834000 15.9994 0 8463 BULK 2522 TIP3 H1 HT .417000 1.00800 0 8464 BULK 2522 TIP3 H2 HT .417000 1.00800 0 8465 BULK 2523 TIP3 OH2 OT -.834000 15.9994 0 8466 BULK 2523 TIP3 H1 HT .417000 1.00800 0 8467 BULK 2523 TIP3 H2 HT .417000 1.00800 0 8468 BULK 2524 TIP3 OH2 OT -.834000 15.9994 0 8469 BULK 2524 TIP3 H1 HT .417000 1.00800 0 8470 BULK 2524 TIP3 H2 HT .417000 1.00800 0 8471 BULK 2525 TIP3 OH2 OT -.834000 15.9994 0 8472 BULK 2525 TIP3 H1 HT .417000 1.00800 0 8473 BULK 2525 TIP3 H2 HT .417000 1.00800 0 8474 BULK 2526 TIP3 OH2 OT -.834000 15.9994 0 8475 BULK 2526 TIP3 H1 HT .417000 1.00800 0 8476 BULK 2526 TIP3 H2 HT .417000 1.00800 0 8477 BULK 2527 TIP3 OH2 OT -.834000 15.9994 0 8478 BULK 2527 TIP3 H1 HT .417000 1.00800 0 8479 BULK 2527 TIP3 H2 HT .417000 1.00800 0 8480 BULK 2528 TIP3 OH2 OT -.834000 15.9994 0 8481 BULK 2528 TIP3 H1 HT .417000 1.00800 0 8482 BULK 2528 TIP3 H2 HT .417000 1.00800 0 8483 BULK 2529 TIP3 OH2 OT -.834000 15.9994 0 8484 BULK 2529 TIP3 H1 HT .417000 1.00800 0 8485 BULK 2529 TIP3 H2 HT .417000 1.00800 0 8486 BULK 2530 TIP3 OH2 OT -.834000 15.9994 0 8487 BULK 2530 TIP3 H1 HT .417000 1.00800 0 8488 BULK 2530 TIP3 H2 HT .417000 1.00800 0 8489 BULK 2531 TIP3 OH2 OT -.834000 15.9994 0 8490 BULK 2531 TIP3 H1 HT .417000 1.00800 0 8491 BULK 2531 TIP3 H2 HT .417000 1.00800 0 8492 BULK 2532 TIP3 OH2 OT -.834000 15.9994 0 8493 BULK 2532 TIP3 H1 HT .417000 1.00800 0 8494 BULK 2532 TIP3 H2 HT .417000 1.00800 0 8495 BULK 2533 TIP3 OH2 OT -.834000 15.9994 0 8496 BULK 2533 TIP3 H1 HT .417000 1.00800 0 8497 BULK 2533 TIP3 H2 HT .417000 1.00800 0 8498 BULK 2534 TIP3 OH2 OT -.834000 15.9994 0 8499 BULK 2534 TIP3 H1 HT .417000 1.00800 0 8500 BULK 2534 TIP3 H2 HT .417000 1.00800 0 8501 BULK 2535 TIP3 OH2 OT -.834000 15.9994 0 8502 BULK 2535 TIP3 H1 HT .417000 1.00800 0 8503 BULK 2535 TIP3 H2 HT .417000 1.00800 0 8504 BULK 2536 TIP3 OH2 OT -.834000 15.9994 0 8505 BULK 2536 TIP3 H1 HT .417000 1.00800 0 8506 BULK 2536 TIP3 H2 HT .417000 1.00800 0 8507 BULK 2537 TIP3 OH2 OT -.834000 15.9994 0 8508 BULK 2537 TIP3 H1 HT .417000 1.00800 0 8509 BULK 2537 TIP3 H2 HT .417000 1.00800 0 8510 BULK 2538 TIP3 OH2 OT -.834000 15.9994 0 8511 BULK 2538 TIP3 H1 HT .417000 1.00800 0 8512 BULK 2538 TIP3 H2 HT .417000 1.00800 0 8513 BULK 2539 TIP3 OH2 OT -.834000 15.9994 0 8514 BULK 2539 TIP3 H1 HT .417000 1.00800 0 8515 BULK 2539 TIP3 H2 HT .417000 1.00800 0 8516 BULK 2540 TIP3 OH2 OT -.834000 15.9994 0 8517 BULK 2540 TIP3 H1 HT .417000 1.00800 0 8518 BULK 2540 TIP3 H2 HT .417000 1.00800 0 8519 BULK 2541 TIP3 OH2 OT -.834000 15.9994 0 8520 BULK 2541 TIP3 H1 HT .417000 1.00800 0 8521 BULK 2541 TIP3 H2 HT .417000 1.00800 0 8522 BULK 2542 TIP3 OH2 OT -.834000 15.9994 0 8523 BULK 2542 TIP3 H1 HT .417000 1.00800 0 8524 BULK 2542 TIP3 H2 HT .417000 1.00800 0 8525 BULK 2543 TIP3 OH2 OT -.834000 15.9994 0 8526 BULK 2543 TIP3 H1 HT .417000 1.00800 0 8527 BULK 2543 TIP3 H2 HT .417000 1.00800 0 8528 BULK 2544 TIP3 OH2 OT -.834000 15.9994 0 8529 BULK 2544 TIP3 H1 HT .417000 1.00800 0 8530 BULK 2544 TIP3 H2 HT .417000 1.00800 0 8531 BULK 2545 TIP3 OH2 OT -.834000 15.9994 0 8532 BULK 2545 TIP3 H1 HT .417000 1.00800 0 8533 BULK 2545 TIP3 H2 HT .417000 1.00800 0 8534 BULK 2546 TIP3 OH2 OT -.834000 15.9994 0 8535 BULK 2546 TIP3 H1 HT .417000 1.00800 0 8536 BULK 2546 TIP3 H2 HT .417000 1.00800 0 8537 BULK 2547 TIP3 OH2 OT -.834000 15.9994 0 8538 BULK 2547 TIP3 H1 HT .417000 1.00800 0 8539 BULK 2547 TIP3 H2 HT .417000 1.00800 0 8540 BULK 2548 TIP3 OH2 OT -.834000 15.9994 0 8541 BULK 2548 TIP3 H1 HT .417000 1.00800 0 8542 BULK 2548 TIP3 H2 HT .417000 1.00800 0 8543 BULK 2549 TIP3 OH2 OT -.834000 15.9994 0 8544 BULK 2549 TIP3 H1 HT .417000 1.00800 0 8545 BULK 2549 TIP3 H2 HT .417000 1.00800 0 8546 BULK 2550 TIP3 OH2 OT -.834000 15.9994 0 8547 BULK 2550 TIP3 H1 HT .417000 1.00800 0 8548 BULK 2550 TIP3 H2 HT .417000 1.00800 0 8549 BULK 2551 TIP3 OH2 OT -.834000 15.9994 0 8550 BULK 2551 TIP3 H1 HT .417000 1.00800 0 8551 BULK 2551 TIP3 H2 HT .417000 1.00800 0 8552 BULK 2552 TIP3 OH2 OT -.834000 15.9994 0 8553 BULK 2552 TIP3 H1 HT .417000 1.00800 0 8554 BULK 2552 TIP3 H2 HT .417000 1.00800 0 8555 BULK 2553 TIP3 OH2 OT -.834000 15.9994 0 8556 BULK 2553 TIP3 H1 HT .417000 1.00800 0 8557 BULK 2553 TIP3 H2 HT .417000 1.00800 0 8558 BULK 2554 TIP3 OH2 OT -.834000 15.9994 0 8559 BULK 2554 TIP3 H1 HT .417000 1.00800 0 8560 BULK 2554 TIP3 H2 HT .417000 1.00800 0 8561 BULK 2555 TIP3 OH2 OT -.834000 15.9994 0 8562 BULK 2555 TIP3 H1 HT .417000 1.00800 0 8563 BULK 2555 TIP3 H2 HT .417000 1.00800 0 8564 BULK 2556 TIP3 OH2 OT -.834000 15.9994 0 8565 BULK 2556 TIP3 H1 HT .417000 1.00800 0 8566 BULK 2556 TIP3 H2 HT .417000 1.00800 0 8567 BULK 2557 TIP3 OH2 OT -.834000 15.9994 0 8568 BULK 2557 TIP3 H1 HT .417000 1.00800 0 8569 BULK 2557 TIP3 H2 HT .417000 1.00800 0 8570 BULK 2558 TIP3 OH2 OT -.834000 15.9994 0 8571 BULK 2558 TIP3 H1 HT .417000 1.00800 0 8572 BULK 2558 TIP3 H2 HT .417000 1.00800 0 8573 BULK 2559 TIP3 OH2 OT -.834000 15.9994 0 8574 BULK 2559 TIP3 H1 HT .417000 1.00800 0 8575 BULK 2559 TIP3 H2 HT .417000 1.00800 0 8576 BULK 2560 TIP3 OH2 OT -.834000 15.9994 0 8577 BULK 2560 TIP3 H1 HT .417000 1.00800 0 8578 BULK 2560 TIP3 H2 HT .417000 1.00800 0 8579 BULK 2561 TIP3 OH2 OT -.834000 15.9994 0 8580 BULK 2561 TIP3 H1 HT .417000 1.00800 0 8581 BULK 2561 TIP3 H2 HT .417000 1.00800 0 8582 BULK 2562 TIP3 OH2 OT -.834000 15.9994 0 8583 BULK 2562 TIP3 H1 HT .417000 1.00800 0 8584 BULK 2562 TIP3 H2 HT .417000 1.00800 0 8585 BULK 2563 TIP3 OH2 OT -.834000 15.9994 0 8586 BULK 2563 TIP3 H1 HT .417000 1.00800 0 8587 BULK 2563 TIP3 H2 HT .417000 1.00800 0 8588 BULK 2564 TIP3 OH2 OT -.834000 15.9994 0 8589 BULK 2564 TIP3 H1 HT .417000 1.00800 0 8590 BULK 2564 TIP3 H2 HT .417000 1.00800 0 8591 BULK 2565 TIP3 OH2 OT -.834000 15.9994 0 8592 BULK 2565 TIP3 H1 HT .417000 1.00800 0 8593 BULK 2565 TIP3 H2 HT .417000 1.00800 0 8594 BULK 2566 TIP3 OH2 OT -.834000 15.9994 0 8595 BULK 2566 TIP3 H1 HT .417000 1.00800 0 8596 BULK 2566 TIP3 H2 HT .417000 1.00800 0 8597 BULK 2567 TIP3 OH2 OT -.834000 15.9994 0 8598 BULK 2567 TIP3 H1 HT .417000 1.00800 0 8599 BULK 2567 TIP3 H2 HT .417000 1.00800 0 8600 BULK 2568 TIP3 OH2 OT -.834000 15.9994 0 8601 BULK 2568 TIP3 H1 HT .417000 1.00800 0 8602 BULK 2568 TIP3 H2 HT .417000 1.00800 0 8603 BULK 2569 TIP3 OH2 OT -.834000 15.9994 0 8604 BULK 2569 TIP3 H1 HT .417000 1.00800 0 8605 BULK 2569 TIP3 H2 HT .417000 1.00800 0 8606 BULK 2570 TIP3 OH2 OT -.834000 15.9994 0 8607 BULK 2570 TIP3 H1 HT .417000 1.00800 0 8608 BULK 2570 TIP3 H2 HT .417000 1.00800 0 8609 BULK 2571 TIP3 OH2 OT -.834000 15.9994 0 8610 BULK 2571 TIP3 H1 HT .417000 1.00800 0 8611 BULK 2571 TIP3 H2 HT .417000 1.00800 0 8612 BULK 2572 TIP3 OH2 OT -.834000 15.9994 0 8613 BULK 2572 TIP3 H1 HT .417000 1.00800 0 8614 BULK 2572 TIP3 H2 HT .417000 1.00800 0 8615 BULK 2573 TIP3 OH2 OT -.834000 15.9994 0 8616 BULK 2573 TIP3 H1 HT .417000 1.00800 0 8617 BULK 2573 TIP3 H2 HT .417000 1.00800 0 8618 BULK 2574 TIP3 OH2 OT -.834000 15.9994 0 8619 BULK 2574 TIP3 H1 HT .417000 1.00800 0 8620 BULK 2574 TIP3 H2 HT .417000 1.00800 0 8621 BULK 2575 TIP3 OH2 OT -.834000 15.9994 0 8622 BULK 2575 TIP3 H1 HT .417000 1.00800 0 8623 BULK 2575 TIP3 H2 HT .417000 1.00800 0 8624 BULK 2576 TIP3 OH2 OT -.834000 15.9994 0 8625 BULK 2576 TIP3 H1 HT .417000 1.00800 0 8626 BULK 2576 TIP3 H2 HT .417000 1.00800 0 8627 BULK 2577 TIP3 OH2 OT -.834000 15.9994 0 8628 BULK 2577 TIP3 H1 HT .417000 1.00800 0 8629 BULK 2577 TIP3 H2 HT .417000 1.00800 0 8630 BULK 2578 TIP3 OH2 OT -.834000 15.9994 0 8631 BULK 2578 TIP3 H1 HT .417000 1.00800 0 8632 BULK 2578 TIP3 H2 HT .417000 1.00800 0 8633 BULK 2579 TIP3 OH2 OT -.834000 15.9994 0 8634 BULK 2579 TIP3 H1 HT .417000 1.00800 0 8635 BULK 2579 TIP3 H2 HT .417000 1.00800 0 8636 BULK 2580 TIP3 OH2 OT -.834000 15.9994 0 8637 BULK 2580 TIP3 H1 HT .417000 1.00800 0 8638 BULK 2580 TIP3 H2 HT .417000 1.00800 0 8639 BULK 2581 TIP3 OH2 OT -.834000 15.9994 0 8640 BULK 2581 TIP3 H1 HT .417000 1.00800 0 8641 BULK 2581 TIP3 H2 HT .417000 1.00800 0 8642 BULK 2582 TIP3 OH2 OT -.834000 15.9994 0 8643 BULK 2582 TIP3 H1 HT .417000 1.00800 0 8644 BULK 2582 TIP3 H2 HT .417000 1.00800 0 8645 BULK 2583 TIP3 OH2 OT -.834000 15.9994 0 8646 BULK 2583 TIP3 H1 HT .417000 1.00800 0 8647 BULK 2583 TIP3 H2 HT .417000 1.00800 0 8648 BULK 2584 TIP3 OH2 OT -.834000 15.9994 0 8649 BULK 2584 TIP3 H1 HT .417000 1.00800 0 8650 BULK 2584 TIP3 H2 HT .417000 1.00800 0 8651 BULK 2585 TIP3 OH2 OT -.834000 15.9994 0 8652 BULK 2585 TIP3 H1 HT .417000 1.00800 0 8653 BULK 2585 TIP3 H2 HT .417000 1.00800 0 8654 BULK 2586 TIP3 OH2 OT -.834000 15.9994 0 8655 BULK 2586 TIP3 H1 HT .417000 1.00800 0 8656 BULK 2586 TIP3 H2 HT .417000 1.00800 0 8657 BULK 2587 TIP3 OH2 OT -.834000 15.9994 0 8658 BULK 2587 TIP3 H1 HT .417000 1.00800 0 8659 BULK 2587 TIP3 H2 HT .417000 1.00800 0 8660 BULK 2588 TIP3 OH2 OT -.834000 15.9994 0 8661 BULK 2588 TIP3 H1 HT .417000 1.00800 0 8662 BULK 2588 TIP3 H2 HT .417000 1.00800 0 8663 BULK 2589 TIP3 OH2 OT -.834000 15.9994 0 8664 BULK 2589 TIP3 H1 HT .417000 1.00800 0 8665 BULK 2589 TIP3 H2 HT .417000 1.00800 0 8666 BULK 2590 TIP3 OH2 OT -.834000 15.9994 0 8667 BULK 2590 TIP3 H1 HT .417000 1.00800 0 8668 BULK 2590 TIP3 H2 HT .417000 1.00800 0 8669 BULK 2591 TIP3 OH2 OT -.834000 15.9994 0 8670 BULK 2591 TIP3 H1 HT .417000 1.00800 0 8671 BULK 2591 TIP3 H2 HT .417000 1.00800 0 8672 BULK 2592 TIP3 OH2 OT -.834000 15.9994 0 8673 BULK 2592 TIP3 H1 HT .417000 1.00800 0 8674 BULK 2592 TIP3 H2 HT .417000 1.00800 0 8675 BULK 2593 TIP3 OH2 OT -.834000 15.9994 0 8676 BULK 2593 TIP3 H1 HT .417000 1.00800 0 8677 BULK 2593 TIP3 H2 HT .417000 1.00800 0 8678 BULK 2594 TIP3 OH2 OT -.834000 15.9994 0 8679 BULK 2594 TIP3 H1 HT .417000 1.00800 0 8680 BULK 2594 TIP3 H2 HT .417000 1.00800 0 8681 BULK 2595 TIP3 OH2 OT -.834000 15.9994 0 8682 BULK 2595 TIP3 H1 HT .417000 1.00800 0 8683 BULK 2595 TIP3 H2 HT .417000 1.00800 0 8684 BULK 2596 TIP3 OH2 OT -.834000 15.9994 0 8685 BULK 2596 TIP3 H1 HT .417000 1.00800 0 8686 BULK 2596 TIP3 H2 HT .417000 1.00800 0 8687 BULK 2597 TIP3 OH2 OT -.834000 15.9994 0 8688 BULK 2597 TIP3 H1 HT .417000 1.00800 0 8689 BULK 2597 TIP3 H2 HT .417000 1.00800 0 8690 BULK 2598 TIP3 OH2 OT -.834000 15.9994 0 8691 BULK 2598 TIP3 H1 HT .417000 1.00800 0 8692 BULK 2598 TIP3 H2 HT .417000 1.00800 0 8693 BULK 2599 TIP3 OH2 OT -.834000 15.9994 0 8694 BULK 2599 TIP3 H1 HT .417000 1.00800 0 8695 BULK 2599 TIP3 H2 HT .417000 1.00800 0 8696 BULK 2600 TIP3 OH2 OT -.834000 15.9994 0 8697 BULK 2600 TIP3 H1 HT .417000 1.00800 0 8698 BULK 2600 TIP3 H2 HT .417000 1.00800 0 8699 BULK 2601 TIP3 OH2 OT -.834000 15.9994 0 8700 BULK 2601 TIP3 H1 HT .417000 1.00800 0 8701 BULK 2601 TIP3 H2 HT .417000 1.00800 0 8702 BULK 2602 TIP3 OH2 OT -.834000 15.9994 0 8703 BULK 2602 TIP3 H1 HT .417000 1.00800 0 8704 BULK 2602 TIP3 H2 HT .417000 1.00800 0 8705 BULK 2603 TIP3 OH2 OT -.834000 15.9994 0 8706 BULK 2603 TIP3 H1 HT .417000 1.00800 0 8707 BULK 2603 TIP3 H2 HT .417000 1.00800 0 8708 BULK 2604 TIP3 OH2 OT -.834000 15.9994 0 8709 BULK 2604 TIP3 H1 HT .417000 1.00800 0 8710 BULK 2604 TIP3 H2 HT .417000 1.00800 0 8711 BULK 2605 TIP3 OH2 OT -.834000 15.9994 0 8712 BULK 2605 TIP3 H1 HT .417000 1.00800 0 8713 BULK 2605 TIP3 H2 HT .417000 1.00800 0 8714 BULK 2606 TIP3 OH2 OT -.834000 15.9994 0 8715 BULK 2606 TIP3 H1 HT .417000 1.00800 0 8716 BULK 2606 TIP3 H2 HT .417000 1.00800 0 8717 BULK 2607 TIP3 OH2 OT -.834000 15.9994 0 8718 BULK 2607 TIP3 H1 HT .417000 1.00800 0 8719 BULK 2607 TIP3 H2 HT .417000 1.00800 0 8720 BULK 2608 TIP3 OH2 OT -.834000 15.9994 0 8721 BULK 2608 TIP3 H1 HT .417000 1.00800 0 8722 BULK 2608 TIP3 H2 HT .417000 1.00800 0 8723 BULK 2609 TIP3 OH2 OT -.834000 15.9994 0 8724 BULK 2609 TIP3 H1 HT .417000 1.00800 0 8725 BULK 2609 TIP3 H2 HT .417000 1.00800 0 8726 BULK 2610 TIP3 OH2 OT -.834000 15.9994 0 8727 BULK 2610 TIP3 H1 HT .417000 1.00800 0 8728 BULK 2610 TIP3 H2 HT .417000 1.00800 0 8729 BULK 2611 TIP3 OH2 OT -.834000 15.9994 0 8730 BULK 2611 TIP3 H1 HT .417000 1.00800 0 8731 BULK 2611 TIP3 H2 HT .417000 1.00800 0 8732 BULK 2612 TIP3 OH2 OT -.834000 15.9994 0 8733 BULK 2612 TIP3 H1 HT .417000 1.00800 0 8734 BULK 2612 TIP3 H2 HT .417000 1.00800 0 8735 BULK 2613 TIP3 OH2 OT -.834000 15.9994 0 8736 BULK 2613 TIP3 H1 HT .417000 1.00800 0 8737 BULK 2613 TIP3 H2 HT .417000 1.00800 0 8738 BULK 2614 TIP3 OH2 OT -.834000 15.9994 0 8739 BULK 2614 TIP3 H1 HT .417000 1.00800 0 8740 BULK 2614 TIP3 H2 HT .417000 1.00800 0 8741 BULK 2615 TIP3 OH2 OT -.834000 15.9994 0 8742 BULK 2615 TIP3 H1 HT .417000 1.00800 0 8743 BULK 2615 TIP3 H2 HT .417000 1.00800 0 8744 BULK 2616 TIP3 OH2 OT -.834000 15.9994 0 8745 BULK 2616 TIP3 H1 HT .417000 1.00800 0 8746 BULK 2616 TIP3 H2 HT .417000 1.00800 0 8747 BULK 2617 TIP3 OH2 OT -.834000 15.9994 0 8748 BULK 2617 TIP3 H1 HT .417000 1.00800 0 8749 BULK 2617 TIP3 H2 HT .417000 1.00800 0 8750 BULK 2618 TIP3 OH2 OT -.834000 15.9994 0 8751 BULK 2618 TIP3 H1 HT .417000 1.00800 0 8752 BULK 2618 TIP3 H2 HT .417000 1.00800 0 8753 BULK 2619 TIP3 OH2 OT -.834000 15.9994 0 8754 BULK 2619 TIP3 H1 HT .417000 1.00800 0 8755 BULK 2619 TIP3 H2 HT .417000 1.00800 0 8756 BULK 2620 TIP3 OH2 OT -.834000 15.9994 0 8757 BULK 2620 TIP3 H1 HT .417000 1.00800 0 8758 BULK 2620 TIP3 H2 HT .417000 1.00800 0 8759 BULK 2621 TIP3 OH2 OT -.834000 15.9994 0 8760 BULK 2621 TIP3 H1 HT .417000 1.00800 0 8761 BULK 2621 TIP3 H2 HT .417000 1.00800 0 8762 BULK 2622 TIP3 OH2 OT -.834000 15.9994 0 8763 BULK 2622 TIP3 H1 HT .417000 1.00800 0 8764 BULK 2622 TIP3 H2 HT .417000 1.00800 0 8765 BULK 2623 TIP3 OH2 OT -.834000 15.9994 0 8766 BULK 2623 TIP3 H1 HT .417000 1.00800 0 8767 BULK 2623 TIP3 H2 HT .417000 1.00800 0 8768 BULK 2624 TIP3 OH2 OT -.834000 15.9994 0 8769 BULK 2624 TIP3 H1 HT .417000 1.00800 0 8770 BULK 2624 TIP3 H2 HT .417000 1.00800 0 8771 BULK 2625 TIP3 OH2 OT -.834000 15.9994 0 8772 BULK 2625 TIP3 H1 HT .417000 1.00800 0 8773 BULK 2625 TIP3 H2 HT .417000 1.00800 0 8774 BULK 2626 TIP3 OH2 OT -.834000 15.9994 0 8775 BULK 2626 TIP3 H1 HT .417000 1.00800 0 8776 BULK 2626 TIP3 H2 HT .417000 1.00800 0 8777 BULK 2627 TIP3 OH2 OT -.834000 15.9994 0 8778 BULK 2627 TIP3 H1 HT .417000 1.00800 0 8779 BULK 2627 TIP3 H2 HT .417000 1.00800 0 8780 BULK 2628 TIP3 OH2 OT -.834000 15.9994 0 8781 BULK 2628 TIP3 H1 HT .417000 1.00800 0 8782 BULK 2628 TIP3 H2 HT .417000 1.00800 0 8783 BULK 2629 TIP3 OH2 OT -.834000 15.9994 0 8784 BULK 2629 TIP3 H1 HT .417000 1.00800 0 8785 BULK 2629 TIP3 H2 HT .417000 1.00800 0 8786 BULK 2630 TIP3 OH2 OT -.834000 15.9994 0 8787 BULK 2630 TIP3 H1 HT .417000 1.00800 0 8788 BULK 2630 TIP3 H2 HT .417000 1.00800 0 8789 BULK 2631 TIP3 OH2 OT -.834000 15.9994 0 8790 BULK 2631 TIP3 H1 HT .417000 1.00800 0 8791 BULK 2631 TIP3 H2 HT .417000 1.00800 0 8792 BULK 2632 TIP3 OH2 OT -.834000 15.9994 0 8793 BULK 2632 TIP3 H1 HT .417000 1.00800 0 8794 BULK 2632 TIP3 H2 HT .417000 1.00800 0 8795 BULK 2633 TIP3 OH2 OT -.834000 15.9994 0 8796 BULK 2633 TIP3 H1 HT .417000 1.00800 0 8797 BULK 2633 TIP3 H2 HT .417000 1.00800 0 8798 BULK 2634 TIP3 OH2 OT -.834000 15.9994 0 8799 BULK 2634 TIP3 H1 HT .417000 1.00800 0 8800 BULK 2634 TIP3 H2 HT .417000 1.00800 0 8801 BULK 2635 TIP3 OH2 OT -.834000 15.9994 0 8802 BULK 2635 TIP3 H1 HT .417000 1.00800 0 8803 BULK 2635 TIP3 H2 HT .417000 1.00800 0 8804 BULK 2636 TIP3 OH2 OT -.834000 15.9994 0 8805 BULK 2636 TIP3 H1 HT .417000 1.00800 0 8806 BULK 2636 TIP3 H2 HT .417000 1.00800 0 8807 BULK 2637 TIP3 OH2 OT -.834000 15.9994 0 8808 BULK 2637 TIP3 H1 HT .417000 1.00800 0 8809 BULK 2637 TIP3 H2 HT .417000 1.00800 0 8810 BULK 2638 TIP3 OH2 OT -.834000 15.9994 0 8811 BULK 2638 TIP3 H1 HT .417000 1.00800 0 8812 BULK 2638 TIP3 H2 HT .417000 1.00800 0 8813 BULK 2639 TIP3 OH2 OT -.834000 15.9994 0 8814 BULK 2639 TIP3 H1 HT .417000 1.00800 0 8815 BULK 2639 TIP3 H2 HT .417000 1.00800 0 8816 BULK 2640 TIP3 OH2 OT -.834000 15.9994 0 8817 BULK 2640 TIP3 H1 HT .417000 1.00800 0 8818 BULK 2640 TIP3 H2 HT .417000 1.00800 0 8819 BULK 2641 TIP3 OH2 OT -.834000 15.9994 0 8820 BULK 2641 TIP3 H1 HT .417000 1.00800 0 8821 BULK 2641 TIP3 H2 HT .417000 1.00800 0 8822 BULK 2642 TIP3 OH2 OT -.834000 15.9994 0 8823 BULK 2642 TIP3 H1 HT .417000 1.00800 0 8824 BULK 2642 TIP3 H2 HT .417000 1.00800 0 8825 BULK 2643 TIP3 OH2 OT -.834000 15.9994 0 8826 BULK 2643 TIP3 H1 HT .417000 1.00800 0 8827 BULK 2643 TIP3 H2 HT .417000 1.00800 0 8828 BULK 2644 TIP3 OH2 OT -.834000 15.9994 0 8829 BULK 2644 TIP3 H1 HT .417000 1.00800 0 8830 BULK 2644 TIP3 H2 HT .417000 1.00800 0 8831 BULK 2645 TIP3 OH2 OT -.834000 15.9994 0 8832 BULK 2645 TIP3 H1 HT .417000 1.00800 0 8833 BULK 2645 TIP3 H2 HT .417000 1.00800 0 8834 BULK 2646 TIP3 OH2 OT -.834000 15.9994 0 8835 BULK 2646 TIP3 H1 HT .417000 1.00800 0 8836 BULK 2646 TIP3 H2 HT .417000 1.00800 0 8837 BULK 2647 TIP3 OH2 OT -.834000 15.9994 0 8838 BULK 2647 TIP3 H1 HT .417000 1.00800 0 8839 BULK 2647 TIP3 H2 HT .417000 1.00800 0 8840 BULK 2648 TIP3 OH2 OT -.834000 15.9994 0 8841 BULK 2648 TIP3 H1 HT .417000 1.00800 0 8842 BULK 2648 TIP3 H2 HT .417000 1.00800 0 8843 BULK 2649 TIP3 OH2 OT -.834000 15.9994 0 8844 BULK 2649 TIP3 H1 HT .417000 1.00800 0 8845 BULK 2649 TIP3 H2 HT .417000 1.00800 0 8846 BULK 2650 TIP3 OH2 OT -.834000 15.9994 0 8847 BULK 2650 TIP3 H1 HT .417000 1.00800 0 8848 BULK 2650 TIP3 H2 HT .417000 1.00800 0 8849 BULK 2651 TIP3 OH2 OT -.834000 15.9994 0 8850 BULK 2651 TIP3 H1 HT .417000 1.00800 0 8851 BULK 2651 TIP3 H2 HT .417000 1.00800 0 8852 BULK 2652 TIP3 OH2 OT -.834000 15.9994 0 8853 BULK 2652 TIP3 H1 HT .417000 1.00800 0 8854 BULK 2652 TIP3 H2 HT .417000 1.00800 0 8855 BULK 2653 TIP3 OH2 OT -.834000 15.9994 0 8856 BULK 2653 TIP3 H1 HT .417000 1.00800 0 8857 BULK 2653 TIP3 H2 HT .417000 1.00800 0 8858 BULK 2654 TIP3 OH2 OT -.834000 15.9994 0 8859 BULK 2654 TIP3 H1 HT .417000 1.00800 0 8860 BULK 2654 TIP3 H2 HT .417000 1.00800 0 8861 BULK 2655 TIP3 OH2 OT -.834000 15.9994 0 8862 BULK 2655 TIP3 H1 HT .417000 1.00800 0 8863 BULK 2655 TIP3 H2 HT .417000 1.00800 0 8864 BULK 2656 TIP3 OH2 OT -.834000 15.9994 0 8865 BULK 2656 TIP3 H1 HT .417000 1.00800 0 8866 BULK 2656 TIP3 H2 HT .417000 1.00800 0 8867 BULK 2657 TIP3 OH2 OT -.834000 15.9994 0 8868 BULK 2657 TIP3 H1 HT .417000 1.00800 0 8869 BULK 2657 TIP3 H2 HT .417000 1.00800 0 8870 BULK 2658 TIP3 OH2 OT -.834000 15.9994 0 8871 BULK 2658 TIP3 H1 HT .417000 1.00800 0 8872 BULK 2658 TIP3 H2 HT .417000 1.00800 0 8873 BULK 2659 TIP3 OH2 OT -.834000 15.9994 0 8874 BULK 2659 TIP3 H1 HT .417000 1.00800 0 8875 BULK 2659 TIP3 H2 HT .417000 1.00800 0 8876 BULK 2660 TIP3 OH2 OT -.834000 15.9994 0 8877 BULK 2660 TIP3 H1 HT .417000 1.00800 0 8878 BULK 2660 TIP3 H2 HT .417000 1.00800 0 8879 BULK 2661 TIP3 OH2 OT -.834000 15.9994 0 8880 BULK 2661 TIP3 H1 HT .417000 1.00800 0 8881 BULK 2661 TIP3 H2 HT .417000 1.00800 0 8882 BULK 2662 TIP3 OH2 OT -.834000 15.9994 0 8883 BULK 2662 TIP3 H1 HT .417000 1.00800 0 8884 BULK 2662 TIP3 H2 HT .417000 1.00800 0 8885 BULK 2663 TIP3 OH2 OT -.834000 15.9994 0 8886 BULK 2663 TIP3 H1 HT .417000 1.00800 0 8887 BULK 2663 TIP3 H2 HT .417000 1.00800 0 8888 BULK 2664 TIP3 OH2 OT -.834000 15.9994 0 8889 BULK 2664 TIP3 H1 HT .417000 1.00800 0 8890 BULK 2664 TIP3 H2 HT .417000 1.00800 0 8891 BULK 2665 TIP3 OH2 OT -.834000 15.9994 0 8892 BULK 2665 TIP3 H1 HT .417000 1.00800 0 8893 BULK 2665 TIP3 H2 HT .417000 1.00800 0 8894 BULK 2666 TIP3 OH2 OT -.834000 15.9994 0 8895 BULK 2666 TIP3 H1 HT .417000 1.00800 0 8896 BULK 2666 TIP3 H2 HT .417000 1.00800 0 8897 BULK 2667 TIP3 OH2 OT -.834000 15.9994 0 8898 BULK 2667 TIP3 H1 HT .417000 1.00800 0 8899 BULK 2667 TIP3 H2 HT .417000 1.00800 0 8900 BULK 2668 TIP3 OH2 OT -.834000 15.9994 0 8901 BULK 2668 TIP3 H1 HT .417000 1.00800 0 8902 BULK 2668 TIP3 H2 HT .417000 1.00800 0 8903 BULK 2669 TIP3 OH2 OT -.834000 15.9994 0 8904 BULK 2669 TIP3 H1 HT .417000 1.00800 0 8905 BULK 2669 TIP3 H2 HT .417000 1.00800 0 8906 BULK 2670 TIP3 OH2 OT -.834000 15.9994 0 8907 BULK 2670 TIP3 H1 HT .417000 1.00800 0 8908 BULK 2670 TIP3 H2 HT .417000 1.00800 0 8909 BULK 2671 TIP3 OH2 OT -.834000 15.9994 0 8910 BULK 2671 TIP3 H1 HT .417000 1.00800 0 8911 BULK 2671 TIP3 H2 HT .417000 1.00800 0 8912 BULK 2672 TIP3 OH2 OT -.834000 15.9994 0 8913 BULK 2672 TIP3 H1 HT .417000 1.00800 0 8914 BULK 2672 TIP3 H2 HT .417000 1.00800 0 8915 BULK 2673 TIP3 OH2 OT -.834000 15.9994 0 8916 BULK 2673 TIP3 H1 HT .417000 1.00800 0 8917 BULK 2673 TIP3 H2 HT .417000 1.00800 0 8918 BULK 2674 TIP3 OH2 OT -.834000 15.9994 0 8919 BULK 2674 TIP3 H1 HT .417000 1.00800 0 8920 BULK 2674 TIP3 H2 HT .417000 1.00800 0 8921 BULK 2675 TIP3 OH2 OT -.834000 15.9994 0 8922 BULK 2675 TIP3 H1 HT .417000 1.00800 0 8923 BULK 2675 TIP3 H2 HT .417000 1.00800 0 8924 BULK 2676 TIP3 OH2 OT -.834000 15.9994 0 8925 BULK 2676 TIP3 H1 HT .417000 1.00800 0 8926 BULK 2676 TIP3 H2 HT .417000 1.00800 0 8927 BULK 2677 TIP3 OH2 OT -.834000 15.9994 0 8928 BULK 2677 TIP3 H1 HT .417000 1.00800 0 8929 BULK 2677 TIP3 H2 HT .417000 1.00800 0 8930 BULK 2678 TIP3 OH2 OT -.834000 15.9994 0 8931 BULK 2678 TIP3 H1 HT .417000 1.00800 0 8932 BULK 2678 TIP3 H2 HT .417000 1.00800 0 8933 BULK 2679 TIP3 OH2 OT -.834000 15.9994 0 8934 BULK 2679 TIP3 H1 HT .417000 1.00800 0 8935 BULK 2679 TIP3 H2 HT .417000 1.00800 0 8936 BULK 2680 TIP3 OH2 OT -.834000 15.9994 0 8937 BULK 2680 TIP3 H1 HT .417000 1.00800 0 8938 BULK 2680 TIP3 H2 HT .417000 1.00800 0 8939 BULK 2681 TIP3 OH2 OT -.834000 15.9994 0 8940 BULK 2681 TIP3 H1 HT .417000 1.00800 0 8941 BULK 2681 TIP3 H2 HT .417000 1.00800 0 8942 BULK 2682 TIP3 OH2 OT -.834000 15.9994 0 8943 BULK 2682 TIP3 H1 HT .417000 1.00800 0 8944 BULK 2682 TIP3 H2 HT .417000 1.00800 0 8945 BULK 2683 TIP3 OH2 OT -.834000 15.9994 0 8946 BULK 2683 TIP3 H1 HT .417000 1.00800 0 8947 BULK 2683 TIP3 H2 HT .417000 1.00800 0 8948 BULK 2684 TIP3 OH2 OT -.834000 15.9994 0 8949 BULK 2684 TIP3 H1 HT .417000 1.00800 0 8950 BULK 2684 TIP3 H2 HT .417000 1.00800 0 8951 BULK 2685 TIP3 OH2 OT -.834000 15.9994 0 8952 BULK 2685 TIP3 H1 HT .417000 1.00800 0 8953 BULK 2685 TIP3 H2 HT .417000 1.00800 0 8954 BULK 2686 TIP3 OH2 OT -.834000 15.9994 0 8955 BULK 2686 TIP3 H1 HT .417000 1.00800 0 8956 BULK 2686 TIP3 H2 HT .417000 1.00800 0 8957 BULK 2687 TIP3 OH2 OT -.834000 15.9994 0 8958 BULK 2687 TIP3 H1 HT .417000 1.00800 0 8959 BULK 2687 TIP3 H2 HT .417000 1.00800 0 8960 BULK 2688 TIP3 OH2 OT -.834000 15.9994 0 8961 BULK 2688 TIP3 H1 HT .417000 1.00800 0 8962 BULK 2688 TIP3 H2 HT .417000 1.00800 0 8963 BULK 2689 TIP3 OH2 OT -.834000 15.9994 0 8964 BULK 2689 TIP3 H1 HT .417000 1.00800 0 8965 BULK 2689 TIP3 H2 HT .417000 1.00800 0 8966 BULK 2690 TIP3 OH2 OT -.834000 15.9994 0 8967 BULK 2690 TIP3 H1 HT .417000 1.00800 0 8968 BULK 2690 TIP3 H2 HT .417000 1.00800 0 8969 BULK 2691 TIP3 OH2 OT -.834000 15.9994 0 8970 BULK 2691 TIP3 H1 HT .417000 1.00800 0 8971 BULK 2691 TIP3 H2 HT .417000 1.00800 0 8972 BULK 2692 TIP3 OH2 OT -.834000 15.9994 0 8973 BULK 2692 TIP3 H1 HT .417000 1.00800 0 8974 BULK 2692 TIP3 H2 HT .417000 1.00800 0 8975 BULK 2693 TIP3 OH2 OT -.834000 15.9994 0 8976 BULK 2693 TIP3 H1 HT .417000 1.00800 0 8977 BULK 2693 TIP3 H2 HT .417000 1.00800 0 8978 BULK 2694 TIP3 OH2 OT -.834000 15.9994 0 8979 BULK 2694 TIP3 H1 HT .417000 1.00800 0 8980 BULK 2694 TIP3 H2 HT .417000 1.00800 0 8981 BULK 2695 TIP3 OH2 OT -.834000 15.9994 0 8982 BULK 2695 TIP3 H1 HT .417000 1.00800 0 8983 BULK 2695 TIP3 H2 HT .417000 1.00800 0 8984 BULK 2696 TIP3 OH2 OT -.834000 15.9994 0 8985 BULK 2696 TIP3 H1 HT .417000 1.00800 0 8986 BULK 2696 TIP3 H2 HT .417000 1.00800 0 8987 BULK 2697 TIP3 OH2 OT -.834000 15.9994 0 8988 BULK 2697 TIP3 H1 HT .417000 1.00800 0 8989 BULK 2697 TIP3 H2 HT .417000 1.00800 0 8990 BULK 2698 TIP3 OH2 OT -.834000 15.9994 0 8991 BULK 2698 TIP3 H1 HT .417000 1.00800 0 8992 BULK 2698 TIP3 H2 HT .417000 1.00800 0 8993 BULK 2699 TIP3 OH2 OT -.834000 15.9994 0 8994 BULK 2699 TIP3 H1 HT .417000 1.00800 0 8995 BULK 2699 TIP3 H2 HT .417000 1.00800 0 8996 BULK 2700 TIP3 OH2 OT -.834000 15.9994 0 8997 BULK 2700 TIP3 H1 HT .417000 1.00800 0 8998 BULK 2700 TIP3 H2 HT .417000 1.00800 0 8999 BULK 2701 TIP3 OH2 OT -.834000 15.9994 0 9000 BULK 2701 TIP3 H1 HT .417000 1.00800 0 9001 BULK 2701 TIP3 H2 HT .417000 1.00800 0 9002 BULK 2702 TIP3 OH2 OT -.834000 15.9994 0 9003 BULK 2702 TIP3 H1 HT .417000 1.00800 0 9004 BULK 2702 TIP3 H2 HT .417000 1.00800 0 9005 BULK 2703 TIP3 OH2 OT -.834000 15.9994 0 9006 BULK 2703 TIP3 H1 HT .417000 1.00800 0 9007 BULK 2703 TIP3 H2 HT .417000 1.00800 0 9008 BULK 2704 TIP3 OH2 OT -.834000 15.9994 0 9009 BULK 2704 TIP3 H1 HT .417000 1.00800 0 9010 BULK 2704 TIP3 H2 HT .417000 1.00800 0 9011 BULK 2705 TIP3 OH2 OT -.834000 15.9994 0 9012 BULK 2705 TIP3 H1 HT .417000 1.00800 0 9013 BULK 2705 TIP3 H2 HT .417000 1.00800 0 9014 BULK 2706 TIP3 OH2 OT -.834000 15.9994 0 9015 BULK 2706 TIP3 H1 HT .417000 1.00800 0 9016 BULK 2706 TIP3 H2 HT .417000 1.00800 0 9017 BULK 2707 TIP3 OH2 OT -.834000 15.9994 0 9018 BULK 2707 TIP3 H1 HT .417000 1.00800 0 9019 BULK 2707 TIP3 H2 HT .417000 1.00800 0 9020 BULK 2708 TIP3 OH2 OT -.834000 15.9994 0 9021 BULK 2708 TIP3 H1 HT .417000 1.00800 0 9022 BULK 2708 TIP3 H2 HT .417000 1.00800 0 9023 BULK 2709 TIP3 OH2 OT -.834000 15.9994 0 9024 BULK 2709 TIP3 H1 HT .417000 1.00800 0 9025 BULK 2709 TIP3 H2 HT .417000 1.00800 0 9026 BULK 2710 TIP3 OH2 OT -.834000 15.9994 0 9027 BULK 2710 TIP3 H1 HT .417000 1.00800 0 9028 BULK 2710 TIP3 H2 HT .417000 1.00800 0 9029 BULK 2711 TIP3 OH2 OT -.834000 15.9994 0 9030 BULK 2711 TIP3 H1 HT .417000 1.00800 0 9031 BULK 2711 TIP3 H2 HT .417000 1.00800 0 9032 BULK 2712 TIP3 OH2 OT -.834000 15.9994 0 9033 BULK 2712 TIP3 H1 HT .417000 1.00800 0 9034 BULK 2712 TIP3 H2 HT .417000 1.00800 0 9035 BULK 2713 TIP3 OH2 OT -.834000 15.9994 0 9036 BULK 2713 TIP3 H1 HT .417000 1.00800 0 9037 BULK 2713 TIP3 H2 HT .417000 1.00800 0 9038 BULK 2714 TIP3 OH2 OT -.834000 15.9994 0 9039 BULK 2714 TIP3 H1 HT .417000 1.00800 0 9040 BULK 2714 TIP3 H2 HT .417000 1.00800 0 9041 BULK 2715 TIP3 OH2 OT -.834000 15.9994 0 9042 BULK 2715 TIP3 H1 HT .417000 1.00800 0 9043 BULK 2715 TIP3 H2 HT .417000 1.00800 0 9044 BULK 2716 TIP3 OH2 OT -.834000 15.9994 0 9045 BULK 2716 TIP3 H1 HT .417000 1.00800 0 9046 BULK 2716 TIP3 H2 HT .417000 1.00800 0 9047 BULK 2717 TIP3 OH2 OT -.834000 15.9994 0 9048 BULK 2717 TIP3 H1 HT .417000 1.00800 0 9049 BULK 2717 TIP3 H2 HT .417000 1.00800 0 9050 BULK 2718 TIP3 OH2 OT -.834000 15.9994 0 9051 BULK 2718 TIP3 H1 HT .417000 1.00800 0 9052 BULK 2718 TIP3 H2 HT .417000 1.00800 0 9053 BULK 2719 TIP3 OH2 OT -.834000 15.9994 0 9054 BULK 2719 TIP3 H1 HT .417000 1.00800 0 9055 BULK 2719 TIP3 H2 HT .417000 1.00800 0 9056 BULK 2720 TIP3 OH2 OT -.834000 15.9994 0 9057 BULK 2720 TIP3 H1 HT .417000 1.00800 0 9058 BULK 2720 TIP3 H2 HT .417000 1.00800 0 9059 BULK 2721 TIP3 OH2 OT -.834000 15.9994 0 9060 BULK 2721 TIP3 H1 HT .417000 1.00800 0 9061 BULK 2721 TIP3 H2 HT .417000 1.00800 0 9062 BULK 2722 TIP3 OH2 OT -.834000 15.9994 0 9063 BULK 2722 TIP3 H1 HT .417000 1.00800 0 9064 BULK 2722 TIP3 H2 HT .417000 1.00800 0 9065 BULK 2723 TIP3 OH2 OT -.834000 15.9994 0 9066 BULK 2723 TIP3 H1 HT .417000 1.00800 0 9067 BULK 2723 TIP3 H2 HT .417000 1.00800 0 9068 BULK 2724 TIP3 OH2 OT -.834000 15.9994 0 9069 BULK 2724 TIP3 H1 HT .417000 1.00800 0 9070 BULK 2724 TIP3 H2 HT .417000 1.00800 0 9071 BULK 2725 TIP3 OH2 OT -.834000 15.9994 0 9072 BULK 2725 TIP3 H1 HT .417000 1.00800 0 9073 BULK 2725 TIP3 H2 HT .417000 1.00800 0 9074 BULK 2726 TIP3 OH2 OT -.834000 15.9994 0 9075 BULK 2726 TIP3 H1 HT .417000 1.00800 0 9076 BULK 2726 TIP3 H2 HT .417000 1.00800 0 9077 BULK 2727 TIP3 OH2 OT -.834000 15.9994 0 9078 BULK 2727 TIP3 H1 HT .417000 1.00800 0 9079 BULK 2727 TIP3 H2 HT .417000 1.00800 0 9080 BULK 2728 TIP3 OH2 OT -.834000 15.9994 0 9081 BULK 2728 TIP3 H1 HT .417000 1.00800 0 9082 BULK 2728 TIP3 H2 HT .417000 1.00800 0 9083 BULK 2729 TIP3 OH2 OT -.834000 15.9994 0 9084 BULK 2729 TIP3 H1 HT .417000 1.00800 0 9085 BULK 2729 TIP3 H2 HT .417000 1.00800 0 9086 BULK 2730 TIP3 OH2 OT -.834000 15.9994 0 9087 BULK 2730 TIP3 H1 HT .417000 1.00800 0 9088 BULK 2730 TIP3 H2 HT .417000 1.00800 0 9089 BULK 2731 TIP3 OH2 OT -.834000 15.9994 0 9090 BULK 2731 TIP3 H1 HT .417000 1.00800 0 9091 BULK 2731 TIP3 H2 HT .417000 1.00800 0 9092 BULK 2732 TIP3 OH2 OT -.834000 15.9994 0 9093 BULK 2732 TIP3 H1 HT .417000 1.00800 0 9094 BULK 2732 TIP3 H2 HT .417000 1.00800 0 9095 BULK 2733 TIP3 OH2 OT -.834000 15.9994 0 9096 BULK 2733 TIP3 H1 HT .417000 1.00800 0 9097 BULK 2733 TIP3 H2 HT .417000 1.00800 0 9098 BULK 2734 TIP3 OH2 OT -.834000 15.9994 0 9099 BULK 2734 TIP3 H1 HT .417000 1.00800 0 9100 BULK 2734 TIP3 H2 HT .417000 1.00800 0 9101 BULK 2735 TIP3 OH2 OT -.834000 15.9994 0 9102 BULK 2735 TIP3 H1 HT .417000 1.00800 0 9103 BULK 2735 TIP3 H2 HT .417000 1.00800 0 9104 BULK 2736 TIP3 OH2 OT -.834000 15.9994 0 9105 BULK 2736 TIP3 H1 HT .417000 1.00800 0 9106 BULK 2736 TIP3 H2 HT .417000 1.00800 0 9107 BULK 2737 TIP3 OH2 OT -.834000 15.9994 0 9108 BULK 2737 TIP3 H1 HT .417000 1.00800 0 9109 BULK 2737 TIP3 H2 HT .417000 1.00800 0 9110 BULK 2738 TIP3 OH2 OT -.834000 15.9994 0 9111 BULK 2738 TIP3 H1 HT .417000 1.00800 0 9112 BULK 2738 TIP3 H2 HT .417000 1.00800 0 9113 BULK 2739 TIP3 OH2 OT -.834000 15.9994 0 9114 BULK 2739 TIP3 H1 HT .417000 1.00800 0 9115 BULK 2739 TIP3 H2 HT .417000 1.00800 0 9116 BULK 2740 TIP3 OH2 OT -.834000 15.9994 0 9117 BULK 2740 TIP3 H1 HT .417000 1.00800 0 9118 BULK 2740 TIP3 H2 HT .417000 1.00800 0 9119 BULK 2741 TIP3 OH2 OT -.834000 15.9994 0 9120 BULK 2741 TIP3 H1 HT .417000 1.00800 0 9121 BULK 2741 TIP3 H2 HT .417000 1.00800 0 9122 BULK 2742 TIP3 OH2 OT -.834000 15.9994 0 9123 BULK 2742 TIP3 H1 HT .417000 1.00800 0 9124 BULK 2742 TIP3 H2 HT .417000 1.00800 0 9125 BULK 2743 TIP3 OH2 OT -.834000 15.9994 0 9126 BULK 2743 TIP3 H1 HT .417000 1.00800 0 9127 BULK 2743 TIP3 H2 HT .417000 1.00800 0 9128 BULK 2744 TIP3 OH2 OT -.834000 15.9994 0 9129 BULK 2744 TIP3 H1 HT .417000 1.00800 0 9130 BULK 2744 TIP3 H2 HT .417000 1.00800 0 9131 BULK 2745 TIP3 OH2 OT -.834000 15.9994 0 9132 BULK 2745 TIP3 H1 HT .417000 1.00800 0 9133 BULK 2745 TIP3 H2 HT .417000 1.00800 0 9134 BULK 2746 TIP3 OH2 OT -.834000 15.9994 0 9135 BULK 2746 TIP3 H1 HT .417000 1.00800 0 9136 BULK 2746 TIP3 H2 HT .417000 1.00800 0 9137 BULK 2747 TIP3 OH2 OT -.834000 15.9994 0 9138 BULK 2747 TIP3 H1 HT .417000 1.00800 0 9139 BULK 2747 TIP3 H2 HT .417000 1.00800 0 9140 BULK 2748 TIP3 OH2 OT -.834000 15.9994 0 9141 BULK 2748 TIP3 H1 HT .417000 1.00800 0 9142 BULK 2748 TIP3 H2 HT .417000 1.00800 0 9143 BULK 2749 TIP3 OH2 OT -.834000 15.9994 0 9144 BULK 2749 TIP3 H1 HT .417000 1.00800 0 9145 BULK 2749 TIP3 H2 HT .417000 1.00800 0 9146 BULK 2750 TIP3 OH2 OT -.834000 15.9994 0 9147 BULK 2750 TIP3 H1 HT .417000 1.00800 0 9148 BULK 2750 TIP3 H2 HT .417000 1.00800 0 9149 BULK 2751 TIP3 OH2 OT -.834000 15.9994 0 9150 BULK 2751 TIP3 H1 HT .417000 1.00800 0 9151 BULK 2751 TIP3 H2 HT .417000 1.00800 0 9152 BULK 2752 TIP3 OH2 OT -.834000 15.9994 0 9153 BULK 2752 TIP3 H1 HT .417000 1.00800 0 9154 BULK 2752 TIP3 H2 HT .417000 1.00800 0 9155 BULK 2753 TIP3 OH2 OT -.834000 15.9994 0 9156 BULK 2753 TIP3 H1 HT .417000 1.00800 0 9157 BULK 2753 TIP3 H2 HT .417000 1.00800 0 9158 BULK 2754 TIP3 OH2 OT -.834000 15.9994 0 9159 BULK 2754 TIP3 H1 HT .417000 1.00800 0 9160 BULK 2754 TIP3 H2 HT .417000 1.00800 0 9161 BULK 2755 TIP3 OH2 OT -.834000 15.9994 0 9162 BULK 2755 TIP3 H1 HT .417000 1.00800 0 9163 BULK 2755 TIP3 H2 HT .417000 1.00800 0 9164 BULK 2756 TIP3 OH2 OT -.834000 15.9994 0 9165 BULK 2756 TIP3 H1 HT .417000 1.00800 0 9166 BULK 2756 TIP3 H2 HT .417000 1.00800 0 9167 BULK 2757 TIP3 OH2 OT -.834000 15.9994 0 9168 BULK 2757 TIP3 H1 HT .417000 1.00800 0 9169 BULK 2757 TIP3 H2 HT .417000 1.00800 0 9170 BULK 2758 TIP3 OH2 OT -.834000 15.9994 0 9171 BULK 2758 TIP3 H1 HT .417000 1.00800 0 9172 BULK 2758 TIP3 H2 HT .417000 1.00800 0 9173 BULK 2759 TIP3 OH2 OT -.834000 15.9994 0 9174 BULK 2759 TIP3 H1 HT .417000 1.00800 0 9175 BULK 2759 TIP3 H2 HT .417000 1.00800 0 9176 BULK 2760 TIP3 OH2 OT -.834000 15.9994 0 9177 BULK 2760 TIP3 H1 HT .417000 1.00800 0 9178 BULK 2760 TIP3 H2 HT .417000 1.00800 0 9179 BULK 2761 TIP3 OH2 OT -.834000 15.9994 0 9180 BULK 2761 TIP3 H1 HT .417000 1.00800 0 9181 BULK 2761 TIP3 H2 HT .417000 1.00800 0 9182 BULK 2762 TIP3 OH2 OT -.834000 15.9994 0 9183 BULK 2762 TIP3 H1 HT .417000 1.00800 0 9184 BULK 2762 TIP3 H2 HT .417000 1.00800 0 9185 BULK 2763 TIP3 OH2 OT -.834000 15.9994 0 9186 BULK 2763 TIP3 H1 HT .417000 1.00800 0 9187 BULK 2763 TIP3 H2 HT .417000 1.00800 0 9188 BULK 2764 TIP3 OH2 OT -.834000 15.9994 0 9189 BULK 2764 TIP3 H1 HT .417000 1.00800 0 9190 BULK 2764 TIP3 H2 HT .417000 1.00800 0 9191 BULK 2765 TIP3 OH2 OT -.834000 15.9994 0 9192 BULK 2765 TIP3 H1 HT .417000 1.00800 0 9193 BULK 2765 TIP3 H2 HT .417000 1.00800 0 9194 BULK 2766 TIP3 OH2 OT -.834000 15.9994 0 9195 BULK 2766 TIP3 H1 HT .417000 1.00800 0 9196 BULK 2766 TIP3 H2 HT .417000 1.00800 0 9197 BULK 2767 TIP3 OH2 OT -.834000 15.9994 0 9198 BULK 2767 TIP3 H1 HT .417000 1.00800 0 9199 BULK 2767 TIP3 H2 HT .417000 1.00800 0 9200 BULK 2768 TIP3 OH2 OT -.834000 15.9994 0 9201 BULK 2768 TIP3 H1 HT .417000 1.00800 0 9202 BULK 2768 TIP3 H2 HT .417000 1.00800 0 9203 BULK 2769 TIP3 OH2 OT -.834000 15.9994 0 9204 BULK 2769 TIP3 H1 HT .417000 1.00800 0 9205 BULK 2769 TIP3 H2 HT .417000 1.00800 0 9206 BULK 2770 TIP3 OH2 OT -.834000 15.9994 0 9207 BULK 2770 TIP3 H1 HT .417000 1.00800 0 9208 BULK 2770 TIP3 H2 HT .417000 1.00800 0 9209 BULK 2771 TIP3 OH2 OT -.834000 15.9994 0 9210 BULK 2771 TIP3 H1 HT .417000 1.00800 0 9211 BULK 2771 TIP3 H2 HT .417000 1.00800 0 9212 BULK 2772 TIP3 OH2 OT -.834000 15.9994 0 9213 BULK 2772 TIP3 H1 HT .417000 1.00800 0 9214 BULK 2772 TIP3 H2 HT .417000 1.00800 0 9215 BULK 2773 TIP3 OH2 OT -.834000 15.9994 0 9216 BULK 2773 TIP3 H1 HT .417000 1.00800 0 9217 BULK 2773 TIP3 H2 HT .417000 1.00800 0 9218 BULK 2774 TIP3 OH2 OT -.834000 15.9994 0 9219 BULK 2774 TIP3 H1 HT .417000 1.00800 0 9220 BULK 2774 TIP3 H2 HT .417000 1.00800 0 9221 BULK 2775 TIP3 OH2 OT -.834000 15.9994 0 9222 BULK 2775 TIP3 H1 HT .417000 1.00800 0 9223 BULK 2775 TIP3 H2 HT .417000 1.00800 0 9224 BULK 2776 TIP3 OH2 OT -.834000 15.9994 0 9225 BULK 2776 TIP3 H1 HT .417000 1.00800 0 9226 BULK 2776 TIP3 H2 HT .417000 1.00800 0 9227 BULK 2777 TIP3 OH2 OT -.834000 15.9994 0 9228 BULK 2777 TIP3 H1 HT .417000 1.00800 0 9229 BULK 2777 TIP3 H2 HT .417000 1.00800 0 9230 BULK 2778 TIP3 OH2 OT -.834000 15.9994 0 9231 BULK 2778 TIP3 H1 HT .417000 1.00800 0 9232 BULK 2778 TIP3 H2 HT .417000 1.00800 0 9233 BULK 2779 TIP3 OH2 OT -.834000 15.9994 0 9234 BULK 2779 TIP3 H1 HT .417000 1.00800 0 9235 BULK 2779 TIP3 H2 HT .417000 1.00800 0 9236 BULK 2780 TIP3 OH2 OT -.834000 15.9994 0 9237 BULK 2780 TIP3 H1 HT .417000 1.00800 0 9238 BULK 2780 TIP3 H2 HT .417000 1.00800 0 9239 BULK 2781 TIP3 OH2 OT -.834000 15.9994 0 9240 BULK 2781 TIP3 H1 HT .417000 1.00800 0 9241 BULK 2781 TIP3 H2 HT .417000 1.00800 0 9242 BULK 2782 TIP3 OH2 OT -.834000 15.9994 0 9243 BULK 2782 TIP3 H1 HT .417000 1.00800 0 9244 BULK 2782 TIP3 H2 HT .417000 1.00800 0 9245 BULK 2783 TIP3 OH2 OT -.834000 15.9994 0 9246 BULK 2783 TIP3 H1 HT .417000 1.00800 0 9247 BULK 2783 TIP3 H2 HT .417000 1.00800 0 9248 BULK 2784 TIP3 OH2 OT -.834000 15.9994 0 9249 BULK 2784 TIP3 H1 HT .417000 1.00800 0 9250 BULK 2784 TIP3 H2 HT .417000 1.00800 0 9251 BULK 2785 TIP3 OH2 OT -.834000 15.9994 0 9252 BULK 2785 TIP3 H1 HT .417000 1.00800 0 9253 BULK 2785 TIP3 H2 HT .417000 1.00800 0 9254 BULK 2786 TIP3 OH2 OT -.834000 15.9994 0 9255 BULK 2786 TIP3 H1 HT .417000 1.00800 0 9256 BULK 2786 TIP3 H2 HT .417000 1.00800 0 9257 BULK 2787 TIP3 OH2 OT -.834000 15.9994 0 9258 BULK 2787 TIP3 H1 HT .417000 1.00800 0 9259 BULK 2787 TIP3 H2 HT .417000 1.00800 0 9260 BULK 2788 TIP3 OH2 OT -.834000 15.9994 0 9261 BULK 2788 TIP3 H1 HT .417000 1.00800 0 9262 BULK 2788 TIP3 H2 HT .417000 1.00800 0 9263 BULK 2789 TIP3 OH2 OT -.834000 15.9994 0 9264 BULK 2789 TIP3 H1 HT .417000 1.00800 0 9265 BULK 2789 TIP3 H2 HT .417000 1.00800 0 9266 BULK 2790 TIP3 OH2 OT -.834000 15.9994 0 9267 BULK 2790 TIP3 H1 HT .417000 1.00800 0 9268 BULK 2790 TIP3 H2 HT .417000 1.00800 0 9269 BULK 2791 TIP3 OH2 OT -.834000 15.9994 0 9270 BULK 2791 TIP3 H1 HT .417000 1.00800 0 9271 BULK 2791 TIP3 H2 HT .417000 1.00800 0 9272 BULK 2792 TIP3 OH2 OT -.834000 15.9994 0 9273 BULK 2792 TIP3 H1 HT .417000 1.00800 0 9274 BULK 2792 TIP3 H2 HT .417000 1.00800 0 9275 BULK 2793 TIP3 OH2 OT -.834000 15.9994 0 9276 BULK 2793 TIP3 H1 HT .417000 1.00800 0 9277 BULK 2793 TIP3 H2 HT .417000 1.00800 0 9278 BULK 2794 TIP3 OH2 OT -.834000 15.9994 0 9279 BULK 2794 TIP3 H1 HT .417000 1.00800 0 9280 BULK 2794 TIP3 H2 HT .417000 1.00800 0 9281 BULK 2795 TIP3 OH2 OT -.834000 15.9994 0 9282 BULK 2795 TIP3 H1 HT .417000 1.00800 0 9283 BULK 2795 TIP3 H2 HT .417000 1.00800 0 9284 BULK 2796 TIP3 OH2 OT -.834000 15.9994 0 9285 BULK 2796 TIP3 H1 HT .417000 1.00800 0 9286 BULK 2796 TIP3 H2 HT .417000 1.00800 0 9287 BULK 2797 TIP3 OH2 OT -.834000 15.9994 0 9288 BULK 2797 TIP3 H1 HT .417000 1.00800 0 9289 BULK 2797 TIP3 H2 HT .417000 1.00800 0 9290 BULK 2798 TIP3 OH2 OT -.834000 15.9994 0 9291 BULK 2798 TIP3 H1 HT .417000 1.00800 0 9292 BULK 2798 TIP3 H2 HT .417000 1.00800 0 9293 BULK 2799 TIP3 OH2 OT -.834000 15.9994 0 9294 BULK 2799 TIP3 H1 HT .417000 1.00800 0 9295 BULK 2799 TIP3 H2 HT .417000 1.00800 0 9296 BULK 2800 TIP3 OH2 OT -.834000 15.9994 0 9297 BULK 2800 TIP3 H1 HT .417000 1.00800 0 9298 BULK 2800 TIP3 H2 HT .417000 1.00800 0 9299 BULK 2801 TIP3 OH2 OT -.834000 15.9994 0 9300 BULK 2801 TIP3 H1 HT .417000 1.00800 0 9301 BULK 2801 TIP3 H2 HT .417000 1.00800 0 9302 BULK 2802 TIP3 OH2 OT -.834000 15.9994 0 9303 BULK 2802 TIP3 H1 HT .417000 1.00800 0 9304 BULK 2802 TIP3 H2 HT .417000 1.00800 0 9305 BULK 2803 TIP3 OH2 OT -.834000 15.9994 0 9306 BULK 2803 TIP3 H1 HT .417000 1.00800 0 9307 BULK 2803 TIP3 H2 HT .417000 1.00800 0 9308 BULK 2804 TIP3 OH2 OT -.834000 15.9994 0 9309 BULK 2804 TIP3 H1 HT .417000 1.00800 0 9310 BULK 2804 TIP3 H2 HT .417000 1.00800 0 9311 BULK 2805 TIP3 OH2 OT -.834000 15.9994 0 9312 BULK 2805 TIP3 H1 HT .417000 1.00800 0 9313 BULK 2805 TIP3 H2 HT .417000 1.00800 0 9314 BULK 2806 TIP3 OH2 OT -.834000 15.9994 0 9315 BULK 2806 TIP3 H1 HT .417000 1.00800 0 9316 BULK 2806 TIP3 H2 HT .417000 1.00800 0 9317 BULK 2807 TIP3 OH2 OT -.834000 15.9994 0 9318 BULK 2807 TIP3 H1 HT .417000 1.00800 0 9319 BULK 2807 TIP3 H2 HT .417000 1.00800 0 9320 BULK 2808 TIP3 OH2 OT -.834000 15.9994 0 9321 BULK 2808 TIP3 H1 HT .417000 1.00800 0 9322 BULK 2808 TIP3 H2 HT .417000 1.00800 0 9323 BULK 2809 TIP3 OH2 OT -.834000 15.9994 0 9324 BULK 2809 TIP3 H1 HT .417000 1.00800 0 9325 BULK 2809 TIP3 H2 HT .417000 1.00800 0 9326 BULK 2810 TIP3 OH2 OT -.834000 15.9994 0 9327 BULK 2810 TIP3 H1 HT .417000 1.00800 0 9328 BULK 2810 TIP3 H2 HT .417000 1.00800 0 9329 BULK 2811 TIP3 OH2 OT -.834000 15.9994 0 9330 BULK 2811 TIP3 H1 HT .417000 1.00800 0 9331 BULK 2811 TIP3 H2 HT .417000 1.00800 0 9332 BULK 2812 TIP3 OH2 OT -.834000 15.9994 0 9333 BULK 2812 TIP3 H1 HT .417000 1.00800 0 9334 BULK 2812 TIP3 H2 HT .417000 1.00800 0 9335 BULK 2813 TIP3 OH2 OT -.834000 15.9994 0 9336 BULK 2813 TIP3 H1 HT .417000 1.00800 0 9337 BULK 2813 TIP3 H2 HT .417000 1.00800 0 9338 BULK 2814 TIP3 OH2 OT -.834000 15.9994 0 9339 BULK 2814 TIP3 H1 HT .417000 1.00800 0 9340 BULK 2814 TIP3 H2 HT .417000 1.00800 0 9341 BULK 2815 TIP3 OH2 OT -.834000 15.9994 0 9342 BULK 2815 TIP3 H1 HT .417000 1.00800 0 9343 BULK 2815 TIP3 H2 HT .417000 1.00800 0 9344 BULK 2816 TIP3 OH2 OT -.834000 15.9994 0 9345 BULK 2816 TIP3 H1 HT .417000 1.00800 0 9346 BULK 2816 TIP3 H2 HT .417000 1.00800 0 9347 BULK 2817 TIP3 OH2 OT -.834000 15.9994 0 9348 BULK 2817 TIP3 H1 HT .417000 1.00800 0 9349 BULK 2817 TIP3 H2 HT .417000 1.00800 0 9350 BULK 2818 TIP3 OH2 OT -.834000 15.9994 0 9351 BULK 2818 TIP3 H1 HT .417000 1.00800 0 9352 BULK 2818 TIP3 H2 HT .417000 1.00800 0 9353 BULK 2819 TIP3 OH2 OT -.834000 15.9994 0 9354 BULK 2819 TIP3 H1 HT .417000 1.00800 0 9355 BULK 2819 TIP3 H2 HT .417000 1.00800 0 9356 BULK 2820 TIP3 OH2 OT -.834000 15.9994 0 9357 BULK 2820 TIP3 H1 HT .417000 1.00800 0 9358 BULK 2820 TIP3 H2 HT .417000 1.00800 0 9359 BULK 2821 TIP3 OH2 OT -.834000 15.9994 0 9360 BULK 2821 TIP3 H1 HT .417000 1.00800 0 9361 BULK 2821 TIP3 H2 HT .417000 1.00800 0 9362 BULK 2822 TIP3 OH2 OT -.834000 15.9994 0 9363 BULK 2822 TIP3 H1 HT .417000 1.00800 0 9364 BULK 2822 TIP3 H2 HT .417000 1.00800 0 9365 BULK 2823 TIP3 OH2 OT -.834000 15.9994 0 9366 BULK 2823 TIP3 H1 HT .417000 1.00800 0 9367 BULK 2823 TIP3 H2 HT .417000 1.00800 0 9368 BULK 2824 TIP3 OH2 OT -.834000 15.9994 0 9369 BULK 2824 TIP3 H1 HT .417000 1.00800 0 9370 BULK 2824 TIP3 H2 HT .417000 1.00800 0 9371 BULK 2825 TIP3 OH2 OT -.834000 15.9994 0 9372 BULK 2825 TIP3 H1 HT .417000 1.00800 0 9373 BULK 2825 TIP3 H2 HT .417000 1.00800 0 9374 BULK 2826 TIP3 OH2 OT -.834000 15.9994 0 9375 BULK 2826 TIP3 H1 HT .417000 1.00800 0 9376 BULK 2826 TIP3 H2 HT .417000 1.00800 0 9377 BULK 2827 TIP3 OH2 OT -.834000 15.9994 0 9378 BULK 2827 TIP3 H1 HT .417000 1.00800 0 9379 BULK 2827 TIP3 H2 HT .417000 1.00800 0 9380 BULK 2828 TIP3 OH2 OT -.834000 15.9994 0 9381 BULK 2828 TIP3 H1 HT .417000 1.00800 0 9382 BULK 2828 TIP3 H2 HT .417000 1.00800 0 9383 BULK 2829 TIP3 OH2 OT -.834000 15.9994 0 9384 BULK 2829 TIP3 H1 HT .417000 1.00800 0 9385 BULK 2829 TIP3 H2 HT .417000 1.00800 0 9386 BULK 2830 TIP3 OH2 OT -.834000 15.9994 0 9387 BULK 2830 TIP3 H1 HT .417000 1.00800 0 9388 BULK 2830 TIP3 H2 HT .417000 1.00800 0 9389 BULK 2831 TIP3 OH2 OT -.834000 15.9994 0 9390 BULK 2831 TIP3 H1 HT .417000 1.00800 0 9391 BULK 2831 TIP3 H2 HT .417000 1.00800 0 9392 BULK 2832 TIP3 OH2 OT -.834000 15.9994 0 9393 BULK 2832 TIP3 H1 HT .417000 1.00800 0 9394 BULK 2832 TIP3 H2 HT .417000 1.00800 0 9395 BULK 2833 TIP3 OH2 OT -.834000 15.9994 0 9396 BULK 2833 TIP3 H1 HT .417000 1.00800 0 9397 BULK 2833 TIP3 H2 HT .417000 1.00800 0 9398 BULK 2834 TIP3 OH2 OT -.834000 15.9994 0 9399 BULK 2834 TIP3 H1 HT .417000 1.00800 0 9400 BULK 2834 TIP3 H2 HT .417000 1.00800 0 9401 BULK 2835 TIP3 OH2 OT -.834000 15.9994 0 9402 BULK 2835 TIP3 H1 HT .417000 1.00800 0 9403 BULK 2835 TIP3 H2 HT .417000 1.00800 0 9404 BULK 2836 TIP3 OH2 OT -.834000 15.9994 0 9405 BULK 2836 TIP3 H1 HT .417000 1.00800 0 9406 BULK 2836 TIP3 H2 HT .417000 1.00800 0 9407 BULK 2837 TIP3 OH2 OT -.834000 15.9994 0 9408 BULK 2837 TIP3 H1 HT .417000 1.00800 0 9409 BULK 2837 TIP3 H2 HT .417000 1.00800 0 9410 BULK 2838 TIP3 OH2 OT -.834000 15.9994 0 9411 BULK 2838 TIP3 H1 HT .417000 1.00800 0 9412 BULK 2838 TIP3 H2 HT .417000 1.00800 0 9413 BULK 2839 TIP3 OH2 OT -.834000 15.9994 0 9414 BULK 2839 TIP3 H1 HT .417000 1.00800 0 9415 BULK 2839 TIP3 H2 HT .417000 1.00800 0 9416 BULK 2840 TIP3 OH2 OT -.834000 15.9994 0 9417 BULK 2840 TIP3 H1 HT .417000 1.00800 0 9418 BULK 2840 TIP3 H2 HT .417000 1.00800 0 9419 BULK 2841 TIP3 OH2 OT -.834000 15.9994 0 9420 BULK 2841 TIP3 H1 HT .417000 1.00800 0 9421 BULK 2841 TIP3 H2 HT .417000 1.00800 0 9422 BULK 2842 TIP3 OH2 OT -.834000 15.9994 0 9423 BULK 2842 TIP3 H1 HT .417000 1.00800 0 9424 BULK 2842 TIP3 H2 HT .417000 1.00800 0 9425 BULK 2843 TIP3 OH2 OT -.834000 15.9994 0 9426 BULK 2843 TIP3 H1 HT .417000 1.00800 0 9427 BULK 2843 TIP3 H2 HT .417000 1.00800 0 9428 BULK 2844 TIP3 OH2 OT -.834000 15.9994 0 9429 BULK 2844 TIP3 H1 HT .417000 1.00800 0 9430 BULK 2844 TIP3 H2 HT .417000 1.00800 0 9431 BULK 2845 TIP3 OH2 OT -.834000 15.9994 0 9432 BULK 2845 TIP3 H1 HT .417000 1.00800 0 9433 BULK 2845 TIP3 H2 HT .417000 1.00800 0 9434 BULK 2846 TIP3 OH2 OT -.834000 15.9994 0 9435 BULK 2846 TIP3 H1 HT .417000 1.00800 0 9436 BULK 2846 TIP3 H2 HT .417000 1.00800 0 9437 BULK 2847 TIP3 OH2 OT -.834000 15.9994 0 9438 BULK 2847 TIP3 H1 HT .417000 1.00800 0 9439 BULK 2847 TIP3 H2 HT .417000 1.00800 0 9440 BULK 2848 TIP3 OH2 OT -.834000 15.9994 0 9441 BULK 2848 TIP3 H1 HT .417000 1.00800 0 9442 BULK 2848 TIP3 H2 HT .417000 1.00800 0 9443 BULK 2849 TIP3 OH2 OT -.834000 15.9994 0 9444 BULK 2849 TIP3 H1 HT .417000 1.00800 0 9445 BULK 2849 TIP3 H2 HT .417000 1.00800 0 9446 BULK 2850 TIP3 OH2 OT -.834000 15.9994 0 9447 BULK 2850 TIP3 H1 HT .417000 1.00800 0 9448 BULK 2850 TIP3 H2 HT .417000 1.00800 0 9449 BULK 2851 TIP3 OH2 OT -.834000 15.9994 0 9450 BULK 2851 TIP3 H1 HT .417000 1.00800 0 9451 BULK 2851 TIP3 H2 HT .417000 1.00800 0 9452 BULK 2852 TIP3 OH2 OT -.834000 15.9994 0 9453 BULK 2852 TIP3 H1 HT .417000 1.00800 0 9454 BULK 2852 TIP3 H2 HT .417000 1.00800 0 9455 BULK 2853 TIP3 OH2 OT -.834000 15.9994 0 9456 BULK 2853 TIP3 H1 HT .417000 1.00800 0 9457 BULK 2853 TIP3 H2 HT .417000 1.00800 0 9458 BULK 2854 TIP3 OH2 OT -.834000 15.9994 0 9459 BULK 2854 TIP3 H1 HT .417000 1.00800 0 9460 BULK 2854 TIP3 H2 HT .417000 1.00800 0 9461 BULK 2855 TIP3 OH2 OT -.834000 15.9994 0 9462 BULK 2855 TIP3 H1 HT .417000 1.00800 0 9463 BULK 2855 TIP3 H2 HT .417000 1.00800 0 9464 BULK 2856 TIP3 OH2 OT -.834000 15.9994 0 9465 BULK 2856 TIP3 H1 HT .417000 1.00800 0 9466 BULK 2856 TIP3 H2 HT .417000 1.00800 0 9467 BULK 2857 TIP3 OH2 OT -.834000 15.9994 0 9468 BULK 2857 TIP3 H1 HT .417000 1.00800 0 9469 BULK 2857 TIP3 H2 HT .417000 1.00800 0 9470 BULK 2858 TIP3 OH2 OT -.834000 15.9994 0 9471 BULK 2858 TIP3 H1 HT .417000 1.00800 0 9472 BULK 2858 TIP3 H2 HT .417000 1.00800 0 9473 BULK 2859 TIP3 OH2 OT -.834000 15.9994 0 9474 BULK 2859 TIP3 H1 HT .417000 1.00800 0 9475 BULK 2859 TIP3 H2 HT .417000 1.00800 0 9476 BULK 2860 TIP3 OH2 OT -.834000 15.9994 0 9477 BULK 2860 TIP3 H1 HT .417000 1.00800 0 9478 BULK 2860 TIP3 H2 HT .417000 1.00800 0 9479 BULK 2861 TIP3 OH2 OT -.834000 15.9994 0 9480 BULK 2861 TIP3 H1 HT .417000 1.00800 0 9481 BULK 2861 TIP3 H2 HT .417000 1.00800 0 9482 BULK 2862 TIP3 OH2 OT -.834000 15.9994 0 9483 BULK 2862 TIP3 H1 HT .417000 1.00800 0 9484 BULK 2862 TIP3 H2 HT .417000 1.00800 0 9485 BULK 2863 TIP3 OH2 OT -.834000 15.9994 0 9486 BULK 2863 TIP3 H1 HT .417000 1.00800 0 9487 BULK 2863 TIP3 H2 HT .417000 1.00800 0 9488 BULK 2864 TIP3 OH2 OT -.834000 15.9994 0 9489 BULK 2864 TIP3 H1 HT .417000 1.00800 0 9490 BULK 2864 TIP3 H2 HT .417000 1.00800 0 9491 BULK 2865 TIP3 OH2 OT -.834000 15.9994 0 9492 BULK 2865 TIP3 H1 HT .417000 1.00800 0 9493 BULK 2865 TIP3 H2 HT .417000 1.00800 0 9494 BULK 2866 TIP3 OH2 OT -.834000 15.9994 0 9495 BULK 2866 TIP3 H1 HT .417000 1.00800 0 9496 BULK 2866 TIP3 H2 HT .417000 1.00800 0 9497 BULK 2867 TIP3 OH2 OT -.834000 15.9994 0 9498 BULK 2867 TIP3 H1 HT .417000 1.00800 0 9499 BULK 2867 TIP3 H2 HT .417000 1.00800 0 9500 BULK 2868 TIP3 OH2 OT -.834000 15.9994 0 9501 BULK 2868 TIP3 H1 HT .417000 1.00800 0 9502 BULK 2868 TIP3 H2 HT .417000 1.00800 0 9503 BULK 2869 TIP3 OH2 OT -.834000 15.9994 0 9504 BULK 2869 TIP3 H1 HT .417000 1.00800 0 9505 BULK 2869 TIP3 H2 HT .417000 1.00800 0 9506 BULK 2870 TIP3 OH2 OT -.834000 15.9994 0 9507 BULK 2870 TIP3 H1 HT .417000 1.00800 0 9508 BULK 2870 TIP3 H2 HT .417000 1.00800 0 9509 BULK 2871 TIP3 OH2 OT -.834000 15.9994 0 9510 BULK 2871 TIP3 H1 HT .417000 1.00800 0 9511 BULK 2871 TIP3 H2 HT .417000 1.00800 0 9512 BULK 2872 TIP3 OH2 OT -.834000 15.9994 0 9513 BULK 2872 TIP3 H1 HT .417000 1.00800 0 9514 BULK 2872 TIP3 H2 HT .417000 1.00800 0 9515 BULK 2873 TIP3 OH2 OT -.834000 15.9994 0 9516 BULK 2873 TIP3 H1 HT .417000 1.00800 0 9517 BULK 2873 TIP3 H2 HT .417000 1.00800 0 9518 BULK 2874 TIP3 OH2 OT -.834000 15.9994 0 9519 BULK 2874 TIP3 H1 HT .417000 1.00800 0 9520 BULK 2874 TIP3 H2 HT .417000 1.00800 0 9521 BULK 2875 TIP3 OH2 OT -.834000 15.9994 0 9522 BULK 2875 TIP3 H1 HT .417000 1.00800 0 9523 BULK 2875 TIP3 H2 HT .417000 1.00800 0 9524 BULK 2876 TIP3 OH2 OT -.834000 15.9994 0 9525 BULK 2876 TIP3 H1 HT .417000 1.00800 0 9526 BULK 2876 TIP3 H2 HT .417000 1.00800 0 9527 BULK 2877 TIP3 OH2 OT -.834000 15.9994 0 9528 BULK 2877 TIP3 H1 HT .417000 1.00800 0 9529 BULK 2877 TIP3 H2 HT .417000 1.00800 0 9530 BULK 2878 TIP3 OH2 OT -.834000 15.9994 0 9531 BULK 2878 TIP3 H1 HT .417000 1.00800 0 9532 BULK 2878 TIP3 H2 HT .417000 1.00800 0 9533 BULK 2879 TIP3 OH2 OT -.834000 15.9994 0 9534 BULK 2879 TIP3 H1 HT .417000 1.00800 0 9535 BULK 2879 TIP3 H2 HT .417000 1.00800 0 9536 BULK 2880 TIP3 OH2 OT -.834000 15.9994 0 9537 BULK 2880 TIP3 H1 HT .417000 1.00800 0 9538 BULK 2880 TIP3 H2 HT .417000 1.00800 0 9539 BULK 2881 TIP3 OH2 OT -.834000 15.9994 0 9540 BULK 2881 TIP3 H1 HT .417000 1.00800 0 9541 BULK 2881 TIP3 H2 HT .417000 1.00800 0 9542 BULK 2882 TIP3 OH2 OT -.834000 15.9994 0 9543 BULK 2882 TIP3 H1 HT .417000 1.00800 0 9544 BULK 2882 TIP3 H2 HT .417000 1.00800 0 9545 BULK 2883 TIP3 OH2 OT -.834000 15.9994 0 9546 BULK 2883 TIP3 H1 HT .417000 1.00800 0 9547 BULK 2883 TIP3 H2 HT .417000 1.00800 0 9548 BULK 2884 TIP3 OH2 OT -.834000 15.9994 0 9549 BULK 2884 TIP3 H1 HT .417000 1.00800 0 9550 BULK 2884 TIP3 H2 HT .417000 1.00800 0 9551 BULK 2885 TIP3 OH2 OT -.834000 15.9994 0 9552 BULK 2885 TIP3 H1 HT .417000 1.00800 0 9553 BULK 2885 TIP3 H2 HT .417000 1.00800 0 9554 BULK 2886 TIP3 OH2 OT -.834000 15.9994 0 9555 BULK 2886 TIP3 H1 HT .417000 1.00800 0 9556 BULK 2886 TIP3 H2 HT .417000 1.00800 0 9557 BULK 2887 TIP3 OH2 OT -.834000 15.9994 0 9558 BULK 2887 TIP3 H1 HT .417000 1.00800 0 9559 BULK 2887 TIP3 H2 HT .417000 1.00800 0 9560 BULK 2888 TIP3 OH2 OT -.834000 15.9994 0 9561 BULK 2888 TIP3 H1 HT .417000 1.00800 0 9562 BULK 2888 TIP3 H2 HT .417000 1.00800 0 9563 BULK 2889 TIP3 OH2 OT -.834000 15.9994 0 9564 BULK 2889 TIP3 H1 HT .417000 1.00800 0 9565 BULK 2889 TIP3 H2 HT .417000 1.00800 0 9566 BULK 2890 TIP3 OH2 OT -.834000 15.9994 0 9567 BULK 2890 TIP3 H1 HT .417000 1.00800 0 9568 BULK 2890 TIP3 H2 HT .417000 1.00800 0 9569 BULK 2891 TIP3 OH2 OT -.834000 15.9994 0 9570 BULK 2891 TIP3 H1 HT .417000 1.00800 0 9571 BULK 2891 TIP3 H2 HT .417000 1.00800 0 9572 BULK 2892 TIP3 OH2 OT -.834000 15.9994 0 9573 BULK 2892 TIP3 H1 HT .417000 1.00800 0 9574 BULK 2892 TIP3 H2 HT .417000 1.00800 0 9575 BULK 2893 TIP3 OH2 OT -.834000 15.9994 0 9576 BULK 2893 TIP3 H1 HT .417000 1.00800 0 9577 BULK 2893 TIP3 H2 HT .417000 1.00800 0 9578 BULK 2894 TIP3 OH2 OT -.834000 15.9994 0 9579 BULK 2894 TIP3 H1 HT .417000 1.00800 0 9580 BULK 2894 TIP3 H2 HT .417000 1.00800 0 9581 BULK 2895 TIP3 OH2 OT -.834000 15.9994 0 9582 BULK 2895 TIP3 H1 HT .417000 1.00800 0 9583 BULK 2895 TIP3 H2 HT .417000 1.00800 0 9584 BULK 2896 TIP3 OH2 OT -.834000 15.9994 0 9585 BULK 2896 TIP3 H1 HT .417000 1.00800 0 9586 BULK 2896 TIP3 H2 HT .417000 1.00800 0 9587 BULK 2897 TIP3 OH2 OT -.834000 15.9994 0 9588 BULK 2897 TIP3 H1 HT .417000 1.00800 0 9589 BULK 2897 TIP3 H2 HT .417000 1.00800 0 9590 BULK 2898 TIP3 OH2 OT -.834000 15.9994 0 9591 BULK 2898 TIP3 H1 HT .417000 1.00800 0 9592 BULK 2898 TIP3 H2 HT .417000 1.00800 0 9593 BULK 2899 TIP3 OH2 OT -.834000 15.9994 0 9594 BULK 2899 TIP3 H1 HT .417000 1.00800 0 9595 BULK 2899 TIP3 H2 HT .417000 1.00800 0 9596 BULK 2900 TIP3 OH2 OT -.834000 15.9994 0 9597 BULK 2900 TIP3 H1 HT .417000 1.00800 0 9598 BULK 2900 TIP3 H2 HT .417000 1.00800 0 9599 BULK 2901 TIP3 OH2 OT -.834000 15.9994 0 9600 BULK 2901 TIP3 H1 HT .417000 1.00800 0 9601 BULK 2901 TIP3 H2 HT .417000 1.00800 0 9602 BULK 2902 TIP3 OH2 OT -.834000 15.9994 0 9603 BULK 2902 TIP3 H1 HT .417000 1.00800 0 9604 BULK 2902 TIP3 H2 HT .417000 1.00800 0 9605 BULK 2903 TIP3 OH2 OT -.834000 15.9994 0 9606 BULK 2903 TIP3 H1 HT .417000 1.00800 0 9607 BULK 2903 TIP3 H2 HT .417000 1.00800 0 9608 BULK 2904 TIP3 OH2 OT -.834000 15.9994 0 9609 BULK 2904 TIP3 H1 HT .417000 1.00800 0 9610 BULK 2904 TIP3 H2 HT .417000 1.00800 0 9611 BULK 2905 TIP3 OH2 OT -.834000 15.9994 0 9612 BULK 2905 TIP3 H1 HT .417000 1.00800 0 9613 BULK 2905 TIP3 H2 HT .417000 1.00800 0 9614 BULK 2906 TIP3 OH2 OT -.834000 15.9994 0 9615 BULK 2906 TIP3 H1 HT .417000 1.00800 0 9616 BULK 2906 TIP3 H2 HT .417000 1.00800 0 9617 BULK 2907 TIP3 OH2 OT -.834000 15.9994 0 9618 BULK 2907 TIP3 H1 HT .417000 1.00800 0 9619 BULK 2907 TIP3 H2 HT .417000 1.00800 0 9620 BULK 2908 TIP3 OH2 OT -.834000 15.9994 0 9621 BULK 2908 TIP3 H1 HT .417000 1.00800 0 9622 BULK 2908 TIP3 H2 HT .417000 1.00800 0 9623 BULK 2909 TIP3 OH2 OT -.834000 15.9994 0 9624 BULK 2909 TIP3 H1 HT .417000 1.00800 0 9625 BULK 2909 TIP3 H2 HT .417000 1.00800 0 9626 BULK 2910 TIP3 OH2 OT -.834000 15.9994 0 9627 BULK 2910 TIP3 H1 HT .417000 1.00800 0 9628 BULK 2910 TIP3 H2 HT .417000 1.00800 0 9629 BULK 2911 TIP3 OH2 OT -.834000 15.9994 0 9630 BULK 2911 TIP3 H1 HT .417000 1.00800 0 9631 BULK 2911 TIP3 H2 HT .417000 1.00800 0 9632 BULK 2912 TIP3 OH2 OT -.834000 15.9994 0 9633 BULK 2912 TIP3 H1 HT .417000 1.00800 0 9634 BULK 2912 TIP3 H2 HT .417000 1.00800 0 9635 BULK 2913 TIP3 OH2 OT -.834000 15.9994 0 9636 BULK 2913 TIP3 H1 HT .417000 1.00800 0 9637 BULK 2913 TIP3 H2 HT .417000 1.00800 0 9638 BULK 2914 TIP3 OH2 OT -.834000 15.9994 0 9639 BULK 2914 TIP3 H1 HT .417000 1.00800 0 9640 BULK 2914 TIP3 H2 HT .417000 1.00800 0 9641 BULK 2915 TIP3 OH2 OT -.834000 15.9994 0 9642 BULK 2915 TIP3 H1 HT .417000 1.00800 0 9643 BULK 2915 TIP3 H2 HT .417000 1.00800 0 9644 BULK 2916 TIP3 OH2 OT -.834000 15.9994 0 9645 BULK 2916 TIP3 H1 HT .417000 1.00800 0 9646 BULK 2916 TIP3 H2 HT .417000 1.00800 0 9647 BULK 2917 TIP3 OH2 OT -.834000 15.9994 0 9648 BULK 2917 TIP3 H1 HT .417000 1.00800 0 9649 BULK 2917 TIP3 H2 HT .417000 1.00800 0 9650 BULK 2918 TIP3 OH2 OT -.834000 15.9994 0 9651 BULK 2918 TIP3 H1 HT .417000 1.00800 0 9652 BULK 2918 TIP3 H2 HT .417000 1.00800 0 9653 BULK 2919 TIP3 OH2 OT -.834000 15.9994 0 9654 BULK 2919 TIP3 H1 HT .417000 1.00800 0 9655 BULK 2919 TIP3 H2 HT .417000 1.00800 0 9656 BULK 2920 TIP3 OH2 OT -.834000 15.9994 0 9657 BULK 2920 TIP3 H1 HT .417000 1.00800 0 9658 BULK 2920 TIP3 H2 HT .417000 1.00800 0 9659 BULK 2921 TIP3 OH2 OT -.834000 15.9994 0 9660 BULK 2921 TIP3 H1 HT .417000 1.00800 0 9661 BULK 2921 TIP3 H2 HT .417000 1.00800 0 9662 BULK 2922 TIP3 OH2 OT -.834000 15.9994 0 9663 BULK 2922 TIP3 H1 HT .417000 1.00800 0 9664 BULK 2922 TIP3 H2 HT .417000 1.00800 0 9665 BULK 2923 TIP3 OH2 OT -.834000 15.9994 0 9666 BULK 2923 TIP3 H1 HT .417000 1.00800 0 9667 BULK 2923 TIP3 H2 HT .417000 1.00800 0 9668 BULK 2924 TIP3 OH2 OT -.834000 15.9994 0 9669 BULK 2924 TIP3 H1 HT .417000 1.00800 0 9670 BULK 2924 TIP3 H2 HT .417000 1.00800 0 9671 BULK 2925 TIP3 OH2 OT -.834000 15.9994 0 9672 BULK 2925 TIP3 H1 HT .417000 1.00800 0 9673 BULK 2925 TIP3 H2 HT .417000 1.00800 0 9674 BULK 2926 TIP3 OH2 OT -.834000 15.9994 0 9675 BULK 2926 TIP3 H1 HT .417000 1.00800 0 9676 BULK 2926 TIP3 H2 HT .417000 1.00800 0 9677 BULK 2927 TIP3 OH2 OT -.834000 15.9994 0 9678 BULK 2927 TIP3 H1 HT .417000 1.00800 0 9679 BULK 2927 TIP3 H2 HT .417000 1.00800 0 9680 BULK 2928 TIP3 OH2 OT -.834000 15.9994 0 9681 BULK 2928 TIP3 H1 HT .417000 1.00800 0 9682 BULK 2928 TIP3 H2 HT .417000 1.00800 0 9683 BULK 2929 TIP3 OH2 OT -.834000 15.9994 0 9684 BULK 2929 TIP3 H1 HT .417000 1.00800 0 9685 BULK 2929 TIP3 H2 HT .417000 1.00800 0 9686 BULK 2930 TIP3 OH2 OT -.834000 15.9994 0 9687 BULK 2930 TIP3 H1 HT .417000 1.00800 0 9688 BULK 2930 TIP3 H2 HT .417000 1.00800 0 9689 BULK 2931 TIP3 OH2 OT -.834000 15.9994 0 9690 BULK 2931 TIP3 H1 HT .417000 1.00800 0 9691 BULK 2931 TIP3 H2 HT .417000 1.00800 0 9692 BULK 2932 TIP3 OH2 OT -.834000 15.9994 0 9693 BULK 2932 TIP3 H1 HT .417000 1.00800 0 9694 BULK 2932 TIP3 H2 HT .417000 1.00800 0 9695 BULK 2933 TIP3 OH2 OT -.834000 15.9994 0 9696 BULK 2933 TIP3 H1 HT .417000 1.00800 0 9697 BULK 2933 TIP3 H2 HT .417000 1.00800 0 9698 BULK 2934 TIP3 OH2 OT -.834000 15.9994 0 9699 BULK 2934 TIP3 H1 HT .417000 1.00800 0 9700 BULK 2934 TIP3 H2 HT .417000 1.00800 0 9701 BULK 2935 TIP3 OH2 OT -.834000 15.9994 0 9702 BULK 2935 TIP3 H1 HT .417000 1.00800 0 9703 BULK 2935 TIP3 H2 HT .417000 1.00800 0 9704 BULK 2936 TIP3 OH2 OT -.834000 15.9994 0 9705 BULK 2936 TIP3 H1 HT .417000 1.00800 0 9706 BULK 2936 TIP3 H2 HT .417000 1.00800 0 9707 BULK 2937 TIP3 OH2 OT -.834000 15.9994 0 9708 BULK 2937 TIP3 H1 HT .417000 1.00800 0 9709 BULK 2937 TIP3 H2 HT .417000 1.00800 0 9710 BULK 2938 TIP3 OH2 OT -.834000 15.9994 0 9711 BULK 2938 TIP3 H1 HT .417000 1.00800 0 9712 BULK 2938 TIP3 H2 HT .417000 1.00800 0 9713 BULK 2939 TIP3 OH2 OT -.834000 15.9994 0 9714 BULK 2939 TIP3 H1 HT .417000 1.00800 0 9715 BULK 2939 TIP3 H2 HT .417000 1.00800 0 9716 BULK 2940 TIP3 OH2 OT -.834000 15.9994 0 9717 BULK 2940 TIP3 H1 HT .417000 1.00800 0 9718 BULK 2940 TIP3 H2 HT .417000 1.00800 0 9719 BULK 2941 TIP3 OH2 OT -.834000 15.9994 0 9720 BULK 2941 TIP3 H1 HT .417000 1.00800 0 9721 BULK 2941 TIP3 H2 HT .417000 1.00800 0 9722 BULK 2942 TIP3 OH2 OT -.834000 15.9994 0 9723 BULK 2942 TIP3 H1 HT .417000 1.00800 0 9724 BULK 2942 TIP3 H2 HT .417000 1.00800 0 9725 BULK 2943 TIP3 OH2 OT -.834000 15.9994 0 9726 BULK 2943 TIP3 H1 HT .417000 1.00800 0 9727 BULK 2943 TIP3 H2 HT .417000 1.00800 0 9728 BULK 2944 TIP3 OH2 OT -.834000 15.9994 0 9729 BULK 2944 TIP3 H1 HT .417000 1.00800 0 9730 BULK 2944 TIP3 H2 HT .417000 1.00800 0 9731 BULK 2945 TIP3 OH2 OT -.834000 15.9994 0 9732 BULK 2945 TIP3 H1 HT .417000 1.00800 0 9733 BULK 2945 TIP3 H2 HT .417000 1.00800 0 9734 BULK 2946 TIP3 OH2 OT -.834000 15.9994 0 9735 BULK 2946 TIP3 H1 HT .417000 1.00800 0 9736 BULK 2946 TIP3 H2 HT .417000 1.00800 0 9737 BULK 2947 TIP3 OH2 OT -.834000 15.9994 0 9738 BULK 2947 TIP3 H1 HT .417000 1.00800 0 9739 BULK 2947 TIP3 H2 HT .417000 1.00800 0 9740 BULK 2948 TIP3 OH2 OT -.834000 15.9994 0 9741 BULK 2948 TIP3 H1 HT .417000 1.00800 0 9742 BULK 2948 TIP3 H2 HT .417000 1.00800 0 9743 BULK 2949 TIP3 OH2 OT -.834000 15.9994 0 9744 BULK 2949 TIP3 H1 HT .417000 1.00800 0 9745 BULK 2949 TIP3 H2 HT .417000 1.00800 0 9746 BULK 2950 TIP3 OH2 OT -.834000 15.9994 0 9747 BULK 2950 TIP3 H1 HT .417000 1.00800 0 9748 BULK 2950 TIP3 H2 HT .417000 1.00800 0 9749 BULK 2951 TIP3 OH2 OT -.834000 15.9994 0 9750 BULK 2951 TIP3 H1 HT .417000 1.00800 0 9751 BULK 2951 TIP3 H2 HT .417000 1.00800 0 9752 BULK 2952 TIP3 OH2 OT -.834000 15.9994 0 9753 BULK 2952 TIP3 H1 HT .417000 1.00800 0 9754 BULK 2952 TIP3 H2 HT .417000 1.00800 0 9755 BULK 2953 TIP3 OH2 OT -.834000 15.9994 0 9756 BULK 2953 TIP3 H1 HT .417000 1.00800 0 9757 BULK 2953 TIP3 H2 HT .417000 1.00800 0 9758 BULK 2954 TIP3 OH2 OT -.834000 15.9994 0 9759 BULK 2954 TIP3 H1 HT .417000 1.00800 0 9760 BULK 2954 TIP3 H2 HT .417000 1.00800 0 9761 BULK 2955 TIP3 OH2 OT -.834000 15.9994 0 9762 BULK 2955 TIP3 H1 HT .417000 1.00800 0 9763 BULK 2955 TIP3 H2 HT .417000 1.00800 0 9764 BULK 2956 TIP3 OH2 OT -.834000 15.9994 0 9765 BULK 2956 TIP3 H1 HT .417000 1.00800 0 9766 BULK 2956 TIP3 H2 HT .417000 1.00800 0 9767 BULK 2957 TIP3 OH2 OT -.834000 15.9994 0 9768 BULK 2957 TIP3 H1 HT .417000 1.00800 0 9769 BULK 2957 TIP3 H2 HT .417000 1.00800 0 9770 BULK 2958 TIP3 OH2 OT -.834000 15.9994 0 9771 BULK 2958 TIP3 H1 HT .417000 1.00800 0 9772 BULK 2958 TIP3 H2 HT .417000 1.00800 0 9773 BULK 2959 TIP3 OH2 OT -.834000 15.9994 0 9774 BULK 2959 TIP3 H1 HT .417000 1.00800 0 9775 BULK 2959 TIP3 H2 HT .417000 1.00800 0 9776 BULK 2960 TIP3 OH2 OT -.834000 15.9994 0 9777 BULK 2960 TIP3 H1 HT .417000 1.00800 0 9778 BULK 2960 TIP3 H2 HT .417000 1.00800 0 9779 BULK 2961 TIP3 OH2 OT -.834000 15.9994 0 9780 BULK 2961 TIP3 H1 HT .417000 1.00800 0 9781 BULK 2961 TIP3 H2 HT .417000 1.00800 0 9782 BULK 2962 TIP3 OH2 OT -.834000 15.9994 0 9783 BULK 2962 TIP3 H1 HT .417000 1.00800 0 9784 BULK 2962 TIP3 H2 HT .417000 1.00800 0 9785 BULK 2963 TIP3 OH2 OT -.834000 15.9994 0 9786 BULK 2963 TIP3 H1 HT .417000 1.00800 0 9787 BULK 2963 TIP3 H2 HT .417000 1.00800 0 9788 BULK 2964 TIP3 OH2 OT -.834000 15.9994 0 9789 BULK 2964 TIP3 H1 HT .417000 1.00800 0 9790 BULK 2964 TIP3 H2 HT .417000 1.00800 0 9791 BULK 2965 TIP3 OH2 OT -.834000 15.9994 0 9792 BULK 2965 TIP3 H1 HT .417000 1.00800 0 9793 BULK 2965 TIP3 H2 HT .417000 1.00800 0 9794 BULK 2966 TIP3 OH2 OT -.834000 15.9994 0 9795 BULK 2966 TIP3 H1 HT .417000 1.00800 0 9796 BULK 2966 TIP3 H2 HT .417000 1.00800 0 9797 BULK 2967 TIP3 OH2 OT -.834000 15.9994 0 9798 BULK 2967 TIP3 H1 HT .417000 1.00800 0 9799 BULK 2967 TIP3 H2 HT .417000 1.00800 0 9800 BULK 2968 TIP3 OH2 OT -.834000 15.9994 0 9801 BULK 2968 TIP3 H1 HT .417000 1.00800 0 9802 BULK 2968 TIP3 H2 HT .417000 1.00800 0 9803 BULK 2969 TIP3 OH2 OT -.834000 15.9994 0 9804 BULK 2969 TIP3 H1 HT .417000 1.00800 0 9805 BULK 2969 TIP3 H2 HT .417000 1.00800 0 9806 BULK 2970 TIP3 OH2 OT -.834000 15.9994 0 9807 BULK 2970 TIP3 H1 HT .417000 1.00800 0 9808 BULK 2970 TIP3 H2 HT .417000 1.00800 0 9809 BULK 2971 TIP3 OH2 OT -.834000 15.9994 0 9810 BULK 2971 TIP3 H1 HT .417000 1.00800 0 9811 BULK 2971 TIP3 H2 HT .417000 1.00800 0 9812 BULK 2972 TIP3 OH2 OT -.834000 15.9994 0 9813 BULK 2972 TIP3 H1 HT .417000 1.00800 0 9814 BULK 2972 TIP3 H2 HT .417000 1.00800 0 9815 BULK 2973 TIP3 OH2 OT -.834000 15.9994 0 9816 BULK 2973 TIP3 H1 HT .417000 1.00800 0 9817 BULK 2973 TIP3 H2 HT .417000 1.00800 0 9818 BULK 2974 TIP3 OH2 OT -.834000 15.9994 0 9819 BULK 2974 TIP3 H1 HT .417000 1.00800 0 9820 BULK 2974 TIP3 H2 HT .417000 1.00800 0 9821 BULK 2975 TIP3 OH2 OT -.834000 15.9994 0 9822 BULK 2975 TIP3 H1 HT .417000 1.00800 0 9823 BULK 2975 TIP3 H2 HT .417000 1.00800 0 9824 BULK 2976 TIP3 OH2 OT -.834000 15.9994 0 9825 BULK 2976 TIP3 H1 HT .417000 1.00800 0 9826 BULK 2976 TIP3 H2 HT .417000 1.00800 0 9827 BULK 2977 TIP3 OH2 OT -.834000 15.9994 0 9828 BULK 2977 TIP3 H1 HT .417000 1.00800 0 9829 BULK 2977 TIP3 H2 HT .417000 1.00800 0 9830 BULK 2978 TIP3 OH2 OT -.834000 15.9994 0 9831 BULK 2978 TIP3 H1 HT .417000 1.00800 0 9832 BULK 2978 TIP3 H2 HT .417000 1.00800 0 9833 BULK 2979 TIP3 OH2 OT -.834000 15.9994 0 9834 BULK 2979 TIP3 H1 HT .417000 1.00800 0 9835 BULK 2979 TIP3 H2 HT .417000 1.00800 0 9836 BULK 2980 TIP3 OH2 OT -.834000 15.9994 0 9837 BULK 2980 TIP3 H1 HT .417000 1.00800 0 9838 BULK 2980 TIP3 H2 HT .417000 1.00800 0 9839 BULK 2981 TIP3 OH2 OT -.834000 15.9994 0 9840 BULK 2981 TIP3 H1 HT .417000 1.00800 0 9841 BULK 2981 TIP3 H2 HT .417000 1.00800 0 9842 BULK 2982 TIP3 OH2 OT -.834000 15.9994 0 9843 BULK 2982 TIP3 H1 HT .417000 1.00800 0 9844 BULK 2982 TIP3 H2 HT .417000 1.00800 0 9845 BULK 2983 TIP3 OH2 OT -.834000 15.9994 0 9846 BULK 2983 TIP3 H1 HT .417000 1.00800 0 9847 BULK 2983 TIP3 H2 HT .417000 1.00800 0 9848 BULK 2984 TIP3 OH2 OT -.834000 15.9994 0 9849 BULK 2984 TIP3 H1 HT .417000 1.00800 0 9850 BULK 2984 TIP3 H2 HT .417000 1.00800 0 9851 BULK 2985 TIP3 OH2 OT -.834000 15.9994 0 9852 BULK 2985 TIP3 H1 HT .417000 1.00800 0 9853 BULK 2985 TIP3 H2 HT .417000 1.00800 0 9854 BULK 2986 TIP3 OH2 OT -.834000 15.9994 0 9855 BULK 2986 TIP3 H1 HT .417000 1.00800 0 9856 BULK 2986 TIP3 H2 HT .417000 1.00800 0 9857 BULK 2987 TIP3 OH2 OT -.834000 15.9994 0 9858 BULK 2987 TIP3 H1 HT .417000 1.00800 0 9859 BULK 2987 TIP3 H2 HT .417000 1.00800 0 9860 BULK 2988 TIP3 OH2 OT -.834000 15.9994 0 9861 BULK 2988 TIP3 H1 HT .417000 1.00800 0 9862 BULK 2988 TIP3 H2 HT .417000 1.00800 0 9863 BULK 2989 TIP3 OH2 OT -.834000 15.9994 0 9864 BULK 2989 TIP3 H1 HT .417000 1.00800 0 9865 BULK 2989 TIP3 H2 HT .417000 1.00800 0 9866 BULK 2990 TIP3 OH2 OT -.834000 15.9994 0 9867 BULK 2990 TIP3 H1 HT .417000 1.00800 0 9868 BULK 2990 TIP3 H2 HT .417000 1.00800 0 9869 BULK 2991 TIP3 OH2 OT -.834000 15.9994 0 9870 BULK 2991 TIP3 H1 HT .417000 1.00800 0 9871 BULK 2991 TIP3 H2 HT .417000 1.00800 0 9872 BULK 2992 TIP3 OH2 OT -.834000 15.9994 0 9873 BULK 2992 TIP3 H1 HT .417000 1.00800 0 9874 BULK 2992 TIP3 H2 HT .417000 1.00800 0 9875 BULK 2993 TIP3 OH2 OT -.834000 15.9994 0 9876 BULK 2993 TIP3 H1 HT .417000 1.00800 0 9877 BULK 2993 TIP3 H2 HT .417000 1.00800 0 9878 BULK 2994 TIP3 OH2 OT -.834000 15.9994 0 9879 BULK 2994 TIP3 H1 HT .417000 1.00800 0 9880 BULK 2994 TIP3 H2 HT .417000 1.00800 0 9881 BULK 2995 TIP3 OH2 OT -.834000 15.9994 0 9882 BULK 2995 TIP3 H1 HT .417000 1.00800 0 9883 BULK 2995 TIP3 H2 HT .417000 1.00800 0 9884 BULK 2996 TIP3 OH2 OT -.834000 15.9994 0 9885 BULK 2996 TIP3 H1 HT .417000 1.00800 0 9886 BULK 2996 TIP3 H2 HT .417000 1.00800 0 9887 BULK 2997 TIP3 OH2 OT -.834000 15.9994 0 9888 BULK 2997 TIP3 H1 HT .417000 1.00800 0 9889 BULK 2997 TIP3 H2 HT .417000 1.00800 0 9890 BULK 2998 TIP3 OH2 OT -.834000 15.9994 0 9891 BULK 2998 TIP3 H1 HT .417000 1.00800 0 9892 BULK 2998 TIP3 H2 HT .417000 1.00800 0 9893 BULK 2999 TIP3 OH2 OT -.834000 15.9994 0 9894 BULK 2999 TIP3 H1 HT .417000 1.00800 0 9895 BULK 2999 TIP3 H2 HT .417000 1.00800 0 9896 BULK 3000 TIP3 OH2 OT -.834000 15.9994 0 9897 BULK 3000 TIP3 H1 HT .417000 1.00800 0 9898 BULK 3000 TIP3 H2 HT .417000 1.00800 0 9899 BULK 3001 TIP3 OH2 OT -.834000 15.9994 0 9900 BULK 3001 TIP3 H1 HT .417000 1.00800 0 9901 BULK 3001 TIP3 H2 HT .417000 1.00800 0 9902 BULK 3002 TIP3 OH2 OT -.834000 15.9994 0 9903 BULK 3002 TIP3 H1 HT .417000 1.00800 0 9904 BULK 3002 TIP3 H2 HT .417000 1.00800 0 9905 BULK 3003 TIP3 OH2 OT -.834000 15.9994 0 9906 BULK 3003 TIP3 H1 HT .417000 1.00800 0 9907 BULK 3003 TIP3 H2 HT .417000 1.00800 0 9908 BULK 3004 TIP3 OH2 OT -.834000 15.9994 0 9909 BULK 3004 TIP3 H1 HT .417000 1.00800 0 9910 BULK 3004 TIP3 H2 HT .417000 1.00800 0 9911 BULK 3005 TIP3 OH2 OT -.834000 15.9994 0 9912 BULK 3005 TIP3 H1 HT .417000 1.00800 0 9913 BULK 3005 TIP3 H2 HT .417000 1.00800 0 9914 BULK 3006 TIP3 OH2 OT -.834000 15.9994 0 9915 BULK 3006 TIP3 H1 HT .417000 1.00800 0 9916 BULK 3006 TIP3 H2 HT .417000 1.00800 0 9917 BULK 3007 TIP3 OH2 OT -.834000 15.9994 0 9918 BULK 3007 TIP3 H1 HT .417000 1.00800 0 9919 BULK 3007 TIP3 H2 HT .417000 1.00800 0 9920 BULK 3008 TIP3 OH2 OT -.834000 15.9994 0 9921 BULK 3008 TIP3 H1 HT .417000 1.00800 0 9922 BULK 3008 TIP3 H2 HT .417000 1.00800 0 9923 BULK 3009 TIP3 OH2 OT -.834000 15.9994 0 9924 BULK 3009 TIP3 H1 HT .417000 1.00800 0 9925 BULK 3009 TIP3 H2 HT .417000 1.00800 0 9926 BULK 3010 TIP3 OH2 OT -.834000 15.9994 0 9927 BULK 3010 TIP3 H1 HT .417000 1.00800 0 9928 BULK 3010 TIP3 H2 HT .417000 1.00800 0 9929 BULK 3011 TIP3 OH2 OT -.834000 15.9994 0 9930 BULK 3011 TIP3 H1 HT .417000 1.00800 0 9931 BULK 3011 TIP3 H2 HT .417000 1.00800 0 9932 BULK 3012 TIP3 OH2 OT -.834000 15.9994 0 9933 BULK 3012 TIP3 H1 HT .417000 1.00800 0 9934 BULK 3012 TIP3 H2 HT .417000 1.00800 0 9935 BULK 3013 TIP3 OH2 OT -.834000 15.9994 0 9936 BULK 3013 TIP3 H1 HT .417000 1.00800 0 9937 BULK 3013 TIP3 H2 HT .417000 1.00800 0 9938 BULK 3014 TIP3 OH2 OT -.834000 15.9994 0 9939 BULK 3014 TIP3 H1 HT .417000 1.00800 0 9940 BULK 3014 TIP3 H2 HT .417000 1.00800 0 9941 BULK 3015 TIP3 OH2 OT -.834000 15.9994 0 9942 BULK 3015 TIP3 H1 HT .417000 1.00800 0 9943 BULK 3015 TIP3 H2 HT .417000 1.00800 0 9944 BULK 3016 TIP3 OH2 OT -.834000 15.9994 0 9945 BULK 3016 TIP3 H1 HT .417000 1.00800 0 9946 BULK 3016 TIP3 H2 HT .417000 1.00800 0 9947 BULK 3017 TIP3 OH2 OT -.834000 15.9994 0 9948 BULK 3017 TIP3 H1 HT .417000 1.00800 0 9949 BULK 3017 TIP3 H2 HT .417000 1.00800 0 9950 BULK 3018 TIP3 OH2 OT -.834000 15.9994 0 9951 BULK 3018 TIP3 H1 HT .417000 1.00800 0 9952 BULK 3018 TIP3 H2 HT .417000 1.00800 0 9953 BULK 3019 TIP3 OH2 OT -.834000 15.9994 0 9954 BULK 3019 TIP3 H1 HT .417000 1.00800 0 9955 BULK 3019 TIP3 H2 HT .417000 1.00800 0 9956 BULK 3020 TIP3 OH2 OT -.834000 15.9994 0 9957 BULK 3020 TIP3 H1 HT .417000 1.00800 0 9958 BULK 3020 TIP3 H2 HT .417000 1.00800 0 9959 BULK 3021 TIP3 OH2 OT -.834000 15.9994 0 9960 BULK 3021 TIP3 H1 HT .417000 1.00800 0 9961 BULK 3021 TIP3 H2 HT .417000 1.00800 0 9962 BULK 3022 TIP3 OH2 OT -.834000 15.9994 0 9963 BULK 3022 TIP3 H1 HT .417000 1.00800 0 9964 BULK 3022 TIP3 H2 HT .417000 1.00800 0 9965 BULK 3023 TIP3 OH2 OT -.834000 15.9994 0 9966 BULK 3023 TIP3 H1 HT .417000 1.00800 0 9967 BULK 3023 TIP3 H2 HT .417000 1.00800 0 9968 BULK 3024 TIP3 OH2 OT -.834000 15.9994 0 9969 BULK 3024 TIP3 H1 HT .417000 1.00800 0 9970 BULK 3024 TIP3 H2 HT .417000 1.00800 0 9971 BULK 3025 TIP3 OH2 OT -.834000 15.9994 0 9972 BULK 3025 TIP3 H1 HT .417000 1.00800 0 9973 BULK 3025 TIP3 H2 HT .417000 1.00800 0 9974 BULK 3026 TIP3 OH2 OT -.834000 15.9994 0 9975 BULK 3026 TIP3 H1 HT .417000 1.00800 0 9976 BULK 3026 TIP3 H2 HT .417000 1.00800 0 9977 BULK 3027 TIP3 OH2 OT -.834000 15.9994 0 9978 BULK 3027 TIP3 H1 HT .417000 1.00800 0 9979 BULK 3027 TIP3 H2 HT .417000 1.00800 0 9980 BULK 3028 TIP3 OH2 OT -.834000 15.9994 0 9981 BULK 3028 TIP3 H1 HT .417000 1.00800 0 9982 BULK 3028 TIP3 H2 HT .417000 1.00800 0 9983 BULK 3029 TIP3 OH2 OT -.834000 15.9994 0 9984 BULK 3029 TIP3 H1 HT .417000 1.00800 0 9985 BULK 3029 TIP3 H2 HT .417000 1.00800 0 9986 BULK 3030 TIP3 OH2 OT -.834000 15.9994 0 9987 BULK 3030 TIP3 H1 HT .417000 1.00800 0 9988 BULK 3030 TIP3 H2 HT .417000 1.00800 0 9989 BULK 3031 TIP3 OH2 OT -.834000 15.9994 0 9990 BULK 3031 TIP3 H1 HT .417000 1.00800 0 9991 BULK 3031 TIP3 H2 HT .417000 1.00800 0 9992 BULK 3032 TIP3 OH2 OT -.834000 15.9994 0 9993 BULK 3032 TIP3 H1 HT .417000 1.00800 0 9994 BULK 3032 TIP3 H2 HT .417000 1.00800 0 9995 BULK 3033 TIP3 OH2 OT -.834000 15.9994 0 9996 BULK 3033 TIP3 H1 HT .417000 1.00800 0 9997 BULK 3033 TIP3 H2 HT .417000 1.00800 0 9998 BULK 3034 TIP3 OH2 OT -.834000 15.9994 0 9999 BULK 3034 TIP3 H1 HT .417000 1.00800 0 10000 BULK 3034 TIP3 H2 HT .417000 1.00800 0 10001 BULK 3035 TIP3 OH2 OT -.834000 15.9994 0 10002 BULK 3035 TIP3 H1 HT .417000 1.00800 0 10003 BULK 3035 TIP3 H2 HT .417000 1.00800 0 10004 BULK 3036 TIP3 OH2 OT -.834000 15.9994 0 10005 BULK 3036 TIP3 H1 HT .417000 1.00800 0 10006 BULK 3036 TIP3 H2 HT .417000 1.00800 0 10007 BULK 3037 TIP3 OH2 OT -.834000 15.9994 0 10008 BULK 3037 TIP3 H1 HT .417000 1.00800 0 10009 BULK 3037 TIP3 H2 HT .417000 1.00800 0 10010 BULK 3038 TIP3 OH2 OT -.834000 15.9994 0 10011 BULK 3038 TIP3 H1 HT .417000 1.00800 0 10012 BULK 3038 TIP3 H2 HT .417000 1.00800 0 10013 BULK 3039 TIP3 OH2 OT -.834000 15.9994 0 10014 BULK 3039 TIP3 H1 HT .417000 1.00800 0 10015 BULK 3039 TIP3 H2 HT .417000 1.00800 0 10016 BULK 3040 TIP3 OH2 OT -.834000 15.9994 0 10017 BULK 3040 TIP3 H1 HT .417000 1.00800 0 10018 BULK 3040 TIP3 H2 HT .417000 1.00800 0 10019 BULK 3041 TIP3 OH2 OT -.834000 15.9994 0 10020 BULK 3041 TIP3 H1 HT .417000 1.00800 0 10021 BULK 3041 TIP3 H2 HT .417000 1.00800 0 10022 BULK 3042 TIP3 OH2 OT -.834000 15.9994 0 10023 BULK 3042 TIP3 H1 HT .417000 1.00800 0 10024 BULK 3042 TIP3 H2 HT .417000 1.00800 0 10025 BULK 3043 TIP3 OH2 OT -.834000 15.9994 0 10026 BULK 3043 TIP3 H1 HT .417000 1.00800 0 10027 BULK 3043 TIP3 H2 HT .417000 1.00800 0 10028 BULK 3044 TIP3 OH2 OT -.834000 15.9994 0 10029 BULK 3044 TIP3 H1 HT .417000 1.00800 0 10030 BULK 3044 TIP3 H2 HT .417000 1.00800 0 10031 BULK 3045 TIP3 OH2 OT -.834000 15.9994 0 10032 BULK 3045 TIP3 H1 HT .417000 1.00800 0 10033 BULK 3045 TIP3 H2 HT .417000 1.00800 0 10034 BULK 3046 TIP3 OH2 OT -.834000 15.9994 0 10035 BULK 3046 TIP3 H1 HT .417000 1.00800 0 10036 BULK 3046 TIP3 H2 HT .417000 1.00800 0 10037 BULK 3047 TIP3 OH2 OT -.834000 15.9994 0 10038 BULK 3047 TIP3 H1 HT .417000 1.00800 0 10039 BULK 3047 TIP3 H2 HT .417000 1.00800 0 10040 BULK 3048 TIP3 OH2 OT -.834000 15.9994 0 10041 BULK 3048 TIP3 H1 HT .417000 1.00800 0 10042 BULK 3048 TIP3 H2 HT .417000 1.00800 0 10043 BULK 3049 TIP3 OH2 OT -.834000 15.9994 0 10044 BULK 3049 TIP3 H1 HT .417000 1.00800 0 10045 BULK 3049 TIP3 H2 HT .417000 1.00800 0 10046 BULK 3050 TIP3 OH2 OT -.834000 15.9994 0 10047 BULK 3050 TIP3 H1 HT .417000 1.00800 0 10048 BULK 3050 TIP3 H2 HT .417000 1.00800 0 10049 BULK 3051 TIP3 OH2 OT -.834000 15.9994 0 10050 BULK 3051 TIP3 H1 HT .417000 1.00800 0 10051 BULK 3051 TIP3 H2 HT .417000 1.00800 0 10052 BULK 3052 TIP3 OH2 OT -.834000 15.9994 0 10053 BULK 3052 TIP3 H1 HT .417000 1.00800 0 10054 BULK 3052 TIP3 H2 HT .417000 1.00800 0 10055 BULK 3053 TIP3 OH2 OT -.834000 15.9994 0 10056 BULK 3053 TIP3 H1 HT .417000 1.00800 0 10057 BULK 3053 TIP3 H2 HT .417000 1.00800 0 10058 BULK 3054 TIP3 OH2 OT -.834000 15.9994 0 10059 BULK 3054 TIP3 H1 HT .417000 1.00800 0 10060 BULK 3054 TIP3 H2 HT .417000 1.00800 0 10061 BULK 3055 TIP3 OH2 OT -.834000 15.9994 0 10062 BULK 3055 TIP3 H1 HT .417000 1.00800 0 10063 BULK 3055 TIP3 H2 HT .417000 1.00800 0 10064 BULK 3056 TIP3 OH2 OT -.834000 15.9994 0 10065 BULK 3056 TIP3 H1 HT .417000 1.00800 0 10066 BULK 3056 TIP3 H2 HT .417000 1.00800 0 10067 BULK 3057 TIP3 OH2 OT -.834000 15.9994 0 10068 BULK 3057 TIP3 H1 HT .417000 1.00800 0 10069 BULK 3057 TIP3 H2 HT .417000 1.00800 0 10070 BULK 3058 TIP3 OH2 OT -.834000 15.9994 0 10071 BULK 3058 TIP3 H1 HT .417000 1.00800 0 10072 BULK 3058 TIP3 H2 HT .417000 1.00800 0 10073 BULK 3059 TIP3 OH2 OT -.834000 15.9994 0 10074 BULK 3059 TIP3 H1 HT .417000 1.00800 0 10075 BULK 3059 TIP3 H2 HT .417000 1.00800 0 10076 BULK 3060 TIP3 OH2 OT -.834000 15.9994 0 10077 BULK 3060 TIP3 H1 HT .417000 1.00800 0 10078 BULK 3060 TIP3 H2 HT .417000 1.00800 0 10079 BULK 3061 TIP3 OH2 OT -.834000 15.9994 0 10080 BULK 3061 TIP3 H1 HT .417000 1.00800 0 10081 BULK 3061 TIP3 H2 HT .417000 1.00800 0 10082 BULK 3062 TIP3 OH2 OT -.834000 15.9994 0 10083 BULK 3062 TIP3 H1 HT .417000 1.00800 0 10084 BULK 3062 TIP3 H2 HT .417000 1.00800 0 10085 BULK 3063 TIP3 OH2 OT -.834000 15.9994 0 10086 BULK 3063 TIP3 H1 HT .417000 1.00800 0 10087 BULK 3063 TIP3 H2 HT .417000 1.00800 0 10088 BULK 3064 TIP3 OH2 OT -.834000 15.9994 0 10089 BULK 3064 TIP3 H1 HT .417000 1.00800 0 10090 BULK 3064 TIP3 H2 HT .417000 1.00800 0 10091 BULK 3065 TIP3 OH2 OT -.834000 15.9994 0 10092 BULK 3065 TIP3 H1 HT .417000 1.00800 0 10093 BULK 3065 TIP3 H2 HT .417000 1.00800 0 10094 BULK 3066 TIP3 OH2 OT -.834000 15.9994 0 10095 BULK 3066 TIP3 H1 HT .417000 1.00800 0 10096 BULK 3066 TIP3 H2 HT .417000 1.00800 0 10097 BULK 3067 TIP3 OH2 OT -.834000 15.9994 0 10098 BULK 3067 TIP3 H1 HT .417000 1.00800 0 10099 BULK 3067 TIP3 H2 HT .417000 1.00800 0 10100 BULK 3068 TIP3 OH2 OT -.834000 15.9994 0 10101 BULK 3068 TIP3 H1 HT .417000 1.00800 0 10102 BULK 3068 TIP3 H2 HT .417000 1.00800 0 10103 BULK 3069 TIP3 OH2 OT -.834000 15.9994 0 10104 BULK 3069 TIP3 H1 HT .417000 1.00800 0 10105 BULK 3069 TIP3 H2 HT .417000 1.00800 0 10106 BULK 3070 TIP3 OH2 OT -.834000 15.9994 0 10107 BULK 3070 TIP3 H1 HT .417000 1.00800 0 10108 BULK 3070 TIP3 H2 HT .417000 1.00800 0 10109 BULK 3071 TIP3 OH2 OT -.834000 15.9994 0 10110 BULK 3071 TIP3 H1 HT .417000 1.00800 0 10111 BULK 3071 TIP3 H2 HT .417000 1.00800 0 10112 BULK 3072 TIP3 OH2 OT -.834000 15.9994 0 10113 BULK 3072 TIP3 H1 HT .417000 1.00800 0 10114 BULK 3072 TIP3 H2 HT .417000 1.00800 0 10115 BULK 3073 TIP3 OH2 OT -.834000 15.9994 0 10116 BULK 3073 TIP3 H1 HT .417000 1.00800 0 10117 BULK 3073 TIP3 H2 HT .417000 1.00800 0 10118 BULK 3074 TIP3 OH2 OT -.834000 15.9994 0 10119 BULK 3074 TIP3 H1 HT .417000 1.00800 0 10120 BULK 3074 TIP3 H2 HT .417000 1.00800 0 10121 BULK 3075 TIP3 OH2 OT -.834000 15.9994 0 10122 BULK 3075 TIP3 H1 HT .417000 1.00800 0 10123 BULK 3075 TIP3 H2 HT .417000 1.00800 0 10124 BULK 3076 TIP3 OH2 OT -.834000 15.9994 0 10125 BULK 3076 TIP3 H1 HT .417000 1.00800 0 10126 BULK 3076 TIP3 H2 HT .417000 1.00800 0 10127 BULK 3077 TIP3 OH2 OT -.834000 15.9994 0 10128 BULK 3077 TIP3 H1 HT .417000 1.00800 0 10129 BULK 3077 TIP3 H2 HT .417000 1.00800 0 10130 BULK 3078 TIP3 OH2 OT -.834000 15.9994 0 10131 BULK 3078 TIP3 H1 HT .417000 1.00800 0 10132 BULK 3078 TIP3 H2 HT .417000 1.00800 0 10133 BULK 3079 TIP3 OH2 OT -.834000 15.9994 0 10134 BULK 3079 TIP3 H1 HT .417000 1.00800 0 10135 BULK 3079 TIP3 H2 HT .417000 1.00800 0 10136 BULK 3080 TIP3 OH2 OT -.834000 15.9994 0 10137 BULK 3080 TIP3 H1 HT .417000 1.00800 0 10138 BULK 3080 TIP3 H2 HT .417000 1.00800 0 10139 BULK 3081 TIP3 OH2 OT -.834000 15.9994 0 10140 BULK 3081 TIP3 H1 HT .417000 1.00800 0 10141 BULK 3081 TIP3 H2 HT .417000 1.00800 0 10142 BULK 3082 TIP3 OH2 OT -.834000 15.9994 0 10143 BULK 3082 TIP3 H1 HT .417000 1.00800 0 10144 BULK 3082 TIP3 H2 HT .417000 1.00800 0 10145 BULK 3083 TIP3 OH2 OT -.834000 15.9994 0 10146 BULK 3083 TIP3 H1 HT .417000 1.00800 0 10147 BULK 3083 TIP3 H2 HT .417000 1.00800 0 10148 BULK 3084 TIP3 OH2 OT -.834000 15.9994 0 10149 BULK 3084 TIP3 H1 HT .417000 1.00800 0 10150 BULK 3084 TIP3 H2 HT .417000 1.00800 0 10151 BULK 3085 TIP3 OH2 OT -.834000 15.9994 0 10152 BULK 3085 TIP3 H1 HT .417000 1.00800 0 10153 BULK 3085 TIP3 H2 HT .417000 1.00800 0 10154 BULK 3086 TIP3 OH2 OT -.834000 15.9994 0 10155 BULK 3086 TIP3 H1 HT .417000 1.00800 0 10156 BULK 3086 TIP3 H2 HT .417000 1.00800 0 10157 BULK 3087 TIP3 OH2 OT -.834000 15.9994 0 10158 BULK 3087 TIP3 H1 HT .417000 1.00800 0 10159 BULK 3087 TIP3 H2 HT .417000 1.00800 0 10160 BULK 3088 TIP3 OH2 OT -.834000 15.9994 0 10161 BULK 3088 TIP3 H1 HT .417000 1.00800 0 10162 BULK 3088 TIP3 H2 HT .417000 1.00800 0 10163 BULK 3089 TIP3 OH2 OT -.834000 15.9994 0 10164 BULK 3089 TIP3 H1 HT .417000 1.00800 0 10165 BULK 3089 TIP3 H2 HT .417000 1.00800 0 10166 BULK 3090 TIP3 OH2 OT -.834000 15.9994 0 10167 BULK 3090 TIP3 H1 HT .417000 1.00800 0 10168 BULK 3090 TIP3 H2 HT .417000 1.00800 0 10169 BULK 3091 TIP3 OH2 OT -.834000 15.9994 0 10170 BULK 3091 TIP3 H1 HT .417000 1.00800 0 10171 BULK 3091 TIP3 H2 HT .417000 1.00800 0 10172 BULK 3092 TIP3 OH2 OT -.834000 15.9994 0 10173 BULK 3092 TIP3 H1 HT .417000 1.00800 0 10174 BULK 3092 TIP3 H2 HT .417000 1.00800 0 10175 BULK 3093 TIP3 OH2 OT -.834000 15.9994 0 10176 BULK 3093 TIP3 H1 HT .417000 1.00800 0 10177 BULK 3093 TIP3 H2 HT .417000 1.00800 0 10178 BULK 3094 TIP3 OH2 OT -.834000 15.9994 0 10179 BULK 3094 TIP3 H1 HT .417000 1.00800 0 10180 BULK 3094 TIP3 H2 HT .417000 1.00800 0 10181 BULK 3095 TIP3 OH2 OT -.834000 15.9994 0 10182 BULK 3095 TIP3 H1 HT .417000 1.00800 0 10183 BULK 3095 TIP3 H2 HT .417000 1.00800 0 10184 BULK 3096 TIP3 OH2 OT -.834000 15.9994 0 10185 BULK 3096 TIP3 H1 HT .417000 1.00800 0 10186 BULK 3096 TIP3 H2 HT .417000 1.00800 0 10187 BULK 3097 TIP3 OH2 OT -.834000 15.9994 0 10188 BULK 3097 TIP3 H1 HT .417000 1.00800 0 10189 BULK 3097 TIP3 H2 HT .417000 1.00800 0 10190 BULK 3098 TIP3 OH2 OT -.834000 15.9994 0 10191 BULK 3098 TIP3 H1 HT .417000 1.00800 0 10192 BULK 3098 TIP3 H2 HT .417000 1.00800 0 10193 BULK 3099 TIP3 OH2 OT -.834000 15.9994 0 10194 BULK 3099 TIP3 H1 HT .417000 1.00800 0 10195 BULK 3099 TIP3 H2 HT .417000 1.00800 0 10196 BULK 3100 TIP3 OH2 OT -.834000 15.9994 0 10197 BULK 3100 TIP3 H1 HT .417000 1.00800 0 10198 BULK 3100 TIP3 H2 HT .417000 1.00800 0 10199 BULK 3101 TIP3 OH2 OT -.834000 15.9994 0 10200 BULK 3101 TIP3 H1 HT .417000 1.00800 0 10201 BULK 3101 TIP3 H2 HT .417000 1.00800 0 10202 BULK 3102 TIP3 OH2 OT -.834000 15.9994 0 10203 BULK 3102 TIP3 H1 HT .417000 1.00800 0 10204 BULK 3102 TIP3 H2 HT .417000 1.00800 0 10205 BULK 3103 TIP3 OH2 OT -.834000 15.9994 0 10206 BULK 3103 TIP3 H1 HT .417000 1.00800 0 10207 BULK 3103 TIP3 H2 HT .417000 1.00800 0 10208 BULK 3104 TIP3 OH2 OT -.834000 15.9994 0 10209 BULK 3104 TIP3 H1 HT .417000 1.00800 0 10210 BULK 3104 TIP3 H2 HT .417000 1.00800 0 10211 BULK 3105 TIP3 OH2 OT -.834000 15.9994 0 10212 BULK 3105 TIP3 H1 HT .417000 1.00800 0 10213 BULK 3105 TIP3 H2 HT .417000 1.00800 0 10214 BULK 3106 TIP3 OH2 OT -.834000 15.9994 0 10215 BULK 3106 TIP3 H1 HT .417000 1.00800 0 10216 BULK 3106 TIP3 H2 HT .417000 1.00800 0 10217 BULK 3107 TIP3 OH2 OT -.834000 15.9994 0 10218 BULK 3107 TIP3 H1 HT .417000 1.00800 0 10219 BULK 3107 TIP3 H2 HT .417000 1.00800 0 10220 BULK 3108 TIP3 OH2 OT -.834000 15.9994 0 10221 BULK 3108 TIP3 H1 HT .417000 1.00800 0 10222 BULK 3108 TIP3 H2 HT .417000 1.00800 0 10223 BULK 3109 TIP3 OH2 OT -.834000 15.9994 0 10224 BULK 3109 TIP3 H1 HT .417000 1.00800 0 10225 BULK 3109 TIP3 H2 HT .417000 1.00800 0 10226 BULK 3110 TIP3 OH2 OT -.834000 15.9994 0 10227 BULK 3110 TIP3 H1 HT .417000 1.00800 0 10228 BULK 3110 TIP3 H2 HT .417000 1.00800 0 10229 BULK 3111 TIP3 OH2 OT -.834000 15.9994 0 10230 BULK 3111 TIP3 H1 HT .417000 1.00800 0 10231 BULK 3111 TIP3 H2 HT .417000 1.00800 0 10232 BULK 3112 TIP3 OH2 OT -.834000 15.9994 0 10233 BULK 3112 TIP3 H1 HT .417000 1.00800 0 10234 BULK 3112 TIP3 H2 HT .417000 1.00800 0 10235 BULK 3113 TIP3 OH2 OT -.834000 15.9994 0 10236 BULK 3113 TIP3 H1 HT .417000 1.00800 0 10237 BULK 3113 TIP3 H2 HT .417000 1.00800 0 10238 BULK 3114 TIP3 OH2 OT -.834000 15.9994 0 10239 BULK 3114 TIP3 H1 HT .417000 1.00800 0 10240 BULK 3114 TIP3 H2 HT .417000 1.00800 0 10241 BULK 3115 TIP3 OH2 OT -.834000 15.9994 0 10242 BULK 3115 TIP3 H1 HT .417000 1.00800 0 10243 BULK 3115 TIP3 H2 HT .417000 1.00800 0 10244 BULK 3116 TIP3 OH2 OT -.834000 15.9994 0 10245 BULK 3116 TIP3 H1 HT .417000 1.00800 0 10246 BULK 3116 TIP3 H2 HT .417000 1.00800 0 10247 BULK 3117 TIP3 OH2 OT -.834000 15.9994 0 10248 BULK 3117 TIP3 H1 HT .417000 1.00800 0 10249 BULK 3117 TIP3 H2 HT .417000 1.00800 0 10250 BULK 3118 TIP3 OH2 OT -.834000 15.9994 0 10251 BULK 3118 TIP3 H1 HT .417000 1.00800 0 10252 BULK 3118 TIP3 H2 HT .417000 1.00800 0 10253 BULK 3119 TIP3 OH2 OT -.834000 15.9994 0 10254 BULK 3119 TIP3 H1 HT .417000 1.00800 0 10255 BULK 3119 TIP3 H2 HT .417000 1.00800 0 10256 BULK 3120 TIP3 OH2 OT -.834000 15.9994 0 10257 BULK 3120 TIP3 H1 HT .417000 1.00800 0 10258 BULK 3120 TIP3 H2 HT .417000 1.00800 0 10259 BULK 3121 TIP3 OH2 OT -.834000 15.9994 0 10260 BULK 3121 TIP3 H1 HT .417000 1.00800 0 10261 BULK 3121 TIP3 H2 HT .417000 1.00800 0 10262 BULK 3122 TIP3 OH2 OT -.834000 15.9994 0 10263 BULK 3122 TIP3 H1 HT .417000 1.00800 0 10264 BULK 3122 TIP3 H2 HT .417000 1.00800 0 10265 BULK 3123 TIP3 OH2 OT -.834000 15.9994 0 10266 BULK 3123 TIP3 H1 HT .417000 1.00800 0 10267 BULK 3123 TIP3 H2 HT .417000 1.00800 0 10268 BULK 3124 TIP3 OH2 OT -.834000 15.9994 0 10269 BULK 3124 TIP3 H1 HT .417000 1.00800 0 10270 BULK 3124 TIP3 H2 HT .417000 1.00800 0 10271 BULK 3125 TIP3 OH2 OT -.834000 15.9994 0 10272 BULK 3125 TIP3 H1 HT .417000 1.00800 0 10273 BULK 3125 TIP3 H2 HT .417000 1.00800 0 10274 BULK 3126 TIP3 OH2 OT -.834000 15.9994 0 10275 BULK 3126 TIP3 H1 HT .417000 1.00800 0 10276 BULK 3126 TIP3 H2 HT .417000 1.00800 0 10277 BULK 3127 TIP3 OH2 OT -.834000 15.9994 0 10278 BULK 3127 TIP3 H1 HT .417000 1.00800 0 10279 BULK 3127 TIP3 H2 HT .417000 1.00800 0 10280 BULK 3128 TIP3 OH2 OT -.834000 15.9994 0 10281 BULK 3128 TIP3 H1 HT .417000 1.00800 0 10282 BULK 3128 TIP3 H2 HT .417000 1.00800 0 10283 BULK 3129 TIP3 OH2 OT -.834000 15.9994 0 10284 BULK 3129 TIP3 H1 HT .417000 1.00800 0 10285 BULK 3129 TIP3 H2 HT .417000 1.00800 0 10286 BULK 3130 TIP3 OH2 OT -.834000 15.9994 0 10287 BULK 3130 TIP3 H1 HT .417000 1.00800 0 10288 BULK 3130 TIP3 H2 HT .417000 1.00800 0 10289 BULK 3131 TIP3 OH2 OT -.834000 15.9994 0 10290 BULK 3131 TIP3 H1 HT .417000 1.00800 0 10291 BULK 3131 TIP3 H2 HT .417000 1.00800 0 10292 BULK 3132 TIP3 OH2 OT -.834000 15.9994 0 10293 BULK 3132 TIP3 H1 HT .417000 1.00800 0 10294 BULK 3132 TIP3 H2 HT .417000 1.00800 0 10295 BULK 3133 TIP3 OH2 OT -.834000 15.9994 0 10296 BULK 3133 TIP3 H1 HT .417000 1.00800 0 10297 BULK 3133 TIP3 H2 HT .417000 1.00800 0 10298 BULK 3134 TIP3 OH2 OT -.834000 15.9994 0 10299 BULK 3134 TIP3 H1 HT .417000 1.00800 0 10300 BULK 3134 TIP3 H2 HT .417000 1.00800 0 10301 BULK 3135 TIP3 OH2 OT -.834000 15.9994 0 10302 BULK 3135 TIP3 H1 HT .417000 1.00800 0 10303 BULK 3135 TIP3 H2 HT .417000 1.00800 0 10304 BULK 3136 TIP3 OH2 OT -.834000 15.9994 0 10305 BULK 3136 TIP3 H1 HT .417000 1.00800 0 10306 BULK 3136 TIP3 H2 HT .417000 1.00800 0 10307 BULK 3137 TIP3 OH2 OT -.834000 15.9994 0 10308 BULK 3137 TIP3 H1 HT .417000 1.00800 0 10309 BULK 3137 TIP3 H2 HT .417000 1.00800 0 10310 BULK 3138 TIP3 OH2 OT -.834000 15.9994 0 10311 BULK 3138 TIP3 H1 HT .417000 1.00800 0 10312 BULK 3138 TIP3 H2 HT .417000 1.00800 0 10313 BULK 3139 TIP3 OH2 OT -.834000 15.9994 0 10314 BULK 3139 TIP3 H1 HT .417000 1.00800 0 10315 BULK 3139 TIP3 H2 HT .417000 1.00800 0 10316 BULK 3140 TIP3 OH2 OT -.834000 15.9994 0 10317 BULK 3140 TIP3 H1 HT .417000 1.00800 0 10318 BULK 3140 TIP3 H2 HT .417000 1.00800 0 10319 BULK 3141 TIP3 OH2 OT -.834000 15.9994 0 10320 BULK 3141 TIP3 H1 HT .417000 1.00800 0 10321 BULK 3141 TIP3 H2 HT .417000 1.00800 0 10322 BULK 3142 TIP3 OH2 OT -.834000 15.9994 0 10323 BULK 3142 TIP3 H1 HT .417000 1.00800 0 10324 BULK 3142 TIP3 H2 HT .417000 1.00800 0 10325 BULK 3143 TIP3 OH2 OT -.834000 15.9994 0 10326 BULK 3143 TIP3 H1 HT .417000 1.00800 0 10327 BULK 3143 TIP3 H2 HT .417000 1.00800 0 10328 BULK 3144 TIP3 OH2 OT -.834000 15.9994 0 10329 BULK 3144 TIP3 H1 HT .417000 1.00800 0 10330 BULK 3144 TIP3 H2 HT .417000 1.00800 0 10331 BULK 3145 TIP3 OH2 OT -.834000 15.9994 0 10332 BULK 3145 TIP3 H1 HT .417000 1.00800 0 10333 BULK 3145 TIP3 H2 HT .417000 1.00800 0 10334 BULK 3146 TIP3 OH2 OT -.834000 15.9994 0 10335 BULK 3146 TIP3 H1 HT .417000 1.00800 0 10336 BULK 3146 TIP3 H2 HT .417000 1.00800 0 10337 BULK 3147 TIP3 OH2 OT -.834000 15.9994 0 10338 BULK 3147 TIP3 H1 HT .417000 1.00800 0 10339 BULK 3147 TIP3 H2 HT .417000 1.00800 0 10340 BULK 3148 TIP3 OH2 OT -.834000 15.9994 0 10341 BULK 3148 TIP3 H1 HT .417000 1.00800 0 10342 BULK 3148 TIP3 H2 HT .417000 1.00800 0 10343 BULK 3149 TIP3 OH2 OT -.834000 15.9994 0 10344 BULK 3149 TIP3 H1 HT .417000 1.00800 0 10345 BULK 3149 TIP3 H2 HT .417000 1.00800 0 10346 BULK 3150 TIP3 OH2 OT -.834000 15.9994 0 10347 BULK 3150 TIP3 H1 HT .417000 1.00800 0 10348 BULK 3150 TIP3 H2 HT .417000 1.00800 0 10349 BULK 3151 TIP3 OH2 OT -.834000 15.9994 0 10350 BULK 3151 TIP3 H1 HT .417000 1.00800 0 10351 BULK 3151 TIP3 H2 HT .417000 1.00800 0 10352 BULK 3152 TIP3 OH2 OT -.834000 15.9994 0 10353 BULK 3152 TIP3 H1 HT .417000 1.00800 0 10354 BULK 3152 TIP3 H2 HT .417000 1.00800 0 10355 BULK 3153 TIP3 OH2 OT -.834000 15.9994 0 10356 BULK 3153 TIP3 H1 HT .417000 1.00800 0 10357 BULK 3153 TIP3 H2 HT .417000 1.00800 0 10358 BULK 3154 TIP3 OH2 OT -.834000 15.9994 0 10359 BULK 3154 TIP3 H1 HT .417000 1.00800 0 10360 BULK 3154 TIP3 H2 HT .417000 1.00800 0 10361 BULK 3155 TIP3 OH2 OT -.834000 15.9994 0 10362 BULK 3155 TIP3 H1 HT .417000 1.00800 0 10363 BULK 3155 TIP3 H2 HT .417000 1.00800 0 10364 BULK 3156 TIP3 OH2 OT -.834000 15.9994 0 10365 BULK 3156 TIP3 H1 HT .417000 1.00800 0 10366 BULK 3156 TIP3 H2 HT .417000 1.00800 0 10367 BULK 3157 TIP3 OH2 OT -.834000 15.9994 0 10368 BULK 3157 TIP3 H1 HT .417000 1.00800 0 10369 BULK 3157 TIP3 H2 HT .417000 1.00800 0 10370 BULK 3158 TIP3 OH2 OT -.834000 15.9994 0 10371 BULK 3158 TIP3 H1 HT .417000 1.00800 0 10372 BULK 3158 TIP3 H2 HT .417000 1.00800 0 10373 BULK 3159 TIP3 OH2 OT -.834000 15.9994 0 10374 BULK 3159 TIP3 H1 HT .417000 1.00800 0 10375 BULK 3159 TIP3 H2 HT .417000 1.00800 0 10376 BULK 3160 TIP3 OH2 OT -.834000 15.9994 0 10377 BULK 3160 TIP3 H1 HT .417000 1.00800 0 10378 BULK 3160 TIP3 H2 HT .417000 1.00800 0 10379 BULK 3161 TIP3 OH2 OT -.834000 15.9994 0 10380 BULK 3161 TIP3 H1 HT .417000 1.00800 0 10381 BULK 3161 TIP3 H2 HT .417000 1.00800 0 10382 BULK 3162 TIP3 OH2 OT -.834000 15.9994 0 10383 BULK 3162 TIP3 H1 HT .417000 1.00800 0 10384 BULK 3162 TIP3 H2 HT .417000 1.00800 0 10385 BULK 3163 TIP3 OH2 OT -.834000 15.9994 0 10386 BULK 3163 TIP3 H1 HT .417000 1.00800 0 10387 BULK 3163 TIP3 H2 HT .417000 1.00800 0 10388 BULK 3164 TIP3 OH2 OT -.834000 15.9994 0 10389 BULK 3164 TIP3 H1 HT .417000 1.00800 0 10390 BULK 3164 TIP3 H2 HT .417000 1.00800 0 10391 BULK 3165 TIP3 OH2 OT -.834000 15.9994 0 10392 BULK 3165 TIP3 H1 HT .417000 1.00800 0 10393 BULK 3165 TIP3 H2 HT .417000 1.00800 0 10394 BULK 3166 TIP3 OH2 OT -.834000 15.9994 0 10395 BULK 3166 TIP3 H1 HT .417000 1.00800 0 10396 BULK 3166 TIP3 H2 HT .417000 1.00800 0 10397 BULK 3167 TIP3 OH2 OT -.834000 15.9994 0 10398 BULK 3167 TIP3 H1 HT .417000 1.00800 0 10399 BULK 3167 TIP3 H2 HT .417000 1.00800 0 10400 BULK 3168 TIP3 OH2 OT -.834000 15.9994 0 10401 BULK 3168 TIP3 H1 HT .417000 1.00800 0 10402 BULK 3168 TIP3 H2 HT .417000 1.00800 0 10403 BULK 3169 TIP3 OH2 OT -.834000 15.9994 0 10404 BULK 3169 TIP3 H1 HT .417000 1.00800 0 10405 BULK 3169 TIP3 H2 HT .417000 1.00800 0 10406 BULK 3170 TIP3 OH2 OT -.834000 15.9994 0 10407 BULK 3170 TIP3 H1 HT .417000 1.00800 0 10408 BULK 3170 TIP3 H2 HT .417000 1.00800 0 10409 BULK 3171 TIP3 OH2 OT -.834000 15.9994 0 10410 BULK 3171 TIP3 H1 HT .417000 1.00800 0 10411 BULK 3171 TIP3 H2 HT .417000 1.00800 0 10412 BULK 3172 TIP3 OH2 OT -.834000 15.9994 0 10413 BULK 3172 TIP3 H1 HT .417000 1.00800 0 10414 BULK 3172 TIP3 H2 HT .417000 1.00800 0 10415 BULK 3173 TIP3 OH2 OT -.834000 15.9994 0 10416 BULK 3173 TIP3 H1 HT .417000 1.00800 0 10417 BULK 3173 TIP3 H2 HT .417000 1.00800 0 10418 BULK 3174 TIP3 OH2 OT -.834000 15.9994 0 10419 BULK 3174 TIP3 H1 HT .417000 1.00800 0 10420 BULK 3174 TIP3 H2 HT .417000 1.00800 0 10421 BULK 3175 TIP3 OH2 OT -.834000 15.9994 0 10422 BULK 3175 TIP3 H1 HT .417000 1.00800 0 10423 BULK 3175 TIP3 H2 HT .417000 1.00800 0 10424 BULK 3176 TIP3 OH2 OT -.834000 15.9994 0 10425 BULK 3176 TIP3 H1 HT .417000 1.00800 0 10426 BULK 3176 TIP3 H2 HT .417000 1.00800 0 10427 BULK 3177 TIP3 OH2 OT -.834000 15.9994 0 10428 BULK 3177 TIP3 H1 HT .417000 1.00800 0 10429 BULK 3177 TIP3 H2 HT .417000 1.00800 0 10430 BULK 3178 TIP3 OH2 OT -.834000 15.9994 0 10431 BULK 3178 TIP3 H1 HT .417000 1.00800 0 10432 BULK 3178 TIP3 H2 HT .417000 1.00800 0 10433 BULK 3179 TIP3 OH2 OT -.834000 15.9994 0 10434 BULK 3179 TIP3 H1 HT .417000 1.00800 0 10435 BULK 3179 TIP3 H2 HT .417000 1.00800 0 10436 BULK 3180 TIP3 OH2 OT -.834000 15.9994 0 10437 BULK 3180 TIP3 H1 HT .417000 1.00800 0 10438 BULK 3180 TIP3 H2 HT .417000 1.00800 0 10439 BULK 3181 TIP3 OH2 OT -.834000 15.9994 0 10440 BULK 3181 TIP3 H1 HT .417000 1.00800 0 10441 BULK 3181 TIP3 H2 HT .417000 1.00800 0 10442 BULK 3182 TIP3 OH2 OT -.834000 15.9994 0 10443 BULK 3182 TIP3 H1 HT .417000 1.00800 0 10444 BULK 3182 TIP3 H2 HT .417000 1.00800 0 10445 BULK 3183 TIP3 OH2 OT -.834000 15.9994 0 10446 BULK 3183 TIP3 H1 HT .417000 1.00800 0 10447 BULK 3183 TIP3 H2 HT .417000 1.00800 0 10448 BULK 3184 TIP3 OH2 OT -.834000 15.9994 0 10449 BULK 3184 TIP3 H1 HT .417000 1.00800 0 10450 BULK 3184 TIP3 H2 HT .417000 1.00800 0 10451 BULK 3185 TIP3 OH2 OT -.834000 15.9994 0 10452 BULK 3185 TIP3 H1 HT .417000 1.00800 0 10453 BULK 3185 TIP3 H2 HT .417000 1.00800 0 10454 BULK 3186 TIP3 OH2 OT -.834000 15.9994 0 10455 BULK 3186 TIP3 H1 HT .417000 1.00800 0 10456 BULK 3186 TIP3 H2 HT .417000 1.00800 0 10457 BULK 3187 TIP3 OH2 OT -.834000 15.9994 0 10458 BULK 3187 TIP3 H1 HT .417000 1.00800 0 10459 BULK 3187 TIP3 H2 HT .417000 1.00800 0 10460 BULK 3188 TIP3 OH2 OT -.834000 15.9994 0 10461 BULK 3188 TIP3 H1 HT .417000 1.00800 0 10462 BULK 3188 TIP3 H2 HT .417000 1.00800 0 10463 BULK 3189 TIP3 OH2 OT -.834000 15.9994 0 10464 BULK 3189 TIP3 H1 HT .417000 1.00800 0 10465 BULK 3189 TIP3 H2 HT .417000 1.00800 0 10466 BULK 3190 TIP3 OH2 OT -.834000 15.9994 0 10467 BULK 3190 TIP3 H1 HT .417000 1.00800 0 10468 BULK 3190 TIP3 H2 HT .417000 1.00800 0 10469 BULK 3191 TIP3 OH2 OT -.834000 15.9994 0 10470 BULK 3191 TIP3 H1 HT .417000 1.00800 0 10471 BULK 3191 TIP3 H2 HT .417000 1.00800 0 10472 BULK 3192 TIP3 OH2 OT -.834000 15.9994 0 10473 BULK 3192 TIP3 H1 HT .417000 1.00800 0 10474 BULK 3192 TIP3 H2 HT .417000 1.00800 0 10475 BULK 3193 TIP3 OH2 OT -.834000 15.9994 0 10476 BULK 3193 TIP3 H1 HT .417000 1.00800 0 10477 BULK 3193 TIP3 H2 HT .417000 1.00800 0 10478 BULK 3194 TIP3 OH2 OT -.834000 15.9994 0 10479 BULK 3194 TIP3 H1 HT .417000 1.00800 0 10480 BULK 3194 TIP3 H2 HT .417000 1.00800 0 10481 BULK 3195 TIP3 OH2 OT -.834000 15.9994 0 10482 BULK 3195 TIP3 H1 HT .417000 1.00800 0 10483 BULK 3195 TIP3 H2 HT .417000 1.00800 0 10484 BULK 3196 TIP3 OH2 OT -.834000 15.9994 0 10485 BULK 3196 TIP3 H1 HT .417000 1.00800 0 10486 BULK 3196 TIP3 H2 HT .417000 1.00800 0 10487 BULK 3197 TIP3 OH2 OT -.834000 15.9994 0 10488 BULK 3197 TIP3 H1 HT .417000 1.00800 0 10489 BULK 3197 TIP3 H2 HT .417000 1.00800 0 10490 BULK 3198 TIP3 OH2 OT -.834000 15.9994 0 10491 BULK 3198 TIP3 H1 HT .417000 1.00800 0 10492 BULK 3198 TIP3 H2 HT .417000 1.00800 0 10493 BULK 3199 TIP3 OH2 OT -.834000 15.9994 0 10494 BULK 3199 TIP3 H1 HT .417000 1.00800 0 10495 BULK 3199 TIP3 H2 HT .417000 1.00800 0 10496 BULK 3200 TIP3 OH2 OT -.834000 15.9994 0 10497 BULK 3200 TIP3 H1 HT .417000 1.00800 0 10498 BULK 3200 TIP3 H2 HT .417000 1.00800 0 10499 BULK 3201 TIP3 OH2 OT -.834000 15.9994 0 10500 BULK 3201 TIP3 H1 HT .417000 1.00800 0 10501 BULK 3201 TIP3 H2 HT .417000 1.00800 0 10502 BULK 3202 TIP3 OH2 OT -.834000 15.9994 0 10503 BULK 3202 TIP3 H1 HT .417000 1.00800 0 10504 BULK 3202 TIP3 H2 HT .417000 1.00800 0 10505 BULK 3203 TIP3 OH2 OT -.834000 15.9994 0 10506 BULK 3203 TIP3 H1 HT .417000 1.00800 0 10507 BULK 3203 TIP3 H2 HT .417000 1.00800 0 10508 BULK 3204 TIP3 OH2 OT -.834000 15.9994 0 10509 BULK 3204 TIP3 H1 HT .417000 1.00800 0 10510 BULK 3204 TIP3 H2 HT .417000 1.00800 0 10511 BULK 3205 TIP3 OH2 OT -.834000 15.9994 0 10512 BULK 3205 TIP3 H1 HT .417000 1.00800 0 10513 BULK 3205 TIP3 H2 HT .417000 1.00800 0 10514 BULK 3206 TIP3 OH2 OT -.834000 15.9994 0 10515 BULK 3206 TIP3 H1 HT .417000 1.00800 0 10516 BULK 3206 TIP3 H2 HT .417000 1.00800 0 10517 BULK 3207 TIP3 OH2 OT -.834000 15.9994 0 10518 BULK 3207 TIP3 H1 HT .417000 1.00800 0 10519 BULK 3207 TIP3 H2 HT .417000 1.00800 0 10520 BULK 3208 TIP3 OH2 OT -.834000 15.9994 0 10521 BULK 3208 TIP3 H1 HT .417000 1.00800 0 10522 BULK 3208 TIP3 H2 HT .417000 1.00800 0 10523 BULK 3209 TIP3 OH2 OT -.834000 15.9994 0 10524 BULK 3209 TIP3 H1 HT .417000 1.00800 0 10525 BULK 3209 TIP3 H2 HT .417000 1.00800 0 10526 BULK 3210 TIP3 OH2 OT -.834000 15.9994 0 10527 BULK 3210 TIP3 H1 HT .417000 1.00800 0 10528 BULK 3210 TIP3 H2 HT .417000 1.00800 0 10529 BULK 3211 TIP3 OH2 OT -.834000 15.9994 0 10530 BULK 3211 TIP3 H1 HT .417000 1.00800 0 10531 BULK 3211 TIP3 H2 HT .417000 1.00800 0 10532 BULK 3212 TIP3 OH2 OT -.834000 15.9994 0 10533 BULK 3212 TIP3 H1 HT .417000 1.00800 0 10534 BULK 3212 TIP3 H2 HT .417000 1.00800 0 10535 BULK 3213 TIP3 OH2 OT -.834000 15.9994 0 10536 BULK 3213 TIP3 H1 HT .417000 1.00800 0 10537 BULK 3213 TIP3 H2 HT .417000 1.00800 0 10538 BULK 3214 TIP3 OH2 OT -.834000 15.9994 0 10539 BULK 3214 TIP3 H1 HT .417000 1.00800 0 10540 BULK 3214 TIP3 H2 HT .417000 1.00800 0 10541 BULK 3215 TIP3 OH2 OT -.834000 15.9994 0 10542 BULK 3215 TIP3 H1 HT .417000 1.00800 0 10543 BULK 3215 TIP3 H2 HT .417000 1.00800 0 10544 BULK 3216 TIP3 OH2 OT -.834000 15.9994 0 10545 BULK 3216 TIP3 H1 HT .417000 1.00800 0 10546 BULK 3216 TIP3 H2 HT .417000 1.00800 0 10547 BULK 3217 TIP3 OH2 OT -.834000 15.9994 0 10548 BULK 3217 TIP3 H1 HT .417000 1.00800 0 10549 BULK 3217 TIP3 H2 HT .417000 1.00800 0 10550 BULK 3218 TIP3 OH2 OT -.834000 15.9994 0 10551 BULK 3218 TIP3 H1 HT .417000 1.00800 0 10552 BULK 3218 TIP3 H2 HT .417000 1.00800 0 10553 BULK 3219 TIP3 OH2 OT -.834000 15.9994 0 10554 BULK 3219 TIP3 H1 HT .417000 1.00800 0 10555 BULK 3219 TIP3 H2 HT .417000 1.00800 0 10556 BULK 3220 TIP3 OH2 OT -.834000 15.9994 0 10557 BULK 3220 TIP3 H1 HT .417000 1.00800 0 10558 BULK 3220 TIP3 H2 HT .417000 1.00800 0 10559 BULK 3221 TIP3 OH2 OT -.834000 15.9994 0 10560 BULK 3221 TIP3 H1 HT .417000 1.00800 0 10561 BULK 3221 TIP3 H2 HT .417000 1.00800 0 10562 BULK 3222 TIP3 OH2 OT -.834000 15.9994 0 10563 BULK 3222 TIP3 H1 HT .417000 1.00800 0 10564 BULK 3222 TIP3 H2 HT .417000 1.00800 0 10565 BULK 3223 TIP3 OH2 OT -.834000 15.9994 0 10566 BULK 3223 TIP3 H1 HT .417000 1.00800 0 10567 BULK 3223 TIP3 H2 HT .417000 1.00800 0 10568 BULK 3224 TIP3 OH2 OT -.834000 15.9994 0 10569 BULK 3224 TIP3 H1 HT .417000 1.00800 0 10570 BULK 3224 TIP3 H2 HT .417000 1.00800 0 10571 BULK 3225 TIP3 OH2 OT -.834000 15.9994 0 10572 BULK 3225 TIP3 H1 HT .417000 1.00800 0 10573 BULK 3225 TIP3 H2 HT .417000 1.00800 0 10574 BULK 3226 TIP3 OH2 OT -.834000 15.9994 0 10575 BULK 3226 TIP3 H1 HT .417000 1.00800 0 10576 BULK 3226 TIP3 H2 HT .417000 1.00800 0 10577 BULK 3227 TIP3 OH2 OT -.834000 15.9994 0 10578 BULK 3227 TIP3 H1 HT .417000 1.00800 0 10579 BULK 3227 TIP3 H2 HT .417000 1.00800 0 10580 BULK 3228 TIP3 OH2 OT -.834000 15.9994 0 10581 BULK 3228 TIP3 H1 HT .417000 1.00800 0 10582 BULK 3228 TIP3 H2 HT .417000 1.00800 0 10583 BULK 3229 TIP3 OH2 OT -.834000 15.9994 0 10584 BULK 3229 TIP3 H1 HT .417000 1.00800 0 10585 BULK 3229 TIP3 H2 HT .417000 1.00800 0 10586 BULK 3230 TIP3 OH2 OT -.834000 15.9994 0 10587 BULK 3230 TIP3 H1 HT .417000 1.00800 0 10588 BULK 3230 TIP3 H2 HT .417000 1.00800 0 10589 BULK 3231 TIP3 OH2 OT -.834000 15.9994 0 10590 BULK 3231 TIP3 H1 HT .417000 1.00800 0 10591 BULK 3231 TIP3 H2 HT .417000 1.00800 0 10592 BULK 3232 TIP3 OH2 OT -.834000 15.9994 0 10593 BULK 3232 TIP3 H1 HT .417000 1.00800 0 10594 BULK 3232 TIP3 H2 HT .417000 1.00800 0 10595 BULK 3233 TIP3 OH2 OT -.834000 15.9994 0 10596 BULK 3233 TIP3 H1 HT .417000 1.00800 0 10597 BULK 3233 TIP3 H2 HT .417000 1.00800 0 10598 BULK 3234 TIP3 OH2 OT -.834000 15.9994 0 10599 BULK 3234 TIP3 H1 HT .417000 1.00800 0 10600 BULK 3234 TIP3 H2 HT .417000 1.00800 0 10601 BULK 3235 TIP3 OH2 OT -.834000 15.9994 0 10602 BULK 3235 TIP3 H1 HT .417000 1.00800 0 10603 BULK 3235 TIP3 H2 HT .417000 1.00800 0 10604 BULK 3236 TIP3 OH2 OT -.834000 15.9994 0 10605 BULK 3236 TIP3 H1 HT .417000 1.00800 0 10606 BULK 3236 TIP3 H2 HT .417000 1.00800 0 10607 BULK 3237 TIP3 OH2 OT -.834000 15.9994 0 10608 BULK 3237 TIP3 H1 HT .417000 1.00800 0 10609 BULK 3237 TIP3 H2 HT .417000 1.00800 0 10610 BULK 3238 TIP3 OH2 OT -.834000 15.9994 0 10611 BULK 3238 TIP3 H1 HT .417000 1.00800 0 10612 BULK 3238 TIP3 H2 HT .417000 1.00800 0 10613 BULK 3239 TIP3 OH2 OT -.834000 15.9994 0 10614 BULK 3239 TIP3 H1 HT .417000 1.00800 0 10615 BULK 3239 TIP3 H2 HT .417000 1.00800 0 10616 BULK 3240 TIP3 OH2 OT -.834000 15.9994 0 10617 BULK 3240 TIP3 H1 HT .417000 1.00800 0 10618 BULK 3240 TIP3 H2 HT .417000 1.00800 0 10619 BULK 3241 TIP3 OH2 OT -.834000 15.9994 0 10620 BULK 3241 TIP3 H1 HT .417000 1.00800 0 10621 BULK 3241 TIP3 H2 HT .417000 1.00800 0 10622 BULK 3242 TIP3 OH2 OT -.834000 15.9994 0 10623 BULK 3242 TIP3 H1 HT .417000 1.00800 0 10624 BULK 3242 TIP3 H2 HT .417000 1.00800 0 10625 BULK 3243 TIP3 OH2 OT -.834000 15.9994 0 10626 BULK 3243 TIP3 H1 HT .417000 1.00800 0 10627 BULK 3243 TIP3 H2 HT .417000 1.00800 0 10628 BULK 3244 TIP3 OH2 OT -.834000 15.9994 0 10629 BULK 3244 TIP3 H1 HT .417000 1.00800 0 10630 BULK 3244 TIP3 H2 HT .417000 1.00800 0 10631 BULK 3245 TIP3 OH2 OT -.834000 15.9994 0 10632 BULK 3245 TIP3 H1 HT .417000 1.00800 0 10633 BULK 3245 TIP3 H2 HT .417000 1.00800 0 10634 BULK 3246 TIP3 OH2 OT -.834000 15.9994 0 10635 BULK 3246 TIP3 H1 HT .417000 1.00800 0 10636 BULK 3246 TIP3 H2 HT .417000 1.00800 0 10637 BULK 3247 TIP3 OH2 OT -.834000 15.9994 0 10638 BULK 3247 TIP3 H1 HT .417000 1.00800 0 10639 BULK 3247 TIP3 H2 HT .417000 1.00800 0 10640 BULK 3248 TIP3 OH2 OT -.834000 15.9994 0 10641 BULK 3248 TIP3 H1 HT .417000 1.00800 0 10642 BULK 3248 TIP3 H2 HT .417000 1.00800 0 10643 BULK 3249 TIP3 OH2 OT -.834000 15.9994 0 10644 BULK 3249 TIP3 H1 HT .417000 1.00800 0 10645 BULK 3249 TIP3 H2 HT .417000 1.00800 0 10646 BULK 3250 TIP3 OH2 OT -.834000 15.9994 0 10647 BULK 3250 TIP3 H1 HT .417000 1.00800 0 10648 BULK 3250 TIP3 H2 HT .417000 1.00800 0 10649 BULK 3251 TIP3 OH2 OT -.834000 15.9994 0 10650 BULK 3251 TIP3 H1 HT .417000 1.00800 0 10651 BULK 3251 TIP3 H2 HT .417000 1.00800 0 10652 BULK 3252 TIP3 OH2 OT -.834000 15.9994 0 10653 BULK 3252 TIP3 H1 HT .417000 1.00800 0 10654 BULK 3252 TIP3 H2 HT .417000 1.00800 0 10655 BULK 3253 TIP3 OH2 OT -.834000 15.9994 0 10656 BULK 3253 TIP3 H1 HT .417000 1.00800 0 10657 BULK 3253 TIP3 H2 HT .417000 1.00800 0 10658 BULK 3254 TIP3 OH2 OT -.834000 15.9994 0 10659 BULK 3254 TIP3 H1 HT .417000 1.00800 0 10660 BULK 3254 TIP3 H2 HT .417000 1.00800 0 10661 BULK 3255 TIP3 OH2 OT -.834000 15.9994 0 10662 BULK 3255 TIP3 H1 HT .417000 1.00800 0 10663 BULK 3255 TIP3 H2 HT .417000 1.00800 0 10664 BULK 3256 TIP3 OH2 OT -.834000 15.9994 0 10665 BULK 3256 TIP3 H1 HT .417000 1.00800 0 10666 BULK 3256 TIP3 H2 HT .417000 1.00800 0 10667 BULK 3257 TIP3 OH2 OT -.834000 15.9994 0 10668 BULK 3257 TIP3 H1 HT .417000 1.00800 0 10669 BULK 3257 TIP3 H2 HT .417000 1.00800 0 10670 BULK 3258 TIP3 OH2 OT -.834000 15.9994 0 10671 BULK 3258 TIP3 H1 HT .417000 1.00800 0 10672 BULK 3258 TIP3 H2 HT .417000 1.00800 0 10673 BULK 3259 TIP3 OH2 OT -.834000 15.9994 0 10674 BULK 3259 TIP3 H1 HT .417000 1.00800 0 10675 BULK 3259 TIP3 H2 HT .417000 1.00800 0 10676 BULK 3260 TIP3 OH2 OT -.834000 15.9994 0 10677 BULK 3260 TIP3 H1 HT .417000 1.00800 0 10678 BULK 3260 TIP3 H2 HT .417000 1.00800 0 10679 BULK 3261 TIP3 OH2 OT -.834000 15.9994 0 10680 BULK 3261 TIP3 H1 HT .417000 1.00800 0 10681 BULK 3261 TIP3 H2 HT .417000 1.00800 0 10682 BULK 3262 TIP3 OH2 OT -.834000 15.9994 0 10683 BULK 3262 TIP3 H1 HT .417000 1.00800 0 10684 BULK 3262 TIP3 H2 HT .417000 1.00800 0 10685 BULK 3263 TIP3 OH2 OT -.834000 15.9994 0 10686 BULK 3263 TIP3 H1 HT .417000 1.00800 0 10687 BULK 3263 TIP3 H2 HT .417000 1.00800 0 10688 BULK 3264 TIP3 OH2 OT -.834000 15.9994 0 10689 BULK 3264 TIP3 H1 HT .417000 1.00800 0 10690 BULK 3264 TIP3 H2 HT .417000 1.00800 0 10691 BULK 3265 TIP3 OH2 OT -.834000 15.9994 0 10692 BULK 3265 TIP3 H1 HT .417000 1.00800 0 10693 BULK 3265 TIP3 H2 HT .417000 1.00800 0 10694 BULK 3266 TIP3 OH2 OT -.834000 15.9994 0 10695 BULK 3266 TIP3 H1 HT .417000 1.00800 0 10696 BULK 3266 TIP3 H2 HT .417000 1.00800 0 10697 BULK 3267 TIP3 OH2 OT -.834000 15.9994 0 10698 BULK 3267 TIP3 H1 HT .417000 1.00800 0 10699 BULK 3267 TIP3 H2 HT .417000 1.00800 0 10700 BULK 3268 TIP3 OH2 OT -.834000 15.9994 0 10701 BULK 3268 TIP3 H1 HT .417000 1.00800 0 10702 BULK 3268 TIP3 H2 HT .417000 1.00800 0 10703 BULK 3269 TIP3 OH2 OT -.834000 15.9994 0 10704 BULK 3269 TIP3 H1 HT .417000 1.00800 0 10705 BULK 3269 TIP3 H2 HT .417000 1.00800 0 10706 BULK 3270 TIP3 OH2 OT -.834000 15.9994 0 10707 BULK 3270 TIP3 H1 HT .417000 1.00800 0 10708 BULK 3270 TIP3 H2 HT .417000 1.00800 0 10709 BULK 3271 TIP3 OH2 OT -.834000 15.9994 0 10710 BULK 3271 TIP3 H1 HT .417000 1.00800 0 10711 BULK 3271 TIP3 H2 HT .417000 1.00800 0 10712 BULK 3272 TIP3 OH2 OT -.834000 15.9994 0 10713 BULK 3272 TIP3 H1 HT .417000 1.00800 0 10714 BULK 3272 TIP3 H2 HT .417000 1.00800 0 10715 BULK 3273 TIP3 OH2 OT -.834000 15.9994 0 10716 BULK 3273 TIP3 H1 HT .417000 1.00800 0 10717 BULK 3273 TIP3 H2 HT .417000 1.00800 0 10718 BULK 3274 TIP3 OH2 OT -.834000 15.9994 0 10719 BULK 3274 TIP3 H1 HT .417000 1.00800 0 10720 BULK 3274 TIP3 H2 HT .417000 1.00800 0 10721 BULK 3275 TIP3 OH2 OT -.834000 15.9994 0 10722 BULK 3275 TIP3 H1 HT .417000 1.00800 0 10723 BULK 3275 TIP3 H2 HT .417000 1.00800 0 10724 BULK 3276 TIP3 OH2 OT -.834000 15.9994 0 10725 BULK 3276 TIP3 H1 HT .417000 1.00800 0 10726 BULK 3276 TIP3 H2 HT .417000 1.00800 0 10727 BULK 3277 TIP3 OH2 OT -.834000 15.9994 0 10728 BULK 3277 TIP3 H1 HT .417000 1.00800 0 10729 BULK 3277 TIP3 H2 HT .417000 1.00800 0 10730 BULK 3278 TIP3 OH2 OT -.834000 15.9994 0 10731 BULK 3278 TIP3 H1 HT .417000 1.00800 0 10732 BULK 3278 TIP3 H2 HT .417000 1.00800 0 10733 BULK 3279 TIP3 OH2 OT -.834000 15.9994 0 10734 BULK 3279 TIP3 H1 HT .417000 1.00800 0 10735 BULK 3279 TIP3 H2 HT .417000 1.00800 0 10736 BULK 3280 TIP3 OH2 OT -.834000 15.9994 0 10737 BULK 3280 TIP3 H1 HT .417000 1.00800 0 10738 BULK 3280 TIP3 H2 HT .417000 1.00800 0 10739 BULK 3281 TIP3 OH2 OT -.834000 15.9994 0 10740 BULK 3281 TIP3 H1 HT .417000 1.00800 0 10741 BULK 3281 TIP3 H2 HT .417000 1.00800 0 10742 BULK 3282 TIP3 OH2 OT -.834000 15.9994 0 10743 BULK 3282 TIP3 H1 HT .417000 1.00800 0 10744 BULK 3282 TIP3 H2 HT .417000 1.00800 0 10745 BULK 3283 TIP3 OH2 OT -.834000 15.9994 0 10746 BULK 3283 TIP3 H1 HT .417000 1.00800 0 10747 BULK 3283 TIP3 H2 HT .417000 1.00800 0 10748 BULK 3284 TIP3 OH2 OT -.834000 15.9994 0 10749 BULK 3284 TIP3 H1 HT .417000 1.00800 0 10750 BULK 3284 TIP3 H2 HT .417000 1.00800 0 10751 BULK 3285 TIP3 OH2 OT -.834000 15.9994 0 10752 BULK 3285 TIP3 H1 HT .417000 1.00800 0 10753 BULK 3285 TIP3 H2 HT .417000 1.00800 0 10754 BULK 3286 TIP3 OH2 OT -.834000 15.9994 0 10755 BULK 3286 TIP3 H1 HT .417000 1.00800 0 10756 BULK 3286 TIP3 H2 HT .417000 1.00800 0 10757 BULK 3287 TIP3 OH2 OT -.834000 15.9994 0 10758 BULK 3287 TIP3 H1 HT .417000 1.00800 0 10759 BULK 3287 TIP3 H2 HT .417000 1.00800 0 10760 BULK 3288 TIP3 OH2 OT -.834000 15.9994 0 10761 BULK 3288 TIP3 H1 HT .417000 1.00800 0 10762 BULK 3288 TIP3 H2 HT .417000 1.00800 0 10763 BULK 3289 TIP3 OH2 OT -.834000 15.9994 0 10764 BULK 3289 TIP3 H1 HT .417000 1.00800 0 10765 BULK 3289 TIP3 H2 HT .417000 1.00800 0 10766 BULK 3290 TIP3 OH2 OT -.834000 15.9994 0 10767 BULK 3290 TIP3 H1 HT .417000 1.00800 0 10768 BULK 3290 TIP3 H2 HT .417000 1.00800 0 10769 BULK 3291 TIP3 OH2 OT -.834000 15.9994 0 10770 BULK 3291 TIP3 H1 HT .417000 1.00800 0 10771 BULK 3291 TIP3 H2 HT .417000 1.00800 0 10772 BULK 3292 TIP3 OH2 OT -.834000 15.9994 0 10773 BULK 3292 TIP3 H1 HT .417000 1.00800 0 10774 BULK 3292 TIP3 H2 HT .417000 1.00800 0 10775 BULK 3293 TIP3 OH2 OT -.834000 15.9994 0 10776 BULK 3293 TIP3 H1 HT .417000 1.00800 0 10777 BULK 3293 TIP3 H2 HT .417000 1.00800 0 10778 BULK 3294 TIP3 OH2 OT -.834000 15.9994 0 10779 BULK 3294 TIP3 H1 HT .417000 1.00800 0 10780 BULK 3294 TIP3 H2 HT .417000 1.00800 0 10781 BULK 3295 TIP3 OH2 OT -.834000 15.9994 0 10782 BULK 3295 TIP3 H1 HT .417000 1.00800 0 10783 BULK 3295 TIP3 H2 HT .417000 1.00800 0 10784 BULK 3296 TIP3 OH2 OT -.834000 15.9994 0 10785 BULK 3296 TIP3 H1 HT .417000 1.00800 0 10786 BULK 3296 TIP3 H2 HT .417000 1.00800 0 10787 BULK 3297 TIP3 OH2 OT -.834000 15.9994 0 10788 BULK 3297 TIP3 H1 HT .417000 1.00800 0 10789 BULK 3297 TIP3 H2 HT .417000 1.00800 0 10790 BULK 3298 TIP3 OH2 OT -.834000 15.9994 0 10791 BULK 3298 TIP3 H1 HT .417000 1.00800 0 10792 BULK 3298 TIP3 H2 HT .417000 1.00800 0 10793 BULK 3299 TIP3 OH2 OT -.834000 15.9994 0 10794 BULK 3299 TIP3 H1 HT .417000 1.00800 0 10795 BULK 3299 TIP3 H2 HT .417000 1.00800 0 10796 BULK 3300 TIP3 OH2 OT -.834000 15.9994 0 10797 BULK 3300 TIP3 H1 HT .417000 1.00800 0 10798 BULK 3300 TIP3 H2 HT .417000 1.00800 0 10799 BULK 3301 TIP3 OH2 OT -.834000 15.9994 0 10800 BULK 3301 TIP3 H1 HT .417000 1.00800 0 10801 BULK 3301 TIP3 H2 HT .417000 1.00800 0 10802 BULK 3302 TIP3 OH2 OT -.834000 15.9994 0 10803 BULK 3302 TIP3 H1 HT .417000 1.00800 0 10804 BULK 3302 TIP3 H2 HT .417000 1.00800 0 10805 BULK 3303 TIP3 OH2 OT -.834000 15.9994 0 10806 BULK 3303 TIP3 H1 HT .417000 1.00800 0 10807 BULK 3303 TIP3 H2 HT .417000 1.00800 0 10808 BULK 3304 TIP3 OH2 OT -.834000 15.9994 0 10809 BULK 3304 TIP3 H1 HT .417000 1.00800 0 10810 BULK 3304 TIP3 H2 HT .417000 1.00800 0 10811 BULK 3305 TIP3 OH2 OT -.834000 15.9994 0 10812 BULK 3305 TIP3 H1 HT .417000 1.00800 0 10813 BULK 3305 TIP3 H2 HT .417000 1.00800 0 10814 BULK 3306 TIP3 OH2 OT -.834000 15.9994 0 10815 BULK 3306 TIP3 H1 HT .417000 1.00800 0 10816 BULK 3306 TIP3 H2 HT .417000 1.00800 0 10817 BULK 3307 TIP3 OH2 OT -.834000 15.9994 0 10818 BULK 3307 TIP3 H1 HT .417000 1.00800 0 10819 BULK 3307 TIP3 H2 HT .417000 1.00800 0 10820 BULK 3308 TIP3 OH2 OT -.834000 15.9994 0 10821 BULK 3308 TIP3 H1 HT .417000 1.00800 0 10822 BULK 3308 TIP3 H2 HT .417000 1.00800 0 10823 BULK 3309 TIP3 OH2 OT -.834000 15.9994 0 10824 BULK 3309 TIP3 H1 HT .417000 1.00800 0 10825 BULK 3309 TIP3 H2 HT .417000 1.00800 0 10826 BULK 3310 TIP3 OH2 OT -.834000 15.9994 0 10827 BULK 3310 TIP3 H1 HT .417000 1.00800 0 10828 BULK 3310 TIP3 H2 HT .417000 1.00800 0 10829 BULK 3311 TIP3 OH2 OT -.834000 15.9994 0 10830 BULK 3311 TIP3 H1 HT .417000 1.00800 0 10831 BULK 3311 TIP3 H2 HT .417000 1.00800 0 10832 BULK 3312 TIP3 OH2 OT -.834000 15.9994 0 10833 BULK 3312 TIP3 H1 HT .417000 1.00800 0 10834 BULK 3312 TIP3 H2 HT .417000 1.00800 0 10835 BULK 3313 TIP3 OH2 OT -.834000 15.9994 0 10836 BULK 3313 TIP3 H1 HT .417000 1.00800 0 10837 BULK 3313 TIP3 H2 HT .417000 1.00800 0 10838 BULK 3314 TIP3 OH2 OT -.834000 15.9994 0 10839 BULK 3314 TIP3 H1 HT .417000 1.00800 0 10840 BULK 3314 TIP3 H2 HT .417000 1.00800 0 10841 BULK 3315 TIP3 OH2 OT -.834000 15.9994 0 10842 BULK 3315 TIP3 H1 HT .417000 1.00800 0 10843 BULK 3315 TIP3 H2 HT .417000 1.00800 0 10844 BULK 3316 TIP3 OH2 OT -.834000 15.9994 0 10845 BULK 3316 TIP3 H1 HT .417000 1.00800 0 10846 BULK 3316 TIP3 H2 HT .417000 1.00800 0 10847 BULK 3317 TIP3 OH2 OT -.834000 15.9994 0 10848 BULK 3317 TIP3 H1 HT .417000 1.00800 0 10849 BULK 3317 TIP3 H2 HT .417000 1.00800 0 10850 BULK 3318 TIP3 OH2 OT -.834000 15.9994 0 10851 BULK 3318 TIP3 H1 HT .417000 1.00800 0 10852 BULK 3318 TIP3 H2 HT .417000 1.00800 0 10853 BULK 3319 TIP3 OH2 OT -.834000 15.9994 0 10854 BULK 3319 TIP3 H1 HT .417000 1.00800 0 10855 BULK 3319 TIP3 H2 HT .417000 1.00800 0 10856 BULK 3320 TIP3 OH2 OT -.834000 15.9994 0 10857 BULK 3320 TIP3 H1 HT .417000 1.00800 0 10858 BULK 3320 TIP3 H2 HT .417000 1.00800 0 10859 BULK 3321 TIP3 OH2 OT -.834000 15.9994 0 10860 BULK 3321 TIP3 H1 HT .417000 1.00800 0 10861 BULK 3321 TIP3 H2 HT .417000 1.00800 0 10862 BULK 3322 TIP3 OH2 OT -.834000 15.9994 0 10863 BULK 3322 TIP3 H1 HT .417000 1.00800 0 10864 BULK 3322 TIP3 H2 HT .417000 1.00800 0 10865 BULK 3323 TIP3 OH2 OT -.834000 15.9994 0 10866 BULK 3323 TIP3 H1 HT .417000 1.00800 0 10867 BULK 3323 TIP3 H2 HT .417000 1.00800 0 10868 BULK 3324 TIP3 OH2 OT -.834000 15.9994 0 10869 BULK 3324 TIP3 H1 HT .417000 1.00800 0 10870 BULK 3324 TIP3 H2 HT .417000 1.00800 0 10871 BULK 3325 TIP3 OH2 OT -.834000 15.9994 0 10872 BULK 3325 TIP3 H1 HT .417000 1.00800 0 10873 BULK 3325 TIP3 H2 HT .417000 1.00800 0 10874 BULK 3326 TIP3 OH2 OT -.834000 15.9994 0 10875 BULK 3326 TIP3 H1 HT .417000 1.00800 0 10876 BULK 3326 TIP3 H2 HT .417000 1.00800 0 10877 BULK 3327 TIP3 OH2 OT -.834000 15.9994 0 10878 BULK 3327 TIP3 H1 HT .417000 1.00800 0 10879 BULK 3327 TIP3 H2 HT .417000 1.00800 0 10880 BULK 3328 TIP3 OH2 OT -.834000 15.9994 0 10881 BULK 3328 TIP3 H1 HT .417000 1.00800 0 10882 BULK 3328 TIP3 H2 HT .417000 1.00800 0 10883 BULK 3329 TIP3 OH2 OT -.834000 15.9994 0 10884 BULK 3329 TIP3 H1 HT .417000 1.00800 0 10885 BULK 3329 TIP3 H2 HT .417000 1.00800 0 10886 BULK 3330 TIP3 OH2 OT -.834000 15.9994 0 10887 BULK 3330 TIP3 H1 HT .417000 1.00800 0 10888 BULK 3330 TIP3 H2 HT .417000 1.00800 0 10889 BULK 3331 TIP3 OH2 OT -.834000 15.9994 0 10890 BULK 3331 TIP3 H1 HT .417000 1.00800 0 10891 BULK 3331 TIP3 H2 HT .417000 1.00800 0 10892 BULK 3332 TIP3 OH2 OT -.834000 15.9994 0 10893 BULK 3332 TIP3 H1 HT .417000 1.00800 0 10894 BULK 3332 TIP3 H2 HT .417000 1.00800 0 10895 BULK 3333 TIP3 OH2 OT -.834000 15.9994 0 10896 BULK 3333 TIP3 H1 HT .417000 1.00800 0 10897 BULK 3333 TIP3 H2 HT .417000 1.00800 0 10898 BULK 3334 TIP3 OH2 OT -.834000 15.9994 0 10899 BULK 3334 TIP3 H1 HT .417000 1.00800 0 10900 BULK 3334 TIP3 H2 HT .417000 1.00800 0 10901 BULK 3335 TIP3 OH2 OT -.834000 15.9994 0 10902 BULK 3335 TIP3 H1 HT .417000 1.00800 0 10903 BULK 3335 TIP3 H2 HT .417000 1.00800 0 10904 BULK 3336 TIP3 OH2 OT -.834000 15.9994 0 10905 BULK 3336 TIP3 H1 HT .417000 1.00800 0 10906 BULK 3336 TIP3 H2 HT .417000 1.00800 0 10907 BULK 3337 TIP3 OH2 OT -.834000 15.9994 0 10908 BULK 3337 TIP3 H1 HT .417000 1.00800 0 10909 BULK 3337 TIP3 H2 HT .417000 1.00800 0 10910 BULK 3338 TIP3 OH2 OT -.834000 15.9994 0 10911 BULK 3338 TIP3 H1 HT .417000 1.00800 0 10912 BULK 3338 TIP3 H2 HT .417000 1.00800 0 10913 BULK 3339 TIP3 OH2 OT -.834000 15.9994 0 10914 BULK 3339 TIP3 H1 HT .417000 1.00800 0 10915 BULK 3339 TIP3 H2 HT .417000 1.00800 0 10916 BULK 3340 TIP3 OH2 OT -.834000 15.9994 0 10917 BULK 3340 TIP3 H1 HT .417000 1.00800 0 10918 BULK 3340 TIP3 H2 HT .417000 1.00800 0 10919 BULK 3341 TIP3 OH2 OT -.834000 15.9994 0 10920 BULK 3341 TIP3 H1 HT .417000 1.00800 0 10921 BULK 3341 TIP3 H2 HT .417000 1.00800 0 10922 BULK 3342 TIP3 OH2 OT -.834000 15.9994 0 10923 BULK 3342 TIP3 H1 HT .417000 1.00800 0 10924 BULK 3342 TIP3 H2 HT .417000 1.00800 0 10925 BULK 3343 TIP3 OH2 OT -.834000 15.9994 0 10926 BULK 3343 TIP3 H1 HT .417000 1.00800 0 10927 BULK 3343 TIP3 H2 HT .417000 1.00800 0 10928 BULK 3344 TIP3 OH2 OT -.834000 15.9994 0 10929 BULK 3344 TIP3 H1 HT .417000 1.00800 0 10930 BULK 3344 TIP3 H2 HT .417000 1.00800 0 10931 BULK 3345 TIP3 OH2 OT -.834000 15.9994 0 10932 BULK 3345 TIP3 H1 HT .417000 1.00800 0 10933 BULK 3345 TIP3 H2 HT .417000 1.00800 0 10934 BULK 3346 TIP3 OH2 OT -.834000 15.9994 0 10935 BULK 3346 TIP3 H1 HT .417000 1.00800 0 10936 BULK 3346 TIP3 H2 HT .417000 1.00800 0 10937 BULK 3347 TIP3 OH2 OT -.834000 15.9994 0 10938 BULK 3347 TIP3 H1 HT .417000 1.00800 0 10939 BULK 3347 TIP3 H2 HT .417000 1.00800 0 10940 BULK 3348 TIP3 OH2 OT -.834000 15.9994 0 10941 BULK 3348 TIP3 H1 HT .417000 1.00800 0 10942 BULK 3348 TIP3 H2 HT .417000 1.00800 0 10943 BULK 3349 TIP3 OH2 OT -.834000 15.9994 0 10944 BULK 3349 TIP3 H1 HT .417000 1.00800 0 10945 BULK 3349 TIP3 H2 HT .417000 1.00800 0 10946 BULK 3350 TIP3 OH2 OT -.834000 15.9994 0 10947 BULK 3350 TIP3 H1 HT .417000 1.00800 0 10948 BULK 3350 TIP3 H2 HT .417000 1.00800 0 10949 BULK 3351 TIP3 OH2 OT -.834000 15.9994 0 10950 BULK 3351 TIP3 H1 HT .417000 1.00800 0 10951 BULK 3351 TIP3 H2 HT .417000 1.00800 0 10952 BULK 3352 TIP3 OH2 OT -.834000 15.9994 0 10953 BULK 3352 TIP3 H1 HT .417000 1.00800 0 10954 BULK 3352 TIP3 H2 HT .417000 1.00800 0 10955 BULK 3353 TIP3 OH2 OT -.834000 15.9994 0 10956 BULK 3353 TIP3 H1 HT .417000 1.00800 0 10957 BULK 3353 TIP3 H2 HT .417000 1.00800 0 10958 BULK 3354 TIP3 OH2 OT -.834000 15.9994 0 10959 BULK 3354 TIP3 H1 HT .417000 1.00800 0 10960 BULK 3354 TIP3 H2 HT .417000 1.00800 0 10961 BULK 3355 TIP3 OH2 OT -.834000 15.9994 0 10962 BULK 3355 TIP3 H1 HT .417000 1.00800 0 10963 BULK 3355 TIP3 H2 HT .417000 1.00800 0 10964 BULK 3356 TIP3 OH2 OT -.834000 15.9994 0 10965 BULK 3356 TIP3 H1 HT .417000 1.00800 0 10966 BULK 3356 TIP3 H2 HT .417000 1.00800 0 10967 BULK 3357 TIP3 OH2 OT -.834000 15.9994 0 10968 BULK 3357 TIP3 H1 HT .417000 1.00800 0 10969 BULK 3357 TIP3 H2 HT .417000 1.00800 0 10970 BULK 3358 TIP3 OH2 OT -.834000 15.9994 0 10971 BULK 3358 TIP3 H1 HT .417000 1.00800 0 10972 BULK 3358 TIP3 H2 HT .417000 1.00800 0 10973 BULK 3359 TIP3 OH2 OT -.834000 15.9994 0 10974 BULK 3359 TIP3 H1 HT .417000 1.00800 0 10975 BULK 3359 TIP3 H2 HT .417000 1.00800 0 10976 BULK 3360 TIP3 OH2 OT -.834000 15.9994 0 10977 BULK 3360 TIP3 H1 HT .417000 1.00800 0 10978 BULK 3360 TIP3 H2 HT .417000 1.00800 0 10979 BULK 3361 TIP3 OH2 OT -.834000 15.9994 0 10980 BULK 3361 TIP3 H1 HT .417000 1.00800 0 10981 BULK 3361 TIP3 H2 HT .417000 1.00800 0 10982 BULK 3362 TIP3 OH2 OT -.834000 15.9994 0 10983 BULK 3362 TIP3 H1 HT .417000 1.00800 0 10984 BULK 3362 TIP3 H2 HT .417000 1.00800 0 10985 BULK 3363 TIP3 OH2 OT -.834000 15.9994 0 10986 BULK 3363 TIP3 H1 HT .417000 1.00800 0 10987 BULK 3363 TIP3 H2 HT .417000 1.00800 0 10988 BULK 3364 TIP3 OH2 OT -.834000 15.9994 0 10989 BULK 3364 TIP3 H1 HT .417000 1.00800 0 10990 BULK 3364 TIP3 H2 HT .417000 1.00800 0 10991 BULK 3365 TIP3 OH2 OT -.834000 15.9994 0 10992 BULK 3365 TIP3 H1 HT .417000 1.00800 0 10993 BULK 3365 TIP3 H2 HT .417000 1.00800 0 10994 BULK 3366 TIP3 OH2 OT -.834000 15.9994 0 10995 BULK 3366 TIP3 H1 HT .417000 1.00800 0 10996 BULK 3366 TIP3 H2 HT .417000 1.00800 0 10997 BULK 3367 TIP3 OH2 OT -.834000 15.9994 0 10998 BULK 3367 TIP3 H1 HT .417000 1.00800 0 10999 BULK 3367 TIP3 H2 HT .417000 1.00800 0 11000 BULK 3368 TIP3 OH2 OT -.834000 15.9994 0 11001 BULK 3368 TIP3 H1 HT .417000 1.00800 0 11002 BULK 3368 TIP3 H2 HT .417000 1.00800 0 11003 BULK 3369 TIP3 OH2 OT -.834000 15.9994 0 11004 BULK 3369 TIP3 H1 HT .417000 1.00800 0 11005 BULK 3369 TIP3 H2 HT .417000 1.00800 0 11006 BULK 3370 TIP3 OH2 OT -.834000 15.9994 0 11007 BULK 3370 TIP3 H1 HT .417000 1.00800 0 11008 BULK 3370 TIP3 H2 HT .417000 1.00800 0 11009 BULK 3371 TIP3 OH2 OT -.834000 15.9994 0 11010 BULK 3371 TIP3 H1 HT .417000 1.00800 0 11011 BULK 3371 TIP3 H2 HT .417000 1.00800 0 11012 BULK 3372 TIP3 OH2 OT -.834000 15.9994 0 11013 BULK 3372 TIP3 H1 HT .417000 1.00800 0 11014 BULK 3372 TIP3 H2 HT .417000 1.00800 0 11015 BULK 3373 TIP3 OH2 OT -.834000 15.9994 0 11016 BULK 3373 TIP3 H1 HT .417000 1.00800 0 11017 BULK 3373 TIP3 H2 HT .417000 1.00800 0 11018 BULK 3374 TIP3 OH2 OT -.834000 15.9994 0 11019 BULK 3374 TIP3 H1 HT .417000 1.00800 0 11020 BULK 3374 TIP3 H2 HT .417000 1.00800 0 11021 BULK 3375 TIP3 OH2 OT -.834000 15.9994 0 11022 BULK 3375 TIP3 H1 HT .417000 1.00800 0 11023 BULK 3375 TIP3 H2 HT .417000 1.00800 0 11024 BULK 3376 TIP3 OH2 OT -.834000 15.9994 0 11025 BULK 3376 TIP3 H1 HT .417000 1.00800 0 11026 BULK 3376 TIP3 H2 HT .417000 1.00800 0 11027 BULK 3377 TIP3 OH2 OT -.834000 15.9994 0 11028 BULK 3377 TIP3 H1 HT .417000 1.00800 0 11029 BULK 3377 TIP3 H2 HT .417000 1.00800 0 11030 BULK 3378 TIP3 OH2 OT -.834000 15.9994 0 11031 BULK 3378 TIP3 H1 HT .417000 1.00800 0 11032 BULK 3378 TIP3 H2 HT .417000 1.00800 0 11033 BULK 3379 TIP3 OH2 OT -.834000 15.9994 0 11034 BULK 3379 TIP3 H1 HT .417000 1.00800 0 11035 BULK 3379 TIP3 H2 HT .417000 1.00800 0 11036 BULK 3380 TIP3 OH2 OT -.834000 15.9994 0 11037 BULK 3380 TIP3 H1 HT .417000 1.00800 0 11038 BULK 3380 TIP3 H2 HT .417000 1.00800 0 11039 BULK 3381 TIP3 OH2 OT -.834000 15.9994 0 11040 BULK 3381 TIP3 H1 HT .417000 1.00800 0 11041 BULK 3381 TIP3 H2 HT .417000 1.00800 0 11042 BULK 3382 TIP3 OH2 OT -.834000 15.9994 0 11043 BULK 3382 TIP3 H1 HT .417000 1.00800 0 11044 BULK 3382 TIP3 H2 HT .417000 1.00800 0 11045 BULK 3383 TIP3 OH2 OT -.834000 15.9994 0 11046 BULK 3383 TIP3 H1 HT .417000 1.00800 0 11047 BULK 3383 TIP3 H2 HT .417000 1.00800 0 11048 BULK 3384 TIP3 OH2 OT -.834000 15.9994 0 11049 BULK 3384 TIP3 H1 HT .417000 1.00800 0 11050 BULK 3384 TIP3 H2 HT .417000 1.00800 0 11051 BULK 3385 TIP3 OH2 OT -.834000 15.9994 0 11052 BULK 3385 TIP3 H1 HT .417000 1.00800 0 11053 BULK 3385 TIP3 H2 HT .417000 1.00800 0 11054 BULK 3386 TIP3 OH2 OT -.834000 15.9994 0 11055 BULK 3386 TIP3 H1 HT .417000 1.00800 0 11056 BULK 3386 TIP3 H2 HT .417000 1.00800 0 11057 BULK 3387 TIP3 OH2 OT -.834000 15.9994 0 11058 BULK 3387 TIP3 H1 HT .417000 1.00800 0 11059 BULK 3387 TIP3 H2 HT .417000 1.00800 0 11060 BULK 3388 TIP3 OH2 OT -.834000 15.9994 0 11061 BULK 3388 TIP3 H1 HT .417000 1.00800 0 11062 BULK 3388 TIP3 H2 HT .417000 1.00800 0 11063 BULK 3389 TIP3 OH2 OT -.834000 15.9994 0 11064 BULK 3389 TIP3 H1 HT .417000 1.00800 0 11065 BULK 3389 TIP3 H2 HT .417000 1.00800 0 11066 BULK 3390 TIP3 OH2 OT -.834000 15.9994 0 11067 BULK 3390 TIP3 H1 HT .417000 1.00800 0 11068 BULK 3390 TIP3 H2 HT .417000 1.00800 0 11069 BULK 3391 TIP3 OH2 OT -.834000 15.9994 0 11070 BULK 3391 TIP3 H1 HT .417000 1.00800 0 11071 BULK 3391 TIP3 H2 HT .417000 1.00800 0 11072 BULK 3392 TIP3 OH2 OT -.834000 15.9994 0 11073 BULK 3392 TIP3 H1 HT .417000 1.00800 0 11074 BULK 3392 TIP3 H2 HT .417000 1.00800 0 11075 BULK 3393 TIP3 OH2 OT -.834000 15.9994 0 11076 BULK 3393 TIP3 H1 HT .417000 1.00800 0 11077 BULK 3393 TIP3 H2 HT .417000 1.00800 0 11078 BULK 3394 TIP3 OH2 OT -.834000 15.9994 0 11079 BULK 3394 TIP3 H1 HT .417000 1.00800 0 11080 BULK 3394 TIP3 H2 HT .417000 1.00800 0 11081 BULK 3395 TIP3 OH2 OT -.834000 15.9994 0 11082 BULK 3395 TIP3 H1 HT .417000 1.00800 0 11083 BULK 3395 TIP3 H2 HT .417000 1.00800 0 11084 BULK 3396 TIP3 OH2 OT -.834000 15.9994 0 11085 BULK 3396 TIP3 H1 HT .417000 1.00800 0 11086 BULK 3396 TIP3 H2 HT .417000 1.00800 0 11087 BULK 3397 TIP3 OH2 OT -.834000 15.9994 0 11088 BULK 3397 TIP3 H1 HT .417000 1.00800 0 11089 BULK 3397 TIP3 H2 HT .417000 1.00800 0 11090 BULK 3398 TIP3 OH2 OT -.834000 15.9994 0 11091 BULK 3398 TIP3 H1 HT .417000 1.00800 0 11092 BULK 3398 TIP3 H2 HT .417000 1.00800 0 11093 BULK 3399 TIP3 OH2 OT -.834000 15.9994 0 11094 BULK 3399 TIP3 H1 HT .417000 1.00800 0 11095 BULK 3399 TIP3 H2 HT .417000 1.00800 0 11096 BULK 3400 TIP3 OH2 OT -.834000 15.9994 0 11097 BULK 3400 TIP3 H1 HT .417000 1.00800 0 11098 BULK 3400 TIP3 H2 HT .417000 1.00800 0 11099 BULK 3401 TIP3 OH2 OT -.834000 15.9994 0 11100 BULK 3401 TIP3 H1 HT .417000 1.00800 0 11101 BULK 3401 TIP3 H2 HT .417000 1.00800 0 11102 BULK 3402 TIP3 OH2 OT -.834000 15.9994 0 11103 BULK 3402 TIP3 H1 HT .417000 1.00800 0 11104 BULK 3402 TIP3 H2 HT .417000 1.00800 0 11105 BULK 3403 TIP3 OH2 OT -.834000 15.9994 0 11106 BULK 3403 TIP3 H1 HT .417000 1.00800 0 11107 BULK 3403 TIP3 H2 HT .417000 1.00800 0 11108 BULK 3404 TIP3 OH2 OT -.834000 15.9994 0 11109 BULK 3404 TIP3 H1 HT .417000 1.00800 0 11110 BULK 3404 TIP3 H2 HT .417000 1.00800 0 11111 BULK 3405 TIP3 OH2 OT -.834000 15.9994 0 11112 BULK 3405 TIP3 H1 HT .417000 1.00800 0 11113 BULK 3405 TIP3 H2 HT .417000 1.00800 0 11114 BULK 3406 TIP3 OH2 OT -.834000 15.9994 0 11115 BULK 3406 TIP3 H1 HT .417000 1.00800 0 11116 BULK 3406 TIP3 H2 HT .417000 1.00800 0 11117 BULK 3407 TIP3 OH2 OT -.834000 15.9994 0 11118 BULK 3407 TIP3 H1 HT .417000 1.00800 0 11119 BULK 3407 TIP3 H2 HT .417000 1.00800 0 11120 BULK 3408 TIP3 OH2 OT -.834000 15.9994 0 11121 BULK 3408 TIP3 H1 HT .417000 1.00800 0 11122 BULK 3408 TIP3 H2 HT .417000 1.00800 0 11123 BULK 3409 TIP3 OH2 OT -.834000 15.9994 0 11124 BULK 3409 TIP3 H1 HT .417000 1.00800 0 11125 BULK 3409 TIP3 H2 HT .417000 1.00800 0 11126 BULK 3410 TIP3 OH2 OT -.834000 15.9994 0 11127 BULK 3410 TIP3 H1 HT .417000 1.00800 0 11128 BULK 3410 TIP3 H2 HT .417000 1.00800 0 11129 BULK 3411 TIP3 OH2 OT -.834000 15.9994 0 11130 BULK 3411 TIP3 H1 HT .417000 1.00800 0 11131 BULK 3411 TIP3 H2 HT .417000 1.00800 0 11132 BULK 3412 TIP3 OH2 OT -.834000 15.9994 0 11133 BULK 3412 TIP3 H1 HT .417000 1.00800 0 11134 BULK 3412 TIP3 H2 HT .417000 1.00800 0 11135 BULK 3413 TIP3 OH2 OT -.834000 15.9994 0 11136 BULK 3413 TIP3 H1 HT .417000 1.00800 0 11137 BULK 3413 TIP3 H2 HT .417000 1.00800 0 11138 BULK 3414 TIP3 OH2 OT -.834000 15.9994 0 11139 BULK 3414 TIP3 H1 HT .417000 1.00800 0 11140 BULK 3414 TIP3 H2 HT .417000 1.00800 0 11141 BULK 3415 TIP3 OH2 OT -.834000 15.9994 0 11142 BULK 3415 TIP3 H1 HT .417000 1.00800 0 11143 BULK 3415 TIP3 H2 HT .417000 1.00800 0 11144 BULK 3416 TIP3 OH2 OT -.834000 15.9994 0 11145 BULK 3416 TIP3 H1 HT .417000 1.00800 0 11146 BULK 3416 TIP3 H2 HT .417000 1.00800 0 11147 BULK 3417 TIP3 OH2 OT -.834000 15.9994 0 11148 BULK 3417 TIP3 H1 HT .417000 1.00800 0 11149 BULK 3417 TIP3 H2 HT .417000 1.00800 0 11150 BULK 3418 TIP3 OH2 OT -.834000 15.9994 0 11151 BULK 3418 TIP3 H1 HT .417000 1.00800 0 11152 BULK 3418 TIP3 H2 HT .417000 1.00800 0 11153 BULK 3419 TIP3 OH2 OT -.834000 15.9994 0 11154 BULK 3419 TIP3 H1 HT .417000 1.00800 0 11155 BULK 3419 TIP3 H2 HT .417000 1.00800 0 11156 BULK 3420 TIP3 OH2 OT -.834000 15.9994 0 11157 BULK 3420 TIP3 H1 HT .417000 1.00800 0 11158 BULK 3420 TIP3 H2 HT .417000 1.00800 0 11159 BULK 3421 TIP3 OH2 OT -.834000 15.9994 0 11160 BULK 3421 TIP3 H1 HT .417000 1.00800 0 11161 BULK 3421 TIP3 H2 HT .417000 1.00800 0 11162 BULK 3422 TIP3 OH2 OT -.834000 15.9994 0 11163 BULK 3422 TIP3 H1 HT .417000 1.00800 0 11164 BULK 3422 TIP3 H2 HT .417000 1.00800 0 11165 BULK 3423 TIP3 OH2 OT -.834000 15.9994 0 11166 BULK 3423 TIP3 H1 HT .417000 1.00800 0 11167 BULK 3423 TIP3 H2 HT .417000 1.00800 0 11168 BULK 3424 TIP3 OH2 OT -.834000 15.9994 0 11169 BULK 3424 TIP3 H1 HT .417000 1.00800 0 11170 BULK 3424 TIP3 H2 HT .417000 1.00800 0 11171 BULK 3425 TIP3 OH2 OT -.834000 15.9994 0 11172 BULK 3425 TIP3 H1 HT .417000 1.00800 0 11173 BULK 3425 TIP3 H2 HT .417000 1.00800 0 11174 BULK 3426 TIP3 OH2 OT -.834000 15.9994 0 11175 BULK 3426 TIP3 H1 HT .417000 1.00800 0 11176 BULK 3426 TIP3 H2 HT .417000 1.00800 0 11177 BULK 3427 TIP3 OH2 OT -.834000 15.9994 0 11178 BULK 3427 TIP3 H1 HT .417000 1.00800 0 11179 BULK 3427 TIP3 H2 HT .417000 1.00800 0 11180 BULK 3428 TIP3 OH2 OT -.834000 15.9994 0 11181 BULK 3428 TIP3 H1 HT .417000 1.00800 0 11182 BULK 3428 TIP3 H2 HT .417000 1.00800 0 11183 BULK 3429 TIP3 OH2 OT -.834000 15.9994 0 11184 BULK 3429 TIP3 H1 HT .417000 1.00800 0 11185 BULK 3429 TIP3 H2 HT .417000 1.00800 0 11186 BULK 3430 TIP3 OH2 OT -.834000 15.9994 0 11187 BULK 3430 TIP3 H1 HT .417000 1.00800 0 11188 BULK 3430 TIP3 H2 HT .417000 1.00800 0 11189 BULK 3431 TIP3 OH2 OT -.834000 15.9994 0 11190 BULK 3431 TIP3 H1 HT .417000 1.00800 0 11191 BULK 3431 TIP3 H2 HT .417000 1.00800 0 11192 BULK 3432 TIP3 OH2 OT -.834000 15.9994 0 11193 BULK 3432 TIP3 H1 HT .417000 1.00800 0 11194 BULK 3432 TIP3 H2 HT .417000 1.00800 0 11195 BULK 3433 TIP3 OH2 OT -.834000 15.9994 0 11196 BULK 3433 TIP3 H1 HT .417000 1.00800 0 11197 BULK 3433 TIP3 H2 HT .417000 1.00800 0 11198 BULK 3434 TIP3 OH2 OT -.834000 15.9994 0 11199 BULK 3434 TIP3 H1 HT .417000 1.00800 0 11200 BULK 3434 TIP3 H2 HT .417000 1.00800 0 11201 BULK 3435 TIP3 OH2 OT -.834000 15.9994 0 11202 BULK 3435 TIP3 H1 HT .417000 1.00800 0 11203 BULK 3435 TIP3 H2 HT .417000 1.00800 0 11204 BULK 3436 TIP3 OH2 OT -.834000 15.9994 0 11205 BULK 3436 TIP3 H1 HT .417000 1.00800 0 11206 BULK 3436 TIP3 H2 HT .417000 1.00800 0 11207 BULK 3437 TIP3 OH2 OT -.834000 15.9994 0 11208 BULK 3437 TIP3 H1 HT .417000 1.00800 0 11209 BULK 3437 TIP3 H2 HT .417000 1.00800 0 11210 BULK 3438 TIP3 OH2 OT -.834000 15.9994 0 11211 BULK 3438 TIP3 H1 HT .417000 1.00800 0 11212 BULK 3438 TIP3 H2 HT .417000 1.00800 0 11213 BULK 3439 TIP3 OH2 OT -.834000 15.9994 0 11214 BULK 3439 TIP3 H1 HT .417000 1.00800 0 11215 BULK 3439 TIP3 H2 HT .417000 1.00800 0 11216 BULK 3440 TIP3 OH2 OT -.834000 15.9994 0 11217 BULK 3440 TIP3 H1 HT .417000 1.00800 0 11218 BULK 3440 TIP3 H2 HT .417000 1.00800 0 11219 BULK 3441 TIP3 OH2 OT -.834000 15.9994 0 11220 BULK 3441 TIP3 H1 HT .417000 1.00800 0 11221 BULK 3441 TIP3 H2 HT .417000 1.00800 0 11222 BULK 3442 TIP3 OH2 OT -.834000 15.9994 0 11223 BULK 3442 TIP3 H1 HT .417000 1.00800 0 11224 BULK 3442 TIP3 H2 HT .417000 1.00800 0 11225 BULK 3443 TIP3 OH2 OT -.834000 15.9994 0 11226 BULK 3443 TIP3 H1 HT .417000 1.00800 0 11227 BULK 3443 TIP3 H2 HT .417000 1.00800 0 11228 BULK 3444 TIP3 OH2 OT -.834000 15.9994 0 11229 BULK 3444 TIP3 H1 HT .417000 1.00800 0 11230 BULK 3444 TIP3 H2 HT .417000 1.00800 0 11231 BULK 3445 TIP3 OH2 OT -.834000 15.9994 0 11232 BULK 3445 TIP3 H1 HT .417000 1.00800 0 11233 BULK 3445 TIP3 H2 HT .417000 1.00800 0 11234 BULK 3446 TIP3 OH2 OT -.834000 15.9994 0 11235 BULK 3446 TIP3 H1 HT .417000 1.00800 0 11236 BULK 3446 TIP3 H2 HT .417000 1.00800 0 11237 BULK 3447 TIP3 OH2 OT -.834000 15.9994 0 11238 BULK 3447 TIP3 H1 HT .417000 1.00800 0 11239 BULK 3447 TIP3 H2 HT .417000 1.00800 0 11240 BULK 3448 TIP3 OH2 OT -.834000 15.9994 0 11241 BULK 3448 TIP3 H1 HT .417000 1.00800 0 11242 BULK 3448 TIP3 H2 HT .417000 1.00800 0 11243 BULK 3449 TIP3 OH2 OT -.834000 15.9994 0 11244 BULK 3449 TIP3 H1 HT .417000 1.00800 0 11245 BULK 3449 TIP3 H2 HT .417000 1.00800 0 11246 BULK 3450 TIP3 OH2 OT -.834000 15.9994 0 11247 BULK 3450 TIP3 H1 HT .417000 1.00800 0 11248 BULK 3450 TIP3 H2 HT .417000 1.00800 0 11249 BULK 3451 TIP3 OH2 OT -.834000 15.9994 0 11250 BULK 3451 TIP3 H1 HT .417000 1.00800 0 11251 BULK 3451 TIP3 H2 HT .417000 1.00800 0 11252 BULK 3452 TIP3 OH2 OT -.834000 15.9994 0 11253 BULK 3452 TIP3 H1 HT .417000 1.00800 0 11254 BULK 3452 TIP3 H2 HT .417000 1.00800 0 11255 BULK 3453 TIP3 OH2 OT -.834000 15.9994 0 11256 BULK 3453 TIP3 H1 HT .417000 1.00800 0 11257 BULK 3453 TIP3 H2 HT .417000 1.00800 0 11258 BULK 3454 TIP3 OH2 OT -.834000 15.9994 0 11259 BULK 3454 TIP3 H1 HT .417000 1.00800 0 11260 BULK 3454 TIP3 H2 HT .417000 1.00800 0 11261 BULK 3455 TIP3 OH2 OT -.834000 15.9994 0 11262 BULK 3455 TIP3 H1 HT .417000 1.00800 0 11263 BULK 3455 TIP3 H2 HT .417000 1.00800 0 11264 BULK 3456 TIP3 OH2 OT -.834000 15.9994 0 11265 BULK 3456 TIP3 H1 HT .417000 1.00800 0 11266 BULK 3456 TIP3 H2 HT .417000 1.00800 0 11267 BULK 3457 TIP3 OH2 OT -.834000 15.9994 0 11268 BULK 3457 TIP3 H1 HT .417000 1.00800 0 11269 BULK 3457 TIP3 H2 HT .417000 1.00800 0 11270 BULK 3458 TIP3 OH2 OT -.834000 15.9994 0 11271 BULK 3458 TIP3 H1 HT .417000 1.00800 0 11272 BULK 3458 TIP3 H2 HT .417000 1.00800 0 11273 BULK 3459 TIP3 OH2 OT -.834000 15.9994 0 11274 BULK 3459 TIP3 H1 HT .417000 1.00800 0 11275 BULK 3459 TIP3 H2 HT .417000 1.00800 0 11276 BULK 3460 TIP3 OH2 OT -.834000 15.9994 0 11277 BULK 3460 TIP3 H1 HT .417000 1.00800 0 11278 BULK 3460 TIP3 H2 HT .417000 1.00800 0 11279 BULK 3461 TIP3 OH2 OT -.834000 15.9994 0 11280 BULK 3461 TIP3 H1 HT .417000 1.00800 0 11281 BULK 3461 TIP3 H2 HT .417000 1.00800 0 11282 BULK 3462 TIP3 OH2 OT -.834000 15.9994 0 11283 BULK 3462 TIP3 H1 HT .417000 1.00800 0 11284 BULK 3462 TIP3 H2 HT .417000 1.00800 0 11285 BULK 3463 TIP3 OH2 OT -.834000 15.9994 0 11286 BULK 3463 TIP3 H1 HT .417000 1.00800 0 11287 BULK 3463 TIP3 H2 HT .417000 1.00800 0 11288 BULK 3464 TIP3 OH2 OT -.834000 15.9994 0 11289 BULK 3464 TIP3 H1 HT .417000 1.00800 0 11290 BULK 3464 TIP3 H2 HT .417000 1.00800 0 11291 BULK 3465 TIP3 OH2 OT -.834000 15.9994 0 11292 BULK 3465 TIP3 H1 HT .417000 1.00800 0 11293 BULK 3465 TIP3 H2 HT .417000 1.00800 0 11294 BULK 3466 TIP3 OH2 OT -.834000 15.9994 0 11295 BULK 3466 TIP3 H1 HT .417000 1.00800 0 11296 BULK 3466 TIP3 H2 HT .417000 1.00800 0 11297 BULK 3467 TIP3 OH2 OT -.834000 15.9994 0 11298 BULK 3467 TIP3 H1 HT .417000 1.00800 0 11299 BULK 3467 TIP3 H2 HT .417000 1.00800 0 11300 BULK 3468 TIP3 OH2 OT -.834000 15.9994 0 11301 BULK 3468 TIP3 H1 HT .417000 1.00800 0 11302 BULK 3468 TIP3 H2 HT .417000 1.00800 0 11303 BULK 3469 TIP3 OH2 OT -.834000 15.9994 0 11304 BULK 3469 TIP3 H1 HT .417000 1.00800 0 11305 BULK 3469 TIP3 H2 HT .417000 1.00800 0 11306 BULK 3470 TIP3 OH2 OT -.834000 15.9994 0 11307 BULK 3470 TIP3 H1 HT .417000 1.00800 0 11308 BULK 3470 TIP3 H2 HT .417000 1.00800 0 11309 BULK 3471 TIP3 OH2 OT -.834000 15.9994 0 11310 BULK 3471 TIP3 H1 HT .417000 1.00800 0 11311 BULK 3471 TIP3 H2 HT .417000 1.00800 0 11312 BULK 3472 TIP3 OH2 OT -.834000 15.9994 0 11313 BULK 3472 TIP3 H1 HT .417000 1.00800 0 11314 BULK 3472 TIP3 H2 HT .417000 1.00800 0 11315 BULK 3473 TIP3 OH2 OT -.834000 15.9994 0 11316 BULK 3473 TIP3 H1 HT .417000 1.00800 0 11317 BULK 3473 TIP3 H2 HT .417000 1.00800 0 11318 BULK 3474 TIP3 OH2 OT -.834000 15.9994 0 11319 BULK 3474 TIP3 H1 HT .417000 1.00800 0 11320 BULK 3474 TIP3 H2 HT .417000 1.00800 0 11321 BULK 3475 TIP3 OH2 OT -.834000 15.9994 0 11322 BULK 3475 TIP3 H1 HT .417000 1.00800 0 11323 BULK 3475 TIP3 H2 HT .417000 1.00800 0 11324 BULK 3476 TIP3 OH2 OT -.834000 15.9994 0 11325 BULK 3476 TIP3 H1 HT .417000 1.00800 0 11326 BULK 3476 TIP3 H2 HT .417000 1.00800 0 11327 BULK 3477 TIP3 OH2 OT -.834000 15.9994 0 11328 BULK 3477 TIP3 H1 HT .417000 1.00800 0 11329 BULK 3477 TIP3 H2 HT .417000 1.00800 0 11330 BULK 3478 TIP3 OH2 OT -.834000 15.9994 0 11331 BULK 3478 TIP3 H1 HT .417000 1.00800 0 11332 BULK 3478 TIP3 H2 HT .417000 1.00800 0 11333 BULK 3479 TIP3 OH2 OT -.834000 15.9994 0 11334 BULK 3479 TIP3 H1 HT .417000 1.00800 0 11335 BULK 3479 TIP3 H2 HT .417000 1.00800 0 11336 BULK 3480 TIP3 OH2 OT -.834000 15.9994 0 11337 BULK 3480 TIP3 H1 HT .417000 1.00800 0 11338 BULK 3480 TIP3 H2 HT .417000 1.00800 0 11339 BULK 3481 TIP3 OH2 OT -.834000 15.9994 0 11340 BULK 3481 TIP3 H1 HT .417000 1.00800 0 11341 BULK 3481 TIP3 H2 HT .417000 1.00800 0 11342 BULK 3482 TIP3 OH2 OT -.834000 15.9994 0 11343 BULK 3482 TIP3 H1 HT .417000 1.00800 0 11344 BULK 3482 TIP3 H2 HT .417000 1.00800 0 11345 BULK 3483 TIP3 OH2 OT -.834000 15.9994 0 11346 BULK 3483 TIP3 H1 HT .417000 1.00800 0 11347 BULK 3483 TIP3 H2 HT .417000 1.00800 0 11348 BULK 3484 TIP3 OH2 OT -.834000 15.9994 0 11349 BULK 3484 TIP3 H1 HT .417000 1.00800 0 11350 BULK 3484 TIP3 H2 HT .417000 1.00800 0 11351 BULK 3485 TIP3 OH2 OT -.834000 15.9994 0 11352 BULK 3485 TIP3 H1 HT .417000 1.00800 0 11353 BULK 3485 TIP3 H2 HT .417000 1.00800 0 11354 BULK 3486 TIP3 OH2 OT -.834000 15.9994 0 11355 BULK 3486 TIP3 H1 HT .417000 1.00800 0 11356 BULK 3486 TIP3 H2 HT .417000 1.00800 0 11357 BULK 3487 TIP3 OH2 OT -.834000 15.9994 0 11358 BULK 3487 TIP3 H1 HT .417000 1.00800 0 11359 BULK 3487 TIP3 H2 HT .417000 1.00800 0 11360 BULK 3488 TIP3 OH2 OT -.834000 15.9994 0 11361 BULK 3488 TIP3 H1 HT .417000 1.00800 0 11362 BULK 3488 TIP3 H2 HT .417000 1.00800 0 11363 BULK 3489 TIP3 OH2 OT -.834000 15.9994 0 11364 BULK 3489 TIP3 H1 HT .417000 1.00800 0 11365 BULK 3489 TIP3 H2 HT .417000 1.00800 0 11366 BULK 3490 TIP3 OH2 OT -.834000 15.9994 0 11367 BULK 3490 TIP3 H1 HT .417000 1.00800 0 11368 BULK 3490 TIP3 H2 HT .417000 1.00800 0 11369 BULK 3491 TIP3 OH2 OT -.834000 15.9994 0 11370 BULK 3491 TIP3 H1 HT .417000 1.00800 0 11371 BULK 3491 TIP3 H2 HT .417000 1.00800 0 11372 BULK 3492 TIP3 OH2 OT -.834000 15.9994 0 11373 BULK 3492 TIP3 H1 HT .417000 1.00800 0 11374 BULK 3492 TIP3 H2 HT .417000 1.00800 0 11375 BULK 3493 TIP3 OH2 OT -.834000 15.9994 0 11376 BULK 3493 TIP3 H1 HT .417000 1.00800 0 11377 BULK 3493 TIP3 H2 HT .417000 1.00800 0 11378 BULK 3494 TIP3 OH2 OT -.834000 15.9994 0 11379 BULK 3494 TIP3 H1 HT .417000 1.00800 0 11380 BULK 3494 TIP3 H2 HT .417000 1.00800 0 11381 BULK 3495 TIP3 OH2 OT -.834000 15.9994 0 11382 BULK 3495 TIP3 H1 HT .417000 1.00800 0 11383 BULK 3495 TIP3 H2 HT .417000 1.00800 0 11384 BULK 3496 TIP3 OH2 OT -.834000 15.9994 0 11385 BULK 3496 TIP3 H1 HT .417000 1.00800 0 11386 BULK 3496 TIP3 H2 HT .417000 1.00800 0 11387 BULK 3497 TIP3 OH2 OT -.834000 15.9994 0 11388 BULK 3497 TIP3 H1 HT .417000 1.00800 0 11389 BULK 3497 TIP3 H2 HT .417000 1.00800 0 11390 BULK 3498 TIP3 OH2 OT -.834000 15.9994 0 11391 BULK 3498 TIP3 H1 HT .417000 1.00800 0 11392 BULK 3498 TIP3 H2 HT .417000 1.00800 0 11393 BULK 3499 TIP3 OH2 OT -.834000 15.9994 0 11394 BULK 3499 TIP3 H1 HT .417000 1.00800 0 11395 BULK 3499 TIP3 H2 HT .417000 1.00800 0 11396 BULK 3500 TIP3 OH2 OT -.834000 15.9994 0 11397 BULK 3500 TIP3 H1 HT .417000 1.00800 0 11398 BULK 3500 TIP3 H2 HT .417000 1.00800 0 11399 BULK 3501 TIP3 OH2 OT -.834000 15.9994 0 11400 BULK 3501 TIP3 H1 HT .417000 1.00800 0 11401 BULK 3501 TIP3 H2 HT .417000 1.00800 0 11402 BULK 3502 TIP3 OH2 OT -.834000 15.9994 0 11403 BULK 3502 TIP3 H1 HT .417000 1.00800 0 11404 BULK 3502 TIP3 H2 HT .417000 1.00800 0 11405 BULK 3503 TIP3 OH2 OT -.834000 15.9994 0 11406 BULK 3503 TIP3 H1 HT .417000 1.00800 0 11407 BULK 3503 TIP3 H2 HT .417000 1.00800 0 11408 BULK 3504 TIP3 OH2 OT -.834000 15.9994 0 11409 BULK 3504 TIP3 H1 HT .417000 1.00800 0 11410 BULK 3504 TIP3 H2 HT .417000 1.00800 0 11411 BULK 3505 TIP3 OH2 OT -.834000 15.9994 0 11412 BULK 3505 TIP3 H1 HT .417000 1.00800 0 11413 BULK 3505 TIP3 H2 HT .417000 1.00800 0 11414 BULK 3506 TIP3 OH2 OT -.834000 15.9994 0 11415 BULK 3506 TIP3 H1 HT .417000 1.00800 0 11416 BULK 3506 TIP3 H2 HT .417000 1.00800 0 11417 BULK 3507 TIP3 OH2 OT -.834000 15.9994 0 11418 BULK 3507 TIP3 H1 HT .417000 1.00800 0 11419 BULK 3507 TIP3 H2 HT .417000 1.00800 0 11420 BULK 3508 TIP3 OH2 OT -.834000 15.9994 0 11421 BULK 3508 TIP3 H1 HT .417000 1.00800 0 11422 BULK 3508 TIP3 H2 HT .417000 1.00800 0 11423 BULK 3509 TIP3 OH2 OT -.834000 15.9994 0 11424 BULK 3509 TIP3 H1 HT .417000 1.00800 0 11425 BULK 3509 TIP3 H2 HT .417000 1.00800 0 11426 BULK 3510 TIP3 OH2 OT -.834000 15.9994 0 11427 BULK 3510 TIP3 H1 HT .417000 1.00800 0 11428 BULK 3510 TIP3 H2 HT .417000 1.00800 0 11429 BULK 3511 TIP3 OH2 OT -.834000 15.9994 0 11430 BULK 3511 TIP3 H1 HT .417000 1.00800 0 11431 BULK 3511 TIP3 H2 HT .417000 1.00800 0 11432 BULK 3512 TIP3 OH2 OT -.834000 15.9994 0 11433 BULK 3512 TIP3 H1 HT .417000 1.00800 0 11434 BULK 3512 TIP3 H2 HT .417000 1.00800 0 11435 BULK 3513 TIP3 OH2 OT -.834000 15.9994 0 11436 BULK 3513 TIP3 H1 HT .417000 1.00800 0 11437 BULK 3513 TIP3 H2 HT .417000 1.00800 0 11438 BULK 3514 TIP3 OH2 OT -.834000 15.9994 0 11439 BULK 3514 TIP3 H1 HT .417000 1.00800 0 11440 BULK 3514 TIP3 H2 HT .417000 1.00800 0 11441 BULK 3515 TIP3 OH2 OT -.834000 15.9994 0 11442 BULK 3515 TIP3 H1 HT .417000 1.00800 0 11443 BULK 3515 TIP3 H2 HT .417000 1.00800 0 11444 BULK 3516 TIP3 OH2 OT -.834000 15.9994 0 11445 BULK 3516 TIP3 H1 HT .417000 1.00800 0 11446 BULK 3516 TIP3 H2 HT .417000 1.00800 0 11447 BULK 3517 TIP3 OH2 OT -.834000 15.9994 0 11448 BULK 3517 TIP3 H1 HT .417000 1.00800 0 11449 BULK 3517 TIP3 H2 HT .417000 1.00800 0 11450 BULK 3518 TIP3 OH2 OT -.834000 15.9994 0 11451 BULK 3518 TIP3 H1 HT .417000 1.00800 0 11452 BULK 3518 TIP3 H2 HT .417000 1.00800 0 11453 BULK 3519 TIP3 OH2 OT -.834000 15.9994 0 11454 BULK 3519 TIP3 H1 HT .417000 1.00800 0 11455 BULK 3519 TIP3 H2 HT .417000 1.00800 0 11456 BULK 3520 TIP3 OH2 OT -.834000 15.9994 0 11457 BULK 3520 TIP3 H1 HT .417000 1.00800 0 11458 BULK 3520 TIP3 H2 HT .417000 1.00800 0 11459 BULK 3521 TIP3 OH2 OT -.834000 15.9994 0 11460 BULK 3521 TIP3 H1 HT .417000 1.00800 0 11461 BULK 3521 TIP3 H2 HT .417000 1.00800 0 11462 BULK 3522 TIP3 OH2 OT -.834000 15.9994 0 11463 BULK 3522 TIP3 H1 HT .417000 1.00800 0 11464 BULK 3522 TIP3 H2 HT .417000 1.00800 0 11465 BULK 3523 TIP3 OH2 OT -.834000 15.9994 0 11466 BULK 3523 TIP3 H1 HT .417000 1.00800 0 11467 BULK 3523 TIP3 H2 HT .417000 1.00800 0 11468 BULK 3524 TIP3 OH2 OT -.834000 15.9994 0 11469 BULK 3524 TIP3 H1 HT .417000 1.00800 0 11470 BULK 3524 TIP3 H2 HT .417000 1.00800 0 11471 BULK 3525 TIP3 OH2 OT -.834000 15.9994 0 11472 BULK 3525 TIP3 H1 HT .417000 1.00800 0 11473 BULK 3525 TIP3 H2 HT .417000 1.00800 0 11474 BULK 3526 TIP3 OH2 OT -.834000 15.9994 0 11475 BULK 3526 TIP3 H1 HT .417000 1.00800 0 11476 BULK 3526 TIP3 H2 HT .417000 1.00800 0 11477 BULK 3527 TIP3 OH2 OT -.834000 15.9994 0 11478 BULK 3527 TIP3 H1 HT .417000 1.00800 0 11479 BULK 3527 TIP3 H2 HT .417000 1.00800 0 11480 BULK 3528 TIP3 OH2 OT -.834000 15.9994 0 11481 BULK 3528 TIP3 H1 HT .417000 1.00800 0 11482 BULK 3528 TIP3 H2 HT .417000 1.00800 0 11483 BULK 3529 TIP3 OH2 OT -.834000 15.9994 0 11484 BULK 3529 TIP3 H1 HT .417000 1.00800 0 11485 BULK 3529 TIP3 H2 HT .417000 1.00800 0 11486 BULK 3530 TIP3 OH2 OT -.834000 15.9994 0 11487 BULK 3530 TIP3 H1 HT .417000 1.00800 0 11488 BULK 3530 TIP3 H2 HT .417000 1.00800 0 11489 BULK 3531 TIP3 OH2 OT -.834000 15.9994 0 11490 BULK 3531 TIP3 H1 HT .417000 1.00800 0 11491 BULK 3531 TIP3 H2 HT .417000 1.00800 0 11492 BULK 3532 TIP3 OH2 OT -.834000 15.9994 0 11493 BULK 3532 TIP3 H1 HT .417000 1.00800 0 11494 BULK 3532 TIP3 H2 HT .417000 1.00800 0 11495 BULK 3533 TIP3 OH2 OT -.834000 15.9994 0 11496 BULK 3533 TIP3 H1 HT .417000 1.00800 0 11497 BULK 3533 TIP3 H2 HT .417000 1.00800 0 11498 BULK 3534 TIP3 OH2 OT -.834000 15.9994 0 11499 BULK 3534 TIP3 H1 HT .417000 1.00800 0 11500 BULK 3534 TIP3 H2 HT .417000 1.00800 0 11501 BULK 3535 TIP3 OH2 OT -.834000 15.9994 0 11502 BULK 3535 TIP3 H1 HT .417000 1.00800 0 11503 BULK 3535 TIP3 H2 HT .417000 1.00800 0 11504 BULK 3536 TIP3 OH2 OT -.834000 15.9994 0 11505 BULK 3536 TIP3 H1 HT .417000 1.00800 0 11506 BULK 3536 TIP3 H2 HT .417000 1.00800 0 11507 BULK 3537 TIP3 OH2 OT -.834000 15.9994 0 11508 BULK 3537 TIP3 H1 HT .417000 1.00800 0 11509 BULK 3537 TIP3 H2 HT .417000 1.00800 0 11510 BULK 3538 TIP3 OH2 OT -.834000 15.9994 0 11511 BULK 3538 TIP3 H1 HT .417000 1.00800 0 11512 BULK 3538 TIP3 H2 HT .417000 1.00800 0 11513 BULK 3539 TIP3 OH2 OT -.834000 15.9994 0 11514 BULK 3539 TIP3 H1 HT .417000 1.00800 0 11515 BULK 3539 TIP3 H2 HT .417000 1.00800 0 11516 BULK 3540 TIP3 OH2 OT -.834000 15.9994 0 11517 BULK 3540 TIP3 H1 HT .417000 1.00800 0 11518 BULK 3540 TIP3 H2 HT .417000 1.00800 0 11519 BULK 3541 TIP3 OH2 OT -.834000 15.9994 0 11520 BULK 3541 TIP3 H1 HT .417000 1.00800 0 11521 BULK 3541 TIP3 H2 HT .417000 1.00800 0 11522 BULK 3542 TIP3 OH2 OT -.834000 15.9994 0 11523 BULK 3542 TIP3 H1 HT .417000 1.00800 0 11524 BULK 3542 TIP3 H2 HT .417000 1.00800 0 11525 BULK 3543 TIP3 OH2 OT -.834000 15.9994 0 11526 BULK 3543 TIP3 H1 HT .417000 1.00800 0 11527 BULK 3543 TIP3 H2 HT .417000 1.00800 0 11528 BULK 3544 TIP3 OH2 OT -.834000 15.9994 0 11529 BULK 3544 TIP3 H1 HT .417000 1.00800 0 11530 BULK 3544 TIP3 H2 HT .417000 1.00800 0 11531 BULK 3545 TIP3 OH2 OT -.834000 15.9994 0 11532 BULK 3545 TIP3 H1 HT .417000 1.00800 0 11533 BULK 3545 TIP3 H2 HT .417000 1.00800 0 11534 BULK 3546 TIP3 OH2 OT -.834000 15.9994 0 11535 BULK 3546 TIP3 H1 HT .417000 1.00800 0 11536 BULK 3546 TIP3 H2 HT .417000 1.00800 0 11537 BULK 3547 TIP3 OH2 OT -.834000 15.9994 0 11538 BULK 3547 TIP3 H1 HT .417000 1.00800 0 11539 BULK 3547 TIP3 H2 HT .417000 1.00800 0 11540 BULK 3548 TIP3 OH2 OT -.834000 15.9994 0 11541 BULK 3548 TIP3 H1 HT .417000 1.00800 0 11542 BULK 3548 TIP3 H2 HT .417000 1.00800 0 11543 BULK 3549 TIP3 OH2 OT -.834000 15.9994 0 11544 BULK 3549 TIP3 H1 HT .417000 1.00800 0 11545 BULK 3549 TIP3 H2 HT .417000 1.00800 0 11546 BULK 3550 TIP3 OH2 OT -.834000 15.9994 0 11547 BULK 3550 TIP3 H1 HT .417000 1.00800 0 11548 BULK 3550 TIP3 H2 HT .417000 1.00800 0 11549 BULK 3551 TIP3 OH2 OT -.834000 15.9994 0 11550 BULK 3551 TIP3 H1 HT .417000 1.00800 0 11551 BULK 3551 TIP3 H2 HT .417000 1.00800 0 11552 BULK 3552 TIP3 OH2 OT -.834000 15.9994 0 11553 BULK 3552 TIP3 H1 HT .417000 1.00800 0 11554 BULK 3552 TIP3 H2 HT .417000 1.00800 0 11555 BULK 3553 TIP3 OH2 OT -.834000 15.9994 0 11556 BULK 3553 TIP3 H1 HT .417000 1.00800 0 11557 BULK 3553 TIP3 H2 HT .417000 1.00800 0 11558 BULK 3554 TIP3 OH2 OT -.834000 15.9994 0 11559 BULK 3554 TIP3 H1 HT .417000 1.00800 0 11560 BULK 3554 TIP3 H2 HT .417000 1.00800 0 11561 BULK 3555 TIP3 OH2 OT -.834000 15.9994 0 11562 BULK 3555 TIP3 H1 HT .417000 1.00800 0 11563 BULK 3555 TIP3 H2 HT .417000 1.00800 0 11564 BULK 3556 TIP3 OH2 OT -.834000 15.9994 0 11565 BULK 3556 TIP3 H1 HT .417000 1.00800 0 11566 BULK 3556 TIP3 H2 HT .417000 1.00800 0 11567 BULK 3557 TIP3 OH2 OT -.834000 15.9994 0 11568 BULK 3557 TIP3 H1 HT .417000 1.00800 0 11569 BULK 3557 TIP3 H2 HT .417000 1.00800 0 11570 BULK 3558 TIP3 OH2 OT -.834000 15.9994 0 11571 BULK 3558 TIP3 H1 HT .417000 1.00800 0 11572 BULK 3558 TIP3 H2 HT .417000 1.00800 0 11573 BULK 3559 TIP3 OH2 OT -.834000 15.9994 0 11574 BULK 3559 TIP3 H1 HT .417000 1.00800 0 11575 BULK 3559 TIP3 H2 HT .417000 1.00800 0 11576 BULK 3560 TIP3 OH2 OT -.834000 15.9994 0 11577 BULK 3560 TIP3 H1 HT .417000 1.00800 0 11578 BULK 3560 TIP3 H2 HT .417000 1.00800 0 11579 BULK 3561 TIP3 OH2 OT -.834000 15.9994 0 11580 BULK 3561 TIP3 H1 HT .417000 1.00800 0 11581 BULK 3561 TIP3 H2 HT .417000 1.00800 0 11582 BULK 3562 TIP3 OH2 OT -.834000 15.9994 0 11583 BULK 3562 TIP3 H1 HT .417000 1.00800 0 11584 BULK 3562 TIP3 H2 HT .417000 1.00800 0 11585 BULK 3563 TIP3 OH2 OT -.834000 15.9994 0 11586 BULK 3563 TIP3 H1 HT .417000 1.00800 0 11587 BULK 3563 TIP3 H2 HT .417000 1.00800 0 11588 BULK 3564 TIP3 OH2 OT -.834000 15.9994 0 11589 BULK 3564 TIP3 H1 HT .417000 1.00800 0 11590 BULK 3564 TIP3 H2 HT .417000 1.00800 0 11591 BULK 3565 TIP3 OH2 OT -.834000 15.9994 0 11592 BULK 3565 TIP3 H1 HT .417000 1.00800 0 11593 BULK 3565 TIP3 H2 HT .417000 1.00800 0 11594 BULK 3566 TIP3 OH2 OT -.834000 15.9994 0 11595 BULK 3566 TIP3 H1 HT .417000 1.00800 0 11596 BULK 3566 TIP3 H2 HT .417000 1.00800 0 11597 BULK 3567 TIP3 OH2 OT -.834000 15.9994 0 11598 BULK 3567 TIP3 H1 HT .417000 1.00800 0 11599 BULK 3567 TIP3 H2 HT .417000 1.00800 0 11600 BULK 3568 TIP3 OH2 OT -.834000 15.9994 0 11601 BULK 3568 TIP3 H1 HT .417000 1.00800 0 11602 BULK 3568 TIP3 H2 HT .417000 1.00800 0 11603 BULK 3569 TIP3 OH2 OT -.834000 15.9994 0 11604 BULK 3569 TIP3 H1 HT .417000 1.00800 0 11605 BULK 3569 TIP3 H2 HT .417000 1.00800 0 11606 BULK 3570 TIP3 OH2 OT -.834000 15.9994 0 11607 BULK 3570 TIP3 H1 HT .417000 1.00800 0 11608 BULK 3570 TIP3 H2 HT .417000 1.00800 0 11609 BULK 3571 TIP3 OH2 OT -.834000 15.9994 0 11610 BULK 3571 TIP3 H1 HT .417000 1.00800 0 11611 BULK 3571 TIP3 H2 HT .417000 1.00800 0 11612 BULK 3572 TIP3 OH2 OT -.834000 15.9994 0 11613 BULK 3572 TIP3 H1 HT .417000 1.00800 0 11614 BULK 3572 TIP3 H2 HT .417000 1.00800 0 11615 BULK 3573 TIP3 OH2 OT -.834000 15.9994 0 11616 BULK 3573 TIP3 H1 HT .417000 1.00800 0 11617 BULK 3573 TIP3 H2 HT .417000 1.00800 0 11618 BULK 3574 TIP3 OH2 OT -.834000 15.9994 0 11619 BULK 3574 TIP3 H1 HT .417000 1.00800 0 11620 BULK 3574 TIP3 H2 HT .417000 1.00800 0 11621 BULK 3575 TIP3 OH2 OT -.834000 15.9994 0 11622 BULK 3575 TIP3 H1 HT .417000 1.00800 0 11623 BULK 3575 TIP3 H2 HT .417000 1.00800 0 11624 BULK 3576 TIP3 OH2 OT -.834000 15.9994 0 11625 BULK 3576 TIP3 H1 HT .417000 1.00800 0 11626 BULK 3576 TIP3 H2 HT .417000 1.00800 0 11627 BULK 3577 TIP3 OH2 OT -.834000 15.9994 0 11628 BULK 3577 TIP3 H1 HT .417000 1.00800 0 11629 BULK 3577 TIP3 H2 HT .417000 1.00800 0 11630 BULK 3578 TIP3 OH2 OT -.834000 15.9994 0 11631 BULK 3578 TIP3 H1 HT .417000 1.00800 0 11632 BULK 3578 TIP3 H2 HT .417000 1.00800 0 11633 BULK 3579 TIP3 OH2 OT -.834000 15.9994 0 11634 BULK 3579 TIP3 H1 HT .417000 1.00800 0 11635 BULK 3579 TIP3 H2 HT .417000 1.00800 0 11636 BULK 3580 TIP3 OH2 OT -.834000 15.9994 0 11637 BULK 3580 TIP3 H1 HT .417000 1.00800 0 11638 BULK 3580 TIP3 H2 HT .417000 1.00800 0 11639 BULK 3581 TIP3 OH2 OT -.834000 15.9994 0 11640 BULK 3581 TIP3 H1 HT .417000 1.00800 0 11641 BULK 3581 TIP3 H2 HT .417000 1.00800 0 11642 BULK 3582 TIP3 OH2 OT -.834000 15.9994 0 11643 BULK 3582 TIP3 H1 HT .417000 1.00800 0 11644 BULK 3582 TIP3 H2 HT .417000 1.00800 0 11645 BULK 3583 TIP3 OH2 OT -.834000 15.9994 0 11646 BULK 3583 TIP3 H1 HT .417000 1.00800 0 11647 BULK 3583 TIP3 H2 HT .417000 1.00800 0 11648 BULK 3584 TIP3 OH2 OT -.834000 15.9994 0 11649 BULK 3584 TIP3 H1 HT .417000 1.00800 0 11650 BULK 3584 TIP3 H2 HT .417000 1.00800 0 11651 BULK 3585 TIP3 OH2 OT -.834000 15.9994 0 11652 BULK 3585 TIP3 H1 HT .417000 1.00800 0 11653 BULK 3585 TIP3 H2 HT .417000 1.00800 0 11654 BULK 3586 TIP3 OH2 OT -.834000 15.9994 0 11655 BULK 3586 TIP3 H1 HT .417000 1.00800 0 11656 BULK 3586 TIP3 H2 HT .417000 1.00800 0 11657 BULK 3587 TIP3 OH2 OT -.834000 15.9994 0 11658 BULK 3587 TIP3 H1 HT .417000 1.00800 0 11659 BULK 3587 TIP3 H2 HT .417000 1.00800 0 11660 BULK 3588 TIP3 OH2 OT -.834000 15.9994 0 11661 BULK 3588 TIP3 H1 HT .417000 1.00800 0 11662 BULK 3588 TIP3 H2 HT .417000 1.00800 0 11663 BULK 3589 TIP3 OH2 OT -.834000 15.9994 0 11664 BULK 3589 TIP3 H1 HT .417000 1.00800 0 11665 BULK 3589 TIP3 H2 HT .417000 1.00800 0 11666 BULK 3590 TIP3 OH2 OT -.834000 15.9994 0 11667 BULK 3590 TIP3 H1 HT .417000 1.00800 0 11668 BULK 3590 TIP3 H2 HT .417000 1.00800 0 11669 BULK 3591 TIP3 OH2 OT -.834000 15.9994 0 11670 BULK 3591 TIP3 H1 HT .417000 1.00800 0 11671 BULK 3591 TIP3 H2 HT .417000 1.00800 0 11672 BULK 3592 TIP3 OH2 OT -.834000 15.9994 0 11673 BULK 3592 TIP3 H1 HT .417000 1.00800 0 11674 BULK 3592 TIP3 H2 HT .417000 1.00800 0 11675 BULK 3593 TIP3 OH2 OT -.834000 15.9994 0 11676 BULK 3593 TIP3 H1 HT .417000 1.00800 0 11677 BULK 3593 TIP3 H2 HT .417000 1.00800 0 11678 BULK 3594 TIP3 OH2 OT -.834000 15.9994 0 11679 BULK 3594 TIP3 H1 HT .417000 1.00800 0 11680 BULK 3594 TIP3 H2 HT .417000 1.00800 0 11681 BULK 3595 TIP3 OH2 OT -.834000 15.9994 0 11682 BULK 3595 TIP3 H1 HT .417000 1.00800 0 11683 BULK 3595 TIP3 H2 HT .417000 1.00800 0 11684 BULK 3596 TIP3 OH2 OT -.834000 15.9994 0 11685 BULK 3596 TIP3 H1 HT .417000 1.00800 0 11686 BULK 3596 TIP3 H2 HT .417000 1.00800 0 11687 BULK 3597 TIP3 OH2 OT -.834000 15.9994 0 11688 BULK 3597 TIP3 H1 HT .417000 1.00800 0 11689 BULK 3597 TIP3 H2 HT .417000 1.00800 0 11690 BULK 3598 TIP3 OH2 OT -.834000 15.9994 0 11691 BULK 3598 TIP3 H1 HT .417000 1.00800 0 11692 BULK 3598 TIP3 H2 HT .417000 1.00800 0 11693 BULK 3599 TIP3 OH2 OT -.834000 15.9994 0 11694 BULK 3599 TIP3 H1 HT .417000 1.00800 0 11695 BULK 3599 TIP3 H2 HT .417000 1.00800 0 11696 BULK 3600 TIP3 OH2 OT -.834000 15.9994 0 11697 BULK 3600 TIP3 H1 HT .417000 1.00800 0 11698 BULK 3600 TIP3 H2 HT .417000 1.00800 0 11699 BULK 3601 TIP3 OH2 OT -.834000 15.9994 0 11700 BULK 3601 TIP3 H1 HT .417000 1.00800 0 11701 BULK 3601 TIP3 H2 HT .417000 1.00800 0 11702 BULK 3602 TIP3 OH2 OT -.834000 15.9994 0 11703 BULK 3602 TIP3 H1 HT .417000 1.00800 0 11704 BULK 3602 TIP3 H2 HT .417000 1.00800 0 11705 BULK 3603 TIP3 OH2 OT -.834000 15.9994 0 11706 BULK 3603 TIP3 H1 HT .417000 1.00800 0 11707 BULK 3603 TIP3 H2 HT .417000 1.00800 0 11708 BULK 3604 TIP3 OH2 OT -.834000 15.9994 0 11709 BULK 3604 TIP3 H1 HT .417000 1.00800 0 11710 BULK 3604 TIP3 H2 HT .417000 1.00800 0 11711 BULK 3605 TIP3 OH2 OT -.834000 15.9994 0 11712 BULK 3605 TIP3 H1 HT .417000 1.00800 0 11713 BULK 3605 TIP3 H2 HT .417000 1.00800 0 11714 BULK 3606 TIP3 OH2 OT -.834000 15.9994 0 11715 BULK 3606 TIP3 H1 HT .417000 1.00800 0 11716 BULK 3606 TIP3 H2 HT .417000 1.00800 0 11717 BULK 3607 TIP3 OH2 OT -.834000 15.9994 0 11718 BULK 3607 TIP3 H1 HT .417000 1.00800 0 11719 BULK 3607 TIP3 H2 HT .417000 1.00800 0 11720 BULK 3608 TIP3 OH2 OT -.834000 15.9994 0 11721 BULK 3608 TIP3 H1 HT .417000 1.00800 0 11722 BULK 3608 TIP3 H2 HT .417000 1.00800 0 11723 BULK 3609 TIP3 OH2 OT -.834000 15.9994 0 11724 BULK 3609 TIP3 H1 HT .417000 1.00800 0 11725 BULK 3609 TIP3 H2 HT .417000 1.00800 0 11726 BULK 3610 TIP3 OH2 OT -.834000 15.9994 0 11727 BULK 3610 TIP3 H1 HT .417000 1.00800 0 11728 BULK 3610 TIP3 H2 HT .417000 1.00800 0 11729 BULK 3611 TIP3 OH2 OT -.834000 15.9994 0 11730 BULK 3611 TIP3 H1 HT .417000 1.00800 0 11731 BULK 3611 TIP3 H2 HT .417000 1.00800 0 11732 BULK 3612 TIP3 OH2 OT -.834000 15.9994 0 11733 BULK 3612 TIP3 H1 HT .417000 1.00800 0 11734 BULK 3612 TIP3 H2 HT .417000 1.00800 0 11735 BULK 3613 TIP3 OH2 OT -.834000 15.9994 0 11736 BULK 3613 TIP3 H1 HT .417000 1.00800 0 11737 BULK 3613 TIP3 H2 HT .417000 1.00800 0 11738 BULK 3614 TIP3 OH2 OT -.834000 15.9994 0 11739 BULK 3614 TIP3 H1 HT .417000 1.00800 0 11740 BULK 3614 TIP3 H2 HT .417000 1.00800 0 11741 BULK 3615 TIP3 OH2 OT -.834000 15.9994 0 11742 BULK 3615 TIP3 H1 HT .417000 1.00800 0 11743 BULK 3615 TIP3 H2 HT .417000 1.00800 0 11744 BULK 3616 TIP3 OH2 OT -.834000 15.9994 0 11745 BULK 3616 TIP3 H1 HT .417000 1.00800 0 11746 BULK 3616 TIP3 H2 HT .417000 1.00800 0 11747 BULK 3617 TIP3 OH2 OT -.834000 15.9994 0 11748 BULK 3617 TIP3 H1 HT .417000 1.00800 0 11749 BULK 3617 TIP3 H2 HT .417000 1.00800 0 11750 BULK 3618 TIP3 OH2 OT -.834000 15.9994 0 11751 BULK 3618 TIP3 H1 HT .417000 1.00800 0 11752 BULK 3618 TIP3 H2 HT .417000 1.00800 0 11753 BULK 3619 TIP3 OH2 OT -.834000 15.9994 0 11754 BULK 3619 TIP3 H1 HT .417000 1.00800 0 11755 BULK 3619 TIP3 H2 HT .417000 1.00800 0 11756 BULK 3620 TIP3 OH2 OT -.834000 15.9994 0 11757 BULK 3620 TIP3 H1 HT .417000 1.00800 0 11758 BULK 3620 TIP3 H2 HT .417000 1.00800 0 11759 BULK 3621 TIP3 OH2 OT -.834000 15.9994 0 11760 BULK 3621 TIP3 H1 HT .417000 1.00800 0 11761 BULK 3621 TIP3 H2 HT .417000 1.00800 0 11762 BULK 3622 TIP3 OH2 OT -.834000 15.9994 0 11763 BULK 3622 TIP3 H1 HT .417000 1.00800 0 11764 BULK 3622 TIP3 H2 HT .417000 1.00800 0 11765 BULK 3623 TIP3 OH2 OT -.834000 15.9994 0 11766 BULK 3623 TIP3 H1 HT .417000 1.00800 0 11767 BULK 3623 TIP3 H2 HT .417000 1.00800 0 11768 BULK 3624 TIP3 OH2 OT -.834000 15.9994 0 11769 BULK 3624 TIP3 H1 HT .417000 1.00800 0 11770 BULK 3624 TIP3 H2 HT .417000 1.00800 0 11771 BULK 3625 TIP3 OH2 OT -.834000 15.9994 0 11772 BULK 3625 TIP3 H1 HT .417000 1.00800 0 11773 BULK 3625 TIP3 H2 HT .417000 1.00800 0 11774 BULK 3626 TIP3 OH2 OT -.834000 15.9994 0 11775 BULK 3626 TIP3 H1 HT .417000 1.00800 0 11776 BULK 3626 TIP3 H2 HT .417000 1.00800 0 11777 BULK 3627 TIP3 OH2 OT -.834000 15.9994 0 11778 BULK 3627 TIP3 H1 HT .417000 1.00800 0 11779 BULK 3627 TIP3 H2 HT .417000 1.00800 0 11780 BULK 3628 TIP3 OH2 OT -.834000 15.9994 0 11781 BULK 3628 TIP3 H1 HT .417000 1.00800 0 11782 BULK 3628 TIP3 H2 HT .417000 1.00800 0 11783 BULK 3629 TIP3 OH2 OT -.834000 15.9994 0 11784 BULK 3629 TIP3 H1 HT .417000 1.00800 0 11785 BULK 3629 TIP3 H2 HT .417000 1.00800 0 11786 BULK 3630 TIP3 OH2 OT -.834000 15.9994 0 11787 BULK 3630 TIP3 H1 HT .417000 1.00800 0 11788 BULK 3630 TIP3 H2 HT .417000 1.00800 0 11789 BULK 3631 TIP3 OH2 OT -.834000 15.9994 0 11790 BULK 3631 TIP3 H1 HT .417000 1.00800 0 11791 BULK 3631 TIP3 H2 HT .417000 1.00800 0 11792 BULK 3632 TIP3 OH2 OT -.834000 15.9994 0 11793 BULK 3632 TIP3 H1 HT .417000 1.00800 0 11794 BULK 3632 TIP3 H2 HT .417000 1.00800 0 11795 BULK 3633 TIP3 OH2 OT -.834000 15.9994 0 11796 BULK 3633 TIP3 H1 HT .417000 1.00800 0 11797 BULK 3633 TIP3 H2 HT .417000 1.00800 0 11798 BULK 3634 TIP3 OH2 OT -.834000 15.9994 0 11799 BULK 3634 TIP3 H1 HT .417000 1.00800 0 11800 BULK 3634 TIP3 H2 HT .417000 1.00800 0 11801 BULK 3635 TIP3 OH2 OT -.834000 15.9994 0 11802 BULK 3635 TIP3 H1 HT .417000 1.00800 0 11803 BULK 3635 TIP3 H2 HT .417000 1.00800 0 11804 BULK 3636 TIP3 OH2 OT -.834000 15.9994 0 11805 BULK 3636 TIP3 H1 HT .417000 1.00800 0 11806 BULK 3636 TIP3 H2 HT .417000 1.00800 0 11807 BULK 3637 TIP3 OH2 OT -.834000 15.9994 0 11808 BULK 3637 TIP3 H1 HT .417000 1.00800 0 11809 BULK 3637 TIP3 H2 HT .417000 1.00800 0 11810 BULK 3638 TIP3 OH2 OT -.834000 15.9994 0 11811 BULK 3638 TIP3 H1 HT .417000 1.00800 0 11812 BULK 3638 TIP3 H2 HT .417000 1.00800 0 11813 BULK 3639 TIP3 OH2 OT -.834000 15.9994 0 11814 BULK 3639 TIP3 H1 HT .417000 1.00800 0 11815 BULK 3639 TIP3 H2 HT .417000 1.00800 0 11816 BULK 3640 TIP3 OH2 OT -.834000 15.9994 0 11817 BULK 3640 TIP3 H1 HT .417000 1.00800 0 11818 BULK 3640 TIP3 H2 HT .417000 1.00800 0 11819 BULK 3641 TIP3 OH2 OT -.834000 15.9994 0 11820 BULK 3641 TIP3 H1 HT .417000 1.00800 0 11821 BULK 3641 TIP3 H2 HT .417000 1.00800 0 11822 BULK 3642 TIP3 OH2 OT -.834000 15.9994 0 11823 BULK 3642 TIP3 H1 HT .417000 1.00800 0 11824 BULK 3642 TIP3 H2 HT .417000 1.00800 0 11825 BULK 3643 TIP3 OH2 OT -.834000 15.9994 0 11826 BULK 3643 TIP3 H1 HT .417000 1.00800 0 11827 BULK 3643 TIP3 H2 HT .417000 1.00800 0 11828 BULK 3644 TIP3 OH2 OT -.834000 15.9994 0 11829 BULK 3644 TIP3 H1 HT .417000 1.00800 0 11830 BULK 3644 TIP3 H2 HT .417000 1.00800 0 11831 BULK 3645 TIP3 OH2 OT -.834000 15.9994 0 11832 BULK 3645 TIP3 H1 HT .417000 1.00800 0 11833 BULK 3645 TIP3 H2 HT .417000 1.00800 0 11834 BULK 3646 TIP3 OH2 OT -.834000 15.9994 0 11835 BULK 3646 TIP3 H1 HT .417000 1.00800 0 11836 BULK 3646 TIP3 H2 HT .417000 1.00800 0 11837 BULK 3647 TIP3 OH2 OT -.834000 15.9994 0 11838 BULK 3647 TIP3 H1 HT .417000 1.00800 0 11839 BULK 3647 TIP3 H2 HT .417000 1.00800 0 11840 BULK 3648 TIP3 OH2 OT -.834000 15.9994 0 11841 BULK 3648 TIP3 H1 HT .417000 1.00800 0 11842 BULK 3648 TIP3 H2 HT .417000 1.00800 0 11843 BULK 3649 TIP3 OH2 OT -.834000 15.9994 0 11844 BULK 3649 TIP3 H1 HT .417000 1.00800 0 11845 BULK 3649 TIP3 H2 HT .417000 1.00800 0 11846 BULK 3650 TIP3 OH2 OT -.834000 15.9994 0 11847 BULK 3650 TIP3 H1 HT .417000 1.00800 0 11848 BULK 3650 TIP3 H2 HT .417000 1.00800 0 11849 BULK 3651 TIP3 OH2 OT -.834000 15.9994 0 11850 BULK 3651 TIP3 H1 HT .417000 1.00800 0 11851 BULK 3651 TIP3 H2 HT .417000 1.00800 0 11852 BULK 3652 TIP3 OH2 OT -.834000 15.9994 0 11853 BULK 3652 TIP3 H1 HT .417000 1.00800 0 11854 BULK 3652 TIP3 H2 HT .417000 1.00800 0 11855 BULK 3653 TIP3 OH2 OT -.834000 15.9994 0 11856 BULK 3653 TIP3 H1 HT .417000 1.00800 0 11857 BULK 3653 TIP3 H2 HT .417000 1.00800 0 11858 BULK 3654 TIP3 OH2 OT -.834000 15.9994 0 11859 BULK 3654 TIP3 H1 HT .417000 1.00800 0 11860 BULK 3654 TIP3 H2 HT .417000 1.00800 0 11861 BULK 3655 TIP3 OH2 OT -.834000 15.9994 0 11862 BULK 3655 TIP3 H1 HT .417000 1.00800 0 11863 BULK 3655 TIP3 H2 HT .417000 1.00800 0 11864 BULK 3656 TIP3 OH2 OT -.834000 15.9994 0 11865 BULK 3656 TIP3 H1 HT .417000 1.00800 0 11866 BULK 3656 TIP3 H2 HT .417000 1.00800 0 11867 BULK 3657 TIP3 OH2 OT -.834000 15.9994 0 11868 BULK 3657 TIP3 H1 HT .417000 1.00800 0 11869 BULK 3657 TIP3 H2 HT .417000 1.00800 0 11870 BULK 3658 TIP3 OH2 OT -.834000 15.9994 0 11871 BULK 3658 TIP3 H1 HT .417000 1.00800 0 11872 BULK 3658 TIP3 H2 HT .417000 1.00800 0 11873 BULK 3659 TIP3 OH2 OT -.834000 15.9994 0 11874 BULK 3659 TIP3 H1 HT .417000 1.00800 0 11875 BULK 3659 TIP3 H2 HT .417000 1.00800 0 11876 BULK 3660 TIP3 OH2 OT -.834000 15.9994 0 11877 BULK 3660 TIP3 H1 HT .417000 1.00800 0 11878 BULK 3660 TIP3 H2 HT .417000 1.00800 0 11879 BULK 3661 TIP3 OH2 OT -.834000 15.9994 0 11880 BULK 3661 TIP3 H1 HT .417000 1.00800 0 11881 BULK 3661 TIP3 H2 HT .417000 1.00800 0 11882 BULK 3662 TIP3 OH2 OT -.834000 15.9994 0 11883 BULK 3662 TIP3 H1 HT .417000 1.00800 0 11884 BULK 3662 TIP3 H2 HT .417000 1.00800 0 11885 BULK 3663 TIP3 OH2 OT -.834000 15.9994 0 11886 BULK 3663 TIP3 H1 HT .417000 1.00800 0 11887 BULK 3663 TIP3 H2 HT .417000 1.00800 0 11888 BULK 3664 TIP3 OH2 OT -.834000 15.9994 0 11889 BULK 3664 TIP3 H1 HT .417000 1.00800 0 11890 BULK 3664 TIP3 H2 HT .417000 1.00800 0 11891 BULK 3665 TIP3 OH2 OT -.834000 15.9994 0 11892 BULK 3665 TIP3 H1 HT .417000 1.00800 0 11893 BULK 3665 TIP3 H2 HT .417000 1.00800 0 11894 BULK 3666 TIP3 OH2 OT -.834000 15.9994 0 11895 BULK 3666 TIP3 H1 HT .417000 1.00800 0 11896 BULK 3666 TIP3 H2 HT .417000 1.00800 0 11897 BULK 3667 TIP3 OH2 OT -.834000 15.9994 0 11898 BULK 3667 TIP3 H1 HT .417000 1.00800 0 11899 BULK 3667 TIP3 H2 HT .417000 1.00800 0 11900 BULK 3668 TIP3 OH2 OT -.834000 15.9994 0 11901 BULK 3668 TIP3 H1 HT .417000 1.00800 0 11902 BULK 3668 TIP3 H2 HT .417000 1.00800 0 11903 BULK 3669 TIP3 OH2 OT -.834000 15.9994 0 11904 BULK 3669 TIP3 H1 HT .417000 1.00800 0 11905 BULK 3669 TIP3 H2 HT .417000 1.00800 0 11906 BULK 3670 TIP3 OH2 OT -.834000 15.9994 0 11907 BULK 3670 TIP3 H1 HT .417000 1.00800 0 11908 BULK 3670 TIP3 H2 HT .417000 1.00800 0 11909 BULK 3671 TIP3 OH2 OT -.834000 15.9994 0 11910 BULK 3671 TIP3 H1 HT .417000 1.00800 0 11911 BULK 3671 TIP3 H2 HT .417000 1.00800 0 11912 BULK 3672 TIP3 OH2 OT -.834000 15.9994 0 11913 BULK 3672 TIP3 H1 HT .417000 1.00800 0 11914 BULK 3672 TIP3 H2 HT .417000 1.00800 0 11915 BULK 3673 TIP3 OH2 OT -.834000 15.9994 0 11916 BULK 3673 TIP3 H1 HT .417000 1.00800 0 11917 BULK 3673 TIP3 H2 HT .417000 1.00800 0 11918 BULK 3674 TIP3 OH2 OT -.834000 15.9994 0 11919 BULK 3674 TIP3 H1 HT .417000 1.00800 0 11920 BULK 3674 TIP3 H2 HT .417000 1.00800 0 11921 BULK 3675 TIP3 OH2 OT -.834000 15.9994 0 11922 BULK 3675 TIP3 H1 HT .417000 1.00800 0 11923 BULK 3675 TIP3 H2 HT .417000 1.00800 0 11924 BULK 3676 TIP3 OH2 OT -.834000 15.9994 0 11925 BULK 3676 TIP3 H1 HT .417000 1.00800 0 11926 BULK 3676 TIP3 H2 HT .417000 1.00800 0 11927 BULK 3677 TIP3 OH2 OT -.834000 15.9994 0 11928 BULK 3677 TIP3 H1 HT .417000 1.00800 0 11929 BULK 3677 TIP3 H2 HT .417000 1.00800 0 11930 BULK 3678 TIP3 OH2 OT -.834000 15.9994 0 11931 BULK 3678 TIP3 H1 HT .417000 1.00800 0 11932 BULK 3678 TIP3 H2 HT .417000 1.00800 0 11933 BULK 3679 TIP3 OH2 OT -.834000 15.9994 0 11934 BULK 3679 TIP3 H1 HT .417000 1.00800 0 11935 BULK 3679 TIP3 H2 HT .417000 1.00800 0 11936 BULK 3680 TIP3 OH2 OT -.834000 15.9994 0 11937 BULK 3680 TIP3 H1 HT .417000 1.00800 0 11938 BULK 3680 TIP3 H2 HT .417000 1.00800 0 11939 BULK 3681 TIP3 OH2 OT -.834000 15.9994 0 11940 BULK 3681 TIP3 H1 HT .417000 1.00800 0 11941 BULK 3681 TIP3 H2 HT .417000 1.00800 0 11942 BULK 3682 TIP3 OH2 OT -.834000 15.9994 0 11943 BULK 3682 TIP3 H1 HT .417000 1.00800 0 11944 BULK 3682 TIP3 H2 HT .417000 1.00800 0 11945 BULK 3683 TIP3 OH2 OT -.834000 15.9994 0 11946 BULK 3683 TIP3 H1 HT .417000 1.00800 0 11947 BULK 3683 TIP3 H2 HT .417000 1.00800 0 11948 BULK 3684 TIP3 OH2 OT -.834000 15.9994 0 11949 BULK 3684 TIP3 H1 HT .417000 1.00800 0 11950 BULK 3684 TIP3 H2 HT .417000 1.00800 0 11951 BULK 3685 TIP3 OH2 OT -.834000 15.9994 0 11952 BULK 3685 TIP3 H1 HT .417000 1.00800 0 11953 BULK 3685 TIP3 H2 HT .417000 1.00800 0 11954 BULK 3686 TIP3 OH2 OT -.834000 15.9994 0 11955 BULK 3686 TIP3 H1 HT .417000 1.00800 0 11956 BULK 3686 TIP3 H2 HT .417000 1.00800 0 11957 BULK 3687 TIP3 OH2 OT -.834000 15.9994 0 11958 BULK 3687 TIP3 H1 HT .417000 1.00800 0 11959 BULK 3687 TIP3 H2 HT .417000 1.00800 0 11960 BULK 3688 TIP3 OH2 OT -.834000 15.9994 0 11961 BULK 3688 TIP3 H1 HT .417000 1.00800 0 11962 BULK 3688 TIP3 H2 HT .417000 1.00800 0 11963 BULK 3689 TIP3 OH2 OT -.834000 15.9994 0 11964 BULK 3689 TIP3 H1 HT .417000 1.00800 0 11965 BULK 3689 TIP3 H2 HT .417000 1.00800 0 11966 BULK 3690 TIP3 OH2 OT -.834000 15.9994 0 11967 BULK 3690 TIP3 H1 HT .417000 1.00800 0 11968 BULK 3690 TIP3 H2 HT .417000 1.00800 0 11969 BULK 3691 TIP3 OH2 OT -.834000 15.9994 0 11970 BULK 3691 TIP3 H1 HT .417000 1.00800 0 11971 BULK 3691 TIP3 H2 HT .417000 1.00800 0 11972 BULK 3692 TIP3 OH2 OT -.834000 15.9994 0 11973 BULK 3692 TIP3 H1 HT .417000 1.00800 0 11974 BULK 3692 TIP3 H2 HT .417000 1.00800 0 11975 BULK 3693 TIP3 OH2 OT -.834000 15.9994 0 11976 BULK 3693 TIP3 H1 HT .417000 1.00800 0 11977 BULK 3693 TIP3 H2 HT .417000 1.00800 0 11978 BULK 3694 TIP3 OH2 OT -.834000 15.9994 0 11979 BULK 3694 TIP3 H1 HT .417000 1.00800 0 11980 BULK 3694 TIP3 H2 HT .417000 1.00800 0 11981 BULK 3695 TIP3 OH2 OT -.834000 15.9994 0 11982 BULK 3695 TIP3 H1 HT .417000 1.00800 0 11983 BULK 3695 TIP3 H2 HT .417000 1.00800 0 11984 BULK 3696 TIP3 OH2 OT -.834000 15.9994 0 11985 BULK 3696 TIP3 H1 HT .417000 1.00800 0 11986 BULK 3696 TIP3 H2 HT .417000 1.00800 0 11987 BULK 3697 TIP3 OH2 OT -.834000 15.9994 0 11988 BULK 3697 TIP3 H1 HT .417000 1.00800 0 11989 BULK 3697 TIP3 H2 HT .417000 1.00800 0 11990 BULK 3698 TIP3 OH2 OT -.834000 15.9994 0 11991 BULK 3698 TIP3 H1 HT .417000 1.00800 0 11992 BULK 3698 TIP3 H2 HT .417000 1.00800 0 11993 BULK 3699 TIP3 OH2 OT -.834000 15.9994 0 11994 BULK 3699 TIP3 H1 HT .417000 1.00800 0 11995 BULK 3699 TIP3 H2 HT .417000 1.00800 0 11996 BULK 3700 TIP3 OH2 OT -.834000 15.9994 0 11997 BULK 3700 TIP3 H1 HT .417000 1.00800 0 11998 BULK 3700 TIP3 H2 HT .417000 1.00800 0 11999 BULK 3701 TIP3 OH2 OT -.834000 15.9994 0 12000 BULK 3701 TIP3 H1 HT .417000 1.00800 0 12001 BULK 3701 TIP3 H2 HT .417000 1.00800 0 12002 BULK 3702 TIP3 OH2 OT -.834000 15.9994 0 12003 BULK 3702 TIP3 H1 HT .417000 1.00800 0 12004 BULK 3702 TIP3 H2 HT .417000 1.00800 0 12005 BULK 3703 TIP3 OH2 OT -.834000 15.9994 0 12006 BULK 3703 TIP3 H1 HT .417000 1.00800 0 12007 BULK 3703 TIP3 H2 HT .417000 1.00800 0 12008 BULK 3704 TIP3 OH2 OT -.834000 15.9994 0 12009 BULK 3704 TIP3 H1 HT .417000 1.00800 0 12010 BULK 3704 TIP3 H2 HT .417000 1.00800 0 12011 BULK 3705 TIP3 OH2 OT -.834000 15.9994 0 12012 BULK 3705 TIP3 H1 HT .417000 1.00800 0 12013 BULK 3705 TIP3 H2 HT .417000 1.00800 0 12014 BULK 3706 TIP3 OH2 OT -.834000 15.9994 0 12015 BULK 3706 TIP3 H1 HT .417000 1.00800 0 12016 BULK 3706 TIP3 H2 HT .417000 1.00800 0 12017 BULK 3707 TIP3 OH2 OT -.834000 15.9994 0 12018 BULK 3707 TIP3 H1 HT .417000 1.00800 0 12019 BULK 3707 TIP3 H2 HT .417000 1.00800 0 12020 BULK 3708 TIP3 OH2 OT -.834000 15.9994 0 12021 BULK 3708 TIP3 H1 HT .417000 1.00800 0 12022 BULK 3708 TIP3 H2 HT .417000 1.00800 0 12023 BULK 3709 TIP3 OH2 OT -.834000 15.9994 0 12024 BULK 3709 TIP3 H1 HT .417000 1.00800 0 12025 BULK 3709 TIP3 H2 HT .417000 1.00800 0 12026 BULK 3710 TIP3 OH2 OT -.834000 15.9994 0 12027 BULK 3710 TIP3 H1 HT .417000 1.00800 0 12028 BULK 3710 TIP3 H2 HT .417000 1.00800 0 12029 BULK 3711 TIP3 OH2 OT -.834000 15.9994 0 12030 BULK 3711 TIP3 H1 HT .417000 1.00800 0 12031 BULK 3711 TIP3 H2 HT .417000 1.00800 0 12032 BULK 3712 TIP3 OH2 OT -.834000 15.9994 0 12033 BULK 3712 TIP3 H1 HT .417000 1.00800 0 12034 BULK 3712 TIP3 H2 HT .417000 1.00800 0 12035 BULK 3713 TIP3 OH2 OT -.834000 15.9994 0 12036 BULK 3713 TIP3 H1 HT .417000 1.00800 0 12037 BULK 3713 TIP3 H2 HT .417000 1.00800 0 12038 BULK 3714 TIP3 OH2 OT -.834000 15.9994 0 12039 BULK 3714 TIP3 H1 HT .417000 1.00800 0 12040 BULK 3714 TIP3 H2 HT .417000 1.00800 0 12041 BULK 3715 TIP3 OH2 OT -.834000 15.9994 0 12042 BULK 3715 TIP3 H1 HT .417000 1.00800 0 12043 BULK 3715 TIP3 H2 HT .417000 1.00800 0 12044 BULK 3716 TIP3 OH2 OT -.834000 15.9994 0 12045 BULK 3716 TIP3 H1 HT .417000 1.00800 0 12046 BULK 3716 TIP3 H2 HT .417000 1.00800 0 12047 BULK 3717 TIP3 OH2 OT -.834000 15.9994 0 12048 BULK 3717 TIP3 H1 HT .417000 1.00800 0 12049 BULK 3717 TIP3 H2 HT .417000 1.00800 0 12050 BULK 3718 TIP3 OH2 OT -.834000 15.9994 0 12051 BULK 3718 TIP3 H1 HT .417000 1.00800 0 12052 BULK 3718 TIP3 H2 HT .417000 1.00800 0 12053 BULK 3719 TIP3 OH2 OT -.834000 15.9994 0 12054 BULK 3719 TIP3 H1 HT .417000 1.00800 0 12055 BULK 3719 TIP3 H2 HT .417000 1.00800 0 12056 BULK 3720 TIP3 OH2 OT -.834000 15.9994 0 12057 BULK 3720 TIP3 H1 HT .417000 1.00800 0 12058 BULK 3720 TIP3 H2 HT .417000 1.00800 0 12059 BULK 3721 TIP3 OH2 OT -.834000 15.9994 0 12060 BULK 3721 TIP3 H1 HT .417000 1.00800 0 12061 BULK 3721 TIP3 H2 HT .417000 1.00800 0 12062 BULK 3722 TIP3 OH2 OT -.834000 15.9994 0 12063 BULK 3722 TIP3 H1 HT .417000 1.00800 0 12064 BULK 3722 TIP3 H2 HT .417000 1.00800 0 12065 BULK 3723 TIP3 OH2 OT -.834000 15.9994 0 12066 BULK 3723 TIP3 H1 HT .417000 1.00800 0 12067 BULK 3723 TIP3 H2 HT .417000 1.00800 0 12068 BULK 3724 TIP3 OH2 OT -.834000 15.9994 0 12069 BULK 3724 TIP3 H1 HT .417000 1.00800 0 12070 BULK 3724 TIP3 H2 HT .417000 1.00800 0 12071 BULK 3725 TIP3 OH2 OT -.834000 15.9994 0 12072 BULK 3725 TIP3 H1 HT .417000 1.00800 0 12073 BULK 3725 TIP3 H2 HT .417000 1.00800 0 12074 BULK 3726 TIP3 OH2 OT -.834000 15.9994 0 12075 BULK 3726 TIP3 H1 HT .417000 1.00800 0 12076 BULK 3726 TIP3 H2 HT .417000 1.00800 0 12077 BULK 3727 TIP3 OH2 OT -.834000 15.9994 0 12078 BULK 3727 TIP3 H1 HT .417000 1.00800 0 12079 BULK 3727 TIP3 H2 HT .417000 1.00800 0 12080 BULK 3728 TIP3 OH2 OT -.834000 15.9994 0 12081 BULK 3728 TIP3 H1 HT .417000 1.00800 0 12082 BULK 3728 TIP3 H2 HT .417000 1.00800 0 12083 BULK 3729 TIP3 OH2 OT -.834000 15.9994 0 12084 BULK 3729 TIP3 H1 HT .417000 1.00800 0 12085 BULK 3729 TIP3 H2 HT .417000 1.00800 0 12086 BULK 3730 TIP3 OH2 OT -.834000 15.9994 0 12087 BULK 3730 TIP3 H1 HT .417000 1.00800 0 12088 BULK 3730 TIP3 H2 HT .417000 1.00800 0 12089 BULK 3731 TIP3 OH2 OT -.834000 15.9994 0 12090 BULK 3731 TIP3 H1 HT .417000 1.00800 0 12091 BULK 3731 TIP3 H2 HT .417000 1.00800 0 12092 BULK 3732 TIP3 OH2 OT -.834000 15.9994 0 12093 BULK 3732 TIP3 H1 HT .417000 1.00800 0 12094 BULK 3732 TIP3 H2 HT .417000 1.00800 0 12095 BULK 3733 TIP3 OH2 OT -.834000 15.9994 0 12096 BULK 3733 TIP3 H1 HT .417000 1.00800 0 12097 BULK 3733 TIP3 H2 HT .417000 1.00800 0 12098 BULK 3734 TIP3 OH2 OT -.834000 15.9994 0 12099 BULK 3734 TIP3 H1 HT .417000 1.00800 0 12100 BULK 3734 TIP3 H2 HT .417000 1.00800 0 12101 BULK 3735 TIP3 OH2 OT -.834000 15.9994 0 12102 BULK 3735 TIP3 H1 HT .417000 1.00800 0 12103 BULK 3735 TIP3 H2 HT .417000 1.00800 0 12104 BULK 3736 TIP3 OH2 OT -.834000 15.9994 0 12105 BULK 3736 TIP3 H1 HT .417000 1.00800 0 12106 BULK 3736 TIP3 H2 HT .417000 1.00800 0 12107 BULK 3737 TIP3 OH2 OT -.834000 15.9994 0 12108 BULK 3737 TIP3 H1 HT .417000 1.00800 0 12109 BULK 3737 TIP3 H2 HT .417000 1.00800 0 12110 BULK 3738 TIP3 OH2 OT -.834000 15.9994 0 12111 BULK 3738 TIP3 H1 HT .417000 1.00800 0 12112 BULK 3738 TIP3 H2 HT .417000 1.00800 0 12113 BULK 3739 TIP3 OH2 OT -.834000 15.9994 0 12114 BULK 3739 TIP3 H1 HT .417000 1.00800 0 12115 BULK 3739 TIP3 H2 HT .417000 1.00800 0 12116 BULK 3740 TIP3 OH2 OT -.834000 15.9994 0 12117 BULK 3740 TIP3 H1 HT .417000 1.00800 0 12118 BULK 3740 TIP3 H2 HT .417000 1.00800 0 12119 BULK 3741 TIP3 OH2 OT -.834000 15.9994 0 12120 BULK 3741 TIP3 H1 HT .417000 1.00800 0 12121 BULK 3741 TIP3 H2 HT .417000 1.00800 0 12122 BULK 3742 TIP3 OH2 OT -.834000 15.9994 0 12123 BULK 3742 TIP3 H1 HT .417000 1.00800 0 12124 BULK 3742 TIP3 H2 HT .417000 1.00800 0 12125 BULK 3743 TIP3 OH2 OT -.834000 15.9994 0 12126 BULK 3743 TIP3 H1 HT .417000 1.00800 0 12127 BULK 3743 TIP3 H2 HT .417000 1.00800 0 12128 BULK 3744 TIP3 OH2 OT -.834000 15.9994 0 12129 BULK 3744 TIP3 H1 HT .417000 1.00800 0 12130 BULK 3744 TIP3 H2 HT .417000 1.00800 0 12131 BULK 3745 TIP3 OH2 OT -.834000 15.9994 0 12132 BULK 3745 TIP3 H1 HT .417000 1.00800 0 12133 BULK 3745 TIP3 H2 HT .417000 1.00800 0 12134 BULK 3746 TIP3 OH2 OT -.834000 15.9994 0 12135 BULK 3746 TIP3 H1 HT .417000 1.00800 0 12136 BULK 3746 TIP3 H2 HT .417000 1.00800 0 12137 BULK 3747 TIP3 OH2 OT -.834000 15.9994 0 12138 BULK 3747 TIP3 H1 HT .417000 1.00800 0 12139 BULK 3747 TIP3 H2 HT .417000 1.00800 0 12140 BULK 3748 TIP3 OH2 OT -.834000 15.9994 0 12141 BULK 3748 TIP3 H1 HT .417000 1.00800 0 12142 BULK 3748 TIP3 H2 HT .417000 1.00800 0 12143 BULK 3749 TIP3 OH2 OT -.834000 15.9994 0 12144 BULK 3749 TIP3 H1 HT .417000 1.00800 0 12145 BULK 3749 TIP3 H2 HT .417000 1.00800 0 12146 BULK 3750 TIP3 OH2 OT -.834000 15.9994 0 12147 BULK 3750 TIP3 H1 HT .417000 1.00800 0 12148 BULK 3750 TIP3 H2 HT .417000 1.00800 0 12149 BULK 3751 TIP3 OH2 OT -.834000 15.9994 0 12150 BULK 3751 TIP3 H1 HT .417000 1.00800 0 12151 BULK 3751 TIP3 H2 HT .417000 1.00800 0 12152 BULK 3752 TIP3 OH2 OT -.834000 15.9994 0 12153 BULK 3752 TIP3 H1 HT .417000 1.00800 0 12154 BULK 3752 TIP3 H2 HT .417000 1.00800 0 12155 BULK 3753 TIP3 OH2 OT -.834000 15.9994 0 12156 BULK 3753 TIP3 H1 HT .417000 1.00800 0 12157 BULK 3753 TIP3 H2 HT .417000 1.00800 0 12158 BULK 3754 TIP3 OH2 OT -.834000 15.9994 0 12159 BULK 3754 TIP3 H1 HT .417000 1.00800 0 12160 BULK 3754 TIP3 H2 HT .417000 1.00800 0 12161 BULK 3755 TIP3 OH2 OT -.834000 15.9994 0 12162 BULK 3755 TIP3 H1 HT .417000 1.00800 0 12163 BULK 3755 TIP3 H2 HT .417000 1.00800 0 12164 BULK 3756 TIP3 OH2 OT -.834000 15.9994 0 12165 BULK 3756 TIP3 H1 HT .417000 1.00800 0 12166 BULK 3756 TIP3 H2 HT .417000 1.00800 0 12167 BULK 3757 TIP3 OH2 OT -.834000 15.9994 0 12168 BULK 3757 TIP3 H1 HT .417000 1.00800 0 12169 BULK 3757 TIP3 H2 HT .417000 1.00800 0 12170 BULK 3758 TIP3 OH2 OT -.834000 15.9994 0 12171 BULK 3758 TIP3 H1 HT .417000 1.00800 0 12172 BULK 3758 TIP3 H2 HT .417000 1.00800 0 12173 BULK 3759 TIP3 OH2 OT -.834000 15.9994 0 12174 BULK 3759 TIP3 H1 HT .417000 1.00800 0 12175 BULK 3759 TIP3 H2 HT .417000 1.00800 0 12176 BULK 3760 TIP3 OH2 OT -.834000 15.9994 0 12177 BULK 3760 TIP3 H1 HT .417000 1.00800 0 12178 BULK 3760 TIP3 H2 HT .417000 1.00800 0 12179 BULK 3761 TIP3 OH2 OT -.834000 15.9994 0 12180 BULK 3761 TIP3 H1 HT .417000 1.00800 0 12181 BULK 3761 TIP3 H2 HT .417000 1.00800 0 12182 BULK 3762 TIP3 OH2 OT -.834000 15.9994 0 12183 BULK 3762 TIP3 H1 HT .417000 1.00800 0 12184 BULK 3762 TIP3 H2 HT .417000 1.00800 0 12185 BULK 3763 TIP3 OH2 OT -.834000 15.9994 0 12186 BULK 3763 TIP3 H1 HT .417000 1.00800 0 12187 BULK 3763 TIP3 H2 HT .417000 1.00800 0 12188 BULK 3764 TIP3 OH2 OT -.834000 15.9994 0 12189 BULK 3764 TIP3 H1 HT .417000 1.00800 0 12190 BULK 3764 TIP3 H2 HT .417000 1.00800 0 12191 BULK 3765 TIP3 OH2 OT -.834000 15.9994 0 12192 BULK 3765 TIP3 H1 HT .417000 1.00800 0 12193 BULK 3765 TIP3 H2 HT .417000 1.00800 0 12194 BULK 3766 TIP3 OH2 OT -.834000 15.9994 0 12195 BULK 3766 TIP3 H1 HT .417000 1.00800 0 12196 BULK 3766 TIP3 H2 HT .417000 1.00800 0 12197 BULK 3767 TIP3 OH2 OT -.834000 15.9994 0 12198 BULK 3767 TIP3 H1 HT .417000 1.00800 0 12199 BULK 3767 TIP3 H2 HT .417000 1.00800 0 12200 BULK 3768 TIP3 OH2 OT -.834000 15.9994 0 12201 BULK 3768 TIP3 H1 HT .417000 1.00800 0 12202 BULK 3768 TIP3 H2 HT .417000 1.00800 0 12203 BULK 3769 TIP3 OH2 OT -.834000 15.9994 0 12204 BULK 3769 TIP3 H1 HT .417000 1.00800 0 12205 BULK 3769 TIP3 H2 HT .417000 1.00800 0 12206 BULK 3770 TIP3 OH2 OT -.834000 15.9994 0 12207 BULK 3770 TIP3 H1 HT .417000 1.00800 0 12208 BULK 3770 TIP3 H2 HT .417000 1.00800 0 12209 BULK 3771 TIP3 OH2 OT -.834000 15.9994 0 12210 BULK 3771 TIP3 H1 HT .417000 1.00800 0 12211 BULK 3771 TIP3 H2 HT .417000 1.00800 0 12212 BULK 3772 TIP3 OH2 OT -.834000 15.9994 0 12213 BULK 3772 TIP3 H1 HT .417000 1.00800 0 12214 BULK 3772 TIP3 H2 HT .417000 1.00800 0 12215 BULK 3773 TIP3 OH2 OT -.834000 15.9994 0 12216 BULK 3773 TIP3 H1 HT .417000 1.00800 0 12217 BULK 3773 TIP3 H2 HT .417000 1.00800 0 12218 BULK 3774 TIP3 OH2 OT -.834000 15.9994 0 12219 BULK 3774 TIP3 H1 HT .417000 1.00800 0 12220 BULK 3774 TIP3 H2 HT .417000 1.00800 0 12221 BULK 3775 TIP3 OH2 OT -.834000 15.9994 0 12222 BULK 3775 TIP3 H1 HT .417000 1.00800 0 12223 BULK 3775 TIP3 H2 HT .417000 1.00800 0 12224 BULK 3776 TIP3 OH2 OT -.834000 15.9994 0 12225 BULK 3776 TIP3 H1 HT .417000 1.00800 0 12226 BULK 3776 TIP3 H2 HT .417000 1.00800 0 12227 BULK 3777 TIP3 OH2 OT -.834000 15.9994 0 12228 BULK 3777 TIP3 H1 HT .417000 1.00800 0 12229 BULK 3777 TIP3 H2 HT .417000 1.00800 0 12230 BULK 3778 TIP3 OH2 OT -.834000 15.9994 0 12231 BULK 3778 TIP3 H1 HT .417000 1.00800 0 12232 BULK 3778 TIP3 H2 HT .417000 1.00800 0 12233 BULK 3779 TIP3 OH2 OT -.834000 15.9994 0 12234 BULK 3779 TIP3 H1 HT .417000 1.00800 0 12235 BULK 3779 TIP3 H2 HT .417000 1.00800 0 12236 BULK 3780 TIP3 OH2 OT -.834000 15.9994 0 12237 BULK 3780 TIP3 H1 HT .417000 1.00800 0 12238 BULK 3780 TIP3 H2 HT .417000 1.00800 0 12239 BULK 3781 TIP3 OH2 OT -.834000 15.9994 0 12240 BULK 3781 TIP3 H1 HT .417000 1.00800 0 12241 BULK 3781 TIP3 H2 HT .417000 1.00800 0 12242 BULK 3782 TIP3 OH2 OT -.834000 15.9994 0 12243 BULK 3782 TIP3 H1 HT .417000 1.00800 0 12244 BULK 3782 TIP3 H2 HT .417000 1.00800 0 12245 BULK 3783 TIP3 OH2 OT -.834000 15.9994 0 12246 BULK 3783 TIP3 H1 HT .417000 1.00800 0 12247 BULK 3783 TIP3 H2 HT .417000 1.00800 0 12248 BULK 3784 TIP3 OH2 OT -.834000 15.9994 0 12249 BULK 3784 TIP3 H1 HT .417000 1.00800 0 12250 BULK 3784 TIP3 H2 HT .417000 1.00800 0 12251 BULK 3785 TIP3 OH2 OT -.834000 15.9994 0 12252 BULK 3785 TIP3 H1 HT .417000 1.00800 0 12253 BULK 3785 TIP3 H2 HT .417000 1.00800 0 12254 BULK 3786 TIP3 OH2 OT -.834000 15.9994 0 12255 BULK 3786 TIP3 H1 HT .417000 1.00800 0 12256 BULK 3786 TIP3 H2 HT .417000 1.00800 0 12257 BULK 3787 TIP3 OH2 OT -.834000 15.9994 0 12258 BULK 3787 TIP3 H1 HT .417000 1.00800 0 12259 BULK 3787 TIP3 H2 HT .417000 1.00800 0 12260 BULK 3788 TIP3 OH2 OT -.834000 15.9994 0 12261 BULK 3788 TIP3 H1 HT .417000 1.00800 0 12262 BULK 3788 TIP3 H2 HT .417000 1.00800 0 12263 BULK 3789 TIP3 OH2 OT -.834000 15.9994 0 12264 BULK 3789 TIP3 H1 HT .417000 1.00800 0 12265 BULK 3789 TIP3 H2 HT .417000 1.00800 0 12266 BULK 3790 TIP3 OH2 OT -.834000 15.9994 0 12267 BULK 3790 TIP3 H1 HT .417000 1.00800 0 12268 BULK 3790 TIP3 H2 HT .417000 1.00800 0 12269 BULK 3791 TIP3 OH2 OT -.834000 15.9994 0 12270 BULK 3791 TIP3 H1 HT .417000 1.00800 0 12271 BULK 3791 TIP3 H2 HT .417000 1.00800 0 12272 BULK 3792 TIP3 OH2 OT -.834000 15.9994 0 12273 BULK 3792 TIP3 H1 HT .417000 1.00800 0 12274 BULK 3792 TIP3 H2 HT .417000 1.00800 0 12275 BULK 3793 TIP3 OH2 OT -.834000 15.9994 0 12276 BULK 3793 TIP3 H1 HT .417000 1.00800 0 12277 BULK 3793 TIP3 H2 HT .417000 1.00800 0 12278 BULK 3794 TIP3 OH2 OT -.834000 15.9994 0 12279 BULK 3794 TIP3 H1 HT .417000 1.00800 0 12280 BULK 3794 TIP3 H2 HT .417000 1.00800 0 12281 BULK 3795 TIP3 OH2 OT -.834000 15.9994 0 12282 BULK 3795 TIP3 H1 HT .417000 1.00800 0 12283 BULK 3795 TIP3 H2 HT .417000 1.00800 0 12284 BULK 3796 TIP3 OH2 OT -.834000 15.9994 0 12285 BULK 3796 TIP3 H1 HT .417000 1.00800 0 12286 BULK 3796 TIP3 H2 HT .417000 1.00800 0 12287 BULK 3797 TIP3 OH2 OT -.834000 15.9994 0 12288 BULK 3797 TIP3 H1 HT .417000 1.00800 0 12289 BULK 3797 TIP3 H2 HT .417000 1.00800 0 12290 BULK 3798 TIP3 OH2 OT -.834000 15.9994 0 12291 BULK 3798 TIP3 H1 HT .417000 1.00800 0 12292 BULK 3798 TIP3 H2 HT .417000 1.00800 0 12293 BULK 3799 TIP3 OH2 OT -.834000 15.9994 0 12294 BULK 3799 TIP3 H1 HT .417000 1.00800 0 12295 BULK 3799 TIP3 H2 HT .417000 1.00800 0 12296 BULK 3800 TIP3 OH2 OT -.834000 15.9994 0 12297 BULK 3800 TIP3 H1 HT .417000 1.00800 0 12298 BULK 3800 TIP3 H2 HT .417000 1.00800 0 12299 BULK 3801 TIP3 OH2 OT -.834000 15.9994 0 12300 BULK 3801 TIP3 H1 HT .417000 1.00800 0 12301 BULK 3801 TIP3 H2 HT .417000 1.00800 0 12302 BULK 3802 TIP3 OH2 OT -.834000 15.9994 0 12303 BULK 3802 TIP3 H1 HT .417000 1.00800 0 12304 BULK 3802 TIP3 H2 HT .417000 1.00800 0 12305 BULK 3803 TIP3 OH2 OT -.834000 15.9994 0 12306 BULK 3803 TIP3 H1 HT .417000 1.00800 0 12307 BULK 3803 TIP3 H2 HT .417000 1.00800 0 12308 BULK 3804 TIP3 OH2 OT -.834000 15.9994 0 12309 BULK 3804 TIP3 H1 HT .417000 1.00800 0 12310 BULK 3804 TIP3 H2 HT .417000 1.00800 0 12311 BULK 3805 TIP3 OH2 OT -.834000 15.9994 0 12312 BULK 3805 TIP3 H1 HT .417000 1.00800 0 12313 BULK 3805 TIP3 H2 HT .417000 1.00800 0 12314 BULK 3806 TIP3 OH2 OT -.834000 15.9994 0 12315 BULK 3806 TIP3 H1 HT .417000 1.00800 0 12316 BULK 3806 TIP3 H2 HT .417000 1.00800 0 12317 BULK 3807 TIP3 OH2 OT -.834000 15.9994 0 12318 BULK 3807 TIP3 H1 HT .417000 1.00800 0 12319 BULK 3807 TIP3 H2 HT .417000 1.00800 0 12320 BULK 3808 TIP3 OH2 OT -.834000 15.9994 0 12321 BULK 3808 TIP3 H1 HT .417000 1.00800 0 12322 BULK 3808 TIP3 H2 HT .417000 1.00800 0 12323 BULK 3809 TIP3 OH2 OT -.834000 15.9994 0 12324 BULK 3809 TIP3 H1 HT .417000 1.00800 0 12325 BULK 3809 TIP3 H2 HT .417000 1.00800 0 12326 BULK 3810 TIP3 OH2 OT -.834000 15.9994 0 12327 BULK 3810 TIP3 H1 HT .417000 1.00800 0 12328 BULK 3810 TIP3 H2 HT .417000 1.00800 0 12329 BULK 3811 TIP3 OH2 OT -.834000 15.9994 0 12330 BULK 3811 TIP3 H1 HT .417000 1.00800 0 12331 BULK 3811 TIP3 H2 HT .417000 1.00800 0 12332 BULK 3812 TIP3 OH2 OT -.834000 15.9994 0 12333 BULK 3812 TIP3 H1 HT .417000 1.00800 0 12334 BULK 3812 TIP3 H2 HT .417000 1.00800 0 12335 BULK 3813 TIP3 OH2 OT -.834000 15.9994 0 12336 BULK 3813 TIP3 H1 HT .417000 1.00800 0 12337 BULK 3813 TIP3 H2 HT .417000 1.00800 0 12338 BULK 3814 TIP3 OH2 OT -.834000 15.9994 0 12339 BULK 3814 TIP3 H1 HT .417000 1.00800 0 12340 BULK 3814 TIP3 H2 HT .417000 1.00800 0 12341 BULK 3815 TIP3 OH2 OT -.834000 15.9994 0 12342 BULK 3815 TIP3 H1 HT .417000 1.00800 0 12343 BULK 3815 TIP3 H2 HT .417000 1.00800 0 12344 BULK 3816 TIP3 OH2 OT -.834000 15.9994 0 12345 BULK 3816 TIP3 H1 HT .417000 1.00800 0 12346 BULK 3816 TIP3 H2 HT .417000 1.00800 0 12347 BULK 3817 TIP3 OH2 OT -.834000 15.9994 0 12348 BULK 3817 TIP3 H1 HT .417000 1.00800 0 12349 BULK 3817 TIP3 H2 HT .417000 1.00800 0 12350 BULK 3818 TIP3 OH2 OT -.834000 15.9994 0 12351 BULK 3818 TIP3 H1 HT .417000 1.00800 0 12352 BULK 3818 TIP3 H2 HT .417000 1.00800 0 12353 BULK 3819 TIP3 OH2 OT -.834000 15.9994 0 12354 BULK 3819 TIP3 H1 HT .417000 1.00800 0 12355 BULK 3819 TIP3 H2 HT .417000 1.00800 0 12356 BULK 3820 TIP3 OH2 OT -.834000 15.9994 0 12357 BULK 3820 TIP3 H1 HT .417000 1.00800 0 12358 BULK 3820 TIP3 H2 HT .417000 1.00800 0 12359 BULK 3821 TIP3 OH2 OT -.834000 15.9994 0 12360 BULK 3821 TIP3 H1 HT .417000 1.00800 0 12361 BULK 3821 TIP3 H2 HT .417000 1.00800 0 12362 BULK 3822 TIP3 OH2 OT -.834000 15.9994 0 12363 BULK 3822 TIP3 H1 HT .417000 1.00800 0 12364 BULK 3822 TIP3 H2 HT .417000 1.00800 0 12365 BULK 3823 TIP3 OH2 OT -.834000 15.9994 0 12366 BULK 3823 TIP3 H1 HT .417000 1.00800 0 12367 BULK 3823 TIP3 H2 HT .417000 1.00800 0 12368 BULK 3824 TIP3 OH2 OT -.834000 15.9994 0 12369 BULK 3824 TIP3 H1 HT .417000 1.00800 0 12370 BULK 3824 TIP3 H2 HT .417000 1.00800 0 12371 BULK 3825 TIP3 OH2 OT -.834000 15.9994 0 12372 BULK 3825 TIP3 H1 HT .417000 1.00800 0 12373 BULK 3825 TIP3 H2 HT .417000 1.00800 0 12374 BULK 3826 TIP3 OH2 OT -.834000 15.9994 0 12375 BULK 3826 TIP3 H1 HT .417000 1.00800 0 12376 BULK 3826 TIP3 H2 HT .417000 1.00800 0 12377 BULK 3827 TIP3 OH2 OT -.834000 15.9994 0 12378 BULK 3827 TIP3 H1 HT .417000 1.00800 0 12379 BULK 3827 TIP3 H2 HT .417000 1.00800 0 12380 BULK 3828 TIP3 OH2 OT -.834000 15.9994 0 12381 BULK 3828 TIP3 H1 HT .417000 1.00800 0 12382 BULK 3828 TIP3 H2 HT .417000 1.00800 0 12383 BULK 3829 TIP3 OH2 OT -.834000 15.9994 0 12384 BULK 3829 TIP3 H1 HT .417000 1.00800 0 12385 BULK 3829 TIP3 H2 HT .417000 1.00800 0 12386 BULK 3830 TIP3 OH2 OT -.834000 15.9994 0 12387 BULK 3830 TIP3 H1 HT .417000 1.00800 0 12388 BULK 3830 TIP3 H2 HT .417000 1.00800 0 12389 BULK 3831 TIP3 OH2 OT -.834000 15.9994 0 12390 BULK 3831 TIP3 H1 HT .417000 1.00800 0 12391 BULK 3831 TIP3 H2 HT .417000 1.00800 0 12392 BULK 3832 TIP3 OH2 OT -.834000 15.9994 0 12393 BULK 3832 TIP3 H1 HT .417000 1.00800 0 12394 BULK 3832 TIP3 H2 HT .417000 1.00800 0 12395 BULK 3833 TIP3 OH2 OT -.834000 15.9994 0 12396 BULK 3833 TIP3 H1 HT .417000 1.00800 0 12397 BULK 3833 TIP3 H2 HT .417000 1.00800 0 12398 BULK 3834 TIP3 OH2 OT -.834000 15.9994 0 12399 BULK 3834 TIP3 H1 HT .417000 1.00800 0 12400 BULK 3834 TIP3 H2 HT .417000 1.00800 0 12401 BULK 3835 TIP3 OH2 OT -.834000 15.9994 0 12402 BULK 3835 TIP3 H1 HT .417000 1.00800 0 12403 BULK 3835 TIP3 H2 HT .417000 1.00800 0 12404 BULK 3836 TIP3 OH2 OT -.834000 15.9994 0 12405 BULK 3836 TIP3 H1 HT .417000 1.00800 0 12406 BULK 3836 TIP3 H2 HT .417000 1.00800 0 12407 BULK 3837 TIP3 OH2 OT -.834000 15.9994 0 12408 BULK 3837 TIP3 H1 HT .417000 1.00800 0 12409 BULK 3837 TIP3 H2 HT .417000 1.00800 0 12410 BULK 3838 TIP3 OH2 OT -.834000 15.9994 0 12411 BULK 3838 TIP3 H1 HT .417000 1.00800 0 12412 BULK 3838 TIP3 H2 HT .417000 1.00800 0 12413 BULK 3839 TIP3 OH2 OT -.834000 15.9994 0 12414 BULK 3839 TIP3 H1 HT .417000 1.00800 0 12415 BULK 3839 TIP3 H2 HT .417000 1.00800 0 12416 BULK 3840 TIP3 OH2 OT -.834000 15.9994 0 12417 BULK 3840 TIP3 H1 HT .417000 1.00800 0 12418 BULK 3840 TIP3 H2 HT .417000 1.00800 0 12419 BULK 3841 TIP3 OH2 OT -.834000 15.9994 0 12420 BULK 3841 TIP3 H1 HT .417000 1.00800 0 12421 BULK 3841 TIP3 H2 HT .417000 1.00800 0 12422 BULK 3842 TIP3 OH2 OT -.834000 15.9994 0 12423 BULK 3842 TIP3 H1 HT .417000 1.00800 0 12424 BULK 3842 TIP3 H2 HT .417000 1.00800 0 12425 BULK 3843 TIP3 OH2 OT -.834000 15.9994 0 12426 BULK 3843 TIP3 H1 HT .417000 1.00800 0 12427 BULK 3843 TIP3 H2 HT .417000 1.00800 0 12428 BULK 3844 TIP3 OH2 OT -.834000 15.9994 0 12429 BULK 3844 TIP3 H1 HT .417000 1.00800 0 12430 BULK 3844 TIP3 H2 HT .417000 1.00800 0 12431 BULK 3845 TIP3 OH2 OT -.834000 15.9994 0 12432 BULK 3845 TIP3 H1 HT .417000 1.00800 0 12433 BULK 3845 TIP3 H2 HT .417000 1.00800 0 12434 BULK 3846 TIP3 OH2 OT -.834000 15.9994 0 12435 BULK 3846 TIP3 H1 HT .417000 1.00800 0 12436 BULK 3846 TIP3 H2 HT .417000 1.00800 0 12437 BULK 3847 TIP3 OH2 OT -.834000 15.9994 0 12438 BULK 3847 TIP3 H1 HT .417000 1.00800 0 12439 BULK 3847 TIP3 H2 HT .417000 1.00800 0 12440 BULK 3848 TIP3 OH2 OT -.834000 15.9994 0 12441 BULK 3848 TIP3 H1 HT .417000 1.00800 0 12442 BULK 3848 TIP3 H2 HT .417000 1.00800 0 12443 BULK 3849 TIP3 OH2 OT -.834000 15.9994 0 12444 BULK 3849 TIP3 H1 HT .417000 1.00800 0 12445 BULK 3849 TIP3 H2 HT .417000 1.00800 0 12446 BULK 3850 TIP3 OH2 OT -.834000 15.9994 0 12447 BULK 3850 TIP3 H1 HT .417000 1.00800 0 12448 BULK 3850 TIP3 H2 HT .417000 1.00800 0 12449 BULK 3851 TIP3 OH2 OT -.834000 15.9994 0 12450 BULK 3851 TIP3 H1 HT .417000 1.00800 0 12451 BULK 3851 TIP3 H2 HT .417000 1.00800 0 12452 BULK 3852 TIP3 OH2 OT -.834000 15.9994 0 12453 BULK 3852 TIP3 H1 HT .417000 1.00800 0 12454 BULK 3852 TIP3 H2 HT .417000 1.00800 0 12455 BULK 3853 TIP3 OH2 OT -.834000 15.9994 0 12456 BULK 3853 TIP3 H1 HT .417000 1.00800 0 12457 BULK 3853 TIP3 H2 HT .417000 1.00800 0 12458 BULK 3854 TIP3 OH2 OT -.834000 15.9994 0 12459 BULK 3854 TIP3 H1 HT .417000 1.00800 0 12460 BULK 3854 TIP3 H2 HT .417000 1.00800 0 12461 BULK 3855 TIP3 OH2 OT -.834000 15.9994 0 12462 BULK 3855 TIP3 H1 HT .417000 1.00800 0 12463 BULK 3855 TIP3 H2 HT .417000 1.00800 0 12464 BULK 3856 TIP3 OH2 OT -.834000 15.9994 0 12465 BULK 3856 TIP3 H1 HT .417000 1.00800 0 12466 BULK 3856 TIP3 H2 HT .417000 1.00800 0 12467 BULK 3857 TIP3 OH2 OT -.834000 15.9994 0 12468 BULK 3857 TIP3 H1 HT .417000 1.00800 0 12469 BULK 3857 TIP3 H2 HT .417000 1.00800 0 12470 BULK 3858 TIP3 OH2 OT -.834000 15.9994 0 12471 BULK 3858 TIP3 H1 HT .417000 1.00800 0 12472 BULK 3858 TIP3 H2 HT .417000 1.00800 0 12473 BULK 3859 TIP3 OH2 OT -.834000 15.9994 0 12474 BULK 3859 TIP3 H1 HT .417000 1.00800 0 12475 BULK 3859 TIP3 H2 HT .417000 1.00800 0 12476 BULK 3860 TIP3 OH2 OT -.834000 15.9994 0 12477 BULK 3860 TIP3 H1 HT .417000 1.00800 0 12478 BULK 3860 TIP3 H2 HT .417000 1.00800 0 12479 BULK 3861 TIP3 OH2 OT -.834000 15.9994 0 12480 BULK 3861 TIP3 H1 HT .417000 1.00800 0 12481 BULK 3861 TIP3 H2 HT .417000 1.00800 0 12482 BULK 3862 TIP3 OH2 OT -.834000 15.9994 0 12483 BULK 3862 TIP3 H1 HT .417000 1.00800 0 12484 BULK 3862 TIP3 H2 HT .417000 1.00800 0 12485 BULK 3863 TIP3 OH2 OT -.834000 15.9994 0 12486 BULK 3863 TIP3 H1 HT .417000 1.00800 0 12487 BULK 3863 TIP3 H2 HT .417000 1.00800 0 12488 BULK 3864 TIP3 OH2 OT -.834000 15.9994 0 12489 BULK 3864 TIP3 H1 HT .417000 1.00800 0 12490 BULK 3864 TIP3 H2 HT .417000 1.00800 0 12491 BULK 3865 TIP3 OH2 OT -.834000 15.9994 0 12492 BULK 3865 TIP3 H1 HT .417000 1.00800 0 12493 BULK 3865 TIP3 H2 HT .417000 1.00800 0 12494 BULK 3866 TIP3 OH2 OT -.834000 15.9994 0 12495 BULK 3866 TIP3 H1 HT .417000 1.00800 0 12496 BULK 3866 TIP3 H2 HT .417000 1.00800 0 12497 BULK 3867 TIP3 OH2 OT -.834000 15.9994 0 12498 BULK 3867 TIP3 H1 HT .417000 1.00800 0 12499 BULK 3867 TIP3 H2 HT .417000 1.00800 0 12500 BULK 3868 TIP3 OH2 OT -.834000 15.9994 0 12501 BULK 3868 TIP3 H1 HT .417000 1.00800 0 12502 BULK 3868 TIP3 H2 HT .417000 1.00800 0 12503 BULK 3869 TIP3 OH2 OT -.834000 15.9994 0 12504 BULK 3869 TIP3 H1 HT .417000 1.00800 0 12505 BULK 3869 TIP3 H2 HT .417000 1.00800 0 12506 BULK 3870 TIP3 OH2 OT -.834000 15.9994 0 12507 BULK 3870 TIP3 H1 HT .417000 1.00800 0 12508 BULK 3870 TIP3 H2 HT .417000 1.00800 0 12509 BULK 3871 TIP3 OH2 OT -.834000 15.9994 0 12510 BULK 3871 TIP3 H1 HT .417000 1.00800 0 12511 BULK 3871 TIP3 H2 HT .417000 1.00800 0 12512 BULK 3872 TIP3 OH2 OT -.834000 15.9994 0 12513 BULK 3872 TIP3 H1 HT .417000 1.00800 0 12514 BULK 3872 TIP3 H2 HT .417000 1.00800 0 12515 BULK 3873 TIP3 OH2 OT -.834000 15.9994 0 12516 BULK 3873 TIP3 H1 HT .417000 1.00800 0 12517 BULK 3873 TIP3 H2 HT .417000 1.00800 0 12518 BULK 3874 TIP3 OH2 OT -.834000 15.9994 0 12519 BULK 3874 TIP3 H1 HT .417000 1.00800 0 12520 BULK 3874 TIP3 H2 HT .417000 1.00800 0 12521 BULK 3875 TIP3 OH2 OT -.834000 15.9994 0 12522 BULK 3875 TIP3 H1 HT .417000 1.00800 0 12523 BULK 3875 TIP3 H2 HT .417000 1.00800 0 12524 BULK 3876 TIP3 OH2 OT -.834000 15.9994 0 12525 BULK 3876 TIP3 H1 HT .417000 1.00800 0 12526 BULK 3876 TIP3 H2 HT .417000 1.00800 0 12527 BULK 3877 TIP3 OH2 OT -.834000 15.9994 0 12528 BULK 3877 TIP3 H1 HT .417000 1.00800 0 12529 BULK 3877 TIP3 H2 HT .417000 1.00800 0 12530 BULK 3878 TIP3 OH2 OT -.834000 15.9994 0 12531 BULK 3878 TIP3 H1 HT .417000 1.00800 0 12532 BULK 3878 TIP3 H2 HT .417000 1.00800 0 12533 BULK 3879 TIP3 OH2 OT -.834000 15.9994 0 12534 BULK 3879 TIP3 H1 HT .417000 1.00800 0 12535 BULK 3879 TIP3 H2 HT .417000 1.00800 0 12536 BULK 3880 TIP3 OH2 OT -.834000 15.9994 0 12537 BULK 3880 TIP3 H1 HT .417000 1.00800 0 12538 BULK 3880 TIP3 H2 HT .417000 1.00800 0 12539 BULK 3881 TIP3 OH2 OT -.834000 15.9994 0 12540 BULK 3881 TIP3 H1 HT .417000 1.00800 0 12541 BULK 3881 TIP3 H2 HT .417000 1.00800 0 12542 BULK 3882 TIP3 OH2 OT -.834000 15.9994 0 12543 BULK 3882 TIP3 H1 HT .417000 1.00800 0 12544 BULK 3882 TIP3 H2 HT .417000 1.00800 0 12545 BULK 3883 TIP3 OH2 OT -.834000 15.9994 0 12546 BULK 3883 TIP3 H1 HT .417000 1.00800 0 12547 BULK 3883 TIP3 H2 HT .417000 1.00800 0 12548 BULK 3884 TIP3 OH2 OT -.834000 15.9994 0 12549 BULK 3884 TIP3 H1 HT .417000 1.00800 0 12550 BULK 3884 TIP3 H2 HT .417000 1.00800 0 12551 BULK 3885 TIP3 OH2 OT -.834000 15.9994 0 12552 BULK 3885 TIP3 H1 HT .417000 1.00800 0 12553 BULK 3885 TIP3 H2 HT .417000 1.00800 0 12554 BULK 3886 TIP3 OH2 OT -.834000 15.9994 0 12555 BULK 3886 TIP3 H1 HT .417000 1.00800 0 12556 BULK 3886 TIP3 H2 HT .417000 1.00800 0 12557 BULK 3887 TIP3 OH2 OT -.834000 15.9994 0 12558 BULK 3887 TIP3 H1 HT .417000 1.00800 0 12559 BULK 3887 TIP3 H2 HT .417000 1.00800 0 12560 BULK 3888 TIP3 OH2 OT -.834000 15.9994 0 12561 BULK 3888 TIP3 H1 HT .417000 1.00800 0 12562 BULK 3888 TIP3 H2 HT .417000 1.00800 0 12563 BULK 3889 TIP3 OH2 OT -.834000 15.9994 0 12564 BULK 3889 TIP3 H1 HT .417000 1.00800 0 12565 BULK 3889 TIP3 H2 HT .417000 1.00800 0 12566 BULK 3890 TIP3 OH2 OT -.834000 15.9994 0 12567 BULK 3890 TIP3 H1 HT .417000 1.00800 0 12568 BULK 3890 TIP3 H2 HT .417000 1.00800 0 12569 BULK 3891 TIP3 OH2 OT -.834000 15.9994 0 12570 BULK 3891 TIP3 H1 HT .417000 1.00800 0 12571 BULK 3891 TIP3 H2 HT .417000 1.00800 0 12572 BULK 3892 TIP3 OH2 OT -.834000 15.9994 0 12573 BULK 3892 TIP3 H1 HT .417000 1.00800 0 12574 BULK 3892 TIP3 H2 HT .417000 1.00800 0 12575 BULK 3893 TIP3 OH2 OT -.834000 15.9994 0 12576 BULK 3893 TIP3 H1 HT .417000 1.00800 0 12577 BULK 3893 TIP3 H2 HT .417000 1.00800 0 12578 BULK 3894 TIP3 OH2 OT -.834000 15.9994 0 12579 BULK 3894 TIP3 H1 HT .417000 1.00800 0 12580 BULK 3894 TIP3 H2 HT .417000 1.00800 0 12581 BULK 3895 TIP3 OH2 OT -.834000 15.9994 0 12582 BULK 3895 TIP3 H1 HT .417000 1.00800 0 12583 BULK 3895 TIP3 H2 HT .417000 1.00800 0 12584 BULK 3896 TIP3 OH2 OT -.834000 15.9994 0 12585 BULK 3896 TIP3 H1 HT .417000 1.00800 0 12586 BULK 3896 TIP3 H2 HT .417000 1.00800 0 12587 BULK 3897 TIP3 OH2 OT -.834000 15.9994 0 12588 BULK 3897 TIP3 H1 HT .417000 1.00800 0 12589 BULK 3897 TIP3 H2 HT .417000 1.00800 0 12590 BULK 3898 TIP3 OH2 OT -.834000 15.9994 0 12591 BULK 3898 TIP3 H1 HT .417000 1.00800 0 12592 BULK 3898 TIP3 H2 HT .417000 1.00800 0 12593 BULK 3899 TIP3 OH2 OT -.834000 15.9994 0 12594 BULK 3899 TIP3 H1 HT .417000 1.00800 0 12595 BULK 3899 TIP3 H2 HT .417000 1.00800 0 12596 BULK 3900 TIP3 OH2 OT -.834000 15.9994 0 12597 BULK 3900 TIP3 H1 HT .417000 1.00800 0 12598 BULK 3900 TIP3 H2 HT .417000 1.00800 0 12599 BULK 3901 TIP3 OH2 OT -.834000 15.9994 0 12600 BULK 3901 TIP3 H1 HT .417000 1.00800 0 12601 BULK 3901 TIP3 H2 HT .417000 1.00800 0 12602 BULK 3902 TIP3 OH2 OT -.834000 15.9994 0 12603 BULK 3902 TIP3 H1 HT .417000 1.00800 0 12604 BULK 3902 TIP3 H2 HT .417000 1.00800 0 12605 BULK 3903 TIP3 OH2 OT -.834000 15.9994 0 12606 BULK 3903 TIP3 H1 HT .417000 1.00800 0 12607 BULK 3903 TIP3 H2 HT .417000 1.00800 0 12608 BULK 3904 TIP3 OH2 OT -.834000 15.9994 0 12609 BULK 3904 TIP3 H1 HT .417000 1.00800 0 12610 BULK 3904 TIP3 H2 HT .417000 1.00800 0 12611 BULK 3905 TIP3 OH2 OT -.834000 15.9994 0 12612 BULK 3905 TIP3 H1 HT .417000 1.00800 0 12613 BULK 3905 TIP3 H2 HT .417000 1.00800 0 12614 BULK 3906 TIP3 OH2 OT -.834000 15.9994 0 12615 BULK 3906 TIP3 H1 HT .417000 1.00800 0 12616 BULK 3906 TIP3 H2 HT .417000 1.00800 0 12617 BULK 3907 TIP3 OH2 OT -.834000 15.9994 0 12618 BULK 3907 TIP3 H1 HT .417000 1.00800 0 12619 BULK 3907 TIP3 H2 HT .417000 1.00800 0 12620 BULK 3908 TIP3 OH2 OT -.834000 15.9994 0 12621 BULK 3908 TIP3 H1 HT .417000 1.00800 0 12622 BULK 3908 TIP3 H2 HT .417000 1.00800 0 12623 BULK 3909 TIP3 OH2 OT -.834000 15.9994 0 12624 BULK 3909 TIP3 H1 HT .417000 1.00800 0 12625 BULK 3909 TIP3 H2 HT .417000 1.00800 0 12626 BULK 3910 TIP3 OH2 OT -.834000 15.9994 0 12627 BULK 3910 TIP3 H1 HT .417000 1.00800 0 12628 BULK 3910 TIP3 H2 HT .417000 1.00800 0 12629 BULK 3911 TIP3 OH2 OT -.834000 15.9994 0 12630 BULK 3911 TIP3 H1 HT .417000 1.00800 0 12631 BULK 3911 TIP3 H2 HT .417000 1.00800 0 12632 BULK 3912 TIP3 OH2 OT -.834000 15.9994 0 12633 BULK 3912 TIP3 H1 HT .417000 1.00800 0 12634 BULK 3912 TIP3 H2 HT .417000 1.00800 0 12635 BULK 3913 TIP3 OH2 OT -.834000 15.9994 0 12636 BULK 3913 TIP3 H1 HT .417000 1.00800 0 12637 BULK 3913 TIP3 H2 HT .417000 1.00800 0 12638 BULK 3914 TIP3 OH2 OT -.834000 15.9994 0 12639 BULK 3914 TIP3 H1 HT .417000 1.00800 0 12640 BULK 3914 TIP3 H2 HT .417000 1.00800 0 12641 BULK 3915 TIP3 OH2 OT -.834000 15.9994 0 12642 BULK 3915 TIP3 H1 HT .417000 1.00800 0 12643 BULK 3915 TIP3 H2 HT .417000 1.00800 0 12644 BULK 3916 TIP3 OH2 OT -.834000 15.9994 0 12645 BULK 3916 TIP3 H1 HT .417000 1.00800 0 12646 BULK 3916 TIP3 H2 HT .417000 1.00800 0 12647 BULK 3917 TIP3 OH2 OT -.834000 15.9994 0 12648 BULK 3917 TIP3 H1 HT .417000 1.00800 0 12649 BULK 3917 TIP3 H2 HT .417000 1.00800 0 12650 BULK 3918 TIP3 OH2 OT -.834000 15.9994 0 12651 BULK 3918 TIP3 H1 HT .417000 1.00800 0 12652 BULK 3918 TIP3 H2 HT .417000 1.00800 0 12653 BULK 3919 TIP3 OH2 OT -.834000 15.9994 0 12654 BULK 3919 TIP3 H1 HT .417000 1.00800 0 12655 BULK 3919 TIP3 H2 HT .417000 1.00800 0 12656 BULK 3920 TIP3 OH2 OT -.834000 15.9994 0 12657 BULK 3920 TIP3 H1 HT .417000 1.00800 0 12658 BULK 3920 TIP3 H2 HT .417000 1.00800 0 12659 BULK 3921 TIP3 OH2 OT -.834000 15.9994 0 12660 BULK 3921 TIP3 H1 HT .417000 1.00800 0 12661 BULK 3921 TIP3 H2 HT .417000 1.00800 0 12662 BULK 3922 TIP3 OH2 OT -.834000 15.9994 0 12663 BULK 3922 TIP3 H1 HT .417000 1.00800 0 12664 BULK 3922 TIP3 H2 HT .417000 1.00800 0 12665 BULK 3923 TIP3 OH2 OT -.834000 15.9994 0 12666 BULK 3923 TIP3 H1 HT .417000 1.00800 0 12667 BULK 3923 TIP3 H2 HT .417000 1.00800 0 12668 BULK 3924 TIP3 OH2 OT -.834000 15.9994 0 12669 BULK 3924 TIP3 H1 HT .417000 1.00800 0 12670 BULK 3924 TIP3 H2 HT .417000 1.00800 0 12671 BULK 3925 TIP3 OH2 OT -.834000 15.9994 0 12672 BULK 3925 TIP3 H1 HT .417000 1.00800 0 12673 BULK 3925 TIP3 H2 HT .417000 1.00800 0 12674 BULK 3926 TIP3 OH2 OT -.834000 15.9994 0 12675 BULK 3926 TIP3 H1 HT .417000 1.00800 0 12676 BULK 3926 TIP3 H2 HT .417000 1.00800 0 12677 BULK 3927 TIP3 OH2 OT -.834000 15.9994 0 12678 BULK 3927 TIP3 H1 HT .417000 1.00800 0 12679 BULK 3927 TIP3 H2 HT .417000 1.00800 0 12680 BULK 3928 TIP3 OH2 OT -.834000 15.9994 0 12681 BULK 3928 TIP3 H1 HT .417000 1.00800 0 12682 BULK 3928 TIP3 H2 HT .417000 1.00800 0 12683 BULK 3929 TIP3 OH2 OT -.834000 15.9994 0 12684 BULK 3929 TIP3 H1 HT .417000 1.00800 0 12685 BULK 3929 TIP3 H2 HT .417000 1.00800 0 12686 BULK 3930 TIP3 OH2 OT -.834000 15.9994 0 12687 BULK 3930 TIP3 H1 HT .417000 1.00800 0 12688 BULK 3930 TIP3 H2 HT .417000 1.00800 0 12689 BULK 3931 TIP3 OH2 OT -.834000 15.9994 0 12690 BULK 3931 TIP3 H1 HT .417000 1.00800 0 12691 BULK 3931 TIP3 H2 HT .417000 1.00800 0 12692 BULK 3932 TIP3 OH2 OT -.834000 15.9994 0 12693 BULK 3932 TIP3 H1 HT .417000 1.00800 0 12694 BULK 3932 TIP3 H2 HT .417000 1.00800 0 12695 BULK 3933 TIP3 OH2 OT -.834000 15.9994 0 12696 BULK 3933 TIP3 H1 HT .417000 1.00800 0 12697 BULK 3933 TIP3 H2 HT .417000 1.00800 0 12698 BULK 3934 TIP3 OH2 OT -.834000 15.9994 0 12699 BULK 3934 TIP3 H1 HT .417000 1.00800 0 12700 BULK 3934 TIP3 H2 HT .417000 1.00800 0 12701 BULK 3935 TIP3 OH2 OT -.834000 15.9994 0 12702 BULK 3935 TIP3 H1 HT .417000 1.00800 0 12703 BULK 3935 TIP3 H2 HT .417000 1.00800 0 12704 BULK 3936 TIP3 OH2 OT -.834000 15.9994 0 12705 BULK 3936 TIP3 H1 HT .417000 1.00800 0 12706 BULK 3936 TIP3 H2 HT .417000 1.00800 0 12707 BULK 3937 TIP3 OH2 OT -.834000 15.9994 0 12708 BULK 3937 TIP3 H1 HT .417000 1.00800 0 12709 BULK 3937 TIP3 H2 HT .417000 1.00800 0 12710 BULK 3938 TIP3 OH2 OT -.834000 15.9994 0 12711 BULK 3938 TIP3 H1 HT .417000 1.00800 0 12712 BULK 3938 TIP3 H2 HT .417000 1.00800 0 12713 BULK 3939 TIP3 OH2 OT -.834000 15.9994 0 12714 BULK 3939 TIP3 H1 HT .417000 1.00800 0 12715 BULK 3939 TIP3 H2 HT .417000 1.00800 0 12716 BULK 3940 TIP3 OH2 OT -.834000 15.9994 0 12717 BULK 3940 TIP3 H1 HT .417000 1.00800 0 12718 BULK 3940 TIP3 H2 HT .417000 1.00800 0 12719 BULK 3941 TIP3 OH2 OT -.834000 15.9994 0 12720 BULK 3941 TIP3 H1 HT .417000 1.00800 0 12721 BULK 3941 TIP3 H2 HT .417000 1.00800 0 12722 BULK 3942 TIP3 OH2 OT -.834000 15.9994 0 12723 BULK 3942 TIP3 H1 HT .417000 1.00800 0 12724 BULK 3942 TIP3 H2 HT .417000 1.00800 0 12725 BULK 3943 TIP3 OH2 OT -.834000 15.9994 0 12726 BULK 3943 TIP3 H1 HT .417000 1.00800 0 12727 BULK 3943 TIP3 H2 HT .417000 1.00800 0 12728 BULK 3944 TIP3 OH2 OT -.834000 15.9994 0 12729 BULK 3944 TIP3 H1 HT .417000 1.00800 0 12730 BULK 3944 TIP3 H2 HT .417000 1.00800 0 12731 BULK 3945 TIP3 OH2 OT -.834000 15.9994 0 12732 BULK 3945 TIP3 H1 HT .417000 1.00800 0 12733 BULK 3945 TIP3 H2 HT .417000 1.00800 0 12734 BULK 3946 TIP3 OH2 OT -.834000 15.9994 0 12735 BULK 3946 TIP3 H1 HT .417000 1.00800 0 12736 BULK 3946 TIP3 H2 HT .417000 1.00800 0 12737 BULK 3947 TIP3 OH2 OT -.834000 15.9994 0 12738 BULK 3947 TIP3 H1 HT .417000 1.00800 0 12739 BULK 3947 TIP3 H2 HT .417000 1.00800 0 12740 BULK 3948 TIP3 OH2 OT -.834000 15.9994 0 12741 BULK 3948 TIP3 H1 HT .417000 1.00800 0 12742 BULK 3948 TIP3 H2 HT .417000 1.00800 0 12743 BULK 3949 TIP3 OH2 OT -.834000 15.9994 0 12744 BULK 3949 TIP3 H1 HT .417000 1.00800 0 12745 BULK 3949 TIP3 H2 HT .417000 1.00800 0 12746 BULK 3950 TIP3 OH2 OT -.834000 15.9994 0 12747 BULK 3950 TIP3 H1 HT .417000 1.00800 0 12748 BULK 3950 TIP3 H2 HT .417000 1.00800 0 12749 BULK 3951 TIP3 OH2 OT -.834000 15.9994 0 12750 BULK 3951 TIP3 H1 HT .417000 1.00800 0 12751 BULK 3951 TIP3 H2 HT .417000 1.00800 0 12752 BULK 3952 TIP3 OH2 OT -.834000 15.9994 0 12753 BULK 3952 TIP3 H1 HT .417000 1.00800 0 12754 BULK 3952 TIP3 H2 HT .417000 1.00800 0 12755 BULK 3953 TIP3 OH2 OT -.834000 15.9994 0 12756 BULK 3953 TIP3 H1 HT .417000 1.00800 0 12757 BULK 3953 TIP3 H2 HT .417000 1.00800 0 12758 BULK 3954 TIP3 OH2 OT -.834000 15.9994 0 12759 BULK 3954 TIP3 H1 HT .417000 1.00800 0 12760 BULK 3954 TIP3 H2 HT .417000 1.00800 0 12761 BULK 3955 TIP3 OH2 OT -.834000 15.9994 0 12762 BULK 3955 TIP3 H1 HT .417000 1.00800 0 12763 BULK 3955 TIP3 H2 HT .417000 1.00800 0 12764 BULK 3956 TIP3 OH2 OT -.834000 15.9994 0 12765 BULK 3956 TIP3 H1 HT .417000 1.00800 0 12766 BULK 3956 TIP3 H2 HT .417000 1.00800 0 12767 BULK 3957 TIP3 OH2 OT -.834000 15.9994 0 12768 BULK 3957 TIP3 H1 HT .417000 1.00800 0 12769 BULK 3957 TIP3 H2 HT .417000 1.00800 0 12770 BULK 3958 TIP3 OH2 OT -.834000 15.9994 0 12771 BULK 3958 TIP3 H1 HT .417000 1.00800 0 12772 BULK 3958 TIP3 H2 HT .417000 1.00800 0 12773 BULK 3959 TIP3 OH2 OT -.834000 15.9994 0 12774 BULK 3959 TIP3 H1 HT .417000 1.00800 0 12775 BULK 3959 TIP3 H2 HT .417000 1.00800 0 12776 BULK 3960 TIP3 OH2 OT -.834000 15.9994 0 12777 BULK 3960 TIP3 H1 HT .417000 1.00800 0 12778 BULK 3960 TIP3 H2 HT .417000 1.00800 0 12779 BULK 3961 TIP3 OH2 OT -.834000 15.9994 0 12780 BULK 3961 TIP3 H1 HT .417000 1.00800 0 12781 BULK 3961 TIP3 H2 HT .417000 1.00800 0 12782 BULK 3962 TIP3 OH2 OT -.834000 15.9994 0 12783 BULK 3962 TIP3 H1 HT .417000 1.00800 0 12784 BULK 3962 TIP3 H2 HT .417000 1.00800 0 12785 BULK 3963 TIP3 OH2 OT -.834000 15.9994 0 12786 BULK 3963 TIP3 H1 HT .417000 1.00800 0 12787 BULK 3963 TIP3 H2 HT .417000 1.00800 0 12788 BULK 3964 TIP3 OH2 OT -.834000 15.9994 0 12789 BULK 3964 TIP3 H1 HT .417000 1.00800 0 12790 BULK 3964 TIP3 H2 HT .417000 1.00800 0 12791 BULK 3965 TIP3 OH2 OT -.834000 15.9994 0 12792 BULK 3965 TIP3 H1 HT .417000 1.00800 0 12793 BULK 3965 TIP3 H2 HT .417000 1.00800 0 12794 BULK 3966 TIP3 OH2 OT -.834000 15.9994 0 12795 BULK 3966 TIP3 H1 HT .417000 1.00800 0 12796 BULK 3966 TIP3 H2 HT .417000 1.00800 0 12797 BULK 3967 TIP3 OH2 OT -.834000 15.9994 0 12798 BULK 3967 TIP3 H1 HT .417000 1.00800 0 12799 BULK 3967 TIP3 H2 HT .417000 1.00800 0 12800 BULK 3968 TIP3 OH2 OT -.834000 15.9994 0 12801 BULK 3968 TIP3 H1 HT .417000 1.00800 0 12802 BULK 3968 TIP3 H2 HT .417000 1.00800 0 12803 BULK 3969 TIP3 OH2 OT -.834000 15.9994 0 12804 BULK 3969 TIP3 H1 HT .417000 1.00800 0 12805 BULK 3969 TIP3 H2 HT .417000 1.00800 0 12806 BULK 3970 TIP3 OH2 OT -.834000 15.9994 0 12807 BULK 3970 TIP3 H1 HT .417000 1.00800 0 12808 BULK 3970 TIP3 H2 HT .417000 1.00800 0 12809 BULK 3971 TIP3 OH2 OT -.834000 15.9994 0 12810 BULK 3971 TIP3 H1 HT .417000 1.00800 0 12811 BULK 3971 TIP3 H2 HT .417000 1.00800 0 12812 BULK 3972 TIP3 OH2 OT -.834000 15.9994 0 12813 BULK 3972 TIP3 H1 HT .417000 1.00800 0 12814 BULK 3972 TIP3 H2 HT .417000 1.00800 0 12815 BULK 3973 TIP3 OH2 OT -.834000 15.9994 0 12816 BULK 3973 TIP3 H1 HT .417000 1.00800 0 12817 BULK 3973 TIP3 H2 HT .417000 1.00800 0 12818 BULK 3974 TIP3 OH2 OT -.834000 15.9994 0 12819 BULK 3974 TIP3 H1 HT .417000 1.00800 0 12820 BULK 3974 TIP3 H2 HT .417000 1.00800 0 12821 BULK 3975 TIP3 OH2 OT -.834000 15.9994 0 12822 BULK 3975 TIP3 H1 HT .417000 1.00800 0 12823 BULK 3975 TIP3 H2 HT .417000 1.00800 0 12824 BULK 3976 TIP3 OH2 OT -.834000 15.9994 0 12825 BULK 3976 TIP3 H1 HT .417000 1.00800 0 12826 BULK 3976 TIP3 H2 HT .417000 1.00800 0 12827 BULK 3977 TIP3 OH2 OT -.834000 15.9994 0 12828 BULK 3977 TIP3 H1 HT .417000 1.00800 0 12829 BULK 3977 TIP3 H2 HT .417000 1.00800 0 12830 BULK 3978 TIP3 OH2 OT -.834000 15.9994 0 12831 BULK 3978 TIP3 H1 HT .417000 1.00800 0 12832 BULK 3978 TIP3 H2 HT .417000 1.00800 0 12833 BULK 3979 TIP3 OH2 OT -.834000 15.9994 0 12834 BULK 3979 TIP3 H1 HT .417000 1.00800 0 12835 BULK 3979 TIP3 H2 HT .417000 1.00800 0 12836 BULK 3980 TIP3 OH2 OT -.834000 15.9994 0 12837 BULK 3980 TIP3 H1 HT .417000 1.00800 0 12838 BULK 3980 TIP3 H2 HT .417000 1.00800 0 12839 BULK 3981 TIP3 OH2 OT -.834000 15.9994 0 12840 BULK 3981 TIP3 H1 HT .417000 1.00800 0 12841 BULK 3981 TIP3 H2 HT .417000 1.00800 0 12842 BULK 3982 TIP3 OH2 OT -.834000 15.9994 0 12843 BULK 3982 TIP3 H1 HT .417000 1.00800 0 12844 BULK 3982 TIP3 H2 HT .417000 1.00800 0 12845 BULK 3983 TIP3 OH2 OT -.834000 15.9994 0 12846 BULK 3983 TIP3 H1 HT .417000 1.00800 0 12847 BULK 3983 TIP3 H2 HT .417000 1.00800 0 12848 BULK 3984 TIP3 OH2 OT -.834000 15.9994 0 12849 BULK 3984 TIP3 H1 HT .417000 1.00800 0 12850 BULK 3984 TIP3 H2 HT .417000 1.00800 0 12851 BULK 3985 TIP3 OH2 OT -.834000 15.9994 0 12852 BULK 3985 TIP3 H1 HT .417000 1.00800 0 12853 BULK 3985 TIP3 H2 HT .417000 1.00800 0 12854 BULK 3986 TIP3 OH2 OT -.834000 15.9994 0 12855 BULK 3986 TIP3 H1 HT .417000 1.00800 0 12856 BULK 3986 TIP3 H2 HT .417000 1.00800 0 12857 BULK 3987 TIP3 OH2 OT -.834000 15.9994 0 12858 BULK 3987 TIP3 H1 HT .417000 1.00800 0 12859 BULK 3987 TIP3 H2 HT .417000 1.00800 0 12860 BULK 3988 TIP3 OH2 OT -.834000 15.9994 0 12861 BULK 3988 TIP3 H1 HT .417000 1.00800 0 12862 BULK 3988 TIP3 H2 HT .417000 1.00800 0 12863 BULK 3989 TIP3 OH2 OT -.834000 15.9994 0 12864 BULK 3989 TIP3 H1 HT .417000 1.00800 0 12865 BULK 3989 TIP3 H2 HT .417000 1.00800 0 12866 BULK 3990 TIP3 OH2 OT -.834000 15.9994 0 12867 BULK 3990 TIP3 H1 HT .417000 1.00800 0 12868 BULK 3990 TIP3 H2 HT .417000 1.00800 0 12869 BULK 3991 TIP3 OH2 OT -.834000 15.9994 0 12870 BULK 3991 TIP3 H1 HT .417000 1.00800 0 12871 BULK 3991 TIP3 H2 HT .417000 1.00800 0 12872 BULK 3992 TIP3 OH2 OT -.834000 15.9994 0 12873 BULK 3992 TIP3 H1 HT .417000 1.00800 0 12874 BULK 3992 TIP3 H2 HT .417000 1.00800 0 12875 BULK 3993 TIP3 OH2 OT -.834000 15.9994 0 12876 BULK 3993 TIP3 H1 HT .417000 1.00800 0 12877 BULK 3993 TIP3 H2 HT .417000 1.00800 0 12878 BULK 3994 TIP3 OH2 OT -.834000 15.9994 0 12879 BULK 3994 TIP3 H1 HT .417000 1.00800 0 12880 BULK 3994 TIP3 H2 HT .417000 1.00800 0 12881 BULK 3995 TIP3 OH2 OT -.834000 15.9994 0 12882 BULK 3995 TIP3 H1 HT .417000 1.00800 0 12883 BULK 3995 TIP3 H2 HT .417000 1.00800 0 12884 BULK 3996 TIP3 OH2 OT -.834000 15.9994 0 12885 BULK 3996 TIP3 H1 HT .417000 1.00800 0 12886 BULK 3996 TIP3 H2 HT .417000 1.00800 0 12887 BULK 3997 TIP3 OH2 OT -.834000 15.9994 0 12888 BULK 3997 TIP3 H1 HT .417000 1.00800 0 12889 BULK 3997 TIP3 H2 HT .417000 1.00800 0 12890 BULK 3998 TIP3 OH2 OT -.834000 15.9994 0 12891 BULK 3998 TIP3 H1 HT .417000 1.00800 0 12892 BULK 3998 TIP3 H2 HT .417000 1.00800 0 12893 BULK 3999 TIP3 OH2 OT -.834000 15.9994 0 12894 BULK 3999 TIP3 H1 HT .417000 1.00800 0 12895 BULK 3999 TIP3 H2 HT .417000 1.00800 0 12896 BULK 4000 TIP3 OH2 OT -.834000 15.9994 0 12897 BULK 4000 TIP3 H1 HT .417000 1.00800 0 12898 BULK 4000 TIP3 H2 HT .417000 1.00800 0 12899 BULK 4001 TIP3 OH2 OT -.834000 15.9994 0 12900 BULK 4001 TIP3 H1 HT .417000 1.00800 0 12901 BULK 4001 TIP3 H2 HT .417000 1.00800 0 12902 BULK 4002 TIP3 OH2 OT -.834000 15.9994 0 12903 BULK 4002 TIP3 H1 HT .417000 1.00800 0 12904 BULK 4002 TIP3 H2 HT .417000 1.00800 0 12905 BULK 4003 TIP3 OH2 OT -.834000 15.9994 0 12906 BULK 4003 TIP3 H1 HT .417000 1.00800 0 12907 BULK 4003 TIP3 H2 HT .417000 1.00800 0 12908 BULK 4004 TIP3 OH2 OT -.834000 15.9994 0 12909 BULK 4004 TIP3 H1 HT .417000 1.00800 0 12910 BULK 4004 TIP3 H2 HT .417000 1.00800 0 12911 BULK 4005 TIP3 OH2 OT -.834000 15.9994 0 12912 BULK 4005 TIP3 H1 HT .417000 1.00800 0 12913 BULK 4005 TIP3 H2 HT .417000 1.00800 0 12914 BULK 4006 TIP3 OH2 OT -.834000 15.9994 0 12915 BULK 4006 TIP3 H1 HT .417000 1.00800 0 12916 BULK 4006 TIP3 H2 HT .417000 1.00800 0 12917 BULK 4007 TIP3 OH2 OT -.834000 15.9994 0 12918 BULK 4007 TIP3 H1 HT .417000 1.00800 0 12919 BULK 4007 TIP3 H2 HT .417000 1.00800 0 12920 BULK 4008 TIP3 OH2 OT -.834000 15.9994 0 12921 BULK 4008 TIP3 H1 HT .417000 1.00800 0 12922 BULK 4008 TIP3 H2 HT .417000 1.00800 0 12923 BULK 4009 TIP3 OH2 OT -.834000 15.9994 0 12924 BULK 4009 TIP3 H1 HT .417000 1.00800 0 12925 BULK 4009 TIP3 H2 HT .417000 1.00800 0 12926 BULK 4010 TIP3 OH2 OT -.834000 15.9994 0 12927 BULK 4010 TIP3 H1 HT .417000 1.00800 0 12928 BULK 4010 TIP3 H2 HT .417000 1.00800 0 12929 BULK 4011 TIP3 OH2 OT -.834000 15.9994 0 12930 BULK 4011 TIP3 H1 HT .417000 1.00800 0 12931 BULK 4011 TIP3 H2 HT .417000 1.00800 0 12932 BULK 4012 TIP3 OH2 OT -.834000 15.9994 0 12933 BULK 4012 TIP3 H1 HT .417000 1.00800 0 12934 BULK 4012 TIP3 H2 HT .417000 1.00800 0 12935 BULK 4013 TIP3 OH2 OT -.834000 15.9994 0 12936 BULK 4013 TIP3 H1 HT .417000 1.00800 0 12937 BULK 4013 TIP3 H2 HT .417000 1.00800 0 12938 BULK 4014 TIP3 OH2 OT -.834000 15.9994 0 12939 BULK 4014 TIP3 H1 HT .417000 1.00800 0 12940 BULK 4014 TIP3 H2 HT .417000 1.00800 0 12941 BULK 4015 TIP3 OH2 OT -.834000 15.9994 0 12942 BULK 4015 TIP3 H1 HT .417000 1.00800 0 12943 BULK 4015 TIP3 H2 HT .417000 1.00800 0 12944 BULK 4016 TIP3 OH2 OT -.834000 15.9994 0 12945 BULK 4016 TIP3 H1 HT .417000 1.00800 0 12946 BULK 4016 TIP3 H2 HT .417000 1.00800 0 12947 BULK 4017 TIP3 OH2 OT -.834000 15.9994 0 12948 BULK 4017 TIP3 H1 HT .417000 1.00800 0 12949 BULK 4017 TIP3 H2 HT .417000 1.00800 0 12950 BULK 4018 TIP3 OH2 OT -.834000 15.9994 0 12951 BULK 4018 TIP3 H1 HT .417000 1.00800 0 12952 BULK 4018 TIP3 H2 HT .417000 1.00800 0 12953 BULK 4019 TIP3 OH2 OT -.834000 15.9994 0 12954 BULK 4019 TIP3 H1 HT .417000 1.00800 0 12955 BULK 4019 TIP3 H2 HT .417000 1.00800 0 12956 BULK 4020 TIP3 OH2 OT -.834000 15.9994 0 12957 BULK 4020 TIP3 H1 HT .417000 1.00800 0 12958 BULK 4020 TIP3 H2 HT .417000 1.00800 0 12959 BULK 4021 TIP3 OH2 OT -.834000 15.9994 0 12960 BULK 4021 TIP3 H1 HT .417000 1.00800 0 12961 BULK 4021 TIP3 H2 HT .417000 1.00800 0 12962 BULK 4022 TIP3 OH2 OT -.834000 15.9994 0 12963 BULK 4022 TIP3 H1 HT .417000 1.00800 0 12964 BULK 4022 TIP3 H2 HT .417000 1.00800 0 12965 BULK 4023 TIP3 OH2 OT -.834000 15.9994 0 12966 BULK 4023 TIP3 H1 HT .417000 1.00800 0 12967 BULK 4023 TIP3 H2 HT .417000 1.00800 0 12968 BULK 4024 TIP3 OH2 OT -.834000 15.9994 0 12969 BULK 4024 TIP3 H1 HT .417000 1.00800 0 12970 BULK 4024 TIP3 H2 HT .417000 1.00800 0 12971 BULK 4025 TIP3 OH2 OT -.834000 15.9994 0 12972 BULK 4025 TIP3 H1 HT .417000 1.00800 0 12973 BULK 4025 TIP3 H2 HT .417000 1.00800 0 12974 BULK 4026 TIP3 OH2 OT -.834000 15.9994 0 12975 BULK 4026 TIP3 H1 HT .417000 1.00800 0 12976 BULK 4026 TIP3 H2 HT .417000 1.00800 0 12977 BULK 4027 TIP3 OH2 OT -.834000 15.9994 0 12978 BULK 4027 TIP3 H1 HT .417000 1.00800 0 12979 BULK 4027 TIP3 H2 HT .417000 1.00800 0 12980 BULK 4028 TIP3 OH2 OT -.834000 15.9994 0 12981 BULK 4028 TIP3 H1 HT .417000 1.00800 0 12982 BULK 4028 TIP3 H2 HT .417000 1.00800 0 12983 BULK 4029 TIP3 OH2 OT -.834000 15.9994 0 12984 BULK 4029 TIP3 H1 HT .417000 1.00800 0 12985 BULK 4029 TIP3 H2 HT .417000 1.00800 0 12986 BULK 4030 TIP3 OH2 OT -.834000 15.9994 0 12987 BULK 4030 TIP3 H1 HT .417000 1.00800 0 12988 BULK 4030 TIP3 H2 HT .417000 1.00800 0 12989 BULK 4031 TIP3 OH2 OT -.834000 15.9994 0 12990 BULK 4031 TIP3 H1 HT .417000 1.00800 0 12991 BULK 4031 TIP3 H2 HT .417000 1.00800 0 12992 BULK 4032 TIP3 OH2 OT -.834000 15.9994 0 12993 BULK 4032 TIP3 H1 HT .417000 1.00800 0 12994 BULK 4032 TIP3 H2 HT .417000 1.00800 0 12995 BULK 4033 TIP3 OH2 OT -.834000 15.9994 0 12996 BULK 4033 TIP3 H1 HT .417000 1.00800 0 12997 BULK 4033 TIP3 H2 HT .417000 1.00800 0 12998 BULK 4034 TIP3 OH2 OT -.834000 15.9994 0 12999 BULK 4034 TIP3 H1 HT .417000 1.00800 0 13000 BULK 4034 TIP3 H2 HT .417000 1.00800 0 13001 BULK 4035 TIP3 OH2 OT -.834000 15.9994 0 13002 BULK 4035 TIP3 H1 HT .417000 1.00800 0 13003 BULK 4035 TIP3 H2 HT .417000 1.00800 0 13004 BULK 4036 TIP3 OH2 OT -.834000 15.9994 0 13005 BULK 4036 TIP3 H1 HT .417000 1.00800 0 13006 BULK 4036 TIP3 H2 HT .417000 1.00800 0 13007 BULK 4037 TIP3 OH2 OT -.834000 15.9994 0 13008 BULK 4037 TIP3 H1 HT .417000 1.00800 0 13009 BULK 4037 TIP3 H2 HT .417000 1.00800 0 13010 BULK 4038 TIP3 OH2 OT -.834000 15.9994 0 13011 BULK 4038 TIP3 H1 HT .417000 1.00800 0 13012 BULK 4038 TIP3 H2 HT .417000 1.00800 0 13013 BULK 4039 TIP3 OH2 OT -.834000 15.9994 0 13014 BULK 4039 TIP3 H1 HT .417000 1.00800 0 13015 BULK 4039 TIP3 H2 HT .417000 1.00800 0 13016 BULK 4040 TIP3 OH2 OT -.834000 15.9994 0 13017 BULK 4040 TIP3 H1 HT .417000 1.00800 0 13018 BULK 4040 TIP3 H2 HT .417000 1.00800 0 13019 BULK 4041 TIP3 OH2 OT -.834000 15.9994 0 13020 BULK 4041 TIP3 H1 HT .417000 1.00800 0 13021 BULK 4041 TIP3 H2 HT .417000 1.00800 0 13022 BULK 4042 TIP3 OH2 OT -.834000 15.9994 0 13023 BULK 4042 TIP3 H1 HT .417000 1.00800 0 13024 BULK 4042 TIP3 H2 HT .417000 1.00800 0 13025 BULK 4043 TIP3 OH2 OT -.834000 15.9994 0 13026 BULK 4043 TIP3 H1 HT .417000 1.00800 0 13027 BULK 4043 TIP3 H2 HT .417000 1.00800 0 13028 BULK 4044 TIP3 OH2 OT -.834000 15.9994 0 13029 BULK 4044 TIP3 H1 HT .417000 1.00800 0 13030 BULK 4044 TIP3 H2 HT .417000 1.00800 0 13031 BULK 4045 TIP3 OH2 OT -.834000 15.9994 0 13032 BULK 4045 TIP3 H1 HT .417000 1.00800 0 13033 BULK 4045 TIP3 H2 HT .417000 1.00800 0 13034 BULK 4046 TIP3 OH2 OT -.834000 15.9994 0 13035 BULK 4046 TIP3 H1 HT .417000 1.00800 0 13036 BULK 4046 TIP3 H2 HT .417000 1.00800 0 13037 BULK 4047 TIP3 OH2 OT -.834000 15.9994 0 13038 BULK 4047 TIP3 H1 HT .417000 1.00800 0 13039 BULK 4047 TIP3 H2 HT .417000 1.00800 0 13040 BULK 4048 TIP3 OH2 OT -.834000 15.9994 0 13041 BULK 4048 TIP3 H1 HT .417000 1.00800 0 13042 BULK 4048 TIP3 H2 HT .417000 1.00800 0 13043 BULK 4049 TIP3 OH2 OT -.834000 15.9994 0 13044 BULK 4049 TIP3 H1 HT .417000 1.00800 0 13045 BULK 4049 TIP3 H2 HT .417000 1.00800 0 13046 BULK 4050 TIP3 OH2 OT -.834000 15.9994 0 13047 BULK 4050 TIP3 H1 HT .417000 1.00800 0 13048 BULK 4050 TIP3 H2 HT .417000 1.00800 0 13049 BULK 4051 TIP3 OH2 OT -.834000 15.9994 0 13050 BULK 4051 TIP3 H1 HT .417000 1.00800 0 13051 BULK 4051 TIP3 H2 HT .417000 1.00800 0 13052 BULK 4052 TIP3 OH2 OT -.834000 15.9994 0 13053 BULK 4052 TIP3 H1 HT .417000 1.00800 0 13054 BULK 4052 TIP3 H2 HT .417000 1.00800 0 13055 BULK 4053 TIP3 OH2 OT -.834000 15.9994 0 13056 BULK 4053 TIP3 H1 HT .417000 1.00800 0 13057 BULK 4053 TIP3 H2 HT .417000 1.00800 0 13058 BULK 4054 TIP3 OH2 OT -.834000 15.9994 0 13059 BULK 4054 TIP3 H1 HT .417000 1.00800 0 13060 BULK 4054 TIP3 H2 HT .417000 1.00800 0 13061 BULK 4055 TIP3 OH2 OT -.834000 15.9994 0 13062 BULK 4055 TIP3 H1 HT .417000 1.00800 0 13063 BULK 4055 TIP3 H2 HT .417000 1.00800 0 13064 BULK 4056 TIP3 OH2 OT -.834000 15.9994 0 13065 BULK 4056 TIP3 H1 HT .417000 1.00800 0 13066 BULK 4056 TIP3 H2 HT .417000 1.00800 0 13067 BULK 4057 TIP3 OH2 OT -.834000 15.9994 0 13068 BULK 4057 TIP3 H1 HT .417000 1.00800 0 13069 BULK 4057 TIP3 H2 HT .417000 1.00800 0 13070 BULK 4058 TIP3 OH2 OT -.834000 15.9994 0 13071 BULK 4058 TIP3 H1 HT .417000 1.00800 0 13072 BULK 4058 TIP3 H2 HT .417000 1.00800 0 13073 BULK 4059 TIP3 OH2 OT -.834000 15.9994 0 13074 BULK 4059 TIP3 H1 HT .417000 1.00800 0 13075 BULK 4059 TIP3 H2 HT .417000 1.00800 0 13076 BULK 4060 TIP3 OH2 OT -.834000 15.9994 0 13077 BULK 4060 TIP3 H1 HT .417000 1.00800 0 13078 BULK 4060 TIP3 H2 HT .417000 1.00800 0 13079 BULK 4061 TIP3 OH2 OT -.834000 15.9994 0 13080 BULK 4061 TIP3 H1 HT .417000 1.00800 0 13081 BULK 4061 TIP3 H2 HT .417000 1.00800 0 13082 BULK 4062 TIP3 OH2 OT -.834000 15.9994 0 13083 BULK 4062 TIP3 H1 HT .417000 1.00800 0 13084 BULK 4062 TIP3 H2 HT .417000 1.00800 0 13085 BULK 4063 TIP3 OH2 OT -.834000 15.9994 0 13086 BULK 4063 TIP3 H1 HT .417000 1.00800 0 13087 BULK 4063 TIP3 H2 HT .417000 1.00800 0 13088 BULK 4064 TIP3 OH2 OT -.834000 15.9994 0 13089 BULK 4064 TIP3 H1 HT .417000 1.00800 0 13090 BULK 4064 TIP3 H2 HT .417000 1.00800 0 13091 BULK 4065 TIP3 OH2 OT -.834000 15.9994 0 13092 BULK 4065 TIP3 H1 HT .417000 1.00800 0 13093 BULK 4065 TIP3 H2 HT .417000 1.00800 0 13094 BULK 4066 TIP3 OH2 OT -.834000 15.9994 0 13095 BULK 4066 TIP3 H1 HT .417000 1.00800 0 13096 BULK 4066 TIP3 H2 HT .417000 1.00800 0 13097 BULK 4067 TIP3 OH2 OT -.834000 15.9994 0 13098 BULK 4067 TIP3 H1 HT .417000 1.00800 0 13099 BULK 4067 TIP3 H2 HT .417000 1.00800 0 13100 BULK 4068 TIP3 OH2 OT -.834000 15.9994 0 13101 BULK 4068 TIP3 H1 HT .417000 1.00800 0 13102 BULK 4068 TIP3 H2 HT .417000 1.00800 0 13103 BULK 4069 TIP3 OH2 OT -.834000 15.9994 0 13104 BULK 4069 TIP3 H1 HT .417000 1.00800 0 13105 BULK 4069 TIP3 H2 HT .417000 1.00800 0 13106 BULK 4070 TIP3 OH2 OT -.834000 15.9994 0 13107 BULK 4070 TIP3 H1 HT .417000 1.00800 0 13108 BULK 4070 TIP3 H2 HT .417000 1.00800 0 13109 BULK 4071 TIP3 OH2 OT -.834000 15.9994 0 13110 BULK 4071 TIP3 H1 HT .417000 1.00800 0 13111 BULK 4071 TIP3 H2 HT .417000 1.00800 0 13112 BULK 4072 TIP3 OH2 OT -.834000 15.9994 0 13113 BULK 4072 TIP3 H1 HT .417000 1.00800 0 13114 BULK 4072 TIP3 H2 HT .417000 1.00800 0 13115 BULK 4073 TIP3 OH2 OT -.834000 15.9994 0 13116 BULK 4073 TIP3 H1 HT .417000 1.00800 0 13117 BULK 4073 TIP3 H2 HT .417000 1.00800 0 13118 BULK 4074 TIP3 OH2 OT -.834000 15.9994 0 13119 BULK 4074 TIP3 H1 HT .417000 1.00800 0 13120 BULK 4074 TIP3 H2 HT .417000 1.00800 0 13121 BULK 4075 TIP3 OH2 OT -.834000 15.9994 0 13122 BULK 4075 TIP3 H1 HT .417000 1.00800 0 13123 BULK 4075 TIP3 H2 HT .417000 1.00800 0 13124 BULK 4076 TIP3 OH2 OT -.834000 15.9994 0 13125 BULK 4076 TIP3 H1 HT .417000 1.00800 0 13126 BULK 4076 TIP3 H2 HT .417000 1.00800 0 13127 BULK 4077 TIP3 OH2 OT -.834000 15.9994 0 13128 BULK 4077 TIP3 H1 HT .417000 1.00800 0 13129 BULK 4077 TIP3 H2 HT .417000 1.00800 0 13130 BULK 4078 TIP3 OH2 OT -.834000 15.9994 0 13131 BULK 4078 TIP3 H1 HT .417000 1.00800 0 13132 BULK 4078 TIP3 H2 HT .417000 1.00800 0 13133 BULK 4079 TIP3 OH2 OT -.834000 15.9994 0 13134 BULK 4079 TIP3 H1 HT .417000 1.00800 0 13135 BULK 4079 TIP3 H2 HT .417000 1.00800 0 13136 BULK 4080 TIP3 OH2 OT -.834000 15.9994 0 13137 BULK 4080 TIP3 H1 HT .417000 1.00800 0 13138 BULK 4080 TIP3 H2 HT .417000 1.00800 0 13139 BULK 4081 TIP3 OH2 OT -.834000 15.9994 0 13140 BULK 4081 TIP3 H1 HT .417000 1.00800 0 13141 BULK 4081 TIP3 H2 HT .417000 1.00800 0 13142 BULK 4082 TIP3 OH2 OT -.834000 15.9994 0 13143 BULK 4082 TIP3 H1 HT .417000 1.00800 0 13144 BULK 4082 TIP3 H2 HT .417000 1.00800 0 13145 BULK 4083 TIP3 OH2 OT -.834000 15.9994 0 13146 BULK 4083 TIP3 H1 HT .417000 1.00800 0 13147 BULK 4083 TIP3 H2 HT .417000 1.00800 0 13148 BULK 4084 TIP3 OH2 OT -.834000 15.9994 0 13149 BULK 4084 TIP3 H1 HT .417000 1.00800 0 13150 BULK 4084 TIP3 H2 HT .417000 1.00800 0 13151 BULK 4085 TIP3 OH2 OT -.834000 15.9994 0 13152 BULK 4085 TIP3 H1 HT .417000 1.00800 0 13153 BULK 4085 TIP3 H2 HT .417000 1.00800 0 13154 BULK 4086 TIP3 OH2 OT -.834000 15.9994 0 13155 BULK 4086 TIP3 H1 HT .417000 1.00800 0 13156 BULK 4086 TIP3 H2 HT .417000 1.00800 0 13157 BULK 4087 TIP3 OH2 OT -.834000 15.9994 0 13158 BULK 4087 TIP3 H1 HT .417000 1.00800 0 13159 BULK 4087 TIP3 H2 HT .417000 1.00800 0 13160 BULK 4088 TIP3 OH2 OT -.834000 15.9994 0 13161 BULK 4088 TIP3 H1 HT .417000 1.00800 0 13162 BULK 4088 TIP3 H2 HT .417000 1.00800 0 13163 BULK 4089 TIP3 OH2 OT -.834000 15.9994 0 13164 BULK 4089 TIP3 H1 HT .417000 1.00800 0 13165 BULK 4089 TIP3 H2 HT .417000 1.00800 0 13166 BULK 4090 TIP3 OH2 OT -.834000 15.9994 0 13167 BULK 4090 TIP3 H1 HT .417000 1.00800 0 13168 BULK 4090 TIP3 H2 HT .417000 1.00800 0 13169 BULK 4091 TIP3 OH2 OT -.834000 15.9994 0 13170 BULK 4091 TIP3 H1 HT .417000 1.00800 0 13171 BULK 4091 TIP3 H2 HT .417000 1.00800 0 13172 BULK 4092 TIP3 OH2 OT -.834000 15.9994 0 13173 BULK 4092 TIP3 H1 HT .417000 1.00800 0 13174 BULK 4092 TIP3 H2 HT .417000 1.00800 0 13175 BULK 4093 TIP3 OH2 OT -.834000 15.9994 0 13176 BULK 4093 TIP3 H1 HT .417000 1.00800 0 13177 BULK 4093 TIP3 H2 HT .417000 1.00800 0 13178 BULK 4094 TIP3 OH2 OT -.834000 15.9994 0 13179 BULK 4094 TIP3 H1 HT .417000 1.00800 0 13180 BULK 4094 TIP3 H2 HT .417000 1.00800 0 13181 BULK 4095 TIP3 OH2 OT -.834000 15.9994 0 13182 BULK 4095 TIP3 H1 HT .417000 1.00800 0 13183 BULK 4095 TIP3 H2 HT .417000 1.00800 0 13184 BULK 4096 TIP3 OH2 OT -.834000 15.9994 0 13185 BULK 4096 TIP3 H1 HT .417000 1.00800 0 13186 BULK 4096 TIP3 H2 HT .417000 1.00800 0 13187 BULK 4097 TIP3 OH2 OT -.834000 15.9994 0 13188 BULK 4097 TIP3 H1 HT .417000 1.00800 0 13189 BULK 4097 TIP3 H2 HT .417000 1.00800 0 13190 BULK 4098 TIP3 OH2 OT -.834000 15.9994 0 13191 BULK 4098 TIP3 H1 HT .417000 1.00800 0 13192 BULK 4098 TIP3 H2 HT .417000 1.00800 0 13193 BULK 4099 TIP3 OH2 OT -.834000 15.9994 0 13194 BULK 4099 TIP3 H1 HT .417000 1.00800 0 13195 BULK 4099 TIP3 H2 HT .417000 1.00800 0 13196 BULK 4100 TIP3 OH2 OT -.834000 15.9994 0 13197 BULK 4100 TIP3 H1 HT .417000 1.00800 0 13198 BULK 4100 TIP3 H2 HT .417000 1.00800 0 13199 BULK 4101 TIP3 OH2 OT -.834000 15.9994 0 13200 BULK 4101 TIP3 H1 HT .417000 1.00800 0 13201 BULK 4101 TIP3 H2 HT .417000 1.00800 0 13202 BULK 4102 TIP3 OH2 OT -.834000 15.9994 0 13203 BULK 4102 TIP3 H1 HT .417000 1.00800 0 13204 BULK 4102 TIP3 H2 HT .417000 1.00800 0 13205 BULK 4103 TIP3 OH2 OT -.834000 15.9994 0 13206 BULK 4103 TIP3 H1 HT .417000 1.00800 0 13207 BULK 4103 TIP3 H2 HT .417000 1.00800 0 13208 BULK 4104 TIP3 OH2 OT -.834000 15.9994 0 13209 BULK 4104 TIP3 H1 HT .417000 1.00800 0 13210 BULK 4104 TIP3 H2 HT .417000 1.00800 0 13211 BULK 4105 TIP3 OH2 OT -.834000 15.9994 0 13212 BULK 4105 TIP3 H1 HT .417000 1.00800 0 13213 BULK 4105 TIP3 H2 HT .417000 1.00800 0 13214 BULK 4106 TIP3 OH2 OT -.834000 15.9994 0 13215 BULK 4106 TIP3 H1 HT .417000 1.00800 0 13216 BULK 4106 TIP3 H2 HT .417000 1.00800 0 13217 BULK 4107 TIP3 OH2 OT -.834000 15.9994 0 13218 BULK 4107 TIP3 H1 HT .417000 1.00800 0 13219 BULK 4107 TIP3 H2 HT .417000 1.00800 0 13220 BULK 4108 TIP3 OH2 OT -.834000 15.9994 0 13221 BULK 4108 TIP3 H1 HT .417000 1.00800 0 13222 BULK 4108 TIP3 H2 HT .417000 1.00800 0 13223 BULK 4109 TIP3 OH2 OT -.834000 15.9994 0 13224 BULK 4109 TIP3 H1 HT .417000 1.00800 0 13225 BULK 4109 TIP3 H2 HT .417000 1.00800 0 13226 BULK 4110 TIP3 OH2 OT -.834000 15.9994 0 13227 BULK 4110 TIP3 H1 HT .417000 1.00800 0 13228 BULK 4110 TIP3 H2 HT .417000 1.00800 0 13229 BULK 4111 TIP3 OH2 OT -.834000 15.9994 0 13230 BULK 4111 TIP3 H1 HT .417000 1.00800 0 13231 BULK 4111 TIP3 H2 HT .417000 1.00800 0 13232 BULK 4112 TIP3 OH2 OT -.834000 15.9994 0 13233 BULK 4112 TIP3 H1 HT .417000 1.00800 0 13234 BULK 4112 TIP3 H2 HT .417000 1.00800 0 13235 BULK 4113 TIP3 OH2 OT -.834000 15.9994 0 13236 BULK 4113 TIP3 H1 HT .417000 1.00800 0 13237 BULK 4113 TIP3 H2 HT .417000 1.00800 0 13238 BULK 4114 TIP3 OH2 OT -.834000 15.9994 0 13239 BULK 4114 TIP3 H1 HT .417000 1.00800 0 13240 BULK 4114 TIP3 H2 HT .417000 1.00800 0 13241 BULK 4115 TIP3 OH2 OT -.834000 15.9994 0 13242 BULK 4115 TIP3 H1 HT .417000 1.00800 0 13243 BULK 4115 TIP3 H2 HT .417000 1.00800 0 13244 BULK 4116 TIP3 OH2 OT -.834000 15.9994 0 13245 BULK 4116 TIP3 H1 HT .417000 1.00800 0 13246 BULK 4116 TIP3 H2 HT .417000 1.00800 0 13247 BULK 4117 TIP3 OH2 OT -.834000 15.9994 0 13248 BULK 4117 TIP3 H1 HT .417000 1.00800 0 13249 BULK 4117 TIP3 H2 HT .417000 1.00800 0 13250 BULK 4118 TIP3 OH2 OT -.834000 15.9994 0 13251 BULK 4118 TIP3 H1 HT .417000 1.00800 0 13252 BULK 4118 TIP3 H2 HT .417000 1.00800 0 13253 BULK 4119 TIP3 OH2 OT -.834000 15.9994 0 13254 BULK 4119 TIP3 H1 HT .417000 1.00800 0 13255 BULK 4119 TIP3 H2 HT .417000 1.00800 0 13256 BULK 4120 TIP3 OH2 OT -.834000 15.9994 0 13257 BULK 4120 TIP3 H1 HT .417000 1.00800 0 13258 BULK 4120 TIP3 H2 HT .417000 1.00800 0 13259 BULK 4121 TIP3 OH2 OT -.834000 15.9994 0 13260 BULK 4121 TIP3 H1 HT .417000 1.00800 0 13261 BULK 4121 TIP3 H2 HT .417000 1.00800 0 13262 BULK 4122 TIP3 OH2 OT -.834000 15.9994 0 13263 BULK 4122 TIP3 H1 HT .417000 1.00800 0 13264 BULK 4122 TIP3 H2 HT .417000 1.00800 0 13265 BULK 4123 TIP3 OH2 OT -.834000 15.9994 0 13266 BULK 4123 TIP3 H1 HT .417000 1.00800 0 13267 BULK 4123 TIP3 H2 HT .417000 1.00800 0 13268 BULK 4124 TIP3 OH2 OT -.834000 15.9994 0 13269 BULK 4124 TIP3 H1 HT .417000 1.00800 0 13270 BULK 4124 TIP3 H2 HT .417000 1.00800 0 13271 BULK 4125 TIP3 OH2 OT -.834000 15.9994 0 13272 BULK 4125 TIP3 H1 HT .417000 1.00800 0 13273 BULK 4125 TIP3 H2 HT .417000 1.00800 0 13274 BULK 4126 TIP3 OH2 OT -.834000 15.9994 0 13275 BULK 4126 TIP3 H1 HT .417000 1.00800 0 13276 BULK 4126 TIP3 H2 HT .417000 1.00800 0 13277 BULK 4127 TIP3 OH2 OT -.834000 15.9994 0 13278 BULK 4127 TIP3 H1 HT .417000 1.00800 0 13279 BULK 4127 TIP3 H2 HT .417000 1.00800 0 13280 BULK 4128 TIP3 OH2 OT -.834000 15.9994 0 13281 BULK 4128 TIP3 H1 HT .417000 1.00800 0 13282 BULK 4128 TIP3 H2 HT .417000 1.00800 0 13283 BULK 4129 TIP3 OH2 OT -.834000 15.9994 0 13284 BULK 4129 TIP3 H1 HT .417000 1.00800 0 13285 BULK 4129 TIP3 H2 HT .417000 1.00800 0 13286 BULK 4130 TIP3 OH2 OT -.834000 15.9994 0 13287 BULK 4130 TIP3 H1 HT .417000 1.00800 0 13288 BULK 4130 TIP3 H2 HT .417000 1.00800 0 13289 BULK 4131 TIP3 OH2 OT -.834000 15.9994 0 13290 BULK 4131 TIP3 H1 HT .417000 1.00800 0 13291 BULK 4131 TIP3 H2 HT .417000 1.00800 0 13292 BULK 4132 TIP3 OH2 OT -.834000 15.9994 0 13293 BULK 4132 TIP3 H1 HT .417000 1.00800 0 13294 BULK 4132 TIP3 H2 HT .417000 1.00800 0 13295 BULK 4133 TIP3 OH2 OT -.834000 15.9994 0 13296 BULK 4133 TIP3 H1 HT .417000 1.00800 0 13297 BULK 4133 TIP3 H2 HT .417000 1.00800 0 13298 BULK 4134 TIP3 OH2 OT -.834000 15.9994 0 13299 BULK 4134 TIP3 H1 HT .417000 1.00800 0 13300 BULK 4134 TIP3 H2 HT .417000 1.00800 0 13301 BULK 4135 TIP3 OH2 OT -.834000 15.9994 0 13302 BULK 4135 TIP3 H1 HT .417000 1.00800 0 13303 BULK 4135 TIP3 H2 HT .417000 1.00800 0 13304 BULK 4136 TIP3 OH2 OT -.834000 15.9994 0 13305 BULK 4136 TIP3 H1 HT .417000 1.00800 0 13306 BULK 4136 TIP3 H2 HT .417000 1.00800 0 13307 BULK 4137 TIP3 OH2 OT -.834000 15.9994 0 13308 BULK 4137 TIP3 H1 HT .417000 1.00800 0 13309 BULK 4137 TIP3 H2 HT .417000 1.00800 0 13310 BULK 4138 TIP3 OH2 OT -.834000 15.9994 0 13311 BULK 4138 TIP3 H1 HT .417000 1.00800 0 13312 BULK 4138 TIP3 H2 HT .417000 1.00800 0 13313 BULK 4139 TIP3 OH2 OT -.834000 15.9994 0 13314 BULK 4139 TIP3 H1 HT .417000 1.00800 0 13315 BULK 4139 TIP3 H2 HT .417000 1.00800 0 13316 BULK 4140 TIP3 OH2 OT -.834000 15.9994 0 13317 BULK 4140 TIP3 H1 HT .417000 1.00800 0 13318 BULK 4140 TIP3 H2 HT .417000 1.00800 0 13319 BULK 4141 TIP3 OH2 OT -.834000 15.9994 0 13320 BULK 4141 TIP3 H1 HT .417000 1.00800 0 13321 BULK 4141 TIP3 H2 HT .417000 1.00800 0 13322 BULK 4142 TIP3 OH2 OT -.834000 15.9994 0 13323 BULK 4142 TIP3 H1 HT .417000 1.00800 0 13324 BULK 4142 TIP3 H2 HT .417000 1.00800 0 13325 BULK 4143 TIP3 OH2 OT -.834000 15.9994 0 13326 BULK 4143 TIP3 H1 HT .417000 1.00800 0 13327 BULK 4143 TIP3 H2 HT .417000 1.00800 0 13328 BULK 4144 TIP3 OH2 OT -.834000 15.9994 0 13329 BULK 4144 TIP3 H1 HT .417000 1.00800 0 13330 BULK 4144 TIP3 H2 HT .417000 1.00800 0 13331 BULK 4145 TIP3 OH2 OT -.834000 15.9994 0 13332 BULK 4145 TIP3 H1 HT .417000 1.00800 0 13333 BULK 4145 TIP3 H2 HT .417000 1.00800 0 13334 BULK 4146 TIP3 OH2 OT -.834000 15.9994 0 13335 BULK 4146 TIP3 H1 HT .417000 1.00800 0 13336 BULK 4146 TIP3 H2 HT .417000 1.00800 0 13337 BULK 4147 TIP3 OH2 OT -.834000 15.9994 0 13338 BULK 4147 TIP3 H1 HT .417000 1.00800 0 13339 BULK 4147 TIP3 H2 HT .417000 1.00800 0 13340 BULK 4148 TIP3 OH2 OT -.834000 15.9994 0 13341 BULK 4148 TIP3 H1 HT .417000 1.00800 0 13342 BULK 4148 TIP3 H2 HT .417000 1.00800 0 13343 BULK 4149 TIP3 OH2 OT -.834000 15.9994 0 13344 BULK 4149 TIP3 H1 HT .417000 1.00800 0 13345 BULK 4149 TIP3 H2 HT .417000 1.00800 0 13346 BULK 4150 TIP3 OH2 OT -.834000 15.9994 0 13347 BULK 4150 TIP3 H1 HT .417000 1.00800 0 13348 BULK 4150 TIP3 H2 HT .417000 1.00800 0 13349 BULK 4151 TIP3 OH2 OT -.834000 15.9994 0 13350 BULK 4151 TIP3 H1 HT .417000 1.00800 0 13351 BULK 4151 TIP3 H2 HT .417000 1.00800 0 13352 BULK 4152 TIP3 OH2 OT -.834000 15.9994 0 13353 BULK 4152 TIP3 H1 HT .417000 1.00800 0 13354 BULK 4152 TIP3 H2 HT .417000 1.00800 0 13355 BULK 4153 TIP3 OH2 OT -.834000 15.9994 0 13356 BULK 4153 TIP3 H1 HT .417000 1.00800 0 13357 BULK 4153 TIP3 H2 HT .417000 1.00800 0 13358 BULK 4154 TIP3 OH2 OT -.834000 15.9994 0 13359 BULK 4154 TIP3 H1 HT .417000 1.00800 0 13360 BULK 4154 TIP3 H2 HT .417000 1.00800 0 13361 BULK 4155 TIP3 OH2 OT -.834000 15.9994 0 13362 BULK 4155 TIP3 H1 HT .417000 1.00800 0 13363 BULK 4155 TIP3 H2 HT .417000 1.00800 0 13364 BULK 4156 TIP3 OH2 OT -.834000 15.9994 0 13365 BULK 4156 TIP3 H1 HT .417000 1.00800 0 13366 BULK 4156 TIP3 H2 HT .417000 1.00800 0 13367 BULK 4157 TIP3 OH2 OT -.834000 15.9994 0 13368 BULK 4157 TIP3 H1 HT .417000 1.00800 0 13369 BULK 4157 TIP3 H2 HT .417000 1.00800 0 13370 BULK 4158 TIP3 OH2 OT -.834000 15.9994 0 13371 BULK 4158 TIP3 H1 HT .417000 1.00800 0 13372 BULK 4158 TIP3 H2 HT .417000 1.00800 0 13373 BULK 4159 TIP3 OH2 OT -.834000 15.9994 0 13374 BULK 4159 TIP3 H1 HT .417000 1.00800 0 13375 BULK 4159 TIP3 H2 HT .417000 1.00800 0 13376 BULK 4160 TIP3 OH2 OT -.834000 15.9994 0 13377 BULK 4160 TIP3 H1 HT .417000 1.00800 0 13378 BULK 4160 TIP3 H2 HT .417000 1.00800 0 13379 BULK 4161 TIP3 OH2 OT -.834000 15.9994 0 13380 BULK 4161 TIP3 H1 HT .417000 1.00800 0 13381 BULK 4161 TIP3 H2 HT .417000 1.00800 0 13382 BULK 4162 TIP3 OH2 OT -.834000 15.9994 0 13383 BULK 4162 TIP3 H1 HT .417000 1.00800 0 13384 BULK 4162 TIP3 H2 HT .417000 1.00800 0 13385 BULK 4163 TIP3 OH2 OT -.834000 15.9994 0 13386 BULK 4163 TIP3 H1 HT .417000 1.00800 0 13387 BULK 4163 TIP3 H2 HT .417000 1.00800 0 13388 BULK 4164 TIP3 OH2 OT -.834000 15.9994 0 13389 BULK 4164 TIP3 H1 HT .417000 1.00800 0 13390 BULK 4164 TIP3 H2 HT .417000 1.00800 0 13391 BULK 4165 TIP3 OH2 OT -.834000 15.9994 0 13392 BULK 4165 TIP3 H1 HT .417000 1.00800 0 13393 BULK 4165 TIP3 H2 HT .417000 1.00800 0 13394 BULK 4166 TIP3 OH2 OT -.834000 15.9994 0 13395 BULK 4166 TIP3 H1 HT .417000 1.00800 0 13396 BULK 4166 TIP3 H2 HT .417000 1.00800 0 13397 BULK 4167 TIP3 OH2 OT -.834000 15.9994 0 13398 BULK 4167 TIP3 H1 HT .417000 1.00800 0 13399 BULK 4167 TIP3 H2 HT .417000 1.00800 0 13400 BULK 4168 TIP3 OH2 OT -.834000 15.9994 0 13401 BULK 4168 TIP3 H1 HT .417000 1.00800 0 13402 BULK 4168 TIP3 H2 HT .417000 1.00800 0 13403 BULK 4169 TIP3 OH2 OT -.834000 15.9994 0 13404 BULK 4169 TIP3 H1 HT .417000 1.00800 0 13405 BULK 4169 TIP3 H2 HT .417000 1.00800 0 13406 BULK 4170 TIP3 OH2 OT -.834000 15.9994 0 13407 BULK 4170 TIP3 H1 HT .417000 1.00800 0 13408 BULK 4170 TIP3 H2 HT .417000 1.00800 0 13409 BULK 4171 TIP3 OH2 OT -.834000 15.9994 0 13410 BULK 4171 TIP3 H1 HT .417000 1.00800 0 13411 BULK 4171 TIP3 H2 HT .417000 1.00800 0 13412 BULK 4172 TIP3 OH2 OT -.834000 15.9994 0 13413 BULK 4172 TIP3 H1 HT .417000 1.00800 0 13414 BULK 4172 TIP3 H2 HT .417000 1.00800 0 13415 BULK 4173 TIP3 OH2 OT -.834000 15.9994 0 13416 BULK 4173 TIP3 H1 HT .417000 1.00800 0 13417 BULK 4173 TIP3 H2 HT .417000 1.00800 0 13418 BULK 4174 TIP3 OH2 OT -.834000 15.9994 0 13419 BULK 4174 TIP3 H1 HT .417000 1.00800 0 13420 BULK 4174 TIP3 H2 HT .417000 1.00800 0 13421 BULK 4175 TIP3 OH2 OT -.834000 15.9994 0 13422 BULK 4175 TIP3 H1 HT .417000 1.00800 0 13423 BULK 4175 TIP3 H2 HT .417000 1.00800 0 13424 BULK 4176 TIP3 OH2 OT -.834000 15.9994 0 13425 BULK 4176 TIP3 H1 HT .417000 1.00800 0 13426 BULK 4176 TIP3 H2 HT .417000 1.00800 0 13427 BULK 4177 TIP3 OH2 OT -.834000 15.9994 0 13428 BULK 4177 TIP3 H1 HT .417000 1.00800 0 13429 BULK 4177 TIP3 H2 HT .417000 1.00800 0 13430 BULK 4178 TIP3 OH2 OT -.834000 15.9994 0 13431 BULK 4178 TIP3 H1 HT .417000 1.00800 0 13432 BULK 4178 TIP3 H2 HT .417000 1.00800 0 13433 BULK 4179 TIP3 OH2 OT -.834000 15.9994 0 13434 BULK 4179 TIP3 H1 HT .417000 1.00800 0 13435 BULK 4179 TIP3 H2 HT .417000 1.00800 0 13436 BULK 4180 TIP3 OH2 OT -.834000 15.9994 0 13437 BULK 4180 TIP3 H1 HT .417000 1.00800 0 13438 BULK 4180 TIP3 H2 HT .417000 1.00800 0 13439 BULK 4181 TIP3 OH2 OT -.834000 15.9994 0 13440 BULK 4181 TIP3 H1 HT .417000 1.00800 0 13441 BULK 4181 TIP3 H2 HT .417000 1.00800 0 13442 BULK 4182 TIP3 OH2 OT -.834000 15.9994 0 13443 BULK 4182 TIP3 H1 HT .417000 1.00800 0 13444 BULK 4182 TIP3 H2 HT .417000 1.00800 0 13445 BULK 4183 TIP3 OH2 OT -.834000 15.9994 0 13446 BULK 4183 TIP3 H1 HT .417000 1.00800 0 13447 BULK 4183 TIP3 H2 HT .417000 1.00800 0 13448 BULK 4184 TIP3 OH2 OT -.834000 15.9994 0 13449 BULK 4184 TIP3 H1 HT .417000 1.00800 0 13450 BULK 4184 TIP3 H2 HT .417000 1.00800 0 13451 BULK 4185 TIP3 OH2 OT -.834000 15.9994 0 13452 BULK 4185 TIP3 H1 HT .417000 1.00800 0 13453 BULK 4185 TIP3 H2 HT .417000 1.00800 0 13454 BULK 4186 TIP3 OH2 OT -.834000 15.9994 0 13455 BULK 4186 TIP3 H1 HT .417000 1.00800 0 13456 BULK 4186 TIP3 H2 HT .417000 1.00800 0 13457 BULK 4187 TIP3 OH2 OT -.834000 15.9994 0 13458 BULK 4187 TIP3 H1 HT .417000 1.00800 0 13459 BULK 4187 TIP3 H2 HT .417000 1.00800 0 13460 BULK 4188 TIP3 OH2 OT -.834000 15.9994 0 13461 BULK 4188 TIP3 H1 HT .417000 1.00800 0 13462 BULK 4188 TIP3 H2 HT .417000 1.00800 0 13463 BULK 4189 TIP3 OH2 OT -.834000 15.9994 0 13464 BULK 4189 TIP3 H1 HT .417000 1.00800 0 13465 BULK 4189 TIP3 H2 HT .417000 1.00800 0 13466 BULK 4190 TIP3 OH2 OT -.834000 15.9994 0 13467 BULK 4190 TIP3 H1 HT .417000 1.00800 0 13468 BULK 4190 TIP3 H2 HT .417000 1.00800 0 13469 BULK 4191 TIP3 OH2 OT -.834000 15.9994 0 13470 BULK 4191 TIP3 H1 HT .417000 1.00800 0 13471 BULK 4191 TIP3 H2 HT .417000 1.00800 0 13472 BULK 4192 TIP3 OH2 OT -.834000 15.9994 0 13473 BULK 4192 TIP3 H1 HT .417000 1.00800 0 13474 BULK 4192 TIP3 H2 HT .417000 1.00800 0 13475 BULK 4193 TIP3 OH2 OT -.834000 15.9994 0 13476 BULK 4193 TIP3 H1 HT .417000 1.00800 0 13477 BULK 4193 TIP3 H2 HT .417000 1.00800 0 13478 BULK 4194 TIP3 OH2 OT -.834000 15.9994 0 13479 BULK 4194 TIP3 H1 HT .417000 1.00800 0 13480 BULK 4194 TIP3 H2 HT .417000 1.00800 0 13481 BULK 4195 TIP3 OH2 OT -.834000 15.9994 0 13482 BULK 4195 TIP3 H1 HT .417000 1.00800 0 13483 BULK 4195 TIP3 H2 HT .417000 1.00800 0 13484 BULK 4196 TIP3 OH2 OT -.834000 15.9994 0 13485 BULK 4196 TIP3 H1 HT .417000 1.00800 0 13486 BULK 4196 TIP3 H2 HT .417000 1.00800 0 13487 BULK 4197 TIP3 OH2 OT -.834000 15.9994 0 13488 BULK 4197 TIP3 H1 HT .417000 1.00800 0 13489 BULK 4197 TIP3 H2 HT .417000 1.00800 0 13490 BULK 4198 TIP3 OH2 OT -.834000 15.9994 0 13491 BULK 4198 TIP3 H1 HT .417000 1.00800 0 13492 BULK 4198 TIP3 H2 HT .417000 1.00800 0 13493 BULK 4199 TIP3 OH2 OT -.834000 15.9994 0 13494 BULK 4199 TIP3 H1 HT .417000 1.00800 0 13495 BULK 4199 TIP3 H2 HT .417000 1.00800 0 13496 BULK 4200 TIP3 OH2 OT -.834000 15.9994 0 13497 BULK 4200 TIP3 H1 HT .417000 1.00800 0 13498 BULK 4200 TIP3 H2 HT .417000 1.00800 0 13499 BULK 4201 TIP3 OH2 OT -.834000 15.9994 0 13500 BULK 4201 TIP3 H1 HT .417000 1.00800 0 13501 BULK 4201 TIP3 H2 HT .417000 1.00800 0 13502 BULK 4202 TIP3 OH2 OT -.834000 15.9994 0 13503 BULK 4202 TIP3 H1 HT .417000 1.00800 0 13504 BULK 4202 TIP3 H2 HT .417000 1.00800 0 13505 BULK 4203 TIP3 OH2 OT -.834000 15.9994 0 13506 BULK 4203 TIP3 H1 HT .417000 1.00800 0 13507 BULK 4203 TIP3 H2 HT .417000 1.00800 0 13508 BULK 4204 TIP3 OH2 OT -.834000 15.9994 0 13509 BULK 4204 TIP3 H1 HT .417000 1.00800 0 13510 BULK 4204 TIP3 H2 HT .417000 1.00800 0 13511 BULK 4205 TIP3 OH2 OT -.834000 15.9994 0 13512 BULK 4205 TIP3 H1 HT .417000 1.00800 0 13513 BULK 4205 TIP3 H2 HT .417000 1.00800 0 13514 BULK 4206 TIP3 OH2 OT -.834000 15.9994 0 13515 BULK 4206 TIP3 H1 HT .417000 1.00800 0 13516 BULK 4206 TIP3 H2 HT .417000 1.00800 0 13517 BULK 4207 TIP3 OH2 OT -.834000 15.9994 0 13518 BULK 4207 TIP3 H1 HT .417000 1.00800 0 13519 BULK 4207 TIP3 H2 HT .417000 1.00800 0 13520 BULK 4208 TIP3 OH2 OT -.834000 15.9994 0 13521 BULK 4208 TIP3 H1 HT .417000 1.00800 0 13522 BULK 4208 TIP3 H2 HT .417000 1.00800 0 13523 BULK 4209 TIP3 OH2 OT -.834000 15.9994 0 13524 BULK 4209 TIP3 H1 HT .417000 1.00800 0 13525 BULK 4209 TIP3 H2 HT .417000 1.00800 0 13526 BULK 4210 TIP3 OH2 OT -.834000 15.9994 0 13527 BULK 4210 TIP3 H1 HT .417000 1.00800 0 13528 BULK 4210 TIP3 H2 HT .417000 1.00800 0 13529 BULK 4211 TIP3 OH2 OT -.834000 15.9994 0 13530 BULK 4211 TIP3 H1 HT .417000 1.00800 0 13531 BULK 4211 TIP3 H2 HT .417000 1.00800 0 13532 BULK 4212 TIP3 OH2 OT -.834000 15.9994 0 13533 BULK 4212 TIP3 H1 HT .417000 1.00800 0 13534 BULK 4212 TIP3 H2 HT .417000 1.00800 0 13535 BULK 4213 TIP3 OH2 OT -.834000 15.9994 0 13536 BULK 4213 TIP3 H1 HT .417000 1.00800 0 13537 BULK 4213 TIP3 H2 HT .417000 1.00800 0 13538 BULK 4214 TIP3 OH2 OT -.834000 15.9994 0 13539 BULK 4214 TIP3 H1 HT .417000 1.00800 0 13540 BULK 4214 TIP3 H2 HT .417000 1.00800 0 13541 BULK 4215 TIP3 OH2 OT -.834000 15.9994 0 13542 BULK 4215 TIP3 H1 HT .417000 1.00800 0 13543 BULK 4215 TIP3 H2 HT .417000 1.00800 0 13544 BULK 4216 TIP3 OH2 OT -.834000 15.9994 0 13545 BULK 4216 TIP3 H1 HT .417000 1.00800 0 13546 BULK 4216 TIP3 H2 HT .417000 1.00800 0 13547 BULK 4217 TIP3 OH2 OT -.834000 15.9994 0 13548 BULK 4217 TIP3 H1 HT .417000 1.00800 0 13549 BULK 4217 TIP3 H2 HT .417000 1.00800 0 13550 BULK 4218 TIP3 OH2 OT -.834000 15.9994 0 13551 BULK 4218 TIP3 H1 HT .417000 1.00800 0 13552 BULK 4218 TIP3 H2 HT .417000 1.00800 0 13553 BULK 4219 TIP3 OH2 OT -.834000 15.9994 0 13554 BULK 4219 TIP3 H1 HT .417000 1.00800 0 13555 BULK 4219 TIP3 H2 HT .417000 1.00800 0 13556 BULK 4220 TIP3 OH2 OT -.834000 15.9994 0 13557 BULK 4220 TIP3 H1 HT .417000 1.00800 0 13558 BULK 4220 TIP3 H2 HT .417000 1.00800 0 13559 BULK 4221 TIP3 OH2 OT -.834000 15.9994 0 13560 BULK 4221 TIP3 H1 HT .417000 1.00800 0 13561 BULK 4221 TIP3 H2 HT .417000 1.00800 0 13562 BULK 4222 TIP3 OH2 OT -.834000 15.9994 0 13563 BULK 4222 TIP3 H1 HT .417000 1.00800 0 13564 BULK 4222 TIP3 H2 HT .417000 1.00800 0 13565 BULK 4223 TIP3 OH2 OT -.834000 15.9994 0 13566 BULK 4223 TIP3 H1 HT .417000 1.00800 0 13567 BULK 4223 TIP3 H2 HT .417000 1.00800 0 13568 BULK 4224 TIP3 OH2 OT -.834000 15.9994 0 13569 BULK 4224 TIP3 H1 HT .417000 1.00800 0 13570 BULK 4224 TIP3 H2 HT .417000 1.00800 0 13571 BULK 4225 TIP3 OH2 OT -.834000 15.9994 0 13572 BULK 4225 TIP3 H1 HT .417000 1.00800 0 13573 BULK 4225 TIP3 H2 HT .417000 1.00800 0 13574 BULK 4226 TIP3 OH2 OT -.834000 15.9994 0 13575 BULK 4226 TIP3 H1 HT .417000 1.00800 0 13576 BULK 4226 TIP3 H2 HT .417000 1.00800 0 13577 BULK 4227 TIP3 OH2 OT -.834000 15.9994 0 13578 BULK 4227 TIP3 H1 HT .417000 1.00800 0 13579 BULK 4227 TIP3 H2 HT .417000 1.00800 0 13580 BULK 4228 TIP3 OH2 OT -.834000 15.9994 0 13581 BULK 4228 TIP3 H1 HT .417000 1.00800 0 13582 BULK 4228 TIP3 H2 HT .417000 1.00800 0 13583 BULK 4229 TIP3 OH2 OT -.834000 15.9994 0 13584 BULK 4229 TIP3 H1 HT .417000 1.00800 0 13585 BULK 4229 TIP3 H2 HT .417000 1.00800 0 13586 BULK 4230 TIP3 OH2 OT -.834000 15.9994 0 13587 BULK 4230 TIP3 H1 HT .417000 1.00800 0 13588 BULK 4230 TIP3 H2 HT .417000 1.00800 0 13589 BULK 4231 TIP3 OH2 OT -.834000 15.9994 0 13590 BULK 4231 TIP3 H1 HT .417000 1.00800 0 13591 BULK 4231 TIP3 H2 HT .417000 1.00800 0 13592 BULK 4232 TIP3 OH2 OT -.834000 15.9994 0 13593 BULK 4232 TIP3 H1 HT .417000 1.00800 0 13594 BULK 4232 TIP3 H2 HT .417000 1.00800 0 13595 BULK 4233 TIP3 OH2 OT -.834000 15.9994 0 13596 BULK 4233 TIP3 H1 HT .417000 1.00800 0 13597 BULK 4233 TIP3 H2 HT .417000 1.00800 0 13598 BULK 4234 TIP3 OH2 OT -.834000 15.9994 0 13599 BULK 4234 TIP3 H1 HT .417000 1.00800 0 13600 BULK 4234 TIP3 H2 HT .417000 1.00800 0 13601 BULK 4235 TIP3 OH2 OT -.834000 15.9994 0 13602 BULK 4235 TIP3 H1 HT .417000 1.00800 0 13603 BULK 4235 TIP3 H2 HT .417000 1.00800 0 13604 BULK 4236 TIP3 OH2 OT -.834000 15.9994 0 13605 BULK 4236 TIP3 H1 HT .417000 1.00800 0 13606 BULK 4236 TIP3 H2 HT .417000 1.00800 0 13607 BULK 4237 TIP3 OH2 OT -.834000 15.9994 0 13608 BULK 4237 TIP3 H1 HT .417000 1.00800 0 13609 BULK 4237 TIP3 H2 HT .417000 1.00800 0 13610 BULK 4238 TIP3 OH2 OT -.834000 15.9994 0 13611 BULK 4238 TIP3 H1 HT .417000 1.00800 0 13612 BULK 4238 TIP3 H2 HT .417000 1.00800 0 13613 BULK 4239 TIP3 OH2 OT -.834000 15.9994 0 13614 BULK 4239 TIP3 H1 HT .417000 1.00800 0 13615 BULK 4239 TIP3 H2 HT .417000 1.00800 0 13616 BULK 4240 TIP3 OH2 OT -.834000 15.9994 0 13617 BULK 4240 TIP3 H1 HT .417000 1.00800 0 13618 BULK 4240 TIP3 H2 HT .417000 1.00800 0 13619 BULK 4241 TIP3 OH2 OT -.834000 15.9994 0 13620 BULK 4241 TIP3 H1 HT .417000 1.00800 0 13621 BULK 4241 TIP3 H2 HT .417000 1.00800 0 13622 BULK 4242 TIP3 OH2 OT -.834000 15.9994 0 13623 BULK 4242 TIP3 H1 HT .417000 1.00800 0 13624 BULK 4242 TIP3 H2 HT .417000 1.00800 0 13625 BULK 4243 TIP3 OH2 OT -.834000 15.9994 0 13626 BULK 4243 TIP3 H1 HT .417000 1.00800 0 13627 BULK 4243 TIP3 H2 HT .417000 1.00800 0 13628 BULK 4244 TIP3 OH2 OT -.834000 15.9994 0 13629 BULK 4244 TIP3 H1 HT .417000 1.00800 0 13630 BULK 4244 TIP3 H2 HT .417000 1.00800 0 13631 BULK 4245 TIP3 OH2 OT -.834000 15.9994 0 13632 BULK 4245 TIP3 H1 HT .417000 1.00800 0 13633 BULK 4245 TIP3 H2 HT .417000 1.00800 0 13634 BULK 4246 TIP3 OH2 OT -.834000 15.9994 0 13635 BULK 4246 TIP3 H1 HT .417000 1.00800 0 13636 BULK 4246 TIP3 H2 HT .417000 1.00800 0 13637 BULK 4247 TIP3 OH2 OT -.834000 15.9994 0 13638 BULK 4247 TIP3 H1 HT .417000 1.00800 0 13639 BULK 4247 TIP3 H2 HT .417000 1.00800 0 13640 BULK 4248 TIP3 OH2 OT -.834000 15.9994 0 13641 BULK 4248 TIP3 H1 HT .417000 1.00800 0 13642 BULK 4248 TIP3 H2 HT .417000 1.00800 0 13643 BULK 4249 TIP3 OH2 OT -.834000 15.9994 0 13644 BULK 4249 TIP3 H1 HT .417000 1.00800 0 13645 BULK 4249 TIP3 H2 HT .417000 1.00800 0 13646 BULK 4250 TIP3 OH2 OT -.834000 15.9994 0 13647 BULK 4250 TIP3 H1 HT .417000 1.00800 0 13648 BULK 4250 TIP3 H2 HT .417000 1.00800 0 13649 BULK 4251 TIP3 OH2 OT -.834000 15.9994 0 13650 BULK 4251 TIP3 H1 HT .417000 1.00800 0 13651 BULK 4251 TIP3 H2 HT .417000 1.00800 0 13652 BULK 4252 TIP3 OH2 OT -.834000 15.9994 0 13653 BULK 4252 TIP3 H1 HT .417000 1.00800 0 13654 BULK 4252 TIP3 H2 HT .417000 1.00800 0 13655 BULK 4253 TIP3 OH2 OT -.834000 15.9994 0 13656 BULK 4253 TIP3 H1 HT .417000 1.00800 0 13657 BULK 4253 TIP3 H2 HT .417000 1.00800 0 13658 BULK 4254 TIP3 OH2 OT -.834000 15.9994 0 13659 BULK 4254 TIP3 H1 HT .417000 1.00800 0 13660 BULK 4254 TIP3 H2 HT .417000 1.00800 0 13661 BULK 4255 TIP3 OH2 OT -.834000 15.9994 0 13662 BULK 4255 TIP3 H1 HT .417000 1.00800 0 13663 BULK 4255 TIP3 H2 HT .417000 1.00800 0 13664 BULK 4256 TIP3 OH2 OT -.834000 15.9994 0 13665 BULK 4256 TIP3 H1 HT .417000 1.00800 0 13666 BULK 4256 TIP3 H2 HT .417000 1.00800 0 13667 BULK 4257 TIP3 OH2 OT -.834000 15.9994 0 13668 BULK 4257 TIP3 H1 HT .417000 1.00800 0 13669 BULK 4257 TIP3 H2 HT .417000 1.00800 0 13670 BULK 4258 TIP3 OH2 OT -.834000 15.9994 0 13671 BULK 4258 TIP3 H1 HT .417000 1.00800 0 13672 BULK 4258 TIP3 H2 HT .417000 1.00800 0 13673 BULK 4259 TIP3 OH2 OT -.834000 15.9994 0 13674 BULK 4259 TIP3 H1 HT .417000 1.00800 0 13675 BULK 4259 TIP3 H2 HT .417000 1.00800 0 13676 BULK 4260 TIP3 OH2 OT -.834000 15.9994 0 13677 BULK 4260 TIP3 H1 HT .417000 1.00800 0 13678 BULK 4260 TIP3 H2 HT .417000 1.00800 0 13679 BULK 4261 TIP3 OH2 OT -.834000 15.9994 0 13680 BULK 4261 TIP3 H1 HT .417000 1.00800 0 13681 BULK 4261 TIP3 H2 HT .417000 1.00800 0 13682 BULK 4262 TIP3 OH2 OT -.834000 15.9994 0 13683 BULK 4262 TIP3 H1 HT .417000 1.00800 0 13684 BULK 4262 TIP3 H2 HT .417000 1.00800 0 13685 BULK 4263 TIP3 OH2 OT -.834000 15.9994 0 13686 BULK 4263 TIP3 H1 HT .417000 1.00800 0 13687 BULK 4263 TIP3 H2 HT .417000 1.00800 0 13688 BULK 4264 TIP3 OH2 OT -.834000 15.9994 0 13689 BULK 4264 TIP3 H1 HT .417000 1.00800 0 13690 BULK 4264 TIP3 H2 HT .417000 1.00800 0 13691 BULK 4265 TIP3 OH2 OT -.834000 15.9994 0 13692 BULK 4265 TIP3 H1 HT .417000 1.00800 0 13693 BULK 4265 TIP3 H2 HT .417000 1.00800 0 13694 BULK 4266 TIP3 OH2 OT -.834000 15.9994 0 13695 BULK 4266 TIP3 H1 HT .417000 1.00800 0 13696 BULK 4266 TIP3 H2 HT .417000 1.00800 0 13697 BULK 4267 TIP3 OH2 OT -.834000 15.9994 0 13698 BULK 4267 TIP3 H1 HT .417000 1.00800 0 13699 BULK 4267 TIP3 H2 HT .417000 1.00800 0 13700 BULK 4268 TIP3 OH2 OT -.834000 15.9994 0 13701 BULK 4268 TIP3 H1 HT .417000 1.00800 0 13702 BULK 4268 TIP3 H2 HT .417000 1.00800 0 13703 BULK 4269 TIP3 OH2 OT -.834000 15.9994 0 13704 BULK 4269 TIP3 H1 HT .417000 1.00800 0 13705 BULK 4269 TIP3 H2 HT .417000 1.00800 0 13706 BULK 4270 TIP3 OH2 OT -.834000 15.9994 0 13707 BULK 4270 TIP3 H1 HT .417000 1.00800 0 13708 BULK 4270 TIP3 H2 HT .417000 1.00800 0 13709 BULK 4271 TIP3 OH2 OT -.834000 15.9994 0 13710 BULK 4271 TIP3 H1 HT .417000 1.00800 0 13711 BULK 4271 TIP3 H2 HT .417000 1.00800 0 13712 BULK 4272 TIP3 OH2 OT -.834000 15.9994 0 13713 BULK 4272 TIP3 H1 HT .417000 1.00800 0 13714 BULK 4272 TIP3 H2 HT .417000 1.00800 0 13715 BULK 4273 TIP3 OH2 OT -.834000 15.9994 0 13716 BULK 4273 TIP3 H1 HT .417000 1.00800 0 13717 BULK 4273 TIP3 H2 HT .417000 1.00800 0 13718 BULK 4274 TIP3 OH2 OT -.834000 15.9994 0 13719 BULK 4274 TIP3 H1 HT .417000 1.00800 0 13720 BULK 4274 TIP3 H2 HT .417000 1.00800 0 13721 BULK 4275 TIP3 OH2 OT -.834000 15.9994 0 13722 BULK 4275 TIP3 H1 HT .417000 1.00800 0 13723 BULK 4275 TIP3 H2 HT .417000 1.00800 0 13724 BULK 4276 TIP3 OH2 OT -.834000 15.9994 0 13725 BULK 4276 TIP3 H1 HT .417000 1.00800 0 13726 BULK 4276 TIP3 H2 HT .417000 1.00800 0 13727 BULK 4277 TIP3 OH2 OT -.834000 15.9994 0 13728 BULK 4277 TIP3 H1 HT .417000 1.00800 0 13729 BULK 4277 TIP3 H2 HT .417000 1.00800 0 13730 BULK 4278 TIP3 OH2 OT -.834000 15.9994 0 13731 BULK 4278 TIP3 H1 HT .417000 1.00800 0 13732 BULK 4278 TIP3 H2 HT .417000 1.00800 0 13733 BULK 4279 TIP3 OH2 OT -.834000 15.9994 0 13734 BULK 4279 TIP3 H1 HT .417000 1.00800 0 13735 BULK 4279 TIP3 H2 HT .417000 1.00800 0 13736 BULK 4280 TIP3 OH2 OT -.834000 15.9994 0 13737 BULK 4280 TIP3 H1 HT .417000 1.00800 0 13738 BULK 4280 TIP3 H2 HT .417000 1.00800 0 13739 BULK 4281 TIP3 OH2 OT -.834000 15.9994 0 13740 BULK 4281 TIP3 H1 HT .417000 1.00800 0 13741 BULK 4281 TIP3 H2 HT .417000 1.00800 0 13742 BULK 4282 TIP3 OH2 OT -.834000 15.9994 0 13743 BULK 4282 TIP3 H1 HT .417000 1.00800 0 13744 BULK 4282 TIP3 H2 HT .417000 1.00800 0 13745 BULK 4283 TIP3 OH2 OT -.834000 15.9994 0 13746 BULK 4283 TIP3 H1 HT .417000 1.00800 0 13747 BULK 4283 TIP3 H2 HT .417000 1.00800 0 13748 BULK 4284 TIP3 OH2 OT -.834000 15.9994 0 13749 BULK 4284 TIP3 H1 HT .417000 1.00800 0 13750 BULK 4284 TIP3 H2 HT .417000 1.00800 0 13751 BULK 4285 TIP3 OH2 OT -.834000 15.9994 0 13752 BULK 4285 TIP3 H1 HT .417000 1.00800 0 13753 BULK 4285 TIP3 H2 HT .417000 1.00800 0 13754 BULK 4286 TIP3 OH2 OT -.834000 15.9994 0 13755 BULK 4286 TIP3 H1 HT .417000 1.00800 0 13756 BULK 4286 TIP3 H2 HT .417000 1.00800 0 13757 BULK 4287 TIP3 OH2 OT -.834000 15.9994 0 13758 BULK 4287 TIP3 H1 HT .417000 1.00800 0 13759 BULK 4287 TIP3 H2 HT .417000 1.00800 0 13760 BULK 4288 TIP3 OH2 OT -.834000 15.9994 0 13761 BULK 4288 TIP3 H1 HT .417000 1.00800 0 13762 BULK 4288 TIP3 H2 HT .417000 1.00800 0 13763 BULK 4289 TIP3 OH2 OT -.834000 15.9994 0 13764 BULK 4289 TIP3 H1 HT .417000 1.00800 0 13765 BULK 4289 TIP3 H2 HT .417000 1.00800 0 13766 BULK 4290 TIP3 OH2 OT -.834000 15.9994 0 13767 BULK 4290 TIP3 H1 HT .417000 1.00800 0 13768 BULK 4290 TIP3 H2 HT .417000 1.00800 0 13769 BULK 4291 TIP3 OH2 OT -.834000 15.9994 0 13770 BULK 4291 TIP3 H1 HT .417000 1.00800 0 13771 BULK 4291 TIP3 H2 HT .417000 1.00800 0 13772 BULK 4292 TIP3 OH2 OT -.834000 15.9994 0 13773 BULK 4292 TIP3 H1 HT .417000 1.00800 0 13774 BULK 4292 TIP3 H2 HT .417000 1.00800 0 13775 BULK 4293 TIP3 OH2 OT -.834000 15.9994 0 13776 BULK 4293 TIP3 H1 HT .417000 1.00800 0 13777 BULK 4293 TIP3 H2 HT .417000 1.00800 0 13778 BULK 4294 TIP3 OH2 OT -.834000 15.9994 0 13779 BULK 4294 TIP3 H1 HT .417000 1.00800 0 13780 BULK 4294 TIP3 H2 HT .417000 1.00800 0 13781 BULK 4295 TIP3 OH2 OT -.834000 15.9994 0 13782 BULK 4295 TIP3 H1 HT .417000 1.00800 0 13783 BULK 4295 TIP3 H2 HT .417000 1.00800 0 13784 BULK 4296 TIP3 OH2 OT -.834000 15.9994 0 13785 BULK 4296 TIP3 H1 HT .417000 1.00800 0 13786 BULK 4296 TIP3 H2 HT .417000 1.00800 0 13787 BULK 4297 TIP3 OH2 OT -.834000 15.9994 0 13788 BULK 4297 TIP3 H1 HT .417000 1.00800 0 13789 BULK 4297 TIP3 H2 HT .417000 1.00800 0 13790 BULK 4298 TIP3 OH2 OT -.834000 15.9994 0 13791 BULK 4298 TIP3 H1 HT .417000 1.00800 0 13792 BULK 4298 TIP3 H2 HT .417000 1.00800 0 13793 BULK 4299 TIP3 OH2 OT -.834000 15.9994 0 13794 BULK 4299 TIP3 H1 HT .417000 1.00800 0 13795 BULK 4299 TIP3 H2 HT .417000 1.00800 0 13796 BULK 4300 TIP3 OH2 OT -.834000 15.9994 0 13797 BULK 4300 TIP3 H1 HT .417000 1.00800 0 13798 BULK 4300 TIP3 H2 HT .417000 1.00800 0 13799 BULK 4301 TIP3 OH2 OT -.834000 15.9994 0 13800 BULK 4301 TIP3 H1 HT .417000 1.00800 0 13801 BULK 4301 TIP3 H2 HT .417000 1.00800 0 13802 BULK 4302 TIP3 OH2 OT -.834000 15.9994 0 13803 BULK 4302 TIP3 H1 HT .417000 1.00800 0 13804 BULK 4302 TIP3 H2 HT .417000 1.00800 0 13805 BULK 4303 TIP3 OH2 OT -.834000 15.9994 0 13806 BULK 4303 TIP3 H1 HT .417000 1.00800 0 13807 BULK 4303 TIP3 H2 HT .417000 1.00800 0 13808 BULK 4304 TIP3 OH2 OT -.834000 15.9994 0 13809 BULK 4304 TIP3 H1 HT .417000 1.00800 0 13810 BULK 4304 TIP3 H2 HT .417000 1.00800 0 13811 BULK 4305 TIP3 OH2 OT -.834000 15.9994 0 13812 BULK 4305 TIP3 H1 HT .417000 1.00800 0 13813 BULK 4305 TIP3 H2 HT .417000 1.00800 0 13814 BULK 4306 TIP3 OH2 OT -.834000 15.9994 0 13815 BULK 4306 TIP3 H1 HT .417000 1.00800 0 13816 BULK 4306 TIP3 H2 HT .417000 1.00800 0 13817 BULK 4307 TIP3 OH2 OT -.834000 15.9994 0 13818 BULK 4307 TIP3 H1 HT .417000 1.00800 0 13819 BULK 4307 TIP3 H2 HT .417000 1.00800 0 13820 BULK 4308 TIP3 OH2 OT -.834000 15.9994 0 13821 BULK 4308 TIP3 H1 HT .417000 1.00800 0 13822 BULK 4308 TIP3 H2 HT .417000 1.00800 0 13823 BULK 4309 TIP3 OH2 OT -.834000 15.9994 0 13824 BULK 4309 TIP3 H1 HT .417000 1.00800 0 13825 BULK 4309 TIP3 H2 HT .417000 1.00800 0 13826 BULK 4310 TIP3 OH2 OT -.834000 15.9994 0 13827 BULK 4310 TIP3 H1 HT .417000 1.00800 0 13828 BULK 4310 TIP3 H2 HT .417000 1.00800 0 13829 BULK 4311 TIP3 OH2 OT -.834000 15.9994 0 13830 BULK 4311 TIP3 H1 HT .417000 1.00800 0 13831 BULK 4311 TIP3 H2 HT .417000 1.00800 0 13832 BULK 4312 TIP3 OH2 OT -.834000 15.9994 0 13833 BULK 4312 TIP3 H1 HT .417000 1.00800 0 13834 BULK 4312 TIP3 H2 HT .417000 1.00800 0 13835 BULK 4313 TIP3 OH2 OT -.834000 15.9994 0 13836 BULK 4313 TIP3 H1 HT .417000 1.00800 0 13837 BULK 4313 TIP3 H2 HT .417000 1.00800 0 13838 BULK 4314 TIP3 OH2 OT -.834000 15.9994 0 13839 BULK 4314 TIP3 H1 HT .417000 1.00800 0 13840 BULK 4314 TIP3 H2 HT .417000 1.00800 0 13841 BULK 4315 TIP3 OH2 OT -.834000 15.9994 0 13842 BULK 4315 TIP3 H1 HT .417000 1.00800 0 13843 BULK 4315 TIP3 H2 HT .417000 1.00800 0 13844 BULK 4316 TIP3 OH2 OT -.834000 15.9994 0 13845 BULK 4316 TIP3 H1 HT .417000 1.00800 0 13846 BULK 4316 TIP3 H2 HT .417000 1.00800 0 13847 BULK 4317 TIP3 OH2 OT -.834000 15.9994 0 13848 BULK 4317 TIP3 H1 HT .417000 1.00800 0 13849 BULK 4317 TIP3 H2 HT .417000 1.00800 0 13850 BULK 4318 TIP3 OH2 OT -.834000 15.9994 0 13851 BULK 4318 TIP3 H1 HT .417000 1.00800 0 13852 BULK 4318 TIP3 H2 HT .417000 1.00800 0 13853 BULK 4319 TIP3 OH2 OT -.834000 15.9994 0 13854 BULK 4319 TIP3 H1 HT .417000 1.00800 0 13855 BULK 4319 TIP3 H2 HT .417000 1.00800 0 13856 BULK 4320 TIP3 OH2 OT -.834000 15.9994 0 13857 BULK 4320 TIP3 H1 HT .417000 1.00800 0 13858 BULK 4320 TIP3 H2 HT .417000 1.00800 0 13859 BULK 4321 TIP3 OH2 OT -.834000 15.9994 0 13860 BULK 4321 TIP3 H1 HT .417000 1.00800 0 13861 BULK 4321 TIP3 H2 HT .417000 1.00800 0 13862 BULK 4322 TIP3 OH2 OT -.834000 15.9994 0 13863 BULK 4322 TIP3 H1 HT .417000 1.00800 0 13864 BULK 4322 TIP3 H2 HT .417000 1.00800 0 13865 BULK 4323 TIP3 OH2 OT -.834000 15.9994 0 13866 BULK 4323 TIP3 H1 HT .417000 1.00800 0 13867 BULK 4323 TIP3 H2 HT .417000 1.00800 0 13868 BULK 4324 TIP3 OH2 OT -.834000 15.9994 0 13869 BULK 4324 TIP3 H1 HT .417000 1.00800 0 13870 BULK 4324 TIP3 H2 HT .417000 1.00800 0 13871 BULK 4325 TIP3 OH2 OT -.834000 15.9994 0 13872 BULK 4325 TIP3 H1 HT .417000 1.00800 0 13873 BULK 4325 TIP3 H2 HT .417000 1.00800 0 13874 BULK 4326 TIP3 OH2 OT -.834000 15.9994 0 13875 BULK 4326 TIP3 H1 HT .417000 1.00800 0 13876 BULK 4326 TIP3 H2 HT .417000 1.00800 0 13877 BULK 4327 TIP3 OH2 OT -.834000 15.9994 0 13878 BULK 4327 TIP3 H1 HT .417000 1.00800 0 13879 BULK 4327 TIP3 H2 HT .417000 1.00800 0 13880 BULK 4328 TIP3 OH2 OT -.834000 15.9994 0 13881 BULK 4328 TIP3 H1 HT .417000 1.00800 0 13882 BULK 4328 TIP3 H2 HT .417000 1.00800 0 13883 BULK 4329 TIP3 OH2 OT -.834000 15.9994 0 13884 BULK 4329 TIP3 H1 HT .417000 1.00800 0 13885 BULK 4329 TIP3 H2 HT .417000 1.00800 0 13886 BULK 4330 TIP3 OH2 OT -.834000 15.9994 0 13887 BULK 4330 TIP3 H1 HT .417000 1.00800 0 13888 BULK 4330 TIP3 H2 HT .417000 1.00800 0 13889 BULK 4331 TIP3 OH2 OT -.834000 15.9994 0 13890 BULK 4331 TIP3 H1 HT .417000 1.00800 0 13891 BULK 4331 TIP3 H2 HT .417000 1.00800 0 13892 BULK 4332 TIP3 OH2 OT -.834000 15.9994 0 13893 BULK 4332 TIP3 H1 HT .417000 1.00800 0 13894 BULK 4332 TIP3 H2 HT .417000 1.00800 0 13895 BULK 4333 TIP3 OH2 OT -.834000 15.9994 0 13896 BULK 4333 TIP3 H1 HT .417000 1.00800 0 13897 BULK 4333 TIP3 H2 HT .417000 1.00800 0 13898 BULK 4334 TIP3 OH2 OT -.834000 15.9994 0 13899 BULK 4334 TIP3 H1 HT .417000 1.00800 0 13900 BULK 4334 TIP3 H2 HT .417000 1.00800 0 13901 BULK 4335 TIP3 OH2 OT -.834000 15.9994 0 13902 BULK 4335 TIP3 H1 HT .417000 1.00800 0 13903 BULK 4335 TIP3 H2 HT .417000 1.00800 0 13904 BULK 4336 TIP3 OH2 OT -.834000 15.9994 0 13905 BULK 4336 TIP3 H1 HT .417000 1.00800 0 13906 BULK 4336 TIP3 H2 HT .417000 1.00800 0 13907 BULK 4337 TIP3 OH2 OT -.834000 15.9994 0 13908 BULK 4337 TIP3 H1 HT .417000 1.00800 0 13909 BULK 4337 TIP3 H2 HT .417000 1.00800 0 13910 BULK 4338 TIP3 OH2 OT -.834000 15.9994 0 13911 BULK 4338 TIP3 H1 HT .417000 1.00800 0 13912 BULK 4338 TIP3 H2 HT .417000 1.00800 0 13913 BULK 4339 TIP3 OH2 OT -.834000 15.9994 0 13914 BULK 4339 TIP3 H1 HT .417000 1.00800 0 13915 BULK 4339 TIP3 H2 HT .417000 1.00800 0 13916 BULK 4340 TIP3 OH2 OT -.834000 15.9994 0 13917 BULK 4340 TIP3 H1 HT .417000 1.00800 0 13918 BULK 4340 TIP3 H2 HT .417000 1.00800 0 13919 BULK 4341 TIP3 OH2 OT -.834000 15.9994 0 13920 BULK 4341 TIP3 H1 HT .417000 1.00800 0 13921 BULK 4341 TIP3 H2 HT .417000 1.00800 0 13922 BULK 4342 TIP3 OH2 OT -.834000 15.9994 0 13923 BULK 4342 TIP3 H1 HT .417000 1.00800 0 13924 BULK 4342 TIP3 H2 HT .417000 1.00800 0 13925 BULK 4343 TIP3 OH2 OT -.834000 15.9994 0 13926 BULK 4343 TIP3 H1 HT .417000 1.00800 0 13927 BULK 4343 TIP3 H2 HT .417000 1.00800 0 13928 BULK 4344 TIP3 OH2 OT -.834000 15.9994 0 13929 BULK 4344 TIP3 H1 HT .417000 1.00800 0 13930 BULK 4344 TIP3 H2 HT .417000 1.00800 0 13931 BULK 4345 TIP3 OH2 OT -.834000 15.9994 0 13932 BULK 4345 TIP3 H1 HT .417000 1.00800 0 13933 BULK 4345 TIP3 H2 HT .417000 1.00800 0 13934 BULK 4346 TIP3 OH2 OT -.834000 15.9994 0 13935 BULK 4346 TIP3 H1 HT .417000 1.00800 0 13936 BULK 4346 TIP3 H2 HT .417000 1.00800 0 13937 BULK 4347 TIP3 OH2 OT -.834000 15.9994 0 13938 BULK 4347 TIP3 H1 HT .417000 1.00800 0 13939 BULK 4347 TIP3 H2 HT .417000 1.00800 0 13940 BULK 4348 TIP3 OH2 OT -.834000 15.9994 0 13941 BULK 4348 TIP3 H1 HT .417000 1.00800 0 13942 BULK 4348 TIP3 H2 HT .417000 1.00800 0 13943 BULK 4349 TIP3 OH2 OT -.834000 15.9994 0 13944 BULK 4349 TIP3 H1 HT .417000 1.00800 0 13945 BULK 4349 TIP3 H2 HT .417000 1.00800 0 13946 BULK 4350 TIP3 OH2 OT -.834000 15.9994 0 13947 BULK 4350 TIP3 H1 HT .417000 1.00800 0 13948 BULK 4350 TIP3 H2 HT .417000 1.00800 0 13949 BULK 4351 TIP3 OH2 OT -.834000 15.9994 0 13950 BULK 4351 TIP3 H1 HT .417000 1.00800 0 13951 BULK 4351 TIP3 H2 HT .417000 1.00800 0 13952 BULK 4352 TIP3 OH2 OT -.834000 15.9994 0 13953 BULK 4352 TIP3 H1 HT .417000 1.00800 0 13954 BULK 4352 TIP3 H2 HT .417000 1.00800 0 13955 BULK 4353 TIP3 OH2 OT -.834000 15.9994 0 13956 BULK 4353 TIP3 H1 HT .417000 1.00800 0 13957 BULK 4353 TIP3 H2 HT .417000 1.00800 0 13958 BULK 4354 TIP3 OH2 OT -.834000 15.9994 0 13959 BULK 4354 TIP3 H1 HT .417000 1.00800 0 13960 BULK 4354 TIP3 H2 HT .417000 1.00800 0 13961 BULK 4355 TIP3 OH2 OT -.834000 15.9994 0 13962 BULK 4355 TIP3 H1 HT .417000 1.00800 0 13963 BULK 4355 TIP3 H2 HT .417000 1.00800 0 13964 BULK 4356 TIP3 OH2 OT -.834000 15.9994 0 13965 BULK 4356 TIP3 H1 HT .417000 1.00800 0 13966 BULK 4356 TIP3 H2 HT .417000 1.00800 0 13967 BULK 4357 TIP3 OH2 OT -.834000 15.9994 0 13968 BULK 4357 TIP3 H1 HT .417000 1.00800 0 13969 BULK 4357 TIP3 H2 HT .417000 1.00800 0 13970 BULK 4358 TIP3 OH2 OT -.834000 15.9994 0 13971 BULK 4358 TIP3 H1 HT .417000 1.00800 0 13972 BULK 4358 TIP3 H2 HT .417000 1.00800 0 13973 BULK 4359 TIP3 OH2 OT -.834000 15.9994 0 13974 BULK 4359 TIP3 H1 HT .417000 1.00800 0 13975 BULK 4359 TIP3 H2 HT .417000 1.00800 0 13976 BULK 4360 TIP3 OH2 OT -.834000 15.9994 0 13977 BULK 4360 TIP3 H1 HT .417000 1.00800 0 13978 BULK 4360 TIP3 H2 HT .417000 1.00800 0 13979 BULK 4361 TIP3 OH2 OT -.834000 15.9994 0 13980 BULK 4361 TIP3 H1 HT .417000 1.00800 0 13981 BULK 4361 TIP3 H2 HT .417000 1.00800 0 13982 BULK 4362 TIP3 OH2 OT -.834000 15.9994 0 13983 BULK 4362 TIP3 H1 HT .417000 1.00800 0 13984 BULK 4362 TIP3 H2 HT .417000 1.00800 0 13985 BULK 4363 TIP3 OH2 OT -.834000 15.9994 0 13986 BULK 4363 TIP3 H1 HT .417000 1.00800 0 13987 BULK 4363 TIP3 H2 HT .417000 1.00800 0 13988 BULK 4364 TIP3 OH2 OT -.834000 15.9994 0 13989 BULK 4364 TIP3 H1 HT .417000 1.00800 0 13990 BULK 4364 TIP3 H2 HT .417000 1.00800 0 13991 BULK 4365 TIP3 OH2 OT -.834000 15.9994 0 13992 BULK 4365 TIP3 H1 HT .417000 1.00800 0 13993 BULK 4365 TIP3 H2 HT .417000 1.00800 0 13994 BULK 4366 TIP3 OH2 OT -.834000 15.9994 0 13995 BULK 4366 TIP3 H1 HT .417000 1.00800 0 13996 BULK 4366 TIP3 H2 HT .417000 1.00800 0 13997 BULK 4367 TIP3 OH2 OT -.834000 15.9994 0 13998 BULK 4367 TIP3 H1 HT .417000 1.00800 0 13999 BULK 4367 TIP3 H2 HT .417000 1.00800 0 14000 BULK 4368 TIP3 OH2 OT -.834000 15.9994 0 14001 BULK 4368 TIP3 H1 HT .417000 1.00800 0 14002 BULK 4368 TIP3 H2 HT .417000 1.00800 0 14003 BULK 4369 TIP3 OH2 OT -.834000 15.9994 0 14004 BULK 4369 TIP3 H1 HT .417000 1.00800 0 14005 BULK 4369 TIP3 H2 HT .417000 1.00800 0 14006 BULK 4370 TIP3 OH2 OT -.834000 15.9994 0 14007 BULK 4370 TIP3 H1 HT .417000 1.00800 0 14008 BULK 4370 TIP3 H2 HT .417000 1.00800 0 14009 BULK 4371 TIP3 OH2 OT -.834000 15.9994 0 14010 BULK 4371 TIP3 H1 HT .417000 1.00800 0 14011 BULK 4371 TIP3 H2 HT .417000 1.00800 0 14012 BULK 4372 TIP3 OH2 OT -.834000 15.9994 0 14013 BULK 4372 TIP3 H1 HT .417000 1.00800 0 14014 BULK 4372 TIP3 H2 HT .417000 1.00800 0 14015 BULK 4373 TIP3 OH2 OT -.834000 15.9994 0 14016 BULK 4373 TIP3 H1 HT .417000 1.00800 0 14017 BULK 4373 TIP3 H2 HT .417000 1.00800 0 14018 BULK 4374 TIP3 OH2 OT -.834000 15.9994 0 14019 BULK 4374 TIP3 H1 HT .417000 1.00800 0 14020 BULK 4374 TIP3 H2 HT .417000 1.00800 0 14021 BULK 4375 TIP3 OH2 OT -.834000 15.9994 0 14022 BULK 4375 TIP3 H1 HT .417000 1.00800 0 14023 BULK 4375 TIP3 H2 HT .417000 1.00800 0 14024 BULK 4376 TIP3 OH2 OT -.834000 15.9994 0 14025 BULK 4376 TIP3 H1 HT .417000 1.00800 0 14026 BULK 4376 TIP3 H2 HT .417000 1.00800 0 14027 BULK 4377 TIP3 OH2 OT -.834000 15.9994 0 14028 BULK 4377 TIP3 H1 HT .417000 1.00800 0 14029 BULK 4377 TIP3 H2 HT .417000 1.00800 0 14030 BULK 4378 TIP3 OH2 OT -.834000 15.9994 0 14031 BULK 4378 TIP3 H1 HT .417000 1.00800 0 14032 BULK 4378 TIP3 H2 HT .417000 1.00800 0 14033 BULK 4379 TIP3 OH2 OT -.834000 15.9994 0 14034 BULK 4379 TIP3 H1 HT .417000 1.00800 0 14035 BULK 4379 TIP3 H2 HT .417000 1.00800 0 14036 BULK 4380 TIP3 OH2 OT -.834000 15.9994 0 14037 BULK 4380 TIP3 H1 HT .417000 1.00800 0 14038 BULK 4380 TIP3 H2 HT .417000 1.00800 0 14039 BULK 4381 TIP3 OH2 OT -.834000 15.9994 0 14040 BULK 4381 TIP3 H1 HT .417000 1.00800 0 14041 BULK 4381 TIP3 H2 HT .417000 1.00800 0 14042 BULK 4382 TIP3 OH2 OT -.834000 15.9994 0 14043 BULK 4382 TIP3 H1 HT .417000 1.00800 0 14044 BULK 4382 TIP3 H2 HT .417000 1.00800 0 14045 BULK 4383 TIP3 OH2 OT -.834000 15.9994 0 14046 BULK 4383 TIP3 H1 HT .417000 1.00800 0 14047 BULK 4383 TIP3 H2 HT .417000 1.00800 0 14048 BULK 4384 TIP3 OH2 OT -.834000 15.9994 0 14049 BULK 4384 TIP3 H1 HT .417000 1.00800 0 14050 BULK 4384 TIP3 H2 HT .417000 1.00800 0 14051 BULK 4385 TIP3 OH2 OT -.834000 15.9994 0 14052 BULK 4385 TIP3 H1 HT .417000 1.00800 0 14053 BULK 4385 TIP3 H2 HT .417000 1.00800 0 14054 BULK 4386 TIP3 OH2 OT -.834000 15.9994 0 14055 BULK 4386 TIP3 H1 HT .417000 1.00800 0 14056 BULK 4386 TIP3 H2 HT .417000 1.00800 0 14057 BULK 4387 TIP3 OH2 OT -.834000 15.9994 0 14058 BULK 4387 TIP3 H1 HT .417000 1.00800 0 14059 BULK 4387 TIP3 H2 HT .417000 1.00800 0 14060 BULK 4388 TIP3 OH2 OT -.834000 15.9994 0 14061 BULK 4388 TIP3 H1 HT .417000 1.00800 0 14062 BULK 4388 TIP3 H2 HT .417000 1.00800 0 14063 BULK 4389 TIP3 OH2 OT -.834000 15.9994 0 14064 BULK 4389 TIP3 H1 HT .417000 1.00800 0 14065 BULK 4389 TIP3 H2 HT .417000 1.00800 0 14066 BULK 4390 TIP3 OH2 OT -.834000 15.9994 0 14067 BULK 4390 TIP3 H1 HT .417000 1.00800 0 14068 BULK 4390 TIP3 H2 HT .417000 1.00800 0 14069 BULK 4391 TIP3 OH2 OT -.834000 15.9994 0 14070 BULK 4391 TIP3 H1 HT .417000 1.00800 0 14071 BULK 4391 TIP3 H2 HT .417000 1.00800 0 14072 BULK 4392 TIP3 OH2 OT -.834000 15.9994 0 14073 BULK 4392 TIP3 H1 HT .417000 1.00800 0 14074 BULK 4392 TIP3 H2 HT .417000 1.00800 0 14075 BULK 4393 TIP3 OH2 OT -.834000 15.9994 0 14076 BULK 4393 TIP3 H1 HT .417000 1.00800 0 14077 BULK 4393 TIP3 H2 HT .417000 1.00800 0 14078 BULK 4394 TIP3 OH2 OT -.834000 15.9994 0 14079 BULK 4394 TIP3 H1 HT .417000 1.00800 0 14080 BULK 4394 TIP3 H2 HT .417000 1.00800 0 14081 BULK 4395 TIP3 OH2 OT -.834000 15.9994 0 14082 BULK 4395 TIP3 H1 HT .417000 1.00800 0 14083 BULK 4395 TIP3 H2 HT .417000 1.00800 0 14084 BULK 4396 TIP3 OH2 OT -.834000 15.9994 0 14085 BULK 4396 TIP3 H1 HT .417000 1.00800 0 14086 BULK 4396 TIP3 H2 HT .417000 1.00800 0 14087 BULK 4397 TIP3 OH2 OT -.834000 15.9994 0 14088 BULK 4397 TIP3 H1 HT .417000 1.00800 0 14089 BULK 4397 TIP3 H2 HT .417000 1.00800 0 14090 BULK 4398 TIP3 OH2 OT -.834000 15.9994 0 14091 BULK 4398 TIP3 H1 HT .417000 1.00800 0 14092 BULK 4398 TIP3 H2 HT .417000 1.00800 0 14093 BULK 4399 TIP3 OH2 OT -.834000 15.9994 0 14094 BULK 4399 TIP3 H1 HT .417000 1.00800 0 14095 BULK 4399 TIP3 H2 HT .417000 1.00800 0 14096 BULK 4400 TIP3 OH2 OT -.834000 15.9994 0 14097 BULK 4400 TIP3 H1 HT .417000 1.00800 0 14098 BULK 4400 TIP3 H2 HT .417000 1.00800 0 14099 BULK 4401 TIP3 OH2 OT -.834000 15.9994 0 14100 BULK 4401 TIP3 H1 HT .417000 1.00800 0 14101 BULK 4401 TIP3 H2 HT .417000 1.00800 0 14102 BULK 4402 TIP3 OH2 OT -.834000 15.9994 0 14103 BULK 4402 TIP3 H1 HT .417000 1.00800 0 14104 BULK 4402 TIP3 H2 HT .417000 1.00800 0 14105 BULK 4403 TIP3 OH2 OT -.834000 15.9994 0 14106 BULK 4403 TIP3 H1 HT .417000 1.00800 0 14107 BULK 4403 TIP3 H2 HT .417000 1.00800 0 14108 BULK 4404 TIP3 OH2 OT -.834000 15.9994 0 14109 BULK 4404 TIP3 H1 HT .417000 1.00800 0 14110 BULK 4404 TIP3 H2 HT .417000 1.00800 0 14111 BULK 4405 TIP3 OH2 OT -.834000 15.9994 0 14112 BULK 4405 TIP3 H1 HT .417000 1.00800 0 14113 BULK 4405 TIP3 H2 HT .417000 1.00800 0 14114 BULK 4406 TIP3 OH2 OT -.834000 15.9994 0 14115 BULK 4406 TIP3 H1 HT .417000 1.00800 0 14116 BULK 4406 TIP3 H2 HT .417000 1.00800 0 14117 BULK 4407 TIP3 OH2 OT -.834000 15.9994 0 14118 BULK 4407 TIP3 H1 HT .417000 1.00800 0 14119 BULK 4407 TIP3 H2 HT .417000 1.00800 0 14120 BULK 4408 TIP3 OH2 OT -.834000 15.9994 0 14121 BULK 4408 TIP3 H1 HT .417000 1.00800 0 14122 BULK 4408 TIP3 H2 HT .417000 1.00800 0 14123 BULK 4409 TIP3 OH2 OT -.834000 15.9994 0 14124 BULK 4409 TIP3 H1 HT .417000 1.00800 0 14125 BULK 4409 TIP3 H2 HT .417000 1.00800 0 14126 BULK 4410 TIP3 OH2 OT -.834000 15.9994 0 14127 BULK 4410 TIP3 H1 HT .417000 1.00800 0 14128 BULK 4410 TIP3 H2 HT .417000 1.00800 0 14129 BULK 4411 TIP3 OH2 OT -.834000 15.9994 0 14130 BULK 4411 TIP3 H1 HT .417000 1.00800 0 14131 BULK 4411 TIP3 H2 HT .417000 1.00800 0 14132 BULK 4412 TIP3 OH2 OT -.834000 15.9994 0 14133 BULK 4412 TIP3 H1 HT .417000 1.00800 0 14134 BULK 4412 TIP3 H2 HT .417000 1.00800 0 14135 BULK 4413 TIP3 OH2 OT -.834000 15.9994 0 14136 BULK 4413 TIP3 H1 HT .417000 1.00800 0 14137 BULK 4413 TIP3 H2 HT .417000 1.00800 0 14138 BULK 4414 TIP3 OH2 OT -.834000 15.9994 0 14139 BULK 4414 TIP3 H1 HT .417000 1.00800 0 14140 BULK 4414 TIP3 H2 HT .417000 1.00800 0 14141 BULK 4415 TIP3 OH2 OT -.834000 15.9994 0 14142 BULK 4415 TIP3 H1 HT .417000 1.00800 0 14143 BULK 4415 TIP3 H2 HT .417000 1.00800 0 14144 BULK 4416 TIP3 OH2 OT -.834000 15.9994 0 14145 BULK 4416 TIP3 H1 HT .417000 1.00800 0 14146 BULK 4416 TIP3 H2 HT .417000 1.00800 0 14147 BULK 4417 TIP3 OH2 OT -.834000 15.9994 0 14148 BULK 4417 TIP3 H1 HT .417000 1.00800 0 14149 BULK 4417 TIP3 H2 HT .417000 1.00800 0 14150 BULK 4418 TIP3 OH2 OT -.834000 15.9994 0 14151 BULK 4418 TIP3 H1 HT .417000 1.00800 0 14152 BULK 4418 TIP3 H2 HT .417000 1.00800 0 14153 BULK 4419 TIP3 OH2 OT -.834000 15.9994 0 14154 BULK 4419 TIP3 H1 HT .417000 1.00800 0 14155 BULK 4419 TIP3 H2 HT .417000 1.00800 0 14156 BULK 4420 TIP3 OH2 OT -.834000 15.9994 0 14157 BULK 4420 TIP3 H1 HT .417000 1.00800 0 14158 BULK 4420 TIP3 H2 HT .417000 1.00800 0 14159 BULK 4421 TIP3 OH2 OT -.834000 15.9994 0 14160 BULK 4421 TIP3 H1 HT .417000 1.00800 0 14161 BULK 4421 TIP3 H2 HT .417000 1.00800 0 14162 BULK 4422 TIP3 OH2 OT -.834000 15.9994 0 14163 BULK 4422 TIP3 H1 HT .417000 1.00800 0 14164 BULK 4422 TIP3 H2 HT .417000 1.00800 0 14165 BULK 4423 TIP3 OH2 OT -.834000 15.9994 0 14166 BULK 4423 TIP3 H1 HT .417000 1.00800 0 14167 BULK 4423 TIP3 H2 HT .417000 1.00800 0 14168 BULK 4424 TIP3 OH2 OT -.834000 15.9994 0 14169 BULK 4424 TIP3 H1 HT .417000 1.00800 0 14170 BULK 4424 TIP3 H2 HT .417000 1.00800 0 14171 BULK 4425 TIP3 OH2 OT -.834000 15.9994 0 14172 BULK 4425 TIP3 H1 HT .417000 1.00800 0 14173 BULK 4425 TIP3 H2 HT .417000 1.00800 0 14174 BULK 4426 TIP3 OH2 OT -.834000 15.9994 0 14175 BULK 4426 TIP3 H1 HT .417000 1.00800 0 14176 BULK 4426 TIP3 H2 HT .417000 1.00800 0 14177 BULK 4427 TIP3 OH2 OT -.834000 15.9994 0 14178 BULK 4427 TIP3 H1 HT .417000 1.00800 0 14179 BULK 4427 TIP3 H2 HT .417000 1.00800 0 14180 BULK 4428 TIP3 OH2 OT -.834000 15.9994 0 14181 BULK 4428 TIP3 H1 HT .417000 1.00800 0 14182 BULK 4428 TIP3 H2 HT .417000 1.00800 0 14183 BULK 4429 TIP3 OH2 OT -.834000 15.9994 0 14184 BULK 4429 TIP3 H1 HT .417000 1.00800 0 14185 BULK 4429 TIP3 H2 HT .417000 1.00800 0 14186 BULK 4430 TIP3 OH2 OT -.834000 15.9994 0 14187 BULK 4430 TIP3 H1 HT .417000 1.00800 0 14188 BULK 4430 TIP3 H2 HT .417000 1.00800 0 14189 BULK 4431 TIP3 OH2 OT -.834000 15.9994 0 14190 BULK 4431 TIP3 H1 HT .417000 1.00800 0 14191 BULK 4431 TIP3 H2 HT .417000 1.00800 0 14192 BULK 4432 TIP3 OH2 OT -.834000 15.9994 0 14193 BULK 4432 TIP3 H1 HT .417000 1.00800 0 14194 BULK 4432 TIP3 H2 HT .417000 1.00800 0 14195 BULK 4433 TIP3 OH2 OT -.834000 15.9994 0 14196 BULK 4433 TIP3 H1 HT .417000 1.00800 0 14197 BULK 4433 TIP3 H2 HT .417000 1.00800 0 14198 BULK 4434 TIP3 OH2 OT -.834000 15.9994 0 14199 BULK 4434 TIP3 H1 HT .417000 1.00800 0 14200 BULK 4434 TIP3 H2 HT .417000 1.00800 0 14201 BULK 4435 TIP3 OH2 OT -.834000 15.9994 0 14202 BULK 4435 TIP3 H1 HT .417000 1.00800 0 14203 BULK 4435 TIP3 H2 HT .417000 1.00800 0 14204 BULK 4436 TIP3 OH2 OT -.834000 15.9994 0 14205 BULK 4436 TIP3 H1 HT .417000 1.00800 0 14206 BULK 4436 TIP3 H2 HT .417000 1.00800 0 14207 BULK 4437 TIP3 OH2 OT -.834000 15.9994 0 14208 BULK 4437 TIP3 H1 HT .417000 1.00800 0 14209 BULK 4437 TIP3 H2 HT .417000 1.00800 0 14210 BULK 4438 TIP3 OH2 OT -.834000 15.9994 0 14211 BULK 4438 TIP3 H1 HT .417000 1.00800 0 14212 BULK 4438 TIP3 H2 HT .417000 1.00800 0 14213 BULK 4439 TIP3 OH2 OT -.834000 15.9994 0 14214 BULK 4439 TIP3 H1 HT .417000 1.00800 0 14215 BULK 4439 TIP3 H2 HT .417000 1.00800 0 14216 BULK 4440 TIP3 OH2 OT -.834000 15.9994 0 14217 BULK 4440 TIP3 H1 HT .417000 1.00800 0 14218 BULK 4440 TIP3 H2 HT .417000 1.00800 0 14219 BULK 4441 TIP3 OH2 OT -.834000 15.9994 0 14220 BULK 4441 TIP3 H1 HT .417000 1.00800 0 14221 BULK 4441 TIP3 H2 HT .417000 1.00800 0 14222 BULK 4442 TIP3 OH2 OT -.834000 15.9994 0 14223 BULK 4442 TIP3 H1 HT .417000 1.00800 0 14224 BULK 4442 TIP3 H2 HT .417000 1.00800 0 14225 BULK 4443 TIP3 OH2 OT -.834000 15.9994 0 14226 BULK 4443 TIP3 H1 HT .417000 1.00800 0 14227 BULK 4443 TIP3 H2 HT .417000 1.00800 0 14228 BULK 4444 TIP3 OH2 OT -.834000 15.9994 0 14229 BULK 4444 TIP3 H1 HT .417000 1.00800 0 14230 BULK 4444 TIP3 H2 HT .417000 1.00800 0 14231 BULK 4445 TIP3 OH2 OT -.834000 15.9994 0 14232 BULK 4445 TIP3 H1 HT .417000 1.00800 0 14233 BULK 4445 TIP3 H2 HT .417000 1.00800 0 14234 BULK 4446 TIP3 OH2 OT -.834000 15.9994 0 14235 BULK 4446 TIP3 H1 HT .417000 1.00800 0 14236 BULK 4446 TIP3 H2 HT .417000 1.00800 0 14237 BULK 4447 TIP3 OH2 OT -.834000 15.9994 0 14238 BULK 4447 TIP3 H1 HT .417000 1.00800 0 14239 BULK 4447 TIP3 H2 HT .417000 1.00800 0 14240 BULK 4448 TIP3 OH2 OT -.834000 15.9994 0 14241 BULK 4448 TIP3 H1 HT .417000 1.00800 0 14242 BULK 4448 TIP3 H2 HT .417000 1.00800 0 14243 BULK 4449 TIP3 OH2 OT -.834000 15.9994 0 14244 BULK 4449 TIP3 H1 HT .417000 1.00800 0 14245 BULK 4449 TIP3 H2 HT .417000 1.00800 0 14246 BULK 4450 TIP3 OH2 OT -.834000 15.9994 0 14247 BULK 4450 TIP3 H1 HT .417000 1.00800 0 14248 BULK 4450 TIP3 H2 HT .417000 1.00800 0 14249 BULK 4451 TIP3 OH2 OT -.834000 15.9994 0 14250 BULK 4451 TIP3 H1 HT .417000 1.00800 0 14251 BULK 4451 TIP3 H2 HT .417000 1.00800 0 14252 BULK 4452 TIP3 OH2 OT -.834000 15.9994 0 14253 BULK 4452 TIP3 H1 HT .417000 1.00800 0 14254 BULK 4452 TIP3 H2 HT .417000 1.00800 0 14255 BULK 4453 TIP3 OH2 OT -.834000 15.9994 0 14256 BULK 4453 TIP3 H1 HT .417000 1.00800 0 14257 BULK 4453 TIP3 H2 HT .417000 1.00800 0 14258 BULK 4454 TIP3 OH2 OT -.834000 15.9994 0 14259 BULK 4454 TIP3 H1 HT .417000 1.00800 0 14260 BULK 4454 TIP3 H2 HT .417000 1.00800 0 14261 BULK 4455 TIP3 OH2 OT -.834000 15.9994 0 14262 BULK 4455 TIP3 H1 HT .417000 1.00800 0 14263 BULK 4455 TIP3 H2 HT .417000 1.00800 0 14264 BULK 4456 TIP3 OH2 OT -.834000 15.9994 0 14265 BULK 4456 TIP3 H1 HT .417000 1.00800 0 14266 BULK 4456 TIP3 H2 HT .417000 1.00800 0 14267 BULK 4457 TIP3 OH2 OT -.834000 15.9994 0 14268 BULK 4457 TIP3 H1 HT .417000 1.00800 0 14269 BULK 4457 TIP3 H2 HT .417000 1.00800 0 14270 BULK 4458 TIP3 OH2 OT -.834000 15.9994 0 14271 BULK 4458 TIP3 H1 HT .417000 1.00800 0 14272 BULK 4458 TIP3 H2 HT .417000 1.00800 0 14273 BULK 4459 TIP3 OH2 OT -.834000 15.9994 0 14274 BULK 4459 TIP3 H1 HT .417000 1.00800 0 14275 BULK 4459 TIP3 H2 HT .417000 1.00800 0 14276 BULK 4460 TIP3 OH2 OT -.834000 15.9994 0 14277 BULK 4460 TIP3 H1 HT .417000 1.00800 0 14278 BULK 4460 TIP3 H2 HT .417000 1.00800 0 14279 BULK 4461 TIP3 OH2 OT -.834000 15.9994 0 14280 BULK 4461 TIP3 H1 HT .417000 1.00800 0 14281 BULK 4461 TIP3 H2 HT .417000 1.00800 0 14292 !NBOND: bonds 2 1 3 1 4 1 7 5 10 7 13 10 16 13 18 16 19 18 22 18 1 5 26 25 25 5 25 27 5 6 7 8 7 9 10 11 10 12 13 14 13 15 16 17 19 20 19 21 22 23 22 24 40 39 39 28 39 41 27 28 28 33 33 36 36 30 27 30 29 28 37 36 38 36 31 30 32 30 34 33 35 33 45 43 48 45 49 48 50 48 41 42 41 43 52 51 51 43 51 53 43 44 45 46 45 47 57 55 60 57 61 60 63 60 65 61 67 63 69 65 69 67 53 54 53 55 72 71 71 55 71 73 55 56 57 58 57 59 61 62 63 64 65 66 67 68 69 70 77 75 80 77 73 74 73 75 83 82 82 75 82 84 75 76 77 78 77 79 80 81 88 86 91 88 93 91 97 91 84 85 84 86 102 101 101 86 101 103 86 87 88 89 88 90 91 92 93 94 93 95 93 96 97 98 97 99 97 100 107 105 110 107 113 110 114 113 115 113 103 104 103 105 117 116 116 105 116 118 105 106 107 108 107 109 110 111 110 112 131 130 130 119 130 132 118 119 119 124 124 127 127 121 118 121 120 119 128 127 129 127 122 121 123 121 125 124 126 124 145 144 144 133 144 146 132 133 133 138 138 141 141 135 132 135 134 133 142 141 143 141 136 135 137 135 139 138 140 138 150 148 153 150 154 153 156 153 158 154 160 156 162 158 162 160 163 162 146 147 146 148 166 165 165 148 165 167 148 149 150 151 150 152 154 155 156 157 158 159 160 161 163 164 171 169 173 171 175 171 167 168 167 169 180 179 179 169 179 181 169 170 171 172 173 174 175 176 175 177 175 178 181 182 181 183 187 186 186 183 186 188 183 184 183 185 201 200 200 189 200 202 188 189 189 194 194 197 197 191 188 191 190 189 198 197 199 197 192 191 193 191 195 194 196 194 206 204 209 206 202 203 202 204 212 211 211 204 211 213 204 205 206 207 206 208 209 210 217 215 220 217 223 220 226 223 229 226 213 214 213 215 234 233 233 215 233 235 215 216 217 218 217 219 220 221 220 222 223 224 223 225 226 227 226 228 229 230 229 231 229 232 239 237 235 236 235 237 244 243 243 237 243 245 237 238 239 240 239 241 239 242 249 247 252 249 255 252 258 255 260 258 261 260 264 260 245 246 245 247 268 267 267 247 267 269 247 248 249 250 249 251 252 253 252 254 255 256 255 257 258 259 261 262 261 263 264 265 264 266 273 271 279 273 275 273 282 279 269 270 269 271 287 286 286 271 286 288 271 272 273 274 279 280 279 281 275 276 275 277 275 278 282 283 282 284 282 285 292 290 298 292 294 292 301 298 288 289 288 290 306 305 305 290 305 307 290 291 292 293 298 299 298 300 294 295 294 296 294 297 301 302 301 303 301 304 311 309 314 311 317 314 320 317 322 320 323 322 326 322 307 308 307 309 330 329 329 309 329 331 309 310 311 312 311 313 314 315 314 316 317 318 317 319 320 321 323 324 323 325 326 327 326 328 335 333 338 335 339 338 341 338 343 339 345 341 347 343 347 345 348 347 331 332 331 333 351 350 350 333 350 352 333 334 335 336 335 337 339 340 341 342 343 344 345 346 348 349 356 354 359 356 360 359 362 359 364 360 366 362 368 364 368 366 352 353 352 354 371 370 370 354 370 372 354 355 356 357 356 358 360 361 362 363 364 365 366 367 368 369 376 374 379 376 380 379 382 379 384 380 386 382 388 384 388 386 389 388 372 373 372 374 392 391 391 374 391 393 374 375 376 377 376 378 380 381 382 383 384 385 386 387 389 390 397 395 400 397 401 400 402 400 393 394 393 395 406 405 405 395 405 407 395 396 397 398 397 399 402 403 402 404 411 409 407 408 407 409 416 415 415 409 415 417 409 410 411 412 411 413 411 414 421 419 424 421 427 424 430 427 433 430 417 418 417 419 438 437 437 419 437 439 419 420 421 422 421 423 424 425 424 426 427 428 427 429 430 431 430 432 433 434 433 435 433 436 443 441 439 440 439 441 448 447 447 441 447 449 441 442 443 444 443 445 443 446 449 450 449 451 455 454 454 451 454 456 451 452 451 453 460 458 463 460 465 463 469 463 456 457 456 458 474 473 473 458 473 475 458 459 460 461 460 462 463 464 465 466 465 467 465 468 469 470 469 471 469 472 479 477 482 479 475 476 475 477 485 484 484 477 484 486 477 478 479 480 479 481 482 483 490 488 493 490 496 493 497 496 498 496 486 487 486 488 502 501 501 488 501 503 488 489 490 491 490 492 493 494 493 495 498 499 498 500 507 505 509 507 511 507 503 504 503 505 516 515 515 505 515 517 505 506 507 508 509 510 511 512 511 513 511 514 521 519 524 521 525 524 527 524 529 525 531 527 533 529 533 531 517 518 517 519 536 535 535 519 535 537 519 520 521 522 521 523 525 526 527 528 529 530 531 532 533 534 541 539 543 541 547 541 537 538 537 539 552 551 551 539 551 553 539 540 541 542 543 544 543 545 543 546 547 548 547 549 547 550 557 555 560 557 561 560 563 560 565 561 567 563 569 565 569 567 570 569 553 554 553 555 573 572 572 555 572 574 555 556 557 558 557 559 561 562 563 564 565 566 567 568 570 571 574 575 574 576 580 579 579 576 579 581 576 577 576 578 581 582 581 583 587 586 586 583 586 588 583 584 583 585 592 590 595 592 588 589 588 590 598 597 597 590 597 599 590 591 592 593 592 594 595 596 603 601 606 603 609 606 612 609 614 612 615 614 618 614 599 600 599 601 622 621 621 601 621 623 601 602 603 604 603 605 606 607 606 608 609 610 609 611 612 613 615 616 615 617 618 619 618 620 627 625 623 624 623 625 632 631 631 625 631 633 625 626 627 628 627 629 627 630 637 635 640 637 643 640 646 643 649 646 633 634 633 635 654 653 653 635 653 655 635 636 637 638 637 639 640 641 640 642 643 644 643 645 646 647 646 648 649 650 649 651 649 652 659 657 662 659 665 662 668 665 670 668 671 670 674 670 655 656 655 657 678 677 677 657 677 679 657 658 659 660 659 661 662 663 662 664 665 666 665 667 668 669 671 672 671 673 674 675 674 676 683 681 686 683 687 686 688 686 679 680 679 681 692 691 691 681 691 693 681 682 683 684 683 685 688 689 688 690 697 695 700 697 701 700 702 700 693 694 693 695 706 705 705 695 705 707 695 696 697 698 697 699 702 703 702 704 711 709 714 711 715 714 717 714 719 715 721 717 723 719 723 721 707 708 707 709 726 725 725 709 725 727 709 710 711 712 711 713 715 716 717 718 719 720 721 722 723 724 731 729 734 731 737 734 740 737 743 740 727 728 727 729 748 747 747 729 747 749 729 730 731 732 731 733 734 735 734 736 737 738 737 739 740 741 740 742 743 744 743 745 743 746 753 751 756 753 749 750 749 751 759 758 758 751 758 760 751 752 753 754 753 755 756 757 764 762 760 761 760 762 769 768 768 762 768 770 762 763 764 765 764 766 764 767 774 772 777 774 780 777 781 780 782 780 770 771 770 772 784 783 783 772 783 785 772 773 774 775 774 776 777 778 777 779 789 787 792 789 793 792 794 792 785 786 785 787 796 795 795 787 795 797 787 788 789 790 789 791 801 799 804 801 797 798 797 799 807 806 806 799 806 808 799 800 801 802 801 803 804 805 812 810 815 812 818 815 819 818 808 809 808 810 824 823 823 810 823 825 810 811 812 813 812 814 815 816 815 817 819 820 819 821 819 822 829 827 832 829 835 832 838 835 840 838 841 840 844 840 825 826 825 827 848 847 847 827 847 849 827 828 829 830 829 831 832 833 832 834 835 836 835 837 838 839 841 842 841 843 844 845 844 846 853 851 855 853 857 853 849 850 849 851 862 861 861 851 861 863 851 852 853 854 855 856 857 858 857 859 857 860 867 865 870 867 863 864 863 865 873 872 872 865 872 874 865 866 867 868 867 869 870 871 874 875 874 876 880 879 879 876 879 881 876 877 876 878 881 882 881 883 887 886 886 883 886 888 883 884 883 885 892 890 888 889 888 890 896 890 890 891 892 893 892 894 892 895 896 897 896 898 899 900 899 901 900 901 902 903 902 904 903 904 905 906 905 907 906 907 908 909 908 910 909 910 911 912 911 913 912 913 914 915 914 916 915 916 917 918 917 919 918 919 920 921 920 922 921 922 923 924 923 925 924 925 926 927 926 928 927 928 929 930 929 931 930 931 932 933 932 934 933 934 935 936 935 937 936 937 938 939 938 940 939 940 941 942 941 943 942 943 944 945 944 946 945 946 947 948 947 949 948 949 950 951 950 952 951 952 953 954 953 955 954 955 956 957 956 958 957 958 959 960 959 961 960 961 962 963 962 964 963 964 965 966 965 967 966 967 968 969 968 970 969 970 971 972 971 973 972 973 974 975 974 976 975 976 977 978 977 979 978 979 980 981 980 982 981 982 983 984 983 985 984 985 986 987 986 988 987 988 989 990 989 991 990 991 992 993 992 994 993 994 995 996 995 997 996 997 998 999 998 1000 999 1000 1001 1002 1001 1003 1002 1003 1004 1005 1004 1006 1005 1006 1007 1008 1007 1009 1008 1009 1010 1011 1010 1012 1011 1012 1013 1014 1013 1015 1014 1015 1016 1017 1016 1018 1017 1018 1019 1020 1019 1021 1020 1021 1022 1023 1022 1024 1023 1024 1025 1026 1025 1027 1026 1027 1028 1029 1028 1030 1029 1030 1031 1032 1031 1033 1032 1033 1034 1035 1034 1036 1035 1036 1037 1038 1037 1039 1038 1039 1040 1041 1040 1042 1041 1042 1043 1044 1043 1045 1044 1045 1046 1047 1046 1048 1047 1048 1049 1050 1049 1051 1050 1051 1052 1053 1052 1054 1053 1054 1055 1056 1055 1057 1056 1057 1058 1059 1058 1060 1059 1060 1061 1062 1061 1063 1062 1063 1064 1065 1064 1066 1065 1066 1067 1068 1067 1069 1068 1069 1070 1071 1070 1072 1071 1072 1073 1074 1073 1075 1074 1075 1076 1077 1076 1078 1077 1078 1079 1080 1079 1081 1080 1081 1082 1083 1082 1084 1083 1084 1085 1086 1085 1087 1086 1087 1088 1089 1088 1090 1089 1090 1091 1092 1091 1093 1092 1093 1094 1095 1094 1096 1095 1096 1097 1098 1097 1099 1098 1099 1100 1101 1100 1102 1101 1102 1103 1104 1103 1105 1104 1105 1106 1107 1106 1108 1107 1108 1109 1110 1109 1111 1110 1111 1112 1113 1112 1114 1113 1114 1115 1116 1115 1117 1116 1117 1118 1119 1118 1120 1119 1120 1121 1122 1121 1123 1122 1123 1124 1125 1124 1126 1125 1126 1127 1128 1127 1129 1128 1129 1130 1131 1130 1132 1131 1132 1133 1134 1133 1135 1134 1135 1136 1137 1136 1138 1137 1138 1139 1140 1139 1141 1140 1141 1142 1143 1142 1144 1143 1144 1145 1146 1145 1147 1146 1147 1148 1149 1148 1150 1149 1150 1151 1152 1151 1153 1152 1153 1154 1155 1154 1156 1155 1156 1157 1158 1157 1159 1158 1159 1160 1161 1160 1162 1161 1162 1163 1164 1163 1165 1164 1165 1166 1167 1166 1168 1167 1168 1169 1170 1169 1171 1170 1171 1172 1173 1172 1174 1173 1174 1175 1176 1175 1177 1176 1177 1178 1179 1178 1180 1179 1180 1181 1182 1181 1183 1182 1183 1184 1185 1184 1186 1185 1186 1187 1188 1187 1189 1188 1189 1190 1191 1190 1192 1191 1192 1193 1194 1193 1195 1194 1195 1196 1197 1196 1198 1197 1198 1199 1200 1199 1201 1200 1201 1202 1203 1202 1204 1203 1204 1205 1206 1205 1207 1206 1207 1208 1209 1208 1210 1209 1210 1211 1212 1211 1213 1212 1213 1214 1215 1214 1216 1215 1216 1217 1218 1217 1219 1218 1219 1220 1221 1220 1222 1221 1222 1223 1224 1223 1225 1224 1225 1226 1227 1226 1228 1227 1228 1229 1230 1229 1231 1230 1231 1232 1233 1232 1234 1233 1234 1235 1236 1235 1237 1236 1237 1238 1239 1238 1240 1239 1240 1241 1242 1241 1243 1242 1243 1244 1245 1244 1246 1245 1246 1247 1248 1247 1249 1248 1249 1250 1251 1250 1252 1251 1252 1253 1254 1253 1255 1254 1255 1256 1257 1256 1258 1257 1258 1259 1260 1259 1261 1260 1261 1262 1263 1262 1264 1263 1264 1265 1266 1265 1267 1266 1267 1268 1269 1268 1270 1269 1270 1271 1272 1271 1273 1272 1273 1274 1275 1274 1276 1275 1276 1277 1278 1277 1279 1278 1279 1280 1281 1280 1282 1281 1282 1283 1284 1283 1285 1284 1285 1286 1287 1286 1288 1287 1288 1289 1290 1289 1291 1290 1291 1292 1293 1292 1294 1293 1294 1295 1296 1295 1297 1296 1297 1298 1299 1298 1300 1299 1300 1301 1302 1301 1303 1302 1303 1304 1305 1304 1306 1305 1306 1307 1308 1307 1309 1308 1309 1310 1311 1310 1312 1311 1312 1313 1314 1313 1315 1314 1315 1316 1317 1316 1318 1317 1318 1319 1320 1319 1321 1320 1321 1322 1323 1322 1324 1323 1324 1325 1326 1325 1327 1326 1327 1328 1329 1328 1330 1329 1330 1331 1332 1331 1333 1332 1333 1334 1335 1334 1336 1335 1336 1337 1338 1337 1339 1338 1339 1340 1341 1340 1342 1341 1342 1343 1344 1343 1345 1344 1345 1346 1347 1346 1348 1347 1348 1349 1350 1349 1351 1350 1351 1352 1353 1352 1354 1353 1354 1355 1356 1355 1357 1356 1357 1358 1359 1358 1360 1359 1360 1361 1362 1361 1363 1362 1363 1364 1365 1364 1366 1365 1366 1367 1368 1367 1369 1368 1369 1370 1371 1370 1372 1371 1372 1373 1374 1373 1375 1374 1375 1376 1377 1376 1378 1377 1378 1379 1380 1379 1381 1380 1381 1382 1383 1382 1384 1383 1384 1385 1386 1385 1387 1386 1387 1388 1389 1388 1390 1389 1390 1391 1392 1391 1393 1392 1393 1394 1395 1394 1396 1395 1396 1397 1398 1397 1399 1398 1399 1400 1401 1400 1402 1401 1402 1403 1404 1403 1405 1404 1405 1406 1407 1406 1408 1407 1408 1409 1410 1409 1411 1410 1411 1412 1413 1412 1414 1413 1414 1415 1416 1415 1417 1416 1417 1418 1419 1418 1420 1419 1420 1421 1422 1421 1423 1422 1423 1424 1425 1424 1426 1425 1426 1427 1428 1427 1429 1428 1429 1430 1431 1430 1432 1431 1432 1433 1434 1433 1435 1434 1435 1436 1437 1436 1438 1437 1438 1439 1440 1439 1441 1440 1441 1442 1443 1442 1444 1443 1444 1445 1446 1445 1447 1446 1447 1448 1449 1448 1450 1449 1450 1451 1452 1451 1453 1452 1453 1454 1455 1454 1456 1455 1456 1457 1458 1457 1459 1458 1459 1460 1461 1460 1462 1461 1462 1463 1464 1463 1465 1464 1465 1466 1467 1466 1468 1467 1468 1469 1470 1469 1471 1470 1471 1472 1473 1472 1474 1473 1474 1475 1476 1475 1477 1476 1477 1478 1479 1478 1480 1479 1480 1481 1482 1481 1483 1482 1483 1484 1485 1484 1486 1485 1486 1487 1488 1487 1489 1488 1489 1490 1491 1490 1492 1491 1492 1493 1494 1493 1495 1494 1495 1496 1497 1496 1498 1497 1498 1499 1500 1499 1501 1500 1501 1502 1503 1502 1504 1503 1504 1505 1506 1505 1507 1506 1507 1508 1509 1508 1510 1509 1510 1511 1512 1511 1513 1512 1513 1514 1515 1514 1516 1515 1516 1517 1518 1517 1519 1518 1519 1520 1521 1520 1522 1521 1522 1523 1524 1523 1525 1524 1525 1526 1527 1526 1528 1527 1528 1529 1530 1529 1531 1530 1531 1532 1533 1532 1534 1533 1534 1535 1536 1535 1537 1536 1537 1538 1539 1538 1540 1539 1540 1541 1542 1541 1543 1542 1543 1544 1545 1544 1546 1545 1546 1547 1548 1547 1549 1548 1549 1550 1551 1550 1552 1551 1552 1553 1554 1553 1555 1554 1555 1556 1557 1556 1558 1557 1558 1559 1560 1559 1561 1560 1561 1562 1563 1562 1564 1563 1564 1565 1566 1565 1567 1566 1567 1568 1569 1568 1570 1569 1570 1571 1572 1571 1573 1572 1573 1574 1575 1574 1576 1575 1576 1577 1578 1577 1579 1578 1579 1580 1581 1580 1582 1581 1582 1583 1584 1583 1585 1584 1585 1586 1587 1586 1588 1587 1588 1589 1590 1589 1591 1590 1591 1592 1593 1592 1594 1593 1594 1595 1596 1595 1597 1596 1597 1598 1599 1598 1600 1599 1600 1601 1602 1601 1603 1602 1603 1604 1605 1604 1606 1605 1606 1607 1608 1607 1609 1608 1609 1610 1611 1610 1612 1611 1612 1613 1614 1613 1615 1614 1615 1616 1617 1616 1618 1617 1618 1619 1620 1619 1621 1620 1621 1622 1623 1622 1624 1623 1624 1625 1626 1625 1627 1626 1627 1628 1629 1628 1630 1629 1630 1631 1632 1631 1633 1632 1633 1634 1635 1634 1636 1635 1636 1637 1638 1637 1639 1638 1639 1640 1641 1640 1642 1641 1642 1643 1644 1643 1645 1644 1645 1646 1647 1646 1648 1647 1648 1649 1650 1649 1651 1650 1651 1652 1653 1652 1654 1653 1654 1655 1656 1655 1657 1656 1657 1658 1659 1658 1660 1659 1660 1661 1662 1661 1663 1662 1663 1664 1665 1664 1666 1665 1666 1667 1668 1667 1669 1668 1669 1670 1671 1670 1672 1671 1672 1673 1674 1673 1675 1674 1675 1676 1677 1676 1678 1677 1678 1679 1680 1679 1681 1680 1681 1682 1683 1682 1684 1683 1684 1685 1686 1685 1687 1686 1687 1688 1689 1688 1690 1689 1690 1691 1692 1691 1693 1692 1693 1694 1695 1694 1696 1695 1696 1697 1698 1697 1699 1698 1699 1700 1701 1700 1702 1701 1702 1703 1704 1703 1705 1704 1705 1706 1707 1706 1708 1707 1708 1709 1710 1709 1711 1710 1711 1712 1713 1712 1714 1713 1714 1715 1716 1715 1717 1716 1717 1718 1719 1718 1720 1719 1720 1721 1722 1721 1723 1722 1723 1724 1725 1724 1726 1725 1726 1727 1728 1727 1729 1728 1729 1730 1731 1730 1732 1731 1732 1733 1734 1733 1735 1734 1735 1736 1737 1736 1738 1737 1738 1739 1740 1739 1741 1740 1741 1742 1743 1742 1744 1743 1744 1745 1746 1745 1747 1746 1747 1748 1749 1748 1750 1749 1750 1751 1752 1751 1753 1752 1753 1754 1755 1754 1756 1755 1756 1757 1758 1757 1759 1758 1759 1760 1761 1760 1762 1761 1762 1763 1764 1763 1765 1764 1765 1766 1767 1766 1768 1767 1768 1769 1770 1769 1771 1770 1771 1772 1773 1772 1774 1773 1774 1775 1776 1775 1777 1776 1777 1778 1779 1778 1780 1779 1780 1781 1782 1781 1783 1782 1783 1784 1785 1784 1786 1785 1786 1787 1788 1787 1789 1788 1789 1790 1791 1790 1792 1791 1792 1793 1794 1793 1795 1794 1795 1796 1797 1796 1798 1797 1798 1799 1800 1799 1801 1800 1801 1802 1803 1802 1804 1803 1804 1805 1806 1805 1807 1806 1807 1808 1809 1808 1810 1809 1810 1811 1812 1811 1813 1812 1813 1814 1815 1814 1816 1815 1816 1817 1818 1817 1819 1818 1819 1820 1821 1820 1822 1821 1822 1823 1824 1823 1825 1824 1825 1826 1827 1826 1828 1827 1828 1829 1830 1829 1831 1830 1831 1832 1833 1832 1834 1833 1834 1835 1836 1835 1837 1836 1837 1838 1839 1838 1840 1839 1840 1841 1842 1841 1843 1842 1843 1844 1845 1844 1846 1845 1846 1847 1848 1847 1849 1848 1849 1850 1851 1850 1852 1851 1852 1853 1854 1853 1855 1854 1855 1856 1857 1856 1858 1857 1858 1859 1860 1859 1861 1860 1861 1862 1863 1862 1864 1863 1864 1865 1866 1865 1867 1866 1867 1868 1869 1868 1870 1869 1870 1871 1872 1871 1873 1872 1873 1874 1875 1874 1876 1875 1876 1877 1878 1877 1879 1878 1879 1880 1881 1880 1882 1881 1882 1883 1884 1883 1885 1884 1885 1886 1887 1886 1888 1887 1888 1889 1890 1889 1891 1890 1891 1892 1893 1892 1894 1893 1894 1895 1896 1895 1897 1896 1897 1898 1899 1898 1900 1899 1900 1901 1902 1901 1903 1902 1903 1904 1905 1904 1906 1905 1906 1907 1908 1907 1909 1908 1909 1910 1911 1910 1912 1911 1912 1913 1914 1913 1915 1914 1915 1916 1917 1916 1918 1917 1918 1919 1920 1919 1921 1920 1921 1922 1923 1922 1924 1923 1924 1925 1926 1925 1927 1926 1927 1928 1929 1928 1930 1929 1930 1931 1932 1931 1933 1932 1933 1934 1935 1934 1936 1935 1936 1937 1938 1937 1939 1938 1939 1940 1941 1940 1942 1941 1942 1943 1944 1943 1945 1944 1945 1946 1947 1946 1948 1947 1948 1949 1950 1949 1951 1950 1951 1952 1953 1952 1954 1953 1954 1955 1956 1955 1957 1956 1957 1958 1959 1958 1960 1959 1960 1961 1962 1961 1963 1962 1963 1964 1965 1964 1966 1965 1966 1967 1968 1967 1969 1968 1969 1970 1971 1970 1972 1971 1972 1973 1974 1973 1975 1974 1975 1976 1977 1976 1978 1977 1978 1979 1980 1979 1981 1980 1981 1982 1983 1982 1984 1983 1984 1985 1986 1985 1987 1986 1987 1988 1989 1988 1990 1989 1990 1991 1992 1991 1993 1992 1993 1994 1995 1994 1996 1995 1996 1997 1998 1997 1999 1998 1999 2000 2001 2000 2002 2001 2002 2003 2004 2003 2005 2004 2005 2006 2007 2006 2008 2007 2008 2009 2010 2009 2011 2010 2011 2012 2013 2012 2014 2013 2014 2015 2016 2015 2017 2016 2017 2018 2019 2018 2020 2019 2020 2021 2022 2021 2023 2022 2023 2024 2025 2024 2026 2025 2026 2027 2028 2027 2029 2028 2029 2030 2031 2030 2032 2031 2032 2033 2034 2033 2035 2034 2035 2036 2037 2036 2038 2037 2038 2039 2040 2039 2041 2040 2041 2042 2043 2042 2044 2043 2044 2045 2046 2045 2047 2046 2047 2048 2049 2048 2050 2049 2050 2051 2052 2051 2053 2052 2053 2054 2055 2054 2056 2055 2056 2057 2058 2057 2059 2058 2059 2060 2061 2060 2062 2061 2062 2063 2064 2063 2065 2064 2065 2066 2067 2066 2068 2067 2068 2069 2070 2069 2071 2070 2071 2072 2073 2072 2074 2073 2074 2075 2076 2075 2077 2076 2077 2078 2079 2078 2080 2079 2080 2081 2082 2081 2083 2082 2083 2084 2085 2084 2086 2085 2086 2087 2088 2087 2089 2088 2089 2090 2091 2090 2092 2091 2092 2093 2094 2093 2095 2094 2095 2096 2097 2096 2098 2097 2098 2099 2100 2099 2101 2100 2101 2102 2103 2102 2104 2103 2104 2105 2106 2105 2107 2106 2107 2108 2109 2108 2110 2109 2110 2111 2112 2111 2113 2112 2113 2114 2115 2114 2116 2115 2116 2117 2118 2117 2119 2118 2119 2120 2121 2120 2122 2121 2122 2123 2124 2123 2125 2124 2125 2126 2127 2126 2128 2127 2128 2129 2130 2129 2131 2130 2131 2132 2133 2132 2134 2133 2134 2135 2136 2135 2137 2136 2137 2138 2139 2138 2140 2139 2140 2141 2142 2141 2143 2142 2143 2144 2145 2144 2146 2145 2146 2147 2148 2147 2149 2148 2149 2150 2151 2150 2152 2151 2152 2153 2154 2153 2155 2154 2155 2156 2157 2156 2158 2157 2158 2159 2160 2159 2161 2160 2161 2162 2163 2162 2164 2163 2164 2165 2166 2165 2167 2166 2167 2168 2169 2168 2170 2169 2170 2171 2172 2171 2173 2172 2173 2174 2175 2174 2176 2175 2176 2177 2178 2177 2179 2178 2179 2180 2181 2180 2182 2181 2182 2183 2184 2183 2185 2184 2185 2186 2187 2186 2188 2187 2188 2189 2190 2189 2191 2190 2191 2192 2193 2192 2194 2193 2194 2195 2196 2195 2197 2196 2197 2198 2199 2198 2200 2199 2200 2201 2202 2201 2203 2202 2203 2204 2205 2204 2206 2205 2206 2207 2208 2207 2209 2208 2209 2210 2211 2210 2212 2211 2212 2213 2214 2213 2215 2214 2215 2216 2217 2216 2218 2217 2218 2219 2220 2219 2221 2220 2221 2222 2223 2222 2224 2223 2224 2225 2226 2225 2227 2226 2227 2228 2229 2228 2230 2229 2230 2231 2232 2231 2233 2232 2233 2234 2235 2234 2236 2235 2236 2237 2238 2237 2239 2238 2239 2240 2241 2240 2242 2241 2242 2243 2244 2243 2245 2244 2245 2246 2247 2246 2248 2247 2248 2249 2250 2249 2251 2250 2251 2252 2253 2252 2254 2253 2254 2255 2256 2255 2257 2256 2257 2258 2259 2258 2260 2259 2260 2261 2262 2261 2263 2262 2263 2264 2265 2264 2266 2265 2266 2267 2268 2267 2269 2268 2269 2270 2271 2270 2272 2271 2272 2273 2274 2273 2275 2274 2275 2276 2277 2276 2278 2277 2278 2279 2280 2279 2281 2280 2281 2282 2283 2282 2284 2283 2284 2285 2286 2285 2287 2286 2287 2288 2289 2288 2290 2289 2290 2291 2292 2291 2293 2292 2293 2294 2295 2294 2296 2295 2296 2297 2298 2297 2299 2298 2299 2300 2301 2300 2302 2301 2302 2303 2304 2303 2305 2304 2305 2306 2307 2306 2308 2307 2308 2309 2310 2309 2311 2310 2311 2312 2313 2312 2314 2313 2314 2315 2316 2315 2317 2316 2317 2318 2319 2318 2320 2319 2320 2321 2322 2321 2323 2322 2323 2324 2325 2324 2326 2325 2326 2327 2328 2327 2329 2328 2329 2330 2331 2330 2332 2331 2332 2333 2334 2333 2335 2334 2335 2336 2337 2336 2338 2337 2338 2339 2340 2339 2341 2340 2341 2342 2343 2342 2344 2343 2344 2345 2346 2345 2347 2346 2347 2348 2349 2348 2350 2349 2350 2351 2352 2351 2353 2352 2353 2354 2355 2354 2356 2355 2356 2357 2358 2357 2359 2358 2359 2360 2361 2360 2362 2361 2362 2363 2364 2363 2365 2364 2365 2366 2367 2366 2368 2367 2368 2369 2370 2369 2371 2370 2371 2372 2373 2372 2374 2373 2374 2375 2376 2375 2377 2376 2377 2378 2379 2378 2380 2379 2380 2381 2382 2381 2383 2382 2383 2384 2385 2384 2386 2385 2386 2387 2388 2387 2389 2388 2389 2390 2391 2390 2392 2391 2392 2393 2394 2393 2395 2394 2395 2396 2397 2396 2398 2397 2398 2399 2400 2399 2401 2400 2401 2402 2403 2402 2404 2403 2404 2405 2406 2405 2407 2406 2407 2408 2409 2408 2410 2409 2410 2411 2412 2411 2413 2412 2413 2414 2415 2414 2416 2415 2416 2417 2418 2417 2419 2418 2419 2420 2421 2420 2422 2421 2422 2423 2424 2423 2425 2424 2425 2426 2427 2426 2428 2427 2428 2429 2430 2429 2431 2430 2431 2432 2433 2432 2434 2433 2434 2435 2436 2435 2437 2436 2437 2438 2439 2438 2440 2439 2440 2441 2442 2441 2443 2442 2443 2444 2445 2444 2446 2445 2446 2447 2448 2447 2449 2448 2449 2450 2451 2450 2452 2451 2452 2453 2454 2453 2455 2454 2455 2456 2457 2456 2458 2457 2458 2459 2460 2459 2461 2460 2461 2462 2463 2462 2464 2463 2464 2465 2466 2465 2467 2466 2467 2468 2469 2468 2470 2469 2470 2471 2472 2471 2473 2472 2473 2474 2475 2474 2476 2475 2476 2477 2478 2477 2479 2478 2479 2480 2481 2480 2482 2481 2482 2483 2484 2483 2485 2484 2485 2486 2487 2486 2488 2487 2488 2489 2490 2489 2491 2490 2491 2492 2493 2492 2494 2493 2494 2495 2496 2495 2497 2496 2497 2498 2499 2498 2500 2499 2500 2501 2502 2501 2503 2502 2503 2504 2505 2504 2506 2505 2506 2507 2508 2507 2509 2508 2509 2510 2511 2510 2512 2511 2512 2513 2514 2513 2515 2514 2515 2516 2517 2516 2518 2517 2518 2519 2520 2519 2521 2520 2521 2522 2523 2522 2524 2523 2524 2525 2526 2525 2527 2526 2527 2528 2529 2528 2530 2529 2530 2531 2532 2531 2533 2532 2533 2534 2535 2534 2536 2535 2536 2537 2538 2537 2539 2538 2539 2540 2541 2540 2542 2541 2542 2543 2544 2543 2545 2544 2545 2546 2547 2546 2548 2547 2548 2549 2550 2549 2551 2550 2551 2552 2553 2552 2554 2553 2554 2555 2556 2555 2557 2556 2557 2558 2559 2558 2560 2559 2560 2561 2562 2561 2563 2562 2563 2564 2565 2564 2566 2565 2566 2567 2568 2567 2569 2568 2569 2570 2571 2570 2572 2571 2572 2573 2574 2573 2575 2574 2575 2576 2577 2576 2578 2577 2578 2579 2580 2579 2581 2580 2581 2582 2583 2582 2584 2583 2584 2585 2586 2585 2587 2586 2587 2588 2589 2588 2590 2589 2590 2591 2592 2591 2593 2592 2593 2594 2595 2594 2596 2595 2596 2597 2598 2597 2599 2598 2599 2600 2601 2600 2602 2601 2602 2603 2604 2603 2605 2604 2605 2606 2607 2606 2608 2607 2608 2609 2610 2609 2611 2610 2611 2612 2613 2612 2614 2613 2614 2615 2616 2615 2617 2616 2617 2618 2619 2618 2620 2619 2620 2621 2622 2621 2623 2622 2623 2624 2625 2624 2626 2625 2626 2627 2628 2627 2629 2628 2629 2630 2631 2630 2632 2631 2632 2633 2634 2633 2635 2634 2635 2636 2637 2636 2638 2637 2638 2639 2640 2639 2641 2640 2641 2642 2643 2642 2644 2643 2644 2645 2646 2645 2647 2646 2647 2648 2649 2648 2650 2649 2650 2651 2652 2651 2653 2652 2653 2654 2655 2654 2656 2655 2656 2657 2658 2657 2659 2658 2659 2660 2661 2660 2662 2661 2662 2663 2664 2663 2665 2664 2665 2666 2667 2666 2668 2667 2668 2669 2670 2669 2671 2670 2671 2672 2673 2672 2674 2673 2674 2675 2676 2675 2677 2676 2677 2678 2679 2678 2680 2679 2680 2681 2682 2681 2683 2682 2683 2684 2685 2684 2686 2685 2686 2687 2688 2687 2689 2688 2689 2690 2691 2690 2692 2691 2692 2693 2694 2693 2695 2694 2695 2696 2697 2696 2698 2697 2698 2699 2700 2699 2701 2700 2701 2702 2703 2702 2704 2703 2704 2705 2706 2705 2707 2706 2707 2708 2709 2708 2710 2709 2710 2711 2712 2711 2713 2712 2713 2714 2715 2714 2716 2715 2716 2717 2718 2717 2719 2718 2719 2720 2721 2720 2722 2721 2722 2723 2724 2723 2725 2724 2725 2726 2727 2726 2728 2727 2728 2729 2730 2729 2731 2730 2731 2732 2733 2732 2734 2733 2734 2735 2736 2735 2737 2736 2737 2738 2739 2738 2740 2739 2740 2741 2742 2741 2743 2742 2743 2744 2745 2744 2746 2745 2746 2747 2748 2747 2749 2748 2749 2750 2751 2750 2752 2751 2752 2753 2754 2753 2755 2754 2755 2756 2757 2756 2758 2757 2758 2759 2760 2759 2761 2760 2761 2762 2763 2762 2764 2763 2764 2765 2766 2765 2767 2766 2767 2768 2769 2768 2770 2769 2770 2771 2772 2771 2773 2772 2773 2774 2775 2774 2776 2775 2776 2777 2778 2777 2779 2778 2779 2780 2781 2780 2782 2781 2782 2783 2784 2783 2785 2784 2785 2786 2787 2786 2788 2787 2788 2789 2790 2789 2791 2790 2791 2792 2793 2792 2794 2793 2794 2795 2796 2795 2797 2796 2797 2798 2799 2798 2800 2799 2800 2801 2802 2801 2803 2802 2803 2804 2805 2804 2806 2805 2806 2807 2808 2807 2809 2808 2809 2810 2811 2810 2812 2811 2812 2813 2814 2813 2815 2814 2815 2816 2817 2816 2818 2817 2818 2819 2820 2819 2821 2820 2821 2822 2823 2822 2824 2823 2824 2825 2826 2825 2827 2826 2827 2828 2829 2828 2830 2829 2830 2831 2832 2831 2833 2832 2833 2834 2835 2834 2836 2835 2836 2837 2838 2837 2839 2838 2839 2840 2841 2840 2842 2841 2842 2843 2844 2843 2845 2844 2845 2846 2847 2846 2848 2847 2848 2849 2850 2849 2851 2850 2851 2852 2853 2852 2854 2853 2854 2855 2856 2855 2857 2856 2857 2858 2859 2858 2860 2859 2860 2861 2862 2861 2863 2862 2863 2864 2865 2864 2866 2865 2866 2867 2868 2867 2869 2868 2869 2870 2871 2870 2872 2871 2872 2873 2874 2873 2875 2874 2875 2876 2877 2876 2878 2877 2878 2879 2880 2879 2881 2880 2881 2882 2883 2882 2884 2883 2884 2885 2886 2885 2887 2886 2887 2888 2889 2888 2890 2889 2890 2891 2892 2891 2893 2892 2893 2894 2895 2894 2896 2895 2896 2897 2898 2897 2899 2898 2899 2900 2901 2900 2902 2901 2902 2903 2904 2903 2905 2904 2905 2906 2907 2906 2908 2907 2908 2909 2910 2909 2911 2910 2911 2912 2913 2912 2914 2913 2914 2915 2916 2915 2917 2916 2917 2918 2919 2918 2920 2919 2920 2921 2922 2921 2923 2922 2923 2924 2925 2924 2926 2925 2926 2927 2928 2927 2929 2928 2929 2930 2931 2930 2932 2931 2932 2933 2934 2933 2935 2934 2935 2936 2937 2936 2938 2937 2938 2939 2940 2939 2941 2940 2941 2942 2943 2942 2944 2943 2944 2945 2946 2945 2947 2946 2947 2948 2949 2948 2950 2949 2950 2951 2952 2951 2953 2952 2953 2954 2955 2954 2956 2955 2956 2957 2958 2957 2959 2958 2959 2960 2961 2960 2962 2961 2962 2963 2964 2963 2965 2964 2965 2966 2967 2966 2968 2967 2968 2969 2970 2969 2971 2970 2971 2972 2973 2972 2974 2973 2974 2975 2976 2975 2977 2976 2977 2978 2979 2978 2980 2979 2980 2981 2982 2981 2983 2982 2983 2984 2985 2984 2986 2985 2986 2987 2988 2987 2989 2988 2989 2990 2991 2990 2992 2991 2992 2993 2994 2993 2995 2994 2995 2996 2997 2996 2998 2997 2998 2999 3000 2999 3001 3000 3001 3002 3003 3002 3004 3003 3004 3005 3006 3005 3007 3006 3007 3008 3009 3008 3010 3009 3010 3011 3012 3011 3013 3012 3013 3014 3015 3014 3016 3015 3016 3017 3018 3017 3019 3018 3019 3020 3021 3020 3022 3021 3022 3023 3024 3023 3025 3024 3025 3026 3027 3026 3028 3027 3028 3029 3030 3029 3031 3030 3031 3032 3033 3032 3034 3033 3034 3035 3036 3035 3037 3036 3037 3038 3039 3038 3040 3039 3040 3041 3042 3041 3043 3042 3043 3044 3045 3044 3046 3045 3046 3047 3048 3047 3049 3048 3049 3050 3051 3050 3052 3051 3052 3053 3054 3053 3055 3054 3055 3056 3057 3056 3058 3057 3058 3059 3060 3059 3061 3060 3061 3062 3063 3062 3064 3063 3064 3065 3066 3065 3067 3066 3067 3068 3069 3068 3070 3069 3070 3071 3072 3071 3073 3072 3073 3074 3075 3074 3076 3075 3076 3077 3078 3077 3079 3078 3079 3080 3081 3080 3082 3081 3082 3083 3084 3083 3085 3084 3085 3086 3087 3086 3088 3087 3088 3089 3090 3089 3091 3090 3091 3092 3093 3092 3094 3093 3094 3095 3096 3095 3097 3096 3097 3098 3099 3098 3100 3099 3100 3101 3102 3101 3103 3102 3103 3104 3105 3104 3106 3105 3106 3107 3108 3107 3109 3108 3109 3110 3111 3110 3112 3111 3112 3113 3114 3113 3115 3114 3115 3116 3117 3116 3118 3117 3118 3119 3120 3119 3121 3120 3121 3122 3123 3122 3124 3123 3124 3125 3126 3125 3127 3126 3127 3128 3129 3128 3130 3129 3130 3131 3132 3131 3133 3132 3133 3134 3135 3134 3136 3135 3136 3137 3138 3137 3139 3138 3139 3140 3141 3140 3142 3141 3142 3143 3144 3143 3145 3144 3145 3146 3147 3146 3148 3147 3148 3149 3150 3149 3151 3150 3151 3152 3153 3152 3154 3153 3154 3155 3156 3155 3157 3156 3157 3158 3159 3158 3160 3159 3160 3161 3162 3161 3163 3162 3163 3164 3165 3164 3166 3165 3166 3167 3168 3167 3169 3168 3169 3170 3171 3170 3172 3171 3172 3173 3174 3173 3175 3174 3175 3176 3177 3176 3178 3177 3178 3179 3180 3179 3181 3180 3181 3182 3183 3182 3184 3183 3184 3185 3186 3185 3187 3186 3187 3188 3189 3188 3190 3189 3190 3191 3192 3191 3193 3192 3193 3194 3195 3194 3196 3195 3196 3197 3198 3197 3199 3198 3199 3200 3201 3200 3202 3201 3202 3203 3204 3203 3205 3204 3205 3206 3207 3206 3208 3207 3208 3209 3210 3209 3211 3210 3211 3212 3213 3212 3214 3213 3214 3215 3216 3215 3217 3216 3217 3218 3219 3218 3220 3219 3220 3221 3222 3221 3223 3222 3223 3224 3225 3224 3226 3225 3226 3227 3228 3227 3229 3228 3229 3230 3231 3230 3232 3231 3232 3233 3234 3233 3235 3234 3235 3236 3237 3236 3238 3237 3238 3239 3240 3239 3241 3240 3241 3242 3243 3242 3244 3243 3244 3245 3246 3245 3247 3246 3247 3248 3249 3248 3250 3249 3250 3251 3252 3251 3253 3252 3253 3254 3255 3254 3256 3255 3256 3257 3258 3257 3259 3258 3259 3260 3261 3260 3262 3261 3262 3263 3264 3263 3265 3264 3265 3266 3267 3266 3268 3267 3268 3269 3270 3269 3271 3270 3271 3272 3273 3272 3274 3273 3274 3275 3276 3275 3277 3276 3277 3278 3279 3278 3280 3279 3280 3281 3282 3281 3283 3282 3283 3284 3285 3284 3286 3285 3286 3287 3288 3287 3289 3288 3289 3290 3291 3290 3292 3291 3292 3293 3294 3293 3295 3294 3295 3296 3297 3296 3298 3297 3298 3299 3300 3299 3301 3300 3301 3302 3303 3302 3304 3303 3304 3305 3306 3305 3307 3306 3307 3308 3309 3308 3310 3309 3310 3311 3312 3311 3313 3312 3313 3314 3315 3314 3316 3315 3316 3317 3318 3317 3319 3318 3319 3320 3321 3320 3322 3321 3322 3323 3324 3323 3325 3324 3325 3326 3327 3326 3328 3327 3328 3329 3330 3329 3331 3330 3331 3332 3333 3332 3334 3333 3334 3335 3336 3335 3337 3336 3337 3338 3339 3338 3340 3339 3340 3341 3342 3341 3343 3342 3343 3344 3345 3344 3346 3345 3346 3347 3348 3347 3349 3348 3349 3350 3351 3350 3352 3351 3352 3353 3354 3353 3355 3354 3355 3356 3357 3356 3358 3357 3358 3359 3360 3359 3361 3360 3361 3362 3363 3362 3364 3363 3364 3365 3366 3365 3367 3366 3367 3368 3369 3368 3370 3369 3370 3371 3372 3371 3373 3372 3373 3374 3375 3374 3376 3375 3376 3377 3378 3377 3379 3378 3379 3380 3381 3380 3382 3381 3382 3383 3384 3383 3385 3384 3385 3386 3387 3386 3388 3387 3388 3389 3390 3389 3391 3390 3391 3392 3393 3392 3394 3393 3394 3395 3396 3395 3397 3396 3397 3398 3399 3398 3400 3399 3400 3401 3402 3401 3403 3402 3403 3404 3405 3404 3406 3405 3406 3407 3408 3407 3409 3408 3409 3410 3411 3410 3412 3411 3412 3413 3414 3413 3415 3414 3415 3416 3417 3416 3418 3417 3418 3419 3420 3419 3421 3420 3421 3422 3423 3422 3424 3423 3424 3425 3426 3425 3427 3426 3427 3428 3429 3428 3430 3429 3430 3431 3432 3431 3433 3432 3433 3434 3435 3434 3436 3435 3436 3437 3438 3437 3439 3438 3439 3440 3441 3440 3442 3441 3442 3443 3444 3443 3445 3444 3445 3446 3447 3446 3448 3447 3448 3449 3450 3449 3451 3450 3451 3452 3453 3452 3454 3453 3454 3455 3456 3455 3457 3456 3457 3458 3459 3458 3460 3459 3460 3461 3462 3461 3463 3462 3463 3464 3465 3464 3466 3465 3466 3467 3468 3467 3469 3468 3469 3470 3471 3470 3472 3471 3472 3473 3474 3473 3475 3474 3475 3476 3477 3476 3478 3477 3478 3479 3480 3479 3481 3480 3481 3482 3483 3482 3484 3483 3484 3485 3486 3485 3487 3486 3487 3488 3489 3488 3490 3489 3490 3491 3492 3491 3493 3492 3493 3494 3495 3494 3496 3495 3496 3497 3498 3497 3499 3498 3499 3500 3501 3500 3502 3501 3502 3503 3504 3503 3505 3504 3505 3506 3507 3506 3508 3507 3508 3509 3510 3509 3511 3510 3511 3512 3513 3512 3514 3513 3514 3515 3516 3515 3517 3516 3517 3518 3519 3518 3520 3519 3520 3521 3522 3521 3523 3522 3523 3524 3525 3524 3526 3525 3526 3527 3528 3527 3529 3528 3529 3530 3531 3530 3532 3531 3532 3533 3534 3533 3535 3534 3535 3536 3537 3536 3538 3537 3538 3539 3540 3539 3541 3540 3541 3542 3543 3542 3544 3543 3544 3545 3546 3545 3547 3546 3547 3548 3549 3548 3550 3549 3550 3551 3552 3551 3553 3552 3553 3554 3555 3554 3556 3555 3556 3557 3558 3557 3559 3558 3559 3560 3561 3560 3562 3561 3562 3563 3564 3563 3565 3564 3565 3566 3567 3566 3568 3567 3568 3569 3570 3569 3571 3570 3571 3572 3573 3572 3574 3573 3574 3575 3576 3575 3577 3576 3577 3578 3579 3578 3580 3579 3580 3581 3582 3581 3583 3582 3583 3584 3585 3584 3586 3585 3586 3587 3588 3587 3589 3588 3589 3590 3591 3590 3592 3591 3592 3593 3594 3593 3595 3594 3595 3596 3597 3596 3598 3597 3598 3599 3600 3599 3601 3600 3601 3602 3603 3602 3604 3603 3604 3605 3606 3605 3607 3606 3607 3608 3609 3608 3610 3609 3610 3611 3612 3611 3613 3612 3613 3614 3615 3614 3616 3615 3616 3617 3618 3617 3619 3618 3619 3620 3621 3620 3622 3621 3622 3623 3624 3623 3625 3624 3625 3626 3627 3626 3628 3627 3628 3629 3630 3629 3631 3630 3631 3632 3633 3632 3634 3633 3634 3635 3636 3635 3637 3636 3637 3638 3639 3638 3640 3639 3640 3641 3642 3641 3643 3642 3643 3644 3645 3644 3646 3645 3646 3647 3648 3647 3649 3648 3649 3650 3651 3650 3652 3651 3652 3653 3654 3653 3655 3654 3655 3656 3657 3656 3658 3657 3658 3659 3660 3659 3661 3660 3661 3662 3663 3662 3664 3663 3664 3665 3666 3665 3667 3666 3667 3668 3669 3668 3670 3669 3670 3671 3672 3671 3673 3672 3673 3674 3675 3674 3676 3675 3676 3677 3678 3677 3679 3678 3679 3680 3681 3680 3682 3681 3682 3683 3684 3683 3685 3684 3685 3686 3687 3686 3688 3687 3688 3689 3690 3689 3691 3690 3691 3692 3693 3692 3694 3693 3694 3695 3696 3695 3697 3696 3697 3698 3699 3698 3700 3699 3700 3701 3702 3701 3703 3702 3703 3704 3705 3704 3706 3705 3706 3707 3708 3707 3709 3708 3709 3710 3711 3710 3712 3711 3712 3713 3714 3713 3715 3714 3715 3716 3717 3716 3718 3717 3718 3719 3720 3719 3721 3720 3721 3722 3723 3722 3724 3723 3724 3725 3726 3725 3727 3726 3727 3728 3729 3728 3730 3729 3730 3731 3732 3731 3733 3732 3733 3734 3735 3734 3736 3735 3736 3737 3738 3737 3739 3738 3739 3740 3741 3740 3742 3741 3742 3743 3744 3743 3745 3744 3745 3746 3747 3746 3748 3747 3748 3749 3750 3749 3751 3750 3751 3752 3753 3752 3754 3753 3754 3755 3756 3755 3757 3756 3757 3758 3759 3758 3760 3759 3760 3761 3762 3761 3763 3762 3763 3764 3765 3764 3766 3765 3766 3767 3768 3767 3769 3768 3769 3770 3771 3770 3772 3771 3772 3773 3774 3773 3775 3774 3775 3776 3777 3776 3778 3777 3778 3779 3780 3779 3781 3780 3781 3782 3783 3782 3784 3783 3784 3785 3786 3785 3787 3786 3787 3788 3789 3788 3790 3789 3790 3791 3792 3791 3793 3792 3793 3794 3795 3794 3796 3795 3796 3797 3798 3797 3799 3798 3799 3800 3801 3800 3802 3801 3802 3803 3804 3803 3805 3804 3805 3806 3807 3806 3808 3807 3808 3809 3810 3809 3811 3810 3811 3812 3813 3812 3814 3813 3814 3815 3816 3815 3817 3816 3817 3818 3819 3818 3820 3819 3820 3821 3822 3821 3823 3822 3823 3824 3825 3824 3826 3825 3826 3827 3828 3827 3829 3828 3829 3830 3831 3830 3832 3831 3832 3833 3834 3833 3835 3834 3835 3836 3837 3836 3838 3837 3838 3839 3840 3839 3841 3840 3841 3842 3843 3842 3844 3843 3844 3845 3846 3845 3847 3846 3847 3848 3849 3848 3850 3849 3850 3851 3852 3851 3853 3852 3853 3854 3855 3854 3856 3855 3856 3857 3858 3857 3859 3858 3859 3860 3861 3860 3862 3861 3862 3863 3864 3863 3865 3864 3865 3866 3867 3866 3868 3867 3868 3869 3870 3869 3871 3870 3871 3872 3873 3872 3874 3873 3874 3875 3876 3875 3877 3876 3877 3878 3879 3878 3880 3879 3880 3881 3882 3881 3883 3882 3883 3884 3885 3884 3886 3885 3886 3887 3888 3887 3889 3888 3889 3890 3891 3890 3892 3891 3892 3893 3894 3893 3895 3894 3895 3896 3897 3896 3898 3897 3898 3899 3900 3899 3901 3900 3901 3902 3903 3902 3904 3903 3904 3905 3906 3905 3907 3906 3907 3908 3909 3908 3910 3909 3910 3911 3912 3911 3913 3912 3913 3914 3915 3914 3916 3915 3916 3917 3918 3917 3919 3918 3919 3920 3921 3920 3922 3921 3922 3923 3924 3923 3925 3924 3925 3926 3927 3926 3928 3927 3928 3929 3930 3929 3931 3930 3931 3932 3933 3932 3934 3933 3934 3935 3936 3935 3937 3936 3937 3938 3939 3938 3940 3939 3940 3941 3942 3941 3943 3942 3943 3944 3945 3944 3946 3945 3946 3947 3948 3947 3949 3948 3949 3950 3951 3950 3952 3951 3952 3953 3954 3953 3955 3954 3955 3956 3957 3956 3958 3957 3958 3959 3960 3959 3961 3960 3961 3962 3963 3962 3964 3963 3964 3965 3966 3965 3967 3966 3967 3968 3969 3968 3970 3969 3970 3971 3972 3971 3973 3972 3973 3974 3975 3974 3976 3975 3976 3977 3978 3977 3979 3978 3979 3980 3981 3980 3982 3981 3982 3983 3984 3983 3985 3984 3985 3986 3987 3986 3988 3987 3988 3989 3990 3989 3991 3990 3991 3992 3993 3992 3994 3993 3994 3995 3996 3995 3997 3996 3997 3998 3999 3998 4000 3999 4000 4001 4002 4001 4003 4002 4003 4004 4005 4004 4006 4005 4006 4007 4008 4007 4009 4008 4009 4010 4011 4010 4012 4011 4012 4013 4014 4013 4015 4014 4015 4016 4017 4016 4018 4017 4018 4019 4020 4019 4021 4020 4021 4022 4023 4022 4024 4023 4024 4025 4026 4025 4027 4026 4027 4028 4029 4028 4030 4029 4030 4031 4032 4031 4033 4032 4033 4034 4035 4034 4036 4035 4036 4037 4038 4037 4039 4038 4039 4040 4041 4040 4042 4041 4042 4043 4044 4043 4045 4044 4045 4046 4047 4046 4048 4047 4048 4049 4050 4049 4051 4050 4051 4052 4053 4052 4054 4053 4054 4055 4056 4055 4057 4056 4057 4058 4059 4058 4060 4059 4060 4061 4062 4061 4063 4062 4063 4064 4065 4064 4066 4065 4066 4067 4068 4067 4069 4068 4069 4070 4071 4070 4072 4071 4072 4073 4074 4073 4075 4074 4075 4076 4077 4076 4078 4077 4078 4079 4080 4079 4081 4080 4081 4082 4083 4082 4084 4083 4084 4085 4086 4085 4087 4086 4087 4088 4089 4088 4090 4089 4090 4091 4092 4091 4093 4092 4093 4094 4095 4094 4096 4095 4096 4097 4098 4097 4099 4098 4099 4100 4101 4100 4102 4101 4102 4103 4104 4103 4105 4104 4105 4106 4107 4106 4108 4107 4108 4109 4110 4109 4111 4110 4111 4112 4113 4112 4114 4113 4114 4115 4116 4115 4117 4116 4117 4118 4119 4118 4120 4119 4120 4121 4122 4121 4123 4122 4123 4124 4125 4124 4126 4125 4126 4127 4128 4127 4129 4128 4129 4130 4131 4130 4132 4131 4132 4133 4134 4133 4135 4134 4135 4136 4137 4136 4138 4137 4138 4139 4140 4139 4141 4140 4141 4142 4143 4142 4144 4143 4144 4145 4146 4145 4147 4146 4147 4148 4149 4148 4150 4149 4150 4151 4152 4151 4153 4152 4153 4154 4155 4154 4156 4155 4156 4157 4158 4157 4159 4158 4159 4160 4161 4160 4162 4161 4162 4163 4164 4163 4165 4164 4165 4166 4167 4166 4168 4167 4168 4169 4170 4169 4171 4170 4171 4172 4173 4172 4174 4173 4174 4175 4176 4175 4177 4176 4177 4178 4179 4178 4180 4179 4180 4181 4182 4181 4183 4182 4183 4184 4185 4184 4186 4185 4186 4187 4188 4187 4189 4188 4189 4190 4191 4190 4192 4191 4192 4193 4194 4193 4195 4194 4195 4196 4197 4196 4198 4197 4198 4199 4200 4199 4201 4200 4201 4202 4203 4202 4204 4203 4204 4205 4206 4205 4207 4206 4207 4208 4209 4208 4210 4209 4210 4211 4212 4211 4213 4212 4213 4214 4215 4214 4216 4215 4216 4217 4218 4217 4219 4218 4219 4220 4221 4220 4222 4221 4222 4223 4224 4223 4225 4224 4225 4226 4227 4226 4228 4227 4228 4229 4230 4229 4231 4230 4231 4232 4233 4232 4234 4233 4234 4235 4236 4235 4237 4236 4237 4238 4239 4238 4240 4239 4240 4241 4242 4241 4243 4242 4243 4244 4245 4244 4246 4245 4246 4247 4248 4247 4249 4248 4249 4250 4251 4250 4252 4251 4252 4253 4254 4253 4255 4254 4255 4256 4257 4256 4258 4257 4258 4259 4260 4259 4261 4260 4261 4262 4263 4262 4264 4263 4264 4265 4266 4265 4267 4266 4267 4268 4269 4268 4270 4269 4270 4271 4272 4271 4273 4272 4273 4274 4275 4274 4276 4275 4276 4277 4278 4277 4279 4278 4279 4280 4281 4280 4282 4281 4282 4283 4284 4283 4285 4284 4285 4286 4287 4286 4288 4287 4288 4289 4290 4289 4291 4290 4291 4292 4293 4292 4294 4293 4294 4295 4296 4295 4297 4296 4297 4298 4299 4298 4300 4299 4300 4301 4302 4301 4303 4302 4303 4304 4305 4304 4306 4305 4306 4307 4308 4307 4309 4308 4309 4310 4311 4310 4312 4311 4312 4313 4314 4313 4315 4314 4315 4316 4317 4316 4318 4317 4318 4319 4320 4319 4321 4320 4321 4322 4323 4322 4324 4323 4324 4325 4326 4325 4327 4326 4327 4328 4329 4328 4330 4329 4330 4331 4332 4331 4333 4332 4333 4334 4335 4334 4336 4335 4336 4337 4338 4337 4339 4338 4339 4340 4341 4340 4342 4341 4342 4343 4344 4343 4345 4344 4345 4346 4347 4346 4348 4347 4348 4349 4350 4349 4351 4350 4351 4352 4353 4352 4354 4353 4354 4355 4356 4355 4357 4356 4357 4358 4359 4358 4360 4359 4360 4361 4362 4361 4363 4362 4363 4364 4365 4364 4366 4365 4366 4367 4368 4367 4369 4368 4369 4370 4371 4370 4372 4371 4372 4373 4374 4373 4375 4374 4375 4376 4377 4376 4378 4377 4378 4379 4380 4379 4381 4380 4381 4382 4383 4382 4384 4383 4384 4385 4386 4385 4387 4386 4387 4388 4389 4388 4390 4389 4390 4391 4392 4391 4393 4392 4393 4394 4395 4394 4396 4395 4396 4397 4398 4397 4399 4398 4399 4400 4401 4400 4402 4401 4402 4403 4404 4403 4405 4404 4405 4406 4407 4406 4408 4407 4408 4409 4410 4409 4411 4410 4411 4412 4413 4412 4414 4413 4414 4415 4416 4415 4417 4416 4417 4418 4419 4418 4420 4419 4420 4421 4422 4421 4423 4422 4423 4424 4425 4424 4426 4425 4426 4427 4428 4427 4429 4428 4429 4430 4431 4430 4432 4431 4432 4433 4434 4433 4435 4434 4435 4436 4437 4436 4438 4437 4438 4439 4440 4439 4441 4440 4441 4442 4443 4442 4444 4443 4444 4445 4446 4445 4447 4446 4447 4448 4449 4448 4450 4449 4450 4451 4452 4451 4453 4452 4453 4454 4455 4454 4456 4455 4456 4457 4458 4457 4459 4458 4459 4460 4461 4460 4462 4461 4462 4463 4464 4463 4465 4464 4465 4466 4467 4466 4468 4467 4468 4469 4470 4469 4471 4470 4471 4472 4473 4472 4474 4473 4474 4475 4476 4475 4477 4476 4477 4478 4479 4478 4480 4479 4480 4481 4482 4481 4483 4482 4483 4484 4485 4484 4486 4485 4486 4487 4488 4487 4489 4488 4489 4490 4491 4490 4492 4491 4492 4493 4494 4493 4495 4494 4495 4496 4497 4496 4498 4497 4498 4499 4500 4499 4501 4500 4501 4502 4503 4502 4504 4503 4504 4505 4506 4505 4507 4506 4507 4508 4509 4508 4510 4509 4510 4511 4512 4511 4513 4512 4513 4514 4515 4514 4516 4515 4516 4517 4518 4517 4519 4518 4519 4520 4521 4520 4522 4521 4522 4523 4524 4523 4525 4524 4525 4526 4527 4526 4528 4527 4528 4529 4530 4529 4531 4530 4531 4532 4533 4532 4534 4533 4534 4535 4536 4535 4537 4536 4537 4538 4539 4538 4540 4539 4540 4541 4542 4541 4543 4542 4543 4544 4545 4544 4546 4545 4546 4547 4548 4547 4549 4548 4549 4550 4551 4550 4552 4551 4552 4553 4554 4553 4555 4554 4555 4556 4557 4556 4558 4557 4558 4559 4560 4559 4561 4560 4561 4562 4563 4562 4564 4563 4564 4565 4566 4565 4567 4566 4567 4568 4569 4568 4570 4569 4570 4571 4572 4571 4573 4572 4573 4574 4575 4574 4576 4575 4576 4577 4578 4577 4579 4578 4579 4580 4581 4580 4582 4581 4582 4583 4584 4583 4585 4584 4585 4586 4587 4586 4588 4587 4588 4589 4590 4589 4591 4590 4591 4592 4593 4592 4594 4593 4594 4595 4596 4595 4597 4596 4597 4598 4599 4598 4600 4599 4600 4601 4602 4601 4603 4602 4603 4604 4605 4604 4606 4605 4606 4607 4608 4607 4609 4608 4609 4610 4611 4610 4612 4611 4612 4613 4614 4613 4615 4614 4615 4616 4617 4616 4618 4617 4618 4619 4620 4619 4621 4620 4621 4622 4623 4622 4624 4623 4624 4625 4626 4625 4627 4626 4627 4628 4629 4628 4630 4629 4630 4631 4632 4631 4633 4632 4633 4634 4635 4634 4636 4635 4636 4637 4638 4637 4639 4638 4639 4640 4641 4640 4642 4641 4642 4643 4644 4643 4645 4644 4645 4646 4647 4646 4648 4647 4648 4649 4650 4649 4651 4650 4651 4652 4653 4652 4654 4653 4654 4655 4656 4655 4657 4656 4657 4658 4659 4658 4660 4659 4660 4661 4662 4661 4663 4662 4663 4664 4665 4664 4666 4665 4666 4667 4668 4667 4669 4668 4669 4670 4671 4670 4672 4671 4672 4673 4674 4673 4675 4674 4675 4676 4677 4676 4678 4677 4678 4679 4680 4679 4681 4680 4681 4682 4683 4682 4684 4683 4684 4685 4686 4685 4687 4686 4687 4688 4689 4688 4690 4689 4690 4691 4692 4691 4693 4692 4693 4694 4695 4694 4696 4695 4696 4697 4698 4697 4699 4698 4699 4700 4701 4700 4702 4701 4702 4703 4704 4703 4705 4704 4705 4706 4707 4706 4708 4707 4708 4709 4710 4709 4711 4710 4711 4712 4713 4712 4714 4713 4714 4715 4716 4715 4717 4716 4717 4718 4719 4718 4720 4719 4720 4721 4722 4721 4723 4722 4723 4724 4725 4724 4726 4725 4726 4727 4728 4727 4729 4728 4729 4730 4731 4730 4732 4731 4732 4733 4734 4733 4735 4734 4735 4736 4737 4736 4738 4737 4738 4739 4740 4739 4741 4740 4741 4742 4743 4742 4744 4743 4744 4745 4746 4745 4747 4746 4747 4748 4749 4748 4750 4749 4750 4751 4752 4751 4753 4752 4753 4754 4755 4754 4756 4755 4756 4757 4758 4757 4759 4758 4759 4760 4761 4760 4762 4761 4762 4763 4764 4763 4765 4764 4765 4766 4767 4766 4768 4767 4768 4769 4770 4769 4771 4770 4771 4772 4773 4772 4774 4773 4774 4775 4776 4775 4777 4776 4777 4778 4779 4778 4780 4779 4780 4781 4782 4781 4783 4782 4783 4784 4785 4784 4786 4785 4786 4787 4788 4787 4789 4788 4789 4790 4791 4790 4792 4791 4792 4793 4794 4793 4795 4794 4795 4796 4797 4796 4798 4797 4798 4799 4800 4799 4801 4800 4801 4802 4803 4802 4804 4803 4804 4805 4806 4805 4807 4806 4807 4808 4809 4808 4810 4809 4810 4811 4812 4811 4813 4812 4813 4814 4815 4814 4816 4815 4816 4817 4818 4817 4819 4818 4819 4820 4821 4820 4822 4821 4822 4823 4824 4823 4825 4824 4825 4826 4827 4826 4828 4827 4828 4829 4830 4829 4831 4830 4831 4832 4833 4832 4834 4833 4834 4835 4836 4835 4837 4836 4837 4838 4839 4838 4840 4839 4840 4841 4842 4841 4843 4842 4843 4844 4845 4844 4846 4845 4846 4847 4848 4847 4849 4848 4849 4850 4851 4850 4852 4851 4852 4853 4854 4853 4855 4854 4855 4856 4857 4856 4858 4857 4858 4859 4860 4859 4861 4860 4861 4862 4863 4862 4864 4863 4864 4865 4866 4865 4867 4866 4867 4868 4869 4868 4870 4869 4870 4871 4872 4871 4873 4872 4873 4874 4875 4874 4876 4875 4876 4877 4878 4877 4879 4878 4879 4880 4881 4880 4882 4881 4882 4883 4884 4883 4885 4884 4885 4886 4887 4886 4888 4887 4888 4889 4890 4889 4891 4890 4891 4892 4893 4892 4894 4893 4894 4895 4896 4895 4897 4896 4897 4898 4899 4898 4900 4899 4900 4901 4902 4901 4903 4902 4903 4904 4905 4904 4906 4905 4906 4907 4908 4907 4909 4908 4909 4910 4911 4910 4912 4911 4912 4913 4914 4913 4915 4914 4915 4916 4917 4916 4918 4917 4918 4919 4920 4919 4921 4920 4921 4922 4923 4922 4924 4923 4924 4925 4926 4925 4927 4926 4927 4928 4929 4928 4930 4929 4930 4931 4932 4931 4933 4932 4933 4934 4935 4934 4936 4935 4936 4937 4938 4937 4939 4938 4939 4940 4941 4940 4942 4941 4942 4943 4944 4943 4945 4944 4945 4946 4947 4946 4948 4947 4948 4949 4950 4949 4951 4950 4951 4952 4953 4952 4954 4953 4954 4955 4956 4955 4957 4956 4957 4958 4959 4958 4960 4959 4960 4961 4962 4961 4963 4962 4963 4964 4965 4964 4966 4965 4966 4967 4968 4967 4969 4968 4969 4970 4971 4970 4972 4971 4972 4973 4974 4973 4975 4974 4975 4976 4977 4976 4978 4977 4978 4979 4980 4979 4981 4980 4981 4982 4983 4982 4984 4983 4984 4985 4986 4985 4987 4986 4987 4988 4989 4988 4990 4989 4990 4991 4992 4991 4993 4992 4993 4994 4995 4994 4996 4995 4996 4997 4998 4997 4999 4998 4999 5000 5001 5000 5002 5001 5002 5003 5004 5003 5005 5004 5005 5006 5007 5006 5008 5007 5008 5009 5010 5009 5011 5010 5011 5012 5013 5012 5014 5013 5014 5015 5016 5015 5017 5016 5017 5018 5019 5018 5020 5019 5020 5021 5022 5021 5023 5022 5023 5024 5025 5024 5026 5025 5026 5027 5028 5027 5029 5028 5029 5030 5031 5030 5032 5031 5032 5033 5034 5033 5035 5034 5035 5036 5037 5036 5038 5037 5038 5039 5040 5039 5041 5040 5041 5042 5043 5042 5044 5043 5044 5045 5046 5045 5047 5046 5047 5048 5049 5048 5050 5049 5050 5051 5052 5051 5053 5052 5053 5054 5055 5054 5056 5055 5056 5057 5058 5057 5059 5058 5059 5060 5061 5060 5062 5061 5062 5063 5064 5063 5065 5064 5065 5066 5067 5066 5068 5067 5068 5069 5070 5069 5071 5070 5071 5072 5073 5072 5074 5073 5074 5075 5076 5075 5077 5076 5077 5078 5079 5078 5080 5079 5080 5081 5082 5081 5083 5082 5083 5084 5085 5084 5086 5085 5086 5087 5088 5087 5089 5088 5089 5090 5091 5090 5092 5091 5092 5093 5094 5093 5095 5094 5095 5096 5097 5096 5098 5097 5098 5099 5100 5099 5101 5100 5101 5102 5103 5102 5104 5103 5104 5105 5106 5105 5107 5106 5107 5108 5109 5108 5110 5109 5110 5111 5112 5111 5113 5112 5113 5114 5115 5114 5116 5115 5116 5117 5118 5117 5119 5118 5119 5120 5121 5120 5122 5121 5122 5123 5124 5123 5125 5124 5125 5126 5127 5126 5128 5127 5128 5129 5130 5129 5131 5130 5131 5132 5133 5132 5134 5133 5134 5135 5136 5135 5137 5136 5137 5138 5139 5138 5140 5139 5140 5141 5142 5141 5143 5142 5143 5144 5145 5144 5146 5145 5146 5147 5148 5147 5149 5148 5149 5150 5151 5150 5152 5151 5152 5153 5154 5153 5155 5154 5155 5156 5157 5156 5158 5157 5158 5159 5160 5159 5161 5160 5161 5162 5163 5162 5164 5163 5164 5165 5166 5165 5167 5166 5167 5168 5169 5168 5170 5169 5170 5171 5172 5171 5173 5172 5173 5174 5175 5174 5176 5175 5176 5177 5178 5177 5179 5178 5179 5180 5181 5180 5182 5181 5182 5183 5184 5183 5185 5184 5185 5186 5187 5186 5188 5187 5188 5189 5190 5189 5191 5190 5191 5192 5193 5192 5194 5193 5194 5195 5196 5195 5197 5196 5197 5198 5199 5198 5200 5199 5200 5201 5202 5201 5203 5202 5203 5204 5205 5204 5206 5205 5206 5207 5208 5207 5209 5208 5209 5210 5211 5210 5212 5211 5212 5213 5214 5213 5215 5214 5215 5216 5217 5216 5218 5217 5218 5219 5220 5219 5221 5220 5221 5222 5223 5222 5224 5223 5224 5225 5226 5225 5227 5226 5227 5228 5229 5228 5230 5229 5230 5231 5232 5231 5233 5232 5233 5234 5235 5234 5236 5235 5236 5237 5238 5237 5239 5238 5239 5240 5241 5240 5242 5241 5242 5243 5244 5243 5245 5244 5245 5246 5247 5246 5248 5247 5248 5249 5250 5249 5251 5250 5251 5252 5253 5252 5254 5253 5254 5255 5256 5255 5257 5256 5257 5258 5259 5258 5260 5259 5260 5261 5262 5261 5263 5262 5263 5264 5265 5264 5266 5265 5266 5267 5268 5267 5269 5268 5269 5270 5271 5270 5272 5271 5272 5273 5274 5273 5275 5274 5275 5276 5277 5276 5278 5277 5278 5279 5280 5279 5281 5280 5281 5282 5283 5282 5284 5283 5284 5285 5286 5285 5287 5286 5287 5288 5289 5288 5290 5289 5290 5291 5292 5291 5293 5292 5293 5294 5295 5294 5296 5295 5296 5297 5298 5297 5299 5298 5299 5300 5301 5300 5302 5301 5302 5303 5304 5303 5305 5304 5305 5306 5307 5306 5308 5307 5308 5309 5310 5309 5311 5310 5311 5312 5313 5312 5314 5313 5314 5315 5316 5315 5317 5316 5317 5318 5319 5318 5320 5319 5320 5321 5322 5321 5323 5322 5323 5324 5325 5324 5326 5325 5326 5327 5328 5327 5329 5328 5329 5330 5331 5330 5332 5331 5332 5333 5334 5333 5335 5334 5335 5336 5337 5336 5338 5337 5338 5339 5340 5339 5341 5340 5341 5342 5343 5342 5344 5343 5344 5345 5346 5345 5347 5346 5347 5348 5349 5348 5350 5349 5350 5351 5352 5351 5353 5352 5353 5354 5355 5354 5356 5355 5356 5357 5358 5357 5359 5358 5359 5360 5361 5360 5362 5361 5362 5363 5364 5363 5365 5364 5365 5366 5367 5366 5368 5367 5368 5369 5370 5369 5371 5370 5371 5372 5373 5372 5374 5373 5374 5375 5376 5375 5377 5376 5377 5378 5379 5378 5380 5379 5380 5381 5382 5381 5383 5382 5383 5384 5385 5384 5386 5385 5386 5387 5388 5387 5389 5388 5389 5390 5391 5390 5392 5391 5392 5393 5394 5393 5395 5394 5395 5396 5397 5396 5398 5397 5398 5399 5400 5399 5401 5400 5401 5402 5403 5402 5404 5403 5404 5405 5406 5405 5407 5406 5407 5408 5409 5408 5410 5409 5410 5411 5412 5411 5413 5412 5413 5414 5415 5414 5416 5415 5416 5417 5418 5417 5419 5418 5419 5420 5421 5420 5422 5421 5422 5423 5424 5423 5425 5424 5425 5426 5427 5426 5428 5427 5428 5429 5430 5429 5431 5430 5431 5432 5433 5432 5434 5433 5434 5435 5436 5435 5437 5436 5437 5438 5439 5438 5440 5439 5440 5441 5442 5441 5443 5442 5443 5444 5445 5444 5446 5445 5446 5447 5448 5447 5449 5448 5449 5450 5451 5450 5452 5451 5452 5453 5454 5453 5455 5454 5455 5456 5457 5456 5458 5457 5458 5459 5460 5459 5461 5460 5461 5462 5463 5462 5464 5463 5464 5465 5466 5465 5467 5466 5467 5468 5469 5468 5470 5469 5470 5471 5472 5471 5473 5472 5473 5474 5475 5474 5476 5475 5476 5477 5478 5477 5479 5478 5479 5480 5481 5480 5482 5481 5482 5483 5484 5483 5485 5484 5485 5486 5487 5486 5488 5487 5488 5489 5490 5489 5491 5490 5491 5492 5493 5492 5494 5493 5494 5495 5496 5495 5497 5496 5497 5498 5499 5498 5500 5499 5500 5501 5502 5501 5503 5502 5503 5504 5505 5504 5506 5505 5506 5507 5508 5507 5509 5508 5509 5510 5511 5510 5512 5511 5512 5513 5514 5513 5515 5514 5515 5516 5517 5516 5518 5517 5518 5519 5520 5519 5521 5520 5521 5522 5523 5522 5524 5523 5524 5525 5526 5525 5527 5526 5527 5528 5529 5528 5530 5529 5530 5531 5532 5531 5533 5532 5533 5534 5535 5534 5536 5535 5536 5537 5538 5537 5539 5538 5539 5540 5541 5540 5542 5541 5542 5543 5544 5543 5545 5544 5545 5546 5547 5546 5548 5547 5548 5549 5550 5549 5551 5550 5551 5552 5553 5552 5554 5553 5554 5555 5556 5555 5557 5556 5557 5558 5559 5558 5560 5559 5560 5561 5562 5561 5563 5562 5563 5564 5565 5564 5566 5565 5566 5567 5568 5567 5569 5568 5569 5570 5571 5570 5572 5571 5572 5573 5574 5573 5575 5574 5575 5576 5577 5576 5578 5577 5578 5579 5580 5579 5581 5580 5581 5582 5583 5582 5584 5583 5584 5585 5586 5585 5587 5586 5587 5588 5589 5588 5590 5589 5590 5591 5592 5591 5593 5592 5593 5594 5595 5594 5596 5595 5596 5597 5598 5597 5599 5598 5599 5600 5601 5600 5602 5601 5602 5603 5604 5603 5605 5604 5605 5606 5607 5606 5608 5607 5608 5609 5610 5609 5611 5610 5611 5612 5613 5612 5614 5613 5614 5615 5616 5615 5617 5616 5617 5618 5619 5618 5620 5619 5620 5621 5622 5621 5623 5622 5623 5624 5625 5624 5626 5625 5626 5627 5628 5627 5629 5628 5629 5630 5631 5630 5632 5631 5632 5633 5634 5633 5635 5634 5635 5636 5637 5636 5638 5637 5638 5639 5640 5639 5641 5640 5641 5642 5643 5642 5644 5643 5644 5645 5646 5645 5647 5646 5647 5648 5649 5648 5650 5649 5650 5651 5652 5651 5653 5652 5653 5654 5655 5654 5656 5655 5656 5657 5658 5657 5659 5658 5659 5660 5661 5660 5662 5661 5662 5663 5664 5663 5665 5664 5665 5666 5667 5666 5668 5667 5668 5669 5670 5669 5671 5670 5671 5672 5673 5672 5674 5673 5674 5675 5676 5675 5677 5676 5677 5678 5679 5678 5680 5679 5680 5681 5682 5681 5683 5682 5683 5684 5685 5684 5686 5685 5686 5687 5688 5687 5689 5688 5689 5690 5691 5690 5692 5691 5692 5693 5694 5693 5695 5694 5695 5696 5697 5696 5698 5697 5698 5699 5700 5699 5701 5700 5701 5702 5703 5702 5704 5703 5704 5705 5706 5705 5707 5706 5707 5708 5709 5708 5710 5709 5710 5711 5712 5711 5713 5712 5713 5714 5715 5714 5716 5715 5716 5717 5718 5717 5719 5718 5719 5720 5721 5720 5722 5721 5722 5723 5724 5723 5725 5724 5725 5726 5727 5726 5728 5727 5728 5729 5730 5729 5731 5730 5731 5732 5733 5732 5734 5733 5734 5735 5736 5735 5737 5736 5737 5738 5739 5738 5740 5739 5740 5741 5742 5741 5743 5742 5743 5744 5745 5744 5746 5745 5746 5747 5748 5747 5749 5748 5749 5750 5751 5750 5752 5751 5752 5753 5754 5753 5755 5754 5755 5756 5757 5756 5758 5757 5758 5759 5760 5759 5761 5760 5761 5762 5763 5762 5764 5763 5764 5765 5766 5765 5767 5766 5767 5768 5769 5768 5770 5769 5770 5771 5772 5771 5773 5772 5773 5774 5775 5774 5776 5775 5776 5777 5778 5777 5779 5778 5779 5780 5781 5780 5782 5781 5782 5783 5784 5783 5785 5784 5785 5786 5787 5786 5788 5787 5788 5789 5790 5789 5791 5790 5791 5792 5793 5792 5794 5793 5794 5795 5796 5795 5797 5796 5797 5798 5799 5798 5800 5799 5800 5801 5802 5801 5803 5802 5803 5804 5805 5804 5806 5805 5806 5807 5808 5807 5809 5808 5809 5810 5811 5810 5812 5811 5812 5813 5814 5813 5815 5814 5815 5816 5817 5816 5818 5817 5818 5819 5820 5819 5821 5820 5821 5822 5823 5822 5824 5823 5824 5825 5826 5825 5827 5826 5827 5828 5829 5828 5830 5829 5830 5831 5832 5831 5833 5832 5833 5834 5835 5834 5836 5835 5836 5837 5838 5837 5839 5838 5839 5840 5841 5840 5842 5841 5842 5843 5844 5843 5845 5844 5845 5846 5847 5846 5848 5847 5848 5849 5850 5849 5851 5850 5851 5852 5853 5852 5854 5853 5854 5855 5856 5855 5857 5856 5857 5858 5859 5858 5860 5859 5860 5861 5862 5861 5863 5862 5863 5864 5865 5864 5866 5865 5866 5867 5868 5867 5869 5868 5869 5870 5871 5870 5872 5871 5872 5873 5874 5873 5875 5874 5875 5876 5877 5876 5878 5877 5878 5879 5880 5879 5881 5880 5881 5882 5883 5882 5884 5883 5884 5885 5886 5885 5887 5886 5887 5888 5889 5888 5890 5889 5890 5891 5892 5891 5893 5892 5893 5894 5895 5894 5896 5895 5896 5897 5898 5897 5899 5898 5899 5900 5901 5900 5902 5901 5902 5903 5904 5903 5905 5904 5905 5906 5907 5906 5908 5907 5908 5909 5910 5909 5911 5910 5911 5912 5913 5912 5914 5913 5914 5915 5916 5915 5917 5916 5917 5918 5919 5918 5920 5919 5920 5921 5922 5921 5923 5922 5923 5924 5925 5924 5926 5925 5926 5927 5928 5927 5929 5928 5929 5930 5931 5930 5932 5931 5932 5933 5934 5933 5935 5934 5935 5936 5937 5936 5938 5937 5938 5939 5940 5939 5941 5940 5941 5942 5943 5942 5944 5943 5944 5945 5946 5945 5947 5946 5947 5948 5949 5948 5950 5949 5950 5951 5952 5951 5953 5952 5953 5954 5955 5954 5956 5955 5956 5957 5958 5957 5959 5958 5959 5960 5961 5960 5962 5961 5962 5963 5964 5963 5965 5964 5965 5966 5967 5966 5968 5967 5968 5969 5970 5969 5971 5970 5971 5972 5973 5972 5974 5973 5974 5975 5976 5975 5977 5976 5977 5978 5979 5978 5980 5979 5980 5981 5982 5981 5983 5982 5983 5984 5985 5984 5986 5985 5986 5987 5988 5987 5989 5988 5989 5990 5991 5990 5992 5991 5992 5993 5994 5993 5995 5994 5995 5996 5997 5996 5998 5997 5998 5999 6000 5999 6001 6000 6001 6002 6003 6002 6004 6003 6004 6005 6006 6005 6007 6006 6007 6008 6009 6008 6010 6009 6010 6011 6012 6011 6013 6012 6013 6014 6015 6014 6016 6015 6016 6017 6018 6017 6019 6018 6019 6020 6021 6020 6022 6021 6022 6023 6024 6023 6025 6024 6025 6026 6027 6026 6028 6027 6028 6029 6030 6029 6031 6030 6031 6032 6033 6032 6034 6033 6034 6035 6036 6035 6037 6036 6037 6038 6039 6038 6040 6039 6040 6041 6042 6041 6043 6042 6043 6044 6045 6044 6046 6045 6046 6047 6048 6047 6049 6048 6049 6050 6051 6050 6052 6051 6052 6053 6054 6053 6055 6054 6055 6056 6057 6056 6058 6057 6058 6059 6060 6059 6061 6060 6061 6062 6063 6062 6064 6063 6064 6065 6066 6065 6067 6066 6067 6068 6069 6068 6070 6069 6070 6071 6072 6071 6073 6072 6073 6074 6075 6074 6076 6075 6076 6077 6078 6077 6079 6078 6079 6080 6081 6080 6082 6081 6082 6083 6084 6083 6085 6084 6085 6086 6087 6086 6088 6087 6088 6089 6090 6089 6091 6090 6091 6092 6093 6092 6094 6093 6094 6095 6096 6095 6097 6096 6097 6098 6099 6098 6100 6099 6100 6101 6102 6101 6103 6102 6103 6104 6105 6104 6106 6105 6106 6107 6108 6107 6109 6108 6109 6110 6111 6110 6112 6111 6112 6113 6114 6113 6115 6114 6115 6116 6117 6116 6118 6117 6118 6119 6120 6119 6121 6120 6121 6122 6123 6122 6124 6123 6124 6125 6126 6125 6127 6126 6127 6128 6129 6128 6130 6129 6130 6131 6132 6131 6133 6132 6133 6134 6135 6134 6136 6135 6136 6137 6138 6137 6139 6138 6139 6140 6141 6140 6142 6141 6142 6143 6144 6143 6145 6144 6145 6146 6147 6146 6148 6147 6148 6149 6150 6149 6151 6150 6151 6152 6153 6152 6154 6153 6154 6155 6156 6155 6157 6156 6157 6158 6159 6158 6160 6159 6160 6161 6162 6161 6163 6162 6163 6164 6165 6164 6166 6165 6166 6167 6168 6167 6169 6168 6169 6170 6171 6170 6172 6171 6172 6173 6174 6173 6175 6174 6175 6176 6177 6176 6178 6177 6178 6179 6180 6179 6181 6180 6181 6182 6183 6182 6184 6183 6184 6185 6186 6185 6187 6186 6187 6188 6189 6188 6190 6189 6190 6191 6192 6191 6193 6192 6193 6194 6195 6194 6196 6195 6196 6197 6198 6197 6199 6198 6199 6200 6201 6200 6202 6201 6202 6203 6204 6203 6205 6204 6205 6206 6207 6206 6208 6207 6208 6209 6210 6209 6211 6210 6211 6212 6213 6212 6214 6213 6214 6215 6216 6215 6217 6216 6217 6218 6219 6218 6220 6219 6220 6221 6222 6221 6223 6222 6223 6224 6225 6224 6226 6225 6226 6227 6228 6227 6229 6228 6229 6230 6231 6230 6232 6231 6232 6233 6234 6233 6235 6234 6235 6236 6237 6236 6238 6237 6238 6239 6240 6239 6241 6240 6241 6242 6243 6242 6244 6243 6244 6245 6246 6245 6247 6246 6247 6248 6249 6248 6250 6249 6250 6251 6252 6251 6253 6252 6253 6254 6255 6254 6256 6255 6256 6257 6258 6257 6259 6258 6259 6260 6261 6260 6262 6261 6262 6263 6264 6263 6265 6264 6265 6266 6267 6266 6268 6267 6268 6269 6270 6269 6271 6270 6271 6272 6273 6272 6274 6273 6274 6275 6276 6275 6277 6276 6277 6278 6279 6278 6280 6279 6280 6281 6282 6281 6283 6282 6283 6284 6285 6284 6286 6285 6286 6287 6288 6287 6289 6288 6289 6290 6291 6290 6292 6291 6292 6293 6294 6293 6295 6294 6295 6296 6297 6296 6298 6297 6298 6299 6300 6299 6301 6300 6301 6302 6303 6302 6304 6303 6304 6305 6306 6305 6307 6306 6307 6308 6309 6308 6310 6309 6310 6311 6312 6311 6313 6312 6313 6314 6315 6314 6316 6315 6316 6317 6318 6317 6319 6318 6319 6320 6321 6320 6322 6321 6322 6323 6324 6323 6325 6324 6325 6326 6327 6326 6328 6327 6328 6329 6330 6329 6331 6330 6331 6332 6333 6332 6334 6333 6334 6335 6336 6335 6337 6336 6337 6338 6339 6338 6340 6339 6340 6341 6342 6341 6343 6342 6343 6344 6345 6344 6346 6345 6346 6347 6348 6347 6349 6348 6349 6350 6351 6350 6352 6351 6352 6353 6354 6353 6355 6354 6355 6356 6357 6356 6358 6357 6358 6359 6360 6359 6361 6360 6361 6362 6363 6362 6364 6363 6364 6365 6366 6365 6367 6366 6367 6368 6369 6368 6370 6369 6370 6371 6372 6371 6373 6372 6373 6374 6375 6374 6376 6375 6376 6377 6378 6377 6379 6378 6379 6380 6381 6380 6382 6381 6382 6383 6384 6383 6385 6384 6385 6386 6387 6386 6388 6387 6388 6389 6390 6389 6391 6390 6391 6392 6393 6392 6394 6393 6394 6395 6396 6395 6397 6396 6397 6398 6399 6398 6400 6399 6400 6401 6402 6401 6403 6402 6403 6404 6405 6404 6406 6405 6406 6407 6408 6407 6409 6408 6409 6410 6411 6410 6412 6411 6412 6413 6414 6413 6415 6414 6415 6416 6417 6416 6418 6417 6418 6419 6420 6419 6421 6420 6421 6422 6423 6422 6424 6423 6424 6425 6426 6425 6427 6426 6427 6428 6429 6428 6430 6429 6430 6431 6432 6431 6433 6432 6433 6434 6435 6434 6436 6435 6436 6437 6438 6437 6439 6438 6439 6440 6441 6440 6442 6441 6442 6443 6444 6443 6445 6444 6445 6446 6447 6446 6448 6447 6448 6449 6450 6449 6451 6450 6451 6452 6453 6452 6454 6453 6454 6455 6456 6455 6457 6456 6457 6458 6459 6458 6460 6459 6460 6461 6462 6461 6463 6462 6463 6464 6465 6464 6466 6465 6466 6467 6468 6467 6469 6468 6469 6470 6471 6470 6472 6471 6472 6473 6474 6473 6475 6474 6475 6476 6477 6476 6478 6477 6478 6479 6480 6479 6481 6480 6481 6482 6483 6482 6484 6483 6484 6485 6486 6485 6487 6486 6487 6488 6489 6488 6490 6489 6490 6491 6492 6491 6493 6492 6493 6494 6495 6494 6496 6495 6496 6497 6498 6497 6499 6498 6499 6500 6501 6500 6502 6501 6502 6503 6504 6503 6505 6504 6505 6506 6507 6506 6508 6507 6508 6509 6510 6509 6511 6510 6511 6512 6513 6512 6514 6513 6514 6515 6516 6515 6517 6516 6517 6518 6519 6518 6520 6519 6520 6521 6522 6521 6523 6522 6523 6524 6525 6524 6526 6525 6526 6527 6528 6527 6529 6528 6529 6530 6531 6530 6532 6531 6532 6533 6534 6533 6535 6534 6535 6536 6537 6536 6538 6537 6538 6539 6540 6539 6541 6540 6541 6542 6543 6542 6544 6543 6544 6545 6546 6545 6547 6546 6547 6548 6549 6548 6550 6549 6550 6551 6552 6551 6553 6552 6553 6554 6555 6554 6556 6555 6556 6557 6558 6557 6559 6558 6559 6560 6561 6560 6562 6561 6562 6563 6564 6563 6565 6564 6565 6566 6567 6566 6568 6567 6568 6569 6570 6569 6571 6570 6571 6572 6573 6572 6574 6573 6574 6575 6576 6575 6577 6576 6577 6578 6579 6578 6580 6579 6580 6581 6582 6581 6583 6582 6583 6584 6585 6584 6586 6585 6586 6587 6588 6587 6589 6588 6589 6590 6591 6590 6592 6591 6592 6593 6594 6593 6595 6594 6595 6596 6597 6596 6598 6597 6598 6599 6600 6599 6601 6600 6601 6602 6603 6602 6604 6603 6604 6605 6606 6605 6607 6606 6607 6608 6609 6608 6610 6609 6610 6611 6612 6611 6613 6612 6613 6614 6615 6614 6616 6615 6616 6617 6618 6617 6619 6618 6619 6620 6621 6620 6622 6621 6622 6623 6624 6623 6625 6624 6625 6626 6627 6626 6628 6627 6628 6629 6630 6629 6631 6630 6631 6632 6633 6632 6634 6633 6634 6635 6636 6635 6637 6636 6637 6638 6639 6638 6640 6639 6640 6641 6642 6641 6643 6642 6643 6644 6645 6644 6646 6645 6646 6647 6648 6647 6649 6648 6649 6650 6651 6650 6652 6651 6652 6653 6654 6653 6655 6654 6655 6656 6657 6656 6658 6657 6658 6659 6660 6659 6661 6660 6661 6662 6663 6662 6664 6663 6664 6665 6666 6665 6667 6666 6667 6668 6669 6668 6670 6669 6670 6671 6672 6671 6673 6672 6673 6674 6675 6674 6676 6675 6676 6677 6678 6677 6679 6678 6679 6680 6681 6680 6682 6681 6682 6683 6684 6683 6685 6684 6685 6686 6687 6686 6688 6687 6688 6689 6690 6689 6691 6690 6691 6692 6693 6692 6694 6693 6694 6695 6696 6695 6697 6696 6697 6698 6699 6698 6700 6699 6700 6701 6702 6701 6703 6702 6703 6704 6705 6704 6706 6705 6706 6707 6708 6707 6709 6708 6709 6710 6711 6710 6712 6711 6712 6713 6714 6713 6715 6714 6715 6716 6717 6716 6718 6717 6718 6719 6720 6719 6721 6720 6721 6722 6723 6722 6724 6723 6724 6725 6726 6725 6727 6726 6727 6728 6729 6728 6730 6729 6730 6731 6732 6731 6733 6732 6733 6734 6735 6734 6736 6735 6736 6737 6738 6737 6739 6738 6739 6740 6741 6740 6742 6741 6742 6743 6744 6743 6745 6744 6745 6746 6747 6746 6748 6747 6748 6749 6750 6749 6751 6750 6751 6752 6753 6752 6754 6753 6754 6755 6756 6755 6757 6756 6757 6758 6759 6758 6760 6759 6760 6761 6762 6761 6763 6762 6763 6764 6765 6764 6766 6765 6766 6767 6768 6767 6769 6768 6769 6770 6771 6770 6772 6771 6772 6773 6774 6773 6775 6774 6775 6776 6777 6776 6778 6777 6778 6779 6780 6779 6781 6780 6781 6782 6783 6782 6784 6783 6784 6785 6786 6785 6787 6786 6787 6788 6789 6788 6790 6789 6790 6791 6792 6791 6793 6792 6793 6794 6795 6794 6796 6795 6796 6797 6798 6797 6799 6798 6799 6800 6801 6800 6802 6801 6802 6803 6804 6803 6805 6804 6805 6806 6807 6806 6808 6807 6808 6809 6810 6809 6811 6810 6811 6812 6813 6812 6814 6813 6814 6815 6816 6815 6817 6816 6817 6818 6819 6818 6820 6819 6820 6821 6822 6821 6823 6822 6823 6824 6825 6824 6826 6825 6826 6827 6828 6827 6829 6828 6829 6830 6831 6830 6832 6831 6832 6833 6834 6833 6835 6834 6835 6836 6837 6836 6838 6837 6838 6839 6840 6839 6841 6840 6841 6842 6843 6842 6844 6843 6844 6845 6846 6845 6847 6846 6847 6848 6849 6848 6850 6849 6850 6851 6852 6851 6853 6852 6853 6854 6855 6854 6856 6855 6856 6857 6858 6857 6859 6858 6859 6860 6861 6860 6862 6861 6862 6863 6864 6863 6865 6864 6865 6866 6867 6866 6868 6867 6868 6869 6870 6869 6871 6870 6871 6872 6873 6872 6874 6873 6874 6875 6876 6875 6877 6876 6877 6878 6879 6878 6880 6879 6880 6881 6882 6881 6883 6882 6883 6884 6885 6884 6886 6885 6886 6887 6888 6887 6889 6888 6889 6890 6891 6890 6892 6891 6892 6893 6894 6893 6895 6894 6895 6896 6897 6896 6898 6897 6898 6899 6900 6899 6901 6900 6901 6902 6903 6902 6904 6903 6904 6905 6906 6905 6907 6906 6907 6908 6909 6908 6910 6909 6910 6911 6912 6911 6913 6912 6913 6914 6915 6914 6916 6915 6916 6917 6918 6917 6919 6918 6919 6920 6921 6920 6922 6921 6922 6923 6924 6923 6925 6924 6925 6926 6927 6926 6928 6927 6928 6929 6930 6929 6931 6930 6931 6932 6933 6932 6934 6933 6934 6935 6936 6935 6937 6936 6937 6938 6939 6938 6940 6939 6940 6941 6942 6941 6943 6942 6943 6944 6945 6944 6946 6945 6946 6947 6948 6947 6949 6948 6949 6950 6951 6950 6952 6951 6952 6953 6954 6953 6955 6954 6955 6956 6957 6956 6958 6957 6958 6959 6960 6959 6961 6960 6961 6962 6963 6962 6964 6963 6964 6965 6966 6965 6967 6966 6967 6968 6969 6968 6970 6969 6970 6971 6972 6971 6973 6972 6973 6974 6975 6974 6976 6975 6976 6977 6978 6977 6979 6978 6979 6980 6981 6980 6982 6981 6982 6983 6984 6983 6985 6984 6985 6986 6987 6986 6988 6987 6988 6989 6990 6989 6991 6990 6991 6992 6993 6992 6994 6993 6994 6995 6996 6995 6997 6996 6997 6998 6999 6998 7000 6999 7000 7001 7002 7001 7003 7002 7003 7004 7005 7004 7006 7005 7006 7007 7008 7007 7009 7008 7009 7010 7011 7010 7012 7011 7012 7013 7014 7013 7015 7014 7015 7016 7017 7016 7018 7017 7018 7019 7020 7019 7021 7020 7021 7022 7023 7022 7024 7023 7024 7025 7026 7025 7027 7026 7027 7028 7029 7028 7030 7029 7030 7031 7032 7031 7033 7032 7033 7034 7035 7034 7036 7035 7036 7037 7038 7037 7039 7038 7039 7040 7041 7040 7042 7041 7042 7043 7044 7043 7045 7044 7045 7046 7047 7046 7048 7047 7048 7049 7050 7049 7051 7050 7051 7052 7053 7052 7054 7053 7054 7055 7056 7055 7057 7056 7057 7058 7059 7058 7060 7059 7060 7061 7062 7061 7063 7062 7063 7064 7065 7064 7066 7065 7066 7067 7068 7067 7069 7068 7069 7070 7071 7070 7072 7071 7072 7073 7074 7073 7075 7074 7075 7076 7077 7076 7078 7077 7078 7079 7080 7079 7081 7080 7081 7082 7083 7082 7084 7083 7084 7085 7086 7085 7087 7086 7087 7088 7089 7088 7090 7089 7090 7091 7092 7091 7093 7092 7093 7094 7095 7094 7096 7095 7096 7097 7098 7097 7099 7098 7099 7100 7101 7100 7102 7101 7102 7103 7104 7103 7105 7104 7105 7106 7107 7106 7108 7107 7108 7109 7110 7109 7111 7110 7111 7112 7113 7112 7114 7113 7114 7115 7116 7115 7117 7116 7117 7118 7119 7118 7120 7119 7120 7121 7122 7121 7123 7122 7123 7124 7125 7124 7126 7125 7126 7127 7128 7127 7129 7128 7129 7130 7131 7130 7132 7131 7132 7133 7134 7133 7135 7134 7135 7136 7137 7136 7138 7137 7138 7139 7140 7139 7141 7140 7141 7142 7143 7142 7144 7143 7144 7145 7146 7145 7147 7146 7147 7148 7149 7148 7150 7149 7150 7151 7152 7151 7153 7152 7153 7154 7155 7154 7156 7155 7156 7157 7158 7157 7159 7158 7159 7160 7161 7160 7162 7161 7162 7163 7164 7163 7165 7164 7165 7166 7167 7166 7168 7167 7168 7169 7170 7169 7171 7170 7171 7172 7173 7172 7174 7173 7174 7175 7176 7175 7177 7176 7177 7178 7179 7178 7180 7179 7180 7181 7182 7181 7183 7182 7183 7184 7185 7184 7186 7185 7186 7187 7188 7187 7189 7188 7189 7190 7191 7190 7192 7191 7192 7193 7194 7193 7195 7194 7195 7196 7197 7196 7198 7197 7198 7199 7200 7199 7201 7200 7201 7202 7203 7202 7204 7203 7204 7205 7206 7205 7207 7206 7207 7208 7209 7208 7210 7209 7210 7211 7212 7211 7213 7212 7213 7214 7215 7214 7216 7215 7216 7217 7218 7217 7219 7218 7219 7220 7221 7220 7222 7221 7222 7223 7224 7223 7225 7224 7225 7226 7227 7226 7228 7227 7228 7229 7230 7229 7231 7230 7231 7232 7233 7232 7234 7233 7234 7235 7236 7235 7237 7236 7237 7238 7239 7238 7240 7239 7240 7241 7242 7241 7243 7242 7243 7244 7245 7244 7246 7245 7246 7247 7248 7247 7249 7248 7249 7250 7251 7250 7252 7251 7252 7253 7254 7253 7255 7254 7255 7256 7257 7256 7258 7257 7258 7259 7260 7259 7261 7260 7261 7262 7263 7262 7264 7263 7264 7265 7266 7265 7267 7266 7267 7268 7269 7268 7270 7269 7270 7271 7272 7271 7273 7272 7273 7274 7275 7274 7276 7275 7276 7277 7278 7277 7279 7278 7279 7280 7281 7280 7282 7281 7282 7283 7284 7283 7285 7284 7285 7286 7287 7286 7288 7287 7288 7289 7290 7289 7291 7290 7291 7292 7293 7292 7294 7293 7294 7295 7296 7295 7297 7296 7297 7298 7299 7298 7300 7299 7300 7301 7302 7301 7303 7302 7303 7304 7305 7304 7306 7305 7306 7307 7308 7307 7309 7308 7309 7310 7311 7310 7312 7311 7312 7313 7314 7313 7315 7314 7315 7316 7317 7316 7318 7317 7318 7319 7320 7319 7321 7320 7321 7322 7323 7322 7324 7323 7324 7325 7326 7325 7327 7326 7327 7328 7329 7328 7330 7329 7330 7331 7332 7331 7333 7332 7333 7334 7335 7334 7336 7335 7336 7337 7338 7337 7339 7338 7339 7340 7341 7340 7342 7341 7342 7343 7344 7343 7345 7344 7345 7346 7347 7346 7348 7347 7348 7349 7350 7349 7351 7350 7351 7352 7353 7352 7354 7353 7354 7355 7356 7355 7357 7356 7357 7358 7359 7358 7360 7359 7360 7361 7362 7361 7363 7362 7363 7364 7365 7364 7366 7365 7366 7367 7368 7367 7369 7368 7369 7370 7371 7370 7372 7371 7372 7373 7374 7373 7375 7374 7375 7376 7377 7376 7378 7377 7378 7379 7380 7379 7381 7380 7381 7382 7383 7382 7384 7383 7384 7385 7386 7385 7387 7386 7387 7388 7389 7388 7390 7389 7390 7391 7392 7391 7393 7392 7393 7394 7395 7394 7396 7395 7396 7397 7398 7397 7399 7398 7399 7400 7401 7400 7402 7401 7402 7403 7404 7403 7405 7404 7405 7406 7407 7406 7408 7407 7408 7409 7410 7409 7411 7410 7411 7412 7413 7412 7414 7413 7414 7415 7416 7415 7417 7416 7417 7418 7419 7418 7420 7419 7420 7421 7422 7421 7423 7422 7423 7424 7425 7424 7426 7425 7426 7427 7428 7427 7429 7428 7429 7430 7431 7430 7432 7431 7432 7433 7434 7433 7435 7434 7435 7436 7437 7436 7438 7437 7438 7439 7440 7439 7441 7440 7441 7442 7443 7442 7444 7443 7444 7445 7446 7445 7447 7446 7447 7448 7449 7448 7450 7449 7450 7451 7452 7451 7453 7452 7453 7454 7455 7454 7456 7455 7456 7457 7458 7457 7459 7458 7459 7460 7461 7460 7462 7461 7462 7463 7464 7463 7465 7464 7465 7466 7467 7466 7468 7467 7468 7469 7470 7469 7471 7470 7471 7472 7473 7472 7474 7473 7474 7475 7476 7475 7477 7476 7477 7478 7479 7478 7480 7479 7480 7481 7482 7481 7483 7482 7483 7484 7485 7484 7486 7485 7486 7487 7488 7487 7489 7488 7489 7490 7491 7490 7492 7491 7492 7493 7494 7493 7495 7494 7495 7496 7497 7496 7498 7497 7498 7499 7500 7499 7501 7500 7501 7502 7503 7502 7504 7503 7504 7505 7506 7505 7507 7506 7507 7508 7509 7508 7510 7509 7510 7511 7512 7511 7513 7512 7513 7514 7515 7514 7516 7515 7516 7517 7518 7517 7519 7518 7519 7520 7521 7520 7522 7521 7522 7523 7524 7523 7525 7524 7525 7526 7527 7526 7528 7527 7528 7529 7530 7529 7531 7530 7531 7532 7533 7532 7534 7533 7534 7535 7536 7535 7537 7536 7537 7538 7539 7538 7540 7539 7540 7541 7542 7541 7543 7542 7543 7544 7545 7544 7546 7545 7546 7547 7548 7547 7549 7548 7549 7550 7551 7550 7552 7551 7552 7553 7554 7553 7555 7554 7555 7556 7557 7556 7558 7557 7558 7559 7560 7559 7561 7560 7561 7562 7563 7562 7564 7563 7564 7565 7566 7565 7567 7566 7567 7568 7569 7568 7570 7569 7570 7571 7572 7571 7573 7572 7573 7574 7575 7574 7576 7575 7576 7577 7578 7577 7579 7578 7579 7580 7581 7580 7582 7581 7582 7583 7584 7583 7585 7584 7585 7586 7587 7586 7588 7587 7588 7589 7590 7589 7591 7590 7591 7592 7593 7592 7594 7593 7594 7595 7596 7595 7597 7596 7597 7598 7599 7598 7600 7599 7600 7601 7602 7601 7603 7602 7603 7604 7605 7604 7606 7605 7606 7607 7608 7607 7609 7608 7609 7610 7611 7610 7612 7611 7612 7613 7614 7613 7615 7614 7615 7616 7617 7616 7618 7617 7618 7619 7620 7619 7621 7620 7621 7622 7623 7622 7624 7623 7624 7625 7626 7625 7627 7626 7627 7628 7629 7628 7630 7629 7630 7631 7632 7631 7633 7632 7633 7634 7635 7634 7636 7635 7636 7637 7638 7637 7639 7638 7639 7640 7641 7640 7642 7641 7642 7643 7644 7643 7645 7644 7645 7646 7647 7646 7648 7647 7648 7649 7650 7649 7651 7650 7651 7652 7653 7652 7654 7653 7654 7655 7656 7655 7657 7656 7657 7658 7659 7658 7660 7659 7660 7661 7662 7661 7663 7662 7663 7664 7665 7664 7666 7665 7666 7667 7668 7667 7669 7668 7669 7670 7671 7670 7672 7671 7672 7673 7674 7673 7675 7674 7675 7676 7677 7676 7678 7677 7678 7679 7680 7679 7681 7680 7681 7682 7683 7682 7684 7683 7684 7685 7686 7685 7687 7686 7687 7688 7689 7688 7690 7689 7690 7691 7692 7691 7693 7692 7693 7694 7695 7694 7696 7695 7696 7697 7698 7697 7699 7698 7699 7700 7701 7700 7702 7701 7702 7703 7704 7703 7705 7704 7705 7706 7707 7706 7708 7707 7708 7709 7710 7709 7711 7710 7711 7712 7713 7712 7714 7713 7714 7715 7716 7715 7717 7716 7717 7718 7719 7718 7720 7719 7720 7721 7722 7721 7723 7722 7723 7724 7725 7724 7726 7725 7726 7727 7728 7727 7729 7728 7729 7730 7731 7730 7732 7731 7732 7733 7734 7733 7735 7734 7735 7736 7737 7736 7738 7737 7738 7739 7740 7739 7741 7740 7741 7742 7743 7742 7744 7743 7744 7745 7746 7745 7747 7746 7747 7748 7749 7748 7750 7749 7750 7751 7752 7751 7753 7752 7753 7754 7755 7754 7756 7755 7756 7757 7758 7757 7759 7758 7759 7760 7761 7760 7762 7761 7762 7763 7764 7763 7765 7764 7765 7766 7767 7766 7768 7767 7768 7769 7770 7769 7771 7770 7771 7772 7773 7772 7774 7773 7774 7775 7776 7775 7777 7776 7777 7778 7779 7778 7780 7779 7780 7781 7782 7781 7783 7782 7783 7784 7785 7784 7786 7785 7786 7787 7788 7787 7789 7788 7789 7790 7791 7790 7792 7791 7792 7793 7794 7793 7795 7794 7795 7796 7797 7796 7798 7797 7798 7799 7800 7799 7801 7800 7801 7802 7803 7802 7804 7803 7804 7805 7806 7805 7807 7806 7807 7808 7809 7808 7810 7809 7810 7811 7812 7811 7813 7812 7813 7814 7815 7814 7816 7815 7816 7817 7818 7817 7819 7818 7819 7820 7821 7820 7822 7821 7822 7823 7824 7823 7825 7824 7825 7826 7827 7826 7828 7827 7828 7829 7830 7829 7831 7830 7831 7832 7833 7832 7834 7833 7834 7835 7836 7835 7837 7836 7837 7838 7839 7838 7840 7839 7840 7841 7842 7841 7843 7842 7843 7844 7845 7844 7846 7845 7846 7847 7848 7847 7849 7848 7849 7850 7851 7850 7852 7851 7852 7853 7854 7853 7855 7854 7855 7856 7857 7856 7858 7857 7858 7859 7860 7859 7861 7860 7861 7862 7863 7862 7864 7863 7864 7865 7866 7865 7867 7866 7867 7868 7869 7868 7870 7869 7870 7871 7872 7871 7873 7872 7873 7874 7875 7874 7876 7875 7876 7877 7878 7877 7879 7878 7879 7880 7881 7880 7882 7881 7882 7883 7884 7883 7885 7884 7885 7886 7887 7886 7888 7887 7888 7889 7890 7889 7891 7890 7891 7892 7893 7892 7894 7893 7894 7895 7896 7895 7897 7896 7897 7898 7899 7898 7900 7899 7900 7901 7902 7901 7903 7902 7903 7904 7905 7904 7906 7905 7906 7907 7908 7907 7909 7908 7909 7910 7911 7910 7912 7911 7912 7913 7914 7913 7915 7914 7915 7916 7917 7916 7918 7917 7918 7919 7920 7919 7921 7920 7921 7922 7923 7922 7924 7923 7924 7925 7926 7925 7927 7926 7927 7928 7929 7928 7930 7929 7930 7931 7932 7931 7933 7932 7933 7934 7935 7934 7936 7935 7936 7937 7938 7937 7939 7938 7939 7940 7941 7940 7942 7941 7942 7943 7944 7943 7945 7944 7945 7946 7947 7946 7948 7947 7948 7949 7950 7949 7951 7950 7951 7952 7953 7952 7954 7953 7954 7955 7956 7955 7957 7956 7957 7958 7959 7958 7960 7959 7960 7961 7962 7961 7963 7962 7963 7964 7965 7964 7966 7965 7966 7967 7968 7967 7969 7968 7969 7970 7971 7970 7972 7971 7972 7973 7974 7973 7975 7974 7975 7976 7977 7976 7978 7977 7978 7979 7980 7979 7981 7980 7981 7982 7983 7982 7984 7983 7984 7985 7986 7985 7987 7986 7987 7988 7989 7988 7990 7989 7990 7991 7992 7991 7993 7992 7993 7994 7995 7994 7996 7995 7996 7997 7998 7997 7999 7998 7999 8000 8001 8000 8002 8001 8002 8003 8004 8003 8005 8004 8005 8006 8007 8006 8008 8007 8008 8009 8010 8009 8011 8010 8011 8012 8013 8012 8014 8013 8014 8015 8016 8015 8017 8016 8017 8018 8019 8018 8020 8019 8020 8021 8022 8021 8023 8022 8023 8024 8025 8024 8026 8025 8026 8027 8028 8027 8029 8028 8029 8030 8031 8030 8032 8031 8032 8033 8034 8033 8035 8034 8035 8036 8037 8036 8038 8037 8038 8039 8040 8039 8041 8040 8041 8042 8043 8042 8044 8043 8044 8045 8046 8045 8047 8046 8047 8048 8049 8048 8050 8049 8050 8051 8052 8051 8053 8052 8053 8054 8055 8054 8056 8055 8056 8057 8058 8057 8059 8058 8059 8060 8061 8060 8062 8061 8062 8063 8064 8063 8065 8064 8065 8066 8067 8066 8068 8067 8068 8069 8070 8069 8071 8070 8071 8072 8073 8072 8074 8073 8074 8075 8076 8075 8077 8076 8077 8078 8079 8078 8080 8079 8080 8081 8082 8081 8083 8082 8083 8084 8085 8084 8086 8085 8086 8087 8088 8087 8089 8088 8089 8090 8091 8090 8092 8091 8092 8093 8094 8093 8095 8094 8095 8096 8097 8096 8098 8097 8098 8099 8100 8099 8101 8100 8101 8102 8103 8102 8104 8103 8104 8105 8106 8105 8107 8106 8107 8108 8109 8108 8110 8109 8110 8111 8112 8111 8113 8112 8113 8114 8115 8114 8116 8115 8116 8117 8118 8117 8119 8118 8119 8120 8121 8120 8122 8121 8122 8123 8124 8123 8125 8124 8125 8126 8127 8126 8128 8127 8128 8129 8130 8129 8131 8130 8131 8132 8133 8132 8134 8133 8134 8135 8136 8135 8137 8136 8137 8138 8139 8138 8140 8139 8140 8141 8142 8141 8143 8142 8143 8144 8145 8144 8146 8145 8146 8147 8148 8147 8149 8148 8149 8150 8151 8150 8152 8151 8152 8153 8154 8153 8155 8154 8155 8156 8157 8156 8158 8157 8158 8159 8160 8159 8161 8160 8161 8162 8163 8162 8164 8163 8164 8165 8166 8165 8167 8166 8167 8168 8169 8168 8170 8169 8170 8171 8172 8171 8173 8172 8173 8174 8175 8174 8176 8175 8176 8177 8178 8177 8179 8178 8179 8180 8181 8180 8182 8181 8182 8183 8184 8183 8185 8184 8185 8186 8187 8186 8188 8187 8188 8189 8190 8189 8191 8190 8191 8192 8193 8192 8194 8193 8194 8195 8196 8195 8197 8196 8197 8198 8199 8198 8200 8199 8200 8201 8202 8201 8203 8202 8203 8204 8205 8204 8206 8205 8206 8207 8208 8207 8209 8208 8209 8210 8211 8210 8212 8211 8212 8213 8214 8213 8215 8214 8215 8216 8217 8216 8218 8217 8218 8219 8220 8219 8221 8220 8221 8222 8223 8222 8224 8223 8224 8225 8226 8225 8227 8226 8227 8228 8229 8228 8230 8229 8230 8231 8232 8231 8233 8232 8233 8234 8235 8234 8236 8235 8236 8237 8238 8237 8239 8238 8239 8240 8241 8240 8242 8241 8242 8243 8244 8243 8245 8244 8245 8246 8247 8246 8248 8247 8248 8249 8250 8249 8251 8250 8251 8252 8253 8252 8254 8253 8254 8255 8256 8255 8257 8256 8257 8258 8259 8258 8260 8259 8260 8261 8262 8261 8263 8262 8263 8264 8265 8264 8266 8265 8266 8267 8268 8267 8269 8268 8269 8270 8271 8270 8272 8271 8272 8273 8274 8273 8275 8274 8275 8276 8277 8276 8278 8277 8278 8279 8280 8279 8281 8280 8281 8282 8283 8282 8284 8283 8284 8285 8286 8285 8287 8286 8287 8288 8289 8288 8290 8289 8290 8291 8292 8291 8293 8292 8293 8294 8295 8294 8296 8295 8296 8297 8298 8297 8299 8298 8299 8300 8301 8300 8302 8301 8302 8303 8304 8303 8305 8304 8305 8306 8307 8306 8308 8307 8308 8309 8310 8309 8311 8310 8311 8312 8313 8312 8314 8313 8314 8315 8316 8315 8317 8316 8317 8318 8319 8318 8320 8319 8320 8321 8322 8321 8323 8322 8323 8324 8325 8324 8326 8325 8326 8327 8328 8327 8329 8328 8329 8330 8331 8330 8332 8331 8332 8333 8334 8333 8335 8334 8335 8336 8337 8336 8338 8337 8338 8339 8340 8339 8341 8340 8341 8342 8343 8342 8344 8343 8344 8345 8346 8345 8347 8346 8347 8348 8349 8348 8350 8349 8350 8351 8352 8351 8353 8352 8353 8354 8355 8354 8356 8355 8356 8357 8358 8357 8359 8358 8359 8360 8361 8360 8362 8361 8362 8363 8364 8363 8365 8364 8365 8366 8367 8366 8368 8367 8368 8369 8370 8369 8371 8370 8371 8372 8373 8372 8374 8373 8374 8375 8376 8375 8377 8376 8377 8378 8379 8378 8380 8379 8380 8381 8382 8381 8383 8382 8383 8384 8385 8384 8386 8385 8386 8387 8388 8387 8389 8388 8389 8390 8391 8390 8392 8391 8392 8393 8394 8393 8395 8394 8395 8396 8397 8396 8398 8397 8398 8399 8400 8399 8401 8400 8401 8402 8403 8402 8404 8403 8404 8405 8406 8405 8407 8406 8407 8408 8409 8408 8410 8409 8410 8411 8412 8411 8413 8412 8413 8414 8415 8414 8416 8415 8416 8417 8418 8417 8419 8418 8419 8420 8421 8420 8422 8421 8422 8423 8424 8423 8425 8424 8425 8426 8427 8426 8428 8427 8428 8429 8430 8429 8431 8430 8431 8432 8433 8432 8434 8433 8434 8435 8436 8435 8437 8436 8437 8438 8439 8438 8440 8439 8440 8441 8442 8441 8443 8442 8443 8444 8445 8444 8446 8445 8446 8447 8448 8447 8449 8448 8449 8450 8451 8450 8452 8451 8452 8453 8454 8453 8455 8454 8455 8456 8457 8456 8458 8457 8458 8459 8460 8459 8461 8460 8461 8462 8463 8462 8464 8463 8464 8465 8466 8465 8467 8466 8467 8468 8469 8468 8470 8469 8470 8471 8472 8471 8473 8472 8473 8474 8475 8474 8476 8475 8476 8477 8478 8477 8479 8478 8479 8480 8481 8480 8482 8481 8482 8483 8484 8483 8485 8484 8485 8486 8487 8486 8488 8487 8488 8489 8490 8489 8491 8490 8491 8492 8493 8492 8494 8493 8494 8495 8496 8495 8497 8496 8497 8498 8499 8498 8500 8499 8500 8501 8502 8501 8503 8502 8503 8504 8505 8504 8506 8505 8506 8507 8508 8507 8509 8508 8509 8510 8511 8510 8512 8511 8512 8513 8514 8513 8515 8514 8515 8516 8517 8516 8518 8517 8518 8519 8520 8519 8521 8520 8521 8522 8523 8522 8524 8523 8524 8525 8526 8525 8527 8526 8527 8528 8529 8528 8530 8529 8530 8531 8532 8531 8533 8532 8533 8534 8535 8534 8536 8535 8536 8537 8538 8537 8539 8538 8539 8540 8541 8540 8542 8541 8542 8543 8544 8543 8545 8544 8545 8546 8547 8546 8548 8547 8548 8549 8550 8549 8551 8550 8551 8552 8553 8552 8554 8553 8554 8555 8556 8555 8557 8556 8557 8558 8559 8558 8560 8559 8560 8561 8562 8561 8563 8562 8563 8564 8565 8564 8566 8565 8566 8567 8568 8567 8569 8568 8569 8570 8571 8570 8572 8571 8572 8573 8574 8573 8575 8574 8575 8576 8577 8576 8578 8577 8578 8579 8580 8579 8581 8580 8581 8582 8583 8582 8584 8583 8584 8585 8586 8585 8587 8586 8587 8588 8589 8588 8590 8589 8590 8591 8592 8591 8593 8592 8593 8594 8595 8594 8596 8595 8596 8597 8598 8597 8599 8598 8599 8600 8601 8600 8602 8601 8602 8603 8604 8603 8605 8604 8605 8606 8607 8606 8608 8607 8608 8609 8610 8609 8611 8610 8611 8612 8613 8612 8614 8613 8614 8615 8616 8615 8617 8616 8617 8618 8619 8618 8620 8619 8620 8621 8622 8621 8623 8622 8623 8624 8625 8624 8626 8625 8626 8627 8628 8627 8629 8628 8629 8630 8631 8630 8632 8631 8632 8633 8634 8633 8635 8634 8635 8636 8637 8636 8638 8637 8638 8639 8640 8639 8641 8640 8641 8642 8643 8642 8644 8643 8644 8645 8646 8645 8647 8646 8647 8648 8649 8648 8650 8649 8650 8651 8652 8651 8653 8652 8653 8654 8655 8654 8656 8655 8656 8657 8658 8657 8659 8658 8659 8660 8661 8660 8662 8661 8662 8663 8664 8663 8665 8664 8665 8666 8667 8666 8668 8667 8668 8669 8670 8669 8671 8670 8671 8672 8673 8672 8674 8673 8674 8675 8676 8675 8677 8676 8677 8678 8679 8678 8680 8679 8680 8681 8682 8681 8683 8682 8683 8684 8685 8684 8686 8685 8686 8687 8688 8687 8689 8688 8689 8690 8691 8690 8692 8691 8692 8693 8694 8693 8695 8694 8695 8696 8697 8696 8698 8697 8698 8699 8700 8699 8701 8700 8701 8702 8703 8702 8704 8703 8704 8705 8706 8705 8707 8706 8707 8708 8709 8708 8710 8709 8710 8711 8712 8711 8713 8712 8713 8714 8715 8714 8716 8715 8716 8717 8718 8717 8719 8718 8719 8720 8721 8720 8722 8721 8722 8723 8724 8723 8725 8724 8725 8726 8727 8726 8728 8727 8728 8729 8730 8729 8731 8730 8731 8732 8733 8732 8734 8733 8734 8735 8736 8735 8737 8736 8737 8738 8739 8738 8740 8739 8740 8741 8742 8741 8743 8742 8743 8744 8745 8744 8746 8745 8746 8747 8748 8747 8749 8748 8749 8750 8751 8750 8752 8751 8752 8753 8754 8753 8755 8754 8755 8756 8757 8756 8758 8757 8758 8759 8760 8759 8761 8760 8761 8762 8763 8762 8764 8763 8764 8765 8766 8765 8767 8766 8767 8768 8769 8768 8770 8769 8770 8771 8772 8771 8773 8772 8773 8774 8775 8774 8776 8775 8776 8777 8778 8777 8779 8778 8779 8780 8781 8780 8782 8781 8782 8783 8784 8783 8785 8784 8785 8786 8787 8786 8788 8787 8788 8789 8790 8789 8791 8790 8791 8792 8793 8792 8794 8793 8794 8795 8796 8795 8797 8796 8797 8798 8799 8798 8800 8799 8800 8801 8802 8801 8803 8802 8803 8804 8805 8804 8806 8805 8806 8807 8808 8807 8809 8808 8809 8810 8811 8810 8812 8811 8812 8813 8814 8813 8815 8814 8815 8816 8817 8816 8818 8817 8818 8819 8820 8819 8821 8820 8821 8822 8823 8822 8824 8823 8824 8825 8826 8825 8827 8826 8827 8828 8829 8828 8830 8829 8830 8831 8832 8831 8833 8832 8833 8834 8835 8834 8836 8835 8836 8837 8838 8837 8839 8838 8839 8840 8841 8840 8842 8841 8842 8843 8844 8843 8845 8844 8845 8846 8847 8846 8848 8847 8848 8849 8850 8849 8851 8850 8851 8852 8853 8852 8854 8853 8854 8855 8856 8855 8857 8856 8857 8858 8859 8858 8860 8859 8860 8861 8862 8861 8863 8862 8863 8864 8865 8864 8866 8865 8866 8867 8868 8867 8869 8868 8869 8870 8871 8870 8872 8871 8872 8873 8874 8873 8875 8874 8875 8876 8877 8876 8878 8877 8878 8879 8880 8879 8881 8880 8881 8882 8883 8882 8884 8883 8884 8885 8886 8885 8887 8886 8887 8888 8889 8888 8890 8889 8890 8891 8892 8891 8893 8892 8893 8894 8895 8894 8896 8895 8896 8897 8898 8897 8899 8898 8899 8900 8901 8900 8902 8901 8902 8903 8904 8903 8905 8904 8905 8906 8907 8906 8908 8907 8908 8909 8910 8909 8911 8910 8911 8912 8913 8912 8914 8913 8914 8915 8916 8915 8917 8916 8917 8918 8919 8918 8920 8919 8920 8921 8922 8921 8923 8922 8923 8924 8925 8924 8926 8925 8926 8927 8928 8927 8929 8928 8929 8930 8931 8930 8932 8931 8932 8933 8934 8933 8935 8934 8935 8936 8937 8936 8938 8937 8938 8939 8940 8939 8941 8940 8941 8942 8943 8942 8944 8943 8944 8945 8946 8945 8947 8946 8947 8948 8949 8948 8950 8949 8950 8951 8952 8951 8953 8952 8953 8954 8955 8954 8956 8955 8956 8957 8958 8957 8959 8958 8959 8960 8961 8960 8962 8961 8962 8963 8964 8963 8965 8964 8965 8966 8967 8966 8968 8967 8968 8969 8970 8969 8971 8970 8971 8972 8973 8972 8974 8973 8974 8975 8976 8975 8977 8976 8977 8978 8979 8978 8980 8979 8980 8981 8982 8981 8983 8982 8983 8984 8985 8984 8986 8985 8986 8987 8988 8987 8989 8988 8989 8990 8991 8990 8992 8991 8992 8993 8994 8993 8995 8994 8995 8996 8997 8996 8998 8997 8998 8999 9000 8999 9001 9000 9001 9002 9003 9002 9004 9003 9004 9005 9006 9005 9007 9006 9007 9008 9009 9008 9010 9009 9010 9011 9012 9011 9013 9012 9013 9014 9015 9014 9016 9015 9016 9017 9018 9017 9019 9018 9019 9020 9021 9020 9022 9021 9022 9023 9024 9023 9025 9024 9025 9026 9027 9026 9028 9027 9028 9029 9030 9029 9031 9030 9031 9032 9033 9032 9034 9033 9034 9035 9036 9035 9037 9036 9037 9038 9039 9038 9040 9039 9040 9041 9042 9041 9043 9042 9043 9044 9045 9044 9046 9045 9046 9047 9048 9047 9049 9048 9049 9050 9051 9050 9052 9051 9052 9053 9054 9053 9055 9054 9055 9056 9057 9056 9058 9057 9058 9059 9060 9059 9061 9060 9061 9062 9063 9062 9064 9063 9064 9065 9066 9065 9067 9066 9067 9068 9069 9068 9070 9069 9070 9071 9072 9071 9073 9072 9073 9074 9075 9074 9076 9075 9076 9077 9078 9077 9079 9078 9079 9080 9081 9080 9082 9081 9082 9083 9084 9083 9085 9084 9085 9086 9087 9086 9088 9087 9088 9089 9090 9089 9091 9090 9091 9092 9093 9092 9094 9093 9094 9095 9096 9095 9097 9096 9097 9098 9099 9098 9100 9099 9100 9101 9102 9101 9103 9102 9103 9104 9105 9104 9106 9105 9106 9107 9108 9107 9109 9108 9109 9110 9111 9110 9112 9111 9112 9113 9114 9113 9115 9114 9115 9116 9117 9116 9118 9117 9118 9119 9120 9119 9121 9120 9121 9122 9123 9122 9124 9123 9124 9125 9126 9125 9127 9126 9127 9128 9129 9128 9130 9129 9130 9131 9132 9131 9133 9132 9133 9134 9135 9134 9136 9135 9136 9137 9138 9137 9139 9138 9139 9140 9141 9140 9142 9141 9142 9143 9144 9143 9145 9144 9145 9146 9147 9146 9148 9147 9148 9149 9150 9149 9151 9150 9151 9152 9153 9152 9154 9153 9154 9155 9156 9155 9157 9156 9157 9158 9159 9158 9160 9159 9160 9161 9162 9161 9163 9162 9163 9164 9165 9164 9166 9165 9166 9167 9168 9167 9169 9168 9169 9170 9171 9170 9172 9171 9172 9173 9174 9173 9175 9174 9175 9176 9177 9176 9178 9177 9178 9179 9180 9179 9181 9180 9181 9182 9183 9182 9184 9183 9184 9185 9186 9185 9187 9186 9187 9188 9189 9188 9190 9189 9190 9191 9192 9191 9193 9192 9193 9194 9195 9194 9196 9195 9196 9197 9198 9197 9199 9198 9199 9200 9201 9200 9202 9201 9202 9203 9204 9203 9205 9204 9205 9206 9207 9206 9208 9207 9208 9209 9210 9209 9211 9210 9211 9212 9213 9212 9214 9213 9214 9215 9216 9215 9217 9216 9217 9218 9219 9218 9220 9219 9220 9221 9222 9221 9223 9222 9223 9224 9225 9224 9226 9225 9226 9227 9228 9227 9229 9228 9229 9230 9231 9230 9232 9231 9232 9233 9234 9233 9235 9234 9235 9236 9237 9236 9238 9237 9238 9239 9240 9239 9241 9240 9241 9242 9243 9242 9244 9243 9244 9245 9246 9245 9247 9246 9247 9248 9249 9248 9250 9249 9250 9251 9252 9251 9253 9252 9253 9254 9255 9254 9256 9255 9256 9257 9258 9257 9259 9258 9259 9260 9261 9260 9262 9261 9262 9263 9264 9263 9265 9264 9265 9266 9267 9266 9268 9267 9268 9269 9270 9269 9271 9270 9271 9272 9273 9272 9274 9273 9274 9275 9276 9275 9277 9276 9277 9278 9279 9278 9280 9279 9280 9281 9282 9281 9283 9282 9283 9284 9285 9284 9286 9285 9286 9287 9288 9287 9289 9288 9289 9290 9291 9290 9292 9291 9292 9293 9294 9293 9295 9294 9295 9296 9297 9296 9298 9297 9298 9299 9300 9299 9301 9300 9301 9302 9303 9302 9304 9303 9304 9305 9306 9305 9307 9306 9307 9308 9309 9308 9310 9309 9310 9311 9312 9311 9313 9312 9313 9314 9315 9314 9316 9315 9316 9317 9318 9317 9319 9318 9319 9320 9321 9320 9322 9321 9322 9323 9324 9323 9325 9324 9325 9326 9327 9326 9328 9327 9328 9329 9330 9329 9331 9330 9331 9332 9333 9332 9334 9333 9334 9335 9336 9335 9337 9336 9337 9338 9339 9338 9340 9339 9340 9341 9342 9341 9343 9342 9343 9344 9345 9344 9346 9345 9346 9347 9348 9347 9349 9348 9349 9350 9351 9350 9352 9351 9352 9353 9354 9353 9355 9354 9355 9356 9357 9356 9358 9357 9358 9359 9360 9359 9361 9360 9361 9362 9363 9362 9364 9363 9364 9365 9366 9365 9367 9366 9367 9368 9369 9368 9370 9369 9370 9371 9372 9371 9373 9372 9373 9374 9375 9374 9376 9375 9376 9377 9378 9377 9379 9378 9379 9380 9381 9380 9382 9381 9382 9383 9384 9383 9385 9384 9385 9386 9387 9386 9388 9387 9388 9389 9390 9389 9391 9390 9391 9392 9393 9392 9394 9393 9394 9395 9396 9395 9397 9396 9397 9398 9399 9398 9400 9399 9400 9401 9402 9401 9403 9402 9403 9404 9405 9404 9406 9405 9406 9407 9408 9407 9409 9408 9409 9410 9411 9410 9412 9411 9412 9413 9414 9413 9415 9414 9415 9416 9417 9416 9418 9417 9418 9419 9420 9419 9421 9420 9421 9422 9423 9422 9424 9423 9424 9425 9426 9425 9427 9426 9427 9428 9429 9428 9430 9429 9430 9431 9432 9431 9433 9432 9433 9434 9435 9434 9436 9435 9436 9437 9438 9437 9439 9438 9439 9440 9441 9440 9442 9441 9442 9443 9444 9443 9445 9444 9445 9446 9447 9446 9448 9447 9448 9449 9450 9449 9451 9450 9451 9452 9453 9452 9454 9453 9454 9455 9456 9455 9457 9456 9457 9458 9459 9458 9460 9459 9460 9461 9462 9461 9463 9462 9463 9464 9465 9464 9466 9465 9466 9467 9468 9467 9469 9468 9469 9470 9471 9470 9472 9471 9472 9473 9474 9473 9475 9474 9475 9476 9477 9476 9478 9477 9478 9479 9480 9479 9481 9480 9481 9482 9483 9482 9484 9483 9484 9485 9486 9485 9487 9486 9487 9488 9489 9488 9490 9489 9490 9491 9492 9491 9493 9492 9493 9494 9495 9494 9496 9495 9496 9497 9498 9497 9499 9498 9499 9500 9501 9500 9502 9501 9502 9503 9504 9503 9505 9504 9505 9506 9507 9506 9508 9507 9508 9509 9510 9509 9511 9510 9511 9512 9513 9512 9514 9513 9514 9515 9516 9515 9517 9516 9517 9518 9519 9518 9520 9519 9520 9521 9522 9521 9523 9522 9523 9524 9525 9524 9526 9525 9526 9527 9528 9527 9529 9528 9529 9530 9531 9530 9532 9531 9532 9533 9534 9533 9535 9534 9535 9536 9537 9536 9538 9537 9538 9539 9540 9539 9541 9540 9541 9542 9543 9542 9544 9543 9544 9545 9546 9545 9547 9546 9547 9548 9549 9548 9550 9549 9550 9551 9552 9551 9553 9552 9553 9554 9555 9554 9556 9555 9556 9557 9558 9557 9559 9558 9559 9560 9561 9560 9562 9561 9562 9563 9564 9563 9565 9564 9565 9566 9567 9566 9568 9567 9568 9569 9570 9569 9571 9570 9571 9572 9573 9572 9574 9573 9574 9575 9576 9575 9577 9576 9577 9578 9579 9578 9580 9579 9580 9581 9582 9581 9583 9582 9583 9584 9585 9584 9586 9585 9586 9587 9588 9587 9589 9588 9589 9590 9591 9590 9592 9591 9592 9593 9594 9593 9595 9594 9595 9596 9597 9596 9598 9597 9598 9599 9600 9599 9601 9600 9601 9602 9603 9602 9604 9603 9604 9605 9606 9605 9607 9606 9607 9608 9609 9608 9610 9609 9610 9611 9612 9611 9613 9612 9613 9614 9615 9614 9616 9615 9616 9617 9618 9617 9619 9618 9619 9620 9621 9620 9622 9621 9622 9623 9624 9623 9625 9624 9625 9626 9627 9626 9628 9627 9628 9629 9630 9629 9631 9630 9631 9632 9633 9632 9634 9633 9634 9635 9636 9635 9637 9636 9637 9638 9639 9638 9640 9639 9640 9641 9642 9641 9643 9642 9643 9644 9645 9644 9646 9645 9646 9647 9648 9647 9649 9648 9649 9650 9651 9650 9652 9651 9652 9653 9654 9653 9655 9654 9655 9656 9657 9656 9658 9657 9658 9659 9660 9659 9661 9660 9661 9662 9663 9662 9664 9663 9664 9665 9666 9665 9667 9666 9667 9668 9669 9668 9670 9669 9670 9671 9672 9671 9673 9672 9673 9674 9675 9674 9676 9675 9676 9677 9678 9677 9679 9678 9679 9680 9681 9680 9682 9681 9682 9683 9684 9683 9685 9684 9685 9686 9687 9686 9688 9687 9688 9689 9690 9689 9691 9690 9691 9692 9693 9692 9694 9693 9694 9695 9696 9695 9697 9696 9697 9698 9699 9698 9700 9699 9700 9701 9702 9701 9703 9702 9703 9704 9705 9704 9706 9705 9706 9707 9708 9707 9709 9708 9709 9710 9711 9710 9712 9711 9712 9713 9714 9713 9715 9714 9715 9716 9717 9716 9718 9717 9718 9719 9720 9719 9721 9720 9721 9722 9723 9722 9724 9723 9724 9725 9726 9725 9727 9726 9727 9728 9729 9728 9730 9729 9730 9731 9732 9731 9733 9732 9733 9734 9735 9734 9736 9735 9736 9737 9738 9737 9739 9738 9739 9740 9741 9740 9742 9741 9742 9743 9744 9743 9745 9744 9745 9746 9747 9746 9748 9747 9748 9749 9750 9749 9751 9750 9751 9752 9753 9752 9754 9753 9754 9755 9756 9755 9757 9756 9757 9758 9759 9758 9760 9759 9760 9761 9762 9761 9763 9762 9763 9764 9765 9764 9766 9765 9766 9767 9768 9767 9769 9768 9769 9770 9771 9770 9772 9771 9772 9773 9774 9773 9775 9774 9775 9776 9777 9776 9778 9777 9778 9779 9780 9779 9781 9780 9781 9782 9783 9782 9784 9783 9784 9785 9786 9785 9787 9786 9787 9788 9789 9788 9790 9789 9790 9791 9792 9791 9793 9792 9793 9794 9795 9794 9796 9795 9796 9797 9798 9797 9799 9798 9799 9800 9801 9800 9802 9801 9802 9803 9804 9803 9805 9804 9805 9806 9807 9806 9808 9807 9808 9809 9810 9809 9811 9810 9811 9812 9813 9812 9814 9813 9814 9815 9816 9815 9817 9816 9817 9818 9819 9818 9820 9819 9820 9821 9822 9821 9823 9822 9823 9824 9825 9824 9826 9825 9826 9827 9828 9827 9829 9828 9829 9830 9831 9830 9832 9831 9832 9833 9834 9833 9835 9834 9835 9836 9837 9836 9838 9837 9838 9839 9840 9839 9841 9840 9841 9842 9843 9842 9844 9843 9844 9845 9846 9845 9847 9846 9847 9848 9849 9848 9850 9849 9850 9851 9852 9851 9853 9852 9853 9854 9855 9854 9856 9855 9856 9857 9858 9857 9859 9858 9859 9860 9861 9860 9862 9861 9862 9863 9864 9863 9865 9864 9865 9866 9867 9866 9868 9867 9868 9869 9870 9869 9871 9870 9871 9872 9873 9872 9874 9873 9874 9875 9876 9875 9877 9876 9877 9878 9879 9878 9880 9879 9880 9881 9882 9881 9883 9882 9883 9884 9885 9884 9886 9885 9886 9887 9888 9887 9889 9888 9889 9890 9891 9890 9892 9891 9892 9893 9894 9893 9895 9894 9895 9896 9897 9896 9898 9897 9898 9899 9900 9899 9901 9900 9901 9902 9903 9902 9904 9903 9904 9905 9906 9905 9907 9906 9907 9908 9909 9908 9910 9909 9910 9911 9912 9911 9913 9912 9913 9914 9915 9914 9916 9915 9916 9917 9918 9917 9919 9918 9919 9920 9921 9920 9922 9921 9922 9923 9924 9923 9925 9924 9925 9926 9927 9926 9928 9927 9928 9929 9930 9929 9931 9930 9931 9932 9933 9932 9934 9933 9934 9935 9936 9935 9937 9936 9937 9938 9939 9938 9940 9939 9940 9941 9942 9941 9943 9942 9943 9944 9945 9944 9946 9945 9946 9947 9948 9947 9949 9948 9949 9950 9951 9950 9952 9951 9952 9953 9954 9953 9955 9954 9955 9956 9957 9956 9958 9957 9958 9959 9960 9959 9961 9960 9961 9962 9963 9962 9964 9963 9964 9965 9966 9965 9967 9966 9967 9968 9969 9968 9970 9969 9970 9971 9972 9971 9973 9972 9973 9974 9975 9974 9976 9975 9976 9977 9978 9977 9979 9978 9979 9980 9981 9980 9982 9981 9982 9983 9984 9983 9985 9984 9985 9986 9987 9986 9988 9987 9988 9989 9990 9989 9991 9990 9991 9992 9993 9992 9994 9993 9994 9995 9996 9995 9997 9996 9997 9998 9999 9998 10000 9999 10000 10001 10002 10001 10003 10002 10003 10004 10005 10004 10006 10005 10006 10007 10008 10007 10009 10008 10009 10010 10011 10010 10012 10011 10012 10013 10014 10013 10015 10014 10015 10016 10017 10016 10018 10017 10018 10019 10020 10019 10021 10020 10021 10022 10023 10022 10024 10023 10024 10025 10026 10025 10027 10026 10027 10028 10029 10028 10030 10029 10030 10031 10032 10031 10033 10032 10033 10034 10035 10034 10036 10035 10036 10037 10038 10037 10039 10038 10039 10040 10041 10040 10042 10041 10042 10043 10044 10043 10045 10044 10045 10046 10047 10046 10048 10047 10048 10049 10050 10049 10051 10050 10051 10052 10053 10052 10054 10053 10054 10055 10056 10055 10057 10056 10057 10058 10059 10058 10060 10059 10060 10061 10062 10061 10063 10062 10063 10064 10065 10064 10066 10065 10066 10067 10068 10067 10069 10068 10069 10070 10071 10070 10072 10071 10072 10073 10074 10073 10075 10074 10075 10076 10077 10076 10078 10077 10078 10079 10080 10079 10081 10080 10081 10082 10083 10082 10084 10083 10084 10085 10086 10085 10087 10086 10087 10088 10089 10088 10090 10089 10090 10091 10092 10091 10093 10092 10093 10094 10095 10094 10096 10095 10096 10097 10098 10097 10099 10098 10099 10100 10101 10100 10102 10101 10102 10103 10104 10103 10105 10104 10105 10106 10107 10106 10108 10107 10108 10109 10110 10109 10111 10110 10111 10112 10113 10112 10114 10113 10114 10115 10116 10115 10117 10116 10117 10118 10119 10118 10120 10119 10120 10121 10122 10121 10123 10122 10123 10124 10125 10124 10126 10125 10126 10127 10128 10127 10129 10128 10129 10130 10131 10130 10132 10131 10132 10133 10134 10133 10135 10134 10135 10136 10137 10136 10138 10137 10138 10139 10140 10139 10141 10140 10141 10142 10143 10142 10144 10143 10144 10145 10146 10145 10147 10146 10147 10148 10149 10148 10150 10149 10150 10151 10152 10151 10153 10152 10153 10154 10155 10154 10156 10155 10156 10157 10158 10157 10159 10158 10159 10160 10161 10160 10162 10161 10162 10163 10164 10163 10165 10164 10165 10166 10167 10166 10168 10167 10168 10169 10170 10169 10171 10170 10171 10172 10173 10172 10174 10173 10174 10175 10176 10175 10177 10176 10177 10178 10179 10178 10180 10179 10180 10181 10182 10181 10183 10182 10183 10184 10185 10184 10186 10185 10186 10187 10188 10187 10189 10188 10189 10190 10191 10190 10192 10191 10192 10193 10194 10193 10195 10194 10195 10196 10197 10196 10198 10197 10198 10199 10200 10199 10201 10200 10201 10202 10203 10202 10204 10203 10204 10205 10206 10205 10207 10206 10207 10208 10209 10208 10210 10209 10210 10211 10212 10211 10213 10212 10213 10214 10215 10214 10216 10215 10216 10217 10218 10217 10219 10218 10219 10220 10221 10220 10222 10221 10222 10223 10224 10223 10225 10224 10225 10226 10227 10226 10228 10227 10228 10229 10230 10229 10231 10230 10231 10232 10233 10232 10234 10233 10234 10235 10236 10235 10237 10236 10237 10238 10239 10238 10240 10239 10240 10241 10242 10241 10243 10242 10243 10244 10245 10244 10246 10245 10246 10247 10248 10247 10249 10248 10249 10250 10251 10250 10252 10251 10252 10253 10254 10253 10255 10254 10255 10256 10257 10256 10258 10257 10258 10259 10260 10259 10261 10260 10261 10262 10263 10262 10264 10263 10264 10265 10266 10265 10267 10266 10267 10268 10269 10268 10270 10269 10270 10271 10272 10271 10273 10272 10273 10274 10275 10274 10276 10275 10276 10277 10278 10277 10279 10278 10279 10280 10281 10280 10282 10281 10282 10283 10284 10283 10285 10284 10285 10286 10287 10286 10288 10287 10288 10289 10290 10289 10291 10290 10291 10292 10293 10292 10294 10293 10294 10295 10296 10295 10297 10296 10297 10298 10299 10298 10300 10299 10300 10301 10302 10301 10303 10302 10303 10304 10305 10304 10306 10305 10306 10307 10308 10307 10309 10308 10309 10310 10311 10310 10312 10311 10312 10313 10314 10313 10315 10314 10315 10316 10317 10316 10318 10317 10318 10319 10320 10319 10321 10320 10321 10322 10323 10322 10324 10323 10324 10325 10326 10325 10327 10326 10327 10328 10329 10328 10330 10329 10330 10331 10332 10331 10333 10332 10333 10334 10335 10334 10336 10335 10336 10337 10338 10337 10339 10338 10339 10340 10341 10340 10342 10341 10342 10343 10344 10343 10345 10344 10345 10346 10347 10346 10348 10347 10348 10349 10350 10349 10351 10350 10351 10352 10353 10352 10354 10353 10354 10355 10356 10355 10357 10356 10357 10358 10359 10358 10360 10359 10360 10361 10362 10361 10363 10362 10363 10364 10365 10364 10366 10365 10366 10367 10368 10367 10369 10368 10369 10370 10371 10370 10372 10371 10372 10373 10374 10373 10375 10374 10375 10376 10377 10376 10378 10377 10378 10379 10380 10379 10381 10380 10381 10382 10383 10382 10384 10383 10384 10385 10386 10385 10387 10386 10387 10388 10389 10388 10390 10389 10390 10391 10392 10391 10393 10392 10393 10394 10395 10394 10396 10395 10396 10397 10398 10397 10399 10398 10399 10400 10401 10400 10402 10401 10402 10403 10404 10403 10405 10404 10405 10406 10407 10406 10408 10407 10408 10409 10410 10409 10411 10410 10411 10412 10413 10412 10414 10413 10414 10415 10416 10415 10417 10416 10417 10418 10419 10418 10420 10419 10420 10421 10422 10421 10423 10422 10423 10424 10425 10424 10426 10425 10426 10427 10428 10427 10429 10428 10429 10430 10431 10430 10432 10431 10432 10433 10434 10433 10435 10434 10435 10436 10437 10436 10438 10437 10438 10439 10440 10439 10441 10440 10441 10442 10443 10442 10444 10443 10444 10445 10446 10445 10447 10446 10447 10448 10449 10448 10450 10449 10450 10451 10452 10451 10453 10452 10453 10454 10455 10454 10456 10455 10456 10457 10458 10457 10459 10458 10459 10460 10461 10460 10462 10461 10462 10463 10464 10463 10465 10464 10465 10466 10467 10466 10468 10467 10468 10469 10470 10469 10471 10470 10471 10472 10473 10472 10474 10473 10474 10475 10476 10475 10477 10476 10477 10478 10479 10478 10480 10479 10480 10481 10482 10481 10483 10482 10483 10484 10485 10484 10486 10485 10486 10487 10488 10487 10489 10488 10489 10490 10491 10490 10492 10491 10492 10493 10494 10493 10495 10494 10495 10496 10497 10496 10498 10497 10498 10499 10500 10499 10501 10500 10501 10502 10503 10502 10504 10503 10504 10505 10506 10505 10507 10506 10507 10508 10509 10508 10510 10509 10510 10511 10512 10511 10513 10512 10513 10514 10515 10514 10516 10515 10516 10517 10518 10517 10519 10518 10519 10520 10521 10520 10522 10521 10522 10523 10524 10523 10525 10524 10525 10526 10527 10526 10528 10527 10528 10529 10530 10529 10531 10530 10531 10532 10533 10532 10534 10533 10534 10535 10536 10535 10537 10536 10537 10538 10539 10538 10540 10539 10540 10541 10542 10541 10543 10542 10543 10544 10545 10544 10546 10545 10546 10547 10548 10547 10549 10548 10549 10550 10551 10550 10552 10551 10552 10553 10554 10553 10555 10554 10555 10556 10557 10556 10558 10557 10558 10559 10560 10559 10561 10560 10561 10562 10563 10562 10564 10563 10564 10565 10566 10565 10567 10566 10567 10568 10569 10568 10570 10569 10570 10571 10572 10571 10573 10572 10573 10574 10575 10574 10576 10575 10576 10577 10578 10577 10579 10578 10579 10580 10581 10580 10582 10581 10582 10583 10584 10583 10585 10584 10585 10586 10587 10586 10588 10587 10588 10589 10590 10589 10591 10590 10591 10592 10593 10592 10594 10593 10594 10595 10596 10595 10597 10596 10597 10598 10599 10598 10600 10599 10600 10601 10602 10601 10603 10602 10603 10604 10605 10604 10606 10605 10606 10607 10608 10607 10609 10608 10609 10610 10611 10610 10612 10611 10612 10613 10614 10613 10615 10614 10615 10616 10617 10616 10618 10617 10618 10619 10620 10619 10621 10620 10621 10622 10623 10622 10624 10623 10624 10625 10626 10625 10627 10626 10627 10628 10629 10628 10630 10629 10630 10631 10632 10631 10633 10632 10633 10634 10635 10634 10636 10635 10636 10637 10638 10637 10639 10638 10639 10640 10641 10640 10642 10641 10642 10643 10644 10643 10645 10644 10645 10646 10647 10646 10648 10647 10648 10649 10650 10649 10651 10650 10651 10652 10653 10652 10654 10653 10654 10655 10656 10655 10657 10656 10657 10658 10659 10658 10660 10659 10660 10661 10662 10661 10663 10662 10663 10664 10665 10664 10666 10665 10666 10667 10668 10667 10669 10668 10669 10670 10671 10670 10672 10671 10672 10673 10674 10673 10675 10674 10675 10676 10677 10676 10678 10677 10678 10679 10680 10679 10681 10680 10681 10682 10683 10682 10684 10683 10684 10685 10686 10685 10687 10686 10687 10688 10689 10688 10690 10689 10690 10691 10692 10691 10693 10692 10693 10694 10695 10694 10696 10695 10696 10697 10698 10697 10699 10698 10699 10700 10701 10700 10702 10701 10702 10703 10704 10703 10705 10704 10705 10706 10707 10706 10708 10707 10708 10709 10710 10709 10711 10710 10711 10712 10713 10712 10714 10713 10714 10715 10716 10715 10717 10716 10717 10718 10719 10718 10720 10719 10720 10721 10722 10721 10723 10722 10723 10724 10725 10724 10726 10725 10726 10727 10728 10727 10729 10728 10729 10730 10731 10730 10732 10731 10732 10733 10734 10733 10735 10734 10735 10736 10737 10736 10738 10737 10738 10739 10740 10739 10741 10740 10741 10742 10743 10742 10744 10743 10744 10745 10746 10745 10747 10746 10747 10748 10749 10748 10750 10749 10750 10751 10752 10751 10753 10752 10753 10754 10755 10754 10756 10755 10756 10757 10758 10757 10759 10758 10759 10760 10761 10760 10762 10761 10762 10763 10764 10763 10765 10764 10765 10766 10767 10766 10768 10767 10768 10769 10770 10769 10771 10770 10771 10772 10773 10772 10774 10773 10774 10775 10776 10775 10777 10776 10777 10778 10779 10778 10780 10779 10780 10781 10782 10781 10783 10782 10783 10784 10785 10784 10786 10785 10786 10787 10788 10787 10789 10788 10789 10790 10791 10790 10792 10791 10792 10793 10794 10793 10795 10794 10795 10796 10797 10796 10798 10797 10798 10799 10800 10799 10801 10800 10801 10802 10803 10802 10804 10803 10804 10805 10806 10805 10807 10806 10807 10808 10809 10808 10810 10809 10810 10811 10812 10811 10813 10812 10813 10814 10815 10814 10816 10815 10816 10817 10818 10817 10819 10818 10819 10820 10821 10820 10822 10821 10822 10823 10824 10823 10825 10824 10825 10826 10827 10826 10828 10827 10828 10829 10830 10829 10831 10830 10831 10832 10833 10832 10834 10833 10834 10835 10836 10835 10837 10836 10837 10838 10839 10838 10840 10839 10840 10841 10842 10841 10843 10842 10843 10844 10845 10844 10846 10845 10846 10847 10848 10847 10849 10848 10849 10850 10851 10850 10852 10851 10852 10853 10854 10853 10855 10854 10855 10856 10857 10856 10858 10857 10858 10859 10860 10859 10861 10860 10861 10862 10863 10862 10864 10863 10864 10865 10866 10865 10867 10866 10867 10868 10869 10868 10870 10869 10870 10871 10872 10871 10873 10872 10873 10874 10875 10874 10876 10875 10876 10877 10878 10877 10879 10878 10879 10880 10881 10880 10882 10881 10882 10883 10884 10883 10885 10884 10885 10886 10887 10886 10888 10887 10888 10889 10890 10889 10891 10890 10891 10892 10893 10892 10894 10893 10894 10895 10896 10895 10897 10896 10897 10898 10899 10898 10900 10899 10900 10901 10902 10901 10903 10902 10903 10904 10905 10904 10906 10905 10906 10907 10908 10907 10909 10908 10909 10910 10911 10910 10912 10911 10912 10913 10914 10913 10915 10914 10915 10916 10917 10916 10918 10917 10918 10919 10920 10919 10921 10920 10921 10922 10923 10922 10924 10923 10924 10925 10926 10925 10927 10926 10927 10928 10929 10928 10930 10929 10930 10931 10932 10931 10933 10932 10933 10934 10935 10934 10936 10935 10936 10937 10938 10937 10939 10938 10939 10940 10941 10940 10942 10941 10942 10943 10944 10943 10945 10944 10945 10946 10947 10946 10948 10947 10948 10949 10950 10949 10951 10950 10951 10952 10953 10952 10954 10953 10954 10955 10956 10955 10957 10956 10957 10958 10959 10958 10960 10959 10960 10961 10962 10961 10963 10962 10963 10964 10965 10964 10966 10965 10966 10967 10968 10967 10969 10968 10969 10970 10971 10970 10972 10971 10972 10973 10974 10973 10975 10974 10975 10976 10977 10976 10978 10977 10978 10979 10980 10979 10981 10980 10981 10982 10983 10982 10984 10983 10984 10985 10986 10985 10987 10986 10987 10988 10989 10988 10990 10989 10990 10991 10992 10991 10993 10992 10993 10994 10995 10994 10996 10995 10996 10997 10998 10997 10999 10998 10999 11000 11001 11000 11002 11001 11002 11003 11004 11003 11005 11004 11005 11006 11007 11006 11008 11007 11008 11009 11010 11009 11011 11010 11011 11012 11013 11012 11014 11013 11014 11015 11016 11015 11017 11016 11017 11018 11019 11018 11020 11019 11020 11021 11022 11021 11023 11022 11023 11024 11025 11024 11026 11025 11026 11027 11028 11027 11029 11028 11029 11030 11031 11030 11032 11031 11032 11033 11034 11033 11035 11034 11035 11036 11037 11036 11038 11037 11038 11039 11040 11039 11041 11040 11041 11042 11043 11042 11044 11043 11044 11045 11046 11045 11047 11046 11047 11048 11049 11048 11050 11049 11050 11051 11052 11051 11053 11052 11053 11054 11055 11054 11056 11055 11056 11057 11058 11057 11059 11058 11059 11060 11061 11060 11062 11061 11062 11063 11064 11063 11065 11064 11065 11066 11067 11066 11068 11067 11068 11069 11070 11069 11071 11070 11071 11072 11073 11072 11074 11073 11074 11075 11076 11075 11077 11076 11077 11078 11079 11078 11080 11079 11080 11081 11082 11081 11083 11082 11083 11084 11085 11084 11086 11085 11086 11087 11088 11087 11089 11088 11089 11090 11091 11090 11092 11091 11092 11093 11094 11093 11095 11094 11095 11096 11097 11096 11098 11097 11098 11099 11100 11099 11101 11100 11101 11102 11103 11102 11104 11103 11104 11105 11106 11105 11107 11106 11107 11108 11109 11108 11110 11109 11110 11111 11112 11111 11113 11112 11113 11114 11115 11114 11116 11115 11116 11117 11118 11117 11119 11118 11119 11120 11121 11120 11122 11121 11122 11123 11124 11123 11125 11124 11125 11126 11127 11126 11128 11127 11128 11129 11130 11129 11131 11130 11131 11132 11133 11132 11134 11133 11134 11135 11136 11135 11137 11136 11137 11138 11139 11138 11140 11139 11140 11141 11142 11141 11143 11142 11143 11144 11145 11144 11146 11145 11146 11147 11148 11147 11149 11148 11149 11150 11151 11150 11152 11151 11152 11153 11154 11153 11155 11154 11155 11156 11157 11156 11158 11157 11158 11159 11160 11159 11161 11160 11161 11162 11163 11162 11164 11163 11164 11165 11166 11165 11167 11166 11167 11168 11169 11168 11170 11169 11170 11171 11172 11171 11173 11172 11173 11174 11175 11174 11176 11175 11176 11177 11178 11177 11179 11178 11179 11180 11181 11180 11182 11181 11182 11183 11184 11183 11185 11184 11185 11186 11187 11186 11188 11187 11188 11189 11190 11189 11191 11190 11191 11192 11193 11192 11194 11193 11194 11195 11196 11195 11197 11196 11197 11198 11199 11198 11200 11199 11200 11201 11202 11201 11203 11202 11203 11204 11205 11204 11206 11205 11206 11207 11208 11207 11209 11208 11209 11210 11211 11210 11212 11211 11212 11213 11214 11213 11215 11214 11215 11216 11217 11216 11218 11217 11218 11219 11220 11219 11221 11220 11221 11222 11223 11222 11224 11223 11224 11225 11226 11225 11227 11226 11227 11228 11229 11228 11230 11229 11230 11231 11232 11231 11233 11232 11233 11234 11235 11234 11236 11235 11236 11237 11238 11237 11239 11238 11239 11240 11241 11240 11242 11241 11242 11243 11244 11243 11245 11244 11245 11246 11247 11246 11248 11247 11248 11249 11250 11249 11251 11250 11251 11252 11253 11252 11254 11253 11254 11255 11256 11255 11257 11256 11257 11258 11259 11258 11260 11259 11260 11261 11262 11261 11263 11262 11263 11264 11265 11264 11266 11265 11266 11267 11268 11267 11269 11268 11269 11270 11271 11270 11272 11271 11272 11273 11274 11273 11275 11274 11275 11276 11277 11276 11278 11277 11278 11279 11280 11279 11281 11280 11281 11282 11283 11282 11284 11283 11284 11285 11286 11285 11287 11286 11287 11288 11289 11288 11290 11289 11290 11291 11292 11291 11293 11292 11293 11294 11295 11294 11296 11295 11296 11297 11298 11297 11299 11298 11299 11300 11301 11300 11302 11301 11302 11303 11304 11303 11305 11304 11305 11306 11307 11306 11308 11307 11308 11309 11310 11309 11311 11310 11311 11312 11313 11312 11314 11313 11314 11315 11316 11315 11317 11316 11317 11318 11319 11318 11320 11319 11320 11321 11322 11321 11323 11322 11323 11324 11325 11324 11326 11325 11326 11327 11328 11327 11329 11328 11329 11330 11331 11330 11332 11331 11332 11333 11334 11333 11335 11334 11335 11336 11337 11336 11338 11337 11338 11339 11340 11339 11341 11340 11341 11342 11343 11342 11344 11343 11344 11345 11346 11345 11347 11346 11347 11348 11349 11348 11350 11349 11350 11351 11352 11351 11353 11352 11353 11354 11355 11354 11356 11355 11356 11357 11358 11357 11359 11358 11359 11360 11361 11360 11362 11361 11362 11363 11364 11363 11365 11364 11365 11366 11367 11366 11368 11367 11368 11369 11370 11369 11371 11370 11371 11372 11373 11372 11374 11373 11374 11375 11376 11375 11377 11376 11377 11378 11379 11378 11380 11379 11380 11381 11382 11381 11383 11382 11383 11384 11385 11384 11386 11385 11386 11387 11388 11387 11389 11388 11389 11390 11391 11390 11392 11391 11392 11393 11394 11393 11395 11394 11395 11396 11397 11396 11398 11397 11398 11399 11400 11399 11401 11400 11401 11402 11403 11402 11404 11403 11404 11405 11406 11405 11407 11406 11407 11408 11409 11408 11410 11409 11410 11411 11412 11411 11413 11412 11413 11414 11415 11414 11416 11415 11416 11417 11418 11417 11419 11418 11419 11420 11421 11420 11422 11421 11422 11423 11424 11423 11425 11424 11425 11426 11427 11426 11428 11427 11428 11429 11430 11429 11431 11430 11431 11432 11433 11432 11434 11433 11434 11435 11436 11435 11437 11436 11437 11438 11439 11438 11440 11439 11440 11441 11442 11441 11443 11442 11443 11444 11445 11444 11446 11445 11446 11447 11448 11447 11449 11448 11449 11450 11451 11450 11452 11451 11452 11453 11454 11453 11455 11454 11455 11456 11457 11456 11458 11457 11458 11459 11460 11459 11461 11460 11461 11462 11463 11462 11464 11463 11464 11465 11466 11465 11467 11466 11467 11468 11469 11468 11470 11469 11470 11471 11472 11471 11473 11472 11473 11474 11475 11474 11476 11475 11476 11477 11478 11477 11479 11478 11479 11480 11481 11480 11482 11481 11482 11483 11484 11483 11485 11484 11485 11486 11487 11486 11488 11487 11488 11489 11490 11489 11491 11490 11491 11492 11493 11492 11494 11493 11494 11495 11496 11495 11497 11496 11497 11498 11499 11498 11500 11499 11500 11501 11502 11501 11503 11502 11503 11504 11505 11504 11506 11505 11506 11507 11508 11507 11509 11508 11509 11510 11511 11510 11512 11511 11512 11513 11514 11513 11515 11514 11515 11516 11517 11516 11518 11517 11518 11519 11520 11519 11521 11520 11521 11522 11523 11522 11524 11523 11524 11525 11526 11525 11527 11526 11527 11528 11529 11528 11530 11529 11530 11531 11532 11531 11533 11532 11533 11534 11535 11534 11536 11535 11536 11537 11538 11537 11539 11538 11539 11540 11541 11540 11542 11541 11542 11543 11544 11543 11545 11544 11545 11546 11547 11546 11548 11547 11548 11549 11550 11549 11551 11550 11551 11552 11553 11552 11554 11553 11554 11555 11556 11555 11557 11556 11557 11558 11559 11558 11560 11559 11560 11561 11562 11561 11563 11562 11563 11564 11565 11564 11566 11565 11566 11567 11568 11567 11569 11568 11569 11570 11571 11570 11572 11571 11572 11573 11574 11573 11575 11574 11575 11576 11577 11576 11578 11577 11578 11579 11580 11579 11581 11580 11581 11582 11583 11582 11584 11583 11584 11585 11586 11585 11587 11586 11587 11588 11589 11588 11590 11589 11590 11591 11592 11591 11593 11592 11593 11594 11595 11594 11596 11595 11596 11597 11598 11597 11599 11598 11599 11600 11601 11600 11602 11601 11602 11603 11604 11603 11605 11604 11605 11606 11607 11606 11608 11607 11608 11609 11610 11609 11611 11610 11611 11612 11613 11612 11614 11613 11614 11615 11616 11615 11617 11616 11617 11618 11619 11618 11620 11619 11620 11621 11622 11621 11623 11622 11623 11624 11625 11624 11626 11625 11626 11627 11628 11627 11629 11628 11629 11630 11631 11630 11632 11631 11632 11633 11634 11633 11635 11634 11635 11636 11637 11636 11638 11637 11638 11639 11640 11639 11641 11640 11641 11642 11643 11642 11644 11643 11644 11645 11646 11645 11647 11646 11647 11648 11649 11648 11650 11649 11650 11651 11652 11651 11653 11652 11653 11654 11655 11654 11656 11655 11656 11657 11658 11657 11659 11658 11659 11660 11661 11660 11662 11661 11662 11663 11664 11663 11665 11664 11665 11666 11667 11666 11668 11667 11668 11669 11670 11669 11671 11670 11671 11672 11673 11672 11674 11673 11674 11675 11676 11675 11677 11676 11677 11678 11679 11678 11680 11679 11680 11681 11682 11681 11683 11682 11683 11684 11685 11684 11686 11685 11686 11687 11688 11687 11689 11688 11689 11690 11691 11690 11692 11691 11692 11693 11694 11693 11695 11694 11695 11696 11697 11696 11698 11697 11698 11699 11700 11699 11701 11700 11701 11702 11703 11702 11704 11703 11704 11705 11706 11705 11707 11706 11707 11708 11709 11708 11710 11709 11710 11711 11712 11711 11713 11712 11713 11714 11715 11714 11716 11715 11716 11717 11718 11717 11719 11718 11719 11720 11721 11720 11722 11721 11722 11723 11724 11723 11725 11724 11725 11726 11727 11726 11728 11727 11728 11729 11730 11729 11731 11730 11731 11732 11733 11732 11734 11733 11734 11735 11736 11735 11737 11736 11737 11738 11739 11738 11740 11739 11740 11741 11742 11741 11743 11742 11743 11744 11745 11744 11746 11745 11746 11747 11748 11747 11749 11748 11749 11750 11751 11750 11752 11751 11752 11753 11754 11753 11755 11754 11755 11756 11757 11756 11758 11757 11758 11759 11760 11759 11761 11760 11761 11762 11763 11762 11764 11763 11764 11765 11766 11765 11767 11766 11767 11768 11769 11768 11770 11769 11770 11771 11772 11771 11773 11772 11773 11774 11775 11774 11776 11775 11776 11777 11778 11777 11779 11778 11779 11780 11781 11780 11782 11781 11782 11783 11784 11783 11785 11784 11785 11786 11787 11786 11788 11787 11788 11789 11790 11789 11791 11790 11791 11792 11793 11792 11794 11793 11794 11795 11796 11795 11797 11796 11797 11798 11799 11798 11800 11799 11800 11801 11802 11801 11803 11802 11803 11804 11805 11804 11806 11805 11806 11807 11808 11807 11809 11808 11809 11810 11811 11810 11812 11811 11812 11813 11814 11813 11815 11814 11815 11816 11817 11816 11818 11817 11818 11819 11820 11819 11821 11820 11821 11822 11823 11822 11824 11823 11824 11825 11826 11825 11827 11826 11827 11828 11829 11828 11830 11829 11830 11831 11832 11831 11833 11832 11833 11834 11835 11834 11836 11835 11836 11837 11838 11837 11839 11838 11839 11840 11841 11840 11842 11841 11842 11843 11844 11843 11845 11844 11845 11846 11847 11846 11848 11847 11848 11849 11850 11849 11851 11850 11851 11852 11853 11852 11854 11853 11854 11855 11856 11855 11857 11856 11857 11858 11859 11858 11860 11859 11860 11861 11862 11861 11863 11862 11863 11864 11865 11864 11866 11865 11866 11867 11868 11867 11869 11868 11869 11870 11871 11870 11872 11871 11872 11873 11874 11873 11875 11874 11875 11876 11877 11876 11878 11877 11878 11879 11880 11879 11881 11880 11881 11882 11883 11882 11884 11883 11884 11885 11886 11885 11887 11886 11887 11888 11889 11888 11890 11889 11890 11891 11892 11891 11893 11892 11893 11894 11895 11894 11896 11895 11896 11897 11898 11897 11899 11898 11899 11900 11901 11900 11902 11901 11902 11903 11904 11903 11905 11904 11905 11906 11907 11906 11908 11907 11908 11909 11910 11909 11911 11910 11911 11912 11913 11912 11914 11913 11914 11915 11916 11915 11917 11916 11917 11918 11919 11918 11920 11919 11920 11921 11922 11921 11923 11922 11923 11924 11925 11924 11926 11925 11926 11927 11928 11927 11929 11928 11929 11930 11931 11930 11932 11931 11932 11933 11934 11933 11935 11934 11935 11936 11937 11936 11938 11937 11938 11939 11940 11939 11941 11940 11941 11942 11943 11942 11944 11943 11944 11945 11946 11945 11947 11946 11947 11948 11949 11948 11950 11949 11950 11951 11952 11951 11953 11952 11953 11954 11955 11954 11956 11955 11956 11957 11958 11957 11959 11958 11959 11960 11961 11960 11962 11961 11962 11963 11964 11963 11965 11964 11965 11966 11967 11966 11968 11967 11968 11969 11970 11969 11971 11970 11971 11972 11973 11972 11974 11973 11974 11975 11976 11975 11977 11976 11977 11978 11979 11978 11980 11979 11980 11981 11982 11981 11983 11982 11983 11984 11985 11984 11986 11985 11986 11987 11988 11987 11989 11988 11989 11990 11991 11990 11992 11991 11992 11993 11994 11993 11995 11994 11995 11996 11997 11996 11998 11997 11998 11999 12000 11999 12001 12000 12001 12002 12003 12002 12004 12003 12004 12005 12006 12005 12007 12006 12007 12008 12009 12008 12010 12009 12010 12011 12012 12011 12013 12012 12013 12014 12015 12014 12016 12015 12016 12017 12018 12017 12019 12018 12019 12020 12021 12020 12022 12021 12022 12023 12024 12023 12025 12024 12025 12026 12027 12026 12028 12027 12028 12029 12030 12029 12031 12030 12031 12032 12033 12032 12034 12033 12034 12035 12036 12035 12037 12036 12037 12038 12039 12038 12040 12039 12040 12041 12042 12041 12043 12042 12043 12044 12045 12044 12046 12045 12046 12047 12048 12047 12049 12048 12049 12050 12051 12050 12052 12051 12052 12053 12054 12053 12055 12054 12055 12056 12057 12056 12058 12057 12058 12059 12060 12059 12061 12060 12061 12062 12063 12062 12064 12063 12064 12065 12066 12065 12067 12066 12067 12068 12069 12068 12070 12069 12070 12071 12072 12071 12073 12072 12073 12074 12075 12074 12076 12075 12076 12077 12078 12077 12079 12078 12079 12080 12081 12080 12082 12081 12082 12083 12084 12083 12085 12084 12085 12086 12087 12086 12088 12087 12088 12089 12090 12089 12091 12090 12091 12092 12093 12092 12094 12093 12094 12095 12096 12095 12097 12096 12097 12098 12099 12098 12100 12099 12100 12101 12102 12101 12103 12102 12103 12104 12105 12104 12106 12105 12106 12107 12108 12107 12109 12108 12109 12110 12111 12110 12112 12111 12112 12113 12114 12113 12115 12114 12115 12116 12117 12116 12118 12117 12118 12119 12120 12119 12121 12120 12121 12122 12123 12122 12124 12123 12124 12125 12126 12125 12127 12126 12127 12128 12129 12128 12130 12129 12130 12131 12132 12131 12133 12132 12133 12134 12135 12134 12136 12135 12136 12137 12138 12137 12139 12138 12139 12140 12141 12140 12142 12141 12142 12143 12144 12143 12145 12144 12145 12146 12147 12146 12148 12147 12148 12149 12150 12149 12151 12150 12151 12152 12153 12152 12154 12153 12154 12155 12156 12155 12157 12156 12157 12158 12159 12158 12160 12159 12160 12161 12162 12161 12163 12162 12163 12164 12165 12164 12166 12165 12166 12167 12168 12167 12169 12168 12169 12170 12171 12170 12172 12171 12172 12173 12174 12173 12175 12174 12175 12176 12177 12176 12178 12177 12178 12179 12180 12179 12181 12180 12181 12182 12183 12182 12184 12183 12184 12185 12186 12185 12187 12186 12187 12188 12189 12188 12190 12189 12190 12191 12192 12191 12193 12192 12193 12194 12195 12194 12196 12195 12196 12197 12198 12197 12199 12198 12199 12200 12201 12200 12202 12201 12202 12203 12204 12203 12205 12204 12205 12206 12207 12206 12208 12207 12208 12209 12210 12209 12211 12210 12211 12212 12213 12212 12214 12213 12214 12215 12216 12215 12217 12216 12217 12218 12219 12218 12220 12219 12220 12221 12222 12221 12223 12222 12223 12224 12225 12224 12226 12225 12226 12227 12228 12227 12229 12228 12229 12230 12231 12230 12232 12231 12232 12233 12234 12233 12235 12234 12235 12236 12237 12236 12238 12237 12238 12239 12240 12239 12241 12240 12241 12242 12243 12242 12244 12243 12244 12245 12246 12245 12247 12246 12247 12248 12249 12248 12250 12249 12250 12251 12252 12251 12253 12252 12253 12254 12255 12254 12256 12255 12256 12257 12258 12257 12259 12258 12259 12260 12261 12260 12262 12261 12262 12263 12264 12263 12265 12264 12265 12266 12267 12266 12268 12267 12268 12269 12270 12269 12271 12270 12271 12272 12273 12272 12274 12273 12274 12275 12276 12275 12277 12276 12277 12278 12279 12278 12280 12279 12280 12281 12282 12281 12283 12282 12283 12284 12285 12284 12286 12285 12286 12287 12288 12287 12289 12288 12289 12290 12291 12290 12292 12291 12292 12293 12294 12293 12295 12294 12295 12296 12297 12296 12298 12297 12298 12299 12300 12299 12301 12300 12301 12302 12303 12302 12304 12303 12304 12305 12306 12305 12307 12306 12307 12308 12309 12308 12310 12309 12310 12311 12312 12311 12313 12312 12313 12314 12315 12314 12316 12315 12316 12317 12318 12317 12319 12318 12319 12320 12321 12320 12322 12321 12322 12323 12324 12323 12325 12324 12325 12326 12327 12326 12328 12327 12328 12329 12330 12329 12331 12330 12331 12332 12333 12332 12334 12333 12334 12335 12336 12335 12337 12336 12337 12338 12339 12338 12340 12339 12340 12341 12342 12341 12343 12342 12343 12344 12345 12344 12346 12345 12346 12347 12348 12347 12349 12348 12349 12350 12351 12350 12352 12351 12352 12353 12354 12353 12355 12354 12355 12356 12357 12356 12358 12357 12358 12359 12360 12359 12361 12360 12361 12362 12363 12362 12364 12363 12364 12365 12366 12365 12367 12366 12367 12368 12369 12368 12370 12369 12370 12371 12372 12371 12373 12372 12373 12374 12375 12374 12376 12375 12376 12377 12378 12377 12379 12378 12379 12380 12381 12380 12382 12381 12382 12383 12384 12383 12385 12384 12385 12386 12387 12386 12388 12387 12388 12389 12390 12389 12391 12390 12391 12392 12393 12392 12394 12393 12394 12395 12396 12395 12397 12396 12397 12398 12399 12398 12400 12399 12400 12401 12402 12401 12403 12402 12403 12404 12405 12404 12406 12405 12406 12407 12408 12407 12409 12408 12409 12410 12411 12410 12412 12411 12412 12413 12414 12413 12415 12414 12415 12416 12417 12416 12418 12417 12418 12419 12420 12419 12421 12420 12421 12422 12423 12422 12424 12423 12424 12425 12426 12425 12427 12426 12427 12428 12429 12428 12430 12429 12430 12431 12432 12431 12433 12432 12433 12434 12435 12434 12436 12435 12436 12437 12438 12437 12439 12438 12439 12440 12441 12440 12442 12441 12442 12443 12444 12443 12445 12444 12445 12446 12447 12446 12448 12447 12448 12449 12450 12449 12451 12450 12451 12452 12453 12452 12454 12453 12454 12455 12456 12455 12457 12456 12457 12458 12459 12458 12460 12459 12460 12461 12462 12461 12463 12462 12463 12464 12465 12464 12466 12465 12466 12467 12468 12467 12469 12468 12469 12470 12471 12470 12472 12471 12472 12473 12474 12473 12475 12474 12475 12476 12477 12476 12478 12477 12478 12479 12480 12479 12481 12480 12481 12482 12483 12482 12484 12483 12484 12485 12486 12485 12487 12486 12487 12488 12489 12488 12490 12489 12490 12491 12492 12491 12493 12492 12493 12494 12495 12494 12496 12495 12496 12497 12498 12497 12499 12498 12499 12500 12501 12500 12502 12501 12502 12503 12504 12503 12505 12504 12505 12506 12507 12506 12508 12507 12508 12509 12510 12509 12511 12510 12511 12512 12513 12512 12514 12513 12514 12515 12516 12515 12517 12516 12517 12518 12519 12518 12520 12519 12520 12521 12522 12521 12523 12522 12523 12524 12525 12524 12526 12525 12526 12527 12528 12527 12529 12528 12529 12530 12531 12530 12532 12531 12532 12533 12534 12533 12535 12534 12535 12536 12537 12536 12538 12537 12538 12539 12540 12539 12541 12540 12541 12542 12543 12542 12544 12543 12544 12545 12546 12545 12547 12546 12547 12548 12549 12548 12550 12549 12550 12551 12552 12551 12553 12552 12553 12554 12555 12554 12556 12555 12556 12557 12558 12557 12559 12558 12559 12560 12561 12560 12562 12561 12562 12563 12564 12563 12565 12564 12565 12566 12567 12566 12568 12567 12568 12569 12570 12569 12571 12570 12571 12572 12573 12572 12574 12573 12574 12575 12576 12575 12577 12576 12577 12578 12579 12578 12580 12579 12580 12581 12582 12581 12583 12582 12583 12584 12585 12584 12586 12585 12586 12587 12588 12587 12589 12588 12589 12590 12591 12590 12592 12591 12592 12593 12594 12593 12595 12594 12595 12596 12597 12596 12598 12597 12598 12599 12600 12599 12601 12600 12601 12602 12603 12602 12604 12603 12604 12605 12606 12605 12607 12606 12607 12608 12609 12608 12610 12609 12610 12611 12612 12611 12613 12612 12613 12614 12615 12614 12616 12615 12616 12617 12618 12617 12619 12618 12619 12620 12621 12620 12622 12621 12622 12623 12624 12623 12625 12624 12625 12626 12627 12626 12628 12627 12628 12629 12630 12629 12631 12630 12631 12632 12633 12632 12634 12633 12634 12635 12636 12635 12637 12636 12637 12638 12639 12638 12640 12639 12640 12641 12642 12641 12643 12642 12643 12644 12645 12644 12646 12645 12646 12647 12648 12647 12649 12648 12649 12650 12651 12650 12652 12651 12652 12653 12654 12653 12655 12654 12655 12656 12657 12656 12658 12657 12658 12659 12660 12659 12661 12660 12661 12662 12663 12662 12664 12663 12664 12665 12666 12665 12667 12666 12667 12668 12669 12668 12670 12669 12670 12671 12672 12671 12673 12672 12673 12674 12675 12674 12676 12675 12676 12677 12678 12677 12679 12678 12679 12680 12681 12680 12682 12681 12682 12683 12684 12683 12685 12684 12685 12686 12687 12686 12688 12687 12688 12689 12690 12689 12691 12690 12691 12692 12693 12692 12694 12693 12694 12695 12696 12695 12697 12696 12697 12698 12699 12698 12700 12699 12700 12701 12702 12701 12703 12702 12703 12704 12705 12704 12706 12705 12706 12707 12708 12707 12709 12708 12709 12710 12711 12710 12712 12711 12712 12713 12714 12713 12715 12714 12715 12716 12717 12716 12718 12717 12718 12719 12720 12719 12721 12720 12721 12722 12723 12722 12724 12723 12724 12725 12726 12725 12727 12726 12727 12728 12729 12728 12730 12729 12730 12731 12732 12731 12733 12732 12733 12734 12735 12734 12736 12735 12736 12737 12738 12737 12739 12738 12739 12740 12741 12740 12742 12741 12742 12743 12744 12743 12745 12744 12745 12746 12747 12746 12748 12747 12748 12749 12750 12749 12751 12750 12751 12752 12753 12752 12754 12753 12754 12755 12756 12755 12757 12756 12757 12758 12759 12758 12760 12759 12760 12761 12762 12761 12763 12762 12763 12764 12765 12764 12766 12765 12766 12767 12768 12767 12769 12768 12769 12770 12771 12770 12772 12771 12772 12773 12774 12773 12775 12774 12775 12776 12777 12776 12778 12777 12778 12779 12780 12779 12781 12780 12781 12782 12783 12782 12784 12783 12784 12785 12786 12785 12787 12786 12787 12788 12789 12788 12790 12789 12790 12791 12792 12791 12793 12792 12793 12794 12795 12794 12796 12795 12796 12797 12798 12797 12799 12798 12799 12800 12801 12800 12802 12801 12802 12803 12804 12803 12805 12804 12805 12806 12807 12806 12808 12807 12808 12809 12810 12809 12811 12810 12811 12812 12813 12812 12814 12813 12814 12815 12816 12815 12817 12816 12817 12818 12819 12818 12820 12819 12820 12821 12822 12821 12823 12822 12823 12824 12825 12824 12826 12825 12826 12827 12828 12827 12829 12828 12829 12830 12831 12830 12832 12831 12832 12833 12834 12833 12835 12834 12835 12836 12837 12836 12838 12837 12838 12839 12840 12839 12841 12840 12841 12842 12843 12842 12844 12843 12844 12845 12846 12845 12847 12846 12847 12848 12849 12848 12850 12849 12850 12851 12852 12851 12853 12852 12853 12854 12855 12854 12856 12855 12856 12857 12858 12857 12859 12858 12859 12860 12861 12860 12862 12861 12862 12863 12864 12863 12865 12864 12865 12866 12867 12866 12868 12867 12868 12869 12870 12869 12871 12870 12871 12872 12873 12872 12874 12873 12874 12875 12876 12875 12877 12876 12877 12878 12879 12878 12880 12879 12880 12881 12882 12881 12883 12882 12883 12884 12885 12884 12886 12885 12886 12887 12888 12887 12889 12888 12889 12890 12891 12890 12892 12891 12892 12893 12894 12893 12895 12894 12895 12896 12897 12896 12898 12897 12898 12899 12900 12899 12901 12900 12901 12902 12903 12902 12904 12903 12904 12905 12906 12905 12907 12906 12907 12908 12909 12908 12910 12909 12910 12911 12912 12911 12913 12912 12913 12914 12915 12914 12916 12915 12916 12917 12918 12917 12919 12918 12919 12920 12921 12920 12922 12921 12922 12923 12924 12923 12925 12924 12925 12926 12927 12926 12928 12927 12928 12929 12930 12929 12931 12930 12931 12932 12933 12932 12934 12933 12934 12935 12936 12935 12937 12936 12937 12938 12939 12938 12940 12939 12940 12941 12942 12941 12943 12942 12943 12944 12945 12944 12946 12945 12946 12947 12948 12947 12949 12948 12949 12950 12951 12950 12952 12951 12952 12953 12954 12953 12955 12954 12955 12956 12957 12956 12958 12957 12958 12959 12960 12959 12961 12960 12961 12962 12963 12962 12964 12963 12964 12965 12966 12965 12967 12966 12967 12968 12969 12968 12970 12969 12970 12971 12972 12971 12973 12972 12973 12974 12975 12974 12976 12975 12976 12977 12978 12977 12979 12978 12979 12980 12981 12980 12982 12981 12982 12983 12984 12983 12985 12984 12985 12986 12987 12986 12988 12987 12988 12989 12990 12989 12991 12990 12991 12992 12993 12992 12994 12993 12994 12995 12996 12995 12997 12996 12997 12998 12999 12998 13000 12999 13000 13001 13002 13001 13003 13002 13003 13004 13005 13004 13006 13005 13006 13007 13008 13007 13009 13008 13009 13010 13011 13010 13012 13011 13012 13013 13014 13013 13015 13014 13015 13016 13017 13016 13018 13017 13018 13019 13020 13019 13021 13020 13021 13022 13023 13022 13024 13023 13024 13025 13026 13025 13027 13026 13027 13028 13029 13028 13030 13029 13030 13031 13032 13031 13033 13032 13033 13034 13035 13034 13036 13035 13036 13037 13038 13037 13039 13038 13039 13040 13041 13040 13042 13041 13042 13043 13044 13043 13045 13044 13045 13046 13047 13046 13048 13047 13048 13049 13050 13049 13051 13050 13051 13052 13053 13052 13054 13053 13054 13055 13056 13055 13057 13056 13057 13058 13059 13058 13060 13059 13060 13061 13062 13061 13063 13062 13063 13064 13065 13064 13066 13065 13066 13067 13068 13067 13069 13068 13069 13070 13071 13070 13072 13071 13072 13073 13074 13073 13075 13074 13075 13076 13077 13076 13078 13077 13078 13079 13080 13079 13081 13080 13081 13082 13083 13082 13084 13083 13084 13085 13086 13085 13087 13086 13087 13088 13089 13088 13090 13089 13090 13091 13092 13091 13093 13092 13093 13094 13095 13094 13096 13095 13096 13097 13098 13097 13099 13098 13099 13100 13101 13100 13102 13101 13102 13103 13104 13103 13105 13104 13105 13106 13107 13106 13108 13107 13108 13109 13110 13109 13111 13110 13111 13112 13113 13112 13114 13113 13114 13115 13116 13115 13117 13116 13117 13118 13119 13118 13120 13119 13120 13121 13122 13121 13123 13122 13123 13124 13125 13124 13126 13125 13126 13127 13128 13127 13129 13128 13129 13130 13131 13130 13132 13131 13132 13133 13134 13133 13135 13134 13135 13136 13137 13136 13138 13137 13138 13139 13140 13139 13141 13140 13141 13142 13143 13142 13144 13143 13144 13145 13146 13145 13147 13146 13147 13148 13149 13148 13150 13149 13150 13151 13152 13151 13153 13152 13153 13154 13155 13154 13156 13155 13156 13157 13158 13157 13159 13158 13159 13160 13161 13160 13162 13161 13162 13163 13164 13163 13165 13164 13165 13166 13167 13166 13168 13167 13168 13169 13170 13169 13171 13170 13171 13172 13173 13172 13174 13173 13174 13175 13176 13175 13177 13176 13177 13178 13179 13178 13180 13179 13180 13181 13182 13181 13183 13182 13183 13184 13185 13184 13186 13185 13186 13187 13188 13187 13189 13188 13189 13190 13191 13190 13192 13191 13192 13193 13194 13193 13195 13194 13195 13196 13197 13196 13198 13197 13198 13199 13200 13199 13201 13200 13201 13202 13203 13202 13204 13203 13204 13205 13206 13205 13207 13206 13207 13208 13209 13208 13210 13209 13210 13211 13212 13211 13213 13212 13213 13214 13215 13214 13216 13215 13216 13217 13218 13217 13219 13218 13219 13220 13221 13220 13222 13221 13222 13223 13224 13223 13225 13224 13225 13226 13227 13226 13228 13227 13228 13229 13230 13229 13231 13230 13231 13232 13233 13232 13234 13233 13234 13235 13236 13235 13237 13236 13237 13238 13239 13238 13240 13239 13240 13241 13242 13241 13243 13242 13243 13244 13245 13244 13246 13245 13246 13247 13248 13247 13249 13248 13249 13250 13251 13250 13252 13251 13252 13253 13254 13253 13255 13254 13255 13256 13257 13256 13258 13257 13258 13259 13260 13259 13261 13260 13261 13262 13263 13262 13264 13263 13264 13265 13266 13265 13267 13266 13267 13268 13269 13268 13270 13269 13270 13271 13272 13271 13273 13272 13273 13274 13275 13274 13276 13275 13276 13277 13278 13277 13279 13278 13279 13280 13281 13280 13282 13281 13282 13283 13284 13283 13285 13284 13285 13286 13287 13286 13288 13287 13288 13289 13290 13289 13291 13290 13291 13292 13293 13292 13294 13293 13294 13295 13296 13295 13297 13296 13297 13298 13299 13298 13300 13299 13300 13301 13302 13301 13303 13302 13303 13304 13305 13304 13306 13305 13306 13307 13308 13307 13309 13308 13309 13310 13311 13310 13312 13311 13312 13313 13314 13313 13315 13314 13315 13316 13317 13316 13318 13317 13318 13319 13320 13319 13321 13320 13321 13322 13323 13322 13324 13323 13324 13325 13326 13325 13327 13326 13327 13328 13329 13328 13330 13329 13330 13331 13332 13331 13333 13332 13333 13334 13335 13334 13336 13335 13336 13337 13338 13337 13339 13338 13339 13340 13341 13340 13342 13341 13342 13343 13344 13343 13345 13344 13345 13346 13347 13346 13348 13347 13348 13349 13350 13349 13351 13350 13351 13352 13353 13352 13354 13353 13354 13355 13356 13355 13357 13356 13357 13358 13359 13358 13360 13359 13360 13361 13362 13361 13363 13362 13363 13364 13365 13364 13366 13365 13366 13367 13368 13367 13369 13368 13369 13370 13371 13370 13372 13371 13372 13373 13374 13373 13375 13374 13375 13376 13377 13376 13378 13377 13378 13379 13380 13379 13381 13380 13381 13382 13383 13382 13384 13383 13384 13385 13386 13385 13387 13386 13387 13388 13389 13388 13390 13389 13390 13391 13392 13391 13393 13392 13393 13394 13395 13394 13396 13395 13396 13397 13398 13397 13399 13398 13399 13400 13401 13400 13402 13401 13402 13403 13404 13403 13405 13404 13405 13406 13407 13406 13408 13407 13408 13409 13410 13409 13411 13410 13411 13412 13413 13412 13414 13413 13414 13415 13416 13415 13417 13416 13417 13418 13419 13418 13420 13419 13420 13421 13422 13421 13423 13422 13423 13424 13425 13424 13426 13425 13426 13427 13428 13427 13429 13428 13429 13430 13431 13430 13432 13431 13432 13433 13434 13433 13435 13434 13435 13436 13437 13436 13438 13437 13438 13439 13440 13439 13441 13440 13441 13442 13443 13442 13444 13443 13444 13445 13446 13445 13447 13446 13447 13448 13449 13448 13450 13449 13450 13451 13452 13451 13453 13452 13453 13454 13455 13454 13456 13455 13456 13457 13458 13457 13459 13458 13459 13460 13461 13460 13462 13461 13462 13463 13464 13463 13465 13464 13465 13466 13467 13466 13468 13467 13468 13469 13470 13469 13471 13470 13471 13472 13473 13472 13474 13473 13474 13475 13476 13475 13477 13476 13477 13478 13479 13478 13480 13479 13480 13481 13482 13481 13483 13482 13483 13484 13485 13484 13486 13485 13486 13487 13488 13487 13489 13488 13489 13490 13491 13490 13492 13491 13492 13493 13494 13493 13495 13494 13495 13496 13497 13496 13498 13497 13498 13499 13500 13499 13501 13500 13501 13502 13503 13502 13504 13503 13504 13505 13506 13505 13507 13506 13507 13508 13509 13508 13510 13509 13510 13511 13512 13511 13513 13512 13513 13514 13515 13514 13516 13515 13516 13517 13518 13517 13519 13518 13519 13520 13521 13520 13522 13521 13522 13523 13524 13523 13525 13524 13525 13526 13527 13526 13528 13527 13528 13529 13530 13529 13531 13530 13531 13532 13533 13532 13534 13533 13534 13535 13536 13535 13537 13536 13537 13538 13539 13538 13540 13539 13540 13541 13542 13541 13543 13542 13543 13544 13545 13544 13546 13545 13546 13547 13548 13547 13549 13548 13549 13550 13551 13550 13552 13551 13552 13553 13554 13553 13555 13554 13555 13556 13557 13556 13558 13557 13558 13559 13560 13559 13561 13560 13561 13562 13563 13562 13564 13563 13564 13565 13566 13565 13567 13566 13567 13568 13569 13568 13570 13569 13570 13571 13572 13571 13573 13572 13573 13574 13575 13574 13576 13575 13576 13577 13578 13577 13579 13578 13579 13580 13581 13580 13582 13581 13582 13583 13584 13583 13585 13584 13585 13586 13587 13586 13588 13587 13588 13589 13590 13589 13591 13590 13591 13592 13593 13592 13594 13593 13594 13595 13596 13595 13597 13596 13597 13598 13599 13598 13600 13599 13600 13601 13602 13601 13603 13602 13603 13604 13605 13604 13606 13605 13606 13607 13608 13607 13609 13608 13609 13610 13611 13610 13612 13611 13612 13613 13614 13613 13615 13614 13615 13616 13617 13616 13618 13617 13618 13619 13620 13619 13621 13620 13621 13622 13623 13622 13624 13623 13624 13625 13626 13625 13627 13626 13627 13628 13629 13628 13630 13629 13630 13631 13632 13631 13633 13632 13633 13634 13635 13634 13636 13635 13636 13637 13638 13637 13639 13638 13639 13640 13641 13640 13642 13641 13642 13643 13644 13643 13645 13644 13645 13646 13647 13646 13648 13647 13648 13649 13650 13649 13651 13650 13651 13652 13653 13652 13654 13653 13654 13655 13656 13655 13657 13656 13657 13658 13659 13658 13660 13659 13660 13661 13662 13661 13663 13662 13663 13664 13665 13664 13666 13665 13666 13667 13668 13667 13669 13668 13669 13670 13671 13670 13672 13671 13672 13673 13674 13673 13675 13674 13675 13676 13677 13676 13678 13677 13678 13679 13680 13679 13681 13680 13681 13682 13683 13682 13684 13683 13684 13685 13686 13685 13687 13686 13687 13688 13689 13688 13690 13689 13690 13691 13692 13691 13693 13692 13693 13694 13695 13694 13696 13695 13696 13697 13698 13697 13699 13698 13699 13700 13701 13700 13702 13701 13702 13703 13704 13703 13705 13704 13705 13706 13707 13706 13708 13707 13708 13709 13710 13709 13711 13710 13711 13712 13713 13712 13714 13713 13714 13715 13716 13715 13717 13716 13717 13718 13719 13718 13720 13719 13720 13721 13722 13721 13723 13722 13723 13724 13725 13724 13726 13725 13726 13727 13728 13727 13729 13728 13729 13730 13731 13730 13732 13731 13732 13733 13734 13733 13735 13734 13735 13736 13737 13736 13738 13737 13738 13739 13740 13739 13741 13740 13741 13742 13743 13742 13744 13743 13744 13745 13746 13745 13747 13746 13747 13748 13749 13748 13750 13749 13750 13751 13752 13751 13753 13752 13753 13754 13755 13754 13756 13755 13756 13757 13758 13757 13759 13758 13759 13760 13761 13760 13762 13761 13762 13763 13764 13763 13765 13764 13765 13766 13767 13766 13768 13767 13768 13769 13770 13769 13771 13770 13771 13772 13773 13772 13774 13773 13774 13775 13776 13775 13777 13776 13777 13778 13779 13778 13780 13779 13780 13781 13782 13781 13783 13782 13783 13784 13785 13784 13786 13785 13786 13787 13788 13787 13789 13788 13789 13790 13791 13790 13792 13791 13792 13793 13794 13793 13795 13794 13795 13796 13797 13796 13798 13797 13798 13799 13800 13799 13801 13800 13801 13802 13803 13802 13804 13803 13804 13805 13806 13805 13807 13806 13807 13808 13809 13808 13810 13809 13810 13811 13812 13811 13813 13812 13813 13814 13815 13814 13816 13815 13816 13817 13818 13817 13819 13818 13819 13820 13821 13820 13822 13821 13822 13823 13824 13823 13825 13824 13825 13826 13827 13826 13828 13827 13828 13829 13830 13829 13831 13830 13831 13832 13833 13832 13834 13833 13834 13835 13836 13835 13837 13836 13837 13838 13839 13838 13840 13839 13840 13841 13842 13841 13843 13842 13843 13844 13845 13844 13846 13845 13846 13847 13848 13847 13849 13848 13849 13850 13851 13850 13852 13851 13852 13853 13854 13853 13855 13854 13855 13856 13857 13856 13858 13857 13858 13859 13860 13859 13861 13860 13861 13862 13863 13862 13864 13863 13864 13865 13866 13865 13867 13866 13867 13868 13869 13868 13870 13869 13870 13871 13872 13871 13873 13872 13873 13874 13875 13874 13876 13875 13876 13877 13878 13877 13879 13878 13879 13880 13881 13880 13882 13881 13882 13883 13884 13883 13885 13884 13885 13886 13887 13886 13888 13887 13888 13889 13890 13889 13891 13890 13891 13892 13893 13892 13894 13893 13894 13895 13896 13895 13897 13896 13897 13898 13899 13898 13900 13899 13900 13901 13902 13901 13903 13902 13903 13904 13905 13904 13906 13905 13906 13907 13908 13907 13909 13908 13909 13910 13911 13910 13912 13911 13912 13913 13914 13913 13915 13914 13915 13916 13917 13916 13918 13917 13918 13919 13920 13919 13921 13920 13921 13922 13923 13922 13924 13923 13924 13925 13926 13925 13927 13926 13927 13928 13929 13928 13930 13929 13930 13931 13932 13931 13933 13932 13933 13934 13935 13934 13936 13935 13936 13937 13938 13937 13939 13938 13939 13940 13941 13940 13942 13941 13942 13943 13944 13943 13945 13944 13945 13946 13947 13946 13948 13947 13948 13949 13950 13949 13951 13950 13951 13952 13953 13952 13954 13953 13954 13955 13956 13955 13957 13956 13957 13958 13959 13958 13960 13959 13960 13961 13962 13961 13963 13962 13963 13964 13965 13964 13966 13965 13966 13967 13968 13967 13969 13968 13969 13970 13971 13970 13972 13971 13972 13973 13974 13973 13975 13974 13975 13976 13977 13976 13978 13977 13978 13979 13980 13979 13981 13980 13981 13982 13983 13982 13984 13983 13984 13985 13986 13985 13987 13986 13987 13988 13989 13988 13990 13989 13990 13991 13992 13991 13993 13992 13993 13994 13995 13994 13996 13995 13996 13997 13998 13997 13999 13998 13999 14000 14001 14000 14002 14001 14002 14003 14004 14003 14005 14004 14005 14006 14007 14006 14008 14007 14008 14009 14010 14009 14011 14010 14011 14012 14013 14012 14014 14013 14014 14015 14016 14015 14017 14016 14017 14018 14019 14018 14020 14019 14020 14021 14022 14021 14023 14022 14023 14024 14025 14024 14026 14025 14026 14027 14028 14027 14029 14028 14029 14030 14031 14030 14032 14031 14032 14033 14034 14033 14035 14034 14035 14036 14037 14036 14038 14037 14038 14039 14040 14039 14041 14040 14041 14042 14043 14042 14044 14043 14044 14045 14046 14045 14047 14046 14047 14048 14049 14048 14050 14049 14050 14051 14052 14051 14053 14052 14053 14054 14055 14054 14056 14055 14056 14057 14058 14057 14059 14058 14059 14060 14061 14060 14062 14061 14062 14063 14064 14063 14065 14064 14065 14066 14067 14066 14068 14067 14068 14069 14070 14069 14071 14070 14071 14072 14073 14072 14074 14073 14074 14075 14076 14075 14077 14076 14077 14078 14079 14078 14080 14079 14080 14081 14082 14081 14083 14082 14083 14084 14085 14084 14086 14085 14086 14087 14088 14087 14089 14088 14089 14090 14091 14090 14092 14091 14092 14093 14094 14093 14095 14094 14095 14096 14097 14096 14098 14097 14098 14099 14100 14099 14101 14100 14101 14102 14103 14102 14104 14103 14104 14105 14106 14105 14107 14106 14107 14108 14109 14108 14110 14109 14110 14111 14112 14111 14113 14112 14113 14114 14115 14114 14116 14115 14116 14117 14118 14117 14119 14118 14119 14120 14121 14120 14122 14121 14122 14123 14124 14123 14125 14124 14125 14126 14127 14126 14128 14127 14128 14129 14130 14129 14131 14130 14131 14132 14133 14132 14134 14133 14134 14135 14136 14135 14137 14136 14137 14138 14139 14138 14140 14139 14140 14141 14142 14141 14143 14142 14143 14144 14145 14144 14146 14145 14146 14147 14148 14147 14149 14148 14149 14150 14151 14150 14152 14151 14152 14153 14154 14153 14155 14154 14155 14156 14157 14156 14158 14157 14158 14159 14160 14159 14161 14160 14161 14162 14163 14162 14164 14163 14164 14165 14166 14165 14167 14166 14167 14168 14169 14168 14170 14169 14170 14171 14172 14171 14173 14172 14173 14174 14175 14174 14176 14175 14176 14177 14178 14177 14179 14178 14179 14180 14181 14180 14182 14181 14182 14183 14184 14183 14185 14184 14185 14186 14187 14186 14188 14187 14188 14189 14190 14189 14191 14190 14191 14192 14193 14192 14194 14193 14194 14195 14196 14195 14197 14196 14197 14198 14199 14198 14200 14199 14200 14201 14202 14201 14203 14202 14203 14204 14205 14204 14206 14205 14206 14207 14208 14207 14209 14208 14209 14210 14211 14210 14212 14211 14212 14213 14214 14213 14215 14214 14215 14216 14217 14216 14218 14217 14218 14219 14220 14219 14221 14220 14221 14222 14223 14222 14224 14223 14224 14225 14226 14225 14227 14226 14227 14228 14229 14228 14230 14229 14230 14231 14232 14231 14233 14232 14233 14234 14235 14234 14236 14235 14236 14237 14238 14237 14239 14238 14239 14240 14241 14240 14242 14241 14242 14243 14244 14243 14245 14244 14245 14246 14247 14246 14248 14247 14248 14249 14250 14249 14251 14250 14251 14252 14253 14252 14254 14253 14254 14255 14256 14255 14257 14256 14257 14258 14259 14258 14260 14259 14260 14261 14262 14261 14263 14262 14263 14264 14265 14264 14266 14265 14266 14267 14268 14267 14269 14268 14269 14270 14271 14270 14272 14271 14272 14273 14274 14273 14275 14274 14275 14276 14277 14276 14278 14277 14278 14279 14280 14279 14281 14280 14281 6087 !NTHETA: angles 2 1 3 2 1 4 2 1 5 3 1 4 3 1 5 4 1 5 5 7 10 5 7 8 5 7 9 7 5 25 7 10 13 7 10 11 7 10 12 10 13 16 10 13 14 10 13 15 13 16 18 13 16 17 16 18 19 16 18 22 18 19 20 18 19 21 19 18 22 18 22 23 18 22 24 1 5 7 1 5 25 1 5 6 26 25 27 5 25 26 5 25 27 25 27 28 25 27 30 6 5 7 6 5 25 8 7 10 8 7 9 9 7 10 11 10 13 11 10 12 12 10 13 14 13 16 14 13 15 15 13 16 17 16 18 20 19 21 23 22 24 40 39 41 28 39 40 28 39 41 39 41 42 39 41 43 28 27 30 27 28 39 27 28 33 27 28 29 33 28 39 28 33 36 28 33 34 28 33 35 33 36 37 33 36 38 30 36 33 30 36 37 30 36 38 27 30 36 27 30 31 27 30 32 29 28 39 29 28 33 37 36 38 31 30 36 31 30 32 32 30 36 34 33 36 34 33 35 35 33 36 43 45 48 43 45 46 43 45 47 45 43 51 45 48 49 45 48 50 49 48 50 42 41 43 41 43 45 41 43 51 41 43 44 52 51 53 43 51 52 43 51 53 51 53 54 51 53 55 44 43 45 44 43 51 46 45 48 46 45 47 47 45 48 55 57 60 55 57 58 55 57 59 57 55 71 57 60 61 57 60 63 60 61 65 60 61 62 61 60 63 60 63 67 60 63 64 61 65 69 61 65 66 63 67 69 63 67 68 65 69 67 65 69 70 67 69 70 54 53 55 53 55 57 53 55 71 53 55 56 72 71 73 55 71 72 55 71 73 71 73 74 71 73 75 56 55 57 56 55 71 58 57 60 58 57 59 59 57 60 62 61 65 64 63 67 66 65 69 68 67 69 75 77 80 75 77 78 75 77 79 77 75 82 77 80 81 74 73 75 73 75 77 73 75 82 73 75 76 83 82 84 75 82 83 75 82 84 82 84 85 82 84 86 76 75 77 76 75 82 78 77 80 78 77 79 79 77 80 86 88 91 86 88 89 86 88 90 88 86 101 88 91 93 88 91 97 88 91 92 91 93 94 91 93 95 91 93 96 93 91 97 91 97 98 91 97 99 91 97 100 85 84 86 84 86 88 84 86 101 84 86 87 102 101 103 86 101 102 86 101 103 101 103 104 101 103 105 87 86 88 87 86 101 89 88 91 89 88 90 90 88 91 92 91 93 92 91 97 94 93 95 94 93 96 95 93 96 98 97 99 98 97 100 99 97 100 105 107 110 105 107 108 105 107 109 107 105 116 107 110 113 107 110 111 107 110 112 110 113 114 110 113 115 114 113 115 104 103 105 103 105 107 103 105 116 103 105 106 117 116 118 105 116 117 105 116 118 116 118 119 116 118 121 106 105 107 106 105 116 108 107 110 108 107 109 109 107 110 111 110 113 111 110 112 112 110 113 131 130 132 119 130 131 119 130 132 130 132 133 130 132 135 119 118 121 118 119 130 118 119 124 118 119 120 124 119 130 119 124 127 119 124 125 119 124 126 124 127 128 124 127 129 121 127 124 121 127 128 121 127 129 118 121 127 118 121 122 118 121 123 120 119 130 120 119 124 128 127 129 122 121 127 122 121 123 123 121 127 125 124 127 125 124 126 126 124 127 145 144 146 133 144 145 133 144 146 144 146 147 144 146 148 133 132 135 132 133 144 132 133 138 132 133 134 138 133 144 133 138 141 133 138 139 133 138 140 138 141 142 138 141 143 135 141 138 135 141 142 135 141 143 132 135 141 132 135 136 132 135 137 134 133 144 134 133 138 142 141 143 136 135 141 136 135 137 137 135 141 139 138 141 139 138 140 140 138 141 148 150 153 148 150 151 148 150 152 150 148 165 150 153 154 150 153 156 153 154 158 153 154 155 154 153 156 153 156 160 153 156 157 154 158 162 154 158 159 156 160 162 156 160 161 158 162 160 158 162 163 160 162 163 162 163 164 147 146 148 146 148 150 146 148 165 146 148 149 166 165 167 148 165 166 148 165 167 165 167 168 165 167 169 149 148 150 149 148 165 151 150 153 151 150 152 152 150 153 155 154 158 157 156 160 159 158 162 161 160 162 169 171 173 169 171 175 169 171 172 171 169 179 171 173 174 173 171 175 171 175 176 171 175 177 171 175 178 168 167 169 167 169 171 167 169 179 167 169 170 180 179 181 169 179 180 169 179 181 179 181 182 179 181 183 170 169 171 170 169 179 172 171 173 172 171 175 176 175 177 176 175 178 177 175 178 182 181 183 181 183 186 181 183 184 181 183 185 187 186 188 183 186 187 183 186 188 186 188 189 186 188 191 184 183 186 184 183 185 185 183 186 201 200 202 189 200 201 189 200 202 200 202 203 200 202 204 189 188 191 188 189 200 188 189 194 188 189 190 194 189 200 189 194 197 189 194 195 189 194 196 194 197 198 194 197 199 191 197 194 191 197 198 191 197 199 188 191 197 188 191 192 188 191 193 190 189 200 190 189 194 198 197 199 192 191 197 192 191 193 193 191 197 195 194 197 195 194 196 196 194 197 204 206 209 204 206 207 204 206 208 206 204 211 206 209 210 203 202 204 202 204 206 202 204 211 202 204 205 212 211 213 204 211 212 204 211 213 211 213 214 211 213 215 205 204 206 205 204 211 207 206 209 207 206 208 208 206 209 215 217 220 215 217 218 215 217 219 217 215 233 217 220 223 217 220 221 217 220 222 220 223 226 220 223 224 220 223 225 223 226 229 223 226 227 223 226 228 226 229 230 226 229 231 226 229 232 214 213 215 213 215 217 213 215 233 213 215 216 234 233 235 215 233 234 215 233 235 233 235 236 233 235 237 216 215 217 216 215 233 218 217 220 218 217 219 219 217 220 221 220 223 221 220 222 222 220 223 224 223 226 224 223 225 225 223 226 227 226 229 227 226 228 228 226 229 230 229 231 230 229 232 231 229 232 237 239 240 237 239 241 237 239 242 239 237 243 236 235 237 235 237 239 235 237 243 235 237 238 244 243 245 237 243 244 237 243 245 243 245 246 243 245 247 238 237 239 238 237 243 240 239 241 240 239 242 241 239 242 247 249 252 247 249 250 247 249 251 249 247 267 249 252 255 249 252 253 249 252 254 252 255 258 252 255 256 252 255 257 255 258 260 255 258 259 258 260 261 258 260 264 260 261 262 260 261 263 261 260 264 260 264 265 260 264 266 246 245 247 245 247 249 245 247 267 245 247 248 268 267 269 247 267 268 247 267 269 267 269 270 267 269 271 248 247 249 248 247 267 250 249 252 250 249 251 251 249 252 253 252 255 253 252 254 254 252 255 256 255 258 256 255 257 257 255 258 259 258 260 262 261 263 265 264 266 271 273 279 271 273 275 271 273 274 273 271 286 273 279 282 273 279 280 273 279 281 273 275 276 273 275 277 273 275 278 275 273 279 279 282 283 279 282 284 279 282 285 270 269 271 269 271 273 269 271 286 269 271 272 287 286 288 271 286 287 271 286 288 286 288 289 286 288 290 272 271 273 272 271 286 274 273 279 274 273 275 280 279 282 280 279 281 281 279 282 276 275 277 276 275 278 277 275 278 283 282 284 283 282 285 284 282 285 290 292 298 290 292 294 290 292 293 292 290 305 292 298 301 292 298 299 292 298 300 292 294 295 292 294 296 292 294 297 294 292 298 298 301 302 298 301 303 298 301 304 289 288 290 288 290 292 288 290 305 288 290 291 306 305 307 290 305 306 290 305 307 305 307 308 305 307 309 291 290 292 291 290 305 293 292 298 293 292 294 299 298 301 299 298 300 300 298 301 295 294 296 295 294 297 296 294 297 302 301 303 302 301 304 303 301 304 309 311 314 309 311 312 309 311 313 311 309 329 311 314 317 311 314 315 311 314 316 314 317 320 314 317 318 314 317 319 317 320 322 317 320 321 320 322 323 320 322 326 322 323 324 322 323 325 323 322 326 322 326 327 322 326 328 308 307 309 307 309 311 307 309 329 307 309 310 330 329 331 309 329 330 309 329 331 329 331 332 329 331 333 310 309 311 310 309 329 312 311 314 312 311 313 313 311 314 315 314 317 315 314 316 316 314 317 318 317 320 318 317 319 319 317 320 321 320 322 324 323 325 327 326 328 333 335 338 333 335 336 333 335 337 335 333 350 335 338 339 335 338 341 338 339 343 338 339 340 339 338 341 338 341 345 338 341 342 339 343 347 339 343 344 341 345 347 341 345 346 343 347 345 343 347 348 345 347 348 347 348 349 332 331 333 331 333 335 331 333 350 331 333 334 351 350 352 333 350 351 333 350 352 350 352 353 350 352 354 334 333 335 334 333 350 336 335 338 336 335 337 337 335 338 340 339 343 342 341 345 344 343 347 346 345 347 354 356 359 354 356 357 354 356 358 356 354 370 356 359 360 356 359 362 359 360 364 359 360 361 360 359 362 359 362 366 359 362 363 360 364 368 360 364 365 362 366 368 362 366 367 364 368 366 364 368 369 366 368 369 353 352 354 352 354 356 352 354 370 352 354 355 371 370 372 354 370 371 354 370 372 370 372 373 370 372 374 355 354 356 355 354 370 357 356 359 357 356 358 358 356 359 361 360 364 363 362 366 365 364 368 367 366 368 374 376 379 374 376 377 374 376 378 376 374 391 376 379 380 376 379 382 379 380 384 379 380 381 380 379 382 379 382 386 379 382 383 380 384 388 380 384 385 382 386 388 382 386 387 384 388 386 384 388 389 386 388 389 388 389 390 373 372 374 372 374 376 372 374 391 372 374 375 392 391 393 374 391 392 374 391 393 391 393 394 391 393 395 375 374 376 375 374 391 377 376 379 377 376 378 378 376 379 381 380 384 383 382 386 385 384 388 387 386 388 395 397 400 395 397 398 395 397 399 397 395 405 397 400 401 397 400 402 401 400 402 400 402 403 400 402 404 394 393 395 393 395 397 393 395 405 393 395 396 406 405 407 395 405 406 395 405 407 405 407 408 405 407 409 396 395 397 396 395 405 398 397 400 398 397 399 399 397 400 403 402 404 409 411 412 409 411 413 409 411 414 411 409 415 408 407 409 407 409 411 407 409 415 407 409 410 416 415 417 409 415 416 409 415 417 415 417 418 415 417 419 410 409 411 410 409 415 412 411 413 412 411 414 413 411 414 419 421 424 419 421 422 419 421 423 421 419 437 421 424 427 421 424 425 421 424 426 424 427 430 424 427 428 424 427 429 427 430 433 427 430 431 427 430 432 430 433 434 430 433 435 430 433 436 418 417 419 417 419 421 417 419 437 417 419 420 438 437 439 419 437 438 419 437 439 437 439 440 437 439 441 420 419 421 420 419 437 422 421 424 422 421 423 423 421 424 425 424 427 425 424 426 426 424 427 428 427 430 428 427 429 429 427 430 431 430 433 431 430 432 432 430 433 434 433 435 434 433 436 435 433 436 441 443 444 441 443 445 441 443 446 443 441 447 440 439 441 439 441 443 439 441 447 439 441 442 448 447 449 441 447 448 441 447 449 447 449 450 447 449 451 442 441 443 442 441 447 444 443 445 444 443 446 445 443 446 450 449 451 449 451 454 449 451 452 449 451 453 455 454 456 451 454 455 451 454 456 454 456 457 454 456 458 452 451 454 452 451 453 453 451 454 458 460 463 458 460 461 458 460 462 460 458 473 460 463 465 460 463 469 460 463 464 463 465 466 463 465 467 463 465 468 465 463 469 463 469 470 463 469 471 463 469 472 457 456 458 456 458 460 456 458 473 456 458 459 474 473 475 458 473 474 458 473 475 473 475 476 473 475 477 459 458 460 459 458 473 461 460 463 461 460 462 462 460 463 464 463 465 464 463 469 466 465 467 466 465 468 467 465 468 470 469 471 470 469 472 471 469 472 477 479 482 477 479 480 477 479 481 479 477 484 479 482 483 476 475 477 475 477 479 475 477 484 475 477 478 485 484 486 477 484 485 477 484 486 484 486 487 484 486 488 478 477 479 478 477 484 480 479 482 480 479 481 481 479 482 488 490 493 488 490 491 488 490 492 490 488 501 490 493 496 490 493 494 490 493 495 493 496 497 493 496 498 497 496 498 496 498 499 496 498 500 487 486 488 486 488 490 486 488 501 486 488 489 502 501 503 488 501 502 488 501 503 501 503 504 501 503 505 489 488 490 489 488 501 491 490 493 491 490 492 492 490 493 494 493 496 494 493 495 495 493 496 499 498 500 505 507 509 505 507 511 505 507 508 507 505 515 507 509 510 509 507 511 507 511 512 507 511 513 507 511 514 504 503 505 503 505 507 503 505 515 503 505 506 516 515 517 505 515 516 505 515 517 515 517 518 515 517 519 506 505 507 506 505 515 508 507 509 508 507 511 512 511 513 512 511 514 513 511 514 519 521 524 519 521 522 519 521 523 521 519 535 521 524 525 521 524 527 524 525 529 524 525 526 525 524 527 524 527 531 524 527 528 525 529 533 525 529 530 527 531 533 527 531 532 529 533 531 529 533 534 531 533 534 518 517 519 517 519 521 517 519 535 517 519 520 536 535 537 519 535 536 519 535 537 535 537 538 535 537 539 520 519 521 520 519 535 522 521 524 522 521 523 523 521 524 526 525 529 528 527 531 530 529 533 532 531 533 539 541 543 539 541 547 539 541 542 541 539 551 541 543 544 541 543 545 541 543 546 543 541 547 541 547 548 541 547 549 541 547 550 538 537 539 537 539 541 537 539 551 537 539 540 552 551 553 539 551 552 539 551 553 551 553 554 551 553 555 540 539 541 540 539 551 542 541 543 542 541 547 544 543 545 544 543 546 545 543 546 548 547 549 548 547 550 549 547 550 555 557 560 555 557 558 555 557 559 557 555 572 557 560 561 557 560 563 560 561 565 560 561 562 561 560 563 560 563 567 560 563 564 561 565 569 561 565 566 563 567 569 563 567 568 565 569 567 565 569 570 567 569 570 569 570 571 554 553 555 553 555 557 553 555 572 553 555 556 573 572 574 555 572 573 555 572 574 572 574 575 572 574 576 556 555 557 556 555 572 558 557 560 558 557 559 559 557 560 562 561 565 564 563 567 566 565 569 568 567 569 575 574 576 574 576 579 574 576 577 574 576 578 580 579 581 576 579 580 576 579 581 579 581 582 579 581 583 577 576 579 577 576 578 578 576 579 582 581 583 581 583 586 581 583 584 581 583 585 587 586 588 583 586 587 583 586 588 586 588 589 586 588 590 584 583 586 584 583 585 585 583 586 590 592 595 590 592 593 590 592 594 592 590 597 592 595 596 589 588 590 588 590 592 588 590 597 588 590 591 598 597 599 590 597 598 590 597 599 597 599 600 597 599 601 591 590 592 591 590 597 593 592 595 593 592 594 594 592 595 601 603 606 601 603 604 601 603 605 603 601 621 603 606 609 603 606 607 603 606 608 606 609 612 606 609 610 606 609 611 609 612 614 609 612 613 612 614 615 612 614 618 614 615 616 614 615 617 615 614 618 614 618 619 614 618 620 600 599 601 599 601 603 599 601 621 599 601 602 622 621 623 601 621 622 601 621 623 621 623 624 621 623 625 602 601 603 602 601 621 604 603 606 604 603 605 605 603 606 607 606 609 607 606 608 608 606 609 610 609 612 610 609 611 611 609 612 613 612 614 616 615 617 619 618 620 625 627 628 625 627 629 625 627 630 627 625 631 624 623 625 623 625 627 623 625 631 623 625 626 632 631 633 625 631 632 625 631 633 631 633 634 631 633 635 626 625 627 626 625 631 628 627 629 628 627 630 629 627 630 635 637 640 635 637 638 635 637 639 637 635 653 637 640 643 637 640 641 637 640 642 640 643 646 640 643 644 640 643 645 643 646 649 643 646 647 643 646 648 646 649 650 646 649 651 646 649 652 634 633 635 633 635 637 633 635 653 633 635 636 654 653 655 635 653 654 635 653 655 653 655 656 653 655 657 636 635 637 636 635 653 638 637 640 638 637 639 639 637 640 641 640 643 641 640 642 642 640 643 644 643 646 644 643 645 645 643 646 647 646 649 647 646 648 648 646 649 650 649 651 650 649 652 651 649 652 657 659 662 657 659 660 657 659 661 659 657 677 659 662 665 659 662 663 659 662 664 662 665 668 662 665 666 662 665 667 665 668 670 665 668 669 668 670 671 668 670 674 670 671 672 670 671 673 671 670 674 670 674 675 670 674 676 656 655 657 655 657 659 655 657 677 655 657 658 678 677 679 657 677 678 657 677 679 677 679 680 677 679 681 658 657 659 658 657 677 660 659 662 660 659 661 661 659 662 663 662 665 663 662 664 664 662 665 666 665 668 666 665 667 667 665 668 669 668 670 672 671 673 675 674 676 681 683 686 681 683 684 681 683 685 683 681 691 683 686 687 683 686 688 687 686 688 686 688 689 686 688 690 680 679 681 679 681 683 679 681 691 679 681 682 692 691 693 681 691 692 681 691 693 691 693 694 691 693 695 682 681 683 682 681 691 684 683 686 684 683 685 685 683 686 689 688 690 695 697 700 695 697 698 695 697 699 697 695 705 697 700 701 697 700 702 701 700 702 700 702 703 700 702 704 694 693 695 693 695 697 693 695 705 693 695 696 706 705 707 695 705 706 695 705 707 705 707 708 705 707 709 696 695 697 696 695 705 698 697 700 698 697 699 699 697 700 703 702 704 709 711 714 709 711 712 709 711 713 711 709 725 711 714 715 711 714 717 714 715 719 714 715 716 715 714 717 714 717 721 714 717 718 715 719 723 715 719 720 717 721 723 717 721 722 719 723 721 719 723 724 721 723 724 708 707 709 707 709 711 707 709 725 707 709 710 726 725 727 709 725 726 709 725 727 725 727 728 725 727 729 710 709 711 710 709 725 712 711 714 712 711 713 713 711 714 716 715 719 718 717 721 720 719 723 722 721 723 729 731 734 729 731 732 729 731 733 731 729 747 731 734 737 731 734 735 731 734 736 734 737 740 734 737 738 734 737 739 737 740 743 737 740 741 737 740 742 740 743 744 740 743 745 740 743 746 728 727 729 727 729 731 727 729 747 727 729 730 748 747 749 729 747 748 729 747 749 747 749 750 747 749 751 730 729 731 730 729 747 732 731 734 732 731 733 733 731 734 735 734 737 735 734 736 736 734 737 738 737 740 738 737 739 739 737 740 741 740 743 741 740 742 742 740 743 744 743 745 744 743 746 745 743 746 751 753 756 751 753 754 751 753 755 753 751 758 753 756 757 750 749 751 749 751 753 749 751 758 749 751 752 759 758 760 751 758 759 751 758 760 758 760 761 758 760 762 752 751 753 752 751 758 754 753 756 754 753 755 755 753 756 762 764 765 762 764 766 762 764 767 764 762 768 761 760 762 760 762 764 760 762 768 760 762 763 769 768 770 762 768 769 762 768 770 768 770 771 768 770 772 763 762 764 763 762 768 765 764 766 765 764 767 766 764 767 772 774 777 772 774 775 772 774 776 774 772 783 774 777 780 774 777 778 774 777 779 777 780 781 777 780 782 781 780 782 771 770 772 770 772 774 770 772 783 770 772 773 784 783 785 772 783 784 772 783 785 783 785 786 783 785 787 773 772 774 773 772 783 775 774 777 775 774 776 776 774 777 778 777 780 778 777 779 779 777 780 787 789 792 787 789 790 787 789 791 789 787 795 789 792 793 789 792 794 793 792 794 786 785 787 785 787 789 785 787 795 785 787 788 796 795 797 787 795 796 787 795 797 795 797 798 795 797 799 788 787 789 788 787 795 790 789 792 790 789 791 791 789 792 799 801 804 799 801 802 799 801 803 801 799 806 801 804 805 798 797 799 797 799 801 797 799 806 797 799 800 807 806 808 799 806 807 799 806 808 806 808 809 806 808 810 800 799 801 800 799 806 802 801 804 802 801 803 803 801 804 810 812 815 810 812 813 810 812 814 812 810 823 812 815 818 812 815 816 812 815 817 815 818 819 818 819 820 818 819 821 818 819 822 809 808 810 808 810 812 808 810 823 808 810 811 824 823 825 810 823 824 810 823 825 823 825 826 823 825 827 811 810 812 811 810 823 813 812 815 813 812 814 814 812 815 816 815 818 816 815 817 817 815 818 820 819 821 820 819 822 821 819 822 827 829 832 827 829 830 827 829 831 829 827 847 829 832 835 829 832 833 829 832 834 832 835 838 832 835 836 832 835 837 835 838 840 835 838 839 838 840 841 838 840 844 840 841 842 840 841 843 841 840 844 840 844 845 840 844 846 826 825 827 825 827 829 825 827 847 825 827 828 848 847 849 827 847 848 827 847 849 847 849 850 847 849 851 828 827 829 828 827 847 830 829 832 830 829 831 831 829 832 833 832 835 833 832 834 834 832 835 836 835 838 836 835 837 837 835 838 839 838 840 842 841 843 845 844 846 851 853 855 851 853 857 851 853 854 853 851 861 853 855 856 855 853 857 853 857 858 853 857 859 853 857 860 850 849 851 849 851 853 849 851 861 849 851 852 862 861 863 851 861 862 851 861 863 861 863 864 861 863 865 852 851 853 852 851 861 854 853 855 854 853 857 858 857 859 858 857 860 859 857 860 865 867 870 865 867 868 865 867 869 867 865 872 867 870 871 864 863 865 863 865 867 863 865 872 863 865 866 873 872 874 865 872 873 865 872 874 872 874 875 872 874 876 866 865 867 866 865 872 868 867 870 868 867 869 869 867 870 875 874 876 874 876 879 874 876 877 874 876 878 880 879 881 876 879 880 876 879 881 879 881 882 879 881 883 877 876 879 877 876 878 878 876 879 882 881 883 881 883 886 881 883 884 881 883 885 887 886 888 883 886 887 883 886 888 886 888 889 886 888 890 884 883 886 884 883 885 885 883 886 890 892 893 890 892 894 890 892 895 892 890 896 889 888 890 888 890 892 888 890 896 888 890 891 890 896 897 890 896 898 891 890 892 891 890 896 893 892 894 893 892 895 894 892 895 897 896 898 900 899 901 903 902 904 906 905 907 909 908 910 912 911 913 915 914 916 918 917 919 921 920 922 924 923 925 927 926 928 930 929 931 933 932 934 936 935 937 939 938 940 942 941 943 945 944 946 948 947 949 951 950 952 954 953 955 957 956 958 960 959 961 963 962 964 966 965 967 969 968 970 972 971 973 975 974 976 978 977 979 981 980 982 984 983 985 987 986 988 990 989 991 993 992 994 996 995 997 999 998 1000 1002 1001 1003 1005 1004 1006 1008 1007 1009 1011 1010 1012 1014 1013 1015 1017 1016 1018 1020 1019 1021 1023 1022 1024 1026 1025 1027 1029 1028 1030 1032 1031 1033 1035 1034 1036 1038 1037 1039 1041 1040 1042 1044 1043 1045 1047 1046 1048 1050 1049 1051 1053 1052 1054 1056 1055 1057 1059 1058 1060 1062 1061 1063 1065 1064 1066 1068 1067 1069 1071 1070 1072 1074 1073 1075 1077 1076 1078 1080 1079 1081 1083 1082 1084 1086 1085 1087 1089 1088 1090 1092 1091 1093 1095 1094 1096 1098 1097 1099 1101 1100 1102 1104 1103 1105 1107 1106 1108 1110 1109 1111 1113 1112 1114 1116 1115 1117 1119 1118 1120 1122 1121 1123 1125 1124 1126 1128 1127 1129 1131 1130 1132 1134 1133 1135 1137 1136 1138 1140 1139 1141 1143 1142 1144 1146 1145 1147 1149 1148 1150 1152 1151 1153 1155 1154 1156 1158 1157 1159 1161 1160 1162 1164 1163 1165 1167 1166 1168 1170 1169 1171 1173 1172 1174 1176 1175 1177 1179 1178 1180 1182 1181 1183 1185 1184 1186 1188 1187 1189 1191 1190 1192 1194 1193 1195 1197 1196 1198 1200 1199 1201 1203 1202 1204 1206 1205 1207 1209 1208 1210 1212 1211 1213 1215 1214 1216 1218 1217 1219 1221 1220 1222 1224 1223 1225 1227 1226 1228 1230 1229 1231 1233 1232 1234 1236 1235 1237 1239 1238 1240 1242 1241 1243 1245 1244 1246 1248 1247 1249 1251 1250 1252 1254 1253 1255 1257 1256 1258 1260 1259 1261 1263 1262 1264 1266 1265 1267 1269 1268 1270 1272 1271 1273 1275 1274 1276 1278 1277 1279 1281 1280 1282 1284 1283 1285 1287 1286 1288 1290 1289 1291 1293 1292 1294 1296 1295 1297 1299 1298 1300 1302 1301 1303 1305 1304 1306 1308 1307 1309 1311 1310 1312 1314 1313 1315 1317 1316 1318 1320 1319 1321 1323 1322 1324 1326 1325 1327 1329 1328 1330 1332 1331 1333 1335 1334 1336 1338 1337 1339 1341 1340 1342 1344 1343 1345 1347 1346 1348 1350 1349 1351 1353 1352 1354 1356 1355 1357 1359 1358 1360 1362 1361 1363 1365 1364 1366 1368 1367 1369 1371 1370 1372 1374 1373 1375 1377 1376 1378 1380 1379 1381 1383 1382 1384 1386 1385 1387 1389 1388 1390 1392 1391 1393 1395 1394 1396 1398 1397 1399 1401 1400 1402 1404 1403 1405 1407 1406 1408 1410 1409 1411 1413 1412 1414 1416 1415 1417 1419 1418 1420 1422 1421 1423 1425 1424 1426 1428 1427 1429 1431 1430 1432 1434 1433 1435 1437 1436 1438 1440 1439 1441 1443 1442 1444 1446 1445 1447 1449 1448 1450 1452 1451 1453 1455 1454 1456 1458 1457 1459 1461 1460 1462 1464 1463 1465 1467 1466 1468 1470 1469 1471 1473 1472 1474 1476 1475 1477 1479 1478 1480 1482 1481 1483 1485 1484 1486 1488 1487 1489 1491 1490 1492 1494 1493 1495 1497 1496 1498 1500 1499 1501 1503 1502 1504 1506 1505 1507 1509 1508 1510 1512 1511 1513 1515 1514 1516 1518 1517 1519 1521 1520 1522 1524 1523 1525 1527 1526 1528 1530 1529 1531 1533 1532 1534 1536 1535 1537 1539 1538 1540 1542 1541 1543 1545 1544 1546 1548 1547 1549 1551 1550 1552 1554 1553 1555 1557 1556 1558 1560 1559 1561 1563 1562 1564 1566 1565 1567 1569 1568 1570 1572 1571 1573 1575 1574 1576 1578 1577 1579 1581 1580 1582 1584 1583 1585 1587 1586 1588 1590 1589 1591 1593 1592 1594 1596 1595 1597 1599 1598 1600 1602 1601 1603 1605 1604 1606 1608 1607 1609 1611 1610 1612 1614 1613 1615 1617 1616 1618 1620 1619 1621 1623 1622 1624 1626 1625 1627 1629 1628 1630 1632 1631 1633 1635 1634 1636 1638 1637 1639 1641 1640 1642 1644 1643 1645 1647 1646 1648 1650 1649 1651 1653 1652 1654 1656 1655 1657 1659 1658 1660 1662 1661 1663 1665 1664 1666 1668 1667 1669 1671 1670 1672 1674 1673 1675 1677 1676 1678 1680 1679 1681 1683 1682 1684 1686 1685 1687 1689 1688 1690 1692 1691 1693 1695 1694 1696 1698 1697 1699 1701 1700 1702 1704 1703 1705 1707 1706 1708 1710 1709 1711 1713 1712 1714 1716 1715 1717 1719 1718 1720 1722 1721 1723 1725 1724 1726 1728 1727 1729 1731 1730 1732 1734 1733 1735 1737 1736 1738 1740 1739 1741 1743 1742 1744 1746 1745 1747 1749 1748 1750 1752 1751 1753 1755 1754 1756 1758 1757 1759 1761 1760 1762 1764 1763 1765 1767 1766 1768 1770 1769 1771 1773 1772 1774 1776 1775 1777 1779 1778 1780 1782 1781 1783 1785 1784 1786 1788 1787 1789 1791 1790 1792 1794 1793 1795 1797 1796 1798 1800 1799 1801 1803 1802 1804 1806 1805 1807 1809 1808 1810 1812 1811 1813 1815 1814 1816 1818 1817 1819 1821 1820 1822 1824 1823 1825 1827 1826 1828 1830 1829 1831 1833 1832 1834 1836 1835 1837 1839 1838 1840 1842 1841 1843 1845 1844 1846 1848 1847 1849 1851 1850 1852 1854 1853 1855 1857 1856 1858 1860 1859 1861 1863 1862 1864 1866 1865 1867 1869 1868 1870 1872 1871 1873 1875 1874 1876 1878 1877 1879 1881 1880 1882 1884 1883 1885 1887 1886 1888 1890 1889 1891 1893 1892 1894 1896 1895 1897 1899 1898 1900 1902 1901 1903 1905 1904 1906 1908 1907 1909 1911 1910 1912 1914 1913 1915 1917 1916 1918 1920 1919 1921 1923 1922 1924 1926 1925 1927 1929 1928 1930 1932 1931 1933 1935 1934 1936 1938 1937 1939 1941 1940 1942 1944 1943 1945 1947 1946 1948 1950 1949 1951 1953 1952 1954 1956 1955 1957 1959 1958 1960 1962 1961 1963 1965 1964 1966 1968 1967 1969 1971 1970 1972 1974 1973 1975 1977 1976 1978 1980 1979 1981 1983 1982 1984 1986 1985 1987 1989 1988 1990 1992 1991 1993 1995 1994 1996 1998 1997 1999 2001 2000 2002 2004 2003 2005 2007 2006 2008 2010 2009 2011 2013 2012 2014 2016 2015 2017 2019 2018 2020 2022 2021 2023 2025 2024 2026 2028 2027 2029 2031 2030 2032 2034 2033 2035 2037 2036 2038 2040 2039 2041 2043 2042 2044 2046 2045 2047 2049 2048 2050 2052 2051 2053 2055 2054 2056 2058 2057 2059 2061 2060 2062 2064 2063 2065 2067 2066 2068 2070 2069 2071 2073 2072 2074 2076 2075 2077 2079 2078 2080 2082 2081 2083 2085 2084 2086 2088 2087 2089 2091 2090 2092 2094 2093 2095 2097 2096 2098 2100 2099 2101 2103 2102 2104 2106 2105 2107 2109 2108 2110 2112 2111 2113 2115 2114 2116 2118 2117 2119 2121 2120 2122 2124 2123 2125 2127 2126 2128 2130 2129 2131 2133 2132 2134 2136 2135 2137 2139 2138 2140 2142 2141 2143 2145 2144 2146 2148 2147 2149 2151 2150 2152 2154 2153 2155 2157 2156 2158 2160 2159 2161 2163 2162 2164 2166 2165 2167 2169 2168 2170 2172 2171 2173 2175 2174 2176 2178 2177 2179 2181 2180 2182 2184 2183 2185 2187 2186 2188 2190 2189 2191 2193 2192 2194 2196 2195 2197 2199 2198 2200 2202 2201 2203 2205 2204 2206 2208 2207 2209 2211 2210 2212 2214 2213 2215 2217 2216 2218 2220 2219 2221 2223 2222 2224 2226 2225 2227 2229 2228 2230 2232 2231 2233 2235 2234 2236 2238 2237 2239 2241 2240 2242 2244 2243 2245 2247 2246 2248 2250 2249 2251 2253 2252 2254 2256 2255 2257 2259 2258 2260 2262 2261 2263 2265 2264 2266 2268 2267 2269 2271 2270 2272 2274 2273 2275 2277 2276 2278 2280 2279 2281 2283 2282 2284 2286 2285 2287 2289 2288 2290 2292 2291 2293 2295 2294 2296 2298 2297 2299 2301 2300 2302 2304 2303 2305 2307 2306 2308 2310 2309 2311 2313 2312 2314 2316 2315 2317 2319 2318 2320 2322 2321 2323 2325 2324 2326 2328 2327 2329 2331 2330 2332 2334 2333 2335 2337 2336 2338 2340 2339 2341 2343 2342 2344 2346 2345 2347 2349 2348 2350 2352 2351 2353 2355 2354 2356 2358 2357 2359 2361 2360 2362 2364 2363 2365 2367 2366 2368 2370 2369 2371 2373 2372 2374 2376 2375 2377 2379 2378 2380 2382 2381 2383 2385 2384 2386 2388 2387 2389 2391 2390 2392 2394 2393 2395 2397 2396 2398 2400 2399 2401 2403 2402 2404 2406 2405 2407 2409 2408 2410 2412 2411 2413 2415 2414 2416 2418 2417 2419 2421 2420 2422 2424 2423 2425 2427 2426 2428 2430 2429 2431 2433 2432 2434 2436 2435 2437 2439 2438 2440 2442 2441 2443 2445 2444 2446 2448 2447 2449 2451 2450 2452 2454 2453 2455 2457 2456 2458 2460 2459 2461 2463 2462 2464 2466 2465 2467 2469 2468 2470 2472 2471 2473 2475 2474 2476 2478 2477 2479 2481 2480 2482 2484 2483 2485 2487 2486 2488 2490 2489 2491 2493 2492 2494 2496 2495 2497 2499 2498 2500 2502 2501 2503 2505 2504 2506 2508 2507 2509 2511 2510 2512 2514 2513 2515 2517 2516 2518 2520 2519 2521 2523 2522 2524 2526 2525 2527 2529 2528 2530 2532 2531 2533 2535 2534 2536 2538 2537 2539 2541 2540 2542 2544 2543 2545 2547 2546 2548 2550 2549 2551 2553 2552 2554 2556 2555 2557 2559 2558 2560 2562 2561 2563 2565 2564 2566 2568 2567 2569 2571 2570 2572 2574 2573 2575 2577 2576 2578 2580 2579 2581 2583 2582 2584 2586 2585 2587 2589 2588 2590 2592 2591 2593 2595 2594 2596 2598 2597 2599 2601 2600 2602 2604 2603 2605 2607 2606 2608 2610 2609 2611 2613 2612 2614 2616 2615 2617 2619 2618 2620 2622 2621 2623 2625 2624 2626 2628 2627 2629 2631 2630 2632 2634 2633 2635 2637 2636 2638 2640 2639 2641 2643 2642 2644 2646 2645 2647 2649 2648 2650 2652 2651 2653 2655 2654 2656 2658 2657 2659 2661 2660 2662 2664 2663 2665 2667 2666 2668 2670 2669 2671 2673 2672 2674 2676 2675 2677 2679 2678 2680 2682 2681 2683 2685 2684 2686 2688 2687 2689 2691 2690 2692 2694 2693 2695 2697 2696 2698 2700 2699 2701 2703 2702 2704 2706 2705 2707 2709 2708 2710 2712 2711 2713 2715 2714 2716 2718 2717 2719 2721 2720 2722 2724 2723 2725 2727 2726 2728 2730 2729 2731 2733 2732 2734 2736 2735 2737 2739 2738 2740 2742 2741 2743 2745 2744 2746 2748 2747 2749 2751 2750 2752 2754 2753 2755 2757 2756 2758 2760 2759 2761 2763 2762 2764 2766 2765 2767 2769 2768 2770 2772 2771 2773 2775 2774 2776 2778 2777 2779 2781 2780 2782 2784 2783 2785 2787 2786 2788 2790 2789 2791 2793 2792 2794 2796 2795 2797 2799 2798 2800 2802 2801 2803 2805 2804 2806 2808 2807 2809 2811 2810 2812 2814 2813 2815 2817 2816 2818 2820 2819 2821 2823 2822 2824 2826 2825 2827 2829 2828 2830 2832 2831 2833 2835 2834 2836 2838 2837 2839 2841 2840 2842 2844 2843 2845 2847 2846 2848 2850 2849 2851 2853 2852 2854 2856 2855 2857 2859 2858 2860 2862 2861 2863 2865 2864 2866 2868 2867 2869 2871 2870 2872 2874 2873 2875 2877 2876 2878 2880 2879 2881 2883 2882 2884 2886 2885 2887 2889 2888 2890 2892 2891 2893 2895 2894 2896 2898 2897 2899 2901 2900 2902 2904 2903 2905 2907 2906 2908 2910 2909 2911 2913 2912 2914 2916 2915 2917 2919 2918 2920 2922 2921 2923 2925 2924 2926 2928 2927 2929 2931 2930 2932 2934 2933 2935 2937 2936 2938 2940 2939 2941 2943 2942 2944 2946 2945 2947 2949 2948 2950 2952 2951 2953 2955 2954 2956 2958 2957 2959 2961 2960 2962 2964 2963 2965 2967 2966 2968 2970 2969 2971 2973 2972 2974 2976 2975 2977 2979 2978 2980 2982 2981 2983 2985 2984 2986 2988 2987 2989 2991 2990 2992 2994 2993 2995 2997 2996 2998 3000 2999 3001 3003 3002 3004 3006 3005 3007 3009 3008 3010 3012 3011 3013 3015 3014 3016 3018 3017 3019 3021 3020 3022 3024 3023 3025 3027 3026 3028 3030 3029 3031 3033 3032 3034 3036 3035 3037 3039 3038 3040 3042 3041 3043 3045 3044 3046 3048 3047 3049 3051 3050 3052 3054 3053 3055 3057 3056 3058 3060 3059 3061 3063 3062 3064 3066 3065 3067 3069 3068 3070 3072 3071 3073 3075 3074 3076 3078 3077 3079 3081 3080 3082 3084 3083 3085 3087 3086 3088 3090 3089 3091 3093 3092 3094 3096 3095 3097 3099 3098 3100 3102 3101 3103 3105 3104 3106 3108 3107 3109 3111 3110 3112 3114 3113 3115 3117 3116 3118 3120 3119 3121 3123 3122 3124 3126 3125 3127 3129 3128 3130 3132 3131 3133 3135 3134 3136 3138 3137 3139 3141 3140 3142 3144 3143 3145 3147 3146 3148 3150 3149 3151 3153 3152 3154 3156 3155 3157 3159 3158 3160 3162 3161 3163 3165 3164 3166 3168 3167 3169 3171 3170 3172 3174 3173 3175 3177 3176 3178 3180 3179 3181 3183 3182 3184 3186 3185 3187 3189 3188 3190 3192 3191 3193 3195 3194 3196 3198 3197 3199 3201 3200 3202 3204 3203 3205 3207 3206 3208 3210 3209 3211 3213 3212 3214 3216 3215 3217 3219 3218 3220 3222 3221 3223 3225 3224 3226 3228 3227 3229 3231 3230 3232 3234 3233 3235 3237 3236 3238 3240 3239 3241 3243 3242 3244 3246 3245 3247 3249 3248 3250 3252 3251 3253 3255 3254 3256 3258 3257 3259 3261 3260 3262 3264 3263 3265 3267 3266 3268 3270 3269 3271 3273 3272 3274 3276 3275 3277 3279 3278 3280 3282 3281 3283 3285 3284 3286 3288 3287 3289 3291 3290 3292 3294 3293 3295 3297 3296 3298 3300 3299 3301 3303 3302 3304 3306 3305 3307 3309 3308 3310 3312 3311 3313 3315 3314 3316 3318 3317 3319 3321 3320 3322 3324 3323 3325 3327 3326 3328 3330 3329 3331 3333 3332 3334 3336 3335 3337 3339 3338 3340 3342 3341 3343 3345 3344 3346 3348 3347 3349 3351 3350 3352 3354 3353 3355 3357 3356 3358 3360 3359 3361 3363 3362 3364 3366 3365 3367 3369 3368 3370 3372 3371 3373 3375 3374 3376 3378 3377 3379 3381 3380 3382 3384 3383 3385 3387 3386 3388 3390 3389 3391 3393 3392 3394 3396 3395 3397 3399 3398 3400 3402 3401 3403 3405 3404 3406 3408 3407 3409 3411 3410 3412 3414 3413 3415 3417 3416 3418 3420 3419 3421 3423 3422 3424 3426 3425 3427 3429 3428 3430 3432 3431 3433 3435 3434 3436 3438 3437 3439 3441 3440 3442 3444 3443 3445 3447 3446 3448 3450 3449 3451 3453 3452 3454 3456 3455 3457 3459 3458 3460 3462 3461 3463 3465 3464 3466 3468 3467 3469 3471 3470 3472 3474 3473 3475 3477 3476 3478 3480 3479 3481 3483 3482 3484 3486 3485 3487 3489 3488 3490 3492 3491 3493 3495 3494 3496 3498 3497 3499 3501 3500 3502 3504 3503 3505 3507 3506 3508 3510 3509 3511 3513 3512 3514 3516 3515 3517 3519 3518 3520 3522 3521 3523 3525 3524 3526 3528 3527 3529 3531 3530 3532 3534 3533 3535 3537 3536 3538 3540 3539 3541 3543 3542 3544 3546 3545 3547 3549 3548 3550 3552 3551 3553 3555 3554 3556 3558 3557 3559 3561 3560 3562 3564 3563 3565 3567 3566 3568 3570 3569 3571 3573 3572 3574 3576 3575 3577 3579 3578 3580 3582 3581 3583 3585 3584 3586 3588 3587 3589 3591 3590 3592 3594 3593 3595 3597 3596 3598 3600 3599 3601 3603 3602 3604 3606 3605 3607 3609 3608 3610 3612 3611 3613 3615 3614 3616 3618 3617 3619 3621 3620 3622 3624 3623 3625 3627 3626 3628 3630 3629 3631 3633 3632 3634 3636 3635 3637 3639 3638 3640 3642 3641 3643 3645 3644 3646 3648 3647 3649 3651 3650 3652 3654 3653 3655 3657 3656 3658 3660 3659 3661 3663 3662 3664 3666 3665 3667 3669 3668 3670 3672 3671 3673 3675 3674 3676 3678 3677 3679 3681 3680 3682 3684 3683 3685 3687 3686 3688 3690 3689 3691 3693 3692 3694 3696 3695 3697 3699 3698 3700 3702 3701 3703 3705 3704 3706 3708 3707 3709 3711 3710 3712 3714 3713 3715 3717 3716 3718 3720 3719 3721 3723 3722 3724 3726 3725 3727 3729 3728 3730 3732 3731 3733 3735 3734 3736 3738 3737 3739 3741 3740 3742 3744 3743 3745 3747 3746 3748 3750 3749 3751 3753 3752 3754 3756 3755 3757 3759 3758 3760 3762 3761 3763 3765 3764 3766 3768 3767 3769 3771 3770 3772 3774 3773 3775 3777 3776 3778 3780 3779 3781 3783 3782 3784 3786 3785 3787 3789 3788 3790 3792 3791 3793 3795 3794 3796 3798 3797 3799 3801 3800 3802 3804 3803 3805 3807 3806 3808 3810 3809 3811 3813 3812 3814 3816 3815 3817 3819 3818 3820 3822 3821 3823 3825 3824 3826 3828 3827 3829 3831 3830 3832 3834 3833 3835 3837 3836 3838 3840 3839 3841 3843 3842 3844 3846 3845 3847 3849 3848 3850 3852 3851 3853 3855 3854 3856 3858 3857 3859 3861 3860 3862 3864 3863 3865 3867 3866 3868 3870 3869 3871 3873 3872 3874 3876 3875 3877 3879 3878 3880 3882 3881 3883 3885 3884 3886 3888 3887 3889 3891 3890 3892 3894 3893 3895 3897 3896 3898 3900 3899 3901 3903 3902 3904 3906 3905 3907 3909 3908 3910 3912 3911 3913 3915 3914 3916 3918 3917 3919 3921 3920 3922 3924 3923 3925 3927 3926 3928 3930 3929 3931 3933 3932 3934 3936 3935 3937 3939 3938 3940 3942 3941 3943 3945 3944 3946 3948 3947 3949 3951 3950 3952 3954 3953 3955 3957 3956 3958 3960 3959 3961 3963 3962 3964 3966 3965 3967 3969 3968 3970 3972 3971 3973 3975 3974 3976 3978 3977 3979 3981 3980 3982 3984 3983 3985 3987 3986 3988 3990 3989 3991 3993 3992 3994 3996 3995 3997 3999 3998 4000 4002 4001 4003 4005 4004 4006 4008 4007 4009 4011 4010 4012 4014 4013 4015 4017 4016 4018 4020 4019 4021 4023 4022 4024 4026 4025 4027 4029 4028 4030 4032 4031 4033 4035 4034 4036 4038 4037 4039 4041 4040 4042 4044 4043 4045 4047 4046 4048 4050 4049 4051 4053 4052 4054 4056 4055 4057 4059 4058 4060 4062 4061 4063 4065 4064 4066 4068 4067 4069 4071 4070 4072 4074 4073 4075 4077 4076 4078 4080 4079 4081 4083 4082 4084 4086 4085 4087 4089 4088 4090 4092 4091 4093 4095 4094 4096 4098 4097 4099 4101 4100 4102 4104 4103 4105 4107 4106 4108 4110 4109 4111 4113 4112 4114 4116 4115 4117 4119 4118 4120 4122 4121 4123 4125 4124 4126 4128 4127 4129 4131 4130 4132 4134 4133 4135 4137 4136 4138 4140 4139 4141 4143 4142 4144 4146 4145 4147 4149 4148 4150 4152 4151 4153 4155 4154 4156 4158 4157 4159 4161 4160 4162 4164 4163 4165 4167 4166 4168 4170 4169 4171 4173 4172 4174 4176 4175 4177 4179 4178 4180 4182 4181 4183 4185 4184 4186 4188 4187 4189 4191 4190 4192 4194 4193 4195 4197 4196 4198 4200 4199 4201 4203 4202 4204 4206 4205 4207 4209 4208 4210 4212 4211 4213 4215 4214 4216 4218 4217 4219 4221 4220 4222 4224 4223 4225 4227 4226 4228 4230 4229 4231 4233 4232 4234 4236 4235 4237 4239 4238 4240 4242 4241 4243 4245 4244 4246 4248 4247 4249 4251 4250 4252 4254 4253 4255 4257 4256 4258 4260 4259 4261 4263 4262 4264 4266 4265 4267 4269 4268 4270 4272 4271 4273 4275 4274 4276 4278 4277 4279 4281 4280 4282 4284 4283 4285 4287 4286 4288 4290 4289 4291 4293 4292 4294 4296 4295 4297 4299 4298 4300 4302 4301 4303 4305 4304 4306 4308 4307 4309 4311 4310 4312 4314 4313 4315 4317 4316 4318 4320 4319 4321 4323 4322 4324 4326 4325 4327 4329 4328 4330 4332 4331 4333 4335 4334 4336 4338 4337 4339 4341 4340 4342 4344 4343 4345 4347 4346 4348 4350 4349 4351 4353 4352 4354 4356 4355 4357 4359 4358 4360 4362 4361 4363 4365 4364 4366 4368 4367 4369 4371 4370 4372 4374 4373 4375 4377 4376 4378 4380 4379 4381 4383 4382 4384 4386 4385 4387 4389 4388 4390 4392 4391 4393 4395 4394 4396 4398 4397 4399 4401 4400 4402 4404 4403 4405 4407 4406 4408 4410 4409 4411 4413 4412 4414 4416 4415 4417 4419 4418 4420 4422 4421 4423 4425 4424 4426 4428 4427 4429 4431 4430 4432 4434 4433 4435 4437 4436 4438 4440 4439 4441 4443 4442 4444 4446 4445 4447 4449 4448 4450 4452 4451 4453 4455 4454 4456 4458 4457 4459 4461 4460 4462 4464 4463 4465 4467 4466 4468 4470 4469 4471 4473 4472 4474 4476 4475 4477 4479 4478 4480 4482 4481 4483 4485 4484 4486 4488 4487 4489 4491 4490 4492 4494 4493 4495 4497 4496 4498 4500 4499 4501 4503 4502 4504 4506 4505 4507 4509 4508 4510 4512 4511 4513 4515 4514 4516 4518 4517 4519 4521 4520 4522 4524 4523 4525 4527 4526 4528 4530 4529 4531 4533 4532 4534 4536 4535 4537 4539 4538 4540 4542 4541 4543 4545 4544 4546 4548 4547 4549 4551 4550 4552 4554 4553 4555 4557 4556 4558 4560 4559 4561 4563 4562 4564 4566 4565 4567 4569 4568 4570 4572 4571 4573 4575 4574 4576 4578 4577 4579 4581 4580 4582 4584 4583 4585 4587 4586 4588 4590 4589 4591 4593 4592 4594 4596 4595 4597 4599 4598 4600 4602 4601 4603 4605 4604 4606 4608 4607 4609 4611 4610 4612 4614 4613 4615 4617 4616 4618 4620 4619 4621 4623 4622 4624 4626 4625 4627 4629 4628 4630 4632 4631 4633 4635 4634 4636 4638 4637 4639 4641 4640 4642 4644 4643 4645 4647 4646 4648 4650 4649 4651 4653 4652 4654 4656 4655 4657 4659 4658 4660 4662 4661 4663 4665 4664 4666 4668 4667 4669 4671 4670 4672 4674 4673 4675 4677 4676 4678 4680 4679 4681 4683 4682 4684 4686 4685 4687 4689 4688 4690 4692 4691 4693 4695 4694 4696 4698 4697 4699 4701 4700 4702 4704 4703 4705 4707 4706 4708 4710 4709 4711 4713 4712 4714 4716 4715 4717 4719 4718 4720 4722 4721 4723 4725 4724 4726 4728 4727 4729 4731 4730 4732 4734 4733 4735 4737 4736 4738 4740 4739 4741 4743 4742 4744 4746 4745 4747 4749 4748 4750 4752 4751 4753 4755 4754 4756 4758 4757 4759 4761 4760 4762 4764 4763 4765 4767 4766 4768 4770 4769 4771 4773 4772 4774 4776 4775 4777 4779 4778 4780 4782 4781 4783 4785 4784 4786 4788 4787 4789 4791 4790 4792 4794 4793 4795 4797 4796 4798 4800 4799 4801 4803 4802 4804 4806 4805 4807 4809 4808 4810 4812 4811 4813 4815 4814 4816 4818 4817 4819 4821 4820 4822 4824 4823 4825 4827 4826 4828 4830 4829 4831 4833 4832 4834 4836 4835 4837 4839 4838 4840 4842 4841 4843 4845 4844 4846 4848 4847 4849 4851 4850 4852 4854 4853 4855 4857 4856 4858 4860 4859 4861 4863 4862 4864 4866 4865 4867 4869 4868 4870 4872 4871 4873 4875 4874 4876 4878 4877 4879 4881 4880 4882 4884 4883 4885 4887 4886 4888 4890 4889 4891 4893 4892 4894 4896 4895 4897 4899 4898 4900 4902 4901 4903 4905 4904 4906 4908 4907 4909 4911 4910 4912 4914 4913 4915 4917 4916 4918 4920 4919 4921 4923 4922 4924 4926 4925 4927 4929 4928 4930 4932 4931 4933 4935 4934 4936 4938 4937 4939 4941 4940 4942 4944 4943 4945 4947 4946 4948 4950 4949 4951 4953 4952 4954 4956 4955 4957 4959 4958 4960 4962 4961 4963 4965 4964 4966 4968 4967 4969 4971 4970 4972 4974 4973 4975 4977 4976 4978 4980 4979 4981 4983 4982 4984 4986 4985 4987 4989 4988 4990 4992 4991 4993 4995 4994 4996 4998 4997 4999 5001 5000 5002 5004 5003 5005 5007 5006 5008 5010 5009 5011 5013 5012 5014 5016 5015 5017 5019 5018 5020 5022 5021 5023 5025 5024 5026 5028 5027 5029 5031 5030 5032 5034 5033 5035 5037 5036 5038 5040 5039 5041 5043 5042 5044 5046 5045 5047 5049 5048 5050 5052 5051 5053 5055 5054 5056 5058 5057 5059 5061 5060 5062 5064 5063 5065 5067 5066 5068 5070 5069 5071 5073 5072 5074 5076 5075 5077 5079 5078 5080 5082 5081 5083 5085 5084 5086 5088 5087 5089 5091 5090 5092 5094 5093 5095 5097 5096 5098 5100 5099 5101 5103 5102 5104 5106 5105 5107 5109 5108 5110 5112 5111 5113 5115 5114 5116 5118 5117 5119 5121 5120 5122 5124 5123 5125 5127 5126 5128 5130 5129 5131 5133 5132 5134 5136 5135 5137 5139 5138 5140 5142 5141 5143 5145 5144 5146 5148 5147 5149 5151 5150 5152 5154 5153 5155 5157 5156 5158 5160 5159 5161 5163 5162 5164 5166 5165 5167 5169 5168 5170 5172 5171 5173 5175 5174 5176 5178 5177 5179 5181 5180 5182 5184 5183 5185 5187 5186 5188 5190 5189 5191 5193 5192 5194 5196 5195 5197 5199 5198 5200 5202 5201 5203 5205 5204 5206 5208 5207 5209 5211 5210 5212 5214 5213 5215 5217 5216 5218 5220 5219 5221 5223 5222 5224 5226 5225 5227 5229 5228 5230 5232 5231 5233 5235 5234 5236 5238 5237 5239 5241 5240 5242 5244 5243 5245 5247 5246 5248 5250 5249 5251 5253 5252 5254 5256 5255 5257 5259 5258 5260 5262 5261 5263 5265 5264 5266 5268 5267 5269 5271 5270 5272 5274 5273 5275 5277 5276 5278 5280 5279 5281 5283 5282 5284 5286 5285 5287 5289 5288 5290 5292 5291 5293 5295 5294 5296 5298 5297 5299 5301 5300 5302 5304 5303 5305 5307 5306 5308 5310 5309 5311 5313 5312 5314 5316 5315 5317 5319 5318 5320 5322 5321 5323 5325 5324 5326 5328 5327 5329 5331 5330 5332 5334 5333 5335 5337 5336 5338 5340 5339 5341 5343 5342 5344 5346 5345 5347 5349 5348 5350 5352 5351 5353 5355 5354 5356 5358 5357 5359 5361 5360 5362 5364 5363 5365 5367 5366 5368 5370 5369 5371 5373 5372 5374 5376 5375 5377 5379 5378 5380 5382 5381 5383 5385 5384 5386 5388 5387 5389 5391 5390 5392 5394 5393 5395 5397 5396 5398 5400 5399 5401 5403 5402 5404 5406 5405 5407 5409 5408 5410 5412 5411 5413 5415 5414 5416 5418 5417 5419 5421 5420 5422 5424 5423 5425 5427 5426 5428 5430 5429 5431 5433 5432 5434 5436 5435 5437 5439 5438 5440 5442 5441 5443 5445 5444 5446 5448 5447 5449 5451 5450 5452 5454 5453 5455 5457 5456 5458 5460 5459 5461 5463 5462 5464 5466 5465 5467 5469 5468 5470 5472 5471 5473 5475 5474 5476 5478 5477 5479 5481 5480 5482 5484 5483 5485 5487 5486 5488 5490 5489 5491 5493 5492 5494 5496 5495 5497 5499 5498 5500 5502 5501 5503 5505 5504 5506 5508 5507 5509 5511 5510 5512 5514 5513 5515 5517 5516 5518 5520 5519 5521 5523 5522 5524 5526 5525 5527 5529 5528 5530 5532 5531 5533 5535 5534 5536 5538 5537 5539 5541 5540 5542 5544 5543 5545 5547 5546 5548 5550 5549 5551 5553 5552 5554 5556 5555 5557 5559 5558 5560 5562 5561 5563 5565 5564 5566 5568 5567 5569 5571 5570 5572 5574 5573 5575 5577 5576 5578 5580 5579 5581 5583 5582 5584 5586 5585 5587 5589 5588 5590 5592 5591 5593 5595 5594 5596 5598 5597 5599 5601 5600 5602 5604 5603 5605 5607 5606 5608 5610 5609 5611 5613 5612 5614 5616 5615 5617 5619 5618 5620 5622 5621 5623 5625 5624 5626 5628 5627 5629 5631 5630 5632 5634 5633 5635 5637 5636 5638 5640 5639 5641 5643 5642 5644 5646 5645 5647 5649 5648 5650 5652 5651 5653 5655 5654 5656 5658 5657 5659 5661 5660 5662 5664 5663 5665 5667 5666 5668 5670 5669 5671 5673 5672 5674 5676 5675 5677 5679 5678 5680 5682 5681 5683 5685 5684 5686 5688 5687 5689 5691 5690 5692 5694 5693 5695 5697 5696 5698 5700 5699 5701 5703 5702 5704 5706 5705 5707 5709 5708 5710 5712 5711 5713 5715 5714 5716 5718 5717 5719 5721 5720 5722 5724 5723 5725 5727 5726 5728 5730 5729 5731 5733 5732 5734 5736 5735 5737 5739 5738 5740 5742 5741 5743 5745 5744 5746 5748 5747 5749 5751 5750 5752 5754 5753 5755 5757 5756 5758 5760 5759 5761 5763 5762 5764 5766 5765 5767 5769 5768 5770 5772 5771 5773 5775 5774 5776 5778 5777 5779 5781 5780 5782 5784 5783 5785 5787 5786 5788 5790 5789 5791 5793 5792 5794 5796 5795 5797 5799 5798 5800 5802 5801 5803 5805 5804 5806 5808 5807 5809 5811 5810 5812 5814 5813 5815 5817 5816 5818 5820 5819 5821 5823 5822 5824 5826 5825 5827 5829 5828 5830 5832 5831 5833 5835 5834 5836 5838 5837 5839 5841 5840 5842 5844 5843 5845 5847 5846 5848 5850 5849 5851 5853 5852 5854 5856 5855 5857 5859 5858 5860 5862 5861 5863 5865 5864 5866 5868 5867 5869 5871 5870 5872 5874 5873 5875 5877 5876 5878 5880 5879 5881 5883 5882 5884 5886 5885 5887 5889 5888 5890 5892 5891 5893 5895 5894 5896 5898 5897 5899 5901 5900 5902 5904 5903 5905 5907 5906 5908 5910 5909 5911 5913 5912 5914 5916 5915 5917 5919 5918 5920 5922 5921 5923 5925 5924 5926 5928 5927 5929 5931 5930 5932 5934 5933 5935 5937 5936 5938 5940 5939 5941 5943 5942 5944 5946 5945 5947 5949 5948 5950 5952 5951 5953 5955 5954 5956 5958 5957 5959 5961 5960 5962 5964 5963 5965 5967 5966 5968 5970 5969 5971 5973 5972 5974 5976 5975 5977 5979 5978 5980 5982 5981 5983 5985 5984 5986 5988 5987 5989 5991 5990 5992 5994 5993 5995 5997 5996 5998 6000 5999 6001 6003 6002 6004 6006 6005 6007 6009 6008 6010 6012 6011 6013 6015 6014 6016 6018 6017 6019 6021 6020 6022 6024 6023 6025 6027 6026 6028 6030 6029 6031 6033 6032 6034 6036 6035 6037 6039 6038 6040 6042 6041 6043 6045 6044 6046 6048 6047 6049 6051 6050 6052 6054 6053 6055 6057 6056 6058 6060 6059 6061 6063 6062 6064 6066 6065 6067 6069 6068 6070 6072 6071 6073 6075 6074 6076 6078 6077 6079 6081 6080 6082 6084 6083 6085 6087 6086 6088 6090 6089 6091 6093 6092 6094 6096 6095 6097 6099 6098 6100 6102 6101 6103 6105 6104 6106 6108 6107 6109 6111 6110 6112 6114 6113 6115 6117 6116 6118 6120 6119 6121 6123 6122 6124 6126 6125 6127 6129 6128 6130 6132 6131 6133 6135 6134 6136 6138 6137 6139 6141 6140 6142 6144 6143 6145 6147 6146 6148 6150 6149 6151 6153 6152 6154 6156 6155 6157 6159 6158 6160 6162 6161 6163 6165 6164 6166 6168 6167 6169 6171 6170 6172 6174 6173 6175 6177 6176 6178 6180 6179 6181 6183 6182 6184 6186 6185 6187 6189 6188 6190 6192 6191 6193 6195 6194 6196 6198 6197 6199 6201 6200 6202 6204 6203 6205 6207 6206 6208 6210 6209 6211 6213 6212 6214 6216 6215 6217 6219 6218 6220 6222 6221 6223 6225 6224 6226 6228 6227 6229 6231 6230 6232 6234 6233 6235 6237 6236 6238 6240 6239 6241 6243 6242 6244 6246 6245 6247 6249 6248 6250 6252 6251 6253 6255 6254 6256 6258 6257 6259 6261 6260 6262 6264 6263 6265 6267 6266 6268 6270 6269 6271 6273 6272 6274 6276 6275 6277 6279 6278 6280 6282 6281 6283 6285 6284 6286 6288 6287 6289 6291 6290 6292 6294 6293 6295 6297 6296 6298 6300 6299 6301 6303 6302 6304 6306 6305 6307 6309 6308 6310 6312 6311 6313 6315 6314 6316 6318 6317 6319 6321 6320 6322 6324 6323 6325 6327 6326 6328 6330 6329 6331 6333 6332 6334 6336 6335 6337 6339 6338 6340 6342 6341 6343 6345 6344 6346 6348 6347 6349 6351 6350 6352 6354 6353 6355 6357 6356 6358 6360 6359 6361 6363 6362 6364 6366 6365 6367 6369 6368 6370 6372 6371 6373 6375 6374 6376 6378 6377 6379 6381 6380 6382 6384 6383 6385 6387 6386 6388 6390 6389 6391 6393 6392 6394 6396 6395 6397 6399 6398 6400 6402 6401 6403 6405 6404 6406 6408 6407 6409 6411 6410 6412 6414 6413 6415 6417 6416 6418 6420 6419 6421 6423 6422 6424 6426 6425 6427 6429 6428 6430 6432 6431 6433 6435 6434 6436 6438 6437 6439 6441 6440 6442 6444 6443 6445 6447 6446 6448 6450 6449 6451 6453 6452 6454 6456 6455 6457 6459 6458 6460 6462 6461 6463 6465 6464 6466 6468 6467 6469 6471 6470 6472 6474 6473 6475 6477 6476 6478 6480 6479 6481 6483 6482 6484 6486 6485 6487 6489 6488 6490 6492 6491 6493 6495 6494 6496 6498 6497 6499 6501 6500 6502 6504 6503 6505 6507 6506 6508 6510 6509 6511 6513 6512 6514 6516 6515 6517 6519 6518 6520 6522 6521 6523 6525 6524 6526 6528 6527 6529 6531 6530 6532 6534 6533 6535 6537 6536 6538 6540 6539 6541 6543 6542 6544 6546 6545 6547 6549 6548 6550 6552 6551 6553 6555 6554 6556 6558 6557 6559 6561 6560 6562 6564 6563 6565 6567 6566 6568 6570 6569 6571 6573 6572 6574 6576 6575 6577 6579 6578 6580 6582 6581 6583 6585 6584 6586 6588 6587 6589 6591 6590 6592 6594 6593 6595 6597 6596 6598 6600 6599 6601 6603 6602 6604 6606 6605 6607 6609 6608 6610 6612 6611 6613 6615 6614 6616 6618 6617 6619 6621 6620 6622 6624 6623 6625 6627 6626 6628 6630 6629 6631 6633 6632 6634 6636 6635 6637 6639 6638 6640 6642 6641 6643 6645 6644 6646 6648 6647 6649 6651 6650 6652 6654 6653 6655 6657 6656 6658 6660 6659 6661 6663 6662 6664 6666 6665 6667 6669 6668 6670 6672 6671 6673 6675 6674 6676 6678 6677 6679 6681 6680 6682 6684 6683 6685 6687 6686 6688 6690 6689 6691 6693 6692 6694 6696 6695 6697 6699 6698 6700 6702 6701 6703 6705 6704 6706 6708 6707 6709 6711 6710 6712 6714 6713 6715 6717 6716 6718 6720 6719 6721 6723 6722 6724 6726 6725 6727 6729 6728 6730 6732 6731 6733 6735 6734 6736 6738 6737 6739 6741 6740 6742 6744 6743 6745 6747 6746 6748 6750 6749 6751 6753 6752 6754 6756 6755 6757 6759 6758 6760 6762 6761 6763 6765 6764 6766 6768 6767 6769 6771 6770 6772 6774 6773 6775 6777 6776 6778 6780 6779 6781 6783 6782 6784 6786 6785 6787 6789 6788 6790 6792 6791 6793 6795 6794 6796 6798 6797 6799 6801 6800 6802 6804 6803 6805 6807 6806 6808 6810 6809 6811 6813 6812 6814 6816 6815 6817 6819 6818 6820 6822 6821 6823 6825 6824 6826 6828 6827 6829 6831 6830 6832 6834 6833 6835 6837 6836 6838 6840 6839 6841 6843 6842 6844 6846 6845 6847 6849 6848 6850 6852 6851 6853 6855 6854 6856 6858 6857 6859 6861 6860 6862 6864 6863 6865 6867 6866 6868 6870 6869 6871 6873 6872 6874 6876 6875 6877 6879 6878 6880 6882 6881 6883 6885 6884 6886 6888 6887 6889 6891 6890 6892 6894 6893 6895 6897 6896 6898 6900 6899 6901 6903 6902 6904 6906 6905 6907 6909 6908 6910 6912 6911 6913 6915 6914 6916 6918 6917 6919 6921 6920 6922 6924 6923 6925 6927 6926 6928 6930 6929 6931 6933 6932 6934 6936 6935 6937 6939 6938 6940 6942 6941 6943 6945 6944 6946 6948 6947 6949 6951 6950 6952 6954 6953 6955 6957 6956 6958 6960 6959 6961 6963 6962 6964 6966 6965 6967 6969 6968 6970 6972 6971 6973 6975 6974 6976 6978 6977 6979 6981 6980 6982 6984 6983 6985 6987 6986 6988 6990 6989 6991 6993 6992 6994 6996 6995 6997 6999 6998 7000 7002 7001 7003 7005 7004 7006 7008 7007 7009 7011 7010 7012 7014 7013 7015 7017 7016 7018 7020 7019 7021 7023 7022 7024 7026 7025 7027 7029 7028 7030 7032 7031 7033 7035 7034 7036 7038 7037 7039 7041 7040 7042 7044 7043 7045 7047 7046 7048 7050 7049 7051 7053 7052 7054 7056 7055 7057 7059 7058 7060 7062 7061 7063 7065 7064 7066 7068 7067 7069 7071 7070 7072 7074 7073 7075 7077 7076 7078 7080 7079 7081 7083 7082 7084 7086 7085 7087 7089 7088 7090 7092 7091 7093 7095 7094 7096 7098 7097 7099 7101 7100 7102 7104 7103 7105 7107 7106 7108 7110 7109 7111 7113 7112 7114 7116 7115 7117 7119 7118 7120 7122 7121 7123 7125 7124 7126 7128 7127 7129 7131 7130 7132 7134 7133 7135 7137 7136 7138 7140 7139 7141 7143 7142 7144 7146 7145 7147 7149 7148 7150 7152 7151 7153 7155 7154 7156 7158 7157 7159 7161 7160 7162 7164 7163 7165 7167 7166 7168 7170 7169 7171 7173 7172 7174 7176 7175 7177 7179 7178 7180 7182 7181 7183 7185 7184 7186 7188 7187 7189 7191 7190 7192 7194 7193 7195 7197 7196 7198 7200 7199 7201 7203 7202 7204 7206 7205 7207 7209 7208 7210 7212 7211 7213 7215 7214 7216 7218 7217 7219 7221 7220 7222 7224 7223 7225 7227 7226 7228 7230 7229 7231 7233 7232 7234 7236 7235 7237 7239 7238 7240 7242 7241 7243 7245 7244 7246 7248 7247 7249 7251 7250 7252 7254 7253 7255 7257 7256 7258 7260 7259 7261 7263 7262 7264 7266 7265 7267 7269 7268 7270 7272 7271 7273 7275 7274 7276 7278 7277 7279 7281 7280 7282 7284 7283 7285 7287 7286 7288 7290 7289 7291 7293 7292 7294 7296 7295 7297 7299 7298 7300 7302 7301 7303 7305 7304 7306 7308 7307 7309 7311 7310 7312 7314 7313 7315 7317 7316 7318 7320 7319 7321 7323 7322 7324 7326 7325 7327 7329 7328 7330 7332 7331 7333 7335 7334 7336 7338 7337 7339 7341 7340 7342 7344 7343 7345 7347 7346 7348 7350 7349 7351 7353 7352 7354 7356 7355 7357 7359 7358 7360 7362 7361 7363 7365 7364 7366 7368 7367 7369 7371 7370 7372 7374 7373 7375 7377 7376 7378 7380 7379 7381 7383 7382 7384 7386 7385 7387 7389 7388 7390 7392 7391 7393 7395 7394 7396 7398 7397 7399 7401 7400 7402 7404 7403 7405 7407 7406 7408 7410 7409 7411 7413 7412 7414 7416 7415 7417 7419 7418 7420 7422 7421 7423 7425 7424 7426 7428 7427 7429 7431 7430 7432 7434 7433 7435 7437 7436 7438 7440 7439 7441 7443 7442 7444 7446 7445 7447 7449 7448 7450 7452 7451 7453 7455 7454 7456 7458 7457 7459 7461 7460 7462 7464 7463 7465 7467 7466 7468 7470 7469 7471 7473 7472 7474 7476 7475 7477 7479 7478 7480 7482 7481 7483 7485 7484 7486 7488 7487 7489 7491 7490 7492 7494 7493 7495 7497 7496 7498 7500 7499 7501 7503 7502 7504 7506 7505 7507 7509 7508 7510 7512 7511 7513 7515 7514 7516 7518 7517 7519 7521 7520 7522 7524 7523 7525 7527 7526 7528 7530 7529 7531 7533 7532 7534 7536 7535 7537 7539 7538 7540 7542 7541 7543 7545 7544 7546 7548 7547 7549 7551 7550 7552 7554 7553 7555 7557 7556 7558 7560 7559 7561 7563 7562 7564 7566 7565 7567 7569 7568 7570 7572 7571 7573 7575 7574 7576 7578 7577 7579 7581 7580 7582 7584 7583 7585 7587 7586 7588 7590 7589 7591 7593 7592 7594 7596 7595 7597 7599 7598 7600 7602 7601 7603 7605 7604 7606 7608 7607 7609 7611 7610 7612 7614 7613 7615 7617 7616 7618 7620 7619 7621 7623 7622 7624 7626 7625 7627 7629 7628 7630 7632 7631 7633 7635 7634 7636 7638 7637 7639 7641 7640 7642 7644 7643 7645 7647 7646 7648 7650 7649 7651 7653 7652 7654 7656 7655 7657 7659 7658 7660 7662 7661 7663 7665 7664 7666 7668 7667 7669 7671 7670 7672 7674 7673 7675 7677 7676 7678 7680 7679 7681 7683 7682 7684 7686 7685 7687 7689 7688 7690 7692 7691 7693 7695 7694 7696 7698 7697 7699 7701 7700 7702 7704 7703 7705 7707 7706 7708 7710 7709 7711 7713 7712 7714 7716 7715 7717 7719 7718 7720 7722 7721 7723 7725 7724 7726 7728 7727 7729 7731 7730 7732 7734 7733 7735 7737 7736 7738 7740 7739 7741 7743 7742 7744 7746 7745 7747 7749 7748 7750 7752 7751 7753 7755 7754 7756 7758 7757 7759 7761 7760 7762 7764 7763 7765 7767 7766 7768 7770 7769 7771 7773 7772 7774 7776 7775 7777 7779 7778 7780 7782 7781 7783 7785 7784 7786 7788 7787 7789 7791 7790 7792 7794 7793 7795 7797 7796 7798 7800 7799 7801 7803 7802 7804 7806 7805 7807 7809 7808 7810 7812 7811 7813 7815 7814 7816 7818 7817 7819 7821 7820 7822 7824 7823 7825 7827 7826 7828 7830 7829 7831 7833 7832 7834 7836 7835 7837 7839 7838 7840 7842 7841 7843 7845 7844 7846 7848 7847 7849 7851 7850 7852 7854 7853 7855 7857 7856 7858 7860 7859 7861 7863 7862 7864 7866 7865 7867 7869 7868 7870 7872 7871 7873 7875 7874 7876 7878 7877 7879 7881 7880 7882 7884 7883 7885 7887 7886 7888 7890 7889 7891 7893 7892 7894 7896 7895 7897 7899 7898 7900 7902 7901 7903 7905 7904 7906 7908 7907 7909 7911 7910 7912 7914 7913 7915 7917 7916 7918 7920 7919 7921 7923 7922 7924 7926 7925 7927 7929 7928 7930 7932 7931 7933 7935 7934 7936 7938 7937 7939 7941 7940 7942 7944 7943 7945 7947 7946 7948 7950 7949 7951 7953 7952 7954 7956 7955 7957 7959 7958 7960 7962 7961 7963 7965 7964 7966 7968 7967 7969 7971 7970 7972 7974 7973 7975 7977 7976 7978 7980 7979 7981 7983 7982 7984 7986 7985 7987 7989 7988 7990 7992 7991 7993 7995 7994 7996 7998 7997 7999 8001 8000 8002 8004 8003 8005 8007 8006 8008 8010 8009 8011 8013 8012 8014 8016 8015 8017 8019 8018 8020 8022 8021 8023 8025 8024 8026 8028 8027 8029 8031 8030 8032 8034 8033 8035 8037 8036 8038 8040 8039 8041 8043 8042 8044 8046 8045 8047 8049 8048 8050 8052 8051 8053 8055 8054 8056 8058 8057 8059 8061 8060 8062 8064 8063 8065 8067 8066 8068 8070 8069 8071 8073 8072 8074 8076 8075 8077 8079 8078 8080 8082 8081 8083 8085 8084 8086 8088 8087 8089 8091 8090 8092 8094 8093 8095 8097 8096 8098 8100 8099 8101 8103 8102 8104 8106 8105 8107 8109 8108 8110 8112 8111 8113 8115 8114 8116 8118 8117 8119 8121 8120 8122 8124 8123 8125 8127 8126 8128 8130 8129 8131 8133 8132 8134 8136 8135 8137 8139 8138 8140 8142 8141 8143 8145 8144 8146 8148 8147 8149 8151 8150 8152 8154 8153 8155 8157 8156 8158 8160 8159 8161 8163 8162 8164 8166 8165 8167 8169 8168 8170 8172 8171 8173 8175 8174 8176 8178 8177 8179 8181 8180 8182 8184 8183 8185 8187 8186 8188 8190 8189 8191 8193 8192 8194 8196 8195 8197 8199 8198 8200 8202 8201 8203 8205 8204 8206 8208 8207 8209 8211 8210 8212 8214 8213 8215 8217 8216 8218 8220 8219 8221 8223 8222 8224 8226 8225 8227 8229 8228 8230 8232 8231 8233 8235 8234 8236 8238 8237 8239 8241 8240 8242 8244 8243 8245 8247 8246 8248 8250 8249 8251 8253 8252 8254 8256 8255 8257 8259 8258 8260 8262 8261 8263 8265 8264 8266 8268 8267 8269 8271 8270 8272 8274 8273 8275 8277 8276 8278 8280 8279 8281 8283 8282 8284 8286 8285 8287 8289 8288 8290 8292 8291 8293 8295 8294 8296 8298 8297 8299 8301 8300 8302 8304 8303 8305 8307 8306 8308 8310 8309 8311 8313 8312 8314 8316 8315 8317 8319 8318 8320 8322 8321 8323 8325 8324 8326 8328 8327 8329 8331 8330 8332 8334 8333 8335 8337 8336 8338 8340 8339 8341 8343 8342 8344 8346 8345 8347 8349 8348 8350 8352 8351 8353 8355 8354 8356 8358 8357 8359 8361 8360 8362 8364 8363 8365 8367 8366 8368 8370 8369 8371 8373 8372 8374 8376 8375 8377 8379 8378 8380 8382 8381 8383 8385 8384 8386 8388 8387 8389 8391 8390 8392 8394 8393 8395 8397 8396 8398 8400 8399 8401 8403 8402 8404 8406 8405 8407 8409 8408 8410 8412 8411 8413 8415 8414 8416 8418 8417 8419 8421 8420 8422 8424 8423 8425 8427 8426 8428 8430 8429 8431 8433 8432 8434 8436 8435 8437 8439 8438 8440 8442 8441 8443 8445 8444 8446 8448 8447 8449 8451 8450 8452 8454 8453 8455 8457 8456 8458 8460 8459 8461 8463 8462 8464 8466 8465 8467 8469 8468 8470 8472 8471 8473 8475 8474 8476 8478 8477 8479 8481 8480 8482 8484 8483 8485 8487 8486 8488 8490 8489 8491 8493 8492 8494 8496 8495 8497 8499 8498 8500 8502 8501 8503 8505 8504 8506 8508 8507 8509 8511 8510 8512 8514 8513 8515 8517 8516 8518 8520 8519 8521 8523 8522 8524 8526 8525 8527 8529 8528 8530 8532 8531 8533 8535 8534 8536 8538 8537 8539 8541 8540 8542 8544 8543 8545 8547 8546 8548 8550 8549 8551 8553 8552 8554 8556 8555 8557 8559 8558 8560 8562 8561 8563 8565 8564 8566 8568 8567 8569 8571 8570 8572 8574 8573 8575 8577 8576 8578 8580 8579 8581 8583 8582 8584 8586 8585 8587 8589 8588 8590 8592 8591 8593 8595 8594 8596 8598 8597 8599 8601 8600 8602 8604 8603 8605 8607 8606 8608 8610 8609 8611 8613 8612 8614 8616 8615 8617 8619 8618 8620 8622 8621 8623 8625 8624 8626 8628 8627 8629 8631 8630 8632 8634 8633 8635 8637 8636 8638 8640 8639 8641 8643 8642 8644 8646 8645 8647 8649 8648 8650 8652 8651 8653 8655 8654 8656 8658 8657 8659 8661 8660 8662 8664 8663 8665 8667 8666 8668 8670 8669 8671 8673 8672 8674 8676 8675 8677 8679 8678 8680 8682 8681 8683 8685 8684 8686 8688 8687 8689 8691 8690 8692 8694 8693 8695 8697 8696 8698 8700 8699 8701 8703 8702 8704 8706 8705 8707 8709 8708 8710 8712 8711 8713 8715 8714 8716 8718 8717 8719 8721 8720 8722 8724 8723 8725 8727 8726 8728 8730 8729 8731 8733 8732 8734 8736 8735 8737 8739 8738 8740 8742 8741 8743 8745 8744 8746 8748 8747 8749 8751 8750 8752 8754 8753 8755 8757 8756 8758 8760 8759 8761 8763 8762 8764 8766 8765 8767 8769 8768 8770 8772 8771 8773 8775 8774 8776 8778 8777 8779 8781 8780 8782 8784 8783 8785 8787 8786 8788 8790 8789 8791 8793 8792 8794 8796 8795 8797 8799 8798 8800 8802 8801 8803 8805 8804 8806 8808 8807 8809 8811 8810 8812 8814 8813 8815 8817 8816 8818 8820 8819 8821 8823 8822 8824 8826 8825 8827 8829 8828 8830 8832 8831 8833 8835 8834 8836 8838 8837 8839 8841 8840 8842 8844 8843 8845 8847 8846 8848 8850 8849 8851 8853 8852 8854 8856 8855 8857 8859 8858 8860 8862 8861 8863 8865 8864 8866 8868 8867 8869 8871 8870 8872 8874 8873 8875 8877 8876 8878 8880 8879 8881 8883 8882 8884 8886 8885 8887 8889 8888 8890 8892 8891 8893 8895 8894 8896 8898 8897 8899 8901 8900 8902 8904 8903 8905 8907 8906 8908 8910 8909 8911 8913 8912 8914 8916 8915 8917 8919 8918 8920 8922 8921 8923 8925 8924 8926 8928 8927 8929 8931 8930 8932 8934 8933 8935 8937 8936 8938 8940 8939 8941 8943 8942 8944 8946 8945 8947 8949 8948 8950 8952 8951 8953 8955 8954 8956 8958 8957 8959 8961 8960 8962 8964 8963 8965 8967 8966 8968 8970 8969 8971 8973 8972 8974 8976 8975 8977 8979 8978 8980 8982 8981 8983 8985 8984 8986 8988 8987 8989 8991 8990 8992 8994 8993 8995 8997 8996 8998 9000 8999 9001 9003 9002 9004 9006 9005 9007 9009 9008 9010 9012 9011 9013 9015 9014 9016 9018 9017 9019 9021 9020 9022 9024 9023 9025 9027 9026 9028 9030 9029 9031 9033 9032 9034 9036 9035 9037 9039 9038 9040 9042 9041 9043 9045 9044 9046 9048 9047 9049 9051 9050 9052 9054 9053 9055 9057 9056 9058 9060 9059 9061 9063 9062 9064 9066 9065 9067 9069 9068 9070 9072 9071 9073 9075 9074 9076 9078 9077 9079 9081 9080 9082 9084 9083 9085 9087 9086 9088 9090 9089 9091 9093 9092 9094 9096 9095 9097 9099 9098 9100 9102 9101 9103 9105 9104 9106 9108 9107 9109 9111 9110 9112 9114 9113 9115 9117 9116 9118 9120 9119 9121 9123 9122 9124 9126 9125 9127 9129 9128 9130 9132 9131 9133 9135 9134 9136 9138 9137 9139 9141 9140 9142 9144 9143 9145 9147 9146 9148 9150 9149 9151 9153 9152 9154 9156 9155 9157 9159 9158 9160 9162 9161 9163 9165 9164 9166 9168 9167 9169 9171 9170 9172 9174 9173 9175 9177 9176 9178 9180 9179 9181 9183 9182 9184 9186 9185 9187 9189 9188 9190 9192 9191 9193 9195 9194 9196 9198 9197 9199 9201 9200 9202 9204 9203 9205 9207 9206 9208 9210 9209 9211 9213 9212 9214 9216 9215 9217 9219 9218 9220 9222 9221 9223 9225 9224 9226 9228 9227 9229 9231 9230 9232 9234 9233 9235 9237 9236 9238 9240 9239 9241 9243 9242 9244 9246 9245 9247 9249 9248 9250 9252 9251 9253 9255 9254 9256 9258 9257 9259 9261 9260 9262 9264 9263 9265 9267 9266 9268 9270 9269 9271 9273 9272 9274 9276 9275 9277 9279 9278 9280 9282 9281 9283 9285 9284 9286 9288 9287 9289 9291 9290 9292 9294 9293 9295 9297 9296 9298 9300 9299 9301 9303 9302 9304 9306 9305 9307 9309 9308 9310 9312 9311 9313 9315 9314 9316 9318 9317 9319 9321 9320 9322 9324 9323 9325 9327 9326 9328 9330 9329 9331 9333 9332 9334 9336 9335 9337 9339 9338 9340 9342 9341 9343 9345 9344 9346 9348 9347 9349 9351 9350 9352 9354 9353 9355 9357 9356 9358 9360 9359 9361 9363 9362 9364 9366 9365 9367 9369 9368 9370 9372 9371 9373 9375 9374 9376 9378 9377 9379 9381 9380 9382 9384 9383 9385 9387 9386 9388 9390 9389 9391 9393 9392 9394 9396 9395 9397 9399 9398 9400 9402 9401 9403 9405 9404 9406 9408 9407 9409 9411 9410 9412 9414 9413 9415 9417 9416 9418 9420 9419 9421 9423 9422 9424 9426 9425 9427 9429 9428 9430 9432 9431 9433 9435 9434 9436 9438 9437 9439 9441 9440 9442 9444 9443 9445 9447 9446 9448 9450 9449 9451 9453 9452 9454 9456 9455 9457 9459 9458 9460 9462 9461 9463 9465 9464 9466 9468 9467 9469 9471 9470 9472 9474 9473 9475 9477 9476 9478 9480 9479 9481 9483 9482 9484 9486 9485 9487 9489 9488 9490 9492 9491 9493 9495 9494 9496 9498 9497 9499 9501 9500 9502 9504 9503 9505 9507 9506 9508 9510 9509 9511 9513 9512 9514 9516 9515 9517 9519 9518 9520 9522 9521 9523 9525 9524 9526 9528 9527 9529 9531 9530 9532 9534 9533 9535 9537 9536 9538 9540 9539 9541 9543 9542 9544 9546 9545 9547 9549 9548 9550 9552 9551 9553 9555 9554 9556 9558 9557 9559 9561 9560 9562 9564 9563 9565 9567 9566 9568 9570 9569 9571 9573 9572 9574 9576 9575 9577 9579 9578 9580 9582 9581 9583 9585 9584 9586 9588 9587 9589 9591 9590 9592 9594 9593 9595 9597 9596 9598 9600 9599 9601 9603 9602 9604 9606 9605 9607 9609 9608 9610 9612 9611 9613 9615 9614 9616 9618 9617 9619 9621 9620 9622 9624 9623 9625 9627 9626 9628 9630 9629 9631 9633 9632 9634 9636 9635 9637 9639 9638 9640 9642 9641 9643 9645 9644 9646 9648 9647 9649 9651 9650 9652 9654 9653 9655 9657 9656 9658 9660 9659 9661 9663 9662 9664 9666 9665 9667 9669 9668 9670 9672 9671 9673 9675 9674 9676 9678 9677 9679 9681 9680 9682 9684 9683 9685 9687 9686 9688 9690 9689 9691 9693 9692 9694 9696 9695 9697 9699 9698 9700 9702 9701 9703 9705 9704 9706 9708 9707 9709 9711 9710 9712 9714 9713 9715 9717 9716 9718 9720 9719 9721 9723 9722 9724 9726 9725 9727 9729 9728 9730 9732 9731 9733 9735 9734 9736 9738 9737 9739 9741 9740 9742 9744 9743 9745 9747 9746 9748 9750 9749 9751 9753 9752 9754 9756 9755 9757 9759 9758 9760 9762 9761 9763 9765 9764 9766 9768 9767 9769 9771 9770 9772 9774 9773 9775 9777 9776 9778 9780 9779 9781 9783 9782 9784 9786 9785 9787 9789 9788 9790 9792 9791 9793 9795 9794 9796 9798 9797 9799 9801 9800 9802 9804 9803 9805 9807 9806 9808 9810 9809 9811 9813 9812 9814 9816 9815 9817 9819 9818 9820 9822 9821 9823 9825 9824 9826 9828 9827 9829 9831 9830 9832 9834 9833 9835 9837 9836 9838 9840 9839 9841 9843 9842 9844 9846 9845 9847 9849 9848 9850 9852 9851 9853 9855 9854 9856 9858 9857 9859 9861 9860 9862 9864 9863 9865 9867 9866 9868 9870 9869 9871 9873 9872 9874 9876 9875 9877 9879 9878 9880 9882 9881 9883 9885 9884 9886 9888 9887 9889 9891 9890 9892 9894 9893 9895 9897 9896 9898 9900 9899 9901 9903 9902 9904 9906 9905 9907 9909 9908 9910 9912 9911 9913 9915 9914 9916 9918 9917 9919 9921 9920 9922 9924 9923 9925 9927 9926 9928 9930 9929 9931 9933 9932 9934 9936 9935 9937 9939 9938 9940 9942 9941 9943 9945 9944 9946 9948 9947 9949 9951 9950 9952 9954 9953 9955 9957 9956 9958 9960 9959 9961 9963 9962 9964 9966 9965 9967 9969 9968 9970 9972 9971 9973 9975 9974 9976 9978 9977 9979 9981 9980 9982 9984 9983 9985 9987 9986 9988 9990 9989 9991 9993 9992 9994 9996 9995 9997 9999 9998 10000 10002 10001 10003 10005 10004 10006 10008 10007 10009 10011 10010 10012 10014 10013 10015 10017 10016 10018 10020 10019 10021 10023 10022 10024 10026 10025 10027 10029 10028 10030 10032 10031 10033 10035 10034 10036 10038 10037 10039 10041 10040 10042 10044 10043 10045 10047 10046 10048 10050 10049 10051 10053 10052 10054 10056 10055 10057 10059 10058 10060 10062 10061 10063 10065 10064 10066 10068 10067 10069 10071 10070 10072 10074 10073 10075 10077 10076 10078 10080 10079 10081 10083 10082 10084 10086 10085 10087 10089 10088 10090 10092 10091 10093 10095 10094 10096 10098 10097 10099 10101 10100 10102 10104 10103 10105 10107 10106 10108 10110 10109 10111 10113 10112 10114 10116 10115 10117 10119 10118 10120 10122 10121 10123 10125 10124 10126 10128 10127 10129 10131 10130 10132 10134 10133 10135 10137 10136 10138 10140 10139 10141 10143 10142 10144 10146 10145 10147 10149 10148 10150 10152 10151 10153 10155 10154 10156 10158 10157 10159 10161 10160 10162 10164 10163 10165 10167 10166 10168 10170 10169 10171 10173 10172 10174 10176 10175 10177 10179 10178 10180 10182 10181 10183 10185 10184 10186 10188 10187 10189 10191 10190 10192 10194 10193 10195 10197 10196 10198 10200 10199 10201 10203 10202 10204 10206 10205 10207 10209 10208 10210 10212 10211 10213 10215 10214 10216 10218 10217 10219 10221 10220 10222 10224 10223 10225 10227 10226 10228 10230 10229 10231 10233 10232 10234 10236 10235 10237 10239 10238 10240 10242 10241 10243 10245 10244 10246 10248 10247 10249 10251 10250 10252 10254 10253 10255 10257 10256 10258 10260 10259 10261 10263 10262 10264 10266 10265 10267 10269 10268 10270 10272 10271 10273 10275 10274 10276 10278 10277 10279 10281 10280 10282 10284 10283 10285 10287 10286 10288 10290 10289 10291 10293 10292 10294 10296 10295 10297 10299 10298 10300 10302 10301 10303 10305 10304 10306 10308 10307 10309 10311 10310 10312 10314 10313 10315 10317 10316 10318 10320 10319 10321 10323 10322 10324 10326 10325 10327 10329 10328 10330 10332 10331 10333 10335 10334 10336 10338 10337 10339 10341 10340 10342 10344 10343 10345 10347 10346 10348 10350 10349 10351 10353 10352 10354 10356 10355 10357 10359 10358 10360 10362 10361 10363 10365 10364 10366 10368 10367 10369 10371 10370 10372 10374 10373 10375 10377 10376 10378 10380 10379 10381 10383 10382 10384 10386 10385 10387 10389 10388 10390 10392 10391 10393 10395 10394 10396 10398 10397 10399 10401 10400 10402 10404 10403 10405 10407 10406 10408 10410 10409 10411 10413 10412 10414 10416 10415 10417 10419 10418 10420 10422 10421 10423 10425 10424 10426 10428 10427 10429 10431 10430 10432 10434 10433 10435 10437 10436 10438 10440 10439 10441 10443 10442 10444 10446 10445 10447 10449 10448 10450 10452 10451 10453 10455 10454 10456 10458 10457 10459 10461 10460 10462 10464 10463 10465 10467 10466 10468 10470 10469 10471 10473 10472 10474 10476 10475 10477 10479 10478 10480 10482 10481 10483 10485 10484 10486 10488 10487 10489 10491 10490 10492 10494 10493 10495 10497 10496 10498 10500 10499 10501 10503 10502 10504 10506 10505 10507 10509 10508 10510 10512 10511 10513 10515 10514 10516 10518 10517 10519 10521 10520 10522 10524 10523 10525 10527 10526 10528 10530 10529 10531 10533 10532 10534 10536 10535 10537 10539 10538 10540 10542 10541 10543 10545 10544 10546 10548 10547 10549 10551 10550 10552 10554 10553 10555 10557 10556 10558 10560 10559 10561 10563 10562 10564 10566 10565 10567 10569 10568 10570 10572 10571 10573 10575 10574 10576 10578 10577 10579 10581 10580 10582 10584 10583 10585 10587 10586 10588 10590 10589 10591 10593 10592 10594 10596 10595 10597 10599 10598 10600 10602 10601 10603 10605 10604 10606 10608 10607 10609 10611 10610 10612 10614 10613 10615 10617 10616 10618 10620 10619 10621 10623 10622 10624 10626 10625 10627 10629 10628 10630 10632 10631 10633 10635 10634 10636 10638 10637 10639 10641 10640 10642 10644 10643 10645 10647 10646 10648 10650 10649 10651 10653 10652 10654 10656 10655 10657 10659 10658 10660 10662 10661 10663 10665 10664 10666 10668 10667 10669 10671 10670 10672 10674 10673 10675 10677 10676 10678 10680 10679 10681 10683 10682 10684 10686 10685 10687 10689 10688 10690 10692 10691 10693 10695 10694 10696 10698 10697 10699 10701 10700 10702 10704 10703 10705 10707 10706 10708 10710 10709 10711 10713 10712 10714 10716 10715 10717 10719 10718 10720 10722 10721 10723 10725 10724 10726 10728 10727 10729 10731 10730 10732 10734 10733 10735 10737 10736 10738 10740 10739 10741 10743 10742 10744 10746 10745 10747 10749 10748 10750 10752 10751 10753 10755 10754 10756 10758 10757 10759 10761 10760 10762 10764 10763 10765 10767 10766 10768 10770 10769 10771 10773 10772 10774 10776 10775 10777 10779 10778 10780 10782 10781 10783 10785 10784 10786 10788 10787 10789 10791 10790 10792 10794 10793 10795 10797 10796 10798 10800 10799 10801 10803 10802 10804 10806 10805 10807 10809 10808 10810 10812 10811 10813 10815 10814 10816 10818 10817 10819 10821 10820 10822 10824 10823 10825 10827 10826 10828 10830 10829 10831 10833 10832 10834 10836 10835 10837 10839 10838 10840 10842 10841 10843 10845 10844 10846 10848 10847 10849 10851 10850 10852 10854 10853 10855 10857 10856 10858 10860 10859 10861 10863 10862 10864 10866 10865 10867 10869 10868 10870 10872 10871 10873 10875 10874 10876 10878 10877 10879 10881 10880 10882 10884 10883 10885 10887 10886 10888 10890 10889 10891 10893 10892 10894 10896 10895 10897 10899 10898 10900 10902 10901 10903 10905 10904 10906 10908 10907 10909 10911 10910 10912 10914 10913 10915 10917 10916 10918 10920 10919 10921 10923 10922 10924 10926 10925 10927 10929 10928 10930 10932 10931 10933 10935 10934 10936 10938 10937 10939 10941 10940 10942 10944 10943 10945 10947 10946 10948 10950 10949 10951 10953 10952 10954 10956 10955 10957 10959 10958 10960 10962 10961 10963 10965 10964 10966 10968 10967 10969 10971 10970 10972 10974 10973 10975 10977 10976 10978 10980 10979 10981 10983 10982 10984 10986 10985 10987 10989 10988 10990 10992 10991 10993 10995 10994 10996 10998 10997 10999 11001 11000 11002 11004 11003 11005 11007 11006 11008 11010 11009 11011 11013 11012 11014 11016 11015 11017 11019 11018 11020 11022 11021 11023 11025 11024 11026 11028 11027 11029 11031 11030 11032 11034 11033 11035 11037 11036 11038 11040 11039 11041 11043 11042 11044 11046 11045 11047 11049 11048 11050 11052 11051 11053 11055 11054 11056 11058 11057 11059 11061 11060 11062 11064 11063 11065 11067 11066 11068 11070 11069 11071 11073 11072 11074 11076 11075 11077 11079 11078 11080 11082 11081 11083 11085 11084 11086 11088 11087 11089 11091 11090 11092 11094 11093 11095 11097 11096 11098 11100 11099 11101 11103 11102 11104 11106 11105 11107 11109 11108 11110 11112 11111 11113 11115 11114 11116 11118 11117 11119 11121 11120 11122 11124 11123 11125 11127 11126 11128 11130 11129 11131 11133 11132 11134 11136 11135 11137 11139 11138 11140 11142 11141 11143 11145 11144 11146 11148 11147 11149 11151 11150 11152 11154 11153 11155 11157 11156 11158 11160 11159 11161 11163 11162 11164 11166 11165 11167 11169 11168 11170 11172 11171 11173 11175 11174 11176 11178 11177 11179 11181 11180 11182 11184 11183 11185 11187 11186 11188 11190 11189 11191 11193 11192 11194 11196 11195 11197 11199 11198 11200 11202 11201 11203 11205 11204 11206 11208 11207 11209 11211 11210 11212 11214 11213 11215 11217 11216 11218 11220 11219 11221 11223 11222 11224 11226 11225 11227 11229 11228 11230 11232 11231 11233 11235 11234 11236 11238 11237 11239 11241 11240 11242 11244 11243 11245 11247 11246 11248 11250 11249 11251 11253 11252 11254 11256 11255 11257 11259 11258 11260 11262 11261 11263 11265 11264 11266 11268 11267 11269 11271 11270 11272 11274 11273 11275 11277 11276 11278 11280 11279 11281 11283 11282 11284 11286 11285 11287 11289 11288 11290 11292 11291 11293 11295 11294 11296 11298 11297 11299 11301 11300 11302 11304 11303 11305 11307 11306 11308 11310 11309 11311 11313 11312 11314 11316 11315 11317 11319 11318 11320 11322 11321 11323 11325 11324 11326 11328 11327 11329 11331 11330 11332 11334 11333 11335 11337 11336 11338 11340 11339 11341 11343 11342 11344 11346 11345 11347 11349 11348 11350 11352 11351 11353 11355 11354 11356 11358 11357 11359 11361 11360 11362 11364 11363 11365 11367 11366 11368 11370 11369 11371 11373 11372 11374 11376 11375 11377 11379 11378 11380 11382 11381 11383 11385 11384 11386 11388 11387 11389 11391 11390 11392 11394 11393 11395 11397 11396 11398 11400 11399 11401 11403 11402 11404 11406 11405 11407 11409 11408 11410 11412 11411 11413 11415 11414 11416 11418 11417 11419 11421 11420 11422 11424 11423 11425 11427 11426 11428 11430 11429 11431 11433 11432 11434 11436 11435 11437 11439 11438 11440 11442 11441 11443 11445 11444 11446 11448 11447 11449 11451 11450 11452 11454 11453 11455 11457 11456 11458 11460 11459 11461 11463 11462 11464 11466 11465 11467 11469 11468 11470 11472 11471 11473 11475 11474 11476 11478 11477 11479 11481 11480 11482 11484 11483 11485 11487 11486 11488 11490 11489 11491 11493 11492 11494 11496 11495 11497 11499 11498 11500 11502 11501 11503 11505 11504 11506 11508 11507 11509 11511 11510 11512 11514 11513 11515 11517 11516 11518 11520 11519 11521 11523 11522 11524 11526 11525 11527 11529 11528 11530 11532 11531 11533 11535 11534 11536 11538 11537 11539 11541 11540 11542 11544 11543 11545 11547 11546 11548 11550 11549 11551 11553 11552 11554 11556 11555 11557 11559 11558 11560 11562 11561 11563 11565 11564 11566 11568 11567 11569 11571 11570 11572 11574 11573 11575 11577 11576 11578 11580 11579 11581 11583 11582 11584 11586 11585 11587 11589 11588 11590 11592 11591 11593 11595 11594 11596 11598 11597 11599 11601 11600 11602 11604 11603 11605 11607 11606 11608 11610 11609 11611 11613 11612 11614 11616 11615 11617 11619 11618 11620 11622 11621 11623 11625 11624 11626 11628 11627 11629 11631 11630 11632 11634 11633 11635 11637 11636 11638 11640 11639 11641 11643 11642 11644 11646 11645 11647 11649 11648 11650 11652 11651 11653 11655 11654 11656 11658 11657 11659 11661 11660 11662 11664 11663 11665 11667 11666 11668 11670 11669 11671 11673 11672 11674 11676 11675 11677 11679 11678 11680 11682 11681 11683 11685 11684 11686 11688 11687 11689 11691 11690 11692 11694 11693 11695 11697 11696 11698 11700 11699 11701 11703 11702 11704 11706 11705 11707 11709 11708 11710 11712 11711 11713 11715 11714 11716 11718 11717 11719 11721 11720 11722 11724 11723 11725 11727 11726 11728 11730 11729 11731 11733 11732 11734 11736 11735 11737 11739 11738 11740 11742 11741 11743 11745 11744 11746 11748 11747 11749 11751 11750 11752 11754 11753 11755 11757 11756 11758 11760 11759 11761 11763 11762 11764 11766 11765 11767 11769 11768 11770 11772 11771 11773 11775 11774 11776 11778 11777 11779 11781 11780 11782 11784 11783 11785 11787 11786 11788 11790 11789 11791 11793 11792 11794 11796 11795 11797 11799 11798 11800 11802 11801 11803 11805 11804 11806 11808 11807 11809 11811 11810 11812 11814 11813 11815 11817 11816 11818 11820 11819 11821 11823 11822 11824 11826 11825 11827 11829 11828 11830 11832 11831 11833 11835 11834 11836 11838 11837 11839 11841 11840 11842 11844 11843 11845 11847 11846 11848 11850 11849 11851 11853 11852 11854 11856 11855 11857 11859 11858 11860 11862 11861 11863 11865 11864 11866 11868 11867 11869 11871 11870 11872 11874 11873 11875 11877 11876 11878 11880 11879 11881 11883 11882 11884 11886 11885 11887 11889 11888 11890 11892 11891 11893 11895 11894 11896 11898 11897 11899 11901 11900 11902 11904 11903 11905 11907 11906 11908 11910 11909 11911 11913 11912 11914 11916 11915 11917 11919 11918 11920 11922 11921 11923 11925 11924 11926 11928 11927 11929 11931 11930 11932 11934 11933 11935 11937 11936 11938 11940 11939 11941 11943 11942 11944 11946 11945 11947 11949 11948 11950 11952 11951 11953 11955 11954 11956 11958 11957 11959 11961 11960 11962 11964 11963 11965 11967 11966 11968 11970 11969 11971 11973 11972 11974 11976 11975 11977 11979 11978 11980 11982 11981 11983 11985 11984 11986 11988 11987 11989 11991 11990 11992 11994 11993 11995 11997 11996 11998 12000 11999 12001 12003 12002 12004 12006 12005 12007 12009 12008 12010 12012 12011 12013 12015 12014 12016 12018 12017 12019 12021 12020 12022 12024 12023 12025 12027 12026 12028 12030 12029 12031 12033 12032 12034 12036 12035 12037 12039 12038 12040 12042 12041 12043 12045 12044 12046 12048 12047 12049 12051 12050 12052 12054 12053 12055 12057 12056 12058 12060 12059 12061 12063 12062 12064 12066 12065 12067 12069 12068 12070 12072 12071 12073 12075 12074 12076 12078 12077 12079 12081 12080 12082 12084 12083 12085 12087 12086 12088 12090 12089 12091 12093 12092 12094 12096 12095 12097 12099 12098 12100 12102 12101 12103 12105 12104 12106 12108 12107 12109 12111 12110 12112 12114 12113 12115 12117 12116 12118 12120 12119 12121 12123 12122 12124 12126 12125 12127 12129 12128 12130 12132 12131 12133 12135 12134 12136 12138 12137 12139 12141 12140 12142 12144 12143 12145 12147 12146 12148 12150 12149 12151 12153 12152 12154 12156 12155 12157 12159 12158 12160 12162 12161 12163 12165 12164 12166 12168 12167 12169 12171 12170 12172 12174 12173 12175 12177 12176 12178 12180 12179 12181 12183 12182 12184 12186 12185 12187 12189 12188 12190 12192 12191 12193 12195 12194 12196 12198 12197 12199 12201 12200 12202 12204 12203 12205 12207 12206 12208 12210 12209 12211 12213 12212 12214 12216 12215 12217 12219 12218 12220 12222 12221 12223 12225 12224 12226 12228 12227 12229 12231 12230 12232 12234 12233 12235 12237 12236 12238 12240 12239 12241 12243 12242 12244 12246 12245 12247 12249 12248 12250 12252 12251 12253 12255 12254 12256 12258 12257 12259 12261 12260 12262 12264 12263 12265 12267 12266 12268 12270 12269 12271 12273 12272 12274 12276 12275 12277 12279 12278 12280 12282 12281 12283 12285 12284 12286 12288 12287 12289 12291 12290 12292 12294 12293 12295 12297 12296 12298 12300 12299 12301 12303 12302 12304 12306 12305 12307 12309 12308 12310 12312 12311 12313 12315 12314 12316 12318 12317 12319 12321 12320 12322 12324 12323 12325 12327 12326 12328 12330 12329 12331 12333 12332 12334 12336 12335 12337 12339 12338 12340 12342 12341 12343 12345 12344 12346 12348 12347 12349 12351 12350 12352 12354 12353 12355 12357 12356 12358 12360 12359 12361 12363 12362 12364 12366 12365 12367 12369 12368 12370 12372 12371 12373 12375 12374 12376 12378 12377 12379 12381 12380 12382 12384 12383 12385 12387 12386 12388 12390 12389 12391 12393 12392 12394 12396 12395 12397 12399 12398 12400 12402 12401 12403 12405 12404 12406 12408 12407 12409 12411 12410 12412 12414 12413 12415 12417 12416 12418 12420 12419 12421 12423 12422 12424 12426 12425 12427 12429 12428 12430 12432 12431 12433 12435 12434 12436 12438 12437 12439 12441 12440 12442 12444 12443 12445 12447 12446 12448 12450 12449 12451 12453 12452 12454 12456 12455 12457 12459 12458 12460 12462 12461 12463 12465 12464 12466 12468 12467 12469 12471 12470 12472 12474 12473 12475 12477 12476 12478 12480 12479 12481 12483 12482 12484 12486 12485 12487 12489 12488 12490 12492 12491 12493 12495 12494 12496 12498 12497 12499 12501 12500 12502 12504 12503 12505 12507 12506 12508 12510 12509 12511 12513 12512 12514 12516 12515 12517 12519 12518 12520 12522 12521 12523 12525 12524 12526 12528 12527 12529 12531 12530 12532 12534 12533 12535 12537 12536 12538 12540 12539 12541 12543 12542 12544 12546 12545 12547 12549 12548 12550 12552 12551 12553 12555 12554 12556 12558 12557 12559 12561 12560 12562 12564 12563 12565 12567 12566 12568 12570 12569 12571 12573 12572 12574 12576 12575 12577 12579 12578 12580 12582 12581 12583 12585 12584 12586 12588 12587 12589 12591 12590 12592 12594 12593 12595 12597 12596 12598 12600 12599 12601 12603 12602 12604 12606 12605 12607 12609 12608 12610 12612 12611 12613 12615 12614 12616 12618 12617 12619 12621 12620 12622 12624 12623 12625 12627 12626 12628 12630 12629 12631 12633 12632 12634 12636 12635 12637 12639 12638 12640 12642 12641 12643 12645 12644 12646 12648 12647 12649 12651 12650 12652 12654 12653 12655 12657 12656 12658 12660 12659 12661 12663 12662 12664 12666 12665 12667 12669 12668 12670 12672 12671 12673 12675 12674 12676 12678 12677 12679 12681 12680 12682 12684 12683 12685 12687 12686 12688 12690 12689 12691 12693 12692 12694 12696 12695 12697 12699 12698 12700 12702 12701 12703 12705 12704 12706 12708 12707 12709 12711 12710 12712 12714 12713 12715 12717 12716 12718 12720 12719 12721 12723 12722 12724 12726 12725 12727 12729 12728 12730 12732 12731 12733 12735 12734 12736 12738 12737 12739 12741 12740 12742 12744 12743 12745 12747 12746 12748 12750 12749 12751 12753 12752 12754 12756 12755 12757 12759 12758 12760 12762 12761 12763 12765 12764 12766 12768 12767 12769 12771 12770 12772 12774 12773 12775 12777 12776 12778 12780 12779 12781 12783 12782 12784 12786 12785 12787 12789 12788 12790 12792 12791 12793 12795 12794 12796 12798 12797 12799 12801 12800 12802 12804 12803 12805 12807 12806 12808 12810 12809 12811 12813 12812 12814 12816 12815 12817 12819 12818 12820 12822 12821 12823 12825 12824 12826 12828 12827 12829 12831 12830 12832 12834 12833 12835 12837 12836 12838 12840 12839 12841 12843 12842 12844 12846 12845 12847 12849 12848 12850 12852 12851 12853 12855 12854 12856 12858 12857 12859 12861 12860 12862 12864 12863 12865 12867 12866 12868 12870 12869 12871 12873 12872 12874 12876 12875 12877 12879 12878 12880 12882 12881 12883 12885 12884 12886 12888 12887 12889 12891 12890 12892 12894 12893 12895 12897 12896 12898 12900 12899 12901 12903 12902 12904 12906 12905 12907 12909 12908 12910 12912 12911 12913 12915 12914 12916 12918 12917 12919 12921 12920 12922 12924 12923 12925 12927 12926 12928 12930 12929 12931 12933 12932 12934 12936 12935 12937 12939 12938 12940 12942 12941 12943 12945 12944 12946 12948 12947 12949 12951 12950 12952 12954 12953 12955 12957 12956 12958 12960 12959 12961 12963 12962 12964 12966 12965 12967 12969 12968 12970 12972 12971 12973 12975 12974 12976 12978 12977 12979 12981 12980 12982 12984 12983 12985 12987 12986 12988 12990 12989 12991 12993 12992 12994 12996 12995 12997 12999 12998 13000 13002 13001 13003 13005 13004 13006 13008 13007 13009 13011 13010 13012 13014 13013 13015 13017 13016 13018 13020 13019 13021 13023 13022 13024 13026 13025 13027 13029 13028 13030 13032 13031 13033 13035 13034 13036 13038 13037 13039 13041 13040 13042 13044 13043 13045 13047 13046 13048 13050 13049 13051 13053 13052 13054 13056 13055 13057 13059 13058 13060 13062 13061 13063 13065 13064 13066 13068 13067 13069 13071 13070 13072 13074 13073 13075 13077 13076 13078 13080 13079 13081 13083 13082 13084 13086 13085 13087 13089 13088 13090 13092 13091 13093 13095 13094 13096 13098 13097 13099 13101 13100 13102 13104 13103 13105 13107 13106 13108 13110 13109 13111 13113 13112 13114 13116 13115 13117 13119 13118 13120 13122 13121 13123 13125 13124 13126 13128 13127 13129 13131 13130 13132 13134 13133 13135 13137 13136 13138 13140 13139 13141 13143 13142 13144 13146 13145 13147 13149 13148 13150 13152 13151 13153 13155 13154 13156 13158 13157 13159 13161 13160 13162 13164 13163 13165 13167 13166 13168 13170 13169 13171 13173 13172 13174 13176 13175 13177 13179 13178 13180 13182 13181 13183 13185 13184 13186 13188 13187 13189 13191 13190 13192 13194 13193 13195 13197 13196 13198 13200 13199 13201 13203 13202 13204 13206 13205 13207 13209 13208 13210 13212 13211 13213 13215 13214 13216 13218 13217 13219 13221 13220 13222 13224 13223 13225 13227 13226 13228 13230 13229 13231 13233 13232 13234 13236 13235 13237 13239 13238 13240 13242 13241 13243 13245 13244 13246 13248 13247 13249 13251 13250 13252 13254 13253 13255 13257 13256 13258 13260 13259 13261 13263 13262 13264 13266 13265 13267 13269 13268 13270 13272 13271 13273 13275 13274 13276 13278 13277 13279 13281 13280 13282 13284 13283 13285 13287 13286 13288 13290 13289 13291 13293 13292 13294 13296 13295 13297 13299 13298 13300 13302 13301 13303 13305 13304 13306 13308 13307 13309 13311 13310 13312 13314 13313 13315 13317 13316 13318 13320 13319 13321 13323 13322 13324 13326 13325 13327 13329 13328 13330 13332 13331 13333 13335 13334 13336 13338 13337 13339 13341 13340 13342 13344 13343 13345 13347 13346 13348 13350 13349 13351 13353 13352 13354 13356 13355 13357 13359 13358 13360 13362 13361 13363 13365 13364 13366 13368 13367 13369 13371 13370 13372 13374 13373 13375 13377 13376 13378 13380 13379 13381 13383 13382 13384 13386 13385 13387 13389 13388 13390 13392 13391 13393 13395 13394 13396 13398 13397 13399 13401 13400 13402 13404 13403 13405 13407 13406 13408 13410 13409 13411 13413 13412 13414 13416 13415 13417 13419 13418 13420 13422 13421 13423 13425 13424 13426 13428 13427 13429 13431 13430 13432 13434 13433 13435 13437 13436 13438 13440 13439 13441 13443 13442 13444 13446 13445 13447 13449 13448 13450 13452 13451 13453 13455 13454 13456 13458 13457 13459 13461 13460 13462 13464 13463 13465 13467 13466 13468 13470 13469 13471 13473 13472 13474 13476 13475 13477 13479 13478 13480 13482 13481 13483 13485 13484 13486 13488 13487 13489 13491 13490 13492 13494 13493 13495 13497 13496 13498 13500 13499 13501 13503 13502 13504 13506 13505 13507 13509 13508 13510 13512 13511 13513 13515 13514 13516 13518 13517 13519 13521 13520 13522 13524 13523 13525 13527 13526 13528 13530 13529 13531 13533 13532 13534 13536 13535 13537 13539 13538 13540 13542 13541 13543 13545 13544 13546 13548 13547 13549 13551 13550 13552 13554 13553 13555 13557 13556 13558 13560 13559 13561 13563 13562 13564 13566 13565 13567 13569 13568 13570 13572 13571 13573 13575 13574 13576 13578 13577 13579 13581 13580 13582 13584 13583 13585 13587 13586 13588 13590 13589 13591 13593 13592 13594 13596 13595 13597 13599 13598 13600 13602 13601 13603 13605 13604 13606 13608 13607 13609 13611 13610 13612 13614 13613 13615 13617 13616 13618 13620 13619 13621 13623 13622 13624 13626 13625 13627 13629 13628 13630 13632 13631 13633 13635 13634 13636 13638 13637 13639 13641 13640 13642 13644 13643 13645 13647 13646 13648 13650 13649 13651 13653 13652 13654 13656 13655 13657 13659 13658 13660 13662 13661 13663 13665 13664 13666 13668 13667 13669 13671 13670 13672 13674 13673 13675 13677 13676 13678 13680 13679 13681 13683 13682 13684 13686 13685 13687 13689 13688 13690 13692 13691 13693 13695 13694 13696 13698 13697 13699 13701 13700 13702 13704 13703 13705 13707 13706 13708 13710 13709 13711 13713 13712 13714 13716 13715 13717 13719 13718 13720 13722 13721 13723 13725 13724 13726 13728 13727 13729 13731 13730 13732 13734 13733 13735 13737 13736 13738 13740 13739 13741 13743 13742 13744 13746 13745 13747 13749 13748 13750 13752 13751 13753 13755 13754 13756 13758 13757 13759 13761 13760 13762 13764 13763 13765 13767 13766 13768 13770 13769 13771 13773 13772 13774 13776 13775 13777 13779 13778 13780 13782 13781 13783 13785 13784 13786 13788 13787 13789 13791 13790 13792 13794 13793 13795 13797 13796 13798 13800 13799 13801 13803 13802 13804 13806 13805 13807 13809 13808 13810 13812 13811 13813 13815 13814 13816 13818 13817 13819 13821 13820 13822 13824 13823 13825 13827 13826 13828 13830 13829 13831 13833 13832 13834 13836 13835 13837 13839 13838 13840 13842 13841 13843 13845 13844 13846 13848 13847 13849 13851 13850 13852 13854 13853 13855 13857 13856 13858 13860 13859 13861 13863 13862 13864 13866 13865 13867 13869 13868 13870 13872 13871 13873 13875 13874 13876 13878 13877 13879 13881 13880 13882 13884 13883 13885 13887 13886 13888 13890 13889 13891 13893 13892 13894 13896 13895 13897 13899 13898 13900 13902 13901 13903 13905 13904 13906 13908 13907 13909 13911 13910 13912 13914 13913 13915 13917 13916 13918 13920 13919 13921 13923 13922 13924 13926 13925 13927 13929 13928 13930 13932 13931 13933 13935 13934 13936 13938 13937 13939 13941 13940 13942 13944 13943 13945 13947 13946 13948 13950 13949 13951 13953 13952 13954 13956 13955 13957 13959 13958 13960 13962 13961 13963 13965 13964 13966 13968 13967 13969 13971 13970 13972 13974 13973 13975 13977 13976 13978 13980 13979 13981 13983 13982 13984 13986 13985 13987 13989 13988 13990 13992 13991 13993 13995 13994 13996 13998 13997 13999 14001 14000 14002 14004 14003 14005 14007 14006 14008 14010 14009 14011 14013 14012 14014 14016 14015 14017 14019 14018 14020 14022 14021 14023 14025 14024 14026 14028 14027 14029 14031 14030 14032 14034 14033 14035 14037 14036 14038 14040 14039 14041 14043 14042 14044 14046 14045 14047 14049 14048 14050 14052 14051 14053 14055 14054 14056 14058 14057 14059 14061 14060 14062 14064 14063 14065 14067 14066 14068 14070 14069 14071 14073 14072 14074 14076 14075 14077 14079 14078 14080 14082 14081 14083 14085 14084 14086 14088 14087 14089 14091 14090 14092 14094 14093 14095 14097 14096 14098 14100 14099 14101 14103 14102 14104 14106 14105 14107 14109 14108 14110 14112 14111 14113 14115 14114 14116 14118 14117 14119 14121 14120 14122 14124 14123 14125 14127 14126 14128 14130 14129 14131 14133 14132 14134 14136 14135 14137 14139 14138 14140 14142 14141 14143 14145 14144 14146 14148 14147 14149 14151 14150 14152 14154 14153 14155 14157 14156 14158 14160 14159 14161 14163 14162 14164 14166 14165 14167 14169 14168 14170 14172 14171 14173 14175 14174 14176 14178 14177 14179 14181 14180 14182 14184 14183 14185 14187 14186 14188 14190 14189 14191 14193 14192 14194 14196 14195 14197 14199 14198 14200 14202 14201 14203 14205 14204 14206 14208 14207 14209 14211 14210 14212 14214 14213 14215 14217 14216 14218 14220 14219 14221 14223 14222 14224 14226 14225 14227 14229 14228 14230 14232 14231 14233 14235 14234 14236 14238 14237 14239 14241 14240 14242 14244 14243 14245 14247 14246 14248 14250 14249 14251 14253 14252 14254 14256 14255 14257 14259 14258 14260 14262 14261 14263 14265 14264 14266 14268 14267 14269 14271 14270 14272 14274 14273 14275 14277 14276 14278 14280 14279 14281 2388 !NPHI: dihedrals 1 5 7 8 1 5 7 9 1 5 7 10 1 5 25 26 1 5 25 27 2 1 5 6 2 1 5 7 2 1 5 25 3 1 5 6 3 1 5 7 3 1 5 25 4 1 5 6 4 1 5 7 4 1 5 25 5 7 10 11 5 7 10 12 5 7 10 13 5 25 27 28 5 25 27 30 6 5 7 8 6 5 7 9 6 5 7 10 6 5 25 26 6 5 25 27 7 5 25 26 7 5 25 27 7 10 13 14 7 10 13 15 7 10 13 16 8 7 5 25 8 7 10 11 8 7 10 12 8 7 10 13 9 7 5 25 9 7 10 11 9 7 10 12 9 7 10 13 10 7 5 25 10 13 16 17 10 13 16 18 11 10 13 14 11 10 13 15 11 10 13 16 12 10 13 14 12 10 13 15 12 10 13 16 13 16 18 19 13 16 18 22 14 13 16 17 14 13 16 18 15 13 16 17 15 13 16 18 16 18 19 20 16 18 19 21 16 18 22 23 16 18 22 24 17 16 18 19 17 16 18 22 19 18 22 23 19 18 22 24 20 19 18 22 21 19 18 22 25 27 28 29 25 27 28 33 25 27 28 39 25 27 30 31 25 27 30 32 25 27 30 36 26 25 27 28 26 25 27 30 27 28 33 34 27 28 33 35 27 28 33 36 27 28 39 40 27 28 39 41 27 30 36 33 27 30 36 37 27 30 36 38 28 27 30 31 28 27 30 32 28 27 30 36 28 33 36 30 28 33 36 37 28 33 36 38 28 39 41 42 28 39 41 43 29 28 27 30 29 28 33 34 29 28 33 35 29 28 33 36 29 28 39 40 29 28 39 41 30 27 28 33 30 27 28 39 30 36 33 34 30 36 33 35 31 30 36 33 31 30 36 37 31 30 36 38 32 30 36 33 32 30 36 37 32 30 36 38 33 28 39 40 33 28 39 41 34 33 28 39 34 33 36 37 34 33 36 38 35 33 28 39 35 33 36 37 35 33 36 38 36 33 28 39 39 41 43 44 39 41 43 45 39 41 43 51 40 39 41 42 40 39 41 43 41 43 45 46 41 43 45 47 41 43 45 48 41 43 51 52 41 43 51 53 42 41 43 44 42 41 43 45 42 41 43 51 43 45 48 49 43 45 48 50 43 51 53 54 43 51 53 55 44 43 45 46 44 43 45 47 44 43 45 48 44 43 51 52 44 43 51 53 45 43 51 52 45 43 51 53 46 45 43 51 46 45 48 49 46 45 48 50 47 45 43 51 47 45 48 49 47 45 48 50 48 45 43 51 51 53 55 56 51 53 55 57 51 53 55 71 52 51 53 54 52 51 53 55 53 55 57 58 53 55 57 59 53 55 57 60 53 55 71 72 53 55 71 73 54 53 55 56 54 53 55 57 54 53 55 71 55 57 60 61 55 57 60 63 55 71 73 74 55 71 73 75 56 55 57 58 56 55 57 59 56 55 57 60 56 55 71 72 56 55 71 73 57 55 71 72 57 55 71 73 57 60 61 62 57 60 61 65 57 60 63 64 57 60 63 67 58 57 55 71 58 57 60 61 58 57 60 63 59 57 55 71 59 57 60 61 59 57 60 63 60 57 55 71 60 61 65 66 60 61 65 69 60 63 67 68 60 63 67 69 61 60 63 64 61 60 63 67 61 65 69 67 61 65 69 70 62 61 60 63 62 61 65 66 62 61 65 69 63 60 61 65 63 67 69 65 63 67 69 70 64 63 67 68 64 63 67 69 65 69 67 68 66 65 69 67 66 65 69 70 68 67 69 70 71 73 75 76 71 73 75 77 71 73 75 82 72 71 73 74 72 71 73 75 73 75 77 78 73 75 77 79 73 75 77 80 73 75 82 83 73 75 82 84 74 73 75 76 74 73 75 77 74 73 75 82 75 77 80 81 75 82 84 85 75 82 84 86 76 75 77 78 76 75 77 79 76 75 77 80 76 75 82 83 76 75 82 84 77 75 82 83 77 75 82 84 78 77 75 82 78 77 80 81 79 77 75 82 79 77 80 81 80 77 75 82 82 84 86 87 82 84 86 88 82 84 86 101 83 82 84 85 83 82 84 86 84 86 88 89 84 86 88 90 84 86 88 91 84 86 101 102 84 86 101 103 85 84 86 87 85 84 86 88 85 84 86 101 86 88 91 92 86 88 91 93 86 88 91 97 86 101 103 104 86 101 103 105 87 86 88 89 87 86 88 90 87 86 88 91 87 86 101 102 87 86 101 103 88 86 101 102 88 86 101 103 88 91 93 94 88 91 93 95 88 91 93 96 88 91 97 98 88 91 97 99 88 91 97 100 89 88 86 101 89 88 91 92 89 88 91 93 89 88 91 97 90 88 86 101 90 88 91 92 90 88 91 93 90 88 91 97 91 88 86 101 92 91 93 94 92 91 93 95 92 91 93 96 92 91 97 98 92 91 97 99 92 91 97 100 93 91 97 98 93 91 97 99 93 91 97 100 94 93 91 97 95 93 91 97 96 93 91 97 101 103 105 106 101 103 105 107 101 103 105 116 102 101 103 104 102 101 103 105 103 105 107 108 103 105 107 109 103 105 107 110 103 105 116 117 103 105 116 118 104 103 105 106 104 103 105 107 104 103 105 116 105 107 110 111 105 107 110 112 105 107 110 113 105 116 118 119 105 116 118 121 106 105 107 108 106 105 107 109 106 105 107 110 106 105 116 117 106 105 116 118 107 105 116 117 107 105 116 118 107 110 113 114 107 110 113 115 108 107 105 116 108 107 110 111 108 107 110 112 108 107 110 113 109 107 105 116 109 107 110 111 109 107 110 112 109 107 110 113 110 107 105 116 111 110 113 114 111 110 113 115 112 110 113 114 112 110 113 115 116 118 119 120 116 118 119 124 116 118 119 130 116 118 121 122 116 118 121 123 116 118 121 127 117 116 118 119 117 116 118 121 118 119 124 125 118 119 124 126 118 119 124 127 118 119 130 131 118 119 130 132 118 121 127 124 118 121 127 128 118 121 127 129 119 118 121 122 119 118 121 123 119 118 121 127 119 124 127 121 119 124 127 128 119 124 127 129 119 130 132 133 119 130 132 135 120 119 118 121 120 119 124 125 120 119 124 126 120 119 124 127 120 119 130 131 120 119 130 132 121 118 119 124 121 118 119 130 121 127 124 125 121 127 124 126 122 121 127 124 122 121 127 128 122 121 127 129 123 121 127 124 123 121 127 128 123 121 127 129 124 119 130 131 124 119 130 132 125 124 119 130 125 124 127 128 125 124 127 129 126 124 119 130 126 124 127 128 126 124 127 129 127 124 119 130 130 132 133 134 130 132 133 138 130 132 133 144 130 132 135 136 130 132 135 137 130 132 135 141 131 130 132 133 131 130 132 135 132 133 138 139 132 133 138 140 132 133 138 141 132 133 144 145 132 133 144 146 132 135 141 138 132 135 141 142 132 135 141 143 133 132 135 136 133 132 135 137 133 132 135 141 133 138 141 135 133 138 141 142 133 138 141 143 133 144 146 147 133 144 146 148 134 133 132 135 134 133 138 139 134 133 138 140 134 133 138 141 134 133 144 145 134 133 144 146 135 132 133 138 135 132 133 144 135 141 138 139 135 141 138 140 136 135 141 138 136 135 141 142 136 135 141 143 137 135 141 138 137 135 141 142 137 135 141 143 138 133 144 145 138 133 144 146 139 138 133 144 139 138 141 142 139 138 141 143 140 138 133 144 140 138 141 142 140 138 141 143 141 138 133 144 144 146 148 149 144 146 148 150 144 146 148 165 145 144 146 147 145 144 146 148 146 148 150 151 146 148 150 152 146 148 150 153 146 148 165 166 146 148 165 167 147 146 148 149 147 146 148 150 147 146 148 165 148 150 153 154 148 150 153 156 148 165 167 168 148 165 167 169 149 148 150 151 149 148 150 152 149 148 150 153 149 148 165 166 149 148 165 167 150 148 165 166 150 148 165 167 150 153 154 155 150 153 154 158 150 153 156 157 150 153 156 160 151 150 148 165 151 150 153 154 151 150 153 156 152 150 148 165 152 150 153 154 152 150 153 156 153 150 148 165 153 154 158 159 153 154 158 162 153 156 160 161 153 156 160 162 154 153 156 157 154 153 156 160 154 158 162 160 154 158 162 163 155 154 153 156 155 154 158 159 155 154 158 162 156 153 154 158 156 160 162 158 156 160 162 163 157 156 160 161 157 156 160 162 158 162 160 161 158 162 163 164 159 158 162 160 159 158 162 163 160 162 163 164 161 160 162 163 165 167 169 170 165 167 169 171 165 167 169 179 166 165 167 168 166 165 167 169 167 169 171 172 167 169 171 173 167 169 171 175 167 169 179 180 167 169 179 181 168 167 169 170 168 167 169 171 168 167 169 179 169 171 173 174 169 171 175 176 169 171 175 177 169 171 175 178 169 179 181 182 169 179 181 183 170 169 171 172 170 169 171 173 170 169 171 175 170 169 179 180 170 169 179 181 171 169 179 180 171 169 179 181 172 171 169 179 172 171 173 174 172 171 175 176 172 171 175 177 172 171 175 178 173 171 169 179 173 171 175 176 173 171 175 177 173 171 175 178 174 173 171 175 175 171 169 179 179 181 183 184 179 181 183 185 179 181 183 186 180 179 181 182 180 179 181 183 181 183 186 187 181 183 186 188 182 181 183 184 182 181 183 185 182 181 183 186 183 186 188 189 183 186 188 191 184 183 186 187 184 183 186 188 185 183 186 187 185 183 186 188 186 188 189 190 186 188 189 194 186 188 189 200 186 188 191 192 186 188 191 193 186 188 191 197 187 186 188 189 187 186 188 191 188 189 194 195 188 189 194 196 188 189 194 197 188 189 200 201 188 189 200 202 188 191 197 194 188 191 197 198 188 191 197 199 189 188 191 192 189 188 191 193 189 188 191 197 189 194 197 191 189 194 197 198 189 194 197 199 189 200 202 203 189 200 202 204 190 189 188 191 190 189 194 195 190 189 194 196 190 189 194 197 190 189 200 201 190 189 200 202 191 188 189 194 191 188 189 200 191 197 194 195 191 197 194 196 192 191 197 194 192 191 197 198 192 191 197 199 193 191 197 194 193 191 197 198 193 191 197 199 194 189 200 201 194 189 200 202 195 194 189 200 195 194 197 198 195 194 197 199 196 194 189 200 196 194 197 198 196 194 197 199 197 194 189 200 200 202 204 205 200 202 204 206 200 202 204 211 201 200 202 203 201 200 202 204 202 204 206 207 202 204 206 208 202 204 206 209 202 204 211 212 202 204 211 213 203 202 204 205 203 202 204 206 203 202 204 211 204 206 209 210 204 211 213 214 204 211 213 215 205 204 206 207 205 204 206 208 205 204 206 209 205 204 211 212 205 204 211 213 206 204 211 212 206 204 211 213 207 206 204 211 207 206 209 210 208 206 204 211 208 206 209 210 209 206 204 211 211 213 215 216 211 213 215 217 211 213 215 233 212 211 213 214 212 211 213 215 213 215 217 218 213 215 217 219 213 215 217 220 213 215 233 234 213 215 233 235 214 213 215 216 214 213 215 217 214 213 215 233 215 217 220 221 215 217 220 222 215 217 220 223 215 233 235 236 215 233 235 237 216 215 217 218 216 215 217 219 216 215 217 220 216 215 233 234 216 215 233 235 217 215 233 234 217 215 233 235 217 220 223 224 217 220 223 225 217 220 223 226 218 217 215 233 218 217 220 221 218 217 220 222 218 217 220 223 219 217 215 233 219 217 220 221 219 217 220 222 219 217 220 223 220 217 215 233 220 223 226 227 220 223 226 228 220 223 226 229 221 220 223 224 221 220 223 225 221 220 223 226 222 220 223 224 222 220 223 225 222 220 223 226 223 226 229 230 223 226 229 231 223 226 229 232 224 223 226 227 224 223 226 228 224 223 226 229 225 223 226 227 225 223 226 228 225 223 226 229 227 226 229 230 227 226 229 231 227 226 229 232 228 226 229 230 228 226 229 231 228 226 229 232 233 235 237 238 233 235 237 239 233 235 237 243 234 233 235 236 234 233 235 237 235 237 239 240 235 237 239 241 235 237 239 242 235 237 243 244 235 237 243 245 236 235 237 238 236 235 237 239 236 235 237 243 237 243 245 246 237 243 245 247 238 237 239 240 238 237 239 241 238 237 239 242 238 237 243 244 238 237 243 245 239 237 243 244 239 237 243 245 240 239 237 243 241 239 237 243 242 239 237 243 243 245 247 248 243 245 247 249 243 245 247 267 244 243 245 246 244 243 245 247 245 247 249 250 245 247 249 251 245 247 249 252 245 247 267 268 245 247 267 269 246 245 247 248 246 245 247 249 246 245 247 267 247 249 252 253 247 249 252 254 247 249 252 255 247 267 269 270 247 267 269 271 248 247 249 250 248 247 249 251 248 247 249 252 248 247 267 268 248 247 267 269 249 247 267 268 249 247 267 269 249 252 255 256 249 252 255 257 249 252 255 258 250 249 247 267 250 249 252 253 250 249 252 254 250 249 252 255 251 249 247 267 251 249 252 253 251 249 252 254 251 249 252 255 252 249 247 267 252 255 258 259 252 255 258 260 253 252 255 256 253 252 255 257 253 252 255 258 254 252 255 256 254 252 255 257 254 252 255 258 255 258 260 261 255 258 260 264 256 255 258 259 256 255 258 260 257 255 258 259 257 255 258 260 258 260 261 262 258 260 261 263 258 260 264 265 258 260 264 266 259 258 260 261 259 258 260 264 261 260 264 265 261 260 264 266 262 261 260 264 263 261 260 264 267 269 271 272 267 269 271 273 267 269 271 286 268 267 269 270 268 267 269 271 269 271 273 274 269 271 273 275 269 271 273 279 269 271 286 287 269 271 286 288 270 269 271 272 270 269 271 273 270 269 271 286 271 273 275 276 271 273 275 277 271 273 275 278 271 273 279 280 271 273 279 281 271 273 279 282 271 286 288 289 271 286 288 290 272 271 273 274 272 271 273 275 272 271 273 279 272 271 286 287 272 271 286 288 273 271 286 287 273 271 286 288 273 279 282 283 273 279 282 284 273 279 282 285 274 273 271 286 274 273 275 276 274 273 275 277 274 273 275 278 274 273 279 280 274 273 279 281 274 273 279 282 275 273 271 286 275 273 279 280 275 273 279 281 275 273 279 282 276 275 273 279 277 275 273 279 278 275 273 279 279 273 271 286 280 279 282 283 280 279 282 284 280 279 282 285 281 279 282 283 281 279 282 284 281 279 282 285 286 288 290 291 286 288 290 292 286 288 290 305 287 286 288 289 287 286 288 290 288 290 292 293 288 290 292 294 288 290 292 298 288 290 305 306 288 290 305 307 289 288 290 291 289 288 290 292 289 288 290 305 290 292 294 295 290 292 294 296 290 292 294 297 290 292 298 299 290 292 298 300 290 292 298 301 290 305 307 308 290 305 307 309 291 290 292 293 291 290 292 294 291 290 292 298 291 290 305 306 291 290 305 307 292 290 305 306 292 290 305 307 292 298 301 302 292 298 301 303 292 298 301 304 293 292 290 305 293 292 294 295 293 292 294 296 293 292 294 297 293 292 298 299 293 292 298 300 293 292 298 301 294 292 290 305 294 292 298 299 294 292 298 300 294 292 298 301 295 294 292 298 296 294 292 298 297 294 292 298 298 292 290 305 299 298 301 302 299 298 301 303 299 298 301 304 300 298 301 302 300 298 301 303 300 298 301 304 305 307 309 310 305 307 309 311 305 307 309 329 306 305 307 308 306 305 307 309 307 309 311 312 307 309 311 313 307 309 311 314 307 309 329 330 307 309 329 331 308 307 309 310 308 307 309 311 308 307 309 329 309 311 314 315 309 311 314 316 309 311 314 317 309 329 331 332 309 329 331 333 310 309 311 312 310 309 311 313 310 309 311 314 310 309 329 330 310 309 329 331 311 309 329 330 311 309 329 331 311 314 317 318 311 314 317 319 311 314 317 320 312 311 309 329 312 311 314 315 312 311 314 316 312 311 314 317 313 311 309 329 313 311 314 315 313 311 314 316 313 311 314 317 314 311 309 329 314 317 320 321 314 317 320 322 315 314 317 318 315 314 317 319 315 314 317 320 316 314 317 318 316 314 317 319 316 314 317 320 317 320 322 323 317 320 322 326 318 317 320 321 318 317 320 322 319 317 320 321 319 317 320 322 320 322 323 324 320 322 323 325 320 322 326 327 320 322 326 328 321 320 322 323 321 320 322 326 323 322 326 327 323 322 326 328 324 323 322 326 325 323 322 326 329 331 333 334 329 331 333 335 329 331 333 350 330 329 331 332 330 329 331 333 331 333 335 336 331 333 335 337 331 333 335 338 331 333 350 351 331 333 350 352 332 331 333 334 332 331 333 335 332 331 333 350 333 335 338 339 333 335 338 341 333 350 352 353 333 350 352 354 334 333 335 336 334 333 335 337 334 333 335 338 334 333 350 351 334 333 350 352 335 333 350 351 335 333 350 352 335 338 339 340 335 338 339 343 335 338 341 342 335 338 341 345 336 335 333 350 336 335 338 339 336 335 338 341 337 335 333 350 337 335 338 339 337 335 338 341 338 335 333 350 338 339 343 344 338 339 343 347 338 341 345 346 338 341 345 347 339 338 341 342 339 338 341 345 339 343 347 345 339 343 347 348 340 339 338 341 340 339 343 344 340 339 343 347 341 338 339 343 341 345 347 343 341 345 347 348 342 341 345 346 342 341 345 347 343 347 345 346 343 347 348 349 344 343 347 345 344 343 347 348 345 347 348 349 346 345 347 348 350 352 354 355 350 352 354 356 350 352 354 370 351 350 352 353 351 350 352 354 352 354 356 357 352 354 356 358 352 354 356 359 352 354 370 371 352 354 370 372 353 352 354 355 353 352 354 356 353 352 354 370 354 356 359 360 354 356 359 362 354 370 372 373 354 370 372 374 355 354 356 357 355 354 356 358 355 354 356 359 355 354 370 371 355 354 370 372 356 354 370 371 356 354 370 372 356 359 360 361 356 359 360 364 356 359 362 363 356 359 362 366 357 356 354 370 357 356 359 360 357 356 359 362 358 356 354 370 358 356 359 360 358 356 359 362 359 356 354 370 359 360 364 365 359 360 364 368 359 362 366 367 359 362 366 368 360 359 362 363 360 359 362 366 360 364 368 366 360 364 368 369 361 360 359 362 361 360 364 365 361 360 364 368 362 359 360 364 362 366 368 364 362 366 368 369 363 362 366 367 363 362 366 368 364 368 366 367 365 364 368 366 365 364 368 369 367 366 368 369 370 372 374 375 370 372 374 376 370 372 374 391 371 370 372 373 371 370 372 374 372 374 376 377 372 374 376 378 372 374 376 379 372 374 391 392 372 374 391 393 373 372 374 375 373 372 374 376 373 372 374 391 374 376 379 380 374 376 379 382 374 391 393 394 374 391 393 395 375 374 376 377 375 374 376 378 375 374 376 379 375 374 391 392 375 374 391 393 376 374 391 392 376 374 391 393 376 379 380 381 376 379 380 384 376 379 382 383 376 379 382 386 377 376 374 391 377 376 379 380 377 376 379 382 378 376 374 391 378 376 379 380 378 376 379 382 379 376 374 391 379 380 384 385 379 380 384 388 379 382 386 387 379 382 386 388 380 379 382 383 380 379 382 386 380 384 388 386 380 384 388 389 381 380 379 382 381 380 384 385 381 380 384 388 382 379 380 384 382 386 388 384 382 386 388 389 383 382 386 387 383 382 386 388 384 388 386 387 384 388 389 390 385 384 388 386 385 384 388 389 386 388 389 390 387 386 388 389 391 393 395 396 391 393 395 397 391 393 395 405 392 391 393 394 392 391 393 395 393 395 397 398 393 395 397 399 393 395 397 400 393 395 405 406 393 395 405 407 394 393 395 396 394 393 395 397 394 393 395 405 395 397 400 401 395 397 400 402 395 405 407 408 395 405 407 409 396 395 397 398 396 395 397 399 396 395 397 400 396 395 405 406 396 395 405 407 397 395 405 406 397 395 405 407 397 400 402 403 397 400 402 404 398 397 395 405 398 397 400 401 398 397 400 402 399 397 395 405 399 397 400 401 399 397 400 402 400 397 395 405 401 400 402 403 401 400 402 404 405 407 409 410 405 407 409 411 405 407 409 415 406 405 407 408 406 405 407 409 407 409 411 412 407 409 411 413 407 409 411 414 407 409 415 416 407 409 415 417 408 407 409 410 408 407 409 411 408 407 409 415 409 415 417 418 409 415 417 419 410 409 411 412 410 409 411 413 410 409 411 414 410 409 415 416 410 409 415 417 411 409 415 416 411 409 415 417 412 411 409 415 413 411 409 415 414 411 409 415 415 417 419 420 415 417 419 421 415 417 419 437 416 415 417 418 416 415 417 419 417 419 421 422 417 419 421 423 417 419 421 424 417 419 437 438 417 419 437 439 418 417 419 420 418 417 419 421 418 417 419 437 419 421 424 425 419 421 424 426 419 421 424 427 419 437 439 440 419 437 439 441 420 419 421 422 420 419 421 423 420 419 421 424 420 419 437 438 420 419 437 439 421 419 437 438 421 419 437 439 421 424 427 428 421 424 427 429 421 424 427 430 422 421 419 437 422 421 424 425 422 421 424 426 422 421 424 427 423 421 419 437 423 421 424 425 423 421 424 426 423 421 424 427 424 421 419 437 424 427 430 431 424 427 430 432 424 427 430 433 425 424 427 428 425 424 427 429 425 424 427 430 426 424 427 428 426 424 427 429 426 424 427 430 427 430 433 434 427 430 433 435 427 430 433 436 428 427 430 431 428 427 430 432 428 427 430 433 429 427 430 431 429 427 430 432 429 427 430 433 431 430 433 434 431 430 433 435 431 430 433 436 432 430 433 434 432 430 433 435 432 430 433 436 437 439 441 442 437 439 441 443 437 439 441 447 438 437 439 440 438 437 439 441 439 441 443 444 439 441 443 445 439 441 443 446 439 441 447 448 439 441 447 449 440 439 441 442 440 439 441 443 440 439 441 447 441 447 449 450 441 447 449 451 442 441 443 444 442 441 443 445 442 441 443 446 442 441 447 448 442 441 447 449 443 441 447 448 443 441 447 449 444 443 441 447 445 443 441 447 446 443 441 447 447 449 451 452 447 449 451 453 447 449 451 454 448 447 449 450 448 447 449 451 449 451 454 455 449 451 454 456 450 449 451 452 450 449 451 453 450 449 451 454 451 454 456 457 451 454 456 458 452 451 454 455 452 451 454 456 453 451 454 455 453 451 454 456 454 456 458 459 454 456 458 460 454 456 458 473 455 454 456 457 455 454 456 458 456 458 460 461 456 458 460 462 456 458 460 463 456 458 473 474 456 458 473 475 457 456 458 459 457 456 458 460 457 456 458 473 458 460 463 464 458 460 463 465 458 460 463 469 458 473 475 476 458 473 475 477 459 458 460 461 459 458 460 462 459 458 460 463 459 458 473 474 459 458 473 475 460 458 473 474 460 458 473 475 460 463 465 466 460 463 465 467 460 463 465 468 460 463 469 470 460 463 469 471 460 463 469 472 461 460 458 473 461 460 463 464 461 460 463 465 461 460 463 469 462 460 458 473 462 460 463 464 462 460 463 465 462 460 463 469 463 460 458 473 464 463 465 466 464 463 465 467 464 463 465 468 464 463 469 470 464 463 469 471 464 463 469 472 465 463 469 470 465 463 469 471 465 463 469 472 466 465 463 469 467 465 463 469 468 465 463 469 473 475 477 478 473 475 477 479 473 475 477 484 474 473 475 476 474 473 475 477 475 477 479 480 475 477 479 481 475 477 479 482 475 477 484 485 475 477 484 486 476 475 477 478 476 475 477 479 476 475 477 484 477 479 482 483 477 484 486 487 477 484 486 488 478 477 479 480 478 477 479 481 478 477 479 482 478 477 484 485 478 477 484 486 479 477 484 485 479 477 484 486 480 479 477 484 480 479 482 483 481 479 477 484 481 479 482 483 482 479 477 484 484 486 488 489 484 486 488 490 484 486 488 501 485 484 486 487 485 484 486 488 486 488 490 491 486 488 490 492 486 488 490 493 486 488 501 502 486 488 501 503 487 486 488 489 487 486 488 490 487 486 488 501 488 490 493 494 488 490 493 495 488 490 493 496 488 501 503 504 488 501 503 505 489 488 490 491 489 488 490 492 489 488 490 493 489 488 501 502 489 488 501 503 490 488 501 502 490 488 501 503 490 493 496 497 490 493 496 498 491 490 488 501 491 490 493 494 491 490 493 495 491 490 493 496 492 490 488 501 492 490 493 494 492 490 493 495 492 490 493 496 493 490 488 501 493 496 498 499 493 496 498 500 494 493 496 497 494 493 496 498 495 493 496 497 495 493 496 498 497 496 498 499 497 496 498 500 501 503 505 506 501 503 505 507 501 503 505 515 502 501 503 504 502 501 503 505 503 505 507 508 503 505 507 509 503 505 507 511 503 505 515 516 503 505 515 517 504 503 505 506 504 503 505 507 504 503 505 515 505 507 509 510 505 507 511 512 505 507 511 513 505 507 511 514 505 515 517 518 505 515 517 519 506 505 507 508 506 505 507 509 506 505 507 511 506 505 515 516 506 505 515 517 507 505 515 516 507 505 515 517 508 507 505 515 508 507 509 510 508 507 511 512 508 507 511 513 508 507 511 514 509 507 505 515 509 507 511 512 509 507 511 513 509 507 511 514 510 509 507 511 511 507 505 515 515 517 519 520 515 517 519 521 515 517 519 535 516 515 517 518 516 515 517 519 517 519 521 522 517 519 521 523 517 519 521 524 517 519 535 536 517 519 535 537 518 517 519 520 518 517 519 521 518 517 519 535 519 521 524 525 519 521 524 527 519 535 537 538 519 535 537 539 520 519 521 522 520 519 521 523 520 519 521 524 520 519 535 536 520 519 535 537 521 519 535 536 521 519 535 537 521 524 525 526 521 524 525 529 521 524 527 528 521 524 527 531 522 521 519 535 522 521 524 525 522 521 524 527 523 521 519 535 523 521 524 525 523 521 524 527 524 521 519 535 524 525 529 530 524 525 529 533 524 527 531 532 524 527 531 533 525 524 527 528 525 524 527 531 525 529 533 531 525 529 533 534 526 525 524 527 526 525 529 530 526 525 529 533 527 524 525 529 527 531 533 529 527 531 533 534 528 527 531 532 528 527 531 533 529 533 531 532 530 529 533 531 530 529 533 534 532 531 533 534 535 537 539 540 535 537 539 541 535 537 539 551 536 535 537 538 536 535 537 539 537 539 541 542 537 539 541 543 537 539 541 547 537 539 551 552 537 539 551 553 538 537 539 540 538 537 539 541 538 537 539 551 539 541 543 544 539 541 543 545 539 541 543 546 539 541 547 548 539 541 547 549 539 541 547 550 539 551 553 554 539 551 553 555 540 539 541 542 540 539 541 543 540 539 541 547 540 539 551 552 540 539 551 553 541 539 551 552 541 539 551 553 542 541 539 551 542 541 543 544 542 541 543 545 542 541 543 546 542 541 547 548 542 541 547 549 542 541 547 550 543 541 539 551 543 541 547 548 543 541 547 549 543 541 547 550 544 543 541 547 545 543 541 547 546 543 541 547 547 541 539 551 551 553 555 556 551 553 555 557 551 553 555 572 552 551 553 554 552 551 553 555 553 555 557 558 553 555 557 559 553 555 557 560 553 555 572 573 553 555 572 574 554 553 555 556 554 553 555 557 554 553 555 572 555 557 560 561 555 557 560 563 555 572 574 575 555 572 574 576 556 555 557 558 556 555 557 559 556 555 557 560 556 555 572 573 556 555 572 574 557 555 572 573 557 555 572 574 557 560 561 562 557 560 561 565 557 560 563 564 557 560 563 567 558 557 555 572 558 557 560 561 558 557 560 563 559 557 555 572 559 557 560 561 559 557 560 563 560 557 555 572 560 561 565 566 560 561 565 569 560 563 567 568 560 563 567 569 561 560 563 564 561 560 563 567 561 565 569 567 561 565 569 570 562 561 560 563 562 561 565 566 562 561 565 569 563 560 561 565 563 567 569 565 563 567 569 570 564 563 567 568 564 563 567 569 565 569 567 568 565 569 570 571 566 565 569 567 566 565 569 570 567 569 570 571 568 567 569 570 572 574 576 577 572 574 576 578 572 574 576 579 573 572 574 575 573 572 574 576 574 576 579 580 574 576 579 581 575 574 576 577 575 574 576 578 575 574 576 579 576 579 581 582 576 579 581 583 577 576 579 580 577 576 579 581 578 576 579 580 578 576 579 581 579 581 583 584 579 581 583 585 579 581 583 586 580 579 581 582 580 579 581 583 581 583 586 587 581 583 586 588 582 581 583 584 582 581 583 585 582 581 583 586 583 586 588 589 583 586 588 590 584 583 586 587 584 583 586 588 585 583 586 587 585 583 586 588 586 588 590 591 586 588 590 592 586 588 590 597 587 586 588 589 587 586 588 590 588 590 592 593 588 590 592 594 588 590 592 595 588 590 597 598 588 590 597 599 589 588 590 591 589 588 590 592 589 588 590 597 590 592 595 596 590 597 599 600 590 597 599 601 591 590 592 593 591 590 592 594 591 590 592 595 591 590 597 598 591 590 597 599 592 590 597 598 592 590 597 599 593 592 590 597 593 592 595 596 594 592 590 597 594 592 595 596 595 592 590 597 597 599 601 602 597 599 601 603 597 599 601 621 598 597 599 600 598 597 599 601 599 601 603 604 599 601 603 605 599 601 603 606 599 601 621 622 599 601 621 623 600 599 601 602 600 599 601 603 600 599 601 621 601 603 606 607 601 603 606 608 601 603 606 609 601 621 623 624 601 621 623 625 602 601 603 604 602 601 603 605 602 601 603 606 602 601 621 622 602 601 621 623 603 601 621 622 603 601 621 623 603 606 609 610 603 606 609 611 603 606 609 612 604 603 601 621 604 603 606 607 604 603 606 608 604 603 606 609 605 603 601 621 605 603 606 607 605 603 606 608 605 603 606 609 606 603 601 621 606 609 612 613 606 609 612 614 607 606 609 610 607 606 609 611 607 606 609 612 608 606 609 610 608 606 609 611 608 606 609 612 609 612 614 615 609 612 614 618 610 609 612 613 610 609 612 614 611 609 612 613 611 609 612 614 612 614 615 616 612 614 615 617 612 614 618 619 612 614 618 620 613 612 614 615 613 612 614 618 615 614 618 619 615 614 618 620 616 615 614 618 617 615 614 618 621 623 625 626 621 623 625 627 621 623 625 631 622 621 623 624 622 621 623 625 623 625 627 628 623 625 627 629 623 625 627 630 623 625 631 632 623 625 631 633 624 623 625 626 624 623 625 627 624 623 625 631 625 631 633 634 625 631 633 635 626 625 627 628 626 625 627 629 626 625 627 630 626 625 631 632 626 625 631 633 627 625 631 632 627 625 631 633 628 627 625 631 629 627 625 631 630 627 625 631 631 633 635 636 631 633 635 637 631 633 635 653 632 631 633 634 632 631 633 635 633 635 637 638 633 635 637 639 633 635 637 640 633 635 653 654 633 635 653 655 634 633 635 636 634 633 635 637 634 633 635 653 635 637 640 641 635 637 640 642 635 637 640 643 635 653 655 656 635 653 655 657 636 635 637 638 636 635 637 639 636 635 637 640 636 635 653 654 636 635 653 655 637 635 653 654 637 635 653 655 637 640 643 644 637 640 643 645 637 640 643 646 638 637 635 653 638 637 640 641 638 637 640 642 638 637 640 643 639 637 635 653 639 637 640 641 639 637 640 642 639 637 640 643 640 637 635 653 640 643 646 647 640 643 646 648 640 643 646 649 641 640 643 644 641 640 643 645 641 640 643 646 642 640 643 644 642 640 643 645 642 640 643 646 643 646 649 650 643 646 649 651 643 646 649 652 644 643 646 647 644 643 646 648 644 643 646 649 645 643 646 647 645 643 646 648 645 643 646 649 647 646 649 650 647 646 649 651 647 646 649 652 648 646 649 650 648 646 649 651 648 646 649 652 653 655 657 658 653 655 657 659 653 655 657 677 654 653 655 656 654 653 655 657 655 657 659 660 655 657 659 661 655 657 659 662 655 657 677 678 655 657 677 679 656 655 657 658 656 655 657 659 656 655 657 677 657 659 662 663 657 659 662 664 657 659 662 665 657 677 679 680 657 677 679 681 658 657 659 660 658 657 659 661 658 657 659 662 658 657 677 678 658 657 677 679 659 657 677 678 659 657 677 679 659 662 665 666 659 662 665 667 659 662 665 668 660 659 657 677 660 659 662 663 660 659 662 664 660 659 662 665 661 659 657 677 661 659 662 663 661 659 662 664 661 659 662 665 662 659 657 677 662 665 668 669 662 665 668 670 663 662 665 666 663 662 665 667 663 662 665 668 664 662 665 666 664 662 665 667 664 662 665 668 665 668 670 671 665 668 670 674 666 665 668 669 666 665 668 670 667 665 668 669 667 665 668 670 668 670 671 672 668 670 671 673 668 670 674 675 668 670 674 676 669 668 670 671 669 668 670 674 671 670 674 675 671 670 674 676 672 671 670 674 673 671 670 674 677 679 681 682 677 679 681 683 677 679 681 691 678 677 679 680 678 677 679 681 679 681 683 684 679 681 683 685 679 681 683 686 679 681 691 692 679 681 691 693 680 679 681 682 680 679 681 683 680 679 681 691 681 683 686 687 681 683 686 688 681 691 693 694 681 691 693 695 682 681 683 684 682 681 683 685 682 681 683 686 682 681 691 692 682 681 691 693 683 681 691 692 683 681 691 693 683 686 688 689 683 686 688 690 684 683 681 691 684 683 686 687 684 683 686 688 685 683 681 691 685 683 686 687 685 683 686 688 686 683 681 691 687 686 688 689 687 686 688 690 691 693 695 696 691 693 695 697 691 693 695 705 692 691 693 694 692 691 693 695 693 695 697 698 693 695 697 699 693 695 697 700 693 695 705 706 693 695 705 707 694 693 695 696 694 693 695 697 694 693 695 705 695 697 700 701 695 697 700 702 695 705 707 708 695 705 707 709 696 695 697 698 696 695 697 699 696 695 697 700 696 695 705 706 696 695 705 707 697 695 705 706 697 695 705 707 697 700 702 703 697 700 702 704 698 697 695 705 698 697 700 701 698 697 700 702 699 697 695 705 699 697 700 701 699 697 700 702 700 697 695 705 701 700 702 703 701 700 702 704 705 707 709 710 705 707 709 711 705 707 709 725 706 705 707 708 706 705 707 709 707 709 711 712 707 709 711 713 707 709 711 714 707 709 725 726 707 709 725 727 708 707 709 710 708 707 709 711 708 707 709 725 709 711 714 715 709 711 714 717 709 725 727 728 709 725 727 729 710 709 711 712 710 709 711 713 710 709 711 714 710 709 725 726 710 709 725 727 711 709 725 726 711 709 725 727 711 714 715 716 711 714 715 719 711 714 717 718 711 714 717 721 712 711 709 725 712 711 714 715 712 711 714 717 713 711 709 725 713 711 714 715 713 711 714 717 714 711 709 725 714 715 719 720 714 715 719 723 714 717 721 722 714 717 721 723 715 714 717 718 715 714 717 721 715 719 723 721 715 719 723 724 716 715 714 717 716 715 719 720 716 715 719 723 717 714 715 719 717 721 723 719 717 721 723 724 718 717 721 722 718 717 721 723 719 723 721 722 720 719 723 721 720 719 723 724 722 721 723 724 725 727 729 730 725 727 729 731 725 727 729 747 726 725 727 728 726 725 727 729 727 729 731 732 727 729 731 733 727 729 731 734 727 729 747 748 727 729 747 749 728 727 729 730 728 727 729 731 728 727 729 747 729 731 734 735 729 731 734 736 729 731 734 737 729 747 749 750 729 747 749 751 730 729 731 732 730 729 731 733 730 729 731 734 730 729 747 748 730 729 747 749 731 729 747 748 731 729 747 749 731 734 737 738 731 734 737 739 731 734 737 740 732 731 729 747 732 731 734 735 732 731 734 736 732 731 734 737 733 731 729 747 733 731 734 735 733 731 734 736 733 731 734 737 734 731 729 747 734 737 740 741 734 737 740 742 734 737 740 743 735 734 737 738 735 734 737 739 735 734 737 740 736 734 737 738 736 734 737 739 736 734 737 740 737 740 743 744 737 740 743 745 737 740 743 746 738 737 740 741 738 737 740 742 738 737 740 743 739 737 740 741 739 737 740 742 739 737 740 743 741 740 743 744 741 740 743 745 741 740 743 746 742 740 743 744 742 740 743 745 742 740 743 746 747 749 751 752 747 749 751 753 747 749 751 758 748 747 749 750 748 747 749 751 749 751 753 754 749 751 753 755 749 751 753 756 749 751 758 759 749 751 758 760 750 749 751 752 750 749 751 753 750 749 751 758 751 753 756 757 751 758 760 761 751 758 760 762 752 751 753 754 752 751 753 755 752 751 753 756 752 751 758 759 752 751 758 760 753 751 758 759 753 751 758 760 754 753 751 758 754 753 756 757 755 753 751 758 755 753 756 757 756 753 751 758 758 760 762 763 758 760 762 764 758 760 762 768 759 758 760 761 759 758 760 762 760 762 764 765 760 762 764 766 760 762 764 767 760 762 768 769 760 762 768 770 761 760 762 763 761 760 762 764 761 760 762 768 762 768 770 771 762 768 770 772 763 762 764 765 763 762 764 766 763 762 764 767 763 762 768 769 763 762 768 770 764 762 768 769 764 762 768 770 765 764 762 768 766 764 762 768 767 764 762 768 768 770 772 773 768 770 772 774 768 770 772 783 769 768 770 771 769 768 770 772 770 772 774 775 770 772 774 776 770 772 774 777 770 772 783 784 770 772 783 785 771 770 772 773 771 770 772 774 771 770 772 783 772 774 777 778 772 774 777 779 772 774 777 780 772 783 785 786 772 783 785 787 773 772 774 775 773 772 774 776 773 772 774 777 773 772 783 784 773 772 783 785 774 772 783 784 774 772 783 785 774 777 780 781 774 777 780 782 775 774 772 783 775 774 777 778 775 774 777 779 775 774 777 780 776 774 772 783 776 774 777 778 776 774 777 779 776 774 777 780 777 774 772 783 778 777 780 781 778 777 780 782 779 777 780 781 779 777 780 782 783 785 787 788 783 785 787 789 783 785 787 795 784 783 785 786 784 783 785 787 785 787 789 790 785 787 789 791 785 787 789 792 785 787 795 796 785 787 795 797 786 785 787 788 786 785 787 789 786 785 787 795 787 789 792 793 787 789 792 794 787 795 797 798 787 795 797 799 788 787 789 790 788 787 789 791 788 787 789 792 788 787 795 796 788 787 795 797 789 787 795 796 789 787 795 797 790 789 787 795 790 789 792 793 790 789 792 794 791 789 787 795 791 789 792 793 791 789 792 794 792 789 787 795 795 797 799 800 795 797 799 801 795 797 799 806 796 795 797 798 796 795 797 799 797 799 801 802 797 799 801 803 797 799 801 804 797 799 806 807 797 799 806 808 798 797 799 800 798 797 799 801 798 797 799 806 799 801 804 805 799 806 808 809 799 806 808 810 800 799 801 802 800 799 801 803 800 799 801 804 800 799 806 807 800 799 806 808 801 799 806 807 801 799 806 808 802 801 799 806 802 801 804 805 803 801 799 806 803 801 804 805 804 801 799 806 806 808 810 811 806 808 810 812 806 808 810 823 807 806 808 809 807 806 808 810 808 810 812 813 808 810 812 814 808 810 812 815 808 810 823 824 808 810 823 825 809 808 810 811 809 808 810 812 809 808 810 823 810 812 815 816 810 812 815 817 810 812 815 818 810 823 825 826 810 823 825 827 811 810 812 813 811 810 812 814 811 810 812 815 811 810 823 824 811 810 823 825 812 810 823 824 812 810 823 825 812 815 818 819 813 812 810 823 813 812 815 816 813 812 815 817 813 812 815 818 814 812 810 823 814 812 815 816 814 812 815 817 814 812 815 818 815 812 810 823 815 818 819 820 815 818 819 821 815 818 819 822 816 815 818 819 817 815 818 819 823 825 827 828 823 825 827 829 823 825 827 847 824 823 825 826 824 823 825 827 825 827 829 830 825 827 829 831 825 827 829 832 825 827 847 848 825 827 847 849 826 825 827 828 826 825 827 829 826 825 827 847 827 829 832 833 827 829 832 834 827 829 832 835 827 847 849 850 827 847 849 851 828 827 829 830 828 827 829 831 828 827 829 832 828 827 847 848 828 827 847 849 829 827 847 848 829 827 847 849 829 832 835 836 829 832 835 837 829 832 835 838 830 829 827 847 830 829 832 833 830 829 832 834 830 829 832 835 831 829 827 847 831 829 832 833 831 829 832 834 831 829 832 835 832 829 827 847 832 835 838 839 832 835 838 840 833 832 835 836 833 832 835 837 833 832 835 838 834 832 835 836 834 832 835 837 834 832 835 838 835 838 840 841 835 838 840 844 836 835 838 839 836 835 838 840 837 835 838 839 837 835 838 840 838 840 841 842 838 840 841 843 838 840 844 845 838 840 844 846 839 838 840 841 839 838 840 844 841 840 844 845 841 840 844 846 842 841 840 844 843 841 840 844 847 849 851 852 847 849 851 853 847 849 851 861 848 847 849 850 848 847 849 851 849 851 853 854 849 851 853 855 849 851 853 857 849 851 861 862 849 851 861 863 850 849 851 852 850 849 851 853 850 849 851 861 851 853 855 856 851 853 857 858 851 853 857 859 851 853 857 860 851 861 863 864 851 861 863 865 852 851 853 854 852 851 853 855 852 851 853 857 852 851 861 862 852 851 861 863 853 851 861 862 853 851 861 863 854 853 851 861 854 853 855 856 854 853 857 858 854 853 857 859 854 853 857 860 855 853 851 861 855 853 857 858 855 853 857 859 855 853 857 860 856 855 853 857 857 853 851 861 861 863 865 866 861 863 865 867 861 863 865 872 862 861 863 864 862 861 863 865 863 865 867 868 863 865 867 869 863 865 867 870 863 865 872 873 863 865 872 874 864 863 865 866 864 863 865 867 864 863 865 872 865 867 870 871 865 872 874 875 865 872 874 876 866 865 867 868 866 865 867 869 866 865 867 870 866 865 872 873 866 865 872 874 867 865 872 873 867 865 872 874 868 867 865 872 868 867 870 871 869 867 865 872 869 867 870 871 870 867 865 872 872 874 876 877 872 874 876 878 872 874 876 879 873 872 874 875 873 872 874 876 874 876 879 880 874 876 879 881 875 874 876 877 875 874 876 878 875 874 876 879 876 879 881 882 876 879 881 883 877 876 879 880 877 876 879 881 878 876 879 880 878 876 879 881 879 881 883 884 879 881 883 885 879 881 883 886 880 879 881 882 880 879 881 883 881 883 886 887 881 883 886 888 882 881 883 884 882 881 883 885 882 881 883 886 883 886 888 889 883 886 888 890 884 883 886 887 884 883 886 888 885 883 886 887 885 883 886 888 886 888 890 891 886 888 890 892 886 888 890 896 887 886 888 889 887 886 888 890 888 890 892 893 888 890 892 894 888 890 892 895 888 890 896 897 888 890 896 898 889 888 890 891 889 888 890 892 889 888 890 896 891 890 892 893 891 890 892 894 891 890 892 895 891 890 896 897 891 890 896 898 892 890 896 897 892 890 896 898 893 892 890 896 894 892 890 896 895 892 890 896 141 !NIMPHI: impropers 25 5 27 26 18 19 22 16 27 25 28 30 39 28 41 40 41 39 43 42 51 43 53 52 49 45 50 48 53 51 55 54 71 55 73 72 73 71 75 74 82 75 84 83 84 82 86 85 101 86 103 102 103 101 105 104 116 105 118 117 114 110 115 113 118 116 119 121 130 119 132 131 132 130 133 135 144 133 146 145 146 144 148 147 165 148 167 166 167 165 169 168 179 169 181 180 181 179 183 182 186 183 188 187 188 186 189 191 200 189 202 201 202 200 204 203 211 204 213 212 213 211 215 214 233 215 235 234 235 233 237 236 243 237 245 244 245 243 247 246 267 247 269 268 260 261 264 258 269 267 271 270 286 271 288 287 288 286 290 289 305 290 307 306 307 305 309 308 329 309 331 330 322 323 326 320 331 329 333 332 350 333 352 351 352 350 354 353 370 354 372 371 372 370 374 373 391 374 393 392 393 391 395 394 405 395 407 406 400 402 397 401 400 397 402 401 402 400 403 404 402 400 404 403 407 405 409 408 415 409 417 416 417 415 419 418 437 419 439 438 439 437 441 440 447 441 449 448 449 447 451 450 454 451 456 455 456 454 458 457 473 458 475 474 475 473 477 476 484 477 486 485 486 484 488 487 501 488 503 502 496 498 493 497 496 493 498 497 498 496 499 500 498 496 500 499 503 501 505 504 515 505 517 516 517 515 519 518 535 519 537 536 537 535 539 538 551 539 553 552 553 551 555 554 572 555 574 573 574 572 576 575 579 576 581 580 581 579 583 582 586 583 588 587 588 586 590 589 597 590 599 598 599 597 601 600 621 601 623 622 614 615 618 612 623 621 625 624 631 625 633 632 633 631 635 634 653 635 655 654 655 653 657 656 677 657 679 678 670 671 674 668 679 677 681 680 691 681 693 692 686 688 683 687 686 683 688 687 688 686 689 690 688 686 690 689 693 691 695 694 705 695 707 706 700 702 697 701 700 697 702 701 702 700 703 704 702 700 704 703 707 705 709 708 725 709 727 726 727 725 729 728 747 729 749 748 749 747 751 750 758 751 760 759 760 758 762 761 768 762 770 769 770 768 772 771 783 772 785 784 781 777 782 780 785 783 787 786 795 787 797 796 793 789 794 792 797 795 799 798 806 799 808 807 808 806 810 809 823 810 825 824 825 823 827 826 847 827 849 848 840 841 844 838 849 847 851 850 861 851 863 862 863 861 865 864 872 865 874 873 874 872 876 875 879 876 881 880 881 879 883 882 886 883 888 887 888 886 890 889 897 890 898 896 120 !NDON: donors 1 2 1 3 1 4 16 17 19 20 19 21 22 23 22 24 41 42 53 54 73 74 80 81 84 85 103 104 146 147 163 164 167 168 173 174 181 182 202 203 209 210 213 214 229 230 229 231 229 232 235 236 245 246 258 259 261 262 261 263 264 265 264 266 269 270 288 289 307 308 320 321 323 324 323 325 326 327 326 328 331 332 348 349 352 353 372 373 389 390 393 394 402 403 402 404 407 408 417 418 433 434 433 435 433 436 439 440 449 450 456 457 475 476 482 483 486 487 498 499 498 500 503 504 509 510 517 518 537 538 553 554 570 571 574 575 581 582 588 589 595 596 599 600 612 613 615 616 615 617 618 619 618 620 623 624 633 634 649 650 649 651 649 652 655 656 668 669 671 672 671 673 674 675 674 676 679 680 688 689 688 690 693 694 702 703 702 704 707 708 727 728 743 744 743 745 743 746 749 750 756 757 760 761 770 771 785 786 797 798 804 805 808 809 825 826 838 839 841 842 841 843 844 845 844 846 849 850 855 856 863 864 870 871 874 875 881 882 888 889 4540 !NACC: acceptors 26 25 40 39 49 48 50 48 52 51 72 71 83 82 102 101 114 113 115 113 117 116 131 130 145 144 163 0 166 165 173 0 180 179 187 186 201 200 212 211 234 233 244 243 268 267 287 286 306 305 330 329 348 0 351 350 371 370 389 0 392 391 401 400 406 405 416 415 438 437 448 447 455 454 474 473 485 484 497 496 502 501 509 0 516 515 536 535 552 551 570 0 573 572 580 579 587 586 598 597 622 621 632 631 654 653 678 677 687 686 692 691 701 700 706 705 726 725 748 747 756 0 759 758 769 768 781 780 782 780 784 783 793 792 794 792 796 795 807 806 824 823 848 847 855 0 862 861 873 872 880 879 887 886 897 896 898 896 899 0 902 0 905 0 908 0 911 0 914 0 917 0 920 0 923 0 926 0 929 0 932 0 935 0 938 0 941 0 944 0 947 0 950 0 953 0 956 0 959 0 962 0 965 0 968 0 971 0 974 0 977 0 980 0 983 0 986 0 989 0 992 0 995 0 998 0 1001 0 1004 0 1007 0 1010 0 1013 0 1016 0 1019 0 1022 0 1025 0 1028 0 1031 0 1034 0 1037 0 1040 0 1043 0 1046 0 1049 0 1052 0 1055 0 1058 0 1061 0 1064 0 1067 0 1070 0 1073 0 1076 0 1079 0 1082 0 1085 0 1088 0 1091 0 1094 0 1097 0 1100 0 1103 0 1106 0 1109 0 1112 0 1115 0 1118 0 1121 0 1124 0 1127 0 1130 0 1133 0 1136 0 1139 0 1142 0 1145 0 1148 0 1151 0 1154 0 1157 0 1160 0 1163 0 1166 0 1169 0 1172 0 1175 0 1178 0 1181 0 1184 0 1187 0 1190 0 1193 0 1196 0 1199 0 1202 0 1205 0 1208 0 1211 0 1214 0 1217 0 1220 0 1223 0 1226 0 1229 0 1232 0 1235 0 1238 0 1241 0 1244 0 1247 0 1250 0 1253 0 1256 0 1259 0 1262 0 1265 0 1268 0 1271 0 1274 0 1277 0 1280 0 1283 0 1286 0 1289 0 1292 0 1295 0 1298 0 1301 0 1304 0 1307 0 1310 0 1313 0 1316 0 1319 0 1322 0 1325 0 1328 0 1331 0 1334 0 1337 0 1340 0 1343 0 1346 0 1349 0 1352 0 1355 0 1358 0 1361 0 1364 0 1367 0 1370 0 1373 0 1376 0 1379 0 1382 0 1385 0 1388 0 1391 0 1394 0 1397 0 1400 0 1403 0 1406 0 1409 0 1412 0 1415 0 1418 0 1421 0 1424 0 1427 0 1430 0 1433 0 1436 0 1439 0 1442 0 1445 0 1448 0 1451 0 1454 0 1457 0 1460 0 1463 0 1466 0 1469 0 1472 0 1475 0 1478 0 1481 0 1484 0 1487 0 1490 0 1493 0 1496 0 1499 0 1502 0 1505 0 1508 0 1511 0 1514 0 1517 0 1520 0 1523 0 1526 0 1529 0 1532 0 1535 0 1538 0 1541 0 1544 0 1547 0 1550 0 1553 0 1556 0 1559 0 1562 0 1565 0 1568 0 1571 0 1574 0 1577 0 1580 0 1583 0 1586 0 1589 0 1592 0 1595 0 1598 0 1601 0 1604 0 1607 0 1610 0 1613 0 1616 0 1619 0 1622 0 1625 0 1628 0 1631 0 1634 0 1637 0 1640 0 1643 0 1646 0 1649 0 1652 0 1655 0 1658 0 1661 0 1664 0 1667 0 1670 0 1673 0 1676 0 1679 0 1682 0 1685 0 1688 0 1691 0 1694 0 1697 0 1700 0 1703 0 1706 0 1709 0 1712 0 1715 0 1718 0 1721 0 1724 0 1727 0 1730 0 1733 0 1736 0 1739 0 1742 0 1745 0 1748 0 1751 0 1754 0 1757 0 1760 0 1763 0 1766 0 1769 0 1772 0 1775 0 1778 0 1781 0 1784 0 1787 0 1790 0 1793 0 1796 0 1799 0 1802 0 1805 0 1808 0 1811 0 1814 0 1817 0 1820 0 1823 0 1826 0 1829 0 1832 0 1835 0 1838 0 1841 0 1844 0 1847 0 1850 0 1853 0 1856 0 1859 0 1862 0 1865 0 1868 0 1871 0 1874 0 1877 0 1880 0 1883 0 1886 0 1889 0 1892 0 1895 0 1898 0 1901 0 1904 0 1907 0 1910 0 1913 0 1916 0 1919 0 1922 0 1925 0 1928 0 1931 0 1934 0 1937 0 1940 0 1943 0 1946 0 1949 0 1952 0 1955 0 1958 0 1961 0 1964 0 1967 0 1970 0 1973 0 1976 0 1979 0 1982 0 1985 0 1988 0 1991 0 1994 0 1997 0 2000 0 2003 0 2006 0 2009 0 2012 0 2015 0 2018 0 2021 0 2024 0 2027 0 2030 0 2033 0 2036 0 2039 0 2042 0 2045 0 2048 0 2051 0 2054 0 2057 0 2060 0 2063 0 2066 0 2069 0 2072 0 2075 0 2078 0 2081 0 2084 0 2087 0 2090 0 2093 0 2096 0 2099 0 2102 0 2105 0 2108 0 2111 0 2114 0 2117 0 2120 0 2123 0 2126 0 2129 0 2132 0 2135 0 2138 0 2141 0 2144 0 2147 0 2150 0 2153 0 2156 0 2159 0 2162 0 2165 0 2168 0 2171 0 2174 0 2177 0 2180 0 2183 0 2186 0 2189 0 2192 0 2195 0 2198 0 2201 0 2204 0 2207 0 2210 0 2213 0 2216 0 2219 0 2222 0 2225 0 2228 0 2231 0 2234 0 2237 0 2240 0 2243 0 2246 0 2249 0 2252 0 2255 0 2258 0 2261 0 2264 0 2267 0 2270 0 2273 0 2276 0 2279 0 2282 0 2285 0 2288 0 2291 0 2294 0 2297 0 2300 0 2303 0 2306 0 2309 0 2312 0 2315 0 2318 0 2321 0 2324 0 2327 0 2330 0 2333 0 2336 0 2339 0 2342 0 2345 0 2348 0 2351 0 2354 0 2357 0 2360 0 2363 0 2366 0 2369 0 2372 0 2375 0 2378 0 2381 0 2384 0 2387 0 2390 0 2393 0 2396 0 2399 0 2402 0 2405 0 2408 0 2411 0 2414 0 2417 0 2420 0 2423 0 2426 0 2429 0 2432 0 2435 0 2438 0 2441 0 2444 0 2447 0 2450 0 2453 0 2456 0 2459 0 2462 0 2465 0 2468 0 2471 0 2474 0 2477 0 2480 0 2483 0 2486 0 2489 0 2492 0 2495 0 2498 0 2501 0 2504 0 2507 0 2510 0 2513 0 2516 0 2519 0 2522 0 2525 0 2528 0 2531 0 2534 0 2537 0 2540 0 2543 0 2546 0 2549 0 2552 0 2555 0 2558 0 2561 0 2564 0 2567 0 2570 0 2573 0 2576 0 2579 0 2582 0 2585 0 2588 0 2591 0 2594 0 2597 0 2600 0 2603 0 2606 0 2609 0 2612 0 2615 0 2618 0 2621 0 2624 0 2627 0 2630 0 2633 0 2636 0 2639 0 2642 0 2645 0 2648 0 2651 0 2654 0 2657 0 2660 0 2663 0 2666 0 2669 0 2672 0 2675 0 2678 0 2681 0 2684 0 2687 0 2690 0 2693 0 2696 0 2699 0 2702 0 2705 0 2708 0 2711 0 2714 0 2717 0 2720 0 2723 0 2726 0 2729 0 2732 0 2735 0 2738 0 2741 0 2744 0 2747 0 2750 0 2753 0 2756 0 2759 0 2762 0 2765 0 2768 0 2771 0 2774 0 2777 0 2780 0 2783 0 2786 0 2789 0 2792 0 2795 0 2798 0 2801 0 2804 0 2807 0 2810 0 2813 0 2816 0 2819 0 2822 0 2825 0 2828 0 2831 0 2834 0 2837 0 2840 0 2843 0 2846 0 2849 0 2852 0 2855 0 2858 0 2861 0 2864 0 2867 0 2870 0 2873 0 2876 0 2879 0 2882 0 2885 0 2888 0 2891 0 2894 0 2897 0 2900 0 2903 0 2906 0 2909 0 2912 0 2915 0 2918 0 2921 0 2924 0 2927 0 2930 0 2933 0 2936 0 2939 0 2942 0 2945 0 2948 0 2951 0 2954 0 2957 0 2960 0 2963 0 2966 0 2969 0 2972 0 2975 0 2978 0 2981 0 2984 0 2987 0 2990 0 2993 0 2996 0 2999 0 3002 0 3005 0 3008 0 3011 0 3014 0 3017 0 3020 0 3023 0 3026 0 3029 0 3032 0 3035 0 3038 0 3041 0 3044 0 3047 0 3050 0 3053 0 3056 0 3059 0 3062 0 3065 0 3068 0 3071 0 3074 0 3077 0 3080 0 3083 0 3086 0 3089 0 3092 0 3095 0 3098 0 3101 0 3104 0 3107 0 3110 0 3113 0 3116 0 3119 0 3122 0 3125 0 3128 0 3131 0 3134 0 3137 0 3140 0 3143 0 3146 0 3149 0 3152 0 3155 0 3158 0 3161 0 3164 0 3167 0 3170 0 3173 0 3176 0 3179 0 3182 0 3185 0 3188 0 3191 0 3194 0 3197 0 3200 0 3203 0 3206 0 3209 0 3212 0 3215 0 3218 0 3221 0 3224 0 3227 0 3230 0 3233 0 3236 0 3239 0 3242 0 3245 0 3248 0 3251 0 3254 0 3257 0 3260 0 3263 0 3266 0 3269 0 3272 0 3275 0 3278 0 3281 0 3284 0 3287 0 3290 0 3293 0 3296 0 3299 0 3302 0 3305 0 3308 0 3311 0 3314 0 3317 0 3320 0 3323 0 3326 0 3329 0 3332 0 3335 0 3338 0 3341 0 3344 0 3347 0 3350 0 3353 0 3356 0 3359 0 3362 0 3365 0 3368 0 3371 0 3374 0 3377 0 3380 0 3383 0 3386 0 3389 0 3392 0 3395 0 3398 0 3401 0 3404 0 3407 0 3410 0 3413 0 3416 0 3419 0 3422 0 3425 0 3428 0 3431 0 3434 0 3437 0 3440 0 3443 0 3446 0 3449 0 3452 0 3455 0 3458 0 3461 0 3464 0 3467 0 3470 0 3473 0 3476 0 3479 0 3482 0 3485 0 3488 0 3491 0 3494 0 3497 0 3500 0 3503 0 3506 0 3509 0 3512 0 3515 0 3518 0 3521 0 3524 0 3527 0 3530 0 3533 0 3536 0 3539 0 3542 0 3545 0 3548 0 3551 0 3554 0 3557 0 3560 0 3563 0 3566 0 3569 0 3572 0 3575 0 3578 0 3581 0 3584 0 3587 0 3590 0 3593 0 3596 0 3599 0 3602 0 3605 0 3608 0 3611 0 3614 0 3617 0 3620 0 3623 0 3626 0 3629 0 3632 0 3635 0 3638 0 3641 0 3644 0 3647 0 3650 0 3653 0 3656 0 3659 0 3662 0 3665 0 3668 0 3671 0 3674 0 3677 0 3680 0 3683 0 3686 0 3689 0 3692 0 3695 0 3698 0 3701 0 3704 0 3707 0 3710 0 3713 0 3716 0 3719 0 3722 0 3725 0 3728 0 3731 0 3734 0 3737 0 3740 0 3743 0 3746 0 3749 0 3752 0 3755 0 3758 0 3761 0 3764 0 3767 0 3770 0 3773 0 3776 0 3779 0 3782 0 3785 0 3788 0 3791 0 3794 0 3797 0 3800 0 3803 0 3806 0 3809 0 3812 0 3815 0 3818 0 3821 0 3824 0 3827 0 3830 0 3833 0 3836 0 3839 0 3842 0 3845 0 3848 0 3851 0 3854 0 3857 0 3860 0 3863 0 3866 0 3869 0 3872 0 3875 0 3878 0 3881 0 3884 0 3887 0 3890 0 3893 0 3896 0 3899 0 3902 0 3905 0 3908 0 3911 0 3914 0 3917 0 3920 0 3923 0 3926 0 3929 0 3932 0 3935 0 3938 0 3941 0 3944 0 3947 0 3950 0 3953 0 3956 0 3959 0 3962 0 3965 0 3968 0 3971 0 3974 0 3977 0 3980 0 3983 0 3986 0 3989 0 3992 0 3995 0 3998 0 4001 0 4004 0 4007 0 4010 0 4013 0 4016 0 4019 0 4022 0 4025 0 4028 0 4031 0 4034 0 4037 0 4040 0 4043 0 4046 0 4049 0 4052 0 4055 0 4058 0 4061 0 4064 0 4067 0 4070 0 4073 0 4076 0 4079 0 4082 0 4085 0 4088 0 4091 0 4094 0 4097 0 4100 0 4103 0 4106 0 4109 0 4112 0 4115 0 4118 0 4121 0 4124 0 4127 0 4130 0 4133 0 4136 0 4139 0 4142 0 4145 0 4148 0 4151 0 4154 0 4157 0 4160 0 4163 0 4166 0 4169 0 4172 0 4175 0 4178 0 4181 0 4184 0 4187 0 4190 0 4193 0 4196 0 4199 0 4202 0 4205 0 4208 0 4211 0 4214 0 4217 0 4220 0 4223 0 4226 0 4229 0 4232 0 4235 0 4238 0 4241 0 4244 0 4247 0 4250 0 4253 0 4256 0 4259 0 4262 0 4265 0 4268 0 4271 0 4274 0 4277 0 4280 0 4283 0 4286 0 4289 0 4292 0 4295 0 4298 0 4301 0 4304 0 4307 0 4310 0 4313 0 4316 0 4319 0 4322 0 4325 0 4328 0 4331 0 4334 0 4337 0 4340 0 4343 0 4346 0 4349 0 4352 0 4355 0 4358 0 4361 0 4364 0 4367 0 4370 0 4373 0 4376 0 4379 0 4382 0 4385 0 4388 0 4391 0 4394 0 4397 0 4400 0 4403 0 4406 0 4409 0 4412 0 4415 0 4418 0 4421 0 4424 0 4427 0 4430 0 4433 0 4436 0 4439 0 4442 0 4445 0 4448 0 4451 0 4454 0 4457 0 4460 0 4463 0 4466 0 4469 0 4472 0 4475 0 4478 0 4481 0 4484 0 4487 0 4490 0 4493 0 4496 0 4499 0 4502 0 4505 0 4508 0 4511 0 4514 0 4517 0 4520 0 4523 0 4526 0 4529 0 4532 0 4535 0 4538 0 4541 0 4544 0 4547 0 4550 0 4553 0 4556 0 4559 0 4562 0 4565 0 4568 0 4571 0 4574 0 4577 0 4580 0 4583 0 4586 0 4589 0 4592 0 4595 0 4598 0 4601 0 4604 0 4607 0 4610 0 4613 0 4616 0 4619 0 4622 0 4625 0 4628 0 4631 0 4634 0 4637 0 4640 0 4643 0 4646 0 4649 0 4652 0 4655 0 4658 0 4661 0 4664 0 4667 0 4670 0 4673 0 4676 0 4679 0 4682 0 4685 0 4688 0 4691 0 4694 0 4697 0 4700 0 4703 0 4706 0 4709 0 4712 0 4715 0 4718 0 4721 0 4724 0 4727 0 4730 0 4733 0 4736 0 4739 0 4742 0 4745 0 4748 0 4751 0 4754 0 4757 0 4760 0 4763 0 4766 0 4769 0 4772 0 4775 0 4778 0 4781 0 4784 0 4787 0 4790 0 4793 0 4796 0 4799 0 4802 0 4805 0 4808 0 4811 0 4814 0 4817 0 4820 0 4823 0 4826 0 4829 0 4832 0 4835 0 4838 0 4841 0 4844 0 4847 0 4850 0 4853 0 4856 0 4859 0 4862 0 4865 0 4868 0 4871 0 4874 0 4877 0 4880 0 4883 0 4886 0 4889 0 4892 0 4895 0 4898 0 4901 0 4904 0 4907 0 4910 0 4913 0 4916 0 4919 0 4922 0 4925 0 4928 0 4931 0 4934 0 4937 0 4940 0 4943 0 4946 0 4949 0 4952 0 4955 0 4958 0 4961 0 4964 0 4967 0 4970 0 4973 0 4976 0 4979 0 4982 0 4985 0 4988 0 4991 0 4994 0 4997 0 5000 0 5003 0 5006 0 5009 0 5012 0 5015 0 5018 0 5021 0 5024 0 5027 0 5030 0 5033 0 5036 0 5039 0 5042 0 5045 0 5048 0 5051 0 5054 0 5057 0 5060 0 5063 0 5066 0 5069 0 5072 0 5075 0 5078 0 5081 0 5084 0 5087 0 5090 0 5093 0 5096 0 5099 0 5102 0 5105 0 5108 0 5111 0 5114 0 5117 0 5120 0 5123 0 5126 0 5129 0 5132 0 5135 0 5138 0 5141 0 5144 0 5147 0 5150 0 5153 0 5156 0 5159 0 5162 0 5165 0 5168 0 5171 0 5174 0 5177 0 5180 0 5183 0 5186 0 5189 0 5192 0 5195 0 5198 0 5201 0 5204 0 5207 0 5210 0 5213 0 5216 0 5219 0 5222 0 5225 0 5228 0 5231 0 5234 0 5237 0 5240 0 5243 0 5246 0 5249 0 5252 0 5255 0 5258 0 5261 0 5264 0 5267 0 5270 0 5273 0 5276 0 5279 0 5282 0 5285 0 5288 0 5291 0 5294 0 5297 0 5300 0 5303 0 5306 0 5309 0 5312 0 5315 0 5318 0 5321 0 5324 0 5327 0 5330 0 5333 0 5336 0 5339 0 5342 0 5345 0 5348 0 5351 0 5354 0 5357 0 5360 0 5363 0 5366 0 5369 0 5372 0 5375 0 5378 0 5381 0 5384 0 5387 0 5390 0 5393 0 5396 0 5399 0 5402 0 5405 0 5408 0 5411 0 5414 0 5417 0 5420 0 5423 0 5426 0 5429 0 5432 0 5435 0 5438 0 5441 0 5444 0 5447 0 5450 0 5453 0 5456 0 5459 0 5462 0 5465 0 5468 0 5471 0 5474 0 5477 0 5480 0 5483 0 5486 0 5489 0 5492 0 5495 0 5498 0 5501 0 5504 0 5507 0 5510 0 5513 0 5516 0 5519 0 5522 0 5525 0 5528 0 5531 0 5534 0 5537 0 5540 0 5543 0 5546 0 5549 0 5552 0 5555 0 5558 0 5561 0 5564 0 5567 0 5570 0 5573 0 5576 0 5579 0 5582 0 5585 0 5588 0 5591 0 5594 0 5597 0 5600 0 5603 0 5606 0 5609 0 5612 0 5615 0 5618 0 5621 0 5624 0 5627 0 5630 0 5633 0 5636 0 5639 0 5642 0 5645 0 5648 0 5651 0 5654 0 5657 0 5660 0 5663 0 5666 0 5669 0 5672 0 5675 0 5678 0 5681 0 5684 0 5687 0 5690 0 5693 0 5696 0 5699 0 5702 0 5705 0 5708 0 5711 0 5714 0 5717 0 5720 0 5723 0 5726 0 5729 0 5732 0 5735 0 5738 0 5741 0 5744 0 5747 0 5750 0 5753 0 5756 0 5759 0 5762 0 5765 0 5768 0 5771 0 5774 0 5777 0 5780 0 5783 0 5786 0 5789 0 5792 0 5795 0 5798 0 5801 0 5804 0 5807 0 5810 0 5813 0 5816 0 5819 0 5822 0 5825 0 5828 0 5831 0 5834 0 5837 0 5840 0 5843 0 5846 0 5849 0 5852 0 5855 0 5858 0 5861 0 5864 0 5867 0 5870 0 5873 0 5876 0 5879 0 5882 0 5885 0 5888 0 5891 0 5894 0 5897 0 5900 0 5903 0 5906 0 5909 0 5912 0 5915 0 5918 0 5921 0 5924 0 5927 0 5930 0 5933 0 5936 0 5939 0 5942 0 5945 0 5948 0 5951 0 5954 0 5957 0 5960 0 5963 0 5966 0 5969 0 5972 0 5975 0 5978 0 5981 0 5984 0 5987 0 5990 0 5993 0 5996 0 5999 0 6002 0 6005 0 6008 0 6011 0 6014 0 6017 0 6020 0 6023 0 6026 0 6029 0 6032 0 6035 0 6038 0 6041 0 6044 0 6047 0 6050 0 6053 0 6056 0 6059 0 6062 0 6065 0 6068 0 6071 0 6074 0 6077 0 6080 0 6083 0 6086 0 6089 0 6092 0 6095 0 6098 0 6101 0 6104 0 6107 0 6110 0 6113 0 6116 0 6119 0 6122 0 6125 0 6128 0 6131 0 6134 0 6137 0 6140 0 6143 0 6146 0 6149 0 6152 0 6155 0 6158 0 6161 0 6164 0 6167 0 6170 0 6173 0 6176 0 6179 0 6182 0 6185 0 6188 0 6191 0 6194 0 6197 0 6200 0 6203 0 6206 0 6209 0 6212 0 6215 0 6218 0 6221 0 6224 0 6227 0 6230 0 6233 0 6236 0 6239 0 6242 0 6245 0 6248 0 6251 0 6254 0 6257 0 6260 0 6263 0 6266 0 6269 0 6272 0 6275 0 6278 0 6281 0 6284 0 6287 0 6290 0 6293 0 6296 0 6299 0 6302 0 6305 0 6308 0 6311 0 6314 0 6317 0 6320 0 6323 0 6326 0 6329 0 6332 0 6335 0 6338 0 6341 0 6344 0 6347 0 6350 0 6353 0 6356 0 6359 0 6362 0 6365 0 6368 0 6371 0 6374 0 6377 0 6380 0 6383 0 6386 0 6389 0 6392 0 6395 0 6398 0 6401 0 6404 0 6407 0 6410 0 6413 0 6416 0 6419 0 6422 0 6425 0 6428 0 6431 0 6434 0 6437 0 6440 0 6443 0 6446 0 6449 0 6452 0 6455 0 6458 0 6461 0 6464 0 6467 0 6470 0 6473 0 6476 0 6479 0 6482 0 6485 0 6488 0 6491 0 6494 0 6497 0 6500 0 6503 0 6506 0 6509 0 6512 0 6515 0 6518 0 6521 0 6524 0 6527 0 6530 0 6533 0 6536 0 6539 0 6542 0 6545 0 6548 0 6551 0 6554 0 6557 0 6560 0 6563 0 6566 0 6569 0 6572 0 6575 0 6578 0 6581 0 6584 0 6587 0 6590 0 6593 0 6596 0 6599 0 6602 0 6605 0 6608 0 6611 0 6614 0 6617 0 6620 0 6623 0 6626 0 6629 0 6632 0 6635 0 6638 0 6641 0 6644 0 6647 0 6650 0 6653 0 6656 0 6659 0 6662 0 6665 0 6668 0 6671 0 6674 0 6677 0 6680 0 6683 0 6686 0 6689 0 6692 0 6695 0 6698 0 6701 0 6704 0 6707 0 6710 0 6713 0 6716 0 6719 0 6722 0 6725 0 6728 0 6731 0 6734 0 6737 0 6740 0 6743 0 6746 0 6749 0 6752 0 6755 0 6758 0 6761 0 6764 0 6767 0 6770 0 6773 0 6776 0 6779 0 6782 0 6785 0 6788 0 6791 0 6794 0 6797 0 6800 0 6803 0 6806 0 6809 0 6812 0 6815 0 6818 0 6821 0 6824 0 6827 0 6830 0 6833 0 6836 0 6839 0 6842 0 6845 0 6848 0 6851 0 6854 0 6857 0 6860 0 6863 0 6866 0 6869 0 6872 0 6875 0 6878 0 6881 0 6884 0 6887 0 6890 0 6893 0 6896 0 6899 0 6902 0 6905 0 6908 0 6911 0 6914 0 6917 0 6920 0 6923 0 6926 0 6929 0 6932 0 6935 0 6938 0 6941 0 6944 0 6947 0 6950 0 6953 0 6956 0 6959 0 6962 0 6965 0 6968 0 6971 0 6974 0 6977 0 6980 0 6983 0 6986 0 6989 0 6992 0 6995 0 6998 0 7001 0 7004 0 7007 0 7010 0 7013 0 7016 0 7019 0 7022 0 7025 0 7028 0 7031 0 7034 0 7037 0 7040 0 7043 0 7046 0 7049 0 7052 0 7055 0 7058 0 7061 0 7064 0 7067 0 7070 0 7073 0 7076 0 7079 0 7082 0 7085 0 7088 0 7091 0 7094 0 7097 0 7100 0 7103 0 7106 0 7109 0 7112 0 7115 0 7118 0 7121 0 7124 0 7127 0 7130 0 7133 0 7136 0 7139 0 7142 0 7145 0 7148 0 7151 0 7154 0 7157 0 7160 0 7163 0 7166 0 7169 0 7172 0 7175 0 7178 0 7181 0 7184 0 7187 0 7190 0 7193 0 7196 0 7199 0 7202 0 7205 0 7208 0 7211 0 7214 0 7217 0 7220 0 7223 0 7226 0 7229 0 7232 0 7235 0 7238 0 7241 0 7244 0 7247 0 7250 0 7253 0 7256 0 7259 0 7262 0 7265 0 7268 0 7271 0 7274 0 7277 0 7280 0 7283 0 7286 0 7289 0 7292 0 7295 0 7298 0 7301 0 7304 0 7307 0 7310 0 7313 0 7316 0 7319 0 7322 0 7325 0 7328 0 7331 0 7334 0 7337 0 7340 0 7343 0 7346 0 7349 0 7352 0 7355 0 7358 0 7361 0 7364 0 7367 0 7370 0 7373 0 7376 0 7379 0 7382 0 7385 0 7388 0 7391 0 7394 0 7397 0 7400 0 7403 0 7406 0 7409 0 7412 0 7415 0 7418 0 7421 0 7424 0 7427 0 7430 0 7433 0 7436 0 7439 0 7442 0 7445 0 7448 0 7451 0 7454 0 7457 0 7460 0 7463 0 7466 0 7469 0 7472 0 7475 0 7478 0 7481 0 7484 0 7487 0 7490 0 7493 0 7496 0 7499 0 7502 0 7505 0 7508 0 7511 0 7514 0 7517 0 7520 0 7523 0 7526 0 7529 0 7532 0 7535 0 7538 0 7541 0 7544 0 7547 0 7550 0 7553 0 7556 0 7559 0 7562 0 7565 0 7568 0 7571 0 7574 0 7577 0 7580 0 7583 0 7586 0 7589 0 7592 0 7595 0 7598 0 7601 0 7604 0 7607 0 7610 0 7613 0 7616 0 7619 0 7622 0 7625 0 7628 0 7631 0 7634 0 7637 0 7640 0 7643 0 7646 0 7649 0 7652 0 7655 0 7658 0 7661 0 7664 0 7667 0 7670 0 7673 0 7676 0 7679 0 7682 0 7685 0 7688 0 7691 0 7694 0 7697 0 7700 0 7703 0 7706 0 7709 0 7712 0 7715 0 7718 0 7721 0 7724 0 7727 0 7730 0 7733 0 7736 0 7739 0 7742 0 7745 0 7748 0 7751 0 7754 0 7757 0 7760 0 7763 0 7766 0 7769 0 7772 0 7775 0 7778 0 7781 0 7784 0 7787 0 7790 0 7793 0 7796 0 7799 0 7802 0 7805 0 7808 0 7811 0 7814 0 7817 0 7820 0 7823 0 7826 0 7829 0 7832 0 7835 0 7838 0 7841 0 7844 0 7847 0 7850 0 7853 0 7856 0 7859 0 7862 0 7865 0 7868 0 7871 0 7874 0 7877 0 7880 0 7883 0 7886 0 7889 0 7892 0 7895 0 7898 0 7901 0 7904 0 7907 0 7910 0 7913 0 7916 0 7919 0 7922 0 7925 0 7928 0 7931 0 7934 0 7937 0 7940 0 7943 0 7946 0 7949 0 7952 0 7955 0 7958 0 7961 0 7964 0 7967 0 7970 0 7973 0 7976 0 7979 0 7982 0 7985 0 7988 0 7991 0 7994 0 7997 0 8000 0 8003 0 8006 0 8009 0 8012 0 8015 0 8018 0 8021 0 8024 0 8027 0 8030 0 8033 0 8036 0 8039 0 8042 0 8045 0 8048 0 8051 0 8054 0 8057 0 8060 0 8063 0 8066 0 8069 0 8072 0 8075 0 8078 0 8081 0 8084 0 8087 0 8090 0 8093 0 8096 0 8099 0 8102 0 8105 0 8108 0 8111 0 8114 0 8117 0 8120 0 8123 0 8126 0 8129 0 8132 0 8135 0 8138 0 8141 0 8144 0 8147 0 8150 0 8153 0 8156 0 8159 0 8162 0 8165 0 8168 0 8171 0 8174 0 8177 0 8180 0 8183 0 8186 0 8189 0 8192 0 8195 0 8198 0 8201 0 8204 0 8207 0 8210 0 8213 0 8216 0 8219 0 8222 0 8225 0 8228 0 8231 0 8234 0 8237 0 8240 0 8243 0 8246 0 8249 0 8252 0 8255 0 8258 0 8261 0 8264 0 8267 0 8270 0 8273 0 8276 0 8279 0 8282 0 8285 0 8288 0 8291 0 8294 0 8297 0 8300 0 8303 0 8306 0 8309 0 8312 0 8315 0 8318 0 8321 0 8324 0 8327 0 8330 0 8333 0 8336 0 8339 0 8342 0 8345 0 8348 0 8351 0 8354 0 8357 0 8360 0 8363 0 8366 0 8369 0 8372 0 8375 0 8378 0 8381 0 8384 0 8387 0 8390 0 8393 0 8396 0 8399 0 8402 0 8405 0 8408 0 8411 0 8414 0 8417 0 8420 0 8423 0 8426 0 8429 0 8432 0 8435 0 8438 0 8441 0 8444 0 8447 0 8450 0 8453 0 8456 0 8459 0 8462 0 8465 0 8468 0 8471 0 8474 0 8477 0 8480 0 8483 0 8486 0 8489 0 8492 0 8495 0 8498 0 8501 0 8504 0 8507 0 8510 0 8513 0 8516 0 8519 0 8522 0 8525 0 8528 0 8531 0 8534 0 8537 0 8540 0 8543 0 8546 0 8549 0 8552 0 8555 0 8558 0 8561 0 8564 0 8567 0 8570 0 8573 0 8576 0 8579 0 8582 0 8585 0 8588 0 8591 0 8594 0 8597 0 8600 0 8603 0 8606 0 8609 0 8612 0 8615 0 8618 0 8621 0 8624 0 8627 0 8630 0 8633 0 8636 0 8639 0 8642 0 8645 0 8648 0 8651 0 8654 0 8657 0 8660 0 8663 0 8666 0 8669 0 8672 0 8675 0 8678 0 8681 0 8684 0 8687 0 8690 0 8693 0 8696 0 8699 0 8702 0 8705 0 8708 0 8711 0 8714 0 8717 0 8720 0 8723 0 8726 0 8729 0 8732 0 8735 0 8738 0 8741 0 8744 0 8747 0 8750 0 8753 0 8756 0 8759 0 8762 0 8765 0 8768 0 8771 0 8774 0 8777 0 8780 0 8783 0 8786 0 8789 0 8792 0 8795 0 8798 0 8801 0 8804 0 8807 0 8810 0 8813 0 8816 0 8819 0 8822 0 8825 0 8828 0 8831 0 8834 0 8837 0 8840 0 8843 0 8846 0 8849 0 8852 0 8855 0 8858 0 8861 0 8864 0 8867 0 8870 0 8873 0 8876 0 8879 0 8882 0 8885 0 8888 0 8891 0 8894 0 8897 0 8900 0 8903 0 8906 0 8909 0 8912 0 8915 0 8918 0 8921 0 8924 0 8927 0 8930 0 8933 0 8936 0 8939 0 8942 0 8945 0 8948 0 8951 0 8954 0 8957 0 8960 0 8963 0 8966 0 8969 0 8972 0 8975 0 8978 0 8981 0 8984 0 8987 0 8990 0 8993 0 8996 0 8999 0 9002 0 9005 0 9008 0 9011 0 9014 0 9017 0 9020 0 9023 0 9026 0 9029 0 9032 0 9035 0 9038 0 9041 0 9044 0 9047 0 9050 0 9053 0 9056 0 9059 0 9062 0 9065 0 9068 0 9071 0 9074 0 9077 0 9080 0 9083 0 9086 0 9089 0 9092 0 9095 0 9098 0 9101 0 9104 0 9107 0 9110 0 9113 0 9116 0 9119 0 9122 0 9125 0 9128 0 9131 0 9134 0 9137 0 9140 0 9143 0 9146 0 9149 0 9152 0 9155 0 9158 0 9161 0 9164 0 9167 0 9170 0 9173 0 9176 0 9179 0 9182 0 9185 0 9188 0 9191 0 9194 0 9197 0 9200 0 9203 0 9206 0 9209 0 9212 0 9215 0 9218 0 9221 0 9224 0 9227 0 9230 0 9233 0 9236 0 9239 0 9242 0 9245 0 9248 0 9251 0 9254 0 9257 0 9260 0 9263 0 9266 0 9269 0 9272 0 9275 0 9278 0 9281 0 9284 0 9287 0 9290 0 9293 0 9296 0 9299 0 9302 0 9305 0 9308 0 9311 0 9314 0 9317 0 9320 0 9323 0 9326 0 9329 0 9332 0 9335 0 9338 0 9341 0 9344 0 9347 0 9350 0 9353 0 9356 0 9359 0 9362 0 9365 0 9368 0 9371 0 9374 0 9377 0 9380 0 9383 0 9386 0 9389 0 9392 0 9395 0 9398 0 9401 0 9404 0 9407 0 9410 0 9413 0 9416 0 9419 0 9422 0 9425 0 9428 0 9431 0 9434 0 9437 0 9440 0 9443 0 9446 0 9449 0 9452 0 9455 0 9458 0 9461 0 9464 0 9467 0 9470 0 9473 0 9476 0 9479 0 9482 0 9485 0 9488 0 9491 0 9494 0 9497 0 9500 0 9503 0 9506 0 9509 0 9512 0 9515 0 9518 0 9521 0 9524 0 9527 0 9530 0 9533 0 9536 0 9539 0 9542 0 9545 0 9548 0 9551 0 9554 0 9557 0 9560 0 9563 0 9566 0 9569 0 9572 0 9575 0 9578 0 9581 0 9584 0 9587 0 9590 0 9593 0 9596 0 9599 0 9602 0 9605 0 9608 0 9611 0 9614 0 9617 0 9620 0 9623 0 9626 0 9629 0 9632 0 9635 0 9638 0 9641 0 9644 0 9647 0 9650 0 9653 0 9656 0 9659 0 9662 0 9665 0 9668 0 9671 0 9674 0 9677 0 9680 0 9683 0 9686 0 9689 0 9692 0 9695 0 9698 0 9701 0 9704 0 9707 0 9710 0 9713 0 9716 0 9719 0 9722 0 9725 0 9728 0 9731 0 9734 0 9737 0 9740 0 9743 0 9746 0 9749 0 9752 0 9755 0 9758 0 9761 0 9764 0 9767 0 9770 0 9773 0 9776 0 9779 0 9782 0 9785 0 9788 0 9791 0 9794 0 9797 0 9800 0 9803 0 9806 0 9809 0 9812 0 9815 0 9818 0 9821 0 9824 0 9827 0 9830 0 9833 0 9836 0 9839 0 9842 0 9845 0 9848 0 9851 0 9854 0 9857 0 9860 0 9863 0 9866 0 9869 0 9872 0 9875 0 9878 0 9881 0 9884 0 9887 0 9890 0 9893 0 9896 0 9899 0 9902 0 9905 0 9908 0 9911 0 9914 0 9917 0 9920 0 9923 0 9926 0 9929 0 9932 0 9935 0 9938 0 9941 0 9944 0 9947 0 9950 0 9953 0 9956 0 9959 0 9962 0 9965 0 9968 0 9971 0 9974 0 9977 0 9980 0 9983 0 9986 0 9989 0 9992 0 9995 0 9998 0 10001 0 10004 0 10007 0 10010 0 10013 0 10016 0 10019 0 10022 0 10025 0 10028 0 10031 0 10034 0 10037 0 10040 0 10043 0 10046 0 10049 0 10052 0 10055 0 10058 0 10061 0 10064 0 10067 0 10070 0 10073 0 10076 0 10079 0 10082 0 10085 0 10088 0 10091 0 10094 0 10097 0 10100 0 10103 0 10106 0 10109 0 10112 0 10115 0 10118 0 10121 0 10124 0 10127 0 10130 0 10133 0 10136 0 10139 0 10142 0 10145 0 10148 0 10151 0 10154 0 10157 0 10160 0 10163 0 10166 0 10169 0 10172 0 10175 0 10178 0 10181 0 10184 0 10187 0 10190 0 10193 0 10196 0 10199 0 10202 0 10205 0 10208 0 10211 0 10214 0 10217 0 10220 0 10223 0 10226 0 10229 0 10232 0 10235 0 10238 0 10241 0 10244 0 10247 0 10250 0 10253 0 10256 0 10259 0 10262 0 10265 0 10268 0 10271 0 10274 0 10277 0 10280 0 10283 0 10286 0 10289 0 10292 0 10295 0 10298 0 10301 0 10304 0 10307 0 10310 0 10313 0 10316 0 10319 0 10322 0 10325 0 10328 0 10331 0 10334 0 10337 0 10340 0 10343 0 10346 0 10349 0 10352 0 10355 0 10358 0 10361 0 10364 0 10367 0 10370 0 10373 0 10376 0 10379 0 10382 0 10385 0 10388 0 10391 0 10394 0 10397 0 10400 0 10403 0 10406 0 10409 0 10412 0 10415 0 10418 0 10421 0 10424 0 10427 0 10430 0 10433 0 10436 0 10439 0 10442 0 10445 0 10448 0 10451 0 10454 0 10457 0 10460 0 10463 0 10466 0 10469 0 10472 0 10475 0 10478 0 10481 0 10484 0 10487 0 10490 0 10493 0 10496 0 10499 0 10502 0 10505 0 10508 0 10511 0 10514 0 10517 0 10520 0 10523 0 10526 0 10529 0 10532 0 10535 0 10538 0 10541 0 10544 0 10547 0 10550 0 10553 0 10556 0 10559 0 10562 0 10565 0 10568 0 10571 0 10574 0 10577 0 10580 0 10583 0 10586 0 10589 0 10592 0 10595 0 10598 0 10601 0 10604 0 10607 0 10610 0 10613 0 10616 0 10619 0 10622 0 10625 0 10628 0 10631 0 10634 0 10637 0 10640 0 10643 0 10646 0 10649 0 10652 0 10655 0 10658 0 10661 0 10664 0 10667 0 10670 0 10673 0 10676 0 10679 0 10682 0 10685 0 10688 0 10691 0 10694 0 10697 0 10700 0 10703 0 10706 0 10709 0 10712 0 10715 0 10718 0 10721 0 10724 0 10727 0 10730 0 10733 0 10736 0 10739 0 10742 0 10745 0 10748 0 10751 0 10754 0 10757 0 10760 0 10763 0 10766 0 10769 0 10772 0 10775 0 10778 0 10781 0 10784 0 10787 0 10790 0 10793 0 10796 0 10799 0 10802 0 10805 0 10808 0 10811 0 10814 0 10817 0 10820 0 10823 0 10826 0 10829 0 10832 0 10835 0 10838 0 10841 0 10844 0 10847 0 10850 0 10853 0 10856 0 10859 0 10862 0 10865 0 10868 0 10871 0 10874 0 10877 0 10880 0 10883 0 10886 0 10889 0 10892 0 10895 0 10898 0 10901 0 10904 0 10907 0 10910 0 10913 0 10916 0 10919 0 10922 0 10925 0 10928 0 10931 0 10934 0 10937 0 10940 0 10943 0 10946 0 10949 0 10952 0 10955 0 10958 0 10961 0 10964 0 10967 0 10970 0 10973 0 10976 0 10979 0 10982 0 10985 0 10988 0 10991 0 10994 0 10997 0 11000 0 11003 0 11006 0 11009 0 11012 0 11015 0 11018 0 11021 0 11024 0 11027 0 11030 0 11033 0 11036 0 11039 0 11042 0 11045 0 11048 0 11051 0 11054 0 11057 0 11060 0 11063 0 11066 0 11069 0 11072 0 11075 0 11078 0 11081 0 11084 0 11087 0 11090 0 11093 0 11096 0 11099 0 11102 0 11105 0 11108 0 11111 0 11114 0 11117 0 11120 0 11123 0 11126 0 11129 0 11132 0 11135 0 11138 0 11141 0 11144 0 11147 0 11150 0 11153 0 11156 0 11159 0 11162 0 11165 0 11168 0 11171 0 11174 0 11177 0 11180 0 11183 0 11186 0 11189 0 11192 0 11195 0 11198 0 11201 0 11204 0 11207 0 11210 0 11213 0 11216 0 11219 0 11222 0 11225 0 11228 0 11231 0 11234 0 11237 0 11240 0 11243 0 11246 0 11249 0 11252 0 11255 0 11258 0 11261 0 11264 0 11267 0 11270 0 11273 0 11276 0 11279 0 11282 0 11285 0 11288 0 11291 0 11294 0 11297 0 11300 0 11303 0 11306 0 11309 0 11312 0 11315 0 11318 0 11321 0 11324 0 11327 0 11330 0 11333 0 11336 0 11339 0 11342 0 11345 0 11348 0 11351 0 11354 0 11357 0 11360 0 11363 0 11366 0 11369 0 11372 0 11375 0 11378 0 11381 0 11384 0 11387 0 11390 0 11393 0 11396 0 11399 0 11402 0 11405 0 11408 0 11411 0 11414 0 11417 0 11420 0 11423 0 11426 0 11429 0 11432 0 11435 0 11438 0 11441 0 11444 0 11447 0 11450 0 11453 0 11456 0 11459 0 11462 0 11465 0 11468 0 11471 0 11474 0 11477 0 11480 0 11483 0 11486 0 11489 0 11492 0 11495 0 11498 0 11501 0 11504 0 11507 0 11510 0 11513 0 11516 0 11519 0 11522 0 11525 0 11528 0 11531 0 11534 0 11537 0 11540 0 11543 0 11546 0 11549 0 11552 0 11555 0 11558 0 11561 0 11564 0 11567 0 11570 0 11573 0 11576 0 11579 0 11582 0 11585 0 11588 0 11591 0 11594 0 11597 0 11600 0 11603 0 11606 0 11609 0 11612 0 11615 0 11618 0 11621 0 11624 0 11627 0 11630 0 11633 0 11636 0 11639 0 11642 0 11645 0 11648 0 11651 0 11654 0 11657 0 11660 0 11663 0 11666 0 11669 0 11672 0 11675 0 11678 0 11681 0 11684 0 11687 0 11690 0 11693 0 11696 0 11699 0 11702 0 11705 0 11708 0 11711 0 11714 0 11717 0 11720 0 11723 0 11726 0 11729 0 11732 0 11735 0 11738 0 11741 0 11744 0 11747 0 11750 0 11753 0 11756 0 11759 0 11762 0 11765 0 11768 0 11771 0 11774 0 11777 0 11780 0 11783 0 11786 0 11789 0 11792 0 11795 0 11798 0 11801 0 11804 0 11807 0 11810 0 11813 0 11816 0 11819 0 11822 0 11825 0 11828 0 11831 0 11834 0 11837 0 11840 0 11843 0 11846 0 11849 0 11852 0 11855 0 11858 0 11861 0 11864 0 11867 0 11870 0 11873 0 11876 0 11879 0 11882 0 11885 0 11888 0 11891 0 11894 0 11897 0 11900 0 11903 0 11906 0 11909 0 11912 0 11915 0 11918 0 11921 0 11924 0 11927 0 11930 0 11933 0 11936 0 11939 0 11942 0 11945 0 11948 0 11951 0 11954 0 11957 0 11960 0 11963 0 11966 0 11969 0 11972 0 11975 0 11978 0 11981 0 11984 0 11987 0 11990 0 11993 0 11996 0 11999 0 12002 0 12005 0 12008 0 12011 0 12014 0 12017 0 12020 0 12023 0 12026 0 12029 0 12032 0 12035 0 12038 0 12041 0 12044 0 12047 0 12050 0 12053 0 12056 0 12059 0 12062 0 12065 0 12068 0 12071 0 12074 0 12077 0 12080 0 12083 0 12086 0 12089 0 12092 0 12095 0 12098 0 12101 0 12104 0 12107 0 12110 0 12113 0 12116 0 12119 0 12122 0 12125 0 12128 0 12131 0 12134 0 12137 0 12140 0 12143 0 12146 0 12149 0 12152 0 12155 0 12158 0 12161 0 12164 0 12167 0 12170 0 12173 0 12176 0 12179 0 12182 0 12185 0 12188 0 12191 0 12194 0 12197 0 12200 0 12203 0 12206 0 12209 0 12212 0 12215 0 12218 0 12221 0 12224 0 12227 0 12230 0 12233 0 12236 0 12239 0 12242 0 12245 0 12248 0 12251 0 12254 0 12257 0 12260 0 12263 0 12266 0 12269 0 12272 0 12275 0 12278 0 12281 0 12284 0 12287 0 12290 0 12293 0 12296 0 12299 0 12302 0 12305 0 12308 0 12311 0 12314 0 12317 0 12320 0 12323 0 12326 0 12329 0 12332 0 12335 0 12338 0 12341 0 12344 0 12347 0 12350 0 12353 0 12356 0 12359 0 12362 0 12365 0 12368 0 12371 0 12374 0 12377 0 12380 0 12383 0 12386 0 12389 0 12392 0 12395 0 12398 0 12401 0 12404 0 12407 0 12410 0 12413 0 12416 0 12419 0 12422 0 12425 0 12428 0 12431 0 12434 0 12437 0 12440 0 12443 0 12446 0 12449 0 12452 0 12455 0 12458 0 12461 0 12464 0 12467 0 12470 0 12473 0 12476 0 12479 0 12482 0 12485 0 12488 0 12491 0 12494 0 12497 0 12500 0 12503 0 12506 0 12509 0 12512 0 12515 0 12518 0 12521 0 12524 0 12527 0 12530 0 12533 0 12536 0 12539 0 12542 0 12545 0 12548 0 12551 0 12554 0 12557 0 12560 0 12563 0 12566 0 12569 0 12572 0 12575 0 12578 0 12581 0 12584 0 12587 0 12590 0 12593 0 12596 0 12599 0 12602 0 12605 0 12608 0 12611 0 12614 0 12617 0 12620 0 12623 0 12626 0 12629 0 12632 0 12635 0 12638 0 12641 0 12644 0 12647 0 12650 0 12653 0 12656 0 12659 0 12662 0 12665 0 12668 0 12671 0 12674 0 12677 0 12680 0 12683 0 12686 0 12689 0 12692 0 12695 0 12698 0 12701 0 12704 0 12707 0 12710 0 12713 0 12716 0 12719 0 12722 0 12725 0 12728 0 12731 0 12734 0 12737 0 12740 0 12743 0 12746 0 12749 0 12752 0 12755 0 12758 0 12761 0 12764 0 12767 0 12770 0 12773 0 12776 0 12779 0 12782 0 12785 0 12788 0 12791 0 12794 0 12797 0 12800 0 12803 0 12806 0 12809 0 12812 0 12815 0 12818 0 12821 0 12824 0 12827 0 12830 0 12833 0 12836 0 12839 0 12842 0 12845 0 12848 0 12851 0 12854 0 12857 0 12860 0 12863 0 12866 0 12869 0 12872 0 12875 0 12878 0 12881 0 12884 0 12887 0 12890 0 12893 0 12896 0 12899 0 12902 0 12905 0 12908 0 12911 0 12914 0 12917 0 12920 0 12923 0 12926 0 12929 0 12932 0 12935 0 12938 0 12941 0 12944 0 12947 0 12950 0 12953 0 12956 0 12959 0 12962 0 12965 0 12968 0 12971 0 12974 0 12977 0 12980 0 12983 0 12986 0 12989 0 12992 0 12995 0 12998 0 13001 0 13004 0 13007 0 13010 0 13013 0 13016 0 13019 0 13022 0 13025 0 13028 0 13031 0 13034 0 13037 0 13040 0 13043 0 13046 0 13049 0 13052 0 13055 0 13058 0 13061 0 13064 0 13067 0 13070 0 13073 0 13076 0 13079 0 13082 0 13085 0 13088 0 13091 0 13094 0 13097 0 13100 0 13103 0 13106 0 13109 0 13112 0 13115 0 13118 0 13121 0 13124 0 13127 0 13130 0 13133 0 13136 0 13139 0 13142 0 13145 0 13148 0 13151 0 13154 0 13157 0 13160 0 13163 0 13166 0 13169 0 13172 0 13175 0 13178 0 13181 0 13184 0 13187 0 13190 0 13193 0 13196 0 13199 0 13202 0 13205 0 13208 0 13211 0 13214 0 13217 0 13220 0 13223 0 13226 0 13229 0 13232 0 13235 0 13238 0 13241 0 13244 0 13247 0 13250 0 13253 0 13256 0 13259 0 13262 0 13265 0 13268 0 13271 0 13274 0 13277 0 13280 0 13283 0 13286 0 13289 0 13292 0 13295 0 13298 0 13301 0 13304 0 13307 0 13310 0 13313 0 13316 0 13319 0 13322 0 13325 0 13328 0 13331 0 13334 0 13337 0 13340 0 13343 0 13346 0 13349 0 13352 0 13355 0 13358 0 13361 0 13364 0 13367 0 13370 0 13373 0 13376 0 13379 0 13382 0 13385 0 13388 0 13391 0 13394 0 13397 0 13400 0 13403 0 13406 0 13409 0 13412 0 13415 0 13418 0 13421 0 13424 0 13427 0 13430 0 13433 0 13436 0 13439 0 13442 0 13445 0 13448 0 13451 0 13454 0 13457 0 13460 0 13463 0 13466 0 13469 0 13472 0 13475 0 13478 0 13481 0 13484 0 13487 0 13490 0 13493 0 13496 0 13499 0 13502 0 13505 0 13508 0 13511 0 13514 0 13517 0 13520 0 13523 0 13526 0 13529 0 13532 0 13535 0 13538 0 13541 0 13544 0 13547 0 13550 0 13553 0 13556 0 13559 0 13562 0 13565 0 13568 0 13571 0 13574 0 13577 0 13580 0 13583 0 13586 0 13589 0 13592 0 13595 0 13598 0 13601 0 13604 0 13607 0 13610 0 13613 0 13616 0 13619 0 13622 0 13625 0 13628 0 13631 0 13634 0 13637 0 13640 0 13643 0 13646 0 13649 0 13652 0 13655 0 13658 0 13661 0 13664 0 13667 0 13670 0 13673 0 13676 0 13679 0 13682 0 13685 0 13688 0 13691 0 13694 0 13697 0 13700 0 13703 0 13706 0 13709 0 13712 0 13715 0 13718 0 13721 0 13724 0 13727 0 13730 0 13733 0 13736 0 13739 0 13742 0 13745 0 13748 0 13751 0 13754 0 13757 0 13760 0 13763 0 13766 0 13769 0 13772 0 13775 0 13778 0 13781 0 13784 0 13787 0 13790 0 13793 0 13796 0 13799 0 13802 0 13805 0 13808 0 13811 0 13814 0 13817 0 13820 0 13823 0 13826 0 13829 0 13832 0 13835 0 13838 0 13841 0 13844 0 13847 0 13850 0 13853 0 13856 0 13859 0 13862 0 13865 0 13868 0 13871 0 13874 0 13877 0 13880 0 13883 0 13886 0 13889 0 13892 0 13895 0 13898 0 13901 0 13904 0 13907 0 13910 0 13913 0 13916 0 13919 0 13922 0 13925 0 13928 0 13931 0 13934 0 13937 0 13940 0 13943 0 13946 0 13949 0 13952 0 13955 0 13958 0 13961 0 13964 0 13967 0 13970 0 13973 0 13976 0 13979 0 13982 0 13985 0 13988 0 13991 0 13994 0 13997 0 14000 0 14003 0 14006 0 14009 0 14012 0 14015 0 14018 0 14021 0 14024 0 14027 0 14030 0 14033 0 14036 0 14039 0 14042 0 14045 0 14048 0 14051 0 14054 0 14057 0 14060 0 14063 0 14066 0 14069 0 14072 0 14075 0 14078 0 14081 0 14084 0 14087 0 14090 0 14093 0 14096 0 14099 0 14102 0 14105 0 14108 0 14111 0 14114 0 14117 0 14120 0 14123 0 14126 0 14129 0 14132 0 14135 0 14138 0 14141 0 14144 0 14147 0 14150 0 14153 0 14156 0 14159 0 14162 0 14165 0 14168 0 14171 0 14174 0 14177 0 14180 0 14183 0 14186 0 14189 0 14192 0 14195 0 14198 0 14201 0 14204 0 14207 0 14210 0 14213 0 14216 0 14219 0 14222 0 14225 0 14228 0 14231 0 14234 0 14237 0 14240 0 14243 0 14246 0 14249 0 14252 0 14255 0 14258 0 14261 0 14264 0 14267 0 14270 0 14273 0 14276 0 14279 0 0 !NNB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4734 0 !NGRP NST2 0 2 0 6 1 0 9 1 0 12 2 0 24 1 0 26 1 0 32 1 0 35 1 0 38 1 0 40 1 0 44 2 0 50 1 0 52 1 0 56 1 0 59 0 0 60 1 0 62 1 0 64 1 0 66 1 0 68 1 0 70 1 0 72 1 0 76 1 0 81 1 0 83 1 0 87 1 0 90 1 0 92 1 0 96 1 0 100 1 0 102 1 0 106 1 0 109 2 0 115 1 0 117 1 0 123 1 0 126 1 0 129 1 0 131 1 0 137 1 0 140 1 0 143 1 0 145 1 0 149 1 0 152 0 0 153 1 0 155 1 0 157 1 0 159 1 0 161 1 0 164 1 0 166 1 0 170 1 0 174 1 0 178 1 0 180 1 0 185 1 0 187 1 0 193 1 0 196 1 0 199 1 0 201 1 0 205 1 0 210 1 0 212 1 0 216 1 0 219 1 0 222 1 0 225 2 0 232 1 0 234 1 0 238 1 0 242 1 0 244 1 0 248 1 0 251 1 0 254 2 0 266 1 0 268 1 0 272 1 0 274 1 0 278 1 0 281 1 0 285 1 0 287 1 0 291 1 0 293 1 0 297 1 0 300 1 0 304 1 0 306 1 0 310 1 0 313 1 0 316 2 0 328 1 0 330 1 0 334 1 0 337 0 0 338 1 0 340 1 0 342 1 0 344 1 0 346 1 0 349 1 0 351 1 0 355 1 0 358 0 0 359 1 0 361 1 0 363 1 0 365 1 0 367 1 0 369 1 0 371 1 0 375 1 0 378 0 0 379 1 0 381 1 0 383 1 0 385 1 0 387 1 0 390 1 0 392 1 0 396 1 0 399 1 0 401 1 0 404 1 0 406 1 0 410 1 0 414 1 0 416 1 0 420 1 0 423 1 0 426 1 0 429 2 0 436 1 0 438 1 0 442 1 0 446 1 0 448 1 0 453 1 0 455 1 0 459 1 0 462 1 0 464 1 0 468 1 0 472 1 0 474 1 0 478 1 0 483 1 0 485 1 0 489 1 0 492 1 0 495 1 0 497 1 0 500 1 0 502 1 0 506 1 0 510 1 0 514 1 0 516 1 0 520 1 0 523 0 0 524 1 0 526 1 0 528 1 0 530 1 0 532 1 0 534 1 0 536 1 0 540 1 0 542 1 0 546 1 0 550 1 0 552 1 0 556 1 0 559 0 0 560 1 0 562 1 0 564 1 0 566 1 0 568 1 0 571 1 0 573 1 0 578 1 0 580 1 0 585 1 0 587 1 0 591 1 0 596 1 0 598 1 0 602 1 0 605 1 0 608 2 0 620 1 0 622 1 0 626 1 0 630 1 0 632 1 0 636 1 0 639 1 0 642 1 0 645 2 0 652 1 0 654 1 0 658 1 0 661 1 0 664 2 0 676 1 0 678 1 0 682 1 0 685 1 0 687 1 0 690 1 0 692 1 0 696 1 0 699 1 0 701 1 0 704 1 0 706 1 0 710 1 0 713 0 0 714 1 0 716 1 0 718 1 0 720 1 0 722 1 0 724 1 0 726 1 0 730 1 0 733 1 0 736 1 0 739 2 0 746 1 0 748 1 0 752 1 0 757 1 0 759 1 0 763 1 0 767 1 0 769 1 0 773 1 0 776 2 0 782 1 0 784 1 0 788 2 0 794 1 0 796 1 0 800 1 0 805 1 0 807 1 0 811 1 0 814 1 0 822 1 0 824 1 0 828 1 0 831 1 0 834 2 0 846 1 0 848 1 0 852 1 0 856 1 0 860 1 0 862 1 0 866 1 0 871 1 0 873 1 0 878 1 0 880 1 0 885 1 0 887 1 0 891 1 0 895 2 0 898 1 0 901 1 0 904 1 0 907 1 0 910 1 0 913 1 0 916 1 0 919 1 0 922 1 0 925 1 0 928 1 0 931 1 0 934 1 0 937 1 0 940 1 0 943 1 0 946 1 0 949 1 0 952 1 0 955 1 0 958 1 0 961 1 0 964 1 0 967 1 0 970 1 0 973 1 0 976 1 0 979 1 0 982 1 0 985 1 0 988 1 0 991 1 0 994 1 0 997 1 0 1000 1 0 1003 1 0 1006 1 0 1009 1 0 1012 1 0 1015 1 0 1018 1 0 1021 1 0 1024 1 0 1027 1 0 1030 1 0 1033 1 0 1036 1 0 1039 1 0 1042 1 0 1045 1 0 1048 1 0 1051 1 0 1054 1 0 1057 1 0 1060 1 0 1063 1 0 1066 1 0 1069 1 0 1072 1 0 1075 1 0 1078 1 0 1081 1 0 1084 1 0 1087 1 0 1090 1 0 1093 1 0 1096 1 0 1099 1 0 1102 1 0 1105 1 0 1108 1 0 1111 1 0 1114 1 0 1117 1 0 1120 1 0 1123 1 0 1126 1 0 1129 1 0 1132 1 0 1135 1 0 1138 1 0 1141 1 0 1144 1 0 1147 1 0 1150 1 0 1153 1 0 1156 1 0 1159 1 0 1162 1 0 1165 1 0 1168 1 0 1171 1 0 1174 1 0 1177 1 0 1180 1 0 1183 1 0 1186 1 0 1189 1 0 1192 1 0 1195 1 0 1198 1 0 1201 1 0 1204 1 0 1207 1 0 1210 1 0 1213 1 0 1216 1 0 1219 1 0 1222 1 0 1225 1 0 1228 1 0 1231 1 0 1234 1 0 1237 1 0 1240 1 0 1243 1 0 1246 1 0 1249 1 0 1252 1 0 1255 1 0 1258 1 0 1261 1 0 1264 1 0 1267 1 0 1270 1 0 1273 1 0 1276 1 0 1279 1 0 1282 1 0 1285 1 0 1288 1 0 1291 1 0 1294 1 0 1297 1 0 1300 1 0 1303 1 0 1306 1 0 1309 1 0 1312 1 0 1315 1 0 1318 1 0 1321 1 0 1324 1 0 1327 1 0 1330 1 0 1333 1 0 1336 1 0 1339 1 0 1342 1 0 1345 1 0 1348 1 0 1351 1 0 1354 1 0 1357 1 0 1360 1 0 1363 1 0 1366 1 0 1369 1 0 1372 1 0 1375 1 0 1378 1 0 1381 1 0 1384 1 0 1387 1 0 1390 1 0 1393 1 0 1396 1 0 1399 1 0 1402 1 0 1405 1 0 1408 1 0 1411 1 0 1414 1 0 1417 1 0 1420 1 0 1423 1 0 1426 1 0 1429 1 0 1432 1 0 1435 1 0 1438 1 0 1441 1 0 1444 1 0 1447 1 0 1450 1 0 1453 1 0 1456 1 0 1459 1 0 1462 1 0 1465 1 0 1468 1 0 1471 1 0 1474 1 0 1477 1 0 1480 1 0 1483 1 0 1486 1 0 1489 1 0 1492 1 0 1495 1 0 1498 1 0 1501 1 0 1504 1 0 1507 1 0 1510 1 0 1513 1 0 1516 1 0 1519 1 0 1522 1 0 1525 1 0 1528 1 0 1531 1 0 1534 1 0 1537 1 0 1540 1 0 1543 1 0 1546 1 0 1549 1 0 1552 1 0 1555 1 0 1558 1 0 1561 1 0 1564 1 0 1567 1 0 1570 1 0 1573 1 0 1576 1 0 1579 1 0 1582 1 0 1585 1 0 1588 1 0 1591 1 0 1594 1 0 1597 1 0 1600 1 0 1603 1 0 1606 1 0 1609 1 0 1612 1 0 1615 1 0 1618 1 0 1621 1 0 1624 1 0 1627 1 0 1630 1 0 1633 1 0 1636 1 0 1639 1 0 1642 1 0 1645 1 0 1648 1 0 1651 1 0 1654 1 0 1657 1 0 1660 1 0 1663 1 0 1666 1 0 1669 1 0 1672 1 0 1675 1 0 1678 1 0 1681 1 0 1684 1 0 1687 1 0 1690 1 0 1693 1 0 1696 1 0 1699 1 0 1702 1 0 1705 1 0 1708 1 0 1711 1 0 1714 1 0 1717 1 0 1720 1 0 1723 1 0 1726 1 0 1729 1 0 1732 1 0 1735 1 0 1738 1 0 1741 1 0 1744 1 0 1747 1 0 1750 1 0 1753 1 0 1756 1 0 1759 1 0 1762 1 0 1765 1 0 1768 1 0 1771 1 0 1774 1 0 1777 1 0 1780 1 0 1783 1 0 1786 1 0 1789 1 0 1792 1 0 1795 1 0 1798 1 0 1801 1 0 1804 1 0 1807 1 0 1810 1 0 1813 1 0 1816 1 0 1819 1 0 1822 1 0 1825 1 0 1828 1 0 1831 1 0 1834 1 0 1837 1 0 1840 1 0 1843 1 0 1846 1 0 1849 1 0 1852 1 0 1855 1 0 1858 1 0 1861 1 0 1864 1 0 1867 1 0 1870 1 0 1873 1 0 1876 1 0 1879 1 0 1882 1 0 1885 1 0 1888 1 0 1891 1 0 1894 1 0 1897 1 0 1900 1 0 1903 1 0 1906 1 0 1909 1 0 1912 1 0 1915 1 0 1918 1 0 1921 1 0 1924 1 0 1927 1 0 1930 1 0 1933 1 0 1936 1 0 1939 1 0 1942 1 0 1945 1 0 1948 1 0 1951 1 0 1954 1 0 1957 1 0 1960 1 0 1963 1 0 1966 1 0 1969 1 0 1972 1 0 1975 1 0 1978 1 0 1981 1 0 1984 1 0 1987 1 0 1990 1 0 1993 1 0 1996 1 0 1999 1 0 2002 1 0 2005 1 0 2008 1 0 2011 1 0 2014 1 0 2017 1 0 2020 1 0 2023 1 0 2026 1 0 2029 1 0 2032 1 0 2035 1 0 2038 1 0 2041 1 0 2044 1 0 2047 1 0 2050 1 0 2053 1 0 2056 1 0 2059 1 0 2062 1 0 2065 1 0 2068 1 0 2071 1 0 2074 1 0 2077 1 0 2080 1 0 2083 1 0 2086 1 0 2089 1 0 2092 1 0 2095 1 0 2098 1 0 2101 1 0 2104 1 0 2107 1 0 2110 1 0 2113 1 0 2116 1 0 2119 1 0 2122 1 0 2125 1 0 2128 1 0 2131 1 0 2134 1 0 2137 1 0 2140 1 0 2143 1 0 2146 1 0 2149 1 0 2152 1 0 2155 1 0 2158 1 0 2161 1 0 2164 1 0 2167 1 0 2170 1 0 2173 1 0 2176 1 0 2179 1 0 2182 1 0 2185 1 0 2188 1 0 2191 1 0 2194 1 0 2197 1 0 2200 1 0 2203 1 0 2206 1 0 2209 1 0 2212 1 0 2215 1 0 2218 1 0 2221 1 0 2224 1 0 2227 1 0 2230 1 0 2233 1 0 2236 1 0 2239 1 0 2242 1 0 2245 1 0 2248 1 0 2251 1 0 2254 1 0 2257 1 0 2260 1 0 2263 1 0 2266 1 0 2269 1 0 2272 1 0 2275 1 0 2278 1 0 2281 1 0 2284 1 0 2287 1 0 2290 1 0 2293 1 0 2296 1 0 2299 1 0 2302 1 0 2305 1 0 2308 1 0 2311 1 0 2314 1 0 2317 1 0 2320 1 0 2323 1 0 2326 1 0 2329 1 0 2332 1 0 2335 1 0 2338 1 0 2341 1 0 2344 1 0 2347 1 0 2350 1 0 2353 1 0 2356 1 0 2359 1 0 2362 1 0 2365 1 0 2368 1 0 2371 1 0 2374 1 0 2377 1 0 2380 1 0 2383 1 0 2386 1 0 2389 1 0 2392 1 0 2395 1 0 2398 1 0 2401 1 0 2404 1 0 2407 1 0 2410 1 0 2413 1 0 2416 1 0 2419 1 0 2422 1 0 2425 1 0 2428 1 0 2431 1 0 2434 1 0 2437 1 0 2440 1 0 2443 1 0 2446 1 0 2449 1 0 2452 1 0 2455 1 0 2458 1 0 2461 1 0 2464 1 0 2467 1 0 2470 1 0 2473 1 0 2476 1 0 2479 1 0 2482 1 0 2485 1 0 2488 1 0 2491 1 0 2494 1 0 2497 1 0 2500 1 0 2503 1 0 2506 1 0 2509 1 0 2512 1 0 2515 1 0 2518 1 0 2521 1 0 2524 1 0 2527 1 0 2530 1 0 2533 1 0 2536 1 0 2539 1 0 2542 1 0 2545 1 0 2548 1 0 2551 1 0 2554 1 0 2557 1 0 2560 1 0 2563 1 0 2566 1 0 2569 1 0 2572 1 0 2575 1 0 2578 1 0 2581 1 0 2584 1 0 2587 1 0 2590 1 0 2593 1 0 2596 1 0 2599 1 0 2602 1 0 2605 1 0 2608 1 0 2611 1 0 2614 1 0 2617 1 0 2620 1 0 2623 1 0 2626 1 0 2629 1 0 2632 1 0 2635 1 0 2638 1 0 2641 1 0 2644 1 0 2647 1 0 2650 1 0 2653 1 0 2656 1 0 2659 1 0 2662 1 0 2665 1 0 2668 1 0 2671 1 0 2674 1 0 2677 1 0 2680 1 0 2683 1 0 2686 1 0 2689 1 0 2692 1 0 2695 1 0 2698 1 0 2701 1 0 2704 1 0 2707 1 0 2710 1 0 2713 1 0 2716 1 0 2719 1 0 2722 1 0 2725 1 0 2728 1 0 2731 1 0 2734 1 0 2737 1 0 2740 1 0 2743 1 0 2746 1 0 2749 1 0 2752 1 0 2755 1 0 2758 1 0 2761 1 0 2764 1 0 2767 1 0 2770 1 0 2773 1 0 2776 1 0 2779 1 0 2782 1 0 2785 1 0 2788 1 0 2791 1 0 2794 1 0 2797 1 0 2800 1 0 2803 1 0 2806 1 0 2809 1 0 2812 1 0 2815 1 0 2818 1 0 2821 1 0 2824 1 0 2827 1 0 2830 1 0 2833 1 0 2836 1 0 2839 1 0 2842 1 0 2845 1 0 2848 1 0 2851 1 0 2854 1 0 2857 1 0 2860 1 0 2863 1 0 2866 1 0 2869 1 0 2872 1 0 2875 1 0 2878 1 0 2881 1 0 2884 1 0 2887 1 0 2890 1 0 2893 1 0 2896 1 0 2899 1 0 2902 1 0 2905 1 0 2908 1 0 2911 1 0 2914 1 0 2917 1 0 2920 1 0 2923 1 0 2926 1 0 2929 1 0 2932 1 0 2935 1 0 2938 1 0 2941 1 0 2944 1 0 2947 1 0 2950 1 0 2953 1 0 2956 1 0 2959 1 0 2962 1 0 2965 1 0 2968 1 0 2971 1 0 2974 1 0 2977 1 0 2980 1 0 2983 1 0 2986 1 0 2989 1 0 2992 1 0 2995 1 0 2998 1 0 3001 1 0 3004 1 0 3007 1 0 3010 1 0 3013 1 0 3016 1 0 3019 1 0 3022 1 0 3025 1 0 3028 1 0 3031 1 0 3034 1 0 3037 1 0 3040 1 0 3043 1 0 3046 1 0 3049 1 0 3052 1 0 3055 1 0 3058 1 0 3061 1 0 3064 1 0 3067 1 0 3070 1 0 3073 1 0 3076 1 0 3079 1 0 3082 1 0 3085 1 0 3088 1 0 3091 1 0 3094 1 0 3097 1 0 3100 1 0 3103 1 0 3106 1 0 3109 1 0 3112 1 0 3115 1 0 3118 1 0 3121 1 0 3124 1 0 3127 1 0 3130 1 0 3133 1 0 3136 1 0 3139 1 0 3142 1 0 3145 1 0 3148 1 0 3151 1 0 3154 1 0 3157 1 0 3160 1 0 3163 1 0 3166 1 0 3169 1 0 3172 1 0 3175 1 0 3178 1 0 3181 1 0 3184 1 0 3187 1 0 3190 1 0 3193 1 0 3196 1 0 3199 1 0 3202 1 0 3205 1 0 3208 1 0 3211 1 0 3214 1 0 3217 1 0 3220 1 0 3223 1 0 3226 1 0 3229 1 0 3232 1 0 3235 1 0 3238 1 0 3241 1 0 3244 1 0 3247 1 0 3250 1 0 3253 1 0 3256 1 0 3259 1 0 3262 1 0 3265 1 0 3268 1 0 3271 1 0 3274 1 0 3277 1 0 3280 1 0 3283 1 0 3286 1 0 3289 1 0 3292 1 0 3295 1 0 3298 1 0 3301 1 0 3304 1 0 3307 1 0 3310 1 0 3313 1 0 3316 1 0 3319 1 0 3322 1 0 3325 1 0 3328 1 0 3331 1 0 3334 1 0 3337 1 0 3340 1 0 3343 1 0 3346 1 0 3349 1 0 3352 1 0 3355 1 0 3358 1 0 3361 1 0 3364 1 0 3367 1 0 3370 1 0 3373 1 0 3376 1 0 3379 1 0 3382 1 0 3385 1 0 3388 1 0 3391 1 0 3394 1 0 3397 1 0 3400 1 0 3403 1 0 3406 1 0 3409 1 0 3412 1 0 3415 1 0 3418 1 0 3421 1 0 3424 1 0 3427 1 0 3430 1 0 3433 1 0 3436 1 0 3439 1 0 3442 1 0 3445 1 0 3448 1 0 3451 1 0 3454 1 0 3457 1 0 3460 1 0 3463 1 0 3466 1 0 3469 1 0 3472 1 0 3475 1 0 3478 1 0 3481 1 0 3484 1 0 3487 1 0 3490 1 0 3493 1 0 3496 1 0 3499 1 0 3502 1 0 3505 1 0 3508 1 0 3511 1 0 3514 1 0 3517 1 0 3520 1 0 3523 1 0 3526 1 0 3529 1 0 3532 1 0 3535 1 0 3538 1 0 3541 1 0 3544 1 0 3547 1 0 3550 1 0 3553 1 0 3556 1 0 3559 1 0 3562 1 0 3565 1 0 3568 1 0 3571 1 0 3574 1 0 3577 1 0 3580 1 0 3583 1 0 3586 1 0 3589 1 0 3592 1 0 3595 1 0 3598 1 0 3601 1 0 3604 1 0 3607 1 0 3610 1 0 3613 1 0 3616 1 0 3619 1 0 3622 1 0 3625 1 0 3628 1 0 3631 1 0 3634 1 0 3637 1 0 3640 1 0 3643 1 0 3646 1 0 3649 1 0 3652 1 0 3655 1 0 3658 1 0 3661 1 0 3664 1 0 3667 1 0 3670 1 0 3673 1 0 3676 1 0 3679 1 0 3682 1 0 3685 1 0 3688 1 0 3691 1 0 3694 1 0 3697 1 0 3700 1 0 3703 1 0 3706 1 0 3709 1 0 3712 1 0 3715 1 0 3718 1 0 3721 1 0 3724 1 0 3727 1 0 3730 1 0 3733 1 0 3736 1 0 3739 1 0 3742 1 0 3745 1 0 3748 1 0 3751 1 0 3754 1 0 3757 1 0 3760 1 0 3763 1 0 3766 1 0 3769 1 0 3772 1 0 3775 1 0 3778 1 0 3781 1 0 3784 1 0 3787 1 0 3790 1 0 3793 1 0 3796 1 0 3799 1 0 3802 1 0 3805 1 0 3808 1 0 3811 1 0 3814 1 0 3817 1 0 3820 1 0 3823 1 0 3826 1 0 3829 1 0 3832 1 0 3835 1 0 3838 1 0 3841 1 0 3844 1 0 3847 1 0 3850 1 0 3853 1 0 3856 1 0 3859 1 0 3862 1 0 3865 1 0 3868 1 0 3871 1 0 3874 1 0 3877 1 0 3880 1 0 3883 1 0 3886 1 0 3889 1 0 3892 1 0 3895 1 0 3898 1 0 3901 1 0 3904 1 0 3907 1 0 3910 1 0 3913 1 0 3916 1 0 3919 1 0 3922 1 0 3925 1 0 3928 1 0 3931 1 0 3934 1 0 3937 1 0 3940 1 0 3943 1 0 3946 1 0 3949 1 0 3952 1 0 3955 1 0 3958 1 0 3961 1 0 3964 1 0 3967 1 0 3970 1 0 3973 1 0 3976 1 0 3979 1 0 3982 1 0 3985 1 0 3988 1 0 3991 1 0 3994 1 0 3997 1 0 4000 1 0 4003 1 0 4006 1 0 4009 1 0 4012 1 0 4015 1 0 4018 1 0 4021 1 0 4024 1 0 4027 1 0 4030 1 0 4033 1 0 4036 1 0 4039 1 0 4042 1 0 4045 1 0 4048 1 0 4051 1 0 4054 1 0 4057 1 0 4060 1 0 4063 1 0 4066 1 0 4069 1 0 4072 1 0 4075 1 0 4078 1 0 4081 1 0 4084 1 0 4087 1 0 4090 1 0 4093 1 0 4096 1 0 4099 1 0 4102 1 0 4105 1 0 4108 1 0 4111 1 0 4114 1 0 4117 1 0 4120 1 0 4123 1 0 4126 1 0 4129 1 0 4132 1 0 4135 1 0 4138 1 0 4141 1 0 4144 1 0 4147 1 0 4150 1 0 4153 1 0 4156 1 0 4159 1 0 4162 1 0 4165 1 0 4168 1 0 4171 1 0 4174 1 0 4177 1 0 4180 1 0 4183 1 0 4186 1 0 4189 1 0 4192 1 0 4195 1 0 4198 1 0 4201 1 0 4204 1 0 4207 1 0 4210 1 0 4213 1 0 4216 1 0 4219 1 0 4222 1 0 4225 1 0 4228 1 0 4231 1 0 4234 1 0 4237 1 0 4240 1 0 4243 1 0 4246 1 0 4249 1 0 4252 1 0 4255 1 0 4258 1 0 4261 1 0 4264 1 0 4267 1 0 4270 1 0 4273 1 0 4276 1 0 4279 1 0 4282 1 0 4285 1 0 4288 1 0 4291 1 0 4294 1 0 4297 1 0 4300 1 0 4303 1 0 4306 1 0 4309 1 0 4312 1 0 4315 1 0 4318 1 0 4321 1 0 4324 1 0 4327 1 0 4330 1 0 4333 1 0 4336 1 0 4339 1 0 4342 1 0 4345 1 0 4348 1 0 4351 1 0 4354 1 0 4357 1 0 4360 1 0 4363 1 0 4366 1 0 4369 1 0 4372 1 0 4375 1 0 4378 1 0 4381 1 0 4384 1 0 4387 1 0 4390 1 0 4393 1 0 4396 1 0 4399 1 0 4402 1 0 4405 1 0 4408 1 0 4411 1 0 4414 1 0 4417 1 0 4420 1 0 4423 1 0 4426 1 0 4429 1 0 4432 1 0 4435 1 0 4438 1 0 4441 1 0 4444 1 0 4447 1 0 4450 1 0 4453 1 0 4456 1 0 4459 1 0 4462 1 0 4465 1 0 4468 1 0 4471 1 0 4474 1 0 4477 1 0 4480 1 0 4483 1 0 4486 1 0 4489 1 0 4492 1 0 4495 1 0 4498 1 0 4501 1 0 4504 1 0 4507 1 0 4510 1 0 4513 1 0 4516 1 0 4519 1 0 4522 1 0 4525 1 0 4528 1 0 4531 1 0 4534 1 0 4537 1 0 4540 1 0 4543 1 0 4546 1 0 4549 1 0 4552 1 0 4555 1 0 4558 1 0 4561 1 0 4564 1 0 4567 1 0 4570 1 0 4573 1 0 4576 1 0 4579 1 0 4582 1 0 4585 1 0 4588 1 0 4591 1 0 4594 1 0 4597 1 0 4600 1 0 4603 1 0 4606 1 0 4609 1 0 4612 1 0 4615 1 0 4618 1 0 4621 1 0 4624 1 0 4627 1 0 4630 1 0 4633 1 0 4636 1 0 4639 1 0 4642 1 0 4645 1 0 4648 1 0 4651 1 0 4654 1 0 4657 1 0 4660 1 0 4663 1 0 4666 1 0 4669 1 0 4672 1 0 4675 1 0 4678 1 0 4681 1 0 4684 1 0 4687 1 0 4690 1 0 4693 1 0 4696 1 0 4699 1 0 4702 1 0 4705 1 0 4708 1 0 4711 1 0 4714 1 0 4717 1 0 4720 1 0 4723 1 0 4726 1 0 4729 1 0 4732 1 0 4735 1 0 4738 1 0 4741 1 0 4744 1 0 4747 1 0 4750 1 0 4753 1 0 4756 1 0 4759 1 0 4762 1 0 4765 1 0 4768 1 0 4771 1 0 4774 1 0 4777 1 0 4780 1 0 4783 1 0 4786 1 0 4789 1 0 4792 1 0 4795 1 0 4798 1 0 4801 1 0 4804 1 0 4807 1 0 4810 1 0 4813 1 0 4816 1 0 4819 1 0 4822 1 0 4825 1 0 4828 1 0 4831 1 0 4834 1 0 4837 1 0 4840 1 0 4843 1 0 4846 1 0 4849 1 0 4852 1 0 4855 1 0 4858 1 0 4861 1 0 4864 1 0 4867 1 0 4870 1 0 4873 1 0 4876 1 0 4879 1 0 4882 1 0 4885 1 0 4888 1 0 4891 1 0 4894 1 0 4897 1 0 4900 1 0 4903 1 0 4906 1 0 4909 1 0 4912 1 0 4915 1 0 4918 1 0 4921 1 0 4924 1 0 4927 1 0 4930 1 0 4933 1 0 4936 1 0 4939 1 0 4942 1 0 4945 1 0 4948 1 0 4951 1 0 4954 1 0 4957 1 0 4960 1 0 4963 1 0 4966 1 0 4969 1 0 4972 1 0 4975 1 0 4978 1 0 4981 1 0 4984 1 0 4987 1 0 4990 1 0 4993 1 0 4996 1 0 4999 1 0 5002 1 0 5005 1 0 5008 1 0 5011 1 0 5014 1 0 5017 1 0 5020 1 0 5023 1 0 5026 1 0 5029 1 0 5032 1 0 5035 1 0 5038 1 0 5041 1 0 5044 1 0 5047 1 0 5050 1 0 5053 1 0 5056 1 0 5059 1 0 5062 1 0 5065 1 0 5068 1 0 5071 1 0 5074 1 0 5077 1 0 5080 1 0 5083 1 0 5086 1 0 5089 1 0 5092 1 0 5095 1 0 5098 1 0 5101 1 0 5104 1 0 5107 1 0 5110 1 0 5113 1 0 5116 1 0 5119 1 0 5122 1 0 5125 1 0 5128 1 0 5131 1 0 5134 1 0 5137 1 0 5140 1 0 5143 1 0 5146 1 0 5149 1 0 5152 1 0 5155 1 0 5158 1 0 5161 1 0 5164 1 0 5167 1 0 5170 1 0 5173 1 0 5176 1 0 5179 1 0 5182 1 0 5185 1 0 5188 1 0 5191 1 0 5194 1 0 5197 1 0 5200 1 0 5203 1 0 5206 1 0 5209 1 0 5212 1 0 5215 1 0 5218 1 0 5221 1 0 5224 1 0 5227 1 0 5230 1 0 5233 1 0 5236 1 0 5239 1 0 5242 1 0 5245 1 0 5248 1 0 5251 1 0 5254 1 0 5257 1 0 5260 1 0 5263 1 0 5266 1 0 5269 1 0 5272 1 0 5275 1 0 5278 1 0 5281 1 0 5284 1 0 5287 1 0 5290 1 0 5293 1 0 5296 1 0 5299 1 0 5302 1 0 5305 1 0 5308 1 0 5311 1 0 5314 1 0 5317 1 0 5320 1 0 5323 1 0 5326 1 0 5329 1 0 5332 1 0 5335 1 0 5338 1 0 5341 1 0 5344 1 0 5347 1 0 5350 1 0 5353 1 0 5356 1 0 5359 1 0 5362 1 0 5365 1 0 5368 1 0 5371 1 0 5374 1 0 5377 1 0 5380 1 0 5383 1 0 5386 1 0 5389 1 0 5392 1 0 5395 1 0 5398 1 0 5401 1 0 5404 1 0 5407 1 0 5410 1 0 5413 1 0 5416 1 0 5419 1 0 5422 1 0 5425 1 0 5428 1 0 5431 1 0 5434 1 0 5437 1 0 5440 1 0 5443 1 0 5446 1 0 5449 1 0 5452 1 0 5455 1 0 5458 1 0 5461 1 0 5464 1 0 5467 1 0 5470 1 0 5473 1 0 5476 1 0 5479 1 0 5482 1 0 5485 1 0 5488 1 0 5491 1 0 5494 1 0 5497 1 0 5500 1 0 5503 1 0 5506 1 0 5509 1 0 5512 1 0 5515 1 0 5518 1 0 5521 1 0 5524 1 0 5527 1 0 5530 1 0 5533 1 0 5536 1 0 5539 1 0 5542 1 0 5545 1 0 5548 1 0 5551 1 0 5554 1 0 5557 1 0 5560 1 0 5563 1 0 5566 1 0 5569 1 0 5572 1 0 5575 1 0 5578 1 0 5581 1 0 5584 1 0 5587 1 0 5590 1 0 5593 1 0 5596 1 0 5599 1 0 5602 1 0 5605 1 0 5608 1 0 5611 1 0 5614 1 0 5617 1 0 5620 1 0 5623 1 0 5626 1 0 5629 1 0 5632 1 0 5635 1 0 5638 1 0 5641 1 0 5644 1 0 5647 1 0 5650 1 0 5653 1 0 5656 1 0 5659 1 0 5662 1 0 5665 1 0 5668 1 0 5671 1 0 5674 1 0 5677 1 0 5680 1 0 5683 1 0 5686 1 0 5689 1 0 5692 1 0 5695 1 0 5698 1 0 5701 1 0 5704 1 0 5707 1 0 5710 1 0 5713 1 0 5716 1 0 5719 1 0 5722 1 0 5725 1 0 5728 1 0 5731 1 0 5734 1 0 5737 1 0 5740 1 0 5743 1 0 5746 1 0 5749 1 0 5752 1 0 5755 1 0 5758 1 0 5761 1 0 5764 1 0 5767 1 0 5770 1 0 5773 1 0 5776 1 0 5779 1 0 5782 1 0 5785 1 0 5788 1 0 5791 1 0 5794 1 0 5797 1 0 5800 1 0 5803 1 0 5806 1 0 5809 1 0 5812 1 0 5815 1 0 5818 1 0 5821 1 0 5824 1 0 5827 1 0 5830 1 0 5833 1 0 5836 1 0 5839 1 0 5842 1 0 5845 1 0 5848 1 0 5851 1 0 5854 1 0 5857 1 0 5860 1 0 5863 1 0 5866 1 0 5869 1 0 5872 1 0 5875 1 0 5878 1 0 5881 1 0 5884 1 0 5887 1 0 5890 1 0 5893 1 0 5896 1 0 5899 1 0 5902 1 0 5905 1 0 5908 1 0 5911 1 0 5914 1 0 5917 1 0 5920 1 0 5923 1 0 5926 1 0 5929 1 0 5932 1 0 5935 1 0 5938 1 0 5941 1 0 5944 1 0 5947 1 0 5950 1 0 5953 1 0 5956 1 0 5959 1 0 5962 1 0 5965 1 0 5968 1 0 5971 1 0 5974 1 0 5977 1 0 5980 1 0 5983 1 0 5986 1 0 5989 1 0 5992 1 0 5995 1 0 5998 1 0 6001 1 0 6004 1 0 6007 1 0 6010 1 0 6013 1 0 6016 1 0 6019 1 0 6022 1 0 6025 1 0 6028 1 0 6031 1 0 6034 1 0 6037 1 0 6040 1 0 6043 1 0 6046 1 0 6049 1 0 6052 1 0 6055 1 0 6058 1 0 6061 1 0 6064 1 0 6067 1 0 6070 1 0 6073 1 0 6076 1 0 6079 1 0 6082 1 0 6085 1 0 6088 1 0 6091 1 0 6094 1 0 6097 1 0 6100 1 0 6103 1 0 6106 1 0 6109 1 0 6112 1 0 6115 1 0 6118 1 0 6121 1 0 6124 1 0 6127 1 0 6130 1 0 6133 1 0 6136 1 0 6139 1 0 6142 1 0 6145 1 0 6148 1 0 6151 1 0 6154 1 0 6157 1 0 6160 1 0 6163 1 0 6166 1 0 6169 1 0 6172 1 0 6175 1 0 6178 1 0 6181 1 0 6184 1 0 6187 1 0 6190 1 0 6193 1 0 6196 1 0 6199 1 0 6202 1 0 6205 1 0 6208 1 0 6211 1 0 6214 1 0 6217 1 0 6220 1 0 6223 1 0 6226 1 0 6229 1 0 6232 1 0 6235 1 0 6238 1 0 6241 1 0 6244 1 0 6247 1 0 6250 1 0 6253 1 0 6256 1 0 6259 1 0 6262 1 0 6265 1 0 6268 1 0 6271 1 0 6274 1 0 6277 1 0 6280 1 0 6283 1 0 6286 1 0 6289 1 0 6292 1 0 6295 1 0 6298 1 0 6301 1 0 6304 1 0 6307 1 0 6310 1 0 6313 1 0 6316 1 0 6319 1 0 6322 1 0 6325 1 0 6328 1 0 6331 1 0 6334 1 0 6337 1 0 6340 1 0 6343 1 0 6346 1 0 6349 1 0 6352 1 0 6355 1 0 6358 1 0 6361 1 0 6364 1 0 6367 1 0 6370 1 0 6373 1 0 6376 1 0 6379 1 0 6382 1 0 6385 1 0 6388 1 0 6391 1 0 6394 1 0 6397 1 0 6400 1 0 6403 1 0 6406 1 0 6409 1 0 6412 1 0 6415 1 0 6418 1 0 6421 1 0 6424 1 0 6427 1 0 6430 1 0 6433 1 0 6436 1 0 6439 1 0 6442 1 0 6445 1 0 6448 1 0 6451 1 0 6454 1 0 6457 1 0 6460 1 0 6463 1 0 6466 1 0 6469 1 0 6472 1 0 6475 1 0 6478 1 0 6481 1 0 6484 1 0 6487 1 0 6490 1 0 6493 1 0 6496 1 0 6499 1 0 6502 1 0 6505 1 0 6508 1 0 6511 1 0 6514 1 0 6517 1 0 6520 1 0 6523 1 0 6526 1 0 6529 1 0 6532 1 0 6535 1 0 6538 1 0 6541 1 0 6544 1 0 6547 1 0 6550 1 0 6553 1 0 6556 1 0 6559 1 0 6562 1 0 6565 1 0 6568 1 0 6571 1 0 6574 1 0 6577 1 0 6580 1 0 6583 1 0 6586 1 0 6589 1 0 6592 1 0 6595 1 0 6598 1 0 6601 1 0 6604 1 0 6607 1 0 6610 1 0 6613 1 0 6616 1 0 6619 1 0 6622 1 0 6625 1 0 6628 1 0 6631 1 0 6634 1 0 6637 1 0 6640 1 0 6643 1 0 6646 1 0 6649 1 0 6652 1 0 6655 1 0 6658 1 0 6661 1 0 6664 1 0 6667 1 0 6670 1 0 6673 1 0 6676 1 0 6679 1 0 6682 1 0 6685 1 0 6688 1 0 6691 1 0 6694 1 0 6697 1 0 6700 1 0 6703 1 0 6706 1 0 6709 1 0 6712 1 0 6715 1 0 6718 1 0 6721 1 0 6724 1 0 6727 1 0 6730 1 0 6733 1 0 6736 1 0 6739 1 0 6742 1 0 6745 1 0 6748 1 0 6751 1 0 6754 1 0 6757 1 0 6760 1 0 6763 1 0 6766 1 0 6769 1 0 6772 1 0 6775 1 0 6778 1 0 6781 1 0 6784 1 0 6787 1 0 6790 1 0 6793 1 0 6796 1 0 6799 1 0 6802 1 0 6805 1 0 6808 1 0 6811 1 0 6814 1 0 6817 1 0 6820 1 0 6823 1 0 6826 1 0 6829 1 0 6832 1 0 6835 1 0 6838 1 0 6841 1 0 6844 1 0 6847 1 0 6850 1 0 6853 1 0 6856 1 0 6859 1 0 6862 1 0 6865 1 0 6868 1 0 6871 1 0 6874 1 0 6877 1 0 6880 1 0 6883 1 0 6886 1 0 6889 1 0 6892 1 0 6895 1 0 6898 1 0 6901 1 0 6904 1 0 6907 1 0 6910 1 0 6913 1 0 6916 1 0 6919 1 0 6922 1 0 6925 1 0 6928 1 0 6931 1 0 6934 1 0 6937 1 0 6940 1 0 6943 1 0 6946 1 0 6949 1 0 6952 1 0 6955 1 0 6958 1 0 6961 1 0 6964 1 0 6967 1 0 6970 1 0 6973 1 0 6976 1 0 6979 1 0 6982 1 0 6985 1 0 6988 1 0 6991 1 0 6994 1 0 6997 1 0 7000 1 0 7003 1 0 7006 1 0 7009 1 0 7012 1 0 7015 1 0 7018 1 0 7021 1 0 7024 1 0 7027 1 0 7030 1 0 7033 1 0 7036 1 0 7039 1 0 7042 1 0 7045 1 0 7048 1 0 7051 1 0 7054 1 0 7057 1 0 7060 1 0 7063 1 0 7066 1 0 7069 1 0 7072 1 0 7075 1 0 7078 1 0 7081 1 0 7084 1 0 7087 1 0 7090 1 0 7093 1 0 7096 1 0 7099 1 0 7102 1 0 7105 1 0 7108 1 0 7111 1 0 7114 1 0 7117 1 0 7120 1 0 7123 1 0 7126 1 0 7129 1 0 7132 1 0 7135 1 0 7138 1 0 7141 1 0 7144 1 0 7147 1 0 7150 1 0 7153 1 0 7156 1 0 7159 1 0 7162 1 0 7165 1 0 7168 1 0 7171 1 0 7174 1 0 7177 1 0 7180 1 0 7183 1 0 7186 1 0 7189 1 0 7192 1 0 7195 1 0 7198 1 0 7201 1 0 7204 1 0 7207 1 0 7210 1 0 7213 1 0 7216 1 0 7219 1 0 7222 1 0 7225 1 0 7228 1 0 7231 1 0 7234 1 0 7237 1 0 7240 1 0 7243 1 0 7246 1 0 7249 1 0 7252 1 0 7255 1 0 7258 1 0 7261 1 0 7264 1 0 7267 1 0 7270 1 0 7273 1 0 7276 1 0 7279 1 0 7282 1 0 7285 1 0 7288 1 0 7291 1 0 7294 1 0 7297 1 0 7300 1 0 7303 1 0 7306 1 0 7309 1 0 7312 1 0 7315 1 0 7318 1 0 7321 1 0 7324 1 0 7327 1 0 7330 1 0 7333 1 0 7336 1 0 7339 1 0 7342 1 0 7345 1 0 7348 1 0 7351 1 0 7354 1 0 7357 1 0 7360 1 0 7363 1 0 7366 1 0 7369 1 0 7372 1 0 7375 1 0 7378 1 0 7381 1 0 7384 1 0 7387 1 0 7390 1 0 7393 1 0 7396 1 0 7399 1 0 7402 1 0 7405 1 0 7408 1 0 7411 1 0 7414 1 0 7417 1 0 7420 1 0 7423 1 0 7426 1 0 7429 1 0 7432 1 0 7435 1 0 7438 1 0 7441 1 0 7444 1 0 7447 1 0 7450 1 0 7453 1 0 7456 1 0 7459 1 0 7462 1 0 7465 1 0 7468 1 0 7471 1 0 7474 1 0 7477 1 0 7480 1 0 7483 1 0 7486 1 0 7489 1 0 7492 1 0 7495 1 0 7498 1 0 7501 1 0 7504 1 0 7507 1 0 7510 1 0 7513 1 0 7516 1 0 7519 1 0 7522 1 0 7525 1 0 7528 1 0 7531 1 0 7534 1 0 7537 1 0 7540 1 0 7543 1 0 7546 1 0 7549 1 0 7552 1 0 7555 1 0 7558 1 0 7561 1 0 7564 1 0 7567 1 0 7570 1 0 7573 1 0 7576 1 0 7579 1 0 7582 1 0 7585 1 0 7588 1 0 7591 1 0 7594 1 0 7597 1 0 7600 1 0 7603 1 0 7606 1 0 7609 1 0 7612 1 0 7615 1 0 7618 1 0 7621 1 0 7624 1 0 7627 1 0 7630 1 0 7633 1 0 7636 1 0 7639 1 0 7642 1 0 7645 1 0 7648 1 0 7651 1 0 7654 1 0 7657 1 0 7660 1 0 7663 1 0 7666 1 0 7669 1 0 7672 1 0 7675 1 0 7678 1 0 7681 1 0 7684 1 0 7687 1 0 7690 1 0 7693 1 0 7696 1 0 7699 1 0 7702 1 0 7705 1 0 7708 1 0 7711 1 0 7714 1 0 7717 1 0 7720 1 0 7723 1 0 7726 1 0 7729 1 0 7732 1 0 7735 1 0 7738 1 0 7741 1 0 7744 1 0 7747 1 0 7750 1 0 7753 1 0 7756 1 0 7759 1 0 7762 1 0 7765 1 0 7768 1 0 7771 1 0 7774 1 0 7777 1 0 7780 1 0 7783 1 0 7786 1 0 7789 1 0 7792 1 0 7795 1 0 7798 1 0 7801 1 0 7804 1 0 7807 1 0 7810 1 0 7813 1 0 7816 1 0 7819 1 0 7822 1 0 7825 1 0 7828 1 0 7831 1 0 7834 1 0 7837 1 0 7840 1 0 7843 1 0 7846 1 0 7849 1 0 7852 1 0 7855 1 0 7858 1 0 7861 1 0 7864 1 0 7867 1 0 7870 1 0 7873 1 0 7876 1 0 7879 1 0 7882 1 0 7885 1 0 7888 1 0 7891 1 0 7894 1 0 7897 1 0 7900 1 0 7903 1 0 7906 1 0 7909 1 0 7912 1 0 7915 1 0 7918 1 0 7921 1 0 7924 1 0 7927 1 0 7930 1 0 7933 1 0 7936 1 0 7939 1 0 7942 1 0 7945 1 0 7948 1 0 7951 1 0 7954 1 0 7957 1 0 7960 1 0 7963 1 0 7966 1 0 7969 1 0 7972 1 0 7975 1 0 7978 1 0 7981 1 0 7984 1 0 7987 1 0 7990 1 0 7993 1 0 7996 1 0 7999 1 0 8002 1 0 8005 1 0 8008 1 0 8011 1 0 8014 1 0 8017 1 0 8020 1 0 8023 1 0 8026 1 0 8029 1 0 8032 1 0 8035 1 0 8038 1 0 8041 1 0 8044 1 0 8047 1 0 8050 1 0 8053 1 0 8056 1 0 8059 1 0 8062 1 0 8065 1 0 8068 1 0 8071 1 0 8074 1 0 8077 1 0 8080 1 0 8083 1 0 8086 1 0 8089 1 0 8092 1 0 8095 1 0 8098 1 0 8101 1 0 8104 1 0 8107 1 0 8110 1 0 8113 1 0 8116 1 0 8119 1 0 8122 1 0 8125 1 0 8128 1 0 8131 1 0 8134 1 0 8137 1 0 8140 1 0 8143 1 0 8146 1 0 8149 1 0 8152 1 0 8155 1 0 8158 1 0 8161 1 0 8164 1 0 8167 1 0 8170 1 0 8173 1 0 8176 1 0 8179 1 0 8182 1 0 8185 1 0 8188 1 0 8191 1 0 8194 1 0 8197 1 0 8200 1 0 8203 1 0 8206 1 0 8209 1 0 8212 1 0 8215 1 0 8218 1 0 8221 1 0 8224 1 0 8227 1 0 8230 1 0 8233 1 0 8236 1 0 8239 1 0 8242 1 0 8245 1 0 8248 1 0 8251 1 0 8254 1 0 8257 1 0 8260 1 0 8263 1 0 8266 1 0 8269 1 0 8272 1 0 8275 1 0 8278 1 0 8281 1 0 8284 1 0 8287 1 0 8290 1 0 8293 1 0 8296 1 0 8299 1 0 8302 1 0 8305 1 0 8308 1 0 8311 1 0 8314 1 0 8317 1 0 8320 1 0 8323 1 0 8326 1 0 8329 1 0 8332 1 0 8335 1 0 8338 1 0 8341 1 0 8344 1 0 8347 1 0 8350 1 0 8353 1 0 8356 1 0 8359 1 0 8362 1 0 8365 1 0 8368 1 0 8371 1 0 8374 1 0 8377 1 0 8380 1 0 8383 1 0 8386 1 0 8389 1 0 8392 1 0 8395 1 0 8398 1 0 8401 1 0 8404 1 0 8407 1 0 8410 1 0 8413 1 0 8416 1 0 8419 1 0 8422 1 0 8425 1 0 8428 1 0 8431 1 0 8434 1 0 8437 1 0 8440 1 0 8443 1 0 8446 1 0 8449 1 0 8452 1 0 8455 1 0 8458 1 0 8461 1 0 8464 1 0 8467 1 0 8470 1 0 8473 1 0 8476 1 0 8479 1 0 8482 1 0 8485 1 0 8488 1 0 8491 1 0 8494 1 0 8497 1 0 8500 1 0 8503 1 0 8506 1 0 8509 1 0 8512 1 0 8515 1 0 8518 1 0 8521 1 0 8524 1 0 8527 1 0 8530 1 0 8533 1 0 8536 1 0 8539 1 0 8542 1 0 8545 1 0 8548 1 0 8551 1 0 8554 1 0 8557 1 0 8560 1 0 8563 1 0 8566 1 0 8569 1 0 8572 1 0 8575 1 0 8578 1 0 8581 1 0 8584 1 0 8587 1 0 8590 1 0 8593 1 0 8596 1 0 8599 1 0 8602 1 0 8605 1 0 8608 1 0 8611 1 0 8614 1 0 8617 1 0 8620 1 0 8623 1 0 8626 1 0 8629 1 0 8632 1 0 8635 1 0 8638 1 0 8641 1 0 8644 1 0 8647 1 0 8650 1 0 8653 1 0 8656 1 0 8659 1 0 8662 1 0 8665 1 0 8668 1 0 8671 1 0 8674 1 0 8677 1 0 8680 1 0 8683 1 0 8686 1 0 8689 1 0 8692 1 0 8695 1 0 8698 1 0 8701 1 0 8704 1 0 8707 1 0 8710 1 0 8713 1 0 8716 1 0 8719 1 0 8722 1 0 8725 1 0 8728 1 0 8731 1 0 8734 1 0 8737 1 0 8740 1 0 8743 1 0 8746 1 0 8749 1 0 8752 1 0 8755 1 0 8758 1 0 8761 1 0 8764 1 0 8767 1 0 8770 1 0 8773 1 0 8776 1 0 8779 1 0 8782 1 0 8785 1 0 8788 1 0 8791 1 0 8794 1 0 8797 1 0 8800 1 0 8803 1 0 8806 1 0 8809 1 0 8812 1 0 8815 1 0 8818 1 0 8821 1 0 8824 1 0 8827 1 0 8830 1 0 8833 1 0 8836 1 0 8839 1 0 8842 1 0 8845 1 0 8848 1 0 8851 1 0 8854 1 0 8857 1 0 8860 1 0 8863 1 0 8866 1 0 8869 1 0 8872 1 0 8875 1 0 8878 1 0 8881 1 0 8884 1 0 8887 1 0 8890 1 0 8893 1 0 8896 1 0 8899 1 0 8902 1 0 8905 1 0 8908 1 0 8911 1 0 8914 1 0 8917 1 0 8920 1 0 8923 1 0 8926 1 0 8929 1 0 8932 1 0 8935 1 0 8938 1 0 8941 1 0 8944 1 0 8947 1 0 8950 1 0 8953 1 0 8956 1 0 8959 1 0 8962 1 0 8965 1 0 8968 1 0 8971 1 0 8974 1 0 8977 1 0 8980 1 0 8983 1 0 8986 1 0 8989 1 0 8992 1 0 8995 1 0 8998 1 0 9001 1 0 9004 1 0 9007 1 0 9010 1 0 9013 1 0 9016 1 0 9019 1 0 9022 1 0 9025 1 0 9028 1 0 9031 1 0 9034 1 0 9037 1 0 9040 1 0 9043 1 0 9046 1 0 9049 1 0 9052 1 0 9055 1 0 9058 1 0 9061 1 0 9064 1 0 9067 1 0 9070 1 0 9073 1 0 9076 1 0 9079 1 0 9082 1 0 9085 1 0 9088 1 0 9091 1 0 9094 1 0 9097 1 0 9100 1 0 9103 1 0 9106 1 0 9109 1 0 9112 1 0 9115 1 0 9118 1 0 9121 1 0 9124 1 0 9127 1 0 9130 1 0 9133 1 0 9136 1 0 9139 1 0 9142 1 0 9145 1 0 9148 1 0 9151 1 0 9154 1 0 9157 1 0 9160 1 0 9163 1 0 9166 1 0 9169 1 0 9172 1 0 9175 1 0 9178 1 0 9181 1 0 9184 1 0 9187 1 0 9190 1 0 9193 1 0 9196 1 0 9199 1 0 9202 1 0 9205 1 0 9208 1 0 9211 1 0 9214 1 0 9217 1 0 9220 1 0 9223 1 0 9226 1 0 9229 1 0 9232 1 0 9235 1 0 9238 1 0 9241 1 0 9244 1 0 9247 1 0 9250 1 0 9253 1 0 9256 1 0 9259 1 0 9262 1 0 9265 1 0 9268 1 0 9271 1 0 9274 1 0 9277 1 0 9280 1 0 9283 1 0 9286 1 0 9289 1 0 9292 1 0 9295 1 0 9298 1 0 9301 1 0 9304 1 0 9307 1 0 9310 1 0 9313 1 0 9316 1 0 9319 1 0 9322 1 0 9325 1 0 9328 1 0 9331 1 0 9334 1 0 9337 1 0 9340 1 0 9343 1 0 9346 1 0 9349 1 0 9352 1 0 9355 1 0 9358 1 0 9361 1 0 9364 1 0 9367 1 0 9370 1 0 9373 1 0 9376 1 0 9379 1 0 9382 1 0 9385 1 0 9388 1 0 9391 1 0 9394 1 0 9397 1 0 9400 1 0 9403 1 0 9406 1 0 9409 1 0 9412 1 0 9415 1 0 9418 1 0 9421 1 0 9424 1 0 9427 1 0 9430 1 0 9433 1 0 9436 1 0 9439 1 0 9442 1 0 9445 1 0 9448 1 0 9451 1 0 9454 1 0 9457 1 0 9460 1 0 9463 1 0 9466 1 0 9469 1 0 9472 1 0 9475 1 0 9478 1 0 9481 1 0 9484 1 0 9487 1 0 9490 1 0 9493 1 0 9496 1 0 9499 1 0 9502 1 0 9505 1 0 9508 1 0 9511 1 0 9514 1 0 9517 1 0 9520 1 0 9523 1 0 9526 1 0 9529 1 0 9532 1 0 9535 1 0 9538 1 0 9541 1 0 9544 1 0 9547 1 0 9550 1 0 9553 1 0 9556 1 0 9559 1 0 9562 1 0 9565 1 0 9568 1 0 9571 1 0 9574 1 0 9577 1 0 9580 1 0 9583 1 0 9586 1 0 9589 1 0 9592 1 0 9595 1 0 9598 1 0 9601 1 0 9604 1 0 9607 1 0 9610 1 0 9613 1 0 9616 1 0 9619 1 0 9622 1 0 9625 1 0 9628 1 0 9631 1 0 9634 1 0 9637 1 0 9640 1 0 9643 1 0 9646 1 0 9649 1 0 9652 1 0 9655 1 0 9658 1 0 9661 1 0 9664 1 0 9667 1 0 9670 1 0 9673 1 0 9676 1 0 9679 1 0 9682 1 0 9685 1 0 9688 1 0 9691 1 0 9694 1 0 9697 1 0 9700 1 0 9703 1 0 9706 1 0 9709 1 0 9712 1 0 9715 1 0 9718 1 0 9721 1 0 9724 1 0 9727 1 0 9730 1 0 9733 1 0 9736 1 0 9739 1 0 9742 1 0 9745 1 0 9748 1 0 9751 1 0 9754 1 0 9757 1 0 9760 1 0 9763 1 0 9766 1 0 9769 1 0 9772 1 0 9775 1 0 9778 1 0 9781 1 0 9784 1 0 9787 1 0 9790 1 0 9793 1 0 9796 1 0 9799 1 0 9802 1 0 9805 1 0 9808 1 0 9811 1 0 9814 1 0 9817 1 0 9820 1 0 9823 1 0 9826 1 0 9829 1 0 9832 1 0 9835 1 0 9838 1 0 9841 1 0 9844 1 0 9847 1 0 9850 1 0 9853 1 0 9856 1 0 9859 1 0 9862 1 0 9865 1 0 9868 1 0 9871 1 0 9874 1 0 9877 1 0 9880 1 0 9883 1 0 9886 1 0 9889 1 0 9892 1 0 9895 1 0 9898 1 0 9901 1 0 9904 1 0 9907 1 0 9910 1 0 9913 1 0 9916 1 0 9919 1 0 9922 1 0 9925 1 0 9928 1 0 9931 1 0 9934 1 0 9937 1 0 9940 1 0 9943 1 0 9946 1 0 9949 1 0 9952 1 0 9955 1 0 9958 1 0 9961 1 0 9964 1 0 9967 1 0 9970 1 0 9973 1 0 9976 1 0 9979 1 0 9982 1 0 9985 1 0 9988 1 0 9991 1 0 9994 1 0 9997 1 0 10000 1 0 10003 1 0 10006 1 0 10009 1 0 10012 1 0 10015 1 0 10018 1 0 10021 1 0 10024 1 0 10027 1 0 10030 1 0 10033 1 0 10036 1 0 10039 1 0 10042 1 0 10045 1 0 10048 1 0 10051 1 0 10054 1 0 10057 1 0 10060 1 0 10063 1 0 10066 1 0 10069 1 0 10072 1 0 10075 1 0 10078 1 0 10081 1 0 10084 1 0 10087 1 0 10090 1 0 10093 1 0 10096 1 0 10099 1 0 10102 1 0 10105 1 0 10108 1 0 10111 1 0 10114 1 0 10117 1 0 10120 1 0 10123 1 0 10126 1 0 10129 1 0 10132 1 0 10135 1 0 10138 1 0 10141 1 0 10144 1 0 10147 1 0 10150 1 0 10153 1 0 10156 1 0 10159 1 0 10162 1 0 10165 1 0 10168 1 0 10171 1 0 10174 1 0 10177 1 0 10180 1 0 10183 1 0 10186 1 0 10189 1 0 10192 1 0 10195 1 0 10198 1 0 10201 1 0 10204 1 0 10207 1 0 10210 1 0 10213 1 0 10216 1 0 10219 1 0 10222 1 0 10225 1 0 10228 1 0 10231 1 0 10234 1 0 10237 1 0 10240 1 0 10243 1 0 10246 1 0 10249 1 0 10252 1 0 10255 1 0 10258 1 0 10261 1 0 10264 1 0 10267 1 0 10270 1 0 10273 1 0 10276 1 0 10279 1 0 10282 1 0 10285 1 0 10288 1 0 10291 1 0 10294 1 0 10297 1 0 10300 1 0 10303 1 0 10306 1 0 10309 1 0 10312 1 0 10315 1 0 10318 1 0 10321 1 0 10324 1 0 10327 1 0 10330 1 0 10333 1 0 10336 1 0 10339 1 0 10342 1 0 10345 1 0 10348 1 0 10351 1 0 10354 1 0 10357 1 0 10360 1 0 10363 1 0 10366 1 0 10369 1 0 10372 1 0 10375 1 0 10378 1 0 10381 1 0 10384 1 0 10387 1 0 10390 1 0 10393 1 0 10396 1 0 10399 1 0 10402 1 0 10405 1 0 10408 1 0 10411 1 0 10414 1 0 10417 1 0 10420 1 0 10423 1 0 10426 1 0 10429 1 0 10432 1 0 10435 1 0 10438 1 0 10441 1 0 10444 1 0 10447 1 0 10450 1 0 10453 1 0 10456 1 0 10459 1 0 10462 1 0 10465 1 0 10468 1 0 10471 1 0 10474 1 0 10477 1 0 10480 1 0 10483 1 0 10486 1 0 10489 1 0 10492 1 0 10495 1 0 10498 1 0 10501 1 0 10504 1 0 10507 1 0 10510 1 0 10513 1 0 10516 1 0 10519 1 0 10522 1 0 10525 1 0 10528 1 0 10531 1 0 10534 1 0 10537 1 0 10540 1 0 10543 1 0 10546 1 0 10549 1 0 10552 1 0 10555 1 0 10558 1 0 10561 1 0 10564 1 0 10567 1 0 10570 1 0 10573 1 0 10576 1 0 10579 1 0 10582 1 0 10585 1 0 10588 1 0 10591 1 0 10594 1 0 10597 1 0 10600 1 0 10603 1 0 10606 1 0 10609 1 0 10612 1 0 10615 1 0 10618 1 0 10621 1 0 10624 1 0 10627 1 0 10630 1 0 10633 1 0 10636 1 0 10639 1 0 10642 1 0 10645 1 0 10648 1 0 10651 1 0 10654 1 0 10657 1 0 10660 1 0 10663 1 0 10666 1 0 10669 1 0 10672 1 0 10675 1 0 10678 1 0 10681 1 0 10684 1 0 10687 1 0 10690 1 0 10693 1 0 10696 1 0 10699 1 0 10702 1 0 10705 1 0 10708 1 0 10711 1 0 10714 1 0 10717 1 0 10720 1 0 10723 1 0 10726 1 0 10729 1 0 10732 1 0 10735 1 0 10738 1 0 10741 1 0 10744 1 0 10747 1 0 10750 1 0 10753 1 0 10756 1 0 10759 1 0 10762 1 0 10765 1 0 10768 1 0 10771 1 0 10774 1 0 10777 1 0 10780 1 0 10783 1 0 10786 1 0 10789 1 0 10792 1 0 10795 1 0 10798 1 0 10801 1 0 10804 1 0 10807 1 0 10810 1 0 10813 1 0 10816 1 0 10819 1 0 10822 1 0 10825 1 0 10828 1 0 10831 1 0 10834 1 0 10837 1 0 10840 1 0 10843 1 0 10846 1 0 10849 1 0 10852 1 0 10855 1 0 10858 1 0 10861 1 0 10864 1 0 10867 1 0 10870 1 0 10873 1 0 10876 1 0 10879 1 0 10882 1 0 10885 1 0 10888 1 0 10891 1 0 10894 1 0 10897 1 0 10900 1 0 10903 1 0 10906 1 0 10909 1 0 10912 1 0 10915 1 0 10918 1 0 10921 1 0 10924 1 0 10927 1 0 10930 1 0 10933 1 0 10936 1 0 10939 1 0 10942 1 0 10945 1 0 10948 1 0 10951 1 0 10954 1 0 10957 1 0 10960 1 0 10963 1 0 10966 1 0 10969 1 0 10972 1 0 10975 1 0 10978 1 0 10981 1 0 10984 1 0 10987 1 0 10990 1 0 10993 1 0 10996 1 0 10999 1 0 11002 1 0 11005 1 0 11008 1 0 11011 1 0 11014 1 0 11017 1 0 11020 1 0 11023 1 0 11026 1 0 11029 1 0 11032 1 0 11035 1 0 11038 1 0 11041 1 0 11044 1 0 11047 1 0 11050 1 0 11053 1 0 11056 1 0 11059 1 0 11062 1 0 11065 1 0 11068 1 0 11071 1 0 11074 1 0 11077 1 0 11080 1 0 11083 1 0 11086 1 0 11089 1 0 11092 1 0 11095 1 0 11098 1 0 11101 1 0 11104 1 0 11107 1 0 11110 1 0 11113 1 0 11116 1 0 11119 1 0 11122 1 0 11125 1 0 11128 1 0 11131 1 0 11134 1 0 11137 1 0 11140 1 0 11143 1 0 11146 1 0 11149 1 0 11152 1 0 11155 1 0 11158 1 0 11161 1 0 11164 1 0 11167 1 0 11170 1 0 11173 1 0 11176 1 0 11179 1 0 11182 1 0 11185 1 0 11188 1 0 11191 1 0 11194 1 0 11197 1 0 11200 1 0 11203 1 0 11206 1 0 11209 1 0 11212 1 0 11215 1 0 11218 1 0 11221 1 0 11224 1 0 11227 1 0 11230 1 0 11233 1 0 11236 1 0 11239 1 0 11242 1 0 11245 1 0 11248 1 0 11251 1 0 11254 1 0 11257 1 0 11260 1 0 11263 1 0 11266 1 0 11269 1 0 11272 1 0 11275 1 0 11278 1 0 11281 1 0 11284 1 0 11287 1 0 11290 1 0 11293 1 0 11296 1 0 11299 1 0 11302 1 0 11305 1 0 11308 1 0 11311 1 0 11314 1 0 11317 1 0 11320 1 0 11323 1 0 11326 1 0 11329 1 0 11332 1 0 11335 1 0 11338 1 0 11341 1 0 11344 1 0 11347 1 0 11350 1 0 11353 1 0 11356 1 0 11359 1 0 11362 1 0 11365 1 0 11368 1 0 11371 1 0 11374 1 0 11377 1 0 11380 1 0 11383 1 0 11386 1 0 11389 1 0 11392 1 0 11395 1 0 11398 1 0 11401 1 0 11404 1 0 11407 1 0 11410 1 0 11413 1 0 11416 1 0 11419 1 0 11422 1 0 11425 1 0 11428 1 0 11431 1 0 11434 1 0 11437 1 0 11440 1 0 11443 1 0 11446 1 0 11449 1 0 11452 1 0 11455 1 0 11458 1 0 11461 1 0 11464 1 0 11467 1 0 11470 1 0 11473 1 0 11476 1 0 11479 1 0 11482 1 0 11485 1 0 11488 1 0 11491 1 0 11494 1 0 11497 1 0 11500 1 0 11503 1 0 11506 1 0 11509 1 0 11512 1 0 11515 1 0 11518 1 0 11521 1 0 11524 1 0 11527 1 0 11530 1 0 11533 1 0 11536 1 0 11539 1 0 11542 1 0 11545 1 0 11548 1 0 11551 1 0 11554 1 0 11557 1 0 11560 1 0 11563 1 0 11566 1 0 11569 1 0 11572 1 0 11575 1 0 11578 1 0 11581 1 0 11584 1 0 11587 1 0 11590 1 0 11593 1 0 11596 1 0 11599 1 0 11602 1 0 11605 1 0 11608 1 0 11611 1 0 11614 1 0 11617 1 0 11620 1 0 11623 1 0 11626 1 0 11629 1 0 11632 1 0 11635 1 0 11638 1 0 11641 1 0 11644 1 0 11647 1 0 11650 1 0 11653 1 0 11656 1 0 11659 1 0 11662 1 0 11665 1 0 11668 1 0 11671 1 0 11674 1 0 11677 1 0 11680 1 0 11683 1 0 11686 1 0 11689 1 0 11692 1 0 11695 1 0 11698 1 0 11701 1 0 11704 1 0 11707 1 0 11710 1 0 11713 1 0 11716 1 0 11719 1 0 11722 1 0 11725 1 0 11728 1 0 11731 1 0 11734 1 0 11737 1 0 11740 1 0 11743 1 0 11746 1 0 11749 1 0 11752 1 0 11755 1 0 11758 1 0 11761 1 0 11764 1 0 11767 1 0 11770 1 0 11773 1 0 11776 1 0 11779 1 0 11782 1 0 11785 1 0 11788 1 0 11791 1 0 11794 1 0 11797 1 0 11800 1 0 11803 1 0 11806 1 0 11809 1 0 11812 1 0 11815 1 0 11818 1 0 11821 1 0 11824 1 0 11827 1 0 11830 1 0 11833 1 0 11836 1 0 11839 1 0 11842 1 0 11845 1 0 11848 1 0 11851 1 0 11854 1 0 11857 1 0 11860 1 0 11863 1 0 11866 1 0 11869 1 0 11872 1 0 11875 1 0 11878 1 0 11881 1 0 11884 1 0 11887 1 0 11890 1 0 11893 1 0 11896 1 0 11899 1 0 11902 1 0 11905 1 0 11908 1 0 11911 1 0 11914 1 0 11917 1 0 11920 1 0 11923 1 0 11926 1 0 11929 1 0 11932 1 0 11935 1 0 11938 1 0 11941 1 0 11944 1 0 11947 1 0 11950 1 0 11953 1 0 11956 1 0 11959 1 0 11962 1 0 11965 1 0 11968 1 0 11971 1 0 11974 1 0 11977 1 0 11980 1 0 11983 1 0 11986 1 0 11989 1 0 11992 1 0 11995 1 0 11998 1 0 12001 1 0 12004 1 0 12007 1 0 12010 1 0 12013 1 0 12016 1 0 12019 1 0 12022 1 0 12025 1 0 12028 1 0 12031 1 0 12034 1 0 12037 1 0 12040 1 0 12043 1 0 12046 1 0 12049 1 0 12052 1 0 12055 1 0 12058 1 0 12061 1 0 12064 1 0 12067 1 0 12070 1 0 12073 1 0 12076 1 0 12079 1 0 12082 1 0 12085 1 0 12088 1 0 12091 1 0 12094 1 0 12097 1 0 12100 1 0 12103 1 0 12106 1 0 12109 1 0 12112 1 0 12115 1 0 12118 1 0 12121 1 0 12124 1 0 12127 1 0 12130 1 0 12133 1 0 12136 1 0 12139 1 0 12142 1 0 12145 1 0 12148 1 0 12151 1 0 12154 1 0 12157 1 0 12160 1 0 12163 1 0 12166 1 0 12169 1 0 12172 1 0 12175 1 0 12178 1 0 12181 1 0 12184 1 0 12187 1 0 12190 1 0 12193 1 0 12196 1 0 12199 1 0 12202 1 0 12205 1 0 12208 1 0 12211 1 0 12214 1 0 12217 1 0 12220 1 0 12223 1 0 12226 1 0 12229 1 0 12232 1 0 12235 1 0 12238 1 0 12241 1 0 12244 1 0 12247 1 0 12250 1 0 12253 1 0 12256 1 0 12259 1 0 12262 1 0 12265 1 0 12268 1 0 12271 1 0 12274 1 0 12277 1 0 12280 1 0 12283 1 0 12286 1 0 12289 1 0 12292 1 0 12295 1 0 12298 1 0 12301 1 0 12304 1 0 12307 1 0 12310 1 0 12313 1 0 12316 1 0 12319 1 0 12322 1 0 12325 1 0 12328 1 0 12331 1 0 12334 1 0 12337 1 0 12340 1 0 12343 1 0 12346 1 0 12349 1 0 12352 1 0 12355 1 0 12358 1 0 12361 1 0 12364 1 0 12367 1 0 12370 1 0 12373 1 0 12376 1 0 12379 1 0 12382 1 0 12385 1 0 12388 1 0 12391 1 0 12394 1 0 12397 1 0 12400 1 0 12403 1 0 12406 1 0 12409 1 0 12412 1 0 12415 1 0 12418 1 0 12421 1 0 12424 1 0 12427 1 0 12430 1 0 12433 1 0 12436 1 0 12439 1 0 12442 1 0 12445 1 0 12448 1 0 12451 1 0 12454 1 0 12457 1 0 12460 1 0 12463 1 0 12466 1 0 12469 1 0 12472 1 0 12475 1 0 12478 1 0 12481 1 0 12484 1 0 12487 1 0 12490 1 0 12493 1 0 12496 1 0 12499 1 0 12502 1 0 12505 1 0 12508 1 0 12511 1 0 12514 1 0 12517 1 0 12520 1 0 12523 1 0 12526 1 0 12529 1 0 12532 1 0 12535 1 0 12538 1 0 12541 1 0 12544 1 0 12547 1 0 12550 1 0 12553 1 0 12556 1 0 12559 1 0 12562 1 0 12565 1 0 12568 1 0 12571 1 0 12574 1 0 12577 1 0 12580 1 0 12583 1 0 12586 1 0 12589 1 0 12592 1 0 12595 1 0 12598 1 0 12601 1 0 12604 1 0 12607 1 0 12610 1 0 12613 1 0 12616 1 0 12619 1 0 12622 1 0 12625 1 0 12628 1 0 12631 1 0 12634 1 0 12637 1 0 12640 1 0 12643 1 0 12646 1 0 12649 1 0 12652 1 0 12655 1 0 12658 1 0 12661 1 0 12664 1 0 12667 1 0 12670 1 0 12673 1 0 12676 1 0 12679 1 0 12682 1 0 12685 1 0 12688 1 0 12691 1 0 12694 1 0 12697 1 0 12700 1 0 12703 1 0 12706 1 0 12709 1 0 12712 1 0 12715 1 0 12718 1 0 12721 1 0 12724 1 0 12727 1 0 12730 1 0 12733 1 0 12736 1 0 12739 1 0 12742 1 0 12745 1 0 12748 1 0 12751 1 0 12754 1 0 12757 1 0 12760 1 0 12763 1 0 12766 1 0 12769 1 0 12772 1 0 12775 1 0 12778 1 0 12781 1 0 12784 1 0 12787 1 0 12790 1 0 12793 1 0 12796 1 0 12799 1 0 12802 1 0 12805 1 0 12808 1 0 12811 1 0 12814 1 0 12817 1 0 12820 1 0 12823 1 0 12826 1 0 12829 1 0 12832 1 0 12835 1 0 12838 1 0 12841 1 0 12844 1 0 12847 1 0 12850 1 0 12853 1 0 12856 1 0 12859 1 0 12862 1 0 12865 1 0 12868 1 0 12871 1 0 12874 1 0 12877 1 0 12880 1 0 12883 1 0 12886 1 0 12889 1 0 12892 1 0 12895 1 0 12898 1 0 12901 1 0 12904 1 0 12907 1 0 12910 1 0 12913 1 0 12916 1 0 12919 1 0 12922 1 0 12925 1 0 12928 1 0 12931 1 0 12934 1 0 12937 1 0 12940 1 0 12943 1 0 12946 1 0 12949 1 0 12952 1 0 12955 1 0 12958 1 0 12961 1 0 12964 1 0 12967 1 0 12970 1 0 12973 1 0 12976 1 0 12979 1 0 12982 1 0 12985 1 0 12988 1 0 12991 1 0 12994 1 0 12997 1 0 13000 1 0 13003 1 0 13006 1 0 13009 1 0 13012 1 0 13015 1 0 13018 1 0 13021 1 0 13024 1 0 13027 1 0 13030 1 0 13033 1 0 13036 1 0 13039 1 0 13042 1 0 13045 1 0 13048 1 0 13051 1 0 13054 1 0 13057 1 0 13060 1 0 13063 1 0 13066 1 0 13069 1 0 13072 1 0 13075 1 0 13078 1 0 13081 1 0 13084 1 0 13087 1 0 13090 1 0 13093 1 0 13096 1 0 13099 1 0 13102 1 0 13105 1 0 13108 1 0 13111 1 0 13114 1 0 13117 1 0 13120 1 0 13123 1 0 13126 1 0 13129 1 0 13132 1 0 13135 1 0 13138 1 0 13141 1 0 13144 1 0 13147 1 0 13150 1 0 13153 1 0 13156 1 0 13159 1 0 13162 1 0 13165 1 0 13168 1 0 13171 1 0 13174 1 0 13177 1 0 13180 1 0 13183 1 0 13186 1 0 13189 1 0 13192 1 0 13195 1 0 13198 1 0 13201 1 0 13204 1 0 13207 1 0 13210 1 0 13213 1 0 13216 1 0 13219 1 0 13222 1 0 13225 1 0 13228 1 0 13231 1 0 13234 1 0 13237 1 0 13240 1 0 13243 1 0 13246 1 0 13249 1 0 13252 1 0 13255 1 0 13258 1 0 13261 1 0 13264 1 0 13267 1 0 13270 1 0 13273 1 0 13276 1 0 13279 1 0 13282 1 0 13285 1 0 13288 1 0 13291 1 0 13294 1 0 13297 1 0 13300 1 0 13303 1 0 13306 1 0 13309 1 0 13312 1 0 13315 1 0 13318 1 0 13321 1 0 13324 1 0 13327 1 0 13330 1 0 13333 1 0 13336 1 0 13339 1 0 13342 1 0 13345 1 0 13348 1 0 13351 1 0 13354 1 0 13357 1 0 13360 1 0 13363 1 0 13366 1 0 13369 1 0 13372 1 0 13375 1 0 13378 1 0 13381 1 0 13384 1 0 13387 1 0 13390 1 0 13393 1 0 13396 1 0 13399 1 0 13402 1 0 13405 1 0 13408 1 0 13411 1 0 13414 1 0 13417 1 0 13420 1 0 13423 1 0 13426 1 0 13429 1 0 13432 1 0 13435 1 0 13438 1 0 13441 1 0 13444 1 0 13447 1 0 13450 1 0 13453 1 0 13456 1 0 13459 1 0 13462 1 0 13465 1 0 13468 1 0 13471 1 0 13474 1 0 13477 1 0 13480 1 0 13483 1 0 13486 1 0 13489 1 0 13492 1 0 13495 1 0 13498 1 0 13501 1 0 13504 1 0 13507 1 0 13510 1 0 13513 1 0 13516 1 0 13519 1 0 13522 1 0 13525 1 0 13528 1 0 13531 1 0 13534 1 0 13537 1 0 13540 1 0 13543 1 0 13546 1 0 13549 1 0 13552 1 0 13555 1 0 13558 1 0 13561 1 0 13564 1 0 13567 1 0 13570 1 0 13573 1 0 13576 1 0 13579 1 0 13582 1 0 13585 1 0 13588 1 0 13591 1 0 13594 1 0 13597 1 0 13600 1 0 13603 1 0 13606 1 0 13609 1 0 13612 1 0 13615 1 0 13618 1 0 13621 1 0 13624 1 0 13627 1 0 13630 1 0 13633 1 0 13636 1 0 13639 1 0 13642 1 0 13645 1 0 13648 1 0 13651 1 0 13654 1 0 13657 1 0 13660 1 0 13663 1 0 13666 1 0 13669 1 0 13672 1 0 13675 1 0 13678 1 0 13681 1 0 13684 1 0 13687 1 0 13690 1 0 13693 1 0 13696 1 0 13699 1 0 13702 1 0 13705 1 0 13708 1 0 13711 1 0 13714 1 0 13717 1 0 13720 1 0 13723 1 0 13726 1 0 13729 1 0 13732 1 0 13735 1 0 13738 1 0 13741 1 0 13744 1 0 13747 1 0 13750 1 0 13753 1 0 13756 1 0 13759 1 0 13762 1 0 13765 1 0 13768 1 0 13771 1 0 13774 1 0 13777 1 0 13780 1 0 13783 1 0 13786 1 0 13789 1 0 13792 1 0 13795 1 0 13798 1 0 13801 1 0 13804 1 0 13807 1 0 13810 1 0 13813 1 0 13816 1 0 13819 1 0 13822 1 0 13825 1 0 13828 1 0 13831 1 0 13834 1 0 13837 1 0 13840 1 0 13843 1 0 13846 1 0 13849 1 0 13852 1 0 13855 1 0 13858 1 0 13861 1 0 13864 1 0 13867 1 0 13870 1 0 13873 1 0 13876 1 0 13879 1 0 13882 1 0 13885 1 0 13888 1 0 13891 1 0 13894 1 0 13897 1 0 13900 1 0 13903 1 0 13906 1 0 13909 1 0 13912 1 0 13915 1 0 13918 1 0 13921 1 0 13924 1 0 13927 1 0 13930 1 0 13933 1 0 13936 1 0 13939 1 0 13942 1 0 13945 1 0 13948 1 0 13951 1 0 13954 1 0 13957 1 0 13960 1 0 13963 1 0 13966 1 0 13969 1 0 13972 1 0 13975 1 0 13978 1 0 13981 1 0 13984 1 0 13987 1 0 13990 1 0 13993 1 0 13996 1 0 13999 1 0 14002 1 0 14005 1 0 14008 1 0 14011 1 0 14014 1 0 14017 1 0 14020 1 0 14023 1 0 14026 1 0 14029 1 0 14032 1 0 14035 1 0 14038 1 0 14041 1 0 14044 1 0 14047 1 0 14050 1 0 14053 1 0 14056 1 0 14059 1 0 14062 1 0 14065 1 0 14068 1 0 14071 1 0 14074 1 0 14077 1 0 14080 1 0 14083 1 0 14086 1 0 14089 1 0 14092 1 0 14095 1 0 14098 1 0 14101 1 0 14104 1 0 14107 1 0 14110 1 0 14113 1 0 14116 1 0 14119 1 0 14122 1 0 14125 1 0 14128 1 0 14131 1 0 14134 1 0 14137 1 0 14140 1 0 14143 1 0 14146 1 0 14149 1 0 14152 1 0 14155 1 0 14158 1 0 14161 1 0 14164 1 0 14167 1 0 14170 1 0 14173 1 0 14176 1 0 14179 1 0 14182 1 0 14185 1 0 14188 1 0 14191 1 0 14194 1 0 14197 1 0 14200 1 0 14203 1 0 14206 1 0 14209 1 0 14212 1 0 14215 1 0 14218 1 0 14221 1 0 14224 1 0 14227 1 0 14230 1 0 14233 1 0 14236 1 0 14239 1 0 14242 1 0 14245 1 0 14248 1 0 14251 1 0 14254 1 0 14257 1 0 14260 1 0 14263 1 0 14266 1 0 14269 1 0 14272 1 0 14275 1 0 14278 1 0 protomol/examples/bpti_water_14281/bpti.shake.conf0100644027616700000500000000112110237151526021423 0ustar pbrenne1dipfirststep 0 numsteps 10 posfile bpti.pdb psffile bpti.psf parfile bpti.par temperature 300 outputfreq 1 #allenergiesfile bpti.out.energy #DCDOUTPUTFREQ 1 #dcdfile bpti.out.dcd exclude 1-3 boundaryConditions Normal cellManager Cubic cellsize 5.0 shakeEpsilon 1e-2 shakeMaxIter 30 shake true Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones Coulomb -algorithm NonbondedCutoff -switchingFunction C2 -switchingFunction Shift -cutoff 10 -switchon 1 } } protomol/examples/butane_4/0040755027616700000500000000000010237151526015336 5ustar pbrenne1dipprotomol/examples/butane_4/.cvsignore0100644027616700000500000000001710237151526017331 0ustar pbrenne1dip*energ* *out* protomol/examples/butane_4/README0100644027616700000500000000101310237151526016206 0ustar pbrenne1dipLast Updated Apr 2005 - Author 2005 Information about the files for UA_butane Equillibration - The initial pdb is at (or near) the known global minima. No equilibration performed Config Files - For UA_butane the values in the par files are documented with respect to their source For UA_butane Electrostatics (Coulomb) are NOT used Additional Scripts - runButaneTests.sh allows a user to run multiple config files with varied parameters runButaneResults.sh calculates the average dihedral energy from the outputs protomol/examples/butane_4/UA_butane.conf0100644027616700000500000000156510237151526020054 0ustar pbrenne1dipfirststep 0 numsteps 10 seed 1234 #usecharmm28parfile yes posfile UA_butane.pdb psffile UA_butane.psf parfile UA_butane.par temperature 300 Screen false outputfreq 10 dihedralsOutputFreq 1 dihedralsFile UA_butane.out.dihedrals dihedralsIndex 0 dihedralsSet false dihedralsSetfile none #finpdbposfile final.pdb #dofinpdbposfile false allenergiesfile UA_butane.out.energy dodcdfile false dcdoutputfreq 1 dcdfile UA_butane.out.dcd boundaryConditions Normal cellManager Cubic cellsize 6.5 Integrator { level 0 Leapfrog { timestep 1.0 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -switchon 0.1 -cutoff 6.5 force Coulomb -algorithm NonbondedCutoff -switchingFunction C1 -cutoff 6.5 } } protomol/examples/butane_4/UA_butane.dhmc.conf0100644027616700000500000000203210237151526020754 0ustar pbrenne1dipdebug 0 firststep 0 numsteps 1000 #seed 1234 posfile UA_butane.pdb psffile UA_butane.psf parfile UA_butane.par temperature 500 #Screen false outputfreq 10 dihedralsFile UA_butane.out.dhmc.dihedrals #dihedralsOutputFreq 1 dihedralsIndex 0 dihedralsSet false dihedralsSetfile none allenergiesfile UA_butane.out.dhmc.energy #energiesOutputFreq 1 dcdfile UA_butane.out.dhmc.dcd #dcdoutputfreq 1 diffusionFile UA_butane.out.dhmc.diffusion #diffusionOutputFreq 1 momentumFile UA_butane.out.dhmc.momentum #momentumOutputFreq 1 #finpdbposfile UA_butane.out.dhmc.fin.pos/pdb #dofinpdbposfile false boundaryConditions Periodic cellManager Cubic cellsize 3 Integrator { level 1 DihedralHMC { temperature 500 cyclelength 630 dihedralsSet true dhmcDiSetfile dihedralSetDHMC anglesSet false dhmcAnSetfile angleSetDHMC } level 0 Leapfrog { timestep 1.0 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedSimpleFull } }protomol/examples/butane_4/UA_butane.hmc.conf0100644027616700000500000000216310237151526020615 0ustar pbrenne1dipdebug 0 firststep 0 numsteps 1000 #seed 1234 posfile UA_butane.pdb psffile UA_butane.psf parfile UA_butane.par temperature 500 #Screen false outputfreq 10 #This is a global value used by all outputs unless specified directly for the module #Module output frequencies are no longer a multiple of the global outputfreq dihedralsFile UA_butane.out.hmc.dihedrals #dihedralsOutputFreq 10 dihedralsIndex 0 dihedralsSet false dihedralsSetfile none allenergiesfile UA_butane.out.hmc.energy #energiesOutputFreq 1 dcdfile UA_butane.out.hmc.dcd #dcdoutputfreq 1 diffusionFile UA_butane.out.hmc.diffusion #diffusionOutputFreq 1 momentumFile UA_butane.out.hmc.momentum #momentumOutputFreq 1 #finpdbposfile UA_butane.out.hmc.fin.pos.pdb #dofinpdbposfile false boundaryConditions Periodic cellManager Cubic cellsize 3 Integrator { level 1 HybridMC { temperature 500 cyclelength 630 } level 0 Leapfrog { timestep 1.0 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedSimpleFull } }protomol/examples/butane_4/UA_butane.lf.conf0100644027616700000500000000166510237151526020455 0ustar pbrenne1dipfirststep 0 numsteps 10 seed 1234 #usecharmm28parfile yes posfile UA_butane.pdb psffile UA_butane.psf parfile UA_butane.par temperature 300 #finpdbposfile final.pdb #dofinpdbposfile false #Screen false outputfreq 1 dodihedralsfile true dihedralsOutputFreq 1 dihedralsFile UA_butane.out.dihedrals dihedralsIndex 0 dihedralsSet false dihedralsSetfile none allenergiesfile UA_butane.out.energy dodcdfile false dcdoutputfreq 1 dcdfile butane.out.dcd boundaryConditions Normal cellManager Cubic cellsize 6.5 Integrator { level 0 Leapfrog { timestep 1.0 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -switchon 0.1 -cutoff 6.5 force Coulomb -algorithm NonbondedCutoff -switchingFunction C1 -cutoff 6.5 } } protomol/examples/butane_4/UA_butane.par0100644027616700000500000000342210237151526017703 0ustar pbrenne1dip* \\\\\\\ United Atom Butane Parameters (Charmm "extened" model) /////// * \\\\\\\ most recent update Tues April 5th by Paul R Brenner //////// * \\ based on data from Barth, LeimKuhler, and Reich 2002 Charmm19 //// * \ dihedral energy according to Izaguirre and Hampton 2004 Charmm19 / BONDS ! !V(bond) = Kb(b - b0)**2 ! !Kb: kcal/mole/A**2 !b0: A ! !atom type Kb b0 ! CH2 CH2 225.000 1.520 ! from CHARMM version 19 CH2 CH3 225.000 1.540 ! from CHARMM version 19 ANGLES ! !V(angle) = Ktheta(Theta - Theta0)**2 ! !V(Urey-Bradley) = Kub(S - S0)**2 ! !Ktheta: kcal/mole/rad**2 !Theta0: degrees !Kub: kcal/mole/A**2 (Urey-Bradley) !S0: A ! !atom types Ktheta Theta0 Kub S0 ! CH3 CH2 CH2 45.00 110.00 ! United Atom Butane DIHEDRALS ! !V(dihedral) = Kchi(1 + cos(n(chi) - delta)) ! !Kchi: kcal/mole !n: multiplicity !delta: degrees ! !atom types Kchi n delta ! CH3 CH2 CH2 CH3 1.6000 3 0.00 ! United atom butane CH3 CH2 CH2 CH3 0.6 1 0.00 ! United Atom butane NONBONDED nbxmod 5 atom cdiel fshift vatom vdistance vfswitch - !cutnb 14.0 ctofnb 12.0 ctonnb 10.0 eps 1.0 e14fac 1.0 wmin 1.5 ! !V(Lennard-Jones) = Eps,i,j[(Rmin,i,j/ri,j)**12 - 2(Rmin,i,j/ri,j)**6] ! !epsilon: kcal/mole, Eps,i,j = sqrt(eps,i * eps,j) !Rmin/2: A, Rmin,i,j = Rmin/2,i + Rmin/2,j ! !atom ignored epsilon Rmin/2 ignored eps,1-4 Rmin/2,1-4 ! CH2 0.0 -0.1142 2.235 ! UA butane CH3 0.0 -0.1811 2.165 ! UA butane NBFIX ! Emin Rmin ! (kcal/mol) (A) ! HBOND CUTHB 0.5 ! If you want to do hbond analysis (only), then use ! READ PARAM APPEND CARD ! to append hbond parameters from the file: par_hbond.inp END protomol/examples/butane_4/UA_butane.pdb0100644027616700000500000000054610237151526017672 0ustar pbrenne1dipREMARK original generated coordinate pdb file ATOM 1 C1 BUTA 1 -1.474 -9.112 11.869 1.00 0.00 BUTA ATOM 2 C2 BUTA 1 -2.600 -9.202 10.765 1.00 0.00 BUTA ATOM 3 C3 BUTA 1 -2.154 -9.967 9.435 1.00 0.00 BUTA ATOM 4 C4 BUTA 1 -3.409 -9.999 8.524 1.00 0.00 BUTA END protomol/examples/butane_4/UA_butane.psf0100644027616700000500000000163610237151526017716 0ustar pbrenne1dipPSF 1 !NTITLE REMARKS original generated structure x-plor psf file REMARKS no Coulomb Charges REMARKS masses from Izaguirre and Hampton 2004 4 !NATOM 1 BUTA 1 BUTA C1 CH3 0.000000 15.0350 0 2 BUTA 1 BUTA C2 CH2 0.000000 14.0270 0 3 BUTA 1 BUTA C3 CH2 0.000000 14.0270 0 4 BUTA 1 BUTA C4 CH3 0.000000 15.0350 0 3 !NBOND: bonds 1 2 2 3 3 4 2 !NTHETA: angles 1 2 3 2 3 4 1 !NPHI: dihedrals 1 2 3 4 0 !NIMPHI: impropers 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 !NGRP 0 0 0 protomol/examples/butane_4/angleSetDHMC0100644027616700000500000000003110237151526017446 0ustar pbrenne1dip1.04414 3.14159 5.21504protomol/examples/butane_4/cleanOutput.bash0100755027616700000500000000012210237151526020473 0ustar pbrenne1dip#! /bin/bash rm -f *dihedrals* *out* *~* *energy* *#* *momentum* *diffusion* *dcdprotomol/examples/butane_4/dihedralSetDHMC0100644027616700000500000000000110237151526020131 0ustar pbrenne1dip0protomol/examples/butane_4/procDihedralFile.awk0100755027616700000500000000057710237151526021253 0ustar pbrenne1dip#!/usr/bin/gawk -f BEGIN { count = 0; } / / { ValArray[1] += $4; ValSqArray[1] += $4 * $4; count++; } END { #print "DihEnergy \tValue \tValueStDev "; #print "----------\t-----------\t---------------"; aveVal = ( ValArray[1] / count ); aveValStDev = sqrt( ValSqArray[1] / count - aveVal * aveVal ); print "DihE", "\t", aveVal, "\t", aveValStDev; } protomol/examples/butane_4/runButaneResults.sh0100755027616700000500000000436010237151526021222 0ustar pbrenne1dip#!/bin/bash -f # ------------------------------------------------------------------------- # # Define some local variables. # ------------------------------------------------------------------------- # mol="UA_butane" # ------------------------------------------------------------------------- # # Determine the full path to the tests directory. # ------------------------------------------------------------------------- # basedir=`pwd` # ------------------------------------------------------------------------- # # Define all graph label options here. # ------------------------------------------------------------------------- # temperature="500" alg="hmc" steps="100000" # ------------------------------------------------------------- # # Process the dihedrals output file # ------------------------------------------------------------- # # Use awk script to get the dihedral energy average # and create a dihedral value data file for the xmgrace histogram gawk -f procDihedralFile.awk UA_butane.$alg.dihedrals rm -f dhmc.out.dihedrals gawk '{print $3}' UA_butane.$alg.dihedrals > $alg.out.dihedrals # Use xmgrace to plot the dihedral values in sequence # and plot a histogram showing the dihedral value distribution mytitle="title \"Method $alg - Leap Frog 1.0fs - TEMP $temperature - $steps STEPS\"" xmgrace -hdevice PNG -printfile dihedrals.png $alg.out.dihedrals \ -pexec autoscale -pexec "$mytitle" \ -pexec 'WORLD YMAX 6.3' -pexec 'WORLD YMIN 0.0' & #-param ../MDgraphtemplate -This is useful once you choose a final format xmgrace -hdevice EPS -printfile dihedrals.eps $alg.out.dihedrals \ -pexec "HISTOGRAM(S0, MESH(0,6.3,100), OFF, OFF)" \ -pexec "S1.y = S1.y / SUM(S1.y)" -pexec "KILL G0.S0" \ -pexec autoscale \ -pexec "$mytitle" -pexec 'xaxis label "Dihedral Value"' \ -pexec 'yaxis label "% of Dihedrals at Given Value"' & #-param ../MDgraphtemplate -This is useful once you choose a final formatprotomol/examples/butane_4/runButaneTests.sh0100755027616700000500000001526710237151526020673 0ustar pbrenne1dip#!/bin/bash -f # vim: set cindent: # ------------------------------------------------------------------------- # # Define some local variables. # ------------------------------------------------------------------------- # mol="UA_butane" date="Mar30" outfreq="10" compute="true" print="false" subscript="PM" # ------------------------------------------------------------------------- # # Determine the full path to the tests directory. # ------------------------------------------------------------------------- # basedir=`pwd` # ------------------------------------------------------------------------- # # Define all test options here. Each option will have it's own directory. # ------------------------------------------------------------------------- # temperatures="300 500" #temperatures="100 300 500 700" #temperatures="700" alg="hmc dhmc" #alg="HMC DHMC CDHMC" #alg="CDHMC" #alg="MD HMC DHMC CDHMC" steps="1000000" # ------------------------------------------------------------------------- # # Loop through each option. # ------------------------------------------------------------------------- # for temperature in $temperatures do for method in $alg do for nsteps in $steps do # ------------------------------------------------------------- # # Set the directory to work in. # ------------------------------------------------------------- # testdir="$basedir/$date/$temperature/$method" # ------------------------------------------------------------- # # Create the test directories and copy inputs if needed. # ------------------------------------------------------------- # if [ ! -d $testdir ]; then mkdir -p $testdir echo "creating directory: $testdir" cp $mol.pdb $testdir cp $mol.psf $testdir cp $mol.par $testdir cp dihedralSetDHMC $testdir cp angleSetDHMC $testdir fi # ------------------------------------------------------------- # # Copy the config files over. # ------------------------------------------------------------- # if [ $method == "MD" ]; then sed -e "s/thetemperature/$temperature/g" $mol.$method.conf > $testdir/$mol.$method.conf fi if [ $method == "hmc" ]; then sed -e "s/thetemperature/$temperature/g" $mol.$method.conf > $testdir/$mol.$method.conf fi if [ $method == "dhmc" ]; then sed -e "s/thetemperature/$temperature/g" $mol.$method.conf > $testdir/$mol.$method.conf fi # ------------------------------------------------------------- # # Run the tests. # ------------------------------------------------------------- # cd $testdir if [ $compute != "false" ]; then echo "Running from directory: $testdir" scriptfile="$subscript$temperature$method.pbs" touch $scriptfile echo "#!/bin/bash" >> $scriptfile echo "#PBS -N $scriptfile" >> $scriptfile echo "#PBS -l nodes=1:ppn=1" >> $scriptfile echo "cd \$PBS_O_WORKDIR" >> $scriptfile echo "mkdir /var/scratch/pbrenne1/$temperature$method" >> $scriptfile echo "mv * /var/scratch/pbrenne1/$temperature$method" >> $scriptfile echo "cd /var/scratch/pbrenne1/$temperature$method" >> $scriptfile echo "CBprotomol $mol.$method.conf --numsteps $nsteps --outputfreq $outfreq >& screenoutput$method.txt" >> $scriptfile echo "mv * \$PBS_O_WORKDIR" >> $scriptfile echo "cd \$PBS_O_WORKDIR" >> $scriptfile echo "rm -rf /var/scratch/pbrenne1/$temperature$method" >> $scriptfile chmod a+x $scriptfile qsub $scriptfile fi # ------------------------------------------------------------- # # Print the test results. # ------------------------------------------------------------- # if [ $print != "false" ]; then # Use awk script to get the dihedral energy average # and create a dihedral value data file for the xmgrace histogram gawk -f procDihedralFile.awk UA_butane.$alg.dihedrals rm -f dhmc.out.dihedrals gawk '{print $3}' UA_butane.$alg.dihedrals > $alg.out.dihedrals # Use xmgrace to plot the dihedral values in sequence # and plot a histogram showing the dihedral value distribution mytitle="title \"Method $alg - Leap Frog 1.0fs - TEMP $temperature - $steps STEPS\"" xmgrace -hdevice PNG -printfile dihedrals.png $alg.out.dihedrals \ -pexec autoscale -pexec "$mytitle" \ -pexec 'WORLD YMAX 6.3' -pexec 'WORLD YMIN 0.0' & #-param ../MDgraphtemplate -This is useful once you choose a final format xmgrace -hdevice EPS -printfile dihedrals.eps $alg.out.dihedrals \ -pexec "HISTOGRAM(S0, MESH(0,6.3,100), OFF, OFF)" \ -pexec "S1.y = S1.y / SUM(S1.y)" -pexec "KILL G0.S0" \ -pexec autoscale \ -pexec "$mytitle" -pexec 'xaxis label "Dihedral Value"' \ -pexec 'yaxis label "% of Dihedrals at Given Value"' & #-param ../MDgraphtemplate -This is useful once you choose a final format fi sleep 1 cd $basedir done done done # End foreach().protomol/examples/coulomb_309/0040755027616700000500000000000010237151526015670 5ustar pbrenne1dipprotomol/examples/coulomb_309/.cvsignore0100644027616700000500000000001710237151526017663 0ustar pbrenne1dip*energ* *out* protomol/examples/coulomb_309/309ca.config0100644027616700000500000000306710237151526017701 0ustar pbrenne1dip# Coulomb Crystal trapped by RF # Steps firststep 0 numsteps 100000 # System/topology boundaryConditions vacuum cellManager Cubic cellsize 500000 exclude none # Positions posfile 309ca.pos.xyz # Velocities temperature 1e-3 #velfile 309ca.vel.xyz # Molecular topology/atom definitions psffile 309ca.psf # Force field parfile 309ca.par # Random generator seed 1234 # Modifications #removeAngularMomentum 0 #removeLinearMomentum 0 # # Output # # General/Screen output frequency outputfreq 100 # PaulTrap relative output PAULFILE 309ca.out.paul # Write PaulTrap output PAULLOWFILE 309ca.out.paul.low.xyz # Write minimal positions and output PAULOutputFreq 10 PAULCACHEFREQ 100 # Cache 100 output lines before writing #PAULOMEGA 2.6e-09 # commented out to use values defined by force def. # Trajectory position file DCDOutputFreq 100 DCDFile 309ca.out.dcd # Integration scheme Integrator { level 0 PaulTrap { timestep 1e+08 # [fs] temperature 1e-28 # Temperature [K] if not defined by (t , time) thermal 1e-7 # 1.0 => instantly, 0.0 => Leapfrog scheme berendsen # thermostat scheme force Coulomb -algorithm NonbondedSimpleFull #-blocksize 64 # Multi-grid replacement for NonbondedSimpleFull # force Coulomb -algorithm MultiGrid -interpolation Hermite -kernel C2 # -s 500000 -levels 3 -h 250000 250000 250000 -order 6 -ratio 2 force PaulTrap -omegaR 2.6e-09 -omegaZ 2.6e-09 } } protomol/examples/coulomb_309/309ca.par0100644027616700000500000000415110237151526017211 0ustar pbrenne1dip REMARKS Charmm parameter set for water and ions v22 b4 REMARKS FILENAME="309ca.par" SET ECHO=FALSE END {>>>>>>>>>> Developmental Parameter File for Proteins <<<<<<<<<< >>>>>>>>>>>>>>>>> Using All Hydrogens (ALLH) <<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>> Jan 1993 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>> Direct comments to Alexander D. MacKerell Jr. <<<<<<<<< >>>>>> 410-706-7442 or bitnet: alex,tammy.harvard.edu <<<<<<<<< These files are a beta release; additional parameter development and testing may lead to alteration of the contents.} !----------------------------------------------------------------------------------------------- ! VARIOUS BOND PARAMETERS: Force Constant, Equilibrium Radius !----------------------------------------------------------------------------------------------- !------------------------------------------------------------------------------------------------------ ! VARIOUS ANGLE PARAMETERS: Force Constant, Equilibrium Angle, Urie-Bradley Force Const., ! U.-B. equilibrium (if any) !------------------------------------------------------------------------------------------------------ !------------------------------------------------------------------------------------------------- ! VAN-DER-VAALS PARAMETERS: Energy Well Depth, Distance of Minimum(div. by 2**1/6) ! for "atoms itself", i.e. for X-X interactions; for X-Y interactions the parameters ! values are taken as arithmetic mean of appropriate "atomic" parameters. ! "(1:4)" values refer to special intramolecular interactions between atoms connected through ! three bonds. These interactions are taken into consideration only when NBXMOD switch is set ! to 5 in NBONDS...END statement, which is taken for default (see 10 lines above). !------------------------------------------------------------------------------------------------- NONBONDED CA .0 .0 .0 .0 ! !--------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------- SET ECHO=TRUE END protomol/examples/coulomb_309/309ca.pos.xyz0100644027616700000500000003444610237151526020073 0ustar pbrenne1dip309 Ioncrystal Generator, (C) 2002, matthey@ii.uib.no, Jan 26 2004. ioncrystalGenerator 309ca -numsteps 50000 -outputfreq 1 -bcc -3d -ftemp 1e-8 -temp 0.02 -thermal 1e-4 -w 2.6e-9 -s -p 0.0 309 CA 40.08 1.0 CA 0 0 0 CA -81281.00142283 -81281.00142283 -81281.00142283 CA -81281.00142283 -81281.00142283 81281.00142283 CA -81281.00142283 81281.00142283 -81281.00142283 CA -81281.00142283 81281.00142283 81281.00142283 CA 81281.00142283 -81281.00142283 -81281.00142283 CA 81281.00142283 -81281.00142283 81281.00142283 CA 81281.00142283 81281.00142283 -81281.00142283 CA 81281.00142283 81281.00142283 81281.00142283 CA -162562.00284566 0 0 CA 0 -162562.00284566 0 CA 0 0 -162562.00284566 CA 0 0 162562.00284566 CA 0 162562.00284566 0 CA 162562.00284566 0 0 CA -162562.00284566 -162562.00284566 0 CA -162562.00284566 0 -162562.00284566 CA -162562.00284566 0 162562.00284566 CA -162562.00284566 162562.00284566 0 CA 0 -162562.00284566 -162562.00284566 CA 0 -162562.00284566 162562.00284566 CA 0 162562.00284566 -162562.00284566 CA 0 162562.00284566 162562.00284566 CA 162562.00284566 -162562.00284566 0 CA 162562.00284566 0 -162562.00284566 CA 162562.00284566 0 162562.00284566 CA 162562.00284566 162562.00284566 0 CA -243843.00426849 -81281.00142283 -81281.00142283 CA -243843.00426849 -81281.00142283 81281.00142283 CA -243843.00426849 81281.00142283 -81281.00142283 CA -243843.00426849 81281.00142283 81281.00142283 CA -81281.00142283 -243843.00426849 -81281.00142283 CA -81281.00142283 -243843.00426849 81281.00142283 CA -81281.00142283 -81281.00142283 -243843.00426849 CA -81281.00142283 -81281.00142283 243843.00426849 CA -81281.00142283 81281.00142283 -243843.00426849 CA -81281.00142283 81281.00142283 243843.00426849 CA -81281.00142283 243843.00426849 -81281.00142283 CA -81281.00142283 243843.00426849 81281.00142283 CA 81281.00142283 -243843.00426849 -81281.00142283 CA 81281.00142283 -243843.00426849 81281.00142283 CA 81281.00142283 -81281.00142283 -243843.00426849 CA 81281.00142283 -81281.00142283 243843.00426849 CA 81281.00142283 81281.00142283 -243843.00426849 CA 81281.00142283 81281.00142283 243843.00426849 CA 81281.00142283 243843.00426849 -81281.00142283 CA 81281.00142283 243843.00426849 81281.00142283 CA 243843.00426849 -81281.00142283 -81281.00142283 CA 243843.00426849 -81281.00142283 81281.00142283 CA 243843.00426849 81281.00142283 -81281.00142283 CA 243843.00426849 81281.00142283 81281.00142283 CA -162562.00284566 -162562.00284566 -162562.00284566 CA -162562.00284566 -162562.00284566 162562.00284566 CA -162562.00284566 162562.00284566 -162562.00284566 CA -162562.00284566 162562.00284566 162562.00284566 CA 162562.00284566 -162562.00284566 -162562.00284566 CA 162562.00284566 -162562.00284566 162562.00284566 CA 162562.00284566 162562.00284566 -162562.00284566 CA 162562.00284566 162562.00284566 162562.00284566 CA -325124.00569132 0 0 CA 0 -325124.00569132 0 CA 0 0 -325124.00569132 CA 0 0 325124.00569132 CA 0 325124.00569132 0 CA 325124.00569132 0 0 CA -243843.00426849 -243843.00426849 -81281.00142283 CA -243843.00426849 -243843.00426849 81281.00142283 CA -243843.00426849 243843.00426849 -81281.00142283 CA -243843.00426849 243843.00426849 81281.00142283 CA 243843.00426849 -243843.00426849 -81281.00142283 CA 243843.00426849 -243843.00426849 81281.00142283 CA 243843.00426849 243843.00426849 -81281.00142283 CA 243843.00426849 243843.00426849 81281.00142283 CA -243843.00426849 -81281.00142283 -243843.00426849 CA -243843.00426849 -81281.00142283 243843.00426849 CA -243843.00426849 81281.00142283 -243843.00426849 CA -243843.00426849 81281.00142283 243843.00426849 CA -81281.00142283 -243843.00426849 -243843.00426849 CA -81281.00142283 -243843.00426849 243843.00426849 CA -81281.00142283 243843.00426849 -243843.00426849 CA -81281.00142283 243843.00426849 243843.00426849 CA 81281.00142283 -243843.00426849 -243843.00426849 CA 81281.00142283 -243843.00426849 243843.00426849 CA 81281.00142283 243843.00426849 -243843.00426849 CA 81281.00142283 243843.00426849 243843.00426849 CA 243843.00426849 -81281.00142283 -243843.00426849 CA 243843.00426849 -81281.00142283 243843.00426849 CA 243843.00426849 81281.00142283 -243843.00426849 CA 243843.00426849 81281.00142283 243843.00426849 CA -325124.00569132 -162562.00284566 0 CA -325124.00569132 0 -162562.00284566 CA -325124.00569132 0 162562.00284566 CA -325124.00569132 162562.00284566 0 CA -162562.00284566 -325124.00569132 0 CA -162562.00284566 0 -325124.00569132 CA -162562.00284566 0 325124.00569132 CA -162562.00284566 325124.00569132 0 CA 0 -325124.00569132 -162562.00284566 CA 0 -325124.00569132 162562.00284566 CA 0 -162562.00284566 -325124.00569132 CA 0 -162562.00284566 325124.00569132 CA 0 162562.00284566 -325124.00569132 CA 0 162562.00284566 325124.00569132 CA 0 325124.00569132 -162562.00284566 CA 0 325124.00569132 162562.00284566 CA 162562.00284566 -325124.00569132 0 CA 162562.00284566 0 -325124.00569132 CA 162562.00284566 0 325124.00569132 CA 162562.00284566 325124.00569132 0 CA 325124.00569132 -162562.00284566 0 CA 325124.00569132 0 -162562.00284566 CA 325124.00569132 0 162562.00284566 CA 325124.00569132 162562.00284566 0 CA -325124.00569132 -162562.00284566 -162562.00284566 CA -325124.00569132 -162562.00284566 162562.00284566 CA -325124.00569132 162562.00284566 -162562.00284566 CA -325124.00569132 162562.00284566 162562.00284566 CA -162562.00284566 -325124.00569132 -162562.00284566 CA -162562.00284566 -325124.00569132 162562.00284566 CA -162562.00284566 -162562.00284566 -325124.00569132 CA -162562.00284566 -162562.00284566 325124.00569132 CA -162562.00284566 162562.00284566 -325124.00569132 CA -162562.00284566 162562.00284566 325124.00569132 CA -162562.00284566 325124.00569132 -162562.00284566 CA -162562.00284566 325124.00569132 162562.00284566 CA 162562.00284566 -325124.00569132 -162562.00284566 CA 162562.00284566 -325124.00569132 162562.00284566 CA 162562.00284566 -162562.00284566 -325124.00569132 CA 162562.00284566 -162562.00284566 325124.00569132 CA 162562.00284566 162562.00284566 -325124.00569132 CA 162562.00284566 162562.00284566 325124.00569132 CA 162562.00284566 325124.00569132 -162562.00284566 CA 162562.00284566 325124.00569132 162562.00284566 CA 325124.00569132 -162562.00284566 -162562.00284566 CA 325124.00569132 -162562.00284566 162562.00284566 CA 325124.00569132 162562.00284566 -162562.00284566 CA 325124.00569132 162562.00284566 162562.00284566 CA -81281.00142283 -81281.00142283 406405.00711415 CA -81281.00142283 81281.00142283 406405.00711415 CA -81281.00142283 406405.00711415 -81281.00142283 CA -81281.00142283 406405.00711415 81281.00142283 CA 81281.00142283 -81281.00142283 406405.00711415 CA 81281.00142283 81281.00142283 406405.00711415 CA 81281.00142283 406405.00711415 -81281.00142283 CA 81281.00142283 406405.00711415 81281.00142283 CA 406405.00711415 -81281.00142283 -81281.00142283 CA 406405.00711415 -81281.00142283 81281.00142283 CA 406405.00711415 81281.00142283 -81281.00142283 CA 406405.00711415 81281.00142283 81281.00142283 CA -406405.00711415 -81281.00142283 -81281.00142283 CA -406405.00711415 -81281.00142283 81281.00142283 CA -406405.00711415 81281.00142283 -81281.00142283 CA -406405.00711415 81281.00142283 81281.00142283 CA -243843.00426849 -243843.00426849 -243843.00426849 CA -243843.00426849 -243843.00426849 243843.00426849 CA -243843.00426849 243843.00426849 -243843.00426849 CA -243843.00426849 243843.00426849 243843.00426849 CA -81281.00142283 -406405.00711415 -81281.00142283 CA -81281.00142283 -406405.00711415 81281.00142283 CA -81281.00142283 -81281.00142283 -406405.00711415 CA -81281.00142283 81281.00142283 -406405.00711415 CA 81281.00142283 -406405.00711415 -81281.00142283 CA 81281.00142283 -406405.00711415 81281.00142283 CA 81281.00142283 -81281.00142283 -406405.00711415 CA 81281.00142283 81281.00142283 -406405.00711415 CA 243843.00426849 -243843.00426849 -243843.00426849 CA 243843.00426849 -243843.00426849 243843.00426849 CA 243843.00426849 243843.00426849 -243843.00426849 CA 243843.00426849 243843.00426849 243843.00426849 CA -325124.00569132 -325124.00569132 0 CA -325124.00569132 0 -325124.00569132 CA -325124.00569132 0 325124.00569132 CA -325124.00569132 325124.00569132 0 CA 0 -325124.00569132 -325124.00569132 CA 0 -325124.00569132 325124.00569132 CA 0 325124.00569132 -325124.00569132 CA 0 325124.00569132 325124.00569132 CA 325124.00569132 -325124.00569132 0 CA 325124.00569132 0 -325124.00569132 CA 325124.00569132 0 325124.00569132 CA 325124.00569132 325124.00569132 0 CA -243843.00426849 -81281.00142283 406405.00711415 CA -243843.00426849 81281.00142283 406405.00711415 CA -243843.00426849 406405.00711415 -81281.00142283 CA -243843.00426849 406405.00711415 81281.00142283 CA -81281.00142283 -243843.00426849 406405.00711415 CA -81281.00142283 243843.00426849 406405.00711415 CA -81281.00142283 406405.00711415 -243843.00426849 CA -81281.00142283 406405.00711415 243843.00426849 CA 81281.00142283 -243843.00426849 406405.00711415 CA 81281.00142283 243843.00426849 406405.00711415 CA 81281.00142283 406405.00711415 -243843.00426849 CA 81281.00142283 406405.00711415 243843.00426849 CA 243843.00426849 -81281.00142283 406405.00711415 CA 243843.00426849 81281.00142283 406405.00711415 CA 243843.00426849 406405.00711415 -81281.00142283 CA 243843.00426849 406405.00711415 81281.00142283 CA 406405.00711415 -243843.00426849 -81281.00142283 CA 406405.00711415 -243843.00426849 81281.00142283 CA 406405.00711415 -81281.00142283 -243843.00426849 CA 406405.00711415 -81281.00142283 243843.00426849 CA 406405.00711415 81281.00142283 -243843.00426849 CA 406405.00711415 81281.00142283 243843.00426849 CA 406405.00711415 243843.00426849 -81281.00142283 CA 406405.00711415 243843.00426849 81281.00142283 CA -406405.00711415 -243843.00426849 -81281.00142283 CA -406405.00711415 -243843.00426849 81281.00142283 CA -406405.00711415 -81281.00142283 -243843.00426849 CA -406405.00711415 -81281.00142283 243843.00426849 CA -406405.00711415 81281.00142283 -243843.00426849 CA -406405.00711415 81281.00142283 243843.00426849 CA -406405.00711415 243843.00426849 -81281.00142283 CA -406405.00711415 243843.00426849 81281.00142283 CA -243843.00426849 -406405.00711415 -81281.00142283 CA -243843.00426849 -406405.00711415 81281.00142283 CA -243843.00426849 -81281.00142283 -406405.00711415 CA -243843.00426849 81281.00142283 -406405.00711415 CA -81281.00142283 -406405.00711415 -243843.00426849 CA -81281.00142283 -406405.00711415 243843.00426849 CA -81281.00142283 -243843.00426849 -406405.00711415 CA -81281.00142283 243843.00426849 -406405.00711415 CA 81281.00142283 -406405.00711415 -243843.00426849 CA 81281.00142283 -406405.00711415 243843.00426849 CA 81281.00142283 -243843.00426849 -406405.00711415 CA 81281.00142283 243843.00426849 -406405.00711415 CA 243843.00426849 -406405.00711415 -81281.00142283 CA 243843.00426849 -406405.00711415 81281.00142283 CA 243843.00426849 -81281.00142283 -406405.00711415 CA 243843.00426849 81281.00142283 -406405.00711415 CA -325124.00569132 -325124.00569132 -162562.00284566 CA -325124.00569132 -325124.00569132 162562.00284566 CA -325124.00569132 -162562.00284566 -325124.00569132 CA -325124.00569132 -162562.00284566 325124.00569132 CA -325124.00569132 162562.00284566 -325124.00569132 CA -325124.00569132 162562.00284566 325124.00569132 CA -325124.00569132 325124.00569132 -162562.00284566 CA -325124.00569132 325124.00569132 162562.00284566 CA -162562.00284566 -325124.00569132 -325124.00569132 CA -162562.00284566 -325124.00569132 325124.00569132 CA -162562.00284566 325124.00569132 -325124.00569132 CA -162562.00284566 325124.00569132 325124.00569132 CA 162562.00284566 -325124.00569132 -325124.00569132 CA 162562.00284566 -325124.00569132 325124.00569132 CA 162562.00284566 325124.00569132 -325124.00569132 CA 162562.00284566 325124.00569132 325124.00569132 CA 325124.00569132 -325124.00569132 -162562.00284566 CA 325124.00569132 -325124.00569132 162562.00284566 CA 325124.00569132 -162562.00284566 -325124.00569132 CA 325124.00569132 -162562.00284566 325124.00569132 CA 325124.00569132 162562.00284566 -325124.00569132 CA 325124.00569132 162562.00284566 325124.00569132 CA 325124.00569132 325124.00569132 -162562.00284566 CA 325124.00569132 325124.00569132 162562.00284566 CA -487686.00853698 0 0 CA 0 -487686.00853698 0 CA 0 0 -487686.00853698 CA 0 0 487686.00853698 CA 0 487686.00853698 0 CA 487686.00853698 0 0 CA -487686.00853698 -162562.00284566 0 CA -487686.00853698 0 -162562.00284566 CA -487686.00853698 0 162562.00284566 CA -487686.00853698 162562.00284566 0 CA -162562.00284566 -487686.00853698 0 CA -162562.00284566 0 -487686.00853698 CA -162562.00284566 0 487686.00853698 CA -162562.00284566 487686.00853698 0 CA 0 -487686.00853698 -162562.00284566 CA 0 -487686.00853698 162562.00284566 CA 0 -162562.00284566 -487686.00853698 CA 0 -162562.00284566 487686.00853698 CA 0 162562.00284566 -487686.00853698 CA 0 162562.00284566 487686.00853698 CA 0 487686.00853698 -162562.00284566 CA 0 487686.00853698 162562.00284566 CA 162562.00284566 -487686.00853698 0 CA 162562.00284566 0 -487686.00853698 CA 162562.00284566 0 487686.00853698 CA 162562.00284566 487686.00853698 0 CA 487686.00853698 -162562.00284566 0 CA 487686.00853698 0 -162562.00284566 CA 487686.00853698 0 162562.00284566 CA 487686.00853698 162562.00284566 0 CA -243843.00426849 -243843.00426849 406405.00711415 CA -243843.00426849 243843.00426849 406405.00711415 CA 243843.00426849 -243843.00426849 406405.00711415 CA 243843.00426849 243843.00426849 406405.00711415 CA -406405.00711415 -243843.00426849 -243843.00426849 CA -406405.00711415 -243843.00426849 243843.00426849 CA -406405.00711415 243843.00426849 -243843.00426849 CA -406405.00711415 243843.00426849 243843.00426849 CA -243843.00426849 -406405.00711415 -243843.00426849 CA -243843.00426849 -406405.00711415 243843.00426849 CA -243843.00426849 -243843.00426849 -406405.00711415 CA -243843.00426849 243843.00426849 -406405.00711415 CA -243843.00426849 406405.00711415 -243843.00426849 CA -243843.00426849 406405.00711415 243843.00426849 CA 243843.00426849 -406405.00711415 -243843.00426849 CA 243843.00426849 -406405.00711415 243843.00426849 CA 243843.00426849 -243843.00426849 -406405.00711415 CA 243843.00426849 243843.00426849 -406405.00711415 CA 243843.00426849 406405.00711415 -243843.00426849 CA 243843.00426849 406405.00711415 243843.00426849 CA 406405.00711415 -243843.00426849 -243843.00426849 CA 406405.00711415 -243843.00426849 243843.00426849 CA 406405.00711415 243843.00426849 -243843.00426849 CA 406405.00711415 243843.00426849 243843.00426849 CA -487686.00853698 -162562.00284566 -162562.00284566 CA -487686.00853698 -162562.00284566 162562.00284566 protomol/examples/coulomb_309/309ca.psf0100644027616700000500000005304310237151526017223 0ustar pbrenne1dipPSF 1 !NTITLE REMARKS Ioncrystal Generator, (C) 2002, matthey@ii.uib.no, Jan 26 2004. 309 !NATOM 1 XXXX 1 IONE X CA 1 40.08 0 2 XXXX 1 IONE X CA 1 40.08 0 3 XXXX 1 IONE X CA 1 40.08 0 4 XXXX 1 IONE X CA 1 40.08 0 5 XXXX 1 IONE X CA 1 40.08 0 6 XXXX 1 IONE X CA 1 40.08 0 7 XXXX 1 IONE X CA 1 40.08 0 8 XXXX 1 IONE X CA 1 40.08 0 9 XXXX 1 IONE X CA 1 40.08 0 10 XXXX 1 IONE X CA 1 40.08 0 11 XXXX 1 IONE X CA 1 40.08 0 12 XXXX 1 IONE X CA 1 40.08 0 13 XXXX 1 IONE X CA 1 40.08 0 14 XXXX 1 IONE X CA 1 40.08 0 15 XXXX 1 IONE X CA 1 40.08 0 16 XXXX 1 IONE X CA 1 40.08 0 17 XXXX 1 IONE X CA 1 40.08 0 18 XXXX 1 IONE X CA 1 40.08 0 19 XXXX 1 IONE X CA 1 40.08 0 20 XXXX 1 IONE X CA 1 40.08 0 21 XXXX 1 IONE X CA 1 40.08 0 22 XXXX 1 IONE X CA 1 40.08 0 23 XXXX 1 IONE X CA 1 40.08 0 24 XXXX 1 IONE X CA 1 40.08 0 25 XXXX 1 IONE X CA 1 40.08 0 26 XXXX 1 IONE X CA 1 40.08 0 27 XXXX 1 IONE X CA 1 40.08 0 28 XXXX 1 IONE X CA 1 40.08 0 29 XXXX 1 IONE X CA 1 40.08 0 30 XXXX 1 IONE X CA 1 40.08 0 31 XXXX 1 IONE X CA 1 40.08 0 32 XXXX 1 IONE X CA 1 40.08 0 33 XXXX 1 IONE X CA 1 40.08 0 34 XXXX 1 IONE X CA 1 40.08 0 35 XXXX 1 IONE X CA 1 40.08 0 36 XXXX 1 IONE X CA 1 40.08 0 37 XXXX 1 IONE X CA 1 40.08 0 38 XXXX 1 IONE X CA 1 40.08 0 39 XXXX 1 IONE X CA 1 40.08 0 40 XXXX 1 IONE X CA 1 40.08 0 41 XXXX 1 IONE X CA 1 40.08 0 42 XXXX 1 IONE X CA 1 40.08 0 43 XXXX 1 IONE X CA 1 40.08 0 44 XXXX 1 IONE X CA 1 40.08 0 45 XXXX 1 IONE X CA 1 40.08 0 46 XXXX 1 IONE X CA 1 40.08 0 47 XXXX 1 IONE X CA 1 40.08 0 48 XXXX 1 IONE X CA 1 40.08 0 49 XXXX 1 IONE X CA 1 40.08 0 50 XXXX 1 IONE X CA 1 40.08 0 51 XXXX 1 IONE X CA 1 40.08 0 52 XXXX 1 IONE X CA 1 40.08 0 53 XXXX 1 IONE X CA 1 40.08 0 54 XXXX 1 IONE X CA 1 40.08 0 55 XXXX 1 IONE X CA 1 40.08 0 56 XXXX 1 IONE X CA 1 40.08 0 57 XXXX 1 IONE X CA 1 40.08 0 58 XXXX 1 IONE X CA 1 40.08 0 59 XXXX 1 IONE X CA 1 40.08 0 60 XXXX 1 IONE X CA 1 40.08 0 61 XXXX 1 IONE X CA 1 40.08 0 62 XXXX 1 IONE X CA 1 40.08 0 63 XXXX 1 IONE X CA 1 40.08 0 64 XXXX 1 IONE X CA 1 40.08 0 65 XXXX 1 IONE X CA 1 40.08 0 66 XXXX 1 IONE X CA 1 40.08 0 67 XXXX 1 IONE X CA 1 40.08 0 68 XXXX 1 IONE X CA 1 40.08 0 69 XXXX 1 IONE X CA 1 40.08 0 70 XXXX 1 IONE X CA 1 40.08 0 71 XXXX 1 IONE X CA 1 40.08 0 72 XXXX 1 IONE X CA 1 40.08 0 73 XXXX 1 IONE X CA 1 40.08 0 74 XXXX 1 IONE X CA 1 40.08 0 75 XXXX 1 IONE X CA 1 40.08 0 76 XXXX 1 IONE X CA 1 40.08 0 77 XXXX 1 IONE X CA 1 40.08 0 78 XXXX 1 IONE X CA 1 40.08 0 79 XXXX 1 IONE X CA 1 40.08 0 80 XXXX 1 IONE X CA 1 40.08 0 81 XXXX 1 IONE X CA 1 40.08 0 82 XXXX 1 IONE X CA 1 40.08 0 83 XXXX 1 IONE X CA 1 40.08 0 84 XXXX 1 IONE X CA 1 40.08 0 85 XXXX 1 IONE X CA 1 40.08 0 86 XXXX 1 IONE X CA 1 40.08 0 87 XXXX 1 IONE X CA 1 40.08 0 88 XXXX 1 IONE X CA 1 40.08 0 89 XXXX 1 IONE X CA 1 40.08 0 90 XXXX 1 IONE X CA 1 40.08 0 91 XXXX 1 IONE X CA 1 40.08 0 92 XXXX 1 IONE X CA 1 40.08 0 93 XXXX 1 IONE X CA 1 40.08 0 94 XXXX 1 IONE X CA 1 40.08 0 95 XXXX 1 IONE X CA 1 40.08 0 96 XXXX 1 IONE X CA 1 40.08 0 97 XXXX 1 IONE X CA 1 40.08 0 98 XXXX 1 IONE X CA 1 40.08 0 99 XXXX 1 IONE X CA 1 40.08 0 100 XXXX 1 IONE X CA 1 40.08 0 101 XXXX 1 IONE X CA 1 40.08 0 102 XXXX 1 IONE X CA 1 40.08 0 103 XXXX 1 IONE X CA 1 40.08 0 104 XXXX 1 IONE X CA 1 40.08 0 105 XXXX 1 IONE X CA 1 40.08 0 106 XXXX 1 IONE X CA 1 40.08 0 107 XXXX 1 IONE X CA 1 40.08 0 108 XXXX 1 IONE X CA 1 40.08 0 109 XXXX 1 IONE X CA 1 40.08 0 110 XXXX 1 IONE X CA 1 40.08 0 111 XXXX 1 IONE X CA 1 40.08 0 112 XXXX 1 IONE X CA 1 40.08 0 113 XXXX 1 IONE X CA 1 40.08 0 114 XXXX 1 IONE X CA 1 40.08 0 115 XXXX 1 IONE X CA 1 40.08 0 116 XXXX 1 IONE X CA 1 40.08 0 117 XXXX 1 IONE X CA 1 40.08 0 118 XXXX 1 IONE X CA 1 40.08 0 119 XXXX 1 IONE X CA 1 40.08 0 120 XXXX 1 IONE X CA 1 40.08 0 121 XXXX 1 IONE X CA 1 40.08 0 122 XXXX 1 IONE X CA 1 40.08 0 123 XXXX 1 IONE X CA 1 40.08 0 124 XXXX 1 IONE X CA 1 40.08 0 125 XXXX 1 IONE X CA 1 40.08 0 126 XXXX 1 IONE X CA 1 40.08 0 127 XXXX 1 IONE X CA 1 40.08 0 128 XXXX 1 IONE X CA 1 40.08 0 129 XXXX 1 IONE X CA 1 40.08 0 130 XXXX 1 IONE X CA 1 40.08 0 131 XXXX 1 IONE X CA 1 40.08 0 132 XXXX 1 IONE X CA 1 40.08 0 133 XXXX 1 IONE X CA 1 40.08 0 134 XXXX 1 IONE X CA 1 40.08 0 135 XXXX 1 IONE X CA 1 40.08 0 136 XXXX 1 IONE X CA 1 40.08 0 137 XXXX 1 IONE X CA 1 40.08 0 138 XXXX 1 IONE X CA 1 40.08 0 139 XXXX 1 IONE X CA 1 40.08 0 140 XXXX 1 IONE X CA 1 40.08 0 141 XXXX 1 IONE X CA 1 40.08 0 142 XXXX 1 IONE X CA 1 40.08 0 143 XXXX 1 IONE X CA 1 40.08 0 144 XXXX 1 IONE X CA 1 40.08 0 145 XXXX 1 IONE X CA 1 40.08 0 146 XXXX 1 IONE X CA 1 40.08 0 147 XXXX 1 IONE X CA 1 40.08 0 148 XXXX 1 IONE X CA 1 40.08 0 149 XXXX 1 IONE X CA 1 40.08 0 150 XXXX 1 IONE X CA 1 40.08 0 151 XXXX 1 IONE X CA 1 40.08 0 152 XXXX 1 IONE X CA 1 40.08 0 153 XXXX 1 IONE X CA 1 40.08 0 154 XXXX 1 IONE X CA 1 40.08 0 155 XXXX 1 IONE X CA 1 40.08 0 156 XXXX 1 IONE X CA 1 40.08 0 157 XXXX 1 IONE X CA 1 40.08 0 158 XXXX 1 IONE X CA 1 40.08 0 159 XXXX 1 IONE X CA 1 40.08 0 160 XXXX 1 IONE X CA 1 40.08 0 161 XXXX 1 IONE X CA 1 40.08 0 162 XXXX 1 IONE X CA 1 40.08 0 163 XXXX 1 IONE X CA 1 40.08 0 164 XXXX 1 IONE X CA 1 40.08 0 165 XXXX 1 IONE X CA 1 40.08 0 166 XXXX 1 IONE X CA 1 40.08 0 167 XXXX 1 IONE X CA 1 40.08 0 168 XXXX 1 IONE X CA 1 40.08 0 169 XXXX 1 IONE X CA 1 40.08 0 170 XXXX 1 IONE X CA 1 40.08 0 171 XXXX 1 IONE X CA 1 40.08 0 172 XXXX 1 IONE X CA 1 40.08 0 173 XXXX 1 IONE X CA 1 40.08 0 174 XXXX 1 IONE X CA 1 40.08 0 175 XXXX 1 IONE X CA 1 40.08 0 176 XXXX 1 IONE X CA 1 40.08 0 177 XXXX 1 IONE X CA 1 40.08 0 178 XXXX 1 IONE X CA 1 40.08 0 179 XXXX 1 IONE X CA 1 40.08 0 180 XXXX 1 IONE X CA 1 40.08 0 181 XXXX 1 IONE X CA 1 40.08 0 182 XXXX 1 IONE X CA 1 40.08 0 183 XXXX 1 IONE X CA 1 40.08 0 184 XXXX 1 IONE X CA 1 40.08 0 185 XXXX 1 IONE X CA 1 40.08 0 186 XXXX 1 IONE X CA 1 40.08 0 187 XXXX 1 IONE X CA 1 40.08 0 188 XXXX 1 IONE X CA 1 40.08 0 189 XXXX 1 IONE X CA 1 40.08 0 190 XXXX 1 IONE X CA 1 40.08 0 191 XXXX 1 IONE X CA 1 40.08 0 192 XXXX 1 IONE X CA 1 40.08 0 193 XXXX 1 IONE X CA 1 40.08 0 194 XXXX 1 IONE X CA 1 40.08 0 195 XXXX 1 IONE X CA 1 40.08 0 196 XXXX 1 IONE X CA 1 40.08 0 197 XXXX 1 IONE X CA 1 40.08 0 198 XXXX 1 IONE X CA 1 40.08 0 199 XXXX 1 IONE X CA 1 40.08 0 200 XXXX 1 IONE X CA 1 40.08 0 201 XXXX 1 IONE X CA 1 40.08 0 202 XXXX 1 IONE X CA 1 40.08 0 203 XXXX 1 IONE X CA 1 40.08 0 204 XXXX 1 IONE X CA 1 40.08 0 205 XXXX 1 IONE X CA 1 40.08 0 206 XXXX 1 IONE X CA 1 40.08 0 207 XXXX 1 IONE X CA 1 40.08 0 208 XXXX 1 IONE X CA 1 40.08 0 209 XXXX 1 IONE X CA 1 40.08 0 210 XXXX 1 IONE X CA 1 40.08 0 211 XXXX 1 IONE X CA 1 40.08 0 212 XXXX 1 IONE X CA 1 40.08 0 213 XXXX 1 IONE X CA 1 40.08 0 214 XXXX 1 IONE X CA 1 40.08 0 215 XXXX 1 IONE X CA 1 40.08 0 216 XXXX 1 IONE X CA 1 40.08 0 217 XXXX 1 IONE X CA 1 40.08 0 218 XXXX 1 IONE X CA 1 40.08 0 219 XXXX 1 IONE X CA 1 40.08 0 220 XXXX 1 IONE X CA 1 40.08 0 221 XXXX 1 IONE X CA 1 40.08 0 222 XXXX 1 IONE X CA 1 40.08 0 223 XXXX 1 IONE X CA 1 40.08 0 224 XXXX 1 IONE X CA 1 40.08 0 225 XXXX 1 IONE X CA 1 40.08 0 226 XXXX 1 IONE X CA 1 40.08 0 227 XXXX 1 IONE X CA 1 40.08 0 228 XXXX 1 IONE X CA 1 40.08 0 229 XXXX 1 IONE X CA 1 40.08 0 230 XXXX 1 IONE X CA 1 40.08 0 231 XXXX 1 IONE X CA 1 40.08 0 232 XXXX 1 IONE X CA 1 40.08 0 233 XXXX 1 IONE X CA 1 40.08 0 234 XXXX 1 IONE X CA 1 40.08 0 235 XXXX 1 IONE X CA 1 40.08 0 236 XXXX 1 IONE X CA 1 40.08 0 237 XXXX 1 IONE X CA 1 40.08 0 238 XXXX 1 IONE X CA 1 40.08 0 239 XXXX 1 IONE X CA 1 40.08 0 240 XXXX 1 IONE X CA 1 40.08 0 241 XXXX 1 IONE X CA 1 40.08 0 242 XXXX 1 IONE X CA 1 40.08 0 243 XXXX 1 IONE X CA 1 40.08 0 244 XXXX 1 IONE X CA 1 40.08 0 245 XXXX 1 IONE X CA 1 40.08 0 246 XXXX 1 IONE X CA 1 40.08 0 247 XXXX 1 IONE X CA 1 40.08 0 248 XXXX 1 IONE X CA 1 40.08 0 249 XXXX 1 IONE X CA 1 40.08 0 250 XXXX 1 IONE X CA 1 40.08 0 251 XXXX 1 IONE X CA 1 40.08 0 252 XXXX 1 IONE X CA 1 40.08 0 253 XXXX 1 IONE X CA 1 40.08 0 254 XXXX 1 IONE X CA 1 40.08 0 255 XXXX 1 IONE X CA 1 40.08 0 256 XXXX 1 IONE X CA 1 40.08 0 257 XXXX 1 IONE X CA 1 40.08 0 258 XXXX 1 IONE X CA 1 40.08 0 259 XXXX 1 IONE X CA 1 40.08 0 260 XXXX 1 IONE X CA 1 40.08 0 261 XXXX 1 IONE X CA 1 40.08 0 262 XXXX 1 IONE X CA 1 40.08 0 263 XXXX 1 IONE X CA 1 40.08 0 264 XXXX 1 IONE X CA 1 40.08 0 265 XXXX 1 IONE X CA 1 40.08 0 266 XXXX 1 IONE X CA 1 40.08 0 267 XXXX 1 IONE X CA 1 40.08 0 268 XXXX 1 IONE X CA 1 40.08 0 269 XXXX 1 IONE X CA 1 40.08 0 270 XXXX 1 IONE X CA 1 40.08 0 271 XXXX 1 IONE X CA 1 40.08 0 272 XXXX 1 IONE X CA 1 40.08 0 273 XXXX 1 IONE X CA 1 40.08 0 274 XXXX 1 IONE X CA 1 40.08 0 275 XXXX 1 IONE X CA 1 40.08 0 276 XXXX 1 IONE X CA 1 40.08 0 277 XXXX 1 IONE X CA 1 40.08 0 278 XXXX 1 IONE X CA 1 40.08 0 279 XXXX 1 IONE X CA 1 40.08 0 280 XXXX 1 IONE X CA 1 40.08 0 281 XXXX 1 IONE X CA 1 40.08 0 282 XXXX 1 IONE X CA 1 40.08 0 283 XXXX 1 IONE X CA 1 40.08 0 284 XXXX 1 IONE X CA 1 40.08 0 285 XXXX 1 IONE X CA 1 40.08 0 286 XXXX 1 IONE X CA 1 40.08 0 287 XXXX 1 IONE X CA 1 40.08 0 288 XXXX 1 IONE X CA 1 40.08 0 289 XXXX 1 IONE X CA 1 40.08 0 290 XXXX 1 IONE X CA 1 40.08 0 291 XXXX 1 IONE X CA 1 40.08 0 292 XXXX 1 IONE X CA 1 40.08 0 293 XXXX 1 IONE X CA 1 40.08 0 294 XXXX 1 IONE X CA 1 40.08 0 295 XXXX 1 IONE X CA 1 40.08 0 296 XXXX 1 IONE X CA 1 40.08 0 297 XXXX 1 IONE X CA 1 40.08 0 298 XXXX 1 IONE X CA 1 40.08 0 299 XXXX 1 IONE X CA 1 40.08 0 300 XXXX 1 IONE X CA 1 40.08 0 301 XXXX 1 IONE X CA 1 40.08 0 302 XXXX 1 IONE X CA 1 40.08 0 303 XXXX 1 IONE X CA 1 40.08 0 304 XXXX 1 IONE X CA 1 40.08 0 305 XXXX 1 IONE X CA 1 40.08 0 306 XXXX 1 IONE X CA 1 40.08 0 307 XXXX 1 IONE X CA 1 40.08 0 308 XXXX 1 IONE X CA 1 40.08 0 309 XXXX 1 IONE X CA 1 40.08 0 protomol/examples/decalanine_66/0040755027616700000500000000000010237151526016233 5ustar pbrenne1dipprotomol/examples/decalanine_66/.cvsignore0100644027616700000500000000001710237151526020226 0ustar pbrenne1dip*energ* *out* protomol/examples/decalanine_66/alanine.BSplineMOLLY.conf0100644027616700000500000000231710237151526022661 0ustar pbrenne1dipfirststep 0 numsteps 10 seed 1234 posfile alanine.pdb psffile alanine.psf parfile alanine.par temperature 300 outputfreq 2 allenergiesfile alanine.bspline.energies boundaryConditions periodic cellManager Cubic cellsize 6.5 Integrator { level 1 HBondMOLLY { cyclelength 5 BSplineType long mollyStepsize 2 # MOLLY force MollyBond force MollyAngle force MollyLennardJonesCoulomb -cutoff 6.5 -switchon 0.1 -r0 1.5 -r1 4.5 # Regular force Coulomb -algorithm FullEwald -reciprocal # force Coulomb # -algorithm NonbondedSimpleFull # -switchingFunction ComplementC1 # -cutoff 6.5 } level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force Coulomb -algorithm FullEwald -real -correction force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -cutoff 6.5 -cutoff 6.5 -switchon 0.1 # force LennardJones Coulomb # -algorithm NonbondedCutoff # -switchingFunction C2 # -switchingFunction Shift # -cutoff 6.5 # -cutoff 6.5 # -switchon 0.1 } } protomol/examples/decalanine_66/alanine.Equilibrium.conf0100644027616700000500000000202610237151526022774 0ustar pbrenne1dipfirststep 0 numsteps 10 seed 1234 posfile alanine.pdb psffile alanine.psf parfile alanine.par temperature 300 outputfreq 2 allenergiesfile alanine.equilibrium.energies boundaryConditions periodic cellManager Cubic cellsize 6.5 Integrator { level 1 EquilibriumMOLLY { cyclelength 6 force Coulomb -algorithm FullEwald -reciprocal # using cutoff: # force Coulomb # -algorithm NonbondedSimpleFull # -switchingFunction ComplementC1 # -cutoff 6.5 } level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force Coulomb -algorithm FullEwald -real -correction force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -cutoff 6.5 -cutoff 6.5 -switchon 0.1 # using cutoff: # force LennardJones Coulomb # -algorithm NonbondedCutoff # -switchingFunction C2 # -switchingFunction Shift # -cutoff 6.5 # -cutoff 6.5 # -switchon 0.1 } } protomol/examples/decalanine_66/alanine.LF.conf0100644027616700000500000000112310237151526021003 0ustar pbrenne1dipfirststep 0 numsteps 10 # seed 1234 posfile alanine.pdb psffile alanine.psf parfile alanine.par temperature 300 outputfreq 1 allenergiesfile alanine.lf.energies diffusionFile alanine.lf.diffusion boundaryConditions Normal cellManager Cubic cellsize 6.5 Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones Coulomb -algorithm NonbondedCutoff -switchingFunction C2 -switchingFunction Shift -cutoff 6.5 -cutoff 6.5 -switchon 0.1 } } protomol/examples/decalanine_66/alanine.LFwDihedralOut.conf0100644027616700000500000000221610237151526023323 0ustar pbrenne1dipfirststep 0 numsteps 10 # seed 1234 posfile alanine.pdb psffile alanine.psf parfile alanine.par temperature 300 #output outputfreq 1 allenergiesfile alanine.lf.energies diffusionFile alanine.lf.diffusion #the dihedralsfile output module actually outputs multiple files #if a testset of dihedral indexes is input this overides the #dihedralsIndex value. #Output files include: # *.dihedrals - lists value for each specified dihedral at each step # *.dihedrals.confstrings - contains all unique confstrings # *.dihedrals.dcds - contains dcds which correspond to the unique confstrings dodihedralsfile true dihedralsoutputfreq 1 dihedralsfile alanine.lf.dihedrals dihedralsIndex 11 dihedralsSet false dihedralsSetfile dihedralIndexSet boundaryConditions Normal cellManager Cubic cellsize 6.5 Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones Coulomb -algorithm NonbondedCutoff -switchingFunction C2 -switchingFunction Shift -cutoff 6.5 -cutoff 6.5 -switchon 0.1 } } protomol/examples/decalanine_66/alanine.PLF.conf0100644027616700000500000000111210237151526021121 0ustar pbrenne1dipfirststep 0 numsteps 10 seed 1234 posfile alanine.pdb psffile alanine.psf parfile alanine.par temperature 300 usecharmm28parfile no outputfreq 1 allenergiesfile alanine.plf.energies boundaryConditions Normal cellManager Cubic cellsize 6.5 Integrator { level 0 PLeapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones Coulomb -algorithm NonbondedCutoff -switchingFunction C2 -switchingFunction Shift -cutoff 6.5 -cutoff 6.5 -switchon 0.1 } } protomol/examples/decalanine_66/alanine.Shake.conf0100644027616700000500000000111210237151526021533 0ustar pbrenne1dipfirststep 0 numsteps 10 seed 0 posfile alanine.pdb psffile alanine.psf parfile alanine.par temperature 300 outputfreq 1 allenergiesfile alanine.shake.energies boundaryConditions Normal cellManager Cubic cellsize 6.5 # switch on SHAKE shake on Integrator { level 0 Leapfrog { timestep 0.5 force Improper force Dihedral force Bond force Angle force LennardJones Coulomb -algorithm NonbondedCutoff -switchingFunction C2 -switchingFunction Shift -cutoff 6.5 -cutoff 6.5 -switchon 0.1 } } protomol/examples/decalanine_66/alanine.par0100644027616700000500000004175510237151526020357 0ustar pbrenne1dipremark - parameter file PARAM19 - remark PEPTIDE GEOMETRY FROM RAMACHANDRAN ET AL BBA 359:298 (1974) remark TORSIONS FROM HAGLER ET AL JACS 98:4600 (1976) remark JORGENSEN NONBOND PARAMETERS JACS 103:3976-3985 WITH 1-4 RC=1.80/0.1 set echo=false end !! - PEPTIDE GEOMETRY TO GIVE RAMACHANDRAN ET AL BBA 359:298 (1974) !! - PEPTIDE TORSIONS FROM HAGLER ET AL JACS 98:4600 (1976) !! - NONBONDED TERMS JORGENSEN JACS 103:3976 W/ RC1-4 = 1.80 EC1-4 = 0.1 !! The default h-bond exponents are now 6-repul 4-attr !! ++++++++ ATOMTYPE OS (IN METHYL ESTER) ADDED FOR CHARMM COURSE /LN ++++ !! Switched from Slater-Kirkwood to simple mixing rules - AB !! Hbond parameters based on comparisons of dimer results with !! ab initio calculations. - WER 12/19/84 !! Grouping of atom types for VDW parameters - BRB 1/3/85 bond C C 450.0 1.38! B. R. GELIN THESIS AMIDE AND DIPEPTIDES bond C CH1E 405.0 1.52! EXCEPT WHERE NOTED. CH1E,CH2E,CH3E, AND CT bond C CH2E 405.0 1.52! ALL TREATED THE SAME. UREY BRADLEY TERMS ADDED bond C CH3E 405.0 1.52 bond C CR1E 450.0 1.38 bond C CT 405.0 1.53 bond C N 471.0 1.33 bond C NC2 400.0 1.33! BOND LENGTH FROM PARMFIX9 FORCE K APROXIMATE bond C NH1 471.0 1.33 bond C NH2 471.0 1.33 bond C NP 471.0 1.33 bond C NR 471.0 1.33 bond C O 580.0 1.23 bond C OC 580.0 1.23! FORCE DECREASE AND LENGTH INCREASE FROM C O bond C OH1 450.0 1.38! FROM PARMFIX9 (NO VALUE IN GELIN THESIS) bond C OS 292.0 1.43! FROM DEP NORMAL MODE FIT bond CH1E CH1E 225.0 1.53 bond CH1E CH2E 225.0 1.52 bond CH1E CH3E 225.0 1.52 bond CH1E N 422.0 1.45 bond CH1E NH1 422.0 1.45 bond CH1E NH2 422.0 1.45 bond CH1E NH3 422.0 1.45 bond CH1E OH1 400.0 1.42! FROM PARMFIX9 (NO VALUE IN GELIN THESIS) bond CH2E CH2E 225.0 1.52 bond CH2E CH3E 225.0 1.54 bond CH2E CR1E 250.0 1.45! FROM WARSHEL AND KARPLUS 1972 JACS 96:5612 bond CH2E N 422.0 1.45 bond CH2E NH1 422.0 1.45 bond CH2E NH2 422.0 1.45 bond CH2E NH3 422.0 1.45 bond CH2E OH1 400.0 1.42 bond CH2E S 450.0 1.81! FROM PARMFIX9 bond CH2E SH1E 450.0 1.81 bond CH3E NH1 422.0 1.49 bond CH3E NR 422.0 1.49 ! FOR NETROPSIN bond CH3E S 450.0 1.77! FROM PARMFIX9 bond CH3E OS 292.0 1.38! FROM DEP NORMAL MODE FIT bond CM OM 1115.0 1.128! FROM CAUGHEY ET AL(1978),CARBON MONOXIDE bond CR1E CR1E 450.0 1.38 bond CR1E NH1 450.0 1.305 bond CR1E NR 450.0 1.305 bond CT CT 200.0 1.53 bond CT N 422.0 1.45 bond CT NC2 422.0 1.45 bond CT NH1 422.0 1.45 bond CT NH2 422.0 1.45 bond CT NH3 422.0 1.45 bond CT OH1 400.0 1.42 bond CT S 450.0 1.81 !bond FE CM 258.0 1.79! FROM KROEKER ET AL(JCP:72:4846) !bond FE NP 500.0 2.09 !bond FE NR 65.0 1.98! FROM NAGAI ET AL(1980) !bond FE OM 250.0 1.8! JUST A GUESS. bond H NH1 405.0 0.98! GELIN AND IR STRETCH 3200 CM 1 bond H NH2 405.0 0.98 bond H OH1 450.0 0.96! FROM IR STRETCH 3400 CM 1 bond HA C 350.0 1.08 bond HA CT 300.0 1.08 bond HC NC2 405.0 1.00 bond HC NH1 405.0 0.98 bond HC NH3 405.0 1.04 bond OC S 400.0 1.43 bond OM OM 600.0 1.23! STRETCHING CONSTANT JUST A GUESS. bond S S 500.0 2.02 angle C C C 70.0 106.5! FROM B. R. GELIN THESIS WITH HARMONIC angle C C CH2E 65.0 126.5! PART OF F TERMS INCORPORATED. ATOMS angle C C CH3E 65.0 126.5! WITH EXTENDED H COMPENSATED FOR LACK angle C C CR1E 70.0 122.5! OF H ANGLES. angle C C CT 70.0 126.5 angle C C HA 40.0 120.0! AMIDE PARAMETERS FIT BY LEAST SQUARES angle C C NH1 65.0 109.0! TO N-METHYL ACETAMIDE VIBRATIONS. angle C C NP 65.0 112.5! MINIMIZATION OF N-METHYL ACETAMIDE. angle C C NR 65.0 112.5 angle C C OH1 65.0 119.0 angle C C O 65.0 119.0 ! FOR NETROPSIN angle CH1E C N 20.0 117.5 angle CH1E C NH1 20.0 117.5 angle CH1E C O 85.0 121.5 angle CH1E C OC 85.0 117.5 angle CH1E C OH1 85.0 120.0 angle CH2E C CR1E 70.0 121.5 angle CH2E C N 20.0 117.5 angle CH2E C NH1 20.0 117.5 angle CH2E C NH2 20.0 117.5 angle CH2E C NC2 20.0 117.5 ! FOR NETROPSIN angle CH2E C NR 60.0 116.0 angle CH2E C O 85.0 121.6 angle CH2E C OC 85.0 118.5 angle CH2E C OH1 85.0 120.0 angle CH3E C N 20.0 117.5 angle CH3E C NH1 20.0 117.5 angle CH3E C O 85.0 121.5 angle CR1E C CR1E 65.0 120.5 angle CR1E C NH1 65.0 110.5! USED ONLY IN HIS, NOT IT TRP angle CR1E C NP 65.0 122.5 angle CR1E C NR 65.0 122.5 angle CR1E C OH1 65.0 119.0 angle CT C N 20.0 117.5 angle CT C NH1 20.0 117.5 angle CT C NH2 20.0 117.5 angle CT C O 85.0 121.5 angle CT C OC 85.0 118.5 angle CT C OH1 85.0 120.0 angle HA C NH1 40.0 120.0 angle HA C NH2 40.0 120.0 angle HA C NR 40.0 120.0 angle HA C O 85.0 121.5 angle N C O 85.0 121.0 angle NC2 C NC2 70.0 120.0 angle NC2 C NH1 70.0 120.0 angle NH1 C NR 70.0 120.0 angle NH1 C O 65.0 121.0 angle NH2 C O 65.0 121.0 angle O C OH1 85.0 120.0 angle OC C OC 85.0 122.5 angle OS C CH1E 70.0 125.3! FROM PARDNA10 angle OS C CH2E 70.0 125.3! - " - angle OS C O 70.0 120.0! - " - angle C CH1E CH1E 70.0 110.0 angle C CH1E CH2E 70.0 109.5 angle C CH1E CH3E 70.0 106.5 angle C CH1E N 45.0 111.6 angle C CH1E NH1 45.0 111.6 angle C CH1E NH2 45.0 111.6 angle C CH1E NH3 45.0 111.6 angle CH1E CH1E CH2E 45.0 112.5 angle CH1E CH1E CH3E 45.0 111.0 angle CH1E CH1E NH1 50.0 110.0 angle CH1E CH1E NH2 50.0 109.5 angle CH1E CH1E NH3 50.0 107.5 angle CH1E CH1E OH1 50.0 104.5 angle CH2E CH1E CH3E 50.0 111.5 angle CH2E CH1E N 65.0 104.0 angle CH2E CH1E NH1 65.0 110.0 angle CH2E CH1E NH2 65.0 110.0 angle CH2E CH1E NH3 65.0 110.0 angle CH3E CH1E CH3E 50.0 111.0 angle CH3E CH1E NH1 65.0 108.5 angle CH3E CH1E NH2 65.0 109.5 angle CH3E CH1E NH3 65.0 109.5 angle CH3E CH1E OH1 60.0 110.5 angle C CH2E CH1E 70.0 112.5 angle C CH2E CH2E 70.0 113.0 angle C CH2E NH1 70.0 111.6 angle C CH2E NH2 70.0 111.6 angle C CH2E NH3 70.0 111.6 angle CH1E CH2E CH1E 45.0 117.0 angle CH1E CH2E CH2E 45.0 112.5 angle CH1E CH2E CH3E 45.0 113.0 angle CH1E CH2E OH1 45.0 111.0 angle CH3E CH2E OH1 45.0 111.0 angle CH1E CH2E S 50.0 112.5 angle CH1E CH2E SH1E 50.0 112.5 angle CH2E CH2E CH2E 45.0 110.0 angle CH2E CH2E CH3E 45.0 111.0 angle CH2E CH2E N 65.0 105.0 angle CH2E CH2E NH1 65.0 111.0 angle CH2E CH2E NH2 65.0 109.5 angle CH2E CH2E NH3 65.0 110.5 angle CH2E CH2E S 50.0 112.5 angle C CR1E C 90.0 126.5 angle C CR1E CH2E 90.0 122.0 angle C CR1E CR1E 90.0 119.0 angle C CR1E NH1 90.0 109.5 angle C CR1E NR 90.0 106.5 angle CR1E CR1E CR1E 90.0 120.5 angle NH1 CR1E NH1 70.0 109.0 angle NH1 CR1E NR 70.0 109.0 angle C CT CT 70.0 109.5 angle C CT HA 70.0 109.5 angle C CT N 70.0 111.6 angle C CT NH1 70.0 111.6 angle C CT NH2 70.0 111.6 angle C CT NH3 70.0 111.6 angle CT CT CT 45.0 111.00 angle CT CT HA 40.0 109.50 angle CT CT N 65.0 105.00 angle CT CT NC2 65.0 110.00 angle CT CT NH1 65.0 110.00 angle CT CT NH2 65.0 110.00 angle CT CT NH3 65.0 110.00 angle CT CT OH1 50.0 109.50 angle CT CT S 50.0 112.50 angle HA CT HA 40.0 109.5 angle HA CT N 50.0 109.5 angle HA CT NC2 50.0 109.5 angle HA CT NH1 50.0 109.5 angle HA CT NH3 50.0 109.5 angle HA CT OH1 50.0 109.5 angle HA CT S 40.0 109.5 !angle FE CM OM 5.0 90.0! FROM KROEKER ET AL(1980) angle C N CH1E 80.0 120.0 angle C N CH2E 80.0 120.0 angle C N CT 80.0 120.0 angle CH1E N CH2E 60.0 110.0 angle CH1E N CH3E 60.0 110.0 angle CH2E N CH3E 60.0 109.5 angle CT N CT 60.0 110.0 angle C NC2 CT 80.0 120.0 angle C NC2 HC 35.0 120.0 angle CT NC2 HC 35.0 120.0 angle HC NC2 HC 40.0 120.0 angle C NH1 C 60.0 102.5 ! UNUSED (AND PROBABLY WRONG) angle C NH1 CH1E 77.5 120.0 angle C NH1 CH2E 77.5 120.0 angle C NH1 CH3E 77.5 120.0 angle C NH1 CR1E 60.0 108.0 angle C NH1 CT 80.0 120.0 angle C NH1 H 30.0 120.0 angle CH1E NH1 CH3E 60.0 120.0 angle CH1E NH1 H 35.0 120.0 angle CH2E NH1 CH3E 60.0 120.0 angle CH2E NH1 H 35.0 120.0 angle CH3E NH1 H 35.0 120.0 angle CR1E NH1 CR1E 65.0 110.0 angle CR1E NH1 H 35.0 120.0 angle CT NH1 H 35.0 120.0 angle C NH2 H 30.0 120.0 angle CH1E NH2 CH2E 60.0 120.0 angle CH1E NH2 H 35.0 120.0 angle CH2E NH2 H 35.0 120.0 angle CT NH2 H 35.0 120.0 angle H NH2 H 40.0 125.0 angle C NP C 70.0 102.5 !angle C NP FE 50.0 128.0! FORCE CONSTANT FROM PARMFIX9 angle C NR C 70.0 102.5 angle C NR CR1E 70.0 109.5 angle CH3E NR CR1E 70.0 109.5 ! FOR NETROPSIN angle CH3E NR C 70.0 109.5 ! FOR NETROPSIN angle CR1E NR CR1E 65.0 110.0 !angle CR1E NR FE 30.0 124.8! FORCE CONSTANT FROM PARMFIX9 angle CH1E NH3 HC 35.0 109.5 angle CH1E NH3 CH2E 35.0 109.5 angle CH2E NH3 HC 35.0 109.5 angle CT NH3 HC 35.0 109.5 angle HC NH3 HC 40.0 109.5 angle C OH1 H 50.0 109.5 angle CH1E OH1 H 35.0 109.5 angle CH2E OH1 H 35.0 109.5 angle CT OH1 H 35.0 109.5 !angle FE OM OM 0.0 180.0! DUMMY PARAMETER FOR PATCH AND ANALYSIS. angle C OS CH3E 46.5 120.5! FROM PARDNA10 angle CH2E S CH3E 50.0 99.5! FROM PARMFIX9, CHECK WITH IR angle CH2E S S 50.0 104.2 angle CT S CT 50.0 99.5! FORCE CONSTANTS FROM PARMFIX9 angle CT S S 50.0 104.2 angle OC S OC 85.0 109.5! FORCE CONSTANT JST A GUESS. !angle NP FE CM 5.0 90.0 !angle NP FE NP 50.0 90.0 !angle NP FE NR 5.0 115.0 !angle NP FE OM 5.0 90.0! JUST A GUESS FROM EXISTING FE CM DATA !angle NR FE CM 5.0 180.0 !angle NR FE OM 5.0 180.0! JUST A GUESS FROM EXISTING FE CM DATA dihe CH1E C N CH1E 10.0 2 180.0! PRO ISOM. BARRIER 20 KCAL/MOL. dihe CH2E C N CH1E 10.0 2 180.0 dihe CR1E C C CR1E 5.0 2 180.0! => TRP OOP. VIB 170CM 1 dihe CR1E C C C 2.5 2 180.0! SEE BEHLEN ET AL JCP 75:5685 81 dihe CR1E C C NH1 2.5 2 180.0 dihe X C CH1E X 0.0 3 0.0! FROM GELIN THESIS AMIDES dihe X C CH2E X 0.0 3 0.0! USING A SINGLE dihe X C CR1E X 10.0 2 180.0! DIHEDRAL PER BOND RATHER dihe X C CT X 0.0 3 0.0! THAN MULTIPLE TORSIONS. dihe X C N X 8.2 2 180.0! ALKANE TORSION REDUCED TO dihe X C NC2 X 8.2 2 180.0! 1.6 FROM 1.8 TO COINCIDE WITH dihe X C NH1 X 8.2 2 180.0! THE EXPERIMENTAL BARRIER. dihe X C NH2 X 8.2 2 180.0 dihe X C OH1 X 1.8 2 180.0 dihe X C OS X 1.8 2 180.0 ! INFERRED FROM C-OH1 dihe X CH1E CH1E X 1.6 3 0.0 dihe X CH1E CH2E X 1.6 3 0.0 dihe X CH1E N X 0.3 3 0.0! FROM HAGLER ET AL TABULATION OF dihe X CH1E NH1 X 0.3 3 0.0! EXP. DATA AND 6 31G CALC. dihe X CH1E NH2 X 1.8 3 0.0! PROTONATED SECONDARY AMINE dihe X CH1E NH3 X 0.6 3 0.0! 1/PROTON SO 3 FOR THE BOND dihe X CH1E OH1 X 0.5 3 0.0! CHANGED TO ROUGHLY MEOH dihe X CH2E CH2E X 1.6 3 0.0 dihe X CH2E N X 0.3 3 0.0! SEE CH1E COMMENTS dihe X CH2E NH1 X 0.3 3 0.0 dihe X CH2E NH2 X 0.6 3 0.0 dihe X CH2E NH3 X 0.6 3 0.0 dihe X CH2E OH1 X 0.5 3 0.0 dihe X CH2E S X 1.2 2 0.0 dihe X CT CT X 1.6 3 0.0 dihe X CT N X 0.3 3 0.0! SEE CH1E COMMENTS dihe X CT NC2 X 0.3 3 0.0 dihe X CT NH1 X 0.3 3 0.0 dihe X CT NH2 X 0.6 3 0.0 dihe X CT NH3 X 0.6 3 0.0 dihe X CT OH1 X 0.5 3 0.0 dihe X CT S X 1.2 2 0.0 !dihe X FE NR X 0.05 4 0.0 !dihe X FE CM X 0.05 4 0.0 !dihe X FE OM X 0.00 4 0.0 dihe X S S X 4.0 2 0.0! FROM EXP.R BARRI impr C C CR1E CH2E 90.0 0 0.0!GIVE 220 CM 1 METHYL OOP FOR TOLUENE. impr C CR1E C CH2E 90.0 0 0.0!USED HERE FOR TRP CG OUT OF PLANE impr C CR1E CR1E CH2E 90.0 0 0.0! PHE, AND TYR CG OOP impr C CR1E NH1 CH2E 90.0 0 0.0! HIS CG RING OOP impr C NH1 CR1E CH2E 90.0 0 0.0! impr C CR1E CR1E OH1 150.0 0 0.0! GIVE 249 CM 1 PHENOL OH OOP. impr C H H NH2 45.0 0 0.0! PRIMARY AMIDES (ASN AND GLN) OOP impr C OC OC CH1E 100.0 0 0.0! CARBOXYL OUT OF PLANE. impr C OC OC CH2E 100.0 0 0.0! impr C X X C 25.0 0 0.0! FROM BENZENE NORMAL MODE ANALYSIS impr C X X CH2E 90.0 0 0.0! FROM TOLUENE METHYL OOP. 217 CM 1 impr C X X CH3E 90.0 0 0.0 impr C X X CR1E 25.0 0 0.0 impr C X X H 75.0 0 0.0! FROM BENZENE NORMAL MODE ANALYSIS impr C X X HA 75.0 0 0.0! impr C X X NH1 100.0 0 0.0! AMIDES FIT TO N METHYL ACETAMIDE. impr C X X O 100.0 0 0.0 impr C X X OC 100.0 0 0.0 impr C X X OH1 150.0 0 0.0! USED FOR TYR HYDROXYL OOP impr CH1E X X CH1E 55.0 0 35.26439! CALCULATED TO BE THE SAME AS THE 3 impr CH1E X X CH2E 55.0 0 35.26439! H CH1E X ANGLES WITH K=40 impr CH1E X X CH3E 55.0 0 35.26439 impr CR1E X X CR1E 25.0 0 0.0! EXTENDED ATOM VERSION OF BENZENE impr CR1E X X NH1 25.0 0 0.0! SAME AS ABOVE FOR LACK OF VALUES !impr FE X X NP 20.0 0 0.0! FROM PARMFIX9 impr H X X O 45.0 0 0.0 impr N CH1E CH2E C 45.0 0 0.0! PROLINE NITROGENS impr N X X CH2E 45.0 0 0.0 impr N X X CT 45.0 0 0.0 impr NC2 X X CT 45.0 0 0.0 impr NC2 X X HC 45.0 0 0.0 impr NH1 X X CH1E 45.0 0 0.0 impr NH1 X X CH2E 45.0 0 0.0 impr NH1 X X CH3E 45.0 0 0.0 impr NH1 X X CT 45.0 0 0.0 impr NH1 X X H 45.0 0 0.0! AMIDES PROTON OOP impr NH1 X X NH1 25.0 0 0.0! impr NH1 X X NR 25.0 0 0.0 impr NH2 X X H 45.0 0 0.0 impr NR X X C 25.0 0 0.0 impr NR X X CR1E 25.0 0 0.0 impr NR X X CT 25.0 0 0.0 impr NR X X CH3E 25.0 0 0.0 ! FOR NETROPSIN {* nonbonding parameter section *} {* ============================ *} ! eps sigma eps(1:4) sigma(1:4) ! (kcal/mol) (A) ! --------------------------------------- NONBonded H 0.0498 1.4254 0.0498 1.4254 NONBonded HA 0.0450 2.6157 0.0450 2.6157 !- charged group. NONBonded HC 0.0498 1.0691 0.0498 1.0691 ! Reduced vdw radius ! NONBonded C 0.1200 3.7418 0.1000 3.3854 ! carbonyl carbon NONBonded CH1E 0.0486 4.2140 0.1000 3.3854 ! \ NONBonded CH2E 0.1142 3.9823 0.1000 3.3854 ! extended carbons NONBonded CH3E 0.1811 3.8576 0.1000 3.3854 ! / !! NONBonded CM 0.0262 4.4367 0.1000 3.3854 NONBonded CR1E 0.1200 3.7418 0.1000 3.3854 ! ring carbons !! NONBonded CT 0.0262 4.4367 0.1000 3.3854 ! NONBonded N 0.2384 2.8509 0.2384 2.8509 NONBonded NC2 0.2384 2.8509 0.2384 2.8509 NONBonded NH1 0.2384 2.8509 0.2384 2.8509 NONBonded NH2 0.2384 2.8509 0.2384 2.8509 NONBonded NH3 0.2384 2.8509 0.2384 2.8509 NONBonded NP 0.2384 2.8509 0.2384 2.8509 NONBonded NR 0.2384 2.8509 0.2384 2.8509 ! NONBonded O 0.1591 2.8509 0.1591 2.8509 NONBonded OC 0.6469 2.8509 0.6469 2.8509 NONBonded OH1 0.1591 2.8509 0.1591 2.8509 !! NONBonded OM 0.1591 2.8509 0.1591 2.8509 NONBonded OS 0.1591 2.8509 0.1591 2.8509 ! NONBonded S 0.0430 3.3676 0.0430 3.3676 NONBonded SH1E 0.0430 3.3676 0.0430 3.3676 ! !! NONBONDED FE 0.0000 1.1582 0.0000 1.1582 set echo=true end protomol/examples/decalanine_66/alanine.pdb0100644027616700000500000001276010237151526020334 0ustar pbrenne1dipREMARK FILENAME="/usr/people/nonella/xplor/benchmark1/ALANIN.PDB" REMARK PARAM11.PRO ( from PARAM6A ) REMARK =========== REMARK PROTEIN PARAMETERS: REMARK PEPTIDE GEOMETRY FROM RAMACHANDRAN ET AL BBA 359:298 (1974) REMARK TORSIONS FROM HAGLER ET AL JACS 98:4600 (1976) REMARK LENNARD-JONES NONBONDED PARAMETERS WITH SPECIAL TREATMENT OF 1:4 REMARK CARBON-CARBON INTERACTIONS: JORGENSON ET. AL. REMARK JACS 103:3976-3985 WITH 1-4 RC=1.80/0.1 REMARK DATE:16-Feb-89 11:21:32 created by user: nonella ATOM 1 CA ACE 1 -2.184 0.591 0.910 0.0 10.0 MAIN ATOM 2 C ACE 1 -0.665 0.627 0.966 100.0 0.0 MAIN ATOM 3 O ACE 1 -0.069 1.213 1.868 100.0 0.0 MAIN ATOM 4 N ALA 2 0.000 0.000 0.000 100.0 0.0 MAIN ATOM 5 H ALA 2 -0.490 -0.462 -0.712 100.0 0.0 MAIN ATOM 6 CA ALA 2 1.450 0.000 0.000 0.0 10.0 MAIN ATOM 7 CB ALA 2 1.969 -0.670 -1.262 100.0 0.0 MAIN ATOM 8 C ALA 2 2.010 1.413 0.000 100.0 0.0 MAIN ATOM 9 O ALA 2 2.911 1.748 0.767 100.0 0.0 MAIN ATOM 10 N ALA 3 1.488 2.280 -0.863 100.0 0.0 MAIN ATOM 11 H ALA 3 0.770 1.998 -1.467 100.0 0.0 MAIN ATOM 12 CA ALA 3 1.981 3.643 -0.909 0.0 10.0 MAIN ATOM 13 CB ALA 3 1.147 4.464 -1.880 100.0 0.0 MAIN ATOM 14 C ALA 3 1.865 4.326 0.444 100.0 0.0 MAIN ATOM 15 O ALA 3 2.801 4.963 0.924 100.0 0.0 MAIN ATOM 16 N ALA 4 0.710 4.211 1.093 100.0 0.0 MAIN ATOM 17 H ALA 4 -0.026 3.700 0.697 100.0 0.0 MAIN ATOM 18 CA ALA 4 0.541 4.841 2.388 0.0 10.0 MAIN ATOM 19 CB ALA 4 -0.809 4.462 2.976 100.0 0.0 MAIN ATOM 20 C ALA 4 1.591 4.371 3.381 100.0 0.0 MAIN ATOM 21 O ALA 4 2.212 5.167 4.085 100.0 0.0 MAIN ATOM 22 N ALA 5 1.818 3.063 3.463 100.0 0.0 MAIN ATOM 23 H ALA 5 1.315 2.443 2.895 100.0 0.0 MAIN ATOM 24 CA ALA 5 2.809 2.556 4.392 0.0 10.0 MAIN ATOM 25 CB ALA 5 2.970 1.055 4.209 100.0 0.0 MAIN ATOM 26 C ALA 5 4.176 3.170 4.142 100.0 0.0 MAIN ATOM 27 O ALA 5 4.859 3.615 5.064 100.0 0.0 MAIN ATOM 28 N ALA 6 4.611 3.212 2.886 100.0 0.0 MAIN ATOM 29 H ALA 6 4.055 2.853 2.163 100.0 0.0 MAIN ATOM 30 CA ALA 6 5.908 3.786 2.586 0.0 10.0 MAIN ATOM 31 CB ALA 6 6.121 3.830 1.082 100.0 0.0 MAIN ATOM 32 C ALA 6 6.012 5.221 3.079 100.0 0.0 MAIN ATOM 33 O ALA 6 6.992 5.614 3.710 100.0 0.0 MAIN ATOM 34 N ALA 7 5.002 6.040 2.802 100.0 0.0 MAIN ATOM 35 H ALA 7 4.228 5.711 2.297 100.0 0.0 MAIN ATOM 36 CA ALA 7 5.044 7.419 3.245 0.0 10.0 MAIN ATOM 37 CB ALA 7 3.730 8.110 2.918 100.0 0.0 MAIN ATOM 38 C ALA 7 5.219 7.518 4.752 100.0 0.0 MAIN ATOM 39 O ALA 7 6.045 8.278 5.255 100.0 0.0 MAIN ATOM 40 N ALA 8 4.445 6.748 5.512 100.0 0.0 MAIN ATOM 41 H ALA 8 3.792 6.148 5.096 100.0 0.0 MAIN ATOM 42 CA ALA 8 4.566 6.799 6.956 0.0 10.0 MAIN ATOM 43 CB ALA 8 3.670 5.747 7.589 100.0 0.0 MAIN ATOM 44 C ALA 8 5.984 6.488 7.409 100.0 0.0 MAIN ATOM 45 O ALA 8 6.560 7.186 8.241 100.0 0.0 MAIN ATOM 46 N ALA 9 6.582 5.429 6.871 100.0 0.0 MAIN ATOM 47 H ALA 9 6.109 4.882 6.209 100.0 0.0 MAIN ATOM 48 CA ALA 9 7.934 5.082 7.264 0.0 10.0 MAIN ATOM 49 CB ALA 9 8.436 3.918 6.425 100.0 0.0 MAIN ATOM 50 C ALA 9 8.898 6.233 7.027 100.0 0.0 MAIN ATOM 51 O ALA 9 9.705 6.584 7.887 100.0 0.0 MAIN ATOM 52 N ALA 10 8.839 6.851 5.851 100.0 0.0 MAIN ATOM 53 H ALA 10 8.190 6.560 5.176 100.0 0.0 MAIN ATOM 54 CA ALA 10 9.733 7.956 5.567 0.0 10.0 MAIN ATOM 55 CB ALA 10 9.388 8.570 4.219 100.0 0.0 MAIN ATOM 56 C ALA 10 9.595 9.067 6.595 100.0 0.0 MAIN ATOM 57 O ALA 10 10.580 9.587 7.117 100.0 0.0 MAIN ATOM 58 N ALA 11 8.364 9.460 6.912 100.0 0.0 MAIN ATOM 59 H ALA 11 7.590 9.036 6.488 100.0 0.0 MAIN ATOM 60 CA ALA 11 8.169 10.516 7.887 0.0 10.0 MAIN ATOM 61 CB ALA 11 6.686 10.695 8.168 100.0 0.0 MAIN ATOM 62 C ALA 11 8.823 10.177 9.217 100.0 0.0 MAIN ATOM 63 O ALA 11 9.523 10.992 9.815 100.0 0.0 MAIN ATOM 64 N CBX 12 8.610 8.962 9.714 100.0 0.0 MAIN ATOM 65 H CBX 12 8.050 8.324 9.225 100.0 0.0 MAIN ATOM 66 CA CBX 12 9.223 8.571 11.014 0.0 10.0 MAIN END protomol/examples/decalanine_66/alanine.psf0100644027616700000500000003123110237151526020351 0ustar pbrenne1dipPSF 11 !NTITLE REMARKS FILENAME="/usr/people/nonella/xplor/benchmark1/ALANIN.PSF" REMARKS PARAM11.PRO ( from PARAM6A ) REMARKS =========== REMARKS PROTEIN PARAMETERS: REMARKS PEPTIDE GEOMETRY FROM RAMACHANDRAN ET AL BBA 359:298 (1974) REMARKS TORSIONS FROM HAGLER ET AL JACS 98:4600 (1976) REMARKS LENNARD-JONES NONBONDED PARAMETERS WITH SPECIAL TREATMENT OF 1:4 REMARKS CARBON-CARBON INTERACTIONS: JORGENSON ET. AL. REMARKS JACS 103:3976-3985 WITH 1-4 RC=1.80/0.1 REMARKS REMARKS DATE:16-Feb-89 11:21:29 created by user: nonella 66 !NATOM 1 MAIN 1 ACE CA CH3E 0.000000E+00 15.0350 0 2 MAIN 1 ACE C C 0.450000 12.0110 0 3 MAIN 1 ACE O O -0.450000 15.9994 0 4 MAIN 2 ALA N NH1 -0.350000 14.0067 0 5 MAIN 2 ALA H H 0.250000 1.00800 0 6 MAIN 2 ALA CA CH1E 0.100000 13.0190 0 7 MAIN 2 ALA CB CH3E 0.000000E+00 15.0350 0 8 MAIN 2 ALA C C 0.450000 12.0110 0 9 MAIN 2 ALA O O -0.450000 15.9994 0 10 MAIN 3 ALA N NH1 -0.350000 14.0067 0 11 MAIN 3 ALA H H 0.250000 1.00800 0 12 MAIN 3 ALA CA CH1E 0.100000 13.0190 0 13 MAIN 3 ALA CB CH3E 0.000000E+00 15.0350 0 14 MAIN 3 ALA C C 0.450000 12.0110 0 15 MAIN 3 ALA O O -0.450000 15.9994 0 16 MAIN 4 ALA N NH1 -0.350000 14.0067 0 17 MAIN 4 ALA H H 0.250000 1.00800 0 18 MAIN 4 ALA CA CH1E 0.100000 13.0190 0 19 MAIN 4 ALA CB CH3E 0.000000E+00 15.0350 0 20 MAIN 4 ALA C C 0.450000 12.0110 0 21 MAIN 4 ALA O O -0.450000 15.9994 0 22 MAIN 5 ALA N NH1 -0.350000 14.0067 0 23 MAIN 5 ALA H H 0.250000 1.00800 0 24 MAIN 5 ALA CA CH1E 0.100000 13.0190 0 25 MAIN 5 ALA CB CH3E 0.000000E+00 15.0350 0 26 MAIN 5 ALA C C 0.450000 12.0110 0 27 MAIN 5 ALA O O -0.450000 15.9994 0 28 MAIN 6 ALA N NH1 -0.350000 14.0067 0 29 MAIN 6 ALA H H 0.250000 1.00800 0 30 MAIN 6 ALA CA CH1E 0.100000 13.0190 0 31 MAIN 6 ALA CB CH3E 0.000000E+00 15.0350 0 32 MAIN 6 ALA C C 0.450000 12.0110 0 33 MAIN 6 ALA O O -0.450000 15.9994 0 34 MAIN 7 ALA N NH1 -0.350000 14.0067 0 35 MAIN 7 ALA H H 0.250000 1.00800 0 36 MAIN 7 ALA CA CH1E 0.100000 13.0190 0 37 MAIN 7 ALA CB CH3E 0.000000E+00 15.0350 0 38 MAIN 7 ALA C C 0.450000 12.0110 0 39 MAIN 7 ALA O O -0.450000 15.9994 0 40 MAIN 8 ALA N NH1 -0.350000 14.0067 0 41 MAIN 8 ALA H H 0.250000 1.00800 0 42 MAIN 8 ALA CA CH1E 0.100000 13.0190 0 43 MAIN 8 ALA CB CH3E 0.000000E+00 15.0350 0 44 MAIN 8 ALA C C 0.450000 12.0110 0 45 MAIN 8 ALA O O -0.450000 15.9994 0 46 MAIN 9 ALA N NH1 -0.350000 14.0067 0 47 MAIN 9 ALA H H 0.250000 1.00800 0 48 MAIN 9 ALA CA CH1E 0.100000 13.0190 0 49 MAIN 9 ALA CB CH3E 0.000000E+00 15.0350 0 50 MAIN 9 ALA C C 0.450000 12.0110 0 51 MAIN 9 ALA O O -0.450000 15.9994 0 52 MAIN 10 ALA N NH1 -0.350000 14.0067 0 53 MAIN 10 ALA H H 0.250000 1.00800 0 54 MAIN 10 ALA CA CH1E 0.100000 13.0190 0 55 MAIN 10 ALA CB CH3E 0.000000E+00 15.0350 0 56 MAIN 10 ALA C C 0.450000 12.0110 0 57 MAIN 10 ALA O O -0.450000 15.9994 0 58 MAIN 11 ALA N NH1 -0.350000 14.0067 0 59 MAIN 11 ALA H H 0.250000 1.00800 0 60 MAIN 11 ALA CA CH1E 0.100000 13.0190 0 61 MAIN 11 ALA CB CH3E 0.000000E+00 15.0350 0 62 MAIN 11 ALA C C 0.450000 12.0110 0 63 MAIN 11 ALA O O -0.450000 15.9994 0 64 MAIN 12 CBX N NH1 -0.350000 14.0067 0 65 MAIN 12 CBX H H 0.250000 1.00800 0 66 MAIN 12 CBX CA CH3E 0.100000 15.0350 0 65 !NBOND: bonds 1 2 2 3 4 6 6 8 8 9 4 5 6 7 2 4 10 12 12 14 14 15 10 11 12 13 8 10 16 18 18 20 20 21 16 17 18 19 14 16 22 24 24 26 26 27 22 23 24 25 20 22 28 30 30 32 32 33 28 29 30 31 26 28 34 36 36 38 38 39 34 35 36 37 32 34 40 42 42 44 44 45 40 41 42 43 38 40 46 48 48 50 50 51 46 47 48 49 44 46 52 54 54 56 56 57 52 53 54 55 50 52 58 60 60 62 62 63 58 59 60 61 56 58 64 66 64 65 62 64 96 !NTHETA: angles 1 2 3 4 6 8 6 4 5 4 6 7 6 8 9 8 6 7 1 2 4 3 2 4 2 4 6 2 4 5 10 12 14 12 10 11 10 12 13 12 14 15 14 12 13 6 8 10 9 8 10 8 10 12 8 10 11 16 18 20 18 16 17 16 18 19 18 20 21 20 18 19 12 14 16 15 14 16 14 16 18 14 16 17 22 24 26 24 22 23 22 24 25 24 26 27 26 24 25 18 20 22 21 20 22 20 22 24 20 22 23 28 30 32 30 28 29 28 30 31 30 32 33 32 30 31 24 26 28 27 26 28 26 28 30 26 28 29 34 36 38 36 34 35 34 36 37 36 38 39 38 36 37 30 32 34 33 32 34 32 34 36 32 34 35 40 42 44 42 40 41 40 42 43 42 44 45 44 42 43 36 38 40 39 38 40 38 40 42 38 40 41 46 48 50 48 46 47 46 48 49 48 50 51 50 48 49 42 44 46 45 44 46 44 46 48 44 46 47 52 54 56 54 52 53 52 54 55 54 56 57 56 54 55 48 50 52 51 50 52 50 52 54 50 52 53 58 60 62 60 58 59 58 60 61 60 62 63 62 60 61 54 56 58 57 56 58 56 58 60 56 58 59 66 64 65 60 62 64 63 62 64 62 64 66 62 64 65 31 !NPHI: dihedrals 2 4 6 8 1 2 4 6 8 10 12 14 4 6 8 10 6 8 10 12 14 16 18 20 10 12 14 16 12 14 16 18 20 22 24 26 16 18 20 22 18 20 22 24 26 28 30 32 22 24 26 28 24 26 28 30 32 34 36 38 28 30 32 34 30 32 34 36 38 40 42 44 34 36 38 40 36 38 40 42 44 46 48 50 40 42 44 46 42 44 46 48 50 52 54 56 46 48 50 52 48 50 52 54 56 58 60 62 52 54 56 58 54 56 58 60 58 60 62 64 60 62 64 66 32 !NIMPHI: impropers 6 4 8 7 2 1 4 3 4 2 6 5 12 10 14 13 8 6 10 9 10 8 12 11 18 16 20 19 14 12 16 15 16 14 18 17 24 22 26 25 20 18 22 21 22 20 24 23 30 28 32 31 26 24 28 27 28 26 30 29 36 34 38 37 32 30 34 33 34 32 36 35 42 40 44 43 38 36 40 39 40 38 42 41 48 46 50 49 44 42 46 45 46 44 48 47 54 52 56 55 50 48 52 51 52 50 54 53 60 58 62 61 56 54 58 57 58 56 60 59 62 60 64 63 64 62 66 65 11 !NDON: donors 4 5 10 11 16 17 22 23 28 29 34 35 40 41 46 47 52 53 58 59 64 65 11 !NACC: acceptors 3 2 9 8 15 14 21 20 27 26 33 32 39 38 45 44 51 50 57 56 63 62 0 !NNB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33 0 !NGRP 0 0 0 1 0 0 3 0 0 6 0 0 7 0 0 9 0 0 12 0 0 13 0 0 15 0 0 18 0 0 19 0 0 21 0 0 24 0 0 25 0 0 27 0 0 30 0 0 31 0 0 33 0 0 36 0 0 37 0 0 39 0 0 42 0 0 43 0 0 45 0 0 48 0 0 49 0 0 51 0 0 54 0 0 55 0 0 57 0 0 60 0 0 61 0 0 63 0 0 protomol/examples/decalanine_66/alanine.testSet0100644027616700000500000000011110237151526021205 0ustar pbrenne1dip2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 protomol/examples/decalanine_66/alanine.water.pdb0100644027616700000500000021246710237151526021463 0ustar pbrenne1dipREMARK original generated coordinate pdb file ATOM 1 CA ACE 1 -2.184 0.591 0.910 1.00 0.00 MAIN ATOM 2 C ACE 1 -0.665 0.627 0.966 1.00 0.00 MAIN ATOM 3 O ACE 1 -0.069 1.213 1.868 1.00 0.00 MAIN ATOM 4 N ALA 2 0.000 0.000 0.000 1.00 0.00 MAIN ATOM 5 H ALA 2 -0.490 -0.462 -0.712 1.00 0.00 MAIN ATOM 6 CA ALA 2 1.450 0.000 0.000 1.00 0.00 MAIN ATOM 7 CB ALA 2 1.969 -0.670 -1.262 1.00 0.00 MAIN ATOM 8 C ALA 2 2.010 1.413 0.000 1.00 0.00 MAIN ATOM 9 O ALA 2 2.911 1.748 0.767 1.00 0.00 MAIN ATOM 10 N ALA 3 1.488 2.280 -0.863 1.00 0.00 MAIN ATOM 11 H ALA 3 0.770 1.998 -1.467 1.00 0.00 MAIN ATOM 12 CA ALA 3 1.981 3.643 -0.909 1.00 0.00 MAIN ATOM 13 CB ALA 3 1.147 4.464 -1.880 1.00 0.00 MAIN ATOM 14 C ALA 3 1.865 4.326 0.444 1.00 0.00 MAIN ATOM 15 O ALA 3 2.801 4.963 0.924 1.00 0.00 MAIN ATOM 16 N ALA 4 0.710 4.211 1.093 1.00 0.00 MAIN ATOM 17 H ALA 4 -0.026 3.700 0.697 1.00 0.00 MAIN ATOM 18 CA ALA 4 0.541 4.841 2.388 1.00 0.00 MAIN ATOM 19 CB ALA 4 -0.809 4.462 2.976 1.00 0.00 MAIN ATOM 20 C ALA 4 1.591 4.371 3.381 1.00 0.00 MAIN ATOM 21 O ALA 4 2.212 5.167 4.085 1.00 0.00 MAIN ATOM 22 N ALA 5 1.818 3.063 3.463 1.00 0.00 MAIN ATOM 23 H ALA 5 1.315 2.443 2.895 1.00 0.00 MAIN ATOM 24 CA ALA 5 2.809 2.556 4.392 1.00 0.00 MAIN ATOM 25 CB ALA 5 2.970 1.055 4.209 1.00 0.00 MAIN ATOM 26 C ALA 5 4.176 3.170 4.142 1.00 0.00 MAIN ATOM 27 O ALA 5 4.859 3.615 5.064 1.00 0.00 MAIN ATOM 28 N ALA 6 4.611 3.212 2.886 1.00 0.00 MAIN ATOM 29 H ALA 6 4.055 2.853 2.163 1.00 0.00 MAIN ATOM 30 CA ALA 6 5.908 3.786 2.586 1.00 0.00 MAIN ATOM 31 CB ALA 6 6.121 3.830 1.082 1.00 0.00 MAIN ATOM 32 C ALA 6 6.012 5.221 3.079 1.00 0.00 MAIN ATOM 33 O ALA 6 6.992 5.614 3.710 1.00 0.00 MAIN ATOM 34 N ALA 7 5.002 6.040 2.802 1.00 0.00 MAIN ATOM 35 H ALA 7 4.228 5.711 2.297 1.00 0.00 MAIN ATOM 36 CA ALA 7 5.044 7.419 3.245 1.00 0.00 MAIN ATOM 37 CB ALA 7 3.730 8.110 2.918 1.00 0.00 MAIN ATOM 38 C ALA 7 5.219 7.518 4.752 1.00 0.00 MAIN ATOM 39 O ALA 7 6.045 8.278 5.255 1.00 0.00 MAIN ATOM 40 N ALA 8 4.445 6.748 5.512 1.00 0.00 MAIN ATOM 41 H ALA 8 3.792 6.148 5.096 1.00 0.00 MAIN ATOM 42 CA ALA 8 4.566 6.799 6.956 1.00 0.00 MAIN ATOM 43 CB ALA 8 3.670 5.747 7.589 1.00 0.00 MAIN ATOM 44 C ALA 8 5.984 6.488 7.409 1.00 0.00 MAIN ATOM 45 O ALA 8 6.560 7.186 8.241 1.00 0.00 MAIN ATOM 46 N ALA 9 6.582 5.429 6.871 1.00 0.00 MAIN ATOM 47 H ALA 9 6.109 4.882 6.209 1.00 0.00 MAIN ATOM 48 CA ALA 9 7.934 5.082 7.264 1.00 0.00 MAIN ATOM 49 CB ALA 9 8.436 3.918 6.425 1.00 0.00 MAIN ATOM 50 C ALA 9 8.898 6.233 7.027 1.00 0.00 MAIN ATOM 51 O ALA 9 9.705 6.584 7.887 1.00 0.00 MAIN ATOM 52 N ALA 10 8.839 6.851 5.851 1.00 0.00 MAIN ATOM 53 H ALA 10 8.190 6.560 5.176 1.00 0.00 MAIN ATOM 54 CA ALA 10 9.733 7.956 5.567 1.00 0.00 MAIN ATOM 55 CB ALA 10 9.388 8.570 4.219 1.00 0.00 MAIN ATOM 56 C ALA 10 9.595 9.067 6.595 1.00 0.00 MAIN ATOM 57 O ALA 10 10.580 9.587 7.117 1.00 0.00 MAIN ATOM 58 N ALA 11 8.364 9.460 6.912 1.00 0.00 MAIN ATOM 59 H ALA 11 7.590 9.036 6.488 1.00 0.00 MAIN ATOM 60 CA ALA 11 8.169 10.516 7.887 1.00 0.00 MAIN ATOM 61 CB ALA 11 6.686 10.695 8.168 1.00 0.00 MAIN ATOM 62 C ALA 11 8.823 10.177 9.217 1.00 0.00 MAIN ATOM 63 O ALA 11 9.523 10.992 9.815 1.00 0.00 MAIN ATOM 64 N CBX 12 8.610 8.962 9.714 1.00 0.00 MAIN ATOM 65 H CBX 12 8.050 8.324 9.225 1.00 0.00 MAIN ATOM 66 CA CBX 12 9.223 8.571 11.014 1.00 0.00 MAIN ATOM 67 OH2 TIP3 5 -3.516 4.412 9.024 1.00 0.00 WT1 ATOM 68 H1 TIP3 5 -3.960 4.781 8.221 1.00 0.00 WT1 ATOM 69 H2 TIP3 5 -4.092 4.709 9.747 1.00 0.00 WT1 ATOM 70 OH2 TIP3 7 -1.151 -0.794 14.011 1.00 0.00 WT1 ATOM 71 H1 TIP3 7 -1.106 -0.446 14.918 1.00 0.00 WT1 ATOM 72 H2 TIP3 7 -0.592 -1.582 14.081 1.00 0.00 WT1 ATOM 73 OH2 TIP3 21 -1.998 11.026 5.192 1.00 0.00 WT1 ATOM 74 H1 TIP3 21 -1.101 11.309 4.936 1.00 0.00 WT1 ATOM 75 H2 TIP3 21 -1.847 10.162 5.610 1.00 0.00 WT1 ATOM 76 OH2 TIP3 29 1.140 8.141 14.452 1.00 0.00 WT1 ATOM 77 H1 TIP3 29 1.449 7.678 15.232 1.00 0.00 WT1 ATOM 78 H2 TIP3 29 1.322 7.446 13.765 1.00 0.00 WT1 ATOM 79 OH2 TIP3 44 -3.398 10.648 -5.570 1.00 0.00 WT1 ATOM 80 H1 TIP3 44 -3.403 9.718 -5.684 1.00 0.00 WT1 ATOM 81 H2 TIP3 44 -2.656 10.910 -6.099 1.00 0.00 WT1 ATOM 82 OH2 TIP3 46 -0.979 1.321 11.562 1.00 0.00 WT1 ATOM 83 H1 TIP3 46 -0.402 1.677 12.272 1.00 0.00 WT1 ATOM 84 H2 TIP3 46 -1.875 1.392 11.920 1.00 0.00 WT1 ATOM 85 OH2 TIP3 47 8.942 9.031 -2.303 1.00 0.00 WT1 ATOM 86 H1 TIP3 47 8.886 8.602 -3.154 1.00 0.00 WT1 ATOM 87 H2 TIP3 47 9.621 9.784 -2.435 1.00 0.00 WT1 ATOM 88 OH2 TIP3 48 -4.434 3.174 2.749 1.00 0.00 WT1 ATOM 89 H1 TIP3 48 -5.074 2.620 3.118 1.00 0.00 WT1 ATOM 90 H2 TIP3 48 -5.020 3.575 2.082 1.00 0.00 WT1 ATOM 91 OH2 TIP3 52 -3.249 10.525 15.229 1.00 0.00 WT1 ATOM 92 H1 TIP3 52 -2.314 10.364 15.105 1.00 0.00 WT1 ATOM 93 H2 TIP3 52 -3.529 9.697 15.701 1.00 0.00 WT1 ATOM 94 OH2 TIP3 67 -7.182 -0.003 7.711 1.00 0.00 WT1 ATOM 95 H1 TIP3 67 -6.701 0.320 6.950 1.00 0.00 WT1 ATOM 96 H2 TIP3 67 -6.576 0.111 8.467 1.00 0.00 WT1 ATOM 97 OH2 TIP3 87 -5.523 1.011 -4.937 1.00 0.00 WT1 ATOM 98 H1 TIP3 87 -5.241 0.069 -4.899 1.00 0.00 WT1 ATOM 99 H2 TIP3 87 -6.406 0.929 -5.397 1.00 0.00 WT1 ATOM 100 OH2 TIP3 88 -2.363 14.933 4.359 1.00 0.00 WT1 ATOM 101 H1 TIP3 88 -1.718 15.112 5.083 1.00 0.00 WT1 ATOM 102 H2 TIP3 88 -1.800 15.244 3.576 1.00 0.00 WT1 ATOM 103 OH2 TIP3 90 7.838 15.185 5.951 1.00 0.00 WT1 ATOM 104 H1 TIP3 90 7.038 15.139 6.412 1.00 0.00 WT1 ATOM 105 H2 TIP3 90 7.489 15.387 5.038 1.00 0.00 WT1 ATOM 106 OH2 TIP3 111 3.242 1.934 -4.476 1.00 0.00 WT1 ATOM 107 H1 TIP3 111 3.577 2.731 -4.886 1.00 0.00 WT1 ATOM 108 H2 TIP3 111 3.064 2.219 -3.572 1.00 0.00 WT1 ATOM 109 OH2 TIP3 130 3.742 -0.305 -5.862 1.00 0.00 WT1 ATOM 110 H1 TIP3 130 3.954 -0.901 -5.126 1.00 0.00 WT1 ATOM 111 H2 TIP3 130 3.473 0.542 -5.387 1.00 0.00 WT1 ATOM 112 OH2 TIP3 133 1.463 -1.356 12.398 1.00 0.00 WT1 ATOM 113 H1 TIP3 133 0.780 -2.059 12.446 1.00 0.00 WT1 ATOM 114 H2 TIP3 133 0.859 -0.606 12.273 1.00 0.00 WT1 ATOM 115 OH2 TIP3 150 -2.885 12.104 0.289 1.00 0.00 WT1 ATOM 116 H1 TIP3 150 -3.881 12.133 0.442 1.00 0.00 WT1 ATOM 117 H2 TIP3 150 -2.651 13.085 0.044 1.00 0.00 WT1 ATOM 118 OH2 TIP3 167 -5.010 12.798 -4.668 1.00 0.00 WT1 ATOM 119 H1 TIP3 167 -4.552 11.958 -4.677 1.00 0.00 WT1 ATOM 120 H2 TIP3 167 -4.253 13.450 -4.599 1.00 0.00 WT1 ATOM 121 OH2 TIP3 239 6.428 12.010 11.742 1.00 0.00 WT1 ATOM 122 H1 TIP3 239 6.560 11.744 12.628 1.00 0.00 WT1 ATOM 123 H2 TIP3 239 7.342 12.161 11.467 1.00 0.00 WT1 ATOM 124 OH2 TIP3 424 8.230 0.899 -4.379 1.00 0.00 WT1 ATOM 125 H1 TIP3 424 9.040 1.188 -4.752 1.00 0.00 WT1 ATOM 126 H2 TIP3 424 7.624 1.030 -5.209 1.00 0.00 WT1 ATOM 127 OH2 TIP3 450 -0.124 -3.596 12.950 1.00 0.00 WT1 ATOM 128 H1 TIP3 450 0.466 -4.051 13.648 1.00 0.00 WT1 ATOM 129 H2 TIP3 450 -1.036 -3.874 13.155 1.00 0.00 WT1 ATOM 130 OH2 TIP3 465 6.707 -3.751 -3.888 1.00 0.00 WT1 ATOM 131 H1 TIP3 465 7.014 -2.989 -3.458 1.00 0.00 WT1 ATOM 132 H2 TIP3 465 6.028 -4.093 -3.302 1.00 0.00 WT1 ATOM 133 OH2 TIP3 484 3.098 -5.030 -4.827 1.00 0.00 WT1 ATOM 134 H1 TIP3 484 3.183 -4.711 -3.864 1.00 0.00 WT1 ATOM 135 H2 TIP3 484 2.559 -4.347 -5.213 1.00 0.00 WT1 ATOM 136 OH2 TIP3 486 -3.781 -0.983 2.935 1.00 0.00 WT1 ATOM 137 H1 TIP3 486 -4.075 -0.398 2.217 1.00 0.00 WT1 ATOM 138 H2 TIP3 486 -3.367 -1.697 2.447 1.00 0.00 WT1 ATOM 139 OH2 TIP3 489 -3.908 1.795 12.445 1.00 0.00 WT1 ATOM 140 H1 TIP3 489 -4.412 1.321 13.084 1.00 0.00 WT1 ATOM 141 H2 TIP3 489 -3.580 2.618 12.873 1.00 0.00 WT1 ATOM 142 OH2 TIP3 503 -4.065 4.655 6.278 1.00 0.00 WT1 ATOM 143 H1 TIP3 503 -3.586 5.230 5.632 1.00 0.00 WT1 ATOM 144 H2 TIP3 503 -3.744 3.760 6.082 1.00 0.00 WT1 ATOM 145 OH2 TIP3 506 -4.806 0.136 9.373 1.00 0.00 WT1 ATOM 146 H1 TIP3 506 -5.027 0.491 10.219 1.00 0.00 WT1 ATOM 147 H2 TIP3 506 -3.883 0.362 9.246 1.00 0.00 WT1 ATOM 148 OH2 TIP3 509 -3.167 -1.765 12.538 1.00 0.00 WT1 ATOM 149 H1 TIP3 509 -4.042 -1.628 12.252 1.00 0.00 WT1 ATOM 150 H2 TIP3 509 -2.602 -0.943 12.415 1.00 0.00 WT1 ATOM 151 OH2 TIP3 511 -4.840 14.802 14.751 1.00 0.00 WT1 ATOM 152 H1 TIP3 511 -4.252 15.151 14.065 1.00 0.00 WT1 ATOM 153 H2 TIP3 511 -5.717 14.878 14.258 1.00 0.00 WT1 ATOM 154 OH2 TIP3 512 13.429 7.946 4.186 1.00 0.00 WT1 ATOM 155 H1 TIP3 512 13.555 8.289 3.338 1.00 0.00 WT1 ATOM 156 H2 TIP3 512 12.435 8.146 4.370 1.00 0.00 WT1 ATOM 157 OH2 TIP3 517 7.342 4.862 13.257 1.00 0.00 WT1 ATOM 158 H1 TIP3 517 6.978 4.063 13.623 1.00 0.00 WT1 ATOM 159 H2 TIP3 517 7.282 4.750 12.314 1.00 0.00 WT1 ATOM 160 OH2 TIP3 533 -1.611 9.134 12.210 1.00 0.00 WT1 ATOM 161 H1 TIP3 533 -1.225 9.669 12.928 1.00 0.00 WT1 ATOM 162 H2 TIP3 533 -1.315 9.743 11.451 1.00 0.00 WT1 ATOM 163 OH2 TIP3 534 9.099 1.684 15.901 1.00 0.00 WT1 ATOM 164 H1 TIP3 534 8.456 2.388 15.569 1.00 0.00 WT1 ATOM 165 H2 TIP3 534 8.789 0.890 15.499 1.00 0.00 WT1 ATOM 166 OH2 TIP3 543 -1.726 7.427 -2.291 1.00 0.00 WT1 ATOM 167 H1 TIP3 543 -1.511 7.349 -3.268 1.00 0.00 WT1 ATOM 168 H2 TIP3 543 -2.285 8.224 -2.223 1.00 0.00 WT1 ATOM 169 OH2 TIP3 550 -2.632 -4.300 13.450 1.00 0.00 WT1 ATOM 170 H1 TIP3 550 -2.910 -3.476 13.073 1.00 0.00 WT1 ATOM 171 H2 TIP3 550 -2.949 -4.869 12.691 1.00 0.00 WT1 ATOM 172 OH2 TIP3 554 -2.024 8.074 1.074 1.00 0.00 WT1 ATOM 173 H1 TIP3 554 -1.136 7.752 1.327 1.00 0.00 WT1 ATOM 174 H2 TIP3 554 -2.176 8.823 1.648 1.00 0.00 WT1 ATOM 175 OH2 TIP3 558 3.206 0.716 11.948 1.00 0.00 WT1 ATOM 176 H1 TIP3 558 3.504 0.814 12.851 1.00 0.00 WT1 ATOM 177 H2 TIP3 558 2.660 -0.081 12.041 1.00 0.00 WT1 ATOM 178 OH2 TIP3 575 -4.840 4.901 -4.256 1.00 0.00 WT1 ATOM 179 H1 TIP3 575 -5.062 5.083 -3.327 1.00 0.00 WT1 ATOM 180 H2 TIP3 575 -4.237 4.121 -4.263 1.00 0.00 WT1 ATOM 181 OH2 TIP3 595 -0.273 13.788 10.455 1.00 0.00 WT1 ATOM 182 H1 TIP3 595 0.333 14.448 10.077 1.00 0.00 WT1 ATOM 183 H2 TIP3 595 -0.869 13.466 9.708 1.00 0.00 WT1 ATOM 184 OH2 TIP3 634 3.745 9.080 -1.162 1.00 0.00 WT1 ATOM 185 H1 TIP3 634 2.866 8.871 -1.472 1.00 0.00 WT1 ATOM 186 H2 TIP3 634 4.217 8.209 -1.163 1.00 0.00 WT1 ATOM 187 OH2 TIP3 659 9.323 11.500 14.126 1.00 0.00 WT1 ATOM 188 H1 TIP3 659 10.042 11.336 13.415 1.00 0.00 WT1 ATOM 189 H2 TIP3 659 8.846 10.627 14.202 1.00 0.00 WT1 ATOM 190 OH2 TIP3 822 -6.437 -1.201 3.699 1.00 0.00 WT1 ATOM 191 H1 TIP3 822 -6.758 -2.102 3.459 1.00 0.00 WT1 ATOM 192 H2 TIP3 822 -5.679 -1.085 3.110 1.00 0.00 WT1 ATOM 193 OH2 TIP3 849 -1.828 -0.282 9.166 1.00 0.00 WT1 ATOM 194 H1 TIP3 849 -1.300 0.394 9.581 1.00 0.00 WT1 ATOM 195 H2 TIP3 849 -1.592 -1.048 9.657 1.00 0.00 WT1 ATOM 196 OH2 TIP3 867 3.520 1.051 9.003 1.00 0.00 WT1 ATOM 197 H1 TIP3 867 3.717 1.242 9.956 1.00 0.00 WT1 ATOM 198 H2 TIP3 867 2.943 0.302 9.118 1.00 0.00 WT1 ATOM 199 OH2 TIP3 891 4.579 13.944 3.078 1.00 0.00 WT1 ATOM 200 H1 TIP3 891 5.095 14.735 2.986 1.00 0.00 WT1 ATOM 201 H2 TIP3 891 5.251 13.235 3.021 1.00 0.00 WT1 ATOM 202 OH2 TIP3 906 -0.157 -3.446 6.531 1.00 0.00 WT1 ATOM 203 H1 TIP3 906 -0.999 -2.869 6.655 1.00 0.00 WT1 ATOM 204 H2 TIP3 906 -0.492 -4.267 6.862 1.00 0.00 WT1 ATOM 205 OH2 TIP3 907 10.628 0.101 -1.004 1.00 0.00 WT1 ATOM 206 H1 TIP3 907 10.036 0.646 -1.500 1.00 0.00 WT1 ATOM 207 H2 TIP3 907 10.367 -0.801 -1.211 1.00 0.00 WT1 ATOM 208 OH2 TIP3 908 -3.156 2.029 5.896 1.00 0.00 WT1 ATOM 209 H1 TIP3 908 -2.607 1.523 5.258 1.00 0.00 WT1 ATOM 210 H2 TIP3 908 -4.013 1.650 5.664 1.00 0.00 WT1 ATOM 211 OH2 TIP3 924 5.309 3.781 -4.665 1.00 0.00 WT1 ATOM 212 H1 TIP3 924 5.724 4.170 -3.893 1.00 0.00 WT1 ATOM 213 H2 TIP3 924 5.798 2.971 -4.841 1.00 0.00 WT1 ATOM 214 OH2 TIP3 928 -5.346 -2.464 8.518 1.00 0.00 WT1 ATOM 215 H1 TIP3 928 -4.983 -1.589 8.665 1.00 0.00 WT1 ATOM 216 H2 TIP3 928 -5.067 -2.671 7.542 1.00 0.00 WT1 ATOM 217 OH2 TIP3 930 -5.285 5.954 11.013 1.00 0.00 WT1 ATOM 218 H1 TIP3 930 -6.045 6.008 10.425 1.00 0.00 WT1 ATOM 219 H2 TIP3 930 -4.926 6.865 10.975 1.00 0.00 WT1 ATOM 220 OH2 TIP3 932 2.036 8.234 10.460 1.00 0.00 WT1 ATOM 221 H1 TIP3 932 2.878 8.528 10.858 1.00 0.00 WT1 ATOM 222 H2 TIP3 932 2.210 7.329 10.222 1.00 0.00 WT1 ATOM 223 OH2 TIP3 933 -3.726 4.198 15.539 1.00 0.00 WT1 ATOM 224 H1 TIP3 933 -2.786 4.346 15.774 1.00 0.00 WT1 ATOM 225 H2 TIP3 933 -3.736 4.519 14.615 1.00 0.00 WT1 ATOM 226 OH2 TIP3 942 11.257 10.464 -3.040 1.00 0.00 WT1 ATOM 227 H1 TIP3 942 11.426 10.818 -3.912 1.00 0.00 WT1 ATOM 228 H2 TIP3 942 11.929 9.737 -2.919 1.00 0.00 WT1 ATOM 229 OH2 TIP3 947 8.246 -2.396 0.527 1.00 0.00 WT1 ATOM 230 H1 TIP3 947 8.274 -2.929 1.277 1.00 0.00 WT1 ATOM 231 H2 TIP3 947 8.749 -2.930 -0.110 1.00 0.00 WT1 ATOM 232 OH2 TIP3 948 5.950 -1.135 -0.321 1.00 0.00 WT1 ATOM 233 H1 TIP3 948 5.250 -1.738 0.058 1.00 0.00 WT1 ATOM 234 H2 TIP3 948 6.775 -1.508 0.085 1.00 0.00 WT1 ATOM 235 OH2 TIP3 950 9.137 13.825 8.990 1.00 0.00 WT1 ATOM 236 H1 TIP3 950 9.776 13.489 8.312 1.00 0.00 WT1 ATOM 237 H2 TIP3 950 9.670 14.462 9.508 1.00 0.00 WT1 ATOM 238 OH2 TIP3 952 8.824 12.127 4.530 1.00 0.00 WT1 ATOM 239 H1 TIP3 952 9.511 12.032 3.804 1.00 0.00 WT1 ATOM 240 H2 TIP3 952 8.002 11.851 4.062 1.00 0.00 WT1 ATOM 241 OH2 TIP3 953 8.214 -4.118 11.366 1.00 0.00 WT1 ATOM 242 H1 TIP3 953 8.832 -3.719 10.686 1.00 0.00 WT1 ATOM 243 H2 TIP3 953 7.390 -3.659 11.229 1.00 0.00 WT1 ATOM 244 OH2 TIP3 964 0.646 14.081 -4.885 1.00 0.00 WT1 ATOM 245 H1 TIP3 964 0.073 14.200 -5.633 1.00 0.00 WT1 ATOM 246 H2 TIP3 964 1.145 13.253 -4.995 1.00 0.00 WT1 ATOM 247 OH2 TIP3 974 3.090 5.778 14.079 1.00 0.00 WT1 ATOM 248 H1 TIP3 974 3.709 5.403 14.774 1.00 0.00 WT1 ATOM 249 H2 TIP3 974 3.160 5.221 13.358 1.00 0.00 WT1 ATOM 250 OH2 TIP3 975 4.289 0.405 14.822 1.00 0.00 WT1 ATOM 251 H1 TIP3 975 4.862 -0.003 15.551 1.00 0.00 WT1 ATOM 252 H2 TIP3 975 3.370 0.269 15.220 1.00 0.00 WT1 ATOM 253 OH2 TIP3 992 13.824 -2.400 8.293 1.00 0.00 WT1 ATOM 254 H1 TIP3 992 13.206 -1.634 8.204 1.00 0.00 WT1 ATOM 255 H2 TIP3 992 14.584 -2.078 7.869 1.00 0.00 WT1 ATOM 256 OH2 TIP3 995 -0.384 10.989 10.304 1.00 0.00 WT1 ATOM 257 H1 TIP3 995 -0.041 10.979 9.447 1.00 0.00 WT1 ATOM 258 H2 TIP3 995 -0.075 11.832 10.688 1.00 0.00 WT1 ATOM 259 OH2 TIP3 1007 7.419 12.440 -3.667 1.00 0.00 WT1 ATOM 260 H1 TIP3 1007 7.091 11.985 -2.917 1.00 0.00 WT1 ATOM 261 H2 TIP3 1007 6.658 12.936 -4.002 1.00 0.00 WT1 ATOM 262 OH2 TIP3 1011 -2.431 14.469 -1.405 1.00 0.00 WT1 ATOM 263 H1 TIP3 1011 -2.415 15.383 -1.034 1.00 0.00 WT1 ATOM 264 H2 TIP3 1011 -1.521 14.361 -1.679 1.00 0.00 WT1 ATOM 265 OH2 TIP3 1013 -5.569 11.685 7.475 1.00 0.00 WT1 ATOM 266 H1 TIP3 1013 -5.959 10.810 7.540 1.00 0.00 WT1 ATOM 267 H2 TIP3 1013 -6.325 12.314 7.171 1.00 0.00 WT1 ATOM 268 OH2 TIP3 1014 3.903 10.117 13.270 1.00 0.00 WT1 ATOM 269 H1 TIP3 1014 4.037 9.207 12.818 1.00 0.00 WT1 ATOM 270 H2 TIP3 1014 4.752 10.270 13.711 1.00 0.00 WT1 ATOM 271 OH2 TIP3 1017 2.600 12.390 9.559 1.00 0.00 WT1 ATOM 272 H1 TIP3 1017 3.392 12.496 9.042 1.00 0.00 WT1 ATOM 273 H2 TIP3 1017 2.757 12.914 10.354 1.00 0.00 WT1 ATOM 274 OH2 TIP3 1018 -4.815 13.950 3.958 1.00 0.00 WT1 ATOM 275 H1 TIP3 1018 -5.133 13.755 4.821 1.00 0.00 WT1 ATOM 276 H2 TIP3 1018 -3.837 14.047 4.043 1.00 0.00 WT1 ATOM 277 OH2 TIP3 1027 7.974 9.548 -5.427 1.00 0.00 WT1 ATOM 278 H1 TIP3 1027 8.102 10.453 -5.720 1.00 0.00 WT1 ATOM 279 H2 TIP3 1027 6.991 9.549 -5.293 1.00 0.00 WT1 ATOM 280 OH2 TIP3 1115 14.187 12.215 -1.005 1.00 0.00 WT1 ATOM 281 H1 TIP3 1115 13.547 11.520 -0.679 1.00 0.00 WT1 ATOM 282 H2 TIP3 1115 14.973 12.101 -0.501 1.00 0.00 WT1 ATOM 283 OH2 TIP3 1117 13.868 8.820 -2.588 1.00 0.00 WT1 ATOM 284 H1 TIP3 1117 13.480 8.355 -1.871 1.00 0.00 WT1 ATOM 285 H2 TIP3 1117 14.607 9.336 -2.133 1.00 0.00 WT1 ATOM 286 OH2 TIP3 1301 -3.864 -4.231 -3.187 1.00 0.00 WT1 ATOM 287 H1 TIP3 1301 -4.166 -4.407 -4.085 1.00 0.00 WT1 ATOM 288 H2 TIP3 1301 -2.966 -3.933 -3.347 1.00 0.00 WT1 ATOM 289 OH2 TIP3 1307 8.912 2.735 3.748 1.00 0.00 WT1 ATOM 290 H1 TIP3 1307 8.901 3.720 3.835 1.00 0.00 WT1 ATOM 291 H2 TIP3 1307 8.893 2.678 2.741 1.00 0.00 WT1 ATOM 292 OH2 TIP3 1326 11.295 -2.581 -5.502 1.00 0.00 WT1 ATOM 293 H1 TIP3 1326 10.352 -2.462 -5.306 1.00 0.00 WT1 ATOM 294 H2 TIP3 1326 11.418 -3.530 -5.683 1.00 0.00 WT1 ATOM 295 OH2 TIP3 1327 8.345 0.312 1.639 1.00 0.00 WT1 ATOM 296 H1 TIP3 1327 9.214 -0.038 1.932 1.00 0.00 WT1 ATOM 297 H2 TIP3 1327 8.039 -0.337 0.987 1.00 0.00 WT1 ATOM 298 OH2 TIP3 1328 -2.645 -3.065 1.415 1.00 0.00 WT1 ATOM 299 H1 TIP3 1328 -1.724 -2.968 1.243 1.00 0.00 WT1 ATOM 300 H2 TIP3 1328 -2.750 -4.054 1.483 1.00 0.00 WT1 ATOM 301 OH2 TIP3 1329 12.844 1.410 2.142 1.00 0.00 WT1 ATOM 302 H1 TIP3 1329 13.491 2.045 2.202 1.00 0.00 WT1 ATOM 303 H2 TIP3 1329 12.201 1.903 1.647 1.00 0.00 WT1 ATOM 304 OH2 TIP3 1330 14.826 5.358 11.567 1.00 0.00 WT1 ATOM 305 H1 TIP3 1330 15.535 5.391 10.821 1.00 0.00 WT1 ATOM 306 H2 TIP3 1330 15.406 5.470 12.340 1.00 0.00 WT1 ATOM 307 OH2 TIP3 1333 11.166 1.308 10.735 1.00 0.00 WT1 ATOM 308 H1 TIP3 1333 11.231 1.621 9.822 1.00 0.00 WT1 ATOM 309 H2 TIP3 1333 10.214 1.489 10.904 1.00 0.00 WT1 ATOM 310 OH2 TIP3 1346 12.215 6.694 -4.900 1.00 0.00 WT1 ATOM 311 H1 TIP3 1346 12.531 5.829 -5.282 1.00 0.00 WT1 ATOM 312 H2 TIP3 1346 11.907 6.389 -4.034 1.00 0.00 WT1 ATOM 313 OH2 TIP3 1367 2.945 11.815 -0.330 1.00 0.00 WT1 ATOM 314 H1 TIP3 1367 2.047 11.797 0.040 1.00 0.00 WT1 ATOM 315 H2 TIP3 1367 2.924 11.032 -0.895 1.00 0.00 WT1 ATOM 316 OH2 TIP3 1368 15.228 1.936 5.785 1.00 0.00 WT1 ATOM 317 H1 TIP3 1368 14.668 2.310 6.508 1.00 0.00 WT1 ATOM 318 H2 TIP3 1368 14.774 1.099 5.613 1.00 0.00 WT1 ATOM 319 OH2 TIP3 1374 -1.696 8.585 6.332 1.00 0.00 WT1 ATOM 320 H1 TIP3 1374 -0.905 8.456 6.829 1.00 0.00 WT1 ATOM 321 H2 TIP3 1374 -2.320 8.321 6.998 1.00 0.00 WT1 ATOM 322 OH2 TIP3 1387 -3.498 2.683 -3.479 1.00 0.00 WT1 ATOM 323 H1 TIP3 1387 -2.690 2.260 -3.796 1.00 0.00 WT1 ATOM 324 H2 TIP3 1387 -4.143 2.057 -3.683 1.00 0.00 WT1 ATOM 325 OH2 TIP3 1414 -5.179 12.126 14.242 1.00 0.00 WT1 ATOM 326 H1 TIP3 1414 -4.411 11.655 14.718 1.00 0.00 WT1 ATOM 327 H2 TIP3 1414 -5.011 13.088 14.385 1.00 0.00 WT1 ATOM 328 OH2 TIP3 1415 6.369 9.570 14.555 1.00 0.00 WT1 ATOM 329 H1 TIP3 1415 6.919 9.289 13.846 1.00 0.00 WT1 ATOM 330 H2 TIP3 1415 6.238 8.800 15.099 1.00 0.00 WT1 ATOM 331 OH2 TIP3 1418 4.272 -3.320 12.705 1.00 0.00 WT1 ATOM 332 H1 TIP3 1418 3.547 -2.739 12.850 1.00 0.00 WT1 ATOM 333 H2 TIP3 1418 4.362 -3.808 13.521 1.00 0.00 WT1 ATOM 334 OH2 TIP3 1428 5.884 -2.756 3.269 1.00 0.00 WT1 ATOM 335 H1 TIP3 1428 5.619 -3.197 2.415 1.00 0.00 WT1 ATOM 336 H2 TIP3 1428 6.826 -2.821 3.232 1.00 0.00 WT1 ATOM 337 OH2 TIP3 1429 -1.734 3.397 -1.543 1.00 0.00 WT1 ATOM 338 H1 TIP3 1429 -2.462 3.170 -2.169 1.00 0.00 WT1 ATOM 339 H2 TIP3 1429 -2.245 3.100 -0.763 1.00 0.00 WT1 ATOM 340 OH2 TIP3 1433 -3.887 13.101 10.423 1.00 0.00 WT1 ATOM 341 H1 TIP3 1433 -3.271 13.602 10.945 1.00 0.00 WT1 ATOM 342 H2 TIP3 1433 -3.568 13.265 9.528 1.00 0.00 WT1 ATOM 343 OH2 TIP3 1435 -0.587 10.284 14.583 1.00 0.00 WT1 ATOM 344 H1 TIP3 1435 -0.027 9.490 14.320 1.00 0.00 WT1 ATOM 345 H2 TIP3 1435 0.021 10.781 15.141 1.00 0.00 WT1 ATOM 346 OH2 TIP3 1440 -5.741 -1.690 11.747 1.00 0.00 WT1 ATOM 347 H1 TIP3 1440 -5.648 -2.620 11.367 1.00 0.00 WT1 ATOM 348 H2 TIP3 1440 -6.595 -1.388 11.376 1.00 0.00 WT1 ATOM 349 OH2 TIP3 1454 1.759 13.937 2.513 1.00 0.00 WT1 ATOM 350 H1 TIP3 1454 2.706 13.996 2.294 1.00 0.00 WT1 ATOM 351 H2 TIP3 1454 1.367 13.532 1.706 1.00 0.00 WT1 ATOM 352 OH2 TIP3 1458 1.160 2.175 13.549 1.00 0.00 WT1 ATOM 353 H1 TIP3 1458 1.295 2.622 14.356 1.00 0.00 WT1 ATOM 354 H2 TIP3 1458 1.918 2.389 13.020 1.00 0.00 WT1 ATOM 355 OH2 TIP3 1471 14.708 3.820 -3.926 1.00 0.00 WT1 ATOM 356 H1 TIP3 1471 15.478 3.295 -3.873 1.00 0.00 WT1 ATOM 357 H2 TIP3 1471 14.095 3.240 -4.322 1.00 0.00 WT1 ATOM 358 OH2 TIP3 1512 3.125 15.830 4.601 1.00 0.00 WT1 ATOM 359 H1 TIP3 1512 3.830 15.258 4.305 1.00 0.00 WT1 ATOM 360 H2 TIP3 1512 2.411 15.291 4.303 1.00 0.00 WT1 ATOM 361 OH2 TIP3 1559 -0.366 14.396 13.270 1.00 0.00 WT1 ATOM 362 H1 TIP3 1559 0.502 14.397 13.746 1.00 0.00 WT1 ATOM 363 H2 TIP3 1559 -0.215 14.199 12.332 1.00 0.00 WT1 ATOM 364 OH2 TIP3 1707 4.929 -4.749 -1.938 1.00 0.00 WT1 ATOM 365 H1 TIP3 1707 5.635 -5.035 -1.318 1.00 0.00 WT1 ATOM 366 H2 TIP3 1707 4.630 -3.774 -1.657 1.00 0.00 WT1 ATOM 367 OH2 TIP3 1723 2.013 -1.295 9.084 1.00 0.00 WT1 ATOM 368 H1 TIP3 1723 1.979 -2.080 8.507 1.00 0.00 WT1 ATOM 369 H2 TIP3 1723 1.332 -1.503 9.724 1.00 0.00 WT1 ATOM 370 OH2 TIP3 1725 -4.763 -1.895 -1.822 1.00 0.00 WT1 ATOM 371 H1 TIP3 1725 -4.500 -2.736 -2.228 1.00 0.00 WT1 ATOM 372 H2 TIP3 1725 -3.965 -1.330 -1.832 1.00 0.00 WT1 ATOM 373 OH2 TIP3 1730 4.334 -3.529 7.955 1.00 0.00 WT1 ATOM 374 H1 TIP3 1730 4.172 -2.901 7.221 1.00 0.00 WT1 ATOM 375 H2 TIP3 1730 5.161 -3.943 7.703 1.00 0.00 WT1 ATOM 376 OH2 TIP3 1733 -4.010 -4.086 10.096 1.00 0.00 WT1 ATOM 377 H1 TIP3 1733 -4.814 -3.593 9.930 1.00 0.00 WT1 ATOM 378 H2 TIP3 1733 -3.914 -4.709 9.372 1.00 0.00 WT1 ATOM 379 OH2 TIP3 1744 12.635 -4.485 -0.459 1.00 0.00 WT1 ATOM 380 H1 TIP3 1744 13.170 -4.027 -1.128 1.00 0.00 WT1 ATOM 381 H2 TIP3 1744 12.583 -5.438 -0.781 1.00 0.00 WT1 ATOM 382 OH2 TIP3 1746 3.664 4.401 11.751 1.00 0.00 WT1 ATOM 383 H1 TIP3 1746 3.161 4.807 11.027 1.00 0.00 WT1 ATOM 384 H2 TIP3 1746 4.479 4.881 11.758 1.00 0.00 WT1 ATOM 385 OH2 TIP3 1764 -2.043 -4.059 -6.381 1.00 0.00 WT1 ATOM 386 H1 TIP3 1764 -2.487 -4.560 -5.646 1.00 0.00 WT1 ATOM 387 H2 TIP3 1764 -1.153 -4.368 -6.294 1.00 0.00 WT1 ATOM 388 OH2 TIP3 1771 -4.675 -2.165 6.030 1.00 0.00 WT1 ATOM 389 H1 TIP3 1771 -5.070 -1.532 5.435 1.00 0.00 WT1 ATOM 390 H2 TIP3 1771 -4.469 -2.958 5.503 1.00 0.00 WT1 ATOM 391 OH2 TIP3 1773 7.170 -4.318 7.124 1.00 0.00 WT1 ATOM 392 H1 TIP3 1773 7.510 -5.047 7.685 1.00 0.00 WT1 ATOM 393 H2 TIP3 1773 7.389 -3.475 7.546 1.00 0.00 WT1 ATOM 394 OH2 TIP3 1789 -1.723 1.084 -4.937 1.00 0.00 WT1 ATOM 395 H1 TIP3 1789 -0.772 0.957 -4.862 1.00 0.00 WT1 ATOM 396 H2 TIP3 1789 -1.975 0.286 -5.446 1.00 0.00 WT1 ATOM 397 OH2 TIP3 1795 6.917 -3.768 15.436 1.00 0.00 WT1 ATOM 398 H1 TIP3 1795 7.702 -3.272 15.122 1.00 0.00 WT1 ATOM 399 H2 TIP3 1795 6.924 -4.629 14.933 1.00 0.00 WT1 ATOM 400 OH2 TIP3 1796 13.824 -0.609 11.577 1.00 0.00 WT1 ATOM 401 H1 TIP3 1796 13.200 -0.649 12.327 1.00 0.00 WT1 ATOM 402 H2 TIP3 1796 14.324 -1.460 11.747 1.00 0.00 WT1 ATOM 403 OH2 TIP3 1813 -1.042 6.188 9.172 1.00 0.00 WT1 ATOM 404 H1 TIP3 1813 -1.422 6.972 8.795 1.00 0.00 WT1 ATOM 405 H2 TIP3 1813 -1.618 5.476 8.781 1.00 0.00 WT1 ATOM 406 OH2 TIP3 1814 4.003 13.434 11.801 1.00 0.00 WT1 ATOM 407 H1 TIP3 1814 4.845 12.896 11.983 1.00 0.00 WT1 ATOM 408 H2 TIP3 1814 3.390 13.103 12.484 1.00 0.00 WT1 ATOM 409 OH2 TIP3 1824 15.339 -3.512 -5.382 1.00 0.00 WT1 ATOM 410 H1 TIP3 1824 15.248 -3.598 -6.334 1.00 0.00 WT1 ATOM 411 H2 TIP3 1824 14.934 -4.349 -5.019 1.00 0.00 WT1 ATOM 412 OH2 TIP3 1829 4.596 7.839 -5.897 1.00 0.00 WT1 ATOM 413 H1 TIP3 1829 5.127 7.752 -5.086 1.00 0.00 WT1 ATOM 414 H2 TIP3 1829 5.195 8.146 -6.580 1.00 0.00 WT1 ATOM 415 OH2 TIP3 1830 6.226 8.126 -3.674 1.00 0.00 WT1 ATOM 416 H1 TIP3 1830 5.676 7.672 -2.928 1.00 0.00 WT1 ATOM 417 H2 TIP3 1830 7.194 7.954 -3.394 1.00 0.00 WT1 ATOM 418 OH2 TIP3 1831 0.130 -5.442 2.272 1.00 0.00 WT1 ATOM 419 H1 TIP3 1831 0.263 -5.474 1.277 1.00 0.00 WT1 ATOM 420 H2 TIP3 1831 1.035 -5.334 2.546 1.00 0.00 WT1 ATOM 421 OH2 TIP3 1832 11.247 4.188 14.260 1.00 0.00 WT1 ATOM 422 H1 TIP3 1832 11.036 4.250 13.280 1.00 0.00 WT1 ATOM 423 H2 TIP3 1832 11.819 3.368 14.306 1.00 0.00 WT1 ATOM 424 OH2 TIP3 1836 8.747 4.470 15.599 1.00 0.00 WT1 ATOM 425 H1 TIP3 1836 9.620 4.281 15.307 1.00 0.00 WT1 ATOM 426 H2 TIP3 1836 8.269 4.757 14.765 1.00 0.00 WT1 ATOM 427 OH2 TIP3 1838 14.014 5.682 15.282 1.00 0.00 WT1 ATOM 428 H1 TIP3 1838 14.249 4.980 15.874 1.00 0.00 WT1 ATOM 429 H2 TIP3 1838 13.297 5.389 14.710 1.00 0.00 WT1 ATOM 430 OH2 TIP3 1851 13.662 14.692 -2.139 1.00 0.00 WT1 ATOM 431 H1 TIP3 1851 13.626 15.176 -1.236 1.00 0.00 WT1 ATOM 432 H2 TIP3 1851 13.656 13.719 -1.945 1.00 0.00 WT1 ATOM 433 OH2 TIP3 1853 -6.895 4.868 6.588 1.00 0.00 WT1 ATOM 434 H1 TIP3 1853 -6.898 5.267 5.722 1.00 0.00 WT1 ATOM 435 H2 TIP3 1853 -5.922 4.687 6.789 1.00 0.00 WT1 ATOM 436 OH2 TIP3 1854 9.030 2.177 -2.114 1.00 0.00 WT1 ATOM 437 H1 TIP3 1854 8.070 2.322 -1.719 1.00 0.00 WT1 ATOM 438 H2 TIP3 1854 8.721 1.722 -2.884 1.00 0.00 WT1 ATOM 439 OH2 TIP3 1856 5.256 6.737 -1.510 1.00 0.00 WT1 ATOM 440 H1 TIP3 1856 4.468 6.217 -1.775 1.00 0.00 WT1 ATOM 441 H2 TIP3 1856 5.709 6.197 -0.903 1.00 0.00 WT1 ATOM 442 OH2 TIP3 1871 -0.216 5.959 -4.527 1.00 0.00 WT1 ATOM 443 H1 TIP3 1871 -0.609 5.226 -5.073 1.00 0.00 WT1 ATOM 444 H2 TIP3 1871 -0.101 6.620 -5.290 1.00 0.00 WT1 ATOM 445 OH2 TIP3 1881 10.524 15.100 5.989 1.00 0.00 WT1 ATOM 446 H1 TIP3 1881 9.520 15.111 5.900 1.00 0.00 WT1 ATOM 447 H2 TIP3 1881 10.710 14.278 6.443 1.00 0.00 WT1 ATOM 448 OH2 TIP3 1894 4.522 10.141 9.949 1.00 0.00 WT1 ATOM 449 H1 TIP3 1894 3.708 10.677 9.710 1.00 0.00 WT1 ATOM 450 H2 TIP3 1894 5.160 10.796 10.282 1.00 0.00 WT1 ATOM 451 OH2 TIP3 1911 4.458 13.360 -2.014 1.00 0.00 WT1 ATOM 452 H1 TIP3 1911 3.568 13.116 -1.671 1.00 0.00 WT1 ATOM 453 H2 TIP3 1911 4.350 13.477 -2.983 1.00 0.00 WT1 ATOM 454 OH2 TIP3 1914 4.817 15.207 7.228 1.00 0.00 WT1 ATOM 455 H1 TIP3 1914 4.876 15.896 7.894 1.00 0.00 WT1 ATOM 456 H2 TIP3 1914 4.002 15.434 6.749 1.00 0.00 WT1 ATOM 457 OH2 TIP3 1915 5.630 12.236 0.503 1.00 0.00 WT1 ATOM 458 H1 TIP3 1915 6.195 11.740 -0.192 1.00 0.00 WT1 ATOM 459 H2 TIP3 1915 4.779 12.324 0.074 1.00 0.00 WT1 ATOM 460 OH2 TIP3 1938 8.827 -0.565 14.182 1.00 0.00 WT1 ATOM 461 H1 TIP3 1938 8.905 -1.503 14.219 1.00 0.00 WT1 ATOM 462 H2 TIP3 1938 7.950 -0.518 13.814 1.00 0.00 WT1 ATOM 463 OH2 TIP3 1952 8.805 14.081 -2.018 1.00 0.00 WT1 ATOM 464 H1 TIP3 1952 8.768 14.962 -2.420 1.00 0.00 WT1 ATOM 465 H2 TIP3 1952 8.373 13.540 -2.692 1.00 0.00 WT1 ATOM 466 OH2 TIP3 2123 3.779 -3.933 4.910 1.00 0.00 WT1 ATOM 467 H1 TIP3 2123 3.135 -3.430 4.454 1.00 0.00 WT1 ATOM 468 H2 TIP3 2123 4.525 -3.503 4.330 1.00 0.00 WT1 ATOM 469 OH2 TIP3 2163 -1.658 2.699 7.978 1.00 0.00 WT1 ATOM 470 H1 TIP3 2163 -2.234 2.548 7.192 1.00 0.00 WT1 ATOM 471 H2 TIP3 2163 -2.239 3.249 8.483 1.00 0.00 WT1 ATOM 472 OH2 TIP3 2165 7.592 -0.731 5.563 1.00 0.00 WT1 ATOM 473 H1 TIP3 2165 7.452 0.282 5.372 1.00 0.00 WT1 ATOM 474 H2 TIP3 2165 6.681 -0.958 5.724 1.00 0.00 WT1 ATOM 475 OH2 TIP3 2167 0.345 -1.162 -5.484 1.00 0.00 WT1 ATOM 476 H1 TIP3 2167 1.129 -1.088 -6.023 1.00 0.00 WT1 ATOM 477 H2 TIP3 2167 -0.401 -1.159 -6.112 1.00 0.00 WT1 ATOM 478 OH2 TIP3 2172 4.251 -4.834 15.179 1.00 0.00 WT1 ATOM 479 H1 TIP3 2172 4.674 -5.567 14.777 1.00 0.00 WT1 ATOM 480 H2 TIP3 2172 5.035 -4.389 15.628 1.00 0.00 WT1 ATOM 481 OH2 TIP3 2185 11.824 -3.473 12.981 1.00 0.00 WT1 ATOM 482 H1 TIP3 2185 11.752 -2.584 12.545 1.00 0.00 WT1 ATOM 483 H2 TIP3 2185 12.348 -3.959 12.281 1.00 0.00 WT1 ATOM 484 OH2 TIP3 2229 13.730 12.618 2.348 1.00 0.00 WT1 ATOM 485 H1 TIP3 2229 14.535 12.798 2.939 1.00 0.00 WT1 ATOM 486 H2 TIP3 2229 13.875 13.205 1.636 1.00 0.00 WT1 ATOM 487 OH2 TIP3 2231 -2.300 -1.589 6.833 1.00 0.00 WT1 ATOM 488 H1 TIP3 2231 -2.214 -0.924 7.493 1.00 0.00 WT1 ATOM 489 H2 TIP3 2231 -3.252 -1.695 6.713 1.00 0.00 WT1 ATOM 490 OH2 TIP3 2232 12.383 8.110 12.407 1.00 0.00 WT1 ATOM 491 H1 TIP3 2232 12.847 9.012 12.513 1.00 0.00 WT1 ATOM 492 H2 TIP3 2232 13.018 7.566 11.865 1.00 0.00 WT1 ATOM 493 OH2 TIP3 2244 6.683 -1.046 -2.926 1.00 0.00 WT1 ATOM 494 H1 TIP3 2244 6.883 -1.029 -1.976 1.00 0.00 WT1 ATOM 495 H2 TIP3 2244 6.938 -0.176 -3.232 1.00 0.00 WT1 ATOM 496 OH2 TIP3 2250 10.238 -2.270 -2.678 1.00 0.00 WT1 ATOM 497 H1 TIP3 2250 11.011 -2.236 -3.282 1.00 0.00 WT1 ATOM 498 H2 TIP3 2250 10.213 -3.245 -2.473 1.00 0.00 WT1 ATOM 499 OH2 TIP3 2251 9.507 12.246 -0.121 1.00 0.00 WT1 ATOM 500 H1 TIP3 2251 9.222 12.883 -0.788 1.00 0.00 WT1 ATOM 501 H2 TIP3 2251 9.631 12.856 0.702 1.00 0.00 WT1 ATOM 502 OH2 TIP3 2253 11.009 12.300 2.870 1.00 0.00 WT1 ATOM 503 H1 TIP3 2253 10.774 13.241 2.953 1.00 0.00 WT1 ATOM 504 H2 TIP3 2253 11.967 12.320 2.767 1.00 0.00 WT1 ATOM 505 OH2 TIP3 2269 13.456 2.318 13.758 1.00 0.00 WT1 ATOM 506 H1 TIP3 2269 13.475 2.274 12.815 1.00 0.00 WT1 ATOM 507 H2 TIP3 2269 14.351 2.634 14.031 1.00 0.00 WT1 ATOM 508 OH2 TIP3 2270 -4.010 5.489 -0.926 1.00 0.00 WT1 ATOM 509 H1 TIP3 2270 -3.280 5.403 -1.528 1.00 0.00 WT1 ATOM 510 H2 TIP3 2270 -3.980 6.434 -0.751 1.00 0.00 WT1 ATOM 511 OH2 TIP3 2272 5.738 -2.759 10.532 1.00 0.00 WT1 ATOM 512 H1 TIP3 2272 5.237 -3.239 11.209 1.00 0.00 WT1 ATOM 513 H2 TIP3 2272 5.056 -2.674 9.821 1.00 0.00 WT1 ATOM 514 OH2 TIP3 2275 13.659 9.333 1.712 1.00 0.00 WT1 ATOM 515 H1 TIP3 2275 14.432 9.985 1.644 1.00 0.00 WT1 ATOM 516 H2 TIP3 2275 12.864 9.849 1.675 1.00 0.00 WT1 ATOM 517 OH2 TIP3 2277 6.460 2.291 14.066 1.00 0.00 WT1 ATOM 518 H1 TIP3 2277 5.999 1.488 13.800 1.00 0.00 WT1 ATOM 519 H2 TIP3 2277 5.834 2.645 14.807 1.00 0.00 WT1 ATOM 520 OH2 TIP3 2280 -0.572 -2.274 10.162 1.00 0.00 WT1 ATOM 521 H1 TIP3 2280 -1.046 -2.683 10.950 1.00 0.00 WT1 ATOM 522 H2 TIP3 2280 -0.936 -2.787 9.426 1.00 0.00 WT1 ATOM 523 OH2 TIP3 2288 -3.556 9.783 2.804 1.00 0.00 WT1 ATOM 524 H1 TIP3 2288 -3.580 10.698 2.485 1.00 0.00 WT1 ATOM 525 H2 TIP3 2288 -3.918 9.808 3.712 1.00 0.00 WT1 ATOM 526 OH2 TIP3 2292 12.276 -0.079 7.565 1.00 0.00 WT1 ATOM 527 H1 TIP3 2292 13.012 0.580 7.765 1.00 0.00 WT1 ATOM 528 H2 TIP3 2292 11.910 0.205 6.701 1.00 0.00 WT1 ATOM 529 OH2 TIP3 2293 -5.543 12.594 1.256 1.00 0.00 WT1 ATOM 530 H1 TIP3 2293 -6.429 12.820 1.128 1.00 0.00 WT1 ATOM 531 H2 TIP3 2293 -5.203 13.333 1.785 1.00 0.00 WT1 ATOM 532 OH2 TIP3 2295 1.532 -4.851 14.691 1.00 0.00 WT1 ATOM 533 H1 TIP3 2295 1.175 -5.271 15.580 1.00 0.00 WT1 ATOM 534 H2 TIP3 2295 2.438 -4.624 14.810 1.00 0.00 WT1 ATOM 535 OH2 TIP3 2309 7.085 4.331 -2.511 1.00 0.00 WT1 ATOM 536 H1 TIP3 2309 7.789 4.858 -2.128 1.00 0.00 WT1 ATOM 537 H2 TIP3 2309 6.506 4.189 -1.788 1.00 0.00 WT1 ATOM 538 OH2 TIP3 2316 5.089 -0.246 3.524 1.00 0.00 WT1 ATOM 539 H1 TIP3 2316 5.200 -1.198 3.330 1.00 0.00 WT1 ATOM 540 H2 TIP3 2316 5.969 0.044 3.621 1.00 0.00 WT1 ATOM 541 OH2 TIP3 2317 -3.425 7.583 8.263 1.00 0.00 WT1 ATOM 542 H1 TIP3 2317 -3.632 7.876 9.179 1.00 0.00 WT1 ATOM 543 H2 TIP3 2317 -4.322 7.651 7.860 1.00 0.00 WT1 ATOM 544 OH2 TIP3 2319 11.524 15.032 10.062 1.00 0.00 WT1 ATOM 545 H1 TIP3 2319 11.801 15.971 10.281 1.00 0.00 WT1 ATOM 546 H2 TIP3 2319 11.811 14.515 10.829 1.00 0.00 WT1 ATOM 547 OH2 TIP3 2335 0.135 8.762 8.135 1.00 0.00 WT1 ATOM 548 H1 TIP3 2335 0.449 9.649 7.862 1.00 0.00 WT1 ATOM 549 H2 TIP3 2335 0.518 8.633 9.053 1.00 0.00 WT1 ATOM 550 OH2 TIP3 2351 10.106 13.622 -4.521 1.00 0.00 WT1 ATOM 551 H1 TIP3 2351 10.387 12.743 -4.808 1.00 0.00 WT1 ATOM 552 H2 TIP3 2351 10.064 13.575 -3.534 1.00 0.00 WT1 ATOM 553 OH2 TIP3 2355 11.882 10.798 -0.083 1.00 0.00 WT1 ATOM 554 H1 TIP3 2355 11.116 11.260 0.309 1.00 0.00 WT1 ATOM 555 H2 TIP3 2355 11.560 10.622 -0.997 1.00 0.00 WT1 ATOM 556 OH2 TIP3 2357 -4.067 6.149 3.190 1.00 0.00 WT1 ATOM 557 H1 TIP3 2357 -3.694 6.826 2.643 1.00 0.00 WT1 ATOM 558 H2 TIP3 2357 -3.247 5.913 3.659 1.00 0.00 WT1 ATOM 559 OH2 TIP3 2358 -6.635 10.723 3.486 1.00 0.00 WT1 ATOM 560 H1 TIP3 2358 -5.892 10.652 4.136 1.00 0.00 WT1 ATOM 561 H2 TIP3 2358 -6.519 11.613 3.092 1.00 0.00 WT1 ATOM 562 OH2 TIP3 2377 10.163 1.224 5.830 1.00 0.00 WT1 ATOM 563 H1 TIP3 2377 9.851 1.611 5.051 1.00 0.00 WT1 ATOM 564 H2 TIP3 2377 10.504 0.377 5.506 1.00 0.00 WT1 ATOM 565 OH2 TIP3 2380 8.627 9.619 0.320 1.00 0.00 WT1 ATOM 566 H1 TIP3 2380 8.430 9.299 -0.571 1.00 0.00 WT1 ATOM 567 H2 TIP3 2380 8.840 10.528 0.107 1.00 0.00 WT1 ATOM 568 OH2 TIP3 2606 11.143 -5.295 4.578 1.00 0.00 WT1 ATOM 569 H1 TIP3 2606 11.641 -5.529 5.414 1.00 0.00 WT1 ATOM 570 H2 TIP3 2606 11.219 -4.304 4.500 1.00 0.00 WT1 ATOM 571 OH2 TIP3 2634 1.375 -2.155 4.655 1.00 0.00 WT1 ATOM 572 H1 TIP3 2634 1.251 -1.372 5.275 1.00 0.00 WT1 ATOM 573 H2 TIP3 2634 0.771 -2.771 5.072 1.00 0.00 WT1 ATOM 574 OH2 TIP3 2673 11.005 -1.088 11.969 1.00 0.00 WT1 ATOM 575 H1 TIP3 2673 10.408 -0.898 12.711 1.00 0.00 WT1 ATOM 576 H2 TIP3 2673 11.278 -0.241 11.638 1.00 0.00 WT1 ATOM 577 OH2 TIP3 2689 14.325 -0.740 -0.559 1.00 0.00 WT1 ATOM 578 H1 TIP3 2689 14.486 0.162 -0.602 1.00 0.00 WT1 ATOM 579 H2 TIP3 2689 15.014 -1.083 0.084 1.00 0.00 WT1 ATOM 580 OH2 TIP3 2691 8.132 -1.694 8.153 1.00 0.00 WT1 ATOM 581 H1 TIP3 2691 8.169 -1.405 7.185 1.00 0.00 WT1 ATOM 582 H2 TIP3 2691 7.401 -1.137 8.580 1.00 0.00 WT1 ATOM 583 OH2 TIP3 2694 1.216 -0.118 6.677 1.00 0.00 WT1 ATOM 584 H1 TIP3 2694 1.886 -0.430 7.305 1.00 0.00 WT1 ATOM 585 H2 TIP3 2694 0.555 0.275 7.283 1.00 0.00 WT1 ATOM 586 OH2 TIP3 2709 12.070 15.612 -4.222 1.00 0.00 WT1 ATOM 587 H1 TIP3 2709 12.735 15.091 -3.739 1.00 0.00 WT1 ATOM 588 H2 TIP3 2709 11.497 14.959 -4.556 1.00 0.00 WT1 ATOM 589 OH2 TIP3 2713 8.930 14.353 1.968 1.00 0.00 WT1 ATOM 590 H1 TIP3 2713 9.048 15.293 1.729 1.00 0.00 WT1 ATOM 591 H2 TIP3 2713 8.073 14.245 2.420 1.00 0.00 WT1 ATOM 592 OH2 TIP3 2715 14.321 2.528 -0.735 1.00 0.00 WT1 ATOM 593 H1 TIP3 2715 14.625 3.401 -0.561 1.00 0.00 WT1 ATOM 594 H2 TIP3 2715 14.144 2.579 -1.683 1.00 0.00 WT1 ATOM 595 OH2 TIP3 2734 13.304 7.503 -0.236 1.00 0.00 WT1 ATOM 596 H1 TIP3 2734 12.450 7.027 0.051 1.00 0.00 WT1 ATOM 597 H2 TIP3 2734 13.504 8.064 0.570 1.00 0.00 WT1 ATOM 598 OH2 TIP3 2735 6.416 11.577 3.118 1.00 0.00 WT1 ATOM 599 H1 TIP3 2735 6.072 10.715 3.227 1.00 0.00 WT1 ATOM 600 H2 TIP3 2735 6.432 11.667 2.167 1.00 0.00 WT1 ATOM 601 OH2 TIP3 2758 2.915 12.413 14.219 1.00 0.00 WT1 ATOM 602 H1 TIP3 2758 3.269 11.588 13.819 1.00 0.00 WT1 ATOM 603 H2 TIP3 2758 2.214 12.076 14.810 1.00 0.00 WT1 ATOM 604 OH2 TIP3 2776 10.418 13.952 14.652 1.00 0.00 WT1 ATOM 605 H1 TIP3 2776 11.092 13.709 15.305 1.00 0.00 WT1 ATOM 606 H2 TIP3 2776 9.940 13.141 14.642 1.00 0.00 WT1 ATOM 607 OH2 TIP3 2778 8.281 2.285 10.934 1.00 0.00 WT1 ATOM 608 H1 TIP3 2778 7.966 2.309 10.052 1.00 0.00 WT1 ATOM 609 H2 TIP3 2778 7.522 1.893 11.426 1.00 0.00 WT1 ATOM 610 OH2 TIP3 2794 14.858 5.099 -0.404 1.00 0.00 WT1 ATOM 611 H1 TIP3 2794 15.578 5.496 0.184 1.00 0.00 WT1 ATOM 612 H2 TIP3 2794 14.195 5.831 -0.534 1.00 0.00 WT1 ATOM 613 OH2 TIP3 2815 13.211 3.900 4.754 1.00 0.00 WT1 ATOM 614 H1 TIP3 2815 13.834 3.219 4.976 1.00 0.00 WT1 ATOM 615 H2 TIP3 2815 13.541 4.643 5.222 1.00 0.00 WT1 ATOM 616 OH2 TIP3 3012 12.271 -4.414 9.937 1.00 0.00 WT1 ATOM 617 H1 TIP3 3012 12.792 -3.923 9.375 1.00 0.00 WT1 ATOM 618 H2 TIP3 3012 11.386 -4.029 9.839 1.00 0.00 WT1 ATOM 619 OH2 TIP3 3027 9.019 -3.468 13.853 1.00 0.00 WT1 ATOM 620 H1 TIP3 3027 8.539 -3.770 13.063 1.00 0.00 WT1 ATOM 621 H2 TIP3 3027 9.963 -3.626 13.613 1.00 0.00 WT1 ATOM 622 OH2 TIP3 3049 11.769 -2.720 6.264 1.00 0.00 WT1 ATOM 623 H1 TIP3 3049 11.725 -2.284 7.139 1.00 0.00 WT1 ATOM 624 H2 TIP3 3049 12.452 -3.330 6.462 1.00 0.00 WT1 ATOM 625 OH2 TIP3 3073 11.467 -1.021 1.541 1.00 0.00 WT1 ATOM 626 H1 TIP3 3073 12.142 -0.348 1.688 1.00 0.00 WT1 ATOM 627 H2 TIP3 3073 11.179 -0.926 0.613 1.00 0.00 WT1 ATOM 628 OH2 TIP3 3086 12.209 0.089 -5.195 1.00 0.00 WT1 ATOM 629 H1 TIP3 3086 11.818 -0.782 -5.162 1.00 0.00 WT1 ATOM 630 H2 TIP3 3086 12.132 0.412 -4.294 1.00 0.00 WT1 ATOM 631 OH2 TIP3 3091 11.453 3.320 -2.264 1.00 0.00 WT1 ATOM 632 H1 TIP3 3091 10.602 2.951 -2.367 1.00 0.00 WT1 ATOM 633 H2 TIP3 3091 11.410 4.263 -2.255 1.00 0.00 WT1 ATOM 634 OH2 TIP3 3108 11.226 -3.697 1.700 1.00 0.00 WT1 ATOM 635 H1 TIP3 3108 11.474 -2.755 1.643 1.00 0.00 WT1 ATOM 636 H2 TIP3 3108 11.604 -4.103 0.870 1.00 0.00 WT1 ATOM 637 OH2 TIP3 3109 15.451 15.340 -3.978 1.00 0.00 WT1 ATOM 638 H1 TIP3 3109 15.007 15.673 -4.806 1.00 0.00 WT1 ATOM 639 H2 TIP3 3109 14.784 15.230 -3.327 1.00 0.00 WT1 ATOM 640 OH2 TIP3 3115 14.422 4.629 2.484 1.00 0.00 WT1 ATOM 641 H1 TIP3 3115 15.055 3.950 2.649 1.00 0.00 WT1 ATOM 642 H2 TIP3 3115 13.778 4.552 3.219 1.00 0.00 WT1 ATOM 643 OH2 TIP3 3131 15.461 6.549 -3.752 1.00 0.00 WT1 ATOM 644 H1 TIP3 3131 14.779 7.145 -3.381 1.00 0.00 WT1 ATOM 645 H2 TIP3 3131 15.076 5.604 -3.565 1.00 0.00 WT1 ATOM 646 OH2 TIP3 3150 10.607 6.590 -2.135 1.00 0.00 WT1 ATOM 647 H1 TIP3 3150 10.145 7.425 -2.267 1.00 0.00 WT1 ATOM 648 H2 TIP3 3150 10.820 6.632 -1.252 1.00 0.00 WT1 ATOM 649 OH2 TIP3 3152 14.941 -2.208 3.573 1.00 0.00 WT1 ATOM 650 H1 TIP3 3152 14.157 -1.705 3.967 1.00 0.00 WT1 ATOM 651 H2 TIP3 3152 15.364 -1.443 3.141 1.00 0.00 WT1 ATOM 652 OH2 TIP3 3173 4.892 -1.025 6.686 1.00 0.00 WT1 ATOM 653 H1 TIP3 3173 4.816 -0.148 6.268 1.00 0.00 WT1 ATOM 654 H2 TIP3 3173 4.643 -0.835 7.563 1.00 0.00 WT1 ATOM 655 OH2 TIP3 3177 1.947 -4.595 8.961 1.00 0.00 WT1 ATOM 656 H1 TIP3 3177 2.764 -4.207 8.532 1.00 0.00 WT1 ATOM 657 H2 TIP3 3177 1.929 -5.509 8.584 1.00 0.00 WT1 ATOM 658 OH2 TIP3 3196 0.510 2.668 9.807 1.00 0.00 WT1 ATOM 659 H1 TIP3 3196 0.139 2.411 10.628 1.00 0.00 WT1 ATOM 660 H2 TIP3 3196 -0.193 2.806 9.192 1.00 0.00 WT1 ATOM 661 OH2 TIP3 3215 12.803 13.404 8.061 1.00 0.00 WT1 ATOM 662 H1 TIP3 3215 11.985 13.678 8.429 1.00 0.00 WT1 ATOM 663 H2 TIP3 3215 13.471 13.853 8.587 1.00 0.00 WT1 ATOM 664 OH2 TIP3 3218 4.728 7.542 12.846 1.00 0.00 WT1 ATOM 665 H1 TIP3 3218 5.670 7.555 13.001 1.00 0.00 WT1 ATOM 666 H2 TIP3 3218 4.320 7.094 13.675 1.00 0.00 WT1 ATOM 667 OH2 TIP3 3223 -2.069 14.150 15.752 1.00 0.00 WT1 ATOM 668 H1 TIP3 3223 -2.914 14.082 15.212 1.00 0.00 WT1 ATOM 669 H2 TIP3 3223 -1.384 13.915 15.116 1.00 0.00 WT1 ATOM 670 OH2 TIP3 3237 14.755 15.430 8.448 1.00 0.00 WT1 ATOM 671 H1 TIP3 3237 15.451 14.970 7.941 1.00 0.00 WT1 ATOM 672 H2 TIP3 3237 15.191 15.704 9.300 1.00 0.00 WT1 ATOM 673 OH2 TIP3 3242 11.606 13.658 12.224 1.00 0.00 WT1 ATOM 674 H1 TIP3 3242 11.080 13.602 13.006 1.00 0.00 WT1 ATOM 675 H2 TIP3 3242 11.402 12.858 11.718 1.00 0.00 WT1 ATOM 676 OH2 TIP3 3304 5.979 14.819 13.756 1.00 0.00 WT1 ATOM 677 H1 TIP3 3304 5.266 14.501 13.224 1.00 0.00 WT1 ATOM 678 H2 TIP3 3304 6.036 14.205 14.513 1.00 0.00 WT1 ATOM 679 OH2 TIP3 3426 8.558 -3.845 2.894 1.00 0.00 WT1 ATOM 680 H1 TIP3 3426 9.515 -4.116 2.849 1.00 0.00 WT1 ATOM 681 H2 TIP3 3426 8.065 -4.496 3.491 1.00 0.00 WT1 ATOM 682 OH2 TIP3 3442 9.386 7.453 -4.924 1.00 0.00 WT1 ATOM 683 H1 TIP3 3442 10.296 7.351 -5.332 1.00 0.00 WT1 ATOM 684 H2 TIP3 3442 9.098 8.426 -5.218 1.00 0.00 WT1 ATOM 685 OH2 TIP3 3447 4.132 -3.397 1.076 1.00 0.00 WT1 ATOM 686 H1 TIP3 3447 4.207 -4.312 1.271 1.00 0.00 WT1 ATOM 687 H2 TIP3 3447 3.239 -3.191 1.301 1.00 0.00 WT1 ATOM 688 OH2 TIP3 3526 13.413 8.962 -5.818 1.00 0.00 WT1 ATOM 689 H1 TIP3 3526 14.337 9.127 -5.466 1.00 0.00 WT1 ATOM 690 H2 TIP3 3526 12.963 8.420 -5.160 1.00 0.00 WT1 ATOM 691 OH2 TIP3 3527 11.154 5.300 3.239 1.00 0.00 WT1 ATOM 692 H1 TIP3 3527 11.904 4.893 3.652 1.00 0.00 WT1 ATOM 693 H2 TIP3 3527 11.127 4.921 2.337 1.00 0.00 WT1 ATOM 694 OH2 TIP3 3534 14.480 6.130 5.907 1.00 0.00 WT1 ATOM 695 H1 TIP3 3534 14.260 6.854 5.339 1.00 0.00 WT1 ATOM 696 H2 TIP3 3534 15.352 5.862 5.592 1.00 0.00 WT1 ATOM 697 OH2 TIP3 3548 10.633 7.090 0.542 1.00 0.00 WT1 ATOM 698 H1 TIP3 3548 10.922 6.990 1.508 1.00 0.00 WT1 ATOM 699 H2 TIP3 3548 9.976 7.813 0.567 1.00 0.00 WT1 ATOM 700 OH2 TIP3 3554 12.154 4.174 0.644 1.00 0.00 WT1 ATOM 701 H1 TIP3 3554 12.352 3.541 -0.092 1.00 0.00 WT1 ATOM 702 H2 TIP3 3554 13.042 4.463 0.949 1.00 0.00 WT1 ATOM 703 OH2 TIP3 3575 13.508 13.072 5.253 1.00 0.00 WT1 ATOM 704 H1 TIP3 3575 12.990 12.911 6.067 1.00 0.00 WT1 ATOM 705 H2 TIP3 3575 13.711 12.150 4.975 1.00 0.00 WT1 ATOM 706 OH2 TIP3 3596 0.390 13.750 -2.163 1.00 0.00 WT1 ATOM 707 H1 TIP3 3596 0.520 13.665 -3.201 1.00 0.00 WT1 ATOM 708 H2 TIP3 3596 0.786 14.585 -1.923 1.00 0.00 WT1 ATOM 709 OH2 TIP3 3597 12.390 14.996 3.837 1.00 0.00 WT1 ATOM 710 H1 TIP3 3597 12.885 14.232 4.154 1.00 0.00 WT1 ATOM 711 H2 TIP3 3597 11.643 15.014 4.448 1.00 0.00 WT1 ATOM 712 OH2 TIP3 3619 10.753 -1.013 4.323 1.00 0.00 WT1 ATOM 713 H1 TIP3 3619 10.734 -1.748 4.999 1.00 0.00 WT1 ATOM 714 H2 TIP3 3619 10.520 -1.497 3.535 1.00 0.00 WT1 ATOM 715 OH2 TIP3 3650 5.070 14.006 -4.651 1.00 0.00 WT1 ATOM 716 H1 TIP3 3650 5.494 14.868 -4.522 1.00 0.00 WT1 ATOM 717 H2 TIP3 3650 4.931 13.865 -5.630 1.00 0.00 WT1 ATOM 718 OH2 TIP3 3653 13.237 2.841 7.691 1.00 0.00 WT1 ATOM 719 H1 TIP3 3653 13.538 2.580 8.561 1.00 0.00 WT1 ATOM 720 H2 TIP3 3653 12.731 3.615 7.880 1.00 0.00 WT1 ATOM 721 OH2 TIP3 3933 13.336 0.033 4.545 1.00 0.00 WT1 ATOM 722 H1 TIP3 3933 12.566 -0.511 4.840 1.00 0.00 WT1 ATOM 723 H2 TIP3 3933 12.994 0.539 3.718 1.00 0.00 WT1 ATOM 724 OH2 TIP3 3951 13.785 -4.545 2.945 1.00 0.00 WT1 ATOM 725 H1 TIP3 3951 14.330 -3.830 3.362 1.00 0.00 WT1 ATOM 726 H2 TIP3 3951 13.264 -4.037 2.298 1.00 0.00 WT1 ATOM 727 OH2 TIP3 3991 10.026 -2.624 9.892 1.00 0.00 WT1 ATOM 728 H1 TIP3 3991 9.591 -2.047 9.212 1.00 0.00 WT1 ATOM 729 H2 TIP3 3991 10.497 -1.941 10.375 1.00 0.00 WT1 ATOM 730 OH2 TIP3 3995 13.552 10.749 11.673 1.00 0.00 WT1 ATOM 731 H1 TIP3 3995 13.580 10.659 10.677 1.00 0.00 WT1 ATOM 732 H2 TIP3 3995 14.512 10.813 11.907 1.00 0.00 WT1 ATOM 733 OH2 TIP3 3996 12.767 0.763 -2.574 1.00 0.00 WT1 ATOM 734 H1 TIP3 3996 12.412 1.732 -2.421 1.00 0.00 WT1 ATOM 735 H2 TIP3 3996 12.370 0.261 -1.852 1.00 0.00 WT1 ATOM 736 OH2 TIP3 4009 14.150 1.552 9.990 1.00 0.00 WT1 ATOM 737 H1 TIP3 4009 13.849 0.773 10.559 1.00 0.00 WT1 ATOM 738 H2 TIP3 4009 14.953 1.813 10.364 1.00 0.00 WT1 ATOM 739 OH2 TIP3 4012 2.311 8.746 -4.901 1.00 0.00 WT1 ATOM 740 H1 TIP3 4012 3.170 8.533 -5.332 1.00 0.00 WT1 ATOM 741 H2 TIP3 4012 1.981 7.896 -4.781 1.00 0.00 WT1 ATOM 742 OH2 TIP3 4036 6.421 -0.317 12.400 1.00 0.00 WT1 ATOM 743 H1 TIP3 4036 6.474 -1.143 11.932 1.00 0.00 WT1 ATOM 744 H2 TIP3 4036 5.504 -0.303 12.636 1.00 0.00 WT1 ATOM 745 OH2 TIP3 4037 12.759 2.871 -5.789 1.00 0.00 WT1 ATOM 746 H1 TIP3 4037 12.524 1.921 -5.611 1.00 0.00 WT1 ATOM 747 H2 TIP3 4037 11.953 3.363 -5.675 1.00 0.00 WT1 ATOM 748 OH2 TIP3 4039 12.300 0.149 15.111 1.00 0.00 WT1 ATOM 749 H1 TIP3 4039 12.002 0.504 15.948 1.00 0.00 WT1 ATOM 750 H2 TIP3 4039 12.550 0.962 14.565 1.00 0.00 WT1 ATOM 751 OH2 TIP3 4074 0.150 12.303 0.210 1.00 0.00 WT1 ATOM 752 H1 TIP3 4074 0.387 12.720 -0.680 1.00 0.00 WT1 ATOM 753 H2 TIP3 4074 -0.651 11.774 0.005 1.00 0.00 WT1 ATOM 754 OH2 TIP3 4081 14.623 14.022 15.076 1.00 0.00 WT1 ATOM 755 H1 TIP3 4081 14.708 13.259 15.690 1.00 0.00 WT1 ATOM 756 H2 TIP3 4081 14.376 14.720 15.754 1.00 0.00 WT1 ATOM 757 OH2 TIP3 4104 10.096 8.517 15.448 1.00 0.00 WT1 ATOM 758 H1 TIP3 4104 9.742 8.179 14.613 1.00 0.00 WT1 ATOM 759 H2 TIP3 4104 11.007 8.150 15.428 1.00 0.00 WT1 ATOM 760 OH2 TIP3 4141 14.536 15.318 1.173 1.00 0.00 WT1 ATOM 761 H1 TIP3 4141 14.963 14.821 1.900 1.00 0.00 WT1 ATOM 762 H2 TIP3 4141 15.302 15.703 0.742 1.00 0.00 WT1 ATOM 763 OH2 TIP3 4480 14.273 14.234 11.969 1.00 0.00 WT1 ATOM 764 H1 TIP3 4480 13.333 14.217 12.075 1.00 0.00 WT1 ATOM 765 H2 TIP3 4480 14.564 14.531 12.895 1.00 0.00 WT1 ATOM 766 OH2 TIP3 4519 11.887 11.608 -5.499 1.00 0.00 WT1 ATOM 767 H1 TIP3 4519 11.707 11.390 -6.444 1.00 0.00 WT1 ATOM 768 H2 TIP3 4519 12.701 11.111 -5.371 1.00 0.00 WT1 ATOM 769 OH2 TIP3 4798 12.501 -4.808 15.472 1.00 0.00 WT1 ATOM 770 H1 TIP3 4798 13.077 -4.175 15.857 1.00 0.00 WT1 ATOM 771 H2 TIP3 4798 12.320 -4.371 14.607 1.00 0.00 WT1 ATOM 772 OH2 TIP3 4809 8.714 -2.377 -5.232 1.00 0.00 WT1 ATOM 773 H1 TIP3 4809 8.653 -1.693 -4.521 1.00 0.00 WT1 ATOM 774 H2 TIP3 4809 7.881 -2.874 -5.091 1.00 0.00 WT1 ATOM 775 OH2 TIP3 4849 9.324 3.908 0.801 1.00 0.00 WT1 ATOM 776 H1 TIP3 4849 9.060 3.368 0.054 1.00 0.00 WT1 ATOM 777 H2 TIP3 4849 10.120 4.351 0.636 1.00 0.00 WT1 ATOM 778 OH2 TIP3 4857 13.094 6.864 10.192 1.00 0.00 WT1 ATOM 779 H1 TIP3 4857 12.731 6.259 9.517 1.00 0.00 WT1 ATOM 780 H2 TIP3 4857 13.947 6.382 10.539 1.00 0.00 WT1 ATOM 781 OH2 TIP3 4981 13.809 10.867 8.961 1.00 0.00 WT1 ATOM 782 H1 TIP3 4981 13.458 9.967 8.676 1.00 0.00 WT1 ATOM 783 H2 TIP3 4981 13.230 11.462 8.429 1.00 0.00 WT1 ATOM 784 OH2 TIP3 5320 10.091 4.340 11.817 1.00 0.00 WT1 ATOM 785 H1 TIP3 5320 10.710 3.914 11.214 1.00 0.00 WT1 ATOM 786 H2 TIP3 5320 9.308 3.802 11.780 1.00 0.00 WT1 ATOM 787 OH2 TIP3 5341 13.422 8.282 7.731 1.00 0.00 WT1 ATOM 788 H1 TIP3 5341 13.389 7.875 8.620 1.00 0.00 WT1 ATOM 789 H2 TIP3 5341 13.780 7.503 7.163 1.00 0.00 WT1 ATOM 790 OH2 TIP3 5356 13.964 -2.882 -2.144 1.00 0.00 WT1 ATOM 791 H1 TIP3 5356 14.047 -2.156 -1.599 1.00 0.00 WT1 ATOM 792 H2 TIP3 5356 14.851 -2.925 -2.582 1.00 0.00 WT1 ATOM 793 OH2 TIP3 5901 14.517 10.534 4.933 1.00 0.00 WT1 ATOM 794 H1 TIP3 5901 14.056 9.608 4.798 1.00 0.00 WT1 ATOM 795 H2 TIP3 5901 14.962 10.323 5.722 1.00 0.00 WT1 ATOM 796 OH2 TIP3 6240 -4.104 -4.721 4.908 1.00 0.00 WT1 ATOM 797 H1 TIP3 6240 -3.494 -5.170 4.292 1.00 0.00 WT1 ATOM 798 H2 TIP3 6240 -4.988 -5.114 4.761 1.00 0.00 WT1 ATOM 799 OH2 TIP3 6671 -6.287 7.143 14.060 1.00 0.00 WT1 ATOM 800 H1 TIP3 6671 -5.950 7.907 14.609 1.00 0.00 WT1 ATOM 801 H2 TIP3 6671 -6.074 6.413 14.562 1.00 0.00 WT1 ATOM 802 OH2 TIP3 7222 -0.929 4.132 -6.516 1.00 0.00 WT1 ATOM 803 H1 TIP3 7222 -0.230 3.451 -6.209 1.00 0.00 WT1 ATOM 804 H2 TIP3 7222 -1.725 3.594 -6.684 1.00 0.00 WT1 ATOM 805 OH2 TIP3 7479 -1.044 -2.001 -3.176 1.00 0.00 WT1 ATOM 806 H1 TIP3 7479 -0.452 -1.833 -3.931 1.00 0.00 WT1 ATOM 807 H2 TIP3 7479 -0.377 -2.262 -2.502 1.00 0.00 WT1 ATOM 808 OH2 TIP3 7510 -2.034 6.015 5.114 1.00 0.00 WT1 ATOM 809 H1 TIP3 7510 -1.872 6.971 5.140 1.00 0.00 WT1 ATOM 810 H2 TIP3 7510 -1.570 5.735 5.898 1.00 0.00 WT1 ATOM 811 OH2 TIP3 7563 -1.988 13.634 8.435 1.00 0.00 WT1 ATOM 812 H1 TIP3 7563 -1.957 14.543 8.062 1.00 0.00 WT1 ATOM 813 H2 TIP3 7563 -1.932 13.050 7.689 1.00 0.00 WT1 ATOM 814 OH2 TIP3 7630 -5.005 7.794 0.297 1.00 0.00 WT1 ATOM 815 H1 TIP3 7630 -4.465 8.391 0.857 1.00 0.00 WT1 ATOM 816 H2 TIP3 7630 -5.544 7.351 0.963 1.00 0.00 WT1 ATOM 817 OH2 TIP3 7707 -6.496 -2.889 0.234 1.00 0.00 WT1 ATOM 818 H1 TIP3 7707 -5.696 -2.480 -0.177 1.00 0.00 WT1 ATOM 819 H2 TIP3 7707 -7.131 -2.241 0.050 1.00 0.00 WT1 ATOM 820 OH2 TIP3 7985 -6.735 1.696 2.260 1.00 0.00 WT1 ATOM 821 H1 TIP3 7985 -6.982 0.809 2.215 1.00 0.00 WT1 ATOM 822 H2 TIP3 7985 -6.388 1.893 1.376 1.00 0.00 WT1 ATOM 823 OH2 TIP3 8023 -6.271 6.650 -5.943 1.00 0.00 WT1 ATOM 824 H1 TIP3 8023 -6.561 6.030 -6.612 1.00 0.00 WT1 ATOM 825 H2 TIP3 8023 -5.894 6.114 -5.252 1.00 0.00 WT1 ATOM 826 OH2 TIP3 8029 0.705 11.327 7.480 1.00 0.00 WT1 ATOM 827 H1 TIP3 8029 0.751 11.511 6.478 1.00 0.00 WT1 ATOM 828 H2 TIP3 8029 1.418 11.892 7.854 1.00 0.00 WT1 ATOM 829 OH2 TIP3 8364 1.377 5.254 10.001 1.00 0.00 WT1 ATOM 830 H1 TIP3 8364 0.732 5.518 9.322 1.00 0.00 WT1 ATOM 831 H2 TIP3 8364 1.125 4.338 10.243 1.00 0.00 WT1 ATOM 832 OH2 TIP3 8403 -2.433 13.339 -4.066 1.00 0.00 WT1 ATOM 833 H1 TIP3 8403 -2.430 13.308 -3.120 1.00 0.00 WT1 ATOM 834 H2 TIP3 8403 -1.884 12.636 -4.268 1.00 0.00 WT1 ATOM 835 OH2 TIP3 8411 -3.778 -5.553 7.613 1.00 0.00 WT1 ATOM 836 H1 TIP3 8411 -3.836 -5.426 6.666 1.00 0.00 WT1 ATOM 837 H2 TIP3 8411 -2.806 -5.480 7.844 1.00 0.00 WT1 ATOM 838 OH2 TIP3 8425 -4.906 -1.748 -5.680 1.00 0.00 WT1 ATOM 839 H1 TIP3 8425 -4.483 -2.278 -6.320 1.00 0.00 WT1 ATOM 840 H2 TIP3 8425 -5.628 -2.264 -5.465 1.00 0.00 WT1 ATOM 841 OH2 TIP3 8466 -1.836 9.789 -0.892 1.00 0.00 WT1 ATOM 842 H1 TIP3 8466 -2.242 10.541 -0.415 1.00 0.00 WT1 ATOM 843 H2 TIP3 8466 -2.220 9.009 -0.458 1.00 0.00 WT1 ATOM 844 OH2 TIP3 8468 -5.872 7.907 6.949 1.00 0.00 WT1 ATOM 845 H1 TIP3 8468 -5.590 7.680 6.083 1.00 0.00 WT1 ATOM 846 H2 TIP3 8468 -6.279 8.773 6.754 1.00 0.00 WT1 ATOM 847 OH2 TIP3 8528 -1.171 10.415 -3.554 1.00 0.00 WT1 ATOM 848 H1 TIP3 8528 -1.168 10.365 -2.588 1.00 0.00 WT1 ATOM 849 H2 TIP3 8528 -1.935 9.846 -3.834 1.00 0.00 WT1 ATOM 850 OH2 TIP3 8536 -3.977 8.309 10.892 1.00 0.00 WT1 ATOM 851 H1 TIP3 8536 -3.237 8.412 11.493 1.00 0.00 WT1 ATOM 852 H2 TIP3 8536 -4.599 9.015 11.041 1.00 0.00 WT1 ATOM 853 OH2 TIP3 8548 6.455 10.428 -1.611 1.00 0.00 WT1 ATOM 854 H1 TIP3 8548 6.915 9.724 -2.008 1.00 0.00 WT1 ATOM 855 H2 TIP3 8548 5.571 10.054 -1.537 1.00 0.00 WT1 ATOM 856 OH2 TIP3 8556 -5.203 10.965 11.783 1.00 0.00 WT1 ATOM 857 H1 TIP3 8556 -5.263 11.511 12.649 1.00 0.00 WT1 ATOM 858 H2 TIP3 8556 -4.528 11.447 11.276 1.00 0.00 WT1 ATOM 859 OH2 TIP3 8760 6.273 14.821 -0.335 1.00 0.00 WT1 ATOM 860 H1 TIP3 8760 6.360 14.043 0.079 1.00 0.00 WT1 ATOM 861 H2 TIP3 8760 6.015 14.500 -1.279 1.00 0.00 WT1 ATOM 862 OH2 TIP3 8780 -3.746 2.429 -6.564 1.00 0.00 WT1 ATOM 863 H1 TIP3 8780 -4.637 2.177 -6.303 1.00 0.00 WT1 ATOM 864 H2 TIP3 8780 -3.295 2.105 -5.787 1.00 0.00 WT1 ATOM 865 OH2 TIP3 8822 -5.622 0.866 5.359 1.00 0.00 WT1 ATOM 866 H1 TIP3 8822 -6.224 1.580 5.169 1.00 0.00 WT1 ATOM 867 H2 TIP3 8822 -5.987 0.157 4.673 1.00 0.00 WT1 ATOM 868 OH2 TIP3 8829 -5.870 3.715 0.293 1.00 0.00 WT1 ATOM 869 H1 TIP3 8829 -5.851 3.036 -0.436 1.00 0.00 WT1 ATOM 870 H2 TIP3 8829 -5.128 4.283 0.100 1.00 0.00 WT1 ATOM 871 OH2 TIP3 8843 0.388 -5.250 -3.402 1.00 0.00 WT1 ATOM 872 H1 TIP3 8843 0.452 -5.331 -4.377 1.00 0.00 WT1 ATOM 873 H2 TIP3 8843 -0.556 -5.436 -3.350 1.00 0.00 WT1 ATOM 874 OH2 TIP3 8845 -6.051 1.410 -1.802 1.00 0.00 WT1 ATOM 875 H1 TIP3 8845 -5.983 1.432 -2.743 1.00 0.00 WT1 ATOM 876 H2 TIP3 8845 -6.826 0.879 -1.578 1.00 0.00 WT1 ATOM 877 OH2 TIP3 8869 -1.905 0.085 4.577 1.00 0.00 WT1 ATOM 878 H1 TIP3 8869 -2.680 -0.337 4.087 1.00 0.00 WT1 ATOM 879 H2 TIP3 8869 -1.620 -0.684 5.139 1.00 0.00 WT1 ATOM 880 OH2 TIP3 8887 1.706 15.371 9.190 1.00 0.00 WT1 ATOM 881 H1 TIP3 8887 1.514 15.902 8.420 1.00 0.00 WT1 ATOM 882 H2 TIP3 8887 2.616 15.670 9.364 1.00 0.00 WT1 ATOM 883 OH2 TIP3 8903 9.144 -4.519 -1.095 1.00 0.00 WT1 ATOM 884 H1 TIP3 8903 9.908 -5.131 -1.002 1.00 0.00 WT1 ATOM 885 H2 TIP3 8903 8.412 -5.035 -0.731 1.00 0.00 WT1 ATOM 886 OH2 TIP3 8905 0.650 8.738 0.647 1.00 0.00 WT1 ATOM 887 H1 TIP3 8905 -0.079 9.047 0.113 1.00 0.00 WT1 ATOM 888 H2 TIP3 8905 1.010 8.044 0.046 1.00 0.00 WT1 ATOM 889 OH2 TIP3 8931 -1.517 6.142 12.662 1.00 0.00 WT1 ATOM 890 H1 TIP3 8931 -1.537 7.073 12.617 1.00 0.00 WT1 ATOM 891 H2 TIP3 8931 -1.295 5.959 11.738 1.00 0.00 WT1 ATOM 892 OH2 TIP3 8935 -6.509 5.904 4.072 1.00 0.00 WT1 ATOM 893 H1 TIP3 8935 -5.587 5.876 3.694 1.00 0.00 WT1 ATOM 894 H2 TIP3 8935 -6.919 6.480 3.459 1.00 0.00 WT1 ATOM 895 OH2 TIP3 8949 1.598 11.517 -4.518 1.00 0.00 WT1 ATOM 896 H1 TIP3 8949 0.820 11.116 -4.083 1.00 0.00 WT1 ATOM 897 H2 TIP3 8949 1.956 10.752 -4.910 1.00 0.00 WT1 ATOM 898 OH2 TIP3 8956 -5.071 0.846 15.013 1.00 0.00 WT1 ATOM 899 H1 TIP3 8956 -5.014 -0.094 15.280 1.00 0.00 WT1 ATOM 900 H2 TIP3 8956 -4.738 1.279 15.827 1.00 0.00 WT1 ATOM 901 OH2 TIP3 8977 -4.601 10.453 5.166 1.00 0.00 WT1 ATOM 902 H1 TIP3 8977 -3.693 10.838 5.179 1.00 0.00 WT1 ATOM 903 H2 TIP3 8977 -4.872 10.642 6.007 1.00 0.00 WT1 ATOM 904 OH2 TIP3 8988 -4.938 15.213 -1.885 1.00 0.00 WT1 ATOM 905 H1 TIP3 8988 -5.573 14.427 -1.995 1.00 0.00 WT1 ATOM 906 H2 TIP3 8988 -4.105 14.803 -1.685 1.00 0.00 WT1 ATOM 907 OH2 TIP3 9082 0.972 11.894 4.640 1.00 0.00 WT1 ATOM 908 H1 TIP3 9082 1.171 12.675 4.041 1.00 0.00 WT1 ATOM 909 H2 TIP3 9082 1.150 11.150 3.994 1.00 0.00 WT1 ATOM 910 OH2 TIP3 9096 -4.269 8.527 -3.487 1.00 0.00 WT1 ATOM 911 H1 TIP3 9096 -5.029 8.744 -2.964 1.00 0.00 WT1 ATOM 912 H2 TIP3 9096 -4.465 7.663 -3.869 1.00 0.00 WT1 ATOM 913 OH2 TIP3 9226 1.394 -4.838 -0.529 1.00 0.00 WT1 ATOM 914 H1 TIP3 9226 0.744 -5.140 -1.187 1.00 0.00 WT1 ATOM 915 H2 TIP3 9226 1.379 -3.869 -0.545 1.00 0.00 WT1 ATOM 916 OH2 TIP3 9241 0.103 4.502 6.935 1.00 0.00 WT1 ATOM 917 H1 TIP3 9241 -0.553 3.803 7.197 1.00 0.00 WT1 ATOM 918 H2 TIP3 9241 0.935 3.999 6.972 1.00 0.00 WT1 ATOM 919 OH2 TIP3 9250 -3.837 4.817 12.934 1.00 0.00 WT1 ATOM 920 H1 TIP3 9250 -4.392 5.285 12.308 1.00 0.00 WT1 ATOM 921 H2 TIP3 9250 -2.920 4.969 12.576 1.00 0.00 WT1 END protomol/examples/decalanine_66/alanine.water.psf0100644027616700000500000027115710237151526021507 0ustar pbrenne1dipPSF 1 !NTITLE REMARKS original generated structure x-plor psf file 921 !NATOM 1 MAIN 1 ACE CA CH3E 0.000000 15.0350 0 2 MAIN 1 ACE C C 0.450000 12.0110 0 3 MAIN 1 ACE O O -0.450000 15.9994 0 4 MAIN 2 ALA N NH1 -0.350000 14.0067 0 5 MAIN 2 ALA H H 0.250000 1.0080 0 6 MAIN 2 ALA CA CH1E 0.100000 13.0190 0 7 MAIN 2 ALA CB CH3E 0.000000 15.0350 0 8 MAIN 2 ALA C C 0.450000 12.0110 0 9 MAIN 2 ALA O O -0.450000 15.9994 0 10 MAIN 3 ALA N NH1 -0.350000 14.0067 0 11 MAIN 3 ALA H H 0.250000 1.0080 0 12 MAIN 3 ALA CA CH1E 0.100000 13.0190 0 13 MAIN 3 ALA CB CH3E 0.000000 15.0350 0 14 MAIN 3 ALA C C 0.450000 12.0110 0 15 MAIN 3 ALA O O -0.450000 15.9994 0 16 MAIN 4 ALA N NH1 -0.350000 14.0067 0 17 MAIN 4 ALA H H 0.250000 1.0080 0 18 MAIN 4 ALA CA CH1E 0.100000 13.0190 0 19 MAIN 4 ALA CB CH3E 0.000000 15.0350 0 20 MAIN 4 ALA C C 0.450000 12.0110 0 21 MAIN 4 ALA O O -0.450000 15.9994 0 22 MAIN 5 ALA N NH1 -0.350000 14.0067 0 23 MAIN 5 ALA H H 0.250000 1.0080 0 24 MAIN 5 ALA CA CH1E 0.100000 13.0190 0 25 MAIN 5 ALA CB CH3E 0.000000 15.0350 0 26 MAIN 5 ALA C C 0.450000 12.0110 0 27 MAIN 5 ALA O O -0.450000 15.9994 0 28 MAIN 6 ALA N NH1 -0.350000 14.0067 0 29 MAIN 6 ALA H H 0.250000 1.0080 0 30 MAIN 6 ALA CA CH1E 0.100000 13.0190 0 31 MAIN 6 ALA CB CH3E 0.000000 15.0350 0 32 MAIN 6 ALA C C 0.450000 12.0110 0 33 MAIN 6 ALA O O -0.450000 15.9994 0 34 MAIN 7 ALA N NH1 -0.350000 14.0067 0 35 MAIN 7 ALA H H 0.250000 1.0080 0 36 MAIN 7 ALA CA CH1E 0.100000 13.0190 0 37 MAIN 7 ALA CB CH3E 0.000000 15.0350 0 38 MAIN 7 ALA C C 0.450000 12.0110 0 39 MAIN 7 ALA O O -0.450000 15.9994 0 40 MAIN 8 ALA N NH1 -0.350000 14.0067 0 41 MAIN 8 ALA H H 0.250000 1.0080 0 42 MAIN 8 ALA CA CH1E 0.100000 13.0190 0 43 MAIN 8 ALA CB CH3E 0.000000 15.0350 0 44 MAIN 8 ALA C C 0.450000 12.0110 0 45 MAIN 8 ALA O O -0.450000 15.9994 0 46 MAIN 9 ALA N NH1 -0.350000 14.0067 0 47 MAIN 9 ALA H H 0.250000 1.0080 0 48 MAIN 9 ALA CA CH1E 0.100000 13.0190 0 49 MAIN 9 ALA CB CH3E 0.000000 15.0350 0 50 MAIN 9 ALA C C 0.450000 12.0110 0 51 MAIN 9 ALA O O -0.450000 15.9994 0 52 MAIN 10 ALA N NH1 -0.350000 14.0067 0 53 MAIN 10 ALA H H 0.250000 1.0080 0 54 MAIN 10 ALA CA CH1E 0.100000 13.0190 0 55 MAIN 10 ALA CB CH3E 0.000000 15.0350 0 56 MAIN 10 ALA C C 0.450000 12.0110 0 57 MAIN 10 ALA O O -0.450000 15.9994 0 58 MAIN 11 ALA N NH1 -0.350000 14.0067 0 59 MAIN 11 ALA H H 0.250000 1.0080 0 60 MAIN 11 ALA CA CH1E 0.100000 13.0190 0 61 MAIN 11 ALA CB CH3E 0.000000 15.0350 0 62 MAIN 11 ALA C C 0.450000 12.0110 0 63 MAIN 11 ALA O O -0.450000 15.9994 0 64 MAIN 12 CBX N NH1 -0.350000 14.0067 0 65 MAIN 12 CBX H H 0.250000 1.0080 0 66 MAIN 12 CBX CA CH3E 0.100000 15.0350 0 67 WT1 5 TIP3 OH2 OT -0.834000 15.9994 0 68 WT1 5 TIP3 H1 HT 0.417000 1.0080 0 69 WT1 5 TIP3 H2 HT 0.417000 1.0080 0 70 WT1 7 TIP3 OH2 OT -0.834000 15.9994 0 71 WT1 7 TIP3 H1 HT 0.417000 1.0080 0 72 WT1 7 TIP3 H2 HT 0.417000 1.0080 0 73 WT1 21 TIP3 OH2 OT -0.834000 15.9994 0 74 WT1 21 TIP3 H1 HT 0.417000 1.0080 0 75 WT1 21 TIP3 H2 HT 0.417000 1.0080 0 76 WT1 29 TIP3 OH2 OT -0.834000 15.9994 0 77 WT1 29 TIP3 H1 HT 0.417000 1.0080 0 78 WT1 29 TIP3 H2 HT 0.417000 1.0080 0 79 WT1 44 TIP3 OH2 OT -0.834000 15.9994 0 80 WT1 44 TIP3 H1 HT 0.417000 1.0080 0 81 WT1 44 TIP3 H2 HT 0.417000 1.0080 0 82 WT1 46 TIP3 OH2 OT -0.834000 15.9994 0 83 WT1 46 TIP3 H1 HT 0.417000 1.0080 0 84 WT1 46 TIP3 H2 HT 0.417000 1.0080 0 85 WT1 47 TIP3 OH2 OT -0.834000 15.9994 0 86 WT1 47 TIP3 H1 HT 0.417000 1.0080 0 87 WT1 47 TIP3 H2 HT 0.417000 1.0080 0 88 WT1 48 TIP3 OH2 OT -0.834000 15.9994 0 89 WT1 48 TIP3 H1 HT 0.417000 1.0080 0 90 WT1 48 TIP3 H2 HT 0.417000 1.0080 0 91 WT1 52 TIP3 OH2 OT -0.834000 15.9994 0 92 WT1 52 TIP3 H1 HT 0.417000 1.0080 0 93 WT1 52 TIP3 H2 HT 0.417000 1.0080 0 94 WT1 67 TIP3 OH2 OT -0.834000 15.9994 0 95 WT1 67 TIP3 H1 HT 0.417000 1.0080 0 96 WT1 67 TIP3 H2 HT 0.417000 1.0080 0 97 WT1 87 TIP3 OH2 OT -0.834000 15.9994 0 98 WT1 87 TIP3 H1 HT 0.417000 1.0080 0 99 WT1 87 TIP3 H2 HT 0.417000 1.0080 0 100 WT1 88 TIP3 OH2 OT -0.834000 15.9994 0 101 WT1 88 TIP3 H1 HT 0.417000 1.0080 0 102 WT1 88 TIP3 H2 HT 0.417000 1.0080 0 103 WT1 90 TIP3 OH2 OT -0.834000 15.9994 0 104 WT1 90 TIP3 H1 HT 0.417000 1.0080 0 105 WT1 90 TIP3 H2 HT 0.417000 1.0080 0 106 WT1 111 TIP3 OH2 OT -0.834000 15.9994 0 107 WT1 111 TIP3 H1 HT 0.417000 1.0080 0 108 WT1 111 TIP3 H2 HT 0.417000 1.0080 0 109 WT1 130 TIP3 OH2 OT -0.834000 15.9994 0 110 WT1 130 TIP3 H1 HT 0.417000 1.0080 0 111 WT1 130 TIP3 H2 HT 0.417000 1.0080 0 112 WT1 133 TIP3 OH2 OT -0.834000 15.9994 0 113 WT1 133 TIP3 H1 HT 0.417000 1.0080 0 114 WT1 133 TIP3 H2 HT 0.417000 1.0080 0 115 WT1 150 TIP3 OH2 OT -0.834000 15.9994 0 116 WT1 150 TIP3 H1 HT 0.417000 1.0080 0 117 WT1 150 TIP3 H2 HT 0.417000 1.0080 0 118 WT1 167 TIP3 OH2 OT -0.834000 15.9994 0 119 WT1 167 TIP3 H1 HT 0.417000 1.0080 0 120 WT1 167 TIP3 H2 HT 0.417000 1.0080 0 121 WT1 239 TIP3 OH2 OT -0.834000 15.9994 0 122 WT1 239 TIP3 H1 HT 0.417000 1.0080 0 123 WT1 239 TIP3 H2 HT 0.417000 1.0080 0 124 WT1 424 TIP3 OH2 OT -0.834000 15.9994 0 125 WT1 424 TIP3 H1 HT 0.417000 1.0080 0 126 WT1 424 TIP3 H2 HT 0.417000 1.0080 0 127 WT1 450 TIP3 OH2 OT -0.834000 15.9994 0 128 WT1 450 TIP3 H1 HT 0.417000 1.0080 0 129 WT1 450 TIP3 H2 HT 0.417000 1.0080 0 130 WT1 465 TIP3 OH2 OT -0.834000 15.9994 0 131 WT1 465 TIP3 H1 HT 0.417000 1.0080 0 132 WT1 465 TIP3 H2 HT 0.417000 1.0080 0 133 WT1 484 TIP3 OH2 OT -0.834000 15.9994 0 134 WT1 484 TIP3 H1 HT 0.417000 1.0080 0 135 WT1 484 TIP3 H2 HT 0.417000 1.0080 0 136 WT1 486 TIP3 OH2 OT -0.834000 15.9994 0 137 WT1 486 TIP3 H1 HT 0.417000 1.0080 0 138 WT1 486 TIP3 H2 HT 0.417000 1.0080 0 139 WT1 489 TIP3 OH2 OT -0.834000 15.9994 0 140 WT1 489 TIP3 H1 HT 0.417000 1.0080 0 141 WT1 489 TIP3 H2 HT 0.417000 1.0080 0 142 WT1 503 TIP3 OH2 OT -0.834000 15.9994 0 143 WT1 503 TIP3 H1 HT 0.417000 1.0080 0 144 WT1 503 TIP3 H2 HT 0.417000 1.0080 0 145 WT1 506 TIP3 OH2 OT -0.834000 15.9994 0 146 WT1 506 TIP3 H1 HT 0.417000 1.0080 0 147 WT1 506 TIP3 H2 HT 0.417000 1.0080 0 148 WT1 509 TIP3 OH2 OT -0.834000 15.9994 0 149 WT1 509 TIP3 H1 HT 0.417000 1.0080 0 150 WT1 509 TIP3 H2 HT 0.417000 1.0080 0 151 WT1 511 TIP3 OH2 OT -0.834000 15.9994 0 152 WT1 511 TIP3 H1 HT 0.417000 1.0080 0 153 WT1 511 TIP3 H2 HT 0.417000 1.0080 0 154 WT1 512 TIP3 OH2 OT -0.834000 15.9994 0 155 WT1 512 TIP3 H1 HT 0.417000 1.0080 0 156 WT1 512 TIP3 H2 HT 0.417000 1.0080 0 157 WT1 517 TIP3 OH2 OT -0.834000 15.9994 0 158 WT1 517 TIP3 H1 HT 0.417000 1.0080 0 159 WT1 517 TIP3 H2 HT 0.417000 1.0080 0 160 WT1 533 TIP3 OH2 OT -0.834000 15.9994 0 161 WT1 533 TIP3 H1 HT 0.417000 1.0080 0 162 WT1 533 TIP3 H2 HT 0.417000 1.0080 0 163 WT1 534 TIP3 OH2 OT -0.834000 15.9994 0 164 WT1 534 TIP3 H1 HT 0.417000 1.0080 0 165 WT1 534 TIP3 H2 HT 0.417000 1.0080 0 166 WT1 543 TIP3 OH2 OT -0.834000 15.9994 0 167 WT1 543 TIP3 H1 HT 0.417000 1.0080 0 168 WT1 543 TIP3 H2 HT 0.417000 1.0080 0 169 WT1 550 TIP3 OH2 OT -0.834000 15.9994 0 170 WT1 550 TIP3 H1 HT 0.417000 1.0080 0 171 WT1 550 TIP3 H2 HT 0.417000 1.0080 0 172 WT1 554 TIP3 OH2 OT -0.834000 15.9994 0 173 WT1 554 TIP3 H1 HT 0.417000 1.0080 0 174 WT1 554 TIP3 H2 HT 0.417000 1.0080 0 175 WT1 558 TIP3 OH2 OT -0.834000 15.9994 0 176 WT1 558 TIP3 H1 HT 0.417000 1.0080 0 177 WT1 558 TIP3 H2 HT 0.417000 1.0080 0 178 WT1 575 TIP3 OH2 OT -0.834000 15.9994 0 179 WT1 575 TIP3 H1 HT 0.417000 1.0080 0 180 WT1 575 TIP3 H2 HT 0.417000 1.0080 0 181 WT1 595 TIP3 OH2 OT -0.834000 15.9994 0 182 WT1 595 TIP3 H1 HT 0.417000 1.0080 0 183 WT1 595 TIP3 H2 HT 0.417000 1.0080 0 184 WT1 634 TIP3 OH2 OT -0.834000 15.9994 0 185 WT1 634 TIP3 H1 HT 0.417000 1.0080 0 186 WT1 634 TIP3 H2 HT 0.417000 1.0080 0 187 WT1 659 TIP3 OH2 OT -0.834000 15.9994 0 188 WT1 659 TIP3 H1 HT 0.417000 1.0080 0 189 WT1 659 TIP3 H2 HT 0.417000 1.0080 0 190 WT1 822 TIP3 OH2 OT -0.834000 15.9994 0 191 WT1 822 TIP3 H1 HT 0.417000 1.0080 0 192 WT1 822 TIP3 H2 HT 0.417000 1.0080 0 193 WT1 849 TIP3 OH2 OT -0.834000 15.9994 0 194 WT1 849 TIP3 H1 HT 0.417000 1.0080 0 195 WT1 849 TIP3 H2 HT 0.417000 1.0080 0 196 WT1 867 TIP3 OH2 OT -0.834000 15.9994 0 197 WT1 867 TIP3 H1 HT 0.417000 1.0080 0 198 WT1 867 TIP3 H2 HT 0.417000 1.0080 0 199 WT1 891 TIP3 OH2 OT -0.834000 15.9994 0 200 WT1 891 TIP3 H1 HT 0.417000 1.0080 0 201 WT1 891 TIP3 H2 HT 0.417000 1.0080 0 202 WT1 906 TIP3 OH2 OT -0.834000 15.9994 0 203 WT1 906 TIP3 H1 HT 0.417000 1.0080 0 204 WT1 906 TIP3 H2 HT 0.417000 1.0080 0 205 WT1 907 TIP3 OH2 OT -0.834000 15.9994 0 206 WT1 907 TIP3 H1 HT 0.417000 1.0080 0 207 WT1 907 TIP3 H2 HT 0.417000 1.0080 0 208 WT1 908 TIP3 OH2 OT -0.834000 15.9994 0 209 WT1 908 TIP3 H1 HT 0.417000 1.0080 0 210 WT1 908 TIP3 H2 HT 0.417000 1.0080 0 211 WT1 924 TIP3 OH2 OT -0.834000 15.9994 0 212 WT1 924 TIP3 H1 HT 0.417000 1.0080 0 213 WT1 924 TIP3 H2 HT 0.417000 1.0080 0 214 WT1 928 TIP3 OH2 OT -0.834000 15.9994 0 215 WT1 928 TIP3 H1 HT 0.417000 1.0080 0 216 WT1 928 TIP3 H2 HT 0.417000 1.0080 0 217 WT1 930 TIP3 OH2 OT -0.834000 15.9994 0 218 WT1 930 TIP3 H1 HT 0.417000 1.0080 0 219 WT1 930 TIP3 H2 HT 0.417000 1.0080 0 220 WT1 932 TIP3 OH2 OT -0.834000 15.9994 0 221 WT1 932 TIP3 H1 HT 0.417000 1.0080 0 222 WT1 932 TIP3 H2 HT 0.417000 1.0080 0 223 WT1 933 TIP3 OH2 OT -0.834000 15.9994 0 224 WT1 933 TIP3 H1 HT 0.417000 1.0080 0 225 WT1 933 TIP3 H2 HT 0.417000 1.0080 0 226 WT1 942 TIP3 OH2 OT -0.834000 15.9994 0 227 WT1 942 TIP3 H1 HT 0.417000 1.0080 0 228 WT1 942 TIP3 H2 HT 0.417000 1.0080 0 229 WT1 947 TIP3 OH2 OT -0.834000 15.9994 0 230 WT1 947 TIP3 H1 HT 0.417000 1.0080 0 231 WT1 947 TIP3 H2 HT 0.417000 1.0080 0 232 WT1 948 TIP3 OH2 OT -0.834000 15.9994 0 233 WT1 948 TIP3 H1 HT 0.417000 1.0080 0 234 WT1 948 TIP3 H2 HT 0.417000 1.0080 0 235 WT1 950 TIP3 OH2 OT -0.834000 15.9994 0 236 WT1 950 TIP3 H1 HT 0.417000 1.0080 0 237 WT1 950 TIP3 H2 HT 0.417000 1.0080 0 238 WT1 952 TIP3 OH2 OT -0.834000 15.9994 0 239 WT1 952 TIP3 H1 HT 0.417000 1.0080 0 240 WT1 952 TIP3 H2 HT 0.417000 1.0080 0 241 WT1 953 TIP3 OH2 OT -0.834000 15.9994 0 242 WT1 953 TIP3 H1 HT 0.417000 1.0080 0 243 WT1 953 TIP3 H2 HT 0.417000 1.0080 0 244 WT1 964 TIP3 OH2 OT -0.834000 15.9994 0 245 WT1 964 TIP3 H1 HT 0.417000 1.0080 0 246 WT1 964 TIP3 H2 HT 0.417000 1.0080 0 247 WT1 974 TIP3 OH2 OT -0.834000 15.9994 0 248 WT1 974 TIP3 H1 HT 0.417000 1.0080 0 249 WT1 974 TIP3 H2 HT 0.417000 1.0080 0 250 WT1 975 TIP3 OH2 OT -0.834000 15.9994 0 251 WT1 975 TIP3 H1 HT 0.417000 1.0080 0 252 WT1 975 TIP3 H2 HT 0.417000 1.0080 0 253 WT1 992 TIP3 OH2 OT -0.834000 15.9994 0 254 WT1 992 TIP3 H1 HT 0.417000 1.0080 0 255 WT1 992 TIP3 H2 HT 0.417000 1.0080 0 256 WT1 995 TIP3 OH2 OT -0.834000 15.9994 0 257 WT1 995 TIP3 H1 HT 0.417000 1.0080 0 258 WT1 995 TIP3 H2 HT 0.417000 1.0080 0 259 WT1 1007 TIP3 OH2 OT -0.834000 15.9994 0 260 WT1 1007 TIP3 H1 HT 0.417000 1.0080 0 261 WT1 1007 TIP3 H2 HT 0.417000 1.0080 0 262 WT1 1011 TIP3 OH2 OT -0.834000 15.9994 0 263 WT1 1011 TIP3 H1 HT 0.417000 1.0080 0 264 WT1 1011 TIP3 H2 HT 0.417000 1.0080 0 265 WT1 1013 TIP3 OH2 OT -0.834000 15.9994 0 266 WT1 1013 TIP3 H1 HT 0.417000 1.0080 0 267 WT1 1013 TIP3 H2 HT 0.417000 1.0080 0 268 WT1 1014 TIP3 OH2 OT -0.834000 15.9994 0 269 WT1 1014 TIP3 H1 HT 0.417000 1.0080 0 270 WT1 1014 TIP3 H2 HT 0.417000 1.0080 0 271 WT1 1017 TIP3 OH2 OT -0.834000 15.9994 0 272 WT1 1017 TIP3 H1 HT 0.417000 1.0080 0 273 WT1 1017 TIP3 H2 HT 0.417000 1.0080 0 274 WT1 1018 TIP3 OH2 OT -0.834000 15.9994 0 275 WT1 1018 TIP3 H1 HT 0.417000 1.0080 0 276 WT1 1018 TIP3 H2 HT 0.417000 1.0080 0 277 WT1 1027 TIP3 OH2 OT -0.834000 15.9994 0 278 WT1 1027 TIP3 H1 HT 0.417000 1.0080 0 279 WT1 1027 TIP3 H2 HT 0.417000 1.0080 0 280 WT1 1115 TIP3 OH2 OT -0.834000 15.9994 0 281 WT1 1115 TIP3 H1 HT 0.417000 1.0080 0 282 WT1 1115 TIP3 H2 HT 0.417000 1.0080 0 283 WT1 1117 TIP3 OH2 OT -0.834000 15.9994 0 284 WT1 1117 TIP3 H1 HT 0.417000 1.0080 0 285 WT1 1117 TIP3 H2 HT 0.417000 1.0080 0 286 WT1 1301 TIP3 OH2 OT -0.834000 15.9994 0 287 WT1 1301 TIP3 H1 HT 0.417000 1.0080 0 288 WT1 1301 TIP3 H2 HT 0.417000 1.0080 0 289 WT1 1307 TIP3 OH2 OT -0.834000 15.9994 0 290 WT1 1307 TIP3 H1 HT 0.417000 1.0080 0 291 WT1 1307 TIP3 H2 HT 0.417000 1.0080 0 292 WT1 1326 TIP3 OH2 OT -0.834000 15.9994 0 293 WT1 1326 TIP3 H1 HT 0.417000 1.0080 0 294 WT1 1326 TIP3 H2 HT 0.417000 1.0080 0 295 WT1 1327 TIP3 OH2 OT -0.834000 15.9994 0 296 WT1 1327 TIP3 H1 HT 0.417000 1.0080 0 297 WT1 1327 TIP3 H2 HT 0.417000 1.0080 0 298 WT1 1328 TIP3 OH2 OT -0.834000 15.9994 0 299 WT1 1328 TIP3 H1 HT 0.417000 1.0080 0 300 WT1 1328 TIP3 H2 HT 0.417000 1.0080 0 301 WT1 1329 TIP3 OH2 OT -0.834000 15.9994 0 302 WT1 1329 TIP3 H1 HT 0.417000 1.0080 0 303 WT1 1329 TIP3 H2 HT 0.417000 1.0080 0 304 WT1 1330 TIP3 OH2 OT -0.834000 15.9994 0 305 WT1 1330 TIP3 H1 HT 0.417000 1.0080 0 306 WT1 1330 TIP3 H2 HT 0.417000 1.0080 0 307 WT1 1333 TIP3 OH2 OT -0.834000 15.9994 0 308 WT1 1333 TIP3 H1 HT 0.417000 1.0080 0 309 WT1 1333 TIP3 H2 HT 0.417000 1.0080 0 310 WT1 1346 TIP3 OH2 OT -0.834000 15.9994 0 311 WT1 1346 TIP3 H1 HT 0.417000 1.0080 0 312 WT1 1346 TIP3 H2 HT 0.417000 1.0080 0 313 WT1 1367 TIP3 OH2 OT -0.834000 15.9994 0 314 WT1 1367 TIP3 H1 HT 0.417000 1.0080 0 315 WT1 1367 TIP3 H2 HT 0.417000 1.0080 0 316 WT1 1368 TIP3 OH2 OT -0.834000 15.9994 0 317 WT1 1368 TIP3 H1 HT 0.417000 1.0080 0 318 WT1 1368 TIP3 H2 HT 0.417000 1.0080 0 319 WT1 1374 TIP3 OH2 OT -0.834000 15.9994 0 320 WT1 1374 TIP3 H1 HT 0.417000 1.0080 0 321 WT1 1374 TIP3 H2 HT 0.417000 1.0080 0 322 WT1 1387 TIP3 OH2 OT -0.834000 15.9994 0 323 WT1 1387 TIP3 H1 HT 0.417000 1.0080 0 324 WT1 1387 TIP3 H2 HT 0.417000 1.0080 0 325 WT1 1414 TIP3 OH2 OT -0.834000 15.9994 0 326 WT1 1414 TIP3 H1 HT 0.417000 1.0080 0 327 WT1 1414 TIP3 H2 HT 0.417000 1.0080 0 328 WT1 1415 TIP3 OH2 OT -0.834000 15.9994 0 329 WT1 1415 TIP3 H1 HT 0.417000 1.0080 0 330 WT1 1415 TIP3 H2 HT 0.417000 1.0080 0 331 WT1 1418 TIP3 OH2 OT -0.834000 15.9994 0 332 WT1 1418 TIP3 H1 HT 0.417000 1.0080 0 333 WT1 1418 TIP3 H2 HT 0.417000 1.0080 0 334 WT1 1428 TIP3 OH2 OT -0.834000 15.9994 0 335 WT1 1428 TIP3 H1 HT 0.417000 1.0080 0 336 WT1 1428 TIP3 H2 HT 0.417000 1.0080 0 337 WT1 1429 TIP3 OH2 OT -0.834000 15.9994 0 338 WT1 1429 TIP3 H1 HT 0.417000 1.0080 0 339 WT1 1429 TIP3 H2 HT 0.417000 1.0080 0 340 WT1 1433 TIP3 OH2 OT -0.834000 15.9994 0 341 WT1 1433 TIP3 H1 HT 0.417000 1.0080 0 342 WT1 1433 TIP3 H2 HT 0.417000 1.0080 0 343 WT1 1435 TIP3 OH2 OT -0.834000 15.9994 0 344 WT1 1435 TIP3 H1 HT 0.417000 1.0080 0 345 WT1 1435 TIP3 H2 HT 0.417000 1.0080 0 346 WT1 1440 TIP3 OH2 OT -0.834000 15.9994 0 347 WT1 1440 TIP3 H1 HT 0.417000 1.0080 0 348 WT1 1440 TIP3 H2 HT 0.417000 1.0080 0 349 WT1 1454 TIP3 OH2 OT -0.834000 15.9994 0 350 WT1 1454 TIP3 H1 HT 0.417000 1.0080 0 351 WT1 1454 TIP3 H2 HT 0.417000 1.0080 0 352 WT1 1458 TIP3 OH2 OT -0.834000 15.9994 0 353 WT1 1458 TIP3 H1 HT 0.417000 1.0080 0 354 WT1 1458 TIP3 H2 HT 0.417000 1.0080 0 355 WT1 1471 TIP3 OH2 OT -0.834000 15.9994 0 356 WT1 1471 TIP3 H1 HT 0.417000 1.0080 0 357 WT1 1471 TIP3 H2 HT 0.417000 1.0080 0 358 WT1 1512 TIP3 OH2 OT -0.834000 15.9994 0 359 WT1 1512 TIP3 H1 HT 0.417000 1.0080 0 360 WT1 1512 TIP3 H2 HT 0.417000 1.0080 0 361 WT1 1559 TIP3 OH2 OT -0.834000 15.9994 0 362 WT1 1559 TIP3 H1 HT 0.417000 1.0080 0 363 WT1 1559 TIP3 H2 HT 0.417000 1.0080 0 364 WT1 1707 TIP3 OH2 OT -0.834000 15.9994 0 365 WT1 1707 TIP3 H1 HT 0.417000 1.0080 0 366 WT1 1707 TIP3 H2 HT 0.417000 1.0080 0 367 WT1 1723 TIP3 OH2 OT -0.834000 15.9994 0 368 WT1 1723 TIP3 H1 HT 0.417000 1.0080 0 369 WT1 1723 TIP3 H2 HT 0.417000 1.0080 0 370 WT1 1725 TIP3 OH2 OT -0.834000 15.9994 0 371 WT1 1725 TIP3 H1 HT 0.417000 1.0080 0 372 WT1 1725 TIP3 H2 HT 0.417000 1.0080 0 373 WT1 1730 TIP3 OH2 OT -0.834000 15.9994 0 374 WT1 1730 TIP3 H1 HT 0.417000 1.0080 0 375 WT1 1730 TIP3 H2 HT 0.417000 1.0080 0 376 WT1 1733 TIP3 OH2 OT -0.834000 15.9994 0 377 WT1 1733 TIP3 H1 HT 0.417000 1.0080 0 378 WT1 1733 TIP3 H2 HT 0.417000 1.0080 0 379 WT1 1744 TIP3 OH2 OT -0.834000 15.9994 0 380 WT1 1744 TIP3 H1 HT 0.417000 1.0080 0 381 WT1 1744 TIP3 H2 HT 0.417000 1.0080 0 382 WT1 1746 TIP3 OH2 OT -0.834000 15.9994 0 383 WT1 1746 TIP3 H1 HT 0.417000 1.0080 0 384 WT1 1746 TIP3 H2 HT 0.417000 1.0080 0 385 WT1 1764 TIP3 OH2 OT -0.834000 15.9994 0 386 WT1 1764 TIP3 H1 HT 0.417000 1.0080 0 387 WT1 1764 TIP3 H2 HT 0.417000 1.0080 0 388 WT1 1771 TIP3 OH2 OT -0.834000 15.9994 0 389 WT1 1771 TIP3 H1 HT 0.417000 1.0080 0 390 WT1 1771 TIP3 H2 HT 0.417000 1.0080 0 391 WT1 1773 TIP3 OH2 OT -0.834000 15.9994 0 392 WT1 1773 TIP3 H1 HT 0.417000 1.0080 0 393 WT1 1773 TIP3 H2 HT 0.417000 1.0080 0 394 WT1 1789 TIP3 OH2 OT -0.834000 15.9994 0 395 WT1 1789 TIP3 H1 HT 0.417000 1.0080 0 396 WT1 1789 TIP3 H2 HT 0.417000 1.0080 0 397 WT1 1795 TIP3 OH2 OT -0.834000 15.9994 0 398 WT1 1795 TIP3 H1 HT 0.417000 1.0080 0 399 WT1 1795 TIP3 H2 HT 0.417000 1.0080 0 400 WT1 1796 TIP3 OH2 OT -0.834000 15.9994 0 401 WT1 1796 TIP3 H1 HT 0.417000 1.0080 0 402 WT1 1796 TIP3 H2 HT 0.417000 1.0080 0 403 WT1 1813 TIP3 OH2 OT -0.834000 15.9994 0 404 WT1 1813 TIP3 H1 HT 0.417000 1.0080 0 405 WT1 1813 TIP3 H2 HT 0.417000 1.0080 0 406 WT1 1814 TIP3 OH2 OT -0.834000 15.9994 0 407 WT1 1814 TIP3 H1 HT 0.417000 1.0080 0 408 WT1 1814 TIP3 H2 HT 0.417000 1.0080 0 409 WT1 1824 TIP3 OH2 OT -0.834000 15.9994 0 410 WT1 1824 TIP3 H1 HT 0.417000 1.0080 0 411 WT1 1824 TIP3 H2 HT 0.417000 1.0080 0 412 WT1 1829 TIP3 OH2 OT -0.834000 15.9994 0 413 WT1 1829 TIP3 H1 HT 0.417000 1.0080 0 414 WT1 1829 TIP3 H2 HT 0.417000 1.0080 0 415 WT1 1830 TIP3 OH2 OT -0.834000 15.9994 0 416 WT1 1830 TIP3 H1 HT 0.417000 1.0080 0 417 WT1 1830 TIP3 H2 HT 0.417000 1.0080 0 418 WT1 1831 TIP3 OH2 OT -0.834000 15.9994 0 419 WT1 1831 TIP3 H1 HT 0.417000 1.0080 0 420 WT1 1831 TIP3 H2 HT 0.417000 1.0080 0 421 WT1 1832 TIP3 OH2 OT -0.834000 15.9994 0 422 WT1 1832 TIP3 H1 HT 0.417000 1.0080 0 423 WT1 1832 TIP3 H2 HT 0.417000 1.0080 0 424 WT1 1836 TIP3 OH2 OT -0.834000 15.9994 0 425 WT1 1836 TIP3 H1 HT 0.417000 1.0080 0 426 WT1 1836 TIP3 H2 HT 0.417000 1.0080 0 427 WT1 1838 TIP3 OH2 OT -0.834000 15.9994 0 428 WT1 1838 TIP3 H1 HT 0.417000 1.0080 0 429 WT1 1838 TIP3 H2 HT 0.417000 1.0080 0 430 WT1 1851 TIP3 OH2 OT -0.834000 15.9994 0 431 WT1 1851 TIP3 H1 HT 0.417000 1.0080 0 432 WT1 1851 TIP3 H2 HT 0.417000 1.0080 0 433 WT1 1853 TIP3 OH2 OT -0.834000 15.9994 0 434 WT1 1853 TIP3 H1 HT 0.417000 1.0080 0 435 WT1 1853 TIP3 H2 HT 0.417000 1.0080 0 436 WT1 1854 TIP3 OH2 OT -0.834000 15.9994 0 437 WT1 1854 TIP3 H1 HT 0.417000 1.0080 0 438 WT1 1854 TIP3 H2 HT 0.417000 1.0080 0 439 WT1 1856 TIP3 OH2 OT -0.834000 15.9994 0 440 WT1 1856 TIP3 H1 HT 0.417000 1.0080 0 441 WT1 1856 TIP3 H2 HT 0.417000 1.0080 0 442 WT1 1871 TIP3 OH2 OT -0.834000 15.9994 0 443 WT1 1871 TIP3 H1 HT 0.417000 1.0080 0 444 WT1 1871 TIP3 H2 HT 0.417000 1.0080 0 445 WT1 1881 TIP3 OH2 OT -0.834000 15.9994 0 446 WT1 1881 TIP3 H1 HT 0.417000 1.0080 0 447 WT1 1881 TIP3 H2 HT 0.417000 1.0080 0 448 WT1 1894 TIP3 OH2 OT -0.834000 15.9994 0 449 WT1 1894 TIP3 H1 HT 0.417000 1.0080 0 450 WT1 1894 TIP3 H2 HT 0.417000 1.0080 0 451 WT1 1911 TIP3 OH2 OT -0.834000 15.9994 0 452 WT1 1911 TIP3 H1 HT 0.417000 1.0080 0 453 WT1 1911 TIP3 H2 HT 0.417000 1.0080 0 454 WT1 1914 TIP3 OH2 OT -0.834000 15.9994 0 455 WT1 1914 TIP3 H1 HT 0.417000 1.0080 0 456 WT1 1914 TIP3 H2 HT 0.417000 1.0080 0 457 WT1 1915 TIP3 OH2 OT -0.834000 15.9994 0 458 WT1 1915 TIP3 H1 HT 0.417000 1.0080 0 459 WT1 1915 TIP3 H2 HT 0.417000 1.0080 0 460 WT1 1938 TIP3 OH2 OT -0.834000 15.9994 0 461 WT1 1938 TIP3 H1 HT 0.417000 1.0080 0 462 WT1 1938 TIP3 H2 HT 0.417000 1.0080 0 463 WT1 1952 TIP3 OH2 OT -0.834000 15.9994 0 464 WT1 1952 TIP3 H1 HT 0.417000 1.0080 0 465 WT1 1952 TIP3 H2 HT 0.417000 1.0080 0 466 WT1 2123 TIP3 OH2 OT -0.834000 15.9994 0 467 WT1 2123 TIP3 H1 HT 0.417000 1.0080 0 468 WT1 2123 TIP3 H2 HT 0.417000 1.0080 0 469 WT1 2163 TIP3 OH2 OT -0.834000 15.9994 0 470 WT1 2163 TIP3 H1 HT 0.417000 1.0080 0 471 WT1 2163 TIP3 H2 HT 0.417000 1.0080 0 472 WT1 2165 TIP3 OH2 OT -0.834000 15.9994 0 473 WT1 2165 TIP3 H1 HT 0.417000 1.0080 0 474 WT1 2165 TIP3 H2 HT 0.417000 1.0080 0 475 WT1 2167 TIP3 OH2 OT -0.834000 15.9994 0 476 WT1 2167 TIP3 H1 HT 0.417000 1.0080 0 477 WT1 2167 TIP3 H2 HT 0.417000 1.0080 0 478 WT1 2172 TIP3 OH2 OT -0.834000 15.9994 0 479 WT1 2172 TIP3 H1 HT 0.417000 1.0080 0 480 WT1 2172 TIP3 H2 HT 0.417000 1.0080 0 481 WT1 2185 TIP3 OH2 OT -0.834000 15.9994 0 482 WT1 2185 TIP3 H1 HT 0.417000 1.0080 0 483 WT1 2185 TIP3 H2 HT 0.417000 1.0080 0 484 WT1 2229 TIP3 OH2 OT -0.834000 15.9994 0 485 WT1 2229 TIP3 H1 HT 0.417000 1.0080 0 486 WT1 2229 TIP3 H2 HT 0.417000 1.0080 0 487 WT1 2231 TIP3 OH2 OT -0.834000 15.9994 0 488 WT1 2231 TIP3 H1 HT 0.417000 1.0080 0 489 WT1 2231 TIP3 H2 HT 0.417000 1.0080 0 490 WT1 2232 TIP3 OH2 OT -0.834000 15.9994 0 491 WT1 2232 TIP3 H1 HT 0.417000 1.0080 0 492 WT1 2232 TIP3 H2 HT 0.417000 1.0080 0 493 WT1 2244 TIP3 OH2 OT -0.834000 15.9994 0 494 WT1 2244 TIP3 H1 HT 0.417000 1.0080 0 495 WT1 2244 TIP3 H2 HT 0.417000 1.0080 0 496 WT1 2250 TIP3 OH2 OT -0.834000 15.9994 0 497 WT1 2250 TIP3 H1 HT 0.417000 1.0080 0 498 WT1 2250 TIP3 H2 HT 0.417000 1.0080 0 499 WT1 2251 TIP3 OH2 OT -0.834000 15.9994 0 500 WT1 2251 TIP3 H1 HT 0.417000 1.0080 0 501 WT1 2251 TIP3 H2 HT 0.417000 1.0080 0 502 WT1 2253 TIP3 OH2 OT -0.834000 15.9994 0 503 WT1 2253 TIP3 H1 HT 0.417000 1.0080 0 504 WT1 2253 TIP3 H2 HT 0.417000 1.0080 0 505 WT1 2269 TIP3 OH2 OT -0.834000 15.9994 0 506 WT1 2269 TIP3 H1 HT 0.417000 1.0080 0 507 WT1 2269 TIP3 H2 HT 0.417000 1.0080 0 508 WT1 2270 TIP3 OH2 OT -0.834000 15.9994 0 509 WT1 2270 TIP3 H1 HT 0.417000 1.0080 0 510 WT1 2270 TIP3 H2 HT 0.417000 1.0080 0 511 WT1 2272 TIP3 OH2 OT -0.834000 15.9994 0 512 WT1 2272 TIP3 H1 HT 0.417000 1.0080 0 513 WT1 2272 TIP3 H2 HT 0.417000 1.0080 0 514 WT1 2275 TIP3 OH2 OT -0.834000 15.9994 0 515 WT1 2275 TIP3 H1 HT 0.417000 1.0080 0 516 WT1 2275 TIP3 H2 HT 0.417000 1.0080 0 517 WT1 2277 TIP3 OH2 OT -0.834000 15.9994 0 518 WT1 2277 TIP3 H1 HT 0.417000 1.0080 0 519 WT1 2277 TIP3 H2 HT 0.417000 1.0080 0 520 WT1 2280 TIP3 OH2 OT -0.834000 15.9994 0 521 WT1 2280 TIP3 H1 HT 0.417000 1.0080 0 522 WT1 2280 TIP3 H2 HT 0.417000 1.0080 0 523 WT1 2288 TIP3 OH2 OT -0.834000 15.9994 0 524 WT1 2288 TIP3 H1 HT 0.417000 1.0080 0 525 WT1 2288 TIP3 H2 HT 0.417000 1.0080 0 526 WT1 2292 TIP3 OH2 OT -0.834000 15.9994 0 527 WT1 2292 TIP3 H1 HT 0.417000 1.0080 0 528 WT1 2292 TIP3 H2 HT 0.417000 1.0080 0 529 WT1 2293 TIP3 OH2 OT -0.834000 15.9994 0 530 WT1 2293 TIP3 H1 HT 0.417000 1.0080 0 531 WT1 2293 TIP3 H2 HT 0.417000 1.0080 0 532 WT1 2295 TIP3 OH2 OT -0.834000 15.9994 0 533 WT1 2295 TIP3 H1 HT 0.417000 1.0080 0 534 WT1 2295 TIP3 H2 HT 0.417000 1.0080 0 535 WT1 2309 TIP3 OH2 OT -0.834000 15.9994 0 536 WT1 2309 TIP3 H1 HT 0.417000 1.0080 0 537 WT1 2309 TIP3 H2 HT 0.417000 1.0080 0 538 WT1 2316 TIP3 OH2 OT -0.834000 15.9994 0 539 WT1 2316 TIP3 H1 HT 0.417000 1.0080 0 540 WT1 2316 TIP3 H2 HT 0.417000 1.0080 0 541 WT1 2317 TIP3 OH2 OT -0.834000 15.9994 0 542 WT1 2317 TIP3 H1 HT 0.417000 1.0080 0 543 WT1 2317 TIP3 H2 HT 0.417000 1.0080 0 544 WT1 2319 TIP3 OH2 OT -0.834000 15.9994 0 545 WT1 2319 TIP3 H1 HT 0.417000 1.0080 0 546 WT1 2319 TIP3 H2 HT 0.417000 1.0080 0 547 WT1 2335 TIP3 OH2 OT -0.834000 15.9994 0 548 WT1 2335 TIP3 H1 HT 0.417000 1.0080 0 549 WT1 2335 TIP3 H2 HT 0.417000 1.0080 0 550 WT1 2351 TIP3 OH2 OT -0.834000 15.9994 0 551 WT1 2351 TIP3 H1 HT 0.417000 1.0080 0 552 WT1 2351 TIP3 H2 HT 0.417000 1.0080 0 553 WT1 2355 TIP3 OH2 OT -0.834000 15.9994 0 554 WT1 2355 TIP3 H1 HT 0.417000 1.0080 0 555 WT1 2355 TIP3 H2 HT 0.417000 1.0080 0 556 WT1 2357 TIP3 OH2 OT -0.834000 15.9994 0 557 WT1 2357 TIP3 H1 HT 0.417000 1.0080 0 558 WT1 2357 TIP3 H2 HT 0.417000 1.0080 0 559 WT1 2358 TIP3 OH2 OT -0.834000 15.9994 0 560 WT1 2358 TIP3 H1 HT 0.417000 1.0080 0 561 WT1 2358 TIP3 H2 HT 0.417000 1.0080 0 562 WT1 2377 TIP3 OH2 OT -0.834000 15.9994 0 563 WT1 2377 TIP3 H1 HT 0.417000 1.0080 0 564 WT1 2377 TIP3 H2 HT 0.417000 1.0080 0 565 WT1 2380 TIP3 OH2 OT -0.834000 15.9994 0 566 WT1 2380 TIP3 H1 HT 0.417000 1.0080 0 567 WT1 2380 TIP3 H2 HT 0.417000 1.0080 0 568 WT1 2606 TIP3 OH2 OT -0.834000 15.9994 0 569 WT1 2606 TIP3 H1 HT 0.417000 1.0080 0 570 WT1 2606 TIP3 H2 HT 0.417000 1.0080 0 571 WT1 2634 TIP3 OH2 OT -0.834000 15.9994 0 572 WT1 2634 TIP3 H1 HT 0.417000 1.0080 0 573 WT1 2634 TIP3 H2 HT 0.417000 1.0080 0 574 WT1 2673 TIP3 OH2 OT -0.834000 15.9994 0 575 WT1 2673 TIP3 H1 HT 0.417000 1.0080 0 576 WT1 2673 TIP3 H2 HT 0.417000 1.0080 0 577 WT1 2689 TIP3 OH2 OT -0.834000 15.9994 0 578 WT1 2689 TIP3 H1 HT 0.417000 1.0080 0 579 WT1 2689 TIP3 H2 HT 0.417000 1.0080 0 580 WT1 2691 TIP3 OH2 OT -0.834000 15.9994 0 581 WT1 2691 TIP3 H1 HT 0.417000 1.0080 0 582 WT1 2691 TIP3 H2 HT 0.417000 1.0080 0 583 WT1 2694 TIP3 OH2 OT -0.834000 15.9994 0 584 WT1 2694 TIP3 H1 HT 0.417000 1.0080 0 585 WT1 2694 TIP3 H2 HT 0.417000 1.0080 0 586 WT1 2709 TIP3 OH2 OT -0.834000 15.9994 0 587 WT1 2709 TIP3 H1 HT 0.417000 1.0080 0 588 WT1 2709 TIP3 H2 HT 0.417000 1.0080 0 589 WT1 2713 TIP3 OH2 OT -0.834000 15.9994 0 590 WT1 2713 TIP3 H1 HT 0.417000 1.0080 0 591 WT1 2713 TIP3 H2 HT 0.417000 1.0080 0 592 WT1 2715 TIP3 OH2 OT -0.834000 15.9994 0 593 WT1 2715 TIP3 H1 HT 0.417000 1.0080 0 594 WT1 2715 TIP3 H2 HT 0.417000 1.0080 0 595 WT1 2734 TIP3 OH2 OT -0.834000 15.9994 0 596 WT1 2734 TIP3 H1 HT 0.417000 1.0080 0 597 WT1 2734 TIP3 H2 HT 0.417000 1.0080 0 598 WT1 2735 TIP3 OH2 OT -0.834000 15.9994 0 599 WT1 2735 TIP3 H1 HT 0.417000 1.0080 0 600 WT1 2735 TIP3 H2 HT 0.417000 1.0080 0 601 WT1 2758 TIP3 OH2 OT -0.834000 15.9994 0 602 WT1 2758 TIP3 H1 HT 0.417000 1.0080 0 603 WT1 2758 TIP3 H2 HT 0.417000 1.0080 0 604 WT1 2776 TIP3 OH2 OT -0.834000 15.9994 0 605 WT1 2776 TIP3 H1 HT 0.417000 1.0080 0 606 WT1 2776 TIP3 H2 HT 0.417000 1.0080 0 607 WT1 2778 TIP3 OH2 OT -0.834000 15.9994 0 608 WT1 2778 TIP3 H1 HT 0.417000 1.0080 0 609 WT1 2778 TIP3 H2 HT 0.417000 1.0080 0 610 WT1 2794 TIP3 OH2 OT -0.834000 15.9994 0 611 WT1 2794 TIP3 H1 HT 0.417000 1.0080 0 612 WT1 2794 TIP3 H2 HT 0.417000 1.0080 0 613 WT1 2815 TIP3 OH2 OT -0.834000 15.9994 0 614 WT1 2815 TIP3 H1 HT 0.417000 1.0080 0 615 WT1 2815 TIP3 H2 HT 0.417000 1.0080 0 616 WT1 3012 TIP3 OH2 OT -0.834000 15.9994 0 617 WT1 3012 TIP3 H1 HT 0.417000 1.0080 0 618 WT1 3012 TIP3 H2 HT 0.417000 1.0080 0 619 WT1 3027 TIP3 OH2 OT -0.834000 15.9994 0 620 WT1 3027 TIP3 H1 HT 0.417000 1.0080 0 621 WT1 3027 TIP3 H2 HT 0.417000 1.0080 0 622 WT1 3049 TIP3 OH2 OT -0.834000 15.9994 0 623 WT1 3049 TIP3 H1 HT 0.417000 1.0080 0 624 WT1 3049 TIP3 H2 HT 0.417000 1.0080 0 625 WT1 3073 TIP3 OH2 OT -0.834000 15.9994 0 626 WT1 3073 TIP3 H1 HT 0.417000 1.0080 0 627 WT1 3073 TIP3 H2 HT 0.417000 1.0080 0 628 WT1 3086 TIP3 OH2 OT -0.834000 15.9994 0 629 WT1 3086 TIP3 H1 HT 0.417000 1.0080 0 630 WT1 3086 TIP3 H2 HT 0.417000 1.0080 0 631 WT1 3091 TIP3 OH2 OT -0.834000 15.9994 0 632 WT1 3091 TIP3 H1 HT 0.417000 1.0080 0 633 WT1 3091 TIP3 H2 HT 0.417000 1.0080 0 634 WT1 3108 TIP3 OH2 OT -0.834000 15.9994 0 635 WT1 3108 TIP3 H1 HT 0.417000 1.0080 0 636 WT1 3108 TIP3 H2 HT 0.417000 1.0080 0 637 WT1 3109 TIP3 OH2 OT -0.834000 15.9994 0 638 WT1 3109 TIP3 H1 HT 0.417000 1.0080 0 639 WT1 3109 TIP3 H2 HT 0.417000 1.0080 0 640 WT1 3115 TIP3 OH2 OT -0.834000 15.9994 0 641 WT1 3115 TIP3 H1 HT 0.417000 1.0080 0 642 WT1 3115 TIP3 H2 HT 0.417000 1.0080 0 643 WT1 3131 TIP3 OH2 OT -0.834000 15.9994 0 644 WT1 3131 TIP3 H1 HT 0.417000 1.0080 0 645 WT1 3131 TIP3 H2 HT 0.417000 1.0080 0 646 WT1 3150 TIP3 OH2 OT -0.834000 15.9994 0 647 WT1 3150 TIP3 H1 HT 0.417000 1.0080 0 648 WT1 3150 TIP3 H2 HT 0.417000 1.0080 0 649 WT1 3152 TIP3 OH2 OT -0.834000 15.9994 0 650 WT1 3152 TIP3 H1 HT 0.417000 1.0080 0 651 WT1 3152 TIP3 H2 HT 0.417000 1.0080 0 652 WT1 3173 TIP3 OH2 OT -0.834000 15.9994 0 653 WT1 3173 TIP3 H1 HT 0.417000 1.0080 0 654 WT1 3173 TIP3 H2 HT 0.417000 1.0080 0 655 WT1 3177 TIP3 OH2 OT -0.834000 15.9994 0 656 WT1 3177 TIP3 H1 HT 0.417000 1.0080 0 657 WT1 3177 TIP3 H2 HT 0.417000 1.0080 0 658 WT1 3196 TIP3 OH2 OT -0.834000 15.9994 0 659 WT1 3196 TIP3 H1 HT 0.417000 1.0080 0 660 WT1 3196 TIP3 H2 HT 0.417000 1.0080 0 661 WT1 3215 TIP3 OH2 OT -0.834000 15.9994 0 662 WT1 3215 TIP3 H1 HT 0.417000 1.0080 0 663 WT1 3215 TIP3 H2 HT 0.417000 1.0080 0 664 WT1 3218 TIP3 OH2 OT -0.834000 15.9994 0 665 WT1 3218 TIP3 H1 HT 0.417000 1.0080 0 666 WT1 3218 TIP3 H2 HT 0.417000 1.0080 0 667 WT1 3223 TIP3 OH2 OT -0.834000 15.9994 0 668 WT1 3223 TIP3 H1 HT 0.417000 1.0080 0 669 WT1 3223 TIP3 H2 HT 0.417000 1.0080 0 670 WT1 3237 TIP3 OH2 OT -0.834000 15.9994 0 671 WT1 3237 TIP3 H1 HT 0.417000 1.0080 0 672 WT1 3237 TIP3 H2 HT 0.417000 1.0080 0 673 WT1 3242 TIP3 OH2 OT -0.834000 15.9994 0 674 WT1 3242 TIP3 H1 HT 0.417000 1.0080 0 675 WT1 3242 TIP3 H2 HT 0.417000 1.0080 0 676 WT1 3304 TIP3 OH2 OT -0.834000 15.9994 0 677 WT1 3304 TIP3 H1 HT 0.417000 1.0080 0 678 WT1 3304 TIP3 H2 HT 0.417000 1.0080 0 679 WT1 3426 TIP3 OH2 OT -0.834000 15.9994 0 680 WT1 3426 TIP3 H1 HT 0.417000 1.0080 0 681 WT1 3426 TIP3 H2 HT 0.417000 1.0080 0 682 WT1 3442 TIP3 OH2 OT -0.834000 15.9994 0 683 WT1 3442 TIP3 H1 HT 0.417000 1.0080 0 684 WT1 3442 TIP3 H2 HT 0.417000 1.0080 0 685 WT1 3447 TIP3 OH2 OT -0.834000 15.9994 0 686 WT1 3447 TIP3 H1 HT 0.417000 1.0080 0 687 WT1 3447 TIP3 H2 HT 0.417000 1.0080 0 688 WT1 3526 TIP3 OH2 OT -0.834000 15.9994 0 689 WT1 3526 TIP3 H1 HT 0.417000 1.0080 0 690 WT1 3526 TIP3 H2 HT 0.417000 1.0080 0 691 WT1 3527 TIP3 OH2 OT -0.834000 15.9994 0 692 WT1 3527 TIP3 H1 HT 0.417000 1.0080 0 693 WT1 3527 TIP3 H2 HT 0.417000 1.0080 0 694 WT1 3534 TIP3 OH2 OT -0.834000 15.9994 0 695 WT1 3534 TIP3 H1 HT 0.417000 1.0080 0 696 WT1 3534 TIP3 H2 HT 0.417000 1.0080 0 697 WT1 3548 TIP3 OH2 OT -0.834000 15.9994 0 698 WT1 3548 TIP3 H1 HT 0.417000 1.0080 0 699 WT1 3548 TIP3 H2 HT 0.417000 1.0080 0 700 WT1 3554 TIP3 OH2 OT -0.834000 15.9994 0 701 WT1 3554 TIP3 H1 HT 0.417000 1.0080 0 702 WT1 3554 TIP3 H2 HT 0.417000 1.0080 0 703 WT1 3575 TIP3 OH2 OT -0.834000 15.9994 0 704 WT1 3575 TIP3 H1 HT 0.417000 1.0080 0 705 WT1 3575 TIP3 H2 HT 0.417000 1.0080 0 706 WT1 3596 TIP3 OH2 OT -0.834000 15.9994 0 707 WT1 3596 TIP3 H1 HT 0.417000 1.0080 0 708 WT1 3596 TIP3 H2 HT 0.417000 1.0080 0 709 WT1 3597 TIP3 OH2 OT -0.834000 15.9994 0 710 WT1 3597 TIP3 H1 HT 0.417000 1.0080 0 711 WT1 3597 TIP3 H2 HT 0.417000 1.0080 0 712 WT1 3619 TIP3 OH2 OT -0.834000 15.9994 0 713 WT1 3619 TIP3 H1 HT 0.417000 1.0080 0 714 WT1 3619 TIP3 H2 HT 0.417000 1.0080 0 715 WT1 3650 TIP3 OH2 OT -0.834000 15.9994 0 716 WT1 3650 TIP3 H1 HT 0.417000 1.0080 0 717 WT1 3650 TIP3 H2 HT 0.417000 1.0080 0 718 WT1 3653 TIP3 OH2 OT -0.834000 15.9994 0 719 WT1 3653 TIP3 H1 HT 0.417000 1.0080 0 720 WT1 3653 TIP3 H2 HT 0.417000 1.0080 0 721 WT1 3933 TIP3 OH2 OT -0.834000 15.9994 0 722 WT1 3933 TIP3 H1 HT 0.417000 1.0080 0 723 WT1 3933 TIP3 H2 HT 0.417000 1.0080 0 724 WT1 3951 TIP3 OH2 OT -0.834000 15.9994 0 725 WT1 3951 TIP3 H1 HT 0.417000 1.0080 0 726 WT1 3951 TIP3 H2 HT 0.417000 1.0080 0 727 WT1 3991 TIP3 OH2 OT -0.834000 15.9994 0 728 WT1 3991 TIP3 H1 HT 0.417000 1.0080 0 729 WT1 3991 TIP3 H2 HT 0.417000 1.0080 0 730 WT1 3995 TIP3 OH2 OT -0.834000 15.9994 0 731 WT1 3995 TIP3 H1 HT 0.417000 1.0080 0 732 WT1 3995 TIP3 H2 HT 0.417000 1.0080 0 733 WT1 3996 TIP3 OH2 OT -0.834000 15.9994 0 734 WT1 3996 TIP3 H1 HT 0.417000 1.0080 0 735 WT1 3996 TIP3 H2 HT 0.417000 1.0080 0 736 WT1 4009 TIP3 OH2 OT -0.834000 15.9994 0 737 WT1 4009 TIP3 H1 HT 0.417000 1.0080 0 738 WT1 4009 TIP3 H2 HT 0.417000 1.0080 0 739 WT1 4012 TIP3 OH2 OT -0.834000 15.9994 0 740 WT1 4012 TIP3 H1 HT 0.417000 1.0080 0 741 WT1 4012 TIP3 H2 HT 0.417000 1.0080 0 742 WT1 4036 TIP3 OH2 OT -0.834000 15.9994 0 743 WT1 4036 TIP3 H1 HT 0.417000 1.0080 0 744 WT1 4036 TIP3 H2 HT 0.417000 1.0080 0 745 WT1 4037 TIP3 OH2 OT -0.834000 15.9994 0 746 WT1 4037 TIP3 H1 HT 0.417000 1.0080 0 747 WT1 4037 TIP3 H2 HT 0.417000 1.0080 0 748 WT1 4039 TIP3 OH2 OT -0.834000 15.9994 0 749 WT1 4039 TIP3 H1 HT 0.417000 1.0080 0 750 WT1 4039 TIP3 H2 HT 0.417000 1.0080 0 751 WT1 4074 TIP3 OH2 OT -0.834000 15.9994 0 752 WT1 4074 TIP3 H1 HT 0.417000 1.0080 0 753 WT1 4074 TIP3 H2 HT 0.417000 1.0080 0 754 WT1 4081 TIP3 OH2 OT -0.834000 15.9994 0 755 WT1 4081 TIP3 H1 HT 0.417000 1.0080 0 756 WT1 4081 TIP3 H2 HT 0.417000 1.0080 0 757 WT1 4104 TIP3 OH2 OT -0.834000 15.9994 0 758 WT1 4104 TIP3 H1 HT 0.417000 1.0080 0 759 WT1 4104 TIP3 H2 HT 0.417000 1.0080 0 760 WT1 4141 TIP3 OH2 OT -0.834000 15.9994 0 761 WT1 4141 TIP3 H1 HT 0.417000 1.0080 0 762 WT1 4141 TIP3 H2 HT 0.417000 1.0080 0 763 WT1 4480 TIP3 OH2 OT -0.834000 15.9994 0 764 WT1 4480 TIP3 H1 HT 0.417000 1.0080 0 765 WT1 4480 TIP3 H2 HT 0.417000 1.0080 0 766 WT1 4519 TIP3 OH2 OT -0.834000 15.9994 0 767 WT1 4519 TIP3 H1 HT 0.417000 1.0080 0 768 WT1 4519 TIP3 H2 HT 0.417000 1.0080 0 769 WT1 4798 TIP3 OH2 OT -0.834000 15.9994 0 770 WT1 4798 TIP3 H1 HT 0.417000 1.0080 0 771 WT1 4798 TIP3 H2 HT 0.417000 1.0080 0 772 WT1 4809 TIP3 OH2 OT -0.834000 15.9994 0 773 WT1 4809 TIP3 H1 HT 0.417000 1.0080 0 774 WT1 4809 TIP3 H2 HT 0.417000 1.0080 0 775 WT1 4849 TIP3 OH2 OT -0.834000 15.9994 0 776 WT1 4849 TIP3 H1 HT 0.417000 1.0080 0 777 WT1 4849 TIP3 H2 HT 0.417000 1.0080 0 778 WT1 4857 TIP3 OH2 OT -0.834000 15.9994 0 779 WT1 4857 TIP3 H1 HT 0.417000 1.0080 0 780 WT1 4857 TIP3 H2 HT 0.417000 1.0080 0 781 WT1 4981 TIP3 OH2 OT -0.834000 15.9994 0 782 WT1 4981 TIP3 H1 HT 0.417000 1.0080 0 783 WT1 4981 TIP3 H2 HT 0.417000 1.0080 0 784 WT1 5320 TIP3 OH2 OT -0.834000 15.9994 0 785 WT1 5320 TIP3 H1 HT 0.417000 1.0080 0 786 WT1 5320 TIP3 H2 HT 0.417000 1.0080 0 787 WT1 5341 TIP3 OH2 OT -0.834000 15.9994 0 788 WT1 5341 TIP3 H1 HT 0.417000 1.0080 0 789 WT1 5341 TIP3 H2 HT 0.417000 1.0080 0 790 WT1 5356 TIP3 OH2 OT -0.834000 15.9994 0 791 WT1 5356 TIP3 H1 HT 0.417000 1.0080 0 792 WT1 5356 TIP3 H2 HT 0.417000 1.0080 0 793 WT1 5901 TIP3 OH2 OT -0.834000 15.9994 0 794 WT1 5901 TIP3 H1 HT 0.417000 1.0080 0 795 WT1 5901 TIP3 H2 HT 0.417000 1.0080 0 796 WT1 6240 TIP3 OH2 OT -0.834000 15.9994 0 797 WT1 6240 TIP3 H1 HT 0.417000 1.0080 0 798 WT1 6240 TIP3 H2 HT 0.417000 1.0080 0 799 WT1 6671 TIP3 OH2 OT -0.834000 15.9994 0 800 WT1 6671 TIP3 H1 HT 0.417000 1.0080 0 801 WT1 6671 TIP3 H2 HT 0.417000 1.0080 0 802 WT1 7222 TIP3 OH2 OT -0.834000 15.9994 0 803 WT1 7222 TIP3 H1 HT 0.417000 1.0080 0 804 WT1 7222 TIP3 H2 HT 0.417000 1.0080 0 805 WT1 7479 TIP3 OH2 OT -0.834000 15.9994 0 806 WT1 7479 TIP3 H1 HT 0.417000 1.0080 0 807 WT1 7479 TIP3 H2 HT 0.417000 1.0080 0 808 WT1 7510 TIP3 OH2 OT -0.834000 15.9994 0 809 WT1 7510 TIP3 H1 HT 0.417000 1.0080 0 810 WT1 7510 TIP3 H2 HT 0.417000 1.0080 0 811 WT1 7563 TIP3 OH2 OT -0.834000 15.9994 0 812 WT1 7563 TIP3 H1 HT 0.417000 1.0080 0 813 WT1 7563 TIP3 H2 HT 0.417000 1.0080 0 814 WT1 7630 TIP3 OH2 OT -0.834000 15.9994 0 815 WT1 7630 TIP3 H1 HT 0.417000 1.0080 0 816 WT1 7630 TIP3 H2 HT 0.417000 1.0080 0 817 WT1 7707 TIP3 OH2 OT -0.834000 15.9994 0 818 WT1 7707 TIP3 H1 HT 0.417000 1.0080 0 819 WT1 7707 TIP3 H2 HT 0.417000 1.0080 0 820 WT1 7985 TIP3 OH2 OT -0.834000 15.9994 0 821 WT1 7985 TIP3 H1 HT 0.417000 1.0080 0 822 WT1 7985 TIP3 H2 HT 0.417000 1.0080 0 823 WT1 8023 TIP3 OH2 OT -0.834000 15.9994 0 824 WT1 8023 TIP3 H1 HT 0.417000 1.0080 0 825 WT1 8023 TIP3 H2 HT 0.417000 1.0080 0 826 WT1 8029 TIP3 OH2 OT -0.834000 15.9994 0 827 WT1 8029 TIP3 H1 HT 0.417000 1.0080 0 828 WT1 8029 TIP3 H2 HT 0.417000 1.0080 0 829 WT1 8364 TIP3 OH2 OT -0.834000 15.9994 0 830 WT1 8364 TIP3 H1 HT 0.417000 1.0080 0 831 WT1 8364 TIP3 H2 HT 0.417000 1.0080 0 832 WT1 8403 TIP3 OH2 OT -0.834000 15.9994 0 833 WT1 8403 TIP3 H1 HT 0.417000 1.0080 0 834 WT1 8403 TIP3 H2 HT 0.417000 1.0080 0 835 WT1 8411 TIP3 OH2 OT -0.834000 15.9994 0 836 WT1 8411 TIP3 H1 HT 0.417000 1.0080 0 837 WT1 8411 TIP3 H2 HT 0.417000 1.0080 0 838 WT1 8425 TIP3 OH2 OT -0.834000 15.9994 0 839 WT1 8425 TIP3 H1 HT 0.417000 1.0080 0 840 WT1 8425 TIP3 H2 HT 0.417000 1.0080 0 841 WT1 8466 TIP3 OH2 OT -0.834000 15.9994 0 842 WT1 8466 TIP3 H1 HT 0.417000 1.0080 0 843 WT1 8466 TIP3 H2 HT 0.417000 1.0080 0 844 WT1 8468 TIP3 OH2 OT -0.834000 15.9994 0 845 WT1 8468 TIP3 H1 HT 0.417000 1.0080 0 846 WT1 8468 TIP3 H2 HT 0.417000 1.0080 0 847 WT1 8528 TIP3 OH2 OT -0.834000 15.9994 0 848 WT1 8528 TIP3 H1 HT 0.417000 1.0080 0 849 WT1 8528 TIP3 H2 HT 0.417000 1.0080 0 850 WT1 8536 TIP3 OH2 OT -0.834000 15.9994 0 851 WT1 8536 TIP3 H1 HT 0.417000 1.0080 0 852 WT1 8536 TIP3 H2 HT 0.417000 1.0080 0 853 WT1 8548 TIP3 OH2 OT -0.834000 15.9994 0 854 WT1 8548 TIP3 H1 HT 0.417000 1.0080 0 855 WT1 8548 TIP3 H2 HT 0.417000 1.0080 0 856 WT1 8556 TIP3 OH2 OT -0.834000 15.9994 0 857 WT1 8556 TIP3 H1 HT 0.417000 1.0080 0 858 WT1 8556 TIP3 H2 HT 0.417000 1.0080 0 859 WT1 8760 TIP3 OH2 OT -0.834000 15.9994 0 860 WT1 8760 TIP3 H1 HT 0.417000 1.0080 0 861 WT1 8760 TIP3 H2 HT 0.417000 1.0080 0 862 WT1 8780 TIP3 OH2 OT -0.834000 15.9994 0 863 WT1 8780 TIP3 H1 HT 0.417000 1.0080 0 864 WT1 8780 TIP3 H2 HT 0.417000 1.0080 0 865 WT1 8822 TIP3 OH2 OT -0.834000 15.9994 0 866 WT1 8822 TIP3 H1 HT 0.417000 1.0080 0 867 WT1 8822 TIP3 H2 HT 0.417000 1.0080 0 868 WT1 8829 TIP3 OH2 OT -0.834000 15.9994 0 869 WT1 8829 TIP3 H1 HT 0.417000 1.0080 0 870 WT1 8829 TIP3 H2 HT 0.417000 1.0080 0 871 WT1 8843 TIP3 OH2 OT -0.834000 15.9994 0 872 WT1 8843 TIP3 H1 HT 0.417000 1.0080 0 873 WT1 8843 TIP3 H2 HT 0.417000 1.0080 0 874 WT1 8845 TIP3 OH2 OT -0.834000 15.9994 0 875 WT1 8845 TIP3 H1 HT 0.417000 1.0080 0 876 WT1 8845 TIP3 H2 HT 0.417000 1.0080 0 877 WT1 8869 TIP3 OH2 OT -0.834000 15.9994 0 878 WT1 8869 TIP3 H1 HT 0.417000 1.0080 0 879 WT1 8869 TIP3 H2 HT 0.417000 1.0080 0 880 WT1 8887 TIP3 OH2 OT -0.834000 15.9994 0 881 WT1 8887 TIP3 H1 HT 0.417000 1.0080 0 882 WT1 8887 TIP3 H2 HT 0.417000 1.0080 0 883 WT1 8903 TIP3 OH2 OT -0.834000 15.9994 0 884 WT1 8903 TIP3 H1 HT 0.417000 1.0080 0 885 WT1 8903 TIP3 H2 HT 0.417000 1.0080 0 886 WT1 8905 TIP3 OH2 OT -0.834000 15.9994 0 887 WT1 8905 TIP3 H1 HT 0.417000 1.0080 0 888 WT1 8905 TIP3 H2 HT 0.417000 1.0080 0 889 WT1 8931 TIP3 OH2 OT -0.834000 15.9994 0 890 WT1 8931 TIP3 H1 HT 0.417000 1.0080 0 891 WT1 8931 TIP3 H2 HT 0.417000 1.0080 0 892 WT1 8935 TIP3 OH2 OT -0.834000 15.9994 0 893 WT1 8935 TIP3 H1 HT 0.417000 1.0080 0 894 WT1 8935 TIP3 H2 HT 0.417000 1.0080 0 895 WT1 8949 TIP3 OH2 OT -0.834000 15.9994 0 896 WT1 8949 TIP3 H1 HT 0.417000 1.0080 0 897 WT1 8949 TIP3 H2 HT 0.417000 1.0080 0 898 WT1 8956 TIP3 OH2 OT -0.834000 15.9994 0 899 WT1 8956 TIP3 H1 HT 0.417000 1.0080 0 900 WT1 8956 TIP3 H2 HT 0.417000 1.0080 0 901 WT1 8977 TIP3 OH2 OT -0.834000 15.9994 0 902 WT1 8977 TIP3 H1 HT 0.417000 1.0080 0 903 WT1 8977 TIP3 H2 HT 0.417000 1.0080 0 904 WT1 8988 TIP3 OH2 OT -0.834000 15.9994 0 905 WT1 8988 TIP3 H1 HT 0.417000 1.0080 0 906 WT1 8988 TIP3 H2 HT 0.417000 1.0080 0 907 WT1 9082 TIP3 OH2 OT -0.834000 15.9994 0 908 WT1 9082 TIP3 H1 HT 0.417000 1.0080 0 909 WT1 9082 TIP3 H2 HT 0.417000 1.0080 0 910 WT1 9096 TIP3 OH2 OT -0.834000 15.9994 0 911 WT1 9096 TIP3 H1 HT 0.417000 1.0080 0 912 WT1 9096 TIP3 H2 HT 0.417000 1.0080 0 913 WT1 9226 TIP3 OH2 OT -0.834000 15.9994 0 914 WT1 9226 TIP3 H1 HT 0.417000 1.0080 0 915 WT1 9226 TIP3 H2 HT 0.417000 1.0080 0 916 WT1 9241 TIP3 OH2 OT -0.834000 15.9994 0 917 WT1 9241 TIP3 H1 HT 0.417000 1.0080 0 918 WT1 9241 TIP3 H2 HT 0.417000 1.0080 0 919 WT1 9250 TIP3 OH2 OT -0.834000 15.9994 0 920 WT1 9250 TIP3 H1 HT 0.417000 1.0080 0 921 WT1 9250 TIP3 H2 HT 0.417000 1.0080 0 635 !NBOND: bonds 1 2 2 3 2 4 4 6 4 5 6 8 6 7 8 9 8 10 10 12 10 11 12 14 12 13 14 15 14 16 16 18 16 17 18 20 18 19 20 21 20 22 22 24 22 23 24 26 24 25 26 27 26 28 28 30 28 29 30 32 30 31 32 33 32 34 34 36 34 35 36 38 36 37 38 39 38 40 40 42 40 41 42 44 42 43 44 45 44 46 46 48 46 47 48 50 48 49 50 51 50 52 52 54 52 53 54 56 54 55 56 57 56 58 58 60 58 59 60 62 60 61 62 63 62 64 64 66 64 65 67 68 67 69 70 71 70 72 73 74 73 75 76 77 76 78 79 80 79 81 82 83 82 84 85 86 85 87 88 89 88 90 91 92 91 93 94 95 94 96 97 98 97 99 100 101 100 102 103 104 103 105 106 107 106 108 109 110 109 111 112 113 112 114 115 116 115 117 118 119 118 120 121 122 121 123 124 125 124 126 127 128 127 129 130 131 130 132 133 134 133 135 136 137 136 138 139 140 139 141 142 143 142 144 145 146 145 147 148 149 148 150 151 152 151 153 154 155 154 156 157 158 157 159 160 161 160 162 163 164 163 165 166 167 166 168 169 170 169 171 172 173 172 174 175 176 175 177 178 179 178 180 181 182 181 183 184 185 184 186 187 188 187 189 190 191 190 192 193 194 193 195 196 197 196 198 199 200 199 201 202 203 202 204 205 206 205 207 208 209 208 210 211 212 211 213 214 215 214 216 217 218 217 219 220 221 220 222 223 224 223 225 226 227 226 228 229 230 229 231 232 233 232 234 235 236 235 237 238 239 238 240 241 242 241 243 244 245 244 246 247 248 247 249 250 251 250 252 253 254 253 255 256 257 256 258 259 260 259 261 262 263 262 264 265 266 265 267 268 269 268 270 271 272 271 273 274 275 274 276 277 278 277 279 280 281 280 282 283 284 283 285 286 287 286 288 289 290 289 291 292 293 292 294 295 296 295 297 298 299 298 300 301 302 301 303 304 305 304 306 307 308 307 309 310 311 310 312 313 314 313 315 316 317 316 318 319 320 319 321 322 323 322 324 325 326 325 327 328 329 328 330 331 332 331 333 334 335 334 336 337 338 337 339 340 341 340 342 343 344 343 345 346 347 346 348 349 350 349 351 352 353 352 354 355 356 355 357 358 359 358 360 361 362 361 363 364 365 364 366 367 368 367 369 370 371 370 372 373 374 373 375 376 377 376 378 379 380 379 381 382 383 382 384 385 386 385 387 388 389 388 390 391 392 391 393 394 395 394 396 397 398 397 399 400 401 400 402 403 404 403 405 406 407 406 408 409 410 409 411 412 413 412 414 415 416 415 417 418 419 418 420 421 422 421 423 424 425 424 426 427 428 427 429 430 431 430 432 433 434 433 435 436 437 436 438 439 440 439 441 442 443 442 444 445 446 445 447 448 449 448 450 451 452 451 453 454 455 454 456 457 458 457 459 460 461 460 462 463 464 463 465 466 467 466 468 469 470 469 471 472 473 472 474 475 476 475 477 478 479 478 480 481 482 481 483 484 485 484 486 487 488 487 489 490 491 490 492 493 494 493 495 496 497 496 498 499 500 499 501 502 503 502 504 505 506 505 507 508 509 508 510 511 512 511 513 514 515 514 516 517 518 517 519 520 521 520 522 523 524 523 525 526 527 526 528 529 530 529 531 532 533 532 534 535 536 535 537 538 539 538 540 541 542 541 543 544 545 544 546 547 548 547 549 550 551 550 552 553 554 553 555 556 557 556 558 559 560 559 561 562 563 562 564 565 566 565 567 568 569 568 570 571 572 571 573 574 575 574 576 577 578 577 579 580 581 580 582 583 584 583 585 586 587 586 588 589 590 589 591 592 593 592 594 595 596 595 597 598 599 598 600 601 602 601 603 604 605 604 606 607 608 607 609 610 611 610 612 613 614 613 615 616 617 616 618 619 620 619 621 622 623 622 624 625 626 625 627 628 629 628 630 631 632 631 633 634 635 634 636 637 638 637 639 640 641 640 642 643 644 643 645 646 647 646 648 649 650 649 651 652 653 652 654 655 656 655 657 658 659 658 660 661 662 661 663 664 665 664 666 667 668 667 669 670 671 670 672 673 674 673 675 676 677 676 678 679 680 679 681 682 683 682 684 685 686 685 687 688 689 688 690 691 692 691 693 694 695 694 696 697 698 697 699 700 701 700 702 703 704 703 705 706 707 706 708 709 710 709 711 712 713 712 714 715 716 715 717 718 719 718 720 721 722 721 723 724 725 724 726 727 728 727 729 730 731 730 732 733 734 733 735 736 737 736 738 739 740 739 741 742 743 742 744 745 746 745 747 748 749 748 750 751 752 751 753 754 755 754 756 757 758 757 759 760 761 760 762 763 764 763 765 766 767 766 768 769 770 769 771 772 773 772 774 775 776 775 777 778 779 778 780 781 782 781 783 784 785 784 786 787 788 787 789 790 791 790 792 793 794 793 795 796 797 796 798 799 800 799 801 802 803 802 804 805 806 805 807 808 809 808 810 811 812 811 813 814 815 814 816 817 818 817 819 820 821 820 822 823 824 823 825 826 827 826 828 829 830 829 831 832 833 832 834 835 836 835 837 838 839 838 840 841 842 841 843 844 845 844 846 847 848 847 849 850 851 850 852 853 854 853 855 856 857 856 858 859 860 859 861 862 863 862 864 865 866 865 867 868 869 868 870 871 872 871 873 874 875 874 876 877 878 877 879 880 881 880 882 883 884 883 885 886 887 886 888 889 890 889 891 892 893 892 894 895 896 895 897 898 899 898 900 901 902 901 903 904 905 904 906 907 908 907 909 910 911 910 912 913 914 913 915 916 917 916 918 919 920 919 921 381 !NTHETA: angles 1 2 3 1 2 4 2 4 6 2 4 5 3 2 4 4 6 8 4 6 7 6 4 5 6 8 9 6 8 10 8 6 7 8 10 12 8 10 11 9 8 10 10 12 14 10 12 13 12 10 11 12 14 15 12 14 16 14 12 13 14 16 18 14 16 17 15 14 16 16 18 20 16 18 19 18 16 17 18 20 21 18 20 22 20 18 19 20 22 24 20 22 23 21 20 22 22 24 26 22 24 25 24 22 23 24 26 27 24 26 28 26 24 25 26 28 30 26 28 29 27 26 28 28 30 32 28 30 31 30 28 29 30 32 33 30 32 34 32 30 31 32 34 36 32 34 35 33 32 34 34 36 38 34 36 37 36 34 35 36 38 39 36 38 40 38 36 37 38 40 42 38 40 41 39 38 40 40 42 44 40 42 43 42 40 41 42 44 45 42 44 46 44 42 43 44 46 48 44 46 47 45 44 46 46 48 50 46 48 49 48 46 47 48 50 51 48 50 52 50 48 49 50 52 54 50 52 53 51 50 52 52 54 56 52 54 55 54 52 53 54 56 57 54 56 58 56 54 55 56 58 60 56 58 59 57 56 58 58 60 62 58 60 61 60 58 59 60 62 63 60 62 64 62 60 61 62 64 66 62 64 65 63 62 64 66 64 65 68 67 69 71 70 72 74 73 75 77 76 78 80 79 81 83 82 84 86 85 87 89 88 90 92 91 93 95 94 96 98 97 99 101 100 102 104 103 105 107 106 108 110 109 111 113 112 114 116 115 117 119 118 120 122 121 123 125 124 126 128 127 129 131 130 132 134 133 135 137 136 138 140 139 141 143 142 144 146 145 147 149 148 150 152 151 153 155 154 156 158 157 159 161 160 162 164 163 165 167 166 168 170 169 171 173 172 174 176 175 177 179 178 180 182 181 183 185 184 186 188 187 189 191 190 192 194 193 195 197 196 198 200 199 201 203 202 204 206 205 207 209 208 210 212 211 213 215 214 216 218 217 219 221 220 222 224 223 225 227 226 228 230 229 231 233 232 234 236 235 237 239 238 240 242 241 243 245 244 246 248 247 249 251 250 252 254 253 255 257 256 258 260 259 261 263 262 264 266 265 267 269 268 270 272 271 273 275 274 276 278 277 279 281 280 282 284 283 285 287 286 288 290 289 291 293 292 294 296 295 297 299 298 300 302 301 303 305 304 306 308 307 309 311 310 312 314 313 315 317 316 318 320 319 321 323 322 324 326 325 327 329 328 330 332 331 333 335 334 336 338 337 339 341 340 342 344 343 345 347 346 348 350 349 351 353 352 354 356 355 357 359 358 360 362 361 363 365 364 366 368 367 369 371 370 372 374 373 375 377 376 378 380 379 381 383 382 384 386 385 387 389 388 390 392 391 393 395 394 396 398 397 399 401 400 402 404 403 405 407 406 408 410 409 411 413 412 414 416 415 417 419 418 420 422 421 423 425 424 426 428 427 429 431 430 432 434 433 435 437 436 438 440 439 441 443 442 444 446 445 447 449 448 450 452 451 453 455 454 456 458 457 459 461 460 462 464 463 465 467 466 468 470 469 471 473 472 474 476 475 477 479 478 480 482 481 483 485 484 486 488 487 489 491 490 492 494 493 495 497 496 498 500 499 501 503 502 504 506 505 507 509 508 510 512 511 513 515 514 516 518 517 519 521 520 522 524 523 525 527 526 528 530 529 531 533 532 534 536 535 537 539 538 540 542 541 543 545 544 546 548 547 549 551 550 552 554 553 555 557 556 558 560 559 561 563 562 564 566 565 567 569 568 570 572 571 573 575 574 576 578 577 579 581 580 582 584 583 585 587 586 588 590 589 591 593 592 594 596 595 597 599 598 600 602 601 603 605 604 606 608 607 609 611 610 612 614 613 615 617 616 618 620 619 621 623 622 624 626 625 627 629 628 630 632 631 633 635 634 636 638 637 639 641 640 642 644 643 645 647 646 648 650 649 651 653 652 654 656 655 657 659 658 660 662 661 663 665 664 666 668 667 669 671 670 672 674 673 675 677 676 678 680 679 681 683 682 684 686 685 687 689 688 690 692 691 693 695 694 696 698 697 699 701 700 702 704 703 705 707 706 708 710 709 711 713 712 714 716 715 717 719 718 720 722 721 723 725 724 726 728 727 729 731 730 732 734 733 735 737 736 738 740 739 741 743 742 744 746 745 747 749 748 750 752 751 753 755 754 756 758 757 759 761 760 762 764 763 765 767 766 768 770 769 771 773 772 774 776 775 777 779 778 780 782 781 783 785 784 786 788 787 789 791 790 792 794 793 795 797 796 798 800 799 801 803 802 804 806 805 807 809 808 810 812 811 813 815 814 816 818 817 819 821 820 822 824 823 825 827 826 828 830 829 831 833 832 834 836 835 837 839 838 840 842 841 843 845 844 846 848 847 849 851 850 852 854 853 855 857 856 858 860 859 861 863 862 864 866 865 867 869 868 870 872 871 873 875 874 876 878 877 879 881 880 882 884 883 885 887 886 888 890 889 891 893 892 894 896 895 897 899 898 900 902 901 903 905 904 906 908 907 909 911 910 912 914 913 915 917 916 918 920 919 921 31 !NPHI: dihedrals 1 2 4 6 2 4 6 8 4 6 8 10 6 8 10 12 8 10 12 14 10 12 14 16 12 14 16 18 14 16 18 20 16 18 20 22 18 20 22 24 20 22 24 26 22 24 26 28 24 26 28 30 26 28 30 32 28 30 32 34 30 32 34 36 32 34 36 38 34 36 38 40 36 38 40 42 38 40 42 44 40 42 44 46 42 44 46 48 44 46 48 50 46 48 50 52 48 50 52 54 50 52 54 56 52 54 56 58 54 56 58 60 56 58 60 62 58 60 62 64 60 62 64 66 32 !NIMPHI: impropers 2 1 4 3 4 2 6 5 6 4 8 7 8 6 10 9 10 8 12 11 12 10 14 13 14 12 16 15 16 14 18 17 18 16 20 19 20 18 22 21 22 20 24 23 24 22 26 25 26 24 28 27 28 26 30 29 30 28 32 31 32 30 34 33 34 32 36 35 36 34 38 37 38 36 40 39 40 38 42 41 42 40 44 43 44 42 46 45 46 44 48 47 48 46 50 49 50 48 52 51 52 50 54 53 54 52 56 55 56 54 58 57 58 56 60 59 60 58 62 61 62 60 64 63 64 62 66 65 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 !NGRP 0 0 0 protomol/examples/decalanine_66/dihedralIndexSet0100644027616700000500000000006010237151526021367 0ustar pbrenne1dip2 3 5 6 8 9 11 12 14 15 17 18 20 21 23 24 26 27 protomol/examples/electrons_22/0040755027616700000500000000000010237151526016136 5ustar pbrenne1dipprotomol/examples/electrons_22/.cvsignore0100644027616700000500000000001710237151526020131 0ustar pbrenne1dip*energ* *out* protomol/examples/electrons_22/22el.conf0100644027616700000500000000134510237151526017551 0ustar pbrenne1dip# Simulation of 22 electrons at very low temperature # relaxing to ground state firststep 0 numsteps 1000000 seed 1234 #input VELFILE 22el.vel.xyz POSFILE 22el.pos.xyz psffile 22el.psf parfile el.par # output outputfreq 1000 finXYZPosFile 22el.out.pos.xyz finXYZVelFile 22el.out.vel.xyz PAULFILE 22el.out.paul PAULLOWFILE 22el.out.paul.low.xyz PAULOUTPUTFREQ 1 PAULCACHEFREQ 1000 boundaryConditions vacuum cellManager Cubic cellsize 10000 Integrator { # level 0 Leapfrog { # timestep 1e-4 level 0 NoseNVTLeapfrog { timestep 1 temperature 1e-5 thermal 1e-7 force Coulomb -algorithm NonbondedSimpleFull force PaulTrap -omegaR 6.07e-3 -omegaZ 0.0 } } protomol/examples/electrons_22/22el.pos.xyz0100644027616700000500000000337110237151526020257 0ustar pbrenne1dip22 !ProtoMol (built on Nov 1 2004 at 15:23:47) generated this XYZ file by victoria. Time : 10000, step : 10000. EL 135.090647785044 164.105684180966 0 EL -2.56476741366658 -1.39718420690235 0 EL 36.0957723428687 123.640036867929 0 EL -30.6291380381664 -223.818485032951 0 EL -364.663314327885 7.19011175297393 0 EL -131.944295004171 -178.999787825427 0 EL 317.572552890265 -22.4234923761066 0 EL 48.0589694648291 244.451287944359 0 EL -206.223737408631 -16.8640029946924 0 EL -198.98473847251 -79.832140393177 0 EL 122.607782525271 -31.6788918220087 0 EL -68.6944170021574 -93.2592508637039 0 EL -267.04594031977 169.542971436142 0 EL 22.0675979032848 -109.741415430057 0 EL 3.9562019615141 53.1748222005685 0 EL 143.613435541071 227.791314780883 0 EL 66.011752978716 55.1081646932525 0 EL 129.213007312368 -167.412643769688 0 EL -76.72107533623 -219.245152258102 0 EL 193.227795354918 193.043695188777 0 EL 160.315926599426 116.587136974759 0 EL 57.9807454226794 2.19717861980152 0 protomol/examples/electrons_22/22el.psf0100644027616700000500000000325310237151526017414 0ustar pbrenne1dipPSF 1 !NTITLE REMARKS 22 !NATOM 1 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 2 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 3 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 4 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 5 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 6 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 7 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 8 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 9 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 10 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 11 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 12 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 13 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 14 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 15 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 16 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 17 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 18 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 19 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 20 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 21 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 22 XXX 1 YYY Z EL -0.074074074 3.67548752518344e-05 0 protomol/examples/electrons_22/22el.vel.xyz0100644027616700000500000000337110237151526020244 0ustar pbrenne1dip22 !ProtoMol (built on Nov 1 2004 at 15:23:47) generated this XYZ file by victoria. Time : 10000, step : 10000. EL 52.0322561344831 -24.3647876996724 0 EL -1.19837389511496 42.3427842693392 0 EL -37.0967295640909 2.35996735361272 0 EL -30.6799676738005 -22.6019609203018 0 EL -19.0753021888413 6.29562031621002 0 EL -40.376703352331 32.3507920916008 0 EL 70.9100805060776 -8.01794928764176 0 EL -0.979994946577272 -65.1247574880524 0 EL -41.6702608920917 46.5300621755941 0 EL 33.3133117926766 -0.0322156256551367 0 EL 4.55455702939249 -20.8577430779508 0 EL 20.1065793571367 -28.2284728840525 0 EL -4.36843998165149 -5.2563147852884 0 EL 6.70075141007279 4.17632039013016 0 EL -20.8233022616443 -10.8587810026762 0 EL -23.3873576374335 -13.6568068899256 0 EL -8.92037291091483 -19.0348497084483 0 EL 50.5527189731999 -8.7507429947295 0 EL 26.9781190770658 3.20685488607864 0 EL -54.8269524391554 36.3289429372654 0 EL -24.214946835271 -8.61922233063877 0 EL 5.99493097684109 -25.7863795644929 0 protomol/examples/electrons_22/el.par0100644027616700000500000000022410237151526017235 0ustar pbrenne1dip REMARKS Charmm parameter set for water and ions v22 b4 REMARKS FILENAME="water+ions.par" NONBONDED EL .0 .0 .0 .0 ! protomol/examples/methane_ethane_xxx/0040755027616700000500000000000010237151526017511 5ustar pbrenne1dipprotomol/examples/methane_ethane_xxx/.cvsignore0100644027616700000500000000001710237151526021504 0ustar pbrenne1dip*energ* *out* protomol/examples/methane_ethane_xxx/ethane_methane.par0100644027616700000500000000477410237151526023173 0ustar pbrenne1dip*>>>> CHARMM22 Parameter File for butanol/water mixture <<<<<<<<<<<<<<<< *>>>>>>>>>>>>>>>>>>>>>>> November 2004 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< *>>>>>>>>>>>>>>>>>> Prepared by T. I. Morrow <<<<<<<<<<<<<<<<<<<<<<<<<<< ! REMARKS ! Revision 1 -- April 2005 -- Added TraPPe models (truncated interactions at 14 A) ! BONDS ! !V(bond) = Kb(b - b0)**2 ! !Kb: kcal/mole/A**2 !b0: A ! !atom type Kb b0 identity ! !-- single-topology bonds for iSGMD simulations !-- for the UA model U1 U2 500.0 1.540 0 ! UA alkane C-C bond -- ethane identity (TraPPe model) U1 U2 500.0 1.540 1 ! dummy-C bond -- methane identity (TraPPe model) ANGLES ! !V(angle) = Ktheta(Theta - Theta0)**2 ! !V(Urey-Bradley) = Kub(S - S0)**2 ! !Ktheta: kcal/mole/rad**2 !Theta0: degrees !Kub: kcal/mole/A**2 (Urey-Bradley) !S0: A ! !atom types Ktheta Theta0 Kub S0 identity ! DIHEDRALS ! !V(dihedral) = Kchi(1 + cos(n(chi) - delta)) ! !Kchi: kcal/mole !n: multiplicity !delta: degrees ! !atom types Kchi n delta identity ! IMPROPER ! !V(improper) = Kpsi(psi - psi0)**2 ! !Kpsi: kcal/mole/rad**2 !psi0: degrees !note that the second column of numbers (0) is ignored ! !atom types Kpsi psi0 identity ! NONBONDED nbxmod 5 atom cdiel shift vatom vdistance vswitch - cutnb 14.0 ctofnb 12.0 ctonnb 10.0 eps 1.0 e14fac 1.0 wmin 1.5 !adm jr., 5/08/91, suggested cutoff scheme ! !V(Lennard-Jones) = Eps,i,j[(Rmin,i,j/ri,j)**12 - 2(Rmin,i,j/ri,j)**6] ! !epsilon: kcal/mole, Eps,i,j = sqrt(eps,i * eps,j) !Rmin/2: A, Rmin,i,j = Rmin/2,i + Rmin/2,j ! !atom ignored epsilon Rmin/2 ignored eps,1-4 Rmin/2,1-4 identity ! !-- single topology LJ parameters for iSGMD simulations !-- for the UA model U1 0.0 -0.19460 2.105 0.0 -0.0000 1.000 0 ! ethane methyl CH3 -- ethane identity (TraPPe model) U1 0.0 -0.29390 2.093 0.0 -0.0000 1.000 1 ! methane atom -- methane identity (TraPPe model) U2 0.0 -0.19460 2.105 0.0 -0.0000 1.000 0 ! ethane methyl CH3 -- ethane identity (TraPPe model) U2 0.0 -0.00000 2.105 0.0 -0.0000 1.000 1 ! dummy atom -- methane identity (TraPPe model) HBOND CUTHB 0.5 ! If you want to do hbond analysis (only), then use ! READ PARAM APPEND CARD ! to append hbond parameters from the file: par_hbond.inp END protomol/examples/methane_ethane_xxx/ethane_methane.trans0100644027616700000500000001045410237151526023530 0ustar pbrenne1dip*>>>> Transformation path File for ethane/methane mixture <<<<<<<<<<<<<<< *>>>>>>>>>>>>>>>>>> October 2004 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< *>>>>>>>>>>>>>> Prepared by T. I. Morrow <<<<<<<<<<<<<<<<<<<<<<<< ! REMARKS ! Revision 1 -- September 2004 -- Includes TraPPe United-Atom forcefield for ethane ! and methane ! ! The IDENTITIES number is the number of different identities that each atom type ! can adopt (it will be equal to the number of mixture components). Thus, each ! atom type will have (IDENTITIES) sets of mass and charge parameters. ! ! The STAGES number is the number of stages that the molecular transformation is to ! be broken into. Each atom type must have a stage number for each of its identities. ! This stage number for each atom type identity indicates at what stage the atom is ! to be transformed if the molecule is currently in that identity. For example, ! for an N-stage transformation, if an atom type with identity A has a stage number ! of 1, that means that if the molecule has identity A and is being transformed to ! any other identity, that atom will be transformed in the very first stage. If the ! atom type with identity A had a stage number of N, then that atom would be transformed ! in the very last stage. For a mixture of N components, there should be N*(N-1)/2 ! ideal gas state chemical potential differences listed per stage. Each transformation ! stage must have an ideal gas chemical potential difference listed, even if it is zero. -- TIM ! IDENTITIES 2 ! identity 1 = ethane ! identity 2 = methane ! STAGES 1 ! ! IDEAL_GAS_DELTAMU ! ! If any intramolecular interactions are mutated (bonds, angles, dihedrals, impropers or 1-4+ LJ and coulomb interactions) ! then the free energy of mutation (i.e. chemical potential difference) of the intramolecular interactions in the ideal gas ! state must be listed here. If no intramolecular interactions are to be mutated, then the ideal gas state chemical potential ! difference is zero. -- TIM ! ! stage old identity new identity DeltaMu --> (Mu[new] - Mu[old]) in ideal gas state in kcal/mol ! 1 1 2 0.0 1 2 1 0.0 ! ! TYPES ! ! Here we list the permanent mass and charge each atom has for each of its identities. ! You must also give a stage number for each identity of each atom type as mentioned above. ! ! atom mass charge identity stage ! !-- single topology LJ parameters for iSGMD simulations !-- for the UA model U1 15.0344 0.000000 1 1 ! methyl CH3 atom -- ethane identity U1 16.0423 0.000000 2 1 ! methane atom -- methane identity U2 15.0344 0.000000 1 1 ! methyl CH3 atom -- ethane identity U2 15.0344 0.000000 2 1 ! dummy atom -- methane identity ! CHARGES ! ! Since it is often difficult to complete a single-stage transformation in which relatively strong atomic ! charges must be drastically changed or even reduced to zero, it is convenient to define a set of intermediate ! states so that the atomic charges can be changed more gradually. This can be done by specifying intermediate ! atomic charges for each stage of a particular transformation, In this section we list the charge on each atom ! for each stage of a particular transformation. You can also specify a value for the soft-core Lennard-Jones ! alpha parameter for a particular atomic transformation. If you do not provide any numbers at all in the ! alpha LJ column, a default value of 0.5 will be used for the alphaLJ of each atom type. (Note: the way the ! code is currently set up, LJ interactions are completely transformed in one and only particular stage, so you ! need only to list an atomtype's alphaLJ parameter for one stage) ! ! stage atom old identity new identity old charge new charge alphaLJ ! !-- single topology LJ parameters for iSGMD simulations !-- for the UA model ! initial stage 1 U1 1 2 0.000000 0.000000 0.0 1 U1 2 1 0.000000 0.000000 0.0 1 U2 1 2 0.000000 0.000000 0.5 1 U2 2 1 0.000000 0.000000 0.5 END protomol/examples/methane_ethane_xxx/ethane_methane_100.conf0100644027616700000500000000750110237151526023705 0ustar pbrenne1dip#ProtoMol configuration file - iSGMD simulation for the gas phase of a methane/ethane mixture # seed for random number generator seed 157962 # timestep parameters firststep 0 numsteps 250000 #Simulation input files #temperature 192.37 PSFfile ethane_methane_100_Pure_Trappe.psf POSfile ethane_methane_100_Pure_Trappe.coor.xyz VELfile ethane_methane_100_Pure_Trappe.vel.xyz XSCfile ethane_methane_100_Pure_Trappe.xsc # forcefield PARfile ethane_methane.par TRANSfile ethane_methane.trans # constraints angularMomentum 0 comMotion 0 shake true rattle true # Simulation cell dimensions (these numbers are ignored if an XSCfile is specified) cellbasisvector1 30.265 0 0 cellbasisvector2 0 30.265 0 cellbasisvector3 0 0 30.265 cellorigin 0 0 0 #pairlist size cellManager Cubic cellsize 15.0 # outputfiles reportOnFreq false # set this to true to see output at the frequencies specified below (normally this should be set to false) energiesoutputfreq 1 # frequency for reporting energy output to a file; if reportOnFreq = false, then set this frequency to 1 screenoutputfreq 1 # frequency for reporting energy output to the screen; if reportOnFreq = false, then set this frequency to 1 finXYZposfile ethane_methane_100_o20_Trappe.out.coor.xyz # final xyz coordinate file name finXYZvelfile ethane_methane_100_o20_Trappe.out.vel.xyz # final xyz velocity file name finXSCfile ethane_methane_100_o20_Trappe.out.xsc # final XSC file name (eXtended System Coordinates) finPSFfile ethane_methane_100_o20_Trappe.out.psf # final PSF file name allenergiesfile ethane_methane_100_o20_Trappe.out.txt # name of output file containing all the energy information iSGPropertiesfile ethane_methane_100_o20_Trappe.out.isg.txt # name of output file containing iSG ensemble information # (Potential & kinetic energy, P, V, T, # of molecules, and # the fluctuation in conserved quantity) #boundaryConditions boundaryConditions Periodic # Pressure and temperature calculations # molVirialCalc must be set to true, the others are optional VirialCalc true molVirialCalc true molecularTemperature true # of mixture components components 2 Integrator { level 0 iSGVerlet { timestep 1 # target temperature [K] components 2 # target temperature [K] temperature 192.37 # thermostat time period [fs] # NOTE: The smaller tauT is, the stronger the temperature control # If tauT is too small (~ 1 fs) the simulation can become unstable tauT 20.0 # target pressure [bar] pressure 1.99 # volume thermostat time period [fs] # NOTE: The smaller tauV is, the stronger the temperature control on the barostat # If tauV is too small the simulation can become unstable omegaTv 200.0 # barostat time period [fs] # NOTE: The smaller tauP is, the stronger the pressure control # If tauV is too small the simulation can become unstable tauP 150.0 # target fugacity fraction [unitless] # need (# of components) fugacity fractions and they must sum to 1 # the first number is the fugacity fraction for ethane # and the second number is the fugacity fraction for methane fugacityfrac 0.80 0.20 # chemostat time period [fs] # NOTE: The smaller tauD is, the stronger the DeltaMu control # If tauD is too small (~ 5.0 fs for methane/ethane) the simulation will be unstable tauD 35.0 # van der Waals force force iSGLennardJones -algorithm NonbondedCutoff -switchingFunction cutoff -cutoff 15.0 } } protomol/examples/methane_ethane_xxx/ethane_methane_100_Pure_Trappe.coor.xyz0100644027616700000500000003572310237151526027070 0ustar pbrenne1dip200 !ProtoMol (built on Mar 15 2005 at 18:54:16) generated this XYZ file by tmorrow. Time : 100000, step : 100000. U1 6996.370388385 1269.4259037789 12622.926094231 U2 6996.0367209541 1270.40916934698 12620.8234522337 U1 3637.51862290705 663.781007957788 16952.5625741946 U2 3636.88482680105 661.580882462879 16953.0692954982 U1 2440.31754481763 -3010.45413010657 15013.4522566207 U2 2438.8565313206 -3008.91592667673 15014.4514717798 U1 4269.49910629851 1239.82079148533 22359.2291186518 U2 4270.87835827527 1237.92437752158 22359.2080345844 U1 12722.6353616677 -5815.71261131425 20311.3437306123 U2 12724.0634453693 -5816.57976379815 20312.9892274631 U1 -660.210084673874 -1947.18948504098 19972.8524684271 U2 -660.037266723001 -1944.92832458405 19972.2555037593 U1 12110.7827761252 -3435.17799887196 18799.3893954624 U2 12109.1699190854 -3435.11276815808 18801.090464594 U1 7241.19065953066 3114.61995409253 17893.229824642 U2 7240.3222211732 3112.77644900456 17894.3901504076 U1 1154.71980459426 89.1974330055441 14378.7117328752 U2 1156.46909234356 89.4112316080206 14380.2587926974 U1 9454.19375918676 -2186.81902174007 24559.3423035538 U2 9454.17923205853 -2187.00691034724 24561.6797208815 U1 3883.81788443629 -14320.1163479948 21652.7320564278 U2 3881.57574794568 -14319.7256396505 21652.1669221696 U1 9032.83487603996 -4939.96264971723 21890.8600644667 U2 9032.08009028714 -4939.599082042 21888.6698104065 U1 2925.56936879727 -5765.10564535505 16893.6494719209 U2 2925.67310522756 -5762.94845181464 16894.5631391473 U1 9268.82180857436 -147.428983183056 23623.5913358007 U2 9269.4658950868 -146.232816423968 23625.5027609079 U1 6259.98155295941 6016.9688006489 11557.3356595589 U2 6259.69306923198 6014.64263522728 11557.2643742712 U1 4039.85239849474 3656.12950485906 18393.9783533513 U2 4040.86599041377 3657.52168203746 18395.5700546962 U1 9279.07897864208 9.6801420707882 15693.855324658 U2 9278.0829731317 9.52933541541635 15691.7377137311 U1 1047.27363093583 -2188.87525206491 15850.7295908429 U2 1046.56487327027 -2191.04498190481 15851.2672395115 U1 13572.4750789637 -1064.12197549768 14014.9537546177 U2 13572.2879782186 -1061.79034110451 14014.7876514117 U1 7780.41983815379 -5020.59095131467 19199.98084363 U2 7782.56376329054 -5020.69670743559 19200.9249971043 U1 545.881288487854 -6030.42780929898 25038.8533568138 U2 547.715990866963 -6031.05150114985 25037.5327778253 U1 6784.47454790419 -7010.15118349896 14309.0315922126 U2 6784.49270462319 -7010.55100283692 14311.3421897467 U1 1447.23274483336 -14915.4423646892 20553.6982284202 U2 1444.88834624689 -14915.4950502874 20553.7072777089 U1 6822.01631230843 890.643130917881 14432.6347841043 U2 6823.61132538524 888.926015885132 14432.7154156971 U1 3819.00947749454 -6364.37693305165 20494.4409546773 U2 3821.02750595496 -6363.32914635333 20493.8674350613 U1 9874.02171446519 2553.77194574752 20159.9621168213 U2 9872.85776274108 2553.17015523003 20158.0173435715 U1 10439.3403212379 1933.13500744921 22001.3546469654 U2 10437.945455838 1931.32705828182 22001.8882624679 U1 10642.0648962178 1942.39416376657 18957.9962968139 U2 10642.3786908598 1940.08876125226 18958.2891705771 U1 5704.91438794277 -6181.96397507333 16350.7944493277 U2 5702.69963811348 -6182.31160168323 16350.1066368938 U1 5570.31931791626 -1073.00346304343 18225.8846763152 U2 5569.89475367454 -1070.69725607798 18225.8703848882 U1 -2018.05123179931 -3702.72406840495 16877.5709943533 U2 -2019.15059573537 -3703.16012361423 16879.5959575031 U1 4821.35562581637 -771.432462897023 10645.0870556529 U2 4822.00517535418 -772.923219352069 10646.7766828732 U1 9242.30832847289 4029.93849688097 15219.2085732293 U2 9241.1468989586 4031.97330360988 15219.1097707715 U1 4342.96551772913 -3083.23017884032 18706.5164942818 U2 4341.85828213883 -3085.09262489927 18705.6196502962 U1 4054.39184393811 -5134.54675360546 14297.042468352 U2 4056.56472170747 -5135.42112309651 14296.9278194659 U1 6845.95995223603 5323.97508089088 16976.8431403047 U2 6846.156443571 5321.65515683166 16976.5631890502 U1 9805.05107993429 -3272.87114241472 23377.195684335 U2 9805.56353426635 -3274.99365266544 23378.0509368318 U1 1221.02454294847 10.3031061613725 18532.7319691894 U2 1222.63269220686 12.0084349528191 18532.8016597725 U1 3902.25681063774 -5694.69559127809 21463.7614538928 U2 3904.53661398672 -5694.15021921967 21463.8262671635 U1 8974.78541675771 -3738.01619048435 21499.1921333406 U2 8974.63682578683 -3739.74029592351 21497.6095841013 U1 10936.2143359738 2493.53156275368 11057.6161562288 U2 10937.1623841901 2491.38670178745 11057.6242806058 U1 6314.27760892733 1068.69941675074 13903.7196148269 U2 6315.05304933262 1066.66222291485 13902.8549807245 U1 6796.13381312503 749.812202803045 13067.1557760585 U2 6795.76455185751 751.733429252359 13068.4486984166 U1 9041.03892608064 8.7830352906881 16938.4215264471 U2 9039.38192645315 7.37548925778305 16939.3004250541 U1 5171.79470371772 -2809.50072006065 8168.96519962981 U2 5169.50274192377 -2809.01190214177 8169.04883091082 U1 11992.2097493667 -2384.61769428498 18499.1263005788 U2 11991.270975863 -2382.47359923185 18499.2698683479 U1 13746.9992790008 -3651.88605734741 20598.4697027322 U2 13746.6012194206 -3653.85129235282 20597.2537328165 U1 3881.25174802429 -2079.4300040863 21313.5163521827 U2 3882.81410228919 -2079.31047459214 21315.2610395498 U1 6816.78048250375 -3478.56150790623 11079.7955561711 U2 6816.57380067422 -3480.26045416688 11078.1924520846 U1 7440.90495035313 8023.00540265745 10075.8078025708 U2 7441.33174190898 8023.52341971553 10078.0547228696 U1 7441.85093351448 -4505.61683184742 16673.5693208507 U2 7442.13127706165 -4505.62191321896 16675.8975104856 U1 8165.83193375003 -2154.88815162781 16374.3281623126 U2 8166.5201525718 -2153.54506954637 16372.5331537352 U1 5682.50263088842 3833.25821696312 10866.715355407 U2 5680.72769659964 3832.43792387008 10865.4208457351 U1 4999.32754313712 -4125.91154893641 21451.837131627 U2 4998.53740677826 -4125.92708198396 21449.629291995 U1 14270.7998095515 -1309.95749801253 16850.6430254001 U2 14271.9194167303 -1309.69272666159 16852.6864055227 U1 587.799292133337 -13570.7672497066 14905.0912619032 U2 587.011102616915 -13572.6970266687 14906.165435153 U1 11056.0780854971 -1282.25638666482 9255.70780520326 U2 11056.5836342309 -1284.54625478108 9255.70664283706 U1 11946.1823787942 -3856.05548789826 18619.3663727535 U2 11944.6152745005 -3854.31290560929 18619.2848537437 U1 5941.71709038693 -4776.09247155023 23244.3124401745 U2 5943.56750539757 -4775.45213102309 23245.6027819974 U1 13096.2336202805 67.0531300202613 21130.0717722597 U2 13095.8820972439 65.5353357555459 21131.8244951975 U1 7005.39103997119 660.421113920697 19634.5346573572 U2 7004.84405010482 660.728847973034 19636.7941245086 U1 10464.5118561135 -7696.6588020091 20541.378647836 U2 10464.5614231881 -7696.86216126753 20539.0430064751 U1 2641.20389920304 1995.1648921031 13712.322357378 U2 2640.93698621671 1992.96178187424 13711.564669076 U1 6637.69212998477 8005.75412942389 25164.4959553872 U2 6638.79354298892 8003.72194336611 25164.8910948067 U1 4083.47841009855 -3204.22720873329 19320.0454994545 U2 4083.8881421424 -3206.44641880382 19319.407970396 U1 4931.94822096487 -93.811503575471 16474.0948619088 U2 4932.00256907966 -91.4684355641644 16474.0153014162 U1 4708.00697462785 -7629.23624674548 12634.6701558542 U2 4708.08422353581 -7627.07000080147 12633.7754818847 U1 2188.65363664699 1902.19900113354 11854.1967171352 U2 2190.14006861251 1902.76988685144 11852.4751891568 U1 19298.2350902382 -2326.58496244884 12268.1058457504 U2 19298.0076178602 -2324.66470080145 12269.4324543968 U1 3657.58891485771 -3043.15088007801 19474.7338191603 U2 3658.70570460962 -3041.10326899881 19474.9772743281 U1 5572.07594979326 -859.459604646288 17685.5238181483 U2 5572.42790912622 -860.910070072736 17683.715096441 U1 3424.07894118037 2699.43039609773 14149.0819200108 U2 3424.55126893316 2698.15832501071 14150.9944579536 U1 5555.11174618417 -2981.40948097111 18463.917956249 U2 5556.54557071946 -2980.62842811002 18465.6011780364 U1 2157.64961599507 -4165.541738786 14416.9819846288 U2 2158.35137619659 -4167.29558374016 14418.3715062362 U1 13945.1118541663 -8115.70276145594 16145.9250671556 U2 13942.8236497236 -8116.01929125984 16146.328746175 U1 8422.66873517124 -1744.38154771403 12327.6272112654 U2 8424.60929824424 -1745.57819409112 12327.0781668633 U1 6049.56859418573 -1199.07685011385 10597.1000905919 U2 6051.1817324611 -1200.77553105845 10596.9937787218 U1 3658.1409201442 -8338.07875418539 16749.9641385283 U2 3660.09933134602 -8337.59687297175 16751.1606386378 U1 2540.53127057976 -7715.2756340964 19305.1073305531 U2 2538.96289173249 -7716.84769817653 19304.3537800407 U1 1277.37245114405 -2088.12904386464 21876.5972741241 U2 1279.57263466943 -2088.01681491509 21875.7937648857 U1 4023.43416801274 504.027866688626 16642.1581947535 U2 4022.48798687677 506.089802855157 16641.5647293803 U1 9094.28452414273 -5465.11527194776 21284.7611886945 U2 9096.35031932421 -5464.33950698964 21285.5547483646 U1 10485.3181445485 2436.16332403374 19240.2168652452 U2 10487.227336811 2434.98640479935 19239.5319991527 U1 5554.99032276209 -6030.92428767115 25363.7668425563 U2 5553.35059379056 -6029.99340631139 25365.1610516548 U1 2683.52472415402 -2449.98839747583 15220.8702753579 U2 2681.46713936298 -2450.63306376704 15219.9484259728 U1 5627.74498915293 -990.180157609005 17158.4950011599 U2 5626.31453506935 -992.028615541137 17158.6850669707 U1 306.584718372009 751.750859746026 18399.2418294157 U2 308.703351801732 752.352623226506 18398.4366161002 U1 8192.59578388745 935.321296145425 16803.4104799814 U2 8193.99411663391 934.668611399121 16801.6447693396 U1 17956.8217585388 -5127.16087408155 15625.4670345837 U2 17957.2244713908 -5127.58709449094 15627.7375444902 U1 3602.68156099592 -9322.33145209514 13418.877119175 U2 3602.0455409377 -9324.53378822912 13419.3713133471 U1 4155.32270762196 -8244.59862777282 16244.0072537142 U2 4153.20962332621 -8244.47691551575 16245.0167862091 U1 4071.58985017136 -3181.97872793076 16104.8907550141 U2 4070.69343754629 -3179.86187645184 16105.353799723 U1 7189.56170644678 -5081.41958134193 19777.5003623149 U2 7187.31317698837 -5081.78648303536 19776.9448563378 U1 6531.07592227447 -1651.52000357389 15090.6212689043 U2 6531.48843474228 -1649.24989276228 15091.0402188937 U1 5361.34888261277 -1780.7012670356 10811.0879091699 U2 5361.79501933746 -1778.51569650835 10810.364530162 U1 12861.6879992009 -5363.14164751389 17461.2842344856 U2 12862.02364239 -5363.31796223735 17458.9700844542 U1 806.295447340121 -3434.86137648277 16497.8419043293 U2 807.188965639872 -3435.68892551717 16499.8458727152 U1 8840.51062825091 1734.4387840117 16429.3967491928 U2 8838.64890835864 1735.78025824093 16428.9135024567 U1 702.366962152647 -1767.57048275224 15418.2655262986 U2 701.28540291168 -1765.51937528342 15418.6150564427 U1 6584.96991488923 -3572.64912993798 14440.1416422673 U2 6584.764317027 -3570.58663553782 14441.2384450425 protomol/examples/methane_ethane_xxx/ethane_methane_100_Pure_Trappe.psf0100644027616700000500000003766010237151526026067 0ustar pbrenne1dipPSF 5 !NTITLE REMARKS FILENAME=ethane_methane_100_Pure_Trappe.psf by tmorrow REMARKS ProtoMol (built on Mar 15 2005 at 18:54:05) REMARKS This .psf file was created by PSFWriter REMARKS It was not manually assembled REMARKS Time : 100000, step : 100000. 200 !NATOM 1 MTET 1 BTW U1 U1 0 15.0344 0 2 MTET 1 BTW U2 U2 0 15.0344 0 3 MTET 2 BTW U1 U1 0 15.0394 0 4 MTET 2 BTW U2 U2 0 15.0344 0 5 MTET 3 BTW U1 U1 0 15.0344 0 6 MTET 3 BTW U2 U2 0 15.0344 0 7 MTET 4 BTW U1 U1 0 15.0344 0 8 MTET 4 BTW U2 U2 0 15.0344 0 9 MTET 5 BTW U1 U1 0 15.0344 0 10 MTET 5 BTW U2 U2 0 15.0344 0 11 MTET 6 BTW U1 U1 0 15.0344 0 12 MTET 6 BTW U2 U2 0 15.0344 0 13 MTET 7 BTW U1 U1 0 15.0344 0 14 MTET 7 BTW U2 U2 0 15.0344 0 15 MTET 8 BTW U1 U1 0 15.0344 0 16 MTET 8 BTW U2 U2 0 15.0344 0 17 MTET 9 BTW U1 U1 0 15.0344 0 18 MTET 9 BTW U2 U2 0 15.0344 0 19 MTET 10 BTW U1 U1 0 15.0344 0 20 MTET 10 BTW U2 U2 0 15.0344 0 21 MTET 11 BTW U1 U1 0 15.0344 0 22 MTET 11 BTW U2 U2 0 15.0344 0 23 MTET 12 BTW U1 U1 0 15.0344 0 24 MTET 12 BTW U2 U2 0 15.0344 0 25 MTET 13 BTW U1 U1 0 15.0344 0 26 MTET 13 BTW U2 U2 0 15.0344 0 27 MTET 14 BTW U1 U1 0 15.0344 0 28 MTET 14 BTW U2 U2 0 15.0344 0 29 MTET 15 BTW U1 U1 0 15.0344 0 30 MTET 15 BTW U2 U2 0 15.0344 0 31 MTET 16 BTW U1 U1 0 15.0344 0 32 MTET 16 BTW U2 U2 0 15.0344 0 33 MTET 17 BTW U1 U1 0 15.0344 0 34 MTET 17 BTW U2 U2 0 15.0344 0 35 MTET 18 BTW U1 U1 0 15.0344 0 36 MTET 18 BTW U2 U2 0 15.0344 0 37 MTET 19 BTW U1 U1 0 15.0344 0 38 MTET 19 BTW U2 U2 0 15.0344 0 39 MTET 20 BTW U1 U1 0 15.0344 0 40 MTET 20 BTW U2 U2 0 15.0344 0 41 MTET 21 BTW U1 U1 0 15.0344 0 42 MTET 21 BTW U2 U2 0 15.0344 0 43 MTET 22 BTW U1 U1 0 15.0344 0 44 MTET 22 BTW U2 U2 0 15.0344 0 45 MTET 23 BTW U1 U1 0 15.0344 0 46 MTET 23 BTW U2 U2 0 15.0344 0 47 MTET 24 BTW U1 U1 0 15.0344 0 48 MTET 24 BTW U2 U2 0 15.0344 0 49 MTET 25 BTW U1 U1 0 15.0344 0 50 MTET 25 BTW U2 U2 0 15.0344 0 51 MTET 26 BTW U1 U1 0 15.0344 0 52 MTET 26 BTW U2 U2 0 15.0344 0 53 MTET 27 BTW U1 U1 0 15.0344 0 54 MTET 27 BTW U2 U2 0 15.0344 0 55 MTET 28 BTW U1 U1 0 15.0344 0 56 MTET 28 BTW U2 U2 0 15.0344 0 57 MTET 29 BTW U1 U1 0 15.0344 0 58 MTET 29 BTW U2 U2 0 15.0344 0 59 MTET 30 BTW U1 U1 0 15.0344 0 60 MTET 30 BTW U2 U2 0 15.0344 0 61 MTET 31 BTW U1 U1 0 15.0344 0 62 MTET 31 BTW U2 U2 0 15.0344 0 63 MTET 32 BTW U1 U1 0 15.0344 0 64 MTET 32 BTW U2 U2 0 15.0344 0 65 MTET 33 BTW U1 U1 0 15.0344 0 66 MTET 33 BTW U2 U2 0 15.0344 0 67 MTET 34 BTW U1 U1 0 15.0344 0 68 MTET 34 BTW U2 U2 0 15.0344 0 69 MTET 35 BTW U1 U1 0 15.0344 0 70 MTET 35 BTW U2 U2 0 15.0344 0 71 MTET 36 BTW U1 U1 0 15.0344 0 72 MTET 36 BTW U2 U2 0 15.0344 0 73 MTET 37 BTW U1 U1 0 15.0344 0 74 MTET 37 BTW U2 U2 0 15.0344 0 75 MTET 38 BTW U1 U1 0 15.0344 0 76 MTET 38 BTW U2 U2 0 15.0344 0 77 MTET 39 BTW U1 U1 0 15.0344 0 78 MTET 39 BTW U2 U2 0 15.0344 0 79 MTET 40 BTW U1 U1 0 15.0344 0 80 MTET 40 BTW U2 U2 0 15.0344 0 81 MTET 41 BTW U1 U1 0 15.0344 0 82 MTET 41 BTW U2 U2 0 15.0344 0 83 MTET 42 BTW U1 U1 0 15.0344 0 84 MTET 42 BTW U2 U2 0 15.0344 0 85 MTET 43 BTW U1 U1 0 15.0344 0 86 MTET 43 BTW U2 U2 0 15.0344 0 87 MTET 44 BTW U1 U1 0 15.0344 0 88 MTET 44 BTW U2 U2 0 15.0344 0 89 MTET 45 BTW U1 U1 0 15.0344 0 90 MTET 45 BTW U2 U2 0 15.0344 0 91 MTET 46 BTW U1 U1 0 15.0344 0 92 MTET 46 BTW U2 U2 0 15.0344 0 93 MTET 47 BTW U1 U1 0 15.0344 0 94 MTET 47 BTW U2 U2 0 15.0344 0 95 MTET 48 BTW U1 U1 0 15.0344 0 96 MTET 48 BTW U2 U2 0 15.0344 0 97 MTET 49 BTW U1 U1 0 15.0344 0 98 MTET 49 BTW U2 U2 0 15.0344 0 99 MTET 50 BTW U1 U1 0 15.0344 0 100 MTET 50 BTW U2 U2 0 15.0344 0 101 MTET 51 BTW U1 U1 0 15.0344 0 102 MTET 51 BTW U2 U2 0 15.0344 0 103 MTET 52 BTW U1 U1 0 15.0344 0 104 MTET 52 BTW U2 U2 0 15.0344 0 105 MTET 53 BTW U1 U1 0 15.0344 0 106 MTET 53 BTW U2 U2 0 15.0344 0 107 MTET 54 BTW U1 U1 0 15.0344 0 108 MTET 54 BTW U2 U2 0 15.0344 0 109 MTET 55 BTW U1 U1 0 15.0344 0 110 MTET 55 BTW U2 U2 0 15.0344 0 111 MTET 56 BTW U1 U1 0 15.0344 0 112 MTET 56 BTW U2 U2 0 15.0344 0 113 MTET 57 BTW U1 U1 0 15.0344 0 114 MTET 57 BTW U2 U2 0 15.0344 0 115 MTET 58 BTW U1 U1 0 15.0344 0 116 MTET 58 BTW U2 U2 0 15.0344 0 117 MTET 59 BTW U1 U1 0 15.0344 0 118 MTET 59 BTW U2 U2 0 15.0344 0 119 MTET 60 BTW U1 U1 0 15.0344 0 120 MTET 60 BTW U2 U2 0 15.0344 0 121 MTET 61 BTW U1 U1 0 15.0344 0 122 MTET 61 BTW U2 U2 0 15.0344 0 123 MTET 62 BTW U1 U1 0 15.0344 0 124 MTET 62 BTW U2 U2 0 15.0344 0 125 MTET 63 BTW U1 U1 0 15.0344 0 126 MTET 63 BTW U2 U2 0 15.0344 0 127 MTET 64 BTW U1 U1 0 15.0344 0 128 MTET 64 BTW U2 U2 0 15.0344 0 129 MTET 65 BTW U1 U1 0 15.0344 0 130 MTET 65 BTW U2 U2 0 15.0344 0 131 MTET 66 BTW U1 U1 0 15.0344 0 132 MTET 66 BTW U2 U2 0 15.0344 0 133 MTET 67 BTW U1 U1 0 15.0344 0 134 MTET 67 BTW U2 U2 0 15.0344 0 135 MTET 68 BTW U1 U1 0 15.0344 0 136 MTET 68 BTW U2 U2 0 15.0344 0 137 MTET 69 BTW U1 U1 0 15.0344 0 138 MTET 69 BTW U2 U2 0 15.0344 0 139 MTET 70 BTW U1 U1 0 15.0344 0 140 MTET 70 BTW U2 U2 0 15.0344 0 141 MTET 71 BTW U1 U1 0 15.0344 0 142 MTET 71 BTW U2 U2 0 15.0344 0 143 MTET 72 BTW U1 U1 0 15.0344 0 144 MTET 72 BTW U2 U2 0 15.0344 0 145 MTET 73 BTW U1 U1 0 15.0344 0 146 MTET 73 BTW U2 U2 0 15.0344 0 147 MTET 74 BTW U1 U1 0 16.0423 1 148 MTET 74 BTW U2 U2 0 15.0344 1 149 MTET 75 BTW U1 U1 0 15.0344 0 150 MTET 75 BTW U2 U2 0 15.0344 0 151 MTET 76 BTW U1 U1 0 15.0344 0 152 MTET 76 BTW U2 U2 0 15.0344 0 153 MTET 77 BTW U1 U1 0 15.0344 0 154 MTET 77 BTW U2 U2 0 15.0344 0 155 MTET 78 BTW U1 U1 0 15.0344 0 156 MTET 78 BTW U2 U2 0 15.0344 0 157 MTET 79 BTW U1 U1 0 15.0344 0 158 MTET 79 BTW U2 U2 0 15.0344 0 159 MTET 80 BTW U1 U1 0 15.0344 0 160 MTET 80 BTW U2 U2 0 15.0344 0 161 MTET 81 BTW U1 U1 0 15.0344 0 162 MTET 81 BTW U2 U2 0 15.0344 0 163 MTET 82 BTW U1 U1 0 15.0344 0 164 MTET 82 BTW U2 U2 0 15.0344 0 165 MTET 83 BTW U1 U1 0 15.0344 0 166 MTET 83 BTW U2 U2 0 15.0344 0 167 MTET 84 BTW U1 U1 0 15.0344 0 168 MTET 84 BTW U2 U2 0 15.0344 0 169 MTET 85 BTW U1 U1 0 15.0344 0 170 MTET 85 BTW U2 U2 0 15.0344 0 171 MTET 86 BTW U1 U1 0 15.0344 0 172 MTET 86 BTW U2 U2 0 15.0344 0 173 MTET 87 BTW U1 U1 0 15.0344 0 174 MTET 87 BTW U2 U2 0 15.0344 0 175 MTET 88 BTW U1 U1 0 15.0344 0 176 MTET 88 BTW U2 U2 0 15.0344 0 177 MTET 89 BTW U1 U1 0 15.0344 0 178 MTET 89 BTW U2 U2 0 15.0344 0 179 MTET 90 BTW U1 U1 0 15.0344 0 180 MTET 90 BTW U2 U2 0 15.0344 0 181 MTET 91 BTW U1 U1 0 15.0344 0 182 MTET 91 BTW U2 U2 0 15.0344 0 183 MTET 92 BTW U1 U1 0 15.0344 0 184 MTET 92 BTW U2 U2 0 15.0344 0 185 MTET 93 BTW U1 U1 0 15.0344 0 186 MTET 93 BTW U2 U2 0 15.0344 0 187 MTET 94 BTW U1 U1 0 15.0344 0 188 MTET 94 BTW U2 U2 0 15.0344 0 189 MTET 95 BTW U1 U1 0 15.0344 0 190 MTET 95 BTW U2 U2 0 15.0344 0 191 MTET 96 BTW U1 U1 0 15.0344 0 192 MTET 96 BTW U2 U2 0 15.0344 0 193 MTET 97 BTW U1 U1 0 15.0344 0 194 MTET 97 BTW U2 U2 0 15.0344 0 195 MTET 98 BTW U1 U1 0 15.0344 0 196 MTET 98 BTW U2 U2 0 15.0344 0 197 MTET 99 BTW U1 U1 0 15.0344 0 198 MTET 99 BTW U2 U2 0 15.0344 0 199 MTET 100 BTW U1 U1 0 15.0344 0 200 MTET 100 BTW U2 U2 0 15.0344 0 100 !NBOND: bonds 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 0 !NTHETA: angles 0 !NPHI: dihedrals 0 !NIMPHI: impropers 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 !NGRP protomol/examples/methane_ethane_xxx/ethane_methane_100_Pure_Trappe.vel.xyz0100644027616700000500000003572310237151526026714 0ustar pbrenne1dip200 !ProtoMol (built on Mar 15 2005 at 18:54:16) generated this XYZ file by tmorrow. Time : 100000, step : 100000. U1 -0.166236167454196 0.310313680219717 0.145164230373158 U2 0.120344191669318 -0.0578876618474824 -0.0724963293076558 U1 0.00276570763942878 -0.030433574042644 -0.0563684983341532 U2 -0.0979246698775519 -0.013960227542643 -0.110784484722143 U1 -0.226248164671275 -0.119771575520315 -0.159116033728778 U2 -0.0652409278391317 -0.0256493894825107 -0.0685903086932737 U1 -0.0347494514052064 -0.0384315523854824 -0.03045722565566 U2 -0.201740733003888 -0.156205264166583 -0.361292045821135 U1 -0.0687588758728071 -0.151281854152247 0.170053879229955 U2 -0.00328027728998016 -0.20054482774158 0.0872658573124272 U1 -0.0615661123358746 0.0658721435251285 0.0736830956208566 U2 -0.0646732362542269 0.00117185501453495 -0.172285734078669 U1 0.196494289958645 0.218671712105515 0.0490794333759757 U2 0.0943120792057622 -0.216789345053255 -0.0311053514765897 U1 -0.144730264571765 -0.0727489023743664 -0.0467651920409019 U2 0.00218398722058043 -0.0771792766537587 0.0561529345183644 U1 -0.0998124967166796 -0.0952060728660975 0.0220077471998683 U2 0.101539327473913 -0.0206511377125717 -0.215967549559313 U1 -0.0637623729050926 0.197862208225711 -0.0425552192220909 U2 -0.11045914839106 0.111116643284621 -0.0498183096504539 U1 -0.0238791593873274 -0.276744170574158 -0.0726737580539662 U2 0.0602425847159351 0.17141019923162 -0.0965880405216953 U1 -0.2259815007395 0.187330395551649 -0.108493034362549 U2 -0.0109016926966225 0.0216769915863139 -0.210109281465359 U1 0.0311523834173098 -0.0432414986831305 0.0784476842423842 U2 -0.0571172466428311 -0.0562322232533487 0.119141147223176 U1 -0.0910488385001223 -0.0761417838405649 -0.0228437886022105 U2 -0.106297110722985 0.321184407274097 -0.266351721028815 U1 -0.155607471895173 0.0514359926177648 0.32948866324967 U2 0.0865155986694656 0.0389159950461522 -0.241807066522179 U1 -0.110892471355232 0.0495364433412721 -0.182600788087782 U2 0.00343954113456946 -0.00629122688632593 -0.206577645086047 U1 0.148040140277125 0.0294080728302361 -0.0905702172180617 U2 0.267373496982616 -0.0594035690145073 -0.140373178113732 U1 0.0470791993695619 -0.11344567464189 0.042103171890171 U2 -0.275456382242356 -0.0398884910895197 -0.0862340747664242 U1 -0.0583929476609408 -0.0651573886809989 -0.0244966843305339 U2 0.22115050439908 -0.0476960318294153 -0.0942682936019173 U1 0.0333874508336501 -0.0795743938177187 0.0757409173673426 U2 0.03987230647412 -0.0922233700632298 0.0595986776874827 U1 -0.0136691301457386 0.178334021484723 0.0198313282505216 U2 -0.0495939591083335 0.00183069450765241 0.0532805334136111 U1 -0.0224244644567051 0.0129153067198106 -0.208063501403234 U2 0.0877794080693199 -0.0376532982865663 -0.217679735556504 U1 -0.170886472829283 -0.142761091843154 -0.050845543566108 U2 -0.17530364559435 0.0341044241484082 -0.165478651872676 U1 -0.0905397947961169 0.164721401950959 0.16338753099327 U2 -0.0437764289837733 0.200174050278196 -0.0066686978647422 U1 -0.0747763295827834 -0.0559649968607314 -0.280235694187441 U2 -0.165549775296719 0.305324986724497 0.0604177667957734 U1 0.100370295547415 0.122339177931054 -0.227456762515693 U2 -0.0915743322788916 0.0394175618478902 -0.0869181558850264 U1 -0.101873415017251 -0.0848697146665595 -0.0210762203184495 U2 0.0932276948734216 -0.216016396547522 0.0445763950787168 U1 -0.106764283261581 -0.0481395657252074 0.14407274064929 U2 0.135120295098997 -0.0450056483707309 -0.0904212713025144 U1 -0.086950597780293 -0.0929684569310372 0.102298927866301 U2 -0.0696197790138658 0.0212012292360245 -0.0112085416306713 U1 0.00230864748701925 0.0763728558057775 -0.0938685794570921 U2 0.16917594906888 0.10695296122692 -0.116388180614588 U1 -0.111077186185438 0.224085071777209 -0.172709438498034 U2 0.280036173328561 -0.00611884569838047 -0.0099438568238736 U1 -0.0197681823658966 -0.292999248332262 -0.161909822163665 U2 -0.147530295585027 -0.101757588892693 0.0559385620504904 U1 0.111003949042495 -0.0696364177768186 0.0701406661590423 U2 0.171294299335302 -0.0511389083623432 -0.257625832380038 U1 0.0334290605026064 0.0430001849004612 -0.106526933945801 U2 0.0105488130483361 0.0340424906340223 -0.0596770388113651 U1 0.0815646644190561 0.124663694406114 0.188333323617927 U2 0.0749116438619028 0.136367949403332 -0.027020220463105 U1 -0.126131966158404 0.118268941511772 -0.118426592409369 U2 -0.168145931656083 0.10801721553527 -0.0629603449007328 U1 0.13298381775786 0.0821731055934775 -0.0280206700449944 U2 -0.166615165781034 0.0638193064527247 0.105945229623692 U1 0.0253600350831795 -0.0467726766184983 0.469162798113353 U2 -0.0761418676101418 0.0632470696880726 0.119192538246152 U1 0.153898479836706 0.177927055351423 0.326584908206257 U2 0.166544788916405 0.16790750015996 -0.0339386716573917 U1 -0.170108905215759 -0.109413053179917 0.167794690549119 U2 0.0236284989486311 -0.00383943731929334 0.0345870347806552 U1 -0.272872455619999 -0.137503686802562 0.205851113513424 U2 0.23906279788491 0.0887084105165213 0.187904343787053 U1 -0.0315022520659891 -0.158593451212624 0.0978528867406615 U2 -0.0561240048298342 -0.0891988319713847 -0.0877319659106545 U1 0.0324406834146948 -0.133155447213446 0.0442911196087338 U2 -0.123305811516667 0.00393969807513618 -0.203907827018096 U1 0.237403291389511 -0.209675168300313 -0.140473165391297 U2 0.0848914165526107 0.197428403415558 0.223965798353238 U1 -0.0328528573626994 -0.0422166194517153 -0.0408161165930171 U2 -0.0293803177608209 -0.0318273348977834 -0.00637374519399313 U1 -0.0377140067576254 0.00271114068550269 -0.108666291573797 U2 -0.128654803197802 -0.0410096299255009 -0.0503755071332323 U1 -0.0837346126683799 0.218008999978385 -0.0897509972668452 U2 0.194977049507573 0.00480108777091558 0.163593926223195 U1 -0.0271719673524205 0.289574123020019 0.0906802383101714 U2 0.0361200015767816 -0.122469360850783 0.0622320880429746 U1 -0.101892542939153 0.00430712028384458 -0.0787736812436897 U2 0.0885222432265046 0.104798561103573 -0.209822460770319 U1 0.320751244784876 -0.14958995813003 -0.146878406558887 U2 -0.0460682174574832 -0.0969638635018862 -0.0893355402824356 U1 0.219442964806733 -0.0423655214147584 0.0734443238739309 U2 -0.041379972679837 -0.0933635906262877 0.104739406649765 U1 0.353909916362884 0.200783011001218 0.30722682693685 U2 -0.111845083429768 -0.225848323150751 -0.190565923897869 U1 0.179960621120533 0.0523676952711616 0.192296442509717 U2 0.179346444851591 0.102017994671121 0.16167660551014 U1 -0.198907988094385 0.0135451804151656 0.245527370610786 U2 0.103656181394781 0.0388516878296728 0.137068388846193 U1 -0.152902661221768 0.00833499243269972 0.0543289643613645 U2 -0.120597846076784 0.0268440325372455 0.0342302240222994 U1 -0.0689226328366721 0.156224741546011 0.110633915710315 U2 -0.238539868153431 0.0618403290876975 -0.18338885155942 U1 -0.184246622691898 0.0820366194976771 -0.182035751210388 U2 -0.252905362010762 0.0667582475878866 0.0546521221034155 U1 0.033411188783315 0.0170162144362078 0.139704773655099 U2 0.0883585625052704 0.0583195478834833 -0.0336757417819841 U1 0.0450878874704506 0.10882260374877 -0.0189416277416187 U2 0.0565044926181054 -0.0624565174701693 0.0496847654042086 U1 0.128611785683137 -0.0325127519546476 0.0793651161675173 U2 -0.441330922015618 0.0404820668212793 0.0282692629245862 U1 -0.0710184146977617 -0.127622362217897 -0.168430701600876 U2 0.153676356154297 -0.27297084359573 -0.094238678160484 U1 0.150989727182867 0.124683599207957 0.148816412637651 U2 0.0869247700766416 0.0350567752084676 0.155260437906922 U1 -0.0595217686667181 -0.0386711410611456 -0.0624835428895114 U2 -0.0752415000203105 -0.0155664036931384 -0.124126942512129 U1 0.0341628096139601 0.152440447328836 0.191654433031909 U2 0.0539412058035166 0.157723459027918 0.163694377667451 U1 0.0416511073984711 -0.0866393752592285 0.276973833929364 U2 -0.0907337595468452 0.017206098650405 -0.169589722366122 U1 0.189945013223638 -0.0356365028806132 -0.0838446236717676 U2 -0.310248840551609 -0.0194827395394736 0.0502014690260606 U1 0.0651854537899462 -0.0693131665283517 -0.11138033440769 U2 -0.00863394584718773 -0.0791420168793563 -0.14155241511443 U1 -0.0948905043547052 0.0821813377241661 -0.00318519778158029 U2 -0.0113167313385244 -0.0629777692205326 0.0208384993256973 U1 -0.220896801788584 -0.170463489291934 -0.0228541397328217 U2 -0.105387452176818 -0.129399786012066 -0.0624874318938334 U1 -0.102582409878886 -0.0252456465031293 0.163310471104163 U2 0.134966429195012 -0.109510325724367 -0.217666524124965 U1 -0.191416689139365 -0.0375705433361685 0.0274263207957207 U2 0.207640620155973 -0.20230154788399 0.237181403418337 U1 -0.202922313050983 0.190643619147952 0.118782548190458 U2 -0.072079168437797 0.33305962572866 0.181193041160553 U1 -0.338855594677169 -0.0147137788684434 0.0703145533886886 U2 -0.10560045656951 -0.123091544260832 -0.0780902368386141 U1 0.00190580469396961 -0.197652451117052 -0.127264194966286 U2 0.363464574169591 -0.0826289195751107 -0.164682911051148 U1 0.101910552763594 0.189108741348942 -0.0854429339345694 U2 0.100825831813714 0.14925075751121 -0.1228446872508 U1 0.298041599390919 0.268257887884218 -0.0150013011109301 U2 0.0689069440705928 0.0435364265040022 -0.335081293857204 U1 -0.233851987817464 0.0770778268168968 0.0649136534504189 U2 -0.157505368053234 0.149622786136954 0.0642261903578626 U1 0.0347254064696117 0.165848414872333 -0.00261090272291381 U2 0.0189939365801635 -0.242710995164582 0.187682260966293 U1 0.176828210450112 -0.0109693989290393 -0.127333531767436 U2 0.0999699760124102 0.0731204640407119 -0.142796096990262 U1 0.0251088694628187 -0.123055479961127 -0.141957595576324 U2 0.0513415152615517 -0.116276888635935 -0.0691801009316286 U1 0.0858516061985746 -0.0461520978012282 0.207579726133498 U2 0.120917641187885 -0.0675514373893971 0.0773229385373019 U1 0.233140549767794 -0.314569607787434 0.120332295884409 U2 0.22758164409911 -0.170420915884062 -0.00611307068947501 U1 0.00087564148145512 -0.130562779974566 0.187949405505557 U2 0.0188917361561408 0.115606840575951 -0.184861536085077 U1 -0.092350040661777 -0.349566408015002 0.0181276511569753 U2 -0.0698177204186475 -0.147394136429609 -0.0903578700893666 U1 0.0744827550787331 0.165203438417613 0.0554543907385604 U2 0.161673867203806 0.0224637325865639 -0.0393372648928265 U1 -0.125615044752907 -0.0352091853393595 0.241889622387875 U2 -0.107820305071095 -0.0832144152313848 -0.0910534231864601 U1 -0.123205814772835 -0.0572030068707757 0.100691934544778 U2 -0.182751773704979 0.220971737938281 0.151907361094059 U1 -0.0143916311678782 0.106250972314323 -0.207860717843278 U2 -0.00502653902739269 -0.0978844053053865 -0.124986684745916 U1 -0.18357066934696 0.114671737043504 0.170867089042483 U2 -0.242660532737198 -0.0613693085037937 0.148301215645635 U1 0.079366049532417 0.0616940080607944 0.204619468406194 U2 0.171205289052118 0.0448916516976457 0.247936777910072 U1 0.0143666072564389 0.0034937083989823 -0.271201459410216 U2 0.147179226558095 0.0249834945415328 0.00420194875785577 U1 0.0572984343273554 -0.105206419242835 0.0970703361982549 U2 0.0706512617469749 -0.107514019565523 0.13346960804666 U1 -0.181529801228162 0.0174214065530481 0.0573250544013109 U2 -0.105149850262417 -0.167482463953316 -0.129713484981779 U1 0.295344442908092 0.183481654830785 -0.0797913585590256 U2 0.161253891622598 0.163683040009218 0.159519003816681 U1 0.021057679491737 -0.0415366869736983 -0.0980654223416124 U2 0.115155436255072 -0.0478239159099088 -0.0590274043265612 U1 -0.0738661044047803 -0.00630150201769585 0.254607670276521 U2 -0.0291145583983754 -0.096430976618163 0.267965362988956 U1 0.100004502860694 0.0608688374939486 0.0236381685364707 U2 0.195919358701401 -0.183887998971038 -0.120201407287783 U1 0.137568543699051 0.283025557817566 0.121135430499977 U2 0.208652417399567 0.294287586428147 -0.121453979404375 U1 0.231559364743297 -0.14079554467613 0.165641487518502 U2 0.169811485104375 -0.174375755887472 0.17162847382602 U1 0.139354106421768 0.0335894843045539 0.0103083267580439 U2 -0.0859304722521119 -0.111131874283283 0.240221096490475 protomol/examples/methane_ethane_xxx/ethane_methane_100_Pure_Trappe.xsc0100644027616700000500000000124210237151526026057 0ustar pbrenne1dip# Type of integrator used integrator iSGVerlet # ProtoMol (built on Mar 15 2005 at 19:01:27) generated this XSC file by tmorrow. Time : 100000, step : 100000. # Molecule being transformed, it's old and new identities: molecule 2 oldtype 0 newtype 1 # Final Lambda and Lambda velocity: Lambda 0.005 LambdaVel 1.58193945795389e-39 # Final atom-thermostat value and velocity: Eta -34.9783141163526 EtaVel 0.00376222571947039 # Final volume-thermostat value and velocity: EtaVol 110618.188184756 EtaVolVel -0.00293780189857841 # Final volume and barostat velocity: Volume 1603334.95333921 EpsilonVel 0.000182020352534257 protomol/examples/methane_ethane_xxx/ethane_methane_300.conf0100644027616700000500000000743210237151526023712 0ustar pbrenne1dip#ProtoMol configuration file - iSGMD simulation of the liquid phase of a methane/ethane mixture # seed for random number generator seed 801477 # timestep parameters firststep 0 numsteps 500000 #Simulation input files #temperature 192.37 PSFfile ethane_methane_300_Pure_Trappe.psf POSfile ethane_methane_300_Pure_Trappe.coor.xyz VELfile ethane_methane_300_Pure_Trappe.vel.xyz XSCfile ethane_methane_300_Pure_Trappe.xsc # forcefield PARfile ethane_methane.par TRANSfile ethane_methane.trans # constraints angularMomentum 0 comMotion 0 shake true rattle true # Simulation cell dimensions (these numbers are ignored if an XSCfile is specified) cellbasisvector1 30.265 0 0 cellbasisvector2 0 30.265 0 cellbasisvector3 0 0 30.265 cellorigin 0 0 0 #pairlist size cellManager Cubic cellsize 6.0 # outputfiles reportOnFreq false # set this to true to see output at the frequencies specified below (normally this should be set to false) energiesoutputfreq 1 # frequency for reporting energy output to a file; if reportOnFreq = false, then set this frequency to 1 screenoutputfreq 1 # frequency for reporting energy output to the screen; if reportOnFreq = false, then set this frequency to 1 finXYZposfile ethane_methane_300_o20_Trappe.out.coor.xyz # final xyz coordinate file name finXYZvelfile ethane_methane_300_o20_Trappe.out.vel.xyz # final xyz velocity file name finXSCfile ethane_methane_300_o20_Trappe.out.xsc # final XSC file name (eXtended System Coordinates) finPSFfile ethane_methane_300_o20_Trappe.out.psf # final PSF file name allenergiesfile ethane_methane_300_o20_Trappe.out.txt # name of output file containing all the energy information iSGPropertiesfile ethane_methane_300_o20_Trappe.out.isg.txt # name of output file containing iSG ensemble information # (Potential & kinetic energy, P, V, T, # of molecules, and the # fluctuation in conserved quantity) #boundaryConditions boundaryConditions Periodic # Pressure and temperature calculations # molVirialCalc must be set to true, the others are optional VirialCalc true molVirialCalc true molecularTemperature true # of mixture components components 2 Integrator { level 0 iSGVerlet { timestep 1 # target temperature [K] components 2 # target temperature [K] temperature 192.37 # thermostat time period [fs] # NOTE: The smaller tauT is, the stronger the temperature control # If tauT is too small (~ 1 fs) the simulation can become unstable tauT 50.0 # target pressure [bar] pressure 1.99 # volume thermostat time period [fs] # NOTE: The smaller tauV is, the stronger the temperature control on the barostat # If tauV is too small the simulation can become unstable omegaTv 200.0 # barostat time period [fs] # NOTE: The smaller tauP is, the stronger the pressure control # If tauV is too small the simulation can become unstable tauP 150.0 # target fugacity fraction [unitless] # need (# of components) fugacity fractions and they must sum to 1 # the first number is the fugacity fraction for ethane # and the second number is the fugacity fraction for methane fugacityfrac 0.80 0.20 # chemostat time period [fs] # NOTE: The smaller tauD is, the stronger the DeltaMu control # If tauD is too small (~ 5.0 fs for methane/ethane) the simulation will be unstable tauD 25.0 # van der Waals force force iSGLennardJones -algorithm NonbondedSimpleFull } } protomol/examples/methane_ethane_xxx/ethane_methane_300_Pure_Trappe.coor.xyz0100644027616700000500000013122310237151526027062 0ustar pbrenne1dip600 !ProtoMol (built on Mar 14 2005 at 12:49:52) generated this XYZ file by tmorrow. Time : 150000, step : 150000. U1 25.3576739337511 -39.892245436418 0.706612479303533 U2 27.6814915277278 -39.7768295957188 0.999028400000902 U1 -30.9925889404033 -1.75288706228393 -8.7614874751814 U2 -31.4551014974683 -3.99001005899551 -8.23203490778521 U1 -36.4819890327708 2.79435511330414 32.5589611227816 U2 -36.1660602332924 4.77694760473327 33.7706750450682 U1 35.6563155845595 4.39356074799402 -27.5974611813177 U2 33.6088664210266 5.40398999950087 -27.0626962799057 U1 2.06203963012283 -28.8216930692148 35.0936471211086 U2 4.14984167606948 -28.7704310715078 36.1602166441325 U1 -17.3315576595206 42.5916488563558 -6.2275796355808 U2 -15.3741661839024 42.2666994701188 -7.47735742816679 U1 -55.2161592550916 22.9505066816601 -22.6299425165998 U2 -56.3439779970108 21.0294732176399 -23.3625193504718 U1 -14.9118006849865 -18.5436811616112 -33.2523891640668 U2 -14.979507079829 -20.8728538852387 -33.5157880790946 U1 25.2127786271898 4.74985816386951 14.5502441040098 U2 24.5838642324139 6.95878370586843 14.0766839292464 U1 -35.0334809599934 0.994477311752337 28.8473724983134 U2 -35.1015796986281 -0.348606703390057 26.9262796243627 U1 3.26391997905095 -5.4183485078002 34.2555821581054 U2 5.32497326563968 -6.44730672264616 34.6941520423285 U1 -19.5575070652365 5.42835017496532 -26.7717851492328 U2 -20.7654675103776 6.95091018766579 -25.4596687620942 U1 38.5536690218122 9.80312660767625 -2.13802528247948 U2 36.5562731960545 10.3966750672895 -1.06235620775748 U1 3.10661338794312 19.4446678452234 16.9630951665506 U2 1.73532390229014 20.9664309056565 18.1044696504492 U1 0.669792424032201 10.9486244655601 -31.2502295364171 U2 1.50432593712255 10.850995513511 -33.4394960521526 U1 -8.76327215963417 -4.01880091203544 59.2972619194076 U2 -10.9803750438719 -3.25531354194948 59.3187608160106 U1 7.57014434574957 -25.4218282004849 -36.7239930515624 U2 7.55258252707477 -25.451163526628 -34.3792665923468 U1 1.65650157668361 11.2897362842184 10.9452099275554 U2 1.07697857258044 9.16851723476818 10.1305712650658 U1 -9.37408195885575 18.1003107328312 11.7156285643926 U2 -11.4467981741918 17.0306141731003 11.9577808614728 U1 -5.30466406901588 26.4061135061868 -1.78379321275511 U2 -4.61890952491193 24.1702802149235 -1.61060924050241 U1 -10.4907897553122 -27.4364870837881 -7.16817974602307 U2 -10.8549030024931 -28.2537100509495 -9.33579961920677 U1 34.7851326292963 -17.0480912392926 -17.8244454314207 U2 35.5546904431066 -18.1951038882528 -15.9293791655761 U1 12.0930191474191 11.5633582220196 -11.8595345397604 U2 13.770319351258 11.2288090788087 -13.4638279823914 U1 12.463613459407 -12.8423902719851 -8.58150701212373 U2 12.4017330193708 -10.4982572921113 -8.58040540937249 U1 -28.9883191252148 16.3229152576448 -10.8278393438044 U2 -27.443350360354 15.4519860132142 -12.361953374176 U1 12.7321608266506 10.4618291697953 43.5294726521467 U2 11.2664955267039 11.0717920549053 41.803534836961 U1 -10.7306728716368 -31.9644329902751 -15.5825225232262 U2 -12.6297771089824 -30.7138610168847 -15.0093346656811 U1 1.51790847005423 19.7563732134743 9.40673573587236 U2 0.849027190516681 19.7375741586416 7.15927349541284 U1 -7.15262162485193 23.197261509721 33.3100173193105 U2 -6.67852269170407 25.2310899235675 32.2433808082239 U1 -35.840555450914 -40.5520766398849 11.7967980203106 U2 -37.1049791599085 -40.8396986744951 9.84292076253464 U1 37.0400266188776 28.7372186156988 -69.5479709469352 U2 36.7866110831916 26.4678754573175 -70.0816722451603 U1 -10.3425945458201 20.7214003233101 56.0941181301504 U2 -9.98676434473445 22.4508489101771 54.5509582628282 U1 13.9768396864176 -3.53097931695466 -30.0959381093102 U2 12.4547677335352 -2.23338199352296 -28.8717390461278 U1 -9.07577163338982 37.348297028056 65.2440441822273 U2 -8.32232807555684 39.1106956463346 63.8931419757142 U1 -31.3040991232415 39.4191782896454 2.52895132435492 U2 -31.6539223299658 38.6526922463985 0.340585370914124 U1 22.6322381517316 -23.6903386230459 -3.44233401238894 U2 24.8910130198615 -24.2479726716329 -3.73556276899431 U1 -0.580664694110321 -2.99608766967825 10.5468795000326 U2 -1.15946607790251 -1.18198428136471 11.9154886084651 U1 28.5306047805686 17.3972799807063 18.214266590772 U2 26.7353451604781 16.2240573394221 17.2656472232789 U1 -4.10070523171395 -2.5105291839861 1.66487167668492 U2 -2.65903674187912 -4.00238113115657 0.571705183579816 U1 -22.0698341783757 10.8582960271188 19.5439613708223 U2 -23.7425127022127 9.24938749761404 19.8795021989529 U1 3.56358019374765 -8.45738371125238 -50.2151867954992 U2 5.32827661093614 -9.70428655896509 -49.3041414410078 U1 18.021240058283 59.9028101644565 -9.19577814453936 U2 18.0314458840841 60.448533172263 -11.4763411628788 U1 -25.2614442174649 2.1652662026988 26.0591474227569 U2 -25.4014193053316 1.87428098637493 28.3818123481402 U1 22.3351458459553 -61.7486077203806 -10.0383756590266 U2 22.6892171311813 -60.2408047374893 -8.27761781430905 U1 8.42735484735838 13.3810060891926 -26.4220442512107 U2 10.5647750183944 13.8939177474388 -25.6051036308058 U1 -10.8583975732899 32.5101992785895 -0.457685098765406 U2 -13.1905324603395 32.4025875191339 -0.23772745912059 U1 -4.16345041241576 19.9302541327916 -13.9951455303111 U2 -3.92636081594349 21.9290001036511 -15.1983404414325 U1 -33.8224028246058 48.5863605581069 3.57060527842547 U2 -32.4018482068538 47.59020893419 5.14818049470536 U1 22.7320893765221 -15.9057825867566 1.57254873861725 U2 21.7878894108213 -17.6381792558766 0.305114282409525 U1 4.16228790956568 -16.361251605814 -29.4661574471039 U2 6.22897966259953 -17.4672733907079 -29.3999170505163 U1 -3.35678035758463 41.9805758540639 30.8188336562544 U2 -4.72806712998066 43.1226259801152 32.3400886481238 U1 20.3212558309379 -6.40771188374225 0.870002887251121 U2 18.8614973051894 -5.24212733869183 2.28754743132818 U1 20.440212589124 17.1259584879264 26.2319819470623 U2 20.2271371446504 16.3108726500951 28.4203798232919 U1 4.81717971121593 -34.9913433081498 10.2982789375687 U2 6.55370579500207 -33.4618565305153 9.91882740069093 U1 10.5647209503872 -16.9809981619663 22.2506447449954 U2 9.03255461887592 -15.2175480185939 22.4548177163489 U1 3.2029026094477 -0.778931688817718 9.14912929905382 U2 3.99882200740582 1.41726318690909 9.3546198381171 U1 -2.29265676003213 18.7070455613197 -17.3459689101571 U2 -2.46529901052349 16.4232763824549 -17.849566657556 U1 0.114111280318421 7.10243486889935 -2.64855682409323 U2 1.10473070910244 5.46877921315701 -1.28877769503025 U1 38.465588673601 24.9937890057664 13.6995066345237 U2 38.7860016064669 22.8088536347388 12.9105482948268 U1 -11.7841216431813 50.8091192385854 10.127374775549 U2 -10.2717402355652 49.9009704512827 8.58239866778029 U1 -19.2410300714686 32.8002524053903 -11.8637479975851 U2 -18.5592299591392 34.8083917251837 -10.8629803058624 U1 7.25493800319757 -23.1709076669461 31.5918729510172 U2 5.67879862280184 -23.9026797391096 30.01725442843 U1 45.9587528698734 -33.0890315768714 26.2699996092073 U2 47.1536868146312 -33.6624475548683 24.3354898652574 U1 -11.6236535974249 -16.3430730295597 40.082628208846 U2 -10.0778906732839 -14.8071422761117 39.2163437600863 U1 1.84630750900115 -6.15111200579233 20.9026066238509 U2 3.17943660518666 -5.31050732818 19.1661679569864 U1 -36.566072013502 22.207983629509 -66.2310419395788 U2 -37.4882742971618 24.0829762317557 -65.1666608834282 U1 -7.62730608233504 26.6063142540345 45.0474754319465 U2 -7.12097784039385 27.6291493945974 47.0960093650867 U1 -68.9969544266846 3.61995196898284 -1.00495132734248 U2 -68.8793889787267 5.58879647074497 0.263407151235131 U1 -23.8255672754719 59.6354095890453 -16.8685013694828 U2 -21.7046862030763 59.2170243319412 -15.9596515158258 U1 7.26996319787351 35.3116149747847 6.90444850856108 U2 8.74170431406269 33.7962013166073 5.88634095478247 U1 -10.7201078452046 -18.8294073438749 6.16049300870969 U2 -11.8911613058578 -20.815908478508 6.58662165458843 U1 -27.5687495641453 -1.89311304791683 -17.8048970458676 U2 -27.2120696519505 -3.90245320708714 -16.6497497021454 U1 -18.5792454626992 -13.0678338696102 -13.1550578777835 U2 -20.0649292447249 -14.4807720964203 -12.0169444829155 U1 22.9908058889704 -11.4385278956639 28.4187475855112 U2 22.9012121232384 -12.2643002247747 30.6117140743956 U1 5.91879995582438 13.7728325090775 53.4205459109242 U2 4.4406580521739 15.4862794194374 52.805534398407 U1 28.4027467973156 -41.6222734535321 9.82152182035141 U2 27.2686903296028 -40.6704067859815 8.00312237191562 U1 0.0812412268267061 12.047940656211 19.1455493589136 U2 -1.62103642069128 13.0424492564375 17.8758016353088 U1 19.5846627006327 -29.9879913040742 38.6201873480061 U2 19.4831719606159 -32.3308129971597 38.6152963746956 U1 2.09195732684536 -23.8840212304043 -11.817809905627 U2 -0.030178802776825 -23.1248491497474 -12.4652365530055 U1 -0.0693459797108981 23.5637940573889 32.0791463793633 U2 1.32335690622531 21.8117973441136 31.3792308806736 U1 19.7493252207082 -11.6880541466818 15.3529120770236 U2 18.5484747227294 -13.6656244460909 15.7354545400496 U1 -25.9891812966723 27.9519843238489 6.06652447402066 U2 -28.0977996831176 28.8640906215856 5.59690113079816 U1 13.8149899424395 44.4824386503064 44.9941825111625 U2 14.9217179435625 46.059010716798 43.6568273796342 U1 -32.9985967014609 -35.8842606082681 25.9758739836039 U2 -31.8978258571936 -35.604381753659 28.0274608757197 U1 13.8524602254689 -22.7158562624757 -11.7149647358221 U2 15.5717669820462 -21.1904295793552 -11.2499446996863 U1 21.8176981699032 32.4347706921919 -26.1931291519766 U2 20.2316044371749 31.0522702023693 -27.2285138343326 U1 -27.3157494713748 -24.5801743109469 -22.9203549328697 U2 -26.2481494987154 -22.951060286414 -21.6145277661424 U1 42.1339604382814 9.65472278257237 2.48586569494268 U2 43.7340503027281 11.3407242663745 2.79562975362658 U1 -14.6149271118736 -5.17474538402978 20.8933162877325 U2 -12.9748218969683 -6.21209521187406 22.209755283999 U1 55.0165371061473 -6.32476168298455 -24.2916799716479 U2 56.203722046288 -4.99695700122576 -25.8170038678335 U1 -24.8640463878567 13.4484673698248 19.2846052298152 U2 -26.5850938561953 11.9013778699688 19.6633712436048 U1 17.9964371814119 43.9059274940213 52.212260662542 U2 19.7790963173366 43.3475061289008 53.6297650689438 U1 23.5306392848221 14.6532534228876 -2.59920360375507 U2 25.6507022267355 13.8924154767136 -1.94699321208379 U1 14.4792163553757 45.0256631635453 5.3394148099536 U2 16.5623233240115 44.5972576543468 4.35140279619343 U1 11.5137475187733 9.73653930825024 7.55573932292165 U2 13.13582467449 11.421937829249 7.72105704947924 U1 1.79599782528572 -8.70575453479861 54.5210033460319 U2 0.857891575083524 -10.7365403409582 53.8174930398547 U1 -2.62642766190001 7.77288460437494 -18.9351304468748 U2 -0.894066701208282 6.21043123846261 -19.1730569620369 U1 -14.3680209305725 -9.67306064353678 23.4284701282328 U2 -12.2878780240431 -10.3187063666699 22.5595398179367 U1 23.234168205295 19.2337704381318 -24.0098240784118 U2 24.8936772109017 20.5528025168756 -25.0123851102029 U1 -18.9491139289827 0.392682660520141 15.5075021614996 U2 -18.7249064745191 -1.50781760797653 16.8628228088979 U1 23.3174689457155 4.4944067531397 22.6676437392874 U2 22.2187968103284 6.34459313765879 23.599682496423 U1 -0.466003583107403 -4.09922810847954 -44.9581791178307 U2 -0.129924671067571 -3.70423855481299 -42.6712574107615 U1 5.69699653654777 -11.5778820682817 2.73647502958533 U2 6.65501576138444 -13.6101353100121 3.40814993019677 U1 -7.60359798070856 -1.34025975328768 11.5323038995907 U2 -9.83455908424519 -2.0600354972217 11.4724284210237 U1 20.0353484536075 26.4191747148835 48.5808542600715 U2 19.30811496358 24.2362645667249 48.1279992699043 U1 -44.9405610386723 -12.2104368895198 36.3915355812885 U2 -45.3630127533386 -12.4284553024644 34.09522064768 U1 19.6233232299218 40.2761852986091 -4.25284318325222 U2 18.6316021477168 38.1694645759595 -4.53065174174266 U1 8.61034902194269 -25.4941325613013 20.9968381948264 U2 7.36955308026941 -24.8535520194675 19.1130031257016 U1 12.1286530783852 53.8676335328688 21.4214592829443 U2 12.018557397462 55.9729612900752 20.3946730727724 U1 30.5961887750485 -2.88010034859219 2.28315375809095 U2 29.3975191960698 -3.48914172423821 4.20440105648419 U1 13.3943753786033 6.23494924718058 0.299646665430113 U2 15.7165098558455 6.11141595187188 0.602094741369466 U1 4.77051659774525 -10.1522790400441 -4.77311971321953 U2 3.43043972250396 -9.56665575139691 -2.94000406473963 U1 -23.1111081237069 19.2209475859521 -1.92054622922687 U2 -24.7718922895956 17.9145913099211 -0.90361680389578 U1 -3.32529234970482 21.817434395748 -8.38707542505076 U2 -1.98687801146196 21.9154739987469 -6.46404713015381 U1 -4.17692070446344 -12.4178076748687 28.7910512355065 U2 -4.38214983077295 -13.8946192327785 30.6009314475303 U1 -17.7010927084559 49.2123088456741 27.3920350752738 U2 -19.5925846346563 50.1114339886597 28.4469398709173 U1 16.5054041999927 13.0613669692309 0.569192273044287 U2 17.8144882825567 14.786792251805 -0.329686146014294 U1 -49.4174536474073 0.43284257247327 35.498291743115 U2 -50.0501119564753 -0.212719695326099 37.6620827138229 U1 -32.3930056890433 -37.9530242152021 36.4474615425233 U2 -32.8205159758442 -36.2189045250584 37.9670397080782 U1 -4.88062437825711 2.46271320931971 17.8912564060845 U2 -6.62914506941221 3.75679536899694 18.7670556504674 U1 33.5953242971653 17.6153210441795 42.9057944195545 U2 33.4307616205295 19.5678307921287 44.1940184189788 U1 -21.3189317974224 -11.1854652294389 15.3273739729354 U2 -20.8668936235519 -9.84708530299917 17.1991298892142 U1 47.5771757223689 -7.92195780421834 36.5688808019956 U2 45.4879947299133 -8.85585362296808 36.0568664784268 U1 16.4949164023724 34.8919743424846 25.190641222485 U2 14.5377829309527 34.9017065473531 23.8989029160147 U1 -6.16851782222094 15.3033346620772 -8.64148853665261 U2 -5.39798969773973 13.9504308793313 -10.3950350052314 U1 1.54619770138829 2.43780002543608 -29.8457374279065 U2 0.815626498264284 0.303293945675449 -29.2062786493809 U1 27.739291862495 20.9897029102489 -33.1005265594697 U2 29.9907714871796 21.6000248998395 -32.8613713525773 U1 -51.7165397427251 2.1272994436229 -36.0070474124248 U2 -50.9578943492333 2.75250391851801 -38.1360031956749 U1 33.3497361448968 20.5640607908042 4.13522216761181 U2 31.2086072252378 19.696814131015 3.73208288908243 U1 -24.5159783209917 -15.782909300225 7.19293920102235 U2 -26.1509647282487 -15.8400905892773 8.87301730547517 U1 10.2287787772045 13.418760093196 25.964331524533 U2 11.567116253579 14.2304013568445 27.7104085156656 U1 31.1554979094713 -16.8966390933137 31.8598929753004 U2 29.2710625115403 -15.6394258240672 32.4658671633344 U1 6.51033939024556 -11.5961114812994 18.3955951231473 U2 6.67705432524587 -13.740574577572 19.3296090712094 U1 -7.55443504091741 -0.661217842119373 1.26780277763274 U2 -8.50278403252075 -2.39071265786779 2.53609685736008 U1 32.8916828062958 -1.97663799503676 16.942760488918 U2 34.2593857022425 -1.62933547137535 18.8156710416481 U1 -28.444335766344 -13.0552710631322 -4.12743236636697 U2 -26.6929592034175 -14.3277423253255 -3.2261019395968 U1 14.6112141361553 22.9567590630877 12.1277598083712 U2 14.4739262062661 25.2874446982892 11.9079443971837 U1 -9.52677438157216 16.9556317506662 3.67772096164275 U2 -9.81797964450156 15.3882422433585 5.39740288353424 U1 -42.5169558179262 10.0579368211986 -0.531632530550744 U2 -40.5334841333613 8.87535499751341 -0.123884829838106 U1 6.71728251669084 39.2854446837561 6.36463577378948 U2 8.08284509189596 41.1607302055809 6.02202193918443 U1 9.06835681879124 26.8355999991224 -23.7412137446735 U2 8.1563620011423 27.726988589712 -25.7091517644937 U1 7.72971653668895 4.53807161920989 11.0244606873152 U2 9.19368798222646 5.89944472250185 9.7986727923275 U1 -2.67603808479315 13.0197582592192 5.19380215996571 U2 -2.5643578937289 10.6873140506966 4.97876998202042 U1 25.6479100550428 37.6594920222753 18.1103144968943 U2 24.1894923207736 39.4911868111334 17.980180243023 U1 -36.9726730885308 13.5905327205067 16.7803715303948 U2 -36.7220632754627 12.105013536108 14.9833352540834 U1 0.973955668830412 7.00219992092194 22.5150758374126 U2 0.567819258651026 9.31115904003259 22.5662423858321 U1 21.1726418139992 4.1332397750922 11.3308346430044 U2 19.2614625279255 2.7758966130698 11.3944603330048 U1 -21.9928709561902 -9.76695162484718 -8.75109429426839 U2 -23.1739881053478 -11.5355312328379 -7.76323989182063 U1 -6.02665773172316 -26.30106769843 7.11721852014682 U2 -8.19652324702827 -25.4256539812933 6.96173630381346 U1 17.2996549862835 23.2719167634142 28.5303918243208 U2 16.8058674443407 22.3269574197522 26.4418075505445 U1 -9.60985227169993 -5.41626153217482 5.29377768737692 U2 -9.75124995550478 -7.20546260441269 6.8030372238435 U1 31.6176417523884 -14.2645179745033 15.0191478908459 U2 31.7615779579996 -16.5893534209164 14.7481150787051 U1 0.619507985489319 35.9756900528961 -15.5333395928677 U2 2.3000288540363 34.8099471575536 -14.3863281270738 U1 -25.295630911644 0.421127900379663 2.35865494803484 U2 -23.2041122973834 1.28379656434578 2.97542275080247 U1 13.3905359856167 15.5372945126704 -0.149769764487903 U2 13.6777583082821 14.5229052258608 1.94481325487164 U1 -57.3022709722104 -29.4454330215275 -15.615096071568 U2 -56.5738062644586 -28.6618896959531 -17.7017992617216 U1 6.09819346669048 16.2176180719497 15.4495335714072 U2 7.93761262923949 14.8972099191135 16.0595385639829 U1 6.46377154310489 -28.331893763304 17.9473760252667 U2 6.72329842138554 -30.3940701167377 16.8615116040757 U1 37.4223094936169 27.3112054590431 -4.43911435122085 U2 37.8666816292857 29.5964949874201 -4.71978411493761 U1 -17.0318200415206 -29.985536821598 21.3245102576213 U2 -16.5560406155149 -32.2814690972484 21.2873488323046 U1 -32.9507611417071 -25.6214752766226 -2.03987710111388 U2 -34.7817023992902 -25.8903994165149 -0.599702133555377 U1 23.4820919609392 11.5315260588627 4.24121291523783 U2 23.8749482194708 12.312317729661 6.41716539456408 U1 -23.5128987587956 -7.64652903647724 -3.10155016976513 U2 -25.2027367031756 -6.0524797344473 -3.42177926617736 U1 22.6970251552723 -3.26608722663616 7.68878862445444 U2 21.6552222668928 -4.73329589904358 9.19247994784767 U1 10.9670330842602 4.21241940119647 -15.5859303556316 U2 9.05901645941078 3.49213832592886 -14.4286276993181 U1 -5.86154140063435 31.6966592072334 40.6237651035087 U2 -3.57238966291223 31.9154306243831 40.1647154829986 U1 1.28682143587215 -22.1207603127015 13.9498622605175 U2 1.69191052642484 -20.436625188788 15.5304969596562 U1 -0.0111411743332374 -12.454436545286 0.336586450446268 U2 2.2841937709854 -12.5220735638073 0.811937032995956 U1 15.9024661683996 -15.9071168714705 17.7459233594642 U2 14.2399473173598 -15.8460315245285 19.3986172965915 U1 -36.1983854141715 -3.65533496600186 -6.2144672797831 U2 -35.4886146466268 -5.36474544399202 -7.65432178573122 U1 37.3977346204439 -7.67012263583671 19.3446053455087 U2 39.6144067092481 -6.90597151365461 19.3810254009526 U1 -2.60758432140328 8.79572527921554 -5.31453255380212 U2 -3.24575156895822 9.81355235479114 -3.3006259888455 U1 5.11918483195891 6.43005890479639 -17.9420431957735 U2 4.83200046801745 6.63408214751945 -15.623670739704 U1 32.5797740843718 3.78044738356777 -6.36590281262378 U2 30.5710373719674 4.79481059021172 -5.70625510097813 U1 28.5847870571704 31.9057338433124 3.71045063421571 U2 27.9370184544223 32.5896820830943 1.56299041096268 U1 -7.81250770159135 -12.6235065455811 -11.7752022342442 U2 -5.65017752073112 -11.9726011571188 -11.143057309749 U1 -34.3750658008388 28.5668444877473 8.48156681848736 U2 -34.724111162306 27.1578051648555 10.3232175029117 U1 -4.83298560448419 -58.4533043899959 -5.77082806339811 U2 -4.00903839291428 -60.0768779150073 -7.24873188775286 U1 25.2113612088376 17.2669072804909 -5.18477886939437 U2 25.329732715216 18.8104170572934 -6.94623678344472 U1 -10.4915918442064 8.45397455287442 49.1363911641895 U2 -9.82453654704347 6.59838474380423 50.4055991722581 U1 45.7944898131046 1.60066184668298 2.50152115611652 U2 43.8842985687073 2.94963671625086 2.32744252082628 U1 -29.0965790807654 -35.4587714752909 25.2797180207041 U2 -27.5933991498097 -34.6309743627697 23.6815054782269 U1 -10.0178625476511 43.7563230965015 14.347518795064 U2 -8.86211859220454 44.1814831717282 12.351912137878 U1 -30.3017706117246 23.2305783919932 15.0371760391364 U2 -29.8941471111696 23.3494579803856 12.7309465248768 U1 -10.8849566335455 -9.83657026849691 -11.2881284533274 U2 -11.4727359251605 -12.0624135952378 -11.734395212398 U1 -56.0721635182865 5.41008041938577 -8.89509258018834 U2 -56.3038077647187 7.19331469095409 -7.39000761202074 U1 6.69953466961768 32.4993787400119 52.1458468479047 U2 4.54109900424618 31.8211524411224 52.7623587064128 U1 21.374406956201 -42.6498400623191 -8.53997695526662 U2 20.6838356611133 -44.7851336781921 -9.220367896079 U1 -49.282653803056 33.7672984513282 38.8123674689038 U2 -47.1652880233605 32.763386807083 38.9015737361168 U1 36.0897308650531 -17.1460872173879 -3.71567132705226 U2 37.8976601507373 -16.6048869225697 -2.32373419613857 U1 -2.87221690918759 10.8382342848187 15.2874862355595 U2 -2.34756833544088 8.58025069920053 15.6413133608027 U1 4.36965715849051 27.3551253213314 0.653926879768931 U2 2.47407613801604 26.437372800648 -0.377367461606219 U1 25.506533993484 15.2096700055411 7.11079834868668 U2 24.4472299332476 15.8657864711125 5.12425794503117 U1 -18.7482165113586 23.0901200683003 37.9541454295157 U2 -18.2632859370913 23.7005384435794 40.1657551306378 U1 -10.3410848358899 9.26730819163066 -20.7383568757478 U2 -9.48097316152372 11.4255049966819 -21.0567356495886 U1 -12.1160247965204 24.1653409619041 73.5353291947518 U2 -12.2803823545924 22.1046400727442 74.6424133906735 U1 -50.2726811193599 -15.7817129933824 -17.8859979573986 U2 -49.1592052557897 -15.0362938061248 -19.8104734134029 U1 8.13487601866851 -12.2164331881503 11.9235115164318 U2 6.77322399170073 -14.125034491291 11.9691741299004 U1 -27.3633707932545 11.1823261868502 36.7305871835439 U2 -29.280445777453 11.8965894280786 35.5844144987936 U1 -15.8087879911118 33.116121260569 46.2348502538544 U2 -16.4217880229967 34.076867612185 44.1854026010293 U1 23.3395631863806 54.109901560102 16.7120578950828 U2 22.966256501827 52.2001742059478 18.0207007995665 U1 -20.8148452679178 -1.71049038203519 -19.8347080867765 U2 -18.8713907449026 -1.53008410102064 -18.5349803790599 U1 -5.23892993007003 7.56752699047603 -25.4309271227738 U2 -4.39385373978181 7.91135746217709 -23.2707516321411 U1 23.637795914163 41.3376999222845 21.354322349282 U2 21.9436148367998 42.0549054109475 19.9002548306119 U1 15.5246921655542 24.4702113813645 15.8843406229738 U2 15.1044067896878 26.5237785221308 16.935658789089 U1 20.7018670774869 -9.46282794729764 3.93948946786544 U2 18.4857665425658 -9.24825231907989 3.20334039165788 U1 -4.91844959148498 17.1331101246737 -20.5249815793704 U2 -6.90074175907014 15.9028442172698 -20.288477946558 U1 -29.6736166247042 -27.5643203727286 11.021620573865 U2 -28.1573116687919 -25.791713060449 11.2617040133035 U1 -12.7056014173608 -26.4299938284948 -15.0242009381342 U2 -11.5163090572806 -27.2045556140862 -13.1574716177525 U1 -12.4883484349968 8.18544147089315 22.208012773061 U2 -10.3552345591497 9.11957691303438 22.4841304724802 U1 -17.0136894452491 21.0820703586681 49.1447243837899 U2 -15.2425846433276 21.8124949005762 50.4970107037464 U1 14.1562367425444 50.0096274685361 0.494708969558567 U2 15.2870097646426 52.0501912578644 0.732325921510752 U1 12.3071439159727 23.3537158504386 16.1279156477692 U2 11.8382128285284 25.3022030252374 14.9103030060033 U1 29.022697798334 -1.83655466359136 -3.91866312613652 U2 30.4471681954564 -1.51673056377403 -2.08355052938523 U1 -22.8912327740177 32.1226054383988 -21.5286418537871 U2 -22.9048086960675 30.2206793502795 -22.9003275737239 U1 7.74798560352948 26.1380498548638 -0.960730237658113 U2 8.54745428373294 27.3149395340772 0.903351532631403 U1 4.70144171921478 -21.0683006651454 33.5247161663646 U2 3.41823795645784 -21.5035896822818 31.6108334954689 U1 -0.636050151685733 -0.814792871241309 6.59434341468443 U2 -0.162175285949233 0.951623206530681 8.06206762545367 U1 29.6834700270749 15.8299820522907 38.924830372643 U2 30.7022072116522 15.788908127398 41.0365740336253 U1 -4.84996893689274 23.0328191065028 9.55446814465863 U2 -3.12617095441198 23.1304517704318 11.1412950300392 U1 -18.1632297391493 -11.2980511717769 4.22295731044914 U2 -18.5919478946924 -13.3005689796698 5.36542538687345 U1 -2.99753804556397 -20.2227151667416 -10.5089981275251 U2 -3.2504527307322 -19.4294371868974 -8.31678786232962 U1 -0.488398612221492 1.75786449430177 -34.019313559902 U2 1.78423722913202 1.95139835186401 -33.4746770453675 U1 23.3436111897917 40.7457515760372 -3.41084960386363 U2 24.3463344450151 40.8558691817544 -5.52778519857143 U1 10.9026187389752 2.31666552413557 11.8363266401425 U2 8.95453842682729 1.22922192873141 12.5584657150143 U1 -14.2839622423519 -2.18823256183893 2.84067281731457 U2 -12.4864384352918 -1.98878945368136 1.34796726499123 U1 -18.7314145872125 7.82277339709131 -4.74422981347559 U2 -19.4748620889341 6.94269995462009 -2.70172583195575 U1 -13.1447892215674 8.88388534090485 33.1505915524949 U2 -12.148447850198 10.9417844158818 33.6714534401126 U1 -14.4571258645578 6.99365167991625 -17.3178809022726 U2 -12.4033842890613 6.51739777438915 -18.3447143842445 U1 18.3699116986096 -55.6846301335763 -63.1691068521503 U2 19.9049934264722 -56.7915075033741 -64.5538285225405 U1 -22.7854892213962 -0.0467819075236021 -31.349569389843 U2 -20.9099781718523 0.433929392246898 -32.6725634912513 U1 24.7219628936758 42.3488305038952 11.1423756776204 U2 24.813182113273 40.9598415237978 9.25524711551298 U1 54.4972327712623 -12.8085262301276 -15.3732409584612 U2 55.1966875861636 -14.5043360447687 -16.8340349724924 U1 -31.7337648322035 -17.0275697280169 -32.4611403216663 U2 -29.8501218726116 -15.7106057454927 -32.9261840069644 U1 17.5304842861583 4.23652304424832 3.29720142916771 U2 19.2315060895699 5.07060175421427 1.9152125616245 U1 -8.48132004186466 23.5337471910368 21.0210276507265 U2 -7.82247251233801 25.7765613336786 20.8347986661046 U1 -33.1003957692022 -26.2596505189423 -52.8350743403959 U2 -31.773972232782 -26.6754991309382 -54.7236156854371 U1 -9.06749622806903 36.8633341414436 46.6526604597933 U2 -9.05757734673023 34.8457272966515 45.4576540380268 U1 -2.99572125455901 26.7372667894494 -16.9509472502277 U2 -4.17335885284736 28.4967913243632 -15.9428479663111 U1 -13.0618832116841 0.317616495959294 24.6808478753709 U2 -11.5488156885387 -0.230861867279959 26.3863891335703 U1 16.2938165810694 5.04593530681816 19.6562727374832 U2 16.5089113777298 2.79356629272939 20.2723233724989 U1 8.49986653489843 -9.55454455136247 -20.9233628378033 U2 10.1712041514278 -11.0927779034505 -21.5061041052896 U1 -3.4867858345608 6.71688370932516 -39.6210639383172 U2 -3.97263956214324 5.72424658628479 -37.5528370197095 U1 9.88364255040962 -17.6884478433407 -30.1775938513082 U2 11.1919856626488 -19.249805612704 -31.3392547669833 U1 15.5543403366426 -73.7871651536264 -10.6438437614224 U2 15.9755922900475 -74.2330753876254 -8.38049573051708 U1 13.3989257665428 -38.1799176547321 28.7295398905192 U2 14.0914367579593 -36.2135354629789 27.6558853941115 U1 16.6219424364806 -10.4770516184819 16.9452049655304 U2 15.3601114348335 -12.3729653959853 16.3864363777456 U1 -8.30503182727714 30.9414869669353 -13.651115969589 U2 -7.11954196569613 31.8039469807081 -15.48136776202 U1 -43.6922049734734 3.89583725658491 38.6358935664848 U2 -42.8038037131015 5.85300017221745 37.6981808408867 U1 20.8988545414637 -4.47821786831809 24.556569560679 U2 20.2710536900211 -2.27757999548073 24.0447764043242 U1 -3.74289716171452 24.017067961297 -11.6630627016982 U2 -4.24614045084871 26.2903547337991 -11.3841483854431 U1 -17.1641668562558 -0.0844794372115321 27.9184792625209 U2 -17.1769865434993 1.18878370181076 29.8876148545448 U1 14.5514455284195 7.34273390909659 9.84724340688334 U2 12.2925297322219 7.50306019544851 10.4560294983044 U1 19.7462588645778 44.3840543537421 -12.3658732541278 U2 18.4481759192446 42.4311638624757 -12.3463956525391 U1 -33.426411284245 15.2512443822538 -7.40416448742736 U2 -33.1179402872795 17.210528742274 -8.65519863610863 U1 -20.1421811146139 8.66903286955207 -8.5999993611341 U2 -17.8452055019445 9.086730747782 -8.81993460973438 U1 15.7969999066596 18.7332958932119 -18.8947742730963 U2 15.7058448054722 17.2419872470386 -20.7022752434154 U1 37.6378175132807 23.571484578752 -6.78193105802384 U2 39.9252265123845 24.0026898872843 -7.06603919604884 U1 -12.909896243658 -11.7397344750932 -31.2372026613222 U2 -10.9785283176374 -11.8496676294686 -29.9118253992593 U1 10.2559777860386 2.43820959283914 1.16004929995108 U2 10.6334421600555 3.48162831290403 -0.905798673632146 U1 -4.99879487667874 8.44842951997275 1.61863008043187 U2 -5.20409893144942 8.49713303400639 -0.716825438187411 U1 -2.31496962712113 43.0854672392479 40.7272905709212 U2 -1.06564925989576 42.1142494632034 38.9966954994689 U1 -57.5063085569297 17.3602555090872 5.85558617545766 U2 -57.7202356353928 16.0422352417248 3.92788203107307 U1 -29.2489106006622 38.2531648939257 5.61911672977759 U2 -31.1378186957316 38.0492893898433 6.99368300341452 U1 7.20870754912119 -8.62055943216041 0.607665601607105 U2 4.90883845448519 -8.4743020375479 0.173881667016824 U1 -15.8407419588767 0.623361600968006 11.9095808089476 U2 -15.6416630953111 -1.15424803951619 13.4260003364816 U1 14.4977861261806 36.5456080482195 4.74868103649993 U2 14.4635574874606 38.7998547390836 5.39385128831028 U1 -20.0173997288673 38.0261474531791 14.2967462080755 U2 -21.0688507415354 39.974540555573 15.069476173736 U1 -2.46927615408478 5.49277225705992 3.0496560988035 U2 -0.268333557050101 5.02420354328116 2.39020486125411 U1 15.4435523045096 -32.0615383228635 8.91997041960763 U2 14.6983267100253 -31.7038100200411 6.72549698954495 U1 2.16389001131526 -5.3489395126689 -22.3508799867875 U2 1.86109421054409 -7.29330450113833 -23.6263034865 U1 -56.7036993363527 21.5131202745505 -39.5380049432247 U2 -57.035372536625 19.1997505373429 -39.7311923311495 U1 36.8019211050131 -9.7009200326291 15.238889859426 U2 35.7672648644883 -7.59819176328105 15.1566051927732 U1 -17.5354716496968 19.3246626806306 -16.220286749645 U2 -18.4049863426619 19.7841118625252 -18.3490621717195 U1 25.905217222314 0.901938015822827 6.25006935118109 U2 25.3023175621351 -0.965262924650224 4.96586457144866 U1 -11.7291752279441 44.2506060263885 -4.19276739498988 U2 -13.5946087613409 45.1543724775858 -5.28934796965161 U1 -22.9007239434254 42.3530524800018 9.31895625986762 U2 -23.3434961666296 41.995163017635 11.5937810803672 U1 31.0045209037982 31.770287935513 16.8320622713705 U2 29.6438738536993 32.1539470115745 14.9610929780116 U1 31.6881134066383 -27.0878218743561 20.5739652414958 U2 29.9676178902773 -28.6668354118636 20.787205385622 U1 -19.9833052604395 25.7010720105001 27.3320844596898 U2 -19.685962958339 27.7353147178903 28.4601136984851 U1 -4.72703805317476 -31.3558162631912 -11.3281608238025 U2 -2.43046673581167 -30.8820774188891 -11.3373933438548 U1 0.8230682080018 14.3607868849547 23.9741033877093 U2 2.78106853811348 13.1277934172579 24.3547818902807 U1 13.4953878866613 -4.81716684704061 3.8887933671561 U2 15.1673525638089 -6.08184014425397 2.83802963185859 U1 17.0873477761372 -3.93960578020805 6.51129851596069 U2 16.0207704322985 -5.16182352663819 8.20472578909094 U1 -8.70665238284983 22.4380532036539 41.994572683246 U2 -8.5533048780531 21.8429079056022 44.2576056748458 U1 33.985230240156 37.0127763120563 -4.23787231033078 U2 34.9467157788923 38.9825484827875 -3.40454588047336 U1 6.63561841740078 -50.7633215697481 -37.8189758785899 U2 8.45488752050506 -50.1253129557715 -36.484078413602 U1 -17.7277793447432 22.8318780006256 25.0126725023103 U2 -19.6815085289476 21.6204210517643 25.4756263344419 U1 9.97253675925336 -44.1954985104372 2.00962140795527 U2 9.86913293837548 -44.3808458042006 -0.325759254951656 U1 -23.1470358415475 16.9542923938733 -35.5801115898684 U2 -20.8518748157997 17.0874503249634 -35.1179826626275 U1 -18.1221473515943 3.87582002580829 -3.82065992886301 U2 -16.065572071849 3.32731950858256 -2.8364966922387 U1 10.7991805645254 27.7461909245583 24.5758795528678 U2 10.1892233440622 29.2407020053826 22.8749092012423 U1 -51.9778983433687 29.5248431595635 -11.2897323997997 U2 -51.9314101028081 27.2111164657793 -11.6685260482223 U1 17.3308068191485 -19.2667498484333 -18.7657612206563 U2 15.2361685900712 -19.1013499597175 -19.8070492509623 U1 21.1845806632657 40.549241176792 14.3575807148169 U2 19.0392722726376 39.8578018085123 15.0045327196516 U1 -37.4623754292501 6.81499403986313 -20.4334234623698 U2 -36.230220239232 4.87775973386829 -19.9559394393331 U1 -8.13143885942979 -0.609711694070582 -2.43466292222359 U2 -8.26662804995722 1.35510996073484 -3.70753781831492 U1 11.3988468244262 -5.8954407700814 -29.6772134599988 U2 11.6243034626912 -7.82734981022672 -28.3672743412382 U1 7.43916766252971 48.9790706081774 37.7489054305635 U2 5.87621141795415 48.5214383563827 39.4361326704685 U1 2.16219106815271 -30.5652888004515 -5.97751125429252 U2 3.50406431003758 -32.1282700054181 -4.85707086780194 protomol/examples/methane_ethane_xxx/ethane_methane_300_Pure_Trappe.psf0100644027616700000500000013551310237151526026065 0ustar pbrenne1dipPSF 5 !NTITLE REMARKS FILENAME=ethane_methane_300_Pure.psf by tmorrow REMARKS ProtoMol (built on Mar 14 2005 at 12:49:33) REMARKS This .psf file was created by PSFWriter REMARKS It was not manually assembled REMARKS Time : 150000, step : 150000. 600 !NATOM 1 MTET 1 BTW U1 U1 0 15.0344 0 2 MTET 1 BTW U2 U2 0 15.0344 0 3 MTET 2 BTW U1 U1 0 15.0344 0 4 MTET 2 BTW U2 U2 0 15.0344 0 5 MTET 3 BTW U1 U1 0 15.0344 0 6 MTET 3 BTW U2 U2 0 15.0344 0 7 MTET 4 BTW U1 U1 0 15.0344 0 8 MTET 4 BTW U2 U2 0 15.0344 0 9 MTET 5 BTW U1 U1 0 15.0344 0 10 MTET 5 BTW U2 U2 0 15.0344 0 11 MTET 6 BTW U1 U1 0 15.0344 0 12 MTET 6 BTW U2 U2 0 15.0344 0 13 MTET 7 BTW U1 U1 0 15.0344 0 14 MTET 7 BTW U2 U2 0 15.0344 0 15 MTET 8 BTW U1 U1 0 15.0344 0 16 MTET 8 BTW U2 U2 0 15.0344 0 17 MTET 9 BTW U1 U1 0 15.0344 0 18 MTET 9 BTW U2 U2 0 15.0344 0 19 MTET 10 BTW U1 U1 0 15.0344 0 20 MTET 10 BTW U2 U2 0 15.0344 0 21 MTET 11 BTW U1 U1 0 15.0344 0 22 MTET 11 BTW U2 U2 0 15.0344 0 23 MTET 12 BTW U1 U1 0 15.0344 0 24 MTET 12 BTW U2 U2 0 15.0344 0 25 MTET 13 BTW U1 U1 0 15.0344 0 26 MTET 13 BTW U2 U2 0 15.0344 0 27 MTET 14 BTW U1 U1 0 15.0344 0 28 MTET 14 BTW U2 U2 0 15.0344 0 29 MTET 15 BTW U1 U1 0 15.0344 0 30 MTET 15 BTW U2 U2 0 15.0344 0 31 MTET 16 BTW U1 U1 0 15.0344 0 32 MTET 16 BTW U2 U2 0 15.0344 0 33 MTET 17 BTW U1 U1 0 15.0344 0 34 MTET 17 BTW U2 U2 0 15.0344 0 35 MTET 18 BTW U1 U1 0 15.0344 0 36 MTET 18 BTW U2 U2 0 15.0344 0 37 MTET 19 BTW U1 U1 0 15.0344 0 38 MTET 19 BTW U2 U2 0 15.0344 0 39 MTET 20 BTW U1 U1 0 15.0344 0 40 MTET 20 BTW U2 U2 0 15.0344 0 41 MTET 21 BTW U1 U1 0 15.0344 0 42 MTET 21 BTW U2 U2 0 15.0344 0 43 MTET 22 BTW U1 U1 0 15.0344 0 44 MTET 22 BTW U2 U2 0 15.0344 0 45 MTET 23 BTW U1 U1 0 15.0344 0 46 MTET 23 BTW U2 U2 0 15.0344 0 47 MTET 24 BTW U1 U1 0 15.0344 0 48 MTET 24 BTW U2 U2 0 15.0344 0 49 MTET 25 BTW U1 U1 0 15.0344 0 50 MTET 25 BTW U2 U2 0 15.0344 0 51 MTET 26 BTW U1 U1 0 15.0344 0 52 MTET 26 BTW U2 U2 0 15.0344 0 53 MTET 27 BTW U1 U1 0 15.0344 0 54 MTET 27 BTW U2 U2 0 15.0344 0 55 MTET 28 BTW U1 U1 0 15.0344 0 56 MTET 28 BTW U2 U2 0 15.0344 0 57 MTET 29 BTW U1 U1 0 15.0344 0 58 MTET 29 BTW U2 U2 0 15.0344 0 59 MTET 30 BTW U1 U1 0 15.0344 0 60 MTET 30 BTW U2 U2 0 15.0344 0 61 MTET 31 BTW U1 U1 0 15.0344 0 62 MTET 31 BTW U2 U2 0 15.0344 0 63 MTET 32 BTW U1 U1 0 15.0344 0 64 MTET 32 BTW U2 U2 0 15.0344 0 65 MTET 33 BTW U1 U1 0 15.0344 0 66 MTET 33 BTW U2 U2 0 15.0344 0 67 MTET 34 BTW U1 U1 0 15.0344 0 68 MTET 34 BTW U2 U2 0 15.0344 0 69 MTET 35 BTW U1 U1 0 15.0344 0 70 MTET 35 BTW U2 U2 0 15.0344 0 71 MTET 36 BTW U1 U1 0 15.0344 0 72 MTET 36 BTW U2 U2 0 15.0344 0 73 MTET 37 BTW U1 U1 0 15.0344 0 74 MTET 37 BTW U2 U2 0 15.0344 0 75 MTET 38 BTW U1 U1 0 15.0344 0 76 MTET 38 BTW U2 U2 0 15.0344 0 77 MTET 39 BTW U1 U1 0 15.0344 0 78 MTET 39 BTW U2 U2 0 15.0344 0 79 MTET 40 BTW U1 U1 0 15.0344 0 80 MTET 40 BTW U2 U2 0 15.0344 0 81 MTET 41 BTW U1 U1 0 15.0344 0 82 MTET 41 BTW U2 U2 0 15.0344 0 83 MTET 42 BTW U1 U1 0 15.0344 0 84 MTET 42 BTW U2 U2 0 15.0344 0 85 MTET 43 BTW U1 U1 0 15.0344 0 86 MTET 43 BTW U2 U2 0 15.0344 0 87 MTET 44 BTW U1 U1 0 15.0344 0 88 MTET 44 BTW U2 U2 0 15.0344 0 89 MTET 45 BTW U1 U1 0 15.0344 0 90 MTET 45 BTW U2 U2 0 15.0344 0 91 MTET 46 BTW U1 U1 0 15.0344 0 92 MTET 46 BTW U2 U2 0 15.0344 0 93 MTET 47 BTW U1 U1 0 15.0344 0 94 MTET 47 BTW U2 U2 0 15.0344 0 95 MTET 48 BTW U1 U1 0 15.0344 0 96 MTET 48 BTW U2 U2 0 15.0344 0 97 MTET 49 BTW U1 U1 0 15.0344 0 98 MTET 49 BTW U2 U2 0 15.0344 0 99 MTET 50 BTW U1 U1 0 15.0344 0 100 MTET 50 BTW U2 U2 0 15.0344 0 101 MTET 51 BTW U1 U1 0 15.0344 0 102 MTET 51 BTW U2 U2 0 15.0344 0 103 MTET 52 BTW U1 U1 0 15.0344 0 104 MTET 52 BTW U2 U2 0 15.0344 0 105 MTET 53 BTW U1 U1 0 15.0344 0 106 MTET 53 BTW U2 U2 0 15.0344 0 107 MTET 54 BTW U1 U1 0 15.0344 0 108 MTET 54 BTW U2 U2 0 15.0344 0 109 MTET 55 BTW U1 U1 0 15.0344 0 110 MTET 55 BTW U2 U2 0 15.0344 0 111 MTET 56 BTW U1 U1 0 15.0344 0 112 MTET 56 BTW U2 U2 0 15.0344 0 113 MTET 57 BTW U1 U1 0 15.0344 0 114 MTET 57 BTW U2 U2 0 15.0344 0 115 MTET 58 BTW U1 U1 0 15.0344 0 116 MTET 58 BTW U2 U2 0 15.0344 0 117 MTET 59 BTW U1 U1 0 15.0344 0 118 MTET 59 BTW U2 U2 0 15.0344 0 119 MTET 60 BTW U1 U1 0 15.0344 0 120 MTET 60 BTW U2 U2 0 15.0344 0 121 MTET 61 BTW U1 U1 0 15.0344 0 122 MTET 61 BTW U2 U2 0 15.0344 0 123 MTET 62 BTW U1 U1 0 15.0344 0 124 MTET 62 BTW U2 U2 0 15.0344 0 125 MTET 63 BTW U1 U1 0 15.0344 0 126 MTET 63 BTW U2 U2 0 15.0344 0 127 MTET 64 BTW U1 U1 0 15.0344 0 128 MTET 64 BTW U2 U2 0 15.0344 0 129 MTET 65 BTW U1 U1 0 15.0344 0 130 MTET 65 BTW U2 U2 0 15.0344 0 131 MTET 66 BTW U1 U1 0 15.0344 0 132 MTET 66 BTW U2 U2 0 15.0344 0 133 MTET 67 BTW U1 U1 0 15.0344 0 134 MTET 67 BTW U2 U2 0 15.0344 0 135 MTET 68 BTW U1 U1 0 15.0344 0 136 MTET 68 BTW U2 U2 0 15.0344 0 137 MTET 69 BTW U1 U1 0 15.0344 0 138 MTET 69 BTW U2 U2 0 15.0344 0 139 MTET 70 BTW U1 U1 0 15.0344 0 140 MTET 70 BTW U2 U2 0 15.0344 0 141 MTET 71 BTW U1 U1 0 15.0344 0 142 MTET 71 BTW U2 U2 0 15.0344 0 143 MTET 72 BTW U1 U1 0 15.0344 0 144 MTET 72 BTW U2 U2 0 15.0344 0 145 MTET 73 BTW U1 U1 0 15.0344 0 146 MTET 73 BTW U2 U2 0 15.0344 0 147 MTET 74 BTW U1 U1 0 15.0344 0 148 MTET 74 BTW U2 U2 0 15.0344 0 149 MTET 75 BTW U1 U1 0 15.0344 0 150 MTET 75 BTW U2 U2 0 15.0344 0 151 MTET 76 BTW U1 U1 0 15.0344 0 152 MTET 76 BTW U2 U2 0 15.0344 0 153 MTET 77 BTW U1 U1 0 15.0344 0 154 MTET 77 BTW U2 U2 0 15.0344 0 155 MTET 78 BTW U1 U1 0 15.0344 0 156 MTET 78 BTW U2 U2 0 15.0344 0 157 MTET 79 BTW U1 U1 0 15.0344 0 158 MTET 79 BTW U2 U2 0 15.0344 0 159 MTET 80 BTW U1 U1 0 15.0344 0 160 MTET 80 BTW U2 U2 0 15.0344 0 161 MTET 81 BTW U1 U1 0 15.0344 0 162 MTET 81 BTW U2 U2 0 15.0344 0 163 MTET 82 BTW U1 U1 0 15.0344 0 164 MTET 82 BTW U2 U2 0 15.0344 0 165 MTET 83 BTW U1 U1 0 15.0344 0 166 MTET 83 BTW U2 U2 0 15.0344 0 167 MTET 84 BTW U1 U1 0 15.0344 0 168 MTET 84 BTW U2 U2 0 15.0344 0 169 MTET 85 BTW U1 U1 0 15.0344 0 170 MTET 85 BTW U2 U2 0 15.0344 0 171 MTET 86 BTW U1 U1 0 15.0344 0 172 MTET 86 BTW U2 U2 0 15.0344 0 173 MTET 87 BTW U1 U1 0 15.0344 0 174 MTET 87 BTW U2 U2 0 15.0344 0 175 MTET 88 BTW U1 U1 0 15.0344 0 176 MTET 88 BTW U2 U2 0 15.0344 0 177 MTET 89 BTW U1 U1 0 15.0344 0 178 MTET 89 BTW U2 U2 0 15.0344 0 179 MTET 90 BTW U1 U1 0 15.0344 0 180 MTET 90 BTW U2 U2 0 15.0344 0 181 MTET 91 BTW U1 U1 0 15.0344 0 182 MTET 91 BTW U2 U2 0 15.0344 0 183 MTET 92 BTW U1 U1 0 15.0344 0 184 MTET 92 BTW U2 U2 0 15.0344 0 185 MTET 93 BTW U1 U1 0 15.0344 0 186 MTET 93 BTW U2 U2 0 15.0344 0 187 MTET 94 BTW U1 U1 0 15.0344 0 188 MTET 94 BTW U2 U2 0 15.0344 0 189 MTET 95 BTW U1 U1 0 15.0344 0 190 MTET 95 BTW U2 U2 0 15.0344 0 191 MTET 96 BTW U1 U1 0 15.0344 0 192 MTET 96 BTW U2 U2 0 15.0344 0 193 MTET 97 BTW U1 U1 0 15.0344 0 194 MTET 97 BTW U2 U2 0 15.0344 0 195 MTET 98 BTW U1 U1 0 15.0344 0 196 MTET 98 BTW U2 U2 0 15.0344 0 197 MTET 99 BTW U1 U1 0 15.0344 0 198 MTET 99 BTW U2 U2 0 15.0344 0 199 MTET 100 BTW U1 U1 0 15.0344 0 200 MTET 100 BTW U2 U2 0 15.0344 0 201 MTET 101 BTW U1 U1 0 15.0344 0 202 MTET 101 BTW U2 U2 0 15.0344 0 203 MTET 102 BTW U1 U1 0 15.0344 0 204 MTET 102 BTW U2 U2 0 15.0344 0 205 MTET 103 BTW U1 U1 0 15.0344 0 206 MTET 103 BTW U2 U2 0 15.0344 0 207 MTET 104 BTW U1 U1 0 15.0344 0 208 MTET 104 BTW U2 U2 0 15.0344 0 209 MTET 105 BTW U1 U1 0 15.0344 0 210 MTET 105 BTW U2 U2 0 15.0344 0 211 MTET 106 BTW U1 U1 0 15.0344 0 212 MTET 106 BTW U2 U2 0 15.0344 0 213 MTET 107 BTW U1 U1 0 15.0344 0 214 MTET 107 BTW U2 U2 0 15.0344 0 215 MTET 108 BTW U1 U1 0 15.0344 0 216 MTET 108 BTW U2 U2 0 15.0344 0 217 MTET 109 BTW U1 U1 0 15.0344 0 218 MTET 109 BTW U2 U2 0 15.0344 0 219 MTET 110 BTW U1 U1 0 15.0344 0 220 MTET 110 BTW U2 U2 0 15.0344 0 221 MTET 111 BTW U1 U1 0 15.0344 0 222 MTET 111 BTW U2 U2 0 15.0344 0 223 MTET 112 BTW U1 U1 0 15.0344 0 224 MTET 112 BTW U2 U2 0 15.0344 0 225 MTET 113 BTW U1 U1 0 15.0344 0 226 MTET 113 BTW U2 U2 0 15.0344 0 227 MTET 114 BTW U1 U1 0 15.0344 0 228 MTET 114 BTW U2 U2 0 15.0344 0 229 MTET 115 BTW U1 U1 0 15.0344 0 230 MTET 115 BTW U2 U2 0 15.0344 0 231 MTET 116 BTW U1 U1 0 15.0344 0 232 MTET 116 BTW U2 U2 0 15.0344 0 233 MTET 117 BTW U1 U1 0 15.0344 0 234 MTET 117 BTW U2 U2 0 15.0344 0 235 MTET 118 BTW U1 U1 0 15.0344 0 236 MTET 118 BTW U2 U2 0 15.0344 0 237 MTET 119 BTW U1 U1 0 15.0344 0 238 MTET 119 BTW U2 U2 0 15.0344 0 239 MTET 120 BTW U1 U1 0 15.0344 0 240 MTET 120 BTW U2 U2 0 15.0344 0 241 MTET 121 BTW U1 U1 0 15.0344 0 242 MTET 121 BTW U2 U2 0 15.0344 0 243 MTET 122 BTW U1 U1 0 15.0344 0 244 MTET 122 BTW U2 U2 0 15.0344 0 245 MTET 123 BTW U1 U1 0 15.0344 0 246 MTET 123 BTW U2 U2 0 15.0344 0 247 MTET 124 BTW U1 U1 0 15.0344 0 248 MTET 124 BTW U2 U2 0 15.0344 0 249 MTET 125 BTW U1 U1 0 15.0344 0 250 MTET 125 BTW U2 U2 0 15.0344 0 251 MTET 126 BTW U1 U1 0 15.0344 0 252 MTET 126 BTW U2 U2 0 15.0344 0 253 MTET 127 BTW U1 U1 0 15.0344 0 254 MTET 127 BTW U2 U2 0 15.0344 0 255 MTET 128 BTW U1 U1 0 15.0344 0 256 MTET 128 BTW U2 U2 0 15.0344 0 257 MTET 129 BTW U1 U1 0 15.0344 0 258 MTET 129 BTW U2 U2 0 15.0344 0 259 MTET 130 BTW U1 U1 0 15.0344 0 260 MTET 130 BTW U2 U2 0 15.0344 0 261 MTET 131 BTW U1 U1 0 15.0344 0 262 MTET 131 BTW U2 U2 0 15.0344 0 263 MTET 132 BTW U1 U1 0 15.0344 0 264 MTET 132 BTW U2 U2 0 15.0344 0 265 MTET 133 BTW U1 U1 0 15.0344 0 266 MTET 133 BTW U2 U2 0 15.0344 0 267 MTET 134 BTW U1 U1 0 15.0344 0 268 MTET 134 BTW U2 U2 0 15.0344 0 269 MTET 135 BTW U1 U1 0 15.0344 0 270 MTET 135 BTW U2 U2 0 15.0344 0 271 MTET 136 BTW U1 U1 0 15.0344 0 272 MTET 136 BTW U2 U2 0 15.0344 0 273 MTET 137 BTW U1 U1 0 15.0344 0 274 MTET 137 BTW U2 U2 0 15.0344 0 275 MTET 138 BTW U1 U1 0 15.0344 0 276 MTET 138 BTW U2 U2 0 15.0344 0 277 MTET 139 BTW U1 U1 0 15.0344 0 278 MTET 139 BTW U2 U2 0 15.0344 0 279 MTET 140 BTW U1 U1 0 15.0344 0 280 MTET 140 BTW U2 U2 0 15.0344 0 281 MTET 141 BTW U1 U1 0 15.0344 0 282 MTET 141 BTW U2 U2 0 15.0344 0 283 MTET 142 BTW U1 U1 0 15.0344 0 284 MTET 142 BTW U2 U2 0 15.0344 0 285 MTET 143 BTW U1 U1 0 15.0344 0 286 MTET 143 BTW U2 U2 0 15.0344 0 287 MTET 144 BTW U1 U1 0 15.0344 0 288 MTET 144 BTW U2 U2 0 15.0344 0 289 MTET 145 BTW U1 U1 0 15.0344 0 290 MTET 145 BTW U2 U2 0 15.0344 0 291 MTET 146 BTW U1 U1 0 15.0344 0 292 MTET 146 BTW U2 U2 0 15.0344 0 293 MTET 147 BTW U1 U1 0 15.0344 0 294 MTET 147 BTW U2 U2 0 15.0344 0 295 MTET 148 BTW U1 U1 0 15.0344 0 296 MTET 148 BTW U2 U2 0 15.0344 0 297 MTET 149 BTW U1 U1 0 15.0344 0 298 MTET 149 BTW U2 U2 0 15.0344 0 299 MTET 150 BTW U1 U1 0 15.0344 0 300 MTET 150 BTW U2 U2 0 15.0344 0 301 MTET 151 BTW U1 U1 0 15.0344 0 302 MTET 151 BTW U2 U2 0 15.0344 0 303 MTET 152 BTW U1 U1 0 15.0344 0 304 MTET 152 BTW U2 U2 0 15.0344 0 305 MTET 153 BTW U1 U1 0 15.0344 0 306 MTET 153 BTW U2 U2 0 15.0344 0 307 MTET 154 BTW U1 U1 0 15.0344 0 308 MTET 154 BTW U2 U2 0 15.0344 0 309 MTET 155 BTW U1 U1 0 15.0344 0 310 MTET 155 BTW U2 U2 0 15.0344 0 311 MTET 156 BTW U1 U1 0 15.0344 0 312 MTET 156 BTW U2 U2 0 15.0344 0 313 MTET 157 BTW U1 U1 0 15.0344 0 314 MTET 157 BTW U2 U2 0 15.0344 0 315 MTET 158 BTW U1 U1 0 15.0344 0 316 MTET 158 BTW U2 U2 0 15.0344 0 317 MTET 159 BTW U1 U1 0 15.0344 0 318 MTET 159 BTW U2 U2 0 15.0344 0 319 MTET 160 BTW U1 U1 0 15.0344 0 320 MTET 160 BTW U2 U2 0 15.0344 0 321 MTET 161 BTW U1 U1 0 15.0344 0 322 MTET 161 BTW U2 U2 0 15.0344 0 323 MTET 162 BTW U1 U1 0 15.0344 0 324 MTET 162 BTW U2 U2 0 15.0344 0 325 MTET 163 BTW U1 U1 0 15.0344 0 326 MTET 163 BTW U2 U2 0 15.0344 0 327 MTET 164 BTW U1 U1 0 15.0344 0 328 MTET 164 BTW U2 U2 0 15.0344 0 329 MTET 165 BTW U1 U1 0 15.0344 0 330 MTET 165 BTW U2 U2 0 15.0344 0 331 MTET 166 BTW U1 U1 0 15.0344 0 332 MTET 166 BTW U2 U2 0 15.0344 0 333 MTET 167 BTW U1 U1 0 15.0344 0 334 MTET 167 BTW U2 U2 0 15.0344 0 335 MTET 168 BTW U1 U1 0 15.0344 0 336 MTET 168 BTW U2 U2 0 15.0344 0 337 MTET 169 BTW U1 U1 0 15.0344 0 338 MTET 169 BTW U2 U2 0 15.0344 0 339 MTET 170 BTW U1 U1 0 15.0344 0 340 MTET 170 BTW U2 U2 0 15.0344 0 341 MTET 171 BTW U1 U1 0 15.0344 0 342 MTET 171 BTW U2 U2 0 15.0344 0 343 MTET 172 BTW U1 U1 0 15.0344 0 344 MTET 172 BTW U2 U2 0 15.0344 0 345 MTET 173 BTW U1 U1 0 15.0344 0 346 MTET 173 BTW U2 U2 0 15.0344 0 347 MTET 174 BTW U1 U1 0 15.0344 0 348 MTET 174 BTW U2 U2 0 15.0344 0 349 MTET 175 BTW U1 U1 0 15.0344 0 350 MTET 175 BTW U2 U2 0 15.0344 0 351 MTET 176 BTW U1 U1 0 15.0344 0 352 MTET 176 BTW U2 U2 0 15.0344 0 353 MTET 177 BTW U1 U1 0 15.0344 0 354 MTET 177 BTW U2 U2 0 15.0344 0 355 MTET 178 BTW U1 U1 0 15.0344 0 356 MTET 178 BTW U2 U2 0 15.0344 0 357 MTET 179 BTW U1 U1 0 15.0344 0 358 MTET 179 BTW U2 U2 0 15.0344 0 359 MTET 180 BTW U1 U1 0 15.0344 0 360 MTET 180 BTW U2 U2 0 15.0344 0 361 MTET 181 BTW U1 U1 0 15.0344 0 362 MTET 181 BTW U2 U2 0 15.0344 0 363 MTET 182 BTW U1 U1 0 15.0344 0 364 MTET 182 BTW U2 U2 0 15.0344 0 365 MTET 183 BTW U1 U1 0 15.0344 0 366 MTET 183 BTW U2 U2 0 15.0344 0 367 MTET 184 BTW U1 U1 0 15.0344 0 368 MTET 184 BTW U2 U2 0 15.0344 0 369 MTET 185 BTW U1 U1 0 15.0344 0 370 MTET 185 BTW U2 U2 0 15.0344 0 371 MTET 186 BTW U1 U1 0 15.0344 0 372 MTET 186 BTW U2 U2 0 15.0344 0 373 MTET 187 BTW U1 U1 0 15.0344 0 374 MTET 187 BTW U2 U2 0 15.0344 0 375 MTET 188 BTW U1 U1 0 15.0344 0 376 MTET 188 BTW U2 U2 0 15.0344 0 377 MTET 189 BTW U1 U1 0 15.0344 0 378 MTET 189 BTW U2 U2 0 15.0344 0 379 MTET 190 BTW U1 U1 0 15.0344 0 380 MTET 190 BTW U2 U2 0 15.0344 0 381 MTET 191 BTW U1 U1 0 15.0344 0 382 MTET 191 BTW U2 U2 0 15.0344 0 383 MTET 192 BTW U1 U1 0 15.0344 0 384 MTET 192 BTW U2 U2 0 15.0344 0 385 MTET 193 BTW U1 U1 0 15.0344 0 386 MTET 193 BTW U2 U2 0 15.0344 0 387 MTET 194 BTW U1 U1 0 15.0344 0 388 MTET 194 BTW U2 U2 0 15.0344 0 389 MTET 195 BTW U1 U1 0 15.0344 0 390 MTET 195 BTW U2 U2 0 15.0344 0 391 MTET 196 BTW U1 U1 0 15.0344 0 392 MTET 196 BTW U2 U2 0 15.0344 0 393 MTET 197 BTW U1 U1 0 15.0344 0 394 MTET 197 BTW U2 U2 0 15.0344 0 395 MTET 198 BTW U1 U1 0 15.0344 0 396 MTET 198 BTW U2 U2 0 15.0344 0 397 MTET 199 BTW U1 U1 0 15.0344 0 398 MTET 199 BTW U2 U2 0 15.0344 0 399 MTET 200 BTW U1 U1 0 15.0344 0 400 MTET 200 BTW U2 U2 0 15.0344 0 401 MTET 201 BTW U1 U1 0 15.0344 0 402 MTET 201 BTW U2 U2 0 15.0344 0 403 MTET 202 BTW U1 U1 0 15.0344 0 404 MTET 202 BTW U2 U2 0 15.0344 0 405 MTET 203 BTW U1 U1 0 15.0344 0 406 MTET 203 BTW U2 U2 0 15.0344 0 407 MTET 204 BTW U1 U1 0 15.0344 0 408 MTET 204 BTW U2 U2 0 15.0344 0 409 MTET 205 BTW U1 U1 0 15.0344 0 410 MTET 205 BTW U2 U2 0 15.0344 0 411 MTET 206 BTW U1 U1 0 15.0344 0 412 MTET 206 BTW U2 U2 0 15.0344 0 413 MTET 207 BTW U1 U1 0 15.0344 0 414 MTET 207 BTW U2 U2 0 15.0344 0 415 MTET 208 BTW U1 U1 0 15.0344 0 416 MTET 208 BTW U2 U2 0 15.0344 0 417 MTET 209 BTW U1 U1 0 15.0344 0 418 MTET 209 BTW U2 U2 0 15.0344 0 419 MTET 210 BTW U1 U1 0 15.0344 0 420 MTET 210 BTW U2 U2 0 15.0344 0 421 MTET 211 BTW U1 U1 0 15.0344 0 422 MTET 211 BTW U2 U2 0 15.0344 0 423 MTET 212 BTW U1 U1 0 15.0344 0 424 MTET 212 BTW U2 U2 0 15.0344 0 425 MTET 213 BTW U1 U1 0 15.0344 0 426 MTET 213 BTW U2 U2 0 15.0344 0 427 MTET 214 BTW U1 U1 0 15.0344 0 428 MTET 214 BTW U2 U2 0 15.0344 0 429 MTET 215 BTW U1 U1 0 15.0344 0 430 MTET 215 BTW U2 U2 0 15.0344 0 431 MTET 216 BTW U1 U1 0 15.0344 0 432 MTET 216 BTW U2 U2 0 15.0344 0 433 MTET 217 BTW U1 U1 0 15.0344 0 434 MTET 217 BTW U2 U2 0 15.0344 0 435 MTET 218 BTW U1 U1 0 15.0344 0 436 MTET 218 BTW U2 U2 0 15.0344 0 437 MTET 219 BTW U1 U1 0 15.0344 0 438 MTET 219 BTW U2 U2 0 15.0344 0 439 MTET 220 BTW U1 U1 0 15.0344 0 440 MTET 220 BTW U2 U2 0 15.0344 0 441 MTET 221 BTW U1 U1 0 15.0344 0 442 MTET 221 BTW U2 U2 0 15.0344 0 443 MTET 222 BTW U1 U1 0 15.0344 0 444 MTET 222 BTW U2 U2 0 15.0344 0 445 MTET 223 BTW U1 U1 0 15.0344 0 446 MTET 223 BTW U2 U2 0 15.0344 0 447 MTET 224 BTW U1 U1 0 15.0344 0 448 MTET 224 BTW U2 U2 0 15.0344 0 449 MTET 225 BTW U1 U1 0 15.0344 0 450 MTET 225 BTW U2 U2 0 15.0344 0 451 MTET 226 BTW U1 U1 0 15.0344 0 452 MTET 226 BTW U2 U2 0 15.0344 0 453 MTET 227 BTW U1 U1 0 15.0344 0 454 MTET 227 BTW U2 U2 0 15.0344 0 455 MTET 228 BTW U1 U1 0 15.0344 0 456 MTET 228 BTW U2 U2 0 15.0344 0 457 MTET 229 BTW U1 U1 0 15.0344 0 458 MTET 229 BTW U2 U2 0 15.0344 0 459 MTET 230 BTW U1 U1 0 15.0344 0 460 MTET 230 BTW U2 U2 0 15.0344 0 461 MTET 231 BTW U1 U1 0 15.0344 0 462 MTET 231 BTW U2 U2 0 15.0344 0 463 MTET 232 BTW U1 U1 0 15.0344 0 464 MTET 232 BTW U2 U2 0 15.0344 0 465 MTET 233 BTW U1 U1 0 15.0344 0 466 MTET 233 BTW U2 U2 0 15.0344 0 467 MTET 234 BTW U1 U1 0 15.0344 0 468 MTET 234 BTW U2 U2 0 15.0344 0 469 MTET 235 BTW U1 U1 0 15.0344 0 470 MTET 235 BTW U2 U2 0 15.0344 0 471 MTET 236 BTW U1 U1 0 15.0344 0 472 MTET 236 BTW U2 U2 0 15.0344 0 473 MTET 237 BTW U1 U1 0 15.0344 0 474 MTET 237 BTW U2 U2 0 15.0344 0 475 MTET 238 BTW U1 U1 0 15.0344 0 476 MTET 238 BTW U2 U2 0 15.0344 0 477 MTET 239 BTW U1 U1 0 15.0344 0 478 MTET 239 BTW U2 U2 0 15.0344 0 479 MTET 240 BTW U1 U1 0 15.0344 0 480 MTET 240 BTW U2 U2 0 15.0344 0 481 MTET 241 BTW U1 U1 0 15.0344 0 482 MTET 241 BTW U2 U2 0 15.0344 0 483 MTET 242 BTW U1 U1 0 15.0344 0 484 MTET 242 BTW U2 U2 0 15.0344 0 485 MTET 243 BTW U1 U1 0 15.0344 0 486 MTET 243 BTW U2 U2 0 15.0344 0 487 MTET 244 BTW U1 U1 0 15.0344 0 488 MTET 244 BTW U2 U2 0 15.0344 0 489 MTET 245 BTW U1 U1 0 15.0344 0 490 MTET 245 BTW U2 U2 0 15.0344 0 491 MTET 246 BTW U1 U1 0 15.0394 0 492 MTET 246 BTW U2 U2 0 15.0344 0 493 MTET 247 BTW U1 U1 0 15.0344 0 494 MTET 247 BTW U2 U2 0 15.0344 0 495 MTET 248 BTW U1 U1 0 15.0344 0 496 MTET 248 BTW U2 U2 0 15.0344 0 497 MTET 249 BTW U1 U1 0 15.0344 0 498 MTET 249 BTW U2 U2 0 15.0344 0 499 MTET 250 BTW U1 U1 0 15.0344 0 500 MTET 250 BTW U2 U2 0 15.0344 0 501 MTET 251 BTW U1 U1 0 15.0344 0 502 MTET 251 BTW U2 U2 0 15.0344 0 503 MTET 252 BTW U1 U1 0 15.0344 0 504 MTET 252 BTW U2 U2 0 15.0344 0 505 MTET 253 BTW U1 U1 0 15.0344 0 506 MTET 253 BTW U2 U2 0 15.0344 0 507 MTET 254 BTW U1 U1 0 15.0344 0 508 MTET 254 BTW U2 U2 0 15.0344 0 509 MTET 255 BTW U1 U1 0 15.0344 0 510 MTET 255 BTW U2 U2 0 15.0344 0 511 MTET 256 BTW U1 U1 0 15.0344 0 512 MTET 256 BTW U2 U2 0 15.0344 0 513 MTET 257 BTW U1 U1 0 15.0344 0 514 MTET 257 BTW U2 U2 0 15.0344 0 515 MTET 258 BTW U1 U1 0 15.0344 0 516 MTET 258 BTW U2 U2 0 15.0344 0 517 MTET 259 BTW U1 U1 0 15.0344 0 518 MTET 259 BTW U2 U2 0 15.0344 0 519 MTET 260 BTW U1 U1 0 15.0344 0 520 MTET 260 BTW U2 U2 0 15.0344 0 521 MTET 261 BTW U1 U1 0 15.0344 0 522 MTET 261 BTW U2 U2 0 15.0344 0 523 MTET 262 BTW U1 U1 0 15.0344 0 524 MTET 262 BTW U2 U2 0 15.0344 0 525 MTET 263 BTW U1 U1 0 15.0344 0 526 MTET 263 BTW U2 U2 0 15.0344 0 527 MTET 264 BTW U1 U1 0 15.0344 0 528 MTET 264 BTW U2 U2 0 15.0344 0 529 MTET 265 BTW U1 U1 0 15.0344 0 530 MTET 265 BTW U2 U2 0 15.0344 0 531 MTET 266 BTW U1 U1 0 15.0344 0 532 MTET 266 BTW U2 U2 0 15.0344 0 533 MTET 267 BTW U1 U1 0 15.0344 0 534 MTET 267 BTW U2 U2 0 15.0344 0 535 MTET 268 BTW U1 U1 0 15.0344 0 536 MTET 268 BTW U2 U2 0 15.0344 0 537 MTET 269 BTW U1 U1 0 15.0344 0 538 MTET 269 BTW U2 U2 0 15.0344 0 539 MTET 270 BTW U1 U1 0 15.0344 0 540 MTET 270 BTW U2 U2 0 15.0344 0 541 MTET 271 BTW U1 U1 0 15.0344 0 542 MTET 271 BTW U2 U2 0 15.0344 0 543 MTET 272 BTW U1 U1 0 15.0344 0 544 MTET 272 BTW U2 U2 0 15.0344 0 545 MTET 273 BTW U1 U1 0 15.0344 0 546 MTET 273 BTW U2 U2 0 15.0344 0 547 MTET 274 BTW U1 U1 0 15.0344 0 548 MTET 274 BTW U2 U2 0 15.0344 0 549 MTET 275 BTW U1 U1 0 15.0344 0 550 MTET 275 BTW U2 U2 0 15.0344 0 551 MTET 276 BTW U1 U1 0 15.0344 0 552 MTET 276 BTW U2 U2 0 15.0344 0 553 MTET 277 BTW U1 U1 0 15.0344 0 554 MTET 277 BTW U2 U2 0 15.0344 0 555 MTET 278 BTW U1 U1 0 15.0344 0 556 MTET 278 BTW U2 U2 0 15.0344 0 557 MTET 279 BTW U1 U1 0 15.0344 0 558 MTET 279 BTW U2 U2 0 15.0344 0 559 MTET 280 BTW U1 U1 0 15.0344 0 560 MTET 280 BTW U2 U2 0 15.0344 0 561 MTET 281 BTW U1 U1 0 15.0344 0 562 MTET 281 BTW U2 U2 0 15.0344 0 563 MTET 282 BTW U1 U1 0 15.0344 0 564 MTET 282 BTW U2 U2 0 15.0344 0 565 MTET 283 BTW U1 U1 0 15.0344 0 566 MTET 283 BTW U2 U2 0 15.0344 0 567 MTET 284 BTW U1 U1 0 15.0344 0 568 MTET 284 BTW U2 U2 0 15.0344 0 569 MTET 285 BTW U1 U1 0 15.0344 0 570 MTET 285 BTW U2 U2 0 15.0344 0 571 MTET 286 BTW U1 U1 0 15.0344 0 572 MTET 286 BTW U2 U2 0 15.0344 0 573 MTET 287 BTW U1 U1 0 15.0344 0 574 MTET 287 BTW U2 U2 0 15.0344 0 575 MTET 288 BTW U1 U1 0 15.0344 0 576 MTET 288 BTW U2 U2 0 15.0344 0 577 MTET 289 BTW U1 U1 0 15.0344 0 578 MTET 289 BTW U2 U2 0 15.0344 0 579 MTET 290 BTW U1 U1 0 15.0344 0 580 MTET 290 BTW U2 U2 0 15.0344 0 581 MTET 291 BTW U1 U1 0 15.0344 0 582 MTET 291 BTW U2 U2 0 15.0344 0 583 MTET 292 BTW U1 U1 0 15.0344 0 584 MTET 292 BTW U2 U2 0 15.0344 0 585 MTET 293 BTW U1 U1 0 15.0344 0 586 MTET 293 BTW U2 U2 0 15.0344 0 587 MTET 294 BTW U1 U1 0 15.0344 0 588 MTET 294 BTW U2 U2 0 15.0344 0 589 MTET 295 BTW U1 U1 0 15.0344 0 590 MTET 295 BTW U2 U2 0 15.0344 0 591 MTET 296 BTW U1 U1 0 15.0344 0 592 MTET 296 BTW U2 U2 0 15.0344 0 593 MTET 297 BTW U1 U1 0 15.0344 0 594 MTET 297 BTW U2 U2 0 15.0344 0 595 MTET 298 BTW U1 U1 0 15.0344 0 596 MTET 298 BTW U2 U2 0 15.0344 0 597 MTET 299 BTW U1 U1 0 15.0344 0 598 MTET 299 BTW U2 U2 0 15.0344 0 599 MTET 300 BTW U1 U1 0 15.0344 0 600 MTET 300 BTW U2 U2 0 15.0344 0 300 !NBOND: bonds 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 0 !NTHETA: angles 0 !NPHI: dihedrals 0 !NIMPHI: impropers 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 !NGRP protomol/examples/methane_ethane_xxx/ethane_methane_300_Pure_Trappe.vel.xyz0100644027616700000500000013122310237151526026706 0ustar pbrenne1dip600 !ProtoMol (built on Mar 14 2005 at 12:49:52) generated this XYZ file by tmorrow. Time : 150000, step : 150000. U1 -0.0442614671599881 0.0251006176990221 0.00813494862270984 U2 -0.0208282854799604 -0.113194029341783 -0.123503051205379 U1 0.0470142391567999 -0.0954525105415372 -0.0587153428908258 U2 0.0804959272297486 -0.112482636389011 -0.101425089518392 U1 -0.145318938006489 -0.175641278214414 0.165329150064018 U2 -0.0056002602259673 0.0258475231583547 -0.200773220046172 U1 0.212694880337571 0.21785236320381 0.00569678637675742 U2 0.00635452214790921 -0.0051008249387794 -0.363050246649992 U1 0.203808751857438 0.249344362544146 -0.180330714064918 U2 0.0975180160465357 -0.0204865900564246 0.0407013745853332 U1 0.0791608169168046 -0.0150184448576996 -0.179696650394829 U2 0.0717047423375753 0.0206866643292066 -0.200657824688512 U1 -0.100215848484717 0.0327343526609303 -0.100609387752064 U2 -0.0162105560029493 -0.120762360636644 0.172576400177686 U1 0.109708945829151 0.0332040261999984 0.101721502035374 U2 0.191517887019582 0.0428686377188092 -0.00476920998974184 U1 0.274066178848981 -0.0505015652506 -0.210753586268064 U2 -0.081508790403363 -0.0706876878865936 0.16731151346229 U1 0.0433405087335432 0.266838157125966 -0.274675457501046 U2 -0.121125756618561 -0.19843368360688 0.0564376947196999 U1 -0.11701027539354 -0.128258103242132 0.0510342525167413 U2 -0.12242716089361 -0.116353424482496 0.104421198383544 U1 -0.018048966163274 0.153383929859246 -0.194275594810086 U2 -0.105309193668332 -0.0368226620718174 -0.0538962431217608 U1 -0.0380795406691426 -0.0955585729968143 -0.133194028901849 U2 -0.0409866175134875 0.156869523011455 -0.277880619192729 U1 -0.062279545995353 -0.180592196366519 0.028353591036088 U2 0.107577419151451 0.0815124522411011 -0.11703085919391 U1 -0.0891194571509368 -0.033345899752996 -0.130526011042113 U2 0.0380625553536505 0.0264014266813765 -0.0847094865993934 U1 0.142152863733736 0.0828497268370922 0.0486323066606187 U2 0.0888579625112905 -0.063299412536073 -0.257302331594154 U1 -0.0136505124704253 -0.133727284525603 -0.0214666876451991 U2 0.00612805360174051 -0.271153327227359 -0.0230379115198332 U1 0.108060326282101 0.0630829304139262 0.0875134545908432 U2 0.0238794700916264 0.118705430817117 0.00256442387047506 U1 0.102509612787298 0.101274152418696 -0.122236055482272 U2 0.185805738347695 -0.0130472284524745 0.0857324127476997 U1 -0.0369328536616294 0.146968971589518 0.215710871113814 U2 -0.399518004616616 0.00575332637081551 -0.17168194048715 U1 -0.0211151263912897 -0.0567309481899465 -0.113506183613686 U2 -0.287022312002219 0.175243639591518 -0.156297188290648 U1 -0.1675141489346 -0.108388483885226 0.0820094270767762 U2 0.150484481502655 -0.294603002775365 -0.159833693494385 U1 0.326242611127261 -0.141975355221064 0.159740858562344 U2 0.310966791916254 -0.25048408309883 0.166397600391613 U1 -0.00822122490232206 0.131346672195958 0.119691065337118 U2 0.152389908348044 0.135511924179551 0.278353573948236 U1 0.0581181558285639 -0.00501701272646484 0.150599854845407 U2 0.0482096415874699 -0.0964882958056874 0.192550237396192 U1 0.0564609099505199 0.0399108267923474 0.19763508219896 U2 0.109648935439469 -0.24420390398702 0.0520589890108962 U1 0.199661367167303 0.0417292166450293 -0.126744348767719 U2 0.11033276204564 -0.242279615702728 0.19693514127122 U1 -0.43259561589131 -0.122485903351284 0.0560255061938784 U2 0.0559563796140508 -0.218954664242986 -0.088568585977456 U1 -0.13115668886983 -0.00686837568428385 0.0457842340922458 U2 -0.139104583480897 0.0376378496423172 0.127114599596093 U1 -0.166629262376072 0.0734557409245981 -0.0740387966393398 U2 -0.099114467368153 -0.174172057688926 -0.0812777857807357 U1 0.0642828481337708 0.272306505159563 -0.12576242540104 U2 -0.0346511141860179 0.237919935397642 0.0674286540119338 U1 0.0790285401197117 -0.105400634990072 -0.0342450102523942 U2 -0.1511136998124 0.0270522810310118 0.0611300393729771 U1 -0.127825454892269 0.0582292516111858 -0.293076386001537 U2 0.0460891291041149 0.174897012778762 -0.20050750624623 U1 0.0693730923580131 0.0587303874113117 0.0585695824523048 U2 0.167046770670855 -0.0555068671028023 -0.0359894279639075 U1 0.197345621153012 0.102250228194482 -0.19796218393469 U2 -0.105868135366502 0.148157803680246 -0.165571032615598 U1 0.113119229414533 0.0460599017888836 -0.0643522805904379 U2 0.0821445178535127 0.0214483442513803 -0.256150173133509 U1 -0.0296795861310872 0.0601736700258444 0.328412853308671 U2 -0.0903846214129271 0.133686971399323 0.205297431605095 U1 -0.0989659444184727 0.395425554303899 -0.340804732745924 U2 0.0978286440242142 -0.264036742980241 0.102364292228271 U1 0.122554965520669 0.352848070488979 0.0949676428992059 U2 -0.170678117398195 -0.0890764467606229 0.311349188831934 U1 -0.209301914270608 0.0717315534449072 0.054739194494582 U2 -0.16785297088248 0.0668803119515107 0.23810154108716 U1 -0.201477154256678 -0.131436164216516 -0.181702504174467 U2 -0.122274349043491 -0.112380502055101 -0.309037928920289 U1 0.00123975199480217 0.167013179811928 0.028599611093205 U2 0.0316114544323307 0.185034830947941 0.033047985414091 U1 0.0148125098748898 0.310791258035067 0.101378857984896 U2 0.00278623687886069 0.193321471539928 0.0859373926826136 U1 -0.406975481888768 -0.107611492998253 0.231708068546951 U2 0.0367628763211037 0.0561206987607219 0.00226658166845589 U1 -0.0876640061236233 0.0853827063143324 0.0887399376824633 U2 0.0995770686477827 -0.222783332561364 -0.207671931185026 U1 -0.16392390014482 -0.426760901674455 -0.10101274551486 U2 -0.168940101194865 -0.0125345433472309 0.0484577153262226 U1 -0.154736279010913 0.063349059168909 0.0619062692452139 U2 -0.100851020816962 -0.0616154961173824 -0.135066611097872 U1 -0.313988321844541 -0.024808908894306 0.180256079312987 U2 -0.0348470999398871 0.215357758814694 0.0805505729704888 U1 0.120979899643017 0.0853632221115777 -0.233212713487423 U2 -0.0271518969798949 -0.137413526216854 0.181644032340181 U1 0.157918543266783 0.304297869260079 0.0760903552470626 U2 -0.00364461139323005 0.0146058292608766 0.279826034315013 U1 0.0986413968005849 0.0770339421149088 0.10040732562352 U2 0.144556342059978 -0.0883654226001017 0.265965975394371 U1 0.105236141719241 -0.00563574422926078 -0.0268411207803315 U2 0.0903444287856023 0.0485519420027813 -0.0867324553254939 U1 -0.0645407921646904 0.0901985860210228 -0.0268485349269253 U2 -0.0972591363412147 0.176643647041243 0.0021629487478725 U1 0.0409289336317609 -0.0568492074928566 -0.0517790299252675 U2 -0.0871439357548265 0.14807912118607 0.188128525888196 U1 0.0541369163482506 -0.300062937078773 0.124768638634409 U2 0.0565552212580281 -0.276005933927778 -0.06486508240598 U1 0.00543621775060764 -0.185960805267569 -0.208307372180435 U2 -0.0777684007131889 -0.178888162749014 0.0383768246152612 U1 -0.0522110391183662 0.0801964214531693 0.167089264034347 U2 -0.21642027897021 0.159659286581756 -0.136973632029751 U1 0.113346031108404 0.399519874234614 -0.0328448586085826 U2 -0.202585127502856 0.186290387039266 -0.0588608586287728 U1 -0.225467158957982 0.0884016134849547 0.0281255272623757 U2 0.0553055263319014 0.0968102699252664 0.118866476538133 U1 0.100336521850729 0.0252646558028085 0.193180655304719 U2 0.0904704568065014 0.0950596031702825 0.142496732260797 U1 -0.0663751622416972 0.0469434339375542 0.0489403077568576 U2 -0.188324412674042 0.173566380108437 -0.122059921133415 U1 -0.178491005232713 0.163655843489869 0.0206648121222817 U2 0.145359435284234 -0.179057724341421 -0.144229231255428 U1 0.179836396206154 -0.0447621351849007 -0.11076036650764 U2 -0.0800559441180636 -0.128312813516525 -0.246528556008638 U1 -0.00313816428785127 -0.00662857780529693 -0.0307389908179099 U2 -0.116476692475618 0.276680805715687 0.269334617236709 U1 -0.00467142097114229 0.281802188275409 -0.0748964932364622 U2 0.27694428267867 -0.021056151330177 -0.00530235561559917 U1 -0.155256054127872 -0.0603703156201288 -0.153258040032714 U2 0.0292681778911476 -0.010038360344995 -0.0820461146390541 U1 0.179522341523084 0.136978758865649 -0.0730286922807494 U2 0.301001805036643 -0.113341342161673 0.0219307855098 U1 0.0594038411192139 -0.0750804017957455 -0.08647139257509 U2 -0.240706276111429 -0.0477300894923021 -0.10110915622375 U1 0.189917361489673 0.139338300019625 0.169806136518182 U2 0.266519832427875 -0.289068623583263 -0.206167815849609 U1 0.0480972371815749 0.0382622693418286 0.0501926009305515 U2 0.00998765919008969 -0.0372053181538568 0.107433292028152 U1 0.0546969639025872 -0.0870932256784535 -0.147058658197311 U2 -0.177183259171652 0.0841288623063418 0.0138991535604584 U1 -0.115069895151882 -0.183252768060885 -0.153570508066548 U2 0.028608196413789 -0.159012982353168 -0.155770326319666 U1 0.145818888925669 -0.0882903723658196 -0.181118106130082 U2 0.163531172863474 -0.0116413777483148 -0.0628389011425277 U1 -0.145079356848871 -0.042263356686257 -0.0273360995431305 U2 -0.102376754238327 -0.0240056185623098 -0.0187164411921457 U1 -0.274345298014622 -0.149552390883637 0.328401034461614 U2 -0.0430525214679508 0.0108761798854013 0.219463714193541 U1 -0.130618791803661 0.262142721773715 0.0734098722434816 U2 -0.00191222415251453 0.0586258852815089 -0.113392542768454 U1 0.129480836479247 -0.0482994431471593 -0.101728394050685 U2 0.0824327430267653 0.108333552121555 0.0840264408127974 U1 -0.16639973163925 0.00674910469645098 -0.370289997773811 U2 -0.034287179008157 -0.000411890005480581 0.318475363602177 U1 0.086536619238355 0.115015655704524 0.109824553255284 U2 0.110633260855571 0.029967110254518 -0.0688873293233169 U1 -0.281437269570043 0.0481108154663749 -0.120135614282043 U2 -0.304233672616213 0.0269158002524735 -0.11244185597652 U1 -0.174493056440151 0.246141468989922 0.0412406174410848 U2 0.00638080156790114 0.0861410751201784 -0.218102001847423 U1 -0.222088635584156 -0.19623789657474 0.0120234476489484 U2 -0.249988437487804 -0.187733502792027 0.153811430211631 U1 -0.135891108254714 0.0390575430874402 -0.0942673466202464 U2 -0.0868912159953056 0.126090295972934 0.0488830816925737 U1 0.0849539181086254 0.103142622809005 -0.112809785039237 U2 -0.0893950994143495 -0.0346671098513297 -0.000463412466539274 U1 0.28003496434187 -0.223431449016311 0.0902258143841252 U2 0.213183290900336 -0.0558324351501587 -0.212387972215139 U1 -0.229072961026395 0.469296217617523 0.127390835664703 U2 -0.230072934824867 0.345190222778353 0.294635584192078 U1 0.0983065694627854 0.198066473584264 0.165819563630728 U2 0.14805385991864 0.0554266617831293 0.303101369752667 U1 0.031372353811422 -0.126589509942837 0.086071066212159 U2 -0.0594642794426279 -0.0516962447138096 0.147655421635388 U1 0.0609077282704456 -0.171993061247615 -0.0312339472008721 U2 0.106105019121173 -0.12313979492554 -0.0490474464070969 U1 0.169871247374817 -0.168835569108974 0.196419543125924 U2 -0.261791209775306 -0.0403052333674855 -0.0276640024488439 U1 -0.0100068744551013 0.0866622179012338 0.216558607295049 U2 -0.0411208721842725 0.0724827632961872 0.0172652451488554 U1 -0.207602388691366 -0.137184663442799 0.118951615257706 U2 -0.0926729089025091 0.20065875607115 0.107508191493056 U1 -0.223751449751469 -0.199284887700666 0.133726383135161 U2 -0.154330935764997 -0.0930631920035382 0.0319825851746086 U1 0.071219460508772 -0.0625958179908015 -0.104481368829213 U2 0.0726720130848292 -0.0770925174357086 -0.0951330125620302 U1 -0.0261812586307268 0.0257599219995469 -0.185595879577325 U2 0.0327565927495206 -0.0566470511657314 0.0762444521474231 U1 -0.0648784105074149 -0.0148820534889348 0.0492937873232531 U2 0.0205613127284783 -0.0661026825802172 0.083218788774469 U1 -0.0206532461234468 -0.0112114909870468 0.0219502135072203 U2 0.0870895369883682 0.118929033917871 -0.04819375472067 U1 0.0806539507154356 -0.0386279208249457 0.015271133159045 U2 0.0581144885104502 0.0194570731161415 -0.0818455508132327 U1 0.0272804015015867 0.0623309423472692 0.159331044662312 U2 0.0851082678601792 0.0447126871599728 0.2318720859829 U1 -0.049568151751243 0.0493614980290307 -0.00742932363500039 U2 -0.0264116002951545 0.206947865869558 0.209715647557725 U1 0.113351138433766 0.331011548370438 0.176219176875816 U2 -0.141090417038472 0.292323098570716 -0.0469121064878259 U1 0.0781013993754104 0.185735078340984 0.0981553074398942 U2 0.0977496710405607 0.0418821146938341 0.120113666567224 U1 0.37230349136977 0.0840625011373294 0.297386146594909 U2 0.222445802436962 0.0128222476130192 0.295582164969051 U1 -0.0815520880962693 0.099120052190262 -0.0241211228046456 U2 -0.0921422819808996 0.116888501309937 0.156871367129855 U1 -0.0240866317706537 -0.0867090408203519 0.00318550972969763 U2 0.0111928190226941 -0.106220017292603 0.0405800637983379 U1 -0.188186414296955 -0.173105186810018 0.234817213183663 U2 0.0912612279685884 -0.00826328857617894 0.167756853813773 U1 0.0336714134876086 0.0524921564883403 -0.14132873942472 U2 0.135248072732539 -0.064462497257545 0.382971444180422 U1 0.000117999769645845 -0.0206332668807903 -0.0992450957891682 U2 -0.295897983767353 -0.0621014306061019 0.081626222427351 U1 -0.177001809622199 -0.024881001561571 -0.16820898162726 U2 0.112087014993546 -0.044505644329456 -0.239444585897388 U1 -0.141838930102405 0.0943739965183397 -0.190945158176121 U2 0.0584375534309022 0.166418628498116 -0.0431539341090607 U1 0.0509326212738195 0.104842103246151 0.246523421234738 U2 0.05751907893289 -0.209697551204767 0.0674819105079137 U1 0.210496324923246 0.209489188138569 -0.173932817816153 U2 0.247444017329849 -0.0843086121807613 -0.0530634212826175 U1 0.102633887450583 -0.00329789539682502 -0.229294614510317 U2 0.21921806455089 0.107850304669808 0.103885147632605 U1 0.0890852083633499 -0.119416570032521 -0.120510874172318 U2 -0.00773737516162798 -0.100810733479828 -0.0540715890273715 U1 0.0968763783565808 0.155594077218908 0.0695802589904181 U2 -0.0860117990262081 0.211934619392979 0.0948141848058145 U1 0.0399853564158217 0.122954062012043 -0.0542644692879313 U2 -0.0326606834386369 -0.139619491835273 0.0392767551899481 U1 0.0258895516190527 -0.00246305514153911 0.152863597713423 U2 0.0671041810259328 -0.148149733170498 -0.0667635043443197 U1 0.0620736501950018 0.159971797223897 -0.123540181811483 U2 0.270026341120378 0.100873544052584 -0.0803699325908801 U1 0.0466543427799434 -0.0958417533726092 -0.0396375366946459 U2 0.0448824394181934 -0.0117294615533518 -0.136123714019856 U1 -0.167555732075248 -0.114778313839571 0.188787786440186 U2 -0.157680362475723 -0.0778324164774369 0.153912512491356 U1 0.0414046722388958 -0.118829579432069 0.0980849053691989 U2 0.0759586687001869 -0.153058431522853 0.15437827169905 U1 0.116994060734943 0.417787025829948 -0.084042018493509 U2 0.194956857659051 0.108305021580544 0.118421528400854 U1 0.04017767573339 -0.206406695544838 -0.0358837601301816 U2 -0.0390163965691335 -0.0980628678141067 0.0896379292174015 U1 0.0348467324379177 0.00281078057828434 -0.0230241680226371 U2 0.100292390435114 0.0687103050356437 -0.121685436728747 U1 0.0225550545020876 -0.0845191637436937 -0.143092467564419 U2 -0.092605624096675 -0.315355897766932 -0.015599211487066 U1 -0.162210891961224 -0.00521186025434776 -0.0907242458640632 U2 -0.101611536089639 -0.0088023484247969 -0.0334754806146167 U1 -0.0545878412972173 -0.0939764129559061 0.00856473056068181 U2 -0.0540475460967145 -0.00592723847450061 -0.221222492977645 U1 -0.185779862341106 -0.00895751544773396 -0.0552284519715225 U2 -0.168102165832095 0.11379030077147 -0.0128820642648094 U1 0.121621348817979 -0.0489646751007674 -0.230691241632457 U2 0.0281941787570248 0.0189855585000821 0.119336676986479 U1 -0.0175644618624779 0.20102354272 0.0277284288536214 U2 -0.190584819126602 0.167662340026805 -0.14178367187855 U1 -0.052579657874461 -0.122135474797733 -0.0771372776952642 U2 -0.0753920323942105 0.129167674397364 -0.176467004109087 U1 0.0190024818651208 -0.015243320572096 0.300299517220895 U2 0.020741895076294 0.159104066440604 -0.0560094491470928 U1 -0.0839024395359564 0.0562178198050328 0.155746579667268 U2 0.193507947508626 0.0131531060022983 0.00735570773904183 U1 -0.100388046736924 -0.0614156793306688 0.0142651956653081 U2 -0.108282759216257 0.0840569205030175 0.206734094266103 U1 -0.035910002550927 0.171922071130666 0.154288515485945 U2 0.195200583218133 -0.191462883163427 0.0529029445217779 U1 -0.123039448289218 -0.14992434746568 0.0473550477912016 U2 0.113980042318017 0.177782566247027 0.0494488962391387 U1 0.154164226098416 0.126035811684865 0.321525657679357 U2 0.0249532432859722 0.0661461155966421 -0.232780090775166 U1 0.0757516933665325 -0.112890670282174 -0.109252852512786 U2 0.159887264861057 -0.138778300681661 -0.118600673661452 U1 -0.0288339438634336 -0.11166157328739 -0.0661806306785711 U2 0.0105533316945879 -0.00179292134406179 0.0608712812977376 U1 -0.0424598700314028 -0.0302192583636537 -0.0872679059564128 U2 0.055989041726734 -0.0589247838358818 0.148003075570239 U1 0.216216904093816 -0.0728190278351009 -0.166198122315423 U2 0.246695686950367 0.176401610364926 -0.0674369116166636 U1 0.323530212409079 -0.27896534493605 0.125957866689123 U2 -0.195627494706847 0.0747666188883127 -0.101219183077783 U1 -0.146647698279301 -0.195616768820518 0.11547346059282 U2 0.129813862681344 -0.169429566127963 -0.0249934667120668 U1 0.0140370850033368 -0.0890434363036189 0.209075666663991 U2 -0.0336381671142402 -0.145076999368129 -0.0453227819191212 U1 -0.0949976228558751 0.00311099532989002 -0.0568958240851901 U2 -0.0176846871590205 0.110070850743778 -0.134532285103934 U1 0.191329806483995 -0.00998817780335418 0.000513039333636122 U2 0.337235672501667 0.017936708378831 -0.101501579849926 U1 -0.0758468889147266 0.0599907958070143 -0.234106713912618 U2 -0.105241448004034 0.113876258564988 0.0324961622540093 U1 0.0158985942249531 0.17351970915324 0.0185933863327811 U2 -0.0114475694906693 0.162048138592525 -0.0346405807004122 U1 0.0878213783556456 -0.0181787852076136 0.0934037709114922 U2 0.055300807815007 -0.0796947388243237 0.200897446583919 U1 -0.26923234769364 -0.0683533364618701 0.0988567424001009 U2 0.110997405214793 -0.31270378273204 0.119515962528571 U1 0.0661729055052646 0.17932659306356 0.0574113210397542 U2 0.0660563447629132 -0.0751070606754471 -0.244226294295798 U1 0.187757955154126 0.106822324391884 -0.113865450720958 U2 -0.0911459224355014 0.0888061221631485 -0.107444310539241 U1 -0.118125322508471 -0.118839649668636 0.0752201923163658 U2 -0.0627815031848186 -0.147846014889487 -0.0353457534273603 U1 0.290925385747152 -0.033556556100517 -0.0100069564017483 U2 0.143940813077605 0.223169008708441 0.129351598571637 U1 0.214206784457831 0.00729672272978945 -0.063121777285127 U2 -0.343524334600264 0.152117153234796 0.0834931421597758 U1 0.0539172408007903 -0.120615004203201 -0.0194527579488668 U2 -0.0936023418633296 -0.0951578707734962 -0.0613926194006226 U1 0.124056743135002 -0.194366190434878 0.200955746959387 U2 -0.0331845726341571 -0.309558916010851 0.425759276506327 U1 -0.201310475802733 0.18482585176232 -0.0706785559743184 U2 0.184290406262131 0.00720312214323519 0.35880709337209 U1 0.144517358230974 -0.167134915473284 -0.00498826529108887 U2 -0.0320363181542277 -0.1179025796598 0.116345101031134 U1 -0.257222984008092 0.239856212628458 0.129763285980609 U2 -0.0614088727443839 0.282013539127978 0.0321878815499862 U1 0.0466668034682294 -0.052190097851449 0.202962117448349 U2 0.0331178942066811 0.0710881920957651 0.2087567266571 U1 0.13917766739988 0.0395894543768473 0.146013076069288 U2 -0.0487653366111093 0.181776036191941 0.128924691207551 U1 -0.0931561702139722 0.0136412522256168 -0.287616515309568 U2 -0.144531450454448 0.0576921581150797 0.202767448857902 U1 -0.0247028524464048 -0.0197640075693941 0.175848130845774 U2 -0.245333177468584 -0.21115384858262 -0.163757569122716 U1 -0.18673477124544 -0.128656729513911 0.0425361131307892 U2 -0.0214958466796365 -0.178799054848175 0.283753953263357 U1 0.00711190689533573 -0.161164586113918 -0.111673605624245 U2 0.0382786792010455 -0.0293978147054698 0.106543052927317 U1 -0.361471695694695 0.287138505744203 -0.0978072576059495 U2 -0.0453391155255078 0.25768964546937 -0.147449340934564 U1 -0.0555083367143025 -0.145180036359776 -0.0376925315326149 U2 -0.0136126152440038 0.12527988545341 -0.201511854928569 U1 0.00768759287827446 -0.179441153683243 -0.0128125634975091 U2 -0.0780532186542569 0.15491174533999 -0.111421128975429 U1 -0.0487525571449327 -0.272630712259204 -0.0799409163546264 U2 -0.0196495353185664 -0.187030771119033 -0.167219847414419 U1 -0.0133760540383988 0.121835318067252 0.209174733767995 U2 -0.00601660071952036 0.101142115265419 0.195425149585587 U1 -0.0283485011715472 0.250100833802065 -0.0887659036092904 U2 4.35503450164773e-05 -0.152444649194672 0.123677204009615 U1 -0.157447669345177 0.0105761580210116 -0.041173985068574 U2 -0.170631416757967 -0.226440692601848 -0.0219489549349175 U1 -0.0174413691695255 0.044638769505233 -0.140603564321389 U2 -0.0311245342392231 0.0356145476060827 -0.168394212315253 U1 0.0243738094562183 0.115547714158251 0.137602134789153 U2 0.313015714810855 0.0621255975593199 0.0335205206483411 U1 0.115514718121049 0.0417497037601863 -0.230761910902724 U2 0.064438762860536 -0.0553214348644693 0.0439016987271155 U1 -0.0889597902657289 -0.149893466254923 -0.124405412690074 U2 0.0941263513797999 0.0222762109808154 0.0420209441197371 U1 0.137482129265382 0.206925735501576 -0.361363668429691 U2 -0.0943636483019815 -0.0204470486291885 -0.240836373116867 U1 -0.404361844033225 0.207053885174992 0.212677685299762 U2 0.0501590805200299 -0.147074810751789 -0.0670898719938978 U1 0.149148695120834 0.0925920888584956 0.0297827078921999 U2 0.0334186012105105 0.0429465905775415 0.0180247388300453 U1 0.158996640650468 0.116572011596594 -0.235101141814851 U2 0.00104385129547717 -0.0615408376136442 0.117901842266566 U1 -0.0422442335528743 -0.0555462821217474 -0.0859615279663085 U2 0.0286687350301558 0.157819808128009 0.0912481842026389 U1 0.0179749298071173 0.0684071977617226 0.175498911137045 U2 -0.0808337760438711 -0.175292549617889 0.06635467338001 U1 0.0053716387631366 -0.0565027245040481 -0.0672081559653134 U2 -0.189547151053041 -0.123192495474066 -0.105097503669612 U1 0.0997018003928898 -0.226290523427901 -0.0955722621826334 U2 -0.317710060418201 -0.104730121747531 -0.152104281438299 U1 -0.00995750516524852 0.0843269065745385 -0.0575326079815954 U2 0.0630374483151065 0.151374047623629 -0.125735999091188 U1 -0.0542642707292666 -0.177471023931009 0.00953652554784799 U2 -0.0941217528154196 -0.0131793059382642 0.0507314395065493 U1 0.273349516820309 -0.185907059296258 -0.298635174563279 U2 -0.35163210965662 -0.0839912666326713 0.015852007637441 U1 -0.0350151850125496 -0.0745938923114757 0.0808415445555388 U2 -0.0989364826783823 -0.20561573837273 0.123556159559776 U1 0.0159041409863681 -0.0641002233761451 -0.044239497401617 U2 0.259838749137459 -0.180850669458557 -0.31568217799185 U1 -0.219956813216486 -0.0135042291444202 0.0902175280833256 U2 0.0878787685128556 0.0382246786440612 -0.036122345332867 U1 0.00238336259517919 -0.0136091968428432 0.0457908947456192 U2 0.0475344555436373 0.0657035528894272 -0.10778022892089 U1 0.215390443515313 -0.0269264434268922 0.0253515113571376 U2 0.110013208904616 -0.0641320263842552 0.0692546389902865 U1 -0.20860948771067 0.223589288156143 0.2714862970749 U2 0.302868812656121 0.0609092803958964 0.204237270350487 U1 -0.0173940934392761 0.18524112469704 0.0880915711512955 U2 0.156037630043013 0.115765761029116 0.0856703738584812 U1 0.357244489304512 0.0218245989859169 0.0226136456969265 U2 -0.082047424094776 -0.0258325113468424 -0.131311409355201 U1 -0.0897070578033474 -0.292167337930049 -0.259840943339367 U2 0.207597967889122 -0.25118846487697 -0.0719516110309202 U1 -0.0683124981062724 -0.0491679514477648 0.0402889682156391 U2 -0.00649491490490959 -0.0926245663591616 0.0672844799651818 U1 0.0483790644723443 -0.0174392279169137 -0.0119428335037176 U2 0.0531760588962385 -0.0207050253365149 -0.0220013850753062 U1 0.249865127181605 0.104100749212158 -0.0236664737617929 U2 0.101228850030335 0.0104238929595942 -0.0231227444521213 U1 0.0293919289343896 -0.0771297831169483 0.0410553008995037 U2 -0.105672339662174 -0.150669183012949 -0.104790901488484 U1 0.199204236565551 0.107113979356729 -0.01351964835017 U2 0.0787006796419505 -0.101368595653618 0.195604729889061 U1 0.027243433756116 -0.0214879637048395 -0.0825416956448859 U2 0.0928632750427679 -0.0697982287381719 -0.100523208922795 U1 -0.0384009936425601 -0.111102350785399 0.0855666141402527 U2 -0.0718752260504825 -0.252084593327892 0.0550303244146219 U1 -0.0422379722667358 -0.293192662468399 -0.211270625107315 U2 0.05728182330907 -0.282267685129608 -0.192825647327832 U1 -0.058351948359754 0.2964191603083 0.129918718213949 U2 -0.0228668685450879 -0.101216618520681 -0.0928098794333736 U1 -0.188180811253237 0.282229399162185 0.0940705329539767 U2 0.0420484429828851 -0.115875715003846 -0.047126038545811 U1 0.166152383678283 0.128780112789474 -0.119650850513252 U2 0.0826043945631364 0.214797768921029 -0.227077236741557 U1 0.15307898512698 -0.106310107543545 -0.0318030734483072 U2 0.0634354324491235 -0.0977780776337858 0.0288489854311753 U1 -0.226116791854669 0.09851076676573 0.138405426563515 U2 -0.218092613408612 0.0803079695087622 0.137997599314666 U1 -0.0279419693253679 0.058394224187614 0.0283527935134062 U2 -0.0330591103360799 -0.0235709290151035 0.079327466169211 U1 0.0510469618653023 0.0350535668257844 0.0469288460118532 U2 -0.128619090731674 0.150232173424084 -0.0871851909051961 U1 -0.23226067640243 0.00325361642212481 0.101947763745075 U2 0.0677411463003404 -0.107764867048524 -0.191247510283694 U1 0.411393271281228 -0.0688867932725707 -0.193224245333877 U2 0.16500870566992 0.0687642702063043 -0.0259629050223735 U1 -0.280003630772035 0.0411693671417429 0.17809432867578 U2 0.0649250370856402 0.349723492781424 -0.253148672006474 U1 -0.11865254211244 0.0921209357409208 0.120547078868771 U2 0.0906798588498224 -0.0240424848542137 0.104108332452715 U1 0.037123030836161 0.193864225048983 -0.0337795928998935 U2 0.202214096719739 0.141946309124473 -0.132660355666943 U1 -0.088684351062542 -0.0313019742587581 0.211607353912616 U2 0.296174727216899 0.230757408672176 -0.228039922225969 U1 -0.0196878825965502 0.0455573204324416 0.0574675840017383 U2 0.078051791240077 -0.178604811783463 0.00595647460996136 U1 0.107856444049981 -0.0697523510020408 0.174329965449861 U2 0.0787989670880465 0.127246866236154 0.193774847608302 U1 -0.0905223758159666 -0.059737241541415 0.300562815154979 U2 0.0474831789147988 -0.368775744460412 -0.189332377621584 U1 -0.0276590375554402 -0.228702542864304 0.168858667520131 U2 -0.00256953606528466 0.00258259181519056 0.0880598938585437 U1 0.091989150918649 0.0946829023416563 0.461576544158185 U2 0.212428007955708 0.108362847587366 -0.045846642487532 U1 0.0873479550054864 -0.0118634318970737 -0.00926785452767587 U2 0.0737202422215804 0.130816240500697 -0.00830102332594166 U1 -0.409345748469734 0.156355524351724 -0.0847227553795592 U2 -0.142673101294052 -0.237964247272902 0.0408752446635428 U1 0.124196065962915 0.0885567153387621 0.0395043422963081 U2 0.0626811169100813 0.418818524072142 0.00955460190481066 U1 -0.00966927670746649 -0.114485973133245 -0.0141557336577044 U2 -0.129020686818228 0.0728196592505144 0.0231079415669549 U1 -0.0353495800272177 -0.0742292022564096 0.03626433252636 U2 0.0620643481620133 -0.105902577873193 -0.0249359917384022 U1 0.0545444485013336 -0.120472583051355 0.0466597739246253 U2 0.0843564700846538 0.112456452746838 -0.00174843997470209 U1 -0.0309790826898837 0.0582232796890187 -0.0953827963289359 U2 0.0594230398266859 -0.149304412270886 0.170722920185282 U1 -0.0949125859316328 0.0395397222690527 -0.200460317662849 U2 -0.0457604577059835 0.252881724239553 -0.053262933750557 U1 -0.0325817530934275 -0.084737950579596 0.128468112121928 U2 -0.111377949585127 -0.010351444900376 0.0699083688025963 U1 -0.0376647235467435 0.0851579231692175 0.0719075891116871 U2 -0.27706263457274 0.0163891833088359 0.0371119115140961 U1 -0.198503348760691 0.14803643395953 -0.117147806927282 U2 -0.177546471519011 0.0609333428215658 -0.27893123051182 U1 0.0674364363888549 0.214452851408511 0.184186326467088 U2 -0.223483580323337 0.167367697749822 -0.202310285946327 U1 -0.159612616818371 -0.173032940380363 -0.0797460723194379 U2 0.00802233923107715 -0.212300028275649 0.0404129707479899 U1 -0.0462827885893365 -0.226680847821302 -0.0770928970762468 U2 -0.124083771223289 -0.328537199465009 -0.109308359145976 U1 0.0542842197066598 0.00789645128367269 0.0516169299655382 U2 0.157676177629883 -0.0425258241671723 0.137606309411502 U1 -0.241542652222036 -0.258521901931604 -0.0149353871827291 U2 -0.0607936557117416 -0.142665818250695 -0.00600254442457999 U1 -0.116525566472294 0.170477512950213 -0.0852451909670153 U2 0.0402214680408192 -0.106120541057233 -0.3132530995056 U1 -0.0920200369920665 -0.192909884319494 -0.0428933206954287 U2 0.0623585884303816 -0.153684295587551 0.0466195512032394 U1 -0.0329120277466537 -0.130677961642822 -0.161577673775114 U2 0.0631963327472346 -0.114688267850762 0.0718597803158784 U1 -0.163791324026615 -0.156951559509255 0.0219700387143539 U2 0.130802559450063 0.168813708739224 0.247523739265165 U1 0.111544673973073 -0.198686592473741 -0.133803559710601 U2 0.3033874763429 -0.157194093865476 0.0264941412176448 U1 0.181707588849581 -0.043281751816305 -0.183375537899715 U2 -0.217279567663599 0.27188025858956 -0.0470252812629222 U1 -0.0357069855438331 0.0726096108933108 0.0071419379306703 U2 0.134736683762554 -0.0331418399472061 -0.0766034900199995 U1 0.0653731365576484 -0.205505313184519 -0.131412320690984 U2 0.131800218813298 -0.272963628027875 -0.0525328028671819 U1 -0.0854574749931731 0.055151064905015 -0.338191947647832 U2 -0.0314698426814853 0.377933581999742 -0.151119979565979 U1 -0.0307724931128986 -0.198575710606638 0.23170804424739 U2 -0.20106996349323 -0.206988303623661 0.0528075155228015 U1 -0.196969521199983 -0.0593474086567558 0.167776534535349 U2 0.132842711280275 -0.000225273840898183 0.0174228410303526 U1 0.0118558873963589 0.0417034831996396 0.155901377729864 U2 0.12605070429458 0.0840971986504733 0.0164130293509598 U1 0.0458962926388 -0.0164002247798254 0.0244716618904825 U2 -0.0253902311302297 -0.0181380684878857 0.0251312718232462 U1 -0.024828957988352 -0.0967692659584069 0.160947684067656 U2 -0.114403155191127 0.0859714219546214 -0.219545083615073 U1 0.341382574316008 0.0265105167487859 0.0152058573515798 U2 -0.0747138293333171 0.301542309244675 -0.139878577287504 U1 0.030424749213413 -0.179785243149676 0.036002710219897 U2 -0.0430046794367649 -0.281523165003091 -0.141437984268481 U1 0.0420028411995321 0.189728512609438 -0.0929012828902974 U2 0.0865275412252426 -0.0396260676580249 -0.0634779475148614 U1 -0.188543664180071 0.349701179180341 -0.0811270030391932 U2 0.378653933498728 -0.143509968659035 0.297200370489939 U1 -0.0417515327449572 -0.165643857230681 -0.148468121225207 U2 -0.0260885872049157 -0.149796992730381 0.00168884004117915 U1 0.140863796893968 0.0152553598254137 0.0123779208043133 U2 0.0192365221229233 0.0852940102803828 0.195425113584117 U1 0.0840255101572703 0.0742213236888608 0.188973156026052 U2 -0.239595643172556 -0.106451647465668 0.0385879290658226 U1 -0.0498747184563939 0.235836921287434 -0.0330212836644824 U2 -0.285832247392378 0.101054110216611 -0.0150896037074588 U1 0.0426197960135832 -0.00225697996190169 -0.0726607789285438 U2 -0.0752972672355203 -0.239418804430054 -0.0246890769795514 U1 0.144823493695247 -0.114167699619334 0.204869973571744 U2 -0.0602896589817694 0.138358517766262 0.0549738311114168 U1 0.0988060070074516 0.146247256840896 0.274253248725265 U2 -0.0161343898262611 0.0103237213081388 0.0961437388030465 U1 0.0766176327472443 0.00669846872463283 0.0488512693334424 U2 0.0610342665914022 -0.0896593275795348 0.0989837436831601 U1 0.165743878077652 0.32090250461724 0.171762458688619 U2 0.275401978364215 0.147645073411417 -0.045733217141382 U1 0.186495355373394 -0.0146602339009988 -0.0607339901431941 U2 -0.0374935301124122 -0.0384937665189083 0.0106577506689027 U1 0.0107623954361374 -0.00676284226042594 -0.184313553314955 U2 0.210990575683076 0.0414968434460951 -0.0335477110307477 U1 0.0100274200401594 -0.0686183884148228 0.0165473881464112 U2 0.0277350281286883 0.175376447435043 -0.0977217392408114 U1 -0.164679840086261 0.19449479216781 0.0399845973190243 U2 -0.107483140252807 0.200089743314561 0.0214731076371182 U1 0.198186451184902 -0.0773833023715809 -0.30271155976616 U2 -0.033989510917672 -0.21131969177968 -0.0434069972531424 U1 0.190146026018893 -0.0602806941243245 0.0380706834238359 U2 -0.0372222162563304 -0.0168785985228517 -0.0913018507183377 U1 -0.0215069301373021 0.0535991636800629 -0.091748697011065 U2 -0.0368965631306541 0.0468588049877103 -0.0704830454725462 U1 -0.150086230147777 0.0481520889147001 0.0366263005183877 U2 0.199370117088258 0.162715500712776 -0.0813858486453436 U1 -0.0877292285637476 -0.0266040723729028 -0.210385857833659 U2 -0.59724840561003 -0.0491773680724058 0.0616407092441584 U1 -0.00619851006879354 0.0503629959393856 0.00618977828733786 U2 -0.139647228765577 0.261614908155005 0.407311333803916 U1 -0.193726772329059 -0.0860571507305811 0.0929067460356546 U2 0.117281107769549 -0.175786641687082 0.139324566993496 U1 -0.0593271192862994 0.15851812983011 0.0086701534715968 U2 -0.0453692698351324 -0.206158737968595 -0.0762608485529444 U1 0.117109020470307 -0.332283554668422 -0.0380881248828784 U2 -0.16292760427682 0.011158179793136 0.2456173237955 U1 0.307132702317398 0.0778220075602175 -0.0756104628797153 U2 0.0460823090797341 0.172646579765713 -0.177801847319376 U1 0.064190326571028 -0.0291521219821325 -0.111603736432216 U2 0.0437779463277643 0.0723987745087662 0.021633705640915 U1 0.0532362097900103 -0.0625940560869089 -0.274765250763646 U2 0.0297095444899108 -0.0492870729500283 -0.110656583516713 U1 -0.0252281344368557 0.00508915547097436 -0.0253783903401854 U2 -0.055364453133147 0.0118312094475649 -0.0814455670165376 U1 0.0655329796698854 -0.231854283648734 0.0639441145004262 U2 0.0030331161089451 0.06740951651184 0.240570884187665 U1 0.0839182262574331 0.103818644736014 0.00609837020143459 U2 0.110974207683974 -0.204895093736734 -0.0769222918194006 U1 -0.0689416648573151 0.127235553261171 -0.197510028439524 U2 -0.0164470727169715 -0.0140867454683013 0.0759721650572737 U1 -0.109013455296246 -0.157161531188023 0.0537526067511886 U2 -0.242895484100653 -3.99585130355032e-05 0.161118547144129 U1 -0.0254728386641576 0.100708222887738 -0.0636894360601489 U2 -0.0102884228484003 -0.00554421447534932 -0.277650333190082 U1 -0.191630175341357 -0.18216076002366 -0.208081960624159 U2 0.162936773998164 0.0904321049300052 -0.245415457694634 U1 0.0778159052310379 0.137161833000368 0.121342640043546 U2 0.159405283211138 0.23960392519507 -0.313388288200953 U1 0.129849864769771 -0.16755258699054 -0.271904614648829 U2 0.0412857600294497 -0.0943170524801107 -0.0460188380143472 U1 -0.178028439514398 0.0603980974075257 0.14090656894672 U2 -0.160596144050082 -0.207070871918742 -0.100348837139749 U1 -0.191013017744544 -0.0163498974807751 0.0432172219015033 U2 -0.016202314973363 -0.0229508351833623 0.104990717489179 U1 0.0745611818180518 -0.363710481308891 -0.286867774463081 U2 -0.0582281739459453 0.158869911066927 0.0632566763430466 U1 0.0872557181045834 -0.178354430155428 0.108797761605737 U2 0.0579266033432139 -0.178214793811375 0.0116909508187573 U1 -0.172234632159097 -0.118705069848504 -0.0446957085078255 U2 0.132230449475813 0.0655383292157041 -0.0828657756014948 U1 -0.147230583473073 0.221204319951018 0.272711331804441 U2 -0.0316582462592815 -0.0190685837826667 -0.110450859964657 U1 -0.106866964868458 0.00657534249826318 0.0771764259659377 U2 0.235869266451865 0.101364251320322 0.157982770182839 U1 0.0849862695039395 0.140699163427276 -0.0726160939020651 U2 0.0352831462774178 -0.148854854447946 -0.197195083066596 U1 -0.132069305503619 -0.10456029386663 0.0624776145664394 U2 -0.0218020728671515 -0.0308731880060024 0.0332095804805389 protomol/examples/methane_ethane_xxx/ethane_methane_300_Pure_Trappe.xsc0100644027616700000500000000124510237151526026064 0ustar pbrenne1dip# Type of integrator used integrator iSGVerlet # ProtoMol (built on Mar 14 2005 at 13:02:32) generated this XSC file by tmorrow. Time : 150000, step : 150000. # Molecule being transformed, it's old and new identities: molecule 246 oldtype 0 newtype 1 # Final Lambda and Lambda velocity: Lambda 0.005 LambdaVel -2.22423883322551e-45 # Final atom-thermostat value and velocity: Eta 0.238363813435297 EtaVel 0.000659890380352777 # Final volume-thermostat value and velocity: EtaVol 52.417082060686 EtaVolVel -0.0118492209801811 # Final volume and barostat velocity: Volume 28446.6204893042 EpsilonVel -0.000201446929350539 protomol/examples/methane_ethane_xxx/iSGMD_README0100644027616700000500000002046710237151526021362 0ustar pbrenne1dipREADME file for running isomolar semigrand ensemble molecular dynamics simulations (iSGMD) in ProtoMol2 ************** For an indepth description of the iSG ensemble and the equations of motion used by ProtoMol2, please see T.I. Morrow and E.J. Maginn, "Isomolar semigrand ensemble molecular dynamics: Development and application to liquid-liquid equilibria", Journal of Chemical Physics, 122, 054504 (2005). The iSG ensemble is a constant pressure, constant temperature, constant total # of molecules, and constant chemical potential difference ensemble. This ensemble is only valid for mixtures. One mixture component must be chosen to be the reference component. The chemical potential difference between component i and the reference component, Mu[i] - Mu[1], is commonly expressed using a quantity called the fugacity fraction. The chemical potential difference is related to the fugacity fraction by: Mu[i] - Mu[1] = k * T * ln (X[i] / X[1]) + ideal gas terms, where k is Boltzmann's constant, T is the temperature, X[i] is the fugacity fraction of component i, and the ideal gas terms are temperature-dependent constants. For an n-component system you must specify n fugacity fractions. The fugacity fractions can vary only between 0 and 1 and must sum to one. So for a 3 component system, for example, if X[1] = 0.3 and X[2] = 0.5, then X[3] must be equal to 0.2. In order to maintain the mixture at the specified fugacity fractions, the simulation will attempt to transform molecules between different identities using a dynamical transformation scheme. As the iSGMD simulation progresses you will see the mixture composition change with time in order to reach a chemical equilibrium with the specified fugacity fractions. The mixture's composition, volume, and energy are written to disk in the iSGProperties file as the simulation progresses. This information can be used in conjuction with Gibbs-Duhem integration or histogram reweighiting to determine phase coexistence. To run an iSGMD simulation in Protomol2, you will need to supply the following input files: 1) an xyz coordinate file for all the atoms in the system. This can be in either XYZ format or PDB format 2) either an initial temperature or an xyz velocity file for all the atoms in the system. The velocity file can be in either XYZ format or PDB format 3) a structure file in the Protein Structure Format (PSF). Please see the file ethane_methane_300_Pure_Trappe.psf for an example. VERY IMPORTANT! You must specify the identity of each molecule/atom with an integer number in the far right column of the !NATOM section. Number your molecule identities starting from zero (i.e. component 1 is 0, component 2 is 1, component 3 is 2, etc.). Below is an example of this: ******************* PSF 5 !NTITLE REMARKS FILENAME=ethane_methane_300.psf by tmorrow REMARKS ProtoMol (built on Mar 14 2005 at 12:49:33) REMARKS This .psf file was created by PSFWriter REMARKS It was not manually assembled REMARKS Time : 150000, step : 150000. 600 !NATOM 1 MTET 1 BTW U1 U1 0 15.0344 0 2 MTET 1 BTW U2 U2 0 15.0344 0 3 MTET 2 BTW U1 U1 0 15.0344 0 4 MTET 2 BTW U2 U2 0 15.0344 0 5 MTET 3 BTW U1 U1 0 16.0423 1 6 MTET 3 BTW U2 U2 0 15.0344 1 7 MTET 4 BTW U1 U1 0 15.0344 0 8 MTET 4 BTW U2 U2 0 15.0344 0 9 MTET 5 BTW U1 U1 0 15.0344 0 10 MTET 5 BTW U2 U2 0 15.0344 0 11 MTET 6 BTW U1 U1 0 16.0423 1 12 MTET 6 BTW U2 U2 0 15.0344 1 13 MTET 7 BTW U1 U1 0 15.0344 0 14 MTET 7 BTW U2 U2 0 15.0344 0 15 MTET 8 BTW U1 U1 0 16.0423 1 16 MTET 8 BTW U2 U2 0 15.0344 1 17 MTET 9 BTW U1 U1 0 15.0344 0 18 MTET 9 BTW U2 U2 0 15.0344 0 19 MTET 10 BTW U1 U1 0 15.0344 0 20 MTET 10 BTW U2 U2 0 15.0344 0 . . . ^ ^ ^ ^ ^ ^ ^ ^ ^ a b c d e f g h i a) Atom ID# b) molecule name (not very important) c) Molecule ID# d) residue name e) atom name f) atom force field type g) atomic charge (in this methane/ethane example none of the atoms are charged) h) atomic mass i) atom's identity, in this example ethane = 0 and methane = 1, so molecules 3, 6, and 8 are methane molecules and the rest are ethane molecules. ******************** 4) If you desire to start a new simulation using the output of an old simulation as the starting point, you can specify an XSC file. The XSC file contains the exact values of the simulation volume, volume velocity, thermostats and their velocities, chemostat and its velocity, and the ID# of the last molecule that was being transformed at the end of the simulation. The XSC file will be created for you by ProtoMol2 when an iSGMD simulation is finished, so you would normally not need to edit it yourself. 5) A ProtoMol2 configuration (.conf) file. Please see ethane_methane_300.conf for the details. 6) A forcefield file (PAR file). For each atom type in the PAR file you must specify one force parameter for each identity. This means that for a 3-component system, for example, you must supply 3 Lennard-Jones parameters for each atom type, 3 force constants for every bond type, etc. You must also specify the particular molecule identity to which each force parameter applies in the far right column of each section. Please see the example file ethane_methane.par, a section of which is shown below: **************** BONDS ! !V(bond) = Kb(b - b0)**2 ! !Kb: kcal/mole/A**2 !b0: A ! !atom type Kb b0 identity ! !-- single-topology bonds for iSGMD simulations !-- for the UA model U1 U2 500.0 1.540 0 ! UA alkane C-C bond -- ethane identity (TraPPe model) U1 U2 500.0 1.540 1 ! dummy-C bond -- methane identity (TraPPe model) . . . NONBONDED nbxmod 5 atom cdiel shift vatom vdistance vswitch - cutnb 14.0 ctofnb 12.0 ctonnb 10.0 eps 1.0 e14fac 1.0 wmin 1.5 !adm jr., 5/08/91, suggested cutoff scheme ! !V(Lennard-Jones) = Eps,i,j[(Rmin,i,j/ri,j)**12 - 2(Rmin,i,j/ri,j)**6] ! !epsilon: kcal/mole, Eps,i,j = sqrt(eps,i * eps,j) !Rmin/2: A, Rmin,i,j = Rmin/2,i + Rmin/2,j ! !atom ignored epsilon Rmin/2 ignored eps,1-4 Rmin/2,1-4 identity ! !-- single topology LJ parameters for iSGMD simulations !-- for the UA model U1 0.0 -0.19460 2.105 0.0 -0.0000 1.000 0 ! ethane methyl CH3 -- ethane identity (TraPPe model) U1 0.0 -0.29390 2.093 0.0 -0.0000 1.000 1 ! methane atom -- methane identity (TraPPe model) U2 0.0 -0.19460 2.105 0.0 -0.0000 1.000 0 ! ethane methyl CH3 -- ethane identity (TraPPe model) U2 0.0 -0.00000 2.105 0.0 -0.0000 1.000 1 ! dummy atom -- methane identity (TraPPe model) . . . In this example the bond is exactly the same in both the methane and ethane identities. Even though it doesn't change you still have to list the force constant twice, once for methane and a second time for ethane. In the Lennard-Jones section you can see that atom type U1 has ethane parameters for identity 0 and methane parameters for identity 1, while atom type U2 has ethane parameters for identity 0 and is a dummy atom (epsilon = 0) in identity 1. ******************** 7) A transformation pathway file (TRANS file). This file will define for the computer the exact pathway you want to use to accomplish the molecular transformation, including any intermediate states if necessary. A detailed description of how to fill out each section of the TRANS file is given in the file ethane_methane.trans, and will not be repeated here. protomol/examples/testset/0040755027616700000500000000000010237151527015331 5ustar pbrenne1dipprotomol/examples/testset/.cvsignore0100644027616700000500000000001710237151526017323 0ustar pbrenne1dip*energ* *out* protomol/examples/testset/README0100644027616700000500000000046410237151526016211 0ustar pbrenne1dip The testset folder in the examples directory is used to compare and contrast the output results of two differing Protomol executables. This is most useful if you are interested in quickly analyzing a change over a range of possible simulation configurations. Last Update Summer 2004 - Author: Paul Brennerprotomol/examples/testset/hmc.Bsp_PME.pb.conf0100644027616700000500000001133610237151526020573 0ustar pbrenne1dip# ------------------------------------------------------------------------- # # bpti. # # ------------------------------------------------------------------------- # # ------------------------------------------------------------------------- # # Number of simulation steps. # # ------------------------------------------------------------------------- # numsteps 20 outputfreq 1 # ------------------------------------------------------------------------- # # Files describing the molecule. # # ------------------------------------------------------------------------- # #posfile bpti.pdb #parfile bpti.par #psffile bpti.psf # ------------------------------------------------------------------------- # # Save final positions in pdb format. # # ------------------------------------------------------------------------- # #dofinpdbposfile false #finpdbposfile bpti.fin.pos.hmc.pdb # ------------------------------------------------------------------------- # # Save positions in dcd files. # # ------------------------------------------------------------------------- # #dodcdfile false #dcdoutputfreq 10 #dcdfile bpti.hmc.dcd # ------------------------------------------------------------------------- # # Save forces in xyz files. # # ------------------------------------------------------------------------- # #doxyzforcesfile false #xyzforcesoutputfreq 1 #xyzforcesfile bpti.forces.hmc.xyz # ------------------------------------------------------------------------- # # Save energies in one file. # # ------------------------------------------------------------------------- # doallenergiesfile true allenergiesfile hmc.Bsp_PME.pb.energies # ------------------------------------------------------------------------- # # Depends on the par file. # # ------------------------------------------------------------------------- # usecharmm28parfile yes # ------------------------------------------------------------------------- # # Uncomment to specify a particular seed, otherwise seed is random. # # ------------------------------------------------------------------------- # # seed 13579 temperature 300 firststep 0 # ------------------------------------------------------------------------- # # Remove COM motion. # # ------------------------------------------------------------------------- # commotion true # ------------------------------------------------------------------------- # # Boundary conditions are either normal, periodic or spherical. # # ------------------------------------------------------------------------- # boundaryconditions periodic # ------------------------------------------------------------------------- # # Currently, the only cellmanager is cubic. # # ------------------------------------------------------------------------- # cellmanager cubic # ------------------------------------------------------------------------- # # Depends on the molecule being simulated. # # ------------------------------------------------------------------------- # cellsize 10 # ------------------------------------------------------------------------- # # Describe integrators here. # # ------------------------------------------------------------------------- # Integrator { # --------------------------------------------------------------------- # # HMC/SHMC. # # --------------------------------------------------------------------- # level 1 HybridMC { temperature 300 cyclelength 20 } level 0 Leapfrog { timestep 0.5 force improper, dihedral, bond, angle force LennardJones -algorithm NonbondedCutoff -cutoff 8 -switchingFunction C2 -switchon 4 force Coulomb -algorithm PMEwald -real -interpolation BSpline -reciprocal -correction -interpolation BSpline -gridsize 36 32 36 -accuracy 1e-5 -cutoff 10 } # End leapfrog. } # End integrator protomol/examples/testset/hmc.std.conf0100644027616700000500000000136010237151526017534 0ustar pbrenne1diptemperature 300.0 firststep 0 numsteps 100 cellsize 6.5 outputfreq 1 seed 1234 #posfile alanin.pdb #psffile alanin.psf #parfile alanin.par usecharmm28parfile no allenergiesfile hmc.std.energies boundaryConditions periodic cellManager Cubic Integrator { level 1 HybridMC { temperature 300 cyclelength 20 } level 0 Leapfrog { timestep 2 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -switchon 0.1 -cutoff 6.5 force Coulomb -algorithm NonbondedCutoff -switchingFunction C1 -cutoff 6.5 } } protomol/examples/testset/lf.Ewald.pb.conf0100644027616700000500000000134010237151526020226 0ustar pbrenne1dipfirststep 0 numsteps 10 cellsize 10 outputfreq 10 restartfreq 1000 temperature 0 seed 1234 #posfile bpti.pdb #psffile bpti.psf #parfile bpti.par allenergiesfile lf.Ewald.pb.energies boundaryConditions periodic #cellBasisVector1 63.0 0.0 0.0 #cellBasisVector2 0.0 50.0 0.0 #cellBasisVector3 0.0 0.0 50.0 #cellOrigin 0.0 0.0 0.0 cellManager Cubic Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones -switchingFunction C2 -algorithm NonbondedCutoff -switchon 0.1 -cutoff 10.0 force time Coulomb -algorithm FullEwald -correction -real -reciprocal -accuracy 1e-18 } } protomol/examples/testset/lf.MG.conf0100644027616700000500000000157710237151526017111 0ustar pbrenne1dipfirststep 0 numsteps 10 cellsize 5 outputfreq 10 restartfreq 1000 temperature 0 seed 1234 #posfile bpti.pdb #psffile bpti.psf #parfile bpti.par allenergiesfile lf.MG.energies boundaryConditions Normal #cellBasisVector1 63.0 0.0 0.0 #cellBasisVector2 0.0 50.0 0.0 #cellBasisVector3 0.0 0.0 50.0 #cellOrigin 0.0 0.0 0.0 cellManager Cubic Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones -switchingFunction C2 -algorithm NonbondedCutoff -switchon 0.1 -cutoff 10.0 force compare time Coulomb -algorithm MultiGrid -interpolation Hermite -kernel C3 -levels 2 -s 10 -order 6 -ratio 2 -h 3 3 3 -origin 0 0 0 force compare time Coulomb -algorithm NonbondedSimpleFull } } protomol/examples/testset/lf.PME.pb.conf0100644027616700000500000000170510237151527017621 0ustar pbrenne1dipfirststep 0 numsteps 10 cellsize 5.5 outputfreq 10 restartfreq 1000 temperature 0 seed 1234 #posfile bpti.pdb #psffile bpti.psf #parfile bpti.par allenergiesfile lf.PME.pb.energies boundaryConditions periodic #cellBasisVector1 63.0 0.0 0.0 #cellBasisVector2 0.0 50.0 0.0 #cellBasisVector3 0.0 0.0 50.0 #cellOrigin 0.0 0.0 0.0 cellManager Cubic Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -switchon 0.1 -cutoff 10.0 force compare time Coulomb -algorithm PMEwald -real -reciprocal -correction -interpolation BSpline -accuracy 1e-8 -gridsize 60 48 48 -order 8 -cutoff 11 force compare time Coulomb -algorithm FullEwald -correction -real -reciprocal -accuracy 1e-18 } } protomol/examples/testset/lf.std.conf0100644027616700000500000000112410237151527017365 0ustar pbrenne1diptemperature 0 firststep 0 numsteps 10 cellsize 6.5 outputfreq 1 restartfreq 1000 seed 1234 #posfile alanin.pdb #psffile alanin.psf #parfile alanin.par usecharmm28parfile no allenergiesfile lf.std.energies boundaryConditions Normal cellManager Cubic Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones Coulomb -algorithm NonbondedCutoff -switchingFunction C2 -switchingFunction Shift -cutoff 6.5 -cutoff 6.5 -switchon 0.1 } } protomol/examples/testset/lf.std.pb.conf0100644027616700000500000000116010237151527017765 0ustar pbrenne1diptemperature 300.0 firststep 0 numsteps 100 cellsize 6.5 outputfreq 1 seed 1234 #posfile alanin.pdb #psffile alanin.psf #parfile alanin.par usecharmm28parfile no allenergiesfile lf.std.pb.energies boundaryConditions Periodic cellManager Cubic Integrator { level 0 Leapfrog { timestep 1 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -switchon 0.1 -cutoff 6.5 force Coulomb -algorithm NonbondedCutoff -switchingFunction C1 -cutoff 6.5 } }protomol/examples/testset/shmc.Bsp_PME.pb.conf0100644027616700000500000001132210237151527020752 0ustar pbrenne1dip# ------------------------------------------------------------------------- # # bpti. # # ------------------------------------------------------------------------- # # ------------------------------------------------------------------------- # # Number of simulation steps. # # ------------------------------------------------------------------------- # numsteps 20 outputfreq 1 # ------------------------------------------------------------------------- # # Files describing the molecule. # # ------------------------------------------------------------------------- # posfile bpti.pdb parfile bpti.par psffile bpti.psf # ------------------------------------------------------------------------- # # Save final positions in pdb format. # # ------------------------------------------------------------------------- # dofinpdbposfile false finpdbposfile bpti.fin.pos.shmc.pdb # ------------------------------------------------------------------------- # # Save positions in dcd files. # # ------------------------------------------------------------------------- # dodcdfile false dcdoutputfreq 10 dcdfile bpti.shmc.dcd # ------------------------------------------------------------------------- # # Save forces in xyz files. # # ------------------------------------------------------------------------- # doxyzforcesfile false xyzforcesoutputfreq 1 xyzforcesfile bpti.forces.shmc.xyz # ------------------------------------------------------------------------- # # Save energies in one file. # # ------------------------------------------------------------------------- # doallenergiesfile true allenergiesfile bpti.energies.shmc # ------------------------------------------------------------------------- # # Depends on the par file. # # ------------------------------------------------------------------------- # usecharmm28parfile yes # ------------------------------------------------------------------------- # # Uncomment to specify a particular seed, otherwise seed is random. # # ------------------------------------------------------------------------- # # seed 13579 temperature 300 firststep 0 # ------------------------------------------------------------------------- # # Remove COM motion. # # ------------------------------------------------------------------------- # commotion true # ------------------------------------------------------------------------- # # Boundary conditions are either normal, periodic or spherical. # # ------------------------------------------------------------------------- # boundaryconditions periodic # ------------------------------------------------------------------------- # # Currently, the only cellmanager is cubic. # # ------------------------------------------------------------------------- # cellmanager cubic # ------------------------------------------------------------------------- # # Depends on the molecule being simulated. # # ------------------------------------------------------------------------- # cellsize 10 # ------------------------------------------------------------------------- # # Describe integrators here. # # ------------------------------------------------------------------------- # Integrator { # --------------------------------------------------------------------- # # HMC/SHMC. # # --------------------------------------------------------------------- # level 0 ShadowHMC { temperature 300 cyclelength 20 timestep 1.5 order 8 c 17 force improper, dihedral, bond, angle force LennardJones -algorithm NonbondedCutoff -cutoff 8 -switchingFunction C2 -switchon 4 force Coulomb -algorithm PMEwald -real -interpolation BSpline -reciprocal -correction -interpolation BSpline -gridsize 36 32 36 -accuracy 1e-5 -cutoff 10 } # End leapfrog. } # End integrator protomol/examples/testset/shmc.std.pb.conf0100644027616700000500000000134710237151527020325 0ustar pbrenne1diptemperature 300.0 firststep 0 numsteps 100 cellsize 6.5 outputfreq 1 seed 1234 #posfile alanin.pdb #psffile alanin.psf #parfile alanin.par usecharmm28parfile no allenergiesfile shmc.std.pb.energies boundaryConditions periodic cellManager Cubic Integrator { level 0 ShadowHMC { temperature 300 cyclelength 20 timestep 1 order 8 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -switchon 0.1 -cutoff 6.5 force Coulomb -algorithm NonbondedCutoff -switchingFunction C1 -cutoff 6.5 } } protomol/examples/testset/slf.std.pb.conf0100644027616700000500000000123510237151527020153 0ustar pbrenne1diptemperature 300.0 firststep 0 numsteps 100 cellsize 6.5 outputfreq 1 restartfreq 1000 seed 1234 #posfile alanin.pdb #psffile alanin.psf #parfile alanin.par usecharmm28parfile no allenergiesfile slf.std.pb.energies boundaryConditions periodic cellManager Cubic Integrator { level 0 ShadowLeapfrog { timestep 1 order 8 force Improper force Dihedral force Bond force Angle force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -switchon 0.1 -cutoff 6.5 force Coulomb -algorithm NonbondedCutoff -switchingFunction C1 -cutoff 6.5 } } protomol/examples/testset/test.tcsh0100755027616700000500000000315410237151527017176 0ustar pbrenne1dip#!/bin/tcsh #--------- # TCSH SHELL SCRIPT TO DIFFERENTIATE OUTPUT BETWEEN TWO PROTOMOL EXECUTABLES # # Note: this script requires that you have links to protomol1 and protomol2 # in your bin file with the names as specified by program1 and program2 # below #--------- set program1 = "protomol1" set program2 = "protomol2" #set program3 = "namd" set workdir = "`pwd`" set examdir = "${workdir}/.." set atoms = ("alanin") set configs = ( "lf.Ewald.pb.conf" "lf.MG.conf" "lf.PME.pb.conf" "lf.std.conf" "lf.std.pb.conf" "slf.std.pb.conf" "hmc.std.conf" "hmc.Bsp_PME.pb.conf" "shmc.std.pb.conf" "shmc.Bsp_PME.pb.conf") #---------- # Runs the tests #---------- foreach f ($atoms) # Atomic system specific parameters if ("$f" == "alanin") then set inputdir = "${examdir}/alanin_66" set steps = 10 endif if ("$f" == "bpti") then set inputdir = "${examdir}/bpti_water_14281" set steps = 10 endif mkdir $f cd ${f} foreach w ($program1 $program2) mkdir $w cd ${w} touch ${f}_testlog.txt foreach c ($configs) cp ${workdir}/$c $c echo "Starting test configuration: $c for atomic system: $f" >> ${f}_testlog.txt ($w $c --posfile ${inputdir}/$f.pdb --temperature 0 --numsteps $steps --psffile ${inputdir}/$f.psf --parfile ${inputdir}/$f.par) >>& ${f}_testlog.txt echo End of Run '\n\n\n\n'Start of Run >>& ${f}_testlog.txt end #----------- # Analyzes the results #----------- # Identifies Fatal Errors touch ${f}_fatalerrors.txt grep "Starting \|Fatal Error" ${f}_testlog.txt >> ${f}_fatalerrors.txt cd .. end end protomol/examples/water_216/0040755027616700000500000000000010237151527015350 5ustar pbrenne1dipprotomol/examples/water_216/.cvsignore0100644027616700000500000000001710237151527017343 0ustar pbrenne1dip*energ* *out* protomol/examples/water_216/water216.conf0100644027616700000500000000314310237151527017570 0ustar pbrenne1dip# ProtoMol configuration file - NPT simulation # timestep parameters firststep 0 numsteps 10000 #Simulation input files velfile water216.new.vel.pdb posfile water216.new.pos.pdb psffile water216.psf # forcefield parfile water216.par # Simulation cell dimensions cellbasisvector1 18.4244 0 0 cellbasisvector2 0 18.4244 0 cellbasisvector3 0 0 18.4244 cellorigin 0 0 0 #pairlist size cellManager Cubic cellsize 9.0 # outputfiles outputfreq 100 finpdbposfile water216.out.coor.pdb finpdbvelfile water216.out.vel.pdb allenergiesfile water216.out.energies #boundaryConditions boundaryConditions Periodic Integrator { level 0 NPTVerlet{ timestep 1 # target temperature temperature 300.0 #K # target pressure pressure 1.0 #bar # thermostat frequency [1/fs] # NOTE: The smaller omegaTo is, the less temperature control omegaTo 0.005 # volume thermostat frequency [1/fs] # NOTE: The smaller omegaTv is, the less temperature control omegaTv 0.002 # barostat time period [fs] # NOTE: The larger tauP is, the less pressure control tauP 500.0 # bonded forces force Improper force Dihedral force Bond force Angle # van der Waals force force LennardJones -algorithm NonbondedCutoff -switchingFunction C2 -switchon 8.0 -cutoff 9.0 # electrostatics force Coulomb -algorithm PMEwald -real -reciprocal -correction -interpolation BSpline -gridsize 32 32 32 -cutoff 9.0 } } protomol/examples/water_216/water216.coor.pdb0100644027616700000500000014653710237151527020370 0ustar pbrenne1dipREMARK This PDB file was generated from PdbWriter REMARK Not manually assembled ATOM 1 SPCO H2O 1 -6.1905 -0.2154 -8.4338 1 0 ATOM 2 SPCH H2O 1 -5.6097 0.06962 9.13579 1 0 ATOM 3 SPCH H2O 1 -5.6447 -0.0229 -7.5882 1 0 ATOM 4 SPCO H2O 2 6.56219 -4.6460 -4.1436 1 0 ATOM 5 SPCH H2O 2 6.03741 -4.0329 -4.7182 1 0 ATOM 6 SPCH H2O 2 6.96316 -4.0394 -3.3847 1 0 ATOM 7 SPCO H2O 3 8.54217 -5.3956 -0.5523 1 0 ATOM 8 SPCH H2O 3 7.70932 -5.5613 -1.0950 1 0 ATOM 9 SPCH H2O 3 8.80841 -6.3593 -0.4136 1 0 ATOM 10 SPCO H2O 4 7.69714 6.89652 -2.4003 1 0 ATOM 11 SPCH H2O 4 8.13291 7.6269 -3.0108 1 0 ATOM 12 SPCH H2O 4 7.11898 6.29575 -2.9661 1 0 ATOM 13 SPCO H2O 5 2.35149 2.21449 -2.7469 1 0 ATOM 14 SPCH H2O 5 1.33357 2.17619 -2.9552 1 0 ATOM 15 SPCH H2O 5 2.80005 3.0949 -3.1150 1 0 ATOM 16 SPCO H2O 6 3.61111 -5.3331 4.45103 1 0 ATOM 17 SPCH H2O 6 3.83563 -6.1812 4.93146 1 0 ATOM 18 SPCH H2O 6 4.49013 -5.1595 3.91928 1 0 ATOM 19 SPCO H2O 7 2.55119 -1.8884 -4.4614 1 0 ATOM 20 SPCH H2O 7 2.15555 -1.3764 -5.1810 1 0 ATOM 21 SPCH H2O 7 2.12338 -2.8054 -4.5248 1 0 ATOM 22 SPCO H2O 8 1.25959 -6.9070 -6.5708 1 0 ATOM 23 SPCH H2O 8 1.82061 -6.9321 -7.4173 1 0 ATOM 24 SPCH H2O 8 0.29997 -7.0031 -6.9094 1 0 ATOM 25 SPCO H2O 9 6.28044 7.66065 3.74676 1 0 ATOM 26 SPCH H2O 9 6.42951 8.60788 4.04443 1 0 ATOM 27 SPCH H2O 9 5.88316 7.16091 4.53531 1 0 ATOM 28 SPCO H2O 10 -2.5277 6.92713 -8.9789 1 0 ATOM 29 SPCH H2O 10 -1.8467 7.32004 -8.3595 1 0 ATOM 30 SPCH H2O 10 -2.1891 7.09712 8.39971 1 0 ATOM 31 SPCO H2O 11 5.94645 5.09848 -3.9808 1 0 ATOM 32 SPCH H2O 11 5.57047 6.01331 -3.8719 1 0 ATOM 33 SPCH H2O 11 6.24076 4.99593 -4.9397 1 0 ATOM 34 SPCO H2O 12 2.42178 -3.1430 -9.1086 1 0 ATOM 35 SPCH H2O 12 2.7404 -3.6676 8.42799 1 0 ATOM 36 SPCH H2O 12 1.46424 -2.8136 8.99356 1 0 ATOM 37 SPCO H2O 13 -1.9060 7.34356 -0.1329 1 0 ATOM 38 SPCH H2O 13 -1.7339 6.8943 -1.0628 1 0 ATOM 39 SPCH H2O 13 -0.9296 7.55707 0.17698 1 0 ATOM 40 SPCO H2O 14 -7.9346 -6.1269 1.5273 1 0 ATOM 41 SPCH H2O 14 -7.3486 -6.3552 2.32823 1 0 ATOM 42 SPCH H2O 14 -8.7768 -6.6418 1.70095 1 0 ATOM 43 SPCO H2O 15 -1.4758 -0.4208 -8.9399 1 0 ATOM 44 SPCH H2O 15 -0.9683 -0.1351 -8.1148 1 0 ATOM 45 SPCH H2O 15 -1.7549 0.44420 8.94549 1 0 ATOM 46 SPCO H2O 16 -6.0036 -1.1942 2.96001 1 0 ATOM 47 SPCH H2O 16 -6.3363 -1.0960 3.92761 1 0 ATOM 48 SPCH H2O 16 -6.6945 -1.8455 2.56897 1 0 ATOM 49 SPCO H2O 17 3.49635 5.72896 -9.1575 1 0 ATOM 50 SPCH H2O 17 3.92802 6.3528 -8.5029 1 0 ATOM 51 SPCH H2O 17 3.95768 4.81014 -8.9734 1 0 ATOM 52 SPCO H2O 18 5.16867 7.48502 -4.4229 1 0 ATOM 53 SPCH H2O 18 4.22713 7.04904 -4.3752 1 0 ATOM 54 SPCH H2O 18 5.19144 8.30187 -3.8539 1 0 ATOM 55 SPCO H2O 19 4.62103 -6.8883 -5.0281 1 0 ATOM 56 SPCH H2O 19 3.8471 -7.1228 -4.4521 1 0 ATOM 57 SPCH H2O 19 4.25625 -6.8257 -5.9610 1 0 ATOM 58 SPCO H2O 20 -5.7019 -4.5572 -8.8874 1 0 ATOM 59 SPCH H2O 20 -5.3637 -3.6083 -8.9671 1 0 ATOM 60 SPCH H2O 20 -6.2915 -4.7159 8.67765 1 0 ATOM 61 SPCO H2O 21 6.41685 -6.4940 -2.0136 1 0 ATOM 62 SPCH H2O 21 6.60184 -6.1724 -2.9664 1 0 ATOM 63 SPCH H2O 21 6.00313 -7.4630 -2.1432 1 0 ATOM 64 SPCO H2O 22 3.41615 7.0087 6.813 1 0 ATOM 65 SPCH H2O 22 3.48993 6.55241 7.71111 1 0 ATOM 66 SPCH H2O 22 3.06084 6.31375 6.10861 1 0 ATOM 67 SPCO H2O 23 2.84545 -4.9248 -2.4022 1 0 ATOM 68 SPCH H2O 23 2.43626 -4.0355 -2.1772 1 0 ATOM 69 SPCH H2O 23 3.81657 -4.7813 -2.6948 1 0 ATOM 70 SPCO H2O 24 8.70334 -2.8105 0.18220 1 0 ATOM 71 SPCH H2O 24 8.82495 -3.7813 -0.1155 1 0 ATOM 72 SPCH H2O 24 -8.9281 -2.5643 0.85136 1 0 ATOM 73 SPCO H2O 25 -7.8947 -2.3805 -3.4287 1 0 ATOM 74 SPCH H2O 25 -7.3236 -3.1446 -3.6785 1 0 ATOM 75 SPCH H2O 25 -7.7610 -1.6907 -4.2331 1 0 ATOM 76 SPCO H2O 26 5.06535 -1.8840 8.12466 1 0 ATOM 77 SPCH H2O 26 4.8821 -1.1249 7.46248 1 0 ATOM 78 SPCH H2O 26 4.18958 -2.3753 8.31531 1 0 ATOM 79 SPCO H2O 27 -3.4593 -2.2866 9.04051 1 0 ATOM 80 SPCH H2O 27 -2.5394 -1.9520 -9.1648 1 0 ATOM 81 SPCH H2O 27 -3.5788 -2.5698 8.11771 1 0 ATOM 82 SPCO H2O 28 -0.5109 8.08189 -7.5044 1 0 ATOM 83 SPCH H2O 28 -0.1063 7.35369 -8.1010 1 0 ATOM 84 SPCH H2O 28 -0.6110 7.60326 -6.6195 1 0 ATOM 85 SPCO H2O 29 -4.4140 -5.5516 -6.4037 1 0 ATOM 86 SPCH H2O 29 -5.0754 -5.0932 -7.0740 1 0 ATOM 87 SPCH H2O 29 -3.5399 -5.0696 -6.4890 1 0 ATOM 88 SPCO H2O 30 -8.0440 -2.6945 7.58985 1 0 ATOM 89 SPCH H2O 30 -9.0142 -2.5972 7.90313 1 0 ATOM 90 SPCH H2O 30 -7.9122 -3.6918 7.66005 1 0 ATOM 91 SPCO H2O 31 -1.4933 1.63737 7.8777 1 0 ATOM 92 SPCH H2O 31 -2.2560 1.64387 7.20462 1 0 ATOM 93 SPCH H2O 31 -1.1031 2.57275 7.84973 1 0 ATOM 94 SPCO H2O 32 0.81346 0.00576 6.12112 1 0 ATOM 95 SPCH H2O 32 0.83738 0.90625 6.621 1 0 ATOM 96 SPCH H2O 32 1.14489 0.21864 5.1686 1 0 ATOM 97 SPCO H2O 33 0.02311 -7.0446 1.56705 1 0 ATOM 98 SPCH H2O 33 -0.4631 -6.9993 0.64751 1 0 ATOM 99 SPCH H2O 33 0.87133 -7.5241 1.43519 1 0 ATOM 100 SPCO H2O 34 -7.1860 2.95761 7.03688 1 0 ATOM 101 SPCH H2O 34 -6.3503 2.52894 7.37539 1 0 ATOM 102 SPCH H2O 34 -7.7072 2.26255 6.46256 1 0 ATOM 103 SPCO H2O 35 -3.6955 0.06960 3.35888 1 0 ATOM 104 SPCH H2O 35 -4.4725 -0.4678 3.06937 1 0 ATOM 105 SPCH H2O 35 -4.0349 1.04814 3.15547 1 0 ATOM 106 SPCO H2O 36 2.97797 -4.6351 6.94599 1 0 ATOM 107 SPCH H2O 36 3.28116 -4.7556 6.0046 1 0 ATOM 108 SPCH H2O 36 2.96316 -5.5697 7.31481 1 0 ATOM 109 SPCO H2O 37 -2.8258 -3.5627 1.77277 1 0 ATOM 110 SPCH H2O 37 -2.8700 -3.0800 0.86086 1 0 ATOM 111 SPCH H2O 37 -3.7454 -3.9274 1.79907 1 0 ATOM 112 SPCO H2O 38 1.02071 6.21384 -8.7313 1 0 ATOM 113 SPCH H2O 38 1.99682 6.12061 -9.0541 1 0 ATOM 114 SPCH H2O 38 0.61271 6.04551 8.71558 1 0 ATOM 115 SPCO H2O 39 4.90459 0.80885 -5.1397 1 0 ATOM 116 SPCH H2O 39 4.06382 0.94536 -5.6508 1 0 ATOM 117 SPCH H2O 39 4.64166 0.73783 -4.1909 1 0 ATOM 118 SPCO H2O 40 -1.5285 -8.5352 7.54147 1 0 ATOM 119 SPCH H2O 40 -0.6269 -8.2670 7.94056 1 0 ATOM 120 SPCH H2O 40 -2.1447 -7.7681 7.89011 1 0 ATOM 121 SPCO H2O 41 -5.4750 2.30414 -3.3610 1 0 ATOM 122 SPCH H2O 41 -4.5854 2.433 -2.8055 1 0 ATOM 123 SPCH H2O 41 -5.8885 1.39438 -3.0822 1 0 ATOM 124 SPCO H2O 42 5.00622 0.79597 -8.1210 1 0 ATOM 125 SPCH H2O 42 4.076 0.55007 -7.7864 1 0 ATOM 126 SPCH H2O 42 5.1439 0.75094 -9.1301 1 0 ATOM 127 SPCO H2O 43 8.1825 -2.0542 3.3747 1 0 ATOM 128 SPCH H2O 43 7.31187 -1.5579 3.12137 1 0 ATOM 129 SPCH H2O 43 7.91872 -2.4061 4.31296 1 0 ATOM 130 SPCO H2O 44 -5.4231 -1.7247 -5.7761 1 0 ATOM 131 SPCH H2O 44 -6.3047 -1.8673 -6.1517 1 0 ATOM 132 SPCH H2O 44 -5.4235 -0.8795 -5.2043 1 0 ATOM 133 SPCO H2O 45 7.56748 0.43048 -7.4830 1 0 ATOM 134 SPCH H2O 45 8.27301 0.27846 -8.2450 1 0 ATOM 135 SPCH H2O 45 6.63325 0.36627 -7.9712 1 0 ATOM 136 SPCO H2O 46 -4.9876 8.61385 3.67244 1 0 ATOM 137 SPCH H2O 46 -4.7248 9.0141 4.56074 1 0 ATOM 138 SPCH H2O 46 -4.2679 7.98062 3.48099 1 0 ATOM 139 SPCO H2O 47 3.16065 2.05169 2.01996 1 0 ATOM 140 SPCH H2O 47 2.8777 1.48437 2.81322 1 0 ATOM 141 SPCH H2O 47 3.11398 1.42179 1.22274 1 0 ATOM 142 SPCO H2O 48 -7.5152 -7.3565 5.08255 1 0 ATOM 143 SPCH H2O 48 -7.0709 -7.8136 5.9586 1 0 ATOM 144 SPCH H2O 48 -8.1934 -8.1076 4.72737 1 0 ATOM 145 SPCO H2O 49 -1.8114 -0.0913 -4.7029 1 0 ATOM 146 SPCH H2O 49 -2.2980 0.69697 -5.0695 1 0 ATOM 147 SPCH H2O 49 -2.1624 -0.9339 -5.1401 1 0 ATOM 148 SPCO H2O 50 4.58448 -6.9915 0.26611 1 0 ATOM 149 SPCH H2O 50 5.19093 -6.7934 -0.4869 1 0 ATOM 150 SPCH H2O 50 4.3765 -6.1377 0.75275 1 0 ATOM 151 SPCO H2O 51 5.66583 -4.8269 -8.4429 1 0 ATOM 152 SPCH H2O 51 5.57338 -5.5133 9.17142 1 0 ATOM 153 SPCH H2O 51 6.60589 -4.7047 -8.1180 1 0 ATOM 154 SPCO H2O 52 7.33654 -0.4042 -5.1398 1 0 ATOM 155 SPCH H2O 52 6.38337 -0.2300 -4.8742 1 0 ATOM 156 SPCH H2O 52 7.30458 -0.0532 -6.1194 1 0 ATOM 157 SPCO H2O 53 8.36023 -4.1316 -8.1744 1 0 ATOM 158 SPCH H2O 53 8.11807 -3.7434 -7.2803 1 0 ATOM 159 SPCH H2O 53 8.07072 -3.4924 -8.9040 1 0 ATOM 160 SPCO H2O 54 5.8281 1.13728 1.30013 1 0 ATOM 161 SPCH H2O 54 6.6102 1.67043 0.86578 1 0 ATOM 162 SPCH H2O 54 5.07332 1.32647 0.66770 1 0 ATOM 163 SPCO H2O 55 -8.0588 5.2476 -7.3928 1 0 ATOM 164 SPCH H2O 55 -8.5040 4.94364 -6.5022 1 0 ATOM 165 SPCH H2O 55 -8.3613 4.5845 -8.1229 1 0 ATOM 166 SPCO H2O 56 7.06396 -7.3817 -5.7672 1 0 ATOM 167 SPCH H2O 56 7.54317 -6.4901 -5.5857 1 0 ATOM 168 SPCH H2O 56 6.08662 -7.2060 -5.5624 1 0 ATOM 169 SPCO H2O 57 3.45564 -1.2945 4.40788 1 0 ATOM 170 SPCH H2O 57 3.13384 -1.9904 5.05969 1 0 ATOM 171 SPCH H2O 57 2.87619 -0.4484 4.38392 1 0 ATOM 172 SPCO H2O 58 4.68514 4.21455 2.55547 1 0 ATOM 173 SPCH H2O 58 5.28307 4.41518 1.75984 1 0 ATOM 174 SPCH H2O 58 4.12595 3.44418 2.24512 1 0 ATOM 175 SPCO H2O 59 6.9636 2.83402 -6.2251 1 0 ATOM 176 SPCH H2O 59 7.17158 2.01314 -6.7414 1 0 ATOM 177 SPCH H2O 59 6.75371 2.4862 -5.2753 1 0 ATOM 178 SPCO H2O 60 3.08497 -7.3706 7.94073 1 0 ATOM 179 SPCH H2O 60 2.70446 -8.1924 7.48551 1 0 ATOM 180 SPCH H2O 60 3.57185 -7.6357 8.77264 1 0 ATOM 181 SPCO H2O 61 -4.3767 2.54515 2.51935 1 0 ATOM 182 SPCH H2O 61 -5.2681 3.02791 2.57285 1 0 ATOM 183 SPCH H2O 61 -3.6746 3.18843 2.89949 1 0 ATOM 184 SPCO H2O 62 -3.3266 2.322 6.19943 1 0 ATOM 185 SPCH H2O 62 -2.9089 3.20324 6.50689 1 0 ATOM 186 SPCH H2O 62 -3.6002 2.42654 5.24084 1 0 ATOM 187 SPCO H2O 63 -0.3207 -7.8885 -2.4985 1 0 ATOM 188 SPCH H2O 63 -0.8811 -7.3478 -1.8327 1 0 ATOM 189 SPCH H2O 63 0.53480 -7.4033 -2.7786 1 0 ATOM 190 SPCO H2O 64 -4.6992 4.48976 -1.0006 1 0 ATOM 191 SPCH H2O 64 -4.7921 5.18117 -1.7764 1 0 ATOM 192 SPCH H2O 64 -4.9491 5.00129 -0.1954 1 0 ATOM 193 SPCO H2O 65 6.8977 -2.7778 5.56404 1 0 ATOM 194 SPCH H2O 65 7.2008 -3.7025 5.41178 1 0 ATOM 195 SPCH H2O 65 6.02083 -2.5927 5.09371 1 0 ATOM 196 SPCO H2O 66 5.75258 -3.1751 1.1409 1 0 ATOM 197 SPCH H2O 66 6.69029 -3.3337 0.73273 1 0 ATOM 198 SPCH H2O 66 5.93043 -2.3804 1.74193 1 0 ATOM 199 SPCO H2O 67 4.95551 -7.1616 6.09985 1 0 ATOM 200 SPCH H2O 67 5.28655 -8.1539 6.15603 1 0 ATOM 201 SPCH H2O 67 4.05054 -7.3459 6.5517 1 0 ATOM 202 SPCO H2O 68 3.05232 8.07074 -7.3614 1 0 ATOM 203 SPCH H2O 68 2.62791 8.34431 -6.4491 1 0 ATOM 204 SPCH H2O 68 2.28714 7.62287 -7.7992 1 0 ATOM 205 SPCO H2O 69 2.42962 -9.1695 5.90387 1 0 ATOM 206 SPCH H2O 69 2.82809 8.30167 6.20753 1 0 ATOM 207 SPCH H2O 69 2.64714 -9.0873 4.92571 1 0 ATOM 208 SPCO H2O 70 -0.2244 -5.0351 4.65039 1 0 ATOM 209 SPCH H2O 70 0.60007 -5.4076 4.23414 1 0 ATOM 210 SPCH H2O 70 0.00378 -3.9877 4.65397 1 0 ATOM 211 SPCO H2O 71 -0.2461 2.3176 -3.5640 1 0 ATOM 212 SPCH H2O 71 -0.9625 2.91362 -3.9338 1 0 ATOM 213 SPCH H2O 71 -0.5509 1.37933 -3.8590 1 0 ATOM 214 SPCO H2O 72 0.76220 0.09279 -0.6930 1 0 ATOM 215 SPCH H2O 72 -0.1254 -0.1167 -1.1641 1 0 ATOM 216 SPCH H2O 72 1.55023 -0.0423 -1.3203 1 0 ATOM 217 SPCO H2O 73 0.94570 3.30156 3.46174 1 0 ATOM 218 SPCH H2O 73 1.63825 2.80607 2.97071 1 0 ATOM 219 SPCH H2O 73 0.17282 2.59832 3.50553 1 0 ATOM 220 SPCO H2O 74 -7.2201 9.02059 -8.4481 1 0 ATOM 221 SPCH H2O 74 -6.1874 -9.1306 -8.5098 1 0 ATOM 222 SPCH H2O 74 -7.6356 -8.6361 -7.8604 1 0 ATOM 223 SPCO H2O 75 -6.409 -8.4271 7.12426 1 0 ATOM 224 SPCH H2O 75 -6.7015 9.03326 7.39061 1 0 ATOM 225 SPCH H2O 75 -5.6666 -8.1806 7.8111 1 0 ATOM 226 SPCO H2O 76 5.86929 -5.0842 3.14606 1 0 ATOM 227 SPCH H2O 76 5.69784 -4.5371 2.25643 1 0 ATOM 228 SPCH H2O 76 6.88666 -5.2265 3.14732 1 0 ATOM 229 SPCO H2O 77 -8.4980 -5.3988 -5.4507 1 0 ATOM 230 SPCH H2O 77 -7.7369 -5.0485 -4.8403 1 0 ATOM 231 SPCH H2O 77 -9.0534 -4.5744 -5.7395 1 0 ATOM 232 SPCO H2O 78 2.56283 -0.6320 1.23878 1 0 ATOM 233 SPCH H2O 78 1.85181 -0.1847 0.56428 1 0 ATOM 234 SPCH H2O 78 2.83602 -1.5043 0.76420 1 0 ATOM 235 SPCO H2O 79 4.23968 -8.2520 -8.2713 1 0 ATOM 236 SPCH H2O 79 5.07345 -8.8656 -8.3652 1 0 ATOM 237 SPCH H2O 79 3.66191 -8.7888 -7.6754 1 0 ATOM 238 SPCO H2O 80 -1.7135 -1.4893 3.26868 1 0 ATOM 239 SPCH H2O 80 -2.5673 -0.9219 3.38015 1 0 ATOM 240 SPCH H2O 80 -2.0913 -2.3219 2.79011 1 0 ATOM 241 SPCO H2O 81 -3.5838 5.64732 -5.4009 1 0 ATOM 242 SPCH H2O 81 -4.0094 6.14629 -4.6356 1 0 ATOM 243 SPCH H2O 81 -4.2808 5.53304 -6.1082 1 0 ATOM 244 SPCO H2O 82 0.55029 8.07116 -2.9556 1 0 ATOM 245 SPCH H2O 82 0.03614 7.63608 -3.7120 1 0 ATOM 246 SPCH H2O 82 0.04567 8.94106 -2.6441 1 0 ATOM 247 SPCO H2O 83 6.47152 4.88342 0.80169 1 0 ATOM 248 SPCH H2O 83 7.14449 4.11972 0.84580 1 0 ATOM 249 SPCH H2O 83 7.032 5.74009 0.93655 1 0 ATOM 250 SPCO H2O 84 5.24197 3.42131 6.74733 1 0 ATOM 251 SPCH H2O 84 5.76063 2.86543 7.44476 1 0 ATOM 252 SPCH H2O 84 5.44935 2.95595 5.85716 1 0 ATOM 253 SPCO H2O 85 4.43369 -1.5175 -2.6032 1 0 ATOM 254 SPCH H2O 85 3.68136 -1.6250 -3.3294 1 0 ATOM 255 SPCH H2O 85 5.20082 -2.1567 -2.8009 1 0 ATOM 256 SPCO H2O 86 1.47882 -0.8838 -7.0199 1 0 ATOM 257 SPCH H2O 86 0.68108 -1.2913 -6.5742 1 0 ATOM 258 SPCH H2O 86 1.74465 -1.5254 -7.7554 1 0 ATOM 259 SPCO H2O 87 2.12637 1.93063 -7.8335 1 0 ATOM 260 SPCH H2O 87 2.18919 2.62558 -7.0995 1 0 ATOM 261 SPCH H2O 87 1.78015 1.05875 -7.3914 1 0 ATOM 262 SPCO H2O 88 -4.3570 5.47306 8.24598 1 0 ATOM 263 SPCH H2O 88 -3.7714 6.17831 8.74859 1 0 ATOM 264 SPCH H2O 88 -4.8713 5.05694 9.01974 1 0 ATOM 265 SPCO H2O 89 -3.9840 0.83051 0.47329 1 0 ATOM 266 SPCH H2O 89 -3.0557 0.55017 0.78476 1 0 ATOM 267 SPCH H2O 89 -4.2647 1.41758 1.29196 1 0 ATOM 268 SPCO H2O 90 -6.4188 -4.7781 -4.2270 1 0 ATOM 269 SPCH H2O 90 -6.4944 -5.6633 -3.6609 1 0 ATOM 270 SPCH H2O 90 -5.4502 -4.7745 -4.6092 1 0 ATOM 271 SPCO H2O 91 -5.1081 6.34292 -3.1709 1 0 ATOM 272 SPCH H2O 91 -4.6899 7.31515 -3.1401 1 0 ATOM 273 SPCH H2O 91 -6.0411 6.38461 -2.8059 1 0 ATOM 274 SPCO H2O 92 -2.3214 -7.9243 -4.4722 1 0 ATOM 275 SPCH H2O 92 -2.5794 -6.9883 -4.5373 1 0 ATOM 276 SPCH H2O 92 -1.5486 -7.8489 -3.8461 1 0 ATOM 277 SPCO H2O 93 -8.4635 1.38785 5.41804 1 0 ATOM 278 SPCH H2O 93 -8.2764 2.02328 4.60219 1 0 ATOM 279 SPCH H2O 93 8.89322 1.19845 5.33771 1 0 ATOM 280 SPCO H2O 94 0.08868 8.45054 4.77823 1 0 ATOM 281 SPCH H2O 94 -0.3879 -9.0161 4.56635 1 0 ATOM 282 SPCH H2O 94 0.92631 8.67019 5.27251 1 0 ATOM 283 SPCO H2O 95 -8.6282 0.43298 1.17604 1 0 ATOM 284 SPCH H2O 95 -8.7163 -0.5206 1.43095 1 0 ATOM 285 SPCH H2O 95 -7.7895 0.66159 0.70568 1 0 ATOM 286 SPCO H2O 96 -6.8175 -7.0328 -2.9897 1 0 ATOM 287 SPCH H2O 96 -7.7469 -7.2798 -2.5861 1 0 ATOM 288 SPCH H2O 96 -6.6797 -7.9320 -3.4935 1 0 ATOM 289 SPCO H2O 97 5.63595 -9.0779 -2.1877 1 0 ATOM 290 SPCH H2O 97 4.82884 8.68044 -1.8633 1 0 ATOM 291 SPCH H2O 97 6.4584 8.7184 -2.1350 1 0 ATOM 292 SPCO H2O 98 -1.1675 6.68394 -5.1854 1 0 ATOM 293 SPCH H2O 98 -2.0645 6.39968 -5.4683 1 0 ATOM 294 SPCH H2O 98 -0.5280 5.88578 -5.4332 1 0 ATOM 295 SPCO H2O 99 -7.9949 -2.9303 2.35043 1 0 ATOM 296 SPCH H2O 99 -8.6964 -2.3996 2.94613 1 0 ATOM 297 SPCH H2O 99 -8.0613 -3.9018 2.5204 1 0 ATOM 298 SPCO H2O 100 8.7429 4.71555 -5.3586 1 0 ATOM 299 SPCH H2O 100 -9.1319 4.17283 -4.6750 1 0 ATOM 300 SPCH H2O 100 8.18921 4.03344 -5.9224 1 0 ATOM 301 SPCO H2O 101 -3.6520 1.10469 -7.2163 1 0 ATOM 302 SPCH H2O 101 -3.2692 2.0235 -7.3829 1 0 ATOM 303 SPCH H2O 101 -3.5987 0.60691 -8.1065 1 0 ATOM 304 SPCO H2O 102 8.82461 -8.9853 -3.8804 1 0 ATOM 305 SPCH H2O 102 8.50126 -8.4267 -4.6385 1 0 ATOM 306 SPCH H2O 102 -8.9523 8.5987 -4.2957 1 0 ATOM 307 SPCO H2O 103 -6.2946 8.16053 1.2457 1 0 ATOM 308 SPCH H2O 103 -5.8551 8.43553 2.1486 1 0 ATOM 309 SPCH H2O 103 -5.6563 8.48541 0.52617 1 0 ATOM 310 SPCO H2O 104 -6.9696 -7.1166 -6.7175 1 0 ATOM 311 SPCH H2O 104 -7.3990 -6.5600 -5.9967 1 0 ATOM 312 SPCH H2O 104 -6.0038 -7.1801 -6.6238 1 0 ATOM 313 SPCO H2O 105 5.65823 2.20704 4.64142 1 0 ATOM 314 SPCH H2O 105 5.56512 2.95677 3.91335 1 0 ATOM 315 SPCH H2O 105 6.38554 1.6088 4.19351 1 0 ATOM 316 SPCO H2O 106 5.0752 0.12437 6.59776 1 0 ATOM 317 SPCH H2O 106 4.73462 0.46546 5.6948 1 0 ATOM 318 SPCH H2O 106 5.99956 0.58445 6.77044 1 0 ATOM 319 SPCO H2O 107 2.60196 -8.0266 1.4553 1 0 ATOM 320 SPCH H2O 107 3.55417 -7.7824 1.10726 1 0 ATOM 321 SPCH H2O 107 2.68742 -8.6404 2.30481 1 0 ATOM 322 SPCO H2O 108 -3.9456 -6.6144 0.58747 1 0 ATOM 323 SPCH H2O 108 -4.1061 -6.5470 1.57783 1 0 ATOM 324 SPCH H2O 108 -4.7395 -6.1427 0.07617 1 0 ATOM 325 SPCO H2O 109 9.05944 8.58164 0.60519 1 0 ATOM 326 SPCH H2O 109 8.79108 7.76274 1.18536 1 0 ATOM 327 SPCH H2O 109 -8.3009 8.53295 0.58506 1 0 ATOM 328 SPCO H2O 110 2.45947 -7.6794 -2.4888 1 0 ATOM 329 SPCH H2O 110 2.81187 -8.1703 -1.6734 1 0 ATOM 330 SPCH H2O 110 2.81662 -6.7461 -2.2961 1 0 ATOM 331 SPCO H2O 111 -7.4013 -4.9401 4.40661 1 0 ATOM 332 SPCH H2O 111 -6.8650 -4.5586 5.12154 1 0 ATOM 333 SPCH H2O 111 -7.5896 -5.9502 4.55941 1 0 ATOM 334 SPCO H2O 112 -9.0358 4.41432 8.35551 1 0 ATOM 335 SPCH H2O 112 -8.5852 5.3242 8.4076 1 0 ATOM 336 SPCH H2O 112 -8.3402 3.90259 7.74247 1 0 ATOM 337 SPCO H2O 113 -6.1284 -2.8495 -1.1806 1 0 ATOM 338 SPCH H2O 113 -6.1559 -3.8580 -1.0873 1 0 ATOM 339 SPCH H2O 113 -7.0246 -2.6681 -1.6299 1 0 ATOM 340 SPCO H2O 114 -1.7030 4.19817 6.94673 1 0 ATOM 341 SPCH H2O 114 -2.0172 4.99542 7.45626 1 0 ATOM 342 SPCH H2O 114 -0.7386 4.38113 6.78133 1 0 ATOM 343 SPCO H2O 115 8.39693 -5.0037 4.58569 1 0 ATOM 344 SPCH H2O 115 -8.9354 -4.9663 4.66254 1 0 ATOM 345 SPCH H2O 115 8.11291 -5.5536 5.37558 1 0 ATOM 346 SPCO H2O 116 1.95223 -9.1263 -5.1629 1 0 ATOM 347 SPCH H2O 116 1.75243 -9.0196 -4.1769 1 0 ATOM 348 SPCH H2O 116 1.61965 -8.2508 -5.5235 1 0 ATOM 349 SPCO H2O 117 7.04011 2.93887 8.64612 1 0 ATOM 350 SPCH H2O 117 7.97235 3.4092 8.64981 1 0 ATOM 351 SPCH H2O 117 6.47605 3.4491 -9.0984 1 0 ATOM 352 SPCO H2O 118 -1.6852 2.46262 1.11713 1 0 ATOM 353 SPCH H2O 118 -1.2418 2.89406 0.31318 1 0 ATOM 354 SPCH H2O 118 -2.5765 2.92 0.99585 1 0 ATOM 355 SPCO H2O 119 8.15281 -8.2284 8.59016 1 0 ATOM 356 SPCH H2O 119 8.99322 -7.7452 9.01612 1 0 ATOM 357 SPCH H2O 119 8.45182 -9.0081 8.02581 1 0 ATOM 358 SPCO H2O 120 7.61295 -2.3181 8.09739 1 0 ATOM 359 SPCH H2O 120 7.64865 -2.5093 7.09866 1 0 ATOM 360 SPCH H2O 120 6.58068 -2.2341 8.26398 1 0 ATOM 361 SPCO H2O 121 8.09226 7.64319 7.04462 1 0 ATOM 362 SPCH H2O 121 8.23981 7.03539 7.87822 1 0 ATOM 363 SPCH H2O 121 7.62857 6.96714 6.39774 1 0 ATOM 364 SPCO H2O 122 -7.6905 4.6045 1.50078 1 0 ATOM 365 SPCH H2O 122 -6.7644 5.07443 1.46892 1 0 ATOM 366 SPCH H2O 122 -8.1049 4.58184 0.55378 1 0 ATOM 367 SPCO H2O 123 3.2183 8.6803 3.4002 1 0 ATOM 368 SPCH H2O 123 2.92319 7.93802 2.76215 1 0 ATOM 369 SPCH H2O 123 4.257 8.65594 3.36355 1 0 ATOM 370 SPCO H2O 124 -4.1533 5.80224 5.2438 1 0 ATOM 371 SPCH H2O 124 -3.7010 5.77707 6.15739 1 0 ATOM 372 SPCH H2O 124 -5.1304 6.06342 5.46683 1 0 ATOM 373 SPCO H2O 125 -7.1533 -0.8431 5.463 1 0 ATOM 374 SPCH H2O 125 -7.6219 0.03932 5.29192 1 0 ATOM 375 SPCH H2O 125 -7.6880 -1.3305 6.18798 1 0 ATOM 376 SPCO H2O 126 -3.7649 -9.1734 -0.3825 1 0 ATOM 377 SPCH H2O 126 -3.5891 -8.2298 0.07240 1 0 ATOM 378 SPCH H2O 126 -2.9125 8.62732 -0.2522 1 0 ATOM 379 SPCO H2O 127 -0.6126 -4.6200 8.69384 1 0 ATOM 380 SPCH H2O 127 -1.3307 -4.7032 8.03247 1 0 ATOM 381 SPCH H2O 127 -0.0435 -3.8497 8.39173 1 0 ATOM 382 SPCO H2O 128 3.78777 7.83405 -0.9507 1 0 ATOM 383 SPCH H2O 128 4.48018 7.79603 -0.1571 1 0 ATOM 384 SPCH H2O 128 3.4895 6.94204 -1.2305 1 0 ATOM 385 SPCO H2O 129 2.72984 6.29129 -4.3596 1 0 ATOM 386 SPCH H2O 129 2.20751 7.16479 -4.2658 1 0 ATOM 387 SPCH H2O 129 2.62472 5.76174 -3.4886 1 0 ATOM 388 SPCO H2O 130 -7.6626 -5.4833 7.23199 1 0 ATOM 389 SPCH H2O 130 -7.9263 -5.7544 8.167 1 0 ATOM 390 SPCH H2O 130 -7.8439 -6.2492 6.60877 1 0 ATOM 391 SPCO H2O 131 1.07928 4.60998 7.40923 1 0 ATOM 392 SPCH H2O 131 1.55217 4.86727 6.56693 1 0 ATOM 393 SPCH H2O 131 1.50705 3.71619 7.57309 1 0 ATOM 394 SPCO H2O 132 0.38642 -1.9071 8.0783 1 0 ATOM 395 SPCH H2O 132 0.29790 -1.3321 7.21403 1 0 ATOM 396 SPCH H2O 132 -0.2523 -1.4110 8.71353 1 0 ATOM 397 SPCO H2O 133 -2.2247 5.8281 -2.3800 1 0 ATOM 398 SPCH H2O 133 -1.8591 6.15749 -3.2859 1 0 ATOM 399 SPCH H2O 133 -3.1600 6.17986 -2.3647 1 0 ATOM 400 SPCO H2O 134 6.94096 8.92827 -7.7417 1 0 ATOM 401 SPCH H2O 134 6.82056 -8.7482 -6.9556 1 0 ATOM 402 SPCH H2O 134 7.33204 -8.9215 -8.5322 1 0 ATOM 403 SPCO H2O 135 -5.5786 2.43466 -6.0665 1 0 ATOM 404 SPCH H2O 135 -4.9192 1.70787 -6.3344 1 0 ATOM 405 SPCH H2O 135 -5.4631 2.41856 -5.0232 1 0 ATOM 406 SPCO H2O 136 3.35509 -4.5336 -6.9603 1 0 ATOM 407 SPCH H2O 136 2.91242 -3.9493 -7.6789 1 0 ATOM 408 SPCH H2O 136 4.25767 -4.7809 -7.3549 1 0 ATOM 409 SPCO H2O 137 1.4063 4.37525 0.68203 1 0 ATOM 410 SPCH H2O 137 2.12582 3.73106 0.96699 1 0 ATOM 411 SPCH H2O 137 0.59541 3.78078 0.65388 1 0 ATOM 412 SPCO H2O 138 -8.4935 7.34737 -4.8848 1 0 ATOM 413 SPCH H2O 138 -7.9793 7.07711 -5.7038 1 0 ATOM 414 SPCH H2O 138 -9.0296 6.49542 -4.6865 1 0 ATOM 415 SPCO H2O 139 7.23319 -5.9789 6.74348 1 0 ATOM 416 SPCH H2O 139 6.22062 -6.1257 6.53272 1 0 ATOM 417 SPCH H2O 139 7.50686 -6.5013 7.55255 1 0 ATOM 418 SPCO H2O 140 -5.1276 -6.7530 3.14669 1 0 ATOM 419 SPCH H2O 140 -5.5574 -6.3201 3.97197 1 0 ATOM 420 SPCH H2O 140 -5.0516 -7.7338 3.34503 1 0 ATOM 421 SPCO H2O 141 -8.3668 -6.2902 -8.7353 1 0 ATOM 422 SPCH H2O 141 -7.6971 -6.5169 -7.9882 1 0 ATOM 423 SPCH H2O 141 -8.9767 -5.5328 -8.4537 1 0 ATOM 424 SPCO H2O 142 -1.4998 7.38324 6.98897 1 0 ATOM 425 SPCH H2O 142 -1.5396 8.38221 7.26311 1 0 ATOM 426 SPCH H2O 142 -1.2659 7.35449 6.01341 1 0 ATOM 427 SPCO H2O 143 -8.1065 3.3059 -3.3847 1 0 ATOM 428 SPCH H2O 143 -8.3448 2.33201 -3.1064 1 0 ATOM 429 SPCH H2O 143 -7.0957 3.37521 -3.3775 1 0 ATOM 430 SPCO H2O 144 1.57392 0.48202 3.5873 1 0 ATOM 431 SPCH H2O 144 0.59874 0.78248 3.36082 1 0 ATOM 432 SPCH H2O 144 1.90115 -0.1583 2.80961 1 0 ATOM 433 SPCO H2O 145 -4.6601 -8.4226 -8.9669 1 0 ATOM 434 SPCH H2O 145 -3.9524 -8.8964 -8.4297 1 0 ATOM 435 SPCH H2O 145 -4.2649 -7.5385 9.14134 1 0 ATOM 436 SPCO H2O 146 -8.2449 -0.5554 -5.3378 1 0 ATOM 437 SPCH H2O 146 -9.1249 -0.0949 -5.2550 1 0 ATOM 438 SPCH H2O 146 -8.2533 -1.0916 -6.2566 1 0 ATOM 439 SPCO H2O 147 6.03473 -7.9123 3.71087 1 0 ATOM 440 SPCH H2O 147 5.80309 -7.7088 4.65345 1 0 ATOM 441 SPCH H2O 147 6.09324 -6.9708 3.38609 1 0 ATOM 442 SPCO H2O 148 -5.9383 -0.0367 -1.1778 1 0 ATOM 443 SPCH H2O 148 -6.1225 -0.9681 -0.7979 1 0 ATOM 444 SPCH H2O 148 -5.3726 0.43786 -0.4662 1 0 ATOM 445 SPCO H2O 149 0.56897 8.60054 0.24325 1 0 ATOM 446 SPCH H2O 149 1.19305 9.06619 -0.3849 1 0 ATOM 447 SPCH H2O 149 1.17126 8.14409 0.91266 1 0 ATOM 448 SPCO H2O 150 3.1646 4.58019 5.62635 1 0 ATOM 449 SPCH H2O 150 3.45727 4.28897 4.70693 1 0 ATOM 450 SPCH H2O 150 3.66169 4.08972 6.31976 1 0 ATOM 451 SPCO H2O 151 8.13088 -7.5189 1.85813 1 0 ATOM 452 SPCH H2O 151 7.31822 -7.8692 2.3856 1 0 ATOM 453 SPCH H2O 151 8.33781 -8.2237 1.14157 1 0 ATOM 454 SPCO H2O 152 -2.7010 -4.6235 6.23314 1 0 ATOM 455 SPCH H2O 152 -3.5005 -4.2348 5.74547 1 0 ATOM 456 SPCH H2O 152 -1.9463 -4.5630 5.59165 1 0 ATOM 457 SPCO H2O 153 3.23375 3.9158 -5.8673 1 0 ATOM 458 SPCH H2O 153 3.28736 4.80702 -5.3705 1 0 ATOM 459 SPCH H2O 153 3.96162 3.86645 -6.5557 1 0 ATOM 460 SPCO H2O 154 8.02754 -3.1043 -5.8303 1 0 ATOM 461 SPCH H2O 154 7.2862 -3.4028 -5.1738 1 0 ATOM 462 SPCH H2O 154 8.27657 -2.2193 -5.4367 1 0 ATOM 463 SPCO H2O 155 7.33822 -2.8604 -2.3074 1 0 ATOM 464 SPCH H2O 155 8.28005 -2.8437 -2.5715 1 0 ATOM 465 SPCH H2O 155 7.44824 -2.7297 -1.319 1 0 ATOM 466 SPCO H2O 156 -8.1054 -1.8457 -7.6714 1 0 ATOM 467 SPCH H2O 156 -7.3695 -1.4181 -8.2162 1 0 ATOM 468 SPCH H2O 156 -8.6472 -2.4527 -8.2726 1 0 ATOM 469 SPCO H2O 157 0.56831 -4.1012 0.50950 1 0 ATOM 470 SPCH H2O 157 0.53802 -4.8374 1.20271 1 0 ATOM 471 SPCH H2O 157 1.49285 -3.6778 0.48466 1 0 ATOM 472 SPCO H2O 158 -4.1419 8.73339 -3.0552 1 0 ATOM 473 SPCH H2O 158 -3.7271 -8.9184 -3.6929 1 0 ATOM 474 SPCH H2O 158 -3.8068 8.99913 -2.0993 1 0 ATOM 475 SPCO H2O 159 1.85389 6.76262 2.06755 1 0 ATOM 476 SPCH H2O 159 1.68425 5.99159 1.42165 1 0 ATOM 477 SPCH H2O 159 1.17538 6.51518 2.77449 1 0 ATOM 478 SPCO H2O 160 4.65979 1.03381 -2.0119 1 0 ATOM 479 SPCH H2O 160 4.6654 0.07246 -1.8202 1 0 ATOM 480 SPCH H2O 160 3.7064 1.32945 -2.2846 1 0 ATOM 481 SPCO H2O 161 7.02999 5.69357 5.79494 1 0 ATOM 482 SPCH H2O 161 6.38552 4.93899 5.977 1 0 ATOM 483 SPCH H2O 161 7.93114 5.29896 5.67231 1 0 ATOM 484 SPCO H2O 162 -4.6718 0.78069 7.9749 1 0 ATOM 485 SPCH H2O 162 -4.2604 1.4415 7.35368 1 0 ATOM 486 SPCH H2O 162 -4.7156 -0.0802 7.46226 1 0 ATOM 487 SPCO H2O 163 -9.0149 8.72712 4.81798 1 0 ATOM 488 SPCH H2O 163 -8.4571 7.99993 4.47506 1 0 ATOM 489 SPCH H2O 163 8.75498 8.2147 5.47364 1 0 ATOM 490 SPCO H2O 164 -8.7224 3.04614 3.28166 1 0 ATOM 491 SPCH H2O 164 9.02742 2.59136 2.62466 1 0 ATOM 492 SPCH H2O 164 -8.0046 3.54597 2.70564 1 0 ATOM 493 SPCO H2O 165 -2.0179 -4.9999 -7.2142 1 0 ATOM 494 SPCH H2O 165 -1.3041 -4.6782 -7.8560 1 0 ATOM 495 SPCH H2O 165 -1.8759 -6.0223 -7.2650 1 0 ATOM 496 SPCO H2O 166 -6.9389 7.11428 7.89353 1 0 ATOM 497 SPCH H2O 166 -6.2075 6.42132 8.12733 1 0 ATOM 498 SPCH H2O 166 -7.4381 7.38942 8.75591 1 0 ATOM 499 SPCO H2O 167 -1.0766 -3.6535 -1.4296 1 0 ATOM 500 SPCH H2O 167 -1.9768 -3.3390 -1.0687 1 0 ATOM 501 SPCH H2O 167 -0.4277 -3.5431 -0.6472 1 0 ATOM 502 SPCO H2O 168 5.32092 -2.6083 -5.5455 1 0 ATOM 503 SPCH H2O 168 5.38902 -1.6097 -5.7431 1 0 ATOM 504 SPCH H2O 168 4.34987 -2.8767 -5.7618 1 0 ATOM 505 SPCO H2O 169 -3.3404 -6.2833 8.55065 1 0 ATOM 506 SPCH H2O 169 -3.3483 -5.5507 -9.1054 1 0 ATOM 507 SPCH H2O 169 -3.3646 -5.8349 7.6245 1 0 ATOM 508 SPCO H2O 170 -2.4187 3.50935 -7.3196 1 0 ATOM 509 SPCH H2O 170 -3.075 4.00252 -6.7131 1 0 ATOM 510 SPCH H2O 170 -1.5427 3.94222 -7.3392 1 0 ATOM 511 SPCO H2O 171 3.15917 -3.2839 0.29714 1 0 ATOM 512 SPCH H2O 171 4.11486 -3.2032 0.60487 1 0 ATOM 513 SPCH H2O 171 3.00706 -4.2165 0.76595 1 0 ATOM 514 SPCO H2O 172 -7.4330 2.3264 -7.7556 1 0 ATOM 515 SPCH H2O 172 -7.2662 1.38177 -8.0628 1 0 ATOM 516 SPCH H2O 172 -6.8144 2.37032 -6.9412 1 0 ATOM 517 SPCO H2O 173 0.54489 -2.4263 4.89161 1 0 ATOM 518 SPCH H2O 173 -0.0646 -2.1629 4.13997 1 0 ATOM 519 SPCH H2O 173 0.54368 -1.5668 5.41104 1 0 ATOM 520 SPCO H2O 174 -3.2259 -8.9062 5.58093 1 0 ATOM 521 SPCH H2O 174 -2.7169 -8.9203 6.48964 1 0 ATOM 522 SPCH H2O 174 -2.6347 -8.5153 4.85093 1 0 ATOM 523 SPCO H2O 175 1.00561 -3.7232 -5.4498 1 0 ATOM 524 SPCH H2O 175 1.3741 -4.4363 -6.0996 1 0 ATOM 525 SPCH H2O 175 0.12439 -4.0845 -5.0229 1 0 ATOM 526 SPCO H2O 176 5.73687 -0.8744 2.80035 1 0 ATOM 527 SPCH H2O 176 4.86407 -0.8874 3.33076 1 0 ATOM 528 SPCH H2O 176 5.61268 -0.0586 2.1421 1 0 ATOM 529 SPCO H2O 177 -1.5387 -6.2335 -0.7164 1 0 ATOM 530 SPCH H2O 177 -1.3611 -5.3571 -1.1582 1 0 ATOM 531 SPCH H2O 177 -2.3794 -6.1780 -0.0927 1 0 ATOM 532 SPCO H2O 178 6.75478 2.62268 -3.0130 1 0 ATOM 533 SPCH H2O 178 6.30329 3.44792 -3.3582 1 0 ATOM 534 SPCH H2O 178 5.98769 2.04409 -2.6652 1 0 ATOM 535 SPCO H2O 179 -5.4775 4.70056 -7.6502 1 0 ATOM 536 SPCH H2O 179 -6.3440 5.14782 -7.6250 1 0 ATOM 537 SPCH H2O 179 -5.7519 3.74113 -7.5003 1 0 ATOM 538 SPCO H2O 180 -3.3896 -2.4413 -0.6841 1 0 ATOM 539 SPCH H2O 180 -4.3572 -2.6419 -0.8940 1 0 ATOM 540 SPCH H2O 180 -3.2813 -1.4605 -0.8871 1 0 ATOM 541 SPCO H2O 181 -2.8882 4.34402 3.67466 1 0 ATOM 542 SPCH H2O 181 -1.9371 4.59167 3.81533 1 0 ATOM 543 SPCH H2O 181 -3.4867 4.96945 4.24916 1 0 ATOM 544 SPCO H2O 182 8.14225 6.78278 2.27541 1 0 ATOM 545 SPCH H2O 182 8.86795 6.47121 2.85609 1 0 ATOM 546 SPCH H2O 182 7.44931 7.15253 2.92994 1 0 ATOM 547 SPCO H2O 183 7.96764 2.65418 0.32941 1 0 ATOM 548 SPCH H2O 183 8.6363 1.91529 0.58423 1 0 ATOM 549 SPCH H2O 183 8.5201 3.40169 -0.1335 1 0 ATOM 550 SPCO H2O 184 -1.3376 -7.5829 4.18891 1 0 ATOM 551 SPCH H2O 184 -1.0744 -7.5784 3.23064 1 0 ATOM 552 SPCH H2O 184 -1.3289 -6.6552 4.55497 1 0 ATOM 553 SPCO H2O 185 7.74466 1.10347 3.50695 1 0 ATOM 554 SPCH H2O 185 7.17829 0.54884 2.84572 1 0 ATOM 555 SPCH H2O 185 8.55541 0.54972 3.75933 1 0 ATOM 556 SPCO H2O 186 8.51372 6.94094 -8.6145 1 0 ATOM 557 SPCH H2O 186 -9.0708 6.72123 -8.0323 1 0 ATOM 558 SPCH H2O 186 8.10721 7.83473 -8.3247 1 0 ATOM 559 SPCO H2O 187 -1.2572 -4.2961 -4.2123 1 0 ATOM 560 SPCH H2O 187 -1.7697 -3.5968 -4.7388 1 0 ATOM 561 SPCH H2O 187 -1.2185 -4.1624 -3.2183 1 0 ATOM 562 SPCO H2O 188 -5.1734 5.64213 1.55244 1 0 ATOM 563 SPCH H2O 188 -5.7382 6.51022 1.44955 1 0 ATOM 564 SPCH H2O 188 -4.3166 6.00667 2.03028 1 0 ATOM 565 SPCO H2O 189 7.53899 1.04211 7.06793 1 0 ATOM 566 SPCH H2O 189 8.12486 0.33395 7.52 1 0 ATOM 567 SPCH H2O 189 7.43554 1.87231 7.75573 1 0 ATOM 568 SPCO H2O 190 -3.1165 7.22159 2.33367 1 0 ATOM 569 SPCH H2O 190 -2.6875 7.29453 1.38836 1 0 ATOM 570 SPCH H2O 190 -2.2889 7.02535 2.84408 1 0 ATOM 571 SPCO H2O 191 -5.32 -4.2906 1.97961 1 0 ATOM 572 SPCH H2O 191 -5.3151 -5.2117 2.48654 1 0 ATOM 573 SPCH H2O 191 -5.8235 -4.5300 1.12214 1 0 ATOM 574 SPCO H2O 192 -4.7169 -3.7475 4.86217 1 0 ATOM 575 SPCH H2O 192 -5.0887 -3.5250 3.94621 1 0 ATOM 576 SPCH H2O 192 -4.9883 -2.8636 5.29654 1 0 ATOM 577 SPCO H2O 193 -0.8511 1.35951 3.44494 1 0 ATOM 578 SPCH H2O 193 -1.1676 1.79972 2.58126 1 0 ATOM 579 SPCH H2O 193 -1.5053 0.61794 3.628 1 0 ATOM 580 SPCO H2O 194 -6.7563 6.95099 5.29053 1 0 ATOM 581 SPCH H2O 194 -6.8321 7.17823 6.34497 1 0 ATOM 582 SPCH H2O 194 -6.0212 7.55391 4.87692 1 0 ATOM 583 SPCO H2O 195 9.00415 1.11328 -2.8678 1 0 ATOM 584 SPCH H2O 195 8.64823 0.20808 -3.1485 1 0 ATOM 585 SPCH H2O 195 8.11227 1.63352 -2.7739 1 0 ATOM 586 SPCO H2O 196 -3.3106 2.51766 -1.7789 1 0 ATOM 587 SPCH H2O 196 -3.4378 1.7567 -1.1430 1 0 ATOM 588 SPCH H2O 196 -3.9520 3.28515 -1.4819 1 0 ATOM 589 SPCO H2O 197 -0.9183 3.91868 -1.259 1 0 ATOM 590 SPCH H2O 197 -0.7899 3.15856 -1.9159 1 0 ATOM 591 SPCH H2O 197 -1.3179 4.67913 -1.8566 1 0 ATOM 592 SPCO H2O 198 5.28531 4.14232 -7.8380 1 0 ATOM 593 SPCH H2O 198 5.47125 5.08728 -7.47 1 0 ATOM 594 SPCH H2O 198 5.94562 3.57982 -7.3032 1 0 ATOM 595 SPCO H2O 199 -4.5625 -1.0987 5.90581 1 0 ATOM 596 SPCH H2O 199 -5.5611 -1.0786 5.72458 1 0 ATOM 597 SPCH H2O 199 -4.1149 -0.8666 4.97567 1 0 ATOM 598 SPCO H2O 200 1.95871 5.7152 -1.7406 1 0 ATOM 599 SPCH H2O 200 1.32767 6.53654 -1.6617 1 0 ATOM 600 SPCH H2O 200 1.74414 5.16701 -0.9183 1 0 ATOM 601 SPCO H2O 201 -8.9162 5.51397 4.43344 1 0 ATOM 602 SPCH H2O 201 -7.9815 5.8095 4.72477 1 0 ATOM 603 SPCH H2O 201 -8.8173 4.71297 3.85632 1 0 ATOM 604 SPCO H2O 202 -2.8608 -2.2768 -6.1608 1 0 ATOM 605 SPCH H2O 202 -2.6945 -3.1789 -6.6322 1 0 ATOM 606 SPCH H2O 202 -3.8591 -2.1584 -6.1138 1 0 ATOM 607 SPCO H2O 203 -6.3306 -5.5075 -0.5975 1 0 ATOM 608 SPCH H2O 203 -6.5030 -6.0703 -1.4334 1 0 ATOM 609 SPCH H2O 203 -7.0539 -5.8906 0.07567 1 0 ATOM 610 SPCO H2O 204 2.95449 -5.3156 1.9813 1 0 ATOM 611 SPCH H2O 204 2.61724 -6.2558 1.78731 1 0 ATOM 612 SPCH H2O 204 3.02575 -5.2431 2.98368 1 0 ATOM 613 SPCO H2O 205 9.08594 -8.0229 -1.3978 1 0 ATOM 614 SPCH H2O 205 9.03035 -8.8068 -0.7155 1 0 ATOM 615 SPCH H2O 205 8.85363 -8.3162 -2.3783 1 0 ATOM 616 SPCO H2O 206 -9.0944 4.48116 -1.0786 1 0 ATOM 617 SPCH H2O 206 8.58743 5.19664 -1.1650 1 0 ATOM 618 SPCH H2O 206 -8.8418 4.1589 -2.0097 1 0 ATOM 619 SPCO H2O 207 6.03542 6.3957 -6.6913 1 0 ATOM 620 SPCH H2O 207 6.4163 7.17571 -7.1846 1 0 ATOM 621 SPCH H2O 207 5.70556 6.9275 -5.8896 1 0 ATOM 622 SPCO H2O 208 -1.2611 -0.5505 -2.2025 1 0 ATOM 623 SPCH H2O 208 -1.0578 -1.5147 -2.1887 1 0 ATOM 624 SPCH H2O 208 -1.7246 -0.3688 -3.1164 1 0 ATOM 625 SPCO H2O 209 5.71677 8.87962 6.50206 1 0 ATOM 626 SPCH H2O 209 5.03764 8.39478 7.10242 1 0 ATOM 627 SPCH H2O 209 6.53026 8.3141 6.61914 1 0 ATOM 628 SPCO H2O 210 -1.3627 -7.6634 -7.0176 1 0 ATOM 629 SPCH H2O 210 -2.0520 -7.9131 -6.2699 1 0 ATOM 630 SPCH H2O 210 -1.0691 -8.6157 -7.4120 1 0 ATOM 631 SPCO H2O 211 0.62528 5.02382 -5.9681 1 0 ATOM 632 SPCH H2O 211 0.95697 5.20056 -6.907 1 0 ATOM 633 SPCH H2O 211 1.38685 4.50809 -5.4904 1 0 ATOM 634 SPCO H2O 212 0.43239 -7.2358 8.768 1 0 ATOM 635 SPCH H2O 212 0.01977 -6.2749 8.66154 1 0 ATOM 636 SPCH H2O 212 1.45591 -7.2724 8.54755 1 0 ATOM 637 SPCO H2O 213 -0.0971 5.69972 4.02116 1 0 ATOM 638 SPCH H2O 213 0.63448 4.95777 4.07046 1 0 ATOM 639 SPCH H2O 213 0.17684 6.58245 4.41895 1 0 ATOM 640 SPCO H2O 214 -2.5744 3.0817 -4.3773 1 0 ATOM 641 SPCH H2O 214 -3.2574 3.731 -4.6427 1 0 ATOM 642 SPCH H2O 214 -2.8052 2.79062 -3.4196 1 0 ATOM 643 SPCO H2O 215 2.28571 2.15059 7.72916 1 0 ATOM 644 SPCH H2O 215 3.22166 2.45622 7.5114 1 0 ATOM 645 SPCH H2O 215 2.20132 2.08609 8.75696 1 0 ATOM 646 SPCO H2O 216 5.89267 8.29144 0.76491 1 0 ATOM 647 SPCH H2O 216 6.44571 7.9002 1.58951 1 0 ATOM 648 SPCH H2O 216 6.45617 9.06986 0.46695 1 0 END protomol/examples/water_216/water216.new.pos.pdb0100644027616700000500000014653710237151527021017 0ustar pbrenne1dipREMARK This PDB file was generated from PdbWriter REMARK Not manually assembled ATOM 1 SPCO H2O 1 -6.1905 -0.2154 -8.4338 1 0 ATOM 2 SPCH H2O 1 -5.6097 0.06962 9.13579 1 0 ATOM 3 SPCH H2O 1 -5.6447 -0.0229 -7.5882 1 0 ATOM 4 SPCO H2O 2 6.56219 -4.6460 -4.1436 1 0 ATOM 5 SPCH H2O 2 6.03741 -4.0329 -4.7182 1 0 ATOM 6 SPCH H2O 2 6.96316 -4.0394 -3.3847 1 0 ATOM 7 SPCO H2O 3 8.54217 -5.3956 -0.5523 1 0 ATOM 8 SPCH H2O 3 7.70932 -5.5613 -1.0950 1 0 ATOM 9 SPCH H2O 3 8.80841 -6.3593 -0.4136 1 0 ATOM 10 SPCO H2O 4 7.69714 6.89652 -2.4003 1 0 ATOM 11 SPCH H2O 4 8.13291 7.6269 -3.0108 1 0 ATOM 12 SPCH H2O 4 7.11898 6.29575 -2.9661 1 0 ATOM 13 SPCO H2O 5 2.35149 2.21449 -2.7469 1 0 ATOM 14 SPCH H2O 5 1.33357 2.17619 -2.9552 1 0 ATOM 15 SPCH H2O 5 2.80005 3.0949 -3.1150 1 0 ATOM 16 SPCO H2O 6 3.61111 -5.3331 4.45103 1 0 ATOM 17 SPCH H2O 6 3.83563 -6.1812 4.93146 1 0 ATOM 18 SPCH H2O 6 4.49013 -5.1595 3.91928 1 0 ATOM 19 SPCO H2O 7 2.55119 -1.8884 -4.4614 1 0 ATOM 20 SPCH H2O 7 2.15555 -1.3764 -5.1810 1 0 ATOM 21 SPCH H2O 7 2.12338 -2.8054 -4.5248 1 0 ATOM 22 SPCO H2O 8 1.25959 -6.9070 -6.5708 1 0 ATOM 23 SPCH H2O 8 1.82061 -6.9321 -7.4173 1 0 ATOM 24 SPCH H2O 8 0.29997 -7.0031 -6.9094 1 0 ATOM 25 SPCO H2O 9 6.28044 7.66065 3.74676 1 0 ATOM 26 SPCH H2O 9 6.42951 8.60788 4.04443 1 0 ATOM 27 SPCH H2O 9 5.88316 7.16091 4.53531 1 0 ATOM 28 SPCO H2O 10 -2.5277 6.92713 -8.9789 1 0 ATOM 29 SPCH H2O 10 -1.8467 7.32004 -8.3595 1 0 ATOM 30 SPCH H2O 10 -2.1891 7.09712 8.39971 1 0 ATOM 31 SPCO H2O 11 5.94645 5.09848 -3.9808 1 0 ATOM 32 SPCH H2O 11 5.57047 6.01331 -3.8719 1 0 ATOM 33 SPCH H2O 11 6.24076 4.99593 -4.9397 1 0 ATOM 34 SPCO H2O 12 2.42178 -3.1430 -9.1086 1 0 ATOM 35 SPCH H2O 12 2.7404 -3.6676 8.42799 1 0 ATOM 36 SPCH H2O 12 1.46424 -2.8136 8.99356 1 0 ATOM 37 SPCO H2O 13 -1.9060 7.34356 -0.1329 1 0 ATOM 38 SPCH H2O 13 -1.7339 6.8943 -1.0628 1 0 ATOM 39 SPCH H2O 13 -0.9296 7.55707 0.17698 1 0 ATOM 40 SPCO H2O 14 -7.9346 -6.1269 1.5273 1 0 ATOM 41 SPCH H2O 14 -7.3486 -6.3552 2.32823 1 0 ATOM 42 SPCH H2O 14 -8.7768 -6.6418 1.70095 1 0 ATOM 43 SPCO H2O 15 -1.4758 -0.4208 -8.9399 1 0 ATOM 44 SPCH H2O 15 -0.9683 -0.1351 -8.1148 1 0 ATOM 45 SPCH H2O 15 -1.7549 0.44420 8.94549 1 0 ATOM 46 SPCO H2O 16 -6.0036 -1.1942 2.96001 1 0 ATOM 47 SPCH H2O 16 -6.3363 -1.0960 3.92761 1 0 ATOM 48 SPCH H2O 16 -6.6945 -1.8455 2.56897 1 0 ATOM 49 SPCO H2O 17 3.49635 5.72896 -9.1575 1 0 ATOM 50 SPCH H2O 17 3.92802 6.3528 -8.5029 1 0 ATOM 51 SPCH H2O 17 3.95768 4.81014 -8.9734 1 0 ATOM 52 SPCO H2O 18 5.16867 7.48502 -4.4229 1 0 ATOM 53 SPCH H2O 18 4.22713 7.04904 -4.3752 1 0 ATOM 54 SPCH H2O 18 5.19144 8.30187 -3.8539 1 0 ATOM 55 SPCO H2O 19 4.62103 -6.8883 -5.0281 1 0 ATOM 56 SPCH H2O 19 3.8471 -7.1228 -4.4521 1 0 ATOM 57 SPCH H2O 19 4.25625 -6.8257 -5.9610 1 0 ATOM 58 SPCO H2O 20 -5.7019 -4.5572 -8.8874 1 0 ATOM 59 SPCH H2O 20 -5.3637 -3.6083 -8.9671 1 0 ATOM 60 SPCH H2O 20 -6.2915 -4.7159 8.67765 1 0 ATOM 61 SPCO H2O 21 6.41685 -6.4940 -2.0136 1 0 ATOM 62 SPCH H2O 21 6.60184 -6.1724 -2.9664 1 0 ATOM 63 SPCH H2O 21 6.00313 -7.4630 -2.1432 1 0 ATOM 64 SPCO H2O 22 3.41615 7.0087 6.813 1 0 ATOM 65 SPCH H2O 22 3.48993 6.55241 7.71111 1 0 ATOM 66 SPCH H2O 22 3.06084 6.31375 6.10861 1 0 ATOM 67 SPCO H2O 23 2.84545 -4.9248 -2.4022 1 0 ATOM 68 SPCH H2O 23 2.43626 -4.0355 -2.1772 1 0 ATOM 69 SPCH H2O 23 3.81657 -4.7813 -2.6948 1 0 ATOM 70 SPCO H2O 24 8.70334 -2.8105 0.18220 1 0 ATOM 71 SPCH H2O 24 8.82495 -3.7813 -0.1155 1 0 ATOM 72 SPCH H2O 24 -8.9281 -2.5643 0.85136 1 0 ATOM 73 SPCO H2O 25 -7.8947 -2.3805 -3.4287 1 0 ATOM 74 SPCH H2O 25 -7.3236 -3.1446 -3.6785 1 0 ATOM 75 SPCH H2O 25 -7.7610 -1.6907 -4.2331 1 0 ATOM 76 SPCO H2O 26 5.06535 -1.8840 8.12466 1 0 ATOM 77 SPCH H2O 26 4.8821 -1.1249 7.46248 1 0 ATOM 78 SPCH H2O 26 4.18958 -2.3753 8.31531 1 0 ATOM 79 SPCO H2O 27 -3.4593 -2.2866 9.04051 1 0 ATOM 80 SPCH H2O 27 -2.5394 -1.9520 -9.1648 1 0 ATOM 81 SPCH H2O 27 -3.5788 -2.5698 8.11771 1 0 ATOM 82 SPCO H2O 28 -0.5109 8.08189 -7.5044 1 0 ATOM 83 SPCH H2O 28 -0.1063 7.35369 -8.1010 1 0 ATOM 84 SPCH H2O 28 -0.6110 7.60326 -6.6195 1 0 ATOM 85 SPCO H2O 29 -4.4140 -5.5516 -6.4037 1 0 ATOM 86 SPCH H2O 29 -5.0754 -5.0932 -7.0740 1 0 ATOM 87 SPCH H2O 29 -3.5399 -5.0696 -6.4890 1 0 ATOM 88 SPCO H2O 30 -8.0440 -2.6945 7.58985 1 0 ATOM 89 SPCH H2O 30 -9.0142 -2.5972 7.90313 1 0 ATOM 90 SPCH H2O 30 -7.9122 -3.6918 7.66005 1 0 ATOM 91 SPCO H2O 31 -1.4933 1.63737 7.8777 1 0 ATOM 92 SPCH H2O 31 -2.2560 1.64387 7.20462 1 0 ATOM 93 SPCH H2O 31 -1.1031 2.57275 7.84973 1 0 ATOM 94 SPCO H2O 32 0.81346 0.00576 6.12112 1 0 ATOM 95 SPCH H2O 32 0.83738 0.90625 6.621 1 0 ATOM 96 SPCH H2O 32 1.14489 0.21864 5.1686 1 0 ATOM 97 SPCO H2O 33 0.02311 -7.0446 1.56705 1 0 ATOM 98 SPCH H2O 33 -0.4631 -6.9993 0.64751 1 0 ATOM 99 SPCH H2O 33 0.87133 -7.5241 1.43519 1 0 ATOM 100 SPCO H2O 34 -7.1860 2.95761 7.03688 1 0 ATOM 101 SPCH H2O 34 -6.3503 2.52894 7.37539 1 0 ATOM 102 SPCH H2O 34 -7.7072 2.26255 6.46256 1 0 ATOM 103 SPCO H2O 35 -3.6955 0.06960 3.35888 1 0 ATOM 104 SPCH H2O 35 -4.4725 -0.4678 3.06937 1 0 ATOM 105 SPCH H2O 35 -4.0349 1.04814 3.15547 1 0 ATOM 106 SPCO H2O 36 2.97797 -4.6351 6.94599 1 0 ATOM 107 SPCH H2O 36 3.28116 -4.7556 6.0046 1 0 ATOM 108 SPCH H2O 36 2.96316 -5.5697 7.31481 1 0 ATOM 109 SPCO H2O 37 -2.8258 -3.5627 1.77277 1 0 ATOM 110 SPCH H2O 37 -2.8700 -3.0800 0.86086 1 0 ATOM 111 SPCH H2O 37 -3.7454 -3.9274 1.79907 1 0 ATOM 112 SPCO H2O 38 1.02071 6.21384 -8.7313 1 0 ATOM 113 SPCH H2O 38 1.99682 6.12061 -9.0541 1 0 ATOM 114 SPCH H2O 38 0.61271 6.04551 8.71558 1 0 ATOM 115 SPCO H2O 39 4.90459 0.80885 -5.1397 1 0 ATOM 116 SPCH H2O 39 4.06382 0.94536 -5.6508 1 0 ATOM 117 SPCH H2O 39 4.64166 0.73783 -4.1909 1 0 ATOM 118 SPCO H2O 40 -1.5285 -8.5352 7.54147 1 0 ATOM 119 SPCH H2O 40 -0.6269 -8.2670 7.94056 1 0 ATOM 120 SPCH H2O 40 -2.1447 -7.7681 7.89011 1 0 ATOM 121 SPCO H2O 41 -5.4750 2.30414 -3.3610 1 0 ATOM 122 SPCH H2O 41 -4.5854 2.433 -2.8055 1 0 ATOM 123 SPCH H2O 41 -5.8885 1.39438 -3.0822 1 0 ATOM 124 SPCO H2O 42 5.00622 0.79597 -8.1210 1 0 ATOM 125 SPCH H2O 42 4.076 0.55007 -7.7864 1 0 ATOM 126 SPCH H2O 42 5.1439 0.75094 -9.1301 1 0 ATOM 127 SPCO H2O 43 8.1825 -2.0542 3.3747 1 0 ATOM 128 SPCH H2O 43 7.31187 -1.5579 3.12137 1 0 ATOM 129 SPCH H2O 43 7.91872 -2.4061 4.31296 1 0 ATOM 130 SPCO H2O 44 -5.4231 -1.7247 -5.7761 1 0 ATOM 131 SPCH H2O 44 -6.3047 -1.8673 -6.1517 1 0 ATOM 132 SPCH H2O 44 -5.4235 -0.8795 -5.2043 1 0 ATOM 133 SPCO H2O 45 7.56748 0.43048 -7.4830 1 0 ATOM 134 SPCH H2O 45 8.27301 0.27846 -8.2450 1 0 ATOM 135 SPCH H2O 45 6.63325 0.36627 -7.9712 1 0 ATOM 136 SPCO H2O 46 -4.9876 8.61385 3.67244 1 0 ATOM 137 SPCH H2O 46 -4.7248 9.0141 4.56074 1 0 ATOM 138 SPCH H2O 46 -4.2679 7.98062 3.48099 1 0 ATOM 139 SPCO H2O 47 3.16065 2.05169 2.01996 1 0 ATOM 140 SPCH H2O 47 2.8777 1.48437 2.81322 1 0 ATOM 141 SPCH H2O 47 3.11398 1.42179 1.22274 1 0 ATOM 142 SPCO H2O 48 -7.5152 -7.3565 5.08255 1 0 ATOM 143 SPCH H2O 48 -7.0709 -7.8136 5.9586 1 0 ATOM 144 SPCH H2O 48 -8.1934 -8.1076 4.72737 1 0 ATOM 145 SPCO H2O 49 -1.8114 -0.0913 -4.7029 1 0 ATOM 146 SPCH H2O 49 -2.2980 0.69697 -5.0695 1 0 ATOM 147 SPCH H2O 49 -2.1624 -0.9339 -5.1401 1 0 ATOM 148 SPCO H2O 50 4.58448 -6.9915 0.26611 1 0 ATOM 149 SPCH H2O 50 5.19093 -6.7934 -0.4869 1 0 ATOM 150 SPCH H2O 50 4.3765 -6.1377 0.75275 1 0 ATOM 151 SPCO H2O 51 5.66583 -4.8269 -8.4429 1 0 ATOM 152 SPCH H2O 51 5.57338 -5.5133 9.17142 1 0 ATOM 153 SPCH H2O 51 6.60589 -4.7047 -8.1180 1 0 ATOM 154 SPCO H2O 52 7.33654 -0.4042 -5.1398 1 0 ATOM 155 SPCH H2O 52 6.38337 -0.2300 -4.8742 1 0 ATOM 156 SPCH H2O 52 7.30458 -0.0532 -6.1194 1 0 ATOM 157 SPCO H2O 53 8.36023 -4.1316 -8.1744 1 0 ATOM 158 SPCH H2O 53 8.11807 -3.7434 -7.2803 1 0 ATOM 159 SPCH H2O 53 8.07072 -3.4924 -8.9040 1 0 ATOM 160 SPCO H2O 54 5.8281 1.13728 1.30013 1 0 ATOM 161 SPCH H2O 54 6.6102 1.67043 0.86578 1 0 ATOM 162 SPCH H2O 54 5.07332 1.32647 0.66770 1 0 ATOM 163 SPCO H2O 55 -8.0588 5.2476 -7.3928 1 0 ATOM 164 SPCH H2O 55 -8.5040 4.94364 -6.5022 1 0 ATOM 165 SPCH H2O 55 -8.3613 4.5845 -8.1229 1 0 ATOM 166 SPCO H2O 56 7.06396 -7.3817 -5.7672 1 0 ATOM 167 SPCH H2O 56 7.54317 -6.4901 -5.5857 1 0 ATOM 168 SPCH H2O 56 6.08662 -7.2060 -5.5624 1 0 ATOM 169 SPCO H2O 57 3.45564 -1.2945 4.40788 1 0 ATOM 170 SPCH H2O 57 3.13384 -1.9904 5.05969 1 0 ATOM 171 SPCH H2O 57 2.87619 -0.4484 4.38392 1 0 ATOM 172 SPCO H2O 58 4.68514 4.21455 2.55547 1 0 ATOM 173 SPCH H2O 58 5.28307 4.41518 1.75984 1 0 ATOM 174 SPCH H2O 58 4.12595 3.44418 2.24512 1 0 ATOM 175 SPCO H2O 59 6.9636 2.83402 -6.2251 1 0 ATOM 176 SPCH H2O 59 7.17158 2.01314 -6.7414 1 0 ATOM 177 SPCH H2O 59 6.75371 2.4862 -5.2753 1 0 ATOM 178 SPCO H2O 60 3.08497 -7.3706 7.94073 1 0 ATOM 179 SPCH H2O 60 2.70446 -8.1924 7.48551 1 0 ATOM 180 SPCH H2O 60 3.57185 -7.6357 8.77264 1 0 ATOM 181 SPCO H2O 61 -4.3767 2.54515 2.51935 1 0 ATOM 182 SPCH H2O 61 -5.2681 3.02791 2.57285 1 0 ATOM 183 SPCH H2O 61 -3.6746 3.18843 2.89949 1 0 ATOM 184 SPCO H2O 62 -3.3266 2.322 6.19943 1 0 ATOM 185 SPCH H2O 62 -2.9089 3.20324 6.50689 1 0 ATOM 186 SPCH H2O 62 -3.6002 2.42654 5.24084 1 0 ATOM 187 SPCO H2O 63 -0.3207 -7.8885 -2.4985 1 0 ATOM 188 SPCH H2O 63 -0.8811 -7.3478 -1.8327 1 0 ATOM 189 SPCH H2O 63 0.53480 -7.4033 -2.7786 1 0 ATOM 190 SPCO H2O 64 -4.6992 4.48976 -1.0006 1 0 ATOM 191 SPCH H2O 64 -4.7921 5.18117 -1.7764 1 0 ATOM 192 SPCH H2O 64 -4.9491 5.00129 -0.1954 1 0 ATOM 193 SPCO H2O 65 6.8977 -2.7778 5.56404 1 0 ATOM 194 SPCH H2O 65 7.2008 -3.7025 5.41178 1 0 ATOM 195 SPCH H2O 65 6.02083 -2.5927 5.09371 1 0 ATOM 196 SPCO H2O 66 5.75258 -3.1751 1.1409 1 0 ATOM 197 SPCH H2O 66 6.69029 -3.3337 0.73273 1 0 ATOM 198 SPCH H2O 66 5.93043 -2.3804 1.74193 1 0 ATOM 199 SPCO H2O 67 4.95551 -7.1616 6.09985 1 0 ATOM 200 SPCH H2O 67 5.28655 -8.1539 6.15603 1 0 ATOM 201 SPCH H2O 67 4.05054 -7.3459 6.5517 1 0 ATOM 202 SPCO H2O 68 3.05232 8.07074 -7.3614 1 0 ATOM 203 SPCH H2O 68 2.62791 8.34431 -6.4491 1 0 ATOM 204 SPCH H2O 68 2.28714 7.62287 -7.7992 1 0 ATOM 205 SPCO H2O 69 2.42962 -9.1695 5.90387 1 0 ATOM 206 SPCH H2O 69 2.82809 8.30167 6.20753 1 0 ATOM 207 SPCH H2O 69 2.64714 -9.0873 4.92571 1 0 ATOM 208 SPCO H2O 70 -0.2244 -5.0351 4.65039 1 0 ATOM 209 SPCH H2O 70 0.60007 -5.4076 4.23414 1 0 ATOM 210 SPCH H2O 70 0.00378 -3.9877 4.65397 1 0 ATOM 211 SPCO H2O 71 -0.2461 2.3176 -3.5640 1 0 ATOM 212 SPCH H2O 71 -0.9625 2.91362 -3.9338 1 0 ATOM 213 SPCH H2O 71 -0.5509 1.37933 -3.8590 1 0 ATOM 214 SPCO H2O 72 0.76220 0.09279 -0.6930 1 0 ATOM 215 SPCH H2O 72 -0.1254 -0.1167 -1.1641 1 0 ATOM 216 SPCH H2O 72 1.55023 -0.0423 -1.3203 1 0 ATOM 217 SPCO H2O 73 0.94570 3.30156 3.46174 1 0 ATOM 218 SPCH H2O 73 1.63825 2.80607 2.97071 1 0 ATOM 219 SPCH H2O 73 0.17282 2.59832 3.50553 1 0 ATOM 220 SPCO H2O 74 -7.2201 9.02059 -8.4481 1 0 ATOM 221 SPCH H2O 74 -6.1874 -9.1306 -8.5098 1 0 ATOM 222 SPCH H2O 74 -7.6356 -8.6361 -7.8604 1 0 ATOM 223 SPCO H2O 75 -6.409 -8.4271 7.12426 1 0 ATOM 224 SPCH H2O 75 -6.7015 9.03326 7.39061 1 0 ATOM 225 SPCH H2O 75 -5.6666 -8.1806 7.8111 1 0 ATOM 226 SPCO H2O 76 5.86929 -5.0842 3.14606 1 0 ATOM 227 SPCH H2O 76 5.69784 -4.5371 2.25643 1 0 ATOM 228 SPCH H2O 76 6.88666 -5.2265 3.14732 1 0 ATOM 229 SPCO H2O 77 -8.4980 -5.3988 -5.4507 1 0 ATOM 230 SPCH H2O 77 -7.7369 -5.0485 -4.8403 1 0 ATOM 231 SPCH H2O 77 -9.0534 -4.5744 -5.7395 1 0 ATOM 232 SPCO H2O 78 2.56283 -0.6320 1.23878 1 0 ATOM 233 SPCH H2O 78 1.85181 -0.1847 0.56428 1 0 ATOM 234 SPCH H2O 78 2.83602 -1.5043 0.76420 1 0 ATOM 235 SPCO H2O 79 4.23968 -8.2520 -8.2713 1 0 ATOM 236 SPCH H2O 79 5.07345 -8.8656 -8.3652 1 0 ATOM 237 SPCH H2O 79 3.66191 -8.7888 -7.6754 1 0 ATOM 238 SPCO H2O 80 -1.7135 -1.4893 3.26868 1 0 ATOM 239 SPCH H2O 80 -2.5673 -0.9219 3.38015 1 0 ATOM 240 SPCH H2O 80 -2.0913 -2.3219 2.79011 1 0 ATOM 241 SPCO H2O 81 -3.5838 5.64732 -5.4009 1 0 ATOM 242 SPCH H2O 81 -4.0094 6.14629 -4.6356 1 0 ATOM 243 SPCH H2O 81 -4.2808 5.53304 -6.1082 1 0 ATOM 244 SPCO H2O 82 0.55029 8.07116 -2.9556 1 0 ATOM 245 SPCH H2O 82 0.03614 7.63608 -3.7120 1 0 ATOM 246 SPCH H2O 82 0.04567 8.94106 -2.6441 1 0 ATOM 247 SPCO H2O 83 6.47152 4.88342 0.80169 1 0 ATOM 248 SPCH H2O 83 7.14449 4.11972 0.84580 1 0 ATOM 249 SPCH H2O 83 7.032 5.74009 0.93655 1 0 ATOM 250 SPCO H2O 84 5.24197 3.42131 6.74733 1 0 ATOM 251 SPCH H2O 84 5.76063 2.86543 7.44476 1 0 ATOM 252 SPCH H2O 84 5.44935 2.95595 5.85716 1 0 ATOM 253 SPCO H2O 85 4.43369 -1.5175 -2.6032 1 0 ATOM 254 SPCH H2O 85 3.68136 -1.6250 -3.3294 1 0 ATOM 255 SPCH H2O 85 5.20082 -2.1567 -2.8009 1 0 ATOM 256 SPCO H2O 86 1.47882 -0.8838 -7.0199 1 0 ATOM 257 SPCH H2O 86 0.68108 -1.2913 -6.5742 1 0 ATOM 258 SPCH H2O 86 1.74465 -1.5254 -7.7554 1 0 ATOM 259 SPCO H2O 87 2.12637 1.93063 -7.8335 1 0 ATOM 260 SPCH H2O 87 2.18919 2.62558 -7.0995 1 0 ATOM 261 SPCH H2O 87 1.78015 1.05875 -7.3914 1 0 ATOM 262 SPCO H2O 88 -4.3570 5.47306 8.24598 1 0 ATOM 263 SPCH H2O 88 -3.7714 6.17831 8.74859 1 0 ATOM 264 SPCH H2O 88 -4.8713 5.05694 9.01974 1 0 ATOM 265 SPCO H2O 89 -3.9840 0.83051 0.47329 1 0 ATOM 266 SPCH H2O 89 -3.0557 0.55017 0.78476 1 0 ATOM 267 SPCH H2O 89 -4.2647 1.41758 1.29196 1 0 ATOM 268 SPCO H2O 90 -6.4188 -4.7781 -4.2270 1 0 ATOM 269 SPCH H2O 90 -6.4944 -5.6633 -3.6609 1 0 ATOM 270 SPCH H2O 90 -5.4502 -4.7745 -4.6092 1 0 ATOM 271 SPCO H2O 91 -5.1081 6.34292 -3.1709 1 0 ATOM 272 SPCH H2O 91 -4.6899 7.31515 -3.1401 1 0 ATOM 273 SPCH H2O 91 -6.0411 6.38461 -2.8059 1 0 ATOM 274 SPCO H2O 92 -2.3214 -7.9243 -4.4722 1 0 ATOM 275 SPCH H2O 92 -2.5794 -6.9883 -4.5373 1 0 ATOM 276 SPCH H2O 92 -1.5486 -7.8489 -3.8461 1 0 ATOM 277 SPCO H2O 93 -8.4635 1.38785 5.41804 1 0 ATOM 278 SPCH H2O 93 -8.2764 2.02328 4.60219 1 0 ATOM 279 SPCH H2O 93 8.89322 1.19845 5.33771 1 0 ATOM 280 SPCO H2O 94 0.08868 8.45054 4.77823 1 0 ATOM 281 SPCH H2O 94 -0.3879 -9.0161 4.56635 1 0 ATOM 282 SPCH H2O 94 0.92631 8.67019 5.27251 1 0 ATOM 283 SPCO H2O 95 -8.6282 0.43298 1.17604 1 0 ATOM 284 SPCH H2O 95 -8.7163 -0.5206 1.43095 1 0 ATOM 285 SPCH H2O 95 -7.7895 0.66159 0.70568 1 0 ATOM 286 SPCO H2O 96 -6.8175 -7.0328 -2.9897 1 0 ATOM 287 SPCH H2O 96 -7.7469 -7.2798 -2.5861 1 0 ATOM 288 SPCH H2O 96 -6.6797 -7.9320 -3.4935 1 0 ATOM 289 SPCO H2O 97 5.63595 -9.0779 -2.1877 1 0 ATOM 290 SPCH H2O 97 4.82884 8.68044 -1.8633 1 0 ATOM 291 SPCH H2O 97 6.4584 8.7184 -2.1350 1 0 ATOM 292 SPCO H2O 98 -1.1675 6.68394 -5.1854 1 0 ATOM 293 SPCH H2O 98 -2.0645 6.39968 -5.4683 1 0 ATOM 294 SPCH H2O 98 -0.5280 5.88578 -5.4332 1 0 ATOM 295 SPCO H2O 99 -7.9949 -2.9303 2.35043 1 0 ATOM 296 SPCH H2O 99 -8.6964 -2.3996 2.94613 1 0 ATOM 297 SPCH H2O 99 -8.0613 -3.9018 2.5204 1 0 ATOM 298 SPCO H2O 100 8.7429 4.71555 -5.3586 1 0 ATOM 299 SPCH H2O 100 -9.1319 4.17283 -4.6750 1 0 ATOM 300 SPCH H2O 100 8.18921 4.03344 -5.9224 1 0 ATOM 301 SPCO H2O 101 -3.6520 1.10469 -7.2163 1 0 ATOM 302 SPCH H2O 101 -3.2692 2.0235 -7.3829 1 0 ATOM 303 SPCH H2O 101 -3.5987 0.60691 -8.1065 1 0 ATOM 304 SPCO H2O 102 8.82461 -8.9853 -3.8804 1 0 ATOM 305 SPCH H2O 102 8.50126 -8.4267 -4.6385 1 0 ATOM 306 SPCH H2O 102 -8.9523 8.5987 -4.2957 1 0 ATOM 307 SPCO H2O 103 -6.2946 8.16053 1.2457 1 0 ATOM 308 SPCH H2O 103 -5.8551 8.43553 2.1486 1 0 ATOM 309 SPCH H2O 103 -5.6563 8.48541 0.52617 1 0 ATOM 310 SPCO H2O 104 -6.9696 -7.1166 -6.7175 1 0 ATOM 311 SPCH H2O 104 -7.3990 -6.5600 -5.9967 1 0 ATOM 312 SPCH H2O 104 -6.0038 -7.1801 -6.6238 1 0 ATOM 313 SPCO H2O 105 5.65823 2.20704 4.64142 1 0 ATOM 314 SPCH H2O 105 5.56512 2.95677 3.91335 1 0 ATOM 315 SPCH H2O 105 6.38554 1.6088 4.19351 1 0 ATOM 316 SPCO H2O 106 5.0752 0.12437 6.59776 1 0 ATOM 317 SPCH H2O 106 4.73462 0.46546 5.6948 1 0 ATOM 318 SPCH H2O 106 5.99956 0.58445 6.77044 1 0 ATOM 319 SPCO H2O 107 2.60196 -8.0266 1.4553 1 0 ATOM 320 SPCH H2O 107 3.55417 -7.7824 1.10726 1 0 ATOM 321 SPCH H2O 107 2.68742 -8.6404 2.30481 1 0 ATOM 322 SPCO H2O 108 -3.9456 -6.6144 0.58747 1 0 ATOM 323 SPCH H2O 108 -4.1061 -6.5470 1.57783 1 0 ATOM 324 SPCH H2O 108 -4.7395 -6.1427 0.07617 1 0 ATOM 325 SPCO H2O 109 9.05944 8.58164 0.60519 1 0 ATOM 326 SPCH H2O 109 8.79108 7.76274 1.18536 1 0 ATOM 327 SPCH H2O 109 -8.3009 8.53295 0.58506 1 0 ATOM 328 SPCO H2O 110 2.45947 -7.6794 -2.4888 1 0 ATOM 329 SPCH H2O 110 2.81187 -8.1703 -1.6734 1 0 ATOM 330 SPCH H2O 110 2.81662 -6.7461 -2.2961 1 0 ATOM 331 SPCO H2O 111 -7.4013 -4.9401 4.40661 1 0 ATOM 332 SPCH H2O 111 -6.8650 -4.5586 5.12154 1 0 ATOM 333 SPCH H2O 111 -7.5896 -5.9502 4.55941 1 0 ATOM 334 SPCO H2O 112 -9.0358 4.41432 8.35551 1 0 ATOM 335 SPCH H2O 112 -8.5852 5.3242 8.4076 1 0 ATOM 336 SPCH H2O 112 -8.3402 3.90259 7.74247 1 0 ATOM 337 SPCO H2O 113 -6.1284 -2.8495 -1.1806 1 0 ATOM 338 SPCH H2O 113 -6.1559 -3.8580 -1.0873 1 0 ATOM 339 SPCH H2O 113 -7.0246 -2.6681 -1.6299 1 0 ATOM 340 SPCO H2O 114 -1.7030 4.19817 6.94673 1 0 ATOM 341 SPCH H2O 114 -2.0172 4.99542 7.45626 1 0 ATOM 342 SPCH H2O 114 -0.7386 4.38113 6.78133 1 0 ATOM 343 SPCO H2O 115 8.39693 -5.0037 4.58569 1 0 ATOM 344 SPCH H2O 115 -8.9354 -4.9663 4.66254 1 0 ATOM 345 SPCH H2O 115 8.11291 -5.5536 5.37558 1 0 ATOM 346 SPCO H2O 116 1.95223 -9.1263 -5.1629 1 0 ATOM 347 SPCH H2O 116 1.75243 -9.0196 -4.1769 1 0 ATOM 348 SPCH H2O 116 1.61965 -8.2508 -5.5235 1 0 ATOM 349 SPCO H2O 117 7.04011 2.93887 8.64612 1 0 ATOM 350 SPCH H2O 117 7.97235 3.4092 8.64981 1 0 ATOM 351 SPCH H2O 117 6.47605 3.4491 -9.0984 1 0 ATOM 352 SPCO H2O 118 -1.6852 2.46262 1.11713 1 0 ATOM 353 SPCH H2O 118 -1.2418 2.89406 0.31318 1 0 ATOM 354 SPCH H2O 118 -2.5765 2.92 0.99585 1 0 ATOM 355 SPCO H2O 119 8.15281 -8.2284 8.59016 1 0 ATOM 356 SPCH H2O 119 8.99322 -7.7452 9.01612 1 0 ATOM 357 SPCH H2O 119 8.45182 -9.0081 8.02581 1 0 ATOM 358 SPCO H2O 120 7.61295 -2.3181 8.09739 1 0 ATOM 359 SPCH H2O 120 7.64865 -2.5093 7.09866 1 0 ATOM 360 SPCH H2O 120 6.58068 -2.2341 8.26398 1 0 ATOM 361 SPCO H2O 121 8.09226 7.64319 7.04462 1 0 ATOM 362 SPCH H2O 121 8.23981 7.03539 7.87822 1 0 ATOM 363 SPCH H2O 121 7.62857 6.96714 6.39774 1 0 ATOM 364 SPCO H2O 122 -7.6905 4.6045 1.50078 1 0 ATOM 365 SPCH H2O 122 -6.7644 5.07443 1.46892 1 0 ATOM 366 SPCH H2O 122 -8.1049 4.58184 0.55378 1 0 ATOM 367 SPCO H2O 123 3.2183 8.6803 3.4002 1 0 ATOM 368 SPCH H2O 123 2.92319 7.93802 2.76215 1 0 ATOM 369 SPCH H2O 123 4.257 8.65594 3.36355 1 0 ATOM 370 SPCO H2O 124 -4.1533 5.80224 5.2438 1 0 ATOM 371 SPCH H2O 124 -3.7010 5.77707 6.15739 1 0 ATOM 372 SPCH H2O 124 -5.1304 6.06342 5.46683 1 0 ATOM 373 SPCO H2O 125 -7.1533 -0.8431 5.463 1 0 ATOM 374 SPCH H2O 125 -7.6219 0.03932 5.29192 1 0 ATOM 375 SPCH H2O 125 -7.6880 -1.3305 6.18798 1 0 ATOM 376 SPCO H2O 126 -3.7649 -9.1734 -0.3825 1 0 ATOM 377 SPCH H2O 126 -3.5891 -8.2298 0.07240 1 0 ATOM 378 SPCH H2O 126 -2.9125 8.62732 -0.2522 1 0 ATOM 379 SPCO H2O 127 -0.6126 -4.6200 8.69384 1 0 ATOM 380 SPCH H2O 127 -1.3307 -4.7032 8.03247 1 0 ATOM 381 SPCH H2O 127 -0.0435 -3.8497 8.39173 1 0 ATOM 382 SPCO H2O 128 3.78777 7.83405 -0.9507 1 0 ATOM 383 SPCH H2O 128 4.48018 7.79603 -0.1571 1 0 ATOM 384 SPCH H2O 128 3.4895 6.94204 -1.2305 1 0 ATOM 385 SPCO H2O 129 2.72984 6.29129 -4.3596 1 0 ATOM 386 SPCH H2O 129 2.20751 7.16479 -4.2658 1 0 ATOM 387 SPCH H2O 129 2.62472 5.76174 -3.4886 1 0 ATOM 388 SPCO H2O 130 -7.6626 -5.4833 7.23199 1 0 ATOM 389 SPCH H2O 130 -7.9263 -5.7544 8.167 1 0 ATOM 390 SPCH H2O 130 -7.8439 -6.2492 6.60877 1 0 ATOM 391 SPCO H2O 131 1.07928 4.60998 7.40923 1 0 ATOM 392 SPCH H2O 131 1.55217 4.86727 6.56693 1 0 ATOM 393 SPCH H2O 131 1.50705 3.71619 7.57309 1 0 ATOM 394 SPCO H2O 132 0.38642 -1.9071 8.0783 1 0 ATOM 395 SPCH H2O 132 0.29790 -1.3321 7.21403 1 0 ATOM 396 SPCH H2O 132 -0.2523 -1.4110 8.71353 1 0 ATOM 397 SPCO H2O 133 -2.2247 5.8281 -2.3800 1 0 ATOM 398 SPCH H2O 133 -1.8591 6.15749 -3.2859 1 0 ATOM 399 SPCH H2O 133 -3.1600 6.17986 -2.3647 1 0 ATOM 400 SPCO H2O 134 6.94096 8.92827 -7.7417 1 0 ATOM 401 SPCH H2O 134 6.82056 -8.7482 -6.9556 1 0 ATOM 402 SPCH H2O 134 7.33204 -8.9215 -8.5322 1 0 ATOM 403 SPCO H2O 135 -5.5786 2.43466 -6.0665 1 0 ATOM 404 SPCH H2O 135 -4.9192 1.70787 -6.3344 1 0 ATOM 405 SPCH H2O 135 -5.4631 2.41856 -5.0232 1 0 ATOM 406 SPCO H2O 136 3.35509 -4.5336 -6.9603 1 0 ATOM 407 SPCH H2O 136 2.91242 -3.9493 -7.6789 1 0 ATOM 408 SPCH H2O 136 4.25767 -4.7809 -7.3549 1 0 ATOM 409 SPCO H2O 137 1.4063 4.37525 0.68203 1 0 ATOM 410 SPCH H2O 137 2.12582 3.73106 0.96699 1 0 ATOM 411 SPCH H2O 137 0.59541 3.78078 0.65388 1 0 ATOM 412 SPCO H2O 138 -8.4935 7.34737 -4.8848 1 0 ATOM 413 SPCH H2O 138 -7.9793 7.07711 -5.7038 1 0 ATOM 414 SPCH H2O 138 -9.0296 6.49542 -4.6865 1 0 ATOM 415 SPCO H2O 139 7.23319 -5.9789 6.74348 1 0 ATOM 416 SPCH H2O 139 6.22062 -6.1257 6.53272 1 0 ATOM 417 SPCH H2O 139 7.50686 -6.5013 7.55255 1 0 ATOM 418 SPCO H2O 140 -5.1276 -6.7530 3.14669 1 0 ATOM 419 SPCH H2O 140 -5.5574 -6.3201 3.97197 1 0 ATOM 420 SPCH H2O 140 -5.0516 -7.7338 3.34503 1 0 ATOM 421 SPCO H2O 141 -8.3668 -6.2902 -8.7353 1 0 ATOM 422 SPCH H2O 141 -7.6971 -6.5169 -7.9882 1 0 ATOM 423 SPCH H2O 141 -8.9767 -5.5328 -8.4537 1 0 ATOM 424 SPCO H2O 142 -1.4998 7.38324 6.98897 1 0 ATOM 425 SPCH H2O 142 -1.5396 8.38221 7.26311 1 0 ATOM 426 SPCH H2O 142 -1.2659 7.35449 6.01341 1 0 ATOM 427 SPCO H2O 143 -8.1065 3.3059 -3.3847 1 0 ATOM 428 SPCH H2O 143 -8.3448 2.33201 -3.1064 1 0 ATOM 429 SPCH H2O 143 -7.0957 3.37521 -3.3775 1 0 ATOM 430 SPCO H2O 144 1.57392 0.48202 3.5873 1 0 ATOM 431 SPCH H2O 144 0.59874 0.78248 3.36082 1 0 ATOM 432 SPCH H2O 144 1.90115 -0.1583 2.80961 1 0 ATOM 433 SPCO H2O 145 -4.6601 -8.4226 -8.9669 1 0 ATOM 434 SPCH H2O 145 -3.9524 -8.8964 -8.4297 1 0 ATOM 435 SPCH H2O 145 -4.2649 -7.5385 9.14134 1 0 ATOM 436 SPCO H2O 146 -8.2449 -0.5554 -5.3378 1 0 ATOM 437 SPCH H2O 146 -9.1249 -0.0949 -5.2550 1 0 ATOM 438 SPCH H2O 146 -8.2533 -1.0916 -6.2566 1 0 ATOM 439 SPCO H2O 147 6.03473 -7.9123 3.71087 1 0 ATOM 440 SPCH H2O 147 5.80309 -7.7088 4.65345 1 0 ATOM 441 SPCH H2O 147 6.09324 -6.9708 3.38609 1 0 ATOM 442 SPCO H2O 148 -5.9383 -0.0367 -1.1778 1 0 ATOM 443 SPCH H2O 148 -6.1225 -0.9681 -0.7979 1 0 ATOM 444 SPCH H2O 148 -5.3726 0.43786 -0.4662 1 0 ATOM 445 SPCO H2O 149 0.56897 8.60054 0.24325 1 0 ATOM 446 SPCH H2O 149 1.19305 9.06619 -0.3849 1 0 ATOM 447 SPCH H2O 149 1.17126 8.14409 0.91266 1 0 ATOM 448 SPCO H2O 150 3.1646 4.58019 5.62635 1 0 ATOM 449 SPCH H2O 150 3.45727 4.28897 4.70693 1 0 ATOM 450 SPCH H2O 150 3.66169 4.08972 6.31976 1 0 ATOM 451 SPCO H2O 151 8.13088 -7.5189 1.85813 1 0 ATOM 452 SPCH H2O 151 7.31822 -7.8692 2.3856 1 0 ATOM 453 SPCH H2O 151 8.33781 -8.2237 1.14157 1 0 ATOM 454 SPCO H2O 152 -2.7010 -4.6235 6.23314 1 0 ATOM 455 SPCH H2O 152 -3.5005 -4.2348 5.74547 1 0 ATOM 456 SPCH H2O 152 -1.9463 -4.5630 5.59165 1 0 ATOM 457 SPCO H2O 153 3.23375 3.9158 -5.8673 1 0 ATOM 458 SPCH H2O 153 3.28736 4.80702 -5.3705 1 0 ATOM 459 SPCH H2O 153 3.96162 3.86645 -6.5557 1 0 ATOM 460 SPCO H2O 154 8.02754 -3.1043 -5.8303 1 0 ATOM 461 SPCH H2O 154 7.2862 -3.4028 -5.1738 1 0 ATOM 462 SPCH H2O 154 8.27657 -2.2193 -5.4367 1 0 ATOM 463 SPCO H2O 155 7.33822 -2.8604 -2.3074 1 0 ATOM 464 SPCH H2O 155 8.28005 -2.8437 -2.5715 1 0 ATOM 465 SPCH H2O 155 7.44824 -2.7297 -1.319 1 0 ATOM 466 SPCO H2O 156 -8.1054 -1.8457 -7.6714 1 0 ATOM 467 SPCH H2O 156 -7.3695 -1.4181 -8.2162 1 0 ATOM 468 SPCH H2O 156 -8.6472 -2.4527 -8.2726 1 0 ATOM 469 SPCO H2O 157 0.56831 -4.1012 0.50950 1 0 ATOM 470 SPCH H2O 157 0.53802 -4.8374 1.20271 1 0 ATOM 471 SPCH H2O 157 1.49285 -3.6778 0.48466 1 0 ATOM 472 SPCO H2O 158 -4.1419 8.73339 -3.0552 1 0 ATOM 473 SPCH H2O 158 -3.7271 -8.9184 -3.6929 1 0 ATOM 474 SPCH H2O 158 -3.8068 8.99913 -2.0993 1 0 ATOM 475 SPCO H2O 159 1.85389 6.76262 2.06755 1 0 ATOM 476 SPCH H2O 159 1.68425 5.99159 1.42165 1 0 ATOM 477 SPCH H2O 159 1.17538 6.51518 2.77449 1 0 ATOM 478 SPCO H2O 160 4.65979 1.03381 -2.0119 1 0 ATOM 479 SPCH H2O 160 4.6654 0.07246 -1.8202 1 0 ATOM 480 SPCH H2O 160 3.7064 1.32945 -2.2846 1 0 ATOM 481 SPCO H2O 161 7.02999 5.69357 5.79494 1 0 ATOM 482 SPCH H2O 161 6.38552 4.93899 5.977 1 0 ATOM 483 SPCH H2O 161 7.93114 5.29896 5.67231 1 0 ATOM 484 SPCO H2O 162 -4.6718 0.78069 7.9749 1 0 ATOM 485 SPCH H2O 162 -4.2604 1.4415 7.35368 1 0 ATOM 486 SPCH H2O 162 -4.7156 -0.0802 7.46226 1 0 ATOM 487 SPCO H2O 163 -9.0149 8.72712 4.81798 1 0 ATOM 488 SPCH H2O 163 -8.4571 7.99993 4.47506 1 0 ATOM 489 SPCH H2O 163 8.75498 8.2147 5.47364 1 0 ATOM 490 SPCO H2O 164 -8.7224 3.04614 3.28166 1 0 ATOM 491 SPCH H2O 164 9.02742 2.59136 2.62466 1 0 ATOM 492 SPCH H2O 164 -8.0046 3.54597 2.70564 1 0 ATOM 493 SPCO H2O 165 -2.0179 -4.9999 -7.2142 1 0 ATOM 494 SPCH H2O 165 -1.3041 -4.6782 -7.8560 1 0 ATOM 495 SPCH H2O 165 -1.8759 -6.0223 -7.2650 1 0 ATOM 496 SPCO H2O 166 -6.9389 7.11428 7.89353 1 0 ATOM 497 SPCH H2O 166 -6.2075 6.42132 8.12733 1 0 ATOM 498 SPCH H2O 166 -7.4381 7.38942 8.75591 1 0 ATOM 499 SPCO H2O 167 -1.0766 -3.6535 -1.4296 1 0 ATOM 500 SPCH H2O 167 -1.9768 -3.3390 -1.0687 1 0 ATOM 501 SPCH H2O 167 -0.4277 -3.5431 -0.6472 1 0 ATOM 502 SPCO H2O 168 5.32092 -2.6083 -5.5455 1 0 ATOM 503 SPCH H2O 168 5.38902 -1.6097 -5.7431 1 0 ATOM 504 SPCH H2O 168 4.34987 -2.8767 -5.7618 1 0 ATOM 505 SPCO H2O 169 -3.3404 -6.2833 8.55065 1 0 ATOM 506 SPCH H2O 169 -3.3483 -5.5507 -9.1054 1 0 ATOM 507 SPCH H2O 169 -3.3646 -5.8349 7.6245 1 0 ATOM 508 SPCO H2O 170 -2.4187 3.50935 -7.3196 1 0 ATOM 509 SPCH H2O 170 -3.075 4.00252 -6.7131 1 0 ATOM 510 SPCH H2O 170 -1.5427 3.94222 -7.3392 1 0 ATOM 511 SPCO H2O 171 3.15917 -3.2839 0.29714 1 0 ATOM 512 SPCH H2O 171 4.11486 -3.2032 0.60487 1 0 ATOM 513 SPCH H2O 171 3.00706 -4.2165 0.76595 1 0 ATOM 514 SPCO H2O 172 -7.4330 2.3264 -7.7556 1 0 ATOM 515 SPCH H2O 172 -7.2662 1.38177 -8.0628 1 0 ATOM 516 SPCH H2O 172 -6.8144 2.37032 -6.9412 1 0 ATOM 517 SPCO H2O 173 0.54489 -2.4263 4.89161 1 0 ATOM 518 SPCH H2O 173 -0.0646 -2.1629 4.13997 1 0 ATOM 519 SPCH H2O 173 0.54368 -1.5668 5.41104 1 0 ATOM 520 SPCO H2O 174 -3.2259 -8.9062 5.58093 1 0 ATOM 521 SPCH H2O 174 -2.7169 -8.9203 6.48964 1 0 ATOM 522 SPCH H2O 174 -2.6347 -8.5153 4.85093 1 0 ATOM 523 SPCO H2O 175 1.00561 -3.7232 -5.4498 1 0 ATOM 524 SPCH H2O 175 1.3741 -4.4363 -6.0996 1 0 ATOM 525 SPCH H2O 175 0.12439 -4.0845 -5.0229 1 0 ATOM 526 SPCO H2O 176 5.73687 -0.8744 2.80035 1 0 ATOM 527 SPCH H2O 176 4.86407 -0.8874 3.33076 1 0 ATOM 528 SPCH H2O 176 5.61268 -0.0586 2.1421 1 0 ATOM 529 SPCO H2O 177 -1.5387 -6.2335 -0.7164 1 0 ATOM 530 SPCH H2O 177 -1.3611 -5.3571 -1.1582 1 0 ATOM 531 SPCH H2O 177 -2.3794 -6.1780 -0.0927 1 0 ATOM 532 SPCO H2O 178 6.75478 2.62268 -3.0130 1 0 ATOM 533 SPCH H2O 178 6.30329 3.44792 -3.3582 1 0 ATOM 534 SPCH H2O 178 5.98769 2.04409 -2.6652 1 0 ATOM 535 SPCO H2O 179 -5.4775 4.70056 -7.6502 1 0 ATOM 536 SPCH H2O 179 -6.3440 5.14782 -7.6250 1 0 ATOM 537 SPCH H2O 179 -5.7519 3.74113 -7.5003 1 0 ATOM 538 SPCO H2O 180 -3.3896 -2.4413 -0.6841 1 0 ATOM 539 SPCH H2O 180 -4.3572 -2.6419 -0.8940 1 0 ATOM 540 SPCH H2O 180 -3.2813 -1.4605 -0.8871 1 0 ATOM 541 SPCO H2O 181 -2.8882 4.34402 3.67466 1 0 ATOM 542 SPCH H2O 181 -1.9371 4.59167 3.81533 1 0 ATOM 543 SPCH H2O 181 -3.4867 4.96945 4.24916 1 0 ATOM 544 SPCO H2O 182 8.14225 6.78278 2.27541 1 0 ATOM 545 SPCH H2O 182 8.86795 6.47121 2.85609 1 0 ATOM 546 SPCH H2O 182 7.44931 7.15253 2.92994 1 0 ATOM 547 SPCO H2O 183 7.96764 2.65418 0.32941 1 0 ATOM 548 SPCH H2O 183 8.6363 1.91529 0.58423 1 0 ATOM 549 SPCH H2O 183 8.5201 3.40169 -0.1335 1 0 ATOM 550 SPCO H2O 184 -1.3376 -7.5829 4.18891 1 0 ATOM 551 SPCH H2O 184 -1.0744 -7.5784 3.23064 1 0 ATOM 552 SPCH H2O 184 -1.3289 -6.6552 4.55497 1 0 ATOM 553 SPCO H2O 185 7.74466 1.10347 3.50695 1 0 ATOM 554 SPCH H2O 185 7.17829 0.54884 2.84572 1 0 ATOM 555 SPCH H2O 185 8.55541 0.54972 3.75933 1 0 ATOM 556 SPCO H2O 186 8.51372 6.94094 -8.6145 1 0 ATOM 557 SPCH H2O 186 -9.0708 6.72123 -8.0323 1 0 ATOM 558 SPCH H2O 186 8.10721 7.83473 -8.3247 1 0 ATOM 559 SPCO H2O 187 -1.2572 -4.2961 -4.2123 1 0 ATOM 560 SPCH H2O 187 -1.7697 -3.5968 -4.7388 1 0 ATOM 561 SPCH H2O 187 -1.2185 -4.1624 -3.2183 1 0 ATOM 562 SPCO H2O 188 -5.1734 5.64213 1.55244 1 0 ATOM 563 SPCH H2O 188 -5.7382 6.51022 1.44955 1 0 ATOM 564 SPCH H2O 188 -4.3166 6.00667 2.03028 1 0 ATOM 565 SPCO H2O 189 7.53899 1.04211 7.06793 1 0 ATOM 566 SPCH H2O 189 8.12486 0.33395 7.52 1 0 ATOM 567 SPCH H2O 189 7.43554 1.87231 7.75573 1 0 ATOM 568 SPCO H2O 190 -3.1165 7.22159 2.33367 1 0 ATOM 569 SPCH H2O 190 -2.6875 7.29453 1.38836 1 0 ATOM 570 SPCH H2O 190 -2.2889 7.02535 2.84408 1 0 ATOM 571 SPCO H2O 191 -5.32 -4.2906 1.97961 1 0 ATOM 572 SPCH H2O 191 -5.3151 -5.2117 2.48654 1 0 ATOM 573 SPCH H2O 191 -5.8235 -4.5300 1.12214 1 0 ATOM 574 SPCO H2O 192 -4.7169 -3.7475 4.86217 1 0 ATOM 575 SPCH H2O 192 -5.0887 -3.5250 3.94621 1 0 ATOM 576 SPCH H2O 192 -4.9883 -2.8636 5.29654 1 0 ATOM 577 SPCO H2O 193 -0.8511 1.35951 3.44494 1 0 ATOM 578 SPCH H2O 193 -1.1676 1.79972 2.58126 1 0 ATOM 579 SPCH H2O 193 -1.5053 0.61794 3.628 1 0 ATOM 580 SPCO H2O 194 -6.7563 6.95099 5.29053 1 0 ATOM 581 SPCH H2O 194 -6.8321 7.17823 6.34497 1 0 ATOM 582 SPCH H2O 194 -6.0212 7.55391 4.87692 1 0 ATOM 583 SPCO H2O 195 9.00415 1.11328 -2.8678 1 0 ATOM 584 SPCH H2O 195 8.64823 0.20808 -3.1485 1 0 ATOM 585 SPCH H2O 195 8.11227 1.63352 -2.7739 1 0 ATOM 586 SPCO H2O 196 -3.3106 2.51766 -1.7789 1 0 ATOM 587 SPCH H2O 196 -3.4378 1.7567 -1.1430 1 0 ATOM 588 SPCH H2O 196 -3.9520 3.28515 -1.4819 1 0 ATOM 589 SPCO H2O 197 -0.9183 3.91868 -1.259 1 0 ATOM 590 SPCH H2O 197 -0.7899 3.15856 -1.9159 1 0 ATOM 591 SPCH H2O 197 -1.3179 4.67913 -1.8566 1 0 ATOM 592 SPCO H2O 198 5.28531 4.14232 -7.8380 1 0 ATOM 593 SPCH H2O 198 5.47125 5.08728 -7.47 1 0 ATOM 594 SPCH H2O 198 5.94562 3.57982 -7.3032 1 0 ATOM 595 SPCO H2O 199 -4.5625 -1.0987 5.90581 1 0 ATOM 596 SPCH H2O 199 -5.5611 -1.0786 5.72458 1 0 ATOM 597 SPCH H2O 199 -4.1149 -0.8666 4.97567 1 0 ATOM 598 SPCO H2O 200 1.95871 5.7152 -1.7406 1 0 ATOM 599 SPCH H2O 200 1.32767 6.53654 -1.6617 1 0 ATOM 600 SPCH H2O 200 1.74414 5.16701 -0.9183 1 0 ATOM 601 SPCO H2O 201 -8.9162 5.51397 4.43344 1 0 ATOM 602 SPCH H2O 201 -7.9815 5.8095 4.72477 1 0 ATOM 603 SPCH H2O 201 -8.8173 4.71297 3.85632 1 0 ATOM 604 SPCO H2O 202 -2.8608 -2.2768 -6.1608 1 0 ATOM 605 SPCH H2O 202 -2.6945 -3.1789 -6.6322 1 0 ATOM 606 SPCH H2O 202 -3.8591 -2.1584 -6.1138 1 0 ATOM 607 SPCO H2O 203 -6.3306 -5.5075 -0.5975 1 0 ATOM 608 SPCH H2O 203 -6.5030 -6.0703 -1.4334 1 0 ATOM 609 SPCH H2O 203 -7.0539 -5.8906 0.07567 1 0 ATOM 610 SPCO H2O 204 2.95449 -5.3156 1.9813 1 0 ATOM 611 SPCH H2O 204 2.61724 -6.2558 1.78731 1 0 ATOM 612 SPCH H2O 204 3.02575 -5.2431 2.98368 1 0 ATOM 613 SPCO H2O 205 9.08594 -8.0229 -1.3978 1 0 ATOM 614 SPCH H2O 205 9.03035 -8.8068 -0.7155 1 0 ATOM 615 SPCH H2O 205 8.85363 -8.3162 -2.3783 1 0 ATOM 616 SPCO H2O 206 -9.0944 4.48116 -1.0786 1 0 ATOM 617 SPCH H2O 206 8.58743 5.19664 -1.1650 1 0 ATOM 618 SPCH H2O 206 -8.8418 4.1589 -2.0097 1 0 ATOM 619 SPCO H2O 207 6.03542 6.3957 -6.6913 1 0 ATOM 620 SPCH H2O 207 6.4163 7.17571 -7.1846 1 0 ATOM 621 SPCH H2O 207 5.70556 6.9275 -5.8896 1 0 ATOM 622 SPCO H2O 208 -1.2611 -0.5505 -2.2025 1 0 ATOM 623 SPCH H2O 208 -1.0578 -1.5147 -2.1887 1 0 ATOM 624 SPCH H2O 208 -1.7246 -0.3688 -3.1164 1 0 ATOM 625 SPCO H2O 209 5.71677 8.87962 6.50206 1 0 ATOM 626 SPCH H2O 209 5.03764 8.39478 7.10242 1 0 ATOM 627 SPCH H2O 209 6.53026 8.3141 6.61914 1 0 ATOM 628 SPCO H2O 210 -1.3627 -7.6634 -7.0176 1 0 ATOM 629 SPCH H2O 210 -2.0520 -7.9131 -6.2699 1 0 ATOM 630 SPCH H2O 210 -1.0691 -8.6157 -7.4120 1 0 ATOM 631 SPCO H2O 211 0.62528 5.02382 -5.9681 1 0 ATOM 632 SPCH H2O 211 0.95697 5.20056 -6.907 1 0 ATOM 633 SPCH H2O 211 1.38685 4.50809 -5.4904 1 0 ATOM 634 SPCO H2O 212 0.43239 -7.2358 8.768 1 0 ATOM 635 SPCH H2O 212 0.01977 -6.2749 8.66154 1 0 ATOM 636 SPCH H2O 212 1.45591 -7.2724 8.54755 1 0 ATOM 637 SPCO H2O 213 -0.0971 5.69972 4.02116 1 0 ATOM 638 SPCH H2O 213 0.63448 4.95777 4.07046 1 0 ATOM 639 SPCH H2O 213 0.17684 6.58245 4.41895 1 0 ATOM 640 SPCO H2O 214 -2.5744 3.0817 -4.3773 1 0 ATOM 641 SPCH H2O 214 -3.2574 3.731 -4.6427 1 0 ATOM 642 SPCH H2O 214 -2.8052 2.79062 -3.4196 1 0 ATOM 643 SPCO H2O 215 2.28571 2.15059 7.72916 1 0 ATOM 644 SPCH H2O 215 3.22166 2.45622 7.5114 1 0 ATOM 645 SPCH H2O 215 2.20132 2.08609 8.75696 1 0 ATOM 646 SPCO H2O 216 5.89267 8.29144 0.76491 1 0 ATOM 647 SPCH H2O 216 6.44571 7.9002 1.58951 1 0 ATOM 648 SPCH H2O 216 6.45617 9.06986 0.46695 1 0 END protomol/examples/water_216/water216.new.vel.pdb0100644027616700000500000014653710237151527021004 0ustar pbrenne1dipREMARK This PDB file was generated from PdbWriter REMARK Not manually assembled ATOM 1 SPCO H2O 1 -6.2851 1.95984 -4.0301 1 0 ATOM 2 SPCH H2O 1 -9.1536 -8.9115 6.22336 1 0 ATOM 3 SPCH H2O 1 -1.8950 6.14419 -12.044 1 0 ATOM 4 SPCO H2O 2 -5.4447 1.27616 -2.5657 1 0 ATOM 5 SPCH H2O 2 -15.498 3.57687 -21.789 1 0 ATOM 6 SPCH H2O 2 8.98464 5.00062 3.10508 1 0 ATOM 7 SPCO H2O 3 -2.8552 2.32769 2.32384 1 0 ATOM 8 SPCH H2O 3 12.4652 5.11362 2.51082 1 0 ATOM 9 SPCH H2O 3 -6.4628 -1.4322 19.5679 1 0 ATOM 10 SPCO H2O 4 4.87062 -3.1688 -5.3983 1 0 ATOM 11 SPCH H2O 4 2.38706 -20.830 -8.8718 1 0 ATOM 12 SPCH H2O 4 13.2945 -8.5158 12.9573 1 0 ATOM 13 SPCO H2O 5 -4.1611 8.60846 -0.9256 1 0 ATOM 14 SPCH H2O 5 2.74138 32.7094 14.6039 1 0 ATOM 15 SPCH H2O 5 7.28788 -11.188 -3.3320 1 0 ATOM 16 SPCO H2O 6 5.1859 10.981 -3.8917 1 0 ATOM 17 SPCH H2O 6 1.20307 13.1865 -29.773 1 0 ATOM 18 SPCH H2O 6 9.38805 -26.023 -21.522 1 0 ATOM 19 SPCO H2O 7 0.05234 2.16733 -3.0333 1 0 ATOM 20 SPCH H2O 7 -24.325 4.35196 1.10803 1 0 ATOM 21 SPCH H2O 7 20.0778 11.4361 -23.201 1 0 ATOM 22 SPCO H2O 8 -0.1067 -3.9450 -5.0229 1 0 ATOM 23 SPCH H2O 8 -19.735 18.3909 -1.7965 1 0 ATOM 24 SPCH H2O 8 -13.669 2.06028 -0.1294 1 0 ATOM 25 SPCO H2O 9 -1.4741 1.05537 -1.9998 1 0 ATOM 26 SPCH H2O 9 25.0003 2.54697 -2.6130 1 0 ATOM 27 SPCH H2O 9 19.1153 -21.521 -5.1589 1 0 ATOM 28 SPCO H2O 10 -1.3427 -8.1907 -0.2274 1 0 ATOM 29 SPCH H2O 10 5.47437 -26.932 16.4785 1 0 ATOM 30 SPCH H2O 10 25.2167 0.4266 8.15416 1 0 ATOM 31 SPCO H2O 11 -1.8416 0.64552 -3.4728 1 0 ATOM 32 SPCH H2O 11 -7.9852 6.53102 -9.7533 1 0 ATOM 33 SPCH H2O 11 15.6223 10.336 1.81398 1 0 ATOM 34 SPCO H2O 12 6.62535 4.13177 9.57921 1 0 ATOM 35 SPCH H2O 12 -4.8539 29.3415 -34.711 1 0 ATOM 36 SPCH H2O 12 10.285 -9.7606 28.1016 1 0 ATOM 37 SPCO H2O 13 -0.2934 -4.7867 0.58991 1 0 ATOM 38 SPCH H2O 13 -41.314 -7.3896 -13.681 1 0 ATOM 39 SPCH H2O 13 5.50588 -1.9791 12.9722 1 0 ATOM 40 SPCO H2O 14 8.07132 -4.0335 5.54205 1 0 ATOM 41 SPCH H2O 14 -15.255 -31.364 -3.7723 1 0 ATOM 42 SPCH H2O 14 17.7301 -13.779 21.7406 1 0 ATOM 43 SPCO H2O 15 -1.5116 -2.8567 -7.8182 1 0 ATOM 44 SPCH H2O 15 -22.295 12.1444 -13.322 1 0 ATOM 45 SPCH H2O 15 4.83854 11.4077 -27.146 1 0 ATOM 46 SPCO H2O 16 3.90249 -0.0801 -0.1721 1 0 ATOM 47 SPCH H2O 16 0.23360 7.91349 -9.6960 1 0 ATOM 48 SPCH H2O 16 -7.4307 8.60133 17.9959 1 0 ATOM 49 SPCO H2O 17 -3.0108 5.31699 0.95311 1 0 ATOM 50 SPCH H2O 17 5.11507 -10.757 8.99476 1 0 ATOM 51 SPCH H2O 17 12.8059 6.06765 -5.6128 1 0 ATOM 52 SPCO H2O 18 3.68153 0.82168 -0.3259 1 0 ATOM 53 SPCH H2O 18 12.2826 -7.2532 -12.815 1 0 ATOM 54 SPCH H2O 18 -2.3928 -22.712 -0.7799 1 0 ATOM 55 SPCO H2O 19 0.14112 0.10522 1.19424 1 0 ATOM 56 SPCH H2O 19 -4.0655 20.024 -7.5545 1 0 ATOM 57 SPCH H2O 19 13.8147 -16.194 -2.8649 1 0 ATOM 58 SPCO H2O 20 -0.6968 -1.3796 -0.1907 1 0 ATOM 59 SPCH H2O 20 36.1962 4.7836 36.5126 1 0 ATOM 60 SPCH H2O 20 1.3174 22.4714 -20.135 1 0 ATOM 61 SPCO H2O 21 4.131 7.89468 3.28408 1 0 ATOM 62 SPCH H2O 21 -15.403 14.7452 10.7139 1 0 ATOM 63 SPCH H2O 21 17.6921 14.5542 11.1725 1 0 ATOM 64 SPCO H2O 22 -5.3852 1.27667 -5.3603 1 0 ATOM 65 SPCH H2O 22 36.186 16.4228 -3.5064 1 0 ATOM 66 SPCH H2O 22 3.00715 -24.288 5.92834 1 0 ATOM 67 SPCO H2O 23 1.93937 -0.6526 -8.8659 1 0 ATOM 68 SPCH H2O 23 0.68682 4.24753 -2.3183 1 0 ATOM 69 SPCH H2O 23 -20.225 3.57527 -12.888 1 0 ATOM 70 SPCO H2O 24 -6.2034 -3.3778 10.1632 1 0 ATOM 71 SPCH H2O 24 -1.6361 29.6978 -1.1006 1 0 ATOM 72 SPCH H2O 24 6.57271 -13.040 -3.7675 1 0 ATOM 73 SPCO H2O 25 -1.7555 1.20195 -2.0339 1 0 ATOM 74 SPCH H2O 25 12.2825 7.42216 -0.9736 1 0 ATOM 75 SPCH H2O 25 -14.450 -5.9014 3.25533 1 0 ATOM 76 SPCO H2O 26 3.60351 -1.6493 -2.0797 1 0 ATOM 77 SPCH H2O 26 2.75055 -24.629 -9.443 1 0 ATOM 78 SPCH H2O 26 8.78248 29.3525 -5.8853 1 0 ATOM 79 SPCO H2O 27 -6.8011 -0.9499 -4.2780 1 0 ATOM 80 SPCH H2O 27 -0.2892 5.38828 -16.924 1 0 ATOM 81 SPCH H2O 27 -33.842 8.83537 2.17956 1 0 ATOM 82 SPCO H2O 28 -3.2001 8.73893 -3.9545 1 0 ATOM 83 SPCH H2O 28 -8.4513 -14.087 27.5974 1 0 ATOM 84 SPCH H2O 28 7.69296 11.8784 -14.336 1 0 ATOM 85 SPCO H2O 29 1.73495 -1.9029 -1.8535 1 0 ATOM 86 SPCH H2O 29 -9.9952 27.264 11.2594 1 0 ATOM 87 SPCH H2O 29 -1.8891 -7.3744 13.1574 1 0 ATOM 88 SPCO H2O 30 4.41849 -9.0533 1.51031 1 0 ATOM 89 SPCH H2O 30 29.3127 -12.666 8.54762 1 0 ATOM 90 SPCH H2O 30 5.4509 0.70959 6.36042 1 0 ATOM 91 SPCO H2O 31 4.30153 -5.9699 4.41829 1 0 ATOM 92 SPCH H2O 31 14.2608 -2.3216 8.79637 1 0 ATOM 93 SPCH H2O 31 -11.910 2.96705 -7.6520 1 0 ATOM 94 SPCO H2O 32 -4.5083 -7.0750 -1.8890 1 0 ATOM 95 SPCH H2O 32 -20.812 -15.882 -15.032 1 0 ATOM 96 SPCH H2O 32 -15.517 -10.670 28.403 1 0 ATOM 97 SPCO H2O 33 6.46344 2.69985 -5.3328 1 0 ATOM 98 SPCH H2O 33 8.93631 24.7066 -9.1932 1 0 ATOM 99 SPCH H2O 33 -8.1805 -3.3300 -10.628 1 0 ATOM 100 SPCO H2O 34 0.75708 6.32884 -3.6451 1 0 ATOM 101 SPCH H2O 34 -12.396 -11.792 23.8208 1 0 ATOM 102 SPCH H2O 34 -2.7516 -10.561 11.7669 1 0 ATOM 103 SPCO H2O 35 6.96478 -0.3284 -3.4018 1 0 ATOM 104 SPCH H2O 35 -0.9043 -3.0986 2.75652 1 0 ATOM 105 SPCH H2O 35 25.6811 2.75269 -6.4448 1 0 ATOM 106 SPCO H2O 36 -5.1410 -6.4543 -3.1839 1 0 ATOM 107 SPCH H2O 36 -17.449 5.66851 -12.854 1 0 ATOM 108 SPCH H2O 36 3.55118 -15.249 6.88305 1 0 ATOM 109 SPCO H2O 37 0.13394 -0.3956 -2.2772 1 0 ATOM 110 SPCH H2O 37 -16.833 -16.321 -2.7488 1 0 ATOM 111 SPCH H2O 37 19.3389 -18.703 1.34126 1 0 ATOM 112 SPCO H2O 38 -0.0244 4.28965 -2.8866 1 0 ATOM 113 SPCH H2O 38 -14.130 24.9405 -3.3214 1 0 ATOM 114 SPCH H2O 38 4.18419 -6.6575 -29.483 1 0 ATOM 115 SPCO H2O 39 6.08503 -1.5373 -2.2358 1 0 ATOM 116 SPCH H2O 39 -14.037 4.21678 1.67966 1 0 ATOM 117 SPCH H2O 39 24.7122 -1.7523 -2.2647 1 0 ATOM 118 SPCO H2O 40 5.5572 -4.2445 -0.0202 1 0 ATOM 119 SPCH H2O 40 -35.323 -10.775 32.155 1 0 ATOM 120 SPCH H2O 40 -0.0422 -6.7082 7.56277 1 0 ATOM 121 SPCO H2O 41 0.38439 -4.5721 -5.5515 1 0 ATOM 122 SPCH H2O 41 -10.451 -4.2139 26.7191 1 0 ATOM 123 SPCH H2O 41 1.53253 -0.9816 3.59997 1 0 ATOM 124 SPCO H2O 42 -4.0451 -2.5896 6.47967 1 0 ATOM 125 SPCH H2O 42 23.257 -1.3302 17.9212 1 0 ATOM 126 SPCH H2O 42 4.00625 6.33128 5.22804 1 0 ATOM 127 SPCO H2O 43 -3.4673 1.75176 -3.9062 1 0 ATOM 128 SPCH H2O 43 24.5433 -3.9545 32.5192 1 0 ATOM 129 SPCH H2O 43 26.1509 -17.385 11.236 1 0 ATOM 130 SPCO H2O 44 -4.6667 0.03461 -0.8222 1 0 ATOM 131 SPCH H2O 44 -21.706 -13.350 1.77348 1 0 ATOM 132 SPCH H2O 44 -1.3316 -10.393 1.26218 1 0 ATOM 133 SPCO H2O 45 3.66805 7.34794 -0.0751 1 0 ATOM 134 SPCH H2O 45 -9.3707 11.8201 1.95282 1 0 ATOM 135 SPCH H2O 45 -3.4151 8.94209 -6.1793 1 0 ATOM 136 SPCO H2O 46 4.5616 -2.9387 -0.7035 1 0 ATOM 137 SPCH H2O 46 28.226 13.4078 -16.957 1 0 ATOM 138 SPCH H2O 46 1.481 -19.962 10.0861 1 0 ATOM 139 SPCO H2O 47 1.95319 2.97155 -0.3981 1 0 ATOM 140 SPCH H2O 47 -25.969 33.6107 20.7013 1 0 ATOM 141 SPCH H2O 47 22.4334 15.3262 -0.4504 1 0 ATOM 142 SPCO H2O 48 4.50324 0.19615 3.15367 1 0 ATOM 143 SPCH H2O 48 -9.9758 3.56162 22.7106 1 0 ATOM 144 SPCH H2O 48 13.6484 -11.237 0.58911 1 0 ATOM 145 SPCO H2O 49 1.47333 1.93622 12.2734 1 0 ATOM 146 SPCH H2O 49 -9.0132 -10.374 12.9281 1 0 ATOM 147 SPCH H2O 49 3.1666 -16.413 -16.132 1 0 ATOM 148 SPCO H2O 50 -6.5539 0.42905 4.94082 1 0 ATOM 149 SPCH H2O 50 -3.1125 -5.9098 21.3054 1 0 ATOM 150 SPCH H2O 50 -13.573 8.84064 -1.8723 1 0 ATOM 151 SPCO H2O 51 8.50483 3.70587 -1.8645 1 0 ATOM 152 SPCH H2O 51 -2.4783 -8.7304 20.2957 1 0 ATOM 153 SPCH H2O 51 30.7245 27.7439 16.8716 1 0 ATOM 154 SPCO H2O 52 -3.9364 2.20492 1.75959 1 0 ATOM 155 SPCH H2O 52 0.65670 20.8997 4.70215 1 0 ATOM 156 SPCH H2O 52 12.3745 16.7418 21.773 1 0 ATOM 157 SPCO H2O 53 6.61073 -1.4690 0.90026 1 0 ATOM 158 SPCH H2O 53 17.2649 -20.546 -1.8751 1 0 ATOM 159 SPCH H2O 53 7.98811 21.9598 -11.395 1 0 ATOM 160 SPCO H2O 54 2.56505 -7.1136 8.75347 1 0 ATOM 161 SPCH H2O 54 0.95058 3.7493 -1.7204 1 0 ATOM 162 SPCH H2O 54 8.30102 17.8819 6.61443 1 0 ATOM 163 SPCO H2O 55 9.09317 -7.7567 -12.933 1 0 ATOM 164 SPCH H2O 55 -9.6557 -26.690 0.04606 1 0 ATOM 165 SPCH H2O 55 -4.5103 -15.074 5.26122 1 0 ATOM 166 SPCO H2O 56 10.7834 -5.0091 3.56382 1 0 ATOM 167 SPCH H2O 56 22.3371 3.10001 -6.1080 1 0 ATOM 168 SPCH H2O 56 -1.1174 3.25484 0.12475 1 0 ATOM 169 SPCO H2O 57 0.93251 1.31128 -2.8063 1 0 ATOM 170 SPCH H2O 57 -20.483 2.09041 7.55953 1 0 ATOM 171 SPCH H2O 57 -0.5874 -5.2933 6.65779 1 0 ATOM 172 SPCO H2O 58 -0.3285 -1.1477 1.72633 1 0 ATOM 173 SPCH H2O 58 -4.9805 7.69717 -29.498 1 0 ATOM 174 SPCH H2O 58 1.24813 12.4632 0.91302 1 0 ATOM 175 SPCO H2O 59 -0.8910 0.47523 -6.5455 1 0 ATOM 176 SPCH H2O 59 -9.1934 12.9792 -2.2983 1 0 ATOM 177 SPCH H2O 59 10.2993 13.9765 -5.9261 1 0 ATOM 178 SPCO H2O 60 -1.0140 1.96665 8.20095 1 0 ATOM 179 SPCH H2O 60 6.97861 9.63099 8.37766 1 0 ATOM 180 SPCH H2O 60 -5.6209 5.16196 0.04043 1 0 ATOM 181 SPCO H2O 61 -4.5636 4.52218 -0.3696 1 0 ATOM 182 SPCH H2O 61 2.66794 18.748 -14.372 1 0 ATOM 183 SPCH H2O 61 -13.145 8.32958 -3.1076 1 0 ATOM 184 SPCO H2O 62 2.6912 3.83524 2.52206 1 0 ATOM 185 SPCH H2O 62 19.4471 -15.644 -17.175 1 0 ATOM 186 SPCH H2O 62 1.1494 5.48573 -22.920 1 0 ATOM 187 SPCO H2O 63 -4.8176 3.06684 3.52265 1 0 ATOM 188 SPCH H2O 63 0.00574 -18.627 -7.0963 1 0 ATOM 189 SPCH H2O 63 19.6011 -15.338 24.8901 1 0 ATOM 190 SPCO H2O 64 -2.7678 -3.9449 1.54049 1 0 ATOM 191 SPCH H2O 64 -19.487 -3.7509 1.07631 1 0 ATOM 192 SPCH H2O 64 -0.6154 -35.004 5.90297 1 0 ATOM 193 SPCO H2O 65 -2.7303 -6.4934 2.63901 1 0 ATOM 194 SPCH H2O 65 -16.610 -32.338 9.14648 1 0 ATOM 195 SPCH H2O 65 7.34096 1.94289 19.1732 1 0 ATOM 196 SPCO H2O 66 5.79493 2.31142 -6.4390 1 0 ATOM 197 SPCH H2O 66 11.1218 13.8339 -20.304 1 0 ATOM 198 SPCH H2O 66 -12.465 -22.655 26.6257 1 0 ATOM 199 SPCO H2O 67 -0.3136 -0.5102 -1.7326 1 0 ATOM 200 SPCH H2O 67 -16.577 -9.6514 5.85938 1 0 ATOM 201 SPCH H2O 67 16.3808 1.44856 11.7776 1 0 ATOM 202 SPCO H2O 68 1.86014 0.49051 1.81904 1 0 ATOM 203 SPCH H2O 68 14.15 -12.413 -3.6203 1 0 ATOM 204 SPCH H2O 68 17.4431 -2.4300 15.797 1 0 ATOM 205 SPCO H2O 69 -4.7884 -0.1889 2.05609 1 0 ATOM 206 SPCH H2O 69 -7.3298 0.73151 10.1428 1 0 ATOM 207 SPCH H2O 69 23.3649 -12.443 10.4188 1 0 ATOM 208 SPCO H2O 70 1.35974 2.77345 -1.1535 1 0 ATOM 209 SPCH H2O 70 15.1346 -5.6353 4.43942 1 0 ATOM 210 SPCH H2O 70 -7.1089 -8.5414 -0.1857 1 0 ATOM 211 SPCO H2O 71 0.11624 -3.5334 2.44978 1 0 ATOM 212 SPCH H2O 71 -4.7529 5.36386 -1.1375 1 0 ATOM 213 SPCH H2O 71 -20.093 -4.4834 16.5926 1 0 ATOM 214 SPCO H2O 72 5.23357 -4.1429 -0.2645 1 0 ATOM 215 SPCH H2O 72 -3.7626 -11.296 6.69182 1 0 ATOM 216 SPCH H2O 72 -12.411 -35.176 -14.163 1 0 ATOM 217 SPCO H2O 73 -5.4124 -2.0987 -0.0423 1 0 ATOM 218 SPCH H2O 73 5.78639 6.82803 3.19566 1 0 ATOM 219 SPCH H2O 73 16.6702 7.29109 -15.39 1 0 ATOM 220 SPCO H2O 74 -2.3897 -9.2312 -3.5306 1 0 ATOM 221 SPCH H2O 74 13.014 4.31359 7.23224 1 0 ATOM 222 SPCH H2O 74 8.7521 1.18935 -2.3359 1 0 ATOM 223 SPCO H2O 75 0.86084 -3.8029 5.84609 1 0 ATOM 224 SPCH H2O 75 9.5602 0.84509 9.79158 1 0 ATOM 225 SPCH H2O 75 -28.614 -22.479 28.7739 1 0 ATOM 226 SPCO H2O 76 -0.3754 -0.8764 -2.3374 1 0 ATOM 227 SPCH H2O 76 2.84615 -4.9632 11.6772 1 0 ATOM 228 SPCH H2O 76 -4.3168 -3.6054 -32.634 1 0 ATOM 229 SPCO H2O 77 -5.423 3.12134 0.67401 1 0 ATOM 230 SPCH H2O 77 -29.587 -14.673 -10.897 1 0 ATOM 231 SPCH H2O 77 -11.224 35.0856 -3.6347 1 0 ATOM 232 SPCO H2O 78 -3.5493 0.61092 3.34406 1 0 ATOM 233 SPCH H2O 78 3.38762 3.07208 2.63539 1 0 ATOM 234 SPCH H2O 78 -2.8856 -5.3155 28.605 1 0 ATOM 235 SPCO H2O 79 -1.4212 -5.9056 3.50055 1 0 ATOM 236 SPCH H2O 79 14.2537 3.6638 -17.768 1 0 ATOM 237 SPCH H2O 79 -10.282 -22.311 11.4827 1 0 ATOM 238 SPCO H2O 80 0.97652 3.80102 -8.3333 1 0 ATOM 239 SPCH H2O 80 1.65613 -12.563 9.34298 1 0 ATOM 240 SPCH H2O 80 -23.502 13.3273 0.51935 1 0 ATOM 241 SPCO H2O 81 -0.5026 -4.9403 4.73279 1 0 ATOM 242 SPCH H2O 81 6.9788 19.3229 -18.843 1 0 ATOM 243 SPCH H2O 81 -6.3565 28.5171 0.44388 1 0 ATOM 244 SPCO H2O 82 1.6881 -3.4691 -2.7712 1 0 ATOM 245 SPCH H2O 82 -15.587 -21.477 30.2258 1 0 ATOM 246 SPCH H2O 82 2.14125 -6.1458 32.8767 1 0 ATOM 247 SPCO H2O 83 -5.8492 6.66336 -0.8574 1 0 ATOM 248 SPCH H2O 83 -6.0589 -1.7568 14.7384 1 0 ATOM 249 SPCH H2O 83 0.30730 -2.3492 13.0274 1 0 ATOM 250 SPCO H2O 84 -1.4952 -2.9355 -4.2529 1 0 ATOM 251 SPCH H2O 84 -2.9009 23.0387 5.39424 1 0 ATOM 252 SPCH H2O 84 -16.411 15.5508 -3.3976 1 0 ATOM 253 SPCO H2O 85 5.77153 3.37841 -1.3138 1 0 ATOM 254 SPCH H2O 85 24.137 -21.295 4.70077 1 0 ATOM 255 SPCH H2O 85 17.3429 9.54824 -12.478 1 0 ATOM 256 SPCO H2O 86 -5.5021 2.05856 -2.2244 1 0 ATOM 257 SPCH H2O 86 -14.182 14.4476 -26.159 1 0 ATOM 258 SPCH H2O 86 -15.984 -15.390 10.0402 1 0 ATOM 259 SPCO H2O 87 2.15764 -0.5135 1.48288 1 0 ATOM 260 SPCH H2O 87 -4.1574 -6.8186 -1.7939 1 0 ATOM 261 SPCH H2O 87 18.7014 -11.529 7.46988 1 0 ATOM 262 SPCO H2O 88 -4.4606 -1.4050 -3.4479 1 0 ATOM 263 SPCH H2O 88 24.9148 -7.3945 -9.2649 1 0 ATOM 264 SPCH H2O 88 4.23893 -17.267 5.85566 1 0 ATOM 265 SPCO H2O 89 -5.5515 5.59035 -3.5835 1 0 ATOM 266 SPCH H2O 89 -13.765 13.3697 -6.5891 1 0 ATOM 267 SPCH H2O 89 -10.449 5.35004 8.59301 1 0 ATOM 268 SPCO H2O 90 -3.9294 3.1485 -6.8917 1 0 ATOM 269 SPCH H2O 90 -0.6490 -9.4952 24.6927 1 0 ATOM 270 SPCH H2O 90 6.2201 -8.2435 4.36439 1 0 ATOM 271 SPCO H2O 91 4.5014 -1.8597 2.21661 1 0 ATOM 272 SPCH H2O 91 5.69363 -13.117 -24.376 1 0 ATOM 273 SPCH H2O 91 14.6028 0.77369 20.1429 1 0 ATOM 274 SPCO H2O 92 -8.9466 -3.8425 -3.2411 1 0 ATOM 275 SPCH H2O 92 16.6841 -22.584 21.0544 1 0 ATOM 276 SPCH H2O 92 -3.6033 -29.366 -10.044 1 0 ATOM 277 SPCO H2O 93 -0.9983 0.29968 4.58005 1 0 ATOM 278 SPCH H2O 93 -29.599 0.39024 10.8301 1 0 ATOM 279 SPCH H2O 93 2.00703 -18.129 -17.942 1 0 ATOM 280 SPCO H2O 94 -3.8611 2.8731 -9.4689 1 0 ATOM 281 SPCH H2O 94 -6.4673 -7.8543 2.09962 1 0 ATOM 282 SPCH H2O 94 -30.380 15.8393 -5.9071 1 0 ATOM 283 SPCO H2O 95 2.43281 -2.5984 -4.2661 1 0 ATOM 284 SPCH H2O 95 -1.0188 14.7948 8.70574 1 0 ATOM 285 SPCH H2O 95 6.63893 -24.964 10.8592 1 0 ATOM 286 SPCO H2O 96 -3.9063 0.33940 -0.2701 1 0 ATOM 287 SPCH H2O 96 -10.018 4.15976 -18.423 1 0 ATOM 288 SPCH H2O 96 -7.8576 7.22269 3.32301 1 0 ATOM 289 SPCO H2O 97 -3.2600 -0.7704 1.83596 1 0 ATOM 290 SPCH H2O 97 17.6575 -19.334 -7.8044 1 0 ATOM 291 SPCH H2O 97 -11.454 1.57877 7.4172 1 0 ATOM 292 SPCO H2O 98 5.22111 0.76252 -0.7268 1 0 ATOM 293 SPCH H2O 98 11.492 4.41298 -18.526 1 0 ATOM 294 SPCH H2O 98 -14.666 -1.6209 -18.785 1 0 ATOM 295 SPCO H2O 99 -1.0091 -2.5844 5.195 1 0 ATOM 296 SPCH H2O 99 -10.039 -9.7918 25.4262 1 0 ATOM 297 SPCH H2O 99 -7.9473 2.98052 -11.317 1 0 ATOM 298 SPCO H2O 100 -0.3472 4.54617 -7.0528 1 0 ATOM 299 SPCH H2O 100 -11.664 -3.5218 -16.931 1 0 ATOM 300 SPCH H2O 100 -12.897 0.94036 -10.332 1 0 ATOM 301 SPCO H2O 101 1.06323 -1.0231 1.47386 1 0 ATOM 302 SPCH H2O 101 22.6488 -4.2066 2.88706 1 0 ATOM 303 SPCH H2O 101 -5.2575 -2.1937 6.72332 1 0 ATOM 304 SPCO H2O 102 -4.8843 -4.7938 -5.8767 1 0 ATOM 305 SPCH H2O 102 -0.9245 20.3741 -3.5564 1 0 ATOM 306 SPCH H2O 102 -8.2021 15.0217 -4.9160 1 0 ATOM 307 SPCO H2O 103 -0.5112 -2.9100 8.85447 1 0 ATOM 308 SPCH H2O 103 -25.311 19.7428 -0.2799 1 0 ATOM 309 SPCH H2O 103 -27.352 -0.7781 -11.078 1 0 ATOM 310 SPCO H2O 104 -3.3496 3.34791 -1.9167 1 0 ATOM 311 SPCH H2O 104 12.3961 -12.693 3.74667 1 0 ATOM 312 SPCH H2O 104 -37.589 -12.887 -2.9306 1 0 ATOM 313 SPCO H2O 105 3.13676 11.2976 3.36412 1 0 ATOM 314 SPCH H2O 105 -4.1752 16.6899 -21.244 1 0 ATOM 315 SPCH H2O 105 2.80351 16.3208 22.777 1 0 ATOM 316 SPCO H2O 106 5.64864 3.94425 3.1114 1 0 ATOM 317 SPCH H2O 106 -16.614 5.08012 14.4837 1 0 ATOM 318 SPCH H2O 106 -12.800 -16.287 26.5466 1 0 ATOM 319 SPCO H2O 107 -3.3294 1.12466 1.52135 1 0 ATOM 320 SPCH H2O 107 -15.330 -4.0872 10.0568 1 0 ATOM 321 SPCH H2O 107 22.8969 -3.6029 -2.6910 1 0 ATOM 322 SPCO H2O 108 -3.0519 -2.4843 1.21821 1 0 ATOM 323 SPCH H2O 108 -31.536 21.7947 25.2043 1 0 ATOM 324 SPCH H2O 108 6.83028 -5.5670 10.4803 1 0 ATOM 325 SPCO H2O 109 -1.1386 -4.9791 3.69921 1 0 ATOM 326 SPCH H2O 109 -1.6496 10.6708 -6.7075 1 0 ATOM 327 SPCH H2O 109 -11.399 8.36897 5.80045 1 0 ATOM 328 SPCO H2O 110 -1.0727 -3.6354 -5.0762 1 0 ATOM 329 SPCH H2O 110 26.1233 8.56581 -1.1618 1 0 ATOM 330 SPCH H2O 110 0.65128 -25.903 -39.690 1 0 ATOM 331 SPCO H2O 111 4.09649 0.82165 -5.1141 1 0 ATOM 332 SPCH H2O 111 29.885 -47.294 32.5209 1 0 ATOM 333 SPCH H2O 111 -25.996 -11.543 -2.2733 1 0 ATOM 334 SPCO H2O 112 -3.9623 -1.3723 -1.6497 1 0 ATOM 335 SPCH H2O 112 -2.0941 13.3459 22.8248 1 0 ATOM 336 SPCH H2O 112 -1.0365 -15.354 17.1873 1 0 ATOM 337 SPCO H2O 113 -6.8863 3.37031 -4.8367 1 0 ATOM 338 SPCH H2O 113 10.1824 -9.2377 14.4406 1 0 ATOM 339 SPCH H2O 113 -1.9813 -12.347 -5.3621 1 0 ATOM 340 SPCO H2O 114 1.45427 -6.9096 2.51477 1 0 ATOM 341 SPCH H2O 114 23.3497 -4.9341 1.67537 1 0 ATOM 342 SPCH H2O 114 20.1336 13.7806 1.29479 1 0 ATOM 343 SPCO H2O 115 5.08217 -4.5639 -2.4274 1 0 ATOM 344 SPCH H2O 115 5.50476 -11.415 -7.7737 1 0 ATOM 345 SPCH H2O 115 -4.0273 -11.387 -32.328 1 0 ATOM 346 SPCO H2O 116 6.11795 -6.1005 -2.1766 1 0 ATOM 347 SPCH H2O 116 19.9877 6.69166 0.83821 1 0 ATOM 348 SPCH H2O 116 5.52846 8.28225 7.50123 1 0 ATOM 349 SPCO H2O 117 2.36982 2.8416 0.62570 1 0 ATOM 350 SPCH H2O 117 6.55354 -13.742 -11.138 1 0 ATOM 351 SPCH H2O 117 32.6116 -3.5170 23.8967 1 0 ATOM 352 SPCO H2O 118 3.14862 -2.6563 3.27944 1 0 ATOM 353 SPCH H2O 118 -35.233 -5.0642 -27.279 1 0 ATOM 354 SPCH H2O 118 -33.857 -24.006 -9.6591 1 0 ATOM 355 SPCO H2O 119 -4.9000 -2.3048 5.13718 1 0 ATOM 356 SPCH H2O 119 12.9804 3.25424 -5.4263 1 0 ATOM 357 SPCH H2O 119 9.45859 5.11518 7.85728 1 0 ATOM 358 SPCO H2O 120 -0.9760 -2.3285 1.75168 1 0 ATOM 359 SPCH H2O 120 -25.856 11.9185 8.29193 1 0 ATOM 360 SPCH H2O 120 -10.491 -18.15 3.35069 1 0 ATOM 361 SPCO H2O 121 4.49035 -2.497 -0.6559 1 0 ATOM 362 SPCH H2O 121 47.5107 -0.3262 -1.8229 1 0 ATOM 363 SPCH H2O 121 -8.8031 7.08693 -13.897 1 0 ATOM 364 SPCO H2O 122 6.77716 -4.7502 0.95995 1 0 ATOM 365 SPCH H2O 122 -10.023 -14.692 -2.4306 1 0 ATOM 366 SPCH H2O 122 24.9022 -8.6479 7.46754 1 0 ATOM 367 SPCO H2O 123 -5.0035 -4.5702 -4.0508 1 0 ATOM 368 SPCH H2O 123 -22.834 -15.209 17.2166 1 0 ATOM 369 SPCH H2O 123 -19.099 5.10305 17.3162 1 0 ATOM 370 SPCO H2O 124 -4.4304 -2.8846 -3.6140 1 0 ATOM 371 SPCH H2O 124 5.88285 -23.909 1.37208 1 0 ATOM 372 SPCH H2O 124 -4.1712 -6.7371 8.22501 1 0 ATOM 373 SPCO H2O 125 0.32279 2.48759 -0.4764 1 0 ATOM 374 SPCH H2O 125 30.3832 14.4499 11.379 1 0 ATOM 375 SPCH H2O 125 23.5434 -2.4357 15.9701 1 0 ATOM 376 SPCO H2O 126 1.28988 -2.1961 2.18413 1 0 ATOM 377 SPCH H2O 126 20.5373 1.27972 10.654 1 0 ATOM 378 SPCH H2O 126 -13.822 -8.5797 5.08752 1 0 ATOM 379 SPCO H2O 127 -3.8380 -3.5783 1.09763 1 0 ATOM 380 SPCH H2O 127 -1.0172 5.16794 40.1594 1 0 ATOM 381 SPCH H2O 127 -6.0302 6.58525 14.2804 1 0 ATOM 382 SPCO H2O 128 4.1752 -2.5728 1.65432 1 0 ATOM 383 SPCH H2O 128 19.9001 2.68762 -3.5025 1 0 ATOM 384 SPCH H2O 128 3.57137 13.5545 -23.494 1 0 ATOM 385 SPCO H2O 129 0.34524 -2.1236 1.27799 1 0 ATOM 386 SPCH H2O 129 15.9359 -5.5592 47.8998 1 0 ATOM 387 SPCH H2O 129 -9.9384 -36.504 7.49405 1 0 ATOM 388 SPCO H2O 130 2.31043 -4.9959 -0.7695 1 0 ATOM 389 SPCH H2O 130 -6.0134 5.20144 -32.379 1 0 ATOM 390 SPCH H2O 130 -29.590 -4.5847 -4.9802 1 0 ATOM 391 SPCO H2O 131 1.34053 2.86378 0.09874 1 0 ATOM 392 SPCH H2O 131 15.3993 -2.5097 12.0295 1 0 ATOM 393 SPCH H2O 131 25.5084 -14.496 22.1988 1 0 ATOM 394 SPCO H2O 132 2.08271 -2.6141 4.70841 1 0 ATOM 395 SPCH H2O 132 -9.3465 13.7268 14.6199 1 0 ATOM 396 SPCH H2O 132 -13.755 -38.979 14.1573 1 0 ATOM 397 SPCO H2O 133 2.15751 -4.3588 4.45699 1 0 ATOM 398 SPCH H2O 133 -20.732 50.0705 -15.480 1 0 ATOM 399 SPCH H2O 133 -11.268 26.4921 -8.9725 1 0 ATOM 400 SPCO H2O 134 -2.6177 0.99082 3.15452 1 0 ATOM 401 SPCH H2O 134 -18.539 -15.740 16.8701 1 0 ATOM 402 SPCH H2O 134 8.24828 19.5989 12.8206 1 0 ATOM 403 SPCO H2O 135 -7.3723 4.60228 -6.8216 1 0 ATOM 404 SPCH H2O 135 -14.981 -24.686 -29.325 1 0 ATOM 405 SPCH H2O 135 27.7682 2.67124 -28.511 1 0 ATOM 406 SPCO H2O 136 -1.3815 -5.7293 0.97459 1 0 ATOM 407 SPCH H2O 136 -23.926 3.97439 8.20467 1 0 ATOM 408 SPCH H2O 136 -10.796 -3.3437 -9.3071 1 0 ATOM 409 SPCO H2O 137 4.36917 3.15609 -0.2329 1 0 ATOM 410 SPCH H2O 137 -2.8022 -15.490 7.3937 1 0 ATOM 411 SPCH H2O 137 -6.7961 19.0302 -9.4893 1 0 ATOM 412 SPCO H2O 138 2.66665 4.58151 -3.8494 1 0 ATOM 413 SPCH H2O 138 21.1692 3.70482 4.94182 1 0 ATOM 414 SPCH H2O 138 6.46947 7.30066 2.90154 1 0 ATOM 415 SPCO H2O 139 -2.4971 1.49629 2.70926 1 0 ATOM 416 SPCH H2O 139 13.1794 -2.4742 -17.316 1 0 ATOM 417 SPCH H2O 139 -13.927 -17.042 14.4122 1 0 ATOM 418 SPCO H2O 140 1.47902 -3.2565 5.30931 1 0 ATOM 419 SPCH H2O 140 3.85267 3.1263 0.79588 1 0 ATOM 420 SPCH H2O 140 14.5639 16.8974 1.58463 1 0 ATOM 421 SPCO H2O 141 -6.7864 5.63583 -6.4906 1 0 ATOM 422 SPCH H2O 141 -25.188 7.59824 -8.2492 1 0 ATOM 423 SPCH H2O 141 -17.937 16.3834 -19.820 1 0 ATOM 424 SPCO H2O 142 -7.6668 -0.3405 6.82607 1 0 ATOM 425 SPCH H2O 142 -17.821 15.1139 -4.3349 1 0 ATOM 426 SPCH H2O 142 -10.142 11.3324 11.3967 1 0 ATOM 427 SPCO H2O 143 -4.271 3.36495 2.3006 1 0 ATOM 428 SPCH H2O 143 32.572 -8.5537 1.78605 1 0 ATOM 429 SPCH H2O 143 -1.3279 7.3688 -6.4861 1 0 ATOM 430 SPCO H2O 144 -3.2894 3.02337 3.40814 1 0 ATOM 431 SPCH H2O 144 -0.7665 2.1058 12.1014 1 0 ATOM 432 SPCH H2O 144 8.46311 -3.8922 -11.629 1 0 ATOM 433 SPCO H2O 145 2.92901 1.51332 2.18391 1 0 ATOM 434 SPCH H2O 145 2.2352 13.8578 -8.7620 1 0 ATOM 435 SPCH H2O 145 -0.2387 -12.143 30.6603 1 0 ATOM 436 SPCO H2O 146 -6.9537 0.36057 -5.2899 1 0 ATOM 437 SPCH H2O 146 1.63987 8.50219 14.2828 1 0 ATOM 438 SPCH H2O 146 -14.649 -21.366 -2.5035 1 0 ATOM 439 SPCO H2O 147 5.40057 -3.5327 -4.5363 1 0 ATOM 440 SPCH H2O 147 10.964 -0.6755 6.43911 1 0 ATOM 441 SPCH H2O 147 -0.3659 -5.8253 7.17567 1 0 ATOM 442 SPCO H2O 148 -2.2170 8.47068 4.89444 1 0 ATOM 443 SPCH H2O 148 6.1796 -2.2111 12.3379 1 0 ATOM 444 SPCH H2O 148 -13.589 -7.0883 16.7843 1 0 ATOM 445 SPCO H2O 149 3.01589 -2.0422 0.63422 1 0 ATOM 446 SPCH H2O 149 -8.7859 26.552 -0.8695 1 0 ATOM 447 SPCH H2O 149 9.30842 0.58319 -22.731 1 0 ATOM 448 SPCO H2O 150 4.63129 -0.9499 3.53308 1 0 ATOM 449 SPCH H2O 150 32.1125 15.3341 -17.099 1 0 ATOM 450 SPCH H2O 150 -25.147 -12.403 -7.3477 1 0 ATOM 451 SPCO H2O 151 4.5421 -2.5805 0.41859 1 0 ATOM 452 SPCH H2O 151 24.0286 11.2224 -13.066 1 0 ATOM 453 SPCH H2O 151 -3.2819 -0.8150 8.12402 1 0 ATOM 454 SPCO H2O 152 -5.5792 7.61095 3.58567 1 0 ATOM 455 SPCH H2O 152 0.49604 -7.8314 -9.1094 1 0 ATOM 456 SPCH H2O 152 13.2678 -4.6327 23.7323 1 0 ATOM 457 SPCO H2O 153 2.25133 -4.7757 3.01779 1 0 ATOM 458 SPCH H2O 153 -7.3980 -18.360 -23.349 1 0 ATOM 459 SPCH H2O 153 11.0119 -12.672 17.5173 1 0 ATOM 460 SPCO H2O 154 -2.8104 1.20861 1.05024 1 0 ATOM 461 SPCH H2O 154 -1.9064 2.75085 -8.3154 1 0 ATOM 462 SPCH H2O 154 23.0363 -23.402 -2.4853 1 0 ATOM 463 SPCO H2O 155 -7.4254 -1.8663 7.79984 1 0 ATOM 464 SPCH H2O 155 14.9797 5.33175 -6.6184 1 0 ATOM 465 SPCH H2O 155 2.63522 -14.909 1.13561 1 0 ATOM 466 SPCO H2O 156 -0.8954 -1.6629 10.6296 1 0 ATOM 467 SPCH H2O 156 -5.8617 -6.0236 -30.052 1 0 ATOM 468 SPCH H2O 156 -22.095 19.9526 -5.0427 1 0 ATOM 469 SPCO H2O 157 2.94556 -3.4838 8.46866 1 0 ATOM 470 SPCH H2O 157 2.35851 -8.9237 15.3052 1 0 ATOM 471 SPCH H2O 157 21.7172 18.8149 5.95533 1 0 ATOM 472 SPCO H2O 158 -2.1642 3.45025 -2.683 1 0 ATOM 473 SPCH H2O 158 16.0192 16.45 -8.9849 1 0 ATOM 474 SPCH H2O 158 4.33602 -25.793 1.82919 1 0 ATOM 475 SPCO H2O 159 6.51459 3.48875 0.39247 1 0 ATOM 476 SPCH H2O 159 -11.296 -5.4693 -5.7818 1 0 ATOM 477 SPCH H2O 159 -46.890 11.0042 1.79297 1 0 ATOM 478 SPCO H2O 160 -5.9400 7.01329 -3.9721 1 0 ATOM 479 SPCH H2O 160 -27.423 12.9409 -12.558 1 0 ATOM 480 SPCH H2O 160 3.54262 27.0939 18.3 1 0 ATOM 481 SPCO H2O 161 -2.0360 -3.4393 -3.6589 1 0 ATOM 482 SPCH H2O 161 10.2111 -7.8850 -0.3115 1 0 ATOM 483 SPCH H2O 161 6.72984 5.30499 -40.300 1 0 ATOM 484 SPCO H2O 162 2.85468 3.94993 -3.2225 1 0 ATOM 485 SPCH H2O 162 12.3722 -12.205 -13.541 1 0 ATOM 486 SPCH H2O 162 2.86633 18.4463 -20.301 1 0 ATOM 487 SPCO H2O 163 -1.8085 -7.3044 2.85301 1 0 ATOM 488 SPCH H2O 163 14.1282 6.72624 -9.5489 1 0 ATOM 489 SPCH H2O 163 29.2873 -2.4525 3.83195 1 0 ATOM 490 SPCO H2O 164 -5.1478 0.39426 0.13616 1 0 ATOM 491 SPCH H2O 164 -24.734 31.0004 -3.0266 1 0 ATOM 492 SPCH H2O 164 9.12218 -19.088 -21.987 1 0 ATOM 493 SPCO H2O 165 5.17389 -1.1376 0.03225 1 0 ATOM 494 SPCH H2O 165 -17.975 -16.717 -18.478 1 0 ATOM 495 SPCH H2O 165 -13.663 22.6584 19.8041 1 0 ATOM 496 SPCO H2O 166 -3.1505 -2.9700 0.81012 1 0 ATOM 497 SPCH H2O 166 -24.818 -8.4703 -0.6502 1 0 ATOM 498 SPCH H2O 166 21.7803 -21.067 -8.6133 1 0 ATOM 499 SPCO H2O 167 8.17157 3.91522 -1.9642 1 0 ATOM 500 SPCH H2O 167 -2.4655 6.74917 24.5786 1 0 ATOM 501 SPCH H2O 167 -5.9755 11.1111 2.74901 1 0 ATOM 502 SPCO H2O 168 1.53407 0.51191 -1.4809 1 0 ATOM 503 SPCH H2O 168 12.9347 11.9233 31.1524 1 0 ATOM 504 SPCH H2O 168 -7.4979 10.203 12.75 1 0 ATOM 505 SPCO H2O 169 -4.4091 3.61695 -0.4354 1 0 ATOM 506 SPCH H2O 169 -45.903 13.2102 11.1656 1 0 ATOM 507 SPCH H2O 169 -9.1652 3.94102 -7.3147 1 0 ATOM 508 SPCO H2O 170 1.97928 7.92961 -2.1968 1 0 ATOM 509 SPCH H2O 170 -0.3350 4.7013 -10.606 1 0 ATOM 510 SPCH H2O 170 20.8593 -10.749 -19.163 1 0 ATOM 511 SPCO H2O 171 -2.2552 3.73864 -4.0388 1 0 ATOM 512 SPCH H2O 171 11.5287 -0.8744 15.8546 1 0 ATOM 513 SPCH H2O 171 0.46455 -7.0191 -4.0768 1 0 ATOM 514 SPCO H2O 172 4.37363 4.30362 3.96529 1 0 ATOM 515 SPCH H2O 172 -1.6575 -4.0315 -7.1939 1 0 ATOM 516 SPCH H2O 172 1.57025 4.78301 9.88978 1 0 ATOM 517 SPCO H2O 173 -0.8737 -1.9651 6.63294 1 0 ATOM 518 SPCH H2O 173 5.88317 -28.982 -4.9620 1 0 ATOM 519 SPCH H2O 173 -1.5271 16.0084 -1.3055 1 0 ATOM 520 SPCO H2O 174 -1.3128 2.89046 -6.7779 1 0 ATOM 521 SPCH H2O 174 13.7029 -19.305 10.4854 1 0 ATOM 522 SPCH H2O 174 -0.9017 -6.0665 -3.2987 1 0 ATOM 523 SPCO H2O 175 -4.1138 -5.5160 -5.9149 1 0 ATOM 524 SPCH H2O 175 -12.321 -21.868 -8.0870 1 0 ATOM 525 SPCH H2O 175 -9.6564 34.6705 18.6885 1 0 ATOM 526 SPCO H2O 176 -4.5181 4.375 -3.8759 1 0 ATOM 527 SPCH H2O 176 -15.304 19.9156 -14.380 1 0 ATOM 528 SPCH H2O 176 -10.646 14.6315 10.4499 1 0 ATOM 529 SPCO H2O 177 1.79418 7.0056 5.6557 1 0 ATOM 530 SPCH H2O 177 -20.067 22.3 17.9699 1 0 ATOM 531 SPCH H2O 177 1.01302 -21.320 -11.129 1 0 ATOM 532 SPCO H2O 178 -8.3134 2.42313 1.9838 1 0 ATOM 533 SPCH H2O 178 -11.689 4.88852 12.5103 1 0 ATOM 534 SPCH H2O 178 -16.008 -2.3181 -40.503 1 0 ATOM 535 SPCO H2O 179 4.16465 -1.6323 -2.5174 1 0 ATOM 536 SPCH H2O 179 4.6539 -14.119 -11.943 1 0 ATOM 537 SPCH H2O 179 -32.915 -1.3004 -10.875 1 0 ATOM 538 SPCO H2O 180 1.77586 2.45112 7.56983 1 0 ATOM 539 SPCH H2O 180 4.49445 24.415 15.0829 1 0 ATOM 540 SPCH H2O 180 8.05912 11.9832 4.3833 1 0 ATOM 541 SPCO H2O 181 5.31228 -0.4072 -5.6002 1 0 ATOM 542 SPCH H2O 181 -12.899 -10.672 30.0389 1 0 ATOM 543 SPCH H2O 181 5.4257 42.9284 -4.2681 1 0 ATOM 544 SPCO H2O 182 0.83850 -3.1676 2.0581 1 0 ATOM 545 SPCH H2O 182 3.22622 21.6387 -4.1959 1 0 ATOM 546 SPCH H2O 182 10.2283 -12.920 -8.8677 1 0 ATOM 547 SPCO H2O 183 2.3687 -1.5760 -0.1521 1 0 ATOM 548 SPCH H2O 183 25.9772 4.47326 15.7584 1 0 ATOM 549 SPCH H2O 183 -11.497 -6.8210 1.66657 1 0 ATOM 550 SPCO H2O 184 -3.4322 -0.1311 -1.0918 1 0 ATOM 551 SPCH H2O 184 -36.129 3.80452 -0.5650 1 0 ATOM 552 SPCH H2O 184 22.1037 -1.2844 14.4897 1 0 ATOM 553 SPCO H2O 185 4.01067 -5.7411 5.40306 1 0 ATOM 554 SPCH H2O 185 12.6824 10.5514 -9.9380 1 0 ATOM 555 SPCH H2O 185 5.05088 -9.7056 0.44982 1 0 ATOM 556 SPCO H2O 186 0.55382 1.44167 -7.4706 1 0 ATOM 557 SPCH H2O 186 -2.5817 40.7685 7.38149 1 0 ATOM 558 SPCH H2O 186 -28.703 4.36992 9.16612 1 0 ATOM 559 SPCO H2O 187 -5.0441 -0.4201 0.67835 1 0 ATOM 560 SPCH H2O 187 1.47939 0.12448 -30.450 1 0 ATOM 561 SPCH H2O 187 -5.6565 1.47549 -9.6632 1 0 ATOM 562 SPCO H2O 188 6.82528 -4.8707 -5.5547 1 0 ATOM 563 SPCH H2O 188 22.3468 -13.570 -17.345 1 0 ATOM 564 SPCH H2O 188 -10.982 -1.5351 -10.470 1 0 ATOM 565 SPCO H2O 189 -5.1868 6.46498 4.75424 1 0 ATOM 566 SPCH H2O 189 27.5342 16.5125 4.47081 1 0 ATOM 567 SPCH H2O 189 -5.2581 2.40148 23.6441 1 0 ATOM 568 SPCO H2O 190 1.05647 -3.1237 -3.0725 1 0 ATOM 569 SPCH H2O 190 -28.904 -11.466 -10.016 1 0 ATOM 570 SPCH H2O 190 -6.0419 17.471 -13.635 1 0 ATOM 571 SPCO H2O 191 0.82929 -2.8361 -1.6851 1 0 ATOM 572 SPCH H2O 191 -9.1895 5.31129 -5.2218 1 0 ATOM 573 SPCH H2O 191 -20.222 -17.881 -2.0693 1 0 ATOM 574 SPCO H2O 192 3.06417 -8.1928 -2.9845 1 0 ATOM 575 SPCH H2O 192 8.93115 13.6982 4.83675 1 0 ATOM 576 SPCH H2O 192 -4.4629 -19.872 37.1468 1 0 ATOM 577 SPCO H2O 193 2.48817 2.64641 6.06221 1 0 ATOM 578 SPCH H2O 193 25.4742 5.42537 10.555 1 0 ATOM 579 SPCH H2O 193 16.7061 7.80241 -9.7060 1 0 ATOM 580 SPCO H2O 194 4.8216 4.01182 6.44965 1 0 ATOM 581 SPCH H2O 194 11.1112 18.2035 -4.6641 1 0 ATOM 582 SPCH H2O 194 -3.4784 36.9381 -11.303 1 0 ATOM 583 SPCO H2O 195 3.13077 2.30429 -3.3995 1 0 ATOM 584 SPCH H2O 195 -18.882 16.3544 4.43266 1 0 ATOM 585 SPCH H2O 195 -7.7843 1.31305 2.82564 1 0 ATOM 586 SPCO H2O 196 -1.8866 4.44631 -4.0838 1 0 ATOM 587 SPCH H2O 196 -3.2838 -3.6647 -15.398 1 0 ATOM 588 SPCH H2O 196 -6.5507 -0.0927 16.2127 1 0 ATOM 589 SPCO H2O 197 6.18105 5.55823 6.05727 1 0 ATOM 590 SPCH H2O 197 -3.6003 21.2763 -10.824 1 0 ATOM 591 SPCH H2O 197 -3.5849 -19.509 -29.121 1 0 ATOM 592 SPCO H2O 198 8.22637 1.15182 -2.8577 1 0 ATOM 593 SPCH H2O 198 11.241 7.97364 -21.261 1 0 ATOM 594 SPCH H2O 198 -5.2048 1.94259 -3.407 1 0 ATOM 595 SPCO H2O 199 1.07661 1.78392 0.94835 1 0 ATOM 596 SPCH H2O 199 -14.686 5.35324 -5.8621 1 0 ATOM 597 SPCH H2O 199 17.9687 23.8199 3.92884 1 0 ATOM 598 SPCO H2O 200 -0.6915 -6.1332 0.65127 1 0 ATOM 599 SPCH H2O 200 18.3384 16.3091 11.46 1 0 ATOM 600 SPCH H2O 200 30.6893 -5.1133 -8.5201 1 0 ATOM 601 SPCO H2O 201 -1.2257 -0.9845 0.29836 1 0 ATOM 602 SPCH H2O 201 -1.9361 -30.569 -20.157 1 0 ATOM 603 SPCH H2O 201 14.5174 10.4353 3.6287 1 0 ATOM 604 SPCO H2O 202 0.90416 -7.7198 -1.0590 1 0 ATOM 605 SPCH H2O 202 -8.1427 12.9186 -16.141 1 0 ATOM 606 SPCH H2O 202 0.24172 9.2453 -10.264 1 0 ATOM 607 SPCO H2O 203 1.34745 0.18103 -6.6130 1 0 ATOM 608 SPCH H2O 203 1.1237 -10.790 -8.6551 1 0 ATOM 609 SPCH H2O 203 -2.1524 21.1499 2.06179 1 0 ATOM 610 SPCO H2O 204 -3.9924 0.11375 -2.2488 1 0 ATOM 611 SPCH H2O 204 -14.356 -3.5637 22.4436 1 0 ATOM 612 SPCH H2O 204 20.0856 -15.862 -14.703 1 0 ATOM 613 SPCO H2O 205 -5.0750 -0.9008 -0.1775 1 0 ATOM 614 SPCH H2O 205 -16.648 -5.0286 -9.0526 1 0 ATOM 615 SPCH H2O 205 1.13741 -0.5198 10.1121 1 0 ATOM 616 SPCO H2O 206 4.36847 1.74693 0.11757 1 0 ATOM 617 SPCH H2O 206 -36.176 -1.2866 -0.4687 1 0 ATOM 618 SPCH H2O 206 -20.028 3.09679 11.6043 1 0 ATOM 619 SPCO H2O 207 -0.7683 -4.6868 -1.1214 1 0 ATOM 620 SPCH H2O 207 11.3983 4.8746 -28.524 1 0 ATOM 621 SPCH H2O 207 -4.7871 2.4375 -7.3053 1 0 ATOM 622 SPCO H2O 208 5.7325 -1.4779 7.6865 1 0 ATOM 623 SPCH H2O 208 -0.6307 7.92989 7.93012 1 0 ATOM 624 SPCH H2O 208 -12.848 12.2316 1.60641 1 0 ATOM 625 SPCO H2O 209 3.64068 1.94871 7.59517 1 0 ATOM 626 SPCH H2O 209 21.2754 19.4794 34.1882 1 0 ATOM 627 SPCH H2O 209 -40.457 18.0218 -3.0367 1 0 ATOM 628 SPCO H2O 210 -7.8812 11.1731 -3.2968 1 0 ATOM 629 SPCH H2O 210 10.094 15.8416 23.9737 1 0 ATOM 630 SPCH H2O 210 9.85494 -18.121 -7.4105 1 0 ATOM 631 SPCO H2O 211 -1.8280 -3.8848 -2.3163 1 0 ATOM 632 SPCH H2O 211 -10.460 -25.843 -6.4601 1 0 ATOM 633 SPCH H2O 211 -11.800 19.3593 -8.8219 1 0 ATOM 634 SPCO H2O 212 -0.4994 -1.1545 0.80406 1 0 ATOM 635 SPCH H2O 212 -43.746 -30.547 -3.2994 1 0 ATOM 636 SPCH H2O 212 14.8945 -22.072 -19.841 1 0 ATOM 637 SPCO H2O 213 5.58173 0.71458 -0.4817 1 0 ATOM 638 SPCH H2O 213 -5.7669 -16.419 19.559 1 0 ATOM 639 SPCH H2O 213 19.7892 7.98311 13.8037 1 0 ATOM 640 SPCO H2O 214 -10.306 7.30265 2.90024 1 0 ATOM 641 SPCH H2O 214 -8.3223 4.52099 7.08603 1 0 ATOM 642 SPCH H2O 214 -7.4562 -26.447 -27.118 1 0 ATOM 643 SPCO H2O 215 -6.2003 -4.6491 0.62016 1 0 ATOM 644 SPCH H2O 215 -7.9238 -17.779 -5.4608 1 0 ATOM 645 SPCH H2O 215 21.1463 16.1789 2.23934 1 0 ATOM 646 SPCO H2O 216 -3.8969 7.63734 7.01228 1 0 ATOM 647 SPCH H2O 216 34.6319 28.5494 -38.684 1 0 ATOM 648 SPCH H2O 216 -21.350 2.43283 -16.629 1 0 END protomol/examples/water_216/water216.par0100644027616700000500000000370610237151527017432 0ustar pbrenne1dip*>>>> CHARMM22 Parameter File for Water <<<<<<<<<<<<<<<< *>>>>>>>>>>>>>>>>>>>>>>> Sept. 2004 <<<<<<<<<<<<<<<<<<<< *>>>>>>>>>>>>>> Prepared by T. I. Morrow <<<<<<<<<<<<<<< ! REMARKS ! BONDS ! !V(bond) = Kb(b - b0)**2 ! !Kb: kcal/mole/A**2 !b0: A ! !atom type Kb b0 ! SPCH SPCO 545.00 1.000 ! SPC/E rigid water HT OT 545.00 1.000 ! Protomol example water !SPCH SPCH 0.00 1.630 ! ANGLES ! !V(angle) = Ktheta(Theta - Theta0)**2 ! !V(Urey-Bradley) = Kub(S - S0)**2 ! !Ktheta: kcal/mole/rad**2 !Theta0: degrees !Kub: kcal/mole/A**2 (Urey-Bradley) !S0: A ! !atom types Ktheta Theta0 Kub S0 ! !-- Water models SPCH SPCO SPCH 55.0 109.47 ! SPC/E rigid water HT OT HT 55.0 109.47 ! protomol example water DIHEDRALS ! !V(dihedral) = Kchi(1 + cos(n(chi) - delta)) ! !Kchi: kcal/mole !n: multiplicity !delta: degrees ! !atom types Kchi n delta IMPROPER ! !V(improper) = Kpsi(psi - psi0)**2 ! !Kpsi: kcal/mole/rad**2 !psi0: degrees !note that the second column of numbers (0) is ignored ! !atom types Kpsi psi0 NONBONDED nbxmod 5 atom cdiel shift vatom vdistance vswitch - cutnb 14.0 ctofnb 12.0 ctonnb 10.0 eps 1.0 e14fac 1.0 wmin 1.5 !adm jr., 5/08/91, suggested cutoff scheme ! !V(Lennard-Jones) = Eps,i,j[(Rmin,i,j/ri,j)**12 - 2(Rmin,i,j/ri,j)**6] ! !epsilon: kcal/mole, Eps,i,j = sqrt(eps,i * eps,j) !Rmin/2: A, Rmin,i,j = Rmin/2,i + Rmin/2,j ! !atom ignored epsilon Rmin/2 ignored eps,1-4 Rmin/2,1-4 ! !-- Water SPCO 0.0 -0.15525 1.774 ! SPC/E Oxygen SPCH 0.0 -0.00000 1.000 ! SPC/E Hydrogen OT 0.0 -0.15525 1.774 ! protomol example water HT 0.0 -0.0000 1.000 ! protomol example water HBOND CUTHB 0.5 ! If you want to do hbond analysis (only), then use ! READ PARAM APPEND CARD ! to append hbond parameters from the file: par_hbond.inp END protomol/examples/water_216/water216.psf0100644027616700000500000016416710237151527017451 0ustar pbrenne1dipPSF 2 !NTITLE REMARKS Filename= FinalSPCF.PSF REMARKS Molecular structure file for 216 molecules. 648 !NATOM 1 WATR 1 H2O O1 SPCO -0.847600 15.9994 0 2 WATR 1 H2O H1 SPCH 0.423800 1.0080 0 3 WATR 1 H2O H2 SPCH 0.423800 1.0080 0 4 WATR 2 H2O O1 SPCO -0.847600 15.9994 0 5 WATR 2 H2O H1 SPCH 0.423800 1.0080 0 6 WATR 2 H2O H2 SPCH 0.423800 1.0080 0 7 WATR 3 H2O O1 SPCO -0.847600 15.9994 0 8 WATR 3 H2O H1 SPCH 0.423800 1.0080 0 9 WATR 3 H2O H2 SPCH 0.423800 1.0080 0 10 WATR 4 H2O O1 SPCO -0.847600 15.9994 0 11 WATR 4 H2O H1 SPCH 0.423800 1.0080 0 12 WATR 4 H2O H2 SPCH 0.423800 1.0080 0 13 WATR 5 H2O O1 SPCO -0.847600 15.9994 0 14 WATR 5 H2O H1 SPCH 0.423800 1.0080 0 15 WATR 5 H2O H2 SPCH 0.423800 1.0080 0 16 WATR 6 H2O O1 SPCO -0.847600 15.9994 0 17 WATR 6 H2O H1 SPCH 0.423800 1.0080 0 18 WATR 6 H2O H2 SPCH 0.423800 1.0080 0 19 WATR 7 H2O O1 SPCO -0.847600 15.9994 0 20 WATR 7 H2O H1 SPCH 0.423800 1.0080 0 21 WATR 7 H2O H2 SPCH 0.423800 1.0080 0 22 WATR 8 H2O O1 SPCO -0.847600 15.9994 0 23 WATR 8 H2O H1 SPCH 0.423800 1.0080 0 24 WATR 8 H2O H2 SPCH 0.423800 1.0080 0 25 WATR 9 H2O O1 SPCO -0.847600 15.9994 0 26 WATR 9 H2O H1 SPCH 0.423800 1.0080 0 27 WATR 9 H2O H2 SPCH 0.423800 1.0080 0 28 WATR 10 H2O O1 SPCO -0.847600 15.9994 0 29 WATR 10 H2O H1 SPCH 0.423800 1.0080 0 30 WATR 10 H2O H2 SPCH 0.423800 1.0080 0 31 WATR 11 H2O O1 SPCO -0.847600 15.9994 0 32 WATR 11 H2O H1 SPCH 0.423800 1.0080 0 33 WATR 11 H2O H2 SPCH 0.423800 1.0080 0 34 WATR 12 H2O O1 SPCO -0.847600 15.9994 0 35 WATR 12 H2O H1 SPCH 0.423800 1.0080 0 36 WATR 12 H2O H2 SPCH 0.423800 1.0080 0 37 WATR 13 H2O O1 SPCO -0.847600 15.9994 0 38 WATR 13 H2O H1 SPCH 0.423800 1.0080 0 39 WATR 13 H2O H2 SPCH 0.423800 1.0080 0 40 WATR 14 H2O O1 SPCO -0.847600 15.9994 0 41 WATR 14 H2O H1 SPCH 0.423800 1.0080 0 42 WATR 14 H2O H2 SPCH 0.423800 1.0080 0 43 WATR 15 H2O O1 SPCO -0.847600 15.9994 0 44 WATR 15 H2O H1 SPCH 0.423800 1.0080 0 45 WATR 15 H2O H2 SPCH 0.423800 1.0080 0 46 WATR 16 H2O O1 SPCO -0.847600 15.9994 0 47 WATR 16 H2O H1 SPCH 0.423800 1.0080 0 48 WATR 16 H2O H2 SPCH 0.423800 1.0080 0 49 WATR 17 H2O O1 SPCO -0.847600 15.9994 0 50 WATR 17 H2O H1 SPCH 0.423800 1.0080 0 51 WATR 17 H2O H2 SPCH 0.423800 1.0080 0 52 WATR 18 H2O O1 SPCO -0.847600 15.9994 0 53 WATR 18 H2O H1 SPCH 0.423800 1.0080 0 54 WATR 18 H2O H2 SPCH 0.423800 1.0080 0 55 WATR 19 H2O O1 SPCO -0.847600 15.9994 0 56 WATR 19 H2O H1 SPCH 0.423800 1.0080 0 57 WATR 19 H2O H2 SPCH 0.423800 1.0080 0 58 WATR 20 H2O O1 SPCO -0.847600 15.9994 0 59 WATR 20 H2O H1 SPCH 0.423800 1.0080 0 60 WATR 20 H2O H2 SPCH 0.423800 1.0080 0 61 WATR 21 H2O O1 SPCO -0.847600 15.9994 0 62 WATR 21 H2O H1 SPCH 0.423800 1.0080 0 63 WATR 21 H2O H2 SPCH 0.423800 1.0080 0 64 WATR 22 H2O O1 SPCO -0.847600 15.9994 0 65 WATR 22 H2O H1 SPCH 0.423800 1.0080 0 66 WATR 22 H2O H2 SPCH 0.423800 1.0080 0 67 WATR 23 H2O O1 SPCO -0.847600 15.9994 0 68 WATR 23 H2O H1 SPCH 0.423800 1.0080 0 69 WATR 23 H2O H2 SPCH 0.423800 1.0080 0 70 WATR 24 H2O O1 SPCO -0.847600 15.9994 0 71 WATR 24 H2O H1 SPCH 0.423800 1.0080 0 72 WATR 24 H2O H2 SPCH 0.423800 1.0080 0 73 WATR 25 H2O O1 SPCO -0.847600 15.9994 0 74 WATR 25 H2O H1 SPCH 0.423800 1.0080 0 75 WATR 25 H2O H2 SPCH 0.423800 1.0080 0 76 WATR 26 H2O O1 SPCO -0.847600 15.9994 0 77 WATR 26 H2O H1 SPCH 0.423800 1.0080 0 78 WATR 26 H2O H2 SPCH 0.423800 1.0080 0 79 WATR 27 H2O O1 SPCO -0.847600 15.9994 0 80 WATR 27 H2O H1 SPCH 0.423800 1.0080 0 81 WATR 27 H2O H2 SPCH 0.423800 1.0080 0 82 WATR 28 H2O O1 SPCO -0.847600 15.9994 0 83 WATR 28 H2O H1 SPCH 0.423800 1.0080 0 84 WATR 28 H2O H2 SPCH 0.423800 1.0080 0 85 WATR 29 H2O O1 SPCO -0.847600 15.9994 0 86 WATR 29 H2O H1 SPCH 0.423800 1.0080 0 87 WATR 29 H2O H2 SPCH 0.423800 1.0080 0 88 WATR 30 H2O O1 SPCO -0.847600 15.9994 0 89 WATR 30 H2O H1 SPCH 0.423800 1.0080 0 90 WATR 30 H2O H2 SPCH 0.423800 1.0080 0 91 WATR 31 H2O O1 SPCO -0.847600 15.9994 0 92 WATR 31 H2O H1 SPCH 0.423800 1.0080 0 93 WATR 31 H2O H2 SPCH 0.423800 1.0080 0 94 WATR 32 H2O O1 SPCO -0.847600 15.9994 0 95 WATR 32 H2O H1 SPCH 0.423800 1.0080 0 96 WATR 32 H2O H2 SPCH 0.423800 1.0080 0 97 WATR 33 H2O O1 SPCO -0.847600 15.9994 0 98 WATR 33 H2O H1 SPCH 0.423800 1.0080 0 99 WATR 33 H2O H2 SPCH 0.423800 1.0080 0 100 WATR 34 H2O O1 SPCO -0.847600 15.9994 0 101 WATR 34 H2O H1 SPCH 0.423800 1.0080 0 102 WATR 34 H2O H2 SPCH 0.423800 1.0080 0 103 WATR 35 H2O O1 SPCO -0.847600 15.9994 0 104 WATR 35 H2O H1 SPCH 0.423800 1.0080 0 105 WATR 35 H2O H2 SPCH 0.423800 1.0080 0 106 WATR 36 H2O O1 SPCO -0.847600 15.9994 0 107 WATR 36 H2O H1 SPCH 0.423800 1.0080 0 108 WATR 36 H2O H2 SPCH 0.423800 1.0080 0 109 WATR 37 H2O O1 SPCO -0.847600 15.9994 0 110 WATR 37 H2O H1 SPCH 0.423800 1.0080 0 111 WATR 37 H2O H2 SPCH 0.423800 1.0080 0 112 WATR 38 H2O O1 SPCO -0.847600 15.9994 0 113 WATR 38 H2O H1 SPCH 0.423800 1.0080 0 114 WATR 38 H2O H2 SPCH 0.423800 1.0080 0 115 WATR 39 H2O O1 SPCO -0.847600 15.9994 0 116 WATR 39 H2O H1 SPCH 0.423800 1.0080 0 117 WATR 39 H2O H2 SPCH 0.423800 1.0080 0 118 WATR 40 H2O O1 SPCO -0.847600 15.9994 0 119 WATR 40 H2O H1 SPCH 0.423800 1.0080 0 120 WATR 40 H2O H2 SPCH 0.423800 1.0080 0 121 WATR 41 H2O O1 SPCO -0.847600 15.9994 0 122 WATR 41 H2O H1 SPCH 0.423800 1.0080 0 123 WATR 41 H2O H2 SPCH 0.423800 1.0080 0 124 WATR 42 H2O O1 SPCO -0.847600 15.9994 0 125 WATR 42 H2O H1 SPCH 0.423800 1.0080 0 126 WATR 42 H2O H2 SPCH 0.423800 1.0080 0 127 WATR 43 H2O O1 SPCO -0.847600 15.9994 0 128 WATR 43 H2O H1 SPCH 0.423800 1.0080 0 129 WATR 43 H2O H2 SPCH 0.423800 1.0080 0 130 WATR 44 H2O O1 SPCO -0.847600 15.9994 0 131 WATR 44 H2O H1 SPCH 0.423800 1.0080 0 132 WATR 44 H2O H2 SPCH 0.423800 1.0080 0 133 WATR 45 H2O O1 SPCO -0.847600 15.9994 0 134 WATR 45 H2O H1 SPCH 0.423800 1.0080 0 135 WATR 45 H2O H2 SPCH 0.423800 1.0080 0 136 WATR 46 H2O O1 SPCO -0.847600 15.9994 0 137 WATR 46 H2O H1 SPCH 0.423800 1.0080 0 138 WATR 46 H2O H2 SPCH 0.423800 1.0080 0 139 WATR 47 H2O O1 SPCO -0.847600 15.9994 0 140 WATR 47 H2O H1 SPCH 0.423800 1.0080 0 141 WATR 47 H2O H2 SPCH 0.423800 1.0080 0 142 WATR 48 H2O O1 SPCO -0.847600 15.9994 0 143 WATR 48 H2O H1 SPCH 0.423800 1.0080 0 144 WATR 48 H2O H2 SPCH 0.423800 1.0080 0 145 WATR 49 H2O O1 SPCO -0.847600 15.9994 0 146 WATR 49 H2O H1 SPCH 0.423800 1.0080 0 147 WATR 49 H2O H2 SPCH 0.423800 1.0080 0 148 WATR 50 H2O O1 SPCO -0.847600 15.9994 0 149 WATR 50 H2O H1 SPCH 0.423800 1.0080 0 150 WATR 50 H2O H2 SPCH 0.423800 1.0080 0 151 WATR 51 H2O O1 SPCO -0.847600 15.9994 0 152 WATR 51 H2O H1 SPCH 0.423800 1.0080 0 153 WATR 51 H2O H2 SPCH 0.423800 1.0080 0 154 WATR 52 H2O O1 SPCO -0.847600 15.9994 0 155 WATR 52 H2O H1 SPCH 0.423800 1.0080 0 156 WATR 52 H2O H2 SPCH 0.423800 1.0080 0 157 WATR 53 H2O O1 SPCO -0.847600 15.9994 0 158 WATR 53 H2O H1 SPCH 0.423800 1.0080 0 159 WATR 53 H2O H2 SPCH 0.423800 1.0080 0 160 WATR 54 H2O O1 SPCO -0.847600 15.9994 0 161 WATR 54 H2O H1 SPCH 0.423800 1.0080 0 162 WATR 54 H2O H2 SPCH 0.423800 1.0080 0 163 WATR 55 H2O O1 SPCO -0.847600 15.9994 0 164 WATR 55 H2O H1 SPCH 0.423800 1.0080 0 165 WATR 55 H2O H2 SPCH 0.423800 1.0080 0 166 WATR 56 H2O O1 SPCO -0.847600 15.9994 0 167 WATR 56 H2O H1 SPCH 0.423800 1.0080 0 168 WATR 56 H2O H2 SPCH 0.423800 1.0080 0 169 WATR 57 H2O O1 SPCO -0.847600 15.9994 0 170 WATR 57 H2O H1 SPCH 0.423800 1.0080 0 171 WATR 57 H2O H2 SPCH 0.423800 1.0080 0 172 WATR 58 H2O O1 SPCO -0.847600 15.9994 0 173 WATR 58 H2O H1 SPCH 0.423800 1.0080 0 174 WATR 58 H2O H2 SPCH 0.423800 1.0080 0 175 WATR 59 H2O O1 SPCO -0.847600 15.9994 0 176 WATR 59 H2O H1 SPCH 0.423800 1.0080 0 177 WATR 59 H2O H2 SPCH 0.423800 1.0080 0 178 WATR 60 H2O O1 SPCO -0.847600 15.9994 0 179 WATR 60 H2O H1 SPCH 0.423800 1.0080 0 180 WATR 60 H2O H2 SPCH 0.423800 1.0080 0 181 WATR 61 H2O O1 SPCO -0.847600 15.9994 0 182 WATR 61 H2O H1 SPCH 0.423800 1.0080 0 183 WATR 61 H2O H2 SPCH 0.423800 1.0080 0 184 WATR 62 H2O O1 SPCO -0.847600 15.9994 0 185 WATR 62 H2O H1 SPCH 0.423800 1.0080 0 186 WATR 62 H2O H2 SPCH 0.423800 1.0080 0 187 WATR 63 H2O O1 SPCO -0.847600 15.9994 0 188 WATR 63 H2O H1 SPCH 0.423800 1.0080 0 189 WATR 63 H2O H2 SPCH 0.423800 1.0080 0 190 WATR 64 H2O O1 SPCO -0.847600 15.9994 0 191 WATR 64 H2O H1 SPCH 0.423800 1.0080 0 192 WATR 64 H2O H2 SPCH 0.423800 1.0080 0 193 WATR 65 H2O O1 SPCO -0.847600 15.9994 0 194 WATR 65 H2O H1 SPCH 0.423800 1.0080 0 195 WATR 65 H2O H2 SPCH 0.423800 1.0080 0 196 WATR 66 H2O O1 SPCO -0.847600 15.9994 0 197 WATR 66 H2O H1 SPCH 0.423800 1.0080 0 198 WATR 66 H2O H2 SPCH 0.423800 1.0080 0 199 WATR 67 H2O O1 SPCO -0.847600 15.9994 0 200 WATR 67 H2O H1 SPCH 0.423800 1.0080 0 201 WATR 67 H2O H2 SPCH 0.423800 1.0080 0 202 WATR 68 H2O O1 SPCO -0.847600 15.9994 0 203 WATR 68 H2O H1 SPCH 0.423800 1.0080 0 204 WATR 68 H2O H2 SPCH 0.423800 1.0080 0 205 WATR 69 H2O O1 SPCO -0.847600 15.9994 0 206 WATR 69 H2O H1 SPCH 0.423800 1.0080 0 207 WATR 69 H2O H2 SPCH 0.423800 1.0080 0 208 WATR 70 H2O O1 SPCO -0.847600 15.9994 0 209 WATR 70 H2O H1 SPCH 0.423800 1.0080 0 210 WATR 70 H2O H2 SPCH 0.423800 1.0080 0 211 WATR 71 H2O O1 SPCO -0.847600 15.9994 0 212 WATR 71 H2O H1 SPCH 0.423800 1.0080 0 213 WATR 71 H2O H2 SPCH 0.423800 1.0080 0 214 WATR 72 H2O O1 SPCO -0.847600 15.9994 0 215 WATR 72 H2O H1 SPCH 0.423800 1.0080 0 216 WATR 72 H2O H2 SPCH 0.423800 1.0080 0 217 WATR 73 H2O O1 SPCO -0.847600 15.9994 0 218 WATR 73 H2O H1 SPCH 0.423800 1.0080 0 219 WATR 73 H2O H2 SPCH 0.423800 1.0080 0 220 WATR 74 H2O O1 SPCO -0.847600 15.9994 0 221 WATR 74 H2O H1 SPCH 0.423800 1.0080 0 222 WATR 74 H2O H2 SPCH 0.423800 1.0080 0 223 WATR 75 H2O O1 SPCO -0.847600 15.9994 0 224 WATR 75 H2O H1 SPCH 0.423800 1.0080 0 225 WATR 75 H2O H2 SPCH 0.423800 1.0080 0 226 WATR 76 H2O O1 SPCO -0.847600 15.9994 0 227 WATR 76 H2O H1 SPCH 0.423800 1.0080 0 228 WATR 76 H2O H2 SPCH 0.423800 1.0080 0 229 WATR 77 H2O O1 SPCO -0.847600 15.9994 0 230 WATR 77 H2O H1 SPCH 0.423800 1.0080 0 231 WATR 77 H2O H2 SPCH 0.423800 1.0080 0 232 WATR 78 H2O O1 SPCO -0.847600 15.9994 0 233 WATR 78 H2O H1 SPCH 0.423800 1.0080 0 234 WATR 78 H2O H2 SPCH 0.423800 1.0080 0 235 WATR 79 H2O O1 SPCO -0.847600 15.9994 0 236 WATR 79 H2O H1 SPCH 0.423800 1.0080 0 237 WATR 79 H2O H2 SPCH 0.423800 1.0080 0 238 WATR 80 H2O O1 SPCO -0.847600 15.9994 0 239 WATR 80 H2O H1 SPCH 0.423800 1.0080 0 240 WATR 80 H2O H2 SPCH 0.423800 1.0080 0 241 WATR 81 H2O O1 SPCO -0.847600 15.9994 0 242 WATR 81 H2O H1 SPCH 0.423800 1.0080 0 243 WATR 81 H2O H2 SPCH 0.423800 1.0080 0 244 WATR 82 H2O O1 SPCO -0.847600 15.9994 0 245 WATR 82 H2O H1 SPCH 0.423800 1.0080 0 246 WATR 82 H2O H2 SPCH 0.423800 1.0080 0 247 WATR 83 H2O O1 SPCO -0.847600 15.9994 0 248 WATR 83 H2O H1 SPCH 0.423800 1.0080 0 249 WATR 83 H2O H2 SPCH 0.423800 1.0080 0 250 WATR 84 H2O O1 SPCO -0.847600 15.9994 0 251 WATR 84 H2O H1 SPCH 0.423800 1.0080 0 252 WATR 84 H2O H2 SPCH 0.423800 1.0080 0 253 WATR 85 H2O O1 SPCO -0.847600 15.9994 0 254 WATR 85 H2O H1 SPCH 0.423800 1.0080 0 255 WATR 85 H2O H2 SPCH 0.423800 1.0080 0 256 WATR 86 H2O O1 SPCO -0.847600 15.9994 0 257 WATR 86 H2O H1 SPCH 0.423800 1.0080 0 258 WATR 86 H2O H2 SPCH 0.423800 1.0080 0 259 WATR 87 H2O O1 SPCO -0.847600 15.9994 0 260 WATR 87 H2O H1 SPCH 0.423800 1.0080 0 261 WATR 87 H2O H2 SPCH 0.423800 1.0080 0 262 WATR 88 H2O O1 SPCO -0.847600 15.9994 0 263 WATR 88 H2O H1 SPCH 0.423800 1.0080 0 264 WATR 88 H2O H2 SPCH 0.423800 1.0080 0 265 WATR 89 H2O O1 SPCO -0.847600 15.9994 0 266 WATR 89 H2O H1 SPCH 0.423800 1.0080 0 267 WATR 89 H2O H2 SPCH 0.423800 1.0080 0 268 WATR 90 H2O O1 SPCO -0.847600 15.9994 0 269 WATR 90 H2O H1 SPCH 0.423800 1.0080 0 270 WATR 90 H2O H2 SPCH 0.423800 1.0080 0 271 WATR 91 H2O O1 SPCO -0.847600 15.9994 0 272 WATR 91 H2O H1 SPCH 0.423800 1.0080 0 273 WATR 91 H2O H2 SPCH 0.423800 1.0080 0 274 WATR 92 H2O O1 SPCO -0.847600 15.9994 0 275 WATR 92 H2O H1 SPCH 0.423800 1.0080 0 276 WATR 92 H2O H2 SPCH 0.423800 1.0080 0 277 WATR 93 H2O O1 SPCO -0.847600 15.9994 0 278 WATR 93 H2O H1 SPCH 0.423800 1.0080 0 279 WATR 93 H2O H2 SPCH 0.423800 1.0080 0 280 WATR 94 H2O O1 SPCO -0.847600 15.9994 0 281 WATR 94 H2O H1 SPCH 0.423800 1.0080 0 282 WATR 94 H2O H2 SPCH 0.423800 1.0080 0 283 WATR 95 H2O O1 SPCO -0.847600 15.9994 0 284 WATR 95 H2O H1 SPCH 0.423800 1.0080 0 285 WATR 95 H2O H2 SPCH 0.423800 1.0080 0 286 WATR 96 H2O O1 SPCO -0.847600 15.9994 0 287 WATR 96 H2O H1 SPCH 0.423800 1.0080 0 288 WATR 96 H2O H2 SPCH 0.423800 1.0080 0 289 WATR 97 H2O O1 SPCO -0.847600 15.9994 0 290 WATR 97 H2O H1 SPCH 0.423800 1.0080 0 291 WATR 97 H2O H2 SPCH 0.423800 1.0080 0 292 WATR 98 H2O O1 SPCO -0.847600 15.9994 0 293 WATR 98 H2O H1 SPCH 0.423800 1.0080 0 294 WATR 98 H2O H2 SPCH 0.423800 1.0080 0 295 WATR 99 H2O O1 SPCO -0.847600 15.9994 0 296 WATR 99 H2O H1 SPCH 0.423800 1.0080 0 297 WATR 99 H2O H2 SPCH 0.423800 1.0080 0 298 WATR 100 H2O O1 SPCO -0.847600 15.9994 0 299 WATR 100 H2O H1 SPCH 0.423800 1.0080 0 300 WATR 100 H2O H2 SPCH 0.423800 1.0080 0 301 WATR 101 H2O O1 SPCO -0.847600 15.9994 0 302 WATR 101 H2O H1 SPCH 0.423800 1.0080 0 303 WATR 101 H2O H2 SPCH 0.423800 1.0080 0 304 WATR 102 H2O O1 SPCO -0.847600 15.9994 0 305 WATR 102 H2O H1 SPCH 0.423800 1.0080 0 306 WATR 102 H2O H2 SPCH 0.423800 1.0080 0 307 WATR 103 H2O O1 SPCO -0.847600 15.9994 0 308 WATR 103 H2O H1 SPCH 0.423800 1.0080 0 309 WATR 103 H2O H2 SPCH 0.423800 1.0080 0 310 WATR 104 H2O O1 SPCO -0.847600 15.9994 0 311 WATR 104 H2O H1 SPCH 0.423800 1.0080 0 312 WATR 104 H2O H2 SPCH 0.423800 1.0080 0 313 WATR 105 H2O O1 SPCO -0.847600 15.9994 0 314 WATR 105 H2O H1 SPCH 0.423800 1.0080 0 315 WATR 105 H2O H2 SPCH 0.423800 1.0080 0 316 WATR 106 H2O O1 SPCO -0.847600 15.9994 0 317 WATR 106 H2O H1 SPCH 0.423800 1.0080 0 318 WATR 106 H2O H2 SPCH 0.423800 1.0080 0 319 WATR 107 H2O O1 SPCO -0.847600 15.9994 0 320 WATR 107 H2O H1 SPCH 0.423800 1.0080 0 321 WATR 107 H2O H2 SPCH 0.423800 1.0080 0 322 WATR 108 H2O O1 SPCO -0.847600 15.9994 0 323 WATR 108 H2O H1 SPCH 0.423800 1.0080 0 324 WATR 108 H2O H2 SPCH 0.423800 1.0080 0 325 WATR 109 H2O O1 SPCO -0.847600 15.9994 0 326 WATR 109 H2O H1 SPCH 0.423800 1.0080 0 327 WATR 109 H2O H2 SPCH 0.423800 1.0080 0 328 WATR 110 H2O O1 SPCO -0.847600 15.9994 0 329 WATR 110 H2O H1 SPCH 0.423800 1.0080 0 330 WATR 110 H2O H2 SPCH 0.423800 1.0080 0 331 WATR 111 H2O O1 SPCO -0.847600 15.9994 0 332 WATR 111 H2O H1 SPCH 0.423800 1.0080 0 333 WATR 111 H2O H2 SPCH 0.423800 1.0080 0 334 WATR 112 H2O O1 SPCO -0.847600 15.9994 0 335 WATR 112 H2O H1 SPCH 0.423800 1.0080 0 336 WATR 112 H2O H2 SPCH 0.423800 1.0080 0 337 WATR 113 H2O O1 SPCO -0.847600 15.9994 0 338 WATR 113 H2O H1 SPCH 0.423800 1.0080 0 339 WATR 113 H2O H2 SPCH 0.423800 1.0080 0 340 WATR 114 H2O O1 SPCO -0.847600 15.9994 0 341 WATR 114 H2O H1 SPCH 0.423800 1.0080 0 342 WATR 114 H2O H2 SPCH 0.423800 1.0080 0 343 WATR 115 H2O O1 SPCO -0.847600 15.9994 0 344 WATR 115 H2O H1 SPCH 0.423800 1.0080 0 345 WATR 115 H2O H2 SPCH 0.423800 1.0080 0 346 WATR 116 H2O O1 SPCO -0.847600 15.9994 0 347 WATR 116 H2O H1 SPCH 0.423800 1.0080 0 348 WATR 116 H2O H2 SPCH 0.423800 1.0080 0 349 WATR 117 H2O O1 SPCO -0.847600 15.9994 0 350 WATR 117 H2O H1 SPCH 0.423800 1.0080 0 351 WATR 117 H2O H2 SPCH 0.423800 1.0080 0 352 WATR 118 H2O O1 SPCO -0.847600 15.9994 0 353 WATR 118 H2O H1 SPCH 0.423800 1.0080 0 354 WATR 118 H2O H2 SPCH 0.423800 1.0080 0 355 WATR 119 H2O O1 SPCO -0.847600 15.9994 0 356 WATR 119 H2O H1 SPCH 0.423800 1.0080 0 357 WATR 119 H2O H2 SPCH 0.423800 1.0080 0 358 WATR 120 H2O O1 SPCO -0.847600 15.9994 0 359 WATR 120 H2O H1 SPCH 0.423800 1.0080 0 360 WATR 120 H2O H2 SPCH 0.423800 1.0080 0 361 WATR 121 H2O O1 SPCO -0.847600 15.9994 0 362 WATR 121 H2O H1 SPCH 0.423800 1.0080 0 363 WATR 121 H2O H2 SPCH 0.423800 1.0080 0 364 WATR 122 H2O O1 SPCO -0.847600 15.9994 0 365 WATR 122 H2O H1 SPCH 0.423800 1.0080 0 366 WATR 122 H2O H2 SPCH 0.423800 1.0080 0 367 WATR 123 H2O O1 SPCO -0.847600 15.9994 0 368 WATR 123 H2O H1 SPCH 0.423800 1.0080 0 369 WATR 123 H2O H2 SPCH 0.423800 1.0080 0 370 WATR 124 H2O O1 SPCO -0.847600 15.9994 0 371 WATR 124 H2O H1 SPCH 0.423800 1.0080 0 372 WATR 124 H2O H2 SPCH 0.423800 1.0080 0 373 WATR 125 H2O O1 SPCO -0.847600 15.9994 0 374 WATR 125 H2O H1 SPCH 0.423800 1.0080 0 375 WATR 125 H2O H2 SPCH 0.423800 1.0080 0 376 WATR 126 H2O O1 SPCO -0.847600 15.9994 0 377 WATR 126 H2O H1 SPCH 0.423800 1.0080 0 378 WATR 126 H2O H2 SPCH 0.423800 1.0080 0 379 WATR 127 H2O O1 SPCO -0.847600 15.9994 0 380 WATR 127 H2O H1 SPCH 0.423800 1.0080 0 381 WATR 127 H2O H2 SPCH 0.423800 1.0080 0 382 WATR 128 H2O O1 SPCO -0.847600 15.9994 0 383 WATR 128 H2O H1 SPCH 0.423800 1.0080 0 384 WATR 128 H2O H2 SPCH 0.423800 1.0080 0 385 WATR 129 H2O O1 SPCO -0.847600 15.9994 0 386 WATR 129 H2O H1 SPCH 0.423800 1.0080 0 387 WATR 129 H2O H2 SPCH 0.423800 1.0080 0 388 WATR 130 H2O O1 SPCO -0.847600 15.9994 0 389 WATR 130 H2O H1 SPCH 0.423800 1.0080 0 390 WATR 130 H2O H2 SPCH 0.423800 1.0080 0 391 WATR 131 H2O O1 SPCO -0.847600 15.9994 0 392 WATR 131 H2O H1 SPCH 0.423800 1.0080 0 393 WATR 131 H2O H2 SPCH 0.423800 1.0080 0 394 WATR 132 H2O O1 SPCO -0.847600 15.9994 0 395 WATR 132 H2O H1 SPCH 0.423800 1.0080 0 396 WATR 132 H2O H2 SPCH 0.423800 1.0080 0 397 WATR 133 H2O O1 SPCO -0.847600 15.9994 0 398 WATR 133 H2O H1 SPCH 0.423800 1.0080 0 399 WATR 133 H2O H2 SPCH 0.423800 1.0080 0 400 WATR 134 H2O O1 SPCO -0.847600 15.9994 0 401 WATR 134 H2O H1 SPCH 0.423800 1.0080 0 402 WATR 134 H2O H2 SPCH 0.423800 1.0080 0 403 WATR 135 H2O O1 SPCO -0.847600 15.9994 0 404 WATR 135 H2O H1 SPCH 0.423800 1.0080 0 405 WATR 135 H2O H2 SPCH 0.423800 1.0080 0 406 WATR 136 H2O O1 SPCO -0.847600 15.9994 0 407 WATR 136 H2O H1 SPCH 0.423800 1.0080 0 408 WATR 136 H2O H2 SPCH 0.423800 1.0080 0 409 WATR 137 H2O O1 SPCO -0.847600 15.9994 0 410 WATR 137 H2O H1 SPCH 0.423800 1.0080 0 411 WATR 137 H2O H2 SPCH 0.423800 1.0080 0 412 WATR 138 H2O O1 SPCO -0.847600 15.9994 0 413 WATR 138 H2O H1 SPCH 0.423800 1.0080 0 414 WATR 138 H2O H2 SPCH 0.423800 1.0080 0 415 WATR 139 H2O O1 SPCO -0.847600 15.9994 0 416 WATR 139 H2O H1 SPCH 0.423800 1.0080 0 417 WATR 139 H2O H2 SPCH 0.423800 1.0080 0 418 WATR 140 H2O O1 SPCO -0.847600 15.9994 0 419 WATR 140 H2O H1 SPCH 0.423800 1.0080 0 420 WATR 140 H2O H2 SPCH 0.423800 1.0080 0 421 WATR 141 H2O O1 SPCO -0.847600 15.9994 0 422 WATR 141 H2O H1 SPCH 0.423800 1.0080 0 423 WATR 141 H2O H2 SPCH 0.423800 1.0080 0 424 WATR 142 H2O O1 SPCO -0.847600 15.9994 0 425 WATR 142 H2O H1 SPCH 0.423800 1.0080 0 426 WATR 142 H2O H2 SPCH 0.423800 1.0080 0 427 WATR 143 H2O O1 SPCO -0.847600 15.9994 0 428 WATR 143 H2O H1 SPCH 0.423800 1.0080 0 429 WATR 143 H2O H2 SPCH 0.423800 1.0080 0 430 WATR 144 H2O O1 SPCO -0.847600 15.9994 0 431 WATR 144 H2O H1 SPCH 0.423800 1.0080 0 432 WATR 144 H2O H2 SPCH 0.423800 1.0080 0 433 WATR 145 H2O O1 SPCO -0.847600 15.9994 0 434 WATR 145 H2O H1 SPCH 0.423800 1.0080 0 435 WATR 145 H2O H2 SPCH 0.423800 1.0080 0 436 WATR 146 H2O O1 SPCO -0.847600 15.9994 0 437 WATR 146 H2O H1 SPCH 0.423800 1.0080 0 438 WATR 146 H2O H2 SPCH 0.423800 1.0080 0 439 WATR 147 H2O O1 SPCO -0.847600 15.9994 0 440 WATR 147 H2O H1 SPCH 0.423800 1.0080 0 441 WATR 147 H2O H2 SPCH 0.423800 1.0080 0 442 WATR 148 H2O O1 SPCO -0.847600 15.9994 0 443 WATR 148 H2O H1 SPCH 0.423800 1.0080 0 444 WATR 148 H2O H2 SPCH 0.423800 1.0080 0 445 WATR 149 H2O O1 SPCO -0.847600 15.9994 0 446 WATR 149 H2O H1 SPCH 0.423800 1.0080 0 447 WATR 149 H2O H2 SPCH 0.423800 1.0080 0 448 WATR 150 H2O O1 SPCO -0.847600 15.9994 0 449 WATR 150 H2O H1 SPCH 0.423800 1.0080 0 450 WATR 150 H2O H2 SPCH 0.423800 1.0080 0 451 WATR 151 H2O O1 SPCO -0.847600 15.9994 0 452 WATR 151 H2O H1 SPCH 0.423800 1.0080 0 453 WATR 151 H2O H2 SPCH 0.423800 1.0080 0 454 WATR 152 H2O O1 SPCO -0.847600 15.9994 0 455 WATR 152 H2O H1 SPCH 0.423800 1.0080 0 456 WATR 152 H2O H2 SPCH 0.423800 1.0080 0 457 WATR 153 H2O O1 SPCO -0.847600 15.9994 0 458 WATR 153 H2O H1 SPCH 0.423800 1.0080 0 459 WATR 153 H2O H2 SPCH 0.423800 1.0080 0 460 WATR 154 H2O O1 SPCO -0.847600 15.9994 0 461 WATR 154 H2O H1 SPCH 0.423800 1.0080 0 462 WATR 154 H2O H2 SPCH 0.423800 1.0080 0 463 WATR 155 H2O O1 SPCO -0.847600 15.9994 0 464 WATR 155 H2O H1 SPCH 0.423800 1.0080 0 465 WATR 155 H2O H2 SPCH 0.423800 1.0080 0 466 WATR 156 H2O O1 SPCO -0.847600 15.9994 0 467 WATR 156 H2O H1 SPCH 0.423800 1.0080 0 468 WATR 156 H2O H2 SPCH 0.423800 1.0080 0 469 WATR 157 H2O O1 SPCO -0.847600 15.9994 0 470 WATR 157 H2O H1 SPCH 0.423800 1.0080 0 471 WATR 157 H2O H2 SPCH 0.423800 1.0080 0 472 WATR 158 H2O O1 SPCO -0.847600 15.9994 0 473 WATR 158 H2O H1 SPCH 0.423800 1.0080 0 474 WATR 158 H2O H2 SPCH 0.423800 1.0080 0 475 WATR 159 H2O O1 SPCO -0.847600 15.9994 0 476 WATR 159 H2O H1 SPCH 0.423800 1.0080 0 477 WATR 159 H2O H2 SPCH 0.423800 1.0080 0 478 WATR 160 H2O O1 SPCO -0.847600 15.9994 0 479 WATR 160 H2O H1 SPCH 0.423800 1.0080 0 480 WATR 160 H2O H2 SPCH 0.423800 1.0080 0 481 WATR 161 H2O O1 SPCO -0.847600 15.9994 0 482 WATR 161 H2O H1 SPCH 0.423800 1.0080 0 483 WATR 161 H2O H2 SPCH 0.423800 1.0080 0 484 WATR 162 H2O O1 SPCO -0.847600 15.9994 0 485 WATR 162 H2O H1 SPCH 0.423800 1.0080 0 486 WATR 162 H2O H2 SPCH 0.423800 1.0080 0 487 WATR 163 H2O O1 SPCO -0.847600 15.9994 0 488 WATR 163 H2O H1 SPCH 0.423800 1.0080 0 489 WATR 163 H2O H2 SPCH 0.423800 1.0080 0 490 WATR 164 H2O O1 SPCO -0.847600 15.9994 0 491 WATR 164 H2O H1 SPCH 0.423800 1.0080 0 492 WATR 164 H2O H2 SPCH 0.423800 1.0080 0 493 WATR 165 H2O O1 SPCO -0.847600 15.9994 0 494 WATR 165 H2O H1 SPCH 0.423800 1.0080 0 495 WATR 165 H2O H2 SPCH 0.423800 1.0080 0 496 WATR 166 H2O O1 SPCO -0.847600 15.9994 0 497 WATR 166 H2O H1 SPCH 0.423800 1.0080 0 498 WATR 166 H2O H2 SPCH 0.423800 1.0080 0 499 WATR 167 H2O O1 SPCO -0.847600 15.9994 0 500 WATR 167 H2O H1 SPCH 0.423800 1.0080 0 501 WATR 167 H2O H2 SPCH 0.423800 1.0080 0 502 WATR 168 H2O O1 SPCO -0.847600 15.9994 0 503 WATR 168 H2O H1 SPCH 0.423800 1.0080 0 504 WATR 168 H2O H2 SPCH 0.423800 1.0080 0 505 WATR 169 H2O O1 SPCO -0.847600 15.9994 0 506 WATR 169 H2O H1 SPCH 0.423800 1.0080 0 507 WATR 169 H2O H2 SPCH 0.423800 1.0080 0 508 WATR 170 H2O O1 SPCO -0.847600 15.9994 0 509 WATR 170 H2O H1 SPCH 0.423800 1.0080 0 510 WATR 170 H2O H2 SPCH 0.423800 1.0080 0 511 WATR 171 H2O O1 SPCO -0.847600 15.9994 0 512 WATR 171 H2O H1 SPCH 0.423800 1.0080 0 513 WATR 171 H2O H2 SPCH 0.423800 1.0080 0 514 WATR 172 H2O O1 SPCO -0.847600 15.9994 0 515 WATR 172 H2O H1 SPCH 0.423800 1.0080 0 516 WATR 172 H2O H2 SPCH 0.423800 1.0080 0 517 WATR 173 H2O O1 SPCO -0.847600 15.9994 0 518 WATR 173 H2O H1 SPCH 0.423800 1.0080 0 519 WATR 173 H2O H2 SPCH 0.423800 1.0080 0 520 WATR 174 H2O O1 SPCO -0.847600 15.9994 0 521 WATR 174 H2O H1 SPCH 0.423800 1.0080 0 522 WATR 174 H2O H2 SPCH 0.423800 1.0080 0 523 WATR 175 H2O O1 SPCO -0.847600 15.9994 0 524 WATR 175 H2O H1 SPCH 0.423800 1.0080 0 525 WATR 175 H2O H2 SPCH 0.423800 1.0080 0 526 WATR 176 H2O O1 SPCO -0.847600 15.9994 0 527 WATR 176 H2O H1 SPCH 0.423800 1.0080 0 528 WATR 176 H2O H2 SPCH 0.423800 1.0080 0 529 WATR 177 H2O O1 SPCO -0.847600 15.9994 0 530 WATR 177 H2O H1 SPCH 0.423800 1.0080 0 531 WATR 177 H2O H2 SPCH 0.423800 1.0080 0 532 WATR 178 H2O O1 SPCO -0.847600 15.9994 0 533 WATR 178 H2O H1 SPCH 0.423800 1.0080 0 534 WATR 178 H2O H2 SPCH 0.423800 1.0080 0 535 WATR 179 H2O O1 SPCO -0.847600 15.9994 0 536 WATR 179 H2O H1 SPCH 0.423800 1.0080 0 537 WATR 179 H2O H2 SPCH 0.423800 1.0080 0 538 WATR 180 H2O O1 SPCO -0.847600 15.9994 0 539 WATR 180 H2O H1 SPCH 0.423800 1.0080 0 540 WATR 180 H2O H2 SPCH 0.423800 1.0080 0 541 WATR 181 H2O O1 SPCO -0.847600 15.9994 0 542 WATR 181 H2O H1 SPCH 0.423800 1.0080 0 543 WATR 181 H2O H2 SPCH 0.423800 1.0080 0 544 WATR 182 H2O O1 SPCO -0.847600 15.9994 0 545 WATR 182 H2O H1 SPCH 0.423800 1.0080 0 546 WATR 182 H2O H2 SPCH 0.423800 1.0080 0 547 WATR 183 H2O O1 SPCO -0.847600 15.9994 0 548 WATR 183 H2O H1 SPCH 0.423800 1.0080 0 549 WATR 183 H2O H2 SPCH 0.423800 1.0080 0 550 WATR 184 H2O O1 SPCO -0.847600 15.9994 0 551 WATR 184 H2O H1 SPCH 0.423800 1.0080 0 552 WATR 184 H2O H2 SPCH 0.423800 1.0080 0 553 WATR 185 H2O O1 SPCO -0.847600 15.9994 0 554 WATR 185 H2O H1 SPCH 0.423800 1.0080 0 555 WATR 185 H2O H2 SPCH 0.423800 1.0080 0 556 WATR 186 H2O O1 SPCO -0.847600 15.9994 0 557 WATR 186 H2O H1 SPCH 0.423800 1.0080 0 558 WATR 186 H2O H2 SPCH 0.423800 1.0080 0 559 WATR 187 H2O O1 SPCO -0.847600 15.9994 0 560 WATR 187 H2O H1 SPCH 0.423800 1.0080 0 561 WATR 187 H2O H2 SPCH 0.423800 1.0080 0 562 WATR 188 H2O O1 SPCO -0.847600 15.9994 0 563 WATR 188 H2O H1 SPCH 0.423800 1.0080 0 564 WATR 188 H2O H2 SPCH 0.423800 1.0080 0 565 WATR 189 H2O O1 SPCO -0.847600 15.9994 0 566 WATR 189 H2O H1 SPCH 0.423800 1.0080 0 567 WATR 189 H2O H2 SPCH 0.423800 1.0080 0 568 WATR 190 H2O O1 SPCO -0.847600 15.9994 0 569 WATR 190 H2O H1 SPCH 0.423800 1.0080 0 570 WATR 190 H2O H2 SPCH 0.423800 1.0080 0 571 WATR 191 H2O O1 SPCO -0.847600 15.9994 0 572 WATR 191 H2O H1 SPCH 0.423800 1.0080 0 573 WATR 191 H2O H2 SPCH 0.423800 1.0080 0 574 WATR 192 H2O O1 SPCO -0.847600 15.9994 0 575 WATR 192 H2O H1 SPCH 0.423800 1.0080 0 576 WATR 192 H2O H2 SPCH 0.423800 1.0080 0 577 WATR 193 H2O O1 SPCO -0.847600 15.9994 0 578 WATR 193 H2O H1 SPCH 0.423800 1.0080 0 579 WATR 193 H2O H2 SPCH 0.423800 1.0080 0 580 WATR 194 H2O O1 SPCO -0.847600 15.9994 0 581 WATR 194 H2O H1 SPCH 0.423800 1.0080 0 582 WATR 194 H2O H2 SPCH 0.423800 1.0080 0 583 WATR 195 H2O O1 SPCO -0.847600 15.9994 0 584 WATR 195 H2O H1 SPCH 0.423800 1.0080 0 585 WATR 195 H2O H2 SPCH 0.423800 1.0080 0 586 WATR 196 H2O O1 SPCO -0.847600 15.9994 0 587 WATR 196 H2O H1 SPCH 0.423800 1.0080 0 588 WATR 196 H2O H2 SPCH 0.423800 1.0080 0 589 WATR 197 H2O O1 SPCO -0.847600 15.9994 0 590 WATR 197 H2O H1 SPCH 0.423800 1.0080 0 591 WATR 197 H2O H2 SPCH 0.423800 1.0080 0 592 WATR 198 H2O O1 SPCO -0.847600 15.9994 0 593 WATR 198 H2O H1 SPCH 0.423800 1.0080 0 594 WATR 198 H2O H2 SPCH 0.423800 1.0080 0 595 WATR 199 H2O O1 SPCO -0.847600 15.9994 0 596 WATR 199 H2O H1 SPCH 0.423800 1.0080 0 597 WATR 199 H2O H2 SPCH 0.423800 1.0080 0 598 WATR 200 H2O O1 SPCO -0.847600 15.9994 0 599 WATR 200 H2O H1 SPCH 0.423800 1.0080 0 600 WATR 200 H2O H2 SPCH 0.423800 1.0080 0 601 WATR 201 H2O O1 SPCO -0.847600 15.9994 0 602 WATR 201 H2O H1 SPCH 0.423800 1.0080 0 603 WATR 201 H2O H2 SPCH 0.423800 1.0080 0 604 WATR 202 H2O O1 SPCO -0.847600 15.9994 0 605 WATR 202 H2O H1 SPCH 0.423800 1.0080 0 606 WATR 202 H2O H2 SPCH 0.423800 1.0080 0 607 WATR 203 H2O O1 SPCO -0.847600 15.9994 0 608 WATR 203 H2O H1 SPCH 0.423800 1.0080 0 609 WATR 203 H2O H2 SPCH 0.423800 1.0080 0 610 WATR 204 H2O O1 SPCO -0.847600 15.9994 0 611 WATR 204 H2O H1 SPCH 0.423800 1.0080 0 612 WATR 204 H2O H2 SPCH 0.423800 1.0080 0 613 WATR 205 H2O O1 SPCO -0.847600 15.9994 0 614 WATR 205 H2O H1 SPCH 0.423800 1.0080 0 615 WATR 205 H2O H2 SPCH 0.423800 1.0080 0 616 WATR 206 H2O O1 SPCO -0.847600 15.9994 0 617 WATR 206 H2O H1 SPCH 0.423800 1.0080 0 618 WATR 206 H2O H2 SPCH 0.423800 1.0080 0 619 WATR 207 H2O O1 SPCO -0.847600 15.9994 0 620 WATR 207 H2O H1 SPCH 0.423800 1.0080 0 621 WATR 207 H2O H2 SPCH 0.423800 1.0080 0 622 WATR 208 H2O O1 SPCO -0.847600 15.9994 0 623 WATR 208 H2O H1 SPCH 0.423800 1.0080 0 624 WATR 208 H2O H2 SPCH 0.423800 1.0080 0 625 WATR 209 H2O O1 SPCO -0.847600 15.9994 0 626 WATR 209 H2O H1 SPCH 0.423800 1.0080 0 627 WATR 209 H2O H2 SPCH 0.423800 1.0080 0 628 WATR 210 H2O O1 SPCO -0.847600 15.9994 0 629 WATR 210 H2O H1 SPCH 0.423800 1.0080 0 630 WATR 210 H2O H2 SPCH 0.423800 1.0080 0 631 WATR 211 H2O O1 SPCO -0.847600 15.9994 0 632 WATR 211 H2O H1 SPCH 0.423800 1.0080 0 633 WATR 211 H2O H2 SPCH 0.423800 1.0080 0 634 WATR 212 H2O O1 SPCO -0.847600 15.9994 0 635 WATR 212 H2O H1 SPCH 0.423800 1.0080 0 636 WATR 212 H2O H2 SPCH 0.423800 1.0080 0 637 WATR 213 H2O O1 SPCO -0.847600 15.9994 0 638 WATR 213 H2O H1 SPCH 0.423800 1.0080 0 639 WATR 213 H2O H2 SPCH 0.423800 1.0080 0 640 WATR 214 H2O O1 SPCO -0.847600 15.9994 0 641 WATR 214 H2O H1 SPCH 0.423800 1.0080 0 642 WATR 214 H2O H2 SPCH 0.423800 1.0080 0 643 WATR 215 H2O O1 SPCO -0.847600 15.9994 0 644 WATR 215 H2O H1 SPCH 0.423800 1.0080 0 645 WATR 215 H2O H2 SPCH 0.423800 1.0080 0 646 WATR 216 H2O O1 SPCO -0.847600 15.9994 0 647 WATR 216 H2O H1 SPCH 0.423800 1.0080 0 648 WATR 216 H2O H2 SPCH 0.423800 1.0080 0 432 !NBOND: bonds 1 2 1 3 4 5 4 6 7 8 7 9 10 11 10 12 13 14 13 15 16 17 16 18 19 20 19 21 22 23 22 24 25 26 25 27 28 29 28 30 31 32 31 33 34 35 34 36 37 38 37 39 40 41 40 42 43 44 43 45 46 47 46 48 49 50 49 51 52 53 52 54 55 56 55 57 58 59 58 60 61 62 61 63 64 65 64 66 67 68 67 69 70 71 70 72 73 74 73 75 76 77 76 78 79 80 79 81 82 83 82 84 85 86 85 87 88 89 88 90 91 92 91 93 94 95 94 96 97 98 97 99 100 101 100 102 103 104 103 105 106 107 106 108 109 110 109 111 112 113 112 114 115 116 115 117 118 119 118 120 121 122 121 123 124 125 124 126 127 128 127 129 130 131 130 132 133 134 133 135 136 137 136 138 139 140 139 141 142 143 142 144 145 146 145 147 148 149 148 150 151 152 151 153 154 155 154 156 157 158 157 159 160 161 160 162 163 164 163 165 166 167 166 168 169 170 169 171 172 173 172 174 175 176 175 177 178 179 178 180 181 182 181 183 184 185 184 186 187 188 187 189 190 191 190 192 193 194 193 195 196 197 196 198 199 200 199 201 202 203 202 204 205 206 205 207 208 209 208 210 211 212 211 213 214 215 214 216 217 218 217 219 220 221 220 222 223 224 223 225 226 227 226 228 229 230 229 231 232 233 232 234 235 236 235 237 238 239 238 240 241 242 241 243 244 245 244 246 247 248 247 249 250 251 250 252 253 254 253 255 256 257 256 258 259 260 259 261 262 263 262 264 265 266 265 267 268 269 268 270 271 272 271 273 274 275 274 276 277 278 277 279 280 281 280 282 283 284 283 285 286 287 286 288 289 290 289 291 292 293 292 294 295 296 295 297 298 299 298 300 301 302 301 303 304 305 304 306 307 308 307 309 310 311 310 312 313 314 313 315 316 317 316 318 319 320 319 321 322 323 322 324 325 326 325 327 328 329 328 330 331 332 331 333 334 335 334 336 337 338 337 339 340 341 340 342 343 344 343 345 346 347 346 348 349 350 349 351 352 353 352 354 355 356 355 357 358 359 358 360 361 362 361 363 364 365 364 366 367 368 367 369 370 371 370 372 373 374 373 375 376 377 376 378 379 380 379 381 382 383 382 384 385 386 385 387 388 389 388 390 391 392 391 393 394 395 394 396 397 398 397 399 400 401 400 402 403 404 403 405 406 407 406 408 409 410 409 411 412 413 412 414 415 416 415 417 418 419 418 420 421 422 421 423 424 425 424 426 427 428 427 429 430 431 430 432 433 434 433 435 436 437 436 438 439 440 439 441 442 443 442 444 445 446 445 447 448 449 448 450 451 452 451 453 454 455 454 456 457 458 457 459 460 461 460 462 463 464 463 465 466 467 466 468 469 470 469 471 472 473 472 474 475 476 475 477 478 479 478 480 481 482 481 483 484 485 484 486 487 488 487 489 490 491 490 492 493 494 493 495 496 497 496 498 499 500 499 501 502 503 502 504 505 506 505 507 508 509 508 510 511 512 511 513 514 515 514 516 517 518 517 519 520 521 520 522 523 524 523 525 526 527 526 528 529 530 529 531 532 533 532 534 535 536 535 537 538 539 538 540 541 542 541 543 544 545 544 546 547 548 547 549 550 551 550 552 553 554 553 555 556 557 556 558 559 560 559 561 562 563 562 564 565 566 565 567 568 569 568 570 571 572 571 573 574 575 574 576 577 578 577 579 580 581 580 582 583 584 583 585 586 587 586 588 589 590 589 591 592 593 592 594 595 596 595 597 598 599 598 600 601 602 601 603 604 605 604 606 607 608 607 609 610 611 610 612 613 614 613 615 616 617 616 618 619 620 619 621 622 623 622 624 625 626 625 627 628 629 628 630 631 632 631 633 634 635 634 636 637 638 637 639 640 641 640 642 643 644 643 645 646 647 646 648 216 !NTHETA: angles 2 1 3 5 4 6 8 7 9 11 10 12 14 13 15 17 16 18 20 19 21 23 22 24 26 25 27 29 28 30 32 31 33 35 34 36 38 37 39 41 40 42 44 43 45 47 46 48 50 49 51 53 52 54 56 55 57 59 58 60 62 61 63 65 64 66 68 67 69 71 70 72 74 73 75 77 76 78 80 79 81 83 82 84 86 85 87 89 88 90 92 91 93 95 94 96 98 97 99 101 100 102 104 103 105 107 106 108 110 109 111 113 112 114 116 115 117 119 118 120 122 121 123 125 124 126 128 127 129 131 130 132 134 133 135 137 136 138 140 139 141 143 142 144 146 145 147 149 148 150 152 151 153 155 154 156 158 157 159 161 160 162 164 163 165 167 166 168 170 169 171 173 172 174 176 175 177 179 178 180 182 181 183 185 184 186 188 187 189 191 190 192 194 193 195 197 196 198 200 199 201 203 202 204 206 205 207 209 208 210 212 211 213 215 214 216 218 217 219 221 220 222 224 223 225 227 226 228 230 229 231 233 232 234 236 235 237 239 238 240 242 241 243 245 244 246 248 247 249 251 250 252 254 253 255 257 256 258 260 259 261 263 262 264 266 265 267 269 268 270 272 271 273 275 274 276 278 277 279 281 280 282 284 283 285 287 286 288 290 289 291 293 292 294 296 295 297 299 298 300 302 301 303 305 304 306 308 307 309 311 310 312 314 313 315 317 316 318 320 319 321 323 322 324 326 325 327 329 328 330 332 331 333 335 334 336 338 337 339 341 340 342 344 343 345 347 346 348 350 349 351 353 352 354 356 355 357 359 358 360 362 361 363 365 364 366 368 367 369 371 370 372 374 373 375 377 376 378 380 379 381 383 382 384 386 385 387 389 388 390 392 391 393 395 394 396 398 397 399 401 400 402 404 403 405 407 406 408 410 409 411 413 412 414 416 415 417 419 418 420 422 421 423 425 424 426 428 427 429 431 430 432 434 433 435 437 436 438 440 439 441 443 442 444 446 445 447 449 448 450 452 451 453 455 454 456 458 457 459 461 460 462 464 463 465 467 466 468 470 469 471 473 472 474 476 475 477 479 478 480 482 481 483 485 484 486 488 487 489 491 490 492 494 493 495 497 496 498 500 499 501 503 502 504 506 505 507 509 508 510 512 511 513 515 514 516 518 517 519 521 520 522 524 523 525 527 526 528 530 529 531 533 532 534 536 535 537 539 538 540 542 541 543 545 544 546 548 547 549 551 550 552 554 553 555 557 556 558 560 559 561 563 562 564 566 565 567 569 568 570 572 571 573 575 574 576 578 577 579 581 580 582 584 583 585 587 586 588 590 589 591 593 592 594 596 595 597 599 598 600 602 601 603 605 604 606 608 607 609 611 610 612 614 613 615 617 616 618 620 619 621 623 622 624 626 625 627 629 628 630 632 631 633 635 634 636 638 637 639 641 640 642 644 643 645 647 646 648 0 !NPHI: dihedrals 0 !NIMPHI: impropers 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 !NGRP protomol/examples/water_216/water216.vel.pdb0100644027616700000500000014653710237151527020214 0ustar pbrenne1dipREMARK This PDB file was generated from PdbWriter REMARK Not manually assembled ATOM 1 SPCO H2O 1 -6.2851 1.95984 -4.0301 1 0 ATOM 2 SPCH H2O 1 -9.1536 -8.9115 6.22336 1 0 ATOM 3 SPCH H2O 1 -1.8950 6.14419 -12.044 1 0 ATOM 4 SPCO H2O 2 -5.4447 1.27616 -2.5657 1 0 ATOM 5 SPCH H2O 2 -15.498 3.57687 -21.789 1 0 ATOM 6 SPCH H2O 2 8.98464 5.00062 3.10508 1 0 ATOM 7 SPCO H2O 3 -2.8552 2.32769 2.32384 1 0 ATOM 8 SPCH H2O 3 12.4652 5.11362 2.51082 1 0 ATOM 9 SPCH H2O 3 -6.4628 -1.4322 19.5679 1 0 ATOM 10 SPCO H2O 4 4.87062 -3.1688 -5.3983 1 0 ATOM 11 SPCH H2O 4 2.38706 -20.830 -8.8718 1 0 ATOM 12 SPCH H2O 4 13.2945 -8.5158 12.9573 1 0 ATOM 13 SPCO H2O 5 -4.1611 8.60846 -0.9256 1 0 ATOM 14 SPCH H2O 5 2.74138 32.7094 14.6039 1 0 ATOM 15 SPCH H2O 5 7.28788 -11.188 -3.3320 1 0 ATOM 16 SPCO H2O 6 5.1859 10.981 -3.8917 1 0 ATOM 17 SPCH H2O 6 1.20307 13.1865 -29.773 1 0 ATOM 18 SPCH H2O 6 9.38805 -26.023 -21.522 1 0 ATOM 19 SPCO H2O 7 0.05234 2.16733 -3.0333 1 0 ATOM 20 SPCH H2O 7 -24.325 4.35196 1.10803 1 0 ATOM 21 SPCH H2O 7 20.0778 11.4361 -23.201 1 0 ATOM 22 SPCO H2O 8 -0.1067 -3.9450 -5.0229 1 0 ATOM 23 SPCH H2O 8 -19.735 18.3909 -1.7965 1 0 ATOM 24 SPCH H2O 8 -13.669 2.06028 -0.1294 1 0 ATOM 25 SPCO H2O 9 -1.4741 1.05537 -1.9998 1 0 ATOM 26 SPCH H2O 9 25.0003 2.54697 -2.6130 1 0 ATOM 27 SPCH H2O 9 19.1153 -21.521 -5.1589 1 0 ATOM 28 SPCO H2O 10 -1.3427 -8.1907 -0.2274 1 0 ATOM 29 SPCH H2O 10 5.47437 -26.932 16.4785 1 0 ATOM 30 SPCH H2O 10 25.2167 0.4266 8.15416 1 0 ATOM 31 SPCO H2O 11 -1.8416 0.64552 -3.4728 1 0 ATOM 32 SPCH H2O 11 -7.9852 6.53102 -9.7533 1 0 ATOM 33 SPCH H2O 11 15.6223 10.336 1.81398 1 0 ATOM 34 SPCO H2O 12 6.62535 4.13177 9.57921 1 0 ATOM 35 SPCH H2O 12 -4.8539 29.3415 -34.711 1 0 ATOM 36 SPCH H2O 12 10.285 -9.7606 28.1016 1 0 ATOM 37 SPCO H2O 13 -0.2934 -4.7867 0.58991 1 0 ATOM 38 SPCH H2O 13 -41.314 -7.3896 -13.681 1 0 ATOM 39 SPCH H2O 13 5.50588 -1.9791 12.9722 1 0 ATOM 40 SPCO H2O 14 8.07132 -4.0335 5.54205 1 0 ATOM 41 SPCH H2O 14 -15.255 -31.364 -3.7723 1 0 ATOM 42 SPCH H2O 14 17.7301 -13.779 21.7406 1 0 ATOM 43 SPCO H2O 15 -1.5116 -2.8567 -7.8182 1 0 ATOM 44 SPCH H2O 15 -22.295 12.1444 -13.322 1 0 ATOM 45 SPCH H2O 15 4.83854 11.4077 -27.146 1 0 ATOM 46 SPCO H2O 16 3.90249 -0.0801 -0.1721 1 0 ATOM 47 SPCH H2O 16 0.23360 7.91349 -9.6960 1 0 ATOM 48 SPCH H2O 16 -7.4307 8.60133 17.9959 1 0 ATOM 49 SPCO H2O 17 -3.0108 5.31699 0.95311 1 0 ATOM 50 SPCH H2O 17 5.11507 -10.757 8.99476 1 0 ATOM 51 SPCH H2O 17 12.8059 6.06765 -5.6128 1 0 ATOM 52 SPCO H2O 18 3.68153 0.82168 -0.3259 1 0 ATOM 53 SPCH H2O 18 12.2826 -7.2532 -12.815 1 0 ATOM 54 SPCH H2O 18 -2.3928 -22.712 -0.7799 1 0 ATOM 55 SPCO H2O 19 0.14112 0.10522 1.19424 1 0 ATOM 56 SPCH H2O 19 -4.0655 20.024 -7.5545 1 0 ATOM 57 SPCH H2O 19 13.8147 -16.194 -2.8649 1 0 ATOM 58 SPCO H2O 20 -0.6968 -1.3796 -0.1907 1 0 ATOM 59 SPCH H2O 20 36.1962 4.7836 36.5126 1 0 ATOM 60 SPCH H2O 20 1.3174 22.4714 -20.135 1 0 ATOM 61 SPCO H2O 21 4.131 7.89468 3.28408 1 0 ATOM 62 SPCH H2O 21 -15.403 14.7452 10.7139 1 0 ATOM 63 SPCH H2O 21 17.6921 14.5542 11.1725 1 0 ATOM 64 SPCO H2O 22 -5.3852 1.27667 -5.3603 1 0 ATOM 65 SPCH H2O 22 36.186 16.4228 -3.5064 1 0 ATOM 66 SPCH H2O 22 3.00715 -24.288 5.92834 1 0 ATOM 67 SPCO H2O 23 1.93937 -0.6526 -8.8659 1 0 ATOM 68 SPCH H2O 23 0.68682 4.24753 -2.3183 1 0 ATOM 69 SPCH H2O 23 -20.225 3.57527 -12.888 1 0 ATOM 70 SPCO H2O 24 -6.2034 -3.3778 10.1632 1 0 ATOM 71 SPCH H2O 24 -1.6361 29.6978 -1.1006 1 0 ATOM 72 SPCH H2O 24 6.57271 -13.040 -3.7675 1 0 ATOM 73 SPCO H2O 25 -1.7555 1.20195 -2.0339 1 0 ATOM 74 SPCH H2O 25 12.2825 7.42216 -0.9736 1 0 ATOM 75 SPCH H2O 25 -14.450 -5.9014 3.25533 1 0 ATOM 76 SPCO H2O 26 3.60351 -1.6493 -2.0797 1 0 ATOM 77 SPCH H2O 26 2.75055 -24.629 -9.443 1 0 ATOM 78 SPCH H2O 26 8.78248 29.3525 -5.8853 1 0 ATOM 79 SPCO H2O 27 -6.8011 -0.9499 -4.2780 1 0 ATOM 80 SPCH H2O 27 -0.2892 5.38828 -16.924 1 0 ATOM 81 SPCH H2O 27 -33.842 8.83537 2.17956 1 0 ATOM 82 SPCO H2O 28 -3.2001 8.73893 -3.9545 1 0 ATOM 83 SPCH H2O 28 -8.4513 -14.087 27.5974 1 0 ATOM 84 SPCH H2O 28 7.69296 11.8784 -14.336 1 0 ATOM 85 SPCO H2O 29 1.73495 -1.9029 -1.8535 1 0 ATOM 86 SPCH H2O 29 -9.9952 27.264 11.2594 1 0 ATOM 87 SPCH H2O 29 -1.8891 -7.3744 13.1574 1 0 ATOM 88 SPCO H2O 30 4.41849 -9.0533 1.51031 1 0 ATOM 89 SPCH H2O 30 29.3127 -12.666 8.54762 1 0 ATOM 90 SPCH H2O 30 5.4509 0.70959 6.36042 1 0 ATOM 91 SPCO H2O 31 4.30153 -5.9699 4.41829 1 0 ATOM 92 SPCH H2O 31 14.2608 -2.3216 8.79637 1 0 ATOM 93 SPCH H2O 31 -11.910 2.96705 -7.6520 1 0 ATOM 94 SPCO H2O 32 -4.5083 -7.0750 -1.8890 1 0 ATOM 95 SPCH H2O 32 -20.812 -15.882 -15.032 1 0 ATOM 96 SPCH H2O 32 -15.517 -10.670 28.403 1 0 ATOM 97 SPCO H2O 33 6.46344 2.69985 -5.3328 1 0 ATOM 98 SPCH H2O 33 8.93631 24.7066 -9.1932 1 0 ATOM 99 SPCH H2O 33 -8.1805 -3.3300 -10.628 1 0 ATOM 100 SPCO H2O 34 0.75708 6.32884 -3.6451 1 0 ATOM 101 SPCH H2O 34 -12.396 -11.792 23.8208 1 0 ATOM 102 SPCH H2O 34 -2.7516 -10.561 11.7669 1 0 ATOM 103 SPCO H2O 35 6.96478 -0.3284 -3.4018 1 0 ATOM 104 SPCH H2O 35 -0.9043 -3.0986 2.75652 1 0 ATOM 105 SPCH H2O 35 25.6811 2.75269 -6.4448 1 0 ATOM 106 SPCO H2O 36 -5.1410 -6.4543 -3.1839 1 0 ATOM 107 SPCH H2O 36 -17.449 5.66851 -12.854 1 0 ATOM 108 SPCH H2O 36 3.55118 -15.249 6.88305 1 0 ATOM 109 SPCO H2O 37 0.13394 -0.3956 -2.2772 1 0 ATOM 110 SPCH H2O 37 -16.833 -16.321 -2.7488 1 0 ATOM 111 SPCH H2O 37 19.3389 -18.703 1.34126 1 0 ATOM 112 SPCO H2O 38 -0.0244 4.28965 -2.8866 1 0 ATOM 113 SPCH H2O 38 -14.130 24.9405 -3.3214 1 0 ATOM 114 SPCH H2O 38 4.18419 -6.6575 -29.483 1 0 ATOM 115 SPCO H2O 39 6.08503 -1.5373 -2.2358 1 0 ATOM 116 SPCH H2O 39 -14.037 4.21678 1.67966 1 0 ATOM 117 SPCH H2O 39 24.7122 -1.7523 -2.2647 1 0 ATOM 118 SPCO H2O 40 5.5572 -4.2445 -0.0202 1 0 ATOM 119 SPCH H2O 40 -35.323 -10.775 32.155 1 0 ATOM 120 SPCH H2O 40 -0.0422 -6.7082 7.56277 1 0 ATOM 121 SPCO H2O 41 0.38439 -4.5721 -5.5515 1 0 ATOM 122 SPCH H2O 41 -10.451 -4.2139 26.7191 1 0 ATOM 123 SPCH H2O 41 1.53253 -0.9816 3.59997 1 0 ATOM 124 SPCO H2O 42 -4.0451 -2.5896 6.47967 1 0 ATOM 125 SPCH H2O 42 23.257 -1.3302 17.9212 1 0 ATOM 126 SPCH H2O 42 4.00625 6.33128 5.22804 1 0 ATOM 127 SPCO H2O 43 -3.4673 1.75176 -3.9062 1 0 ATOM 128 SPCH H2O 43 24.5433 -3.9545 32.5192 1 0 ATOM 129 SPCH H2O 43 26.1509 -17.385 11.236 1 0 ATOM 130 SPCO H2O 44 -4.6667 0.03461 -0.8222 1 0 ATOM 131 SPCH H2O 44 -21.706 -13.350 1.77348 1 0 ATOM 132 SPCH H2O 44 -1.3316 -10.393 1.26218 1 0 ATOM 133 SPCO H2O 45 3.66805 7.34794 -0.0751 1 0 ATOM 134 SPCH H2O 45 -9.3707 11.8201 1.95282 1 0 ATOM 135 SPCH H2O 45 -3.4151 8.94209 -6.1793 1 0 ATOM 136 SPCO H2O 46 4.5616 -2.9387 -0.7035 1 0 ATOM 137 SPCH H2O 46 28.226 13.4078 -16.957 1 0 ATOM 138 SPCH H2O 46 1.481 -19.962 10.0861 1 0 ATOM 139 SPCO H2O 47 1.95319 2.97155 -0.3981 1 0 ATOM 140 SPCH H2O 47 -25.969 33.6107 20.7013 1 0 ATOM 141 SPCH H2O 47 22.4334 15.3262 -0.4504 1 0 ATOM 142 SPCO H2O 48 4.50324 0.19615 3.15367 1 0 ATOM 143 SPCH H2O 48 -9.9758 3.56162 22.7106 1 0 ATOM 144 SPCH H2O 48 13.6484 -11.237 0.58911 1 0 ATOM 145 SPCO H2O 49 1.47333 1.93622 12.2734 1 0 ATOM 146 SPCH H2O 49 -9.0132 -10.374 12.9281 1 0 ATOM 147 SPCH H2O 49 3.1666 -16.413 -16.132 1 0 ATOM 148 SPCO H2O 50 -6.5539 0.42905 4.94082 1 0 ATOM 149 SPCH H2O 50 -3.1125 -5.9098 21.3054 1 0 ATOM 150 SPCH H2O 50 -13.573 8.84064 -1.8723 1 0 ATOM 151 SPCO H2O 51 8.50483 3.70587 -1.8645 1 0 ATOM 152 SPCH H2O 51 -2.4783 -8.7304 20.2957 1 0 ATOM 153 SPCH H2O 51 30.7245 27.7439 16.8716 1 0 ATOM 154 SPCO H2O 52 -3.9364 2.20492 1.75959 1 0 ATOM 155 SPCH H2O 52 0.65670 20.8997 4.70215 1 0 ATOM 156 SPCH H2O 52 12.3745 16.7418 21.773 1 0 ATOM 157 SPCO H2O 53 6.61073 -1.4690 0.90026 1 0 ATOM 158 SPCH H2O 53 17.2649 -20.546 -1.8751 1 0 ATOM 159 SPCH H2O 53 7.98811 21.9598 -11.395 1 0 ATOM 160 SPCO H2O 54 2.56505 -7.1136 8.75347 1 0 ATOM 161 SPCH H2O 54 0.95058 3.7493 -1.7204 1 0 ATOM 162 SPCH H2O 54 8.30102 17.8819 6.61443 1 0 ATOM 163 SPCO H2O 55 9.09317 -7.7567 -12.933 1 0 ATOM 164 SPCH H2O 55 -9.6557 -26.690 0.04606 1 0 ATOM 165 SPCH H2O 55 -4.5103 -15.074 5.26122 1 0 ATOM 166 SPCO H2O 56 10.7834 -5.0091 3.56382 1 0 ATOM 167 SPCH H2O 56 22.3371 3.10001 -6.1080 1 0 ATOM 168 SPCH H2O 56 -1.1174 3.25484 0.12475 1 0 ATOM 169 SPCO H2O 57 0.93251 1.31128 -2.8063 1 0 ATOM 170 SPCH H2O 57 -20.483 2.09041 7.55953 1 0 ATOM 171 SPCH H2O 57 -0.5874 -5.2933 6.65779 1 0 ATOM 172 SPCO H2O 58 -0.3285 -1.1477 1.72633 1 0 ATOM 173 SPCH H2O 58 -4.9805 7.69717 -29.498 1 0 ATOM 174 SPCH H2O 58 1.24813 12.4632 0.91302 1 0 ATOM 175 SPCO H2O 59 -0.8910 0.47523 -6.5455 1 0 ATOM 176 SPCH H2O 59 -9.1934 12.9792 -2.2983 1 0 ATOM 177 SPCH H2O 59 10.2993 13.9765 -5.9261 1 0 ATOM 178 SPCO H2O 60 -1.0140 1.96665 8.20095 1 0 ATOM 179 SPCH H2O 60 6.97861 9.63099 8.37766 1 0 ATOM 180 SPCH H2O 60 -5.6209 5.16196 0.04043 1 0 ATOM 181 SPCO H2O 61 -4.5636 4.52218 -0.3696 1 0 ATOM 182 SPCH H2O 61 2.66794 18.748 -14.372 1 0 ATOM 183 SPCH H2O 61 -13.145 8.32958 -3.1076 1 0 ATOM 184 SPCO H2O 62 2.6912 3.83524 2.52206 1 0 ATOM 185 SPCH H2O 62 19.4471 -15.644 -17.175 1 0 ATOM 186 SPCH H2O 62 1.1494 5.48573 -22.920 1 0 ATOM 187 SPCO H2O 63 -4.8176 3.06684 3.52265 1 0 ATOM 188 SPCH H2O 63 0.00574 -18.627 -7.0963 1 0 ATOM 189 SPCH H2O 63 19.6011 -15.338 24.8901 1 0 ATOM 190 SPCO H2O 64 -2.7678 -3.9449 1.54049 1 0 ATOM 191 SPCH H2O 64 -19.487 -3.7509 1.07631 1 0 ATOM 192 SPCH H2O 64 -0.6154 -35.004 5.90297 1 0 ATOM 193 SPCO H2O 65 -2.7303 -6.4934 2.63901 1 0 ATOM 194 SPCH H2O 65 -16.610 -32.338 9.14648 1 0 ATOM 195 SPCH H2O 65 7.34096 1.94289 19.1732 1 0 ATOM 196 SPCO H2O 66 5.79493 2.31142 -6.4390 1 0 ATOM 197 SPCH H2O 66 11.1218 13.8339 -20.304 1 0 ATOM 198 SPCH H2O 66 -12.465 -22.655 26.6257 1 0 ATOM 199 SPCO H2O 67 -0.3136 -0.5102 -1.7326 1 0 ATOM 200 SPCH H2O 67 -16.577 -9.6514 5.85938 1 0 ATOM 201 SPCH H2O 67 16.3808 1.44856 11.7776 1 0 ATOM 202 SPCO H2O 68 1.86014 0.49051 1.81904 1 0 ATOM 203 SPCH H2O 68 14.15 -12.413 -3.6203 1 0 ATOM 204 SPCH H2O 68 17.4431 -2.4300 15.797 1 0 ATOM 205 SPCO H2O 69 -4.7884 -0.1889 2.05609 1 0 ATOM 206 SPCH H2O 69 -7.3298 0.73151 10.1428 1 0 ATOM 207 SPCH H2O 69 23.3649 -12.443 10.4188 1 0 ATOM 208 SPCO H2O 70 1.35974 2.77345 -1.1535 1 0 ATOM 209 SPCH H2O 70 15.1346 -5.6353 4.43942 1 0 ATOM 210 SPCH H2O 70 -7.1089 -8.5414 -0.1857 1 0 ATOM 211 SPCO H2O 71 0.11624 -3.5334 2.44978 1 0 ATOM 212 SPCH H2O 71 -4.7529 5.36386 -1.1375 1 0 ATOM 213 SPCH H2O 71 -20.093 -4.4834 16.5926 1 0 ATOM 214 SPCO H2O 72 5.23357 -4.1429 -0.2645 1 0 ATOM 215 SPCH H2O 72 -3.7626 -11.296 6.69182 1 0 ATOM 216 SPCH H2O 72 -12.411 -35.176 -14.163 1 0 ATOM 217 SPCO H2O 73 -5.4124 -2.0987 -0.0423 1 0 ATOM 218 SPCH H2O 73 5.78639 6.82803 3.19566 1 0 ATOM 219 SPCH H2O 73 16.6702 7.29109 -15.39 1 0 ATOM 220 SPCO H2O 74 -2.3897 -9.2312 -3.5306 1 0 ATOM 221 SPCH H2O 74 13.014 4.31359 7.23224 1 0 ATOM 222 SPCH H2O 74 8.7521 1.18935 -2.3359 1 0 ATOM 223 SPCO H2O 75 0.86084 -3.8029 5.84609 1 0 ATOM 224 SPCH H2O 75 9.5602 0.84509 9.79158 1 0 ATOM 225 SPCH H2O 75 -28.614 -22.479 28.7739 1 0 ATOM 226 SPCO H2O 76 -0.3754 -0.8764 -2.3374 1 0 ATOM 227 SPCH H2O 76 2.84615 -4.9632 11.6772 1 0 ATOM 228 SPCH H2O 76 -4.3168 -3.6054 -32.634 1 0 ATOM 229 SPCO H2O 77 -5.423 3.12134 0.67401 1 0 ATOM 230 SPCH H2O 77 -29.587 -14.673 -10.897 1 0 ATOM 231 SPCH H2O 77 -11.224 35.0856 -3.6347 1 0 ATOM 232 SPCO H2O 78 -3.5493 0.61092 3.34406 1 0 ATOM 233 SPCH H2O 78 3.38762 3.07208 2.63539 1 0 ATOM 234 SPCH H2O 78 -2.8856 -5.3155 28.605 1 0 ATOM 235 SPCO H2O 79 -1.4212 -5.9056 3.50055 1 0 ATOM 236 SPCH H2O 79 14.2537 3.6638 -17.768 1 0 ATOM 237 SPCH H2O 79 -10.282 -22.311 11.4827 1 0 ATOM 238 SPCO H2O 80 0.97652 3.80102 -8.3333 1 0 ATOM 239 SPCH H2O 80 1.65613 -12.563 9.34298 1 0 ATOM 240 SPCH H2O 80 -23.502 13.3273 0.51935 1 0 ATOM 241 SPCO H2O 81 -0.5026 -4.9403 4.73279 1 0 ATOM 242 SPCH H2O 81 6.9788 19.3229 -18.843 1 0 ATOM 243 SPCH H2O 81 -6.3565 28.5171 0.44388 1 0 ATOM 244 SPCO H2O 82 1.6881 -3.4691 -2.7712 1 0 ATOM 245 SPCH H2O 82 -15.587 -21.477 30.2258 1 0 ATOM 246 SPCH H2O 82 2.14125 -6.1458 32.8767 1 0 ATOM 247 SPCO H2O 83 -5.8492 6.66336 -0.8574 1 0 ATOM 248 SPCH H2O 83 -6.0589 -1.7568 14.7384 1 0 ATOM 249 SPCH H2O 83 0.30730 -2.3492 13.0274 1 0 ATOM 250 SPCO H2O 84 -1.4952 -2.9355 -4.2529 1 0 ATOM 251 SPCH H2O 84 -2.9009 23.0387 5.39424 1 0 ATOM 252 SPCH H2O 84 -16.411 15.5508 -3.3976 1 0 ATOM 253 SPCO H2O 85 5.77153 3.37841 -1.3138 1 0 ATOM 254 SPCH H2O 85 24.137 -21.295 4.70077 1 0 ATOM 255 SPCH H2O 85 17.3429 9.54824 -12.478 1 0 ATOM 256 SPCO H2O 86 -5.5021 2.05856 -2.2244 1 0 ATOM 257 SPCH H2O 86 -14.182 14.4476 -26.159 1 0 ATOM 258 SPCH H2O 86 -15.984 -15.390 10.0402 1 0 ATOM 259 SPCO H2O 87 2.15764 -0.5135 1.48288 1 0 ATOM 260 SPCH H2O 87 -4.1574 -6.8186 -1.7939 1 0 ATOM 261 SPCH H2O 87 18.7014 -11.529 7.46988 1 0 ATOM 262 SPCO H2O 88 -4.4606 -1.4050 -3.4479 1 0 ATOM 263 SPCH H2O 88 24.9148 -7.3945 -9.2649 1 0 ATOM 264 SPCH H2O 88 4.23893 -17.267 5.85566 1 0 ATOM 265 SPCO H2O 89 -5.5515 5.59035 -3.5835 1 0 ATOM 266 SPCH H2O 89 -13.765 13.3697 -6.5891 1 0 ATOM 267 SPCH H2O 89 -10.449 5.35004 8.59301 1 0 ATOM 268 SPCO H2O 90 -3.9294 3.1485 -6.8917 1 0 ATOM 269 SPCH H2O 90 -0.6490 -9.4952 24.6927 1 0 ATOM 270 SPCH H2O 90 6.2201 -8.2435 4.36439 1 0 ATOM 271 SPCO H2O 91 4.5014 -1.8597 2.21661 1 0 ATOM 272 SPCH H2O 91 5.69363 -13.117 -24.376 1 0 ATOM 273 SPCH H2O 91 14.6028 0.77369 20.1429 1 0 ATOM 274 SPCO H2O 92 -8.9466 -3.8425 -3.2411 1 0 ATOM 275 SPCH H2O 92 16.6841 -22.584 21.0544 1 0 ATOM 276 SPCH H2O 92 -3.6033 -29.366 -10.044 1 0 ATOM 277 SPCO H2O 93 -0.9983 0.29968 4.58005 1 0 ATOM 278 SPCH H2O 93 -29.599 0.39024 10.8301 1 0 ATOM 279 SPCH H2O 93 2.00703 -18.129 -17.942 1 0 ATOM 280 SPCO H2O 94 -3.8611 2.8731 -9.4689 1 0 ATOM 281 SPCH H2O 94 -6.4673 -7.8543 2.09962 1 0 ATOM 282 SPCH H2O 94 -30.380 15.8393 -5.9071 1 0 ATOM 283 SPCO H2O 95 2.43281 -2.5984 -4.2661 1 0 ATOM 284 SPCH H2O 95 -1.0188 14.7948 8.70574 1 0 ATOM 285 SPCH H2O 95 6.63893 -24.964 10.8592 1 0 ATOM 286 SPCO H2O 96 -3.9063 0.33940 -0.2701 1 0 ATOM 287 SPCH H2O 96 -10.018 4.15976 -18.423 1 0 ATOM 288 SPCH H2O 96 -7.8576 7.22269 3.32301 1 0 ATOM 289 SPCO H2O 97 -3.2600 -0.7704 1.83596 1 0 ATOM 290 SPCH H2O 97 17.6575 -19.334 -7.8044 1 0 ATOM 291 SPCH H2O 97 -11.454 1.57877 7.4172 1 0 ATOM 292 SPCO H2O 98 5.22111 0.76252 -0.7268 1 0 ATOM 293 SPCH H2O 98 11.492 4.41298 -18.526 1 0 ATOM 294 SPCH H2O 98 -14.666 -1.6209 -18.785 1 0 ATOM 295 SPCO H2O 99 -1.0091 -2.5844 5.195 1 0 ATOM 296 SPCH H2O 99 -10.039 -9.7918 25.4262 1 0 ATOM 297 SPCH H2O 99 -7.9473 2.98052 -11.317 1 0 ATOM 298 SPCO H2O 100 -0.3472 4.54617 -7.0528 1 0 ATOM 299 SPCH H2O 100 -11.664 -3.5218 -16.931 1 0 ATOM 300 SPCH H2O 100 -12.897 0.94036 -10.332 1 0 ATOM 301 SPCO H2O 101 1.06323 -1.0231 1.47386 1 0 ATOM 302 SPCH H2O 101 22.6488 -4.2066 2.88706 1 0 ATOM 303 SPCH H2O 101 -5.2575 -2.1937 6.72332 1 0 ATOM 304 SPCO H2O 102 -4.8843 -4.7938 -5.8767 1 0 ATOM 305 SPCH H2O 102 -0.9245 20.3741 -3.5564 1 0 ATOM 306 SPCH H2O 102 -8.2021 15.0217 -4.9160 1 0 ATOM 307 SPCO H2O 103 -0.5112 -2.9100 8.85447 1 0 ATOM 308 SPCH H2O 103 -25.311 19.7428 -0.2799 1 0 ATOM 309 SPCH H2O 103 -27.352 -0.7781 -11.078 1 0 ATOM 310 SPCO H2O 104 -3.3496 3.34791 -1.9167 1 0 ATOM 311 SPCH H2O 104 12.3961 -12.693 3.74667 1 0 ATOM 312 SPCH H2O 104 -37.589 -12.887 -2.9306 1 0 ATOM 313 SPCO H2O 105 3.13676 11.2976 3.36412 1 0 ATOM 314 SPCH H2O 105 -4.1752 16.6899 -21.244 1 0 ATOM 315 SPCH H2O 105 2.80351 16.3208 22.777 1 0 ATOM 316 SPCO H2O 106 5.64864 3.94425 3.1114 1 0 ATOM 317 SPCH H2O 106 -16.614 5.08012 14.4837 1 0 ATOM 318 SPCH H2O 106 -12.800 -16.287 26.5466 1 0 ATOM 319 SPCO H2O 107 -3.3294 1.12466 1.52135 1 0 ATOM 320 SPCH H2O 107 -15.330 -4.0872 10.0568 1 0 ATOM 321 SPCH H2O 107 22.8969 -3.6029 -2.6910 1 0 ATOM 322 SPCO H2O 108 -3.0519 -2.4843 1.21821 1 0 ATOM 323 SPCH H2O 108 -31.536 21.7947 25.2043 1 0 ATOM 324 SPCH H2O 108 6.83028 -5.5670 10.4803 1 0 ATOM 325 SPCO H2O 109 -1.1386 -4.9791 3.69921 1 0 ATOM 326 SPCH H2O 109 -1.6496 10.6708 -6.7075 1 0 ATOM 327 SPCH H2O 109 -11.399 8.36897 5.80045 1 0 ATOM 328 SPCO H2O 110 -1.0727 -3.6354 -5.0762 1 0 ATOM 329 SPCH H2O 110 26.1233 8.56581 -1.1618 1 0 ATOM 330 SPCH H2O 110 0.65128 -25.903 -39.690 1 0 ATOM 331 SPCO H2O 111 4.09649 0.82165 -5.1141 1 0 ATOM 332 SPCH H2O 111 29.885 -47.294 32.5209 1 0 ATOM 333 SPCH H2O 111 -25.996 -11.543 -2.2733 1 0 ATOM 334 SPCO H2O 112 -3.9623 -1.3723 -1.6497 1 0 ATOM 335 SPCH H2O 112 -2.0941 13.3459 22.8248 1 0 ATOM 336 SPCH H2O 112 -1.0365 -15.354 17.1873 1 0 ATOM 337 SPCO H2O 113 -6.8863 3.37031 -4.8367 1 0 ATOM 338 SPCH H2O 113 10.1824 -9.2377 14.4406 1 0 ATOM 339 SPCH H2O 113 -1.9813 -12.347 -5.3621 1 0 ATOM 340 SPCO H2O 114 1.45427 -6.9096 2.51477 1 0 ATOM 341 SPCH H2O 114 23.3497 -4.9341 1.67537 1 0 ATOM 342 SPCH H2O 114 20.1336 13.7806 1.29479 1 0 ATOM 343 SPCO H2O 115 5.08217 -4.5639 -2.4274 1 0 ATOM 344 SPCH H2O 115 5.50476 -11.415 -7.7737 1 0 ATOM 345 SPCH H2O 115 -4.0273 -11.387 -32.328 1 0 ATOM 346 SPCO H2O 116 6.11795 -6.1005 -2.1766 1 0 ATOM 347 SPCH H2O 116 19.9877 6.69166 0.83821 1 0 ATOM 348 SPCH H2O 116 5.52846 8.28225 7.50123 1 0 ATOM 349 SPCO H2O 117 2.36982 2.8416 0.62570 1 0 ATOM 350 SPCH H2O 117 6.55354 -13.742 -11.138 1 0 ATOM 351 SPCH H2O 117 32.6116 -3.5170 23.8967 1 0 ATOM 352 SPCO H2O 118 3.14862 -2.6563 3.27944 1 0 ATOM 353 SPCH H2O 118 -35.233 -5.0642 -27.279 1 0 ATOM 354 SPCH H2O 118 -33.857 -24.006 -9.6591 1 0 ATOM 355 SPCO H2O 119 -4.9000 -2.3048 5.13718 1 0 ATOM 356 SPCH H2O 119 12.9804 3.25424 -5.4263 1 0 ATOM 357 SPCH H2O 119 9.45859 5.11518 7.85728 1 0 ATOM 358 SPCO H2O 120 -0.9760 -2.3285 1.75168 1 0 ATOM 359 SPCH H2O 120 -25.856 11.9185 8.29193 1 0 ATOM 360 SPCH H2O 120 -10.491 -18.15 3.35069 1 0 ATOM 361 SPCO H2O 121 4.49035 -2.497 -0.6559 1 0 ATOM 362 SPCH H2O 121 47.5107 -0.3262 -1.8229 1 0 ATOM 363 SPCH H2O 121 -8.8031 7.08693 -13.897 1 0 ATOM 364 SPCO H2O 122 6.77716 -4.7502 0.95995 1 0 ATOM 365 SPCH H2O 122 -10.023 -14.692 -2.4306 1 0 ATOM 366 SPCH H2O 122 24.9022 -8.6479 7.46754 1 0 ATOM 367 SPCO H2O 123 -5.0035 -4.5702 -4.0508 1 0 ATOM 368 SPCH H2O 123 -22.834 -15.209 17.2166 1 0 ATOM 369 SPCH H2O 123 -19.099 5.10305 17.3162 1 0 ATOM 370 SPCO H2O 124 -4.4304 -2.8846 -3.6140 1 0 ATOM 371 SPCH H2O 124 5.88285 -23.909 1.37208 1 0 ATOM 372 SPCH H2O 124 -4.1712 -6.7371 8.22501 1 0 ATOM 373 SPCO H2O 125 0.32279 2.48759 -0.4764 1 0 ATOM 374 SPCH H2O 125 30.3832 14.4499 11.379 1 0 ATOM 375 SPCH H2O 125 23.5434 -2.4357 15.9701 1 0 ATOM 376 SPCO H2O 126 1.28988 -2.1961 2.18413 1 0 ATOM 377 SPCH H2O 126 20.5373 1.27972 10.654 1 0 ATOM 378 SPCH H2O 126 -13.822 -8.5797 5.08752 1 0 ATOM 379 SPCO H2O 127 -3.8380 -3.5783 1.09763 1 0 ATOM 380 SPCH H2O 127 -1.0172 5.16794 40.1594 1 0 ATOM 381 SPCH H2O 127 -6.0302 6.58525 14.2804 1 0 ATOM 382 SPCO H2O 128 4.1752 -2.5728 1.65432 1 0 ATOM 383 SPCH H2O 128 19.9001 2.68762 -3.5025 1 0 ATOM 384 SPCH H2O 128 3.57137 13.5545 -23.494 1 0 ATOM 385 SPCO H2O 129 0.34524 -2.1236 1.27799 1 0 ATOM 386 SPCH H2O 129 15.9359 -5.5592 47.8998 1 0 ATOM 387 SPCH H2O 129 -9.9384 -36.504 7.49405 1 0 ATOM 388 SPCO H2O 130 2.31043 -4.9959 -0.7695 1 0 ATOM 389 SPCH H2O 130 -6.0134 5.20144 -32.379 1 0 ATOM 390 SPCH H2O 130 -29.590 -4.5847 -4.9802 1 0 ATOM 391 SPCO H2O 131 1.34053 2.86378 0.09874 1 0 ATOM 392 SPCH H2O 131 15.3993 -2.5097 12.0295 1 0 ATOM 393 SPCH H2O 131 25.5084 -14.496 22.1988 1 0 ATOM 394 SPCO H2O 132 2.08271 -2.6141 4.70841 1 0 ATOM 395 SPCH H2O 132 -9.3465 13.7268 14.6199 1 0 ATOM 396 SPCH H2O 132 -13.755 -38.979 14.1573 1 0 ATOM 397 SPCO H2O 133 2.15751 -4.3588 4.45699 1 0 ATOM 398 SPCH H2O 133 -20.732 50.0705 -15.480 1 0 ATOM 399 SPCH H2O 133 -11.268 26.4921 -8.9725 1 0 ATOM 400 SPCO H2O 134 -2.6177 0.99082 3.15452 1 0 ATOM 401 SPCH H2O 134 -18.539 -15.740 16.8701 1 0 ATOM 402 SPCH H2O 134 8.24828 19.5989 12.8206 1 0 ATOM 403 SPCO H2O 135 -7.3723 4.60228 -6.8216 1 0 ATOM 404 SPCH H2O 135 -14.981 -24.686 -29.325 1 0 ATOM 405 SPCH H2O 135 27.7682 2.67124 -28.511 1 0 ATOM 406 SPCO H2O 136 -1.3815 -5.7293 0.97459 1 0 ATOM 407 SPCH H2O 136 -23.926 3.97439 8.20467 1 0 ATOM 408 SPCH H2O 136 -10.796 -3.3437 -9.3071 1 0 ATOM 409 SPCO H2O 137 4.36917 3.15609 -0.2329 1 0 ATOM 410 SPCH H2O 137 -2.8022 -15.490 7.3937 1 0 ATOM 411 SPCH H2O 137 -6.7961 19.0302 -9.4893 1 0 ATOM 412 SPCO H2O 138 2.66665 4.58151 -3.8494 1 0 ATOM 413 SPCH H2O 138 21.1692 3.70482 4.94182 1 0 ATOM 414 SPCH H2O 138 6.46947 7.30066 2.90154 1 0 ATOM 415 SPCO H2O 139 -2.4971 1.49629 2.70926 1 0 ATOM 416 SPCH H2O 139 13.1794 -2.4742 -17.316 1 0 ATOM 417 SPCH H2O 139 -13.927 -17.042 14.4122 1 0 ATOM 418 SPCO H2O 140 1.47902 -3.2565 5.30931 1 0 ATOM 419 SPCH H2O 140 3.85267 3.1263 0.79588 1 0 ATOM 420 SPCH H2O 140 14.5639 16.8974 1.58463 1 0 ATOM 421 SPCO H2O 141 -6.7864 5.63583 -6.4906 1 0 ATOM 422 SPCH H2O 141 -25.188 7.59824 -8.2492 1 0 ATOM 423 SPCH H2O 141 -17.937 16.3834 -19.820 1 0 ATOM 424 SPCO H2O 142 -7.6668 -0.3405 6.82607 1 0 ATOM 425 SPCH H2O 142 -17.821 15.1139 -4.3349 1 0 ATOM 426 SPCH H2O 142 -10.142 11.3324 11.3967 1 0 ATOM 427 SPCO H2O 143 -4.271 3.36495 2.3006 1 0 ATOM 428 SPCH H2O 143 32.572 -8.5537 1.78605 1 0 ATOM 429 SPCH H2O 143 -1.3279 7.3688 -6.4861 1 0 ATOM 430 SPCO H2O 144 -3.2894 3.02337 3.40814 1 0 ATOM 431 SPCH H2O 144 -0.7665 2.1058 12.1014 1 0 ATOM 432 SPCH H2O 144 8.46311 -3.8922 -11.629 1 0 ATOM 433 SPCO H2O 145 2.92901 1.51332 2.18391 1 0 ATOM 434 SPCH H2O 145 2.2352 13.8578 -8.7620 1 0 ATOM 435 SPCH H2O 145 -0.2387 -12.143 30.6603 1 0 ATOM 436 SPCO H2O 146 -6.9537 0.36057 -5.2899 1 0 ATOM 437 SPCH H2O 146 1.63987 8.50219 14.2828 1 0 ATOM 438 SPCH H2O 146 -14.649 -21.366 -2.5035 1 0 ATOM 439 SPCO H2O 147 5.40057 -3.5327 -4.5363 1 0 ATOM 440 SPCH H2O 147 10.964 -0.6755 6.43911 1 0 ATOM 441 SPCH H2O 147 -0.3659 -5.8253 7.17567 1 0 ATOM 442 SPCO H2O 148 -2.2170 8.47068 4.89444 1 0 ATOM 443 SPCH H2O 148 6.1796 -2.2111 12.3379 1 0 ATOM 444 SPCH H2O 148 -13.589 -7.0883 16.7843 1 0 ATOM 445 SPCO H2O 149 3.01589 -2.0422 0.63422 1 0 ATOM 446 SPCH H2O 149 -8.7859 26.552 -0.8695 1 0 ATOM 447 SPCH H2O 149 9.30842 0.58319 -22.731 1 0 ATOM 448 SPCO H2O 150 4.63129 -0.9499 3.53308 1 0 ATOM 449 SPCH H2O 150 32.1125 15.3341 -17.099 1 0 ATOM 450 SPCH H2O 150 -25.147 -12.403 -7.3477 1 0 ATOM 451 SPCO H2O 151 4.5421 -2.5805 0.41859 1 0 ATOM 452 SPCH H2O 151 24.0286 11.2224 -13.066 1 0 ATOM 453 SPCH H2O 151 -3.2819 -0.8150 8.12402 1 0 ATOM 454 SPCO H2O 152 -5.5792 7.61095 3.58567 1 0 ATOM 455 SPCH H2O 152 0.49604 -7.8314 -9.1094 1 0 ATOM 456 SPCH H2O 152 13.2678 -4.6327 23.7323 1 0 ATOM 457 SPCO H2O 153 2.25133 -4.7757 3.01779 1 0 ATOM 458 SPCH H2O 153 -7.3980 -18.360 -23.349 1 0 ATOM 459 SPCH H2O 153 11.0119 -12.672 17.5173 1 0 ATOM 460 SPCO H2O 154 -2.8104 1.20861 1.05024 1 0 ATOM 461 SPCH H2O 154 -1.9064 2.75085 -8.3154 1 0 ATOM 462 SPCH H2O 154 23.0363 -23.402 -2.4853 1 0 ATOM 463 SPCO H2O 155 -7.4254 -1.8663 7.79984 1 0 ATOM 464 SPCH H2O 155 14.9797 5.33175 -6.6184 1 0 ATOM 465 SPCH H2O 155 2.63522 -14.909 1.13561 1 0 ATOM 466 SPCO H2O 156 -0.8954 -1.6629 10.6296 1 0 ATOM 467 SPCH H2O 156 -5.8617 -6.0236 -30.052 1 0 ATOM 468 SPCH H2O 156 -22.095 19.9526 -5.0427 1 0 ATOM 469 SPCO H2O 157 2.94556 -3.4838 8.46866 1 0 ATOM 470 SPCH H2O 157 2.35851 -8.9237 15.3052 1 0 ATOM 471 SPCH H2O 157 21.7172 18.8149 5.95533 1 0 ATOM 472 SPCO H2O 158 -2.1642 3.45025 -2.683 1 0 ATOM 473 SPCH H2O 158 16.0192 16.45 -8.9849 1 0 ATOM 474 SPCH H2O 158 4.33602 -25.793 1.82919 1 0 ATOM 475 SPCO H2O 159 6.51459 3.48875 0.39247 1 0 ATOM 476 SPCH H2O 159 -11.296 -5.4693 -5.7818 1 0 ATOM 477 SPCH H2O 159 -46.890 11.0042 1.79297 1 0 ATOM 478 SPCO H2O 160 -5.9400 7.01329 -3.9721 1 0 ATOM 479 SPCH H2O 160 -27.423 12.9409 -12.558 1 0 ATOM 480 SPCH H2O 160 3.54262 27.0939 18.3 1 0 ATOM 481 SPCO H2O 161 -2.0360 -3.4393 -3.6589 1 0 ATOM 482 SPCH H2O 161 10.2111 -7.8850 -0.3115 1 0 ATOM 483 SPCH H2O 161 6.72984 5.30499 -40.300 1 0 ATOM 484 SPCO H2O 162 2.85468 3.94993 -3.2225 1 0 ATOM 485 SPCH H2O 162 12.3722 -12.205 -13.541 1 0 ATOM 486 SPCH H2O 162 2.86633 18.4463 -20.301 1 0 ATOM 487 SPCO H2O 163 -1.8085 -7.3044 2.85301 1 0 ATOM 488 SPCH H2O 163 14.1282 6.72624 -9.5489 1 0 ATOM 489 SPCH H2O 163 29.2873 -2.4525 3.83195 1 0 ATOM 490 SPCO H2O 164 -5.1478 0.39426 0.13616 1 0 ATOM 491 SPCH H2O 164 -24.734 31.0004 -3.0266 1 0 ATOM 492 SPCH H2O 164 9.12218 -19.088 -21.987 1 0 ATOM 493 SPCO H2O 165 5.17389 -1.1376 0.03225 1 0 ATOM 494 SPCH H2O 165 -17.975 -16.717 -18.478 1 0 ATOM 495 SPCH H2O 165 -13.663 22.6584 19.8041 1 0 ATOM 496 SPCO H2O 166 -3.1505 -2.9700 0.81012 1 0 ATOM 497 SPCH H2O 166 -24.818 -8.4703 -0.6502 1 0 ATOM 498 SPCH H2O 166 21.7803 -21.067 -8.6133 1 0 ATOM 499 SPCO H2O 167 8.17157 3.91522 -1.9642 1 0 ATOM 500 SPCH H2O 167 -2.4655 6.74917 24.5786 1 0 ATOM 501 SPCH H2O 167 -5.9755 11.1111 2.74901 1 0 ATOM 502 SPCO H2O 168 1.53407 0.51191 -1.4809 1 0 ATOM 503 SPCH H2O 168 12.9347 11.9233 31.1524 1 0 ATOM 504 SPCH H2O 168 -7.4979 10.203 12.75 1 0 ATOM 505 SPCO H2O 169 -4.4091 3.61695 -0.4354 1 0 ATOM 506 SPCH H2O 169 -45.903 13.2102 11.1656 1 0 ATOM 507 SPCH H2O 169 -9.1652 3.94102 -7.3147 1 0 ATOM 508 SPCO H2O 170 1.97928 7.92961 -2.1968 1 0 ATOM 509 SPCH H2O 170 -0.3350 4.7013 -10.606 1 0 ATOM 510 SPCH H2O 170 20.8593 -10.749 -19.163 1 0 ATOM 511 SPCO H2O 171 -2.2552 3.73864 -4.0388 1 0 ATOM 512 SPCH H2O 171 11.5287 -0.8744 15.8546 1 0 ATOM 513 SPCH H2O 171 0.46455 -7.0191 -4.0768 1 0 ATOM 514 SPCO H2O 172 4.37363 4.30362 3.96529 1 0 ATOM 515 SPCH H2O 172 -1.6575 -4.0315 -7.1939 1 0 ATOM 516 SPCH H2O 172 1.57025 4.78301 9.88978 1 0 ATOM 517 SPCO H2O 173 -0.8737 -1.9651 6.63294 1 0 ATOM 518 SPCH H2O 173 5.88317 -28.982 -4.9620 1 0 ATOM 519 SPCH H2O 173 -1.5271 16.0084 -1.3055 1 0 ATOM 520 SPCO H2O 174 -1.3128 2.89046 -6.7779 1 0 ATOM 521 SPCH H2O 174 13.7029 -19.305 10.4854 1 0 ATOM 522 SPCH H2O 174 -0.9017 -6.0665 -3.2987 1 0 ATOM 523 SPCO H2O 175 -4.1138 -5.5160 -5.9149 1 0 ATOM 524 SPCH H2O 175 -12.321 -21.868 -8.0870 1 0 ATOM 525 SPCH H2O 175 -9.6564 34.6705 18.6885 1 0 ATOM 526 SPCO H2O 176 -4.5181 4.375 -3.8759 1 0 ATOM 527 SPCH H2O 176 -15.304 19.9156 -14.380 1 0 ATOM 528 SPCH H2O 176 -10.646 14.6315 10.4499 1 0 ATOM 529 SPCO H2O 177 1.79418 7.0056 5.6557 1 0 ATOM 530 SPCH H2O 177 -20.067 22.3 17.9699 1 0 ATOM 531 SPCH H2O 177 1.01302 -21.320 -11.129 1 0 ATOM 532 SPCO H2O 178 -8.3134 2.42313 1.9838 1 0 ATOM 533 SPCH H2O 178 -11.689 4.88852 12.5103 1 0 ATOM 534 SPCH H2O 178 -16.008 -2.3181 -40.503 1 0 ATOM 535 SPCO H2O 179 4.16465 -1.6323 -2.5174 1 0 ATOM 536 SPCH H2O 179 4.6539 -14.119 -11.943 1 0 ATOM 537 SPCH H2O 179 -32.915 -1.3004 -10.875 1 0 ATOM 538 SPCO H2O 180 1.77586 2.45112 7.56983 1 0 ATOM 539 SPCH H2O 180 4.49445 24.415 15.0829 1 0 ATOM 540 SPCH H2O 180 8.05912 11.9832 4.3833 1 0 ATOM 541 SPCO H2O 181 5.31228 -0.4072 -5.6002 1 0 ATOM 542 SPCH H2O 181 -12.899 -10.672 30.0389 1 0 ATOM 543 SPCH H2O 181 5.4257 42.9284 -4.2681 1 0 ATOM 544 SPCO H2O 182 0.83850 -3.1676 2.0581 1 0 ATOM 545 SPCH H2O 182 3.22622 21.6387 -4.1959 1 0 ATOM 546 SPCH H2O 182 10.2283 -12.920 -8.8677 1 0 ATOM 547 SPCO H2O 183 2.3687 -1.5760 -0.1521 1 0 ATOM 548 SPCH H2O 183 25.9772 4.47326 15.7584 1 0 ATOM 549 SPCH H2O 183 -11.497 -6.8210 1.66657 1 0 ATOM 550 SPCO H2O 184 -3.4322 -0.1311 -1.0918 1 0 ATOM 551 SPCH H2O 184 -36.129 3.80452 -0.5650 1 0 ATOM 552 SPCH H2O 184 22.1037 -1.2844 14.4897 1 0 ATOM 553 SPCO H2O 185 4.01067 -5.7411 5.40306 1 0 ATOM 554 SPCH H2O 185 12.6824 10.5514 -9.9380 1 0 ATOM 555 SPCH H2O 185 5.05088 -9.7056 0.44982 1 0 ATOM 556 SPCO H2O 186 0.55382 1.44167 -7.4706 1 0 ATOM 557 SPCH H2O 186 -2.5817 40.7685 7.38149 1 0 ATOM 558 SPCH H2O 186 -28.703 4.36992 9.16612 1 0 ATOM 559 SPCO H2O 187 -5.0441 -0.4201 0.67835 1 0 ATOM 560 SPCH H2O 187 1.47939 0.12448 -30.450 1 0 ATOM 561 SPCH H2O 187 -5.6565 1.47549 -9.6632 1 0 ATOM 562 SPCO H2O 188 6.82528 -4.8707 -5.5547 1 0 ATOM 563 SPCH H2O 188 22.3468 -13.570 -17.345 1 0 ATOM 564 SPCH H2O 188 -10.982 -1.5351 -10.470 1 0 ATOM 565 SPCO H2O 189 -5.1868 6.46498 4.75424 1 0 ATOM 566 SPCH H2O 189 27.5342 16.5125 4.47081 1 0 ATOM 567 SPCH H2O 189 -5.2581 2.40148 23.6441 1 0 ATOM 568 SPCO H2O 190 1.05647 -3.1237 -3.0725 1 0 ATOM 569 SPCH H2O 190 -28.904 -11.466 -10.016 1 0 ATOM 570 SPCH H2O 190 -6.0419 17.471 -13.635 1 0 ATOM 571 SPCO H2O 191 0.82929 -2.8361 -1.6851 1 0 ATOM 572 SPCH H2O 191 -9.1895 5.31129 -5.2218 1 0 ATOM 573 SPCH H2O 191 -20.222 -17.881 -2.0693 1 0 ATOM 574 SPCO H2O 192 3.06417 -8.1928 -2.9845 1 0 ATOM 575 SPCH H2O 192 8.93115 13.6982 4.83675 1 0 ATOM 576 SPCH H2O 192 -4.4629 -19.872 37.1468 1 0 ATOM 577 SPCO H2O 193 2.48817 2.64641 6.06221 1 0 ATOM 578 SPCH H2O 193 25.4742 5.42537 10.555 1 0 ATOM 579 SPCH H2O 193 16.7061 7.80241 -9.7060 1 0 ATOM 580 SPCO H2O 194 4.8216 4.01182 6.44965 1 0 ATOM 581 SPCH H2O 194 11.1112 18.2035 -4.6641 1 0 ATOM 582 SPCH H2O 194 -3.4784 36.9381 -11.303 1 0 ATOM 583 SPCO H2O 195 3.13077 2.30429 -3.3995 1 0 ATOM 584 SPCH H2O 195 -18.882 16.3544 4.43266 1 0 ATOM 585 SPCH H2O 195 -7.7843 1.31305 2.82564 1 0 ATOM 586 SPCO H2O 196 -1.8866 4.44631 -4.0838 1 0 ATOM 587 SPCH H2O 196 -3.2838 -3.6647 -15.398 1 0 ATOM 588 SPCH H2O 196 -6.5507 -0.0927 16.2127 1 0 ATOM 589 SPCO H2O 197 6.18105 5.55823 6.05727 1 0 ATOM 590 SPCH H2O 197 -3.6003 21.2763 -10.824 1 0 ATOM 591 SPCH H2O 197 -3.5849 -19.509 -29.121 1 0 ATOM 592 SPCO H2O 198 8.22637 1.15182 -2.8577 1 0 ATOM 593 SPCH H2O 198 11.241 7.97364 -21.261 1 0 ATOM 594 SPCH H2O 198 -5.2048 1.94259 -3.407 1 0 ATOM 595 SPCO H2O 199 1.07661 1.78392 0.94835 1 0 ATOM 596 SPCH H2O 199 -14.686 5.35324 -5.8621 1 0 ATOM 597 SPCH H2O 199 17.9687 23.8199 3.92884 1 0 ATOM 598 SPCO H2O 200 -0.6915 -6.1332 0.65127 1 0 ATOM 599 SPCH H2O 200 18.3384 16.3091 11.46 1 0 ATOM 600 SPCH H2O 200 30.6893 -5.1133 -8.5201 1 0 ATOM 601 SPCO H2O 201 -1.2257 -0.9845 0.29836 1 0 ATOM 602 SPCH H2O 201 -1.9361 -30.569 -20.157 1 0 ATOM 603 SPCH H2O 201 14.5174 10.4353 3.6287 1 0 ATOM 604 SPCO H2O 202 0.90416 -7.7198 -1.0590 1 0 ATOM 605 SPCH H2O 202 -8.1427 12.9186 -16.141 1 0 ATOM 606 SPCH H2O 202 0.24172 9.2453 -10.264 1 0 ATOM 607 SPCO H2O 203 1.34745 0.18103 -6.6130 1 0 ATOM 608 SPCH H2O 203 1.1237 -10.790 -8.6551 1 0 ATOM 609 SPCH H2O 203 -2.1524 21.1499 2.06179 1 0 ATOM 610 SPCO H2O 204 -3.9924 0.11375 -2.2488 1 0 ATOM 611 SPCH H2O 204 -14.356 -3.5637 22.4436 1 0 ATOM 612 SPCH H2O 204 20.0856 -15.862 -14.703 1 0 ATOM 613 SPCO H2O 205 -5.0750 -0.9008 -0.1775 1 0 ATOM 614 SPCH H2O 205 -16.648 -5.0286 -9.0526 1 0 ATOM 615 SPCH H2O 205 1.13741 -0.5198 10.1121 1 0 ATOM 616 SPCO H2O 206 4.36847 1.74693 0.11757 1 0 ATOM 617 SPCH H2O 206 -36.176 -1.2866 -0.4687 1 0 ATOM 618 SPCH H2O 206 -20.028 3.09679 11.6043 1 0 ATOM 619 SPCO H2O 207 -0.7683 -4.6868 -1.1214 1 0 ATOM 620 SPCH H2O 207 11.3983 4.8746 -28.524 1 0 ATOM 621 SPCH H2O 207 -4.7871 2.4375 -7.3053 1 0 ATOM 622 SPCO H2O 208 5.7325 -1.4779 7.6865 1 0 ATOM 623 SPCH H2O 208 -0.6307 7.92989 7.93012 1 0 ATOM 624 SPCH H2O 208 -12.848 12.2316 1.60641 1 0 ATOM 625 SPCO H2O 209 3.64068 1.94871 7.59517 1 0 ATOM 626 SPCH H2O 209 21.2754 19.4794 34.1882 1 0 ATOM 627 SPCH H2O 209 -40.457 18.0218 -3.0367 1 0 ATOM 628 SPCO H2O 210 -7.8812 11.1731 -3.2968 1 0 ATOM 629 SPCH H2O 210 10.094 15.8416 23.9737 1 0 ATOM 630 SPCH H2O 210 9.85494 -18.121 -7.4105 1 0 ATOM 631 SPCO H2O 211 -1.8280 -3.8848 -2.3163 1 0 ATOM 632 SPCH H2O 211 -10.460 -25.843 -6.4601 1 0 ATOM 633 SPCH H2O 211 -11.800 19.3593 -8.8219 1 0 ATOM 634 SPCO H2O 212 -0.4994 -1.1545 0.80406 1 0 ATOM 635 SPCH H2O 212 -43.746 -30.547 -3.2994 1 0 ATOM 636 SPCH H2O 212 14.8945 -22.072 -19.841 1 0 ATOM 637 SPCO H2O 213 5.58173 0.71458 -0.4817 1 0 ATOM 638 SPCH H2O 213 -5.7669 -16.419 19.559 1 0 ATOM 639 SPCH H2O 213 19.7892 7.98311 13.8037 1 0 ATOM 640 SPCO H2O 214 -10.306 7.30265 2.90024 1 0 ATOM 641 SPCH H2O 214 -8.3223 4.52099 7.08603 1 0 ATOM 642 SPCH H2O 214 -7.4562 -26.447 -27.118 1 0 ATOM 643 SPCO H2O 215 -6.2003 -4.6491 0.62016 1 0 ATOM 644 SPCH H2O 215 -7.9238 -17.779 -5.4608 1 0 ATOM 645 SPCH H2O 215 21.1463 16.1789 2.23934 1 0 ATOM 646 SPCO H2O 216 -3.8969 7.63734 7.01228 1 0 ATOM 647 SPCH H2O 216 34.6319 28.5494 -38.684 1 0 ATOM 648 SPCH H2O 216 -21.350 2.43283 -16.629 1 0 END protomol/examples/water_648/0040755027616700000500000000000010237151527015361 5ustar pbrenne1dipprotomol/examples/water_648/.cvsignore0100644027616700000500000000001710237151527017354 0ustar pbrenne1dip*energ* *out* protomol/examples/water_648/water648.fluid.conf0100644027616700000500000000233210237151527020713 0ustar pbrenne1dipfirststep 0 numsteps 1000 posfile water648.fluid.pos.xyz psffile water648.spce.psf parfile water648.spce.par temperature 310 seed 1234 outputfreq 10 allenergiesfile water648.out.fluid.energy finXYZPosFile water648.out.fluid.fin.pos.xyz boundaryConditions periodic cellbasisvector1 18.6259267382819 0 0 cellbasisvector2 0 18.6259267382819 0 cellbasisvector3 0 0 18.6259267382819 cellorigin 0 0 0 cellManager Cubic cellsize 5.0 virialCalc yes molVirialCalc yes Integrator { level 0 NPTVerlet { timestep 1 # target temperature temperature 310.0 #K # target pressure pressure 1.0 #bar # thermostat frequency [1/fs] # NOTE: The smaller omegaTo is, the less temperature control omegaTo 0.005 # volume thermostat frequency [1/fs] # NOTE: The smaller omegaTv is, the less temperature control omegaTv 0.002 # barostat time period [fs] # NOTE: The larger tauP is, the less pressure control tauP 500.0 force Bond force Angle force LennardJones Coulomb -switchingFunction C2 -switchingFunction Shift -algorithm NonbondedCutoff -switchon 0.1 -cutoff 10.0 } } protomol/examples/water_648/water648.fluid.pos.xyz0100644027616700000500000014031710237151527021426 0ustar pbrenne1dip648 !ProtoMol (built on Apr 19 2005 at 14:48:05) generated this XYZ file by matthey. Time : 1000, step : 1000. OT -3.98414434604143 2.26027991298031 -7.89295144965026 HT -3.62950766323316 2.33648298794466 -8.80740534924436 HT -4.49187476040036 3.06605277037293 -7.83353080815124 OT 8.17701942226837 -4.63958887975615 -0.136312268958371 HT 8.53270099314051 -5.13952731657564 -0.883863933756067 HT 8.75498837041529 -5.06724450778022 0.59277300942492 OT 12.3063642167414 -6.56471638694493 0.0116855860016056 HT 11.5613312154009 -6.58421006455946 0.666666073471333 HT 12.2116242914334 -5.64172581806252 -0.139349558112382 OT 12.9838365149028 7.33822150584628 -0.405222258426328 HT 12.7631657036232 7.84016393656913 -1.16476704834587 HT 12.3835950482862 7.7748188285815 0.267161309479858 OT 8.05271409041723 1.68882834751767 -6.46660228787663 HT 7.11151504504343 1.89718671333583 -6.25415974832524 HT 8.33032606693162 2.50709027895952 -6.88355470772939 OT 7.27520418525741 -2.19475960824108 5.62304036912085 HT 6.84040966098218 -3.0954450154202 5.75710774134251 HT 7.88878081080967 -2.46389892510233 4.88183300006843 OT 4.79491978032601 -2.14019842763416 -4.06016221287735 HT 4.62288303725039 -2.29833259144361 -3.13138805047986 HT 5.42317229245957 -2.87936178862231 -4.15903807460717 OT 3.5981908163201 -7.19361058703512 -2.24453886125833 HT 3.22070000066286 -7.86336916920093 -1.66201520163108 HT 3.63075709358063 -7.73233287552486 -3.05160931540561 OT 10.7110071036773 8.69469290955321 7.47411394354062 HT 11.261581249819 8.29494042264236 8.14336641049611 HT 11.0108643034049 8.15950753655627 6.73172016811564 OT 0.341531667060819 7.68704252538096 -7.72673669692248 HT 1.13412061262522 7.26316723225512 -7.30336051780291 HT 0.593115129416123 7.69363278352502 -8.63255606522187 OT 11.4601003496033 8.22704187860871 1.65518162493225 HT 11.0103009336378 7.58104893305361 2.209888889674 HT 10.6859711687082 8.54609156575516 1.18457044527164 OT 6.12645746284152 -1.56689158243201 -7.81132166475777 HT 6.33240707689406 -2.06865662627104 -8.65371489219824 HT 5.19702974277407 -1.76612589339304 -7.78193801717005 OT 2.88797765373551 9.64211592452307 -0.766383389579962 HT 2.93726038268031 8.77665741561665 -1.13354866011734 HT 3.67227155908465 9.56895239726975 -0.262143847150262 OT -4.21118346141469 -5.97795649237491 2.80467459447672 HT -3.87596204546752 -6.89166957601998 2.8354968102913 HT -4.77610783657047 -6.03384942473268 2.08162395315211 OT 2.02241804758082 1.07595955091648 -8.79919914173482 HT 1.53981874311157 1.72037863191579 -8.31276605994349 HT 1.2925029831921 0.509833250372041 -9.04834440289424 OT -1.2691971398416 -0.490072897366363 3.89945169557093 HT -1.54650672014097 -1.21677417925022 4.48878895835516 HT -2.10755986326172 -0.102403477168283 3.61489841600614 OT 6.48402599434096 9.57074658113924 -8.03378232051395 HT 7.00519143784288 9.86908975503779 -7.18820831596825 HT 6.35988458980204 8.61921250001371 -7.82249690409234 OT 6.53046246046158 10.5956737931021 -0.888448407651467 HT 6.78807279889167 11.3303932395902 -1.40966875517768 HT 6.03946551871852 11.1348500652118 -0.242035983517422 OT 9.24052782901497 -6.41644868718818 -2.25253017808854 HT 8.34534295477684 -6.23390468903958 -2.6096295197144 HT 9.101902088413 -7.34876016137564 -2.3763226855808 OT -4.07062999843095 -1.77769303919843 -8.87729833665638 HT -3.9198257381866 -1.17745768343761 -9.64714739006442 HT -3.70455858844884 -2.6280460092648 -9.26986545138851 OT 9.9694736388532 -6.46066242254076 1.44469577151925 HT 10.3311561197023 -6.48716029096929 2.3030854562401 HT 9.67852609131409 -7.40681291404043 1.25399910311565 OT 8.03246760814177 7.68859068762971 9.37652185240535 HT 8.50946385877892 6.97531616212573 8.89029613353583 HT 7.15466068823216 7.44490186953874 8.95353227495404 OT 6.92993048398974 -2.77505069040857 -1.41983346271855 HT 5.95433154081409 -2.76490546092899 -1.11422159499333 HT 7.34388507745691 -3.49093212453022 -0.917926690167937 OT 12.4246853603413 -2.09698799572493 1.145589485009 HT 12.1381302489403 -2.20060098106834 2.08934660501099 HT 11.8129817445349 -1.3674245989468 0.853916604833733 OT -4.44882534872876 -0.972955834463461 -2.89744879030783 HT -4.30581818391185 -1.93586494566618 -2.85228140053035 HT -4.75851919579873 -0.975869690192889 -3.82636976324529 OT 9.03261795948686 -1.7020209278077 8.37106604399804 HT 8.80156866887963 -1.95404910153571 7.48030269828038 HT 8.22474469087937 -2.03742781228594 8.79821767172367 OT -0.590173704764074 -0.685973133630086 11.6204680788997 HT -0.936696072067694 -0.177019978136654 12.4065292285269 HT -0.662266756319291 -0.0156499580171272 10.9057602501479 OT 0.326149065845499 10.3617104296841 -6.15213476851614 HT 0.0473022220687433 9.80432341261677 -6.89990426462945 HT -0.29771088002104 9.93076237003078 -5.61696208778135 OT -3.84352825486198 -3.81687904384765 -6.33131102208775 HT -3.77938567419783 -2.82411932901391 -6.44235382372557 HT -2.91835031609534 -4.13004493547409 -6.1339614665133 OT -1.37758654438629 -2.59183568634396 5.66260782273375 HT -1.38082646456777 -3.46712731264318 5.35805299015866 HT -0.756162634371021 -2.60800956463984 6.43931934114064 OT -1.70064148848069 2.11134747618426 12.2888559598707 HT -2.54363478889735 1.99216409663689 11.7926566782557 HT -2.15685118786837 2.35100351866576 13.1070431244346 OT 3.40774165715015 0.952224556973462 7.87954136549276 HT 4.24378657898983 0.940481097182322 8.31107068523242 HT 2.82681016202504 0.92795351876369 8.67219202424081 OT 3.89738294956695 -5.90308473073456 4.74753320244782 HT 3.77676785449912 -6.73440783618147 4.20316718610231 HT 3.75939181352093 -6.26022378373394 5.68495403337606 OT -4.74626121690317 7.11712763377571 11.4444597983958 HT -3.89027043988181 7.57985626001403 11.4387879270621 HT -4.48038262562042 6.64821684437421 12.2745475307544 OT -0.209142423738868 1.79645202270908 4.90670973778556 HT 0.67954873775509 1.45495650217653 5.13975059563055 HT -0.58138839401393 1.00128932550922 4.62931267235784 OT 6.61023837343202 -2.767956343969 8.50175262268944 HT 6.28280102507149 -3.68862238650042 8.33485547169677 HT 5.98536569857305 -2.36084890263905 7.78778286353392 OT -0.802045660638326 -5.1320915405461 2.74405744820438 HT -0.657831392722642 -5.60490533972192 1.95756035260197 HT -1.30309906552012 -4.38249508038296 2.34860212293623 OT 3.46183303241289 8.14036503109564 -7.19857441252262 HT 3.3552063234208 9.113431734221 -7.20348603628633 HT 3.54703743475897 7.86972457632169 -8.09506690731017 OT 11.4253915755514 2.27570912927427 -3.2536041950877 HT 10.8960221753252 2.90148894620784 -2.71099462486623 HT 10.667518487531 1.81258439910252 -3.67034142863131 OT 1.04244020764707 -8.55093896809115 9.53936362171677 HT 1.58101363893337 -8.50454864875249 10.3231365561043 HT 0.430992079440703 -7.85030002700071 9.73546784989701 OT -1.81715385334845 3.48203298724617 -2.26999684441654 HT -1.39357996362504 4.20472794162945 -1.6664141957089 HT -1.39347687111823 2.73138463433206 -1.72079001982882 OT 8.98406232571931 0.942638335985664 -11.3059308685164 HT 8.84980933341242 0.126002935958243 -10.8845958571826 HT 9.8210621509542 1.10100689597212 -10.8816820841644 OT 12.1707618989955 -0.32001220221696 3.03885827857009 HT 11.4928214675886 0.0650012152305168 3.5527586980479 HT 12.1229757694454 0.185735950219396 2.16623325251776 OT -2.06343851434771 -0.419252790085915 -4.5372202428603 HT -2.61240825519921 -0.589567227328549 -5.29103007356649 HT -2.42051334797612 0.4341394224504 -4.21036507934659 OT 9.48236665101921 3.50127120903813 -8.23646153060426 HT 10.0371420421853 2.74528876151241 -8.57851110829847 HT 9.43200579282014 4.01455711506275 -9.08651048919112 OT -0.777345709877163 9.18854767787531 5.75612691430735 HT 0.120459627538376 9.33282392845375 6.11262469952667 HT -0.470003139992643 8.80347346816895 4.92011094220148 OT 5.75432340958432 2.40878582424458 3.57549680334485 HT 4.88979557395194 2.63446267133436 3.9651010750767 HT 5.96740012589595 1.59144812272949 4.04510446083717 OT -2.28324640232569 -7.52386880009775 6.19143289820878 HT -1.97915633598621 -8.461737430656 6.11023236107386 HT -2.72512533728896 -7.60813256617968 5.36250428387799 OT 4.35071372072326 0.70576786103959 -4.34047596373754 HT 3.54952811463207 0.352460395681822 -4.81540791729182 HT 4.91196106945905 -0.0731387219958489 -4.14935366036594 OT 10.4445378155772 -7.20001608562459 4.47203701126046 HT 11.1168575794169 -7.65239106943738 3.94361318954974 HT 11.0860637928904 -6.82998812994983 5.1816772985842 OT 9.93200224145734 -3.05610319907555 -5.79932047496829 HT 10.5345611876043 -3.40815695550797 -5.13556972136215 HT 10.4706766885604 -3.10974211530238 -6.58937683617961 OT 9.98624480082933 -0.014963149155316 -5.87110714583892 HT 9.3058278365052 0.673662040906834 -5.99524451762149 HT 9.42592297029956 -0.854215256535542 -5.81780298040296 OT 12.2358071267638 -3.21989258240002 -7.82438724487384 HT 13.089056021601 -3.15654927316213 -7.56908081827671 HT 12.1477730704506 -2.5864370103393 -8.56971851804678 OT 8.14716836239627 0.555629377054155 -0.235027313261123 HT 7.84079351126147 1.48986476638412 -0.276669603131934 HT 8.16151124397229 0.38764379792175 -1.22671359846112 OT -6.98399562531918 7.37001115709871 -4.94179628559493 HT -6.95396215523141 6.54470503671967 -5.52483397092301 HT -7.46288318472762 6.99081685290912 -4.12986241824787 OT 11.7495209568194 -7.73175439133914 -2.5799406852858 HT 10.8976302852081 -7.266322206421 -2.68839923500562 HT 12.1030318892947 -7.13587525412099 -1.86436241869282 OT 5.96272953947007 0.272927694327818 5.51271119012604 HT 6.63502519898308 -0.464196724892095 5.5507129233023 HT 5.19941340705951 -0.15091815506447 5.11941622773174 OT 8.18701594700222 7.19209938450475 4.70175239863182 HT 9.12410407968654 6.99822099290783 4.32798601018533 HT 7.98700671631398 6.32383048128795 5.09221493263561 OT 10.8012965119181 5.75775764904225 -7.37758775643214 HT 10.2472483450587 5.00939166985604 -7.72937128267515 HT 10.0713493999402 6.34538444184586 -7.16994104877049 OT 3.33243483078006 -7.77951895383079 10.9650304264718 HT 4.22457558002346 -7.68354545116821 10.5692038820249 HT 3.00512935911394 -6.86411052035715 10.8884646831416 OT -0.133986577282177 2.6154898147279 2.19026095258585 HT -0.730692288833421 3.34575159549439 2.17170032792772 HT -0.0751095862118465 2.49861354895132 3.15472432061663 OT -2.25178107038541 4.09185203660819 6.57337034221133 HT -1.95856642284313 3.47205648710435 5.93137013149478 HT -1.47317749078985 4.62157501331335 6.79020618408714 OT 2.27246413170077 -4.96093106327532 -1.69215454089739 HT 2.90219591917773 -4.26812030408221 -1.96347272907238 HT 2.76227731982551 -5.81190851527621 -1.86381934872204 OT 4.12408653104909 4.37173563892753 -5.28666237788344 HT 4.28489489149137 5.36056934209229 -5.23556269307682 HT 3.1725990570389 4.37211855708921 -5.14612840226307 OT 11.7831024935279 -0.517354262014222 6.37353663048314 HT 11.4943907245532 0.228418102469993 5.87138688470904 HT 11.5634248451966 -1.31457249509611 5.78372158218717 OT 9.00456066666469 -1.75527982255867 0.978217119761639 HT 8.46758511205783 -2.41788568060174 0.572030794731297 HT 8.6879182864672 -0.905327042783075 0.653176685498511 OT 5.89021972838454 -4.56548879908599 6.46897142374164 HT 6.6039959372713 -5.16111648099648 6.19368335912446 HT 5.09394878534684 -4.81412328891463 6.02401066661451 OT 7.55050343277016 10.5573174608112 -5.64256634797941 HT 7.15922382533986 9.96790285285013 -4.96435770809718 HT 8.4923613549914 10.4450108550968 -5.4352651753149 OT 5.62682048418125 11.3483169699945 9.05685756394951 HT 5.71570932710209 10.5143442075485 9.58444744622907 HT 6.58322442908499 11.4757143755452 8.78120139382101 OT 2.03511254480802 -3.06470842643662 6.75963425676352 HT 2.20731086081174 -3.00139730128031 5.83683721907426 HT 2.90960241050821 -2.68581811714043 7.0341408861288 OT 8.34247523770063 4.7083550991869 0.986434122461718 HT 8.566730324988 5.37600077292769 0.37868014495391 HT 8.11071497705064 3.84437912503143 0.529116563672247 OT 3.7241778927991 -0.157902665587229 0.627711659672627 HT 2.97454436290897 -0.659275562876677 0.325823813732432 HT 3.72000767417858 0.598538378765838 0.0380949512734488 OT 3.47039433576681 3.73739383118796 4.97178982922501 HT 2.62943852375303 4.31701717388479 4.87052686322799 HT 3.08549220401084 2.82459813704035 4.98427365180246 OT -5.24792951127325 10.4850570187495 -6.91121534042727 HT -4.61446874760404 10.5592271620785 -7.59820724571844 HT -5.4937526651352 11.4429577885941 -6.92887742996177 OT -3.47789355369391 -5.73318487589263 7.57210657373572 HT -4.3179677202238 -5.70913091302831 6.99974785464943 HT -2.89353734697232 -6.50224234641766 7.28921840555715 OT 8.76431139222302 -3.14689870013322 3.55481811427951 HT 9.01203344291815 -2.70727493361651 2.72934056238672 HT 9.55901397064467 -3.09133690412573 4.08019174416922 OT -7.09647751220705 -4.37096205482071 -3.93403178151396 HT -6.35660331208313 -3.78747946248012 -3.63012756364814 HT -7.41302052023301 -4.70139772035268 -3.09662327506414 OT 6.03756160429819 -0.500074046315721 2.09414000129549 HT 5.16130256011868 -0.43146268974328 1.65454414596796 HT 6.37715944840226 -1.29864138848572 1.76954948384215 OT 6.26562955142575 -6.25321867284574 -7.20980199111073 HT 6.76847305919519 -6.25092269797056 -8.00987232943329 HT 6.79853748271246 -6.95211340413735 -6.7952403770888 OT 2.65007598617561 -3.55965957535882 3.84811704229359 HT 2.93365071575255 -4.49889934618558 4.08750980931832 HT 2.57143494530666 -3.57522614318458 2.89932515079741 OT -1.06459055804043 6.01589542802232 -4.02786512398592 HT -1.35017781398032 6.95966124524335 -4.17871489577504 HT -1.77680748251935 5.73437426201694 -3.36120410070028 OT 3.60267886993424 6.92839128621738 -1.95168352746191 HT 4.44395083212455 7.08554189675105 -1.45626698013462 HT 3.88619200937911 7.10673429060269 -2.89143755848454 OT 10.6179885128619 6.50757691883989 3.648616243659 HT 11.1691289363865 5.77246591443542 3.34302774819588 HT 11.2658288121915 7.02193093018497 4.18574201619779 OT 7.71369548949939 4.81514446323422 6.20699801846582 HT 7.03411817682368 4.07402312142099 6.41690681956344 HT 8.17375712361953 4.29887544683838 5.5204089169301 OT 8.63324900234184 1.4811422267876 -3.4571795023402 HT 8.00579383609164 1.68545120813597 -4.16385931720981 HT 8.50184658060141 0.557698721298591 -3.31119402411012 OT 5.4848257435213 2.22665808211919 -6.22416161277901 HT 4.90983297773394 3.01602262620717 -6.14591575332544 HT 5.11387204538679 1.6784664011264 -5.48874442561706 OT 5.66553030160219 1.20580317881382 -8.89448162969473 HT 6.2316107166741 0.393807255628576 -8.72132180988968 HT 5.56878631076383 1.38021019158662 -8.00691537186704 OT -2.39546358118715 8.34182011787287 11.3950112438987 HT -1.48588086493637 8.11971508448789 11.3380004200219 HT -2.46726447404306 8.67565846930248 12.2427912635847 OT 0.537936926045834 -0.423096976455182 1.90897859045431 HT 0.00914812941036289 -0.517857156732715 2.70532425935946 HT 0.90186703459984 0.43889519325776 2.10519042940315 OT -4.22167948515241 -3.51689954175315 -3.39175246060799 HT -3.78672997424829 -4.16742535130306 -2.83231430531341 HT -3.99610693915378 -3.80940568088168 -4.29115395236725 OT -1.66111525359021 9.15344392150771 -4.43876765136977 HT -1.42690779259352 9.93699412665707 -3.88156904800088 HT -2.65246409392506 9.27261965721977 -4.3565088373009 OT 0.0532815637476767 -5.23122623897555 -3.33384023685057 HT -0.00223155434085475 -4.33226806061278 -3.59940687768859 HT 0.885539263177557 -5.14363860972418 -2.81486853561845 OT -4.54697094672981 0.661163372991006 6.84273605033205 HT -4.97742090882439 1.52568919963674 6.60737595836967 HT -5.26121868246122 0.0433692405411871 6.58474292356688 OT 3.680817472537 8.5716472133561 7.65076678858844 HT 4.29311352910258 9.27785007716331 7.96300140474968 HT 3.77980475362141 7.93190018484869 8.41647508102184 OT -7.62770331676586 0.0807149964492367 -0.145720466601361 HT -8.0005208907067 -0.585737872913139 -0.796797564246511 HT -6.78098531912809 0.367327984751061 -0.585146112697328 OT -3.20290405231072 -5.9129438943832 -1.64747386838893 HT -3.43475187522174 -6.62498067189223 -0.979327063840486 HT -2.90252236359516 -6.26806401543196 -2.4833573416156 OT 8.81246602764311 -9.62491369880912 0.996128079247416 HT 8.19063140110379 -9.16117241228324 0.440446612440617 HT 8.39656605369341 -9.67362305625748 1.8095503472722 OT 2.96117974346735 10.7739843355651 -5.28916909870393 HT 1.98228871525538 10.6572499048468 -5.34399002702633 HT 3.09893014661482 11.0128415829248 -6.17194209455138 OT -4.19378130637723 -1.56155102949772 3.47055808278568 HT -4.28790572794863 -2.26166788339978 4.15818213932491 HT -5.04637278757562 -1.01668746504857 3.5012032776408 OT 14.8415414337921 6.21198463583531 -3.03040212921162 HT 14.7039108051982 5.65326534263868 -2.26836553998891 HT 14.2355084201839 6.9871627189395 -2.68679365277385 OT 0.477139763564602 3.43342599189728 -7.75346825497983 HT 0.81539332517534 3.84120586646551 -6.95272915591855 HT -0.336623356349294 3.02285458194953 -7.41772130763077 OT 13.3748821248145 -9.69269990314457 -2.41222178379558 HT 12.8745894223838 -8.87708816500691 -2.45905320142362 HT 13.7214290056749 -9.71774002095818 -3.3353773586949 OT -2.20323665232462 9.82047893569826 1.04807617909874 HT -2.93633722332126 10.3684835917133 0.582645075472023 HT -1.38139986488863 9.94203072903229 0.489457854008303 OT -5.80973062526232 -5.80087500424926 -6.46141477732781 HT -6.3283615387849 -5.3854854101688 -5.78348241042042 HT -5.04646085593411 -5.09358402866631 -6.53133222894553 OT 9.21299250881387 3.65701430285748 3.80020748599638 HT 9.34615494483809 4.30407576612245 3.1154943539506 HT 8.6610277998268 3.04745927764921 3.27686117823251 OT 6.61437503330374 2.35129035430503 7.27922261920599 HT 6.152895792514 1.61300187304527 6.7439913011581 HT 7.31505906251162 1.81266277075423 7.70532771483654 OT 7.51701658853223 -6.58068332233908 5.17497847353177 HT 8.50946844958955 -6.61317044435058 4.97081577958154 HT 7.26038134320966 -7.41904390075329 5.504976638237 OT 0.370640923207265 -5.45453848751008 0.177829120795741 HT -0.385218929004275 -4.90517094652472 0.225029444303796 HT 0.948832913936591 -5.06929499075495 -0.493297449362426 OT 14.4821902621131 7.80860304054806 3.05015696870064 HT 14.4662449518549 7.26923061947789 2.21457964820811 HT 15.2806493138782 7.41158023340601 3.53238412400027 OT 5.27992929131704 -6.63825519489108 0.867162212906084 HT 4.33945129475599 -6.6448741805281 1.03563249375071 HT 5.57112720157536 -6.22228064180175 1.71380720724759 OT -5.26381577559673 -4.10099421335553 4.57803886494048 HT -4.68469661860732 -4.63495393652286 3.91918573595716 HT -5.49086644942708 -4.85089192750434 5.11913826269064 OT -6.79539668292092 5.02522339579141 7.8441303079481 HT -6.26488910582518 4.92475302328974 8.67254795585537 HT -6.12186000604183 5.50021476776856 7.4078596466501 OT -2.91089561634856 -0.140824020948211 -0.808733211036448 HT -3.27059532460716 -0.87118904472073 -0.253842896070846 HT -3.53876470853715 -0.182084939269125 -1.55069314789101 OT 2.01660354432229 3.88188571203367 8.54970128987009 HT 2.95656640007485 3.6400492267205 8.73231864442678 HT 1.59019017626673 3.65991283642814 9.40651218363039 OT 11.0390316703956 -3.37423940431995 5.30036837357323 HT 12.0036049031155 -3.38139135230897 5.12405470337266 HT 10.9953893953203 -3.99569532644923 6.05917358771675 OT 6.57020932276198 -6.52947227081104 -2.92172971643372 HT 6.34432046324248 -5.97798851575235 -3.72309045683211 HT 5.67489886796164 -6.72799028791923 -2.65509875634943 OT 11.170825584872 1.61907020475459 9.44719230697922 HT 12.0588178547052 1.51867477132061 9.08513263899365 HT 11.0763831482895 0.78456954817228 9.81448833325448 OT -0.641590938980701 4.9494323166138 -0.348907680318585 HT 0.122100796839126 4.56225168537564 0.178321623590401 HT -0.715786283841534 5.78579141873734 0.147641611231066 OT 8.58232328010843 -6.35790027594997 9.94685636266511 HT 9.4594147965286 -5.97840815930704 10.1214969712777 HT 8.80913751933318 -7.26246864223762 9.51939623615774 OT 11.4263465468372 -1.10993666883395 9.22496612160368 HT 11.7498656494396 -0.907186578352907 8.26728992307953 HT 10.5189918390072 -1.40799337467848 9.05002268511739 OT 12.7660145524248 7.79565679150066 9.10584750699214 HT 12.4658399804817 7.07604318641945 9.63706363918788 HT 13.6520390516599 7.83485790212122 9.55768953391807 OT -2.22092294537826 4.52509446582249 2.70671547007149 HT -1.73121510944369 5.05151524995816 2.08512090673811 HT -3.13606706590018 4.63499826780949 2.34907119487482 OT 7.02302206448985 9.67388334318006 6.70096395513458 HT 6.728441338853 8.80152543030341 6.93793255939846 HT 7.95043323892868 9.70597764119588 7.07665162397589 OT 0.00662982540210406 5.46748089682116 7.50190091787137 HT 0.189990175385893 6.24255758126781 8.10302336999359 HT 0.68683207173383 4.89568623689024 7.84808451344692 OT -2.17542758723804 -0.642242856406156 7.65162566772251 HT -3.03300504427051 -0.203637693088457 7.33473361385071 HT -2.03416639269308 -1.2507300281717 6.85527596391289 OT -0.0801778408487972 -8.18144423192174 -0.759110492732174 HT 0.117522603135074 -7.23978760921559 -0.504239255483714 HT 0.812601756870683 -8.56628320375459 -0.869697125294391 OT 0.866441697337776 -1.84935842047391 9.69507533489032 HT 0.4393948197511 -1.58020776856392 10.5769508701547 HT 0.149706155098059 -2.16698928255338 9.08845525257683 OT 4.96729871385638 9.20065867703956 1.87114383652684 HT 5.7596024156938 9.31671576819405 2.46927199276168 HT 5.17010595979844 8.28197920612285 1.57553760187354 OT 6.40842010131453 7.85606780592322 -1.49672849525192 HT 6.31579207649418 8.83417541776117 -1.57632674539708 HT 6.28981290273993 7.7279375435574 -0.532078522440082 OT -2.26756318429626 -3.78973179335808 9.13961943637287 HT -1.42405998097029 -3.92589405334117 8.67323772683192 HT -2.8063455979101 -4.37786526723282 8.63370138759833 OT 4.36487202294498 6.58610544671638 9.27582469108904 HT 4.80065289089015 6.58631722705535 8.4213768834732 HT 4.38720796722316 5.58703093928818 9.46539004986266 OT 3.46075285048996 -1.60898161818223 10.8433594875544 HT 2.88857790393284 -2.07814108574235 10.256391905144 HT 3.18798953174783 -0.737322475268642 10.6150512024235 OT 3.12196983236928 4.37032305190927 -1.03105104343583 HT 2.96918845842163 5.28653269682602 -1.36601780805073 HT 2.30224982990684 3.86436369271119 -1.19574003220838 OT 9.95731965949767 10.2319390066951 -4.42754847792555 HT 10.4470885634256 10.215445141078 -5.27287975726878 HT 10.7855173369479 10.3192035714825 -3.88460079186381 OT -3.29439540130648 2.67304790907338 -4.51118219641583 HT -4.11941440048859 2.55529003177091 -3.94630575916347 HT -2.66877449584709 2.98491638374313 -3.80582474201372 OT 7.63292931834208 -1.91372405482879 -5.30411024554791 HT 7.09000334270743 -1.88004864340135 -6.14674455500701 HT 8.41498075976334 -2.42339358353351 -5.68088954195311 OT 5.9998581419705 4.88951396876854 2.4531723127769 HT 5.93993274221265 3.9202343596222 2.47027849064231 HT 6.79892647172741 4.93266211018207 1.87391397387569 OT -4.45079948341355 8.84258495516034 -4.97087232186118 HT -4.78905276011353 9.46672783787521 -5.67857314869214 HT -5.1451366667548 8.25322269704247 -5.01860971741232 OT 10.6172863687484 -5.57473892580311 7.02278253705307 HT 9.71281204844134 -5.76746649159305 7.2502261714153 HT 10.9395590792667 -5.50011573975263 7.94971032540512 OT 3.26536509816098 -8.24725202443821 3.72429604338276 HT 3.66947425130576 -8.9279011816791 3.1046199754609 HT 3.15514576917518 -8.81961215011159 4.52470732254169 OT -7.35699554777277 -5.33547380956303 -9.24248731751289 HT -6.74060493976355 -5.9093163177051 -8.71306199704233 HT -7.09254333193253 -4.42592743928676 -8.89892806408213 OT 1.21651088256842 7.81812111760453 8.35801893788428 HT 1.7764795430509 8.09089499279702 7.6317353524747 HT 0.907758908247092 8.68343654036461 8.65241046501313 OT -4.40094130512117 3.89311801494427 -1.24221680957314 HT -4.65040799241116 3.1188253935375 -1.73475680865952 HT -3.45499949542083 3.87387355441522 -1.56781534605058 OT 4.27253941529162 -1.26280258477644 4.06354259321378 HT 3.49074903377615 -1.84560775222821 3.81364718407335 HT 4.765069883238 -1.40994864300445 3.26708711684941 OT -3.03188349766614 -7.33543859424377 -9.27389491530752 HT -2.14568481062009 -7.0690108570835 -8.99540676994098 HT -3.41178460405155 -6.59580603631105 -9.81574671083374 OT -6.33322615948799 -0.675616825278381 -4.89704772684795 HT -7.20957000651368 -0.614814674307883 -5.21169211536415 HT -5.73259507878101 -0.308516582712977 -5.55126106658011 OT 13.0753911493068 -6.23441585333824 6.26180726631303 HT 12.1960158549309 -6.08647095340647 6.65484176466782 HT 13.2955272911914 -7.17604450733004 6.53818518561581 OT -0.805948612216638 1.66616424520903 -0.327331149517952 HT -1.62312493484711 1.19469706891443 -0.1003698788243 HT -0.395610962248692 1.6830953857596 0.534156912744397 OT 7.38880615809217 9.17413316600278 3.21714737845765 HT 7.28502517964521 9.70800358692055 4.0235950348195 HT 7.69685083177495 8.32786709586193 3.64543216861859 OT 6.39907401778727 6.81440690185912 7.25498913519336 HT 5.77942374866711 6.55115282463143 6.49218677369359 HT 7.13343404870449 6.20158613815005 6.9995154732333 OT 15.3823591663444 -8.39910708059737 3.64863587542189 HT 15.878280639082 -8.65800357017301 2.80166713574295 HT 15.1720738050764 -9.27417340227588 4.07282017305234 OT -0.126732192764905 -4.49586161649296 7.65191487111678 HT -0.45545743695384 -4.69058580144453 6.75032838570765 HT 0.765936406543252 -4.14930796564896 7.40883866942864 OT 7.09625019145879 7.40993502779894 -4.80995719208667 HT 7.63863072665642 7.3278041548985 -4.0286664190578 HT 7.77123613793907 7.25669705421478 -5.54132407114938 OT 11.0627379427182 -1.41123283175052 -2.21938776695683 HT 10.1224816984868 -1.37967361758393 -2.3295417919511 HT 11.4684947866293 -1.2308053167678 -3.06309932285085 OT 11.7729196651874 -3.9613747346914 -1.10062716175229 HT 11.4673030883413 -3.20861502280382 -1.59875655733907 HT 12.0878534917436 -3.56059354739887 -0.267632103369586 OT -4.13982779914402 -0.131871211871035 -6.69239502031061 HT -4.2401928576158 0.76036692391773 -7.10252284437079 HT -4.13232336271104 -0.789458321178654 -7.44861604173457 OT 3.85589891456998 -2.76283291072545 -1.18017183236397 HT 2.93067275993421 -2.33064408557549 -1.15555070526395 HT 4.12675213144628 -2.9851094578038 -0.240128963398521 OT -1.40186793430295 11.4682235342277 -3.28315600840981 HT -0.801621775369513 12.2009603555703 -3.37664273113854 HT -1.40097615420072 11.4289707322905 -2.30290959952882 OT 5.08523866656479 5.88179108067038 5.15289649453808 HT 5.52979058277814 5.7237320921456 4.23861274575747 HT 4.43780567736341 5.18998522390759 5.19008881518505 OT 7.17520987082885 2.95718605341589 -0.856300754341862 HT 6.94540287877017 3.39614088739488 -1.72853979574426 HT 6.37494455731417 2.49168237812102 -0.77942205093594 OT 9.45749575990675 5.44298564753025 8.21672195111995 HT 8.90181847608031 5.16301942962254 7.41677494676361 HT 10.4291169219912 5.53069526456114 7.98061783774091 OT -3.24606610008375 2.1379109449752 8.53041186785395 HT -3.01187871120968 2.90633966925338 7.91951751370396 HT -3.67093901086474 1.48508125285942 7.93823374723584 OT -5.57086607044468 10.3277801199613 7.724792803569 HT -5.94534762853948 9.41063388977553 7.77662562735515 HT -5.2364891440084 10.431984679344 8.63091059707628 OT -6.03947242996383 2.72644285522159 6.19792282252196 HT -6.08472262795231 3.54619237510151 6.65832358239425 HT -6.64713796130751 2.80607172493487 5.51571938577229 OT -1.46954385645258 -3.12720809080025 -5.73578264632363 HT -0.902519906767126 -2.7987216397978 -4.95373618768614 HT -1.06828529100413 -2.59265087103136 -6.43732968944175 OT -3.36547971012462 8.88841507269802 8.78113483081794 HT -2.88728262575058 8.42062595885659 9.48328541090135 HT -3.04461226938901 9.86739381117511 8.88225919593238 OT -0.126629113503681 -0.254507852513349 -2.28936682357041 HT -0.82077595804465 -0.453737726764011 -2.99002168247116 HT -0.73912407763408 0.10474369454666 -1.66287992042634 OT 8.36115812156942 -1.08309568798071 -2.72888365302252 HT 7.86333726523586 -1.75997961227445 -2.20559899097695 HT 8.07047680153344 -1.33656793264933 -3.64400971845139 OT -0.487888373642225 -6.42640096018783 9.92149215356827 HT -0.0214893549720147 -6.06978476745248 10.6572216824142 HT 0.00810420343797216 -5.90114069688432 9.25652028271102 OT 1.50387599972965 5.27620483109258 -4.99596594424926 HT 0.544659092878544 5.42095069904169 -4.83284518430522 HT 1.84316312628644 6.12284860385905 -4.82095200898015 OT 5.34580794839212 -3.10104141779918 1.60883670598885 HT 5.88387397032144 -3.68458814674433 0.978861773167254 HT 5.37044582565486 -3.73981880610961 2.37367858781655 OT -5.54747148321335 4.79798507182939 -8.65275852635341 HT -6.27126427016106 5.00844119976153 -8.06252387153472 HT -4.91451248589734 5.41089257555872 -8.15974560985064 OT 4.40324802290868 -1.66503189726591 6.98492806727708 HT 4.65306270950232 -1.57426455653859 6.00621165373786 HT 3.95242215256348 -0.833386824677938 7.03321518141637 OT 1.30799238635858 -8.46293344068992 6.84349588493435 HT 1.06327156727247 -8.10025913776759 7.69730556756151 HT 2.05289372867868 -7.83633539706041 6.70799722786288 OT 5.78340385894983 -4.68014824960422 -4.95589869377632 HT 6.20811040897993 -3.97485702495622 -5.3957575854408 HT 5.76820050405707 -5.32707880798141 -5.72312390430807 OT 7.84975178239341 1.90143916704367 2.06698993488911 HT 7.18290086202373 2.01806999612087 2.78789266477402 HT 7.57756861107723 1.03016707323559 1.74054902822558 OT 2.74414883990622 -6.33470007861988 1.70949905099689 HT 1.82720266935754 -6.09448341676205 1.43346669887356 HT 2.65674695219451 -7.19189003982404 2.19601328519779 OT 10.5344637796647 3.65420791453014 -0.954373728956988 HT 9.70715842388311 3.14498247600981 -1.02340050828889 HT 10.9411479499297 3.33556392075758 -0.174123791498262 OT -3.8421555886229 5.17094349930041 -5.58917022323353 HT -3.36205101035015 4.28300881502401 -5.51904155281729 HT -3.91357662862361 5.49329174609713 -4.63330751560157 OT 1.4841755675235 -1.51375793292221 -0.506847360995577 HT 0.916541520833098 -1.01989170106694 -1.11752182383648 HT 1.07775449726628 -1.22777472851726 0.337670639613624 OT 1.0640666186329 5.31099027507554 4.83390412201284 HT 0.129231631337698 5.44384407159668 4.56867680828895 HT 0.925189248541812 5.13830118523904 5.77533559450486 OT 12.5666042732411 7.74043597846378 5.18434728119265 HT 13.161526016314 7.90019617848005 4.3917419463274 HT 13.059837947857 7.17581131637549 5.73288130061819 OT 12.1640219882915 3.95506450604897 2.93526102817624 HT 11.5199287543221 3.48310772968077 2.36409564469959 HT 12.7952533434082 4.43310676678244 2.2926598659544 OT 3.62309720334257 -6.57987673273952 7.47343746343951 HT 4.19186163845677 -7.03636416986049 8.14207343679123 HT 3.04576445231542 -6.00056110423358 8.05903036497516 OT 10.6488040151155 2.1124644611067 1.53317129419182 HT 10.4913436854255 1.37402917536768 0.929498861435703 HT 9.68661190181366 2.22293638378034 1.76974151581663 OT 11.2163302025795 9.45555650730998 -6.52488771640513 HT 11.4161076217201 8.73902850257511 -5.93625817036815 HT 12.0982310825423 9.67208710727907 -6.94189841009046 OT 0.568202449864816 -2.44369700606782 -3.69992310699241 HT 1.14218890830137 -2.02930919116981 -4.34636089002743 HT 0.36354527254141 -1.67679440455925 -3.13963648902101 OT -1.25317664319886 7.26602765627751 1.67167463905844 HT -1.54424073521516 8.0226712543128 1.14137262368355 HT -0.666107383796462 7.69475245444479 2.35188339188034 OT 10.5269620127249 1.18540524891029 4.730169063125 HT 9.75817653397119 1.34765420010497 5.34575668907334 HT 10.500109280452 1.95736037266651 4.11464893425954 OT 0.833727584948154 8.01076809192098 3.7043549363827 HT 1.71602452090423 8.29572148990285 3.90192392709403 HT 0.82645664174653 7.25929741471879 4.30911650505841 OT -3.88527827038569 -1.9984065116354 0.734037954209833 HT -4.86862809404919 -1.98175308351866 0.821787440764363 HT -3.79237651856837 -1.88319776594643 1.66936546562413 OT -1.28712728376373 -5.15790409991502 5.34206355702617 HT -1.77880741113402 -5.9750342232329 5.69182497712413 HT -1.18538393954662 -5.35842417433509 4.34530377508052 OT 2.4832781519019 1.1015655361552 5.19536386473671 HT 2.98238781730075 1.18747539498996 6.05309507729873 HT 2.33357370921047 0.131973606538899 5.04824628415106 OT -3.05045280628238 7.74661515660748 6.41839811255683 HT -3.42567756330197 8.16567191250733 7.22725102247795 HT -2.23569087887874 8.29021399317334 6.16551529666174 OT 13.9395905170607 1.74329171041574 -2.62660545478436 HT 13.9512946998205 0.810107379362528 -2.5995920465031 HT 13.0214737115657 1.92491481275477 -2.88160837498457 OT 1.34690654595438 2.42011690503839 -2.13091590029984 HT 0.837745915536177 1.59471220471153 -1.9002829634817 HT 0.921111487866013 2.71751121996673 -2.9658511744317 OT 8.09889801363033 5.92538094923766 -2.20624153388887 HT 7.39567849030808 5.53528399233987 -2.74768931673299 HT 7.5770585468986 6.70660220965443 -1.96924223782605 OT 8.84994516275297 7.61034306334516 -6.88870092488338 HT 9.74387498574095 7.97404099933709 -6.96847986704442 HT 8.48750994244069 7.82649408335764 -7.72592000631185 OT -0.67457695852513 0.83641499251158 9.31902517531046 HT -1.09290706698318 0.27356959161646 8.56866832038745 HT -1.49728498027531 1.38176059167772 9.45904873716714 OT 4.99040601107176 6.68572973389021 0.671432611890062 HT 4.27243569286189 6.00168647837388 0.650287576259979 HT 5.50686626123485 6.22430343681362 1.35874205668847 OT -4.48124902235936 5.54561708193822 6.50891915755979 HT -3.84676281071691 6.24275505919922 6.77647150505216 HT -3.96878570703881 4.77647338496585 6.23810213090732 OT 2.43662345594205 -1.21415408708583 -5.25194036589062 HT 3.3023977989904 -1.70550836374132 -4.92349770059983 HT 2.66316673103633 -1.17743602237085 -6.24880801972949 OT -2.04047752195565 -3.97068357697729 0.331375144123404 HT -2.55388476989925 -4.56211293598312 -0.129122443385731 HT -2.56760151701961 -3.18160499268062 0.347490486056 OT 6.0276803934897 -5.20663434583038 3.13067639440951 HT 5.29997777422681 -5.4187028039806 3.6993366022602 HT 6.79472395007776 -5.50305258776041 3.62131508127447 OT 14.4774776311237 -8.14511649804978 -0.332257559135525 HT 13.5838887818346 -7.66120165975093 -0.288839403067222 HT 14.1623941950184 -8.84858196449772 -0.944634927179974 OT -4.75020821027227 5.35040964450299 1.06443065730166 HT -5.17573884317546 6.06178897088479 0.512675809052131 HT -4.5501994915694 4.77500526103909 0.24259808426192 OT 10.7956496380503 6.43134420035196 -2.55796189445772 HT 9.86337810086723 6.18666349713587 -2.4573424598597 HT 11.2049357183569 5.81611542164169 -1.90303236976313 OT 4.87080404410803 1.89370746023766 -1.77548999753874 HT 4.34841152286229 2.75916308387164 -1.90829537263796 HT 4.69386686425249 1.34484011449076 -2.59948547959106 OT 9.42639261487682 10.2645779491864 8.9971625153175 HT 9.95658665864946 9.6960156548675 8.40746847447866 HT 8.95850663064885 9.60037688918728 9.50522508090207 OT 0.645312828952231 -5.84660639268533 -6.47348062995989 HT 0.458054894228273 -5.3836516444671 -5.66086112065833 HT 0.741563243363931 -6.80431204260294 -6.2007256001465 OT 4.28755014376959 6.91221736425113 -4.65061584232128 HT 3.89217603620874 7.52468423366298 -5.33513701056815 HT 5.27010230398448 7.14114879116375 -4.80936718210526 OT 2.39614415677447 -5.2731132423417 10.2190309226532 HT 2.74960309360856 -4.37977524938721 10.2042298119139 HT 1.70765878658925 -5.25563948086395 10.9305792836055 OT 3.10312847558549 7.90531987731242 5.01957481918747 HT 3.79248157174578 7.23904217862372 5.01477923686547 HT 3.20473617766521 8.29897622056852 5.94809437894761 OT 5.63267861207357 4.76583031770702 -2.78875853971106 HT 5.09390832545235 4.38984934099643 -3.50074016926036 HT 4.97187517418194 5.13654946287515 -2.22723332830514 OT 4.97521297841495 3.71486886336882 8.84623732184909 HT 5.36816655265747 3.22116087509594 8.06439627682924 HT 5.24934186352929 3.13909360795412 9.51469618774561 OT 12.3512693563935 10.4920153506556 3.00213683942455 HT 12.0997632808097 9.63771600390053 2.75685130692956 HT 13.3199497598875 10.2978011992463 2.95788367877686 protomol/examples/water_648/water648.ice.conf0100644027616700000500000000236010237151527020351 0ustar pbrenne1dipfirststep 0 numsteps 1000 posfile water648.ice.pos.xyz psffile water648.spce.psf parfile water648.spce.par temperature 260 seed 1234 outputfreq 1 allenergiesfile water648.out.ice.energy diffusionFile water648.out.ice.diffusion DCDFile water648.out.dcd finXYZPosFile water648.out.ice.fin.pos.xyz boundaryConditions periodic cellbasisvector1 18.37 0 0 cellbasisvector2 0 18.37 0 cellbasisvector3 0 0 18.37 0 cellorigin 0 0 0 cellManager Cubic cellsize 5 virialCalc yes molVirialCalc yes Integrator { level 0 NPTVerlet { timestep 1 # target temperature temperature 260.0 #K # target pressure pressure 1.0 #bar # thermostat frequency [1/fs] # NOTE: The smaller omegaTo is, the less temperature control omegaTo 0.005 # volume thermostat frequency [1/fs] # NOTE: The smaller omegaTv is, the less temperature control omegaTv 0.002 # barostat time period [fs] # NOTE: The larger tauP is, the less pressure control tauP 500.0 force Bond force Angle force LennardJones -switchingFunction C2 -algorithm NonbondedCutoff -switchon 8.0 -cutoff 10 force CoulombEwald } } protomol/examples/water_648/water648.ice.nvt.conf0100644027616700000500000000150310237151527021155 0ustar pbrenne1dipfirststep 0 numsteps 1000 posfile water648.ice.pos.xyz psffile water648.spce.psf parfile water648.spce.par temperature 260 seed 1234 outputfreq 1 allenergiesfile water648.out.ice.energy diffusionFile water648.out.ice.diffusion DCDFile water648.out.dcd finXYZPosFile water648.out.ice.fin.pos.xyz boundaryConditions periodic cellbasisvector1 19.1867 0 0 cellbasisvector2 0 19.1867 0 cellbasisvector3 0 0 19.1867 0 cellorigin 0 0 0 cellManager Cubic cellsize 5 virialCalc yes molVirialCalc yes Integrator { level 0 NPTVerlet{ timestep 1 # target temperature temperature 260.0 #K thermal 1e-2 force Bond force Angle force LennardJones -switchingFunction C2 -algorithm NonbondedCutoff -switchon 8.0 -cutoff 10 force CoulombEwald } } protomol/examples/water_648/water648.ice.pos.xyz0100644027616700000500000014273110237151527021065 0ustar pbrenne1dip648 !ProtoMol (built on Apr 19 2005 at 14:48:05) generated this XYZ file by matthey. Time : 0, step : 0. SPCO -1.2400608367014 2.28791749507208 -7.52324446230924 SPCH -0.906121474572844 1.43950736523278 -7.94726348281005 SPCH -0.483810971120429 2.76157269310895 -7.06221959897095 SPCO 8.45531137543616 -4.67950866577668 -0.673139696274695 SPCH 8.29030619197504 -5.08396606565312 -1.59743170190179 SPCH 9.16504542227222 -5.36179587642717 -0.347566605490754 SPCO 12.3941194141341 -5.2442779652824 -0.20329307729064 SPCH 11.6796208317128 -5.70126500942663 0.32949642322868 SPCH 11.9916676636526 -5.19934616213332 -1.11204510419896 SPCO 13.7515904702343 7.97560607024743 -1.40657308182166 SPCH 13.7232715385498 8.88787510525534 -1.79656593630169 SPCH 13.1031784702944 7.99919672383031 -0.607398667680751 SPCO 8.25951682852117 1.80018223179603 -4.83357239943412 SPCH 7.79338063153641 2.67126493790664 -4.85739771638092 SPCH 7.5243218011922 1.14056758326751 -4.58544414836529 SPCO 7.92773077992346 -4.32494627664084 5.74939915043506 SPCH 7.73698220485809 -5.18583278998999 6.27917535393728 SPCH 8.48243405319652 -3.72632743722575 6.33806963621283 SPCO 5.71040013874011 -2.48681357681743 -1.82892129714199 SPCH 5.65870156566362 -3.1017629065236 -0.951203580181789 SPCH 5.58635147288568 -3.14195531537141 -2.57999062490467 SPCO 3.46185675561248 -5.79732215239206 -5.94434411396833 SPCH 3.76463435556354 -6.21736698951612 -6.81520055414525 SPCH 2.8380727509547 -6.59664181724385 -5.55478409619225 SPCO 10.9609572087188 7.02230167080359 4.97300313638768 SPCH 11.6213125216577 6.35970043936552 5.42273161800221 SPCH 11.2156131232487 8.00446073835394 5.27822132866734 SPCO 0.587360972934851 6.24438223675848 -8.86011045234035 SPCH 1.41045141209214 6.76148487147206 -8.58211046602933 SPCH 0.360640084196653 6.56461958446767 -9.81046720112385 SPCO 9.73088826942528 6.61375550544335 -0.573867292951765 SPCH 9.31920882289541 7.36417731975618 -1.08513088650233 SPCH 9.95348629583779 5.86060836754133 -1.25091220566245 SPCO 5.22142702610011 -0.458912778958883 -7.34330734131734 SPCH 4.28378205291456 -0.903962079847745 -7.15742855214104 SPCH 5.13024796483609 0.30846513272432 -7.97021453403151 SPCO 2.02550144224426 11.3078116424514 0.592672770323837 SPCH 2.73830040264563 12.0713803851114 0.382029150124951 SPCH 2.53388191265031 10.527724041423 1.06485568928077 SPCO -4.26531995588519 -4.83527737670587 1.31483452612053 SPCH -4.53319008377196 -5.22547857904198 2.22277789983644 SPCH -5.11914428036387 -4.79458269820568 0.789775679417252 SPCO 1.99652975877983 0.596018627374225 -6.72189462198545 SPCH 1.56374782255463 0.629399877854646 -5.80316998060899 SPCH 2.78584335572927 1.17600326074104 -6.48058952007516 SPCO -1.85237714644398 -1.48305209832011 5.52264645500255 SPCH -2.43887507426986 -0.716273486210094 5.82290876835425 SPCH -2.13190265142004 -1.54078369488865 4.51302602697806 SPCO 7.38143855058679 8.49975268302127 -7.13678089051577 SPCH 7.35077538275184 9.21488260552763 -6.36811938881426 SPCH 8.38689691590325 8.35167152446324 -7.10137068700991 SPCO 11.1057731131321 11.5352007127067 -3.24705539349863 SPCH 10.9925452824044 12.5619785384966 -3.1180463177486 SPCH 10.7769375710027 11.014342845049 -2.43956763127458 SPCO 8.61044177756589 -5.60812435139777 -3.17192238658395 SPCH 7.98517663784153 -6.35042716850665 -3.48682457387347 SPCH 8.52654062629358 -4.80412265742081 -3.85130220895515 SPCO -2.54611406428733 -1.08857215681903 -8.01149439407758 SPCH -1.60260963273472 -0.783000078011183 -8.06629146769191 SPCH -2.56052869183978 -2.10184717756058 -8.27434659336273 SPCO 10.1666342686542 -6.56567105549925 0.450390384971122 SPCH 10.0078809398404 -6.83856484847598 1.4310558513277 SPCH 10.269012009853 -7.45888065729789 -0.0281877110700413 SPCO 7.56758883690592 8.88248960246131 9.55772923873486 SPCH 7.49523258737196 8.81058245385523 10.6277549040874 SPCH 7.94140866159794 7.95255012478527 9.32224030476237 SPCO 6.11300559490626 -3.99810886885572 0.594942357128017 SPCH 6.30439083547936 -4.20609215007515 1.56705346472071 SPCH 7.02222407874116 -4.07942552847268 0.133164728578665 SPCO 13.8056173904252 -1.20525697742116 0.988563811587595 SPCH 13.7484389053831 -1.19231309516318 1.99273207633673 SPCH 13.8728137667643 -0.306131956355692 0.555981825587893 SPCO -3.52045760577728 -1.13429501579024 -2.78969124658589 SPCH -3.66853990006647 -1.9573285913168 -3.39979815739975 SPCH -4.35126481685177 -0.60482225704803 -2.94460584738734 SPCO 8.17153063641039 0.227286966778819 11.6743092103635 SPCH 8.25319815767101 0.685783460155577 12.558458503564 SPCH 7.4246356943879 -0.424544127823665 11.7814126472983 SPCO 0.0617194937293877 0.268502332479576 10.4796450631727 SPCH 0.820846853051653 0.404821838455984 11.1604168687743 SPCH 0.61890607387716 0.452651084010452 9.6147294585737 SPCO 2.72864906571384 7.67346754304699 -8.3665159269565 SPCH 2.53942534517026 8.59667243367171 -8.82654008425774 SPCH 3.74943515957833 7.59577315522325 -8.153199296111 SPCO -2.42756583764865 -4.1963690709479 -6.47997747158492 SPCH -2.55158179374613 -3.82268426340034 -7.40312886702981 SPCH -1.52363949220924 -4.54060189376352 -6.54664833616369 SPCO -4.74278601194662 -1.70919656578654 8.72678395356694 SPCH -5.54036550907908 -1.74908281729842 9.33911015035838 SPCH -3.96545903531175 -1.72220356078988 9.39168630232805 SPCO 1.40659269954105 3.75534947124414 10.0384892705572 SPCH 1.06274416609643 3.58710149815416 9.13382337315128 SPCH 1.1418941308962 4.75013203860336 10.2456010518418 SPCO 3.47872324859194 -0.517334490184369 8.71097387042919 SPCH 3.86282663791895 0.254690241590724 9.17943990216953 SPCH 2.67711870079025 -0.0762880014044241 8.29027580188522 SPCO 5.86999080118161 -6.44476021393335 3.31325295474599 SPCH 5.53702542847832 -7.09272303140797 2.54632256599505 SPCH 6.71610777067275 -6.94359842380608 3.64681464567196 SPCO -3.30641148096358 3.69882125067082 10.8071000784345 SPCH -2.935809528189 4.61189272981404 10.8220885229289 SPCH -2.56048201562166 3.09501262206557 11.1622767637395 SPCO 0.93486805557065 -0.753006563129223 6.03288311148714 SPCH 0.025227660870981 -1.11744439343212 5.71101832926141 SPCH 1.58980904154419 -1.24021993784101 5.39864250619557 SPCO 3.03324721278089 -4.93884303863678 9.07486871900893 SPCH 3.53385952243429 -4.20131041496327 8.54491524716008 SPCH 2.05578932945663 -4.8982966128504 8.65258394569319 SPCO 0.0117110265034563 -1.3273262592086 2.51619583023906 SPCH 0.0425789431353037 -0.787494824290018 1.63374457328545 SPCH -0.994287548915665 -1.48660285828005 2.62183825317191 SPCO 5.36348991693596 6.84700159645261 -7.82017634472798 SPCH 6.16904975544928 7.46698827348438 -7.71037571313416 SPCH 5.62987228546331 6.22021411698303 -8.58338055033596 SPCO 10.375942623249 1.9341383016574 -2.58587265692434 SPCH 9.95776522462164 1.83427142685098 -3.53123531849434 SPCH 10.3316698922471 0.994655901769883 -2.13430758801308 SPCO 2.4444465894384 -8.31056347254389 9.78090958535947 SPCH 3.32085428204878 -7.80440903648684 10.0376437969109 SPCH 1.73151643292034 -7.60718581531153 10.0356521033873 SPCO -1.91730204129546 3.27734288940423 -2.63555344358824 SPCH -1.89947621916886 4.16987286842103 -2.19166962527916 SPCH -1.68873655075965 2.62030039842964 -1.8842610952197 SPCO 10.890976934843 2.49966884184433 -9.42074256401808 SPCH 10.4800521129803 1.58430358768075 -9.23877276042896 SPCH 11.75557399569 2.296405069521 -9.89610159941909 SPCO 12.0840847543518 1.23906884348174 4.13484759395209 SPCH 11.0862158945489 1.25491083650428 4.03762692441223 SPCH 12.243281181615 0.930787081871033 5.09566686883241 SPCO 0.647461375101028 0.306052993871942 -4.23799652175162 SPCH 0.84928341180228 1.06110761305853 -3.63020263235244 SPCH -0.307478682737685 0.419292722455569 -4.62213352083086 SPCO 11.4581502253018 3.28826351786287 -6.77471328050195 SPCH 12.3436046424171 2.9893198980773 -7.181002011801 SPCH 10.8874173983303 3.27413607160027 -7.60983733690835 SPCO -1.47070017904119 9.11044323373461 6.44426304702674 SPCH -1.54719377216176 10.1235941613165 6.38662451267078 SPCH -0.843849807056552 8.84823675517769 5.72376449732318 SPCO 5.61538211614507 4.25521173304456 2.02899499845519 SPCH 6.57776700111166 4.01849304758695 2.06993694134251 SPCH 5.26357691475267 3.37910661740948 1.7180613980968 SPCO -3.1656105832404 -5.65307157664321 6.51460615956799 SPCH -2.55590546228458 -6.37055560583035 6.28915522564701 SPCH -3.54136510772542 -5.38635862276028 5.59136991826249 SPCO 4.31584639341035 -0.489977606461106 -2.73581993604798 SPCH 3.51446110683985 -0.881327642330275 -3.22690590186367 SPCH 4.81360566871277 -1.31306834552131 -2.35755935116442 SPCO 10.065035802201 -7.17995298829687 3.1032116319707 SPCH 11.0033302200259 -7.32911816084789 3.28486199636619 SPCH 9.78429327426236 -6.26228636111202 3.5105463014359 SPCO 8.97637717116656 -3.87210128415184 -5.09274956383426 SPCH 9.20889751598355 -4.10512758199348 -6.11377341124105 SPCH 9.47370161060839 -3.04393581107921 -4.86093475699021 SPCO 11.0356024654666 0.984695444003495 -5.44610072764714 SPCH 11.4400132272852 1.75119605619156 -5.96157364349756 SPCH 10.0050787844772 1.15396088248967 -5.52451583850266 SPCO 12.641173976946 -1.67644746268193 -8.30941015950205 SPCH 13.168726306133 -1.29274890750782 -7.59375730278398 SPCH 11.7707077767887 -1.10096920931062 -8.39569010567585 SPCO 8.43455015232676 2.68023547501616 1.68106397343194 SPCH 9.12420331125218 3.46256304736429 1.46231605670444 SPCH 8.36097203175771 2.18568625633627 0.81036536657909 SPCO -4.47008409456087 7.10404584673556 -7.08450494129001 SPCH -4.88455359729241 6.20484741321033 -6.95379735787579 SPCH -3.42073639793556 7.01616582580766 -7.06722252584333 SPCO 11.0643091082579 -4.89699916282259 -2.74083447903908 SPCH 11.4964137945517 -4.64681672765482 -3.62897217214595 SPCH 10.0963445100998 -5.12720498496925 -2.96435504297377 SPCO 7.51566921230006 -0.156666648392986 6.14060069257585 SPCH 8.12350282797206 -0.170043837739471 5.34686525565011 SPCH 6.52933314598473 -0.431580769842298 5.8096354002768 SPCO 7.1753058720747 5.94917007000216 5.64594965063581 SPCH 7.86237758676002 5.6203810269215 4.91885809755985 SPCH 6.38120874535186 5.28149619327263 5.60481166688035 SPCO 10.3177905828465 4.61939876768681 -2.34439820912231 SPCH 10.0505927054876 4.76228485378091 -3.32150205972601 SPCH 10.3707760065105 3.58438761279863 -2.24248003374257 SPCO 7.55549831242113 -6.62516829322215 7.62445634222174 SPCH 7.28387431954411 -7.37555305931423 7.0148979021132 SPCH 7.01030046184945 -6.74589951962335 8.47733658851252 SPCO 0.858881763671895 5.59061590294102 1.40397897137151 SPCH 0.170017714162913 6.37512748037851 1.58536925269942 SPCH 1.0626443437252 5.14557694231074 2.29852497726876 SPCO 1.33218460403123 5.3434512174605 6.56444636553901 SPCH 2.26215358177751 5.48103785864018 7.07077533177229 SPCH 0.792831519945108 6.08396759248448 7.00262572287505 SPCO 2.44976687470789 -8.63373656217591 -2.22283983347031 SPCH 3.4890497666763 -8.70996361722688 -2.12778991966525 SPCH 2.10270400899169 -8.37835679934006 -1.29296635032936 SPCO -1.77893105741236 5.57230289993802 -1.37529441517416 SPCH -2.06151622408972 6.28587425082469 -2.03338989129852 SPCH -2.56896568624025 5.49824638159085 -0.716629267756619 SPCO 9.60596369827392 -0.552316913773107 7.97824932261944 SPCH 9.7203967785973 -1.52000591147232 7.75070120309117 SPCH 8.73998636653118 -0.284715412393031 7.49236014800722 SPCO 9.45595321886143 -2.86408660445528 1.3151317855669 SPCH 10.2816891429832 -2.46141100126226 0.818139594923549 SPCH 9.05957170818734 -3.3389944157514 0.507995584708565 SPCO 10.1432200121972 -7.02401860214117 7.57235477774149 SPCH 10.1010271608479 -8.00634139654612 7.86511178065428 SPCH 9.15719324191846 -6.74650336385065 7.68227548060331 SPCO 7.72029313171529 10.4074185061482 -5.33265053460775 SPCH 7.13704121465037 11.1335727581224 -4.86469293083825 SPCH 8.57993425358037 10.9031353966722 -5.664094399517 SPCO 6.83340913419382 10.0879758570279 6.80986868133241 SPCH 7.23499328915414 9.79341094884633 7.68862317830273 SPCH 7.43187575897978 9.6061522621074 6.07829163614224 SPCO 2.22668157439667 -3.89847217230178 5.73686098311394 SPCH 2.27416294114698 -3.3401829984413 4.88075619742392 SPCH 2.75882247281845 -3.4752015545063 6.50585011346672 SPCO 6.60286486406182 3.11940293604801 -2.20943194489658 SPCH 6.89059421716907 3.86670770036401 -2.83485660051704 SPCH 6.0921050529297 3.46863539755392 -1.43423170204784 SPCO 4.57828852314917 2.23351783222916 0.756117686934937 SPCH 3.86541981430113 1.83008998422969 0.169558366330981 SPCH 5.21540374584568 1.4392782087264 0.861556283995491 SPCO 5.32353050132515 4.11678776410429 5.69874579235922 SPCH 6.08760019412027 3.71659573695733 6.2671897047597 SPCH 4.66508294804647 3.28463227942451 5.69047620884737 SPCO -4.7267183149812 11.1251277757684 -6.73373106528698 SPCH -3.8205504898331 11.1741964304427 -7.26336033525342 SPCH -4.85763378364051 12.1673077794103 -6.46860956353697 SPCO -4.08168892643848 -6.30764628965976 8.995814781578 SPCH -5.02789717740621 -6.73082696177314 9.0150227641048 SPCH -3.93625294904786 -6.06466092105169 7.99678424161324 SPCO 9.59402453561503 -4.62102986963499 3.63915959133438 SPCH 8.9971472933211 -4.065914243328 4.28416904653404 SPCH 9.62506148831634 -4.18357322036966 2.75744787830806 SPCO -6.42637453066784 -3.55573708128469 -4.77437705946345 SPCH -5.62516113366573 -3.24843188737531 -4.22443187783446 SPCH -7.18417483627091 -2.896388719723 -4.83681699079804 SPCO 6.12951349946796 -0.183689942059824 1.07070522245348 SPCH 6.9463191836128 0.206225679498165 0.572350131851912 SPCH 6.41666945098149 -0.24070441632714 2.07146533794785 SPCO 7.2357816589366 -6.75375126921567 -8.26254012007688 SPCH 7.93420093444208 -6.02744053281855 -8.10336014981027 SPCH 7.30734298888842 -7.37779954246981 -7.48249488228331 SPCO 2.18426890757876 -1.99284630384226 3.96854234340032 SPCH 3.04470887268991 -2.01577856987126 3.35857864242704 SPCH 1.42774770072893 -1.78704142882504 3.31030543039321 SPCO 1.13990511531212 6.87029060718042 -4.30579421833206 SPCH 1.09817837979719 7.28741316914518 -3.38273560568111 SPCH 0.174002695575597 6.44742539181549 -4.33468683255641 SPCO 4.92924379121383 8.90096853539677 -3.82468058684165 SPCH 4.34634717206666 8.52448854114997 -4.56265867366702 SPCH 5.03015226863999 9.858400790437 -4.09165243267776 SPCO 8.9081465264225 5.36703686861546 3.72779390953793 SPCH 8.95748281399331 5.16011823934682 2.77112031614355 SPCH 9.64703258271961 6.02415904329588 3.90704049448381 SPCO 10.6634150267832 4.22601279499627 7.56393274305742 SPCH 10.630915141885 3.65996786396669 8.41318361309194 SPCH 9.99226681431502 3.85445745997073 6.85258577054838 SPCO 10.5698011747813 -0.562466751486303 -1.88732751657562 SPCH 9.64553811942856 -0.966608331486342 -1.95387911867544 SPCH 11.1386077862067 -1.05036405987759 -1.22343041040028 SPCO 5.66650996158134 1.38953544945224 -4.00831293084806 SPCH 5.30916990561796 0.635094548293742 -3.40569244250669 SPCH 6.13116990518604 2.11414988034562 -3.40830991222812 SPCO 4.19644404261754 1.97564230641476 -6.28916489949306 SPCH 4.31029001837563 2.98880652670077 -6.08698675506888 SPCH 4.67349367142003 1.5174615821257 -5.47055131943511 SPCO -2.01261359709557 6.36356763561416 11.8785114295511 SPCH -1.15214559989499 6.56612609901229 11.3954784643432 SPCH -1.72878218165797 5.85763550376836 12.6934236500763 SPCO -1.53451203325165 3.21236245928848 1.62843967817526 SPCH -0.860112848309342 3.96073617930965 1.82674768804797 SPCH -2.30259827375785 3.51623560236541 2.1047043110715 SPCO -3.73331516871464 -3.34850541523597 -4.13976001665783 SPCH -3.34932869108348 -4.05740476867122 -3.5030918808648 SPCH -3.27248575872119 -3.46223477594975 -5.03386987958767 SPCO -3.09924731537587 7.67821764945616 -2.50148373723483 SPCH -3.39517751561732 8.1270603307256 -3.32236321172024 SPCH -4.03514773020026 7.66565209390311 -2.02610445580321 SPCO 0.0666658635756538 -5.73166104671618 -2.81588391283716 SPCH 0.907760856307273 -5.18737340585172 -2.64496570571495 SPCH 0.363918102608426 -6.55560291750872 -3.29909305424915 SPCO -2.75995378750976 3.43233467298381 6.33302811077583 SPCH -3.21792481089819 4.06948819862283 5.70335858891676 SPCH -3.17047358337026 2.55478883552352 6.04147491601927 SPCO 4.16288870747679 10.0979599258487 5.79541367916778 SPCH 3.88889939984472 11.0435502223629 5.53118944029956 SPCH 5.17395206754753 10.0724273472771 5.99712656418368 SPCO -5.02170669082854 1.69867146577218 0.666422259636933 SPCH -4.03932730958197 1.73446051897377 0.442450407478369 SPCH -5.45895958669507 1.96859460613854 -0.229024041413916 SPCO -2.58172095107093 -5.05985257530452 -2.15831508158665 SPCH -3.06911033570615 -5.90447071282276 -1.879940420224 SPCH -1.61754998573252 -5.39155316228057 -2.42321498006463 SPCO 10.1674228125535 -8.90117531268132 -0.976548996207181 SPCH 9.54692873465557 -9.38502926619514 -1.6787980421407 SPCH 10.8563755360478 -9.54375065572547 -0.511340506900163 SPCO 2.87485509945764 8.41970588524402 -5.5902571831423 SPCH 2.17865355848695 7.81173641095902 -5.0709886741167 SPCH 2.78647085765161 8.16682502886257 -6.54149575698331 SPCO -5.38229050953558 -0.849367599873735 3.64123766473854 SPCH -5.79798606170918 0.0648975968619582 3.64148634519725 SPCH -5.92158625162793 -1.31976320080651 4.33732011351671 SPCO 11.4623023513725 7.55378439496359 -4.71820589186771 SPCH 12.0567986571006 8.34289869554605 -4.56004674250912 SPCH 11.1119671584452 7.24572543772051 -3.82237671282628 SPCO 0.841109883852421 3.81321829300673 -6.48686840063514 SPCH 1.6952346863171 4.07457260544862 -5.94191421598771 SPCH 1.0578886932362 3.8549564582629 -7.50729532505698 SPCO 13.4254801123566 -8.87769702625857 -2.86150955290882 SPCH 12.6983645919433 -8.23440388981004 -3.16861450252703 SPCH 13.6699827016174 -9.3261976402035 -3.7406622648228 SPCO -2.47550776522563 11.0999687997618 0.443620945156496 SPCH -3.15849430417071 11.7756395038071 0.00734433282423974 SPCH -1.76538764453494 11.725371563537 0.792300293337854 SPCO -4.97329100693303 -5.27867322128115 -6.3904409439747 SPCH -5.56567055138187 -4.68561117309026 -5.81686666417464 SPCH -4.01956486786187 -5.25046062111043 -6.09947290894259 SPCO 9.22153310088889 3.29329469001926 5.47321078488974 SPCH 9.23382364927016 3.9807899264382 4.70118135498264 SPCH 9.24734440227608 2.3900814663047 5.00184429709458 SPCO 6.6779275052104 2.77134614001093 7.49941182624832 SPCH 6.44343968229647 1.81964682394406 7.80760579136466 SPCH 7.50694863707044 2.71611125986278 6.88988550826332 SPCO 7.70405320212406 -9.27659245469974 2.58668480597361 SPCH 8.60485961123704 -8.93917165460653 2.26150036725834 SPCH 7.80478359782866 -9.80429971758691 3.42086018742269 SPCO 0.574030370128541 -4.85043298201577 0.456732538576348 SPCH -0.323056233113589 -4.34585740805782 0.256855354339387 SPCH 1.28651765475707 -4.13926311157215 0.552681333936457 SPCO 15.2410626255704 10.6964669617284 2.78825371813536 SPCH 15.6898094990547 10.9425169515019 1.89507883700094 SPCH 15.9539749485989 10.7468899161163 3.52216478875193 SPCO 5.05855894678391 -7.88406872019803 -1.08408861655471 SPCH 5.41541871883967 -8.21559533003512 -0.204826811246374 SPCH 4.53730091879896 -7.08286656136615 -0.807394782515286 SPCO -6.29284641470247 -3.42476323645283 6.90743087947818 SPCH -5.77894006338019 -2.6578871041569 7.40677553556234 SPCH -5.90700821231537 -4.30432336373658 7.23639471625333 SPCO -4.35624137908434 3.76484270598531 8.27893998305921 SPCH -3.96599660414854 3.78924600580145 9.22317312198065 SPCH -3.56283734183543 3.60862941233705 7.65160421220023 SPCO -1.65779056394307 -1.26310080174061 -0.794711136997689 SPCH -1.93515621829139 -2.09808171288856 -0.201775549588854 SPCH -2.40024254027232 -1.21905032713076 -1.51827203413896 SPCO 3.49900601488889 6.43580178254913 7.70560422936524 SPCH 3.45674696987712 7.41806538943974 7.57673727378878 SPCH 4.40629975650678 6.25873141181155 8.11222861636827 SPCO 9.90637910173248 -3.20009098829359 7.20034444941574 SPCH 10.8440813373269 -3.31598792801798 6.86584971678391 SPCH 9.70058626473283 -4.0641124924527 7.61979317986198 SPCO 6.35206844243343 -7.20102168028553 -3.67446527267431 SPCH 6.31275677549879 -7.6538810509499 -2.77626766867124 SPCH 5.87165679390759 -6.3267883444272 -3.45742133596579 SPCO 13.4573331464376 1.55746891360683 8.82984302121604 SPCH 13.9200895696696 2.27292371418173 8.30646435747558 SPCH 13.933195224118 1.64540009065058 9.73195002178464 SPCO 2.37131255866047 1.10828670033439 3.5196325942705 SPCH 1.81748532278523 1.48814220713233 2.77318426895926 SPCH 1.85884019917933 0.51217735283677 4.17299259980094 SPCO 9.67308671830796 -5.04247956190935 11.8183997998679 SPCH 10.5711107302161 -4.78969603389096 11.5092344063881 SPCH 9.87586083334732 -5.84110134741998 12.3823586731573 SPCO 10.5188480913849 -0.0943740778017556 10.4233825014935 SPCH 10.206827098184 -0.282597367973931 9.44875185552052 SPCH 9.62833092662039 -0.015027616151667 10.9783813903989 SPCO 12.0970757553292 8.16889483863685 8.76001554877426 SPCH 12.9124405045606 8.61806516168331 9.25622617223647 SPCH 12.3365486757927 7.18594944057674 8.6244406413927 SPCO -2.88208188717792 5.88531517154452 2.31116729610695 SPCH -2.06013610698342 6.54511735098175 2.29976604857603 SPCH -3.21271608665235 5.84250059425068 1.33559633230005 SPCO 8.09341699887336 8.58053254144453 4.91875771098547 SPCH 7.46381426422518 7.86185020676711 5.15502054533705 SPCH 8.9931410065652 8.15993954579235 4.96242121824432 SPCO 0.331841854739893 7.40407216213069 7.91814328335985 SPCH 1.10460410253688 8.01236985526966 7.89494576829797 SPCH -0.407614030973689 7.93826423466337 7.40828712496351 SPCO -4.16551947351242 0.00627677160586458 6.41501046238946 SPCH -5.10672894227062 0.217832016557268 6.04291031463917 SPCH -4.4699932755988 -0.616584917717982 7.1194165476799 SPCO -0.283681112275662 -7.03742276435769 1.50791139200826 SPCH 0.0574819322875412 -6.15172046784938 1.05952318694433 SPCH 0.49110775079953 -7.65849592873724 1.45545889303656 SPCO 2.29100819789138 -3.49504778525415 13.2822282173635 SPCH 2.35274391576258 -2.82659487139642 12.4891955219815 SPCH 2.82085173675117 -4.33997412856719 13.1213387365292 SPCO 5.4323979622948 10.689639293719 1.6018221536129 SPCH 6.35215306197659 10.3276323344795 1.84449052095331 SPCH 4.75997457134399 9.93663989639633 1.59888653873678 SPCO 8.62696152789633 9.13324987671026 -2.85357618373252 SPCH 8.53250575655138 9.35651980126134 -3.85589206831832 SPCH 7.82590278736332 8.54297704004972 -2.75527358226145 SPCO -2.70056593193809 -3.65588804013504 9.97192024883361 SPCH -3.28321938915539 -4.4484898349669 9.65683352641845 SPCH -2.28391229844143 -3.3405437716566 9.07003451527137 SPCO 5.91394245518717 5.51892016741006 8.86659822784665 SPCH 6.74423025270808 6.05780514178247 8.53924007099609 SPCH 6.08518530922779 4.58888790994221 8.62757722918697 SPCO 2.85139925079001 -1.66211022229936 11.3356972314362 SPCH 3.11136605856937 -1.42643935226776 10.3579516951247 SPCH 2.47642117572477 -0.808770345901138 11.7153389721758 SPCO 1.00693857277279 8.24641703130814 -2.01982800150592 SPCH 1.41213392623321 9.16472220183538 -2.22591321941064 SPCH 0.246521874270138 8.38237679900304 -1.36853115127565 SPCO 9.96324474702949 11.7781261342244 -5.86509847571427 SPCH 10.5402487177505 11.2589420923315 -6.51822061901783 SPCH 10.4540411751719 11.7486801136229 -4.96179582254349 SPCO -2.23415662750755 0.910754079462901 -4.14858375266669 SPCH -2.34165578820888 0.272707905225349 -3.39602313073959 SPCH -2.21133544512215 1.84826918387025 -3.75543892053673 SPCO 7.02805941740435 -1.48182383110977 -5.06518178292354 SPCH 6.30071274900243 -1.16337875683725 -5.66071865337757 SPCH 7.07189481094571 -2.46393577728619 -5.15851763972615 SPCO 5.6041529662203 5.49905985684656 -0.560828751229118 SPCH 5.42570621716434 5.22663744759292 0.426942048133223 SPCH 4.71375677888427 6.01467632502853 -0.68861350436749 SPCO -5.23556571922761 9.15088348389404 -5.11621182808942 SPCH -4.98057349368051 9.95687194233916 -5.72303546752274 SPCH -4.93064943747175 8.39797495760387 -5.63582465968467 SPCO 12.4912551405635 -6.69251333952471 9.37753502188566 SPCH 11.5991121912545 -6.82283092636615 9.06810980761464 SPCH 12.393481394993 -5.7961037228672 9.84075308686543 SPCO 0.345457839569923 -7.38940816177082 4.24482242923529 SPCH -0.053818859091837 -7.19459404444929 3.30423270044225 SPCH 1.31606344077215 -7.20368475711512 4.21044909569348 SPCO -7.02297996232383 -4.50814003830354 -7.90897387760898 SPCH -6.15844700196353 -4.9104356979839 -7.42720501014672 SPCH -6.89141380895484 -3.50887723778947 -8.00391094221759 SPCO 2.59277755931937 9.0911629261923 7.91858019554077 SPCH 2.57747112887935 9.66887152970292 8.68468742026736 SPCH 2.99847687219116 9.64083371070283 7.18160191204907 SPCO -4.67895565844626 4.10788394017369 -2.14713194760055 SPCH -5.42727579184429 3.47186743849073 -2.34782863805811 SPCH -3.76942372359925 3.59673343086916 -2.38035624330083 SPCO 4.85902619406792 -0.559478286442402 5.24394390042704 SPCH 4.54285712840048 0.434864658199138 5.42010121795435 SPCH 4.18864455860727 -0.959075732927678 4.62927254586354 SPCO -2.32101805441471 -8.03856866821615 -8.77157741732722 SPCH -1.45496206498219 -7.54967537860593 -8.56941660016949 SPCH -2.78947988367186 -7.33314884913196 -9.3399549657041 SPCO -5.74176318592188 0.151674259777008 -4.13623601667228 SPCH -6.56546971355887 0.590226279206715 -4.5848381903415 SPCH -5.14112597957276 -0.093523924806889 -4.93836725565481 SPCO 12.3179869295844 -6.99384154673411 5.57035062197227 SPCH 11.4980920294278 -6.77271981424579 6.08965918754111 SPCH 12.3947628910052 -7.99151164674789 5.75043093195764 SPCO -2.2617988730356 1.61982629959271 -0.447986539608872 SPCH -1.81261562708088 0.721308146259824 -0.408805990763534 SPCH -1.94693210863171 2.25389713996725 0.258983807539504 SPCO 3.2746167497301 9.12871763018653 1.33580367284892 SPCH 3.39886752721465 8.34708094562965 0.685774163669396 SPCH 3.10482988321186 8.69706066842588 2.20525575328658 SPCO 8.29856950996724 6.39862236583177 8.26111583066504 SPCH 8.1045892926353 6.40915894071726 7.33378160970615 SPCH 8.96728344980347 5.68833756755069 8.35498476802731 SPCO 14.1602668609614 -6.14547672017107 3.81121216003535 SPCH 13.4677680280146 -6.36043788780171 4.61139502144774 SPCH 14.4496999432079 -7.0605124408482 3.47375308193289 SPCO 0.693545279975891 -4.96066743803191 7.90033079626813 SPCH -0.101204078776523 -4.3275243479474 7.90752769915271 SPCH 1.16096424352916 -4.70878637268753 7.07756552845326 SPCO 7.16178547868153 4.75589995277401 -4.50377174283571 SPCH 6.81099942257555 5.66014241744623 -4.1673830640325 SPCH 8.13253211790209 5.00430283066118 -4.76446090550428 SPCO 10.4243172212812 -1.58978333705663 -4.68632148377326 SPCH 10.8045616823911 -1.52711703820827 -3.74267849751563 SPCH 10.4362353880338 -0.631070129677197 -5.03097725508264 SPCO 11.6265088262854 -2.38262206741544 0.0929270896352851 SPCH 11.9820309640129 -3.37985918638501 0.0761652349675233 SPCH 12.402099023935 -1.82689771439644 0.449513655622564 SPCO -4.08083861629551 0.207618157184003 -6.24193038320757 SPCH -3.29839073581828 0.365781354981023 -5.69389927817078 SPCH -3.55034150642782 -0.128697828139205 -7.08172159237926 SPCO 4.3654380675066 -1.96165201858636 2.45803646818919 SPCH 4.90000059927657 -1.29802169124553 1.96114603926657 SPCH 5.09266751516524 -2.54715394800501 2.88867507795558 SPCO -1.33659771603861 9.00237838305854 -0.659006156927486 SPCH -1.78783776155682 9.8817515001831 -0.253641632555314 SPCH -2.08125429074452 8.56089420076294 -1.17248273433225 SPCO 3.9534986641482 5.77413392295556 3.81671148298041 SPCH 4.51803689246963 5.39938451438402 3.04081549633185 SPCH 4.39248383729927 5.3554744198194 4.65848938332541 SPCO 7.8699462871932 1.2195594780235 -0.474633742042499 SPCH 8.40067754806648 0.569379229315837 -0.983810620378327 SPCH 7.62516606923849 1.97336154707632 -1.10468542917932 SPCO 12.8493405488719 5.55642983222014 8.29214269156913 SPCH 12.0892871971648 4.95524021120716 7.9539132381096 SPCH 13.684203061387 4.88796897437352 8.3039375622058 SPCO -0.359083346233196 3.13086684494377 7.59118621625301 SPCH 0.0616867311654742 4.0210857608811 7.27017167037154 SPCH -1.27949116457192 3.165945472395 7.16228063205781 SPCO -6.60884511502953 9.46495646731401 6.24391325790177 SPCH -6.76029954017466 9.0459690377853 7.1960120651454 SPCH -6.19407330760335 8.71461431604706 5.69291258433351 SPCO -4.4060462538831 5.00532128655354 4.53574867987771 SPCH -4.92179730681997 4.2648982393274 3.99322918115359 SPCH -3.72894166296131 5.38165990654088 3.83812359988165 SPCO 0.0843156635180361 -4.89881178034484 -6.59102539951565 SPCH 0.690252941562597 -4.17958158250858 -6.19836153724212 SPCH 0.421279272969312 -5.76594761905242 -6.25687225166685 SPCO -4.80259026406357 8.79501356649241 10.0260231558948 SPCH -4.57894836762549 8.06490536855886 10.6995011020273 SPCH -3.93720240750958 9.30139317750444 10.067298208562 SPCO 2.67152383736583 -2.96325539722498 0.620790067598087 SPCH 1.90432721302586 -2.23209213629853 0.608619650610479 SPCH 3.43497377621455 -2.48881383377241 1.12219793274201 SPCO 8.01924719558377 -1.31166914280624 -2.24037265754303 SPCH 7.14930259102516 -1.69391970972179 -1.82257469122153 SPCH 7.77214391680624 -1.23812271652312 -3.23580999186127 SPCO 0.486765015268587 -6.44101658181992 10.3113676699635 SPCH 0.281116278120298 -5.7463821704174 11.0423509307431 SPCH 0.499956027836892 -5.89690458132529 9.44637995686718 SPCO 2.54485716317318 4.47412401478245 -4.42129842631848 SPCH 2.02849931008642 5.35133915127132 -4.43169422322232 SPCH 3.43289645488692 4.68926410708012 -4.86483377643829 SPCO 8.01519295958261 -1.38931023261217 3.34389169941371 SPCH 8.51346171954913 -1.98890739534496 2.66256571323366 SPCH 7.28482722766145 -1.93280642791081 3.72304322112935 SPCO -5.44543652081378 2.1547161859008 -7.52988908057389 SPCH -4.69432159903855 2.76301948210873 -7.88396346998181 SPCH -4.94544213096018 1.43137266716228 -6.99356253189988 SPCO 3.93494244248974 -2.82348577918889 7.41483440809349 SPCH 4.50312938492412 -2.45449505892508 6.67211505808121 SPCH 3.79985472064913 -1.97250820929163 7.95057458597875 SPCO -1.1808037017672 -7.40233119323113 6.38072557018609 SPCH -0.735193395753371 -6.94460208125629 7.18296274201285 SPCH -0.625492993404562 -7.3611713402525 5.52885041500054 SPCO 4.54877066704437 -5.23261582049635 -3.42471240539984 SPCH 4.20247643712016 -5.41378294615667 -4.40971603018798 SPCH 3.81480321927869 -4.75856701035928 -2.9574158171768 SPCO 9.27718012734538 1.09163358538807 3.7518956653187 SPCH 8.79432847237058 0.146258197759314 3.50168774093615 SPCH 8.97476326854924 1.69854417558077 2.93380000647683 SPCO 3.82981004666256 -5.6016135291171 0.00328982768545893 SPCH 4.77372431148738 -5.14262038858113 0.0868991911651242 SPCH 3.27606412060553 -4.81097330686711 0.0433903851318085 SPCO 10.007114718807 4.9154233343038 1.31007348607703 SPCH 9.83915338324787 5.55116641551752 0.509347915022497 SPCH 10.8696970745559 5.27454370626373 1.6775404956985 SPCO -0.933218811057105 5.22095929744978 -4.88068036121981 SPCH -1.36654715639652 4.73759676434265 -4.12178317127537 SPCH -0.34082670572909 4.56378095406175 -5.35139161703426 SPCO 1.0673340267855 -0.935716622940191 -0.00991167883608816 SPCH 0.1394266958229 -0.979460382918129 -0.482059133354453 SPCH 1.6918570463422 -0.249490646233242 -0.453717418766377 SPCO 1.57324141009304 4.64513067963592 3.73940392928282 SPCH 2.60250532952092 4.7639775689211 3.66234142124131 SPCH 1.38277661706163 4.89648159469889 4.69215762159047 SPCO 13.6524951562897 8.60328370404952 2.69547184604367 SPCH 13.5014638265277 8.35078353589923 3.64955549580325 SPCH 14.343497980414 9.40146292207864 2.68181130761384 SPCO 12.4176549050795 5.9584219751823 2.08969337634681 SPCH 12.7873651325062 4.98382509850019 2.14830572972224 SPCH 12.9419569387874 6.56390318859998 2.70340718078269 SPCO 2.99421263031551 -6.45962300433714 4.79436675230647 SPCH 3.64840616419191 -6.19532546780975 4.10143675692392 SPCH 2.5284566976846 -5.61937072953029 5.18119988291553 SPCO 13.2561646078465 3.26048434161792 2.77585022433482 SPCH 13.7152122305426 2.69786376183245 2.0424365611719 SPCH 12.8085196811006 2.48090289903827 3.35555836966525 SPCO 11.5730485863865 10.0517872547596 -7.89592046225437 SPCH 11.6200501053955 10.1784653744237 -8.94303228435626 SPCH 12.5258038550035 10.0048983071334 -7.52492765389279 SPCO 2.24687759511031 -3.92017228783147 -2.52880707134049 SPCH 2.14327577261675 -3.21597119305279 -3.22560814587052 SPCH 2.15727358877247 -3.51929675283798 -1.60227970423741 SPCO -0.705227724790124 7.58326729680314 1.75595025588809 SPCH -0.960390664195851 8.1616883744375 0.953307042070595 SPCH -0.318147205614253 8.1727065067641 2.50047857298038 SPCO 12.201046045334 0.345695500954774 6.71556401011085 SPCH 11.3098408533476 0.230460567062019 7.1240540256097 SPCH 12.7188900446511 0.694143177817625 7.55297911581021 SPCO 0.106301407776317 9.04858667904087 3.7073150722196 SPCH -0.0136148756442858 10.0422131037975 3.70312576477371 SPCH 1.10986132226891 8.86990832201458 3.84133819874775 SPCO -2.56726740661649 -1.79197908960133 2.98760694452244 SPCH -2.67728388741742 -2.34572982496167 2.14867886811106 SPCH -3.53875727934259 -1.64929632331662 3.2979907089273 SPCO -1.59356289772654 -3.56843640800397 7.57298186336191 SPCH -2.27258213874202 -4.28684832589071 7.22266745686353 SPCH -1.65727565651214 -2.78550714198281 6.88696052501671 SPCO 3.3462666783103 2.18730887614487 5.63985519171687 SPCH 3.16887085148969 1.94102933529952 4.61191091074962 SPCH 2.44320718288775 2.50022152668153 6.05985344515513 SPCO -3.85360616346839 8.42562680001203 7.4120730337394 SPCH -4.03210328273267 8.63925914662063 8.43319203445909 SPCH -2.92390022588778 8.82530497063244 7.10242757665521 SPCO 13.0650553500935 1.55439782684344 -1.90208192533115 SPCH 13.2227727136482 0.938987681107969 -2.68903472402089 SPCH 12.0918174202374 1.76796639194849 -1.93852160391977 SPCO 0.673604887666532 4.54099702395373 -1.02964490966791 SPCH 0.889244390261466 4.90003522244127 -0.0884642149881415 SPCH -0.218622297030003 4.92329253388316 -1.23956414150545 SPCO 2.87920075989602 6.86180640807141 -0.423640715610588 SPCH 2.35289070164166 6.18449653441337 0.0962003996011793 SPCH 2.30595616824455 7.37651232178878 -1.10132787992941 SPCO 9.94080933405347 5.09856760843862 -4.99591551815361 SPCH 10.3972162803911 6.01441191277531 -5.11689967377609 SPCH 10.3673937126948 4.49125864997269 -5.7260671034543 SPCO 1.38522943283517 0.918192229876422 8.02114338672568 SPCH 0.675706269187265 1.62396223050153 7.92455850020383 SPCH 1.2333143138641 0.332736965683191 7.16460257009019 SPCO 6.6377378750394 7.17738869130334 -2.66957317685858 SPCH 5.83074022504978 7.65688643142988 -3.1443637716952 SPCH 6.36806732924705 6.78043786455028 -1.77472849811249 SPCO -5.17627526917639 7.49406686783968 5.28201261200548 SPCH -4.62516795071405 7.78763586733347 6.0832647362226 SPCH -4.95535689129928 6.47483645737616 5.214398791154 SPCO 2.39535578161392 -1.74973263753599 -3.99976197263758 SPCH 2.44870535776428 -2.47402251499534 -4.77725774176743 SPCH 1.60160913625491 -1.1003736190261 -4.12161014853791 SPCO -2.15640418182269 -3.60152763603487 0.364433796229536 SPCH -2.1657471807023 -4.01233119793345 -0.550195516121564 SPCH -2.89033807851057 -4.14491951596386 0.841755655878684 SPCO 5.93966776515431 -3.751787212111 3.76051428790127 SPCH 5.75079374925283 -4.75301412512694 3.59067669405584 SPCH 6.3775118324443 -3.85409475828347 4.69157573640509 SPCO 14.6981473088844 -7.06041256104804 -1.11450369671882 SPCH 13.902499353624 -6.56507301430154 -0.832753372451083 SPCH 14.2913318576441 -7.81625399364221 -1.62386176723744 SPCO -4.13522241549602 5.85601899118379 -0.214994205908523 SPCH -4.88612623982859 6.51983565954568 -0.277363140539675 SPCH -4.3033111646823 5.26116756110188 -1.0393259718322 SPCO 9.99499503209606 8.05604372690457 -6.99866210460053 SPCH 10.3527549833776 7.79901732154433 -6.09445507414019 SPCH 10.7079724052245 8.71478849072559 -7.40922962349399 SPCO 2.77680467270159 0.853908812101622 -0.947519753199216 SPCH 2.2360065368643 1.44999750211766 -1.49143284380627 SPCH 3.4654183887555 0.300902412270579 -1.58148349362089 SPCO 9.92843247567358 9.77530420726645 8.44110483149856 SPCH 9.30317960749251 9.806438211275 9.23979827548773 SPCH 10.4421315172132 8.88240889510327 8.55318179036729 SPCO 2.31420231283915 -8.08557329767624 -5.06489592742882 SPCH 2.50189502682082 -8.30804997059989 -4.08453379656183 SPCH 2.6104416834646 -8.90619753037664 -5.57323568621039 SPCO 4.82013171370852 4.69259666972091 -5.84564828770277 SPCH 4.87420153097112 5.17925147757875 -6.69133546202937 SPCH 5.72666135634216 4.68536175900769 -5.47023850441912 SPCO 4.26271112401367 -6.55358328476615 10.8007834161656 SPCH 3.85023868800886 -5.84927771213434 10.1631508748278 SPCH 5.22147446233808 -6.56529264714765 10.6260984036692 SPCO 2.8788528443661 8.42525881865412 3.9015237115424 SPCH 3.11693669949564 7.41621965760369 3.84837679609339 SPCH 3.41134481969662 8.89249107607434 4.69846178174403 SPCO 1.2584439617511 2.48988606216837 -2.7566647003364 SPCH 1.86209073893251 3.03793375893313 -3.37277206554952 SPCH 0.828919526167676 3.19073889264177 -2.15102961781183 SPCO 3.99995304401619 1.81540706930452 10.1264541910333 SPCH 4.1926338816493 1.9489162423567 11.0911016230421 SPCH 3.3102535047813 2.50452710574769 9.93147246722862 SPCO 11.9716733410192 8.41759781171671 0.515506978304652 SPCH 11.400789224733 7.67081951159862 0.850476289701776 SPCH 12.5979864698729 8.66707428772263 1.31626314845807 protomol/examples/water_648/water648.spce.par0100644027616700000500000000370610237151527020405 0ustar pbrenne1dip*>>>> CHARMM22 Parameter File for Water <<<<<<<<<<<<<<<< *>>>>>>>>>>>>>>>>>>>>>>> Sept. 2004 <<<<<<<<<<<<<<<<<<<< *>>>>>>>>>>>>>> Prepared by T. I. Morrow <<<<<<<<<<<<<<< ! REMARKS ! BONDS ! !V(bond) = Kb(b - b0)**2 ! !Kb: kcal/mole/A**2 !b0: A ! !atom type Kb b0 ! SPCH SPCO 545.00 1.000 ! SPC/E rigid water HT OT 545.00 1.000 ! Protomol example water !SPCH SPCH 0.00 1.630 ! ANGLES ! !V(angle) = Ktheta(Theta - Theta0)**2 ! !V(Urey-Bradley) = Kub(S - S0)**2 ! !Ktheta: kcal/mole/rad**2 !Theta0: degrees !Kub: kcal/mole/A**2 (Urey-Bradley) !S0: A ! !atom types Ktheta Theta0 Kub S0 ! !-- Water models SPCH SPCO SPCH 55.0 109.47 ! SPC/E rigid water HT OT HT 55.0 109.47 ! protomol example water DIHEDRALS ! !V(dihedral) = Kchi(1 + cos(n(chi) - delta)) ! !Kchi: kcal/mole !n: multiplicity !delta: degrees ! !atom types Kchi n delta IMPROPER ! !V(improper) = Kpsi(psi - psi0)**2 ! !Kpsi: kcal/mole/rad**2 !psi0: degrees !note that the second column of numbers (0) is ignored ! !atom types Kpsi psi0 NONBONDED nbxmod 5 atom cdiel shift vatom vdistance vswitch - cutnb 14.0 ctofnb 12.0 ctonnb 10.0 eps 1.0 e14fac 1.0 wmin 1.5 !adm jr., 5/08/91, suggested cutoff scheme ! !V(Lennard-Jones) = Eps,i,j[(Rmin,i,j/ri,j)**12 - 2(Rmin,i,j/ri,j)**6] ! !epsilon: kcal/mole, Eps,i,j = sqrt(eps,i * eps,j) !Rmin/2: A, Rmin,i,j = Rmin/2,i + Rmin/2,j ! !atom ignored epsilon Rmin/2 ignored eps,1-4 Rmin/2,1-4 ! !-- Water SPCO 0.0 -0.15525 1.774 ! SPC/E Oxygen SPCH 0.0 -0.00000 1.000 ! SPC/E Hydrogen OT 0.0 -0.15525 1.774 ! protomol example water HT 0.0 -0.0000 1.000 ! protomol example water HBOND CUTHB 0.5 ! If you want to do hbond analysis (only), then use ! READ PARAM APPEND CARD ! to append hbond parameters from the file: par_hbond.inp END protomol/examples/water_648/water648.spce.psf0100644027616700000500000016416710237151527020424 0ustar pbrenne1dipPSF 2 !NTITLE REMARKS Filename= FinalSPCF.PSF REMARKS Molecular structure file for 216 molecules. 648 !NATOM 1 WATR 1 H2O O1 SPCO -0.847600 15.9994 0 2 WATR 1 H2O H1 SPCH 0.423800 1.0080 0 3 WATR 1 H2O H2 SPCH 0.423800 1.0080 0 4 WATR 2 H2O O1 SPCO -0.847600 15.9994 0 5 WATR 2 H2O H1 SPCH 0.423800 1.0080 0 6 WATR 2 H2O H2 SPCH 0.423800 1.0080 0 7 WATR 3 H2O O1 SPCO -0.847600 15.9994 0 8 WATR 3 H2O H1 SPCH 0.423800 1.0080 0 9 WATR 3 H2O H2 SPCH 0.423800 1.0080 0 10 WATR 4 H2O O1 SPCO -0.847600 15.9994 0 11 WATR 4 H2O H1 SPCH 0.423800 1.0080 0 12 WATR 4 H2O H2 SPCH 0.423800 1.0080 0 13 WATR 5 H2O O1 SPCO -0.847600 15.9994 0 14 WATR 5 H2O H1 SPCH 0.423800 1.0080 0 15 WATR 5 H2O H2 SPCH 0.423800 1.0080 0 16 WATR 6 H2O O1 SPCO -0.847600 15.9994 0 17 WATR 6 H2O H1 SPCH 0.423800 1.0080 0 18 WATR 6 H2O H2 SPCH 0.423800 1.0080 0 19 WATR 7 H2O O1 SPCO -0.847600 15.9994 0 20 WATR 7 H2O H1 SPCH 0.423800 1.0080 0 21 WATR 7 H2O H2 SPCH 0.423800 1.0080 0 22 WATR 8 H2O O1 SPCO -0.847600 15.9994 0 23 WATR 8 H2O H1 SPCH 0.423800 1.0080 0 24 WATR 8 H2O H2 SPCH 0.423800 1.0080 0 25 WATR 9 H2O O1 SPCO -0.847600 15.9994 0 26 WATR 9 H2O H1 SPCH 0.423800 1.0080 0 27 WATR 9 H2O H2 SPCH 0.423800 1.0080 0 28 WATR 10 H2O O1 SPCO -0.847600 15.9994 0 29 WATR 10 H2O H1 SPCH 0.423800 1.0080 0 30 WATR 10 H2O H2 SPCH 0.423800 1.0080 0 31 WATR 11 H2O O1 SPCO -0.847600 15.9994 0 32 WATR 11 H2O H1 SPCH 0.423800 1.0080 0 33 WATR 11 H2O H2 SPCH 0.423800 1.0080 0 34 WATR 12 H2O O1 SPCO -0.847600 15.9994 0 35 WATR 12 H2O H1 SPCH 0.423800 1.0080 0 36 WATR 12 H2O H2 SPCH 0.423800 1.0080 0 37 WATR 13 H2O O1 SPCO -0.847600 15.9994 0 38 WATR 13 H2O H1 SPCH 0.423800 1.0080 0 39 WATR 13 H2O H2 SPCH 0.423800 1.0080 0 40 WATR 14 H2O O1 SPCO -0.847600 15.9994 0 41 WATR 14 H2O H1 SPCH 0.423800 1.0080 0 42 WATR 14 H2O H2 SPCH 0.423800 1.0080 0 43 WATR 15 H2O O1 SPCO -0.847600 15.9994 0 44 WATR 15 H2O H1 SPCH 0.423800 1.0080 0 45 WATR 15 H2O H2 SPCH 0.423800 1.0080 0 46 WATR 16 H2O O1 SPCO -0.847600 15.9994 0 47 WATR 16 H2O H1 SPCH 0.423800 1.0080 0 48 WATR 16 H2O H2 SPCH 0.423800 1.0080 0 49 WATR 17 H2O O1 SPCO -0.847600 15.9994 0 50 WATR 17 H2O H1 SPCH 0.423800 1.0080 0 51 WATR 17 H2O H2 SPCH 0.423800 1.0080 0 52 WATR 18 H2O O1 SPCO -0.847600 15.9994 0 53 WATR 18 H2O H1 SPCH 0.423800 1.0080 0 54 WATR 18 H2O H2 SPCH 0.423800 1.0080 0 55 WATR 19 H2O O1 SPCO -0.847600 15.9994 0 56 WATR 19 H2O H1 SPCH 0.423800 1.0080 0 57 WATR 19 H2O H2 SPCH 0.423800 1.0080 0 58 WATR 20 H2O O1 SPCO -0.847600 15.9994 0 59 WATR 20 H2O H1 SPCH 0.423800 1.0080 0 60 WATR 20 H2O H2 SPCH 0.423800 1.0080 0 61 WATR 21 H2O O1 SPCO -0.847600 15.9994 0 62 WATR 21 H2O H1 SPCH 0.423800 1.0080 0 63 WATR 21 H2O H2 SPCH 0.423800 1.0080 0 64 WATR 22 H2O O1 SPCO -0.847600 15.9994 0 65 WATR 22 H2O H1 SPCH 0.423800 1.0080 0 66 WATR 22 H2O H2 SPCH 0.423800 1.0080 0 67 WATR 23 H2O O1 SPCO -0.847600 15.9994 0 68 WATR 23 H2O H1 SPCH 0.423800 1.0080 0 69 WATR 23 H2O H2 SPCH 0.423800 1.0080 0 70 WATR 24 H2O O1 SPCO -0.847600 15.9994 0 71 WATR 24 H2O H1 SPCH 0.423800 1.0080 0 72 WATR 24 H2O H2 SPCH 0.423800 1.0080 0 73 WATR 25 H2O O1 SPCO -0.847600 15.9994 0 74 WATR 25 H2O H1 SPCH 0.423800 1.0080 0 75 WATR 25 H2O H2 SPCH 0.423800 1.0080 0 76 WATR 26 H2O O1 SPCO -0.847600 15.9994 0 77 WATR 26 H2O H1 SPCH 0.423800 1.0080 0 78 WATR 26 H2O H2 SPCH 0.423800 1.0080 0 79 WATR 27 H2O O1 SPCO -0.847600 15.9994 0 80 WATR 27 H2O H1 SPCH 0.423800 1.0080 0 81 WATR 27 H2O H2 SPCH 0.423800 1.0080 0 82 WATR 28 H2O O1 SPCO -0.847600 15.9994 0 83 WATR 28 H2O H1 SPCH 0.423800 1.0080 0 84 WATR 28 H2O H2 SPCH 0.423800 1.0080 0 85 WATR 29 H2O O1 SPCO -0.847600 15.9994 0 86 WATR 29 H2O H1 SPCH 0.423800 1.0080 0 87 WATR 29 H2O H2 SPCH 0.423800 1.0080 0 88 WATR 30 H2O O1 SPCO -0.847600 15.9994 0 89 WATR 30 H2O H1 SPCH 0.423800 1.0080 0 90 WATR 30 H2O H2 SPCH 0.423800 1.0080 0 91 WATR 31 H2O O1 SPCO -0.847600 15.9994 0 92 WATR 31 H2O H1 SPCH 0.423800 1.0080 0 93 WATR 31 H2O H2 SPCH 0.423800 1.0080 0 94 WATR 32 H2O O1 SPCO -0.847600 15.9994 0 95 WATR 32 H2O H1 SPCH 0.423800 1.0080 0 96 WATR 32 H2O H2 SPCH 0.423800 1.0080 0 97 WATR 33 H2O O1 SPCO -0.847600 15.9994 0 98 WATR 33 H2O H1 SPCH 0.423800 1.0080 0 99 WATR 33 H2O H2 SPCH 0.423800 1.0080 0 100 WATR 34 H2O O1 SPCO -0.847600 15.9994 0 101 WATR 34 H2O H1 SPCH 0.423800 1.0080 0 102 WATR 34 H2O H2 SPCH 0.423800 1.0080 0 103 WATR 35 H2O O1 SPCO -0.847600 15.9994 0 104 WATR 35 H2O H1 SPCH 0.423800 1.0080 0 105 WATR 35 H2O H2 SPCH 0.423800 1.0080 0 106 WATR 36 H2O O1 SPCO -0.847600 15.9994 0 107 WATR 36 H2O H1 SPCH 0.423800 1.0080 0 108 WATR 36 H2O H2 SPCH 0.423800 1.0080 0 109 WATR 37 H2O O1 SPCO -0.847600 15.9994 0 110 WATR 37 H2O H1 SPCH 0.423800 1.0080 0 111 WATR 37 H2O H2 SPCH 0.423800 1.0080 0 112 WATR 38 H2O O1 SPCO -0.847600 15.9994 0 113 WATR 38 H2O H1 SPCH 0.423800 1.0080 0 114 WATR 38 H2O H2 SPCH 0.423800 1.0080 0 115 WATR 39 H2O O1 SPCO -0.847600 15.9994 0 116 WATR 39 H2O H1 SPCH 0.423800 1.0080 0 117 WATR 39 H2O H2 SPCH 0.423800 1.0080 0 118 WATR 40 H2O O1 SPCO -0.847600 15.9994 0 119 WATR 40 H2O H1 SPCH 0.423800 1.0080 0 120 WATR 40 H2O H2 SPCH 0.423800 1.0080 0 121 WATR 41 H2O O1 SPCO -0.847600 15.9994 0 122 WATR 41 H2O H1 SPCH 0.423800 1.0080 0 123 WATR 41 H2O H2 SPCH 0.423800 1.0080 0 124 WATR 42 H2O O1 SPCO -0.847600 15.9994 0 125 WATR 42 H2O H1 SPCH 0.423800 1.0080 0 126 WATR 42 H2O H2 SPCH 0.423800 1.0080 0 127 WATR 43 H2O O1 SPCO -0.847600 15.9994 0 128 WATR 43 H2O H1 SPCH 0.423800 1.0080 0 129 WATR 43 H2O H2 SPCH 0.423800 1.0080 0 130 WATR 44 H2O O1 SPCO -0.847600 15.9994 0 131 WATR 44 H2O H1 SPCH 0.423800 1.0080 0 132 WATR 44 H2O H2 SPCH 0.423800 1.0080 0 133 WATR 45 H2O O1 SPCO -0.847600 15.9994 0 134 WATR 45 H2O H1 SPCH 0.423800 1.0080 0 135 WATR 45 H2O H2 SPCH 0.423800 1.0080 0 136 WATR 46 H2O O1 SPCO -0.847600 15.9994 0 137 WATR 46 H2O H1 SPCH 0.423800 1.0080 0 138 WATR 46 H2O H2 SPCH 0.423800 1.0080 0 139 WATR 47 H2O O1 SPCO -0.847600 15.9994 0 140 WATR 47 H2O H1 SPCH 0.423800 1.0080 0 141 WATR 47 H2O H2 SPCH 0.423800 1.0080 0 142 WATR 48 H2O O1 SPCO -0.847600 15.9994 0 143 WATR 48 H2O H1 SPCH 0.423800 1.0080 0 144 WATR 48 H2O H2 SPCH 0.423800 1.0080 0 145 WATR 49 H2O O1 SPCO -0.847600 15.9994 0 146 WATR 49 H2O H1 SPCH 0.423800 1.0080 0 147 WATR 49 H2O H2 SPCH 0.423800 1.0080 0 148 WATR 50 H2O O1 SPCO -0.847600 15.9994 0 149 WATR 50 H2O H1 SPCH 0.423800 1.0080 0 150 WATR 50 H2O H2 SPCH 0.423800 1.0080 0 151 WATR 51 H2O O1 SPCO -0.847600 15.9994 0 152 WATR 51 H2O H1 SPCH 0.423800 1.0080 0 153 WATR 51 H2O H2 SPCH 0.423800 1.0080 0 154 WATR 52 H2O O1 SPCO -0.847600 15.9994 0 155 WATR 52 H2O H1 SPCH 0.423800 1.0080 0 156 WATR 52 H2O H2 SPCH 0.423800 1.0080 0 157 WATR 53 H2O O1 SPCO -0.847600 15.9994 0 158 WATR 53 H2O H1 SPCH 0.423800 1.0080 0 159 WATR 53 H2O H2 SPCH 0.423800 1.0080 0 160 WATR 54 H2O O1 SPCO -0.847600 15.9994 0 161 WATR 54 H2O H1 SPCH 0.423800 1.0080 0 162 WATR 54 H2O H2 SPCH 0.423800 1.0080 0 163 WATR 55 H2O O1 SPCO -0.847600 15.9994 0 164 WATR 55 H2O H1 SPCH 0.423800 1.0080 0 165 WATR 55 H2O H2 SPCH 0.423800 1.0080 0 166 WATR 56 H2O O1 SPCO -0.847600 15.9994 0 167 WATR 56 H2O H1 SPCH 0.423800 1.0080 0 168 WATR 56 H2O H2 SPCH 0.423800 1.0080 0 169 WATR 57 H2O O1 SPCO -0.847600 15.9994 0 170 WATR 57 H2O H1 SPCH 0.423800 1.0080 0 171 WATR 57 H2O H2 SPCH 0.423800 1.0080 0 172 WATR 58 H2O O1 SPCO -0.847600 15.9994 0 173 WATR 58 H2O H1 SPCH 0.423800 1.0080 0 174 WATR 58 H2O H2 SPCH 0.423800 1.0080 0 175 WATR 59 H2O O1 SPCO -0.847600 15.9994 0 176 WATR 59 H2O H1 SPCH 0.423800 1.0080 0 177 WATR 59 H2O H2 SPCH 0.423800 1.0080 0 178 WATR 60 H2O O1 SPCO -0.847600 15.9994 0 179 WATR 60 H2O H1 SPCH 0.423800 1.0080 0 180 WATR 60 H2O H2 SPCH 0.423800 1.0080 0 181 WATR 61 H2O O1 SPCO -0.847600 15.9994 0 182 WATR 61 H2O H1 SPCH 0.423800 1.0080 0 183 WATR 61 H2O H2 SPCH 0.423800 1.0080 0 184 WATR 62 H2O O1 SPCO -0.847600 15.9994 0 185 WATR 62 H2O H1 SPCH 0.423800 1.0080 0 186 WATR 62 H2O H2 SPCH 0.423800 1.0080 0 187 WATR 63 H2O O1 SPCO -0.847600 15.9994 0 188 WATR 63 H2O H1 SPCH 0.423800 1.0080 0 189 WATR 63 H2O H2 SPCH 0.423800 1.0080 0 190 WATR 64 H2O O1 SPCO -0.847600 15.9994 0 191 WATR 64 H2O H1 SPCH 0.423800 1.0080 0 192 WATR 64 H2O H2 SPCH 0.423800 1.0080 0 193 WATR 65 H2O O1 SPCO -0.847600 15.9994 0 194 WATR 65 H2O H1 SPCH 0.423800 1.0080 0 195 WATR 65 H2O H2 SPCH 0.423800 1.0080 0 196 WATR 66 H2O O1 SPCO -0.847600 15.9994 0 197 WATR 66 H2O H1 SPCH 0.423800 1.0080 0 198 WATR 66 H2O H2 SPCH 0.423800 1.0080 0 199 WATR 67 H2O O1 SPCO -0.847600 15.9994 0 200 WATR 67 H2O H1 SPCH 0.423800 1.0080 0 201 WATR 67 H2O H2 SPCH 0.423800 1.0080 0 202 WATR 68 H2O O1 SPCO -0.847600 15.9994 0 203 WATR 68 H2O H1 SPCH 0.423800 1.0080 0 204 WATR 68 H2O H2 SPCH 0.423800 1.0080 0 205 WATR 69 H2O O1 SPCO -0.847600 15.9994 0 206 WATR 69 H2O H1 SPCH 0.423800 1.0080 0 207 WATR 69 H2O H2 SPCH 0.423800 1.0080 0 208 WATR 70 H2O O1 SPCO -0.847600 15.9994 0 209 WATR 70 H2O H1 SPCH 0.423800 1.0080 0 210 WATR 70 H2O H2 SPCH 0.423800 1.0080 0 211 WATR 71 H2O O1 SPCO -0.847600 15.9994 0 212 WATR 71 H2O H1 SPCH 0.423800 1.0080 0 213 WATR 71 H2O H2 SPCH 0.423800 1.0080 0 214 WATR 72 H2O O1 SPCO -0.847600 15.9994 0 215 WATR 72 H2O H1 SPCH 0.423800 1.0080 0 216 WATR 72 H2O H2 SPCH 0.423800 1.0080 0 217 WATR 73 H2O O1 SPCO -0.847600 15.9994 0 218 WATR 73 H2O H1 SPCH 0.423800 1.0080 0 219 WATR 73 H2O H2 SPCH 0.423800 1.0080 0 220 WATR 74 H2O O1 SPCO -0.847600 15.9994 0 221 WATR 74 H2O H1 SPCH 0.423800 1.0080 0 222 WATR 74 H2O H2 SPCH 0.423800 1.0080 0 223 WATR 75 H2O O1 SPCO -0.847600 15.9994 0 224 WATR 75 H2O H1 SPCH 0.423800 1.0080 0 225 WATR 75 H2O H2 SPCH 0.423800 1.0080 0 226 WATR 76 H2O O1 SPCO -0.847600 15.9994 0 227 WATR 76 H2O H1 SPCH 0.423800 1.0080 0 228 WATR 76 H2O H2 SPCH 0.423800 1.0080 0 229 WATR 77 H2O O1 SPCO -0.847600 15.9994 0 230 WATR 77 H2O H1 SPCH 0.423800 1.0080 0 231 WATR 77 H2O H2 SPCH 0.423800 1.0080 0 232 WATR 78 H2O O1 SPCO -0.847600 15.9994 0 233 WATR 78 H2O H1 SPCH 0.423800 1.0080 0 234 WATR 78 H2O H2 SPCH 0.423800 1.0080 0 235 WATR 79 H2O O1 SPCO -0.847600 15.9994 0 236 WATR 79 H2O H1 SPCH 0.423800 1.0080 0 237 WATR 79 H2O H2 SPCH 0.423800 1.0080 0 238 WATR 80 H2O O1 SPCO -0.847600 15.9994 0 239 WATR 80 H2O H1 SPCH 0.423800 1.0080 0 240 WATR 80 H2O H2 SPCH 0.423800 1.0080 0 241 WATR 81 H2O O1 SPCO -0.847600 15.9994 0 242 WATR 81 H2O H1 SPCH 0.423800 1.0080 0 243 WATR 81 H2O H2 SPCH 0.423800 1.0080 0 244 WATR 82 H2O O1 SPCO -0.847600 15.9994 0 245 WATR 82 H2O H1 SPCH 0.423800 1.0080 0 246 WATR 82 H2O H2 SPCH 0.423800 1.0080 0 247 WATR 83 H2O O1 SPCO -0.847600 15.9994 0 248 WATR 83 H2O H1 SPCH 0.423800 1.0080 0 249 WATR 83 H2O H2 SPCH 0.423800 1.0080 0 250 WATR 84 H2O O1 SPCO -0.847600 15.9994 0 251 WATR 84 H2O H1 SPCH 0.423800 1.0080 0 252 WATR 84 H2O H2 SPCH 0.423800 1.0080 0 253 WATR 85 H2O O1 SPCO -0.847600 15.9994 0 254 WATR 85 H2O H1 SPCH 0.423800 1.0080 0 255 WATR 85 H2O H2 SPCH 0.423800 1.0080 0 256 WATR 86 H2O O1 SPCO -0.847600 15.9994 0 257 WATR 86 H2O H1 SPCH 0.423800 1.0080 0 258 WATR 86 H2O H2 SPCH 0.423800 1.0080 0 259 WATR 87 H2O O1 SPCO -0.847600 15.9994 0 260 WATR 87 H2O H1 SPCH 0.423800 1.0080 0 261 WATR 87 H2O H2 SPCH 0.423800 1.0080 0 262 WATR 88 H2O O1 SPCO -0.847600 15.9994 0 263 WATR 88 H2O H1 SPCH 0.423800 1.0080 0 264 WATR 88 H2O H2 SPCH 0.423800 1.0080 0 265 WATR 89 H2O O1 SPCO -0.847600 15.9994 0 266 WATR 89 H2O H1 SPCH 0.423800 1.0080 0 267 WATR 89 H2O H2 SPCH 0.423800 1.0080 0 268 WATR 90 H2O O1 SPCO -0.847600 15.9994 0 269 WATR 90 H2O H1 SPCH 0.423800 1.0080 0 270 WATR 90 H2O H2 SPCH 0.423800 1.0080 0 271 WATR 91 H2O O1 SPCO -0.847600 15.9994 0 272 WATR 91 H2O H1 SPCH 0.423800 1.0080 0 273 WATR 91 H2O H2 SPCH 0.423800 1.0080 0 274 WATR 92 H2O O1 SPCO -0.847600 15.9994 0 275 WATR 92 H2O H1 SPCH 0.423800 1.0080 0 276 WATR 92 H2O H2 SPCH 0.423800 1.0080 0 277 WATR 93 H2O O1 SPCO -0.847600 15.9994 0 278 WATR 93 H2O H1 SPCH 0.423800 1.0080 0 279 WATR 93 H2O H2 SPCH 0.423800 1.0080 0 280 WATR 94 H2O O1 SPCO -0.847600 15.9994 0 281 WATR 94 H2O H1 SPCH 0.423800 1.0080 0 282 WATR 94 H2O H2 SPCH 0.423800 1.0080 0 283 WATR 95 H2O O1 SPCO -0.847600 15.9994 0 284 WATR 95 H2O H1 SPCH 0.423800 1.0080 0 285 WATR 95 H2O H2 SPCH 0.423800 1.0080 0 286 WATR 96 H2O O1 SPCO -0.847600 15.9994 0 287 WATR 96 H2O H1 SPCH 0.423800 1.0080 0 288 WATR 96 H2O H2 SPCH 0.423800 1.0080 0 289 WATR 97 H2O O1 SPCO -0.847600 15.9994 0 290 WATR 97 H2O H1 SPCH 0.423800 1.0080 0 291 WATR 97 H2O H2 SPCH 0.423800 1.0080 0 292 WATR 98 H2O O1 SPCO -0.847600 15.9994 0 293 WATR 98 H2O H1 SPCH 0.423800 1.0080 0 294 WATR 98 H2O H2 SPCH 0.423800 1.0080 0 295 WATR 99 H2O O1 SPCO -0.847600 15.9994 0 296 WATR 99 H2O H1 SPCH 0.423800 1.0080 0 297 WATR 99 H2O H2 SPCH 0.423800 1.0080 0 298 WATR 100 H2O O1 SPCO -0.847600 15.9994 0 299 WATR 100 H2O H1 SPCH 0.423800 1.0080 0 300 WATR 100 H2O H2 SPCH 0.423800 1.0080 0 301 WATR 101 H2O O1 SPCO -0.847600 15.9994 0 302 WATR 101 H2O H1 SPCH 0.423800 1.0080 0 303 WATR 101 H2O H2 SPCH 0.423800 1.0080 0 304 WATR 102 H2O O1 SPCO -0.847600 15.9994 0 305 WATR 102 H2O H1 SPCH 0.423800 1.0080 0 306 WATR 102 H2O H2 SPCH 0.423800 1.0080 0 307 WATR 103 H2O O1 SPCO -0.847600 15.9994 0 308 WATR 103 H2O H1 SPCH 0.423800 1.0080 0 309 WATR 103 H2O H2 SPCH 0.423800 1.0080 0 310 WATR 104 H2O O1 SPCO -0.847600 15.9994 0 311 WATR 104 H2O H1 SPCH 0.423800 1.0080 0 312 WATR 104 H2O H2 SPCH 0.423800 1.0080 0 313 WATR 105 H2O O1 SPCO -0.847600 15.9994 0 314 WATR 105 H2O H1 SPCH 0.423800 1.0080 0 315 WATR 105 H2O H2 SPCH 0.423800 1.0080 0 316 WATR 106 H2O O1 SPCO -0.847600 15.9994 0 317 WATR 106 H2O H1 SPCH 0.423800 1.0080 0 318 WATR 106 H2O H2 SPCH 0.423800 1.0080 0 319 WATR 107 H2O O1 SPCO -0.847600 15.9994 0 320 WATR 107 H2O H1 SPCH 0.423800 1.0080 0 321 WATR 107 H2O H2 SPCH 0.423800 1.0080 0 322 WATR 108 H2O O1 SPCO -0.847600 15.9994 0 323 WATR 108 H2O H1 SPCH 0.423800 1.0080 0 324 WATR 108 H2O H2 SPCH 0.423800 1.0080 0 325 WATR 109 H2O O1 SPCO -0.847600 15.9994 0 326 WATR 109 H2O H1 SPCH 0.423800 1.0080 0 327 WATR 109 H2O H2 SPCH 0.423800 1.0080 0 328 WATR 110 H2O O1 SPCO -0.847600 15.9994 0 329 WATR 110 H2O H1 SPCH 0.423800 1.0080 0 330 WATR 110 H2O H2 SPCH 0.423800 1.0080 0 331 WATR 111 H2O O1 SPCO -0.847600 15.9994 0 332 WATR 111 H2O H1 SPCH 0.423800 1.0080 0 333 WATR 111 H2O H2 SPCH 0.423800 1.0080 0 334 WATR 112 H2O O1 SPCO -0.847600 15.9994 0 335 WATR 112 H2O H1 SPCH 0.423800 1.0080 0 336 WATR 112 H2O H2 SPCH 0.423800 1.0080 0 337 WATR 113 H2O O1 SPCO -0.847600 15.9994 0 338 WATR 113 H2O H1 SPCH 0.423800 1.0080 0 339 WATR 113 H2O H2 SPCH 0.423800 1.0080 0 340 WATR 114 H2O O1 SPCO -0.847600 15.9994 0 341 WATR 114 H2O H1 SPCH 0.423800 1.0080 0 342 WATR 114 H2O H2 SPCH 0.423800 1.0080 0 343 WATR 115 H2O O1 SPCO -0.847600 15.9994 0 344 WATR 115 H2O H1 SPCH 0.423800 1.0080 0 345 WATR 115 H2O H2 SPCH 0.423800 1.0080 0 346 WATR 116 H2O O1 SPCO -0.847600 15.9994 0 347 WATR 116 H2O H1 SPCH 0.423800 1.0080 0 348 WATR 116 H2O H2 SPCH 0.423800 1.0080 0 349 WATR 117 H2O O1 SPCO -0.847600 15.9994 0 350 WATR 117 H2O H1 SPCH 0.423800 1.0080 0 351 WATR 117 H2O H2 SPCH 0.423800 1.0080 0 352 WATR 118 H2O O1 SPCO -0.847600 15.9994 0 353 WATR 118 H2O H1 SPCH 0.423800 1.0080 0 354 WATR 118 H2O H2 SPCH 0.423800 1.0080 0 355 WATR 119 H2O O1 SPCO -0.847600 15.9994 0 356 WATR 119 H2O H1 SPCH 0.423800 1.0080 0 357 WATR 119 H2O H2 SPCH 0.423800 1.0080 0 358 WATR 120 H2O O1 SPCO -0.847600 15.9994 0 359 WATR 120 H2O H1 SPCH 0.423800 1.0080 0 360 WATR 120 H2O H2 SPCH 0.423800 1.0080 0 361 WATR 121 H2O O1 SPCO -0.847600 15.9994 0 362 WATR 121 H2O H1 SPCH 0.423800 1.0080 0 363 WATR 121 H2O H2 SPCH 0.423800 1.0080 0 364 WATR 122 H2O O1 SPCO -0.847600 15.9994 0 365 WATR 122 H2O H1 SPCH 0.423800 1.0080 0 366 WATR 122 H2O H2 SPCH 0.423800 1.0080 0 367 WATR 123 H2O O1 SPCO -0.847600 15.9994 0 368 WATR 123 H2O H1 SPCH 0.423800 1.0080 0 369 WATR 123 H2O H2 SPCH 0.423800 1.0080 0 370 WATR 124 H2O O1 SPCO -0.847600 15.9994 0 371 WATR 124 H2O H1 SPCH 0.423800 1.0080 0 372 WATR 124 H2O H2 SPCH 0.423800 1.0080 0 373 WATR 125 H2O O1 SPCO -0.847600 15.9994 0 374 WATR 125 H2O H1 SPCH 0.423800 1.0080 0 375 WATR 125 H2O H2 SPCH 0.423800 1.0080 0 376 WATR 126 H2O O1 SPCO -0.847600 15.9994 0 377 WATR 126 H2O H1 SPCH 0.423800 1.0080 0 378 WATR 126 H2O H2 SPCH 0.423800 1.0080 0 379 WATR 127 H2O O1 SPCO -0.847600 15.9994 0 380 WATR 127 H2O H1 SPCH 0.423800 1.0080 0 381 WATR 127 H2O H2 SPCH 0.423800 1.0080 0 382 WATR 128 H2O O1 SPCO -0.847600 15.9994 0 383 WATR 128 H2O H1 SPCH 0.423800 1.0080 0 384 WATR 128 H2O H2 SPCH 0.423800 1.0080 0 385 WATR 129 H2O O1 SPCO -0.847600 15.9994 0 386 WATR 129 H2O H1 SPCH 0.423800 1.0080 0 387 WATR 129 H2O H2 SPCH 0.423800 1.0080 0 388 WATR 130 H2O O1 SPCO -0.847600 15.9994 0 389 WATR 130 H2O H1 SPCH 0.423800 1.0080 0 390 WATR 130 H2O H2 SPCH 0.423800 1.0080 0 391 WATR 131 H2O O1 SPCO -0.847600 15.9994 0 392 WATR 131 H2O H1 SPCH 0.423800 1.0080 0 393 WATR 131 H2O H2 SPCH 0.423800 1.0080 0 394 WATR 132 H2O O1 SPCO -0.847600 15.9994 0 395 WATR 132 H2O H1 SPCH 0.423800 1.0080 0 396 WATR 132 H2O H2 SPCH 0.423800 1.0080 0 397 WATR 133 H2O O1 SPCO -0.847600 15.9994 0 398 WATR 133 H2O H1 SPCH 0.423800 1.0080 0 399 WATR 133 H2O H2 SPCH 0.423800 1.0080 0 400 WATR 134 H2O O1 SPCO -0.847600 15.9994 0 401 WATR 134 H2O H1 SPCH 0.423800 1.0080 0 402 WATR 134 H2O H2 SPCH 0.423800 1.0080 0 403 WATR 135 H2O O1 SPCO -0.847600 15.9994 0 404 WATR 135 H2O H1 SPCH 0.423800 1.0080 0 405 WATR 135 H2O H2 SPCH 0.423800 1.0080 0 406 WATR 136 H2O O1 SPCO -0.847600 15.9994 0 407 WATR 136 H2O H1 SPCH 0.423800 1.0080 0 408 WATR 136 H2O H2 SPCH 0.423800 1.0080 0 409 WATR 137 H2O O1 SPCO -0.847600 15.9994 0 410 WATR 137 H2O H1 SPCH 0.423800 1.0080 0 411 WATR 137 H2O H2 SPCH 0.423800 1.0080 0 412 WATR 138 H2O O1 SPCO -0.847600 15.9994 0 413 WATR 138 H2O H1 SPCH 0.423800 1.0080 0 414 WATR 138 H2O H2 SPCH 0.423800 1.0080 0 415 WATR 139 H2O O1 SPCO -0.847600 15.9994 0 416 WATR 139 H2O H1 SPCH 0.423800 1.0080 0 417 WATR 139 H2O H2 SPCH 0.423800 1.0080 0 418 WATR 140 H2O O1 SPCO -0.847600 15.9994 0 419 WATR 140 H2O H1 SPCH 0.423800 1.0080 0 420 WATR 140 H2O H2 SPCH 0.423800 1.0080 0 421 WATR 141 H2O O1 SPCO -0.847600 15.9994 0 422 WATR 141 H2O H1 SPCH 0.423800 1.0080 0 423 WATR 141 H2O H2 SPCH 0.423800 1.0080 0 424 WATR 142 H2O O1 SPCO -0.847600 15.9994 0 425 WATR 142 H2O H1 SPCH 0.423800 1.0080 0 426 WATR 142 H2O H2 SPCH 0.423800 1.0080 0 427 WATR 143 H2O O1 SPCO -0.847600 15.9994 0 428 WATR 143 H2O H1 SPCH 0.423800 1.0080 0 429 WATR 143 H2O H2 SPCH 0.423800 1.0080 0 430 WATR 144 H2O O1 SPCO -0.847600 15.9994 0 431 WATR 144 H2O H1 SPCH 0.423800 1.0080 0 432 WATR 144 H2O H2 SPCH 0.423800 1.0080 0 433 WATR 145 H2O O1 SPCO -0.847600 15.9994 0 434 WATR 145 H2O H1 SPCH 0.423800 1.0080 0 435 WATR 145 H2O H2 SPCH 0.423800 1.0080 0 436 WATR 146 H2O O1 SPCO -0.847600 15.9994 0 437 WATR 146 H2O H1 SPCH 0.423800 1.0080 0 438 WATR 146 H2O H2 SPCH 0.423800 1.0080 0 439 WATR 147 H2O O1 SPCO -0.847600 15.9994 0 440 WATR 147 H2O H1 SPCH 0.423800 1.0080 0 441 WATR 147 H2O H2 SPCH 0.423800 1.0080 0 442 WATR 148 H2O O1 SPCO -0.847600 15.9994 0 443 WATR 148 H2O H1 SPCH 0.423800 1.0080 0 444 WATR 148 H2O H2 SPCH 0.423800 1.0080 0 445 WATR 149 H2O O1 SPCO -0.847600 15.9994 0 446 WATR 149 H2O H1 SPCH 0.423800 1.0080 0 447 WATR 149 H2O H2 SPCH 0.423800 1.0080 0 448 WATR 150 H2O O1 SPCO -0.847600 15.9994 0 449 WATR 150 H2O H1 SPCH 0.423800 1.0080 0 450 WATR 150 H2O H2 SPCH 0.423800 1.0080 0 451 WATR 151 H2O O1 SPCO -0.847600 15.9994 0 452 WATR 151 H2O H1 SPCH 0.423800 1.0080 0 453 WATR 151 H2O H2 SPCH 0.423800 1.0080 0 454 WATR 152 H2O O1 SPCO -0.847600 15.9994 0 455 WATR 152 H2O H1 SPCH 0.423800 1.0080 0 456 WATR 152 H2O H2 SPCH 0.423800 1.0080 0 457 WATR 153 H2O O1 SPCO -0.847600 15.9994 0 458 WATR 153 H2O H1 SPCH 0.423800 1.0080 0 459 WATR 153 H2O H2 SPCH 0.423800 1.0080 0 460 WATR 154 H2O O1 SPCO -0.847600 15.9994 0 461 WATR 154 H2O H1 SPCH 0.423800 1.0080 0 462 WATR 154 H2O H2 SPCH 0.423800 1.0080 0 463 WATR 155 H2O O1 SPCO -0.847600 15.9994 0 464 WATR 155 H2O H1 SPCH 0.423800 1.0080 0 465 WATR 155 H2O H2 SPCH 0.423800 1.0080 0 466 WATR 156 H2O O1 SPCO -0.847600 15.9994 0 467 WATR 156 H2O H1 SPCH 0.423800 1.0080 0 468 WATR 156 H2O H2 SPCH 0.423800 1.0080 0 469 WATR 157 H2O O1 SPCO -0.847600 15.9994 0 470 WATR 157 H2O H1 SPCH 0.423800 1.0080 0 471 WATR 157 H2O H2 SPCH 0.423800 1.0080 0 472 WATR 158 H2O O1 SPCO -0.847600 15.9994 0 473 WATR 158 H2O H1 SPCH 0.423800 1.0080 0 474 WATR 158 H2O H2 SPCH 0.423800 1.0080 0 475 WATR 159 H2O O1 SPCO -0.847600 15.9994 0 476 WATR 159 H2O H1 SPCH 0.423800 1.0080 0 477 WATR 159 H2O H2 SPCH 0.423800 1.0080 0 478 WATR 160 H2O O1 SPCO -0.847600 15.9994 0 479 WATR 160 H2O H1 SPCH 0.423800 1.0080 0 480 WATR 160 H2O H2 SPCH 0.423800 1.0080 0 481 WATR 161 H2O O1 SPCO -0.847600 15.9994 0 482 WATR 161 H2O H1 SPCH 0.423800 1.0080 0 483 WATR 161 H2O H2 SPCH 0.423800 1.0080 0 484 WATR 162 H2O O1 SPCO -0.847600 15.9994 0 485 WATR 162 H2O H1 SPCH 0.423800 1.0080 0 486 WATR 162 H2O H2 SPCH 0.423800 1.0080 0 487 WATR 163 H2O O1 SPCO -0.847600 15.9994 0 488 WATR 163 H2O H1 SPCH 0.423800 1.0080 0 489 WATR 163 H2O H2 SPCH 0.423800 1.0080 0 490 WATR 164 H2O O1 SPCO -0.847600 15.9994 0 491 WATR 164 H2O H1 SPCH 0.423800 1.0080 0 492 WATR 164 H2O H2 SPCH 0.423800 1.0080 0 493 WATR 165 H2O O1 SPCO -0.847600 15.9994 0 494 WATR 165 H2O H1 SPCH 0.423800 1.0080 0 495 WATR 165 H2O H2 SPCH 0.423800 1.0080 0 496 WATR 166 H2O O1 SPCO -0.847600 15.9994 0 497 WATR 166 H2O H1 SPCH 0.423800 1.0080 0 498 WATR 166 H2O H2 SPCH 0.423800 1.0080 0 499 WATR 167 H2O O1 SPCO -0.847600 15.9994 0 500 WATR 167 H2O H1 SPCH 0.423800 1.0080 0 501 WATR 167 H2O H2 SPCH 0.423800 1.0080 0 502 WATR 168 H2O O1 SPCO -0.847600 15.9994 0 503 WATR 168 H2O H1 SPCH 0.423800 1.0080 0 504 WATR 168 H2O H2 SPCH 0.423800 1.0080 0 505 WATR 169 H2O O1 SPCO -0.847600 15.9994 0 506 WATR 169 H2O H1 SPCH 0.423800 1.0080 0 507 WATR 169 H2O H2 SPCH 0.423800 1.0080 0 508 WATR 170 H2O O1 SPCO -0.847600 15.9994 0 509 WATR 170 H2O H1 SPCH 0.423800 1.0080 0 510 WATR 170 H2O H2 SPCH 0.423800 1.0080 0 511 WATR 171 H2O O1 SPCO -0.847600 15.9994 0 512 WATR 171 H2O H1 SPCH 0.423800 1.0080 0 513 WATR 171 H2O H2 SPCH 0.423800 1.0080 0 514 WATR 172 H2O O1 SPCO -0.847600 15.9994 0 515 WATR 172 H2O H1 SPCH 0.423800 1.0080 0 516 WATR 172 H2O H2 SPCH 0.423800 1.0080 0 517 WATR 173 H2O O1 SPCO -0.847600 15.9994 0 518 WATR 173 H2O H1 SPCH 0.423800 1.0080 0 519 WATR 173 H2O H2 SPCH 0.423800 1.0080 0 520 WATR 174 H2O O1 SPCO -0.847600 15.9994 0 521 WATR 174 H2O H1 SPCH 0.423800 1.0080 0 522 WATR 174 H2O H2 SPCH 0.423800 1.0080 0 523 WATR 175 H2O O1 SPCO -0.847600 15.9994 0 524 WATR 175 H2O H1 SPCH 0.423800 1.0080 0 525 WATR 175 H2O H2 SPCH 0.423800 1.0080 0 526 WATR 176 H2O O1 SPCO -0.847600 15.9994 0 527 WATR 176 H2O H1 SPCH 0.423800 1.0080 0 528 WATR 176 H2O H2 SPCH 0.423800 1.0080 0 529 WATR 177 H2O O1 SPCO -0.847600 15.9994 0 530 WATR 177 H2O H1 SPCH 0.423800 1.0080 0 531 WATR 177 H2O H2 SPCH 0.423800 1.0080 0 532 WATR 178 H2O O1 SPCO -0.847600 15.9994 0 533 WATR 178 H2O H1 SPCH 0.423800 1.0080 0 534 WATR 178 H2O H2 SPCH 0.423800 1.0080 0 535 WATR 179 H2O O1 SPCO -0.847600 15.9994 0 536 WATR 179 H2O H1 SPCH 0.423800 1.0080 0 537 WATR 179 H2O H2 SPCH 0.423800 1.0080 0 538 WATR 180 H2O O1 SPCO -0.847600 15.9994 0 539 WATR 180 H2O H1 SPCH 0.423800 1.0080 0 540 WATR 180 H2O H2 SPCH 0.423800 1.0080 0 541 WATR 181 H2O O1 SPCO -0.847600 15.9994 0 542 WATR 181 H2O H1 SPCH 0.423800 1.0080 0 543 WATR 181 H2O H2 SPCH 0.423800 1.0080 0 544 WATR 182 H2O O1 SPCO -0.847600 15.9994 0 545 WATR 182 H2O H1 SPCH 0.423800 1.0080 0 546 WATR 182 H2O H2 SPCH 0.423800 1.0080 0 547 WATR 183 H2O O1 SPCO -0.847600 15.9994 0 548 WATR 183 H2O H1 SPCH 0.423800 1.0080 0 549 WATR 183 H2O H2 SPCH 0.423800 1.0080 0 550 WATR 184 H2O O1 SPCO -0.847600 15.9994 0 551 WATR 184 H2O H1 SPCH 0.423800 1.0080 0 552 WATR 184 H2O H2 SPCH 0.423800 1.0080 0 553 WATR 185 H2O O1 SPCO -0.847600 15.9994 0 554 WATR 185 H2O H1 SPCH 0.423800 1.0080 0 555 WATR 185 H2O H2 SPCH 0.423800 1.0080 0 556 WATR 186 H2O O1 SPCO -0.847600 15.9994 0 557 WATR 186 H2O H1 SPCH 0.423800 1.0080 0 558 WATR 186 H2O H2 SPCH 0.423800 1.0080 0 559 WATR 187 H2O O1 SPCO -0.847600 15.9994 0 560 WATR 187 H2O H1 SPCH 0.423800 1.0080 0 561 WATR 187 H2O H2 SPCH 0.423800 1.0080 0 562 WATR 188 H2O O1 SPCO -0.847600 15.9994 0 563 WATR 188 H2O H1 SPCH 0.423800 1.0080 0 564 WATR 188 H2O H2 SPCH 0.423800 1.0080 0 565 WATR 189 H2O O1 SPCO -0.847600 15.9994 0 566 WATR 189 H2O H1 SPCH 0.423800 1.0080 0 567 WATR 189 H2O H2 SPCH 0.423800 1.0080 0 568 WATR 190 H2O O1 SPCO -0.847600 15.9994 0 569 WATR 190 H2O H1 SPCH 0.423800 1.0080 0 570 WATR 190 H2O H2 SPCH 0.423800 1.0080 0 571 WATR 191 H2O O1 SPCO -0.847600 15.9994 0 572 WATR 191 H2O H1 SPCH 0.423800 1.0080 0 573 WATR 191 H2O H2 SPCH 0.423800 1.0080 0 574 WATR 192 H2O O1 SPCO -0.847600 15.9994 0 575 WATR 192 H2O H1 SPCH 0.423800 1.0080 0 576 WATR 192 H2O H2 SPCH 0.423800 1.0080 0 577 WATR 193 H2O O1 SPCO -0.847600 15.9994 0 578 WATR 193 H2O H1 SPCH 0.423800 1.0080 0 579 WATR 193 H2O H2 SPCH 0.423800 1.0080 0 580 WATR 194 H2O O1 SPCO -0.847600 15.9994 0 581 WATR 194 H2O H1 SPCH 0.423800 1.0080 0 582 WATR 194 H2O H2 SPCH 0.423800 1.0080 0 583 WATR 195 H2O O1 SPCO -0.847600 15.9994 0 584 WATR 195 H2O H1 SPCH 0.423800 1.0080 0 585 WATR 195 H2O H2 SPCH 0.423800 1.0080 0 586 WATR 196 H2O O1 SPCO -0.847600 15.9994 0 587 WATR 196 H2O H1 SPCH 0.423800 1.0080 0 588 WATR 196 H2O H2 SPCH 0.423800 1.0080 0 589 WATR 197 H2O O1 SPCO -0.847600 15.9994 0 590 WATR 197 H2O H1 SPCH 0.423800 1.0080 0 591 WATR 197 H2O H2 SPCH 0.423800 1.0080 0 592 WATR 198 H2O O1 SPCO -0.847600 15.9994 0 593 WATR 198 H2O H1 SPCH 0.423800 1.0080 0 594 WATR 198 H2O H2 SPCH 0.423800 1.0080 0 595 WATR 199 H2O O1 SPCO -0.847600 15.9994 0 596 WATR 199 H2O H1 SPCH 0.423800 1.0080 0 597 WATR 199 H2O H2 SPCH 0.423800 1.0080 0 598 WATR 200 H2O O1 SPCO -0.847600 15.9994 0 599 WATR 200 H2O H1 SPCH 0.423800 1.0080 0 600 WATR 200 H2O H2 SPCH 0.423800 1.0080 0 601 WATR 201 H2O O1 SPCO -0.847600 15.9994 0 602 WATR 201 H2O H1 SPCH 0.423800 1.0080 0 603 WATR 201 H2O H2 SPCH 0.423800 1.0080 0 604 WATR 202 H2O O1 SPCO -0.847600 15.9994 0 605 WATR 202 H2O H1 SPCH 0.423800 1.0080 0 606 WATR 202 H2O H2 SPCH 0.423800 1.0080 0 607 WATR 203 H2O O1 SPCO -0.847600 15.9994 0 608 WATR 203 H2O H1 SPCH 0.423800 1.0080 0 609 WATR 203 H2O H2 SPCH 0.423800 1.0080 0 610 WATR 204 H2O O1 SPCO -0.847600 15.9994 0 611 WATR 204 H2O H1 SPCH 0.423800 1.0080 0 612 WATR 204 H2O H2 SPCH 0.423800 1.0080 0 613 WATR 205 H2O O1 SPCO -0.847600 15.9994 0 614 WATR 205 H2O H1 SPCH 0.423800 1.0080 0 615 WATR 205 H2O H2 SPCH 0.423800 1.0080 0 616 WATR 206 H2O O1 SPCO -0.847600 15.9994 0 617 WATR 206 H2O H1 SPCH 0.423800 1.0080 0 618 WATR 206 H2O H2 SPCH 0.423800 1.0080 0 619 WATR 207 H2O O1 SPCO -0.847600 15.9994 0 620 WATR 207 H2O H1 SPCH 0.423800 1.0080 0 621 WATR 207 H2O H2 SPCH 0.423800 1.0080 0 622 WATR 208 H2O O1 SPCO -0.847600 15.9994 0 623 WATR 208 H2O H1 SPCH 0.423800 1.0080 0 624 WATR 208 H2O H2 SPCH 0.423800 1.0080 0 625 WATR 209 H2O O1 SPCO -0.847600 15.9994 0 626 WATR 209 H2O H1 SPCH 0.423800 1.0080 0 627 WATR 209 H2O H2 SPCH 0.423800 1.0080 0 628 WATR 210 H2O O1 SPCO -0.847600 15.9994 0 629 WATR 210 H2O H1 SPCH 0.423800 1.0080 0 630 WATR 210 H2O H2 SPCH 0.423800 1.0080 0 631 WATR 211 H2O O1 SPCO -0.847600 15.9994 0 632 WATR 211 H2O H1 SPCH 0.423800 1.0080 0 633 WATR 211 H2O H2 SPCH 0.423800 1.0080 0 634 WATR 212 H2O O1 SPCO -0.847600 15.9994 0 635 WATR 212 H2O H1 SPCH 0.423800 1.0080 0 636 WATR 212 H2O H2 SPCH 0.423800 1.0080 0 637 WATR 213 H2O O1 SPCO -0.847600 15.9994 0 638 WATR 213 H2O H1 SPCH 0.423800 1.0080 0 639 WATR 213 H2O H2 SPCH 0.423800 1.0080 0 640 WATR 214 H2O O1 SPCO -0.847600 15.9994 0 641 WATR 214 H2O H1 SPCH 0.423800 1.0080 0 642 WATR 214 H2O H2 SPCH 0.423800 1.0080 0 643 WATR 215 H2O O1 SPCO -0.847600 15.9994 0 644 WATR 215 H2O H1 SPCH 0.423800 1.0080 0 645 WATR 215 H2O H2 SPCH 0.423800 1.0080 0 646 WATR 216 H2O O1 SPCO -0.847600 15.9994 0 647 WATR 216 H2O H1 SPCH 0.423800 1.0080 0 648 WATR 216 H2O H2 SPCH 0.423800 1.0080 0 432 !NBOND: bonds 1 2 1 3 4 5 4 6 7 8 7 9 10 11 10 12 13 14 13 15 16 17 16 18 19 20 19 21 22 23 22 24 25 26 25 27 28 29 28 30 31 32 31 33 34 35 34 36 37 38 37 39 40 41 40 42 43 44 43 45 46 47 46 48 49 50 49 51 52 53 52 54 55 56 55 57 58 59 58 60 61 62 61 63 64 65 64 66 67 68 67 69 70 71 70 72 73 74 73 75 76 77 76 78 79 80 79 81 82 83 82 84 85 86 85 87 88 89 88 90 91 92 91 93 94 95 94 96 97 98 97 99 100 101 100 102 103 104 103 105 106 107 106 108 109 110 109 111 112 113 112 114 115 116 115 117 118 119 118 120 121 122 121 123 124 125 124 126 127 128 127 129 130 131 130 132 133 134 133 135 136 137 136 138 139 140 139 141 142 143 142 144 145 146 145 147 148 149 148 150 151 152 151 153 154 155 154 156 157 158 157 159 160 161 160 162 163 164 163 165 166 167 166 168 169 170 169 171 172 173 172 174 175 176 175 177 178 179 178 180 181 182 181 183 184 185 184 186 187 188 187 189 190 191 190 192 193 194 193 195 196 197 196 198 199 200 199 201 202 203 202 204 205 206 205 207 208 209 208 210 211 212 211 213 214 215 214 216 217 218 217 219 220 221 220 222 223 224 223 225 226 227 226 228 229 230 229 231 232 233 232 234 235 236 235 237 238 239 238 240 241 242 241 243 244 245 244 246 247 248 247 249 250 251 250 252 253 254 253 255 256 257 256 258 259 260 259 261 262 263 262 264 265 266 265 267 268 269 268 270 271 272 271 273 274 275 274 276 277 278 277 279 280 281 280 282 283 284 283 285 286 287 286 288 289 290 289 291 292 293 292 294 295 296 295 297 298 299 298 300 301 302 301 303 304 305 304 306 307 308 307 309 310 311 310 312 313 314 313 315 316 317 316 318 319 320 319 321 322 323 322 324 325 326 325 327 328 329 328 330 331 332 331 333 334 335 334 336 337 338 337 339 340 341 340 342 343 344 343 345 346 347 346 348 349 350 349 351 352 353 352 354 355 356 355 357 358 359 358 360 361 362 361 363 364 365 364 366 367 368 367 369 370 371 370 372 373 374 373 375 376 377 376 378 379 380 379 381 382 383 382 384 385 386 385 387 388 389 388 390 391 392 391 393 394 395 394 396 397 398 397 399 400 401 400 402 403 404 403 405 406 407 406 408 409 410 409 411 412 413 412 414 415 416 415 417 418 419 418 420 421 422 421 423 424 425 424 426 427 428 427 429 430 431 430 432 433 434 433 435 436 437 436 438 439 440 439 441 442 443 442 444 445 446 445 447 448 449 448 450 451 452 451 453 454 455 454 456 457 458 457 459 460 461 460 462 463 464 463 465 466 467 466 468 469 470 469 471 472 473 472 474 475 476 475 477 478 479 478 480 481 482 481 483 484 485 484 486 487 488 487 489 490 491 490 492 493 494 493 495 496 497 496 498 499 500 499 501 502 503 502 504 505 506 505 507 508 509 508 510 511 512 511 513 514 515 514 516 517 518 517 519 520 521 520 522 523 524 523 525 526 527 526 528 529 530 529 531 532 533 532 534 535 536 535 537 538 539 538 540 541 542 541 543 544 545 544 546 547 548 547 549 550 551 550 552 553 554 553 555 556 557 556 558 559 560 559 561 562 563 562 564 565 566 565 567 568 569 568 570 571 572 571 573 574 575 574 576 577 578 577 579 580 581 580 582 583 584 583 585 586 587 586 588 589 590 589 591 592 593 592 594 595 596 595 597 598 599 598 600 601 602 601 603 604 605 604 606 607 608 607 609 610 611 610 612 613 614 613 615 616 617 616 618 619 620 619 621 622 623 622 624 625 626 625 627 628 629 628 630 631 632 631 633 634 635 634 636 637 638 637 639 640 641 640 642 643 644 643 645 646 647 646 648 216 !NTHETA: angles 2 1 3 5 4 6 8 7 9 11 10 12 14 13 15 17 16 18 20 19 21 23 22 24 26 25 27 29 28 30 32 31 33 35 34 36 38 37 39 41 40 42 44 43 45 47 46 48 50 49 51 53 52 54 56 55 57 59 58 60 62 61 63 65 64 66 68 67 69 71 70 72 74 73 75 77 76 78 80 79 81 83 82 84 86 85 87 89 88 90 92 91 93 95 94 96 98 97 99 101 100 102 104 103 105 107 106 108 110 109 111 113 112 114 116 115 117 119 118 120 122 121 123 125 124 126 128 127 129 131 130 132 134 133 135 137 136 138 140 139 141 143 142 144 146 145 147 149 148 150 152 151 153 155 154 156 158 157 159 161 160 162 164 163 165 167 166 168 170 169 171 173 172 174 176 175 177 179 178 180 182 181 183 185 184 186 188 187 189 191 190 192 194 193 195 197 196 198 200 199 201 203 202 204 206 205 207 209 208 210 212 211 213 215 214 216 218 217 219 221 220 222 224 223 225 227 226 228 230 229 231 233 232 234 236 235 237 239 238 240 242 241 243 245 244 246 248 247 249 251 250 252 254 253 255 257 256 258 260 259 261 263 262 264 266 265 267 269 268 270 272 271 273 275 274 276 278 277 279 281 280 282 284 283 285 287 286 288 290 289 291 293 292 294 296 295 297 299 298 300 302 301 303 305 304 306 308 307 309 311 310 312 314 313 315 317 316 318 320 319 321 323 322 324 326 325 327 329 328 330 332 331 333 335 334 336 338 337 339 341 340 342 344 343 345 347 346 348 350 349 351 353 352 354 356 355 357 359 358 360 362 361 363 365 364 366 368 367 369 371 370 372 374 373 375 377 376 378 380 379 381 383 382 384 386 385 387 389 388 390 392 391 393 395 394 396 398 397 399 401 400 402 404 403 405 407 406 408 410 409 411 413 412 414 416 415 417 419 418 420 422 421 423 425 424 426 428 427 429 431 430 432 434 433 435 437 436 438 440 439 441 443 442 444 446 445 447 449 448 450 452 451 453 455 454 456 458 457 459 461 460 462 464 463 465 467 466 468 470 469 471 473 472 474 476 475 477 479 478 480 482 481 483 485 484 486 488 487 489 491 490 492 494 493 495 497 496 498 500 499 501 503 502 504 506 505 507 509 508 510 512 511 513 515 514 516 518 517 519 521 520 522 524 523 525 527 526 528 530 529 531 533 532 534 536 535 537 539 538 540 542 541 543 545 544 546 548 547 549 551 550 552 554 553 555 557 556 558 560 559 561 563 562 564 566 565 567 569 568 570 572 571 573 575 574 576 578 577 579 581 580 582 584 583 585 587 586 588 590 589 591 593 592 594 596 595 597 599 598 600 602 601 603 605 604 606 608 607 609 611 610 612 614 613 615 617 616 618 620 619 621 623 622 624 626 625 627 629 628 630 632 631 633 635 634 636 638 637 639 641 640 642 644 643 645 647 646 648 0 !NPHI: dihedrals 0 !NIMPHI: impropers 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 !NGRP protomol/examples/water_648/water648.tip3.par0100644027616700000500000001071610237151527020331 0ustar pbrenne1dip REMARKS Charmm parameter set for water and ions v22 b4 REMARKS FILENAME="water+ions.par" SET ECHO=FALSE END {>>>>>>>>>> Developmental Parameter File for Proteins <<<<<<<<<< >>>>>>>>>>>>>>>>> Using All Hydrogens (ALLH) <<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>> Jan 1993 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>> Direct comments to Alexander D. MacKerell Jr. <<<<<<<<< >>>>>> 410-706-7442 or bitnet: alex,tammy.harvard.edu <<<<<<<<< These files are a beta release; additional parameter development and testing may lead to alteration of the contents.} !----------------------------------------------------------------------------------------------- ! VARIOUS BOND PARAMETERS: Force Constant, Equilibrium Radius !----------------------------------------------------------------------------------------------- BOND HT HT .000 {SD=999999.000} 1.514 ! ALLOW WAT ! FROM TIPS3P GEOMETRY (FOR SHAKE/W PARAM) BOND OT HT 450.000 {SD= .026} .957 ! ALLOW WAT ! FROM TIPS3P GEOM !------------------------------------------------------------------------------------------------------ ! VARIOUS ANGLE PARAMETERS: Force Constant, Equilibrium Angle, Urie-Bradley Force Const., ! U.-B. equilibrium (if any) !------------------------------------------------------------------------------------------------------ ANGLE HT OT HT 55.00 {SD= .073} 104.5200 ! ALLOW WAT ! TIP3P GEOMETRY, ADM JR. !------------------------------------------------------------------------------------------------- ! VAN-DER-VAALS PARAMETERS: Energy Well Depth, Distance of Minimum(div. by 2**1/6) ! for "atoms itself", i.e. for X-X interactions; for X-Y interactions the parameters ! values are taken as arithmetic mean of appropriate "atomic" parameters. ! "(1:4)" values refer to special intramolecular interactions between atoms connected through ! three bonds. These interactions are taken into consideration only when NBXMOD switch is set ! to 5 in NBONDS...END statement, which is taken for default (see 10 lines above). !------------------------------------------------------------------------------------------------- NONBONDED HT .0460 .4000 .0460 .4000 ! ALLOW WAT !TIP3P HYDROGEN PARAMETERS, adm jr., NBFIX obsolete NONBONDED OT .1521 3.1506 .1521 3.1506 ! ALLOW WAT !TIP3P OXYGEN PARAMETERS, adm jr., NBFIX obsolete NONBONDED CAL .1200 3.0469 .1200 3.0469 ! ALLOW ION ! optimized before july 89, and need polarization term (BP) NONBONDED ZN .2500 1.9422 .2500 1.9422 ! ALLOW ION ! RHS March 18, 1990 NONBONDED CLA .1500 4.2763 .1500 4.2763 ! chloride anion NONBONDED SOD .1000 2.7297 .1000 2.7297 ! from Benoit Roux NONBONDED MG .0010 2.9400 .0010 2.9400 ! from Blaise Prodhom NONBONDED K .1000 2.7297 .1000 2.7297 ! for Lawerence !------------------------------------------------------------------------------------------------- ! VAN-DER-VAALS PARAMETERS: A,B ! for some specific atom pairs. They related to the parameters above as: ! A = 4 * Eps * Sig**12 = E * R**2, ! B = 4 * Eps * Sig**6 = 2 * E * R**6. !------------------------------------------------------------------------------------------------- ! A B A(1:4) B(1:4) ! NBFIX SOD OT 82964.866 439.895 82964.866 439.895 ! from Benoit Roux ! NBFIX SOD ON1 7812.117 55.900 7812.117 55.900 ! from Benoit Roux ! NBFIX MG OT 84928.658 1626.769 84928.658 1626.769 ! From Blaise Prodhom ! NBFIX MG ON1 46273.255 2720.978 46273.255 2720.978 ! From Blaise Prodhom ! NBFIX MG ON2 84928.658 1626.769 84928.658 1626.769 ! From Blaise Prodhom ! NBFIX MG ON3 36779.138 857.661 36779.138 857.661 ! From Blaise Prodhom ! NBFIX MG ON4 84928.658 1626.769 84928.658 1626.769 ! From Blaise Prodhom ! NBFIX MG ON5 84928.658 1626.769 84928.658 1626.769 ! From Blaise Prodhom ! NBFIX MG ON6 84928.658 1626.769 84928.658 1626.769 ! From Blaise Prodhom !--------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------- SET ECHO=TRUE END protomol/examples/water_648/water648.tip3.psf0100644027616700000500000016154710237151527020350 0ustar pbrenne1dipPSF 2 !NTITLE REMARKS Filename= FinalSPCF.PSF REMARKS Molecular structure file for 216 molecules. 648 !NATOM 1 WATR 1 TIP3 OH2 OT -0.847600 15.9994 0 2 WATR 1 TIP3 H1 HT 0.423800 1.0080 0 3 WATR 1 TIP3 H2 HT 0.423800 1.0080 0 4 WATR 2 TIP3 OH2 OT -0.847600 15.9994 0 5 WATR 2 TIP3 H1 HT 0.423800 1.0080 0 6 WATR 2 TIP3 H2 HT 0.423800 1.0080 0 7 WATR 3 TIP3 OH2 OT -0.847600 15.9994 0 8 WATR 3 TIP3 H1 HT 0.423800 1.0080 0 9 WATR 3 TIP3 H2 HT 0.423800 1.0080 0 10 WATR 4 TIP3 OH2 OT -0.847600 15.9994 0 11 WATR 4 TIP3 H1 HT 0.423800 1.0080 0 12 WATR 4 TIP3 H2 HT 0.423800 1.0080 0 13 WATR 5 TIP3 OH2 OT -0.847600 15.9994 0 14 WATR 5 TIP3 H1 HT 0.423800 1.0080 0 15 WATR 5 TIP3 H2 HT 0.423800 1.0080 0 16 WATR 6 TIP3 OH2 OT -0.847600 15.9994 0 17 WATR 6 TIP3 H1 HT 0.423800 1.0080 0 18 WATR 6 TIP3 H2 HT 0.423800 1.0080 0 19 WATR 7 TIP3 OH2 OT -0.847600 15.9994 0 20 WATR 7 TIP3 H1 HT 0.423800 1.0080 0 21 WATR 7 TIP3 H2 HT 0.423800 1.0080 0 22 WATR 8 TIP3 OH2 OT -0.847600 15.9994 0 23 WATR 8 TIP3 H1 HT 0.423800 1.0080 0 24 WATR 8 TIP3 H2 HT 0.423800 1.0080 0 25 WATR 9 TIP3 OH2 OT -0.847600 15.9994 0 26 WATR 9 TIP3 H1 HT 0.423800 1.0080 0 27 WATR 9 TIP3 H2 HT 0.423800 1.0080 0 28 WATR 10 TIP3 OH2 OT -0.847600 15.9994 0 29 WATR 10 TIP3 H1 HT 0.423800 1.0080 0 30 WATR 10 TIP3 H2 HT 0.423800 1.0080 0 31 WATR 11 TIP3 OH2 OT -0.847600 15.9994 0 32 WATR 11 TIP3 H1 HT 0.423800 1.0080 0 33 WATR 11 TIP3 H2 HT 0.423800 1.0080 0 34 WATR 12 TIP3 OH2 OT -0.847600 15.9994 0 35 WATR 12 TIP3 H1 HT 0.423800 1.0080 0 36 WATR 12 TIP3 H2 HT 0.423800 1.0080 0 37 WATR 13 TIP3 OH2 OT -0.847600 15.9994 0 38 WATR 13 TIP3 H1 HT 0.423800 1.0080 0 39 WATR 13 TIP3 H2 HT 0.423800 1.0080 0 40 WATR 14 TIP3 OH2 OT -0.847600 15.9994 0 41 WATR 14 TIP3 H1 HT 0.423800 1.0080 0 42 WATR 14 TIP3 H2 HT 0.423800 1.0080 0 43 WATR 15 TIP3 OH2 OT -0.847600 15.9994 0 44 WATR 15 TIP3 H1 HT 0.423800 1.0080 0 45 WATR 15 TIP3 H2 HT 0.423800 1.0080 0 46 WATR 16 TIP3 OH2 OT -0.847600 15.9994 0 47 WATR 16 TIP3 H1 HT 0.423800 1.0080 0 48 WATR 16 TIP3 H2 HT 0.423800 1.0080 0 49 WATR 17 TIP3 OH2 OT -0.847600 15.9994 0 50 WATR 17 TIP3 H1 HT 0.423800 1.0080 0 51 WATR 17 TIP3 H2 HT 0.423800 1.0080 0 52 WATR 18 TIP3 OH2 OT -0.847600 15.9994 0 53 WATR 18 TIP3 H1 HT 0.423800 1.0080 0 54 WATR 18 TIP3 H2 HT 0.423800 1.0080 0 55 WATR 19 TIP3 OH2 OT -0.847600 15.9994 0 56 WATR 19 TIP3 H1 HT 0.423800 1.0080 0 57 WATR 19 TIP3 H2 HT 0.423800 1.0080 0 58 WATR 20 TIP3 OH2 OT -0.847600 15.9994 0 59 WATR 20 TIP3 H1 HT 0.423800 1.0080 0 60 WATR 20 TIP3 H2 HT 0.423800 1.0080 0 61 WATR 21 TIP3 OH2 OT -0.847600 15.9994 0 62 WATR 21 TIP3 H1 HT 0.423800 1.0080 0 63 WATR 21 TIP3 H2 HT 0.423800 1.0080 0 64 WATR 22 TIP3 OH2 OT -0.847600 15.9994 0 65 WATR 22 TIP3 H1 HT 0.423800 1.0080 0 66 WATR 22 TIP3 H2 HT 0.423800 1.0080 0 67 WATR 23 TIP3 OH2 OT -0.847600 15.9994 0 68 WATR 23 TIP3 H1 HT 0.423800 1.0080 0 69 WATR 23 TIP3 H2 HT 0.423800 1.0080 0 70 WATR 24 TIP3 OH2 OT -0.847600 15.9994 0 71 WATR 24 TIP3 H1 HT 0.423800 1.0080 0 72 WATR 24 TIP3 H2 HT 0.423800 1.0080 0 73 WATR 25 TIP3 OH2 OT -0.847600 15.9994 0 74 WATR 25 TIP3 H1 HT 0.423800 1.0080 0 75 WATR 25 TIP3 H2 HT 0.423800 1.0080 0 76 WATR 26 TIP3 OH2 OT -0.847600 15.9994 0 77 WATR 26 TIP3 H1 HT 0.423800 1.0080 0 78 WATR 26 TIP3 H2 HT 0.423800 1.0080 0 79 WATR 27 TIP3 OH2 OT -0.847600 15.9994 0 80 WATR 27 TIP3 H1 HT 0.423800 1.0080 0 81 WATR 27 TIP3 H2 HT 0.423800 1.0080 0 82 WATR 28 TIP3 OH2 OT -0.847600 15.9994 0 83 WATR 28 TIP3 H1 HT 0.423800 1.0080 0 84 WATR 28 TIP3 H2 HT 0.423800 1.0080 0 85 WATR 29 TIP3 OH2 OT -0.847600 15.9994 0 86 WATR 29 TIP3 H1 HT 0.423800 1.0080 0 87 WATR 29 TIP3 H2 HT 0.423800 1.0080 0 88 WATR 30 TIP3 OH2 OT -0.847600 15.9994 0 89 WATR 30 TIP3 H1 HT 0.423800 1.0080 0 90 WATR 30 TIP3 H2 HT 0.423800 1.0080 0 91 WATR 31 TIP3 OH2 OT -0.847600 15.9994 0 92 WATR 31 TIP3 H1 HT 0.423800 1.0080 0 93 WATR 31 TIP3 H2 HT 0.423800 1.0080 0 94 WATR 32 TIP3 OH2 OT -0.847600 15.9994 0 95 WATR 32 TIP3 H1 HT 0.423800 1.0080 0 96 WATR 32 TIP3 H2 HT 0.423800 1.0080 0 97 WATR 33 TIP3 OH2 OT -0.847600 15.9994 0 98 WATR 33 TIP3 H1 HT 0.423800 1.0080 0 99 WATR 33 TIP3 H2 HT 0.423800 1.0080 0 100 WATR 34 TIP3 OH2 OT -0.847600 15.9994 0 101 WATR 34 TIP3 H1 HT 0.423800 1.0080 0 102 WATR 34 TIP3 H2 HT 0.423800 1.0080 0 103 WATR 35 TIP3 OH2 OT -0.847600 15.9994 0 104 WATR 35 TIP3 H1 HT 0.423800 1.0080 0 105 WATR 35 TIP3 H2 HT 0.423800 1.0080 0 106 WATR 36 TIP3 OH2 OT -0.847600 15.9994 0 107 WATR 36 TIP3 H1 HT 0.423800 1.0080 0 108 WATR 36 TIP3 H2 HT 0.423800 1.0080 0 109 WATR 37 TIP3 OH2 OT -0.847600 15.9994 0 110 WATR 37 TIP3 H1 HT 0.423800 1.0080 0 111 WATR 37 TIP3 H2 HT 0.423800 1.0080 0 112 WATR 38 TIP3 OH2 OT -0.847600 15.9994 0 113 WATR 38 TIP3 H1 HT 0.423800 1.0080 0 114 WATR 38 TIP3 H2 HT 0.423800 1.0080 0 115 WATR 39 TIP3 OH2 OT -0.847600 15.9994 0 116 WATR 39 TIP3 H1 HT 0.423800 1.0080 0 117 WATR 39 TIP3 H2 HT 0.423800 1.0080 0 118 WATR 40 TIP3 OH2 OT -0.847600 15.9994 0 119 WATR 40 TIP3 H1 HT 0.423800 1.0080 0 120 WATR 40 TIP3 H2 HT 0.423800 1.0080 0 121 WATR 41 TIP3 OH2 OT -0.847600 15.9994 0 122 WATR 41 TIP3 H1 HT 0.423800 1.0080 0 123 WATR 41 TIP3 H2 HT 0.423800 1.0080 0 124 WATR 42 TIP3 OH2 OT -0.847600 15.9994 0 125 WATR 42 TIP3 H1 HT 0.423800 1.0080 0 126 WATR 42 TIP3 H2 HT 0.423800 1.0080 0 127 WATR 43 TIP3 OH2 OT -0.847600 15.9994 0 128 WATR 43 TIP3 H1 HT 0.423800 1.0080 0 129 WATR 43 TIP3 H2 HT 0.423800 1.0080 0 130 WATR 44 TIP3 OH2 OT -0.847600 15.9994 0 131 WATR 44 TIP3 H1 HT 0.423800 1.0080 0 132 WATR 44 TIP3 H2 HT 0.423800 1.0080 0 133 WATR 45 TIP3 OH2 OT -0.847600 15.9994 0 134 WATR 45 TIP3 H1 HT 0.423800 1.0080 0 135 WATR 45 TIP3 H2 HT 0.423800 1.0080 0 136 WATR 46 TIP3 OH2 OT -0.847600 15.9994 0 137 WATR 46 TIP3 H1 HT 0.423800 1.0080 0 138 WATR 46 TIP3 H2 HT 0.423800 1.0080 0 139 WATR 47 TIP3 OH2 OT -0.847600 15.9994 0 140 WATR 47 TIP3 H1 HT 0.423800 1.0080 0 141 WATR 47 TIP3 H2 HT 0.423800 1.0080 0 142 WATR 48 TIP3 OH2 OT -0.847600 15.9994 0 143 WATR 48 TIP3 H1 HT 0.423800 1.0080 0 144 WATR 48 TIP3 H2 HT 0.423800 1.0080 0 145 WATR 49 TIP3 OH2 OT -0.847600 15.9994 0 146 WATR 49 TIP3 H1 HT 0.423800 1.0080 0 147 WATR 49 TIP3 H2 HT 0.423800 1.0080 0 148 WATR 50 TIP3 OH2 OT -0.847600 15.9994 0 149 WATR 50 TIP3 H1 HT 0.423800 1.0080 0 150 WATR 50 TIP3 H2 HT 0.423800 1.0080 0 151 WATR 51 TIP3 OH2 OT -0.847600 15.9994 0 152 WATR 51 TIP3 H1 HT 0.423800 1.0080 0 153 WATR 51 TIP3 H2 HT 0.423800 1.0080 0 154 WATR 52 TIP3 OH2 OT -0.847600 15.9994 0 155 WATR 52 TIP3 H1 HT 0.423800 1.0080 0 156 WATR 52 TIP3 H2 HT 0.423800 1.0080 0 157 WATR 53 TIP3 OH2 OT -0.847600 15.9994 0 158 WATR 53 TIP3 H1 HT 0.423800 1.0080 0 159 WATR 53 TIP3 H2 HT 0.423800 1.0080 0 160 WATR 54 TIP3 OH2 OT -0.847600 15.9994 0 161 WATR 54 TIP3 H1 HT 0.423800 1.0080 0 162 WATR 54 TIP3 H2 HT 0.423800 1.0080 0 163 WATR 55 TIP3 OH2 OT -0.847600 15.9994 0 164 WATR 55 TIP3 H1 HT 0.423800 1.0080 0 165 WATR 55 TIP3 H2 HT 0.423800 1.0080 0 166 WATR 56 TIP3 OH2 OT -0.847600 15.9994 0 167 WATR 56 TIP3 H1 HT 0.423800 1.0080 0 168 WATR 56 TIP3 H2 HT 0.423800 1.0080 0 169 WATR 57 TIP3 OH2 OT -0.847600 15.9994 0 170 WATR 57 TIP3 H1 HT 0.423800 1.0080 0 171 WATR 57 TIP3 H2 HT 0.423800 1.0080 0 172 WATR 58 TIP3 OH2 OT -0.847600 15.9994 0 173 WATR 58 TIP3 H1 HT 0.423800 1.0080 0 174 WATR 58 TIP3 H2 HT 0.423800 1.0080 0 175 WATR 59 TIP3 OH2 OT -0.847600 15.9994 0 176 WATR 59 TIP3 H1 HT 0.423800 1.0080 0 177 WATR 59 TIP3 H2 HT 0.423800 1.0080 0 178 WATR 60 TIP3 OH2 OT -0.847600 15.9994 0 179 WATR 60 TIP3 H1 HT 0.423800 1.0080 0 180 WATR 60 TIP3 H2 HT 0.423800 1.0080 0 181 WATR 61 TIP3 OH2 OT -0.847600 15.9994 0 182 WATR 61 TIP3 H1 HT 0.423800 1.0080 0 183 WATR 61 TIP3 H2 HT 0.423800 1.0080 0 184 WATR 62 TIP3 OH2 OT -0.847600 15.9994 0 185 WATR 62 TIP3 H1 HT 0.423800 1.0080 0 186 WATR 62 TIP3 H2 HT 0.423800 1.0080 0 187 WATR 63 TIP3 OH2 OT -0.847600 15.9994 0 188 WATR 63 TIP3 H1 HT 0.423800 1.0080 0 189 WATR 63 TIP3 H2 HT 0.423800 1.0080 0 190 WATR 64 TIP3 OH2 OT -0.847600 15.9994 0 191 WATR 64 TIP3 H1 HT 0.423800 1.0080 0 192 WATR 64 TIP3 H2 HT 0.423800 1.0080 0 193 WATR 65 TIP3 OH2 OT -0.847600 15.9994 0 194 WATR 65 TIP3 H1 HT 0.423800 1.0080 0 195 WATR 65 TIP3 H2 HT 0.423800 1.0080 0 196 WATR 66 TIP3 OH2 OT -0.847600 15.9994 0 197 WATR 66 TIP3 H1 HT 0.423800 1.0080 0 198 WATR 66 TIP3 H2 HT 0.423800 1.0080 0 199 WATR 67 TIP3 OH2 OT -0.847600 15.9994 0 200 WATR 67 TIP3 H1 HT 0.423800 1.0080 0 201 WATR 67 TIP3 H2 HT 0.423800 1.0080 0 202 WATR 68 TIP3 OH2 OT -0.847600 15.9994 0 203 WATR 68 TIP3 H1 HT 0.423800 1.0080 0 204 WATR 68 TIP3 H2 HT 0.423800 1.0080 0 205 WATR 69 TIP3 OH2 OT -0.847600 15.9994 0 206 WATR 69 TIP3 H1 HT 0.423800 1.0080 0 207 WATR 69 TIP3 H2 HT 0.423800 1.0080 0 208 WATR 70 TIP3 OH2 OT -0.847600 15.9994 0 209 WATR 70 TIP3 H1 HT 0.423800 1.0080 0 210 WATR 70 TIP3 H2 HT 0.423800 1.0080 0 211 WATR 71 TIP3 OH2 OT -0.847600 15.9994 0 212 WATR 71 TIP3 H1 HT 0.423800 1.0080 0 213 WATR 71 TIP3 H2 HT 0.423800 1.0080 0 214 WATR 72 TIP3 OH2 OT -0.847600 15.9994 0 215 WATR 72 TIP3 H1 HT 0.423800 1.0080 0 216 WATR 72 TIP3 H2 HT 0.423800 1.0080 0 217 WATR 73 TIP3 OH2 OT -0.847600 15.9994 0 218 WATR 73 TIP3 H1 HT 0.423800 1.0080 0 219 WATR 73 TIP3 H2 HT 0.423800 1.0080 0 220 WATR 74 TIP3 OH2 OT -0.847600 15.9994 0 221 WATR 74 TIP3 H1 HT 0.423800 1.0080 0 222 WATR 74 TIP3 H2 HT 0.423800 1.0080 0 223 WATR 75 TIP3 OH2 OT -0.847600 15.9994 0 224 WATR 75 TIP3 H1 HT 0.423800 1.0080 0 225 WATR 75 TIP3 H2 HT 0.423800 1.0080 0 226 WATR 76 TIP3 OH2 OT -0.847600 15.9994 0 227 WATR 76 TIP3 H1 HT 0.423800 1.0080 0 228 WATR 76 TIP3 H2 HT 0.423800 1.0080 0 229 WATR 77 TIP3 OH2 OT -0.847600 15.9994 0 230 WATR 77 TIP3 H1 HT 0.423800 1.0080 0 231 WATR 77 TIP3 H2 HT 0.423800 1.0080 0 232 WATR 78 TIP3 OH2 OT -0.847600 15.9994 0 233 WATR 78 TIP3 H1 HT 0.423800 1.0080 0 234 WATR 78 TIP3 H2 HT 0.423800 1.0080 0 235 WATR 79 TIP3 OH2 OT -0.847600 15.9994 0 236 WATR 79 TIP3 H1 HT 0.423800 1.0080 0 237 WATR 79 TIP3 H2 HT 0.423800 1.0080 0 238 WATR 80 TIP3 OH2 OT -0.847600 15.9994 0 239 WATR 80 TIP3 H1 HT 0.423800 1.0080 0 240 WATR 80 TIP3 H2 HT 0.423800 1.0080 0 241 WATR 81 TIP3 OH2 OT -0.847600 15.9994 0 242 WATR 81 TIP3 H1 HT 0.423800 1.0080 0 243 WATR 81 TIP3 H2 HT 0.423800 1.0080 0 244 WATR 82 TIP3 OH2 OT -0.847600 15.9994 0 245 WATR 82 TIP3 H1 HT 0.423800 1.0080 0 246 WATR 82 TIP3 H2 HT 0.423800 1.0080 0 247 WATR 83 TIP3 OH2 OT -0.847600 15.9994 0 248 WATR 83 TIP3 H1 HT 0.423800 1.0080 0 249 WATR 83 TIP3 H2 HT 0.423800 1.0080 0 250 WATR 84 TIP3 OH2 OT -0.847600 15.9994 0 251 WATR 84 TIP3 H1 HT 0.423800 1.0080 0 252 WATR 84 TIP3 H2 HT 0.423800 1.0080 0 253 WATR 85 TIP3 OH2 OT -0.847600 15.9994 0 254 WATR 85 TIP3 H1 HT 0.423800 1.0080 0 255 WATR 85 TIP3 H2 HT 0.423800 1.0080 0 256 WATR 86 TIP3 OH2 OT -0.847600 15.9994 0 257 WATR 86 TIP3 H1 HT 0.423800 1.0080 0 258 WATR 86 TIP3 H2 HT 0.423800 1.0080 0 259 WATR 87 TIP3 OH2 OT -0.847600 15.9994 0 260 WATR 87 TIP3 H1 HT 0.423800 1.0080 0 261 WATR 87 TIP3 H2 HT 0.423800 1.0080 0 262 WATR 88 TIP3 OH2 OT -0.847600 15.9994 0 263 WATR 88 TIP3 H1 HT 0.423800 1.0080 0 264 WATR 88 TIP3 H2 HT 0.423800 1.0080 0 265 WATR 89 TIP3 OH2 OT -0.847600 15.9994 0 266 WATR 89 TIP3 H1 HT 0.423800 1.0080 0 267 WATR 89 TIP3 H2 HT 0.423800 1.0080 0 268 WATR 90 TIP3 OH2 OT -0.847600 15.9994 0 269 WATR 90 TIP3 H1 HT 0.423800 1.0080 0 270 WATR 90 TIP3 H2 HT 0.423800 1.0080 0 271 WATR 91 TIP3 OH2 OT -0.847600 15.9994 0 272 WATR 91 TIP3 H1 HT 0.423800 1.0080 0 273 WATR 91 TIP3 H2 HT 0.423800 1.0080 0 274 WATR 92 TIP3 OH2 OT -0.847600 15.9994 0 275 WATR 92 TIP3 H1 HT 0.423800 1.0080 0 276 WATR 92 TIP3 H2 HT 0.423800 1.0080 0 277 WATR 93 TIP3 OH2 OT -0.847600 15.9994 0 278 WATR 93 TIP3 H1 HT 0.423800 1.0080 0 279 WATR 93 TIP3 H2 HT 0.423800 1.0080 0 280 WATR 94 TIP3 OH2 OT -0.847600 15.9994 0 281 WATR 94 TIP3 H1 HT 0.423800 1.0080 0 282 WATR 94 TIP3 H2 HT 0.423800 1.0080 0 283 WATR 95 TIP3 OH2 OT -0.847600 15.9994 0 284 WATR 95 TIP3 H1 HT 0.423800 1.0080 0 285 WATR 95 TIP3 H2 HT 0.423800 1.0080 0 286 WATR 96 TIP3 OH2 OT -0.847600 15.9994 0 287 WATR 96 TIP3 H1 HT 0.423800 1.0080 0 288 WATR 96 TIP3 H2 HT 0.423800 1.0080 0 289 WATR 97 TIP3 OH2 OT -0.847600 15.9994 0 290 WATR 97 TIP3 H1 HT 0.423800 1.0080 0 291 WATR 97 TIP3 H2 HT 0.423800 1.0080 0 292 WATR 98 TIP3 OH2 OT -0.847600 15.9994 0 293 WATR 98 TIP3 H1 HT 0.423800 1.0080 0 294 WATR 98 TIP3 H2 HT 0.423800 1.0080 0 295 WATR 99 TIP3 OH2 OT -0.847600 15.9994 0 296 WATR 99 TIP3 H1 HT 0.423800 1.0080 0 297 WATR 99 TIP3 H2 HT 0.423800 1.0080 0 298 WATR 100 TIP3 OH2 OT -0.847600 15.9994 0 299 WATR 100 TIP3 H1 HT 0.423800 1.0080 0 300 WATR 100 TIP3 H2 HT 0.423800 1.0080 0 301 WATR 101 TIP3 OH2 OT -0.847600 15.9994 0 302 WATR 101 TIP3 H1 HT 0.423800 1.0080 0 303 WATR 101 TIP3 H2 HT 0.423800 1.0080 0 304 WATR 102 TIP3 OH2 OT -0.847600 15.9994 0 305 WATR 102 TIP3 H1 HT 0.423800 1.0080 0 306 WATR 102 TIP3 H2 HT 0.423800 1.0080 0 307 WATR 103 TIP3 OH2 OT -0.847600 15.9994 0 308 WATR 103 TIP3 H1 HT 0.423800 1.0080 0 309 WATR 103 TIP3 H2 HT 0.423800 1.0080 0 310 WATR 104 TIP3 OH2 OT -0.847600 15.9994 0 311 WATR 104 TIP3 H1 HT 0.423800 1.0080 0 312 WATR 104 TIP3 H2 HT 0.423800 1.0080 0 313 WATR 105 TIP3 OH2 OT -0.847600 15.9994 0 314 WATR 105 TIP3 H1 HT 0.423800 1.0080 0 315 WATR 105 TIP3 H2 HT 0.423800 1.0080 0 316 WATR 106 TIP3 OH2 OT -0.847600 15.9994 0 317 WATR 106 TIP3 H1 HT 0.423800 1.0080 0 318 WATR 106 TIP3 H2 HT 0.423800 1.0080 0 319 WATR 107 TIP3 OH2 OT -0.847600 15.9994 0 320 WATR 107 TIP3 H1 HT 0.423800 1.0080 0 321 WATR 107 TIP3 H2 HT 0.423800 1.0080 0 322 WATR 108 TIP3 OH2 OT -0.847600 15.9994 0 323 WATR 108 TIP3 H1 HT 0.423800 1.0080 0 324 WATR 108 TIP3 H2 HT 0.423800 1.0080 0 325 WATR 109 TIP3 OH2 OT -0.847600 15.9994 0 326 WATR 109 TIP3 H1 HT 0.423800 1.0080 0 327 WATR 109 TIP3 H2 HT 0.423800 1.0080 0 328 WATR 110 TIP3 OH2 OT -0.847600 15.9994 0 329 WATR 110 TIP3 H1 HT 0.423800 1.0080 0 330 WATR 110 TIP3 H2 HT 0.423800 1.0080 0 331 WATR 111 TIP3 OH2 OT -0.847600 15.9994 0 332 WATR 111 TIP3 H1 HT 0.423800 1.0080 0 333 WATR 111 TIP3 H2 HT 0.423800 1.0080 0 334 WATR 112 TIP3 OH2 OT -0.847600 15.9994 0 335 WATR 112 TIP3 H1 HT 0.423800 1.0080 0 336 WATR 112 TIP3 H2 HT 0.423800 1.0080 0 337 WATR 113 TIP3 OH2 OT -0.847600 15.9994 0 338 WATR 113 TIP3 H1 HT 0.423800 1.0080 0 339 WATR 113 TIP3 H2 HT 0.423800 1.0080 0 340 WATR 114 TIP3 OH2 OT -0.847600 15.9994 0 341 WATR 114 TIP3 H1 HT 0.423800 1.0080 0 342 WATR 114 TIP3 H2 HT 0.423800 1.0080 0 343 WATR 115 TIP3 OH2 OT -0.847600 15.9994 0 344 WATR 115 TIP3 H1 HT 0.423800 1.0080 0 345 WATR 115 TIP3 H2 HT 0.423800 1.0080 0 346 WATR 116 TIP3 OH2 OT -0.847600 15.9994 0 347 WATR 116 TIP3 H1 HT 0.423800 1.0080 0 348 WATR 116 TIP3 H2 HT 0.423800 1.0080 0 349 WATR 117 TIP3 OH2 OT -0.847600 15.9994 0 350 WATR 117 TIP3 H1 HT 0.423800 1.0080 0 351 WATR 117 TIP3 H2 HT 0.423800 1.0080 0 352 WATR 118 TIP3 OH2 OT -0.847600 15.9994 0 353 WATR 118 TIP3 H1 HT 0.423800 1.0080 0 354 WATR 118 TIP3 H2 HT 0.423800 1.0080 0 355 WATR 119 TIP3 OH2 OT -0.847600 15.9994 0 356 WATR 119 TIP3 H1 HT 0.423800 1.0080 0 357 WATR 119 TIP3 H2 HT 0.423800 1.0080 0 358 WATR 120 TIP3 OH2 OT -0.847600 15.9994 0 359 WATR 120 TIP3 H1 HT 0.423800 1.0080 0 360 WATR 120 TIP3 H2 HT 0.423800 1.0080 0 361 WATR 121 TIP3 OH2 OT -0.847600 15.9994 0 362 WATR 121 TIP3 H1 HT 0.423800 1.0080 0 363 WATR 121 TIP3 H2 HT 0.423800 1.0080 0 364 WATR 122 TIP3 OH2 OT -0.847600 15.9994 0 365 WATR 122 TIP3 H1 HT 0.423800 1.0080 0 366 WATR 122 TIP3 H2 HT 0.423800 1.0080 0 367 WATR 123 TIP3 OH2 OT -0.847600 15.9994 0 368 WATR 123 TIP3 H1 HT 0.423800 1.0080 0 369 WATR 123 TIP3 H2 HT 0.423800 1.0080 0 370 WATR 124 TIP3 OH2 OT -0.847600 15.9994 0 371 WATR 124 TIP3 H1 HT 0.423800 1.0080 0 372 WATR 124 TIP3 H2 HT 0.423800 1.0080 0 373 WATR 125 TIP3 OH2 OT -0.847600 15.9994 0 374 WATR 125 TIP3 H1 HT 0.423800 1.0080 0 375 WATR 125 TIP3 H2 HT 0.423800 1.0080 0 376 WATR 126 TIP3 OH2 OT -0.847600 15.9994 0 377 WATR 126 TIP3 H1 HT 0.423800 1.0080 0 378 WATR 126 TIP3 H2 HT 0.423800 1.0080 0 379 WATR 127 TIP3 OH2 OT -0.847600 15.9994 0 380 WATR 127 TIP3 H1 HT 0.423800 1.0080 0 381 WATR 127 TIP3 H2 HT 0.423800 1.0080 0 382 WATR 128 TIP3 OH2 OT -0.847600 15.9994 0 383 WATR 128 TIP3 H1 HT 0.423800 1.0080 0 384 WATR 128 TIP3 H2 HT 0.423800 1.0080 0 385 WATR 129 TIP3 OH2 OT -0.847600 15.9994 0 386 WATR 129 TIP3 H1 HT 0.423800 1.0080 0 387 WATR 129 TIP3 H2 HT 0.423800 1.0080 0 388 WATR 130 TIP3 OH2 OT -0.847600 15.9994 0 389 WATR 130 TIP3 H1 HT 0.423800 1.0080 0 390 WATR 130 TIP3 H2 HT 0.423800 1.0080 0 391 WATR 131 TIP3 OH2 OT -0.847600 15.9994 0 392 WATR 131 TIP3 H1 HT 0.423800 1.0080 0 393 WATR 131 TIP3 H2 HT 0.423800 1.0080 0 394 WATR 132 TIP3 OH2 OT -0.847600 15.9994 0 395 WATR 132 TIP3 H1 HT 0.423800 1.0080 0 396 WATR 132 TIP3 H2 HT 0.423800 1.0080 0 397 WATR 133 TIP3 OH2 OT -0.847600 15.9994 0 398 WATR 133 TIP3 H1 HT 0.423800 1.0080 0 399 WATR 133 TIP3 H2 HT 0.423800 1.0080 0 400 WATR 134 TIP3 OH2 OT -0.847600 15.9994 0 401 WATR 134 TIP3 H1 HT 0.423800 1.0080 0 402 WATR 134 TIP3 H2 HT 0.423800 1.0080 0 403 WATR 135 TIP3 OH2 OT -0.847600 15.9994 0 404 WATR 135 TIP3 H1 HT 0.423800 1.0080 0 405 WATR 135 TIP3 H2 HT 0.423800 1.0080 0 406 WATR 136 TIP3 OH2 OT -0.847600 15.9994 0 407 WATR 136 TIP3 H1 HT 0.423800 1.0080 0 408 WATR 136 TIP3 H2 HT 0.423800 1.0080 0 409 WATR 137 TIP3 OH2 OT -0.847600 15.9994 0 410 WATR 137 TIP3 H1 HT 0.423800 1.0080 0 411 WATR 137 TIP3 H2 HT 0.423800 1.0080 0 412 WATR 138 TIP3 OH2 OT -0.847600 15.9994 0 413 WATR 138 TIP3 H1 HT 0.423800 1.0080 0 414 WATR 138 TIP3 H2 HT 0.423800 1.0080 0 415 WATR 139 TIP3 OH2 OT -0.847600 15.9994 0 416 WATR 139 TIP3 H1 HT 0.423800 1.0080 0 417 WATR 139 TIP3 H2 HT 0.423800 1.0080 0 418 WATR 140 TIP3 OH2 OT -0.847600 15.9994 0 419 WATR 140 TIP3 H1 HT 0.423800 1.0080 0 420 WATR 140 TIP3 H2 HT 0.423800 1.0080 0 421 WATR 141 TIP3 OH2 OT -0.847600 15.9994 0 422 WATR 141 TIP3 H1 HT 0.423800 1.0080 0 423 WATR 141 TIP3 H2 HT 0.423800 1.0080 0 424 WATR 142 TIP3 OH2 OT -0.847600 15.9994 0 425 WATR 142 TIP3 H1 HT 0.423800 1.0080 0 426 WATR 142 TIP3 H2 HT 0.423800 1.0080 0 427 WATR 143 TIP3 OH2 OT -0.847600 15.9994 0 428 WATR 143 TIP3 H1 HT 0.423800 1.0080 0 429 WATR 143 TIP3 H2 HT 0.423800 1.0080 0 430 WATR 144 TIP3 OH2 OT -0.847600 15.9994 0 431 WATR 144 TIP3 H1 HT 0.423800 1.0080 0 432 WATR 144 TIP3 H2 HT 0.423800 1.0080 0 433 WATR 145 TIP3 OH2 OT -0.847600 15.9994 0 434 WATR 145 TIP3 H1 HT 0.423800 1.0080 0 435 WATR 145 TIP3 H2 HT 0.423800 1.0080 0 436 WATR 146 TIP3 OH2 OT -0.847600 15.9994 0 437 WATR 146 TIP3 H1 HT 0.423800 1.0080 0 438 WATR 146 TIP3 H2 HT 0.423800 1.0080 0 439 WATR 147 TIP3 OH2 OT -0.847600 15.9994 0 440 WATR 147 TIP3 H1 HT 0.423800 1.0080 0 441 WATR 147 TIP3 H2 HT 0.423800 1.0080 0 442 WATR 148 TIP3 OH2 OT -0.847600 15.9994 0 443 WATR 148 TIP3 H1 HT 0.423800 1.0080 0 444 WATR 148 TIP3 H2 HT 0.423800 1.0080 0 445 WATR 149 TIP3 OH2 OT -0.847600 15.9994 0 446 WATR 149 TIP3 H1 HT 0.423800 1.0080 0 447 WATR 149 TIP3 H2 HT 0.423800 1.0080 0 448 WATR 150 TIP3 OH2 OT -0.847600 15.9994 0 449 WATR 150 TIP3 H1 HT 0.423800 1.0080 0 450 WATR 150 TIP3 H2 HT 0.423800 1.0080 0 451 WATR 151 TIP3 OH2 OT -0.847600 15.9994 0 452 WATR 151 TIP3 H1 HT 0.423800 1.0080 0 453 WATR 151 TIP3 H2 HT 0.423800 1.0080 0 454 WATR 152 TIP3 OH2 OT -0.847600 15.9994 0 455 WATR 152 TIP3 H1 HT 0.423800 1.0080 0 456 WATR 152 TIP3 H2 HT 0.423800 1.0080 0 457 WATR 153 TIP3 OH2 OT -0.847600 15.9994 0 458 WATR 153 TIP3 H1 HT 0.423800 1.0080 0 459 WATR 153 TIP3 H2 HT 0.423800 1.0080 0 460 WATR 154 TIP3 OH2 OT -0.847600 15.9994 0 461 WATR 154 TIP3 H1 HT 0.423800 1.0080 0 462 WATR 154 TIP3 H2 HT 0.423800 1.0080 0 463 WATR 155 TIP3 OH2 OT -0.847600 15.9994 0 464 WATR 155 TIP3 H1 HT 0.423800 1.0080 0 465 WATR 155 TIP3 H2 HT 0.423800 1.0080 0 466 WATR 156 TIP3 OH2 OT -0.847600 15.9994 0 467 WATR 156 TIP3 H1 HT 0.423800 1.0080 0 468 WATR 156 TIP3 H2 HT 0.423800 1.0080 0 469 WATR 157 TIP3 OH2 OT -0.847600 15.9994 0 470 WATR 157 TIP3 H1 HT 0.423800 1.0080 0 471 WATR 157 TIP3 H2 HT 0.423800 1.0080 0 472 WATR 158 TIP3 OH2 OT -0.847600 15.9994 0 473 WATR 158 TIP3 H1 HT 0.423800 1.0080 0 474 WATR 158 TIP3 H2 HT 0.423800 1.0080 0 475 WATR 159 TIP3 OH2 OT -0.847600 15.9994 0 476 WATR 159 TIP3 H1 HT 0.423800 1.0080 0 477 WATR 159 TIP3 H2 HT 0.423800 1.0080 0 478 WATR 160 TIP3 OH2 OT -0.847600 15.9994 0 479 WATR 160 TIP3 H1 HT 0.423800 1.0080 0 480 WATR 160 TIP3 H2 HT 0.423800 1.0080 0 481 WATR 161 TIP3 OH2 OT -0.847600 15.9994 0 482 WATR 161 TIP3 H1 HT 0.423800 1.0080 0 483 WATR 161 TIP3 H2 HT 0.423800 1.0080 0 484 WATR 162 TIP3 OH2 OT -0.847600 15.9994 0 485 WATR 162 TIP3 H1 HT 0.423800 1.0080 0 486 WATR 162 TIP3 H2 HT 0.423800 1.0080 0 487 WATR 163 TIP3 OH2 OT -0.847600 15.9994 0 488 WATR 163 TIP3 H1 HT 0.423800 1.0080 0 489 WATR 163 TIP3 H2 HT 0.423800 1.0080 0 490 WATR 164 TIP3 OH2 OT -0.847600 15.9994 0 491 WATR 164 TIP3 H1 HT 0.423800 1.0080 0 492 WATR 164 TIP3 H2 HT 0.423800 1.0080 0 493 WATR 165 TIP3 OH2 OT -0.847600 15.9994 0 494 WATR 165 TIP3 H1 HT 0.423800 1.0080 0 495 WATR 165 TIP3 H2 HT 0.423800 1.0080 0 496 WATR 166 TIP3 OH2 OT -0.847600 15.9994 0 497 WATR 166 TIP3 H1 HT 0.423800 1.0080 0 498 WATR 166 TIP3 H2 HT 0.423800 1.0080 0 499 WATR 167 TIP3 OH2 OT -0.847600 15.9994 0 500 WATR 167 TIP3 H1 HT 0.423800 1.0080 0 501 WATR 167 TIP3 H2 HT 0.423800 1.0080 0 502 WATR 168 TIP3 OH2 OT -0.847600 15.9994 0 503 WATR 168 TIP3 H1 HT 0.423800 1.0080 0 504 WATR 168 TIP3 H2 HT 0.423800 1.0080 0 505 WATR 169 TIP3 OH2 OT -0.847600 15.9994 0 506 WATR 169 TIP3 H1 HT 0.423800 1.0080 0 507 WATR 169 TIP3 H2 HT 0.423800 1.0080 0 508 WATR 170 TIP3 OH2 OT -0.847600 15.9994 0 509 WATR 170 TIP3 H1 HT 0.423800 1.0080 0 510 WATR 170 TIP3 H2 HT 0.423800 1.0080 0 511 WATR 171 TIP3 OH2 OT -0.847600 15.9994 0 512 WATR 171 TIP3 H1 HT 0.423800 1.0080 0 513 WATR 171 TIP3 H2 HT 0.423800 1.0080 0 514 WATR 172 TIP3 OH2 OT -0.847600 15.9994 0 515 WATR 172 TIP3 H1 HT 0.423800 1.0080 0 516 WATR 172 TIP3 H2 HT 0.423800 1.0080 0 517 WATR 173 TIP3 OH2 OT -0.847600 15.9994 0 518 WATR 173 TIP3 H1 HT 0.423800 1.0080 0 519 WATR 173 TIP3 H2 HT 0.423800 1.0080 0 520 WATR 174 TIP3 OH2 OT -0.847600 15.9994 0 521 WATR 174 TIP3 H1 HT 0.423800 1.0080 0 522 WATR 174 TIP3 H2 HT 0.423800 1.0080 0 523 WATR 175 TIP3 OH2 OT -0.847600 15.9994 0 524 WATR 175 TIP3 H1 HT 0.423800 1.0080 0 525 WATR 175 TIP3 H2 HT 0.423800 1.0080 0 526 WATR 176 TIP3 OH2 OT -0.847600 15.9994 0 527 WATR 176 TIP3 H1 HT 0.423800 1.0080 0 528 WATR 176 TIP3 H2 HT 0.423800 1.0080 0 529 WATR 177 TIP3 OH2 OT -0.847600 15.9994 0 530 WATR 177 TIP3 H1 HT 0.423800 1.0080 0 531 WATR 177 TIP3 H2 HT 0.423800 1.0080 0 532 WATR 178 TIP3 OH2 OT -0.847600 15.9994 0 533 WATR 178 TIP3 H1 HT 0.423800 1.0080 0 534 WATR 178 TIP3 H2 HT 0.423800 1.0080 0 535 WATR 179 TIP3 OH2 OT -0.847600 15.9994 0 536 WATR 179 TIP3 H1 HT 0.423800 1.0080 0 537 WATR 179 TIP3 H2 HT 0.423800 1.0080 0 538 WATR 180 TIP3 OH2 OT -0.847600 15.9994 0 539 WATR 180 TIP3 H1 HT 0.423800 1.0080 0 540 WATR 180 TIP3 H2 HT 0.423800 1.0080 0 541 WATR 181 TIP3 OH2 OT -0.847600 15.9994 0 542 WATR 181 TIP3 H1 HT 0.423800 1.0080 0 543 WATR 181 TIP3 H2 HT 0.423800 1.0080 0 544 WATR 182 TIP3 OH2 OT -0.847600 15.9994 0 545 WATR 182 TIP3 H1 HT 0.423800 1.0080 0 546 WATR 182 TIP3 H2 HT 0.423800 1.0080 0 547 WATR 183 TIP3 OH2 OT -0.847600 15.9994 0 548 WATR 183 TIP3 H1 HT 0.423800 1.0080 0 549 WATR 183 TIP3 H2 HT 0.423800 1.0080 0 550 WATR 184 TIP3 OH2 OT -0.847600 15.9994 0 551 WATR 184 TIP3 H1 HT 0.423800 1.0080 0 552 WATR 184 TIP3 H2 HT 0.423800 1.0080 0 553 WATR 185 TIP3 OH2 OT -0.847600 15.9994 0 554 WATR 185 TIP3 H1 HT 0.423800 1.0080 0 555 WATR 185 TIP3 H2 HT 0.423800 1.0080 0 556 WATR 186 TIP3 OH2 OT -0.847600 15.9994 0 557 WATR 186 TIP3 H1 HT 0.423800 1.0080 0 558 WATR 186 TIP3 H2 HT 0.423800 1.0080 0 559 WATR 187 TIP3 OH2 OT -0.847600 15.9994 0 560 WATR 187 TIP3 H1 HT 0.423800 1.0080 0 561 WATR 187 TIP3 H2 HT 0.423800 1.0080 0 562 WATR 188 TIP3 OH2 OT -0.847600 15.9994 0 563 WATR 188 TIP3 H1 HT 0.423800 1.0080 0 564 WATR 188 TIP3 H2 HT 0.423800 1.0080 0 565 WATR 189 TIP3 OH2 OT -0.847600 15.9994 0 566 WATR 189 TIP3 H1 HT 0.423800 1.0080 0 567 WATR 189 TIP3 H2 HT 0.423800 1.0080 0 568 WATR 190 TIP3 OH2 OT -0.847600 15.9994 0 569 WATR 190 TIP3 H1 HT 0.423800 1.0080 0 570 WATR 190 TIP3 H2 HT 0.423800 1.0080 0 571 WATR 191 TIP3 OH2 OT -0.847600 15.9994 0 572 WATR 191 TIP3 H1 HT 0.423800 1.0080 0 573 WATR 191 TIP3 H2 HT 0.423800 1.0080 0 574 WATR 192 TIP3 OH2 OT -0.847600 15.9994 0 575 WATR 192 TIP3 H1 HT 0.423800 1.0080 0 576 WATR 192 TIP3 H2 HT 0.423800 1.0080 0 577 WATR 193 TIP3 OH2 OT -0.847600 15.9994 0 578 WATR 193 TIP3 H1 HT 0.423800 1.0080 0 579 WATR 193 TIP3 H2 HT 0.423800 1.0080 0 580 WATR 194 TIP3 OH2 OT -0.847600 15.9994 0 581 WATR 194 TIP3 H1 HT 0.423800 1.0080 0 582 WATR 194 TIP3 H2 HT 0.423800 1.0080 0 583 WATR 195 TIP3 OH2 OT -0.847600 15.9994 0 584 WATR 195 TIP3 H1 HT 0.423800 1.0080 0 585 WATR 195 TIP3 H2 HT 0.423800 1.0080 0 586 WATR 196 TIP3 OH2 OT -0.847600 15.9994 0 587 WATR 196 TIP3 H1 HT 0.423800 1.0080 0 588 WATR 196 TIP3 H2 HT 0.423800 1.0080 0 589 WATR 197 TIP3 OH2 OT -0.847600 15.9994 0 590 WATR 197 TIP3 H1 HT 0.423800 1.0080 0 591 WATR 197 TIP3 H2 HT 0.423800 1.0080 0 592 WATR 198 TIP3 OH2 OT -0.847600 15.9994 0 593 WATR 198 TIP3 H1 HT 0.423800 1.0080 0 594 WATR 198 TIP3 H2 HT 0.423800 1.0080 0 595 WATR 199 TIP3 OH2 OT -0.847600 15.9994 0 596 WATR 199 TIP3 H1 HT 0.423800 1.0080 0 597 WATR 199 TIP3 H2 HT 0.423800 1.0080 0 598 WATR 200 TIP3 OH2 OT -0.847600 15.9994 0 599 WATR 200 TIP3 H1 HT 0.423800 1.0080 0 600 WATR 200 TIP3 H2 HT 0.423800 1.0080 0 601 WATR 201 TIP3 OH2 OT -0.847600 15.9994 0 602 WATR 201 TIP3 H1 HT 0.423800 1.0080 0 603 WATR 201 TIP3 H2 HT 0.423800 1.0080 0 604 WATR 202 TIP3 OH2 OT -0.847600 15.9994 0 605 WATR 202 TIP3 H1 HT 0.423800 1.0080 0 606 WATR 202 TIP3 H2 HT 0.423800 1.0080 0 607 WATR 203 TIP3 OH2 OT -0.847600 15.9994 0 608 WATR 203 TIP3 H1 HT 0.423800 1.0080 0 609 WATR 203 TIP3 H2 HT 0.423800 1.0080 0 610 WATR 204 TIP3 OH2 OT -0.847600 15.9994 0 611 WATR 204 TIP3 H1 HT 0.423800 1.0080 0 612 WATR 204 TIP3 H2 HT 0.423800 1.0080 0 613 WATR 205 TIP3 OH2 OT -0.847600 15.9994 0 614 WATR 205 TIP3 H1 HT 0.423800 1.0080 0 615 WATR 205 TIP3 H2 HT 0.423800 1.0080 0 616 WATR 206 TIP3 OH2 OT -0.847600 15.9994 0 617 WATR 206 TIP3 H1 HT 0.423800 1.0080 0 618 WATR 206 TIP3 H2 HT 0.423800 1.0080 0 619 WATR 207 TIP3 OH2 OT -0.847600 15.9994 0 620 WATR 207 TIP3 H1 HT 0.423800 1.0080 0 621 WATR 207 TIP3 H2 HT 0.423800 1.0080 0 622 WATR 208 TIP3 OH2 OT -0.847600 15.9994 0 623 WATR 208 TIP3 H1 HT 0.423800 1.0080 0 624 WATR 208 TIP3 H2 HT 0.423800 1.0080 0 625 WATR 209 TIP3 OH2 OT -0.847600 15.9994 0 626 WATR 209 TIP3 H1 HT 0.423800 1.0080 0 627 WATR 209 TIP3 H2 HT 0.423800 1.0080 0 628 WATR 210 TIP3 OH2 OT -0.847600 15.9994 0 629 WATR 210 TIP3 H1 HT 0.423800 1.0080 0 630 WATR 210 TIP3 H2 HT 0.423800 1.0080 0 631 WATR 211 TIP3 OH2 OT -0.847600 15.9994 0 632 WATR 211 TIP3 H1 HT 0.423800 1.0080 0 633 WATR 211 TIP3 H2 HT 0.423800 1.0080 0 634 WATR 212 TIP3 OH2 OT -0.847600 15.9994 0 635 WATR 212 TIP3 H1 HT 0.423800 1.0080 0 636 WATR 212 TIP3 H2 HT 0.423800 1.0080 0 637 WATR 213 TIP3 OH2 OT -0.847600 15.9994 0 638 WATR 213 TIP3 H1 HT 0.423800 1.0080 0 639 WATR 213 TIP3 H2 HT 0.423800 1.0080 0 640 WATR 214 TIP3 OH2 OT -0.847600 15.9994 0 641 WATR 214 TIP3 H1 HT 0.423800 1.0080 0 642 WATR 214 TIP3 H2 HT 0.423800 1.0080 0 643 WATR 215 TIP3 OH2 OT -0.847600 15.9994 0 644 WATR 215 TIP3 H1 HT 0.423800 1.0080 0 645 WATR 215 TIP3 H2 HT 0.423800 1.0080 0 646 WATR 216 TIP3 OH2 OT -0.847600 15.9994 0 647 WATR 216 TIP3 H1 HT 0.423800 1.0080 0 648 WATR 216 TIP3 H2 HT 0.423800 1.0080 0 432 !NBOND: bonds 1 2 1 3 4 5 4 6 7 8 7 9 10 11 10 12 13 14 13 15 16 17 16 18 19 20 19 21 22 23 22 24 25 26 25 27 28 29 28 30 31 32 31 33 34 35 34 36 37 38 37 39 40 41 40 42 43 44 43 45 46 47 46 48 49 50 49 51 52 53 52 54 55 56 55 57 58 59 58 60 61 62 61 63 64 65 64 66 67 68 67 69 70 71 70 72 73 74 73 75 76 77 76 78 79 80 79 81 82 83 82 84 85 86 85 87 88 89 88 90 91 92 91 93 94 95 94 96 97 98 97 99 100 101 100 102 103 104 103 105 106 107 106 108 109 110 109 111 112 113 112 114 115 116 115 117 118 119 118 120 121 122 121 123 124 125 124 126 127 128 127 129 130 131 130 132 133 134 133 135 136 137 136 138 139 140 139 141 142 143 142 144 145 146 145 147 148 149 148 150 151 152 151 153 154 155 154 156 157 158 157 159 160 161 160 162 163 164 163 165 166 167 166 168 169 170 169 171 172 173 172 174 175 176 175 177 178 179 178 180 181 182 181 183 184 185 184 186 187 188 187 189 190 191 190 192 193 194 193 195 196 197 196 198 199 200 199 201 202 203 202 204 205 206 205 207 208 209 208 210 211 212 211 213 214 215 214 216 217 218 217 219 220 221 220 222 223 224 223 225 226 227 226 228 229 230 229 231 232 233 232 234 235 236 235 237 238 239 238 240 241 242 241 243 244 245 244 246 247 248 247 249 250 251 250 252 253 254 253 255 256 257 256 258 259 260 259 261 262 263 262 264 265 266 265 267 268 269 268 270 271 272 271 273 274 275 274 276 277 278 277 279 280 281 280 282 283 284 283 285 286 287 286 288 289 290 289 291 292 293 292 294 295 296 295 297 298 299 298 300 301 302 301 303 304 305 304 306 307 308 307 309 310 311 310 312 313 314 313 315 316 317 316 318 319 320 319 321 322 323 322 324 325 326 325 327 328 329 328 330 331 332 331 333 334 335 334 336 337 338 337 339 340 341 340 342 343 344 343 345 346 347 346 348 349 350 349 351 352 353 352 354 355 356 355 357 358 359 358 360 361 362 361 363 364 365 364 366 367 368 367 369 370 371 370 372 373 374 373 375 376 377 376 378 379 380 379 381 382 383 382 384 385 386 385 387 388 389 388 390 391 392 391 393 394 395 394 396 397 398 397 399 400 401 400 402 403 404 403 405 406 407 406 408 409 410 409 411 412 413 412 414 415 416 415 417 418 419 418 420 421 422 421 423 424 425 424 426 427 428 427 429 430 431 430 432 433 434 433 435 436 437 436 438 439 440 439 441 442 443 442 444 445 446 445 447 448 449 448 450 451 452 451 453 454 455 454 456 457 458 457 459 460 461 460 462 463 464 463 465 466 467 466 468 469 470 469 471 472 473 472 474 475 476 475 477 478 479 478 480 481 482 481 483 484 485 484 486 487 488 487 489 490 491 490 492 493 494 493 495 496 497 496 498 499 500 499 501 502 503 502 504 505 506 505 507 508 509 508 510 511 512 511 513 514 515 514 516 517 518 517 519 520 521 520 522 523 524 523 525 526 527 526 528 529 530 529 531 532 533 532 534 535 536 535 537 538 539 538 540 541 542 541 543 544 545 544 546 547 548 547 549 550 551 550 552 553 554 553 555 556 557 556 558 559 560 559 561 562 563 562 564 565 566 565 567 568 569 568 570 571 572 571 573 574 575 574 576 577 578 577 579 580 581 580 582 583 584 583 585 586 587 586 588 589 590 589 591 592 593 592 594 595 596 595 597 598 599 598 600 601 602 601 603 604 605 604 606 607 608 607 609 610 611 610 612 613 614 613 615 616 617 616 618 619 620 619 621 622 623 622 624 625 626 625 627 628 629 628 630 631 632 631 633 634 635 634 636 637 638 637 639 640 641 640 642 643 644 643 645 646 647 646 648 216 !NTHETA: angles 2 1 3 5 4 6 8 7 9 11 10 12 14 13 15 17 16 18 20 19 21 23 22 24 26 25 27 29 28 30 32 31 33 35 34 36 38 37 39 41 40 42 44 43 45 47 46 48 50 49 51 53 52 54 56 55 57 59 58 60 62 61 63 65 64 66 68 67 69 71 70 72 74 73 75 77 76 78 80 79 81 83 82 84 86 85 87 89 88 90 92 91 93 95 94 96 98 97 99 101 100 102 104 103 105 107 106 108 110 109 111 113 112 114 116 115 117 119 118 120 122 121 123 125 124 126 128 127 129 131 130 132 134 133 135 137 136 138 140 139 141 143 142 144 146 145 147 149 148 150 152 151 153 155 154 156 158 157 159 161 160 162 164 163 165 167 166 168 170 169 171 173 172 174 176 175 177 179 178 180 182 181 183 185 184 186 188 187 189 191 190 192 194 193 195 197 196 198 200 199 201 203 202 204 206 205 207 209 208 210 212 211 213 215 214 216 218 217 219 221 220 222 224 223 225 227 226 228 230 229 231 233 232 234 236 235 237 239 238 240 242 241 243 245 244 246 248 247 249 251 250 252 254 253 255 257 256 258 260 259 261 263 262 264 266 265 267 269 268 270 272 271 273 275 274 276 278 277 279 281 280 282 284 283 285 287 286 288 290 289 291 293 292 294 296 295 297 299 298 300 302 301 303 305 304 306 308 307 309 311 310 312 314 313 315 317 316 318 320 319 321 323 322 324 326 325 327 329 328 330 332 331 333 335 334 336 338 337 339 341 340 342 344 343 345 347 346 348 350 349 351 353 352 354 356 355 357 359 358 360 362 361 363 365 364 366 368 367 369 371 370 372 374 373 375 377 376 378 380 379 381 383 382 384 386 385 387 389 388 390 392 391 393 395 394 396 398 397 399 401 400 402 404 403 405 407 406 408 410 409 411 413 412 414 416 415 417 419 418 420 422 421 423 425 424 426 428 427 429 431 430 432 434 433 435 437 436 438 440 439 441 443 442 444 446 445 447 449 448 450 452 451 453 455 454 456 458 457 459 461 460 462 464 463 465 467 466 468 470 469 471 473 472 474 476 475 477 479 478 480 482 481 483 485 484 486 488 487 489 491 490 492 494 493 495 497 496 498 500 499 501 503 502 504 506 505 507 509 508 510 512 511 513 515 514 516 518 517 519 521 520 522 524 523 525 527 526 528 530 529 531 533 532 534 536 535 537 539 538 540 542 541 543 545 544 546 548 547 549 551 550 552 554 553 555 557 556 558 560 559 561 563 562 564 566 565 567 569 568 570 572 571 573 575 574 576 578 577 579 581 580 582 584 583 585 587 586 588 590 589 591 593 592 594 596 595 597 599 598 600 602 601 603 605 604 606 608 607 609 611 610 612 614 613 615 617 616 618 620 619 621 623 622 624 626 625 627 629 628 630 632 631 633 635 634 636 638 637 639 641 640 642 644 643 645 647 646 648 0 !NPHI: dihedrals 0 !NIMPHI: impropers 0 !NDON: donors 0 !NACC: acceptors 0 !NNB 0 0 !NGRP protomol/framework/0040755027616700000500000000000010237151532014011 5ustar pbrenne1dipprotomol/framework/base/0040755027616700000500000000000010237151530014721 5ustar pbrenne1dipprotomol/framework/base/.cvsignore0100644027616700000500000000004710237151527016725 0ustar pbrenne1dip*.o *.il Makefile.in Makefile ti_files protomol/framework/base/AbstractEnumType.h0100644027616700000500000001004110237151527020323 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ABSTRACTENUMTYPE_H #define ABSTRACTENUMTYPE_H #include "stringutilities.h" #include "Report.h" namespace ProtoMol { //________________________________________________________ AbstractEnumType /** * Provides a simple interface to implement a simple map between enum's * and string's. AbstractEnumType supports conversions and comparison * between string and * enum/int simplifying the parsing. It is array based (search is of O(N)). */ template class AbstractEnumType : public T { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: typedef typename T::Enum Enum; public: AbstractEnumType():myType(T::UNDEFINED){} AbstractEnumType(Enum n):myType(n){} AbstractEnumType(const std::string& s):myType(getEnum(s)){} AbstractEnumType(const char s[]):myType(getEnum(std::string(s))){} //virtual ~AbstractEnumType(){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class AbstractEnumType //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: std::string getString() const {return T::str[static_cast(myType)];} Enum getEnum() const {return myType;} bool valid() const {return (myType>T::FIRST && myTypeT::FIRST && e(e)];} static std::string getPossibleValues(std::string separator = " | "); public: // Conversion operators operator Enum() const{return myType;} operator std::string() const{return getString(myType);} AbstractEnumType& operator=(Enum a){myType = a;return *this;} // Comparison operators bool operator==(Enum a) {return (a == myType);} bool operator==(const AbstractEnumType& a) {return (a.myType == myType);} bool operator!=(Enum a) {return (a != myType);} bool operator!=(const AbstractEnumType& a) {return (a.myType != myType);} private: // Forbidden // operator int() const; private: static Enum getEnum(const std::string& s); static Enum getEnum(int n); static const std::string& getString(int n){return T::str[static_cast(getEnum(n))];} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // friends of AbstractEnumType //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const AbstractEnumType& b){return (OS< typename AbstractEnumType::Enum AbstractEnumType::getEnum(const std::string& s){ for(int i=static_cast(T::FIRST);i(T::LAST);++i){ if(!noCase) if(equal(T::str[i],s)) return static_cast::Enum>(i); if(noCase) if(equalNocase(T::str[i],s)) return static_cast::Enum>(i); } return T::UNDEFINED; } template typename AbstractEnumType::Enum AbstractEnumType::getEnum(int n){ if(n < static_cast(T::FIRST) || n >= static_cast(T::LAST)) return T::UNDEFINED; return static_cast::Enum>(n); } template std::string AbstractEnumType::getPossibleValues(std::string separator){ std::string tmp = ""; for(int i=static_cast(T::FIRST)+1;i(T::LAST);++i){ tmp += T::str[static_cast(i)]; if(i(T::LAST)-1) tmp += separator; } return tmp; } } #endif // ABSTRACTENUMTYPE_H protomol/framework/base/Array.h0100644027616700000500000000054010237151527016152 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ARRAY_H #define ARRAY_H // Wrapper header file for N-dim. Array class // // If your compiler does not support partial template // specialization, define NO_PARTIAL_TEMPLATE_SPECIALIZATION #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION #include "Array_NoPartialSpecialization.h" #else #include "Array_Fastest.h" #endif #endif protomol/framework/base/Array_Fastest.h0100644027616700000500000004705310237151527017655 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ARRAY_FASTEST_H #define ARRAY_FASTEST_H #include #include namespace ProtoMol { //***************************************************************************** // Class Template for a Generic Resizable N Dimensional Array (for N>=2) // By Giovanni Bavestrelli Copyright 1999 Giovanni Bavestrelli // Any feedback is welcome, you can contact me at gbavestrelli@yahoo.com // // http://www.cuj.com/documents/s=8032/cuj0012bavestre/ // // This is the full implementation of my array, up to the new C++ standard. // It uses partial specialization, and it will not work with Visual C++. // If you use Visual C++, take the other version of the classes. // // This version uses Andrei Alexandrescu's idea of inheriting // RefArray from RefArray so that RefArray::operator [] can // return a reference to a RefArray instead of a new RefArray, for improved // efficiency. // // Here I made a further optimization: // I keep a RefArray as private data member inside my Array class // so that in operator [] I return a reference to this RefArray instead of // creating a new one. All indexing is done through the same RefArray object. // This is not thread safe, and potentially dengerous, but it's very fast. // I suggest you use one of the other versions in multithreaded applications, // and anyway test your application very well if you dare to use this version. // // TM: resize() will check first if the dimesions are the same and call doResize() // if re-size is really needed. // // All unsigned int changed to size_t // // Further optimization by removing asserts. Use '#define DEBUG_USE_ASSERT' // to make use of asserts. // //***************************************************************************** // Forward declaration needed for friend declarations template class Array; //============================================================================= // Classes for passing a typesafe vector of dimensions to the Array constructor //============================================================================= // Class that encapsulates a const size_t (&)[N] template class ArraySize { #ifndef ARRAYSIZE_NOT_TYPE_SAFE typedef const size_t (&UIntArrayN)[N]; #else typedef const size_t* UIntArrayN; #endif size_t m_Dimensions[N]; ArraySize(const size_t (&Dimensions)[N-1],size_t dim) { std::copy(&Dimensions[0],&Dimensions[N-1],m_Dimensions); m_Dimensions[N-1]=dim; } public: ArraySize operator () (size_t dim) { return ArraySize(m_Dimensions,dim); } operator UIntArrayN () const { return m_Dimensions; } friend class ArraySizes; friend class ArraySize; }; // Starting point to build a const size_t (&)[N] on the fly class ArraySizes { size_t m_Dimensions[1]; public: explicit ArraySizes(size_t dim) { m_Dimensions[0]=dim; } ArraySize<2> operator () (size_t dim) { return ArraySize<2>(m_Dimensions,dim); } }; //----------------------------------------------------------------------------- // Class Template for N Dimensional SubArrays within an Array //----------------------------------------------------------------------------- template class RefArray : public RefArray { public: // STL-like types typedef T value_type; typedef T & reference; typedef const T & const_reference; typedef T * pointer; typedef const T * const_pointer; typedef T * iterator; typedef const T * const_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; // Give access to number of dimensions enum { array_dims = N }; private: size_type m_NDimensions; // Array dimensions size_type m_SubArrayLen; // SubArray dimensions #if defined(__sgi) mutable bool m_boolDummy; #endif protected: mutable T * m_pElements; // Point to SubArray with elements within Array RefArray() :RefArray(), m_NDimensions(0),m_SubArrayLen(0),m_pElements(NULL) { } void SetupDimensions(const size_type * pNDimensions, const size_type * pSubArrayLen) { assert(pNDimensions && pSubArrayLen); assert(pNDimensions[0]>0 && pSubArrayLen[0]>0); m_NDimensions=pNDimensions[0]; m_SubArrayLen=pSubArrayLen[0]; m_pElements=NULL; RefArray::SetupDimensions(pNDimensions+1,pSubArrayLen+1); } void ResetDimensions() { m_NDimensions=0; m_SubArrayLen=0; m_pElements=NULL; RefArray::ResetDimensions(); } public: RefArray & operator [](size_type Index) { assert(m_pElements); assert(Index::m_pElements=&m_pElements[Index*m_SubArrayLen]; return *this; } const RefArray & operator [](size_type Index) const { assert(m_pElements); assert(Index::m_pElements=&m_pElements[Index*m_SubArrayLen]; return *this; } // Return STL-like iterators iterator begin() { return m_pElements; } const_iterator begin() const { return m_pElements; } iterator end() { return m_pElements+size(); } const_iterator end() const { return m_pElements+size(); } // Return size of array size_type size() const { return m_NDimensions*m_SubArrayLen; } // Return size of subdimensions size_type size(size_t Dim) const { assert(Dim>=1 && Dim<=N); if (Dim==1) return m_NDimensions; else return RefArray::size(Dim-1); } // Return number of dimensions size_t dimensions() const { return N; } protected: // The following are protected mainly because they are not exception-safe // but the way they are used in the rest of the class is exception-safe // Copy the elements of another subarray on this one where possible // Where not possible, initialize them to a specified value Init void copy(const RefArray & SA, const T & Init=T()) { size_type below=std::min(size(1),SA.size(1)); size_type above=size(1); // Copy the elements we can copy for (size_type i=0;i; friend class Array; friend class RefArray; }; //----------------------------------------------------------------------------- // Partial Specialization for Monodimensional SubArray within an Array //----------------------------------------------------------------------------- template class RefArray { public: // STL-like types typedef T value_type; typedef T & reference; typedef const T & const_reference; typedef T * pointer; typedef const T * const_pointer; typedef T * iterator; typedef const T * const_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; // Give access to number of dimensions enum { array_dims = 1 }; private: size_type m_NDimensions; // Array dimension protected: mutable T * m_pElements; // Point to elements within Array RefArray() :m_NDimensions(0),m_pElements(NULL) { } void SetupDimensions(const size_type * pNDimensions, const size_type * pSubArrayLen) { assert(pNDimensions && pSubArrayLen); pSubArrayLen = pSubArrayLen; assert(pNDimensions[0]>0 && pSubArrayLen[0]==1); // We found the elements m_NDimensions=pNDimensions[0]; m_pElements=NULL; } void ResetDimensions() { m_NDimensions=0; m_pElements=NULL; } public: reference operator [](size_type Index) { assert(m_pElements); assert(Index & SA, const T & Init=T()) { size_type below=std::min(size(1),SA.size(1)); size_type above=size(1); // Copy the elements we can copy for (size_type i=0;i; friend class Array; friend class RefArray; }; //----------------------------------------------------------------------------- // Class Template for a Generic Resizable N Dimensional Array //----------------------------------------------------------------------------- template class Array { public: // STL-like types typedef T value_type; typedef T & reference; typedef const T & const_reference; typedef T * pointer; typedef const T * const_pointer; typedef T * iterator; typedef const T * const_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; // Give access to number of dimensions enum { array_dims = N }; private: T * m_pArrayElements; // Pointer to actual array elements size_type m_nArrayElements; // Total number of array elements size_type m_NDimensions[N]; // Size of the N array dimensions size_type m_SubArrayLen[N]; // Size of each subarray RefArray m_TheSubArray;// The only RefArray element used public: // Default constructor Array() :m_pArrayElements(NULL),m_nArrayElements(0) { std::fill(m_NDimensions,m_NDimensions+N,0); std::fill(m_SubArrayLen,m_SubArrayLen+N,0); } // This takes an array of N values representing the size of the N dimensions // You must remove the explicit keyword if you use MetroWerks CodeWarrior #ifndef ARRAYSIZE_NOT_TYPE_SAFE explicit Array(const size_t (&Dimensions)[N], const T & Init=T()) #else explicit Array(const size_t Dimensions[], const T & Init=T()) #endif :m_pArrayElements(NULL),m_nArrayElements(0) { std::fill(m_NDimensions,m_NDimensions+N,0); std::fill(m_SubArrayLen,m_SubArrayLen+N,0); resize(Dimensions,Init); } // Copy constructor Array(const Array & A) :m_pArrayElements(NULL),m_nArrayElements(0) { std::fill(m_NDimensions,m_NDimensions+N,0); std::fill(m_SubArrayLen,m_SubArrayLen+N,0); Array Temp; if (!A.empty() && Temp.resize(A.m_NDimensions)) std::copy(A.begin(),A.end(),Temp.begin()); swap(Temp); } // Destructor ~Array() { delete [] m_pArrayElements; } // DANGEROUS OPTIMIZATION: // The '&' sign in the following two [] operators is the dangerous but // fast optimization. All indexing is done through the same RefArray object. // So the following two [] operators are very fast but somewhat dangerous // as they always return a reference to the same indexing object. // The result will certainly not be thread safe, and it could possibly even // lead to index the wrong element in some strange situations. // I tried it a bit and it always worked fine, so if you need maximum speed // and test it well in a single threaded application, you might consider it. // But you do it at your own risk, you have been warned. // Indexing Array RefArray & operator [](size_type Index) { assert(m_pArrayElements); assert(Index & operator [](size_type Index) const { assert(m_pArrayElements); assert(Index GetRefArray() { assert(m_pArrayElements); RefArray RA; RA.SetupDimensions(m_NDimensions,m_SubArrayLen); RA.m_pElements=m_pArrayElements; return RA; } // Return constant RefArray referencing entire Array const RefArray GetRefArray() const { assert(m_pArrayElements); RefArray RA; RA.SetupDimensions(m_NDimensions,m_SubArrayLen); RA.m_pElements=m_pArrayElements; return RA; } // Set the size of each array dimension // We check if we really have to re-size (TM-2002-02-04) #ifndef ARRAYSIZE_NOT_TYPE_SAFE bool resize(const size_t (&Dimensions)[N], const T & Init=T(), bool PreserveElems=false) #else bool resize(const size_t Dimensions[], const T & Init=T(), bool PreserveElems=false) #endif { for (int i=0;(size_t)i Temp; // Calculate all the information you need to use the array Temp.m_nArrayElements=1; for (int i=0;(size_t)ii;k--) Temp.m_SubArrayLen[i]*=Dimensions[k]; } // Allocate new elements, let exception propagate Temp.m_pArrayElements=new T[Temp.m_nArrayElements]; // Some compilers might not throw exception if allocation fails //assert(Temp.m_pArrayElements); if (!Temp.m_pArrayElements) return false; // Setup the RefArray needed for indexing Temp.m_TheSubArray.SetupDimensions(Temp.m_NDimensions+1,Temp.m_SubArrayLen+1); // Copy the elements from the previous array if requested if (PreserveElems && !empty()) Temp.copy(*this,Init); // Otherwise initialize them to the specified value else Temp.initialize(Init); // Now swap this object with the temporary swap(Temp); return true; } // Delete the complete Array void clear() { delete [] m_pArrayElements; m_pArrayElements=NULL; m_nArrayElements=0; std::fill(m_NDimensions,m_NDimensions+N,0); std::fill(m_SubArrayLen,m_SubArrayLen+N,0); // Reset the RefArray needed for indexing m_TheSubArray.ResetDimensions(); } // Assignment operator Array & operator = (const Array & A) { if (&A!=this) // For efficiency { Array Temp(A); swap(Temp); } return *this; } // Return STL-like iterators iterator begin() { return m_pArrayElements; } const_iterator begin() const { return m_pArrayElements; } iterator end() { return m_pArrayElements+m_nArrayElements; } const_iterator end() const { return m_pArrayElements+m_nArrayElements; } // Some more STL-like size members size_type size() const { return m_nArrayElements; } // Return the size of each dimension, 1 to N size_type size(size_t Dim) const { assert(Dim>=1 && Dim<=N); return m_NDimensions[Dim-1]; } // Say if the array is empty bool empty() const { return m_nArrayElements==0; } // Return number of dimensions size_t dimensions() const { return N; } // Swap this array with another, a'la STL void swap(Array & A) { std::swap(m_pArrayElements,A.m_pArrayElements); std::swap(m_nArrayElements,A.m_nArrayElements); std::swap_ranges(m_NDimensions,m_NDimensions+N,A.m_NDimensions); std::swap_ranges(m_SubArrayLen,m_SubArrayLen+N,A.m_SubArrayLen); std::swap(m_TheSubArray,A.m_TheSubArray); } protected: // The following are protected mainly because they are not exception-safe // but the way they are used in the rest of the class is exception-safe // Copy the elements of another array on this one where possible // Where not possible, initialize them to a specified value Init void copy(const Array & A, const T & Init=T()) { size_type below=std::min(size(1),A.size(1)); size_type above=size(1); // Copy the elements we can copy for (size_type i=0;i friend bool operator == (const Array & A, const Array & B); }; // Test for equality between two arrays template bool operator == (const Array & A, const Array & B); template inline bool operator == (const Array & A, const Array & B) { return std::equal(A.m_NDimensions,A.m_NDimensions+N,B.m_NDimensions) && std::equal(A.begin(),A.end(),B.begin()); } // Test for inequality between two arrays template bool operator != (const Array & A, const Array & B); template inline bool operator != (const Array & A, const Array & B) { return !(A==B); } // Not implemented, meaningless to have 0 dimensions template class Array { }; // Not implemented, use std::vector for one dimensional arrays template class Array { }; } #endif protomol/framework/base/Array_NoPartialSpecialization.h0100644027616700000500000004161310237151527023030 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ARRAY_NOPARTIALSPECIALIZATION_H #define ARRAY_NOPARTIALSPECIALIZATION_H #include #include #include namespace ProtoMol { //***************************************************************************** // Class Template for a Generic Resizable N Dimensional Array (for N>=2) // By Giovanni Bavestrelli Copyright 1999 Giovanni Bavestrelli // Any feedback is welcome, you can contact me at gbavestrelli@yahoo.com // // This is the version for Microsoft Visual C++ 6.0, and perhaps for other // compilers which do not support partial specialization. // To make my classes work, I had to use a trick. I moved the RefArray classes // as nested classes withing class Array, removing template parameter T from // them, allowing me to use full specialization for class RefArray. // I don't think this is up to standard C++. If your compiler supports partial // specialization, be sure to use the other version of these classes. // Thanks to Andrei Alexandrescu for suggesting this trick, which makes my // classes work well with Visual C++, although the solution is not standard. //***************************************************************************** //============================================================================= // Classes for passing a typesafe vector of dimensions to the Array constructor //============================================================================= template class ArraySize { std::vector & Vector; ArraySize(std::vector & v) :Vector(v) {} public: ArraySize operator () (unsigned int dim) { if (Vector.size()>N) Vector.resize(N); Vector.push_back(dim); return ArraySize(Vector); } const std::vector & Vect() const { assert(Vector.size()==N); return Vector; } friend class ArraySizes; friend class ArraySize; }; class ArraySizes { std::vector Vector; public: explicit ArraySizes(unsigned int dim) { Vector.push_back(dim); } ArraySize<2> operator () (unsigned int dim) { if (Vector.size()>1) Vector.resize(1); Vector.push_back(dim); return ArraySize<2>(Vector); } }; //============================================================================= // Class Template for a Generic Resizable N Dimensional Array //============================================================================= template class Array { public: //----------------------------------------------------------------------------- // Class Template for N Dimensional SubArrays within an Array //----------------------------------------------------------------------------- template class RefArray { public: // STL-like types typedef T value_type; typedef T & reference; typedef const T & const_reference; typedef T * pointer; typedef const T * const_pointer; typedef T * iterator; typedef const T * const_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; // Give access to number of dimensions enum { array_dims = N }; private: const size_type * const m_pNDimensions; // Array dimensions const size_type * const m_pSubArrayLen; // SubArray dimensions T * const m_pElements; // Point to SubArray with elements within Array RefArray(T * pElements, const size_type * pNDimensions, const size_type * pSubArrayLen) :m_pElements(pElements),m_pNDimensions(pNDimensions), m_pSubArrayLen(pSubArrayLen) { assert(m_pElements && m_pNDimensions && m_pSubArrayLen); assert(m_pNDimensions[0]>0 && m_pSubArrayLen[0]>0); } public: RefArray operator [](size_type Index) { assert(m_pElements); assert(Index(&m_pElements[Index*m_pSubArrayLen[0]], m_pNDimensions+1,m_pSubArrayLen+1); } const RefArray operator [](size_type Index) const { assert(m_pElements); assert(Index(&m_pElements[Index*m_pSubArrayLen[0]], m_pNDimensions+1,m_pSubArrayLen+1); } // Return STL-like iterators iterator begin() { return m_pElements; } const_iterator begin() const { return m_pElements; } iterator end() { return m_pElements+size(); } const_iterator end() const { return m_pElements+size(); } // Return size of array size_type size() const { return m_pNDimensions[0]*m_pSubArrayLen[0]; } // Return size of subdimensions size_type size(unsigned int Dim) const { assert(Dim>=1 && Dim<=N); return m_pNDimensions[Dim-1]; } // Return number of dimensions unsigned int dimensions() const { return N; } protected: // The following are protected mainly because they are not exception-safe // but the way they are used in the rest of the class is exception-safe // Copy the elements of another subarray on this one where possible // Where not possible, initialize them to a specified value Init void copy(const RefArray & SA, const T & Init=T()) { size_type below=std::min(size(1),SA.size(1)); size_type above=size(1); // Copy the elements we can copy for (size_type i=0;i; friend class Array; friend class RefArray; }; //----------------------------------------------------------------------------- // Partial Specialization for Monodimensional SubArray within an Array //----------------------------------------------------------------------------- template <> class RefArray<1> { public: // STL-like types typedef T value_type; typedef T & reference; typedef const T & const_reference; typedef T * pointer; typedef const T * const_pointer; typedef T * iterator; typedef const T * const_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; // Give access to number of dimensions enum { array_dims = 1 }; private: const size_type * const m_pNDimensions; // Array dimension T * const m_pElements; // Point to elements within Array RefArray<1>(T * pElements, const size_type * pNDimensions, const size_type * pSubArrayLen) :m_pElements(pElements),m_pNDimensions(pNDimensions) { assert(m_pElements && m_pNDimensions && pSubArrayLen); assert(m_pNDimensions[0]>0 && pSubArrayLen[0]==1); // We found the elements } public: reference operator [](size_type Index) { assert(m_pElements); assert(Index & SA, const T & Init=T()) { size_type below=std::min(size(1),SA.size(1)); size_type above=size(1); // Copy the elements we can copy for (size_type i=0;i; friend class Array; friend class RefArray<2>; }; //----------------------------------------------------------------------------- // Class Template for a Generic Resizable N Dimensional Array //----------------------------------------------------------------------------- public: // STL-like types typedef T value_type; typedef T & reference; typedef const T & const_reference; typedef T * pointer; typedef const T * const_pointer; typedef T * iterator; typedef const T * const_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; // Give access to number of dimensions enum { array_dims = N }; private: T * m_pArrayElements; // Pointer to actual array elements size_type m_nArrayElements; // Total number of array elements size_type m_NDimensions[N]; // Size of the N array dimensions size_type m_SubArrayLen[N]; // Size of each subarray public: // Default constructor Array() :m_pArrayElements(NULL),m_nArrayElements(0) { std::fill(m_NDimensions,m_NDimensions+N,0); std::fill(m_SubArrayLen,m_SubArrayLen+N,0); } // This takes an array of N values representing the size of the N dimensions explicit Array(const unsigned int * Dimensions, const T & Init=T()) :m_pArrayElements(NULL),m_nArrayElements(0) { std::fill(m_NDimensions,m_NDimensions+N,0); std::fill(m_SubArrayLen,m_SubArrayLen+N,0); resize(Dimensions,Init); } // This takes an ArraySize object with the N dimensions explicit Array(const ArraySize & Dimensions, const T & Init=T()) :m_pArrayElements(NULL),m_nArrayElements(0) { std::fill(m_NDimensions,m_NDimensions+N,0); std::fill(m_SubArrayLen,m_SubArrayLen+N,0); resize(Dimensions,Init); } // Copy constructor Array(const Array & A) :m_pArrayElements(NULL),m_nArrayElements(0) { std::fill(m_NDimensions,m_NDimensions+N,0); std::fill(m_SubArrayLen,m_SubArrayLen+N,0); Array Temp; if (!A.empty() && Temp.resize(A.m_NDimensions)) std::copy(A.begin(),A.end(),Temp.begin()); swap(Temp); } // Destructor ~Array() { delete [] m_pArrayElements; } // Indexing Array RefArray operator [](size_type Index) { assert(m_pArrayElements); assert(Index(&m_pArrayElements[Index*m_SubArrayLen[0]], m_NDimensions+1,m_SubArrayLen+1); } // Indexing Constant Array const RefArray operator [](size_type Index) const { assert(m_pArrayElements); assert(Index(&m_pArrayElements[Index*m_SubArrayLen[0]], m_NDimensions+1,m_SubArrayLen+1); } // Return RefArray referencing entire Array RefArray GetRefArray() { assert(m_pArrayElements); return RefArray(m_pArrayElements,m_NDimensions,m_SubArrayLen); } // Return constant RefArray referencing entire Array const RefArray GetRefArray() const { assert(m_pArrayElements); return RefArray(m_pArrayElements,m_NDimensions,m_SubArrayLen); } // Set the size of each array dimension // Visual C++ does not accept parameter defined so: const unsigned int (&)[N] // so I accepted a solution which is not type-safe: use it judiciously bool resize(const unsigned int * Dimensions, const T & Init=T(), bool PreserveElems=false) { assert(Dimensions); Array Temp; // Calculate all the information you need to use the array Temp.m_nArrayElements=1; for (int i=0;ii;k--) Temp.m_SubArrayLen[i]*=Dimensions[k]; } // Allocate new elements, let exception propagate Temp.m_pArrayElements=new T[Temp.m_nArrayElements]; // Some compilers might not throw exception if allocation fails if (!Temp.m_pArrayElements) return false; // Copy the elements from the previous array if requested if (PreserveElems && !empty()) Temp.copy(*this,Init); // Otherwise initialize them to the specified value else Temp.initialize(Init); // Now swap this object with the temporary swap(Temp); return true; } // resize accepting a fixed ArraySize, this solution is type-safe bool resize(const ArraySize & Dimensions, const T & Init=T(), bool PreserveElems=false) { unsigned int Dims[N]; std::copy(Dimensions.Vect().begin(),Dimensions.Vect().end(),Dims); return resize(Dims,Init,PreserveElems); } // Delete the complete Array void clear() { delete [] m_pArrayElements; m_pArrayElements=NULL; m_nArrayElements=0; std::fill(m_NDimensions,m_NDimensions+N,0); std::fill(m_SubArrayLen,m_SubArrayLen+N,0); } // Assignment operator Array & operator = (const Array & A) { if (&A!=this) // For efficiency { Array Temp(A); swap(Temp); } return *this; } // Return STL-like iterators iterator begin() { return m_pArrayElements; } const_iterator begin() const { return m_pArrayElements; } iterator end() { return m_pArrayElements+m_nArrayElements; } const_iterator end() const { return m_pArrayElements+m_nArrayElements; } // Some more STL-like size members size_type size() const { return m_nArrayElements; } // Return the size of each dimension, 1 to N size_type size(unsigned int Dim) const { assert(Dim>=1 && Dim<=N); return m_NDimensions[Dim-1]; } // Say if the array is empty bool empty() const { return m_nArrayElements==0; } // Return number of dimensions unsigned int dimensions() const { return N; } // Swap this array with another, a'la STL void swap(Array & A) { std::swap(m_pArrayElements,A.m_pArrayElements); std::swap(m_nArrayElements,A.m_nArrayElements); std::swap_ranges(m_NDimensions,m_NDimensions+N,A.m_NDimensions); std::swap_ranges(m_SubArrayLen,m_SubArrayLen+N,A.m_SubArrayLen); } protected: // The following are protected mainly because they are not exception-safe // but the way they are used in the rest of the class is exception-safe // Copy the elements of another array on this one where possible // Where not possible, initialize them to a specified value Init void copy(const Array & A, const T & Init=T()) { size_type below=std::min(size(1),A.size(1)); size_type above=size(1); // Copy the elements we can copy for (size_type i=0;i & A, const Array & B); }; // Test for equality between two arrays template bool operator == (const Array & A, const Array & B) { return std::equal(A.m_NDimensions,A.m_NDimensions+N,B.m_NDimensions) && std::equal(A.begin(),A.end(),B.begin()); } // Test for inequality between two arrays template bool operator != (const Array & A, const Array & B) { return !(A==B); } /* The following don't work for Visual C++ // Not implemented, meaningless to have 0 dimensions template class Array { }; // Not implemented, use std::vector for one dimensional arrays template class Array { }; */ } #endif protomol/framework/base/Atom.h0100644027616700000500000000756610237151527016013 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ATOM_H #define ATOM_H #include "Real.h" #include namespace ProtoMol { //_________________________________________________________________ Atom /** * This class defines the information for one atom. It contains the type * of the atom, its charge (scaled by a constant factor), and the next * atom in this atom's cell list. All other pieces of atom information * are either in the atom type or the coordinate vectors (for positions, * velocities, and so on). */ struct Atom { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Atom():type(-1), scaledCharge(0.0), scaledMass(0.0), hvyAtom(-1), atomNum(-1), cellListNext(-1), molecule(-1), mybonds(std::vector< int >()), deltaM(0.0), deltaQ(0.0), Qold(0.0), Qnew(0.0), stageNumber(0) { } // A default constructor for the atom class //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ int type; ///< The type number of the atom (an index into the array of atomTypes). Real scaledCharge; ///< The charge of this atom, scaled by the square root of the Coulomb ///< constant. Real scaledMass; ///< The mass of this atom (can be modified, e.g., iSG) int hvyAtom; ///< The size of the Group for Heavy Atom Come First ordering ///< for hydrogen hvyAtom=0, else, hvyAtom = 1+#of attached hydrogens int atomNum; ///< Original order number of the atom, used to undo Heavy Atom Come ///< First ordering mutable int cellListNext; ///< The index of the next atom in this atom's cell list, or -1 if this ///< atom is the last in its list. int molecule; ///< The ID# of the molecule to which this atom belongs std::vector< int > mybonds; ///< this vector holds the bond IDs for those bonds made with this atom Real deltaM, deltaQ; ///< For iSG simulations. This difference between the mass and charge, ///< respectively, of the atom's two identities. Real Qold, Qnew; ///< For iSG simulations. The atom's charge for its old and new identities. ///< Needed to correctly compute DeltaMu for intramolecular interactions. int stageNumber; ///< For iSG simulations. Molecule transformations can be broken into stages ///< so that only small fragments of the whole molecule can be transformed at ///< any time. This is critical to being able to transform a small molecule ///< into a relatively large molecule. This variable is the number of the stage ///< in which this atom will be transformed. For example, suppose I break a ///< molecular transformation into 5 stages. If this atom's stageNumber = 3, that ///< means that this atom will have its identity transformed only when 2 <= lambda <= 3. -- TIM Real alphaLJ; ///< For iSG simulations. Atoms which are dummy atoms in one particular identity but are ///< real, interacting atoms in another identity require a positive, non-zero alpha parameter for the ///< soft-core Lennard-Jones function used by iSGMD. Atoms which are real, interacting atoms in both ///< identities of a transformation attempt need to have alphaLJ = 0 for the soft-core LJ function. I ///< found that when transforming a water oxygen atom into an alcohol oxygen atom using the standard alphaLJ ///< value of 0.5, the simulation was wildly unstable, but if I used alphaLJ = 0 only for the oxygen atom ///< then the transformation proceeded smoothly. -- TIM 3/31/2005 (alphaLJ will be set prior to force ///< calculations by ModifierISG::pickNewMolecule(...) ) }; } #endif /* ATOM_H */ protomol/framework/base/AtomType.h0100644027616700000500000000225110237151527016637 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ATOMTYPE_H #define ATOMTYPE_H #include #include "Real.h" namespace ProtoMol { //_________________________________________________________________ AtomType /** * This class contains information common to one type of atom. This * currently only includes the name and mass of the atom type. The * Lennard-Jones parameters are stored in the LennardJonesParameterTable * structure. */ struct AtomType { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AtomType():name(""),mass(0.0),charge(0.0),symbolName("") {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ std::string name; ///< The name of this atom type. Real mass; ///< The mass of this atom type. Real charge; ///< The charge of this atom type. std::string symbolName; ///< The symbol untity name of this atom type. }; } #endif /* ATOMTYPE_H */ protomol/framework/base/BSpline.cpp0100644027616700000500000000535210237151527016771 0ustar pbrenne1dip#include "BSpline.h" #include "mathutilities.h" #include "Report.h" using namespace ProtoMol::Report; using std::string; //#define DEBUG_BSPLINE namespace ProtoMol { //_________________________________________________________________ const string BSpline::keyword("BSpline"); BSpline::BSpline():myInterOrder(0),theta(NULL),dTheta(NULL){ } BSpline::BSpline(unsigned int order):myInterOrder(order), theta(new Real[order]), dTheta(new Real[order]){ } BSpline::BSpline(unsigned int order, Real w):myInterOrder(order), theta(new Real[order]), dTheta(new Real[order]){ set(w); } BSpline::~BSpline(){ if(theta != NULL){ delete [] theta; delete [] dTheta; } } BSpline::BSpline(const BSpline& bspline){ myInterOrder = bspline.myInterOrder; theta = new Real[myInterOrder]; dTheta = new Real[myInterOrder]; for(unsigned int k=0;k namespace ProtoMol { //_________________________________________________________________ BSpline /** * BSpline interpolation. * theta are the Bk, where dTheta are the derivatives of Bk */ class BSpline { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: BSpline(); BSpline(unsigned int order); BSpline(unsigned int order, Real w); ~BSpline(); BSpline(const BSpline& bspline); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class BSpline //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: unsigned int getOrder() const {return myInterOrder;} void setOrder(unsigned int order); void set(Real w); static bool isSigma(unsigned int order){return (BSpline(order,0.0).theta[order-1] == 0.0 && BSpline(order,0.0).dTheta[order-1] == 0.0);} ///< true iff one theta is 1 and all other 0 for w=0 static const std::string& getKeyword() {return keyword;} ///< Returns the keyword/name of this interpolation //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: unsigned int myInterOrder; public: Real* theta; ///< Bk Real* dTheta;///< derivatives of Bk public: static const std::string keyword; }; //______________________________________________________________________ INLINES } #endif /* BSPLINE_H */ protomol/framework/base/BSplineType.cpp0100644027616700000500000000060110237151527017623 0ustar pbrenne1dip#include "BSplineType.h" using std::string; namespace ProtoMol { //________________________________________________________ BSplineType const string BSplineEnum::str[static_cast(LAST)-static_cast(FIRST)] = { // Order is essential, must be in relation to Enum string("undefined"), // Returned when no enum matches string("short"), string("long"), }; } protomol/framework/base/BSplineType.h0100644027616700000500000000124510237151527017275 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef BSPLINETYPE_H #define BSPLINETYPE_H #include "AbstractEnumType.h" namespace ProtoMol { //_____________________________________________________ BSplineEnum /// BSpline MOLLY types class BSplineEnum { public: virtual ~BSplineEnum(){} enum Enum { FIRST = 0, // Only internal purpose UNDEFINED = 0, // Value returned when no string matches SHORT, LONG, LAST // Only internal purpose }; static const std::string str[]; }; //_____________________________________________________ BSplineType typedef AbstractEnumType BSplineType; } #endif // BSPLINETYPE_H protomol/framework/base/Configuration.cpp0100644027616700000500000001632210237151527020243 0ustar pbrenne1dip#include "Configuration.h" #include "stringutilities.h" #include "Report.h" using std::vector; using std::string; using std::map; using namespace ProtoMol::Report; namespace ProtoMol { //________________________________________________________ Configuration void Configuration::registerKeyword(const string& keyword, Value value){ if(end() != myValues.find(keyword) && myAliases.end() == myAliases.find(keyword)){ if(!value.equalTypeAndConstraint(myValues[keyword])) report << hint << "[Configuration::registerKeyword] overwriting already registered keyword \'" <& aliases){ for(unsigned int i=0;isecond,keyword)) myAliases.erase(i++); else ++i; } TextMapType::iterator j = myTexts.find(keyword); if(j != myTexts.end()) myTexts.erase(j); } bool Configuration::empty(const string& keyword) const{ if(keyword == "") return myValues.empty(); return (find(keyword) == end()); } bool Configuration::defined(const string& keyword) const{ const_iterator i = find(keyword); if(i != end()) return i->second.defined(); return false; } bool Configuration::valid(const string& keyword) const{ const_iterator i = find(keyword); if(i != end()) return i->second.valid(); return false; } bool Configuration::set(const string& keyword, Value v){ iterator i = find(keyword); if(i != end()){ i->second.set(v); return i->second.valid(); } return false; } bool Configuration::set(const string& keyword, const string& v){ iterator i = find(keyword); if(i != end()){ if(v == ""){ i->second.init(); } else { i->second.set(v); } return i->second.valid(); } return false; } bool Configuration::set(const vector >& values){ const unsigned int count = values.size(); bool ok = true; for(unsigned int i=0;isecond.init(); } else if(itr->second.set(val)){ ok = false; } if(!itr->second.valid()) report << hint << "Value \'"<second.getDefinitionTypeString()<<"."< >& values){ const unsigned int count = values.size(); for(unsigned int i=0;isecond; } Value& Configuration::operator[](const string& keyword){ iterator i = find(keyword); if(i == end()){ report << error << "Configuration index \'"<second; } Value Configuration::get(const string& keyword) const{ const_iterator i = find(keyword); if(i != end()){ return i->second; } return Value(); } vector Configuration::get(const vector& parameters) const{ vector values(parameters.size()); for(unsigned int i=0;isecond.valid()){ if(errMsg.empty()) errMsg = "Undefined keyword(s):"; errMsg += "\n"+getRightFill(i->first,Constant::PRINTMAXWIDTH)+i->second.getDefinitionTypeString(); } } return (errMsg.empty()); } string Configuration::print() const{ string str; str += "Keywords:\n\n"; for(const_iterator i= begin();i!=end();++i){ str += getRightFill(i->first,Constant::PRINTMAXWIDTH) + i->second.getDefinitionTypeString(); if(myTexts.find(i->first) != myTexts.end()) str += " \t # "+myTexts.find(i->first)->second; str +="\n"; } str += "\nAliases:\n\n"; for(AliasMapType::const_iterator i= myAliases.begin();i!=myAliases.end();++i) str += getRightFill(i->first,Constant::PRINTMAXWIDTH) +i->second+"\n"; return str; } Configuration::iterator Configuration::find(const string& keyword){ iterator i = myValues.find(keyword); if(i == end()){ AliasMapType::iterator j = myAliases.find(keyword); if(j != myAliases.end()){ i = myValues.find(j->second); } } return i; } Configuration::const_iterator Configuration::find(const string& keyword) const{ const_iterator i = myValues.find(keyword); if(i == end()){ AliasMapType::const_iterator j = myAliases.find(keyword); if(j != myAliases.end()){ i = myValues.find(j->second); } } return i; } bool Configuration::setText(const std::string& keyword, const string& text){ if(!empty(keyword)){ myTexts[keyword] = text; return true; } return false; } string Configuration::getText(const std::string& keyword) const { TextMapType::const_iterator i = myTexts.find(keyword); if(i != myTexts.end()){ return i->second; } else { return string(); } } vector Configuration::getAliases(const string& keyword) const{ vector res; for(AliasMapType::const_iterator i=myAliases.begin();i != myAliases.end();++i){ if(equalNocase(i->second,keyword)){ res.push_back(i->first); } } return res; } } protomol/framework/base/Configuration.h0100644027616700000500000000702710237151527017712 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CONFIGURATION_H #define CONFIGURATION_H #include "Parameter.h" #include "stringutilities.h" //#include "simpleTypes.h" #include #include namespace ProtoMol { //________________________________________________________ Configuration /** * Container (map) holding a system configuration, a keyword together * with the value and an optional help text. The value use Value, which * comes with additional information about the type and constraints. */ class Configuration { typedef std::map ValueMapType; typedef std::map AliasMapType; typedef std::map TextMapType; typedef ValueMapType::iterator iterator; public: typedef ValueMapType::const_iterator const_iterator; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //Configuration(){} //~Configuration(){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Configuration //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// Register new keyword with its value void registerKeyword(const std::string& keyword, Value value); /// Register aliases for a given keyword void registerAliases(const std::string& keyword, const std::vector& aliases); /// Unregister a keyword void unregisterKeyword(const std::string& keyword); /// Test if the keyword exists bool empty(const std::string& keyword=std::string("")) const; /// Test if the keyword has a defined type bool defined(const std::string& keyword) const; /// Test if the keyword's value is valid bool valid(const std::string& keyword) const; // Set bool set(const std::string& keyword, Value); bool set(const std::string& keyword, const std::string& val); // Uses ValueTraits<>::init() if val == "" bool set(const std::string& keyword, const std::vector >& values); bool set(const std::vector >& values); bool setText(const std::string& keyword, const std::string& text); // Get Value get(const std::string& keyword) const; std::vector get(const std::vector& parameters) const; std::string getText(const std::string& keyword) const; std::vector getAliases(const std::string& keyword) const; // Get and set; direct access, unsafe Value& operator[](const std::string& keyword); const Value& operator[](const std::string& keyword) const; // Global print & test std::string print() const; bool validConfiguration() const; bool validConfiguration(std::string& errMsg) const; // Iterators const_iterator begin() const {return myValues.begin();} const_iterator end() const {return myValues.end();} const_iterator find(const std::string& keyword) const; private: iterator begin() {return myValues.begin();} iterator end() {return myValues.end();} iterator find(const std::string& keyword); private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // private data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: ValueMapType myValues; AliasMapType myAliases; TextMapType myTexts; }; } #endif protomol/framework/base/ConstraintValueType.cpp0100644027616700000500000000113310237151527021411 0ustar pbrenne1dip#include "ConstraintValueType.h" using std::string; namespace ProtoMol { //__________________________________________________________ConstraintValueType const string ConstraintValueEnum::str[static_cast(LAST) - static_cast(FIRST)] = { // Order is essential, must be in relation to Enum ordering string("undefined"), // Returned when no enum matches string("no-constraints"), string("empty"), string("non-empty"), string("zero"), string("non-zero"), string("positive"), string("negative"), string("non-positive"), string("non-negative") }; } protomol/framework/base/ConstraintValueType.h0100644027616700000500000000321210237151527021056 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CONSTRAINTVALUETYPE_H #define CONSTRAINTVALUETYPE_H #include "AbstractEnumType.h" namespace ProtoMol { //_____________________________________________________ ConstraintValueEnum /// Map of Value constraints class ConstraintValueEnum { public: virtual ~ConstraintValueEnum(){} enum Enum { FIRST = 0, // Used internally only UNDEFINED = 0, // ConstraintValue returned when no string matches NOCONSTRAINTS, EMPTY, NOTEMPTY, ZERO, NOTZERO, POSITIVE, NEGATIVE, NOTPOSITIVE, NOTNEGATIVE, LAST // Used internally only }; protected: static const std::string str[]; public: template struct Enum2Type{ operator Enum() const{return e;} //operator std::string() const; enum { value = e}; }; public: // Define types from the enum values typedef Enum2Type NoConstraints; typedef Enum2Type Empty; typedef Enum2Type NotEmpty; typedef Enum2Type Zero; typedef Enum2Type NotZero; typedef Enum2Type Positive; typedef Enum2Type Negative; typedef Enum2Type NotPositive; typedef Enum2Type NotNegative; }; //_____________________________________________________ ConstraintValueType typedef AbstractEnumType ConstraintValueType; //template //inline ConstraintValueEnum::Enum2Type::operator std::string() const{ // return ConstraintValueType::getString(e); //} } #endif /* CONSTRAINTVALUETYPE_H */ protomol/framework/base/Cycles.h0100644027616700000500000003261610237151527016327 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CYCLES_H #define CYCLES_H #include "protomol.h" namespace ProtoMol { // Private namespace to hide internals namespace Private { /* * Copyright (c) 2003 Matteo Frigo * Copyright (c) 2003 Massachusetts Institute of Technology * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */ /* $Id: Cycles.h,v 1.5 2005/01/10 16:08:32 tmatthey Exp $ */ /* machine-dependent cycle counters code. Needs to be inlined. */ /***************************************************************************/ /* To use the cycle counters in your code, simply #include "cycle.h" (this file), and then use the functions/macros: ticks getticks(void); ticks is an opaque typedef defined below, representing the current time. You extract the elapsed time between two calls to gettick() via: double elapsed(ticks t1, ticks t0); which returns a double-precision variable in arbitrary units. You are not expected to convert this into human units like seconds; it is intended only for *comparisons* of time intervals. (In order to use some of the OS-dependent timer routines like Solaris' gethrtime, you need to paste the autoconf snippet below into your configure.ac file and #include "config.h" before cycle.h, or define the relevant macros manually if you are not using autoconf.) */ /***************************************************************************/ /* This file uses macros like HAVE_GETHRTIME that are assumed to be defined according to whether the corresponding function/type/header is available on your system. The necessary macros are most conveniently defined if you are using GNU autoconf, via the tests: dnl --------------------------------------------------------------------- AC_C_INLINE AC_HEADER_TIME AC_CHECK_HEADERS([sys/time.h c_asm.h intrinsics.h]) AC_CHECK_TYPE([hrtime_t],[AC_DEFINE(HAVE_HRTIME_T, 1, [Define to 1 if hrtime_t is defined in ])],,[#if HAVE_SYS_TIME_H #include #endif]) AC_CHECK_FUNCS([gethrtime read_real_time time_base_to_time clock_gettime]) dnl Cray UNICOS _rtc() (real-time clock) intrinsic AC_MSG_CHECKING([for _rtc intrinsic]) rtc_ok=yes AC_TRY_LINK([#ifdef HAVE_INTRINSICS_H #include #endif], [_rtc()], [AC_DEFINE(HAVE__RTC,1,[Define if you have the UNICOS _rtc() intrinsic.])], [rtc_ok=no]) AC_MSG_RESULT($rtc_ok) dnl --------------------------------------------------------------------- */ /***************************************************************************/ #if TIME_WITH_SYS_TIME # include # include #else # if HAVE_SYS_TIME_H # include # else # include # endif #endif #define INLINE_ELAPSED(INL) static INL double elapsed(ticks t1, ticks t0) \ { \ return (double)(t1 - t0); \ } /*----------------------------------------------------------------*/ /* Solaris */ #if defined(HAVE_GETHRTIME) && defined(HAVE_HRTIME_T) && !defined(HAVE_TICK_COUNTER) typedef hrtime_t ticks; #define getticks gethrtime INLINE_ELAPSED(inline) #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ /* AIX v. 4+ routines to read the real-time clock or time-base register */ #if defined(HAVE_READ_REAL_TIME) && defined(HAVE_TIME_BASE_TO_TIME) && !defined(HAVE_TICK_COUNTER) typedef timebasestruct_t ticks; static inline ticks getticks(void) { ticks t; read_real_time(&t, TIMEBASE_SZ); return t; } static inline double elapsed(ticks t1, ticks t0) /* time in nanoseconds */ { time_base_to_time(&t1, TIMEBASE_SZ); time_base_to_time(&t0, TIMEBASE_SZ); return ((t1.tb_high - t0.tb_high) * 1e9 + (t1.tb_low - t0.tb_low)); } #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ /* * PowerPC ``cycle'' counter using the time base register. */ #if ((defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))) || (defined(__MWERKS__) && defined(macintosh))) && !defined(HAVE_TICK_COUNTER) typedef unsigned long long ticks; static __inline__ ticks getticks(void) { unsigned int tbl, tbu0, tbu1; do { __asm__ __volatile__ ("mftbu %0" : "=r"(tbu0)); __asm__ __volatile__ ("mftb %0" : "=r"(tbl)); __asm__ __volatile__ ("mftbu %0" : "=r"(tbu1)); } while (tbu0 != tbu1); return (((unsigned long long)tbu0) << 32) | tbl; } INLINE_ELAPSED(__inline__) #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ /* * Pentium cycle counter */ #if (defined(__GNUC__) || defined(__ICC)) && defined(__i386__) && !defined(HAVE_TICK_COUNTER) typedef unsigned long long ticks; static __inline__ ticks getticks(void) { ticks ret; __asm__ __volatile__("rdtsc": "=A" (ret)); /* no input, nothing else clobbered */ return ret; } INLINE_ELAPSED(__inline__) #define HAVE_TICK_COUNTER #endif /* Visual C++ -- thanks to Morten Nissov for his help with this */ #if _MSC_VER >= 1200 && _M_IX86 >= 500 && !defined(HAVE_TICK_COUNTER) #include typedef LARGE_INTEGER ticks; #define RDTSC __asm __emit 0fh __asm __emit 031h /* hack for VC++ 5.0 */ static __inline ticks getticks(void) { ticks ret; __asm { RDTSC mov ret.HighPart, edx mov ret.LowPart, eax } return ret; } static __inline double elapsed(ticks t1, ticks t0) { return (double)(t1.QuadPart - t0.QuadPart); } #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ /* * X86-64 cycle counter */ #if defined(__GNUC__) && defined(__x86_64__) && !defined(HAVE_TICK_COUNTER) typedef unsigned long long ticks; static __inline__ ticks getticks(void) { unsigned a, d; asm volatile("rdtsc" : "=a" (a), "=d" (d)); return ((ticks)a) | (((ticks)d) << 32); } INLINE_ELAPSED(__inline__) #define HAVE_TICK_COUNTER #endif /* Visual C++ (FIXME: how to detect compilation for x86-64?) */ #if _MSC_VER >= 1400 && !defined(HAVE_TICK_COUNTER) typedef ULONG64 ticks; #define getticks __rdtsc INLINE_ELAPSED(__inline) #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ /* * IA64 cycle counter */ #if defined(__GNUC__) && defined(__ia64__) && !defined(HAVE_TICK_COUNTER) typedef unsigned long ticks; static __inline__ ticks getticks(void) { ticks ret; __asm__ __volatile__ ("mov %0=ar.itc" : "=r"(ret)); return ret; } INLINE_ELAPSED(__inline__) #define HAVE_TICK_COUNTER #endif /* HP/UX IA64 compiler, courtesy Teresa L. Johnson: */ #if defined(__hpux) && defined(__ia64) && !defined(HAVE_TICK_COUNTER) #include typedef unsigned long ticks; static inline ticks getticks(void) { ticks ret; ret = _Asm_mov_from_ar (_AREG_ITC); return ret; } INLINE_ELAPSED(inline) #define HAVE_TICK_COUNTER #endif /* intel's ecc compiler */ #if defined(__ECC) && defined(__ia64__) && !defined(HAVE_TICK_COUNTER) typedef unsigned long ticks; #include static __inline__ ticks getticks(void) { return __getReg(_IA64_REG_AR_ITC); } INLINE_ELAPSED(__inline__) #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ /* * PA-RISC cycle counter */ #if defined(__hppa__) || defined(__hppa) && !defined(HAVE_TICK_COUNTER) typedef unsigned long ticks; # ifdef __GNUC__ static __inline__ ticks getticks(void) { ticks ret; __asm__ __volatile__("mfctl 16, %0": "=r" (ret)); /* no input, nothing else clobbered */ return ret; } # else # include static inline unsigned long getticks(void) { register ticks ret; _MFCTL(16, ret); return ret; } # endif INLINE_ELAPSED(inline) #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ /* S390, courtesy of James Treacy */ #if defined(__GNUC__) && defined(__s390__) && !defined(HAVE_TICK_COUNTER) typedef unsigned long long ticks; static __inline__ ticks getticks(void) { ticks cycles; __asm__("stck 0(%0)" : : "a" (&(cycles)) : "memory", "cc"); return cycles; } INLINE_ELAPSED(__inline__) #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ #if defined(__GNUC__) && defined(__alpha__) && !defined(HAVE_TICK_COUNTER) /* * The 32-bit cycle counter on alpha overflows pretty quickly, * unfortunately. A 1GHz machine overflows in 4 seconds. */ typedef unsigned int ticks; static __inline__ ticks getticks(void) { unsigned long cc; __asm__ __volatile__ ("rpcc %0" : "=r"(cc)); return (cc & 0xFFFFFFFF); } INLINE_ELAPSED(__inline__) #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ #if defined(__GNUC__) && defined(__sparc_v9__) && !defined(HAVE_TICK_COUNTER) typedef unsigned long ticks; static __inline__ ticks getticks(void) { ticks ret; __asm__("rd %%tick, %0" : "=r" (ret)); return ret; } INLINE_ELAPSED(__inline__) #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ #if defined(__DECC) && defined(__alpha) && defined(HAVE_C_ASM_H) && !defined(HAVE_TICK_COUNTER) # include typedef unsigned int ticks; static __inline ticks getticks(void) { unsigned long cc; cc = asm("rpcc %v0"); return (cc & 0xFFFFFFFF); } INLINE_ELAPSED(__inline) #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ /* SGI/Irix */ #if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE) && !defined(HAVE_TICK_COUNTER) typedef struct timespec ticks; static inline ticks getticks(void) { struct timespec t; clock_gettime(CLOCK_SGI_CYCLE, &t); return t; } static inline double elapsed(ticks t1, ticks t0) { return (double)(t1.tv_sec - t0.tv_sec) * 1.0E9 + (double)(t1.tv_nsec - t0.tv_nsec); } #define HAVE_TICK_COUNTER #endif /*----------------------------------------------------------------*/ /* Cray UNICOS _rtc() intrinsic function */ #if defined(HAVE__RTC) && !defined(HAVE_TICK_COUNTER) #ifdef HAVE_INTRINSICS_H # include #endif typedef long long ticks; #define getticks _rtc INLINE_ELAPSED(inline) #define HAVE_TICK_COUNTER #endif } //________________________________________________________________________ Cycles /** A simple and precise CPU cycle counter a la Timer. */ class Cycles { public: typedef Private::ticks ticks; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Cycles():myRunningFlag(false){} // Time(const Time&); // Use default version. // ~Time(); // Use default version. // Time& operator=(const Time&); // Use default version. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Cycles //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void start(){if( myRunningFlag) return;myRunningFlag = true ; myStartTime = Private::getticks();} void stop() {if(!myRunningFlag) return;myEndTime = Private::getticks(); myRunningFlag = false; } void reset(){myRunningFlag = false;} double getCycles() const{return elapsed(myEndTime,myStartTime);} /// Direct access of the CPU cycle counter - hopefully inlined static ticks getCounter(){return Private::getticks();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: bool myRunningFlag; ticks myStartTime; ticks myEndTime; }; } #endif // _TIMER_H protomol/framework/base/FFTComplex.cpp0100644027616700000500000003774210237151527017414 0ustar pbrenne1dip// // FFT includes and forward declarations // #ifdef HAVE_FFT_SGI # include // !!! Include first then "FFTComplex.h" !!! // We use the definition of zomplex in #else # ifdef HAVE_FFT_FFTW3 # include # else # ifdef HAVE_FFT_ESSL # define _ESV_COMPLEX_ 1 # include # else # ifdef HAVE_FFT_FFTW2 # include # else # ifdef HAVE_FFT_FFTW2_MPI # include # include # else /* ZFFT */ # include "FFTComplex.h" // Defines zomplex extern "C" { extern zomplex *zfftm1di(int m, zomplex *save); extern int zfftm1d(int sign, int m, int n, zomplex *array, int incI, int incJ, zomplex *save); extern zomplex *zfft2di( int n1, int n2, zomplex *save); extern int zfft2d(int sign, int n1, int n2, zomplex *array, int ld, zomplex *save); extern zomplex *zfft3di(int n1, int n2, int n3, zomplex *save); extern int zfft3d(int sign, int n1, int n2, int n3, zomplex *array, int ld1, int ld2, zomplex *save); } # endif # endif # endif # endif #endif // // Other includes // #include "FFTComplex.h" #include "Timer.h" #include "mathutilities.h" #include "Report.h" using namespace ProtoMol::Report; namespace ProtoMol { // // Define the right implementation of FFTInternal // #if defined(HAVE_FFT_SGI) || !defined(HAVE_FFT) //_________________________________________________________________ FFTInternal // // complib.sgimath and ZFFT // class FFTInternal { public: FFTInternal():myNX(0),myNY(0),myNZ(0),myArray(NULL),myFFTCoeff(NULL){} ~FFTInternal(); void initialize(int x, int y, int z,zomplex* a); void forward() {zfft3d( 1,myNZ,myNY,myNX,myArray,myNZ,myNY,myFFTCoeff);} void backward(){zfft3d(-1,myNZ,myNY,myNX,myArray,myNZ,myNY,myFFTCoeff);} private: FFTInternal(const FFTInternal&); private: int myNX; int myNY; int myNZ; zomplex* myArray; zomplex* myFFTCoeff; }; FFTInternal::~FFTInternal(){ if(myFFTCoeff != NULL) free(myFFTCoeff); } void FFTInternal::initialize(int x, int y, int z,zomplex* a){ if(x == myNX && y == myNY && z == myNZ && a == myArray) return; myNX = x; myNY = y; myNZ = z; myArray = a; if(myFFTCoeff != NULL) free(myFFTCoeff); myFFTCoeff = zfft3di(myNZ,myNY,myNX,NULL); } #else # ifdef HAVE_FFT_FFTW3 //_________________________________________________________________ FFTInternal // // FFTW3 // class FFTInternal { public: FFTInternal():myNX(0),myNY(0),myNZ(0),myArray(NULL),myPlanForward(NULL),myPlanBackward(NULL){} ~FFTInternal(); void initialize(int x, int y, int z,zomplex* a); void forward(){ fftw_execute(myPlanForward);} void backward(){fftw_execute(myPlanBackward);} private: FFTInternal(const FFTInternal&); private: int myNX; int myNY; int myNZ; fftw_complex* myArray; fftw_plan myPlanForward; fftw_plan myPlanBackward; }; FFTInternal::~FFTInternal(){ if(myPlanForward != NULL) fftw_destroy_plan(myPlanForward); if(myPlanBackward != NULL) fftw_destroy_plan(myPlanBackward); } void FFTInternal::initialize(int x, int y, int z,zomplex* a){ if(x == myNX && y == myNY && z == myNZ && (fftw_complex*)(a) == myArray) return; Timer t; t.start(); myNX = x; myNY = y; myNZ = z; myArray = (fftw_complex*)(a); if(myPlanForward != NULL) fftw_destroy_plan(myPlanForward); if(myPlanBackward != NULL) fftw_destroy_plan(myPlanBackward); myPlanForward = fftw_plan_dft_3d(myNX,myNY,myNZ,myArray,myArray,FFTW_FORWARD, FFTW_MEASURE); myPlanBackward = fftw_plan_dft_3d(myNX,myNY,myNZ,myArray,myArray,FFTW_BACKWARD, FFTW_MEASURE); t.stop(); report << hint <<"FFTW3 Initialization: "<(60000 + (n1 <= 2048 ? 0 : 4.56*n1)); } int FFTInternal::case2(int n1,int n2, int n3){ return static_cast(60000+(2*n2+256)*(std::min(64, n1)+4.56) + (n1 <= 2048 ? 0 : 4.56*n1)); } int FFTInternal::case3(int n1,int n2, int n3){ return static_cast(60000+(2*n3+256)*(std::min(64, n1*n2)+4.56) + (n1 <= 2048 ? 0 : 4.56*n1)); } # else # ifdef HAVE_FFT_FFTW2 //_________________________________________________________________ FFTInternal // // FFTW2 // class FFTInternal { public: FFTInternal():myNX(0),myNY(0),myNZ(0),myArray(NULL),myPlanForward(NULL),myPlanBackward(NULL){} ~FFTInternal(); void initialize(int x, int y, int z,zomplex* a); void forward(){ fftwnd_one(myPlanForward, myArray,NULL);} void backward(){fftwnd_one(myPlanBackward,myArray,NULL);} private: FFTInternal(const FFTInternal&); private: int myNX; int myNY; int myNZ; fftw_complex* myArray; fftwnd_plan myPlanForward; fftwnd_plan myPlanBackward; }; FFTInternal::~FFTInternal(){ if(myPlanForward != NULL) fftwnd_destroy_plan(myPlanForward); if(myPlanBackward != NULL) fftwnd_destroy_plan(myPlanBackward); } void FFTInternal::initialize(int x, int y, int z,zomplex* a){ if(x == myNX && y == myNY && z == myNZ && (fftw_complex*)(a) == myArray) return; Timer t; t.start(); myNX = x; myNY = y; myNZ = z; myArray = (fftw_complex*)(a); if(myPlanForward != NULL) fftwnd_destroy_plan(myPlanForward); if(myPlanBackward != NULL) fftwnd_destroy_plan(myPlanBackward); myPlanForward = fftw3d_create_plan(myNX,myNY,myNZ,FFTW_FORWARD, FFTW_MEASURE|FFTW_IN_PLACE); myPlanBackward = fftw3d_create_plan(myNX,myNY,myNZ,FFTW_BACKWARD, FFTW_MEASURE|FFTW_IN_PLACE); t.stop(); report << hint <<"FFTW2 Initialization: "< 1) myArrayTmp = new fftw_complex [myNX*myNY*myNZ]; if(myLocalComm != MPI_COMM_NULL){ myPlanForward = fftw3d_mpi_create_plan(myLocalComm,myNX,myNY,myNZ,FFTW_FORWARD, FFTW_MEASURE|FFTW_IN_PLACE); myPlanBackward = fftw3d_mpi_create_plan(myLocalComm,myNX,myNY,myNZ,FFTW_BACKWARD, FFTW_MEASURE|FFTW_IN_PLACE); if(myNum > 1){ fftwnd_mpi_local_sizes(myPlanForward, &local_nx, &local_x_start, &local_ny_after_transpose, &local_y_start_after_transpose, &total_local_size); work = new fftw_complex [total_local_size]; data = new fftw_complex [total_local_size]; // Report if a node does nothing if(local_nx == 0){ int n; MPI_Comm_rank(MPI_COMM_WORLD,&n); report << allnodes << hint << "FFTW2 MPI: Node "<initialize(x,y,z,a); } void FFTComplex::backward(){ myFFTInternal->backward(); } void FFTComplex::forward(){ myFFTInternal->forward(); } #if defined(HAVE_FFT_FFTW2_MPI) void FFTComplex::FFTComplexMPIInit(int master){ FFTInternal::FFTInternalMPIInit(master); } void FFTComplex::FFTComplexMPIFinalize(){ FFTInternal::FFTInternalMPIFinalize(); } bool FFTComplex::isParallel(){ return true; } #else void FFTComplex::FFTComplexMPIInit(int){} void FFTComplex::FFTComplexMPIFinalize(){} bool FFTComplex::isParallel(){ return false; } #endif } protomol/framework/base/FFTComplex.h0100644027616700000500000000345210237151527017050 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef FFTCOMPLEX_H #define FFTCOMPLEX_H // Define the data type for FFT. #ifndef _SGI_FFT_ // Do not define if already defined by typedef struct { double re; double im; } zomplex; #endif #include "Real.h" namespace ProtoMol { class FFTInternal; //_________________________________________________________________ FFTComplex /** * Wrapper class for complex 3D FFT. Library specific calls and * initialization are implemented in FFTInternal.@n * * 1D and 2D: Overload method initialize()@n * * Run-time selection: Make FFTInternal abstract and the implementation * in local classes. */ class FFTComplex { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: FFTComplex(); ~FFTComplex(); private: FFTComplex(const FFTComplex&); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class FFTComplex //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(int x, int y, int z, zomplex* a); void backward(); void forward(); public: /// initialize MPI with master id static void FFTComplexMPIInit(int master); /// finalize MPI static void FFTComplexMPIFinalize(); /// test if parallel environment static bool isParallel(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: FFTInternal* myFFTInternal; }; //______________________________________________________________________ INLINES } #endif /* FFTCOMPLEX_H */ protomol/framework/base/Grid.h0100644027616700000500000004705310237151527015773 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef GRID_H #define GRID_H #include "Array.h" #include "Vector3D.h" #include "mathutilities.h" #include "FFTComplex.h" #include "Report.h" #include "ScalarStructure.h" namespace ProtoMol { //_________________________________________________________________ Grid /** * A simple Grid class using T as interpolation scheme, assuming periodic * boundary conditions. */ template class Grid { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef & const //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: struct Int3D {int x; int y; int z;}; /// 3d interpolation struct Interpolation3D { TInterpolation x; TInterpolation y; TInterpolation z; Interpolation3D(){}; Interpolation3D(unsigned int order):x(order),y(order),z(order){} }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Grid(); ~Grid(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Grid //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void anterpolateCharge(Real q, const Vector3D& coord, unsigned int index); void fftBack(){myFFT.backward();} Real scalarSum(ScalarStructure* energies); Real scalarSum(ScalarStructure* energies, unsigned int block, unsigned int nBlocks); void fftForward(){myFFT.forward();} void interpolateForce(Real q, unsigned int index, Vector3D& force); void initialize(Real width, Real length, Real height, Real alpha, unsigned int nx, unsigned int ny, unsigned int nz, unsigned int interOrder, unsigned int atomCount); void clear(); void getQ(Real*& begin, Real*& end) {begin=&(myQ.begin()->re);end=&(myQ.end()->re);} void print(); private: void dftmod(unsigned int order, unsigned int n, Real* interpolation, Real* interpolationMod); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Array myQ; Array myQTmp; unsigned int myNX; unsigned int myNY; unsigned int myNZ; int myNXOffset; int myNYOffset; int myNZOffset; Real myWidth; Real myLength; Real myHeight; Real myWidthr; Real myLengthr; Real myHeightr; Real myV; Real myHX; Real myHY; Real myHZ; Real myHXr; Real myHYr; Real myHZr; Real myAlpha; std::vector myScaledParticleIntPositions; std::vector myInterpolations; Real* myInerpolationModX; Real* myInerpolationModY; Real* myInerpolationModZ; Real* myExpX; Real* myExpY; Real* myExpZ; unsigned int myInterOrder; FFTComplex myFFT; unsigned int myAtomCount; Real myFac; }; //______________________________________________________________________ INLINES template inline void Grid::anterpolateCharge(Real q, const Vector3D& coord, unsigned int index) { Real x = coord.x*myHXr; Real y = coord.y*myHYr; Real z = coord.z*myHZr; while(x < 0.0) x += myNX; while(x >= myNX) x -= myNX; while(y < 0.0) y += myNY; while(y >= myNY) y -= myNY; while(z < 0.0) z += myNZ; while(z >= myNZ) z -= myNZ; int intX = (int)x; int intY = (int)y; int intZ = (int)z; int i0 = intX+myNXOffset; int j0 = intY+myNYOffset; int k0 = intZ+myNZOffset; myScaledParticleIntPositions[index].x = i0; myScaledParticleIntPositions[index].y = j0; myScaledParticleIntPositions[index].z = k0; myInterpolations[index].x.set(x-intX); myInterpolations[index].y.set(y-intY); myInterpolations[index].z.set(z-intZ); Real* thetaX = myInterpolations[index].x.theta; Real* thetaY = myInterpolations[index].y.theta; Real* thetaZ = myInterpolations[index].z.theta; for(unsigned int i=0;i::RefArray<2> rQX = myQ[i1]; #else RefArray rQX = myQ[i1]; #endif for(unsigned int j=0;j::RefArray<1> rQXY = rQX[j1]; #else RefArray rQXY = rQX[j1]; #endif for(unsigned int k=0;k inline void Grid::interpolateForce(Real q, unsigned int index, Vector3D& force){ int i0 = myScaledParticleIntPositions[index].x; int j0 = myScaledParticleIntPositions[index].y; int k0 = myScaledParticleIntPositions[index].z; Real fx = 0.0; Real fy = 0.0; Real fz = 0.0; Real* thetaX = myInterpolations[index].x.theta; Real* thetaY = myInterpolations[index].y.theta; Real* thetaZ = myInterpolations[index].z.theta; Real* dThetaX = myInterpolations[index].x.dTheta; Real* dThetaY = myInterpolations[index].y.dTheta; Real* dThetaZ = myInterpolations[index].z.dTheta; for(unsigned int i=0;i Grid::Grid(): myNX(0), myNY(0), myNZ(0), myNXOffset(0), myNYOffset(0), myNZOffset(0), myWidth(0.0), myLength(0.0), myHeight(0.0), myWidthr(0.0), myLengthr(0.0), myHeightr(0.0), myV(0.0), myHX(0.0), myHY(0.0), myHZ(0.0), myHXr(0.0), myHYr(0.0), myHZr(0.0), myAlpha(0.0), myInerpolationModX(NULL), myInerpolationModY(NULL), myInerpolationModZ(NULL), myExpX(NULL), myExpY(NULL), myExpZ(NULL), myInterOrder(0), myAtomCount(0), myFac(0.0){ } template Grid::~Grid(){ if(myInerpolationModX != NULL) delete [] myInerpolationModX; if(myInerpolationModY != NULL) delete [] myInerpolationModY; if(myInerpolationModZ != NULL) delete [] myInerpolationModZ; if(myExpX != NULL) delete [] myExpX; if(myExpY != NULL) delete [] myExpY; if(myExpZ != NULL) delete [] myExpZ; } template Real Grid::scalarSum(ScalarStructure* energies){ Real energy = 0.0; Real virialxx = 0.0; Real virialxy = 0.0; Real virialxz = 0.0; Real virialyy = 0.0; Real virialyz = 0.0; Real virialzz = 0.0; bool doVirial = energies->virial(); bool doMolVirial = energies->molecularVirial(); Real piVr = 1.0/(M_PI*myV); int count = 0; for (unsigned int i = 0; i < myNX; i++){ int i0 = i <= myNX/2 ? i : i-myNX; Real mi = i0*myWidthr; Real ex = myExpX[i]*piVr; #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<2> rQX = myQ[i]; #else RefArray rQX = myQ[i]; #endif for (unsigned int j = 0 ; j < myNY; j++){ int j0 = j <= myNY/2 ? j : j-myNY; Real interpolationModXY = myInerpolationModX[i]*myInerpolationModY[j]; Real mj = j0*myLengthr; Real mij = mi*mi + mj*mj; Real exy = ex*myExpY[j]; #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<1> rQXY = rQX[j]; #else RefArray rQXY = rQX[j]; #endif for (unsigned int k = (i!=0 || j!=0 ? 0:1); k <= myNZ/2; k++){ count++; int k0 = k <= myNZ/2 ? k : k-myNZ; //Vector3D mHat(i0*myWidthr,j0*myLengthr,k0*myHeightr); //Real mHatSquared = mHat.normSquared(); //Real theta = myInerpolationModX[i]*myInerpolationModY[j]*myInerpolationModZ[k]*exp(-fac*mHatSquared)/(mHatSquared*M_PI*myV); Real mk = k0*myHeightr; Real mHatSquared = mij+mk*mk; Real theta = interpolationModXY*myInerpolationModZ[k]*exy*myExpZ[k]/mHatSquared; // Energy Real q = power<2>(rQXY[k].re)+power<2>(rQXY[k].im); //Real q = power<2>(myQ[i][j][k].re)+power<2>(myQ[i][j][k].im); Real e = q*theta; Real v = 2.0*(1.0/mHatSquared + myFac); // Symmetric if(k > 0 && ((k != myNZ/2) || (myNZ & 1))){ e *= 2.0; zomplex& w = myQ[(myNX-i)%myNX][(myNY-j)%myNY][(myNZ-k)%myNZ]; w.re *= theta; w.im *= theta; } energy += e; // Virial if(doVirial){ virialxx += e *(1.0 - v * mi*mi); virialxy -= e *(v * mi*mj); virialxz -= e *(v * mi*mk); virialyy += e *(1.0 - v * mj*mj); virialyz -= e *(v * mj*mk); virialzz += e *(1.0 - v * mk*mk); } rQXY[k].re *= theta; rQXY[k].im *= theta; //myQ[i][j][k].re *= theta; //myQ[i][j][k].im *= theta; } } } // Just clear (0,0,0) since we did this not the nested loop. myQ[0][0][0].re = 0.0; myQ[0][0][0].im = 0.0; if(doVirial){ (*energies)[ScalarStructure::VIRIALXX] += virialxx*0.5; (*energies)[ScalarStructure::VIRIALXY] += virialxy*0.5; (*energies)[ScalarStructure::VIRIALXZ] += virialxz*0.5; (*energies)[ScalarStructure::VIRIALYX] += virialxy*0.5; (*energies)[ScalarStructure::VIRIALYY] += virialyy*0.5; (*energies)[ScalarStructure::VIRIALYZ] += virialyz*0.5; (*energies)[ScalarStructure::VIRIALZX] += virialxz*0.5; (*energies)[ScalarStructure::VIRIALZY] += virialyz*0.5; (*energies)[ScalarStructure::VIRIALZZ] += virialzz*0.5; } // Molecular Virial if(doMolVirial) { (*energies)[ScalarStructure::MOLVIRIALXX] += virialxx*0.5; (*energies)[ScalarStructure::MOLVIRIALXY] += virialxy*0.5; (*energies)[ScalarStructure::MOLVIRIALXZ] += virialxz*0.5; (*energies)[ScalarStructure::MOLVIRIALYX] += virialxy*0.5; (*energies)[ScalarStructure::MOLVIRIALYY] += virialyy*0.5; (*energies)[ScalarStructure::MOLVIRIALYZ] += virialyz*0.5; (*energies)[ScalarStructure::MOLVIRIALZX] += virialxz*0.5; (*energies)[ScalarStructure::MOLVIRIALZY] += virialyz*0.5; (*energies)[ScalarStructure::MOLVIRIALZZ] += virialzz*0.5; } return energy*0.5; } template Real Grid::scalarSum(ScalarStructure* energies, unsigned int block, unsigned int nBlocks){ Real energy = 0.0; Real virialxx = 0.0; Real virialxy = 0.0; Real virialxz = 0.0; Real virialyy = 0.0; Real virialyz = 0.0; Real virialzz = 0.0; bool doVirial = energies->virial(); bool doMolVirial = energies->molecularVirial(); Real piVr = 1.0/(M_PI*myV); myQTmp.resize(ArraySizes(myNX)(myNY)(myNZ)); int m = myQ.size(); zomplex *q = myQ.begin(); zomplex *t = myQTmp.begin(); for(int i=0;i(myNX/2) ? i : i-myNX; Real mi = i0*myWidthr; Real ex = myExpX[i]*piVr; #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<2> rQX = myQ[i]; Array::RefArray<2> rTQX = myQTmp[i]; #else RefArray rQX = myQ[i]; RefArray rTQX = myQTmp[i]; #endif for (; j < ey; j++,k=0){ int j0 = j <= static_cast(myNY/2) ? j : j-myNY; Real interpolationModXY = myInerpolationModX[i]*myInerpolationModY[j]; Real mj = j0*myLengthr; Real mij = mi*mi + mj*mj; Real exy = ex*myExpY[j]; #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<1> rQXY = rQX[j]; Array::RefArray<1> rTQXY = rTQX[j]; #else RefArray rQXY = rQX[j]; RefArray rTQXY = rTQX[j]; #endif //for (unsigned int k = (i!=0 || j!=0 ? 0:1); k < myNZ; k++){ for (; k < ez; k++){ int k0 = k <= static_cast(myNZ/2) ? k : k-myNZ; //Vector3D mHat(i0*myWidthr,j0*myLengthr,k0*myHeightr); //Real mHatSquared = mHat.normSquared(); //Real theta = myInerpolationModX[i]*myInerpolationModY[j]*myInerpolationModZ[k]*exp(-fac*mHatSquared)/(mHatSquared*M_PI*myV); Real mk = k0*myHeightr; Real mHatSquared = mij+mk*mk; Real theta = interpolationModXY*myInerpolationModZ[k]*exy*myExpZ[k]/mHatSquared; // Energy Real q = power<2>(rTQXY[k].re)+power<2>(rTQXY[k].im); //Real q = power<2>(myQ[i][j][k].re)+power<2>(myQ[i][j][k].im); Real e = q*theta; Real v = 2.0*(1.0/mHatSquared + myFac); // Symmetric if(k > 0 && ((k != static_cast(myNZ/2)) || (myNZ & 1))){ e *= 2.0; myQ[(myNX-i)%myNX][(myNY-j)%myNY][(myNZ-k)%myNZ].re = myQTmp[(myNX-i)%myNX][(myNY-j)%myNY][(myNZ-k)%myNZ].re * theta; myQ[(myNX-i)%myNX][(myNY-j)%myNY][(myNZ-k)%myNZ].im = myQTmp[(myNX-i)%myNX][(myNY-j)%myNY][(myNZ-k)%myNZ].im * theta; } energy += e; // Virial if(doVirial){ virialxx += e *(1.0 - v * mi*mi); virialxy -= e *(v * mi*mj); virialxz -= e *(v * mi*mk); virialyy += e *(1.0 - v * mj*mj); virialyz -= e *(v * mj*mk); virialzz += e *(1.0 - v * mk*mk); } // rQXY[k].re = rTQXY[k].re * theta; rQXY[k].im = rTQXY[k].im * theta; //myQ[i][j][k].re *= theta; //myQ[i][j][k].im *= theta; count++; if(count >= size){ i = myNX; j = myNY; k = myNZ; } } } } // Just clear (0,0,0) since we did this not the nested loop. myQ[0][0][0].re = 0.0; myQ[0][0][0].im = 0.0; if(doVirial){ (*energies)[ScalarStructure::VIRIALXX] += virialxx*0.5; (*energies)[ScalarStructure::VIRIALXY] += virialxy*0.5; (*energies)[ScalarStructure::VIRIALXZ] += virialxz*0.5; (*energies)[ScalarStructure::VIRIALYX] += virialxy*0.5; (*energies)[ScalarStructure::VIRIALYY] += virialyy*0.5; (*energies)[ScalarStructure::VIRIALYZ] += virialyz*0.5; (*energies)[ScalarStructure::VIRIALZX] += virialxz*0.5; (*energies)[ScalarStructure::VIRIALZY] += virialyz*0.5; (*energies)[ScalarStructure::VIRIALZZ] += virialzz*0.5; } // Molecular Virial if(doMolVirial) { (*energies)[ScalarStructure::MOLVIRIALXX] += virialxx*0.5; (*energies)[ScalarStructure::MOLVIRIALXY] += virialxy*0.5; (*energies)[ScalarStructure::MOLVIRIALXZ] += virialxz*0.5; (*energies)[ScalarStructure::MOLVIRIALYX] += virialxy*0.5; (*energies)[ScalarStructure::MOLVIRIALYY] += virialyy*0.5; (*energies)[ScalarStructure::MOLVIRIALYZ] += virialyz*0.5; (*energies)[ScalarStructure::MOLVIRIALZX] += virialxz*0.5; (*energies)[ScalarStructure::MOLVIRIALZY] += virialyz*0.5; (*energies)[ScalarStructure::MOLVIRIALZZ] += virialzz*0.5; } return energy*0.5; } template void Grid::initialize(Real width, Real length, Real height, Real alpha, unsigned int nx, unsigned int ny, unsigned int nz, unsigned int interOrder, unsigned int atomCount){ if(!myQ.resize(ArraySizes(nx)(ny)(nz))) report << error <<"[Grid<>::initialize] Could not allocate memory for Q[" <(i0*myWidthr)); } for (unsigned int j = 0 ; j < myNY; j++){ int j0 = j <= myNY/2 ? j : j-myNY; myExpY[j] = exp(-myFac*power<2>(j0*myLengthr)); } //for (unsigned int k = 0; k < myNZ; k++){ for (unsigned int k = 0; k<= myNZ/2 ; k++){ int k0 = k <= myNZ/2 ? k : k-myNZ; myExpZ[k] = exp(-myFac*power<2>(k0*myHeightr)); } // Precompute the mod TInterpolation, B(m1,m2,m3) if(myInerpolationModX != NULL) delete [] myInerpolationModX; myInerpolationModX = new Real[nx]; if(myInerpolationModY != NULL) delete [] myInerpolationModY; myInerpolationModY = new Real[ny]; if(myInerpolationModZ != NULL) delete [] myInerpolationModZ; myInerpolationModZ = new Real[nz]; TInterpolation interpolation = TInterpolation(myInterOrder,0.0); dftmod(myInterOrder,nx,interpolation.theta,myInerpolationModX); dftmod(myInterOrder,ny,interpolation.theta,myInerpolationModY); dftmod(myInterOrder,nz,interpolation.theta,myInerpolationModZ); //for(unsigned int i=0;i void Grid::dftmod(unsigned int order, unsigned int n, Real* interpolation, Real* interpolationMod){ for(unsigned int i=0;i void Grid::clear(){ int n = myQ.size(); zomplex *q = myQ.begin(); for(int i=0;i void Grid::print(){ Real q = 0.0; report << plain; for (unsigned int i = 0; i < myNX; i++){ for (unsigned int j = 0 ; j < myNY; j++){ report << "Q["< namespace ProtoMol { //_________________________________________________________________ Lagrange /** * Lagrange interpolation. * theta are the lk, where dTheta are the derivatives of lk */ class Lagrange { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Lagrange(); Lagrange(unsigned int order); Lagrange(unsigned int order, Real w); ~Lagrange(); Lagrange(const Lagrange& Lagrange); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Lagrange //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: unsigned int getOrder() const {return myInterOrder;} void setOrder(unsigned int order); void set(Real w); static bool isSigma(unsigned int order){return (Lagrange(order,0.0).theta[order-1] == 0.0 && Lagrange(order,0.0).dTheta[order-1] == 0.0);} ///< true iff one theta is 1 and all other 0 for w=0 static const std::string& getKeyword() {return keyword;} ///< Returns the keyword/name of this interpolation //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: unsigned int myInterOrder; public: Real* theta; ///< lk Real* dTheta; ///< derivatives of lk public: static const std::string keyword; }; //______________________________________________________________________ INLINES } #endif /* LAGRANGE_H */ protomol/framework/base/Makeable.cpp0100644027616700000500000000456410237151527017142 0ustar pbrenne1dip#include "Makeable.h" #include "stringutilities.h" using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ Makeable string Makeable::getId() const{ if(!myAlias.empty()){ return getAlias(); } else { return getIdNoAlias(); } } string Makeable::getAlias() const{ return myAlias; } string Makeable::setAlias(const string& id){ string tmp(myAlias); if(equalNocase(id,getIdNoAlias())){ myAlias = ""; } else { myAlias = id; } return tmp; } bool Makeable::checkParameters(string& errMsg, const vector& values) const{ vector tmp; getParameters(tmp); bool ok = (tmp.size() == values.size()); if(!ok){ errMsg += getId()+": Expected "+toString(tmp.size())+" value(s), but got "+toString(values.size())+"."; } for(unsigned int i=0;i& values) const{ vector tmp; getParameters(tmp); if(tmp.size() != values.size()) return false; for(unsigned int i=0;i& values) const{ vector tmp; getParameters(tmp); if(tmp.size() != values.size()) return false; for(unsigned int i=0;i Makeable::getParameters() const{ vector p; this->getParameters(p); return p; } MakeableDefinition Makeable::getDefinition() const{ return MakeableDefinition (getId(),getParameters()); } } protomol/framework/base/Makeable.h0100644027616700000500000000501110237151527016573 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MAKEABLE_H #define MAKEABLE_H #include "MakeableDefinition.h" namespace ProtoMol { class Configuration; //________________________________________________________ Makeable /** Base class of all object, which can be create dynamically based on a prototype, normally used together with a Factory. */ class Makeable{ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual ~Makeable(){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //virtual Makeable* make(std::string& errMsg, std::vector values)const=0; /// retrieve all parameters virtual void getParameters(std::vector& parameters) const=0; /// number of parameters virtual unsigned int getParameterSize() const=0; /// retrieve all parameters std::vector getParameters() const; virtual MakeableDefinition getDefinition() const; std::string getId() const; std::string getAlias() const; std::string setAlias(const std::string& id); virtual std::string getIdNoAlias() const=0; virtual std::string getScope() const=0; virtual std::string getText() const{return std::string();} bool checkParameters(std::string& errMsg, const std::vector& values) const; bool checkParameters(const std::vector& values) const; bool checkParameterTypes(const std::vector& values) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* /*config*/) const{ return checkParameterTypes(values);} template static T* copy(T* obj){ T* clone = NULL; if(obj != NULL){ std::string err; std::vector p; obj->getParameters(p); std::vector v(p.size()); for(unsigned int i=0;imake(err,v); } return clone; } protected: template T* adjustAlias(T* obj) const{ if(obj != NULL) obj->setAlias(getId()); return obj; } private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // private data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: std::string myAlias; }; } #endif protomol/framework/base/MakeableDefinition.h0100644027616700000500000000202410237151527020605 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MAKABLEDEFINITION_H #define MAKABLEDEFINITION_H #include #include "Parameter.h" namespace ProtoMol { //________________________________________________________ MakeableDefinition /** * Vector container struct for object definitions. */ struct MakeableDefinition { // Container struct for makable definitions //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: MakeableDefinition(){} MakeableDefinition(const std::string& i,const std::vector& p):id(i),parameters(p){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: std::string id; ///< keyword of the object std::vector parameters; ///< parameters of the obejct }; } #endif /* MAKABLEDEFINITION_H */ protomol/framework/base/Makefile.am0100644027616700000500000000371710237151527016770 0ustar pbrenne1dip# base AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libbase_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # base Sources P_BASE_SRC =\ BSpline.cpp\ BSplineType.cpp\ Configuration.cpp\ ConstraintValueType.cpp\ FFTComplex.cpp\ Lagrange.cpp\ Makeable.cpp\ Matrix3by3.cpp\ iSGPAR.cpp\ PAR.cpp\ PDB.cpp\ PPM.cpp\ PGM.cpp\ PSF.cpp\ Parameter.cpp\ ReducedHessAngle.cpp\ reducedHessBond.cpp\ Report.cpp\ ScalarStructure.cpp\ Timer.cpp\ TimerStatistic.cpp\ Value.cpp\ ValueType.cpp\ Vector3DBlock.cpp\ XYZ.cpp\ pmconstants.cpp\ fft.c\ mathutilities.cpp\ stringutilities.cpp\ systemutilities.cpp # base Includes P_BASE_H =\ AbstractEnumType.h\ Array.h\ Atom.h\ AtomType.h\ BSpline.h\ BSplineType.h\ Configuration.h\ ConstraintValueType.h\ FFTComplex.h\ Grid.h\ Lagrange.h\ Makeable.h\ MakeableDefinition.h\ Matrix3by3.h\ Molecule.h\ MultiGrid.h\ Proxy.h\ iSGPAR.h\ PAR.h\ PDB.h\ PPM.h\ PGM.h\ PSF.h\ Parameter.h\ Real.h\ ReducedHessAngle.h\ reducedHessBond.h\ Report.h\ ScalarStructure.h\ Stack.h \ Timer.h\ TimerStatistic.h\ Value.h\ ValueType.h\ Vector.h\ Vector3D.h\ Vector3DBlock.h\ XYZ.h\ pmconstants.h\ mathutilities.h\ protomol.h\ simpleTypes.h\ stringutilities.h\ systemutilities.h\ typeSelection.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libbase.a libbase_a_SOURCES = $(P_BASE_SRC) $(P_BASE_H) INCLUDES = @FFT_CFLAGS@ -I$(P_BASE)# -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_BASE_SRC) #include $(top_srcdir)/Makefile.depend protomol/framework/base/Makefile.in0100644027616700000500000002544210237151527017000 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # base SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libbase_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # base Sources P_BASE_SRC = \ BSpline.cpp\ BSplineType.cpp\ Configuration.cpp\ ConstraintValueType.cpp\ FFTComplex.cpp\ Lagrange.cpp\ Makeable.cpp\ Matrix3by3.cpp\ iSGPAR.cpp\ PAR.cpp\ PDB.cpp\ PPM.cpp\ PGM.cpp\ PSF.cpp\ Parameter.cpp\ ReducedHessAngle.cpp\ reducedHessBond.cpp\ Report.cpp\ ScalarStructure.cpp\ Timer.cpp\ TimerStatistic.cpp\ Value.cpp\ ValueType.cpp\ Vector3DBlock.cpp\ XYZ.cpp\ pmconstants.cpp\ fft.c\ mathutilities.cpp\ stringutilities.cpp\ systemutilities.cpp # base Includes P_BASE_H = \ AbstractEnumType.h\ Array.h\ Atom.h\ AtomType.h\ BSpline.h\ BSplineType.h\ Configuration.h\ ConstraintValueType.h\ FFTComplex.h\ Grid.h\ Lagrange.h\ Makeable.h\ MakeableDefinition.h\ Matrix3by3.h\ Molecule.h\ MultiGrid.h\ Proxy.h\ iSGPAR.h\ PAR.h\ PDB.h\ PPM.h\ PGM.h\ PSF.h\ Parameter.h\ Real.h\ ReducedHessAngle.h\ reducedHessBond.h\ Report.h\ ScalarStructure.h\ Stack.h \ Timer.h\ TimerStatistic.h\ Value.h\ ValueType.h\ Vector.h\ Vector3D.h\ Vector3DBlock.h\ XYZ.h\ pmconstants.h\ mathutilities.h\ protomol.h\ simpleTypes.h\ stringutilities.h\ systemutilities.h\ typeSelection.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libbase.a libbase_a_SOURCES = $(P_BASE_SRC) $(P_BASE_H) INCLUDES = @FFT_CFLAGS@ -I$(P_BASE)# -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_BASE_SRC) subdir = framework/base mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) libbase_a_LIBADD = am__objects_1 = BSpline.$(OBJEXT) BSplineType.$(OBJEXT) \ Configuration.$(OBJEXT) ConstraintValueType.$(OBJEXT) \ FFTComplex.$(OBJEXT) Lagrange.$(OBJEXT) Makeable.$(OBJEXT) \ Matrix3by3.$(OBJEXT) iSGPAR.$(OBJEXT) PAR.$(OBJEXT) \ PDB.$(OBJEXT) PPM.$(OBJEXT) PGM.$(OBJEXT) PSF.$(OBJEXT) \ Parameter.$(OBJEXT) ReducedHessAngle.$(OBJEXT) \ reducedHessBond.$(OBJEXT) Report.$(OBJEXT) \ ScalarStructure.$(OBJEXT) Timer.$(OBJEXT) \ TimerStatistic.$(OBJEXT) Value.$(OBJEXT) ValueType.$(OBJEXT) \ Vector3DBlock.$(OBJEXT) XYZ.$(OBJEXT) pmconstants.$(OBJEXT) \ fft.$(OBJEXT) mathutilities.$(OBJEXT) stringutilities.$(OBJEXT) \ systemutilities.$(OBJEXT) am__objects_2 = am_libbase_a_OBJECTS = $(am__objects_1) $(am__objects_2) libbase_a_OBJECTS = $(am_libbase_a_OBJECTS) DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ DIST_SOURCES = $(libbase_a_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(libbase_a_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .c .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign framework/base/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libbase.a: $(libbase_a_OBJECTS) $(libbase_a_DEPENDENCIES) -rm -f libbase.a $(libbase_a_AR) libbase.a $(libbase_a_OBJECTS) $(libbase_a_LIBADD) $(RANLIB) libbase.a mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .c.o: $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< .c.obj: $(COMPILE) -c `cygpath -w $<` .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/framework/base/Matrix3by3.cpp0100644027616700000500000003336010237151527017402 0ustar pbrenne1dip#include "Matrix3by3.h" #include "mathutilities.h" #include "Report.h" using namespace ProtoMol::Report; namespace ProtoMol { //________________________________________________________________ Matrix3by3 const Matrix3by3 Matrix3by3::ourIdentity = Matrix3by3(1,0,0, 0,1,0, 0,0,1); Matrix3by3::Matrix3by3() { // zeroMatrix(); // for performance reasons, an empty Matrix3by3 object will contain // anything left in memory (not zeroed any more). user should avoid // using x += y type operations until the matrices (x) have been // properly initialized. A direct assian operation, x = y, will // replace whatever left in x with the new values. } Matrix3by3::Matrix3by3(Real x00, Real x01, Real x02, Real x10, Real x11, Real x12, Real x20, Real x21, Real x22) { m00 = x00; m01 = x01; m02 = x02; m10 = x10; m11 = x11; m12 = x12; m20 = x20; m21 = x21; m22 = x22; } Matrix3by3::Matrix3by3(float mat[9]) { m00 = *mat++; m01 = *mat++; m02 = *mat++; m10 = *mat++; m11 = *mat++; m12 = *mat++; m20 = *mat++; m21 = *mat++; m22 = *mat++; } Matrix3by3::Matrix3by3(double mat[9]) { m00 = *mat++; m01 = *mat++; m02 = *mat++; m10 = *mat++; m11 = *mat++; m12 = *mat++; m20 = *mat++; m21 = *mat++; m22 = *mat++; } //construct a matrix that is the outer products of two coordinates Matrix3by3::Matrix3by3(const Vector3D &a, const Vector3D &b) { (*this)(a.x*b.x,a.x*b.y,a.x*b.z, a.y*b.x,a.y*b.y,a.y*b.z, a.z*b.x,a.z*b.y,a.z*b.z); } Matrix3by3::Matrix3by3(const Vector3D& v1, const Vector3D& v2, const Vector3D& v3) { m00 = v1.x; m01 = v1.y; m02 = v1.z; m10 = v2.x; m11 = v2.y; m12 = v2.z; m20 = v3.x; m21 = v3.y; m22 = v3.z; } void Matrix3by3::identity() { m00 = 1; m01 = 0; m02 = 0; m10 = 0; m11 = 1; m12 = 0; m20 = 0; m21 = 0; m22 = 1; } void Matrix3by3::zeroMatrix() { m00 = 0; m01 = 0; m02 = 0; m10 = 0; m11 = 0; m12 = 0; m20 = 0; m21 = 0; m22 = 0; } bool Matrix3by3::zero() const { return *this == Matrix3by3(0,0,0, 0,0,0, 0,0,0); } Real Matrix3by3::operator()(int i, int j) const { if (i == 0) { if (j == 0) return m00; else if (j == 1) return m01; else if (j == 2) return m02; } else if (i == 1) { if (j == 0) return m10; else if (j == 1) return m11; else if (j == 2) return m12; } else if (i == 2) { if (j == 0) return m20; else if (j == 1) return m21; else if (j == 2) return m22; } report << recoverable << "[Matrix3by3::operator()] index out of range."< 0.0){ Real n1, n2, n3; Vector3D n(axis.normalized()); n1 = n.x; n2 = n.y; n3 = n.z; m00 = n1*n1 + (1. - n1*n1)*cosAlpha; m01 = n1*n2*(1. - cosAlpha) + n3*sinAlpha; m02 = n1*n3*(1. - cosAlpha) - n2*sinAlpha; m10 = n1*n2*(1. - cosAlpha) - n3*sinAlpha; m11 = n2*n2 + (1. - n2*n2)*cosAlpha; m12 = n2*n3*(1. - cosAlpha) + n1*sinAlpha; m20 = n1*n3*(1. - cosAlpha) + n2*sinAlpha; m21 = n2*n3*(1. - cosAlpha) - n1*sinAlpha; m22 = n3*n3 + (1. - n3*n3)*cosAlpha; } else { identity(); } } void Matrix3by3::rotate(const Vector3D& axis, Real alpha) { Real sinAlpha, cosAlpha; sincos(alpha, sinAlpha, cosAlpha); rotate(axis,sinAlpha, cosAlpha); } void Matrix3by3::rotate(const Vector3D& from, const Vector3D& to) { if(from.normSquared() > 0.0 && to.normSquared() > 0.0){ Vector3D a(from.normalized()); Vector3D b(to.normalized()); // linear if((a-b).normSquared() < Constant::EPSILON){ // same direction identity(); } else if((a+b).normSquared() < Constant::EPSILON){ // opposite direction Real n1 = fabs(a.x); Real n2 = fabs(a.y); Real n3 = fabs(a.z); if(n1 >= max(n2,n3)){ m00 =-1.0; m01 = 0.0; m02 = 0.0; m10 = 0.0; m11 =-1.0; m12 = 0.0; m20 = 0.0; m21 = 0.0; m22 = 1.0; } else if( n2 >= max(n1,n3)){ m00 = 1.0; m01 = 0.0; m02 = 0.0; m10 = 0.0; m11 =-1.0; m12 = 0.0; m20 = 0.0; m21 = 0.0; m22 =-1.0; } else { m00 =-1.0; m01 = 0.0; m02 = 0.0; m10 = 0.0; m11 = 1.0; m12 = 0.0; m20 = 0.0; m21 = 0.0; m22 =-1.0; } } else { Vector3D axis(b.cross(a)); axis.normalize(); rotate(axis,a.cross(b).norm(),a.dot(b)); } } else { identity(); } } //______________________________________________________________________ friends std::ostream& operator<<(std::ostream &os, const Matrix3by3& tm) { os << "[[" << tm.m00 << ", " << tm.m01 << ", " <(from.m00); to[1] = static_cast(from.m01); to[2] = static_cast(from.m02); to[3] = static_cast(from.m10); to[4] = static_cast(from.m11); to[5] = static_cast(from.m12); to[6] = static_cast(from.m20); to[7] = static_cast(from.m21); to[8] = static_cast(from.m22); } void convert(const Matrix3by3& from, double to[16]) { to[0] = static_cast(from.m00); to[1] = static_cast(from.m01); to[2] = static_cast(from.m02); to[3] = static_cast(from.m10); to[4] = static_cast(from.m11); to[5] = static_cast(from.m12); to[6] = static_cast(from.m20); to[7] = static_cast(from.m21); to[8] = static_cast(from.m22); } } protomol/framework/base/Matrix3by3.h0100644027616700000500000001240610237151527017045 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MATRIX3by3_H #define MATRIX3by3_H #include #include "Vector3D.h" namespace ProtoMol { /*________________________________________________________________ Matrix3by3 * * [ m00 m01 m02 ] * [ m10 m11 m12 ] representation of a 3 by 3 matrix * [ m20 m21 m22 ] */ class Matrix3by3 { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Matrix3by3(); // Matrix3by3(const Matrix3by3&); // Use default verions. Matrix3by3(Real x00, Real x01, Real x02, Real x10, Real x11, Real x12, Real x20, Real x21, Real x22); Matrix3by3(float mat[9]); Matrix3by3(double mat[9]); Matrix3by3(const Vector3D &a, const Vector3D &b); // construct the outer-product matrix = a .outer. b; Matrix3by3(const Vector3D& v1, const Vector3D& v2, const Vector3D& v3); // construct the matrix with three Vector3D as rows. public: // Matrix3by3& operator=(const Matrix3by3&); // Use default version. public: // ~Matrix3by3(); // Use default version. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Matrix3by3 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: const Matrix3by3& getIdentity(); // Return the identity matrix. void identity(); // Set 'this' to the identity matrix. void zeroMatrix();// Set 'this' to the zero matrix. bool zero() const; // Check if all elements equals zero. Real det(); Real operator()(int i, int j) const; // Extract an element. void operator()(int i, int j, Real x); // Set an element. void operator()(Real x00, Real x01, Real x02, Real x10, Real x11, Real x12, Real x20, Real x21, Real x22); // set a whole matrix bool operator==(const Matrix3by3& tm) const; bool operator!=(const Matrix3by3& tm) const; Matrix3by3& operator*=(const Matrix3by3& tm); Matrix3by3 operator*(const Matrix3by3& tm) const; // Matrix multiplication. Vector3D operator*(const Vector3D& tm) const; // matrix mult a coordinate, return a coordinate Matrix3by3& operator*=(const Real tm); Matrix3by3 operator*(const Real tm) const; // Matrix mult constant. Matrix3by3& operator/=(const Real tm); Matrix3by3 operator/(const Real tm) const; // Matrix div constant. Matrix3by3& operator+=(const Matrix3by3& tm); Matrix3by3 operator+(const Matrix3by3& tm) const; // Matrix addition. Matrix3by3& operator-=(const Matrix3by3& tm); Matrix3by3 operator-(const Matrix3by3& tm) const; // Matrix subtraction. Matrix3by3 operator-(void) const; // negate operator that returns (- (*this)). void transpose(); // transpose 'this'. void transpose(const Matrix3by3& tm); // Set 'this' to tm transposed, leave tm unchanged. Matrix3by3 transposed() const; // Return the transposed matrix, leave the original unchanged. // Matrix transpose bool invert(); // Compute the inverse of the given matrix. // Returns: false -> singular matrix // true -> success. void scale(Real sx, Real sy, Real sz); void scale(Real s); void scale(const Vector3D& scaleFactor); // Concat scale matrix to the current transformation. /// Rotation matrix along axis by alpha (rad) void rotate(const Vector3D& axis, Real alpha); void rotate(const Vector3D& axis, Real sinAlpha, Real cosAlpha); /// Rotation matrix such that from -> to /// and rotate along z-axes by beta (rad) void rotate(const Vector3D& from, const Vector3D& to); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends of class Matrix3by3 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //friend MyStreamer& operator<< (MyStreamer& OS, const Matrix3by3& tm); friend std::ostream& operator<<(std::ostream& os, const Matrix3by3& tm); friend Vector3D operator*(const Vector3D& point, const Matrix3by3& tm); // computes and retuns the outer product of two coordinates. friend void convert(const Matrix3by3& from, double to[9]); friend void convert(const Matrix3by3& from, float to[9]); // Conversion to built-in types. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real m00, m01, m02; Real m10, m11, m12; Real m20, m21, m22; private: static const Matrix3by3 ourIdentity; }; //____________________________________________________________________ friend //MyStreamer& operator<< (MyStreamer& OS, const Matrix3by3& tm); std::ostream& operator<<(std::ostream& os, const Matrix3by3& tm); Vector3D operator*(const Vector3D& point, const Matrix3by3& tm); void convert(const Matrix3by3& from, double to[9]); void convert(const Matrix3by3& from, float to[9]); //______________________________________________________________________ INLINES inline const Matrix3by3& Matrix3by3::getIdentity() { return ourIdentity; } } #endif // MATRIX3D_H protomol/framework/base/Molecule.h0100644027616700000500000000451710237151527016651 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MOLECULE_H #define MOLECULE_H #include "Real.h" #include "Vector3D.h" #include "simpleTypes.h" #include #include namespace ProtoMol { //_________________________________________________________________ Molecule /** This class defines the information for one molecule. It contains the mass of the molecule, its center of mass position and momentum, and a list of the atoms on the molecule. */ struct Molecule { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Molecule():mass(0.0),position(0.0,0.0,0.0),momentum(0.0,0.0,0.0),water(false), type(0),newtype(0),lambda(0.0) {} size_t size(){return atoms.size();} ///< Return number of atoms of this molecule int operator [](int i ){return atoms[i];} ///< Return atom number //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Real mass; ///< The mass of the molecule. Vector3D position; ///< The xyz coordinate of the molecule's center of mass. Vector3D momentum; ///< The xyz momentum of the molecule's center of mass. std::vector atoms; ///< List of the ID#s of the atoms on the molecule. std::vector pairs; ///< List of pairs (bond, angle, dihedral and improper) bool water; ///< If molecule is a water molecule //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // iSG molecule parts are listed below //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unsigned int type, newtype; ///< Type of the molecule...needed for ISG simulations ///< type is the molecule's type in the Lambda = 0 state; ///< newtype is the molecule's type in the Lambda = 1 state; Real lambda; ///< Parameter controlling the identity (or type) of the molecule. std::vector bondList; std::vector angleList; std::vector dihedralList; std::vector improperList; ///< list of the index #s of each bond, angle, dihedral, ///< and improper on this molecule...may not need this because of pairs above!!!! }; } #endif /* MOLECULE_H */ protomol/framework/base/MultiGrid.h0100644027616700000500000012277310237151527017011 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MULTIGRID_H #define MULTIGRID_H #include "Array.h" #include "Vector3D.h" #include "mathutilities.h" #include "Report.h" //#define DEBUG_MULTIGRID //#define DEBUG_MULTIGRID_TIMING namespace ProtoMol { //_________________________________________________________________ MultiGrid static const Real BORDER_TOLERANCE = 0.0001; static const int BORDER = 2; /** * Multi grid algorithm based on TInterpolation scheme using TKernel * handling non-periodic and periodic boundary conditions. */ template class MultiGrid { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef & const //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: struct Int3D {int x, y, z;}; /// 3D interpolation struct Interpolation3D { TInterpolation x; TInterpolation y; TInterpolation z; Interpolation3D(){}; Interpolation3D(unsigned int order):x(order),y(order),z(order){}; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: MultiGrid(); #ifdef DEBUG_MULTIGRID_TIMING ~MultiGrid(){ if(myCounterDirect+myCounterCorrection > 0) Report::report << allnodes << plain << "[MultiGrid] Smooth part: direct=" << myCounterDirect<<", correction=" << myCounterCorrection<<"."< Q(0) void anterpolateCharge(Real q, const Vector3D& coord, unsigned int index); /// Anterpolates Q from level to level+1, Q(level) -> Q(level+1) void fineToCoarse(int level, unsigned int block, unsigned int nBlocks); void fineToCoarse(int level){fineToCoarse(level,0,1);} /// Computes the potential for the top level, Q(maxLevels-1) -> V(maxLevels-1) void direct(unsigned int block, unsigned int nBlocks); void direct(){direct(0,1);}; /// Interpolates Q from level to level-1, Q(level) -> Q(level-1) void coarseToFine(int level, unsigned int block, unsigned int nBlocks); void coarseToFine(int level){coarseToFine(level,0,1);} /// Adds the correction term Q(level) -> V(level) void correction(int level, unsigned int block, unsigned int nBlocks); void correction(int level){correction(level,0,1);}; /// Computes the energy of a given level, V(level) -> energy Real energy(int level, unsigned int block, unsigned int nBlocks); Real energy(int level){return energy(level,0,1);}; /// Interpolates the force from grid, level 0, Q(0) -> force void interpolateForce(Real q, unsigned int index, Vector3D& force); void initialize(unsigned int n, Real s, int levels, int nx, int ny, int nz, int interOrder, int ratio, Vector3D min, Vector3D max, Vector3D h, Vector3D origin); /** Update the length, width and height of the grid according min and max such * that anter-/interpolated works regardless order and boundary conditions. * In case of non-PBC it adds a border such that all points inside [min,max] * are correctly anter-/interpolated. */ void updateSize(Vector3D min, Vector3D max); void getV(int level, Real*& begin, Real*& end) {begin=myV[level].begin();end=myV[level].end();} void getQ(int level, Real*& begin, Real*& end) {begin=myQ[level].begin();end=myQ[level].end();} void clear(); Real sumV(int level); Real sumQ(int level); void print(int level){printQ(level);printV(level);} void printV(int level); void printQ(int level); void printConst(); private: void precomputeG(); void blocksCorrection(unsigned int nBlocks); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: std::vector > myQ; ///< Arrays of charges std::vector > myV; ///< Arrays of potentials Array myGDirect; ///< G_direct for top level, G->V Array myGCorrection; ///< G_Correction for other levels, G->V int myGCorrDimX; ///< Dimensions of G_correction int myGCorrDimY; int myGCorrDimZ; Vector3D myMin; // Vector3D myMax; // Vector3D myCMin; // Vector3D myCMax; // Vector3D myH; // Vector3D myOrigin; // int myNX; ///< x dimension of the grid level 0 int myNY; ///< y dimension of the grid level 0 int myNZ; ///< z dimension of the grid level 0 int myNXOffset; ///< x index offset between to grid levels int myNYOffset; ///< y index offset between to grid levels int myNZOffset; ///< z index offset between to grid levels Real myHX; ///< h_x at level 0 Real myHY; ///< h_y at level 0 Real myHZ; ///< h_z at level 0 Real myHXr; ///< 1/h_x at level 0 Real myHYr; ///< 1/h_y at level 0 Real myHZr; ///< 1/h_z at level 0 std::vector myScaledParticleIntPositions; ///< Starting index for anter/-interpolation // for each particle std::vector myInterpolations; ///< Interpolation weights for each particle std::vector myGridInterpolation; ///< Interpolation between grids Real myS; ///< Softening distance Real myRS; ///< 1 / Softening distance int myInterOrder; ///< Interpolation order int myRatio; ///< Ratio between to levels, usually 2 int myLevels; ///< Number of levels, 0,1,2,...,myLevels-1 int mySigma; ///< 1 if interpolation weights ...,0 for w=0, 0 else std::vector myDim; ///< Dimension of the grids std::vector myScale; ///< Scaling factor for each level std::vector > myBlocksCorrection; ///< List of blocks for the correction #ifdef DEBUG_MULTIGRID_TIMING long myCounterDirect; long myCounterCorrection; #endif }; //______________________________________________________________________ INLINES template inline void MultiGrid::anterpolateCharge(Real q, const Vector3D& coord, unsigned int index) { Real x = (coord.x-myMin.x)*myHXr; Real y = (coord.y-myMin.y)*myHYr; Real z = (coord.z-myMin.z)*myHZr; if(pbcX) while(x < 0.0) x += myNX; if(pbcX) while(x >= myNX) x -= myNX; if(pbcY) while(y < 0.0) y += myNY; if(pbcY) while(y >= myNY) y -= myNY; if(pbcZ) while(z < 0.0) z += myNZ; if(pbcZ) while(z >= myNZ) z -= myNZ; int intX = (int)x; int intY = (int)y; int intZ = (int)z; int i0 = intX+myNXOffset; int j0 = intY+myNYOffset; int k0 = intZ+myNZOffset; myScaledParticleIntPositions[index].x = i0; myScaledParticleIntPositions[index].y = j0; myScaledParticleIntPositions[index].z = k0; myInterpolations[index].x.set(x-intX); myInterpolations[index].y.set(y-intY); myInterpolations[index].z.set(z-intZ); Real* thetaX = myInterpolations[index].x.theta; Real* thetaY = myInterpolations[index].y.theta; Real* thetaZ = myInterpolations[index].z.theta; Array& rQ = myQ[0]; for(int i=0;i::RefArray<2> rQX = rQ[i1]; #else RefArray rQX = rQ[i1]; #endif for(int j=0;j::RefArray<1> rQXY = rQX[j1]; #else RefArray rQXY = rQX[j1]; #endif for(int k=0;k inline void MultiGrid::fineToCoarse(int level, unsigned int block, unsigned int nBlocks){ int nx = myDim[level].x; int ny = myDim[level].y; int nz = myDim[level].z; int nx2 = myDim[level+1].x; int ny2 = myDim[level+1].y; int nz2 = myDim[level+1].z; Array& rQ0 = myQ[level]; Array& rQ1 = myQ[level+1]; int nyz = ny*nz; int n = nx*nyz; int sn = (n*block)/nBlocks; int en = (n*(block+1))/nBlocks - 1; int count = 0; int size = en-sn+1; if(size == 0) return; int k = sn % nz; int j = (sn / nz) % ny; int i = (sn / nyz); int ez = (en % nz)+1; int ey = ((en / nz) % ny)+1; int ex = (en / nyz)+1; if(j < ey-1) ez = nz; if(i < ex-1){ ey = ny; ez = nz; } for (; i < ex; i++,j=0){ int i1 = i/myRatio; Real* thetaX = myGridInterpolation[i%myRatio].theta; #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<2> rQ0X = rQ0[i]; #else RefArray rQ0X = rQ0[i]; #endif for (; j < ey; j++,k=0){ int j1 = j/myRatio; Real* thetaY = myGridInterpolation[j%myRatio].theta; #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<1> rQ0XY = rQ0X[j]; #else RefArray rQ0XY = rQ0X[j]; #endif for (; k < ez; k++){ int k1 = k/myRatio; Real* thetaZ = myGridInterpolation[k%myRatio].theta; Real q = rQ0XY[k]; for(int i0=0;i0::RefArray<2> rQ1X = rQ1[i2]; #else RefArray rQ1X = rQ1[i2]; #endif for(int j0=0;j0::RefArray<1> rQ1XY = rQ1X[j2]; #else RefArray rQ1XY = rQ1X[j2]; #endif for(int k0=0;k0= size) return; } } } } template inline void MultiGrid::direct(unsigned int block, unsigned int nBlocks){ int nx = myDim[myLevels-1].x; int ny = myDim[myLevels-1].y; int nz = myDim[myLevels-1].z; Array& rV = myV[myLevels-1]; Array& rQ = myQ[myLevels-1]; Real g0 = myGDirect[0][0][0]; int nyz = ny*nz; int n = nx*nyz; int sn = 0; int en = n -1; if(block > 0) sn = (int)((-1.0+2.0*n-sqrt(power<2>(1.0-2.0*n)-4.0*n*(n-1.0)*(block)/(Real)nBlocks))/2.0+0.5); if(block < nBlocks-1) en = (int)((-1.0+2.0*n-sqrt(power<2>(1.0-2.0*n)-4.0*n*(n-1.0)*(block+1.0)/(Real)nBlocks))/2.0 - 0.5); int count = 0; int size = en-sn+1; if(size == 0) return; int k = sn % nz; int j = (sn / nz) % ny; int i = (sn / nyz); int ez = (en % nz)+1; int ey = ((en / nz) % ny)+1; int ex = (en / nyz)+1; if(j < ey-1) ez = nz; if(i < ex-1){ ey = ny; ez = nz; } for (; i < ex; i++,j=0){ #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<2> rV1X = rV[i]; Array::RefArray<2> rQ1X = rQ[i]; #else RefArray rV1X = rV[i]; RefArray rQ1X = rQ[i]; #endif for (; j < ey; j++,k=0){ #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<1> rV1XY = rV1X[j]; Array::RefArray<1> rQ1XY = rQ1X[j]; #else RefArray rV1XY = rV1X[j]; RefArray rQ1XY = rQ1X[j]; #endif for (; k < ez; k++){ int l,m,n; Real v = 0.0; Real q = rQ1XY[k]; for (l = i, m = j, n = k+1; l < nx; l++, m=0){ int i0 = i-l; if(pbcX){ i0 = (i0+nx)%nx; i0 = std::min(i0,nx-i0); } else { i0 = i0 < 0 ? -i0 : i0; } #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<2> rGDX = myGDirect[i0]; Array::RefArray<2> rVX = rV[l]; Array::RefArray<2> rQX = rQ[l]; #else RefArray rGDX = myGDirect[i0]; RefArray rVX = rV[l]; RefArray rQX = rQ[l]; #endif for (; m < ny; m++,n=0){ int j0 = j-m; if(pbcX){ j0 = (j0+ny)%ny; j0 = std::min(j0,ny-j0); } else { j0 = j0 < 0 ? -j0 : j0; } #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<1> rGDXY = rGDX[j0]; Array::RefArray<1> rVXY = rVX[m]; Array::RefArray<1> rQXY = rQX[m]; #else RefArray rGDXY = rGDX[j0]; RefArray rVXY = rVX[m]; RefArray rQXY = rQX[m]; #endif for (; n < nz; n++){ int k0 = k-n; if(pbcZ){ k0 = (k0+nz)%nz; k0 = std::min(k0,nz-k0); } else { k0 = k0 < 0 ? -k0 : k0; } Real g = rGDXY[k0]; v += rQXY[n]*g; rVXY[n] += q*g; #ifdef DEBUG_MULTIGRID_TIMING myCounterDirect++; #endif } } } rV1XY[k] += q*g0+v; count++; if(count >= size) return; } } } } template inline void MultiGrid::coarseToFine(int level, unsigned int block, unsigned int nBlocks){ int nx = myDim[level-1].x; int ny = myDim[level-1].y; int nz = myDim[level-1].z; int nx2 = myDim[level].x; int ny2 = myDim[level].y; int nz2 = myDim[level].z; Array& rV0 = myV[level-1]; Array& rV1 = myV[level]; int nyz = ny*nz; int n = nx*nyz; int sn = (n*block)/nBlocks; int en = (n*(block+1))/nBlocks - 1; int count = 0; int size = en-sn+1; if(size == 0) return; int k = sn % nz; int j = (sn / nz) % ny; int i = (sn / nyz); int ez = (en % nz)+1; int ey = ((en / nz) % ny)+1; int ex = (en / nyz)+1; if(j < ey-1) ez = nz; if(i < ex-1){ ey = ny; ez = nz; } for (; i < ex; i++,j=0){ int i1 = i/myRatio; Real* thetaX = myGridInterpolation[i%myRatio].theta; #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<2> rV0X = rV0[i]; #else RefArray rV0X = rV0[i]; #endif for (; j < ey; j++,k=0){ int j1 = j/myRatio; Real* thetaY = myGridInterpolation[j%myRatio].theta; #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<1> rV0XY = rV0X[j]; #else RefArray rV0XY = rV0X[j]; #endif for (; k < ez; k++){ int k1 = k/myRatio; Real* thetaZ = myGridInterpolation[k%myRatio].theta; Real v = 0.0; for(int i0=0;i0::RefArray<2> rV1X = rV1[i2]; #else RefArray rV1X = rV1[i2]; #endif for(int j0=0;j0::RefArray<1> rV1XY = rV1X[j2]; #else RefArray rV1XY = rV1X[j2]; #endif for(int k0=0;k0= size) return; } } } } template inline void MultiGrid::correction(int level, unsigned int block, unsigned int nBlocks){ Real scale = 1.0/myScale[level]; int nx = myDim[level].x; int ny = myDim[level].y; int nz = myDim[level].z; Array& rV = myV[level]; Array& rQ = myQ[level]; int nyz = ny*nz; int n = nx*nyz; int sn = 0; int en = n - 1; if(nBlocks > 1){ if(myBlocksCorrection.empty() || myBlocksCorrection[level].size() != nBlocks+1 || myBlocksCorrection[level][myBlocksCorrection[level].size()-1] != en +1) blocksCorrection(nBlocks); sn=myBlocksCorrection[level][block]; en=myBlocksCorrection[level][block+1]-1; } int count = 0; int size = en-sn+1; if(size == 0) return; int k = sn % nz; int j = (sn / nz) % ny; int i = (sn / nyz); int ez = (en % nz)+1; int ey = ((en / nz) % ny)+1; int ex = (en / nyz)+1; if(j < ey-1) ez = nz; if(i < ex-1){ ey = ny; ez = nz; } for (; i < ex; i++,j=0){ int hi_l = i+myGCorrDimX; int so_l = -myGCorrDimX+1; int lo_l = i+so_l; if(!pbcX){ hi_l = std::min(hi_l,nx); so_l+=-std::min(lo_l,0); lo_l = std::max(lo_l,0); } #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<2> rVX = rV[i]; #else RefArray rVX = rV[i]; #endif for (; j < ey; j++,k=0){ int hi_m = j+myGCorrDimY; int so_m = -myGCorrDimY+1; int lo_m = j+so_m; if(!pbcY){ hi_m = std::min(hi_m,ny); so_m+=-std::min(lo_m,0); lo_m = std::max(lo_m,0); } #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<1> rVXY = rVX[j]; #else RefArray rVXY = rVX[j]; #endif for (; k < ez; k++){ int hi_n = k+myGCorrDimZ; int so_n = -myGCorrDimZ+1; int lo_n = k+so_n; if(!pbcZ){ hi_n = std::min(hi_n,nz); so_n+=-std::min(lo_n,0); lo_n = std::max(lo_n,0); } Real v = 0.0; for (int l = lo_l, l2 = so_l; l < hi_l; l++,l2++){ int l0 = l; if(pbcX) l0 = (l0+nx)%nx; int id = std::max(-l2,l2); #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<2> rQX = rQ[l0]; Array::RefArray<2> rGCX = myGCorrection[id]; #else RefArray rQX = rQ[l0]; RefArray rGCX = myGCorrection[id]; #endif for (int m = lo_m, m2 = so_m; m < hi_m; m++,m2++){ int m0 = m; if(pbcY) m0 = (m0+ny)%ny; int jd = std::max(-m2,m2); #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<1> rQXY = rQX[m0]; Array::RefArray<1> rGCXY = rGCX[jd]; #else RefArray rQXY = rQX[m0]; RefArray rGCXY = rGCX[jd]; #endif for (int n = lo_n, n2 = so_n; n < hi_n; n++,n2++){ int n0 = n; if(pbcZ) n0 = (n0+nz)%nz; int kd = std::max(-n2,n2); v += rQXY[n0]*rGCXY[kd]; #ifdef DEBUG_MULTIGRID_TIMING myCounterCorrection++; #endif } } } rVXY[k] += v*scale; count++; if(count >= size) return; } } } } template inline Real MultiGrid::energy(int level, unsigned int block, unsigned int nBlocks){ Real e = 0.0; int nx = myDim[level].x; int ny = myDim[level].y; int nz = myDim[level].z; int nyz = ny*nz; int n = nx*nyz; int sn = (n*block)/nBlocks; int en = (n*(block+1))/nBlocks - 1; int count = 0; int size = en-sn+1; if(size == 0) return 0.0; int k = sn % nz; int j = (sn / nz) % ny; int i = (sn / nyz); int ez = (en % nz)+1; int ey = ((en / nz) % ny)+1; int ex = (en / nyz)+1; if(j < ey-1) ez = nz; if(i < ex-1){ ey = ny; ez = nz; } Array& rV = myV[level]; Array& rQ = myQ[level]; for (; i < ex; i++,j=0){ #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<2> rVX = rV[i]; Array::RefArray<2> rQX = rQ[i]; #else RefArray rVX = rV[i]; RefArray rQX = rQ[i]; #endif for (; j < ey; j++,k=0){ #ifdef NO_PARTIAL_TEMPLATE_SPECIALIZATION Array::RefArray<1> rVXY = rVX[j]; Array::RefArray<1> rQXY = rQX[j]; #else RefArray rVXY = rVX[j]; RefArray rQXY = rQX[j]; #endif for (; k < ez; k++){ e += rVXY[k] * rQXY[k]; count++; if(count >= size) return 0.5*e; } } } // Real *q = myQ[level].begin(); // Real *v = myV[level].begin(); // for(int i=sn;i inline Real MultiGrid::sumQ(int level){ Real e = 0.0; Array& rQ = myQ[level]; for (int i = 0; i < myDim[level].x; i++){ for (int j = 0 ; j < myDim[level].y; j++){ for (int k = 0; k < myDim[level].z; k++){ e += rQ[i][j][k]; } } } return e; } template inline Real MultiGrid::sumV(int level){ Real e = 0.0; Array& rV = myV[level]; for (int i = 0; i < myDim[level].x; i++){ for (int j = 0 ; j < myDim[level].y; j++){ for (int k = 0; k < myDim[level].z; k++){ e += rV[i][j][k]; } } } return e; } template inline void MultiGrid::interpolateForce(Real q, unsigned int index, Vector3D& force){ int i0 = myScaledParticleIntPositions[index].x; int j0 = myScaledParticleIntPositions[index].y; int k0 = myScaledParticleIntPositions[index].z; Real fx = 0.0; Real fy = 0.0; Real fz = 0.0; Real* thetaX = myInterpolations[index].x.theta; Real* thetaY = myInterpolations[index].y.theta; Real* thetaZ = myInterpolations[index].z.theta; Real* dThetaX = myInterpolations[index].x.dTheta; Real* dThetaY = myInterpolations[index].y.dTheta; Real* dThetaZ = myInterpolations[index].z.dTheta; Array& rV = myV[0]; for(int i=0;i::RefArray<2> rVX = rV[i1]; #else RefArray rVX = rV[i1]; #endif for(int j=0;j::RefArray<1> rVXY = rVX[j1]; #else RefArray rVXY = rVX[j1]; #endif for(int k=0;k inline void MultiGrid::precomputeG(){ if(!myGDirect.resize(ArraySizes(myDim[myLevels-1].x)(myDim[myLevels-1].y)(myDim[myLevels-1].z))) Report::report << Report::error <<"[MultiGrid<>::precomputeG] Could not allocate memory for GDirect[" <(i*myHX)+power<2>(j*myHY)+power<2>(k*myHZ)); myGDirect[i][j][k] = TKernel::smoothKernel(r,myS,myRS)*scale; } } } // No correction if just one level specified. if(myLevels < 2 ) return; myGCorrDimX = std::min((int)ceil(myRatio*myS/myHX),myNX); myGCorrDimY = std::min((int)ceil(myRatio*myS/myHY),myNY); myGCorrDimZ = std::min((int)ceil(myRatio*myS/myHZ),myNZ); if(!myGCorrection.resize(ArraySizes(myGCorrDimX)(myGCorrDimY)(myGCorrDimZ))) Report::report << Report::error <<"[MultiGrid<>::precomputeG] Could not allocate memory for GCorrection[" <(i*myHX)+power<2>(j*myHY)+power<2>(k*myHZ)); myGCorrection[i][j][k] = TKernel::smoothKernel(r,myS,myRS)-TKernel::smoothKernel(r,myS*myRatio,myRS/myRatio); } } } } template inline void MultiGrid::blocksCorrection(unsigned int nBlocks){ if(myLevels < 2) return; myBlocksCorrection.resize(myLevels-1); long nxyz = (myGCorrDimX*2-1)*(myGCorrDimY*2-1)*(myGCorrDimZ*2-1); for(int level=0;level blocks; blocks.push_back(0); long count = 0; long block = 0; for (int i = 0; i < nx; i++){ int hi_l = i+myGCorrDimX; int so_l = -myGCorrDimX+1; int lo_l = i+so_l; if(!pbcX){ hi_l = std::min(hi_l,nx); lo_l = std::max(lo_l,0); } for (int j = 0 ; j < ny; j++){ int hi_m = j+myGCorrDimY; int so_m = -myGCorrDimY+1; int lo_m = j+so_m; if(!pbcY){ hi_m = std::min(hi_m,ny); lo_m = std::max(lo_m,0); } for (int k = 0; k < nz; k++){ int hi_n = k+myGCorrDimZ; int so_n = -myGCorrDimZ+1; int lo_n = k+so_n; if(!pbcZ){ hi_n = std::min(hi_n,nz); lo_n = std::max(lo_n,0); } for (int l = lo_l; l < hi_l; l++){ for (int m = lo_m; m < hi_m; m++){ for (int n = lo_n; n < hi_n; n++){ count++; } } } count -= nxyz; block++; if((((Real)block*(Real)nxyz-(Real)count)*(Real)nBlocks)/((Real)nx*(Real)ny*(Real)nz*(Real)nxyz-(Real)size) >= (Real)blocks.size()) blocks.push_back(block); } } } block = nx*ny*nz; blocks[blocks.size()-1]=block; //Report::report << plain << level<<": ("< MultiGrid::MultiGrid(): myQ(0), myV(0), myGDirect(ArraySizes(0)(0)(0)), myGCorrDimX(0), myGCorrDimY(0), myGCorrDimZ(0), myMin(Vector3D(Constant::MAXREAL,Constant::MAXREAL,Constant::MAXREAL)), myMax(Vector3D(-Constant::MAXREAL,-Constant::MAXREAL,-Constant::MAXREAL)), myCMin(Vector3D(Constant::MAXREAL,Constant::MAXREAL,Constant::MAXREAL)), myCMax(Vector3D(-Constant::MAXREAL,-Constant::MAXREAL,-Constant::MAXREAL)), myH(Vector3D(0.0,0.0,0.0)), myOrigin(Vector3D(0.0,0.0,0.0)), myNX(0), myNY(0), myNZ(0), myNXOffset(0), myNYOffset(0), myNZOffset(0), myHX(0.0), myHY(0.0), myHZ(0.0), myHXr(0.0), myHYr(0.0), myHZr(0.0), myScaledParticleIntPositions(0), myInterpolations(0), myGridInterpolation(0), myS(0.0), myInterOrder(0), myRatio(0), myLevels(0), mySigma(0) #ifdef DEBUG_MULTIGRID_TIMING , myCounterDirect(0), myCounterCorrection(0) #endif { } template void MultiGrid::initialize(unsigned int n, Real s, int levels, int nx, int ny, int nz, int interOrder, int ratio, Vector3D min, Vector3D max, Vector3D h, Vector3D origin){ //Report::report << Report::debug << s<<","< 0."< 0."< 1."< 1 and even."< order."; if(pbcY) Report::report << " ny (=" < order."; if(pbcZ) Report::report << " nz (=" < order."; Report::report< 0."; if(pbcY) Report::report << " h.y (=" < 0."; if(pbcZ) Report::report << " h.h (=" < 0."; Report::report< void MultiGrid::updateSize(Vector3D min, Vector3D max){ //Report::report.reset(); //Report::report.setf(std::ios::scientific); //Report::report.precision(4); Vector3D inMin(min),inMax(max); int nx=0; int ny=0; int nz=0; int nx1=0; int ny1=0; int nz1=0; int b = myInterOrder-mySigma-1; // Vacuum: Minimal number of grid points of the finest grid if(!pbcX){ min.x -= myH.x*BORDER_TOLERANCE; max.x += myH.x*BORDER_TOLERANCE; nx1 = (int)(ceil((max.x-myOrigin.x)/myH.x)-floor((min.x-myOrigin.x)/myH.x)+ b+1); nx = nx1+BORDER; } if(!pbcY){ min.y -= myH.y*BORDER_TOLERANCE; max.y += myH.y*BORDER_TOLERANCE; ny1 = (int)(ceil((max.y-myOrigin.y)/myH.y)-floor((min.y-myOrigin.y)/myH.y) + b+1); ny = ny1+BORDER; } if(!pbcZ){ min.z -= myH.z*BORDER_TOLERANCE; max.z += myH.z*BORDER_TOLERANCE; nz1 = (int)(ceil((max.z-myOrigin.z)/myH.z)-floor((min.z-myOrigin.z)/myH.z)+ b+1); nz = nz1+BORDER; } // Vacuum: Compute number of grid points for the coarsest grid for(int i=1;i myCMin.x && min.y > myCMin.y && min.z > myCMin.z && max.x < myCMax.x && max.y < myCMax.y && max.z < myCMax.z && nx+BORDER>=myDim[myLevels-1].x && ny+BORDER>=myDim[myLevels-1].y && nz+BORDER>=myDim[myLevels-1].z) return; } if(pbcX) nx=myDim[myLevels-1].x; if(pbcY) ny=myDim[myLevels-1].y; if(pbcZ) nz=myDim[myLevels-1].z; bool update = false; if(pbcX || pbcY || pbcZ || nx1 > myNX || ny1 > myNY || nz1 > myNZ || fabs((float)(nx-myDim[myLevels-1].x))>BORDER || fabs((float)(ny-myDim[myLevels-1].y))>BORDER || fabs((float)(nz-myDim[myLevels-1].z))>BORDER){ update = true; // Toplevel, coarsest grid if(!myQ[myLevels-1].resize(ArraySizes(nx+(pbcX?0:mySigma))(ny+(pbcY?0:mySigma))(nz+(pbcZ?0:mySigma)))) Report::report << Report::error <<"[MultiGrid<>::initialize] Could not allocate memory for Q[" <<(nx+(pbcX?0:mySigma))<<"]["<<(ny+(pbcY?0:mySigma))<<"][" <<(nz+(pbcZ?0:mySigma))<<"]."<::initialize] Could not allocate memory for V[" <<(nx+(pbcX?0:mySigma))<<"]["<<(ny+(pbcY?0:mySigma))<<"][" <<(nz+(pbcZ?0:mySigma))<<"]."<=0;i--){ if(pbcX) nx = nx * myRatio; else nx = (nx-myInterOrder+mySigma) * myRatio + 1; if(pbcY) ny = ny * myRatio; else ny = (ny-myInterOrder+mySigma) * myRatio + 1; if(pbcZ) nz = nz * myRatio; else nz = (nz-myInterOrder+mySigma) * myRatio + 1; if(!myQ[i].resize(ArraySizes(nx+(pbcX?0:mySigma))(ny+(pbcY?0:mySigma))(nz+(pbcZ?0:mySigma)))) Report::report << Report::error <<"[MultiGrid<>::initialize] Could not allocate memory for Q[" <<(nx+(pbcX?0:mySigma))<<"]["<<(ny+(pbcY?0:mySigma))<<"][" <<(nz+(pbcZ?0:mySigma))<<"]."<::initialize] Could not allocate memory for V[" <<(nx+(pbcX?0:mySigma))<<"]["<<(ny+(pbcY?0:mySigma))<<"][" <<(nz+(pbcZ?0:mySigma))<<"]."< Constant::EPSILON || (myMax-max).normSquared() > Constant::EPSILON)){ Report::report.reset(); Report::report.precision(7); Report::report << Report::hint << "MultiGrid:"< inline void MultiGrid::clear(){ for(int level=0;level& rV = myV[level]; // Array& rQ = myQ[level]; // for (int i = 0; i < myDim[level].x+(pbcX?0:mySigma); i++){ // for (int j = 0 ; j < myDim[level].y+(pbcY?0:mySigma); j++){ // for (int k = 0; k < myDim[level].z+(pbcZ?0:mySigma); k++){ // rV[i][j][k] = 0.0; // rQ[i][j][k] = 0.0; // } // } // } int n = myQ[level].size(); Real *q = myQ[level].begin(); Real *v = myV[level].begin(); for(int i=0;i void MultiGrid::printQ(int level){ Report::report << plain << "Level "< void MultiGrid::printV(int level){ Report::report << plain << "Level "< void MultiGrid::printConst(){ for (int i = 0; i < myDim[myLevels-1].x; i++){ for (int j = 0 ; j < myDim[myLevels-1].y; j++){ Report::report << plain << "Gd["< #include "Parameter.h" namespace ProtoMol { //________________________________________________________ ObjectDefinition struct ObjectDefinition { // Container struct for object definitions //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ObjectDefinition(){} ObjectDefinition(const std::string& i,const std::vector& p):id(i),parameters(p){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: std::string id; std::vector parameters; }; } #endif /* OBJECTDEFINITION_H */ protomol/framework/base/PAR.cpp0100644027616700000500000000453610237151527016062 0ustar pbrenne1dip#include "PAR.h" #include "mathutilities.h" //using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ PAR const Real PAR::Nonbonded::SIGMA_CHARMM19_TO_CHARMM28(pow(2.0,-5.0/6.0)); const Real PAR::Nonbonded::SIGMA_CHARMM28_TO_CHARMM19(pow(2.0, 5.0/6.0)); void PAR::clear(){ bonds.clear(); angles.clear(); dihedrals.clear(); impropers.clear(); nonbondeds.clear(); nbfixs.clear(); hbonds.clear(); } //_________________________________________________________________globals // MyStreamer& operator<< (MyStreamer& OS, const PAR::Bond & p) { // OS < #include #include "Real.h" #include "Report.h" namespace ProtoMol { //_________________________________________________________________PAR /** * Container class for Charmm19/28/XPLOR parameters @n * * NB: * - angles are always kept in degrees * - simga's for Nonbonded are asummed to be Charmm28 */ class PAR{ public: //______________________________________________________________________Bond /** * This structure holds data for a bond, including the bond number, the two * atoms involved, the force constant and the distance. */ struct Bond{ Bond(){} Bond(int a, std::string b, std::string c, Real d, Real e):number(a),atom1(b),atom2(c),forceConstant(d),distance(e){} int number; ///< bond number std::string atom1; ///< atom 1 number std::string atom2; ///< atom 2 number Real forceConstant; ///< force constant Real distance; ///< distance friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Bond & p); }; //_____________________________________________________________________Angle /** * This structure holds data for an angle. There is the angle number, the three * atoms involved, the force constant, the actual value of the angle, and * the Urey-Bradley constants if they exist. The ub_flag will be 1 if they * exist and 0 otherwise. */ struct Angle{ Angle(){} Angle(int a, std::string b, std::string c, std::string d, Real e, Real f, bool g, Real h, Real i): number(a),atom1(b),atom2(c),atom3(d),forceConstant(e),angleval(f),ub_flag(g),k_ub(h),r_ub(i){} int number; ///< angle number std::string atom1; ///< atom 1 number std::string atom2; ///< atom 2 number std::string atom3; ///< atom 3 number Real forceConstant; ///< force constant Real angleval; ///< angle value /** * Urey-Bradley flag - '1' if there are Urey-Bradley constants following * If '0', ignore the next two data members */ bool ub_flag; Real k_ub; ///< Urey-Bradley force constant Real r_ub; ///< Urey-Bradley radius friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Angle & p); }; //__________________________________________________________________Dihedral /** This structure holds data for a dihedral, consisting of the number, the four * atoms involved, the multiplicity (default = 1), and the force constant, * the periodicity, and the phase shift */ struct Dihedral{ Dihedral(){} Dihedral(int a, std::string b, std::string c, std::string d, std::string e, Real f, int g, Real h): number(a),atom1(b),atom2(c),atom3(d),atom4(e), multiplicity(1),forceConstant(std::vector(1,f)),periodicity(std::vector(1,g)),phaseShift(std::vector(1,h)){} Dihedral(int a, std::string b, std::string c, std::string d, std::string e, int f, std::vector g, std::vector h, std::vector i): number(a),atom1(b),atom2(c),atom3(d),atom4(e), multiplicity(f),forceConstant(g),periodicity(h),phaseShift(i){} int number; ///< dihedral number std::string atom1; ///< atom 1 number std::string atom2; ///< atom 2 number std::string atom3; ///< atom 3 number std::string atom4; ///< atom 4 number int multiplicity; ///< multiplicity std::vector< Real > forceConstant; ///< force constant std::vector< int > periodicity; ///< periodicity std::vector< Real > phaseShift; ///< phase shift friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Dihedral & p); }; //__________________________________________________________________Improper /** This structure holds data for an improper. The data held is the same as that * for a dihedral - the number, four atoms involved, the force constant, * the periodicity, and the phase shift */ struct Improper{ Improper(){} Improper(int a, std::string b, std::string c, std::string d, std::string e, Real f, int g, Real h): number(a),atom1(b),atom2(c),atom3(d),atom4(e),forceConstant(f),periodicity(g),phaseShift(h){} int number; ///< improper number std::string atom1; ///< atom 1 number std::string atom2; ///< atom 2 number std::string atom3; ///< atom 3 number std::string atom4; ///< atom 4 number Real forceConstant; ///< force constant int periodicity; ///< periodicity Real phaseShift; ///< phase shift friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Improper & p); }; //_________________________________________________________________Nonbonded /// This structure holds data for a nonbonded - including struct Nonbonded{ Nonbonded(){} Nonbonded(int a, std::string b, Real c, Real d, Real e, bool f, bool g, Real h, Real i, Real j, bool k): number(a),atom(b),polarizability(c),epsilon(d),sigma(e),negative(f),vdw(g),polarizability2(h),epsilon14(i),sigma14(j),negative2(k){} int number; ///< nonbonded number std::string atom; ///< atom number Real polarizability; ///< polarizability or ignore (see description of negative below), default to zero Real epsilon; ///< well depth or number of effective electrons (see description of negative below) Real sigma; ///< minimum radius divided by 2 /** * flag for if the second term is negative - if so, second_term = epsilon or well-depth and * the first term is ignored, otherwise second_term = number of effective electrons and the first * term is the polarizability * default to true */ bool negative; /** * default to true - likely there will be epsilon 1:4 and sigma 1:4, * flag to see if there is a second set, indicating VDW parameters */ bool vdw; Real polarizability2; ///< VDW parameter polarizability, default to zero Real epsilon14; ///< VDW parameter well depth or number of effective electrons (see above) Real sigma14; ///< VDW parameter minimum radius divided by 2 bool negative2; ///< flag for a negative VDW paramenter second term (see above), default to true static const Real SIGMA_CHARMM19_TO_CHARMM28; static const Real SIGMA_CHARMM28_TO_CHARMM19; friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Nonbonded & p); }; //_________________________________________________________________Nbfix /** * This structure holds data for atom pairs with modifiable VDW interactions. * Data includes the number, two atoms, epsilon, sigma, epsilon 14, and sigma 14. */ struct Nbfix{ Nbfix(){} Nbfix(int a_, std::string b_, std::string c, Real d, Real e, Real f, Real g):number(a_),atom1(b_),atom2(c),a(d),b(e),a14(f),b14(g){} int number; ///< nbfi number std::string atom1; ///< atom 1 number std::string atom2; ///< atom 2 number Real a; ///< epsilon Real b; ///< sigma Real a14; ///< epsilon 14 Real b14; ///< sigma 14 friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Nbfix & p); }; //_________________________________________________________________Hbond /// This structure holds data for hydrogen bonds, including the well depth and the minimum radius struct Hbond{ Hbond(){} Hbond(int a, std::string b, std::string c, Real d, Real e):number(a),atom1(b),atom2(c),emin(d),rmin(e){} int number; ///< hydrogen bond number std::string atom1; ///< atom 1 number std::string atom2; ///< atom 2 number Real emin; ///< well depth Real rmin; ///< minimum radius friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Hbond & p); }; //_________________________________________________________________PAR //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /// Supported Charmm/XPLOR type enum CharmmTypeEnum { UNDEFINED, CHARMM28, CHARMM19 }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PAR //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void clear(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // PAR container std::vector bonds; std::vector angles; std::vector dihedrals; std::vector impropers; std::vector nonbondeds; std::vector nbfixs; std::vector hbonds; }; //____________________________________________________________________________INLINES } #endif /* PAR_H */ protomol/framework/base/PDB.cpp0100644027616700000500000000640210237151527016037 0ustar pbrenne1dip#include "PDB.h" using namespace ProtoMol::Report; namespace ProtoMol { //___________________________________________________________________PDB PDB::PDBAtom::PDBAtom():elementType(""), elementNum(0), elementName(""), altLoc(""), residueName(""), chainID(""), residueNum(0), insertionCode(""), occupancy(0.0), tempFactor(0.0), footnote(0), segID(""), symbol(""), charge(""), hvyAtomGrpsize(0){} PDB::PDBAtom::PDBAtom(std::string etype, int anum, std::string ename, std::string altloc, std::string rname, std::string chain, int rnum, std::string insertion, Real occ, Real tf, int fn, std::string segname, std::string symname, std::string c, int ha):elementType(etype), elementNum(anum), elementName(ename), altLoc(altloc), residueName(rname), chainID(chain), residueNum(rnum), insertionCode(insertion), occupancy(occ), tempFactor(tf), footnote(fn), segID(segname), symbol(symname), charge(c), hvyAtomGrpsize(ha){} void PDB::clear(){ coords.cleaR(); atoms.clear(); } // PDBAtom // // COLUMNS DATA TYPE FIELD DEFINITION // ------------------------------------------------------------------------ // 1 - 6 Record name "ATOM " // 7 - 11 Integer serial Atom serial number. // 13 - 16 Atom name Atom name. // 17 - 17 Character altLoc Alternate location indicator. // 18 - 20 Residue name resName Residue name. // 22 - 22 Character chainID Chain identifier. // 23 - 26 Integer resSeq Residue sequence number. // 27 - 27 AChar iCode Code for insertion of residues. // 31 - 38 Real(8.3) x Orthogonal coordinates for X in // Angstroms. // 39 - 46 Real(8.3) y Orthogonal coordinates for Y in // Angstroms. // 47 - 54 Real(8.3) z Orthogonal coordinates for Z in // Angstroms. // 55 - 60 Real(6.2) occupancy Occupancy. // 61 - 66 Real(6.2) tempFactor Temperature factor. // 73 - 76 LString(4) segID Segment identifier, left-justified. // 77 - 78 LString(2) element Element symbol, right-justified. // 79 - 80 LString(2) charge Charge on the atom. // NOTE: The PDB says the length of the residue name is only 3 characters // whereas XPLOR allows 4 character names. We choose 4 for compatability // with both systems (since we never change the length, we you give us is // what we use) MyStreamer& operator<< (MyStreamer& OS, const PDB::PDBAtom & p) { OS < #include #include "Vector3DBlock.h" #include "Report.h" namespace ProtoMol { //___________________________________________________________________PDB /** * PDB container holding PDBAtom's and coordinates */ struct PDB { //___________________________________________________________________PDBAtom /** * This class holds data for a basic PDB element; excluding the * coordinates (x,y,z), stored separately. */ struct PDBAtom{ PDBAtom(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PDBAtom(std::string elementType, int elementNum, std::string elementName, std::string altLoc, std::string residueName, std::string chainID, int residueNum, std::string insertionCode, Real occupancy, Real tempFactor, int footnote, std::string segID, std::string symbol, std::string charge, int hvyAtomGrpsize); std::string elementType; ///< record_name int elementNum; ///< serial_size std::string elementName; ///< atom_name std::string altLoc; ///< alternate_location std::string residueName; ///< residue_name std::string chainID; ///< chain_id int residueNum; ///< residue_sequence std::string insertionCode; ///< insertion_code // x // y // z Real occupancy; ///< occupancy Real tempFactor; ///< temp_factor int footnote; ///< footnote number std::string segID; ///< seg_id std::string symbol; ///< element_symbol std::string charge; ///< charge int hvyAtomGrpsize; ///< ??? throw in zeros /// Record element start positions enum Start{ S_RECORD_NAME = 0, S_SERIAL = 6, S_ATOM_NAME = 12, S_ALT_LOC = 16, S_RES_NAME = 17, S_CHAIN_ID = 21, S_RES_SEQ = 22, S_I_CODE = 26, S_X = 30, S_Y = 38, S_Z = 46, S_OCCUP = 54, S_TEMP = 60, S_FOOT_NOTE = 67, S_SEG_ID = 72, S_ELEMENT_SYMBOL = 76, S_CHARGE = 78 }; /// Record element length enum Length{ L_RECORD_NAME = 6, L_SERIAL = 5, L_ATOM_NAME = 4, L_ALT_LOC = 1, L_RES_NAME = 4, L_CHAIN_ID = 1, L_RES_SEQ = 4, L_I_CODE = 1, L_X = 8, L_Y = 8, L_Z = 8, L_OCCUP = 6, L_TEMP = 6, L_FOOT_NOTE = 3, L_SEG_ID = 4, L_ELEMENT_SYMBOL = 2, L_CHARGE = 2 }; friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const PDBAtom & p); }; //___________________________________________________________________PDB //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PDB(){}; PDB(size_t n):coords(n,Vector3D(0.0,0.0,0.0)),atoms(n){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PDB //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void clear(); size_t size() const {return coords.size();} void resize(size_t n){coords.resize(n),atoms.resize(n);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Vector3DBlock coords; std::vector atoms; }; //___________________________________________________________________INLINES } #endif /* PDB_H */ protomol/framework/base/PGM.cpp0100644027616700000500000000204210237151527016051 0ustar pbrenne1dip#include "PGM.h" #include "PPM.h" #include // NULL definition namespace ProtoMol { //_____________________________________________________________________ PGM PGM::~PGM(){delete [] p;} PGM::PGM():w(0),h(0),p(NULL){ } PGM::PGM(int x, int y):w(x),h(y),p(new unsigned char[x*y]){ clear(); } void PGM::clear(){ for(unsigned int i=0;i(0); } void PGM::resize(unsigned int width, unsigned int height){ if(p != NULL && width*height != w*h){ delete [] p; p = NULL; } if(p == NULL && width*height>0) p = new unsigned char[width*height]; w = width; h = height; clear(); } PGM& PGM::operator=(const PPM& ppm){ resize(ppm.width(),ppm.height()); unsigned char* p0 = ppm.begin(); for(unsigned char* p1=begin();p1 != end();p1++){ (*p1) = static_cast((static_cast(p0[0])+static_cast(p0[1])+static_cast(p0[2]))/3); p0 += 3; } return (*this); } } protomol/framework/base/PGM.h0100644027616700000500000000405110237151527015520 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PGM_H #define PGM_H namespace ProtoMol { class PPM; //_____________________________________________________________________ PGM /** Container for PGM binary image.@n @n PGM memory layout:@n @n h @n | 1. -----> @n | 2. -----> @n | ... @n 0 N. -----> @n y @n x 0-----w @n */ class PGM{ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ~PGM(); PGM(); PGM(int x, int y); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PGM //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void set(unsigned int x, unsigned int y,unsigned char a){p[(h-y-1)*w+x] = a;} void set(unsigned int x, unsigned int y,unsigned char r,unsigned char g,unsigned char b){p[(h-y-1)*w+x] = static_cast((static_cast(r)+static_cast(g)+static_cast(b))/3);} unsigned char get(unsigned int x, unsigned int y) const {return p[(h-y-1)*w+x];} unsigned char getRed(unsigned int x, unsigned int y) const {return p[(h-y-1)*w+x];} unsigned char getGreen(unsigned int x, unsigned int y) const {return p[(h-y-1)*w+x];} unsigned char getBlue(unsigned int x, unsigned int y) const {return p[(h-y-1)*w+x];} unsigned int width() const{return w;} unsigned int height() const{return h;} unsigned int size() const{return w*h;} void resize(unsigned int width, unsigned int height); unsigned char* begin() const{return &p[0];} unsigned char* end() const{return &p[w*h];} void clear(); PGM& operator=(const PPM& ppm); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: unsigned int w,h; unsigned char* p; }; } #endif /* PGM_H */ protomol/framework/base/PPM.cpp0100644027616700000500000000171310237151527016066 0ustar pbrenne1dip#include "PPM.h" #include "PGM.h" #include // NULL definition namespace ProtoMol { //_____________________________________________________________________ PPM PPM::~PPM(){delete [] p;} PPM::PPM():w(0),h(0),p(NULL){ } PPM::PPM(int x, int y):w(x),h(y),p(new unsigned char[3*x*y]){ clear(); } void PPM::clear(){ for(unsigned int i=0;i<3*w*h;i++) p[i]= static_cast(0); } void PPM::resize(unsigned int width, unsigned int height){ if(p != NULL && width*height*3 != w*h*3){ delete [] p; p = NULL; } if(p == NULL && width*height*3>0) p = new unsigned char[width*height*3]; w = width; h = height; clear(); } PPM& PPM::operator=(const PGM& pgm){ resize(pgm.width(),pgm.height()); unsigned char* p0 = begin(); for(unsigned char* p1=pgm.begin();p1 != pgm.end();p1++){ *p0++ = *p1; *p0++ = *p1; *p0++ = *p1; } return (*this); } } protomol/framework/base/PPM.h0100644027616700000500000000434310237151527015535 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PPM_H #define PPM_H namespace ProtoMol { class PGM; //_____________________________________________________________________ PPM /** Container for PPM binary image.@n @n PPM memory layout:@n @n h @n | 1. -----> @n | 2. -----> @n | ... @n 0 N. -----> @n y @n x 0-----w @n */ class PPM{ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ~PPM(); PPM(); PPM(int x, int y); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PPM //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /// set point at (x,y) with RGB (a,a,a) void set(unsigned int x, unsigned int y,unsigned char a){p[(h-y-1)*w*3+x*3] = a;p[(h-y-1)*w*3+x*3+1] = a;p[(h-y-1)*w*3+x*3+2] = a;} /// set point at (x,y) with RGB (r,g,b) void set(unsigned int x, unsigned int y,unsigned char r,unsigned char g,unsigned char b){p[(h-y-1)*w*3+x*3] = r;p[(h-y-1)*w*3+x*3+1] = g;p[(h-y-1)*w*3+x*3+2] = b;} /// get gray value, (r+g+b)/3 unsigned char get(unsigned int x, unsigned int y) const {return (p[(h-y-1)*w*3+x*3]+p[(h-y-1)*w*3+x*3+1]+p[(h-y-1)*w*3+x*3+2])/3;} unsigned char getRed(unsigned int x, unsigned int y) const {return p[(h-y-1)*w*3+x*3];} unsigned char getGreen(unsigned int x, unsigned int y) const {return p[(h-y-1)*w*3+x*3+1];} unsigned char getBlue(unsigned int x, unsigned int y) const {return p[(h-y-1)*w*3+x*3+2];} unsigned int width() const{return w;} unsigned int height() const{return h;} unsigned int size() const{return 3*w*h;} void resize(unsigned int width, unsigned int height); unsigned char* begin() const{return &p[0];} unsigned char* end() const{return &p[3*w*h];} void clear(); PPM& operator=(const PGM& pgm); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: unsigned int w,h; unsigned char* p; }; } #endif /* PPM_H */ protomol/framework/base/PSF.cpp0100644027616700000500000000051710237151527016063 0ustar pbrenne1dip#include "PSF.h" namespace ProtoMol { //_____________________________________________________________________ PSF void PSF::clear(){ atoms.clear(); bonds.clear(); angles.clear(); dihedrals.clear(); impropers.clear(); donors.clear(); acceptors.clear(); nonbondeds.clear(); ngrp.clear(); } } protomol/framework/base/PSF.h0100644027616700000500000001533410237151527015533 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PSF_H #define PSF_H #include #include #include "Real.h" namespace ProtoMol { //_________________________________________________________________PSF /** * PSF container holding the topology of the system */ class PSF { public: //___________________________________________________________________PsfAtom /** * This class holds data for a basic .psf atom. The data stored includes: * atom number, segment identifier, residue sequence, residue name, atom name, * atom2 name, charge and mass. */ struct Atom { Atom():number(0),seg_id(""),residue_sequence(0),residue_name(""), atom_name(""),atom_type(""),charge(0.0),mass(0.0), identity(0) {} Atom(int a,std::string b, int c, std::string d, std::string e, std::string f, Real g, Real h, unsigned int i): number(a),seg_id(b),residue_sequence(c),residue_name(d), atom_name(e),atom_type(f),charge(g),mass(h),identity(i){} int number; ///< atom number std::string seg_id; ///< segment identifier int residue_sequence; ///< residue sequence std::string residue_name; ///< residue name std::string atom_name; ///< atom name std::string atom_type; ///< atom type Real charge; ///< charge [e] Real mass; ///< mass [amu] unsigned int identity; ///< atom's identity (for iSGMD) }; //___________________________________________________________________Bond /** * This structure holds data for a basic .psf bond. The data stored includes * the bond number and the numbers of the two atoms involved. */ struct Bond { Bond():number(0),atom1(0),atom2(0){} Bond(int a, int b, int c):number(a),atom1(b),atom2(c){} int number; ///< bond number int atom1; ///< bonded atom 1 number int atom2; ///< bonded atom 2 number }; //___________________________________________________________________Angle /** * This structure holds data for a basic .psf angle. The data stored includes * the angle number and the numbers of the three atoms involved. */ struct Angle { Angle():number(0),atom1(0),atom2(0),atom3(0){} Angle(int a, int b, int c, int d):number(a),atom1(b),atom2(c),atom3(d){} int number; ///< angle number int atom1; ///< angle atom 1 number int atom2; ///< angle atom 2 number int atom3; ///< angle atom 3 number }; //__________________________________________________________________Dihedral /** * This structure holds data for a basic .psf dihedral. The data stored * includes the dihedral number and the numbers of the four atoms involved. */ struct Dihedral { Dihedral():number(0),atom1(0),atom2(0),atom3(0),atom4(0){} Dihedral(int a, int b, int c, int d, int e):number(a),atom1(b),atom2(c),atom3(d),atom4(e){} int number; ///< dihedral number int atom1; ///< dihedral atom 1 number int atom2; ///< dihedral atom 2 number int atom3; ///< dihedral atom 3 number int atom4; ///< dihedral atom 4 number }; //__________________________________________________________________Improper /** * This structure holds data for a basic .psf improper. The data stored * includes the improper number and the numbers of the four atoms involved. */ struct Improper { Improper():number(0),atom1(0),atom2(0),atom3(0),atom4(0){} Improper(int a, int b, int c, int d, int e):number(a),atom1(b),atom2(c),atom3(d),atom4(e){} int number; ///< improper number int atom1; ///< improper atom 1 number int atom2; ///< improper atom 2 number int atom3; ///< improper atom 3 number int atom4; ///< improper atom 4 number }; //_____________________________________________________________________Donor /** * This structure holds data for a basic .psf donor. The data stored includes * the donor number and the numbers of the two donors involved */ struct Donor { Donor():number(0),atom1(0),atom2(0){} Donor(int a, int b, int c):number(a),atom1(b),atom2(c){} int number; ///< donor number int atom1; ///< donor atom 1 number int atom2; ///< donor atom 2 number }; //__________________________________________________________________Acceptor /** * This structure holds data for a basic .psf acceptor. The data stored * includes the acceptor number and the numbers of the two acceptors. */ struct Acceptor { Acceptor():number(0),atom1(0),atom2(0){} Acceptor(int a, int b, int c):number(a),atom1(b),atom2(c){} int number; ///< acceptor number int atom1; ///< acceptor atom 1 number int atom2; ///< acceptor atom 2 number }; //_________________________________________________________________Nonbonded /** * This structure holds data for a basic .psf nonbonded. The data stored * includes the number of the nonbonded structure as well as the number of the * nonbonded atom. */ struct Nonbonded { Nonbonded():number(0),atom1(0){} Nonbonded(int a, int b):number(a),atom1(b){} int number; ///< nonbonded structure number int atom1; ///< nonbonded atom number }; //______________________________________________________________________Ngrp /** * This structure holds data for a basic .psf ngrp. The data stored includes * the number of the ngrp as well as the numbers of the three atoms involved. */ struct Ngrp { Ngrp():number(0),atom1(0),atom2(0),atom3(0){} Ngrp(int a, int b, int c, int d):number(a),atom1(b),atom2(c),atom3(d){} int number; ///< ngrp number int atom1; ///< ngrp atom 1 number int atom2; ///< ngrp atom 2 number int atom3; ///< ngrp atom 3 number }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PSF //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void clear(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ std::vector atoms; std::vector bonds; std::vector angles; std::vector dihedrals; std::vector impropers; std::vector donors; std::vector acceptors; std::vector nonbondeds; std::vector ngrp; }; //_______________________________________________________________________________INLINES } #endif /* PSF_H */ protomol/framework/base/Parameter.cpp0100644027616700000500000000245110237151527017352 0ustar pbrenne1dip#include "Parameter.h" using std::vector; using std::string; namespace ProtoMol { //________________________________________________________ Parameter Parameter::Parameter():keyword(""),value(Value()),defaultValue(Value()) {} Parameter::Parameter(const string& k, const Value& val):keyword(k),value(val),defaultValue(val,Value::undefined) {} Parameter::Parameter(const string& k, const Value& val, const Value& def):keyword(k),value(val),defaultValue(def) {} Parameter::Parameter(const char* k, const Value& val):keyword(string(k)),value(val),defaultValue(val,Value::undefined) {} Parameter::Parameter(const char* k, const Value& val, const Value& def):keyword(string(k)),value(val),defaultValue(def) {} Parameter::Parameter(const string& k, const Value& val, const Text& t):keyword(k),value(val),defaultValue(val,Value::undefined),text(t.text) {} Parameter::Parameter(const string& k, const Value& val, const Value& def, const Text& t):keyword(k),value(val),defaultValue(def),text(t.text) {} Parameter::Parameter(const char* k, const Value& val, const Text& t):keyword(string(k)),value(val),defaultValue(val,Value::undefined),text(t.text) {} Parameter::Parameter(const char* k, const Value& val, const Value& def, const Text& t):keyword(string(k)),value(val),defaultValue(def),text(t.text) {} } protomol/framework/base/Parameter.h0100644027616700000500000000541010237151527017015 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PARAMETER_H #define PARAMETER_H #include "Value.h" #include "simpleTypes.h" namespace ProtoMol { //________________________________________________________ Parameter struct Parameter { /** * Container struct for parameters providing wide range * of constructors. */ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Parameter(); Parameter(const std::string& k, const Value& val); Parameter(const std::string& k, const Value& val, const Value& def); template Parameter(const std::string& k, const Value& val, T def):keyword(k),value(val),defaultValue(val) {defaultValue.set(def);} Parameter(const char* k, const Value& val); Parameter(const char* k, const Value& val, const Value& def); template Parameter(const char* k, const Value& val, T def):keyword(std::string(k)),value(val),defaultValue(val) {defaultValue.set(def);} Parameter(const std::string& k, const Value& val, const Text& t); Parameter(const std::string& k, const Value& val, const Value& def, const Text& t); template Parameter(const std::string& k, const Value& val, T def, const Text& t):keyword(k),value(val),defaultValue(val),text(t.text) {defaultValue.set(def);} Parameter(const char* k, const Value& val, const Text& t); Parameter(const char* k, const Value& val, const Value& def, const Text& t); template Parameter(const char* k, const Value& val, T def, const Text& t):keyword(std::string(k)),value(val),defaultValue(val),text(t.text) {defaultValue.set(def);} // template // Parameter(const std::string& k, T val):keyword(k),value(val),defaultValue(val,Value::undefined) {} // template // Parameter(const std::string& k, T val, T def):keyword(k),value(val),defaultValue(def) {} // template // Parameter(const std::string& k, T val, const C& con):keyword(k),value(val,con),defaultValue(val,con,Value::undefined) {} // template // Parameter(const std::string& k, T val, T def, const C& con):keyword(k),value(val,con),defaultValue(def,con) {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// the keyword of the parameter std::string keyword; /// the value of the parameter Value value; /// optional default value of the parameter Value defaultValue; /// optional help text of the parameter std::string text; }; } #endif /* PARAMETER_H */ protomol/framework/base/Proxy.h0100644027616700000500000000232610237151527016221 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PROXY_H #define PROXY_H namespace ProtoMol { //_________________________________________________________________ Proxy /** * Book keeping for distribution and reduction of data structures in * parallel environment. */ class Proxy { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Proxy(): myCount(0){} virtual ~Proxy(){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Proxy //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void distribute() const {myCount++;} void reduce() const {myCount--;} bool distributed() const {return (myCount > 0);} int distCount() const {return myCount;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: mutable int myCount; }; //______________________________________________________________________ INLINES } #endif /* PROXY_H */ protomol/framework/base/Real.h0100644027616700000500000000177010237151527015765 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REAL_H #define REAL_H // The standard Real number type, settable by the user. // // Define double as default type #if !defined(USE_REAL_IS_FLOAT) && !defined(USE_REAL_IS_DOUBLE) #define USE_REAL_IS_DOUBLE #endif // The following constants are defined for compilation in Windows #ifdef WIN32 #define rint(X) floor(X+0.5) #define BITSPERBYTE 8 #define BITS(type) (BITSPERBYTE * (long)sizeof (type)) #define HIBITI (1U << (BITS(int)-1)) #define MAXINT ((int)(~HIBITI)) #define MAXDOUBLE 1.7976931348623157e+308 #define MINDOUBLE 2.2250738585072014e-308 #define M_PI 3.14159265358979323846 #define M_PI_2 1.57079632679489661923 // pi/2 #define M_2PI 6.283185307179586476926 #endif namespace ProtoMol { /// The standard Real number type, settable by the user: double #ifdef USE_REAL_IS_DOUBLE typedef double Real; #endif /// The standard Real number type, settable by the user: float #ifdef USE_REAL_IS_FLOAT typedef float Real; #endif } #endif /*REAL_H*/ protomol/framework/base/ReducedHessAngle.cpp0100644027616700000500000002125410237151527020601 0ustar pbrenne1dip#include "ReducedHessAngle.h" #include "Report.h" using namespace ProtoMol::Report; using std::ostream; using std::endl; namespace ProtoMol { //constructors ReducedHessAngle::ReducedHessAngle(){ // create ReducedHessAngle structure without init it to zero // user should take care of it by calling clear() to init it to zero. } ReducedHessAngle::ReducedHessAngle(const Vector3D& atom_i, //position of atom i const Vector3D& atom_j, //position of atom j const Vector3D& atom_k, //position of atom k const Real k_t, //angluar spring constant const Real theta0, //rest angle bool computeReduced) { evaluate(atom_i,atom_j,atom_k,k_t,theta0,computeReduced); // call the evaluate function } // copy constructor // ReducedHessAngle::ReducedHessAngle(const ReducedHessAngle& hess) // { // for(int i=0;i<3;i++) // for(int j=0;j<3;j++) // H[i][j] = hess.H[i][j]; // } void ReducedHessAngle::evaluate(const Vector3D& atom_i, //position of atom i const Vector3D& atom_j, //position of atom j const Vector3D& atom_k, //position of atom k const Real k_t, //angluar spring constant const Real theta0, //rest angle bool computeReduced) { Vector3D rij(atom_j - atom_i); Vector3D rkj(atom_j - atom_k); Vector3D rki(atom_i - atom_k); // the relative position vectors Real theta = atan2((rij.cross(rkj)).norm(),rij.dot(rkj)); Real sinTheta = sin(theta); Real cosTheta = cos(theta); Real a = rij.normSquared(); // \alpha: square of the norm of r_ij Real b = rkj.normSquared(); // \beta: square of the norm of r_kj Real c = rki.normSquared(); // \gamma: square of the norm of r_ki Real na = sqrt(a); // norm of r_ij Real nb = sqrt(b); // norm of r_kj Real nanb = na*nb; // temp constant Real E_c = -2.0*k_t*(theta - theta0)/sinTheta; // derivative of E_theta w.r.t. C Real E_cc = 2.0*k_t*(sinTheta - (theta - theta0)*cosTheta); E_cc /= sinTheta*sinTheta*sinTheta; // derivative of E_c w.r.t. C Real f = ( a-b+c)/(4*nanb*a); Real g = (-a+b+c)/(4*nanb*b); Real h = -1./(2*nanb); //constants computed from \alpha, \beta, \gamma Real f_a = (-a+3*b-3*c)/(8*a*a*nanb); // derivative of f w.r.t. \alpha Real f_b = (-a-b-c)/(8*a*b*nanb); // derivative of f w.r.t. \beta Real f_c = 1./(4*a*nanb); // derivative of f w.r.t. \gamma Real g_b = (3*a-b-3*c)/(8*nanb*b*b);//derivative of g w.r.t. \beta Real g_c = 1./(4*b*nanb);//derivative of g w.r.t. \gamma Real t1 = 2*(f+h)*E_c, t2 = -2*h*E_c; Real t3 = 2*(g+h)*E_c; H[0][0](t1,0,0, 0,t1,0, 0,0,t1); H[0][2](t2,0,0, 0,t2,0, 0,0,t2); H[2][2](t3,0,0, 0,t3,0, 0,0,t3); // first init the subblocks with const mult identity matrices. Matrix3by3 rij_ij(rij,rij), rij_ki(rij,rki), rij_kj(rij,rkj); Matrix3by3 rjk_jk(rkj,rkj), rki_kj(rki,rkj), rki_ki(rki,rki); // use the 2-coordinates constructor to get the outer-produce matrix Real FourEc = 4 * E_c; Real FourEcFc = FourEc * f_c, FourEcGc = FourEc * g_c; Real FourEcFa = FourEc * f_a, FourEcFb = FourEc * f_b; Real FourEcGb = FourEc * g_b; H[0][0] += rij_ij * FourEcFa - (rij_ki + rij_ki.transposed()) * FourEcFc; H[0][2] += rij_kj * FourEcFb + rij_ki * FourEcFc - rki_kj * FourEcGc; H[2][2] += rjk_jk * FourEcGb + (rki_kj + rki_kj.transposed()) * FourEcGc; Real FourEcc = 4 * E_cc;; Real FourEccFF = FourEcc*f*f, FourEccFG = FourEcc*f*g; Real FourEccFH = FourEcc*f*h, FourEccGG = FourEcc*g*g; Real FourEccGH = FourEcc*g*h, FourEccHH = FourEcc*h*h; H[0][0] += rij_ij * FourEccFF - (rij_ki + rij_ki.transposed()) * FourEccFH + rki_ki*FourEccHH; H[0][2] += rij_kj * FourEccFG + rij_ki * FourEccFH - rki_kj * FourEccGH- rki_ki * FourEccHH; H[2][2] += rjk_jk * FourEccGG + (rki_kj + rki_kj.transposed()) * FourEccGH + rki_ki * FourEccHH; if(!computeReduced){ Real t4 = -2*f*E_c, t5 = 2*(g+f)*E_c; Real t6 = -2*g*E_c; H[0][1](t4,0,0, 0,t4,0, 0,0,t4); H[1][1](t5,0,0, 0,t5,0, 0,0,t5); H[1][2](t6,0,0, 0,t6,0, 0,0,t6); H[0][1] += rij_ki.transposed() * FourEcFc + rki_kj * FourEcGc - rij_ij * FourEcFa - rij_kj * FourEcFb; H[1][1] += rij_ij * FourEcFa + (rij_kj + rij_kj.transposed()) * FourEcFb + rjk_jk * FourEcGb; H[1][2] -= rjk_jk * FourEcGb + rij_kj * FourEcFb + rij_ki * FourEcFc + rki_kj.transposed() * FourEcGc; H[0][1] += rki_kj * FourEccGH - rij_kj * FourEccFG + rij_ki.transposed() * FourEccFH - rij_ij * FourEccFF; H[1][1] += rij_ij * FourEccFF + (rij_kj + rij_kj.transposed()) * FourEccFG + rjk_jk * FourEccGG; H[1][2] -= rij_kj * FourEccFG + rij_ki * FourEccFH + rki_kj.transposed() * FourEccGH + rjk_jk * FourEccGG; H[1][0].transpose(H[0][1]); H[2][0].transpose(H[0][2]); H[2][1].transpose(H[1][2]); }else{ H[0][1](0,0,0,0,0,0,0,0,0); H[1][1](0,0,0,0,0,0,0,0,0); H[1][2](0,0,0,0,0,0,0,0,0); H[1][0](0,0,0,0,0,0,0,0,0); H[2][0].transpose(H[0][2]); H[2][1](0,0,0,0,0,0,0,0,0); } } Matrix3by3 ReducedHessAngle::operator()(int i, int j) const { return H[i][j]; } void ReducedHessAngle::operator()(int i, int j, Matrix3by3 x) { H[i][j] = x; } void ReducedHessAngle::accumulateTo(int i, int j, Matrix3by3 x) { H[i][j] += x; } void ReducedHessAngle::accumulateNegTo(int i, int j, Matrix3by3 x) { H[i][j] -= x; } // print the ReducedHessAngle matrix to tty ostream& operator<<(ostream &os, const ReducedHessAngle & tm) { for(unsigned int i=0;i<3;i++) for(unsigned int j=0;j<3;j++) os <<"H["< #include "systemutilities.h" using std::ostream; using std::string; namespace ProtoMol { //________________________________________________________ Report namespace Report { MyStreamer& debug::operator()(MyStreamer& stream) const{ stream.setLevel(myLevel); stream << "DEBUG: "; return stream; } MyStreamer& reportlevel::operator()(MyStreamer& stream) const{ stream.setReportLevel(myReportlevel); return stream; } //___________________________________________________________ // Currently defaulting to std::cerr MyStreamer report(&(std::cerr)); //_________________________________________ MyStreamer MyStreamer::MyStreamer(ostream* a) { setStream(a); } // Allows the changing of the stream ostream* MyStreamer::setStream(ostream* a) { ostream* tmp = myStream; myStream = (a != NULL) ? a : &(std::cerr); myResetFlags = myStream->flags(); myAbort = false; myQuit = false; myAllNodes = false; myAllNodesSerial = false; myAllSlavesSerial = false; myIAmMaster = true; myDoHint = true; mySilentHint = 0; myReportLevel = 0; myLevel = 0; return tmp; } void MyStreamer::setAbort(bool flag){ myAbort = flag; } void MyStreamer::setAllNodes(bool flag){ myAllNodes = flag; } void MyStreamer::setf(std::ios::fmtflags flag){ myStream->setf(flag); } void MyStreamer::setf(std::ios::fmtflags flag, std::ios::fmtflags mask){ myStream->setf(flag, mask); } void MyStreamer::precision(int prec){ myStream->precision(prec); } void MyStreamer::width(int wide){ myStream->width(wide); } void MyStreamer::reset(){ myStream->flags(myResetFlags); } //_________________________________________________________________________ MyStreamer // Standard Overloads MyStreamer& MyStreamer::operator<< (bool a) { if(print()) if(a) *myStream << "true"; else *myStream << "false"; return (*this); } MyStreamer& MyStreamer::operator<< (char a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (unsigned char a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (signed char a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (char* a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (const char* a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (unsigned char* a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (signed char* a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (short a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (unsigned short a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (int a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (unsigned int a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (long a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (unsigned long a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (long long a) { if(print()) #if ( defined(_GLIBCPP_USE_LONG_LONG) || !defined(__GNUC__)) *myStream << a; #else *myStream << (long)a; #endif return (*this); } MyStreamer& MyStreamer::operator<< (unsigned long long a) { if(print()) #if ( defined(_GLIBCPP_USE_LONG_LONG) || !defined(__GNUC__)) *myStream << a; #else *myStream << (unsigned long)a; #endif return (*this); } MyStreamer& MyStreamer::operator<< (float a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (double a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (const ostream& a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (ostream* a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (std::ios& (*f)(std::ios&)) { if(print()) (*f)(*myStream); return (*this); } MyStreamer& MyStreamer::operator<< (ostream& (*f)(ostream&)) { if(print()) (*f)(*myStream); return (*this); } MyStreamer& MyStreamer::operator<< (const string& a) { if(print()) *myStream << a; return (*this); } MyStreamer& MyStreamer::operator<< (MyStreamer& (*f)(MyStreamer&)){ (*f)(*this); return (*this); } //___________________________________________________________ Our Output Levels MyStreamer& plain(MyStreamer& stream){ stream.myLevel = -4; return stream; } MyStreamer& error(MyStreamer& stream){ stream.myAbort = true; stream.myLevel = -3; if(stream.print()) stream << "Fatal Error: "; return stream; } MyStreamer& recoverable(MyStreamer& stream){ stream.myLevel = -2; if(stream.print()) stream << "Recoverable Error: "; return stream; } MyStreamer& warning(MyStreamer& stream){ stream.myLevel = -1; if(stream.print()) stream << "Warning: "; return stream; } MyStreamer& hint(MyStreamer& stream){ stream.myLevel = 0; if(!stream.myDoHint) stream.mySilentHint++; if(stream.print()) stream << "Hint: "; return stream; } // MyStreamer& debug(MyStreamer& stream){ // stream << debug(1); // return stream; // } MyStreamer& operator<<(MyStreamer &stream, const reportlevel& rl){ return rl(stream); } MyStreamer& operator<<(MyStreamer &stream, const debug& d){ return d(stream); } //___________________________________________________________ MyStreamer& allnodes(MyStreamer& stream){ stream.myAllNodes = true; return stream; } MyStreamer& quit(MyStreamer& stream){ stream.myQuit = true; return stream; } MyStreamer& aborting(MyStreamer& stream){ stream.myAbort = true; return stream; } MyStreamer& dohint(MyStreamer& stream){ stream.myDoHint = true; return stream; } MyStreamer& donthint(MyStreamer& stream){ stream.myDoHint = false; return stream; } //___________________________________________________________ Our Output Controll MyStreamer& allnodesserial(MyStreamer& stream){ stream.myAllNodes = true; stream.myAllNodesSerial = true; stream << std::flush; protomolStartSerial(false); return stream; } MyStreamer& allslavesserial(MyStreamer& stream){ stream.myAllNodes = true; stream.myAllSlavesSerial = true; stream << std::flush; protomolStartSerial(true); return stream; } MyStreamer& endr(MyStreamer& stream){ //if(stream.print()) stream << std::endl; if(!stream.myDoHint) stream.mySilentHint = std::max(stream.mySilentHint-1,0); if(stream.myQuit){ if(!stream.myAllNodesSerial || !stream.myAllSlavesSerial) protomolExit(); else protomolAbort(); } else if (stream.myAbort){ protomolAbort(); } else if(stream.myAllNodesSerial){ protomolEndSerial(false); } else if(stream.myAllSlavesSerial){ protomolEndSerial(true); } stream.myAllSlavesSerial = false; stream.myAllNodesSerial = false; stream.myAllNodes = false; return stream; } } } protomol/framework/base/Report.h0100644027616700000500000001763310237151527016362 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REPORT_H #define REPORT_H #include #include namespace ProtoMol { //________________________________________________________ Report namespace Report { class MyStreamer; //_________________________________________ debug /** Manipulator of MyStreamer, to print out debug information with different report level importance, where 1, pretty important, 10 really unimportant. */ class debug{ public: debug() : myLevel(1) {} debug(short l) : myLevel(l) {} MyStreamer& operator()(MyStreamer& stream) const; private: short myLevel; }; //_________________________________________ reportlevel /** reportlevel sets the maximal level of report, if less than 1 all debug information is suppressed. */ class reportlevel{ public: reportlevel() : myReportlevel(0) {} reportlevel(short l) : myReportlevel(l) {} MyStreamer& operator()(MyStreamer& stream) const; private: short myReportlevel; }; //_________________________________________ MyStreamer /** MyStreamer wraps the output to a given stream and provides different manipulators a la std::cout and std::cerr. report is a global instance of MyStreamer and acts as std::cout and std::cerr. In parallel environment, by default, only output from the master is passed to the actual stream. One can also pipe the putput to a file. @n It handles different report levels. Production code will by default suppress all debug output (print if level <= 0, reportlevel=0), where as debug compilation will by default print all information with level <= 1, reportlevel=1. @n NB! Do not put debug() inside forces, ok if it is inside initialization, otherwise use a type from oneAtomContraints.h to debug pair wise potentials @n @n report << debug(1) << "This is only debug inforamtion"<< endr @n report << quit << plain << "Well, this story gonna end soon ... " <(VIRIALXX)] += force12.x * diff.x; myTable[static_cast(VIRIALXY)] += xy; myTable[static_cast(VIRIALXZ)] += xz; myTable[static_cast(VIRIALYX)] += xy; myTable[static_cast(VIRIALYY)] += force12.y * diff.y; myTable[static_cast(VIRIALYZ)] += yz; myTable[static_cast(VIRIALZX)] += xz; myTable[static_cast(VIRIALZY)] += yz; myTable[static_cast(VIRIALZZ)] += force12.z * diff.z; } void ScalarStructure::addMolVirial(const Vector3D &force12, const Vector3D &diff ) { // Add molecular virial //Real xx = force12.x * diff.x; Real xy = force12.x * diff.y; Real xz = force12.x * diff.z; Real yz = force12.y * diff.z; //Real yy = force12.y * diff.y; //Real zz = force12.z * diff.z; myTable[static_cast(MOLVIRIALXX)] += force12.x * diff.x; myTable[static_cast(MOLVIRIALXY)] += xy; myTable[static_cast(MOLVIRIALXZ)] += xz; myTable[static_cast(MOLVIRIALYX)] += xy; myTable[static_cast(MOLVIRIALYY)] += force12.y * diff.y; myTable[static_cast(MOLVIRIALYZ)] += yz; myTable[static_cast(MOLVIRIALZX)] += xz; myTable[static_cast(MOLVIRIALZY)] += yz; myTable[static_cast(MOLVIRIALZZ)] += force12.z * diff.z; } void ScalarStructure::addVirial(const Vector3D & force12, const Vector3D &diff, const Vector3D &comDiff){ // Add virial //Real xx = force12.x * diff.x; Real xy = force12.x * diff.y; Real xz = force12.x * diff.z; Real yz = force12.y * diff.z; //Real yy = force12.y * diff.y; //Real zz = force12.z * diff.z; myTable[static_cast(VIRIALXX)] += force12.x * diff.x; myTable[static_cast(VIRIALXY)] += xy; myTable[static_cast(VIRIALXZ)] += xz; myTable[static_cast(VIRIALYX)] += xy; myTable[static_cast(VIRIALYY)] += force12.y * diff.y; myTable[static_cast(VIRIALYZ)] += yz; myTable[static_cast(VIRIALZX)] += xz; myTable[static_cast(VIRIALZY)] += yz; myTable[static_cast(VIRIALZZ)] += force12.z * diff.z; // Add molecular virial //xx = force12.x * comDiff.x; xy = force12.x * comDiff.y; xz = force12.x * comDiff.z; yz = force12.y * comDiff.z; //yy = force12.y * comDiff.y; //zz = force12.z * comDiff.z; myTable[static_cast(MOLVIRIALXX)] += force12.x * comDiff.x; myTable[static_cast(MOLVIRIALXY)] += xy; myTable[static_cast(MOLVIRIALXZ)] += xz; myTable[static_cast(MOLVIRIALYX)] += xy; myTable[static_cast(MOLVIRIALYY)] += force12.y * comDiff.y; myTable[static_cast(MOLVIRIALYZ)] += yz; myTable[static_cast(MOLVIRIALZX)] += xz; myTable[static_cast(MOLVIRIALZY)] += yz; myTable[static_cast(MOLVIRIALZZ)] += force12.z * comDiff.z; } bool ScalarStructure::virial(bool doVirial){ bool tmp = myDoVirial; myDoVirial = doVirial; return tmp; } bool ScalarStructure::output(bool doOutput){ bool tmp = myDoOutput; myDoOutput = doOutput; return tmp; } bool ScalarStructure::molecularVirial(bool doMolecularVirial){ bool tmp = myDoMolecularVirial; myDoMolecularVirial = doMolecularVirial; return tmp; } } protomol/framework/base/ScalarStructure.h0100644027616700000500000001214310237151527020224 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ENERGYSTRUCTURE_H #define ENERGYSTRUCTURE_H #include "Proxy.h" #include "Vector3D.h" #include "pmconstants.h" namespace ProtoMol { //_________________________________________________________________ ScalarStructure /** * Container holding energies and all kind of scalar values of intreset. * The values are kept in array of fixed size and in parallel environment * the values are reduced from FIRST to LASTREDUCE. */ class ScalarStructure : public Proxy { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Index type of the array of relevant scalars //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// Index of the array of relevant scalars enum Index { FIRST = 0, // Only internal purpose COULOMB = FIRST, LENNARDJONES, BOND, ANGLE, DIHEDRAL, IMPROPER, OTHER, VIRIALXX, VIRIALXY, VIRIALXZ, VIRIALYX, VIRIALYY, VIRIALYZ, VIRIALZX, VIRIALZY, VIRIALZZ, MOLVIRIALXX, MOLVIRIALXY, MOLVIRIALXZ, MOLVIRIALYX, MOLVIRIALYY, MOLVIRIALYZ, MOLVIRIALZX, MOLVIRIALZY, MOLVIRIALZZ, COULOMB_DELTAMU, ///< needed for iSG simulations LENNARDJONES_DELTAMU, ///< needed for iSG simulations BOND_DELTAMU, ///< needed for iSG simulations ANGLE_DELTAMU, ///< needed for iSG simulations DIHEDRAL_DELTAMU, ///< needed for iSG simulations IMPROPER_DELTAMU, ///< needed for iSG simulations CQFLUCTUATION, ///< needed for iSG simulations DELTATIME, ///< needed for iSG simulations INTEGRATOR, LASTREDUCE, ///< Last value to be reduced in parallel environment, only internal purpose SHADOW=LASTREDUCE, LAST // Only internal purpose }; // Index of relevant scalares //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ScalarStructure(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ScalarStructure //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Real& operator [](Index i){return myTable[static_cast(i)];} Real operator [](Index i) const{return myTable[static_cast(i)];} /// Clear all of the energies in this structure. void clear(); ScalarStructure &intoAdd(const ScalarStructure &e); ScalarStructure &intoSubtract(const ScalarStructure &e); /// The potential energy. Real potentialEnergy() const; /// The atomic pressure. Real pressure(Real volume) const; /// The Molecular pressure. Real molecularPressure(Real volume) const; /// The chemical potential difference Real deltaMu() const; /// Add viral term for one force pair void addVirial(const Vector3D & force12, const Vector3D &diff); /// Add molecular viral term for one force pair. void addMolVirial(const Vector3D & force12, const Vector3D &diff); /// Add viral term for one force pair and molecular viral term for one force pair. void addVirial(const Vector3D & force12, const Vector3D &diff, const Vector3D &comDiff); /// test if molecular virial tensor desired bool molecularVirial() const {return myDoMolecularVirial;} bool molecularVirial(bool doMolecularVirial); /// test if output desired, can be used to suppress output bool output() const {return myDoOutput;} bool output(bool doOutput); /// test if virial tensor desired bool virial() const {return myDoVirial;} bool virial(bool doVirial); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real myTable[LAST-FIRST]; // Table of all relevant scalars bool myDoVirial; bool myDoMolecularVirial; bool myDoOutput; }; //______________________________________________________________________ INLINES inline Real ScalarStructure::potentialEnergy() const { return (myTable[COULOMB] + myTable[LENNARDJONES] + myTable[BOND] + myTable[ANGLE] + myTable[DIHEDRAL] + myTable[IMPROPER] + myTable[OTHER]); } inline Real ScalarStructure::deltaMu() const { return (myTable[COULOMB_DELTAMU] + myTable[LENNARDJONES_DELTAMU] + myTable[BOND_DELTAMU] + myTable[ANGLE_DELTAMU] + myTable[DIHEDRAL_DELTAMU] + myTable[IMPROPER_DELTAMU]); } inline Real ScalarStructure::pressure(Real volume) const { return ((myTable[VIRIALXX]+myTable[VIRIALYY]+myTable[VIRIALZZ])/3.0/volume*Constant::PRESSUREFACTOR); } inline Real ScalarStructure::molecularPressure(Real volume) const { return (( myTable[MOLVIRIALXX]+myTable[MOLVIRIALYY]+myTable[MOLVIRIALZZ])/3.0/volume*Constant::PRESSUREFACTOR); } } #endif /* ENERGYSTRUCTURE_H */ protomol/framework/base/Stack.h0100644027616700000500000000474610237151527016155 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef STACK_H #define STACK_H #include namespace ProtoMol { //_________________________________________________________________ Stack /** * Stack which also enables random access. */ template class Stack { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Stack(); ~Stack(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Stack //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void addElement(T newElement); T popElement(); T getElement(unsigned int index); unsigned int getNumElements(); void reset(bool delmem); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: T *m_elem; unsigned int m_numElements; unsigned int m_size; static const unsigned int INCR_SIZE=50; }; //______________________________________________________________________ INLINES template Stack::Stack() { m_elem = NULL; m_numElements = 0; m_size = 0; } template Stack::~Stack() { if (m_elem != NULL) { delete[] m_elem; } m_elem = NULL; } template void Stack::addElement(T newElement) { T *temp; if (m_numElements >= m_size) { temp = new T[m_size + INCR_SIZE]; if (m_numElements > 0) { memcpy(temp,m_elem,sizeof(T)*m_numElements); delete[] m_elem; } m_size += INCR_SIZE; m_elem = temp; } m_elem[m_numElements] = newElement; m_numElements++; } template T Stack::popElement() { T result; result = m_elem[m_numElements-1]; m_numElements--; return result; } template T Stack::getElement(unsigned int index) { T result=T(); if (index < m_numElements) { result = m_elem[index]; } return result; } template void Stack::reset(bool delMem) { if (delMem == true) { if (m_size > 0) { delete[] m_elem; } m_elem = NULL; m_size = 0; m_numElements = 0; } else { m_numElements = 0; } } template unsigned int Stack::getNumElements() { return m_numElements; } } #endif protomol/framework/base/Timer.cpp0100644027616700000500000001344310237151527016515 0ustar pbrenne1dip/* * Timer.C * * Copyright (C) 1994, Christoph Streit * Stephan Amann * University of Berne, Switzerland * * All rights reserved. * * This software may be freely copied, modified, and redistributed * provided that this copyright notice is preserved on all copies. * * You may not distribute this software, in whole or in part, as part of * any commercial product without the express consent of the authors. * * There is no warranty or other guarantee of fitness of this software * for any purpose. It is provided solely "as is". * */ #ifdef SVR4 #include #include #include #include #elif defined(WIN32) #include #include // mmsystem.h cannot exist without this. #include // timeGetTime() #else #include #include #include #endif #include "Timer.h" #include using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ TimeRep TimeRep::TimeRep() : myRealTime(0.0), myUserTime(0.0), mySystemTime(0.0) {} TimeRep::TimeRep(double realTime, double userTime, double sysTime) : myRealTime(realTime), myUserTime(userTime), mySystemTime(sysTime) {} TimeRep TimeRep::operator+(const TimeRep& time) const { return TimeRep(myRealTime + time.myRealTime, myUserTime + time.myUserTime, mySystemTime + time.mySystemTime); } TimeRep TimeRep::operator-(const TimeRep& time) const { return TimeRep(myRealTime - time.myRealTime, myUserTime - time.myUserTime, mySystemTime - time.mySystemTime); } TimeRep& TimeRep::operator+=(const TimeRep& time) { *this = *this + time; return *this; } TimeRep& TimeRep::operator-=(const TimeRep& time) { *this = *this - time; return *this; } Report::MyStreamer& operator<<(Report::MyStreamer& os, const TimeRep& time) { os.setf(std::ios::showpoint|std::ios::fixed); os.precision(5); os << time.myRealTime << "[s] real, "; os.precision(5); os << time.myUserTime << "[s] user, "; os.precision(5); os << time.mySystemTime << "[s] sys"; //os.reset(); return os; } void TimeRep::set(double realTime, double userTime, double sysTime) { myRealTime = realTime; myUserTime = userTime; mySystemTime = sysTime; } void TimeRep::reset() { myRealTime = 0.0; myUserTime = 0.0; mySystemTime = 0.0; } //_________________________________________________________________ Timer Timer::Timer() : myRunningFlag(false) { reset(); } void Timer::start() { if (myRunningFlag) { return; } myRunningFlag = true; myStartTime = getCurrentTime(); myLastLapTime = myStartTime; myLapTime.reset(); } void Timer::stop() { if (!myRunningFlag) { return; } myTotalTime = myTotalTime + (getCurrentTime() - myStartTime); myRunningFlag = false; } TimeRep Timer::getActualTime() const { if (!myRunningFlag) { return myTotalTime; } return (myTotalTime + (getCurrentTime() - myStartTime)); } TimeRep Timer::lap() { if (!myRunningFlag) { return TimeRep(); } TimeRep t = getCurrentTime(); myLapTime = t - myLastLapTime; myLastLapTime = t; return myLapTime; } void Timer::reset() { myRunningFlag = false; myStartTime.reset(); myTotalTime.reset(); myLastLapTime.reset(); myLapTime.reset(); } TimeRep Timer::getTime() const { if (myRunningFlag) { return myTotalTime + (getCurrentTime() - myStartTime); } else return myTotalTime; } TimeRep Timer::getLapTime() const { if (!myRunningFlag) { return TimeRep(); } return myLapTime; } Timer& Timer::operator+=(const TimeRep& time) { if (!myRunningFlag) { myTotalTime += time; } else { myStartTime -= time; } return *this; } Timer& Timer::operator-=(const TimeRep& time) { if (!myRunningFlag) { myTotalTime -= time; } else { myStartTime += time; } return *this; } Report::MyStreamer& operator<<(Report::MyStreamer& os, const Timer& timer) { os << timer.getTime(); return os; } TimeRep Timer::getCurrentTime() { double realTime, userTime, sysTime; #ifdef SVR4 struct timeval tv; gettimeofday(&tv, NULL); realTime = (double)tv.tv_sec + (double)tv.tv_usec/1000000.; struct tms time; times(&time); userTime = (double)time.tms_utime/(double)HZ; sysTime = (double)time.tms_stime/(double)HZ; #elif defined(WIN32) #ifndef __GNUC__ #define EPOCHFILETIME (116444736000000000i64) #else #define EPOCHFILETIME (116444736000000000LL) #endif FILETIME ft; LARGE_INTEGER li; __int64 t; GetSystemTimeAsFileTime(&ft); li.LowPart = ft.dwLowDateTime; li.HighPart = ft.dwHighDateTime; t = li.QuadPart; t -= EPOCHFILETIME; t /= 10; realTime = (double)((long)(t / 1000000))+(double)((long)(t % 1000000))*.000001; //realTime = (double)timeGetTime() / 1000.0; userTime = clock() / 1000.0; // don't know how to measure user sys time sysTime = 0; // this is not a unix system. #else struct timeval tv; gettimeofday(&tv, NULL); realTime = (double)tv.tv_sec + (double)tv.tv_usec*.000001; struct rusage usage; getrusage(RUSAGE_SELF, &usage); userTime = (double) usage.ru_utime.tv_sec + (double) usage.ru_utime.tv_usec *.000001; sysTime = (double) usage.ru_stime.tv_sec + (double) usage.ru_stime.tv_usec *.000001; #endif return TimeRep(realTime, userTime, sysTime); } } protomol/framework/base/Timer.h0100644027616700000500000000754110237151527016164 0ustar pbrenne1dip/* -*- c++ -*- */ /* * * Time your algorithms! * * 0 5 10 15 20 25 30 35 40 45 50 seconds * |-----|-----|-----|-----|-----|-----|-----|-----|-----|-----| * ^ ^ ^ ^ ^ * | | | | | * |<--------------------------->| | |<--------->| | * start | | | stop | start stop | * | | | | | * | getTime()=>12s | getTime()=>25s getTime()=>35s * | | * | | * lap(); lap(); * getLapTime()=>5s getLapTime()=>15s * * * Copyright (C) 1995, Christoph Streit * Stephan Amann * University of Berne, Switzerland * * All rights reserved. * * This software may be freely copied, modified, and redistributed * provided that this copyright notice is preserved on all copies. * * You may not distribute this software, in whole or in part, as part of * any commercial product without the express consent of the authors. * * There is no warranty or other guarantee of fitness of this software * for any purpose. It is provided solely "as is". * */ #ifndef _TIMER_H #define _TIMER_H #include "Report.h" namespace ProtoMol { //_____________________________________________________________________ TimeRep /** * Class representation and container of Time */ class TimeRep { friend class Timer; public: TimeRep(); // TimeRep(const TimeRep&); // Use default version. TimeRep(double realTime, double userTime, double sysTime); // ~TimeRep(); // Use default version. // TimeRep& operator=(const TimeRep&); // Use default version. /// Elapsed time double getRealTime() const; /// Time spent by this task/thread double getUserTime() const; /// Time spent on system operations double getSystemTime() const; /// User + System time double getProcessTime() const; // User & Sys TimeRep operator+(const TimeRep& time) const; TimeRep operator-(const TimeRep& time) const; TimeRep& operator+=(const TimeRep& time); TimeRep& operator-=(const TimeRep& time); friend Report::MyStreamer& operator<<(Report::MyStreamer& os, const TimeRep& time); private: double myRealTime; double myUserTime; double mySystemTime; private: void set(double realTime, double userTime, double sysTime); void reset(); }; //______________________________________________________________ INLINE TimerRep inline double TimeRep::getRealTime() const { return myRealTime; } inline double TimeRep::getUserTime() const { return myUserTime; } inline double TimeRep::getSystemTime() const { return mySystemTime; } inline double TimeRep::getProcessTime() const { return myUserTime + mySystemTime; } //________________________________________________________________________ Timer class Timer { public: Timer(); // Time(const Time&); // Use default version. // ~Time(); // Use default version. // Time& operator=(const Time&); // Use default version. void start(); void stop(); TimeRep lap(); void reset(); TimeRep getTime() const; TimeRep getLapTime() const; TimeRep getActualTime() const; static TimeRep getCurrentTime(); Timer& operator+=(const TimeRep& time); Timer& operator-=(const TimeRep& time); friend Report::MyStreamer& operator<<(Report::MyStreamer& os, const Timer& timer); private: bool myRunningFlag; TimeRep myStartTime; TimeRep myTotalTime; TimeRep myLastLapTime; TimeRep myLapTime; private: }; } #endif // _TIMER_H protomol/framework/base/TimerStatistic.cpp0100644027616700000500000000213010237151527020374 0ustar pbrenne1dip#include "TimerStatistic.h" using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ TimerStatistic Timer TimerStatistic::timer[static_cast(LAST)-static_cast(FIRST)]; bool TimerStatistic::myIsParallel = false; Report::MyStreamer& operator<<(Report::MyStreamer& os, const TimerStatistic& ){ os.setf(std::ios::showpoint|std::ios::fixed); os.precision(5); os << "wall: "< #include "Timer.h" namespace ProtoMol { //_________________________________________________________________ TimerStatistic /** * Simple timer statistic array implemented with Timer class and static's.@n * * TimerStatistic::timer[TimerStatistic::RUN].start();@n * TimerStatistic::timer[TimerStatistic::RUN].stop();@n * TimerStatistic::timer[TimerStatistic::RUN].reset();@n */ class TimerStatistic { public: enum Enum { FIRST = 0, // Only internal purpose WALL = 0, RUN, INTEGRATOR, FORCES, COMMUNICATION, IDLE, LAST // Only internal purpose }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: // TimerStatistic(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class TimerStatistic //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static void setParallel(bool b) {myIsParallel=b;} static bool isParallel(void) {return myIsParallel;} friend Report::MyStreamer& operator<<(Report::MyStreamer& os, const TimerStatistic& ); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static Timer timer[]; private: static bool myIsParallel; }; //______________________________________________________________________ INLINES } #endif /* TIMERSTATISTIC_H */ protomol/framework/base/Value.cpp0100644027616700000500000002514310237151530016503 0ustar pbrenne1dip#include "Value.h" #include "stringutilities.h" #include "mathutilities.h" using std::string; using std::vector; using namespace ProtoMol::Report; namespace ProtoMol { //________________________________________________________ Value const Value::Undefined* Value::undefined(NULL); Value::Value():myValue(NULL){} Value::~Value(){delete myValue;} Value::Value(const std::string& value ):myValue(new Holder > (value)){} Value::Value(const char* value ):myValue(new Holder > (value)){} Value::Value(int value ):myValue(new Holder > (value)){} Value::Value(unsigned int value ):myValue(new Holder > (value)){} Value::Value(Real value ):myValue(new Holder > (value)){} Value::Value(bool value ):myValue(new Holder > (value)){} Value::Value(const Vector3D& value ):myValue(new Holder > (value)){} Value::Value(const vector& value ):myValue(new Holder > > (value)){} Value::Value(const ValueType::Integrator& value):myValue(new Holder >(value)){} Value::Value(const ValueType::Force& value ):myValue(new Holder > (value)){} Value::Value(const Value& other):myValue(other.myValue ? other.myValue->clone() : NULL){} Value::Value(const std::string& value, const Undefined*):myValue(new Holder > (value,false)){} Value::Value(const char* value, const Undefined*):myValue(new Holder > (value,false)){} Value::Value(int value, const Undefined*):myValue(new Holder > (value,false)){} Value::Value(unsigned int value, const Undefined*):myValue(new Holder > (value,false)){} Value::Value(Real value, const Undefined*):myValue(new Holder > (value,false)){} Value::Value(bool value, const Undefined*):myValue(new Holder > (value,false)){} Value::Value(const Vector3D& value, const Undefined*):myValue(new Holder > (value,false)){} Value::Value(const vector& value, const Undefined*):myValue(new Holder > > (value,false)){} Value::Value(const ValueType::Integrator& value, const Undefined*):myValue(new Holder >(value,false)){} Value::Value(const ValueType::Force& value, const Undefined*):myValue(new Holder > (value,false)){} Value::Value(const Value& value, const Undefined*):myValue(value.myValue ? value.myValue->clone() : NULL){clear();} Value & Value::operator=(const Value & rhs) { Value(rhs).swap(*this); return *this; } Value::operator std::string() const { std::string val; if(myValue != NULL) myValue->get(val); return val; } Value::operator int() const { int val=0; if(myValue != NULL) myValue->get(val); return val; } Value::operator unsigned int() const { unsigned int val=0; if(myValue != NULL) myValue->get(val); return val; } Value::operator Real() const { Real val=0.0; if(myValue != NULL) myValue->get(val); return val; } Value::operator bool() const { bool val=false; if(myValue != NULL) myValue->get(val); return val; } Value::operator Vector3D() const { Vector3D val(0.0,0.0,0.0); if(myValue != NULL) myValue->get(val); return val; } Value::operator vector() const { vector val; if(myValue != NULL) myValue->get(val); return val; } string Value::getString() const { string tmp(""); if(myValue){ myValue->get(tmp); } return tmp; } string Value::getDefinitionTypeString() const{ string res("<"); res +=getTypeString(); if(valid()) res += "="+getString(); if(getConstraintType() != ConstraintValueType::NOCONSTRAINTS && getConstraintType() != ConstraintValueType::UNDEFINED) res += ","+getConstraintTypeString(); res +=">"; return res; } bool Value::set(Value v){ if(defined()){ myValue->set(v); } else { Value(v).swap(*this); } return valid(); } Value & Value::swap(Value & rhs){ std::swap(myValue, rhs.myValue); return *this; } string Value::debug() const { return getString()+","+(valid()?"true":"false")+","+getTypeString() +","+getConstraintTypeString(); } void Value::read(std::istream& is){ if(defined()){ myValue->read(is); } else { string str; is >> str; set(str); } } template inline bool Value::equal(const Value& v1, const Value& v2){ T u1,u2; if(v1.get(u1) && v2.get(u2)){ return u1 == u2; } return false; } template inline bool Value::less(const Value& v1, const Value& v2){ T u1,u2; if(v1.get(u1) && v2.get(u2)){ return (u1 < u2); } return false; } template inline bool Value::lessEqual(const Value& v1, const Value& v2){ T u1,u2; if(v1.get(u1) && v2.get(u2)){ return u1 <= u2; } return false; } template inline bool Value::greater(const Value& v1, const Value& v2){ T u1,u2; if(v1.get(u1) && v2.get(u2)){ return u1 < u2; } return false; } template inline bool Value::greaterEqual(const Value& v1, const Value& v2){ T u1,u2; if(v1.get(u1) && v2.get(u2)){ return u1 <= u2; } return false; } template inline bool Value::equalType(const Value& v1, const Value& v2){ T u1,u2; return v1.get(u1) && v2.get(u2) && (v1.getType() == (ValueType::Enum)ValueTraits::value || v2.getType() == (ValueType::Enum)ValueTraits::value); } template<> inline bool Value::greaterEqual(const Value&, const Value&){return false;} template<> inline bool Value::greater(const Value&, const Value&){return false;} template<> inline bool Value::less(const Value&, const Value&){return false;} template<> inline bool Value::lessEqual(const Value&, const Value&){return false;} template<> inline bool Value::greaterEqual >(const Value&, const Value&){return false;} template<> inline bool Value::greater >(const Value&, const Value&){return false;} template<> inline bool Value::less >(const Value&, const Value&){return false;} template<> inline bool Value::lessEqual >(const Value&, const Value&){return false;} bool operator==(const Value& v1, const Value& v2){ if(!v1.defined() && !v2.defined()) return true; if(v1.valid() != v2.valid()) return false; else if(!v1.valid()) return true; if(Value::equalType(v1,v2)) return Value::equal(v1,v2); else if(Value::equalType(v1,v2)) return Value::equal(v1,v2); else if(Value::equalType(v1,v2)) return Value::equal(v1,v2); else if(Value::equalType(v1,v2)) return Value::equal(v1,v2); else if(Value::equalType(v1,v2)) return Value::equal(v1,v2); return v1.getString() == v2.getString(); } bool operator<(const Value& v1, const Value& v2){ if(!v1.defined() && !v2.defined()) return true; if(v1.valid() != v2.valid()) return false; else if(!v1.valid()) return true; if(Value::equalType(v1,v2)) return Value::less(v1,v2); else if(Value::equalType(v1,v2)) return Value::less(v1,v2); else if(Value::equalType(v1,v2)) return Value::less(v1,v2); else if(Value::equalType(v1,v2)) return Value::less(v1,v2); else if(Value::equalType(v1,v2)) return Value::less(v1,v2); return v1.getString() < v2.getString(); } bool operator<=(const Value& v1, const Value& v2){ if(!v1.defined() && !v2.defined()) return true; if(v1.valid() != v2.valid()) return false; else if(!v1.valid()) return true; if(Value::equalType(v1,v2)) return Value::lessEqual(v1,v2); else if(Value::equalType(v1,v2)) return Value::lessEqual(v1,v2); else if(Value::equalType(v1,v2)) return Value::lessEqual(v1,v2); else if(Value::equalType(v1,v2)) return Value::lessEqual(v1,v2); else if(Value::equalType(v1,v2)) return Value::lessEqual(v1,v2); return v1.getString() <= v2.getString(); } bool operator>(const Value& v1, const Value& v2){ if(!v1.defined() && !v2.defined()) return true; if(v1.valid() != v2.valid()) return false; else if(!v1.valid()) return true; if(Value::equalType(v1,v2)) return Value::greater(v1,v2); else if(Value::equalType(v1,v2)) return Value::greater(v1,v2); else if(Value::equalType(v1,v2)) return Value::greater(v1,v2); else if(Value::equalType(v1,v2)) return Value::greater(v1,v2); else if(Value::equalType(v1,v2)) return Value::greater(v1,v2); return v1.getString() > v2.getString(); } bool operator>=(const Value& v1, const Value& v2){ if(!v1.defined() && !v2.defined()) return true; if(v1.valid() != v2.valid()) return false; else if(!v1.valid()) return true; if(Value::equalType(v1,v2)) return Value::greaterEqual(v1,v2); else if(Value::equalType(v1,v2)) return Value::greaterEqual(v1,v2); else if(Value::equalType(v1,v2)) return Value::greaterEqual(v1,v2); else if(Value::equalType(v1,v2)) return Value::greaterEqual(v1,v2); else if(Value::equalType(v1,v2)) return Value::greaterEqual(v1,v2); return v1.getString() >= v2.getString(); } MyStreamer& operator<< (MyStreamer& OS, const Value & v) { OS << v.getString(); return OS; } } protomol/framework/base/Value.h0100644027616700000500000004026110237151530016146 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef VALUE_H #define VALUE_H #include "ValueType.h" #include "ConstraintValueType.h" #include namespace ProtoMol { //________________________________________________________ Value /** Represents a value with a type and associated with a constraint. * A Value object can behave as 8 different types, * or be undefined: * * - string * - int * - unsigned int * - Real * - bool * - Vector3D * - vector * - Special, extended types; acts like string with a type (ValueType), i.e., integrator, force etc. */ class Value{ //________________________________________________________ PlaceHolder /** * Abstract class of the place holder */ class PlaceHolder { public: virtual ~PlaceHolder(){} /// Returns the std::type_info of the value virtual const std::type_info & type() const = 0; /// Clones the value virtual PlaceHolder* clone() const = 0; /// True if the value is valid and has a type virtual bool valid() const = 0; /// Makes the value non-valid/cleared and returns previous state of valid. virtual bool clear() = 0; /// Initialized the value with the default value of its representation type and applying its constraints virtual bool init() = 0; /// Returns the number of elements, non-1 for string, Vector3D, vector virtual unsigned int size() const = 0; /// Reads the value from std::istream according its type virtual void read(std::istream& is) = 0; // Type methods /// Returns the type virtual ValueType::Enum getType() const = 0; /// Returns the type of the constraint virtual ConstraintValueType::Enum getConstraintType() const = 0; /// Returns the type as a string virtual const std::string & getConstraintTypeString() const = 0; /// Return the type of the constraint as a string virtual const std::string & getTypeString() const = 0; // Getter virtual bool get(std::string & v) const = 0; virtual bool get(int & v) const = 0; virtual bool get(unsigned int & v) const = 0; virtual bool get(Real & v) const = 0; virtual bool get(bool & v) const = 0; virtual bool get(Vector3D & v) const = 0; virtual bool get(std::vector & v) const = 0; // Setter bool set(const char* v){return set(std::string(v));} virtual bool set(const std::string & v) = 0; virtual bool set(int v) = 0; virtual bool set(unsigned int v) = 0; virtual bool set(Real v) = 0; virtual bool set(bool v) = 0; virtual bool set(const Vector3D & v) = 0; virtual bool set(const std::vector & v) = 0; virtual bool set(const Value& val) = 0; }; //________________________________________________________ PlaceHolder /** * Implementation of the placerholder taking a type defined * in ValueTrait and a constraint (Constraint) */ template class Holder : public PlaceHolder { public: Holder(const typename ValueTrait::RepType& v, bool def=true):holder(def?v:ValueTrait::init()),ok(ValueTrait::check(Constraint(),v) && def){} Holder(const Holder& rhs):holder(rhs.holder),ok(rhs.ok){} virtual const std::type_info & type() const { return typeid(ValueTrait);} virtual PlaceHolder* clone() const { return new Holder(*this);} virtual bool valid() const {return ok;} virtual bool clear() { bool tmp = ok; ok = false; return tmp;} virtual bool init() { bool tmp = ok; holder = ValueTrait::init() ; ok = ValueTrait::check(Constraint(),holder); return tmp;} virtual unsigned int size() const{ return ValueTrait::size(holder);} virtual void read(std::istream& is){ ok = ValueTrait::read(is,holder) && ValueTrait::check(Constraint(),holder);} // Type methods virtual ValueType::Enum getType() const {return (ValueType::Enum)ValueTrait::value;} virtual ConstraintValueType::Enum getConstraintType()const {return (ConstraintValueType::Enum)Constraint::value;} virtual const std::string & getTypeString() const { return ValueType::getString((ValueType::Enum)ValueTrait::value);} virtual const std::string & getConstraintTypeString() const { return ConstraintValueType::getString((ConstraintValueType::Enum)Constraint::value); } // Getter virtual bool get(std::string & v) const { return (ValueTraits::convert(holder,v) && ok);} virtual bool get(int & v) const { return (ValueTraits::convert(holder,v) && ok);} virtual bool get(unsigned int & v) const { return (ValueTraits::convert(holder,v) && ok);} virtual bool get(Real & v) const { return (ValueTraits::convert(holder,v) && ok);} virtual bool get(bool & v) const { return (ValueTraits::convert(holder,v) && ok);} virtual bool get(Vector3D & v) const { return (ValueTraits::convert(holder,v) && ok);} virtual bool get(std::vector & v) const { return (ValueTraits >::convert(holder,v) && ok);} // Setter virtual bool set(const std::string & v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;} virtual bool set(int v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;} virtual bool set(unsigned int v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;} virtual bool set(Real v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;} virtual bool set(bool v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;} virtual bool set(const Vector3D & v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;} virtual bool set(const std::vector & v) { ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); return ok;} virtual bool set(const Value& val) { ok = val.valid(); if(ok){ typename ValueTrait::RepType v; ok = val.get(v); if(ok){ ok = ValueTrait::convert(v,holder) && ValueTrait::check(Constraint(),holder); } } return ok; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typename ValueTrait::RepType holder; bool ok; }; //________________________________________________________ Value struct Undefined{}; public: static const Undefined* undefined; ///< Undefined value // //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Value(); ~Value(); // Not all compilers like this ... // //template //explicit Value(const T& value):myValue(new Holder >(value)){} // //template //Value(const T& value, const Undefined*):myValue(new Holder >(value,false)){} // // ... so we expand ourself explicit Value(const std::string& value ); explicit Value(const char* value ); explicit Value(int value ); explicit Value(unsigned int value ); explicit Value(Real value ); explicit Value(bool value ); explicit Value(const Vector3D& value ); explicit Value(const std::vector& value ); explicit Value(const ValueType::Integrator& value); explicit Value(const ValueType::Force& value ); Value(const Value& other); Value(const std::string& value, const Undefined*); Value(const char* value, const Undefined*); Value(int value, const Undefined*); Value(unsigned int value, const Undefined*); Value(Real value, const Undefined*); Value(bool value, const Undefined*); Value(const Vector3D& value, const Undefined*); Value(const std::vector& value, const Undefined*); Value(const ValueType::Integrator& value, const Undefined*); Value(const ValueType::Force& value, const Undefined*); Value(const Value& value, const Undefined*); template Value(const T& value, const C&):myValue(new Holder, C>(value)){} template Value(const T& value, const C&, const Undefined*):myValue(new Holder, C>(value,false)){} template Value(const T&, const C&, const Value& value):myValue(new Holder, C>(ValueTraits::init())){ typename ValueTraits::RepType v; if(value.get(v)) set(v); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: template Value& operator=(const T& value){ set(value); return *this; } Value & operator=(const Value & rhs); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Conversion //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: // template // operator T() const { // T val=T(); // if(myValue != NULL) // myValue->get(val); // return val; // } operator std::string() const; operator int() const; operator unsigned int() const; operator Real() const ; operator bool() const; operator Vector3D() const; operator std::vector() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Value //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool valid() const; bool defined() const; bool clear(); bool init(); unsigned int size() const; const std::type_info & type() const; std::string getString() const; /// Returns a string containing the type, value (only if valid) and constraint (if defined) std::string getDefinitionTypeString() const; /// Returns a complete debug string of the value, validity, type and constraint std::string debug() const; // Type ValueType::Enum getType() const; ConstraintValueType::Enum getConstraintType() const; const std::string & getTypeString() const; const std::string & getConstraintTypeString() const; /// Test on type bool equalType(const Value& v) const; /// Test on constraint type bool equalConstraint(const Value& v) const; /// Test on type and constraint type bool equalTypeAndConstraint(const Value& v) const; /// Sets the value, type and constraints are unchanged bool set(Value v); /// Sets the value, type and constraints are unchanged template bool set(const T& value){ if(defined()){ myValue->set(value); } else { Value v(value); Value(v).swap(*this); } return valid(); } /// Safe retrieve of the value, (trying) converting to the passed type template bool get(T& value) const{ return (myValue != NULL ? myValue->get(value) : false); } /// Retrieve of the value by conversions template T get() const{ T tmp=T(); get(tmp); return tmp; } private: Value & swap(Value & rhs); template static bool equal(const Value& v1, const Value& v2); template static bool less(const Value& v1, const Value& v2); template static bool lessEqual(const Value& v1, const Value& v2); template static bool greater(const Value& v1, const Value& v2); template static bool greaterEqual(const Value& v1, const Value& v2); template static bool equalType(const Value& v1, const Value& v2); void read(std::istream& is); public: friend Report::MyStreamer& operator<< (Report::MyStreamer& os, const Value & v); friend std::istream& operator>>(std::istream& is, Value& v){ v.read(is); return is;} // Boolean == friend bool operator==(const Value& v1, const Value& v2); template friend bool operator==(const Value& v1, const T& v2){return (v1 == Value(v2));} template friend bool operator==(const T& v1, const Value& v2){return (Value(v1) == v2);} // Boolean != friend bool operator!=(const Value& v1, const Value& v2){return !(v1 == v2);} template friend bool operator!=(const Value& v1, const T& v2) {return !(v1 == Value(v2));} template friend bool operator!=(const T& v1, const Value& v2) {return !(Value(v1) == v2);} //Boolean < friend bool operator<(const Value& v1, const Value& v2); template friend bool operator<(const Value& v1, const T& v2) {return (v1 < Value(v2));} template friend bool operator<(const T& v1, const Value& v2) {return (Value(v1) < v2);} //Boolean <= friend bool operator<=(const Value& v1, const Value& v2); template friend bool operator<=(const Value& v1, const T& v2){return (v1 <= Value(v2));} template friend bool operator<=(const T& v1, const Value& v2){return (Value(v1) <= v2);} //Boolean > friend bool operator>(const Value& v1, const Value& v2); template friend bool operator>(const Value& v1, const T& v2) {return (v1 > Value(v2));} template friend bool operator>(const T& v1, const Value& v2) {return (Value(v1) > v2);} //Boolean >= friend bool operator>=(const Value& v1, const Value& v2); template friend bool operator>=(const Value& v1, const T& v2){return (v1 >= Value(v2));} template friend bool operator>=(const T& v1, const Value& v2){return (Value(v1) >= v2);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // private data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: PlaceHolder* myValue; }; //________________________________________________________________________INLINES inline bool Value::valid() const { return (myValue ? myValue->valid() : false); } inline ValueType::Enum Value::getType() const { return (myValue ? myValue->getType() : ValueType::UNDEFINED); } inline bool Value::defined() const { return (getType() != ValueType::UNDEFINED); } inline bool Value::clear() { return (myValue ? myValue->clear() : false); } inline bool Value::init() { return (myValue ? myValue->init() : false); } inline unsigned int Value::size() const{ return (valid() ? myValue->size() : 0 ); } inline const std::type_info & Value::type() const{ return (myValue ? myValue->type() : typeid(void)); } inline ConstraintValueType::Enum Value::getConstraintType() const { return (myValue ? myValue->getConstraintType() : ConstraintValueType::UNDEFINED); } inline const std::string & Value::getTypeString() const{ return (myValue ? myValue->getTypeString() : ValueType::getString(ValueType::UNDEFINED)); } inline const std::string & Value::getConstraintTypeString() const { return (myValue ? myValue->getConstraintTypeString() : ConstraintValueType::getString(ConstraintValueType::UNDEFINED)); } inline bool Value::equalType(const Value& v) const{ return (v.getType() == getType()); } inline bool Value::equalConstraint(const Value& v) const{ return (v.getConstraintType() == getConstraintType()); } inline bool Value::equalTypeAndConstraint(const Value& v) const{ return (v.getType() == getType() && v.getConstraintType() == getConstraintType()); } } #endif protomol/framework/base/ValueType.cpp0100644027616700000500000000113410237151530017337 0ustar pbrenne1dip#include "ValueType.h" using namespace ProtoMol::Report; using std::string; using std::istream; namespace ProtoMol { //__________________________________________________________ValueType const string ValueEnum::str[static_cast(LAST) - static_cast(FIRST)] = { // Order is essential, must be in relation to Enum ordering string("undefined"), // Returned when no enum matches string("string"), string("int"), string("uint"), string("real"), string("boolean"), string("coordinates"), string("vector"), string("integrator"), string("force") }; } protomol/framework/base/ValueType.h0100644027616700000500000004516410237151530017017 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef VALUETYPE_H #define VALUETYPE_H #include "AbstractEnumType.h" #include "ConstraintValueType.h" #include "Vector3D.h" namespace ProtoMol { //_____________________________________________________ ValueEnum /** * Implements a map of enum and string for the types of Value. */ class ValueEnum { public: virtual ~ValueEnum(){} enum Enum { FIRST = 0, // Used internally only UNDEFINED = 0, // Value returned when no string matches STRING, INT, UINT, REAL, BOOL, VECTOR3D, VECTOR, INTEGRATOR, // Extended types start here, which act like a STRING FORCE, LAST // Used internally only }; //private: public: /** * Defines types for extended types, which do not have * a corresponding and natural/fundamental type. * The mapping includes a string and the std::string conversion, * which enables such objects to act like a string.@n * * Modern C++ Design, p. 29. */ template struct Enum2ValueType{ //Enum2ValueType():str(""){} explicit Enum2ValueType(std::string s):str(s){} explicit Enum2ValueType(char const* c):str(std::string(c)){} operator std::string() const{return str;} operator Enum() const{return e;} std::string str; enum { value = e}; }; public: typedef Enum2ValueType Integrator; typedef Enum2ValueType Force; protected: static const std::string str[]; }; //_____________________________________________________ ValueType typedef AbstractEnumType ValueType; //_____________________________________________________ ValueTraits & Enum2ValueTraits /** * ValueTraits and Enum2ValueTraits define mapping and type implementation * behavior used by Value. */ template struct ValueTraits; /** * Trait class defining the actual type, enum value, the representation type, * possible constraints, and implements the conversions.@n * * Mapping enum value to type (ValueTraits<>) * Modern C++ Design, p. 29. */ template struct Enum2ValueTraits; /// STRING template<> struct ValueTraits{ typedef std::string Type; // Type, template parameter typedef std::string RepType; // Representation type of the value enum {value = ValueType::STRING}; // Enum value static RepType init(){return "";} static Type empty(){return "";} static unsigned int size(const RepType& v){ return v.size();} static bool read(std::istream& is, RepType & v){ is >> v; return true;} template static bool convert(T v, RepType& r){r = toString(v); return true;} // !NB everything is ok template static RepType convert(T v) {RepType tmp; convert(v,tmp);return tmp;} template static bool convertTest(T v) {RepType tmp; return convert(v,tmp);} // Constraints, defined in ConstraintValueType static bool check(const ConstraintValueType::NoConstraints&, const RepType& ){return true;} static bool check(const ConstraintValueType::NotEmpty&, const RepType& v){return (v != "");} }; template<> struct Enum2ValueTraits{ // Mapping enum value to type (ValueTraits<>) typedef ValueTraits Type; }; template struct ValueTraits : public ValueTraits {}; template struct ValueTraits : public ValueTraits {}; /// INT template<> struct ValueTraits{ typedef int Type; typedef int RepType; enum { value = ValueType::INT}; static RepType init(){return 0;} static Type empty(){return 0;} static unsigned int size(RepType){ return 1;} static bool read(std::istream& is, RepType & v){ std::string tmp; is >> tmp; return toInt(tmp,v);} template static bool convert(T, RepType&){return false;} template static RepType convert(T v) {RepType tmp; convert(v,tmp);return tmp;} template static bool convertTest(T v) {RepType tmp; return convert(v,tmp);} static bool convert(RepType v, RepType& r) { r=v; return true;} static bool convert(std::string v, RepType& r) { return toInt(v,r);} static bool convert(bool v, RepType& r) { r = (v?1:0); return true; } static bool convert(unsigned int v, RepType& r){ int c = static_cast(v); if(static_cast(c) == v){ r = c; return true; } return false; } static bool convert(Real v, RepType& r){ int c = static_cast(v); if(static_cast(c) == v){ r = c; return true; } return false; } static bool check(const ConstraintValueType::NoConstraints&, RepType ){return true;} static bool check(const ConstraintValueType::Zero&, RepType v){return (v == 0);} static bool check(const ConstraintValueType::NotZero&, RepType v){return (v != 0);} static bool check(const ConstraintValueType::Positive&, RepType v){return (v > 0);} static bool check(const ConstraintValueType::Negative&, RepType v){return (v < 0);} static bool check(const ConstraintValueType::NotPositive&, RepType v){return (v <= 0);} static bool check(const ConstraintValueType::NotNegative&, RepType v){return (v >= 0);} }; template<> struct Enum2ValueTraits{ typedef ValueTraits Type; }; /// UINT template<> struct ValueTraits{ typedef unsigned int Type; typedef unsigned int RepType; enum { value = ValueType::UINT}; static RepType init(){return 0;} static Type empty(){return 0;} static unsigned int size(RepType){ return 1;} static bool read(std::istream& is, RepType & v){ std::string tmp; is >> tmp; return toUInt(tmp,v);} template static bool convert(T, RepType&){return false;} template static RepType convert(T v) {RepType tmp; convert(v,tmp);return tmp;} template static bool convertTest(T v) {RepType tmp; return convert(v,tmp);} static bool convert(RepType v, RepType& r) { r=v; return true;} static bool convert(std::string v, RepType& r){ return toUInt(v,r);} static bool convert(bool v, RepType& r) { r = (v?1:0); return true;} static bool convert(int v, RepType& r){ if(v >= 0){ r = static_cast(v); return true; } return false; } static bool convert(Real v, RepType& r){ unsigned int c = static_cast(v); if(static_cast(c) == v){ r = c; return true; } return false; } static bool check(const ConstraintValueType::NoConstraints&, RepType ){return true;} static bool check(const ConstraintValueType::NotZero&, RepType v){return (0U != v);} static bool check(const ConstraintValueType::Zero&, RepType v){return (0U == v);} static bool check(const ConstraintValueType::Positive&, RepType v){return (v > 0U);} }; template<> struct Enum2ValueTraits{ typedef ValueTraits Type; }; /// REAL template<> struct ValueTraits{ typedef Real Type; typedef Real RepType; enum { value = ValueType::REAL}; static RepType init(){return 0.0;} static Type empty(){return 0.0;} static unsigned int size(RepType){ return 1;} static bool read(std::istream& is, RepType & v){ std::string tmp; is >> tmp; return toReal(tmp,v);} template static bool convert(T, RepType&){return false;} template static RepType convert(T v) {RepType tmp; convert(v,tmp);return tmp;} template static bool convertTest(T v) {RepType tmp; return convert(v,tmp);} static bool convert(RepType v, RepType& r) {r=v; return true;} static bool convert(std::string v, RepType& r) {return toReal(v,r);} static bool convert(int v, RepType& r) {r = static_cast(v); return true;} static bool convert(unsigned int v, RepType& r) {r = static_cast(v); return true;} static bool convert(bool v, RepType& r) {r = (v ? 1.0 : 0.0); return true;} static bool check(const ConstraintValueType::NoConstraints&, RepType ){return true;} static bool check(const ConstraintValueType::Zero&, RepType v){return (v == 0.0);} static bool check(const ConstraintValueType::NotZero&, RepType v){return (v != 0.0);} static bool check(const ConstraintValueType::Positive&, RepType v){return (v > 0.0);} static bool check(const ConstraintValueType::Negative&, RepType v){return (v < 0.0);} static bool check(const ConstraintValueType::NotPositive&, RepType v){return (v <= 0.0);} static bool check(const ConstraintValueType::NotNegative&, RepType v){return (v >= 0.0);} }; template<> struct Enum2ValueTraits{ typedef ValueTraits Type; }; /// BOOL template<> struct ValueTraits{ typedef bool Type; typedef bool RepType; enum { value = ValueType::BOOL}; static RepType init(){return true;} static Type empty(){return true;} static unsigned int size(RepType){ return 1;} static bool read(std::istream& is, RepType & v){ std::string tmp; is >> tmp; return toBool(tmp,v);} template static bool convert(T, RepType&){return false;} template static RepType convert(T v) {RepType tmp; convert(v,tmp);return tmp;} template static bool convertTest(T v) {RepType tmp; return convert(v,tmp);} static bool convert(RepType v, RepType& r) { r=v; return true;} static bool convert(int v, RepType& r) { r = (v != 0); return true;} static bool convert(unsigned int v, RepType& r) { r = (v != 0); return true;} static bool convert(Real v, RepType& r) { r = (v != 0.0); return true;} static bool convert(std::string v, RepType& r) {return toBool(v,r);} static bool check(const ConstraintValueType::NoConstraints&, RepType){return true;} }; template<> struct Enum2ValueTraits{ typedef ValueTraits Type; }; /// VECTOR3D template<> struct ValueTraits{ typedef Vector3D Type; typedef Vector3D RepType; enum { value = ValueType::VECTOR3D}; static RepType init(){return Vector3D(0.0,0.0,0.0);} static Type empty(){return Vector3D(0.0,0.0,0.0);} static unsigned int size(const RepType&){ return 3;} static bool read(std::istream& is, RepType & v){ std::string x,y,z; is >> x >> y >> z; return toVector3D(x+" "+y+" "+z,v);} template static bool convert(T, RepType&){return false;} template static RepType convert(T v) {RepType tmp; convert(v,tmp);return tmp;} template static bool convertTest(T v) {RepType tmp; return convert(v,tmp);} static bool convert(RepType v, RepType& r){ r=v; return true;} static bool convert(std::string v, RepType& r){ return toVector3D(v,r);} static bool check(const ConstraintValueType::NoConstraints&, const RepType& ){return true;} static bool check(const ConstraintValueType::NotZero&, const RepType& v){return (v.normSquared() != 0);} static bool check(const ConstraintValueType::Zero&, const RepType& v){return (v.normSquared() == 0);} }; template<> struct Enum2ValueTraits{ typedef ValueTraits Type; }; /// VECTOR template<> struct ValueTraits >{ typedef std::vector Type; typedef std::vector RepType; enum { value = ValueType::VECTOR}; static RepType init(){return std::vector();} static Type empty(){return std::vector();} static unsigned int size(const RepType& v){ return v.size();} static bool read(std::istream& is, RepType & v){ v.clear(); std::string str; is >> str; if(isReal(str)){ v.push_back(toReal(str)); while(is >> str){ if(!isReal(str)) break; v.push_back(toReal(str)); } } else if(str.size() > 2 && str[0] == '-' && str[1] == '-' && isUInt(str.substr(2))){ unsigned int n = toUInt(str.substr(2)); for(unsigned int i=0;i> str)) return false; if(!isReal(str)){ is.seekg((-1)*static_cast(str.size()),std::ios::cur); is.clear(); return false; } v.push_back(toReal(str)); } return true; } is.seekg((-1)*static_cast(str.size()),std::ios::cur); is.clear(); return true; } template static bool convert(T, RepType&){return false;} template static RepType convert(T v) {RepType tmp; convert(v,tmp);return tmp;} template static bool convertTest(T v) {RepType tmp; return convert(v,tmp);} static bool convert(RepType v, RepType& r){ r=v; return true;} static bool convert(std::string v, RepType& r){ return toVector(v,r);} static bool check(const ConstraintValueType::NoConstraints&, const RepType& ){return true;} static bool check(const ConstraintValueType::NotEmpty&, const RepType& v){return (v.size() > 0);} static bool check(const ConstraintValueType::Empty&, const RepType& v){return (v.empty());} static bool check(const ConstraintValueType::Zero&, const RepType& v){for(unsigned int i=0;i= 0.0) return false; return true;} static bool check(const ConstraintValueType::NotPositive&, const RepType& v){for(unsigned int i=0;i 0.0) return false; return true;} static bool check(const ConstraintValueType::NotNegative&, const RepType& v){for(unsigned int i=0;i struct Enum2ValueTraits{ typedef ValueTraits > Type; }; /// INTEGRATOR template<> struct ValueTraits{ typedef ValueType::Integrator Type; typedef std::string RepType; enum { value = ValueType::INTEGRATOR}; static RepType init(){return "";} static Type empty(){return Type("");} static unsigned int size(const RepType& v){ return v.size();} static bool read(std::istream& is, RepType & v){ v = ""; std::string str; is >> str; if(str != "{") return false; int count = 1; // int pos = 1; while(is >> str){ if(str == "{") count++; else if(str == "}"){ count--; // pos = 0; } if(count == 0) return true; // // Ok, test if this old integrator definitions and swap them ... // if(equalNocase(str,"level") && pos == 1){ // std::ios::pos_type start = is.tellg(); // std::ios::iostate state = is.rdstate(); // std::string a,b,c; // is >> a >> b >> c; // if(is && c == "{" && b != "{" && b != "}"&& a != "{" && a != "}"){ // str = b+" { level "+a; // count++; // } // else { // is.seekg(start); // is.clear(state); // } // } v += (v.empty()?"":" ")+str; // pos++; } return false; } template static bool convert(T, RepType&){return false;} template static RepType convert(T v) {RepType tmp; convert(v,tmp);return tmp;} template static bool convertTest(T v) {RepType tmp; return convert(v,tmp);} static bool convert(RepType v, RepType& r){ r=v; return true;} static bool check(const ConstraintValueType::NoConstraints&, const RepType& ){return true;} static bool check(const ConstraintValueType::NotEmpty&, const RepType& v){return (v != "");} }; template<> struct Enum2ValueTraits{ typedef ValueTraits Type; }; /// FORCE template<> struct ValueTraits{ typedef ValueType::Force Type; typedef std::string RepType; enum { value = ValueType::FORCE}; static RepType init(){return "";} static Type empty(){return Type("");} static unsigned int size(const RepType& v){ return v.size();} static bool read(std::istream& is, RepType & v){ v = ""; std::string str; bool first = true; while(is >> str){ if(equalNocase(str,"Force")){ // TOBEFIXED !!! if(first){ first = false; continue; } else { is.seekg((-1)*static_cast(str.size()),std::ios::cur); return true; } } else if(!str.empty() && str[str.size()-1] == ','){ if(first){ first = false; continue; } else { is.seekg(-1,std::ios::cur); v += (v.empty()?"":" ")+str; v.resize(v.size()-1); return true; } } else if(str == "}"){ is.seekg(-1,std::ios::cur); return true; } if(first){ is.clear(std::ios::failbit); return false; } v += (v.empty()?"":" ")+str; } if(v.empty()) is.clear(std::ios::failbit); else is.clear(std::ios::goodbit); return !is.fail(); } template static bool convert(T, RepType&){return false;} template static RepType convert(T v) {RepType tmp; convert(v,tmp);return tmp;} template static bool convertTest(T v) {RepType tmp; return convert(v,tmp);} static bool convert(RepType v, RepType& r){ r=v; return true;} static bool check(const ConstraintValueType::NoConstraints&, const RepType& ){return true;} static bool check(const ConstraintValueType::NotEmpty&, const RepType& v){return (v != "");} }; template<> struct Enum2ValueTraits{ typedef ValueTraits Type; }; } #endif /* VALUETYPE_H */ protomol/framework/base/Vector.h0100644027616700000500000000305410237151530016333 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef VECTOR_H #define VECTOR_H #include namespace ProtoMol { template class Vector; //________________________________________________________ VectorPacker template class VectorPacker{ std::vector & myVector; VectorPacker(std::vector & v):myVector(v){} VectorPacker operator () (T elm) { if (myVector.size()>N) myVector.resize(N); myVector.push_back(elm); return VectorPacker(myVector); } public: //operator const std::vector& () const{return myVector;}; operator std::vector () {return myVector;}; friend class VectorPacker; friend class Vector; }; //________________________________________________________ Vector /** * Vector enables to initialize a STL std::vector with arbitrary number of elements@n * * static const std::vector @n * months(Vector("Jan")("Feb")("Mar")("Apr")("May")("Jun")("Jul")("Aug")("Sep")("oct")("Nov")("Dec")); */ template class Vector { std::vector myVector; public: Vector(void){} explicit Vector(T elm) { myVector.push_back(elm); } //operator const std::vector& () const {return myVector;}; operator std::vector(){return myVector;}; VectorPacker operator () (T elm){ if (myVector.size()>1) myVector.resize(1); myVector.push_back(elm); return VectorPacker(myVector); } }; } #endif protomol/framework/base/Vector3D.h0100644027616700000500000001217710237151530016530 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef VECTOR3D_H #define VECTOR3D_H #include "mathutilities.h" #include "Report.h" namespace ProtoMol { //_________________________________________________________________ Vector3D /** * Container to hold 3D vector/coordinate */ class Vector3D { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Real x,y,z; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Vector3D():x(0.0),y(0.0),z(0.0) {} Vector3D(Real X, Real Y, Real Z):x(X),y(Y),z(Z) {} Vector3D(const Vector3D &c) { x=c.x; y=c.y; z=c.z; } Vector3D& operator=(const Vector3D &c) { x=c.x; y=c.y; z=c.z; return *this; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Vector3D //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// Index access Real operator[](int index) const{ if(index < 0 || index > 2) Report::report << Report::error << "[Vector3D::operator[] const] index out of range"< 2) Report::report << Report::error << "[Vector3D::operator[] const] index out of range"<>(std::istream& OS, Vector3D & coords){ OS >> coords.x >> coords.y >> coords.z; return OS; } friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Vector3D & coords ) { OS << "("< maxbb.x) maxbb.x = (*this)[i].x; if((*this)[i].y < minbb.y) minbb.y = (*this)[i].y; else if((*this)[i].y > maxbb.y) maxbb.y = (*this)[i].y; if((*this)[i].z < minbb.z) minbb.z = (*this)[i].z; else if((*this)[i].z > maxbb.z) maxbb.z = (*this)[i].z; } } Vector3D Vector3DBlock::sum() const{ if(empty()) return Vector3D(0.0,0.0,0.0); // Loop through all the atoms and remove the motion of center of mass // using an advanced method -- Kahan's magic addition algorithm to get // rid of round-off errors: Scientific Computing pp34. Vector3D sum((*this)[0]); Vector3D tempC(0.0,0.0,0.0); for (unsigned int i=1; i v(ArraySizes((unsigned int)n+1)((unsigned int)n+1)); Array a(ArraySizes((unsigned int)m+1)((unsigned int)n+1)); vector rv1(n+1); vector w(n+1); int flag,i,its,j,jj,k,l=0,nm=0; Real anorm,c,f,g,h,s,scale,x,y,z; for(unsigned int i=0;i=1;i--) { if (i < n) { if (g) { for (j=l;j<=n;j++) v[j][i]=(a[i][j]/a[i][l])/g; for (j=l;j<=n;j++) { for (s=0.0,k=l;k<=n;k++) s += a[i][k]*v[k][j]; for (k=l;k<=n;k++) v[k][j] += s*v[k][i]; } } for (j=l;j<=n;j++) v[i][j]=v[j][i]=0.0; } v[i][i]=1.0; g=rv1[i]; l=i; } for (i=std::min(m,n);i>=1;i--) { l=i+1; g=w[i]; for (j=l;j<=n;j++) a[i][j]=0.0; if (g) { g=1.0/g; for (j=l;j<=n;j++) { for (s=0.0,k=l;k<=m;k++) s += a[k][i]*a[k][j]; f=(s/a[i][i])*g; for (k=i;k<=m;k++) a[k][j] += f*a[k][i]; } for (j=i;j<=m;j++) a[j][i] *= g; } else { for (j=i;j<=m;j++) a[j][i]=0.0; } a[i][i]+=1.0; } for (k=n;k>=1;k--) { for (its=1;its<=limit;its++) { flag=1; for (l=k;l>=1;l--) { nm=l-1; if ((double)(fabs(rv1[l])+anorm) == anorm) { flag=0; break; } if ((double)(fabs(w[nm])+anorm) == anorm) break; } if (flag) { c=0.0; s=1.0; for (i=l;i<=k;i++) { f=s*rv1[i]; rv1[i]=c*rv1[i]; if ((double)(fabs(f)+anorm) == anorm) break; g=w[i]; h=norm(f,g); w[i]=h; h=1.0/h; c=g*h; s = -f*h; for (j=1;j<=m;j++) { y=a[j][nm]; z=a[j][i]; a[j][nm]=y*c+z*s; a[j][i]=z*c-y*s; } } } z=w[k]; if (l == k) { if (z < 0.0) { w[k] = -z; for (j=1;j<=n;j++) v[j][k] = -v[j][k]; } break; } if (its == limit) return false; x=w[l]; nm=k-1; y=w[nm]; g=rv1[nm]; h=rv1[k]; f=((y-z)*(y+z)+(g-h)*(g+h))/(2.0*h*y); g=norm(f,1.0); f=((x-z)*(x+z)+h*((y/(f+sign(g,f)))-h))/x; c=s=1.0; for (j=l;j<=nm;j++) { i=j+1; g=rv1[i]; y=w[i]; h=s*g; g=c*g; z=norm(f,h); rv1[j]=z; c=f/z; s=h/z; f=x*c+g*s; g = g*c-x*s; h=y*s; y *= c; for (jj=1;jj<=n;jj++) { x=v[jj][j]; z=v[jj][i]; v[jj][j]=x*c+z*s; v[jj][i]=z*c-x*s; } z=norm(f,h); w[j]=z; if (z) { z=1.0/z; c=f*z; s=h*z; } f=c*g+s*y; x=c*y-s*g; for (jj=1;jj<=m;jj++) { y=a[jj][j]; z=a[jj][i]; a[jj][j]=y*c+z*s; a[jj][i]=z*c-y*s; } } rv1[l]=0.0; rv1[k]=f; w[k]=x; } } // Find smallest singular value j = -1; for(i=1;i<=n;i++){ if(j < 0 || w[j] > w[i]){ j = i; } } // Get solution normal.x = v[1][j]; normal.y = v[2][j]; normal.z = v[3][j]; d = v[4][j]; } // Nomralize normal and plane constant, z >= 0.0 Real nd = normal.norm(); if(nd == 0.0){ normal = Vector3D(0.0,0.0,0.0); d = 0.0; err = 0.0; return false; } if(normal.z < 0.0){ normal = -normal; d = -d; } normal = normal/nd; d = d/nd; // The error for(unsigned int i=0;i((*this)[i].dot(normal)+d); err = sqrt(err); return true; } } protomol/framework/base/Vector3DBlock.h0100644027616700000500000000754210237151530017503 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef VECTOR3DBLOCK_H #define VECTOR3DBLOCK_H #include #include "Vector3D.h" #include "Proxy.h" namespace ProtoMol { //_________________________________________________________________ Vector3DBlock /** * Container holding a vector (array) of 3D coordinates/vectors */ class Vector3DBlock: public std::vector, public Proxy{ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types & enum's //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: enum {LIMIT = 30}; public: //typedef std::vector::size_t size_t; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// Make an empty Vector3DBlock object Vector3DBlock(): std::vector(),Proxy() {} /// Make a Vector3DBlock with 'size' elements Vector3DBlock(size_t size): std::vector(size),Proxy() {} /// Make a Vector3DBlock with 'size' elements and initialize them with init. Vector3DBlock(size_t size,const Vector3D& init): std::vector(size,init),Proxy() {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Vector3DBlock //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// Clear (set to zero) each element of the vector. void zero(int n=-1) { if(n >= 0) resize(n); const unsigned int count = size(); for(unsigned int i=0;i::clear();} //virtual ~Vector3DBlock(){}; //~Vector3DBlock() { }; /// copy one Vector3DBlock to another one. Vector3DBlock &intoAssign(const Vector3DBlock &x) { // for(unsigned int i=0;i namespace ProtoMol { //_________________________________________________________________XYZ /** * Container holding coordinates/Vector3D and names */ struct XYZ{ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ XYZ(){}; XYZ(size_t n):coords(n,Vector3D(0.0,0.0,0.0)),names(n,std::string("")){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class XYZ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void clear(); size_t size() const {return coords.size();} void resize(size_t n){coords.resize(n),names.resize(n);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // XYZ container Vector3DBlock coords; std::vector names; }; //____________________________________________________________________________INLINES } #endif /* XYZ_H */ protomol/framework/base/fft.c0100644027616700000500000014144110237151530015646 0ustar pbrenne1dip/* ZFFT http://fy.chalmers.se/~tfylb/ZFFT.html*/ /* Copyright (c) 2000 by Lennart Bengtsson */ /* Permission to use, copy, modify, distribute, and sell this software and its */ /* documentation for any purpose is hereby granted without fee, provided that */ /* the above copyright notice appear in all copies and that both the copyright */ /* notice and this permission notice appear in supporting documentation. */ /* No representations are made about the suitability of this software for */ /* any purpose. It is provided "as is" without express or implied warranty. */ /* Note also that this kind of optimization violates the fortran standard */ /* so the compiled code should be tested carefully. So far ZFFT has been */ /* tested on SUN, SGI and IBM servers. */ #ifndef HAVE_FFT #ifdef __cplusplus extern "C" { #endif #include #include #include typedef struct { double re; double im; } zomplex; #ifndef min #define min(a,b) ( ((a) < (b)) ? (a) : (b) ) #endif #ifndef max #define max(a,b) ( ((a) > (b)) ? (a) : (b) ) #endif /* Table of constant values */ static int const1 = 1; static int const16384 = 16384; static int const0 = 0; static int constTrue = 1; static int constFalse = 0; int radix2f_(double *a1,double * a2, double *b1,double * b2,int * b,int *ldb, double *c2,double * d2) { /* System generated locals */ int b1_dim2, b1_offset, b2_dim2, b2_offset, i__1; /* Local variables */ int i__; double i1, i2, j2, r1, r2, s2; /* Parameter adjustments */ a2 -= 3; a1 -= 3; b2_dim2 = *ldb; b2_offset = 1 + 2 * (1 + b2_dim2 * 1); b2 -= b2_offset; b1_dim2 = *ldb; b1_offset = 1 + 2 * (1 + b1_dim2 * 1); b1 -= b1_offset; /* Function Body */ i__1 = *b; for (i__ = 1; i__ <= i__1; ++i__) { r2 = a2[(i__ << 1) + 1]; i2 = a2[(i__ << 1) + 2]; s2 = r2 * *c2 - i2 * *d2; j2 = i2 * *c2 + r2 * *d2; r1 = a1[(i__ << 1) + 1]; i1 = a1[(i__ << 1) + 2]; b1[((i__ * b1_dim2 + 1) << 1) + 1] = r1 + s2; b1[((i__ * b1_dim2 + 1) << 1) + 2] = i1 + j2; b2[((i__ * b2_dim2 + 1) << 1) + 1] = r1 - s2; b2[((i__ * b2_dim2 + 1) << 1) + 2] = i1 - j2; } return 0; } /* radix2f_ */ int radix3f_(double *a1, double *a2, double *a3, double *b1, double *b2, double *b3, int *b, int *ldb, double *c2, double *d2, double *c3, double *d3) { /* Initialized data */ double sin60 = .86602540378443864676; double half = .5; /* System generated locals */ int b1_dim2, b1_offset, b2_dim2, b2_offset, b3_dim2, b3_offset, i__1; /* Local variables */ int i__; double i1, i2, i3, j2, j3, r1, r2, r3, t1, t2, t3, t4, s2, s3; /* Parameter adjustments */ a3 -= 3; a2 -= 3; a1 -= 3; b3_dim2 = *ldb; b3_offset = 1 + 2 * (1 + b3_dim2 * 1); b3 -= b3_offset; b2_dim2 = *ldb; b2_offset = 1 + 2 * (1 + b2_dim2 * 1); b2 -= b2_offset; b1_dim2 = *ldb; b1_offset = 1 + 2 * (1 + b1_dim2 * 1); b1 -= b1_offset; /* Function Body */ i__1 = *b; for (i__ = 1; i__ <= i__1; ++i__) { r3 = a2[(i__ << 1) + 1]; i3 = a2[(i__ << 1) + 2]; s3 = r3 * *c2 - i3 * *d2; j3 = i3 * *c2 + r3 * *d2; r2 = a3[(i__ << 1) + 1]; i2 = a3[(i__ << 1) + 2]; s2 = r2 * *c3 - i2 * *d3; j2 = i2 * *c3 + r2 * *d3; t1 = s2 + s3; t2 = j2 + j3; t3 = s2 - s3; t4 = j2 - j3; r1 = a1[(i__ << 1) + 1]; i1 = a1[(i__ << 1) + 2]; b1[((i__ * b1_dim2 + 1) << 1) + 1] = r1 + t1; b1[((i__ * b1_dim2 + 1) << 1) + 2] = i1 + t2; b2[((i__ * b2_dim2 + 1) << 1) + 1] = r1 - half * t1 + sin60 * t4; b2[((i__ * b2_dim2 + 1) << 1) + 2] = i1 - half * t2 - sin60 * t3; b3[((i__ * b3_dim2 + 1) << 1) + 1] = r1 - half * t1 - sin60 * t4; b3[((i__ * b3_dim2 + 1) << 1) + 2] = i1 - half * t2 + sin60 * t3; } return 0; } /* radix3f_ */ int radix4f_(double *a1, double *a2, double *a3, double *a4, double *b1, double *b2, double *b3, double *b4, int *b, int *ldb, double *c2, double *d2, double *c3, double *d3, double *c4, double *d4) { /* System generated locals */ int b1_dim2, b1_offset, b2_dim2, b2_offset, b3_dim2, b3_offset, b4_dim2, b4_offset, i__1; /* Local variables */ int i__; double i0, i1, r0, r1, r2, r3, i2, i3, s1, j1, s2, j2, s3, j3, t1, t2, t3, t4, t5, t6, t7, t8; /* Parameter adjustments */ a4 -= 3; a3 -= 3; a2 -= 3; a1 -= 3; b4_dim2 = *ldb; b4_offset = 1 + 2 * (1 + b4_dim2 * 1); b4 -= b4_offset; b3_dim2 = *ldb; b3_offset = 1 + 2 * (1 + b3_dim2 * 1); b3 -= b3_offset; b2_dim2 = *ldb; b2_offset = 1 + 2 * (1 + b2_dim2 * 1); b2 -= b2_offset; b1_dim2 = *ldb; b1_offset = 1 + 2 * (1 + b1_dim2 * 1); b1 -= b1_offset; /* Function Body */ i__1 = *b; for (i__ = 1; i__ <= i__1; ++i__) { r1 = a2[(i__ << 1) + 1]; i1 = a2[(i__ << 1) + 2]; s1 = r1 * *c2 - i1 * *d2; j1 = i1 * *c2 + r1 * *d2; r2 = a3[(i__ << 1) + 1]; i2 = a3[(i__ << 1) + 2]; s2 = r2 * *c3 - i2 * *d3; j2 = i2 * *c3 + r2 * *d3; r3 = a4[(i__ << 1) + 1]; i3 = a4[(i__ << 1) + 2]; s3 = r3 * *c4 - i3 * *d4; j3 = i3 * *c4 + r3 * *d4; r0 = a1[(i__ << 1) + 1]; i0 = a1[(i__ << 1) + 2]; t1 = r0 + s2; t2 = s1 + s3; t3 = i0 + j2; t4 = j1 + j3; t5 = r0 - s2; t6 = j1 - j3; t7 = i0 - j2; t8 = s1 - s3; b1[((i__ * b1_dim2 + 1) << 1) + 1] = t1 + t2; b1[((i__ * b1_dim2 + 1) << 1) + 2] = t3 + t4; b2[((i__ * b2_dim2 + 1) << 1) + 1] = t5 - t6; b2[((i__ * b2_dim2 + 1) << 1) + 2] = t7 + t8; b3[((i__ * b3_dim2 + 1) << 1) + 1] = t1 - t2; b3[((i__ * b3_dim2 + 1) << 1) + 2] = t3 - t4; b4[((i__ * b4_dim2 + 1) << 1) + 1] = t5 + t6; b4[((i__ * b4_dim2 + 1) << 1) + 2] = t7 - t8; } return 0; } /* radix4f_ */ int radix5f_(double *a1,double * a2,double * a3,double * a4,double * a5,double * b1,double * b2,double * b3,double * b4,double * b5,int *b, int *ldb, double *c2,double * d2,double * c3,double * d3,double * c4,double * d4,double * c5,double * d5) { /* Initialized data */ double cos36 = .8090169943749474241; double sin36 = .58778525229247312917; double cos72 = .3090169943749474241; double sin72 = .95105651629515357212; /* System generated locals */ int b1_dim2, b1_offset, b2_dim2, b2_offset, b3_dim2, b3_offset, b4_dim2, b4_offset, b5_dim2, b5_offset, i__1; /* Local variables */ int i__; double r1, r2, r3, r4, r5, i1, i2, i3, i4, i5, s2, s3, s4, s5, j2, j3, j4, j5, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16; /* Parameter adjustments */ a5 -= 3; a4 -= 3; a3 -= 3; a2 -= 3; a1 -= 3; b5_dim2 = *ldb; b5_offset = 1 + 2 * (1 + b5_dim2 * 1); b5 -= b5_offset; b4_dim2 = *ldb; b4_offset = 1 + 2 * (1 + b4_dim2 * 1); b4 -= b4_offset; b3_dim2 = *ldb; b3_offset = 1 + 2 * (1 + b3_dim2 * 1); b3 -= b3_offset; b2_dim2 = *ldb; b2_offset = 1 + 2 * (1 + b2_dim2 * 1); b2 -= b2_offset; b1_dim2 = *ldb; b1_offset = 1 + 2 * (1 + b1_dim2 * 1); b1 -= b1_offset; /* Function Body */ i__1 = *b; for (i__ = 1; i__ <= i__1; ++i__) { r5 = a2[(i__ << 1) + 1]; i5 = a2[(i__ << 1) + 2]; s5 = r5 * *c2 - i5 * *d2; j5 = i5 * *c2 + r5 * *d2; r4 = a3[(i__ << 1) + 1]; i4 = a3[(i__ << 1) + 2]; s4 = r4 * *c3 - i4 * *d3; j4 = i4 * *c3 + r4 * *d3; r3 = a4[(i__ << 1) + 1]; i3 = a4[(i__ << 1) + 2]; s3 = r3 * *c4 - i3 * *d4; j3 = i3 * *c4 + r3 * *d4; r2 = a5[(i__ << 1) + 1]; i2 = a5[(i__ << 1) + 2]; s2 = r2 * *c5 - i2 * *d5; j2 = i2 * *c5 + r2 * *d5; t1 = s2 + s5; t2 = s3 + s4; t3 = s2 - s5; t4 = s3 - s4; t5 = j2 + j5; t6 = j3 + j4; t7 = j2 - j5; t8 = j3 - j4; r1 = a1[(i__ << 1) + 1]; i1 = a1[(i__ << 1) + 2]; t9 = t1 * cos72 - t2 * cos36; t10 = t5 * cos72 - t6 * cos36; t11 = t2 * cos72 - t1 * cos36; t12 = t6 * cos72 - t5 * cos36; t13 = t7 * sin72 + t8 * sin36; t14 = t3 * sin72 + t4 * sin36; t15 = t8 * sin72 - t7 * sin36; t16 = t4 * sin72 - t3 * sin36; b1[((i__ * b1_dim2 + 1) << 1) + 1] = r1 + t1 + t2; b1[((i__ * b1_dim2 + 1) << 1) + 2] = i1 + t5 + t6; b2[((i__ * b2_dim2 + 1) << 1) + 1] = r1 + t9 + t13; b2[((i__ * b2_dim2 + 1) << 1) + 2] = i1 + t10 - t14; b3[((i__ * b3_dim2 + 1) << 1) + 1] = r1 + t11 - t15; b3[((i__ * b3_dim2 + 1) << 1) + 2] = i1 + t12 + t16; b4[((i__ * b4_dim2 + 1) << 1) + 1] = r1 + t11 + t15; b4[((i__ * b4_dim2 + 1) << 1) + 2] = i1 + t12 - t16; b5[((i__ * b5_dim2 + 1) << 1) + 1] = r1 + t9 - t13; b5[((i__ * b5_dim2 + 1) << 1) + 2] = i1 + t10 + t14; } return 0; } /* radix5f_ */ int radix7f_(double *a1,double * a2,double * a3, double *a4,double * a5,double * a6,double * a7,double * b1,double * b2,double * b3,double * b4,double * b5, double *b6,double * b7,int * b,int * ldb) { /* Initialized data */ double c1 = .623489801858733530525; double s1 = .78183148246802980870844; double c2 = .2225209339563144042889; double s2 = .97492791218182360701813; double c3 = .9009688679024191262361; double s3 = .43388373911755812047577; /* System generated locals */ int b1_dim2, b1_offset, b2_dim2, b2_offset, b3_dim2, b3_offset, b4_dim2, b4_offset, b5_dim2, b5_offset, b6_dim2, b6_offset, b7_dim2, b7_offset, i__1; /* Local variables */ int i__; double d1, p1, p2, p3, p4, t1, t2, t3, t4, t5, t6, t7, p5, p6, p7, r1, r2, d2, r3, d3, i1, j1, i2, j2, i3, j3, t11, t21, t31, t12, t22, t32, t13, t23, t33, t14, t24, t34; /* Parameter adjustments */ a7 -= 3; a6 -= 3; a5 -= 3; a4 -= 3; a3 -= 3; a2 -= 3; a1 -= 3; b7_dim2 = *ldb; b7_offset = 1 + 2 * (1 + b7_dim2 * 1); b7 -= b7_offset; b6_dim2 = *ldb; b6_offset = 1 + 2 * (1 + b6_dim2 * 1); b6 -= b6_offset; b5_dim2 = *ldb; b5_offset = 1 + 2 * (1 + b5_dim2 * 1); b5 -= b5_offset; b4_dim2 = *ldb; b4_offset = 1 + 2 * (1 + b4_dim2 * 1); b4 -= b4_offset; b3_dim2 = *ldb; b3_offset = 1 + 2 * (1 + b3_dim2 * 1); b3 -= b3_offset; b2_dim2 = *ldb; b2_offset = 1 + 2 * (1 + b2_dim2 * 1); b2 -= b2_offset; b1_dim2 = *ldb; b1_offset = 1 + 2 * (1 + b1_dim2 * 1); b1 -= b1_offset; /* Function Body */ i__1 = *b; for (i__ = 1; i__ <= i__1; ++i__) { t1 = a2[(i__ << 1) + 1]; t2 = a7[(i__ << 1) + 1]; r1 = t1 + t2; d1 = t1 - t2; t11 = r1 * c1; t21 = r1 * c2; t31 = r1 * c3; t12 = d1 * s1; t22 = d1 * s2; t32 = d1 * s3; t3 = a3[(i__ << 1) + 1]; t4 = a6[(i__ << 1) + 1]; r2 = t3 + t4; d2 = t3 - t4; t11 -= r2 * c2; t21 += r2 * c3; t31 -= r2 * c1; t12 += d2 * s2; t22 -= d2 * s3; t32 -= d2 * s1; t5 = a4[(i__ << 1) + 1]; t6 = a5[(i__ << 1) + 1]; r3 = t5 + t6; d3 = t5 - t6; t7 = a1[(i__ << 1) + 1]; b1[((i__ * b1_dim2 + 1) << 1) + 1] = t7 + r1 + r2 + r3; t11 -= r3 * c3; t21 -= r3 * c1; t31 += r3 * c2; t12 += d3 * s3; t22 -= d3 * s1; t32 += d3 * s2; p1 = a2[(i__ << 1) + 2]; p2 = a7[(i__ << 1) + 2]; i1 = p1 + p2; j1 = p1 - p2; t13 = i1 * c1; t23 = i1 * c2; t33 = i1 * c3; t14 = j1 * s1; t24 = j1 * s2; t34 = j1 * s3; p3 = a3[(i__ << 1) + 2]; p4 = a6[(i__ << 1) + 2]; i2 = p3 + p4; j2 = p3 - p4; t13 -= i2 * c2; t23 += i2 * c3; t33 -= i2 * c1; t14 += j2 * s2; t24 -= j2 * s3; t34 -= j2 * s1; p5 = a4[(i__ << 1) + 2]; p6 = a5[(i__ << 1) + 2]; i3 = p5 + p6; j3 = p5 - p6; p7 = a1[(i__ << 1) + 2]; b1[((i__ * b1_dim2 + 1) << 1) + 2] = p7 + i1 + i2 + i3; t13 -= i3 * c3; t23 -= i3 * c1; t33 += i3 * c2; t14 += j3 * s3; t24 -= j3 * s1; t34 += j3 * s2; t11 = t7 + t11; t21 = t7 - t21; t31 = t7 - t31; t13 = p7 + t13; t23 = p7 - t23; t33 = p7 - t33; b2[((i__ * b2_dim2 + 1) << 1) + 1] = t11 - t14; b2[((i__ * b2_dim2 + 1) << 1) + 2] = t13 + t12; b7[((i__ * b7_dim2 + 1) << 1) + 1] = t11 + t14; b7[((i__ * b7_dim2 + 1) << 1) + 2] = t13 - t12; b3[((i__ * b3_dim2 + 1) << 1) + 1] = t21 - t24; b3[((i__ * b3_dim2 + 1) << 1) + 2] = t23 + t22; b6[((i__ * b6_dim2 + 1) << 1) + 1] = t21 + t24; b6[((i__ * b6_dim2 + 1) << 1) + 2] = t23 - t22; b4[((i__ * b4_dim2 + 1) << 1) + 1] = t31 - t34; b4[((i__ * b4_dim2 + 1) << 1) + 2] = t33 + t32; b5[((i__ * b5_dim2 + 1) << 1) + 1] = t31 + t34; b5[((i__ * b5_dim2 + 1) << 1) + 2] = t33 - t32; } return 0; } /* radix7f_ */ int radix2b_(double *a1, double *a2, double *b1, double *b2,int * b, int *ldb, double *c2, double *d2) { /* System generated locals */ int b1_dim2, b1_offset, b2_dim2, b2_offset, i__1; /* Local variables */ int i__; double i1, i2, j2, r1, r2, s2; /* Parameter adjustments */ a2 -= 3; a1 -= 3; b2_dim2 = *ldb; b2_offset = 1 + 2 * (1 + b2_dim2 * 1); b2 -= b2_offset; b1_dim2 = *ldb; b1_offset = 1 + 2 * (1 + b1_dim2 * 1); b1 -= b1_offset; /* Function Body */ i__1 = *b; for (i__ = 1; i__ <= i__1; ++i__) { r2 = a2[(i__ << 1) + 1]; i2 = a2[(i__ << 1) + 2]; s2 = r2 * *c2 + i2 * *d2; j2 = i2 * *c2 - r2 * *d2; r1 = a1[(i__ << 1) + 1]; i1 = a1[(i__ << 1) + 2]; b1[((i__ * b1_dim2 + 1) << 1) + 1] = r1 + s2; b1[((i__ * b1_dim2 + 1) << 1) + 2] = i1 + j2; b2[((i__ * b2_dim2 + 1) << 1) + 1] = r1 - s2; b2[((i__ * b2_dim2 + 1) << 1) + 2] = i1 - j2; } return 0; } /* radix2b_ */ int radix3b_(double *a1,double * a2, double *a3,double * b1,double * b2,double * b3, int *b, int *ldb, double *c2, double *d2, double *c3, double *d3) { /* Initialized data */ double sin60 = .86602540378443864676; double half = .5; /* System generated locals */ int b1_dim2, b1_offset, b2_dim2, b2_offset, b3_dim2, b3_offset, i__1; /* Local variables */ int i__; double i1, i2, i3, j2, j3, r1, r2, r3, t1, t2, t3, t4, s2, s3; /* Parameter adjustments */ a3 -= 3; a2 -= 3; a1 -= 3; b3_dim2 = *ldb; b3_offset = 1 + 2 * (1 + b3_dim2 * 1); b3 -= b3_offset; b2_dim2 = *ldb; b2_offset = 1 + 2 * (1 + b2_dim2 * 1); b2 -= b2_offset; b1_dim2 = *ldb; b1_offset = 1 + 2 * (1 + b1_dim2 * 1); b1 -= b1_offset; /* Function Body */ i__1 = *b; for (i__ = 1; i__ <= i__1; ++i__) { r2 = a2[(i__ << 1) + 1]; i2 = a2[(i__ << 1) + 2]; s2 = r2 * *c2 + i2 * *d2; j2 = i2 * *c2 - r2 * *d2; r3 = a3[(i__ << 1) + 1]; i3 = a3[(i__ << 1) + 2]; s3 = r3 * *c3 + i3 * *d3; j3 = i3 * *c3 - r3 * *d3; t1 = s2 + s3; t2 = j2 + j3; t3 = s2 - s3; t4 = j2 - j3; r1 = a1[(i__ << 1) + 1]; i1 = a1[(i__ << 1) + 2]; b1[((i__ * b1_dim2 + 1) << 1) + 1] = r1 + t1; b1[((i__ * b1_dim2 + 1) << 1) + 2] = i1 + t2; b2[((i__ * b2_dim2 + 1) << 1) + 1] = r1 - half * t1 + sin60 * t4; b2[((i__ * b2_dim2 + 1) << 1) + 2] = i1 - half * t2 - sin60 * t3; b3[((i__ * b3_dim2 + 1) << 1) + 1] = r1 - half * t1 - sin60 * t4; b3[((i__ * b3_dim2 + 1) << 1) + 2] = i1 - half * t2 + sin60 * t3; } return 0; } /* radix3b_ */ int radix4b_(double *a1, double *a2, double *a3, double *a4, double *b1, double *b2, double *b3, double *b4, int *b, int *ldb, double *c2, double *d2, double *c3, double *d3, double *c4, double *d4) { /* System generated locals */ int b1_dim2, b1_offset, b2_dim2, b2_offset, b3_dim2, b3_offset, b4_dim2, b4_offset, i__1; /* Local variables */ int i__; double i0, i1, r0, r1, r2, r3, i2, i3, s1, j1, s2, j2, s3, j3, t1, t2, t3, t4, t5, t6, t7, t8; /* Parameter adjustments */ a4 -= 3; a3 -= 3; a2 -= 3; a1 -= 3; b4_dim2 = *ldb; b4_offset = 1 + 2 * (1 + b4_dim2 * 1); b4 -= b4_offset; b3_dim2 = *ldb; b3_offset = 1 + 2 * (1 + b3_dim2 * 1); b3 -= b3_offset; b2_dim2 = *ldb; b2_offset = 1 + 2 * (1 + b2_dim2 * 1); b2 -= b2_offset; b1_dim2 = *ldb; b1_offset = 1 + 2 * (1 + b1_dim2 * 1); b1 -= b1_offset; /* Function Body */ i__1 = *b; for (i__ = 1; i__ <= i__1; ++i__) { r3 = a2[(i__ << 1) + 1]; i3 = a2[(i__ << 1) + 2]; s3 = r3 * *c2 + i3 * *d2; j3 = i3 * *c2 - r3 * *d2; r2 = a3[(i__ << 1) + 1]; i2 = a3[(i__ << 1) + 2]; s2 = r2 * *c3 + i2 * *d3; j2 = i2 * *c3 - r2 * *d3; r1 = a4[(i__ << 1) + 1]; i1 = a4[(i__ << 1) + 2]; s1 = r1 * *c4 + i1 * *d4; j1 = i1 * *c4 - r1 * *d4; r0 = a1[(i__ << 1) + 1]; i0 = a1[(i__ << 1) + 2]; t1 = r0 + s2; t2 = s1 + s3; t3 = i0 + j2; t4 = j1 + j3; t5 = r0 - s2; t6 = j1 - j3; t7 = i0 - j2; t8 = s1 - s3; b1[((i__ * b1_dim2 + 1) << 1) + 1] = t1 + t2; b1[((i__ * b1_dim2 + 1) << 1) + 2] = t3 + t4; b2[((i__ * b2_dim2 + 1) << 1) + 1] = t5 - t6; b2[((i__ * b2_dim2 + 1) << 1) + 2] = t7 + t8; b3[((i__ * b3_dim2 + 1) << 1) + 1] = t1 - t2; b3[((i__ * b3_dim2 + 1) << 1) + 2] = t3 - t4; b4[((i__ * b4_dim2 + 1) << 1) + 1] = t5 + t6; b4[((i__ * b4_dim2 + 1) << 1) + 2] = t7 - t8; } return 0; } /* radix4b_ */ int radix5b_(double *a1,double * a2,double * a3,double * a4,double * a5,double * b1,double * b2,double * b3,double * b4,double * b5,int * b,int *ldb, double *c2,double * d2,double * c3,double * d3,double * c4,double * d4, double *c5, double *d5) { /* Initialized data */ double cos36 = .8090169943749474241; double sin36 = .58778525229247312917; double cos72 = .3090169943749474241; double sin72 = .95105651629515357212; /* System generated locals */ int b1_dim2, b1_offset, b2_dim2, b2_offset, b3_dim2, b3_offset, b4_dim2, b4_offset, b5_dim2, b5_offset, i__1; /* Local variables */ int i__; double r1, r2, r3, r4, r5, i1, i2, i3, i4, i5, s2, s3, s4, s5, j2, j3, j4, j5, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16; /* Parameter adjustments */ a5 -= 3; a4 -= 3; a3 -= 3; a2 -= 3; a1 -= 3; b5_dim2 = *ldb; b5_offset = 1 + 2 * (1 + b5_dim2 * 1); b5 -= b5_offset; b4_dim2 = *ldb; b4_offset = 1 + 2 * (1 + b4_dim2 * 1); b4 -= b4_offset; b3_dim2 = *ldb; b3_offset = 1 + 2 * (1 + b3_dim2 * 1); b3 -= b3_offset; b2_dim2 = *ldb; b2_offset = 1 + 2 * (1 + b2_dim2 * 1); b2 -= b2_offset; b1_dim2 = *ldb; b1_offset = 1 + 2 * (1 + b1_dim2 * 1); b1 -= b1_offset; /* Function Body */ i__1 = *b; for (i__ = 1; i__ <= i__1; ++i__) { r2 = a2[(i__ << 1) + 1]; i2 = a2[(i__ << 1) + 2]; s2 = r2 * *c2 + i2 * *d2; j2 = i2 * *c2 - r2 * *d2; r3 = a3[(i__ << 1) + 1]; i3 = a3[(i__ << 1) + 2]; s3 = r3 * *c3 + i3 * *d3; j3 = i3 * *c3 - r3 * *d3; r4 = a4[(i__ << 1) + 1]; i4 = a4[(i__ << 1) + 2]; s4 = r4 * *c4 + i4 * *d4; j4 = i4 * *c4 - r4 * *d4; r5 = a5[(i__ << 1) + 1]; i5 = a5[(i__ << 1) + 2]; s5 = r5 * *c5 + i5 * *d5; j5 = i5 * *c5 - r5 * *d5; t1 = s2 + s5; t2 = s3 + s4; t3 = s2 - s5; t4 = s3 - s4; t5 = j2 + j5; t6 = j3 + j4; t7 = j2 - j5; t8 = j3 - j4; r1 = a1[(i__ << 1) + 1]; i1 = a1[(i__ << 1) + 2]; t9 = t1 * cos72 - t2 * cos36; t10 = t5 * cos72 - t6 * cos36; t11 = t2 * cos72 - t1 * cos36; t12 = t6 * cos72 - t5 * cos36; t13 = t7 * sin72 + t8 * sin36; t14 = t3 * sin72 + t4 * sin36; t15 = t8 * sin72 - t7 * sin36; t16 = t4 * sin72 - t3 * sin36; b1[((i__ * b1_dim2 + 1) << 1) + 1] = r1 + t1 + t2; b1[((i__ * b1_dim2 + 1) << 1) + 2] = i1 + t5 + t6; b2[((i__ * b2_dim2 + 1) << 1) + 1] = r1 + t9 + t13; b2[((i__ * b2_dim2 + 1) << 1) + 2] = i1 + t10 - t14; b3[((i__ * b3_dim2 + 1) << 1) + 1] = r1 + t11 - t15; b3[((i__ * b3_dim2 + 1) << 1) + 2] = i1 + t12 + t16; b4[((i__ * b4_dim2 + 1) << 1) + 1] = r1 + t11 + t15; b4[((i__ * b4_dim2 + 1) << 1) + 2] = i1 + t12 - t16; b5[((i__ * b5_dim2 + 1) << 1) + 1] = r1 + t9 - t13; b5[((i__ * b5_dim2 + 1) << 1) + 2] = i1 + t10 + t14; } return 0; } /* radix5b_ */ int radix7b_(double *a1, double *a2,double * a3,double * a4,double * a5,double * a6,double * a7,double * b1,double * b2,double * b3,double * b4,double * b5, double *b6, double *b7, int *b, int *ldb) { /* Initialized data */ double c1 = .623489801858733530525; double s1 = .78183148246802980870844; double c2 = .2225209339563144042889; double s2 = .97492791218182360701813; double c3 = .9009688679024191262361; double s3 = .43388373911755812047577; /* System generated locals */ int b1_dim2, b1_offset, b2_dim2, b2_offset, b3_dim2, b3_offset, b4_dim2, b4_offset, b5_dim2, b5_offset, b6_dim2, b6_offset, b7_dim2, b7_offset, i__1; /* Local variables */ int i__; double d1, p1, p2, p3, p4, t1, t2, t3, t4, t5, t6, t7, p5, p6, p7, r1, r2, d2, r3, d3, i1, j1, i2, j2, i3, j3, t11, t21, t31, t12, t22, t32, t13, t23, t33, t14, t24, t34; /* Parameter adjustments */ a7 -= 3; a6 -= 3; a5 -= 3; a4 -= 3; a3 -= 3; a2 -= 3; a1 -= 3; b7_dim2 = *ldb; b7_offset = 1 + 2 * (1 + b7_dim2 * 1); b7 -= b7_offset; b6_dim2 = *ldb; b6_offset = 1 + 2 * (1 + b6_dim2 * 1); b6 -= b6_offset; b5_dim2 = *ldb; b5_offset = 1 + 2 * (1 + b5_dim2 * 1); b5 -= b5_offset; b4_dim2 = *ldb; b4_offset = 1 + 2 * (1 + b4_dim2 * 1); b4 -= b4_offset; b3_dim2 = *ldb; b3_offset = 1 + 2 * (1 + b3_dim2 * 1); b3 -= b3_offset; b2_dim2 = *ldb; b2_offset = 1 + 2 * (1 + b2_dim2 * 1); b2 -= b2_offset; b1_dim2 = *ldb; b1_offset = 1 + 2 * (1 + b1_dim2 * 1); b1 -= b1_offset; /* Function Body */ i__1 = *b; for (i__ = 1; i__ <= i__1; ++i__) { t1 = a7[(i__ << 1) + 1]; t2 = a2[(i__ << 1) + 1]; r1 = t1 + t2; d1 = t1 - t2; t11 = r1 * c1; t21 = r1 * c2; t31 = r1 * c3; t12 = d1 * s1; t22 = d1 * s2; t32 = d1 * s3; t3 = a6[(i__ << 1) + 1]; t4 = a3[(i__ << 1) + 1]; r2 = t3 + t4; d2 = t3 - t4; t11 -= r2 * c2; t21 += r2 * c3; t31 -= r2 * c1; t12 += d2 * s2; t22 -= d2 * s3; t32 -= d2 * s1; t5 = a5[(i__ << 1) + 1]; t6 = a4[(i__ << 1) + 1]; r3 = t5 + t6; d3 = t5 - t6; t7 = a1[(i__ << 1) + 1]; b1[((i__ * b1_dim2 + 1) << 1) + 1] = t7 + r1 + r2 + r3; t11 -= r3 * c3; t21 -= r3 * c1; t31 += r3 * c2; t12 += d3 * s3; t22 -= d3 * s1; t32 += d3 * s2; p1 = a7[(i__ << 1) + 2]; p2 = a2[(i__ << 1) + 2]; i1 = p1 + p2; j1 = p1 - p2; t13 = i1 * c1; t23 = i1 * c2; t33 = i1 * c3; t14 = j1 * s1; t24 = j1 * s2; t34 = j1 * s3; p3 = a6[(i__ << 1) + 2]; p4 = a3[(i__ << 1) + 2]; i2 = p3 + p4; j2 = p3 - p4; t13 -= i2 * c2; t23 += i2 * c3; t33 -= i2 * c1; t14 += j2 * s2; t24 -= j2 * s3; t34 -= j2 * s1; p5 = a5[(i__ << 1) + 2]; p6 = a4[(i__ << 1) + 2]; i3 = p5 + p6; j3 = p5 - p6; p7 = a1[(i__ << 1) + 2]; b1[((i__ * b1_dim2 + 1) << 1) + 2] = p7 + i1 + i2 + i3; t13 -= i3 * c3; t23 -= i3 * c1; t33 += i3 * c2; t14 += j3 * s3; t24 -= j3 * s1; t34 += j3 * s2; t11 = t7 + t11; t21 = t7 - t21; t31 = t7 - t31; t13 = p7 + t13; t23 = p7 - t23; t33 = p7 - t33; b2[((i__ * b2_dim2 + 1) << 1) + 1] = t11 - t14; b2[((i__ * b2_dim2 + 1) << 1) + 2] = t13 + t12; b7[((i__ * b7_dim2 + 1) << 1) + 1] = t11 + t14; b7[((i__ * b7_dim2 + 1) << 1) + 2] = t13 - t12; b3[((i__ * b3_dim2 + 1) << 1) + 1] = t21 - t24; b3[((i__ * b3_dim2 + 1) << 1) + 2] = t23 + t22; b6[((i__ * b6_dim2 + 1) << 1) + 1] = t21 + t24; b6[((i__ * b6_dim2 + 1) << 1) + 2] = t23 - t22; b4[((i__ * b4_dim2 + 1) << 1) + 1] = t31 - t34; b4[((i__ * b4_dim2 + 1) << 1) + 2] = t33 + t32; b5[((i__ * b5_dim2 + 1) << 1) + 1] = t31 + t34; b5[((i__ * b5_dim2 + 1) << 1) + 2] = t33 - t32; } return 0; } /* radix7b_ */ int gcd_(int* n1,int* n2) { /* System generated locals */ int ret_val; /* Local variables */ int i__, j, n; i__ = *n1; j = *n2; L10: n = min(i__,j); ret_val = max(i__,j); if (n == 0) { return ret_val; } i__ = n; j = ret_val - n; goto L10; } /* gcd_ */ void fftfact_(int *n,int *nf,int *f) { /* Local variables */ int i__, n7; /* Parameter adjustments */ --f; /* Function Body */ i__ = *n; *nf = 0; n7 = 0; L10: if (i__ == 1) { if (n7 > 1) { printf("Only one factor of 7 allowed in fft dimension.\n"); exit(-1); } return; } if (i__ % 7 == 0) { ++(*nf); f[*nf] = 7; i__ /= 7; ++n7; goto L10; } if (i__ % 5 == 0) { ++(*nf); f[*nf] = 5; i__ /= 5; goto L10; } if (i__ % 4 == 0) { ++(*nf); f[*nf] = 4; i__ /= 4; goto L10; } if (i__ % 3 == 0) { ++(*nf); f[*nf] = 3; i__ /= 3; goto L10; } if (i__ % 2 == 0) { ++(*nf); f[*nf] = 2; i__ /= 2; goto L10; } printf("Illegal fft size %i\n",(*n)); exit(-1); } /* fftfact_ */ void fftcoeff_(int *n,zomplex * coeff) { /* System generated locals */ int i__1, i__2; double d__1, d__2; zomplex z__1; /* Local variables */ int i__; double angle; /* Parameter adjustments */ --coeff; /* Function Body */ i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { angle = (double) (i__ - 1) / (double) (*n) * 2. * 3.141592653589793238462643; i__2 = i__; d__1 = cos(angle); d__2 = sin(angle); z__1.re = d__1, z__1.im = d__2; coeff[i__2].re = z__1.re, coeff[i__2].im = z__1.im; /* L10: */ } } /* fftcoeff_ */ void zfftcopyin_(int *n,int * b,int * bdim,zomplex * a,int * inc ,int * lda,int * rindex,zomplex * w,int * lpref) { /* System generated locals */ int w_dim1, w_offset, i__1, i__2, i__3, i__4; /* Local variables */ int i__, j, ia; /* if(lpref){ */ /* if(*lda <= *inc) */ /* prefetch(a,lda,inc,b,n); */ /* else */ /* prefetch(a,inc,lda,n,b); */ /* } */ /* Copy data */ /* Parameter adjustments */ --rindex; w_dim1 = *bdim; w_offset = 1 + w_dim1 * 1; w -= w_offset; --a; /* Function Body */ i__1 = *n; for (j = 1; j <= i__1; ++j) { ia = rindex[j]; i__2 = *b; for (i__ = 1; i__ <= i__2; ++i__) { i__3 = i__ + j * w_dim1; i__4 = ia; w[i__3].re = a[i__4].re, w[i__3].im = a[i__4].im; ia += *lda; } } } /* zfftcopyin_ */ int zfftrev_(int *n, int *inc, int *nf, int *f, int * nmax , int *rindex,int * ipadok) { int imax[10], irev, i__, s, fi, ii[10], stride[10]; /* OK up to 100000 elements */ /* Parameter adjustments */ --f; --rindex; /* Function Body */ s = 1; for (fi = *nf; fi >= 1; --fi) { ii[fi - 1] = 1; stride[fi - 1] = s; s *= f[fi]; imax[fi - 1] = s; } i__ = 1; irev = 1; L20: rindex[i__] = (irev - 1) * *inc + 1; if (i__ == *n) { goto L100; } ++i__; fi = 1; L10: irev += stride[fi - 1]; ii[fi - 1] += stride[fi - 1]; if (ii[fi - 1] > imax[fi - 1]) { ii[fi - 1] = 1; irev -= imax[fi - 1]; ++fi; goto L10; } goto L20; L100: if (*n * *inc / f[*nf] % 1024 == 0) { *ipadok = 0; } else { *ipadok = 1; } return 0; } /* zfftrev_ */ /* Row (inc=1) transform code on bitreversed vectors */ /* n length of transform (sub) vector */ /* b # of transforms in this block */ /* bdim # of rows in w, b.le.bdim */ /* w bdim*n matrix containing data elements */ /* nf # of factors in n */ /* f vector of factors */ /* coeff exp[2 pi i k/n], k=0..n-1] */ /* a pointer to output vector */ /* inc from caller, stride within transform */ /* lda from caller, stride between transforms measured in elements */ /* ipadok if zero, don't copy data back to a here because doing so would */ /* trash the L1 cache */ /* nrem product of remaining factors (n unless blocking is used) */ /* irow row #, max(irow)*nrem = total length */ int zfftm1rowf_(int *n, int *b, int *bdim,zomplex * w, int *nf, int *f, double *coeff, zomplex *a, int *inc, int *lda, int *ipadok, int *nprev, int *irow, int *nrem) { /* System generated locals */ int i__1, i__2, i__3, i__4; /* Local variables */ int aind, ntot, i__, j, p, index, ff, ic, nt, ninner, stride; int astride, bstride; /* Parameter adjustments */ --coeff; --w; --f; --a; /* Function Body */ stride = *bdim; ninner = 1; bstride = *bdim; ntot = *n * *bdim; nt = *n; i__1 = *nf - *ipadok; for (p = 1; p <= i__1; ++p) { ff = f[p]; bstride *= ff; nt /= ff; i__2 = ntot; i__3 = bstride; for (i__ = 1; i__3 < 0 ? i__ >= i__2 : i__ <= i__2; i__ += i__3) { index = i__; ic = (*irow - 1) * nt * *nrem; i__4 = ninner; for (j = 1; j <= i__4; ++j) { if (ff == 2) { radix2f_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index]), (double*)(&w[index + stride]), b, &const1, &coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2]); } else if (ff == 3) { radix3f_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), b, &const1, &coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], &coeff[((ic + ic) << 1) + 1], &coeff[ic * 4 + 2]); } else if (ff == 4) { radix4f_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), b, &const1, &coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], &coeff[ic * 4 + 1], &coeff[ic * 4 + 2], &coeff[ic * 6 + 1], &coeff[ic * 6 + 2]); } else if (ff == 5) { radix5f_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), (double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), b, &const1, &coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], &coeff[ic * 4 + 1], &coeff[ic * 4 + 2], &coeff[ic * 6 + 1], &coeff[ic * 6 + 2], &coeff[(ic << 3) + 1], &coeff[(ic << 3) + 2]); } else if (ff == 7) { radix7f_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), (double*)(&w[index + stride * 5]), (double*)(&w[index + stride * 6]), (double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), (double*)(&w[index + stride * 5]), (double*)(&w[index + stride * 6]), b, &const1); } index += *bdim; ic += nt * (*nprev * *nrem); } } stride *= ff; ninner *= ff; /* L10: */ } if (*ipadok == 0) { return 0; } ff = f[p]; astride = *inc * ninner; index = 1; aind = 1; ic = (*irow - 1) * *nrem; i__1 = ninner; for (j = 1; j <= i__1; ++j) { if (ff == 2) { radix2f_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&a[aind]), (double*)(&a[aind + astride]), b, lda, &coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2]); } else if (ff == 3) { radix3f_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&a[aind]), (double*)(&a[aind + astride]), (double*)(&a[aind + (astride << 1)]),b, lda, &coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], & coeff[ic * 4 + 1], &coeff[ic * 4 + 2]); } else if (ff == 4) { radix4f_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&a[aind]), (double*)(&a[aind + astride]), (double*)(&a[aind + (astride << 1)]),(double*)(&a[aind + astride * 3]), b, lda, & coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], &coeff[ic * 4 + 1], &coeff[ic * 4 + 2], &coeff[ic * 6 + 1], &coeff[ic * 6 + 2]); } else if (ff == 5) { radix5f_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), (double*)(&a[aind]), (double*)(&a[aind + astride]), (double*)(&a[aind + (astride << 1)]),(double*)(&a[aind + astride * 3]), (double*)(&a[aind + (astride << 2)]), b, lda, & coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], &coeff[ic * 4 + 1], &coeff[ic * 4 + 2], &coeff[ic * 6 + 1], &coeff[ic * 6 + 2], &coeff[(ic << 3) + 1], &coeff[(ic << 3) + 2]); } else if (ff == 7) { radix7f_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), (double*)(&w[index + stride * 5]), (double*)(&w[index + stride * 6]), (double*)(&a[aind]), (double*)(&a[aind + astride]), (double*)(&a[aind + (astride << 1)]),(double*)(&a[aind + astride * 3]), (double*)(&a[aind + (astride << 2)]), (double*)(&a[aind + astride * 5]), (double*)(&a[aind + astride * 6]), b, lda); } index += *bdim; ic += *nrem; aind += *inc; } return 0; } /* zfftm1rowf_ */ int zfftm1rowb_(int *n, int *b, int *bdim,zomplex *w, int *nf, int *f, double *coeff, zomplex *a, int *inc, int *lda, int *ipadok, int *nprev, int *irow, int *nrem) { /* System generated locals */ int i__1, i__2, i__3, i__4; /* Local variables */ int aind, ntot, i__, j, p, index, ff, ic, nt, ninner, stride; int astride, bstride; /* Parameter adjustments */ --coeff; --w; --f; --a; /* Function Body */ stride = *bdim; ninner = 1; bstride = *bdim; ntot = *n * *bdim; nt = *n; i__1 = *nf - *ipadok; for (p = 1; p <= i__1; ++p) { ff = f[p]; bstride *= ff; nt /= ff; i__2 = ntot; i__3 = bstride; for (i__ = 1; i__3 < 0 ? i__ >= i__2 : i__ <= i__2; i__ += i__3) { index = i__; ic = (*irow - 1) * nt * *nrem; i__4 = ninner; for (j = 1; j <= i__4; ++j) { if (ff == 2) { radix2b_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index]), (double*)(&w[index + stride]), b, &const1, &coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2]); } else if (ff == 3) { radix3b_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), b, &const1, &coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], &coeff[ic * 4 + 1], &coeff[ic * 4 + 2]); } else if (ff == 4) { radix4b_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), b, &const1, &coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], &coeff[ic * 4 + 1], &coeff[ic * 4 + 2], &coeff[ic * 6 + 1], &coeff[ic * 6 + 2]); } else if (ff == 5) { radix5b_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), (double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), b, &const1, &coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], &coeff[ic * 4 + 1], &coeff[ic * 4 + 2], &coeff[ic * 6 + 1], &coeff[ic * 6 + 2], &coeff[(ic << 3) + 1], &coeff[(ic << 3) + 2]); } else if (ff == 7) { radix7b_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), (double*)(&w[index + stride * 5]), (double*)(&w[index + stride * 6]), (double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), (double*)(&w[index + stride * 5]), (double*)(&w[index + stride * 6]), b, &const1); } index += *bdim; ic += nt * (*nprev * *nrem); } } stride *= ff; ninner *= ff; /* L10: */ } if (*ipadok == 0) { return 0; } ff = f[p]; astride = *inc * ninner; index = 1; aind = 1; ic = (*irow - 1) * *nrem; i__1 = ninner; for (j = 1; j <= i__1; ++j) { if (ff == 2) { radix2b_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&a[aind]), (double*)(&a[aind + astride]), b, lda, &coeff[(ic << 1) + 1], &coeff[(ic << 1)+ 2]); } else if (ff == 3) { radix3b_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&a[aind]), (double*)(&a[aind + astride]), (double*)(&a[aind + (astride << 1)]), b, lda, &coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], & coeff[ic * 4 + 1], &coeff[ic * 4 + 2]); } else if (ff == 4) { radix4b_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&a[aind]), (double*)(&a[aind + astride]), (double*)(&a[aind + (astride << 1)]),(double*)(&a[aind + astride * 3]), b, lda, & coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], &coeff[ic * 4 + 1], &coeff[ic * 4 + 2], &coeff[ic * 6 + 1], &coeff[ic * 6 + 2]); } else if (ff == 5) { radix5b_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), (double*)(&a[aind]), (double*)(&a[aind + astride]), (double*)(&a[aind + (astride << 1)]),(double*)(&a[aind + astride * 3]), (double*)(&a[aind + (astride << 2)]), b, lda, & coeff[(ic << 1) + 1], &coeff[(ic << 1) + 2], &coeff[ic * 4 + 1], &coeff[ic * 4 + 2], &coeff[ic * 6 + 1], &coeff[ic * 6 + 2], &coeff[(ic << 3) + 1], &coeff[(ic << 3) + 2]); } else if (ff == 7) { radix7b_((double*)(&w[index]), (double*)(&w[index + stride]), (double*)(&w[index + (stride << 1)]), (double*)(&w[index + stride * 3]), (double*)(&w[index + (stride << 2)]), (double*)(&w[index + stride * 5]), (double*)(&w[index + stride * 6]), (double*)(&a[aind]), (double*)(&a[aind + astride]), (double*)(&a[aind + (astride << 1)]),(double*)(&a[aind + astride * 3]), (double*)(&a[aind + (astride << 2)]), (double*)(&a[aind + astride * 5]), (double*)(&a[aind + astride * 6]), b, lda); } index += *bdim; ic += *nrem; aind += *inc; } return 0; } /* zfftm1rowb_ */ /* Multiple fft routine for large vectors (length>=128) */ /* Uses both L2 and L1 cache blocking. */ /* The maximum supported transform length is 8192 */ int zfftm1big_(int *sign,int * n,int * p,zomplex * a,int * inc,int * lda,int * lpref,int * nf,int * f,zomplex *coeff,int *rindex) { /* System generated locals */ int a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6, i__7; /* Local variables */ int bpad, bincache; zomplex wbig[65536]; int b, i__, j, k, m, iwpad, b1, n1, n2, w1, ia, if__, iw; int nf1; int pad, iiw; /* Max length of col transform (size of L1 cache) */ /* Work area size (size of L2 cache) */ /* Parameter adjustments */ --coeff; a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --f; --rindex; /* Function Body */ n1 = 1; n2 = *n; if__ = 1; L10: if (n1 < n2) { n1 *= f[if__]; n2 /= f[if__]; ++if__; goto L10; } nf1 = if__ - 1; /* Determine the # of transforms in each block, b1. b1 is bounded from above */ /* by the max work area size (the size of the L2 cache) and from below by the */ /* desire to make efficient use of loop unrolling/pipelining. We want the work */ /* matrix and a piece of the input matrix to reside in L2 cache at the same */ /* time, so that we can do the copy back operation without additional memory */ /* operations. Therefore we try to limit the work area size to half of the */ /* L2 cache size. */ b1 = 1024 / n1; L30: /* The work area contains n2 columns of n1*b1+bpad*b1+pad elements each. */ /* The padding is chosen so that n1+bpad and 8192/16/b1 are relatively */ /* prime (8192 is the page size.) */ bincache = 512 / b1; bpad = 0; L20: i__1 = n1 + bpad; if (gcd_(&i__1, &bincache) > 1) { ++bpad; goto L20; } /* If 8192/16/b1 is not an int, we have to adjust with some extra padding pad */ /* Because the columns are roughly 2 pages long, there is a "2" below. */ pad = (512 - b1 * bincache) << 1; w1 = (n1 + bpad) * b1 + pad; if (w1 * n2 > 32768) { /* If the work area turned out to be too large, first reduce the block size */ if (b1 > 8) { --b1; goto L30; } /* If the work area is still too large, give up. */ /* Transform lenghts up to 8192 are safe with the current cache parameters. */ if (w1 * n2 > 65536) { printf("Large FFT work area too small.\n"); exit(-1); } } /* Loop over fft blocks */ i__1 = *p; i__2 = b1; for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) { /* Computing MIN */ i__3 = b1, i__4 = *p - i__ + 1; b = min(i__3,i__4); /* Loop over columns of the work matrix */ iw = 1; iwpad = 1; i__3 = n2; for (j = 1; j <= i__3; ++j) { /* Fill column with data */ zfftcopyin_(&n1, &b, &b1, &a[i__ * a_dim1 + 1], inc, lda, &rindex[iw], &wbig[iwpad - 1], lpref); /* Do a block of column transforms */ if (*sign >= 1) { zfftm1rowf_(&n1, &b, &b1, &wbig[iwpad - 1], &nf1, &f[1], (double*)(&coeff[1]), &a[a_offset], &const0, &const0, &const0, &const1, & const1, &n2); } else { zfftm1rowb_(&n1, &b, &b1, &wbig[iwpad - 1], &nf1, &f[1], (double*)(&coeff[1]), &a[a_offset], &const0, &const0, &const0, &const1, & const1, &n2); } iw += n1; iwpad += w1; } /* Loop over block rows of the work matrix */ iw = 1; i__3 = n1; for (j = 1; j <= i__3; ++j) { /* Do a block of row transforms */ if (*sign >= 1) { i__4 = *nf - nf1; zfftm1rowf_(&n2, &b, &w1, &wbig[iw - 1], &i__4, &f[nf1 + 1], (double*)(&coeff[1]), &a[a_offset], &const0, &const0, &const0, &n1, &j, &const1); } else { i__4 = *nf - nf1; zfftm1rowb_(&n2, &b, &w1, &wbig[iw - 1], &i__4, &f[nf1 + 1], (double*)(&coeff[1]), &a[a_offset], &const0, &const0, &const0, &n1, &j, &const1); } iw += b1; } /* Copy back data */ if (*lda <= *inc) { if (*lda == 1) { ia = 1; iiw = 1; i__3 = n2; for (j = 1; j <= i__3; ++j) { iw = iiw; i__4 = n1; for (k = 1; k <= i__4; ++k) { i__5 = b; for (m = 1; m <= i__5; ++m) { /* An index checker would not like this */ i__6 = ia + m - 1 + i__ * a_dim1; i__7 = iw + m - 2; a[i__6].re = wbig[i__7].re, a[i__6].im = wbig[i__7] .im; } ia += *inc; iw += b1; } iiw += w1; } } else { ia = 1; iiw = 1; i__3 = n2; for (j = 1; j <= i__3; ++j) { iw = iiw; i__4 = n1; for (k = 1; k <= i__4; ++k) { i__5 = b; for (m = 1; m <= i__5; ++m) { i__6 = ia + (m - 1 + i__) * a_dim1; i__7 = iw + m - 2; a[i__6].re = wbig[i__7].re, a[i__6].im = wbig[i__7] .im; } ia += *inc; iw += b1; } iiw += w1; } } } else { /* lda.gt.inc case */ if (*inc == 1) { i__3 = b; for (m = 1; m <= i__3; ++m) { ia = 1; iw = m; i__4 = n2; for (j = 1; j <= i__4; ++j) { i__5 = n1; for (k = 1; k <= i__5; ++k) { i__6 = ia + k - 1 + (m - 1 + i__) * a_dim1; i__7 = iw + (k - 1) * b1 - 1; a[i__6].re = wbig[i__7].re, a[i__6].im = wbig[i__7] .im; } ia += n1; iw += w1; } } } else { i__3 = b; for (m = 1; m <= i__3; ++m) { ia = 1; iw = m; i__4 = n2; for (j = 1; j <= i__4; ++j) { i__5 = n1; for (k = 1; k <= i__5; ++k) { i__6 = ia + (k - 1) * *inc + (m - 1 + i__) * a_dim1; i__7 = iw + (k - 1) * b1 - 1; a[i__6].re = wbig[i__7].re, a[i__6].im = wbig[i__7] .im; } ia += n1 * *inc; iw += w1; } } } } /* next fft block */ } return 0; } /* zfftm1big_ */ /* copy out routine for the large inc case */ void zfftcopyout_(int *n, int *b, zomplex *a, int *inc, int *lda,zomplex *w) { /* System generated locals */ int w_dim1, w_offset, i__1, i__2, i__3, i__4; /* Local variables */ int i__, j, index, ia; /* Parameter adjustments */ w_dim1 = *b; w_offset = 1 + w_dim1 * 1; w -= w_offset; --a; /* Function Body */ ia = 1; i__1 = *n; for (j = 1; j <= i__1; ++j) { index = ia; i__2 = *b; for (i__ = 1; i__ <= i__2; ++i__) { i__3 = index; i__4 = i__ + j * w_dim1; a[i__3].re = w[i__4].re, a[i__3].im = w[i__4].im; index += *lda; } ia += *inc; } } /* zfftcopyout_ */ int zfftm1di_(int *n,zomplex * coeff) { /* Local variables */ int nf; /* Parameter adjustments */ --coeff; /* Function Body */ if (*n < 1) { printf("zfftm1di: illegal FFT dimension %i\n",(*n)); exit(-1); } coeff[1].re = 12345678., coeff[1].im = 0.; coeff[2].re = (double) (*n), coeff[2].im = 0.; fftfact_(n, &nf, (int*)(&coeff[4])); coeff[3].re = (double) nf, coeff[3].im = 0.; fftcoeff_(n, &coeff[15]); return 0; } /* zfftm1di_ */ int zfftm1d_(int *sign,int * n,int * p, zomplex* a, int *inc,int * lda, zomplex *coeff, int *lpref) { /* System generated locals */ int a_dim1, a_offset, i__1, i__2, i__3, i__4; /* Local variables */ int bdim; int b; int i__; zomplex w[1024]; int nf, ipadok; int rindex[16384]; /* Parameter adjustments */ --coeff; a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; /* Function Body */ if (coeff[1].re != 12345678. || coeff[1].im != 0.) { printf("zfftm1d: coeff not initialized.\n"); exit(-1); } if ((double) (*n) != coeff[2].re || 0. != coeff[2].im) { printf("zfftm1d: coeff initialized with wrong dimension.\n"); exit(-1); } nf = (int) coeff[3].re; zfftrev_(n, inc, &nf, (int*)(&coeff[4]), &const16384, rindex, &ipadok); if (*n <= 128) { /* Use L1 blocking only */ bdim = 1024 / *n; i__1 = *p; i__2 = bdim; for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) { /* Computing MIN */ i__3 = bdim, i__4 = *p - i__ + 1; b = min(i__3,i__4); zfftcopyin_(n, &b, &b, &a[i__ * a_dim1 + 1], inc, lda, rindex, w, lpref); if (*sign >= 1) { zfftm1rowf_(n, &b, &b, w, &nf, (int*)(&coeff[4]), (double*)(&coeff[15]), &a[i__ * a_dim1 + 1], inc, lda, &ipadok, &const1, &const1, &const1); } else { zfftm1rowb_(n, &b, &b, w, &nf, (int*)(&coeff[4]), (double*)(&coeff[15]), &a[i__ * a_dim1 + 1], inc, lda, &ipadok, &const1, &const1, &const1); } if (ipadok == 0) { zfftcopyout_(n, &b, &a[i__ * a_dim1 + 1], inc, lda, w); } } } else { /* Use both L1 and L2 blocking */ zfftm1big_(sign, n, p, &a[a_offset], inc, lda, lpref, &nf, (int*)(&coeff[4]), &coeff[15], rindex); } return 0; } /* zfftm1d_ */ /* Multidimensional transforms */ int zfft2di_(int *x, int *y,zomplex * coeff) { /* Parameter adjustments */ --coeff; /* Function Body */ zfftm1di_(x, &coeff[1]); zfftm1di_(y, &coeff[*x + 16]); return 0; } /* zfft2di_ */ int zfft2d_(int *sign, int *x, int *y, zomplex *a, int *lda, zomplex *coeff) { /* System generated locals */ int a_dim1, a_offset; int L__1; /* Local variables */ /* Parameter adjustments */ --coeff; a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; /* Function Body */ zfftm1d_(sign, y, x, &a[a_offset], lda, &const1, &coeff[*x + 16], &constTrue); L__1 = *x * *y > 32768; zfftm1d_(sign, x, y, &a[a_offset], &const1, lda, &coeff[1], &L__1); return 0; } /* zfft2d_ */ int zfft3di_(int *x, int *y, int *z__,zomplex * coeff) { /* Parameter adjustments */ --coeff; /* Function Body */ zfftm1di_(x, &coeff[1]); zfftm1di_(y, &coeff[*x + 16]); zfftm1di_(z__, &coeff[*x + *y + 31]); return 0; } /* zfft3di_ */ int zfft3d_(int *sign,int * x, int *y, int *z__,zomplex * a, int *la1, int *la2,zomplex * coeff) { /* System generated locals */ int a_dim1, a_dim2, a_offset, i__1, i__2; /* Local variables */ int k; /* Parameter adjustments */ --coeff; a_dim1 = *la1; a_dim2 = *la2; a_offset = 1 + a_dim1 * (1 + a_dim2 * 1); a -= a_offset; /* Function Body */ i__1 = *z__; for (k = 1; k <= i__1; ++k) { zfftm1d_(sign, y, x, &a[(k * a_dim2 + 1) * a_dim1 + 1], la1, &const1, & coeff[*x + 16], &constTrue); zfftm1d_(sign, x, y, &a[(k * a_dim2 + 1) * a_dim1 + 1], &const1, la1, & coeff[1], &constFalse); } i__1 = *y; for (k = 1; k <= i__1; ++k) { i__2 = *la1 * *la2; zfftm1d_(sign, z__, x, &a[(k + a_dim2) * a_dim1 + 1], &i__2, &const1, & coeff[*x + *y + 31], &constTrue); } return 0; } /* zfft3d_ */ /* SGI-ZFFT wrapper */ zomplex *zfftm1di( int m, zomplex *save) { zomplex *c = 0; int i=0; c = (zomplex*)malloc((m+15)*sizeof(zomplex)); zfftm1di_(&m,c); if(save != 0) for(i=0;i forceConstant; /// distances std::vector distance; friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Bond & p); }; //_____________________________________________________________________Angle /** This structure holds data for an angle. There is the angle number, the three * atoms involved, the force constants, the actual values of the angles, and * the Urey-Bradley constants if they exist. The ub_flag will be 1 if they * exist and 0 otherwise. */ struct Angle{ Angle(){} /// Constructor for iSGMD simulations that creates memory for all identities Angle(int a) { forceConstant.resize(a); angleval.resize(a); k_ub.resize(a); r_ub.resize(a);} /// angle number int number; /// atom 1 number std::string atom1; /// atom 2 number std::string atom2; /// atom 3 number std::string atom3; /// force constants std::vector forceConstant; /// angle value std::vector angleval; /** * Urey-Bradley flag - '1' if there are Urey-Bradley constants following * If '0', ignore the next two data members */ bool ub_flag; /// Urey-Bradley force constant std::vector k_ub; /// Urey-Bradley radius std::vector r_ub; friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Angle & p); }; //__________________________________________________________________Dihedral /** * This structure holds data for a dihedral, consisting of the number, the four * atoms involved, the multiplicity (default = 1), and the force constants, * the periodicities, and the phase shifts */ struct Dihedral{ Dihedral(){} /// Constructor for iSGMD simulations that creates memory for all identities Dihedral(int a) { multiplicity.resize(a); forceConstant.resize(a); periodicity.resize(a); phaseShift.resize(a);} /// dihedral number int number; /// atom 1 number std::string atom1; /// atom 2 number std::string atom2; /// atom 3 number std::string atom3; /// atom 4 number std::string atom4; /// multiplicity std::vector multiplicity; /// force constant std::vector< std::vector > forceConstant; /// periodicity std::vector< std::vector > periodicity; /// phase shift std::vector< std::vector > phaseShift; friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Dihedral & p); }; //__________________________________________________________________Improper /** * This structure holds data for an improper. The data held is the same as that * for a dihedral - the number, four atoms involved, the force constant, * the periodicity, and the phase shift */ struct Improper{ Improper(){} /// Constructor for iSGMD simulations that creates memory for all identities Improper(int a){ forceConstant.resize(a); periodicity.resize(a); phaseShift.resize(a);} /// improper number int number; /// atom 1 number std::string atom1; /// atom 2 number std::string atom2; /// atom 3 number std::string atom3; /// atom 4 number std::string atom4; /// force constant std::vector forceConstant; /// periodicity std::vector periodicity; /// phase shift std::vector phaseShift; friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Improper & p); }; //_________________________________________________________________ AtomType /// This class contains information common to one type of atom. struct AtomType { AtomType(){} /// constructor for iSGMD simulations that creates memory for all identities AtomType(int a, std::string b, std::string c): name(b), symbolName(c) { mass.resize(a); charge.resize(a); stageNumber.resize(a); } /// The name of this atom type. std::string name; /// The masses of this atom type. std::vector mass; /// This atomtype's charge for each of its identities. std::vector charge; /// The particular transformation stage in which this atom's identity is to be transformed std::vector stageNumber; /// The symbol untity name of this atom type. std::string symbolName; }; //_________________________________________________________________Nonbonded /// This structure holds data for an atom's nonbonded parameters struct Nonbonded{ Nonbonded(){} /// constructor for iSGMD simulations that creates memory for all identities Nonbonded(int a) { polarizability.resize(a); epsilon.resize(a); sigma.resize(a); polarizability2.resize(a); epsilon14.resize(a); sigma14.resize(a); negative.resize(a); vdw.resize(a); negative2.resize(a);} /// nonbonded number int number; /// atom number std::string atom; /// polarizability or ignore (see description of negative below), default to zero std::vector polarizability; /// well depth or number of effective electrons (see description of negative below) std::vector epsilon; /// minimum radius divided by 2 std::vector sigma; /** * flag for if the second term is negative - if so, second_term = epsilon or well-depth and * the first term is ignored, otherwise second_term = number of effective electrons * and the first term is the polarizability.@n * * default to true */ std::vector negative; /** * flag to see if there is a second set, indicating VDW parameters@n * * default to true - likely there will be epsilon 1:4 and sigma 1:4 */ std::vector vdw; /** * VDW parameter polarizability @n * * default to zero */ std::vector polarizability2; /// VDW parameter well depth or number of effective electrons (see above) std::vector epsilon14; /// VDW parameter minimum radius divided by 2 std::vector sigma14; /** * flag for a negative VDW paramenter second term (see above) @n * * default to true */ std::vector negative2; static const Real SIGMA_CHARMM19_TO_CHARMM28; static const Real SIGMA_CHARMM28_TO_CHARMM19; friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const Nonbonded & p); }; //_________________________________________________________________Nbfix typedef PAR::Nbfix Nbfix; //_________________________________________________________________Hbond typedef PAR::Hbond Hbond; //_________________________________________________________________iSGPAR //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /// Supported Charmm/XPLOR type enum CharmmTypeEnum { UNDEFINED, CHARMM28, CHARMM19 }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class iSGPAR //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void clear(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // iSGPAR container std::vector bonds; std::vector angles; std::vector dihedrals; std::vector impropers; std::vector nonbondeds; std::vector nbfixs; std::vector hbonds; }; //____________________________________________________________________________INLINES } #endif /* ISGPAR_H */ protomol/framework/base/mathutilities.cpp0100644027616700000500000002173210237151530020314 0ustar pbrenne1dip#include "mathutilities.h" #include "Timer.h" using std::vector; namespace ProtoMol { //_____________________________________________________________________ erf Real myerf(Real x){ // This function returns the error function ERF(x) with fractional // error everywhere less than 1.2*10-7. // Adapted from the book "Numerical Recipes" Real erfcc = 0.0; if (x < 9.0){ Real z=fabs(x); Real t=1.0/(1.0+0.5*z); erfcc=t*exp(-z*z-1.26551223+t*(1.00002368+t*(.37409196+t*(.09678418+t*(-.18628806+t*(.27886807+t*(-1.13520398+t*(1.48851587+t*(-.82215223+t*.17087277))))))))); if (x < 0.0) erfcc=2.0-erfcc; } return (1.0 - erfcc); } //_____________________________________________________________________ poly const Real E1 = 0.254829592; // Polynomial Constants used in const Real E2 =-0.284496736; // Evaluation of the complementary const Real E3 = 1.421413741; // Error function. const Real E4 =-1.453152027; // Approximation used is that of const Real E5 = 1.061405429; // Abramowitz & Stegun p299. const Real PP = 0.3275911; Real poly5(Real ar){ Real t = 1.0/(1.0+PP*ar); return ((t)*(E1 + (t)*(E2 + (t)*(E3 + (t)*(E4 + (t)*E5))))); } //__________________________________________________________ Radians <-> Degrees vector rtod(const vector& rad){ vector deg(rad.size()); for(unsigned int i=0;i dtor(const vector& deg){ vector rad(deg.size()); for(unsigned int i=0;i 1-Constant::EPSILON) { cosAlpha = 1.; sinAlpha = 0.; } else if (cosAlpha < -1+Constant::EPSILON) { cosAlpha = -1.; sinAlpha = 0.; } if (sinAlpha > 1-Constant::EPSILON) { cosAlpha = 0.; sinAlpha = 1.; } else if (sinAlpha < -1+Constant::EPSILON) { cosAlpha = 0.; sinAlpha = -1.; } } //_______________________________________________________________ power Real power(Real x, int n){ // Simple and fast way to compute the int-power if(n == 0) return 1.0; if(n < 0) return (1.0/power(x,-n)); Real z=1; int m=n; Real y=x; while(m>0){ if(m&1) z *=y; y*=y; m >>=1; } return z; } //_____________________________________________________________________ norm() Real norm(Real a, Real b) { Real absa=fabs(a); Real absb=fabs(b); if (absa > absb) return absa*sqrt(1.0+power<2>(absb/absa)); else return (absb == 0.0 ? 0.0 : absb*sqrt(1.0+power<2>(absa/absb))); } //_____________________________________________________________________ randomNumber() Real randomNumber(unsigned int seed) { static bool first = true; // If this is the first call, seed it #ifdef _WIN32 if (first) { srand(seed); first = false; } return(double(rand())/double(RAND_MAX)); #else if (first) { srand48((long)seed); first = false; } return(drand48()); #endif } //_____________________________________________________________________ randomGaussian() // This section generates a Gaussian random // deviate of 0.0 mean and standard deviation RFD for // each of the three spatial dimensions. // The algorithm is a "sum of uniform deviates algorithm" // which may be found in Abramowitz and Stegun, // "Handbook of Mathematical Functions", pg 952. Real randomGaussian(Real sdv, unsigned int seed){ Real rnd = 0.0; Real sdv2 = 2*sdv; for (int i = 0; i < sdv2; ++i) rnd += randomNumber(seed); rnd -= sdv; return rnd; } //_____________________________________________________________________ randomGaussianNumber() Real randomGaussianNumber(unsigned int seed) { static bool iset=false; static Real gset=0; Real fac=0,r=0,v1=0,v2=0; if (!iset) { // we do not have an extra result ready, // so (r >= 1.523e-8) ensures (abs result<6) r=2.0; while (r>=1.0 || r<1.523e-8){// make sure we are within unit circle v1 = 2.0 * randomNumber(seed) - 1.0; v2 = 2.0 * randomNumber(seed) - 1.0; r = v1*v1 + v2*v2; } fac = sqrt(-2.0 * log(r)/r); // now make the Box-Muller transformation to get two normally // distributed random numbers. Save one and return the other. gset = v1 * fac; iset = true; return v2 * fac; }else{ // use previously computed value iset = false; return gset; } } //_____________________________________________________________________ randomGaussianNumber() Real randomGaussianNumber(Real mean, Real stdev, unsigned int iseed) { //------------------------------------------------------------ // FUNCTION: gauss // // INPUTS: // mean - average value of gaussian // stdev - standard deviation // iseed - seed for the random number generator // // PURPOSE: // The gauss function generates a number from a // near-Gaussian distribution using the Box-Muller method. // // REFERENCE: // Box et al., Ann. Math. Stat., v. 29, p.610-611, 1958. //------------------------------------------------------------ // function call flag static bool flag = false; // independent random variables from the same uniform density function static Real zeta1 = 0.0; static Real zeta2 = 0.0; // random numbers Real sqg1 = 0.0; Real sqg2 = 0.0; // value of gaussian Real gaussian = 0.0; // if the function call flag is equal to one generate two // random numbers, save one and calculate the gaussian else // calculate the gaussian if (flag) { // set function call flag to zero flag = false; // generate two random numbers on the interval (0,1) sqg1 = randomNumber(iseed); sqg2 = randomNumber(iseed); // generate random variables zeta1 = sqrt(-2.0 * log(sqg1)) * cos(2 * M_PI * sqg2); zeta2 = sqrt(-2.0 * log(sqg1)) * sin(2 * M_PI * sqg2); // calculate gaussian gaussian = mean + stdev * zeta1; } else { // set function call flag to one flag = true; // calculate gaussian gaussian = mean + stdev * zeta2; } return gaussian; } //_____________________________________________________________________ getTimerSeed() int getTimerSeed(){ Real currentTime = Timer::getCurrentTime().getRealTime(); return static_cast((currentTime*10000 - floor(currentTime*10000))*100000); } //_____________________________________________________________________ splitRangeQuadratic() void splitRangeQuadratic(unsigned int p, unsigned int from, unsigned int to, vector& fromRange, vector& toRange){ fromRange.clear(); toRange.clear(); const int size = to - from; if(p > 2){ for(unsigned int i=0;i(from+(size*i)/p),static_cast(from+(size*(i+1.0))/p))); toRange.push_back(PairUInt(static_cast(from+(size*i)/p),static_cast(from+(size*(i+1.0))/p))); } for(unsigned int i=0;i(from+(size*i)/p),static_cast(from+(size*(i+1.0))/p))); toRange.push_back(PairUInt(static_cast(from+(size*j)/p),static_cast(from+(size*(j+1.0))/p))); } } } else { for(unsigned int i=0;i(from+(size*i)/p),static_cast(from+(size*(i+1.0))/p))); toRange.push_back(PairUInt(static_cast(from+(size*j)/p),static_cast(from+(size*(j+1.0))/p))); } } } } //_____________________________________________________________________ splitRangeArea() void splitRangeArea(unsigned int p, unsigned int from, unsigned int to, vector& fromRange, vector& toRange){ fromRange.clear(); toRange.clear(); const int size = to - from; int first = 0; int second = size; for(unsigned int i=0; i(size - 0.5*sqrt(power<2>(1.0+size*2.0)-(4.0*(i+1.0)*size*(size+1.0))/p)+0.5); fromRange.push_back(PairUInt(from+first,from+second)); toRange.push_back(PairUInt(from+first,to)); first = second; } } } protomol/framework/base/mathutilities.h0100644027616700000500000001622110237151530017756 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MATHUTILITIES_H #define MATHUTILITIES_H #include "pmconstants.h" #include "simpleTypes.h" #include #include #include #ifdef WIN32 #include #endif namespace ProtoMol { #ifdef WIN32 //_____________________________________________________________________ isnan() inline int isnan(Real x) { bool b1 = (x < 0.0); bool b2 = (x >=0.0); return (!(b1 || b2)); } #endif //_____________________________________________________________________ square() inline Real square(Real x) {return x*x;} //_____________________________________________________________________ power() #if defined(NO_GLOBAL_TEMPLATE_SPECIALIZATION) template struct Power { static Real power(Real x){ return square(Power<_power/2>::power(x))*Power<_power-2*(_power/2)>::power(x); } }; template<> struct Power<1> { static Real power(Real x){ return x;} }; template<> struct Power<-1> { static Real power(Real x){ return 1/x;} }; template<> struct Power<0> { static Real power(Real){ return 1;} }; template inline Real power(Real x){ return Power<_power>::power(x); } #else template inline Real power(Real x) { return square(power<_power/2>(x))*power<_power-2*(_power/2)>(x); } template<> inline Real power<0>(Real) {return 1;} template<> inline Real power<1>(Real x) {return x;} template<> inline Real power<-1>(Real x) {return 1./x;} #endif //_____________________________________________________________________ power() Real power(Real x, int n); //_____________________________________________________________________ fact() inline int fact(int n){ int a = 1; for(int i=2;i<=n;++i) a *=i; return a; } //__________________________________________________________ Radians <-> Degrees inline Real dtor(Real degree) { return degree*M_PI/180.0; } //__________________________________________________________ Radians <-> Degrees inline Real rtod(Real rad){ return rad*180.0/M_PI; } //__________________________________________________________ Radians <-> Degrees std::vector rtod(const std::vector& rad); //__________________________________________________________ Radians <-> Degrees std::vector dtor(const std::vector& deg); //_____________________________________________________________________ sincos() /** * Computes sine and cosine of angle similar to the * sincos(Real, Real*, Real*) function. Checkes if * the results are close to -1, 0, 1 and rounds * appropriately. */ void sincos(Real alpha, Real& sinAlpha, Real& cosAlpha); //_____________________________________________________________________ erf() /** * Polynomial approximation of the error function with fractional error * everywhere less than 1.2*10-7. */ Real myerf(Real x); #ifdef WIN32 inline Real erf(Real x){return myerf(x);} inline Real erfc(Real x){return (1.0-myerf(x));} #endif //_____________________________________________________________________ poly() /// Polynomial constants used in evaluation of the complementary error function Real poly5(Real ar); //_____________________________________________________________________ equal() inline bool equal(Real x, Real y){ return (fabs(x-y) < Constant::EPSILON); } //_____________________________________________________________________ equal() inline bool equal(Real x, Real y, Real epsilon){ return (fabs(x-y) < epsilon); } //_____________________________________________________________________ sign() template inline int sign(T a) { if (a < 0) return -1; else if (a > 0) return 1; else return 0; } //_____________________________________________________________________ sign() inline Real sign(Real a, Real b){ return (b >=0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a)); } //_____________________________________________________________________ norm() /// 2-norm Real norm(Real a, Real b); //_____________________________________________________________________ randomNumber() Real randomNumber(unsigned int seed=1234); //_____________________________________________________________________ randomGaussian() Real randomGaussian(Real sdv, unsigned int seed=1234); //_____________________________________________________________________ randomGaussianNumber() Real randomGaussianNumber(unsigned int seed=1234); //_____________________________________________________________________ randomGaussianNumber() /// Generates a number from a near-Gaussian distribution using the Box-Muller method Real randomGaussianNumber(Real mean, Real stdev, unsigned int seed=1234); //_____________________________________________________________________ getTimerSeed() /// Computes a seed based on the actual time int getTimerSeed(); //_____________________________________________________________________ splitRangeQuadratic() /** * Splits indices of a diagonal quadratic (sub) matrix (from,from)-(to,to) * into p(p-1)/2 quadratic sub matrices. */ void splitRangeQuadratic(unsigned int p, unsigned int from, unsigned int to, std::vector& fromRange, std::vector& toRange); //_____________________________________________________________________ splitRangeArea() /** * Splits indices of a diagonal quadratic (sub) matrix (from,from)-(to,to) into p * sub matrices of equal area */ void splitRangeArea(unsigned int p, unsigned int from, unsigned int to, std::vector& fromRange, std::vector& toRange); //_____________________________________________________________________ max() /// return the larger of the numbers a and b using std::max; //_____________________________________________________________________ max() /// return the largest of the numbers a, b, and c template inline T max(const T& a, const T& b, const T& c){ return ((a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c)); } //_____________________________________________________________________ max() /// return the largest of the numbers a, b, c, and d template inline T max(const T& a, const T& b, const T& c, const T& d) { return ((a > b) ? ((a > c) ? (a > d ? a : d) : (c > d ? c : d)) : ((b > c) ? (b > d ? b : d) : (c > d ? c : d))); } //_____________________________________________________________________ min() /// return the smallest of the numbers a and b using std::min; //_____________________________________________________________________ min() /// return the smallest of the numbers a, b, and c template inline T min(const T& a, const T& b, const T& c){ return ((a < b) ? ((a < c) ? a : c) : ((b < c) ? b : c)); } //_____________________________________________________________________ min() /// return the smallest of the numbers a, b, c, and d template inline T min(const T& a, const T& b, const T& c, const T& d) { return ((a < b) ? ((a < c) ? (a < d ? a : d) : (c < d ? c : d)) : ((b < c) ? (b < d ? b : d) : (c < d ? c : d))); } } #endif /* MATHUTILITIES_H*/ protomol/framework/base/pmconstants.cpp0100644027616700000500000000623010237151530017774 0ustar pbrenne1dip#include "pmconstants.h" #ifdef HAVE_NO_LIMITS #ifndef WIN32 #include #endif #else /* HAVE_NO_LIMITS */ #include #endif /* HAVE_NO_LIMITS */ #include "stringutilities.h" using std::string; namespace ProtoMol { namespace Constant { #ifdef HAVE_NO_LIMITS #ifdef USE_REAL_IS_DOUBLE const Real MAXREAL = MAXDOUBLE; const Real MINREAL = MINDOUBLE; #endif #ifdef USE_REAL_IS_FLOAT const Real MAXREAL = MAXFLOAT; const Real MINREAL = MINFLOAT; #endif const Real REAL_INFINITY = 2.0*MAXREAL; const Real REAL_NAN = REAL_INFINITY; const int MAX_INT = MAXINT; const int MAX_INT_2 = MAXINT/2; #else /* HAVE_NO_LIMITS */ const Real MAXREAL = std::numeric_limits::max(); const Real MINREAL = std::numeric_limits::min(); const Real REAL_INFINITY = (std::numeric_limits::has_infinity ? std::numeric_limits::infinity():2.0*MAXREAL); const Real REAL_NAN = (std::numeric_limits::has_quiet_NaN ? std::numeric_limits::quiet_NaN():REAL_INFINITY); const int MAX_INT = std::numeric_limits::max(); const int MAX_INT_2 = std::numeric_limits::max()/2; #endif /* HAVE_NO_LIMITS */ const Real EPSILON = 1.0e-14; const Real TINY = 1.0e-20; const Real TIMEFACTOR = 48.88821290839616; // TIMEUNIT is 1 / sqrt(4.184e-4) const Real INV_TIMEFACTOR = 0.02045482828087295; // 1 / TIMEFACTOR const Real PERIODIC_BOUNDARY_TOLERANCE = 3.0; const Real EPS_GOURAUD_THRESHOLD = 0.1; const Real EPS_SMOOTH_LINE_FACTOR = 0.06; const string PROTOMOL_HR ("=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+="); const string PRINTINDENT (" "); const unsigned int PRINTMAXWIDTH = 22; namespace ParseCommandLine { const string prefix("--"); } const int FASTDELTAMAX=32; const Real SQRTCOULOMBCONSTANT = 18.2226123264; const Real PRESSUREFACTOR = 69478.0593635551;// ENERGY_TO_SI/(LENGTH_TO_SI*LENGTH_TO_SI*LENGTH_TO_SI)*1e-5; // bar const Real BOLTZMANN = 0.001987191; const Real PDBVELSCALINGFACTOR = 20.45482706; namespace SI { const Real C = 299792458.0; // [m/s] const Real COULOMB_FACTOR = C*C*1e-7; // [Vm/C] const Real ELECTRON_CHARGE = 1.6021892e-19; // [C] const Real LENGTH_AA = 1e+10; // [AA] const Real AVOGADRO = 6.022045e+23; // [1/mol] const Real AMU = 1.6605655e-27; // [kg] const Real KCAL = 1.0/4184.0; // [J] const Real TIME_FS = 1e+15; // [fs] const Real BOLTZMANN = 1.380662e-23; // [J/K] } string print(){ string res; res = "MAXREAL = "+toString(MAXREAL )+"\n"+ "MINREAL = "+toString(MINREAL )+"\n"+ "REAL_INFINITY = "+toString(REAL_INFINITY)+"\n"+ "MAX_INT = "+toString(MAX_INT )+"\n"+ "MAX_INT_2 = "+toString(MAX_INT_2 )+"\n"+ "EPSILON = "+toString(EPSILON )+"\n"+ "TINY = "+toString(TINY )+"\n"; return res; } } } protomol/framework/base/pmconstants.h0100644027616700000500000000274410237151530017447 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CONSTANTS_H #define CONSTANTS_H #include "Real.h" #include namespace ProtoMol { /** * Repository namespace of constants. */ namespace Constant { extern const std::string PROTOMOL_HR; extern const std::string PRINTINDENT; extern const unsigned int PRINTMAXWIDTH; extern const int FASTDELTAMAX; extern const Real SQRTCOULOMBCONSTANT; extern const Real PRESSUREFACTOR; extern const Real BOLTZMANN; extern const Real PDBVELSCALINGFACTOR; extern const Real MAXREAL; extern const Real MINREAL; extern const Real REAL_INFINITY; extern const Real REAL_NAN; extern const int MAX_INT; extern const int MAX_INT_2; extern const Real EPSILON; extern const Real TINY; extern const Real TIMEFACTOR; extern const Real INV_TIMEFACTOR; extern const Real PERIODIC_BOUNDARY_TOLERANCE; extern const Real EPS_GOURAUD_THRESHOLD; extern const Real EPS_SMOOTH_LINE_FACTOR; namespace ParseCommandLine { extern const std::string prefix; } namespace SI { extern const Real C; extern const Real COULOMB_FACTOR; extern const Real ELECTRON_CHARGE; extern const Real LENGTH_AA; extern const Real AVOGADRO; extern const Real AMU; extern const Real KCAL; extern const Real TIME_FS; extern const Real BOLTZMANN; } /// Returns actual limits/values of the numerical constants std::string print(); } } #endif protomol/framework/base/protomol.h0100644027616700000500000000053310237151530016743 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PROTOMOL_H #define PROTOMOL_H /* * Include file for global configuration flags for ProtoMol. * * For Windows you may extend/change "protomol_config_windows.h", * "protomol_config.h" is generated by configure. */ #ifndef WIN32 #include "protomol_config.h" #else #include "protomol_config_windows.h" #endif #endif protomol/framework/base/reducedHessBond.cpp0100644027616700000500000000074510237151530020471 0ustar pbrenne1dip#include "reducedHessBond.h" namespace ProtoMol { Matrix3by3 reducedHessBond(const Vector3D& atom_i, const Vector3D& atom_j, const Real _k, const Real _r0) { Vector3D rij(atom_j - atom_i); // the relative position vectors Real a = rij.normSquared(); Real na = sqrt(a); Real tm1 = 2.0 * _k * (na - _r0) / na; Real tm2 = 2.0 * _k * _r0 / na; return (Matrix3by3(tm1,0,0,0,tm1,0,0,0,tm1)+Matrix3by3(rij,rij*tm2/a)); } } protomol/framework/base/reducedHessBond.h0100644027616700000500000000043410237151530020131 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REDUCEDHESSBOND_H #define REDUCEDHESSBOND_H #include "Vector3D.h" #include "Matrix3by3.h" namespace ProtoMol { Matrix3by3 reducedHessBond(const Vector3D& atom_i, const Vector3D& atom_j, const Real _k, const Real _r0); } #endif protomol/framework/base/simpleTypes.h0100644027616700000500000000302210237151530017402 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef SIMPLETYPES_H #define SIMPLETYPES_H #include #include namespace ProtoMol { /// Pair of std::string typedef std::pair PairString; /// Pair of int typedef std::pair PairInt; /// Pair of unsigned int typedef std::pair PairUInt; // struct PairUInt { // PairUInt():first(0),second(0){} // PairUInt(unsigned int a, unsigned int b):first(a),second(b){} // unsigned int first,second; // }; /// Pair of sorted int, where first <= second struct PairIntSorted { PairIntSorted():first(0),second(0){} PairIntSorted(unsigned int a, unsigned int b):first(std::min(a,b)),second(std::max(a,b)){} bool operator<(const PairIntSorted& p) const{ if (first < p.first) return true; else if (first > p.first) return false; else if (second < p.second) return true; return false; } bool operator==(const PairIntSorted& p) const {return (first == p.first && second == p.second);} unsigned int first,second; }; /// Triple of int struct TripleInt { TripleInt():h(0),k(0),l(0){} TripleInt(int a, int b,int c):h(a),k(b),l(c){} int h;int k; int l; }; /// Place holder for any text string, avoiding implicit conversion /// and distinguishing a text from and any other string struct Text { Text():text(""){} Text(const std::string& t):text(t){} Text(const char* t):text(t){} std::string text; }; } #endif /* TYPESELECTION_H */ protomol/framework/base/sstream_local.h0100644027616700000500000001274110237151530017724 0ustar pbrenne1dip/* -*- c++ -*- */ /* This is part of libio/iostream, providing -*- C++ -*- input/output. Copyright (C) 2000 Free Software Foundation This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this library; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. As a special exception, if you link this library with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ /* Written by Magnus Fromreide (magfr@lysator.liu.se). */ #ifndef __SSTREAM__ #define __SSTREAM__ #include #include #ifndef __GNUC__ #include #else #include #endif namespace std { /** * Old port to support stringbuf */ class stringbuf : public streambuf { public: typedef char char_type; typedef int int_type; typedef streampos pos_type; typedef streamoff off_type; explicit stringbuf(int which=ios::in|ios::out) : streambuf(which), buf(), mode(static_cast(which)), rpos(0), bufsize(1) { } explicit stringbuf(const std::string &s, int which=ios::in|ios::out) : streambuf(which), buf(s), mode(static_cast(which)), bufsize(1) { if(mode & ios::in) { setg(&defbuf, &defbuf + bufsize, &defbuf + bufsize); } if(mode & ios::out) { setp(&defbuf, &defbuf + bufsize); } rpos = (mode & ios::ate ? s.size() : 0); } std::string str() const { const_cast(this)->sync(); // Sigh, really ugly hack return buf; }; void str(const std::string& s) { buf = s; if(mode & ios::in) { gbump(egptr() - gptr()); } if(mode & ios::out) { pbump(pbase() - pptr()); } rpos = (mode & ios::ate ? s.size() : 0); } protected: inline virtual int sync(); inline virtual int overflow(int = EOF); inline virtual int underflow(); private: std::string buf; ios::open_mode mode; std::string::size_type rpos; streamsize bufsize; char defbuf; }; class stringstreambase : virtual public ios { protected: stringbuf __my_sb; public: std::string str() const { return dynamic_cast(_strbuf)->str(); } void str(const std::string& s) { clear(); dynamic_cast(_strbuf)->str(s); } stringbuf* rdbuf() { return &__my_sb; } protected: stringstreambase(int which) : __my_sb(which) { init (&__my_sb); } stringstreambase(const std::string& s, int which) : __my_sb(s, which) { init (&__my_sb); } }; class istringstream : public stringstreambase, public istream { public: istringstream(int which=ios::in) : stringstreambase(which) { } istringstream(const std::string& s, int which=ios::in) : stringstreambase(s, which) { } }; class ostringstream : public stringstreambase, public ostream { public: ostringstream(int which=ios::out) : stringstreambase(which) { } ostringstream(const std::string& s, int which=ios::out) : stringstreambase(s, which) { } }; class stringstream : public stringstreambase, public iostream { public: stringstream(int which=ios::in|ios::out) : stringstreambase(which) { } stringstream(const std::string &s, int which=ios::in|ios::out) : stringstreambase(s, which) { } }; } inline int std::stringbuf::sync() { if((mode & ios::out) == 0) return EOF; streamsize n = pptr() - pbase(); if(n) { buf.replace(rpos, std::string::npos, pbase(), n); if(buf.size() - rpos != (unsigned int) n) return EOF; rpos += n; pbump(-n); gbump(egptr() - gptr()); } return 0; } inline int std::stringbuf::overflow(int ch) { if((mode & ios::out) == 0) return EOF; streamsize n = pptr() - pbase(); if(n && sync()) return EOF; if(ch != EOF) { std::string::size_type oldSize = buf.size(); buf.replace(rpos, std::string::npos, ch); if(buf.size() - oldSize != 1) return EOF; ++rpos; } return 0; } inline int std::stringbuf::underflow() { sync(); if((mode & ios::in) == 0) { return EOF; } if(rpos >= buf.size()) { return EOF; } std::string::size_type n = egptr() - eback(); std::string::size_type s; s = buf.copy(eback(), n, rpos); pbump(pbase() - pptr()); gbump(eback() - gptr()); int res = (0377 & buf[rpos]); rpos += s; return res; } #endif /* not __STRSTREAM__ */ protomol/framework/base/stringutilities.cpp0100644027616700000500000003744510237151530020701 0ustar pbrenne1dip#include "stringutilities.h" #include "mathutilities.h" #include #include #include #include "Report.h" using std::find; using std::vector; using std::string; using std::stringstream; using std::transform; using namespace ProtoMol::Report; namespace ProtoMol { //_____________________________________________________________________ uppercase string uppercase (const string& word){ string tmp(word); transform(word.begin(),word.end(),tmp.begin(),toupper); return tmp; } //_____________________________________________________________________ lowercase string lowercase (const string& word){ string tmp(word); transform(word.begin(),word.end(),tmp.begin(),tolower); return tmp; } //_____________________________________________________________________ equal bool equal(const string& s1, const string& s2){ return (s1 == s2); } //_____________________________________________________________________ equalNocase bool equalNocase(const string& s1, const string& s2){ const string::size_type i1 = s1.size(); if(i1 != s2.size()) return false; for(string::size_type i=0;i inline string toStringGeneric(T x){ // http://www.bespecific.com/dialog/becodetalk/archive/980405/0058.html stringstream ss; ss << x; return string(ss.str()); } //_____________________________________________________________________ toString string toString(Real x){ stringstream ss; ss.precision(sizeof(Real) > sizeof(float)?15:9); ss << x; return string(ss.str()); } //_____________________________________________________________________ toString string toString(Real x,unsigned int n, unsigned int m){ stringstream ss; ss.setf(std::ios::showpoint|std::ios::fixed); ss.precision(m); ss.width(n+m+1); ss << x; return string(ss.str()); } //_____________________________________________________________________ toString string toString(bool x){ if(x) return "true"; else return "false"; } //_____________________________________________________________________ toString string toString(const Vector3D& c){ return string(toString(c.x)+" "+toString(c.y)+" "+toString(c.z)); } //_____________________________________________________________________ toString string toString(const vector& v){ string res; for(unsigned int i=0;i0?" ":"")+toString(v[i]); return res; } //_____________________________________________________________________ isReal bool isReal(const string& word){ Real r = 0.0; return toReal(word,r); } //_____________________________________________________________________ toReal Real toReal(const string& word){ Real r = 0.0; toReal(word,r); return r; } //_____________________________________________________________________ toReal // http://www.dinkumware.com/htm_cpl/stdlib.html#strtod bool toReal(const string& word, Real &r){ char* endptr = NULL; double d = strtod(word.c_str(),&endptr); r = static_cast(d); return (!word.empty() && ((fabs(d)>= Constant::MINREAL && fabs(d) <= Constant::MAXREAL)|| fabs(d) == 0.0) && errno != ERANGE && (endptr == NULL || isBlank(string(endptr))) && isPrintable(word)); } //_____________________________________________________________________ isInt bool isInt(const string& word){ int i = 0; return toInt(word,i); } //_____________________________________________________________________ toInt int toInt(const string& word){ int i=0; toInt(word,i); return i; } //_____________________________________________________________________ toInt // http://www.dinkumware.com/htm_cpl/stdlib.html#strtol bool toInt(const string& word, int &i){ char* endptr = NULL; long l = strtol(word.c_str(),&endptr,10); i = static_cast(l); if (!word.empty() && static_cast(i) == l && errno != ERANGE && (endptr == NULL || isBlank(string(endptr))) && isPrintable(word)) return true; Real r; if(toReal(word,r)){ i = static_cast(r); return (static_cast(i) == r); } return false; } //_____________________________________________________________________ isUInt bool isUInt(const string& word){ unsigned int i = 0; return toUInt(word,i); } //_____________________________________________________________________ toUInt unsigned int toUInt(const string& word){ unsigned int i=0; toUInt(word,i); return i; } //_____________________________________________________________________ toUInt // http://www.dinkumware.com/htm_cpl/stdlib.html#strtol bool toUInt(const string& word, unsigned int &i){ char* endptr = NULL; unsigned long l = strtoul(word.c_str(),&endptr,10); i = static_cast(l); if (!word.empty() && static_cast(i) == l && errno != ERANGE && (endptr == NULL || isBlank(string(endptr))) && isPrintable(word)) return true; Real r; if(toReal(word,r)){ i = static_cast(r); return (static_cast(i) == r); } return false; } //_____________________________________________________________________ isBool bool isBool(const string& word){ bool b = false; return toBool(word,b); } //_____________________________________________________________________ toBool bool toBool(const string& word){ bool b = false; toBool(word,b); return b; } //_____________________________________________________________________ toBool bool toBool(const string& word, bool &b){ string s = removeBeginEndBlanks(word); if(equalNocase(s,"true") || equalNocase(s,"yes") || equalNocase(s,"on") || equalNocase(s,"1")){ b = true; return true; } else if(equalNocase(s,"false") || equalNocase(s,"no") || equalNocase(s,"off") || equalNocase(s,"0")){ b = false; return true; } else { return false; } } //_____________________________________________________________________ isVector3D bool isVector3D(const string& word){ Vector3D c(0.0,0.0,0.0); return toVector3D(word,c); } //_____________________________________________________________________ toVector3D Vector3D toVector3D(const string& word){ Vector3D c(0.0,0.0,0.0); toVector3D(word,c); return c; } //_____________________________________________________________________ toVector3D bool toVector3D(const string& word, Vector3D &c){ string s = removeBeginEndBlanks(word); stringstream ss(s); string x,y,z; ss >> x >> y >> z; bool bx,by,bz; bx = toReal(x,c.x); by = toReal(y,c.y); bz = toReal(z,c.z); return (ss.eof() && bx && by && bz); } //_____________________________________________________________________ isVector bool isVector(const string& word){ vector v; return toVector(word,v); } //_____________________________________________________________________ toVector vector toVector(const string& word){ vector v; toVector(word,v); return v; } //_____________________________________________________________________ toVector bool toVector(const string& word, vector &v){ string s = removeBeginEndBlanks(word); stringstream is(s); v.clear(); string str; is >> str; if(isReal(str)){ v.push_back(toReal(str)); while(is >> str){ if(!isReal(str)) break; v.push_back(toReal(str)); } } else if(str.size() > 2 && str[0] == '-' && str[1] == '-' && isUInt(str.substr(2))){ unsigned int n = toUInt(str.substr(2)); for(unsigned int i=0;i> str)) return false; if(!isReal(str)){ is.seekg((-1)*static_cast(str.size()),std::ios::cur); is.clear(); return false; } v.push_back(toReal(str)); } return true; } is.seekg((-1)*static_cast(str.size()),std::ios::cur); is.clear(); return true; } //_____________________________________________________________________ isBlank bool isBlank(const string& word){ return (word.begin() == std::find_if(word.begin(),word.end(),ProtoMol::isblankchar)); } //_____________________________________________________________________ isblankchar bool isblankchar(char c){ return (c == ' ' || c == '\t' || c == '\n' || c == '\r'); } //_____________________________________________________________________ isPrintable bool isPrintable(const string& word){ return (word.begin() == std::find_if(word.begin(),word.end(),isprintablechar)); } //_____________________________________________________________________ isprintablechar bool isprintablechar(char c){ return (isblankchar(c) || isprint(c)); } //_____________________________________________________________________ getBegin string getBegin(const string& s,string::size_type n){ if(s.size() <= n ) return s; return s.substr(0,n); } //_____________________________________________________________________ getEnd string getEnd(const string& s,string::size_type n){ const string::size_type i = s.size(); if(i <= n ) return s; return s.substr(i-n); } //_____________________________________________________________________ getRightFill string getRightFill(const string& s,string::size_type n){ const string::size_type i = s.size(); if(i < n ) return s+string(n-i,' '); return s.substr(0,n); } //_____________________________________________________________________ getLeftFill string getLeftFill(const string& s,string::size_type n){ const string::size_type i = s.size(); if(i < n ) return string(n-i,' ')+s; return s.substr(0,n); } //_____________________________________________________________________ removeBeginEndBlanks string removeBeginEndBlanks(const string& s){ string::size_type a = s.find_first_not_of(" \t"); if(a == string::npos) return ""; return string(&s[a],&s[s.find_last_not_of(" \t")+1]); } //_____________________________________________________________________ ltstrNocase bool ltstrNocase::operator()(const string& s1, const string& s2) const{ return strcmp(uppercase(s1).c_str(),uppercase(s2).c_str()) < 0; } //_____________________________________________________________________ ltstrNocaseOp bool ltstrNocaseOp (const string& s1, const string& s2){ return strcmp(uppercase(s1).c_str(),uppercase(s2).c_str()) < 0; } //_____________________________________________________________________ equalWildcard int equalWildcard(const string& wildcard, const string& name){ // Match with no wildcards if(wildcard == name){ return 2; } // Return if no wildcards found if(find(wildcard.begin(),wildcard.end(),'*') == wildcard.end() && find(wildcard.begin(),wildcard.end(),'%') == wildcard.end() && find(wildcard.begin(),wildcard.end(),'#') == wildcard.end() && find(wildcard.begin(),wildcard.end(),'+') == wildcard.end()){ return 0; } // Move to first wildcard unsigned int pos = 0; for(unsigned int i=0;i 0) ok = 1; } return ok; } else if(wildcard[pos] == '%'){ if(pos 0){ return 1; } else { return 0; } } else if(wildcard[pos] == '#'){ int ok = 0; for(unsigned int i=pos;i<=name.size();i++){ if(equalWildcard(string(wildcard.begin()+pos+1,wildcard.end()),string(name.begin()+i,name.end())) > 0) ok = 1; if(i 0){ return 1; } else { return 0; } } } return 0; } //_____________________________________________________________________ splitString vector splitString(const string& id){ stringstream ss(id); vector res; string str; while(ss >> str){ if(!str.empty()) res.push_back(str); } return res; } //_____________________________________________________________________ mergeString string mergeString(const vector& id){ string res; for(unsigned int i=0;i0?" ":"")+id[i]; } return res; } //_____________________________________________________________________ normalizeString string normalizeString(const string& word){ stringstream ss(word); string res,str; while(ss >> str){ if(!str.empty()) res += (res.empty()?"":" ")+str; } return res; } } protomol/framework/base/stringutilities.h0100644027616700000500000001772010237151530020340 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef STRINGUTILITIES_H #define STRINGUTILITIES_H #include #ifdef HAVE_NO_SSTREAM #include "sstream_local.h" #else #include #endif #include "Vector3D.h" #include namespace ProtoMol { //_____________________________________________________________________ uppercase std::string uppercase (const std::string& word); //_____________________________________________________________________ lowercase std::string lowercase (const std::string& word); //_____________________________________________________________________ equal bool equal(const std::string& s1, const std::string& s2); //_____________________________________________________________________ equalNocase bool equalNocase(const std::string& s1, const std::string& s2); //_____________________________________________________________________ equalBegin bool equalBegin(const std::string& s1, const std::string& s2); //_____________________________________________________________________ equalBeginNocase bool equalBeginNocase(const std::string& s1, const std::string& s2); //_____________________________________________________________________ equalStart bool equalStart(const std::string& s1, const std::string& s2); //_____________________________________________________________________ equalStartNocase bool equalStartNocase(const std::string& s1, const std::string& s2); //_____________________________________________________________________ equalEnd bool equalEnd(const std::string& s1, const std::string& s2); //_____________________________________________________________________ equalEndNocase bool equalEndNocase(const std::string& s1, const std::string& s2); //_____________________________________________________________________ equalTerminate bool equalTerminate(const std::string& s1, const std::string& s2); //_____________________________________________________________________ equalTerminateNocase bool equalTerminateNocase(const std::string& s1, const std::string& s2); //_____________________________________________________________________ isReal bool isReal(const std::string& word); //_____________________________________________________________________ toReal bool toReal(const std::string& word, Real &r); //_____________________________________________________________________ toReal Real toReal(const std::string& word); //_____________________________________________________________________ isInt bool isInt(const std::string& word); //_____________________________________________________________________ toInt bool toInt(const std::string& word, int &i); //_____________________________________________________________________ toInt int toInt(const std::string& word); //_____________________________________________________________________ isUInt bool isUInt(const std::string& word); //_____________________________________________________________________ toUInt bool toUInt(const std::string& word, unsigned int &i); //_____________________________________________________________________ toUInt unsigned int toUInt(const std::string& word); //_____________________________________________________________________ isBool bool isBool(const std::string& word); //_____________________________________________________________________ toBool bool toBool(const std::string& word, bool &b); //_____________________________________________________________________ toBool bool toBool(const std::string& word); //_____________________________________________________________________ isVector3D bool isVector3D(const std::string& word); //_____________________________________________________________________ toVector3D bool toVector3D(const std::string& word, Vector3D &c); //_____________________________________________________________________ toVector3D Vector3D toVector3D(const std::string& word); //_____________________________________________________________________ isVector bool isVector(const std::string& word); //_____________________________________________________________________ toVector std::vector toVector(const std::string& word); //_____________________________________________________________________ toVector bool toVector(const std::string& word, std::vector &c); //_____________________________________________________________________ toString std::string toString(Real x); //_____________________________________________________________________ toString std::string toString(Real x,unsigned int n, unsigned int m); //_____________________________________________________________________ toString std::string toString(bool x); //_____________________________________________________________________ toString std::string toString(const Vector3D& x); //_____________________________________________________________________ toString std::string toString(const std::vector& x); //_____________________________________________________________________ toString /// NB: Needed for symmetry reason! inline const std::string & toString(const std::string& x) {return x;} //_____________________________________________________________________ toString !NB /// NB: Template to catch other types ... template inline std::string toString(T x){ // http://www.bespecific.com/dialog/becodetalk/archive/980405/0058.html std::stringstream ss; ss << x; return std::string(ss.str()); } //_____________________________________________________________________ isBlank bool isBlank(const std::string& word); //_____________________________________________________________________ isblank bool isblankchar(char c); //_____________________________________________________________________ isPrintable bool isPrintable(const std::string& word); //_____________________________________________________________________ isprintablechar bool isprintablechar(char c); //_____________________________________________________________________ getBegin std::string getBegin(const std::string& s, std::string::size_type n); //_____________________________________________________________________ getEnd std::string getEnd(const std::string& s, std::string::size_type n); //_____________________________________________________________________ getRightFill std::string getRightFill(const std::string& s, std::string::size_type n); //_____________________________________________________________________ getLeftFill std::string getLeftFill(const std::string& s, std::string::size_type n); //_____________________________________________________________________ removeBeginEndBlanks std::string removeBeginEndBlanks(const std::string& s); //_____________________________________________________________________ ltstrNocase struct ltstrNocase {bool operator()(const std::string& s1, const std::string& s2) const;}; //_____________________________________________________________________ ltstrNocaseOp bool ltstrNocaseOp (const std::string& s1, const std::string& s2); //_____________________________________________________________________ equalWildcard /** * Wildcard specifications: * - * : matches any string of characters (including none), * - \% : matches any single character, * - # : matches any string of digits (including none), * - + : matches any single digit. * * Return: * - 2 : match without wildcards * - 1 : match with wildcards * - 0 : no match at all */ int equalWildcard(const std::string& wildcard, const std::string& name); //_____________________________________________________________________ splitString std::vector splitString(const std::string& str); //_____________________________________________________________________ mergeString std::string mergeString(const std::vector& str); //_____________________________________________________________________ normalizeString std::string normalizeString(const std::string& str); } #endif protomol/framework/base/systemutilities.cpp0100644027616700000500000000751110237151530020706 0ustar pbrenne1dip#include "systemutilities.h" #include "stringutilities.h" #ifdef WIN32 // Define the missing symbols from for M$ .... #include #define CHDIR _chdir #define PATHSEP '\\' #define PATHSEPSTR "\\" #define access _access #include #include #define F_OK 0 #define W_OK 2 #define R_OK 4 #else #include #define CHDIR chdir #define PATHSEP '/' #define PATHSEPSTR "/" #include #endif #include using std::string; namespace ProtoMol { //_____________________________________________________________________ changeDirectory bool changeDirectory(const string& fileName){ char *confFile = (char*)fileName.c_str(); char *currentdir = confFile; char *tmp = NULL; #ifdef WIN32 // Replace all '/' by '\' for(tmp=confFile;*tmp;++tmp){ if(*tmp == '/') *tmp = '\\'; } #endif for(tmp=confFile;*tmp;++tmp); // find final null for(;tmp != confFile && *tmp != PATHSEP; --tmp); // find last '/' if (tmp != confFile ){ *tmp = 0; confFile = tmp + 1; if (CHDIR(currentdir)) return false; } else if (*tmp == PATHSEP) // config file in / is odd, but it might happen if (CHDIR(PATHSEPSTR)){ return false; } return true; } //_____________________________________________________________________ isAccessible bool isAccessible(const string& fileName){ return (::access(fileName.c_str(), F_OK) == 0); } //_____________________________________________________________________ protomolAbort static void (*myAbortFunction)() = NULL; void protomolAbort(){ if(myAbortFunction != NULL){ (*myAbortFunction)(); } exit(EXIT_FAILURE); } //_____________________________________________________________________ setProtomolAbort void setProtomolAbort(void (*abortFunction)()){ myAbortFunction = abortFunction; } //_____________________________________________________________________ protomolExit static void (*myExitFunction)() = NULL; void protomolExit(){ if(myExitFunction != NULL){ (*myExitFunction)(); } exit(EXIT_SUCCESS); } //_____________________________________________________________________ setProtomolExit void setProtomolExit(void (*exitFunction)()){ myExitFunction = exitFunction; } //_____________________________________________________________________ protomolStartSerial static void (*myStartSerial)(bool) = NULL; void protomolStartSerial(bool exludeMaster){ if(myStartSerial != NULL){ (*myStartSerial)(exludeMaster); } } //_____________________________________________________________________ setProtomolExit void setProtomolStartSerial(void (*startSerialFunction)(bool)){ myStartSerial = startSerialFunction; } //_____________________________________________________________________ protomolEndSerial static void (*myEndSerial)(bool) = NULL; void protomolEndSerial(bool exludeMaster){ if(myEndSerial != NULL){ (*myEndSerial)(exludeMaster); } } //_____________________________________________________________________ setProtomolExit void setProtomolEndSerial(void (*endSerialFunction)(bool)){ myEndSerial = endSerialFunction; } //_____________________________________________________________________ ISLITTLEENDIAN struct Endian { // Helper class to make sure that we get endianess correct ... M$ static bool isLittleEndian(){ unsigned int tmp = 1; return (0 != *(reinterpret_cast(&tmp))); } }; const bool ISLITTLEENDIAN = Endian::isLittleEndian(); //_____________________________________________________________________ getUserName string getUserName(){ #ifdef WIN32 return "Win32"; #else if (getpwuid(getuid()) != NULL) return string(getpwuid(getuid())->pw_name); else return toString(getuid()); #endif } } protomol/framework/base/systemutilities.h0100644027616700000500000000407110237151530020351 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef SYSTEMUTILITIES_H #define SYSTEMUTILITIES_H #include #include #include "Report.h" #include "Real.h" namespace ProtoMol { /// Changes to the actual directory of the file name bool changeDirectory(const std::string& fileName); /// Test if the file is accessible bool isAccessible(const std::string& fileName); /// Does an abort, calling the adequate abort system function void protomolAbort(); /// Sets function to be called when calling protomolAbort() void setProtomolAbort(void (*abortFunction)()); /// Does an exit, calling the adequate exit system function void protomolExit(); /// Sets function to be called when calling protomolxit() void setProtomolExit(void (*exitFunction)()); /// Initiates the serialization block, e.g., used by Report void protomolStartSerial(bool exludeMaster); /// Sets function to be called to start serialization void setProtomolStartSerial(void (*startSerialFunction)(bool)); /// Finializes the serialization block void protomolEndSerial(bool exludeMaster); /// Sets function to be called to end serialization void setProtomolEndSerial(void (*endSerialFunction)(bool)); /// Returns the username or user id std::string getUserName(); /// Swap function to change endianess template inline void swapBytes(T& t){ if (sizeof(T) % 2 != 0) Report::report << Report::error << "Cannot swap types of uneven size."<(&t); std::reverse(res, res + sizeof(T)); } /// Shift left of four Real's inline void shift(Real &a, Real &b, Real &c, const Real d) { a=b; b=c; c=d; } /// bool constant if the machine is littleEndian or not extern const bool ISLITTLEENDIAN; /// Clears a container explicitly template inline void realclear(T& t){ T tmp; t.swap(tmp); } /// Shrinks the capacity of a container explicitly template inline void shrink(T& t){ T tmp(t); t.swap(tmp); } } #endif /* SYSTEMUTILITIES_H */ protomol/framework/base/typeSelection.h0100644027616700000500000000327010237151530017720 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef TYPESELECTION_H #define TYPESELECTION_H #include "Real.h" namespace ProtoMol { /** * Enables to select the right type of an int or float * with a given sizeof, bails out if there is not adequate * type. @n * * Usage:@n * typedef TypeSelection::Int<4>::type int32;@n * typedef TypeSelection::Float<4>::type float32;@n */ namespace TypeSelection { template struct SelectTypeHelper { typedef B type; }; template struct SelectTypeHelper { typedef A type; }; template struct SelectType { typedef typename SelectTypeHelper::type type; }; template struct SelectTypeCheckHelper {}; template struct SelectTypeCheckHelper { typedef A type; }; template struct SelectTypeCheck { typedef typename SelectTypeCheckHelper::type type; }; /** * Select the right type among short, int or long according the given sizeof. */ template struct Int { typedef typename SelectTypeCheck::type, long>::type,size>::type type; }; /** * Select the right type among float or double according the given sizeof. */ template struct Float { typedef typename SelectTypeCheck::type, Real>::type,size>::type type; }; } } #endif /* TYPESELECTION_H */ protomol/framework/.cvsignore0100644027616700000500000000002510237151530016001 0ustar pbrenne1dipMakefile.in Makefile protomol/framework/Makefile.am0100644027616700000500000000042010237151530016034 0ustar pbrenne1dip# -*- makefile -*- # # See the LICENSE file in the top level directory for license # information AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies SUBDIRS = base io parallel topology forces imd integrators frontend factories #include $(top_srcdir)/Makefile.depend protomol/framework/Makefile.in0100644027616700000500000002447210237151530016062 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # -*- makefile -*- # # See the LICENSE file in the top level directory for license # information SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies SUBDIRS = base io parallel topology forces imd integrators frontend factories subdir = framework mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = depcomp = am__depfiles_maybe = DIST_SOURCES = RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ uninstall-info-recursive all-recursive install-data-recursive \ install-exec-recursive installdirs-recursive install-recursive \ uninstall-recursive check-recursive installcheck-recursive DIST_COMMON = Makefile.am Makefile.in DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign framework/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" \ distdir=../$(distdir)/$$subdir \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: info: info-recursive info-am: install-data-am: install-exec-am: install-info: install-info-recursive install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ clean-generic clean-recursive distclean distclean-generic \ distclean-recursive distclean-tags distdir dvi dvi-am \ dvi-recursive info info-am info-recursive install install-am \ install-data install-data-am install-data-recursive \ install-exec install-exec-am install-exec-recursive \ install-info install-info-am install-info-recursive install-man \ install-recursive install-strip installcheck installcheck-am \ installdirs installdirs-am installdirs-recursive \ maintainer-clean maintainer-clean-generic \ maintainer-clean-recursive mostlyclean mostlyclean-generic \ mostlyclean-recursive tags tags-recursive uninstall \ uninstall-am uninstall-info-am uninstall-info-recursive \ uninstall-recursive #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/framework/kcc_ar0100755027616700000500000000012310237151530015150 0ustar pbrenne1dip#!/bin/sh #Shift our AR -cru tag and replace with below statement. shift KCC -o $*protomol/framework/mipscc_ar0100755027616700000500000000012610237151530015671 0ustar pbrenne1dip#!/bin/sh #Shift our AR -cru tag and replace with below statement. shift CC -ar -o $*protomol/framework/xlc_ar0100755027616700000500000000013010237151530015174 0ustar pbrenne1dip#!/bin/sh #Shift our AR -cru tag and replace with below statement. shift ar -X64 cru $*protomol/framework/xxx.am0100644027616700000500000000165210237151530015156 0ustar pbrenne1dip# xxx AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libxxx_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_IMD = $(top_srcdir)/framework/imd P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # xxx Sources P_XXX_SRC =\ # xxx Includes P_XXX_H =\ # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libxxx.a libxxx_a_SOURCES = $(P_XXX_SRC) $(P_XXX_H) INCLUDES =-I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_IMD) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_XXX_SRC) include $(top_srcdir)/Makefile.depend protomol/framework/factories/0040755027616700000500000000000010237151530015766 5ustar pbrenne1dipprotomol/framework/factories/.cvsignore0100644027616700000500000000004710237151530017764 0ustar pbrenne1dip*.o *.il Makefile.in Makefile ti_files protomol/framework/factories/Makefile.am0100644027616700000500000000317110237151530020021 0ustar pbrenne1dip# factories AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libfactories_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # factories Sources P_FACTORIES_SRC =\ registerForceExemplars.cpp\ registerForceExemplarsBonded.cpp\ registerForceExemplarsCutoff.cpp\ registerForceExemplarsFastElectrostatic.cpp\ registerForceExemplarsFull.cpp\ registerForceExemplarsOther.cpp\ registerForceExemplarsSimpleFull.cpp\ registerIntegratorExemplars.cpp\ registerOutputExemplars.cpp\ registerTopologyExemplars.cpp # factories Includes P_FACTORIES_H =\ registerForceExemplars.h\ registerForceExemplarsBonded.h\ registerForceExemplarsCutoff.h\ registerForceExemplarsFastElectrostatic.h\ registerForceExemplarsFull.h\ registerForceExemplarsOther.h\ registerForceExemplarsSimpleFull.h\ registerIntegratorExemplars.h\ registerOutputExemplars.h\ registerTopologyExemplars.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libfactories.a libfactories_a_SOURCES = $(P_FACTORIES_SRC) $(P_FACTORIES_H) INCLUDES =-I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_FACTORIES_SRC) #include $(top_srcdir)/Makefile.depend protomol/framework/factories/Makefile.in0100644027616700000500000002433410237151530020036 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # factories SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libfactories_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # factories Sources P_FACTORIES_SRC = \ registerForceExemplars.cpp\ registerForceExemplarsBonded.cpp\ registerForceExemplarsCutoff.cpp\ registerForceExemplarsFastElectrostatic.cpp\ registerForceExemplarsFull.cpp\ registerForceExemplarsOther.cpp\ registerForceExemplarsSimpleFull.cpp\ registerIntegratorExemplars.cpp\ registerOutputExemplars.cpp\ registerTopologyExemplars.cpp # factories Includes P_FACTORIES_H = \ registerForceExemplars.h\ registerForceExemplarsBonded.h\ registerForceExemplarsCutoff.h\ registerForceExemplarsFastElectrostatic.h\ registerForceExemplarsFull.h\ registerForceExemplarsOther.h\ registerForceExemplarsSimpleFull.h\ registerIntegratorExemplars.h\ registerOutputExemplars.h\ registerTopologyExemplars.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libfactories.a libfactories_a_SOURCES = $(P_FACTORIES_SRC) $(P_FACTORIES_H) INCLUDES = -I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_FACTORIES_SRC) subdir = framework/factories mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) libfactories_a_LIBADD = am__objects_1 = registerForceExemplars.$(OBJEXT) \ registerForceExemplarsBonded.$(OBJEXT) \ registerForceExemplarsCutoff.$(OBJEXT) \ registerForceExemplarsFastElectrostatic.$(OBJEXT) \ registerForceExemplarsFull.$(OBJEXT) \ registerForceExemplarsOther.$(OBJEXT) \ registerForceExemplarsSimpleFull.$(OBJEXT) \ registerIntegratorExemplars.$(OBJEXT) \ registerOutputExemplars.$(OBJEXT) \ registerTopologyExemplars.$(OBJEXT) am__objects_2 = am_libfactories_a_OBJECTS = $(am__objects_1) $(am__objects_2) libfactories_a_OBJECTS = $(am_libfactories_a_OBJECTS) DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(libfactories_a_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(libfactories_a_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign framework/factories/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libfactories.a: $(libfactories_a_OBJECTS) $(libfactories_a_DEPENDENCIES) -rm -f libfactories.a $(libfactories_a_AR) libfactories.a $(libfactories_a_OBJECTS) $(libfactories_a_LIBADD) $(RANLIB) libfactories.a mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/framework/factories/registerForceExemplars.cpp0100644027616700000500000000237510237151530023162 0ustar pbrenne1dip#include "registerForceExemplars.h" #include "registerForceExemplarsBonded.h" #include "registerForceExemplarsCutoff.h" #include "registerForceExemplarsOther.h" #include "registerForceExemplarsSimpleFull.h" #include "registerForceExemplarsFull.h" #include "registerForceExemplarsFastElectrostatic.h" #include "Topology.h" #include "VacuumBoundaryConditions.h" #include "PeriodicBoundaryConditions.h" #include "CubicCellManager.h" namespace ProtoMol { template inline void registerForceExemplarsDispatch(const Topology* topo){ if(topo == NULL) return; const BC* bc=NULL; const CM* cm=NULL; registerForceExemplarsCutoff(bc,cm); registerForceExemplarsFull(bc); registerForceExemplarsSimpleFull(bc); registerForceExemplarsBonded(bc); registerForceExemplarsOther(); registerForceExemplarsOther(bc); registerForceExemplarsOther(bc,cm); registerForceExemplarsFastElectrostatic(bc,cm); } void registerForceExemplars(const GenericTopology* topo){ registerForceExemplarsDispatch(dynamic_cast*>(topo)); registerForceExemplarsDispatch(dynamic_cast*>(topo)); } } protomol/framework/factories/registerForceExemplars.h0100644027616700000500000000052610237151530022623 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERFORCEEXEMPLARS_H #define REGISTERFORCEEXEMPLARS_H namespace ProtoMol { class GenericTopology; /// registers all force prototypes by calling all registerForceExemplars* to be recognized by the parser void registerForceExemplars(const GenericTopology* topo); } #endif /* REGISTERFORCEEXEMPLARS_H */ protomol/framework/factories/registerForceExemplarsBonded.cpp0100644027616700000500000000256610237151530024300 0ustar pbrenne1dip#include "registerForceExemplarsBonded.h" #include "ForceFactory.h" #include "Topology.h" #include "VacuumBoundaryConditions.h" #include "PeriodicBoundaryConditions.h" #include "BondSystemForce.h" #include "AngleSystemForce.h" #include "ImproperSystemForce.h" #include "DihedralSystemForce.h" #include "HarmDihedralSystemForce.h" namespace ProtoMol { void registerForceExemplarsBonded(const PeriodicBoundaryConditions*){ ForceFactory::registerExemplar(new BondSystemForce()); ForceFactory::registerExemplar(new AngleSystemForce()); ForceFactory::registerExemplar(new ImproperSystemForce()); ForceFactory::registerExemplar(new DihedralSystemForce()); ForceFactory::registerExemplar(new HarmDihedralSystemForce()); } void registerForceExemplarsBonded(const VacuumBoundaryConditions*){ ForceFactory::registerExemplar(new BondSystemForce()); ForceFactory::registerExemplar(new AngleSystemForce()); ForceFactory::registerExemplar(new ImproperSystemForce()); ForceFactory::registerExemplar(new DihedralSystemForce()); ForceFactory::registerExemplar(new HarmDihedralSystemForce()); } } protomol/framework/factories/registerForceExemplarsBonded.h0100644027616700000500000000106610237151530023737 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERFORCEEXEMPLARSBONDED_H #define REGISTERFORCEEXEMPLARSBONDED_H namespace ProtoMol { class PeriodicBoundaryConditions; class VacuumBoundaryConditions; /// registers bond force method prototypes (periodic boundary conditions) to be recognized by the parser void registerForceExemplarsBonded(const PeriodicBoundaryConditions*); /// registers bond force method prototypes (vacuum) to be recognized by the parser void registerForceExemplarsBonded(const VacuumBoundaryConditions*); } #endif /* REGISTERFORCEEXEMPLARS_H */ protomol/framework/factories/registerForceExemplarsCutoff.cpp0100644027616700000500000004361110237151530024327 0ustar pbrenne1dip#include "registerForceExemplarsCutoff.h" #include "C1SwitchingFunction.h" #include "C2SwitchingFunction.h" #include "CellListEnumerator_periodicBoundaries.h" #include "CellListEnumerator_standard.h" #include "CoulombForce.h" #include "CoulombEwaldRealForce.h" #include "CoulombEwaldRealTableForce.h" #include "CoulombMultiGridDirectForce.h" #include "CoulombMultiGridDirectTableForce.h" #include "CubicCellManager.h" #include "CutoffSwitchingFunction.h" #include "ForceFactory.h" #include "LennardJonesForce.h" #include "LennardJonesTableForce.h" #include "MagneticDipoleForce.h" #include "NonbondedCutoffSystemForce.h" #include "OneAtomPair.h" #include "OneAtomPairTwo.h" #include "PeriodicBoundaryConditions.h" #include "ShiftSwitchingFunction.h" #include "Topology.h" #include "VacuumBoundaryConditions.h" namespace ProtoMol { void registerForceExemplarsCutoff(const PeriodicBoundaryConditions*, const CubicCellManager*){ // NonbondedCutoffSystemForce CoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // NonbondedCutoffSystemForce LennardJonesForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // NonbondedCutoffSystemForce LennardJonesForce CoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); //---------------------------------------------------------------- // NonbondedCutoffSystemForce LennardJonesForce CoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); //---------------------------------------------------------------- // MagneticDipole // ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); } void registerForceExemplarsCutoff(const VacuumBoundaryConditions*, const CubicCellManager*){ // NonbondedCutoffSystemForce CoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // NonbondedCutoffSystemForce LennardJonesForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); // NonbondedCutoffSystemForce LennardJonesForce CoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce > >()); //---------------------------------------------------------------- // NonbondedCutoffSystemForce LennardJonesForce CoulombForce ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); //---------------------------------------------------------------- // MagneticDipole ForceFactory::registerExemplar(new NonbondedCutoffSystemForce >()); } } protomol/framework/factories/registerForceExemplarsCutoff.h0100644027616700000500000000120610237151530023766 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERFORCEEXEMPLARSCUTOFF_H #define REGISTERFORCEEXEMPLARSCUTOFF_H namespace ProtoMol { class CubicCellManager; class PeriodicBoundaryConditions; class VacuumBoundaryConditions; /// registers cutoff force method prototypes (periodic boundary conditions) to be recognized by the parser void registerForceExemplarsCutoff(const PeriodicBoundaryConditions*, const CubicCellManager*); /// registers cutoff force method prototypes(vacuum) to be recognized by the parser void registerForceExemplarsCutoff(const VacuumBoundaryConditions*, const CubicCellManager*); } #endif /* REGISTERFORCEEXEMPLARS_H */ protomol/framework/factories/registerForceExemplarsFastElectrostatic.cpp0100644027616700000500000004437310237151530026532 0ustar pbrenne1dip#include "registerForceExemplarsFastElectrostatic.h" #include "ForceFactory.h" #include "NonbondedFullEwaldSystemForce.h" #include "NonbondedPMEwaldSystemForce.h" #include "NonbondedMultiGridSystemForce.h" #include "CellListEnumerator_periodicBoundaries.h" #include "CellListEnumerator_standard.h" #include "CubicCellManager.h" #include "CoulombForce.h" #include "CutoffSwitchingFunction.h" #include "ShiftSwitchingFunction.h" #include "C1SwitchingFunction.h" #include "VacuumBoundaryConditions.h" #include "PeriodicBoundaryConditions.h" #include "CubicCellManager.h" #include "BSpline.h" #include "Lagrange.h" #include "Hermite.h" #include "Vector.h" namespace ProtoMol { void registerForceExemplarsFastElectrostatic(const PeriodicBoundaryConditions*, const CubicCellManager*){ // Full Ewald ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce(),Vector("CoulombEwald")); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); #endif // PME ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce(),Vector("CoulombPME")); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); #endif // MultiGrid ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); #endif } void registerForceExemplarsFastElectrostatic(const VacuumBoundaryConditions*, const CubicCellManager*){ ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce(),Vector("CoulombEwald")); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedFullEwaldSystemForce()); #endif // PME ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce(),Vector("CoulombPME")); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); ForceFactory::registerExemplar(new NonbondedPMEwaldSystemForce()); #endif // MultiGrid ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); #ifdef USE_FULL_FORCE_SET ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); ForceFactory::registerExemplar(new NonbondedMultiGridSystemForce()); #endif } } protomol/framework/factories/registerForceExemplarsFastElectrostatic.h0100644027616700000500000000133410237151530026165 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERFORCEEXEMPLARSFASTELECTROSTATIC_H #define REGISTERFORCEEXEMPLARSFASTELECTROSTATIC_H namespace ProtoMol { class CubicCellManager; class PeriodicBoundaryConditions; class VacuumBoundaryConditions; /// registers fast electrostatic force method prototypes (periodic boundary conditions) to be recognized by the parser void registerForceExemplarsFastElectrostatic(const PeriodicBoundaryConditions*, const CubicCellManager*); /// registers fast electrostatic force method prototypes (vacuum) to be recognized by the parser void registerForceExemplarsFastElectrostatic(const VacuumBoundaryConditions*, const CubicCellManager*); } #endif /* REGISTERFORCEEXEMPLARSFASTELECTROSTATIC_H */ protomol/framework/factories/registerForceExemplarsFull.cpp0100644027616700000500000000473310237151530024005 0ustar pbrenne1dip#include "registerForceExemplarsFull.h" #include "C1SwitchingFunction.h" #include "C2SwitchingFunction.h" #include "CubicCellManager.h" #include "CellListEnumerator_periodicBoundaries.h" #include "CellListEnumerator_standard.h" #include "CoulombForce.h" #include "CutoffSwitchingFunction.h" #include "ForceFactory.h" #include "LennardJonesForce.h" #include "NonbondedFullSystemForce.h" #include "OneAtomPairFull.h" #include "OneAtomPairTwoFull.h" #include "Parameter.h" #include "PeriodicBoundaryConditions.h" #include "ShiftSwitchingFunction.h" #include "Topology.h" #include "UniversalSwitchingFunction.h" #include "VacuumBoundaryConditions.h" namespace ProtoMol { void registerForceExemplarsFull(const PeriodicBoundaryConditions*){ ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedFullSystemForce >()); #ifdef USE_FULL_FORCE_SET #endif } void registerForceExemplarsFull(const VacuumBoundaryConditions*){ // Huh, are you really sure you'll like to add such forces for Vacumm? } } protomol/framework/factories/registerForceExemplarsFull.h0100644027616700000500000000121110237151530023436 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERFORCEEXEMPLARSFULL_H #define REGISTERFORCEEXEMPLARSFULL_H namespace ProtoMol { class PeriodicBoundaryConditions; class VacuumBoundaryConditions; /// registers direct force method prototypes for multiple images (periodic boundary conditions) prototypes to be recognized by the parser void registerForceExemplarsFull(const PeriodicBoundaryConditions*); /// registers direct force method prototypes for multiple images (vacuum) to be recognized by the parser /// should performe as SimpleFull! void registerForceExemplarsFull(const VacuumBoundaryConditions*); } #endif /* REGISTERFORCEEXEMPLARS_H */ protomol/framework/factories/registerForceExemplarsOther.cpp0100644027616700000500000001525210237151530024162 0ustar pbrenne1dip#include "registerForceExemplarsOther.h" #include "ForceFactory.h" #include "CellListEnumerator_periodicBoundaries.h" #include "CellListEnumerator_standard.h" #include "PeriodicBoundaryConditions.h" #include "Topology.h" #include "VacuumBoundaryConditions.h" #include "PaulTrapExtendedForce.h" #include "ElectricFieldSystemForce.h" #include "SphericalSystemForce.h" #include "HapticSystemForce.h" #include "FrictionExtendedForce.h" #include "WrapperMetaForce.h" #include "OneAtomPair.h" #include "OneAtomPairTwo.h" #include "OneMollyPair.h" #include "OneMollyPairTwo.h" #include "RangeSwitchingFunction.h" #include "C2SwitchingFunction.h" #include "C1SwitchingFunction.h" #include "LennardJonesForce.h" #include "NonbondedCutoffSystemForce.h" #include "NonbondedCutoffMollyForce.h" #include "BondSystemForce.h" #include "AngleSystemForce.h" #include "oneAtomContraints.h" #include "ExternalGravitationSystemForce.h" #include "ExternalMagneticFieldExtendedForce.h" namespace ProtoMol { void registerForceExemplarsOther(const PeriodicBoundaryConditions*, const CubicCellManager*){ // ForceFactory::registerExemplar(new NonbondedCutoffSystemForce,LennardJonesForce> >()); // // ForceFactory::registerExemplar(new NonbondedCutoffSystemForce,CoulombForce> >()); // // ForceFactory::registerExemplar(new NonbondedCutoffSystemForce,LennardJonesForce, // RangeSwitchingFunction,CoulombForce> >()); ForceFactory::registerExemplar(new WrapperMetaForce("MollyLennardJones",true, new NonbondedCutoffMollyForce,LennardJonesForce> >(), "MollyLennardJones", new NonbondedCutoffSystemForce,LennardJonesForce, HBondConstraint> >(), "HBondLennardJones")); ForceFactory::registerExemplar(new WrapperMetaForce("MollyCoulomb",true, new NonbondedCutoffMollyForce,CoulombForce> >(), "MollyCoulomb", new NonbondedCutoffSystemForce,CoulombForce, HBondConstraint> >(), "HBondCoulomb")); ForceFactory::registerExemplar(new WrapperMetaForce("MollyLennardJonesCoulomb",true, new NonbondedCutoffMollyForce,LennardJonesForce, RangeSwitchingFunction,CoulombForce> >(), "MollyLennardJonesCoulomb", new NonbondedCutoffSystemForce,LennardJonesForce, RangeSwitchingFunction,CoulombForce, HBondConstraint> >(), "HBondLennardJonesCoulomb")); } void registerForceExemplarsOther(const PeriodicBoundaryConditions*){ ForceFactory::registerExemplar(new WrapperMetaForce("MollyBond",true,new BondSystemForce(),"MollyBond")); ForceFactory::registerExemplar(new WrapperMetaForce("MollyAngle",true,new AngleSystemForce(),"MollyAngle")); ForceFactory::registerExemplar(new ElectricFieldSystemForce()); } void registerForceExemplarsOther(const VacuumBoundaryConditions*, const CubicCellManager*){ ForceFactory::registerExemplar(new WrapperMetaForce("MollyLennardJones",true, new NonbondedCutoffMollyForce,LennardJonesForce> >(), "MollyLennardJones", new NonbondedCutoffSystemForce,LennardJonesForce, HBondConstraint> >(), "HBondLennardJones")); ForceFactory::registerExemplar(new WrapperMetaForce("MollyCoulomb",true, new NonbondedCutoffMollyForce,CoulombForce> >(), "MollyCoulomb", new NonbondedCutoffSystemForce,CoulombForce, HBondConstraint> >(), "HBondCoulomb")); ForceFactory::registerExemplar(new WrapperMetaForce("MollyLennardJonesCoulomb",true, new NonbondedCutoffMollyForce,LennardJonesForce, RangeSwitchingFunction,CoulombForce> >(), "MollyLennardJonesCoulomb", new NonbondedCutoffSystemForce,LennardJonesForce, RangeSwitchingFunction,CoulombForce, HBondConstraint> >(), "HBondLennardJonesCoulomb")); ForceFactory::registerExemplar(new ElectricFieldSystemForce()); } void registerForceExemplarsOther(){ ForceFactory::registerExemplar(new ExternalMagneticFieldExtendedForce()); ForceFactory::registerExemplar(new ExternalGravitationSystemForce()); ForceFactory::registerExemplar(new HapticSystemForce()); ForceFactory::registerExemplar(new FrictionExtendedForce()); } void registerForceExemplarsOther(const VacuumBoundaryConditions*){ // PaulTrap for Coulomb Crystals ForceFactory::registerExemplar(new PaulTrapExtendedForce()); // Spherical boundary conditions ForceFactory::registerExemplar(new SphericalSystemForce()); ForceFactory::registerExemplar(new WrapperMetaForce("MollyBond",true,new BondSystemForce(),"MollyBond")); ForceFactory::registerExemplar(new WrapperMetaForce("MollyAngle",true,new AngleSystemForce(),"MollyAngle")); } } protomol/framework/factories/registerForceExemplarsOther.h0100644027616700000500000000221610237151530023623 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERFORCEEXEMPLARSOTHER_H #define REGISTERFORCEEXEMPLARSOTHER_H namespace ProtoMol { class CubicCellManager; class PeriodicBoundaryConditions; class VacuumBoundaryConditions; /// registers special force prototypes (independent of boundary condtions and cell list manager) to be recognized by the parser void registerForceExemplarsOther(); /// registers special force prototypes (periodic boundary conditionsand cell list manager) to be recognized by the parser void registerForceExemplarsOther(const PeriodicBoundaryConditions*, const CubicCellManager*); /// registers special force prototypes (periodic boundary conditions) to be recognized by the parser void registerForceExemplarsOther(const PeriodicBoundaryConditions*); /// registers special force prototypes (vacuum and cell list manager) to be recognized by the parser void registerForceExemplarsOther(const VacuumBoundaryConditions*, const CubicCellManager*); /// registers special force prototypes (vacuum) to be recognized by the parser void registerForceExemplarsOther(const VacuumBoundaryConditions*); } #endif /* REGISTERFORCEEXEMPLARS_H */ protomol/framework/factories/registerForceExemplarsSimpleFull.cpp0100644027616700000500000001664410237151530025163 0ustar pbrenne1dip#include "registerForceExemplarsSimpleFull.h" #include "ScalarStructure.h" #include "Topology.h" #include "OneAtomPair.h" #include "OneAtomPairTwo.h" #include "CoulombForce.h" #include "ForceFactory.h" #include "GravitationForce.h" #include "LennardJonesForce.h" #include "MagneticDipoleForce.h" #include "NonbondedSimpleFullSystemForce.h" #include "PeriodicBoundaryConditions.h" #include "UniversalSwitchingFunction.h" #include "ComplementSwitchingFunction.h" #include "C1SwitchingFunction.h" #include "C2SwitchingFunction.h" #include "CutoffSwitchingFunction.h" #include "ShiftSwitchingFunction.h" #include "VacuumBoundaryConditions.h" namespace ProtoMol { void registerForceExemplarsSimpleFull(const PeriodicBoundaryConditions*){ // NonbondedSimpleFullSystemForce CoulombForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,CoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,CoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,CoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,CoulombForce> >()); // NonbondedSimpleFullSystemForce LennardJonesForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,LennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,LennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,LennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,LennardJonesForce> >()); // NonbondedSimpleFullSystemForce LennardJonesForce CoulombForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPairTwo >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPairTwo,LennardJonesForce,ComplementSwitchingFunction,CoulombForce> >()); // MagneticDipole ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,MagneticDipoleForce> >()); // GravitationForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair >()); } void registerForceExemplarsSimpleFull(const VacuumBoundaryConditions*){ // NonbondedSimpleFullSystemForce CoulombForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,CoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,CoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,CoulombForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,CoulombForce> >()); // NonbondedSimpleFullSystemForce LennardJonesForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,LennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,LennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,LennardJonesForce> >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,LennardJonesForce> >()); // NonbondedSimpleFullSystemForce LennardJonesForce CoulombForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPairTwo >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPairTwo,LennardJonesForce,ComplementSwitchingFunction,CoulombForce> >()); // MagneticDipole ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair >()); ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair,MagneticDipoleForce> >()); // GravitationForce ForceFactory::registerExemplar(new NonbondedSimpleFullSystemForce< OneAtomPair >()); } } protomol/framework/factories/registerForceExemplarsSimpleFull.h0100644027616700000500000000111110237151530024607 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERFORCEEXEMPLARSSIMPLEFULL_H #define REGISTERFORCEEXEMPLARSSIMPLEFULL_H namespace ProtoMol { class PeriodicBoundaryConditions; class VacuumBoundaryConditions; /// registers direct force method prototypes (periodic boundary conditions) to be recognized by the parser void registerForceExemplarsSimpleFull(const PeriodicBoundaryConditions*); /// registers direct force method prototypes (vacuum) to be recognized by the parser void registerForceExemplarsSimpleFull(const VacuumBoundaryConditions*); } #endif /* REGISTERFORCEEXEMPLARS_H */ protomol/framework/factories/registerIntegratorExemplars.cpp0100644027616700000500000000351110237151530024233 0ustar pbrenne1dip#include "registerIntegratorExemplars.h" #include "BBKIntegrator.h" #include "BSplineMOLLYIntegrator.h" #include "DMDLeapfrogIntegrator.h" #include "DihedralHMCIntegrator.h" #include "DLMCIntegrator.h" #include "EquilibriumMOLLYIntegrator.h" #include "HMCIntegrator.h" #include "ImpulseIntegrator.h" #include "IntegratorFactory.h" #include "LangevinImpulseIntegrator.h" #include "LeapfrogIntegrator.h" #include "NPTVerletIntegrator.h" #include "NoseNVTLeapfrogIntegrator.h" #include "PLeapfrogIntegrator.h" #include "PaulTrapIntegrator.h" #include "ShadowHMCIntegrator.h" #include "UmbrellaIntegrator.h" #include "Vector.h" namespace ProtoMol { void registerIntegratorExemplars(){ IntegratorFactory::registerExemplar(new BBKIntegrator()); IntegratorFactory::registerExemplar(new BSplineMOLLYIntegrator(),Vector("HBondMOLLY")); IntegratorFactory::registerExemplar(new DMDLeapfrogIntegrator()); IntegratorFactory::registerExemplar(new DihedralHMCIntegrator()); IntegratorFactory::registerExemplar(new DLMCIntegrator()); IntegratorFactory::registerExemplar(new EquilibriumMOLLYIntegrator()); IntegratorFactory::registerExemplar(new HMCIntegrator()); IntegratorFactory::registerExemplar(new ImpulseIntegrator()); IntegratorFactory::registerExemplar(new LangevinImpulseIntegrator()); IntegratorFactory::registerExemplar(new LeapfrogIntegrator()); IntegratorFactory::registerExemplar(new NPTVerletIntegrator()/*,Vector("NoseNPTLeapfrog")*/); IntegratorFactory::registerExemplar(new NoseNVTLeapfrogIntegrator()); IntegratorFactory::registerExemplar(new PLeapfrogIntegrator()); IntegratorFactory::registerExemplar(new PaulTrapIntegrator()); IntegratorFactory::registerExemplar(new ShadowHMCIntegrator()); IntegratorFactory::registerExemplar(new UmbrellaIntegrator()); } } protomol/framework/factories/registerIntegratorExemplars.h0100644027616700000500000000041610237151530023701 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERINTEGRATOREXEMPLARS_H #define REGISTERINTEGRATOREXEMPLARS_H namespace ProtoMol { /// registers Integrator prototypes to be recognized by the parser void registerIntegratorExemplars(); } #endif /* REGISTERINTEGRATOREXEMPLARS_H */ protomol/framework/factories/registerOutputExemplars.cpp0100644027616700000500000000327410237151530023423 0ustar pbrenne1dip#include "registerOutputExemplars.h" #include "OutputDCDTrajectory.h" #include "OutputDiffusion.h" #include "OutputDihedrals.h" #include "OutputEnergies.h" #include "OutputFactory.h" #include "OutputFinalPDBPos.h" #include "OutputFinalXYZBinPos.h" #include "OutputFinalXYZBinVel.h" #include "OutputFinalXYZPos.h" #include "OutputFinalXYZVel.h" #include "OutputMomentum.h" #include "OutputPDBFramePos.h" #include "OutputPaulTrap.h" #include "OutputScreen.h" #include "OutputTemperatures.h" #include "OutputXYZTrajectoryForce.h" #include "OutputXYZTrajectoryPos.h" #include "OutputXYZTrajectoryVel.h" namespace ProtoMol { void registerOutputExemplars(){ OutputFactory::registerExemplar(new OutputDCDTrajectory()); OutputFactory::registerExemplar(new OutputDiffusion()); OutputFactory::registerExemplar(new OutputDihedrals()); OutputFactory::registerExemplar(new OutputEnergies()); OutputFactory::registerExemplar(new OutputFinalXYZBinPos()); OutputFactory::registerExemplar(new OutputFinalXYZBinVel()); OutputFactory::registerExemplar(new OutputFinalXYZPos()); OutputFactory::registerExemplar(new OutputFinalPDBPos()); OutputFactory::registerExemplar(new OutputFinalXYZVel()); OutputFactory::registerExemplar(new OutputMomentum()); OutputFactory::registerExemplar(new OutputPDBFramePos()); OutputFactory::registerExemplar(new OutputPaulTrap()); OutputFactory::registerExemplar(new OutputScreen()); OutputFactory::registerExemplar(new OutputTemperatures()); OutputFactory::registerExemplar(new OutputXYZTrajectoryForce()); OutputFactory::registerExemplar(new OutputXYZTrajectoryPos()); OutputFactory::registerExemplar(new OutputXYZTrajectoryVel()); } } protomol/framework/factories/registerOutputExemplars.h0100644027616700000500000000037210237151530023064 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTEROUTPUTEXEMPLARS_H #define REGISTEROUTPUTEXEMPLARS_H namespace ProtoMol { /// registers Output prototypes to be recognized by the parser void registerOutputExemplars(); } #endif /* REGISTEROUTPUTEXEMPLARS_H */ protomol/framework/factories/registerTopologyExemplars.cpp0100644027616700000500000000112410237151530023727 0ustar pbrenne1dip#include "registerTopologyExemplars.h" #include "Topology.h" #include "TopologyFactory.h" #include "VacuumBoundaryConditions.h" #include "CubicCellManager.h" #include "PeriodicBoundaryConditions.h" #include "Vector.h" namespace ProtoMol { void registerTopologyExemplars(){ // vacuum or normal boundary conditions TopologyFactory::registerExemplar(new Topology(),Vector("NormalCubic")); // periodic boundary conditions TopologyFactory::registerExemplar(new Topology()); } } protomol/framework/factories/registerTopologyExemplars.h0100644027616700000500000000040410237151530023374 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REGISTERTOPOLOGYEXEMPLARS_H #define REGISTERTOPOLOGYEXEMPLARS_H namespace ProtoMol { /// registers Topology prototypes to be recognized by the parser void registerTopologyExemplars(); } #endif /* REGISTERTOPOLOGYEXEMPLARS_H */ protomol/framework/forces/0040755027616700000500000000000010237151531015271 5ustar pbrenne1dipprotomol/framework/forces/.cvsignore0100644027616700000500000000004710237151530017266 0ustar pbrenne1dip*.o *.il Makefile.in Makefile ti_files protomol/framework/forces/AngleSystemForce.h0100644027616700000500000002354510237151530020661 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ANGLESYSTEMFORCE_H #define ANGLESYSTEMFORCE_H #include "SystemForce.h" #include "AngleSystemForceBase.h" #include "ScalarStructure.h" #include "Parallel.h" namespace ProtoMol { //_________________________________________________________________ AngleSystemForce template class AngleSystemForce : public SystemForce, private AngleSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class AngleSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void calcAngle(const TBoundaryConditions &boundary, const Angle& currentAngle, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); Real calcAngleEnergy(const TBoundaryConditions &boundary, const Angle& currentAngle, const Vector3DBlock* positions); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector) const { return (new AngleSystemForce()); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 0;} virtual void getParameters(std::vector&) const {} private: virtual void doSetParameters(std::string&, std::vector){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //______________________________________________________________________ INLINES template inline void AngleSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; for (unsigned int i = 0; i < topo->angles.size(); i++) calcAngle(boundary, topo->angles[i], positions, forces, energies); } template inline void AngleSystemForce::calcAngle(const TBoundaryConditions &boundary, const Angle& currentAngle, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ int a1 = currentAngle.atom1; int a2 = currentAngle.atom2; int a3 = currentAngle.atom3; Real restAngle = currentAngle.restAngle; Real forceConstant = currentAngle.forceConstant; Real ureyBradleyConstant = currentAngle.ureyBradleyConstant; Real ureyBradleyRestLength = currentAngle.ureyBradleyRestLength; // Report::report << restAngle <<","<virial()){ Real xy = force1.x * r12.y + force3.x * r32.y; Real xz = force1.x * r12.z + force3.x * r32.z; Real yz = force1.y * r12.z + force3.y * r32.z; (*energies)[ScalarStructure::VIRIALXX] += force1.x * r12.x + force3.x * r32.x; (*energies)[ScalarStructure::VIRIALXY] += xy; (*energies)[ScalarStructure::VIRIALXZ] += xz; (*energies)[ScalarStructure::VIRIALYX] += xy; (*energies)[ScalarStructure::VIRIALYY] += force1.y * r12.y + force3.y * r32.y; (*energies)[ScalarStructure::VIRIALYZ] += yz; (*energies)[ScalarStructure::VIRIALZX] += xz; (*energies)[ScalarStructure::VIRIALZY] += yz; (*energies)[ScalarStructure::VIRIALZZ] += force1.z * r12.z + force3.z * r32.z; } } template inline Real AngleSystemForce::calcAngleEnergy(const TBoundaryConditions &boundary, const Angle& currentAngle, const Vector3DBlock* positions) { int a1, a2, a3; Real restAngle, forceConstant, ureyBradleyConstant, ureyBradleyRestLength; Vector3D atom1, atom2, atom3, r12, r32, r13; Real d13, theta, eHarmonic, eUreyBradley; a1 = currentAngle.atom1; a2 = currentAngle.atom2; a3 = currentAngle.atom3; restAngle = currentAngle.restAngle; forceConstant = currentAngle.forceConstant; ureyBradleyConstant = currentAngle.ureyBradleyConstant; ureyBradleyRestLength = currentAngle.ureyBradleyRestLength; atom1 = (*positions)[a1]; atom2 = (*positions)[a2]; atom3 = (*positions)[a3]; //r12 = atom1 - atom2; // Vector from atom 1 to atom 2. r12 = boundary.minimalDifference(atom2,atom1); //r32 = atom3 - atom2; // Vector from atom 3 to atom 2. r32 = boundary.minimalDifference(atom2,atom3); //r13 = atom1 - atom3; // Vector from atom 1 to atom 3. r13 = boundary.minimalDifference(atom3,atom1); d13 = r13.norm(); // Distance between atom 1 and 3. // Calculate theta. theta = atan2((r12.cross(r32)).norm(),r12.dot(r32)); // Calculate Energy. eHarmonic = forceConstant * (theta - restAngle)*(theta - restAngle); eUreyBradley = ureyBradleyConstant * (d13 - ureyBradleyRestLength) *(d13 - ureyBradleyRestLength); return (eHarmonic + eUreyBradley); } template inline void AngleSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; unsigned int n = topo->angles.size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i static_cast(n)) to = n; int from = (n*i)/count; for (int j = from; j < to; j++) calcAngle(boundary, topo->angles[j], positions, forces, energies); } } } template inline unsigned int AngleSystemForce::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock*){ return std::min(Parallel::getAvailableNum(),static_cast(topo->angles.size())); } } #endif /* ANGLESYSTEMFORCE_H */ protomol/framework/forces/AngleSystemForceBase.cpp0100644027616700000500000000033710237151530022001 0ustar pbrenne1dip#include "AngleSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ AngleSystemForceBase const string AngleSystemForceBase::keyword("Angle"); } protomol/framework/forces/AngleSystemForceBase.h0100644027616700000500000000057010237151530021445 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ANGLESYSTEMFORCEBASE_H #define ANGLESYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ AngleSystemForceBase class AngleSystemForceBase { public: virtual ~AngleSystemForceBase(){} static const std::string keyword; }; } #endif /* ANGLESYSTEMFORCEBASE_H */ protomol/framework/forces/BondSystemForce.h0100644027616700000500000001471610237151530020515 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef BONDSYSTEMFORCE_H #define BONDSYSTEMFORCE_H #include "SystemForce.h" #include "BondSystemForceBase.h" #include "ScalarStructure.h" #include "Parallel.h" namespace ProtoMol { //_________________________________________________________________ BondSystemForce template class BondSystemForce : public SystemForce, private BondSystemForceBase{ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class BondSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void calcBond(const TBoundaryConditions &boundary, const Bond& currentBond, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); Real calcBondEnergy(const TBoundaryConditions &boundary, const Bond& currentBond, const Vector3DBlock* positions); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector) const { return (new BondSystemForce()); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 0;} virtual void getParameters(std::vector&) const {} private: virtual void doSetParameters(std::string&, std::vector){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //______________________________________________________________________ INLINES template inline void BondSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; for (unsigned int i = 0; i < topo->bonds.size(); i++) calcBond(boundary, topo->bonds[i], positions, forces, energies); } template inline void BondSystemForce::calcBond(const TBoundaryConditions &boundary, const Bond& currentBond, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { int a1 = currentBond.atom1; int a2 = currentBond.atom2; Real restLength = currentBond.restLength; Real springConstant = currentBond.springConstant; Vector3D atom1((*positions)[a1]); Vector3D atom2((*positions)[a2]); //Vector3D r12 = atom1 - atom2; // Vector from atom 1 to atom 2. Vector3D r12(boundary.minimalDifference(atom2,atom1)); // Vector from atom 1 to atom 2. Real r = r12.norm(); // Distance between atom 1 and 2. Real dpotdr = 2.0 * springConstant * ( r - restLength); // Calculate dpot/dr // Calculate force on atom1 due to atom2. Vector3D force1(r12 * (-dpotdr/r)); // Add to the total force. (*forces)[a1] += force1; (*forces)[a2] -= force1; // Add energy (*energies)[ScalarStructure::BOND] += springConstant * ( r - restLength)*(r - restLength); // Add virial if(energies->virial()) energies->addVirial(force1,r12); } template inline Real BondSystemForce::calcBondEnergy(const TBoundaryConditions &boundary, const Bond& currentBond, const Vector3DBlock* positions) { int a1 = currentBond.atom1; int a2 = currentBond.atom2; Real restLength = currentBond.restLength; Real springConstant = currentBond.springConstant; Vector3D atom1 = (*positions)[a1]; Vector3D atom2 = (*positions)[a2]; //Vector3D r12 = atom1 - atom2; // Vector from atom 1 to atom 2. Vector3D r12 = boundary.minimalDifference(atom2,atom1); // Vector from atom 1 to atom 2. Real r = r12.norm(); // Distance between atom 1 and 2. //Calculate energy. return (springConstant * ( r - restLength)*(r - restLength)); } template inline void BondSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; unsigned int n = topo->bonds.size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i static_cast(n)) to = n; int from = (n*i)/count; for (int j = from; j < to; j++) calcBond(boundary, topo->bonds[j], positions, forces, energies); } } } template inline unsigned int BondSystemForce::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock*){ return std::min(Parallel::getAvailableNum(),static_cast(topo->bonds.size())); } } #endif /* BONDSYSTEMFORCE_H */ protomol/framework/forces/BondSystemForceBase.cpp0100644027616700000500000000033410237151530021632 0ustar pbrenne1dip#include "BondSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ BondSystemForceBase const string BondSystemForceBase::keyword("Bond"); } protomol/framework/forces/BondSystemForceBase.h0100644027616700000500000000056010237151530021300 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef BONDSYSTEMFORCEBASE_H #define BONDSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ BondSystemForceBase class BondSystemForceBase { public: virtual ~BondSystemForceBase(){} static const std::string keyword; }; } #endif /* BONDSYSTEMFORCEBASE_H */ protomol/framework/forces/CompareForce.cpp0100644027616700000500000001155110237151530020341 0ustar pbrenne1dip#include "CompareForce.h" #include "ScalarStructure.h" #include "Parallel.h" #include "mathutilities.h" #include "Vector3DBlock.h" #include "GenericTopology.h" using std::string; using std::vector; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ CompareForce const string CompareForce::keyword("compare"); unsigned int CompareForce::myCounter = 0; CompareForce::CompareForce(Force* actualForce, CompareForce* compareForce):myForces(new Vector3DBlock), myEnergies(new ScalarStructure){ if(actualForce == NULL) report << error << "Actual force is a zero pointer."<getId()+"."+toString(myCompareForce->getIdNumber()); myForcename = actualForce->getId()+"."+toString(myCounter); } myIdNumber = myCounter; myCounter++; } CompareForce::~CompareForce(){ unsigned int n = myErrors.size(); if(n > 0){ CompareError avg; for(unsigned int i=0;i 1){ for(unsigned int i=0;i(myErrors[i].absF2-avg.absF2); stddev.rFavg +=power<2>(myErrors[i].rFavg-avg.rFavg); stddev.rFmax +=power<2>(myErrors[i].rFmax-avg.rFmax); stddev.rPE +=power<2>(myErrors[i].rPE -avg.rPE ); } Real m = n-1.0; stddev.absF2 =sqrt(stddev.absF2/m); stddev.rFavg =sqrt(stddev.rFavg/m); stddev.rFmax =sqrt(stddev.rFmax/m); stddev.rPE =sqrt(stddev.rPE /m); } report << plain << "Comparing "<& parameters) const{ myActualForce->getParameters(parameters); } unsigned int CompareForce::getParameterSize() const{ return myActualForce->getParameterSize(); } string CompareForce::getIdNoAlias() const{ return string(CompareForce::keyword+" "+myActualForce->getIdNoAlias()); } Force* CompareForce::doMake(string& errMsg, vector values) const{ return myActualForce->make(errMsg,values); } unsigned int CompareForce::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* positions){ return myActualForce->numberOfBlocks(topo,positions); } void CompareForce::uncache(){ myActualForce->uncache(); } void CompareForce::doSetParameters(std::string& errMsg, std::vector values){ myActualForce->setParameters(errMsg,values); } } protomol/framework/forces/CompareForce.h0100644027616700000500000000570310237151530020010 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef COMPAREFORCE_H #define COMPAREFORCE_H #include "Force.h" #include namespace ProtoMol { //_________________________________________________________________ CompareForce class CompareForce : virtual public Force { // This class contains the definition of one force struct CompareError { CompareError():absF2(0.0),rFavg(0.0),rFmax(0.0),rPE(0.0){} CompareError(Real a,Real b,Real c,Real d):absF2(a),rFavg(b),rFmax(c),rPE(d){} Real absF2,rFavg,rFmax,rPE; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: CompareForce(Force* actualForce, CompareForce* compareForce); virtual ~CompareForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class CompareForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: const Vector3DBlock* getForces() const{return myForces;} const ScalarStructure* getEnergies() const{return myEnergies;} Force* getForceObject() const{return myActualForce;} unsigned int getIdNumber() const{return myIdNumber;} protected: void preprocess(unsigned int numAtoms); void postprocess(const GenericTopology* topo, Vector3DBlock* forces,ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string& errMsg, std::vector values) const; virtual void uncache(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const; virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const; private: virtual void doSetParameters(std::string& errMsg, std::vector values); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; protected: Force* myActualForce; Vector3DBlock* myForces; ScalarStructure* myEnergies; private: CompareForce* myCompareForce; unsigned int myIdNumber; std::string myForcename; std::string myCompareForcename; static unsigned int myCounter; std::vector myErrors; }; //______________________________________________________________________ INLINES } #endif /* COMPAREFORCE_H */ protomol/framework/forces/CoulombEwaldRealForce.cpp0100644027616700000500000000150710237151530022134 0ustar pbrenne1dip#include "CoulombEwaldRealForce.h" using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ CoulombEwaldRealForce const string CoulombEwaldRealForce::keyword("CoulombEwaldReal"); CoulombEwaldRealForce::CoulombEwaldRealForce():myAlpha(-1.0){} CoulombEwaldRealForce::CoulombEwaldRealForce(Real a):myAlpha(a), myAlphaSquared(a*a), my2AlphaPI(2.0*a/sqrt(M_PI)){} void CoulombEwaldRealForce::getParameters(std::vector& parameters) const{ parameters.push_back(Parameter("-alpha",Value(myAlpha,ConstraintValueType::Positive()),Text("Ewald splitting"))); } CoulombEwaldRealForce CoulombEwaldRealForce::make(std::string& , const std::vector& values) { return CoulombEwaldRealForce(values[0]); } } protomol/framework/forces/CoulombEwaldRealForce.h0100644027616700000500000000555010237151530021603 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef COULOMBEWALDREALFORCE_H #define COULOMBEWALDREALFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include "mathutilities.h" #include //#define USE_COULOMBEWALDREAL_EXACT_ERF namespace ProtoMol { //_________________________________________________________________ CoulombEwaldRealForce class CoulombEwaldRealForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Replacement potential of the real part for Ewald or PME. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: CoulombEwaldRealForce(); CoulombEwaldRealForce(Real a); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class CoulombEwaldRealForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real distSquared, Real #ifdef USE_COULOMBEWALDREAL_EXACT_ERF rDistSquared #endif , const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { Real qq = topo->atoms[atom1].scaledCharge * topo->atoms[atom2].scaledCharge; if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) qq *= topo->coulombScalingFactor; Real r = sqrt(distSquared); #ifndef USE_COULOMBEWALDREAL_EXACT_ERF Real rr = 1.0/r; Real ar = myAlpha*r; Real e = qq*exp(-ar*ar); energy = poly5(ar)*e*rr; force = ((energy+my2AlphaPI*e)*rr*rr); #else Real a = erfc(myAlpha*r)/r; energy = qq*a; force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*distSquared))*rDistSquared; #endif } static void accumulateEnergy(ScalarStructure* energies, Real energy) { (*energies)[ScalarStructure::COULOMB] += energy; } static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 1;} void getParameters(std::vector&) const; static CoulombEwaldRealForce make(std::string&, const std::vector&); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real myAlpha; Real myAlphaSquared; Real my2AlphaPI; }; //______________________________________________________________________ INLINES } #endif /* COULOMBEWALDREALFORCE_H */ protomol/framework/forces/CoulombEwaldRealTableForce.cpp0100644027616700000500000000605510237151530023107 0ustar pbrenne1dip#include "CoulombEwaldRealTableForce.h" using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ CoulombEwaldRealTableForce const string CoulombEwaldRealTableForce::keyword("CoulombEwaldRealTable"); CoulombEwaldRealTableForce::CoulombEwaldRealTableForce():myTable(NULL),myAlpha(-1.0),myRc(-1.0),myN(0){} CoulombEwaldRealTableForce::CoulombEwaldRealTableForce(Real a, Real rc, unsigned int n):myTable(new Real[2*n]), myAlpha(a), myRc(rc), myAlphaSquared(a*a), my2AlphaPI(2.0*a/sqrt(M_PI)), myFac(((Real)n-2.0)/sqrt(rc)), myN(n){ for(unsigned int i=0;i((i+(i==0?0.01:0.0))/myFac); Real b = erfc(myAlpha*r)/r; myTable[i*2 ] = b; myTable[i*2+1] = (b+my2AlphaPI*exp(-myAlphaSquared*r*r))/(r*r); } report <(1.0/myFac)<<","<((Real)n/myFac)<<"[, table[0,1,"<& parameters) const{ parameters.push_back(Parameter("-alpha",Value(myAlpha,ConstraintValueType::Positive()),Text("splitting"))); parameters.push_back(Parameter("-tableCutoff",Value(myRc,ConstraintValueType::Positive()),Text("cutoff for table look up"))); parameters.push_back(Parameter("-tableSize",Value(myN,ConstraintValueType::Positive()),static_cast(DEFAULT_TABLE_SIZE),Text("size of table look up"))); } CoulombEwaldRealTableForce CoulombEwaldRealTableForce::make(std::string& , const std::vector& values) { return CoulombEwaldRealTableForce(values[0],values[1],values[2]); } } protomol/framework/forces/CoulombEwaldRealTableForce.h0100644027616700000500000000623010237151530022547 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef COULOMBEWALDREALTABLEFORCE_H #define COULOMBEWALDREALTABLEFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include "mathutilities.h" #include namespace ProtoMol { //_________________________________________________________________ CoulombEwaldRealTableForce class CoulombEwaldRealTableForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Replacement potential of the real part for Ewald or PME. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {DEFAULT_TABLE_SIZE=20000}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: CoulombEwaldRealTableForce(); CoulombEwaldRealTableForce(Real a, Real rc, unsigned int n); CoulombEwaldRealTableForce(CoulombEwaldRealTableForce const& other); CoulombEwaldRealTableForce& operator=(CoulombEwaldRealTableForce const& other); ~CoulombEwaldRealTableForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class CoulombEwaldRealTableForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real distSquared, Real /*rDistSquared*/, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { Real qq = topo->atoms[atom1].scaledCharge * topo->atoms[atom2].scaledCharge; if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) qq *= topo->coulombScalingFactor; Real n = sqrt(sqrt(distSquared))*myFac; int index = (int)n; Real b = n-index; //Report::report << index <<","<&) const; static CoulombEwaldRealTableForce make(std::string&, const std::vector&); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real* myTable; Real myAlpha; Real myRc; Real myAlphaSquared; Real my2AlphaPI; Real myFac; unsigned int myN; }; //______________________________________________________________________ INLINES } #endif /* COULOMBEWALDREALTABLEFORCE_H */ protomol/framework/forces/CoulombForce.cpp0100644027616700000500000000061110237151530020346 0ustar pbrenne1dip#include "CoulombForce.h" using std::string; namespace ProtoMol { //_________________________________________________________________ CoulombForce const string CoulombForce::keyword("Coulomb"); const string CoulombForce::C1::keyword("C1"); const string CoulombForce::C2::keyword("C2"); const string CoulombForce::C3::keyword("C3"); const string CoulombForce::C4::keyword("C4"); } protomol/framework/forces/CoulombForce.h0100644027616700000500000001514510237151530020023 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef COULOMBFORCE_H #define COULOMBFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include namespace ProtoMol { //_________________________________________________________________ CoulombForce class CoulombForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // This uses the weighted charges on each atom, so the Coulomb // constant here is one. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class CoulombForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real /*distSquared*/, Real rDistSquared, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { energy = topo->atoms[atom1].scaledCharge * topo->atoms[atom2].scaledCharge * sqrt(rDistSquared); if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) energy *= topo->coulombScalingFactor; force = energy * rDistSquared; } static void accumulateEnergy(ScalarStructure* energies, Real energy) { (*energies)[ScalarStructure::COULOMB] += energy; } static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 0;} void getParameters(std::vector&) const{} static CoulombForce make(std::string&, const std::vector&) { return CoulombForce(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Sub Classes //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: class C1 { public: static Real kernel(Real r) {return (1.0/r);} static Real dKernel(Real r) {r=1.0/r;return (-r*r);} static Real kernelR(Real rr) {return (rr);} static Real dKernelR(Real rr) {return (-rr*rr);} static Real smooth(Real r,Real /*c*/,Real cr) {return (cr*(1.5-0.5*r*r*cr*cr));} static Real smooth0(Real /*c*/,Real cr) {return (1.5*cr);} static Real dSmooth(Real r,Real /*c*/,Real cr) {return (-r*cr*cr*cr);} static Real smoothKernel(Real r,Real c,Real cr) {return (r namespace ProtoMol { //_________________________________________________________________ CoulombMultiGridDirectForce template class CoulombMultiGridDirectForce : private CoulombMultiGridDirectForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Potential to compute the direct part of MultiGrid //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: CoulombMultiGridDirectForce():myS(0.0){} CoulombMultiGridDirectForce(Real s):myS(s),myRS(1.0/s){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class CoulombMultiGridDirectForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real distSquared, Real /*rDistSquared*/, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { Real qq = topo->atoms[atom1].scaledCharge * topo->atoms[atom2].scaledCharge; if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) qq *= topo->coulombScalingFactor; Real r = sqrt(distSquared); Real rr = 1.0/r; force = (-TKernel::dKernelR(rr) + TKernel::dSmooth(r,myS,myRS))*rr*qq; energy = ( TKernel::kernelR(rr) - TKernel::smooth(r,myS,myRS))*qq; } static void accumulateEnergy(ScalarStructure* energies, Real energy) { (*energies)[ScalarStructure::COULOMB] += energy; } static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::COULOMB];} // Parsing static std::string getId() {return keyword+" -kernel "+TKernel::keyword;} static unsigned int getParameterSize() {return 1;} void getParameters(std::vector¶meters) const{parameters.push_back(Parameter("-s",Value(myS,ConstraintValueType::Positive()),Text("MG smoothing distance")));} static CoulombMultiGridDirectForce make(std::string&, const std::vector& values){return CoulombMultiGridDirectForce(values[0]);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real myS; Real myRS; }; //______________________________________________________________________ INLINES } #endif /* COULOMBMULTIGRIDDIRECTFORCE_H */ protomol/framework/forces/CoulombMultiGridDirectForceBase.cpp0100644027616700000500000000042210237151530024115 0ustar pbrenne1dip#include "CoulombMultiGridDirectForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ CoulombMultiGridDirectForceBase const string CoulombMultiGridDirectForceBase::keyword("CoulombMultiGridDirect"); } protomol/framework/forces/CoulombMultiGridDirectForceBase.h0100644027616700000500000000060710237151530023567 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef COULOMBMULTIGRIDDIRECTFORCEBASE_H #define COULOMBMULTIGRIDDIRECTFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ CoulombMultiGridDirectForceBase class CoulombMultiGridDirectForceBase { public: static const std::string keyword; }; } #endif /* COULOMBMULTIGRIDDIRECTFORCEBASE_H */ protomol/framework/forces/CoulombMultiGridDirectTableForce.h0100644027616700000500000001156210237151530023746 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef COULOMBMULTIGRIDDIRECTTABLEFORCE_H #define COULOMBMULTIGRIDDIRECTTABLEFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include "mathutilities.h" #include #include "CoulombMultiGridDirectTableForceBase.h" namespace ProtoMol { //_________________________________________________________________ CoulombMultiGridDirectTableForce template class CoulombMultiGridDirectTableForce : private CoulombMultiGridDirectTableForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Replacement potential of the real part for MultiGrid or PME. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {DEFAULT__SIZE=20000}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: CoulombMultiGridDirectTableForce():myTable(NULL),myS(0.0),myN(0){} CoulombMultiGridDirectTableForce(Real s, unsigned int n):myTable(new Real[2*n]),myS(s),myRS(1.0/s),myFac(((Real)n-2.0)/s),myN(n){ for(unsigned int i=0;iatoms[atom1].scaledCharge * topo->atoms[atom2].scaledCharge; if (topo->coulombScalingFactor != 1.0 && excl == EXCLUSION_MODIFIED) qq *= topo->coulombScalingFactor; Real n = sqrt(distSquared)*myFac; int index = (int)n; Real b = n-index; //Report::report << index <<","<¶meters) const{ parameters.push_back(Parameter("-s",Value(myS,ConstraintValueType::Positive()),Text("MG smoothing distance"))); parameters.push_back(Parameter("-Size",Value(myN,ConstraintValueType::Positive()),static_cast(DEFAULT__SIZE),Text("size of look up"))); } static CoulombMultiGridDirectTableForce make(std::string&, const std::vector& values){return CoulombMultiGridDirectTableForce(values[0],values[1]);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real* myTable; Real myS; Real myRS; Real myFac; unsigned int myN; }; //______________________________________________________________________ INLINES } #endif /* COULOMBMULTIGRIDDIRECTTABLEFORCE_H */ protomol/framework/forces/CoulombMultiGridDirectTableForceBase.cpp0100644027616700000500000000044610237151530025073 0ustar pbrenne1dip#include "CoulombMultiGridDirectTableForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ CoulombMultiGridDirectTableForceBase const string CoulombMultiGridDirectTableForceBase::keyword("CoulombMultiGridDirectTable"); } protomol/framework/forces/CoulombMultiGridDirectTableForceBase.h0100644027616700000500000000064010237151530024534 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef COULOMBMULTIGRIDDIRECTTABLEFORCEBASE_H #define COULOMBMULTIGRIDDIRECTTABLEFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ CoulombMultiGridDirectTableForceBase class CoulombMultiGridDirectTableForceBase { public: static const std::string keyword; }; } #endif /* COULOMBMULTIGRIDDIRECTTABLEFORCEBASE_H */ protomol/framework/forces/DihedralSystemForce.h0100644027616700000500000001001010237151530021326 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef DIHEDRALSYSTEMFORCE_H #define DIHEDRALSYSTEMFORCE_H #include "MTorsionSystemForce.h" #include "DihedralSystemForceBase.h" #include "ScalarStructure.h" #include "Parallel.h" namespace ProtoMol { //_________________________________________________________________ DihedralSystemForce template class DihedralSystemForce: public MTorsionSystemForce, private DihedralSystemForceBase{ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector) const { return (new DihedralSystemForce());} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 0;} virtual void getParameters(std::vector&) const {} private: virtual void doSetParameters(std::string&, std::vector){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //______________________________________________________________________ INLINES template inline void DihedralSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; for (unsigned int i = 0; i < topo->dihedrals.size(); i++) calcTorsion(boundary,topo->dihedrals[i], positions, forces,(*energies)[ScalarStructure::DIHEDRAL],energies); } template inline void DihedralSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; unsigned int n = topo->dihedrals.size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i static_cast(n)) to = n; int from = (n*i)/count; for (int j = from; j < to; j++) calcTorsion(boundary, topo->dihedrals[j], positions, forces, (*energies)[ScalarStructure::DIHEDRAL],energies); } } } template inline unsigned int DihedralSystemForce::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock*){ return std::min(Parallel::getAvailableNum(),static_cast(topo->dihedrals.size())); } } #endif /* DIHEDRALSYSTEMFORCE_H */ protomol/framework/forces/DihedralSystemForceBase.cpp0100644027616700000500000000035410237151530022466 0ustar pbrenne1dip#include "DihedralSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ DihedralSystemForceBase const string DihedralSystemForceBase::keyword("Dihedral"); } protomol/framework/forces/DihedralSystemForceBase.h0100644027616700000500000000061110237151530022127 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef DIHEDRALSYSTEMFORCEBASE_H #define DIHEDRALSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ DihedralSystemForceBase class DihedralSystemForceBase { public: virtual ~DihedralSystemForceBase(){} static const std::string keyword; }; } #endif /* DIHEDRALSYSTEMFORCEBASE_H */ protomol/framework/forces/ElectricFieldSystemForce.h0100644027616700000500000001774010237151530022331 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ELECTRICFIELDFORCE_H #define ELECTRICFIELDFORCE_H #include "SystemForce.h" #include "ElectricFieldSystemForceBase.h" #include "ScalarStructure.h" #include "Parallel.h" #include "pmconstants.h" #include "Parameter.h" #include "oneAtomContraints.h" namespace ProtoMol { //_________________________________________________________________ ElectricFieldSystemForce template class ElectricFieldSystemForce : public SystemForce, private ElectricFieldSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ElectricFieldSystemForce(); ElectricFieldSystemForce(TSwitchingFunction sF, Vector3D origin, Real e, Real a); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ElectricFieldSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void doEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, int from, int to); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* position, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return TConstraint::getPrefixId() + keyword + TConstraint::getPostfixId() + std::string((!TSwitchingFunction::USE) ? std::string("") : std::string(" -switchingFunction " + TSwitchingFunction::getId())); } virtual unsigned int getParameterSize() const{return 3+TSwitchingFunction::getParameterSize();} virtual void getParameters(std::vector&) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: TSwitchingFunction switchingFunction; Vector3D myOrigin; Real myE; Real myA; Real myC; Real mySquaredCutoff; }; //______________________________________________________________________ INLINES template ElectricFieldSystemForce::ElectricFieldSystemForce():SystemForce(),myOrigin(Vector3D(0.0,0.0,0.0)),myE(0.0),myA(0.0),myC(0.0){} template ElectricFieldSystemForce::ElectricFieldSystemForce(TSwitchingFunction sF, Vector3D origin, Real e, Real a):SystemForce(),switchingFunction(sF),myOrigin(origin),myE(e),myA(a),myC(Constant::SQRTCOULOMBCONSTANT*e),mySquaredCutoff(sF.cutoffSquared()){} template inline void ElectricFieldSystemForce::getParameters(std::vector& parameters) const { switchingFunction.getParameters(parameters); parameters.push_back(Parameter("-origin",Value(myOrigin))); parameters.push_back(Parameter("-e",Value(myE),Text("Electric field source, [e]"))); parameters.push_back(Parameter("-a",Value(myA,ConstraintValueType::Positive()),Text("Scaling factor"))); } template inline Force* ElectricFieldSystemForce::doMake(std::string& errMsg, std::vector values) const { unsigned int n = TSwitchingFunction::getParameterSize(); return new ElectricFieldSystemForce(TSwitchingFunction::make(errMsg,std::vector(values.begin(),values.begin()+n)), values[0+n],values[1+n],values[2+n]); } template inline void ElectricFieldSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ doEvaluate(topo,positions,forces,energies,0,(int)positions->size()); } template inline void ElectricFieldSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ unsigned int n = positions->size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i static_cast(n)) to = n; int from = (n*i)/count; doEvaluate(topo,positions,forces,energies,from,to); } } } template inline void ElectricFieldSystemForce::doEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, int from, int to){ const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; Real e = 0.0; for(int i=from;i mySquaredCutoff) continue; Real d = sqrt(distSquared); Real r = d*myA+1; // Calculate the force and energy. Real energy = myC*topo->atoms[i].scaledCharge/r; Real force = -energy*myA/r*(d > Constant::EPSILON ? 1.0/d : 0.0); // Calculate the switched force and energy. if (TSwitchingFunction::USE) { Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, distSquared); // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force = force * switchingValue - energy * switchingDeriv; energy = energy * switchingValue; } e += energy; // Add this force into the atom forces. Vector3D fi(pos*force); (*forces)[i] -= fi; // End of force computation. } (*energies)[ScalarStructure::OTHER] += e; } template inline unsigned int ElectricFieldSystemForce::numberOfBlocks(const GenericTopology*, const Vector3DBlock* pos){ return std::min(Parallel::getAvailableNum(),static_cast(pos->size())); } } #endif /* ELECTRICFIELDFORCE_H */ protomol/framework/forces/ExtendedForce.h0100644027616700000500000000405610237151530020162 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef EXTENDEDFORCE_H #define EXTENDEDFORCE_H #include "Force.h" namespace ProtoMol { class CompareForce; class TimeForce; class ForceGroup; class GenericTopology; class Vector3DBlock; class CompareForce; class TimeForce; //_________________________________________________________________ ExtendedForce class ExtendedForce : virtual public Force { // This class contains the definition of one extended force (a force that works // on unprocessed positions and velocities) //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ExtendedForce():Force(){} virtual ~ExtendedForce(){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies)=0; // Evaluate this force using the information given. virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies); virtual CompareForce* makeCompareForce(Force* actualForce, CompareForce* compareForce) const; virtual TimeForce* makeTimeForce(Force* actualForce) const; virtual void addToForceGroup(ForceGroup* forceGroup); }; //______________________________________________________________________ INLINES inline void ExtendedForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies){ evaluate(topo,positions,velocities,forces,energies); } } #endif /* EXTENDEDFORCE_H */ protomol/framework/forces/Force.cpp0100644027616700000500000000215610237151530017033 0ustar pbrenne1dip#include "Force.h" #include "CompareForce.h" using namespace ProtoMol::Report; using std::vector; using std::string; namespace ProtoMol { //_________________________________________________________________ Force const string Force::scope("Force"); Force* Force::make(string& errMsg, const vector& values) const{ errMsg = ""; if(!checkParameters(errMsg,values)) return NULL; return adjustAlias(doMake(errMsg,values)); } CompareForce* Force::makeCompareForce(Force* actualForce, CompareForce* compareForce) const{ report << error << "No support to compare "<<(actualForce?actualForce->getId():string("null pointer"))<<" vs. "<< (compareForce?compareForce->getId():string("null pointer"))<<"."<getId():string("null pointer"))<<"."< values){ errMsg = ""; if(checkParameters(errMsg,values)) doSetParameters(errMsg,values); } } protomol/framework/forces/ElectricFieldSystemForceBase.cpp0100644027616700000500000000040010237151530023440 0ustar pbrenne1dip#include "ElectricFieldSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ ElectricFieldSystemForceBase const string ElectricFieldSystemForceBase::keyword("ElectricField"); } protomol/framework/forces/ElectricFieldSystemForceBase.h0100644027616700000500000000062510237151530023116 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ELECTRICFIELDFORCEBASE_H #define ELECTRICFIELDFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ ElectricFieldSystemForceBase class ElectricFieldSystemForceBase { public: virtual ~ElectricFieldSystemForceBase(){} static const std::string keyword; }; } #endif /* ELECTRICFIELDFORCEBASE_H */ protomol/framework/forces/ExtendedCompareForce.cpp0100644027616700000500000000244410237151530022023 0ustar pbrenne1dip#include "ExtendedCompareForce.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "GenericTopology.h" namespace ProtoMol { //_________________________________________________________________ ExtendedCompareForce ExtendedCompareForce::ExtendedCompareForce(Force* actualForce, CompareForce* compareForce):CompareForce(actualForce,compareForce){} void ExtendedCompareForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies){ preprocess(positions->size()); (dynamic_cast(myActualForce))->evaluate(topo, positions, velocities, myForces, myEnergies); postprocess(topo,forces,energies); } void ExtendedCompareForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies){ preprocess(positions->size()); (dynamic_cast(myActualForce))->parallelEvaluate(topo, positions, velocities, myForces, myEnergies); postprocess(topo,forces,energies); } } protomol/framework/forces/ExtendedCompareForce.h0100644027616700000500000000253310237151530021467 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef EXTENDEDCOMPAREFORCE_H #define EXTENDEDCOMPAREFORCE_H #include "CompareForce.h" #include "ExtendedForce.h" namespace ProtoMol { //_________________________________________________________________ ExtendedCompareForce class ExtendedCompareForce : public CompareForce, public ExtendedForce { // This class contains the definition of one force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ExtendedCompareForce(Force* actualForce, CompareForce* compareForce); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ExtendedForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies); }; //______________________________________________________________________ INLINES } #endif /* EXTENDEDCOMPAREFORCE_H */ protomol/framework/forces/ExtendedForce.cpp0100644027616700000500000000116410237151530020512 0ustar pbrenne1dip#include "ExtendedForce.h" #include "ForceGroup.h" #include "ExtendedCompareForce.h" #include "ExtendedTimeForce.h" namespace ProtoMol { //_________________________________________________________________ ExtendedForce void ExtendedForce::addToForceGroup(ForceGroup* forceGroup){ forceGroup->addExtendedForce(this); } CompareForce* ExtendedForce::makeCompareForce(Force* actualForce, CompareForce* compareForce) const{ return (new ExtendedCompareForce(actualForce,compareForce)); } TimeForce* ExtendedForce::makeTimeForce(Force* actualForce) const{ return (new ExtendedTimeForce(actualForce)); } } protomol/framework/forces/ExtendedTimeForce.cpp0100644027616700000500000000230610237151530021330 0ustar pbrenne1dip#include "ExtendedTimeForce.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "GenericTopology.h" namespace ProtoMol { //_________________________________________________________________ ExtendedTimeForce ExtendedTimeForce::ExtendedTimeForce(Force* actualForce):TimeForce(actualForce){} void ExtendedTimeForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies){ preprocess(positions->size()); (dynamic_cast(myActualForce))->evaluate(topo, positions, velocities, forces, energies); postprocess(topo,forces,energies); } void ExtendedTimeForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies){ preprocess(positions->size()); (dynamic_cast(myActualForce))->parallelEvaluate(topo, positions, velocities, forces, energies); postprocess(topo,forces,energies); } } protomol/framework/forces/ExtendedTimeForce.h0100644027616700000500000000244710237151530021003 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef EXTENDEDTIMEFORCE_H #define EXTENDEDTIMEFORCE_H #include "TimeForce.h" #include "ExtendedForce.h" namespace ProtoMol { //_________________________________________________________________ ExtendedTimeForce class ExtendedTimeForce : public TimeForce, public ExtendedForce { // This class contains the definition of one force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ExtendedTimeForce(Force* actualForce); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ExtendedForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies); }; //______________________________________________________________________ INLINES } #endif /* EXTENDEDTIMEFORCE_H */ protomol/framework/forces/ExternalGravitationSystemForce.cpp0100644027616700000500000000463410237151530024156 0ustar pbrenne1dip#include "ExternalGravitationSystemForce.h" #include "Vector3DBlock.h" #include "GenericTopology.h" #include "Parallel.h" #include "pmconstants.h" using std::vector; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ ExternalGravitationSystemForce static const Real SI_FACTOR = 1e-3*Constant::SI::KCAL/Constant::SI::LENGTH_AA; const string ExternalGravitationSystemForce::keyword("ExternalGravitation"); ExternalGravitationSystemForce::ExternalGravitationSystemForce():SystemForce(),myG(Vector3D(0.0,0.0,0.0)){} ExternalGravitationSystemForce::ExternalGravitationSystemForce(const Vector3D& g):SystemForce(),myG(g){} void ExternalGravitationSystemForce::getParameters(vector& parameters) const { parameters.push_back(Parameter("-g",Value(myG),Vector3D(0.0,0.0,-9.81),Text("external parallel gravitation [m/s^2]"))); } Force* ExternalGravitationSystemForce::doMake(string&, vector values) const { return new ExternalGravitationSystemForce(values[0]); } void ExternalGravitationSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ doEvaluate(topo,positions,forces,energies,0,positions->size()); } void ExternalGravitationSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ unsigned int n = positions->size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i (int)n) to = n; int from = (n*i)/count; doEvaluate(topo,positions,forces,energies,from,to); } } } void ExternalGravitationSystemForce::doEvaluate(const GenericTopology* topo, const Vector3DBlock* /*positions*/, Vector3DBlock* forces, ScalarStructure* , int from, int to){ Vector3D g(myG*SI_FACTOR); for(int i=from;iatoms[i].scaledMass; } } unsigned int ExternalGravitationSystemForce::numberOfBlocks(const GenericTopology*, const Vector3DBlock* pos){ return std::min(static_cast(Parallel::getAvailableNum()),static_cast(pos->size())); } } protomol/framework/forces/ExternalGravitationSystemForce.h0100644027616700000500000000533510237151530023622 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef EXTERNALGRAVITATIONSYSTEMFORCE_H #define EXTERNALGRAVITATIONSYSTEMFORCE_H #include "SystemForce.h" namespace ProtoMol { class Vector3DBlock; class ScalarStructure; class GenericTopology; //_________________________________________________________________ ExternalGravitationSystemForce class ExternalGravitationSystemForce : public SystemForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ExternalGravitationSystemForce(); ExternalGravitationSystemForce(const Vector3D& g); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ExternalGravitationSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void doEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, int from, int to); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 1;} virtual void getParameters(std::vector&) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Vector3D myG; }; //______________________________________________________________________ INLINES } #endif /* EXTERNALGRAVITATIONSYSTEMFORCE_H */ protomol/framework/forces/ExternalMagneticFieldExtendedForce.cpp0100644027616700000500000000606110237151530024632 0ustar pbrenne1dip#include "ExternalMagneticFieldExtendedForce.h" #include "Vector3DBlock.h" #include "GenericTopology.h" #include "Parallel.h" #include "ScalarStructure.h" using std::vector; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ ExternalMagneticFieldExtendedForce const string ExternalMagneticFieldExtendedForce::keyword("ExternalMagneticField"); static const Real SI_FORCE_FACTOR = Constant::SI::ELECTRON_CHARGE*Constant::SI::AVOGADRO*Constant::SI::KCAL/Constant::SI::LENGTH_AA*(1e8/sqrt(4184.0)); ExternalMagneticFieldExtendedForce::ExternalMagneticFieldExtendedForce():ExtendedForce(),myB(Vector3D(0.0,0.0,0.0)){} ExternalMagneticFieldExtendedForce::ExternalMagneticFieldExtendedForce(const Vector3D& b ):ExtendedForce(),myB(b){} void ExternalMagneticFieldExtendedForce::getParameters(vector& parameters) const { parameters.push_back(Parameter("-B",Value(myB),Text("External magnetic field [T]"))); } Force* ExternalMagneticFieldExtendedForce::doMake(string&, vector values) const { return new ExternalMagneticFieldExtendedForce(values[0]); } void ExternalMagneticFieldExtendedForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies){ doEvaluate(topo,positions,velocities,forces,energies,0,positions->size()); } void ExternalMagneticFieldExtendedForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies){ unsigned int n = positions->size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i (int)n) to = n; int from = (n*i)/count; doEvaluate(topo,positions,velocities,forces,energies,from,to); } } } void ExternalMagneticFieldExtendedForce::doEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* /*energies*/, int from, int to){ Vector3D b(myB*SI_FORCE_FACTOR); Real e = 0.0; for(int i=from;iatomTypes[topo->atoms[i].type].charge); //report << (*forces)[i] <<","; (*forces)[i] += f; //report << b <<","<< SI_FORCE_FACTOR<<","; //report << (*velocities)[i].cross(b)*topo->atomTypes[topo->atoms[i].type].charge <(Parallel::getAvailableNum()),static_cast(pos->size())); } } protomol/framework/forces/ExternalMagneticFieldExtendedForce.h0100644027616700000500000000556510237151530024307 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef EXTERNALMAGNETICFIELDEXTENDEDFORCE_H #define EXTERNALMAGNETICFIELDEXTENDEDFORCE_H #include "ExtendedForce.h" namespace ProtoMol { class Vector3DBlock; class ScalarStructure; class GenericTopology; //_________________________________________________________________ ExternalMagneticFieldExtendedForce class ExternalMagneticFieldExtendedForce : public ExtendedForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ExternalMagneticFieldExtendedForce(); ExternalMagneticFieldExtendedForce(const Vector3D& b); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ExternalMagneticFieldExtendedForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void doEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies, int from, int to); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 1;} virtual void getParameters(std::vector&) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Vector3D myB; }; //______________________________________________________________________ INLINES } #endif /* EXTERNALMAGNETICFIELDEXTENDEDFORCE_H */ protomol/framework/forces/Force.h0100644027616700000500000001113110237151530016471 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef FORCE_H #define FORCE_H #include "Makeable.h" #include "MakeableDefinition.h" #include namespace ProtoMol { class ForceGroup; class ScalarStructure; class GenericTopology; class Vector3DBlock; class CompareForce; class TimeForce; class ForceGroup; //_________________________________________________________________ Force class Force : public Makeable{ // This class contains the definition of one force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Force(){} virtual ~Force(){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual unsigned int numberOfBlocks(const GenericTopology*,const Vector3DBlock*){return 1;} //< Returns the number of blocks the actual force can be split up. To //< run it sequential return 1. The number of blocks must match with the //< number of next() calls in parallelEvaluate(){...} running with > 1 node. virtual std::string getKeyword() const =0; //< Returns the actual keyword of the concrete force: //< //< Your force *Force has private inheritance from *ForceBase //< and needs following virtual method: //< virtual std::string getKeyword() const{return keyword;} //< //< Define all static and basics, which do not depend on templates in *ForceBase. Force* make(std::string& errMsg, const std::vector& values) const; //< Factory method virtual void uncache(){}; //< Marks the cache as out of date, forces to call initialize virtual void addToForceGroup(ForceGroup* forceGroup)=0; //< Adds the force to corresponding force subgroups System or Extended virtual CompareForce* makeCompareForce(Force* actualForce, CompareForce* compareForce) const; //< Creating the right instance of a ComparForce object. virtual TimeForce* makeTimeForce(Force* actualForce) const; //< Creating the right instance of a TimeForce object. void setParameters(std::string& errMsg, std::vector value); //< update of parameters template void setParameter(std::string& errMsg, const std::string& key, T val){ errMsg = ""; std::vector parameters; getParameters(parameters); std::vector values(parameters.size()); bool update = false; for(unsigned int i = 0;i void setParameter(std::string& errMsg, unsigned int index, T val){ errMsg = ""; std::vector parameters; getParameters(parameters); std::vector values(parameters.size()); bool update = false; for(unsigned int i = 0;i values) const=0; //< implementation of make and actual instantiation of object private: virtual void doSetParameters(std::string& , std::vector ){Report::report << Report::error << "setParameters not implemented for force "<getId()< void setParametersBySwapping(T* obj, std::string& errMsg, std::vector values){ T* tmp = dynamic_cast(obj->make(errMsg,values)); if(tmp != NULL){ std::swap(*obj,*tmp); delete tmp; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getScope() const{return scope;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string scope; }; //______________________________________________________________________ INLINES } #endif /* FORCE_H */ protomol/framework/forces/ForceGroup.cpp0100644027616700000500000002064010237151530020046 0ustar pbrenne1dip#include "ForceGroup.h" #include "SystemForce.h" #include "Parallel.h" #include "Vector3DBlock.h" #include "GenericTopology.h" #include "ScalarStructure.h" #include "ExtendedForce.h" #include "MollyForce.h" #include "MetaForce.h" #include "TimerStatistic.h" //#define DEBUG_OUTSTANDING_MSG #ifdef DEBUG_OUTSTANDING_MSG #include #endif using namespace ProtoMol::Report; using std::string; using std::vector; using std::list; namespace ProtoMol { //_________________________________________________________________ ForceGroup ForceGroup::ForceGroup() {} ForceGroup::~ForceGroup() { for(list::iterator currentForce=mySystemForcesList.begin();currentForce!=mySystemForcesList.end();++currentForce) delete (*currentForce); for(list::iterator currentForce=myExtendedForcesList.begin();currentForce!=myExtendedForcesList.end();++currentForce) delete (*currentForce); for(list::iterator currentForce=myMollyForcesList.begin();currentForce!=myMollyForcesList.end();++currentForce) delete (*currentForce); for(list::iterator currentForce=myMetaForcesList.begin();currentForce!=myMetaForcesList.end();++currentForce) delete (*currentForce); } void ForceGroup::evaluateSystemForces(GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) const { if(mySystemForcesList.empty()) return; topo->uncacheCellList(); Parallel::distribute(energies,forces); if(Parallel::isDynamic()){ // Collecting the number of blocks of each force. vector blocks; for(list::const_iterator currentForce=mySystemForcesList.begin(); currentForce!=mySystemForcesList.end(); ++currentForce){ blocks.push_back((*currentForce)->numberOfBlocks(topo,positions)); } Parallel::resetNext(blocks); } if(Parallel::iAmSlave()){ Parallel::resetNext(); TimerStatistic::timer[TimerStatistic::FORCES].start(); for(list::const_iterator currentForce=mySystemForcesList.begin(); currentForce!=mySystemForcesList.end(); ++currentForce){ if(Parallel::isParallel()){ (*currentForce)->parallelEvaluate(topo,positions,forces,energies); } else { (*currentForce)->evaluate(topo,positions,forces,energies); } } TimerStatistic::timer[TimerStatistic::FORCES].stop(); } #ifdef DEBUG_OUTSTANDING_MSG report << allnodes <uncacheCellList(); Parallel::distribute(energies,forces); if(Parallel::isDynamic()) { // Collecting the number of blocks of each force. vector blocks; for(list::const_iterator currentForce=myExtendedForcesList.begin(); currentForce!=myExtendedForcesList.end(); ++currentForce){ blocks.push_back((*currentForce)->numberOfBlocks(topo,positions)); } Parallel::resetNext(blocks); } if(Parallel::iAmSlave()){ Parallel::resetNext(); TimerStatistic::timer[TimerStatistic::FORCES].start(); for(list::const_iterator currentForce=myExtendedForcesList.begin(); currentForce!=myExtendedForcesList.end(); ++currentForce){ if(Parallel::isParallel()){ (*currentForce)->parallelEvaluate(topo,positions,velocities,forces,energies); } else { (*currentForce)->evaluate(topo,positions,velocities,forces,energies); } } TimerStatistic::timer[TimerStatistic::FORCES].stop(); } #ifdef DEBUG_OUTSTANDING_MSG report << allnodes <* angleFilter) const { if(myMollyForcesList.empty()) return; topo->uncacheCellList(); TimerStatistic::timer[TimerStatistic::FORCES].start(); for(list::const_iterator currentForce=myMollyForcesList.begin(); currentForce!=myMollyForcesList.end(); ++currentForce) (*currentForce)->evaluate(topo,positions,angleFilter); TimerStatistic::timer[TimerStatistic::FORCES].stop(); } void ForceGroup::addSystemForce(SystemForce *force) { if(force != NULL) mySystemForcesList.push_back(force); } void ForceGroup::addExtendedForce(ExtendedForce *force) { if(force != NULL) myExtendedForcesList.push_back(force); } void ForceGroup::addMollyForce(MollyForce *force) { if(force != NULL) myMollyForcesList.push_back(force); } void ForceGroup::addMetaForce(MetaForce *force) { if(force != NULL) myMetaForcesList.push_back(force); } void ForceGroup::addForce(Force *force){ force->addToForceGroup(this); } void ForceGroup::getDefinition(vector& forces) const{ for(list::const_iterator currentForce=mySystemForcesList.begin(); currentForce!=mySystemForcesList.end(); ++currentForce) forces.push_back((*currentForce)->getDefinition()); for(list::const_iterator currentForce=myExtendedForcesList.begin(); currentForce!=myExtendedForcesList.end(); ++currentForce) forces.push_back((*currentForce)->getDefinition()); for(list::const_iterator currentForce=myMollyForcesList.begin(); currentForce!=myMollyForcesList.end(); ++currentForce) forces.push_back((*currentForce)->getDefinition()); for(list::const_iterator currentForce=myMetaForcesList.begin(); currentForce!=myMetaForcesList.end(); ++currentForce) forces.push_back((*currentForce)->getDefinition()); } void ForceGroup::uncache(){ for(list::iterator currentForce=mySystemForcesList.begin(); currentForce!=mySystemForcesList.end(); ++currentForce) (*currentForce)->uncache(); for(list::iterator currentForce=myExtendedForcesList.begin(); currentForce!=myExtendedForcesList.end(); ++currentForce) (*currentForce)->uncache(); for(list::iterator currentForce=myExtendedForcesList.begin(); currentForce!=myExtendedForcesList.end(); ++currentForce) (*currentForce)->uncache(); for(list::iterator currentForce=myMetaForcesList.begin(); currentForce!=myMetaForcesList.end(); ++currentForce) (*currentForce)->uncache(); } vector ForceGroup::getForces() const{ vector res; for(list::const_iterator currentForce=mySystemForcesList.begin(); currentForce!=mySystemForcesList.end(); ++currentForce) res.push_back(*currentForce); for(list::const_iterator currentForce=myExtendedForcesList.begin(); currentForce!=myExtendedForcesList.end(); ++currentForce) res.push_back(*currentForce); for(list::const_iterator currentForce=myExtendedForcesList.begin(); currentForce!=myExtendedForcesList.end(); ++currentForce) res.push_back(*currentForce); for(list::const_iterator currentForce=myMetaForcesList.begin(); currentForce!=myMetaForcesList.end(); ++currentForce) res.push_back(*currentForce); return res; } vector ForceGroup::getDeepMetaForces() const{ vector res; for(list::const_iterator currentForce=myMetaForcesList.begin(); currentForce!=myMetaForcesList.end(); ++currentForce) (*currentForce)->getDeepForces(res); return res; } } protomol/framework/forces/ForceGroup.h0100644027616700000500000001013410237151530017510 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef FORCEGROUP_H #define FORCEGROUP_H #include #include #include "MakeableDefinition.h" namespace ProtoMol { class Force; class MetaForce; class MollyForce; class SystemForce; class ExtendedForce; class GenericTopology; class Vector3DBlock; class ScalarStructure; class ReducedHessAngle; //_________________________________________________________________ ForceGroup class ForceGroup { // This class contains a group of forces (both system and extended). // It provides a convenient abstraction for integrators and other parts // of the system that handle user-specified groups of forces. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ForceGroup(); // Create an empty ForceGroup object. ~ForceGroup(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ForceGroup //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// Evaluate all system forces in this group. void evaluateSystemForces(GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) const; /// Evaluate all extended forces in this group. void evaluateExtendedForces(GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies) const; // Evaluate all MOLLY forces in this group. void evaluateMollyForces(GenericTopology* topo, const Vector3DBlock* positions, std::vector< ReducedHessAngle >* angleFilter) const; /// Determine if there are any forces in this group. bool anyForces(void) const; /// Determine if there are any system forces in this group. bool anySystemForces(void) const; /// Determine if there are any extended forces in this group. bool anyExtendedForces(void) const; /// Determine if there are any MOLLY forces in this group. bool anyMollyForces(void) const; /// Determine if there are any meta forces in this group. bool anyMetaForces(void) const; /// Add a new system force to this group. void addSystemForce(SystemForce *force); /// Add a new extended force to this group. void addExtendedForce(ExtendedForce *force); /// Add a new MOLLY force to this group. void addMollyForce(MollyForce *force); /// Retrieve all forces std::vector getForces() const; /// Retrieve all forces stored in meta forces std::vector getDeepMetaForces() const; /// Add a new meta force to this group. void addMetaForce(MetaForce *force); /// Add a new force, just cast it and add it to the correct list if non-zero ... void addForce(Force *force); void getDefinition(std::vector& forces) const; void uncache(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: std::list mySystemForcesList; std::list myExtendedForcesList; std::list myMollyForcesList; std::list myMetaForcesList; }; //______________________________________________________________________ INLINES inline bool ForceGroup::anySystemForces(void) const { return !mySystemForcesList.empty(); } inline bool ForceGroup::anyExtendedForces(void) const { return !myExtendedForcesList.empty(); } inline bool ForceGroup::anyMollyForces(void) const { return !myMollyForcesList.empty(); } inline bool ForceGroup::anyMetaForces(void) const { return !myMetaForcesList.empty(); } inline bool ForceGroup::anyForces(void) const { return (mySystemForcesList.size() + myExtendedForcesList.size() + myMollyForcesList.size() + myMetaForcesList.size() > 0); } } #endif /* FORCEGROUP_H */ protomol/framework/forces/FrictionExtendedForce.cpp0100644027616700000500000000505410237151530022212 0ustar pbrenne1dip#include "FrictionExtendedForce.h" #include "Vector3DBlock.h" #include "GenericTopology.h" #include "Parallel.h" using std::vector; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ FrictionExtendedForce const string FrictionExtendedForce::keyword("Friction"); FrictionExtendedForce::FrictionExtendedForce():ExtendedForce(),myF(0.0), myRnd(Vector3D(0.0,0.0,0.0)){} FrictionExtendedForce::FrictionExtendedForce(Real f, const Vector3D& random):ExtendedForce(),myF(f), myRnd(random){} void FrictionExtendedForce::getParameters(vector& parameters) const { parameters.push_back(Parameter("-k",Value(myF),0.0)); parameters.push_back(Parameter("-rnd",Value(myRnd),Vector3D(0.0,0.0,0.0))); } Force* FrictionExtendedForce::doMake(string&, vector values) const { return new FrictionExtendedForce(values[0],values[1]); } void FrictionExtendedForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies){ doEvaluate(topo,positions,velocities,forces,energies,0,positions->size()); } void FrictionExtendedForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies){ unsigned int n = positions->size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i (int)n) to = n; int from = (n*i)/count; doEvaluate(topo,positions,velocities,forces,energies,from,to); } } } void FrictionExtendedForce::doEvaluate(const GenericTopology*, const Vector3DBlock* /*positions*/, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* , int from, int to){ for(int i=from;i(Parallel::getAvailableNum()),static_cast(pos->size())); } } protomol/framework/forces/FrictionExtendedForce.h0100644027616700000500000000545310237151530021662 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef FRICTIONEXTENDEDFORCE_H #define FRICTIONEXTENDEDFORCE_H #include "ExtendedForce.h" namespace ProtoMol { class Vector3DBlock; class ScalarStructure; class GenericTopology; //_________________________________________________________________ FrictionExtendedForce class FrictionExtendedForce : public ExtendedForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: FrictionExtendedForce(); FrictionExtendedForce(Real f, const Vector3D& random); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class FrictionExtendedForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void doEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies, int from, int to); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 2;} virtual void getParameters(std::vector&) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real myF; Vector3D myRnd; }; //______________________________________________________________________ INLINES } #endif /* FRICTIONEXTENDEDFORCE_H */ protomol/framework/forces/GravitationForce.cpp0100644027616700000500000000075610237151530021247 0ustar pbrenne1dip#include "GravitationForce.h" using std::string; namespace ProtoMol { //_________________________________________________________________ GravitationForce const string GravitationForce::keyword("Gravitation"); void GravitationForce::getParameters(std::vector& parameters) const{ parameters.push_back(Parameter("-G",Value(myG))); } GravitationForce GravitationForce::make(std::string& ,const std::vector& values) { return GravitationForce(values[0]); } } protomol/framework/forces/GravitationForce.h0100644027616700000500000000416010237151530020705 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef GRAVITATIONFORCE_H #define GRAVITATIONFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "Parameter.h" #include "mathutilities.h" #include "ExclusionTable.h" #include namespace ProtoMol { //_________________________________________________________________ GravitationForce class GravitationForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: GravitationForce():myG(0.0){} GravitationForce(Real g):myG(g){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class GravitationForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real /*distSquared*/, Real rDistSquared, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass) const { Real m1 = topo->atoms[atom1].scaledMass; Real m2 = topo->atoms[atom2].scaledMass; //Gravitational force: energy = -m1*m2*myG*sqrt(rDistSquared); force = energy*rDistSquared; } static void accumulateEnergy(ScalarStructure* energies, Real energy) {(*energies)[ScalarStructure::OTHER] += energy;} static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::OTHER];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 1;} void getParameters(std::vector& parameters) const; static GravitationForce make(std::string& , const std::vector& values); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real myG; }; //______________________________________________________________________ INLINES } #endif /* GRAVITATIONFORCE_H */ protomol/framework/forces/HarmDihedralSystemForce.h0100644027616700000500000002417610237151530022160 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef HARMDIHEDRALSYSTEMFORCE_H #define HARMDIHEDRALSYSTEMFORCE_H #include "MTorsionSystemForce.h" #include "HarmDihedralSystemForceBase.h" #include "ScalarStructure.h" #include "Parallel.h" #include "topologyutilities.h" //for debugging #include "Report.h" namespace ProtoMol { //_________________________________________________________________ HarmDihedralSystemForce template class HarmDihedralSystemForce: public MTorsionSystemForce, private HarmDihedralSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: // Default constructor HarmDihedralSystemForce(): myDihedral(0), myDihedralReference(0.0), computeOthers(false){} // Constructor with parameters HarmDihedralSystemForce(int dihedral, Real dihedralReference, bool other) : myDihedral(dihedral), myDihedralReference(dtor(dihedralReference)), computeOthers(other){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class HarmDihedralSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void harmCalcTorsion(const GenericTopology* topo, const TBoundaryConditions &boundary, const Torsion& currentTorsion, const Vector3DBlock* positions, Vector3DBlock* forces, Real &energy, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector values) const { return (new HarmDihedralSystemForce(values[0],values[1], values[2])); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 3;} virtual void getParameters(std::vector& parameters) const { parameters.push_back(Parameter("-dihedral",Value(myDihedral,ConstraintValueType::NotNegative()))); parameters.push_back(Parameter("-angle",Value(rtod(myDihedralReference)),Text("reference angle"))); parameters.push_back(Parameter("-others",Value(computeOthers, ConstraintValueType::NoConstraints()))); } private: virtual void doSetParameters(std::string&, std::vector values){ myDihedral = values[0]; myDihedralReference = dtor((Real)values[1]); computeOthers = values[2]; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: // The dihedral reference angle int myDihedral; Real myDihedralReference; bool computeOthers; }; //______________________________________________________________________ INLINES template inline void HarmDihedralSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; // Examine each dihedral for (unsigned int i = 0; i < topo->dihedrals.size(); i++) { if (static_cast(i) != myDihedral) { if(computeOthers) { calcTorsion(boundary,topo->dihedrals[i], positions, forces,(*energies)[ScalarStructure::DIHEDRAL],energies); } } else { harmCalcTorsion(topo,boundary,topo->dihedrals[i], positions, forces,(*energies)[ScalarStructure::DIHEDRAL],energies); } } } template inline void HarmDihedralSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; unsigned int n = topo->dihedrals.size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i static_cast(n)) to = n; int from = (n*i)/count; for (int j = from; j < to; j++){ if (j != myDihedral) { calcTorsion(boundary,topo->dihedrals[j], positions, forces,(*energies)[ScalarStructure::DIHEDRAL],energies); } else { harmCalcTorsion(topo,boundary,topo->dihedrals[j], positions, forces,(*energies)[ScalarStructure::DIHEDRAL],energies); } } } } } template inline void HarmDihedralSystemForce::harmCalcTorsion(const GenericTopology* topo, const TBoundaryConditions &boundary, const Torsion& /*currTorsion*/, const Vector3DBlock* positions, Vector3DBlock* forces, Real &energy, ScalarStructure* energies){ // Calculate the energy and forces due to the harmonic potential // ------------------------------------------------------------- // The dihedral angle Real dihedralAngle = computePhiDihedral(topo, positions, myDihedral); // ------------------------------------------------------------- // The dihedral potential Real k = 100.0; // kcal / (mol*K) Real V = k * (dihedralAngle - myDihedralReference) * (dihedralAngle - myDihedralReference); // ------------------------------------------------------------- // The atoms in the dihedral int ai = topo->dihedrals[myDihedral].atom1; int aj = topo->dihedrals[myDihedral].atom2; int ak = topo->dihedrals[myDihedral].atom3; int al = topo->dihedrals[myDihedral].atom4; // ------------------------------------------------------------- // The vector coordinates of the atoms Vector3D ri ((*positions)[ai]); Vector3D rj ((*positions)[aj]); Vector3D rk ((*positions)[ak]); Vector3D rl ((*positions)[al]); // ------------------------------------------------------------- // Vectors between atoms (rij = ri - rj) Vector3D rij = boundary.minimalDifference(rj,ri); Vector3D rkj = boundary.minimalDifference(rj,rk); Vector3D rkl = boundary.minimalDifference(rl,rk); // ------------------------------------------------------------- // Normals Vector3D m = rij.cross(rkj); Vector3D n = rkj.cross(rkl); // ------------------------------------------------------------- // The derivate of V with respect to the dihedral angle Real dVdPhi = (k) * (dihedralAngle - myDihedralReference); // ------------------------------------------------------------- // Miscellaneous quantities needed to compute the forces Real rkj_norm = rkj.norm(); Real rkj_normsq = rkj.normSquared(); Real m_normsq = m.normSquared(); Real n_normsq = n.normSquared(); Real rij_dot_rkj = rij.dot(rkj); Real rkl_dot_rkj = rkl.dot(rkj); // ------------------------------------------------------------- // Forces on the atoms // Atom i Vector3D fi = m * (-dVdPhi * rkj_norm / m_normsq); // Atom l Vector3D fl = n * (dVdPhi * rkj_norm / n_normsq); // Atom j Vector3D fj = fi * (-1 + rij_dot_rkj/rkj_normsq) - fl * (rkl_dot_rkj/rkj_normsq); // Atom k Vector3D fk = - (fi + fj + fl); // ************************************************************* // ------------------------------------------------------------- // Update the dihedral system energy energy += V; // Update the atom forces (*forces)[ai] += fi; (*forces)[aj] += fj; (*forces)[ak] += fk; (*forces)[al] += fl; // ------------------------------------------------------------- // Compute the virial energy if (energies->virial()) { Vector3D f1 = fi; Vector3D f2 = fi + fj; Vector3D f3 = -fl; Vector3D r12 = rij; Vector3D r23 = -rkj; Vector3D r34 = rkl; Real xy = f1.x * r12.y + f2.x * r23.y + f3.x * r34.y; Real xz = f1.x * r12.z + f2.x * r23.z + f3.x * r34.z; Real yz = f1.y * r12.z + f2.y * r23.z + f3.y * r34.z; (*energies)[ScalarStructure::VIRIALXX] += f1.x * r12.x + f2.x * r23.x + f3.x * r34.x; (*energies)[ScalarStructure::VIRIALXY] += xy; (*energies)[ScalarStructure::VIRIALXZ] += xz; (*energies)[ScalarStructure::VIRIALYX] += xy; (*energies)[ScalarStructure::VIRIALYY] += f1.y * r12.y + f2.y * r23.y + f3.y * r34.y; (*energies)[ScalarStructure::VIRIALYZ] += yz; (*energies)[ScalarStructure::VIRIALZX] += xz; (*energies)[ScalarStructure::VIRIALZY] += yz; (*energies)[ScalarStructure::VIRIALZZ] += f1.z * r12.z + f2.z * r23.z + f3.z * r34.z; } } template inline unsigned int HarmDihedralSystemForce::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock*){ return std::min(Parallel::getAvailableNum(),static_cast(topo->dihedrals.size())); } } #endif /* HARMDIHEDRALSYSTEMFORCE_H */ protomol/framework/forces/HarmDihedralSystemForceBase.cpp0100644027616700000500000000037410237151530023300 0ustar pbrenne1dip#include "HarmDihedralSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ HarmDihedralSystemForceBase const string HarmDihedralSystemForceBase::keyword("HarmDihedral"); } protomol/framework/forces/HarmDihedralSystemForceBase.h0100644027616700000500000000064110237151530022742 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef HARMDIHEDRALSYSTEMFORCEBASE_H #define HARMDIHEDRALSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ HarmDihedralSystemForceBase class HarmDihedralSystemForceBase { public: virtual ~HarmDihedralSystemForceBase(){} static const std::string keyword; }; } #endif /* HARMDIHEDRALSYSTEMFORCEBASE_H */ protomol/framework/forces/Hermite.cpp0100644027616700000500000000653210237151530017374 0ustar pbrenne1dip#include "Hermite.h" #include "mathutilities.h" #include "Report.h" using namespace ProtoMol::Report; using std::string; namespace ProtoMol { //#define DEBUG_HERMITE //_________________________________________________________________ Hermite const string Hermite::keyword("Hermite"); Hermite::Hermite():myInterOrder(0), theta(NULL), dTheta(NULL){ } Hermite::Hermite(unsigned int order):myInterOrder(order), theta(new Real[order]), dTheta(new Real[order]){ } Hermite::Hermite(unsigned int order, Real w):myInterOrder(order), theta(new Real[order]), dTheta(new Real[order]){ set(w); } Hermite::~Hermite(){ if(theta != NULL){ delete [] theta; delete [] dTheta; } } Hermite::Hermite(const Hermite& Hermite){ myInterOrder = Hermite.myInterOrder; theta = new Real[myInterOrder]; dTheta = new Real[myInterOrder]; for(unsigned int k=0;k namespace ProtoMol { //_________________________________________________________________ Hermite class Hermite { // Hermite interpolation. // theta are the lk, where dTheta are the derivatives of lk //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Hermite(); Hermite(unsigned int order); Hermite(unsigned int order, Real w); ~Hermite(); Hermite(const Hermite& Hermite); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Hermite //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: unsigned int getOrder() const {return myInterOrder;} void setOrder(unsigned int order); void set(Real w); static bool isSigma(unsigned int order){return (Hermite(order,0.0).theta[order-1] == 0.0 && Hermite(order,0.0).dTheta[order-1] == 0.0);} // true iff one theta is 1 and all other 0 for w=0 static const std::string& getKeyword() {return keyword;} // Returns the keyword/name of this interpolation //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: unsigned int myInterOrder; public: Real* theta; Real* dTheta; public: static const std::string keyword; }; //______________________________________________________________________ INLINES } #endif /* HERMITE_H */ protomol/framework/forces/ImproperSystemForce.h0100644027616700000500000001001210237151530021411 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef IMPROPERSYSTEMFORCE_H #define IMPROPERSYSTEMFORCE_H #include "MTorsionSystemForce.h" #include "ImproperSystemForceBase.h" #include "ScalarStructure.h" #include "Parallel.h" namespace ProtoMol { //_________________________________________________________________ ImproperSystemForce template class ImproperSystemForce: public MTorsionSystemForce, private ImproperSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string&, std::vector) const { return (new ImproperSystemForce()); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 0;} virtual void getParameters(std::vector&) const {} private: virtual void doSetParameters(std::string&, std::vector){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //______________________________________________________________________ INLINES template inline void ImproperSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; for (unsigned int i = 0; i < topo->impropers.size(); i++) calcTorsion(boundary,topo->impropers[i], positions, forces, (*energies)[ScalarStructure::IMPROPER],energies); } template inline void ImproperSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; unsigned int n = topo->impropers.size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i static_cast(n)) to = n; int from = (n*i)/count; for (int j = from; j < to; j++) calcTorsion(boundary, topo->impropers[j], positions, forces, (*energies)[ScalarStructure::IMPROPER],energies); } } } template inline unsigned int ImproperSystemForce::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock*){ return std::min(Parallel::getAvailableNum(),static_cast(topo->impropers.size())); } } #endif /* IMPROPERSYSTEMFORCE_H */ protomol/framework/forces/ImproperSystemForceBase.cpp0100644027616700000500000000035410237151530022547 0ustar pbrenne1dip#include "ImproperSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ ImproperSystemForceBase const string ImproperSystemForceBase::keyword("Improper"); } protomol/framework/forces/ImproperSystemForceBase.h0100644027616700000500000000061410237151530022213 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef IMPROPERSYSTEMFORCEBASE_H #define IMPROPERSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ ImproperSystemForceBase class ImproperSystemForceBase { public: virtual ~ImproperSystemForceBase(){} static const std::string keyword; }; } #endif /* IMPROPERSYSTEMFORCEBASE_H */ protomol/framework/forces/LennardJonesForce.cpp0100644027616700000500000000033410237151530021332 0ustar pbrenne1dip#include "LennardJonesForce.h" using std::string; //_________________________________________________________________ LennardJonesForce namespace ProtoMol { const string LennardJonesForce::keyword("LennardJones"); } protomol/framework/forces/LennardJonesForce.h0100644027616700000500000000520010237151530020774 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef LENNARDJONESFORCE_H #define LENNARDJONESFORCE_H #include "GenericTopology.h" #include "LennardJonesParameters.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include namespace ProtoMol { //_________________________________________________________________ LennardJonesForce class LennardJonesForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class LennardJonesForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real /*distSquared*/, Real rDistSquared, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const{ #ifdef DEBUG_LJ_DISTANCE_CHECK if(rDistSquared < 1.0/0.25) report << warning << "LennardJonesForce::operator(): atom "<lennardJonesParameters(topo->atoms[atom1].type,topo->atoms[atom2].type); Real A = (excl != EXCLUSION_MODIFIED ? params.A : params.A14); Real B = (excl != EXCLUSION_MODIFIED ? params.B : params.B14); // Fast LJ computation Real r2 = rDistSquared; Real r6 = r2*r2*r2; Real r12 = r6*r6; Real r6B = B*r6; Real r12A = A*r12; energy = r12A - r6B; force = 12.0*r12A*r2 - 6.0*r6B*r2; } static void accumulateEnergy(ScalarStructure* energies, Real energy) { (*energies)[ScalarStructure::LENNARDJONES] += energy; } static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::LENNARDJONES];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 0;} void getParameters(std::vector&) const{} static LennardJonesForce make(std::string& , const std::vector&) { return LennardJonesForce(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: }; //______________________________________________________________________ INLINES } #endif /* LENNARDJONESFORCE_H */ protomol/framework/forces/LennardJonesTableForce.cpp0100644027616700000500000000517110237151530022306 0ustar pbrenne1dip#include "LennardJonesTableForce.h" using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ LennardJonesTableForce const string LennardJonesTableForce::keyword("LennardJonesTable"); LennardJonesTableForce::LennardJonesTableForce():myTable(NULL),myRc(-1.0),myN(0){} LennardJonesTableForce::LennardJonesTableForce(Real rc, unsigned int n):myTable(new Real[4*n]), myRc(rc), myFac(((Real)n-2.0)/rc), myN(n){ for(unsigned int i=0;i& parameters) const{ parameters.push_back(Parameter("-tableCutoff",Value(myRc,ConstraintValueType::Positive()),Text("cutoff for table look up"))); parameters.push_back(Parameter("-tableSize",Value(myN,ConstraintValueType::Positive()),static_cast(DEFAULT_TABLE_SIZE),Text("size of table look up"))); } LennardJonesTableForce LennardJonesTableForce::make(std::string& , const std::vector& values) { return LennardJonesTableForce(values[0],values[1]); } } protomol/framework/forces/LennardJonesTableForce.h0100644027616700000500000000626410237151530021757 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef LENNARDJONESTABLEFORCE_H #define LENNARDJONESTABLEFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "ExclusionTable.h" #include "Parameter.h" #include "mathutilities.h" #include namespace ProtoMol { //_________________________________________________________________ LennardJonesTableForce class LennardJonesTableForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Replacement potential of the real part for or PME. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {DEFAULT_TABLE_SIZE=20000}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: LennardJonesTableForce(); LennardJonesTableForce(Real rc, unsigned int n); LennardJonesTableForce(LennardJonesTableForce const& other); LennardJonesTableForce& operator=(LennardJonesTableForce const& other); ~LennardJonesTableForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class LennardJonesTableForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real distSquared, Real /*rDistSquared*/, const Vector3D &, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const { const LennardJonesParameters & params=topo->lennardJonesParameters(topo->atoms[atom1].type,topo->atoms[atom2].type); Real A = (excl != EXCLUSION_MODIFIED ? params.A : params.A14); Real B = (excl != EXCLUSION_MODIFIED ? params.B : params.B14); Real n = sqrt(distSquared)*myFac; int index = (int)n; Real b = n-index; //Report::report << index <<","<&) const; static LennardJonesTableForce make(std::string&, const std::vector&); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real* myTable; Real myRc; Real myFac; unsigned int myN; }; //______________________________________________________________________ INLINES } #endif /* LENNARDJONESTABLEFORCE_H */ protomol/framework/forces/MTorsionSystemForce.h0100644027616700000500000002203210237151530021373 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MTORSIONSYSTEMFORCE_H #define MTORSIONSYSTEMFORCE_H #include "SystemForce.h" #include "ScalarStructure.h" namespace ProtoMol { //_________________________________________________________________ MTorsionSystemForce template class MTorsionSystemForce: public SystemForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class MTorsionSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void calcTorsion(const TBoundaryConditions &boundary, const Torsion& currentTorsion, const Vector3DBlock* positions, Vector3DBlock* forces, Real &energy, ScalarStructure* energies); Real calcTorsionEnergy(const TBoundaryConditions &boundary, const Torsion& currentTorsion, const Vector3DBlock* positions); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //______________________________________________________________________ INLINES template inline void MTorsionSystemForce::calcTorsion(const TBoundaryConditions &boundary, const Torsion& currTorsion, const Vector3DBlock* positions, Vector3DBlock* forces, Real &energy, ScalarStructure* energies){ // Report::report < 0 ) { dpotdphi -= currTorsion.periodicity[i] * currTorsion.forceConstant[i] * sin( currTorsion.periodicity[i] * phi + currTorsion.phaseShift[i] ); // Add energy energy += currTorsion.forceConstant[i] * ( 1.0 + cos( currTorsion.periodicity[i] * phi + currTorsion.phaseShift[i] ) ); } else { Real diff = phi - currTorsion.phaseShift[i]; if( diff < -M_PI ) diff += 2 * M_PI; else if( diff > M_PI ) diff -= 2 * M_PI; dpotdphi += 2.0 * currTorsion.forceConstant[i] * diff; // Add energy energy += currTorsion.forceConstant[i] * diff * diff; } } // To prevent potential singularities, if abs(sinPhi) <= 0.1, then // use another method of calculating the gradient. Vector3D f1, f2, f3; if( fabs( sinPhi ) > 0.1 ) { // use the sin version to avoid 1/cos terms Vector3D dcosdA(( a * cosPhi - b ) * ra); Vector3D dcosdB(( b * cosPhi - a ) * rb); Real k1 = dpotdphi / sinPhi; f1.x = k1 * (r23.y * dcosdA.z - r23.z * dcosdA.y); f1.y = k1 * (r23.z * dcosdA.x - r23.x * dcosdA.z); f1.z = k1 * (r23.x * dcosdA.y - r23.y * dcosdA.x); f3.x = k1 * (r23.z * dcosdB.y - r23.y * dcosdB.z); f3.y = k1 * (r23.x * dcosdB.z - r23.z * dcosdB.x); f3.z = k1 * (r23.y * dcosdB.x - r23.x * dcosdB.y); f2.x = k1 * (r12.z * dcosdA.y - r12.y * dcosdA.z + r34.y * dcosdB.z - r34.z * dcosdB.y); f2.y = k1 * (r12.x * dcosdA.z - r12.z * dcosdA.x + r34.z * dcosdB.x - r34.x * dcosdB.z); f2.z = k1 * (r12.y * dcosdA.x - r12.x * dcosdA.y + r34.x * dcosdB.y - r34.y * dcosdB.x); } else { // This angle is closer to 0 or 180 than it is to // 90, so use the cos version to avoid 1/sin terms Vector3D dsindC((c * sinPhi-b) * rc); Vector3D dsindB((b * sinPhi-c) * rb); Real k1 = -dpotdphi/cosPhi; f1.x = k1 * ((r23.y * r23.y + r23.z * r23.z) * dsindC.x - r23.x * r23.y * dsindC.y - r23.x * r23.z * dsindC.z); f1.y = k1 * ((r23.z * r23.z + r23.x * r23.x) * dsindC.y - r23.y * r23.z * dsindC.z - r23.y * r23.x * dsindC.x); f1.z = k1 * ((r23.x * r23.x + r23.y * r23.y) * dsindC.z - r23.z * r23.x * dsindC.x - r23.z * r23.y * dsindC.y); f3 = dsindB.cross(r23) * k1; f2.x = k1 * (-(r23.y * r12.y + r23.z * r12.z) * dsindC.x +(2.0 * r23.x * r12.y - r12.x * r23.y) * dsindC.y +(2.0 * r23.x * r12.z - r12.x * r23.z) * dsindC.z +dsindB.z * r34.y - dsindB.y * r34.z); f2.y = k1 * (-(r23.z * r12.z + r23.x * r12.x) * dsindC.y +(2.0 * r23.y * r12.z - r12.y * r23.z) * dsindC.z +(2.0 * r23.y * r12.x - r12.y * r23.x) * dsindC.x +dsindB.x * r34.z - dsindB.z * r34.x); f2.z = k1 * (-(r23.x * r12.x + r23.y * r12.y) * dsindC.z +(2.0 * r23.z * r12.x - r12.z * r23.x) * dsindC.x +(2.0 * r23.z * r12.y - r12.z * r23.y) * dsindC.y +dsindB.y * r34.x - dsindB.x * r34.y); } (*forces)[a1] += f1; (*forces)[a2] += f2 - f1; (*forces)[a3] += f3 - f2; (*forces)[a4] -= f3; // Add virial if(energies->virial()){ Real xy = f1.x * r12.y + f2.x * r23.y + f3.x * r34.y; Real xz = f1.x * r12.z + f2.x * r23.z + f3.x * r34.z; Real yz = f1.y * r12.z + f2.y * r23.z + f3.y * r34.z; (*energies)[ScalarStructure::VIRIALXX] += f1.x * r12.x + f2.x * r23.x + f3.x * r34.x; (*energies)[ScalarStructure::VIRIALXY] += xy; (*energies)[ScalarStructure::VIRIALXZ] += xz; (*energies)[ScalarStructure::VIRIALYX] += xy; (*energies)[ScalarStructure::VIRIALYY] += f1.y * r12.y + f2.y * r23.y + f3.y * r34.y; (*energies)[ScalarStructure::VIRIALYZ] += yz; (*energies)[ScalarStructure::VIRIALZX] += xz; (*energies)[ScalarStructure::VIRIALZY] += yz; (*energies)[ScalarStructure::VIRIALZZ] += f1.z * r12.z + f2.z * r23.z + f3.z * r34.z; } } template inline Real MTorsionSystemForce::calcTorsionEnergy(const TBoundaryConditions &boundary, const Torsion& currTorsion, const Vector3DBlock* positions){ int a1 = currTorsion.atom1; int a2 = currTorsion.atom2; int a3 = currTorsion.atom3; int a4 = currTorsion.atom4; //Vector3D r12 = (*positions)[a1] - (*positions)[a2]; // Vector from atom 1 to atom 2 Vector3D r12 = boundary.minimalDifference((*positions)[a2],(*positions)[a1]); //Vector3D r23 = (*positions)[a2] - (*positions)[a3]; // Vector from atom 2 to atom 3 Vector3D r23 = boundary.minimalDifference((*positions)[a3],(*positions)[a2]); //Vector3D r34 = (*positions)[a3] - (*positions)[a4]; // Vector from atom 3 to atom 4 Vector3D r34 = boundary.minimalDifference((*positions)[a4],(*positions)[a3]); // Cross product of r12 and r23, represents the plane shared by these two vectors Vector3D a = r12.cross(r23); // Cross product of r12 and r23, represents the plane shared by these two vectors Vector3D b = r23.cross(r34); Vector3D c = r23.cross(a); // Calculate phi. Real cosPhi = a.dot(b)/(a.norm()*b.norm()); Real sinPhi = c.dot(b)/(c.norm()*b.norm()); Real phi = -atan2(sinPhi,cosPhi); // Calculate energy. Real energy = 0.0; for( int i = 0; i < currTorsion.multiplicity; i++ ) { if( currTorsion.periodicity[i] > 0 ) { // Add energy energy += currTorsion.forceConstant[i] * ( 1.0 + cos( currTorsion.periodicity[i] * phi + currTorsion.phaseShift[i] ) ); } else { Real diff = phi - currTorsion.phaseShift[i]; if( diff < -M_PI ) diff += 2 * M_PI; else if( diff > M_PI ) diff -= 2 * M_PI; // Add energy energy += currTorsion.forceConstant[i] * diff * diff; } } return( energy ); } } #endif /* MTORSIONSYSTEMFORCE_H */ protomol/framework/forces/MagneticDipoleForce.cpp0100644027616700000500000001061710237151530021641 0ustar pbrenne1dip#include "MagneticDipoleForce.h" #include "mathutilities.h" using std::string; using std::vector; namespace ProtoMol { //_________________________________________________________________ MagneticDipoleForce const string MagneticDipoleForce::keyword("MagneticDipole"); MagneticDipoleForce::MagneticDipoleForce():myChi(0.0),myR(0.0),myOmega(0.0),myPhi(0.0),myHx(0.0),myHy(0.0),myHz(0.0),myD(0.0){} MagneticDipoleForce::MagneticDipoleForce(Real chi, Real radius, Real omega, Real phi, Real Hx,Real Hy, Real Hz, Real D): myChi(chi),myR(radius),myOmega(omega),myPhi(phi),myHx(Hx),myHy(Hy),myHz(Hz),myD(D){ // Shortcuts volum = 4.0/3.0*M_PI*power<3>(myR); expfactor = -1000.0*myChi*myChi*myR*myHx*myHx; realChi = myChi/(1-2.0/3.0*myChi); kappa = realChi/(realChi+2.0); } void MagneticDipoleForce::operator()(Real &energy, Real &force, Real /*distSquared*/, Real rDistSquared, Vector3D &diff, const GenericTopology* topo, int /*atom1*/, int /*atom2*/, ExclusionClass) const { //defining variables used to calculate the force Real t = topo->time; Real inv_r = sqrt(rDistSquared); Real r = 1.0/inv_r; Real inv_r2 = rDistSquared; Real inv_r3 = inv_r2*inv_r; Real inv_r5 = inv_r3*inv_r2; Real inv_r7 = inv_r5*inv_r2; Vector3D H(myHx*cos(t*myOmega+myPhi),myHy*sin(t*myOmega+myPhi),myHz/(1.0+realChi)); Vector3D sigma(-H*volum*myChi); Real sigmaDotSigma = sigma.dot(sigma); Real sigmaDotDiff = sigma.dot(diff); //Dipole-dipole effects: Vector3D F(diff*sigmaDotSigma*3.0*inv_r5 - diff*power<2>(sigmaDotDiff)*15.0*inv_r7 + sigma*6.0*sigmaDotDiff*inv_r5); energy = sigmaDotSigma*inv_r3-3*sigmaDotDiff*sigmaDotDiff*inv_r5; //Mirror-effect 1st approx (myD=0 turns mirroreffect off) if (myD != 0.0){ // creating mirror-dipoles Vector3D sigma_m(sigma.x,sigma.y,-sigma.z); sigma_m *= kappa; Vector3D diff_m_lower(diff.x,diff.y, myD); Vector3D diff_m_upper(diff.x,diff.y,-myD); // mirror-self-coupling // Not possible without z-coordinates // Done in MagneticDipoleMirrorSystemForce*.[Ch] // mirror-dipole-coupling (assumes that the dipoles are all sentered at z=0) Real inv_r_m2 = 1.0/diff_m_upper.normSquared(); Real inv_r_m3 = inv_r_m2*sqrt(inv_r_m2); Real inv_r_m5 = inv_r_m2*inv_r_m3; Real inv_r_m7 = inv_r_m5*inv_r_m2; // now the dipole - mirror-force is added to F Real sigma_mDotsigma = sigma_m.dot(sigma); Real sigma_mDotdiff_m = sigma_m.dot(diff_m_upper); Real sigmaDotdiff_m = sigma.dot(diff_m_upper); F += diff_m_upper*(sigma_mDotsigma*3.0*inv_r_m5 - sigma_mDotdiff_m*sigmaDotdiff_m*15.0*inv_r_m7) + sigma_m*sigmaDotdiff_m*6.0*inv_r_m5; energy += sigma_mDotsigma*inv_r_m3 - 3.0*sigma_mDotdiff_m*sigmaDotdiff_m*inv_r_m5; sigma_mDotdiff_m = sigma_m.dot(diff_m_lower); sigmaDotdiff_m = sigma.dot(diff_m_lower); F += diff_m_lower*(sigma_mDotsigma*3.0*inv_r_m5 - sigma_mDotdiff_m*sigmaDotdiff_m*15.0*inv_r_m7) + sigma_m*sigmaDotdiff_m*6.0*inv_r_m5; energy += sigma_mDotsigma*inv_r_m3 - 3.0*sigma_mDotdiff_m*sigmaDotdiff_m*inv_r_m5; } //Peak-potetial at the edge of the spheres: Real f = exp(expfactor*(r-2*myR))*inv_r; F += diff*f; force = F.norm(); diff = F/force; } void MagneticDipoleForce::getParameters(vector& parameters) const{ parameters.push_back(Parameter("-chi",Value(myChi))); parameters.push_back(Parameter("-r",Value(myR))); parameters.push_back(Parameter("-omega",Value(myOmega))); parameters.push_back(Parameter("-phi",Value(myPhi))); parameters.push_back(Parameter("-H",Value(myHx))); parameters.push_back(Parameter("",Value(myHy))); parameters.push_back(Parameter("",Value(myHz))); parameters.push_back(Parameter("-d",Value(myD))); } MagneticDipoleForce MagneticDipoleForce::make(string& , const vector& values) { Real chi; Real radius; Real omega; Real phi; Real Hx; Real Hy; Real Hz; Real D; values[0].get(chi); values[1].get(radius); values[2].get(omega); values[3].get(phi); values[4].get(Hx); values[5].get(Hy); values[6].get(Hz); values[7].get(D); return MagneticDipoleForce(chi,radius,omega,phi,Hx,Hy,Hz,D); } } protomol/framework/forces/MagneticDipoleForce.h0100644027616700000500000000516610237151530021311 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MAGNETICDIPOLEFORCE_H #define MAGNETICDIPOLEFORCE_H #include "GenericTopology.h" #include "ScalarStructure.h" #include "Parameter.h" #include "mathutilities.h" #include "ExclusionTable.h" #include namespace ProtoMol { //_________________________________________________________________ MagneticDipoleForce // This force calculates the force between two dipoles created by a magnetic // field. It returns the absolute value of the force and changes the // distance-vector (diff) since the force is usually not radial. It includes the // mirror effect (1. aprox, i.e. only one mirror-image on each side of the // boundary. It also assumes that the dipoles lie in the middle between the two // boundaries. // http://www.ife.no/media/504_Thesis.pdf // http://www.ife.no/tillegg/index.jsp?projectId=3047&tilleggId=1035 // class MagneticDipoleForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: MagneticDipoleForce(); MagneticDipoleForce(Real chi, Real radius, Real omega, Real phi, Real Hx,Real Hy, Real Hz, Real D); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class MagneticDipoleForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void operator()(Real &energy, Real &force, Real distSquared, Real rDistSquared, Vector3D &diff, const GenericTopology* topo, int atom1, int atom2, ExclusionClass excl) const; static void accumulateEnergy(ScalarStructure* energies, Real energy) { (*energies)[ScalarStructure::OTHER] += energy; } static Real getEnergy(const ScalarStructure* energies) {return (*energies)[ScalarStructure::OTHER];} // Parsing static std::string getId() {return keyword;} static unsigned int getParameterSize() {return 8;} void getParameters(std::vector& parameters) const; static MagneticDipoleForce make(std::string& errMsg, const std::vector& values); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real myChi, myR, myOmega, myPhi, myHx, myHy, myHz, myD; //Short cuts Real volum, expfactor, realChi, kappa; }; //______________________________________________________________________ INLINES } #endif /* MAGNETICDIPOLEFORCE_H */ protomol/framework/forces/Makefile.am0100644027616700000500000000736710237151530017336 0ustar pbrenne1dip# forces AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libforces_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # forces Sources P_FORCES_SRC =\ AngleSystemForce.h\ AngleSystemForceBase.h\ BondSystemForce.h\ BondSystemForceBase.h\ CompareForce.h\ CoulombEwaldRealForce.h\ CoulombEwaldRealTableForce.h\ CoulombForce.h\ CoulombMultiGridDirectForce.h\ CoulombMultiGridDirectForceBase.h\ CoulombMultiGridDirectTableForce.h\ CoulombMultiGridDirectTableForceBase.h\ DihedralSystemForce.h\ DihedralSystemForceBase.h\ HarmDihedralSystemForce.h\ HarmDihedralSystemForceBase.h\ ElectricFieldSystemForce.h\ ExternalGravitationSystemForce.h\ ExternalMagneticFieldExtendedForce.h\ ElectricFieldSystemForceBase.h\ ExtendedCompareForce.h\ ExtendedForce.h\ ExtendedTimeForce.h\ Force.h\ ForceGroup.h\ FrictionExtendedForce.h\ GravitationForce.h\ Hermite.h\ ImproperSystemForce.h\ ImproperSystemForceBase.h\ LennardJonesForce.h\ LennardJonesTableForce.h\ MTorsionSystemForce.h\ MagneticDipoleForce.h\ MagneticDipoleMirrorSystemForce.h\ MagneticDipoleMirrorSystemForceBase.h\ MetaForce.h\ MollyForce.h\ NonbondedCutoffForce.h\ NonbondedCutoffForceBase.h\ NonbondedCutoffMollyForce.h\ NonbondedCutoffSystemForce.h\ NonbondedFullEwaldSystemForce.h\ NonbondedFullEwaldSystemForceBase.h\ NonbondedFullSystemForce.h\ NonbondedFullSystemForceBase.h\ NonbondedMultiGridSystemForce.h\ NonbondedMultiGridSystemForceBase.h\ NonbondedPMEwaldSystemForce.h\ NonbondedPMEwaldSystemForceBase.h\ NonbondedSimpleFullSystemForce.h\ NonbondedSimpleFullSystemForceBase.h\ OneAtomPair.h\ OneAtomPairFull.h\ OneAtomPairTwo.h\ OneAtomPairTwoFull.h\ PaulTrapExtendedForce.h\ PaulTrapExtendedForceBase.h\ ReducedHessCoulomb.h\ ReducedHessLennardJones.h\ SphericalSystemForce.h\ SystemCompareForce.h\ SystemForce.h\ SystemTimeForce.h\ TimeForce.h\ WrapperMetaForce.h\ oneAtomContraints.h # forces Includes P_FORCES_H =\ AngleSystemForceBase.cpp\ BondSystemForceBase.cpp\ CompareForce.cpp\ CoulombEwaldRealForce.cpp\ CoulombEwaldRealTableForce.cpp\ CoulombForce.cpp\ CoulombMultiGridDirectForceBase.cpp\ CoulombMultiGridDirectTableForceBase.cpp\ DihedralSystemForceBase.cpp\ HarmDihedralSystemForceBase.cpp\ ElectricFieldSystemForceBase.cpp\ ExternalGravitationSystemForce.cpp\ ExternalMagneticFieldExtendedForce.cpp\ ExtendedCompareForce.cpp\ ExtendedForce.cpp\ ExtendedTimeForce.cpp\ Force.cpp\ ForceGroup.cpp\ FrictionExtendedForce.cpp\ GravitationForce.cpp\ Hermite.cpp\ ImproperSystemForceBase.cpp\ LennardJonesForce.cpp\ LennardJonesTableForce.cpp\ MagneticDipoleForce.cpp\ MagneticDipoleMirrorSystemForceBase.cpp\ MetaForce.cpp\ MollyForce.cpp\ NonbondedCutoffForceBase.cpp\ NonbondedFullEwaldSystemForceBase.cpp\ NonbondedFullSystemForceBase.cpp\ NonbondedMultiGridSystemForceBase.cpp\ NonbondedPMEwaldSystemForceBase.cpp\ NonbondedSimpleFullSystemForceBase.cpp\ PaulTrapExtendedForceBase.cpp\ ReducedHessCoulomb.cpp\ ReducedHessLennardJones.cpp\ SphericalSystemForce.cpp\ SystemCompareForce.cpp\ SystemForce.cpp\ SystemTimeForce.cpp\ TimeForce.cpp\ WrapperMetaForce.cpp # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libforces.a libforces_a_SOURCES = $(P_FORCES_SRC) $(P_FORCES_H) INCLUDES =-I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES)# -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_FORCES_SRC) #include $(top_srcdir)/Makefile.depend protomol/framework/forces/Makefile.in0100644027616700000500000003247510237151530017345 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # forces SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libforces_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # forces Sources P_FORCES_SRC = \ AngleSystemForce.h\ AngleSystemForceBase.h\ BondSystemForce.h\ BondSystemForceBase.h\ CompareForce.h\ CoulombEwaldRealForce.h\ CoulombEwaldRealTableForce.h\ CoulombForce.h\ CoulombMultiGridDirectForce.h\ CoulombMultiGridDirectForceBase.h\ CoulombMultiGridDirectTableForce.h\ CoulombMultiGridDirectTableForceBase.h\ DihedralSystemForce.h\ DihedralSystemForceBase.h\ HarmDihedralSystemForce.h\ HarmDihedralSystemForceBase.h\ ElectricFieldSystemForce.h\ ExternalGravitationSystemForce.h\ ExternalMagneticFieldExtendedForce.h\ ElectricFieldSystemForceBase.h\ ExtendedCompareForce.h\ ExtendedForce.h\ ExtendedTimeForce.h\ Force.h\ ForceGroup.h\ FrictionExtendedForce.h\ GravitationForce.h\ Hermite.h\ ImproperSystemForce.h\ ImproperSystemForceBase.h\ LennardJonesForce.h\ LennardJonesTableForce.h\ MTorsionSystemForce.h\ MagneticDipoleForce.h\ MagneticDipoleMirrorSystemForce.h\ MagneticDipoleMirrorSystemForceBase.h\ MetaForce.h\ MollyForce.h\ NonbondedCutoffForce.h\ NonbondedCutoffForceBase.h\ NonbondedCutoffMollyForce.h\ NonbondedCutoffSystemForce.h\ NonbondedFullEwaldSystemForce.h\ NonbondedFullEwaldSystemForceBase.h\ NonbondedFullSystemForce.h\ NonbondedFullSystemForceBase.h\ NonbondedMultiGridSystemForce.h\ NonbondedMultiGridSystemForceBase.h\ NonbondedPMEwaldSystemForce.h\ NonbondedPMEwaldSystemForceBase.h\ NonbondedSimpleFullSystemForce.h\ NonbondedSimpleFullSystemForceBase.h\ OneAtomPair.h\ OneAtomPairFull.h\ OneAtomPairTwo.h\ OneAtomPairTwoFull.h\ PaulTrapExtendedForce.h\ PaulTrapExtendedForceBase.h\ ReducedHessCoulomb.h\ ReducedHessLennardJones.h\ SphericalSystemForce.h\ SystemCompareForce.h\ SystemForce.h\ SystemTimeForce.h\ TimeForce.h\ WrapperMetaForce.h\ oneAtomContraints.h # forces Includes P_FORCES_H = \ AngleSystemForceBase.cpp\ BondSystemForceBase.cpp\ CompareForce.cpp\ CoulombEwaldRealForce.cpp\ CoulombEwaldRealTableForce.cpp\ CoulombForce.cpp\ CoulombMultiGridDirectForceBase.cpp\ CoulombMultiGridDirectTableForceBase.cpp\ DihedralSystemForceBase.cpp\ HarmDihedralSystemForceBase.cpp\ ElectricFieldSystemForceBase.cpp\ ExternalGravitationSystemForce.cpp\ ExternalMagneticFieldExtendedForce.cpp\ ExtendedCompareForce.cpp\ ExtendedForce.cpp\ ExtendedTimeForce.cpp\ Force.cpp\ ForceGroup.cpp\ FrictionExtendedForce.cpp\ GravitationForce.cpp\ Hermite.cpp\ ImproperSystemForceBase.cpp\ LennardJonesForce.cpp\ LennardJonesTableForce.cpp\ MagneticDipoleForce.cpp\ MagneticDipoleMirrorSystemForceBase.cpp\ MetaForce.cpp\ MollyForce.cpp\ NonbondedCutoffForceBase.cpp\ NonbondedFullEwaldSystemForceBase.cpp\ NonbondedFullSystemForceBase.cpp\ NonbondedMultiGridSystemForceBase.cpp\ NonbondedPMEwaldSystemForceBase.cpp\ NonbondedSimpleFullSystemForceBase.cpp\ PaulTrapExtendedForceBase.cpp\ ReducedHessCoulomb.cpp\ ReducedHessLennardJones.cpp\ SphericalSystemForce.cpp\ SystemCompareForce.cpp\ SystemForce.cpp\ SystemTimeForce.cpp\ TimeForce.cpp\ WrapperMetaForce.cpp # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libforces.a libforces_a_SOURCES = $(P_FORCES_SRC) $(P_FORCES_H) INCLUDES = -I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES)# -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_FORCES_SRC) subdir = framework/forces mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) libforces_a_LIBADD = am__objects_1 = am__objects_2 = AngleSystemForceBase.$(OBJEXT) \ BondSystemForceBase.$(OBJEXT) CompareForce.$(OBJEXT) \ CoulombEwaldRealForce.$(OBJEXT) \ CoulombEwaldRealTableForce.$(OBJEXT) CoulombForce.$(OBJEXT) \ CoulombMultiGridDirectForceBase.$(OBJEXT) \ CoulombMultiGridDirectTableForceBase.$(OBJEXT) \ DihedralSystemForceBase.$(OBJEXT) \ HarmDihedralSystemForceBase.$(OBJEXT) \ ElectricFieldSystemForceBase.$(OBJEXT) \ ExternalGravitationSystemForce.$(OBJEXT) \ ExternalMagneticFieldExtendedForce.$(OBJEXT) \ ExtendedCompareForce.$(OBJEXT) ExtendedForce.$(OBJEXT) \ ExtendedTimeForce.$(OBJEXT) Force.$(OBJEXT) \ ForceGroup.$(OBJEXT) FrictionExtendedForce.$(OBJEXT) \ GravitationForce.$(OBJEXT) Hermite.$(OBJEXT) \ ImproperSystemForceBase.$(OBJEXT) LennardJonesForce.$(OBJEXT) \ LennardJonesTableForce.$(OBJEXT) MagneticDipoleForce.$(OBJEXT) \ MagneticDipoleMirrorSystemForceBase.$(OBJEXT) \ MetaForce.$(OBJEXT) MollyForce.$(OBJEXT) \ NonbondedCutoffForceBase.$(OBJEXT) \ NonbondedFullEwaldSystemForceBase.$(OBJEXT) \ NonbondedFullSystemForceBase.$(OBJEXT) \ NonbondedMultiGridSystemForceBase.$(OBJEXT) \ NonbondedPMEwaldSystemForceBase.$(OBJEXT) \ NonbondedSimpleFullSystemForceBase.$(OBJEXT) \ PaulTrapExtendedForceBase.$(OBJEXT) \ ReducedHessCoulomb.$(OBJEXT) ReducedHessLennardJones.$(OBJEXT) \ SphericalSystemForce.$(OBJEXT) SystemCompareForce.$(OBJEXT) \ SystemForce.$(OBJEXT) SystemTimeForce.$(OBJEXT) \ TimeForce.$(OBJEXT) WrapperMetaForce.$(OBJEXT) am_libforces_a_OBJECTS = $(am__objects_1) $(am__objects_2) libforces_a_OBJECTS = $(am_libforces_a_OBJECTS) DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(libforces_a_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(libforces_a_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign framework/forces/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libforces.a: $(libforces_a_OBJECTS) $(libforces_a_DEPENDENCIES) -rm -f libforces.a $(libforces_a_AR) libforces.a $(libforces_a_OBJECTS) $(libforces_a_LIBADD) $(RANLIB) libforces.a mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/framework/forces/MagneticDipoleMirrorSystemForce.h0100644027616700000500000001070410237151530023703 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MagneticDipoleMirrorSystemForce_H #define MagneticDipoleMirrorSystemForce_H #include "SystemForce.h" #include "MagneticDipoleMirrorSystemForceBase.h" namespace ProtoMol { //_________________________________________________________________ MagneticDipoleMirrorSystemForce // This force calculates the mirror - source effect, i.e. the main-effect that positions the spheres // at z = 0 template class MagneticDipoleMirrorSystemForce : public SystemForce, private MagneticDipoleMirrorSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: MagneticDipoleMirrorSystemForce():myChi(0.0), myR(0.0), myD(0.0), myHx(0.0), myHy(0.0), myHz(0.0){} MagneticDipoleMirrorSystemForce(Real chi, Real r, Real Hx, Real Hy, Real Hz, Real d): myChi(chi), myR(r), myD(d), myHx(Hx), myHy(Hy), myHz(Hz){ //Short cuts Real realChi = myChi/(1.0-2.0/3.0*myChi); Real volume = 4.0/3.0*M_PI*power<3>(myR); Real kappa = realChi/(realChi+2.0); Vector3D H(myHx, myHy, myHz/(1+realChi)); Vector3D sigma = -H*volume*myChi; Vector3D sigma_m = sigma*kappa; sigma_m.z = -sigma_m.z; myF = sigma.dot(sigma_m)*(3.0); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class MagneticDipoleMirrorSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} private: virtual Force* doMake(std::string&, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 6;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real myChi, myR, myD, myHx, myHy, myHz, myF; }; //______________________________________________________________________ INLINES template inline void MagneticDipoleMirrorSystemForce::getParameters(std::vector& parameters) const { parameters.push_back(Parameter("-chi",Value(myChi))); parameters.push_back(Parameter("-r",Value(myR))); parameters.push_back(Parameter("-H",Value(myHx))); parameters.push_back(Parameter("",Value(myHy))); parameters.push_back(Parameter("",Value(myHz))); parameters.push_back(Parameter("-d",Value(myD))); } template inline Force* MagneticDipoleMirrorSystemForce::doMake(std::string&, std::vector values) const { return new MagneticDipoleMirrorSystemForce(values[0],values[1],values[2],values[3],values[4],values[5]); } template inline void MagneticDipoleMirrorSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ Real e = 0.0; for(unsigned int i=0;iatoms.size();i++){ Real z_upper = myD-(*positions)[i].z*2; Real z_lower = myD+(*positions)[i].z*2; (*forces)[i].z += myF*(1.0/power<4>(z_lower)-1.0/power<4>(z_upper)); e += myF*(1.0/power<3>(z_lower) - 1.0/power<3>(z_upper)); // Denne energien faar du pushe tilbake ett eller annet sted hvis den skal vaere med aa bestemme totalenergien. } (*energies)[ScalarStructure::OTHER] += e; } } #endif /* MagneticDipoleMirrorSystemForce_H */ protomol/framework/forces/MagneticDipoleMirrorSystemForceBase.cpp0100644027616700000500000000043410237151530025030 0ustar pbrenne1dip#include "MagneticDipoleMirrorSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ MagneticDipoleMirrorSystemForceBase const string MagneticDipoleMirrorSystemForceBase::keyword("MagneticDipoleMirror"); } protomol/framework/forces/MagneticDipoleMirrorSystemForceBase.h0100644027616700000500000000063410237151530024477 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MagneticDipoleMirrorSystemForceBASE_H #define MagneticDipoleMirrorSystemForceBASE_H #include namespace ProtoMol { //_________________________________________________________________ MagneticDipoleMirrorSystemForceBase class MagneticDipoleMirrorSystemForceBase { public: static const std::string keyword; }; } #endif /* MagneticDipoleMirrorSystemForceBASE_H */ protomol/framework/forces/MetaForce.cpp0100644027616700000500000000050410237151530017635 0ustar pbrenne1dip#include "MetaForce.h" #include "ForceGroup.h" using std::vector; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ MetaForce void MetaForce::addToForceGroup(ForceGroup* forceGroup){ forceGroup->addMetaForce(this); } } protomol/framework/forces/MetaForce.h0100644027616700000500000000202610237151530017303 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef METAFORCE_H #define METAFORCE_H #include "Force.h" namespace ProtoMol { class ForceGroup; //_________________________________________________________________ MetaForce class MetaForce : public Force { // This class contains the definition of one Meta force (a force that works only on positions) //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: MetaForce():Force(){} virtual ~MetaForce(){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class MetaForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void addToForceGroup(ForceGroup* forceGroup); virtual void getDeepForces(std::vector& forces) const=0; }; //______________________________________________________________________ INLINES } #endif /* METAFORCE_H */ protomol/framework/forces/MollyForce.cpp0100644027616700000500000000051010237151530020040 0ustar pbrenne1dip#include "MollyForce.h" #include "ForceGroup.h" using std::vector; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ MollyForce void MollyForce::addToForceGroup(ForceGroup* forceGroup){ forceGroup->addMollyForce(this); } } protomol/framework/forces/MollyForce.h0100644027616700000500000000476210237151530017522 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MOLLYFORCE_H #define MOLLYFORCE_H #include "Force.h" #include namespace ProtoMol { class ForceGroup; class GenericTopology; class Vector3DBlock; class ScalarStructure; class ReducedHessAngle; //_________________________________________________________________ MollyForce class MollyForce : public Force { // This class contains the definition of one Molly force (a force that works only on positions) //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: MollyForce():Force(){} virtual ~MollyForce(){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class MollyForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology*, const Vector3DBlock*, std::vector< ReducedHessAngle >*)=0; // Evaluate this force using the information given. virtual void parallelEvaluate(const GenericTopology*, const Vector3DBlock*, std::vector< ReducedHessAngle >*); // Evaluate this force using the information given. // This is a default methods for forces which do not have their // own parallel version, but are called from a parallel environment. // A parallel environment is when the total forces and energies // is the sum over all nodes, where in a sequential environment all // nodes have the total forces and energies locally. // Since parallelEvaluate() is called we are in a parallel environment, // so only one node will evaluate the force. This gives us a parallelization // for free (for bonded forces). // // To the implementor: // Overload this methods to implement a parallel version. Split up the interactions // and distribute them among the nodes. This can by done either by ranges or sequences. // Overload numberOfBlocks() such that the number matches the next() calls inside // parallelEvaluate(). virtual void addToForceGroup(ForceGroup* forceGroup); }; //______________________________________________________________________ INLINES inline void MollyForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, std::vector< ReducedHessAngle >* angleFilter){ evaluate(topo,positions,angleFilter); } } #endif /* MOLLYFORCE_H */ protomol/framework/forces/NonbondedCutoffForce.h0100644027616700000500000001111610237151530021472 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDCUTOFFFORCE_H #define NONBONDEDCUTOFFFORCE_H #include "Force.h" #include "Parallel.h" #include "NonbondedCutoffForceBase.h" namespace ProtoMol { //_________________________________________________________________ NonbondedCutoffForce template class NonbondedCutoffForce: public TForce, private NonbondedCutoffForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef typename TOneAtomPair::BoundaryConditions BoundaryConditions; typedef Topology RealTopologyType; typedef typename RealTopologyType::Enumerator EnumeratorType; typedef typename RealTopologyType::Enumerator::CellPair CellPairType; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NonbondedCutoffForce():myCutoff(0.0){} NonbondedCutoffForce(Real cutoff, TOneAtomPair oneAtomPair) : TForce(),myCutoff(cutoff),myOneAtomPair(oneAtomPair) {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class NonbondedCutoffForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: void doEvaluate(const GenericTopology* topo, unsigned int n); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* positions){ const RealTopologyType* realTopo = dynamic_cast(topo); realTopo->updateCellLists(positions); return Parallel::getNumberOfPackages(realTopo->cellLists.size()); } virtual std::string getKeyword() const{return keyword;} private: virtual Force* doMake(std::string& errMsg, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const; virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 1+TOneAtomPair::getParameterSize();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: Real myCutoff; TOneAtomPair myOneAtomPair; EnumeratorType enumerator; }; template void NonbondedCutoffForce::doEvaluate(const GenericTopology* topo, unsigned int n){ CellPairType thisPair; unsigned int count = 0; for (; !enumerator.done(); enumerator.next()) { enumerator.get(thisPair); bool notSameCell = enumerator.notSameCell(); if(!notSameCell){ count++; if(count > n) break; } for(int i=thisPair.first; i!=-1; i=topo->atoms[i].cellListNext){ for(int j=(notSameCell ? thisPair.second:topo->atoms[i].cellListNext); j!=-1; j=topo->atoms[j].cellListNext){ myOneAtomPair.doOneAtomPair(i,j); } } } } template void NonbondedCutoffForce::getParameters(std::vector& parameters) const { myOneAtomPair.getParameters(parameters); parameters.push_back(Parameter("-cutoff",Value(myCutoff,ConstraintValueType::Positive()),Text("algorithm cutoff"))); } template Force* NonbondedCutoffForce::doMake(std::string& errMsg, std::vector values) const{ return ( new TImplForce(values[values.size()-1], TOneAtomPair::make(errMsg,std::vector(values.begin(),values.end()-1)))); } template std::string NonbondedCutoffForce::getIdNoAlias() const{ return (TOneAtomPair::getId()+ " -algorithm " + keyword); } } #endif /* NONBONDEDCUTOFFFORCE_H */ protomol/framework/forces/NonbondedCutoffForceBase.cpp0100644027616700000500000000036710237151530022626 0ustar pbrenne1dip#include "NonbondedCutoffForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ NonbondedCutoffForceBase const string NonbondedCutoffForceBase::keyword("NonbondedCutoff"); } protomol/framework/forces/NonbondedCutoffForceBase.h0100644027616700000500000000061710237151530022271 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDCUTOFFFORCEBASE_H #define NONBONDEDCUTOFFFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ NonbondedCutoffForceBase class NonbondedCutoffForceBase { public: virtual ~NonbondedCutoffForceBase(){} static const std::string keyword; }; } #endif /* NONBONDEDCUTOFFFORCEBASE_H */ protomol/framework/forces/NonbondedCutoffMollyForce.h0100644027616700000500000000702110237151530022507 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDCUTOFFMOLLYFORCE_H #define NONBONDEDCUTOFFMOLLYFORCE_H #include "MollyForce.h" #include "NonbondedCutoffForce.h" namespace ProtoMol { //_________________________________________________________________ NonbondedCutoffMollyForce template class NonbondedCutoffMollyForce: public NonbondedCutoffForce > { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef typename TOneAtomPair::BoundaryConditions BoundaryConditions; typedef Topology RealTopologyType; typedef typename RealTopologyType::Enumerator EnumeratorType; typedef typename RealTopologyType::Enumerator::CellPair CellPairType; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NonbondedCutoffMollyForce():NonbondedCutoffForce(){} NonbondedCutoffMollyForce(Real cutoff, TOneAtomPair oneAtomPair) : NonbondedCutoffForce(cutoff,oneAtomPair) {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class MollyForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, std::vector< ReducedHessAngle >* angleFilter); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, std::vector< ReducedHessAngle >* angleFilter); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; template void NonbondedCutoffMollyForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, std::vector< ReducedHessAngle >* angleFilter) { const RealTopologyType* realTopo = dynamic_cast(topo); this->myOneAtomPair.initialize(realTopo, positions, angleFilter); realTopo->updateCellLists(positions); this->enumerator.initialize(realTopo, this->myCutoff); this->doEvaluate(topo,realTopo->cellLists.size()); } template void NonbondedCutoffMollyForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, std::vector< ReducedHessAngle >* angleFilter) { const RealTopologyType* realTopo = dynamic_cast(topo); this->myOneAtomPair.initialize(realTopo, positions, angleFilter); realTopo->updateCellLists(positions); this->enumerator.initialize(realTopo, this->myCutoff); unsigned int n = realTopo->cellLists.size(); unsigned int count = numberOfBlocks(realTopo,positions); for(unsigned int i = 0;idoEvaluate(topo,l); else this->enumerator.nextNewPair(l); } } } #endif /* NONBONDEDCUTOFFMOLLYFORCE_H */ protomol/framework/forces/NonbondedCutoffSystemForce.h0100644027616700000500000000712310237151530022702 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDCUTOFFSYSTEMFORCE_H #define NONBONDEDCUTOFFSYSTEMFORCE_H #include "SystemForce.h" #include "NonbondedCutoffForce.h" namespace ProtoMol { //_________________________________________________________________ NonbondedCutoffSystemForce template class NonbondedCutoffSystemForce: public NonbondedCutoffForce > { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: typedef typename TOneAtomPair::BoundaryConditions BoundaryConditions; typedef Topology RealTopologyType; typedef typename RealTopologyType::Enumerator EnumeratorType; typedef typename RealTopologyType::Enumerator::CellPair CellPairType; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NonbondedCutoffSystemForce() : NonbondedCutoffForce(){} NonbondedCutoffSystemForce(Real cutoff, TOneAtomPair oneAtomPair) : NonbondedCutoffForce(cutoff,oneAtomPair) {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; template void NonbondedCutoffSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const RealTopologyType* realTopo = dynamic_cast(topo); this->myOneAtomPair.initialize(realTopo, positions, forces, energies); realTopo->updateCellLists(positions); this->enumerator.initialize(realTopo, this->myCutoff); this->doEvaluate(topo,realTopo->cellLists.size()); } template void NonbondedCutoffSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const RealTopologyType* realTopo = dynamic_cast(topo); this->myOneAtomPair.initialize(realTopo, positions, forces, energies); realTopo->updateCellLists(positions); this->enumerator.initialize(realTopo, this->myCutoff); unsigned int n = realTopo->cellLists.size(); unsigned int count = numberOfBlocks(realTopo,positions); for(unsigned int i = 0;idoEvaluate(topo,l); else this->enumerator.nextNewPair(l); } } } #endif /* NONBONDEDCUTOFFSYSTEMFORCE_H */ protomol/framework/forces/NonbondedFullEwaldSystemForce.h0100644027616700000500000011761510237151530023343 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDFULLEWALDSYSTEMFORCE_H #define NONBONDEDFULLEWALDSYSTEMFORCE_H #include "SystemForce.h" #include "Parallel.h" #include "NonbondedFullEwaldSystemForceBase.h" #include "CoulombForce.h" #include "Topology.h" #include "ScalarStructure.h" #include "PeriodicBoundaryConditions.h" #include "Timer.h" #include "mathutilities.h" #include "simpleTypes.h" #include "pmconstants.h" #include "CutoffSwitchingFunction.h" using namespace ProtoMol::Report; //#define DEBUG_EWALD_TIMING //#define DEBUG_EWALD_ENERGIES //#define USE_EWALD_EXACT_ERF //#define USE_EWALD_NO_SINCOS_TABLE namespace ProtoMol { //_________________________________________________________________ NonbondedFullEwaldSystemForce template class NonbondedFullEwaldSystemForce: public SystemForce, private NonbondedFullEwaldSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef Topology RealTopologyType; typedef typename RealTopologyType::Enumerator EnumeratorType; typedef typename RealTopologyType::Enumerator::CellPair CellPairType; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NonbondedFullEwaldSystemForce(); NonbondedFullEwaldSystemForce(Real alpha, Real accuracy, Real expansionFactor); virtual ~NonbondedFullEwaldSystemForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class NonbondedFullEwaldSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: private: void initialize(const RealTopologyType* realTopo, const Vector3DBlock* positions); void realTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& realEnergy, unsigned int n); void reciprocalTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy, unsigned int from, unsigned int to); void correctionTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& intraMolecularEnergy, unsigned int from, unsigned int to); void surfaceDipoleTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& surfaceDipoleEnergy); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*); virtual void parallelEvaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual unsigned int numberOfBlocks(const GenericTopology*,const Vector3DBlock*); virtual std::string getKeyword() const{return keyword;} virtual void uncache(){myCached=false;}; private: virtual Force* doMake(std::string& errMsg, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const; virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return (TBoundaryConditions::PERIODIC ? 2:3);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: bool myCached; std::vector myK; // Reciprocal lattice vector (h*2PI/Lx,k*2PI/Ly,l*2PI/Lz) std::vector myKSquared; // Squared norm of the reciprocal lattice vector #ifndef USE_EWALD_NO_SINCOS_TABLE std::vector myKInt; // Reciprocal lattice vector (h,k,l) #endif Real myExpansionFactor; Real myTRate; // Real myAccuracy; Real myAlpha; // bool myAlphaDefault; Real myAlphaSquared; Real myAlphaSquaredr; Real my2AlphaPI; Real myFac; Real myRc; // Cutoff real term Real myRcSquared; // Cutoff squared real term Real myKc; // Cutoff reciprocal term int myHmax; int myKmax; int myLmax; int myHKLmax; Real* mySinCosA; // Look up tables Real* myLastSinCos; Vector3D* mySinCos; Real myLX, myLY, myLZ; Real myLXr,myLYr,myLZr; Real myV,myVr; Vector3D myOrigin; Real myPointSelfEnergy; // Precomputed energy terms Real myChargedSystemEnergy; PeriodicBoundaryConditions boundaryConditions; TSwitchingFunction switchingFunction; EnumeratorType enumerator; std::vector myLattice; unsigned int myOldAtomCount; // Keep track of old values and hope int myOldHKLmax; // we do not need to reallocate memory ... #if defined(DEBUG_EWALD_TIMING) Timer myReal; Timer myReciprocal; Timer myIntra; Timer mySurface; #endif }; //______________________________________________________________________ INLINES template NonbondedFullEwaldSystemForce::NonbondedFullEwaldSystemForce() : SystemForce(), myCached(false), myExpansionFactor(0.0), myTRate(0.0), myAccuracy(0.0), myAlpha(-1.0), myAlphaDefault(true), myRc(0.0), myKc(0.0), mySinCosA(NULL), myLastSinCos(NULL), mySinCos(NULL), myV(-1.0), myOldAtomCount(0), myOldHKLmax(0){ #if defined(DEBUG_EWALD_TIMING) myReal.reset(); myReciprocal.reset(); myIntra.reset(); mySurface.reset(); #endif } template NonbondedFullEwaldSystemForce::NonbondedFullEwaldSystemForce(Real alpha, Real accuracy, Real expansionFactor) : SystemForce(), myCached(false), myExpansionFactor(expansionFactor), myTRate(0.0), myAccuracy(accuracy), myAlpha(alpha), myAlphaDefault(alpha<= 0.0), myRc(0.0), myKc(0.0), mySinCosA(NULL), myLastSinCos(NULL), mySinCos(NULL), myV(-1.0), myOldAtomCount(0), myOldHKLmax(0) { #if defined(DEBUG_EWALD_TIMING) myReal.reset(); myReciprocal.reset(); myIntra.reset(); mySurface.reset(); #endif } template NonbondedFullEwaldSystemForce::~NonbondedFullEwaldSystemForce(){ if(reciprocal){ delete [] mySinCosA; delete [] mySinCos; delete [] myLastSinCos; } #if defined(DEBUG_EWALD_TIMING) if(boundaryConditions.getVolume() > Constnat::EPSILON){ report.setf(std::ios::showpoint|std::ios::fixed); report << allnodes << plain <<"Timing (" < void NonbondedFullEwaldSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const RealTopologyType* realTopo = dynamic_cast(topo); // Initialize data members and precompute tables & short cuts if(!myCached) initialize(realTopo,positions); // Intra-molecular and surface diplol term Real intraMolecularEnergy = 0.0; Real surfaceDipoleEnergy = 0.0; Real pointSelfEnergy = 0.0; Real chargedSystemEnergy = 0.0; if(correction){ correctionTerm(realTopo,positions,forces,energies, intraMolecularEnergy, 0,realTopo->exclusions.getTable().size()); pointSelfEnergy = myPointSelfEnergy; chargedSystemEnergy = myChargedSystemEnergy; if(energies->virial()){ (*energies)[ScalarStructure::VIRIALXX] += myChargedSystemEnergy; (*energies)[ScalarStructure::VIRIALYY] += myChargedSystemEnergy; (*energies)[ScalarStructure::VIRIALZZ] += myChargedSystemEnergy; } if(false) surfaceDipoleTerm(realTopo,positions,forces,energies,surfaceDipoleEnergy); } // Real-space term Real realEnergy = 0.0; if(real){ realTopo->updateCellLists(positions); enumerator.initialize(realTopo, myRc); realTerm(realTopo,positions,forces,energies,realEnergy,realTopo->cellLists.size()); } // Reciprocal-space term Real reciprocalEnergy = 0.0; if(reciprocal) reciprocalTerm(realTopo,positions,forces,energies,reciprocalEnergy, 0,myK.size()); // Sum of all energy terms // Sum of all energy terms Real e = realEnergy+ reciprocalEnergy+ intraMolecularEnergy+ surfaceDipoleEnergy+ pointSelfEnergy+ chargedSystemEnergy; (*energies)[ScalarStructure::COULOMB] += e; #if defined(DEBUG_EWALD_ENERGIES) report.setf(std::ios::showpoint|std::ios::fixed); report << plain <<"Ewald: point="<boundaryConditions.e1(), realTopo->boundaryConditions.e2(), realTopo->boundaryConditions.e3(), realTopo->boundaryConditions.origin()); } if(!boundaryConditions.isOrthogonal()) report << error << "[NonbondedFullEwaldSystemForce::initialize] Not orthogonal, aborting."<atoms.size(); myTRate = 5.5; // From Moldy, rate between real and reciprocal //myAccuracy = 0.00001; // From Moldy, accuracy //myAccuracy = 1.e-6; // From NAMD, accuracy // Dimension of the simulation box myLX = boundaryConditions.e1().x; myLY = boundaryConditions.e2().y; myLZ = boundaryConditions.e3().z; myV = boundaryConditions.getVolume(); myLXr = boundaryConditions.e1r().x; myLYr = boundaryConditions.e2r().y; myLZr = boundaryConditions.e3r().z; myVr = 1.0/myV; myOrigin = boundaryConditions.origin(); // Short cuts if(myAlphaDefault) myAlpha = sqrt(M_PI)*pow(myTRate*atomCount/(power<2>(myV)),1.0/6.0); myAlphaSquared = myAlpha*myAlpha; myAlphaSquaredr = 1.0/myAlphaSquared; my2AlphaPI = 2.0*myAlpha/sqrt(M_PI); Real p = -log(myAccuracy); myRc = sqrt(p)/myAlpha; myRcSquared = myRc*myRc; myKc = 2.0*myAlpha*sqrt(p); myFac = 1.0/(4.0*myAlpha*myAlpha); switchingFunction=TSwitchingFunction(myRc); // Reciprocal part // Build the lattice k-vectors 2*PI(n0/Lx,n1/Ly,n2/Lz) // Maximum values of h, k, l s.t. |k| < myKc myHmax = (int)floor(myKc/(2.0*M_PI)*myLX); myKmax = (int)floor(myKc/(2.0*M_PI)*myLY); myLmax = (int)floor(myKc/(2.0*M_PI)*myLZ); myHKLmax = std::max(2,std::max(myHmax,std::max(myKmax,myLmax))+1); myK.clear(); myKSquared.clear(); #ifndef USE_EWALD_NO_SINCOS_TABLE myKInt.clear(); #endif int lastH = Constant::MAX_INT; int lastK = Constant::MAX_INT; int misses = 0; Real kcSquared = myKc*myKc; if(reciprocal){ for(int h = 0; h <= myHmax; h++){ Real kx = 2.0*M_PI*h*myLXr; for(int k = (h==0 ? 0 : -myKmax); k <= myKmax; k++){ Real ky = 2.0*M_PI*k*myLYr; for(int l = (h==0 && k==0 ? 1 : -myLmax); l <= myLmax; l++){ Real kz = 2.0*M_PI*l*myLZr; if(kx*kx + ky*ky + kz*kz < kcSquared){ myK.push_back(Vector3D(kx,ky,kz)); myKSquared.push_back(kx*kx + ky*ky + kz*kz); #ifndef USE_EWALD_NO_SINCOS_TABLE TripleInt tmp(h,k,l); myKInt.push_back(tmp); if(lastH != h || lastK != k) misses++; lastH = h; lastK = k; #endif } } } } // Allocate memeory for our tables if(mySinCosA != NULL && (atomCount != myOldAtomCount)){ delete [] mySinCosA; mySinCosA = NULL; } if(mySinCos != NULL && (atomCount != myOldAtomCount || myHKLmax != myOldHKLmax)){ delete [] mySinCos; mySinCos = NULL; } if(myLastSinCos != NULL && (atomCount != myOldAtomCount)){ delete [] myLastSinCos; myLastSinCos = NULL; } if(mySinCosA == NULL) mySinCosA = new Real[2*atomCount]; if(mySinCosA == NULL) report << error << "[NonbondedFullEwaldSystemForce::evaluate] Not enough memory, requesting "<<2*atomCount*sizeof(Real)<<" bytes."<atoms[i].scaledCharge*realTopo->atoms[i].scaledCharge; } myPointSelfEnergy = -q*myAlpha/sqrt(M_PI); } // // Charged system energy // myChargedSystemEnergy = 0.0; if(correction){ Real q = 0.0; for(unsigned int i=0;iatoms[i].scaledCharge; } if(fabs(q * 0.00268283) > 1.0e-5) myChargedSystemEnergy = -M_PI/(2.0*myV*myAlphaSquared)*q*q; } myLattice = boundaryConditions.buildLatticeVectors(myRc); myLattice.insert(myLattice.begin(),Vector3D(0,0,0)); report << hint <<"Ewald"; #if defined(USE_EWALD_EXACT_ERF) && defined(USE_EWALD_NO_SINCOS_TABLE) report << "(Exact)"; #else #ifdef USE_EWALD_EXACT_ERF report << "(Exact erf)"; #endif #ifdef USE_EWALD_NO_SINCOS_TABLE report << "(No sincos table)"; #endif #endif report <<": alpha="< void NonbondedFullEwaldSystemForce::realTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& realEnergy, unsigned int n) { #if defined(DEBUG_EWALD_TIMING) myReal.start(); #endif // Real-space term CellPairType thisPair; bool doVirial = energies->virial(); bool doMolVirial = energies->molecularVirial(); unsigned int count = 0; for (; !enumerator.done(); enumerator.next()) { enumerator.get(thisPair); bool notSameCell = enumerator.notSameCell(); if(!notSameCell){ count++; if(count > n) break; } for(int i=thisPair.first; i!=-1; i=realTopo->atoms[i].cellListNext){ Real qi = realTopo->atoms[i].scaledCharge; Vector3D ri((*positions)[i]),fi; int mi = realTopo->atoms[i].molecule; for(int j=(notSameCell ? thisPair.second:i); j!=-1; j=realTopo->atoms[j].cellListNext){ Vector3D rijMinimal(boundaryConditions.minimalDifference(ri,(*positions)[j])); int mj = realTopo->atoms[j].molecule; Real qj = realTopo->atoms[j].scaledCharge; bool same = (mi==mj); ExclusionClass excl = (same?realTopo->exclusions.check(i,j):EXCLUSION_NONE); if(i == j) excl = EXCLUSION_FULL; for(unsigned int k=0;kmyRcSquared) continue; // Energy Real r = sqrt(rSquared); Real qq = qi*qj; if (excl == EXCLUSION_MODIFIED) qq *= realTopo->coulombScalingFactor; // Approximation Abramowitz & Stegun p299. // Energy #ifndef USE_EWALD_EXACT_ERF Real rr = 1.0/r; Real ar = myAlpha*r; Real e = qq*exp(-ar*ar); Real energy = poly5(ar)*e*rr; Real force = ((energy+my2AlphaPI*e)*rr*rr); #else Real a = erfc(myAlpha*r)/r; Real energy = qq*a; Real force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*rSquared))/rSquared; #endif // Calculate the switched force and energy. Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, rSquared); // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force = force * switchingValue - energy * switchingDeriv; energy = energy * switchingValue; // Force, F_ij realEnergy += energy; Vector3D fij(rij*force); fi -= fij; (*forces)[j] += fij; // compute the vector between molecular centers of mass if(!same && doMolVirial){ // Add to the atomic and molecular virials energies->addVirial(fij,rij,realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position)); } else if(doVirial) { energies->addVirial(fij,rij); } excl = EXCLUSION_NONE; } } (*forces)[i] += fi; } } #if defined(DEBUG_EWALD_TIMING) myReal.stop(); #endif } template void NonbondedFullEwaldSystemForce::reciprocalTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy, unsigned int from, unsigned int to) { #if defined(DEBUG_EWALD_TIMING) myReciprocal.start(); #endif const unsigned int atomCount = realTopo->atoms.size(); Real energy = 0.0; #ifndef USE_EWALD_NO_SINCOS_TABLE // Precompute/ cache cos/ sin (r*N*2*PI/L) for the lattice vectors in each dimension for(unsigned int j=0;jatoms[j].scaledCharge; Real x = r.x*2.0*M_PI*myLXr; Real y = r.y*2.0*M_PI*myLYr; Real z = r.z*2.0*M_PI*myLZr; Real xsin = sin(x); Real ysin = sin(y); Real zsin = sin(z); Real xcos = cos(x); Real ycos = cos(y); Real zcos = cos(z); // The first two cos/ sin values // sin(r*0*2*PI/L) mySinCos[l ].x = 0.0; mySinCos[l ].y = 0.0; mySinCos[l ].z = 0.0; // cos(r*0*2*PI/L) mySinCos[l+1].x = qi*1.0; mySinCos[l+1].y = 1.0; mySinCos[l+1].z = 1.0; // sin(r*1*2*PI/L) mySinCos[l+2].x = qi*xsin; mySinCos[l+2].y = ysin; mySinCos[l+2].z = zsin; // cos(r*1*2*PI/L) mySinCos[l+3].x = qi*xcos; mySinCos[l+3].y = ycos; mySinCos[l+3].z = zcos; // Using add theorem to compute sin(r*2*2*PI/L to r*myHKLmax*2*PI/L) // and cos(r*2*2*PI/L to r*myHKLmax*2*PI/L) for(int i=4;i<2*myHKLmax;i+=2){ mySinCos[l+i ].x = xsin*mySinCos[l+i-1].x+xcos*mySinCos[l+i-2].x; mySinCos[l+i ].y = ysin*mySinCos[l+i-1].y+ycos*mySinCos[l+i-2].y; mySinCos[l+i ].z = zsin*mySinCos[l+i-1].z+zcos*mySinCos[l+i-2].z; mySinCos[l+i+1].x = xcos*mySinCos[l+i-1].x-xsin*mySinCos[l+i-2].x; mySinCos[l+i+1].y = ycos*mySinCos[l+i-1].y-ysin*mySinCos[l+i-2].y; mySinCos[l+i+1].z = zcos*mySinCos[l+i-1].z-zsin*mySinCos[l+i-2].z; } } //int nk = myK.size(); int lastH = Constant::MAX_INT; int lastK = Constant::MAX_INT; #endif // atomic virial Real virialxx = 0.0; Real virialxy = 0.0; Real virialxz = 0.0; Real virialyy = 0.0; Real virialyz = 0.0; Real virialzz = 0.0; // molecular virial bool doMolVirial = energies->molecularVirial(); bool doVirial = energies->virial(); for(unsigned int l=from;latoms[i].scaledCharge; // It does not matter if coordinates are not in the minimal image since // they are multiplied by 2PI/l, which is a shift of 2PI of a. Real a = k.dot(boundaryConditions.minimalPosition((*positions)[i])); //Real a = k.dot((*positions)[i]); Real sinA = qi*sin(a); Real cosA = qi*cos(a); #else Real xysin = myLastSinCos[i*2 ]; Real xycos = myLastSinCos[i*2+1]; Real zsin = indexLsign*mySinCos[i*myHKLmax*2+indexLabs*2 ].z; Real zcos = mySinCos[i*myHKLmax*2+indexLabs*2+1].z; Real sinA = xysin*zcos + xycos*zsin; Real cosA = xycos*zcos - xysin*zsin; #endif mySinCosA[i*2 ] = sinA; mySinCosA[i*2+1] = cosA; sumSin += sinA; sumCos += cosA; } // Energy Real b = 1.0/kSquared*exp(-kSquared*myAlphaSquaredr/4.0); Real e = b*(sumSin*sumSin+sumCos*sumCos); energy += e; // Virial if(doVirial){ Real c = 2.0*(1.0/kSquared+myFac); virialxx += e * (1.0-c*k.x * k.x); virialxy -= e * c * k.x * k.y; virialxz -= e * c * k.x * k.z; virialyy += e * (1.0-c*k.y * k.y); virialyz -= e * c * k.y * k.z; virialzz += e * (1.0-c*k.z * k.z); } // Force, F_i Real a = 8.0*M_PI*myVr*b; for(unsigned int i=0;iatoms[i].molecule; // compute the vector from atom i to the center of mass of the molecule Vector3D ria(boundaryConditions.minimalPosition((*positions)[i])); Vector3D mri(realTopo->boundaryConditions.minimalDifference(ria,realTopo->molecules[Mi].position)); // compute the reciprocal space contribution to the molecular virial // this expression is taken from Darden, et al. J. Chem. Phys. 103 (19), 8577. energies->addMolVirial(fi,mri); } } } Real c = 4.0*M_PI*myVr; reciprocalEnergy += c*energy; // atomic virial if(doVirial){ (*energies)[ScalarStructure::VIRIALXX] += c*virialxx; (*energies)[ScalarStructure::VIRIALXY] += c*virialxy; (*energies)[ScalarStructure::VIRIALXZ] += c*virialxz; (*energies)[ScalarStructure::VIRIALYX] += c*virialxy; (*energies)[ScalarStructure::VIRIALYY] += c*virialyy; (*energies)[ScalarStructure::VIRIALYZ] += c*virialyz; (*energies)[ScalarStructure::VIRIALZX] += c*virialxz; (*energies)[ScalarStructure::VIRIALZY] += c*virialyz; (*energies)[ScalarStructure::VIRIALZZ] += c*virialzz; } // molecular virial if(doMolVirial){ (*energies)[ScalarStructure::MOLVIRIALXX] += c*virialxx; (*energies)[ScalarStructure::MOLVIRIALXY] += c*virialxy; (*energies)[ScalarStructure::MOLVIRIALXZ] += c*virialxz; (*energies)[ScalarStructure::MOLVIRIALYX] += c*virialxy; (*energies)[ScalarStructure::MOLVIRIALYY] += c*virialyy; (*energies)[ScalarStructure::MOLVIRIALYZ] += c*virialyz; (*energies)[ScalarStructure::MOLVIRIALZX] += c*virialxz; (*energies)[ScalarStructure::MOLVIRIALZY] += c*virialyz; (*energies)[ScalarStructure::MOLVIRIALZZ] += c*virialzz; } #if defined(DEBUG_EWALD_TIMING) myReciprocal.stop(); #endif } template void NonbondedFullEwaldSystemForce::correctionTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& intraMolecularEnergy, unsigned int from, unsigned int to){ #if defined(DEBUG_EWALD_TIMING) myIntra.start(); #endif // Intra-molecular term bool doVirial = energies->virial(); const std::vector& exclusions = realTopo->exclusions.getTable(); for(unsigned int i=from;iboundaryConditions.minimalDifference((*positions)[excl.a1],(*positions)[excl.a2],rSquared)); Real qq = realTopo->atoms[excl.a1].scaledCharge*realTopo->atoms[excl.a2].scaledCharge; if (excl.excl == EXCLUSION_MODIFIED) qq *= 1-realTopo->coulombScalingFactor; Real r = sqrt(rSquared); Real rr = 1/r; Real e = erf(myAlpha*r)*rr; // Intra-molecular selv energy intraMolecularEnergy -= qq*e; // Intra-molecular selv force Vector3D fij(rij*(qq*(my2AlphaPI*exp(-myAlphaSquared*rSquared)-e)*rr*rr)); (*forces)[excl.a1] -= fij; (*forces)[excl.a2] += fij; if(doVirial) energies->addVirial(fij,rij); } #if defined(DEBUG_EWALD_TIMING) myIntra.stop(); #endif } // Surface diplole term template void NonbondedFullEwaldSystemForce::surfaceDipoleTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& surfaceDipoleEnergy){ #if defined(DEBUG_EWALD_TIMING) mySurface.start(); #endif const unsigned int atomCount = realTopo->atoms.size(); Vector3D sum(0,0,0); for(unsigned int i=0;iatoms[i].scaledCharge; // Energy surfaceDipoleEnergy = 2.0/3.0*M_PI*myVr*sum.normSquared(); Real virialxx = 0.0; Real virialxy = 0.0; Real virialxz = 0.0; Real virialyy = 0.0; Real virialyz = 0.0; Real virialzz = 0.0; bool doVirial = energies->virial(); // Force, F_i and virial_i (not confirmed) sum *= 2.0/3.0*M_PI*myVr; for(unsigned int i=0;iatoms[i].scaledCharge); Vector3D ri(boundaryConditions.minimalPosition((*positions)[i])); (*forces)[i] += force; if(doVirial){ virialxx += force.x*ri.x; virialxy += force.x*ri.y; virialxz += force.x*ri.z; virialyy += force.y*ri.y; virialyz += force.y*ri.z; virialzz += force.z*ri.z; } } if(doVirial){ (*energies)[ScalarStructure::VIRIALXX] += virialxx; (*energies)[ScalarStructure::VIRIALXY] += virialxy; (*energies)[ScalarStructure::VIRIALXZ] += virialxz; (*energies)[ScalarStructure::VIRIALYX] += virialxy; (*energies)[ScalarStructure::VIRIALYY] += virialyy; (*energies)[ScalarStructure::VIRIALYZ] += virialyz; (*energies)[ScalarStructure::VIRIALZX] += virialxz; (*energies)[ScalarStructure::VIRIALZY] += virialyz; (*energies)[ScalarStructure::VIRIALZZ] += virialzz; } #if defined(DEBUG_EWALD_TIMING) mySurface.stop(); #endif } template std::string NonbondedFullEwaldSystemForce::getIdNoAlias() const{ return (CoulombForce::keyword + " -algorithm "+ keyword + std::string((real) ? std::string(" -real") : std::string("")) + std::string((reciprocal) ? std::string(" -reciprocal") : std::string("")) + std::string((correction) ? std::string(" -correction") : std::string("")) + std::string((TSwitchingFunction::getId() != CutoffSwitchingFunction::getId()) ? std::string(std::string(" -switchingFunction " + TSwitchingFunction::getId())) : std::string(""))); } template void NonbondedFullEwaldSystemForce::getParameters(std::vector& parameters) const{ parameters.push_back(Parameter("-alpha",Value(myAlpha),-1.0,Text("splitting"))); parameters.push_back(Parameter("-accuracy",Value(myAccuracy,ConstraintValueType::Positive()),0.00001)); if(TBoundaryConditions::VACUUM) parameters.push_back(Parameter("-j",Value(myExpansionFactor,ConstraintValueType::Positive()),3.0)); } template Force* NonbondedFullEwaldSystemForce::doMake(std::string& errMsg, std::vector values) const{ Real alpha = values[0]; Real accuracy = values[1]; Real expansionFactor = (TBoundaryConditions::VACUUM?(Real)values[2]:3.0); std::string err = ""; if(!values[0].valid()) err +=" alpha \'"+values[0].getString()+"\' not valid."; if(!values[1].valid()) err +=" accuracy \'"+values[1].getString()+"\' not valid."; if(TBoundaryConditions::VACUUM && !values[2].valid()) err +=" expansionFactor \'"+values[2].getString()+"\' not valid."; else if(expansionFactor <= 1.0) err += keyword + " simulation box expansion factor (="+toString(expansionFactor)+") > 1.0."; if(!err.empty()){ errMsg += " force "+keyword+" :"+err; return NULL; } return (new NonbondedFullEwaldSystemForce(alpha, accuracy,expansionFactor)); } } #endif /* NONBONDEDFULLEWALDSYSTEMFORCE_H */ protomol/framework/forces/NonbondedFullEwaldSystemForceBase.cpp0100644027616700000500000000041310237151530024454 0ustar pbrenne1dip#include "NonbondedFullEwaldSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ NonbondedFullEwaldSystemForceBase const string NonbondedFullEwaldSystemForceBase::keyword("FullEwald"); } protomol/framework/forces/NonbondedFullEwaldSystemForceBase.h0100644027616700000500000000062410237151530024125 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDFULLEWALDSYSTEMFORCEBASE_H #define NONBONDEDFULLEWALDSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ NonbondedFullEwaldSystemForceBase class NonbondedFullEwaldSystemForceBase { public: static const std::string keyword; }; } #endif /* NONBONDEDFULLEWALDSYSTEMFORCEBASE_H */ protomol/framework/forces/NonbondedFullSystemForce.h0100644027616700000500000001341410237151530022356 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDFULLSYSTEMFORCE_H #define NONBONDEDFULLSYSTEMFORCE_H #include "SystemForce.h" #include "Parallel.h" #include "NonbondedFullSystemForceBase.h" #include "simpleTypes.h" namespace ProtoMol { //_________________________________________________________________ NonbondedFullSystemForce template class NonbondedFullSystemForce: public SystemForce, private NonbondedFullSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef SemiGenericTopology RealTopologyType; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NonbondedFullSystemForce(): SystemForce(),myCutoff(0.0),myBlockSize(0){}; NonbondedFullSystemForce(Real cutoff, TOneAtomPair oneAtomPair, unsigned int blockSize = defaultBlockSize) : SystemForce(),myCutoff(cutoff),myOneAtomPair(oneAtomPair),myBlockSize(blockSize),myCached(false) {} virtual ~NonbondedFullSystemForce(){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class NonbondedFullSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void doEvaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*, int i0, int i1, int j0, int j1); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* to, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e){doEvaluate(to,pos,f,e,0,(int)to->atoms.size(),0,(int)to->atoms.size());} virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e){ if(!myCached) splitRangeArea(static_cast(Parallel::getAvailableNum()),0,topo->atoms.size(),myFromRange,myToRange); for(int i=0;i values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 2+TOneAtomPair::getParameterSize();} virtual std::string getIdNoAlias() const {return (TOneAtomPair::getId()+ " -algorithm " + keyword);} virtual void uncache(){myCached=false;}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real myCutoff; TOneAtomPair myOneAtomPair; unsigned int myBlockSize; bool myCached; std::vector myFromRange; std::vector myToRange; std::vector myLattice; }; //______________________________________________________________________ INLINES template void NonbondedFullSystemForce::doEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, int i0, int i1, int j0, int j1) { const RealTopologyType* realTopo = dynamic_cast(topo); if(!myCached){ myLattice = realTopo->boundaryConditions.buildLatticeVectors(myCutoff); myCached = true; } myOneAtomPair.initialize(realTopo, positions, forces, energies,&myLattice); for(int blocki = i0; blocki < i1; blocki += myBlockSize){ int blocki_max = blocki; if(blocki_max < j0) blocki_max = j0; for(int blockj = blocki_max; blockj < j1; blockj += myBlockSize) { int istart = blocki; int iend = blocki + myBlockSize; if (iend > i1) iend = i1; for(int i = istart; i < iend; i++) { int jstart = blockj; if (jstart <= i) jstart = i; int jend = blockj + myBlockSize; if (jend > j1) jend = j1; for(int j = jstart; j < jend; j++) { myOneAtomPair.doOneAtomPair(i,j); } } } } } template Force* NonbondedFullSystemForce::doMake(std::string& errMsg, std::vector values) const{ int n = values.size()-2; return new NonbondedFullSystemForce(values[n],TOneAtomPair::make(errMsg,std::vector(values.begin(),values.end()-2)),values[n+1]); } template void NonbondedFullSystemForce::getParameters(std::vector& parameters) const{ myOneAtomPair.getParameters(parameters); parameters.push_back(Parameter("-cutoff",Value(myCutoff,ConstraintValueType::Positive()),Text("algorithm cutoff"))); parameters.push_back(Parameter("-blocksize",Value(myBlockSize,ConstraintValueType::Positive()),defaultBlockSize)); } } #endif /* NONBONDEDFULLSYSTEMFORCE_H */ protomol/framework/forces/NonbondedFullSystemForceBase.cpp0100644027616700000500000000051110237151530023476 0ustar pbrenne1dip#include "NonbondedFullSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ NonbondedFullSystemForceBase const unsigned int NonbondedFullSystemForceBase::defaultBlockSize = 64; const string NonbondedFullSystemForceBase::keyword("NonbondedFull"); } protomol/framework/forces/NonbondedFullSystemForceBase.h0100644027616700000500000000065110237151530023150 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDFULLSYSTEMFORCEBASE_H #define NONBONDEDFULLSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ NonbondedFullSystemForceBase class NonbondedFullSystemForceBase { public: static const unsigned int defaultBlockSize; static const std::string keyword; }; } #endif /* NONBONDEDFULLSYSTEMFORCEBASE_H */ protomol/framework/forces/NonbondedMultiGridSystemForce.h0100644027616700000500000007477510237151530023375 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDMULTIGRIDSYSTEMFORCE_H #define NONBONDEDMULTIGRIDSYSTEMFORCE_H #include "SystemForce.h" #include "mathutilities.h" #include "systemutilities.h" #include "NonbondedMultiGridSystemForceBase.h" #include "CellListEnumerator_periodicBoundaries.h" #include "CellListEnumerator_standard.h" #include "TimerStatistic.h" using namespace ProtoMol::Report; //#define DEBUG_MULTIGRID //#define DEBUG_MULTIGRID_TIMING // Same define's in "MultiGrid.h". #include "MultiGrid.h" namespace ProtoMol { //_________________________________________________________________ NonbondedMultiGridSystemForce template class NonbondedMultiGridSystemForce: public SystemForce, private NonbondedMultiGridSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef Topology RealTopologyType; typedef typename RealTopologyType::Enumerator EnumeratorType; typedef typename RealTopologyType::Enumerator::CellPair CellPairType; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NonbondedMultiGridSystemForce(); NonbondedMultiGridSystemForce(unsigned int nx, unsigned int ny, unsigned int nz, unsigned int levels, Real s, unsigned int order, unsigned int ratio, Vector3D h, Vector3D origin ); virtual ~NonbondedMultiGridSystemForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class NonbondedMultiGridSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: private: void initialize(const RealTopologyType* realTopo, const Vector3DBlock* positions); void shortRangeTerm(const RealTopologyType* topo, const Vector3DBlock* positions, Vector3DBlock* forces, Real& shortRange, ScalarStructure* energies, unsigned int n); void longRangeTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, Real& longRange, ScalarStructure*); void correctionTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, Real& intraMolecularEnergy, ScalarStructure* energies, unsigned int from, unsigned int to); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*); virtual void parallelEvaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual unsigned int numberOfBlocks(const GenericTopology*,const Vector3DBlock*); virtual std::string getKeyword() const{return keyword;} virtual void uncache(){myCached=false;}; private: virtual Force* doMake(std::string& errMsg, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const; virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return (1 + (TBoundaryConditions::PERIODIC && smooth?3:0) + (smooth?3:0) + (TBoundaryConditions::VACUUM && smooth?2:0));} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: bool myCached; Real myV; int myLevels; Real myS; Real myS2; Real myRS; unsigned int myNX; unsigned int myNY; unsigned int myNZ; MultiGrid myGrid; unsigned int myInterOrder; unsigned int myRatio; Vector3D myMin; Vector3D myMax; Vector3D myH; Vector3D myOrigin; Real myPointSelfEnergy;// Precomputed energy terms EnumeratorType enumerator; #ifdef DEBUG_MULTIGRID_TIMING Timer myTimeInit; Timer myTimeShort; Timer myTimeLong; Timer myTimeCorrection; Timer myTimeAnterpolate; std::vector myTimeFineToCoarse; std::vector myTimeCorrectionMG; Timer myTimeDirect; std::vector myTimeCoarseToFine; Timer myTimeInterpolate; long myCounterDirect; long myCounterCorrection; #endif }; //______________________________________________________________________ INLINES template NonbondedMultiGridSystemForce::NonbondedMultiGridSystemForce() : SystemForce(), myCached(false), myV(-1.0), myLevels(0), myS(0.0), myNX(0), myNY(0), myNZ(0), myInterOrder(0), myRatio(0), myH(Vector3D(0,0,0)), myOrigin(Vector3D(0,0,0)) { #ifdef DEBUG_MULTIGRID_TIMING myTimeInit.reset(); myTimeShort.reset(); myTimeLong.reset(); myTimeCorrection.reset(); myTimeAnterpolate.reset(); myTimeFineToCoarse.resize(0); myTimeCorrectionMG.resize(0); myTimeDirect.reset(); myTimeCoarseToFine.resize(0); myTimeInterpolate.reset(); myCounterDirect = 0; myCounterCorrection = 0; #endif } template NonbondedMultiGridSystemForce::NonbondedMultiGridSystemForce(unsigned int nx, unsigned int ny, unsigned int nz, unsigned int levels, Real s, unsigned int order, unsigned int ratio, Vector3D h, Vector3D origin) : SystemForce(), myCached(false), myV(-1.0), myLevels(levels), myS(s), myNX(nx), myNY(ny), myNZ(nz), myInterOrder(order), myRatio(ratio), myH(h), myOrigin(origin){ #ifdef DEBUG_MULTIGRID report << hint << "NonbondedMultiGridSystemForce:"<<(direct?"direct":"")<<" "<<(correction?"correction":"")<<" "<<(smooth?"smooth":"")<<" "< NonbondedMultiGridSystemForce::~NonbondedMultiGridSystemForce(){ #ifdef DEBUG_MULTIGRID_TIMING report.setf(std::ios::showpoint|std::ios::fixed); if((myTimeInit.getTime()+ myTimeShort.getTime()+ myTimeLong.getTime()+ myTimeCorrection.getTime()).getProcessTime() > EPSILON){ report << allnodes << plain <<"Timing (" << Parallel::getId()<<") MultiGrid:"< void NonbondedMultiGridSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const RealTopologyType* realTopo = (const RealTopologyType *)topo; // Initialize data members and precompute tables & short cuts #ifdef DEBUG_MULTIGRID_TIMING myTimeInit.start(); #endif if(!myCached) initialize(realTopo,positions); if(direct){ realTopo->updateCellLists(positions); enumerator.initialize(realTopo, myS); } if(smooth){ if(TBoundaryConditions::VACUUM){ if(direct){ myGrid.updateSize(realTopo->min,realTopo->max); } else { positions->boundingbox(myMin,myMax); myGrid.updateSize(myMin,myMax); } } } #ifdef DEBUG_MULTIGRID_TIMING myTimeInit.stop(); myTimeLong.start(); #endif Real longRangeEnergy = 0.0; if(smooth) longRangeTerm(realTopo,positions,forces,longRangeEnergy,energies); #ifdef DEBUG_MULTIGRID_TIMING myTimeLong.stop(); myTimeShort.start(); #endif Real shortRangeEnergy = 0.0; if(direct) shortRangeTerm(realTopo,positions,forces,shortRangeEnergy,energies, realTopo->cellLists.size()); #ifdef DEBUG_MULTIGRID_TIMING myTimeShort.stop(); myTimeCorrection.start(); #endif Real intraMolecularEnergy = 0.0; Real pointSelfEnergy = 0.0; if(correction){ correctionTerm(realTopo,positions,forces,intraMolecularEnergy,energies, 0,realTopo->exclusions.getTable().size()); pointSelfEnergy = myPointSelfEnergy; } #ifdef DEBUG_MULTIGRID_TIMING myTimeCorrection.stop(); #endif (*energies)[ScalarStructure::COULOMB] += shortRangeEnergy+ longRangeEnergy+ intraMolecularEnergy+ pointSelfEnergy; #if defined(DEBUG_MULTIGRID) report << plain <<"MultiGrid : shortRangeEnergy="< void NonbondedMultiGridSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const RealTopologyType* realTopo = (const RealTopologyType *)topo; // // Initialize data members and precompute tables & short cuts // #ifdef DEBUG_MULTIGRID_TIMING myTimeInit.start(); #endif if(!myCached) initialize(realTopo,positions); if(direct){ realTopo->updateCellLists(positions); enumerator.initialize(realTopo, myS); } if(smooth){ if(TBoundaryConditions::VACUUM){ if(direct){ myGrid.updateSize(realTopo->min,realTopo->max); } else { positions->boundingbox(myMin,myMax); myGrid.updateSize(myMin,myMax); } } } #ifdef DEBUG_MULTIGRID_TIMING myTimeInit.stop(); // // Long/smooth part // myTimeLong.start(); #endif Real longRangeEnergy = 0.0; if(smooth){ longRangeTerm(realTopo,positions,forces,longRangeEnergy,energies); } #ifdef DEBUG_MULTIGRID_TIMING myTimeLong.stop(); // // Direct/short part // myTimeShort.start(); #endif Real shortRangeEnergy = 0.0; if(direct){ unsigned int n = realTopo->cellLists.size(); unsigned int count = Parallel::getNumberOfPackages(n); for(unsigned int i = 0;iexclusions.getTable().size(); if(n > 0){ unsigned int count = std::min(n,static_cast(Parallel::getAvailableNum())); for(unsigned int i = 0;i n) to = n; unsigned int from = (n*i)/count; correctionTerm(realTopo,positions,forces,intraMolecularEnergy,energies,from,to); } } } if(Parallel::getAvailableId() == 0) pointSelfEnergy = myPointSelfEnergy; } #ifdef DEBUG_MULTIGRID_TIMING myTimeCorrection.stop(); #endif // // Sum the enegries // (*energies)[ScalarStructure::COULOMB] += shortRangeEnergy+ longRangeEnergy+ intraMolecularEnergy+ pointSelfEnergy; #if defined(DEBUG_MULTIGRID) report << allnodes << plain <<"MultiGrid : shortRangeEnergy="< void NonbondedMultiGridSystemForce::initialize(const RealTopologyType* realTopo, const Vector3DBlock* positions) { if(!realTopo->boundaryConditions.isOrthogonal()) report << error << "[NonbondedMultiGridSystemForce::initialize] Not orthogonal, aborting."<= 0.0 && TBoundaryConditions::PERIODIC); if(dontHint) Report::report << Report::donthint; myV = realTopo->getVolume(*positions); const unsigned int atomCount = realTopo->atoms.size(); // Short cuts myS2 = myS*myS; myRS = 1.0/myS; // Dimension of the simulation box myMin = Vector3D(0.0,0.0,0.0); myMax = Vector3D(0.0,0.0,0.0); if(smooth){ if(TBoundaryConditions::PERIODIC){ myMin = realTopo->boundaryConditions.getMin(); myMax = realTopo->boundaryConditions.getMax(); } else { positions->boundingbox(myMin,myMax); } // The grid myGrid.initialize(positions->size(),myS,myLevels,myNX,myNY,myNZ,myInterOrder,myRatio,myMin,myMax,myH,myOrigin); //myGrid.printConst(); } // // Point self-energy // myPointSelfEnergy = 0.0; if(correction){ Real q = 0.0; for(unsigned int i=0;iatoms[i].scaledCharge*realTopo->atoms[i].scaledCharge; myPointSelfEnergy = -0.5*q*TKernel::smooth0(myS,myRS); } // Now we have all pre-computed stuff myCached = true; if(dontHint) Report::report << Report::dohint; } template void NonbondedMultiGridSystemForce::longRangeTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, Real& energy, ScalarStructure* energies) { const unsigned int atomCount = realTopo->atoms.size(); const unsigned int nBlocks = Parallel::getAvailableNum(); const unsigned int block = Parallel::getAvailableId(); const unsigned int i0 = (atomCount*block)/nBlocks; const unsigned int i1 = (atomCount*(block+1))/nBlocks; Real* begin = NULL; Real* end = NULL; //report << allnodes <atoms[i].scaledCharge,(*positions)[i],i); #ifdef DEBUG_MULTIGRID_TIMING myTimeAnterpolate.stop(); #endif myGrid.getQ(0,begin,end); TimerStatistic::timer[TimerStatistic::COMMUNICATION].lap(); Parallel::reduceSlaves(begin,end); TimerStatistic::timer[TimerStatistic::FORCES] -= TimerStatistic::timer[TimerStatistic::COMMUNICATION].lap(); //report << allnodes < void NonbondedMultiGridSystemForce::getParameters(std::vector& parameters) const{ parameters.push_back(Parameter("-s",Value(myS,ConstraintValueType::Positive()),Text("smoothing distance"))); if(smooth){ if(TBoundaryConditions::PERIODIC){ parameters.push_back(Parameter("-toplevelgrid",Value(myNX,ConstraintValueType::Positive()))); parameters.push_back(Parameter("",Value(myNY,ConstraintValueType::Positive()))); parameters.push_back(Parameter("",Value(myNZ,ConstraintValueType::Positive()))); } if(TBoundaryConditions::VACUUM){ parameters.push_back(Parameter("-h",Value(myH,ConstraintValueType::NotZero()))); parameters.push_back(Parameter("-origin",Value(myOrigin),Vector3D(0.0,0.0,0.0))); } parameters.push_back(Parameter("-levels",Value(myLevels,ConstraintValueType::Positive()))); parameters.push_back(Parameter("-order",Value(myInterOrder,ConstraintValueType::Positive()),4,Text("interpolation"))); parameters.push_back(Parameter("-ratio",Value(myRatio,ConstraintValueType::Positive()),2)); } } template Force* NonbondedMultiGridSystemForce::doMake(std::string& errMsg, std::vector values) const{ int i = 0; std::string err = ""; Real s = values[i++]; int nx = 0; int ny = 0; int nz = 0; Vector3D h(0.0,0.0,0.0); Vector3D origin(0.0,0.0,0.0); int levels = 0; int order = 0; int ratio = 0; if(smooth){ if(TBoundaryConditions::PERIODIC){ nx = values[i++]; ny = values[i++]; nz = values[i++]; } if(TBoundaryConditions::VACUUM){ h = values[i++]; origin = values[i++]; } levels = values[i++]; order = values[i++]; ratio = values[i++]; if(order < 2 || (order % 2) != 0) err += " order (="+toString(order)+") > 1 and even."; if(ratio < 2 ) err += " ratio (="+toString(ratio)+") > 1."; if(levels <= 0){ err += " levels (="+toString(levels)+") > 0."; if(TBoundaryConditions::PERIODIC){ if(levels == 1 && (nx < order || ny < order || nz < order)) err += " 1 level, "+toString(order)+" <= nx (="+toString(nx)+"), "+toString(order)+" <= ny (="+toString(ny)+"), "+toString(order)+" <= nz (="+toString(nz)+")."; } if(TBoundaryConditions::VACUUM){ if(h.x <= 0.0 || h.y <= 0.0 || h.z <= 0.0) err += " hx (="+toString(h.x)+") > 0, hy (="+toString(h.y)+")) > 0, hz (="+toString(h.z)+") > 0.."; } } } if(s <= 0.0) err += " s (="+toString(s)+") > 0."; if(!err.empty()){ errMsg += " force "+keyword+" :"+err; return NULL; } return (new NonbondedMultiGridSystemForce(nx,ny,nz,levels,s,order,ratio, h, origin)); } } #endif /* NONBONDEDMULTIGRIDSYSTEMFORCE_H */ protomol/framework/forces/NonbondedMultiGridSystemForceBase.cpp0100644027616700000500000000041310237151530024475 0ustar pbrenne1dip#include "NonbondedMultiGridSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ NonbondedMultiGridSystemForceBase const string NonbondedMultiGridSystemForceBase::keyword("MultiGrid"); } protomol/framework/forces/NonbondedMultiGridSystemForceBase.h0100644027616700000500000000062210237151530024144 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDMULTIGRIDSYSTEMFORCEBASE_H #define NONBONDEDMULTIGRIDSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ NonbondedMultiGridSystemForceBase class NonbondedMultiGridSystemForceBase { public: static const std::string keyword; }; } #endif /* NONBONDEDMULTIGRIDSYSTEMFORCEBASE_H */ protomol/framework/forces/NonbondedPMEwaldSystemForce.h0100644027616700000500000011027010237151530022743 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDPMEWALDSYSTEMFORCE_H #define NONBONDEDPMEWALDSYSTEMFORCE_H #include "SystemForce.h" #include "CoulombForce.h" #include "CutoffSwitchingFunction.h" #include "CellListEnumerator_periodicBoundaries.h" #include "CellListEnumerator_standard.h" #include "PeriodicBoundaryConditions.h" #include "CoulombForce.h" #include "mathutilities.h" #include "NonbondedPMEwaldSystemForceBase.h" #include "Grid.h" #include "TimerStatistic.h" #include "CutoffSwitchingFunction.h" using namespace ProtoMol::Report; //#define DEBUG_PME_TIMING //#define DEBUG_PME_ENERGIES //#define USE_PME_EXACT_ERF namespace ProtoMol { //_________________________________________________________________ NonbondedPMEwaldSystemForce template class NonbondedPMEwaldSystemForce: public SystemForce, private NonbondedPMEwaldSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef Topology RealTopologyType; typedef typename RealTopologyType::Enumerator EnumeratorType; typedef typename RealTopologyType::Enumerator::CellPair CellPairType; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NonbondedPMEwaldSystemForce(); NonbondedPMEwaldSystemForce(unsigned int nx, unsigned int ny, unsigned int nz, unsigned int order, Real cutoff, Real accuracy, Real alpha, Real expansionFactor); virtual ~NonbondedPMEwaldSystemForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class NonbondedPMEwaldSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: private: void initialize(const RealTopologyType* realTopo, const Vector3DBlock* positions); void realTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& realEnergy, unsigned int n); void reciprocalTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy); void reciprocalTermParallel(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy); void correctionTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& intraMolecularEnergy, unsigned int from, unsigned int to); void surfaceDipoleTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& surfaceDipoleEnergy); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*); virtual void parallelEvaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual unsigned int numberOfBlocks(const GenericTopology*,const Vector3DBlock*); virtual std::string getKeyword() const{return keyword;} virtual void uncache(){myCached=false;}; private: virtual Force* doMake(std::string& errMsg, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const; virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return (TBoundaryConditions::PERIODIC ? 7:8);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: bool myCached; Real myExpansionFactor; Real myTRate; // Real myAccuracy; Real myAlpha; // bool myAlphaDefault; Real myAlphaSquared; Real myAlphaSquaredr; Real my2AlphaPI; Real myRc; // Cutoff real term Real myRcSquared; // Cutoff squared real term Real myKc; // Cutoff reciprocal term Real myLX, myLY, myLZ; Real myLXr,myLYr,myLZr; Real myV,myVr; Vector3D myOrigin; unsigned int myNX; unsigned int myNY; unsigned int myNZ; Grid myGrid; unsigned int myInterOrder; Real myPointSelfEnergy; // Precomputed energy terms Real myChargedSystemEnergy; PeriodicBoundaryConditions boundaryConditions; TSwitchingFunction switchingFunction; EnumeratorType enumerator; std::vector myLattice; #if defined(DEBUG_PME_TIMING) Timer myReal; Timer myReciprocal; Timer myIntra; Timer mySurface; #endif }; //______________________________________________________________________ INLINES template NonbondedPMEwaldSystemForce::NonbondedPMEwaldSystemForce() : SystemForce(),myCached(false),myExpansionFactor(3.0),myTRate(0.0),myAccuracy(0.0),myAlpha(-1.0),myAlphaDefault(true),myRc(0.0),myKc(0.0),myV(-1.0),myNX(0),myNY(0),myNZ(0),myInterOrder(0) { #if defined(DEBUG_PME_TIMING) myReal.reset(); myReciprocal.reset(); myIntra.reset(); mySurface.reset(); #endif } template NonbondedPMEwaldSystemForce::NonbondedPMEwaldSystemForce(unsigned int nx, unsigned int ny, unsigned int nz, unsigned int order, Real cutoff, Real accuracy, Real alpha, Real expansionFactor) : SystemForce(),myCached(false),myExpansionFactor(expansionFactor),myTRate(0.0),myAccuracy(accuracy),myAlpha(alpha),myAlphaDefault(alpha<= 0.0),myRc(cutoff),myKc(0.0),myV(-1.0),myNX(nx),myNY(ny),myNZ(nz),myInterOrder(order){ switchingFunction=TSwitchingFunction(myRc); #if defined(DEBUG_PME_TIMING) myReal.reset(); myReciprocal.reset(); myIntra.reset(); mySurface.reset(); #endif } template NonbondedPMEwaldSystemForce::~NonbondedPMEwaldSystemForce(){ #if defined(DEBUG_PME_TIMING) if(boundaryConditions.getVolume() > Constant::EPSILON){ report.setf(std::ios::showpoint|std::ios::fixed); report << allnodes << plain <<"Timing (" < void NonbondedPMEwaldSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies) { const RealTopologyType* realTopo = (const RealTopologyType *)topo; // Initialize data members and precompute tables & short cuts if(!myCached) initialize(realTopo,positions); // Intra-molecular and surface diplol term Real intraMolecularEnergy = 0.0; Real surfaceDipoleEnergy = 0.0; Real pointSelfEnergy = 0.0; Real chargedSystemEnergy = 0.0; if(correction){ correctionTerm(realTopo,positions,forces,energies, intraMolecularEnergy, 0,realTopo->exclusions.getTable().size()); pointSelfEnergy = myPointSelfEnergy; chargedSystemEnergy = myChargedSystemEnergy; if(energies->virial()){ (*energies)[ScalarStructure::VIRIALXX] += myChargedSystemEnergy; (*energies)[ScalarStructure::VIRIALYY] += myChargedSystemEnergy; (*energies)[ScalarStructure::VIRIALZZ] += myChargedSystemEnergy; } if(false) surfaceDipoleTerm(realTopo,positions,forces,energies,surfaceDipoleEnergy); } // Real-space term Real realEnergy = 0.0; if(real){ realTopo->updateCellLists(positions); enumerator.initialize(realTopo, myRc); realTerm(realTopo,positions,forces,energies,realEnergy, realTopo->cellLists.size()); } // Reciprocal-space term Real reciprocalEnergy = 0.0; if(reciprocal) reciprocalTerm(realTopo,positions,forces,energies,reciprocalEnergy); // Sum of all energy terms // Sum of all energy terms Real e = realEnergy+ reciprocalEnergy+ intraMolecularEnergy+ surfaceDipoleEnergy+ pointSelfEnergy+ chargedSystemEnergy; (*energies)[ScalarStructure::COULOMB] += e; #if defined(DEBUG_PME_ENERGIES) report.setf(std::ios::showpoint|std::ios::fixed); report << plain <<"PME: point="<boundaryConditions.e1(), realTopo->boundaryConditions.e2(), realTopo->boundaryConditions.e3(), realTopo->boundaryConditions.origin()); } if(!boundaryConditions.isOrthogonal()) report << error << "[NonbondedFullEwaldSystemForce::initialize] Not orthogonal, aborting."<atoms.size(); myTRate = 5.5; // From Moldy, rate between real and reciprocal //myAccuracy = 0.00001; // From Moldy, accuracy //myAccuracy = 1.e-6; // From NAMD, accuracy // Dimension of the simulation box myLX = boundaryConditions.e1().x; myLY = boundaryConditions.e2().y; myLZ = boundaryConditions.e3().z; myV = boundaryConditions.getVolume(); myLXr = boundaryConditions.e1r().x; myLYr = boundaryConditions.e2r().y; myLZr = boundaryConditions.e3r().z; myVr = 1.0/myV; myOrigin = boundaryConditions.origin(); // Short cuts if(myAlphaDefault){ myAlpha = 1.0; //myRc = 6.5; while ( erfc(myAlpha*myRc)/myRc >= myAccuracy ) myAlpha *= 2.0; Real low = 0.; Real high = myAlpha; for(unsigned int i=0; i<100; ++i){ myAlpha = 0.5 * (low + high); if ( erfc(myAlpha*myRc)/myRc >= myAccuracy ) { low = myAlpha; } else { high = myAlpha; } } //myAlpha = sqrt(M_PI)*pow(myTRate*atomCount/(power<2>(myV)),1.0/6.0); } Real p = -log(myAccuracy); myKc = 2.0*myAlpha*sqrt(p); //myRc = sqrt(p)/myAlpha; myRcSquared = myRc*myRc; myAlphaSquared = myAlpha*myAlpha; myAlphaSquaredr = 1.0/myAlphaSquared; my2AlphaPI = 2.0*myAlpha/sqrt(M_PI); // The grid if(reciprocal) myGrid.initialize(myLX,myLY,myLZ,myAlpha,myNX,myNY,myNZ,myInterOrder,atomCount); // // Point self-energy // myPointSelfEnergy = 0.0; if(correction){ Real q = 0.0; for(unsigned int i=0;iatoms[i].scaledCharge*realTopo->atoms[i].scaledCharge; } myPointSelfEnergy = -q*myAlpha/sqrt(M_PI); } // // Charged sytem energy // myChargedSystemEnergy = 0.0; if(correction){ Real q = 0.0; for(unsigned int i=0;iatoms[i].scaledCharge; } if(fabs(q * 0.00268283) > 1.0e-5) myChargedSystemEnergy = -M_PI/(2.0*myV*myAlphaSquared)*q*q; } myLattice = boundaryConditions.buildLatticeVectors(myRc); myLattice.insert(myLattice.begin(),Vector3D(0,0,0)); report << hint <<"PME"; #ifdef USE_PME_EXACT_ERF report << "(Exact)"; #endif report <<": alpha="< void NonbondedPMEwaldSystemForce::realTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& realEnergy, unsigned int n) { #if defined(DEBUG_PME_TIMING) myReal.start(); #endif // Real-space term CellPairType thisPair; bool doVirial = energies->virial(); bool doMolVirial = energies->molecularVirial(); unsigned int count = 0; for (; !enumerator.done(); enumerator.next()) { enumerator.get(thisPair); bool notSameCell = enumerator.notSameCell(); if(!notSameCell){ count++; if(count > n) break; } for(int i=thisPair.first; i!=-1; i=realTopo->atoms[i].cellListNext){ Real qi = realTopo->atoms[i].scaledCharge; Vector3D ri((*positions)[i]),fi; int mi = realTopo->atoms[i].molecule; for(int j=(notSameCell ? thisPair.second:i); j!=-1; j=realTopo->atoms[j].cellListNext){ Vector3D rijMinimal(boundaryConditions.minimalDifference(ri,(*positions)[j])); int mj = realTopo->atoms[j].molecule; Real qj = realTopo->atoms[j].scaledCharge; bool same = (mi==mj); ExclusionClass excl = (same?realTopo->exclusions.check(i,j):EXCLUSION_NONE); if(i == j) excl = EXCLUSION_FULL; for(unsigned int k=0;kmyRcSquared) continue; // Energy Real r = sqrt(rSquared); Real qq = qi*qj; if (excl == EXCLUSION_MODIFIED) qq *= realTopo->coulombScalingFactor; // Approximation Abramowitz & Stegun p299. // Energy #ifndef USE_PME_EXACT_ERF Real rr = 1.0/r; Real ar = myAlpha*r; Real e = qq*exp(-ar*ar); Real energy = poly5(ar)*e*rr; Real force = ((energy+my2AlphaPI*e)*rr*rr); #else Real a = erfc(myAlpha*r)/r; Real energy = qq*a; Real force = qq*(a+my2AlphaPI*exp(-myAlphaSquared*rSquared))/rSquared; #endif // Calculate the switched force and energy. Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, rSquared); // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force = force * switchingValue - energy * switchingDeriv; energy = energy * switchingValue; // Force, F_ij realEnergy += energy; Vector3D fij(rij*force); fi -= fij; (*forces)[j] += fij; // compute the vector between molecular centers of mass if(!same && doMolVirial){ // Add to the atomic and molecular virials energies->addVirial(fij,rij,realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position)); } else if(doVirial) energies->addVirial(fij,rij); excl = EXCLUSION_NONE; } } (*forces)[i] += fi; } } #if defined(DEBUG_PME_TIMING) myReal.stop(); #endif } template void NonbondedPMEwaldSystemForce::reciprocalTermParallel(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy) { #if defined(DEBUG_PME_TIMING) myReciprocal.start(); #endif const unsigned int atomCount = realTopo->atoms.size(); const unsigned int nBlocks = Parallel::getAvailableNum(); const unsigned int block = Parallel::getAvailableId(); const unsigned int i0 = (atomCount*block)/nBlocks; const unsigned int i1 = (atomCount*(block+1))/nBlocks; Real* begin = NULL; Real* end = NULL; // Anterpolate myGrid.clear(); for(unsigned int i=i0;iatoms[i].scaledCharge,(*positions)[i],i); myGrid.getQ(begin,end); TimerStatistic::timer[TimerStatistic::COMMUNICATION].lap(); Parallel::reduceSlaves(begin,end); TimerStatistic::timer[TimerStatistic::FORCES] -= TimerStatistic::timer[TimerStatistic::COMMUNICATION].lap(); // FFT back if(FFTComplex::isParallel()){ myGrid.fftBack(); } else { if(block == 0) myGrid.fftBack(); myGrid.getQ(begin,end); TimerStatistic::timer[TimerStatistic::COMMUNICATION].lap(); Parallel::bcastSlaves(begin,end); TimerStatistic::timer[TimerStatistic::FORCES] -= TimerStatistic::timer[TimerStatistic::COMMUNICATION].lap(); } // Sum Real energy = myGrid.scalarSum(energies,block,nBlocks); myGrid.getQ(begin,end); TimerStatistic::timer[TimerStatistic::COMMUNICATION].lap(); Parallel::reduceSlaves(begin,end); TimerStatistic::timer[TimerStatistic::FORCES] -= TimerStatistic::timer[TimerStatistic::COMMUNICATION].lap(); // myGrid.print(); // FFT forward if(FFTComplex::isParallel()){ myGrid.fftForward(); } else{ if(block == 0) myGrid.fftForward(); myGrid.getQ(begin,end); TimerStatistic::timer[TimerStatistic::COMMUNICATION].lap(); Parallel::bcastSlaves(begin,end); TimerStatistic::timer[TimerStatistic::FORCES] -= TimerStatistic::timer[TimerStatistic::COMMUNICATION].lap(); } // Interploate bool doMolVirial = energies->molecularVirial(); for(unsigned int i=i0;iatoms[i].scaledCharge,i,fi); (*forces)[i] += fi; if(doMolVirial){ // compute the vector from atom i to the center of mass of the molecule Vector3D ria(boundaryConditions.minimalPosition((*positions)[i])); Vector3D mri(realTopo->boundaryConditions.minimalDifference(ria,realTopo->molecules[realTopo->atoms[i].molecule].position)); // compute the reciprocal space contribution to the molecular virial // this expression is taken from Darden, et al. J. Chem. Phys. 103 (19), 8577. energies->addMolVirial(fi,mri); } } // end loop over atoms (i) reciprocalEnergy += energy; #if defined(DEBUG_PME_TIMING) myReciprocal.stop(); #endif } template void NonbondedPMEwaldSystemForce::reciprocalTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& reciprocalEnergy) { #if defined(DEBUG_PME_TIMING) myReciprocal.start(); #endif const unsigned int atomCount = realTopo->atoms.size(); myGrid.clear(); for(unsigned int i=0;iatoms[i].scaledCharge,(*positions)[i],i); myGrid.fftBack(); Real energy = myGrid.scalarSum(energies); // myGrid.print(); myGrid.fftForward(); bool doMolVirial = energies->molecularVirial(); for(unsigned int i=0;iatoms[i].scaledCharge,i,fi); (*forces)[i] += fi; //myGrid.interpolateForce(realTopo->atoms[i].scaledCharge,i,(*forces)[i]); if(doMolVirial){ // get the ID# of the molecule to which this atom belongs int Mi = realTopo->atoms[i].molecule; // compute the vector from atom i to the center of mass of the molecule Vector3D ria(boundaryConditions.minimalPosition((*positions)[i])); Vector3D mri(realTopo->boundaryConditions.minimalDifference(ria,realTopo->molecules[Mi].position)); // compute the reciprocal space contribution to the molecular virial // this expression is taken from Darden, et al. J. Chem. Phys. 103 (19), 8577. energies->addMolVirial(fi,mri); } } // end loop over atoms reciprocalEnergy += energy; #if defined(DEBUG_PME_TIMING) myReciprocal.stop(); #endif } template void NonbondedPMEwaldSystemForce::correctionTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& intraMolecularEnergy, unsigned int from, unsigned int to){ #if defined(DEBUG_PME_TIMING) myIntra.start(); #endif // Intra-molecular term bool doVirial = energies->virial(); const std::vector& exclusions = realTopo->exclusions.getTable(); for(unsigned int i=from;iboundaryConditions.minimalDifference((*positions)[excl.a1],(*positions)[excl.a2],rSquared)); Real qq = realTopo->atoms[excl.a1].scaledCharge*realTopo->atoms[excl.a2].scaledCharge; if (excl.excl == EXCLUSION_MODIFIED) qq *= 1-realTopo->coulombScalingFactor; Real r = sqrt(rSquared); Real rr = 1/r; Real e = erf(myAlpha*r)*rr; // Intra-molecular selv energy intraMolecularEnergy -= qq*e; // Intra-molecular selv force Vector3D fij(rij*(qq*(my2AlphaPI*exp(-myAlphaSquared*rSquared)-e)*rr*rr)); (*forces)[excl.a1] -= fij; (*forces)[excl.a2] += fij; if(doVirial) energies->addVirial(fij,rij); } #if defined(DEBUG_PME_TIMING) myIntra.stop(); #endif } // Surface diplole term template void NonbondedPMEwaldSystemForce::surfaceDipoleTerm(const RealTopologyType* realTopo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, Real& surfaceDipoleEnergy){ #if defined(DEBUG_PME_TIMING) mySurface.start(); #endif const unsigned int atomCount = realTopo->atoms.size(); Vector3D sum(0,0,0); for(unsigned int i=0;iatoms[i].scaledCharge; // Energy surfaceDipoleEnergy = 2.0/3.0*M_PI*myVr*sum.normSquared(); Real virialxx = 0.0; Real virialxy = 0.0; Real virialxz = 0.0; Real virialyy = 0.0; Real virialyz = 0.0; Real virialzz = 0.0; bool doVirial = energies->virial(); // Force, F_i and virial_i (not confirmed) sum *= 2.0/3.0*M_PI*myVr; for(unsigned int i=0;iatoms[i].scaledCharge); Vector3D ri(boundaryConditions.minimalPosition((*positions)[i])); (*forces)[i] += force; if(doVirial){ virialxx += force.x*ri.x; virialxy += force.x*ri.y; virialxz += force.x*ri.z; virialyy += force.y*ri.y; virialyz += force.y*ri.z; virialzz += force.z*ri.z; } } if(doVirial){ (*energies)[ScalarStructure::VIRIALXX] += virialxx; (*energies)[ScalarStructure::VIRIALXY] += virialxy; (*energies)[ScalarStructure::VIRIALXZ] += virialxz; (*energies)[ScalarStructure::VIRIALYX] += virialxy; (*energies)[ScalarStructure::VIRIALYY] += virialyy; (*energies)[ScalarStructure::VIRIALYZ] += virialyz; (*energies)[ScalarStructure::VIRIALZX] += virialxz; (*energies)[ScalarStructure::VIRIALZY] += virialyz; (*energies)[ScalarStructure::VIRIALZZ] += virialzz; } #if defined(DEBUG_PME_TIMING) mySurface.stop(); #endif } template std::string NonbondedPMEwaldSystemForce::getIdNoAlias() const{ return (CoulombForce::keyword + " -algorithm "+ keyword + std::string((real) ? std::string(" -real") : std::string("")) + std::string((reciprocal) ? std::string(" -reciprocal") : std::string("")) + std::string((correction) ? std::string(" -correction") : std::string("")) + " -interpolation "+TInterpolation::getKeyword()+ std::string((TSwitchingFunction::getId() != CutoffSwitchingFunction::getId()) ? std::string(std::string(" -switchingFunction " + TSwitchingFunction::getId())) : std::string(""))); } template void NonbondedPMEwaldSystemForce::getParameters(std::vector& parameters) const{ parameters.push_back(Parameter("-gridsize",Value(myNX,ConstraintValueType::Positive()))); parameters.push_back(Parameter("",Value(myNY,ConstraintValueType::Positive()))); parameters.push_back(Parameter("",Value(myNZ,ConstraintValueType::Positive()))); parameters.push_back(Parameter("-cutoff",Value(myRc,ConstraintValueType::Positive()),Text("Rc cutoff"))); parameters.push_back(Parameter("-order",Value(myInterOrder,ConstraintValueType::Positive()),4,Text("interpolation"))); parameters.push_back(Parameter("-accuracy",Value(myAccuracy,ConstraintValueType::Positive()),1.e-6)); parameters.push_back(Parameter("-alpha",Value(myAlpha),-1.0,Text("splitting"))); if(TBoundaryConditions::VACUUM) parameters.push_back(Parameter("-j",Value(myExpansionFactor),3.0)); } template Force* NonbondedPMEwaldSystemForce::doMake(std::string& errMsg,std::vector values) const{ int nx = values[0]; int ny = values[1]; int nz = values[2]; Real cutoff = values[3]; int order = values[4]; Real accuracy = values[5]; Real alpha = values[6]; Real expansionFactor = (TBoundaryConditions::VACUUM?(Real)values[7]:3.0); std::string err = ""; if(TBoundaryConditions::VACUUM && !values[7].valid()) err +=" expansionFactor \'"+values[2].getString()+"\' for "+getId()+" not valid."; if(expansionFactor <= 1.0) err += keyword + " simulation box expansion factor (="+toString(expansionFactor)+") > 1.0."; if(order < 2 || (order % 2) != 0 || !values[4].valid()) err += keyword + " order (="+values[4].getString()+") > 1 and even."; if(!values[0].valid() || !values[1].valid() || !values[2].valid() || nx < order || ny < order || nz < order) err += keyword + " force: "+values[4].getString()+" <= nx (="+values[0].getString()+"), "+values[4].getString()+" <= ny (="+values[1].getString()+"), "+values[4].getString()+" <= nz (="+values[2].getString()+")."; if(cutoff <= 0.0 || !values[3].valid()) err += keyword + " cutoff (="+values[3].getString()+") > 0."; if(accuracy <= 0.0 || !values[5].valid()) err += keyword + " accuracy (="+values[5].getString()+") > 0."; if(!values[6].valid()) err +=" alpha \'"+values[6].getString()+"\' not valid."; if(!err.empty()){ errMsg += " force "+keyword+" :"+err; return NULL; } return (new NonbondedPMEwaldSystemForce((unsigned int)nx,(unsigned int)ny,(unsigned int)nz,(unsigned int)order,cutoff,accuracy,alpha,expansionFactor)); } } #endif /* NONBONDEDPMEWALDSYSTEMFORCE_H */ protomol/framework/forces/NonbondedPMEwaldSystemForceBase.cpp0100644027616700000500000000040310237151530024065 0ustar pbrenne1dip#include "NonbondedPMEwaldSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ NonbondedPMEwaldSystemForceBase const string NonbondedPMEwaldSystemForceBase::keyword("PMEwald"); } protomol/framework/forces/NonbondedPMEwaldSystemForceBase.h0100644027616700000500000000061110237151530023533 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDPMEWALDSYSTEMFORCEBASE_H #define NONBONDEDPMEWALDSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ NonbondedPMEwaldSystemForceBase class NonbondedPMEwaldSystemForceBase { public: static const std::string keyword; }; } #endif /* NONBONDEDPMEWALDSYSTEMFORCEBASE_H */ protomol/framework/forces/NonbondedSimpleFullSystemForce.h0100644027616700000500000001302110237151530023522 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDSIMPLEFULLSYSTEMFORCE_H #define NONBONDEDSIMPLEFULLSYSTEMFORCE_H #include "SystemForce.h" #include "NonbondedSimpleFullSystemForceBase.h" #include "Parallel.h" #include "mathutilities.h" namespace ProtoMol { //_________________________________________________________________ NonbondedSimpleFullSystemForce template class NonbondedSimpleFullSystemForce: public SystemForce, private NonbondedSimpleFullSystemForceBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef SemiGenericTopology RealTopologyType; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NonbondedSimpleFullSystemForce(): SystemForce(),myBlockSize(0),myCached(false){}; NonbondedSimpleFullSystemForce(TOneAtomPair oneAtomPair, unsigned int blockSize = defaultBlockSize) : SystemForce(),myOneAtomPair(oneAtomPair),myBlockSize(blockSize),myCached(false){} virtual ~NonbondedSimpleFullSystemForce(){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class NonbondedSimpleFullSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void doEvaluate(const GenericTopology*, const Vector3DBlock*, Vector3DBlock*, ScalarStructure*, int i0, int i1, int j0, int j1); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e){ myCached = true;doEvaluate(topo,pos,f,e,0,topo->atoms.size(),0,topo->atoms.size());} virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e){ if(!myCached) splitRangeArea(static_cast(Parallel::getAvailableNum()),0,topo->atoms.size(),myFromRange,myToRange); myCached = true; for(int i=0;i& parameters) const{ myOneAtomPair.getParameters(parameters); parameters.push_back(Parameter("-blocksize",Value(myBlockSize,ConstraintValueType::Positive()),defaultBlockSize)); } virtual unsigned int getParameterSize() const{return 1+TOneAtomPair::getParameterSize();} virtual std::string getIdNoAlias() const { return (TOneAtomPair::getId()+ " -algorithm " + keyword); } private: virtual Force* doMake(std::string& errMsg, std::vector values) const{ unsigned int blockSize; int n = values.size()-1; values[n].get(blockSize); if(!(values[n].valid()) || blockSize == 0){ errMsg += keyword + " algorithm: 0 < blocksize (="+values[n].getString()+")."; return NULL; } return (new NonbondedSimpleFullSystemForce(TOneAtomPair::make(errMsg,std::vector(values.begin(),values.end()-1)), blockSize)); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: TOneAtomPair myOneAtomPair; unsigned int myBlockSize; std::vector myFromRange; std::vector myToRange; bool myCached; }; //______________________________________________________________________ INLINES template void NonbondedSimpleFullSystemForce::doEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, int i0, int i1, int j0, int j1) { const RealTopologyType* realTopo = dynamic_cast(topo); myOneAtomPair.initialize(realTopo, positions, forces, energies); for(int blocki = i0; blocki < i1; blocki += myBlockSize){ int blocki_max = blocki; if(blocki_max < j0) blocki_max = j0; for(int blockj = blocki_max; blockj < j1; blockj += myBlockSize) { int istart = blocki; int iend = blocki + myBlockSize; if (iend > i1) iend = i1; for(int i = istart; i < iend; i++) { int jstart = blockj; if (jstart <= i) jstart = i+1; int jend = blockj + myBlockSize; if (jend > j1) jend = j1; for(int j = jstart; j < jend; j++) { myOneAtomPair.doOneAtomPair(i,j); } } } } } } #endif /* NONBONDEDSIMPLEFULLSYSTEMFORCE_H */ protomol/framework/forces/NonbondedSimpleFullSystemForceBase.cpp0100644027616700000500000000054710237151530024661 0ustar pbrenne1dip#include "NonbondedSimpleFullSystemForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ NonbondedSimpleFullSystemForceBase const unsigned int NonbondedSimpleFullSystemForceBase::defaultBlockSize = 64; const string NonbondedSimpleFullSystemForceBase::keyword("NonbondedSimpleFull"); } protomol/framework/forces/NonbondedSimpleFullSystemForceBase.h0100644027616700000500000000077310237151530024327 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONBONDEDSIMPLEFULLSYSTEMFORCEBASE_H #define NONBONDEDSIMPLEFULLSYSTEMFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ NonbondedSimpleFullSystemForceBase class NonbondedSimpleFullSystemForceBase { public: virtual ~NonbondedSimpleFullSystemForceBase(){} static const unsigned int defaultBlockSize; static const std::string keyword; }; } #endif /* NONBONDEDSIMPLEFULLSYSTEMFORCEBASE_H */ protomol/framework/forces/OneAtomPair.h0100644027616700000500000001275410237151530017625 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ONEATOMPAIR_H #define ONEATOMPAIR_H #include "Topology.h" #include "Parameter.h" #include "oneAtomContraints.h" namespace ProtoMol { //_________________________________________________________________ OneAtomPair template class OneAtomPair { // Computes the interaction for a given force between two atoms. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: typedef TBoundaryConditions BoundaryConditions; // Make the boundary conditions visible //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OneAtomPair(): switchingFunction(), nonbondedForceFunction(){}; OneAtomPair(TNonbondedForce nF, TSwitchingFunction sF): switchingFunction(sF), nonbondedForceFunction(nF),mySquaredCutoff(sF.cutoffSquared()){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class OneAtomPair //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const SemiGenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e){ realTopo = topo; positions = pos; forces = f; energies = e; } void doOneAtomPair(const int i, const int j); // Computes the force and energy for atom i and j. void getParameters(std::vector& parameters) const{ nonbondedForceFunction.getParameters(parameters); switchingFunction.getParameters(parameters); } static unsigned int getParameterSize() { return TNonbondedForce::getParameterSize()+TSwitchingFunction::getParameterSize(); } static OneAtomPair make(std::string& errMsg, std::vector values) { unsigned int n = TNonbondedForce::getParameterSize(); return OneAtomPair(TNonbondedForce::make(errMsg,std::vector(values.begin(),values.begin()+n)), TSwitchingFunction::make(errMsg,std::vector(values.begin()+n,values.end()))); } static std::string getId() { return TConstraint::getPrefixId() + TNonbondedForce::getId() + TConstraint::getPostfixId() + std::string((!TSwitchingFunction::USE) ? std::string("") : std::string(" -switchingFunction " + TSwitchingFunction::getId())); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const SemiGenericTopology* realTopo; const Vector3DBlock* positions; Vector3DBlock* forces; ScalarStructure* energies; TSwitchingFunction switchingFunction; TNonbondedForce nonbondedForceFunction; Real mySquaredCutoff; }; //______________________________________________________________________ INLINES template inline void OneAtomPair::doOneAtomPair(const int i, const int j) { if(TConstraint::PRE_CHECK) if(!TConstraint::check(realTopo,i,j)) return; // Get atom distance. Vector3D diff = realTopo->boundaryConditions.minimalDifference((*positions)[i], (*positions)[j]); Real distSquared = diff.normSquared(); // Do switching function rough test, if necessary. if (TSwitchingFunction::USE && distSquared > mySquaredCutoff) return; // Check for an exclusion. int mi = realTopo->atoms[i].molecule; int mj = realTopo->atoms[j].molecule; bool same = (mi==mj); ExclusionClass excl = (same?realTopo->exclusions.check(i,j):EXCLUSION_NONE); if (excl == EXCLUSION_FULL) return; // Calculate the force and energy. Real energy, force; Real rDistSquared = 1.0/distSquared; nonbondedForceFunction(energy, force, distSquared, rDistSquared, diff, realTopo, i, j, excl); // Calculate the switched force and energy. if (TSwitchingFunction::USE) { Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, distSquared); // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force = force * switchingValue - energy * switchingDeriv; energy = energy * switchingValue; } // Add this energy into the total system energy. nonbondedForceFunction.accumulateEnergy(energies, energy); // Add this force into the atom forces. Vector3D fij(diff*force); (*forces)[i] -= fij; (*forces)[j] += fij; // compute the vector between molecular centers of mass if(!same && energies->molecularVirial()){ // Add to the atomic and molecular virials energies->addVirial(fij,diff,realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position)); } else if(energies->virial()) { energies->addVirial(fij,diff); } // End of force computation. if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diff,energy,fij); } } #endif /* ONEATOMPAIR_H */ protomol/framework/forces/OneAtomPairFull.h0100644027616700000500000001732510237151530020447 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ONEATOMPAIRFULL_H #define ONEATOMPAIRFULL_H #include "Topology.h" #include "Parameter.h" #include "oneAtomContraints.h" namespace ProtoMol { //_________________________________________________________________ OneAtomPairFull template class OneAtomPairFull { // Computes the interaction for a given force between two atoms. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: typedef TBoundaryConditions BoundaryConditions; // Make the boundary conditions visible //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OneAtomPairFull(): switchingFunction(), nonbondedForceFunction(){}; OneAtomPairFull(TNonbondedForce nF, TSwitchingFunction sF): switchingFunction(sF), nonbondedForceFunction(nF){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class OneAtomPairFull //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const SemiGenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e, const std::vector* l){ realTopo = topo; positions = pos; forces = f; energies = e; lattice = l; } void doOneAtomPair(const int i, const int j); // Computes the force and energy for atom i and j. void getParameters(std::vector& parameters) const{ nonbondedForceFunction.getParameters(parameters); switchingFunction.getParameters(parameters); } static unsigned int getParameterSize() { return TNonbondedForce::getParameterSize()+TSwitchingFunction::getParameterSize(); } static OneAtomPairFull make(std::string& errMsg, std::vector values) { unsigned int n = TNonbondedForce::getParameterSize(); return OneAtomPairFull(TNonbondedForce::make(errMsg,std::vector(values.begin(),values.begin()+n)), TSwitchingFunction::make(errMsg,std::vector(values.begin()+n,values.end()))); } static std::string getId() { return TConstraint::getPrefixId() + TNonbondedForce::getId() + TConstraint::getPostfixId() + std::string((!TSwitchingFunction::USE) ? std::string("") : std::string(" -switchingFunction " + TSwitchingFunction::getId())); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const SemiGenericTopology* realTopo; const Vector3DBlock* positions; Vector3DBlock* forces; ScalarStructure* energies; TSwitchingFunction switchingFunction; TNonbondedForce nonbondedForceFunction; const std::vector* lattice; }; //______________________________________________________________________ INLINES template inline void OneAtomPairFull::doOneAtomPair(const int i, const int j) { if(TConstraint::PRE_CHECK) if(!TConstraint::check(realTopo,i,j)) return; // Do we have something to do? bool same = (i==j); if(same && lattice->empty()) return; Vector3D diffMinimal(realTopo->boundaryConditions.minimalDifference((*positions)[i], (*positions)[j])); if(!same){ // Get atom distance. Real distSquared = diffMinimal.normSquared(); // Do switching function rough test, if necessary. if (TSwitchingFunction::USE && !switchingFunction.roughTest(distSquared)) return; // Check for an exclusion. ExclusionClass excl = realTopo->exclusions.check(i,j); if (excl != EXCLUSION_FULL){ // Calculate the force and energy. Real rawEnergy, rawForce; Real rDistSquared = 1.0/distSquared; nonbondedForceFunction(rawEnergy, rawForce, distSquared, rDistSquared, diffMinimal, realTopo, i, j, excl); // Calculate the switched force and energy. Real energy, force; if (TSwitchingFunction::USE) { Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, distSquared); energy = rawEnergy * switchingValue; // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force = rawForce * switchingValue - rawEnergy * switchingDeriv; } else { energy = rawEnergy; force = rawForce; } // Add this energy into the total system energy. nonbondedForceFunction.accumulateEnergy(energies, energy); // Add this force into the atom forces. Vector3D fij = -diffMinimal*force; (*forces)[i] += fij; (*forces)[j] -= fij; // compute the vector between molecular centers of mass int mi = realTopo->atoms[i].molecule; int mj = realTopo->atoms[j].molecule; if(mi != mj){ Vector3D molDiff = realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position); // Add to the atomic and molecular virials energies->addVirial(fij,-diffMinimal,-molDiff); } else { energies->addVirial(fij,-diffMinimal); } if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diffMinimal,energy,fij); } } for(unsigned int k=0;ksize();k++){ Vector3D diff(diffMinimal+(*lattice)[k]); // Get atom distance. Real distSquared = diff.normSquared(); // Do switching function rough test, if necessary. if (TSwitchingFunction::USE && !switchingFunction.roughTest(distSquared)) continue; // Calculate the force and energy. Real rawEnergy, rawForce; Real rDistSquared = 1.0/distSquared; nonbondedForceFunction(rawEnergy, rawForce, distSquared, rDistSquared, diff, realTopo, i, j, EXCLUSION_NONE); // Calculate the switched force and energy. Real energy, force; if (TSwitchingFunction::USE) { Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, distSquared); energy = rawEnergy * switchingValue; // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force = rawForce * switchingValue - rawEnergy * switchingDeriv; } else { energy = rawEnergy; force = rawForce; } // Correct the energy by factor 1/2 when same atom since // there is only one pair (i,j) with i==j, where // there are two pairs with same contribution with i !=j if(same){ energy /= 2; } else { // Add this force into the atom forces. Vector3D fij = -diff*force; (*forces)[i] += fij; (*forces)[j] -= fij; // compute the vector between molecular centers of mass int mi = realTopo->atoms[i].molecule; int mj = realTopo->atoms[j].molecule; if(mi != mj){ Vector3D molDiff = realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position); // Add to the atomic and molecular virials energies->addVirial(fij,-diff,-molDiff); } else { energies->addVirial(fij,-diff); } } // Add this energy into the total system energy. nonbondedForceFunction.accumulateEnergy(energies, energy); if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diff,energy,-diff*force); } } } #endif /* ONEATOMPAIR_H */ protomol/framework/forces/OneAtomPairTwo.h0100644027616700000500000001641610237151530020316 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ONEATOMPAIRTWO_H #define ONEATOMPAIRTWO_H #include "Topology.h" #include "Parameter.h" #include "oneAtomContraints.h" //#define DEBUG_ONEATOMPAIRTWO_TIMING #ifdef DEBUG_ONEATOMPAIRTWO_TIMING #include "Cycles.h" #endif namespace ProtoMol { //_____________________________________________________________ OneAtomPairTwo template class OneAtomPairTwo { // Computes the interaction for a given force between to atoms. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: typedef TBoundaryConditions BoundaryConditions; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OneAtomPairTwo(){} OneAtomPairTwo(TNonbondedForceFirst f1, TSwitchingFunctionFirst sF1, TNonbondedForceSecond f2, TSwitchingFunctionSecond sF2): switchingFunctionFirst(sF1), nonbondedForceFunctionFirst(f1), switchingFunctionSecond(sF2), nonbondedForceFunctionSecond(f2),mySquaredCutoff(std::max(sF1.cutoffSquared(),sF2.cutoffSquared())){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class OneAtomPairTwo //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const SemiGenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e){ realTopo = topo; positions = pos; forces = f; energies = e; } void doOneAtomPair(const int i, const int j); // Computes the force and energy for atom i and j. void getParameters(std::vector& parameters) const{ nonbondedForceFunctionFirst.getParameters(parameters); switchingFunctionFirst.getParameters(parameters); nonbondedForceFunctionSecond.getParameters(parameters); switchingFunctionSecond.getParameters(parameters); } static unsigned int getParameterSize(){ return TNonbondedForceFirst::getParameterSize()+ TSwitchingFunctionFirst::getParameterSize()+ TNonbondedForceSecond::getParameterSize()+ TSwitchingFunctionSecond::getParameterSize(); } static OneAtomPairTwo make(std::string& errMsg, std::vector values) { unsigned int l1 = TNonbondedForceFirst::getParameterSize(); unsigned int l2 = TSwitchingFunctionFirst::getParameterSize()+l1; unsigned int l3 = TNonbondedForceSecond::getParameterSize()+l2; return OneAtomPairTwo(TNonbondedForceFirst::make(errMsg,std::vector(values.begin(),values.begin()+l1)), TSwitchingFunctionFirst::make(errMsg,std::vector(values.begin()+l1,values.begin()+l2)), TNonbondedForceSecond::make(errMsg,std::vector(values.begin()+l2,values.begin()+l3)), TSwitchingFunctionSecond::make(errMsg,std::vector(values.begin()+l3,values.end()))); } static std::string getId() { return TConstraint::getPrefixId() + TNonbondedForceFirst::getId() + TConstraint::getPostfixId() + " " + TConstraint::getPrefixId() + TNonbondedForceSecond::getId() + TConstraint::getPostfixId() + std::string((!(TSwitchingFunctionFirst::USE || TSwitchingFunctionSecond::USE)) ? std::string("") : std::string(" -switchingFunction " + TSwitchingFunctionFirst::getId() + " -switchingFunction " +TSwitchingFunctionSecond::getId())); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const SemiGenericTopology* realTopo; const Vector3DBlock* positions; Vector3DBlock* forces; ScalarStructure* energies; TSwitchingFunctionFirst switchingFunctionFirst; TNonbondedForceFirst nonbondedForceFunctionFirst; TSwitchingFunctionSecond switchingFunctionSecond; TNonbondedForceSecond nonbondedForceFunctionSecond; Real mySquaredCutoff; }; //______________________________________________________________________ INLINES template inline void OneAtomPairTwo::doOneAtomPair(const int i, const int j) { if(TConstraint::PRE_CHECK) if(!TConstraint::check(realTopo,i,j)) return; // Get atom distance. Real distSquared; Vector3D diff(realTopo->boundaryConditions.minimalDifference((*positions)[i], (*positions)[j],distSquared)); // Do switching function rough test, if necessary. if (TSwitchingFunctionFirst::USE ||TSwitchingFunctionSecond::USE) if (distSquared > mySquaredCutoff) return; // Check for an exclusion. int mi = realTopo->atoms[i].molecule; int mj = realTopo->atoms[j].molecule; bool same = (mi==mj); ExclusionClass excl = (same?realTopo->exclusions.check(i,j):EXCLUSION_NONE); if (excl == EXCLUSION_FULL) return; // Calculate the force and energy. Real rDistSquared = 1.0/distSquared; Real energy1, force1, energy2, force2; nonbondedForceFunctionFirst(energy1, force1, distSquared, rDistSquared, diff, realTopo, i, j, excl); nonbondedForceFunctionSecond(energy2, force2, distSquared, rDistSquared, diff, realTopo, i, j, excl); //Report::report << "\t"<molecularVirial()){ // Add to the atomic and molecular virials energies->addVirial(fij,diff,realTopo->boundaryConditions.minimalDifference(realTopo->molecules[mi].position, realTopo->molecules[mj].position)); } else if(energies->virial()) { energies->addVirial(fij,diff); } // End of force computation. if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diff,energy1+energy2,fij); } } #endif /* ONEATOMPAIRTWO_H */ protomol/framework/forces/OneAtomPairTwoFull.h0100644027616700000500000002424510237151530021140 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ONEATOMPAIRTWOFULL_H #define ONEATOMPAIRTWOFULL_H #include "Topology.h" #include "Parameter.h" #include "oneAtomContraints.h" namespace ProtoMol { //_____________________________________________________________ OneAtomPairTwoFull template class OneAtomPairTwoFull { // Computes the interaction for a given force between to atoms. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: typedef TBoundaryConditions BoundaryConditions; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OneAtomPairTwoFull(){} OneAtomPairTwoFull(TNonbondedForceFirst f1, TNonbondedForceSecond f2, TSwitchingFunctionFirst sF1, TSwitchingFunctionSecond sF2): switchingFunctionFirst(sF1), nonbondedForceFunctionFirst(f1), switchingFunctionSecond(sF2), nonbondedForceFunctionSecond(f2){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class OneAtomPairTwoFull //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const SemiGenericTopology* topo, const Vector3DBlock* pos, Vector3DBlock* f, ScalarStructure* e, const std::vector* l){ realTopo = topo; positions = pos; forces = f; energies = e; lattice = l; } void doOneAtomPair(const int i, const int j); // Computes the force and energy for atom i and j. void getParameters(std::vector& parameters) const{ nonbondedForceFunctionFirst.getParameters(parameters); nonbondedForceFunctionSecond.getParameters(parameters); switchingFunctionFirst.getParameters(parameters); switchingFunctionSecond.getParameters(parameters); } static unsigned int getParameterSize(){ return TNonbondedForceFirst::getParameterSize()+ TNonbondedForceSecond::getParameterSize()+ TSwitchingFunctionFirst::getParameterSize()+ TSwitchingFunctionSecond::getParameterSize(); } static OneAtomPairTwoFull make(std::string& errMsg, std::vector values) { unsigned int l1 = TNonbondedForceFirst::getParameterSize(); unsigned int l2 = TNonbondedForceSecond::getParameterSize()+l1; unsigned int l3 = TSwitchingFunctionFirst::getParameterSize()+l2; return OneAtomPairTwoFull(TNonbondedForceFirst::make(errMsg,std::vector(values.begin(),values.begin()+l1)), TNonbondedForceSecond::make(errMsg,std::vector(values.begin()+l1,values.begin()+l2)), TSwitchingFunctionFirst::make(errMsg,std::vector(values.begin()+l2,values.begin()+l3)), TSwitchingFunctionSecond::make(errMsg,std::vector(values.begin()+l3,values.end()))); } static std::string getId() { return TConstraint::getPrefixId() + TNonbondedForceFirst::getId() + TConstraint::getPostfixId() + " " + TConstraint::getPrefixId() + TNonbondedForceSecond::getId() + TConstraint::getPostfixId() + std::string((!(TSwitchingFunctionFirst::USE ||TSwitchingFunctionSecond::USE)) ? std::string("") : std::string(" -switchingFunction " + TSwitchingFunctionFirst::getId() + " -switchingFunction " +TSwitchingFunctionSecond::getId())); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const SemiGenericTopology* realTopo; const Vector3DBlock* positions; Vector3DBlock* forces; ScalarStructure* energies; TSwitchingFunctionFirst switchingFunctionFirst; TNonbondedForceFirst nonbondedForceFunctionFirst; TSwitchingFunctionSecond switchingFunctionSecond; TNonbondedForceSecond nonbondedForceFunctionSecond; const std::vector* lattice; }; //______________________________________________________________________ INLINES template inline void OneAtomPairTwoFull::doOneAtomPair(const int i, const int j) { if(TConstraint::PRE_CHECK) if(!TConstraint::check(realTopo,i,j)) return; // Do we have something to do? bool same = (i==j); if(same && lattice->empty()) return; Vector3D diffMinimal(realTopo->boundaryConditions.minimalDifference((*positions)[i], (*positions)[j])); if(!same){ Real distSquared = diffMinimal.normSquared(); // Do switching function rough test, if necessary. if ((TSwitchingFunctionFirst::USE ||TSwitchingFunctionSecond::USE) && !switchingFunctionFirst.roughTest(distSquared) && !switchingFunctionSecond.roughTest(distSquared)) return; // Check for an exclusion. ExclusionClass excl = realTopo->exclusions.check(i,j); if (excl != EXCLUSION_FULL){ // Calculate the force and energy. Real rawEnergy1, rawForce1, rawEnergy2, rawForce2; Real rDistSquared = 1.0/distSquared; nonbondedForceFunctionFirst(rawEnergy1, rawForce1, distSquared, rDistSquared, diffMinimal, realTopo, i, j, excl); nonbondedForceFunctionSecond(rawEnergy2, rawForce2, distSquared, rDistSquared, diffMinimal, realTopo, i, j, excl); // Calculate the switched force and energy. Real energy1, force1, energy2, force2; if (TSwitchingFunctionFirst::USE ||TSwitchingFunctionSecond::USE) { Real switchingValue1, switchingDeriv1; Real switchingValue2, switchingDeriv2; switchingFunctionFirst(switchingValue1, switchingDeriv1, distSquared); switchingFunctionSecond(switchingValue2, switchingDeriv2, distSquared); energy1 = rawEnergy1 * switchingValue1; energy2 = rawEnergy2 * switchingValue2; // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force1 = rawForce1 * switchingValue1 - rawEnergy1 * switchingDeriv1; force2 = rawForce2 * switchingValue2 - rawEnergy2 * switchingDeriv2; } else { energy1 = rawEnergy1; energy2 = rawEnergy2; force1 = rawForce1; force2 = rawForce2; } // Add this energy into the total system energy. nonbondedForceFunctionFirst.accumulateEnergy(energies, energy1); nonbondedForceFunctionSecond.accumulateEnergy(energies, energy2); // Add this force into the atom forces. Vector3D fij = -diffMinimal*(force1+force2); (*forces)[i] += fij; (*forces)[j] -= fij; // compute the vector between molecular centers of mass Vector3D molDiff = realTopo->boundaryConditions.minimalDifference(realTopo->molecules[realTopo->atoms[i].molecule].position, realTopo->molecules[realTopo->atoms[j].molecule].position); // Add to the atomic and molecular virials energies->addVirial(fij,-diffMinimal,-molDiff); if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diffMinimal,energy1+energy2,fij); } } for(unsigned int k=0;ksize();k++){ Vector3D diff(diffMinimal+(*lattice)[k]); // Get atom distance. Real distSquared = diff.normSquared(); // Do switching function rough test, if necessary. if ((TSwitchingFunctionFirst::USE ||TSwitchingFunctionSecond::USE) && !switchingFunctionFirst.roughTest(distSquared) && !switchingFunctionSecond.roughTest(distSquared)) continue; // Calculate the force and energy. Real rawEnergy1, rawForce1, rawEnergy2, rawForce2; Real rDistSquared = 1.0/distSquared; nonbondedForceFunctionFirst(rawEnergy1, rawForce1, distSquared, rDistSquared, diff, realTopo, i, j, EXCLUSION_NONE); nonbondedForceFunctionSecond(rawEnergy2, rawForce2, distSquared, rDistSquared, diff, realTopo, i, j, EXCLUSION_NONE); // Calculate the switched force and energy. Real energy1, force1, energy2, force2; if (TSwitchingFunctionFirst::USE ||TSwitchingFunctionSecond::USE) { Real switchingValue1, switchingDeriv1; Real switchingValue2, switchingDeriv2; switchingFunctionFirst(switchingValue1, switchingDeriv1, distSquared); switchingFunctionSecond(switchingValue2, switchingDeriv2, distSquared); energy1 = rawEnergy1 * switchingValue1; energy2 = rawEnergy2 * switchingValue2; // This has a - sign because the force is the negative of the // derivative of the energy (divided by the distance between the atoms). force1 = rawForce1 * switchingValue1 - rawEnergy1 * switchingDeriv1; force2 = rawForce2 * switchingValue2 - rawEnergy2 * switchingDeriv2; } else { energy1 = rawEnergy1; energy2 = rawEnergy2; force1 = rawForce1; force2 = rawForce2; } // Correct the energy by factor 1/2 when same atom since // there is only one pair (i,j) with i==j, where // there are two pairs with same contribution with i !=j if(same){ energy1 /= 2; energy2 /= 2; } else { // Add this force into the atom forces. Vector3D fij = -diff*(force1+force2); (*forces)[i] += fij; (*forces)[j] -= fij; // compute the vector between molecular centers of mass Vector3D molDiff = realTopo->boundaryConditions.minimalDifference(realTopo->molecules[realTopo->atoms[i].molecule].position, realTopo->molecules[realTopo->atoms[j].molecule].position)+ (*lattice)[k]; // Add to the atomic and molecular virials energies->addVirial(fij,-diff,-molDiff); } // Add this energy into the total system energy. nonbondedForceFunctionFirst.accumulateEnergy(energies, energy1); nonbondedForceFunctionSecond.accumulateEnergy(energies, energy2); if(TConstraint::POST_CHECK) TConstraint::check(realTopo,i,j,diff,energy1+energy2,-diff*(force1+force2)); } // End of force computation. } } #endif /* ONEATOMPAIRTWO_H */ protomol/framework/forces/OneMollyPair.h0100644027616700000500000001226510237151530020016 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ONEMOLLYPAIR_H #define ONEMOLLYPAIR_H #include "Topology.h" #include "Parameter.h" #include "ReducedHessAngle.h" #include "ReducedHessTraits.h" namespace ProtoMol { //_________________________________________________________________ OneMollyPair template class OneMollyPair { // Computes the interaction for a given force between two atoms. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: typedef TBoundaryConditions BoundaryConditions; // Make the boundary conditions visible //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OneMollyPair(): switchingFunction(), nonbondedForceFunction(){}; OneMollyPair(TNonbondedForce nF, TSwitchingFunction sF): switchingFunction(sF), nonbondedForceFunction(nF){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class OneMollyPair //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const SemiGenericTopology* topo, const Vector3DBlock* pos, std::vector< ReducedHessAngle > *angleFilter){ realTopo = topo; positions = pos; myAngleFilter = angleFilter; } void doOneAtomPair(const int i, const int j); // Computes the force and energy for atom i and j. void getParameters(std::vector& parameters) const{ nonbondedForceFunction.getParameters(parameters); switchingFunction.getParameters(parameters); } static unsigned int getParameterSize() { return TNonbondedForce::getParameterSize()+TSwitchingFunction::getParameterSize(); } static OneMollyPair make(std::string& errMsg, std::vector values) { unsigned int n = TNonbondedForce::getParameterSize(); return OneMollyPair(TNonbondedForce::make(errMsg,std::vector(values.begin(),values.begin()+n)), TSwitchingFunction::make(errMsg,std::vector(values.begin()+n,values.end()))); } static std::string getId() { return "Mollify"+TNonbondedForce::getId() + std::string((!TSwitchingFunction::USE) ? std::string("") : std::string(" -switchingFunction " + TSwitchingFunction::getId())); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const SemiGenericTopology* realTopo; const Vector3DBlock* positions; std::vector< ReducedHessAngle > *myAngleFilter; TSwitchingFunction switchingFunction; TNonbondedForce nonbondedForceFunction; typename ReducedHessTraits::Hessian nonbondedHessian; }; //______________________________________________________________________ INLINES template inline void OneMollyPair::doOneAtomPair(const int i, const int j) { Real M1 = realTopo->atoms[i].scaledMass; Real M2 = realTopo->atoms[j].scaledMass; // get the atom mass if(equal(M1,M2)) // mollify method excludes the H-H, O-O, and alike. return; // Get atom distance. Vector3D diff = realTopo->boundaryConditions.minimalDifference((*positions)[i], (*positions)[j]); Real distSquared = diff.normSquared(); // Do switching function rough test, if necessary. if (TSwitchingFunction::USE && !switchingFunction.roughTest(distSquared)) return; // Check for an exclusion. ExclusionClass excl = realTopo->exclusions.check(i,j); if (excl == EXCLUSION_FULL) return; // Calculate the force and energy. Real rawEnergy, rawForce; Real rDistSquared = 1.0/distSquared; nonbondedForceFunction(rawEnergy, rawForce, distSquared, rDistSquared, diff, realTopo, i, j, excl); Real switchingValue, switchingDeriv; switchingFunction(switchingValue, switchingDeriv, distSquared); Matrix3by3 hessian = nonbondedHessian(rawEnergy, rawForce, distSquared, rDistSquared, diff, realTopo, i, j, switchingValue, switchingDeriv, switchingFunction.hessian(diff,distSquared), excl); if(M1 < 2){ // now atom1 is Hydrogen int angleIndex = static_cast(floor((i+0.1)/3)); // for water ... if(realTopo->angles[angleIndex].atom1 == i) (*myAngleFilter)[angleIndex].accumulateTo(0,0,hessian); else (*myAngleFilter)[angleIndex].accumulateTo(2,2,hessian); }else{ int angleIndex = static_cast(floor((j+0.1)/3)); // for water ... if(realTopo->angles[angleIndex].atom1 == j) (*myAngleFilter)[angleIndex].accumulateTo(0,0,hessian); else (*myAngleFilter)[angleIndex].accumulateTo(2,2,hessian); } // End of force computation. } } #endif /* ONEATOMPAIR_H */ protomol/framework/forces/OneMollyPairTwo.h0100644027616700000500000001640310237151530020506 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ONEMOLLYPAIRTWO_H #define ONEMOLLYPAIRTWO_H #include "Topology.h" #include "Parameter.h" #include "ReducedHessAngle.h" #include "ReducedHessTraits.h" namespace ProtoMol { //_____________________________________________________________ OneMollyPairTwo template class OneMollyPairTwo { // Computes the interaction for a given force between to atoms. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: typedef TBoundaryConditions BoundaryConditions; // Make the boundary conditions visible //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OneMollyPairTwo(){} OneMollyPairTwo(TNonbondedForceFirst f1, TNonbondedForceSecond f2, TSwitchingFunctionFirst sF1, TSwitchingFunctionSecond sF2): switchingFunctionFirst(sF1), nonbondedForceFunctionFirst(f1), switchingFunctionSecond(sF2), nonbondedForceFunctionSecond(f2){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class OneMollyPairTwo //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const SemiGenericTopology* topo, const Vector3DBlock* pos, std::vector< ReducedHessAngle > *angleFilter){ realTopo = topo; positions = pos; myAngleFilter = angleFilter; } void doOneAtomPair(const int i, const int j); // Computes the force and energy for atom i and j. void getParameters(std::vector& parameters) const{ nonbondedForceFunctionFirst.getParameters(parameters); nonbondedForceFunctionSecond.getParameters(parameters); switchingFunctionFirst.getParameters(parameters); switchingFunctionSecond.getParameters(parameters); } static unsigned int getParameterSize(){ return TNonbondedForceFirst::getParameterSize()+ TNonbondedForceSecond::getParameterSize()+ TSwitchingFunctionFirst::getParameterSize()+ TSwitchingFunctionSecond::getParameterSize(); } static OneMollyPairTwo make(std::string& errMsg, std::vector values) { unsigned int l1 = TNonbondedForceFirst::getParameterSize(); unsigned int l2 = TNonbondedForceSecond::getParameterSize()+l1; unsigned int l3 = TSwitchingFunctionFirst::getParameterSize()+l2; return OneMollyPairTwo(TNonbondedForceFirst::make(errMsg,std::vector(values.begin(),values.begin()+l1)), TNonbondedForceSecond::make(errMsg,std::vector(values.begin()+l1,values.begin()+l2)), TSwitchingFunctionFirst::make(errMsg,std::vector(values.begin()+l2,values.begin()+l3)), TSwitchingFunctionSecond::make(errMsg,std::vector(values.begin()+l3,values.end()))); } static std::string getId() { return "Mollify"+TNonbondedForceFirst::getId() + " Mollify"+TNonbondedForceSecond::getId() + std::string((!(TSwitchingFunctionFirst::USE || TSwitchingFunctionSecond::USE)) ? std::string("") : std::string(" -switchingFunction " + TSwitchingFunctionFirst::getId() + " -switchingFunction " +TSwitchingFunctionSecond::getId())); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const SemiGenericTopology* realTopo; const Vector3DBlock* positions; std::vector< ReducedHessAngle > *myAngleFilter; TSwitchingFunctionFirst switchingFunctionFirst; TNonbondedForceFirst nonbondedForceFunctionFirst; typename ReducedHessTraits::Hessian nonbondedHessianFirst; TSwitchingFunctionSecond switchingFunctionSecond; TNonbondedForceSecond nonbondedForceFunctionSecond; typename ReducedHessTraits::Hessian nonbondedHessianSecond; }; //______________________________________________________________________ INLINES template inline void OneMollyPairTwo::doOneAtomPair(const int i, const int j) { Real M1 = realTopo->atoms[i].scaledMass; Real M2 = realTopo->atoms[j].scaledMass; // get the atom mass if(equal(M1,M2)) // mollify method excludes the H-H, O-O, and alike. return; // Get atom distance. Vector3D diff = realTopo->boundaryConditions.minimalDifference((*positions)[i], (*positions)[j]); Real distSquared = diff.normSquared(); // Do switching function rough test, if necessary. if ((TSwitchingFunctionFirst::USE || TSwitchingFunctionSecond::USE) && !switchingFunctionFirst.roughTest(distSquared) && !switchingFunctionSecond.roughTest(distSquared)) return; // Check for an exclusion. ExclusionClass excl = realTopo->exclusions.check(i,j); if (excl == EXCLUSION_FULL) return; // Calculate the force and energy. Real rawEnergy1, rawForce1, rawEnergy2, rawForce2; Real rDistSquared = 1.0/distSquared; nonbondedForceFunctionFirst(rawEnergy1, rawForce1, distSquared, rDistSquared, diff, realTopo, i, j, excl); nonbondedForceFunctionSecond(rawEnergy2, rawForce2, distSquared, rDistSquared, diff, realTopo, i, j, excl); // Calculate the switched force and energy. Real switchingValue1, switchingDeriv1; Real switchingValue2, switchingDeriv2; switchingFunctionFirst(switchingValue1, switchingDeriv1, distSquared); switchingFunctionSecond(switchingValue2, switchingDeriv2, distSquared); Matrix3by3 hessian = nonbondedHessianFirst(rawEnergy1, rawForce1, distSquared, rDistSquared, diff, realTopo, i, j, switchingValue1, switchingDeriv1, switchingFunctionFirst.hessian(diff,distSquared), excl) + nonbondedHessianSecond(rawEnergy2, rawForce2, distSquared, rDistSquared, diff, realTopo, i, j, switchingValue2, switchingDeriv2, switchingFunctionSecond.hessian(diff,distSquared), excl); if(M1 < 2){ // now atom1 is Hydrogen int angleIndex = static_cast(floor((i+0.1)/3)); // for water ... if(realTopo->angles[angleIndex].atom1 == i) (*myAngleFilter)[angleIndex].accumulateTo(0,0,hessian); else (*myAngleFilter)[angleIndex].accumulateTo(2,2,hessian); }else{ int angleIndex = static_cast(floor((j+0.1)/3)); // for water ... if(realTopo->angles[angleIndex].atom1 == j) (*myAngleFilter)[angleIndex].accumulateTo(0,0,hessian); else (*myAngleFilter)[angleIndex].accumulateTo(2,2,hessian); } // End of force computation. } } #endif /* ONEATOMPAIRTWO_H */ protomol/framework/forces/PaulTrapExtendedForce.h0100644027616700000500000003223610237151530021634 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PAULTRAPEXTENDEDFORCE_H #define PAULTRAPEXTENDEDFORCE_H #include "ExtendedForce.h" #include "PaulTrapExtendedForceBase.h" #include "ScalarStructure.h" #include "Parallel.h" #include "pmconstants.h" namespace ProtoMol { //_________________________________________________________________ PaulTrapExtendedForce template class PaulTrapExtendedForce : public ExtendedForce, private PaulTrapExtendedForceBase { /* @latexonly Coulomb crystal systems are defined by ions with an additional magnetic trap~\cite{HaAv91,Horn00,Schi93,TKTT02}. A common used trap is the Paul Trap attraction, which is given by \begin{equation} U = \sum^N_{i=1} \left( \frac {1}{2} m_i\omega_r^{2}(x_{i}^{2}+y_{i}^{2}) + \frac {1}{2} m_i\omega_z^{2}z_{i}^{2} \right) \label{eq:PT} \end{equation} \begin{equation} \omega_r(j) = \left(1+\frac{\alpha}{r_0^4}x^2y^2\right)\sqrt{(\omega_r(1)^2+0.5\omega_z(1)^2)\left(\frac{q_j}{q_1} \frac{m_1}{m_j}\right) ^2 - 0.5\omega_z(1)^2 \frac{q_j}{q_1}\frac{m_1}{m_j}} \end{equation} \begin{equation} \omega_z(j) = \omega_z(1) \sqrt{\frac{q_j}{q_1} \frac{m_1}{m_j}} \end{equation} $\omega_r(i)$ and $\omega_z(i)$ denote the real $\omega$'s for atom type $i$ in the Paul Trap equation (\ref{eq:PT}), where $\omega_r(1)$ and $\omega_z(1)$ are the \ProtoMol\ input parameter defining the spherical isotropic oscillation frequencies for the ion with $q_1$ and $m_1$. $\alpha$ and $r_0$ define the non-spherical field behavior. NOTE: In the equations above $\omega_r(1)$ and $\omega_z(1)$ do not be identical for the ions with $q_1$ and $m_1$. @endlatexonly */ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: PaulTrapExtendedForce(); PaulTrapExtendedForce(Real omegaR, Real omegaZ, Real alpha, Real r0, Real u0, Vector3D k); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PaulTrapExtendedForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Real cohesive(Real potentialEnergy){return (potentialEnergy-myPaulUHom)*myPaulF;} Real epsilonEnergy(Real potentialEnergy){return potentialEnergy*myPaulF;} private: void doEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies, int from, int to); void initialize(const GenericTopology* Topo); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); virtual void uncache(){myCached=false;}; private: virtual Force* doMake(std::string&, std::vector) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 8;} virtual void getParameters(std::vector&) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real myOmegaR1; Real myOmegaZ1; Real myAlpha; Real myR0; Real myU0; Vector3D myK; // Short cuts/internal data Real myAlphaR04; Real myOmega; Real myA; Real myPaulF; Real myPaulUHom; bool myCached; std::vector myOmegaR; std::vector myOmegaZ; }; //______________________________________________________________________ INLINES template PaulTrapExtendedForce::PaulTrapExtendedForce():ExtendedForce(),myOmegaR1(0.0),myOmegaZ1(0.0),myAlpha(0.0),myR0(0.0),myU0(0.0),myK(Vector3D(0.0,0.0,0.0)),myAlphaR04(0.0),myOmega(0.0),myA(0.0),myCached(false){ } template PaulTrapExtendedForce::PaulTrapExtendedForce(Real omegaR, Real omegaZ, Real alpha, Real r0, Real u0, Vector3D k):ExtendedForce(),myOmegaR1(omegaR),myOmegaZ1(omegaZ),myU0(u0),myK(k),myOmega(0.0),myA(0.0),myCached(false){ if(alpha != 0.0 && r0 > 0.0){ myAlphaR04 = alpha/(r0*r0*r0*r0); myAlpha = alpha; myR0 = r0; } else{ myAlphaR04 = 0.0; myAlpha = 0.0; myR0 = 0; } } template inline void PaulTrapExtendedForce::getParameters(std::vector& parameters) const { parameters.push_back(Parameter("-omegaR",Value(myOmegaR1,ConstraintValueType::NotNegative()))); parameters.push_back(Parameter("-omegaZ",Value(myOmegaZ1,ConstraintValueType::NotNegative()))); parameters.push_back(Parameter("-alpha",Value(myAlpha),0.0)); parameters.push_back(Parameter("-r0",Value(myR0),0.0)); parameters.push_back(Parameter("-u0",Value(myU0),0.0)); parameters.push_back(Parameter("-k",Value(myK.x),0.0)); parameters.push_back(Parameter("",Value(myK.y),0.0)); parameters.push_back(Parameter("",Value(myK.z),0.0)); } template inline Force* PaulTrapExtendedForce::doMake(std::string&, std::vector values) const { return new PaulTrapExtendedForce(values[0],values[1],values[2],values[3],values[4],Vector3D(values[5],values[6],values[7])); } template inline void PaulTrapExtendedForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies){ doEvaluate(topo,positions,velocities,forces,energies,0,(int)positions->size()); } template inline void PaulTrapExtendedForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* velocities, Vector3DBlock* forces, ScalarStructure* energies){ unsigned int n = positions->size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i static_cast(n)) to = n; int from = (n*i)/count; doEvaluate(topo,positions,velocities,forces,energies,from,to); } } } template inline void PaulTrapExtendedForce::doEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, const Vector3DBlock* /*velocities*/, Vector3DBlock* forces, ScalarStructure* energies, int from, int to){ if(!myCached) initialize(topo); const TBoundaryConditions &boundary = (dynamic_cast& >(*topo)).boundaryConditions; const Real f1 = myU0*Constant::BOLTZMANN*2.0*M_PI; const Real u1 = -myU0*Constant::BOLTZMANN; Real e = 0.0; for(int i=from;iatoms[i].type; Vector3D pos(boundary.minimalPosition((*positions)[i])); Real x2 = pos.x*pos.x; Real y2 = pos.y*pos.y; Real z2 = pos.z*pos.z; Real x = myK.dot(pos)*2.0*M_PI; Real f2 = f1*sin(x); Real omegaR2 = myOmegaR[type]*power<2>(1+myAlphaR04*x2*y2); Real omegaZ2 = myOmegaZ[type]; Vector3D f(omegaR2*pos.x, omegaR2*pos.y, omegaZ2*pos.z); Vector3D a(f2*myK.x, f2*myK.y, f2*myK.z); (*forces)[i] -= f+a; Real b = u1*cos(x); e += 0.5*(omegaR2*(x2+y2)+omegaZ2*z2)+b; // Report::report << Report::plain // << (0.5*(omegaR2*(x2+y2)+omegaZ2*z2)+b)*ENERGY_TO_SI<<"," // < inline void PaulTrapExtendedForce::initialize(const GenericTopology* topo){ const unsigned int numberOfAtoms = topo->atoms.size(); const unsigned int numberOfTypes = topo->atomTypes.size(); unsigned int pos = 0; unsigned int neg = 0; for(unsigned int i=0;iatomTypes[i].charge < 0.0) neg++; else if(topo->atomTypes[i].charge > 0.0) pos++; } if(pos != numberOfTypes && neg != numberOfTypes) Report::report << Report::error << "PaulTrap force expects only positive or negative charges!"<atomTypes[i].charge/topo->atomTypes[0].charge*topo->atomTypes[0].mass/topo->atomTypes[i].mass; myOmegaR[i] = (myOmegaR1*myOmegaR1 + 0.5*myOmegaZ1*myOmegaZ1)*f*f - 0.5*myOmegaZ1*myOmegaZ1*f; myOmegaZ[i] = myOmegaZ1*myOmegaZ1*f; } // Average omega myOmega = 0.0; for(unsigned int i=0;iatoms[i].type] + myOmegaZ[topo->atoms[i].type])/3.0; } myOmega = sqrt(myOmega/static_cast(numberOfAtoms)); // Number of each ion type std::vector n(numberOfTypes,0); for(unsigned int i=0;iatoms[i].type]++; } // Average Q Real q = 0.0; Real m = 0.0; for(unsigned int i=0;i1) q += topo->atomTypes[i].charge*topo->atomTypes[i].charge*n[i]*(n[i]-1.0)/2.0; else q += topo->atomTypes[i].charge*topo->atomTypes[i].charge*n[i]; m += topo->atomTypes[i].mass*n[i]; for(unsigned int j=i+1;jatomTypes[i].charge*topo->atomTypes[j].charge*n[i]*n[j]; } } if(numberOfAtoms>1) q = Constant::SQRTCOULOMBCONSTANT*sqrt(q/((Real)numberOfAtoms*((Real)numberOfAtoms-1.0)/2.0)); else q = Constant::SQRTCOULOMBCONSTANT*sqrt(q); if(neg > 0) q = -q; // Wigner Seitz radius Real k = m/(Real)numberOfAtoms*myOmega*myOmega*1.0e7/4184.0; myA = pow(q*q/k,1.0/3.0); Real r = pow((Real)numberOfAtoms*q*q/k,1.0/3.0); myPaulUHom = 9.0/10.0*pow((Real)numberOfAtoms,5.0/3.0)*q*q/myA; myPaulF = 1.0/((Real)numberOfAtoms*q*q/myA); // Output Report::report.precision(13); Report::report << Report::plain << "Paul Trap F : w = "<atoms[i].type] + myOmegaZ[topo->atoms[i].type])/3.0)<<"," << sqrt(myOmegaR[i])<<"," << sqrt(myOmegaZ[i])<<")[fs-1]"<addSystemForce(this); } CompareForce* SystemForce::makeCompareForce(Force* actualForce, CompareForce* compareForce) const{ return new SystemCompareForce(actualForce,compareForce); } TimeForce* SystemForce::makeTimeForce(Force* actualForce) const{ return new SystemTimeForce(actualForce); } } protomol/framework/forces/PaulTrapExtendedForceBase.cpp0100644027616700000500000000036210237151530022755 0ustar pbrenne1dip#include "PaulTrapExtendedForceBase.h" using std::string; namespace ProtoMol { //_________________________________________________________________ PaulTrapExtendedForceBase const string PaulTrapExtendedForceBase::keyword("PaulTrap"); } protomol/framework/forces/PaulTrapExtendedForceBase.h0100644027616700000500000000062510237151530022424 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PAULTRAPEXTENDEDFORCEBASE_H #define PAULTRAPEXTENDEDFORCEBASE_H #include namespace ProtoMol { //_________________________________________________________________ PaulTrapExtendedForceBase class PaulTrapExtendedForceBase { public: virtual ~PaulTrapExtendedForceBase(){} static const std::string keyword; }; } #endif /* PAULTRAPEXTENDEDFORCEBASE_H */ protomol/framework/forces/ReducedHessCoulomb.cpp0100644027616700000500000000244010237151530021510 0ustar pbrenne1dip#include "ReducedHessCoulomb.h" #include "GenericTopology.h" namespace ProtoMol { //_________________________________________________________________ ReducedHessCoulomb Matrix3by3 ReducedHessCoulomb::operator()(const Real rawEnergy, const Real rawForce, Real a, Real /*rDistSquared*/, const Vector3D & rij, const GenericTopology* topo, int atom1, int atom2, const Real switchingValue, const Real switchingDeriv, const Matrix3by3& switchingHess, ExclusionClass excl) const{ Real scaledCharge_i = topo->atoms[atom1].scaledCharge; Real scaledCharge_j = topo->atoms[atom2].scaledCharge; Real coulombScalingFactor = 1; if (excl == EXCLUSION_MODIFIED) { coulombScalingFactor = topo->coulombScalingFactor; } Matrix3by3 vec_rij_ij(rij,rij);// outer products of vectors r_ij Real na = sqrt(a); Matrix3by3 I(1,0,0,0,1,0,0,0,1); // now I is identity matrix Real tm1 = - coulombScalingFactor * scaledCharge_i * scaledCharge_j / a / na; Matrix3by3 H((I - vec_rij_ij * (3/a))* (tm1 * switchingValue)); // now done with the electrostatic (Coulomb) part. H += (switchingHess * rawEnergy); H -= vec_rij_ij * (2*rawForce*switchingDeriv); return H; } } protomol/framework/forces/ReducedHessCoulomb.h0100644027616700000500000000141110237151530021152 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REDUCEDHESSCOULOMB_H #define REDUCEDHESSCOULOMB_H #include "Matrix3by3.h" #include "ExclusionTable.h" namespace ProtoMol { class GenericTopology; class ReducedHessCoulomb { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ReducedHessCoulomb //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Matrix3by3 operator()(const Real rawEnergy, const Real rawForce, Real distSquared, Real rDistSquared, const Vector3D & diff, const GenericTopology* topo, int atom1, int atom2, const Real switchingValue, const Real switchingDeriv, const Matrix3by3& switchingHess, ExclusionClass excl) const; }; } #endif protomol/framework/forces/ReducedHessLennardJones.cpp0100644027616700000500000000273010237151530022474 0ustar pbrenne1dip#include "ReducedHessLennardJones.h" #include "GenericTopology.h" namespace ProtoMol { //_________________________________________________________________ ReducedHessLennardJones Matrix3by3 ReducedHessLennardJones::operator()(const Real rawEnergy, const Real rawForce, Real a, Real /*rDistSquared*/, const Vector3D & rij, const GenericTopology* topo, int atom1, int atom2, const Real switchingValue, const Real switchingDeriv, const Matrix3by3& switchingHess, ExclusionClass excl) const{ Matrix3by3 vec_rij_ij(rij,rij); // outer products of vectors r_ij Real a4 = a * a * a * a; Real a7 = a4 * a * a * a; Real a5 = a4 * a; Real a8 = a4 * a4; const LennardJonesParameters ¶ms = topo->lennardJonesParameters(topo->atoms[atom1].type, topo->atoms[atom2].type); Real const_A = params.A; Real const_B = params.B; if (excl == EXCLUSION_MODIFIED) { const_A = params.A14; const_B = params.B14; } Real tm1 = 6 * const_B / a4 - 12 * const_A / a7; Real tm2 =- 48 * const_B / a5 + 168 * const_A / a8; Matrix3by3 H(tm1,0,0,0,tm1,0,0,0,tm1); // now is tm1 times identity matrix H += vec_rij_ij * tm2; H *= switchingValue; // now finished the second derivative of the raw energy. H += (switchingHess * rawEnergy); H -= vec_rij_ij * (2*rawForce*switchingDeriv); return H; } } protomol/framework/forces/ReducedHessLennardJones.h0100644027616700000500000000234010237151530022136 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REDUCEDHESSLENNARDJONES_H #define REDUCEDHESSLENNARDJONES_H #include "Matrix3by3.h" #include "ExclusionTable.h" /* * LennardJonesEnergy = LennardJonesEnergy * switchingHess. *___________________________________________________ReducedHessLennardJones * Now one of the atoms, heavy atom, in the nonbonded interaction is considered as * fixed so that only the light atom position remain independent. This is used as the * heavy-atom-fixed approximation in H-bond MOLLY integrator. *_____________________________________________________________________*/ namespace ProtoMol { class GenericTopology; class ReducedHessLennardJones { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ReducedHessLennardJones //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Matrix3by3 operator()(const Real rawEnergy, const Real rawForce, Real distSquared, Real rDistSquared, const Vector3D & diff, const GenericTopology* topo, int atom1, int atom2, const Real switchingValue, const Real switchingDeriv, const Matrix3by3& switchingHess, ExclusionClass excl) const; }; } #endif protomol/framework/forces/ReducedHessTraits.h0100644027616700000500000000111710237151530021023 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef REDUCEDHESSTRAITS_H #define REDUCEDHESSTRAITS_H #include "ReducedHessLennardJones.h" #include "ReducedHessCoulomb.h" #include "LennardJonesForce.h" #include "CoulombForce.h" namespace ProtoMol { // Trait struct template struct ReducedHessTraits; template<> struct ReducedHessTraits{ typedef ReducedHessLennardJones Hessian; }; template<> struct ReducedHessTraits{ typedef ReducedHessCoulomb Hessian; }; } #endif /* REDUCEDHESSTRAITS_H */ protomol/framework/forces/SphericalSystemForce.cpp0100644027616700000500000000757210237151530022102 0ustar pbrenne1dip#include "SphericalSystemForce.h" #include "GenericTopology.h" #include "Vector3DBlock.h" #include "Parallel.h" #include "ScalarStructure.h" #include "mathutilities.h" #include "pmconstants.h" using std::vector; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ SphericalSystemForce const string SphericalSystemForce::keyword("Spherical"); //static const Real SI_FORCE_FACTOR = 1e-3*Constant::SI::KCAL/Constant::SI::LENGTH_AA; //static const Real SI_ENERGY_FACTOR = 1e-3*Constant::SI::KCAL; SphericalSystemForce::SphericalSystemForce():SystemForce(), myCenter(Vector3D(0.0,0.0,0.0)), myRadius(0.0), myK(0.0), myJ(0), // myU(0.0), myRadius2(0.0) { } SphericalSystemForce::SphericalSystemForce(Vector3D center, Real radius, Real k, int j /*, Real u*/):SystemForce(), myCenter(center), myRadius(radius), myK(k), myJ(j), // myU(u), myRadius2(radius*radius) { } void SphericalSystemForce::doEvaluate(const GenericTopology* /*topo*/, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, int from, int to){ Real e = 0.0; Real c = myJ*myK; for(int i=from;i myRadius2){ rcNorm = sqrt(rcNorm); Real a = rcNorm-myRadius; (*forces)[i] -= rc*(c*power(a,myJ-1)/rcNorm); e += power(a,myJ); } } (*energies)[ScalarStructure::OTHER] += e*myK; // Real e = 0.0; // Real c = myJ*myK*SI_FORCE_FACTOR; // for(int i=from;i myRadius2){ // rcNorm = sqrt(rcNorm); // Real m = topo->atoms[i].scaledMmass; // Real a = (rcNorm-myRadius)/myU; // (*forces)[i] -= rc*(c*power(a,myJ-1)/rcNorm)*m; // e += power(a,myJ)*m; // } // } // (*energies)[ScalarStructure::OTHER] += e*myK*SI_ENERGY_FACTOR; } void SphericalSystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ unsigned int n = positions->size(); unsigned int count = numberOfBlocks(topo,positions); for(unsigned int i = 0;i (int)n) to = n; int from = (n*i)/count; doEvaluate(topo,positions,forces,energies,from,to); } } } void SphericalSystemForce::getParameters(vector& parameters) const { parameters.push_back(Parameter("-center",Value(myCenter))); parameters.push_back(Parameter("-radius",Value(myRadius,ConstraintValueType::Positive()))); parameters.push_back(Parameter("-k",Value(myK,ConstraintValueType::NotZero()),Text("external force constant"))); parameters.push_back(Parameter("-j",Value(myJ,ConstraintValueType::Positive()),Text("exponent for the potential function"))); // parameters.push_back(Parameter("-u",Value(myU,ConstraintValueType::Positive()),1.0,Text("unit factor"))); } Force* SphericalSystemForce::doMake(string& errMsg, vector values) const { int j; values[3].get(j); if(!values[3].valid() || j < 2 || (j % 2) != 0){ errMsg += keyword + " force: j (="+values[3].getString()+") > 1 and even."; return NULL; } return new SphericalSystemForce(values[0],values[1],values[2],j/*,values[4]*/); } unsigned int SphericalSystemForce::numberOfBlocks(const GenericTopology* , const Vector3DBlock* pos){ return std::min(Parallel::getAvailableNum(),static_cast(pos->size())); } } protomol/framework/forces/SphericalSystemForce.h0100644027616700000500000000577510237151530021552 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef SPHERICALSYSTEMFORCE_H #define SPHERICALSYSTEMFORCE_H #include "SystemForce.h" #include "Vector3DBlock.h" namespace ProtoMol { //_________________________________________________________________ SphericalSystemForce class SphericalSystemForce : public SystemForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: SphericalSystemForce(); SphericalSystemForce(Vector3D center, Real radius, Real k, int j/*, Real u*/); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class SphericalSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void doEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies, int from, int to); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); private: virtual Force* doMake(std::string& errMsg, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 4;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Vector3D myCenter; Real myRadius; Real myK; int myJ; // Real myU; Real myRadius2; }; //______________________________________________________________________ INLINES inline void SphericalSystemForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ doEvaluate(topo,positions,forces,energies,0,(int)positions->size()); } } #endif /* SPHERICALSYSTEMFORCE_H */ protomol/framework/forces/SystemCompareForce.cpp0100644027616700000500000000227510237151530021551 0ustar pbrenne1dip#include "SystemCompareForce.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "GenericTopology.h" using std::vector; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ SystemCompareForce SystemCompareForce::SystemCompareForce(Force* actualForce, CompareForce* compareForce):CompareForce(actualForce,compareForce){} void SystemCompareForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ preprocess(positions->size()); (dynamic_cast(myActualForce))->evaluate(topo, positions, myForces, myEnergies); postprocess(topo,forces,energies); } void SystemCompareForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ preprocess(positions->size()); (dynamic_cast(myActualForce))->parallelEvaluate(topo, positions, myForces, myEnergies); postprocess(topo,forces,energies); } } protomol/framework/forces/SystemCompareForce.h0100644027616700000500000000243210237151531021212 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef SYSTEMCOMPAREFORCE_H #define SYSTEMCOMPAREFORCE_H #include "CompareForce.h" #include "SystemForce.h" #include "ReducedHessAngle.h" namespace ProtoMol { //_________________________________________________________________ SystemCompareForce class SystemCompareForce : public CompareForce, public SystemForce { // This class contains the definition of one force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: SystemCompareForce(Force* actualForce, CompareForce* compareForce); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); }; //______________________________________________________________________ INLINES } #endif /* SYSTEMCOMPAREFORCE_H */ protomol/framework/forces/SystemForce.h0100644027616700000500000000540110237151531017702 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef SYSTEMFORCE_H #define SYSTEMFORCE_H #include "Force.h" namespace ProtoMol { class ForceGroup; class GenericTopology; class Vector3DBlock; class ScalarStructure; class CompareForce; class TimeForce; //_________________________________________________________________ SystemForce class SystemForce : virtual public Force { // This class contains the definition of one system force (a force that works only on positions) //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: SystemForce():Force(){} virtual ~SystemForce(){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies)=0; // Evaluate this force using the information given. virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); // Evaluate this force using the information given. // This is a default methods for forces which do not have their // own parallel version, but are called from a parallel environment. // A parallel environment is when the total forces and energies // is the sum over all nodes, where in a sequential environment all // nodes have the total forces and energies locally. // Since parallelEvaluate() is called we are in a parallel environment, // so only one node will evaluate the force. This gives us a parallelization // for free (for bonded forces). // // To the implementor: // Overload this methods to implement a parallel version. Split up the interactions // and distribute them among the nodes. This can by done either by ranges or sequences. // Overload numberOfBlocks() such that the number matches the next() calls inside // parallelEvaluate(). virtual CompareForce* makeCompareForce(Force* actualForce, CompareForce* compareForce) const; virtual TimeForce* makeTimeForce(Force* actualForce) const; virtual void addToForceGroup(ForceGroup* forceGroup); }; //______________________________________________________________________ INLINES inline void SystemForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ evaluate(topo,positions,forces,energies); } } #endif /* SYSTEMFORCE_H */ protomol/framework/forces/SystemTimeForce.cpp0100644027616700000500000000206010237151531021052 0ustar pbrenne1dip#include "SystemTimeForce.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "GenericTopology.h" using std::vector; namespace ProtoMol { //_________________________________________________________________ SystemTimeForce SystemTimeForce::SystemTimeForce(Force* actualForce):TimeForce(actualForce){} void SystemTimeForce::evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ preprocess(positions->size()); (dynamic_cast(myActualForce))->evaluate(topo, positions, forces, energies); postprocess(topo,forces,energies); } void SystemTimeForce::parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies){ preprocess(positions->size()); (dynamic_cast(myActualForce))->parallelEvaluate(topo, positions, forces, energies); postprocess(topo,forces,energies); } } protomol/framework/forces/SystemTimeForce.h0100644027616700000500000000235210237151531020523 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef SYSTEMTIMEFORCE_H #define SYSTEMTIMEFORCE_H #include "TimeForce.h" #include "SystemForce.h" namespace ProtoMol { //_________________________________________________________________ SystemTimeForce class SystemTimeForce : public TimeForce, public SystemForce { // This class contains the definition of one force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: SystemTimeForce(Force* actualForce); virtual ~SystemTimeForce(){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); virtual void parallelEvaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); }; //______________________________________________________________________ INLINES } #endif /* SYSTEMTIMEFORCE_H */ protomol/framework/forces/TimeForce.cpp0100644027616700000500000000542110237151531017651 0ustar pbrenne1dip#include "TimeForce.h" #include "ScalarStructure.h" #include "Parallel.h" #include "mathutilities.h" #include "Vector3DBlock.h" #include "GenericTopology.h" using std::string; using std::vector; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ TimeForce const string TimeForce::keyword("time"); unsigned int TimeForce::myCounter = 0; TimeForce::TimeForce(Force* actualForce){ if(actualForce == NULL) report << error << "Actual force is a zero pointer."<getKeyword()+"."+toString(myCounter); myIdNumber = myCounter; myCounter++; myTimer.reset(); myTimeList.resize(0); } TimeForce::~TimeForce(){ if(myActualForce != NULL) delete myActualForce; double totalTime = myTimer.getTime().getRealTime(); for(int i=myTimeList.size()-1;i>0;i--) myTimeList[i]=myTimeList[i]-myTimeList[i-1]; report.setf(std::ios::showpoint|std::ios::fixed); report.precision(5); report << allnodesserial << plain <<"Timing "< 1){ double stddev = 0; double average = totalTime/((double)myTimeList.size()); for(unsigned int i=0;i(myTimeList[i].getRealTime()-average); stddev = sqrt(stddev/((double)myTimeList.size()-1.0)); report <<", "<& parameters) const{ myActualForce->getParameters(parameters); } unsigned int TimeForce::getParameterSize() const{ return myActualForce->getParameterSize(); } string TimeForce::getIdNoAlias() const{ return string(TimeForce::keyword+" "+myActualForce->getIdNoAlias()); } Force* TimeForce::doMake(string& errMsg, vector values) const{ return myActualForce->make(errMsg,values); } unsigned int TimeForce::numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* positions){ return myActualForce->numberOfBlocks(topo,positions); } void TimeForce::uncache(){ myActualForce->uncache(); } void TimeForce::doSetParameters(std::string& errMsg, std::vector values){ myActualForce->setParameters(errMsg,values); } } protomol/framework/forces/TimeForce.h0100644027616700000500000000461410237151531017321 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef TIMEFORCE_H #define TIMEFORCE_H #include "Force.h" #include "Timer.h" namespace ProtoMol { //_________________________________________________________________ TimeForce class TimeForce : virtual public Force { // This class contains the definition of one force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: TimeForce(Force* actualForce); virtual ~TimeForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class TimeForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: unsigned int getIdNumber() const{return myIdNumber;} protected: void preprocess(unsigned int numAtoms); void postprocess(const GenericTopology* topo, Vector3DBlock* forces,ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual unsigned int numberOfBlocks(const GenericTopology* topo, const Vector3DBlock* pos); virtual void uncache(); private: virtual Force* doMake(std::string& errMsg, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const; virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const; private: virtual void doSetParameters(std::string& errMsg, std::vector values); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; protected: Force* myActualForce; private: unsigned int myIdNumber; std::string myForcename; static unsigned int myCounter; Timer myTimer; std::vector myTimeList; }; //______________________________________________________________________ INLINES } #endif /* TIMEFORCE_H */ protomol/framework/forces/WrapperMetaForce.cpp0100644027616700000500000000573310237151531021210 0ustar pbrenne1dip#include "WrapperMetaForce.h" #include #include using std::set; using std::map; using std::swap; using std::vector; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ WrapperMetaForce WrapperMetaForce::WrapperMetaForce(string id, bool minimal, Force* force, string forceAlias):MetaForce(),keyword(id),myMinimal(minimal){ addForce(force,forceAlias); } WrapperMetaForce::WrapperMetaForce(string id, bool minimal, Force* force1, string forceAlias1, Force* force2, string forceAlias2):MetaForce(),keyword(id),myMinimal(minimal){ addForce(force1,forceAlias1); addForce(force2,forceAlias2); } WrapperMetaForce::~WrapperMetaForce(){ for(unsigned int i=0;isetAlias(forceAlias); std::vector parameters = force->getParameters(); unsigned int count = force->getParameterSize(); // Remove all multiple keywords if(myMinimal){ set unique; std::vector tmp; count = 0; for(unsigned int i=0;i val) const{ vector > values(myForces.size()); if(myMinimal){ map unique; for(unsigned int i=0;i p = myForces[i]->getParameters(); for(unsigned int j=0;jgetParameterSize();j++){ values[i].push_back(val[k++]); } } } if(myForces.size() == 1) return new WrapperMetaForce(keyword,myMinimal,myForces[0]->make(errMsg,values[0]),""); else if(myForces.size() == 2) return new WrapperMetaForce(keyword,myMinimal,myForces[0]->make(errMsg,values[0]),"",myForces[1]->make(errMsg,values[1]),""); else return NULL; } void WrapperMetaForce::getDeepForces(vector& forces) const{ for(unsigned int i=0;i& parameters) const{parameters=myParameters;} virtual unsigned int getParameterSize() const{return myParameterSize;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} private: virtual Force* doMake(std::string& errMsg, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class WrapperMetaForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void getDeepForces(std::vector& forces) const; private: void addForce(Force* force, std::string forceAlias); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: const std::string keyword; private: std::vector myForces; bool myMinimal; std::vector myParameters; unsigned int myParameterSize; }; //______________________________________________________________________ INLINES } #endif /* WRAPPERMETAFORCE_H */ protomol/framework/forces/oneAtomContraints.h0100644027616700000500000000743710237151531021121 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ONEATOMCONSTRAINTS_H #define ONEATOMCONSTRAINTS_H #include "GenericTopology.h" namespace ProtoMol { /* Constraints for OneAtomPair's templates and 1-body forces/potentials. The constraint is checked at beginning of doOneAtomPair(), which makes pretty efficient. If check() fails neither the distance, exclusions, potential nor switching function are computed. getPrefixId() and getPostfixId() are added before and after the potential keyword in order to distinguish between a potential with and one without constraint. */ /** Default constraint of OneAtomPair's templates, for all atoms pairs true */ struct NoConstraint { enum {PRE_CHECK=0, POST_CHECK=0}; static bool check(const GenericTopology*, int, int){return true;} static bool check(const GenericTopology*, int){return true;} static std::string getPrefixId() {return "";} static std::string getPostfixId() {return "";} static void check(const GenericTopology*, int, int, const Vector3D&, Real, const Vector3D&){} }; /** HBond constraint of OneAtomPair's templates, only pairs with different mass are considered */ struct HBondConstraint { enum {PRE_CHECK=1, POST_CHECK=0}; static bool check(const GenericTopology* topo, int i, int j){return (!equal(topo->atoms[i].scaledMass,topo->atoms[j].scaledMass));} static std::string getPrefixId() {return "HBond";} static std::string getPostfixId() {return "";} static void check(const GenericTopology*, int, int, const Vector3D&, Real, const Vector3D&){} }; /** Constraint of OneAtomPair's templates, only pairs on the same molecule are considered */ struct SameMoleculeConstraint { enum {PRE_CHECK=1, POST_CHECK=0}; static bool check(const GenericTopology* topo, int i, int j){return (topo->atoms[i].molecule == topo->atoms[j].molecule);} static std::string getPrefixId() {return "";} static std::string getPostfixId() {return "SameMol";} static void check(const GenericTopology*, int, int, const Vector3D&, Real, const Vector3D&){} }; /** Constraint of OneAtomPair's templates, only pairs off different moleculea are considered */ struct NotSameMoleculeConstraint { enum {PRE_CHECK=1, POST_CHECK=0}; static bool check(const GenericTopology* topo, int i, int j){return (topo->atoms[i].molecule != topo->atoms[j].molecule);} static std::string getPrefixId() {return "";} static std::string getPostfixId() {return "NotSameMol";} static void check(const GenericTopology*, int, int, const Vector3D&, Real, const Vector3D&){} }; /** Constraint of OneAtomPair's templates, print pair */ struct DebugPreConstraint { enum {PRE_CHECK=1, POST_CHECK=0}; static bool check(const GenericTopology*, int i, int j){ Report::report <<"P("< #include #include namespace ProtoMol { //_____________________________________________________ FactoryBase /** Base class of all factories templated with the family type. Container to keep pointers for each prototype exemplar and their aliases, where the real prototype is keep in a separate set. */ template class FactoryBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: FactoryBase():myCache(false){ //Report::report << Report::plain <<"[FactoryBase<"<::FactoryBase()]"<< Report::endr; } virtual ~FactoryBase(){ //Report::report << Report::plain <<"[FactoryBase<"<::~FactoryBase()]"<< Report::endr; clear(); } private: FactoryBase(const FactoryBase&){} FactoryBase& operator=(const FactoryBase&){return *this;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class FactoryBase //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: const Type* getPrototype(const std::string& id) const{ const Type* prototype = NULL; if(myExemplars.find(id) != myExemplars.end()){ prototype = myExemplars.find(id)->second; } else if (myAliasExemplars.find(id) != myAliasExemplars.end()){ prototype = myAliasExemplars.find(id)->second; } return prototype; } void clear(){ for(typename std::set::iterator i=myPointers.begin();i != myPointers.end();++i) delete (*i); myExemplars.clear(); //realclear(myExemplars); myAliasExemplars.clear(); //realclear(myAliasExemplars); myPointers.clear(); //realclear(myPointers); myCache = false; } protected: virtual std::string doPrint() const=0; ///< Hook method called from static method print virtual void doRegisterHelpText() const=0; ///< Hook method called from static method registerHelpText //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // private data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: std::map myExemplars; std::map myAliasExemplars; std::set myPointers; mutable bool myCache; }; //_____________________________________________________ FactoryTraits<> template class FactoryTraits; //_____________________________________________________ Factory /** Concrete factory implementing the singleton pattern and inheriting the implementation details by traits. The concept of three levels enables to combine the singleton pattern and implementation details, where the base class FactoryBase provides the essential methods and data members for the implementation details. */ template class Factory : public FactoryTraits::Details{ public: typedef typename std::set::const_iterator const_iterator; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: Factory():FactoryTraits::Details(){ //Report::report << Report::plain <<"[Factory<"<::Factory()]"<< Report::endr; } virtual ~Factory(){ //Report::report << Report::plain <<"[Factory<"<::~Factory()]"<< Report::endr; } private: Factory(const Factory&){} Factory& operator=(const Factory&){return *this;} private: /// Call by atexit() to clean up. static void kill(){ Factory* p = obj; obj = NULL; p->~Factory(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Factory //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static void registerExemplar(const Type* exemplar, std::string id=""){ if(id.empty()) id = exemplar->getId(); Factory::instance().doRegisterExemplar(id,exemplar); } static void registerExemplar(const Type* exemplar,const std::vector& aliases, std::string id=""){ if(id.empty()) id = exemplar->getId(); Factory::instance().doRegisterExemplar(id,exemplar,aliases); } static bool unregisterExemplar(const std::string& id){ return Factory::instance().doUnregisterExemplar(id); } static void unregisterAllExemplars(){ Factory::instance().clear(); } static std::string print(){ return Factory::instance().doPrint(); } static void registerHelpText(){ Factory::instance().doRegisterHelpText(); } static bool empty(){ return Factory::instance().myPointers.empty(); } static Factory& instance(){ //static Factory obj; //return obj; // We have to do it ourself ... M$ problem ... if(obj == NULL){ obj = new Factory(); std::atexit(kill); } return *obj; } static const_iterator begin(){ return Factory::instance().myPointers.begin(); } static const_iterator end(){ return Factory::instance().myPointers.end(); } static const Type* find(const std::string& id){ return Factory::instance().getPrototype(id); } private: void doRegisterExemplar(const std::string& id, const Type* exemplar){ if(this->myExemplars.find(id) != this->myExemplars.end()){ Report::report << Report::hint << "Prototype \'"<getParameterSize() != exemplar->getParameters().size()){ Report::report << Report::error <getParameterSize()<<" != "<getParameters().size()<<", fix it."<myExemplars[id] = exemplar; this->myPointers.insert(exemplar); this->myCache = false; } void doRegisterExemplar(const std::string& id, const Type* exemplar,const std::vector& aliases) { doRegisterExemplar(id,exemplar); for(unsigned int i=0;imyAliasExemplars[aliases[i]] = exemplar; } this->myCache = false; } bool doUnregisterExemplar(const std::string& id) { // Get object pointer const Type* p=this->getPrototype(id); if(p == NULL) return false; // Remove pointers for(typename std::map::iterator i=this->myExemplars.begin();i != this->myExemplars.end();){ if(i->second == p) this->myExemplars.erase(i++); else ++i; } for(typename std::map::iterator i=this->myAliasExemplars.begin();i != this->myAliasExemplars.end();){ if(i->second == p) this->myAliasExemplars.erase(i++); else ++i; } this->myPointers.erase(p); // ... and delete the object delete p; this->myCache = false; return true; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // private data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: static Factory* obj; }; template Factory* Factory::obj=NULL; } #endif /* FACTORY_H */ protomol/framework/frontend/ForceFactory.h0100644027616700000500000000027410237151531020366 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef FORCEFACTORY_H #define FORCEFACTORY_H #include "ForceFactoryDetails.h" namespace ProtoMol { typedef Factory ForceFactory; } #endif /* FORCEFACTORY_H */ protomol/framework/frontend/ForceFactoryDetails.cpp0100644027616700000500000002767710237151531022247 0ustar pbrenne1dip#include "ForceFactoryDetails.h" #include "stringutilities.h" #include "Report.h" #include "simpleTypes.h" #include "Parallel.h" #include "CompareForce.h" #include "TimeForce.h" #include using std::copy; using std::sort; using std::vector; using std::map; using std::set; using std::string; using std::stringstream; using namespace ProtoMol::Report; namespace ProtoMol { //_____________________________________________________ ForceFactoryDetails ForceFactoryDetails::ForceFactoryDetails():FactoryBase(),myLastCompareForce(NULL){ //report << plain <<"[ForceFactoryDetails::ForceFactoryDetails()]"<< endr; } ForceFactoryDetails::~ForceFactoryDetails(){ //report << plain <<"[ForceFactoryDetails::~ForceFactoryDetails()]"<< endr; } ForceFactoryDetails::ForceFactoryDetails(const ForceFactoryDetails&){} ForceFactoryDetails& ForceFactoryDetails::operator=(const ForceFactoryDetails&){return *this;} Force* ForceFactoryDetails::make(string& errMsg, const string& id, vector values){ errMsg = ""; return TFactory::instance().doMake(errMsg,id,values); } Force* ForceFactoryDetails::doMake(string& errMsg, const string& idInput, vector values) const{ // Just try .. and see if we can find it directly string id = normalizeString(idInput); const Force* prototype = getPrototype(id); if(prototype != NULL && values.size() != prototype->getParameterSize()) prototype = NULL; bool excat = true; if(prototype == NULL){ // Lookup tables if(!myCache) updateCache(); vector splitId(splitForceString(id)); // Find the force keyword(s) ... string keyword = splitId[0]; map::const_iterator itr = myForceTypes.find(keyword); if(itr == myForceTypes.end()){ // ... sort force keyword(s) and try again ... excat = false; vector tmp(splitString(keyword)); sort(tmp.begin(),tmp.end(),ltstrNocaseOp); keyword = mergeString(tmp); if(myForceTypesSorted.find(keyword) != myForceTypesSorted.end()){ keyword = myForceTypesSorted[keyword]; itr = myForceTypes.find(keyword); } } string newId; if(itr != myForceTypes.end()){ // ... retrieve all valid policies for the force keyword(s) from the string ... newId = keyword; for(unsigned int i=1;i::const_iterator j=itr->second.policiesSorted.begin();j!= itr->second.policiesSorted.end();++j){ if(equalNocase(j->first,newId)) newId = j->second; } excat = false; prototype = getPrototype(newId); } if(prototype == NULL && itr != myForceTypes.end()){ // ... remove double policies and try again ... newId = uniqueForceString(newId); for(map::const_iterator j=itr->second.policiesSorted.begin();j!= itr->second.policiesSorted.end();++j){ if(equalNocase(uniqueForceString(j->first),newId)) newId = j->second; } prototype = getPrototype(newId); excat = false; } // ... try with alias! if(prototype == NULL){ prototype = getPrototype(splitId[0]); if(prototype != NULL){ newId = prototype->getId(); } } // ... ok final last call SK945 ... time and compare if(prototype == NULL && equalStartNocase(CompareForce::keyword,id)){ Force* actualForce = doMake(errMsg,id.substr(CompareForce::keyword.size()+1),values); if(actualForce == NULL) return NULL; CompareForce* compareForce = NULL; if(myLastCompareForce == NULL){ compareForce = actualForce->makeCompareForce(actualForce,NULL); myLastCompareForce = compareForce; } else { compareForce = actualForce->makeCompareForce(actualForce,myLastCompareForce); report << hint << "Comparing "<getIdNumber()/2<<" :\'"<getForceObject()->getId() <<"\' with \'"<getId()<<"\'"<makeTimeForce(actualForce); report << hint << "Timing "<getIdNumber()<<" :\'"<getId()<<"\'"< splitNewId(splitForceString(newId)); set unique; for(unsigned int i=0;i parameters; prototype->getParameters(parameters); values.resize(parameters.size()); stringstream ssp(parametersString); bool foundLast = false; for(unsigned int i=0;i> strp || retry){ //report << strp <<","; if(!(ssp) && retry){ //report <<"R1,"; ssp.str(parametersString); ssp.clear(); ssp.seekg(std::ios::beg); retry = false; strp = ""; continue; } if(equalNocase(strp,parameters[i].keyword) && !parameters[i].keyword.empty()){ //report <<"A,"; ssp >> values[i]; found = true; break; } else if(foundLast && parameters[i].keyword.empty()){ //report <<"B,"<(strp.size()),std::ios::cur); ssp.clear(); ssp >> values[i]; found = true; break; } } foundLast = found; // If still undefined take default value is available if(!found && parameters[i].defaultValue.valid()){ values[i].set(parameters[i].defaultValue); } //report << values[i].valid()<<","<::const_iterator j=itr->second.policies.begin();j!= itr->second.policies.end();++j){ errMsg += string("\n")+itr->first+string(" ")+(*j); } } else { errMsg += " Could not find any match for \'"+idInput+"\' in "+Force::scope+"Factory. Possible forces are:"; for(map::const_iterator i=myForceTypes.begin();i != myForceTypes.end();++i){ errMsg += string("\n")+i->first; } } } } // Make Force* newObj = NULL; if(prototype != NULL){ // Check parameter list if(!prototype->checkParameters(errMsg,values)){ return NULL; } newObj = prototype->make(errMsg,values); if(!errMsg.empty()){ delete newObj; return NULL; } if(newObj != NULL){ newObj->setAlias(id); } } return newObj; } string ForceFactoryDetails::doPrint()const{ if(!myCache) updateCache(); string res; for(map::const_iterator i=myForceTypes.begin();i != myForceTypes.end();++i){ res += (res.empty()?"":"\n")+i->first; for(set::const_iterator j=i->second.policies.begin();j!= i->second.policies.end();++j){ if(!(*j).empty()) res += "\n"+Constant::PRINTINDENT+ (*j); vector parameter = getPrototype(i->first+((*j).empty()?"":" "+(*j)))->getParameters(); for(unsigned int k=0;k::const_iterator j=myAliasExemplars.begin();j != myAliasExemplars.end();++j) res += "\n"+j->first+" : "+j->second->getId()+" ("+j->second->getIdNoAlias()+")"; return res; } void ForceFactoryDetails::updateCache() const{ myForceTypes.clear(); myForceTypesSorted.clear(); set removes; for(set::const_iterator i=myPointers.begin();i != myPointers.end();++i){ string id = (*i)->getId(); string idSorted = sortForceString(id); vector idSplit= splitForceString(id); string keyword = idSplit[0]; vector tmp(splitString(keyword)); sort(tmp.begin(),tmp.end(),ltstrNocaseOp); string keywordSorted = mergeString(tmp); for(unsigned int j=1;j::const_iterator i=removes.begin();i!=removes.end();++i){ myForceTypes[i->first].policiesSorted.erase(myForceTypes[i->first].policiesSorted.find(i->second)); } myCache = true; } vector ForceFactoryDetails::splitForceString(const string& id) const{ vector res(1); vector tmp(splitString(id)); unsigned int i = 0; while (i 1 && !isdigit(tmp[i][1])) res.push_back(tmp[i]); else res[res.size()-1] += " "+tmp[i]; } return res; } vector ForceFactoryDetails::splitForceStringSorted(const string& id) const{ vector res(splitForceString(id)); vector tmp(splitString(res[0])); sort(tmp.begin(),tmp.end(),ltstrNocaseOp); res[0] = mergeString(tmp); sort(res.begin()+1,res.end(),ltstrNocaseOp); return res; } string ForceFactoryDetails::sortForceString(const string& id) const{ return mergeString(splitForceStringSorted(id)); } string ForceFactoryDetails::uniqueForceString(const string& id) const{ vector tmp(splitForceString(id)); string res = tmp[0]; set unique; for(unsigned int i=1;i template <> class FactoryTraits { public: typedef ForceFactoryDetails Details; }; //_____________________________________________________ ForceFactoryDetails class ForceFactoryDetails : public FactoryBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //_____________________________________________________ ForceType struct ForceType { std::set policy; std::set policies; std::map policiesSorted; }; private: typedef Factory TFactory; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: ForceFactoryDetails(); virtual ~ForceFactoryDetails(); private: ForceFactoryDetails(const ForceFactoryDetails&); ForceFactoryDetails& operator=(const ForceFactoryDetails&); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From FactoryBase //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual std::string doPrint()const; virtual void doRegisterHelpText() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class DetailsForceFactory //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static Force* make(std::string& errMsg, const std::string& id, std::vector values=std::vector()); private: Force* doMake(std::string& errMsg, const std::string& id, std::vector values) const; private: void updateCache() const; std::vector splitForceString(const std::string& id) const; std::vector splitForceStringSorted(const std::string& id) const; std::string sortForceString(const std::string& id) const; std::string uniqueForceString(const std::string& id) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // private data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: mutable std::map myForceTypes; mutable std::map myForceTypesSorted; mutable CompareForce* myLastCompareForce; }; } #endif /* FORCEFACTORYDETAILS_H */ protomol/framework/frontend/HelpTextFactory.cpp0100644027616700000500000001121110237151531021411 0ustar pbrenne1dip#include "HelpTextFactory.h" #include "Configuration.h" using std::string; using std::vector; using namespace ProtoMol::Report; namespace ProtoMol { //_____________________________________________________ HelpTextFactory HelpTextFactory* HelpTextFactory::obj(NULL); HelpTextFactory::HelpTextFactory(){} HelpTextFactory::~HelpTextFactory(){} HelpTextFactory::HelpTextFactory(const HelpTextFactory&){} HelpTextFactory& HelpTextFactory::operator=(const HelpTextFactory&){return *this;} void HelpTextFactory::kill(){ HelpTextFactory* p = obj; obj = NULL; p->~HelpTextFactory(); } void HelpTextFactory::registerExemplar(const string& id, const HelpText& helpText){ HelpTextFactory::instance().doRegisterExemplar(id,helpText); } void HelpTextFactory::registerExemplars(const Configuration* config){ if(config != NULL) HelpTextFactory::instance().doRegisterExemplars(config); } bool HelpTextFactory::unregisterExemplar(const string& id){ return HelpTextFactory::instance().doUnregisterExemplar(id); } void HelpTextFactory::unregisterAllExemplars(){ HelpTextFactory::instance().myExemplars.clear(); } bool HelpTextFactory::empty(){ return HelpTextFactory::instance().myExemplars.empty(); } string HelpTextFactory::search(const string& id){ return HelpTextFactory::instance().doSearch(id); } string HelpTextFactory::keywords(){ return HelpTextFactory::instance().doKeywords(); } HelpTextFactory& HelpTextFactory::instance(){ //Factory obj; //return obj; // We have to do it ourself ... M$ problem ... if(obj == NULL){ obj = new HelpTextFactory(); std::atexit(kill); } return *obj; } void HelpTextFactory::doRegisterExemplar(const string& id, const HelpText& helpText){ myExemplars[id] = helpText; } void HelpTextFactory::doRegisterExemplars(const Configuration* config){ for(Configuration::const_iterator i=config->begin();i!=config->end();++i){ HelpText helpText; helpText.id = i->first; helpText.defaultValue = i->second; helpText.scope = "Input"; helpText.text = config->getText(helpText.id); doRegisterExemplar(helpText.id,helpText); HelpText alias; alias.text = "alias for \'"+i->first+"\'"; alias.scope = helpText.scope; vector aliases = config->getAliases(i->first); for(unsigned int j=0;jfirst,aliases[j])){ alias.id = aliases[j]; HelpTextFactory::registerExemplar(alias.id,alias); } } } } bool HelpTextFactory::doUnregisterExemplar(const string& id){ iterator i=myExemplars.find(id); if(i != myExemplars.end()){ myExemplars.erase(i); return true; } return false; } string HelpTextFactory::doSearch(const string& id) const{ string res; const_iterator i=myExemplars.find(id); if(i != myExemplars.end()){ HelpText txt = i->second; res = id; if(txt.defaultValue.defined() && txt.parameters.empty()){ res += " is "+txt.scope+", "; if(txt.defaultValue.getConstraintType() > ConstraintValueType::NOCONSTRAINTS) res += txt.defaultValue.getConstraintTypeString()+" "; res += txt.defaultValue.getTypeString(); if(txt.defaultValue.valid()) res += " with default \'"+txt.defaultValue.getString()+"\'"; res += (txt.text.empty()?"":", ")+txt.text+"."; } else { res += " is "+txt.scope+(txt.text.empty()?"":", ")+txt.text+"."; for(unsigned int i=0;i ConstraintValueType::NOCONSTRAINTS) res += txt.parameters[i].value.getConstraintTypeString()+" "; res += txt.parameters[i].value.getTypeString(); if(txt.parameters[i].defaultValue.valid()) res += " with default \'"+txt.parameters[i].defaultValue.getString()+"\'"; if(!txt.parameters[i].text.empty()) res += ", "+txt.parameters[i].text; } } } else { res = "Sorry, could not find any entry for \'"+id+"\'."; } return res; } string HelpTextFactory::doKeywords() const{ string res; for(const_iterator i=myExemplars.begin();i != myExemplars.end();++i){ if(i != myExemplars.begin()) res += "\n"; res += Constant::PRINTINDENT+getRightFill(i->first,Constant::PRINTMAXWIDTH) + " : "+i->second.scope+(i->second.text.empty()?"":", "+i->second.text); } return res; } } protomol/framework/frontend/HelpTextFactory.h0100644027616700000500000000441510237151531021066 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef HELPTEXTFACTORY_H #define HELPTEXTFACTORY_H #include "Parameter.h" #include #include #include namespace ProtoMol { class Configuration; //_____________________________________________________ HelpTextFactory /** */ struct HelpText { std::string id; Value defaultValue; std::string text; std::string scope; std::vector parameters; }; class HelpTextFactory { private: typedef std::map HelpTextMapType; typedef HelpTextMapType::const_iterator const_iterator; typedef HelpTextMapType::iterator iterator; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: HelpTextFactory(); ~HelpTextFactory(); HelpTextFactory(const HelpTextFactory&); HelpTextFactory& operator=(const HelpTextFactory&); private: /// Call by atexit() to clean up. static void kill(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class HelpTextFactory //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static void registerExemplar(const std::string& id, const HelpText& helpText); static void registerExemplars(const Configuration* config); static bool unregisterExemplar(const std::string& id); static void unregisterAllExemplars(); static bool empty(); static std::string search(const std::string& id); static std::string keywords(); private: static HelpTextFactory& instance(); void doRegisterExemplar(const std::string& id, const HelpText& helpText); void doRegisterExemplars(const Configuration* config); bool doUnregisterExemplar(const std::string& id); std::string doSearch(const std::string& id) const; std::string doKeywords() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // private data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: static HelpTextFactory* obj; HelpTextMapType myExemplars; }; } #endif /* HELPTEXTFACTORY_H */ protomol/framework/frontend/InputPosVel.cpp0100644027616700000500000000656010237151531020567 0ustar pbrenne1dip#include "InputPosVel.h" #include "Vector.h" #include "systemutilities.h" #include "Configuration.h" #include "XYZBinReader.h" #include "XYZReader.h" #include "PDBReader.h" using std::vector; using std::string; namespace ProtoMol { //_________________________________________________________________ File InputPosVel::InputPosVel():myFilename(""),myOk(true),myType(InputPosVelType::UNDEFINED){} InputPosVel::InputPosVel(const string& filename):myFilename(filename),myOk(isAccessible(filename)),myType(InputPosVelType::UNDEFINED){} InputPosVel::operator void*() const{ return (!myOk ? 0 : const_cast(this)); } bool InputPosVel::operator!() const { return !myOk; } void InputPosVel::setFilename(const string& filename){ myFilename = filename; myOk = true; myType = InputPosVelType::UNDEFINED; } bool InputPosVel::open(){ myOk = isAccessible(myFilename); return myOk; } bool InputPosVel::open(const string& filename){ setFilename(filename); return open(); } bool InputPosVel::tryFormat(InputPosVelType::Enum type){ if(type == InputPosVelType::PDB){ PDBReader reader(myFilename); return reader.tryFormat(); } else if(type == InputPosVelType::XYZ){ XYZReader reader(myFilename); return reader.tryFormat(); } else if(type == InputPosVelType::XYZBIN){ XYZBinReader reader(myFilename); return reader.tryFormat(); } else{ return isAccessible(myFilename); } } InputPosVelType InputPosVel::getType() const{ return myType; } InputPosVel& operator>>(InputPosVel& posReader, PDB& pdb){ posReader.myType = InputPosVelType::UNDEFINED; // PDB PDBReader pdbReader(posReader.myFilename); posReader.myOk = pdbReader.tryFormat(); if(posReader.myOk){ posReader.myOk = (pdbReader >> pdb?true:false); posReader.myType = InputPosVelType::PDB; } return posReader; } InputPosVel& operator>>(InputPosVel& posReader, XYZ& xyz){ posReader.myType = InputPosVelType::UNDEFINED; // XYZ XYZReader xyzReader(posReader.myFilename); posReader.myOk = xyzReader.tryFormat(); if(posReader.myOk){ posReader.myOk = (xyzReader >> xyz?true:false); posReader.myType = InputPosVelType::XYZ; } // PDB if(!posReader.myOk){ PDBReader pdbReader(posReader.myFilename); if(pdbReader.tryFormat()){ posReader.myOk = (pdbReader >> xyz?true:false); posReader.myType = InputPosVelType::PDB; } } return posReader; } InputPosVel& operator>>(InputPosVel& posReader, Vector3DBlock& coords){ posReader.myType = InputPosVelType::UNDEFINED; // XYZ XYZReader xyzReader(posReader.myFilename); posReader.myOk = xyzReader.tryFormat(); if(posReader.myOk){ posReader.myOk = (xyzReader >> coords?true:false); posReader.myType = InputPosVelType::XYZ; } // XYZ binary if(!posReader.myOk){ XYZBinReader xyzBinReader(posReader.myFilename); if(xyzBinReader.tryFormat()){ posReader.myOk = (xyzBinReader >> coords?true:false); posReader.myType = InputPosVelType::XYZBIN; } } // PDB if(!posReader.myOk){ PDBReader pdbReader(posReader.myFilename); if(pdbReader.tryFormat()){ posReader.myOk = (pdbReader >> coords?true:false); posReader.myType = InputPosVelType::PDB; } } return posReader; } } protomol/framework/frontend/InputPosVel.h0100644027616700000500000000324310237151531020227 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef INPUTPOSVEL_H #define INPUTPOSVEL_H #include "InputPosVelType.h" #include "XYZ.h" #include "PDB.h" namespace ProtoMol { class Configuration; //________________________________________________________ InputPosVel class InputPosVel { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: InputPosVel(); explicit InputPosVel(const std::string& filename); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class InputPosVel //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void setFilename(const std::string& filename); bool open(); bool open(const std::string& filename); bool tryFormat(InputPosVelType::Enum type); operator void*() const; bool operator!() const; // enable expression testing InputPosVelType getType() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend InputPosVel& operator>>(InputPosVel& posReader, PDB& pdb); friend InputPosVel& operator>>(InputPosVel& posReader, XYZ& xyz); friend InputPosVel& operator>>(InputPosVel& posReader, Vector3DBlock& coords); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: std::string myFilename; bool myOk; InputPosVelType myType; }; } #endif protomol/framework/frontend/InputPosVelType.cpp0100644027616700000500000000065310237151531021426 0ustar pbrenne1dip#include "InputPosVelType.h" using std::string; namespace ProtoMol { //__________________________________________________________InputPosVelType const string InputPosVelEnum::str[static_cast(LAST) - static_cast(FIRST)] = { // Order is essential, must be in relation to Enum ordering string("undefined"), // Returned when no enum matches string("PDB"), string("XYZ"), string("XYZBin") }; } protomol/framework/frontend/InputPosVelType.h0100644027616700000500000000131610237151531021070 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef INPUTPOSVELTYPE_H #define INPUTPOSVELTYPE_H #include "AbstractEnumType.h" namespace ProtoMol { //_____________________________________________________ InputPosVelEnum class InputPosVelEnum { public: virtual ~InputPosVelEnum(){} enum Enum { FIRST = 0, // Used internally only UNDEFINED = 0, // InputPosVel returned when no string matches PDB, XYZ, XYZBIN, LAST // Used internally only }; protected: static const std::string str[]; }; //_____________________________________________________ InputPosVelType typedef AbstractEnumType InputPosVelType; } #endif /* INPUTPOSVELTYPE_H */ protomol/framework/frontend/InputValue.h0100644027616700000500000001620310237151531020073 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef INPUTVALUE_H #define INPUTVALUE_H #include "Value.h" #include "Configuration.h" #include "Report.h" namespace ProtoMol { //________________________________________________________ InputValue /** Template class with macros for simple creation of input parameters for the configuration file.@n @n Example for the temperatur, real number, non-negative @n @n // Declaration @n declareInputValue(InputTemperature,REAL,NOTNEGATIVE); @n @n // Definition, with and without aliases @n defineInputValue(InputTemperature,"temperature"); @n defineInputValueWithAliases(InputTemperature,"temperature",("temp")("t")); @n @n // Defintion with help text @n defineInputValueAndText(InputTemperature,"temperature","initial temperature, [K]"); @n defineInputValueWithAliasesAndText(InputTemperature,"temperature",("temp")("t"),"initial temperature, [K]"); @n @n // Usage @n InputTemperature t(9.9); @n t = -3; \\ now t invalid @n t = "3.3"; \\ ok again @n */ template class InputValue : public TBase { public: typedef typename Enum2ValueTraits::Type Type; typedef typename ConstraintValueEnum::Enum2Type Constraint; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: InputValue():myValue(typename Type::Type(),Constraint(),Value::undefined){} template explicit InputValue(const T& v):myValue(Type(),Constraint(),v,true){} explicit InputValue(const char* v):myValue(Type(),Constraint(),std::string(v),true){} virtual ~InputValue(){} // Assignment template InputValue& operator=(const T& value){ myValue.set(value); return *this; } InputValue& operator=(const char* value){return operator=(std::string(value));} InputValue & operator=(const InputValue & rhs) { InputValue(rhs).swap(*this); return *this; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class InputValue //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: operator Value() const{return myValue;} template operator T() const { T val=T(); myValue.get(val); return val; } template bool get(T& val) const {return myValue.get(val); } bool valid() const{return myValue.valid();} InputValue & swap(InputValue & rhs){ std::swap(myValue, rhs.myValue); return *this; } static void registerConfiguration(Configuration* config,Value v) { config->registerKeyword(TBase::keyword,v); config->registerAliases(TBase::keyword,TBase::aliases); if(!TBase::text.empty()) config->setText(TBase::keyword,TBase::text); } template static void registerConfiguration(Configuration* config,T v) { config->registerKeyword(TBase::keyword,Value(v)); config->registerAliases(TBase::keyword,TBase::aliases); if(!TBase::text.empty()) config->setText(TBase::keyword,TBase::text); } static void registerConfiguration(Configuration* config){ config->registerKeyword(TBase::keyword,Value(Type::empty(),Constraint(),Value::undefined)); config->registerAliases(TBase::keyword,TBase::aliases); if(!TBase::text.empty()) config->setText(TBase::keyword,TBase::text); } static void registerConfiguration(Configuration* config,Value v, const Text& txt) { config->registerKeyword(TBase::keyword,v); config->registerAliases(TBase::keyword,TBase::aliases); config->setText(TBase::keyword,txt.text); } template static void registerConfiguration(Configuration* config,T v, const Text& txt) { config->registerKeyword(TBase::keyword,Value(v)); config->registerAliases(TBase::keyword,TBase::aliases); config->setText(TBase::keyword,txt.text); } static void registerConfiguration(Configuration* config, const Text& txt){ config->registerKeyword(TBase::keyword,Value(Type::empty(),Constraint(),Value::undefined)); config->registerAliases(TBase::keyword,TBase::aliases); config->setText(TBase::keyword,txt.text); } //static std::string getScope() {return std::string("Input");} //static const std::string& getKeyword(){return TBase::keyword;} //static const std::vector& getAliases(){return TBase::aliases;} friend Report::MyStreamer& operator<< (Report::MyStreamer& OS, const InputValue & v){ OS << v.myValue.getString(); return OS; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // private data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Value myValue; }; //________________________________________________________________________INLINES //________________________________________________________________________MACROS #define declareInputValue(NAME,TYPE,CONSTRAINT) \ struct NAME##Identifier { \ virtual ~NAME##Identifier(){} \ static const std::string keyword; \ static const std::vector aliases; \ static const std::string text; \ }; \ typedef InputValue NAME #define defineInputValue(NAME,KEYWORD) \ const string NAME##Identifier::keyword(KEYWORD); \ const vector NAME##Identifier::aliases; \ const string NAME##Identifier::text("") #define defineInputValueWithAliases(NAME,KEYWORD,ALIASES) \ const string NAME##Identifier::keyword(KEYWORD); \ const vector NAME##Identifier::aliases(static_cast >(VectorALIASES));\ const string NAME##Identifier::text("") #define defineInputValueAndText(NAME,KEYWORD,TEXT) \ const string NAME##Identifier::keyword(KEYWORD); \ const vector NAME##Identifier::aliases; \ const string NAME##Identifier::text(TEXT) #define defineInputValueWithAliasesAndText(NAME,KEYWORD,ALIASES,TEXT) \ const string NAME##Identifier::keyword(KEYWORD); \ const vector NAME##Identifier::aliases(static_cast >(VectorALIASES));\ const string NAME##Identifier::text(TEXT) } #endif protomol/framework/frontend/IntegratorFactory.h0100644027616700000500000000033210237151531021441 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef INTEGRATORFACTORY_H #define INTEGRATORFACTORY_H #include "IntegratorFactoryDetails.h" namespace ProtoMol { typedef Factory IntegratorFactory; } #endif /* INTEGRATORFACTORY_H */ protomol/framework/frontend/IntegratorFactoryDetails.cpp0100644027616700000500000002225310237151531023310 0ustar pbrenne1dip#include "IntegratorFactoryDetails.h" #include "STSIntegrator.h" #include "MTSIntegrator.h" #include "NonStandardIntegrator.h" #include "stringutilities.h" #include "ForceFactory.h" #include "ForceGroup.h" #include "Report.h" #include "HelpTextFactory.h" using std::vector; using std::map; using std::string; using std::stringstream; using namespace ProtoMol::Report; namespace ProtoMol { //_____________________________________________________ IntegratorFactoryDetails IntegratorFactoryDetails::IntegratorFactoryDetails():FactoryBase(){ //report << plain <<"[IntegratorFactoryDetails::IntegratorFactoryDetails()]"<< endr; } IntegratorFactoryDetails::~IntegratorFactoryDetails(){ //report << plain <<"[IntegratorFactoryDetails::~IntegratorFactoryDetails()]"<< endr; } IntegratorFactoryDetails::IntegratorFactoryDetails(const IntegratorFactoryDetails&){} IntegratorFactoryDetails& IntegratorFactoryDetails::operator=(const IntegratorFactoryDetails&){return *this;} Integrator* IntegratorFactoryDetails::make(string& errMsg, const string& definition){ return TFactory::instance().doMake(errMsg,definition); } Integrator* IntegratorFactoryDetails::doMake(string& errMsg, const string& definition) const{ errMsg = ""; string str; vector integratorInput; stringstream ss(definition); while(ss >> str){ // Parse level and integrator type string levelStr,integrator,d; ss >> levelStr >> integrator >> d; if(!(equalNocase(str,"level") && isUInt(levelStr) && !integrator.empty() && d == "{")){ errMsg +=" Integration definition mismatch, expexting \'level { ... }."; return NULL; } const Integrator* prototype = getPrototype(integrator); if(prototype == NULL){ errMsg += " Could not find any match for \'"+integrator+"\' in "+Integrator::scope+"Factory. Possible integrators are:\n"+doPrint(); return NULL; } // Read first integrator parameters and then force definitions string parameterStr,forceStr; while(ss >> str ){ if(str == "}") break; if(equalNocase(str,"Force") || !forceStr.empty()) forceStr += (forceStr.empty()?"":" ")+str; else parameterStr += (parameterStr.empty()?"":" ")+str; } parameterStr += " "; // some compiler need this // Expand vector unsigned int level = toUInt(levelStr); if(integratorInput.size() <= level) integratorInput.resize(level+1); // Return if already defined if(integratorInput[level].prototype != NULL){ errMsg += " Level "+toString(level)+" already defined with "+integratorInput[level].prototype->getId()+"."; return NULL; } // Parse integrator parameter vector parameters; prototype->getParameters(parameters); integratorInput[level].values.resize(parameters.size()); stringstream ssp(parameterStr); bool foundLast = false; for(unsigned int i=0;i> strp || retry){ //report << strp <<","; if(!(ssp) && retry){ //report <<"R1,"; ssp.str(parameterStr); ssp.seekg(std::ios::beg); ssp.clear(); retry = false; strp = ""; continue; } if(equalNocase(strp,parameters[i].keyword) && !parameters[i].keyword.empty()){ //report <<"A,"; ssp >> integratorInput[level].values[i]; found = true; break; } else if(foundLast && parameters[i].keyword.empty()){ //report <<"B,"<(strp.size()),std::ios::cur); ssp.clear(); ssp >> integratorInput[level].values[i]; found = true; break; } } foundLast = found; //report << (found?"found,":""); // If still undefined take default value is available if(!found && parameters[i].defaultValue.valid()){ //report << "default,"; integratorInput[level].values[i].set(parameters[i].defaultValue); } //report << integratorInput[level].values[i].valid()<<","<checkParameters(errMsg,integratorInput[level].values)){ errMsg = " Level "+toString(level)+" "+errMsg; return NULL; } // Parse forces stringstream ssf(forceStr); Value force(ValueType::Force("")); while(ssf >> force){ integratorInput[level].forces.push_back(force.getString()); } // Set prototype integratorInput[level].prototype = prototype; } // Check if we have a definition for each level bool ok = true; for(unsigned int i=0;i(prototype)){ if(!((i==0 && dynamic_cast(prototype)) || i > 0 && dynamic_cast(prototype))){ if(i > 0) errMsg += " Integrator "+toString(prototype->getId())+" at level "+toString(i)+" is a STS integrator, expected MTS."; else errMsg += " Integrator "+toString(prototype->getId())+" at level "+toString(i)+" is a MTS integrator, expected STS."; ok = false; } } else if(dynamic_cast(prototype)){ errMsg += " NonStandardIntegrator (level "+toString(i)+" "+toString(prototype->getId())+ ") are not supported by "+Force::scope+"Factory yet."; ok = false; } else { report << error <<"[IntegratorFactoryDetails::doMake] Found an integrator \'"<getId()<<"\' neither a StandardIntegrator nor NonStandardIntegrator."<addForce(force); } StandardIntegrator* newIntegrator = NULL; if(i > 0){ newIntegrator = dynamic_cast(integratorInput[i].prototype)->make(errMsg,integratorInput[i].values,forceGroup,integrator); } else { newIntegrator = dynamic_cast(integratorInput[i].prototype)->make(errMsg,integratorInput[i].values,forceGroup); } if(newIntegrator == NULL){ delete forceGroup; delete integrator; return NULL; } integrator = newIntegrator; } return integrator; } string IntegratorFactoryDetails::doPrint()const{ string res; for( map::const_iterator i=myExemplars.begin();i != myExemplars.end();++i){ res += (i==myExemplars.begin()?"":"\n")+i->first; vector parameter(i->second->getParameters()); for(unsigned int k=0;k::const_iterator j=myAliasExemplars.begin();j != myAliasExemplars.end();++j) res += "\n"+j->first+" : "+j->second->getId()+" ("+j->second->getIdNoAlias()+")"; return res; } void IntegratorFactoryDetails::doRegisterHelpText() const{ for( map::const_iterator i=myExemplars.begin();i != myExemplars.end();++i){ HelpText helpText; i->second->getParameters(helpText.parameters); helpText.id = i->second->getIdNoAlias(); helpText.text = i->second->getText(); helpText.scope = i->second->getScope(); HelpTextFactory::registerExemplar(i->second->getId(),helpText); HelpText alias; alias.text = "alias for \'"+i->second->getId()+"\'"; alias.scope = i->second->getScope(); for( map::const_iterator j=myAliasExemplars.begin();j != myAliasExemplars.end();++j){ if(j->second->getIdNoAlias() == i->second->getIdNoAlias()){ alias.id = j->first; HelpTextFactory::registerExemplar(alias.id,alias); } } } } } protomol/framework/frontend/IntegratorFactoryDetails.h0100644027616700000500000000433410237151531022755 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef INTEGRATORFACTORYDETAILS_H #define INTEGRATORFACTORYDETAILS_H #include "Factory.h" #include "Integrator.h" #include "Value.h" namespace ProtoMol { class IntegratorFactoryDetails; //_____________________________________________________ FactoryTraits template <> class FactoryTraits { public: typedef IntegratorFactoryDetails Details; }; //_____________________________________________________ IntegratorFactoryDetails class IntegratorFactoryDetails : public FactoryBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: struct IntegratorInput { IntegratorInput():prototype(NULL){} const Integrator* prototype; std::vector values; std::vector forces; }; typedef Factory TFactory; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: IntegratorFactoryDetails(); virtual ~IntegratorFactoryDetails(); private: IntegratorFactoryDetails(const IntegratorFactoryDetails&); IntegratorFactoryDetails& operator=(const IntegratorFactoryDetails&); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From FactoryBase //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual std::string doPrint()const; virtual void doRegisterHelpText() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class DetailsIntegratorFactory //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static Integrator* make(std::string& errMsg, const std::string& definition); private: Integrator* doMake(std::string& errMsg, const std::string& definition) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // private data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ }; } #endif /* INTEGRATORFACTORYDETAILS_H */ protomol/framework/frontend/Makefile.am0100644027616700000500000000460110237151531017661 0ustar pbrenne1dip# frontend AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libfrontend_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # frontend Sources P_FRONTEND_H =\ HelpTextFactory.h\ Factory.h\ ForceFactory.h\ ForceFactoryDetails.h\ InputPosVel.h\ InputPosVelType.h\ InputValue.h\ IntegratorFactory.h\ IntegratorFactoryDetails.h\ Output.h\ OutputCache.h\ OutputCollection.h\ OutputDCDTrajectory.h\ OutputDiffusion.h\ OutputDihedrals.h\ OutputEnergies.h\ OutputFactory.h\ OutputFactoryDetails.h\ OutputFile.h\ OutputFinalXYZBinPos.h\ OutputFinalXYZBinVel.h\ OutputFinalXYZPos.h\ OutputFinalPDBPos.h\ OutputFinalXYZVel.h\ OutputMomentum.h\ OutputPaulTrap.h\ OutputPDBFramePos.h\ OutputScreen.h\ OutputTemperatures.h\ OutputXYZTrajectoryForce.h\ OutputXYZTrajectoryPos.h\ OutputXYZTrajectoryVel.h\ TopologyFactory.h\ TopologyFactoryDetails.h\ buildTopology.h\ inputValueDefinitions.h\ parseCommandLine.h # frontend Includes P_FRONTEND_SRC =\ HelpTextFactory.cpp\ ForceFactoryDetails.cpp\ InputPosVel.cpp\ InputPosVelType.cpp\ IntegratorFactoryDetails.cpp\ Output.cpp\ OutputCache.cpp\ OutputCollection.cpp\ OutputDCDTrajectory.cpp\ OutputDiffusion.cpp\ OutputDihedrals.cpp\ OutputEnergies.cpp\ OutputFactoryDetails.cpp\ OutputFile.cpp\ OutputFinalXYZBinPos.cpp\ OutputFinalXYZBinVel.cpp\ OutputFinalXYZPos.cpp\ OutputFinalPDBPos.cpp\ OutputFinalXYZVel.cpp\ OutputMomentum.cpp\ OutputPaulTrap.cpp\ OutputPDBFramePos.cpp\ OutputScreen.cpp\ OutputTemperatures.cpp\ OutputXYZTrajectoryForce.cpp\ OutputXYZTrajectoryPos.cpp\ OutputXYZTrajectoryVel.cpp\ TopologyFactoryDetails.cpp\ buildTopology.cpp\ inputValueDefinitions.cpp\ parseCommandLine.cpp # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libfrontend.a libfrontend_a_SOURCES = $(P_FRONTEND_SRC) $(P_FRONTEND_H) INCLUDES =-I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND)# -I$(P_FACTORIES) SOURCEFILES = $(P_FRONTEND_SRC) #include $(top_srcdir)/Makefile.depend protomol/framework/frontend/Makefile.in0100644027616700000500000002667610237151531017712 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # frontend SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libfrontend_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # frontend Sources P_FRONTEND_H = \ HelpTextFactory.h\ Factory.h\ ForceFactory.h\ ForceFactoryDetails.h\ InputPosVel.h\ InputPosVelType.h\ InputValue.h\ IntegratorFactory.h\ IntegratorFactoryDetails.h\ Output.h\ OutputCache.h\ OutputCollection.h\ OutputDCDTrajectory.h\ OutputDiffusion.h\ OutputDihedrals.h\ OutputEnergies.h\ OutputFactory.h\ OutputFactoryDetails.h\ OutputFile.h\ OutputFinalXYZBinPos.h\ OutputFinalXYZBinVel.h\ OutputFinalXYZPos.h\ OutputFinalPDBPos.h\ OutputFinalXYZVel.h\ OutputMomentum.h\ OutputPaulTrap.h\ OutputPDBFramePos.h\ OutputScreen.h\ OutputTemperatures.h\ OutputXYZTrajectoryForce.h\ OutputXYZTrajectoryPos.h\ OutputXYZTrajectoryVel.h\ TopologyFactory.h\ TopologyFactoryDetails.h\ buildTopology.h\ inputValueDefinitions.h\ parseCommandLine.h # frontend Includes P_FRONTEND_SRC = \ HelpTextFactory.cpp\ ForceFactoryDetails.cpp\ InputPosVel.cpp\ InputPosVelType.cpp\ IntegratorFactoryDetails.cpp\ Output.cpp\ OutputCache.cpp\ OutputCollection.cpp\ OutputDCDTrajectory.cpp\ OutputDiffusion.cpp\ OutputDihedrals.cpp\ OutputEnergies.cpp\ OutputFactoryDetails.cpp\ OutputFile.cpp\ OutputFinalXYZBinPos.cpp\ OutputFinalXYZBinVel.cpp\ OutputFinalXYZPos.cpp\ OutputFinalPDBPos.cpp\ OutputFinalXYZVel.cpp\ OutputMomentum.cpp\ OutputPaulTrap.cpp\ OutputPDBFramePos.cpp\ OutputScreen.cpp\ OutputTemperatures.cpp\ OutputXYZTrajectoryForce.cpp\ OutputXYZTrajectoryPos.cpp\ OutputXYZTrajectoryVel.cpp\ TopologyFactoryDetails.cpp\ buildTopology.cpp\ inputValueDefinitions.cpp\ parseCommandLine.cpp # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libfrontend.a libfrontend_a_SOURCES = $(P_FRONTEND_SRC) $(P_FRONTEND_H) INCLUDES = -I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND)# -I$(P_FACTORIES) SOURCEFILES = $(P_FRONTEND_SRC) subdir = framework/frontend mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) libfrontend_a_LIBADD = am__objects_1 = HelpTextFactory.$(OBJEXT) ForceFactoryDetails.$(OBJEXT) \ InputPosVel.$(OBJEXT) InputPosVelType.$(OBJEXT) \ IntegratorFactoryDetails.$(OBJEXT) Output.$(OBJEXT) \ OutputCache.$(OBJEXT) OutputCollection.$(OBJEXT) \ OutputDCDTrajectory.$(OBJEXT) OutputDiffusion.$(OBJEXT) \ OutputDihedrals.$(OBJEXT) OutputEnergies.$(OBJEXT) \ OutputFactoryDetails.$(OBJEXT) OutputFile.$(OBJEXT) \ OutputFinalXYZBinPos.$(OBJEXT) OutputFinalXYZBinVel.$(OBJEXT) \ OutputFinalXYZPos.$(OBJEXT) OutputFinalPDBPos.$(OBJEXT) \ OutputFinalXYZVel.$(OBJEXT) OutputMomentum.$(OBJEXT) \ OutputPaulTrap.$(OBJEXT) OutputPDBFramePos.$(OBJEXT) \ OutputScreen.$(OBJEXT) OutputTemperatures.$(OBJEXT) \ OutputXYZTrajectoryForce.$(OBJEXT) \ OutputXYZTrajectoryPos.$(OBJEXT) \ OutputXYZTrajectoryVel.$(OBJEXT) \ TopologyFactoryDetails.$(OBJEXT) buildTopology.$(OBJEXT) \ inputValueDefinitions.$(OBJEXT) parseCommandLine.$(OBJEXT) am__objects_2 = am_libfrontend_a_OBJECTS = $(am__objects_1) $(am__objects_2) libfrontend_a_OBJECTS = $(am_libfrontend_a_OBJECTS) DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(libfrontend_a_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(libfrontend_a_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign framework/frontend/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libfrontend.a: $(libfrontend_a_OBJECTS) $(libfrontend_a_DEPENDENCIES) -rm -f libfrontend.a $(libfrontend_a_AR) libfrontend.a $(libfrontend_a_OBJECTS) $(libfrontend_a_LIBADD) $(RANLIB) libfrontend.a mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/framework/frontend/Output.cpp0100644027616700000500000000521410237151531017632 0ustar pbrenne1dip#include "Output.h" #include "OutputCache.h" #include "Configuration.h" #include "GenericTopology.h" #include "inputValueDefinitions.h" #include "ScalarStructure.h" using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ Output const string Output::scope("Output"); Output::Output():Makeable(), myFirstStep(0), myLastStep(0), myNextStep(0), myFirst(true), myOutputFreq(0), myConfig(NULL), myTopology(NULL), myIntegrator(NULL), myEnergies(NULL), myPositions(NULL), myVelocities(NULL), myCache(NULL){} Output::Output(int freq):Makeable(), myFirstStep(0), myLastStep(0), myNextStep(0), myFirst(true), myOutputFreq(freq), myConfig(NULL), myTopology(NULL), myIntegrator(NULL), myEnergies(NULL), myPositions(NULL), myVelocities(NULL), myCache(NULL){} void Output::initialize(const Configuration* config, const Integrator* integrator, const GenericTopology* topo, const Vector3DBlock* pos, const Vector3DBlock* vel, const ScalarStructure* energies){ myFirst = true; myConfig = config; myTopology = topo; myIntegrator = integrator; myEnergies = energies; myPositions = pos; myVelocities = vel; if(config->valid(InputFirststep::keyword)){ myNextStep = (*config)[InputFirststep::keyword]; myFirstStep = (*config)[InputFirststep::keyword]; myLastStep = myFirstStep; } if(config->valid(InputNumsteps::keyword)){ myLastStep = myLastStep + (*config)[InputNumsteps::keyword].operator int(); } doInitialize(); } void Output::run(int step){ if(step >= myNextStep){ int n = (step - myNextStep)/myOutputFreq; myNextStep += std::max(n,1)*myOutputFreq; if(myEnergies->output()) doRun(step); } myFirst = false; } void Output::finalize(int step){ if(myEnergies->output()) doRun(step); doFinalize(step); } Output* Output::make(string& errMsg, const vector& values) const{ errMsg = ""; if(!checkParameters(errMsg,values)) return NULL; return adjustAlias(doMake(errMsg,values)); } void Output::setCache(const OutputCache* cache){ myCache = cache; } bool Output::isIdDefined(const Configuration* config) const{ if(!addDoKeyword()) return config->valid(getId()); string str("do"+getId()); if(!config->valid(getId()) || config->empty(str)) return false; if(!config->valid(str)) return true; return (bool)(*config)[str]; } } protomol/framework/frontend/Output.h0100644027616700000500000001103010237151531017270 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUT_H #define OUTPUT_H #include "Makeable.h" namespace ProtoMol { class OutputCollection; class OutputCache; class Configuration; class GenericTopology; class ScalarStructure; class Vector3DBlock; class Integrator; //________________________________________________________ Output /** Base class of all Output classes to print output at a given frequency. The actual output frequency is defined by global output frequency times the the frequency of the concrete class. The global output frequency is also used to define the number of steps to run the integrator. It keeps pointers to the topology, positions, velocities, integrator and to a cache object. The cache object provides method the retrieve values such that other output objects can reuse the values rather to recompute them again. Output objects are aggregated in OutputCollection, which invokes them one by one at application level. If you only need to print some output to a file you should rather inherit from OutputFile, then inherit directly from Output. */ class Output : public Makeable { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Output(); Output(int freq); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const Configuration* config, const Integrator* integrator, const GenericTopology* topo, const Vector3DBlock* pos, const Vector3DBlock* vel, const ScalarStructure* energies); ///< To initialize the object, before the simulation starts. void run(int step); //< Called at each step (e.g., printing total energy on the screen), //< takes care of the output frequency. void finalize(int step); //< At the end of the simulation (e.g., writing final positions), and //< calls first run() to ensure that run is called for the last //< step, if needed. Output* make(std::string& errMsg, const std::vector& values) const; ///< Factory method to create a complete output object from its prototype virtual bool isIdDefined(const Configuration* config) const; ///< Should return true if the concrete object is defined/specified in ///< Configuration by the user. Normally if gedId() has a valid value ///< in Configuration. virtual bool addDoKeyword() const{return true;} ///< Defines if the output object supports do to enable or disable ///< the output. void setCache(const OutputCache* cache); ///< Set the cache object, such that not each output object ///< has to re-compute same values of interest. ///< the cache object is shared among all output objects in OutputCollection. int getFirstStep() const {return myFirstStep;} int getLastStep() const {return myLastStep;} int getOutputFreq() const {return myOutputFreq;} int getNext() const {return myNextStep;} bool first() const {return myFirst;} private: virtual void doInitialize()=0; ///< Hook method of initialize, implemented in the concrete class virtual void doRun(int step)=0; ///< Hook method of run, implemented in the concrete class virtual void doFinalize(int step)=0; ///< Hook method of finalize, implemented in the concrete class virtual Output* doMake(std::string& errMsg, const std::vector& values) const=0; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getScope() const{return scope;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string scope; private: int myFirstStep; int myLastStep; int myNextStep; bool myFirst; protected: int myOutputFreq; ///< Output freqeuncy const Configuration* myConfig; const GenericTopology* myTopology; const Integrator* myIntegrator; const ScalarStructure* myEnergies; const Vector3DBlock* myPositions; const Vector3DBlock* myVelocities; const OutputCache* myCache; ///< Pointer to the shared cache object }; } #endif protomol/framework/frontend/OutputCache.cpp0100644027616700000500000002621510237151531020562 0ustar pbrenne1dip#include "OutputCache.h" #include "Output.h" #include "PDB.h" #include "Configuration.h" #include "GenericTopology.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "Integrator.h" #include "Report.h" #include "mathutilities.h" #include "systemutilities.h" #include "topologyutilities.h" #include "pmconstants.h" #include using std::vector; using namespace ProtoMol::Report; namespace ProtoMol { //________________________________________________________ OutputCache OutputCache::OutputCache():myConfig(NULL), myTopology(NULL), myIntegrator(NULL), myEnergies(NULL), myPositions(NULL), myVelocities(NULL), myInitialPositions(new Vector3DBlock()), myDihedralPhi(Constant::REAL_NAN), myDihedralPhis(new vector()), myBrentMaxima(new vector< vector< Real > >()){ uncache(); } OutputCache::~OutputCache(){ if(myInitialPositions != NULL) delete myInitialPositions; if(myDihedralPhis != NULL) delete myDihedralPhis; } void OutputCache::initialize(const Configuration* config, const Integrator* integrator, const GenericTopology* topo, const Vector3DBlock* pos, const Vector3DBlock* vel, const ScalarStructure* energies){ myConfig = config; myTopology = topo; myIntegrator = integrator; myEnergies = energies; myPositions = pos; myVelocities = vel; (*myInitialPositions) = (*pos); } Real OutputCache::totalEnergy() const{ return (potentialEnergy()+kineticEnergy()); } Real OutputCache::potentialEnergy() const{ if(!myCachedPE){ myPE = myEnergies->potentialEnergy(); myCachedPE = true; } return myPE; } Real OutputCache::kineticEnergy() const{ if(!myCachedKE){ myKE = ProtoMol::kineticEnergy(myTopology,myVelocities); myT = ProtoMol::temperature(myKE,myTopology->degreesOfFreedom); myCachedKE = true; } return myKE; } Real OutputCache::temperature() const{ if(!myCachedKE){ myKE = ProtoMol::kineticEnergy(myTopology,myVelocities); myT = ProtoMol::temperature(myKE,myTopology->degreesOfFreedom); myCachedKE = true; } return myT; } Real OutputCache::temperatureForWater() const { if (!myCachedWaterT) { myWaterT = ProtoMol::temperatureForWater(myTopology,myVelocities); myCachedWaterT = true; } return myWaterT; } Real OutputCache::temperatureForNonWater() const { if (!myCachedNonWaterT) { myNonWaterT = ProtoMol::temperatureForNonWater(myTopology,myVelocities); myCachedNonWaterT = true; } return myNonWaterT; } Real OutputCache::molecularTemperature() const{ if(!myCachedMolT){ myMolT = ProtoMol::temperature(molecularKineticEnergy(),3*myTopology->molecules.size()); myCachedMolT = true; } return myMolT; } Real OutputCache::molecularKineticEnergy() const{ if(!myCachedMolKE){ myMolKE = ProtoMol::molecularKineticEnergy(myTopology,myVelocities); myCachedMolKE = true; } return myMolKE; } Real OutputCache::pressure() const{ if(!myCachedP){ if(!myEnergies->virial()) myP = 0.0; else if(volume() > 0.0) myP = ProtoMol::computePressure(myEnergies,volume(),kineticEnergy()); else myP = Constant::REAL_INFINITY; myCachedP = true; } return myP; } Real OutputCache::molecularPressure() const{ if(!myCachedMolP){ if(!myEnergies->molecularVirial()) myMolP = 0.0; else if(volume() > 0.0) myMolP = ProtoMol::computeMolecularPressure(myEnergies,volume(),molecularKineticEnergy()); else myMolP = Constant::REAL_INFINITY; myCachedMolP = true; } return myMolP; } Real OutputCache::volume() const{ if(!myCachedV){ myV = myTopology->getVolume(*myPositions); myCachedV = true; } return myV; } Vector3D OutputCache::linearMomentum() const{ if(!myCachedLinearMomentum){ myLinearMomentum = ProtoMol::linearMomentum(myVelocities,myTopology); myCachedLinearMomentum = true; } return myLinearMomentum; } Vector3D OutputCache::angularMomentum() const{ if(!myCachedAngularMomentum){ myAngularMomentum = ProtoMol::angularMomentum(myPositions,myVelocities,myTopology,OutputCache::centerOfMass()); myCachedAngularMomentum = true; } return myAngularMomentum; } Vector3D OutputCache::centerOfMass() const{ if(!myCachedCenterOfMass){ myCenterOfMass = ProtoMol::centerOfMass(myPositions,myTopology); myCachedCenterOfMass = true; } return myCenterOfMass; } Real OutputCache::diffusion() const{ if(!myCachedDiffusion){ myDiffusion = 0.0; unsigned int numberOfAtoms=myPositions->size(); for(unsigned int i=0;i 0.0 ? (mass()/volume()*Constant::SI::AMU*power<3>(Constant::SI::LENGTH_AA)*1e-3) : Constant::REAL_NAN); myCachedDensity = true; } return myDensity; } Real OutputCache::mass() const{ if(!myCachedMass){ myMass = 0.0; unsigned int numberOfAtoms=myPositions->size(); for(unsigned int i=0;iatoms[i].scaledMass; myCachedMass = true; } return myMass; } Real OutputCache::time() const{ return myTopology->time; } Real OutputCache::dihedralPhi(int index) const{ if(index < 0 || index >= static_cast(myTopology->dihedrals.size())) index = -1; if(index < 0){ myDihedralPhi = Constant::REAL_NAN; myCachedDihedralPhi = index; return myDihedralPhi; } /* if(myCachedDihedralPhi < 0){ myDihedralPhi = computePhiDihedral(myTopology,myPositions,index); } myCachedDihedralPhi = index; */ myDihedralPhi = computePhiDihedral(myTopology,myPositions,index); return myDihedralPhi; } vector OutputCache::dihedralPhis(vector dihedralset) const{ if(!myCachedDihedralPhis){ myDihedralPhis->resize(dihedralset.size()); for(unsigned int i=0;i > OutputCache::brentMaxima(vector dihedralset, bool max) const{ if(!myCachedBrentMaxima){ //The Brent algorithm gets the maxima if maxmin = -1 int maxmin = -1; if (!max) maxmin = 1; myBrentMaxima->clear(); myBrentMaxima->resize(dihedralset.size()); for(unsigned int i=0;i::epsilon()*1.0e-3; Real a,b,d=0.0,etemp,fu,fv,fw,fx; Real p,q,r,tol1,tol2,u,v,w,x,xm; Real e=0.0; //The Brent algorithm gets the maxima if maxmin = -1 int maxmin = -1; if (!max) maxmin = 1; a=(ax < cx ? ax : cx); b=(ax > cx ? ax : cx); x=w=v=bx; fw=fv=fx= maxmin * computePhiDihedralEnergy(myTopology, dihindex, x); for (int iter=0;iter tol1){ r=(x-w)*(fx-fv); q=(x-v)*(fx-fw); p=(x-v)*q-(x-w)*r; q=2.0*(q-r); if (q < 0.0) p=-p; q=fabs(q); etemp=e; e=d; if(fabs(p) >= fabs(0.5*q*etemp) || p <= q*(a-x) || p >= q*(b-x)) d=CGOLD*(e=(x >=xm ? a-x : b-x)); else{ d=p/q; u=x+d; if (u-a < tol2 || b-u < tol2) d=sign(tol1,xm-x); } }else{ d=CGOLD*(e=(x >= xm ? a-x : b-x)); } u=(fabs(d) >= tol1 ? x+d : x+sign(tol1,d)); fu = maxmin * computePhiDihedralEnergy(myTopology, dihindex, u); if (fu <= fx){ if (u >= x) a=x; else b=x; shift(v,w,x,u); shift(fv,fw,fx,fu); }else{ if (u& pdbAtoms){myPDBAtoms = pdbAtoms;} void add(const PSF& psf){myPSF = psf;} void add(const PAR& par){myPAR = par;} void add(const iSGPAR& par){myiSGPAR = par;} Real totalEnergy() const; Real potentialEnergy() const; Real kineticEnergy() const; Real temperature() const; Real temperatureForWater() const; Real temperatureForNonWater() const; Real volume() const; Real time() const; Real pressure() const; Real molecularPressure() const; Real molecularTemperature() const; Real molecularKineticEnergy() const; Vector3D linearMomentum() const; Vector3D angularMomentum() const; Vector3D centerOfMass() const; Real diffusion() const; Real density() const; Real mass() const; Real dihedralPhi(int index) const; Real brent(Real ax, Real bx, Real cx, Real tol, Real &xmin, int dihindex, bool max) const; std::vector dihedralPhis(std::vector) const; std::vector > brentMaxima(std::vector, bool) const; const std::vector& pdb() const {return myPDBAtoms;} const PSF& psf() const {return myPSF;} const PAR& par() const {return myPAR;} const iSGPAR& iSGpar() const {return myiSGPAR;} void uncache() const; ///< To be called before every run() or finialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const Configuration* myConfig; const GenericTopology* myTopology; const Integrator* myIntegrator; const ScalarStructure* myEnergies; const Vector3DBlock* myPositions; const Vector3DBlock* myVelocities; Vector3DBlock* myInitialPositions; // Additional data std::vector myPDBAtoms; PSF myPSF; PAR myPAR; iSGPAR myiSGPAR; mutable bool myCachedKE; mutable Real myKE; mutable Real myT; mutable bool myCachedPE; mutable Real myPE; mutable bool myCachedV; mutable Real myV; mutable bool myCachedP; mutable Real myP; mutable bool myCachedMolP; mutable Real myMolP; mutable bool myCachedLinearMomentum; mutable Vector3D myLinearMomentum; mutable bool myCachedAngularMomentum; mutable Vector3D myAngularMomentum; mutable bool myCachedCenterOfMass; mutable Vector3D myCenterOfMass; mutable bool myCachedDiffusion; mutable Real myDiffusion; mutable bool myCachedDensity; mutable Real myDensity; mutable bool myCachedMass; mutable Real myMass; mutable int myCachedDihedralPhi; mutable Real myDihedralPhi; mutable bool myCachedDihedralPhis; mutable std::vector* myDihedralPhis; mutable bool myCachedBrentMaxima; mutable std::vector< std::vector< Real > >* myBrentMaxima; mutable bool myCachedMolT; mutable Real myMolT; mutable bool myCachedMolKE; mutable Real myMolKE; mutable bool myCachedWaterT; mutable Real myWaterT; mutable bool myCachedNonWaterT; mutable Real myNonWaterT; }; } #endif protomol/framework/frontend/OutputCollection.cpp0100644027616700000500000000371110237151531021646 0ustar pbrenne1dip#include "OutputCollection.h" #include "Output.h" #include "OutputCache.h" #include "Configuration.h" #include "GenericTopology.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "Integrator.h" #include "Report.h" #include "mathutilities.h" #include "topologyutilities.h" namespace ProtoMol { //________________________________________________________ OutputCollection OutputCollection::OutputCollection():myCache(new OutputCache()), myConfig(NULL), myTopology(NULL), myIntegrator(NULL), myEnergies(NULL), myPositions(NULL), myVelocities(NULL){} OutputCollection::~OutputCollection(){ for(iterator i=begin();i!=end();++i) delete (*i); delete myCache; } void OutputCollection::initialize(const Configuration* config, const Integrator* integrator, const GenericTopology* topo, const Vector3DBlock* pos, const Vector3DBlock* vel, const ScalarStructure* energies){ myConfig = config; myTopology = topo; myIntegrator = integrator; myEnergies = energies; myPositions = pos; myVelocities = vel; myCache->initialize(config, integrator, topo, pos, vel, energies); for(iterator i=begin();i!=end();++i) (*i)->initialize(config, integrator, topo, pos, vel, energies); } void OutputCollection::run(int step){ myCache->uncache(); for(iterator i=begin();i!=end();++i) (*i)->run(step); } void OutputCollection::finalize(int step){ myCache->uncache(); for(iterator i=begin();i!=end();++i) (*i)->finalize(step); } void OutputCollection::adoptOutput(Output* output){ if(output != NULL){ output->setCache(myCache); myOutputList.push_back(output); } } int OutputCollection::getNext() const{ int next = Constant::MAX_INT; for(const_iterator i=begin();i!=end();++i) next = std::min((*i)->getNext(),next); return next; } } protomol/framework/frontend/OutputCollection.h0100644027616700000500000000526710237151531021323 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTCOLLECTION_H #define OUTPUTCOLLECTION_H #include #include "OutputCache.h" namespace ProtoMol { class Output; class Configuration; class GenericTopology; class ScalarStructure; class Vector3DBlock; class OutputFactoryDetails; class Integrator; //________________________________________________________ OutputCollection /** Container class for Output objects invoked at application level. Holds a cache object for reuse of values, which need to be computed from volatile values. The cache is cleared before invoking the first Output object. */ class OutputCollection { friend class OutputFactoryDetails; private: typedef std::list Container; typedef std::list::iterator iterator; public: typedef std::list::const_iterator const_iterator; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputCollection(); ~OutputCollection(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class OutputCollection //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void initialize(const Configuration* config, const Integrator* integrator, const GenericTopology* topo, const Vector3DBlock* pos, const Vector3DBlock* vel, const ScalarStructure* energies); ///< Initialize all Output objects void run(int step); ///< Invoke all Output objects with run() void finalize(int step); ///< Finalize all Outout objects int getNext() const; void adoptOutput(Output* output); ///< Add new Output object to the collection template void addToCache(const T& obj){myCache->add(obj);} ///< Add a structure or value to Cache /// Iterators, const const_iterator begin() const {return myOutputList.begin();} const_iterator end() const {return myOutputList.end();} private: /// Iterators iterator begin() {return myOutputList.begin();} iterator end() {return myOutputList.end();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Container myOutputList; OutputCache* myCache; const Configuration* myConfig; const GenericTopology* myTopology; const Integrator* myIntegrator; const ScalarStructure* myEnergies; const Vector3DBlock* myPositions; const Vector3DBlock* myVelocities; }; } #endif protomol/framework/frontend/OutputDCDTrajectory.cpp0100644027616700000500000000371110237151531022214 0ustar pbrenne1dip#include "OutputDCDTrajectory.h" #include "Configuration.h" #include "OutputCache.h" #include "stringutilities.h" #include "GenericTopology.h" #include "DCDTrajectoryWriter.h" #include "inputValueDefinitions.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputDCDTrajectory const string OutputDCDTrajectory::keyword("DCDFile"); OutputDCDTrajectory::OutputDCDTrajectory():Output(),myDCD(NULL){} OutputDCDTrajectory::OutputDCDTrajectory(const string& filename, int freq):Output(freq),myDCD(new DCDTrajectoryWriter(filename)){} OutputDCDTrajectory::~OutputDCDTrajectory(){ if(myDCD != NULL) delete myDCD; } void OutputDCDTrajectory::doInitialize(){ if(myDCD == NULL || !myDCD->open()) report << error <<" Can not open \'"<<(myDCD!=NULL?myDCD->getFilename():"")<<"\' for "<write(*myPositions)) report << error << "Could not write "<getFilename()<<"\'."<close(); } Output* OutputDCDTrajectory::doMake(string&, const vector& values) const{ return (new OutputDCDTrajectory(values[0],values[1])); } void OutputDCDTrajectory::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myDCD!=NULL?myDCD->getFilename():"",ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("DCDOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); } bool OutputDCDTrajectory::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; return checkParameters(values); } } protomol/framework/frontend/OutputDCDTrajectory.h0100644027616700000500000000373110237151531021663 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTDCDTRAJECTORY_H #define OUTPUTDCDTRAJECTORY_H #include "Output.h" namespace ProtoMol { class DCDTrajectoryWriter; //________________________________________________________ OutputDCDTrajectory class OutputDCDTrajectory : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputDCDTrajectory(); OutputDCDTrajectory(const std::string& filename, int freq); virtual ~OutputDCDTrajectory(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 2;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: DCDTrajectoryWriter* myDCD; }; } #endif protomol/framework/frontend/OutputDiffusion.cpp0100644027616700000500000000572110237151531021504 0ustar pbrenne1dip#include "OutputDiffusion.h" #include "GenericTopology.h" #include "topologyutilities.h" #include "OutputCache.h" #include "Integrator.h" #include "inputValueDefinitions.h" #include using namespace ProtoMol::Report; using std::string; using std::vector; using std::setw; using std::endl; using std::flush; using std::stringstream; using std::setprecision; using std::setiosflags; using std::resetiosflags; using std::ofstream; namespace ProtoMol { //________________________________________________________ Output const string OutputDiffusion::keyword("diffusionFile"); OutputDiffusion::OutputDiffusion(): OutputFile(){} OutputDiffusion::OutputDiffusion(const string& filename, int freq): OutputFile(filename,freq){} void OutputDiffusion::doInitialize(){ ofstream diffusionHeaderFile(string(myFilename + ".header").c_str(), std::ios::out | std::ios::trunc); if(!diffusionHeaderFile) report << error <<" Can not open \'"<diffusion()*(first()?0.0:1.0/((step-getFirstStep())*myIntegrator->getTimestep())); myFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(18) << setprecision(2) << setiosflags(std::ios::showpoint | std::ios::fixed) << myCache->time() << " " << resetiosflags(std::ios::showpoint | std::ios::fixed) << setiosflags(std::ios::floatfield) << setprecision(8) << setw(24) << diffusion << " " << setw(14) << myCache->volume()<< " " << setw(14) << myCache->temperature() << " " << setw(14) << myCache->density(); myFile << endl; reclose(); } void OutputDiffusion::doFinalize(int){ close(); } Output* OutputDiffusion::doMake(string&, const vector& values) const{ return (new OutputDiffusion(values[0],values[1])); } void OutputDiffusion::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("diffusionOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); } bool OutputDiffusion::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; return checkParameters(values); } } protomol/framework/frontend/OutputDiffusion.h0100644027616700000500000000372310237151531021151 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTDIFFUSION_H #define OUTPUTDIFFUSION_H #include "OutputFile.h" #include "Vector3DBlock.h" namespace ProtoMol { //________________________________________________________ OutputDiffusion /** Writes the diffusion coefficient to a file at given freqeuncy. */ class OutputDiffusion : public OutputFile { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputDiffusion(); OutputDiffusion(const std::string& filename, int freq); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 2;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: }; } #endif protomol/framework/frontend/OutputDihedrals.cpp0100644027616700000500000004332310237151531021455 0ustar pbrenne1dip#include "OutputDihedrals.h" #include "GenericTopology.h" #include "topologyutilities.h" #include "OutputCache.h" #include "DCDTrajectoryWriter.h" #include "inputValueDefinitions.h" #include #include using namespace ProtoMol::Report; using std::string; using std::vector; using std::set; using std::setw; using std::endl; using std::flush; using std::stringstream; using std::setprecision; using std::setiosflags; using std::resetiosflags; using std::ofstream; using std::ifstream; #define DEBUG_OUTPUTDIHEDRALS namespace ProtoMol { //________________________________________________________ Output const string OutputDihedrals::keyword("dihedralsFile"); OutputDihedrals::OutputDihedrals(): OutputFile(), myDihedralIndex(-1), myDihedralsSet(-1), myDCD(NULL){} OutputDihedrals::OutputDihedrals(const string& filename, int freq, int index, bool dihset, std::string dsetfile): OutputFile(filename,freq), myDihedralIndex(index), myDihedralsSet(dihset), myDihedralsSetfile(dsetfile), myDCD(NULL){} OutputDihedrals::~OutputDihedrals(){ if(myDCD != NULL) delete myDCD; myDCD = NULL; } void OutputDihedrals::doInitialize(){ if(myDihedralIndex < 0 || myDihedralIndex >= static_cast(myTopology->dihedrals.size())){ report << error << "[OutputDihedrals::doInitialize] Dihedral index "<dihedrals.size()-1<<"]."<> tempdihedral) myDihedrals.push_back(tempdihedral); } else { myDihedrals.push_back(myDihedralIndex); } // Calculate the location of energy maximas for each dihedral myMaximas = myCache->brentMaxima(myDihedrals, true); myMinimas = myCache->brentMaxima(myDihedrals, false); dihedralsHeaderFile.close(); //getbackbonedihedrals(); //Use this function as needed to get approximate backbone dihedral set //getdihedralsfromatomset(); //Use this function to get dihedrals based on an atom set open(); close(); } // The run function outputs the dihedral values and computes the conformation strings // utilizing calls to Brent Maxima finding functions in the Output Cache. // Unique Conf Strings and their respective DCDs are stored void OutputDihedrals::doRun(int){ unsigned int old_confstrings_size = 0; if(!reopen()) report << error <<" Can not open \'"< dihedrals = myCache->dihedralPhis(myDihedrals); Real tempdihedral = 1.0; // This starts the dihedral value output file. The dihedral values output code is further // down the page within a loop which iterates through the dihedrals myFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(12) << setprecision(2) << setiosflags(std::ios::showpoint |std::ios::fixed) << myCache->time() << " "; //This section assigns the conformation string at each time step if ( dihedrals.size() != myMaximas.size()) report << error << "ERROR - SIZES DON'T MATCH" << endr; std::vector< std::vector< Real > >::iterator maximaset_itr = myMaximas.begin(); int dihedralindex = 0; const string mycharacters("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); for(std::vector::iterator dihedral_itr = dihedrals.begin(); dihedral_itr != (dihedrals.end()); ++dihedral_itr) { tempdihedral = *dihedral_itr; if(tempdihedral < 0.0) { tempdihedral = 2.0*M_PI + tempdihedral; } std::vector::iterator maxima_itr = maximaset_itr->begin(); int j = 0; while ( (maxima_itr != maximaset_itr->end() ) && (tempdihedral > (*maxima_itr)) ) { maxima_itr++; j++; } // if the dihedral value is greater than each of the maxima if (maxima_itr == maximaset_itr->end()) j = 0; if(j < 26){ conformstring += mycharacters[j]; } else{ conformstring += '!'; } //outputs the dihedral values if the dihedral set is small ( <=50 ) if(dihedrals.size() <= 50) { myFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(8) << setprecision(2) << setiosflags(std::ios::showpoint |std::ios::fixed) << myDihedrals[dihedralindex] << " " << tempdihedral << " " << computePhiDihedralEnergy(myTopology,myDihedrals[dihedralindex],tempdihedral); } maximaset_itr++; dihedralindex++; } //insert string into set to establish uniqueness old_confstrings_size = myConfstrings.size(); myConfstrings.insert(conformstring); //if the string was unique store it's DCD if((myConfstrings.size()) > old_confstrings_size) { confstrings.push_back(conformstring); confstringsCounter.push_back(1); if(myDCD == NULL) myDCD = new DCDTrajectoryWriter(string(myFilename + ".dcds").c_str()); if(!myDCD->write(*myPositions)) report << error << "Could not write "<getFilename()<<"\'."< >::iterator myMaximaSetItr = myMaximas.begin(); myMaximaSetItr != myMaximas.end(); ++myMaximaSetItr) { confstringsFile << "Dihedral Index: " << myDihedrals[maxcounter] << " angles: "; for (std::vector < Real >::iterator myMaximasItr = (*myMaximaSetItr).begin(); myMaximasItr != (*myMaximaSetItr).end(); ++myMaximasItr) { confstringsFile <<" "<<*myMaximasItr<<" "; } confstringsFile << endl << endl; maxcounter++; } confstringsFile << "The dihedral angles for which dihedral energy minima are found" << endl << "Used to identify potential rotamer values" << endl; int mincounter = 0; for (std::vector< vector < Real > >::iterator myMinimaSetItr = myMinimas.begin(); myMinimaSetItr != myMinimas.end(); ++myMinimaSetItr) { confstringsFile << "Dihedral Index: " << myDihedrals[mincounter] << " angles: "; for (std::vector < Real >::iterator myMinimasItr = (*myMinimaSetItr).begin(); myMinimasItr != (*myMinimaSetItr).end(); ++myMinimasItr) { confstringsFile <<" "<<*myMinimasItr<<" "; } confstringsFile << endl << endl; mincounter++; } for (unsigned int i = 0; i < confstrings.size(); i++) confstringsFile << "String " << confstrings[i] <<" occurred a total of " << confstringsCounter[i] <<" times" << endl; confstringsFile << endl << "The conformation strings" << endl; for(std::set::iterator conf_itr = myConfstrings.begin(); conf_itr != (myConfstrings.end()); conf_itr++){ confstringsFile << *conf_itr << endl; } confstringsFile.close(); close(); } /** This function can be used to get an approximate set of backbone dihedrals * based on the weights of the atoms in each dihedral. The function can be called during * initialization by uncommenting the call and recompiling */ void OutputDihedrals::getbackbonedihedrals(){ ofstream heavydihedralsFile(string(myFilename + ".backdih").c_str(), std::ios::out | std::ios::trunc); if(!heavydihedralsFile) report << error <<" Can not open \'"<dihedrals.size();i++){ int atom1index = myTopology->dihedrals[i].atom1; int atom2index = myTopology->dihedrals[i].atom2; int atom3index = myTopology->dihedrals[i].atom3; int atom4index = myTopology->dihedrals[i].atom4; int atom1type = myTopology->atoms[atom1index].type; int atom2type = myTopology->atoms[atom2index].type; int atom3type = myTopology->atoms[atom3index].type; int atom4type = myTopology->atoms[atom4index].type; Real atom1mass = myTopology->atoms[atom1index].scaledMass; Real atom2mass = myTopology->atoms[atom2index].scaledMass; Real atom3mass = myTopology->atoms[atom3index].scaledMass; Real atom4mass = myTopology->atoms[atom4index].scaledMass; string atom1name = myTopology->atomTypes[atom1type].name; string atom2name = myTopology->atomTypes[atom2type].name; string atom3name = myTopology->atomTypes[atom3type].name; string atom4name = myTopology->atomTypes[atom4type].name; //heavydihedralsFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) // << atom1mass << " " << atom2mass << " " << atom3mass << " " << atom4mass // << endl; if((atom1mass > 12) && (atom1mass < 12.05)){ if((atom2mass > 12) && (atom2mass < 12.05)){ if((atom3mass > 14) && (atom3mass < 14.1)){ if((atom4mass > 12) && (atom4mass < 12.05)){ heavydihedralsFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(8) << i #ifdef DEBUG_OUTPUTDIHEDRALS << " " << atom1name << " " << atom2name << " " << atom3name << " " << atom4name #endif //<< " " << atom1mass << " " << atom2mass << " " << atom3mass << " " << atom4mass << endl; } } } } if((atom1mass > 12) && (atom1mass < 12.05)){ if((atom2mass > 12) && (atom2mass < 12.05)){ if((atom3mass > 14) && (atom3mass < 14.1)){ if((atom4mass > 12) && (atom4mass < 12.05)){ heavydihedralsFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(8) << i #ifdef DEBUG_OUTPUTDIHEDRALS << " " << atom1name << " " << atom2name << " " << atom3name << " " << atom4name #endif //<< " " << atom1mass << " " << atom2mass << " " << atom3mass << " " << atom4mass << endl; } } } } if((atom1mass > 14) && (atom1mass < 14.1)){ if((atom2mass > 12) && (atom2mass < 12.05)){ if((atom3mass > 12) && (atom3mass < 12.05)){ if((atom4mass > 14) && (atom4mass < 14.1)){ heavydihedralsFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(8) << i #ifdef DEBUG_OUTPUTDIHEDRALS << " " << atom1name << " " << atom2name << " " << atom3name << " " << atom4name #endif // << " " << atom1mass << " " << atom2mass << " " << atom3mass << " " << atom4mass << endl; } } } } } heavydihedralsFile.close(); } /** This function can be used to get an accurate set of backbone dihedrals * given an accurate set of atom indices which make up the backbone. * The function can be called during initialization by uncommenting the call and recompiling. * The name of the file with atom indices must be atomset.txt as it is currently hardcoded. */ void OutputDihedrals::getdihedralsfromatomset(){ std::set< int > myAtomSet; // set structure to hold the atom indices from select protein components ifstream atomSetInput(string("atomset.txt").c_str(), std::ios::in); if(!atomSetInput) report << error <<" Could not open atomset.txt for "<> tempatom) myAtomSet.insert(tempatom); ofstream selDihedralsFile(string(myFilename + ".selDih").c_str(), std::ios::out | std::ios::trunc); if(!selDihedralsFile) report << error <<" Can not open \'"<::iterator myAtomSet_itr1 = NULL; std::set< int >::iterator myAtomSet_itr2 = NULL; std::set< int >::iterator myAtomSet_itr3 = NULL; std::set< int >::iterator myAtomSet_itr4 = NULL; for(unsigned int i=0; i < myTopology->dihedrals.size();i++){ atom1index = myTopology->dihedrals[i].atom1; atom2index = myTopology->dihedrals[i].atom2; atom3index = myTopology->dihedrals[i].atom3; atom4index = myTopology->dihedrals[i].atom4; myAtomSet_itr1 = myAtomSet.find(atom1index); myAtomSet_itr2 = myAtomSet.find(atom2index); myAtomSet_itr3 = myAtomSet.find(atom3index); myAtomSet_itr4 = myAtomSet.find(atom4index); atom1type = myTopology->atoms[atom1index].type; atom2type = myTopology->atoms[atom2index].type; atom3type = myTopology->atoms[atom3index].type; atom4type = myTopology->atoms[atom4index].type; atom1name = myTopology->atomTypes[atom1type].name; atom2name = myTopology->atomTypes[atom2type].name; atom3name = myTopology->atomTypes[atom3type].name; atom4name = myTopology->atomTypes[atom4type].name; // This check makes sure that only dihedrals are selected which have atoms in atomset if( (myAtomSet_itr1 != myAtomSet.end()) && (myAtomSet_itr2 != myAtomSet.end()) && (myAtomSet_itr3 != myAtomSet.end()) && (myAtomSet_itr4 != myAtomSet.end()) ){ // This check was added to remove the omega backbone dihedrals if( !(atom1name == "CH1E") ){ selDihedralsFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << i << endl; #ifdef DEBUG_OUTPUTDIHEDRALS std::cout << "dihedral index: " << setw(3) << i << " atom1: " << setw(3) << atom1index << " " << setw(5) << atom1name << " atom2: " << setw(3) << atom2index << " " << setw(5) << atom2name << " atom3: " << setw(3) << atom3index << " " << setw(5) << atom3name << " atom4: " << setw(3) << atom4index << " " << setw(5) << atom4name << endl; #endif } } } selDihedralsFile.close(); } Output* OutputDihedrals::doMake(std::string& , const std::vector& values) const{ return (new OutputDihedrals(values[0],values[1],values[2],values[3],values[4])); } void OutputDihedrals::getParameters(std::vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("dihedralsOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); parameter.push_back(Parameter("dihedralsIndex",Value(myDihedralIndex,ConstraintValueType::NotNegative()))); parameter.push_back(Parameter("dihedralsSet",Value(myDihedralsSet),false)); parameter.push_back(Parameter("dihedralsSetfile",Value(myDihedralsSetfile,ConstraintValueType::NotEmpty()))); } bool OutputDihedrals::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; if(!values[2].valid()){ string str; stringstream ss(config->get(InputIntegrator::keyword).getString()); while(ss >> str){ int index = -1; if(equalNocase(str,"dihedralsIndex") && ss >> index){ if(index >= 0){ values[2] = index; break; } } } } return checkParameters(values); } } protomol/framework/frontend/OutputDihedrals.h0100644027616700000500000000552610237151531021125 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTDIHEDRALS_H #define OUTPUTDIHEDRALS_H #include #include #include #include #include "OutputFile.h" #include "Vector3DBlock.h" namespace ProtoMol { class DCDTrajectoryWriter; //________________________________________________________ OutputDihedrals /** Writes the dihedral values to a file at given freqeuncy. */ class OutputDihedrals : public OutputFile { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputDihedrals(); OutputDihedrals(const std::string& filename, int freq, int index, bool dihset, std::string dsetfile); ~OutputDihedrals(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class OutputDihedrals //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void getbackbonedihedrals(); /** * PRB Feb05 * This function takes in a set of atom indices for select protein structures (backbone, alpha helix, etc...) * and returns the Protomol indices for the matching dihedrals !the method may return extra dihedrals! */ void getdihedralsfromatomset(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 5;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: int myDihedralIndex; bool myDihedralsSet; std::string myDihedralsSetfile; std::vector< int > myDihedrals; std::vector< std::vector< Real > > myMaximas; std::vector< std::vector< Real > > myMinimas; std::set< std::string > myConfstrings; DCDTrajectoryWriter* myDCD; std::vector< std::string > confstrings; std::vector< int > confstringsCounter; }; } #endif protomol/framework/frontend/OutputEnergies.cpp0100644027616700000500000001160510237151531021315 0ustar pbrenne1dip#include "OutputEnergies.h" #include "Configuration.h" #include "GenericTopology.h" #include "ScalarStructure.h" #include "topologyutilities.h" #include "OutputCache.h" #include "inputValueDefinitions.h" #include using namespace ProtoMol::Report; using std::string; using std::vector; using std::setw; using std::endl; using std::flush; using std::setprecision; using std::setiosflags; using std::resetiosflags; using std::ofstream; namespace ProtoMol { //________________________________________________________ Output const string OutputEnergies::keyword("allEnergiesFile"); OutputEnergies::OutputEnergies():OutputFile(),myDoMolecularTemperature(false),myDoShadow(false){} OutputEnergies::OutputEnergies(const string& filename, int freq, bool doMolTemp, bool doShadow):OutputFile(filename,freq),myDoMolecularTemperature(doMolTemp),myDoShadow(doShadow){} void OutputEnergies::doInitialize(){ ofstream allEnergiesHeaderFile(string(myFilename + ".header").c_str(), std::ios::out | std::ios::trunc); if(!allEnergiesHeaderFile) report << error <<" Can not open \'"<virial()) allEnergiesHeaderFile << setw(14) << "Pressure(bar)" << " "; if(myEnergies->molecularVirial()) allEnergiesHeaderFile << setw(14) << "Mol_Pres(bar)" << " "; if(myDoMolecularTemperature) allEnergiesHeaderFile << setw(14) << "Mol_Temp(K)" << " "; allEnergiesHeaderFile << setw(14) << "Volume(A^3)" << " "; if(myDoShadow) allEnergiesHeaderFile << setw(14) << "E_shadow"; allEnergiesHeaderFile << endl; allEnergiesHeaderFile.close(); open(); close(); } void OutputEnergies::doRun(int){ if(!reopen()) report << error <<" Can not open \'"<time() << " " << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setiosflags(std::ios::floatfield) << setprecision(8) << setw(14) << myCache->potentialEnergy() << " " << setw(14) << myCache->kineticEnergy() << " " << setw(14) << myCache->totalEnergy() << " " << setw(14) << myCache->temperature() << " " << setw(14) << (*myEnergies)[ScalarStructure::BOND] << " " << setw(14) << (*myEnergies)[ScalarStructure::ANGLE] << " " << setw(14) << (*myEnergies)[ScalarStructure::DIHEDRAL] << " " << setw(14) << (*myEnergies)[ScalarStructure::IMPROPER] << " " << setw(14) << (*myEnergies)[ScalarStructure::LENNARDJONES] << " " << setw(14) << (*myEnergies)[ScalarStructure::COULOMB] << " " << setw(14) << (*myEnergies)[ScalarStructure::OTHER]<< " "; if(myEnergies->virial()) myFile << setw(14) << myCache->pressure(); if(myEnergies->molecularVirial()) myFile << setw(14) << myCache->molecularPressure(); if(myDoMolecularTemperature) myFile << setw(14) << myCache->molecularTemperature(); myFile << setw(14) << myCache->volume(); if(myDoShadow) myFile << setw(14) << (*myEnergies)[ScalarStructure::SHADOW] ; myFile<< endl; reclose(); } void OutputEnergies::doFinalize(int){ close(); } Output* OutputEnergies::doMake(string&, const vector& values) const{ return (new OutputEnergies(values[0],values[1],values[2],values[3])); } void OutputEnergies::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("energiesOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); parameter.push_back(Parameter("molecularTemperature",Value(myDoMolecularTemperature),false)); parameter.push_back(Parameter("shadowEnergy",Value(myDoShadow),false)); } bool OutputEnergies::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; return checkParameters(values); } } protomol/framework/frontend/OutputFactory.h0100644027616700000500000000030210237151531020620 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTFACTORY_H #define OUTPUTFACTORY_H #include "OutputFactoryDetails.h" namespace ProtoMol { typedef Factory OutputFactory; } #endif /* OUTPUTFACTORY_H */ protomol/framework/frontend/OutputEnergies.h0100644027616700000500000000366710237151531020773 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTENERGIES_H #define OUTPUTENERGIES_H #include "OutputFile.h" namespace ProtoMol { //________________________________________________________ OutputEnergies class OutputEnergies : public OutputFile { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputEnergies(); OutputEnergies(const std::string& filename, int freq, bool doMolTemp, bool doShadow); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 4;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: bool myDoMolecularTemperature; bool myDoShadow; }; } #endif protomol/framework/frontend/OutputFactoryDetails.cpp0100644027616700000500000001370510237151531022474 0ustar pbrenne1dip#include "OutputFactoryDetails.h" #include "OutputCollection.h" #include "Configuration.h" #include "stringutilities.h" #include "OutputFile.h" #include "HelpTextFactory.h" #include using std::copy; using std::sort; using std::vector; using std::map; using std::set; using std::string; using std::stringstream; using namespace ProtoMol::Report; namespace ProtoMol { //_____________________________________________________ OutputFactoryDetails OutputFactoryDetails::OutputFactoryDetails():FactoryBase(){ //report << plain <<"[OutputFactoryDetails::OutputFactoryDetails()]"<< endr; } OutputFactoryDetails::~OutputFactoryDetails(){ //report << plain <<"[OutputFactoryDetails::~OutputFactoryDetails()]"<< endr; } OutputFactoryDetails::OutputFactoryDetails(const OutputFactoryDetails&){} OutputFactoryDetails& OutputFactoryDetails::operator=(const OutputFactoryDetails&){return *this;} void OutputFactoryDetails::registerAllExemplarsConfiguration(Configuration* config){ TFactory::instance().doRegisterAllExemplarsConfiguration(config); } void OutputFactoryDetails::doRegisterAllExemplarsConfiguration(Configuration* config) const { for(set::const_iterator i=myPointers.begin();i != myPointers.end();++i){ const Output* prototype = (*i); vector parameter(prototype->getParameters()); for(unsigned int i=0;iregisterKeyword(parameter[i].keyword,parameter[i].defaultValue); if(prototype->addDoKeyword()) config->registerKeyword("do"+prototype->getId(),Value(true,Value::undefined)); } } Output* OutputFactoryDetails::make(string& errMsg, const string& id, const vector& values){ return TFactory::instance().doMake(errMsg,id,values); } Output* OutputFactoryDetails::doMake(string& errMsg, const string& id, const vector& values) const{ errMsg = ""; // Find prototype const Output* prototype = getPrototype(id); if(prototype == NULL){ errMsg += " Could not find any match for \'"+id+"\' in "+Output::scope+"Factory. Possible outputs are:\n"+doPrint(); return NULL; } // Make Output* newObj = prototype->make(errMsg,values); if(newObj == NULL) return NULL; // Adjust external alias newObj->setAlias(id); return newObj; } OutputCollection* OutputFactoryDetails::makeCollection(string& errMsg, const Configuration* config){ return TFactory::instance().doMakeCollection(errMsg,config); } OutputCollection* OutputFactoryDetails::doMakeCollection(string& errMsg, const Configuration* config) const{ errMsg = ""; OutputCollection* res = new OutputCollection(); for(Configuration::const_iterator i=config->begin();i != config->end();++i){ if((*i).second.valid()){ const Output* prototype = getPrototype((*i).first); if(prototype != NULL){ if(prototype->isIdDefined(config)){ vector parameter(prototype->getParameters()); vector values(parameter.size()); for(unsigned int k=0;kvalid(parameter[k].keyword) && !(parameter[k].keyword.empty())){ values[k].set((*config)[parameter[k].keyword]); } else if(parameter[k].defaultValue.valid()){ values[k].set(parameter[k].defaultValue); } else { values[k] = parameter[k].value; values[k].clear(); } } if(!prototype->checkParameters(values)) prototype->adjustWithDefaultParameters(values,config); if(prototype->checkParameters(errMsg,values)){ string err; res->adoptOutput(doMake(err,(*i).first,values)); errMsg += err; } } } } } return res; } string OutputFactoryDetails::doPrint()const{ string res; for( map::const_iterator i=myExemplars.begin();i != myExemplars.end();++i){ res += (i==myExemplars.begin()?"":"\n")+i->first; vector parameter(i->second->getParameters()); for(unsigned int k=0;k::const_iterator j=myAliasExemplars.begin();j != myAliasExemplars.end();++j) res += "\n"+j->first+" : "+j->second->getId()+" ("+j->second->getIdNoAlias()+")"; return res; } void OutputFactoryDetails::doRegisterHelpText() const{ for( map::const_iterator i=myExemplars.begin();i != myExemplars.end();++i){ HelpText helpText; i->second->getParameters(helpText.parameters); helpText.id = i->second->getIdNoAlias(); helpText.text = i->second->getText(); helpText.scope = i->second->getScope(); if(i->second->addDoKeyword()){ helpText.parameters.push_back(Parameter("do"+i->second->getId(),Value(true,Value::undefined),Text("flag to switch on/off the output"))); } HelpTextFactory::registerExemplar(i->second->getId(),helpText); helpText.text = string("a parameter of "+i->second->getId()); for(unsigned int j=0;jsecond->getId(),helpText.parameters[j].keyword)){ HelpTextFactory::registerExemplar(helpText.parameters[j].keyword,helpText); } } HelpText alias; alias.text = "alias for \'"+i->second->getId()+"\'"; alias.scope = i->second->getScope(); for( map::const_iterator j=myAliasExemplars.begin();j != myAliasExemplars.end();++j){ if(j->second->getIdNoAlias() == i->second->getIdNoAlias()){ alias.id = j->first; HelpTextFactory::registerExemplar(alias.id,alias); } } } } } protomol/framework/frontend/OutputFactoryDetails.h0100644027616700000500000000455710237151531022146 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTFACTORYDETAILS_H #define OUTPUTFACTORYDETAILS_H #include "Factory.h" #include "Output.h" #include "Value.h" namespace ProtoMol { class OutputFactoryDetails; class OutputCollection; //_____________________________________________________ FactoryTraits template <> class FactoryTraits { public: typedef OutputFactoryDetails Details; }; //_____________________________________________________ OutputFactoryDetails class OutputFactoryDetails : public FactoryBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef Factory TFactory; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: OutputFactoryDetails(); virtual ~OutputFactoryDetails(); private: OutputFactoryDetails(const OutputFactoryDetails&); OutputFactoryDetails& operator=(const OutputFactoryDetails&); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From FactoryBase //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual std::string doPrint()const; virtual void doRegisterHelpText() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class DetailsOutputFactory //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static void registerAllExemplarsConfiguration(Configuration* config); static Output* make(std::string& errMsg, const std::string& id, const std::vector& values); static OutputCollection* makeCollection(std::string& errMsg, const Configuration* config); private: void doRegisterAllExemplarsConfiguration(Configuration* config) const; Output* doMake(std::string& errMsg, const std::string& id, const std::vector& values) const; OutputCollection* doMakeCollection(std::string& errMsg, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // private data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ }; } #endif /* OUTPUTFACTORYDETAILS_H */ protomol/framework/frontend/OutputFile.cpp0100644027616700000500000000167410237151531020440 0ustar pbrenne1dip#include "OutputFile.h" #include "Configuration.h" using namespace ProtoMol::Report; using std::string; namespace ProtoMol { //________________________________________________________ Output OutputFile::OutputFile():Output(),myFilename(""){} OutputFile::OutputFile(const string& filename, int freq):Output(freq),myFilename(filename){} OutputFile::~OutputFile(){ close(); } bool OutputFile::open(){ myFile.open(myFilename.c_str(), std::ios::out|std::ios::trunc); if(myFile) return true; else return false; } bool OutputFile::reopen(){ myFile.open(myFilename.c_str(), std::ios::out |std::ios::app); if(myFile) return true; else return false; } bool OutputFile::close(){ myFile.close(); if(myFile) return true; else return false; } bool OutputFile::reclose(){ myFile.close(); if(myFile) return true; else return false; } } protomol/framework/frontend/OutputFile.h0100644027616700000500000000237510237151531020104 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTFILE_H #define OUTPUTFILE_H #include "Output.h" #include namespace ProtoMol { class Configuration; //________________________________________________________ OutputFile class OutputFile : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputFile(); OutputFile(const std::string& filename, int freq); virtual ~OutputFile(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class OutputFile //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: bool open(); bool reopen(); bool close(); bool reclose(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: std::string myFilename; std::ofstream myFile; }; } #endif protomol/framework/frontend/OutputFinalPDBPos.cpp0100644027616700000500000000242410237151531021614 0ustar pbrenne1dip#include "OutputFinalPDBPos.h" #include "Configuration.h" #include "OutputCache.h" #include "stringutilities.h" #include "GenericTopology.h" #include "PDBWriter.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputFinalPDBPos const string OutputFinalPDBPos::keyword("finPDBPosFile"); OutputFinalPDBPos::OutputFinalPDBPos():Output(1),myFilename(""){} OutputFinalPDBPos::OutputFinalPDBPos(const string& filename):Output(1),myFilename(filename){} void OutputFinalPDBPos::doFinalize(int step){ PDBWriter writer; if(!writer.open(myFilename)) report << error << "Can't open "<time())+", step : "+toString(step)+"."); if(!writer.write(*myPositions, myCache->pdb())) report << error << "Could not write "<& values) const{ return (new OutputFinalPDBPos(values[0])); } void OutputFinalPDBPos::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); } } protomol/framework/frontend/OutputFinalPDBPos.h0100644027616700000500000000344110237151531021261 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTFINALPDBPOS_H #define OUTPUTFINALPDBPOS_H #include "Output.h" namespace ProtoMol { class Configuration; //________________________________________________________ OutputFinalPDBPos class OutputFinalPDBPos : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputFinalPDBPos(); OutputFinalPDBPos(const std::string& filename); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(){}; virtual void doRun(int){}; virtual void doFinalize(int); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 1;} virtual void getParameters(std::vector ¶meter) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: std::string myFilename; }; } #endif protomol/framework/frontend/OutputFinalXYZBinPos.cpp0100644027616700000500000000223010237151531022325 0ustar pbrenne1dip#include "OutputFinalXYZBinPos.h" #include "Configuration.h" #include "GenericTopology.h" #include "XYZBinWriter.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputFinalXYZBinPos const string OutputFinalXYZBinPos::keyword("finXYZBinPosFile"); OutputFinalXYZBinPos::OutputFinalXYZBinPos():Output(1),myFilename(""){} OutputFinalXYZBinPos::OutputFinalXYZBinPos(const string& filename):Output(1),myFilename(filename){} void OutputFinalXYZBinPos::doFinalize(int){ XYZBinWriter writer; if(!writer.open(myFilename)) report << error << "Can't open "<& values) const{ return (new OutputFinalXYZBinPos(values[0])); } void OutputFinalXYZBinPos::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); } } protomol/framework/frontend/OutputFinalXYZBinPos.h0100644027616700000500000000347010237151531022001 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTFINALXYZBINPOS_H #define OUTPUTFINALXYZBINPOS_H #include "Output.h" namespace ProtoMol { class Configuration; //________________________________________________________ OutputFinalXYZBinPos class OutputFinalXYZBinPos : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputFinalXYZBinPos(); OutputFinalXYZBinPos(const std::string& filename); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(){}; virtual void doRun(int){}; virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 1;} virtual void getParameters(std::vector ¶meter) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: std::string myFilename; }; } #endif protomol/framework/frontend/OutputFinalXYZBinVel.cpp0100644027616700000500000000223110237151531022313 0ustar pbrenne1dip#include "OutputFinalXYZBinVel.h" #include "Configuration.h" #include "GenericTopology.h" #include "XYZBinWriter.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputFinalXYZBinVel const string OutputFinalXYZBinVel::keyword("finXYZBinVelFile"); OutputFinalXYZBinVel::OutputFinalXYZBinVel():Output(1),myFilename(""){} OutputFinalXYZBinVel::OutputFinalXYZBinVel(const string& filename):Output(1),myFilename(filename){} void OutputFinalXYZBinVel::doFinalize(int){ XYZBinWriter writer; if(!writer.open(myFilename)) report << error << "Can't open "<& values) const{ return (new OutputFinalXYZBinVel(values[0])); } void OutputFinalXYZBinVel::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); } } protomol/framework/frontend/OutputFinalXYZBinVel.h0100644027616700000500000000347010237151531021766 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTFINALXYZBINVEL_H #define OUTPUTFINALXYZBINVEL_H #include "Output.h" namespace ProtoMol { class Configuration; //________________________________________________________ OutputFinalXYZBinVel class OutputFinalXYZBinVel : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputFinalXYZBinVel(); OutputFinalXYZBinVel(const std::string& filename); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(){}; virtual void doRun(int){}; virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 1;} virtual void getParameters(std::vector ¶meter) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: std::string myFilename; }; } #endif protomol/framework/frontend/OutputFinalXYZPos.cpp0100644027616700000500000000245410237151531021704 0ustar pbrenne1dip#include "OutputFinalXYZPos.h" #include "Configuration.h" #include "OutputCache.h" #include "stringutilities.h" #include "GenericTopology.h" #include "XYZWriter.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputFinalXYZPos const string OutputFinalXYZPos::keyword("finXYZPosFile"); OutputFinalXYZPos::OutputFinalXYZPos():Output(1),myFilename(""){} OutputFinalXYZPos::OutputFinalXYZPos(const string& filename):Output(1),myFilename(filename){} void OutputFinalXYZPos::doFinalize(int step){ XYZWriter writer; if(!writer.open(myFilename)) report << error << "Can't open "<time())+", step : "+toString(step)+"."); if(!writer.write(*myPositions,myTopology->atoms,myTopology->atomTypes)) report << error << "Could not write "<& values) const{ return (new OutputFinalXYZPos(values[0])); } void OutputFinalXYZPos::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); } } protomol/framework/frontend/OutputFinalXYZPos.h0100644027616700000500000000344110237151531021346 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTFINALXYZPOS_H #define OUTPUTFINALXYZPOS_H #include "Output.h" namespace ProtoMol { class Configuration; //________________________________________________________ OutputFinalXYZPos class OutputFinalXYZPos : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputFinalXYZPos(); OutputFinalXYZPos(const std::string& filename); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(){}; virtual void doRun(int){}; virtual void doFinalize(int); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 1;} virtual void getParameters(std::vector ¶meter) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: std::string myFilename; }; } #endif protomol/framework/frontend/OutputFinalXYZVel.cpp0100644027616700000500000000245510237151531021672 0ustar pbrenne1dip#include "OutputFinalXYZVel.h" #include "Configuration.h" #include "OutputCache.h" #include "stringutilities.h" #include "GenericTopology.h" #include "XYZWriter.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputFinalXYZVel const string OutputFinalXYZVel::keyword("finXYZVelFile"); OutputFinalXYZVel::OutputFinalXYZVel():Output(1),myFilename(""){} OutputFinalXYZVel::OutputFinalXYZVel(const string& filename):Output(1),myFilename(filename){} void OutputFinalXYZVel::doFinalize(int step){ XYZWriter writer; if(!writer.open(myFilename)) report << error << "Can't open "<time())+", step : "+toString(step)+"."); if(!writer.write(*myVelocities,myTopology->atoms,myTopology->atomTypes)) report << error << "Could not write "<& values) const{ return (new OutputFinalXYZVel(values[0])); } void OutputFinalXYZVel::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); } } protomol/framework/frontend/OutputFinalXYZVel.h0100644027616700000500000000344610237151531021340 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTFINALXYZVEL_H #define OUTPUTFINALXYZVEL_H #include "Output.h" namespace ProtoMol { class Configuration; //________________________________________________________ OutputFinalXYZVel class OutputFinalXYZVel : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputFinalXYZVel(); OutputFinalXYZVel(const std::string& filename); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(){}; virtual void doRun(int){}; virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 1;} virtual void getParameters(std::vector ¶meter) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: std::string myFilename; }; } #endif protomol/framework/frontend/OutputMomentum.cpp0100644027616700000500000000612210237151531021353 0ustar pbrenne1dip#include "OutputMomentum.h" #include "GenericTopology.h" #include "topologyutilities.h" #include "OutputCache.h" #include "inputValueDefinitions.h" #include using namespace ProtoMol::Report; using std::string; using std::vector; using std::setw; using std::endl; using std::flush; using std::stringstream; using std::setprecision; using std::setiosflags; using std::resetiosflags; using std::ofstream; namespace ProtoMol { //________________________________________________________ Output const string OutputMomentum::keyword("momentumFile"); OutputMomentum::OutputMomentum(): OutputFile(){} OutputMomentum::OutputMomentum(const string& filename, int freq): OutputFile(filename,freq){} void OutputMomentum::doInitialize(){ ofstream momentumHeaderFile(string(myFilename + ".header").c_str(), std::ios::out | std::ios::trunc); if(!momentumHeaderFile) report << error <<" Can not open \'"<time() << " " << setw(25) << setprecision(5) << myCache->linearMomentum().x*f<< " " << setw(25) << setprecision(5) << myCache->linearMomentum().y*f<< " " << setw(25) << setprecision(5) << myCache->linearMomentum().z*f<< " " << setw(25) << setprecision(5) << myCache->angularMomentum().x*f<< " " << setw(25) << setprecision(5) << myCache->angularMomentum().y*f<< " " << setw(25) << setprecision(5) << myCache->angularMomentum().z*f; myFile << endl; reclose(); } void OutputMomentum::doFinalize(int){ close(); } Output* OutputMomentum::doMake(string&, const vector& values) const{ return (new OutputMomentum(values[0],values[1])); } void OutputMomentum::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("momentumOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); } bool OutputMomentum::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; return checkParameters(values); } } protomol/framework/frontend/OutputMomentum.h0100644027616700000500000000410610237151531021020 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTMOMENTUM_H #define OUTPUTMOMENTUM_H #include "OutputFile.h" #include "Vector3DBlock.h" namespace ProtoMol { //________________________________________________________ OutputMomentum class OutputMomentum : public OutputFile { // Writes all output of interest for Coulomb Crystal simulations. // // Note, that you can also specify the caching, such that you only // write after a number of calls of run(). // //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputMomentum(); OutputMomentum(const std::string& filename, int freq); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 2;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: }; } #endif protomol/framework/frontend/OutputPDBFramePos.cpp0100644027616700000500000000456310237151531021623 0ustar pbrenne1dip#include "OutputPDBFramePos.h" #include "Configuration.h" #include "OutputCache.h" #include "stringutilities.h" #include "GenericTopology.h" #include "PDBWriter.h" #include "inputValueDefinitions.h" #include using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputPDBFramePos const string OutputPDBFramePos::keyword("PDBPosFile"); OutputPDBFramePos::OutputPDBFramePos():Output(),myFilename(""){} OutputPDBFramePos::OutputPDBFramePos(const string& filename, int freq):Output(freq),myFilename(filename){} void OutputPDBFramePos::doRun(int step){ const vector& pdbAtoms = myCache->pdb(); if(pdbAtoms.size() != myPositions->size()){ if(pdbAtoms.empty()) report << error << " "<< getId() <<" can't write PDB frame without PDB atoms."<size()<<")."<& values) const{ return (new OutputPDBFramePos(values[0],values[1])); } void OutputPDBFramePos::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("PDBPosOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()),1)); } bool OutputPDBFramePos::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; return checkParameters(values); } } protomol/framework/frontend/OutputPDBFramePos.h0100644027616700000500000000363710237151531021271 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTPDBFRAMEPOS_H #define OUTPUTPDBFRAMEPOS_H #include "Output.h" namespace ProtoMol { class PDBFrameWriter; //________________________________________________________ OutputPDBFramePos class OutputPDBFramePos : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputPDBFramePos(); OutputPDBFramePos(const std::string& filename, int freq); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(){}; virtual void doRun(int step); virtual void doFinalize(int){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 2;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: std::string myFilename; }; } #endif protomol/framework/frontend/OutputPaulTrap.cpp0100644027616700000500000002620410237151531021305 0ustar pbrenne1dip#include "OutputPaulTrap.h" #include "Configuration.h" #include "GenericTopology.h" #include "ScalarStructure.h" #include "topologyutilities.h" #include "stringutilities.h" #include "OutputCache.h" #include "XYZWriter.h" #include "Integrator.h" #include "OutputScreen.h" #include "inputValueDefinitions.h" #include using namespace ProtoMol::Report; using std::string; using std::vector; using std::setw; using std::endl; using std::flush; using std::stringstream; using std::setprecision; using std::setiosflags; using std::resetiosflags; using std::ofstream; namespace ProtoMol { //________________________________________________________ Output const string OutputPaulTrap::keyword("paulFile"); OutputPaulTrap::OutputPaulTrap() : OutputFile(), myOmegaR(0.0), myOmegaZ(0.0), myFilenameLow(""), myDoPaulLow(false), myCacheCount(1), myScreen(false), myCount(0), myOut(""), myLowOut(""), myUnit("fs"), myFactor(1.0){} OutputPaulTrap::OutputPaulTrap(const string& filename, int freq, Real omegar, Real omegaz, const string& filenameLow, bool doLow, unsigned int cacheCount, bool screen) : OutputFile(filename,freq), myOmegaR(omegar), myOmegaZ(omegaz), myFilenameLow(filenameLow), myDoPaulLow(doLow), myCacheCount(cacheCount), myScreen(screen), myCount(0), myOut(""), myLowOut(""), myUnit("fs"), myFactor(1.0){} void OutputPaulTrap::doInitialize(){ Real step = myIntegrator->getTimestep()*std::max(1,std::min(myOutputFreq,(int)(*myConfig)[InputNumsteps::keyword])); if(step >= 1e13){ myUnit = "s"; myFactor = 1e-15; } else if(step >= 1e10){ myUnit = "ms"; myFactor = 1e-12; } else if(step >= 1e7){ myUnit = "us"; myFactor = 1e-9; } else if(step >= 1e4){ myUnit = "ns"; myFactor = 1e-6; } else if(step >= 1e1){ myUnit = "ps"; myFactor = 1e-3; } ofstream paulTrapHeaderFile(string(myFilename + ".header").c_str(), std::ios::out | std::ios::trunc); if(!paulTrapHeaderFile) report << error <<" Can not open \'"<size(); vector n(myTopology->atomTypes.size(),0); for(unsigned int i=0;iatoms[i].type]++; } myPaulQ = 0.0; myPaulM = 0.0; myPaulOmega = 0.0; for(unsigned int i=0;iatomTypes[i].charge/myTopology->atomTypes[0].charge*myTopology->atomTypes[0].mass/myTopology->atomTypes[i].mass; Real r = (myOmegaR*myOmegaR + 0.5*myOmegaZ*myOmegaZ)*f*f - 0.5*myOmegaZ*myOmegaZ*f; Real z = myOmegaZ*myOmegaZ*f; myPaulOmega += (Real)n[i]*(2.0*r + z)/3.0; if(numberOfAtoms>1) myPaulQ += myTopology->atomTypes[i].charge*myTopology->atomTypes[i].charge*n[i]*(n[i]-1.0)/2.0; else myPaulQ += myTopology->atomTypes[i].charge*myTopology->atomTypes[i].charge*n[i]; myPaulM += myTopology->atomTypes[i].mass*n[i]; for(unsigned int j=i+1;jatomTypes[i].charge*myTopology->atomTypes[j].charge*n[i]*n[j]; } } myPaulOmega = sqrt(myPaulOmega/(Real)numberOfAtoms); if(numberOfAtoms>1) myPaulQ = Constant::SQRTCOULOMBCONSTANT*sqrt(myPaulQ/((Real)numberOfAtoms*((Real)numberOfAtoms-1.0)/2.0)); else myPaulQ = Constant::SQRTCOULOMBCONSTANT*sqrt(myPaulQ); if(!myTopology->atomTypes.empty() && myTopology->atomTypes[0].charge < 0) myPaulQ = -myPaulQ; myPaulK = myPaulM/(Real)numberOfAtoms*myPaulOmega*myPaulOmega*1.0e7/4184.0; myPaulA = pow(myPaulQ*myPaulQ/myPaulK,1.0/3.0); myPaulR = pow((Real)numberOfAtoms*myPaulQ*myPaulQ/myPaulK,1.0/3.0); myPaulUHom = 9.0/10.0*pow((Real)numberOfAtoms,5.0/3.0)*myPaulQ*myPaulQ/myPaulA; myPaulF = 1.0/((Real)numberOfAtoms*myPaulQ*myPaulQ/myPaulA); myPaulF2 = myPaulQ*myPaulQ/myPaulA/Constant::BOLTZMANN; myPaulLow = myCache->potentialEnergy(); report.precision(13); report << plain <<"Paul Trap O : w = "<potentialEnergy(); } void OutputPaulTrap::doRun(int step){ if(myScreen){ report <time()*myFactor<<" ["<totalEnergy()<<" [kcal/mol]"; report << ", E : "; report.precision(4); report.width(16); report << myCache->potentialEnergy()*myPaulF<<" [eps]"; report << ", T : "; report.precision(4); report.width(10); report <temperature()<<" [K]"<size(); Real maxR = 0.0; for(unsigned int i=0;itime() << " " << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setiosflags(std::ios::floatfield) << setprecision(14) << setw(20) << myCache->totalEnergy() << " " << setw(20) << myCache->potentialEnergy() << " " << setw(20) << myCache->potentialEnergy()*myPaulF<< " " << setw(20) << myCache->kineticEnergy() << " " << setw(20) << (*myEnergies)[ScalarStructure::COULOMB] << " " << setw(20) << (*myEnergies)[ScalarStructure::OTHER] << " " << setw(20) << (myCache->potentialEnergy()-myPaulUHom)*myPaulF << " " << setw(20) << myCache->temperature() << " " << setw(20) << (myCache->temperature() != 0.0 ?myPaulF2/myCache->temperature():Constant::REAL_INFINITY) << " " << setw(20) << (*myEnergies)[ScalarStructure::COULOMB] -2*(*myEnergies)[ScalarStructure::OTHER] <<" " << setw(20) << maxR*1e-4 << " "<< endl; if(myPaulLow > myCache->potentialEnergy() && myDoPaulLow && !myFilenameLow.empty()){ //report.precision(15); //report << hint << "Lower state found, U="<potentialEnergy()<< " ("<potentialEnergy()-myPaulLow<<")."<potentialEnergy(); myLowComment = string("Time : "+toString(myCache->time())+", step : "+toString(step)+"."); } myCount++; if(myCount % myCacheCount == 0){ myOut += out.str(); doWrite(); myCount = 0; } else { myOut += out.str(); } } void OutputPaulTrap::doFinalize(int){ doWrite(); close(); } void OutputPaulTrap::doWrite(){ if(!myOut.empty()){ if(!reopen()) report << error <<" Can not open \'"<atoms,myTopology->atomTypes)) report << error << "Could not write Paul Trap low XYZ file \'"<& values) const{ return (new OutputPaulTrap(values[0],values[1],values[2],values[3],values[4],values[5],values[6],values[7])); } void OutputPaulTrap::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("paulOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); parameter.push_back(Parameter("paulOmega",Value(myOmegaR,ConstraintValueType::NotNegative()))); parameter.push_back(Parameter("paulOmegaZ",Value(myOmegaZ,ConstraintValueType::NotNegative()))); parameter.push_back(Parameter("paulLowFile",Value(myFilenameLow),string(""))); parameter.push_back(Parameter("doPaulLowFile",(myFilenameLow.empty()?Value(true,Value::undefined):Value(myDoPaulLow)))); parameter.push_back(Parameter("paulCacheFreq",Value(myCacheCount,ConstraintValueType::Positive()),1)); parameter.push_back(Parameter("ScreenPaulTrap",Value(myScreen))); } bool OutputPaulTrap::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; // Default output frequenxy if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; // Retrieve omega from Paul Trap force definition if(!values[2].valid()){ string str; stringstream ss(config->get(InputIntegrator::keyword).getString()); while(ss >> str){ Real w; if(equalNocase(str,"-omegaR") && ss >> w){ values[2] = w; break; } } } // Retrieve omega from Paul Trap force definition if(!values[3].valid()){ string str; stringstream ss(config->get(InputIntegrator::keyword).getString()); while(ss >> str){ Real w; if(equalNocase(str,"-omegaZ") && ss >> w){ values[3] = w; break; } } } if(values[2].valid() && !values[3].defined()) values[3] = values[2]; values[5] = (!values[4].getString().empty() && (!values[5].valid() || (bool)values[5] == true)); if(!values[7].valid()) values[7] = config->empty(OutputScreen::keyword); return checkParameters(values); } } protomol/framework/frontend/OutputPaulTrap.h0100644027616700000500000000535310237151531020754 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTPAULTRAP_H #define OUTPUTPAULTRAP_H #include "OutputFile.h" #include "Vector3DBlock.h" namespace ProtoMol { //________________________________________________________ OutputPaulTrap class OutputPaulTrap : public OutputFile { // Writes all output of interest for Coulomb Crystal simulations. // // Note, that you can also specify the caching, such that you only // write after a number of calls of run(). // //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputPaulTrap(); OutputPaulTrap(const std::string& filename, int freq, Real omegar, Real omegaz, const std::string& filenameLow, bool doLow, unsigned int cacheCount, bool screen); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 8;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; private: void doWrite(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real myOmegaR; Real myOmegaZ; std::string myFilenameLow; bool myDoPaulLow; unsigned int myCacheCount; bool myScreen; private: Real myPaulOmega; Real myPaulQ; Real myPaulK; Real myPaulR; Real myPaulA; Real myPaulUHom; Real myPaulF; Real myPaulF2; Real myPaulM; Real myPaulLow; unsigned int myCount; std::string myOut; std::string myLowOut; Vector3DBlock myLowXYZ; std::string myLowComment; std::string myUnit; Real myFactor; }; } #endif protomol/framework/frontend/OutputScreen.cpp0100644027616700000500000000530710237151531020775 0ustar pbrenne1dip#include "OutputScreen.h" #include "OutputCache.h" #include "Integrator.h" #include "Configuration.h" #include "GenericTopology.h" #include "ScalarStructure.h" #include "inputValueDefinitions.h" #include "topologyutilities.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputScreen const string OutputScreen::keyword("Screen"); OutputScreen::OutputScreen():Output(),myUnit("fs"),myFactor(1.0){} OutputScreen::OutputScreen(int freq):Output(freq),myUnit("fs"),myFactor(1.0){} void OutputScreen::doInitialize(){ Real step = myIntegrator->getTimestep()*std::max(1,std::min(myOutputFreq,(int)(*myConfig)[InputNumsteps::keyword])); if(step >= 1e13){ myUnit = "s"; myFactor = 1e-15; } else if(step >= 1e10){ myUnit = "ms"; myFactor = 1e-12; } else if(step >= 1e7){ myUnit = "us"; myFactor = 1e-9; } else if(step >= 1e4){ myUnit = "ns"; myFactor = 1e-6; } else if(step >= 1e1){ myUnit = "ps"; myFactor = 1e-3; } } void OutputScreen::doRun(int step){ report <time()*myFactor<<" ["<totalEnergy()<<" [kcal/mol]"; report << ", T : "; report.precision(4); report.width(10); report <temperature()<<" [K]"; report << ", V : "; report.precision(2); report.width(16); report <volume()<<" [AA^3]"<& values) const{ return (new OutputScreen(values[1])); } bool OutputScreen::isIdDefined(const Configuration* config) const{ return (config->valid("outputFreq") && !config->empty(getId()) && (!config->valid(getId()) || ((*config)[getId()] == true)) ); } void OutputScreen::getParameters(vector & parameter) const{ parameter.push_back(Parameter(getId(),Value(true),true)); parameter.push_back(Parameter("screenOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); } bool OutputScreen::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; return checkParameters(values); } } protomol/framework/frontend/OutputScreen.h0100644027616700000500000000373410237151531020444 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTSCREEN_H #define OUTPUTSCREEN_H #include "Output.h" namespace ProtoMol { class Configuration; //________________________________________________________ OutputScreen class OutputScreen : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputScreen(); OutputScreen(int freq); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int){} virtual bool isIdDefined(const Configuration* config) const; virtual bool addDoKeyword() const {return false;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 2;} virtual void getParameters(std::vector &) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: std::string myUnit; Real myFactor; }; } #endif protomol/framework/frontend/OutputTemperatures.cpp0100644027616700000500000001772210237151531022242 0ustar pbrenne1dip#include "OutputTemperatures.h" #include "OutputCache.h" #include "stringutilities.h" #include "GenericTopology.h" #include "inputValueDefinitions.h" #include "topologyutilities.h" #include using namespace ProtoMol::Report; using std::string; using std::vector; using std::set; using std::setw; using std::endl; using std::flush; using std::stringstream; using std::setprecision; using std::setiosflags; using std::resetiosflags; using std::ofstream; using std::ifstream; namespace ProtoMol { //________________________________________________________ OutputTemperatures const string OutputTemperatures::keyword("TempFile"); OutputTemperatures::OutputTemperatures():OutputFile(), mySeparateWater(true){} OutputTemperatures::OutputTemperatures(const string& filename, int freq, bool separateWater):OutputFile(filename,freq), mySeparateWater(separateWater){} OutputTemperatures::~OutputTemperatures(){} void OutputTemperatures::doInitialize(){ // Create a header file ofstream temperatureHeaderFile(string(myFilename + ".header").c_str(), std::ios::out | std::ios::trunc); if (!temperatureHeaderFile) report << error << " Can not open \'" << myFilename << ".header\' for " << getId() << "." << endr; // Determine the atom types of interest int atomNum; int atomType; if (mySeparateWater == false) { myNonWaterAtomTypes.resize(myTopology->atomTypes.size()); for (unsigned int i = 0; i < myTopology->atomTypes.size(); i++) { myNonWaterAtomTypes[i] = i; } } else { // Examine each molecule bool examinedWater = false; // Only look at water once for (unsigned int i = 0; i < myTopology->molecules.size(); i++) { if (myTopology->molecules[i].water == true) { if (examinedWater == false) { examinedWater = true; for (unsigned int j = 0; j < myTopology->molecules[i].atoms.size(); j++) { atomNum = myTopology->molecules[i].atoms[j]; atomType = myTopology->atoms[atomNum].type; bool alreadyAdded = false; unsigned int k = 0; while ((alreadyAdded == false) && (k < myWaterAtomTypes.size())) { if (myWaterAtomTypes[k] == atomType) { alreadyAdded = true; } k++; } if (alreadyAdded == false) { myWaterAtomTypes.push_back(atomType); } } } } else { for (unsigned int j = 0; j < myTopology->molecules[i].atoms.size(); j++) { atomNum = myTopology->molecules[i].atoms[j]; atomType = myTopology->atoms[atomNum].type; bool alreadyAdded = false; unsigned int k = 0; while ((alreadyAdded == false) && (k < myNonWaterAtomTypes.size())) { if (myNonWaterAtomTypes[k] == atomType) { alreadyAdded = true; } k++; } if (alreadyAdded == false) { myNonWaterAtomTypes.push_back(atomType); } } } } } if (myWaterAtomTypes.size() == 0) { mySeparateWater = false; } if (mySeparateWater == false) { temperatureHeaderFile << setw(18) << "Time(fs)" << " "; temperatureHeaderFile << setw(24) << "Temp(K)" << " "; for (unsigned int i = 0; i < myNonWaterAtomTypes.size(); i++) { string strHeader = myTopology->atomTypes[myNonWaterAtomTypes[i]].name + " Temp(K)"; temperatureHeaderFile << setw(24) << strHeader << " "; } } else { temperatureHeaderFile << setw(18) << "" << " "; temperatureHeaderFile << setw(24) << "" << " "; temperatureHeaderFile << setw(24) << "" << " "; temperatureHeaderFile << setw(24) << "" << " "; temperatureHeaderFile << setw(24) << "WATER" << " "; for (unsigned int i = 1; i < myWaterAtomTypes.size(); i++) { temperatureHeaderFile << setw(24) << "" << " "; } temperatureHeaderFile << setw(24) << "NON-WATER" << " "; for (unsigned int i = 1; i < myNonWaterAtomTypes.size(); i++) { temperatureHeaderFile << setw(24) << "" << " "; } temperatureHeaderFile << endl; temperatureHeaderFile << setw(18) << "Time(fs)" << " "; temperatureHeaderFile << setw(24) << "Temp(K)" << " "; temperatureHeaderFile << setw(24) << "Water Temp(K)" << " "; temperatureHeaderFile << setw(24) << "Non-Water Temp(K)" << " "; for (unsigned int i = 0; i < myWaterAtomTypes.size(); i++) { string strHeader = myTopology->atomTypes[myWaterAtomTypes[i]].name + " Temp(K)"; temperatureHeaderFile << setw(24) << strHeader << " "; } for (unsigned int i = 0; i < myNonWaterAtomTypes.size(); i++) { string strHeader = myTopology->atomTypes[myNonWaterAtomTypes[i]].name + " Temp(K)"; temperatureHeaderFile << setw(24) << strHeader << " "; } } temperatureHeaderFile.close(); open(); close(); } void OutputTemperatures::doRun(int){ if(!reopen()) report << error << "Can not open \'" << myFilename << "\' for " << getId() << "." << endr; // Output the current time myFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(18) << setprecision(2) << setiosflags(std::ios::showpoint | std::ios::fixed) << myCache->time() << " "; // Output the current temperature myFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(24) << setprecision(8) << setiosflags(std::ios::showpoint | std::ios::fixed) << myCache->temperature() << " "; // If requested, output the separate water // and non-water temperatures if (mySeparateWater == true) { myFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(24) << setprecision(8) << setiosflags(std::ios::showpoint | std::ios::fixed) << myCache->temperatureForWater() << " "; myFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(24) << setprecision(8) << setiosflags(std::ios::showpoint | std::ios::fixed) << myCache->temperatureForNonWater() << " "; for (unsigned int i = 0; i < myWaterAtomTypes.size(); i++) { myFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(24) << setprecision(8) << setiosflags(std::ios::showpoint | std::ios::fixed) << ProtoMol::temperatureForAtomType(myTopology,myVelocities,myWaterAtomTypes[i],ONLY_WATER) << " "; } for (unsigned int i = 0; i < myNonWaterAtomTypes.size(); i++) { myFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(24) << setprecision(8) << setiosflags(std::ios::showpoint | std::ios::fixed) << ProtoMol::temperatureForAtomType(myTopology,myVelocities,myNonWaterAtomTypes[i],IGNORE_WATER) << " "; } } else { for (unsigned int i = 0; i < myNonWaterAtomTypes.size(); i++) { myFile << resetiosflags(std::ios::showpoint | std::ios::fixed | std::ios::floatfield) << setw(24) << setprecision(8) << setiosflags(std::ios::showpoint | std::ios::fixed) << ProtoMol::temperatureForAtomType(myTopology,myVelocities,myNonWaterAtomTypes[i],ALL) << " "; } } myFile << endl; reclose(); } void OutputTemperatures::doFinalize(int){ close(); } Output* OutputTemperatures::doMake(string&, const vector& values) const{ return (new OutputTemperatures(values[0],values[1],values[2])); } void OutputTemperatures::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myFilename,ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("TemperatureOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); parameter.push_back(Parameter("TemperatureSeparateWater",Value(mySeparateWater))); } bool OutputTemperatures::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; return checkParameters(values); } } protomol/framework/frontend/OutputTemperatures.h0100644027616700000500000000416610237151531021705 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTTEMPERATURES_H #define OUTPUTTEMPERATURES_H #include "OutputFile.h" #include using std::vector; namespace ProtoMol { //________________________________________________________ OutputTemperatures class OutputTemperatures : public OutputFile { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputTemperatures(); OutputTemperatures(const std::string& filename, int freq, bool separateWater); virtual ~OutputTemperatures(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 3;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: // Whether to distinguish water in temperature calculations bool mySeparateWater; vector myNonWaterAtomTypes; vector myWaterAtomTypes; }; } #endif protomol/framework/frontend/OutputXYZTrajectoryForce.cpp0100644027616700000500000000416010237151531023272 0ustar pbrenne1dip#include "OutputXYZTrajectoryForce.h" #include "Configuration.h" #include "Integrator.h" #include "OutputCache.h" #include "stringutilities.h" #include "GenericTopology.h" #include "XYZTrajectoryWriter.h" #include "inputValueDefinitions.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputXYZTrajectoryForce const string OutputXYZTrajectoryForce::keyword("XYZForceFile"); OutputXYZTrajectoryForce::OutputXYZTrajectoryForce():Output(),myXYZ(){} OutputXYZTrajectoryForce::OutputXYZTrajectoryForce(const string& filename, int freq):Output(freq),myXYZ(new XYZTrajectoryWriter(filename)){} OutputXYZTrajectoryForce::~OutputXYZTrajectoryForce(){ if(myXYZ != NULL) delete myXYZ; } void OutputXYZTrajectoryForce::doInitialize(){ if(myXYZ == NULL || !myXYZ->open()) report << error <<" Can not open \'"<<(myXYZ!=NULL?myXYZ->getFilename():"")<<"\' for "<write(*(myIntegrator->getForces()),myTopology->atoms,myTopology->atomTypes)) report << error << "Could not write "<getFilename()<<"\'."<close(); } Output* OutputXYZTrajectoryForce::doMake(string&, const vector& values) const{ return (new OutputXYZTrajectoryForce(values[0],values[1])); } void OutputXYZTrajectoryForce::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myXYZ!=NULL?myXYZ->getFilename():"",ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("XYZForceOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); } bool OutputXYZTrajectoryForce::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; return checkParameters(values); } } protomol/framework/frontend/OutputXYZTrajectoryForce.h0100644027616700000500000000377410237151531022751 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTXYZTRAJECTORYFORCE_H #define OUTPUTXYZTRAJECTORYFORCE_H #include "Output.h" namespace ProtoMol { class XYZTrajectoryWriter; //________________________________________________________ OutputXYZTrajectoryForce class OutputXYZTrajectoryForce : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputXYZTrajectoryForce(); OutputXYZTrajectoryForce(const std::string& filename, int freq); virtual ~OutputXYZTrajectoryForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 2;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: XYZTrajectoryWriter* myXYZ; }; } #endif protomol/framework/frontend/OutputXYZTrajectoryPos.cpp0100644027616700000500000000404410237151531022776 0ustar pbrenne1dip#include "OutputXYZTrajectoryPos.h" #include "Configuration.h" #include "OutputCache.h" #include "stringutilities.h" #include "GenericTopology.h" #include "XYZTrajectoryWriter.h" #include "inputValueDefinitions.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputXYZTrajectoryPos const string OutputXYZTrajectoryPos::keyword("XYZPosFile"); OutputXYZTrajectoryPos::OutputXYZTrajectoryPos():Output(),myXYZ(){} OutputXYZTrajectoryPos::OutputXYZTrajectoryPos(const string& filename, int freq):Output(freq),myXYZ(new XYZTrajectoryWriter(filename)){} OutputXYZTrajectoryPos::~OutputXYZTrajectoryPos(){ if(myXYZ != NULL) delete myXYZ; } void OutputXYZTrajectoryPos::doInitialize(){ if(myXYZ == NULL || !myXYZ->open()) report << error <<" Can not open \'"<<(myXYZ!=NULL?myXYZ->getFilename():"")<<"\' for "<write(*myPositions,myTopology->atoms,myTopology->atomTypes)) report << error << "Could not write "<getFilename()<<"\'."<close(); } Output* OutputXYZTrajectoryPos::doMake(string&, const vector& values) const{ return (new OutputXYZTrajectoryPos(values[0],values[1])); } void OutputXYZTrajectoryPos::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myXYZ!=NULL?myXYZ->getFilename():"",ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("XYZPosOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); } bool OutputXYZTrajectoryPos::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; return checkParameters(values); } } protomol/framework/frontend/OutputXYZTrajectoryPos.h0100644027616700000500000000375610237151531022454 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTXYZTRAJECTORYPOS_H #define OUTPUTXYZTRAJECTORYPOS_H #include "Output.h" namespace ProtoMol { class XYZTrajectoryWriter; //________________________________________________________ OutputXYZTrajectoryPos class OutputXYZTrajectoryPos : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputXYZTrajectoryPos(); OutputXYZTrajectoryPos(const std::string& filename, int freq); virtual ~OutputXYZTrajectoryPos(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 2;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: XYZTrajectoryWriter* myXYZ; }; } #endif protomol/framework/frontend/OutputXYZTrajectoryVel.cpp0100644027616700000500000000404510237151531022764 0ustar pbrenne1dip#include "OutputXYZTrajectoryVel.h" #include "Configuration.h" #include "OutputCache.h" #include "stringutilities.h" #include "GenericTopology.h" #include "XYZTrajectoryWriter.h" #include "inputValueDefinitions.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ OutputXYZTrajectoryVel const string OutputXYZTrajectoryVel::keyword("XYZVelFile"); OutputXYZTrajectoryVel::OutputXYZTrajectoryVel():Output(),myXYZ(){} OutputXYZTrajectoryVel::OutputXYZTrajectoryVel(const string& filename, int freq):Output(freq),myXYZ(new XYZTrajectoryWriter(filename)){} OutputXYZTrajectoryVel::~OutputXYZTrajectoryVel(){ if(myXYZ != NULL) delete myXYZ; } void OutputXYZTrajectoryVel::doInitialize(){ if(myXYZ == NULL || !myXYZ->open()) report << error <<" Can not open \'"<<(myXYZ!=NULL?myXYZ->getFilename():"")<<"\' for "<write(*myVelocities,myTopology->atoms,myTopology->atomTypes)) report << error << "Could not write "<getFilename()<<"\'."<close(); } Output* OutputXYZTrajectoryVel::doMake(string&, const vector& values) const{ return (new OutputXYZTrajectoryVel(values[0],values[1])); } void OutputXYZTrajectoryVel::getParameters(vector ¶meter) const{ parameter.push_back(Parameter(getId(),Value(myXYZ!=NULL?myXYZ->getFilename():"",ConstraintValueType::NotEmpty()))); parameter.push_back(Parameter("XYZVelOutputFreq",Value(myOutputFreq,ConstraintValueType::Positive()))); } bool OutputXYZTrajectoryVel::adjustWithDefaultParameters(vector& values, const Configuration* config) const{ if(!checkParameterTypes(values)) return false; if(config->valid(InputOutputfreq::keyword) && !values[1].valid()) values[1] = (*config)[InputOutputfreq::keyword]; return checkParameters(values); } } protomol/framework/frontend/OutputXYZTrajectoryVel.h0100644027616700000500000000375610237151531022441 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef OUTPUTXYZTRAJECTORYVEL_H #define OUTPUTXYZTRAJECTORYVEL_H #include "Output.h" namespace ProtoMol { class XYZTrajectoryWriter; //________________________________________________________ OutputXYZTrajectoryVel class OutputXYZTrajectoryVel : public Output { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: OutputXYZTrajectoryVel(); OutputXYZTrajectoryVel(const std::string& filename, int freq); virtual ~OutputXYZTrajectoryVel(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Output* doMake(std::string& errMsg, const std::vector& values) const; virtual void doInitialize(); virtual void doRun(int step); virtual void doFinalize(int step); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{ return keyword;} // Returns the identification string virtual unsigned int getParameterSize() const {return 2;} virtual void getParameters(std::vector ¶meter) const; virtual bool adjustWithDefaultParameters(std::vector& values, const Configuration* config) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: XYZTrajectoryWriter* myXYZ; }; } #endif protomol/framework/frontend/TopologyFactory.h0100644027616700000500000000032510237151531021141 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef TOPOLOGYFACTORY_H #define TOPOLOGYFACTORY_H #include "TopologyFactoryDetails.h" namespace ProtoMol { typedef Factory TopologyFactory; } #endif /* TOPOLOGYFACTORY_H */ protomol/framework/frontend/buildTopology.h0100644027616700000500000000070010237151531020626 0ustar pbrenne1dip/* -*- c++ -*- */ #include "ExclusionType.h" namespace ProtoMol { class GenericTopology; class PSF; class PAR; //_________________________________________________________________ buildTopology void buildTopology(GenericTopology* topo,const PSF& psf, const PAR& par, bool dihedralMultPSF); void buildMoleculeTable(GenericTopology *topo); void buildExclusionTable(GenericTopology* topo, const ExclusionType& exclusionType); } protomol/framework/frontend/TopologyFactoryDetails.cpp0100644027616700000500000001073510237151531023010 0ustar pbrenne1dip#include "TopologyFactoryDetails.h" #include "Configuration.h" #include "HelpTextFactory.h" using std::vector; using std::map; using std::set; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_____________________________________________________ TopologyFactoryDetails TopologyFactoryDetails::TopologyFactoryDetails():FactoryBase(){ //Report::report << Report::plain <<"[TopologyFactoryDetails::TopologyFactoryDetails()]"<< Report::endr; } TopologyFactoryDetails::~TopologyFactoryDetails(){ //Report::report << Report::plain <<"TopologyFactoryDetails::~TopologyFactoryDetails()]"<< Report::endr; } TopologyFactoryDetails::TopologyFactoryDetails(const TopologyFactoryDetails&){} TopologyFactoryDetails& TopologyFactoryDetails::operator=(const TopologyFactoryDetails&){return *this;} void TopologyFactoryDetails::registerAllExemplarsConfiguration(Configuration* config){ TFactory::instance().doRegisterAllExemplarsConfiguration(config); } GenericTopology* TopologyFactoryDetails::make(string& errMsg, const Configuration* config){ string id = config->get(GenericTopology::getKeyword()).getString(); const GenericTopology* prototype = TFactory::instance().getPrototype(id); return TFactory::instance().doMake(errMsg,id,config->get(prototype!=NULL?prototype->getParameters():vector())); } GenericTopology* TopologyFactoryDetails::make(string& errMsg, const string& id, const vector& values){ return TFactory::instance().doMake(errMsg,id,values); } GenericTopology* TopologyFactoryDetails::doMake(string& errMsg, const string& id, const vector& values) const{ errMsg = ""; const GenericTopology* prototype = getPrototype(id); if(prototype == NULL) { errMsg += " Could not find any match for \'"+id+"\' in "+GenericTopology::scope+"Factory.\nPossible topologies are:\n"+doPrint(); return NULL; } // Make GenericTopology* newObj = prototype->make(errMsg,values); if(newObj == NULL) return NULL; // Adjust external alias newObj->setAlias(id); return newObj; } void TopologyFactoryDetails::doRegisterAllExemplarsConfiguration(Configuration* config) const { for(set::const_iterator i=myPointers.begin();i != myPointers.end();++i){ vector parameter = (*i)->getParameters(); for(unsigned int i=0;iregisterKeyword(parameter[i].keyword,parameter[i].value); } config->registerKeyword(GenericTopology::getKeyword(),Value(string(""),ConstraintValueType::NotEmpty())); myCache = false; } string TopologyFactoryDetails::doPrint()const{ string res; for( map::const_iterator i=myExemplars.begin();i != myExemplars.end();++i){ res += (i==myExemplars.begin()?"":"\n")+i->first; vector parameter(i->second->getParameters()); for(unsigned int k=0;k::const_iterator j=myAliasExemplars.begin();j != myAliasExemplars.end();++j) res += "\n"+j->first+" : "+j->second->getId()+" ("+j->second->getIdNoAlias()+")"; return res; } void TopologyFactoryDetails::doRegisterHelpText() const{ for( map::const_iterator i=myExemplars.begin();i != myExemplars.end();++i){ HelpText helpText; i->second->getParameters(helpText.parameters); helpText.id = i->second->getIdNoAlias(); helpText.text = i->second->getText(); helpText.scope = i->second->getScope(); HelpTextFactory::registerExemplar(i->second->getId(),helpText); HelpText alias; alias.text = "alias for \'"+i->second->getId()+"\'"; alias.scope = i->second->getScope(); for( map::const_iterator j=myAliasExemplars.begin();j != myAliasExemplars.end();++j){ if(j->second->getIdNoAlias() == i->second->getIdNoAlias()){ alias.id = j->first; HelpTextFactory::registerExemplar(alias.id,alias); } } } } } protomol/framework/frontend/TopologyFactoryDetails.h0100644027616700000500000000451510237151531022454 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef TOPOLOGYFACTORYDETAILS_H #define TOPOLOGYFACTORYDETAILS_H #include "Factory.h" #include "GenericTopology.h" namespace ProtoMol { class TopologyFactoryDetails; class Configuration; //_____________________________________________________ FactoryTraits template <> class FactoryTraits { public: typedef TopologyFactoryDetails Details; }; //_____________________________________________________ TopologyFactoryDetails class TopologyFactoryDetails : public FactoryBase { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef Factory TFactory; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: TopologyFactoryDetails(); virtual ~TopologyFactoryDetails(); private: TopologyFactoryDetails(const TopologyFactoryDetails&); TopologyFactoryDetails& operator=(const TopologyFactoryDetails&); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From FactoryBase //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual std::string doPrint()const; virtual void doRegisterHelpText() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class DetailsTopologyFactory //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static void registerAllExemplarsConfiguration(Configuration* config); static GenericTopology* make(std::string& errMsg, const Configuration* config); static GenericTopology* make(std::string& errMsg, const std::string& id, const std::vector& values); private: void doRegisterAllExemplarsConfiguration(Configuration* config) const; GenericTopology* doMake(std::string& errMsg, const std::string& id, const std::vector& values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // private data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ }; } #endif /* TOPOLOGYFACTORYDETAILS_H */ protomol/framework/frontend/buildTopology.cpp0100644027616700000500000010404110237151531021164 0ustar pbrenne1dip#include "buildTopology.h" #include "ExclusionTable.h" #include "ExclusionType.h" #include "GenericTopology.h" #include "LennardJonesParameterTable.h" #include "PAR.h" #include "PSF.h" #include "Report.h" #include "pmconstants.h" #include "mathutilities.h" #include "stringutilities.h" #include "topologyutilities.h" //#include "Molecule.h" //#include "Vector3D.h" #include #include #include #include #include #include using std::list; using std::map; using std::set; using std::pair; using std::string; using std::vector; using std::swap; using namespace ProtoMol::Report; //#define DEBUG_PRINT_MOLECULETABLE namespace ProtoMol { static void findNextNeighbor(int a, vector& v, vector& p, vector& unused, const vector >& graph, set& pairs); // bool cmpSize(const vector& m1, const vector& m2); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // buildTopology // //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void buildTopology(GenericTopology* topo,const PSF& psf, const PAR& par, bool dihedralMultPSF){ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // First, generate the array of atomtypes // Each time a new atom comes up, we need to check if it is // already in the vector.... // NOTE: this may take a while for large systems; however, it will cut // down on the size of the atomTypes vector, and therefore, the amount // access time in the back end. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topo->atoms.clear(); topo->atomTypes.clear(); topo->bonds.clear(); topo->angles.clear(); topo->dihedrals.clear(); topo->impropers.clear(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Get the atoms //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ map atomLookUpTable; // loop over all atoms in the PSF object for (vector::const_iterator atom = psf.atoms.begin(); atom != psf.atoms.end(); ++atom) { // Two data members for AtomType, name and mass AtomType tempatomtype; tempatomtype.name = atom->atom_type; tempatomtype.mass = atom->mass; // tempatomtype.symbolName = charmmDefaults->getNonbondedData(atom->atom_type).mySymbolName; tempatomtype.symbolName = atomTypeToSymbolName(atom->atom_type); tempatomtype.charge = atom->charge; // Now check if this already exists (same name) if (atomLookUpTable.find(tempatomtype.name) == atomLookUpTable.end()) { atomLookUpTable[tempatomtype.name] = topo->atomTypes.size(); topo->atomTypes.push_back(tempatomtype); } Atom tempatom; // First, we need to find the index. (an integer corresponding // to the type of the atom tempatom.type = atomLookUpTable[tempatomtype.name]; // Now, the scaled charge. This is straightforward. tempatom.scaledCharge = (atom->charge)*Constant::SQRTCOULOMBCONSTANT; tempatom.scaledMass = atom->mass; // Now we need the size of the group for heavy atom ordering // We need to parse the name for any H's then any numbers following // First, if the atom is an H then this is 0 if (atom->atom_type == "H"){ tempatom.hvyAtom = 0; } else{ // Otherwise, we need to parse.. // Initialize to 1 tempatom.hvyAtom = 1; for (unsigned int pos = 0; pos < atom->atom_type.size(); ++pos){ if (atom->atom_type[pos] == 'H'){ string number = ""; while (isdigit(atom->atom_type[++pos])) { number += atom->atom_type[pos]; } if (number == "") // never entered loop, default is 1 number = "1"; tempatom.hvyAtom += atoi(number.c_str()); } } } // C/C++ starts at 0, where PSF/PDB at 1 tempatom.atomNum = atom->number-1; // Also the molecule - using residue sequence for now topo->atoms.push_back(tempatom); } // calculate the # of degrees of freedom, if there are any bond constraints // they will be subtracted later by ModifierShake topo->degreesOfFreedom = 3 * topo->atoms.size() - 3; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Get the bonds //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // First create look-up-table map::const_iterator> bondLookUpTable; for (vector::const_iterator bond = par.bonds.begin(); bond != par.bonds.end(); ++bond){ bondLookUpTable[bond->atom1+","+bond->atom2] = bond; //report << (*bond)<< ", " << bond->atom1 << ", " << bond->atom2 <::const_iterator bond = psf.bonds.begin(); bond != psf.bonds.end(); ++bond){ // store the ID numbers of the bonded atoms int atom1 = bond->atom1-1; int atom2 = bond->atom2-1; // store the type names of the bonded atoms string bond1(topo->atomTypes[topo->atoms[atom1].type].name); string bond2(topo->atomTypes[topo->atoms[atom2].type].name); map::const_iterator>::const_iterator currentbond = bondLookUpTable.find(bond1+","+bond2); if(currentbond == bondLookUpTable.end()){ currentbond = bondLookUpTable.find(bond2+","+bond1); } // if we still have not found this bond type in the PAR object, report an error if(currentbond == bondLookUpTable.end()){ report << error << "Could not find bond \'"<atom1 <<","<< bond->atom2<<")"<::const_iterator>::const_iterator i = bondLookUpTable.begin(); i != bondLookUpTable.end(); ++i){ report << plain << i->first<second->forceConstant; tempbond.restLength = currentbond->second->distance; tempbond.atom1 = atom1; tempbond.atom2 = atom2; topo->bonds.push_back(tempbond); // populate the vector of bonds maintained at each atom //report << std::endl <<"Size of Bonds Vector "<bonds.size() <atoms[atom1].mybonds.push_back((topo->bonds.size())-1); topo->atoms[atom2].mybonds.push_back((topo->bonds.size())-1); // output to screen for testing purposes //for (int j = 0; j < topo->atoms[atom1].mybonds.size(); j++){ //report <<"Atom " << atom1 << " bond index = "<< topo->atoms[atom1].mybonds[j] <atoms[atom2].mybonds.size(); k++){ //report <<"Atom " << atom2 << " bond index = "<< topo->atoms[atom2].mybonds[k] < 0) report << hint << "Systems contains "<::const_iterator> angleLookUpTable; for (vector::const_iterator angle = par.angles.begin(); angle != par.angles.end(); ++angle){ angleLookUpTable[angle->atom1+","+angle->atom2+","+angle->atom3] = angle; //report << (*angle)<::const_iterator angle = psf.angles.begin(); angle != psf.angles.end(); ++angle){ // store the ID numbers of the atoms in this angle int atom1 = angle->atom1-1; int atom2 = angle->atom2-1; int atom3 = angle->atom3-1; // store the type names of the atoms in this angle string angle1(topo->atomTypes[topo->atoms[atom1].type].name); string angle2(topo->atomTypes[topo->atoms[atom2].type].name); string angle3(topo->atomTypes[topo->atoms[atom3].type].name); map::const_iterator>::const_iterator currentangle = angleLookUpTable.find(angle1+","+angle2+","+angle3); if(currentangle == angleLookUpTable.end()) currentangle = angleLookUpTable.find(angle3+","+angle2+","+angle1); // if we still have not found this angle type in the PAR object, report an error if(currentangle == angleLookUpTable.end()) report << error << "Could not find angle \'"<second->forceConstant; tempangle.restAngle = dtor(currentangle->second->angleval); if (currentangle->second->ub_flag){ // do we want defaults for these tempangle.ureyBradleyConstant = currentangle->second->k_ub; tempangle.ureyBradleyRestLength = currentangle->second->r_ub; } // no Urey-Bradley term specified else{ tempangle.ureyBradleyConstant = 0.0; tempangle.ureyBradleyRestLength = 0.0; } topo->angles.push_back(tempangle); if(tempangle.forceConstant == 0.0) ++ignoredAngles; } if(ignoredAngles > 0) report << hint << "Systems contains "<::const_iterator> dihedralLookUpTable; for (vector::const_iterator dihedral = par.dihedrals.begin(); dihedral != par.dihedrals.end(); ++dihedral){ dihedralLookUpTable[dihedral->atom1+","+dihedral->atom2+","+dihedral->atom3+","+dihedral->atom4] = dihedral; //report << (*dihedral)<::const_iterator dihedral = psf.dihedrals.begin(); dihedral != psf.dihedrals.end(); ++dihedral) { // store the ID numbers of the atoms in this dihedral int atom1 = dihedral->atom1 - 1; int atom2 = dihedral->atom2 - 1; int atom3 = dihedral->atom3 - 1; int atom4 = dihedral->atom4 - 1; // store the type names of the atoms in this dihedral string dihedral1 = topo->atomTypes[topo->atoms[atom1].type].name; string dihedral2 = topo->atomTypes[topo->atoms[atom2].type].name; string dihedral3 = topo->atomTypes[topo->atoms[atom3].type].name; string dihedral4 = topo->atomTypes[topo->atoms[atom4].type].name; map::const_iterator>::const_iterator currentdihedral = dihedralLookUpTable.find(dihedral1+","+dihedral2+","+dihedral3+","+dihedral4); // if this dihedral type has not been found, try reversing the order of the atom types if(currentdihedral == dihedralLookUpTable.end()) currentdihedral = dihedralLookUpTable.find(dihedral4+","+dihedral3+","+dihedral2+","+dihedral1); // Try wildcards if necessary if(currentdihedral == dihedralLookUpTable.end()){ currentdihedral = dihedralLookUpTable.find("X,"+dihedral2+","+dihedral3+",X"); if(currentdihedral == dihedralLookUpTable.end()) currentdihedral = dihedralLookUpTable.find("X,"+dihedral3+","+dihedral2+",X"); } // if we still have not found this dihedral type in the PAR object, report an error if(currentdihedral == dihedralLookUpTable.end()) report << error << "Could not find dihedral \'"<second->periodicity; torsion.forceConstant = currentdihedral->second->forceConstant; torsion.phaseShift = dtor(currentdihedral->second->phaseShift); torsion.multiplicity = currentdihedral->second->multiplicity; if(topo->dihedrals.empty() || topo->dihedrals[topo->dihedrals.size()-1].atom1 != atom1 || topo->dihedrals[topo->dihedrals.size()-1].atom2 != atom2 || topo->dihedrals[topo->dihedrals.size()-1].atom3 != atom3 || topo->dihedrals[topo->dihedrals.size()-1].atom4 != atom4){ if(dihedralMultPSF){ torsion.periodicity.resize(1); torsion.forceConstant.resize(1); torsion.phaseShift.resize(1); torsion.multiplicity = 1; } topo->dihedrals.push_back(torsion); } else { if(dihedralMultPSF){ Torsion& tmp = topo->dihedrals[topo->dihedrals.size()-1]; if(tmp.multiplicity > torsion.multiplicity ) report << error<< "PSF multiplicity definition of dihedral (" << dihedral1 <<"," << dihedral2 <<"," << dihedral3 <<"," << dihedral4 <<") exceeded PAR definition."; tmp.periodicity.push_back(torsion.periodicity[tmp.multiplicity]); tmp.forceConstant.push_back(torsion.forceConstant[tmp.multiplicity]); tmp.phaseShift.push_back(torsion.phaseShift[tmp.multiplicity]); tmp.multiplicity++; } else { report << error << "Unexpected PSF multiplicity definition of dihedral (" << dihedral1 <<"," << dihedral2 <<"," << dihedral3 <<"," << dihedral4 <<") occurred, use dihedral multiplicity PSF."; } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Get the impropers //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // One change I made was to assume that a improper will only appear // once in the .psf file regardless of it's multiplicity. The // multiplicity should be handled in the .par file. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // No wildcard usage is allowed for bonds and angles. For dihedrals, // two types are allowed; A - B - C - D (all four atoms specified) and // X - A - B - X (only middle two atoms specified). Double dihedral // specifications may be specified for the four atom type by listing a // given set twice. When specifying this type in the topology file, specify // a dihedral twice (with nothing intervening) and both forms will be used. // // There are five choices for wildcard usage for improper dihedrals; // 1) A - B - C - D (all four atoms, double specification allowed) // 2) A - X - X - B // 3) X - A - B - C // 4) X - A - B - X // 5) X - X - A - B // When classifying an improper dihedral, the first acceptable match (from // the above order) is chosen. The match may be made in either direction // ( A - B - C - D = D - C - B - A). // // The periodicity value for dihedrals and improper dihedral terms // must be an integer. If it is positive, then a cosine functional form is used. // Only positive values of 1,2,3,4,5 and 6 are allowed for the vector, parallel // vector and cray routines. Slow and scalar routines can use any positive // integer and thus dihedral constrains can be of any periodicity. // Reference angle 0.0 and 180.0 degree correspond to minimum in staggered // and eclipsed respectively. Any reference angle is allowed. The value // 180 should be prefered over -180 since it is parsed faster and more // accuratly. When the periodicity is given as zero, for OTHER THAN THE // FIRST dihdral in a multiple dihedral set, then a the amplitude is a // constant added to the energy. This is needed to effect the // Ryckaert-Bellemans potential for hydrocarbons (see below). // First create look-up-table map::const_iterator> improperLookUpTable; for (vector::const_iterator improper = par.impropers.begin(); improper != par.impropers.end(); ++improper){ improperLookUpTable[improper->atom1+","+improper->atom2+","+improper->atom3+","+improper->atom4] = improper; //report << (*improper)<::const_iterator improper = psf.impropers.begin(); improper != psf.impropers.end(); ++improper) { // store the ID numbers of the atoms in this improper int atom1 = improper->atom1 - 1; int atom2 = improper->atom2 - 1; int atom3 = improper->atom3 - 1; int atom4 = improper->atom4 - 1; // store the type names of the atoms in this improper string improper1 = topo->atomTypes[topo->atoms[atom1].type].name; string improper2 = topo->atomTypes[topo->atoms[atom2].type].name; string improper3 = topo->atomTypes[topo->atoms[atom3].type].name; string improper4 = topo->atomTypes[topo->atoms[atom4].type].name; map::const_iterator>::const_iterator currentimproper = improperLookUpTable.find(improper1+","+improper2+","+improper3+","+improper4); if(currentimproper == improperLookUpTable.end()) currentimproper = improperLookUpTable.find(improper4+","+improper3+","+improper2+","+improper1); // Try wildcards if necessary // 2) A - X - X - B if(currentimproper == improperLookUpTable.end()){ currentimproper = improperLookUpTable.find(improper1+",X,X,"+improper4); if(currentimproper == improperLookUpTable.end()) currentimproper = improperLookUpTable.find(improper4+",X,X,"+improper1); } // 3) X - A - B - C if(currentimproper == improperLookUpTable.end()){ currentimproper = improperLookUpTable.find("X,"+improper2+","+improper3+","+improper4); if(currentimproper == improperLookUpTable.end()) currentimproper = improperLookUpTable.find(improper4+","+improper3+","+improper2+",X"); } // 4) X - A - B - X if(currentimproper == improperLookUpTable.end()){ currentimproper = improperLookUpTable.find("X,"+improper2+","+improper3+",X"); if(currentimproper == improperLookUpTable.end()) currentimproper = improperLookUpTable.find("X,"+improper3+","+improper2+",X"); } // 5) X - X - A - B if(currentimproper == improperLookUpTable.end()){ currentimproper = improperLookUpTable.find("X,X,"+improper3+","+improper4); if(currentimproper == improperLookUpTable.end()) currentimproper = improperLookUpTable.find(improper4+","+improper3+",X,X"); } // if we still have not found this improper type in the PAR object, report an error if(currentimproper == improperLookUpTable.end()) report << error << "Could not find improper."<second->periodicity); torsion.forceConstant.push_back(currentimproper->second->forceConstant); torsion.phaseShift.push_back(dtor(currentimproper->second->phaseShift)); torsion.multiplicity = 1; topo->impropers.push_back(torsion); // report << plain<< (wildcard ? "#":"") // << improper1 <<"," // << improper2 <<"," // << improper3 <<"," // << improper4 <<"," // << torsion.atom1 <<"," // << torsion.atom2 <<"," // << torsion.atom3 <<"," // << torsion.atom4 <<"," // << torsion.periodicity[0] <<"," // << torsion.periodicity.size() <<"," // << torsion.forceConstant[0] <<"," // << torsion.phaseShift[0] <<"," // << torsion.multiplicity << endr; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // LennardJonesParameters //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // get some array sizes unsigned int sizeAtomTypes = topo->atomTypes.size(); unsigned int sizeNonbondeds = par.nonbondeds.size(); unsigned int sizeNbfixs = par.nbfixs.size(); topo->lennardJonesParameters.resize(sizeAtomTypes); // Nonbonded for(unsigned int i=0;iatomTypes[i].name); if(ok > ti){ bi = k; ti = ok; } if(ti > 1) break; } if(ti<=0) report << error <<"Could not find matching parameter nonbonded of atom \'"<atomTypes[i].name<<"\'."<atomTypes[j].name); if(ok > tj){ bj = k; tj = ok; } if(tj > 1) break; } if(tj<=0) report << error <<"Could not find matching parameter nonbonded of atom \'"<atomTypes[j].name<<"\'."<(r_ij) * e_ij; paramsij.B = 2 * power<6>(r_ij) * e_ij; paramsij.A14 = power<12>(r14_ij) * e14_ij; paramsij.B14 = 2 * power<6>(r14_ij) * e14_ij; //report << topo->atomTypes[i].name<<","<atomTypes[j].name<<","<lennardJonesParameters.set(i, j, paramsij); } } // NbFix for(unsigned int k=0;katomTypes[i].name); if(ok > ti){ bi = i; ti = ok; } if(ti > 1) break; } if(ti <=0) // ??? continue; for(unsigned int j=0;jatomTypes[j].name); if(ok > tj){ bj = j; tj = ok; } if(tj > 1) break; } if(tj<=0) report << error <<"Could not find matching parameter nbfix of atoms \'"<lennardJonesParameters.set(bi, bj, paramsij); //report << topo->atomTypes[bi].name<<","<atomTypes[bj].name<<","<exclude); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // buildMoleculeTable // //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void buildMoleculeTable(GenericTopology *topo){ // *** First we clear all molecules *** topo->molecules.clear(); const unsigned int numAtoms = topo->atoms.size(); // *** Collecting all possible connections, building the graph *** vector > graph(numAtoms,vector()); set > pairs; // *** Bonds *** for(unsigned int i=0;ibonds.size();++i){ int a1 = topo->bonds[i].atom1; int a2 = topo->bonds[i].atom2; graph[a1].push_back(a2); graph[a2].push_back(a1); pairs.insert(pair(std::min(a1,a2),std::max(a1,a2))); } unsigned int count = pairs.size(); // *** Angles *** for(unsigned int i=0;iangles.size();++i){ int a1 = topo->angles[i].atom1; int a2 = topo->angles[i].atom2; int a3 = topo->angles[i].atom3; graph[a1].push_back(a2); graph[a1].push_back(a3); graph[a2].push_back(a1); graph[a2].push_back(a3); graph[a3].push_back(a1); graph[a3].push_back(a2); pairs.insert(pair(std::min(a1,a2),std::max(a1,a2))); pairs.insert(pair(std::min(a3,a2),std::max(a3,a2))); } if(count < pairs.size()) report << hint << "Angles added "<dihedrals.size();++i){ int a1 = topo->dihedrals[i].atom1; int a2 = topo->dihedrals[i].atom2; int a3 = topo->dihedrals[i].atom3; int a4 = topo->dihedrals[i].atom4; graph[a1].push_back(a2); graph[a1].push_back(a3); graph[a1].push_back(a4); graph[a2].push_back(a1); graph[a2].push_back(a3); graph[a2].push_back(a4); graph[a3].push_back(a1); graph[a3].push_back(a2); graph[a3].push_back(a4); graph[a4].push_back(a1); graph[a4].push_back(a2); graph[a4].push_back(a3); pairs.insert(pair(std::min(a1,a2),std::max(a1,a2))); pairs.insert(pair(std::min(a3,a2),std::max(a3,a2))); pairs.insert(pair(std::min(a3,a4),std::max(a3,a4))); } if(count < pairs.size()) report << hint << "Dihedrals added "< > pairsAddImpropers; // Impropers are defined over the bonds 1-2,1-3,1-4 or 4-1,4-3,4-2 // but MTorsionSystemForce computes distances betweeen 1-2,2-3,3-4 // we have to take care about these differences ... for(unsigned int i=0;iimpropers.size();++i){ int a1 = topo->impropers[i].atom1; int a2 = topo->impropers[i].atom2; int a3 = topo->impropers[i].atom3; int a4 = topo->impropers[i].atom4; graph[a1].push_back(a2); graph[a1].push_back(a3); graph[a1].push_back(a4); graph[a2].push_back(a1); graph[a2].push_back(a3); graph[a2].push_back(a4); graph[a3].push_back(a1); graph[a3].push_back(a2); graph[a3].push_back(a4); graph[a4].push_back(a1); graph[a4].push_back(a2); graph[a4].push_back(a3); pair p0(std::min(a1,a2),std::max(a1,a2)); pair p1(std::min(a1,a3),std::max(a1,a3)); pair p2(std::min(a1,a4),std::max(a1,a4)); pair p3(std::min(a2,a3),std::max(a2,a3)); pair p4(std::min(a2,a4),std::max(a2,a4)); pair p5(std::min(a3,a4),std::max(a3,a4)); int j0 = 0; int j1 = 0; int j2 = 0; int j3 = 0; int j4 = 0; int j5 = 0; if(pairs.find(p0) != pairs.end()) j0++; if(pairs.find(p1) != pairs.end()) j1++; if(pairs.find(p2) != pairs.end()) j2++; if(pairs.find(p3) != pairs.end()) j3++; if(pairs.find(p4) != pairs.end()) j4++; if(pairs.find(p5) != pairs.end()) j5++; if(j0+j1+j2+j3+j4+j5 < 3){ pairs.insert(p0); pairs.insert(p1); pairs.insert(p2); } pairsAddImpropers.insert(p0); pairsAddImpropers.insert(p3); pairsAddImpropers.insert(p5); } if(count < pairs.size()) report << hint << "Impropers added "< >::const_iterator i= pairsAddImpropers.begin();i != pairsAddImpropers.end();++i) pairs.insert(*i); count = pairs.size(); //report << hint << count << endr; // To keep track which atoms already have been added // to molecules. vector unused(numAtoms,true); // Recursively finding the atoms beloning to a molecule for(unsigned int i=0;i v; vector p; findNextNeighbor(i,v,p,unused,graph,pairs); if(!v.empty()){ std::sort(v.begin(),v.end()); // add this atom list to the molecules array Molecule mol; mol.atoms = v; for(unsigned int j=0;j p[j].second) swap(p[j].first,p[j].second); std::sort(p.begin(),p.end()); mol.pairs = p; topo->molecules.push_back(mol); } } // Uncomment to sort descending after size() // std::sort(topo->molecules.begin(),topo->molecules.end(),cmpSize); // Look up table for atoms const string h("H"); const string o("O"); for(unsigned int i=0;imolecules.size();++i){ Real mass = 0.0; const vector& mol = topo->molecules[i].atoms; for(unsigned int j=0;jatoms[k].molecule = i; mass += topo->atoms[k].scaledMass; } topo->molecules[i].mass = mass; topo->molecules[i].water = (mol.size() == 3 && ((topo->atomTypes[topo->atoms[mol[0]].type].symbolName == h && topo->atomTypes[topo->atoms[mol[1]].type].symbolName == h && topo->atomTypes[topo->atoms[mol[2]].type].symbolName == o) || (topo->atomTypes[topo->atoms[mol[0]].type].symbolName == h && topo->atomTypes[topo->atoms[mol[1]].type].symbolName == o && topo->atomTypes[topo->atoms[mol[2]].type].symbolName == h) || (topo->atomTypes[topo->atoms[mol[0]].type].symbolName == o && topo->atomTypes[topo->atoms[mol[1]].type].symbolName == h && topo->atomTypes[topo->atoms[mol[2]].type].symbolName == h))); } #if defined(DEBUG_PRINT_MOLECULETABLE) report<< plain << endl << "[buildMoleculeTable]: molecule table printout:" << endl; for(int i=0;imolecules.size();++i){ for(int j=0;jmolecules[i].size();++j){ report << topo->molecules[i][j]<<" "; } report << endl; } report << endr; #endif } //____________________________________________________________findNextNeighbor void findNextNeighbor(int a, vector& v, vector& p, vector& unused, const vector >& graph, set& pairs){ if(unused[a]){ v.push_back(a); unused[a] = false; for(unsigned int i=0;i::iterator itr = pairs.find(PairInt(std::min(a,graph[a][i]),std::max(a,graph[a][i]))); if(itr != pairs.end()){ p.push_back(PairInt(a,graph[a][i])); pairs.erase(itr); } findNextNeighbor(graph[a][i],v,p,unused,graph,pairs); } } } //_____________________________________________________________________ cmpSize // bool cmpSize(const vector& m1, const vector& m2){ // return (m1.size() > m2.size()); // } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // buildExclusionTable // //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void buildExclusionTable(GenericTopology* topo, const ExclusionType& exclusionType) { if(!exclusionType.valid()) report << error <<"[buildExclusionTable()] Exclusion type not defined/valid."<exclude = exclusionType; const int numBonds = topo->bonds.size(); const int numAtoms = topo->atoms.size(); int a1,a2,a3; // *** Reformatting bond list *** vector< set > bondsParsed(numAtoms); for (int i = 0; i < numBonds; ++i) { a1=topo->bonds[i].atom1; a2=topo->bonds[i].atom2; bondsParsed[a1].insert(a2); bondsParsed[a2].insert(a1); } // *** Building exclusion list *** topo->exclusions.resize(numAtoms); topo->exclusions.clear(); list one3s; int exclusionsInserted = 0; if(exclusionType!=ExclusionType::NONE) { for(a2 = 0; a2 < numAtoms; ++a2) { for(set::iterator i=bondsParsed[a2].begin();i!=bondsParsed[a2].end();++i) { a1=*i; if(a1exclusions.add(a1,a2,EXCLUSION_FULL); ++exclusionsInserted; } if(exclusionType==ExclusionType::ONE3||exclusionType==ExclusionType::ONE4||exclusionType==ExclusionType::ONE4MODIFIED) { for(set::iterator j=i; j!=bondsParsed[a2].end();++j) { a3=*j; topo->exclusions.add(a1,a3,EXCLUSION_FULL); ++exclusionsInserted; one3s.push_front(ExclusionPair(a1,a3)); one3s.push_front(ExclusionPair(a3,a1)); } } } } if(exclusionType==ExclusionType::ONE4||exclusionType==ExclusionType::ONE4MODIFIED) { ExclusionClass currentType = EXCLUSION_NONE; if(exclusionType==ExclusionType::ONE4) currentType=EXCLUSION_FULL; if(exclusionType==ExclusionType::ONE4MODIFIED) currentType=EXCLUSION_MODIFIED; int curSrc=0; for(list::iterator i=one3s.begin(); i!=one3s.end(); ++i,++curSrc) { a1=i->a1; a2=i->a2; for(set::iterator j=bondsParsed[a2].lower_bound(a1);j!=bondsParsed[a2].end();++j) { a3=*j; if(!topo->exclusions.check(a1,a3)) { topo->exclusions.add(a1,a3,currentType); ++exclusionsInserted; } } } } } topo->exclusions.cleanTemporaries(); } } protomol/framework/frontend/inputValueDefinitions.cpp0100644027616700000500000000436010237151531022663 0ustar pbrenne1dip#include "inputValueDefinitions.h" #include "Vector.h" using std::string; using std::vector; namespace ProtoMol { //________________________________________________________ InputValue<> defineInputValue(InputOutput,"output"); defineInputValueAndText(InputDebug,"debug","report level, suppresses all output with higher output level"); defineInputValue(InputTemperature,"temperature"); defineInputValue(InputSeed,"seed"); defineInputValue(InputConfig,"config"); defineInputValue(InputFirststep,"firststep"); defineInputValue(InputNumsteps,"numsteps"); defineInputValue(InputOutputfreq,"outputfreq"); defineInputValue(InputIntegrator,"integrator"); defineInputValueWithAliases(InputPositions,"posfile",("coords")("coordinates")); defineInputValue(InputVelocities,"velfile"); defineInputValueWithAliases(InputPSF,"psffile",("structure")); defineInputValueWithAliases(InputPAR,"parfile",("parameters")); defineInputValueWithAliasesAndText(InputRemoveLinearMomentum, "removeLinearMomentum", ("comMotion"), "removes linear momentum, where -1 for never, 0 at initialization or at STS frequency "); defineInputValueWithAliasesAndText(InputRemoveAngularMomentum, "removeAngularMomentum", ("angularMomentum"), "removes angular momentum, where -1 for never, 0 at initialization or at STS frequency "); defineInputValue(InputUseBarrier,"useBarrier"); defineInputValue(InputParallelPipe,"parallelPipe"); defineInputValue(InputParallelMode,"parallelMode"); defineInputValue(InputMaxPackages,"maxPackages"); defineInputValue(InputPDBScaling,"pdbScaling"); defineInputValue(InputBoundaryConditions,"boundaryConditions"); defineInputValue(InputCellManager,"cellManager"); defineInputValue(InputDihedralMultPSF,"dihedralMultPSF"); defineInputValue(InputVirialCalc,"virialCalc"); defineInputValue(InputMolVirialCalc,"molVirialCalc"); defineInputValue(InputShake,"shake"); defineInputValue(InputShakeEpsilon,"shakeEpsilon"); defineInputValue(InputShakeMaxIter,"shakeMaxIter"); defineInputValue(InputRattle,"rattle"); defineInputValue(InputRattleEpsilon,"rattleEpsilon"); defineInputValue(InputRattleMaxIter,"rattleMaxIter"); defineInputValue(InputReducedImage,"reducedImage"); } protomol/framework/frontend/inputValueDefinitions.h0100644027616700000500000000372510237151531022334 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef INPUTVALUEDEFINITIONS_H #define INPUTVALUEDEFINITIONS_H #include "InputValue.h" namespace ProtoMol { //________________________________________________________ InputValue<> declareInputValue(InputOutput,BOOL,NOCONSTRAINTS); declareInputValue(InputDebug,INT,NOCONSTRAINTS); declareInputValue(InputTemperature,REAL,NOTNEGATIVE); declareInputValue(InputSeed,INT,NOTNEGATIVE); declareInputValue(InputConfig,STRING,NOTEMPTY); declareInputValue(InputFirststep,INT,NOCONSTRAINTS); declareInputValue(InputNumsteps,INT,NOTNEGATIVE); declareInputValue(InputOutputfreq,INT,NOTNEGATIVE); declareInputValue(InputIntegrator,INTEGRATOR,NOTEMPTY); declareInputValue(InputPositions,STRING,NOTEMPTY); declareInputValue(InputVelocities,STRING,NOTEMPTY); declareInputValue(InputPSF,STRING,NOTEMPTY); declareInputValue(InputPAR,STRING,NOTEMPTY); declareInputValue(InputRemoveLinearMomentum,INT,NOCONSTRAINTS); declareInputValue(InputRemoveAngularMomentum,INT,NOCONSTRAINTS); declareInputValue(InputUseBarrier,BOOL,NOCONSTRAINTS); declareInputValue(InputParallelPipe,INT,NOCONSTRAINTS); declareInputValue(InputParallelMode,STRING,NOTEMPTY); declareInputValue(InputMaxPackages,INT,NOCONSTRAINTS); declareInputValue(InputPDBScaling,BOOL,NOCONSTRAINTS); declareInputValue(InputBoundaryConditions,STRING,NOTEMPTY); declareInputValue(InputCellManager,STRING,NOTEMPTY); declareInputValue(InputDihedralMultPSF,BOOL,NOCONSTRAINTS); declareInputValue(InputVirialCalc,BOOL,NOCONSTRAINTS); declareInputValue(InputMolVirialCalc,BOOL,NOCONSTRAINTS); declareInputValue(InputShake,BOOL,NOCONSTRAINTS); declareInputValue(InputShakeEpsilon,REAL,NOTNEGATIVE); declareInputValue(InputShakeMaxIter,INT,NOTNEGATIVE); declareInputValue(InputRattle,BOOL,NOCONSTRAINTS); declareInputValue(InputRattleEpsilon,REAL,NOTNEGATIVE); declareInputValue(InputRattleMaxIter,INT,NOTNEGATIVE); declareInputValue(InputReducedImage,BOOL,NOCONSTRAINTS); } #endif protomol/framework/frontend/parseCommandLine.cpp0100644027616700000500000001246610237151531021562 0ustar pbrenne1dip#include "parseCommandLine.h" #include "Report.h" #include "pmconstants.h" #include "inputValueDefinitions.h" #include "Configuration.h" #include "TopologyFactory.h" #include "OutputFactory.h" #include "ForceFactory.h" #include "IntegratorFactory.h" #include "HelpTextFactory.h" #include "Topology.h" #include "VacuumBoundaryConditions.h" #include "CubicCellManager.h" #include "PeriodicBoundaryConditions.h" using std::vector; using std::string; using std::endl; using namespace ProtoMol::Report; using namespace ProtoMol::Constant; using namespace ProtoMol::Constant::ParseCommandLine; using namespace ProtoMol::Constant::SI; namespace ProtoMol { //________________________________________________________ parseCommandLine vector > parseCommandLine (int argc, char **argv, const Configuration* config, void (*registerForceExemplarsFunction)(const GenericTopology*)){ if (argc < 2 || (argc >= 2 && (string(argv[1]) =="-h" || string(argv[1]) =="--help" ))) { report << plain << "Usage: "< [" << prefix<<"otherconfigs args] [...] ..."< Man page" << endl << "-m/--man --keywords Printout of all man page keywords" << endl << "-v/--version Version number" << endl << "-f/--forces Printout of all supported forces" << endl << "-c/--constants Printout of all constants" << endl << "-i/--integrators Printout of all supported integrators" << endl << "-o/--outputs Printout of all supported outputs" << endl << "-t/--topologies Printout of all supported topologies" << endl << "-k/--keywords Printout of all supported keywords, default values and aliases" << endl << "-u/--units Printout of all ProtoMol units" << endl << PROTOMOL_HR << quit << endr; } else if (argc >= 3 && (string(argv[1]) =="-m" || string(argv[1]) =="--man" )) { HelpTextFactory::registerExemplars(config); TopologyFactory::registerHelpText(); OutputFactory::registerHelpText(); IntegratorFactory::registerHelpText(); if(string(argv[2]) == "--keywords"){ report << plain << HelpTextFactory::keywords() << quit << endr; } else { report << plain << HelpTextFactory::search(string(argv[2])) << quit << endr; } } else if (string(argv[1]) == "-v" || string(argv[1]) == "--version") { report << plain << quit << endr; } else if (string(argv[1]) == "-c" || string(argv[1]) == "--constants") { report << plain << Constant::print() << quit << endr; } else if (string(argv[1]) == "-i" || string(argv[1]) == "--integrators") { report << plain << "Integrators:\n"<print():string("Undefined configuration"))<getId()<<"\' topology:\n" << PROTOMOL_HR < > res; bool first = true; for (int i = 1; i < argc; ++i){ string str(argv[i]); if(first && !equalStart(prefix,str)){ res.resize(res.size()+1); res[res.size()-1].push_back(InputConfig::keyword); } else if(equalStart(prefix,str)){ res.resize(res.size()+1); str = str.substr(prefix.size()); } res[res.size()-1].push_back(str); first = false; } return res; } } protomol/framework/frontend/parseCommandLine.h0100644027616700000500000000147610237151531021226 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PARSECOMMANDLINE_H #define PARSECOMMANDLINE_H #include #include namespace ProtoMol { class Configuration; class GenericTopology; //________________________________________________________ parseCommandLine std::vector > parseCommandLine (int argc, char **argv, const Configuration* config=NULL, void (*registerForceExemplarsFunction)(const GenericTopology*)=NULL); // Parses the command line arguments and returns 2d vector string. // The parsing expects keyword with Constant::ParseCommandLine::prefix prefix. // NB: We pass the function (registerForceExemplarsFunction) to // decouple registerForceExemplars from parseCommandLine, thus // we do not need to link registerForceExemplars if called with NULL } #endif protomol/framework/imd/0040755027616700000500000000000010237151531014561 5ustar pbrenne1dipprotomol/framework/imd/.cvsignore0100644027616700000500000000004710237151531016557 0ustar pbrenne1dip*.o *.il Makefile.in Makefile ti_files protomol/framework/imd/HapticSystemForce.cpp0100644027616700000500000001043410237151531020660 0ustar pbrenne1dip#include "HapticSystemForce.h" #include "IMDElf.h" #include "topologyutilities.h" #include "Vector3DBlock.h" //#include "ScalarStructure.h" #include "GenericTopology.h" using std::vector; using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ HapticSystemForce const string HapticSystemForce::keyword("Haptic"); HapticSystemForce::HapticSystemForce():SystemForce(), myHapticForces(NULL), myIMDElf(NULL), myStepInc(-1), myStepCounter(-1), myPort(-1), myCached(false){} HapticSystemForce::HapticSystemForce(int port, int trate, int timeout, int stepInc, int waitIMD):SystemForce(), myHapticForces(new Vector3DBlock()), myIMDElf(new IMDElf()), myStepInc(0), myStepCounter(stepInc), myPort(port), myCached(false) { myIMDElf->trate = trate; myIMDElf->timeout = timeout; myIMDElf->wait_imd = waitIMD; if (myIMDElf->listen(port)) report << recoverable <<"[HapticSystemForce::HapticSystemForce] IMD listen failed!"<hookup()) report << recoverable <<"[HapticSystemForce::HapticSystemForce] IMD connection attempt failed!"<trate = haptic.myIMDElf->trate; // myIMDElf->timeout = haptic.myIMDElf->timeout; // myIMDElf->wait_imd = haptic.myIMDElf->wait_imd; // myStepCounter = 0; // myStepInc = haptic.myStepInc; // myHapticForces = new Vector3DBlock(); // } HapticSystemForce::~HapticSystemForce(){ if(myHapticForces != NULL) delete myHapticForces; if(myIMDElf != NULL) delete myIMDElf; } void HapticSystemForce::setForce(Vector3DBlock* forces){ if(myHapticForces != forces && myHapticForces != NULL) delete myHapticForces; myHapticForces = forces; } void HapticSystemForce::getParameters(vector& parameters) const { parameters.push_back(Parameter("-port",Value(myPort,ConstraintValueType::NotNegative()),2000)); parameters.push_back(Parameter("-trate",Value(myIMDElf!=NULL?myIMDElf->trate:-1,ConstraintValueType::NotNegative()),1)); parameters.push_back(Parameter("-timeout",Value(myIMDElf!=NULL?myIMDElf->timeout:-1,ConstraintValueType::NotNegative()),1000)); parameters.push_back(Parameter("-step_inc", Value(myStepInc,ConstraintValueType::NotNegative()),1)); parameters.push_back(Parameter("-wait",Value(myIMDElf!=NULL?myIMDElf->wait_imd:-1,ConstraintValueType::NotNegative()),0)); } Force* HapticSystemForce::doMake(string& , vector values) const { return (new HapticSystemForce(values[0],values[1],values[2],values[3],values[4])); } void HapticSystemForce::evaluate (const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* ) { // Set the correct size of the haptic forces coordinate block myHapticForces->zero(positions->size()); //Check for new connections if client is detached if (!myIMDElf->client_alive()) myIMDElf->hookup(); // UPDATE theData.theTopo.hapticForces HERE!!! if (myIMDElf->client_alive()) { if (myIMDElf->get_haptics(*myHapticForces)) report << recoverable << "[HapticSystemForce::evaluate] Updating haptic forces for current time-step." << endr; } //Center the coordinates to fit //within a VMD window. Vector3DBlock data = *positions; if(!myCached){ myCenter = centerOfMass(positions,topo); myCached = true; data = *positions; } else { Vector3D delta = myCenter-centerOfMass(positions,topo); for(unsigned int i=0;isize();i++) data[i] = (*positions)[i]+delta; } // Attempt to send imd coordinates if (myIMDElf->client_alive()) if ((myStepCounter % myIMDElf->trate) == 0) if (myIMDElf->send_coords(data) < 0) report << recoverable << "[HapticSystemForce::evaluate] Sending coordinates to client for time-step: " << myStepCounter<<"." << endr; forces->intoAdd(*myHapticForces); myStepCounter += myStepInc; // energies.hapticEnergy = myHapticEnergy; } } protomol/framework/imd/HapticSystemForce.h0100644027616700000500000000504610237151531020330 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef HAPTICSYSTEMFORCE_H #define HAPTICSYSTEMFORCE_H #include "SystemForce.h" #include "Vector3D.h" namespace ProtoMol { class IMDElf; class Vector3DBlock; class ScalarStructure; class GenericTopology; //_________________________________________________________________ HapticSystemForce class HapticSystemForce : public SystemForce { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: HapticSystemForce(); HapticSystemForce(int port, int trate, int timeout, int stepInc, int waitIMD); virtual ~HapticSystemForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class HapticSystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void setForce(Vector3DBlock* forces); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getKeyword() const{return keyword;} virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 5;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Force //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void uncache(){myCached=false;}; private: virtual Force* doMake(std::string& errMsg, std::vector values) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class SystemForce //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void evaluate(const GenericTopology* topo, const Vector3DBlock* positions, Vector3DBlock* forces, ScalarStructure* energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Vector3DBlock* myHapticForces; IMDElf* myIMDElf; int myStepInc; int myStepCounter; int myPort; Vector3D myCenter; bool myCached; }; //______________________________________________________________________ INLINES } #endif /* HAPTICSYSTEMFORCE_H */ protomol/framework/imd/HapticSystemForceBase.cpp0100644027616700000500000000031210237151531021445 0ustar pbrenne1dip#include "HapticSystemForceBase.h" using std::string; //_________________________________________________________________ HapticSystemForceBase const string HapticSystemForceBase::keyword("Haptic"); protomol/framework/imd/HapticSystemForceBase.h0100644027616700000500000000046710237151531021125 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef HAPTICSYSTEMFORCEBASE_H #define HAPTICSYSTEMFORCEBASE_H #include //_________________________________________________________________ HapticSystemForceBase class HapticSystemForceBase { public: static const std::string keyword; }; #endif /* HAPTICSYSTEMFORCEBASE_H */ protomol/framework/imd/IMDElf.cpp0100644027616700000500000001106610237151531016326 0ustar pbrenne1dip#include "IMDElf.h" #include "Timer.h" #include "Report.h" #include "vmdsock.h" using namespace ProtoMol::Report; using namespace ProtoMol::IMD; namespace ProtoMol { //_________________________________________________________________ IMDElf IMDElf::IMDElf():trate(1),timeout(1000),wait_imd(0),sock(NULL),clientsock(NULL){} IMDElf::~IMDElf() { if (sock) vmdsock_destroy(sock); if (clientsock) vmdsock_destroy(clientsock); } int IMDElf::listen(int defport) { sock = vmdsock_create(); port = find_free_port(sock, defport); if (port < 0) { vmdsock_destroy(sock); return 1; } vmdsock_listen(sock); return 0; } int IMDElf::hookup() { clientsock = 0; if (!clientsock) { if (wait_imd) { report << plain << "Waiting for IMD connection..." << endr; do { rc = vmdsock_selread(sock, 3600); } while (rc <= 0); } else { rc = vmdsock_selread(sock, 0); } //while ((rc = vmdsock_selread(sock, 3600)) <= 0); if (rc > 0) { clientsock = vmdsock_accept(sock); if (!clientsock) { report << recoverable << "IMDElf: Accept failed" << endr; return 1; } else { if (!connect(clientsock)) { report << recoverable << "IMDElf: IMD handshake failed" << endr; vmdsock_destroy(clientsock); clientsock = NULL; return 1; } } } } return 0; } int IMDElf::send_coords(const Vector3DBlock &c) { //First convert the coordiantes to a giant array of floats so that VMD //can take it. float* coords = new float[c.size() * 3]; //float coords[(const int) c.size() * 3]; for (unsigned int i = 0; i < c.size(); ++i) { coords[i*3] = c[i].x; coords[i*3 + 1] = c[i].y; coords[i*3 + 2] = c[i].z; } int rc = imd_send_fcoords(clientsock, c.size()*3, (const float*) coords); delete [] coords; return rc; } int IMDElf::get_haptics(Vector3DBlock &h) { int length; bool kill_switch = false; while (!kill_switch && (vmdsock_selread(clientsock,0) > 0)) { // Drain the socket int type = imd_recv_header(clientsock, &length); switch (type) { case IMD_MDCOMM: vmd_atoms = new int32[length]; vmd_forces = new float[3*length]; h.resize(length); //Resize the haptic forces we will return if (imd_recv_mdcomm(clientsock, length, vmd_atoms, vmd_forces)) { report << recoverable << "Error reading MDComm forces" << endr; return -1; } for (int i = 0; i < length; ++i) { h[vmd_atoms[i]].x = vmd_forces[i*3]; h[vmd_atoms[i]].y = vmd_forces[i*3 + 1]; h[vmd_atoms[i]].z = vmd_forces[i*3 + 2]; } delete [] vmd_atoms; delete [] vmd_forces; break; case IMD_TRATE: if (length > 0) { report << plain << "Setting transfer rate to client at " << length << endr; trate = length; } else //Invalid transfer rate report << recoverable << "Invalid transfer rate. Rate unchanged." << endr; break; case IMD_DISCONNECT: report << plain << "Remote client has detached from simulation." << endr; vmdsock_destroy(clientsock); clientsock = 0; kill_switch = true; break; case IMD_ENERGIES: IMDEnergies junk; imd_recv_energies(clientsock, &junk); break; case IMD_FCOORDS: vmd_forces = new float[3*length]; imd_recv_fcoords(clientsock, length, vmd_forces); delete [] vmd_forces; break; case IMD_IOERROR: vmdsock_destroy(clientsock); clientsock = NULL; report << recoverable << "IMD connection lost" << endr; break; default: report << recoverable << "Remote client sent invalid header" << endr; } } return 0; } bool IMDElf::client_alive() { if (clientsock == 0) return false; return true; } int IMDElf::find_free_port(void *sock, int defport) { if (vmdsock_bind(sock, defport)==0) return defport; // success for (int port=1025; port < 4096; port++) if (vmdsock_bind(sock, port)==0) return port; return -1; } int IMDElf::connect(void *s) { if (imd_handshake(s)) { //iout << iWARN << "IMD handshake failed\n" << endi; report << recoverable << "IMD handshake failed" << endr; return 0; } // Wait a second, then see if VMD has responded. //double t = CmiWallTimer(); //int i = 10000000; //while (i > 0) // --i; Timer t; t.start(); while(1000*t.getTime().getUserTime() using std::string; #include #include namespace ProtoMol { namespace IMD { typedef struct { int32 type; int32 length; } IMDheader; #define HEADERSIZE 8 #define IMDVERSION 2 static void swap4(char *data, int ndata) { int i; char *dataptr; char b0, b1; dataptr = data; for (i=0; i> 24) & 0x0FF; ((char *)&n)[1] = (h >> 16) & 0x0FF; ((char *)&n)[2] = (h >> 8) & 0x0FF; ((char *)&n)[3] = h & 0x0FF; return n; } typedef struct { unsigned int highest : 8; unsigned int high : 8; unsigned int low : 8; unsigned int lowest : 8; } netint; static int32 imd_ntohl(int32 n) { int32 h = 0; netint net; net = *((netint *)&n); h |= net.highest << 24 | net.high << 16 | net.low << 8 | net.lowest; return h; } static void fill_header(IMDheader *header, IMDType type, int32 length) { header->type = imd_htonl((int32)type); header->length = imd_htonl(length); } static void swap_header(IMDheader *header) { header->type = imd_ntohl(header->type); header->length= imd_ntohl(header->length); } static int32 imd_readn(void *s, char *ptr, int32 n) { int32 nleft; int32 nread; nleft = n; while (nleft > 0) { if ((nread = vmdsock_read(s, ptr, nleft)) < 0) { if (errno == EINTR) nread = 0; /* and call read() again */ else return -1; } else if (nread == 0) break; /* EOF */ nleft -= nread; ptr += nread; } return n-nleft; } static int32 imd_writen(void *s, const char *ptr, int32 n) { int32 nleft; int32 nwritten; nleft = n; while (nleft > 0) { if ((nwritten = vmdsock_write(s, ptr, nleft)) <= 0) { if (errno == EINTR) nwritten = 0; else return -1; } nleft -= nwritten; ptr += nwritten; } return n; } int imd_disconnect(void *s) { IMDheader header; fill_header(&header, IMD_DISCONNECT, 0); return (imd_writen(s, (char *)&header, HEADERSIZE) != HEADERSIZE); } int imd_pause(void *s) { IMDheader header; fill_header(&header, IMD_PAUSE, 0); return (imd_writen(s, (char *)&header, HEADERSIZE) != HEADERSIZE); } int imd_kill(void *s) { IMDheader header; fill_header(&header, IMD_KILL, 0); return (imd_writen(s, (char *)&header, HEADERSIZE) != HEADERSIZE); } static int imd_go(void *s) { IMDheader header; fill_header(&header, IMD_GO, 0); return (imd_writen(s, (char *)&header, HEADERSIZE) != HEADERSIZE); } int imd_handshake(void *s) { IMDheader header; fill_header(&header, IMD_HANDSHAKE, 1); header.length = IMDVERSION; // Not byteswapped! return (imd_writen(s, (char *)&header, HEADERSIZE) != HEADERSIZE); } int imd_trate(void *s, int32 rate) { IMDheader header; fill_header(&header, IMD_TRATE, rate); return (imd_writen(s, (char *)&header, HEADERSIZE) != HEADERSIZE); } // Data methods int imd_send_mdcomm(void *s,int32 n,const int32 *indices,const float *forces) { int32 size = HEADERSIZE+16*n; char *buf = new char[size]; fill_header((IMDheader *)buf, IMD_MDCOMM, n); memcpy((void *)(buf+HEADERSIZE), (const void *)indices, 4*n); memcpy((void *)(buf+HEADERSIZE+4*n), (const void *)forces, 12*n); int rc = (imd_writen(s, buf, size) != size); delete [] buf; return rc; } int imd_send_energies(void *s, const IMDEnergies *energies) { int32 size = HEADERSIZE+sizeof(IMDEnergies); char *buf = new char[size]; fill_header((IMDheader *)buf, IMD_ENERGIES, 1); memcpy((void *)(buf+HEADERSIZE), (const void *)energies, sizeof(IMDEnergies)); int rc = (imd_writen(s, buf, size) != size); delete [] buf; return rc; } int imd_send_fcoords(void *s, int32 n, const float *coords) { int32 size = HEADERSIZE+12*n; char *buf = new char[size]; fill_header((IMDheader *)buf, IMD_FCOORDS, n); memcpy((void *)(buf+HEADERSIZE), (const void *)coords, 12*n); int rc = (imd_writen(s, buf, size) != size); delete [] buf; return rc; } // The IMD receive functions // The IMD receive functions IMDType imd_recv_header_nolengthswap(void *s, int32 *length) { IMDheader header; if (imd_readn(s, (char *)&header, HEADERSIZE) != HEADERSIZE) return IMD_IOERROR; *length = header.length; swap_header(&header); return IMDType(header.type); } int imd_recv_handshake(void *s) { // Wait 5 seconds for the handshake to come if (vmdsock_selread(s, 5) != 1) return -1; // Check to see that a valid handshake was received int32 buf; IMDType type = imd_recv_header_nolengthswap(s, &buf); if (type != IMD_HANDSHAKE) return -1; // Check its endianness, as well as the IMD version. if (buf == IMDVERSION) { if (!imd_go(s)) return 0; return -1; } swap4((char *)&buf, 4); if (buf == IMDVERSION) { if (!imd_go(s)) return 1; } // We failed to determine endianness. return -1; } IMDType imd_recv_header(void *s, int32 *length) { IMDheader header; if (imd_readn(s, (char *)&header, HEADERSIZE) != HEADERSIZE) return IMD_IOERROR; swap_header(&header); *length = header.length; return IMDType(header.type); } int imd_recv_mdcomm(void *s, int32 n, int32 *indices, float *forces) { if (imd_readn(s, (char *)indices, 4*n) != 4*n) return 1; if (imd_readn(s, (char *)forces, 12*n) != 12*n) return 1; return 0; } int imd_recv_energies(void *s, IMDEnergies *energies) { return (imd_readn(s, (char *)energies, sizeof(IMDEnergies)) != sizeof(IMDEnergies)); } int imd_recv_fcoords(void *s, int32 n, float *coords) { return (imd_readn(s, (char *)coords, 12*n) != 12*n); } } } protomol/framework/imd/imd.h0100644027616700000500000000302510237151531015500 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef IMD_H #define IMD_H #include "protomol.h" #include "typeSelection.h" namespace ProtoMol { namespace IMD { typedef TypeSelection::Int<4>::type int32; enum IMDType { IMD_DISCONNECT, IMD_ENERGIES, IMD_FCOORDS, IMD_GO, IMD_HANDSHAKE, IMD_KILL, IMD_MDCOMM, IMD_PAUSE, IMD_TRATE, IMD_IOERROR }; typedef struct { int32 tstep; float T; float Etot; float Epot; float Evdw; float Eelec; float Ebond; float Eangle; float Edihe; float Eimpr; } IMDEnergies; /// Send simple messages - these consist of a header with no subsequent data int imd_disconnect(void *); int imd_pause(void *); int imd_kill(void *); int imd_handshake(void *); int imd_trate(void *, int32); // Send data int imd_send_mdcomm(void *, int32, const int32 *, const float *); int imd_send_energies(void *, const IMDEnergies *); int imd_send_fcoords(void *, int32, const float *); /** *recv_handshake returns 0 if server and client have the same relative * endianism; returns 1 if they have opposite endianism, and -1 if there * was an error in the handshake process. */ int imd_recv_handshake(void *); IMDType imd_recv_header(void *, int32 *); int imd_recv_mdcomm(void *, int32, int32 *, float *); int imd_recv_energies(void *, IMDEnergies *); int imd_recv_fcoords(void *, int32, float *); } } #endif protomol/framework/imd/vmdsock.cpp0100644027616700000500000001145410237151531016735 0ustar pbrenne1dip/** *** Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by *** The Board of Trustees of the University of Illinois. *** All rights reserved. **/ #if ( defined(DUMMY_VMDSOCK) ) #include "vmdsock.h" namespace ProtoMol { namespace IMD { int vmdsock_init(void) { return -1; } void * vmdsock_create(void) { return 0; } int vmdsock_connect(void *v, const char *host, int port) { return 0; } int vmdsock_bind(void * v, int port) { return 0; } int vmdsock_listen(void * v) { return 0; } void *vmdsock_accept(void * v) { return 0; } int vmdsock_write(void * v, const void *buf, int len) { return 0; } int vmdsock_read(void * v, void *buf, int len) { return 0; } void vmdsock_destroy(void * v) { return; } int vmdsock_selread(void *v, int sec) { return 0; } int vmdsock_selwrite(void *v, int sec) { return 0; } } } #else #define VMDSOCKINTERNAL #include #include #include #include using std::string; #if defined(WIN32) #include #else #include #include #include #include /* for Linux */ #include #include #endif #include #include "vmdsock.h" #include "protomol.h" namespace ProtoMol { namespace IMD { int vmdsock_init(void) { #if defined(WIN32) int rc = 0; static int initialized=0; if (!initialized) { WSADATA wsdata; rc = WSAStartup(MAKEWORD(1,1), &wsdata); if (rc == 0) initialized = 1; } return rc; #else return 0; #endif } void * vmdsock_create(void) { vmdsocket * s; s = (vmdsocket *) malloc(sizeof(vmdsocket)); if (s != NULL) memset(s, 0, sizeof(vmdsocket)); if ((s->sd = socket(PF_INET, SOCK_STREAM, 0)) == -1) { printf("Failed to open socket."); free(s); return NULL; } return (void *) s; } int vmdsock_connect(void *v, const char *host, int port) { vmdsocket *s = (vmdsocket *) v; char address[1030]; struct hostent *h; h=gethostbyname(host); if (h == NULL) return -1; sprintf(address, "%d.%d.%d.%d", (unsigned char) h->h_addr_list[0][0], (unsigned char) h->h_addr_list[0][1], (unsigned char) h->h_addr_list[0][2], (unsigned char) h->h_addr_list[0][3]); memset(&(s->addr), 0, sizeof(s->addr)); s->addr.sin_family = PF_INET; s->addr.sin_addr.s_addr = inet_addr(address); s->addr.sin_port = htons(port); return connect(s->sd, (struct sockaddr *) &s->addr, sizeof(s->addr)); } int vmdsock_bind(void * v, int port) { vmdsocket *s = (vmdsocket *) v; memset(&(s->addr), 0, sizeof(s->addr)); s->addr.sin_family = PF_INET; s->addr.sin_port = htons(port); return bind(s->sd, (struct sockaddr *) &s->addr, sizeof(s->addr)); } int vmdsock_listen(void * v) { vmdsocket *s = (vmdsocket *) v; return listen(s->sd, 10); } void *vmdsock_accept(void * v) { int rc; vmdsocket *new_s = NULL, *s = (vmdsocket *) v; SOCKLEN_TYPE len; len = sizeof(s->addr); rc = accept(s->sd, (struct sockaddr *) &s->addr, &len); if (rc >= 0) { new_s = (vmdsocket *) malloc(sizeof(vmdsocket)); if (new_s != NULL) { *new_s = *s; new_s->sd = rc; } } return (void *)new_s; } int vmdsock_write(void * v, const void *buf, int len) { vmdsocket *s = (vmdsocket *) v; #if defined(WIN32) return send(s->sd, (const char*) buf, len, 0); // windows lacks the write() call #else return write(s->sd, buf, len); #endif } int vmdsock_read(void * v, void *buf, int len) { vmdsocket *s = (vmdsocket *) v; #if defined(WIN32) return recv(s->sd, (char*) buf, len, 0); // windows lacks the read() call #else return read(s->sd, buf, len); #endif } void vmdsock_destroy(void * v) { vmdsocket * s = (vmdsocket *) v; if (s == NULL) return; #if defined(WIN32) closesocket(s->sd); #else close(s->sd); #endif free(s); } int vmdsock_selread(void *v, int sec) { vmdsocket *s = (vmdsocket *)v; fd_set rfd; struct timeval tv; int rc; FD_ZERO(&rfd); FD_SET(s->sd, &rfd); memset((void *)&tv, 0, sizeof(struct timeval)); tv.tv_sec = sec; do { rc = select(s->sd+1, &rfd, NULL, NULL, &tv); } while (rc < 0 && errno == EINTR); return rc; } int vmdsock_selwrite(void *v, int sec) { vmdsocket *s = (vmdsocket *)v; fd_set wfd; struct timeval tv; int rc; FD_ZERO(&wfd); FD_SET(s->sd, &wfd); memset((void *)&tv, 0, sizeof(struct timeval)); tv.tv_sec = sec; do { rc = select(s->sd + 1, NULL, &wfd, NULL, &tv); } while (rc < 0 && errno == EINTR); return rc; } } } #endif protomol/framework/imd/vmdsock.h0100644027616700000500000000204710237151531016400 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef VMDSOCK_H #define IVMDSOCK_H #if defined(VMDSOCKINTERNAL) #ifndef WIN32 #include #include #include #include #include #include #endif namespace ProtoMol { namespace IMD { typedef struct { struct sockaddr_in addr; //< address of socket provided by bind() int addrlen; //< size of the addr struct int sd; //< socket file descriptor } vmdsocket; } } #endif /* VMDSOCKINTERNAL */ namespace ProtoMol { namespace IMD { int vmdsock_init(void); void *vmdsock_create(void); int vmdsock_bind(void *, int); int vmdsock_listen(void *); void *vmdsock_accept(void *); //< return new socket int vmdsock_connect(void *, const char *, int); int vmdsock_write(void *, const void *, int); int vmdsock_read(void *, void *, int); int vmdsock_selread(void *, int); int vmdsock_selwrite(void *, int); void vmdsock_destroy(void *); } } #endif protomol/framework/integrators/0040755027616700000500000000000010237151532016352 5ustar pbrenne1dipprotomol/framework/integrators/.cvsignore0100644027616700000500000000004710237151531020347 0ustar pbrenne1dip*.o *.il Makefile.in Makefile ti_files protomol/framework/integrators/BBKIntegrator.cpp0100644027616700000500000000751610237151531021520 0ustar pbrenne1dip#include "BBKIntegrator.h" #include "Report.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "topologyutilities.h" #include "pmconstants.h" using namespace ProtoMol::Report; using std::vector; using std::string; namespace ProtoMol { //________________________________________________________ BBKIntegrator const string BBKIntegrator::keyword("BBK"); BBKIntegrator::BBKIntegrator(): STSIntegrator(), myLangevinTemperature(-1.0), myGamma(-1.0), mySeed(-1){} BBKIntegrator::BBKIntegrator(Real timestep, Real langevinTemperature, Real gamma, int seed, ForceGroup *overloadedForces): STSIntegrator(timestep,overloadedForces), myLangevinTemperature(langevinTemperature), myGamma(gamma*0.001), mySeed(seed){ } void BBKIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ STSIntegrator::initialize(topo,positions,velocities,energies); initializeForces(); } void BBKIntegrator::run (int numTimesteps) { for (int i = 0; i < numTimesteps; i++) { preStepModify(); addRandomForceToMyForce(); doFirstHalfKick(); doDriftOrNextIntegrator(); calculateForces(); addRandomForceToMyForce(); doSecondHalfKick(); postStepModify(); } } // BBK procedure to add random force to the force vector void BBKIntegrator::addRandomForceToMyForce() { const Real dt = getTimestep()/Constant::TIMEFACTOR; Real forceConstant =(2*Constant::BOLTZMANN*myLangevinTemperature*myGamma)/dt; for(unsigned int i=0;isize();i++){ // Generate gaussian random numbers for each spatial directions such that // the average is 0 and the standard deviation is fParam. The algorithm // that is used was taken from X-PLOR. The algorithm is a "sum of // uniform deviates algorithm" which may be found in Abramowitz and // Stegun, "Handbook of Mathematical Functions", pg 952. Vector3D randomForce(randomGaussianNumber(mySeed),randomGaussianNumber(mySeed),randomGaussianNumber(mySeed)); Real mass = myTopo->atoms[i].scaledMass; randomForce *= sqrt(forceConstant*mass); (*myForces)[i] += randomForce; } } void BBKIntegrator::doFirstHalfKick(){ // Our range. This also assumed by the methods in Parallel!!! Real dt = getTimestep()/Constant::TIMEFACTOR; // We only compute the doKick & doDrift on our range for(unsigned int i=0;isize();i++){ (*myVelocities)[i] *= 1.0-0.5*dt*myGamma; (*myVelocities)[i] += (*myForces)[i]*dt*0.5/myTopo->atoms[i].scaledMass; } buildMolecularMomentum(myVelocities,myTopo); } void BBKIntegrator::doSecondHalfKick(){ // Our range. This also assumed by the methods in Parallel!!! Real dt = getTimestep()/Constant::TIMEFACTOR; // We only compute the doKick & doDrift on our range for(unsigned int i=0;isize();i++){ (*myVelocities)[i] += (*myForces)[i]*dt*0.5/myTopo->atoms[i].scaledMass; (*myVelocities)[i] /= (1.0+0.5*dt*myGamma); } buildMolecularMomentum(myVelocities,myTopo); } void BBKIntegrator::getParameters(vector& parameters) const { STSIntegrator::getParameters(parameters); parameters.push_back(Parameter("temperature",Value(myLangevinTemperature,ConstraintValueType::NotNegative()))); parameters.push_back(Parameter("gamma",Value(myGamma*1000,ConstraintValueType::NotNegative()))); parameters.push_back(Parameter("seed",Value(mySeed,ConstraintValueType::NotNegative()),1234)); } STSIntegrator* BBKIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{ return new BBKIntegrator(values[0],values[1],values[2],values[3],fg); } } protomol/framework/integrators/BBKIntegrator.h0100644027616700000500000000531510237151531021160 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef BBKINTEGRATOR_H #define BBKINTEGRATOR_H #include "STSIntegrator.h" namespace ProtoMol { class ScalarStructure; class ForceGroup; class Vector3DBlock; /** BBKIntegrator which is one type of Langevin integrator using the BBK discretization */ //_______________________________________________ BBKIntegrator class BBKIntegrator: public STSIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: BBKIntegrator(); BBKIntegrator(Real timestep, Real bbkTemperature, Real gamma, int seed, ForceGroup *overloadedForces); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 4;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual void run (int numTimesteps); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class StandardIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class STSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual STSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg)const; protected: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class BBKIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void doFirstHalfKick(); void doSecondHalfKick(); void addRandomForceToMyForce(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real myLangevinTemperature; Real myGamma; int mySeed; }; //_________________________________________________________________ INLINES } #endif protomol/framework/integrators/BSplineMOLLYIntegrator.cpp0100644027616700000500000004360210237151531023267 0ustar pbrenne1dip#include "BSplineMOLLYIntegrator.h" #include "ReducedHessAngle.h" #include "reducedHessBond.h" #include "ForceGroup.h" #include "SystemForce.h" #include "mathutilities.h" #include "Report.h" #include "pmconstants.h" #include "GenericTopology.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" using namespace ProtoMol::Report; using std::vector; using std::string; using std::map; namespace ProtoMol { //_____________________________________________________BSplineMOLLYIntegrator const string BSplineMOLLYIntegrator::keyword("BSplineMOLLY"); BSplineMOLLYIntegrator::BSplineMOLLYIntegrator() : MOLLYIntegrator(), myCached(false), myMOLLYForcesBonded(NULL), myMOLLYForcesHBonded(NULL), myHBondForces(NULL), myMOLLYPositions(NULL), myMOLLYVelocities(NULL), myMOLLYForces(NULL), myMOLLYEnergies(NULL), myB(NULL), myAngleFilter(NULL), myPxAngle(NULL), myXxAngle(NULL), myBxAngle(NULL), myTypeOfBSpline(), myMOLLYStepsize(0.0), myMOLLYStepsizeP(0.0), myNumIter(0), myBond(false), myAngle(false), myCoulomb(false), myLennardJones(false){} BSplineMOLLYIntegrator::BSplineMOLLYIntegrator(int cycles, const BSplineType& typeOfBSpline, Real mollyStepsize, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator) : MOLLYIntegrator(cycles,overloadedForces,nextIntegrator), myCached(false), myMOLLYForcesBonded(new ForceGroup), myMOLLYForcesHBonded(new ForceGroup), myHBondForces(new ForceGroup), myMOLLYPositions(new Vector3DBlock), myMOLLYVelocities(new Vector3DBlock), myMOLLYForces(new Vector3DBlock), myMOLLYEnergies(new ScalarStructure), myB(new Vector3DBlock), myAngleFilter(new vector< ReducedHessAngle >()), myPxAngle(new vector< ReducedHessAngle >()), myXxAngle(new vector< ReducedHessAngle >()), myBxAngle(new vector< ReducedHessAngle >()), myTypeOfBSpline(typeOfBSpline), myMOLLYStepsize(mollyStepsize/Constant::TIMEFACTOR), myMOLLYStepsizeP(mollyStepsize), myNumIter(0), myBond(false), myAngle(false), myCoulomb(false), myLennardJones(false){ // Retrieve all meta forces and assign them to the foruce groups vector mollyForces = overloadedForces->getDeepMetaForces(); for(unsigned int i=0;igetId(),"MollyBond")){ myMOLLYForcesBonded->addForce(Makeable::copy(mollyForces[i])); myBond = true; } else if(equalNocase(mollyForces[i]->getId(),"MollyAngle")){ myMOLLYForcesBonded->addForce(Makeable::copy(mollyForces[i])); myAngle = true; } else if(equalNocase(mollyForces[i]->getId(),"MollyCoulomb")){ myHBondForces->addForce(Makeable::copy(mollyForces[i])); myCoulomb = true; } else if(equalNocase(mollyForces[i]->getId(),"HBondCoulomb")){ myMOLLYForcesHBonded->addForce(Makeable::copy(mollyForces[i])); myCoulomb = true; } else if(equalNocase(mollyForces[i]->getId(),"MollyLennardJones")){ myHBondForces->addForce(Makeable::copy(mollyForces[i])); myLennardJones = true; } else if(equalNocase(mollyForces[i]->getId(),"HBondLennardJones")){ myMOLLYForcesHBonded->addForce(Makeable::copy(mollyForces[i])); myLennardJones = true; } else if(equalNocase(mollyForces[i]->getId(),"MollyLennardJonesCoulomb")){ myHBondForces->addForce(Makeable::copy(mollyForces[i])); myLennardJones = true; myCoulomb = true; } else if(equalNocase(mollyForces[i]->getId(),"HBondLennardJonesCoulomb")){ myMOLLYForcesHBonded->addForce(Makeable::copy(mollyForces[i])); myLennardJones = true; myCoulomb = true; } else { report << recoverable << getId() <<" could not recognize molly force \'" <getId()<<"\'." <& parameters) const { MTSIntegrator::getParameters(parameters); parameters.push_back(Parameter("BSplineType",Value((string)myTypeOfBSpline,ConstraintValueType::NotEmpty()),Text(std::string("interpolation scheme (")+BSplineType::getPossibleValues()+std::string(")")))); parameters.push_back(Parameter("mollyStepsize",Value(myMOLLYStepsizeP,ConstraintValueType::Positive()))); } MTSIntegrator* BSplineMOLLYIntegrator::doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const{ BSplineType bsplineType(values[1].getString()); if(!bsplineType.valid()){ errMsg += " BSplineType \'"+values[1].getString()+"\' not valid."; return NULL; } return (new BSplineMOLLYIntegrator(values[0],bsplineType,values[2],fg,nextIntegrator)); } void BSplineMOLLYIntegrator::init(){ map bonds; for (unsigned int i = 0; i < myTopo->bonds.size(); i++){ BondIndex b(myTopo->bonds[i].atom1,myTopo->bonds[i].atom2); if(bonds.find(b) == bonds.end()){ bonds[b] = i; } else { int j = bonds[b]; report <angles.size(); i++){ BondIndex a1(myTopo->angles[i].atom1,myTopo->angles[i].atom2); BondIndex a2(myTopo->angles[i].atom2,myTopo->angles[i].atom3); if(bonds.find(a1) != bonds.end() && bonds.find(a2) != bonds.end()){ myAngleIndexes.push_back(AngleIndex(i,bonds[a1],bonds[a2])); } else { report <angles[i].atom1+1<<","<angles[i].atom2+1<<","<angles[i].atom3+1<<" has not two bonds"< #include namespace ProtoMol { class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; class StandardIntegrator; class ReducedHessAngle; //__________________________________________________ BSplineMOLLYIntegrator /** This integrator is developped using an approximation to the dynamics: let the heavy atoms always be fixed in their position such that we could use the reduced forms of Hessians. This is a physically and mathematically correct approximation. */ class BSplineMOLLYIntegrator: public MOLLYIntegrator { struct BondIndex { BondIndex(int a, int b):b1(std::min(a,b)),b2(std::max(a,b)){} int b1,b2; bool operator<(const BondIndex& a) const { if(b1 < a.b1) return true; else if(b1 > a.b1) return false; else return (b2 < a.b2); } }; struct AngleIndex { AngleIndex(int a, int b, int c):angle(a),bond1(b),bond2(c){} int angle,bond1,bond2; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: BSplineMOLLYIntegrator(); BSplineMOLLYIntegrator(int cycles, const BSplineType& typeOfBSpline, Real mollyStepsize, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator); virtual ~BSplineMOLLYIntegrator(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 3;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class MOLLYIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Vector3DBlock *doAveragingPositions(); virtual void doMollification(Vector3DBlock *preprocessedPositions); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); private: virtual void doUncache(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class MTSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual MTSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods for class BSplineMOLLYIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void calcMOLLYForcesHalfKickOneDrift(); void calcMOLLYForcesOneKickOneDrift(); void calculateMOLLYForcesBonded(); void calculateMOLLYForcesHBonded(); void setMyNumIterMOLLYStepsize(); void updateXx() ; void updateB_Bx_Px_for1Kick(); void updateB_Bx(); void updateB_Bx_Px_for1stHalfKick(); void calcHessiansBondsAnglesHBonds(); void init(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: bool myCached; ForceGroup *myMOLLYForcesBonded; // could be bond or bond+angle ForceGroup *myMOLLYForcesHBonded; // could be LJ or LJ+Coulomb. We want to separate the ForceGroup into bonded // and Hydrogen bonded ForceGroup *myHBondForces; //this is the range force (2.5 ~ 4 Angstrom) to be mollified. Vector3DBlock *myMOLLYPositions; Vector3DBlock *myMOLLYVelocities; Vector3DBlock *myMOLLYForces; ScalarStructure *myMOLLYEnergies; Vector3DBlock *myB; std::vector *myAngleFilter; std::vector *myPxAngle; std::vector *myXxAngle; std::vector *myBxAngle; BSplineType myTypeOfBSpline; Real myMOLLYStepsize; Real myMOLLYStepsizeP; Real myMOLLYStepsizeSquare; unsigned int myNumIter; bool myBond; bool myAngle; bool myCoulomb; bool myLennardJones; std::vector myAngleIndexes; }; } #endif protomol/framework/integrators/DLMCIntegrator.cpp0100644027616700000500000000762210237151531021637 0ustar pbrenne1dip#include "DLMCIntegrator.h" #include "Report.h" #include "mathutilities.h" #include "pmconstants.h" #include "Vector3DBlock.h" #include "ScalarStructure.h" #include "topologyutilities.h" #include "ForceGroup.h" #include "Force.h" using namespace ProtoMol::Report; using std::vector; using std::string; namespace ProtoMol { //____________________________________________________________ DLMCIntegrator const string DLMCIntegrator::keyword("DihedralLiftMC"); const int DLMCIntegrator::myNumParameters(3); // --------------------------------------------------------------------- // DLMCIntegrator::DLMCIntegrator() : MCIntegrator() { hdf = 0; lift = false; // The system will run normal MD first } // --------------------------------------------------------------------- // DLMCIntegrator::DLMCIntegrator(int cycles, bool randomCycLen, Real initialTemperature, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator) : MCIntegrator(cycles, randomCycLen, initialTemperature, overloadedForces, nextIntegrator) { hdf = 0; lift = false; // The system will run normal MD first } // --------------------------------------------------------------------- // void DLMCIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ MCIntegrator::initialize(topo,positions,velocities,energies); std::vector myForcePtrs = next()->getForceGroup()->getForces(); //std::cout << "myForce Ptrs size: " << myForcePtrs.size(); std::vector::iterator forceItr = myForcePtrs.begin(); while( (forceItr != myForcePtrs.end()) && (hdf == 0)) { std::cout << (*forceItr)->getId() << std::endl; if(equalNocase((*forceItr)->getId(),"HarmDihedral")) hdf = (*forceItr); forceItr++; } if (hdf == 0) { std::cout << "A HarmDihedralSystemForce pointer was not found" << std::endl; report << debug(1) << "A HarmDihedralSystemForce pointer was not found" << endr; } else { std::cout << "hdf points to a force of type: "; std::cout << hdf->getId() << std::endl; std::cout.flush(); report << debug(1) << hdf->getId() << ":" << hdf->getParameters()[1].value << endr; } } // --------------------------------------------------------------------- // MTSIntegrator* DLMCIntegrator::doMake(string& , const vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const{ return new DLMCIntegrator(values[0],values[1],values[2],fg,nextIntegrator); } // --------------------------------------------------------------------- // void DLMCIntegrator::perturbSystem() { Real angle = randomNumber()*M_PI; if (randomNumber() < 0.50) angle = angle * -1; std::string err; if (lift) { std::cout << "Trial angle for lift: " << angle << std::endl; hdf->setParameter(err,0,0); hdf->setParameter(err,1,angle); report << debug(1) << hdf->getId() << ":" << hdf->getParameters()[0].value << ":" << hdf->getParameters()[1].value << endr; lift = !(lift); } else { hdf->setParameter(err,0,-1); report << debug(1) << hdf->getId() << ":" << hdf->getParameters()[0].value << ":" << hdf->getParameters()[1].value << endr; lift = !(lift); } //randomVelocity(getInitialTemperature(), myTopo,myVelocities); buildMolecularMomentum(myVelocities,myTopo); } // --------------------------------------------------------------------- // void DLMCIntegrator::saveValues(){ MCIntegrator::saveValues(); } // --------------------------------------------------------------------- // void DLMCIntegrator::restoreValues(){ MCIntegrator::restoreValues(); } } protomol/framework/integrators/DLMCIntegrator.h0100644027616700000500000000502510237151531021277 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef DLMCINTEGRATOR_H #define DLMCINTEGRATOR_H #include "MCIntegrator.h" namespace ProtoMol { class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; class Force; class PeriodicBoundaryConditions; //____________________________________________________________ DLMCIntegrator class DLMCIntegrator: public MCIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: DLMCIntegrator(); DLMCIntegrator(int cycles, bool randomCycLen, Real initialTemperature, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return myNumParameters; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class MTSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual MTSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From classs MCIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual void perturbSystem(); virtual void saveValues(); virtual void restoreValues(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: static const int myNumParameters; Force* hdf; bool lift; }; } #endif protomol/framework/integrators/DMDLeapfrogIntegrator.cpp0100644027616700000500000002226210237151531023201 0ustar pbrenne1dip#include "DMDLeapfrogIntegrator.h" #include "Report.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "topologyutilities.h" #include "pmconstants.h" using namespace ProtoMol::Report; using std::vector; using std::string; namespace ProtoMol { //_________________________________________________________________ DMDLeapfrogIntegrator const string DMDLeapfrogIntegrator::keyword("DMDLeapfrog"); DMDLeapfrogIntegrator::DMDLeapfrogIntegrator() :STSIntegrator(), myDissipativeForces(NULL), myRandomForces(NULL), myVhat(NULL), myGamma(-1.0), myTemperature(-1.0), myNumIter(-1), mySigma(0.0), mySeed(-1) {} DMDLeapfrogIntegrator::DMDLeapfrogIntegrator(Real timestep, int numIter, Real gamma, Real temperature, int seed, ForceGroup *overloadedForces) :STSIntegrator(timestep,overloadedForces), myDissipativeForces(new Vector3DBlock), myRandomForces(new Vector3DBlock), myVhat(new Vector3DBlock), myGamma(gamma*0.001), myTemperature(temperature), myNumIter(numIter), mySigma(sqrt(2*myGamma*myTemperature*Constant::BOLTZMANN)), mySeed(seed) {} DMDLeapfrogIntegrator::~DMDLeapfrogIntegrator() { if(myDissipativeForces != NULL) delete myDissipativeForces; if(myRandomForces != NULL) delete myRandomForces; if(myVhat != NULL) delete myVhat; } void DMDLeapfrogIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies) { STSIntegrator::initialize(topo,positions,velocities,energies); initializeForces(); myDissipativeForces->zero(positions->size()); myRandomForces->zero(positions->size()); myVhat->zero(positions->size()); calculateDissipativeAndRandomForces(); } void DMDLeapfrogIntegrator::doHalfKick() { Real f = 0.5*getTimestep()/Constant::TIMEFACTOR; Real g = 0.5*sqrt(2*f); Vector3DBlock myTempCoordBlock(myPositions->size()); myTempCoordBlock.zero(); myTempCoordBlock.intoWeightedAdd(f, *myForces); myTempCoordBlock.intoWeightedAdd(f, *myDissipativeForces); myTempCoordBlock.intoWeightedAdd(g, *myRandomForces); // We only compute the doHalfKick and doDrift in our range for(unsigned int i=0;isize();i++) (*myVelocities)[i] += myTempCoordBlock[i]/myTopo->atoms[i].scaledMass; buildMolecularMomentum(myVelocities,myTopo); } void DMDLeapfrogIntegrator::doHalfKickVhat() { Real f = 0.5*getTimestep()/Constant::TIMEFACTOR; Real g = 0.5*sqrt(2*f); Vector3DBlock myTempCoordBlock(myPositions->size()); myTempCoordBlock.zero(); myTempCoordBlock.intoWeightedAdd(f, *myForces); myTempCoordBlock.intoWeightedAdd(g, *myRandomForces); // We only compute the doHalfKick and doDrift in our range for(unsigned int i=0;isize();i++) (*myVhat)[i] = (*myVelocities)[i] + myTempCoordBlock[i]/myTopo->atoms[i].scaledMass; } void DMDLeapfrogIntegrator::doHalfKickIterate() { Real f = 0.5*getTimestep()/Constant::TIMEFACTOR; Vector3DBlock myTempCoordBlock(myPositions->size()); Vector3DBlock vHat(myPositions->size()); vHat.zero(); vHat.intoAdd(*myVelocities); for(int j=0;jsize();i++) (*myVelocities)[i] = (*myVhat)[i] + myTempCoordBlock[i]/myTopo->atoms[i].scaledMass; calculateDissipativeForces(); } buildMolecularMomentum(myVelocities,myTopo); } //Here I did a little different than the litterature: //"Towards better integrators for dissipative particle dynamics simulations" //by Gerhard Besold, etc. In their paper, they defined rij=ri-rj and vij=vi-vj, //which does not conform with mathematical convention. I changed them into //rij=rj-ri, and vij=vj-vi. Thus the dissipitive pairwise force F_ij, //F_ij = - gamma*weight^2*(v_ij \dot e_ij) e_ij, where e_ij is the unit vector. //This is the force exerted on particle "j" by particle "i". void DMDLeapfrogIntegrator::calculateDissipativeForces() { myDissipativeForces->zero(); for (unsigned int i = 0; i < myTopo->angles.size(); i++){ int a1 = myTopo->angles[i].atom1; int a2 = myTopo->angles[i].atom2; int a3 = myTopo->angles[i].atom3; const Vector3D& posi1 = (*myPositions)[a1]; const Vector3D& posi2 = (*myPositions)[a2]; const Vector3D& posi3 = (*myPositions)[a3]; const Vector3D& vel1 = (*myVelocities)[a1]; const Vector3D& vel2 = (*myVelocities)[a2]; const Vector3D& vel3 = (*myVelocities)[a3]; //now handle atoms 1 and 2 Vector3D unitVec = posi2 - posi1; // now it is only a vector unitVec.normalize(); // now the vector is unit vector, the dist is the length of the original vector // We assume the weight, w1, and w2 to be 1 always, thus the following still holds true // w1 = w2^2; Real coeff = -myGamma*((vel2-vel1).dot(unitVec)); (*myDissipativeForces)[a2] += unitVec * coeff; (*myDissipativeForces)[a1] -= unitVec * coeff; //now handle atoms 2 and 3 unitVec = posi3 - posi2; // now it is only a vector unitVec.normalize(); coeff = -myGamma*((vel3-vel2).dot(unitVec)); (*myDissipativeForces)[a3] += unitVec * coeff; (*myDissipativeForces)[a2] -= unitVec * coeff; //now handle atoms 1 and 3 unitVec = posi3 - posi1; // now it is only a vector unitVec.normalize(); coeff = -myGamma*((vel3-vel1).dot(unitVec)); (*myDissipativeForces)[a3] += unitVec * coeff; (*myDissipativeForces)[a1] -= unitVec * coeff; } } void DMDLeapfrogIntegrator::calculateDissipativeAndRandomForces() { Real sdv = 1; myRandomForces->zero(); myDissipativeForces->zero(); for (unsigned int i = 0; i < myTopo->angles.size(); i++){ int a1 = myTopo->angles[i].atom1; int a2 = myTopo->angles[i].atom2; int a3 = myTopo->angles[i].atom3; const Vector3D& posi1 = (*myPositions)[a1]; const Vector3D& posi2 = (*myPositions)[a2]; const Vector3D& posi3 = (*myPositions)[a3]; const Vector3D& vel1 = (*myVelocities)[a1]; const Vector3D& vel2 = (*myVelocities)[a2]; const Vector3D& vel3 = (*myVelocities)[a3]; //now handle atoms 1 and 2 Vector3D unitVec = posi2 - posi1; // now it is only a vector unitVec.normalize(); // now the vector is unit vector, the dist is the length of the original vector // We assume the weight, w1, and w2 to be 1 always, thus the following still holds true // w1 = w2^2; Real coeff = -myGamma*((vel2-vel1).dot(unitVec)); (*myDissipativeForces)[a2] += unitVec * coeff; (*myDissipativeForces)[a1] -= unitVec * coeff; Real randNum = randomGaussian(sdv, mySeed); coeff = mySigma*randNum; (*myRandomForces)[a2] += unitVec * coeff; (*myRandomForces)[a1] -= unitVec * coeff; //now handle atoms 2 and 3 unitVec = posi3 - posi2; // now it is only a vector unitVec.normalize(); coeff = -myGamma*((vel3-vel2).dot(unitVec)); (*myDissipativeForces)[a3] += unitVec * coeff; (*myDissipativeForces)[a2] -= unitVec * coeff; randNum = randomGaussian(sdv, mySeed); coeff = mySigma*randNum; (*myRandomForces)[a3] += unitVec * coeff; (*myRandomForces)[a2] -= unitVec * coeff; //now handle atoms 1 and 3 unitVec = posi3 - posi1; // now it is only a vector unitVec.normalize(); coeff = -myGamma*((vel3-vel1).dot(unitVec)); (*myDissipativeForces)[a3] += unitVec * coeff; (*myDissipativeForces)[a1] -= unitVec * coeff; randNum = randomGaussian(sdv, mySeed); coeff = mySigma*randNum; (*myRandomForces)[a3] += unitVec * coeff; (*myRandomForces)[a1] -= unitVec * coeff; } } void DMDLeapfrogIntegrator::run (int numTimesteps) { for (int i = 0; i < numTimesteps; i++) { preStepModify(); doHalfKick(); doDriftOrNextIntegrator(); calculateForces(); // only calculate the conservative forces. calculateDissipativeAndRandomForces(); doHalfKickVhat(); doHalfKickIterate();//iteratively calculate the dissipative force and velocities. postStepModify(); } } STSIntegrator* DMDLeapfrogIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{ return new DMDLeapfrogIntegrator(values[0],values[1],values[2],values[3],values[4],fg); } void DMDLeapfrogIntegrator::getParameters(std::vector& parameters) const{ STSIntegrator::getParameters(parameters); parameters.push_back(Parameter("iterations",Value(myNumIter,ConstraintValueType::NotNegative()),2)); parameters.push_back(Parameter("gamma",Value(myGamma*1000,ConstraintValueType::NotNegative()))); parameters.push_back(Parameter("temperature",Value(myTemperature,ConstraintValueType::NotNegative()))); parameters.push_back(Parameter("seed",Value(mySeed,ConstraintValueType::Positive()),1234)); } } protomol/framework/integrators/DMDLeapfrogIntegrator.h0100644027616700000500000000672510237151531022654 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef DMDLEAPFROGINTEGRATOR_H #define DMDLEAPFROGINTEGRATOR_H #include "STSIntegrator.h" namespace ProtoMol { class ScalarStructure; class ForceGroup; class Vector3DBlock; /** For Dissipative MD, and it is self-consistent */ //______________________________________________________DMDLeapfrogIntegrator class DMDLeapfrogIntegrator: public STSIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: DMDLeapfrogIntegrator(); /// Specify the the forces to evaluate. /// Also sigma, the noise level control parameter, a constant /// and numIter, the count of iterations to be made in the /// "self-consistency" loop. The desired temperature in Kelvin /// is used to get the drag coefficient, gamma. /// sigma^2 = 2 * gamma * BOLZMAN * Temperature. /// the gamma is passed in assuming unit of (ps^-1). /// Internally, it is used in the unit of (fs^-1), a factor of 0.001 DMDLeapfrogIntegrator(Real timestep, int numIter, Real gamma, Real initialTemperature, int seed, ForceGroup *overloadedForces); ~DMDLeapfrogIntegrator(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class DMDLeapfrogIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void calculateDissipativeForces(); void calculateDissipativeAndRandomForces(); void doHalfKickVhat(); void doHalfKickIterate(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 5;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual void run (int numTimesteps); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class StandardIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual void doHalfKick(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class STSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual STSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg)const; protected: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Vector3DBlock *myDissipativeForces; Vector3DBlock *myRandomForces; Vector3DBlock *myVhat; Real myDissipativeCutoff; Real myGamma; Real myTemperature; int myNumIter; Real mySigma; int mySeed; }; //______________________________________________________________________ INLINES } #endif protomol/framework/integrators/DihedralHMCIntegrator.cpp0100644027616700000500000002616210237151531023164 0ustar pbrenne1dip#include "DihedralHMCIntegrator.h" #include "Report.h" #include "mathutilities.h" #include "pmconstants.h" #include "Vector3DBlock.h" #include "ScalarStructure.h" #include "topologyutilities.h" #include "Topology.h" #include using namespace ProtoMol::Report; using std::vector; using std::string; using std::endl; namespace ProtoMol { //____________________________________________________________ DihedralHMCIntegrator const string DihedralHMCIntegrator::keyword("DihedralHMC"); DihedralHMCIntegrator::DihedralHMCIntegrator() : MTSIntegrator(), myOldPositions(NULL), myOldVelocities(NULL), myOldEnergies(NULL), myInitialTemperature(-1), myRandomCycLen(false), myDihedralIndex(-1){} DihedralHMCIntegrator::DihedralHMCIntegrator(int cycles, Real initialTemperature, bool randomCycLen, bool dihset, std::string dsetfile, bool angset, std::string asetfile, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator) : MTSIntegrator(cycles,overloadedForces,nextIntegrator), myOldPositions(new Vector3DBlock), myOldVelocities(new Vector3DBlock), myOldEnergies(new ScalarStructure), myInitialTemperature(initialTemperature), myRandomCycLen(randomCycLen), myDihedralsSet(dihset), myDhmcDiSetFile(dsetfile), myAnglesSet(angset), myDhmcAnSetFile(asetfile), myDihedralIndex(-1), myDihedrals(new vector< int >()), myAngles(new vector< Real >()) {} DihedralHMCIntegrator::~DihedralHMCIntegrator(){ if(myOldPositions != NULL) delete myOldPositions; if(myOldVelocities != NULL) delete myOldVelocities; if(myOldEnergies != NULL) delete myOldEnergies; } void DihedralHMCIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ MTSIntegrator::initialize(topo,positions,velocities,energies); if(myDihedralsSet){ std::ifstream dihedralsSetinput(string(myDhmcDiSetFile).c_str(), std::ios::in); if(!dihedralsSetinput) report << error <<" Could not open \'"<> tempdihedral) { if(tempdihedral < 0 || tempdihedral >= (int)myTopo->dihedrals.size()) { report << error << "[DihedralHMCIntegrator::initialize] Dihedral index "<< tempdihedral <<" out of range [0,"<dihedrals.size()<<"[."<push_back(tempdihedral); } } // Function to read in myAngleSet if(myAnglesSet){ std::ifstream anglesSetinput(string(myDhmcAnSetFile).c_str(), std::ios::in); if(!anglesSetinput) report << error <<" Could not open \'"<> tempangle) { if(tempangle < 0 || tempangle >= 6.284) { report << error << "[DihedralHMCIntegrator::initialize] Dihedral Angle "<< tempangle <<" out of range [0,6.284]."<push_back(tempangle); } } } void DihedralHMCIntegrator::run(int numTimesteps){ report.precision(3); Real myOldPhi = 0; Real myOldKineticEnergy = 0; Real trialPhi = 0; Real angle = 0; // ----------------------------------------------------------------------- // // This run method calls the integrator below it to do the MD runs. The // // length of the MD runs is passed to DHMC integrator thru its constructor. // // Do fileIO after every numTimesteps DHMC cycles. // // ----------------------------------------------------------------------- // for(int i = 0; i < numTimesteps; i++) { preStepModify(); // --- This section of code should become the perturbation function // determine the dihedral to rotate if(myDihedralsSet){ int randIndexMyDihedrals = int( randomNumber() * (myDihedrals->size())); if (randIndexMyDihedrals == static_cast(myDihedrals->size())) // just incase randomNumber could be 1 randIndexMyDihedrals = myDihedrals->size() - 1; myDihedralIndex = (*myDihedrals)[randIndexMyDihedrals]; } else // no dihedral set given... pick an arbitrary dihedral { int randIndexMyDihedrals = int( randomNumber() * (myTopo->dihedrals.size())); if (randIndexMyDihedrals == static_cast(myTopo->dihedrals.size())) //just incase randomNumber could be 1 randIndexMyDihedrals = myTopo->dihedrals.size() - 1; myDihedralIndex = randIndexMyDihedrals; } saveValues(); myOldPhi = computePhiDihedral(myTopo,myPositions,myDihedralIndex); myOldKineticEnergy = kineticEnergy(myTopo,myVelocities); // determine the number of radians to rotate the dihedral if(myAnglesSet){ unsigned int angleindex = int ( randomNumber() * (myAngles->size())); if (angleindex == myAngles->size()) angleindex = myAngles->size() - 1; angle = (*myAngles)[angleindex]; report << debug(1) << "Trial angle: " << angle << endr; if ( (angle - myOldPhi) >= 0 ) angle = angle - myOldPhi; else angle = 2*M_PI + (angle - myOldPhi); } else // no angle set given... pick an arbitrary angle value { angle = randomNumber()*2*M_PI; } rotateDihedral(myTopo, myPositions, myVelocities, myDihedralIndex, angle); buildMolecularMomentum(myVelocities,myTopo); // --- end the perturbation function section of code // Intializes forces (energies) for LF although no LF is done // Calculates forces for use in pre MD metropolis test next()->initialize(myTopo,myPositions,myVelocities,myEnergies); trialPhi = computePhiDihedral(myTopo,myPositions,myDihedralIndex); report << debug(1) << "Dihedral Index = " << myDihedralIndex << " OldPhi = " << myOldPhi << " Rotation Angle = " << angle << " TrialPhi = " << trialPhi << endr; // --------------------------------------------------------------- // // metropolis "pre"Test - Filters "collision energies" // // --------------------------------------------------------------- // Real probAccept = 0.0; Real oldPot = myOldEnergies->potentialEnergy(); Real pot = (myEnergies->potentialEnergy()); Real potPostHMC = 0; report << debug(1) << "DMCoriginalPot = " << oldPot << " DMCtrialPot = " << pot << endr; if( (!isnan(pot)) && (metropolisTest(pot,oldPot,myInitialTemperature,probAccept)) ) { report << debug(1) << "DMC: Accepted" << endr; report << debug(1) << "DMCoriginalPot = " << oldPot << " DMCtrialPot = " << pot << endr; } else if( (!isnan(pot)) && (metropolisTest(pot/10,oldPot,myInitialTemperature,probAccept)) ) { // restore the energies to their old value so that HMC makes the proper comparison // the starting potential energy value for HMC should be oldPot //(*myEnergies) = (*myOldEnergies); randomVelocity(myInitialTemperature, myTopo,myVelocities); //buildMolecularMomentum(myVelocities,myTopo); if(myRandomCycLen) { next()->run((int)(myCycleLength * (1.3 - 0.6 * randomNumber()))); } else { next()->run(myCycleLength); } probAccept = 0.0; potPostHMC = (myEnergies->potentialEnergy()); if( !isnan(potPostHMC) && (metropolisTest( myEnergies->potentialEnergy() + kineticEnergy(myTopo,myVelocities), myOldEnergies->potentialEnergy() + myOldKineticEnergy, myInitialTemperature, probAccept) )) { report << debug(1) << "Dw/HMC: Accepted" << endr; report << debug(1) << "DMCoriginalPot = " << oldPot << " Dw/HMCtrialPot = " << potPostHMC << endr; } else { report << debug(1) << "Dw/HMC: Rejected" << endr; restoreValues(); report << debug(1) << "DMCoriginalPot = " << oldPot << " Dw/HMCtrialPot " << potPostHMC << endr; } } else { if (isnan(pot)) { report << warning << "Not a number reported for Energy. Not an error..." << endr; } report << debug(1) << "DMC: Rejected" << endr; restoreValues(); report << debug(1) << "DMCoriginalPot = " << oldPot << " DMCtrialPot = " << pot << endr; } postStepModify(); } } MTSIntegrator* DihedralHMCIntegrator::doMake(string& , const vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const{ return new DihedralHMCIntegrator(values[0],values[1],values[2],values[3],values[4],values[5],values[6],fg,nextIntegrator); } void DihedralHMCIntegrator::getParameters(vector< Parameter> ¶meters) const { MTSIntegrator::getParameters(parameters); parameters.push_back(Parameter("temperature", Value(myInitialTemperature,ConstraintValueType::NotNegative()))); parameters.push_back(Parameter("randomCycLen", Value(myRandomCycLen),false)); parameters.push_back(Parameter("dihedralsSet",Value(myDihedralsSet),false,Text("If false a dihedral is selected randomly"))); parameters.push_back(Parameter("dhmcDiSetFile",Value(myDhmcDiSetFile,ConstraintValueType::NotEmpty()))); parameters.push_back(Parameter("anglesSet",Value(myAnglesSet),false,Text("If false the dihedral angle is selected randomly"))); parameters.push_back(Parameter("dhmcAnSetFile",Value(myDhmcAnSetFile,ConstraintValueType::NotEmpty()))); } bool DihedralHMCIntegrator::metropolisTest(Real newEnergy, Real oldEnergy, Real theTemperature, Real &acceptProb) { const Real deltaE = newEnergy - oldEnergy; if(deltaE < 0) { acceptProb = 1; return true; } acceptProb = exp(-deltaE / (Constant::BOLTZMANN * theTemperature)); if(randomNumber() < acceptProb) return true; return false; } void DihedralHMCIntegrator::saveValues() { // myOldPositions to have the val of the new positions (*myOldPositions) = (*myPositions); (*myOldVelocities) = (*myVelocities); (*myOldEnergies) = (*myEnergies); } void DihedralHMCIntegrator::restoreValues(){ // *myPositions has to be reset to myOldPositions for the next HMC cycle (*myPositions) = (*myOldPositions); (*myVelocities) = (*myOldVelocities); (*myEnergies) = (*myOldEnergies); buildMolecularCenterOfMass(myPositions,myTopo); buildMolecularMomentum(myVelocities,myTopo); } } protomol/framework/integrators/DihedralHMCIntegrator.h0100644027616700000500000000707310237151531022631 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef DIHEDRALHMCINTEGRATOR_H #define DIHEDRALHMCINTEGRATOR_H #include "MTSIntegrator.h" namespace ProtoMol { class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; //____________________________________________________________ DihedralHMCIntegrator class DihedralHMCIntegrator: public MTSIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: // totally overload the function. Use no defaults (unless the lists passed // are empty lists of forces. Then the default forces will be assigned); // however, the lists still must be passed nonetheless. DihedralHMCIntegrator(); DihedralHMCIntegrator(int cycles, Real initialTemperature, bool randomCycLen, bool dihset, std::string dsetfile, bool angset, std::string asetfile, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator); virtual ~DihedralHMCIntegrator(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 7;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class StandardIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void run (int numTimesteps); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class MTSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual MTSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods for class DihedralHMCIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: bool metropolisTest(Real newEnergy, Real oldEnergy, Real theTemperature, Real& acceptProb); void saveValues(); void restoreValues(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: Vector3DBlock* myOldPositions; Vector3DBlock* myOldVelocities; ScalarStructure* myOldEnergies; Real myInitialTemperature; bool myRandomCycLen; bool myDihedralsSet; std::string myDhmcDiSetFile; bool myAnglesSet; std::string myDhmcAnSetFile; int myDihedralIndex; std::vector< int >* myDihedrals; std::vector< Real >* myAngles; }; } #endif protomol/framework/integrators/EquilibriumMOLLYIntegrator.cpp0100644027616700000500000003204710237151531024223 0ustar pbrenne1dip#include "EquilibriumMOLLYIntegrator.h" #include "mathutilities.h" #include "pmconstants.h" #include "Vector3DBlock.h" #include "ScalarStructure.h" #include "Topology.h" #include #include "Report.h" using namespace ProtoMol::Report; using std::find; using std::vector; using std::string; namespace ProtoMol { //_____________________________________________________EquilibriumMOLLYIntegrator const string EquilibriumMOLLYIntegrator::keyword("EquilibriumMOLLY"); //const int EquilibriumMOLLYIntegrator::maxGDim; EquilibriumMOLLYIntegrator::EquilibriumMOLLYIntegrator():MOLLYIntegrator(),myAveragedPositions(NULL){} EquilibriumMOLLYIntegrator::EquilibriumMOLLYIntegrator (int cycles, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator) : MOLLYIntegrator(cycles,overloadedForces,nextIntegrator),myAveragedPositions(new Vector3DBlock()){} EquilibriumMOLLYIntegrator::~EquilibriumMOLLYIntegrator(){ delete myAveragedPositions; } void EquilibriumMOLLYIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies) { MOLLYIntegrator::initialize(topo,positions,velocities,energies); myMOLLYStepsize = getBottomTimestep()/Constant::TIMEFACTOR; // make myMOLLYStepsize same as deepest level (STS level) stepsize myAveragedPositions->resize(myPositions->size()); vector hAtoms; for(unsigned int i=0;iatomTypes.size();i++){ if(myTopo->atomTypes[i].name[0] == 'H'){ hAtoms.push_back(i); //report << debug << "Using this as hydrogen : "<atomTypes[i].name <bonds.size();i++){ int a1 = myTopo->bonds[i].atom1; int a2 = myTopo->bonds[i].atom2; if(hAtoms.end() != find(hAtoms.begin(),hAtoms.end(),myTopo->atoms[a1].type) || hAtoms.end() != find(hAtoms.begin(),hAtoms.end(),myTopo->atoms[a2].type)){ bool append = true; HydrogenBond bond; bond.a1 = a1; bond.a2 = a2; bond.lambda = 0.0; bond.l12 = power<2>(myTopo->bonds[i].restLength); for(unsigned int k=0;k v; v.push_back(a1); v.push_back(a2); myHydrogenAtomGroups.push_back(v); vector bonds; bond.i1 = 0; bond.i2 = 1; bonds.push_back(bond); myHydrogenConstraintGroups.push_back(bonds); } } } // Check if the dimension is ok unsigned int max = 1; for(unsigned int k=0;k max) max = myHydrogenAtomGroups[k].size(); if(myHydrogenConstraintGroups[k].size() > max) max = myHydrogenConstraintGroups[k].size(); } if(max > (static_cast(maxGDim))) report << error << "[EquilibriumMOLLYIntegrator::initialize] Dimension of G ("<size();i++) (*myAveragedPositions)[i] = (*myPositions)[i]; // Loop over all hydrogen groups for(unsigned int i=0;i& constraints = myHydrogenConstraintGroups[i]; const unsigned int numConstraints = constraints.size(); const vector& atoms = myHydrogenAtomGroups[i]; const unsigned int numAtoms = atoms.size(); // Clear the lambda's and for(unsigned int j=0;jatoms[atoms[j]].scaledMass; } // Initial grhs Vector3D grhs[maxGDim][maxGDim]; for(unsigned int k=0;k& constraints = myHydrogenConstraintGroups[i]; const unsigned int numConstraints = constraints.size(); const vector& atoms = myHydrogenAtomGroups[i]; const unsigned int numAtoms = atoms.size(); // ... and precompute the inverse mass for the actual atoms of the hydrogen group Real imass[maxGDim]; Vector3D tmpforce[maxGDim]; for(unsigned int j=0;jatoms[atoms[j]].scaledMass; tmpforce[j] = (*myForces)[atoms[j]]*imass[j]; } Vector3D avgab[maxGDim]; for(unsigned int k=0;k big) big=temp; if (big == 0.0) report << error << "[EquilibriumMOLLYIntegrator::luDcmp] " <<"Singular matrix ... bye bye ... "<= big) { big=dum; imax=i; } } if (j != imax) { for (int k=0;k& values,ForceGroup* fg, StandardIntegrator *nextIntegrator)const{ return new EquilibriumMOLLYIntegrator(values[0],fg,nextIntegrator); } void EquilibriumMOLLYIntegrator::luBksb(Real (&m)[maxGDim][maxGDim], int dim, const int (&index)[maxGDim], Real (&b)[maxGDim]) const{ int ii=-1; for (int i=0;i= 0) for (int j=ii;j=0;i--) { Real sum=b[i]; for (int j=i+1;j namespace ProtoMol { class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; //__________________________________________________ EquilibriumMOLLYIntegrator class EquilibriumMOLLYIntegrator: public MOLLYIntegrator { private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Static adnd types //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ struct HydrogenBond { // Defining a structur to keep all needed information for one constraint int a1; // Global index of atom 1, GenericTopology) int a2; // Global index of atom 1, GenericTopology) short i1; // Local index of atom 1 myHydrogenAtomGroups short i2; // Local index of atom 1 myHydrogenAtomGroups Real lambda;// Lambda of the constraint Real l12; // squared rest lenght of the constrain }; enum { maxGDim=4}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: EquilibriumMOLLYIntegrator(); EquilibriumMOLLYIntegrator(int cycles, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator); virtual ~EquilibriumMOLLYIntegrator(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class MOLLYIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Vector3DBlock *doAveragingPositions(); virtual void doMollification(Vector3DBlock *preprocessedPositions); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class MTSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual MTSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // new methods for class EquilibriumMOLLYIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void luDcmp(Real (&m)[maxGDim][maxGDim], int dim, int (&index)[maxGDim], Real& d) const; void luBksb(Real (&m)[maxGDim][maxGDim], int dim, const int (&index)[maxGDim], Real (&b)[maxGDim]) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Vector3DBlock* myAveragedPositions; Real myMOLLYStepsize; std::vector > myHydrogenConstraintGroups; // Collection of all constraints for each hydrogen group, where // a hydrogen group is all bonds containing at least one hydrogen // connected together with by bonds. std::vector > myHydrogenAtomGroups; }; //______________________________________________________________________ INLINES } #endif protomol/framework/integrators/HMCIntegrator.cpp0100644027616700000500000000420510237151531021521 0ustar pbrenne1dip#include "HMCIntegrator.h" #include "Report.h" #include "mathutilities.h" #include "pmconstants.h" #include "Vector3DBlock.h" #include "ScalarStructure.h" #include "topologyutilities.h" using namespace ProtoMol::Report; using std::vector; using std::string; namespace ProtoMol { //____________________________________________________________ HMCIntegrator const string HMCIntegrator::keyword("HybridMC"); const int HMCIntegrator::myNumParameters(3); // --------------------------------------------------------------------- // HMCIntegrator::HMCIntegrator() : MCIntegrator() {} // --------------------------------------------------------------------- // HMCIntegrator::HMCIntegrator(int cycles, bool randomCycLen, Real initialTemperature, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator) : MCIntegrator(cycles, randomCycLen, initialTemperature, overloadedForces, nextIntegrator) { } // --------------------------------------------------------------------- // void HMCIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ MCIntegrator::initialize(topo,positions,velocities,energies); } // --------------------------------------------------------------------- // MTSIntegrator* HMCIntegrator::doMake(string& , const vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const{ return new HMCIntegrator(values[0],values[1],values[2],fg,nextIntegrator); } // --------------------------------------------------------------------- // void HMCIntegrator::perturbSystem() { randomVelocity(getInitialTemperature(), myTopo,myVelocities); buildMolecularMomentum(myVelocities,myTopo); } // --------------------------------------------------------------------- // void HMCIntegrator::saveValues(){ MCIntegrator::saveValues(); } // --------------------------------------------------------------------- // void HMCIntegrator::restoreValues(){ MCIntegrator::restoreValues(); } } protomol/framework/integrators/HMCIntegrator.h0100644027616700000500000000467410237151531021200 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef HMCINTEGRATOR_H #define HMCINTEGRATOR_H #include "MCIntegrator.h" namespace ProtoMol { class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; //____________________________________________________________ HMCIntegrator class HMCIntegrator: public MCIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: HMCIntegrator(); HMCIntegrator(int cycles, bool randomCycLen, Real initialTemperature, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return myNumParameters; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class MTSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual MTSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From classs MCIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual void perturbSystem(); virtual void saveValues(); virtual void restoreValues(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: static const int myNumParameters; }; } #endif protomol/framework/integrators/ImpulseIntegrator.cpp0100644027616700000500000000170210237151531022527 0ustar pbrenne1dip#include "ImpulseIntegrator.h" using std::vector; using std::string; namespace ProtoMol { //_________________________________________________________________ ImpulseIntegrator const string ImpulseIntegrator::keyword("Impulse"); ImpulseIntegrator::ImpulseIntegrator():MTSIntegrator(){} ImpulseIntegrator::ImpulseIntegrator(int cycles, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator) : MTSIntegrator(cycles, overloadedForces, nextIntegrator) { } void ImpulseIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies) { MTSIntegrator::initialize(topo, positions, velocities, energies); initializeForces(); } MTSIntegrator* ImpulseIntegrator::doMake(string&, const vector& values,ForceGroup* fg, StandardIntegrator *nextIntegrator)const{ return new ImpulseIntegrator(values[0],fg,nextIntegrator); } } protomol/framework/integrators/ImpulseIntegrator.h0100644027616700000500000000427710237151531022206 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef IMPULSEINTEGRATOR_H #define IMPULSEINTEGRATOR_H #include "MTSIntegrator.h" namespace ProtoMol { class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; //_________________________________________________________________ ImpulseIntegrator class ImpulseIntegrator : public MTSIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: // Totally overload the function. Use no defaults ( unless the // lists passed are empty lists of forces. Then the default // forces will be assigned ). However, the lists still must be // passed nonetheless. ImpulseIntegrator(); ImpulseIntegrator(int cycles, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class MTSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual MTSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; }; //_________________________________________________________________ INLINES } #endif protomol/framework/integrators/Integrator.cpp0100644027616700000500000003722110237151531021175 0ustar pbrenne1dip#include "Integrator.h" #include "Report.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "topologyutilities.h" #include "ModifierShake.h" #include "ModifierRattle.h" using namespace ProtoMol::Report; using std::vector; using std::string; namespace ProtoMol { //_________________________________________________________________ Integrator const string Integrator::scope("Integrator"); Integrator::Integrator(): Makeable(), myTopo(NULL), myPositions(NULL), myVelocities(NULL), myForces(NULL), myEnergies(NULL), myForcesToEvaluate(NULL), myForward(true) {} Integrator::Integrator(ForceGroup* forceGroup): Makeable(), myTopo(NULL), myPositions(NULL), myVelocities(NULL), myForces(new Vector3DBlock), myEnergies(NULL), myForcesToEvaluate(forceGroup), myForward(true) {} Integrator::~Integrator(){ // // Delete all the allocated memory // delete myForces; delete myForcesToEvaluate; for(std::set::iterator i=myListModifiers.begin();i!=myListModifiers.end();++i) delete (*i); } void Integrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ //Report::report <<"[Integrator::initialize]"<zero(positions->size()); buildMolecularCenterOfMass(myPositions,myTopo); buildMolecularMomentum(myVelocities,myTopo); // Initialize only external modifiers, // where internal modifiers will be added // and initialized at appropriated time deleteInternalModifiers(); initializeModifiers(); } Integrator* Integrator::top(){ Integrator* i = this; for(;i->previous() != NULL;i = i->previous()); return i; } const Integrator* Integrator::top() const{ const Integrator* i = this; for(;i->previous() != NULL;i = i->previous()); return i; } Integrator* Integrator::bottom(){ Integrator* i = this; for(;i->next() != NULL;i = i->next()); return i; } const Integrator* Integrator::bottom() const{ const Integrator* i = this; for(;i->next() != NULL;i = i->next()); return i; } int Integrator::level() const{ int n = 0; for(const Integrator* i=this;i->next() != NULL;i = i->next()) n++; return n; } IntegratorDefinition Integrator::getIntegratorDefinition() const{ IntegratorDefinition tmp; // Integrator definition tmp.integrator.id = this->getId(); this->getParameters(tmp.integrator.parameters); // Force definitions if(myForcesToEvaluate != NULL){ myForcesToEvaluate->getDefinition(tmp.forces); } return tmp; } vector Integrator::getIntegratorDefinitionAll() const{ vector res; for(const Integrator* i=bottom();i != NULL;i = i->previous()) res.push_back(i->getIntegratorDefinition()); return res; } void Integrator::uncache(){ for(Integrator* i=top();i != NULL;i = i->next()){ if(i->myForcesToEvaluate != NULL) i->myForcesToEvaluate->uncache(); i->doUncache(); } } void Integrator::forward(){ for(Integrator* i=top();i != NULL;i = i->next()){ i->myForward = true; } } void Integrator::backward(){ for(Integrator* i=top();i != NULL;i = i->next()){ i->myForward = false; } } Modifier* Integrator::createRattleModifier(Real eps, int maxIter){ return (new ModifierRattle(eps, maxIter, this)); } Modifier* Integrator::createShakeModifier(Real eps, int maxIter){ return (new ModifierShake(eps, maxIter, this)); } // --------------------------------------------------------------------- // void Integrator::preStepModify(){ Report::report << Report::debug(10)<<"[Integrator::preStepModify] ("<<(long)this<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<::iterator i=myPreStepModifiers.begin();i!=myPreStepModifiers.end();++i){ (*i)->execute(); } } void Integrator::preDriftOrNextModify(){ Report::report << Report::debug(10)<<"[Integrator::preDriftOrNextModify] ("<<(long)this<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<::iterator i=myPreDriftOrNextModifiers.begin();i!=myPreDriftOrNextModifiers.end();++i){ (*i)->execute(); } } void Integrator::postDriftOrNextModify(){ Report::report << Report::debug(10)<<"[Integrator::postDriftOrNextModify] ("<<(long)this<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<::iterator i=myPostDriftOrNextModifiers.begin();i!=myPostDriftOrNextModifiers.end();++i){ (*i)->execute(); } } void Integrator::preForceModify(){ Report::report << Report::debug(10)<<"[Integrator::preForceModify] ("<<(long)this<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<::iterator i=myPreForceModifiers.begin();i!=myPreForceModifiers.end();++i){ (*i)->execute(); } } void Integrator::mediForceModify(){ Report::report << Report::debug(10)<<"[Integrator::mediForceModify] ("<<(long)this<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<::iterator i=myMediForceModifiers.begin();i!=myMediForceModifiers.end();++i){ (*i)->execute(); } } void Integrator::postForceModify(){ Report::report << Report::debug(10)<<"[Integrator::postForceModify] ("<<(long)this<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<::iterator i=myPostForceModifiers.begin();i!=myPostForceModifiers.end();++i){ (*i)->execute(); } } void Integrator::postStepModify(){ Report::report << Report::debug(10)<<"[Integrator::postStepModify] ("<<(long)this<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<::iterator i=myPostStepModifiers.begin();i!=myPostStepModifiers.end();++i){ (*i)->execute(); } } // --------------------------------------------------------------------- // void Integrator::adoptPreStepModifier(Modifier* modifier){ Report::report << Report::debug(10)<<"[Integrator::adoptPreStepModifier] "<print()<<"("<<(long)modifier<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<initialize(myTopo,myPositions,myVelocities,myForces,myEnergies); myPreStepModifiers.insert(modifier); addModifier(modifier); } void Integrator::adoptPreDriftOrNextModifier(Modifier* modifier){ Report::report << Report::debug(10)<<"[Integrator::adoptPreDriftOrNextModifier] "<print()<<"("<<(long)modifier<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<initialize(myTopo,myPositions,myVelocities,myForces,myEnergies); myPreDriftOrNextModifiers.insert(modifier); addModifier(modifier); } void Integrator::adoptPostDriftOrNextModifier(Modifier* modifier){ Report::report << Report::debug(10)<<"[Integrator::adoptPostDriftOrNextModifier] "<print()<<"("<<(long)modifier<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<initialize(myTopo,myPositions,myVelocities,myForces,myEnergies); myPostDriftOrNextModifiers.insert(modifier); addModifier(modifier); } void Integrator::adoptPreForceModifier(Modifier* modifier){ Report::report << Report::debug(10)<<"[Integrator::adoptPreForceModifier] "<print()<<"("<<(long)modifier<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<initialize(myTopo,myPositions,myVelocities,myForces,myEnergies); myPreForceModifiers.insert(modifier); addModifier(modifier); } void Integrator::adoptMediForceModifier(Modifier* modifier){ Report::report << Report::debug(10)<<"[Integrator::adoptMediForceModifier] "<print()<<"("<<(long)modifier<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<initialize(myTopo,myPositions,myVelocities,myForces,myEnergies); myMediForceModifiers.insert(modifier); addModifier(modifier); } void Integrator::adoptPostForceModifier(Modifier* modifier){ Report::report << Report::debug(10)<<"[Integrator::adoptPostForceModifier] "<print()<<"("<<(long)modifier<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<initialize(myTopo,myPositions,myVelocities,myForces,myEnergies); myPostForceModifiers.insert(modifier); addModifier(modifier); } void Integrator::adoptPostStepModifier(Modifier* modifier){ Report::report << Report::debug(10)<<"[Integrator::adoptPostStepModifier] "<print()<<"("<<(long)modifier<<") "<<(myTopo != NULL ? myTopo->time : 0.0)<initialize(myTopo,myPositions,myVelocities,myForces,myEnergies); myPostStepModifiers.insert(modifier); addModifier(modifier); } // --------------------------------------------------------------------- // void Integrator::deleteInternalModifiers(){ Report::report << Report::debug(10)<<"[Integrator::deleteInternalModifiers]"<::iterator i=myPreStepModifiers.begin();i!=myPreStepModifiers.end();++i){ if((*i)->isInternal()){ myPreStepModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myPreDriftOrNextModifiers.begin();i!=myPreDriftOrNextModifiers.end();++i){ if((*i)->isInternal()){ myPreDriftOrNextModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myPostDriftOrNextModifiers.begin();i!=myPostDriftOrNextModifiers.end();++i){ if((*i)->isInternal()){ myPostDriftOrNextModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myPreForceModifiers.begin();i!=myPreForceModifiers.end();++i){ if((*i)->isInternal()){ myPreForceModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myMediForceModifiers.begin();i!=myMediForceModifiers.end();++i){ if((*i)->isInternal()){ myMediForceModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myPostForceModifiers.begin();i!=myPostForceModifiers.end();++i){ if((*i)->isInternal()){ myPostForceModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myPostStepModifiers.begin();i!=myPostStepModifiers.end();++i){ if((*i)->isInternal()){ myPostStepModifiers.erase(i); deleteModifier(*i); } } } // --------------------------------------------------------------------- // void Integrator::deleteExternalModifiers(){ Report::report << Report::debug(10)<<"[Integrator::deleteExternalModifiers] size="<::iterator i=myPreStepModifiers.begin();i!=myPreStepModifiers.end();++i){ if(!((*i)->isInternal())){ myPreStepModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myPreDriftOrNextModifiers.begin();i!=myPreDriftOrNextModifiers.end();++i){ if(!((*i)->isInternal())){ myPreDriftOrNextModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myPostDriftOrNextModifiers.begin();i!=myPostDriftOrNextModifiers.end();++i){ if(!((*i)->isInternal())){ myPostDriftOrNextModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myPreForceModifiers.begin();i!=myPreForceModifiers.end();++i){ if(!((*i)->isInternal())){ myPreForceModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myMediForceModifiers.begin();i!=myMediForceModifiers.end();++i){ if(!((*i)->isInternal())){ myMediForceModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myPostForceModifiers.begin();i!=myPostForceModifiers.end();++i){ if(!((*i)->isInternal())){ myPostForceModifiers.erase(i); deleteModifier(*i); } } for(std::set::iterator i=myPostStepModifiers.begin();i!=myPostStepModifiers.end();++i){ if(!((*i)->isInternal())){ myPostStepModifiers.erase(i); deleteModifier(*i); } } Report::report << Report::debug(10)<<"[Integrator::deleteExternalModifiers] end size="<::iterator i=myPreStepModifiers.begin();i!=myPreStepModifiers.end();++i){ if(modifier == (*i)){ myPreStepModifiers.erase(i); ok = true; } } for(std::set::iterator i=myPreDriftOrNextModifiers.begin();i!=myPreDriftOrNextModifiers.end();++i){ if(modifier == (*i)){ myPreDriftOrNextModifiers.erase(i); ok = true; } } for(std::set::iterator i=myPostDriftOrNextModifiers.begin();i!=myPostDriftOrNextModifiers.end();++i){ if(modifier == (*i)){ myPostDriftOrNextModifiers.erase(i); ok = true; } } for(std::set::iterator i=myPreForceModifiers.begin();i!=myPreForceModifiers.end();++i){ if(modifier == (*i)){ myPreForceModifiers.erase(i); ok = true; } } for(std::set::iterator i=myMediForceModifiers.begin();i!=myMediForceModifiers.end();++i){ if(modifier == (*i)){ myMediForceModifiers.erase(i); ok = true; } } for(std::set::iterator i=myPostForceModifiers.begin();i!=myPostForceModifiers.end();++i){ if(modifier == (*i)){ myPostForceModifiers.erase(i); ok = true; } } for(std::set::iterator i=myPostStepModifiers.begin();i!=myPostStepModifiers.end();++i){ if(modifier == (*i)){ myPostStepModifiers.erase(i); ok = true; } } if(ok){ std::set::iterator i = myListModifiers.find(const_cast(modifier)); if(i != myListModifiers.end()){ myListModifiers.erase(i); } } return ok; } // --------------------------------------------------------------------- // void Integrator::initializeModifiers(){ Report::report << Report::debug(10)<<"[Integrator::initializeModifiers] "<<(myTopo != NULL ? myTopo->time : 0.0)<::iterator i=myListModifiers.begin();i!=myListModifiers.end();++i){ (*i)->initialize(myTopo,myPositions,myVelocities,myForces,myEnergies); } } // --------------------------------------------------------------------- // void Integrator::addModifier(Modifier* modifier){ Report::report << Report::debug(10)<<"[Integrator::addModifier] size="; myListModifiers.insert(modifier); Report::report << myListModifiers.size()<isInternal()<::iterator i = myListModifiers.find(modifier); if(i != myListModifiers.end()){ Report::report << Report::debug(10) << "[Integrator::deleteModifier] delete"<<(long)(modifier)< #include namespace ProtoMol { class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; class MTSIntegrator; class Modifier; //_________________________________________________________________ Integrator /* Base class of all integrators. */ class Integrator : public Makeable { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Integrator(); Integrator(ForceGroup* forceGroup); virtual ~Integrator(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// Run the integrator for the certain number of timesteps. It can /// be assumed that the topology and forces have not changed since /// the last time the integrator was initialized. virtual void run(int numTimesteps) = 0; /// Set the integrator up. This method can be called at any time, /// and should perform any starting force evaluations the /// integrator needs in order to run correctly. The simulation /// data should be kept in the given structures. virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); public: /// Returns the time step of the actual integrator. virtual Real getTimestep() const = 0; /// Returns the smallest time step of the integrator hierarchy. Real getBottomTimestep() const; /// Forward time-integration void forward(); /// Backward time-integration void backward(); bool isforward() const {return myForward;} public: // Returns the pointer to forces. Vector3DBlock *getForces() const; ForceGroup* getForceGroup() const{return myForcesToEvaluate;} public: // Modifier objects are inserted and executed before, in-between and after // the force calculation and/or drift. Modifiers are automatically // initialized if possible (myTopo != NULL) /// Add a modifier obejct at the begining of a step void adoptPreStepModifier(Modifier* modifier); /// Add a modifier object before doDriftOrNextIntegrator void adoptPreDriftOrNextModifier(Modifier* modifier); /// Add a modifier object after doDriftOrNextIntegrator void adoptPostDriftOrNextModifier(Modifier* modifier); /// Add a modifier object before the force calculation void adoptPreForceModifier(Modifier* modifier); /// Add a modifier object between system and extended force calculation void adoptMediForceModifier(Modifier* modifier); /// Add a modifier obejct after the force calculation void adoptPostForceModifier(Modifier* modifier); /// Add a modifier obejct at the end of a step void adoptPostStepModifier(Modifier* modifier); /// Delete all external modifiers void deleteExternalModifiers(); /// Remove one specific modifier from the modifier list(s) bool removeModifier(const Modifier* modifier); /// Create a Rattle modifier virtual Modifier* createRattleModifier(Real eps, int maxIter); /// Create a Shake modifier virtual Modifier* createShakeModifier(Real eps, int maxIter); public: // Access methods of integrator at levels Integrator* top(); const Integrator* top() const; Integrator* bottom(); const Integrator* bottom() const; virtual Integrator* next()=0; virtual const Integrator* next() const=0; virtual Integrator* previous()=0; virtual const Integrator* previous() const=0; /// Returns the actual level of the integrator. int level() const; /// Returns the number of levels int size() const; public: /// Retrieves the integrator definition of the actual level IntegratorDefinition getIntegratorDefinition() const; /// Retrieves the complete integrator definition std::vector getIntegratorDefinitionAll() const; public: /// Forces all integrators and their associated forces /// to clear the cache and pre-computed values void uncache(); protected: // excute the modifiers void preStepModify(); void preDriftOrNextModify(); void postDriftOrNextModify(); void preForceModify(); void mediForceModify(); void postForceModify(); void postStepModify(); // any test of modifiers bool anyPreStepModify() const {return !myPreStepModifiers.empty();}; bool anyPreDriftOrNextModify() const {return !myPreDriftOrNextModifiers.empty();}; bool anyPostDriftOrNextModify() const {return !myPostDriftOrNextModifiers.empty();}; bool anyPreForceModify() const {return !myPreForceModifiers.empty();}; bool anyMediForceModify() const {return !myMediForceModifiers.empty();}; bool anyPostForceModify() const {return !myPostForceModifiers.empty();}; bool anyPostStepModify() const {return !myPostStepModifiers.empty();}; /// Initialize all modifiers void initializeModifiers(); /// Delete all internal modifiers void deleteInternalModifiers(); /// Add modifiers which should modify during initialize virtual void addModifierBeforeInitialize(){} /// Add modifiers which should not modify during initialize virtual void addModifierAfterInitialize(){} private: void addModifier(Modifier* modifier); void deleteModifier(Modifier* modifier); private: /// Integrator specific details of uncache virtual void doUncache(){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getScope() const{return scope;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string scope; protected: GenericTopology *myTopo; Vector3DBlock *myPositions; Vector3DBlock *myVelocities; Vector3DBlock *myForces; ScalarStructure *myEnergies; ForceGroup *myForcesToEvaluate; bool myForward; private: std::set myPreStepModifiers; std::set myPreDriftOrNextModifiers; std::set myPostDriftOrNextModifiers; std::set myPreForceModifiers; std::set myMediForceModifiers; std::set myPostForceModifiers; std::set myPostStepModifiers; std::set myListModifiers; }; //______________________________________________________________________ INLINES inline Vector3DBlock* Integrator::getForces() const{ return myForces; } inline Real Integrator::getBottomTimestep() const{ return (bottom()->getTimestep()); } inline int Integrator::size() const{ return (top()->level()+1); } } #endif protomol/framework/integrators/IntegratorDefinition.cpp0100644027616700000500000000175210237151531023206 0ustar pbrenne1dip#include "IntegratorDefinition.h" #include "Force.h" using std::string; namespace ProtoMol { //________________________________________________________ IntegratorDefinition string IntegratorDefinition::print() const{ string res = integrator.id+" {"; for(unsigned int i=0;i& f): integrator(i),forces(f){} std::string print() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: MakeableDefinition integrator; std::vector forces; }; } #endif /* INTEGRATORDEFINITION_H */ protomol/framework/integrators/LangevinImpulseIntegrator.cpp0100644027616700000500000000740310237151531024217 0ustar pbrenne1dip#include "LangevinImpulseIntegrator.h" #include "Report.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "topologyutilities.h" #include "pmconstants.h" using namespace ProtoMol::Report; using std::vector; using std::string; namespace ProtoMol { //_________________________________________________________________ LangevinImpulseIntegrator const string LangevinImpulseIntegrator::keyword("LangevinImpulse"); LangevinImpulseIntegrator::LangevinImpulseIntegrator(): STSIntegrator(), myLangevinTemperature(-1.0), myGamma(-1.0), // gamma is in Kcal/ps, myGamma is in Kcal/fs mySeed(-1){ } LangevinImpulseIntegrator::LangevinImpulseIntegrator(Real timestep, Real LangevinTemperature, Real gamma, int seed, ForceGroup *overloadedForces): STSIntegrator(timestep,overloadedForces), myLangevinTemperature(LangevinTemperature), myGamma(0.001*gamma), // gamma is in Kcal/ps, myGamma is in Kcal/fs mySeed(seed){ } void LangevinImpulseIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ STSIntegrator::initialize(topo,positions,velocities,energies); initializeForces(); } void LangevinImpulseIntegrator::doDrift() { fluctuationLI(); buildMolecularCenterOfMass(myPositions,myTopo); buildMolecularMomentum(myVelocities,myTopo); } // fluctuation using Dr. Skeel's LI scheme which involves a semi-update // of velocities and a complete update of positions void LangevinImpulseIntegrator::fluctuationLI() { const Real dt = getTimestep()/Constant::TIMEFACTOR; // in fs const Real tau1=(1.0-exp(-myGamma*dt))/myGamma; const Real tau2=(1.0-exp(-2*myGamma*dt))/(2*myGamma); const Real forceConstant = 2*Constant::BOLTZMANN*myLangevinTemperature*myGamma; for(unsigned int i=0;isize();i++){ Real mass = myTopo->atoms[i].scaledMass; Real langDriftVal = sqrt(forceConstant/mass)/myGamma; Real langDriftZ1 = langDriftVal*(tau1 - tau2)/sqrt(tau2); Real langDriftZ2 = langDriftVal*sqrt(dt - tau1*tau1/tau2); // Generate gaussian random numbers for each spatial directions such that // the average is 0 and the standard deviation is fParam. The algorithm // that is used was taken from X-PLOR. The algorithm is a "sum of // uniform deviates algorithm" which may be found in Abramowitz and // Stegun, "Handbook of Mathematical Functions", pg 952. Vector3D gaussRandCoord1(randomGaussianNumber(mySeed),randomGaussianNumber(mySeed),randomGaussianNumber(mySeed)); Vector3D gaussRandCoord2(randomGaussianNumber(mySeed),randomGaussianNumber(mySeed),randomGaussianNumber(mySeed)); // update drift(fluctuation) (*myPositions)[i]+=(gaussRandCoord1*langDriftZ1+gaussRandCoord2*langDriftZ2+(*myVelocities)[i])*tau1; // semi-update velocities (*myVelocities)[i] = (*myVelocities)[i]*exp(-myGamma*dt)+gaussRandCoord1*sqrt(forceConstant/mass)*sqrt(tau2); } } void LangevinImpulseIntegrator::getParameters(vector& parameters) const { STSIntegrator::getParameters(parameters); parameters.push_back(Parameter("temperature",Value(myLangevinTemperature,ConstraintValueType::NotNegative()))); parameters.push_back(Parameter("gamma",Value(myGamma*1000,ConstraintValueType::NotNegative()))); parameters.push_back(Parameter("seed",Value(mySeed,ConstraintValueType::NotNegative()),1234)); } STSIntegrator* LangevinImpulseIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{ return new LangevinImpulseIntegrator(values[0],values[1],values[2],values[3],fg); } } protomol/framework/integrators/LangevinImpulseIntegrator.h0100644027616700000500000000517110237151531023664 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef LANGEVINIMPULSEINTEGRATOR_H #define LANGEVINIMPULSEINTEGRATOR_H #include "STSIntegrator.h" namespace ProtoMol { class ScalarStructure; class ForceGroup; class Vector3DBlock; //_______________________________________________ LangevinImpulseIntegrator class LangevinImpulseIntegrator: public STSIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: LangevinImpulseIntegrator(); LangevinImpulseIntegrator(Real timestep, Real LangevinTemperature, Real gamma, int seed, ForceGroup *overloadedForces); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 4;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class StandardIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class STSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual STSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg)const; protected: virtual void doDrift(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class LangevinImpulseIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void fluctuationLI(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real myLangevinTemperature; Real myGamma; int mySeed; }; //_________________________________________________________________ INLINES } #endif protomol/framework/integrators/LeapfrogIntegrator.cpp0100644027616700000500000000537510237151531022662 0ustar pbrenne1dip#include "LeapfrogIntegrator.h" #include "Report.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "topologyutilities.h" #include "pmconstants.h" using std::string; using std::vector; namespace ProtoMol { //__________________________________________________ LeapfrogIntegrator const string LeapfrogIntegrator::keyword( "Leapfrog" ); LeapfrogIntegrator::LeapfrogIntegrator() : STSIntegrator() {} LeapfrogIntegrator::LeapfrogIntegrator(Real timestep, ForceGroup *overloadedForces) : STSIntegrator(timestep,overloadedForces) {} LeapfrogIntegrator::~LeapfrogIntegrator() {} void LeapfrogIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ STSIntegrator::initialize(topo, positions, velocities, energies); initializeForces(); } void LeapfrogIntegrator::doHalfKickdoDrift() { if(anyPreDriftOrNextModify()){ doHalfKick(); doDriftOrNextIntegrator(); } else { Real h = getTimestep() * Constant::INV_TIMEFACTOR; const unsigned int count = myPositions->size(); for( unsigned int i = 0; i < count; ++i) { (*myVelocities)[i] += (*myForces)[i] * h * 0.5 / myTopo->atoms[i].scaledMass; (*myPositions)[i] += (*myVelocities)[i] * h; } buildMolecularCenterOfMass(myPositions,myTopo); buildMolecularMomentum(myVelocities,myTopo); postDriftOrNextModify(); } } void LeapfrogIntegrator::doKickdoDrift() { if(anyPreDriftOrNextModify() || anyPreStepModify() || anyPostStepModify()){ if(anyPreStepModify() || anyPostStepModify()){ doHalfKick(); postStepModify(); preStepModify(); doHalfKick(); } else { doKick(); } doDriftOrNextIntegrator(); } else { Real h = getTimestep() * Constant::INV_TIMEFACTOR; const unsigned int count = myPositions->size(); for( unsigned int i = 0; i < count; ++i) { (*myVelocities)[i] += (*myForces)[i] * h / myTopo->atoms[i].scaledMass; (*myPositions)[i] += (*myVelocities)[i] * h; } buildMolecularCenterOfMass(myPositions,myTopo); buildMolecularMomentum(myVelocities,myTopo); postDriftOrNextModify(); } } void LeapfrogIntegrator::run(int numTimesteps) { if( numTimesteps < 1 ) return; preStepModify(); doHalfKickdoDrift(); calculateForces(); for( int i = 1; i < numTimesteps; i++ ) { doKickdoDrift(); calculateForces(); } doHalfKick(); postStepModify(); } STSIntegrator* LeapfrogIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{ return new LeapfrogIntegrator(values[0],fg); } } protomol/framework/integrators/LeapfrogIntegrator.h0100644027616700000500000000414410237151531022320 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef LEAPFROGINTEGRATOR_H #define LEAPFROGINTEGRATOR_H #include "STSIntegrator.h" namespace ProtoMol { class ScalarStructure; class ForceGroup; //__________________________________________________ LeapfrogIntegrator class LeapfrogIntegrator : public STSIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: LeapfrogIntegrator(); LeapfrogIntegrator(Real timestep, ForceGroup *overloadedForces); ~LeapfrogIntegrator(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class LeapfrogIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void doKickdoDrift(); void doHalfKickdoDrift(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 1;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual void run(int numTimesteps); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class STSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual STSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg)const; protected: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; }; } #endif protomol/framework/integrators/MCIntegrator.cpp0100644027616700000500000001137610237151531021420 0ustar pbrenne1dip#include "MCIntegrator.h" #include "Report.h" #include "GenericTopology.h" #include "Vector3DBlock.h" #include "ScalarStructure.h" #include "topologyutilities.h" #include "ForceGroup.h" using namespace ProtoMol::Report; using std::vector; namespace ProtoMol { //____________________________________________________________ MCIntegrator MCIntegrator::MCIntegrator() : MTSIntegrator(), myRandomCycLen(false), myInitialTemperature(-1), myOldKineticEnergy(-1), myOldPositions(NULL), myOldVelocities(NULL), myOldEnergies(NULL){ } // --------------------------------------------------------------------- // MCIntegrator::MCIntegrator(int cycles, bool randomCycLen, Real initialTemperature, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator) : MTSIntegrator(cycles,overloadedForces,nextIntegrator), myRandomCycLen(randomCycLen), myInitialTemperature(initialTemperature), myOldKineticEnergy(-1), myOldPositions(new Vector3DBlock), myOldVelocities(new Vector3DBlock), myOldEnergies(new ScalarStructure) { if(overloadedForces->anyForces()){ report << error << "Monte Carlo integrators do not expect any forces!"<resize(positions->size()); myOldVelocities->resize(velocities->size()); } // --------------------------------------------------------------------- // void MCIntegrator::run(int numTimesteps) { saveValues(); for(int i = 0; i < numTimesteps; i++) { preStepModify(); perturbSystem(); // The metropolis test is based in part on the change in KE from the new // velocities. myOldKineticEnergy = kineticEnergy(myTopo,myVelocities); if(myRandomCycLen) { walk((int)(myCycleLength * (1.3 - 0.6 * randomNumber()))); } else{ walk(myCycleLength); } if(metropolisTest()) { saveValues(); report << debug(1) << "Move accepted" << endr; } else { restoreValues(); report << debug(1) << "Move rejected" << endr; } postStepModify(); } } // --------------------------------------------------------------------- // bool MCIntegrator::metropolisTest() { return metropolisTest( myEnergies->potentialEnergy() + kineticEnergy(myTopo,myVelocities), myOldEnergies->potentialEnergy() + myOldKineticEnergy ); } // --------------------------------------------------------------------- // bool MCIntegrator::metropolisTest( Real newEnergy, Real oldEnergy ) { Real deltaE = newEnergy - oldEnergy; if(deltaE < 0) return true; Real acceptProb = exp( -deltaE / ( Constant::BOLTZMANN * getInitialTemperature() ) ); report << debug(2) << "probability = " << acceptProb << endr; Real r = randomNumber(); return( r < acceptProb ); } // --------------------------------------------------------------------- // void MCIntegrator::getParameters(vector< Parameter> ¶meters) const { MTSIntegrator::getParameters(parameters); parameters.push_back(Parameter( "randomCycLen", Value( myRandomCycLen ), false ) ); parameters.push_back(Parameter( "temperature", Value( myInitialTemperature, ConstraintValueType::NotNegative() ) ) ); } // --------------------------------------------------------------------- // void MCIntegrator::saveValues() { (*myOldPositions) = (*myPositions); (*myOldVelocities) = (*myVelocities); (*myOldEnergies) = (*myEnergies); } // --------------------------------------------------------------------- // void MCIntegrator::restoreValues() { (*myPositions) = (*myOldPositions); (*myVelocities) = (*myOldVelocities); (*myEnergies) = (*myOldEnergies); buildMolecularCenterOfMass(myPositions,myTopo); buildMolecularMomentum(myVelocities,myTopo); } // --------------------------------------------------------------------- // void MCIntegrator::walk(int steps){ myNextIntegrator->run(steps); } } protomol/framework/integrators/MCIntegrator.h0100644027616700000500000000563110237151531021062 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MCINTEGRATOR_H #define MCINTEGRATOR_H #include "MTSIntegrator.h" namespace ProtoMol { class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; //____________________________________________________________ MCIntegrator /** Base class for Monte Carlo MTS integrators. */ class MCIntegrator: public MTSIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: MCIntegrator(); MCIntegrator(int cycles, bool randomCycLen, Real initialTemperature, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator); virtual ~MCIntegrator(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void getParameters(std::vector& parameters) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual void run(int numTimesteps); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods for class MCIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Real getInitialTemperature() const {return myInitialTemperature;} protected: /// Implements the MC algorithm virtual void walk(int steps); /// Metropolis test interface which calls metropolisTest with arguments. virtual bool metropolisTest(); /// Implementation of the metropolis test bool metropolisTest( Real newEnergy, Real oldEnergy ); /// Each class must implement its own system perturbation method. virtual void perturbSystem() = 0; /// Save/restore state implementations (default pos, vel & energies) virtual void saveValues()=0; virtual void restoreValues()=0; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: /// There is some evidence that random cycle lengths reduce correlations /// between steps. Ref: Mackenzie 1989, "An Improved Hybrid Monte Carlo /// Method". Off by default. XXX May not display time correctly. const bool myRandomCycLen; private: Real myInitialTemperature; Real myOldKineticEnergy; protected: Real myTime; Vector3DBlock* myOldPositions; Vector3DBlock* myOldVelocities; ScalarStructure* myOldEnergies; }; } #endif protomol/framework/integrators/MTSIntegrator.h0100644027616700000500000000604210237151531021223 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MTSINTEGRATOR_H #define MTSINTEGRATOR_H #include "StandardIntegrator.h" namespace ProtoMol { class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; //_________________________________________________________________ MTSIntegrator class MTSIntegrator: public StandardIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: // totally overload the function. Use no defaults (unless the lists passed // are empty lists of forces. Then the default forces will be assigned); // however, the lists still must be passed nonetheless. MTSIntegrator(); MTSIntegrator(int cycles, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator); virtual ~MTSIntegrator(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class MTSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: MTSIntegrator* make(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const; private: virtual MTSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const=0; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void getParameters(std::vector ¶meter) const; virtual unsigned int getParameterSize() const{return 1;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual Real getTimestep() const; virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual Integrator* next(); virtual const Integrator* next() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class StandardIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual void doDriftOrNextIntegrator (); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: StandardIntegrator *myNextIntegrator; const int myCycleLength; }; //______________________________________________________________________ INLINES inline Real MTSIntegrator::getTimestep () const{ return myCycleLength*myNextIntegrator->getTimestep(); } inline Integrator* MTSIntegrator::next(){ return myNextIntegrator; } inline const Integrator* MTSIntegrator::next() const{ return myNextIntegrator; } } #endif protomol/framework/integrators/MOLLYIntegrator.cpp0100644027616700000500000000260010237151531022003 0ustar pbrenne1dip#include "MOLLYIntegrator.h" #include "ModifierAveraging.h" #include "ModifierMollification.h" #include "Vector3DBlock.h" #include #include "Report.h" using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________ MOLLYIntegrator MOLLYIntegrator::MOLLYIntegrator():MTSIntegrator(),mySwapPositions(NULL){} MOLLYIntegrator::MOLLYIntegrator (int cycles, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator) : MTSIntegrator(cycles,overloadedForces,nextIntegrator),mySwapPositions(NULL){} MOLLYIntegrator::~MOLLYIntegrator(){} void MOLLYIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ MTSIntegrator::initialize(topo,positions,velocities,energies); } void MOLLYIntegrator::addModifierBeforeInitialize(){ Report::report <<"add ModifierAveraging"<myPreviousIntegrator = this; } MTSIntegrator::~MTSIntegrator(){ delete myNextIntegrator; } void MTSIntegrator::doDriftOrNextIntegrator() { preDriftOrNextModify(); myNextIntegrator->run(myCycleLength); postDriftOrNextModify(); } void MTSIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ myNextIntegrator->initialize(topo,positions,velocities,energies); StandardIntegrator::initialize(topo,positions,velocities,energies); //Report::report <<"[MTSIntegrator::initialize]"<& parameters) const { parameters.push_back(Parameter("cyclelength",Value(myCycleLength,ConstraintValueType::Positive()))); } MTSIntegrator* MTSIntegrator::make(string& errMsg, const vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const{ errMsg = ""; if(!checkParameters(errMsg,values)) return NULL; return adjustAlias(doMake(errMsg,values,fg,nextIntegrator)); } } protomol/framework/integrators/Makefile.am0100644027616700000500000000554310237151531020411 0ustar pbrenne1dip# integrators AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libintegrators_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # integrators Sources P_INTEGRATORS_SRC =\ ModifierMetaShake.cpp\ ModifierMetaRattle.cpp\ ModifierMetaRattleShake.cpp\ NPTVerletIntegrator.cpp\ NVTVerletIntegrator.cpp\ BSplineMOLLYIntegrator.cpp\ EquilibriumMOLLYIntegrator.cpp\ DihedralHMCIntegrator.cpp\ DLMCIntegrator.cpp\ ShadowHMCIntegrator.cpp\ HMCIntegrator.cpp\ MCIntegrator.cpp\ ImpulseIntegrator.cpp\ Integrator.cpp\ IntegratorDefinition.cpp\ LeapfrogIntegrator.cpp\ DMDLeapfrogIntegrator.cpp\ BBKIntegrator.cpp\ ModifierShake.cpp\ ModifierRattle.cpp\ ModifierNPTShake.cpp\ ModifierNPTRattle.cpp\ ModifierNVTShake.cpp\ ModifierNVTRattle.cpp\ PLeapfrogIntegrator.cpp\ MOLLYIntegrator.cpp\ UmbrellaIntegrator.cpp\ MTSIntegrator.cpp\ NoseNVTLeapfrogIntegrator.cpp\ PaulTrapIntegrator.cpp\ LangevinImpulseIntegrator.cpp\ StandardIntegrator.cpp\ STSIntegrator.cpp # integrators Includes P_INTEGRATORS_H =\ ModifierMetaShake.h\ ModifierMetaRattle.h\ ModifierMetaRattleShake.h\ BSplineMOLLYIntegrator.h\ EquilibriumMOLLYIntegrator.h\ HMCIntegrator.h\ MCIntegrator.h\ ImpulseIntegrator.h\ IntegratorDefinition.h\ Integrator.h\ LeapfrogIntegrator.h\ DihedralHMCIntegrator.h\ DLMCIntegrator.h\ DMDLeapfrogIntegrator.h\ BBKIntegrator.h\ ShadowHMCIntegrator.h\ ModifierUpdateBeta.h\ ModifierUpdateBetaAndPush.h\ ModifierShake.h\ ModifierRattle.h\ ModifierNPTShake.h\ ModifierNPTRattle.h\ ModifierNVTShake.h\ ModifierNVTRattle.h\ PLeapfrogIntegrator.h\ ModifierAveraging.h\ ModifierFriction.h\ Modifier.h\ ModifierIncrementTimestep.h\ ModifierMollification.h\ ModifierRemoveAngularMomentum.h\ ModifierRemoveLinearMomentum.h\ ModifierPreForceThermostat.h\ ModifierPostForceThermostat.h\ ModifierPreForceBarostat.h\ ModifierPostForceBarostat.h\ MOLLYIntegrator.h\ UmbrellaIntegrator.h\ MTSIntegrator.h\ NonStandardIntegrator.h\ NoseNPTLeapfrogIntegrator.h\ NoseNVTLeapfrogIntegrator.h\ NPTVerletIntegrator.cpp\ NVTVerletIntegrator.cpp\ PaulTrapIntegrator.h\ LangevinImpulseIntegrator.h\ StandardIntegrator.h\ STSIntegrator.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libintegrators.a libintegrators_a_SOURCES = $(P_INTEGRATORS_SRC) $(P_INTEGRATORS_H) INCLUDES =-I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) #-I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_INTEGRATORS_SRC) #include $(top_srcdir)/Makefile.depend protomol/framework/integrators/Makefile.in0100644027616700000500000003015110237151531020413 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # integrators SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libintegrators_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # integrators Sources P_INTEGRATORS_SRC = \ ModifierMetaShake.cpp\ ModifierMetaRattle.cpp\ ModifierMetaRattleShake.cpp\ NPTVerletIntegrator.cpp\ NVTVerletIntegrator.cpp\ BSplineMOLLYIntegrator.cpp\ EquilibriumMOLLYIntegrator.cpp\ DihedralHMCIntegrator.cpp\ DLMCIntegrator.cpp\ ShadowHMCIntegrator.cpp\ HMCIntegrator.cpp\ MCIntegrator.cpp\ ImpulseIntegrator.cpp\ Integrator.cpp\ IntegratorDefinition.cpp\ LeapfrogIntegrator.cpp\ DMDLeapfrogIntegrator.cpp\ BBKIntegrator.cpp\ ModifierShake.cpp\ ModifierRattle.cpp\ ModifierNPTShake.cpp\ ModifierNPTRattle.cpp\ ModifierNVTShake.cpp\ ModifierNVTRattle.cpp\ PLeapfrogIntegrator.cpp\ MOLLYIntegrator.cpp\ UmbrellaIntegrator.cpp\ MTSIntegrator.cpp\ NoseNVTLeapfrogIntegrator.cpp\ PaulTrapIntegrator.cpp\ LangevinImpulseIntegrator.cpp\ StandardIntegrator.cpp\ STSIntegrator.cpp # integrators Includes P_INTEGRATORS_H = \ ModifierMetaShake.h\ ModifierMetaRattle.h\ ModifierMetaRattleShake.h\ BSplineMOLLYIntegrator.h\ EquilibriumMOLLYIntegrator.h\ HMCIntegrator.h\ MCIntegrator.h\ ImpulseIntegrator.h\ IntegratorDefinition.h\ Integrator.h\ LeapfrogIntegrator.h\ DihedralHMCIntegrator.h\ DLMCIntegrator.h\ DMDLeapfrogIntegrator.h\ BBKIntegrator.h\ ShadowHMCIntegrator.h\ ModifierUpdateBeta.h\ ModifierUpdateBetaAndPush.h\ ModifierShake.h\ ModifierRattle.h\ ModifierNPTShake.h\ ModifierNPTRattle.h\ ModifierNVTShake.h\ ModifierNVTRattle.h\ PLeapfrogIntegrator.h\ ModifierAveraging.h\ ModifierFriction.h\ Modifier.h\ ModifierIncrementTimestep.h\ ModifierMollification.h\ ModifierRemoveAngularMomentum.h\ ModifierRemoveLinearMomentum.h\ ModifierPreForceThermostat.h\ ModifierPostForceThermostat.h\ ModifierPreForceBarostat.h\ ModifierPostForceBarostat.h\ MOLLYIntegrator.h\ UmbrellaIntegrator.h\ MTSIntegrator.h\ NonStandardIntegrator.h\ NoseNPTLeapfrogIntegrator.h\ NoseNVTLeapfrogIntegrator.h\ NPTVerletIntegrator.cpp\ NVTVerletIntegrator.cpp\ PaulTrapIntegrator.h\ LangevinImpulseIntegrator.h\ StandardIntegrator.h\ STSIntegrator.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libintegrators.a libintegrators_a_SOURCES = $(P_INTEGRATORS_SRC) $(P_INTEGRATORS_H) INCLUDES = -I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) #-I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_INTEGRATORS_SRC) subdir = framework/integrators mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) libintegrators_a_LIBADD = am__objects_1 = ModifierMetaShake.$(OBJEXT) ModifierMetaRattle.$(OBJEXT) \ ModifierMetaRattleShake.$(OBJEXT) NPTVerletIntegrator.$(OBJEXT) \ NVTVerletIntegrator.$(OBJEXT) BSplineMOLLYIntegrator.$(OBJEXT) \ EquilibriumMOLLYIntegrator.$(OBJEXT) \ DihedralHMCIntegrator.$(OBJEXT) DLMCIntegrator.$(OBJEXT) \ ShadowHMCIntegrator.$(OBJEXT) HMCIntegrator.$(OBJEXT) \ MCIntegrator.$(OBJEXT) ImpulseIntegrator.$(OBJEXT) \ Integrator.$(OBJEXT) IntegratorDefinition.$(OBJEXT) \ LeapfrogIntegrator.$(OBJEXT) DMDLeapfrogIntegrator.$(OBJEXT) \ BBKIntegrator.$(OBJEXT) ModifierShake.$(OBJEXT) \ ModifierRattle.$(OBJEXT) ModifierNPTShake.$(OBJEXT) \ ModifierNPTRattle.$(OBJEXT) ModifierNVTShake.$(OBJEXT) \ ModifierNVTRattle.$(OBJEXT) PLeapfrogIntegrator.$(OBJEXT) \ MOLLYIntegrator.$(OBJEXT) UmbrellaIntegrator.$(OBJEXT) \ MTSIntegrator.$(OBJEXT) NoseNVTLeapfrogIntegrator.$(OBJEXT) \ PaulTrapIntegrator.$(OBJEXT) \ LangevinImpulseIntegrator.$(OBJEXT) \ StandardIntegrator.$(OBJEXT) STSIntegrator.$(OBJEXT) am__objects_2 = NPTVerletIntegrator.$(OBJEXT) \ NVTVerletIntegrator.$(OBJEXT) am_libintegrators_a_OBJECTS = $(am__objects_1) $(am__objects_2) libintegrators_a_OBJECTS = $(am_libintegrators_a_OBJECTS) DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(libintegrators_a_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(libintegrators_a_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign framework/integrators/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libintegrators.a: $(libintegrators_a_OBJECTS) $(libintegrators_a_DEPENDENCIES) -rm -f libintegrators.a $(libintegrators_a_AR) libintegrators.a $(libintegrators_a_OBJECTS) $(libintegrators_a_LIBADD) $(RANLIB) libintegrators.a mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/framework/integrators/Modifier.h0100644027616700000500000001165110237151531020261 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIER_H #define MODIFIER_H #include #include "Report.h" #include "GenericTopology.h" namespace ProtoMol { class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; class Integrator; //________________________________________________________ Modifier /** Base class for all kind of modifier implementation, based on the Observer Pattern. A modifier object can be added at five different stages of a single time step:@n - before doDriftOrNextIntegrator (pre) @n - after doDriftOrNextIntegrator (post) @n - before the force calculation (pre) @n - between system and extended force calculation (medi) @n - after the force calculation (post) @n @n Each modifier object performs it changes to the system via the method execute(...) with the implementation details in doExecute(). The execution is defined 1. by an order number and 2. by the pointer of the object. An implementation can be either internal -- added by an integrator -- or external -- added by the user or at application level. Integrator provides all methods add, remove and delete modifiers. Integrators provides also interface to add internal modifiers before/after the initialization of forces. Internal modifiers (isInternal() is true) are removed, if any, by Intergrator under initialize and each integrator has to add its modifiers, if any. To add internal modifier you should override addModifierBeforeInitialize() and/or addModifierAfterInitialize() in order the specify if the modifications should be considered during the (force) initialization or not. Furthermore, it is possible to disable and enable a modifier. */ class Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Modifier(int order=0):myOrder(order), myEnable(true), myTopology(NULL), myPositions(NULL), myVelocities(NULL), myForces(NULL), myEnergies(NULL){} virtual ~Modifier(){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// The method, which calls the implemenation void execute(){ Report::report << Report::debug(10) << "[Modifier::execute] "<time< bool operator<(const Modifier & m) const; /// Initialize void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, Vector3DBlock *forces, ScalarStructure *energies); /// print/debug std::string print() const{ return doPrint(); } private: /// The method, which does the actual modification virtual void doExecute()=0; /// Implemenation of initialize virtual void doInitialize(){} /// Implemenation print/debug virtual std::string doPrint()const=0; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: int myOrder; mutable bool myEnable; protected: GenericTopology* myTopology; Vector3DBlock* myPositions; Vector3DBlock* myVelocities; Vector3DBlock* myForces; ScalarStructure* myEnergies; }; //______________________________________________________________________ INLINES inline bool Modifier::operator<(const Modifier & m) const { if(myOrder < m.myOrder){ return true; } else if(myOrder > m.myOrder){ return false; } return (this < &m); } inline void Modifier::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, Vector3DBlock *forces, ScalarStructure *energies){ myTopology = topo; myPositions = positions; myVelocities = velocities; myForces = forces; myEnergies = energies; Report::report << Report::debug(10) << "[Modifier::initialize] "<time<averagingPositions(); } virtual std::string doPrint()const{return std::string("Averaging");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: MOLLYIntegrator* myTheIntegrator; }; } #endif /* MODIFIERAVERAGING_H */ protomol/framework/integrators/ModifierFriction.h0100644027616700000500000000234310237151531021755 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERFRICTION_H #define MODIFIERFRICTION_H #include "Modifier.h" #include "NoseNVTLeapfrogIntegrator.h" namespace ProtoMol { //_________________________________________________________________ ModifierFriction class ModifierFriction : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierFriction(NoseNVTLeapfrogIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return true;} private: virtual void doExecute(){ myTheIntegrator->friction(); } virtual std::string doPrint()const{return std::string("Friction");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: NoseNVTLeapfrogIntegrator* myTheIntegrator; }; } #endif /* MODIFIER_H */ protomol/framework/integrators/ModifierIncrementTimestep.h0100644027616700000500000000232510237151531023637 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERINCREMENTTIMESTEP_H #define MODIFIERINCREMENTTIMESTEP_H #include "Modifier.h" #include "GenericTopology.h" #include "STSIntegrator.h" namespace ProtoMol { class ModifierIncrementTimestep : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierIncrementTimestep(STSIntegrator* i):Modifier(Constant::MAX_INT),myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return true;} private: virtual void doExecute(){ myTopology->time += myTheIntegrator->getTimestep(); } virtual std::string doPrint()const{return std::string("IncrementTimestep");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: STSIntegrator* myTheIntegrator; }; } #endif /* MODIFIERINCREMENTTIMESTEP_H */ protomol/framework/integrators/ModifierMetaRattle.cpp0100644027616700000500000000201410237151531022570 0ustar pbrenne1dip#include "ModifierMetaRattle.h" #include "Topology.h" namespace ProtoMol { //__________________________________________________ ModifierMetaRattle ModifierMetaRattle::ModifierMetaRattle(Real eps, int maxIter, int order):ModifierMetaRattleShake(eps,maxIter,order){} Real ModifierMetaRattle::calcError() const { // the error for the RATTLE algorithm is defined as fabs( [v1-v2] * [r1-r2] ) < tolerance // which is the constraint imposed upon the velocities by RATTLE. It is this // constraint upon the velocities that allows us to compute the // multipliers (lambdas) at time t + delta_t Real error = 0; for(unsigned int i=0;isize();i++){ int a1 = (*myListOfConstraints)[i].atom1; int a2 = (*myListOfConstraints)[i].atom2; Vector3D vab = (*myVelocities)[a1] - (*myVelocities)[a2]; Vector3D rab = (*myPositions)[a1] - (*myPositions)[a2]; Real err = fabs(rab * vab); error += err; } return error /= myListOfConstraints->size(); } } protomol/framework/integrators/ModifierMetaRattle.h0100644027616700000500000000203610237151531022241 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERMETARATTLE_H #define MODIFIERMETARATTLE_H #include "ModifierMetaRattleShake.h" #include "Vector3DBlock.h" namespace ProtoMol { class Integrator; //_________________________________________________________________ ModifierMetaRattle class ModifierMetaRattle : public ModifierMetaRattleShake { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierMetaRattle(Real eps, int maxIter, int order); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ModifierMetaRattleShake //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual Real calcError()const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ }; } #endif /* MODIFIERMETARATTLE_H */ protomol/framework/integrators/ModifierMetaRattleShake.cpp0100644027616700000500000000224610237151531023553 0ustar pbrenne1dip#include "ModifierMetaRattleShake.h" #include "Topology.h" #include "topologyutilities.h" using namespace ProtoMol::Report; namespace ProtoMol { //__________________________________________________ ModifierMetaRattleShake ModifierMetaRattleShake::ModifierMetaRattleShake(Real eps, int maxIter,int order):Modifier(order), myEpsilon(eps), myMaxIter(maxIter), myListOfConstraints(NULL){} void ModifierMetaRattleShake::doInitialize(){ myLastPositions = (*myPositions); // ... maybe it's a second inittialize, add the old back. myTopology->degreesOfFreedom += myTopology->bondRattleShakeConstraints.size(); buildRattleShakeBondConstraintList(myTopology,myTopology->bondRattleShakeConstraints); // this list contains bonded pairs, and UB-bonded pairs excluding // (heavy atom)-H pairs and (heavy)-(heavy) pairs // subtract the # of constraints from the # of degrees of freedom of the system // This is needed so that we get the correct temperature myTopology->degreesOfFreedom -= myTopology->bondRattleShakeConstraints.size(); myListOfConstraints = &(myTopology->bondRattleShakeConstraints); } } protomol/framework/integrators/ModifierMetaRattleShake.h0100644027616700000500000000376310237151531023225 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERMETARATTLESHAKE_H #define MODIFIERMETARATTLESHAKE_H #include "Modifier.h" #include "Bond.h" #include "Vector3DBlock.h" namespace ProtoMol { //_________________________________________________________________ ModifierMetaRattleShake /** Base class of Rattle and Shake algorithms. It implements the construction of the constraints, provides the maximal common interface and data members. The meta classes of Rattle and Shake implement the error estimate, where the actual constraints are implemented in the concrete class (for NVE) or used by a concrete templated class (NPT, since getEpsilonVel() and getEtaVel() must be accessible). myListOfConstraints is pointer to the actual list. */ class ModifierMetaRattleShake : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierMetaRattleShake(Real eps, int maxIter, int order); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ModifierMetaRattleShake //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual Real calcError()const=0; virtual Real getTimestep()const=0; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return false;} private: virtual void doInitialize(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: Real myEpsilon; int myMaxIter; Vector3DBlock myLastPositions; const std::vector* myListOfConstraints; }; } #endif /* MODIFIERMETARATTLESHAKE_H */ protomol/framework/integrators/ModifierMetaShake.cpp0100644027616700000500000000232410237151531022374 0ustar pbrenne1dip#include "ModifierMetaShake.h" #include "Topology.h" namespace ProtoMol { //__________________________________________________ ModifierMetaShake ModifierMetaShake::ModifierMetaShake(Real eps, int maxIter, int order):ModifierMetaRattleShake(eps,maxIter,order){} Real ModifierMetaShake::calcError() const { // the error is defined as < fabs(dist - restLength)/restLength >, // which is approximated as < fabs(dist^2 - restLength^2)/(2*restLength*restLength >. // This approximation avoids the sqrt operation to compute the distance. // cf. Krautler, van Gunsteren, et al J. Comput. Chem., 22(5) 501--508 (2001) // "a fast shake algorithm to solve distance constraint equations for small // molecules in molecular dynamics simulations" Real error = 0; for(unsigned int i=0;isize();i++){ int a1 = (*myListOfConstraints)[i].atom1; int a2 = (*myListOfConstraints)[i].atom2; Real restLengthSquared = power<2>((*myListOfConstraints)[i].restLength); Real err = fabs(((*myPositions)[a2]-(*myPositions)[a1]).normSquared() - restLengthSquared ) / ( 2.0 * restLengthSquared ); error += err; } return error /= myListOfConstraints->size(); } } protomol/framework/integrators/ModifierMetaShake.h0100644027616700000500000000202710237151531022041 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERMETASHAKE_H #define MODIFIERMETASHAKE_H #include "ModifierMetaRattleShake.h" #include "Vector3DBlock.h" namespace ProtoMol { class Integrator; //_________________________________________________________________ ModifierMetaShake class ModifierMetaShake : public ModifierMetaRattleShake { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierMetaShake(Real eps, int maxIter, int order); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ModifierMetaShakeShake //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual Real calcError()const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ }; } #endif /* MODIFIERMETASHAKE_H */ protomol/framework/integrators/ModifierMollification.h0100644027616700000500000000240010237151531022763 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERMOLLIFICATION_H #define MODIFIERMOLLIFICATION_H #include "Modifier.h" #include "MOLLYIntegrator.h" #include "Vector3DBlock.h" namespace ProtoMol { //_________________________________________________________________ ModifierMollification class ModifierMollification : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierMollification(MOLLYIntegrator* i):Modifier(),myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return true;} private: virtual void doExecute(){ myTheIntegrator->mollification(); } virtual std::string doPrint()const{return std::string("Mollification");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: MOLLYIntegrator* myTheIntegrator; }; } #endif /* MODIFIERMOLLIFICATION_H */ protomol/framework/integrators/ModifierNPTRattle.cpp0100644027616700000500000000705310237151531022353 0ustar pbrenne1dip#include "ModifierNPTRattle.h" #include "Integrator.h" #include "Topology.h" #include "ScalarStructure.h" #include "pmconstants.h" using namespace ProtoMol::Report; namespace ProtoMol { //__________________________________________________ ModifierNPTRattleDetails ModifierNPTRattleDetails::ModifierNPTRattleDetails(Real eps, int maxIter, int order):ModifierMetaRattle(eps,maxIter,order){} void ModifierNPTRattleDetails::doExecute(){ // estimate the current error in all velocity constraints Real error = calcError(); // delta_t Real dt = getTimestep() / Constant::TIMEFACTOR; // multiplicative constants for the box volume velocity and thermostat velocity const Real pVol_term = 0.5 * getTimestep() * getEpsilonVel(); const Real pEta_term = 0.5 * getTimestep() * getEtaVel(); const Real OneOverN_term = 1.0 + 1.0 / myTopology->atoms.size(); int iter = 0; while(error > myEpsilon) { for(unsigned int i=0;isize();i++) { // find the ID#s of the two atoms in the current constraint int a1 = (*myListOfConstraints)[i].atom1; int a2 = (*myListOfConstraints)[i].atom2; // get the ID# of the molecule that this bond belongs to int Mol = myTopology->atoms[a1].molecule; // reciprocal atomic masses Real rM1 = 1/myTopology->atoms[a1].scaledMass; Real rM2 = 1/myTopology->atoms[a2].scaledMass; Real m1_over_M = 1 / (rM1 * myTopology->molecules[Mol].mass); Real m2_over_M = 1 / (rM2 * myTopology->molecules[Mol].mass); // multiplicative constants due to change in box volume // (for constant pressure simulations -- see Equation 56 of G. Kalibaeva, // M. Ferrario, and G. Ciccotti, "Constant pressure-constant temperature molecular // dynamics: a correct constrained NPT ensemble using the molecular virial", Mol. Phys. // 101(6), 2003, p. 765-778) Real Exp2_atom1 = (1 + pVol_term*OneOverN_term*m1_over_M) * exp( -pEta_term - pVol_term*OneOverN_term*m1_over_M); Real Exp2_atom2 = (1 + pVol_term*OneOverN_term*m2_over_M) * exp( -pEta_term - pVol_term*OneOverN_term*m2_over_M); // now lets compute the lambdas. // compute the current bond vector Vector3D rab = (*myPositions)[a1] - (*myPositions)[a2]; Real rabsq = rab.normSquared(); // compute the current velocity vector Vector3D vab = (*myVelocities)[a1] - (*myVelocities)[a2]; // dot product of distance and velocity vectors Real rvab = rab * vab; // compute the change in lambda Real gab = -rvab / (dt * (rM1 * Exp2_atom1 + rM2 * Exp2_atom2) * rabsq); Vector3D dp = rab * gab; // move the velocities based upon the multiplier (*myVelocities)[a1] += dp * dt * rM1 * Exp2_atom1; (*myVelocities)[a2] -= dp * dt * rM2 * Exp2_atom2; // the constraint adds a force to each atom since their positions // had to be changed. This constraint force therefore contributes // to the atomic virial. Note that the molecular virial is independent of // any intramolecular constraint forces. if (myEnergies->virial()) myEnergies->addVirial(dp*2,rab); } // compute the error in all the velocity constraints after this RATTLE iteration error = calcError(); iter ++; if(iter > myMaxIter) { report << warning << "Rattle maxIter = " << myMaxIter << " reached, but still not converged ... error is "< class ModifierNPTRattle : public ModifierNPTRattleDetails { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierNPTRattle(Real eps, int maxIter, const TIntegrator* i, int order=Constant::MAX_INT-400):ModifierNPTRattleDetails(eps,maxIter,order), myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ModifierMetaRattleShake //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual Real getTimestep()const{return myTheIntegrator->getTimestep();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ModifierNPTRattleDetails //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Real getEpsilonVel() const{return myTheIntegrator->getEpsilonVel();} virtual Real getEtaVel() const{return myTheIntegrator->getEtaVel();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const TIntegrator* myTheIntegrator; }; } #endif /* MODIFIERNPTRATTLE_H */ protomol/framework/integrators/ModifierNPTShake.cpp0100644027616700000500000001030110237151531022141 0ustar pbrenne1dip#include "ModifierNPTShake.h" #include "Integrator.h" #include "Topology.h" #include "ScalarStructure.h" #include "pmconstants.h" using namespace ProtoMol::Report; namespace ProtoMol { //__________________________________________________ ModifierNPTShakeDetails ModifierNPTShakeDetails::ModifierNPTShakeDetails(Real eps, int maxIter, int order):ModifierMetaShake(eps,maxIter,order){} void ModifierNPTShakeDetails::doExecute(){ // estimate the current error in all bond constraints Real error = calcError(); // delta_t Real dt = getTimestep() / Constant::TIMEFACTOR; Real dtsq = dt * dt; // multiplicative constants for the box volume velocity and thermostat velocity const Real pVol_term = 0.5 * getTimestep() * getEpsilonVel(); const Real pEta_term = 0.5 * getTimestep() * getEtaVel(); const Real OneOverN_term = 1.0 + 1.0 / myTopology->atoms.size(); int iter = 0; while(error > myEpsilon) { for(unsigned int i=0;isize();i++) { // find the ID#s of the two atoms in the current constraint int a1 = (*myListOfConstraints)[i].atom1; int a2 = (*myListOfConstraints)[i].atom2; // get the ID# of the molecule that this bond belongs to int Mol = myTopology->atoms[a1].molecule; // reciprocal atomic masses Real rM1 = 1/myTopology->atoms[a1].scaledMass; Real rM2 = 1/myTopology->atoms[a2].scaledMass; Real m1_over_M = 1 / (rM1 * myTopology->molecules[Mol].mass); Real m2_over_M = 1 / (rM2 * myTopology->molecules[Mol].mass); // multiplicative constants due to change in box volume // (for constant pressure simulations -- see Equation 56 of G. Kalibaeva, // M. Ferrario, and G. Ciccotti, "Constant pressure-constant temperature molecular // dynamics: a correct constrained NPT ensemble using the molecular virial", Mol. Phys. // 101(6), 2003, p. 765-778) Real Exp1_atom1 = exp(pVol_term * m1_over_M); Real Exp1_atom2 = exp(pVol_term * m2_over_M); Real Exp2_atom1 = (1 + pVol_term*OneOverN_term*m1_over_M) * exp( -pEta_term - pVol_term*OneOverN_term*m1_over_M); Real Exp2_atom2 = (1 + pVol_term*OneOverN_term*m2_over_M) * exp( -pEta_term - pVol_term*OneOverN_term*m2_over_M); // get the target bond distance for this constraint Real restLength = (*myListOfConstraints)[i].restLength; // now lets compute the lambdas. // compute the current bond vector Vector3D pab = (*myPositions)[a1] - (*myPositions)[a2]; Real pabsq = pab.normSquared(); Real rabsq = restLength*restLength; // compute the difference between the target bond length and // the actual bond length Real diffsq = rabsq - pabsq; //-g^k() // compute the bond vector from the previous timestep Vector3D rab = myLastPositions[a1] - myLastPositions[a2]; Real rpab = rab * pab; // calculate the constraint force, or multiplier Real gab = diffsq / (2 * dtsq * (rM1 * Exp1_atom1 + rM2 * Exp1_atom2) * rpab); Vector3D dp = rab * gab; // move the positions based upon the multiplier (*myPositions)[a1] += dp * dtsq * rM1 * Exp1_atom1; (*myPositions)[a2] -= dp * dtsq * rM2 * Exp1_atom2; // move the velocities based upon the multiplier (*myVelocities)[a1] += dp * dt * rM1 * Exp2_atom1; (*myVelocities)[a2] -= dp * dt * rM2 * Exp2_atom2; // the constraint adds a force to each atom since their positions // had to be changed. This constraint force therefore contributes // to the atomic virial. Note that the molecular virial is independent of // any intramolecular constraint forces. if (myEnergies->virial()) myEnergies->addVirial(dp*2,rab); } // compute the error in all the bond constraints after this SHAKE iteration error = calcError(); iter ++; if(iter > myMaxIter) { report << warning << "Shake maxIter = " << myMaxIter << " reached, but still not converged ... error is "< class ModifierNPTShake : public ModifierNPTShakeDetails { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierNPTShake(Real eps, int maxIter, const TIntegrator* i, int order=Constant::MAX_INT-400):ModifierNPTShakeDetails(eps,maxIter,order), myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ModifierMetaShakeShake //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual Real getTimestep()const{return myTheIntegrator->getTimestep();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ModifierNPTShakeDetails //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Real getEpsilonVel() const{return myTheIntegrator->getEpsilonVel();} virtual Real getEtaVel() const{return myTheIntegrator->getEtaVel();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const TIntegrator* myTheIntegrator; }; } #endif /* MODIFIERNPTSHAKE_H */ protomol/framework/integrators/ModifierNVTRattle.cpp0100644027616700000500000000576010237151531022364 0ustar pbrenne1dip#include "ModifierNVTRattle.h" #include "Integrator.h" #include "Topology.h" #include "ScalarStructure.h" #include "pmconstants.h" using namespace ProtoMol::Report; namespace ProtoMol { //__________________________________________________ ModifierNVTRattleDetails ModifierNVTRattleDetails::ModifierNVTRattleDetails(Real eps, int maxIter, int order):ModifierMetaRattle(eps,maxIter,order){} void ModifierNVTRattleDetails::doExecute(){ // estimate the current error in all velocity constraints Real error = calcError(); // delta_t Real dt = getTimestep() / Constant::TIMEFACTOR; // multiplicative constant for the thermostat velocity const Real pEta_term = 0.5 * getTimestep() * getEtaVel(); int iter = 0; while(error > myEpsilon) { for(unsigned int i=0;isize();i++) { // find the ID#s of the two atoms in the current constraint int a1 = (*myListOfConstraints)[i].atom1; int a2 = (*myListOfConstraints)[i].atom2; // reciprocal atomic masses Real rM1 = 1/myTopology->atoms[a1].scaledMass; Real rM2 = 1/myTopology->atoms[a2].scaledMass; // multiplicative constant due to thermostat effect // (for constant temperature simulations -- see Equation 56 of G. Kalibaeva, // M. Ferrario, and G. Ciccotti, "Constant pressure-constant temperature molecular // dynamics: a correct constrained NPT ensemble using the molecular virial", Mol. Phys. // 101(6), 2003, p. 765-778) Real Exp2_atom1 = exp(- pEta_term ); Real Exp2_atom2 = exp(- pEta_term ); // now lets compute the lambdas. // compute the current bond vector Vector3D rab = (*myPositions)[a1] - (*myPositions)[a2]; Real rabsq = rab.normSquared(); // compute the current velocity vector Vector3D vab = (*myVelocities)[a1] - (*myVelocities)[a2]; // dot product of distance and velocity vectors Real rvab = rab * vab; // compute the change in lambda Real gab = -rvab / (dt * (rM1 * Exp2_atom1 + rM2 * Exp2_atom2) * rabsq); Vector3D dp = rab * gab; // move the velocities based upon the multiplier (*myVelocities)[a1] += dp * dt * rM1 * Exp2_atom1; (*myVelocities)[a2] -= dp * dt * rM2 * Exp2_atom2; // the constraint adds a force to each atom since their positions // had to be changed. This constraint force therefore contributes // to the atomic virial. Note that the molecular virial is independent of // any intramolecular constraint forces. if (myEnergies->virial()) myEnergies->addVirial(dp*2,rab); } // compute the error in all the velocity constraints after this RATTLE iteration error = calcError(); iter ++; if(iter > myMaxIter) { report << warning << "Rattle maxIter = " << myMaxIter << " reached, but still not converged ... error is "< class ModifierNVTRattle : public ModifierNVTRattleDetails { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierNVTRattle(Real eps, int maxIter, const TIntegrator* i, int order=Constant::MAX_INT-400):ModifierNVTRattleDetails(eps,maxIter,order), myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ModifierMetaRattleShake //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual Real getTimestep()const{return myTheIntegrator->getTimestep();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ModifierNVTRattleDetails //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Real getEtaVel() const{return myTheIntegrator->getEtaVel();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const TIntegrator* myTheIntegrator; }; } #endif /* MODIFIERNVTRATTLE_H */ protomol/framework/integrators/ModifierNVTShake.cpp0100644027616700000500000000675310237151531022167 0ustar pbrenne1dip#include "ModifierNVTShake.h" #include "Integrator.h" #include "Topology.h" #include "ScalarStructure.h" #include "pmconstants.h" using namespace ProtoMol::Report; namespace ProtoMol { //__________________________________________________ ModifierNVTShakeDetails ModifierNVTShakeDetails::ModifierNVTShakeDetails(Real eps, int maxIter, int order):ModifierMetaShake(eps,maxIter,order){} void ModifierNVTShakeDetails::doExecute(){ // estimate the current error in all bond constraints Real error = calcError(); // delta_t Real dt = getTimestep() / Constant::TIMEFACTOR; Real dtsq = dt * dt; // multiplicative constant for the thermostat velocity const Real pEta_term = 0.5 * getTimestep() * getEtaVel(); int iter = 0; while(error > myEpsilon) { for(unsigned int i=0;isize();i++) { // find the ID#s of the two atoms in the current constraint int a1 = (*myListOfConstraints)[i].atom1; int a2 = (*myListOfConstraints)[i].atom2; // reciprocal atomic masses Real rM1 = 1/myTopology->atoms[a1].scaledMass; Real rM2 = 1/myTopology->atoms[a2].scaledMass; // multiplicative constant due to the thermostat effect // (for constant temperature simulations -- see Equation 56 of G. Kalibaeva, // M. Ferrario, and G. Ciccotti, "Constant pressure-constant temperature molecular // dynamics: a correct constrained NPT ensemble using the molecular virial", Mol. Phys. // 101(6), 2003, p. 765-778) Real Exp2_atom1 = exp(- pEta_term ); Real Exp2_atom2 = exp(- pEta_term ); // get the target bond distance for this constraint Real restLength = (*myListOfConstraints)[i].restLength; // now lets compute the lambdas. // compute the current bond vector Vector3D pab = (*myPositions)[a1] - (*myPositions)[a2]; Real pabsq = pab.normSquared(); Real rabsq = restLength*restLength; // compute the difference between the target bond length and // the actual bond length Real diffsq = rabsq - pabsq; //-g^k() // compute the bond vector from the previous timestep Vector3D rab = myLastPositions[a1] - myLastPositions[a2]; Real rpab = rab * pab; // calculate the constraint force, or multiplier Real gab = diffsq / (2 * dtsq * (rM1 + rM2) * rpab); Vector3D dp = rab * gab; // move the positions based upon the multiplier (*myPositions)[a1] += dp * dtsq * rM1; (*myPositions)[a2] -= dp * dtsq * rM2; // move the velocities based upon the multiplier (*myVelocities)[a1] += dp * dt * rM1 * Exp2_atom1; (*myVelocities)[a2] -= dp * dt * rM2 * Exp2_atom2; // the constraint adds a force to each atom since their positions // had to be changed. This constraint force therefore contributes // to the atomic virial. Note that the molecular virial is independent of // any intramolecular constraint forces. if (myEnergies->virial()) myEnergies->addVirial(dp*2,rab); } // compute the error in all the bond constraints after this SHAKE iteration error = calcError(); iter ++; if(iter > myMaxIter) { report << warning << "Shake maxIter = " << myMaxIter << " reached, but still not converged ... error is "< class ModifierNVTShake : public ModifierNVTShakeDetails { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierNVTShake(Real eps, int maxIter, const TIntegrator* i, int order=Constant::MAX_INT-400):ModifierNVTShakeDetails(eps,maxIter,order), myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ModifierMetaShakeShake //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual Real getTimestep()const{return myTheIntegrator->getTimestep();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class ModifierNVTShakeDetails //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual Real getEtaVel() const{return myTheIntegrator->getEtaVel();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const TIntegrator* myTheIntegrator; }; } #endif /* MODIFIERNVTSHAKE_H */ protomol/framework/integrators/ModifierPostForceBarostat.h0100644027616700000500000000255410237151531023610 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERPOSTFORCEBAROSTAT_H #define MODIFIERPOSTFORCEBAROSTAT_H #include "Modifier.h" namespace ProtoMol { //_________________________________________________________________ ModifierPostForceBarostat template class ModifierPostForceBarostat : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierPostForceBarostat(TIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){} ModifierPostForceBarostat(TIntegrator* i, int order):Modifier(order),myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return true;} private: virtual void doExecute(){ myTheIntegrator->PostForceBarostat(); } virtual std::string doPrint()const{return std::string("PostForceBarostat");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: TIntegrator* myTheIntegrator; }; } #endif /* MODIFIERPOSTFORCEBAROSTAT_H */ protomol/framework/integrators/ModifierPostForceThermostat.h0100644027616700000500000000257510237151531024166 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERPOSTFORCETHERMOSTAT_H #define MODIFIERPOSTFORCETHERMOSTAT_H #include "Modifier.h" namespace ProtoMol { //_________________________________________________________________ ModifierPostForceThermostat template class ModifierPostForceThermostat : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierPostForceThermostat(TIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){} ModifierPostForceThermostat(TIntegrator* i, int order):Modifier(order),myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return true;} private: virtual void doExecute(){ myTheIntegrator->PostForceThermostat(); } virtual std::string doPrint()const{return std::string("PostForceThermostat");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: TIntegrator* myTheIntegrator; }; } #endif /* MODIFIERPOSTFORCETHERMOSTAT_H */ protomol/framework/integrators/ModifierPreForceBarostat.h0100644027616700000500000000254210237151531023406 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERPREFORCEBAROSTAT_H #define MODIFIERPREFORCEBAROSTAT_H #include "Modifier.h" namespace ProtoMol { //_________________________________________________________________ ModifierPreForceBarostat template class ModifierPreForceBarostat : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierPreForceBarostat(TIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){} ModifierPreForceBarostat(TIntegrator* i, int order):Modifier(order),myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return true;} private: virtual void doExecute(){ myTheIntegrator->PreForceBarostat(); } virtual std::string doPrint()const{return std::string("PreForceBarostat");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: TIntegrator* myTheIntegrator; }; } #endif /* MODIFIERPREFORCEBAROSTAT_H */ protomol/framework/integrators/ModifierPreForceThermostat.h0100644027616700000500000000267110237151531023764 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERPREFORCETHERMOSTAT_H #define MODIFIERPREFORCETHERMOSTAT_H #include "Modifier.h" namespace ProtoMol { //_________________________________________________________________ ModifierPreForceThermostat template class ModifierPreForceThermostat : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierPreForceThermostat(TIntegrator* i):Modifier(Constant::MAX_INT-400),myTheIntegrator(i){} ModifierPreForceThermostat(TIntegrator* i, int order):Modifier(order),myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return true;} private: virtual void doExecute(){ //Report::report <<"ModifierPreForceThermostat"<PreForceThermostat(); } virtual std::string doPrint()const{return std::string("PreForceThermostat");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: TIntegrator* myTheIntegrator; }; } #endif /* MODIFIERPREFORCETHERMOSTAT_H */ protomol/framework/integrators/ModifierRattle.cpp0100644027616700000500000000461710237151531021774 0ustar pbrenne1dip#include "ModifierRattle.h" #include "Integrator.h" #include "Topology.h" #include "ScalarStructure.h" #include "pmconstants.h" using namespace ProtoMol::Report; namespace ProtoMol { //__________________________________________________ ModifierRattle ModifierRattle::ModifierRattle(Real eps, int maxIter,const Integrator* i, int order):ModifierMetaRattle(eps,maxIter,order),myTheIntegrator(i){} Real ModifierRattle::getTimestep()const { return myTheIntegrator->getTimestep(); } void ModifierRattle::doExecute(){ // estimate the current error in all velocity constraints Real error = calcError(); // delta_t Real dt = getTimestep() / Constant::TIMEFACTOR; int iter = 0; while(error > myEpsilon) { for(unsigned int i=0;isize();i++) { // find the ID#s of the two atoms in the current constraint int a1 = (*myListOfConstraints)[i].atom1; int a2 = (*myListOfConstraints)[i].atom2; // reciprocal atomic masses Real rM1 = 1/myTopology->atoms[a1].scaledMass; Real rM2 = 1/myTopology->atoms[a2].scaledMass; // now lets compute the lambdas. // compute the current bond vector Vector3D rab = (*myPositions)[a1] - (*myPositions)[a2]; Real rabsq = rab.normSquared(); // compute the current velocity vector Vector3D vab = (*myVelocities)[a1] - (*myVelocities)[a2]; // dot product of distance and velocity vectors Real rvab = rab * vab; // compute the change in lambda Real gab = -rvab / (dt * (rM1 + rM2) * rabsq); Vector3D dp = rab * gab; // move the velocities based upon the multiplier (*myVelocities)[a1] += dp * dt * rM1; (*myVelocities)[a2] -= dp * dt * rM2; // the constraint adds a force to each atom since their positions // had to be changed. This constraint force therefore contributes // to the atomic virial. Note that the molecular virial is independent of // any intramolecular constraint forces. if (myEnergies->virial()) myEnergies->addVirial(dp*2,rab); } // compute the error in all the velocity constraints after this RATTLE iteration error = calcError(); iter ++; if(iter > myMaxIter) { report << warning << "maxIter = " << myMaxIter << " reached, but still not converged ... error is "<& values, ForceGroup* fg)const; protected: virtual void doDrift(); private: virtual STSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg)const=0; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void getParameters(std::vector ¶meter) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual Integrator* next(){return NULL;} virtual const Integrator* next() const {return NULL;} virtual Real getTimestep() const; protected: virtual void addModifierAfterInitialize(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class StandardIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual void doDriftOrNextIntegrator(); virtual void calculateForces(); public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const Real myTimestep; }; //______________________________________________________________________ INLINES inline Real STSIntegrator::getTimestep() const { return (isforward() ? myTimestep : -myTimestep); } } #endif protomol/framework/integrators/ModifierShake.cpp0100644027616700000500000000551410237151531021571 0ustar pbrenne1dip#include "ModifierShake.h" #include "Integrator.h" #include "Topology.h" #include "ScalarStructure.h" #include "pmconstants.h" using namespace ProtoMol::Report; namespace ProtoMol { //__________________________________________________ ModifierShake ModifierShake::ModifierShake(Real eps, int maxIter,const Integrator* i, int order):ModifierMetaShake(eps,maxIter,order),myTheIntegrator(i){} Real ModifierShake::getTimestep()const { return myTheIntegrator->getTimestep(); } void ModifierShake::doExecute(){ // estimate the current error in all bond constraints Real error = calcError(); // delta_t Real dt = getTimestep() / Constant::TIMEFACTOR; int iter = 0; while(error > myEpsilon) { for(unsigned int i=0;isize();i++) { // find the ID#s of the two atoms in the current constraint int a1 = (*myListOfConstraints)[i].atom1; int a2 = (*myListOfConstraints)[i].atom2; // get the target bond distance for this constraint Real restLength = (*myListOfConstraints)[i].restLength; // now lets compute the lambdas. Vector3D pab = (*myPositions)[a1] - (*myPositions)[a2]; // compute the current bond vector Real pabsq = pab.normSquared(); Real rabsq = restLength*restLength; // compute the difference between the target bond length and // the actual bond length Real diffsq = rabsq - pabsq; //-g^k() // compute the bond vector from the previous timestep Vector3D rab = myLastPositions[a1] - myLastPositions[a2]; Real rpab = rab * pab; // reciprocal atomic masses Real rM1 = 1/myTopology->atoms[a1].scaledMass; Real rM2 = 1/myTopology->atoms[a2].scaledMass; // calculate the constraint force, or multiplier Real gab = diffsq / (2 * (rM1 + rM2) * rpab); Vector3D dp = rab * gab; // move the positions based upon the multiplier (*myPositions)[a1] += dp * rM1; (*myPositions)[a2] -= dp * rM2; dp /= dt; // move the velocities based upon the multiplier (*myVelocities)[a1] += dp * rM1; (*myVelocities)[a2] -= dp * rM2; // the constraint adds a force to each atom since their positions // had to be changed. This constraint force therefore contributes // to the atomic virial. Note that the molecular virial is independent of // any intramolecular constraint forces. if (myEnergies->virial()) { dp /= dt; myEnergies->addVirial(dp*2,rab); } } // compute the error in all the bond constraints after this SHAKE iteration error = calcError(); iter ++; if(iter > myMaxIter) { report << warning << "maxIter = " << myMaxIter << " reached, but still not converged ... error is "<updateBeta(); } virtual std::string doPrint()const{return std::string("UpdateBeta");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: ShadowHMCIntegrator* myTheIntegrator; }; } #endif /* MODIFIER_H */ protomol/framework/integrators/ModifierUpdateBetaAndPush.h0100644027616700000500000000246510237151531023506 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef MODIFIERUPDATEBETAANDPUSH_H #define MODIFIERUPDATEBETAANDPUSH_H #include "Modifier.h" #include "ShadowHMCIntegrator.h" namespace ProtoMol { //_________________________________________________________________ ModifierUpdateBetaAndPush class ModifierUpdateBetaAndPush : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierUpdateBetaAndPush(ShadowHMCIntegrator* i):Modifier(Constant::MAX_INT-100),myTheIntegrator(i){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return true;} private: virtual void doExecute(){ myTheIntegrator->updateBeta(); myTheIntegrator->pushShadowHistory(); } virtual std::string doPrint()const{return std::string("UpdateBetaAndPush");}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: ShadowHMCIntegrator* myTheIntegrator; }; } #endif /* MODIFIER_H */ protomol/framework/integrators/NPTVerletIntegrator.cpp0100644027616700000500000004310710237151531022741 0ustar pbrenne1dip// ----------------------------------------------------------------------- // // explicit, time-reversible integrator for NPT dynamics // // // // Unless modified, this integrator uses the molecular virial to control // // the pressure. -- TIM // // ----------------------------------------------------------------------- // #include "NPTVerletIntegrator.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "pmconstants.h" #include "topologyutilities.h" #include "ModifierPreForceThermostat.h" #include "ModifierPreForceBarostat.h" #include "ModifierPostForceThermostat.h" #include "ModifierPostForceBarostat.h" #include "ModifierNPTShake.h" #include "ModifierNPTRattle.h" using std::vector; using std::string; namespace ProtoMol { // ----------------------------------------------------------------------- // // Keyword. const string NPTVerletIntegrator::keyword("NPTVerlet"); // ----------------------------------------------------------------------- // // Default or empty constructor NPTVerletIntegrator::NPTVerletIntegrator(): STSIntegrator(), myTargetTemp(0.0), myTargetPres(0.0), myOmegaTo(0.0), myOmegaTv(0.0), myTauP(0.0), kbT(0.0) {} // ----------------------------------------------------------------------- // // Constructor NPTVerletIntegrator::NPTVerletIntegrator(Real timestep, Real temperature, Real pressure, Real omegaTo, Real omegaTv, Real tauP, ForceGroup *overloadedForces) : STSIntegrator(timestep, overloadedForces), myTargetTemp(temperature), myTargetPres(pressure), myOmegaTo(omegaTo), myOmegaTv(omegaTv), myTauP(tauP), kbT(temperature * Constant::BOLTZMANN){} // ----------------------------------------------------------------------- // // Thermostat -- prior to force calculations void NPTVerletIntegrator::PreForceThermostat() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // Twice the kinetic energy. Units: (kcal / mol) const Real twiceKE = 2. * kineticEnergy(myTopo, myVelocities); // Advance the particle thermostat variable. myEta += myEtaVel * halfDeltaT; // Advance the particle thermostat variable velocity. myEtaVel += (twiceKE - myTopo->degreesOfFreedom * kbT) * halfDeltaT / Qo; } // ----------------------------------------------------------------------- // // Thermostat -- after force calculations void NPTVerletIntegrator::PostForceThermostat() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // Get the new KE. const Real twiceKE = 2. * kineticEnergy(myTopo, myVelocities); // Advance the particle thermostat variable velocity. myEtaVel += (twiceKE - myTopo->degreesOfFreedom * kbT) * halfDeltaT / Qo; // Advance the particle thermostat variable. myEta += myEtaVel * halfDeltaT; // New particle thermostat kinetic energy. Real pEta = (Qo * 0.5) * (myEtaVel * myEtaVel); // New particle thermostat potential energy. Real VEta = myEta * myTopo->degreesOfFreedom * kbT; // Add the energy from the extended system thermostat. (*myEnergies)[ScalarStructure::INTEGRATOR] += pEta + VEta; } // ----------------------------------------------------------------------- // // Barostat -- prior to force calculations void NPTVerletIntegrator::PreForceBarostat() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // Twice the kinetic energy. Units: (kcal / mol) const Real twiceKE = 2. * kineticEnergy(myTopo, myVelocities); const Real MolKE = molecularKineticEnergy(myTopo, myVelocities); // Advance the volume thermostat variable. myEtaV += myEtaVolVel * halfDeltaT; // Advance the volume thermostat variable velocity. myEtaVolVel += (W * myEpsilonVel * myEpsilonVel - kbT) * halfDeltaT / Qv; // Calculate the current molecular pressure. Units: (bar) Real currentPres = computeMolecularPressure(myEnergies, myVolume, MolKE); // Advance the box volume velocity. Divide by PRESSUREFACTOR to get // correct (fs)^-1 units. myEpsilonVel += (3.0 * (myVolume) * (currentPres - myTargetPres)) * halfDeltaT / (Constant::PRESSUREFACTOR * W); // Advance the box volume velocity due to thermostat forces. myEpsilonVel += (3.0 * twiceKE / myTopo->degreesOfFreedom) * halfDeltaT / W; myEpsilonVel *= exp(-myEtaVolVel * halfDeltaT); // Advance the box volume. Real fac = exp(3.0 * myEpsilonVel * 2. * halfDeltaT); myVolume *= fac; myTopo->rescaleVolume(fac); uncache(); } // ----------------------------------------------------------------------- // // Barostat -- after force calculations void NPTVerletIntegrator::PostForceBarostat() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // Get the new KE. const Real twiceKE = 2. * kineticEnergy(myTopo, myVelocities); const Real MolKE = molecularKineticEnergy(myTopo, myVelocities); // Calculate the current pressure. Units: (bar) Real currentPres = computeMolecularPressure(myEnergies, myVolume, MolKE); // Advance the box volume velocity. myEpsilonVel *= exp(-myEtaVolVel * halfDeltaT); myEpsilonVel += (3.0 * twiceKE / myTopo->degreesOfFreedom) * halfDeltaT / W; // Advance the box volume velocity. Divide by PRESSUREFACTOR to get // correct (fs)^-1 units. myEpsilonVel += (3.0 * (myVolume) * (currentPres - myTargetPres)) * halfDeltaT / (Constant::PRESSUREFACTOR * W); // Advance the volume thermostat variable velocity. myEtaVolVel += (W * myEpsilonVel * myEpsilonVel - kbT) * halfDeltaT / Qv; // Advance the volume thermostat variable. myEtaV += myEtaVolVel * halfDeltaT; // New volume thermostat kinetic energy. Real pEtaV = (Qv * 0.5) * (myEtaVolVel * myEtaVolVel); // New volume thermostat potential energy Real VEtaV = myEtaV * kbT; // New box volume kinetic energy. Real pVol = (W * 0.5) * (myEpsilonVel * myEpsilonVel); // New box volume potential energy. Real VVol = (myVolume * myTargetPres) / Constant::PRESSUREFACTOR; // Add the energy from the extended system barostat. (*myEnergies)[ScalarStructure::INTEGRATOR] += pEtaV + VEtaV + pVol + VVol; } // ----------------------------------------------------------------------- // // doHalfKick(). void NPTVerletIntegrator::doHalfKick() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // calculate the COM and momentum of each molecule buildMolecularCenterOfMass(myPositions,myTopo); buildMolecularMomentum(myVelocities,myTopo); // --------------------------------------------------------------------- // Do the first update of the atom velocities // Loop over all molecules for (unsigned int i=0; i < myTopo->molecules.size(); i++) { // Temporary storage element for the updated molecular momentum Vector3D Momentum(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the velocities due to the thermostat and barostat forces. (*myVelocities)[atom] *= exp(-(mass / myTopo->molecules[i].mass * (1.0 + 3.0/myTopo->degreesOfFreedom) * myEpsilonVel + myEtaVel ) * halfDeltaT); // Add to the new momentum of this molecule Momentum += (*myVelocities)[atom] * mass; } // end loop over atoms // Store the updated molecular momentum myTopo->molecules[i].momentum = Momentum; } // end loop over molecules // ------------------------------------------------------------------------- // Do the second and third updates of the atom velocities // Loop over all molecules for (unsigned int i=0; i < myTopo->molecules.size(); i++) { // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the velocities due to barostat force. (*myVelocities)[atom] -= (myTopo->molecules[i].momentum - (*myVelocities)[atom] * mass) * (1.0 + 3.0/myTopo->degreesOfFreedom) * (1.0 / myTopo->molecules[i].mass) * myEpsilonVel * halfDeltaT; // Advance the velocities due to atomic forces. (*myVelocities)[atom] += (*myForces)[atom] * halfDeltaT * Constant::INV_TIMEFACTOR / mass; } // end loop over atoms } // end loop over molecules } // End doHalfKick(). // ----------------------------------------------------------------------- // // doDrift(). void NPTVerletIntegrator::doDrift() { // Timestep. Units: (fs) const Real deltaT = getTimestep(); // ------------------------------------------------------------------------- // Do the first update of the atom positions // Loop over all molecules for (unsigned int i=0; i < myTopo->molecules.size(); i++) { // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the positions due to change in box length. (*myPositions)[atom] *= exp((mass / myTopo->molecules[i].mass) * myEpsilonVel * deltaT); } // end loop over atoms } // end loop over molecules // ------------------------------------------------------------------------- // Do the second and final update of the positions // Loop over all molecules for (unsigned int i=0; i < myTopo->molecules.size(); i++) { // Temporary storage element for the updated molecular COM Vector3D COM(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the positions due to box volume or barostat (similar to COM shifting). (*myPositions)[atom] += (myTopo->molecules[i].position - (*myPositions)[atom] * (mass / myTopo->molecules[i].mass)) * deltaT * myEpsilonVel; // Advance the positions due to velocity. (*myPositions)[atom] += (*myVelocities)[atom] * deltaT * Constant::INV_TIMEFACTOR; // Add to the new COM of this molecule COM += (*myPositions)[atom] * mass; } // end loop over atoms // Store the updated molecular COM myTopo->molecules[i].position = COM / (myTopo->molecules[i].mass); } // end loop over molecules // update the COM of each molecule buildMolecularCenterOfMass(myPositions,myTopo); } // end doDrift() // ------------------------------------------------------------------- // // do2ndHalfkick() void NPTVerletIntegrator::do2ndHalfKick() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // ----------------------------------------------------------------------------- // Do the first update of the atomic velocities // Loop over all molecules for (unsigned int i=0; i < myTopo->molecules.size(); i++) { // Temporary storage element for the updated molecular momentum Vector3D Momentum(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the velocities due to atomic forces. (*myVelocities)[atom] += (*myForces)[atom] * halfDeltaT * Constant::INV_TIMEFACTOR / mass; // Add to the new momentum of this molecule Momentum += (*myVelocities)[atom] * mass; } // end loop over atoms // Store the updated molecular momentum myTopo->molecules[i].momentum = Momentum; } // end loop over molecules // ------------------------------------------------------------------------------ // Do the second and third updates of the atomic velocities // Loop over all molecules for (unsigned int i=0; i < myTopo->molecules.size(); i++) { // Temporary storage element for the updated molecular momentum Vector3D Momentum(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the velocities due to barostat force. (*myVelocities)[atom] -= (myTopo->molecules[i].momentum - (*myVelocities)[atom] * mass) * (1.0 + 3.0/myTopo->degreesOfFreedom) * (1.0 / myTopo->molecules[i].mass) * myEpsilonVel * halfDeltaT; // Advance the velocities due to the thermostat and barostat forces. (*myVelocities)[atom] *= exp(-(mass / myTopo->molecules[i].mass * (1.0 + 3.0/myTopo->degreesOfFreedom) * myEpsilonVel + myEtaVel ) * halfDeltaT); // Add to the new momentum of this molecule Momentum += (*myVelocities)[atom] * mass; } // end loop over atoms // Store the updated molecular momentum myTopo->molecules[i].momentum = Momentum; } // end loop over molecules // Add the new kinetic and potential energy of the system. Real PE = myEnergies->potentialEnergy(); Real KE = kineticEnergy(myTopo, myVelocities); (*myEnergies)[ScalarStructure::INTEGRATOR] += KE + PE; } // end do2ndHalfKick // ----------------------------------------------------------------------- // // run(). void NPTVerletIntegrator::run(int numTimesteps) { for (int i = 0; i < numTimesteps; i++) { preStepModify(); doHalfKick(); doDriftOrNextIntegrator(); calculateForces(); do2ndHalfKick(); postStepModify(); } } // ----------------------------------------------------------------------- // // initialize(). void NPTVerletIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies) { STSIntegrator::initialize(topo, positions, velocities, energies); buildMolecularCenterOfMass(myPositions,myTopo); // initialize all forces and modifiers myForces->zero(positions->size()); initializeForces(); // Initialize variables to something sane. myEpsilonVel = 0.; myEta = 0.; myEtaV = 0.; myEtaVel = 0.; myEtaVolVel = 0.; // get the initial box volume and # of atoms myVolume = topo->getVolume(*positions); // Compute the fixed barostat mass and thermostat masses. Qo = myTopo->degreesOfFreedom * kbT / (myOmegaTo * myOmegaTo); Qv = kbT / (myOmegaTv * myOmegaTv); W = (myTopo->degreesOfFreedom + 3) * kbT * (myTauP * myTauP); } // ----------------------------------------------------------------------- // // createRattleModifier(). Modifier* NPTVerletIntegrator::createRattleModifier(Real eps, int maxIter){ return (new ModifierNPTRattle(eps, maxIter, this)); } // ----------------------------------------------------------------------- // // createShakeModifier(). Modifier* NPTVerletIntegrator::createShakeModifier(Real eps, int maxIter){ return (new ModifierNPTShake(eps, maxIter, this)); } // ----------------------------------------------------------------------- // // Add the modifiers void NPTVerletIntegrator::addModifierAfterInitialize() { adoptPreStepModifier(new ModifierPreForceThermostat(this,1)); adoptPreStepModifier(new ModifierPreForceBarostat(this,2)); adoptPostStepModifier(new ModifierPostForceBarostat(this,1)); adoptPostStepModifier(new ModifierPostForceThermostat(this,2)); STSIntegrator::addModifierAfterInitialize(); } // ----------------------------------------------------------------------- // // getParameters(). void NPTVerletIntegrator::getParameters(vector& parameters) const { STSIntegrator::getParameters(parameters); parameters.push_back(Parameter("temperature", Value(myTargetTemp))); parameters.push_back(Parameter("pressure", Value(myTargetPres))); parameters.push_back(Parameter("omegaTo", Value(myOmegaTo))); parameters.push_back(Parameter("omegaTv", Value(myOmegaTv))); parameters.push_back(Parameter("tauP", Value(myTauP))); } // ----------------------------------------------------------------------- // // doMake(). STSIntegrator* NPTVerletIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{ return new NPTVerletIntegrator(values[0],values[1],values[2],values[3],values[4],values[5],fg); } } protomol/framework/integrators/NPTVerletIntegrator.h0100644027616700000500000001216010237151531022401 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NPTVERLETINTEGRATOR_H #define NPTVERLETINTEGRATOR_H #include "STSIntegrator.h" namespace ProtoMol { //_______________________________________________________________ NPTVerletIntegrator class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; template class ModifierPreForceThermostat; template class ModifierPostForceThermostat; template class ModifierPreForceBarostat; template class ModifierPostForceBarostat; class Modifer; class NPTVerletIntegrator: public STSIntegrator { template friend class ModifierPreForceThermostat; template friend class ModifierPostForceThermostat; template friend class ModifierPreForceBarostat; template friend class ModifierPostForceBarostat; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NPTVerletIntegrator(); NPTVerletIntegrator(Real timestep, Real temperature, Real pressure, Real omegaTo, Real omegaTv, Real tauP, ForceGroup *overloadedForces); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class NPTVerletIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void do2ndHalfKick(); void PreForceThermostat(); void PostForceThermostat(); void PreForceBarostat(); void PostForceBarostat(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 6;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual void run(int numTimesteps); /// Create a Rattle modifier virtual Modifier* createRattleModifier(Real eps, int maxIter); /// Create a Shake modifier virtual Modifier* createShakeModifier(Real eps, int maxIter); protected: virtual void addModifierAfterInitialize(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class STSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual STSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg)const; protected: virtual void doDrift(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class StandardIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual void doHalfKick(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; Real getEpsilonVel() const {return myEpsilonVel;} Real getEtaVel() const {return myEtaVel;} Real getNumAtoms() const {return NumAtoms;} private: const Real myTargetTemp; // Target temperature. Units: (K) const Real myTargetPres; // Target pressure. Units: (bar) const Real myOmegaTo; // thermostat oscillation frequency. Units: (fs)^-1 const Real myOmegaTv; // box volume thermostat oscillation frequency. Units: (fs)^-1 const Real myTauP; // box volumr oscillation time constant. Units: (fs) const Real kbT; // Target temperature multiplied by Boltzmann's constant. Units: (kcal/mol) unsigned int NumAtoms; // Total # of atoms in the system. unsigned int myNumFree; // Total # of degrees of freedom = (3*Natoms - 3) - NumConstraints Real myVolume; // Current cubic volume. Units (AA^3) Real myEpsilonVel; // Barostat strain rate velocity. Units: (fs)^-1 Real Qo; // Particle thermostat mass. Units: (kcal fs^2 / mol) Real Qv; // Volume thermostat mass. Units: (kcal fs^2 / mol) Real W; // Barostat mass. Units: (kcal fs^2 / mol) Real myEta; // Nose-Hoover particle thermostat variable. Units: (dimensionless) Real myEtaV; // Nose-Hoover volume thermostat variable. Units: (dimensionless) Real myEtaVel; // Velocity of the thermostat variable. Units: (fs)^-1 Real myEtaVolVel; // Velocity of the volume thermostat variable. Units: (fs)^-1 }; } #endif protomol/framework/integrators/NVTVerletIntegrator.cpp0100644027616700000500000002617610237151531022756 0ustar pbrenne1dip// ----------------------------------------------------------------------- // // explicit, time-reversible integrator for NVT dynamics // // ----------------------------------------------------------------------- // #include "NVTVerletIntegrator.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "pmconstants.h" #include "topologyutilities.h" #include "ModifierPreForceThermostat.h" #include "ModifierPostForceThermostat.h" #include "ModifierNVTShake.h" #include "ModifierNVTRattle.h" using std::vector; using std::string; namespace ProtoMol { // ----------------------------------------------------------------------- // // Keyword. const string NVTVerletIntegrator::keyword("NVTVerlet"); // ----------------------------------------------------------------------- // // Default or empty constructor NVTVerletIntegrator::NVTVerletIntegrator(): STSIntegrator(), myTargetTemp(0.0), myOmegaTo(0.0), kbT(0.0) {} // ----------------------------------------------------------------------- // // Constructor NVTVerletIntegrator::NVTVerletIntegrator(Real timestep, Real temperature, Real omegaTo, ForceGroup *overloadedForces) : STSIntegrator(timestep, overloadedForces), myTargetTemp(temperature), myOmegaTo(omegaTo), kbT(temperature * Constant::BOLTZMANN){} // ----------------------------------------------------------------------- // // Thermostat -- prior to force calculations void NVTVerletIntegrator::PreForceThermostat() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // Twice the kinetic energy. Units: (kcal / mol) const Real twiceKE = 2. * kineticEnergy(myTopo, myVelocities); // Advance the particle thermostat variable. myEta += myEtaVel * halfDeltaT; // Advance the particle thermostat variable velocity. myEtaVel += (twiceKE - myTopo->degreesOfFreedom * kbT) * halfDeltaT / Qo; } // ----------------------------------------------------------------------- // // Thermostat -- after force calculations void NVTVerletIntegrator::PostForceThermostat() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // Get the new KE. const Real twiceKE = 2. * kineticEnergy(myTopo, myVelocities); // Advance the particle thermostat variable velocity. myEtaVel += (twiceKE - myTopo->degreesOfFreedom * kbT) * halfDeltaT / Qo; // Advance the particle thermostat variable. myEta += myEtaVel * halfDeltaT; // New particle thermostat kinetic energy. Real pEta = (Qo * 0.5) * (myEtaVel * myEtaVel); // New particle thermostat potential energy. Real VEta = myEta * myTopo->degreesOfFreedom * kbT; // Add the energy from the extended system thermostat. (*myEnergies)[ScalarStructure::INTEGRATOR] += pEta + VEta; } // ----------------------------------------------------------------------- // // doHalfKick(). void NVTVerletIntegrator::doHalfKick() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // --------------------------------------------------------------------- // Do the first update of the atom velocities // Loop over all molecules for (unsigned int i=0; i < myTopo->molecules.size(); i++) { // Temporary storage element for the updated molecular momentum //Vector3D Momentum(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; // Advance the velocities due to the thermostat and barostat forces. (*myVelocities)[atom] *= exp(- myEtaVel * halfDeltaT); } // end loop over atoms } // end loop over molecules // ------------------------------------------------------------------------- // Do the second update of the atom velocities // Loop over all molecules for (unsigned int i=0; i < myTopo->molecules.size(); i++) { // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the velocities due to atomic forces. (*myVelocities)[atom] += (*myForces)[atom] * halfDeltaT * Constant::INV_TIMEFACTOR / mass; } // end loop over atoms } // end loop over molecules } // End doHalfKick(). // ----------------------------------------------------------------------- // // doDrift(). void NVTVerletIntegrator::doDrift() { // Timestep. Units: (fs) const Real deltaT = getTimestep(); // ------------------------------------------------------------------------- // Update of the positions // Loop over all molecules for (unsigned int i=0; i < myTopo->molecules.size(); i++) { // Temporary storage element for the updated molecular COM Vector3D COM(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the positions due to velocity. (*myPositions)[atom] += (*myVelocities)[atom] * deltaT * Constant::INV_TIMEFACTOR; // Add to the new COM of this molecule COM += (*myPositions)[atom] * mass; } // end loop over atoms // Store the updated molecular COM myTopo->molecules[i].position = COM / (myTopo->molecules[i].mass); } // end loop over molecules // update the COM of each molecule buildMolecularCenterOfMass(myPositions,myTopo); } // end doDrift() // ------------------------------------------------------------------- // // do2ndHalfkick() void NVTVerletIntegrator::do2ndHalfKick() { // Timestep. Units: (fs) const Real halfDeltaT = 0.5 * getTimestep(); // ----------------------------------------------------------------------------- // Do the first update of the atomic velocities // Loop over all molecules for (unsigned int i=0; i < myTopo->molecules.size(); i++) { // Temporary storage element for the updated molecular momentum Vector3D Momentum(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the velocities due to atomic forces. (*myVelocities)[atom] += (*myForces)[atom] * halfDeltaT * Constant::INV_TIMEFACTOR / mass; // Add to the new momentum of this molecule Momentum += (*myVelocities)[atom] * mass; } // end loop over atoms // Store the updated molecular momentum myTopo->molecules[i].momentum = Momentum; } // end loop over molecules // ------------------------------------------------------------------------------ // Do the second and third updates of the atomic velocities // Loop over all molecules for (unsigned int i=0; i < myTopo->molecules.size(); i++) { // Temporary storage element for the updated molecular momentum Vector3D Momentum(0.0,0.0,0.0); // Loop over the atoms on this molecule for (unsigned int a=0; a < myTopo->molecules[i].size(); a++) { // Current atom # and mass int atom = myTopo->molecules[i][a]; Real mass = myTopo->atoms[atom].scaledMass; // Advance the velocities due to the thermostat forces. (*myVelocities)[atom] *= exp(- myEtaVel * halfDeltaT); // Add to the new momentum of this molecule Momentum += (*myVelocities)[atom] * mass; } // end loop over atoms // Store the updated molecular momentum myTopo->molecules[i].momentum = Momentum; } // end loop over molecules // Add the new kinetic and potential energy of the system. Real PE = myEnergies->potentialEnergy(); Real KE = kineticEnergy(myTopo, myVelocities); (*myEnergies)[ScalarStructure::INTEGRATOR] += KE + PE; } // end do2ndHalfKick // ----------------------------------------------------------------------- // // run(). void NVTVerletIntegrator::run(int numTimesteps) { for (int i = 0; i < numTimesteps; i++) { preStepModify(); doHalfKick(); doDriftOrNextIntegrator(); calculateForces(); do2ndHalfKick(); postStepModify(); } } // ----------------------------------------------------------------------- // // initialize(). void NVTVerletIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies) { STSIntegrator::initialize(topo, positions, velocities, energies); buildMolecularCenterOfMass(myPositions,myTopo); // initialize all forces and modifiers myForces->zero(positions->size()); initializeForces(); // Initialize variables to something sane. myEta = 0.; myEtaVel = 0.; // Compute the fixed thermostat masse. Qo = myTopo->degreesOfFreedom * kbT / (myOmegaTo * myOmegaTo); } // ----------------------------------------------------------------------- // // createRattleModifier(). Modifier* NVTVerletIntegrator::createRattleModifier(Real eps, int maxIter){ return (new ModifierNVTRattle(eps, maxIter, this)); } // ----------------------------------------------------------------------- // // createShakeModifier(). Modifier* NVTVerletIntegrator::createShakeModifier(Real eps, int maxIter){ return (new ModifierNVTShake(eps, maxIter, this)); } // ----------------------------------------------------------------------- // // Add the modifiers void NVTVerletIntegrator::addModifierAfterInitialize() { adoptPreStepModifier(new ModifierPreForceThermostat(this,1)); adoptPostStepModifier(new ModifierPostForceThermostat(this,1)); STSIntegrator::addModifierAfterInitialize(); } // ----------------------------------------------------------------------- // // getParameters(). void NVTVerletIntegrator::getParameters(vector& parameters) const { STSIntegrator::getParameters(parameters); parameters.push_back(Parameter("temperature", Value(myTargetTemp))); parameters.push_back(Parameter("omegaTo", Value(myOmegaTo))); } // ----------------------------------------------------------------------- // // doMake(). STSIntegrator* NVTVerletIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{ return new NVTVerletIntegrator(values[0],values[1],values[2],fg); } } protomol/framework/integrators/NVTVerletIntegrator.h0100644027616700000500000000772110237151531022416 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NVTVERLETINTEGRATOR_H #define NVTVERLETINTEGRATOR_H #include "STSIntegrator.h" namespace ProtoMol { //_______________________________________________________________ NVTVerletIntegrator class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; template class ModifierPreForceThermostat; template class ModifierPostForceThermostat; class Modifer; class NVTVerletIntegrator: public STSIntegrator { template friend class ModifierPreForceThermostat; template friend class ModifierPostForceThermostat; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NVTVerletIntegrator(); NVTVerletIntegrator(Real timestep, Real temperature, Real omegaTo, ForceGroup *overloadedForces); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class NVTVerletIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void do2ndHalfKick(); void PreForceThermostat(); void PostForceThermostat(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 3;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual void run(int numTimesteps); /// Create a Rattle modifier virtual Modifier* createRattleModifier(Real eps, int maxIter); /// Create a Shake modifier virtual Modifier* createShakeModifier(Real eps, int maxIter); protected: virtual void addModifierAfterInitialize(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class STSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual STSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg)const; protected: virtual void doDrift(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class StandardIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual void doHalfKick(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; Real getEtaVel() const {return myEtaVel;} Real getNumAtoms() const {return NumAtoms;} private: const Real myTargetTemp; // Target temperature. Units: (K) const Real myOmegaTo; // thermostat oscillation frequency. Units: (fs)^-1 const Real kbT; // Target temperature multiplied by Boltzmann's constant. Units: (kcal/mol) unsigned int NumAtoms; // Total # of atoms in the system. unsigned int myNumFree; // Total # of degrees of freedom = (3*Natoms - 3) - NumConstraints Real Qo; // Particle thermostat mass. Units: (kcal fs^2 / mol) Real myEta; // Nose-Hoover particle thermostat variable. Units: (dimensionless) Real myEtaVel; // Velocity of the thermostat variable. Units: (fs)^-1 }; } #endif protomol/framework/integrators/NonStandardIntegrator.h0100644027616700000500000000230310237151531022767 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NONSTANDARDINTEGRATOR_H #define NONSTANDARDINTEGRATOR_H #include "Integrator.h" namespace ProtoMol { //_________________________________________________________________ NonStandardIntegrator class ForceGroup; class NonStandardIntegrator: public Integrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NonStandardIntegrator(){}; NonStandardIntegrator(ForceGroup* forceGroup):Integrator(forceGroup){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class NonStandardIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual NonStandardIntegrator* make(std::string& errMsg, std::vector values, ForceGroup* fg)const=0; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: }; //______________________________________________________________________ INLINES } #endif protomol/framework/integrators/NoseNVTLeapfrogIntegrator.cpp0100644027616700000500000000601010237151531024062 0ustar pbrenne1dip#include "NoseNVTLeapfrogIntegrator.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "pmconstants.h" #include "topologyutilities.h" #include "ModifierFriction.h" using std::string; using std::vector; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ NoseNVTLeapfrogIntegrator const string NoseNVTLeapfrogIntegrator::keyword("NoseNVTLeapfrog"); NoseNVTLeapfrogIntegrator::NoseNVTLeapfrogIntegrator(): STSIntegrator(), myTemperature(0.0), myThermalInertia(0.0), myBathPosition(0.0){} NoseNVTLeapfrogIntegrator::NoseNVTLeapfrogIntegrator(Real timestep, Real temperature, Real thermalInertia, Real bathPosition, ForceGroup *overloadedForces) : STSIntegrator(timestep, overloadedForces), myTemperature(temperature), myThermalInertia(thermalInertia), myBathPosition(bathPosition){} void NoseNVTLeapfrogIntegrator::friction() { const unsigned int numberOfAtoms = myTopo->atoms.size(); const Real h = getTimestep() * Constant::INV_TIMEFACTOR; Real kineticEnergy = 0.0; for(unsigned int i = 0; i < numberOfAtoms; ++i){ Real m = myTopo->atoms[i].scaledMass; kineticEnergy += ((*myVelocities)[i]).normSquared()*m;//+(*myForces)[i]*h/m } myBathPosition += (0.5*kineticEnergy-myTargetKE)*myThermalInertia/(h*numberOfAtoms); for (unsigned int i=0;iatoms[i].scaledMass; } } void NoseNVTLeapfrogIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ STSIntegrator::initialize(topo,positions,velocities,energies); myTargetKE = (3.0/2.0*positions->size() * Constant::BOLTZMANN * myTemperature); mySumMass = 0.0; for (unsigned int i=0;isize();i++) mySumMass += myTopo->atoms[i].scaledMass; initializeForces(); } void NoseNVTLeapfrogIntegrator::addModifierAfterInitialize(){ adoptPostForceModifier(new ModifierFriction(this)); STSIntegrator::addModifierAfterInitialize(); } void NoseNVTLeapfrogIntegrator::getParameters(vector& parameters) const { STSIntegrator::getParameters(parameters); parameters.push_back(Parameter("temperature",Value(myTemperature,ConstraintValueType::NotNegative()),Text("preferred system temperature"))); parameters.push_back(Parameter("thermal",Value(myThermalInertia),Text("heat bath coupling: 1.0 very, very strong, 0.0 none"))); parameters.push_back(Parameter("bathPos",Value(myBathPosition),0.0,Text("history of the difference of system and heat bath"))); } STSIntegrator* NoseNVTLeapfrogIntegrator::doMake(string&, const vector& values,ForceGroup* fg)const{ return new NoseNVTLeapfrogIntegrator(values[0],values[1],values[2],values[3],fg); } } protomol/framework/integrators/NoseNVTLeapfrogIntegrator.h0100644027616700000500000000513410237151531023535 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef NOSENVTLEAPFROGINTEGRATOR_H #define NOSENVTLEAPFROGINTEGRATOR_H #include "STSIntegrator.h" namespace ProtoMol { //_________________________________________________________________ NoseNVTLeapfrogIntegrator class ScalarStructure; class ForceGroup; class ModifierFriction; class NoseNVTLeapfrogIntegrator : public STSIntegrator { friend class ModifierFriction; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: NoseNVTLeapfrogIntegrator(); NoseNVTLeapfrogIntegrator(Real timestep, Real temperature, Real thermalInertia, Real bathPosition, ForceGroup *overloadedForces); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class NoseNVTLeapfrogIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void friction(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 4;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); protected: virtual void addModifierAfterInitialize(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class STSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual STSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg)const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: const Real myTemperature; const Real myThermalInertia; Real myBathPosition; Real myTargetKE; Real mySumMass; }; //______________________________________________________________________ INLINES } #endif protomol/framework/integrators/PLeapfrogIntegrator.cpp0100644027616700000500000000677610237151531023010 0ustar pbrenne1dip#include "PLeapfrogIntegrator.h" #include "Report.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "topologyutilities.h" #include "pmconstants.h" using std::string; using std::vector; using namespace ProtoMol::Report; namespace ProtoMol { //__________________________________________________ PLeapfrogIntegrator const string PLeapfrogIntegrator::keyword( "PLeapfrog" ); PLeapfrogIntegrator::PLeapfrogIntegrator() : STSIntegrator(),myTempForces(NULL) {} PLeapfrogIntegrator::PLeapfrogIntegrator(Real timestep, ForceGroup *overloadedForces) : STSIntegrator(timestep,overloadedForces),myTempForces(new Vector3DBlock()) {} PLeapfrogIntegrator::~PLeapfrogIntegrator() { if(myTempForces != NULL) delete myTempForces; } void PLeapfrogIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ STSIntegrator::initialize(topo, positions, velocities, energies); initializeForces(); myTempForces->resize(positions->size()); } void PLeapfrogIntegrator::doKickdoDrift() { if(anyPreDriftOrNextModify() || anyPreStepModify() || anyPostStepModify()){ doKick(); if(anyPreStepModify() || anyPostStepModify()){ preDriftOrNextModify(); doHalfDrift(); postStepModify(); preStepModify(); doHalfDrift(); postDriftOrNextModify(); } else { doDrift(); } } else { Real h = getTimestep() * Constant::INV_TIMEFACTOR; const unsigned int count = myPositions->size(); for( unsigned int i = 0; i < count; ++i) { (*myVelocities)[i] += (*myForces)[i] * h / myTopo->atoms[i].scaledMass; (*myPositions)[i] += (*myVelocities)[i] * h; } buildMolecularCenterOfMass(myPositions,myTopo); buildMolecularMomentum(myVelocities,myTopo); postDriftOrNextModify(); } } void PLeapfrogIntegrator::doKickdoHalfDrift() { if(anyPreDriftOrNextModify()){ doKick(); preDriftOrNextModify(); doHalfDrift(); } else { Real h = getTimestep() * Constant::INV_TIMEFACTOR; const unsigned int count = myPositions->size(); for( unsigned int i = 0; i < count; ++i) { (*myVelocities)[i] += (*myForces)[i] * h / myTopo->atoms[i].scaledMass; (*myPositions)[i] += (*myVelocities)[i] * 0.5 * h; } buildMolecularCenterOfMass(myPositions,myTopo); buildMolecularMomentum(myVelocities,myTopo); } } void PLeapfrogIntegrator::doHalfDrift() { Real h = getTimestep() * Constant::INV_TIMEFACTOR; const unsigned int count = myPositions->size(); for( unsigned int i = 0; i < count; ++i) { (*myPositions)[i] += (*myVelocities)[i] * 0.5 * h; } buildMolecularCenterOfMass(myPositions,myTopo); } void PLeapfrogIntegrator::run(int numTimesteps) { if(numTimesteps < 1) return; preStepModify(); doHalfDrift(); postDriftOrNextModify(); calculateForces(); for (int i = 1; i < numTimesteps; ++i) { doKickdoDrift(); calculateForces(); } doKickdoHalfDrift(); // Correction of energy .. Vector3DBlock* temp = myForces; myForces = myTempForces; Real t = myTopo->time; calculateForces(); myTopo->time = t; myForces = temp; postStepModify(); } STSIntegrator* PLeapfrogIntegrator::doMake(string& , const vector& values,ForceGroup* fg)const{ return new PLeapfrogIntegrator(values[0],fg); } } protomol/framework/integrators/PLeapfrogIntegrator.h0100644027616700000500000000425710237151531022445 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PLEAPFROGINTEGRATOR_H #define PLEAPFROGINTEGRATOR_H #include "STSIntegrator.h" namespace ProtoMol { class ScalarStructure; class ForceGroup; //__________________________________________________ PLeapfrogIntegrator class PLeapfrogIntegrator : public STSIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: PLeapfrogIntegrator(); PLeapfrogIntegrator(Real timestep, ForceGroup *overloadedForces); ~PLeapfrogIntegrator(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PLeapfrogIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void doHalfDrift(); void doKickdoDrift(); void doKickdoHalfDrift(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 1;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual void run(int numTimesteps); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class STSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual STSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg)const; protected: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Vector3DBlock* myTempForces; }; } #endif protomol/framework/integrators/PaulTrapIntegrator.cpp0100644027616700000500000002566610237151531022660 0ustar pbrenne1dip#include "PaulTrapIntegrator.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "topologyutilities.h" using std::string; using std::vector; using std::pair; using namespace ProtoMol::Report; namespace ProtoMol { //________________________________________________________ ThermostatType const string ThermostatEnum::str[static_cast(LAST)-static_cast(FIRST)] = { // Order is essential, must be in relation to Enum string("undefined"), // Returned when no enum matches string("NVT"), string("NVT_zero"), string("NVT_ind"), string("NVT_shell"), string("NVT_global"), string("berendsen"), string("berendsen_zero"), string("berendsen_ind"), string("berendsen_shell"), string("berendsen_global") }; //_________________________________________________________________ PaulTrapIntegrator const string PaulTrapIntegrator::keyword("PaulTrap"); PaulTrapIntegrator::PaulTrapIntegrator(): STSIntegrator(), myCached(false), myTemperature(0.0), myThermalInertia(0.0), myBathPosition(0.0), myBathVelocity(1.0){} PaulTrapIntegrator::PaulTrapIntegrator(Real timestep, Real temperature, Real thermalInertia, Real bathPosition, Real bathVelocity, ThermostatType nvttype, Real part, const vector& time, const vector& t, ForceGroup *overloadedForces) : STSIntegrator(timestep, overloadedForces), myCached(false), myTemperature(temperature), myThermalInertia(thermalInertia), myBathPosition(bathPosition), myBathVelocity(bathVelocity), myThermostatType(nvttype), myPart(std::max(std::min(part,1.0),0.0)), myPartReal(std::max(std::min(part,1.0),0.0)), myCount(0){ // Test const unsigned int count = time.size(); if(count != t.size()) report << error <<"[PaulTrapIntegrator::PaulTrapIntegrator] size of time("< > tmp(count); for(unsigned int i=0;iatoms.size(); Real deltaT = getTimestep()/Constant::TIMEFACTOR; Real theTemperature = myTemperature; for(int i=0;i(myT.size())-1;++i){ if(myTopo->time >= myTime[i] && myTopo->time < myTime[i+1]) { theTemperature = myT[i]+(myTopo->time-myTime[i])/(myTime[i+1]-myTime[i])*(myT[i+1]-myT[i]); break; } } // Scaling of velocities unsigned int countZero = 0; switch(myThermostatType){ case ThermostatType::NVT_SHELL: case ThermostatType::BERENDSEN_SHELL: { vector vavg(myLayer.size(),0.0); vector count(myLayer.size(),0); for (unsigned int i=0;i 1e-10){ count[i]++; vavg[i] += (*myVelocities)[k].dot((*myPositions)[k])/rx; } } } for (unsigned int i=0;i 0) v = vavg[i]/static_cast(count[i]); //report << hint << "Vavg["< 1e-10){ (*myVelocities)[k] = (*myPositions)[k]*(v/rx); } else { (*myVelocities)[k] = Vector3D(0.0,0.0,0.0); countZero++; } } } } break; case ThermostatType::NVT_GLOBAL: case ThermostatType::BERENDSEN_GLOBAL: { Real vavg=0.0; int count = 0; for (unsigned int i=0;i 1e-10){ count++; vavg += (*myVelocities)[i].dot((*myPositions)[i])/rx; } } } if(count > 0){ vavg /=static_cast(count); //report << hint << "Vavg="< 1e-10){ (*myVelocities)[i] = (*myPositions)[i]*(vavg/rx); } else { (*myVelocities)[i] = Vector3D(0.0,0.0,0.0); countZero++; } } } } } break; case ThermostatType::BERENDSEN_IND: case ThermostatType::NVT_IND: { for (unsigned int i=0;i 1e-10){ (*myVelocities)[i] = (*myPositions)[i]*((*myVelocities)[i].dot((*myPositions)[i])/rx); } else { (*myVelocities)[i] = Vector3D(0.0,0.0,0.0); countZero++; } } } } break; case ThermostatType::BERENDSEN_ZERO: case ThermostatType::NVT_ZERO: { for (unsigned int i=0;i 0.0 && countZero < numberOfAtoms) t *= static_cast(numberOfAtoms)/static_cast(numberOfAtoms-countZero); myBathVelocity = t > 0.0?(myBathVelocity*(1-myThermalInertia) + theTemperature/t*myThermalInertia):1.0; Real a = sqrt(myBathVelocity); //if(t < theTemperature ){ // a = 1.0; // myBathVelocity = 1.0; //} //report << "a="<& parameters) const { STSIntegrator::getParameters(parameters); parameters.push_back(Parameter("temperature",Value(myTemperature,ConstraintValueType::NotNegative()))); parameters.push_back(Parameter("thermal",Value(myThermalInertia))); parameters.push_back(Parameter("bathPos",Value(myBathPosition),0.0)); parameters.push_back(Parameter("bathVel",Value(myBathVelocity),1.0)); parameters.push_back(Parameter("scheme",Value(myThermostatType.getString(),ConstraintValueType::NotEmpty()),std::string("NVT"),Text(std::string("thermostat scheme (")+ThermostatType::getPossibleValues()+std::string(")")))); parameters.push_back(Parameter("part",Value(myPart,ConstraintValueType::NotNegative()),0.0)); parameters.push_back(Parameter("time",Value(myTime),vector())); parameters.push_back(Parameter("t",Value(myT,ConstraintValueType::NotNegative()),vector())); } STSIntegrator* PaulTrapIntegrator::doMake(string& errMsg, const vector& values,ForceGroup* fg)const{ ThermostatType nvttype = values[5].getString(); if(!nvttype.valid()){ errMsg += " ThermostatType \'"+values[5].getString()+ "\' not recognized, possible values are: "+ThermostatType::getPossibleValues(",")+"."; return NULL; } if(values[7].size() != values[8].size()){ errMsg += " size of time("+toString(values[7].size())+") and temperature("+toString(values[8].size())+") vectors differ."; } return new PaulTrapIntegrator(values[0],values[1],values[2],values[3],values[4],nvttype,values[6],values[7],values[8],fg); } void PaulTrapIntegrator::init() { const unsigned int numberOfAtoms = myTopo->atoms.size(); myKeep.clear(); myKeep.resize(numberOfAtoms,0); myLayer.clear(); myCount = 0; if(myThermostatType != "nvt" && myThermostatType != "berendsen" && myPart > 0.0){ vector > order(numberOfAtoms); for (unsigned int i=0;i= 0.0 && fabs(order[i].first-maxr) > 1e-2) break; if(fabs(order[i].first-last) > 1e-2){ myLayer.resize(myLayer.size()+1); last = order[i].first; } myLayer[myLayer.size()-1].push_back(i); if(static_cast(numberOfAtoms*myPart) <= i && maxr < 0.0){ maxr=order[i].first; } myKeep[order[i].second] = 1; myCount++; } } myPartReal = (numberOfAtoms>0?(Real)myCount/(Real)numberOfAtoms:0.0); myCached = true; } void PaulTrapIntegrator::doUncache(){ myCached = false; } } protomol/framework/integrators/PaulTrapIntegrator.h0100644027616700000500000000732610237151531022316 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PAULTRAPINTEGRATOR_H #define PAULTRAPINTEGRATOR_H #include "AbstractEnumType.h" #include "STSIntegrator.h" #include "pmconstants.h" #include namespace ProtoMol { //_____________________________________________________ ThermostatEnum class ThermostatEnum { public: enum Enum { FIRST = 0, // Only internal purpose UNDEFINED = 0, // Value returned when no string matches NVT, NVT_ZERO, NVT_IND, NVT_SHELL, NVT_GLOBAL, BERENDSEN, BERENDSEN_ZERO, BERENDSEN_IND, BERENDSEN_SHELL, BERENDSEN_GLOBAL, LAST // Only internal purpose }; static const std::string str[]; }; //_____________________________________________________ ThermostatType typedef AbstractEnumType ThermostatType; //_________________________________________________________________ PaulTrapIntegrator class ScalarStructure; class ForceGroup; class PaulTrapIntegrator: public STSIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: PaulTrapIntegrator(); PaulTrapIntegrator(Real timestep, Real temperature, Real thermalInertia, Real bathPosition, Real bathVelocity, ThermostatType nvttype, Real part, const std::vector& time, const std::vector& t, ForceGroup *overloadedForces); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PaulTrapIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void init(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual void getParameters(std::vector& parameters) const; virtual unsigned int getParameterSize() const{return 9;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); private: virtual void doUncache(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class STSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual STSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg)const; protected: virtual void doDrift(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: bool myCached; const Real myTemperature; const Real myThermalInertia; Real myBathPosition; Real myBathVelocity; ThermostatType myThermostatType; Real myPart; Real myPartReal; unsigned int myCount; bool myRemoveAngularMotion; bool myRemoveCommonMotion; std::vector myTime; std::vector myT; std::vector myKeep; std::vector > myLayer; }; //______________________________________________________________________ INLINES } #endif protomol/framework/integrators/STSIntegrator.cpp0100644027616700000500000000504610237151531021567 0ustar pbrenne1dip#include "STSIntegrator.h" #include "Report.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "topologyutilities.h" #include "pmconstants.h" #include "ModifierIncrementTimestep.h" using namespace ProtoMol::Report; using std::string; using std::vector; namespace ProtoMol { //_________________________________________________________________ STSIntegrator STSIntegrator::STSIntegrator() : StandardIntegrator(),myTimestep(0.0){} STSIntegrator::STSIntegrator(Real timestep, ForceGroup *overloadedForces) : StandardIntegrator(overloadedForces), myTimestep(timestep) {} void STSIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies) { StandardIntegrator::initialize(topo, positions, velocities, energies); } void STSIntegrator::addModifierAfterInitialize(){ //Report::report <<"[STSIntegrator::addModifierAfterInitialize]"<clear(); StandardIntegrator::calculateForces(); } void STSIntegrator::doDrift() { Real h = getTimestep() * Constant::INV_TIMEFACTOR; myPositions->intoWeightedAdd(h, *myVelocities); buildMolecularCenterOfMass(myPositions,myTopo); } void STSIntegrator::getParameters(std::vector ¶meter) const{ parameter.push_back(Parameter("timestep", Value(myTimestep,ConstraintValueType::Positive()))); } STSIntegrator* STSIntegrator::make(string& errMsg, const vector& values, ForceGroup* fg)const{ errMsg = ""; if(!checkParameters(errMsg,values)) return NULL; return adjustAlias(doMake(errMsg,values,fg)); } } protomol/framework/integrators/ShadowHMCIntegrator.cpp0100644027616700000500000005637710237151532022711 0ustar pbrenne1dip#include "Report.h" #include "mathutilities.h" #include "pmconstants.h" #include "Vector3DBlock.h" #include "ScalarStructure.h" #include "topologyutilities.h" #include "GenericTopology.h" #include "ModifierUpdateBeta.h" #include "ModifierUpdateBetaAndPush.h" #include "ShadowHMCIntegrator.h" #include using namespace std; using namespace ProtoMol::Report; using std::vector; using std::string; using std::deque; namespace ProtoMol { //____________________________________________________________ ShadowHMCIntegrator const string ShadowHMCIntegrator::keyword("ShadowHMC"); ShadowHMCIntegrator::ShadowHMCIntegrator() : MCIntegrator(), myOrder(0), myShadowK(0), myShadowKover2(0), myC(0.0), myBeta(0.0), sumTotalEnergy(0.0), myPrevVelocities(NULL), myPrevPositions(NULL), myPrevBeta(NULL), myModifier1(NULL), myModifier2(NULL), myOldForces(NULL){} // --------------------------------------------------------------------- // ShadowHMCIntegrator::ShadowHMCIntegrator(int cycles, bool randomCycLen, Real initialTemperature, unsigned int shadowOrder, Real c, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator) : MCIntegrator(cycles,randomCycLen,initialTemperature,overloadedForces,nextIntegrator), myOrder(shadowOrder), // This only works for (order == 2k), where k is even. If/when we // implement k odd, this will need to be changed. myShadowK(myOrder >> 1), myShadowKover2(myOrder >> 2), myC(c), myBeta(0.0), sumTotalEnergy(0.0), myPrevVelocities(new deque()), myPrevPositions(new deque()), myPrevBeta(new deque()), myModifier1(NULL), myModifier2(NULL), myOldForces(new Vector3DBlock()) { } // --------------------------------------------------------------------- // ShadowHMCIntegrator::~ShadowHMCIntegrator(){ if(myPrevVelocities != NULL) delete myPrevVelocities; if(myPrevPositions != NULL) delete myPrevPositions; if(myPrevBeta != NULL) delete myPrevBeta; if(myOldForces != NULL) delete myOldForces; } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::initialize( GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies ) { MCIntegrator::initialize(topo,positions,velocities,energies); Report::report << debug(10) <<"[ShadowHMCIntegrator::initialize]"<adoptPreDriftOrNextModifier(myModifier1); // This one is important because it calls the function to save the shadow // data. myModifier2 = new ModifierUpdateBetaAndPush(this); next()->adoptPostStepModifier(myModifier2); // FIXME This needs to be hardcoded eventually. FIXME // Number of samples to estimate myC. // int numSamples = 10; // // myC = -0.1 * ( myEnergies->potentialEnergy() + // kineticEnergy(myTopo,myVelocities) ); // // report << debug(1) << "myC = " << myC << endr; // // run(numSamples); // // myC = 0.90 * ( sumTotalEnergy / numSamples ); // // report << debug(1) << "myC = " << myC << endr; } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::run(int numTimesteps) { Real initTotEnergy = 0.0, initShadowEnergy = 0.0, finShadowEnergy = 0.0, finTotEnergy = 0.0, MDfinEner = 0.0, MDinitEner = 0.0, momentumEnerDiff = 0.0; bool acceptMomenta = false; // See note in header file. unsigned int localCycleLength = ( myRandomCycLen ? static_cast( myCycleLength * ( 1.3 - 0.6 * randomNumber() ) ) : myCycleLength ); // Check that cyclelength is long enough. It is possible to compute the // shadow with a short cyclelength, but it requires a lot of uncessesary // checks. In general, cyclelength should be much larger than // myShadowK. if(localCycleLength < myShadowK) { report << warning << "*** The cyclelength for this step is below the " << "number of steps required for accurate computation of the " << "shadow energy. Adjusting to minimal cycle legnth. ***" << endr; localCycleLength = myShadowK; } // Start algorithm. for(int i = 0; i < numTimesteps; i++) { preStepModify(); // Save current positions, forces, and energies in case we reject. saveValues(); // Repeat until new momenta are accepted. acceptMomenta = false; while( !acceptMomenta ) { // Clear the history queues and reset beta. resetHistory(); // Calculate new random velocities. perturbSystem(); // Save the initial total energy for the acceptance step. initTotEnergy = myEnergies->potentialEnergy() + kineticEnergy(myTopo,myVelocities); // Run steps -k/2 to -1. runPreSteps( myShadowKover2 ); // Save data at step 0. pushShadowHistory(); // Run steps 1 to k/2. next()->run( myShadowKover2 ); // We now have data for steps -k/2 -> k/2, so we can calculate the // shadow at step 0 and save it as the initial shadow. calculateShadow(); initShadowEnergy = (*myEnergies)[ScalarStructure::SHADOW]; // Accept these momenta with probability proportional to: // min{ 1, exp^(-\beta(H_[2k] - c - H)) }. momentumEnerDiff = initShadowEnergy - initTotEnergy - myC; // Decide whether or not to accept new momenta. if( metropolisTest( momentumEnerDiff, 0.0 ) ) { acceptMomenta = true; report.precision(8); report << debug(1) << "Take momenta (diff = " << momentumEnerDiff << ")" << endr; } else { // Restore saved values from step 0. restoreValues(); report.precision(8); report << debug(1) << "Deny momenta (diff = " << momentumEnerDiff << ")" << endr; } } // Choose max{ H_[2k] - c, H } to be the initial 'energy'. MDinitEner = std::max(initShadowEnergy - myC, initTotEnergy); sumTotalEnergy += initShadowEnergy - initTotEnergy; // In between the beginning and end of the cycle, we don't need to // save previous values or calculate the shadow so run using LF. Run // from step k/2 + 1 -> n - k/2 - 1. disableBetaUpdate(); next()->run(localCycleLength - myShadowK - 1); enableBetaUpdate(); // Finish by running steps n - k/2 -> n. next()->run( myShadowKover2 + 1 ); // Run k/2 more steps so we can compute the shadow at step n. runPostSteps( myShadowKover2 ); // Make note of the final total and shadow energies. finTotEnergy = myEnergies->potentialEnergy() + kineticEnergy(myTopo,myVelocities); finShadowEnergy = (*myEnergies)[ScalarStructure::SHADOW]; // FIXME Temporary. Used for figuring out a good value of c. // cout.setf( ios::fixed ); // cout << endl << "DEBUG: dSE: " << setw(10) << setprecision(4) << // finShadowEnergy; // cout << " - " << setw(10) << setprecision(4) << initShadowEnergy; // cout << " = " << setw(10) << setprecision(4) << finShadowEnergy - // initShadowEnergy << endl; // // cout << "DEBUG: dTE: " << setw(10) << setprecision(4) << finTotEnergy; // cout << " - " << setw(10) << setprecision(4) << initTotEnergy; // cout << " = " << setw(10) << setprecision(4) << finTotEnergy - // initTotEnergy << endl; // // cout << "DEBUG: dE: " << setw(10) << setprecision(5) << finShadowEnergy // - finTotEnergy; // cout << " - " << setw(10) << setprecision(5) << initShadowEnergy - // initTotEnergy; // cout << " = " << setw(10) << setprecision(5) << finShadowEnergy - // finTotEnergy - initShadowEnergy + initTotEnergy << endl << endl; // Choose max{ H_[2k] - c, H } to be the final 'energy'. MDfinEner = std::max(finShadowEnergy - myC, finTotEnergy); // Based on the difference in the max energies, decide to accept // the new positions or not. if( metropolisTest( MDfinEner, MDinitEner ) ) { // Save the new positions. saveValues(); // Print debug information if desired. report << debug(1) << "Accepted (diff = " << MDfinEner - MDinitEner <<")"<< endr; } else { // If we rejected, the we have a lot of clean up to do. restoreValues(); report << debug(1) << "Rejected (diff = " << MDfinEner - MDinitEner <<")" << endr; } postStepModify(); } } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::runPreSteps(int numTimesteps){ // Save all values for current timestep (probably time 0). Vector3DBlock positions(*myPositions); Vector3DBlock velocities(*myVelocities); ScalarStructure energies(*myEnergies); Vector3DBlock forces(*(next()->getForces())); // Flip clock to run backwards. backward(); next()->run( numTimesteps ); // Flip clock to run forward. forward(); // Restore original values. myPositions->intoAssign(positions); myVelocities->intoAssign(velocities); (*myEnergies) = energies; next()->getForces()->intoAssign(forces); myBeta = 0.0; } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::runPostSteps(int numTimesteps){ // We need to save the current state of the system because the extra steps // we are running are only to compute the shadow. All other values must // remain at step n. Vector3DBlock positions(*myPositions); Vector3DBlock velocities(*myVelocities); ScalarStructure energies(*myEnergies); Vector3DBlock forces(*(next()->getForces())); // Run the extra steps needed to compute the shadow at step n. next()->run( numTimesteps ); calculateShadow(); // Restore the energies, forces, positions, velocities and shadow. Real finalShEnergy = (*myEnergies)[ScalarStructure::SHADOW]; myPositions->intoAssign(positions); myVelocities->intoAssign(velocities); (*myEnergies) = energies; next()->getForces()->intoAssign(forces); (*myEnergies)[ScalarStructure::SHADOW] = finalShEnergy; } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::updateBeta() { Report::report << debug(10) <<"[ShadowHMCIntegrator::updateBeta]"<getTimestep() * Constant::INV_TIMEFACTOR; // Compute the dot product of the positions and forces. Real posDotF = 0.0; const Vector3DBlock& forces(*next()->getForces()); for(unsigned int i = 0; i < myPositions->size(); i++) { posDotF += (*myPositions)[i].dot(forces[i]); } // Update beta. myBeta -= h * ( posDotF + 2.0 * myEnergies->potentialEnergy() ); } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::pushShadowHistory(){ Report::report<< debug(10) <<"[ShadowHMCIntegrator::pushShadowHistory]"< 0){ myPrevBeta->push_back( myBeta ); myPrevVelocities->push_back( *myVelocities ); myPrevPositions->push_back( *myPositions ); } // When simulating backward in time, push new values to front of queue. else { myPrevBeta->push_front( myBeta ); myPrevVelocities->push_front( *myVelocities ); myPrevPositions->push_front( *myPositions ); } // For an order (2k) shadow Hamiltonian, we only need to store (k)+1 // // values. Release old values. // if( myPrevBeta->size() > ( myShadowK + 1 ) ) { // The most recent values are added to the end of the queue, so we remove // from the front. if(getTimestep() > 0){ myPrevBeta->pop_front(); myPrevVelocities->pop_front(); myPrevPositions->pop_front(); } else { myPrevBeta->pop_back(); myPrevVelocities->pop_back(); myPrevPositions->pop_back(); } } } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::calculateShadow() { // Make sure that we have enough saved values to compute the shadow. if( myPrevBeta->size() != ( myShadowK + 1 ) ) { report << warning << "Called calculateShadow() with less than " << ( myShadowK + 1 ) << " values." << endr; return; } // Return the appropriate shadow. switch( myOrder ) { case(4) : (*myEnergies)[ScalarStructure::SHADOW] = calcShadow4(); break; case(8) : (*myEnergies)[ScalarStructure::SHADOW] = calcShadow8(); break; default : return; } } // --------------------------------------------------------------------- // Real ShadowHMCIntegrator::calcShadow4() { Real h = next()->getTimestep() * Constant::INV_TIMEFACTOR; Real pos1DotVel0 = 0.0; Real pos1DotVel2 = 0.0; Real vel1DotPos0 = 0.0; Real vel1DotPos2 = 0.0; Real a10 = 0.0; Real a12 = 0.0; const Real c = 1. / (2 * h); Real mass_div_2 = 0.; // The shadow Hamiltonian is a symmetric method about a timestep 'n'. The // way that the data is stored and the fact that myShadowK is 0.5 * the // order of the shadow allows me to access the data in a form consistent // with the algorithm. i.e. data[n-2], data[n-1] ... int n = myShadowKover2; // Compute the shadow on my range. for( unsigned int i = 0; i < myPositions->size(); i++ ) { // Get the mass for this atom. mass_div_2 = 0.5 * myTopo->atoms[i].scaledMass; // Compute the dot products. pos1DotVel0 += mass_div_2 * (((*myPrevPositions)[n+1])[i] - ((*myPrevPositions)[n-1])[i]).dot(((*myPrevVelocities)[n])[i]); vel1DotPos0 += mass_div_2 * (((*myPrevVelocities)[n+1])[i] - ((*myPrevVelocities)[n-1])[i]).dot(((*myPrevPositions)[n])[i]); pos1DotVel2 += mass_div_2 * (((*myPrevPositions)[n+1])[i] - ((*myPrevPositions)[n-1])[i]).dot(((*myPrevVelocities)[n+1])[i] - ((*myPrevVelocities)[n])[i] * 2.0 + ((*myPrevVelocities)[n-1])[i]); vel1DotPos2 += mass_div_2 * (((*myPrevVelocities)[n+1])[i] - ((*myPrevVelocities)[n-1])[i]).dot(((*myPrevPositions)[n+1])[i] - ((*myPrevPositions)[n])[i] * 2.0 + ((*myPrevPositions)[n-1])[i]); } // Compute the a_i_j. a10 = pos1DotVel0 - vel1DotPos0 - 0.5 * ( (*myPrevBeta)[n+1] - (*myPrevBeta)[n-1] ); a12 = pos1DotVel2 - vel1DotPos2; report << debug(2) << "calcShadow4() = " << ( c * ( a10 - a12 / 6.0 ) ) << endr; // Calculate the 4th order shadow. return( c * ( a10 - a12 / 6.0 ) ); } // --------------------------------------------------------------------- // Real ShadowHMCIntegrator::calcShadow8() { Real h = next()->getTimestep() * Constant::INV_TIMEFACTOR; Real pos1DotVel0 = 0.0; Real pos1DotVel2 = 0.0; Real pos1DotVel4 = 0.0; Real vel1DotPos0 = 0.0; Real vel1DotPos2 = 0.0; Real vel1DotPos4 = 0.0; Real pos3DotVel0 = 0.0; Real pos3DotVel2 = 0.0; Real pos3DotVel4 = 0.0; Real vel3DotPos0 = 0.0; Real vel3DotPos2 = 0.0; Real vel3DotPos4 = 0.; Real a10 = 0.0; Real a12 = 0.0; Real a14 = 0.0; Real a30 = 0.0; Real a32 = 0.0; Real a34 = 0.; const Real c = 1. / (2 * h); Real mass_div_2 = 0.; // The shadow Hamiltonian is a symmetric method about a timestep 'n'. The // way that the data is stored and the fact that myShadowK is 0.5 * the // order of the shadow allows me to access the data in a form consistent // with the algorithm. i.e. data[n-2], data[n-1] ... int n = myShadowKover2; // Compute the shadow on my range. for( unsigned int i = 0; i < myPositions->size(); i++ ) { mass_div_2 = 0.5 * myTopo->atoms[i].scaledMass; // Compute the dot products. pos1DotVel0 += mass_div_2 * (((*myPrevPositions)[n+1])[i] - ((*myPrevPositions)[n-1])[i]).dot(((*myPrevVelocities)[n])[i]); vel1DotPos0 += mass_div_2 * (((*myPrevVelocities)[n+1])[i] - ((*myPrevVelocities)[n-1])[i]).dot(((*myPrevPositions)[n])[i]); pos1DotVel2 += mass_div_2 * (((*myPrevPositions)[n+1])[i] - ((*myPrevPositions)[n-1])[i]).dot(((*myPrevVelocities)[n+1])[i] - ((*myPrevVelocities)[n])[i] * 2.0 + ((*myPrevVelocities)[n-1])[i]); vel1DotPos2 += mass_div_2 * (((*myPrevVelocities)[n+1])[i] - ((*myPrevVelocities)[n-1])[i]).dot(((*myPrevPositions)[n+1])[i] - ((*myPrevPositions)[n])[i] * 2.0 + ((*myPrevPositions)[n-1])[i]); pos1DotVel4 += mass_div_2 * (((*myPrevPositions)[n+1])[i] - ((*myPrevPositions)[n-1])[i]).dot(((*myPrevVelocities)[n+2])[i] - ((*myPrevVelocities)[n+1])[i] * 4.0 + ((*myPrevVelocities)[n])[i] * 6.0 - ((*myPrevVelocities)[n-1])[i] * 4.0 + ((*myPrevVelocities)[n-2])[i]); vel1DotPos4 += mass_div_2 * (((*myPrevVelocities)[n+1])[i] - ((*myPrevVelocities)[n-1])[i]).dot(((*myPrevPositions)[n+2])[i] - ((*myPrevPositions)[n+1])[i] * 4.0 + ((*myPrevPositions)[n])[i] * 6.0 - ((*myPrevPositions)[n-1])[i] * 4.0 + ((*myPrevPositions)[n-2])[i]); pos3DotVel0 += mass_div_2 * (((*myPrevPositions)[n+2])[i] - ((*myPrevPositions)[n+1])[i] * 2.0 + ((*myPrevPositions)[n-1])[i] * 2.0 - ((*myPrevPositions)[n-2])[i]).dot(((*myPrevVelocities)[n])[i]); vel3DotPos0 += mass_div_2 * (((*myPrevVelocities)[n+2])[i] - ((*myPrevVelocities)[n+1])[i] * 2.0 + ((*myPrevVelocities)[n-1])[i] * 2.0 - ((*myPrevVelocities)[n-2])[i]).dot(((*myPrevPositions)[n])[i]); pos3DotVel2 += mass_div_2 * (((*myPrevPositions)[n+2])[i] - ((*myPrevPositions)[n+1])[i] * 2.0 + ((*myPrevPositions)[n-1])[i] * 2.0 - ((*myPrevPositions)[n-2])[i]).dot(((*myPrevVelocities)[n+1])[i] - ((*myPrevVelocities)[n])[i] * 2.0 + ((*myPrevVelocities)[n-1])[i]); vel3DotPos2 += mass_div_2 * (((*myPrevVelocities)[n+2])[i] - ((*myPrevVelocities)[n+1])[i] * 2.0 + ((*myPrevVelocities)[n-1])[i] * 2.0 - ((*myPrevVelocities)[n-2])[i]).dot(((*myPrevPositions)[n+1])[i] - ((*myPrevPositions)[n])[i] * 2.0 + ((*myPrevPositions)[n-1])[i]); pos3DotVel4 += mass_div_2 * (((*myPrevPositions)[n+2])[i] - ((*myPrevPositions)[n+1])[i] * 2.0 + ((*myPrevPositions)[n-1])[i] * 2.0 - ((*myPrevPositions)[n-2])[i]).dot(((*myPrevVelocities)[n+2])[i] - ((*myPrevVelocities)[n+1])[i] * 4.0 + ((*myPrevVelocities)[n])[i] * 6.0 - ((*myPrevVelocities)[n-1])[i] * 4.0 + ((*myPrevVelocities)[n-2])[i]); vel3DotPos4 += mass_div_2 * (((*myPrevVelocities)[n+2])[i] - ((*myPrevVelocities)[n+1])[i] * 2.0 + ((*myPrevVelocities)[n-1])[i] * 2.0 - ((*myPrevVelocities)[n-2])[i]).dot(((*myPrevPositions)[n+2])[i] - ((*myPrevPositions)[n+1])[i] * 4.0 + ((*myPrevPositions)[n])[i] * 6.0 - ((*myPrevPositions)[n-1])[i] * 4.0 + ((*myPrevPositions)[n-2])[i]); } // Compute the a_i_j. a10 = pos1DotVel0 - vel1DotPos0 - 0.5 * ( (*myPrevBeta)[n+1] - (*myPrevBeta)[n-1] ); a12 = pos1DotVel2 - vel1DotPos2; a14 = pos1DotVel4 - vel1DotPos4; a30 = pos3DotVel0 - vel3DotPos0 - 0.5 * (*myPrevBeta)[n+2] + (*myPrevBeta)[n+1] - (*myPrevBeta)[n-1] + 0.5 * (*myPrevBeta)[n-2]; a32 = pos3DotVel2 - vel3DotPos2; a34 = pos3DotVel4 - vel3DotPos4; report << debug(2) << "calcShadow8() = " << ( (c / 210.) * (210. * a10 + 25. * a30 + 26. * a32 - (60. * a12 + 19. * a14 + 1.5 * a34)) ) << endr; // Calculate the 8th order shadow. I multiplied the algorithm by 210 in // order to easily remove the 5 fractions. I now only have to do 1 // division instead of 5. I also grouped the additions and subtractions to // avoid as much round off error as possible. return ((c / 210.) * (210. * a10 + 25. * a30 + 26. * a32 - (60. * a12 + 19. * a14 + 1.5 * a34))); } // --------------------------------------------------------------------- // MTSIntegrator* ShadowHMCIntegrator::doMake(string& errMsg, const vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const{ unsigned int order = values[3]; if(order != 4 && order != 8){ errMsg += " Expecting order 4 or 8, but not "+values[3].getString(); return NULL; } return new ShadowHMCIntegrator(values[0],values[1],values[2],values[3],values[4],fg,nextIntegrator); } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::getParameters(vector< Parameter> ¶meters) const { MCIntegrator::getParameters(parameters); parameters.push_back(Parameter("order", Value(myOrder,ConstraintValueType::Positive()))); parameters.push_back(Parameter("c", Value(myC))); } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::perturbSystem() { report << debug(10) << "[ShadowHMCIntegrator::perturbSystem]"<clear(); myPrevVelocities->clear(); myPrevPositions->clear(); myBeta = 0.; } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::disableBetaUpdate(){ if(myModifier1 != NULL) myModifier1->disable(); if(myModifier2 != NULL) myModifier2->disable(); } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::enableBetaUpdate(){ if(myModifier1 != NULL) myModifier1->enable(); if(myModifier2 != NULL) myModifier2->enable(); } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::saveValues() { (*myOldForces) = (*(next()->getForces())); MCIntegrator::saveValues(); } // --------------------------------------------------------------------- // void ShadowHMCIntegrator::restoreValues(){ next()->getForces()->intoAssign(*myOldForces); MCIntegrator::restoreValues(); } } protomol/framework/integrators/ShadowHMCIntegrator.h0100644027616700000500000000731410237151532022341 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef SHADOWHMCINTEGRATOR_H #define SHADOWHMCINTEGRATOR_H #include "MCIntegrator.h" #include namespace ProtoMol { class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; class ModifierUpdateBeta; class ModifierUpdateBetaAndPush; //____________________________________________________________ ShadowHMCIntegrator class ShadowHMCIntegrator: public MCIntegrator { friend class ModifierUpdateBeta; friend class ModifierUpdateBetaAndPush; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ShadowHMCIntegrator(); ShadowHMCIntegrator(int cycles, bool randomCycLen, Real initialTemperature, unsigned int shadowOrder, Real c, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator); virtual ~ShadowHMCIntegrator(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ShadowHMCIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: void updateBeta(); void pushShadowHistory(); void calculateShadow(); Real calcShadow4(); Real calcShadow8(); void runPreSteps(int numTimesteps); void runPostSteps(int numTimesteps); void resetHistory(); void disableBetaUpdate(); void enableBetaUpdate(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return 5;} virtual void getParameters(std::vector& parameters) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual void run(int numTimesteps); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class MTSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual MTSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From classs MCIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual void perturbSystem(); virtual void saveValues(); virtual void restoreValues(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: unsigned int myOrder, myShadowK, myShadowKover2; Real myC; Real myBeta; Real sumTotalEnergy; std::deque< Vector3DBlock > *myPrevVelocities; std::deque< Vector3DBlock > *myPrevPositions; std::deque< Real > *myPrevBeta; ModifierUpdateBeta* myModifier1; ModifierUpdateBetaAndPush* myModifier2; Vector3DBlock* myOldForces; }; } #endif protomol/framework/integrators/StandardIntegrator.cpp0100644027616700000500000000554710237151532022665 0ustar pbrenne1dip#include "StandardIntegrator.h" #include "Report.h" #include "Parallel.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "ForceGroup.h" #include "GenericTopology.h" #include "topologyutilities.h" #include "pmconstants.h" namespace ProtoMol { //_________________________________________________________________ StandardIntegrator StandardIntegrator::StandardIntegrator():Integrator(),myPreviousIntegrator(NULL){} StandardIntegrator::StandardIntegrator(ForceGroup* forceGroup):Integrator(forceGroup),myPreviousIntegrator(NULL){} void StandardIntegrator::run(int numTimesteps){ for(int i = 0; i < numTimesteps; i++){ preStepModify(); doHalfKick(); doDriftOrNextIntegrator(); calculateForces(); doHalfKick(); postStepModify(); } } void StandardIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ Integrator::initialize(topo, positions, velocities,energies); //Report::report <<"[StandardIntegrator::initialize]"<zero(); preForceModify(); if(!anyMediForceModify()){ Parallel::distribute(myEnergies,myForces); //Report::report <<"calculateForces dist"<evaluateSystemForces(myTopo, myPositions, myForces, myEnergies); mediForceModify(); myForcesToEvaluate->evaluateExtendedForces(myTopo, myPositions, myVelocities, myForces, myEnergies); if(!anyMediForceModify()){ Parallel::reduce(myEnergies,myForces); //Report::report <<"calculateForces red"<size(); for( unsigned int i = 0; i < count; ++i) { (*myVelocities)[i] += (*myForces)[i] * h / myTopo->atoms[i].scaledMass; } buildMolecularMomentum(myVelocities,myTopo); } void StandardIntegrator::doKick(){ Real h = getTimestep() * Constant::INV_TIMEFACTOR; const unsigned int count = myPositions->size(); for( unsigned int i = 0; i < count; ++i) { (*myVelocities)[i] += (*myForces)[i] * h / myTopo->atoms[i].scaledMass; } buildMolecularMomentum(myVelocities,myTopo); } Integrator* StandardIntegrator::previous(){ return myPreviousIntegrator; } const Integrator* StandardIntegrator::previous() const{ return myPreviousIntegrator; } } protomol/framework/integrators/StandardIntegrator.h0100644027616700000500000000351110237151532022317 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef STANDARDINTEGRATOR_H #define STANDARDINTEGRATOR_H #include "Integrator.h" namespace ProtoMol { //_________________________________________________________________ StandardIntegrator class GenericTopology; class ScalarStructure; class Vector3DBlock; class ForceGroup; class StandardIntegrator: public Integrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ friend class MTSIntegrator; public: StandardIntegrator(); StandardIntegrator(ForceGroup* forceGroup); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class StandardIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: virtual void doHalfKick(); virtual void doKick(); virtual void initializeForces(); virtual void doDriftOrNextIntegrator() = 0; virtual void calculateForces(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void run (int numTimesteps); virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual Integrator* previous(); virtual const Integrator* previous() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected: StandardIntegrator *myPreviousIntegrator; }; //______________________________________________________________________ INLINES } #endif protomol/framework/integrators/UmbrellaIntegrator.cpp0100644027616700000500000001102510237151532022654 0ustar pbrenne1dip#include "UmbrellaIntegrator.h" #include "Modifier.h" #include "Vector3DBlock.h" #include "Report.h" #include "ForceGroup.h" #include "Force.h" #include using namespace ProtoMol::Report; using std::vector; using std::string; namespace ProtoMol { class ModifierUmbrella : public Modifier { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ModifierUmbrella():Modifier(Constant::MAX_INT-200){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Modifier //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool isInternal() const {return true;} private: virtual void doExecute(); virtual std::string doPrint()const{return std::string("Umbrella");} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; void ModifierUmbrella::doExecute(){ report << myTopology->time << endr; } //_________________________________________________________ UmbrellaIntegrator const string UmbrellaIntegrator::keyword("Umbrella"); const int UmbrellaIntegrator::myNumParameters(1); // --------------------------------------------------------------------- // UmbrellaIntegrator::UmbrellaIntegrator():MTSIntegrator(){} UmbrellaIntegrator::UmbrellaIntegrator (int cycles, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator) : MTSIntegrator(cycles,overloadedForces,nextIntegrator) { hdf = NULL; curAngle = 0; } // --------------------------------------------------------------------- // UmbrellaIntegrator::~UmbrellaIntegrator(){} // --------------------------------------------------------------------- // MTSIntegrator* UmbrellaIntegrator::doMake(string& , const vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const{ return new UmbrellaIntegrator(values[0],fg,nextIntegrator); } // --------------------------------------------------------------------- // void UmbrellaIntegrator::getParameters(vector< Parameter> ¶meters) const { MTSIntegrator::getParameters(parameters); //parameters.push_back(Parameter( "randomCycLen", Value( myRandomCycLen ), false ) ); } // --------------------------------------------------------------------- // void UmbrellaIntegrator::initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies){ MTSIntegrator::initialize(topo,positions,velocities,energies); std::vector myForcePtrs = next()->getForceGroup()->getForces(); //std::cout << "myForce Ptrs size: " << myForcePtrs.size(); std::vector::iterator forceItr = myForcePtrs.begin(); while( (forceItr != myForcePtrs.end()) && (hdf == 0)) { std::cout << (*forceItr)->getId() << std::endl; if(equalNocase((*forceItr)->getId(),"HarmDihedral")) hdf = (*forceItr); forceItr++; } if (hdf == 0) { std::cout << "A HarmDihedralSystemForce pointer was not found" << std::endl; report << debug(1) << "A HarmDihedralSystemForce pointer was not found" << endr; } else { std::cout << "hdf points to a force of type: "; std::cout << hdf->getId() << std::endl; std::cout.flush(); report << debug(1) << hdf->getId() << ":" << hdf->getParameters()[1].value << endr; } curAngle = hdf->getParameters()[1].value; this->bottom()->adoptPostForceModifier(new ModifierUmbrella()); } // --------------------------------------------------------------------- // void UmbrellaIntegrator::run(int numTimesteps) { for(int i = 0; i < numTimesteps; i++) { incrCoord(); myNextIntegrator->run(myCycleLength); } } // --------------------------------------------------------------------- // void UmbrellaIntegrator::incrCoord(){ curAngle = curAngle + 10; if (curAngle > 180) { curAngle = curAngle - 360; } std::string err; std::cout << "Trial angle for lift: " << curAngle << std::endl; //hdf->setParameter(err,0,0); hdf->setParameter(err,1,curAngle); report << debug(1) << hdf->getId() << ":" << hdf->getParameters()[0].value << ":" << hdf->getParameters()[1].value << endr; } } protomol/framework/integrators/UmbrellaIntegrator.h0100644027616700000500000000502010237151532022317 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef UMBRELLAINTEGRATOR_H #define UMBRELLAINTEGRATOR_H #include "MTSIntegrator.h" namespace ProtoMol { class GenericTopology; class ScalarStructure; class ForceGroup; class Force; class StandardIntegrator; class Vector3DBlock; //_________________________________________________________ UmbrellaIntegrator class UmbrellaIntegrator : public MTSIntegrator { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: UmbrellaIntegrator(); UmbrellaIntegrator(int cycles, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator); virtual ~UmbrellaIntegrator(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getIdNoAlias() const{return keyword;} virtual unsigned int getParameterSize() const{return myNumParameters; } virtual void getParameters(std::vector& parameters) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Integrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void initialize(GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies); virtual void run(int numTimesteps); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class MTSIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual MTSIntegrator* doMake(std::string& errMsg, const std::vector& values, ForceGroup* fg, StandardIntegrator *nextIntegrator)const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class UmbrellaIntegrator //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /** increments the coordinate over which the umbrella potential is applied */ void incrCoord(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: static const int myNumParameters; Force* hdf; Real curAngle; }; } #endif protomol/framework/io/0040755027616700000500000000000010237151532014420 5ustar pbrenne1dipprotomol/framework/io/.cvsignore0100644027616700000500000000004710237151532016416 0ustar pbrenne1dip*.o *.il Makefile.in Makefile ti_files protomol/framework/io/ConfigurationReader.cpp0100644027616700000500000000504610237151532021060 0ustar pbrenne1dip#include "ConfigurationReader.h" #include "Report.h" #include "stringutilities.h" using std::string; using std::vector; using std::stringstream; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________ConfigurationReader ConfigurationReader::ConfigurationReader():Reader(),myConfig(NULL){} ConfigurationReader::ConfigurationReader(const std::string& filename):Reader(filename),myConfig(NULL){} ConfigurationReader::~ConfigurationReader(){ if(myConfig != NULL) delete myConfig; } bool ConfigurationReader::tryFormat(){ open(); return !myFile.fail(); } bool ConfigurationReader::read() { if(myConfig == NULL) myConfig = new Configuration(); return read(*myConfig); } bool ConfigurationReader::read(Configuration& config){ if(!tryFormat()) return false; if (!open()) return false; // Remove comments and reformat stringstream all; while(!myFile.eof() && !myFile.fail()){ string line(getline()); stringstream ss(string(line.begin(),std::find(line.begin(),line.end(),'#'))); string str; while(ss >> str){ all << (all.str().empty()?"":" ") << str; } } close(); if(myFile.fail()) return false; // Nothing to do ... if(all.str().empty()) return true; // First get the keyword and then let Value read from istream ... string str; string bad; bool res = true; while(all >> str){ if(!config.empty(str)){ if(!bad.empty()){ report << recoverable << "Ignoring:"<> config[str]; if(!config[str].valid()){ std::ios::pos_type end = all.tellg(); if(end > start){ std::streamsize len = static_cast(end - start); string tmp(len,' '); all.seekg(start); all.read(&(tmp[0]),len); report << recoverable << "Could not parse \'"<>(ConfigurationReader& configReader, Configuration& config){ configReader.read(config); return configReader; } } protomol/framework/io/ConfigurationReader.h0100644027616700000500000000461110237151532020522 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CONFIGURATIONREADER_H #define CONFIGURATIONREADER_H #include "Reader.h" #include "Configuration.h" namespace ProtoMol { //_________________________________________________________________ConfigurationReader /* * Reads and parses a ProtoMol configuaration file. The acutal parsing is * delegated to each entry of the configuration container. The entries have * a keyowrd (identifier) and a value with associated type and constraint. * The parsing is implemented in the traits of the types. */ class ConfigurationReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ConfigurationReader(); explicit ConfigurationReader(const std::string& filename); virtual ~ConfigurationReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();} virtual bool open(const std::string& filename){return File::open(filename);} virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Configuration //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool read(Configuration& config); Configuration* orphanConfiguration(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend ConfigurationReader& operator>>(ConfigurationReader& configReader, Configuration& config); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Configuration* myConfig; }; //____________________________________________________________________________INLINES } #endif /* CONFIGURATIONXYZREADER_H */ protomol/framework/io/DCDTrajectoryReader.cpp0100644027616700000500000002033710237151532020712 0ustar pbrenne1dip#include "DCDTrajectoryReader.h" #include "Report.h" #include "systemutilities.h" #include "typeSelection.h" using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________DCDTrajectoryReader DCDTrajectoryReader::DCDTrajectoryReader():Reader(std::ios::binary),myCoords(NULL),mySwapEndian(false),myFirst(true){} DCDTrajectoryReader::DCDTrajectoryReader(const std::string& filename):Reader(std::ios::binary,filename),myCoords(NULL),mySwapEndian(false),myFirst(true){} DCDTrajectoryReader::~DCDTrajectoryReader(){ if(myCoords != NULL) delete myCoords; } bool DCDTrajectoryReader::tryFormat(){ if(!open()) return false; myFile.seekg (0, std::ios::end); std::ios::pos_type size = myFile.tellg(); myFile.seekg (0, std::ios::beg); int32 n = 0; File::read(reinterpret_cast(&n),sizeof(int32)); char coord[5]; File::read(coord,4); coord[4] = '\0'; close(); int32 m = n; swapBytes(m); if(static_cast(size) >= 104 && (n == 84 || m == 84) && string(coord) == "CORD"){ return !myFile.fail(); } myFile.setstate(std::ios::failbit); return false; } bool DCDTrajectoryReader::read() { if(myCoords == NULL) myCoords = new Vector3DBlock(); return read(*myCoords); } bool DCDTrajectoryReader::read(Vector3DBlock& coords) { if(myFirst){ // First time ... myX.resize(0); myY.resize(0); myZ.resize(0); if(!open()) return false; myFirst = false; myFile.seekg (0, std::ios::end); std::ios::pos_type size = myFile.tellg(); myFile.seekg (0, std::ios::beg); int32 n = 0; File::read(reinterpret_cast(&n),sizeof(int32)); char coord[5]; File::read(coord,4); coord[4] = '\0'; int32 m = n; swapBytes(m); // Check endianess and if the header looks ok out ... if(static_cast(size) >= 104 && (n == 84 || m == 84) && string(coord) == "CORD"){ if(m == 84){ mySwapEndian = true; report << hint <<"[DCDTrajectoryReader::read] Reading "<<(ISLITTLEENDIAN?"big":"little") <<"endian input on "<<(ISLITTLEENDIAN?"little":"big")<<"endian machine."<(&i32),4); if(mySwapEndian) swapBytes(i32); // report << "NumSets :"<(&i32),4); if(mySwapEndian) swapBytes(i32); // report << "Start :"<(&i32),4); if(mySwapEndian) swapBytes(i32); // report << "Timesteps :"<(&i32),4); if(mySwapEndian) swapBytes(i32); // report << "NAMD writes :"<(&f32),4); if(mySwapEndian) swapBytes(f32); // report << "length :"<(&i32),4); if(mySwapEndian) swapBytes(i32); // report << "Unit cell :"<(&freeIndexes),sizeof(int32)); if(mySwapEndian) swapBytes(freeIndexes); // Skip header myFile.seekg (84+4, std::ios::beg); n = 0; File::read(reinterpret_cast(&n),sizeof(int32)); if(mySwapEndian) swapBytes(n); if(n != 84 || myFile.fail()){ myFile.setstate(std::ios::failbit); close(); return false; } // Skip titles int32 l = 0; n = 0; m = 0; File::read(reinterpret_cast(&n),sizeof(int32)); if(mySwapEndian) swapBytes(n); File::read(reinterpret_cast(&m),sizeof(int32)); if(mySwapEndian) swapBytes(m); //myFile.seekg (m*80, std::ios::cur); myComment.resize(m*80+m-1); for(unsigned int i=0,j=0;i<(unsigned int)m;i++,j += 81){ File::read(&myComment[j],80); myComment[j+80] = '\n'; } File::read(reinterpret_cast(&l),sizeof(int32)); if(mySwapEndian) swapBytes(l); if((n-4)%80 != 0 || myFile.fail() || l != n){ myFile.setstate(std::ios::failbit); close(); return false; } n = 0; l = 0; int32 count = 0; File::read(reinterpret_cast(&n),sizeof(int32)); if(mySwapEndian) swapBytes(n); // 4 File::read(reinterpret_cast(&count),sizeof(int32)); if(mySwapEndian) swapBytes(count); // number of atoms File::read(reinterpret_cast(&l),sizeof(int32)); if(mySwapEndian) swapBytes(l); // 4 if(n != 4 || l != 4 || myFile.fail()){ myFile.setstate(std::ios::failbit); close(); return false; } // Skip free indexes if(freeIndexes > 0) myFile.seekg (4*(count - freeIndexes+2), std::ios::cur); myX.resize(count); myY.resize(count); myZ.resize(count); } // Read next frame // X-dim int32 count = 0; File::read(reinterpret_cast(&count),sizeof(int32)); if(mySwapEndian) swapBytes(count); // number of atoms count /= sizeof(int32); if((unsigned int)count != myX.size() || myFile.fail()){ myFile.setstate(std::ios::failbit); close(); return false; } File::read(reinterpret_cast(&(myX[0])),sizeof(float4)*count); count = 0; File::read(reinterpret_cast(&count),sizeof(int32)); if(mySwapEndian) swapBytes(count); count /= sizeof(int32); if((unsigned int)count != myX.size() || myFile.fail()){ myFile.setstate(std::ios::failbit); close(); return false; } // Y-dim count = 0; File::read(reinterpret_cast(&count),sizeof(int32)); if(mySwapEndian) swapBytes(count); // number of atoms count /= sizeof(int32); if((unsigned int)count != myY.size() || myFile.fail()){ myFile.setstate(std::ios::failbit); close(); return false; } File::read(reinterpret_cast(&(myY[0])),sizeof(float4)*count); count = 0; File::read(reinterpret_cast(&count),sizeof(int32)); if(mySwapEndian) swapBytes(count); count /= sizeof(int32); if((unsigned int)count != myY.size() || myFile.fail()){ myFile.setstate(std::ios::failbit); close(); return false; } // Z-dim count = 0; File::read(reinterpret_cast(&count),sizeof(int32)); if(mySwapEndian) swapBytes(count); // number of atoms count /= sizeof(int32); if((unsigned int)count != myZ.size() || myFile.fail()){ myFile.setstate(std::ios::failbit); close(); return false; } File::read(reinterpret_cast(&(myZ[0])),sizeof(float4)*count); count = 0; File::read(reinterpret_cast(&count),sizeof(int32)); if(mySwapEndian) swapBytes(count); count /= sizeof(int32); if((unsigned int)count != myZ.size() || myFile.fail()){ myFile.setstate(std::ios::failbit); close(); return false; } // Copy back to right structure coords.resize(count); for(int i = 0;i>(DCDTrajectoryReader& dcdTrajectoryReader, XYZ& xyz){ dcdTrajectoryReader.read(xyz.coords); if(xyz.coords.size() != xyz.names.size()) xyz.names.resize(xyz.coords.size(),"NONAME"); return dcdTrajectoryReader; } DCDTrajectoryReader& operator>>(DCDTrajectoryReader& dcdTrajectoryReader, Vector3DBlock& coords){ dcdTrajectoryReader.read(coords); return dcdTrajectoryReader; } } protomol/framework/io/DCDTrajectoryReader.h0100644027616700000500000000537310237151532020362 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef DCDTRAJECTORYREADER_H #define DCDTRAJECTORYREADER_H #include "Reader.h" #include "XYZ.h" #include "typeSelection.h" namespace ProtoMol { //_________________________________________________________________DCDTrajectoryReader /** * Reads a DCD trajectory file, frame by frame. Automatic endianess * detection. */ class DCDTrajectoryReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef TypeSelection::Int<4>::type int32; typedef TypeSelection::Float<4>::type float4; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: DCDTrajectoryReader(); explicit DCDTrajectoryReader(const std::string& filename); virtual ~DCDTrajectoryReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){myFirst=true;return File::open();} virtual bool open(const std::string& filename){myFirst=true;return File::open(filename);} virtual bool open(const char* filename){myFirst=true;return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class DCDTrajectory //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool read(Vector3DBlock& coords); XYZ getXYZ() const; Vector3DBlock* orphanCoords(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend DCDTrajectoryReader& operator>>(DCDTrajectoryReader& DCDTrajectoryReader, XYZ& xyz); friend DCDTrajectoryReader& operator>>(DCDTrajectoryReader& DCDTrajectoryReader, Vector3DBlock& coords); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: std::vector myX; std::vector myY; std::vector myZ; Vector3DBlock* myCoords; bool mySwapEndian; bool myFirst; }; //____________________________________________________________________________INLINES } #endif /* DCDTRAJECTORYREADER_H */ protomol/framework/io/DCDTrajectoryWriter.cpp0100644027616700000500000002064310237151532020764 0ustar pbrenne1dip#include "DCDTrajectoryWriter.h" #include "Report.h" #include "systemutilities.h" #include "stringutilities.h" using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________DCDTrajectoryWriter DCDTrajectoryWriter::DCDTrajectoryWriter(Real timestep, unsigned int firststep, bool isLittleEndian): Writer(std::ios::binary|std::ios::trunc), myIsLittleEndian(isLittleEndian), myFirstStep(firststep),myTimeStep(timestep), myFirst(true) { } DCDTrajectoryWriter::DCDTrajectoryWriter(const string& filename, Real timestep, unsigned int firststep, bool isLittleEndian): Writer(std::ios::binary|std::ios::trunc,filename), myIsLittleEndian(isLittleEndian), myFirstStep(firststep),myTimeStep(timestep), myFirst(true) { } DCDTrajectoryWriter::DCDTrajectoryWriter(const char* filename, Real timestep, unsigned int firststep, bool isLittleEndian): Writer(std::ios::binary|std::ios::trunc,string(filename)), myIsLittleEndian(isLittleEndian), myFirstStep(firststep),myTimeStep(timestep), myFirst(true) { } bool DCDTrajectoryWriter::open(Real timestep, unsigned int firststep, bool isLittleEndian){ setTimestep(timestep); setFirststep(firststep); setLittleEndian(isLittleEndian); myFirst = false; return open(); } bool DCDTrajectoryWriter::open(const string& filename, Real timestep, unsigned int firststep, bool isLittleEndian){ setTimestep(timestep); setFirststep(firststep); setLittleEndian(isLittleEndian); myFirst = false; return open(filename); } bool DCDTrajectoryWriter::open(const char* filename, Real timestep, unsigned int firststep, bool isLittleEndian){ setTimestep(timestep); setFirststep(firststep); setLittleEndian(isLittleEndian); myFirst = false; return open(string(filename)); } bool DCDTrajectoryWriter::reopen(unsigned int numAtoms){ if(myFirst) open(); myFirst = false; if(myFile.is_open()) close(); // Try to read the number of frames myFile.clear(); myFile.open(myFilename.c_str(),std::ios::binary|std::ios::in); myFile.seekg (0, std::ios::end); std::ios::pos_type size = myFile.tellg(); close(); if(myFile.fail()) return false; int32 nAtoms = static_cast(numAtoms); int32 numSets = 1; int32 numSteps = 1; int32 firstStep = static_cast(myFirstStep); float4 timeStep = static_cast(myTimeStep)*Constant::INV_TIMEFACTOR; int32 n0 = 0; int32 n2 = 2; int32 n4 = 4; int32 n24 = 24; int32 n84 = 84; int32 n164 = 164; if(myIsLittleEndian != ISLITTLEENDIAN){ swapBytes(nAtoms); swapBytes(numSets); swapBytes(numSteps); swapBytes(firstStep); swapBytes(timeStep); swapBytes(n0); swapBytes(n2); swapBytes(n4); swapBytes(n24); swapBytes(n84); swapBytes(n164); } if(size > static_cast(100)){ // Ok, we have already written frames myFile.clear(); myFile.open(myFilename.c_str(),std::ios::binary|std::ios::in); myFile.seekg(8, std::ios::beg); File::read(reinterpret_cast(&numSets),4); close(); if(myIsLittleEndian != ISLITTLEENDIAN) swapBytes(numSets); ++numSets; if(myIsLittleEndian != ISLITTLEENDIAN) swapBytes(numSets); myFile.clear(); myFile.open(myFilename.c_str(),std::ios::binary|std::ios::in|std::ios::out); myFile.seekp( 8, std::ios::beg); myFile.write(reinterpret_cast(& numSets),4); // 8: Number of sets of coordinates, NAMD=0 ??? myFile.seekp(20, std::ios::beg); myFile.write(reinterpret_cast(& numSets),4); // 20: Number of sets of coordinates, NAMD=0 ??? close(); } else { // First time ... myFile.clear(); myFile.open(myFilename.c_str(),std::ios::binary|std::ios::out|std::ios::trunc); myFile.write(reinterpret_cast(& n84),4); // 0 myFile.write(string("CORD").c_str(), 4); // 4 myFile.write(reinterpret_cast(& numSets),4); // 8: Number of sets of coordinates, NAMD=0 ??? myFile.write(reinterpret_cast(&firstStep),4); // 12: Starting timestep of DCD file, should be never zero myFile.write(reinterpret_cast(& numSteps),4); // 16: Timesteps between DCD saves myFile.write(reinterpret_cast(& numSets),4); // 20: NAMD writes += numSteps myFile.write(reinterpret_cast(& n0),4); // 24 myFile.write(reinterpret_cast(& n0),4); // 28 myFile.write(reinterpret_cast(& n0),4); // 32 myFile.write(reinterpret_cast(& n0),4); // 36 myFile.write(reinterpret_cast(& n0),4); // 40 myFile.write(reinterpret_cast(& timeStep),4); // 44 : length of a timestep myFile.write(reinterpret_cast(& n0),4); // 48 : unit cell, none=0, used=1 myFile.write(reinterpret_cast(& n0),4); myFile.write(reinterpret_cast(& n0),4); myFile.write(reinterpret_cast(& n0),4); myFile.write(reinterpret_cast(& n0),4); myFile.write(reinterpret_cast(& n0),4); myFile.write(reinterpret_cast(& n0),4); myFile.write(reinterpret_cast(& n0),4); myFile.write(reinterpret_cast(& n0),4); myFile.write(reinterpret_cast(& n24),4); // Pretend to be Charmm 24 myFile.write(reinterpret_cast(& n84),4); // Write DCD title record myFile.write(reinterpret_cast(&n164),4); myFile.write(reinterpret_cast(&n2),4); myFile.write(getRightFill(string("Remarks: File \'"+ myFilename+"\' by "+ getUserName()+". ProtoMol (" +string(__DATE__) +" at " +string( __TIME__)+ ")") ,80).c_str(),80); myFile.write(getRightFill(string("Remarks: "+myComment),80).c_str(),80); myFile.write(reinterpret_cast(& n164),4); // Write DCD num-atoms record myFile.write(reinterpret_cast(& n4),4); myFile.write(reinterpret_cast(& nAtoms),4); myFile.write(reinterpret_cast(& n4),4); if(myFile.fail()){ close(); return false; } close(); } myFile.clear(); myFile.open(myFilename.c_str(),std::ios::binary|std::ios::out|std::ios::app); return !myFile.fail(); } bool DCDTrajectoryWriter::write(const Vector3DBlock& coords){ const unsigned int count = coords.size(); if (!reopen(count)) return false; myX.resize(count); myY.resize(count); myZ.resize(count); for(unsigned int i=0;i(coords[i].x); myY[i] = static_cast(coords[i].y); myZ[i] = static_cast(coords[i].z); if(myIsLittleEndian != ISLITTLEENDIAN){ swapBytes(myX[i]); swapBytes(myY[i]); swapBytes(myZ[i]); } } int32 nAtoms = static_cast(count*4); if(myIsLittleEndian != ISLITTLEENDIAN){ swapBytes(nAtoms); } myFile.write(reinterpret_cast(&nAtoms),sizeof(int32)); myFile.write(reinterpret_cast(&(myX[0])),count*sizeof(float4)); myFile.write(reinterpret_cast(&nAtoms),sizeof(int32)); myFile.write(reinterpret_cast(&nAtoms),sizeof(int32)); myFile.write(reinterpret_cast(&(myY[0])),count*sizeof(float4)); myFile.write(reinterpret_cast(&nAtoms),sizeof(int32)); myFile.write(reinterpret_cast(&nAtoms),sizeof(int32)); myFile.write(reinterpret_cast(&(myZ[0])),count*sizeof(float4)); myFile.write(reinterpret_cast(&nAtoms),sizeof(int32)); close(); return !myFile.fail(); } void DCDTrajectoryWriter::setLittleEndian(bool littleEndian){ myIsLittleEndian = littleEndian; } void DCDTrajectoryWriter::setTimestep(Real timestep){ myTimeStep = timestep; } void DCDTrajectoryWriter::setFirststep(unsigned int firststep){ myFirstStep = firststep; } DCDTrajectoryWriter& operator<<(DCDTrajectoryWriter& dcdWriter, const Vector3DBlock& coords){ dcdWriter.write(coords); return dcdWriter; } DCDTrajectoryWriter& operator<<(DCDTrajectoryWriter& dcdWriter, const XYZ& xyz){ dcdWriter.write(xyz.coords); return dcdWriter; } } protomol/framework/io/DCDTrajectoryWriter.h0100644027616700000500000000671410237151532020434 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef DCDTRAJECTORYWRITER_H #define DCDTRAJECTORYWRITER_H #include "Writer.h" #include "XYZ.h" #include "systemutilities.h" #include "typeSelection.h" namespace ProtoMol { //_________________________________________________________________DCDTrajectoryWriter /** * Writes DCD trajectories and updates the number of coordinate sets * after each write, no need to know the final number of sets. */ class DCDTrajectoryWriter : public Writer { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef TypeSelection::Int<4>::type int32; typedef TypeSelection::Float<4>::type float4; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: explicit DCDTrajectoryWriter(Real timestep=1.0, unsigned int firststep=1, bool isLittleEndian=ISLITTLEENDIAN); explicit DCDTrajectoryWriter(const std::string& filename,Real timestep=1.0, unsigned int firststep=1, bool isLittleEndian=ISLITTLEENDIAN); explicit DCDTrajectoryWriter(const char* filename,Real timestep=1.0, unsigned int firststep=1, bool isLittleEndian=ISLITTLEENDIAN); // Need this implementation, otherwise const char* will bee converted to bool or int ... //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){myFirst = false;return File::open();} virtual bool open(const std::string& filename){myFirst = false;return File::open(filename);} virtual bool open(const char* filename){myFirst = false;return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class DCD //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool open(Real timestep, unsigned int firststep=1, bool isLittleEndian=ISLITTLEENDIAN); bool open(const std::string& filename, Real timestep, unsigned int firststep=1, bool isLittleEndian=ISLITTLEENDIAN); bool open(const char* filename, Real timestep, unsigned int firststep=1, bool isLittleEndian=ISLITTLEENDIAN); bool write(const Vector3DBlock& coords); void setLittleEndian(bool littleEndian); void setTimestep(Real timestep); void setFirststep(unsigned int firststep); private: bool reopen(unsigned int numAtoms); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend DCDTrajectoryWriter& operator<<(DCDTrajectoryWriter& dcdWriter, const Vector3DBlock& coords); friend DCDTrajectoryWriter& operator<<(DCDTrajectoryWriter& dcdWriter, const XYZ& xyz); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: bool myIsLittleEndian; unsigned int myFirstStep; Real myTimeStep; std::vector myX; std::vector myY; std::vector myZ; bool myFirst; // flag if the file has to be opend and cleared }; //____________________________________________________________________________INLINES } #endif /* DCDTRAJECTORYWRITER_H */ protomol/framework/io/File.cpp0100644027616700000500000000325710237151532016007 0ustar pbrenne1dip#include "File.h" #include "systemutilities.h" #if defined(__SUNPRO_CC) // Sun WorkShop CC does not properly read more than one char ... #define FSTREAM_READ_1BY1 #endif using std::string; using std::fstream; namespace ProtoMol { //_________________________________________________________________ File File::File(std::ios::openmode mode):myMode(mode),myFilename(""),myComment(""){} File::File(std::ios::openmode mode,const string& filename):myMode(mode),myFilename(filename),myComment(""){} File::~File(){ if(myFile.is_open()) close(); } bool File::open(){ if(myFile.is_open()) close(); myFile.clear(); myFile.open(myFilename.c_str(),myMode); return !myFile.fail(); } bool File::open(const string& filename){ setFilename(filename); return open(); } bool File::open(const char* filename){ return open(string(filename)); } void File::close(){ if(myFile.is_open()) myFile.close(); } bool File::isAccessible(){ return ProtoMol::isAccessible(myFilename); } File::operator void*() const{ return (myFile.fail() ? 0 : const_cast(this)); } bool File::operator!() const { return myFile.fail(); } std::fstream& File::read(char* c, std::streamsize count){ #ifdef FSTREAM_READ_1BY1 for(std::streamsize i=0;i #include namespace ProtoMol { //_________________________________________________________________ File /** * Abstract base class for all I/O; readers and writers. The readers and writes * are intend to act STL alike to stream into or from a supported structure or * container. * * * * NB: * - New writer or reader should never inherit directly from File, but * from Reader or Writer. * - Reading binaries one should always use File::read(), rather directly * myFile.read, since some compilers like Sun WorkShop CC have problems. * - Be careful when defining constructors or methods with default values; * especially implicit conversion const char* to string * - File objects can be used as ios_base objects inside expression * (e.g., while(dcdReader >> xyz){ ... } ) */ class File { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: File(){} // Force to use one of the constructors below protected: explicit File(std::ios::openmode mode); File(std::ios::openmode mode, const std::string& filename); public: virtual ~File(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void setFilename(const std::string& filename); std::string getFilename() const; virtual bool open()=0; virtual bool open(const std::string& filename)=0; virtual bool open(const char* filename)=0; // We give a default implementation, but force to // choose the default implementation or to reimplement bool isAccessible(); void close(); operator void*() const; bool operator!() const; // enable expression testing protected: std::fstream& read(char* c, std::streamsize count); // Redirect of fstream::read (Sun WorkShop CC does not properly read more than one char ...) std::string getline(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: std::ios::openmode myMode; protected: std::fstream myFile; std::string myFilename; std::string myComment; // Reader has get and Writer has set method }; //______________________________________________________________________ INLINES inline void File::setFilename(const std::string& filename){ myFilename = filename; } inline std::string File::getFilename() const{ return myFilename; } } #endif /* FILE_H */ protomol/framework/io/Makefile.am0100644027616700000500000000323310237151532016452 0ustar pbrenne1dip# io AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libio_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # io Sources P_IO_SRC =\ ConfigurationReader.cpp\ DCDTrajectoryReader.cpp\ DCDTrajectoryWriter.cpp\ File.cpp\ PARReader.cpp\ PARWriter.cpp\ PDBReader.cpp\ PDBWriter.cpp\ PNGWriter.cpp\ PPMReader.cpp\ PPMWriter.cpp\ PGMReader.cpp\ PGMWriter.cpp\ PSFReader.cpp\ PSFWriter.cpp\ Reader.cpp\ Writer.cpp\ XFigWriter.cpp\ XYZBinReader.cpp\ XYZBinWriter.cpp\ XYZReader.cpp\ XYZTrajectoryReader.cpp\ XYZTrajectoryWriter.cpp\ XYZWriter.cpp # io Includes P_IO_H =\ ConfigurationReader.h\ DCDTrajectoryReader.h\ DCDTrajectoryWriter.h\ File.h\ PARReader.h\ PARWriter.h\ PDBReader.h\ PDBWriter.h\ PNGWriter.h\ PPMReader.h\ PPMWriter.h\ PGMReader.h\ PGMWriter.h\ PSFReader.h\ PSFWriter.h\ Reader.h\ Writer.h\ XFigWriter.h\ XYZBinReader.h\ XYZBinWriter.h\ XYZReader.h\ XYZTrajectoryReader.h\ XYZTrajectoryWriter.h\ XYZWriter.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libio.a libio_a_SOURCES = $(P_IO_SRC) $(P_IO_H) INCLUDES =-I$(P_BASE) -I$(P_IO)# -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_IO_SRC) #include $(top_srcdir)/Makefile.depend protomol/framework/io/Makefile.in0100644027616700000500000002442210237151532016466 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # io SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libio_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # io Sources P_IO_SRC = \ ConfigurationReader.cpp\ DCDTrajectoryReader.cpp\ DCDTrajectoryWriter.cpp\ File.cpp\ PARReader.cpp\ PARWriter.cpp\ PDBReader.cpp\ PDBWriter.cpp\ PNGWriter.cpp\ PPMReader.cpp\ PPMWriter.cpp\ PGMReader.cpp\ PGMWriter.cpp\ PSFReader.cpp\ PSFWriter.cpp\ Reader.cpp\ Writer.cpp\ XFigWriter.cpp\ XYZBinReader.cpp\ XYZBinWriter.cpp\ XYZReader.cpp\ XYZTrajectoryReader.cpp\ XYZTrajectoryWriter.cpp\ XYZWriter.cpp # io Includes P_IO_H = \ ConfigurationReader.h\ DCDTrajectoryReader.h\ DCDTrajectoryWriter.h\ File.h\ PARReader.h\ PARWriter.h\ PDBReader.h\ PDBWriter.h\ PNGWriter.h\ PPMReader.h\ PPMWriter.h\ PGMReader.h\ PGMWriter.h\ PSFReader.h\ PSFWriter.h\ Reader.h\ Writer.h\ XFigWriter.h\ XYZBinReader.h\ XYZBinWriter.h\ XYZReader.h\ XYZTrajectoryReader.h\ XYZTrajectoryWriter.h\ XYZWriter.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libio.a libio_a_SOURCES = $(P_IO_SRC) $(P_IO_H) INCLUDES = -I$(P_BASE) -I$(P_IO)# -I$(P_PARALLEL) -I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_IO_SRC) subdir = framework/io mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) libio_a_LIBADD = am__objects_1 = ConfigurationReader.$(OBJEXT) \ DCDTrajectoryReader.$(OBJEXT) DCDTrajectoryWriter.$(OBJEXT) \ File.$(OBJEXT) PARReader.$(OBJEXT) PARWriter.$(OBJEXT) \ PDBReader.$(OBJEXT) PDBWriter.$(OBJEXT) PNGWriter.$(OBJEXT) \ PPMReader.$(OBJEXT) PPMWriter.$(OBJEXT) PGMReader.$(OBJEXT) \ PGMWriter.$(OBJEXT) PSFReader.$(OBJEXT) PSFWriter.$(OBJEXT) \ Reader.$(OBJEXT) Writer.$(OBJEXT) XFigWriter.$(OBJEXT) \ XYZBinReader.$(OBJEXT) XYZBinWriter.$(OBJEXT) \ XYZReader.$(OBJEXT) XYZTrajectoryReader.$(OBJEXT) \ XYZTrajectoryWriter.$(OBJEXT) XYZWriter.$(OBJEXT) am__objects_2 = am_libio_a_OBJECTS = $(am__objects_1) $(am__objects_2) libio_a_OBJECTS = $(am_libio_a_OBJECTS) DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(libio_a_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(libio_a_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign framework/io/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libio.a: $(libio_a_OBJECTS) $(libio_a_DEPENDENCIES) -rm -f libio.a $(libio_a_AR) libio.a $(libio_a_OBJECTS) $(libio_a_LIBADD) $(RANLIB) libio.a mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/framework/io/PARReader.cpp0100644027616700000500000003645410237151532016702 0ustar pbrenne1dip#include "PARReader.h" #include "stringutilities.h" #include "Report.h" #include using std::string; using std::vector; using std::endl; using std::find; using std::stringstream; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________PARReader PARReader::PARReader(PAR::CharmmTypeEnum charmmType): Reader(), myPAR(NULL),myCharmmType(charmmType),myCharmmTypeDetected(PAR::UNDEFINED){} PARReader::PARReader(const std::string& filename, PAR::CharmmTypeEnum charmmType): Reader(filename), myPAR(NULL),myCharmmType(charmmType),myCharmmTypeDetected(PAR::UNDEFINED){} PARReader::PARReader(const char* filename, PAR::CharmmTypeEnum charmmType): Reader(string(filename)), myPAR(NULL),myCharmmType(charmmType),myCharmmTypeDetected(PAR::UNDEFINED){} PARReader::~PARReader(){ if(myPAR != NULL) delete myPAR; } bool PARReader::open(const std::string& filename, PAR::CharmmTypeEnum charmmType){ myCharmmType = charmmType; myCharmmTypeDetected = PAR::UNDEFINED; return open(filename); } bool PARReader::open(PAR::CharmmTypeEnum charmmType){ myCharmmType = charmmType; myCharmmTypeDetected = PAR::UNDEFINED; return open(); } PAR* PARReader::orphanPAR(){ PAR* tmp = myPAR; myPAR = NULL; return tmp; } bool PARReader::tryFormat(){ if (!open()) return false; while(!myFile.eof()){ string str; str = getline(); stringstream ss(str); str.resize(find(str.begin(),str.end(),'!') - str.begin()); str.resize(find(str.begin(),str.end(),'*') - str.begin()); str.resize(find(str.begin(),str.end(),'{') - str.begin()); str.resize(find(str.begin(),str.end(),'}') - str.begin()); string i; ss >> i; if(!i.empty() && (isKeywordCharmm19(i) || isKeywordCharmm28(i)) && !equalStartNocase("END" ,i)){ close(); return true; } } myFile.setstate(std::ios::failbit); close(); return false; } bool PARReader::read() { if(myPAR == NULL) myPAR = new PAR(); return read(*myPAR); } bool PARReader::read(PAR& par) { if(!tryFormat()) return false; if(!open()) return false; par.clear(); vector > input; // Stripped PAR file input vector signatures; // 'd' for Real or int, 'w' for a word vector lines; // line number in PAR file int charmm19 = 0; int charmm28 = 0; int count = 0; // PAR file line counter int comment = 0; while(!myFile.eof()){ vector data; string numbers = ""; string str(removeBeginEndBlanks(getline())); ++count; // Remove {} comments if(!str.empty() && str[0] == '*') continue; if(find(str.begin(),str.end(),'}') == str.end() && find(str.begin(),str.end(),'{') == str.end()){ if(comment > 0) continue; } else { string tmp = ""; for(unsigned int i=0;i 0){ stringstream ss(str.substr(i,str.size()-i)); string rest; ss >> rest; if(rest == "}" && ss.eof()){ comment = 0; report << warning << "The comments at line "<> i; // Skip * comments if(i[0] == '*') break; if(!i.empty()){ data.push_back(i); numbers += (isReal(i)?"d":"w"); } } // Remove REMARK and SET if(!data.empty() &&(equalStartNocase("REMARK",data[0]) || equalStartNocase("SET",data[0]))){ data.clear(); numbers = ""; } // Store line if(!data.empty()){ input.push_back(data); signatures.push_back(numbers); lines.push_back(count); // Statistics for format selection if(numbers.size() == 1 && isKeywordCharmm28(data[0])){ ++charmm28; } else if(numbers.size() > 1 && isKeywordCharmm19(data[0]) || find(numbers.begin(),numbers.end(),'w') == numbers.end()){ ++charmm19; } else if(numbers.size() > 1 && !isKeywordCharmm19(data[0]) && !isKeywordCharmm28(data[0])){ ++charmm28; } } } // Selection of format myCharmmTypeDetected = (charmm19 > charmm28?PAR::CHARMM19:PAR::CHARMM28); bool isCharmm19 = (myCharmmType == PAR::UNDEFINED ?charmm19 > charmm28:(myCharmmType == PAR::CHARMM19)); // Parse PARRecordTypeEnum type = UNDEFINED; vector::const_iterator sig = signatures.begin(); vector::const_iterator line = lines.begin(); for(vector >::const_iterator i=input.begin();i != input.end();++i,++sig,++line){ vector::const_iterator j = i->begin(); string s(*sig); if(isCharmm19){ // Charmm19 if(equalStartNocase("AEXP" ,(*j)) || equalStartNocase("REXP" ,(*j))|| equalStartNocase("HAEX" ,(*j))|| equalStartNocase("AAEX" ,(*j))|| equalStartNocase("NBOND",(*j))|| equalStartNocase("CUTNB",(*j))|| equalStartNocase("END" ,(*j))|| equalStartNocase("CTONN",(*j))|| equalStartNocase("EPS" ,(*j))|| equalStartNocase("VSWI" ,(*j))|| equalStartNocase("NBXM" ,(*j))|| equalStartNocase("INHI" ,(*j))) continue; if(equalStartNocase("bond",(*j))){ type = BOND; } else if(equalStartNocase("angl",(*j))){ type = ANGLE; } else if(equalStartNocase("dihe",(*j))){ type = DIHEDRAL; } else if(equalStartNocase("impr",(*j))){ type = IMPROPER; } else if(equalStartNocase("nonb",(*j))){ type = NONBONDED; } else if(equalStartNocase("nbfi",(*j))){ type = NBFIX; } else if(equalStartNocase("hbon",(*j))){ type = HBOND; } else { report << warning <<"Unknown parameter \'"<<(*j)<<"\' in X-Plor parameter file at line "<<(*line)<<"."<::const_iterator l=j;l != i->end();++l){ definition += (definition.empty() ? "":" ") + (*l); } // Add the type to the corresponding container ... switch(type){ case BOND: { if(s == "wwdd") par.bonds.push_back(PAR::Bond(par.bonds.size()+1,j[0],j[1],toReal(j[2]),toReal(j[3]))); else report << warning <<"Unknown bond definition \'"<= 1 string atom1(j[0]); string atom2(j[1]); string atom3(j[2]); string atom4(j[3]); int l = par.dihedrals.size()-1; if(l >= 0 && !isCharmm19 && ((par.dihedrals[l].atom1 == atom1 && par.dihedrals[l].atom2 == atom2 && par.dihedrals[l].atom3 == atom3 && par.dihedrals[l].atom4 == atom4) || (par.dihedrals[l].atom1 == atom4 && par.dihedrals[l].atom2 == atom3 && par.dihedrals[l].atom3 == atom2 && par.dihedrals[l].atom4 == atom1))){ // Charmm28 and previous is the same, increase multiplicity par.dihedrals[l].multiplicity++; par.dihedrals[l].forceConstant.push_back(toReal(j[4])); par.dihedrals[l].periodicity.push_back(toInt(j[5])); par.dihedrals[l].phaseShift.push_back(toReal(j[6])); } else { par.dihedrals.push_back(PAR::Dihedral(par.dihedrals.size()+1,j[0],j[1],j[2],j[3],toReal(j[4]),toInt(j[5]),toReal(j[6]))); } } else if (s == "wwwwwdddd"){ // Charmm19 with multiplicity > 1 // Add the dihedral ... PAR::Dihedral dihedral(par.dihedrals.size()+1,j[0],j[1],j[2],j[3],toReal(j[6]),toInt(j[7]),toReal(j[8])); par.dihedrals.push_back(dihedral); int multiplicity = toInt(j[5]); // ... and the multiplicity if(multiplicity > 1){ for(int m = 1;mbegin(); par.dihedrals[par.dihedrals.size()-1].multiplicity++; par.dihedrals[par.dihedrals.size()-1].forceConstant.push_back(toReal(j[0])); par.dihedrals[par.dihedrals.size()-1].periodicity.push_back(toInt(j[1])); par.dihedrals[par.dihedrals.size()-1].phaseShift.push_back(toReal(j[2])); } } } else { report << warning <<"Unknown dihedral definition \'"<=7?toReal(j[4]):0.0); nonbonded.epsilon14 = (s.size()>=5?toReal(j[3+(isCharmm19?0:2)]):0.0); nonbonded.sigma14 = (s.size()>=5?toReal(j[4+(isCharmm19?0:2)]):0.0)*(isCharmm19?PAR::Nonbonded::SIGMA_CHARMM19_TO_CHARMM28:1.0); nonbonded.negative = (nonbonded.epsilon < 0.0); nonbonded.vdw = (s.size()>=5); nonbonded.negative2 = (nonbonded.epsilon14 < 0.0); par.nonbondeds.push_back(nonbonded); break; } case NBFIX: { if(s == "wwdddd") par.nbfixs.push_back(PAR::Nbfix(par.nbfixs.size()+1,j[0],j[1],toReal(j[2]),toReal(j[3]),toReal(j[4]),toReal(j[5]))); else if(s == "wwdd") par.nbfixs.push_back(PAR::Nbfix(par.nbfixs.size()+1,j[0],j[1],toReal(j[2]),toReal(j[3]),toReal(j[2]),toReal(j[3]))); else report << warning <<"Unknown nbfix definition \'"<>(PARReader& parReader, PAR& par){ parReader.read(par); return parReader; } } protomol/framework/io/PARReader.h0100644027616700000500000000705210237151532016337 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PARREADER_H #define PARREADER_H #include "Reader.h" #include "PAR.h" namespace ProtoMol { //_________________________________________________________________PARReader /** * Reads PAR-Charmm/XPLOR 19/27 files (ASCII) */ class PARReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: enum PARRecordTypeEnum { UNDEFINED, BOND, ANGLE, DIHEDRAL, IMPROPER, NONBONDED, NBFIX, HBOND }; // Supported and read Charmm/XPLOR types/records //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: explicit PARReader(PAR::CharmmTypeEnum charmmType=PAR::UNDEFINED); explicit PARReader(const std::string& filename, PAR::CharmmTypeEnum charmmType=PAR::UNDEFINED); explicit PARReader(const char* filename, PAR::CharmmTypeEnum charmmType=PAR::UNDEFINED); // Need this implementation, otherwise const char* will bee converted to bool or int ... virtual ~PARReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();}; virtual bool open(const std::string& filename){return File::open(filename);}; virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PAR //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool open(const std::string& filename, PAR::CharmmTypeEnum charmmType); bool open(const char* filename, PAR::CharmmTypeEnum charmmType); bool open(PAR::CharmmTypeEnum charmmType); void setCharmmType(PAR::CharmmTypeEnum charmmType); PAR::CharmmTypeEnum getCharmmTypeDetected() const; bool read(PAR& par); PAR* orphanPAR(); private: static bool isKeywordCharmm28(const std::string& word); static bool isKeywordCharmm19(const std::string& word); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PAR //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend PARReader& operator>>(PARReader& parReader, PAR& par); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: PAR* myPAR; PAR::CharmmTypeEnum myCharmmType; PAR::CharmmTypeEnum myCharmmTypeDetected; }; //____________________________________________________________________________INLINES inline void PARReader::setCharmmType(PAR::CharmmTypeEnum charmmType){ myCharmmType = charmmType; myCharmmTypeDetected = PAR::UNDEFINED; } inline PAR::CharmmTypeEnum PARReader::getCharmmTypeDetected() const{ return myCharmmTypeDetected; } inline bool PARReader::open(const char* filename, PAR::CharmmTypeEnum charmmType){ return open(std::string(filename),charmmType); } } #endif /* PARREADER_H */ protomol/framework/io/PARWriter.cpp0100644027616700000500000002522610237151532016747 0ustar pbrenne1dip#include "PARWriter.h" #include #include "Report.h" #include "stringutilities.h" #include "systemutilities.h" using std::string; using std::endl; using std::setprecision; using std::setw; using std::left; using std::right; using std::setiosflags; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________PARWriter const PAR::CharmmTypeEnum PARWriter::defaultCharmmType=PAR::CHARMM28; PARWriter::PARWriter(PAR::CharmmTypeEnum charmmType): Writer(),myCharmmType(charmmType){} PARWriter::PARWriter(const string& filename, PAR::CharmmTypeEnum charmmType): Writer(filename),myCharmmType(charmmType){} PARWriter::PARWriter(const char* filename, PAR::CharmmTypeEnum charmmType): Writer(string(filename)),myCharmmType(charmmType){} bool PARWriter::open(const std::string& filename, PAR::CharmmTypeEnum charmmType){ myCharmmType = charmmType; return open(filename); } bool PARWriter::open(PAR::CharmmTypeEnum charmmType){ myCharmmType = charmmType; return open(); } bool PARWriter::open(const char* filename, PAR::CharmmTypeEnum charmmType){ return open(std::string(filename),charmmType); } void PARWriter::setCharmmType(PAR::CharmmTypeEnum charmmType){ myCharmmType = charmmType; } PAR::CharmmTypeEnum PARWriter::getCharmmType() const{ return myCharmmType; } bool PARWriter::write(const PAR& par){ if(!open()) return false; if(myCharmmType == PAR::UNDEFINED){ report << hint << "[PARWriter::write] Charmm type undefined, using default Charmm type "<<((defaultCharmmType==PAR::CHARMM28)?"28":"19")<<"."<0){ myFile <<"BONDS"<< endl; for(unsigned int i=0;i0){ myFile <<"ANGLES"<< endl; for(unsigned int i=0;i0){ myFile <<"DIHEDRALS"<< endl; for(unsigned int i=0;i0){ myFile <<"IMPROPER"<< endl; for(unsigned int i=0;i0){ myFile <<"NONBONDED"<< endl; for(unsigned int i=0;i0){ myFile <<"NBFIX"<< endl; for(unsigned int i=0;i0){ myFile <<"HBOND"<< endl; for(unsigned int i=0;i0){ for(unsigned int i=0;i0){ for(unsigned int i=0;i0){ for(unsigned int i=0;i 1){ myFile << " MULTIPLE= " << setw(2) << setprecision(0) << right << par.dihedrals[i].forceConstant.size(); } myFile << " " << setw(10) << setprecision(4) << right << par.dihedrals[i].forceConstant[0] << " " << setw(3) << setprecision(0) << par.dihedrals[i].periodicity[0] << " " << setw(10) << setprecision(4) << par.dihedrals[i].phaseShift[0] << endl; for(unsigned int j=1;j0){ for(unsigned int i=0;i0){ for(unsigned int i=0;i0){ for(unsigned int i=0;i0){ myFile <<"HBOND"<< endl; for(unsigned int i=0;i> str; if("ATOM" == str){ close(); return true; } } while (!myFile.eof()); myFile.setstate(std::ios::failbit); close(); return false; } bool PDBReader::read() { if(myCoords == NULL) myCoords = new Vector3DBlock(); if(myAtoms == NULL) myAtoms = new std::vector(); return read(*myCoords,*myAtoms); } bool PDBReader::read(PDB& pdb){ return read(pdb.coords,pdb.atoms); } bool PDBReader::read(Vector3DBlock& coords, std::vector& atoms) { if(!tryFormat()) return false; if(!open()) return false; coords.cleaR(); atoms.clear(); // Now we want to read data in until the record name is "END", then stop. int big = 0; int toBig = 0; myComment = ""; do{ string record(getline()); if(equalStart("END",record)) break; if(equalStart("REMARK",record) || record.empty()){ record = removeBeginEndBlanks(record); if(!record.empty()) myComment += (myComment.empty()?"":"\n")+record; continue; } if(equalStart("ATOM",record)){ record = getRightFill(record,80); string str = removeBeginEndBlanks(record.substr(PDB::PDBAtom::S_RES_SEQ,PDB::PDBAtom::L_RES_SEQ)); int resSeq = toInt(str); if(!isInt(str)){ if(str.size() == 4 && isInt(string(&str[1],&str[4])) && str[0] >= 'A' && str[0] <= 'Z'){ resSeq = (str[0] - 'A') * 1000 + 10000 + toInt(string(&str[1],&str[4])); ++big; } else { resSeq = -1; ++toBig; } } atoms.push_back(PDB::PDBAtom(removeBeginEndBlanks(record.substr(PDB::PDBAtom::S_RECORD_NAME,PDB::PDBAtom::L_RECORD_NAME)), toInt(record.substr(PDB::PDBAtom::S_SERIAL,PDB::PDBAtom::L_SERIAL)), removeBeginEndBlanks(record.substr(PDB::PDBAtom::S_ATOM_NAME,PDB::PDBAtom::L_ATOM_NAME)), removeBeginEndBlanks(record.substr(PDB::PDBAtom::S_ALT_LOC,PDB::PDBAtom::L_ALT_LOC)), removeBeginEndBlanks(record.substr(PDB::PDBAtom::S_RES_NAME,PDB::PDBAtom::L_RES_NAME)), removeBeginEndBlanks(record.substr(PDB::PDBAtom::S_CHAIN_ID,PDB::PDBAtom::L_CHAIN_ID)), resSeq, removeBeginEndBlanks(record.substr(PDB::PDBAtom::S_I_CODE,PDB::PDBAtom::L_I_CODE)), toReal(record.substr(PDB::PDBAtom::S_OCCUP,PDB::PDBAtom::L_OCCUP)), toReal(record.substr(PDB::PDBAtom::S_TEMP,PDB::PDBAtom::L_TEMP)), toInt(record.substr(PDB::PDBAtom::S_FOOT_NOTE,PDB::PDBAtom::L_FOOT_NOTE)), removeBeginEndBlanks(record.substr(PDB::PDBAtom::S_SEG_ID,PDB::PDBAtom::L_SEG_ID)), removeBeginEndBlanks(record.substr(PDB::PDBAtom::S_ELEMENT_SYMBOL,PDB::PDBAtom::L_ELEMENT_SYMBOL)), removeBeginEndBlanks(record.substr(PDB::PDBAtom::S_CHARGE,PDB::PDBAtom::L_CHARGE)), 0)); coords.push_back(Vector3D(toReal(record.substr(PDB::PDBAtom::S_X,PDB::PDBAtom::L_X)), toReal(record.substr(PDB::PDBAtom::S_Y,PDB::PDBAtom::L_Y)), toReal(record.substr(PDB::PDBAtom::S_Z,PDB::PDBAtom::L_Z)))); } else{ report << recoverable << "[PDB::read] Record unknow:\'"< 0) report << hint << "[PDB::read] Found "< 0){ report << recoverable << "[PDB::read] Found "<* PDBReader::orphanAtoms(){ std::vector* tmp = myAtoms; myAtoms = NULL; return tmp; } PDB PDBReader::getPDB() const{ PDB res; if(myCoords != NULL) res.coords = (*myCoords); if(myAtoms != NULL) res.atoms = (*myAtoms); return res; } PDBReader& operator>>(PDBReader& pdbReader, PDB& pdb){ pdbReader.read(pdb.coords,pdb.atoms); return pdbReader; } PDBReader& operator>>(PDBReader& pdbReader, Vector3DBlock& coords){ if(pdbReader.myAtoms == NULL) pdbReader.myAtoms = new std::vector(); pdbReader.read(coords,*pdbReader.myAtoms); return pdbReader; } PDBReader& operator>>(PDBReader& pdbReader, XYZ& xyz){ if(pdbReader.myAtoms == NULL) pdbReader.myAtoms = new std::vector(); if(pdbReader.read(xyz.coords,*pdbReader.myAtoms)){ xyz.names.resize(xyz.coords.size()); for(unsigned int i=0;i& atoms); PDB getPDB() const; Vector3DBlock* orphanCoords(); std::vector* orphanAtoms(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend PDBReader& operator>>(PDBReader& pdbReader, PDB& pdb); friend PDBReader& operator>>(PDBReader& pdbReader, XYZ& xyz); friend PDBReader& operator>>(PDBReader& pdbReader, Vector3DBlock& coords); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Vector3DBlock* myCoords; std::vector* myAtoms; }; //____________________________________________________________________________INLINES } #endif /* PDBREADER_H */ protomol/framework/io/PDBWriter.cpp0100644027616700000500000001007610237151532016727 0ustar pbrenne1dip#include "PDBWriter.h" #include "PDB.h" #include "Report.h" #include "stringutilities.h" #include "systemutilities.h" #include using std::string; using std::endl; using std::setprecision; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________PDBWriter PDBWriter::PDBWriter():Writer(){} PDBWriter::PDBWriter(const std::string& filename):Writer(filename){} bool PDBWriter::write(const PDB& pdb){ return write(pdb.coords,pdb.atoms); } bool PDBWriter::write(const Vector3DBlock& coords, const std::vector& atoms){ if(!open()) return false; const unsigned int count = atoms.size(); if(coords.size() != count) report << error << "[PDBWriter::write]" << " Size of coordinates and atoms differ."<< endr; myFile << "REMARKS ProtoMol (built on "<< __DATE__ << " at " << __TIME__<< ") by "<=10000){ if(a.residueNum < 36000){ resSeq = string(1,'A'+(a.residueNum-10000)/1000)+string(toString(a.residueNum%1000)); ++big; } else{ ++toBig; resSeq = "-1"; } } line.replace(PDB::PDBAtom::S_RECORD_NAME, PDB::PDBAtom::L_RECORD_NAME, getRightFill(a.elementType,PDB::PDBAtom::L_RECORD_NAME)); line.replace(PDB::PDBAtom::S_SERIAL, PDB::PDBAtom::L_SERIAL, getRightFill(toString(a.elementNum),PDB::PDBAtom::L_SERIAL)); line.replace(PDB::PDBAtom::S_ATOM_NAME, PDB::PDBAtom::L_ATOM_NAME, getRightFill(a.elementName,PDB::PDBAtom::L_ATOM_NAME)); line.replace(PDB::PDBAtom::S_ALT_LOC, PDB::PDBAtom::L_ALT_LOC, getRightFill(a.altLoc,PDB::PDBAtom::L_ALT_LOC)); line.replace(PDB::PDBAtom::S_RES_NAME, PDB::PDBAtom::L_RES_NAME, getRightFill(a.residueName,PDB::PDBAtom::L_RES_NAME)); line.replace(PDB::PDBAtom::S_CHAIN_ID, PDB::PDBAtom::L_CHAIN_ID, getRightFill(a.chainID,PDB::PDBAtom::L_CHAIN_ID)); line.replace(PDB::PDBAtom::S_RES_SEQ, PDB::PDBAtom::L_RES_SEQ, getLeftFill(resSeq,PDB::PDBAtom::L_RES_SEQ)); line.replace(PDB::PDBAtom::S_I_CODE, PDB::PDBAtom::L_I_CODE, getRightFill(a.insertionCode,PDB::PDBAtom::L_I_CODE)); line.replace(PDB::PDBAtom::S_X+1, PDB::PDBAtom::L_X-1, getLeftFill(toString(c.x),PDB::PDBAtom::L_X-1)); line.replace(PDB::PDBAtom::S_Y+1, PDB::PDBAtom::L_Y-1, getLeftFill(toString(c.y),PDB::PDBAtom::L_Y-1)); line.replace(PDB::PDBAtom::S_Z+1, PDB::PDBAtom::L_Z-1, getLeftFill(toString(c.z),PDB::PDBAtom::L_Z-1)); line.replace(PDB::PDBAtom::S_OCCUP, PDB::PDBAtom::L_OCCUP, getLeftFill(toString(a.occupancy),PDB::PDBAtom::L_OCCUP)); line.replace(PDB::PDBAtom::S_TEMP, PDB::PDBAtom::L_TEMP, getLeftFill(toString(a.tempFactor),PDB::PDBAtom::L_TEMP)); line.replace(PDB::PDBAtom::S_SEG_ID, PDB::PDBAtom::L_SEG_ID, getLeftFill(a.segID,PDB::PDBAtom::L_SEG_ID)); line.replace(PDB::PDBAtom::S_ELEMENT_SYMBOL, PDB::PDBAtom::L_ELEMENT_SYMBOL, getLeftFill(a.symbol,PDB::PDBAtom::L_ELEMENT_SYMBOL)); line.replace(PDB::PDBAtom::S_CHARGE, PDB::PDBAtom::L_CHARGE, getLeftFill(a.charge,PDB::PDBAtom::L_CHARGE)); myFile << line << endl; } myFile <<"END"< 0) report << hint << "[PDB::write] Wrote "< 0) report << recoverable << "[PDB::write] Wrote "<& atoms); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend PDBWriter& operator<<(PDBWriter& pdbWriter, const PDB& pdb); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //____________________________________________________________________________INLINES } #endif /* PDBWRITER_H */ protomol/framework/io/PGMReader.cpp0100644027616700000500000000373310237151532016675 0ustar pbrenne1dip#include "PGMReader.h" #include "stringutilities.h" #include "Report.h" using namespace ProtoMol::Report; using std::string; namespace ProtoMol { //_________________________________________________________________PGMReader PGMReader::PGMReader():Reader(),myPGM(NULL){} PGMReader::PGMReader(const std::string& filename):Reader(filename),myPGM(NULL){} PGMReader::~PGMReader(){ if(myPGM != NULL) delete myPGM; } bool PGMReader::tryFormat(){ if (!open()) return false; string p5,str; myFile >> p5; getline(); unsigned int w=0,h=0; while(myFile >> str){ if(str != "#"){ w = toInt(str); myFile >> h; break; } getline(); } close(); return (!myFile.fail() && w*h > 0 && (p5 == string("P5")||p5 == string("P3"))); } bool PGMReader::read() { if(myPGM == NULL) myPGM = new PGM(); return read(*myPGM); } bool PGMReader::read(PGM& pgm) { if(!tryFormat()) return false; if (!open()) return false; string p5,str; myFile >> p5; getline(); unsigned int w=0,h=0; while(myFile >> str){ if(str != "#"){ w = toInt(str); myFile >> h; break; } myComment = str +" "+getline(); } getline(); getline(); pgm.resize(w,h); if(p5 == string("P5")){ myFile.read(reinterpret_cast(pgm.begin()),pgm.size()); } else { int c; for(unsigned char* p=pgm.begin();p!= pgm.end();p++){ myFile >> c; (*p) = static_cast(c); } } close(); return !myFile.fail(); } bool PGMReader::read(PPM& ppm) { PGM pgm; bool res = read(pgm); ppm = pgm; return res; } PGM* PGMReader::orphanPGM(){ PGM* tmp = myPGM; myPGM = NULL; return tmp; } PGMReader& operator>>(PGMReader& pgmReader, PGM& pgm){ pgmReader.read(pgm); return pgmReader; } PGMReader& operator>>(PGMReader& pgmReader, PPM& ppm){ pgmReader.read(ppm); return pgmReader; } } protomol/framework/io/PGMReader.h0100644027616700000500000000407610237151532016343 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PGMREADER_H #define PGMREADER_H #include "Reader.h" #include "PGM.h" #include "PPM.h" namespace ProtoMol { //_________________________________________________________________PGMReader /* * Reads a PGM raw (binary) image. */ class PGMReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: PGMReader(); explicit PGMReader(const std::string& filename); virtual ~PGMReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();} virtual bool open(const std::string& filename){return File::open(filename);} virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PGM //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool read(PGM& pgm); bool read(PPM& ppm); PGM* orphanPGM(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend PGMReader& operator>>(PGMReader& pgmReader, PGM& pgm); friend PGMReader& operator>>(PGMReader& pgmReader, PPM& ppm); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: PGM* myPGM; }; //____________________________________________________________________________INLINES } #endif /* PGMREADER_H */ protomol/framework/io/PGMWriter.cpp0100644027616700000500000000203610237151532016742 0ustar pbrenne1dip#include "PGMWriter.h" #include "systemutilities.h" #include "Report.h" using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________PGMWriter PGMWriter::PGMWriter():Writer(){} PGMWriter::PGMWriter(const std::string& filename):Writer(filename){} bool PGMWriter::write(const PGM& pgm){ if (!open()) return false; myFile << "P5\n# " << "!ProtoMol (built on "<< __DATE__ << " at " << __TIME__<< ") generated this PGM file by "<(pgm.begin()),pgm.size()); close(); return !myFile.fail(); } bool PGMWriter::write(const PPM& ppm){ PGM pgm; pgm = ppm; return write(pgm); } PGMWriter& operator<<(PGMWriter& pgmWriter, const PGM& pgm){ pgmWriter.write(pgm); return pgmWriter; } PGMWriter& operator<<(PGMWriter& pgmWriter, const PPM& ppm){ pgmWriter.write(ppm); return pgmWriter; } } protomol/framework/io/PGMWriter.h0100644027616700000500000000350210237151532016406 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PGMWRITER_H #define PGMWRITER_H #include "Writer.h" #include "PGM.h" #include "PPM.h" namespace ProtoMol { //_________________________________________________________________PGMWriter /** * Writes a PGM raw (binary) image from PPM or PGM image */ class PGMWriter : public Writer { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: PGMWriter(); explicit PGMWriter(const std::string& filename); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();} virtual bool open(const std::string& filename){return File::open(filename);} virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PGM //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool write(const PGM& pgm); bool write(const PPM& ppm); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend PGMWriter& operator<<(PGMWriter& pgmWriter, const PGM& pgm); friend PGMWriter& operator<<(PGMWriter& pgmWriter, const PPM& ppm); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //____________________________________________________________________________INLINES } #endif /* PGMWRITER_H */ protomol/framework/io/PNGWriter.cpp0100644027616700000500000001552710237151532016754 0ustar pbrenne1dip#include "protomol.h" #ifdef HAVE_LIBPNG #include #include #include #endif #include "PNGWriter.h" #include "systemutilities.h" #include "Report.h" using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________PNGWriter PNGWriter::PNGWriter():Writer(){ #ifndef HAVE_LIBPNG report << recoverable <<"Compiled without PNG library."<(png),sizeof(png)); #endif close(); #ifdef HAVE_LIBPNG FILE *fp= fopen(myFilename.c_str(), "wb"); if (!fp){ myFile.setstate(std::ios::failbit); return false; } // Create and initialize the png_struct with the default error handlers png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); if (png_ptr == NULL) { report << error <<"Could not initialize PNG library."<> p6; getline(); unsigned int w=0,h=0; while(myFile >> str){ if(str != "#"){ w = toInt(str); myFile >> h; break; } getline(); } close(); return (!myFile.fail() && w*h > 0 && (p6 == string("P6") || p6 == string("P3") || p6 == string("P5") || p6 == string("P2"))); } bool PPMReader::read() { if(myPPM == NULL) myPPM = new PPM(); return read(*myPPM); } bool PPMReader::read(PPM& ppm) { if(!tryFormat()) return false; if (!open()) return false; string p6,str; myFile >> p6; getline(); unsigned int w=0,h=0; while(myFile >> str){ if(str != "#"){ w = toInt(str); myFile >> h; break; } myComment = str +" "+getline(); } getline(); getline(); ppm.resize(w,h); if(p6 == string("P6")){ myFile.read(reinterpret_cast(ppm.begin()),ppm.size()); } else if(p6 == string("P3")){ int c; for(unsigned char* p=ppm.begin();p!= ppm.end();p++){ myFile >> c; (*p) = static_cast(c); } } else if(p6 == string("P5")){ myFile.read(reinterpret_cast(ppm.begin()),ppm.size()/3); unsigned char* p=ppm.begin(); for(int i=ppm.size()/3-1;i>=0;i--){ p[i*3+2] = p[i]; p[i*3+1] = p[i]; p[i*3+0] = p[i]; } } else if(p6 == string("P2")){ int c; unsigned char* p=ppm.begin(); for(unsigned int i=0;i> c; p[0] = static_cast(c); p[1] = static_cast(c); p[2] = static_cast(c); p += 3; } } close(); return !myFile.fail(); } bool PPMReader::read(PGM& pgm) { if(!tryFormat()) return false; if (!open()) return false; string p6,str; myFile >> p6; getline(); unsigned int w=0,h=0; while(myFile >> str){ if(str != "#"){ w = toInt(str); myFile >> h; break; } myComment = str +" "+getline(); } getline(); getline(); pgm.resize(w,h); if(p6 == string("P6")){ PPM ppm; myFile.read(reinterpret_cast(ppm.begin()),ppm.size()); pgm = ppm; } else if(p6 == string("P3")){ int r,g,b; for(unsigned char* p=pgm.begin();p!= pgm.end();p++){ myFile >> r >> g >> b; (*p) = static_cast((r+g+b)/3); } } else if(p6 == string("P5")){ myFile.read(reinterpret_cast(pgm.begin()),pgm.size()); } else { int c; for(unsigned char* p=pgm.begin();p!= pgm.end();p++){ myFile >> c; (*p) = static_cast(c); } } close(); return !myFile.fail(); } PPM* PPMReader::orphanPPM(){ PPM* tmp = myPPM; myPPM = NULL; return tmp; } PPMReader& operator>>(PPMReader& ppmReader, PPM& ppm){ ppmReader.read(ppm); return ppmReader; } PPMReader& operator>>(PPMReader& ppmReader, PGM& pgm){ ppmReader.read(pgm); return ppmReader; } } protomol/framework/io/PPMReader.h0100644027616700000500000000407710237151532016355 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PPMREADER_H #define PPMREADER_H #include "Reader.h" #include "PPM.h" #include "PGM.h" namespace ProtoMol { //_________________________________________________________________PPMReader /** * Reads a PPM raw (binary) image. */ class PPMReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: PPMReader(); explicit PPMReader(const std::string& filename); virtual ~PPMReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();} virtual bool open(const std::string& filename){return File::open(filename);} virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PPM //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool read(PPM& ppm); bool read(PGM& pgm); PPM* orphanPPM(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend PPMReader& operator>>(PPMReader& ppmReader, PPM& ppm); friend PPMReader& operator>>(PPMReader& ppmReader, PGM& pgm); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: PPM* myPPM; }; //____________________________________________________________________________INLINES } #endif /* PPMREADER_H */ protomol/framework/io/PPMWriter.cpp0100644027616700000500000000203610237151532016753 0ustar pbrenne1dip#include "PPMWriter.h" #include "systemutilities.h" #include "Report.h" using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________PPMWriter PPMWriter::PPMWriter():Writer(){} PPMWriter::PPMWriter(const std::string& filename):Writer(filename){} bool PPMWriter::write(const PPM& ppm){ if (!open()) return false; myFile << "P6\n# " << "!ProtoMol (built on "<< __DATE__ << " at " << __TIME__<< ") generated this PPM file by "<(ppm.begin()),ppm.size()); close(); return !myFile.fail(); } bool PPMWriter::write(const PGM& pgm){ PPM ppm; ppm = pgm; return write(ppm); } PPMWriter& operator<<(PPMWriter& ppmWriter, const PPM& ppm){ ppmWriter.write(ppm); return ppmWriter; } PPMWriter& operator<<(PPMWriter& ppmWriter, const PGM& pgm){ ppmWriter.write(pgm); return ppmWriter; } } protomol/framework/io/PPMWriter.h0100644027616700000500000000364410237151532016426 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PPMWRITER_H #define PPMWRITER_H #include "Writer.h" #include "PPM.h" #include "PGM.h" namespace ProtoMol { //_________________________________________________________________PPMWriter /** * Writes a PPM raw (binary) image from a PPM (color) or PGM (gray) image */ class PPMWriter : public Writer { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: PPMWriter(); explicit PPMWriter(const std::string& filename); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();} virtual bool open(const std::string& filename){return File::open(filename);} virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PPM //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// write PPM from PPM (color) image bool write(const PPM& ppm); /// write PPM from PGM (gray) image bool write(const PGM& pgm); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend PPMWriter& operator<<(PPMWriter& ppmWriter, const PPM& ppm); friend PPMWriter& operator<<(PPMWriter& ppmWriter, const PGM& pgm); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //____________________________________________________________________________INLINES } #endif /* PPMWRITER_H */ protomol/framework/io/PSFReader.cpp0100644027616700000500000002014110237151532016672 0ustar pbrenne1dip#include "PSFReader.h" #include "stringutilities.h" #include "Report.h" #include "mathutilities.h" using std::string; using std::vector; using std::endl; using std::find; using std::stringstream; using namespace ProtoMol::Report; //#define DEBUG_PSF namespace ProtoMol { //_________________________________________________________________PSFReader PSFReader::PSFReader(): Reader(),myPSF(NULL){} PSFReader::PSFReader(const std::string& filename): Reader(filename),myPSF(NULL){} PSFReader::~PSFReader(){ if(myPSF != NULL) delete myPSF; } bool PSFReader::tryFormat(){ if(!open()) return false; string psfHead; myFile >> psfHead; return (myFile.good() && equalNocase("PSF",psfHead)); } bool PSFReader::read() { if(myPSF == NULL) myPSF = new PSF(); return read(*myPSF); } bool PSFReader::read(PSF& psf) { if(!tryFormat()) return false; if(!open()) return false; psf.clear(); // Find header string psfHead; myFile >> psfHead; if(!equalNocase("PSF",psfHead)){ myFile.setstate(std::ios::failbit); close(); return false; } while(!myFile.eof()){ string line(removeBeginEndBlanks(getline())); // Exit if nothing more to read if(line.empty() && myFile.eof()){ close(); return true; } // Find '!', otherwise continue with next line if(std::find(line.begin(),line.end(),'!') == line.end()) continue; // Parse header stringstream ss(line); vector header; int index = -1; string str; while(ss >> str){ if(str[0] == '!' && index < 0) index = header.size(); header.push_back(str); } if(myFile.fail() || index < 1 || index > 2 || header.size() < 2){ report << recoverable << " PSF file \'" << myFilename << "\' has corrupt record header."<> temp_atom.number // read atom number >> temp_atom.seg_id // read segment identifier >> str // read in residue sequence >> temp_atom.residue_name // read in residue name >> temp_atom.atom_name // read in atom name >> temp_atom.atom_type // read in name of the second atom >> temp_atom.charge // read in charge >> temp_atom.mass // read in mass >> temp_atom.identity; // atom's chemical identity (used only by iSGProtomol) temp_atom.residue_sequence = toInt(str); if(!isInt(str)){ report << recoverable << "[PSF::read] Expecting a number for residue sequence. " << "I do not know what to do with \'"<> temp_bond.atom1; myFile >> temp_bond.atom2; psf.bonds.push_back(temp_bond); if(myFile.fail() || (myFile.eof() && counter < numrecords)){ myFile.setstate(std::ios::failbit); close(); return false; } } continue; } else if (equalStartNocase("!NTHETA",keyword)){ for (int counter = 1; counter <= numrecords; ++counter) { PSF::Angle temp_angle; temp_angle.number = counter; myFile >> temp_angle.atom1; myFile >> temp_angle.atom2; myFile >> temp_angle.atom3; psf.angles.push_back(temp_angle); if(myFile.fail() || (myFile.eof() && counter < numrecords)) { myFile.setstate(std::ios::failbit); close(); return false; } } continue; } else if (equalStartNocase("!NPHI",keyword)) { for (int counter = 1; counter <= numrecords; ++counter) { PSF::Dihedral temp_dihedral; temp_dihedral.number = counter; myFile >> temp_dihedral.atom1; myFile >> temp_dihedral.atom2; myFile >> temp_dihedral.atom3; myFile >> temp_dihedral.atom4; psf.dihedrals.push_back(temp_dihedral); if(myFile.fail() || (myFile.eof() && counter < numrecords)){ myFile.setstate(std::ios::failbit); close(); return false; } } continue; } else if (equalStartNocase("!NIMPHI",keyword)){ for (int counter = 1; counter <= numrecords; ++counter) { PSF::Improper temp_improper; temp_improper.number = counter; myFile >> temp_improper.atom1; myFile >> temp_improper.atom2; myFile >> temp_improper.atom3; myFile >> temp_improper.atom4; psf.impropers.push_back(temp_improper); if(myFile.fail() || (myFile.eof() && counter < numrecords)){ myFile.setstate(std::ios::failbit); close(); return false; } } continue; } else if (equalStartNocase("!NDON",keyword)){ for (int counter = 1; counter <= numrecords; ++counter) { PSF::Donor temp_donor; temp_donor.number = counter; myFile >> temp_donor.atom1; myFile >> temp_donor.atom2; psf.donors.push_back(temp_donor); if(myFile.fail() || (myFile.eof() && counter < numrecords)){ myFile.setstate(std::ios::failbit); close(); return false; } } continue; } else if (equalStartNocase("!NACC",keyword)) { for (int counter = 1; counter <= numrecords; ++counter) { PSF::Acceptor temp_acceptor; temp_acceptor.number = counter; myFile >> temp_acceptor.atom1; myFile >> temp_acceptor.atom2; psf.acceptors.push_back(temp_acceptor); if(myFile.fail() || (myFile.eof() && counter < numrecords)){ myFile.setstate(std::ios::failbit); close(); return false; } } continue; } else if (equalStartNocase("!NNB",keyword)) { for (int counter = 1; counter <= numrecords; ++counter) { PSF::Nonbonded temp_nonbonded; temp_nonbonded.number = counter; myFile >> temp_nonbonded.atom1; psf.nonbondeds.push_back(temp_nonbonded); if(myFile.fail() || (myFile.eof() && counter < numrecords)){ report << recoverable << "[PSF::read] Expecting "<> temp_ngrp.atom1; myFile >> temp_ngrp.atom2; myFile >> temp_ngrp.atom3; psf.ngrp.push_back(temp_ngrp); if(myFile.fail() || (myFile.eof() && counter < numrecords)){ report << recoverable << "[PSF::read] Expecting "<>(PSFReader& psfReader, PSF& psf){ psfReader.read(psf); return psfReader; } } protomol/framework/io/PSFReader.h0100644027616700000500000000372110237151532016344 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PSFREADER_H #define PSFREADER_H #include "Reader.h" #include "PSF.h" namespace ProtoMol { //_________________________________________________________________PSFReader /** * Reads a PSD file (ASCII) */ class PSFReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: PSFReader(); explicit PSFReader(const std::string& filename); virtual ~PSFReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();} virtual bool open(const std::string& filename){return File::open(filename);} virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PSF //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool read(PSF& psf); PSF* orphanPSF(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend PSFReader& operator>>(PSFReader& psfReader, PSF& psf); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: PSF* myPSF; }; //____________________________________________________________________________INLINES } #endif /* PSFREADER_H */ protomol/framework/io/PSFWriter.cpp0100644027616700000500000001073010237151532016747 0ustar pbrenne1dip#include "PSFWriter.h" #include "Report.h" #include "stringutilities.h" #include "systemutilities.h" #include using std::string; using std::endl; using std::setprecision; using std::setw; using std::left; using std::right; using std::setiosflags; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________PSFWriter PSFWriter::PSFWriter():Writer(){} PSFWriter::PSFWriter(const std::string& filename):Writer(filename){} PSFWriter::~PSFWriter(){} bool PSFWriter::write(const PSF& psf){ if(!open()) return false; // Create some comments at the beginning myFile << "PSF" << endl << endl << " 5 !NTITLE" << endl << " REMARKS FILENAME=" << myFilename <<" by "< #include "Report.h" #include "pmconstants.h" #include "stringutilities.h" #include "systemutilities.h" using std::string; using std::endl; using std::setprecision; using namespace ProtoMol::Report; namespace ProtoMol { static const Real defaultScale = 1000.0; static const int xFigXMax = 12500; static const int xFigYMax = 9700; //static const int xFigXYMin = (xFigXMax < xFigYMax ? xFigXMax : xFigYMax); static const int xFigColorsN = 32; static const int xFigColors[xFigColorsN] = {0,20,13,10,31,1,2,3,4,5,6,7,8,9,11,12,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30}; static const int xFigBWN = 4; static const std::string xFigBW1[xFigBWN] ={"1 3 0 1 7 0", "1 3 0 2 0 0", "1 3 1 2 0 0", "1 3 2 2 0 0"}; static const std::string xFigBW2[xFigBWN] ={"0 20 0.000 1 0.0000", "0 -1 0.000 1 0.0000", "0 -1 4.500 1 0.0000", "0 -1 4.500 1 0.0000"}; //_________________________________________________________________XFigWriter XFigWriter::XFigWriter():Writer(), myRadius(1.0), myFromZ(-Constant::MAXREAL), myToZ(Constant::MAXREAL), myColor(true), myAxes(true), myLegend(true), myAutofit(true), myMat(Matrix3by3().getIdentity()){} XFigWriter::XFigWriter(const std::string& filename):Writer(filename), myRadius(1.0), myFromZ(-Constant::MAXREAL), myToZ(Constant::MAXREAL), myColor(true), myAxes(true), myLegend(true), myAutofit(true), myMat(Matrix3by3().getIdentity()){} bool XFigWriter::write(const XYZ& xyz){ return write(xyz.coords,xyz.names); } bool XFigWriter::write(const Vector3DBlock& coords, const std::vector& names){ if (!open()) return false; const unsigned int count = coords.size(); if(names.size() != count) report << error << "[XFigWriter::write]" << " Coorindate and atom name size are not equal."<< endr; XYZ xyz; Real minx = Constant::MAXREAL; Real maxx = -Constant::MAXREAL; Real miny = Constant::MAXREAL; Real maxy = -Constant::MAXREAL; Real minz = Constant::MAXREAL; Real maxz = -Constant::MAXREAL; std::map atomTypesMap; for(unsigned int i=0;i= myFromZ && v.z <= myToZ){ minx = std::min(minx,v.x); maxx = std::max(maxx,v.x); miny = std::min(miny,v.y); maxy = std::max(maxy,v.y); minz = std::min(minz,v.z); maxz = std::max(maxz,v.z); xyz.coords.push_back(v); xyz.names.push_back(names[i]); if(atomTypesMap.find(names[i]) == atomTypesMap.end()){ int size = atomTypesMap.size(); atomTypesMap[names[i]] = size; } } } Real dx = std::max(maxx-minx,Constant::EPSILON); Real dy = std::max(maxy-miny,Constant::EPSILON); Real dz = std::max(maxz-minz,Constant::EPSILON); Real scale = defaultScale; int r = static_cast(myRadius*scale/10); if(myAutofit){ scale = std::min(xFigXMax/dx,xFigYMax/dy); r = std::max(static_cast(myRadius*scale/10),25); } myFile << "#FIG 3.2\nLandscape\nCenter\nMetric\nLetter \n100.00\nSingle\n-2\n"; myFile << "#ProtoMol (built on "<< __DATE__ << " at " << __TIME__<< ") generated this XFig file by "<((xyz.coords[i].x-minx)*scale); int y = static_cast((xyz.coords[i].y-miny)*scale); int z = 1+(xyz.coords[i].z-minz)*998/dz; int col = (atomTypesMap[xyz.names[i]]%(myColor?xFigColorsN:xFigBWN)); if(myColor){ myFile <<"1 3 0 1 "<(-minx*scale); int y0 = static_cast(-miny*scale); if(y0 >= 0 && y0<= xFigYMax){ myFile << "2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2\n 0 0 1.00 60.00 120.00\n 0 "<= 0 && x0<= xFigXMax){ myFile << "2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2\n 0 0 1.00 60.00 120.00\n "<& names); Real setRadius(Real radius); Real getRadius() const{return myRadius;} Real setFromZ(Real FromZ); Real getFromZ() const{return myFromZ;} Real setToZ(Real ToZ); Real getToZ() const{return myToZ;} bool setColor(bool color); bool getColor() const {return myColor;} bool setAxes(bool axes); bool getAxes() const {return myAxes;} bool setLegend(bool legend); bool getLegend() const {return myLegend;} bool setAutofit(bool autofit); bool getAutofit() const {return myAutofit;} Matrix3by3 setTransformation(const Matrix3by3& mat); Matrix3by3 getTransformation() const{return myMat;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend XFigWriter& operator<<(XFigWriter& xfigWriter, const XYZ& xyz); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real myRadius; Real myFromZ; Real myToZ; bool myColor; bool myAxes; bool myLegend; bool myAutofit; Matrix3by3 myMat; }; //____________________________________________________________________________INLINES } #endif /* XFIGWRITER_H */ protomol/framework/io/XYZBinReader.cpp0100644027616700000500000001177010237151532017375 0ustar pbrenne1dip#include "XYZBinReader.h" #include "Report.h" #include "systemutilities.h" #include "typeSelection.h" using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________XYZBinReader XYZBinReader::XYZBinReader():Reader(std::ios::binary),myCoords(NULL){} XYZBinReader::XYZBinReader(const std::string& filename):Reader(std::ios::binary,filename),myCoords(NULL){} XYZBinReader::~XYZBinReader(){ if(myCoords != NULL) delete myCoords; } bool XYZBinReader::tryFormat(){ if (!open()) return false; myFile.seekg (0, std::ios::end); std::ios::pos_type size = myFile.tellg(); size -= 4; myFile.seekg (0, std::ios::beg); typedef TypeSelection::Int<4>::type int32; int32 n = 0; File::read(reinterpret_cast(&n),sizeof(int32)); close(); if(static_cast(size/(3*sizeof(float))) == n || static_cast(size/(3*sizeof(double))) == n || static_cast(size/(3*sizeof(Real))) == n ){ return !myFile.fail(); } else { swapBytes(n); if(static_cast(size/(3*sizeof(float))) == n || static_cast(size/(3*sizeof(double))) == n || static_cast(size/(3*sizeof(Real))) == n ) return !myFile.fail(); } return false; } bool XYZBinReader::read() { if(myCoords == NULL) myCoords = new Vector3DBlock(); return read(*myCoords); } bool XYZBinReader::read(Vector3DBlock& coords) { if(!tryFormat()) return false; if(!open()) return false; myFile.seekg (0, std::ios::end); std::ios::pos_type size = myFile.tellg(); size -= 4; myFile.seekg (0, std::ios::beg); bool swapEndian = false; typedef TypeSelection::Int<4>::type int32; int32 n = 0; File::read(reinterpret_cast(&n),sizeof(int32)); if(static_cast(size/(3*sizeof(float))) != n && static_cast(size/(3*sizeof(double))) != n && static_cast(size/(3*sizeof(Real))) != n){ swapBytes(n); swapEndian = true; if(static_cast(size/(3*sizeof(float))) == n || static_cast(size/(3*sizeof(double))) == n || static_cast(size/(3*sizeof(Real))) == n) report << hint <<"[XYZBinReader::read] Reading "<<(ISLITTLEENDIAN?"big":"little") <<"endian input on "<<(ISLITTLEENDIAN?"little":"big")<<"endian machine."<(size/(3*sizeof(Real))) == n){ coords.resize(n); Real* vec = new Real[n*3]; File::read(reinterpret_cast(vec),n*3*sizeof(Real)); for(int32 i=0;i(vec[i*3+0]); coords[i].y = static_cast(vec[i*3+1]); coords[i].z = static_cast(vec[i*3+2]); } delete [] vec; } else if(static_cast(size/(3*sizeof(float))) == n){ coords.resize(n); float* vec = new float[n*3]; File::read(reinterpret_cast(vec),n*3*sizeof(float)); for(int32 i=0;i(vec[i*3+0]); coords[i].y = static_cast(vec[i*3+1]); coords[i].z = static_cast(vec[i*3+2]); } delete [] vec; report << hint << "[XYZBinReader::read] Conversion from "<(size/(3*sizeof(double))) == n){ coords.resize(n); double* vec = new double[n*3]; File::read(reinterpret_cast(vec),n*3*sizeof(double)); for(int32 i=0;i(vec[i*3+0]); coords[i].y = static_cast(vec[i*3+1]); coords[i].z = static_cast(vec[i*3+2]); } delete [] vec; report << hint << "[XYZBinReader::read] Conversion from "<>(XYZBinReader& xyzbinReader, XYZ& xyz){ xyzbinReader.read(xyz.coords); if(xyz.coords.size() != xyz.names.size()) xyz.names.resize(xyz.coords.size(),"NONAME"); return xyzbinReader; } XYZBinReader& operator>>(XYZBinReader& xyzbinReader, Vector3DBlock& coords){ xyzbinReader.read(coords); return xyzbinReader; } } protomol/framework/io/XYZBinReader.h0100644027616700000500000000421510237151532017036 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef XYZBINREADER_H #define XYZBINREADER_H #include "Reader.h" #include "XYZ.h" namespace ProtoMol { //_________________________________________________________________XYZBinReader /** * Reads a XYZ binary file. */ class XYZBinReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: XYZBinReader(); explicit XYZBinReader(const std::string& filename); virtual ~XYZBinReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();} virtual bool open(const std::string& filename){return File::open(filename);} virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class XYZBin //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool read(Vector3DBlock& coords); XYZ getXYZ() const; Vector3DBlock* orphanCoords(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend XYZBinReader& operator>>(XYZBinReader& XYZBinReader, XYZ& xyz); friend XYZBinReader& operator>>(XYZBinReader& xyzbinReader, Vector3DBlock& coords); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Vector3DBlock* myCoords; }; //____________________________________________________________________________INLINES } #endif /* XYZBINREADER_H */ protomol/framework/io/XYZBinWriter.h0100644027616700000500000000570710237151532017117 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef XYZBINWRITER_H #define XYZBINWRITER_H #include "Writer.h" #include "XYZ.h" #include "systemutilities.h" namespace ProtoMol { //_________________________________________________________________XYZBinWriter /** * Writes a XYZ binary file with 4 or 8 byte floats and litle or big endian.@n * * Format: * - 4 byte int : N, number of coordinates / Vector3D * - N*(3 float's) : N * (x, y, z) coordinates/ Vector3D */ class XYZBinWriter : public Writer { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: explicit XYZBinWriter(bool isLittleEndian=ISLITTLEENDIAN, unsigned int size=sizeof(Real)); explicit XYZBinWriter(const std::string& filename, bool isLittleEndian=ISLITTLEENDIAN, unsigned int size=sizeof(Real)); explicit XYZBinWriter(const char* filename, bool isLittleEndian=ISLITTLEENDIAN, unsigned int size=sizeof(Real)); // Need this implementation, otherwise const char* will bee converted to bool or int ... //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();}; virtual bool open(const std::string& filename){return File::open(filename);}; virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class XYZ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool open(bool isLittleEndian, unsigned int size=sizeof(Real)); bool open(const std::string& filename, bool isLittleEndian, unsigned int size=sizeof(Real)); bool open(const char* filename, bool isLittleEndian, unsigned int size=sizeof(Real)); bool write(const XYZ& xyz); bool write(const Vector3DBlock& coords); bool write(const XYZ& xyz, bool isLittleEndian, unsigned int size=sizeof(Real)); bool write(const Vector3DBlock& coords, bool isLittleEndian, unsigned int size=sizeof(Real)); void setLittleEndian(bool littleEndian); void setSize(unsigned int size); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend XYZBinWriter& operator<<(XYZBinWriter& xyzWriter, const XYZ& xyz); friend XYZBinWriter& operator<<(XYZBinWriter& xyzWriter, const Vector3DBlock& coords); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: bool myIsLittleEndian; unsigned int mySize; }; //____________________________________________________________________________INLINES } #endif /* XYZBINWRITER_H */ protomol/framework/io/XYZBinWriter.cpp0100644027616700000500000001155110237151532017444 0ustar pbrenne1dip#include "XYZBinWriter.h" #include #include "Report.h" #include "stringutilities.h" #include "systemutilities.h" #include "typeSelection.h" using std::string; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________XYZBinWriter XYZBinWriter::XYZBinWriter(bool isLittleEndian, unsigned int size): Writer(std::ios::binary|std::ios::trunc), myIsLittleEndian(isLittleEndian),mySize(size) { setSize(size); } XYZBinWriter::XYZBinWriter(const std::string& filename, bool isLittleEndian, unsigned int size): Writer(std::ios::binary|std::ios::trunc,filename), myIsLittleEndian(isLittleEndian),mySize(size) { setSize(size); } XYZBinWriter::XYZBinWriter(const char* filename, bool isLittleEndian, unsigned int size): Writer(std::ios::binary|std::ios::trunc,string(filename)), myIsLittleEndian(isLittleEndian),mySize(size) { setSize(size); } void XYZBinWriter::setLittleEndian(bool littleEndian){ myIsLittleEndian = littleEndian; } bool XYZBinWriter::open(const char* filename, bool isLittleEndian, unsigned int size){ return open(std::string(filename),isLittleEndian,size); } bool XYZBinWriter::open(bool isLittleEndian, unsigned int size){ setLittleEndian(isLittleEndian); setSize(size); return open(); } bool XYZBinWriter::open(const std::string& filename, bool isLittleEndian, unsigned int size){ setLittleEndian(isLittleEndian); setSize(size); return open(filename); } bool XYZBinWriter::write(const XYZ& xyz, bool isLittleEndian, unsigned int size){ setLittleEndian(isLittleEndian); setSize(size); return write(xyz.coords); } bool XYZBinWriter::write(const Vector3DBlock& coords, bool isLittleEndian, unsigned int size){ setLittleEndian(isLittleEndian); setSize(size); return write(coords); } bool XYZBinWriter::write(const XYZ& xyz){ return write(xyz.coords); } bool XYZBinWriter::write(const Vector3DBlock& coords){ if (!open()) return false; bool swapEndian = (myIsLittleEndian != ISLITTLEENDIAN); const unsigned int count = coords.size(); typedef TypeSelection::Int<4>::type int32; int32 n = static_cast(count); if(swapEndian) swapBytes(n); myFile.write(reinterpret_cast(&n), 4); if(swapEndian) report << hint <<"[XYZBinWriter::write] Writing "<<(ISLITTLEENDIAN?"big":"little") <<"endian output on "<<(ISLITTLEENDIAN?"little":"big")<<"endian machine."<(coords[i].x); vec[i*3+1] = static_cast(coords[i].y); vec[i*3+2] = static_cast(coords[i].z); if(swapEndian){ swapBytes(vec[i*3+0]); swapBytes(vec[i*3+1]); swapBytes(vec[i*3+2]); } } myFile.write(reinterpret_cast(vec),count*3*sizeof(Real)); delete [] vec; } else if(mySize == sizeof(float)){ float* vec = new float[count*3]; for(unsigned int i=0;i(coords[i].x); vec[i*3+1] = static_cast(coords[i].y); vec[i*3+2] = static_cast(coords[i].z); if(swapEndian){ swapBytes(vec[i*3+0]); swapBytes(vec[i*3+1]); swapBytes(vec[i*3+2]); } } myFile.write(reinterpret_cast(vec),count*3*sizeof(float)); delete [] vec; report << hint << "[XYZBinWriter::write] Conversion from "<(coords[i].x); vec[i*3+1] = static_cast(coords[i].y); vec[i*3+2] = static_cast(coords[i].z); if(swapEndian){ swapBytes(vec[i*3+0]); swapBytes(vec[i*3+1]); swapBytes(vec[i*3+2]); } } myFile.write(reinterpret_cast(vec),count*3*sizeof(double)); delete [] vec; report << hint << "[XYZBinWriter::write] Conversion from "<> count; if(myFile.good() && count == 0){ close(); return true; } string str(getline()); // Comment str = getline(); bool testTrajectory = isUInt(str) && (toUInt(str) > 1); // Atoms Real x; if(testTrajectory){ unsigned int frames = toUInt(str); for(unsigned int i = 0; i < count && !myFile.fail(); ++i){ myFile >> str >> x >> x >> x; } if(frames > 1) myFile >> count >> str >> x >> x >> x; } else { myFile >> str >> x >> x >> x; } myFile.close(); return !myFile.fail(); } bool XYZReader::read() { if(myCoords == NULL) myCoords = new Vector3DBlock(); if(myNames == NULL) myNames = new vector(); return read(*myCoords,*myNames); } bool XYZReader::read(XYZ& xyz) { return read(xyz.coords,xyz.names); } bool XYZReader::read(Vector3DBlock& coords, std::vector& names){ if(!tryFormat()) return false; if (!open()) return false; // Number of atoms unsigned int n=0; myFile >> n; string str(getline()); // Comment str = getline(); if(myFile.fail()){ close(); return false; } if(isInt(str)) report << hint << "[XYZReader::read] Does also match XYZ trajectory format."<> names[i] >> coords[i].x >> coords[i].y >> coords[i].z; } close(); return !myFile.fail(); } XYZ XYZReader::getXYZ() const{ XYZ res; if(myCoords != NULL) res.coords = (*myCoords); if(myNames != NULL) res.names = (*myNames); return res; } Vector3DBlock* XYZReader::orphanCoords(){ Vector3DBlock* tmp = myCoords; myCoords = NULL; return tmp; } vector* XYZReader::orphanNames(){ vector* tmp = myNames; myNames = NULL; return tmp; } XYZReader& operator>>(XYZReader& xyzReader, XYZ& xyz){ xyzReader.read(xyz.coords,xyz.names); return xyzReader; } XYZReader& operator>>(XYZReader& xyzReader, Vector3DBlock& coords){ if(xyzReader.myNames == NULL) xyzReader.myNames = new vector(); xyzReader.read(coords,*xyzReader.myNames); return xyzReader; } } protomol/framework/io/XYZReader.h0100644027616700000500000000436010237151532016406 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef XYZREADER_H #define XYZREADER_H #include "Reader.h" #include "XYZ.h" namespace ProtoMol { //_________________________________________________________________XYZReader /** * Reads a XYZ format file (ASCII). */ class XYZReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: XYZReader(); explicit XYZReader(const std::string& filename); virtual ~XYZReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){return File::open();} virtual bool open(const std::string& filename){return File::open(filename);} virtual bool open(const char* filename){return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class XYZ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool read(XYZ& xyz); bool read(Vector3DBlock& coords, std::vector& names); XYZ getXYZ() const; Vector3DBlock* orphanCoords(); std::vector* orphanNames(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend XYZReader& operator>>(XYZReader& xyzReader, XYZ& xyz); friend XYZReader& operator>>(XYZReader& xyzReader, Vector3DBlock& coords); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Vector3DBlock* myCoords; std::vector* myNames; }; //____________________________________________________________________________INLINES } #endif /* XYZREADER_H */ protomol/framework/io/XYZTrajectoryReader.cpp0100644027616700000500000000531610237151532021012 0ustar pbrenne1dip#include "XYZTrajectoryReader.h" #include "Report.h" #include "stringutilities.h" using std::string; using std::vector; using std::stringstream; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________XYZTrajectoryReader XYZTrajectoryReader::XYZTrajectoryReader():Reader(),myCoords(NULL),myNames(NULL),myFirst(true){} XYZTrajectoryReader::XYZTrajectoryReader(const std::string& filename):Reader(filename),myCoords(NULL),myNames(NULL),myFirst(true){} XYZTrajectoryReader::~XYZTrajectoryReader(){ if(myCoords != NULL) delete myCoords; if(myNames != NULL) delete myNames; } bool XYZTrajectoryReader::tryFormat(){ if (!open()) return false; // Number of frames and atoms unsigned int frames,count=0; myFile >> frames >> count; // Atoms string str; Real x; myFile >> str >> x >> x >> x; close(); return !myFile.fail(); } bool XYZTrajectoryReader::read() { if(myCoords == NULL) myCoords = new Vector3DBlock(); if(myNames == NULL) myNames = new vector(); return read(*myCoords,*myNames); } bool XYZTrajectoryReader::read(XYZ& xyz) { return read(xyz.coords,xyz.names); } bool XYZTrajectoryReader::read(Vector3DBlock& coords, std::vector& names){ if(myFirst){ if(!open()) return false; myFirst = false; // Number of frames; unsigned int n=0; myFile >> n; if(n == 0 && myFile.good()) return true; } // Number of atoms; unsigned int n=0; myFile >> n; if(myFile.fail()){ close(); return false; } coords.resize(n); names.resize(n); // Read atoms for(unsigned int i = 0; i < n && !myFile.fail(); ++i){ myFile >> names[i] >> coords[i].x >> coords[i].y >> coords[i].z; } return !myFile.fail(); } XYZ XYZTrajectoryReader::getXYZ() const{ XYZ res; if(myCoords != NULL) res.coords = (*myCoords); if(myNames != NULL) res.names = (*myNames); return res; } Vector3DBlock* XYZTrajectoryReader::orphanCoords(){ Vector3DBlock* tmp = myCoords; myCoords = NULL; return tmp; } vector* XYZTrajectoryReader::orphanNames(){ vector* tmp = myNames; myNames = NULL; return tmp; } XYZTrajectoryReader& operator>>(XYZTrajectoryReader& xyzReader, XYZ& xyz){ xyzReader.read(xyz.coords,xyz.names); return xyzReader; } XYZTrajectoryReader& operator>>(XYZTrajectoryReader& xyzReader, Vector3DBlock& coords){ if(xyzReader.myNames == NULL) xyzReader.myNames = new vector(); xyzReader.read(coords,*xyzReader.myNames); return xyzReader; } } protomol/framework/io/XYZTrajectoryReader.h0100644027616700000500000000464710237151532020465 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef XYZTRAJECTORYREADER_H #define XYZTRAJECTORYREADER_H #include "Reader.h" #include "XYZ.h" namespace ProtoMol { //_________________________________________________________________XYZTrajectoryReader /** * Reads a XYY trajectory files (ASCII). */ class XYZTrajectoryReader : public Reader { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: XYZTrajectoryReader(); explicit XYZTrajectoryReader(const std::string& filename); virtual ~XYZTrajectoryReader(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){myFirst=true;return File::open();} virtual bool open(const std::string& filename){myFirst=true;return File::open(filename);} virtual bool open(const char* filename){myFirst=true;return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Reader //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool tryFormat(); virtual bool read(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class XYZ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool read(XYZ& xyz); bool read(Vector3DBlock& coords, std::vector& names); XYZ getXYZ() const; Vector3DBlock* orphanCoords(); std::vector* orphanNames(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend XYZTrajectoryReader& operator>>(XYZTrajectoryReader& xyzReader, XYZ& xyz); friend XYZTrajectoryReader& operator>>(XYZTrajectoryReader& xyzReader, Vector3DBlock& coords); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Vector3DBlock* myCoords; std::vector* myNames; bool myFirst; }; //____________________________________________________________________________INLINES } #endif /* XYZTRAJECTORYREADER_H */ protomol/framework/io/XYZTrajectoryWriter.cpp0100644027616700000500000001256610237151532021071 0ustar pbrenne1dip#include "XYZTrajectoryWriter.h" #include #include "Report.h" #include "stringutilities.h" using std::string; using std::endl; using std::setprecision; using std::stringstream; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________XYZTrajectoryWriter XYZTrajectoryWriter::XYZTrajectoryWriter(): Writer(),myCoords(NULL),myNames(NULL),myAtoms(NULL),myAtomTypes(NULL),myFirst(true){} XYZTrajectoryWriter::XYZTrajectoryWriter(const std::string& filename): Writer(filename),myCoords(NULL),myNames(NULL),myAtoms(NULL),myAtomTypes(NULL),myFirst(true){} XYZTrajectoryWriter::~XYZTrajectoryWriter(){} bool XYZTrajectoryWriter::open(const XYZ& xyz){ setNames(xyz.names); myFirst = false; return open(); } bool XYZTrajectoryWriter::open(const std::vector& names){ setNames(names); myFirst = false; return open(); } bool XYZTrajectoryWriter::open(const std::vector& atoms, const std::vector& atomTypes){ setNames(atoms,atomTypes); myFirst = false; return open(); } bool XYZTrajectoryWriter::open(const std::string& filename, const XYZ& xyz){ setNames(xyz.names); myFirst = false; return open(filename); } bool XYZTrajectoryWriter::open(const std::string& filename, const std::vector& names){ setNames(names); myFirst = false; return open(filename); } bool XYZTrajectoryWriter::open(const std::string& filename,const std::vector& atoms, const std::vector& atomTypes){ setNames(atoms,atomTypes); myFirst = false; return open(filename); } bool XYZTrajectoryWriter::reopen(){ if(myFirst){ myFirst = false; if(!open()) return false; } if(myFile.is_open()) close(); // Try to read the number of frames myFile.clear(); myFile.open(myFilename.c_str(),std::ios::in); string line, str; line = getline(); close(); stringstream ss(line); ss >> str; if(toInt(str) > 0){ // Ok, we have already written frames str = (toString(toInt(str)+1)+" ").substr(0,19); str += "\n"; myFile.clear(); myFile.open(myFilename.c_str(),std::ios::in|std::ios::out); myFile.seekp (0, std::ios::beg); myFile.write(str.c_str(),str.size()); } else { // First time ... myFile.clear(); myFile.open(myFilename.c_str(),std::ios::out|std::ios::trunc); str = (toString(1)+" ").substr(0,19); str += "\n"; myFile << str; } close(); myFile.clear(); myFile.open(myFilename.c_str(),std::ios::out|std::ios::app); return !myFile.fail(); } bool XYZTrajectoryWriter::write(const XYZ& xyz){ setCoords(xyz.coords); setNames(xyz.names); return write(); } bool XYZTrajectoryWriter::write(const Vector3DBlock& coords){ setCoords(coords); return write(); } bool XYZTrajectoryWriter::write(const Vector3DBlock& coords, const std::vector& names){ setNames(names); setCoords(coords); return write(); } bool XYZTrajectoryWriter::write(const Vector3DBlock& coords, const std::vector& atoms, const std::vector& atomTypes){ setNames(atoms,atomTypes); setCoords(coords); return write(); } bool XYZTrajectoryWriter::write(){ if (!reopen()) return false; if(myCoords == NULL) report << error << "[XYZTrajectoryWriter::write]" << " No coordinates specified."<< endr; if(!(myNames != NULL || (myAtoms != NULL && myAtomTypes != NULL))) report << error << "[XYZTrajectoryWriter::write]" << " No atom names specified."<< endr; const unsigned int count = myCoords->size(); if((myNames != NULL && myNames->size() != count) || (myAtoms != NULL && myAtomTypes != NULL && myAtoms->size() != count)) report << error << "[XYZTrajectoryWriter::write]" << " Coorindate and atom name size are not equal."<< endr; // First, write the number of atoms myFile << count << endl; // Write atoms myFile << setprecision(15); // This should be some FLT_DIG or DBL_DIG ... for(unsigned int i=0;i& names){ myNames = &names; myAtoms = NULL; myAtomTypes = NULL; } void XYZTrajectoryWriter::setNames(const std::vector& atoms,const std::vector& atomTypes){ myNames = NULL; myAtoms = &atoms; myAtomTypes = &atomTypes; } void XYZTrajectoryWriter::setCoords(const Vector3DBlock& coords){ myCoords = &coords; } XYZTrajectoryWriter& operator<<(XYZTrajectoryWriter& xyzWriter, const XYZ& xyz){ xyzWriter.write(xyz); return xyzWriter; } XYZTrajectoryWriter& operator<<(XYZTrajectoryWriter& xyzWriter, const Vector3DBlock& coords){ xyzWriter.write(coords); return xyzWriter; } } protomol/framework/io/XYZTrajectoryWriter.h0100644027616700000500000000662710237151532020537 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef XYZTRAJECTORYWRITER_H #define XYZTRAJECTORYWRITER_H #include "Writer.h" #include "XYZ.h" #include "Atom.h" #include "AtomType.h" namespace ProtoMol { //_________________________________________________________________XYZTrajectoryWriter /** * Writes XYZ trajectories (ASCII) and updates the number of coordinate sets * after each write, no need to know the final number of sets. */ class XYZTrajectoryWriter : public Writer { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors (both default here), assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: XYZTrajectoryWriter(); explicit XYZTrajectoryWriter(const std::string& filename); virtual ~XYZTrajectoryWriter(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class File //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual bool open(){myFirst = false;return File::open();} virtual bool open(const std::string& filename){myFirst = false;return File::open(filename);} virtual bool open(const char* filename){myFirst = false;return File::open(filename);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Writer //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: virtual bool write(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class XYZ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool open(const XYZ& xyz); bool open(const std::vector& names); bool open(const std::vector& atoms, const std::vector& atomTypes); bool open(const std::string& filename, const XYZ& xyz); bool open(const std::string& filename, const std::vector& names); bool open(const std::string& filename, const std::vector& atoms, const std::vector& atomTypes); bool write(const XYZ& xyz); bool write(const Vector3DBlock& coords); bool write(const Vector3DBlock& coords, const std::vector& names); bool write(const Vector3DBlock& coords, const std::vector& atoms,const std::vector& atomTypes); void setNames(const XYZ& xyz); void setNames(const std::vector& names); void setNames(const std::vector& atoms,const std::vector& atomTypes); private: bool reopen(); void setCoords(const Vector3DBlock& coords); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend XYZTrajectoryWriter& operator<<(XYZTrajectoryWriter& xyzWriter, const XYZ& xyz); friend XYZTrajectoryWriter& operator<<(XYZTrajectoryWriter& xyzWriter, const Vector3DBlock& coords); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: const Vector3DBlock* myCoords; const std::vector* myNames; const std::vector* myAtoms; const std::vector* myAtomTypes; bool myFirst; }; //____________________________________________________________________________INLINES } #endif /* XYZTRAJECTORYWRITER_H */ protomol/framework/io/XYZWriter.cpp0100644027616700000500000000364010237151532017013 0ustar pbrenne1dip#include "XYZWriter.h" #include #include "Report.h" #include "stringutilities.h" #include "systemutilities.h" using std::string; using std::endl; using std::setprecision; using namespace ProtoMol::Report; namespace ProtoMol { //_________________________________________________________________XYZWriter XYZWriter::XYZWriter():Writer(){} XYZWriter::XYZWriter(const std::string& filename):Writer(filename){} bool XYZWriter::write(const XYZ& xyz){ return write(xyz.coords,xyz.names); } bool XYZWriter::write(const Vector3DBlock& coords, const std::vector& atoms, const std::vector& atomTypes){ const unsigned int count = atoms.size(); std::vector names(count); for(unsigned int i=0;i& names){ if (!open()) return false; const unsigned int count = coords.size(); if(names.size() != count) report << error << "[XYZWriter::write]" << " Coorindate and atom name size are not equal."<< endr; // First, write the number of atoms myFile << count << endl; // Comment myFile << "!ProtoMol (built on "<< __DATE__ << " at " << __TIME__<< ") generated this XYZ file by "<& names); bool write(const Vector3DBlock& coords, const std::vector& atoms, const std::vector& atomTypes); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Friends //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: friend XYZWriter& operator<<(XYZWriter& xyzWriter, const XYZ& xyz); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: }; //____________________________________________________________________________INLINES } #endif /* XYZWRITER_H */ protomol/framework/parallel/0040755027616700000500000000000010237151532015605 5ustar pbrenne1dipprotomol/framework/parallel/.cvsignore0100644027616700000500000000004710237151532017603 0ustar pbrenne1dip*.o *.il Makefile.in Makefile ti_files protomol/framework/parallel/Makefile.am0100644027616700000500000000203410237151532017635 0ustar pbrenne1dip# parallel AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libparallel_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # parallel Sources P_PARALLEL_SRC =\ Parallel.cpp\ ParallelType.cpp # parallel Includes P_PARALLEL_H =\ Parallel.h\ ParallelType.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libparallel.a libparallel_a_SOURCES = $(P_PARALLEL_SRC) $(P_PARALLEL_H) INCLUDES =-I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL)#-I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_PARALLEL_SRC) #include $(top_srcdir)/Makefile.depend protomol/framework/parallel/Makefile.in0100644027616700000500000002237210237151532017655 0ustar pbrenne1dip# Makefile.in generated by automake 1.6.3 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # parallel SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AR1 = @AR1@ AR2 = @AR2@ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ CLEANFILES = @CLEANFILES@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ DEPDIR = @DEPDIR@ DEPFLAGS = @DEPFLAGS@ FFT_CFLAGS = @FFT_CFLAGS@ FFT_LIBS = @FFT_LIBS@ GLUT_CFLAGS = @GLUT_CFLAGS@ GLUT_LIBS = @GLUT_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBS = @LIBS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ PACKAGE = @PACKAGE@ PNG_LIBS = @PNG_LIBS@ PROTOMOL_MAJOR_VERSION = @PROTOMOL_MAJOR_VERSION@ PROTOMOL_MINOR_VERSION = @PROTOMOL_MINOR_VERSION@ PROTOMOL_PATCH_LEVEL = @PROTOMOL_PATCH_LEVEL@ RANLIB = @RANLIB@ SOCKET_LIBS = @SOCKET_LIBS@ STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ am__include = @am__include@ am__quote = @am__quote@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libparallel_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # parallel Sources P_PARALLEL_SRC = \ Parallel.cpp\ ParallelType.cpp # parallel Includes P_PARALLEL_H = \ Parallel.h\ ParallelType.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libparallel.a libparallel_a_SOURCES = $(P_PARALLEL_SRC) $(P_PARALLEL_H) INCLUDES = -I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL)#-I$(P_TOPOLOGY) -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_PARALLEL_SRC) subdir = framework/parallel mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/protomol_config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) libparallel_a_LIBADD = am__objects_1 = Parallel.$(OBJEXT) ParallelType.$(OBJEXT) am__objects_2 = am_libparallel_a_OBJECTS = $(am__objects_1) $(am__objects_2) libparallel_a_OBJECTS = $(am_libparallel_a_OBJECTS) DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(libparallel_a_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(libparallel_a_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --foreign framework/parallel/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libparallel.a: $(libparallel_a_OBJECTS) $(libparallel_a_DEPENDENCIES) -rm -f libparallel.a $(libparallel_a_AR) libparallel.a $(libparallel_a_OBJECTS) $(libparallel_a_LIBADD) $(RANLIB) libparallel.a mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c .cpp.o: $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< .cpp.obj: $(CXXCOMPILE) -c -o $@ `cygpath -w $<` uninstall-info-am: ETAGS = etags ETAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @list='$(DISTFILES)'; for file in $$list; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic uninstall-am: uninstall-info-am .PHONY: GTAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic tags \ uninstall uninstall-am uninstall-info-am #include $(top_srcdir)/Makefile.depend # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: protomol/framework/parallel/Parallel.cpp0100644027616700000500000005240410237151532020047 0ustar pbrenne1dip#include #ifdef HAVE_MPI #include #endif #include #include #include "Parallel.h" #include "ScalarStructure.h" #include "Vector3DBlock.h" #include "mathutilities.h" #include "systemutilities.h" #include "TimerStatistic.h" #include "Report.h" #include "FFTComplex.h" using std::string; using std::vector; using namespace ProtoMol::Report; //#define DEBUG_PARALLEL #ifdef USE_REAL_IS_FLOAT #define MY_MPI_REAL MPI_FLOAT #endif #ifdef USE_REAL_IS_DOUBLE #define MY_MPI_REAL MPI_DOUBLE #endif namespace ProtoMol { //_________________________________________________________________ static #ifdef HAVE_MPI static MPI_Comm slaveComm = MPI_COMM_NULL; // Not data member to avoid dependcies const int NEED_RANGE = 1; const int SEND_RANGE = 2; #endif static const int master = 0; //_________________________________________________________________ mpiAbort static void mpiAbort(); void mpiAbort(){ if(Parallel::ok()){ #ifdef HAVE_MPI MPI_Abort(MPI_COMM_WORLD,1); #endif } exit(EXIT_FAILURE); } //_________________________________________________________________ mpiExit static void mpiExit(); void mpiExit(){ if(Parallel::ok()){ Parallel::finalize(); } exit(EXIT_SUCCESS); } //_________________________________________________________________ mpiStartSerial static void mpiStartSerial(bool exludeMaster); void mpiStartSerial(bool exludeMaster){ #ifdef HAVE_MPI if(Parallel::ok()){ MPI_Barrier((exludeMaster ? slaveComm:MPI_COMM_WORLD)); for(int p=0;p struct MPITypeTraits; #ifdef HAVE_MPI template<> struct MPITypeTraits { static const MPI_Datatype datatype; }; const MPI_Datatype MPITypeTraits::datatype = MY_MPI_REAL; template<> struct MPITypeTraits { static const MPI_Datatype datatype; }; const MPI_Datatype MPITypeTraits::datatype = MPI_INT; //_________________________________________________________________ doBarrier // Helper function to perform a MPI_Barrier and messure the idle time template void doBarrier(){ if(Parallel::isBarrier()){ TimerStatistic::timer[TimerStatistic::IDLE].start(); MPI_Barrier((exludeMaster ? slaveComm:MPI_COMM_WORLD)); TimerStatistic::timer[TimerStatistic::IDLE].stop(); } } //_________________________________________________________________ allReduceScalar template void allReduceScalar(T& begin){ T tmp = begin; if(dobarrier) doBarrier(); MPI_Allreduce(&tmp, &begin, 1, MPITypeTraits::datatype, MPI_SUM, (exludeMaster ? slaveComm:MPI_COMM_WORLD)); } //_________________________________________________________________ allReduce template void allReduce(T* begin, T* end){ vector tmp(end-begin); std::copy(begin,end,tmp.begin()); if(dobarrier) doBarrier(); MPI_Allreduce(&(tmp[0]), begin, (end-begin), MPITypeTraits::datatype, MPI_SUM, (exludeMaster ? slaveComm:MPI_COMM_WORLD)); } template void allReduce(Vector3DBlock* coords){ allReduce(&(coords->begin()->x),&(coords->end()->x)); } template void allReduce(ScalarStructure* energies){ allReduce(&((*energies)[ScalarStructure::FIRST]),&((*energies)[ScalarStructure::LASTREDUCE])); } //_________________________________________________________________ broadcastScalar template void broadcastScalar(T& begin){ if(dobarrier) doBarrier(); MPI_Bcast(&begin, 1, MPITypeTraits::datatype, master, (exludeMaster ? slaveComm:MPI_COMM_WORLD)); } //_________________________________________________________________ broadcast template void broadcast(T* begin, T* end){ if(dobarrier) doBarrier(); MPI_Bcast(begin, (end-begin), MPITypeTraits::datatype, (exludeMaster ?0:master), (exludeMaster ? slaveComm:MPI_COMM_WORLD)); } template void broadcast(Vector3DBlock* coords){ broadcast(&(coords->begin()->x),&(coords->end()->x)); } template void broadcast(ScalarStructure* energies){ broadcast(&((*energies)[ScalarStructure::FIRST]),&((*energies)[ScalarStructure::LASTREDUCE])); } #endif //_________________________________________________________________ Parallel #ifdef HAVE_MPI const bool Parallel::isMPI = true; #else const bool Parallel::isMPI = false; #endif bool Parallel::myInitialized = false; bool Parallel::myFinalized = false; int Parallel::myId = 0; int Parallel::myMasterId = master; int Parallel::myNum = 1; int Parallel::myAvailableId = 0; int Parallel::myAvailableNum = 1; bool Parallel::myIsParallel = Parallel::isMPI; bool Parallel::myIAmMaster = true; bool Parallel::myIAmSlave = true; ParallelType Parallel::myMode = ParallelType::STATIC; Parallel::WorkState Parallel::myWorkState = Parallel::SEQUENTIAL; int Parallel::myPipeSize = 1; bool Parallel::myUseBarrier = false; int Parallel::myMaxPackages = -1; int* Parallel::myBuffer = NULL; int Parallel::myNext = 0; int Parallel::myNextRange[2] = {0,0}; vector Parallel::myDone; vector Parallel::myBlockList; int Parallel::myRecv; int Parallel::myI; int Parallel::myP; Parallel* Parallel::obj = NULL; //_________________________________________________________________ Parallel Parallel::~Parallel(){ if(!myFinalized){ #ifdef HAVE_MPI // if(myId == 0) // std::cerr <<"Either you forgotten to call Parallel::finalize() or I got killed. Can't call it for you ... I'm already dead!"<~Parallel(); } void Parallel::init(int &argc, char **&argv){ instance(); if(!myInitialized && !myFinalized){ #ifdef HAVE_MPI MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&myNum); MPI_Comm_rank(MPI_COMM_WORLD,&myId); MPI_Barrier(MPI_COMM_WORLD); setProtomolStartSerial(mpiStartSerial); setProtomolEndSerial(mpiEndSerial); #endif setProtomolAbort(mpiAbort); setProtomolExit(mpiExit); myInitialized = true; myIsParallel = (myNum > 1); myIAmMaster = (myId == myMasterId); report.setIAmMaster(iAmMaster()); setMode(isParallel()?ParallelType::DYNAMIC:ParallelType::STATIC); setPipeSize(myPipeSize); TimerStatistic::setParallel(myIsParallel); if(iAmMaster() && isParallel()) myDone.resize(myNum); report << plain << (isMPI?"Using MPI.":"No MPI compilation.")<(size*sizeof(int))); #endif } void Parallel::setMaxPackages(int n) { if(!ok("Called [Parallel::setMaxPackages]")) return; myMaxPackages = n<0?(isDynamic()?3:0):n; } Parallel::WorkState Parallel::getWorkState(){ if(!isParallel()){ return SEQUENTIAL; } else if(myMode == ParallelType::STATIC){ return STATIC; } else if(iAmMaster() && myMode == ParallelType::DYNAMIC){ return MASTER; } else { return SLAVE; } } void Parallel::sync(){ #ifdef HAVE_MPI MPI_Barrier(MPI_COMM_WORLD); #endif } void Parallel::syncSlave(){ #ifdef HAVE_MPI if(!iAmSlave() || !isParallel()) return; MPI_Barrier(slaveComm); #endif } #ifdef HAVE_MPI void Parallel::reduceSlaves(Real* begin, Real* end) { if(!iAmSlave() || !isParallel()) return; TimerStatistic::timer[TimerStatistic::COMMUNICATION].start(); allReduce(begin,end); TimerStatistic::timer[TimerStatistic::COMMUNICATION].stop(); } #else void Parallel::reduceSlaves(Real*, Real*) {} #endif #ifdef HAVE_MPI void Parallel::distribute(ScalarStructure* energies, Vector3DBlock* coords) { if(!iAmMaster() && !energies->distributed()){ energies->clear(); coords->zero(); } energies->distribute(); coords->distribute(); } #else void Parallel::distribute(ScalarStructure*, Vector3DBlock*){} #endif #ifdef HAVE_MPI void Parallel::reduce(ScalarStructure* energies, Vector3DBlock* coords){ energies->reduce(); coords->reduce(); if(!isParallel() || energies->distributed()) return; TimerStatistic::timer[TimerStatistic::COMMUNICATION].start(); allReduce(coords); allReduce(energies); //report << debug << static_cast(ScalarStructure::LASTREDUCE)-static_cast(ScalarStructure::FIRST) << endr; TimerStatistic::timer[TimerStatistic::COMMUNICATION].stop(); } #else void Parallel::reduce(ScalarStructure*, Vector3DBlock*){} #endif // #ifdef HAVE_MPI void Parallel::bcast(Vector3DBlock* coords) { if(!isParallel()) return; broadcast(coords); } #else void Parallel::bcast(Vector3DBlock*) {} #endif #ifdef HAVE_MPI void Parallel::bcast(int& n) { if(!isParallel()) return; broadcastScalar(n); } #else void Parallel::bcast(int&) {} #endif #ifdef HAVE_MPI void Parallel::bcastSlaves(Real* begin, Real* end) { if(!iAmSlave() || !isParallel()) return; TimerStatistic::timer[TimerStatistic::COMMUNICATION].start(); broadcast(begin,end); TimerStatistic::timer[TimerStatistic::COMMUNICATION].stop(); } #else void Parallel::bcastSlaves(Real*, Real*){} #endif unsigned int Parallel::getNumberOfPackages(unsigned int n) { if(getMaxPackages() < 1 || static_cast(getAvailableNum()) >= n) return n; return (std::min(n/getAvailableNum(),static_cast(getMaxPackages())) *static_cast(getAvailableNum())); // for(unsigned int i=static_cast(getMaxPackages());i>1;i--){ // if(i* static_cast(getAvailableNum()) <= n) // return (i* static_cast(getAvailableNum())); // } // return static_cast(getAvailableNum()); } void Parallel::resetNext(const vector& blocks){ resetNext(); if(!iAmMaster()) return; #ifdef HAVE_MPI if(blocks.empty()) return; // Vector of ranges (n0,n1,n3, ... ,nM, -1, -1, ..., -1) // n0,n1,n3, ... ,nM are the numbers a slave will call next() // for one given force // A slave will call next() and check if the // actual number of next()-calls is inside the // range received by the master and compute if true. int n = 0; for(unsigned int i=0;i(i)<=n;i++) myBlockList[i]=i; // Adding ranges (-1,-1) to indicate that there is no more // to compute. for(unsigned int i=n+1;i 0){ int test = 0; MPI_Status status; char tmp[1]; // Receiving the request for a new range from a slave. // We wait until we got a msg. Note that waiting for ANY_SOURCE // could lead to a starving of some nodes. while(!test){ myP = (1 + myP) % myNum; if(myP != myMasterId) MPI_Iprobe(myP,NEED_RANGE,MPI_COMM_WORLD, &test, &status); } MPI_Recv(tmp,0,MPI_CHAR,myP,NEED_RANGE,MPI_COMM_WORLD,&status); myRecv--; #ifdef DEBUG_PARALLEL report << allnodes << plain << "Recieve from "<= 0 && myBlockList[myI+1] >=0); if(myNextRange[1] == myNext){ myNextRange[0] = myBlockList[myI ]; myNextRange[1] = myBlockList[myI+1]; myDone[myId] = (myBlockList[myI+2]<0?1:0); #if defined(DEBUG_PARALLEL) report << allnodes << plain << "Block["<= 0){ MPI_Bsend(tmp,0,MPI_CHAR,myMasterId,NEED_RANGE,MPI_COMM_WORLD); #ifdef DEBUG_PARALLEL report << allnodes << plain << "Ask new block "< #include #include "Real.h" #include "ParallelType.h" namespace ProtoMol { class ScalarStructure; class Vector3DBlock; class GenericTopology; //________________________________________________________ Parallel class Parallel { ///< Enum specifing the actual working state of the node enum WorkState { DONE, ///< next() always false, when slave has nothing more to compute SEQUENTIAL, ///< next() always true, traps calls of next() when running with 1 node (should not happen!) STATIC, ///< next() based on modulo, simple load balancing SLAVE, ///< slave MASTER ///< master }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Parallel(); ~Parallel(); Parallel(const Parallel&){} Parallel& operator=(const Parallel&){return *this;} public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Parallel //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static void init(int &argc, char **&argv); ///< MPI_Init and sets id and number of process. static void finalize(); ///< MPI_Finialize. static bool initialized() {return myInitialized;} static bool finalized() {return myFinalized;} static bool ok() {return (myInitialized && !myFinalized);} static int getId() {return myId;} static int getMasterId() {return myMasterId;} static int getNum() {return myNum;} static int getAvailableId() {return myAvailableId;} static int getAvailableNum() {return myAvailableNum;} static bool isParallel() {return myIsParallel;} static bool iAmMaster() {return myIAmMaster;} static bool iAmSlave() {return myIAmSlave;} static ParallelType getMode() {return myMode;} static void setMode(ParallelType mode); static bool isDynamic() {return (myMode != ParallelType::STATIC);} static int getPipeSize() {return myPipeSize;} static void setPipeSize(int n); static bool isBarrier() {return myUseBarrier;} static void setBarrier(bool b) {myUseBarrier = b;} static int getMaxPackages() {return myMaxPackages;} static void setMaxPackages(int n); public: /** * Broadcast a Vector3DBlock from the master to the rest. * Handles also the case if the receiving nodes have an emty * (other size) Vector3DBlock. */ static void bcast(Vector3DBlock* coords) ; static void bcast(int& n); /** * Does the preprocessing, clearing the energies and forces for * all nodes except the master. */ static void distribute(ScalarStructure* energy, Vector3DBlock* coords); /** * Does a reduction and a broadcast, such that all * nodes have the correct summed energies and forces locally. */ static void reduce(ScalarStructure* energy, Vector3DBlock* coords); /// Reduction over all nodes, exluding the master if running master-slave. static void reduceSlaves(Real* begin, Real* end); /// Broadcast over all nodes, exluding the master if running master-slave. static void bcastSlaves(Real* begin, Real* end) ; /// Syncronize all nodes static void sync(); /// Syncronize all slaves, exluding the master if running master-slave. static void syncSlave(); // Partitioning public: /// Returns the number of packages over all forces. static unsigned int getNumberOfPackages(unsigned int n) ; public: /// true if the actual work package should computed, false skip it static bool next(); static void resetNext(){myNext = 0;myNextRange[0] =0;myNextRange[1]=0;myWorkState = getWorkState();} static void resetNext(const std::vector& blocks); private: static void kill(); static Parallel& instance(); static bool ok(const std::string& err); static WorkState getWorkState(); static void nextMaster(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const bool isMPI; private: static bool myInitialized; ///< If Parallel is initialized static bool myFinalized; // / myDone; ///< Master, keeps track of slave have got already their work static std::vector myBlockList; ///< List of of the force partitioning static int myRecv; ///< Number of outstanding receives static int myI; ///< Index of the actual work package (only master) static int myP; ///< Node number static Parallel* obj; ///< Instance }; //______________________________________________________________________ INLINES } #endif /* PARAMETER_H */ protomol/framework/parallel/ParallelType.cpp0100644027616700000500000000064210237151532020706 0ustar pbrenne1dip#include "ParallelType.h" using std::string; namespace ProtoMol { //________________________________________________________ ParallelType const string ParallelEnum::str[static_cast(LAST)-static_cast(FIRST)] = { // Order is essential, must be in relation to Enum string("undefined"), // Returned when no enum matches string("static"), string("dynamic"), string("masterSlave") }; } protomol/framework/parallel/ParallelType.h0100644027616700000500000000156110237151532020354 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PARALLELTYPE_H #define PARALLELTYPE_H #include "AbstractEnumType.h" namespace ProtoMol { //_____________________________________________________ ParallelEnum /** * The types of parallel strategies. * */ class ParallelEnum { public: virtual ~ParallelEnum(){} enum Enum { FIRST = 0, // Only internal purpose UNDEFINED = 0, // Value returned when no string matches STATIC, ///< Static load balancing DYNAMIC, ///< Dynamic load balancing, similar to master-slave but with working master MASTERSLAVE, ///< Master-slave LAST // Only internal purpose }; static const std::string str[]; }; //_____________________________________________________ ParallelType typedef AbstractEnumType ParallelType; } #endif // PARALLELTYPE_H protomol/framework/topology/0040755027616700000500000000000010237151532015665 5ustar pbrenne1dipprotomol/framework/topology/.cvsignore0100644027616700000500000000004710237151532017663 0ustar pbrenne1dip*.o *.il Makefile.in Makefile ti_files protomol/framework/topology/Angle.h0100644027616700000500000000350610237151532017065 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ANGLE_H #define ANGLE_H #include "Real.h" namespace ProtoMol { //_________________________________________________________________ Angle /// This class contains the information for one Angle. class Angle { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Angle():atom1(-1),atom2(-1),atom3(-1),restAngle(0.0),forceConstant(0.0), ureyBradleyConstant(0.0),ureyBradleyRestLength(0.0), iSGmodifierIndex(0),DeltaK(0.0),DeltaTheta0(0.0),Delta_ubK(0.0),Delta_ubR0(0.0) {} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: int atom1; ///< The first atom in this angle (one end). int atom2; ///< The second atom in this angle (the vertex). int atom3; ///< The third atom in this angle (the other end). Real restAngle; ///< The rest angle ($\theta_0$ value) for this angle. Real forceConstant; ///< The force constant ($k_\theta$ value) for this angle. Real ureyBradleyConstant; ///< The Urey-Bradley constant ($k_{ub}$ value) for this angle. Real ureyBradleyRestLength; ///< The Urey-Bradley rest length ($r_{ub}$ value) for this angle. int iSGmodifierIndex; ///< the index # of this angle type in the ModifierISG angle structure. /** * difference in spring constant and rest angle for two different * angle identities. This is needed to compute the chemical potential (or free energy) * difference between the identities. */ Real DeltaK, DeltaTheta0, Delta_ubK, Delta_ubR0; }; } #endif /* ANGLE_H */ protomol/framework/topology/AngleInfo.cpp0100644027616700000500000000305610237151532020234 0ustar pbrenne1dip#include "AngleInfo.h" namespace ProtoMol{ AngleInfo::AngleInfo() { m_angle = 0.0; m_pointer = 0; m_angleType = ANGLE_NOTSET; m_visited = false; m_isExclusionAtom = false; m_isInnerAtom = false; m_atomID = 0; } AngleInfo::~AngleInfo() { } void AngleInfo::setAtomID(unsigned int ID) { m_atomID = ID; } unsigned int AngleInfo::getAtomID() const{ return m_atomID; } void AngleInfo::addBond(int atom) { m_bondedAtoms.push_back(atom); } void AngleInfo::setAngle(Real angle) { m_angle = angle; m_angleType = ANGLE_VALUE; } void AngleInfo::setPointer(unsigned int atom) { m_pointer = atom; m_angleType = ANGLE_POINTER; } unsigned int AngleInfo::getAngleType()const { return m_angleType; } Real AngleInfo::getAngle()const { return m_angle; } unsigned int AngleInfo::getPointer() const{ return m_pointer; } void AngleInfo::setVisited() { m_visited = true; } bool AngleInfo::isVisited() const{ return m_visited; } void AngleInfo::setInnerAtom(){ m_isInnerAtom = true; } bool AngleInfo::isInnerAtom() const { return m_isInnerAtom; } void AngleInfo::setExclusionAtom() { m_isExclusionAtom = true; } bool AngleInfo::isExclusionAtom() const{ return m_isExclusionAtom; } unsigned int AngleInfo::numBonds()const { return m_bondedAtoms.size(); } unsigned int AngleInfo::getBond(unsigned int index) const{ if (index < m_bondedAtoms.size()) { return m_bondedAtoms[index]; } return 0; } } protomol/framework/topology/AngleInfo.h0100644027616700000500000000356210237151532017703 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ANGLEINFO_H #define ANGLEINFO_H #include #include "Real.h" namespace ProtoMol { /** No comment Cplt! */ class AngleInfo { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Enums & types //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: enum { ANGLE_VALUE = 10001, ANGLE_POINTER = 10002, ANGLE_NOTSET = 10003, VISITED = 10001, NOT_VISITED = 10002}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: AngleInfo(); ~AngleInfo(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class CubicCellManager //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: void addBond(int atom); void setAngle(Real angle); void setPointer(unsigned int atom); void setExclusionAtom(); void setInnerAtom(); void setVisited(); void setAtomID(unsigned int ID); unsigned int getAngleType() const; unsigned int getBond(unsigned int index) const; unsigned int numBonds() const; unsigned int getAtomID() const; Real getAngle() const; unsigned int getPointer() const; bool isExclusionAtom() const; bool isInnerAtom() const; bool isVisited() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real m_angle; unsigned int m_atomID; unsigned int m_pointer; unsigned int m_angleType; bool m_visited; bool m_isExclusionAtom; bool m_isInnerAtom; std::vector m_bondedAtoms; }; } #endif protomol/framework/topology/ArrayCellListStructure.cpp0100644027616700000500000000777310237151532023037 0ustar pbrenne1dip#include "ArrayCellListStructure.h" #include "Report.h" using namespace ProtoMol::Report; //#define DEBUG_ARRAYCELLLISTSTRUCTURE namespace ProtoMol { //_________________________________________________________________ ArrayCellListStructure ArrayCellListStructure::ArrayCellListStructure():valid(false), myArray(ArraySizes(0)(0)(0)), myCellSize(Vector3D(0.0,0.0,0.0)), myNX(0), myNY(0), myNZ(0), myBegin(myArray.begin()), myEnd(myArray.end()), myBeginConst(myArray.begin()), myEndConst(myArray.end()), mySize(0){ } void ArrayCellListStructure::initialize(const Vector3D& max, Vector3D cellSize){ int nx = (int)floor(max.x/cellSize.x+Constant::EPSILON); int ny = (int)floor(max.y/cellSize.y+Constant::EPSILON); int nz = (int)floor(max.z/cellSize.z+Constant::EPSILON); if(nx != myNX || ny != myNY || nz != myNZ || myCellSize != cellSize){ #ifdef DEBUG_ARRAYCELLLISTSTRUCTURE report << hint << "CubicCellManager: re-size from ("<= power(2.0)){ report << error << "Your systems is expanding such that the " <<"the ratio simulation box / cell size is to big. " <<"You may decrease your timestep in your integrator or " <<"increase your cell size. End of advice." <::RefArray<2> z2=myArray[i]; #else RefArray z2=myArray[i]; #endif for(int j=0;j::RefArray<1> z1=z2[j]; #else RefArray z1=z2[j]; #endif for(int k=0;k=0){ if(first){ myBegin = myArray.begin()+i; myBeginConst = myArray.begin()+i; } myEnd = myArray.begin()+i+1; myEndConst = myArray.begin()+i+1; first = false; mySize++; } } valid = true; } } protomol/framework/topology/ArrayCellListStructure.h0100644027616700000500000001072210237151532022470 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef ARRAYCELLSTRUCTURE_H #define ARRAYCELLSTRUCTURE_H #include "stringutilities.h" #include "CubicCellLocation.h" #include "Vector3D.h" #include "Array.h" //#define DEBUG_ARRAYCELLLISTSTRUCTURE namespace ProtoMol { //_________________________________________________________________ ArrayCellListStructure /** * Implements a cell list with an array, providing STL alike iterators and access */ class ArrayCellListStructure { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My typedef's //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: typedef CubicCellLocation T1; typedef int T2; typedef std::pair T; typedef Array TContainer; public: // STL-like types typedef TContainer::value_type value_type; typedef TContainer::reference reference; typedef TContainer::const_reference const_reference; typedef TContainer::pointer pointer; typedef TContainer::const_pointer const_pointer; typedef TContainer::iterator iterator; typedef TContainer::const_iterator const_iterator; typedef TContainer::difference_type difference_type; typedef TContainer::size_type size_type; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ArrayCellListStructure(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Return STL-like iterators //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: iterator begin() { return myBegin;} iterator end() { return myEnd; } const_iterator begin() const { return myBeginConst;} const_iterator end() const { return myEndConst; } size_type size() const { return mySize;} iterator find(const T1& t1) { if(!checkBoundaries(t1)) return myEnd; iterator itr = &myArray[t1.x][t1.y][t1.z]; if(itr->second < 0) return myEnd; return itr; } const_iterator find(const T1& t1) const { if(!checkBoundaries(t1)) return myEndConst; const_iterator itr = &myArray[t1.x][t1.y][t1.z]; if(itr->second < 0) return myEndConst; return itr; } T2& operator[](const T1& t1){ return myArray[t1.x][t1.y][t1.z].second; } bool checkBoundaries(const T1& t1) const{ return !(t1.x < 0 || t1.y < 0 || t1.z < 0 || t1.x >= myNX || t1.y >= myNY || t1.z >= myNZ); } /// case for periodic boundary conditions const_iterator findPeriodic(const T1& t1) const{ const_iterator itr = &myArray[(t1.x+myMaxNX)%myNX][(t1.y+myMaxNY)%myNY][(t1.z+myMaxNZ)%myNZ]; if (itr->second < 0) return myEndConst; return itr; } /// case for periodic boundary conditions iterator findPeriodic(const T1& t1) { iterator itr = &myArray[(t1.x+myMaxNX)%myNX][(t1.y+myMaxNY)%myNY][(t1.z+myMaxNZ)%myNZ]; if (itr->second < 0) return myEnd; return itr; } T1 basisCell(const T1& t1) const{ return T1((t1.x+myMaxNX1)%myNX+myNX1, (t1.y+myMaxNY1)%myNY+myNY1, (t1.z+myMaxNZ1)%myNZ+myNZ1); } T1 periodicCell(const T1& t1) const{ return T1((t1.x+myMaxNX)%myNX, (t1.y+myMaxNY)%myNY, (t1.z+myMaxNZ)%myNZ); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ArrayCellListStructure //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// initialize with the size of the system and the cell size (3D) void initialize(const Vector3D& max, Vector3D cellSize); void updateCache(); void uncache(){valid = false;} int getDimX() const{ return myNX;} int getDimY() const{ return myNY;} int getDimZ() const{ return myNZ;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool valid; private: TContainer myArray; Vector3D myCellSize; int myNX,myNY,myNZ; int myMaxNX,myMaxNY,myMaxNZ; int myNX1,myNY1,myNZ1; int myMaxNX1,myMaxNY1,myMaxNZ1; iterator myBegin,myEnd; const_iterator myBeginConst,myEndConst; size_type mySize; }; } #endif /* ARRAYCELLSTRUCTURE_H */ protomol/framework/topology/BankLennardJonesParameterTable.h0100644027616700000500000000427610237151532024033 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef BANKLENNARDJONESPARAMETERTABLE_H #define BANKLENNARDJONESPARAMETERTABLE_H #include "LennardJonesParameterTable.h" #include namespace ProtoMol { //_________________________________________________________________ BankLennardJonesParameterTable /** * Keeps a bank of different LennardJonesParameterTable's, iSG */ struct BankLennardJonesParameterTable { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: BankLennardJonesParameterTable(){}; /// function which creates the correct # of parameter tables void createTables( unsigned int numComp, unsigned int tableSize ) { // compute the # of needed tables numTables = numComp * numComp; numComps = numComp; // allocate memory for the parameter tables lennardJonesBank.resize(numTables); // properly size each individual parameter table for (unsigned int i=0; i lennardJonesBank; unsigned int numTables; unsigned int numComps; }; //______________________________________________________________________ INLINES } #endif /* BANKLENNARDJONESPARAMETERS_H */ protomol/framework/topology/Bond.h0100644027616700000500000000363210237151532016721 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef BOND_H #define BOND_H #include "Real.h" namespace ProtoMol { //_________________________________________________________________ Bond /** This class contains the information for one bond between two atoms. */ class Bond { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Typedef & const //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: struct Constraint { Constraint():atom1(-1),atom2(-1),restLength(0.0){} Constraint(int a, int b, Real c):atom1(a),atom2(b),restLength(c){} int atom1; int atom2; Real restLength; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Bond():atom1(-1),atom2(-1),springConstant(0.0),restLength(0.0), iSGmodifierIndex(0),DeltaK(0.0),DeltaR0(0.0) {} Bond(int a, int b, Real c, Real d):atom1(a),atom2(b),springConstant(c),restLength(d){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: int atom1; ///< The first atom involved in this bond. int atom2; /// & parameters) const{ parameters.push_back(Parameter("-cutoff",Value(myCutoff,ConstraintValueType::Positive()),Text("C1 swf cutoff"))); } C1SwitchingFunction C1SwitchingFunction::make(string&, vector values) { return C1SwitchingFunction(values[0]); } Matrix3by3 C1SwitchingFunction::hessian(const Vector3D& rij, Real a) const{ Real rijNorm = sqrt(a); Real tm1 = 1.5 / (myCutoff * rijNorm); Real tm2 = 1.5 * myCutoff_3 * rijNorm; Real tm3 = -tm1 + tm2; Real tm4 = tm1 + tm2; return (Matrix3by3(tm3,0,0,0,tm3,0,0,0,tm3) + Matrix3by3(rij,rij/a) * tm4); } } protomol/framework/topology/C1SwitchingFunction.h0100644027616700000500000000434510237151532021672 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef C1SWITCHINGFUNCTION_H #define C1SWITCHINGFUNCTION_H #include #include "Parameter.h" #include "C1SwitchingFunctionBase.h" #include "Matrix3by3.h" namespace ProtoMol { //_________________________________________________________________ C1SwitchingFunction /** * The switching function provide C1 continues */ class C1SwitchingFunction : private C1SwitchingFunctionBase { public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {USE=1}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: C1SwitchingFunction(); C1SwitchingFunction(Real cutoff); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class C1SwitchingFunction //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool roughTest(Real distSquared) const { return (distSquared <= myCutoff2);} Real cutoffSquared() const{return myCutoff2;} void operator()(Real &value, Real &derivOverD, Real distSquared) const{ if (distSquared > myCutoff2) { value=0.0; derivOverD=0.0; return; } Real dist = sqrt(distSquared); value=1.0-dist*(my15Cutoff_1-distSquared*my05Cutoff_3); derivOverD=-my15Cutoff_1/dist+dist*my15Cutoff_3; } Matrix3by3 hessian(const Vector3D& rij, Real distSquared) const; static const std::string& getId() {return keyword;} void getParameters(std::vector& parameters) const; static unsigned int getParameterSize() {return 1;} static C1SwitchingFunction make(std::string& errMsg,std::vector values); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real myCutoff, myCutoff2, myCutoff_3, my15Cutoff_1,my05Cutoff_3,my15Cutoff_3; }; //______________________________________________________________________ INLINES } #endif /* C1SWITCHINGFUNCTION_H */ protomol/framework/topology/C1SwitchingFunctionBase.cpp0100644027616700000500000000032610237151532023013 0ustar pbrenne1dip#include "C1SwitchingFunctionBase.h" namespace ProtoMol { //_________________________________________________________________ C1SwitchingFunctionBase const std::string C1SwitchingFunctionBase::keyword("C1"); } protomol/framework/topology/C1SwitchingFunctionBase.h0100644027616700000500000000054110237151532022457 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef C1SWITCHINGFUNCTIONBASE_H #define C1SWITCHINGFUNCTIONBASE_H #include namespace ProtoMol { //_________________________________________________________________ C1SwitchingFunctionBase class C1SwitchingFunctionBase { public: static const std::string keyword; }; } #endif /* C1SWITCHINGFUNCTIONBASE_H */ protomol/framework/topology/C2SwitchingFunction.cpp0100644027616700000500000000356010237151532022224 0ustar pbrenne1dip#include "C2SwitchingFunction.h" #include "mathutilities.h" using std::vector; using std::string; namespace ProtoMol { //_________________________________________________________________ C2SwitchingFunction C2SwitchingFunction::C2SwitchingFunction():mySwitchon(-1.0),myCutoff(0.0){} C2SwitchingFunction::C2SwitchingFunction(Real switchon,Real cutoff):mySwitchon(switchon), mySwitchon2(switchon*switchon), myCutoff(cutoff), myCutoff2(cutoff*cutoff), mySwitch1(1.0/power<3>(cutoff*cutoff-switchon*switchon)), mySwitch2(cutoff*cutoff - 3.0*switchon*switchon), mySwitch3(4.0/power<3>(cutoff*cutoff-switchon*switchon)){} void C2SwitchingFunction::getParameters(vector& parameters) const{ parameters.push_back(Parameter("-switchon",Value(mySwitchon,ConstraintValueType::NotNegative()),Text("C2 swf switch on"))); parameters.push_back(Parameter("-cutoff",Value(myCutoff,ConstraintValueType::Positive()),Text("C2 swf cutoff"))); } C2SwitchingFunction C2SwitchingFunction::make(string& errMsg, vector values) { Real switchon,cutoff; values[0].get(switchon); values[1].get(cutoff); if(!values[0].valid() || !values[0].valid() || switchon < 0.0 || cutoff <= 0.0 || switchon >= cutoff){ errMsg += keyword +" switching function: 0 <= switchon (="+values[0].getString()+") < cutoff (="+values[1].getString()+")."; return C2SwitchingFunction(); } return C2SwitchingFunction(switchon,cutoff); } Matrix3by3 C2SwitchingFunction::hessian(const Vector3D& rij, Real a) const{ Real tm1 = myCutoff2 - mySwitchon2; Real tm2 = tm1 * tm1 * tm1; Real tm3 = 12.0*(a - myCutoff2)*(a - mySwitchon2)/tm2; Real tm4 = 24.0*(2.0*a-myCutoff2-mySwitchon2)/tm2; return (Matrix3by3(tm3,0,0,0,tm3,0,0,0,tm3) + Matrix3by3(rij,rij)*tm4); } } protomol/framework/topology/C2SwitchingFunction.h0100644027616700000500000000446310237151532021674 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef C2SWITCHINGFUNCTION_H #define C2SWITCHINGFUNCTION_H #include #include "Parameter.h" #include "C2SwitchingFunctionBase.h" #include "Matrix3by3.h" namespace ProtoMol { //_________________________________________________________________ C2SwitchingFunction /** * The switching function provide C2 continues */ class C2SwitchingFunction : private C2SwitchingFunctionBase { public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {USE=1}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: C2SwitchingFunction(); C2SwitchingFunction(Real switchon,Real cutoff); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class C2SwitchingFunction //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool roughTest(Real distSquared) const{return (distSquared <= myCutoff2);} Real cutoffSquared() const{return myCutoff2;} void operator()(Real &value, Real &deriv, Real distSquared) const{ deriv=0.0; if (distSquared > myCutoff2) { value=0.0; } else if (distSquared >= mySwitchon2) { Real c2 = myCutoff2-distSquared; Real c4 = c2*(mySwitch2 + 2.0*distSquared); value = mySwitch1*(c2*c4); deriv = mySwitch3*(c2*c2-c4); } else { value = 1.0; } } Matrix3by3 hessian(const Vector3D& rij, Real distSquared) const; static const std::string& getId() {return keyword;} void getParameters(std::vector& parameters) const; static unsigned int getParameterSize() { return 2;} static C2SwitchingFunction make(std::string& errMsg,std::vector values) ; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real mySwitchon, mySwitchon2, myCutoff, myCutoff2, mySwitch1, mySwitch2, mySwitch3; }; //______________________________________________________________________ INLINES } #endif /* C2SWITCHINGFUNCTION_H */ protomol/framework/topology/C2SwitchingFunctionBase.cpp0100644027616700000500000000032610237151532023014 0ustar pbrenne1dip#include "C2SwitchingFunctionBase.h" namespace ProtoMol { //_________________________________________________________________ C2SwitchingFunctionBase const std::string C2SwitchingFunctionBase::keyword("C2"); } protomol/framework/topology/C2SwitchingFunctionBase.h0100644027616700000500000000054310237151532022462 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef C2SWITCHINGFUNCTIONBASE_H #define C2SWITCHINGFUNCTIONBASE_H #include namespace ProtoMol { //_________________________________________________________________ C2SwitchingFunctionBase class C2SwitchingFunctionBase { public: static const std::string keyword; }; } #endif /* C2SWITCHINGFUNCTIONBASE_H */ protomol/framework/topology/CellListEnumerator.h0100644027616700000500000000071310237151532021611 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CELLLISTENUMERATOR_H #define CELLLISTENUMERATOR_H namespace ProtoMol { /** * The cell enumerator implements an iterator over the cell list * in respect to the give cutoff. It iterates over all * possible cell pairs such that all interactions are * considered of at least the cutoff. */ template class CellListEnumerator {}; } #endif /* CELLLISTENUMERATOR_H */ protomol/framework/topology/CellListEnumerator_periodicBoundaries.h0100644027616700000500000001150510237151532025504 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CELLLISTENUMERATOR_PERDIOCBOUNDARIES_H #define CELLLISTENUMERATOR_PERDIOCBOUNDARIES_H #include "CellListEnumerator.h" #include "CubicCellManager.h" #include "PeriodicBoundaryConditions.h" #include "Topology.h" #include namespace ProtoMol { //_________________________________________________________________ CellListEnumerator_periodicBoundaries /** * Specialization of the cell enumerator for periodic boundary conditions and cubic cell manager */ template<> class CellListEnumerator { public: //typedef pair CellPair; // The first atom from each cell list in the pair struct CellPair {int first; int second;}; public: CellListEnumerator():myCutoff(-1.0), myCellSize(Vector3D(-1.0,-1.0,-1.0)), myMax(CubicCellManager::Cell(-1,-1,-1)){} void initialize(const Topology* topo, Real cutoff) { the_beginning=topo->cellLists.begin(); the_end=topo->cellLists.end(); i=the_beginning; j=i; the_first = 0; the_counter = the_first; myCellListStruct = &(topo->cellLists); if(myCutoff != cutoff || topo->cellManager.getRealCellSize() != myCellSize || !(myMax == topo->cellManager.findCell(topo->max-topo->min))){ myCellSize = topo->cellManager.getRealCellSize(); myCutoff=cutoff; myMax = topo->cellManager.findCell(topo->max-topo->min); Real cutoff2= cutoff*cutoff; CubicCellManager::Cell zero(0,0,0); myDeltaList.clear(); int nx = (int)(cutoff/myCellSize.x+1.0+Constant::EPSILON); int ny = (int)(cutoff/myCellSize.y+1.0+Constant::EPSILON); int nz = (int)(cutoff/myCellSize.z+1.0+Constant::EPSILON); std::set tmpDelta; tmpDelta.insert(zero); // Do not consider deltas bigger than the dimesion of the simulation box int n0 = std::min(nx,topo->cellLists.getDimX()); int n1 = std::min(ny,topo->cellLists.getDimY()); int n2 = std::min(nz,topo->cellLists.getDimZ()); Real xx = myCellSize.x*myCellSize.x; Real yy = myCellSize.y*myCellSize.y; Real zz = myCellSize.z*myCellSize.z; for(int k =-n0;k<=n0;k++){ int x=abs(k)-1; if(x<0) x=0; Real d0 = x*x*xx; for(int l =-n1;l<=n1;l++){ int y=abs(l)-1; if(y<0) y=0; Real d1 = d0+y*y*yy; for(int m =-n2;m<=n2;m++){ int z=abs(m)-1; if(z<0) z=0; if(d1+z*z*zzbasisCell(delta); if(tmpDelta.find(minimalDelta) == tmpDelta.end()){ myDeltaList.push_back(minimalDelta); tmpDelta.insert(minimalDelta); } } } } } std::sort(myDeltaList.begin(),myDeltaList.end()); //for(unsigned int i=0;icellLists.getDimX()*topo->cellLists.getDimY()*topo->cellLists.getDimZ()<<", "<cellLists.getDimX()*topo->cellLists.getDimY()*topo->cellLists.getDimZ()*myCellSize.x*myCellSize.y*myCellSize.z << ", "<< myDeltaList.size()*myCellSize.x*myCellSize.y*myCellSize.z <second; cp.second=j->second; } /// if the cells of the current cell pair are the same bool notSameCell(){return (i != j);} /// reached the end of the list of cell pairs bool done() {return (i==the_end);} /// goto the end of pair of cells with the same first cell void gotoEndPair() {j=the_end;}; /// advance by inc in the cell list in respect to first cell void nextNewPair(int inc){ if(inc < 1) return; while(inc > 0 && i != the_end){ ++i; --inc; while(i != the_end && i->second < 0) ++i; } j=i; } /// get next pair void next(void){ do { if(i!=the_end){ j=the_end; while(the_counter != the_last && the_end == (j=myCellListStruct->findPeriodic(i->first+myDeltaList[the_counter++]))); if(j==the_end){ ++i; while(i != the_end && i->second < 0) ++i; j=i; the_counter = the_first; } } }while(i>j); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: CubicCellManager::CellListStructure::const_iterator i,j,the_beginning,the_end; Real myCutoff; std::vector myDeltaList; int the_first, the_last, the_counter; const CubicCellManager::CellListStructure *myCellListStruct; Vector3D myCellSize; CubicCellManager::Cell myMax; }; } #endif /* CELLLISTENUMERATOR_PERDIOCBOUNDARIES_H */ protomol/framework/topology/CellListEnumerator_standard.h0100644027616700000500000001123310237151532023470 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CELLLISTENUMERATOR_STANDARD_H #define CELLLISTENUMERATOR_STANDARD_H #include "CellListEnumerator.h" #include "CubicCellManager.h" #include "VacuumBoundaryConditions.h" #include "Topology.h" #include //#define DEBUG_CELLLISTENUMERATOR_STANDARD namespace ProtoMol { //_________________________________________________________________ CellListEnumerator_standard /** * Specialization of the cell enumerator for vacuum and cubic cell manager */ template<> class CellListEnumerator { public: //typedef pair CellPair; // The first atom from each cell list in the pair struct CellPair {int first; int second;}; public: CellListEnumerator():myCutoff(-1.0), myCellSize(Vector3D(-1.0,-1.0,-1.0)), myMax(CubicCellManager::Cell(-1,-1,-1)){} void initialize(const Topology* topo, Real cutoff) { the_beginning=topo->cellLists.begin(); the_end=topo->cellLists.end(); i=the_beginning; j=i; the_first = 0; the_counter = the_first; myCellListStruct = &(topo->cellLists); if(myCutoff != cutoff || topo->cellManager.getRealCellSize() != myCellSize || !(myMax == topo->cellManager.findCell(topo->max-topo->min))){ myCellSize = topo->cellManager.getRealCellSize(); myCutoff=cutoff; myMax = topo->cellManager.findCell(topo->max-topo->min); // Report::report <<"New: "<cellLists.getDimX()-1); int n1 = std::min(ny,topo->cellLists.getDimY()-1); int n2 = std::min(nz,topo->cellLists.getDimZ()-1); Real xx = myCellSize.x*myCellSize.x; Real yy = myCellSize.y*myCellSize.y; Real zz = myCellSize.z*myCellSize.z; for(int k =-n0;k<=n0;k++){ int x=abs(k)-1; if(x<0) x=0; Real d0 = x*x*xx; for(int l =-n1;l<=n1;l++){ int y=abs(l)-1; if(y<0) y=0; Real d1 = d0+y*y*yy; for(int m =-n2;m<=n2;m++){ int z=abs(m)-1; if(z<0) z=0; if(d1+z*z*zzcellLists.getDimX()*topo->cellLists.getDimY()*topo->cellLists.getDimZ()<<", "<cellLists.getDimX()*topo->cellLists.getDimY()*topo->cellLists.getDimZ()*myCellSize.x*myCellSize.y*myCellSize.z << ", "<< myDeltaList.size()*myCellSize.x*myCellSize.y*myCellSize.z <second; cp.second=j->second; } /// if the cells of the current cell pair are the same bool notSameCell(){return (i != j);} /// reached the end of the list of cell pairs bool done() {return (i==the_end);} /// goto the end of pair of cells with the same first cell void gotoEndPair() {j=the_end;}; /// advance by inc in the cell list in respect to first cell void nextNewPair(int inc){ if(inc < 1) return; while(inc > 0 && i != the_end){ ++i; --inc; while(i != the_end && i->second < 0) ++i; } j=i; } /// get next pair void next(){ if(i!=the_end){ j=the_end; while(the_counter != the_last && the_end == (j=myCellListStruct->find(i->first+myDeltaList[the_counter++]))); if(j==the_end){ ++i; while(i != the_end && i->second < 0) ++i; j=i; the_counter = the_first; } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: CubicCellManager::CellListStructure::const_iterator i,j,the_beginning,the_end; Real myCutoff; std::vector myDeltaList; int the_first, the_last, the_counter; const CubicCellManager::CellListStructure *myCellListStruct; Vector3D myCellSize; CubicCellManager::Cell myMax; }; } #endif /* CELLLISTENUMERATOR_STANDARD_H */ protomol/framework/topology/ComplementSwitchingFunction.h0100644027616700000500000000470410237151532023531 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef COMPLEMENTSWITCHINGFUNCTION_H #define COMPLEMENTSWITCHINGFUNCTION_H #include "Parameter.h" #include "ComplementSwitchingFunctionBase.h" namespace ProtoMol { //_________________________________________________________________ ComplementSwitchingFunction /** * Defines the complement of a given switching function (TOriginalSwitchingFunction). */ template class ComplementSwitchingFunction : private ComplementSwitchingFunctionBase { public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {USE=1}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ComplementSwitchingFunction(){} ComplementSwitchingFunction(const TOriginalSwitchingFunction sw) : myOrigFunc(sw){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ComplementSwitchingFunction //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// simple and fast test if we should apply the switching function bool roughTest(Real /*distSquared*/) const{return true;} Real cutoffSquared() const{return Constant::MAXREAL;} void operator()(Real &value, Real &derivOverD, Real distSquared) const{ myOrigFunc(value,derivOverD,distSquared); value = 1.0-value; derivOverD = -derivOverD; } static std::string getId() {return (keyword + TOriginalSwitchingFunction::getId());} void getParameters(std::vector& parameters) const{ myOrigFunc.getParameters(parameters); } static unsigned int getParameterSize() {return TOriginalSwitchingFunction::getParameterSize();} static ComplementSwitchingFunction make(std::string& errMsg,std::vector values) { return ComplementSwitchingFunction(TOriginalSwitchingFunction::make(errMsg,values)); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: TOriginalSwitchingFunction myOrigFunc; }; //______________________________________________________________________ INLINES } #endif /* COMPLEMENTSWITCHINGFUNCTION_H */ protomol/framework/topology/ComplementSwitchingFunctionBase.cpp0100644027616700000500000000037010237151532024652 0ustar pbrenne1dip#include "ComplementSwitchingFunctionBase.h" namespace ProtoMol { //_________________________________________________________________ ComplementSwitchingFunctionBase const std::string ComplementSwitchingFunctionBase::keyword("Complement"); } protomol/framework/topology/ComplementSwitchingFunctionBase.h0100644027616700000500000000060510237151532024320 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef COMPLEMENTSWITCHINGFUNCTIONBASE_H #define COMPLEMENTSWITCHINGFUNCTIONBASE_H #include namespace ProtoMol { //_________________________________________________________________ ComplementSwitchingFunctionBase class ComplementSwitchingFunctionBase { public: static const std::string keyword; }; } #endif /* COMPLEMENTSWITCHINGFUNCTION_H */ protomol/framework/topology/CubicCellLocation.h0100644027616700000500000000330710237151532021354 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CUBICCELLLOCATION_H #define CUBICCELLLOCATION_H namespace ProtoMol { //_________________________________________________________________ CubicCellLocation /** * Equal-sized (cubic) cell. */ class CubicCellLocation { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: CubicCellLocation(void):x(0),y(0),z(0){} CubicCellLocation(int a, int b, int c) : x(a),y(b),z(c){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class CubicCellLocation //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: bool operator<(const CubicCellLocation &) const; bool operator==(const CubicCellLocation& c) const {return (x == c.x && y == c.y && z == c.z);} CubicCellLocation operator-(const CubicCellLocation& b) const {return CubicCellLocation(x-b.x,y-b.y,z-b.z);} CubicCellLocation operator+(const CubicCellLocation& b) const {return CubicCellLocation(x+b.x,y+b.y,z+b.z);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ int x; int y; int z; }; //______________________________________________________________________ INLINES inline bool CubicCellLocation::operator<(const CubicCellLocation &c) const { if (xc.x) return false; if (yc.y) return false; if (z& parameters) const{ parameters.push_back(Parameter("cellSize",Value(myCellSize,ConstraintValueType::Positive()),Text("For Periodic BC this must be < least cell basis vector. Typically 1/2 of the least cutoff value"))); } CubicCellManager CubicCellManager::make(string& errMsg, vector values){ Real r=1.0; if(!values[0].get(r) || r <= 0.0){ errMsg += keyword +" cellmanager: cutoff > 0 ("+values[0].getString()+")."; return CubicCellManager(); } return CubicCellManager(r); } } protomol/framework/topology/CubicCellManager.h0100644027616700000500000000520210237151532021152 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CUBICCELLMANAGER_H #define CUBICCELLMANAGER_H #include "ArrayCellListStructure.h" #include "Parameter.h" #include "Vector3D.h" #include namespace ProtoMol { //_________________________________________________________________ CubicCellManager /** * The cell manager for equal-sized (cubic) cells. For optimization reasons * in case of periodic boundary conditions the cells are not cubic any more * in order to fit the system by multiples of the cell dimensions. */ class CubicCellManager { public: /// topology and cell location structure of the cell typedef CubicCellLocation Cell; /// implementation of the cell list typedef ArrayCellListStructure CellListStructure; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: CubicCellManager():myCellSize(0.0){} CubicCellManager(Real r); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class CubicCellManager //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// Set the size of each cell. void setCellSize(Real newSize); Real getCellSize(void) const {return myCellSize;} Vector3D getRealCellSize(void) const {return myRealCellSize;} /// Get the volume of the cell. Real getCellVolume(void) const {return myRealCellSize.x*myRealCellSize.y*myRealCellSize.z;} /// Find the cell that one atom belongs to. Cell findCell(const Vector3D &position) const { return Cell((int)floor(position.x*myRealRCellSize.x),(int)floor(position.y*myRealRCellSize.y),(int)floor(position.z*myRealRCellSize.z)); } void initialize(CellListStructure& cellList,const Vector3D& min, const Vector3D& max, bool pbc) const; void updateCache(CellListStructure& cellList) const; const std::string& getKeyword() const {return keyword;} void getParameters(std::vector& parameters) const; unsigned int getParameterSize() const{return 1;} static CubicCellManager make(std::string& errMsg, std::vector values); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Real myCellSize; mutable Vector3D myRealCellSize; mutable Vector3D myRealRCellSize; }; //______________________________________________________________________ INLINES } #endif /* CUBICCELLMANAGER_H */ protomol/framework/topology/CutoffSwitchingFunction.cpp0100644027616700000500000000140010237151532023175 0ustar pbrenne1dip#include "CutoffSwitchingFunction.h" #include "stringutilities.h" using std::string; using std::vector; namespace ProtoMol { //_________________________________________________________________ CutoffSwitchingFunction CutoffSwitchingFunction::CutoffSwitchingFunction():myCutoff(0.0),myCutoff2(0.0){} CutoffSwitchingFunction::CutoffSwitchingFunction(Real cutoff):myCutoff(cutoff),myCutoff2(cutoff*cutoff){} void CutoffSwitchingFunction::getParameters(vector& parameters) const{ parameters.push_back(Parameter("-cutoff",Value(myCutoff,ConstraintValueType::Positive()),Text("cutoff swf cutoff"))); } CutoffSwitchingFunction CutoffSwitchingFunction::make(string& , vector values) { return CutoffSwitchingFunction(values[0]); } } protomol/framework/topology/ExclusionType.h0100644027616700000500000000165210237151532020652 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef EXCLUSIONTYPE_H #define EXCLUSIONTYPE_H #include "AbstractEnumType.h" namespace ProtoMol { //_____________________________________________________ ExclusionEnum /** * Exclusion types for intra-molecular interactions */ class ExclusionEnum { public: virtual ~ExclusionEnum(){} enum Enum { FIRST = 0, // Used internally only UNDEFINED = 0, // Value returned when no string matches NONE, ///< no exclusions at all ONE2, ///< exclude 1. neighbors ONE3, ///< exclude 1. and 2. neighbors ONE4, ///< exclude 1., 2. and 3. neighbors ONE4MODIFIED, ///< exclude 1. and 2. and modify 3. neighbors LAST // Used internally only }; static const std::string str[]; }; //_____________________________________________________ ExclusionType typedef AbstractEnumType ExclusionType; } #endif protomol/framework/topology/Makefile.am0100644027616700000500000000464710237151532017731 0ustar pbrenne1dip# topology AUTOMAKE_OPTIONS = foreign dist-tarZ no-dependencies #Change AR Flag AR = $(AR1) libtopology_a_AR = $(AR2) P_BASE = $(top_srcdir)/framework/base P_IO = $(top_srcdir)/framework/io P_PARALLEL = $(top_srcdir)/framework/parallel P_TOPOLOGY = $(top_srcdir)/framework/topology P_FORCES = $(top_srcdir)/framework/forces P_IMD = $(top_srcdir)/framework/imd P_INTEGRATORS = $(top_srcdir)/framework/integrators P_FRONTEND = $(top_srcdir)/framework/frontend P_FACTORIES = $(top_srcdir)/framework/factories # topology Sources P_TOPOLOGY_SRC =\ ArrayCellListStructure.cpp\ C1SwitchingFunctionBase.cpp\ C1SwitchingFunction.cpp\ C2SwitchingFunctionBase.cpp\ C2SwitchingFunction.cpp\ buildCellLists.cpp\ ComplementSwitchingFunctionBase.cpp\ CubicCellManager.cpp\ CutoffSwitchingFunctionBase.cpp\ CutoffSwitchingFunction.cpp\ ExclusionTable.cpp\ ExclusionType.cpp\ GenericTopology.cpp\ LennardJonesParameterTable.cpp\ PeriodicBoundaryConditions.cpp\ RangeSwitchingFunctionBase.cpp\ ShiftSwitchingFunctionBase.cpp\ ShiftSwitchingFunction.cpp\ topologyutilities.cpp\ UniversalSwitchingFunctionBase.cpp\ VacuumBoundaryConditions.cpp \ AngleInfo.cpp # topology Includes P_TOPOLOGY_H =\ Angle.h\ ArrayCellListStructure.h\ Bond.h\ buildCellLists.h\ C1SwitchingFunctionBase.h\ C1SwitchingFunction.h\ C2SwitchingFunctionBase.h\ C2SwitchingFunction.h\ CellListEnumerator.h\ CellListEnumerator_periodicBoundaries.h\ CellListEnumerator_standard.h\ ComplementSwitchingFunctionBase.h\ ComplementSwitchingFunction.h\ CubicCellLocation.h\ CubicCellManager.h\ CutoffSwitchingFunctionBase.h\ CutoffSwitchingFunction.h\ ExclusionTable.h\ ExclusionType.h\ GenericTopology.h\ LennardJonesParameters.h\ LennardJonesParameterTable.h\ BankLennardJonesParameterTable.h\ PeriodicBoundaryConditions.h\ RangeSwitchingFunctionBase.h\ RangeSwitchingFunction.h\ SemiGenericTopology.h\ ShiftSwitchingFunctionBase.h\ ShiftSwitchingFunction.h\ Topology.h\ topologyutilities.h\ Torsion.h\ UniversalSwitchingFunctionBase.h\ UniversalSwitchingFunction.h\ VacuumBoundaryConditions.h \ AngleInfo.h # Temporary library to get subdirectory source files, blech! noinst_LIBRARIES = libtopology.a libtopology_a_SOURCES = $(P_TOPOLOGY_SRC) $(P_TOPOLOGY_H) INCLUDES =-I$(P_BASE) -I$(P_IO) -I$(P_PARALLEL) -I$(P_TOPOLOGY)# -I$(P_FORCES) -I$(P_IMD) -I$(P_INTEGRATORS) -I$(P_FRONTEND) -I$(P_FACTORIES) SOURCEFILES = $(P_TOPOLOGY_SRC) #include $(top_srcdir)/Makefile.depend protomol/framework/topology/CutoffSwitchingFunction.h0100644027616700000500000000410110237151532022643 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CUTOFFSWITCHINGFUNCTION_H #define CUTOFFSWITCHINGFUNCTION_H #include #include "Parameter.h" #include "CutoffSwitchingFunctionBase.h" namespace ProtoMol { //_________________________________________________________________ CutoffSwitchingFunction /** * Cutoff switching function, implements a simple truncation of the potential. */ class CutoffSwitchingFunction : private CutoffSwitchingFunctionBase { public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {USE=1}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: CutoffSwitchingFunction(); CutoffSwitchingFunction(Real cutoff); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class CutoffSwitchingFunction //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// simple and fast test if we should apply the switching function bool roughTest(Real distSquared) const{return (distSquared <= myCutoff2);} Real cutoffSquared() const{return myCutoff2;} void operator()(Real &value, Real &derivOverD, Real distSquared) const{ derivOverD=0; value = (distSquared > myCutoff2 ? 0.0 : 1.0); } static const std::string& getId() {return keyword;} void getParameters(std::vector& parameters) const; static unsigned int getParameterSize() {return 1;} static CutoffSwitchingFunction make(std::string& errMsg,std::vector values); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real myCutoff, myCutoff2; }; //______________________________________________________________________ INLINES } #endif /* CUTOFFSWITCHINGFUNCTION_H */ protomol/framework/topology/CutoffSwitchingFunctionBase.cpp0100644027616700000500000000034710237151532024001 0ustar pbrenne1dip#include "CutoffSwitchingFunctionBase.h" namespace ProtoMol { //_________________________________________________________________ CutoffSwitchingFunctionBase const std::string CutoffSwitchingFunctionBase::keyword("Cutoff"); } protomol/framework/topology/CutoffSwitchingFunctionBase.h0100644027616700000500000000056510237151532023450 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef CUTOFFSWITCHINGFUNCTIONBASE_H #define CUTOFFSWITCHINGFUNCTIONBASE_H #include namespace ProtoMol { //_________________________________________________________________ CutoffSwitchingFunctionBase class CutoffSwitchingFunctionBase { public: static const std::string keyword; }; } #endif /* CUTOFFSWITCHINGFUNCTIONBASE_H */ protomol/framework/topology/ExclusionTable.cpp0100644027616700000500000000241410237151532021310 0ustar pbrenne1dip#include "ExclusionTable.h" namespace ProtoMol { //_________________________________________________________________ ExclusionTable void ExclusionTable::resize(int count) { lowDeltas.resize(count*Constant::FASTDELTAMAX); anyExclsForThisDelta.resize(count); } void ExclusionTable::cleanTemporaries(){ mySet.clear(); } void ExclusionTable::clear(void) { for(unsigned int i=0;iatom2) std::swap(atom1,atom2); int delta=atom2-atom1; if(type != EXCLUSION_NONE && atom1 != atom2 && mySet.find(ExclusionPair(atom1,atom2,type)) == mySet.end()){ myTable.push_back(ExclusionPair(atom1,atom2,type)); mySet.insert(ExclusionPair(atom1,atom2,type)); } if(delta>myMaxDelta) myMaxDelta=delta; if(delta #include #include #include "pmconstants.h" #include "simpleTypes.h" namespace ProtoMol { //_________________________________________________________________ ExclusionClass /** * Defines exclusions between two atoms, intra-molecular * They are used to implement (bulding blocks) the exclusion type of * system: ONE2, ONE3, ONE4 and ONE4MODIFIED */ enum ExclusionClass { EXCLUSION_NONE=0, ///< do not exclude EXCLUSION_MODIFIED=1, ///< do not exlcude, but modify EXCLUSION_FULL=2 ///< do exclude }; //_________________________________________________________________ ExclusionPair /** * Struct to keep track and sort all kind exclusions */ struct ExclusionPair { ExclusionPair():a1(-1),a2(-1),excl(EXCLUSION_NONE){} ExclusionPair(int a,int b):a1(a),a2(b),excl(EXCLUSION_NONE){} ExclusionPair(int a,int b, ExclusionClass c):a1(a),a2(b),excl(c){} int a1,a2; ExclusionClass excl; bool operator<(const ExclusionPair & e) const{ if(a1e.a1) return false; else return (a2& getTable() const{return myTable;} /// Clean up temporaries, to be called after the exclusion table is build void cleanTemporaries(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: std::vector lowDeltas; std::vector anyExclsForThisDelta; std::map highDeltas; int myMaxDelta; std::vector myTable; std::set mySet; }; //______________________________________________________________________ INLINES inline bool ExclusionTable::checkReallyFast(int atom1, int atom2) const { int delta=atom2-atom1; if(delta>myMaxDelta) return false; return true; } inline ExclusionClass ExclusionTable::check(int atom1, int atom2) const { if(atom2myMaxDelta) return EXCLUSION_NONE; if(deltasecond; } } } #endif /* EXCLUSION_H */ protomol/framework/topology/ExclusionType.cpp0100644027616700000500000000072010237151532021200 0ustar pbrenne1dip#include "ExclusionType.h" using std::string; namespace ProtoMol { //__________________________________________________________ExclusionType const string ExclusionEnum::str[static_cast(LAST) - static_cast(FIRST)] = { // Order is essential, must be in relation to Enum ordering string("undefined"), // Returned when no enum matches string("none"), string("1-2"), string("1-3"), string("1-4"), string("scaled1-4") }; } protomol/framework/topology/GenericTopology.cpp0100644027616700000500000000232410237151532021500 0ustar pbrenne1dip#include "GenericTopology.h" using std::string; using std::vector; namespace ProtoMol { //_________________________________________________________________ GenericTopology const string GenericTopology::scope("Topology"); const string GenericTopology::keyword("Topology"); GenericTopology::GenericTopology():Makeable(), exclude(ExclusionType::ONE3), coulombScalingFactor(1.0), time(0.0), min(Vector3D(Constant::MAXREAL,Constant::MAXREAL,Constant::MAXREAL)), max(Vector3D(-Constant::MINREAL,-Constant::MINREAL,-Constant::MINREAL)), minimalMolecularDistances(false){} GenericTopology::GenericTopology(Real c, const ExclusionType& e):Makeable(), exclude(e), coulombScalingFactor(c), time(0.0), min(Vector3D(Constant::MAXREAL,Constant::MAXREAL,Constant::MAXREAL)), max(Vector3D(-Constant::MINREAL,-Constant::MINREAL,-Constant::MINREAL)), minimalMolecularDistances(false){} GenericTopology* GenericTopology::make(string& errMsg, const vector& values)const{ errMsg = ""; if(!checkParameters(errMsg,values)) return NULL; return adjustAlias(doMake(errMsg,values)); } } protomol/framework/topology/GenericTopology.h0100644027616700000500000001525110237151532021150 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef GENERICTOPOLOGY_H #define GENERICTOPOLOGY_H #include "Atom.h" #include "AtomType.h" #include "Angle.h" #include "Bond.h" #include "Torsion.h" #include "ExclusionTable.h" #include "ExclusionType.h" #include "LennardJonesParameterTable.h" #include "Vector3DBlock.h" #include "Makeable.h" #include "Molecule.h" #include "BankLennardJonesParameterTable.h" namespace ProtoMol { //_________________________________________________________________ GenericTopology /** * GenericTopology represents the topology of the system and contains all force * field parameters, which are needed to compute the interactions. * GenericTopology is the base class of SemiGenericTopology and Topology, * hiding all implementation details from the applications and integrators. * GenericTopology itself does not know how the measure distances and how to * implement the cell list algorithm. SemiGenericTopology is in charge of * implementing the boundary conditions and all other services related to * distances. Topology implements the cell algorithm, which relates to * boundary conditions. * Topology is the actual implementation used by forces, * since they are instantiated with the same template parameters they * can correctly access the needed services provided by Topology. Some forces will * get along with only accessing SemiGenericTopology or even GenericTopology. @n * * There are a couple of service depending on Topology, * which are passed through such one can access them, but one may consider * the price of calling virtual methods. @n * * The design was motived by these facts: * - we do not what to mess with templates at application and integrator level * - we do not what to pay for the cost of calling virtual methods in * the most inner loops, i.e., forces and potential evaluation * - measurement of distances must be non-virtual */ class GenericTopology : public Makeable{ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: GenericTopology(); GenericTopology(Real c, const ExclusionType& e); virtual ~GenericTopology(){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class GenericTopology //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// Actual volume of the simulation box or the particles virtual Real getVolume(const Vector3DBlock& positions) const=0; /// Volume by boundary conditions virtual Real getVolume() const=0; /// rescales the volume of the system cell/minimal image virtual void rescaleVolume(Real fac)=0; /// Tags the cell list as out of date virtual void uncacheCellList()=0; /// Sets default parameters basaed on particle positions for cell manager and bounary conditions virtual std::vector getDefaults(const Vector3DBlock& positions) const=0; /// computes the minimal bounding box of the positions taking into account of the boundary conditions virtual void getBoundingbox(const Vector3DBlock& positions, Vector3D& min, Vector3D& max) const=0; /// returns the bounding box of the boundary conditions virtual void getBoundaryConditionsBox(Vector3D& min, Vector3D& max) const=0; /// Perform a minimal-image subtraction. virtual Vector3D minimalDifference(const Vector3D &c1, const Vector3D &c2) const=0; /// Find the position in the basis/original cell/image. virtual Vector3D minimalPosition(const Vector3D &c) const=0; /** * checks whether the plain distances between all atoms on each molecule are * the same as with applying the boundary conditions. If true, there is no molecule, * which is wrapped around. */ virtual bool checkMoleculePairDistances(const Vector3DBlock& positions) const=0; /** * translates all positions of a each molecule such that the plain distances between them yields * and that the center of mass is inside the minimal image/basis cell. It may not work * for molecules which are bigger then half of the simulation cell. */ virtual void minimalImage(Vector3DBlock& positions)=0; virtual std::string print(const Vector3DBlock* positions=NULL) const=0; GenericTopology* make(std::string& errMsg, const std::vector& values)const; static const std::string& getKeyword(){return keyword;} private: virtual GenericTopology* doMake(std::string& errMsg, std::vector values)const=0; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class Makable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string getScope() const{return scope;} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: std::vector atoms; std::vector atomTypes; std::vector bonds; std::vector angles; std::vector dihedrals; std::vector impropers; std::vector molecules; /// look-up table of exclusions ExclusionTable exclusions; /// type of exclusion on intra-molecular interactions ExclusionType exclude; /// Lennard-Jones table for all atoms LennardJonesParameterTable lennardJonesParameters; /// coulomb scaling factor for modified 1-4 exclusions Real coulombScalingFactor; /// the actual time of the system, intended to by modified/incremented by an Observer (Modfier*) mutable Real time; mutable Vector3D min; mutable Vector3D max; static const std::string scope; static const std::string keyword; /// a bank of LennardJonesParameterTables needed only for iSGMD BankLennardJonesParameterTable isgLJParms; /// the # of molecules of each component std::vector iSGNumMols; /** * the number of degrees of freedom in the system * this number is needed to make sure we are properly computing the temperature * the number of degrees of freedom is = 3 * (# of atoms) - (# of constraints) */ int degreesOfFreedom; /// list of bond constraints (RATTLE/SHAKE) std::vector bondRattleShakeConstraints; /// if the distances on the same molecule are minimal regardless boundary conditions bool minimalMolecularDistances; }; //______________________________________________________________________ INLINES } #endif /* GENERICTOPOLOGY_H */ protomol/framework/topology/LennardJonesParameterTable.cpp0100644027616700000500000000212310237151532023557 0ustar pbrenne1dip#include "LennardJonesParameterTable.h" #include "Report.h" using namespace ProtoMol::Report; namespace ProtoMol { //________________________________________________________________ LennardJonesParameterTable LennardJonesParameterTable::LennardJonesParameterTable():myCurrentSize(0),myData(NULL){} LennardJonesParameterTable::~LennardJonesParameterTable(){ if(myData != NULL) delete [] myData; } void LennardJonesParameterTable::resize(int count) { if(count < 0) count = 0; if(count == myCurrentSize) return; if(myData != NULL) delete [] myData; myData = NULL; if(count > 0) myData = new LennardJonesParameters[count*count]; myCurrentSize=count; } void LennardJonesParameterTable::set(int type1, int type2, const LennardJonesParameters ¶ms) { if(type1<0||type2<0||type1>=myCurrentSize||type2>=myCurrentSize){ report << recoverable <<"[LennardJonesParameters::set] index of out range!"< using namespace ProtoMol::Report; using std::string; using std::vector; using std::sort; namespace ProtoMol { //_____________________________________________________________________ normVector3DOp static bool normVector3DOp (const Vector3D& v1, const Vector3D& v2){ return (v1.normSquared() < v2.normSquared()); } //_________________________________________________________________ PeriodicBoundaryConditions const string PeriodicBoundaryConditions::keyword("Periodic"); PeriodicBoundaryConditions::PeriodicBoundaryConditions():myE1(0,0,0),myE2(0,0,0),myE3(0,0,0), myE1r(0,0,0),myE2r(0,0,0),myE3r(0,0,0), myOrigin(0,0,0),myMin(0,0,0),myMax(0,0,0), myV(0),myOrthogonal(true){} PeriodicBoundaryConditions::PeriodicBoundaryConditions(const Vector3D &e1 ,const Vector3D &e2 , const Vector3D &e3 ,const Vector3D &origin){ set(e1,e2,e3,origin); } void PeriodicBoundaryConditions::set(const Vector3D &e1 ,const Vector3D &e2 , const Vector3D &e3 ,const Vector3D &origin){ myE1 = e1; myE2 = e2; myE3 = e3; myOrigin = origin; myV = fabs((e1.cross(e2)).dot(e3)); if (myV < Constant::EPSILON){ report << error <<"[PeriodicBoundaryConditions::set] No volume, aborting."<= Constant::REAL_INFINITY){ report << error <<"[PeriodicBoundaryConditions::set] Infinite volume, aborting."<(e1.x*0.5); myDY = power<2>(e2.y*0.5); myDZ = power<2>(e3.z*0.5); myD = std::min(myDX,std::min(myDY,myDZ)); myH = myMax - myMin; myH2 = myH*0.5; report << debug(2) << "[PeriodicBoundaryConditions] maximal safe distance="< PeriodicBoundaryConditions::buildLatticeVectors(Real cutoff) const{ vector lattice; if(myV >= Constant::REAL_INFINITY) return lattice; Vector3D a = myE1+myE2+myE3; Real lx = fabs(a.x); Real ly = fabs(a.y); Real lz = fabs(a.z); int boundK = (int)floor(cutoff/lx+1.0); int boundL = (int)floor(cutoff/ly+1.0); int boundM = (int)floor(cutoff/lz+1.0); for(int k = -boundK; k<= boundK; k++){ for(int l = -boundL; l<= boundL; l++){ for(int m = -boundM; m<= boundM; m++){ if(k != 0 || l != 0 || m!= 0){ Vector3D coord(myE1*k+myE2*l+myE3*m); if(coord.norm() <= 2*cutoff) lattice.push_back(coord); } } } } sort(lattice.begin(),lattice.end(),normVector3DOp); return lattice; } void PeriodicBoundaryConditions::getParameters(vector& parameters) const{ parameters.push_back(Parameter("cellBasisVector1",Value(myE1,ConstraintValueType::NotZero()))); parameters.push_back(Parameter("cellBasisVector2",Value(myE2,ConstraintValueType::NotZero()))); parameters.push_back(Parameter("cellBasisVector3",Value(myE3,ConstraintValueType::NotZero()))); parameters.push_back(Parameter("cellorigin",Value(myOrigin,Value::undefined))); } PeriodicBoundaryConditions PeriodicBoundaryConditions::make(string& errMsg, vector values){ Vector3D e1,e2,e3,o; values[0].get(e1); values[1].get(e2); values[2].get(e3); values[3].get(o); if(!values[0].valid() || !values[1].valid() || !values[2].valid() || !values[3].valid()){ errMsg += keyword +" boundary conditions not valid: "+values[0].getString()+","+values[1].getString()+","+values[2].getString()+","+values[3].getString()+"."; return PeriodicBoundaryConditions(); } return PeriodicBoundaryConditions(e1,e2,e3,o); } vector PeriodicBoundaryConditions::getDefaults(const Vector3DBlock& positions) const{ Vector3D a,b; Vector3D d(Constant::PERIODIC_BOUNDARY_TOLERANCE/2.0,Constant::PERIODIC_BOUNDARY_TOLERANCE/2.0,Constant::PERIODIC_BOUNDARY_TOLERANCE/2.0); positions.boundingbox(a,b); a -= d; b += d; Vector3D c(b-a); vector parameters; parameters.push_back(Parameter("cellBasisVector1",Value(Vector3D(c.x,0.0,0.0),ConstraintValueType::NotZero()))); parameters.push_back(Parameter("cellBasisVector2",Value(Vector3D(0.0,c.y,0.0),ConstraintValueType::NotZero()))); parameters.push_back(Parameter("cellBasisVector3",Value(Vector3D(0.0,0.0,c.z),ConstraintValueType::NotZero()))); parameters.push_back(Parameter("cellorigin",Value(Vector3D(a+c*0.5)))); return parameters; } } protomol/framework/topology/PeriodicBoundaryConditions.h0100644027616700000500000002004310237151532023326 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef PERODICBOUNDARYCONDITIONS_H #define PERODICBOUNDARYCONDITIONS_H #include #include "Parameter.h" #include "Vector3DBlock.h" namespace ProtoMol { //_________________________________________________________________ PeriodicBoundaryConditions /** * Implements periodic boundary conditions, defining how we measure distances * and accounting the wrapping-around effect. * The class use a couple of shorts cut's to avoid rint and to many div's and mul's. */ class PeriodicBoundaryConditions { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: PeriodicBoundaryConditions(); PeriodicBoundaryConditions(const Vector3D &e1 ,const Vector3D &e2 ,const Vector3D &e3 ,const Vector3D &origin); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class PeriodicBoundaryConditions //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// Set method for the dimensions of the (original) simulation box. void set(const Vector3D &e1 ,const Vector3D &e2 ,const Vector3D &e3 ,const Vector3D &origin); /// Perform a minimal-image subtraction. Vector3D minimalDifference(const Vector3D &c1, const Vector3D &c2) const{ Vector3D diff(c2); diff -= c1; if(myOrthogonal){ if(diff.normSquared() > myD){ // diff not small engouh, we do have to do more ... // ... may be it's just a single wrapping if(diff.x < -myH2.x) diff.x += myH.x; else if (diff.x > myH2.x) diff.x -= myH.x; if(diff.y < -myH2.y) diff.y += myH.y; else if (diff.y > myH2.y) diff.y -= myH.y; if(diff.z < -myH2.z) diff.z += myH.z; else if (diff.z > myH2.z) diff.z -= myH.z; if(diff.normSquared() > myD){ // ... distance was pretty big, hu? ... diff.x -= myE1.x*rint(myE1r.x*diff.x); diff.y -= myE2.y*rint(myE2r.y*diff.y); diff.z -= myE3.z*rint(myE3r.z*diff.z); } } } else { // ... really difficult! diff -= Vector3D(myE1*rint(myE1r.dot(diff))+ myE2*rint(myE2r.dot(diff))+ myE3*rint(myE3r.dot(diff))); } return diff; } // Perform a minimal-image subtraction and computes the squared distance Vector3D minimalDifference(const Vector3D &c1, const Vector3D &c2, Real& distSquared) const{ Vector3D diff(c2); diff -= c1; if(myOrthogonal){ distSquared = diff.normSquared(); if(distSquared > myD){ // diff not small engouh, we do have to do more ... // ... may be it's just a single wrapping if(diff.x < -myH2.x) diff.x += myH.x; else if (diff.x > myH2.x) diff.x -= myH.x; if(diff.y < -myH2.y) diff.y += myH.y; else if (diff.y > myH2.y) diff.y -= myH.y; if(diff.z < -myH2.z) diff.z += myH.z; else if (diff.z > myH2.z) diff.z -= myH.z; distSquared = diff.normSquared(); if(distSquared > myD){ // ... distance was pretty big, hu? ... diff.x -= myE1.x*rint(myE1r.x*diff.x); diff.y -= myE2.y*rint(myE2r.y*diff.y); diff.z -= myE3.z*rint(myE3r.z*diff.z); distSquared = diff.normSquared(); } } } else { // ... really difficult! diff -= Vector3D(myE1*rint(myE1r.dot(diff))+ myE2*rint(myE2r.dot(diff))+ myE3*rint(myE3r.dot(diff))); distSquared = diff.normSquared(); } return diff; } /// Find the position in the basis/original cell/image. Vector3D minimalPosition(const Vector3D &c) const{ Vector3D diff(c); diff -= myOrigin; if(myOrthogonal){ if(diff.normSquared() <= myD) // diff so small, we do not have to do more ... return diff; else{ // ... may be it's just a single wrapping if(diff.x < -myH2.x) diff.x += myH.x; else if (diff.x > myH2.x) diff.x -= myH.x; if(diff.y < -myH2.y) diff.y += myH.y; else if (diff.y > myH2.y) diff.y -= myH.y; if(diff.z < -myH2.z) diff.z += myH.z; else if (diff.z > myH2.z) diff.z -= myH.z; if(diff.normSquared() <= myD) return diff; else // ... distance was pretty big, hu? ... return Vector3D(diff - Vector3D(myE1.x*rint(myE1r.x*diff.x), myE2.y*rint(myE2r.y*diff.y), myE3.z*rint(myE3r.z*diff.z))); } } else { // ... really difficult! return Vector3D(diff - myE1*rint(myE1r.dot(diff)) - myE2*rint(myE2r.dot(diff)) - myE3*rint(myE3r.dot(diff))); } } /// Find the lattice vector difference between two positions Vector3D minimalTranslationDifference(const Vector3D & c1, const Vector3D &c2) const { Vector3D diff(c2-c1); if(myOrthogonal){ if(diff.normSquared() <= myD) // diff so small, we do not have to do more ... return Vector3D(0.0,0.0,0.0); else{ return Vector3D(myE1.x*rint(myE1r.x*diff.x), myE2.y*rint(myE2r.y*diff.y), myE3.z*rint(myE3r.z*diff.z)); } } else { // ... really difficult! return Vector3D(myE1*rint(myE1r.dot(diff)) + myE2*rint(myE2r.dot(diff)) + myE3*rint(myE3r.dot(diff))); } } /// Find the lattice translation relative to the original cell/image Vector3D minimalTranslationPosition(const Vector3D &c) const { Vector3D diff(c -myOrigin); if(myOrthogonal){ if(diff.normSquared() <= myD) // diff so small, we do not have to do more ... return Vector3D(0.0,0.0,0.0); else{ return Vector3D(myE1.x*rint(myE1r.x*diff.x), myE2.y*rint(myE2r.y*diff.y), myE3.z*rint(myE3r.z*diff.z)); } } else { // ... really difficult! return Vector3D(myE1*rint(myE1r.dot(diff)) + myE2*rint(myE2r.dot(diff)) + myE3*rint(myE3r.dot(diff))); } } /// basis/unit vector e1 const Vector3D& e1() const {return myE1;} /// basis/unit vector e2 const Vector3D& e2() const {return myE2;} /// basis/unit vector e3 const Vector3D& e3() const {return myE3;} /// inverse basis/unit vector e1 const Vector3D& e1r() const {return myE1r;} /// inverse basis/unit vector e2 const Vector3D& e2r() const {return myE2r;} /// inverse basis/unit vector e3 const Vector3D& e3r() const {return myE3r;} /// origin of the minimal image const Vector3D& origin() const {return myOrigin;} /// minimal corner of the bounding box of the minimal image/cell const Vector3D& getMin() const {return myMin;} /// maximal corner of the bounding box of the minimal image/cell const Vector3D& getMax() const {return myMax;} Real getVolume() const {return myV;}; bool isOrthogonal() const {return myOrthogonal;}; /// Boolean's defining boundary conditions enum {PERIODIC = 1, VACUUM = 0}; /// Builds the lattice vector for a given cutoff. (0,0,0) is not included. std::vector buildLatticeVectors(Real cutoff) const; /// Returns the keyword of the boundary conditions const std::string& getKeyword() const {return keyword;} void getParameters(std::vector& parameters) const; static PeriodicBoundaryConditions make(std::string& errMsg, std::vector values); static unsigned int getParameterSize() {return 4;} /// Returns possible default values for the parameters based on the positions std::vector getDefaults(const Vector3DBlock& positions) const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: Vector3D myE1; Vector3D myE2; Vector3D myE3; Vector3D myE1r; Vector3D myE2r; Vector3D myE3r; Vector3D myOrigin; Vector3D myMin; Vector3D myMax; Real myDX; Real myDY; Real myDZ; Real myD; ///< maximal distance between two positions where plain subtraction if safe Vector3D myH; Vector3D myH2; Real myV; bool myOrthogonal; }; //______________________________________________________________________ INLINES } #endif /* PERODICBOUNDARYCONDITIONS_H */ protomol/framework/topology/RangeSwitchingFunction.h0100644027616700000500000001043610237151532022461 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef RANGESWITCHINGFUNCTION_H #define RANGESWITCHINGFUNCTION_H #include #include "Parameter.h" #include "RangeSwitchingFunctionBase.h" namespace ProtoMol { //_________________________________________________________________ RangeSwitchingFunction /** * Defines a range of a given from a switching function. */ template class RangeSwitchingFunction : private RangeSwitchingFunctionBase { public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {USE=1}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: RangeSwitchingFunction():myR0(0.0),myR1(0.0){} RangeSwitchingFunction(const TOriginalSwitchingFunction sw, Real r0, Real r1):myOrigFunc(sw), myR0Squared(r0*r0), myR1Squared(r1*r1), myR0(r0), myR1(r1){} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class RangeSwitchingFunction //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// simple and fast test if we should apply the switching function bool roughTest(Real distSquared) const; Real cutoffSquared() const{return std::max(myR1Squared,myOrigFunc.cutoffSquared());} void operator()(Real &value, Real &derivOverD, Real distSquared) const; Matrix3by3 hessian(const Vector3D& rij, Real distSquared) const; static std::string getId() {return (keyword + TOriginalSwitchingFunction::getId());} void getParameters(std::vector& parameters) const; static unsigned int getParameterSize() {return 2+TOriginalSwitchingFunction::getParameterSize();} static RangeSwitchingFunction make(std::string& errMsg, std::vector values); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: TOriginalSwitchingFunction myOrigFunc; Real myR0Squared; Real myR1Squared; Real myR0; Real myR1; }; //______________________________________________________________________ INLINES template inline bool RangeSwitchingFunction::roughTest(Real distSquared) const { return ((distSquared >= myR0Squared && distSquared inline void RangeSwitchingFunction::operator()(Real &value, Real &derivOverD, Real distSquared) const { if(!roughTest(distSquared)){ value=0.0; derivOverD=0.0; return; } myOrigFunc(value,derivOverD,distSquared); } template inline Matrix3by3 RangeSwitchingFunction::hessian(const Vector3D& rij, Real distSquared) const { return myOrigFunc.hessian(rij,distSquared); } template void RangeSwitchingFunction::getParameters(std::vector& parameters) const{ parameters.push_back(Parameter("-r0",Value(myR0,ConstraintValueType::NotNegative()),Text("range swf from"))); parameters.push_back(Parameter("-r1",Value(myR1,ConstraintValueType::NotNegative()),Text("range swf to"))); myOrigFunc.getParameters(parameters); } template RangeSwitchingFunction RangeSwitchingFunction::make(std::string& errMsg,std::vector values) { Real r0,r1; values[0].get(r0); values[1].get(r1); if(!values[0].valid() || !values[0].valid() || r1 < 0.0 || r0 < 0.0 || r0 > r1){ errMsg += keyword +" switching function: 0 <= r0 (="+values[0].getString()+") <= r1 (="+values[1].getString()+")."; return RangeSwitchingFunction(); } return RangeSwitchingFunction(TOriginalSwitchingFunction::make(errMsg,std::vector(values.begin()+2,values.end())),r0,r1); } } #endif /* RANGESWITCHINGFUNCTION_H */ protomol/framework/topology/RangeSwitchingFunctionBase.cpp0100644027616700000500000000034210237151532023602 0ustar pbrenne1dip#include "RangeSwitchingFunctionBase.h" namespace ProtoMol { //_________________________________________________________________ RangeSwitchingFunctionBase const std::string RangeSwitchingFunctionBase::keyword("Range"); } protomol/framework/topology/RangeSwitchingFunctionBase.h0100644027616700000500000000055410237151532023254 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef RANGESWITCHINGFUNCTIONBASE_H #define RANGESWITCHINGFUNCTIONBASE_H #include namespace ProtoMol { //_________________________________________________________________ RangeSwitchingFunctionBase class RangeSwitchingFunctionBase { public: static const std::string keyword; }; } #endif /* RANGESWITCHINGFUNCTION_H */ protomol/framework/topology/SemiGenericTopology.h0100644027616700000500000001316710237151532021772 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef SEMIGENERICTOPOLOGY_H #define SEMIGENERICTOPOLOGY_H #include "GenericTopology.h" #include "topologyutilities.h" namespace ProtoMol { //_________________________________________________________________ SemiGenericTopology /** * Introducing a semi-generic topology for the forces which do not * depend on the cell manager */ template class SemiGenericTopology: public GenericTopology { public: typedef TBoundaryConditions BoundaryConditions; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: SemiGenericTopology():GenericTopology(){} SemiGenericTopology(Real csf, const ExclusionType& e, const TBoundaryConditions& b):GenericTopology(csf,e), boundaryConditions(b){} virtual ~SemiGenericTopology(){}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From class GenericTopology //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// Returns possible default values for the parameters based on the positions virtual std::vector getDefaults(const Vector3DBlock& positions) const{ return boundaryConditions.getDefaults(positions);} /// Perform a minimal-image subtraction. virtual Vector3D minimalDifference(const Vector3D &c1, const Vector3D &c2) const{ return boundaryConditions.minimalDifference(c1,c2); } /// Find the position in the basis/original cell/image. virtual Vector3D minimalPosition(const Vector3D &c) const{ return Vector3D(boundaryConditions.minimalPosition(c)); } virtual Real getVolume() const{ return boundaryConditions.getVolume(); } virtual Real getVolume(const Vector3DBlock& positions) const{ Real v = boundaryConditions.getVolume(); if(v >= Constant::MAXREAL){ Vector3D a,b; positions.boundingbox(a,b); v = (b.x-a.x)*(b.y-a.y)*(b.z-a.z); } return v; } /// rescales the volume of the system cell/minimal image virtual void rescaleVolume(Real fac){ Real f = pow(fac,1.0/3.0); boundaryConditions.set(boundaryConditions.e1()*f, boundaryConditions.e2()*f, boundaryConditions.e3()*f, boundaryConditions.origin()); } /// computes the minimal bounding box of the positions taking into account of the boundary conditions virtual void getBoundingbox(const Vector3DBlock& positions, Vector3D& minbb, Vector3D& maxbb) const{ if(positions.size() <= 0){ minbb = Vector3D(Constant::MAXREAL,Constant::MAXREAL,Constant::MAXREAL); maxbb = Vector3D(-Constant::MAXREAL,-Constant::MAXREAL,-Constant::MAXREAL); return; } Vector3D origin(boundaryConditions.origin()); minbb = boundaryConditions.minimalPosition(positions[0])+origin; maxbb = minbb; const unsigned int count = positions.size(); for(unsigned int i=1;i maxbb.x) maxbb.x = pos.x; if(pos.y < minbb.y) minbb.y = pos.y; else if(pos.y > maxbb.y) maxbb.y = pos.y; if(pos.z < minbb.z) minbb.z = pos.z; else if(pos.z > maxbb.z) maxbb.z = pos.z; } } /// returns the bounding box of the boundary conditions virtual void getBoundaryConditionsBox(Vector3D& minbb, Vector3D& maxbb) const{ minbb = boundaryConditions.getMin(); maxbb = boundaryConditions.getMax(); } /** * checks whether the plain distances between all atoms on each molecule are * the same as with applying the boundary conditions. If true, there is no molecule, * which is wrapped around. */ virtual bool checkMoleculePairDistances(const Vector3DBlock& positions) const{ for(unsigned int i=0;imolecules.size();++i){ for(unsigned int j=0;jmolecules[i].pairs.size();++j){ Vector3D c1(positions[this->molecules[i].pairs[j].first]); Vector3D c2(positions[this->molecules[i].pairs[j].second]); if(boundaryConditions.minimalTranslationDifference(c1,c2).normSquared() > Constant::EPSILON){ return false; } } } return true; } /** * translates all positions of a each molecule such that the plain distances between them yields * and that the center of mass is inside the minimal image/basis cell. It may not work * for molecules which are bigger then half of the simulation cell. */ virtual void minimalImage(Vector3DBlock& positions){ for(unsigned int i=0;imolecules.size();++i){ for(unsigned int j=0;jmolecules[i].pairs.size();++j){ Vector3D c1(positions[this->molecules[i].pairs[j].first]); Vector3D c2(positions[this->molecules[i].pairs[j].second]); Vector3D d(boundaryConditions.minimalTranslationDifference(c1,c2)); if(d.normSquared() > Constant::EPSILON) positions[this->molecules[i].pairs[j].second] -= d; } Vector3D center(molecularCenterOfMass(this->molecules[i].atoms,&positions,this)); Vector3D d(boundaryConditions.minimalTranslationPosition(center)); if(d.normSquared() > Constant::EPSILON){ center -= d; for(unsigned int j=0;jmolecules[i].atoms.size();++j) positions[this->molecules[i].atoms[j]] -= d; } this->molecules[i].position = center; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: BoundaryConditions boundaryConditions; }; } #endif /* SEMIGENERICTOPOLOGY_H */ protomol/framework/topology/ShiftSwitchingFunction.cpp0100644027616700000500000000160610237151532023034 0ustar pbrenne1dip#include "ShiftSwitchingFunction.h" using std::string; using std::vector; namespace ProtoMol { //_________________________________________________________________ ShiftSwitchingFunction ShiftSwitchingFunction::ShiftSwitchingFunction():myCutoff(0.0), myCutoff2(0.0), myCutoff_2(0.0), my4Cutoff_2(0.0){} ShiftSwitchingFunction::ShiftSwitchingFunction(Real cutoff):myCutoff(cutoff), myCutoff2(cutoff*cutoff), myCutoff_2(1.0/(cutoff*cutoff)), my4Cutoff_2(-4.0/(cutoff*cutoff)){} void ShiftSwitchingFunction::getParameters(vector& parameters) const{ parameters.push_back(Parameter("-cutoff",Value(myCutoff,ConstraintValueType::Positive()),Text("shift swf cutoff"))); } ShiftSwitchingFunction ShiftSwitchingFunction::make(string& , vector values) { return ShiftSwitchingFunction(values[0]); } } protomol/framework/topology/ShiftSwitchingFunction.h0100644027616700000500000000436310237151532022504 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef SHIFTSWITCHINGFUNCTION_H #define SHIFTSWITCHINGFUNCTION_H #include #include "Parameter.h" #include "ShiftSwitchingFunctionBase.h" namespace ProtoMol { //_________________________________________________________________ ShiftSwitchingFunction /** * Shift switching function, moving the potential up or down such that * potential is 0 for the value cutoff. */ class ShiftSwitchingFunction : private ShiftSwitchingFunctionBase { public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {USE=1}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: ShiftSwitchingFunction(); ShiftSwitchingFunction(Real cutoff); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class ShiftSwitchingFunction //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// simple and fast test if we should apply the switching function bool roughTest(Real distSquared) const{return (distSquared <= myCutoff2);} Real cutoffSquared() const{return myCutoff2;} void operator()(Real &value, Real &derivOverD, Real distSquared) const{ if (distSquared > myCutoff2) { value=0.0; derivOverD=0.0; return; } Real x = (1.0 - distSquared*myCutoff_2); value=x*x; derivOverD=my4Cutoff_2*x; } static const std::string& getId() {return keyword;} void getParameters(std::vector& parameters) const; static unsigned int getParameterSize() {return 1;} static ShiftSwitchingFunction make(std::string& errMsg,std::vector values); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private: Real myCutoff; Real myCutoff2; Real myCutoff_2; Real my4Cutoff_2; }; //______________________________________________________________________ INLINES } #endif /* SHIFTSWITCHINGFUNCTION_H */ protomol/framework/topology/ShiftSwitchingFunctionBase.cpp0100644027616700000500000000034410237151532023625 0ustar pbrenne1dip#include "ShiftSwitchingFunctionBase.h" namespace ProtoMol { //_________________________________________________________________ ShiftSwitchingFunctionBase const std::string ShiftSwitchingFunctionBase::keyword("Shift"); } protomol/framework/topology/ShiftSwitchingFunctionBase.h0100644027616700000500000000055510237151532023276 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef SHIFTSWITCHINGFUNCTIONBASE_H #define SHIFTSWITCHINGFUNCTIONBASE_H #include namespace ProtoMol { //_________________________________________________________________ ShiftSwitchingFunctionBase class ShiftSwitchingFunctionBase { public: static const std::string keyword; }; } #endif /* SHIFTSWITCHINGFUNCTIONBASE_H */ protomol/framework/topology/Topology.h0100644027616700000500000001672510237151532017662 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef TOPOLOGY_H #define TOPOLOGY_H #include "SemiGenericTopology.h" #include "CellListEnumerator.h" #include "buildCellLists.h" #include "stringutilities.h" #include "pmconstants.h" namespace ProtoMol { //_________________________________________________________________ Topology /** * Implementation of the topology of a systems with a given boundary conditions * and cell manager. */ template class Topology: public SemiGenericTopology { public: typedef CellListEnumerator Enumerator; typedef TCellManager CellManager; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Topology():SemiGenericTopology(){} Topology(Real csf, const ExclusionType& e, const TBoundaryConditions& b, const TCellManager& c):SemiGenericTopology(csf,e,b), cellManager(c){} virtual ~Topology(){}; /// marks the the cell list as not valid any more. virtual void uncacheCellList(){cellLists.uncache();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class Topology //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// invokces an update of the cell list, if necessary void updateCellLists(const Vector3DBlock* positions) const{ if(!cellLists.valid){ if(this->boundaryConditions.PERIODIC){ this->min = this->boundaryConditions.getMin(); this->max = this->boundaryConditions.getMax(); } else{ positions->boundingbox(this->min,this->max); } buildCellLists(this,positions); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From Makeable //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual void getParameters(std::vector& parameters) const{ parameters.push_back(Parameter("coulombScalingFactor",Value(this->coulombScalingFactor),1.0)); parameters.push_back(Parameter("exclude", Value(this->exclude.getString(),ConstraintValueType::NotEmpty()), Text(std::string("exclusion scheme (")+ExclusionType::getPossibleValues()+std::string(")")))); this->boundaryConditions.getParameters(parameters); this->cellManager.getParameters(parameters); } virtual unsigned int getParameterSize() const{ return (this->boundaryConditions.getParameterSize()+this->cellManager.getParameterSize()+2); } virtual std::string getIdNoAlias() const {return std::string(TBoundaryConditions::keyword+TCellManager::keyword);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // From Topology //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: virtual std::string print(const Vector3DBlock* positions=NULL) const{ unsigned int count = 0; unsigned int countMult = 0; unsigned int countH20 = 0; for(unsigned int i=0;imolecules.size();++i){ count += this->molecules[i].pairs.size(); countH20 += (this->molecules[i].water?1:0); } for(unsigned int i=0;idihedrals.size();++i){ countMult += this->dihedrals[i].multiplicity; } std::string res; res += "Atoms : "+toString(this->atoms.size())+"\n"+ "AtomTypes : "+toString(this->atomTypes.size())+"\n"+ "Bonds : "+toString(this->bonds.size())+"\n"+ "Angles : "+toString(this->angles.size())+"\n"+ "Dihedrals : "+toString(this->dihedrals.size())+" ("+toString(countMult)+")\n"+ "Impropers : "+toString(this->impropers.size())+"\n"+ "Molecules : "+toString(this->molecules.size())+"\n"+ "Water : "+toString(countH20)+"\n"+ "Pairs : "+toString(count)+"\n"+ "Degree of freedom : "+toString(this->degreesOfFreedom)+"\n"; if(positions != NULL) res += "Molecule pair dist's : "+toString(this->checkMoleculePairDistances(*positions))+"\n"; else res += "Molecule pair dist's : "+toString(this->minimalMolecularDistances)+"\n"; res += "Exclusion pairs : "+toString(this->exclusions.getTable().size())+"\n"+ "Time : "+toString(this->time)+"\n"+ "CellManager : "+TCellManager::keyword+"\n"+ "BoundaryConditions : "+TBoundaryConditions::keyword+(this->boundaryConditions.isOrthogonal()?" orthogonal":"")+"\n"; std::vector parameters; this->getParameters(parameters); for(unsigned int i=0;igetVolume(*positions); if(v > Constant::EPSILON){ res += "Atom density : "+toString(this->atoms.size()/v)+"\n"; res += "Atom/cell : "+toString(this->atoms.size()*this->cellManager.getCellVolume()/v)+"\n"; res += "Real cell size : ("+toString(this->cellManager.getRealCellSize().x)+","+toString(this->cellManager.getRealCellSize().y)+","+toString(this->cellManager.getRealCellSize().z)+")\n"; res += "Cell dimension : ("+toString(this->cellLists.getDimX())+","+toString(this->cellLists.getDimY())+","+toString(this->cellLists.getDimZ())+")\n"; } } Vector3D a,b; this->getBoundaryConditionsBox(a,b); res += "Simulation box : ("+toString(a.x)+","+toString(a.y)+","+toString(a.z)+")-"+ "("+toString(b.x)+","+toString(b.y)+","+toString(b.z)+") "+ "("+toString(b.x-a.x)+","+toString(b.y-a.y)+","+toString(b.z-a.z)+")"; if(positions != NULL){ this->getBoundingbox(*positions,a,b); res += "\nParticle : ("+toString(a.x)+","+toString(a.y)+","+toString(a.z)+")-"+ "("+toString(b.x)+","+toString(b.y)+","+toString(b.z)+") "+ "("+toString(b.x-a.x)+","+toString(b.y-a.y)+","+toString(b.z-a.z)+")"; positions->boundingbox(a,b); res += "\nParticle extended : ("+toString(a.x)+","+toString(a.y)+","+toString(a.z)+")-"+ "("+toString(b.x)+","+toString(b.y)+","+toString(b.z)+") "+ "("+toString(b.x-a.x)+","+toString(b.y-a.y)+","+toString(b.z-a.z)+")"; } return res; } private: virtual GenericTopology* doMake(std::string& errMsg, std::vector values)const{ Real csf; if(!values[0].get(csf)) errMsg += " coulombScalingFactor \'"+values[0].getString()+"\' not valid."; ExclusionType e(values[1].getString()); if(!e.valid()) errMsg += " Exclusion \'"+values[1].getString()+"\' not recognized, possible values are: "+ExclusionType::getPossibleValues(",")+"."; if(!errMsg.empty()) return NULL; unsigned int n = TBoundaryConditions::getParameterSize(); return new Topology(csf, e, TBoundaryConditions::make(errMsg, std::vector(values.begin()+2,values.begin()+n+2)), TCellManager::make(errMsg, std::vector(values.begin()+n+2,values.end()))); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: CellManager cellManager; mutable typename CellManager::CellListStructure cellLists; }; } #endif /* TOPOLOGY_H */ protomol/framework/topology/Torsion.h0100644027616700000500000000407110237151532017472 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef TORSION_H #define TORSION_H #include #include "Real.h" namespace ProtoMol { //_________________________________________________________________ Torsion /** * This class contains the information for one dihedral or improper. * Interactions with multiple force terms should be written multiple * times, one for each term. */ class Torsion { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: Torsion():atom1(-1), atom2(-1), atom3(-1), atom4(-1) { forceConstant.clear(); phaseShift.clear(); periodicity.clear(); DeltaK.clear(); DeltaPhase.clear(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: int atom1; ///< The first atom in this interaction. int atom2; ///< The second atom in this interaction. int atom3; ///< The third atom in this interaction. int atom4; ///< The fourth atom in this interaction. int multiplicity; ///< The number of terms describing the potential energy of this torsion. std::vector< Real > forceConstant; ///< The force constant ($k$ value) for this interaction. std::vector< Real > phaseShift; ///< The phase shift ($\delta$ value) for this interaction, in radians. std::vector< int > periodicity; ///< The periodicity ($n$ value) for this interaction. int iSGmodifierIndex; ///< The index # of this torsion type in the ModifierISG angle structure. /** * difference in spring constant and rest angle for two different * torsion identities. This is needed to compute the chemical potential (or free energy) * difference between the identities. */ std::vector< Real > DeltaK, DeltaPhase; }; } #endif /* TORSION_H */ protomol/framework/topology/UniversalSwitchingFunction.h0100644027616700000500000000366310237151532023401 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef UNIVERSALSWITCHINGFUNCTION_H #define UNIVERSALSWITCHINGFUNCTION_H #include #include "Parameter.h" #include "UniversalSwitchingFunctionBase.h" #include "pmconstants.h" namespace ProtoMol { //_________________________________________________________________ UniversalSwitchingFunction /** * Switching function that always returns 1 and 0 for the derivative, acts * as a placeholder. Is intend to be use when non modification and / or truncation * of the potential is required. Defines USE = 0. */ class UniversalSwitchingFunction : private UniversalSwitchingFunctionBase { public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Types and Enums //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enum {USE=0}; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructors, destructors, assignment //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // New methods of class UniversalSwitchingFunction //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: /// simple and fast test if we should apply the switching function bool roughTest(Real /*distSquared*/) const {return true;}; Real cutoffSquared() const{return Constant::MAXREAL;} void operator()(Real &value, Real &deriv, Real /*distSquared*/) const{ value=1.0; deriv=0.0;} static const std::string& getId() {return keyword;} void getParameters(std::vector&) const{}; static unsigned int getParameterSize() {return 0;} static UniversalSwitchingFunction make(std::string&, std::vector) { return UniversalSwitchingFunction(); } }; } //______________________________________________________________________ INLINES #endif /* UNIVERSALSWITCHINGFUNCTION_H */ protomol/framework/topology/UniversalSwitchingFunctionBase.cpp0100644027616700000500000000036210237151532024520 0ustar pbrenne1dip#include "UniversalSwitchingFunctionBase.h" namespace ProtoMol { //_________________________________________________________________ UniversalSwitchingFunctionBase const std::string UniversalSwitchingFunctionBase::keyword("Universal"); } protomol/framework/topology/UniversalSwitchingFunctionBase.h0100644027616700000500000000066610237151532024174 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef UNIVERSALSWITCHINGFUNCTIONBASE_H #define UNIVERSALSWITCHINGFUNCTIONBASE_H #include namespace ProtoMol { //_________________________________________________________________ UniversalSwitchingFunctionBase class UniversalSwitchingFunctionBase { public: virtual ~UniversalSwitchingFunctionBase(){} static const std::string keyword; }; } #endif /* COMPLEMENTSWITCHINGFUNCTIONBASE_H */ protomol/framework/topology/VacuumBoundaryConditions.cpp0100644027616700000500000000267410237151532023375 0ustar pbrenne1dip#include "VacuumBoundaryConditions.h" using std::string; using std::vector; namespace ProtoMol { //_________________________________________________________________ VacuumBoundaryConditions const string VacuumBoundaryConditions::keyword("Vacuum"); Vector3D VacuumBoundaryConditions::getMin() const { return Vector3D(-1.0*Constant::REAL_INFINITY,-1.0*Constant::REAL_INFINITY,-1.0*Constant::REAL_INFINITY); } Vector3D VacuumBoundaryConditions::getMax() const { return Vector3D( Constant::REAL_INFINITY, Constant::REAL_INFINITY, Constant::REAL_INFINITY); } Real VacuumBoundaryConditions::getVolume() const { return Constant::REAL_INFINITY; } Vector3D VacuumBoundaryConditions::e1() const {return Vector3D(0,0,0);} Vector3D VacuumBoundaryConditions::e2() const {return Vector3D(0,0,0);} Vector3D VacuumBoundaryConditions::e3() const {return Vector3D(0,0,0);} Vector3D VacuumBoundaryConditions::e1r() const {return Vector3D(0,0,0);} Vector3D VacuumBoundaryConditions::e2r() const {return Vector3D(0,0,0);} Vector3D VacuumBoundaryConditions::e3r() const {return Vector3D(0,0,0);} Vector3D VacuumBoundaryConditions::origin() const {return Vector3D(0,0,0);} vector VacuumBoundaryConditions::buildLatticeVectors(Real) const{ return vector(); } VacuumBoundaryConditions VacuumBoundaryConditions::make(string& , vector) { return VacuumBoundaryConditions(); } } protomol/framework/topology/VacuumBoundaryConditions.h0100644027616700000500000000635510237151532023042 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef VACUUMBOUNDARYCONDITIONS_H #define VACUUMBOUNDARYCONDITIONS_H #include "Parameter.h" #include "Vector3DBlock.h" #include namespace ProtoMol { //_________________________________________________________________ VacuumBoundaryConditions /** * These are the vacuum (non-periodic or normal/standard) boundary conditions. */ class VacuumBoundaryConditions { public: /// Set method for the dimensions of the (original) simulation box. void set(const Vector3D &,const Vector3D &,const Vector3D &,const Vector3D &) const{}; /// Perform a minimal-image subtraction. Vector3D minimalDifference(const Vector3D &c1, const Vector3D &c2) const {Vector3D diff(c2); diff -= c1; return diff; } // Perform a minimal-image subtraction and computes the squared distance Vector3D minimalDifference(const Vector3D &c1, const Vector3D &c2, Real& distSquared) const{Vector3D diff(c2); diff -= c1;distSquared = diff.normSquared(); return diff;} /// Find the position in the basis/original cell/image. Vector3D minimalPosition(const Vector3D &c) const {return c;} /// Find the lattice vector difference between two positions Vector3D minimalTranslationDifference(const Vector3D &, const Vector3D &) const {return Vector3D(0.0,0.0,0.0); } /// Find the lattice translation relative to the original cell/image Vector3D minimalTranslationPosition(const Vector3D &) const {return Vector3D(0.0,0.0,0.0); } /// basis/unit vector e1 Vector3D e1() const; /// basis/unit vector e2 Vector3D e2() const; /// basis/unit vector e3 Vector3D e3() const; /// inverse basis/unit vector e1 Vector3D e1r() const; /// inverse basis/unit vector e2 Vector3D e2r() const; /// inverse basis/unit vector e3 Vector3D e3r() const; /// origin of the minimal image Vector3D origin() const; /// minimal corner of the bounding box of the minimal image/cell Vector3D getMin() const; /// maximal corner of the bounding box of the minimal image/cell Vector3D getMax() const; Real getVolume() const; bool isOrthogonal() const {return true;}; /// Boolean's defining boundary conditions enum {PERIODIC = 0, VACUUM = 1}; /** * Builds the lattice vector for a given cutoff. Since vacuum boundary conditions have * no replications and (0,0,0) always is excluded, there is no need for any lattice vectors. */ std::vector buildLatticeVectors(Real cutoff) const; const std::string& getKeyword() const {return keyword;} void getParameters(std::vector&) const{}; static VacuumBoundaryConditions make(std::string& errMsg, std::vector values); static unsigned int getParameterSize() {return 0;} std::vector getDefaults(const Vector3DBlock&) const{ return std::vector();} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // My data members //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public: static const std::string keyword; private: }; //______________________________________________________________________ INLINES } #endif /* VACUUMBOUNDARYCONDITIONS_H */ protomol/framework/topology/buildCellLists.cpp0100644027616700000500000000500210237151532021301 0ustar pbrenne1dip#include "buildCellLists.h" #include "Topology.h" #include "CubicCellManager.h" #include "PeriodicBoundaryConditions.h" #include "VacuumBoundaryConditions.h" #include "simpleTypes.h" namespace ProtoMol { //_________________________________________________________________ buildCellLists void buildCellLists(const Topology* topo, const Vector3DBlock* positions){ topo->cellManager.initialize(topo->cellLists,topo->min,topo->max,true); Vector3D delta(topo->boundaryConditions.origin()-topo->min); CubicCellManager::Cell myCell; CubicCellManager::CellListStructure::iterator myCellList; CubicCellManager::CellListStructure::iterator end = topo->cellLists.end(); for (int i=(int)topo->atoms.size()-1; i>=0; i--) { myCell=topo->cellManager.findCell(delta+ topo->boundaryConditions.minimalPosition((*positions)[i])); //Report::report << myCell.x<<","<cellLists.find(myCell); if (myCellList == end) { // This atom is the first on its cell list, so make a new list for it. topo->atoms[i].cellListNext=-1; topo->cellLists[myCell]=i; } else { topo->atoms[i].cellListNext=myCellList->second; myCellList->second=i; } } topo->cellManager.updateCache(topo->cellLists); } //_________________________________________________________________ buildCellLists void buildCellLists(const Topology* topo, const Vector3DBlock* positions){ topo->cellManager.initialize(topo->cellLists,topo->min,topo->max,false); Vector3D delta(topo->boundaryConditions.origin()-topo->min); CubicCellManager::Cell myCell; CubicCellManager::CellListStructure::iterator myCellList; CubicCellManager::CellListStructure::iterator end = topo->cellLists.end(); for (int i=(int)topo->atoms.size()-1; i>=0; i--) { myCell=topo->cellManager.findCell(delta+ topo->boundaryConditions.minimalPosition((*positions)[i])); myCellList=topo->cellLists.find(myCell); if (myCellList == end) { // This atom is the first on its cell list, so make a new list for it. topo->atoms[i].cellListNext=-1; topo->cellLists[myCell]=i; } else { topo->atoms[i].cellListNext=myCellList->second; myCellList->second=i; } } topo->cellManager.updateCache(topo->cellLists); } } protomol/framework/topology/buildCellLists.h0100644027616700000500000000124110237151532020747 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef BUILDCELLLIST_H #define BUILDCELLLIST_H namespace ProtoMol { class PeriodicBoundaryConditions; class VacuumBoundaryConditions; class CubicCellManager; class Vector3DBlock; template class Topology; /// builds the cell list for periodic boundary conditions void buildCellLists(const Topology* topo, const Vector3DBlock* positions); /// build the cell list for vacuum void buildCellLists(const Topology* topo, const Vector3DBlock* positions); } #endif /* BUILDCELLLIST_H */ protomol/framework/topology/topologyutilities.cpp0100644027616700000500000011332510237151532022203 0ustar pbrenne1dip#include "topologyutilities.h" #include "Vector3DBlock.h" #include "GenericTopology.h" #include "Report.h" #include "Topology.h" #include "mathutilities.h" #include "pmconstants.h" #include "stringutilities.h" #include "ScalarStructure.h" #include #include #include using namespace ProtoMol::Report; using std::string; using std::vector; using std::set; namespace ProtoMol { //________________________________________________________________randomVelocity void randomVelocity(Real temperature, const GenericTopology* topology, Vector3DBlock* velocities, unsigned int seed){ // Argument tests if (temperature < 0){ report << error << "[randomVelocity] : " << "Kelvin temperature cannot be negative. " << "Aborting ...."<atoms.size(); // Make sure that the velocitie array has the right size ... velocities->resize(nAtoms); // Assign the random velocity to each atom for (unsigned int i = 0; i < nAtoms; i++){ Real kbToverM = sqrt(kbT/topology->atoms[i].scaledMass); // Generates a random number between -6.0 and 6.0 (*velocities)[i].x = kbToverM * randomGaussian(6.0, seed); (*velocities)[i].y = kbToverM * randomGaussian(6.0, seed); (*velocities)[i].z = kbToverM * randomGaussian(6.0, seed); } } //________________________________________________________________randomVelocity void randomVelocity(Real temperatureFrom, Real temperatureTo, const GenericTopology* topology, Vector3DBlock* velocities, unsigned int seed){ // Make sure temperatureFrom <= temperatureTo if(temperatureFrom > temperatureTo) std::swap(temperatureFrom,temperatureTo); // Argument tests if (temperatureFrom < 0){ report << error << "[randomVelocity] : " << "Kelvin temperature cannot be negative. " << "Aborting ...."< 0.0){ report << error << "[randomVelocity] : " << "Actual temperature zero, can not rescale. " << "Aborting ...."< temperatureTo){ Real target = temperatureFrom + (temperatureTo-temperatureFrom) * randomNumber(); Real scale = sqrt( target / actual); const unsigned int nAtoms = topology->atoms.size(); for (unsigned int i = 0; i < nAtoms; i++){ (*velocities)[i] *= scale; } } } //___________________________________________________________temperature Real temperature(const GenericTopology* topology, const Vector3DBlock* velocities){ return temperature(kineticEnergy(topology,velocities),topology->degreesOfFreedom); } //___________________________________________________________temperature Real temperature(Real kineticEnergy, unsigned int degreesOfFreedom){ return (2.0 * kineticEnergy / (Constant::BOLTZMANN * degreesOfFreedom)); } //___________________________________________________________temperatureForAtomType Real temperatureForAtomType(const GenericTopology* topology, const Vector3DBlock* velocities, int atomType, waterOption option) { // The number of atoms int count; // The total KE Real KE = kineticEnergyForAtomType(topology,velocities,atomType,option,count); return temperature(KE,3*count); } //___________________________________________________________temperatureForWater Real temperatureForWater(const GenericTopology* topology, const Vector3DBlock* velocities) { // The number of waters int count; // The total water KE Real KE = kineticEnergyForWater(topology,velocities,count); return temperature(KE,3*count); } //___________________________________________________________temperatureForNonWater Real temperatureForNonWater(const GenericTopology* topology, const Vector3DBlock* velocities) { // The number of non-water molecules int count; // The total non-water KE Real KE = kineticEnergyForNonWater(topology,velocities,count); return temperature(KE,3*count); } //___________________________________________________________kineticEnergy Real kineticEnergy(const GenericTopology* topology, const Vector3DBlock* velocities){ Real kineticEnergy = 0.0; for (unsigned int i = 0; i < topology->atoms.size(); i++) { kineticEnergy += topology->atoms[i].scaledMass *((*velocities)[i]).normSquared(); } return (kineticEnergy * 0.5); } //___________________________________________________________kineticEnergyForAtomType Real kineticEnergyForAtomType(const GenericTopology* topology, const Vector3DBlock* velocities, int atomType, waterOption option){ Real kineticEnergy = 0.0; for (unsigned int i = 0; i < topology->atoms.size(); i++) { if (topology->atoms[i].type == atomType) { bool good = false; if ((option == IGNORE_WATER) && (topology->molecules[topology->atoms[i].molecule].water == false)) { good = true; } else if ((option == ONLY_WATER) && (topology->molecules[topology->atoms[i].molecule].water == true)) { good = true; } else if (option == ALL) { good = true; } if (good == true) { kineticEnergy += topology->atoms[i].scaledMass *((*velocities)[i]).normSquared(); } } } return (kineticEnergy * 0.5); } Real kineticEnergyForAtomType(const GenericTopology* topology, const Vector3DBlock* velocities, int atomType, waterOption option, int & atomCount){ Real kineticEnergy = 0.0; atomCount = 0; for (unsigned int i = 0; i < topology->atoms.size(); i++) { if (topology->atoms[i].type == atomType) { bool good = false; if ((option == IGNORE_WATER) && (topology->molecules[topology->atoms[i].molecule].water == false)) { good = true; } else if ((option == ONLY_WATER) && (topology->molecules[topology->atoms[i].molecule].water == true)) { good = true; } else if (option == ALL) { good = true; } if (good == true) { atomCount++; kineticEnergy += topology->atoms[i].scaledMass *((*velocities)[i]).normSquared(); } } } return (kineticEnergy * 0.5); } //___________________________________________________________kineticEnergyForWater Real kineticEnergyForWater(const GenericTopology* topology, const Vector3DBlock* velocities) { Real kineticEnergy = 0.0; for (unsigned int i = 0; i < topology->atoms.size(); i++) { if (topology->molecules[topology->atoms[i].molecule].water == true) { kineticEnergy += topology->atoms[i].scaledMass *((*velocities)[i]).normSquared(); } } return (kineticEnergy * 0.5); } Real kineticEnergyForWater(const GenericTopology* topology, const Vector3DBlock* velocities, int & waterCount) { Real kineticEnergy = 0.0; waterCount = 0; for (unsigned int i = 0; i < topology->atoms.size(); i++) { if (topology->molecules[topology->atoms[i].molecule].water == true) { waterCount++; kineticEnergy += topology->atoms[i].scaledMass *((*velocities)[i]).normSquared(); } } return (kineticEnergy * 0.5); } //___________________________________________________________kineticEnergyForNonWater Real kineticEnergyForNonWater(const GenericTopology* topology, const Vector3DBlock* velocities) { Real kineticEnergy = 0.0; for (unsigned int i = 0; i < topology->atoms.size(); i++) { if (topology->molecules[topology->atoms[i].molecule].water == false) { kineticEnergy += topology->atoms[i].scaledMass *((*velocities)[i]).normSquared(); } } return (kineticEnergy * 0.5); } Real kineticEnergyForNonWater(const GenericTopology* topology, const Vector3DBlock* velocities, int & nonWaterCount) { Real kineticEnergy = 0.0; nonWaterCount = 0; for (unsigned int i = 0; i < topology->atoms.size(); i++) { if (topology->molecules[topology->atoms[i].molecule].water == false) { nonWaterCount++; kineticEnergy += topology->atoms[i].scaledMass *((*velocities)[i]).normSquared(); } } return (kineticEnergy * 0.5); } //___________________________________________________________molecularKineticEnergy Real molecularKineticEnergy(const GenericTopology* topology, const Vector3DBlock* velocities){ Real kineticEnergy = 0.0; for (unsigned int i = 0; i < topology->molecules.size(); i++) { // compute the COM momentum Vector3D tempMolMom = molecularMomentum(topology->molecules[i].atoms , velocities, topology); // compute twice the kinetic energy kineticEnergy += tempMolMom.dot( tempMolMom ) / topology->molecules[i].mass; } // multiply by 1/2 to get the kinetic energy return (kineticEnergy * 0.5); } //___________________________________________________________velocityVirial ScalarStructure velocityVirial(const GenericTopology* topology, const Vector3DBlock* velocities){ ScalarStructure res; res.clear(); addVelocityVirial(&res,topology,velocities); return res; } //___________________________________________________________addVelocityVirial void addVelocityVirial(ScalarStructure* energies, const GenericTopology* topology, const Vector3DBlock* velocities){ for (unsigned int i = 0; i < topology->atoms.size(); i++) energies->addVirial((*velocities)[i],(*velocities)[i] * topology->atoms[i].scaledMass); } //___________________________________________________________atomTypeToSymbolName string atomTypeToSymbolName(const string& type) { if (equalBeginNocase(type, "SOD")) return string("NA"); else if (equalBeginNocase(type, "POT")) return string("K"); else if (equalBeginNocase(type, "CLA")) return string("CL"); else if (equalBeginNocase(type, "CAL")) return string("CA"); else if (equalBeginNocase(type, "CES")) return string("CS"); else if (equalBeginNocase(type, "FE")) return string("FE"); else if (equalBeginNocase(type, "HE")) return string("HE"); else if (equalBeginNocase(type, "NE")) return string("NE"); else if (equalBeginNocase(type, "H")) return string("H"); else if (equalBeginNocase(type, "C")) return string("C"); else if (equalBeginNocase(type, "O")) return string("O"); else if (equalBeginNocase(type, "F")) return string("F"); else if (equalBeginNocase(type, "N")) return string("N"); else if (equalBeginNocase(type, "P")) return string("P"); else if (equalBeginNocase(type, "S")) return string("S"); else if (equalBeginNocase(type, "MG")) return string("MG"); else if (equalBeginNocase(type, "ZN")) return string("ZN"); else return type; } //___________________________________________________________linearMomentum Vector3D linearMomentum(const Vector3DBlock *velocities, const GenericTopology *topo){ if(velocities->empty()) return Vector3D(0.0,0.0,0.0); // Loop through all the atoms and remove the motion of center of mass // using an advanced method -- Kahan's magic addition algorithm to get // rid of round-off errors: Scientific Computing pp34. Vector3D sumMomentum((*velocities)[0]*topo->atoms[0].scaledMass); Vector3D tempC(0.0,0.0,0.0); for (unsigned int i=1; iatoms.size(); i++) { Vector3D tempX((*velocities)[i]*topo->atoms[i].scaledMass); Vector3D tempY(tempX - tempC); Vector3D tempT(sumMomentum + tempY); tempC = (tempT - sumMomentum) - tempY; sumMomentum = tempT; } return sumMomentum; } //___________________________________________________________removeLinearMomentum Vector3D removeLinearMomentum(Vector3DBlock *velocities, const GenericTopology *topo){ if(velocities->empty()) return Vector3D(0.0,0.0,0.0); Vector3D momentum = linearMomentum(velocities,topo); Vector3D avgMomentum = momentum/velocities->size(); for (unsigned int i=0; i< topo->atoms.size(); i++){ (*velocities)[i] -= avgMomentum/topo->atoms[i].scaledMass; } return momentum; } //___________________________________________________________centerOfMass Vector3D centerOfMass(const Vector3DBlock *positions, const GenericTopology *topo){ if(positions->empty()) return Vector3D(0.0,0.0,0.0); // Loop through all the atoms and compute center of mass // using an advanced method -- Kahan's magic addition algorithm to get // rid of round-off errors: Scientific Computing pp34. // Remove angular momentum Real sumM = 0.0; Real m = topo->atoms[0].scaledMass; sumM += m; Vector3D centerOfMass((*positions)[0] * m); Vector3D tempC(0.0,0.0,0.0); for (unsigned int i=1; iatoms.size(); i++) { m = topo->atoms[i].scaledMass; sumM += m; Vector3D tempX((*positions)[i] * m); Vector3D tempY(tempX - tempC); Vector3D tempT(centerOfMass + tempY); tempC = (tempT - centerOfMass) - tempY; centerOfMass = tempT; } return centerOfMass/sumM; } //___________________________________________________________angularMomentum Vector3D angularMomentum(const Vector3DBlock *positions, const Vector3DBlock *velocities, const GenericTopology *topo){ if(velocities->empty()) return Vector3D(0.0,0.0,0.0); return angularMomentum(positions,velocities,topo,centerOfMass(positions,topo)); } //___________________________________________________________angularMomentum Vector3D angularMomentum(const Vector3DBlock *positions, const Vector3DBlock *velocities, const GenericTopology *topo, const Vector3D& centerOfMass){ if(velocities->empty()) return Vector3D(0.0,0.0,0.0); // Loop through all the atoms and compute center of mass // using an advanced method -- Kahan's magic addition algorithm to get // rid of round-off errors: Scientific Computing pp34. // Remove angular momentum Vector3D momentum(((*positions)[0]-centerOfMass).cross((*velocities)[0]) * topo->atoms[0].scaledMass); Vector3D tempC = Vector3D(0.0,0.0,0.0); for (unsigned int i=1; iatoms.size(); i++) { Vector3D tempX(((*positions)[i]-centerOfMass).cross((*velocities)[i]) * topo->atoms[i].scaledMass); Vector3D tempY(tempX - tempC); Vector3D tempT(momentum + tempY); tempC = (tempT - momentum) - tempY; momentum = tempT; } return momentum; } //___________________________________________________________inertiaMomentum Matrix3by3 inertiaMomentum(const Vector3DBlock *positions, const GenericTopology *topo, const Vector3D& centerOfMass){ Matrix3by3 inertia; inertia.zeroMatrix(); for (unsigned int i=0; iatoms.size(); i++){ Vector3D r((*positions)[i]-centerOfMass); Real x = r.x; Real y = r.y; Real z = r.z; inertia += Matrix3by3(y*y+z*z, -x*y, -x*z, -x*y, x*x+z*z, -y*z, -x*z, -y*z, x*x+y*y)*topo->atoms[i].scaledMass; } return inertia; } //___________________________________________________________removeAngularMomentum Vector3D removeAngularMomentum(const Vector3DBlock *positions, Vector3DBlock *velocities, const GenericTopology *topo){ if(velocities->empty()) return Vector3D(0.0,0.0,0.0); // Center of mass Vector3D center = centerOfMass(positions,topo); // Angular momentum Vector3D momentum = angularMomentum(positions,velocities,topo,center); if(momentum.normSquared() == 0){ return Vector3D(0.0,0.0,0.0); } // Inertia moment Matrix3by3 inertia = inertiaMomentum(positions,topo,center); if(!inertia.invert()){ return Vector3D(0.0,0.0,0.0); } // Remove angular momentum Vector3D w(inertia*momentum); for (unsigned int i=0; i< topo->atoms.size(); i++){ Vector3D r((*positions)[i]-center); (*velocities)[i] -= w.cross(r); } return momentum; } //___________________________________________________________computePressure Real computePressure(const GenericTopology* topology, const Vector3DBlock* positions, const Vector3DBlock* velocities, const ScalarStructure* energies){ return computePressure(energies,topology->getVolume(*positions),kineticEnergy(topology,velocities)); } //___________________________________________________________computePressure Real computePressure(const ScalarStructure* energies, Real volume, Real kineticEnergy){ return (energies->pressure(volume) + kineticEnergy*2.0/3.0/volume*Constant::PRESSUREFACTOR); } //___________________________________________________________computeMolecularPressure Real computeMolecularPressure(const ScalarStructure* energies, Real volume, Real kineticEnergy){ return (energies->molecularPressure(volume) + kineticEnergy*2.0/3.0/volume*Constant::PRESSUREFACTOR); } //___________________________________________________________molecularMomentum Vector3D molecularMomentum(const vector &atomList, const Vector3DBlock *velocities, const GenericTopology *topo){ // Loop through all the atoms and remove the motion of center of mass // using an advanced method -- Kahan's magic addition algorithm to get // rid of round-off errors: Scientific Computing pp34. Vector3D sumMomentum((*velocities)[atomList[0]]*topo->atoms[atomList[0]].scaledMass); Vector3D tempC(0.0,0.0,0.0); for (unsigned int i=1; iatoms[atomList[i]].scaledMass); Vector3D tempY(tempX - tempC); Vector3D tempT(sumMomentum + tempY); tempC = (tempT - sumMomentum) - tempY; sumMomentum = tempT; } return sumMomentum; } //___________________________________________________________molecularCenterOfMass Vector3D molecularCenterOfMass(const vector &atomList, const Vector3DBlock *positions, const GenericTopology *topo ) { if(atomList.empty()) return Vector3D(0.0,0.0,0.0); // Loop through all the atoms and compute center of mass using an advanced // method -- Kahan's magic addition algorithm to get rid of round-off // errors: Heath, "Scientific Computing", pp48. const int numAtoms = atomList.size(); Real sumMass = 0.0; Real mass = topo->atoms[ atomList[0] ].scaledMass; Vector3D center( (*positions)[ atomList[0] ] * mass ); Vector3D tempC( 0.0, 0.0, 0.0 ); sumMass += mass; for( int i = 1; i < numAtoms; i++ ) { mass = topo->atoms[ atomList[i] ].scaledMass; sumMass += mass; Vector3D tempX( (*positions)[ atomList[i] ] * mass ); Vector3D tempY( tempX - tempC ); Vector3D tempT( center + tempY ); tempC = ( tempT - center ) - tempY; center = tempT; } return( center / sumMass ); } //___________________________________________________________buildMolecularCenterOfMass void buildMolecularCenterOfMass(const Vector3DBlock *positions, GenericTopology *topo ) { for(unsigned int i=0;imolecules.size();++i){ topo->molecules[i].position = molecularCenterOfMass(topo->molecules[i].atoms,positions,topo); } } //___________________________________________________________buildMolecularMomentum void buildMolecularMomentum(const Vector3DBlock *velocities, GenericTopology *topo ) { for(unsigned int i=0;imolecules.size();++i){ topo->molecules[i].momentum = molecularMomentum(topo->molecules[i].atoms,velocities,topo); } } void buildRattleShakeBondConstraintList(GenericTopology * topology, vector& bondConstraints){ // here we go through the bond list first, then the angle list to extract the possible // third pair if they are both hydrogen. Thus, all bond lengths plus the third pair in // the waters will be constrained. The angles rather than H-(heavy)-H are left free // of vibrations bondConstraints.clear(); for (unsigned int i = 0; i < topology->bonds.size(); i++){ bondConstraints.push_back(Bond::Constraint(topology->bonds[i].atom1,topology->bonds[i].atom2,topology->bonds[i].restLength)); } // now we have used all the spaces allocated for bondConstraints. // we will use push_back method for more constraints. for (unsigned int i = 0; i < topology->angles.size(); i++){ int a1 = topology->angles[i].atom1; int a2 = topology->angles[i].atom2; int a3 = topology->angles[i].atom3; PairIntSorted p1(a1,a2); PairIntSorted p2(a2,a3); Real M1 = topology->atoms[a1].scaledMass; Real M3 = topology->atoms[a3].scaledMass; // For regular water M3 = M1 = 1.008, and for heavy waters, // M1 or M3 should be 2 ~ 3 times heavier if((M1<5) && (M3 <5)){ // this exclude (heavy atom)-H pairs and (heavy)-(heavy) pairs // sqrt( 2 * 0.957 * 0.957 * ( 1 - cos( 104.52 * 0.017453 ) ) ); //bondConstraints.push_back(Bond::Constraint(a1,a3,1.51356642665)); // ... properly retrieve the right length! int b1 = -1; int b2 = -1; const std::vector< int >& mybonds1 = topology->atoms[a1].mybonds; const std::vector< int >& mybonds3 = topology->atoms[a3].mybonds; for (unsigned int j = 0; j < mybonds1.size(); j++){ PairIntSorted s1(topology->bonds[mybonds1[j]].atom1,topology->bonds[mybonds1[j]].atom2); if(p1 == s1){ for (unsigned int k = 0; k < mybonds3.size(); k++){ PairIntSorted s2(topology->bonds[mybonds3[k]].atom1,topology->bonds[mybonds3[k]].atom2); if(p2 == s2){ if(b1 > -1 || b2 > -1){ report << warning << "Found already two bonds ("< -1 && b2 > -1){ Real b = topology->bonds[b1].restLength; Real c = topology->bonds[b2].restLength; Real alpha = topology->angles[i].restAngle; bondConstraints.push_back(Bond::Constraint(a1,a3,sqrt(b*b+c*c-2*b*c*cos(alpha)))); report << debug(10) <bonds.size()) report << hint << "No additional H-X-H SHAKE/RATTLE constraint contributions."< >* atomSet, const int atomID, const int inAtomID, const int outAtomID, const int exclAtomID){ atomSet->insert(atomID); for (unsigned int j = 0; j < topology->atoms[atomID].mybonds.size(); j++) { int bondindex = topology->atoms[atomID].mybonds[j]; int atom1 = topology->bonds[bondindex].atom1; int atom2 = topology->bonds[bondindex].atom2; //MUST IMPLEMENT ERROR CASE FOR A BOND LOOP THROUGH THE DIHEDRAL if (!((atom1 == inAtomID && atom2 == outAtomID) || (atom1 == outAtomID && atom2 == inAtomID))) { if (atom1 == atomID){ if (atomSet->find(atom2) == atomSet->end()){ getAtomsBondedtoDihedral(topology, atomSet, atom2, inAtomID, outAtomID, exclAtomID); } } else{ if (atomSet->find(atom1) == atomSet->end()){ getAtomsBondedtoDihedral(topology, atomSet, atom1, inAtomID, outAtomID, exclAtomID); } } } } } void rotateDihedral(const GenericTopology* topology, Vector3DBlock* positions, Vector3DBlock* velocities, const int dihedralID,Real angle){ int exclusionAtomID = topology->dihedrals[dihedralID].atom1; int innerAtomID1 = topology->dihedrals[dihedralID].atom2; int innerAtomID2 = topology->dihedrals[dihedralID].atom3; int atomID = topology->dihedrals[dihedralID].atom4; vector angles; build_angle_list(topology,atomID,innerAtomID1,innerAtomID2,exclusionAtomID,angle, &angles); general_rotation(innerAtomID1,innerAtomID2,positions,velocities,&angles); } void rotateDihedral(const GenericTopology* topology, Vector3DBlock* positions, const int dihedralID,Real angle){ int exclusionAtomID = topology->dihedrals[dihedralID].atom1; int innerAtomID1 = topology->dihedrals[dihedralID].atom2; int innerAtomID2 = topology->dihedrals[dihedralID].atom3; int atomID = topology->dihedrals[dihedralID].atom4; vector angles; build_angle_list(topology,atomID,innerAtomID1,innerAtomID2,exclusionAtomID,angle, &angles); general_rotation(innerAtomID1,innerAtomID2,positions,&angles); } void set_angles (Stack *nodeStack,vector *angles, bool lastIsInnerAtom, Real wholeAngle) { Real startAngle = 0.0; Real finishAngle = 0.0; bool done = false; unsigned int atomID; unsigned int pos; unsigned int count; count = nodeStack->getNumElements(); finishAngle = (*angles)[nodeStack->getElement(count-1)].getAngle(); if (lastIsInnerAtom) { finishAngle = wholeAngle; } pos = nodeStack->getNumElements()-2; while (!done) { atomID = nodeStack->getElement(pos); if ((*angles)[atomID].getAngleType() == AngleInfo::ANGLE_POINTER) { pos = pos - 1; } else if ((*angles)[atomID].getAngleType() == AngleInfo::ANGLE_VALUE) { startAngle = (*angles)[atomID].getAngle(); done = true; } else if (pos > nodeStack->getNumElements()-2) { report << "Error: pos out of range!!!" << endr; } else { report << "Error: No specified Angle Type!!!" << endr; } } count = count - pos - 1; finishAngle = startAngle - finishAngle; finishAngle = finishAngle/count; for (unsigned int x = pos;x < nodeStack->getNumElements(); x++) { atomID = nodeStack->getElement(x); (*angles)[atomID].setAngle(startAngle); startAngle = startAngle - finishAngle; } } void build_angle_list (const GenericTopology *topo, const unsigned int atomID,const unsigned int inAtomID, const unsigned int outAtomID, const unsigned int exclAtomID, Real rotAngle, vector *angles) { Stack nodeStack, indexStack; unsigned int curElement; unsigned int index; unsigned int tempBond1,tempBond2; bool done; AngleInfo temp; for (unsigned int x = 0; x < topo->atoms.size(); x++) { angles->push_back(AngleInfo()); } for (unsigned int x = 0; x < topo->bonds.size(); x++) { tempBond1 = topo->bonds[x].atom1; tempBond2 = topo->bonds[x].atom2; if (tempBond2 != atomID) { (*angles)[tempBond1].addBond(tempBond2); } if (tempBond1 != atomID) { (*angles)[tempBond2].addBond(tempBond1); } } (*angles)[exclAtomID].setExclusionAtom(); (*angles)[exclAtomID].setAngle(0); (*angles)[inAtomID].setInnerAtom(); (*angles)[inAtomID].setVisited(); (*angles)[outAtomID].setInnerAtom(); (*angles)[outAtomID].setVisited(); nodeStack.addElement(atomID); (*angles)[atomID].setAngle(rotAngle); curElement = atomID; index = 0; while (nodeStack.getNumElements() > 0) { done = false; (*angles)[curElement].setVisited(); while (!done) { if (index < ((*angles)[curElement].numBonds())) { if ((*angles)[(*angles)[curElement].getBond(index)].isInnerAtom()) { if (curElement != atomID) { nodeStack.addElement((*angles)[curElement].getBond(index)); set_angles(&nodeStack,angles,true,rotAngle); nodeStack.popElement(); } index++; } else if ((*angles)[(*angles)[curElement].getBond(index)].isExclusionAtom()) { nodeStack.addElement((*angles)[curElement].getBond(index)); set_angles(&nodeStack,angles,false,rotAngle); nodeStack.popElement(); index++; } else if ((*angles)[(*angles)[curElement].getBond(index)].isVisited()) { if ((*angles)[curElement].getBond(index) != nodeStack.getElement(nodeStack.getNumElements()-2)) { nodeStack.addElement((*angles)[curElement].getBond(index)); set_angles(&nodeStack,angles,false,rotAngle); nodeStack.popElement(); } index++; } else { indexStack.addElement(index); (*angles)[(*angles)[curElement].getBond(index)].setPointer(curElement); curElement = (*angles)[curElement].getBond(index); nodeStack.addElement(curElement); done = true; index = 0; } } if ((index > ((*angles)[curElement].numBonds()-1)) || ((*angles)[curElement].numBonds() == 0)) { index = 0; nodeStack.popElement(); if (indexStack.getNumElements() > 0) { index = indexStack.popElement() + 1; } curElement = nodeStack.getElement(nodeStack.getNumElements()-1); done = true; } } } done = false; nodeStack.reset(false); index = 0; rotAngle = -1.0; while (!done) { if ((*angles)[index].getAngleType() == AngleInfo::ANGLE_POINTER) { nodeStack.addElement(index); curElement = (*angles)[index].getPointer(); while (nodeStack.getNumElements() > 0) { if ((*angles)[curElement].getAngleType() == AngleInfo::ANGLE_VALUE) { rotAngle = (*angles)[curElement].getAngle(); curElement = nodeStack.popElement(); } else if (((*angles)[curElement].getAngleType() == AngleInfo::ANGLE_POINTER) && (rotAngle != -1.0)) { (*angles)[curElement].setAngle(rotAngle); curElement = nodeStack.popElement(); } else { nodeStack.addElement(curElement); curElement = (*angles)[curElement].getPointer(); } } (*angles)[curElement].setAngle(rotAngle); } index++; if (index >= angles->size()) { done = true; } } } //___________________________________________________________ Real computePhiDihedral(const GenericTopology *topo, const Vector3DBlock *positions, int index){ int a1 = topo->dihedrals[index].atom1; int a2 = topo->dihedrals[index].atom2; int a3 = topo->dihedrals[index].atom3; int a4 = topo->dihedrals[index].atom4; //Vector3D r12 = (*positions)[a1] - (*positions)[a2]; // Vector from atom 1 to atom 2 Vector3D r12 = topo->minimalDifference((*positions)[a2],(*positions)[a1]); //Vector3D r23 = (*positions)[a2] - (*positions)[a3]; // Vector from atom 2 to atom 3 Vector3D r23 = topo->minimalDifference((*positions)[a3],(*positions)[a2]); //Vector3D r34 = (*positions)[a3] - (*positions)[a4]; // Vector from atom 3 to atom 4 Vector3D r34 = topo->minimalDifference((*positions)[a4],(*positions)[a3]); // Cross product of r12 and r23, represents the plane shared by these two vectors Vector3D a = r12.cross(r23); // Cross product of r12 and r23, represents the plane shared by these two vectors Vector3D b = r23.cross(r34); Vector3D c = r23.cross(a); // Calculate phi. Real cosPhi = a.dot(b)/(a.norm()*b.norm()); Real sinPhi = c.dot(b)/(c.norm()*b.norm()); return -atan2(sinPhi,cosPhi); } //___________________________________________________________ Real computePhiDihedralEnergy(const GenericTopology *topo, int index, Real phi){ Torsion currTorsion = topo->dihedrals[index]; Real energy = 0.0; for( int i = 0; i < currTorsion.multiplicity; i++ ) { if( currTorsion.periodicity[i] > 0 ) { // Add energy energy += currTorsion.forceConstant[i] * ( 1.0 + cos( currTorsion.periodicity[i] * phi + currTorsion.phaseShift[i] ) ); //report << "force constant = " << currTorsion.forceConstant[i] << endr; //report << "periodicity = " << currTorsion.periodicity[i] << endr; //report << "trial angle = " << phi << endr; //report << "phase shift = " << currTorsion.phaseShift[i] << endr; } else { Real diff = phi - currTorsion.phaseShift[i]; if( diff < -M_PI ) diff += 2 * M_PI; else if( diff > M_PI ) diff -= 2 * M_PI; // Add energy energy += currTorsion.forceConstant[i] * diff * diff; } } return energy; } void general_rotation(unsigned int innerAtom1, unsigned int innerAtom2, Vector3DBlock *positions, vector *angles) { unsigned int numAtoms; Vector3D a; Real norm_a; Real d; Real cosTheta; Real sinTheta; Real temp[9]; Real angle; numAtoms = angles->size(); a.x = (*positions)[innerAtom2].x - (*positions)[innerAtom1].x; a.y = (*positions)[innerAtom2].y - (*positions)[innerAtom1].y; a.z = (*positions)[innerAtom2].z - (*positions)[innerAtom1].z; norm_a = sqrt(a.x*a.x + a.y*a.y + a.z*a.z); a.x = a.x/norm_a; a.y = a.y/norm_a; a.z = a.z/norm_a; d = sqrt(a.y*a.y + a.z*a.z); if (d == 0.0) { for (unsigned int c = 0; c < numAtoms; c++) { angle = (*angles)[c].getAngle(); cosTheta = cos(angle); sinTheta = sin(angle); if (0.0 < angle) { temp[1] = (*positions)[c].y - (*positions)[innerAtom1].y; temp[2] = (*positions)[c].z - (*positions)[innerAtom1].z; (*positions)[c].y = temp[1]*cosTheta - temp[2]*sinTheta + (*positions)[innerAtom1].y; (*positions)[c].z = temp[1]*sinTheta + temp[2]*cosTheta + (*positions)[innerAtom1].z; } } } else { for (unsigned int c = 0; c < numAtoms; c++) { angle = (*angles)[c].getAngle(); cosTheta = cos(angle); sinTheta = sin(angle); if (0.0 < angle) { cosTheta = cos(angle); sinTheta = sin(angle); temp[0] = (*positions)[c].x - (*positions)[innerAtom1].x; temp[1] = (*positions)[c].y - (*positions)[innerAtom1].y; temp[8] = (*positions)[c].z - (*positions)[innerAtom1].z;; temp[2] = d*temp[0] + -a.x*((temp[1]*a.y + temp[8]*a.z)/d); temp[3] = (temp[1]*a.z - temp[8]*a.y)/d; temp[4] = (cosTheta*temp[2] - sinTheta*temp[3]); temp[5] = (a.x*temp[0] + (temp[1]*a.y + temp[8]*a.z)); temp[6] = sinTheta*temp[2] + cosTheta*temp[3]; temp[7] = -a.x*temp[4] + d*temp[5]; (*positions)[c].x = d*temp[4] + a.x*temp[5] + (*positions)[innerAtom1].x; (*positions)[c].y = (a.z*(temp[6]) + a.y*(temp[7]))/d + (*positions)[innerAtom1].y; (*positions)[c].z = (-a.y*(temp[6]) + a.z*(temp[7]))/d + (*positions)[innerAtom1].z; } } } return; } void general_rotation(unsigned int innerAtom1, unsigned int innerAtom2, Vector3DBlock *positions, Vector3DBlock *velocities,vector *angles) { unsigned int numAtoms; Vector3D a; Real norm_a; Real d; Real cosTheta; Real sinTheta; Real temp[9]; Real tempVelo[9]; Real angle; numAtoms = angles->size(); a.x = (*positions)[innerAtom2].x - (*positions)[innerAtom1].x; a.y = (*positions)[innerAtom2].y - (*positions)[innerAtom1].y; a.z = (*positions)[innerAtom2].z - (*positions)[innerAtom1].z; norm_a = sqrt(a.x*a.x + a.y*a.y + a.z*a.z); a.x = a.x/norm_a; a.y = a.y/norm_a; a.z = a.z/norm_a; d = sqrt(a.y*a.y + a.z*a.z); if (d == 0.0) { for (unsigned int c = 0; c < numAtoms; c++) { angle = (*angles)[c].getAngle(); cosTheta = cos(angle); sinTheta = sin(angle); if (0.0 < angle) { temp[1] = (*positions)[c].y - (*positions)[innerAtom1].y; temp[2] = (*positions)[c].z - (*positions)[innerAtom1].z; tempVelo[1] = (*velocities)[c].y + temp[1]; tempVelo[2] = (*velocities)[c].z + temp[2]; (*positions)[c].y = temp[1]*cosTheta - temp[2]*sinTheta; (*positions)[c].z = temp[1]*sinTheta + temp[2]*cosTheta; (*velocities)[c].y = tempVelo[1]*cosTheta - tempVelo[2]*sinTheta - (*positions)[c].y; (*velocities)[c].z = tempVelo[1]*sinTheta + tempVelo[2]*cosTheta - (*positions)[c].z; (*positions)[c].y += (*positions)[innerAtom1].y; (*positions)[c].z += (*positions)[innerAtom1].z; } } } else { for (unsigned int c = 0; c < numAtoms; c++) { angle = (*angles)[c].getAngle(); cosTheta = cos(angle); sinTheta = sin(angle); if (0.0 < angle) { cosTheta = cos(angle); sinTheta = sin(angle); temp[0] = (*positions)[c].x - (*positions)[innerAtom1].x; temp[1] = (*positions)[c].y - (*positions)[innerAtom1].y; temp[8] = (*positions)[c].z - (*positions)[innerAtom1].z; temp[2] = d*temp[0] + -a.x*((temp[1]*a.y + temp[8]*a.z)/d); temp[3] = (temp[1]*a.z - temp[8]*a.y)/d; temp[4] = (cosTheta*temp[2] - sinTheta*temp[3]); temp[5] = (a.x*temp[0] + (temp[1]*a.y + temp[8]*a.z)); temp[6] = sinTheta*temp[2] + cosTheta*temp[3]; temp[7] = -a.x*temp[4] + d*temp[5]; tempVelo[0] = (*velocities)[c].x + temp[0]; tempVelo[1] = (*velocities)[c].y + temp[1]; tempVelo[8] = (*velocities)[c].z + temp[8]; tempVelo[2] = d*tempVelo[0] + -a.x*((tempVelo[1]*a.y + tempVelo[8]*a.z)/d); tempVelo[3] = (tempVelo[1]*a.z - tempVelo[8]*a.y)/d; tempVelo[4] = (cosTheta*tempVelo[2] - sinTheta*tempVelo[3]); tempVelo[5] = (a.x*tempVelo[0] + (tempVelo[1]*a.y + tempVelo[8]*a.z)); tempVelo[6] = sinTheta*tempVelo[2] + cosTheta*tempVelo[3]; tempVelo[7] = -a.x*tempVelo[4] + d*tempVelo[5]; (*positions)[c].x = d*temp[4] + a.x*temp[5]; (*positions)[c].y = (a.z*(temp[6]) + a.y*(temp[7]))/d; (*positions)[c].z = (-a.y*(temp[6]) + a.z*(temp[7]))/d; (*velocities)[c].x = d*tempVelo[4] + a.x*tempVelo[5] - (*positions)[c].x; (*velocities)[c].y = (a.z*(tempVelo[6]) + a.y*(tempVelo[7]))/d - (*positions)[c].y; (*velocities)[c].z = (-a.y*(tempVelo[6]) + a.z*(tempVelo[7]))/d - (*positions)[c].z; (*positions)[c].x += (*positions)[innerAtom1].x; (*positions)[c].y += (*positions)[innerAtom1].y; (*positions)[c].z += (*positions)[innerAtom1].z; } } } return; } } protomol/framework/topology/topologyutilities.h0100644027616700000500000002113510237151532021645 0ustar pbrenne1dip/* -*- c++ -*- */ #ifndef TOPOLOGYUTILITIES_H #define TOPOLOGYUTILITIES_H #include "Vector3DBlock.h" #include "Vector3D.h" #include "Matrix3by3.h" #include "Real.h" #include "Torsion.h" #include "Stack.h" #include "AngleInfo.h" #include "Bond.h" #include #include #include namespace ProtoMol { enum {X_AXIS,Y_AXIS,Z_AXIS}; class GenericTopology; class ScalarStructure; //___________________________________________________________randomVelocity void randomVelocity(Real temperature, const GenericTopology* topology, Vector3DBlock* velocities, unsigned int seed=1234); //___________________________________________________________randomVelocity void randomVelocity(Real temperatureFrom, Real temperatureTo, const GenericTopology* topology, Vector3DBlock* velocities, unsigned int seed=1234); //___________________________________________________________getAtomsBondedtoDihedral /// this function gets all the atoms bonded to ONE side of the dihedral void getAtomsBondedtoDihedral(const GenericTopology* topology, std::set< int >* atomSet, const int atomID, const int inAtomID, const int outAtomID, const int exclAtomID); //___________________________________________________________rotateDihedral /// this function rotates all the atoms bonded to ONE side of the dihedral void rotateDihedral(const GenericTopology* topology, Vector3DBlock* positions, const int dihedralID,Real angle); void rotateDihedral(const GenericTopology* topology, Vector3DBlock* positions, Vector3DBlock* velocities, const int dihedralID,Real angle); //___________________________________________________________kineticEnergy Real kineticEnergy(const GenericTopology* topology, const Vector3DBlock* velocities); //___________________________________________________________molecularKineticEnergy Real molecularKineticEnergy(const GenericTopology* topology, const Vector3DBlock* velocitiies); //___________________________________________________________kineticEnergyForAtomType enum waterOption {IGNORE_WATER, ONLY_WATER, ALL}; Real kineticEnergyForAtomType(const GenericTopology* topology, const Vector3DBlock* velocities, int atomType, waterOption option); Real kineticEnergyForAtomType(const GenericTopology* topology, const Vector3DBlock* velocities, int atomType, waterOption option, int & atomCount); //___________________________________________________________kineticEnergyForWater Real kineticEnergyForWater(const GenericTopology* topology, const Vector3DBlock* velocities); Real kineticEnergyForWater(const GenericTopology* topology, const Vector3DBlock* velocities, int & waterCount); //___________________________________________________________kineticEnergyForNonWater Real kineticEnergyForNonWater(const GenericTopology* topology, const Vector3DBlock* velocities); Real kineticEnergyForNonWater(const GenericTopology* topology, const Vector3DBlock* velocities, int & nonWaterCount); //___________________________________________________________temperature Real temperature(const GenericTopology* topology, const Vector3DBlock* velocities); //___________________________________________________________temperature Real temperature(Real kineticEnergy, unsigned int degreesOfFreedom); //___________________________________________________________temperatureForAtomType Real temperatureForAtomType(const GenericTopology* topology, const Vector3DBlock* velocities, int atomType, waterOption option); //___________________________________________________________temperatureForWater Real temperatureForWater(const GenericTopology* topology, const Vector3DBlock* velocities); //___________________________________________________________temperatureForNonWater Real temperatureForNonWater(const GenericTopology* topology, const Vector3DBlock* velocities); //___________________________________________________________atomTypeToSymbolName std::string atomTypeToSymbolName(const std::string& type); //___________________________________________________________linearMomentum Vector3D linearMomentum(const Vector3DBlock *velocities, const GenericTopology *topo); //___________________________________________________________centerOfMass Vector3D centerOfMass(const Vector3DBlock *positions, const GenericTopology *topo); //___________________________________________________________angularMomentum Vector3D angularMomentum(const Vector3DBlock *positions, const Vector3DBlock *velocities, const GenericTopology *topo); //___________________________________________________________angularMomentum Vector3D angularMomentum(const Vector3DBlock *positions, const Vector3DBlock *velocities, const GenericTopology *topo, const Vector3D& centerOfMass); //___________________________________________________________inertiaMomentum Matrix3by3 inertiaMomentum(const Vector3DBlock *positions, const GenericTopology *topo, const Vector3D& centerOfMass); //___________________________________________________________removeLinearMomentum Vector3D removeLinearMomentum(Vector3DBlock *positions, const GenericTopology *topo); //___________________________________________________________removeAngularMomentum Vector3D removeAngularMomentum(const Vector3DBlock * positions, Vector3DBlock * velocities, const GenericTopology *topo); //___________________________________________________________velocityVirial ScalarStructure velocityVirial(const GenericTopology* topology, const Vector3DBlock* velocities); //___________________________________________________________addVelocityVirial void addVelocityVirial(ScalarStructure* energies, const GenericTopology* topology, const Vector3DBlock* velocities); //___________________________________________________________computePressure Real computePressure(const GenericTopology* topology, const Vector3DBlock* positions, const Vector3DBlock* velocities, const ScalarStructure* energies); //___________________________________________________________computePressure Real computePressure(const ScalarStructure* energies, Real volume, Real kineticEnergy); //___________________________________________________________computeMolecularPressure Real computeMolecularPressure(const ScalarStructure *energies, Real volume, Real kineticEnergy ); //___________________________________________________________molecularMomentum Vector3D molecularMomentum(const std::vector &, const Vector3DBlock *, const GenericTopology * ); //___________________________________________________________molecularCenterOfMass Vector3D molecularCenterOfMass(const std::vector &, const Vector3DBlock *, const GenericTopology * ); //___________________________________________________________buildMolecularCenterOfMass void buildMolecularCenterOfMass(const Vector3DBlock * positions, GenericTopology * topo); //___________________________________________________________buildMolecularMomentum void buildMolecularMomentum(const Vector3DBlock * positions, GenericTopology * topo); //___________________________________________________________buildRattleShakeBondConstraintList void buildRattleShakeBondConstraintList(GenericTopology * topo, std::vector& bondConstraints); void build_angle_list (const GenericTopology *topo, const unsigned int atomID,const unsigned int inAtomID, const unsigned int outAtomID, const unsigned int exclAtomID, Real rotAngle, std::vector *angles); void set_angles (Stack *nodeStack,std::vector *angles, bool lastIsInnerAtom, Real wholeAngle); void general_rotation(unsigned int innerAtom1, unsigned int innerAtom2, Vector3DBlock *positions, std::vector *angles); void general_rotation(unsigned int innerAtom1, unsigned int innerAtom2, Vector3DBlock *positions, Vector3DBlock *velocities,std::vector *angles); Real computePhiDihedral(const GenericTopology *topo, const Vector3DBlock *positions, int index); Real computePhiDihedralEnergy(const GenericTopology *topo, int index, Real phi); } #endif // TOPOLOGYUTILITIES_H protomol/tools/0040755027616700000500000000000010237151532013154 5ustar pbrenne1dipprotomol/tools/README0100644027616700000500000000073710237151532014040 0ustar pbrenne1dip TkProtoMol.pl A simple crossplaform GUI to run ProtoMol, edit configuration files and plotting output datas. Unix/Linux: - download Tk from http://search.cpan.org/~ni-s/ or http://search.cpan.org/search?query=tk&mode=dist - install - add env variable: PERL5LIB $(Home)/perl/lib/perl5:$(Home)/perl/lib/perl5/site_perl Win32: - download Tk and Perl from http://activeperl.com/Products/Download/Download.plex?id=ActivePerl - install protomol/tools/TkProtoMol.pl0100755027616700000500000006413210237151532015571 0ustar pbrenne1dip#!/usr/bin/perl ################################################################## use strict; use Tk; use Tk::ROText; use IO::Handle; use Tk::Dialog; use Tk::ErrorDialog; use Tk::NoteBook; use Tk::TextUndo; my $protomol = ""; my $configuration = ""; my $outputFile = ""; my $options = ""; my $textOutput; my $textEdit; my $select; my $textInfo =""; my $exe; $exe->{-out} = \$textOutput; $exe->{-finish} = 0; $exe->{-command} = "true "; my $selection; my $margin = 15; my $last = ""; my $miny = ""; my $maxy = ""; my $tminy = ""; my $tmaxy = ""; my $cross = ""; my $fromX = ""; my $toX = ""; my $lineY = ""; my $avg = "Avg="; my $SD= "SD="; my $modifier; my $lastUpdate = time(); my $autoUpdate = ""; my @header = (); my @data = (); my $showAvg = 1; if($^O eq 'MSWin32'){ $modifier = 'Control'; $protomol = "../Release/protomol.exe"; } elsif ($^O eq 'MacOS') { # one of these days $modifier = 'Command'; } else { $protomol = "../applications/protomol-app/protomol"; $modifier = 'Control'; } sub kill_command {}; sub killfam {}; sub get_pids {}; sub execute_command {}; sub plotit {}; # # Top Window my $top = MainWindow->new(); $top->title("Perl/Tk ProtoMol"); $top->iconname("ProtoMol"); $top->geometry("+32+32"); $exe->{-top} = \$top; # # Menu my $menubar = $top->Menu(-type => 'menubar'); $top->configure(-menu => $menubar); my $menuFile = $menubar->cascade(-label => '~File', -tearoff => 0); my $open; my $reopen; my $saveAs; my $save; my $quit; # New $menuFile->command(-label => 'New', -underline => 0, -command => sub { $textInfo = ""; my $popupFile = $textEdit->menu()->entrycget('File',-menu); $popupFile->invoke($popupFile->index('Clear'))."\n"; $configuration = undef; $textEdit->FileName($configuration); $textInfo = "Text cleared." }); $menuFile->separator; # Open $open = $menuFile->command(-label => 'Open ...', -underline => 0, -accelerator => "$modifier-o", -command => sub { $textInfo = ""; return if($textEdit->numberChanges() > 0 && $top->Dialog(-title => "Dialog", -text => "The text has been modified without being saved.", -default_button => "Cancel", -buttons => ["Cancel", "Open"], -bitmap => 'question')->Show() eq 'Cancel'); $textEdit->FileName(undef); my $popupFile = $textEdit->menu()->entrycget('File',-menu); $popupFile->invoke($popupFile->index('Open'))."\n"; $configuration = $textEdit->FileName(); $textInfo = "File \'".$configuration."\' opened." if(defined($configuration) && length($configuration)); changeDir($configuration); plotit(); }); $top->bind("<$modifier-o>" => sub {my $c = $menubar->entrycget($menuFile->cget(-label), -menu);$c->invoke($c->index($open->cget(-label)));}); # Reopen $reopen = $menuFile->command(-label => 'Reopen ...', -underline => 0, -accelerator => "$modifier-r", -command => sub { $textInfo = ""; return if($textEdit->numberChanges() > 0 && $top->Dialog(-title => "Dialog", -text => "The text has been modified without being saved.", -default_button => "Cancel", -buttons => ["Cancel", "Open"], -bitmap => 'question')->Show() eq 'Cancel'); my $popupFile = $textEdit->menu()->entrycget('File',-menu); if($textEdit->FileName() eq undef){ $popupFile->invoke($popupFile->index('Open'))."\n"; } else { $textEdit->Load($configuration); } $configuration = $textEdit->FileName(); $textInfo = "File \'".$configuration."\' re-opened." if(defined($configuration) && length($configuration)) ; changeDir($configuration); plotit(); }); $top->bind("<$modifier-r>" => sub {my $c = $menubar->entrycget($menuFile->cget(-label), -menu);$c->invoke($c->index($reopen->cget(-label)));}); # Save $menuFile->separator; $save = $menuFile->command(-label => 'Save', -underline => 0, -accelerator => "$modifier-s", -command => sub { $textInfo = ""; my $popupFile = $textEdit->menu()->entrycget('File',-menu); $popupFile->invoke($popupFile->index('Save'))."\n"; $configuration = $textEdit->FileName(); $textInfo = "File \'".$configuration."\' saved." if(defined($configuration) && length($configuration)) ; changeDir($configuration); }); $top->bind("<$modifier-s>" => sub {my $c = $menubar->entrycget($menuFile->cget(-label), -menu);$c->invoke($c->index($save->cget(-label)));}); # Save as $saveAs = $menuFile->command(-label => 'Save As ...', -underline => 1, -accelerator => "$modifier-a", -command => sub { $textInfo = ""; my $popupFile = $textEdit->menu()->entrycget('File',-menu); $popupFile->invoke($popupFile->index('Save As'))."\n"; $configuration = $textEdit->FileName(); $textInfo = "File \'".$configuration."\' saved as." if(defined($configuration) && length($configuration)) ; changeDir($configuration); }); $top->bind("<$modifier-a>" => sub {my $c = $menubar->entrycget($menuFile->cget(-label), -menu);$c->invoke($c->index($saveAs->cget(-label)));}); # Quit $menuFile->separator; $quit = $menuFile->command(-label => 'Quit', -underline => 0, -accelerator => "$modifier+q", -command => sub { if($textEdit->numberChanges() > 0){ my $answer = $top->Dialog(-title => "Quit Requester", -text => "Actual file was modified or is unsaved.", -default_button => "Save and Quit", -buttons => ["Cancel", "Save As and Quit", "Save and Quit", "Quit"], -bitmap => 'question')->Show(); return if ($answer eq 'Cancel'); my $c = $menubar->entrycget($menuFile->cget(-label), -menu); $c->invoke($c->index($save->cget(-label))) if ($answer eq "Save and Quit"); $c->invoke($c->index($saveAs->cget(-label))) if ($answer eq "Save As and Quit"); } kill_command; exit 0; }); $top->bind("<$modifier-q>" => sub {my $c = $menubar->entrycget($menuFile->cget(-label), -menu); $c->invoke($c->index($quit->cget(-label)));}); # Options my $menuOptions = $menubar->cascade(-label => '~Options', -tearoff => 0); # Binary $menuOptions->command(-label => 'ProtoMol binary ...', -command => sub { my $fn = $top->getOpenFile(-parent => $top, -title => 'ProtoMol Binary', -filetypes=>[['Binaries', ['.exe', '.EXE', 'protomol'],], ['All Files', '*', ],]); $protomol = $fn if defined($fn) && length($fn); $textInfo = "Binary \'".$protomol."\' opened."; }); # Follow graph $menuOptions->checkbutton(-label => "Follow graph", -variable => \$cross, -onvalue => "1", -offvalue => ""); # Help my $menuHelp = $menubar->cascade(-label => '~Help', -tearoff => 0); $menuHelp->command(-label => 'About', -command => sub { $top->Dialog(-title => "TkProtoMol", -text => "TkProtoMol", -default_button => "Thanks", -bitmap => 'info', -buttons => ["Thanks"] )->Show(); }); # # textInfo my $frame0 = $top->Frame()->pack(-expand => 'no', -fill => 'x', -side => 'bottom'); $frame0->Label(-textvariable => \$textInfo)->pack( -side => 'left'); # # Notebook: Run my $notebook = $top->NoteBook()->pack(-expand => 'yes', -fill => 'both', -side => 'top'); # Run my $nb1 = $notebook->add('Run', -label => 'Run'); my $frame1 = $nb1->Frame()->pack(-expand => 'no',-fill => 'x', -side => 'top'); # Binary $frame1->Label(-text => "ProtoMol")->grid( -row => 2, -column => 0, -sticky => 'ew'); $frame1->Entry( -textvariable => \$protomol)->grid( -row => 2, -column => 1, -sticky => 'we'); # Configuration $frame1->Label(-text => "Configuration")->grid( -row => 0, -column => 0, -sticky => 'ew'); $frame1->Entry(-textvariable => \$configuration)->grid( -row => 0, -column => 1, -sticky => 'we'); # Options $frame1->Label(-text => "Options")->grid( -row => 1, -column => 0, -sticky => 'ew'); $frame1->Entry(-textvariable => \$options)->grid( -row => 1, -column => 1, -sticky => 'we'); $frame1->gridColumnconfigure(0, -weight =>0); $frame1->gridColumnconfigure(1, -weight =>1); # Run my $frame2 = $nb1->Frame()->pack(-expand => 'no', -fill => 'x', -side => 'top'); my $doit = $frame2->Button(-text => "Run", -command =>sub { if($textEdit->numberChanges() > 0 && $top->Dialog(-title => "Dialog", -text => "The text has been modified without being saved.", -default_button => "Save and Run", -buttons => ["Save and Run", "Run"], -bitmap => 'question')->Show() eq 'Save and Run'){ $textInfo = ""; my $popupFile = $textEdit->menu()->entrycget('File',-menu); $popupFile->invoke($popupFile->index('Save'))."\n"; $configuration = $textEdit->FileName(); $textInfo = "File \'".$configuration."\' saved." if(defined($configuration) && length($configuration)) ; changeDir($configuration); } my $e1 = (length($protomol) > 0 ? "\"$protomol\"":$protomol); my $e2 = (length($configuration) > 0 ? "\"$configuration\"":$configuration); $exe->{-command} = "$e1 $e2 $options"; $exe->{-finish} = 0; $textInfo = "Running \'".$configuration."\' ..."; execute_command; })->grid( -row => 0, -column => 0, -sticky => 'ew'); $exe->{-doit} = \$doit; # Clear $frame2->Button(-text => "Clear", -command =>sub { $textOutput->delete("1.0", "end"); })->grid( -row => 0, -column => 1, -sticky => 'ew'); $frame2->gridColumnconfigure(0, -weight =>1); $frame2->gridColumnconfigure(1, -weight =>1); # textOutput $textOutput = $nb1->Scrolled('ROText', -scrollbars => 'se')->pack(-expand => 'yes', -fill => 'both', -side => 'top'); $textOutput->configure(-wrap => 'none'); $textOutput->configure(-state => "normal"); # # Notebook: Edit my $nb2 = $notebook->add('Edit', -label => 'Edit'); my $frame3 = $nb2->Frame()->pack(-fill => 'x', -side => 'top'); # Configuration $frame3->Label(-text => "Configuration")->grid( -row => 0, -column => 0, -sticky => 'ew'); $frame3->Entry(-textvariable => \$configuration)->grid( -row => 0, -column => 1, -sticky => 'we'); $frame3->gridColumnconfigure(0, -weight =>0); $frame3->gridColumnconfigure(1, -weight =>1); # textEdit $textEdit = $nb2->Scrolled('TextUndo', -scrollbars => 'se')->pack(-expand => 'yes', -fill => 'both', -side => 'top'); $textEdit->configure(-wrap => 'none'); my $popupFile = $textEdit->menu()->entrycget('File',-menu); $textEdit->menu()->configure(-postcommand => sub{$textEdit->FileName($configuration)}); # # Notebook : plot my $nb3 = $notebook->add('Plot', -label => 'Plot'); my $frame4 = $nb3->Frame()->pack(-fill => 'x', -side => 'top'); # plot $frame4->Button(-text => "Plot", -command => sub {plotit();})->grid( -row => 0, -column => 0, -sticky => 'ew'); $frame4->Label(-text => "From:")->grid( -row => 0, -column => 1, -sticky => 'ew'); $frame4->Entry(-textvariable => \$fromX, -width => 6)->grid( -row => 0, -column => 2, -sticky => 'we'); $frame4->Label(-text => "To:")->grid( -row => 0, -column => 3, -sticky => 'ew'); $frame4->Entry(-textvariable => \$toX, -width => 6)->grid( -row => 0, -column => 4, -sticky => 'we'); $frame4->Label(-text => "Line:")->grid( -row => 0, -column => 5, -sticky => 'ew'); $frame4->Entry(-textvariable => \$lineY, -width => 6)->grid( -row => 0, -column => 6, -sticky => 'we'); # Autoupdate $frame4->Checkbutton(-text => "Auto update", -variable => \$autoUpdate, -onvalue => "1", -offvalue => "")->grid( -row => 0, -column => 7, -sticky => 'we'); $frame4->Entry(-textvariable => \$outputFile)->grid( -row => 0, -column => 8, -sticky => 'we'); # browse $frame4->Button(-text => "Browse ...", -command => sub { my $fn = $top->getOpenFile(-parent => $top, -title => 'Output File', -filetypes=>[['All Files', '*', ],]); $outputFile = $fn if defined($fn) && length($fn); $textInfo = "Outpufile \'".$outputFile."\' opened."; plotit(); })->grid( -row => 0, -column => 9, -sticky => 'ew'); $frame4->gridColumnconfigure(8, -weight =>1); my $frame5 = $nb3->Frame()->pack(-expand => 'yes', -fill => 'both', -side => 'top'); # canvas plot my $plot = $frame5->Canvas(-relief => 'groove', -borderwidth => '5' )->pack(-side => 'right', -expand => 'yes', -fill => 'both'); $plot->Tk::bind('' => \&display_coordinates); $plot->Tk::bind('' => sub{ my($canvas) = @_; my $e = $canvas->XEvent; my($x, $y) = ($e->x, $e->y); my $minx = ($fromX eq ""?0:$fromX); my $maxx = ($toX eq ""?$#data:$toX); $minx = 0 if($minx < 0); $maxx = $#data if($#data < $maxx); if($minx>=$maxx){ $minx = 0; $maxx = $#data; } my $w = $plot->width(); my $h = $plot->height(); if($x <= $margin){ $fromX = ""; } elsif($x >= $w-$margin){ $fromX = ""; $toX = ""; } else{ $fromX=$minx+int(($x-$margin)*($maxx+1-$minx)/($w-2.0*$margin)); } plotit(); }); $plot->Tk::bind('' => sub{ my($canvas) = @_; my $e = $canvas->XEvent; my($x, $y) = ($e->x, $e->y); my $minx = ($fromX eq ""?0:$fromX); my $maxx = ($toX eq ""?$#data:$toX); $minx = 0 if($minx < 0); $maxx = $#data if($#data < $maxx); if($minx>=$maxx){ $minx = 0; $maxx = $#data; } my $w = $plot->width(); my $h = $plot->height(); if($x <= $margin){ $toX = ""; $fromX = ""; } elsif($x >= $w-$margin){ $toX = ""; } else{ $toX=$minx+int(($x-$margin)*($maxx+1-$minx)/($w-2.0*$margin)); } plotit(); }); #$plot->Tk::bind('' => sub { plotit() if($outputFile && $lastUpdate< time());}); # bind quit $top->protocol('WM_DELETE_WINDOW' => sub { my $c = $menubar->entrycget($menuFile->cget(-label), -menu); $c->invoke($c->index($quit->cget(-label)));}); # bind wheel if ($^O eq 'MSWin32') { $top->bind('' => [ sub { $textEdit->yview('scroll', -($_[1] / 120) * 3, 'units') }, Ev('D') ] ); } else { # Support for mousewheels on Linux commonly comes through # mapping the wheel to buttons 4 and 5. If you have a # mousewheel ensure that the mouse protocol is set to # "IMPS/2" in your /etc/X11/XF86Config (or XF86Config-4) # file: # # Section "InputDevice" # Identifier "Mouse0" # Driver "mouse" # Option "Device" "/dev/mouse" # Option "Protocol" "IMPS/2" # Option "Emulate3Buttons" "off" # Option "ZAxisMapping" "4 5" # EndSection $top->bind('<4>' => sub { $textEdit->yview('scroll', -3, 'units') unless $Tk::strictMotif; }); $top->bind('<5>' => sub { $textEdit->yview('scroll', +3, 'units') unless $Tk::strictMotif; }); } MainLoop; exit; ################################################################## sub display_coordinates { ################################################################## # Print Canvas and Plot coordinates. my($canvas) = @_; my $e = $canvas->XEvent; my($x, $y) = ($e->x, $e->y); $plot->delete('cross'); if($#data < 0 || $data[0] =~ /^\s*$/){ plotit(); } if($#data < 0 || $data[0] =~ /^\s*$/){ $textInfo = "Empty file \'".$outputFile."\'."; return; } my $minx = ($fromX eq ""?0:$fromX); my $maxx = ($toX eq ""?$#data:$toX); $minx = 0 if($minx < 0); $maxx = $#data if($#data < $maxx); if($minx>=$maxx){ $minx = 0; $maxx = $#data; } my $w = $plot->width(); my $h = $plot->height(); my $i=0; if($x <= $margin){ $i = $minx; } elsif($x >= $w-$margin){ $i = $maxx; } else{ $i=$minx+int(($x-$margin)*($maxx+1-$minx)/($w-2.0*$margin)); } my @a0 = split(/\s+/,$data[$i]); $plot->create('line',$x,$margin,$x,$h-$margin, -tags => ['cross'], -fill => 'blue') if($x>=$margin && $x <= $w-$margin); my $y2 = ""; if($cross){ my $ay = ($h-2*$margin)/($miny < $maxy ? $maxy-$miny: 1.0); my $y1 = $a0[$selection]-$miny; $y1 = $h-($margin+$y1*$ay); $plot->create('line',$margin,$y1,$w-$margin,$y1, -tags => ['cross'], -fill => 'blue') if($y1>=$margin && $y1 <= $h-$margin); } else { if($y>=$margin && $y <= $h-$margin){ $plot->create('line',$margin,$y,$w-$margin,$y, -tags => ['cross'], -fill => 'blue') ; $y2 = " (".(($h-$y-$margin)*($maxy-$miny)/($h-2*$margin)+$miny).")"; } } $textInfo = $header[$selection].": ".$a0[$selection].$y2." (i=$i)"; } ################################################################## sub plotit { ################################################################## if(!$outputFile && $configuration){ if(open(FILE,"<$configuration")){ my @config=; close(FILE); chomp(@config); # grab last outputfile foreach my $i (0 .. $#config){ $config[$i] =~ s/^\s+//; $config[$i] =~ s/\#.*$//; my @tmp = split(/\s+/,$config[$i]); if(lc($tmp[0]) =~ /file$/ && !(lc($tmp[0]) =~ /^fin/) && $tmp[1] && lc($tmp[0]) ne 'posfile' && lc($tmp[0]) ne 'parfile' && lc($tmp[0]) ne 'psffile' ){ my $fn = lc($tmp[1]); $outputFile = $tmp[1] if($fn ne 'no' && $fn ne 'yes' && $fn ne 'true' && $fn ne 'false'); } } if($outputFile){ my $str = $configuration; $str =~ s/[^\\\/]*$//g; $str =~ s/^\s+//g; $str =~ s/\s+$//g; $outputFile = $str.$outputFile; } } } @data = (); @header = (); $plot->delete('plot'); $plot->delete('cross'); if(open(FILE,"<$outputFile")){ @data=; close(FILE); chomp(@data); foreach my $i (0 .. $#data){ $data[$i] =~ s/^\s+//; } if($#data < 0 || $data[0] =~ /^\s*$/){ $textInfo = "Empty file \'".$outputFile."\'."; return; } if(open(FILEH,"<$outputFile.header")){ @header=; chomp(@header); $header[0] =~ s/^\s+//; @header = split(/\s+/,$header[0]); close(FILEH); } else { @header = split(/\s+/,$data[0]); foreach my $i (0 .. $#header){ $header[$i] = $i+1; } $textInfo = "Could not find header of \'".$outputFile."\'."; } } else { $textInfo = "Can't open \'".$outputFile."\'."; return; } if(!$select || $last ne $outputFile){ $select->destroy() if($select); $select = $frame5->Frame()->pack(-side => 'left', -fill => 'y'); $select->Label(-textvariable => \$tmaxy)->grid( -row => 0, -column => 0, -sticky => 'n'); foreach my $i (0 .. $#header){ $select->Radiobutton( -text => "$header[$i]", -variable => \$selection, -justify => 'left', -value => $i, -command => \&plotit )->grid( -row => $i+1, -column => 0, -sticky => 'wn'); } $select->Checkbutton(-variable => \$showAvg, -onvalue => "1", -offvalue => "", -command => \&plotit, -textvariable => \$avg)->grid( -row => $#header+2, -column => 0, -sticky => 'n'); $select->Label(-textvariable => \$SD)->grid( -row => $#header+3, -column => 0, -sticky => 'n'); $select->Label(-textvariable => \$tminy)->grid( -row => $#header+4, -column => 0, -sticky => 's'); $select->gridRowconfigure(0, -weight =>1); $select->gridRowconfigure($#header+4, -weight =>1); $selection = 0; $last = $outputFile; } # $top->update(); my $minx = ($fromX eq ""?0:$fromX); my $maxx = ($toX eq ""?$#data:$toX); $minx = 0 if($minx < 0); $maxx = $#data if($#data < $maxx); if($minx>=$maxx){ $minx = 0; $maxx = $#data; } foreach my $i ($minx .. $maxx){ my @a0 = split(/\s+/,$data[$i]); $miny = $a0[$selection] if($miny > $a0[$selection] || $i == $minx); $maxy = $a0[$selection] if($maxy < $a0[$selection] || $i == $minx); } $tmaxy = "Max=".sprintf("%f",$maxy); $tminy = "Min=".sprintf("%f",$miny); my $w = $plot->width(); my $h = $plot->height(); my $ax = ($w-2*$margin)/($minx < $maxx ? $maxx-$minx: 1.0); my $ay = ($h-2*$margin)/($miny < $maxy ? $maxy-$miny: 1.0); my $sum = 0.0; my $n = 0; my @a1 =(); my @a2 =(); my $x1 =""; my $y1 =""; my $x2 =""; my $y2 =""; foreach my $i ($minx .. $maxx){ @a1 = split(/\s+/,$data[$i]); $x1 = $i-$minx; $y1 = $a1[$selection]-$miny; $x1 = $margin+$x1*$ax; $y1 = $margin+$y1*$ay; $sum += $a1[$selection]; $n++; $plot->create('line',$x1,$h-$y1,$x2,$h-$y2, -tags => ['plot']) unless($x2 eq ""); @a2 = @a1; $x2 = $x1; $y2 = $y1; } if($lineY ne ""){ $y1 = $lineY-$miny; $y1 = $h-($margin+$y1*$ay); $plot->create('line',$margin,$y1,$w-$margin,$y1, -tags => ['plot'], -fill => 'red'); } if($n > 0){ $avg = "Avg=".sprintf("%f",$sum/$n); if($showAvg){ $y1 = $sum/$n-$miny; $y1 = $h-($margin+$y1*$ay); $x1 = $minx-$minx; $x1 = $margin+$x1*$ax; $x2 = $maxx-$minx; $x2 = $margin+$x2*$ax; $plot->create('line',$x1,$y1,$x2,$y1, -tags => ['plot'], -fill => 'green'); $plot->create('line',$x1,$h-$margin,$x1,$margin, -tags => ['plot'], -fill => 'green'); $plot->create('line',$x2,$h-$margin,$x2,$margin, -tags => ['plot'], -fill => 'green'); } my $tmp = $sum/$n; $sum = 0.0; if($n > 1){ foreach my $i ($minx .. $maxx){ my @a1 = split(/\s+/,$data[$i]); my $x1 = $a1[$selection]; $sum += ($x1-$tmp)*($x1-$tmp); } $SD = "SD=".sprintf("%f",sqrt($sum/($n-1))); } } $textInfo = "plot(0,".($#data).")."; $lastUpdate = time(); } ################################################################## sub changeDir { ################################################################## my $str = shift; $str =~ s/[^\\\/]*$//g; $str =~ s/^\s+//g; $str =~ s/\s+$//g; chdir "\"".$str."\"" if(length($str)>0); } ################################################################## sub removeDirPath { ################################################################## my $str = shift; $str =~ s/^.*[\\\/]//g; $str =~ s/^\s+//g; $str =~ s/\s+$//g; return $str; } ################################################################## sub read_stdout { ################################################################## # Called when input is available for the output window. Also checks # to see if the user has clicked Cancel. if ($exe->{-finish}) { kill_command; } else { my $h = $exe->{-handle}; if ( sysread $h, $_, 4096 ) { my $out = $_; $out =~ s/\r+//g; # Remove possible \r for Windows my $t = ${$exe->{-out}}; $t->insert('end', $out); $t->yview('end'); $nb1->idletasks(); } else { $exe->{-finish} = 1; } plotit() if($autoUpdate && $lastUpdate+2 < time()); } } ################################################################## sub reset_doit_button { ################################################################## # Establish normal "Do It" button parameters. ${$exe->{-doit}}->configure(-text => 'Run', -relief => 'raised', -state => 'normal', -command => sub {$exe->{-finish} = 0; if($textEdit->numberChanges() > 0 && $top->Dialog(-title => "Dialog", -text => "The text has been modified without being saved.", -default_button => "Save and Run", -buttons => ["Save and Run", "Run"], -bitmap => 'question')->Show() eq 'Save and Run') { $textInfo = ""; my $popupFile = $textEdit->menu()->entrycget('File',-menu); $popupFile->invoke($popupFile->index('Save'))."\n"; $configuration = $textEdit->FileName(); $textInfo = "File \'".$configuration."\' saved." if(defined($configuration) && length($configuration)) ; changeDir($configuration); } my $e1 = (length($protomol) > 0 ? "\"$protomol\"":$protomol); my $e2 = (length($configuration) > 0 ? "\"$configuration\"":$configuration); $exe->{-command} = "$e1 $e2 $options"; $exe->{-finish} = 0; execute_command; } ); $textInfo = "Done." } ################################################################## sub execute_command { ################################################################## # Execute the command and capture stdout/stderr. my $h = IO::Handle->new; die "IO::Handle->new failed." unless defined $h; $exe->{-handle} = $h; ${$exe->{-out}}->delete("1.0", "end"); $exe->{-pid} = open $h, $exe->{-command} . ' 2>&1 |'; if (not defined $exe->{-pid}) { ${$exe->{-out}}->insert('end', "Sorry, '" . $exe->{-command} . "' : $!\n"); kill_command; return; } $h->autoflush(1); ${$exe->{-top}}->fileevent($h, 'readable' => [\&read_stdout]); ${$exe->{-doit}}->configure( -text => 'Cancel', -relief => 'raised', -state => 'normal', -command => [\&kill_command], ); } ################################################################## sub kill_command { ################################################################## # A click on the blinking Cancel button resumes normal operations. $exe->{-finish} = 1; my $h = $exe->{-handle}; return unless defined $h; ${$exe->{-top}}->fileevent($h, 'readable' => ''); # clear handler killfam 'TERM', $exe->{-pid} if defined $exe->{-pid}; close $h; reset_doit_button; } ################################################################## sub killfam { ################################################################## my($signal, @pids) = @_; eval "require Proc::ProcessTable"; if (!$@) { my $pt = Proc::ProcessTable->new; my(@procs) = @{$pt->table}; my(@kids) = get_pids \@procs, @pids; @pids = (@pids, @kids); } kill $signal, @pids; } # end killfam ################################################################## sub get_pids { ################################################################## my($procs, @kids) = @_; my @pids; foreach my $kid (@kids) { foreach my $proc (@$procs) { if ($proc->ppid == $kid) { my $pid = $proc->pid; push @pids, $pid, get_pids $procs, $pid; } } } @pids; } # end get_pids protomol/tools/bccAnalyzer.cpp0100644027616700000500000003315610237151532016122 0ustar pbrenne1dip#include "Array.h" #include "Matrix3by3.h" #include "Vector3DBlock.h" #include "DCDTrajectoryReader.h" #include "DCDTrajectoryWriter.h" #include "PDBReader.h" #include "PDBWriter.h" #include "XYZBinReader.h" #include "XYZBinWriter.h" #include "XYZReader.h" #include "XYZTrajectoryReader.h" #include "XYZTrajectoryWriter.h" #include "XYZWriter.h" #include "stringutilities.h" #include "mathutilities.h" #include #include using namespace ProtoMol; using namespace ProtoMol::Report; using std::vector; using std::string; using std::sort; using std::set; //_____________________________________________________________________ Vector3DIdx class Vector3DIdx { public: Vector3D v; int i; Vector3DIdx():v(Vector3D(0.0,0.0,0.0)),i(-1){} //Vector3DIdx(Vector3DIdx a):v(a.v),i(a.i){} Vector3DIdx(const Vector3D& a):v(a),i(-1){} Vector3DIdx(const Vector3D& a, int b):v(a),i(b){} //operator Vector3D() const{return v;} }; //_____________________________________________________________________ radialCmpVector3D class radialCmpVector3D { private: const Vector3D c; public: radialCmpVector3D():c(Vector3D(0.0,0.0,0.0)){} radialCmpVector3D(const Vector3D& a):c(a){} bool operator()(const Vector3D& v1, const Vector3D& v2) const{ return ((v1-c).normSquared() < (v2-c).normSquared() ); } bool operator()(const Vector3DIdx& v1, const Vector3DIdx& v2) const{ return ((v1.v-c).normSquared() < (v2.v-c).normSquared() ); } }; //_____________________________________________________________________ PairVector3D class PairVector3D { public: Vector3DIdx v0,c,v1; PairVector3D(){} PairVector3D(const Vector3DIdx& a, const Vector3DIdx& b, const Vector3DIdx& c):v0(a),c(b),v1(c){} bool operator()(const PairVector3D& a, const PairVector3D& b) const { Real d = ((a.v0.v+a.v1.v)*0.5-a.c.v).normSquared(); Real e = ((b.v0.v+b.v1.v)*0.5-b.c.v).normSquared(); if(fabs((d-e)/std::max(d,e)) <1e-9) return (a.v0.v-a.v1.v).normSquared() < (b.v0.v-b.v1.v).normSquared(); return (d < e); } }; //_____________________________________________________________________ dcd2dcd struct Format{ enum Type {UNDEF, XYZ, PDB, DCD, XYZBIN, XYZTRA}; }; static bool isBCC(XYZ xyz, Real eps, Real rest, Vector3D& normal, Real& d, Real& err, Real& minimal, Real& maximal, int& j0, int& j1, int& j2, int& j3, int& j4, int& j5, Vector3DIdx& origin, Vector3DIdx& center){ Vector3D perfect(rtod(acos(1.0/sqrt(3.0))), rtod(acos(1.0/sqrt(3.0))), rtod(acos(1.0/ 3.0 ))); Vector3D sum; vector coords(xyz.coords.size()); for(unsigned int i=0;i(eps); maximal = coords[coords.size()-1].v.norm(); vector inner; for(unsigned int i=1;i dmax) break; inner.push_back(coords[i]); } report << hint < all; for(unsigned int i=0;irest){ all.resize(i); break; } } //all.resize(std::min((int)all.size(),(argc >3 ? atoi(argv[4]):4))); report <<"Keeping "< index; index.insert(all[i].v0.i); index.insert(all[i].v1.i); index.insert(all[j].v0.i); index.insert(all[j].v1.i); index.insert(all[k].v0.i); index.insert(all[k].v1.i); if(index.size() <6) continue; points[5] = all[k].v0.v; points[6] = all[k].v1.v; Vector3D n; Real e,dc; if(!points.fitplane(n,dc,e)) continue; Vector3D a(all[i].v0.v - all[i].v1.v); Vector3D b(all[j].v0.v - all[j].v1.v); Vector3D c(all[k].v0.v - all[k].v1.v); a.normalize(); b.normalize(); c.normalize(); vector ang(3); ang[0] = rtod(acos(std::min(fabs(a.dot(b)),1.0))); ang[1] = rtod(acos(std::min(fabs(a.dot(c)),1.0))); ang[2] = rtod(acos(std::min(fabs(b.dot(c)),1.0))); sort(ang.begin(),ang.end()); Vector3D angles(ang[0],ang[1],ang[2]); if((angles-perfect).norm() < z && e/minimal < 0.1){ z = (angles-perfect).norm(); err = e; normal = n; d = dc; j0 = all[i].v0.i; j1 = all[i].v1.i; j2 = all[j].v0.i; j3 = all[j].v1.i; j4 = all[k].v0.i; j5 = all[k].v1.i; // report << "A=[0 0 0;" // <=0); } int main(int argc, char **argv) { // parse if (argc < 2 || (argc >= 2 && (string(argv[1]) =="-h" || string(argv[1]) =="--help" ))){ report << plain << quit << "usage: "< -eps -r input output "< trajectory; XYZ xyz; if(PDBReader(in).tryFormat()){ PDBReader reader(in); reader >> xyz; trajectory.push_back(xyz); } else if(XYZReader(in).tryFormat()){ XYZReader reader(in); reader >> xyz; trajectory.push_back(xyz); } else if(XYZBinReader(in).tryFormat()){ XYZBinReader reader(in); reader >> xyz; trajectory.push_back(xyz); } else if(DCDTrajectoryReader(in).tryFormat()){ DCDTrajectoryReader reader(in); while(reader >> xyz) trajectory.push_back(xyz); } else if(XYZTrajectoryReader(in).tryFormat()){ XYZTrajectoryReader reader(in); while(reader >> xyz) trajectory.push_back(xyz); } else if(!isAccessible(in)){ report << error<< "Can not open \'"< errors(trajectory.size(),Constant::MAXREAL); if(doAll){ report << donthint; for(unsigned int i=0;i= 0.005 && last < 0.005){ report << " 0.005:"<= 0.01 && last < 0.01){ report << " 0.01:"<= 0.05 && last < 0.05){ report << " 0.05:"<= 0.1 && last < 0.1){ report << " 0.1:"<= 1 && last < 1){ report << " 1:"<= static_cast(trajectory.size())) report << error<< "Frame "<= 2 && (string(argv[1]) =="-h" || string(argv[1]) =="--help" ))){ report << plain << quit << "usage: "<] [-i ] -o ..."< in; int from = 0; int to = 255; Real gamma = 1.0; unsigned int cur = 1; bool autodist = false; while (cur<(argc-1) && argv[cur][0]=='-') { string str(argv[cur]); if (str == "-o") { out = argv[++cur]; cur++; continue; } if (str == "-auto") { autodist = true; cur++; continue; } if (str == "-gamma") { gamma = toReal(argv[++cur]); cur++; continue; } if (str == "-i") { from = toInt(argv[++cur]); to = toInt(argv[++cur]); cur++; continue; } break; } if(out.empty()) report << error << "Missing output file."<> pgm)){ report << hint <<"Could not read \'"< hist(256,0); int imin = 255; int imax = 0; for(unsigned int i=0;i 255){ c = 255; } (*p1) = 255-c; imin = std::min(255-c,imin); imax = std::max(255-c,imax); } report << hint << "Final image range: ("< pdbAtoms; if(reader.tryFormat(InputPosVelType::PDB)){ PDB pdb; if(!(reader >> pdb)) report << error << "Could not parse PDB position file \'"<> positions)) report << error << "Could not parse position file \'"<> psf)) report << error << "Could not parse PSF file \'"<> par)) report << error << "Could not parse PAR file \'"<(1.0,ExclusionType::ONE3,VacuumBoundaryConditions(),CubicCellManager(5.0)); // Build topology buildTopology(topo,psf,par,parReader.getCharmmTypeDetected() != PAR::CHARMM28); if(!topo->checkMoleculePairDistances(positions)){ Vector3DBlock tmp(positions); topo->minimalImage(tmp); if(topo->checkMoleculePairDistances(tmp)){ positions = tmp; report << plain <<"Fixed minimal molecule distances."<molecules.size();++i){ Vector3DBlock mol(topo->molecules[i].size()); for(int j=0;jmolecules[i].size();++j){ mol[j]=positions[topo->molecules[i][j]]; } Vector3D n; Real e,dc; if(!mol.fitplane(n,dc,e)) report << "[0 0 0] "; else report << "["<molecules[i].size())); } report << "]"< "<< endr; // Open PARReader in(argv[1]); if(!in) report << error << "Could not open '" << argv[1] << "'." << endr; // Read PAR par; if(!(in >> par)) report << error << "Could not read par file '" << argv[1] << "'." << endr; // Open PARWriter out(argv[2]); if(!out) report << error << "Could not open '" << argv[2] << "'." << endr; if(!(out << par)) report << error << "Could not write par file '" << argv[2] << "'." << endr; return 0; } protomol/tools/paulTrap.cpp0100644027616700000500000000557710237151532015463 0ustar pbrenne1dip#include "Topology.h" #include "oneAtomContraints.h" #include "OneAtomPair.h" #include "CoulombForce.h" #include "NonbondedSimpleFullSystemForce.h" #include "UniversalSwitchingFunction.h" #include "CubicCellManager.h" #include "VacuumBoundaryConditions.h" #include "PaulTrapExtendedForce.h" #include "buildTopology.h" #include "DCDTrajectoryReader.h" using namespace ProtoMol; using namespace ProtoMol::Report; using std::string; //_____________________________________________________________________ dcd2dcd int main(int argc, char **argv) { // Parse if(argc < 2) report << quit << "usage: " << argv[0] << " "<< endr; // Open string filename(argv[1]); if(!DCDTrajectoryReader(filename).tryFormat()) report << error << "'" << filename << "' not DCD." << endr; DCDTrajectoryReader in(filename); if(!in) report << error << "Could not open '" << filename << "'." << endr; // Read std::vector trajectory; Vector3DBlock xyz; int n = 0; while((in >> xyz)){ if(argc < 2 || atoi(argv[2]) == n) trajectory.push_back(xyz); n++; } if(trajectory.size() < 1) report << error << "Empty DCD file"<< endr; if(trajectory[0].size() < 1) report << error << "Empty DCD frame file"<< endr; unsigned int atomCount = trajectory[0].size(); SystemForce* f1 = new NonbondedSimpleFullSystemForce >(OneAtomPair(CoulombForce(),UniversalSwitchingFunction()),64); PaulTrapExtendedForce* f2 = new PaulTrapExtendedForce(2.6e-09,2.6e-09,0.0,0.0,0.0,Vector3D(0.0,0.0,0.0)); GenericTopology* topo = new Topology(1.0,ExclusionType::NONE,VacuumBoundaryConditions(),CubicCellManager(1.0)); AtomType atomType; atomType.name = "CA"; atomType.mass = 40.8; atomType.charge = 1; topo->atomTypes.push_back(atomType); Atom atom; atom.type = 0; atom.scaledCharge = topo->atomTypes[atom.type].charge*Constant::SQRTCOULOMBCONSTANT; atom.scaledMass = topo->atomTypes[atom.type].mass; topo->atoms.resize(atomCount,atom); buildExclusionTable(topo,topo->exclude); Vector3DBlock velocities(atomCount); Vector3DBlock forces(atomCount); ScalarStructure energies; //Process report.precision(15); for(unsigned int i=0;ievaluate(topo,&(trajectory[i]),&forces,&energies); f2->evaluate(topo,&(trajectory[i]),&velocities,&forces,&energies); Real pe = energies[ScalarStructure::OTHER]+energies[ScalarStructure::COULOMB]; report << i << " \t " << pe <<" \t " << f2->cohesive(pe) <<" \t " << f2->epsilonEnergy(pe) <<" \t " << endr; } delete topo; delete f1; delete f2; return 0; } protomol/LICENSE0100644027616700000500000010345710237151532013030 0ustar pbrenne1dipProtoMol GNU GENERAL PUBLIC LICENSE This Software is copyrighted by the University of Notre Dame and the University of Bergen, Norway, whom grant you the right to use this software under the terms of the GNU General Public License. Although you are under no obligation, the ProtoMol devlopment team would appreciate the inclusion of the following citation in all research and development works which utilize this software: T. Matthey, T. Cickovski, S. Hampton, A. Ko, Q. Ma, T. Slabach and J. A. Izaguirre, 'ProtoMol, an Object-Oriented Framework for Prototyping Novel Algorithms for Molecular Dynamics', ACM Transactions on Mathematical Software, Vol 30(3), pp 237-265, 2004 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright c 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is in- tended to guarantee your freedom to share and change free software-to make sure the software is free for all its users. This General Public Li- cense applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will in- dividually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modifi- cation follow. Terms and conditions for copying, distribution and modification 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", be- low, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright no- tice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Pro- gram. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and dis- tribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: (a) You must cause the modified files to carry prominent notices stat- ing that you changed the files and the date of any change. (b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. (c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such in- teractive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifi- able sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in them- selves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Pro- gram with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: (a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sec- tions 1 and 2 above on a medium customarily used for software interchange; or, (b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine- readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium custom- arily used for software interchange; or, (c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program ex- cept as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, par- ties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the orig- inal licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not re- sponsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent in- fringement or for any other reason (not limited to patent issues), con- ditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those coun- tries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new ver- sions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and condi- tions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free pro- grams whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we some- times make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. Because the Program is licensed free of charge, there is no warranty for the Program, to the extent permitted by ap- plicable law. except when otherwise stated in writing the copyright holders and/or other parties provide the program "as is" without warranty of any kind, either expressed or im- plied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the Program is with you. Should the Program prove defective, you assume the cost of all necessary servicing, repair or correction. 12. In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify and/or redistribute the program as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the program (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the Program to operate with any other programs), even if such holder or other party has been advised of the possibility of such damages. GNU Free Documentation License Version 1.1, March 2000 Copyright c 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. Preamble The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. Applicability and Definitions This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". * A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with mod- ifications and/or translated into another language. * A "Secondary Section" is a named appendix or a front-matter sec- tion of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of his- torical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. * The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. * The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. * A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Trans- parent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats in- clude PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for out- put purposes only. * The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. Verbatim Copying You may copy and distribute the Document in any medium, either commer- cially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are re- produced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you dis- tribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. Copying in Quality If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front- Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Trans- parent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge us- ing public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. Modifications You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Docu- ment). You may use the same title as a previous version if the original publisher of that version gives permission. B List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C State on the Title page the name of the publisher of the Modified Version, as the publisher. D Preserve all the copyright notices of the Document. E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H Include an unaltered copy of this License. I Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J Preserve the network location, if any, given in the Document for pub- lic access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K In any section entitled "Acknowledgements" or "Dedications", pre- serve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedica- tions given therein. L Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version. N Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties­for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. Combining Documents You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sec- tions entitled "Dedications". You must delete all sections entitled "En- dorsements." 6. Collections of Documents You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. Aggregation with Independent Works A compilation of the Document or its derivatives with other separate and in- dependent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. Translation Translation is considered a kind of modification, so you may distribute trans- lations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may in- clude a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the trans- lation and the original English version of this License, the original English version will prevail. 9. Termination You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. Future Revisions of This License The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License". If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we rec- ommend releasing these examples in parallel under your choice of free soft- ware license, such as the GNU General Public License, to permit their use in free software.